[2026-08-29 00:00:00,107.107 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:00:00,112.112 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:00:00,243.243 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:00:00,248.248 INFO    ] time= 29/08/2026 00:00:00
[2026-08-29 00:00:00,279.279 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:00:00,310.310 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:00:00,437.437 INFO    ] No existing commands found in stream
[2026-08-29 00:00:05,445.445 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:00:05,449.449 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-08-29 00:00:09,737.737 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:00:09,739.739 INFO    ] Checking for system updates...
[2026-08-29 00:00:09,780.780 INFO    ] 200
[2026-08-29 00:00:09,783.783 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:00:09,837.837 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:00:09,839.839 INFO    ] No update needed
[2026-08-29 00:00:09,841.841 INFO    ] Checking for camera pi updates...
[2026-08-29 00:00:09,876.876 INFO    ] 200
[2026-08-29 00:00:09,878.878 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:00:09,926.926 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:00:10,014.014 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:00:10,016.016 INFO    ] No camera update needed
[2026-08-29 00:00:10,018.018 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:00:10,021.021 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:00:10,027.027 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:00:10,032.032 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:00:12,072.072 INFO    ] ================================================
[2026-08-29 00:00:12,088.088 INFO    ] Launching Daemon at Sat Aug 29 00:00:12 IST 2026
[2026-08-29 00:00:12,099.099 INFO    ] ================================================
[2026-08-29 00:00:12,457.457 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:00:12
[2026-08-29 00:00:12,770.770 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:00:12,913.913 INFO    ] Initializing speech engine...
[2026-08-29 00:00:12,918.918 INFO    ] 2026-08-29 00:00:12
[2026-08-29 00:00:13,124.124 INFO    ] 2026-08-29 00:00:13
[2026-08-29 00:00:13,151.151 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:00:13,274.274 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:00:13,311.311 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:00:13,466.466 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:00:13,528.528 INFO    ] time= 29/08/2026 00:00:13
[2026-08-29 00:00:13,562.562 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:00:13,567.567 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:00:13,638.638 INFO    ] No existing commands found in stream
[2026-08-29 00:00:18,647.647 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:00:18,650.650 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 00:00:20,572.572 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:00:20,573.573 INFO    ] Checking for system updates...
[2026-08-29 00:00:20,593.593 INFO    ] 200
[2026-08-29 00:00:20,595.595 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:00:20,627.627 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:00:20,628.628 INFO    ] No update needed
[2026-08-29 00:00:20,629.629 INFO    ] Checking for camera pi updates...
[2026-08-29 00:00:20,648.648 INFO    ] 200
[2026-08-29 00:00:20,649.649 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:00:20,675.675 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:00:20,767.767 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:00:20,768.768 INFO    ] No camera update needed
[2026-08-29 00:00:20,769.769 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:00:20,770.770 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:00:20,773.773 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:00:20,776.776 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:00:22,816.816 INFO    ] ================================================
[2026-08-29 00:00:22,832.832 INFO    ] Launching Daemon at Sat Aug 29 00:00:22 IST 2026
[2026-08-29 00:00:22,843.843 INFO    ] ================================================
[2026-08-29 00:00:23,204.204 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:00:23
[2026-08-29 00:00:23,517.517 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:00:23,652.652 INFO    ] Initializing speech engine...
[2026-08-29 00:00:23,660.660 INFO    ] 2026-08-29 00:00:23
[2026-08-29 00:00:23,871.871 INFO    ] 2026-08-29 00:00:23
[2026-08-29 00:00:23,899.899 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:00:24,051.051 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:00:24,095.095 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:00:24,227.227 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:00:24,265.265 INFO    ] time= 29/08/2026 00:00:24
[2026-08-29 00:00:24,305.305 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:00:24,356.356 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:00:24,437.437 INFO    ] No existing commands found in stream
[2026-08-29 00:00:29,447.447 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:00:29,450.450 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-08-29 00:00:29,932.932 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:00:29,933.933 INFO    ] Checking for system updates...
[2026-08-29 00:00:29,955.955 INFO    ] 200
[2026-08-29 00:00:29,957.957 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:00:29,987.987 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:00:29,988.988 INFO    ] No update needed
[2026-08-29 00:00:29,989.989 INFO    ] Checking for camera pi updates...
[2026-08-29 00:00:30,008.008 INFO    ] 200
[2026-08-29 00:00:30,010.010 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:00:30,035.035 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:00:30,215.215 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:00:30,216.216 INFO    ] No camera update needed
[2026-08-29 00:00:30,217.217 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:00:30,219.219 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:00:30,221.221 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:00:30,224.224 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:00:32,256.256 INFO    ] ================================================
[2026-08-29 00:00:32,266.266 INFO    ] Launching Daemon at Sat Aug 29 00:00:32 IST 2026
[2026-08-29 00:00:32,273.273 INFO    ] ================================================
[2026-08-29 00:00:32,924.924 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:00:32
[2026-08-29 00:00:33,600.600 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:00:33,882.882 INFO    ] Initializing speech engine...
[2026-08-29 00:00:33,893.893 INFO    ] 2026-08-29 00:00:33
[2026-08-29 00:00:34,161.161 INFO    ] 2026-08-29 00:00:34
[2026-08-29 00:00:34,205.205 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:00:34,425.425 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:00:34,434.434 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:00:34,566.566 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:00:34,588.588 INFO    ] time= 29/08/2026 00:00:34
[2026-08-29 00:00:34,659.659 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:00:34,699.699 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:00:34,758.758 INFO    ] No existing commands found in stream
[2026-08-29 00:00:39,772.772 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:00:39,773.773 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-08-29 00:00:43,650.650 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:00:43,651.651 INFO    ] Checking for system updates...
[2026-08-29 00:00:43,672.672 INFO    ] 200
[2026-08-29 00:00:43,673.673 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:00:43,705.705 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:00:43,707.707 INFO    ] No update needed
[2026-08-29 00:00:43,708.708 INFO    ] Checking for camera pi updates...
[2026-08-29 00:00:43,727.727 INFO    ] 200
[2026-08-29 00:00:43,728.728 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:00:43,751.751 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:00:43,827.827 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:00:43,829.829 INFO    ] No camera update needed
[2026-08-29 00:00:43,830.830 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:00:43,831.831 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:00:43,834.834 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:00:43,837.837 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:00:45,876.876 INFO    ] ================================================
[2026-08-29 00:00:45,892.892 INFO    ] Launching Daemon at Sat Aug 29 00:00:45 IST 2026
[2026-08-29 00:00:45,903.903 INFO    ] ================================================
[2026-08-29 00:00:46,272.272 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:00:46
[2026-08-29 00:00:46,582.582 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:00:46,719.719 INFO    ] Initializing speech engine...
[2026-08-29 00:00:46,729.729 INFO    ] 2026-08-29 00:00:46
[2026-08-29 00:00:46,931.931 INFO    ] 2026-08-29 00:00:46
[2026-08-29 00:00:46,960.960 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:00:47,081.081 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:00:47,124.124 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:00:47,273.273 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:00:47,325.325 INFO    ] time= 29/08/2026 00:00:47
[2026-08-29 00:00:47,368.368 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:00:47,373.373 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:00:47,443.443 INFO    ] No existing commands found in stream
[2026-08-29 00:00:52,454.454 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:00:52,457.457 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-08-29 00:00:54,066.066 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:00:54,067.067 INFO    ] Checking for system updates...
[2026-08-29 00:00:54,089.089 INFO    ] 200
[2026-08-29 00:00:54,090.090 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:00:54,119.119 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:00:54,121.121 INFO    ] No update needed
[2026-08-29 00:00:54,122.122 INFO    ] Checking for camera pi updates...
[2026-08-29 00:00:54,142.142 INFO    ] 200
[2026-08-29 00:00:54,143.143 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:00:54,166.166 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:00:54,268.268 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:00:54,270.270 INFO    ] No camera update needed
[2026-08-29 00:00:54,271.271 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:00:54,272.272 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:00:54,275.275 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:00:54,278.278 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:00:56,317.317 INFO    ] ================================================
[2026-08-29 00:00:56,334.334 INFO    ] Launching Daemon at Sat Aug 29 00:00:56 IST 2026
[2026-08-29 00:00:56,344.344 INFO    ] ================================================
[2026-08-29 00:00:56,704.704 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:00:56
[2026-08-29 00:00:57,016.016 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:00:57,158.158 INFO    ] Initializing speech engine...
[2026-08-29 00:00:57,162.162 INFO    ] 2026-08-29 00:00:57
[2026-08-29 00:00:57,366.366 INFO    ] 2026-08-29 00:00:57
[2026-08-29 00:00:57,394.394 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:00:57,601.601 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:00:57,606.606 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:00:57,775.775 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:00:57,814.814 INFO    ] time= 29/08/2026 00:00:57
[2026-08-29 00:00:57,874.874 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:00:57,928.928 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:00:57,983.983 INFO    ] No existing commands found in stream
[2026-08-29 00:01:02,993.993 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:01:02,996.996 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-08-29 00:01:07,080.080 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:01:07,081.081 INFO    ] Checking for system updates...
[2026-08-29 00:01:07,102.102 INFO    ] 200
[2026-08-29 00:01:07,104.104 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:01:07,134.134 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:01:07,135.135 INFO    ] No update needed
[2026-08-29 00:01:07,136.136 INFO    ] Checking for camera pi updates...
[2026-08-29 00:01:07,155.155 INFO    ] 200
[2026-08-29 00:01:07,157.157 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:01:07,179.179 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:01:07,256.256 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:01:07,258.258 INFO    ] No camera update needed
[2026-08-29 00:01:07,259.259 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:01:07,260.260 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:01:07,263.263 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:01:07,266.266 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:01:09,305.305 INFO    ] ================================================
[2026-08-29 00:01:09,321.321 INFO    ] Launching Daemon at Sat Aug 29 00:01:09 IST 2026
[2026-08-29 00:01:09,333.333 INFO    ] ================================================
[2026-08-29 00:01:09,688.688 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:01:09
[2026-08-29 00:01:10,322.322 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:01:10,631.631 INFO    ] Initializing speech engine...
[2026-08-29 00:01:10,639.639 INFO    ] 2026-08-29 00:01:10
[2026-08-29 00:01:10,917.917 INFO    ] 2026-08-29 00:01:10
[2026-08-29 00:01:10,968.968 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:01:11,135.135 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:01:11,176.176 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:01:11,334.334 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:01:11,360.360 INFO    ] time= 29/08/2026 00:01:11
[2026-08-29 00:01:11,420.420 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:01:11,466.466 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:01:11,518.518 INFO    ] No existing commands found in stream
[2026-08-29 00:01:16,530.530 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:01:16,533.533 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-08-29 00:01:18,528.528 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:01:18,529.529 INFO    ] Checking for system updates...
[2026-08-29 00:01:18,552.552 INFO    ] 200
[2026-08-29 00:01:18,553.553 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:01:18,587.587 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:01:18,589.589 INFO    ] No update needed
[2026-08-29 00:01:18,590.590 INFO    ] Checking for camera pi updates...
[2026-08-29 00:01:18,611.611 INFO    ] 200
[2026-08-29 00:01:18,613.613 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:01:18,639.639 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:01:18,744.744 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:01:18,746.746 INFO    ] No camera update needed
[2026-08-29 00:01:18,747.747 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:01:18,749.749 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:01:18,752.752 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:01:18,755.755 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:01:20,796.796 INFO    ] ================================================
[2026-08-29 00:01:20,812.812 INFO    ] Launching Daemon at Sat Aug 29 00:01:20 IST 2026
[2026-08-29 00:01:20,824.824 INFO    ] ================================================
[2026-08-29 00:01:21,166.166 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:01:21
[2026-08-29 00:01:21,478.478 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:01:21,621.621 INFO    ] Initializing speech engine...
[2026-08-29 00:01:21,626.626 INFO    ] 2026-08-29 00:01:21
[2026-08-29 00:01:21,836.836 INFO    ] 2026-08-29 00:01:21
[2026-08-29 00:01:21,918.918 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:01:22,069.069 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:01:22,078.078 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:01:22,214.214 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:01:22,226.226 INFO    ] time= 29/08/2026 00:01:22
[2026-08-29 00:01:22,285.285 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:01:22,329.329 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:01:22,402.402 INFO    ] No existing commands found in stream
[2026-08-29 00:01:27,413.413 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:01:27,416.416 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-08-29 00:01:31,631.631 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:01:31,634.634 INFO    ] Checking for system updates...
[2026-08-29 00:01:31,671.671 INFO    ] 200
[2026-08-29 00:01:31,674.674 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:01:31,731.731 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:01:31,734.734 INFO    ] No update needed
[2026-08-29 00:01:31,736.736 INFO    ] Checking for camera pi updates...
[2026-08-29 00:01:31,777.777 INFO    ] 200
[2026-08-29 00:01:31,780.780 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:01:31,827.827 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:01:31,930.930 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:01:31,933.933 INFO    ] No camera update needed
[2026-08-29 00:01:31,936.936 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:01:31,938.938 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:01:31,945.945 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:01:31,950.950 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:01:33,993.993 INFO    ] ================================================
[2026-08-29 00:01:34,009.009 INFO    ] Launching Daemon at Sat Aug 29 00:01:34 IST 2026
[2026-08-29 00:01:34,020.020 INFO    ] ================================================
[2026-08-29 00:01:34,587.587 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:01:34
[2026-08-29 00:01:34,927.927 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:01:35,078.078 INFO    ] Initializing speech engine...
[2026-08-29 00:01:35,084.084 INFO    ] 2026-08-29 00:01:35
[2026-08-29 00:01:35,291.291 INFO    ] 2026-08-29 00:01:35
[2026-08-29 00:01:35,333.333 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:01:35,505.505 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:01:35,514.514 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:01:35,643.643 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:01:35,704.704 INFO    ] time= 29/08/2026 00:01:35
[2026-08-29 00:01:35,737.737 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:01:35,744.744 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:01:35,810.810 INFO    ] No existing commands found in stream
[2026-08-29 00:01:40,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:01:40,824.824 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-08-29 00:01:41,942.942 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:01:41,944.944 INFO    ] Checking for system updates...
[2026-08-29 00:01:41,964.964 INFO    ] 200
[2026-08-29 00:01:41,965.965 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:01:41,995.995 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:01:41,997.997 INFO    ] No update needed
[2026-08-29 00:01:41,998.998 INFO    ] Checking for camera pi updates...
[2026-08-29 00:01:42,018.018 INFO    ] 200
[2026-08-29 00:01:42,019.019 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:01:42,042.042 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:01:42,122.122 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:01:42,123.123 INFO    ] No camera update needed
[2026-08-29 00:01:42,125.125 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:01:42,126.126 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:01:42,129.129 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:01:42,132.132 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:01:44,173.173 INFO    ] ================================================
[2026-08-29 00:01:44,188.188 INFO    ] Launching Daemon at Sat Aug 29 00:01:44 IST 2026
[2026-08-29 00:01:44,200.200 INFO    ] ================================================
[2026-08-29 00:01:44,589.589 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:01:44
[2026-08-29 00:01:44,924.924 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:01:45,074.074 INFO    ] Initializing speech engine...
[2026-08-29 00:01:45,078.078 INFO    ] 2026-08-29 00:01:45
[2026-08-29 00:01:45,278.278 INFO    ] 2026-08-29 00:01:45
[2026-08-29 00:01:45,307.307 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:01:45,439.439 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:01:45,492.492 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:01:45,627.627 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:01:45,689.689 INFO    ] time= 29/08/2026 00:01:45
[2026-08-29 00:01:45,722.722 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:01:45,728.728 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:01:45,797.797 INFO    ] No existing commands found in stream
[2026-08-29 00:01:50,806.806 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:01:50,808.808 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-08-29 00:01:51,241.241 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:01:51,243.243 INFO    ] Checking for system updates...
[2026-08-29 00:01:51,264.264 INFO    ] 200
[2026-08-29 00:01:51,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:01:51,297.297 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:01:51,299.299 INFO    ] No update needed
[2026-08-29 00:01:51,300.300 INFO    ] Checking for camera pi updates...
[2026-08-29 00:01:51,319.319 INFO    ] 200
[2026-08-29 00:01:51,321.321 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:01:51,344.344 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:01:51,424.424 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:01:51,425.425 INFO    ] No camera update needed
[2026-08-29 00:01:51,426.426 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:01:51,427.427 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:01:51,430.430 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:01:51,433.433 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:01:53,473.473 INFO    ] ================================================
[2026-08-29 00:01:53,489.489 INFO    ] Launching Daemon at Sat Aug 29 00:01:53 IST 2026
[2026-08-29 00:01:53,500.500 INFO    ] ================================================
[2026-08-29 00:01:53,863.863 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:01:53
[2026-08-29 00:01:54,180.180 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:01:54,324.324 INFO    ] Initializing speech engine...
[2026-08-29 00:01:54,330.330 INFO    ] 2026-08-29 00:01:54
[2026-08-29 00:01:54,533.533 INFO    ] 2026-08-29 00:01:54
[2026-08-29 00:01:54,562.562 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:01:54,685.685 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:01:54,748.748 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:01:54,879.879 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:01:54,934.934 INFO    ] time= 29/08/2026 00:01:54
[2026-08-29 00:01:54,963.963 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:01:54,980.980 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:01:55,050.050 INFO    ] No existing commands found in stream
[2026-08-29 00:02:00,061.061 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:02:00,069.069 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-08-29 00:02:01,643.643 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:02:01,645.645 INFO    ] Checking for system updates...
[2026-08-29 00:02:01,665.665 INFO    ] 200
[2026-08-29 00:02:01,667.667 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:02:01,697.697 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:02:01,699.699 INFO    ] No update needed
[2026-08-29 00:02:01,700.700 INFO    ] Checking for camera pi updates...
[2026-08-29 00:02:01,721.721 INFO    ] 200
[2026-08-29 00:02:01,722.722 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:02:01,749.749 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:02:01,801.801 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:02:01,803.803 INFO    ] No camera update needed
[2026-08-29 00:02:01,804.804 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:02:01,806.806 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:02:01,809.809 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:02:01,812.812 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:02:03,855.855 INFO    ] ================================================
[2026-08-29 00:02:03,871.871 INFO    ] Launching Daemon at Sat Aug 29 00:02:03 IST 2026
[2026-08-29 00:02:03,882.882 INFO    ] ================================================
[2026-08-29 00:02:04,546.546 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:02:04
[2026-08-29 00:02:05,195.195 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:02:05,425.425 INFO    ] Initializing speech engine...
[2026-08-29 00:02:05,438.438 INFO    ] 2026-08-29 00:02:05
[2026-08-29 00:02:05,646.646 INFO    ] 2026-08-29 00:02:05
[2026-08-29 00:02:05,675.675 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:02:05,798.798 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:02:05,838.838 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:02:05,969.969 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:02:06,004.004 INFO    ] time= 29/08/2026 00:02:05
[2026-08-29 00:02:06,071.071 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:02:06,100.100 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:02:06,171.171 INFO    ] No existing commands found in stream
[2026-08-29 00:02:11,182.182 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:02:11,185.185 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-08-29 00:02:11,584.584 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:02:11,585.585 INFO    ] Checking for system updates...
[2026-08-29 00:02:11,605.605 INFO    ] 200
[2026-08-29 00:02:11,606.606 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:02:11,640.640 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:02:11,642.642 INFO    ] No update needed
[2026-08-29 00:02:11,643.643 INFO    ] Checking for camera pi updates...
[2026-08-29 00:02:11,663.663 INFO    ] 200
[2026-08-29 00:02:11,664.664 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:02:11,688.688 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:02:11,764.764 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:02:11,765.765 INFO    ] No camera update needed
[2026-08-29 00:02:11,766.766 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:02:11,767.767 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:02:11,770.770 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:02:11,773.773 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:02:13,812.812 INFO    ] ================================================
[2026-08-29 00:02:13,829.829 INFO    ] Launching Daemon at Sat Aug 29 00:02:13 IST 2026
[2026-08-29 00:02:13,840.840 INFO    ] ================================================
[2026-08-29 00:02:14,176.176 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:02:14
[2026-08-29 00:02:14,488.488 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:02:14,620.620 INFO    ] Initializing speech engine...
[2026-08-29 00:02:14,628.628 INFO    ] 2026-08-29 00:02:14
[2026-08-29 00:02:14,844.844 INFO    ] 2026-08-29 00:02:14
[2026-08-29 00:02:14,872.872 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:02:14,996.996 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:02:15,039.039 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:02:15,195.195 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:02:15,246.246 INFO    ] time= 29/08/2026 00:02:15
[2026-08-29 00:02:15,282.282 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:02:15,298.298 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:02:15,369.369 INFO    ] No existing commands found in stream
[2026-08-29 00:02:20,380.380 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:02:20,383.383 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-08-29 00:02:23,059.059 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:02:23,060.060 INFO    ] Checking for system updates...
[2026-08-29 00:02:23,081.081 INFO    ] 200
[2026-08-29 00:02:23,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:02:23,113.113 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:02:23,114.114 INFO    ] No update needed
[2026-08-29 00:02:23,115.115 INFO    ] Checking for camera pi updates...
[2026-08-29 00:02:23,135.135 INFO    ] 200
[2026-08-29 00:02:23,136.136 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:02:23,160.160 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:02:23,255.255 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:02:23,256.256 INFO    ] No camera update needed
[2026-08-29 00:02:23,257.257 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:02:23,259.259 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:02:23,262.262 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:02:23,265.265 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:02:25,305.305 INFO    ] ================================================
[2026-08-29 00:02:25,320.320 INFO    ] Launching Daemon at Sat Aug 29 00:02:25 IST 2026
[2026-08-29 00:02:25,331.331 INFO    ] ================================================
[2026-08-29 00:02:25,902.902 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:02:25
[2026-08-29 00:02:26,438.438 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:02:26,572.572 INFO    ] Initializing speech engine...
[2026-08-29 00:02:26,584.584 INFO    ] 2026-08-29 00:02:26
[2026-08-29 00:02:26,793.793 INFO    ] 2026-08-29 00:02:26
[2026-08-29 00:02:26,823.823 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:02:26,947.947 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:02:26,999.999 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:02:27,150.150 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:02:27,218.218 INFO    ] time= 29/08/2026 00:02:27
[2026-08-29 00:02:27,243.243 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:02:27,250.250 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:02:27,317.317 INFO    ] No existing commands found in stream
[2026-08-29 00:02:32,323.323 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:02:32,325.325 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-08-29 00:02:35,793.793 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:02:35,794.794 INFO    ] Checking for system updates...
[2026-08-29 00:02:35,816.816 INFO    ] 200
[2026-08-29 00:02:35,817.817 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:02:35,847.847 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:02:35,848.848 INFO    ] No update needed
[2026-08-29 00:02:35,850.850 INFO    ] Checking for camera pi updates...
[2026-08-29 00:02:35,869.869 INFO    ] 200
[2026-08-29 00:02:35,870.870 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:02:35,894.894 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:02:35,996.996 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:02:35,998.998 INFO    ] No camera update needed
[2026-08-29 00:02:35,999.999 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:02:36,000.000 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:02:36,003.003 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:02:36,006.006 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:02:38,044.044 INFO    ] ================================================
[2026-08-29 00:02:38,060.060 INFO    ] Launching Daemon at Sat Aug 29 00:02:38 IST 2026
[2026-08-29 00:02:38,072.072 INFO    ] ================================================
[2026-08-29 00:02:38,444.444 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:02:38
[2026-08-29 00:02:38,776.776 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:02:38,913.913 INFO    ] Initializing speech engine...
[2026-08-29 00:02:38,926.926 INFO    ] 2026-08-29 00:02:38
[2026-08-29 00:02:39,147.147 INFO    ] 2026-08-29 00:02:39
[2026-08-29 00:02:39,178.178 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:02:39,331.331 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:02:39,378.378 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:02:39,520.520 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:02:39,581.581 INFO    ] time= 29/08/2026 00:02:39
[2026-08-29 00:02:39,621.621 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:02:39,628.628 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:02:39,704.704 INFO    ] No existing commands found in stream
[2026-08-29 00:02:44,714.714 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:02:44,717.717 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-08-29 00:02:45,191.191 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:02:45,192.192 INFO    ] Checking for system updates...
[2026-08-29 00:02:45,213.213 INFO    ] 200
[2026-08-29 00:02:45,214.214 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:02:45,244.244 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:02:45,245.245 INFO    ] No update needed
[2026-08-29 00:02:45,247.247 INFO    ] Checking for camera pi updates...
[2026-08-29 00:02:45,267.267 INFO    ] 200
[2026-08-29 00:02:45,268.268 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:02:45,293.293 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:02:45,400.400 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:02:45,401.401 INFO    ] No camera update needed
[2026-08-29 00:02:45,403.403 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:02:45,404.404 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:02:45,407.407 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:02:45,409.409 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:02:47,449.449 INFO    ] ================================================
[2026-08-29 00:02:47,465.465 INFO    ] Launching Daemon at Sat Aug 29 00:02:47 IST 2026
[2026-08-29 00:02:47,476.476 INFO    ] ================================================
[2026-08-29 00:02:47,802.802 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:02:47
[2026-08-29 00:02:48,114.114 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:02:48,256.256 INFO    ] Initializing speech engine...
[2026-08-29 00:02:48,261.261 INFO    ] 2026-08-29 00:02:48
[2026-08-29 00:02:48,467.467 INFO    ] 2026-08-29 00:02:48
[2026-08-29 00:02:48,495.495 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:02:48,620.620 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:02:48,677.677 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:02:48,816.816 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:02:48,862.862 INFO    ] time= 29/08/2026 00:02:48
[2026-08-29 00:02:48,897.897 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:02:48,918.918 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:02:48,990.990 INFO    ] No existing commands found in stream
[2026-08-29 00:02:54,000.000 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:02:54,003.003 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 00:02:54,643.643 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:02:54,644.644 INFO    ] Checking for system updates...
[2026-08-29 00:02:54,665.665 INFO    ] 200
[2026-08-29 00:02:54,667.667 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:02:54,697.697 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:02:54,698.698 INFO    ] No update needed
[2026-08-29 00:02:54,699.699 INFO    ] Checking for camera pi updates...
[2026-08-29 00:02:54,719.719 INFO    ] 200
[2026-08-29 00:02:54,720.720 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:02:54,746.746 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:02:54,825.825 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:02:54,958.958 INFO    ] No camera update needed
[2026-08-29 00:02:54,960.960 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:02:54,962.962 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:02:54,965.965 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:02:54,968.968 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:02:57,006.006 INFO    ] ================================================
[2026-08-29 00:02:57,021.021 INFO    ] Launching Daemon at Sat Aug 29 00:02:57 IST 2026
[2026-08-29 00:02:57,033.033 INFO    ] ================================================
[2026-08-29 00:02:57,383.383 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:02:57
[2026-08-29 00:02:57,701.701 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:02:57,836.836 INFO    ] Initializing speech engine...
[2026-08-29 00:02:57,841.841 INFO    ] 2026-08-29 00:02:57
[2026-08-29 00:02:58,063.063 INFO    ] 2026-08-29 00:02:58
[2026-08-29 00:02:58,093.093 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:02:58,216.216 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:02:58,279.279 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:02:58,414.414 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:02:58,476.476 INFO    ] time= 29/08/2026 00:02:58
[2026-08-29 00:02:58,509.509 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:02:58,516.516 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:02:58,581.581 INFO    ] No existing commands found in stream
[2026-08-29 00:03:03,592.592 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:03:03,595.595 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-08-29 00:03:07,688.688 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:03:07,689.689 INFO    ] Checking for system updates...
[2026-08-29 00:03:07,710.710 INFO    ] 200
[2026-08-29 00:03:07,711.711 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:03:07,742.742 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:03:07,743.743 INFO    ] No update needed
[2026-08-29 00:03:07,744.744 INFO    ] Checking for camera pi updates...
[2026-08-29 00:03:07,763.763 INFO    ] 200
[2026-08-29 00:03:07,764.764 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:03:07,787.787 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:03:07,894.894 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:03:07,896.896 INFO    ] No camera update needed
[2026-08-29 00:03:07,897.897 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:03:07,898.898 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:03:07,901.901 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:03:07,904.904 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:03:09,944.944 INFO    ] ================================================
[2026-08-29 00:03:09,960.960 INFO    ] Launching Daemon at Sat Aug 29 00:03:09 IST 2026
[2026-08-29 00:03:09,973.973 INFO    ] ================================================
[2026-08-29 00:03:10,341.341 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:03:10
[2026-08-29 00:03:10,653.653 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:03:10,784.784 INFO    ] Initializing speech engine...
[2026-08-29 00:03:10,788.788 INFO    ] 2026-08-29 00:03:10
[2026-08-29 00:03:11,012.012 INFO    ] 2026-08-29 00:03:10
[2026-08-29 00:03:11,026.026 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:03:11,209.209 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:03:11,229.229 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:03:11,440.440 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:03:11,466.466 INFO    ] time= 29/08/2026 00:03:11
[2026-08-29 00:03:11,487.487 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:03:11,501.501 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:03:11,634.634 INFO    ] No existing commands found in stream
[2026-08-29 00:03:16,648.648 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:03:16,651.651 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-08-29 00:03:17,860.860 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:03:17,861.861 INFO    ] Checking for system updates...
[2026-08-29 00:03:17,883.883 INFO    ] 200
[2026-08-29 00:03:17,885.885 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:03:17,915.915 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:03:17,917.917 INFO    ] No update needed
[2026-08-29 00:03:17,918.918 INFO    ] Checking for camera pi updates...
[2026-08-29 00:03:17,938.938 INFO    ] 200
[2026-08-29 00:03:17,939.939 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:03:17,962.962 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:03:18,056.056 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:03:18,058.058 INFO    ] No camera update needed
[2026-08-29 00:03:18,059.059 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:03:18,060.060 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:03:18,063.063 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:03:18,066.066 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:03:20,106.106 INFO    ] ================================================
[2026-08-29 00:03:20,121.121 INFO    ] Launching Daemon at Sat Aug 29 00:03:20 IST 2026
[2026-08-29 00:03:20,131.131 INFO    ] ================================================
[2026-08-29 00:03:20,487.487 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:03:20
[2026-08-29 00:03:20,798.798 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:03:20,936.936 INFO    ] Initializing speech engine...
[2026-08-29 00:03:20,944.944 INFO    ] 2026-08-29 00:03:20
[2026-08-29 00:03:21,151.151 INFO    ] 2026-08-29 00:03:21
[2026-08-29 00:03:21,181.181 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:03:21,318.318 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:03:21,326.326 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:03:21,497.497 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:03:21,529.529 INFO    ] time= 29/08/2026 00:03:21
[2026-08-29 00:03:21,535.535 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:03:21,557.557 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:03:21,667.667 INFO    ] No existing commands found in stream
[2026-08-29 00:03:26,695.695 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:03:26,698.698 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-08-29 00:03:29,430.430 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:03:29,431.431 INFO    ] Checking for system updates...
[2026-08-29 00:03:29,453.453 INFO    ] 200
[2026-08-29 00:03:29,455.455 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:03:29,485.485 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:03:29,486.486 INFO    ] No update needed
[2026-08-29 00:03:29,487.487 INFO    ] Checking for camera pi updates...
[2026-08-29 00:03:29,508.508 INFO    ] 200
[2026-08-29 00:03:29,509.509 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:03:29,532.532 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:03:29,607.607 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:03:29,608.608 INFO    ] No camera update needed
[2026-08-29 00:03:29,610.610 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:03:29,611.611 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:03:29,615.615 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:03:29,618.618 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:03:31,655.655 INFO    ] ================================================
[2026-08-29 00:03:31,670.670 INFO    ] Launching Daemon at Sat Aug 29 00:03:31 IST 2026
[2026-08-29 00:03:31,680.680 INFO    ] ================================================
[2026-08-29 00:03:32,191.191 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:03:32
[2026-08-29 00:03:32,805.805 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:03:33,084.084 INFO    ] Initializing speech engine...
[2026-08-29 00:03:33,109.109 INFO    ] 2026-08-29 00:03:33
[2026-08-29 00:03:33,384.384 INFO    ] 2026-08-29 00:03:33
[2026-08-29 00:03:33,409.409 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:03:33,567.567 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:03:33,576.576 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:03:33,728.728 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:03:33,740.740 INFO    ] time= 29/08/2026 00:03:33
[2026-08-29 00:03:33,745.745 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:03:33,759.759 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:03:33,827.827 INFO    ] No existing commands found in stream
[2026-08-29 00:03:38,844.844 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:03:38,847.847 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-08-29 00:03:42,286.286 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:03:42,288.288 INFO    ] Checking for system updates...
[2026-08-29 00:03:42,308.308 INFO    ] 200
[2026-08-29 00:03:42,309.309 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:03:42,339.339 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:03:42,340.340 INFO    ] No update needed
[2026-08-29 00:03:42,342.342 INFO    ] Checking for camera pi updates...
[2026-08-29 00:03:42,363.363 INFO    ] 200
[2026-08-29 00:03:42,364.364 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:03:42,387.387 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:03:42,471.471 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:03:42,472.472 INFO    ] No camera update needed
[2026-08-29 00:03:42,473.473 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:03:42,474.474 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:03:42,477.477 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:03:42,480.480 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:03:44,518.518 INFO    ] ================================================
[2026-08-29 00:03:44,533.533 INFO    ] Launching Daemon at Sat Aug 29 00:03:44 IST 2026
[2026-08-29 00:03:44,544.544 INFO    ] ================================================
[2026-08-29 00:03:44,905.905 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:03:44
[2026-08-29 00:03:45,226.226 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:03:45,373.373 INFO    ] Initializing speech engine...
[2026-08-29 00:03:45,378.378 INFO    ] 2026-08-29 00:03:45
[2026-08-29 00:03:45,585.585 INFO    ] 2026-08-29 00:03:45
[2026-08-29 00:03:45,613.613 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:03:45,736.736 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:03:45,775.775 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:03:45,932.932 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:03:45,984.984 INFO    ] time= 29/08/2026 00:03:45
[2026-08-29 00:03:46,032.032 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:03:46,034.034 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:03:46,106.106 INFO    ] No existing commands found in stream
[2026-08-29 00:03:51,116.116 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:03:51,119.119 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 00:03:51,665.665 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:03:51,667.667 INFO    ] Checking for system updates...
[2026-08-29 00:03:51,688.688 INFO    ] 200
[2026-08-29 00:03:51,690.690 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:03:51,721.721 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:03:51,723.723 INFO    ] No update needed
[2026-08-29 00:03:51,724.724 INFO    ] Checking for camera pi updates...
[2026-08-29 00:03:51,744.744 INFO    ] 200
[2026-08-29 00:03:51,745.745 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:03:51,768.768 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:03:51,835.835 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:03:51,836.836 INFO    ] No camera update needed
[2026-08-29 00:03:51,837.837 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:03:51,839.839 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:03:51,842.842 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:03:51,844.844 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:03:53,882.882 INFO    ] ================================================
[2026-08-29 00:03:53,897.897 INFO    ] Launching Daemon at Sat Aug 29 00:03:53 IST 2026
[2026-08-29 00:03:53,908.908 INFO    ] ================================================
[2026-08-29 00:03:54,260.260 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:03:54
[2026-08-29 00:03:54,601.601 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:03:54,752.752 INFO    ] Initializing speech engine...
[2026-08-29 00:03:54,758.758 INFO    ] 2026-08-29 00:03:54
[2026-08-29 00:03:54,966.966 INFO    ] 2026-08-29 00:03:54
[2026-08-29 00:03:54,996.996 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:03:55,130.130 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:03:55,183.183 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:03:55,339.339 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:03:55,392.392 INFO    ] time= 29/08/2026 00:03:55
[2026-08-29 00:03:55,415.415 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:03:55,422.422 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:03:55,489.489 INFO    ] No existing commands found in stream
[2026-08-29 00:04:00,504.504 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:04:00,507.507 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-08-29 00:04:03,437.437 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:04:03,440.440 INFO    ] Checking for system updates...
[2026-08-29 00:04:03,476.476 INFO    ] 200
[2026-08-29 00:04:03,478.478 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:04:03,535.535 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:04:03,538.538 INFO    ] No update needed
[2026-08-29 00:04:03,540.540 INFO    ] Checking for camera pi updates...
[2026-08-29 00:04:03,574.574 INFO    ] 200
[2026-08-29 00:04:03,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:04:03,620.620 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:04:03,711.711 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:04:03,713.713 INFO    ] No camera update needed
[2026-08-29 00:04:03,716.716 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:04:03,718.718 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:04:03,723.723 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:04:03,729.729 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:04:05,768.768 INFO    ] ================================================
[2026-08-29 00:04:05,783.783 INFO    ] Launching Daemon at Sat Aug 29 00:04:05 IST 2026
[2026-08-29 00:04:05,794.794 INFO    ] ================================================
[2026-08-29 00:04:06,147.147 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:04:06
[2026-08-29 00:04:06,654.654 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:04:06,926.926 INFO    ] Initializing speech engine...
[2026-08-29 00:04:06,935.935 INFO    ] 2026-08-29 00:04:06
[2026-08-29 00:04:07,190.190 INFO    ] 2026-08-29 00:04:07
[2026-08-29 00:04:07,253.253 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:04:07,473.473 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:04:07,482.482 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:04:07,613.613 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:04:07,640.640 INFO    ] time= 29/08/2026 00:04:07
[2026-08-29 00:04:07,689.689 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:04:07,745.745 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:04:07,797.797 INFO    ] No existing commands found in stream
[2026-08-29 00:04:12,810.810 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:04:12,813.813 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-08-29 00:04:15,237.237 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:04:15,239.239 INFO    ] Checking for system updates...
[2026-08-29 00:04:15,259.259 INFO    ] 200
[2026-08-29 00:04:15,261.261 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:04:15,297.297 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:04:15,299.299 INFO    ] No update needed
[2026-08-29 00:04:15,300.300 INFO    ] Checking for camera pi updates...
[2026-08-29 00:04:15,319.319 INFO    ] 200
[2026-08-29 00:04:15,320.320 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:04:15,344.344 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:04:15,419.419 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:04:15,420.420 INFO    ] No camera update needed
[2026-08-29 00:04:15,421.421 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:04:15,423.423 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:04:15,426.426 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:04:15,428.428 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:04:17,466.466 INFO    ] ================================================
[2026-08-29 00:04:17,481.481 INFO    ] Launching Daemon at Sat Aug 29 00:04:17 IST 2026
[2026-08-29 00:04:17,491.491 INFO    ] ================================================
[2026-08-29 00:04:17,849.849 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:04:17
[2026-08-29 00:04:18,184.184 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:04:18,335.335 INFO    ] Initializing speech engine...
[2026-08-29 00:04:18,341.341 INFO    ] 2026-08-29 00:04:18
[2026-08-29 00:04:18,551.551 INFO    ] 2026-08-29 00:04:18
[2026-08-29 00:04:18,580.580 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:04:18,736.736 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:04:18,745.745 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:04:18,900.900 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:04:18,949.949 INFO    ] time= 29/08/2026 00:04:18
[2026-08-29 00:04:18,956.956 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:04:18,975.975 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:04:19,088.088 INFO    ] No existing commands found in stream
[2026-08-29 00:04:24,117.117 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:04:24,120.120 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-08-29 00:04:27,206.206 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:04:27,208.208 INFO    ] Checking for system updates...
[2026-08-29 00:04:27,229.229 INFO    ] 200
[2026-08-29 00:04:27,231.231 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:04:27,261.261 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:04:27,262.262 INFO    ] No update needed
[2026-08-29 00:04:27,264.264 INFO    ] Checking for camera pi updates...
[2026-08-29 00:04:27,283.283 INFO    ] 200
[2026-08-29 00:04:27,284.284 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:04:27,307.307 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:04:27,407.407 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:04:27,409.409 INFO    ] No camera update needed
[2026-08-29 00:04:27,410.410 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:04:27,411.411 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:04:27,414.414 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:04:27,417.417 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:04:29,454.454 INFO    ] ================================================
[2026-08-29 00:04:29,469.469 INFO    ] Launching Daemon at Sat Aug 29 00:04:29 IST 2026
[2026-08-29 00:04:29,480.480 INFO    ] ================================================
[2026-08-29 00:04:29,835.835 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:04:29
[2026-08-29 00:04:30,151.151 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:04:30,295.295 INFO    ] Initializing speech engine...
[2026-08-29 00:04:30,299.299 INFO    ] 2026-08-29 00:04:30
[2026-08-29 00:04:30,496.496 INFO    ] 2026-08-29 00:04:30
[2026-08-29 00:04:30,538.538 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:04:30,762.762 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:04:30,768.768 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:04:30,900.900 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:04:30,948.948 INFO    ] time= 29/08/2026 00:04:30
[2026-08-29 00:04:31,003.003 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:04:31,035.035 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:04:31,087.087 INFO    ] No existing commands found in stream
[2026-08-29 00:04:36,099.099 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:04:36,102.102 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-08-29 00:04:38,399.399 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:04:38,400.400 INFO    ] Checking for system updates...
[2026-08-29 00:04:38,421.421 INFO    ] 200
[2026-08-29 00:04:38,422.422 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:04:38,452.452 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:04:38,454.454 INFO    ] No update needed
[2026-08-29 00:04:38,455.455 INFO    ] Checking for camera pi updates...
[2026-08-29 00:04:38,475.475 INFO    ] 200
[2026-08-29 00:04:38,477.477 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:04:38,500.500 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:04:38,700.700 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:04:38,701.701 INFO    ] No camera update needed
[2026-08-29 00:04:38,702.702 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:04:38,704.704 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:04:38,707.707 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:04:38,710.710 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:04:40,748.748 INFO    ] ================================================
[2026-08-29 00:04:40,763.763 INFO    ] Launching Daemon at Sat Aug 29 00:04:40 IST 2026
[2026-08-29 00:04:40,774.774 INFO    ] ================================================
[2026-08-29 00:04:41,162.162 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:04:41
[2026-08-29 00:04:41,507.507 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:04:41,661.661 INFO    ] Initializing speech engine...
[2026-08-29 00:04:41,665.665 INFO    ] 2026-08-29 00:04:41
[2026-08-29 00:04:41,875.875 INFO    ] 2026-08-29 00:04:41
[2026-08-29 00:04:41,904.904 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:04:42,042.042 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:04:42,090.090 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:04:42,220.220 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:04:42,276.276 INFO    ] time= 29/08/2026 00:04:42
[2026-08-29 00:04:42,318.318 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:04:42,325.325 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:04:42,390.390 INFO    ] No existing commands found in stream
[2026-08-29 00:04:47,401.401 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:04:47,405.405 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-08-29 00:04:50,717.717 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:04:50,718.718 INFO    ] Checking for system updates...
[2026-08-29 00:04:50,739.739 INFO    ] 200
[2026-08-29 00:04:50,740.740 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:04:50,772.772 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:04:50,774.774 INFO    ] No update needed
[2026-08-29 00:04:50,775.775 INFO    ] Checking for camera pi updates...
[2026-08-29 00:04:50,794.794 INFO    ] 200
[2026-08-29 00:04:50,796.796 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:04:50,819.819 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:04:50,900.900 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:04:50,901.901 INFO    ] No camera update needed
[2026-08-29 00:04:50,903.903 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:04:50,904.904 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:04:50,907.907 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:04:50,910.910 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:04:52,949.949 INFO    ] ================================================
[2026-08-29 00:04:52,964.964 INFO    ] Launching Daemon at Sat Aug 29 00:04:52 IST 2026
[2026-08-29 00:04:52,976.976 INFO    ] ================================================
[2026-08-29 00:04:53,366.366 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:04:53
[2026-08-29 00:04:53,687.687 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:04:53,828.828 INFO    ] Initializing speech engine...
[2026-08-29 00:04:53,839.839 INFO    ] 2026-08-29 00:04:53
[2026-08-29 00:04:54,065.065 INFO    ] 2026-08-29 00:04:54
[2026-08-29 00:04:54,148.148 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:04:54,346.346 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:04:54,359.359 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:04:54,523.523 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:04:54,531.531 INFO    ] time= 29/08/2026 00:04:54
[2026-08-29 00:04:54,597.597 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:04:54,664.664 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:04:54,741.741 INFO    ] No existing commands found in stream
[2026-08-29 00:04:59,753.753 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:04:59,756.756 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-08-29 00:05:03,497.497 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:05:03,500.500 INFO    ] Checking for system updates...
[2026-08-29 00:05:03,535.535 INFO    ] 200
[2026-08-29 00:05:03,537.537 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:05:03,589.589 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:05:03,591.591 INFO    ] No update needed
[2026-08-29 00:05:03,593.593 INFO    ] Checking for camera pi updates...
[2026-08-29 00:05:03,633.633 INFO    ] 200
[2026-08-29 00:05:03,635.635 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:05:03,675.675 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:05:03,753.753 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:05:03,756.756 INFO    ] No camera update needed
[2026-08-29 00:05:03,758.758 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:05:03,760.760 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:05:03,765.765 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:05:03,770.770 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:05:05,811.811 INFO    ] ================================================
[2026-08-29 00:05:05,826.826 INFO    ] Launching Daemon at Sat Aug 29 00:05:05 IST 2026
[2026-08-29 00:05:05,836.836 INFO    ] ================================================
[2026-08-29 00:05:06,202.202 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:05:06
[2026-08-29 00:05:06,701.701 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:05:06,995.995 INFO    ] Initializing speech engine...
[2026-08-29 00:05:07,002.002 INFO    ] 2026-08-29 00:05:06
[2026-08-29 00:05:07,285.285 INFO    ] 2026-08-29 00:05:07
[2026-08-29 00:05:07,328.328 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:05:07,551.551 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:05:07,560.560 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:05:07,695.695 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:05:07,760.760 INFO    ] time= 29/08/2026 00:05:07
[2026-08-29 00:05:07,809.809 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:05:07,828.828 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:05:07,883.883 INFO    ] No existing commands found in stream
[2026-08-29 00:05:12,896.896 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:05:12,899.899 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-08-29 00:05:15,956.956 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:05:15,957.957 INFO    ] Checking for system updates...
[2026-08-29 00:05:15,978.978 INFO    ] 200
[2026-08-29 00:05:15,979.979 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:05:16,009.009 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:05:16,010.010 INFO    ] No update needed
[2026-08-29 00:05:16,011.011 INFO    ] Checking for camera pi updates...
[2026-08-29 00:05:16,031.031 INFO    ] 200
[2026-08-29 00:05:16,032.032 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:05:16,055.055 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:05:16,149.149 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:05:16,150.150 INFO    ] No camera update needed
[2026-08-29 00:05:16,151.151 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:05:16,153.153 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:05:16,156.156 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:05:16,159.159 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:05:18,197.197 INFO    ] ================================================
[2026-08-29 00:05:18,213.213 INFO    ] Launching Daemon at Sat Aug 29 00:05:18 IST 2026
[2026-08-29 00:05:18,224.224 INFO    ] ================================================
[2026-08-29 00:05:18,569.569 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:05:18
[2026-08-29 00:05:18,904.904 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:05:19,053.053 INFO    ] Initializing speech engine...
[2026-08-29 00:05:19,058.058 INFO    ] 2026-08-29 00:05:19
[2026-08-29 00:05:19,264.264 INFO    ] 2026-08-29 00:05:19
[2026-08-29 00:05:19,294.294 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:05:19,415.415 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:05:19,477.477 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:05:19,608.608 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:05:19,679.679 INFO    ] time= 29/08/2026 00:05:19
[2026-08-29 00:05:19,705.705 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:05:19,712.712 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:05:19,777.777 INFO    ] No existing commands found in stream
[2026-08-29 00:05:24,788.788 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:05:24,791.791 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-08-29 00:05:28,200.200 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:05:28,202.202 INFO    ] Checking for system updates...
[2026-08-29 00:05:28,223.223 INFO    ] 200
[2026-08-29 00:05:28,224.224 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:05:28,254.254 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:05:28,256.256 INFO    ] No update needed
[2026-08-29 00:05:28,257.257 INFO    ] Checking for camera pi updates...
[2026-08-29 00:05:28,277.277 INFO    ] 200
[2026-08-29 00:05:28,279.279 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:05:28,304.304 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:05:28,388.388 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:05:28,390.390 INFO    ] No camera update needed
[2026-08-29 00:05:28,391.391 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:05:28,393.393 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:05:28,396.396 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:05:28,399.399 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:05:30,438.438 INFO    ] ================================================
[2026-08-29 00:05:30,453.453 INFO    ] Launching Daemon at Sat Aug 29 00:05:30 IST 2026
[2026-08-29 00:05:30,464.464 INFO    ] ================================================
[2026-08-29 00:05:30,848.848 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:05:30
[2026-08-29 00:05:31,182.182 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:05:31,331.331 INFO    ] Initializing speech engine...
[2026-08-29 00:05:31,336.336 INFO    ] 2026-08-29 00:05:31
[2026-08-29 00:05:31,552.552 INFO    ] 2026-08-29 00:05:31
[2026-08-29 00:05:31,586.586 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:05:31,712.712 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:05:31,731.731 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:05:31,920.920 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:05:31,929.929 INFO    ] time= 29/08/2026 00:05:31
[2026-08-29 00:05:31,932.932 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:05:31,974.974 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:05:32,035.035 INFO    ] No existing commands found in stream
[2026-08-29 00:05:37,052.052 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:05:37,055.055 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-08-29 00:05:37,705.705 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:05:37,709.709 INFO    ] Checking for system updates...
[2026-08-29 00:05:37,747.747 INFO    ] 200
[2026-08-29 00:05:37,750.750 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:05:37,815.815 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:05:37,819.819 INFO    ] No update needed
[2026-08-29 00:05:37,822.822 INFO    ] Checking for camera pi updates...
[2026-08-29 00:05:37,858.858 INFO    ] 200
[2026-08-29 00:05:37,861.861 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:05:37,905.905 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:05:37,987.987 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:05:37,990.990 INFO    ] No camera update needed
[2026-08-29 00:05:37,993.993 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:05:37,995.995 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:05:38,002.002 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:05:38,008.008 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:05:40,051.051 INFO    ] ================================================
[2026-08-29 00:05:40,066.066 INFO    ] Launching Daemon at Sat Aug 29 00:05:40 IST 2026
[2026-08-29 00:05:40,077.077 INFO    ] ================================================
[2026-08-29 00:05:40,631.631 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:05:40
[2026-08-29 00:05:41,227.227 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:05:41,520.520 INFO    ] Initializing speech engine...
[2026-08-29 00:05:41,528.528 INFO    ] 2026-08-29 00:05:41
[2026-08-29 00:05:41,810.810 INFO    ] 2026-08-29 00:05:41
[2026-08-29 00:05:41,855.855 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:05:42,075.075 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:05:42,085.085 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:05:42,221.221 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:05:42,282.282 INFO    ] time= 29/08/2026 00:05:42
[2026-08-29 00:05:42,337.337 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:05:42,356.356 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:05:42,470.470 INFO    ] No existing commands found in stream
[2026-08-29 00:05:47,493.493 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:05:47,496.496 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-08-29 00:05:51,389.389 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:05:51,391.391 INFO    ] Checking for system updates...
[2026-08-29 00:05:51,411.411 INFO    ] 200
[2026-08-29 00:05:51,413.413 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:05:51,446.446 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:05:51,448.448 INFO    ] No update needed
[2026-08-29 00:05:51,449.449 INFO    ] Checking for camera pi updates...
[2026-08-29 00:05:51,468.468 INFO    ] 200
[2026-08-29 00:05:51,469.469 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:05:51,493.493 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:05:51,604.604 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:05:51,605.605 INFO    ] No camera update needed
[2026-08-29 00:05:51,607.607 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:05:51,608.608 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:05:51,611.611 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:05:51,614.614 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:05:53,651.651 INFO    ] ================================================
[2026-08-29 00:05:53,666.666 INFO    ] Launching Daemon at Sat Aug 29 00:05:53 IST 2026
[2026-08-29 00:05:53,677.677 INFO    ] ================================================
[2026-08-29 00:05:54,007.007 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:05:54
[2026-08-29 00:05:54,323.323 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:05:54,460.460 INFO    ] Initializing speech engine...
[2026-08-29 00:05:54,470.470 INFO    ] 2026-08-29 00:05:54
[2026-08-29 00:05:54,675.675 INFO    ] 2026-08-29 00:05:54
[2026-08-29 00:05:54,702.702 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:05:54,824.824 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:05:54,882.882 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:05:55,024.024 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:05:55,088.088 INFO    ] time= 29/08/2026 00:05:55
[2026-08-29 00:05:55,115.115 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:05:55,121.121 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:05:55,188.188 INFO    ] No existing commands found in stream
[2026-08-29 00:06:00,194.194 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:06:00,197.197 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 00:06:03,716.716 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:06:03,718.718 INFO    ] Checking for system updates...
[2026-08-29 00:06:03,754.754 INFO    ] 200
[2026-08-29 00:06:03,756.756 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:06:03,808.808 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:06:03,810.810 INFO    ] No update needed
[2026-08-29 00:06:03,813.813 INFO    ] Checking for camera pi updates...
[2026-08-29 00:06:03,847.847 INFO    ] 200
[2026-08-29 00:06:03,850.850 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:06:03,890.890 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:06:03,981.981 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:06:03,984.984 INFO    ] No camera update needed
[2026-08-29 00:06:03,986.986 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:06:03,989.989 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:06:03,994.994 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:06:03,999.999 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:06:06,039.039 INFO    ] ================================================
[2026-08-29 00:06:06,055.055 INFO    ] Launching Daemon at Sat Aug 29 00:06:06 IST 2026
[2026-08-29 00:06:06,066.066 INFO    ] ================================================
[2026-08-29 00:06:06,648.648 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:06:06
[2026-08-29 00:06:07,249.249 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:06:07,522.522 INFO    ] Initializing speech engine...
[2026-08-29 00:06:07,531.531 INFO    ] 2026-08-29 00:06:07
[2026-08-29 00:06:07,781.781 INFO    ] 2026-08-29 00:06:07
[2026-08-29 00:06:07,816.816 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:06:07,989.989 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:06:08,001.001 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:06:08,111.111 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:06:08,129.129 INFO    ] time= 29/08/2026 00:06:08
[2026-08-29 00:06:08,151.151 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:06:08,158.158 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:06:08,225.225 INFO    ] No existing commands found in stream
[2026-08-29 00:06:13,237.237 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:06:13,240.240 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-08-29 00:06:17,219.219 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:06:17,220.220 INFO    ] Checking for system updates...
[2026-08-29 00:06:17,241.241 INFO    ] 200
[2026-08-29 00:06:17,242.242 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:06:17,273.273 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:06:17,274.274 INFO    ] No update needed
[2026-08-29 00:06:17,275.275 INFO    ] Checking for camera pi updates...
[2026-08-29 00:06:17,294.294 INFO    ] 200
[2026-08-29 00:06:17,296.296 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:06:17,320.320 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:06:17,400.400 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:06:17,402.402 INFO    ] No camera update needed
[2026-08-29 00:06:17,403.403 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:06:17,404.404 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:06:17,407.407 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:06:17,410.410 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:06:19,448.448 INFO    ] ================================================
[2026-08-29 00:06:19,464.464 INFO    ] Launching Daemon at Sat Aug 29 00:06:19 IST 2026
[2026-08-29 00:06:19,475.475 INFO    ] ================================================
[2026-08-29 00:06:19,860.860 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:06:19
[2026-08-29 00:06:20,195.195 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:06:20,346.346 INFO    ] Initializing speech engine...
[2026-08-29 00:06:20,351.351 INFO    ] 2026-08-29 00:06:20
[2026-08-29 00:06:20,562.562 INFO    ] 2026-08-29 00:06:20
[2026-08-29 00:06:20,591.591 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:06:20,715.715 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:06:20,778.778 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:06:20,927.927 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:06:20,972.972 INFO    ] time= 29/08/2026 00:06:20
[2026-08-29 00:06:21,012.012 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:06:21,071.071 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:06:21,179.179 INFO    ] No existing commands found in stream
[2026-08-29 00:06:26,216.216 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:06:26,219.219 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-08-29 00:06:28,131.131 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:06:28,133.133 INFO    ] Checking for system updates...
[2026-08-29 00:06:28,156.156 INFO    ] 200
[2026-08-29 00:06:28,157.157 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:06:28,190.190 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:06:28,192.192 INFO    ] No update needed
[2026-08-29 00:06:28,193.193 INFO    ] Checking for camera pi updates...
[2026-08-29 00:06:28,213.213 INFO    ] 200
[2026-08-29 00:06:28,214.214 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:06:28,239.239 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:06:28,318.318 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:06:28,319.319 INFO    ] No camera update needed
[2026-08-29 00:06:28,321.321 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:06:28,322.322 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:06:28,325.325 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:06:28,328.328 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:06:30,365.365 INFO    ] ================================================
[2026-08-29 00:06:30,380.380 INFO    ] Launching Daemon at Sat Aug 29 00:06:30 IST 2026
[2026-08-29 00:06:30,391.391 INFO    ] ================================================
[2026-08-29 00:06:30,733.733 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:06:30
[2026-08-29 00:06:31,069.069 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:06:31,218.218 INFO    ] Initializing speech engine...
[2026-08-29 00:06:31,224.224 INFO    ] 2026-08-29 00:06:31
[2026-08-29 00:06:31,430.430 INFO    ] 2026-08-29 00:06:31
[2026-08-29 00:06:31,473.473 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:06:31,610.610 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:06:31,619.619 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:06:31,814.814 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:06:31,821.821 INFO    ] time= 29/08/2026 00:06:31
[2026-08-29 00:06:31,841.841 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:06:31,870.870 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:06:31,986.986 INFO    ] No existing commands found in stream
[2026-08-29 00:06:37,019.019 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:06:37,022.022 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-08-29 00:06:39,818.818 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:06:39,819.819 INFO    ] Checking for system updates...
[2026-08-29 00:06:39,840.840 INFO    ] 200
[2026-08-29 00:06:39,841.841 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:06:39,872.872 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:06:39,874.874 INFO    ] No update needed
[2026-08-29 00:06:39,875.875 INFO    ] Checking for camera pi updates...
[2026-08-29 00:06:39,894.894 INFO    ] 200
[2026-08-29 00:06:39,895.895 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:06:39,918.918 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:06:39,994.994 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:06:39,996.996 INFO    ] No camera update needed
[2026-08-29 00:06:39,997.997 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:06:39,998.998 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:06:40,001.001 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:06:40,004.004 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:06:42,042.042 INFO    ] ================================================
[2026-08-29 00:06:42,057.057 INFO    ] Launching Daemon at Sat Aug 29 00:06:42 IST 2026
[2026-08-29 00:06:42,068.068 INFO    ] ================================================
[2026-08-29 00:06:42,437.437 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:06:42
[2026-08-29 00:06:42,754.754 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:06:42,894.894 INFO    ] Initializing speech engine...
[2026-08-29 00:06:42,895.895 INFO    ] 2026-08-29 00:06:42
[2026-08-29 00:06:43,106.106 INFO    ] 2026-08-29 00:06:43
[2026-08-29 00:06:43,135.135 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:06:43,258.258 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:06:43,311.311 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:06:43,456.456 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:06:43,523.523 INFO    ] time= 29/08/2026 00:06:43
[2026-08-29 00:06:43,550.550 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:06:43,552.552 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:06:43,623.623 INFO    ] No existing commands found in stream
[2026-08-29 00:06:48,634.634 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:06:48,636.636 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 00:06:49,821.821 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:06:49,822.822 INFO    ] Checking for system updates...
[2026-08-29 00:06:49,843.843 INFO    ] 200
[2026-08-29 00:06:49,845.845 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:06:49,874.874 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:06:49,876.876 INFO    ] No update needed
[2026-08-29 00:06:49,877.877 INFO    ] Checking for camera pi updates...
[2026-08-29 00:06:49,898.898 INFO    ] 200
[2026-08-29 00:06:49,899.899 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:06:49,922.922 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:06:50,106.106 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:06:50,107.107 INFO    ] No camera update needed
[2026-08-29 00:06:50,109.109 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:06:50,111.111 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:06:50,115.115 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:06:50,118.118 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:06:52,151.151 INFO    ] ================================================
[2026-08-29 00:06:52,166.166 INFO    ] Launching Daemon at Sat Aug 29 00:06:52 IST 2026
[2026-08-29 00:06:52,177.177 INFO    ] ================================================
[2026-08-29 00:06:52,523.523 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:06:52
[2026-08-29 00:06:52,864.864 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:06:53,017.017 INFO    ] Initializing speech engine...
[2026-08-29 00:06:53,022.022 INFO    ] 2026-08-29 00:06:53
[2026-08-29 00:06:53,229.229 INFO    ] 2026-08-29 00:06:53
[2026-08-29 00:06:53,260.260 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:06:53,393.393 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:06:53,446.446 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:06:53,576.576 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:06:53,632.632 INFO    ] time= 29/08/2026 00:06:53
[2026-08-29 00:06:53,675.675 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:06:53,682.682 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:06:53,748.748 INFO    ] No existing commands found in stream
[2026-08-29 00:06:58,759.759 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:06:58,762.762 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-08-29 00:07:02,060.060 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:07:02,064.064 INFO    ] Checking for system updates...
[2026-08-29 00:07:02,112.112 INFO    ] 200
[2026-08-29 00:07:02,116.116 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:07:02,190.190 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:07:02,194.194 INFO    ] No update needed
[2026-08-29 00:07:02,198.198 INFO    ] Checking for camera pi updates...
[2026-08-29 00:07:02,244.244 INFO    ] 200
[2026-08-29 00:07:02,247.247 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:07:02,301.301 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:07:02,381.381 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:07:02,384.384 INFO    ] No camera update needed
[2026-08-29 00:07:02,388.388 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:07:02,391.391 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:07:02,399.399 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:07:02,407.407 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:07:04,450.450 INFO    ] ================================================
[2026-08-29 00:07:04,466.466 INFO    ] Launching Daemon at Sat Aug 29 00:07:04 IST 2026
[2026-08-29 00:07:04,477.477 INFO    ] ================================================
[2026-08-29 00:07:05,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:07:05
[2026-08-29 00:07:05,627.627 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:07:05,880.880 INFO    ] Initializing speech engine...
[2026-08-29 00:07:05,894.894 INFO    ] 2026-08-29 00:07:05
[2026-08-29 00:07:06,174.174 INFO    ] 2026-08-29 00:07:06
[2026-08-29 00:07:06,188.188 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:07:06,339.339 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:07:06,343.343 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:07:06,469.469 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:07:06,474.474 INFO    ] time= 29/08/2026 00:07:06
[2026-08-29 00:07:06,479.479 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:07:06,527.527 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:07:06,610.610 INFO    ] No existing commands found in stream
[2026-08-29 00:07:11,645.645 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:07:11,648.648 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-08-29 00:07:14,665.665 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:07:14,666.666 INFO    ] Checking for system updates...
[2026-08-29 00:07:14,686.686 INFO    ] 200
[2026-08-29 00:07:14,688.688 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:07:14,720.720 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:07:14,721.721 INFO    ] No update needed
[2026-08-29 00:07:14,722.722 INFO    ] Checking for camera pi updates...
[2026-08-29 00:07:14,743.743 INFO    ] 200
[2026-08-29 00:07:14,744.744 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:07:14,768.768 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:07:14,848.848 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:07:14,849.849 INFO    ] No camera update needed
[2026-08-29 00:07:14,850.850 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:07:14,852.852 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:07:14,855.855 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:07:14,857.857 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:07:16,896.896 INFO    ] ================================================
[2026-08-29 00:07:16,911.911 INFO    ] Launching Daemon at Sat Aug 29 00:07:16 IST 2026
[2026-08-29 00:07:16,922.922 INFO    ] ================================================
[2026-08-29 00:07:17,256.256 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:07:17
[2026-08-29 00:07:17,566.566 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:07:17,710.710 INFO    ] Initializing speech engine...
[2026-08-29 00:07:17,714.714 INFO    ] 2026-08-29 00:07:17
[2026-08-29 00:07:17,921.921 INFO    ] 2026-08-29 00:07:17
[2026-08-29 00:07:17,949.949 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:07:18,134.134 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:07:18,138.138 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:07:18,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:07:18,334.334 INFO    ] time= 29/08/2026 00:07:18
[2026-08-29 00:07:18,368.368 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:07:18,369.369 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:07:18,441.441 INFO    ] No existing commands found in stream
[2026-08-29 00:07:23,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:07:23,454.454 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-08-29 00:07:25,300.300 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:07:25,302.302 INFO    ] Checking for system updates...
[2026-08-29 00:07:25,322.322 INFO    ] 200
[2026-08-29 00:07:25,324.324 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:07:25,354.354 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:07:25,355.355 INFO    ] No update needed
[2026-08-29 00:07:25,356.356 INFO    ] Checking for camera pi updates...
[2026-08-29 00:07:25,377.377 INFO    ] 200
[2026-08-29 00:07:25,378.378 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:07:25,403.403 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:07:25,509.509 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:07:25,511.511 INFO    ] No camera update needed
[2026-08-29 00:07:25,512.512 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:07:25,514.514 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:07:25,517.517 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:07:25,520.520 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:07:27,559.559 INFO    ] ================================================
[2026-08-29 00:07:27,574.574 INFO    ] Launching Daemon at Sat Aug 29 00:07:27 IST 2026
[2026-08-29 00:07:27,584.584 INFO    ] ================================================
[2026-08-29 00:07:27,913.913 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:07:27
[2026-08-29 00:07:28,226.226 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:07:28,359.359 INFO    ] Initializing speech engine...
[2026-08-29 00:07:28,364.364 INFO    ] 2026-08-29 00:07:28
[2026-08-29 00:07:28,593.593 INFO    ] 2026-08-29 00:07:28
[2026-08-29 00:07:28,613.613 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:07:28,721.721 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:07:28,724.724 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:07:28,832.832 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:07:28,841.841 INFO    ] time= 29/08/2026 00:07:28
[2026-08-29 00:07:28,845.845 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:07:28,861.861 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:07:28,929.929 INFO    ] No existing commands found in stream
[2026-08-29 00:07:33,957.957 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:07:33,959.959 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-08-29 00:07:34,630.630 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:07:34,631.631 INFO    ] Checking for system updates...
[2026-08-29 00:07:34,652.652 INFO    ] 200
[2026-08-29 00:07:34,653.653 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:07:34,685.685 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:07:34,686.686 INFO    ] No update needed
[2026-08-29 00:07:34,687.687 INFO    ] Checking for camera pi updates...
[2026-08-29 00:07:34,707.707 INFO    ] 200
[2026-08-29 00:07:34,708.708 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:07:34,733.733 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:07:34,828.828 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:07:34,829.829 INFO    ] No camera update needed
[2026-08-29 00:07:34,830.830 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:07:34,832.832 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:07:34,835.835 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:07:34,837.837 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:07:36,875.875 INFO    ] ================================================
[2026-08-29 00:07:36,891.891 INFO    ] Launching Daemon at Sat Aug 29 00:07:36 IST 2026
[2026-08-29 00:07:36,902.902 INFO    ] ================================================
[2026-08-29 00:07:37,234.234 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:07:37
[2026-08-29 00:07:37,549.549 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:07:37,684.684 INFO    ] Initializing speech engine...
[2026-08-29 00:07:37,696.696 INFO    ] 2026-08-29 00:07:37
[2026-08-29 00:07:37,905.905 INFO    ] 2026-08-29 00:07:37
[2026-08-29 00:07:37,934.934 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:07:38,058.058 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:07:38,096.096 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:07:38,255.255 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:07:38,317.317 INFO    ] time= 29/08/2026 00:07:38
[2026-08-29 00:07:38,353.353 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:07:38,358.358 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:07:38,430.430 INFO    ] No existing commands found in stream
[2026-08-29 00:07:43,441.441 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:07:43,444.444 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-08-29 00:07:46,234.234 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:07:46,235.235 INFO    ] Checking for system updates...
[2026-08-29 00:07:46,256.256 INFO    ] 200
[2026-08-29 00:07:46,258.258 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:07:46,291.291 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:07:46,292.292 INFO    ] No update needed
[2026-08-29 00:07:46,293.293 INFO    ] Checking for camera pi updates...
[2026-08-29 00:07:46,314.314 INFO    ] 200
[2026-08-29 00:07:46,315.315 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:07:46,340.340 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:07:46,423.423 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:07:46,424.424 INFO    ] No camera update needed
[2026-08-29 00:07:46,425.425 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:07:46,426.426 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:07:46,429.429 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:07:46,432.432 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:07:48,470.470 INFO    ] ================================================
[2026-08-29 00:07:48,490.490 INFO    ] Launching Daemon at Sat Aug 29 00:07:48 IST 2026
[2026-08-29 00:07:48,501.501 INFO    ] ================================================
[2026-08-29 00:07:48,869.869 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:07:48
[2026-08-29 00:07:49,199.199 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:07:49,339.339 INFO    ] Initializing speech engine...
[2026-08-29 00:07:49,349.349 INFO    ] 2026-08-29 00:07:49
[2026-08-29 00:07:49,554.554 INFO    ] 2026-08-29 00:07:49
[2026-08-29 00:07:49,582.582 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:07:49,719.719 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:07:49,767.767 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:07:49,900.900 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:07:49,963.963 INFO    ] time= 29/08/2026 00:07:49
[2026-08-29 00:07:49,994.994 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:07:50,001.001 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:07:50,067.067 INFO    ] No existing commands found in stream
[2026-08-29 00:07:55,077.077 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:07:55,080.080 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-08-29 00:07:59,394.394 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:07:59,395.395 INFO    ] Checking for system updates...
[2026-08-29 00:07:59,416.416 INFO    ] 200
[2026-08-29 00:07:59,417.417 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:07:59,447.447 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:07:59,448.448 INFO    ] No update needed
[2026-08-29 00:07:59,450.450 INFO    ] Checking for camera pi updates...
[2026-08-29 00:07:59,470.470 INFO    ] 200
[2026-08-29 00:07:59,471.471 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:07:59,494.494 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:07:59,573.573 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:07:59,575.575 INFO    ] No camera update needed
[2026-08-29 00:07:59,576.576 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:07:59,577.577 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:07:59,580.580 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:07:59,583.583 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:08:01,623.623 INFO    ] ================================================
[2026-08-29 00:08:01,645.645 INFO    ] Launching Daemon at Sat Aug 29 00:08:01 IST 2026
[2026-08-29 00:08:01,661.661 INFO    ] ================================================
[2026-08-29 00:08:02,404.404 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:08:02
[2026-08-29 00:08:03,036.036 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:08:03,315.315 INFO    ] Initializing speech engine...
[2026-08-29 00:08:03,324.324 INFO    ] 2026-08-29 00:08:03
[2026-08-29 00:08:03,588.588 INFO    ] 2026-08-29 00:08:03
[2026-08-29 00:08:03,622.622 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:08:03,812.812 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:08:03,826.826 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:08:03,945.945 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:08:03,952.952 INFO    ] time= 29/08/2026 00:08:03
[2026-08-29 00:08:03,971.971 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:08:03,992.992 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:08:04,072.072 INFO    ] No existing commands found in stream
[2026-08-29 00:08:09,084.084 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:08:09,087.087 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-08-29 00:08:09,712.712 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:08:09,714.714 INFO    ] Checking for system updates...
[2026-08-29 00:08:09,734.734 INFO    ] 200
[2026-08-29 00:08:09,735.735 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:08:09,765.765 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:08:09,766.766 INFO    ] No update needed
[2026-08-29 00:08:09,767.767 INFO    ] Checking for camera pi updates...
[2026-08-29 00:08:09,787.787 INFO    ] 200
[2026-08-29 00:08:09,789.789 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:08:09,813.813 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:08:09,912.912 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:08:09,913.913 INFO    ] No camera update needed
[2026-08-29 00:08:09,915.915 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:08:09,916.916 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:08:09,920.920 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:08:09,922.922 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:08:11,961.961 INFO    ] ================================================
[2026-08-29 00:08:11,976.976 INFO    ] Launching Daemon at Sat Aug 29 00:08:11 IST 2026
[2026-08-29 00:08:11,987.987 INFO    ] ================================================
[2026-08-29 00:08:12,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:08:12
[2026-08-29 00:08:12,671.671 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:08:12,803.803 INFO    ] Initializing speech engine...
[2026-08-29 00:08:12,806.806 INFO    ] 2026-08-29 00:08:12
[2026-08-29 00:08:13,023.023 INFO    ] 2026-08-29 00:08:13
[2026-08-29 00:08:13,051.051 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:08:13,173.173 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:08:13,236.236 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:08:13,374.374 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:08:13,438.438 INFO    ] time= 29/08/2026 00:08:13
[2026-08-29 00:08:13,465.465 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:08:13,471.471 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:08:13,537.537 INFO    ] No existing commands found in stream
[2026-08-29 00:08:18,548.548 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:08:18,550.550 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-08-29 00:08:23,747.747 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:08:23,748.748 INFO    ] Checking for system updates...
[2026-08-29 00:08:23,770.770 INFO    ] 200
[2026-08-29 00:08:23,771.771 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:08:23,802.802 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:08:23,804.804 INFO    ] No update needed
[2026-08-29 00:08:23,805.805 INFO    ] Checking for camera pi updates...
[2026-08-29 00:08:23,833.833 INFO    ] 200
[2026-08-29 00:08:23,835.835 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:08:23,905.905 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:08:23,987.987 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:08:23,989.989 INFO    ] No camera update needed
[2026-08-29 00:08:23,992.992 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:08:23,994.994 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:08:24,000.000 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:08:24,005.005 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:08:26,045.045 INFO    ] ================================================
[2026-08-29 00:08:26,060.060 INFO    ] Launching Daemon at Sat Aug 29 00:08:26 IST 2026
[2026-08-29 00:08:26,071.071 INFO    ] ================================================
[2026-08-29 00:08:26,641.641 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:08:26
[2026-08-29 00:08:27,096.096 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:08:27,228.228 INFO    ] Initializing speech engine...
[2026-08-29 00:08:27,241.241 INFO    ] 2026-08-29 00:08:27
[2026-08-29 00:08:27,449.449 INFO    ] 2026-08-29 00:08:27
[2026-08-29 00:08:27,478.478 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:08:27,602.602 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:08:27,665.665 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:08:27,797.797 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:08:27,853.853 INFO    ] time= 29/08/2026 00:08:27
[2026-08-29 00:08:27,888.888 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:08:27,899.899 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:08:27,970.970 INFO    ] No existing commands found in stream
[2026-08-29 00:08:32,981.981 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:08:32,983.983 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-08-29 00:08:34,380.380 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:08:34,381.381 INFO    ] Checking for system updates...
[2026-08-29 00:08:34,402.402 INFO    ] 200
[2026-08-29 00:08:34,403.403 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:08:34,433.433 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:08:34,434.434 INFO    ] No update needed
[2026-08-29 00:08:34,436.436 INFO    ] Checking for camera pi updates...
[2026-08-29 00:08:34,456.456 INFO    ] 200
[2026-08-29 00:08:34,457.457 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:08:34,480.480 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:08:34,554.554 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:08:34,555.555 INFO    ] No camera update needed
[2026-08-29 00:08:34,557.557 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:08:34,558.558 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:08:34,561.561 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:08:34,563.563 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:08:36,602.602 INFO    ] ================================================
[2026-08-29 00:08:36,617.617 INFO    ] Launching Daemon at Sat Aug 29 00:08:36 IST 2026
[2026-08-29 00:08:36,628.628 INFO    ] ================================================
[2026-08-29 00:08:36,976.976 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:08:36
[2026-08-29 00:08:37,288.288 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:08:37,420.420 INFO    ] Initializing speech engine...
[2026-08-29 00:08:37,433.433 INFO    ] 2026-08-29 00:08:37
[2026-08-29 00:08:37,641.641 INFO    ] 2026-08-29 00:08:37
[2026-08-29 00:08:37,669.669 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:08:37,794.794 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:08:37,831.831 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:08:37,988.988 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:08:38,055.055 INFO    ] time= 29/08/2026 00:08:37
[2026-08-29 00:08:38,088.088 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:08:38,095.095 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:08:38,162.162 INFO    ] No existing commands found in stream
[2026-08-29 00:08:43,171.171 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:08:43,174.174 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-08-29 00:08:47,148.148 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:08:47,150.150 INFO    ] Checking for system updates...
[2026-08-29 00:08:47,170.170 INFO    ] 200
[2026-08-29 00:08:47,171.171 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:08:47,203.203 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:08:47,204.204 INFO    ] No update needed
[2026-08-29 00:08:47,206.206 INFO    ] Checking for camera pi updates...
[2026-08-29 00:08:47,238.238 INFO    ] 200
[2026-08-29 00:08:47,240.240 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:08:47,280.280 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:08:47,383.383 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:08:47,385.385 INFO    ] No camera update needed
[2026-08-29 00:08:47,388.388 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:08:47,390.390 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:08:47,395.395 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:08:47,400.400 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:08:49,442.442 INFO    ] ================================================
[2026-08-29 00:08:49,457.457 INFO    ] Launching Daemon at Sat Aug 29 00:08:49 IST 2026
[2026-08-29 00:08:49,468.468 INFO    ] ================================================
[2026-08-29 00:08:50,108.108 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:08:50
[2026-08-29 00:08:50,558.558 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:08:50,709.709 INFO    ] Initializing speech engine...
[2026-08-29 00:08:50,715.715 INFO    ] 2026-08-29 00:08:50
[2026-08-29 00:08:50,925.925 INFO    ] 2026-08-29 00:08:50
[2026-08-29 00:08:50,954.954 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:08:51,078.078 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:08:51,142.142 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:08:51,282.282 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:08:51,341.341 INFO    ] time= 29/08/2026 00:08:51
[2026-08-29 00:08:51,381.381 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:08:51,448.448 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:08:51,503.503 INFO    ] No existing commands found in stream
[2026-08-29 00:08:56,513.513 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:08:56,516.516 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 00:08:59,523.523 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:08:59,524.524 INFO    ] Checking for system updates...
[2026-08-29 00:08:59,546.546 INFO    ] 200
[2026-08-29 00:08:59,547.547 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:08:59,580.580 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:08:59,581.581 INFO    ] No update needed
[2026-08-29 00:08:59,583.583 INFO    ] Checking for camera pi updates...
[2026-08-29 00:08:59,603.603 INFO    ] 200
[2026-08-29 00:08:59,605.605 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:08:59,630.630 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:08:59,800.800 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:08:59,801.801 INFO    ] No camera update needed
[2026-08-29 00:08:59,803.803 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:08:59,804.804 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:08:59,807.807 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:08:59,810.810 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:09:01,868.868 INFO    ] ================================================
[2026-08-29 00:09:01,899.899 INFO    ] Launching Daemon at Sat Aug 29 00:09:01 IST 2026
[2026-08-29 00:09:01,917.917 INFO    ] ================================================
[2026-08-29 00:09:02,696.696 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:09:02
[2026-08-29 00:09:03,364.364 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:09:03,671.671 INFO    ] Initializing speech engine...
[2026-08-29 00:09:03,688.688 INFO    ] 2026-08-29 00:09:03
[2026-08-29 00:09:03,965.965 INFO    ] 2026-08-29 00:09:03
[2026-08-29 00:09:04,001.001 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:09:04,181.181 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:09:04,195.195 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:09:04,335.335 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:09:04,344.344 INFO    ] time= 29/08/2026 00:09:04
[2026-08-29 00:09:04,351.351 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:09:04,381.381 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:09:04,494.494 INFO    ] No existing commands found in stream
[2026-08-29 00:09:09,524.524 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:09:09,527.527 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-08-29 00:09:11,511.511 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:09:11,512.512 INFO    ] Checking for system updates...
[2026-08-29 00:09:11,533.533 INFO    ] 200
[2026-08-29 00:09:11,535.535 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:09:11,567.567 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:09:11,568.568 INFO    ] No update needed
[2026-08-29 00:09:11,569.569 INFO    ] Checking for camera pi updates...
[2026-08-29 00:09:11,591.591 INFO    ] 200
[2026-08-29 00:09:11,593.593 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:09:11,616.616 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:09:11,773.773 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:09:11,774.774 INFO    ] No camera update needed
[2026-08-29 00:09:11,775.775 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:09:11,777.777 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:09:11,780.780 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:09:11,783.783 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:09:13,821.821 INFO    ] ================================================
[2026-08-29 00:09:13,836.836 INFO    ] Launching Daemon at Sat Aug 29 00:09:13 IST 2026
[2026-08-29 00:09:13,847.847 INFO    ] ================================================
[2026-08-29 00:09:14,191.191 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:09:14
[2026-08-29 00:09:14,502.502 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:09:14,737.737 INFO    ] Initializing speech engine...
[2026-08-29 00:09:14,747.747 INFO    ] 2026-08-29 00:09:14
[2026-08-29 00:09:15,004.004 INFO    ] 2026-08-29 00:09:14
[2026-08-29 00:09:15,056.056 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:09:15,199.199 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:09:15,211.211 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:09:15,351.351 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:09:15,359.359 INFO    ] time= 29/08/2026 00:09:15
[2026-08-29 00:09:15,366.366 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:09:15,386.386 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:09:15,513.513 INFO    ] No existing commands found in stream
[2026-08-29 00:09:20,539.539 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:09:20,541.541 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-08-29 00:09:23,200.200 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:09:23,202.202 INFO    ] Checking for system updates...
[2026-08-29 00:09:23,223.223 INFO    ] 200
[2026-08-29 00:09:23,224.224 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:09:23,256.256 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:09:23,258.258 INFO    ] No update needed
[2026-08-29 00:09:23,259.259 INFO    ] Checking for camera pi updates...
[2026-08-29 00:09:23,278.278 INFO    ] 200
[2026-08-29 00:09:23,279.279 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:09:23,308.308 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:09:23,395.395 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:09:23,396.396 INFO    ] No camera update needed
[2026-08-29 00:09:23,397.397 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:09:23,398.398 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:09:23,401.401 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:09:23,404.404 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:09:25,444.444 INFO    ] ================================================
[2026-08-29 00:09:25,460.460 INFO    ] Launching Daemon at Sat Aug 29 00:09:25 IST 2026
[2026-08-29 00:09:25,471.471 INFO    ] ================================================
[2026-08-29 00:09:25,827.827 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:09:25
[2026-08-29 00:09:26,160.160 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:09:26,310.310 INFO    ] Initializing speech engine...
[2026-08-29 00:09:26,316.316 INFO    ] 2026-08-29 00:09:26
[2026-08-29 00:09:26,528.528 INFO    ] 2026-08-29 00:09:26
[2026-08-29 00:09:26,557.557 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:09:26,681.681 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:09:26,745.745 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:09:26,879.879 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:09:26,926.926 INFO    ] time= 29/08/2026 00:09:26
[2026-08-29 00:09:26,976.976 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:09:26,982.982 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:09:27,053.053 INFO    ] No existing commands found in stream
[2026-08-29 00:09:32,064.064 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:09:32,067.067 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-08-29 00:09:33,907.907 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:09:33,910.910 INFO    ] Checking for system updates...
[2026-08-29 00:09:33,947.947 INFO    ] 200
[2026-08-29 00:09:33,950.950 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:09:34,008.008 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:09:34,011.011 INFO    ] No update needed
[2026-08-29 00:09:34,014.014 INFO    ] Checking for camera pi updates...
[2026-08-29 00:09:34,048.048 INFO    ] 200
[2026-08-29 00:09:34,051.051 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:09:34,095.095 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:09:34,182.182 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:09:34,185.185 INFO    ] No camera update needed
[2026-08-29 00:09:34,187.187 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:09:34,190.190 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:09:34,195.195 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:09:34,200.200 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:09:36,240.240 INFO    ] ================================================
[2026-08-29 00:09:36,255.255 INFO    ] Launching Daemon at Sat Aug 29 00:09:36 IST 2026
[2026-08-29 00:09:36,267.267 INFO    ] ================================================
[2026-08-29 00:09:36,618.618 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:09:36
[2026-08-29 00:09:36,929.929 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:09:37,071.071 INFO    ] Initializing speech engine...
[2026-08-29 00:09:37,076.076 INFO    ] 2026-08-29 00:09:37
[2026-08-29 00:09:37,282.282 INFO    ] 2026-08-29 00:09:37
[2026-08-29 00:09:37,311.311 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:09:37,460.460 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:09:37,468.468 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:09:37,628.628 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:09:37,672.672 INFO    ] time= 29/08/2026 00:09:37
[2026-08-29 00:09:37,678.678 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:09:37,696.696 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:09:37,809.809 INFO    ] No existing commands found in stream
[2026-08-29 00:09:42,837.837 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:09:42,840.840 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-08-29 00:09:46,099.099 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:09:46,102.102 INFO    ] Checking for system updates...
[2026-08-29 00:09:46,140.140 INFO    ] 200
[2026-08-29 00:09:46,143.143 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:09:46,195.195 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:09:46,197.197 INFO    ] No update needed
[2026-08-29 00:09:46,200.200 INFO    ] Checking for camera pi updates...
[2026-08-29 00:09:46,233.233 INFO    ] 200
[2026-08-29 00:09:46,235.235 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:09:46,275.275 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:09:46,387.387 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:09:46,389.389 INFO    ] No camera update needed
[2026-08-29 00:09:46,392.392 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:09:46,394.394 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:09:46,399.399 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:09:46,404.404 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:09:48,443.443 INFO    ] ================================================
[2026-08-29 00:09:48,459.459 INFO    ] Launching Daemon at Sat Aug 29 00:09:48 IST 2026
[2026-08-29 00:09:48,470.470 INFO    ] ================================================
[2026-08-29 00:09:48,833.833 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:09:48
[2026-08-29 00:09:49,149.149 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:09:49,293.293 INFO    ] Initializing speech engine...
[2026-08-29 00:09:49,298.298 INFO    ] 2026-08-29 00:09:49
[2026-08-29 00:09:49,501.501 INFO    ] 2026-08-29 00:09:49
[2026-08-29 00:09:49,530.530 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:09:49,652.652 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:09:49,705.705 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:09:49,847.847 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:09:49,898.898 INFO    ] time= 29/08/2026 00:09:49
[2026-08-29 00:09:49,937.937 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:09:49,947.947 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:09:50,019.019 INFO    ] No existing commands found in stream
[2026-08-29 00:09:55,028.028 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:09:55,031.031 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 00:10:00,016.016 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:10:00,018.018 INFO    ] Checking for system updates...
[2026-08-29 00:10:00,066.066 INFO    ] 200
[2026-08-29 00:10:00,069.069 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:10:00,123.123 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:10:00,125.125 INFO    ] No update needed
[2026-08-29 00:10:00,126.126 INFO    ] Checking for camera pi updates...
[2026-08-29 00:10:00,149.149 INFO    ] 200
[2026-08-29 00:10:00,150.150 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:10:00,177.177 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:10:00,254.254 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:10:00,255.255 INFO    ] No camera update needed
[2026-08-29 00:10:00,256.256 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:10:00,258.258 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:10:00,261.261 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:10:00,264.264 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:10:02,344.344 INFO    ] ================================================
[2026-08-29 00:10:02,384.384 INFO    ] Launching Daemon at Sat Aug 29 00:10:02 IST 2026
[2026-08-29 00:10:02,408.408 INFO    ] ================================================
[2026-08-29 00:10:03,133.133 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:10:03
[2026-08-29 00:10:03,845.845 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:10:04,152.152 INFO    ] Initializing speech engine...
[2026-08-29 00:10:04,164.164 INFO    ] 2026-08-29 00:10:04
[2026-08-29 00:10:04,430.430 INFO    ] 2026-08-29 00:10:04
[2026-08-29 00:10:04,465.465 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:10:04,638.638 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:10:04,650.650 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:10:04,760.760 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:10:04,779.779 INFO    ] time= 29/08/2026 00:10:04
[2026-08-29 00:10:04,798.798 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:10:04,806.806 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:10:04,874.874 INFO    ] No existing commands found in stream
[2026-08-29 00:10:09,886.886 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:10:09,889.889 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-08-29 00:10:11,987.987 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:10:11,990.990 INFO    ] Checking for system updates...
[2026-08-29 00:10:12,027.027 INFO    ] 200
[2026-08-29 00:10:12,030.030 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:10:12,084.084 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:10:12,087.087 INFO    ] No update needed
[2026-08-29 00:10:12,090.090 INFO    ] Checking for camera pi updates...
[2026-08-29 00:10:12,125.125 INFO    ] 200
[2026-08-29 00:10:12,127.127 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:10:12,150.150 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:10:12,245.245 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:10:12,246.246 INFO    ] No camera update needed
[2026-08-29 00:10:12,247.247 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:10:12,249.249 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:10:12,252.252 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:10:12,255.255 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:10:14,289.289 INFO    ] ================================================
[2026-08-29 00:10:14,306.306 INFO    ] Launching Daemon at Sat Aug 29 00:10:14 IST 2026
[2026-08-29 00:10:14,318.318 INFO    ] ================================================
[2026-08-29 00:10:15,043.043 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:10:14
[2026-08-29 00:10:15,628.628 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:10:15,876.876 INFO    ] Initializing speech engine...
[2026-08-29 00:10:15,885.885 INFO    ] 2026-08-29 00:10:15
[2026-08-29 00:10:16,162.162 INFO    ] 2026-08-29 00:10:16
[2026-08-29 00:10:16,202.202 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:10:17,394.394 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:10:17,397.397 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:10:17,507.507 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:10:17,517.517 INFO    ] time= 29/08/2026 00:10:17
[2026-08-29 00:10:17,520.520 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:10:17,532.532 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:10:17,852.852 INFO    ] No existing commands found in stream
[2026-08-29 00:10:22,886.886 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:10:22,887.887 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-08-29 00:10:29,989.989 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:10:29,990.990 INFO    ] Checking for system updates...
[2026-08-29 00:10:30,011.011 INFO    ] 200
[2026-08-29 00:10:30,012.012 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:10:30,045.045 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:10:30,046.046 INFO    ] No update needed
[2026-08-29 00:10:30,047.047 INFO    ] Checking for camera pi updates...
[2026-08-29 00:10:30,067.067 INFO    ] 200
[2026-08-29 00:10:30,068.068 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:10:30,093.093 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:10:30,173.173 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:10:30,175.175 INFO    ] No camera update needed
[2026-08-29 00:10:30,176.176 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:10:30,177.177 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:10:30,180.180 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:10:30,183.183 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:10:32,214.214 INFO    ] ================================================
[2026-08-29 00:10:32,224.224 INFO    ] Launching Daemon at Sat Aug 29 00:10:32 IST 2026
[2026-08-29 00:10:32,230.230 INFO    ] ================================================
[2026-08-29 00:10:32,801.801 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:10:32
[2026-08-29 00:10:33,411.411 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:10:33,688.688 INFO    ] Initializing speech engine...
[2026-08-29 00:10:33,694.694 INFO    ] 2026-08-29 00:10:33
[2026-08-29 00:10:33,945.945 INFO    ] 2026-08-29 00:10:33
[2026-08-29 00:10:33,980.980 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:10:35,206.206 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:10:35,209.209 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:10:35,394.394 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:10:35,410.410 INFO    ] time= 29/08/2026 00:10:35
[2026-08-29 00:10:35,416.416 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:10:35,423.423 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:10:35,473.473 INFO    ] No existing commands found in stream
[2026-08-29 00:10:40,484.484 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:10:40,487.487 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-08-29 00:10:42,051.051 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:10:42,053.053 INFO    ] Checking for system updates...
[2026-08-29 00:10:42,075.075 INFO    ] 200
[2026-08-29 00:10:42,077.077 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:10:42,106.106 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:10:42,107.107 INFO    ] No update needed
[2026-08-29 00:10:42,108.108 INFO    ] Checking for camera pi updates...
[2026-08-29 00:10:42,130.130 INFO    ] 200
[2026-08-29 00:10:42,131.131 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:10:42,154.154 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:10:42,237.237 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:10:42,238.238 INFO    ] No camera update needed
[2026-08-29 00:10:42,240.240 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:10:42,241.241 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:10:42,244.244 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:10:42,246.246 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:10:44,285.285 INFO    ] ================================================
[2026-08-29 00:10:44,300.300 INFO    ] Launching Daemon at Sat Aug 29 00:10:44 IST 2026
[2026-08-29 00:10:44,310.310 INFO    ] ================================================
[2026-08-29 00:10:44,664.664 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:10:44
[2026-08-29 00:10:44,980.980 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:10:45,120.120 INFO    ] Initializing speech engine...
[2026-08-29 00:10:45,130.130 INFO    ] 2026-08-29 00:10:45
[2026-08-29 00:10:45,334.334 INFO    ] 2026-08-29 00:10:45
[2026-08-29 00:10:45,363.363 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:10:45,486.486 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:10:45,533.533 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:10:45,679.679 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:10:45,735.735 INFO    ] time= 29/08/2026 00:10:45
[2026-08-29 00:10:45,777.777 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:10:45,784.784 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:10:45,851.851 INFO    ] No existing commands found in stream
[2026-08-29 00:10:50,860.860 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:10:50,863.863 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-08-29 00:10:55,078.078 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:10:55,079.079 INFO    ] Checking for system updates...
[2026-08-29 00:10:55,099.099 INFO    ] 200
[2026-08-29 00:10:55,101.101 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:10:55,131.131 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:10:55,132.132 INFO    ] No update needed
[2026-08-29 00:10:55,134.134 INFO    ] Checking for camera pi updates...
[2026-08-29 00:10:55,153.153 INFO    ] 200
[2026-08-29 00:10:55,154.154 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:10:55,178.178 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:10:55,260.260 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:10:55,262.262 INFO    ] No camera update needed
[2026-08-29 00:10:55,263.263 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:10:55,264.264 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:10:55,267.267 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:10:55,270.270 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:10:57,308.308 INFO    ] ================================================
[2026-08-29 00:10:57,323.323 INFO    ] Launching Daemon at Sat Aug 29 00:10:57 IST 2026
[2026-08-29 00:10:57,334.334 INFO    ] ================================================
[2026-08-29 00:10:57,681.681 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:10:57
[2026-08-29 00:10:57,992.992 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:10:58,125.125 INFO    ] Initializing speech engine...
[2026-08-29 00:10:58,128.128 INFO    ] 2026-08-29 00:10:58
[2026-08-29 00:10:58,330.330 INFO    ] 2026-08-29 00:10:58
[2026-08-29 00:10:58,363.363 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:10:58,462.462 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:10:58,465.465 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:10:58,592.592 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:10:58,603.603 INFO    ] time= 29/08/2026 00:10:58
[2026-08-29 00:10:58,608.608 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:10:58,624.624 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:10:58,706.706 INFO    ] No existing commands found in stream
[2026-08-29 00:11:03,740.740 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:11:03,743.743 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-08-29 00:11:06,726.726 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:11:06,728.728 INFO    ] Checking for system updates...
[2026-08-29 00:11:06,748.748 INFO    ] 200
[2026-08-29 00:11:06,750.750 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:11:06,782.782 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:11:06,784.784 INFO    ] No update needed
[2026-08-29 00:11:06,785.785 INFO    ] Checking for camera pi updates...
[2026-08-29 00:11:06,806.806 INFO    ] 200
[2026-08-29 00:11:06,807.807 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:11:06,833.833 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:11:06,914.914 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:11:06,922.922 INFO    ] No camera update needed
[2026-08-29 00:11:06,923.923 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:11:06,925.925 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:11:06,928.928 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:11:06,931.931 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:11:08,970.970 INFO    ] ================================================
[2026-08-29 00:11:08,985.985 INFO    ] Launching Daemon at Sat Aug 29 00:11:08 IST 2026
[2026-08-29 00:11:09,996.996 INFO    ] ================================================
[2026-08-29 00:11:09,339.339 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:11:09
[2026-08-29 00:11:09,651.651 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:11:09,780.780 INFO    ] Initializing speech engine...
[2026-08-29 00:11:09,784.784 INFO    ] 2026-08-29 00:11:09
[2026-08-29 00:11:10,002.002 INFO    ] 2026-08-29 00:11:09
[2026-08-29 00:11:10,030.030 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:11:10,151.151 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:11:10,199.199 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:11:10,343.343 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:11:10,399.399 INFO    ] time= 29/08/2026 00:11:10
[2026-08-29 00:11:10,438.438 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:11:10,443.443 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:11:10,513.513 INFO    ] No existing commands found in stream
[2026-08-29 00:11:15,524.524 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:11:15,527.527 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-08-29 00:11:19,634.634 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:11:19,635.635 INFO    ] Checking for system updates...
[2026-08-29 00:11:19,656.656 INFO    ] 200
[2026-08-29 00:11:19,657.657 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:11:19,687.687 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:11:19,689.689 INFO    ] No update needed
[2026-08-29 00:11:19,690.690 INFO    ] Checking for camera pi updates...
[2026-08-29 00:11:19,710.710 INFO    ] 200
[2026-08-29 00:11:19,711.711 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:11:19,737.737 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:11:19,839.839 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:11:19,841.841 INFO    ] No camera update needed
[2026-08-29 00:11:19,842.842 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:11:19,844.844 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:11:19,847.847 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:11:19,850.850 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:11:21,892.892 INFO    ] ================================================
[2026-08-29 00:11:21,907.907 INFO    ] Launching Daemon at Sat Aug 29 00:11:21 IST 2026
[2026-08-29 00:11:21,918.918 INFO    ] ================================================
[2026-08-29 00:11:22,258.258 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:11:22
[2026-08-29 00:11:22,587.587 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:11:22,737.737 INFO    ] Initializing speech engine...
[2026-08-29 00:11:22,743.743 INFO    ] 2026-08-29 00:11:22
[2026-08-29 00:11:22,950.950 INFO    ] 2026-08-29 00:11:22
[2026-08-29 00:11:22,978.978 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:11:23,161.161 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:11:23,171.171 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:11:23,316.316 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:11:23,369.369 INFO    ] time= 29/08/2026 00:11:23
[2026-08-29 00:11:23,392.392 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:11:23,399.399 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:11:23,466.466 INFO    ] No existing commands found in stream
[2026-08-29 00:11:28,480.480 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:11:28,484.484 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-08-29 00:11:29,452.452 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:11:29,454.454 INFO    ] Checking for system updates...
[2026-08-29 00:11:29,474.474 INFO    ] 200
[2026-08-29 00:11:29,476.476 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:11:29,507.507 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:11:29,508.508 INFO    ] No update needed
[2026-08-29 00:11:29,510.510 INFO    ] Checking for camera pi updates...
[2026-08-29 00:11:29,529.529 INFO    ] 200
[2026-08-29 00:11:29,530.530 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:11:29,555.555 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:11:29,631.631 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:11:29,632.632 INFO    ] No camera update needed
[2026-08-29 00:11:29,633.633 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:11:29,634.634 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:11:29,637.637 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:11:29,640.640 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:11:31,671.671 INFO    ] ================================================
[2026-08-29 00:11:31,680.680 INFO    ] Launching Daemon at Sat Aug 29 00:11:31 IST 2026
[2026-08-29 00:11:31,686.686 INFO    ] ================================================
[2026-08-29 00:11:32,226.226 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:11:32
[2026-08-29 00:11:32,826.826 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:11:33,086.086 INFO    ] Initializing speech engine...
[2026-08-29 00:11:33,110.110 INFO    ] 2026-08-29 00:11:33
[2026-08-29 00:11:33,380.380 INFO    ] 2026-08-29 00:11:33
[2026-08-29 00:11:33,418.418 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:11:33,560.560 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:11:33,565.565 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:11:33,719.719 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:11:33,730.730 INFO    ] time= 29/08/2026 00:11:33
[2026-08-29 00:11:33,736.736 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:11:33,759.759 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:11:33,811.811 INFO    ] No existing commands found in stream
[2026-08-29 00:11:38,823.823 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:11:38,826.826 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-08-29 00:11:42,278.278 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:11:42,279.279 INFO    ] Checking for system updates...
[2026-08-29 00:11:42,300.300 INFO    ] 200
[2026-08-29 00:11:42,301.301 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:11:42,330.330 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:11:42,332.332 INFO    ] No update needed
[2026-08-29 00:11:42,334.334 INFO    ] Checking for camera pi updates...
[2026-08-29 00:11:42,353.353 INFO    ] 200
[2026-08-29 00:11:42,354.354 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:11:42,378.378 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:11:42,474.474 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:11:42,475.475 INFO    ] No camera update needed
[2026-08-29 00:11:42,476.476 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:11:42,478.478 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:11:42,481.481 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:11:42,483.483 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:11:44,522.522 INFO    ] ================================================
[2026-08-29 00:11:44,537.537 INFO    ] Launching Daemon at Sat Aug 29 00:11:44 IST 2026
[2026-08-29 00:11:44,548.548 INFO    ] ================================================
[2026-08-29 00:11:44,937.937 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:11:44
[2026-08-29 00:11:45,271.271 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:11:45,421.421 INFO    ] Initializing speech engine...
[2026-08-29 00:11:45,426.426 INFO    ] 2026-08-29 00:11:45
[2026-08-29 00:11:45,633.633 INFO    ] 2026-08-29 00:11:45
[2026-08-29 00:11:45,662.662 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:11:45,789.789 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:11:45,847.847 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:11:45,985.985 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:11:46,052.052 INFO    ] time= 29/08/2026 00:11:45
[2026-08-29 00:11:46,076.076 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:11:46,083.083 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:11:46,150.150 INFO    ] No existing commands found in stream
[2026-08-29 00:11:51,159.159 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:11:51,162.162 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-08-29 00:11:53,807.807 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:11:53,809.809 INFO    ] Checking for system updates...
[2026-08-29 00:11:53,829.829 INFO    ] 200
[2026-08-29 00:11:53,831.831 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:11:53,860.860 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:11:53,862.862 INFO    ] No update needed
[2026-08-29 00:11:53,863.863 INFO    ] Checking for camera pi updates...
[2026-08-29 00:11:53,883.883 INFO    ] 200
[2026-08-29 00:11:53,884.884 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:11:53,907.907 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:11:53,993.993 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:11:53,994.994 INFO    ] No camera update needed
[2026-08-29 00:11:53,996.996 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:11:53,997.997 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:11:54,000.000 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:11:54,003.003 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:11:56,041.041 INFO    ] ================================================
[2026-08-29 00:11:56,056.056 INFO    ] Launching Daemon at Sat Aug 29 00:11:56 IST 2026
[2026-08-29 00:11:56,067.067 INFO    ] ================================================
[2026-08-29 00:11:56,413.413 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:11:56
[2026-08-29 00:11:56,724.724 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:11:56,865.865 INFO    ] Initializing speech engine...
[2026-08-29 00:11:56,870.870 INFO    ] 2026-08-29 00:11:56
[2026-08-29 00:11:57,072.072 INFO    ] 2026-08-29 00:11:57
[2026-08-29 00:11:57,100.100 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:11:57,228.228 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:11:57,286.286 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:11:57,421.421 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:11:57,477.477 INFO    ] time= 29/08/2026 00:11:57
[2026-08-29 00:11:57,500.500 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:11:57,516.516 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:11:57,586.586 INFO    ] No existing commands found in stream
[2026-08-29 00:12:02,594.594 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:12:02,597.597 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-08-29 00:12:06,775.775 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:12:06,776.776 INFO    ] Checking for system updates...
[2026-08-29 00:12:06,797.797 INFO    ] 200
[2026-08-29 00:12:06,799.799 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:12:06,828.828 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:12:06,829.829 INFO    ] No update needed
[2026-08-29 00:12:06,831.831 INFO    ] Checking for camera pi updates...
[2026-08-29 00:12:06,850.850 INFO    ] 200
[2026-08-29 00:12:06,852.852 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:12:06,876.876 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:12:06,973.973 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:12:06,974.974 INFO    ] No camera update needed
[2026-08-29 00:12:06,975.975 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:12:06,977.977 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:12:06,979.979 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:12:06,982.982 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:12:09,022.022 INFO    ] ================================================
[2026-08-29 00:12:09,037.037 INFO    ] Launching Daemon at Sat Aug 29 00:12:09 IST 2026
[2026-08-29 00:12:09,048.048 INFO    ] ================================================
[2026-08-29 00:12:09,389.389 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:12:09
[2026-08-29 00:12:09,700.700 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:12:09,861.861 INFO    ] Initializing speech engine...
[2026-08-29 00:12:09,874.874 INFO    ] 2026-08-29 00:12:09
[2026-08-29 00:12:10,158.158 INFO    ] 2026-08-29 00:12:10
[2026-08-29 00:12:10,203.203 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:12:10,450.450 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:12:10,460.460 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:12:10,596.596 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:12:10,647.647 INFO    ] time= 29/08/2026 00:12:10
[2026-08-29 00:12:10,701.701 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:12:10,736.736 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:12:10,791.791 INFO    ] No existing commands found in stream
[2026-08-29 00:12:15,804.804 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:12:15,807.807 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-08-29 00:12:16,531.531 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:12:16,533.533 INFO    ] Checking for system updates...
[2026-08-29 00:12:16,555.555 INFO    ] 200
[2026-08-29 00:12:16,557.557 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:12:16,587.587 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:12:16,589.589 INFO    ] No update needed
[2026-08-29 00:12:16,590.590 INFO    ] Checking for camera pi updates...
[2026-08-29 00:12:16,611.611 INFO    ] 200
[2026-08-29 00:12:16,612.612 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:12:16,638.638 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:12:16,742.742 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:12:16,744.744 INFO    ] No camera update needed
[2026-08-29 00:12:16,745.745 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:12:16,746.746 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:12:16,750.750 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:12:16,753.753 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:12:18,791.791 INFO    ] ================================================
[2026-08-29 00:12:18,807.807 INFO    ] Launching Daemon at Sat Aug 29 00:12:18 IST 2026
[2026-08-29 00:12:18,818.818 INFO    ] ================================================
[2026-08-29 00:12:19,168.168 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:12:19
[2026-08-29 00:12:19,477.477 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:12:19,614.614 INFO    ] Initializing speech engine...
[2026-08-29 00:12:19,622.622 INFO    ] 2026-08-29 00:12:19
[2026-08-29 00:12:19,835.835 INFO    ] 2026-08-29 00:12:19
[2026-08-29 00:12:19,864.864 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:12:19,988.988 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:12:20,025.025 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:12:20,187.187 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:12:20,244.244 INFO    ] time= 29/08/2026 00:12:20
[2026-08-29 00:12:20,279.279 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:12:20,289.289 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:12:20,362.362 INFO    ] No existing commands found in stream
[2026-08-29 00:12:25,371.371 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:12:25,374.374 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-08-29 00:12:29,609.609 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:12:29,610.610 INFO    ] Checking for system updates...
[2026-08-29 00:12:29,630.630 INFO    ] 200
[2026-08-29 00:12:29,632.632 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:12:29,661.661 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:12:29,663.663 INFO    ] No update needed
[2026-08-29 00:12:29,664.664 INFO    ] Checking for camera pi updates...
[2026-08-29 00:12:29,683.683 INFO    ] 200
[2026-08-29 00:12:29,684.684 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:12:29,711.711 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:12:29,810.810 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:12:29,811.811 INFO    ] No camera update needed
[2026-08-29 00:12:29,812.812 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:12:29,813.813 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:12:29,816.816 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:12:29,819.819 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:12:31,859.859 INFO    ] ================================================
[2026-08-29 00:12:31,876.876 INFO    ] Launching Daemon at Sat Aug 29 00:12:31 IST 2026
[2026-08-29 00:12:31,889.889 INFO    ] ================================================
[2026-08-29 00:12:32,489.489 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:12:32
[2026-08-29 00:12:33,074.074 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:12:33,347.347 INFO    ] Initializing speech engine...
[2026-08-29 00:12:33,356.356 INFO    ] 2026-08-29 00:12:33
[2026-08-29 00:12:33,613.613 INFO    ] 2026-08-29 00:12:33
[2026-08-29 00:12:33,643.643 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:12:33,808.808 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:12:33,821.821 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:12:33,961.961 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:12:33,969.969 INFO    ] time= 29/08/2026 00:12:33
[2026-08-29 00:12:33,978.978 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:12:34,022.022 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:12:34,146.146 INFO    ] No existing commands found in stream
[2026-08-29 00:12:39,172.172 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:12:39,175.175 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-08-29 00:12:41,717.717 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:12:41,719.719 INFO    ] Checking for system updates...
[2026-08-29 00:12:41,740.740 INFO    ] 200
[2026-08-29 00:12:41,741.741 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:12:41,774.774 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:12:41,776.776 INFO    ] No update needed
[2026-08-29 00:12:41,778.778 INFO    ] Checking for camera pi updates...
[2026-08-29 00:12:41,797.797 INFO    ] 200
[2026-08-29 00:12:41,799.799 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:12:41,823.823 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:12:41,887.887 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:12:41,888.888 INFO    ] No camera update needed
[2026-08-29 00:12:41,890.890 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:12:41,891.891 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:12:41,894.894 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:12:41,897.897 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:12:43,939.939 INFO    ] ================================================
[2026-08-29 00:12:43,955.955 INFO    ] Launching Daemon at Sat Aug 29 00:12:43 IST 2026
[2026-08-29 00:12:43,966.966 INFO    ] ================================================
[2026-08-29 00:12:44,348.348 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:12:44
[2026-08-29 00:12:44,682.682 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:12:44,827.827 INFO    ] Initializing speech engine...
[2026-08-29 00:12:44,838.838 INFO    ] 2026-08-29 00:12:44
[2026-08-29 00:12:45,045.045 INFO    ] 2026-08-29 00:12:45
[2026-08-29 00:12:45,075.075 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:12:45,212.212 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:12:45,260.260 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:12:45,391.391 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:12:45,457.457 INFO    ] time= 29/08/2026 00:12:45
[2026-08-29 00:12:45,490.490 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:12:45,492.492 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:12:45,563.563 INFO    ] No existing commands found in stream
[2026-08-29 00:12:50,578.578 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:12:50,581.581 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-08-29 00:12:51,696.696 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:12:51,697.697 INFO    ] Checking for system updates...
[2026-08-29 00:12:51,718.718 INFO    ] 200
[2026-08-29 00:12:51,719.719 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:12:51,751.751 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:12:51,753.753 INFO    ] No update needed
[2026-08-29 00:12:51,754.754 INFO    ] Checking for camera pi updates...
[2026-08-29 00:12:51,773.773 INFO    ] 200
[2026-08-29 00:12:51,775.775 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:12:51,799.799 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:12:51,880.880 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:12:51,882.882 INFO    ] No camera update needed
[2026-08-29 00:12:51,883.883 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:12:51,884.884 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:12:51,887.887 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:12:51,890.890 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:12:53,928.928 INFO    ] ================================================
[2026-08-29 00:12:53,943.943 INFO    ] Launching Daemon at Sat Aug 29 00:12:53 IST 2026
[2026-08-29 00:12:53,954.954 INFO    ] ================================================
[2026-08-29 00:12:54,326.326 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:12:54
[2026-08-29 00:12:54,663.663 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:12:54,813.813 INFO    ] Initializing speech engine...
[2026-08-29 00:12:54,817.817 INFO    ] 2026-08-29 00:12:54
[2026-08-29 00:12:55,026.026 INFO    ] 2026-08-29 00:12:55
[2026-08-29 00:12:55,055.055 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:12:55,177.177 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:12:55,235.235 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:12:55,378.378 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:12:55,445.445 INFO    ] time= 29/08/2026 00:12:55
[2026-08-29 00:12:55,469.469 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:12:55,476.476 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:12:55,541.541 INFO    ] No existing commands found in stream
[2026-08-29 00:13:00,552.552 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:13:00,555.555 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 00:13:04,096.096 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:13:04,099.099 INFO    ] Checking for system updates...
[2026-08-29 00:13:04,137.137 INFO    ] 200
[2026-08-29 00:13:04,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:13:04,192.192 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:13:04,195.195 INFO    ] No update needed
[2026-08-29 00:13:04,198.198 INFO    ] Checking for camera pi updates...
[2026-08-29 00:13:04,239.239 INFO    ] 200
[2026-08-29 00:13:04,241.241 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:13:04,283.283 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:13:04,481.481 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:13:04,484.484 INFO    ] No camera update needed
[2026-08-29 00:13:04,487.487 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:13:04,490.490 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:13:04,496.496 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:13:04,502.502 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:13:06,543.543 INFO    ] ================================================
[2026-08-29 00:13:06,560.560 INFO    ] Launching Daemon at Sat Aug 29 00:13:06 IST 2026
[2026-08-29 00:13:06,572.572 INFO    ] ================================================
[2026-08-29 00:13:07,158.158 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:13:07
[2026-08-29 00:13:07,742.742 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:13:07,887.887 INFO    ] Initializing speech engine...
[2026-08-29 00:13:07,892.892 INFO    ] 2026-08-29 00:13:07
[2026-08-29 00:13:08,095.095 INFO    ] 2026-08-29 00:13:08
[2026-08-29 00:13:08,123.123 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:13:08,247.247 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:13:08,309.309 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:13:08,438.438 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:13:08,499.499 INFO    ] time= 29/08/2026 00:13:08
[2026-08-29 00:13:08,528.528 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:13:08,538.538 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:13:08,608.608 INFO    ] No existing commands found in stream
[2026-08-29 00:13:13,618.618 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:13:13,621.621 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 00:13:16,973.973 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:13:16,975.975 INFO    ] Checking for system updates...
[2026-08-29 00:13:16,995.995 INFO    ] 200
[2026-08-29 00:13:16,996.996 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:13:17,025.025 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:13:17,027.027 INFO    ] No update needed
[2026-08-29 00:13:17,028.028 INFO    ] Checking for camera pi updates...
[2026-08-29 00:13:17,049.049 INFO    ] 200
[2026-08-29 00:13:17,051.051 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:13:17,075.075 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:13:17,154.154 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:13:17,155.155 INFO    ] No camera update needed
[2026-08-29 00:13:17,156.156 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:13:17,158.158 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:13:17,160.160 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:13:17,163.163 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:13:19,202.202 INFO    ] ================================================
[2026-08-29 00:13:19,217.217 INFO    ] Launching Daemon at Sat Aug 29 00:13:19 IST 2026
[2026-08-29 00:13:19,228.228 INFO    ] ================================================
[2026-08-29 00:13:19,593.593 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:13:19
[2026-08-29 00:13:19,932.932 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:13:20,083.083 INFO    ] Initializing speech engine...
[2026-08-29 00:13:20,087.087 INFO    ] 2026-08-29 00:13:20
[2026-08-29 00:13:20,300.300 INFO    ] 2026-08-29 00:13:20
[2026-08-29 00:13:20,329.329 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:13:20,465.465 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:13:20,520.520 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:13:20,658.658 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:13:20,724.724 INFO    ] time= 29/08/2026 00:13:20
[2026-08-29 00:13:20,754.754 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:13:20,761.761 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:13:20,828.828 INFO    ] No existing commands found in stream
[2026-08-29 00:13:25,838.838 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:13:25,842.842 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-08-29 00:13:26,400.400 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:13:26,401.401 INFO    ] Checking for system updates...
[2026-08-29 00:13:26,422.422 INFO    ] 200
[2026-08-29 00:13:26,424.424 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:13:26,454.454 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:13:26,456.456 INFO    ] No update needed
[2026-08-29 00:13:26,457.457 INFO    ] Checking for camera pi updates...
[2026-08-29 00:13:26,478.478 INFO    ] 200
[2026-08-29 00:13:26,479.479 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:13:26,505.505 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:13:26,603.603 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:13:26,605.605 INFO    ] No camera update needed
[2026-08-29 00:13:26,606.606 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:13:26,608.608 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:13:26,611.611 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:13:26,614.614 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:13:28,653.653 INFO    ] ================================================
[2026-08-29 00:13:28,668.668 INFO    ] Launching Daemon at Sat Aug 29 00:13:28 IST 2026
[2026-08-29 00:13:28,679.679 INFO    ] ================================================
[2026-08-29 00:13:29,005.005 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:13:29
[2026-08-29 00:13:29,316.316 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:13:29,452.452 INFO    ] Initializing speech engine...
[2026-08-29 00:13:29,461.461 INFO    ] 2026-08-29 00:13:29
[2026-08-29 00:13:29,664.664 INFO    ] 2026-08-29 00:13:29
[2026-08-29 00:13:29,693.693 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:13:29,815.815 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:13:29,853.853 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:13:30,007.007 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:13:30,073.073 INFO    ] time= 29/08/2026 00:13:30
[2026-08-29 00:13:30,104.104 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:13:30,106.106 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:13:30,176.176 INFO    ] No existing commands found in stream
[2026-08-29 00:13:35,187.187 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:13:35,189.189 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-08-29 00:13:37,166.166 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:13:37,167.167 INFO    ] Checking for system updates...
[2026-08-29 00:13:37,187.187 INFO    ] 200
[2026-08-29 00:13:37,189.189 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:13:37,220.220 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:13:37,222.222 INFO    ] No update needed
[2026-08-29 00:13:37,223.223 INFO    ] Checking for camera pi updates...
[2026-08-29 00:13:37,242.242 INFO    ] 200
[2026-08-29 00:13:37,244.244 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:13:37,270.270 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:13:37,364.364 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:13:37,366.366 INFO    ] No camera update needed
[2026-08-29 00:13:37,367.367 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:13:37,368.368 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:13:37,371.371 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:13:37,374.374 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:13:39,412.412 INFO    ] ================================================
[2026-08-29 00:13:39,427.427 INFO    ] Launching Daemon at Sat Aug 29 00:13:39 IST 2026
[2026-08-29 00:13:39,438.438 INFO    ] ================================================
[2026-08-29 00:13:39,807.807 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:13:39
[2026-08-29 00:13:40,118.118 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:13:40,260.260 INFO    ] Initializing speech engine...
[2026-08-29 00:13:40,264.264 INFO    ] 2026-08-29 00:13:40
[2026-08-29 00:13:40,467.467 INFO    ] 2026-08-29 00:13:40
[2026-08-29 00:13:40,497.497 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:13:40,679.679 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:13:40,682.682 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:13:40,818.818 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:13:40,886.886 INFO    ] time= 29/08/2026 00:13:40
[2026-08-29 00:13:40,909.909 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:13:40,916.916 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:13:40,982.982 INFO    ] No existing commands found in stream
[2026-08-29 00:13:45,991.991 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:13:45,994.994 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-08-29 00:13:49,139.139 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:13:49,141.141 INFO    ] Checking for system updates...
[2026-08-29 00:13:49,162.162 INFO    ] 200
[2026-08-29 00:13:49,164.164 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:13:49,194.194 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:13:49,196.196 INFO    ] No update needed
[2026-08-29 00:13:49,197.197 INFO    ] Checking for camera pi updates...
[2026-08-29 00:13:49,216.216 INFO    ] 200
[2026-08-29 00:13:49,218.218 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:13:49,241.241 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:13:49,347.347 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:13:49,349.349 INFO    ] No camera update needed
[2026-08-29 00:13:49,350.350 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:13:49,351.351 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:13:49,355.355 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:13:49,358.358 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:13:51,399.399 INFO    ] ================================================
[2026-08-29 00:13:51,414.414 INFO    ] Launching Daemon at Sat Aug 29 00:13:51 IST 2026
[2026-08-29 00:13:51,424.424 INFO    ] ================================================
[2026-08-29 00:13:51,763.763 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:13:51
[2026-08-29 00:13:52,081.081 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:13:52,219.219 INFO    ] Initializing speech engine...
[2026-08-29 00:13:52,229.229 INFO    ] 2026-08-29 00:13:52
[2026-08-29 00:13:52,434.434 INFO    ] 2026-08-29 00:13:52
[2026-08-29 00:13:52,462.462 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:13:52,585.585 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:13:52,643.643 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:13:52,786.786 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:13:52,852.852 INFO    ] time= 29/08/2026 00:13:52
[2026-08-29 00:13:52,875.875 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:13:52,877.877 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:13:52,947.947 INFO    ] No existing commands found in stream
[2026-08-29 00:13:57,958.958 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:13:57,961.961 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 00:14:01,535.535 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:14:01,536.536 INFO    ] Checking for system updates...
[2026-08-29 00:14:01,557.557 INFO    ] 200
[2026-08-29 00:14:01,558.558 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:14:01,588.588 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:14:01,589.589 INFO    ] No update needed
[2026-08-29 00:14:01,590.590 INFO    ] Checking for camera pi updates...
[2026-08-29 00:14:01,612.612 INFO    ] 200
[2026-08-29 00:14:01,614.614 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:14:01,638.638 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:14:01,745.745 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:14:01,749.749 INFO    ] No camera update needed
[2026-08-29 00:14:01,753.753 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:14:01,757.757 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:14:01,766.766 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:14:01,774.774 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:14:03,820.820 INFO    ] ================================================
[2026-08-29 00:14:03,836.836 INFO    ] Launching Daemon at Sat Aug 29 00:14:03 IST 2026
[2026-08-29 00:14:03,847.847 INFO    ] ================================================
[2026-08-29 00:14:04,415.415 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:14:04
[2026-08-29 00:14:04,917.917 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:14:05,056.056 INFO    ] Initializing speech engine...
[2026-08-29 00:14:05,066.066 INFO    ] 2026-08-29 00:14:05
[2026-08-29 00:14:05,270.270 INFO    ] 2026-08-29 00:14:05
[2026-08-29 00:14:05,298.298 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:14:05,429.429 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:14:05,494.494 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:14:05,621.621 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:14:05,667.667 INFO    ] time= 29/08/2026 00:14:05
[2026-08-29 00:14:05,728.728 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:14:05,762.762 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:14:05,836.836 INFO    ] No existing commands found in stream
[2026-08-29 00:14:10,846.846 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:14:10,849.849 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 00:14:13,222.222 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:14:13,224.224 INFO    ] Checking for system updates...
[2026-08-29 00:14:13,244.244 INFO    ] 200
[2026-08-29 00:14:13,246.246 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:14:13,275.275 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:14:13,277.277 INFO    ] No update needed
[2026-08-29 00:14:13,278.278 INFO    ] Checking for camera pi updates...
[2026-08-29 00:14:13,298.298 INFO    ] 200
[2026-08-29 00:14:13,300.300 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:14:13,323.323 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:14:13,402.402 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:14:13,403.403 INFO    ] No camera update needed
[2026-08-29 00:14:13,404.404 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:14:13,406.406 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:14:13,409.409 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:14:13,411.411 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:14:15,452.452 INFO    ] ================================================
[2026-08-29 00:14:15,467.467 INFO    ] Launching Daemon at Sat Aug 29 00:14:15 IST 2026
[2026-08-29 00:14:15,477.477 INFO    ] ================================================
[2026-08-29 00:14:15,851.851 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:14:15
[2026-08-29 00:14:16,162.162 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:14:16,292.292 INFO    ] Initializing speech engine...
[2026-08-29 00:14:16,296.296 INFO    ] 2026-08-29 00:14:16
[2026-08-29 00:14:16,515.515 INFO    ] 2026-08-29 00:14:16
[2026-08-29 00:14:16,544.544 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:14:16,666.666 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:14:16,710.710 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:14:16,864.864 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:14:16,926.926 INFO    ] time= 29/08/2026 00:14:16
[2026-08-29 00:14:16,963.963 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:14:16,965.965 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:14:17,036.036 INFO    ] No existing commands found in stream
[2026-08-29 00:14:22,047.047 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:14:22,050.050 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 00:14:25,889.889 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:14:25,890.890 INFO    ] Checking for system updates...
[2026-08-29 00:14:25,911.911 INFO    ] 200
[2026-08-29 00:14:25,912.912 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:14:25,941.941 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:14:25,943.943 INFO    ] No update needed
[2026-08-29 00:14:25,944.944 INFO    ] Checking for camera pi updates...
[2026-08-29 00:14:25,964.964 INFO    ] 200
[2026-08-29 00:14:25,965.965 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:14:25,989.989 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:14:26,093.093 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:14:26,094.094 INFO    ] No camera update needed
[2026-08-29 00:14:26,095.095 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:14:26,096.096 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:14:26,099.099 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:14:26,102.102 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:14:28,140.140 INFO    ] ================================================
[2026-08-29 00:14:28,155.155 INFO    ] Launching Daemon at Sat Aug 29 00:14:28 IST 2026
[2026-08-29 00:14:28,165.165 INFO    ] ================================================
[2026-08-29 00:14:28,494.494 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:14:28
[2026-08-29 00:14:28,805.805 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:14:28,938.938 INFO    ] Initializing speech engine...
[2026-08-29 00:14:28,950.950 INFO    ] 2026-08-29 00:14:28
[2026-08-29 00:14:29,158.158 INFO    ] 2026-08-29 00:14:29
[2026-08-29 00:14:29,188.188 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:14:29,312.312 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:14:29,376.376 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:14:29,508.508 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:14:29,574.574 INFO    ] time= 29/08/2026 00:14:29
[2026-08-29 00:14:29,607.607 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:14:29,614.614 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:14:29,683.683 INFO    ] No existing commands found in stream
[2026-08-29 00:14:34,692.692 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:14:34,695.695 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-08-29 00:14:36,753.753 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:14:36,755.755 INFO    ] Checking for system updates...
[2026-08-29 00:14:36,775.775 INFO    ] 200
[2026-08-29 00:14:36,776.776 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:14:36,809.809 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:14:36,810.810 INFO    ] No update needed
[2026-08-29 00:14:36,811.811 INFO    ] Checking for camera pi updates...
[2026-08-29 00:14:36,832.832 INFO    ] 200
[2026-08-29 00:14:36,833.833 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:14:36,858.858 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:14:36,934.934 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:14:36,935.935 INFO    ] No camera update needed
[2026-08-29 00:14:36,936.936 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:14:36,937.937 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:14:36,940.940 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:14:36,943.943 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:14:38,981.981 INFO    ] ================================================
[2026-08-29 00:14:39,996.996 INFO    ] Launching Daemon at Sat Aug 29 00:14:38 IST 2026
[2026-08-29 00:14:39,007.007 INFO    ] ================================================
[2026-08-29 00:14:39,362.362 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:14:39
[2026-08-29 00:14:39,674.674 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:14:39,811.811 INFO    ] Initializing speech engine...
[2026-08-29 00:14:39,821.821 INFO    ] 2026-08-29 00:14:39
[2026-08-29 00:14:40,024.024 INFO    ] 2026-08-29 00:14:40
[2026-08-29 00:14:40,053.053 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:14:40,175.175 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:14:40,237.237 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:14:40,371.371 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:14:40,439.439 INFO    ] time= 29/08/2026 00:14:40
[2026-08-29 00:14:40,465.465 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:14:40,472.472 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:14:40,569.569 INFO    ] No existing commands found in stream
[2026-08-29 00:14:45,583.583 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:14:45,586.586 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-08-29 00:14:47,690.690 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:14:47,692.692 INFO    ] Checking for system updates...
[2026-08-29 00:14:47,713.713 INFO    ] 200
[2026-08-29 00:14:47,714.714 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:14:47,747.747 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:14:47,748.748 INFO    ] No update needed
[2026-08-29 00:14:47,749.749 INFO    ] Checking for camera pi updates...
[2026-08-29 00:14:47,769.769 INFO    ] 200
[2026-08-29 00:14:47,770.770 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:14:47,793.793 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:14:47,909.909 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:14:47,910.910 INFO    ] No camera update needed
[2026-08-29 00:14:47,911.911 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:14:47,913.913 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:14:47,915.915 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:14:47,918.918 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:14:49,956.956 INFO    ] ================================================
[2026-08-29 00:14:49,971.971 INFO    ] Launching Daemon at Sat Aug 29 00:14:49 IST 2026
[2026-08-29 00:14:49,982.982 INFO    ] ================================================
[2026-08-29 00:14:50,345.345 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:14:50
[2026-08-29 00:14:50,662.662 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:14:50,806.806 INFO    ] Initializing speech engine...
[2026-08-29 00:14:50,811.811 INFO    ] 2026-08-29 00:14:50
[2026-08-29 00:14:51,015.015 INFO    ] 2026-08-29 00:14:50
[2026-08-29 00:14:51,042.042 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:14:51,165.165 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:14:51,227.227 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:14:51,362.362 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:14:51,420.420 INFO    ] time= 29/08/2026 00:14:51
[2026-08-29 00:14:51,454.454 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:14:51,464.464 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:14:51,529.529 INFO    ] No existing commands found in stream
[2026-08-29 00:14:56,540.540 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:14:56,543.543 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-08-29 00:14:58,130.130 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:14:58,132.132 INFO    ] Checking for system updates...
[2026-08-29 00:14:58,152.152 INFO    ] 200
[2026-08-29 00:14:58,154.154 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:14:58,184.184 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:14:58,186.186 INFO    ] No update needed
[2026-08-29 00:14:58,187.187 INFO    ] Checking for camera pi updates...
[2026-08-29 00:14:58,208.208 INFO    ] 200
[2026-08-29 00:14:58,209.209 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:14:58,232.232 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:14:58,320.320 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:14:58,322.322 INFO    ] No camera update needed
[2026-08-29 00:14:58,323.323 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:14:58,324.324 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:14:58,327.327 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:14:58,330.330 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:15:00,368.368 INFO    ] ================================================
[2026-08-29 00:15:00,384.384 INFO    ] Launching Daemon at Sat Aug 29 00:15:00 IST 2026
[2026-08-29 00:15:00,394.394 INFO    ] ================================================
[2026-08-29 00:15:00,729.729 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:15:00
[2026-08-29 00:15:01,047.047 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:15:01,191.191 INFO    ] Initializing speech engine...
[2026-08-29 00:15:01,196.196 INFO    ] 2026-08-29 00:15:01
[2026-08-29 00:15:01,400.400 INFO    ] 2026-08-29 00:15:01
[2026-08-29 00:15:01,428.428 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:15:01,530.530 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:15:01,549.549 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:15:01,759.759 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:15:01,766.766 INFO    ] time= 29/08/2026 00:15:01
[2026-08-29 00:15:01,770.770 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:15:01,787.787 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:15:01,845.845 INFO    ] No existing commands found in stream
[2026-08-29 00:15:06,856.856 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:15:06,859.859 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-08-29 00:15:08,164.164 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:15:08,166.166 INFO    ] Checking for system updates...
[2026-08-29 00:15:08,350.350 INFO    ] 200
[2026-08-29 00:15:08,351.351 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:15:08,382.382 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:15:08,384.384 INFO    ] No update needed
[2026-08-29 00:15:08,385.385 INFO    ] Checking for camera pi updates...
[2026-08-29 00:15:08,405.405 INFO    ] 200
[2026-08-29 00:15:08,406.406 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:15:08,435.435 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:15:08,613.613 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:15:08,616.616 INFO    ] No camera update needed
[2026-08-29 00:15:08,618.618 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:15:08,620.620 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:15:08,625.625 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:15:08,630.630 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:15:10,670.670 INFO    ] ================================================
[2026-08-29 00:15:10,686.686 INFO    ] Launching Daemon at Sat Aug 29 00:15:10 IST 2026
[2026-08-29 00:15:10,697.697 INFO    ] ================================================
[2026-08-29 00:15:11,301.301 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:15:11
[2026-08-29 00:15:11,689.689 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:15:11,833.833 INFO    ] Initializing speech engine...
[2026-08-29 00:15:11,838.838 INFO    ] 2026-08-29 00:15:11
[2026-08-29 00:15:12,041.041 INFO    ] 2026-08-29 00:15:12
[2026-08-29 00:15:12,070.070 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:15:12,195.195 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:15:12,248.248 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:15:12,395.395 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:15:12,459.459 INFO    ] time= 29/08/2026 00:15:12
[2026-08-29 00:15:12,485.485 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:15:12,492.492 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:15:12,558.558 INFO    ] No existing commands found in stream
[2026-08-29 00:15:17,569.569 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:15:17,571.571 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-08-29 00:15:21,101.101 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:15:21,103.103 INFO    ] Checking for system updates...
[2026-08-29 00:15:21,123.123 INFO    ] 200
[2026-08-29 00:15:21,125.125 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:15:21,155.155 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:15:21,156.156 INFO    ] No update needed
[2026-08-29 00:15:21,158.158 INFO    ] Checking for camera pi updates...
[2026-08-29 00:15:21,177.177 INFO    ] 200
[2026-08-29 00:15:21,178.178 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:15:21,203.203 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:15:21,263.263 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:15:21,264.264 INFO    ] No camera update needed
[2026-08-29 00:15:21,266.266 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:15:21,267.267 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:15:21,270.270 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:15:21,272.272 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:15:23,312.312 INFO    ] ================================================
[2026-08-29 00:15:23,327.327 INFO    ] Launching Daemon at Sat Aug 29 00:15:23 IST 2026
[2026-08-29 00:15:23,338.338 INFO    ] ================================================
[2026-08-29 00:15:23,711.711 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:15:23
[2026-08-29 00:15:24,048.048 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:15:24,201.201 INFO    ] Initializing speech engine...
[2026-08-29 00:15:24,207.207 INFO    ] 2026-08-29 00:15:24
[2026-08-29 00:15:24,418.418 INFO    ] 2026-08-29 00:15:24
[2026-08-29 00:15:24,447.447 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:15:24,569.569 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:15:24,613.613 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:15:24,765.765 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:15:24,816.816 INFO    ] time= 29/08/2026 00:15:24
[2026-08-29 00:15:24,845.845 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:15:24,866.866 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:15:24,938.938 INFO    ] No existing commands found in stream
[2026-08-29 00:15:29,948.948 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:15:29,951.951 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-08-29 00:15:31,196.196 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:15:31,198.198 INFO    ] Checking for system updates...
[2026-08-29 00:15:31,218.218 INFO    ] 200
[2026-08-29 00:15:31,219.219 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:15:31,249.249 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:15:31,251.251 INFO    ] No update needed
[2026-08-29 00:15:31,252.252 INFO    ] Checking for camera pi updates...
[2026-08-29 00:15:31,273.273 INFO    ] 200
[2026-08-29 00:15:31,274.274 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:15:31,298.298 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:15:31,500.500 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:15:31,501.501 INFO    ] No camera update needed
[2026-08-29 00:15:31,502.502 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:15:31,504.504 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:15:31,507.507 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:15:31,509.509 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:15:33,551.551 INFO    ] ================================================
[2026-08-29 00:15:33,566.566 INFO    ] Launching Daemon at Sat Aug 29 00:15:33 IST 2026
[2026-08-29 00:15:33,577.577 INFO    ] ================================================
[2026-08-29 00:15:34,157.157 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:15:34
[2026-08-29 00:15:34,754.754 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:15:35,034.034 INFO    ] Initializing speech engine...
[2026-08-29 00:15:35,042.042 INFO    ] 2026-08-29 00:15:35
[2026-08-29 00:15:35,300.300 INFO    ] 2026-08-29 00:15:35
[2026-08-29 00:15:35,330.330 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:15:35,490.490 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:15:35,520.520 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:15:35,656.656 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:15:35,659.659 INFO    ] time= 29/08/2026 00:15:35
[2026-08-29 00:15:35,669.669 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:15:35,684.684 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:15:35,768.768 INFO    ] No existing commands found in stream
[2026-08-29 00:15:40,799.799 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:15:40,802.802 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-08-29 00:15:41,276.276 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:15:41,278.278 INFO    ] Checking for system updates...
[2026-08-29 00:15:41,298.298 INFO    ] 200
[2026-08-29 00:15:41,299.299 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:15:41,329.329 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:15:41,331.331 INFO    ] No update needed
[2026-08-29 00:15:41,332.332 INFO    ] Checking for camera pi updates...
[2026-08-29 00:15:41,354.354 INFO    ] 200
[2026-08-29 00:15:41,355.355 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:15:41,378.378 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:15:41,465.465 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:15:41,466.466 INFO    ] No camera update needed
[2026-08-29 00:15:41,467.467 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:15:41,468.468 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:15:41,471.471 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:15:41,474.474 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:15:43,517.517 INFO    ] ================================================
[2026-08-29 00:15:43,532.532 INFO    ] Launching Daemon at Sat Aug 29 00:15:43 IST 2026
[2026-08-29 00:15:43,543.543 INFO    ] ================================================
[2026-08-29 00:15:43,909.909 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:15:43
[2026-08-29 00:15:44,428.428 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:15:44,697.697 INFO    ] Initializing speech engine...
[2026-08-29 00:15:44,710.710 INFO    ] 2026-08-29 00:15:44
[2026-08-29 00:15:44,963.963 INFO    ] 2026-08-29 00:15:44
[2026-08-29 00:15:44,998.998 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:15:45,176.176 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:15:45,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:15:45,302.302 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:15:45,307.307 INFO    ] time= 29/08/2026 00:15:45
[2026-08-29 00:15:45,331.331 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:15:45,349.349 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:15:45,420.420 INFO    ] No existing commands found in stream
[2026-08-29 00:15:50,433.433 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:15:50,435.435 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-08-29 00:15:50,904.904 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:15:50,906.906 INFO    ] Checking for system updates...
[2026-08-29 00:15:50,926.926 INFO    ] 200
[2026-08-29 00:15:50,927.927 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:15:50,957.957 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:15:50,958.958 INFO    ] No update needed
[2026-08-29 00:15:50,960.960 INFO    ] Checking for camera pi updates...
[2026-08-29 00:15:50,983.983 INFO    ] 200
[2026-08-29 00:15:50,984.984 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:15:51,007.007 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:15:51,081.081 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:15:51,083.083 INFO    ] No camera update needed
[2026-08-29 00:15:51,084.084 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:15:51,085.085 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:15:51,088.088 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:15:51,090.090 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:15:53,129.129 INFO    ] ================================================
[2026-08-29 00:15:53,144.144 INFO    ] Launching Daemon at Sat Aug 29 00:15:53 IST 2026
[2026-08-29 00:15:53,155.155 INFO    ] ================================================
[2026-08-29 00:15:53,525.525 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:15:53
[2026-08-29 00:15:53,838.838 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:15:53,983.983 INFO    ] Initializing speech engine...
[2026-08-29 00:15:53,989.989 INFO    ] 2026-08-29 00:15:53
[2026-08-29 00:15:54,194.194 INFO    ] 2026-08-29 00:15:54
[2026-08-29 00:15:54,222.222 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:15:54,348.348 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:15:54,411.411 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:15:54,548.548 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:15:54,605.605 INFO    ] time= 29/08/2026 00:15:54
[2026-08-29 00:15:54,641.641 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:15:54,647.647 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:15:54,718.718 INFO    ] No existing commands found in stream
[2026-08-29 00:15:59,729.729 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:15:59,731.731 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-08-29 00:16:00,409.409 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:16:00,411.411 INFO    ] Checking for system updates...
[2026-08-29 00:16:00,431.431 INFO    ] 200
[2026-08-29 00:16:00,433.433 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:16:00,465.465 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:16:00,466.466 INFO    ] No update needed
[2026-08-29 00:16:00,467.467 INFO    ] Checking for camera pi updates...
[2026-08-29 00:16:00,488.488 INFO    ] 200
[2026-08-29 00:16:00,489.489 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:16:00,512.512 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:16:00,563.563 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:16:00,564.564 INFO    ] No camera update needed
[2026-08-29 00:16:00,566.566 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:16:00,567.567 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:16:00,570.570 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:16:00,573.573 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:16:02,613.613 INFO    ] ================================================
[2026-08-29 00:16:02,629.629 INFO    ] Launching Daemon at Sat Aug 29 00:16:02 IST 2026
[2026-08-29 00:16:02,643.643 INFO    ] ================================================
[2026-08-29 00:16:03,233.233 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:16:03
[2026-08-29 00:16:03,820.820 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:16:04,096.096 INFO    ] Initializing speech engine...
[2026-08-29 00:16:04,102.102 INFO    ] 2026-08-29 00:16:04
[2026-08-29 00:16:04,348.348 INFO    ] 2026-08-29 00:16:04
[2026-08-29 00:16:04,382.382 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:16:04,568.568 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:16:04,573.573 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:16:04,706.706 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:16:04,710.710 INFO    ] time= 29/08/2026 00:16:04
[2026-08-29 00:16:04,719.719 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:16:04,728.728 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:16:04,818.818 INFO    ] No existing commands found in stream
[2026-08-29 00:16:09,849.849 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:16:09,852.852 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-08-29 00:16:10,247.247 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:16:10,249.249 INFO    ] Checking for system updates...
[2026-08-29 00:16:10,269.269 INFO    ] 200
[2026-08-29 00:16:10,270.270 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:16:10,305.305 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:16:10,306.306 INFO    ] No update needed
[2026-08-29 00:16:10,308.308 INFO    ] Checking for camera pi updates...
[2026-08-29 00:16:10,327.327 INFO    ] 200
[2026-08-29 00:16:10,328.328 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:16:10,351.351 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:16:10,434.434 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:16:10,436.436 INFO    ] No camera update needed
[2026-08-29 00:16:10,437.437 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:16:10,438.438 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:16:10,441.441 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:16:10,444.444 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:16:12,478.478 INFO    ] ================================================
[2026-08-29 00:16:12,495.495 INFO    ] Launching Daemon at Sat Aug 29 00:16:12 IST 2026
[2026-08-29 00:16:12,507.507 INFO    ] ================================================
[2026-08-29 00:16:13,097.097 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:16:13
[2026-08-29 00:16:13,710.710 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:16:13,997.997 INFO    ] Initializing speech engine...
[2026-08-29 00:16:14,012.012 INFO    ] 2026-08-29 00:16:13
[2026-08-29 00:16:14,285.285 INFO    ] 2026-08-29 00:16:14
[2026-08-29 00:16:14,331.331 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:16:14,512.512 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:16:14,519.519 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:16:14,642.642 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:16:14,646.646 INFO    ] time= 29/08/2026 00:16:14
[2026-08-29 00:16:14,658.658 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:16:14,661.661 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:16:14,751.751 INFO    ] No existing commands found in stream
[2026-08-29 00:16:19,764.764 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:16:19,768.768 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-08-29 00:16:20,423.423 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:16:20,424.424 INFO    ] Checking for system updates...
[2026-08-29 00:16:20,445.445 INFO    ] 200
[2026-08-29 00:16:20,446.446 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:16:20,479.479 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:16:20,480.480 INFO    ] No update needed
[2026-08-29 00:16:20,482.482 INFO    ] Checking for camera pi updates...
[2026-08-29 00:16:20,501.501 INFO    ] 200
[2026-08-29 00:16:20,502.502 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:16:20,527.527 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:16:20,602.602 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:16:20,603.603 INFO    ] No camera update needed
[2026-08-29 00:16:20,604.604 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:16:20,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:16:20,608.608 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:16:20,612.612 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:16:22,651.651 INFO    ] ================================================
[2026-08-29 00:16:22,667.667 INFO    ] Launching Daemon at Sat Aug 29 00:16:22 IST 2026
[2026-08-29 00:16:22,678.678 INFO    ] ================================================
[2026-08-29 00:16:23,024.024 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:16:23
[2026-08-29 00:16:23,336.336 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:16:23,467.467 INFO    ] Initializing speech engine...
[2026-08-29 00:16:23,481.481 INFO    ] 2026-08-29 00:16:23
[2026-08-29 00:16:23,689.689 INFO    ] 2026-08-29 00:16:23
[2026-08-29 00:16:23,711.711 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:16:23,842.842 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:16:23,895.895 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:16:24,036.036 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:16:24,093.093 INFO    ] time= 29/08/2026 00:16:24
[2026-08-29 00:16:24,132.132 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:16:24,142.142 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:16:24,208.208 INFO    ] No existing commands found in stream
[2026-08-29 00:16:29,218.218 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:16:29,221.221 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 00:16:32,663.663 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:16:32,665.665 INFO    ] Checking for system updates...
[2026-08-29 00:16:32,685.685 INFO    ] 200
[2026-08-29 00:16:32,686.686 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:16:32,753.753 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:16:32,755.755 INFO    ] No update needed
[2026-08-29 00:16:32,758.758 INFO    ] Checking for camera pi updates...
[2026-08-29 00:16:32,795.795 INFO    ] 200
[2026-08-29 00:16:32,796.796 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:16:32,819.819 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:16:32,897.897 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:16:32,898.898 INFO    ] No camera update needed
[2026-08-29 00:16:32,899.899 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:16:32,900.900 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:16:32,903.903 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:16:32,906.906 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:16:34,944.944 INFO    ] ================================================
[2026-08-29 00:16:34,960.960 INFO    ] Launching Daemon at Sat Aug 29 00:16:34 IST 2026
[2026-08-29 00:16:34,971.971 INFO    ] ================================================
[2026-08-29 00:16:35,308.308 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:16:35
[2026-08-29 00:16:35,861.861 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:16:36,135.135 INFO    ] Initializing speech engine...
[2026-08-29 00:16:36,140.140 INFO    ] 2026-08-29 00:16:36
[2026-08-29 00:16:36,399.399 INFO    ] 2026-08-29 00:16:36
[2026-08-29 00:16:36,452.452 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:16:36,594.594 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:16:36,617.617 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:16:36,747.747 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:16:36,756.756 INFO    ] time= 29/08/2026 00:16:36
[2026-08-29 00:16:36,762.762 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:16:36,782.782 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:16:36,901.901 INFO    ] No existing commands found in stream
[2026-08-29 00:16:41,931.931 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:16:41,934.934 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-08-29 00:16:46,006.006 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:16:46,008.008 INFO    ] Checking for system updates...
[2026-08-29 00:16:46,031.031 INFO    ] 200
[2026-08-29 00:16:46,032.032 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:16:46,062.062 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:16:46,064.064 INFO    ] No update needed
[2026-08-29 00:16:46,065.065 INFO    ] Checking for camera pi updates...
[2026-08-29 00:16:46,085.085 INFO    ] 200
[2026-08-29 00:16:46,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:16:46,113.113 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:16:46,194.194 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:16:46,195.195 INFO    ] No camera update needed
[2026-08-29 00:16:46,197.197 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:16:46,198.198 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:16:46,201.201 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:16:46,204.204 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:16:48,243.243 INFO    ] ================================================
[2026-08-29 00:16:48,258.258 INFO    ] Launching Daemon at Sat Aug 29 00:16:48 IST 2026
[2026-08-29 00:16:48,270.270 INFO    ] ================================================
[2026-08-29 00:16:48,611.611 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:16:48
[2026-08-29 00:16:48,925.925 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:16:49,057.057 INFO    ] Initializing speech engine...
[2026-08-29 00:16:49,069.069 INFO    ] 2026-08-29 00:16:49
[2026-08-29 00:16:49,276.276 INFO    ] 2026-08-29 00:16:49
[2026-08-29 00:16:49,304.304 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:16:49,436.436 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:16:49,489.489 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:16:49,620.620 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:16:49,670.670 INFO    ] time= 29/08/2026 00:16:49
[2026-08-29 00:16:49,710.710 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:16:49,721.721 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:16:49,791.791 INFO    ] No existing commands found in stream
[2026-08-29 00:16:54,802.802 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:16:54,805.805 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 00:16:55,325.325 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:16:55,327.327 INFO    ] Checking for system updates...
[2026-08-29 00:16:55,347.347 INFO    ] 200
[2026-08-29 00:16:55,349.349 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:16:55,379.379 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:16:55,380.380 INFO    ] No update needed
[2026-08-29 00:16:55,381.381 INFO    ] Checking for camera pi updates...
[2026-08-29 00:16:55,402.402 INFO    ] 200
[2026-08-29 00:16:55,404.404 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:16:55,428.428 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:16:55,535.535 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:16:55,537.537 INFO    ] No camera update needed
[2026-08-29 00:16:55,538.538 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:16:55,539.539 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:16:55,542.542 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:16:55,545.545 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:16:57,585.585 INFO    ] ================================================
[2026-08-29 00:16:57,608.608 INFO    ] Launching Daemon at Sat Aug 29 00:16:57 IST 2026
[2026-08-29 00:16:57,618.618 INFO    ] ================================================
[2026-08-29 00:16:57,986.986 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:16:57
[2026-08-29 00:16:58,298.298 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:16:58,431.431 INFO    ] Initializing speech engine...
[2026-08-29 00:16:58,443.443 INFO    ] 2026-08-29 00:16:58
[2026-08-29 00:16:58,652.652 INFO    ] 2026-08-29 00:16:58
[2026-08-29 00:16:58,681.681 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:16:58,806.806 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:16:58,875.875 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:16:59,018.018 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:16:59,034.034 INFO    ] time= 29/08/2026 00:16:59
[2026-08-29 00:16:59,097.097 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:16:59,128.128 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:16:59,202.202 INFO    ] No existing commands found in stream
[2026-08-29 00:17:04,212.212 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:17:04,215.215 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-08-29 00:17:06,562.562 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:17:06,564.564 INFO    ] Checking for system updates...
[2026-08-29 00:17:06,600.600 INFO    ] 200
[2026-08-29 00:17:06,602.602 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:17:06,656.656 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:17:06,659.659 INFO    ] No update needed
[2026-08-29 00:17:06,662.662 INFO    ] Checking for camera pi updates...
[2026-08-29 00:17:06,710.710 INFO    ] 200
[2026-08-29 00:17:06,714.714 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:17:06,763.763 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:17:06,849.849 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:17:06,851.851 INFO    ] No camera update needed
[2026-08-29 00:17:06,853.853 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:17:06,856.856 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:17:06,861.861 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:17:06,866.866 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:17:08,908.908 INFO    ] ================================================
[2026-08-29 00:17:08,924.924 INFO    ] Launching Daemon at Sat Aug 29 00:17:08 IST 2026
[2026-08-29 00:17:08,935.935 INFO    ] ================================================
[2026-08-29 00:17:09,279.279 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:17:09
[2026-08-29 00:17:09,594.594 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:17:09,734.734 INFO    ] Initializing speech engine...
[2026-08-29 00:17:09,737.737 INFO    ] 2026-08-29 00:17:09
[2026-08-29 00:17:09,930.930 INFO    ] 2026-08-29 00:17:09
[2026-08-29 00:17:09,976.976 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:17:10,100.100 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:17:10,103.103 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:17:10,215.215 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:17:10,224.224 INFO    ] time= 29/08/2026 00:17:10
[2026-08-29 00:17:10,228.228 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:17:10,244.244 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:17:10,319.319 INFO    ] No existing commands found in stream
[2026-08-29 00:17:15,348.348 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:17:15,351.351 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-08-29 00:17:15,828.828 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:17:15,829.829 INFO    ] Checking for system updates...
[2026-08-29 00:17:15,852.852 INFO    ] 200
[2026-08-29 00:17:15,853.853 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:17:15,883.883 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:17:15,884.884 INFO    ] No update needed
[2026-08-29 00:17:15,886.886 INFO    ] Checking for camera pi updates...
[2026-08-29 00:17:15,905.905 INFO    ] 200
[2026-08-29 00:17:15,906.906 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:17:15,930.930 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:17:16,129.129 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:17:16,130.130 INFO    ] No camera update needed
[2026-08-29 00:17:16,132.132 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:17:16,133.133 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:17:16,137.137 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:17:16,140.140 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:17:18,183.183 INFO    ] ================================================
[2026-08-29 00:17:18,199.199 INFO    ] Launching Daemon at Sat Aug 29 00:17:18 IST 2026
[2026-08-29 00:17:18,210.210 INFO    ] ================================================
[2026-08-29 00:17:18,570.570 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:17:18
[2026-08-29 00:17:18,914.914 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:17:19,077.077 INFO    ] Initializing speech engine...
[2026-08-29 00:17:19,084.084 INFO    ] 2026-08-29 00:17:19
[2026-08-29 00:17:19,289.289 INFO    ] 2026-08-29 00:17:19
[2026-08-29 00:17:19,319.319 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:17:19,442.442 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:17:19,505.505 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:17:19,642.642 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:17:19,704.704 INFO    ] time= 29/08/2026 00:17:19
[2026-08-29 00:17:19,737.737 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:17:19,744.744 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:17:19,810.810 INFO    ] No existing commands found in stream
[2026-08-29 00:17:24,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:17:24,825.825 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-08-29 00:17:27,454.454 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:17:27,456.456 INFO    ] Checking for system updates...
[2026-08-29 00:17:27,478.478 INFO    ] 200
[2026-08-29 00:17:27,480.480 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:17:27,509.509 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:17:27,511.511 INFO    ] No update needed
[2026-08-29 00:17:27,512.512 INFO    ] Checking for camera pi updates...
[2026-08-29 00:17:27,535.535 INFO    ] 200
[2026-08-29 00:17:27,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:17:27,559.559 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:17:27,662.662 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:17:27,663.663 INFO    ] No camera update needed
[2026-08-29 00:17:27,665.665 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:17:27,666.666 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:17:27,669.669 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:17:27,671.671 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:17:29,710.710 INFO    ] ================================================
[2026-08-29 00:17:29,725.725 INFO    ] Launching Daemon at Sat Aug 29 00:17:29 IST 2026
[2026-08-29 00:17:29,736.736 INFO    ] ================================================
[2026-08-29 00:17:30,113.113 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:17:30
[2026-08-29 00:17:30,457.457 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:17:30,612.612 INFO    ] Initializing speech engine...
[2026-08-29 00:17:30,618.618 INFO    ] 2026-08-29 00:17:30
[2026-08-29 00:17:30,828.828 INFO    ] 2026-08-29 00:17:30
[2026-08-29 00:17:30,857.857 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:17:30,980.980 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:17:31,019.019 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:17:31,178.178 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:17:31,250.250 INFO    ] time= 29/08/2026 00:17:31
[2026-08-29 00:17:31,279.279 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:17:31,286.286 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:17:31,352.352 INFO    ] No existing commands found in stream
[2026-08-29 00:17:36,363.363 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:17:36,366.366 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-08-29 00:17:39,550.550 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:17:39,553.553 INFO    ] Checking for system updates...
[2026-08-29 00:17:39,577.577 INFO    ] 200
[2026-08-29 00:17:39,581.581 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:17:39,641.641 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:17:39,644.644 INFO    ] No update needed
[2026-08-29 00:17:39,647.647 INFO    ] Checking for camera pi updates...
[2026-08-29 00:17:39,685.685 INFO    ] 200
[2026-08-29 00:17:39,688.688 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:17:39,739.739 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:17:39,818.818 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:17:39,821.821 INFO    ] No camera update needed
[2026-08-29 00:17:39,824.824 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:17:39,826.826 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:17:39,833.833 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:17:39,839.839 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:17:41,883.883 INFO    ] ================================================
[2026-08-29 00:17:41,899.899 INFO    ] Launching Daemon at Sat Aug 29 00:17:41 IST 2026
[2026-08-29 00:17:41,909.909 INFO    ] ================================================
[2026-08-29 00:17:42,500.500 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:17:42
[2026-08-29 00:17:42,917.917 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:17:43,063.063 INFO    ] Initializing speech engine...
[2026-08-29 00:17:43,068.068 INFO    ] 2026-08-29 00:17:43
[2026-08-29 00:17:43,272.272 INFO    ] 2026-08-29 00:17:43
[2026-08-29 00:17:43,304.304 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:17:43,405.405 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:17:43,441.441 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:17:43,542.542 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:17:43,547.547 INFO    ] time= 29/08/2026 00:17:43
[2026-08-29 00:17:43,559.559 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:17:43,609.609 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:17:43,688.688 INFO    ] No existing commands found in stream
[2026-08-29 00:17:48,723.723 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:17:48,726.726 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-08-29 00:17:52,662.662 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:17:52,664.664 INFO    ] Checking for system updates...
[2026-08-29 00:17:52,685.685 INFO    ] 200
[2026-08-29 00:17:52,686.686 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:17:52,719.719 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:17:52,721.721 INFO    ] No update needed
[2026-08-29 00:17:52,722.722 INFO    ] Checking for camera pi updates...
[2026-08-29 00:17:52,741.741 INFO    ] 200
[2026-08-29 00:17:52,742.742 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:17:52,768.768 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:17:52,842.842 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:17:52,844.844 INFO    ] No camera update needed
[2026-08-29 00:17:52,845.845 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:17:52,846.846 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:17:52,849.849 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:17:52,852.852 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:17:54,892.892 INFO    ] ================================================
[2026-08-29 00:17:54,908.908 INFO    ] Launching Daemon at Sat Aug 29 00:17:54 IST 2026
[2026-08-29 00:17:54,919.919 INFO    ] ================================================
[2026-08-29 00:17:55,271.271 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:17:55
[2026-08-29 00:17:55,587.587 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:17:55,726.726 INFO    ] Initializing speech engine...
[2026-08-29 00:17:55,738.738 INFO    ] 2026-08-29 00:17:55
[2026-08-29 00:17:55,951.951 INFO    ] 2026-08-29 00:17:55
[2026-08-29 00:17:55,987.987 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:17:56,176.176 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:17:56,191.191 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:17:56,295.295 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:17:56,298.298 INFO    ] time= 29/08/2026 00:17:56
[2026-08-29 00:17:56,300.300 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:17:56,306.306 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:17:56,414.414 INFO    ] No existing commands found in stream
[2026-08-29 00:18:01,427.427 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:18:01,430.430 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-08-29 00:18:03,515.515 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:18:03,517.517 INFO    ] Checking for system updates...
[2026-08-29 00:18:03,553.553 INFO    ] 200
[2026-08-29 00:18:03,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:18:03,609.609 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:18:03,611.611 INFO    ] No update needed
[2026-08-29 00:18:03,614.614 INFO    ] Checking for camera pi updates...
[2026-08-29 00:18:03,648.648 INFO    ] 200
[2026-08-29 00:18:03,651.651 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:18:03,690.690 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:18:03,785.785 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:18:03,787.787 INFO    ] No camera update needed
[2026-08-29 00:18:03,789.789 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:18:03,792.792 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:18:03,797.797 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:18:03,802.802 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:18:05,844.844 INFO    ] ================================================
[2026-08-29 00:18:05,859.859 INFO    ] Launching Daemon at Sat Aug 29 00:18:05 IST 2026
[2026-08-29 00:18:05,869.869 INFO    ] ================================================
[2026-08-29 00:18:06,225.225 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:18:06
[2026-08-29 00:18:06,653.653 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:18:06,964.964 INFO    ] Initializing speech engine...
[2026-08-29 00:18:06,977.977 INFO    ] 2026-08-29 00:18:06
[2026-08-29 00:18:07,264.264 INFO    ] 2026-08-29 00:18:07
[2026-08-29 00:18:07,310.310 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:18:07,538.538 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:18:07,548.548 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:18:07,685.685 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:18:07,733.733 INFO    ] time= 29/08/2026 00:18:07
[2026-08-29 00:18:07,793.793 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:18:07,827.827 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:18:07,886.886 INFO    ] No existing commands found in stream
[2026-08-29 00:18:12,902.902 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:18:12,905.905 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-08-29 00:18:13,487.487 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:18:13,489.489 INFO    ] Checking for system updates...
[2026-08-29 00:18:13,510.510 INFO    ] 200
[2026-08-29 00:18:13,511.511 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:18:13,542.542 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:18:13,543.543 INFO    ] No update needed
[2026-08-29 00:18:13,545.545 INFO    ] Checking for camera pi updates...
[2026-08-29 00:18:13,564.564 INFO    ] 200
[2026-08-29 00:18:13,566.566 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:18:13,591.591 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:18:13,679.679 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:18:13,681.681 INFO    ] No camera update needed
[2026-08-29 00:18:13,682.682 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:18:13,683.683 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:18:13,686.686 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:18:13,689.689 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:18:15,727.727 INFO    ] ================================================
[2026-08-29 00:18:15,742.742 INFO    ] Launching Daemon at Sat Aug 29 00:18:15 IST 2026
[2026-08-29 00:18:15,753.753 INFO    ] ================================================
[2026-08-29 00:18:16,137.137 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:18:16
[2026-08-29 00:18:16,479.479 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:18:16,631.631 INFO    ] Initializing speech engine...
[2026-08-29 00:18:16,637.637 INFO    ] 2026-08-29 00:18:16
[2026-08-29 00:18:16,845.845 INFO    ] 2026-08-29 00:18:16
[2026-08-29 00:18:16,874.874 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:18:17,002.002 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:18:17,060.060 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:18:17,203.203 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:18:17,265.265 INFO    ] time= 29/08/2026 00:18:17
[2026-08-29 00:18:17,289.289 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:18:17,296.296 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:18:17,363.363 INFO    ] No existing commands found in stream
[2026-08-29 00:18:22,372.372 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:18:22,376.376 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-08-29 00:18:23,568.568 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:18:23,570.570 INFO    ] Checking for system updates...
[2026-08-29 00:18:23,591.591 INFO    ] 200
[2026-08-29 00:18:23,593.593 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:18:23,623.623 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:18:23,625.625 INFO    ] No update needed
[2026-08-29 00:18:23,626.626 INFO    ] Checking for camera pi updates...
[2026-08-29 00:18:23,649.649 INFO    ] 200
[2026-08-29 00:18:23,650.650 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:18:23,674.674 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:18:23,775.775 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:18:23,776.776 INFO    ] No camera update needed
[2026-08-29 00:18:23,777.777 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:18:23,779.779 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:18:23,781.781 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:18:23,784.784 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:18:25,824.824 INFO    ] ================================================
[2026-08-29 00:18:25,839.839 INFO    ] Launching Daemon at Sat Aug 29 00:18:25 IST 2026
[2026-08-29 00:18:25,850.850 INFO    ] ================================================
[2026-08-29 00:18:26,209.209 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:18:26
[2026-08-29 00:18:26,521.521 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:18:26,651.651 INFO    ] Initializing speech engine...
[2026-08-29 00:18:26,656.656 INFO    ] 2026-08-29 00:18:26
[2026-08-29 00:18:26,876.876 INFO    ] 2026-08-29 00:18:26
[2026-08-29 00:18:26,905.905 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:18:27,033.033 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:18:27,086.086 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:18:27,229.229 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:18:27,285.285 INFO    ] time= 29/08/2026 00:18:27
[2026-08-29 00:18:27,325.325 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:18:27,331.331 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:18:27,402.402 INFO    ] No existing commands found in stream
[2026-08-29 00:18:32,411.411 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:18:32,413.413 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-08-29 00:18:35,158.158 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:18:35,161.161 INFO    ] Checking for system updates...
[2026-08-29 00:18:35,197.197 INFO    ] 200
[2026-08-29 00:18:35,199.199 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:18:35,251.251 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:18:35,254.254 INFO    ] No update needed
[2026-08-29 00:18:35,256.256 INFO    ] Checking for camera pi updates...
[2026-08-29 00:18:35,290.290 INFO    ] 200
[2026-08-29 00:18:35,293.293 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:18:35,334.334 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:18:35,434.434 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:18:35,436.436 INFO    ] No camera update needed
[2026-08-29 00:18:35,438.438 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:18:35,441.441 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:18:35,446.446 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:18:35,451.451 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:18:37,494.494 INFO    ] ================================================
[2026-08-29 00:18:37,510.510 INFO    ] Launching Daemon at Sat Aug 29 00:18:37 IST 2026
[2026-08-29 00:18:37,521.521 INFO    ] ================================================
[2026-08-29 00:18:37,867.867 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:18:37
[2026-08-29 00:18:38,204.204 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:18:38,345.345 INFO    ] Initializing speech engine...
[2026-08-29 00:18:38,358.358 INFO    ] 2026-08-29 00:18:38
[2026-08-29 00:18:38,571.571 INFO    ] 2026-08-29 00:18:38
[2026-08-29 00:18:38,600.600 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:18:38,725.725 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:18:38,788.788 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:18:38,948.948 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:18:38,995.995 INFO    ] time= 29/08/2026 00:18:38
[2026-08-29 00:18:39,063.063 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:18:39,128.128 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:18:39,191.191 INFO    ] No existing commands found in stream
[2026-08-29 00:18:44,202.202 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:18:44,205.205 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-08-29 00:18:48,502.502 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:18:48,503.503 INFO    ] Checking for system updates...
[2026-08-29 00:18:48,523.523 INFO    ] 200
[2026-08-29 00:18:48,525.525 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:18:48,555.555 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:18:48,556.556 INFO    ] No update needed
[2026-08-29 00:18:48,557.557 INFO    ] Checking for camera pi updates...
[2026-08-29 00:18:48,577.577 INFO    ] 200
[2026-08-29 00:18:48,578.578 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:18:48,601.601 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:18:48,691.691 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:18:48,692.692 INFO    ] No camera update needed
[2026-08-29 00:18:48,694.694 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:18:48,695.695 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:18:48,698.698 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:18:48,700.700 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:18:50,739.739 INFO    ] ================================================
[2026-08-29 00:18:50,755.755 INFO    ] Launching Daemon at Sat Aug 29 00:18:50 IST 2026
[2026-08-29 00:18:50,766.766 INFO    ] ================================================
[2026-08-29 00:18:51,373.373 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:18:51
[2026-08-29 00:18:52,057.057 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:18:52,367.367 INFO    ] Initializing speech engine...
[2026-08-29 00:18:52,380.380 INFO    ] 2026-08-29 00:18:52
[2026-08-29 00:18:52,696.696 INFO    ] 2026-08-29 00:18:52
[2026-08-29 00:18:52,779.779 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:18:52,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:18:52,939.939 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:18:53,072.072 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:18:53,079.079 INFO    ] time= 29/08/2026 00:18:53
[2026-08-29 00:18:53,149.149 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:18:53,204.204 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:18:53,261.261 INFO    ] No existing commands found in stream
[2026-08-29 00:18:58,274.274 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:18:58,277.277 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-08-29 00:19:01,815.815 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:19:01,819.819 INFO    ] Checking for system updates...
[2026-08-29 00:19:01,883.883 INFO    ] 200
[2026-08-29 00:19:01,887.887 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:19:01,981.981 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:19:01,984.984 INFO    ] No update needed
[2026-08-29 00:19:01,987.987 INFO    ] Checking for camera pi updates...
[2026-08-29 00:19:02,025.025 INFO    ] 200
[2026-08-29 00:19:02,028.028 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:19:02,074.074 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:19:02,236.236 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:19:02,239.239 INFO    ] No camera update needed
[2026-08-29 00:19:02,243.243 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:19:02,246.246 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:19:02,253.253 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:19:02,259.259 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:19:04,304.304 INFO    ] ================================================
[2026-08-29 00:19:04,320.320 INFO    ] Launching Daemon at Sat Aug 29 00:19:04 IST 2026
[2026-08-29 00:19:04,332.332 INFO    ] ================================================
[2026-08-29 00:19:04,813.813 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:19:04
[2026-08-29 00:19:05,365.365 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:19:05,684.684 INFO    ] Initializing speech engine...
[2026-08-29 00:19:05,694.694 INFO    ] 2026-08-29 00:19:05
[2026-08-29 00:19:06,006.006 INFO    ] 2026-08-29 00:19:05
[2026-08-29 00:19:06,092.092 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:19:06,248.248 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:19:06,254.254 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:19:06,387.387 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:19:06,391.391 INFO    ] time= 29/08/2026 00:19:06
[2026-08-29 00:19:06,429.429 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:19:06,477.477 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:19:06,565.565 INFO    ] No existing commands found in stream
[2026-08-29 00:19:11,577.577 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:19:11,580.580 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-08-29 00:19:13,325.325 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:19:13,327.327 INFO    ] Checking for system updates...
[2026-08-29 00:19:13,347.347 INFO    ] 200
[2026-08-29 00:19:13,349.349 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:19:13,382.382 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:19:13,383.383 INFO    ] No update needed
[2026-08-29 00:19:13,385.385 INFO    ] Checking for camera pi updates...
[2026-08-29 00:19:13,405.405 INFO    ] 200
[2026-08-29 00:19:13,406.406 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:19:13,429.429 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:19:13,538.538 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:19:13,540.540 INFO    ] No camera update needed
[2026-08-29 00:19:13,541.541 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:19:13,543.543 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:19:13,546.546 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:19:13,549.549 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:19:15,589.589 INFO    ] ================================================
[2026-08-29 00:19:15,605.605 INFO    ] Launching Daemon at Sat Aug 29 00:19:15 IST 2026
[2026-08-29 00:19:15,617.617 INFO    ] ================================================
[2026-08-29 00:19:15,990.990 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:19:15
[2026-08-29 00:19:16,308.308 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:19:16,445.445 INFO    ] Initializing speech engine...
[2026-08-29 00:19:16,452.452 INFO    ] 2026-08-29 00:19:16
[2026-08-29 00:19:16,665.665 INFO    ] 2026-08-29 00:19:16
[2026-08-29 00:19:16,694.694 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:19:16,814.814 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:19:16,848.848 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:19:16,987.987 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:19:17,019.019 INFO    ] time= 29/08/2026 00:19:16
[2026-08-29 00:19:17,073.073 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:19:17,107.107 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:19:17,183.183 INFO    ] No existing commands found in stream
[2026-08-29 00:19:22,192.192 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:19:22,195.195 INFO    ] Waiting 2.66 seconds before fallback handling...
[2026-08-29 00:19:25,192.192 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:19:25,194.194 INFO    ] Checking for system updates...
[2026-08-29 00:19:25,214.214 INFO    ] 200
[2026-08-29 00:19:25,215.215 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:19:25,246.246 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:19:25,247.247 INFO    ] No update needed
[2026-08-29 00:19:25,248.248 INFO    ] Checking for camera pi updates...
[2026-08-29 00:19:25,283.283 INFO    ] 200
[2026-08-29 00:19:25,285.285 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:19:25,326.326 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:19:25,510.510 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:19:25,512.512 INFO    ] No camera update needed
[2026-08-29 00:19:25,515.515 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:19:25,517.517 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:19:25,522.522 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:19:25,527.527 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:19:27,569.569 INFO    ] ================================================
[2026-08-29 00:19:27,585.585 INFO    ] Launching Daemon at Sat Aug 29 00:19:27 IST 2026
[2026-08-29 00:19:27,597.597 INFO    ] ================================================
[2026-08-29 00:19:28,186.186 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:19:28
[2026-08-29 00:19:28,593.593 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:19:28,729.729 INFO    ] Initializing speech engine...
[2026-08-29 00:19:28,737.737 INFO    ] 2026-08-29 00:19:28
[2026-08-29 00:19:28,941.941 INFO    ] 2026-08-29 00:19:28
[2026-08-29 00:19:28,970.970 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:19:29,092.092 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:19:29,130.130 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:19:29,296.296 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:19:29,360.360 INFO    ] time= 29/08/2026 00:19:29
[2026-08-29 00:19:29,386.386 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:19:29,388.388 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:19:29,458.458 INFO    ] No existing commands found in stream
[2026-08-29 00:19:34,469.469 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:19:34,472.472 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-08-29 00:19:37,483.483 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:19:37,484.484 INFO    ] Checking for system updates...
[2026-08-29 00:19:37,505.505 INFO    ] 200
[2026-08-29 00:19:37,506.506 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:19:37,539.539 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:19:37,540.540 INFO    ] No update needed
[2026-08-29 00:19:37,541.541 INFO    ] Checking for camera pi updates...
[2026-08-29 00:19:37,561.561 INFO    ] 200
[2026-08-29 00:19:37,562.562 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:19:37,586.586 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:19:37,658.658 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:19:37,659.659 INFO    ] No camera update needed
[2026-08-29 00:19:37,661.661 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:19:37,662.662 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:19:37,665.665 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:19:37,668.668 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:19:39,706.706 INFO    ] ================================================
[2026-08-29 00:19:39,722.722 INFO    ] Launching Daemon at Sat Aug 29 00:19:39 IST 2026
[2026-08-29 00:19:39,733.733 INFO    ] ================================================
[2026-08-29 00:19:40,093.093 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:19:40
[2026-08-29 00:19:40,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:19:40,596.596 INFO    ] Initializing speech engine...
[2026-08-29 00:19:40,602.602 INFO    ] 2026-08-29 00:19:40
[2026-08-29 00:19:40,810.810 INFO    ] 2026-08-29 00:19:40
[2026-08-29 00:19:40,839.839 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:19:40,972.972 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:19:41,025.025 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:19:41,167.167 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:19:41,226.226 INFO    ] time= 29/08/2026 00:19:41
[2026-08-29 00:19:41,254.254 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:19:41,261.261 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:19:41,328.328 INFO    ] No existing commands found in stream
[2026-08-29 00:19:46,342.342 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:19:46,346.346 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-08-29 00:19:48,637.637 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:19:48,638.638 INFO    ] Checking for system updates...
[2026-08-29 00:19:48,659.659 INFO    ] 200
[2026-08-29 00:19:48,660.660 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:19:48,692.692 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:19:48,693.693 INFO    ] No update needed
[2026-08-29 00:19:48,694.694 INFO    ] Checking for camera pi updates...
[2026-08-29 00:19:48,714.714 INFO    ] 200
[2026-08-29 00:19:48,715.715 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:19:48,738.738 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:19:48,815.815 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:19:48,816.816 INFO    ] No camera update needed
[2026-08-29 00:19:48,818.818 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:19:48,819.819 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:19:48,822.822 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:19:48,824.824 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:19:50,865.865 INFO    ] ================================================
[2026-08-29 00:19:50,880.880 INFO    ] Launching Daemon at Sat Aug 29 00:19:50 IST 2026
[2026-08-29 00:19:50,890.890 INFO    ] ================================================
[2026-08-29 00:19:51,243.243 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:19:51
[2026-08-29 00:19:51,561.561 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:19:51,706.706 INFO    ] Initializing speech engine...
[2026-08-29 00:19:51,711.711 INFO    ] 2026-08-29 00:19:51
[2026-08-29 00:19:51,915.915 INFO    ] 2026-08-29 00:19:51
[2026-08-29 00:19:51,944.944 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:19:52,067.067 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:19:52,125.125 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:19:52,260.260 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:19:52,317.317 INFO    ] time= 29/08/2026 00:19:52
[2026-08-29 00:19:52,356.356 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:19:52,361.361 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:19:52,434.434 INFO    ] No existing commands found in stream
[2026-08-29 00:19:57,443.443 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:19:57,446.446 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-08-29 00:19:59,161.161 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:19:59,163.163 INFO    ] Checking for system updates...
[2026-08-29 00:19:59,188.188 INFO    ] 200
[2026-08-29 00:19:59,189.189 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:19:59,229.229 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:19:59,230.230 INFO    ] No update needed
[2026-08-29 00:19:59,231.231 INFO    ] Checking for camera pi updates...
[2026-08-29 00:19:59,258.258 INFO    ] 200
[2026-08-29 00:19:59,260.260 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:19:59,286.286 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:19:59,365.365 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:19:59,366.366 INFO    ] No camera update needed
[2026-08-29 00:19:59,367.367 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:19:59,368.368 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:19:59,371.371 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:19:59,374.374 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:20:01,430.430 INFO    ] ================================================
[2026-08-29 00:20:01,453.453 INFO    ] Launching Daemon at Sat Aug 29 00:20:01 IST 2026
[2026-08-29 00:20:01,511.511 INFO    ] ================================================
[2026-08-29 00:20:02,451.451 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:20:02
[2026-08-29 00:20:03,141.141 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:20:03,583.583 INFO    ] Initializing speech engine...
[2026-08-29 00:20:03,590.590 INFO    ] 2026-08-29 00:20:03
[2026-08-29 00:20:03,876.876 INFO    ] 2026-08-29 00:20:03
[2026-08-29 00:20:03,913.913 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:20:04,080.080 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:20:04,094.094 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:20:04,235.235 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:20:04,244.244 INFO    ] time= 29/08/2026 00:20:04
[2026-08-29 00:20:04,253.253 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:20:04,315.315 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:20:04,422.422 INFO    ] No existing commands found in stream
[2026-08-29 00:20:09,453.453 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:20:09,456.456 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 00:20:11,477.477 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:20:11,479.479 INFO    ] Checking for system updates...
[2026-08-29 00:20:11,500.500 INFO    ] 200
[2026-08-29 00:20:11,501.501 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:20:11,532.532 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:20:11,533.533 INFO    ] No update needed
[2026-08-29 00:20:11,534.534 INFO    ] Checking for camera pi updates...
[2026-08-29 00:20:11,554.554 INFO    ] 200
[2026-08-29 00:20:11,555.555 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:20:11,578.578 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:20:11,667.667 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:20:11,668.668 INFO    ] No camera update needed
[2026-08-29 00:20:11,670.670 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:20:11,671.671 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:20:11,674.674 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:20:11,677.677 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:20:13,716.716 INFO    ] ================================================
[2026-08-29 00:20:13,731.731 INFO    ] Launching Daemon at Sat Aug 29 00:20:13 IST 2026
[2026-08-29 00:20:13,742.742 INFO    ] ================================================
[2026-08-29 00:20:14,098.098 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:20:14
[2026-08-29 00:20:14,433.433 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:20:14,578.578 INFO    ] Initializing speech engine...
[2026-08-29 00:20:14,589.589 INFO    ] 2026-08-29 00:20:14
[2026-08-29 00:20:14,799.799 INFO    ] 2026-08-29 00:20:14
[2026-08-29 00:20:14,828.828 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:20:14,957.957 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:20:15,020.020 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:20:15,157.157 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:20:15,219.219 INFO    ] time= 29/08/2026 00:20:15
[2026-08-29 00:20:15,250.250 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:20:15,252.252 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:20:15,313.313 INFO    ] No existing commands found in stream
[2026-08-29 00:20:20,337.337 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:20:20,340.340 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-08-29 00:20:20,989.989 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:20:20,991.991 INFO    ] Checking for system updates...
[2026-08-29 00:20:21,013.013 INFO    ] 200
[2026-08-29 00:20:21,014.014 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:20:21,045.045 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:20:21,046.046 INFO    ] No update needed
[2026-08-29 00:20:21,048.048 INFO    ] Checking for camera pi updates...
[2026-08-29 00:20:21,067.067 INFO    ] 200
[2026-08-29 00:20:21,068.068 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:20:21,091.091 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:20:21,187.187 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:20:21,188.188 INFO    ] No camera update needed
[2026-08-29 00:20:21,189.189 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:20:21,191.191 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:20:21,194.194 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:20:21,197.197 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:20:23,236.236 INFO    ] ================================================
[2026-08-29 00:20:23,252.252 INFO    ] Launching Daemon at Sat Aug 29 00:20:23 IST 2026
[2026-08-29 00:20:23,263.263 INFO    ] ================================================
[2026-08-29 00:20:23,618.618 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:20:23
[2026-08-29 00:20:23,952.952 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:20:24,105.105 INFO    ] Initializing speech engine...
[2026-08-29 00:20:24,110.110 INFO    ] 2026-08-29 00:20:24
[2026-08-29 00:20:24,316.316 INFO    ] 2026-08-29 00:20:24
[2026-08-29 00:20:24,344.344 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:20:24,477.477 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:20:24,531.531 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:20:24,669.669 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:20:24,728.728 INFO    ] time= 29/08/2026 00:20:24
[2026-08-29 00:20:24,746.746 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:20:24,769.769 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:20:24,844.844 INFO    ] No existing commands found in stream
[2026-08-29 00:20:29,854.854 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:20:29,857.857 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-08-29 00:20:31,377.377 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:20:31,378.378 INFO    ] Checking for system updates...
[2026-08-29 00:20:31,399.399 INFO    ] 200
[2026-08-29 00:20:31,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:20:31,432.432 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:20:31,434.434 INFO    ] No update needed
[2026-08-29 00:20:31,435.435 INFO    ] Checking for camera pi updates...
[2026-08-29 00:20:31,456.456 INFO    ] 200
[2026-08-29 00:20:31,458.458 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:20:31,481.481 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:20:31,579.579 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:20:31,580.580 INFO    ] No camera update needed
[2026-08-29 00:20:31,582.582 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:20:31,583.583 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:20:31,586.586 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:20:31,589.589 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:20:33,620.620 INFO    ] ================================================
[2026-08-29 00:20:33,635.635 INFO    ] Launching Daemon at Sat Aug 29 00:20:33 IST 2026
[2026-08-29 00:20:33,646.646 INFO    ] ================================================
[2026-08-29 00:20:33,987.987 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:20:33
[2026-08-29 00:20:34,300.300 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:20:34,435.435 INFO    ] Initializing speech engine...
[2026-08-29 00:20:34,448.448 INFO    ] 2026-08-29 00:20:34
[2026-08-29 00:20:34,665.665 INFO    ] 2026-08-29 00:20:34
[2026-08-29 00:20:34,696.696 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:20:34,829.829 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:20:34,887.887 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:20:35,037.037 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:20:35,074.074 INFO    ] time= 29/08/2026 00:20:35
[2026-08-29 00:20:35,121.121 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:20:35,145.145 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:20:35,222.222 INFO    ] No existing commands found in stream
[2026-08-29 00:20:40,231.231 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:20:40,234.234 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 00:20:43,679.679 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:20:43,680.680 INFO    ] Checking for system updates...
[2026-08-29 00:20:43,700.700 INFO    ] 200
[2026-08-29 00:20:43,702.702 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:20:43,735.735 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:20:43,736.736 INFO    ] No update needed
[2026-08-29 00:20:43,737.737 INFO    ] Checking for camera pi updates...
[2026-08-29 00:20:43,756.756 INFO    ] 200
[2026-08-29 00:20:43,757.757 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:20:43,780.780 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:20:43,862.862 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:20:43,863.863 INFO    ] No camera update needed
[2026-08-29 00:20:43,865.865 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:20:43,866.866 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:20:43,869.869 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:20:43,871.871 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:20:45,910.910 INFO    ] ================================================
[2026-08-29 00:20:45,926.926 INFO    ] Launching Daemon at Sat Aug 29 00:20:45 IST 2026
[2026-08-29 00:20:45,936.936 INFO    ] ================================================
[2026-08-29 00:20:46,281.281 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:20:46
[2026-08-29 00:20:46,593.593 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:20:46,725.725 INFO    ] Initializing speech engine...
[2026-08-29 00:20:46,728.728 INFO    ] 2026-08-29 00:20:46
[2026-08-29 00:20:46,957.957 INFO    ] 2026-08-29 00:20:46
[2026-08-29 00:20:46,987.987 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:20:47,090.090 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:20:47,119.119 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:20:47,218.218 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:20:47,224.224 INFO    ] time= 29/08/2026 00:20:47
[2026-08-29 00:20:47,273.273 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:20:47,312.312 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:20:47,431.431 INFO    ] No existing commands found in stream
[2026-08-29 00:20:52,445.445 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:20:52,447.447 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-08-29 00:20:56,082.082 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:20:56,083.083 INFO    ] Checking for system updates...
[2026-08-29 00:20:56,104.104 INFO    ] 200
[2026-08-29 00:20:56,105.105 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:20:56,135.135 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:20:56,136.136 INFO    ] No update needed
[2026-08-29 00:20:56,138.138 INFO    ] Checking for camera pi updates...
[2026-08-29 00:20:56,158.158 INFO    ] 200
[2026-08-29 00:20:56,159.159 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:20:56,182.182 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:20:56,267.267 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:20:56,268.268 INFO    ] No camera update needed
[2026-08-29 00:20:56,270.270 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:20:56,271.271 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:20:56,274.274 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:20:56,277.277 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:20:58,315.315 INFO    ] ================================================
[2026-08-29 00:20:58,330.330 INFO    ] Launching Daemon at Sat Aug 29 00:20:58 IST 2026
[2026-08-29 00:20:58,341.341 INFO    ] ================================================
[2026-08-29 00:20:58,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:20:58
[2026-08-29 00:20:59,008.008 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:20:59,146.146 INFO    ] Initializing speech engine...
[2026-08-29 00:20:59,156.156 INFO    ] 2026-08-29 00:20:59
[2026-08-29 00:20:59,360.360 INFO    ] 2026-08-29 00:20:59
[2026-08-29 00:20:59,389.389 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:20:59,511.511 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:20:59,549.549 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:20:59,703.703 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:20:59,758.758 INFO    ] time= 29/08/2026 00:20:59
[2026-08-29 00:20:59,799.799 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:20:59,805.805 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:20:59,877.877 INFO    ] No existing commands found in stream
[2026-08-29 00:21:04,910.910 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:21:04,922.922 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-08-29 00:21:08,248.248 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:21:08,250.250 INFO    ] Checking for system updates...
[2026-08-29 00:21:08,270.270 INFO    ] 200
[2026-08-29 00:21:08,271.271 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:21:08,302.302 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:21:08,303.303 INFO    ] No update needed
[2026-08-29 00:21:08,304.304 INFO    ] Checking for camera pi updates...
[2026-08-29 00:21:08,325.325 INFO    ] 200
[2026-08-29 00:21:08,327.327 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:21:08,349.349 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:21:08,444.444 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:21:08,445.445 INFO    ] No camera update needed
[2026-08-29 00:21:08,446.446 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:21:08,448.448 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:21:08,450.450 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:21:08,453.453 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:21:10,493.493 INFO    ] ================================================
[2026-08-29 00:21:10,508.508 INFO    ] Launching Daemon at Sat Aug 29 00:21:10 IST 2026
[2026-08-29 00:21:10,518.518 INFO    ] ================================================
[2026-08-29 00:21:10,881.881 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:21:10
[2026-08-29 00:21:11,199.199 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:21:11,338.338 INFO    ] Initializing speech engine...
[2026-08-29 00:21:11,345.345 INFO    ] 2026-08-29 00:21:11
[2026-08-29 00:21:11,575.575 INFO    ] 2026-08-29 00:21:11
[2026-08-29 00:21:11,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:21:11,737.737 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:21:11,755.755 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:21:11,868.868 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:21:11,870.870 INFO    ] time= 29/08/2026 00:21:11
[2026-08-29 00:21:11,895.895 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:21:11,945.945 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:21:12,021.021 INFO    ] No existing commands found in stream
[2026-08-29 00:21:17,050.050 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:21:17,053.053 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-08-29 00:21:18,332.332 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:21:18,334.334 INFO    ] Checking for system updates...
[2026-08-29 00:21:18,354.354 INFO    ] 200
[2026-08-29 00:21:18,355.355 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:21:18,385.385 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:21:18,386.386 INFO    ] No update needed
[2026-08-29 00:21:18,388.388 INFO    ] Checking for camera pi updates...
[2026-08-29 00:21:18,407.407 INFO    ] 200
[2026-08-29 00:21:18,408.408 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:21:18,434.434 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:21:18,515.515 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:21:18,516.516 INFO    ] No camera update needed
[2026-08-29 00:21:18,517.517 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:21:18,519.519 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:21:18,522.522 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:21:18,524.524 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:21:20,564.564 INFO    ] ================================================
[2026-08-29 00:21:20,580.580 INFO    ] Launching Daemon at Sat Aug 29 00:21:20 IST 2026
[2026-08-29 00:21:20,591.591 INFO    ] ================================================
[2026-08-29 00:21:20,943.943 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:21:20
[2026-08-29 00:21:21,260.260 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:21:21,404.404 INFO    ] Initializing speech engine...
[2026-08-29 00:21:21,411.411 INFO    ] 2026-08-29 00:21:21
[2026-08-29 00:21:21,613.613 INFO    ] 2026-08-29 00:21:21
[2026-08-29 00:21:21,643.643 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:21:21,779.779 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:21:21,827.827 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:21:21,963.963 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:21:22,027.027 INFO    ] time= 29/08/2026 00:21:21
[2026-08-29 00:21:22,054.054 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:21:22,061.061 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:21:22,127.127 INFO    ] No existing commands found in stream
[2026-08-29 00:21:27,136.136 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:21:27,139.139 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-08-29 00:21:28,209.209 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:21:28,211.211 INFO    ] Checking for system updates...
[2026-08-29 00:21:28,232.232 INFO    ] 200
[2026-08-29 00:21:28,233.233 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:21:28,263.263 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:21:28,265.265 INFO    ] No update needed
[2026-08-29 00:21:28,266.266 INFO    ] Checking for camera pi updates...
[2026-08-29 00:21:28,285.285 INFO    ] 200
[2026-08-29 00:21:28,286.286 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:21:28,311.311 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:21:28,484.484 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:21:28,486.486 INFO    ] No camera update needed
[2026-08-29 00:21:28,487.487 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:21:28,488.488 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:21:28,491.491 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:21:28,494.494 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:21:30,533.533 INFO    ] ================================================
[2026-08-29 00:21:30,548.548 INFO    ] Launching Daemon at Sat Aug 29 00:21:30 IST 2026
[2026-08-29 00:21:30,559.559 INFO    ] ================================================
[2026-08-29 00:21:30,899.899 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:21:30
[2026-08-29 00:21:31,210.210 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:21:31,352.352 INFO    ] Initializing speech engine...
[2026-08-29 00:21:31,357.357 INFO    ] 2026-08-29 00:21:31
[2026-08-29 00:21:31,560.560 INFO    ] 2026-08-29 00:21:31
[2026-08-29 00:21:31,588.588 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:21:31,710.710 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:21:31,774.774 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:21:31,911.911 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:21:31,971.971 INFO    ] time= 29/08/2026 00:21:31
[2026-08-29 00:21:32,017.017 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:21:32,064.064 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:21:32,183.183 INFO    ] No existing commands found in stream
[2026-08-29 00:21:37,214.214 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:21:37,216.216 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-08-29 00:21:40,258.258 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:21:40,259.259 INFO    ] Checking for system updates...
[2026-08-29 00:21:40,279.279 INFO    ] 200
[2026-08-29 00:21:40,281.281 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:21:40,310.310 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:21:40,312.312 INFO    ] No update needed
[2026-08-29 00:21:40,313.313 INFO    ] Checking for camera pi updates...
[2026-08-29 00:21:40,334.334 INFO    ] 200
[2026-08-29 00:21:40,335.335 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:21:40,359.359 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:21:40,430.430 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:21:40,431.431 INFO    ] No camera update needed
[2026-08-29 00:21:40,432.432 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:21:40,434.434 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:21:40,436.436 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:21:40,439.439 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:21:42,479.479 INFO    ] ================================================
[2026-08-29 00:21:42,495.495 INFO    ] Launching Daemon at Sat Aug 29 00:21:42 IST 2026
[2026-08-29 00:21:42,506.506 INFO    ] ================================================
[2026-08-29 00:21:42,881.881 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:21:42
[2026-08-29 00:21:43,198.198 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:21:43,342.342 INFO    ] Initializing speech engine...
[2026-08-29 00:21:43,347.347 INFO    ] 2026-08-29 00:21:43
[2026-08-29 00:21:43,550.550 INFO    ] 2026-08-29 00:21:43
[2026-08-29 00:21:43,580.580 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:21:43,703.703 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:21:43,765.765 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:21:43,900.900 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:21:43,958.958 INFO    ] time= 29/08/2026 00:21:43
[2026-08-29 00:21:43,987.987 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:21:43,997.997 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:21:44,069.069 INFO    ] No existing commands found in stream
[2026-08-29 00:21:49,078.078 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:21:49,081.081 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-08-29 00:21:49,686.686 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:21:49,688.688 INFO    ] Checking for system updates...
[2026-08-29 00:21:49,708.708 INFO    ] 200
[2026-08-29 00:21:49,709.709 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:21:49,741.741 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:21:49,743.743 INFO    ] No update needed
[2026-08-29 00:21:49,744.744 INFO    ] Checking for camera pi updates...
[2026-08-29 00:21:49,764.764 INFO    ] 200
[2026-08-29 00:21:49,765.765 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:21:49,788.788 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:21:49,868.868 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:21:49,869.869 INFO    ] No camera update needed
[2026-08-29 00:21:49,870.870 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:21:49,872.872 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:21:49,876.876 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:21:49,879.879 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:21:51,917.917 INFO    ] ================================================
[2026-08-29 00:21:51,933.933 INFO    ] Launching Daemon at Sat Aug 29 00:21:51 IST 2026
[2026-08-29 00:21:51,945.945 INFO    ] ================================================
[2026-08-29 00:21:52,310.310 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:21:52
[2026-08-29 00:21:52,623.623 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:21:52,762.762 INFO    ] Initializing speech engine...
[2026-08-29 00:21:52,772.772 INFO    ] 2026-08-29 00:21:52
[2026-08-29 00:21:52,979.979 INFO    ] 2026-08-29 00:21:52
[2026-08-29 00:21:53,008.008 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:21:53,131.131 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:21:53,189.189 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:21:53,327.327 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:21:53,383.383 INFO    ] time= 29/08/2026 00:21:53
[2026-08-29 00:21:53,418.418 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:21:53,429.429 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:21:53,500.500 INFO    ] No existing commands found in stream
[2026-08-29 00:21:58,511.511 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:21:58,514.514 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 00:22:01,169.169 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:22:01,171.171 INFO    ] Checking for system updates...
[2026-08-29 00:22:01,191.191 INFO    ] 200
[2026-08-29 00:22:01,193.193 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:22:01,222.222 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:22:01,224.224 INFO    ] No update needed
[2026-08-29 00:22:01,225.225 INFO    ] Checking for camera pi updates...
[2026-08-29 00:22:01,244.244 INFO    ] 200
[2026-08-29 00:22:01,246.246 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:22:01,268.268 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:22:01,361.361 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:22:01,363.363 INFO    ] No camera update needed
[2026-08-29 00:22:01,364.364 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:22:01,365.365 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:22:01,368.368 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:22:01,371.371 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:22:03,415.415 INFO    ] ================================================
[2026-08-29 00:22:03,431.431 INFO    ] Launching Daemon at Sat Aug 29 00:22:03 IST 2026
[2026-08-29 00:22:03,442.442 INFO    ] ================================================
[2026-08-29 00:22:04,105.105 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:22:04
[2026-08-29 00:22:04,787.787 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:22:05,014.014 INFO    ] Initializing speech engine...
[2026-08-29 00:22:05,019.019 INFO    ] 2026-08-29 00:22:05
[2026-08-29 00:22:05,226.226 INFO    ] 2026-08-29 00:22:05
[2026-08-29 00:22:05,273.273 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:22:05,438.438 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:22:05,447.447 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:22:05,607.607 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:22:05,649.649 INFO    ] time= 29/08/2026 00:22:05
[2026-08-29 00:22:05,668.668 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:22:05,677.677 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:22:05,787.787 INFO    ] No existing commands found in stream
[2026-08-29 00:22:10,817.817 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:22:10,820.820 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-08-29 00:22:11,173.173 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:22:11,174.174 INFO    ] Checking for system updates...
[2026-08-29 00:22:11,195.195 INFO    ] 200
[2026-08-29 00:22:11,196.196 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:22:11,229.229 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:22:11,231.231 INFO    ] No update needed
[2026-08-29 00:22:11,232.232 INFO    ] Checking for camera pi updates...
[2026-08-29 00:22:11,253.253 INFO    ] 200
[2026-08-29 00:22:11,255.255 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:22:11,278.278 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:22:11,353.353 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:22:11,355.355 INFO    ] No camera update needed
[2026-08-29 00:22:11,356.356 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:22:11,358.358 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:22:11,361.361 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:22:11,364.364 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:22:13,406.406 INFO    ] ================================================
[2026-08-29 00:22:13,422.422 INFO    ] Launching Daemon at Sat Aug 29 00:22:13 IST 2026
[2026-08-29 00:22:13,433.433 INFO    ] ================================================
[2026-08-29 00:22:13,782.782 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:22:13
[2026-08-29 00:22:14,099.099 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:22:14,243.243 INFO    ] Initializing speech engine...
[2026-08-29 00:22:14,247.247 INFO    ] 2026-08-29 00:22:14
[2026-08-29 00:22:14,452.452 INFO    ] 2026-08-29 00:22:14
[2026-08-29 00:22:14,481.481 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:22:14,603.603 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:22:14,635.635 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:22:14,784.784 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:22:14,806.806 INFO    ] time= 29/08/2026 00:22:14
[2026-08-29 00:22:14,873.873 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:22:14,897.897 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:22:14,968.968 INFO    ] No existing commands found in stream
[2026-08-29 00:22:19,974.974 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:22:19,977.977 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-08-29 00:22:20,997.997 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:22:20,999.999 INFO    ] Checking for system updates...
[2026-08-29 00:22:21,035.035 INFO    ] 200
[2026-08-29 00:22:21,037.037 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:22:21,086.086 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:22:21,088.088 INFO    ] No update needed
[2026-08-29 00:22:21,089.089 INFO    ] Checking for camera pi updates...
[2026-08-29 00:22:21,109.109 INFO    ] 200
[2026-08-29 00:22:21,110.110 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:22:21,133.133 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:22:21,233.233 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:22:21,235.235 INFO    ] No camera update needed
[2026-08-29 00:22:21,236.236 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:22:21,237.237 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:22:21,240.240 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:22:21,243.243 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:22:23,286.286 INFO    ] ================================================
[2026-08-29 00:22:23,301.301 INFO    ] Launching Daemon at Sat Aug 29 00:22:23 IST 2026
[2026-08-29 00:22:23,311.311 INFO    ] ================================================
[2026-08-29 00:22:23,649.649 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:22:23
[2026-08-29 00:22:23,969.969 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:22:24,113.113 INFO    ] Initializing speech engine...
[2026-08-29 00:22:24,119.119 INFO    ] 2026-08-29 00:22:24
[2026-08-29 00:22:24,322.322 INFO    ] 2026-08-29 00:22:24
[2026-08-29 00:22:24,351.351 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:22:24,474.474 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:22:24,536.536 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:22:24,674.674 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:22:24,738.738 INFO    ] time= 29/08/2026 00:22:24
[2026-08-29 00:22:24,764.764 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:22:24,771.771 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:22:24,838.838 INFO    ] No existing commands found in stream
[2026-08-29 00:22:29,847.847 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:22:29,850.850 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-08-29 00:22:32,344.344 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:22:32,347.347 INFO    ] Checking for system updates...
[2026-08-29 00:22:32,387.387 INFO    ] 200
[2026-08-29 00:22:32,390.390 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:22:32,446.446 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:22:32,449.449 INFO    ] No update needed
[2026-08-29 00:22:32,451.451 INFO    ] Checking for camera pi updates...
[2026-08-29 00:22:32,488.488 INFO    ] 200
[2026-08-29 00:22:32,491.491 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:22:32,540.540 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:22:32,641.641 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:22:32,644.644 INFO    ] No camera update needed
[2026-08-29 00:22:32,647.647 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:22:32,649.649 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:22:32,655.655 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:22:32,661.661 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:22:34,703.703 INFO    ] ================================================
[2026-08-29 00:22:34,718.718 INFO    ] Launching Daemon at Sat Aug 29 00:22:34 IST 2026
[2026-08-29 00:22:34,729.729 INFO    ] ================================================
[2026-08-29 00:22:35,097.097 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:22:35
[2026-08-29 00:22:35,416.416 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:22:35,551.551 INFO    ] Initializing speech engine...
[2026-08-29 00:22:35,554.554 INFO    ] 2026-08-29 00:22:35
[2026-08-29 00:22:35,786.786 INFO    ] 2026-08-29 00:22:35
[2026-08-29 00:22:35,816.816 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:22:35,948.948 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:22:36,015.015 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:22:36,155.155 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:22:36,212.212 INFO    ] time= 29/08/2026 00:22:36
[2026-08-29 00:22:36,256.256 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:22:36,262.262 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:22:36,338.338 INFO    ] No existing commands found in stream
[2026-08-29 00:22:41,348.348 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:22:41,351.351 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-08-29 00:22:42,998.998 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:22:43,000.000 INFO    ] Checking for system updates...
[2026-08-29 00:22:43,020.020 INFO    ] 200
[2026-08-29 00:22:43,021.021 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:22:43,053.053 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:22:43,054.054 INFO    ] No update needed
[2026-08-29 00:22:43,055.055 INFO    ] Checking for camera pi updates...
[2026-08-29 00:22:43,074.074 INFO    ] 200
[2026-08-29 00:22:43,076.076 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:22:43,099.099 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:22:43,185.185 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:22:43,186.186 INFO    ] No camera update needed
[2026-08-29 00:22:43,187.187 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:22:43,188.188 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:22:43,191.191 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:22:43,194.194 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:22:45,233.233 INFO    ] ================================================
[2026-08-29 00:22:45,248.248 INFO    ] Launching Daemon at Sat Aug 29 00:22:45 IST 2026
[2026-08-29 00:22:45,259.259 INFO    ] ================================================
[2026-08-29 00:22:45,591.591 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:22:45
[2026-08-29 00:22:45,908.908 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:22:46,052.052 INFO    ] Initializing speech engine...
[2026-08-29 00:22:46,057.057 INFO    ] 2026-08-29 00:22:46
[2026-08-29 00:22:46,261.261 INFO    ] 2026-08-29 00:22:46
[2026-08-29 00:22:46,290.290 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:22:46,412.412 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:22:46,465.465 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:22:46,605.605 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:22:46,667.667 INFO    ] time= 29/08/2026 00:22:46
[2026-08-29 00:22:46,685.685 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:22:46,706.706 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:22:46,776.776 INFO    ] No existing commands found in stream
[2026-08-29 00:22:51,787.787 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:22:51,789.789 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 00:22:53,299.299 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:22:53,301.301 INFO    ] Checking for system updates...
[2026-08-29 00:22:53,321.321 INFO    ] 200
[2026-08-29 00:22:53,323.323 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:22:53,354.354 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:22:53,356.356 INFO    ] No update needed
[2026-08-29 00:22:53,357.357 INFO    ] Checking for camera pi updates...
[2026-08-29 00:22:53,376.376 INFO    ] 200
[2026-08-29 00:22:53,377.377 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:22:53,400.400 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:22:53,479.479 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:22:53,480.480 INFO    ] No camera update needed
[2026-08-29 00:22:53,482.482 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:22:53,483.483 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:22:53,486.486 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:22:53,489.489 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:22:55,528.528 INFO    ] ================================================
[2026-08-29 00:22:55,543.543 INFO    ] Launching Daemon at Sat Aug 29 00:22:55 IST 2026
[2026-08-29 00:22:55,554.554 INFO    ] ================================================
[2026-08-29 00:22:55,927.927 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:22:55
[2026-08-29 00:22:56,246.246 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:22:56,382.382 INFO    ] Initializing speech engine...
[2026-08-29 00:22:56,392.392 INFO    ] 2026-08-29 00:22:56
[2026-08-29 00:22:56,596.596 INFO    ] 2026-08-29 00:22:56
[2026-08-29 00:22:56,623.623 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:22:56,744.744 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:22:56,778.778 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:22:56,920.920 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:22:56,948.948 INFO    ] time= 29/08/2026 00:22:56
[2026-08-29 00:22:57,015.015 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:22:57,038.038 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:22:57,109.109 INFO    ] No existing commands found in stream
[2026-08-29 00:23:02,120.120 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:23:02,124.124 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-08-29 00:23:06,129.129 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:23:06,133.133 INFO    ] Checking for system updates...
[2026-08-29 00:23:06,188.188 INFO    ] 200
[2026-08-29 00:23:06,192.192 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:23:06,245.245 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:23:06,248.248 INFO    ] No update needed
[2026-08-29 00:23:06,250.250 INFO    ] Checking for camera pi updates...
[2026-08-29 00:23:06,286.286 INFO    ] 200
[2026-08-29 00:23:06,288.288 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:23:06,329.329 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:23:06,433.433 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:23:06,435.435 INFO    ] No camera update needed
[2026-08-29 00:23:06,438.438 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:23:06,441.441 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:23:06,447.447 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:23:06,452.452 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:23:08,493.493 INFO    ] ================================================
[2026-08-29 00:23:08,508.508 INFO    ] Launching Daemon at Sat Aug 29 00:23:08 IST 2026
[2026-08-29 00:23:08,519.519 INFO    ] ================================================
[2026-08-29 00:23:08,849.849 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:23:08
[2026-08-29 00:23:09,160.160 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:23:09,298.298 INFO    ] Initializing speech engine...
[2026-08-29 00:23:09,307.307 INFO    ] 2026-08-29 00:23:09
[2026-08-29 00:23:09,514.514 INFO    ] 2026-08-29 00:23:09
[2026-08-29 00:23:09,542.542 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:23:09,671.671 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:23:09,708.708 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:23:09,867.867 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:23:09,923.923 INFO    ] time= 29/08/2026 00:23:09
[2026-08-29 00:23:09,964.964 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:23:09,969.969 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:23:10,041.041 INFO    ] No existing commands found in stream
[2026-08-29 00:23:15,052.052 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:23:15,055.055 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-08-29 00:23:19,249.249 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:23:19,251.251 INFO    ] Checking for system updates...
[2026-08-29 00:23:19,271.271 INFO    ] 200
[2026-08-29 00:23:19,273.273 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:23:19,304.304 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:23:19,305.305 INFO    ] No update needed
[2026-08-29 00:23:19,307.307 INFO    ] Checking for camera pi updates...
[2026-08-29 00:23:19,326.326 INFO    ] 200
[2026-08-29 00:23:19,328.328 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:23:19,351.351 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:23:19,425.425 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:23:19,427.427 INFO    ] No camera update needed
[2026-08-29 00:23:19,428.428 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:23:19,430.430 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:23:19,433.433 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:23:19,436.436 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:23:21,475.475 INFO    ] ================================================
[2026-08-29 00:23:21,490.490 INFO    ] Launching Daemon at Sat Aug 29 00:23:21 IST 2026
[2026-08-29 00:23:21,501.501 INFO    ] ================================================
[2026-08-29 00:23:21,855.855 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:23:21
[2026-08-29 00:23:22,167.167 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:23:22,304.304 INFO    ] Initializing speech engine...
[2026-08-29 00:23:22,314.314 INFO    ] 2026-08-29 00:23:22
[2026-08-29 00:23:22,517.517 INFO    ] 2026-08-29 00:23:22
[2026-08-29 00:23:22,546.546 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:23:22,666.666 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:23:22,705.705 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:23:22,867.867 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:23:22,926.926 INFO    ] time= 29/08/2026 00:23:22
[2026-08-29 00:23:22,958.958 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:23:22,960.960 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:23:23,032.032 INFO    ] No existing commands found in stream
[2026-08-29 00:23:28,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:23:28,044.044 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-08-29 00:23:31,601.601 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:23:31,604.604 INFO    ] Checking for system updates...
[2026-08-29 00:23:31,646.646 INFO    ] 200
[2026-08-29 00:23:31,648.648 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:23:31,705.705 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:23:31,708.708 INFO    ] No update needed
[2026-08-29 00:23:31,710.710 INFO    ] Checking for camera pi updates...
[2026-08-29 00:23:31,749.749 INFO    ] 200
[2026-08-29 00:23:31,752.752 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:23:31,798.798 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:23:32,038.038 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:23:32,041.041 INFO    ] No camera update needed
[2026-08-29 00:23:32,044.044 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:23:32,046.046 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:23:32,052.052 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:23:32,058.058 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:23:34,100.100 INFO    ] ================================================
[2026-08-29 00:23:34,116.116 INFO    ] Launching Daemon at Sat Aug 29 00:23:34 IST 2026
[2026-08-29 00:23:34,127.127 INFO    ] ================================================
[2026-08-29 00:23:34,683.683 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:23:34
[2026-08-29 00:23:34,995.995 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:23:35,127.127 INFO    ] Initializing speech engine...
[2026-08-29 00:23:35,132.132 INFO    ] 2026-08-29 00:23:35
[2026-08-29 00:23:35,357.357 INFO    ] 2026-08-29 00:23:35
[2026-08-29 00:23:35,387.387 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:23:35,516.516 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:23:35,560.560 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:23:35,724.724 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:23:35,762.762 INFO    ] time= 29/08/2026 00:23:35
[2026-08-29 00:23:35,808.808 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:23:35,832.832 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:23:35,907.907 INFO    ] No existing commands found in stream
[2026-08-29 00:23:40,917.917 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:23:40,920.920 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-08-29 00:23:42,907.907 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:23:42,908.908 INFO    ] Checking for system updates...
[2026-08-29 00:23:42,928.928 INFO    ] 200
[2026-08-29 00:23:42,930.930 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:23:42,960.960 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:23:42,961.961 INFO    ] No update needed
[2026-08-29 00:23:42,963.963 INFO    ] Checking for camera pi updates...
[2026-08-29 00:23:42,984.984 INFO    ] 200
[2026-08-29 00:23:42,985.985 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:23:43,008.008 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:23:43,106.106 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:23:43,107.107 INFO    ] No camera update needed
[2026-08-29 00:23:43,108.108 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:23:43,109.109 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:23:43,112.112 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:23:43,115.115 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:23:45,155.155 INFO    ] ================================================
[2026-08-29 00:23:45,171.171 INFO    ] Launching Daemon at Sat Aug 29 00:23:45 IST 2026
[2026-08-29 00:23:45,182.182 INFO    ] ================================================
[2026-08-29 00:23:45,559.559 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:23:45
[2026-08-29 00:23:45,894.894 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:23:46,044.044 INFO    ] Initializing speech engine...
[2026-08-29 00:23:46,050.050 INFO    ] 2026-08-29 00:23:46
[2026-08-29 00:23:46,256.256 INFO    ] 2026-08-29 00:23:46
[2026-08-29 00:23:46,285.285 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:23:46,407.407 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:23:46,469.469 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:23:46,602.602 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:23:46,648.648 INFO    ] time= 29/08/2026 00:23:46
[2026-08-29 00:23:46,682.682 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:23:46,703.703 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:23:46,774.774 INFO    ] No existing commands found in stream
[2026-08-29 00:23:51,785.785 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:23:51,788.788 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 00:23:54,980.980 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:23:54,982.982 INFO    ] Checking for system updates...
[2026-08-29 00:23:55,003.003 INFO    ] 200
[2026-08-29 00:23:55,004.004 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:23:55,034.034 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:23:55,035.035 INFO    ] No update needed
[2026-08-29 00:23:55,037.037 INFO    ] Checking for camera pi updates...
[2026-08-29 00:23:55,057.057 INFO    ] 200
[2026-08-29 00:23:55,058.058 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:23:55,081.081 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:23:55,162.162 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:23:55,164.164 INFO    ] No camera update needed
[2026-08-29 00:23:55,165.165 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:23:55,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:23:55,169.169 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:23:55,172.172 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:23:57,212.212 INFO    ] ================================================
[2026-08-29 00:23:57,227.227 INFO    ] Launching Daemon at Sat Aug 29 00:23:57 IST 2026
[2026-08-29 00:23:57,238.238 INFO    ] ================================================
[2026-08-29 00:23:57,776.776 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:23:57
[2026-08-29 00:23:58,365.365 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:23:58,665.665 INFO    ] Initializing speech engine...
[2026-08-29 00:23:58,673.673 INFO    ] 2026-08-29 00:23:58
[2026-08-29 00:23:58,940.940 INFO    ] 2026-08-29 00:23:58
[2026-08-29 00:23:58,975.975 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:23:59,165.165 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:23:59,170.170 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:23:59,277.277 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:23:59,283.283 INFO    ] time= 29/08/2026 00:23:59
[2026-08-29 00:23:59,304.304 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:23:59,310.310 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:23:59,359.359 INFO    ] No existing commands found in stream
[2026-08-29 00:24:04,369.369 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:24:04,372.372 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-08-29 00:24:06,573.573 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:24:06,574.574 INFO    ] Checking for system updates...
[2026-08-29 00:24:06,595.595 INFO    ] 200
[2026-08-29 00:24:06,596.596 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:24:06,626.626 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:24:06,627.627 INFO    ] No update needed
[2026-08-29 00:24:06,628.628 INFO    ] Checking for camera pi updates...
[2026-08-29 00:24:06,650.650 INFO    ] 200
[2026-08-29 00:24:06,652.652 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:24:06,675.675 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:24:06,755.755 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:24:06,756.756 INFO    ] No camera update needed
[2026-08-29 00:24:06,757.757 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:24:06,758.758 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:24:06,761.761 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:24:06,764.764 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:24:08,804.804 INFO    ] ================================================
[2026-08-29 00:24:08,819.819 INFO    ] Launching Daemon at Sat Aug 29 00:24:08 IST 2026
[2026-08-29 00:24:08,830.830 INFO    ] ================================================
[2026-08-29 00:24:09,173.173 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:24:09
[2026-08-29 00:24:09,493.493 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:24:09,630.630 INFO    ] Initializing speech engine...
[2026-08-29 00:24:09,641.641 INFO    ] 2026-08-29 00:24:09
[2026-08-29 00:24:09,845.845 INFO    ] 2026-08-29 00:24:09
[2026-08-29 00:24:09,872.872 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:24:10,040.040 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:24:10,058.058 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:24:10,189.189 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:24:10,252.252 INFO    ] time= 29/08/2026 00:24:10
[2026-08-29 00:24:10,280.280 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:24:10,285.285 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:24:10,355.355 INFO    ] No existing commands found in stream
[2026-08-29 00:24:15,366.366 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:24:15,368.368 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-08-29 00:24:15,830.830 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:24:15,831.831 INFO    ] Checking for system updates...
[2026-08-29 00:24:15,852.852 INFO    ] 200
[2026-08-29 00:24:15,854.854 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:24:15,886.886 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:24:15,887.887 INFO    ] No update needed
[2026-08-29 00:24:15,888.888 INFO    ] Checking for camera pi updates...
[2026-08-29 00:24:15,909.909 INFO    ] 200
[2026-08-29 00:24:15,910.910 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:24:15,933.933 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:24:16,031.031 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:24:16,033.033 INFO    ] No camera update needed
[2026-08-29 00:24:16,034.034 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:24:16,035.035 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:24:16,038.038 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:24:16,041.041 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:24:18,081.081 INFO    ] ================================================
[2026-08-29 00:24:18,097.097 INFO    ] Launching Daemon at Sat Aug 29 00:24:18 IST 2026
[2026-08-29 00:24:18,108.108 INFO    ] ================================================
[2026-08-29 00:24:18,477.477 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:24:18
[2026-08-29 00:24:18,788.788 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:24:18,989.989 INFO    ] Initializing speech engine...
[2026-08-29 00:24:18,998.998 INFO    ] 2026-08-29 00:24:18
[2026-08-29 00:24:19,260.260 INFO    ] 2026-08-29 00:24:19
[2026-08-29 00:24:19,296.296 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:24:19,437.437 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:24:19,440.440 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:24:19,579.579 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:24:19,589.589 INFO    ] time= 29/08/2026 00:24:19
[2026-08-29 00:24:19,595.595 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:24:19,616.616 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:24:19,713.713 INFO    ] No existing commands found in stream
[2026-08-29 00:24:24,735.735 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:24:24,738.738 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-08-29 00:24:28,736.736 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:24:28,737.737 INFO    ] Checking for system updates...
[2026-08-29 00:24:28,758.758 INFO    ] 200
[2026-08-29 00:24:28,759.759 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:24:28,792.792 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:24:28,793.793 INFO    ] No update needed
[2026-08-29 00:24:28,795.795 INFO    ] Checking for camera pi updates...
[2026-08-29 00:24:28,817.817 INFO    ] 200
[2026-08-29 00:24:28,818.818 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:24:28,841.841 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:24:28,949.949 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:24:28,951.951 INFO    ] No camera update needed
[2026-08-29 00:24:28,952.952 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:24:28,954.954 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:24:28,957.957 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:24:28,960.960 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:24:31,000.000 INFO    ] ================================================
[2026-08-29 00:24:31,015.015 INFO    ] Launching Daemon at Sat Aug 29 00:24:31 IST 2026
[2026-08-29 00:24:31,026.026 INFO    ] ================================================
[2026-08-29 00:24:31,472.472 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:24:31
[2026-08-29 00:24:32,089.089 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:24:32,375.375 INFO    ] Initializing speech engine...
[2026-08-29 00:24:32,385.385 INFO    ] 2026-08-29 00:24:32
[2026-08-29 00:24:32,652.652 INFO    ] 2026-08-29 00:24:32
[2026-08-29 00:24:32,685.685 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:24:32,859.859 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:24:32,872.872 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:24:33,012.012 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:24:33,021.021 INFO    ] time= 29/08/2026 00:24:33
[2026-08-29 00:24:33,027.027 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:24:33,047.047 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:24:33,176.176 INFO    ] No existing commands found in stream
[2026-08-29 00:24:38,206.206 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:24:38,209.209 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-08-29 00:24:38,991.991 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:24:38,993.993 INFO    ] Checking for system updates...
[2026-08-29 00:24:39,013.013 INFO    ] 200
[2026-08-29 00:24:39,014.014 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:24:39,047.047 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:24:39,048.048 INFO    ] No update needed
[2026-08-29 00:24:39,050.050 INFO    ] Checking for camera pi updates...
[2026-08-29 00:24:39,069.069 INFO    ] 200
[2026-08-29 00:24:39,070.070 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:24:39,093.093 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:24:39,189.189 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:24:39,191.191 INFO    ] No camera update needed
[2026-08-29 00:24:39,192.192 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:24:39,193.193 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:24:39,196.196 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:24:39,199.199 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:24:41,237.237 INFO    ] ================================================
[2026-08-29 00:24:41,253.253 INFO    ] Launching Daemon at Sat Aug 29 00:24:41 IST 2026
[2026-08-29 00:24:41,263.263 INFO    ] ================================================
[2026-08-29 00:24:41,616.616 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:24:41
[2026-08-29 00:24:41,932.932 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:24:42,075.075 INFO    ] Initializing speech engine...
[2026-08-29 00:24:42,080.080 INFO    ] 2026-08-29 00:24:42
[2026-08-29 00:24:42,283.283 INFO    ] 2026-08-29 00:24:42
[2026-08-29 00:24:42,313.313 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:24:42,471.471 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:24:42,478.478 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:24:42,637.637 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:24:42,679.679 INFO    ] time= 29/08/2026 00:24:42
[2026-08-29 00:24:42,684.684 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:24:42,702.702 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:24:42,813.813 INFO    ] No existing commands found in stream
[2026-08-29 00:24:47,840.840 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:24:47,843.843 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-08-29 00:24:49,729.729 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:24:49,731.731 INFO    ] Checking for system updates...
[2026-08-29 00:24:49,751.751 INFO    ] 200
[2026-08-29 00:24:49,752.752 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:24:49,784.784 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:24:49,786.786 INFO    ] No update needed
[2026-08-29 00:24:49,787.787 INFO    ] Checking for camera pi updates...
[2026-08-29 00:24:49,806.806 INFO    ] 200
[2026-08-29 00:24:49,808.808 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:24:49,833.833 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:24:49,943.943 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:24:49,945.945 INFO    ] No camera update needed
[2026-08-29 00:24:49,946.946 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:24:49,947.947 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:24:49,950.950 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:24:49,953.953 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:24:51,992.992 INFO    ] ================================================
[2026-08-29 00:24:52,006.006 INFO    ] Launching Daemon at Sat Aug 29 00:24:52 IST 2026
[2026-08-29 00:24:52,017.017 INFO    ] ================================================
[2026-08-29 00:24:52,362.362 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:24:52
[2026-08-29 00:24:52,673.673 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:24:52,813.813 INFO    ] Initializing speech engine...
[2026-08-29 00:24:52,823.823 INFO    ] 2026-08-29 00:24:52
[2026-08-29 00:24:53,025.025 INFO    ] 2026-08-29 00:24:53
[2026-08-29 00:24:53,054.054 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:24:53,221.221 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:24:53,239.239 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:24:53,367.367 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:24:53,433.433 INFO    ] time= 29/08/2026 00:24:53
[2026-08-29 00:24:53,464.464 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:24:53,466.466 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:24:53,535.535 INFO    ] No existing commands found in stream
[2026-08-29 00:24:58,546.546 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:24:58,549.549 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-08-29 00:24:59,672.672 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:24:59,674.674 INFO    ] Checking for system updates...
[2026-08-29 00:24:59,694.694 INFO    ] 200
[2026-08-29 00:24:59,695.695 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:24:59,728.728 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:24:59,729.729 INFO    ] No update needed
[2026-08-29 00:24:59,730.730 INFO    ] Checking for camera pi updates...
[2026-08-29 00:24:59,750.750 INFO    ] 200
[2026-08-29 00:24:59,751.751 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:24:59,774.774 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:24:59,884.884 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:24:59,886.886 INFO    ] No camera update needed
[2026-08-29 00:24:59,887.887 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:24:59,888.888 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:24:59,891.891 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:24:59,894.894 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:25:01,936.936 INFO    ] ================================================
[2026-08-29 00:25:01,963.963 INFO    ] Launching Daemon at Sat Aug 29 00:25:01 IST 2026
[2026-08-29 00:25:01,979.979 INFO    ] ================================================
[2026-08-29 00:25:02,607.607 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:25:02
[2026-08-29 00:25:03,255.255 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:25:03,530.530 INFO    ] Initializing speech engine...
[2026-08-29 00:25:03,539.539 INFO    ] 2026-08-29 00:25:03
[2026-08-29 00:25:03,797.797 INFO    ] 2026-08-29 00:25:03
[2026-08-29 00:25:03,827.827 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:25:04,074.074 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:25:04,083.083 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:25:04,215.215 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:25:04,267.267 INFO    ] time= 29/08/2026 00:25:04
[2026-08-29 00:25:04,322.322 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:25:04,350.350 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:25:04,398.398 INFO    ] No existing commands found in stream
[2026-08-29 00:25:09,410.410 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:25:09,413.413 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-08-29 00:25:10,663.663 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:25:10,664.664 INFO    ] Checking for system updates...
[2026-08-29 00:25:10,685.685 INFO    ] 200
[2026-08-29 00:25:10,686.686 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:25:10,722.722 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:25:10,724.724 INFO    ] No update needed
[2026-08-29 00:25:10,727.727 INFO    ] Checking for camera pi updates...
[2026-08-29 00:25:10,760.760 INFO    ] 200
[2026-08-29 00:25:10,763.763 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:25:10,809.809 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:25:10,900.900 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:25:10,907.907 INFO    ] No camera update needed
[2026-08-29 00:25:10,909.909 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:25:10,910.910 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:25:10,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:25:10,916.916 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:25:12,954.954 INFO    ] ================================================
[2026-08-29 00:25:12,969.969 INFO    ] Launching Daemon at Sat Aug 29 00:25:12 IST 2026
[2026-08-29 00:25:12,981.981 INFO    ] ================================================
[2026-08-29 00:25:13,349.349 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:25:13
[2026-08-29 00:25:13,660.660 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:25:13,789.789 INFO    ] Initializing speech engine...
[2026-08-29 00:25:13,794.794 INFO    ] 2026-08-29 00:25:13
[2026-08-29 00:25:14,009.009 INFO    ] 2026-08-29 00:25:13
[2026-08-29 00:25:14,037.037 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:25:14,159.159 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:25:14,196.196 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:25:14,351.351 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:25:14,408.408 INFO    ] time= 29/08/2026 00:25:14
[2026-08-29 00:25:14,446.446 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:25:14,451.451 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:25:14,521.521 INFO    ] No existing commands found in stream
[2026-08-29 00:25:19,532.532 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:25:19,535.535 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-08-29 00:25:22,131.131 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:25:22,132.132 INFO    ] Checking for system updates...
[2026-08-29 00:25:22,154.154 INFO    ] 200
[2026-08-29 00:25:22,155.155 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:25:22,185.185 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:25:22,186.186 INFO    ] No update needed
[2026-08-29 00:25:22,188.188 INFO    ] Checking for camera pi updates...
[2026-08-29 00:25:22,207.207 INFO    ] 200
[2026-08-29 00:25:22,208.208 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:25:22,232.232 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:25:22,313.313 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:25:22,314.314 INFO    ] No camera update needed
[2026-08-29 00:25:22,316.316 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:25:22,317.317 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:25:22,320.320 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:25:22,322.322 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:25:24,361.361 INFO    ] ================================================
[2026-08-29 00:25:24,376.376 INFO    ] Launching Daemon at Sat Aug 29 00:25:24 IST 2026
[2026-08-29 00:25:24,387.387 INFO    ] ================================================
[2026-08-29 00:25:24,780.780 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:25:24
[2026-08-29 00:25:25,118.118 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:25:25,273.273 INFO    ] Initializing speech engine...
[2026-08-29 00:25:25,280.280 INFO    ] 2026-08-29 00:25:25
[2026-08-29 00:25:25,477.477 INFO    ] 2026-08-29 00:25:25
[2026-08-29 00:25:25,506.506 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:25:25,629.629 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:25:25,692.692 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:25:25,830.830 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:25:25,897.897 INFO    ] time= 29/08/2026 00:25:25
[2026-08-29 00:25:25,921.921 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:25:25,927.927 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:25:25,993.993 INFO    ] No existing commands found in stream
[2026-08-29 00:25:31,003.003 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:25:31,006.006 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-08-29 00:25:35,332.332 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:25:35,333.333 INFO    ] Checking for system updates...
[2026-08-29 00:25:35,354.354 INFO    ] 200
[2026-08-29 00:25:35,356.356 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:25:35,386.386 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:25:35,387.387 INFO    ] No update needed
[2026-08-29 00:25:35,388.388 INFO    ] Checking for camera pi updates...
[2026-08-29 00:25:35,409.409 INFO    ] 200
[2026-08-29 00:25:35,411.411 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:25:35,434.434 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:25:35,609.609 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:25:35,610.610 INFO    ] No camera update needed
[2026-08-29 00:25:35,612.612 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:25:35,613.613 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:25:35,616.616 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:25:35,619.619 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:25:37,657.657 INFO    ] ================================================
[2026-08-29 00:25:37,673.673 INFO    ] Launching Daemon at Sat Aug 29 00:25:37 IST 2026
[2026-08-29 00:25:37,685.685 INFO    ] ================================================
[2026-08-29 00:25:38,016.016 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:25:38
[2026-08-29 00:25:38,328.328 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:25:38,471.471 INFO    ] Initializing speech engine...
[2026-08-29 00:25:38,476.476 INFO    ] 2026-08-29 00:25:38
[2026-08-29 00:25:38,682.682 INFO    ] 2026-08-29 00:25:38
[2026-08-29 00:25:38,709.709 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:25:38,834.834 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:25:38,866.866 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:25:39,029.029 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:25:39,050.050 INFO    ] time= 29/08/2026 00:25:39
[2026-08-29 00:25:39,108.108 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:25:39,131.131 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:25:39,204.204 INFO    ] No existing commands found in stream
[2026-08-29 00:25:44,213.213 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:25:44,216.216 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-08-29 00:25:47,357.357 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:25:47,358.358 INFO    ] Checking for system updates...
[2026-08-29 00:25:47,379.379 INFO    ] 200
[2026-08-29 00:25:47,381.381 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:25:47,412.412 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:25:47,413.413 INFO    ] No update needed
[2026-08-29 00:25:47,415.415 INFO    ] Checking for camera pi updates...
[2026-08-29 00:25:47,433.433 INFO    ] 200
[2026-08-29 00:25:47,435.435 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:25:47,457.457 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:25:47,570.570 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:25:47,571.571 INFO    ] No camera update needed
[2026-08-29 00:25:47,573.573 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:25:47,574.574 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:25:47,577.577 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:25:47,580.580 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:25:49,617.617 INFO    ] ================================================
[2026-08-29 00:25:49,633.633 INFO    ] Launching Daemon at Sat Aug 29 00:25:49 IST 2026
[2026-08-29 00:25:49,644.644 INFO    ] ================================================
[2026-08-29 00:25:49,978.978 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:25:49
[2026-08-29 00:25:50,294.294 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:25:50,438.438 INFO    ] Initializing speech engine...
[2026-08-29 00:25:50,443.443 INFO    ] 2026-08-29 00:25:50
[2026-08-29 00:25:50,647.647 INFO    ] 2026-08-29 00:25:50
[2026-08-29 00:25:50,674.674 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:25:50,797.797 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:25:50,859.859 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:25:50,998.998 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:25:51,068.068 INFO    ] time= 29/08/2026 00:25:51
[2026-08-29 00:25:51,098.098 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:25:51,105.105 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:25:51,179.179 INFO    ] No existing commands found in stream
[2026-08-29 00:25:56,189.189 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:25:56,206.206 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-08-29 00:25:56,689.689 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:25:56,691.691 INFO    ] Checking for system updates...
[2026-08-29 00:25:56,713.713 INFO    ] 200
[2026-08-29 00:25:56,715.715 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:25:56,749.749 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:25:56,751.751 INFO    ] No update needed
[2026-08-29 00:25:56,752.752 INFO    ] Checking for camera pi updates...
[2026-08-29 00:25:56,772.772 INFO    ] 200
[2026-08-29 00:25:56,774.774 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:25:56,799.799 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:25:56,914.914 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:25:56,916.916 INFO    ] No camera update needed
[2026-08-29 00:25:56,917.917 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:25:56,918.918 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:25:56,921.921 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:25:56,925.925 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:25:58,963.963 INFO    ] ================================================
[2026-08-29 00:25:58,979.979 INFO    ] Launching Daemon at Sat Aug 29 00:25:58 IST 2026
[2026-08-29 00:25:58,990.990 INFO    ] ================================================
[2026-08-29 00:25:59,349.349 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:25:59
[2026-08-29 00:25:59,660.660 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:25:59,790.790 INFO    ] Initializing speech engine...
[2026-08-29 00:25:59,795.795 INFO    ] 2026-08-29 00:25:59
[2026-08-29 00:26:00,013.013 INFO    ] 2026-08-29 00:25:59
[2026-08-29 00:26:00,042.042 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:26:00,166.166 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:26:00,198.198 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:26:00,362.362 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:26:00,408.408 INFO    ] time= 29/08/2026 00:26:00
[2026-08-29 00:26:00,458.458 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:26:00,464.464 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:26:00,535.535 INFO    ] No existing commands found in stream
[2026-08-29 00:26:05,545.545 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:26:05,548.548 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-08-29 00:26:09,794.794 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:26:09,795.795 INFO    ] Checking for system updates...
[2026-08-29 00:26:09,816.816 INFO    ] 200
[2026-08-29 00:26:09,817.817 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:26:09,847.847 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:26:09,848.848 INFO    ] No update needed
[2026-08-29 00:26:09,850.850 INFO    ] Checking for camera pi updates...
[2026-08-29 00:26:09,869.869 INFO    ] 200
[2026-08-29 00:26:09,870.870 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:26:09,895.895 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:26:09,987.987 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:26:09,988.988 INFO    ] No camera update needed
[2026-08-29 00:26:09,989.989 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:26:09,991.991 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:26:09,994.994 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:26:09,996.996 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:26:12,035.035 INFO    ] ================================================
[2026-08-29 00:26:12,051.051 INFO    ] Launching Daemon at Sat Aug 29 00:26:12 IST 2026
[2026-08-29 00:26:12,062.062 INFO    ] ================================================
[2026-08-29 00:26:12,397.397 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:26:12
[2026-08-29 00:26:12,713.713 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:26:12,847.847 INFO    ] Initializing speech engine...
[2026-08-29 00:26:12,859.859 INFO    ] 2026-08-29 00:26:12
[2026-08-29 00:26:13,066.066 INFO    ] 2026-08-29 00:26:13
[2026-08-29 00:26:13,094.094 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:26:13,215.215 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:26:13,259.259 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:26:13,414.414 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:26:13,476.476 INFO    ] time= 29/08/2026 00:26:13
[2026-08-29 00:26:13,508.508 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:26:13,515.515 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:26:13,581.581 INFO    ] No existing commands found in stream
[2026-08-29 00:26:18,591.591 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:26:18,594.594 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-08-29 00:26:21,838.838 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:26:21,839.839 INFO    ] Checking for system updates...
[2026-08-29 00:26:21,860.860 INFO    ] 200
[2026-08-29 00:26:21,862.862 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:26:21,893.893 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:26:21,894.894 INFO    ] No update needed
[2026-08-29 00:26:21,896.896 INFO    ] Checking for camera pi updates...
[2026-08-29 00:26:21,915.915 INFO    ] 200
[2026-08-29 00:26:21,916.916 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:26:21,938.938 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:26:22,019.019 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:26:22,020.020 INFO    ] No camera update needed
[2026-08-29 00:26:22,022.022 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:26:22,023.023 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:26:22,026.026 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:26:22,029.029 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:26:24,067.067 INFO    ] ================================================
[2026-08-29 00:26:24,082.082 INFO    ] Launching Daemon at Sat Aug 29 00:26:24 IST 2026
[2026-08-29 00:26:24,093.093 INFO    ] ================================================
[2026-08-29 00:26:24,436.436 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:26:24
[2026-08-29 00:26:24,766.766 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:26:24,910.910 INFO    ] Initializing speech engine...
[2026-08-29 00:26:24,921.921 INFO    ] 2026-08-29 00:26:24
[2026-08-29 00:26:25,128.128 INFO    ] 2026-08-29 00:26:25
[2026-08-29 00:26:25,157.157 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:26:25,291.291 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:26:25,344.344 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:26:25,477.477 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:26:25,528.528 INFO    ] time= 29/08/2026 00:26:25
[2026-08-29 00:26:25,577.577 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:26:25,583.583 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:26:25,650.650 INFO    ] No existing commands found in stream
[2026-08-29 00:26:30,661.661 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:26:30,665.665 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-08-29 00:26:32,992.992 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:26:32,995.995 INFO    ] Checking for system updates...
[2026-08-29 00:26:33,032.032 INFO    ] 200
[2026-08-29 00:26:33,035.035 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:26:33,088.088 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:26:33,091.091 INFO    ] No update needed
[2026-08-29 00:26:33,093.093 INFO    ] Checking for camera pi updates...
[2026-08-29 00:26:33,130.130 INFO    ] 200
[2026-08-29 00:26:33,133.133 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:26:33,174.174 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:26:33,260.260 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:26:33,262.262 INFO    ] No camera update needed
[2026-08-29 00:26:33,264.264 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:26:33,267.267 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:26:33,272.272 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:26:33,277.277 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:26:35,317.317 INFO    ] ================================================
[2026-08-29 00:26:35,333.333 INFO    ] Launching Daemon at Sat Aug 29 00:26:35 IST 2026
[2026-08-29 00:26:35,343.343 INFO    ] ================================================
[2026-08-29 00:26:35,683.683 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:26:35
[2026-08-29 00:26:35,995.995 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:26:36,126.126 INFO    ] Initializing speech engine...
[2026-08-29 00:26:36,131.131 INFO    ] 2026-08-29 00:26:36
[2026-08-29 00:26:36,351.351 INFO    ] 2026-08-29 00:26:36
[2026-08-29 00:26:36,379.379 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:26:36,567.567 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:26:36,571.571 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:26:36,706.706 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:26:36,773.773 INFO    ] time= 29/08/2026 00:26:36
[2026-08-29 00:26:36,802.802 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:26:36,808.808 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:26:36,876.876 INFO    ] No existing commands found in stream
[2026-08-29 00:26:41,886.886 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:26:41,889.889 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-08-29 00:26:43,870.870 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:26:43,871.871 INFO    ] Checking for system updates...
[2026-08-29 00:26:43,893.893 INFO    ] 200
[2026-08-29 00:26:43,894.894 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:26:43,926.926 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:26:43,927.927 INFO    ] No update needed
[2026-08-29 00:26:43,928.928 INFO    ] Checking for camera pi updates...
[2026-08-29 00:26:43,947.947 INFO    ] 200
[2026-08-29 00:26:43,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:26:43,973.973 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:26:44,050.050 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:26:44,052.052 INFO    ] No camera update needed
[2026-08-29 00:26:44,053.053 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:26:44,054.054 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:26:44,057.057 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:26:44,060.060 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:26:46,102.102 INFO    ] ================================================
[2026-08-29 00:26:46,118.118 INFO    ] Launching Daemon at Sat Aug 29 00:26:46 IST 2026
[2026-08-29 00:26:46,129.129 INFO    ] ================================================
[2026-08-29 00:26:46,480.480 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:26:46
[2026-08-29 00:26:47,036.036 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:26:47,295.295 INFO    ] Initializing speech engine...
[2026-08-29 00:26:47,301.301 INFO    ] 2026-08-29 00:26:47
[2026-08-29 00:26:47,596.596 INFO    ] 2026-08-29 00:26:47
[2026-08-29 00:26:47,634.634 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:26:47,828.828 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:26:47,843.843 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:26:47,968.968 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:26:47,988.988 INFO    ] time= 29/08/2026 00:26:47
[2026-08-29 00:26:48,010.010 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:26:48,018.018 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:26:48,094.094 INFO    ] No existing commands found in stream
[2026-08-29 00:26:53,107.107 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:26:53,109.109 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-08-29 00:26:57,081.081 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:26:57,083.083 INFO    ] Checking for system updates...
[2026-08-29 00:26:57,104.104 INFO    ] 200
[2026-08-29 00:26:57,105.105 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:26:57,137.137 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:26:57,139.139 INFO    ] No update needed
[2026-08-29 00:26:57,140.140 INFO    ] Checking for camera pi updates...
[2026-08-29 00:26:57,161.161 INFO    ] 200
[2026-08-29 00:26:57,162.162 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:26:57,188.188 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:26:57,280.280 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:26:57,282.282 INFO    ] No camera update needed
[2026-08-29 00:26:57,283.283 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:26:57,285.285 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:26:57,288.288 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:26:57,290.290 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:26:59,322.322 INFO    ] ================================================
[2026-08-29 00:26:59,330.330 INFO    ] Launching Daemon at Sat Aug 29 00:26:59 IST 2026
[2026-08-29 00:26:59,337.337 INFO    ] ================================================
[2026-08-29 00:26:59,693.693 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:26:59
[2026-08-29 00:27:00,010.010 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:27:00,143.143 INFO    ] Initializing speech engine...
[2026-08-29 00:27:00,147.147 INFO    ] 2026-08-29 00:27:00
[2026-08-29 00:27:00,395.395 INFO    ] 2026-08-29 00:27:00
[2026-08-29 00:27:00,449.449 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:27:00,612.612 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:27:00,619.619 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:27:00,791.791 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:27:00,820.820 INFO    ] time= 29/08/2026 00:27:00
[2026-08-29 00:27:00,826.826 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:27:00,844.844 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:27:00,965.965 INFO    ] No existing commands found in stream
[2026-08-29 00:27:05,986.986 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:27:05,989.989 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 00:27:07,210.210 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:27:07,212.212 INFO    ] Checking for system updates...
[2026-08-29 00:27:07,252.252 INFO    ] 200
[2026-08-29 00:27:07,254.254 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:27:07,312.312 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:27:07,315.315 INFO    ] No update needed
[2026-08-29 00:27:07,317.317 INFO    ] Checking for camera pi updates...
[2026-08-29 00:27:07,352.352 INFO    ] 200
[2026-08-29 00:27:07,355.355 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:27:07,395.395 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:27:07,471.471 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:27:07,473.473 INFO    ] No camera update needed
[2026-08-29 00:27:07,476.476 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:27:07,478.478 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:27:07,483.483 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:27:07,488.488 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:27:09,528.528 INFO    ] ================================================
[2026-08-29 00:27:09,544.544 INFO    ] Launching Daemon at Sat Aug 29 00:27:09 IST 2026
[2026-08-29 00:27:09,555.555 INFO    ] ================================================
[2026-08-29 00:27:09,913.913 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:27:09
[2026-08-29 00:27:10,248.248 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:27:10,399.399 INFO    ] Initializing speech engine...
[2026-08-29 00:27:10,405.405 INFO    ] 2026-08-29 00:27:10
[2026-08-29 00:27:10,611.611 INFO    ] 2026-08-29 00:27:10
[2026-08-29 00:27:10,640.640 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:27:10,762.762 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:27:10,825.825 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:27:10,955.955 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:27:11,011.011 INFO    ] time= 29/08/2026 00:27:10
[2026-08-29 00:27:11,040.040 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:27:11,056.056 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:27:11,127.127 INFO    ] No existing commands found in stream
[2026-08-29 00:27:16,138.138 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:27:16,141.141 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-08-29 00:27:20,108.108 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:27:20,110.110 INFO    ] Checking for system updates...
[2026-08-29 00:27:20,133.133 INFO    ] 200
[2026-08-29 00:27:20,134.134 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:27:20,166.166 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:27:20,168.168 INFO    ] No update needed
[2026-08-29 00:27:20,169.169 INFO    ] Checking for camera pi updates...
[2026-08-29 00:27:20,190.190 INFO    ] 200
[2026-08-29 00:27:20,191.191 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:27:20,217.217 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:27:20,295.295 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:27:20,296.296 INFO    ] No camera update needed
[2026-08-29 00:27:20,298.298 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:27:20,299.299 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:27:20,302.302 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:27:20,305.305 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:27:22,344.344 INFO    ] ================================================
[2026-08-29 00:27:22,360.360 INFO    ] Launching Daemon at Sat Aug 29 00:27:22 IST 2026
[2026-08-29 00:27:22,371.371 INFO    ] ================================================
[2026-08-29 00:27:22,704.704 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:27:22
[2026-08-29 00:27:23,016.016 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:27:23,166.166 INFO    ] Initializing speech engine...
[2026-08-29 00:27:23,170.170 INFO    ] 2026-08-29 00:27:23
[2026-08-29 00:27:23,385.385 INFO    ] 2026-08-29 00:27:23
[2026-08-29 00:27:23,416.416 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:27:23,549.549 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:27:23,567.567 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:27:23,707.707 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:27:23,761.761 INFO    ] time= 29/08/2026 00:27:23
[2026-08-29 00:27:23,782.782 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:27:23,843.843 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:27:23,943.943 INFO    ] No existing commands found in stream
[2026-08-29 00:27:28,953.953 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:27:28,956.956 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-08-29 00:27:29,379.379 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:27:29,380.380 INFO    ] Checking for system updates...
[2026-08-29 00:27:29,401.401 INFO    ] 200
[2026-08-29 00:27:29,402.402 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:27:29,434.434 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:27:29,436.436 INFO    ] No update needed
[2026-08-29 00:27:29,437.437 INFO    ] Checking for camera pi updates...
[2026-08-29 00:27:29,456.456 INFO    ] 200
[2026-08-29 00:27:29,457.457 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:27:29,480.480 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:27:29,563.563 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:27:29,564.564 INFO    ] No camera update needed
[2026-08-29 00:27:29,565.565 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:27:29,566.566 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:27:29,569.569 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:27:29,572.572 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:27:31,611.611 INFO    ] ================================================
[2026-08-29 00:27:31,631.631 INFO    ] Launching Daemon at Sat Aug 29 00:27:31 IST 2026
[2026-08-29 00:27:31,642.642 INFO    ] ================================================
[2026-08-29 00:27:32,017.017 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:27:32
[2026-08-29 00:27:32,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:27:32,853.853 INFO    ] Initializing speech engine...
[2026-08-29 00:27:32,870.870 INFO    ] 2026-08-29 00:27:32
[2026-08-29 00:27:33,140.140 INFO    ] 2026-08-29 00:27:33
[2026-08-29 00:27:33,176.176 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:27:33,325.325 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:27:33,338.338 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:27:33,467.467 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:27:33,476.476 INFO    ] time= 29/08/2026 00:27:33
[2026-08-29 00:27:33,481.481 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:27:33,501.501 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:27:33,552.552 INFO    ] No existing commands found in stream
[2026-08-29 00:27:38,564.564 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:27:38,567.567 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-08-29 00:27:42,080.080 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:27:42,081.081 INFO    ] Checking for system updates...
[2026-08-29 00:27:42,103.103 INFO    ] 200
[2026-08-29 00:27:42,104.104 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:27:42,136.136 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:27:42,137.137 INFO    ] No update needed
[2026-08-29 00:27:42,138.138 INFO    ] Checking for camera pi updates...
[2026-08-29 00:27:42,158.158 INFO    ] 200
[2026-08-29 00:27:42,160.160 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:27:42,184.184 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:27:42,359.359 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:27:42,360.360 INFO    ] No camera update needed
[2026-08-29 00:27:42,362.362 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:27:42,364.364 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:27:42,369.369 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:27:42,374.374 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:27:44,415.415 INFO    ] ================================================
[2026-08-29 00:27:44,431.431 INFO    ] Launching Daemon at Sat Aug 29 00:27:44 IST 2026
[2026-08-29 00:27:44,443.443 INFO    ] ================================================
[2026-08-29 00:27:44,785.785 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:27:44
[2026-08-29 00:27:45,098.098 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:27:45,229.229 INFO    ] Initializing speech engine...
[2026-08-29 00:27:45,237.237 INFO    ] 2026-08-29 00:27:45
[2026-08-29 00:27:45,451.451 INFO    ] 2026-08-29 00:27:45
[2026-08-29 00:27:45,479.479 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:27:45,609.609 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:27:45,667.667 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:27:45,800.800 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:27:45,856.856 INFO    ] time= 29/08/2026 00:27:45
[2026-08-29 00:27:45,880.880 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:27:45,902.902 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:27:45,973.973 INFO    ] No existing commands found in stream
[2026-08-29 00:27:50,983.983 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:27:50,986.986 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-08-29 00:27:53,196.196 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:27:53,198.198 INFO    ] Checking for system updates...
[2026-08-29 00:27:53,219.219 INFO    ] 200
[2026-08-29 00:27:53,221.221 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:27:53,253.253 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:27:53,254.254 INFO    ] No update needed
[2026-08-29 00:27:53,255.255 INFO    ] Checking for camera pi updates...
[2026-08-29 00:27:53,274.274 INFO    ] 200
[2026-08-29 00:27:53,275.275 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:27:53,299.299 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:27:53,402.402 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:27:53,404.404 INFO    ] No camera update needed
[2026-08-29 00:27:53,405.405 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:27:53,406.406 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:27:53,409.409 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:27:53,412.412 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:27:55,450.450 INFO    ] ================================================
[2026-08-29 00:27:55,466.466 INFO    ] Launching Daemon at Sat Aug 29 00:27:55 IST 2026
[2026-08-29 00:27:55,477.477 INFO    ] ================================================
[2026-08-29 00:27:55,843.843 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:27:55
[2026-08-29 00:27:56,156.156 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:27:56,294.294 INFO    ] Initializing speech engine...
[2026-08-29 00:27:56,303.303 INFO    ] 2026-08-29 00:27:56
[2026-08-29 00:27:56,510.510 INFO    ] 2026-08-29 00:27:56
[2026-08-29 00:27:56,538.538 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:27:56,661.661 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:27:56,710.710 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:27:56,901.901 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:27:56,945.945 INFO    ] time= 29/08/2026 00:27:56
[2026-08-29 00:27:57,010.010 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:27:57,032.032 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:27:57,146.146 INFO    ] No existing commands found in stream
[2026-08-29 00:28:02,172.172 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:28:02,176.176 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-08-29 00:28:05,038.038 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:28:05,040.040 INFO    ] Checking for system updates...
[2026-08-29 00:28:05,079.079 INFO    ] 200
[2026-08-29 00:28:05,081.081 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:28:05,111.111 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:28:05,113.113 INFO    ] No update needed
[2026-08-29 00:28:05,114.114 INFO    ] Checking for camera pi updates...
[2026-08-29 00:28:05,133.133 INFO    ] 200
[2026-08-29 00:28:05,134.134 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:28:05,157.157 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:28:05,248.248 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:28:05,249.249 INFO    ] No camera update needed
[2026-08-29 00:28:05,250.250 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:28:05,252.252 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:28:05,255.255 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:28:05,257.257 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:28:07,300.300 INFO    ] ================================================
[2026-08-29 00:28:07,315.315 INFO    ] Launching Daemon at Sat Aug 29 00:28:07 IST 2026
[2026-08-29 00:28:07,326.326 INFO    ] ================================================
[2026-08-29 00:28:07,654.654 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:28:07
[2026-08-29 00:28:07,971.971 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:28:08,101.101 INFO    ] Initializing speech engine...
[2026-08-29 00:28:08,106.106 INFO    ] 2026-08-29 00:28:08
[2026-08-29 00:28:08,323.323 INFO    ] 2026-08-29 00:28:08
[2026-08-29 00:28:08,351.351 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:28:08,473.473 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:28:08,516.516 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:28:08,666.666 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:28:08,727.727 INFO    ] time= 29/08/2026 00:28:08
[2026-08-29 00:28:08,762.762 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:28:08,767.767 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:28:08,837.837 INFO    ] No existing commands found in stream
[2026-08-29 00:28:13,848.848 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:28:13,851.851 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-08-29 00:28:14,988.988 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:28:14,989.989 INFO    ] Checking for system updates...
[2026-08-29 00:28:15,012.012 INFO    ] 200
[2026-08-29 00:28:15,014.014 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:28:15,046.046 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:28:15,048.048 INFO    ] No update needed
[2026-08-29 00:28:15,049.049 INFO    ] Checking for camera pi updates...
[2026-08-29 00:28:15,071.071 INFO    ] 200
[2026-08-29 00:28:15,072.072 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:28:15,097.097 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:28:15,181.181 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:28:15,182.182 INFO    ] No camera update needed
[2026-08-29 00:28:15,184.184 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:28:15,185.185 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:28:15,188.188 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:28:15,191.191 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:28:17,231.231 INFO    ] ================================================
[2026-08-29 00:28:17,251.251 INFO    ] Launching Daemon at Sat Aug 29 00:28:17 IST 2026
[2026-08-29 00:28:17,263.263 INFO    ] ================================================
[2026-08-29 00:28:17,632.632 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:28:17
[2026-08-29 00:28:17,944.944 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:28:18,074.074 INFO    ] Initializing speech engine...
[2026-08-29 00:28:18,079.079 INFO    ] 2026-08-29 00:28:18
[2026-08-29 00:28:18,297.297 INFO    ] 2026-08-29 00:28:18
[2026-08-29 00:28:18,326.326 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:28:18,439.439 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:28:18,443.443 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:28:18,598.598 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:28:18,647.647 INFO    ] time= 29/08/2026 00:28:18
[2026-08-29 00:28:18,653.653 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:28:18,668.668 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:28:18,774.774 INFO    ] No existing commands found in stream
[2026-08-29 00:28:23,799.799 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:28:23,802.802 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-08-29 00:28:24,621.621 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:28:24,623.623 INFO    ] Checking for system updates...
[2026-08-29 00:28:24,644.644 INFO    ] 200
[2026-08-29 00:28:24,645.645 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:28:24,675.675 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:28:24,676.676 INFO    ] No update needed
[2026-08-29 00:28:24,677.677 INFO    ] Checking for camera pi updates...
[2026-08-29 00:28:24,698.698 INFO    ] 200
[2026-08-29 00:28:24,699.699 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:28:24,722.722 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:28:24,799.799 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:28:24,801.801 INFO    ] No camera update needed
[2026-08-29 00:28:24,802.802 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:28:24,803.803 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:28:24,806.806 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:28:24,809.809 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:28:26,850.850 INFO    ] ================================================
[2026-08-29 00:28:26,866.866 INFO    ] Launching Daemon at Sat Aug 29 00:28:26 IST 2026
[2026-08-29 00:28:26,876.876 INFO    ] ================================================
[2026-08-29 00:28:27,219.219 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:28:27
[2026-08-29 00:28:27,531.531 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:28:27,669.669 INFO    ] Initializing speech engine...
[2026-08-29 00:28:27,678.678 INFO    ] 2026-08-29 00:28:27
[2026-08-29 00:28:27,884.884 INFO    ] 2026-08-29 00:28:27
[2026-08-29 00:28:27,913.913 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:28:28,037.037 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:28:28,081.081 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:28:28,192.192 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:28:28,200.200 INFO    ] time= 29/08/2026 00:28:28
[2026-08-29 00:28:28,230.230 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:28:28,278.278 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:28:28,397.397 INFO    ] No existing commands found in stream
[2026-08-29 00:28:33,415.415 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:28:33,418.418 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-08-29 00:28:35,200.200 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:28:35,202.202 INFO    ] Checking for system updates...
[2026-08-29 00:28:35,222.222 INFO    ] 200
[2026-08-29 00:28:35,224.224 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:28:35,256.256 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:28:35,257.257 INFO    ] No update needed
[2026-08-29 00:28:35,258.258 INFO    ] Checking for camera pi updates...
[2026-08-29 00:28:35,278.278 INFO    ] 200
[2026-08-29 00:28:35,279.279 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:28:35,302.302 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:28:35,402.402 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:28:35,405.405 INFO    ] No camera update needed
[2026-08-29 00:28:35,407.407 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:28:35,409.409 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:28:35,415.415 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:28:35,419.419 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:28:37,463.463 INFO    ] ================================================
[2026-08-29 00:28:37,479.479 INFO    ] Launching Daemon at Sat Aug 29 00:28:37 IST 2026
[2026-08-29 00:28:37,490.490 INFO    ] ================================================
[2026-08-29 00:28:38,073.073 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:28:38
[2026-08-29 00:28:38,575.575 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:28:38,712.712 INFO    ] Initializing speech engine...
[2026-08-29 00:28:38,720.720 INFO    ] 2026-08-29 00:28:38
[2026-08-29 00:28:38,925.925 INFO    ] 2026-08-29 00:28:38
[2026-08-29 00:28:38,954.954 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:28:39,081.081 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:28:39,138.138 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:28:39,268.268 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:28:39,324.324 INFO    ] time= 29/08/2026 00:28:39
[2026-08-29 00:28:39,363.363 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:28:39,369.369 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:28:39,439.439 INFO    ] No existing commands found in stream
[2026-08-29 00:28:44,450.450 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:28:44,453.453 INFO    ] Waiting 3.84 seconds before fallback handling...
[2026-08-29 00:28:48,638.638 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:28:48,640.640 INFO    ] Checking for system updates...
[2026-08-29 00:28:48,660.660 INFO    ] 200
[2026-08-29 00:28:48,661.661 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:28:48,691.691 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:28:48,693.693 INFO    ] No update needed
[2026-08-29 00:28:48,694.694 INFO    ] Checking for camera pi updates...
[2026-08-29 00:28:48,714.714 INFO    ] 200
[2026-08-29 00:28:48,716.716 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:28:48,738.738 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:28:48,834.834 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:28:48,835.835 INFO    ] No camera update needed
[2026-08-29 00:28:48,836.836 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:28:48,838.838 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:28:48,840.840 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:28:48,843.843 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:28:50,881.881 INFO    ] ================================================
[2026-08-29 00:28:50,896.896 INFO    ] Launching Daemon at Sat Aug 29 00:28:50 IST 2026
[2026-08-29 00:28:50,907.907 INFO    ] ================================================
[2026-08-29 00:28:51,267.267 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:28:51
[2026-08-29 00:28:51,584.584 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:28:51,728.728 INFO    ] Initializing speech engine...
[2026-08-29 00:28:51,732.732 INFO    ] 2026-08-29 00:28:51
[2026-08-29 00:28:51,937.937 INFO    ] 2026-08-29 00:28:51
[2026-08-29 00:28:51,965.965 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:28:52,089.089 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:28:52,152.152 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:28:52,283.283 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:28:52,344.344 INFO    ] time= 29/08/2026 00:28:52
[2026-08-29 00:28:52,382.382 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:28:52,384.384 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:28:52,454.454 INFO    ] No existing commands found in stream
[2026-08-29 00:28:57,464.464 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:28:57,467.467 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-08-29 00:28:59,203.203 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:28:59,205.205 INFO    ] Checking for system updates...
[2026-08-29 00:28:59,225.225 INFO    ] 200
[2026-08-29 00:28:59,226.226 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:28:59,258.258 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:28:59,259.259 INFO    ] No update needed
[2026-08-29 00:28:59,261.261 INFO    ] Checking for camera pi updates...
[2026-08-29 00:28:59,280.280 INFO    ] 200
[2026-08-29 00:28:59,281.281 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:28:59,306.306 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:28:59,389.389 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:28:59,390.390 INFO    ] No camera update needed
[2026-08-29 00:28:59,391.391 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:28:59,392.392 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:28:59,395.395 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:28:59,398.398 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:29:01,436.436 INFO    ] ================================================
[2026-08-29 00:29:01,452.452 INFO    ] Launching Daemon at Sat Aug 29 00:29:01 IST 2026
[2026-08-29 00:29:01,463.463 INFO    ] ================================================
[2026-08-29 00:29:02,103.103 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:29:02
[2026-08-29 00:29:02,769.769 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:29:03,087.087 INFO    ] Initializing speech engine...
[2026-08-29 00:29:03,098.098 INFO    ] 2026-08-29 00:29:03
[2026-08-29 00:29:03,398.398 INFO    ] 2026-08-29 00:29:03
[2026-08-29 00:29:03,439.439 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:29:03,585.585 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:29:03,592.592 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:29:03,723.723 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:29:03,732.732 INFO    ] time= 29/08/2026 00:29:03
[2026-08-29 00:29:03,738.738 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:29:03,757.757 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:29:03,865.865 INFO    ] No existing commands found in stream
[2026-08-29 00:29:08,876.876 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:29:08,879.879 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 00:29:11,018.018 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:29:11,019.019 INFO    ] Checking for system updates...
[2026-08-29 00:29:11,041.041 INFO    ] 200
[2026-08-29 00:29:11,043.043 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:29:11,073.073 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:29:11,074.074 INFO    ] No update needed
[2026-08-29 00:29:11,076.076 INFO    ] Checking for camera pi updates...
[2026-08-29 00:29:11,096.096 INFO    ] 200
[2026-08-29 00:29:11,097.097 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:29:11,122.122 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:29:11,203.203 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:29:11,204.204 INFO    ] No camera update needed
[2026-08-29 00:29:11,205.205 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:29:11,206.206 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:29:11,209.209 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:29:11,212.212 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:29:13,251.251 INFO    ] ================================================
[2026-08-29 00:29:13,266.266 INFO    ] Launching Daemon at Sat Aug 29 00:29:13 IST 2026
[2026-08-29 00:29:13,277.277 INFO    ] ================================================
[2026-08-29 00:29:13,653.653 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:29:13
[2026-08-29 00:29:13,981.981 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:29:14,120.120 INFO    ] Initializing speech engine...
[2026-08-29 00:29:14,130.130 INFO    ] 2026-08-29 00:29:14
[2026-08-29 00:29:14,335.335 INFO    ] 2026-08-29 00:29:14
[2026-08-29 00:29:14,364.364 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:29:14,485.485 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:29:14,524.524 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:29:14,679.679 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:29:14,741.741 INFO    ] time= 29/08/2026 00:29:14
[2026-08-29 00:29:14,770.770 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:29:14,786.786 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:29:14,853.853 INFO    ] No existing commands found in stream
[2026-08-29 00:29:19,862.862 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:29:19,865.865 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-08-29 00:29:21,320.320 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:29:21,321.321 INFO    ] Checking for system updates...
[2026-08-29 00:29:21,342.342 INFO    ] 200
[2026-08-29 00:29:21,344.344 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:29:21,376.376 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:29:21,377.377 INFO    ] No update needed
[2026-08-29 00:29:21,378.378 INFO    ] Checking for camera pi updates...
[2026-08-29 00:29:21,398.398 INFO    ] 200
[2026-08-29 00:29:21,399.399 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:29:21,424.424 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:29:21,526.526 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:29:21,527.527 INFO    ] No camera update needed
[2026-08-29 00:29:21,528.528 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:29:21,529.529 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:29:21,533.533 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:29:21,535.535 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:29:23,573.573 INFO    ] ================================================
[2026-08-29 00:29:23,589.589 INFO    ] Launching Daemon at Sat Aug 29 00:29:23 IST 2026
[2026-08-29 00:29:23,600.600 INFO    ] ================================================
[2026-08-29 00:29:23,971.971 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:29:23
[2026-08-29 00:29:24,285.285 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:29:24,511.511 INFO    ] Initializing speech engine...
[2026-08-29 00:29:24,520.520 INFO    ] 2026-08-29 00:29:24
[2026-08-29 00:29:24,769.769 INFO    ] 2026-08-29 00:29:24
[2026-08-29 00:29:24,804.804 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:29:24,976.976 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:29:24,988.988 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:29:25,097.097 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:29:25,102.102 INFO    ] time= 29/08/2026 00:29:25
[2026-08-29 00:29:25,119.119 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:29:25,138.138 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:29:25,212.212 INFO    ] No existing commands found in stream
[2026-08-29 00:29:30,224.224 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:29:30,227.227 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 00:29:31,718.718 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:29:31,719.719 INFO    ] Checking for system updates...
[2026-08-29 00:29:31,750.750 INFO    ] 200
[2026-08-29 00:29:31,752.752 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:29:31,793.793 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:29:31,794.794 INFO    ] No update needed
[2026-08-29 00:29:31,796.796 INFO    ] Checking for camera pi updates...
[2026-08-29 00:29:31,839.839 INFO    ] 200
[2026-08-29 00:29:31,842.842 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:29:31,888.888 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:29:31,997.997 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:29:32,000.000 INFO    ] No camera update needed
[2026-08-29 00:29:32,003.003 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:29:32,005.005 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:29:32,011.011 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:29:32,017.017 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:29:34,057.057 INFO    ] ================================================
[2026-08-29 00:29:34,073.073 INFO    ] Launching Daemon at Sat Aug 29 00:29:34 IST 2026
[2026-08-29 00:29:34,085.085 INFO    ] ================================================
[2026-08-29 00:29:34,674.674 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:29:34
[2026-08-29 00:29:35,115.115 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:29:35,254.254 INFO    ] Initializing speech engine...
[2026-08-29 00:29:35,263.263 INFO    ] 2026-08-29 00:29:35
[2026-08-29 00:29:35,468.468 INFO    ] 2026-08-29 00:29:35
[2026-08-29 00:29:35,498.498 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:29:35,618.618 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:29:35,652.652 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:29:35,790.790 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:29:35,821.821 INFO    ] time= 29/08/2026 00:29:35
[2026-08-29 00:29:35,891.891 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:29:35,915.915 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:29:35,985.985 INFO    ] No existing commands found in stream
[2026-08-29 00:29:40,996.996 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:29:40,998.998 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 00:29:42,235.235 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:29:42,237.237 INFO    ] Checking for system updates...
[2026-08-29 00:29:42,258.258 INFO    ] 200
[2026-08-29 00:29:42,259.259 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:29:42,293.293 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:29:42,295.295 INFO    ] No update needed
[2026-08-29 00:29:42,296.296 INFO    ] Checking for camera pi updates...
[2026-08-29 00:29:42,315.315 INFO    ] 200
[2026-08-29 00:29:42,317.317 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:29:42,344.344 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:29:42,443.443 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:29:42,445.445 INFO    ] No camera update needed
[2026-08-29 00:29:42,446.446 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:29:42,447.447 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:29:42,450.450 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:29:42,453.453 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:29:44,492.492 INFO    ] ================================================
[2026-08-29 00:29:44,508.508 INFO    ] Launching Daemon at Sat Aug 29 00:29:44 IST 2026
[2026-08-29 00:29:44,519.519 INFO    ] ================================================
[2026-08-29 00:29:44,883.883 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:29:44
[2026-08-29 00:29:45,222.222 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:29:45,373.373 INFO    ] Initializing speech engine...
[2026-08-29 00:29:45,379.379 INFO    ] 2026-08-29 00:29:45
[2026-08-29 00:29:45,574.574 INFO    ] 2026-08-29 00:29:45
[2026-08-29 00:29:45,654.654 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:29:45,800.800 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:29:45,809.809 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:29:45,940.940 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:29:45,962.962 INFO    ] time= 29/08/2026 00:29:45
[2026-08-29 00:29:46,026.026 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:29:46,072.072 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:29:46,125.125 INFO    ] No existing commands found in stream
[2026-08-29 00:29:51,137.137 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:29:51,140.140 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-08-29 00:29:53,027.027 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:29:53,028.028 INFO    ] Checking for system updates...
[2026-08-29 00:29:53,049.049 INFO    ] 200
[2026-08-29 00:29:53,050.050 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:29:53,082.082 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:29:53,084.084 INFO    ] No update needed
[2026-08-29 00:29:53,085.085 INFO    ] Checking for camera pi updates...
[2026-08-29 00:29:53,106.106 INFO    ] 200
[2026-08-29 00:29:53,107.107 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:29:53,130.130 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:29:53,310.310 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:29:53,311.311 INFO    ] No camera update needed
[2026-08-29 00:29:53,313.313 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:29:53,314.314 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:29:53,317.317 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:29:53,320.320 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:29:55,361.361 INFO    ] ================================================
[2026-08-29 00:29:55,377.377 INFO    ] Launching Daemon at Sat Aug 29 00:29:55 IST 2026
[2026-08-29 00:29:55,388.388 INFO    ] ================================================
[2026-08-29 00:29:55,748.748 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:29:55
[2026-08-29 00:29:56,061.061 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:29:56,203.203 INFO    ] Initializing speech engine...
[2026-08-29 00:29:56,208.208 INFO    ] 2026-08-29 00:29:56
[2026-08-29 00:29:56,412.412 INFO    ] 2026-08-29 00:29:56
[2026-08-29 00:29:56,440.440 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:29:56,563.563 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:29:56,606.606 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:29:56,762.762 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:29:56,827.827 INFO    ] time= 29/08/2026 00:29:56
[2026-08-29 00:29:56,853.853 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:29:56,859.859 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:29:56,925.925 INFO    ] No existing commands found in stream
[2026-08-29 00:30:01,935.935 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:30:01,940.940 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-08-29 00:30:06,969.969 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:30:06,970.970 INFO    ] Checking for system updates...
[2026-08-29 00:30:06,992.992 INFO    ] 200
[2026-08-29 00:30:06,993.993 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:30:07,025.025 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:30:07,027.027 INFO    ] No update needed
[2026-08-29 00:30:07,029.029 INFO    ] Checking for camera pi updates...
[2026-08-29 00:30:07,058.058 INFO    ] 200
[2026-08-29 00:30:07,060.060 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:30:07,092.092 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:30:07,209.209 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:30:07,218.218 INFO    ] No camera update needed
[2026-08-29 00:30:07,220.220 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:30:07,222.222 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:30:07,228.228 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:30:07,233.233 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:30:09,275.275 INFO    ] ================================================
[2026-08-29 00:30:09,291.291 INFO    ] Launching Daemon at Sat Aug 29 00:30:09 IST 2026
[2026-08-29 00:30:09,302.302 INFO    ] ================================================
[2026-08-29 00:30:09,880.880 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:30:09
[2026-08-29 00:30:10,353.353 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:30:10,494.494 INFO    ] Initializing speech engine...
[2026-08-29 00:30:10,499.499 INFO    ] 2026-08-29 00:30:10
[2026-08-29 00:30:10,701.701 INFO    ] 2026-08-29 00:30:10
[2026-08-29 00:30:10,737.737 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:30:10,898.898 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:30:10,906.906 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:30:11,066.066 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:30:11,105.105 INFO    ] time= 29/08/2026 00:30:11
[2026-08-29 00:30:11,111.111 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:30:11,132.132 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:30:11,246.246 INFO    ] No existing commands found in stream
[2026-08-29 00:30:16,269.269 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:30:16,272.272 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-08-29 00:30:19,517.517 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:30:19,518.518 INFO    ] Checking for system updates...
[2026-08-29 00:30:19,539.539 INFO    ] 200
[2026-08-29 00:30:19,540.540 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:30:19,572.572 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:30:19,573.573 INFO    ] No update needed
[2026-08-29 00:30:19,574.574 INFO    ] Checking for camera pi updates...
[2026-08-29 00:30:19,594.594 INFO    ] 200
[2026-08-29 00:30:19,596.596 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:30:19,619.619 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:30:19,707.707 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:30:19,709.709 INFO    ] No camera update needed
[2026-08-29 00:30:19,710.710 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:30:19,711.711 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:30:19,714.714 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:30:19,717.717 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:30:21,756.756 INFO    ] ================================================
[2026-08-29 00:30:21,772.772 INFO    ] Launching Daemon at Sat Aug 29 00:30:21 IST 2026
[2026-08-29 00:30:21,783.783 INFO    ] ================================================
[2026-08-29 00:30:22,157.157 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:30:22
[2026-08-29 00:30:22,495.495 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:30:22,646.646 INFO    ] Initializing speech engine...
[2026-08-29 00:30:22,652.652 INFO    ] 2026-08-29 00:30:22
[2026-08-29 00:30:22,862.862 INFO    ] 2026-08-29 00:30:22
[2026-08-29 00:30:22,891.891 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:30:23,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:30:23,083.083 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:30:23,236.236 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:30:23,291.291 INFO    ] time= 29/08/2026 00:30:23
[2026-08-29 00:30:23,321.321 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:30:23,377.377 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:30:23,488.488 INFO    ] No existing commands found in stream
[2026-08-29 00:30:28,521.521 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:30:28,531.531 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-08-29 00:30:34,047.047 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:30:34,055.055 INFO    ] Checking for system updates...
[2026-08-29 00:30:34,095.095 INFO    ] 200
[2026-08-29 00:30:34,097.097 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:30:34,150.150 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:30:34,152.152 INFO    ] No update needed
[2026-08-29 00:30:34,155.155 INFO    ] Checking for camera pi updates...
[2026-08-29 00:30:34,189.189 INFO    ] 200
[2026-08-29 00:30:34,191.191 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:30:34,232.232 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:30:34,312.312 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:30:34,314.314 INFO    ] No camera update needed
[2026-08-29 00:30:34,317.317 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:30:34,319.319 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:30:34,324.324 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:30:34,329.329 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:30:36,370.370 INFO    ] ================================================
[2026-08-29 00:30:36,386.386 INFO    ] Launching Daemon at Sat Aug 29 00:30:36 IST 2026
[2026-08-29 00:30:36,398.398 INFO    ] ================================================
[2026-08-29 00:30:36,757.757 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:30:36
[2026-08-29 00:30:37,095.095 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:30:37,248.248 INFO    ] Initializing speech engine...
[2026-08-29 00:30:37,255.255 INFO    ] 2026-08-29 00:30:37
[2026-08-29 00:30:37,465.465 INFO    ] 2026-08-29 00:30:37
[2026-08-29 00:30:37,494.494 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:30:37,618.618 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:30:37,682.682 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:30:37,819.819 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:30:37,882.882 INFO    ] time= 29/08/2026 00:30:37
[2026-08-29 00:30:37,915.915 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:30:37,922.922 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:30:37,989.989 INFO    ] No existing commands found in stream
[2026-08-29 00:30:43,001.001 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:30:43,004.004 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-08-29 00:30:46,750.750 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:30:46,753.753 INFO    ] Checking for system updates...
[2026-08-29 00:30:46,796.796 INFO    ] 200
[2026-08-29 00:30:46,800.800 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:30:46,864.864 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:30:46,867.867 INFO    ] No update needed
[2026-08-29 00:30:46,870.870 INFO    ] Checking for camera pi updates...
[2026-08-29 00:30:46,906.906 INFO    ] 200
[2026-08-29 00:30:46,908.908 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:30:46,950.950 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:30:47,058.058 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:30:47,061.061 INFO    ] No camera update needed
[2026-08-29 00:30:47,064.064 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:30:47,067.067 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:30:47,073.073 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:30:47,079.079 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:30:49,123.123 INFO    ] ================================================
[2026-08-29 00:30:49,140.140 INFO    ] Launching Daemon at Sat Aug 29 00:30:49 IST 2026
[2026-08-29 00:30:49,151.151 INFO    ] ================================================
[2026-08-29 00:30:49,540.540 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:30:49
[2026-08-29 00:30:49,886.886 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:30:50,043.043 INFO    ] Initializing speech engine...
[2026-08-29 00:30:50,048.048 INFO    ] 2026-08-29 00:30:50
[2026-08-29 00:30:50,272.272 INFO    ] 2026-08-29 00:30:50
[2026-08-29 00:30:50,328.328 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:30:50,500.500 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:30:50,509.509 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:30:50,671.671 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:30:50,716.716 INFO    ] time= 29/08/2026 00:30:50
[2026-08-29 00:30:50,735.735 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:30:50,746.746 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:30:50,862.862 INFO    ] No existing commands found in stream
[2026-08-29 00:30:55,888.888 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:30:55,897.897 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-08-29 00:30:56,600.600 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:30:56,601.601 INFO    ] Checking for system updates...
[2026-08-29 00:30:56,622.622 INFO    ] 200
[2026-08-29 00:30:56,624.624 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:30:56,656.656 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:30:56,658.658 INFO    ] No update needed
[2026-08-29 00:30:56,659.659 INFO    ] Checking for camera pi updates...
[2026-08-29 00:30:56,679.679 INFO    ] 200
[2026-08-29 00:30:56,680.680 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:30:56,704.704 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:30:56,833.833 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:30:56,835.835 INFO    ] No camera update needed
[2026-08-29 00:30:56,836.836 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:30:56,838.838 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:30:56,841.841 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:30:56,844.844 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:30:58,885.885 INFO    ] ================================================
[2026-08-29 00:30:58,901.901 INFO    ] Launching Daemon at Sat Aug 29 00:30:58 IST 2026
[2026-08-29 00:30:58,911.911 INFO    ] ================================================
[2026-08-29 00:30:59,248.248 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:30:59
[2026-08-29 00:30:59,568.568 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:30:59,708.708 INFO    ] Initializing speech engine...
[2026-08-29 00:30:59,719.719 INFO    ] 2026-08-29 00:30:59
[2026-08-29 00:30:59,922.922 INFO    ] 2026-08-29 00:30:59
[2026-08-29 00:30:59,951.951 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:31:00,075.075 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:31:00,107.107 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:31:00,246.246 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:31:00,278.278 INFO    ] time= 29/08/2026 00:31:00
[2026-08-29 00:31:00,332.332 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:31:00,366.366 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:31:00,440.440 INFO    ] No existing commands found in stream
[2026-08-29 00:31:05,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:31:05,454.454 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-08-29 00:31:08,996.996 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:31:08,998.998 INFO    ] Checking for system updates...
[2026-08-29 00:31:09,019.019 INFO    ] 200
[2026-08-29 00:31:09,020.020 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:31:09,050.050 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:31:09,052.052 INFO    ] No update needed
[2026-08-29 00:31:09,053.053 INFO    ] Checking for camera pi updates...
[2026-08-29 00:31:09,073.073 INFO    ] 200
[2026-08-29 00:31:09,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:31:09,096.096 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:31:09,175.175 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:31:09,176.176 INFO    ] No camera update needed
[2026-08-29 00:31:09,177.177 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:31:09,178.178 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:31:09,181.181 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:31:09,184.184 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:31:11,224.224 INFO    ] ================================================
[2026-08-29 00:31:11,239.239 INFO    ] Launching Daemon at Sat Aug 29 00:31:11 IST 2026
[2026-08-29 00:31:11,250.250 INFO    ] ================================================
[2026-08-29 00:31:11,610.610 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:31:11
[2026-08-29 00:31:11,944.944 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:31:12,096.096 INFO    ] Initializing speech engine...
[2026-08-29 00:31:12,103.103 INFO    ] 2026-08-29 00:31:12
[2026-08-29 00:31:12,346.346 INFO    ] 2026-08-29 00:31:12
[2026-08-29 00:31:12,408.408 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:31:12,638.638 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:31:12,647.647 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:31:12,787.787 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:31:12,826.826 INFO    ] time= 29/08/2026 00:31:12
[2026-08-29 00:31:12,891.891 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:31:12,922.922 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:31:12,976.976 INFO    ] No existing commands found in stream
[2026-08-29 00:31:17,988.988 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:31:17,991.991 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-08-29 00:31:19,698.698 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:31:19,700.700 INFO    ] Checking for system updates...
[2026-08-29 00:31:19,721.721 INFO    ] 200
[2026-08-29 00:31:19,722.722 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:31:19,754.754 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:31:19,756.756 INFO    ] No update needed
[2026-08-29 00:31:19,758.758 INFO    ] Checking for camera pi updates...
[2026-08-29 00:31:19,777.777 INFO    ] 200
[2026-08-29 00:31:19,779.779 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:31:19,802.802 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:31:19,885.885 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:31:19,886.886 INFO    ] No camera update needed
[2026-08-29 00:31:19,888.888 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:31:19,889.889 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:31:19,892.892 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:31:19,895.895 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:31:21,934.934 INFO    ] ================================================
[2026-08-29 00:31:21,949.949 INFO    ] Launching Daemon at Sat Aug 29 00:31:21 IST 2026
[2026-08-29 00:31:21,961.961 INFO    ] ================================================
[2026-08-29 00:31:22,307.307 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:31:22
[2026-08-29 00:31:22,625.625 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:31:22,756.756 INFO    ] Initializing speech engine...
[2026-08-29 00:31:22,760.760 INFO    ] 2026-08-29 00:31:22
[2026-08-29 00:31:22,979.979 INFO    ] 2026-08-29 00:31:22
[2026-08-29 00:31:23,008.008 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:31:23,132.132 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:31:23,195.195 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:31:23,327.327 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:31:23,388.388 INFO    ] time= 29/08/2026 00:31:23
[2026-08-29 00:31:23,412.412 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:31:23,428.428 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:31:23,500.500 INFO    ] No existing commands found in stream
[2026-08-29 00:31:28,510.510 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:31:28,513.513 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-08-29 00:31:28,910.910 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:31:28,912.912 INFO    ] Checking for system updates...
[2026-08-29 00:31:28,933.933 INFO    ] 200
[2026-08-29 00:31:28,934.934 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:31:28,966.966 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:31:28,967.967 INFO    ] No update needed
[2026-08-29 00:31:28,969.969 INFO    ] Checking for camera pi updates...
[2026-08-29 00:31:28,988.988 INFO    ] 200
[2026-08-29 00:31:28,989.989 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:31:29,012.012 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:31:29,085.085 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:31:29,086.086 INFO    ] No camera update needed
[2026-08-29 00:31:29,087.087 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:31:29,089.089 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:31:29,092.092 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:31:29,095.095 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:31:31,135.135 INFO    ] ================================================
[2026-08-29 00:31:31,151.151 INFO    ] Launching Daemon at Sat Aug 29 00:31:31 IST 2026
[2026-08-29 00:31:31,164.164 INFO    ] ================================================
[2026-08-29 00:31:31,753.753 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:31:31
[2026-08-29 00:31:32,395.395 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:31:32,669.669 INFO    ] Initializing speech engine...
[2026-08-29 00:31:32,676.676 INFO    ] 2026-08-29 00:31:32
[2026-08-29 00:31:32,969.969 INFO    ] 2026-08-29 00:31:32
[2026-08-29 00:31:33,006.006 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:31:33,168.168 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:31:33,177.177 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:31:33,325.325 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:31:33,336.336 INFO    ] time= 29/08/2026 00:31:33
[2026-08-29 00:31:33,343.343 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:31:33,365.365 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:31:33,424.424 INFO    ] No existing commands found in stream
[2026-08-29 00:31:38,436.436 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:31:38,439.439 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-08-29 00:31:38,880.880 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:31:38,882.882 INFO    ] Checking for system updates...
[2026-08-29 00:31:38,902.902 INFO    ] 200
[2026-08-29 00:31:38,903.903 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:31:38,933.933 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:31:38,935.935 INFO    ] No update needed
[2026-08-29 00:31:38,936.936 INFO    ] Checking for camera pi updates...
[2026-08-29 00:31:38,955.955 INFO    ] 200
[2026-08-29 00:31:38,956.956 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:31:38,979.979 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:31:39,059.059 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:31:39,060.060 INFO    ] No camera update needed
[2026-08-29 00:31:39,061.061 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:31:39,063.063 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:31:39,066.066 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:31:39,068.068 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:31:41,107.107 INFO    ] ================================================
[2026-08-29 00:31:41,123.123 INFO    ] Launching Daemon at Sat Aug 29 00:31:41 IST 2026
[2026-08-29 00:31:41,135.135 INFO    ] ================================================
[2026-08-29 00:31:41,581.581 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:31:41
[2026-08-29 00:31:42,191.191 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:31:42,456.456 INFO    ] Initializing speech engine...
[2026-08-29 00:31:42,462.462 INFO    ] 2026-08-29 00:31:42
[2026-08-29 00:31:42,760.760 INFO    ] 2026-08-29 00:31:42
[2026-08-29 00:31:42,798.798 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:31:42,994.994 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:31:43,009.009 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:31:43,129.129 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:31:43,136.136 INFO    ] time= 29/08/2026 00:31:43
[2026-08-29 00:31:43,141.141 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:31:43,162.162 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:31:43,262.262 INFO    ] No existing commands found in stream
[2026-08-29 00:31:48,275.275 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:31:48,278.278 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 00:31:52,041.041 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:31:52,043.043 INFO    ] Checking for system updates...
[2026-08-29 00:31:52,063.063 INFO    ] 200
[2026-08-29 00:31:52,064.064 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:31:52,094.094 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:31:52,095.095 INFO    ] No update needed
[2026-08-29 00:31:52,096.096 INFO    ] Checking for camera pi updates...
[2026-08-29 00:31:52,115.115 INFO    ] 200
[2026-08-29 00:31:52,117.117 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:31:52,142.142 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:31:52,230.230 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:31:52,231.231 INFO    ] No camera update needed
[2026-08-29 00:31:52,232.232 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:31:52,234.234 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:31:52,236.236 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:31:52,239.239 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:31:54,280.280 INFO    ] ================================================
[2026-08-29 00:31:54,296.296 INFO    ] Launching Daemon at Sat Aug 29 00:31:54 IST 2026
[2026-08-29 00:31:54,307.307 INFO    ] ================================================
[2026-08-29 00:31:54,667.667 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:31:54
[2026-08-29 00:31:54,979.979 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:31:55,116.116 INFO    ] Initializing speech engine...
[2026-08-29 00:31:55,126.126 INFO    ] 2026-08-29 00:31:55
[2026-08-29 00:31:55,329.329 INFO    ] 2026-08-29 00:31:55
[2026-08-29 00:31:55,358.358 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:31:55,480.480 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:31:55,519.519 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:31:55,673.673 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:31:55,730.730 INFO    ] time= 29/08/2026 00:31:55
[2026-08-29 00:31:55,764.764 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:31:55,774.774 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:31:55,845.845 INFO    ] No existing commands found in stream
[2026-08-29 00:32:00,855.855 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:32:00,858.858 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-08-29 00:32:01,588.588 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:32:01,592.592 INFO    ] Checking for system updates...
[2026-08-29 00:32:01,635.635 INFO    ] 200
[2026-08-29 00:32:01,638.638 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:32:01,703.703 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:32:01,706.706 INFO    ] No update needed
[2026-08-29 00:32:01,710.710 INFO    ] Checking for camera pi updates...
[2026-08-29 00:32:01,756.756 INFO    ] 200
[2026-08-29 00:32:01,759.759 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:32:01,814.814 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:32:02,101.101 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:32:02,104.104 INFO    ] No camera update needed
[2026-08-29 00:32:02,107.107 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:32:02,110.110 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:32:02,118.118 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:32:02,125.125 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:32:04,167.167 INFO    ] ================================================
[2026-08-29 00:32:04,184.184 INFO    ] Launching Daemon at Sat Aug 29 00:32:04 IST 2026
[2026-08-29 00:32:04,195.195 INFO    ] ================================================
[2026-08-29 00:32:04,578.578 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:32:04
[2026-08-29 00:32:04,890.890 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:32:05,024.024 INFO    ] Initializing speech engine...
[2026-08-29 00:32:05,028.028 INFO    ] 2026-08-29 00:32:05
[2026-08-29 00:32:05,258.258 INFO    ] 2026-08-29 00:32:05
[2026-08-29 00:32:05,290.290 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:32:05,423.423 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:32:05,481.481 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:32:05,633.633 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:32:05,671.671 INFO    ] time= 29/08/2026 00:32:05
[2026-08-29 00:32:05,719.719 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:32:05,743.743 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:32:05,825.825 INFO    ] No existing commands found in stream
[2026-08-29 00:32:10,834.834 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:32:10,836.836 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-08-29 00:32:12,651.651 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:32:12,652.652 INFO    ] Checking for system updates...
[2026-08-29 00:32:12,674.674 INFO    ] 200
[2026-08-29 00:32:12,675.675 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:32:12,705.705 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:32:12,706.706 INFO    ] No update needed
[2026-08-29 00:32:12,707.707 INFO    ] Checking for camera pi updates...
[2026-08-29 00:32:12,727.727 INFO    ] 200
[2026-08-29 00:32:12,728.728 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:32:12,752.752 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:32:12,833.833 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:32:12,834.834 INFO    ] No camera update needed
[2026-08-29 00:32:12,836.836 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:32:12,837.837 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:32:12,840.840 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:32:12,843.843 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:32:14,883.883 INFO    ] ================================================
[2026-08-29 00:32:14,899.899 INFO    ] Launching Daemon at Sat Aug 29 00:32:14 IST 2026
[2026-08-29 00:32:14,910.910 INFO    ] ================================================
[2026-08-29 00:32:15,278.278 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:32:15
[2026-08-29 00:32:15,597.597 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:32:15,745.745 INFO    ] Initializing speech engine...
[2026-08-29 00:32:15,751.751 INFO    ] 2026-08-29 00:32:15
[2026-08-29 00:32:16,018.018 INFO    ] 2026-08-29 00:32:15
[2026-08-29 00:32:16,049.049 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:32:16,143.143 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:32:16,147.147 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:32:16,255.255 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:32:16,265.265 INFO    ] time= 29/08/2026 00:32:16
[2026-08-29 00:32:16,283.283 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:32:16,287.287 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:32:16,363.363 INFO    ] No existing commands found in stream
[2026-08-29 00:32:21,398.398 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:32:21,401.401 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-08-29 00:32:25,120.120 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:32:25,122.122 INFO    ] Checking for system updates...
[2026-08-29 00:32:25,142.142 INFO    ] 200
[2026-08-29 00:32:25,143.143 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:32:25,173.173 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:32:25,174.174 INFO    ] No update needed
[2026-08-29 00:32:25,176.176 INFO    ] Checking for camera pi updates...
[2026-08-29 00:32:25,195.195 INFO    ] 200
[2026-08-29 00:32:25,196.196 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:32:25,221.221 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:32:25,323.323 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:32:25,324.324 INFO    ] No camera update needed
[2026-08-29 00:32:25,326.326 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:32:25,327.327 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:32:25,330.330 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:32:25,332.332 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:32:27,371.371 INFO    ] ================================================
[2026-08-29 00:32:27,388.388 INFO    ] Launching Daemon at Sat Aug 29 00:32:27 IST 2026
[2026-08-29 00:32:27,399.399 INFO    ] ================================================
[2026-08-29 00:32:27,792.792 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:32:27
[2026-08-29 00:32:28,134.134 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:32:28,275.275 INFO    ] Initializing speech engine...
[2026-08-29 00:32:28,290.290 INFO    ] 2026-08-29 00:32:28
[2026-08-29 00:32:28,504.504 INFO    ] 2026-08-29 00:32:28
[2026-08-29 00:32:28,533.533 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:32:28,657.657 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:32:28,721.721 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:32:28,854.854 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:32:28,895.895 INFO    ] time= 29/08/2026 00:32:28
[2026-08-29 00:32:28,935.935 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:32:28,957.957 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:32:29,028.028 INFO    ] No existing commands found in stream
[2026-08-29 00:32:34,035.035 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:32:34,038.038 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-08-29 00:32:37,944.944 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:32:37,945.945 INFO    ] Checking for system updates...
[2026-08-29 00:32:37,966.966 INFO    ] 200
[2026-08-29 00:32:37,968.968 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:32:37,998.998 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:32:38,000.000 INFO    ] No update needed
[2026-08-29 00:32:38,001.001 INFO    ] Checking for camera pi updates...
[2026-08-29 00:32:38,021.021 INFO    ] 200
[2026-08-29 00:32:38,023.023 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:32:38,046.046 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:32:38,126.126 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:32:38,127.127 INFO    ] No camera update needed
[2026-08-29 00:32:38,129.129 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:32:38,130.130 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:32:38,134.134 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:32:38,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:32:40,177.177 INFO    ] ================================================
[2026-08-29 00:32:40,192.192 INFO    ] Launching Daemon at Sat Aug 29 00:32:40 IST 2026
[2026-08-29 00:32:40,203.203 INFO    ] ================================================
[2026-08-29 00:32:40,526.526 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:32:40
[2026-08-29 00:32:40,841.841 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:32:40,983.983 INFO    ] Initializing speech engine...
[2026-08-29 00:32:40,989.989 INFO    ] 2026-08-29 00:32:40
[2026-08-29 00:32:41,195.195 INFO    ] 2026-08-29 00:32:41
[2026-08-29 00:32:41,223.223 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:32:41,345.345 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:32:41,407.407 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:32:41,536.536 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:32:41,587.587 INFO    ] time= 29/08/2026 00:32:41
[2026-08-29 00:32:41,626.626 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:32:41,636.636 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:32:41,706.706 INFO    ] No existing commands found in stream
[2026-08-29 00:32:46,716.716 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:32:46,724.724 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-08-29 00:32:50,667.667 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:32:50,669.669 INFO    ] Checking for system updates...
[2026-08-29 00:32:50,697.697 INFO    ] 200
[2026-08-29 00:32:50,699.699 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:32:50,729.729 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:32:50,730.730 INFO    ] No update needed
[2026-08-29 00:32:50,732.732 INFO    ] Checking for camera pi updates...
[2026-08-29 00:32:50,751.751 INFO    ] 200
[2026-08-29 00:32:50,752.752 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:32:50,778.778 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:32:50,873.873 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:32:50,875.875 INFO    ] No camera update needed
[2026-08-29 00:32:50,876.876 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:32:50,878.878 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:32:50,881.881 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:32:50,884.884 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:32:52,924.924 INFO    ] ================================================
[2026-08-29 00:32:52,939.939 INFO    ] Launching Daemon at Sat Aug 29 00:32:52 IST 2026
[2026-08-29 00:32:52,950.950 INFO    ] ================================================
[2026-08-29 00:32:53,305.305 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:32:53
[2026-08-29 00:32:53,619.619 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:32:53,755.755 INFO    ] Initializing speech engine...
[2026-08-29 00:32:53,769.769 INFO    ] 2026-08-29 00:32:53
[2026-08-29 00:32:53,989.989 INFO    ] 2026-08-29 00:32:53
[2026-08-29 00:32:54,020.020 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:32:54,153.153 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:32:54,186.186 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:32:54,314.314 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:32:54,367.367 INFO    ] time= 29/08/2026 00:32:54
[2026-08-29 00:32:54,408.408 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:32:54,458.458 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:32:54,550.550 INFO    ] No existing commands found in stream
[2026-08-29 00:32:59,560.560 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:32:59,563.563 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-08-29 00:33:02,987.987 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:33:02,990.990 INFO    ] Checking for system updates...
[2026-08-29 00:33:03,036.036 INFO    ] 200
[2026-08-29 00:33:03,039.039 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:33:03,105.105 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:33:03,108.108 INFO    ] No update needed
[2026-08-29 00:33:03,112.112 INFO    ] Checking for camera pi updates...
[2026-08-29 00:33:03,165.165 INFO    ] 200
[2026-08-29 00:33:03,168.168 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:33:03,244.244 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:33:03,336.336 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:33:03,340.340 INFO    ] No camera update needed
[2026-08-29 00:33:03,344.344 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:33:03,347.347 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:33:03,355.355 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:33:03,364.364 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:33:05,408.408 INFO    ] ================================================
[2026-08-29 00:33:05,423.423 INFO    ] Launching Daemon at Sat Aug 29 00:33:05 IST 2026
[2026-08-29 00:33:05,434.434 INFO    ] ================================================
[2026-08-29 00:33:06,027.027 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:33:06
[2026-08-29 00:33:06,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:33:06,956.956 INFO    ] Initializing speech engine...
[2026-08-29 00:33:06,963.963 INFO    ] 2026-08-29 00:33:06
[2026-08-29 00:33:07,282.282 INFO    ] 2026-08-29 00:33:07
[2026-08-29 00:33:07,336.336 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:33:07,501.501 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:33:07,524.524 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:33:07,669.669 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:33:07,679.679 INFO    ] time= 29/08/2026 00:33:07
[2026-08-29 00:33:07,684.684 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:33:07,707.707 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:33:07,759.759 INFO    ] No existing commands found in stream
[2026-08-29 00:33:12,771.771 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:33:12,774.774 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-08-29 00:33:16,619.619 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:33:16,621.621 INFO    ] Checking for system updates...
[2026-08-29 00:33:16,642.642 INFO    ] 200
[2026-08-29 00:33:16,643.643 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:33:16,675.675 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:33:16,677.677 INFO    ] No update needed
[2026-08-29 00:33:16,678.678 INFO    ] Checking for camera pi updates...
[2026-08-29 00:33:16,698.698 INFO    ] 200
[2026-08-29 00:33:16,700.700 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:33:16,723.723 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:33:16,801.801 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:33:16,802.802 INFO    ] No camera update needed
[2026-08-29 00:33:16,804.804 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:33:16,805.805 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:33:16,808.808 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:33:16,811.811 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:33:18,849.849 INFO    ] ================================================
[2026-08-29 00:33:18,865.865 INFO    ] Launching Daemon at Sat Aug 29 00:33:18 IST 2026
[2026-08-29 00:33:18,875.875 INFO    ] ================================================
[2026-08-29 00:33:19,259.259 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:33:19
[2026-08-29 00:33:19,596.596 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:33:19,749.749 INFO    ] Initializing speech engine...
[2026-08-29 00:33:19,754.754 INFO    ] 2026-08-29 00:33:19
[2026-08-29 00:33:19,959.959 INFO    ] 2026-08-29 00:33:19
[2026-08-29 00:33:19,988.988 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:33:20,110.110 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:33:20,163.163 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:33:20,311.311 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:33:20,378.378 INFO    ] time= 29/08/2026 00:33:20
[2026-08-29 00:33:20,402.402 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:33:20,409.409 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:33:20,474.474 INFO    ] No existing commands found in stream
[2026-08-29 00:33:25,485.485 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:33:25,488.488 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-08-29 00:33:26,465.465 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:33:26,467.467 INFO    ] Checking for system updates...
[2026-08-29 00:33:26,487.487 INFO    ] 200
[2026-08-29 00:33:26,489.489 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:33:26,518.518 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:33:26,520.520 INFO    ] No update needed
[2026-08-29 00:33:26,521.521 INFO    ] Checking for camera pi updates...
[2026-08-29 00:33:26,540.540 INFO    ] 200
[2026-08-29 00:33:26,542.542 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:33:26,565.565 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:33:26,642.642 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:33:26,644.644 INFO    ] No camera update needed
[2026-08-29 00:33:26,645.645 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:33:26,646.646 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:33:26,649.649 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:33:26,652.652 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:33:28,690.690 INFO    ] ================================================
[2026-08-29 00:33:28,706.706 INFO    ] Launching Daemon at Sat Aug 29 00:33:28 IST 2026
[2026-08-29 00:33:28,716.716 INFO    ] ================================================
[2026-08-29 00:33:29,073.073 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:33:29
[2026-08-29 00:33:29,389.389 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:33:29,536.536 INFO    ] Initializing speech engine...
[2026-08-29 00:33:29,540.540 INFO    ] 2026-08-29 00:33:29
[2026-08-29 00:33:29,744.744 INFO    ] 2026-08-29 00:33:29
[2026-08-29 00:33:29,772.772 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:33:29,895.895 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:33:29,948.948 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:33:30,089.089 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:33:30,145.145 INFO    ] time= 29/08/2026 00:33:30
[2026-08-29 00:33:30,188.188 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:33:30,190.190 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:33:30,260.260 INFO    ] No existing commands found in stream
[2026-08-29 00:33:35,271.271 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:33:35,274.274 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-08-29 00:33:37,099.099 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:33:37,101.101 INFO    ] Checking for system updates...
[2026-08-29 00:33:37,123.123 INFO    ] 200
[2026-08-29 00:33:37,124.124 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:33:37,154.154 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:33:37,155.155 INFO    ] No update needed
[2026-08-29 00:33:37,156.156 INFO    ] Checking for camera pi updates...
[2026-08-29 00:33:37,175.175 INFO    ] 200
[2026-08-29 00:33:37,176.176 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:33:37,200.200 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:33:37,280.280 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:33:37,282.282 INFO    ] No camera update needed
[2026-08-29 00:33:37,283.283 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:33:37,284.284 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:33:37,287.287 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:33:37,290.290 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:33:39,330.330 INFO    ] ================================================
[2026-08-29 00:33:39,345.345 INFO    ] Launching Daemon at Sat Aug 29 00:33:39 IST 2026
[2026-08-29 00:33:39,355.355 INFO    ] ================================================
[2026-08-29 00:33:39,697.697 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:33:39
[2026-08-29 00:33:40,008.008 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:33:40,145.145 INFO    ] Initializing speech engine...
[2026-08-29 00:33:40,154.154 INFO    ] 2026-08-29 00:33:40
[2026-08-29 00:33:40,360.360 INFO    ] 2026-08-29 00:33:40
[2026-08-29 00:33:40,389.389 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:33:40,513.513 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:33:40,576.576 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:33:40,715.715 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:33:40,779.779 INFO    ] time= 29/08/2026 00:33:40
[2026-08-29 00:33:40,807.807 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:33:40,814.814 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:33:40,882.882 INFO    ] No existing commands found in stream
[2026-08-29 00:33:45,891.891 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:33:45,894.894 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-08-29 00:33:50,194.194 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:33:50,196.196 INFO    ] Checking for system updates...
[2026-08-29 00:33:50,216.216 INFO    ] 200
[2026-08-29 00:33:50,217.217 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:33:50,247.247 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:33:50,248.248 INFO    ] No update needed
[2026-08-29 00:33:50,249.249 INFO    ] Checking for camera pi updates...
[2026-08-29 00:33:50,270.270 INFO    ] 200
[2026-08-29 00:33:50,271.271 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:33:50,294.294 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:33:50,404.404 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:33:50,405.405 INFO    ] No camera update needed
[2026-08-29 00:33:50,406.406 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:33:50,407.407 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:33:50,410.410 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:33:50,413.413 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:33:52,453.453 INFO    ] ================================================
[2026-08-29 00:33:52,468.468 INFO    ] Launching Daemon at Sat Aug 29 00:33:52 IST 2026
[2026-08-29 00:33:52,479.479 INFO    ] ================================================
[2026-08-29 00:33:52,869.869 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:33:52
[2026-08-29 00:33:53,208.208 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:33:53,361.361 INFO    ] Initializing speech engine...
[2026-08-29 00:33:53,367.367 INFO    ] 2026-08-29 00:33:53
[2026-08-29 00:33:53,580.580 INFO    ] 2026-08-29 00:33:53
[2026-08-29 00:33:53,610.610 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:33:53,754.754 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:33:53,798.798 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:33:53,937.937 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:33:53,996.996 INFO    ] time= 29/08/2026 00:33:53
[2026-08-29 00:33:54,030.030 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:33:54,037.037 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:33:54,105.105 INFO    ] No existing commands found in stream
[2026-08-29 00:33:59,115.115 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:33:59,118.118 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 00:34:02,222.222 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:34:02,225.225 INFO    ] Checking for system updates...
[2026-08-29 00:34:02,264.264 INFO    ] 200
[2026-08-29 00:34:02,267.267 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:34:02,335.335 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:34:02,338.338 INFO    ] No update needed
[2026-08-29 00:34:02,341.341 INFO    ] Checking for camera pi updates...
[2026-08-29 00:34:02,379.379 INFO    ] 200
[2026-08-29 00:34:02,382.382 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:34:02,431.431 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:34:02,568.568 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:34:02,571.571 INFO    ] No camera update needed
[2026-08-29 00:34:02,574.574 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:34:02,577.577 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:34:02,586.586 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:34:02,593.593 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:34:04,634.634 INFO    ] ================================================
[2026-08-29 00:34:04,649.649 INFO    ] Launching Daemon at Sat Aug 29 00:34:04 IST 2026
[2026-08-29 00:34:04,660.660 INFO    ] ================================================
[2026-08-29 00:34:05,241.241 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:34:05
[2026-08-29 00:34:05,842.842 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:34:06,036.036 INFO    ] Initializing speech engine...
[2026-08-29 00:34:06,046.046 INFO    ] 2026-08-29 00:34:06
[2026-08-29 00:34:06,250.250 INFO    ] 2026-08-29 00:34:06
[2026-08-29 00:34:06,279.279 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:34:06,386.386 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:34:06,395.395 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:34:06,564.564 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:34:06,596.596 INFO    ] time= 29/08/2026 00:34:06
[2026-08-29 00:34:06,614.614 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:34:06,620.620 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:34:06,719.719 INFO    ] No existing commands found in stream
[2026-08-29 00:34:11,746.746 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:34:11,749.749 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-08-29 00:34:13,884.884 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:34:13,885.885 INFO    ] Checking for system updates...
[2026-08-29 00:34:13,905.905 INFO    ] 200
[2026-08-29 00:34:13,907.907 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:34:13,936.936 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:34:13,938.938 INFO    ] No update needed
[2026-08-29 00:34:13,939.939 INFO    ] Checking for camera pi updates...
[2026-08-29 00:34:13,959.959 INFO    ] 200
[2026-08-29 00:34:13,960.960 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:34:13,986.986 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:34:14,180.180 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:34:14,182.182 INFO    ] No camera update needed
[2026-08-29 00:34:14,183.183 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:34:14,184.184 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:34:14,187.187 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:34:14,190.190 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:34:16,230.230 INFO    ] ================================================
[2026-08-29 00:34:16,245.245 INFO    ] Launching Daemon at Sat Aug 29 00:34:16 IST 2026
[2026-08-29 00:34:16,256.256 INFO    ] ================================================
[2026-08-29 00:34:16,626.626 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:34:16
[2026-08-29 00:34:16,943.943 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:34:17,077.077 INFO    ] Initializing speech engine...
[2026-08-29 00:34:17,092.092 INFO    ] 2026-08-29 00:34:17
[2026-08-29 00:34:17,297.297 INFO    ] 2026-08-29 00:34:17
[2026-08-29 00:34:17,326.326 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:34:17,448.448 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:34:17,510.510 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:34:17,641.641 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:34:17,702.702 INFO    ] time= 29/08/2026 00:34:17
[2026-08-29 00:34:17,736.736 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:34:17,741.741 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:34:17,811.811 INFO    ] No existing commands found in stream
[2026-08-29 00:34:22,822.822 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:34:22,825.825 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 00:34:23,476.476 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:34:23,478.478 INFO    ] Checking for system updates...
[2026-08-29 00:34:23,498.498 INFO    ] 200
[2026-08-29 00:34:23,499.499 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:34:23,531.531 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:34:23,533.533 INFO    ] No update needed
[2026-08-29 00:34:23,535.535 INFO    ] Checking for camera pi updates...
[2026-08-29 00:34:23,556.556 INFO    ] 200
[2026-08-29 00:34:23,557.557 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:34:23,584.584 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:34:23,680.680 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:34:23,681.681 INFO    ] No camera update needed
[2026-08-29 00:34:23,683.683 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:34:23,684.684 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:34:23,687.687 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:34:23,690.690 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:34:25,730.730 INFO    ] ================================================
[2026-08-29 00:34:25,746.746 INFO    ] Launching Daemon at Sat Aug 29 00:34:25 IST 2026
[2026-08-29 00:34:25,756.756 INFO    ] ================================================
[2026-08-29 00:34:26,111.111 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:34:26
[2026-08-29 00:34:26,421.421 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:34:26,566.566 INFO    ] Initializing speech engine...
[2026-08-29 00:34:26,570.570 INFO    ] 2026-08-29 00:34:26
[2026-08-29 00:34:26,776.776 INFO    ] 2026-08-29 00:34:26
[2026-08-29 00:34:26,805.805 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:34:26,929.929 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:34:26,967.967 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:34:27,124.124 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:34:27,151.151 INFO    ] time= 29/08/2026 00:34:27
[2026-08-29 00:34:27,203.203 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:34:27,227.227 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:34:27,298.298 INFO    ] No existing commands found in stream
[2026-08-29 00:34:32,304.304 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:34:32,307.307 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-08-29 00:34:35,963.963 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:34:35,965.965 INFO    ] Checking for system updates...
[2026-08-29 00:34:35,986.986 INFO    ] 200
[2026-08-29 00:34:35,988.988 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:34:36,018.018 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:34:36,019.019 INFO    ] No update needed
[2026-08-29 00:34:36,021.021 INFO    ] Checking for camera pi updates...
[2026-08-29 00:34:36,041.041 INFO    ] 200
[2026-08-29 00:34:36,043.043 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:34:36,069.069 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:34:36,159.159 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:34:36,160.160 INFO    ] No camera update needed
[2026-08-29 00:34:36,162.162 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:34:36,163.163 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:34:36,166.166 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:34:36,169.169 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:34:38,209.209 INFO    ] ================================================
[2026-08-29 00:34:38,224.224 INFO    ] Launching Daemon at Sat Aug 29 00:34:38 IST 2026
[2026-08-29 00:34:38,236.236 INFO    ] ================================================
[2026-08-29 00:34:38,624.624 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:34:38
[2026-08-29 00:34:38,960.960 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:34:39,114.114 INFO    ] Initializing speech engine...
[2026-08-29 00:34:39,117.117 INFO    ] 2026-08-29 00:34:39
[2026-08-29 00:34:39,326.326 INFO    ] 2026-08-29 00:34:39
[2026-08-29 00:34:39,356.356 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:34:39,485.485 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:34:39,544.544 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:34:39,689.689 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:34:39,752.752 INFO    ] time= 29/08/2026 00:34:39
[2026-08-29 00:34:39,777.777 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:34:39,784.784 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:34:39,850.850 INFO    ] No existing commands found in stream
[2026-08-29 00:34:44,861.861 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:34:44,864.864 INFO    ] Waiting 2.52 seconds before fallback handling...
[2026-08-29 00:34:47,758.758 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:34:47,759.759 INFO    ] Checking for system updates...
[2026-08-29 00:34:47,780.780 INFO    ] 200
[2026-08-29 00:34:47,781.781 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:34:47,813.813 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:34:47,814.814 INFO    ] No update needed
[2026-08-29 00:34:47,816.816 INFO    ] Checking for camera pi updates...
[2026-08-29 00:34:47,838.838 INFO    ] 200
[2026-08-29 00:34:47,840.840 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:34:47,863.863 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:34:47,941.941 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:34:47,943.943 INFO    ] No camera update needed
[2026-08-29 00:34:47,944.944 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:34:47,945.945 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:34:47,948.948 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:34:47,951.951 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:34:49,990.990 INFO    ] ================================================
[2026-08-29 00:34:50,005.005 INFO    ] Launching Daemon at Sat Aug 29 00:34:50 IST 2026
[2026-08-29 00:34:50,016.016 INFO    ] ================================================
[2026-08-29 00:34:50,357.357 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:34:50
[2026-08-29 00:34:50,669.669 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:34:50,812.812 INFO    ] Initializing speech engine...
[2026-08-29 00:34:50,817.817 INFO    ] 2026-08-29 00:34:50
[2026-08-29 00:34:51,023.023 INFO    ] 2026-08-29 00:34:51
[2026-08-29 00:34:51,053.053 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:34:51,175.175 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:34:51,219.219 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:34:51,379.379 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:34:51,438.438 INFO    ] time= 29/08/2026 00:34:51
[2026-08-29 00:34:51,471.471 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:34:51,478.478 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:34:51,546.546 INFO    ] No existing commands found in stream
[2026-08-29 00:34:56,555.555 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:34:56,558.558 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-08-29 00:34:57,117.117 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:34:57,119.119 INFO    ] Checking for system updates...
[2026-08-29 00:34:57,155.155 INFO    ] 200
[2026-08-29 00:34:57,157.157 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:34:57,216.216 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:34:57,219.219 INFO    ] No update needed
[2026-08-29 00:34:57,221.221 INFO    ] Checking for camera pi updates...
[2026-08-29 00:34:57,258.258 INFO    ] 200
[2026-08-29 00:34:57,260.260 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:34:57,300.300 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:34:57,387.387 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:34:57,389.389 INFO    ] No camera update needed
[2026-08-29 00:34:57,392.392 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:34:57,394.394 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:34:57,399.399 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:34:57,404.404 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:34:59,446.446 INFO    ] ================================================
[2026-08-29 00:34:59,461.461 INFO    ] Launching Daemon at Sat Aug 29 00:34:59 IST 2026
[2026-08-29 00:34:59,472.472 INFO    ] ================================================
[2026-08-29 00:35:00,108.108 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:35:00
[2026-08-29 00:35:00,443.443 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:35:00,581.581 INFO    ] Initializing speech engine...
[2026-08-29 00:35:00,589.589 INFO    ] 2026-08-29 00:35:00
[2026-08-29 00:35:00,805.805 INFO    ] 2026-08-29 00:35:00
[2026-08-29 00:35:00,834.834 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:35:00,956.956 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:35:01,018.018 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:35:01,156.156 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:35:01,223.223 INFO    ] time= 29/08/2026 00:35:01
[2026-08-29 00:35:01,247.247 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:35:01,254.254 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:35:01,321.321 INFO    ] No existing commands found in stream
[2026-08-29 00:35:06,330.330 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:35:06,334.334 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-08-29 00:35:07,277.277 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:35:07,280.280 INFO    ] Checking for system updates...
[2026-08-29 00:35:07,318.318 INFO    ] 200
[2026-08-29 00:35:07,321.321 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:35:07,374.374 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:35:07,376.376 INFO    ] No update needed
[2026-08-29 00:35:07,379.379 INFO    ] Checking for camera pi updates...
[2026-08-29 00:35:07,418.418 INFO    ] 200
[2026-08-29 00:35:07,420.420 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:35:07,462.462 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:35:07,543.543 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:35:07,546.546 INFO    ] No camera update needed
[2026-08-29 00:35:07,549.549 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:35:07,551.551 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:35:07,557.557 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:35:07,563.563 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:35:09,605.605 INFO    ] ================================================
[2026-08-29 00:35:09,620.620 INFO    ] Launching Daemon at Sat Aug 29 00:35:09 IST 2026
[2026-08-29 00:35:09,631.631 INFO    ] ================================================
[2026-08-29 00:35:10,001.001 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:35:09
[2026-08-29 00:35:10,316.316 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:35:10,453.453 INFO    ] Initializing speech engine...
[2026-08-29 00:35:10,460.460 INFO    ] 2026-08-29 00:35:10
[2026-08-29 00:35:10,684.684 INFO    ] 2026-08-29 00:35:10
[2026-08-29 00:35:10,716.716 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:35:10,848.848 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:35:10,886.886 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:35:11,016.016 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:35:11,060.060 INFO    ] time= 29/08/2026 00:35:11
[2026-08-29 00:35:11,097.097 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:35:11,145.145 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:35:11,242.242 INFO    ] No existing commands found in stream
[2026-08-29 00:35:16,253.253 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:35:16,256.256 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-08-29 00:35:17,141.141 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:35:17,143.143 INFO    ] Checking for system updates...
[2026-08-29 00:35:17,163.163 INFO    ] 200
[2026-08-29 00:35:17,165.165 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:35:17,195.195 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:35:17,196.196 INFO    ] No update needed
[2026-08-29 00:35:17,197.197 INFO    ] Checking for camera pi updates...
[2026-08-29 00:35:17,217.217 INFO    ] 200
[2026-08-29 00:35:17,218.218 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:35:17,243.243 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:35:17,337.337 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:35:17,338.338 INFO    ] No camera update needed
[2026-08-29 00:35:17,340.340 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:35:17,341.341 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:35:17,344.344 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:35:17,347.347 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:35:19,387.387 INFO    ] ================================================
[2026-08-29 00:35:19,403.403 INFO    ] Launching Daemon at Sat Aug 29 00:35:19 IST 2026
[2026-08-29 00:35:19,413.413 INFO    ] ================================================
[2026-08-29 00:35:19,768.768 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:35:19
[2026-08-29 00:35:20,311.311 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:35:20,653.653 INFO    ] Initializing speech engine...
[2026-08-29 00:35:20,660.660 INFO    ] 2026-08-29 00:35:20
[2026-08-29 00:35:20,956.956 INFO    ] 2026-08-29 00:35:20
[2026-08-29 00:35:20,998.998 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:35:21,174.174 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:35:21,186.186 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:35:21,298.298 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:35:21,304.304 INFO    ] time= 29/08/2026 00:35:21
[2026-08-29 00:35:21,323.323 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:35:21,347.347 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:35:21,426.426 INFO    ] No existing commands found in stream
[2026-08-29 00:35:26,448.448 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:35:26,451.451 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-08-29 00:35:27,541.541 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:35:27,544.544 INFO    ] Checking for system updates...
[2026-08-29 00:35:27,582.582 INFO    ] 200
[2026-08-29 00:35:27,585.585 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:35:27,646.646 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:35:27,649.649 INFO    ] No update needed
[2026-08-29 00:35:27,651.651 INFO    ] Checking for camera pi updates...
[2026-08-29 00:35:27,687.687 INFO    ] 200
[2026-08-29 00:35:27,690.690 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:35:27,731.731 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:35:27,838.838 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:35:27,841.841 INFO    ] No camera update needed
[2026-08-29 00:35:27,844.844 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:35:27,847.847 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:35:27,853.853 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:35:27,860.860 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:35:29,904.904 INFO    ] ================================================
[2026-08-29 00:35:29,922.922 INFO    ] Launching Daemon at Sat Aug 29 00:35:29 IST 2026
[2026-08-29 00:35:29,936.936 INFO    ] ================================================
[2026-08-29 00:35:30,522.522 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:35:30
[2026-08-29 00:35:30,860.860 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:35:31,030.030 INFO    ] Initializing speech engine...
[2026-08-29 00:35:31,037.037 INFO    ] 2026-08-29 00:35:31
[2026-08-29 00:35:31,289.289 INFO    ] 2026-08-29 00:35:31
[2026-08-29 00:35:31,351.351 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:35:31,590.590 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:35:31,610.610 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:35:31,737.737 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:35:31,740.740 INFO    ] time= 29/08/2026 00:35:31
[2026-08-29 00:35:31,761.761 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:35:31,788.788 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:35:31,896.896 INFO    ] No existing commands found in stream
[2026-08-29 00:35:36,909.909 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:35:36,912.912 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-08-29 00:35:39,788.788 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:35:39,789.789 INFO    ] Checking for system updates...
[2026-08-29 00:35:39,810.810 INFO    ] 200
[2026-08-29 00:35:39,811.811 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:35:39,842.842 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:35:39,843.843 INFO    ] No update needed
[2026-08-29 00:35:39,845.845 INFO    ] Checking for camera pi updates...
[2026-08-29 00:35:39,864.864 INFO    ] 200
[2026-08-29 00:35:39,865.865 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:35:39,889.889 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:35:39,993.993 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:35:39,995.995 INFO    ] No camera update needed
[2026-08-29 00:35:39,997.997 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:35:39,999.999 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:35:40,005.005 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:35:40,009.009 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:35:42,049.049 INFO    ] ================================================
[2026-08-29 00:35:42,065.065 INFO    ] Launching Daemon at Sat Aug 29 00:35:42 IST 2026
[2026-08-29 00:35:42,076.076 INFO    ] ================================================
[2026-08-29 00:35:42,716.716 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:35:42
[2026-08-29 00:35:43,225.225 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:35:43,374.374 INFO    ] Initializing speech engine...
[2026-08-29 00:35:43,380.380 INFO    ] 2026-08-29 00:35:43
[2026-08-29 00:35:43,586.586 INFO    ] 2026-08-29 00:35:43
[2026-08-29 00:35:43,615.615 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:35:43,746.746 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:35:43,799.799 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:35:43,934.934 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:35:43,992.992 INFO    ] time= 29/08/2026 00:35:43
[2026-08-29 00:35:44,026.026 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:35:44,031.031 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:35:44,102.102 INFO    ] No existing commands found in stream
[2026-08-29 00:35:49,113.113 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:35:49,121.121 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-08-29 00:35:52,396.396 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:35:52,398.398 INFO    ] Checking for system updates...
[2026-08-29 00:35:52,418.418 INFO    ] 200
[2026-08-29 00:35:52,420.420 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:35:52,450.450 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:35:52,452.452 INFO    ] No update needed
[2026-08-29 00:35:52,453.453 INFO    ] Checking for camera pi updates...
[2026-08-29 00:35:52,474.474 INFO    ] 200
[2026-08-29 00:35:52,475.475 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:35:52,502.502 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:35:52,580.580 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:35:52,581.581 INFO    ] No camera update needed
[2026-08-29 00:35:52,583.583 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:35:52,584.584 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:35:52,587.587 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:35:52,590.590 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:35:54,630.630 INFO    ] ================================================
[2026-08-29 00:35:54,646.646 INFO    ] Launching Daemon at Sat Aug 29 00:35:54 IST 2026
[2026-08-29 00:35:54,657.657 INFO    ] ================================================
[2026-08-29 00:35:55,029.029 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:35:55
[2026-08-29 00:35:55,364.364 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:35:55,508.508 INFO    ] Initializing speech engine...
[2026-08-29 00:35:55,519.519 INFO    ] 2026-08-29 00:35:55
[2026-08-29 00:35:55,725.725 INFO    ] 2026-08-29 00:35:55
[2026-08-29 00:35:55,753.753 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:35:55,874.874 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:35:55,938.938 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:35:56,083.083 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:35:56,148.148 INFO    ] time= 29/08/2026 00:35:56
[2026-08-29 00:35:56,178.178 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:35:56,237.237 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:35:56,334.334 INFO    ] No existing commands found in stream
[2026-08-29 00:36:01,365.365 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:36:01,368.368 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-08-29 00:36:03,404.404 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:36:03,406.406 INFO    ] Checking for system updates...
[2026-08-29 00:36:03,442.442 INFO    ] 200
[2026-08-29 00:36:03,445.445 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:36:03,498.498 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:36:03,500.500 INFO    ] No update needed
[2026-08-29 00:36:03,503.503 INFO    ] Checking for camera pi updates...
[2026-08-29 00:36:03,536.536 INFO    ] 200
[2026-08-29 00:36:03,538.538 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:36:03,579.579 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:36:03,660.660 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:36:03,663.663 INFO    ] No camera update needed
[2026-08-29 00:36:03,665.665 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:36:03,667.667 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:36:03,673.673 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:36:03,677.677 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:36:05,718.718 INFO    ] ================================================
[2026-08-29 00:36:05,734.734 INFO    ] Launching Daemon at Sat Aug 29 00:36:05 IST 2026
[2026-08-29 00:36:05,745.745 INFO    ] ================================================
[2026-08-29 00:36:06,104.104 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:36:06
[2026-08-29 00:36:06,574.574 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:36:06,880.880 INFO    ] Initializing speech engine...
[2026-08-29 00:36:06,886.886 INFO    ] 2026-08-29 00:36:06
[2026-08-29 00:36:07,159.159 INFO    ] 2026-08-29 00:36:07
[2026-08-29 00:36:07,220.220 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:36:07,449.449 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:36:07,460.460 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:36:07,600.600 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:36:07,660.660 INFO    ] time= 29/08/2026 00:36:07
[2026-08-29 00:36:07,725.725 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:36:07,738.738 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:36:07,855.855 INFO    ] No existing commands found in stream
[2026-08-29 00:36:12,878.878 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:36:12,881.881 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-08-29 00:36:15,459.459 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:36:15,461.461 INFO    ] Checking for system updates...
[2026-08-29 00:36:15,481.481 INFO    ] 200
[2026-08-29 00:36:15,483.483 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:36:15,513.513 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:36:15,514.514 INFO    ] No update needed
[2026-08-29 00:36:15,515.515 INFO    ] Checking for camera pi updates...
[2026-08-29 00:36:15,534.534 INFO    ] 200
[2026-08-29 00:36:15,535.535 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:36:15,561.561 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:36:15,648.648 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:36:15,650.650 INFO    ] No camera update needed
[2026-08-29 00:36:15,651.651 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:36:15,652.652 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:36:15,655.655 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:36:15,658.658 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:36:17,696.696 INFO    ] ================================================
[2026-08-29 00:36:17,711.711 INFO    ] Launching Daemon at Sat Aug 29 00:36:17 IST 2026
[2026-08-29 00:36:17,722.722 INFO    ] ================================================
[2026-08-29 00:36:18,089.089 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:36:18
[2026-08-29 00:36:18,428.428 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:36:18,573.573 INFO    ] Initializing speech engine...
[2026-08-29 00:36:18,584.584 INFO    ] 2026-08-29 00:36:18
[2026-08-29 00:36:18,794.794 INFO    ] 2026-08-29 00:36:18
[2026-08-29 00:36:18,823.823 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:36:18,947.947 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:36:18,980.980 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:36:19,157.157 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:36:19,220.220 INFO    ] time= 29/08/2026 00:36:19
[2026-08-29 00:36:19,244.244 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:36:19,251.251 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:36:19,318.318 INFO    ] No existing commands found in stream
[2026-08-29 00:36:24,328.328 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:36:24,332.332 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-08-29 00:36:27,467.467 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:36:27,468.468 INFO    ] Checking for system updates...
[2026-08-29 00:36:27,489.489 INFO    ] 200
[2026-08-29 00:36:27,490.490 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:36:27,523.523 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:36:27,524.524 INFO    ] No update needed
[2026-08-29 00:36:27,526.526 INFO    ] Checking for camera pi updates...
[2026-08-29 00:36:27,546.546 INFO    ] 200
[2026-08-29 00:36:27,547.547 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:36:27,571.571 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:36:27,746.746 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:36:27,748.748 INFO    ] No camera update needed
[2026-08-29 00:36:27,749.749 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:36:27,750.750 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:36:27,753.753 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:36:27,756.756 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:36:29,794.794 INFO    ] ================================================
[2026-08-29 00:36:29,810.810 INFO    ] Launching Daemon at Sat Aug 29 00:36:29 IST 2026
[2026-08-29 00:36:29,821.821 INFO    ] ================================================
[2026-08-29 00:36:30,188.188 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:36:30
[2026-08-29 00:36:30,517.517 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:36:30,661.661 INFO    ] Initializing speech engine...
[2026-08-29 00:36:30,665.665 INFO    ] 2026-08-29 00:36:30
[2026-08-29 00:36:30,871.871 INFO    ] 2026-08-29 00:36:30
[2026-08-29 00:36:30,899.899 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:36:31,023.023 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:36:31,060.060 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:36:31,218.218 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:36:31,259.259 INFO    ] time= 29/08/2026 00:36:31
[2026-08-29 00:36:31,298.298 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:36:31,320.320 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:36:31,391.391 INFO    ] No existing commands found in stream
[2026-08-29 00:36:36,402.402 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:36:36,405.405 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-08-29 00:36:39,940.940 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:36:39,941.941 INFO    ] Checking for system updates...
[2026-08-29 00:36:39,961.961 INFO    ] 200
[2026-08-29 00:36:39,963.963 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:36:39,993.993 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:36:39,994.994 INFO    ] No update needed
[2026-08-29 00:36:39,995.995 INFO    ] Checking for camera pi updates...
[2026-08-29 00:36:40,014.014 INFO    ] 200
[2026-08-29 00:36:40,016.016 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:36:40,039.039 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:36:40,123.123 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:36:40,124.124 INFO    ] No camera update needed
[2026-08-29 00:36:40,125.125 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:36:40,126.126 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:36:40,129.129 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:36:40,132.132 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:36:42,170.170 INFO    ] ================================================
[2026-08-29 00:36:42,186.186 INFO    ] Launching Daemon at Sat Aug 29 00:36:42 IST 2026
[2026-08-29 00:36:42,197.197 INFO    ] ================================================
[2026-08-29 00:36:42,553.553 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:36:42
[2026-08-29 00:36:42,870.870 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:36:43,014.014 INFO    ] Initializing speech engine...
[2026-08-29 00:36:43,019.019 INFO    ] 2026-08-29 00:36:43
[2026-08-29 00:36:43,222.222 INFO    ] 2026-08-29 00:36:43
[2026-08-29 00:36:43,251.251 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:36:43,373.373 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:36:43,411.411 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:36:43,566.566 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:36:43,618.618 INFO    ] time= 29/08/2026 00:36:43
[2026-08-29 00:36:43,665.665 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:36:43,667.667 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:36:43,738.738 INFO    ] No existing commands found in stream
[2026-08-29 00:36:48,748.748 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:36:48,751.751 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-08-29 00:36:49,157.157 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:36:49,158.158 INFO    ] Checking for system updates...
[2026-08-29 00:36:49,179.179 INFO    ] 200
[2026-08-29 00:36:49,181.181 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:36:49,213.213 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:36:49,214.214 INFO    ] No update needed
[2026-08-29 00:36:49,216.216 INFO    ] Checking for camera pi updates...
[2026-08-29 00:36:49,235.235 INFO    ] 200
[2026-08-29 00:36:49,236.236 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:36:49,261.261 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:36:49,340.340 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:36:49,341.341 INFO    ] No camera update needed
[2026-08-29 00:36:49,343.343 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:36:49,344.344 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:36:49,347.347 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:36:49,349.349 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:36:51,389.389 INFO    ] ================================================
[2026-08-29 00:36:51,405.405 INFO    ] Launching Daemon at Sat Aug 29 00:36:51 IST 2026
[2026-08-29 00:36:51,416.416 INFO    ] ================================================
[2026-08-29 00:36:51,779.779 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:36:51
[2026-08-29 00:36:52,114.114 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:36:52,262.262 INFO    ] Initializing speech engine...
[2026-08-29 00:36:52,267.267 INFO    ] 2026-08-29 00:36:52
[2026-08-29 00:36:52,474.474 INFO    ] 2026-08-29 00:36:52
[2026-08-29 00:36:52,502.502 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:36:52,624.624 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:36:52,687.687 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:36:52,830.830 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:36:52,888.888 INFO    ] time= 29/08/2026 00:36:52
[2026-08-29 00:36:52,915.915 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:36:52,922.922 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:36:52,989.989 INFO    ] No existing commands found in stream
[2026-08-29 00:36:57,998.998 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:36:58,001.001 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-08-29 00:36:59,187.187 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:36:59,189.189 INFO    ] Checking for system updates...
[2026-08-29 00:36:59,209.209 INFO    ] 200
[2026-08-29 00:36:59,210.210 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:36:59,242.242 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:36:59,244.244 INFO    ] No update needed
[2026-08-29 00:36:59,245.245 INFO    ] Checking for camera pi updates...
[2026-08-29 00:36:59,265.265 INFO    ] 200
[2026-08-29 00:36:59,266.266 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:36:59,291.291 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:36:59,377.377 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:36:59,379.379 INFO    ] No camera update needed
[2026-08-29 00:36:59,380.380 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:36:59,381.381 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:36:59,384.384 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:36:59,387.387 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:37:01,430.430 INFO    ] ================================================
[2026-08-29 00:37:01,467.467 INFO    ] Launching Daemon at Sat Aug 29 00:37:01 IST 2026
[2026-08-29 00:37:01,486.486 INFO    ] ================================================
[2026-08-29 00:37:02,184.184 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:37:02
[2026-08-29 00:37:02,927.927 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:37:03,201.201 INFO    ] Initializing speech engine...
[2026-08-29 00:37:03,215.215 INFO    ] 2026-08-29 00:37:03
[2026-08-29 00:37:03,482.482 INFO    ] 2026-08-29 00:37:03
[2026-08-29 00:37:03,518.518 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:37:03,695.695 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:37:03,708.708 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:37:03,822.822 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:37:03,841.841 INFO    ] time= 29/08/2026 00:37:03
[2026-08-29 00:37:03,861.861 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:37:03,869.869 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:37:03,940.940 INFO    ] No existing commands found in stream
[2026-08-29 00:37:04,043.043 INFO    ] Received new command: ID=1787944023968-0
[2026-08-29 00:37:04,075.075 INFO    ] process_and_cleanup_command: msg_id=1787944023968-0
[2026-08-29 00:37:04,081.081 INFO    ] is_command_expired: timestamp=2026-08-28T19:07:03.538Z, expiry=30s
[2026-08-29 00:37:04,231.231 INFO    ] Command removed from stream: 1787944023968-0. returning for processing...
[2026-08-29 00:37:04,289.289 INFO    ] ***** get_valid_command
[2026-08-29 00:37:04,339.339 INFO    ] {'source': 'webapp', 'timestamp': '2026-08-28T19:07:03.538Z', 'timeout': '10', 'data': '{"request_id":"start-order-1787944023538-2ti6r8j60","orderId":"TM07201911260829003429713","is_vending":false}', 'command': 'start-order'}
[2026-08-29 00:37:04,373.373 INFO    ] ***** Parsed command data: {'is_vending': False, 'request_id': 'start-order-1787944023538-2ti6r8j60', 'orderId': 'TM07201911260829003429713'}
[2026-08-29 00:37:04,422.422 INFO    ] Handling start order...
[2026-08-29 00:37:04,476.476 INFO    ] handle_start_order_command
[2026-08-29 00:37:04,545.545 INFO    ] _send_start_order_success: request_id=start-order-1787944023538-2ti6r8j60, order_id=TM07201911260829003429713
[2026-08-29 00:37:04,581.581 INFO    ] [_send_start_order_success] Adding message to stream: machine:TM07201911
[2026-08-29 00:37:04,697.697 INFO    ] [_send_start_order_success] Message added to stream with ID: 1787944024601-0
[2026-08-29 00:37:04,728.728 INFO    ] ✅ Start-order command succeeded - order locked, waiting for process-order command
[2026-08-29 00:37:04,734.734 INFO    ] Checking for system updates...
[2026-08-29 00:37:04,802.802 INFO    ] 200
[2026-08-29 00:37:04,821.821 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:37:04,867.867 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:37:04,869.869 INFO    ] No update needed
[2026-08-29 00:37:04,870.870 INFO    ] Checking for camera pi updates...
[2026-08-29 00:37:04,892.892 INFO    ] 200
[2026-08-29 00:37:04,894.894 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:37:04,957.957 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:37:05,039.039 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:37:05,043.043 INFO    ] No camera update needed
[2026-08-29 00:37:05,046.046 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:37:05,050.050 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:37:05,059.059 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:37:05,067.067 INFO    ] Thread: Thread-1, daemon=True, alive=True
[2026-08-29 00:37:05,074.074 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:37:07,116.116 INFO    ] ================================================
[2026-08-29 00:37:07,132.132 INFO    ] Launching Daemon at Sat Aug 29 00:37:07 IST 2026
[2026-08-29 00:37:07,143.143 INFO    ] ================================================
[2026-08-29 00:37:07,729.729 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:37:07
[2026-08-29 00:37:08,330.330 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:37:08,609.609 INFO    ] Initializing speech engine...
[2026-08-29 00:37:08,615.615 INFO    ] 2026-08-29 00:37:08
[2026-08-29 00:37:08,846.846 INFO    ] 2026-08-29 00:37:08
[2026-08-29 00:37:08,874.874 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:37:08,996.996 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:37:09,059.059 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:37:09,217.217 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:37:09,265.265 INFO    ] time= 29/08/2026 00:37:09
[2026-08-29 00:37:09,288.288 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:37:09,294.294 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:37:09,361.361 INFO    ] Found 2 existing command(s) in stream
[2026-08-29 00:37:09,365.365 INFO    ] Checking historical command: ID=1787944024601-0
[2026-08-29 00:37:09,390.390 INFO    ] process_and_cleanup_command: msg_id=1787944024601-0
[2026-08-29 00:37:09,392.392 INFO    ] is_command_expired: timestamp=2026-08-28T19:07:04.558875Z, expiry=30s
[2026-08-29 00:37:09,500.500 INFO    ] Command removed from stream: 1787944024601-0. returning for processing...
[2026-08-29 00:37:09,503.503 INFO    ] ***** get_valid_command
[2026-08-29 00:37:09,506.506 INFO    ] {'message_type': 'command_response', 'metadata_order_id': 'TM07201911260829003429713', 'status': 'success', 'imei': 'TM07201911', 'message': 'start-order success', 'metadata_request_id': 'start-order-1787944023538-2ti6r8j60', 'timestamp': '2026-08-28T19:07:04.558875Z'}
[2026-08-29 00:37:09,511.511 INFO    ] Checking historical command: ID=1787944027213-0
[2026-08-29 00:37:09,514.514 INFO    ] process_and_cleanup_command: msg_id=1787944027213-0
[2026-08-29 00:37:09,517.517 INFO    ] is_command_expired: timestamp=2026-08-28T19:07:06.848Z, expiry=30s
[2026-08-29 00:37:09,570.570 INFO    ] Command removed from stream: 1787944027213-0. returning for processing...
[2026-08-29 00:37:09,573.573 INFO    ] ***** get_valid_command
[2026-08-29 00:37:09,575.575 INFO    ] {'source': 'webapp', 'timestamp': '2026-08-28T19:07:06.848Z', 'command': 'process-order', 'timeout': '60', 'data': '{"request_id":"process-order-1787944026848-98zq50tl7","orderId":"TM07201911260829003429713","is_vending":false,"accessCode":"29737156"}'}
[2026-08-29 00:37:09,578.578 INFO    ] ***** Parsed command data: {'request_id': 'process-order-1787944026848-98zq50tl7', 'is_vending': False, 'orderId': 'TM07201911260829003429713', 'accessCode': '29737156'}
[2026-08-29 00:37:09,581.581 INFO    ] Handling process order...
[2026-08-29 00:37:09,584.584 INFO    ] Processing process-order command...
[2026-08-29 00:37:09,588.588 INFO    ] 🔍 Lock file Order ID: TM07201911260829003429713, TS: 2026-08-29 00:37:04
[2026-08-29 00:37:09,596.596 INFO    ] ✅ Order lock valid for TM07201911260829003429713
[2026-08-29 00:37:09,599.599 INFO    ] Received access code in process-order, skipping PHP API call
[2026-08-29 00:37:09,602.602 INFO    ] processing access code 29737156 for order TM07201911260829003429713
[2026-08-29 00:37:09,607.607 INFO    ] 🔍 Lock file Order ID: TM07201911260829003429713, TS: 2026-08-29 00:37:04
[2026-08-29 00:37:09,611.611 INFO    ] ✅ Order lock valid for TM07201911260829003429713
[2026-08-29 00:37:09,615.615 INFO    ] 2026-08-29 00:37:09
[2026-08-29 00:37:09,645.645 INFO    ] 200
[2026-08-29 00:37:09,650.650 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:37:09,654.654 INFO    ] 29737156
[2026-08-29 00:37:09,658.658 INFO    ] 2026-08-29 00:37:09
[2026-08-29 00:37:09,661.661 INFO    ] session id :356170249
[2026-08-29 00:37:09,665.665 INFO    ] http://localhost:5000/v2/getOrderByAccessCode?access_code=29737156&imei=TM07201911&session_id=356170249
[2026-08-29 00:37:10,704.704 INFO    ] 200
[2026-08-29 00:37:10,743.743 INFO    ] {"msg": "Order Data", "data": {"bill_amount": "100", "access_code": "29737156", "proposed_sku_json": [{"skuid": "186059", "door_id": "4", "offer_desc": "", "qty": 1, "offer_id": "", "unit_price": 40, "tray_id": "43", "mrp": "40", "sku_total": 40, "name": "Pepsi ZeroSugar  300ml", "image_url": "https://images.tinymart.in/product/186059-5330.png"}, {"skuid": "4500656", "door_id": "4", "offer_desc": "", "qty": 1, "offer_id": "", "unit_price": 60, "tray_id": "45", "mrp": "60", "sku_total": 60, "name": "BRU Cold Coffee Classic 200ml", "image_url": "https://images.tinymart.in/product/4500656-2520.webp"}], "order_id": "TM07201911260829003429713", "invoice_bill": "100", "mobile": "7038268773"}, "rstatus": true, "status": true}
[2026-08-29 00:37:10,749.749 INFO    ] 100
[2026-08-29 00:37:10,757.757 INFO    ] TM07201911260829003429713
[2026-08-29 00:37:10,766.766 INFO    ] 7038268773
[2026-08-29 00:37:10,774.774 INFO    ] 2026-08-29 00:37:10
[2026-08-29 00:37:10,784.784 INFO    ] Door Opening for user mobile ending with  eight seven seven three 
[2026-08-29 00:37:10,791.791 INFO    ] Door Opening for user mobile ending with  eight seven seven three 
[2026-08-29 00:37:10,825.825 INFO    ] c41ce8cb1001aa7a1ea56fb16213f6b2
[2026-08-29 00:37:10,838.838 INFO    ] 2026-08-29 00:37:10
[2026-08-29 00:37:10,864.864 INFO    ] creating audio file
[2026-08-29 00:37:11,214.214 INFO    ] Calling gTTS API with 60s timeout...
[2026-08-29 00:37:16,950.950 INFO    ] gTTS API call completed successfully
[2026-08-29 00:37:18,978.978 INFO    ] 2026-08-29 00:37:18
[2026-08-29 00:37:18,981.981 INFO    ] playing audio file
[2026-08-29 00:37:18,999.999 INFO    ] 2026-08-29 00:37:18
[2026-08-29 00:37:19,002.002 INFO    ] 2026-08-29 00:37:19
[2026-08-29 00:37:19,006.006 INFO    ] publish_status: order_id=TM07201911260829003429713
[2026-08-29 00:37:19,009.009 INFO    ] [publish_status] Adding message to stream: order:TM07201911260829003429713
[2026-08-29 00:37:19,087.087 INFO    ] [publish_status] Message added to stream with ID: 1787944039053-0
[2026-08-29 00:37:19,090.090 INFO    ] Published to order:TM07201911260829003429713: {'server_status': 'order-started', 'server_response': '{"rstatus": true, "msg": "Order Data", "data": {"mobile": "7038268773", "invoice_bill": "100", "bill_amount": "100", "access_code": "29737156", "proposed_sku_json": [{"door_id": "4", "unit_price": 40, "image_url": "https://images.tinymart.in/product/186059-5330.png", "tray_id": "43", "qty": 1, "offer_id": "", "sku_total": 40, "skuid": "186059", "name": "Pepsi ZeroSugar  300ml", "offer_desc": "", "mrp": "40"}, {"door_id": "4", "unit_price": 60, "image_url": "https://images.tinymart.in/product/4500656-2520.webp", "tray_id": "45", "qty": 1, "offer_id": "", "sku_total": 60, "skuid": "4500656", "name": "BRU Cold Coffee Classic 200ml", "offer_desc": "", "mrp": "60"}], "order_id": "TM07201911260829003429713"}, "status": true}', 'order_id': 'TM07201911260829003429713', 'timestamp': '2026-08-28T19:07:19.004380Z'} (ID: 1787944039053-0)
[2026-08-29 00:37:19,567.567 INFO    ] {'server_status': 'order-started', 'server_response': {'rstatus': True, 'msg': 'Order Data', 'data': {'mobile': '7038268773', 'invoice_bill': '100', 'bill_amount': '100', 'access_code': '29737156', 'proposed_sku_json': [{'door_id': '4', 'unit_price': 40, 'image_url': 'https://images.tinymart.in/product/186059-5330.png', 'tray_id': '43', 'qty': 1, 'offer_id': '', 'sku_total': 40, 'skuid': '186059', 'name': 'Pepsi ZeroSugar  300ml', 'offer_desc': '', 'mrp': '40'}, {'door_id': '4', 'unit_price': 60, 'image_url': 'https://images.tinymart.in/product/4500656-2520.webp', 'tray_id': '45', 'qty': 1, 'offer_id': '', 'sku_total': 60, 'skuid': '4500656', 'name': 'BRU Cold Coffee Classic 200ml', 'offer_desc': '', 'mrp': '60'}], 'order_id': 'TM07201911260829003429713'}, 'status': True}, 'order_id': 'TM07201911260829003429713'}
[2026-08-29 00:37:19,570.570 INFO    ] 200
[2026-08-29 00:37:19,573.573 INFO    ] {"data":{"server_status":"order-started","server_response":{"rstatus":true,"msg":"Order Data","data":{"mobile":"7038268773","invoice_bill":"100","bill_amount":"100","access_code":"29737156","proposed_sku_json":[{"door_id":"4","unit_price":40,"image_url":"https:\/\/images.tinymart.in\/product\/186059-5330.png","tray_id":"43","qty":1,"offer_id":"","sku_total":40,"skuid":"186059","name":"Pepsi ZeroSugar  300ml","offer_desc":"","mrp":"40"},{"door_id":"4","unit_price":60,"image_url":"https:\/\/images.tinymart.in\/product\/4500656-2520.webp","tray_id":"45","qty":1,"offer_id":"","sku_total":60,"skuid":"4500656","name":"BRU Cold Coffee Classic 200ml","offer_desc":"","mrp":"60"}],"order_id":"TM07201911260829003429713"},"status":true},"order_id":"TM07201911260829003429713"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-08-29 00:37:19,576.576 INFO    ] {'response': {'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'status': True, 'data': 'order updated successfully'}, 'data': {'server_status': 'order-started', 'server_response': {'rstatus': True, 'msg': 'Order Data', 'data': {'mobile': '7038268773', 'invoice_bill': '100', 'bill_amount': '100', 'access_code': '29737156', 'proposed_sku_json': [{'door_id': '4', 'unit_price': 40, 'image_url': 'https://images.tinymart.in/product/186059-5330.png', 'tray_id': '43', 'qty': 1, 'skuid': '186059', 'sku_total': 40, 'offer_id': '', 'name': 'Pepsi ZeroSugar  300ml', 'offer_desc': '', 'mrp': '40'}, {'door_id': '4', 'unit_price': 60, 'image_url': 'https://images.tinymart.in/product/4500656-2520.webp', 'tray_id': '45', 'qty': 1, 'skuid': '4500656', 'sku_total': 60, 'offer_id': '', 'name': 'BRU Cold Coffee Classic 200ml', 'offer_desc': '', 'mrp': '60'}], 'order_id': 'TM07201911260829003429713'}, 'status': True}, 'order_id': 'TM07201911260829003429713'}}
[2026-08-29 00:37:19,580.580 INFO    ] 2026-08-29 00:37:19
[2026-08-29 00:37:19,626.626 INFO    ] 200
[2026-08-29 00:37:19,629.629 INFO    ] True
[2026-08-29 00:37:19,770.770 INFO    ] 200
[2026-08-29 00:37:19,773.773 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "voiceNote": "Please Wait", "rstatus": false, "SectionMain": {"Header": "Processing Order"}, "SectionStatus": {"Note": "", "SubHeader": "Please wait while we process your order", "Header": " Your order is under process  ", "UI_Header": ""}, "error": {"data": {}, "code": 20001, "umessage": "In Progress", "tmessage": "In Progress"}, "status": "False"}
[2026-08-29 00:37:19,777.777 INFO    ] {'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'SectionStatus': {'Note': '', 'UI_Header': '', 'SubHeader': 'Please wait while we process your order', 'Header': ' Your order is under process  '}, 'error': {'code': 20001, 'umessage': 'In Progress', 'data': {}, 'tmessage': 'In Progress'}, 'rstatus': False, 'status': 'False', 'voiceNote': 'Please Wait', 'SectionMain': {'Header': 'Processing Order'}}
[2026-08-29 00:37:19,780.780 INFO    ] *** process_order ***
[2026-08-29 00:37:20,971.971 INFO    ] 200
[2026-08-29 00:37:20,974.974 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "voiceNote": "Please Wait", "rstatus": true, "delay": 0, "SectionMain": {"Header": "Processing Order"}, "SectionStatus": {"Note": "", "SubHeader": "Please wait while we process your order", "Header": " Your order is under process  ", "UI_Header": ""}, "status": "True"}
[2026-08-29 00:37:20,977.977 INFO    ] {'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'SectionStatus': {'Note': '', 'UI_Header': '', 'SubHeader': 'Please wait while we process your order', 'Header': ' Your order is under process  '}, 'rstatus': True, 'delay': 0, 'status': 'True', 'voiceNote': 'Please Wait', 'SectionMain': {'Header': 'Processing Order'}}
[2026-08-29 00:37:20,980.980 INFO    ] *** process_order ***
[2026-08-29 00:37:20,983.983 INFO    ] publish_status: order_id=TM07201911260829003429713
[2026-08-29 00:37:20,986.986 INFO    ] [publish_status] Adding message to stream: order:TM07201911260829003429713
[2026-08-29 00:37:21,070.070 INFO    ] [publish_status] Message added to stream with ID: 1787944041035-0
[2026-08-29 00:37:21,073.073 INFO    ] Published to order:TM07201911260829003429713: {'server_status': 'doorOpened', 'server_response': '{"voiceNote": "Door is open...", "SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "SectionStatus": {"Note": "", "UI_Header": "", "Header": " Your order is under process  ", "SubHeader": "You can pull the door now."}, "rstatus": true, "delay": 0, "SectionMain": {"Header": "Processing Order"}, "status": "True"}', 'order_id': 'TM07201911260829003429713'} (ID: 1787944041035-0)
[2026-08-29 00:37:22,126.126 INFO    ] 2026-08-29 00:37:22
[2026-08-29 00:37:22,130.130 INFO    ] publish_status: order_id=TM07201911260829003429713
[2026-08-29 00:37:22,133.133 INFO    ] [publish_status] Adding message to stream: order:TM07201911260829003429713
[2026-08-29 00:37:22,194.194 INFO    ] [publish_status] Message added to stream with ID: 1787944042158-0
[2026-08-29 00:37:22,197.197 INFO    ] Published to order:TM07201911260829003429713: {'server_status': 'processOrder', 'server_response': '{"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "SectionStatus": {"Note": "", "UI_Header": "", "SubHeader": "Please wait while we process your order", "Header": " Your order is under process  "}, "rstatus": true, "delay": 0, "status": "True", "voiceNote": "Please Wait", "SectionMain": {"Header": "Processing Order"}}', 'order_id': 'TM07201911260829003429713', 'timestamp': '2026-08-28T19:07:22.127821Z'} (ID: 1787944042158-0)
[2026-08-29 00:37:22,322.322 INFO    ] {'server_status': 'processOrder', 'server_response': {'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'SectionStatus': {'Note': '', 'UI_Header': '', 'SubHeader': 'Please wait while we process your order', 'Header': ' Your order is under process  '}, 'rstatus': True, 'delay': 0, 'status': 'True', 'voiceNote': 'Please Wait', 'SectionMain': {'Header': 'Processing Order'}}, 'order_id': 'TM07201911260829003429713'}
[2026-08-29 00:37:22,323.323 INFO    ] 200
[2026-08-29 00:37:22,325.325 INFO    ] {"data":{"server_status":"processOrder","server_response":{"SectionSKU":{"skus":[],"Header":"Thank you for bearing with us :)"},"SectionStatus":{"Note":"","UI_Header":"","SubHeader":"Please wait while we process your order","Header":" Your order is under process  "},"rstatus":true,"delay":0,"status":"true","voiceNote":"Please Wait","SectionMain":{"Header":"Processing Order"}},"order_id":"TM07201911260829003429713"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-08-29 00:37:22,326.326 INFO    ] {'response': {'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'status': True, 'data': 'order updated successfully'}, 'data': {'server_status': 'processOrder', 'server_response': {'voiceNote': 'Please Wait', 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'status': 'true', 'rstatus': True, 'delay': 0, 'SectionMain': {'Header': 'Processing Order'}, 'SectionStatus': {'Note': '', 'Header': ' Your order is under process  ', 'SubHeader': 'Please wait while we process your order', 'UI_Header': ''}}, 'order_id': 'TM07201911260829003429713'}}
[2026-08-29 00:37:22,328.328 INFO    ] 2026-08-29 00:37:22
[2026-08-29 00:37:22,329.329 INFO    ] None
[2026-08-29 00:37:22,330.330 INFO    ] Opening Door now
[2026-08-29 00:37:22,332.332 INFO    ] Opening Door now
[2026-08-29 00:37:22,333.333 INFO    ] 08e5d1063504bf393c26f0bfa436e9f9
[2026-08-29 00:37:22,335.335 INFO    ] 2026-08-29 00:37:22
[2026-08-29 00:37:22,336.336 INFO    ] playing audio file
[2026-08-29 00:37:22,347.347 INFO    ] 2026-08-29 00:37:22
[2026-08-29 00:37:22,349.349 INFO    ] 2026-08-29 00:37:22
[2026-08-29 00:37:25,421.421 INFO    ] 200
[2026-08-29 00:37:25,424.424 INFO    ] {"SectionSKU": {"skus": [{"qty": 1, "name": "Pepsi ZeroSugar  300ml"}, {"qty": 1, "name": "BRU Cold Coffee Classic 200ml"}], "Header": "Pick the below items from the door"}, "voiceNote": "Door 4 is open now", "rstatus": false, "SectionMain": {"Header": "Door Open"}, "SectionStatus": {"Note": "Please Close the door after picking up products", "SubHeader": "Please Pick the Products and close the door", "Header": "Please Close Door 4", "UI_Header": "DOOR 4\nIS \nOPEN \nNOW"}, "error": {"data": {}, "code": 20001, "umessage": "In Progress", "tmessage": "In Progress"}, "status": "False"}
[2026-08-29 00:37:25,426.426 INFO    ] {'SectionSKU': {'skus': [{'name': 'Pepsi ZeroSugar  300ml', 'qty': 1}, {'name': 'BRU Cold Coffee Classic 200ml', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'SectionStatus': {'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 4\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door', 'Header': 'Please Close Door 4'}, 'error': {'code': 20001, 'umessage': 'In Progress', 'data': {}, 'tmessage': 'In Progress'}, 'rstatus': False, 'status': 'False', 'voiceNote': 'Door 4 is open now', 'SectionMain': {'Header': 'Door Open'}}
[2026-08-29 00:37:28,459.459 INFO    ] 200
[2026-08-29 00:37:28,460.460 INFO    ] {"SectionSKU": {"skus": [{"qty": 1, "name": "Pepsi ZeroSugar  300ml"}, {"qty": 1, "name": "BRU Cold Coffee Classic 200ml"}], "Header": "Pick the below items from the door"}, "voiceNote": "Please close door 4", "rstatus": false, "SectionMain": {"Header": "Door Open"}, "SectionStatus": {"Note": "Please Close the door after picking up products", "SubHeader": "Please Pick the Products and close the door", "Header": "Please Close Door 4", "UI_Header": "DOOR 4\nIS \nOPEN \nNOW"}, "error": {"data": {}, "code": 20001, "umessage": "In Progress", "tmessage": "In Progress"}, "status": "False"}
[2026-08-29 00:37:28,462.462 INFO    ] {'SectionSKU': {'skus': [{'name': 'Pepsi ZeroSugar  300ml', 'qty': 1}, {'name': 'BRU Cold Coffee Classic 200ml', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'SectionStatus': {'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 4\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door', 'Header': 'Please Close Door 4'}, 'error': {'code': 20001, 'umessage': 'In Progress', 'data': {}, 'tmessage': 'In Progress'}, 'rstatus': False, 'status': 'False', 'voiceNote': 'Please close door 4', 'SectionMain': {'Header': 'Door Open'}}
[2026-08-29 00:37:31,510.510 INFO    ] 200
[2026-08-29 00:37:31,514.514 INFO    ] {"SectionSKU": {"skus": [{"qty": 1, "name": "Pepsi ZeroSugar  300ml"}, {"qty": 1, "name": "BRU Cold Coffee Classic 200ml"}], "Header": "Pick the below items from the door"}, "voiceNote": "Please close door 4", "rstatus": false, "SectionMain": {"Header": "Door Open"}, "SectionStatus": {"Note": "Please Close the door after picking up products", "SubHeader": "Please Pick the Products and close the door", "Header": "Please Close Door 4", "UI_Header": "DOOR 4\nIS \nOPEN \nNOW"}, "error": {"data": {}, "code": 20001, "umessage": "In Progress", "tmessage": "In Progress"}, "status": "False"}
[2026-08-29 00:37:31,517.517 INFO    ] Please close door 4
[2026-08-29 00:37:31,520.520 INFO    ] Please close door 4
[2026-08-29 00:37:31,524.524 INFO    ] 891f37ef09d044a7cb1466a85ef2ff50
[2026-08-29 00:37:31,527.527 INFO    ] 2026-08-29 00:37:31
[2026-08-29 00:37:31,530.530 INFO    ] playing audio file
[2026-08-29 00:37:31,550.550 INFO    ] 2026-08-29 00:37:31
[2026-08-29 00:37:31,554.554 INFO    ] publish_status: order_id=TM07201911260829003429713
[2026-08-29 00:37:31,558.558 INFO    ] [publish_status] Adding message to stream: order:TM07201911260829003429713
[2026-08-29 00:37:31,618.618 INFO    ] [publish_status] Message added to stream with ID: 1787944051583-0
[2026-08-29 00:37:31,621.621 INFO    ] Published to order:TM07201911260829003429713: {'server_status': 'OrderStatus', 'server_response': '{"SectionSKU": {"skus": [{"name": "Pepsi ZeroSugar  300ml", "qty": 1}, {"name": "BRU Cold Coffee Classic 200ml", "qty": 1}], "Header": "Pick the below items from the door"}, "SectionStatus": {"Note": "Please Close the door after picking up products", "UI_Header": "DOOR 4\\nIS \\nOPEN \\nNOW", "SubHeader": "Please Pick the Products and close the door", "Header": "Please Close Door 4"}, "error": {"code": 20001, "umessage": "In Progress", "data": {}, "tmessage": "In Progress"}, "rstatus": false, "status": "False", "voiceNote": "Please close door 4", "SectionMain": {"Header": "Door Open"}}', 'order_id': 'TM07201911260829003429713', 'timestamp': '2026-08-28T19:07:31.552568Z'} (ID: 1787944051583-0)
[2026-08-29 00:37:32,158.158 INFO    ] {'server_status': 'OrderStatus', 'server_response': {'SectionSKU': {'skus': [{'name': 'Pepsi ZeroSugar  300ml', 'qty': 1}, {'name': 'BRU Cold Coffee Classic 200ml', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'SectionStatus': {'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 4\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door', 'Header': 'Please Close Door 4'}, 'error': {'code': 20001, 'umessage': 'In Progress', 'data': {}, 'tmessage': 'In Progress'}, 'rstatus': False, 'status': 'False', 'voiceNote': 'Please close door 4', 'SectionMain': {'Header': 'Door Open'}}, 'order_id': 'TM07201911260829003429713'}
[2026-08-29 00:37:32,162.162 INFO    ] 200
[2026-08-29 00:37:32,165.165 INFO    ] {"data":{"server_status":"OrderStatus","server_response":{"SectionSKU":{"skus":[{"name":"Pepsi ZeroSugar  300ml","qty":1},{"name":"BRU Cold Coffee Classic 200ml","qty":1}],"Header":"Pick the below items from the door"},"SectionStatus":{"Note":"Please Close the door after picking up products","UI_Header":"DOOR 4\nIS \nOPEN \nNOW","SubHeader":"Please Pick the Products and close the door","Header":"Please Close Door 4"},"error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"rstatus":false,"status":"false","voiceNote":"Please close door 4","SectionMain":{"Header":"Door Open"}},"order_id":"TM07201911260829003429713"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-08-29 00:37:32,170.170 INFO    ] {'response': {'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'status': True, 'data': 'order updated successfully'}, 'data': {'server_status': 'OrderStatus', 'server_response': {'SectionSKU': {'skus': [{'name': 'Pepsi ZeroSugar  300ml', 'qty': 1}, {'name': 'BRU Cold Coffee Classic 200ml', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'status': 'false', 'rstatus': False, 'error': {'code': 20001, 'umessage': 'In Progress', 'data': [], 'tmessage': 'In Progress'}, 'voiceNote': 'Please close door 4', 'SectionMain': {'Header': 'Door Open'}, 'SectionStatus': {'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 4', 'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 4\nIS \nOPEN \nNOW'}}, 'order_id': 'TM07201911260829003429713'}}
[2026-08-29 00:37:32,174.174 INFO    ] {'SectionSKU': {'skus': [{'name': 'Pepsi ZeroSugar  300ml', 'qty': 1}, {'name': 'BRU Cold Coffee Classic 200ml', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'SectionStatus': {'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 4\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door', 'Header': 'Please Close Door 4'}, 'error': {'code': 20001, 'umessage': 'In Progress', 'data': {}, 'tmessage': 'In Progress'}, 'rstatus': False, 'status': 'False', 'voiceNote': 'Please close door 4', 'SectionMain': {'Header': 'Door Open'}}
[2026-08-29 00:37:35,233.233 INFO    ] 200
[2026-08-29 00:37:35,236.236 INFO    ] {"SectionSKU": {"skus": [], "Header": "If you like us, tell others... else tell us"}, "voiceNote": "Transaction Completed", "rstatus": true, "delay": 100, "SectionMain": {"Header": "Door Closed"}, "SectionStatus": {"Note": "If any due amount, clear at https://go.tinymart.in", "SubHeader": "Please wait for invoice to generate", "Header": " Order is complete ", "UI_Header": ""}, "status": "True"}
[2026-08-29 00:37:35,240.240 INFO    ] {'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'SectionStatus': {'Note': 'If any due amount, clear at https://go.tinymart.in', 'UI_Header': '', 'SubHeader': 'Please wait for invoice to generate', 'Header': ' Order is complete '}, 'rstatus': True, 'delay': 100, 'status': 'True', 'voiceNote': 'Transaction Completed', 'SectionMain': {'Header': 'Door Closed'}}
[2026-08-29 00:37:35,244.244 INFO    ] 2026-08-29 00:37:35
[2026-08-29 00:37:35,247.247 INFO    ] Order Completed 
[2026-08-29 00:37:35,250.250 INFO    ] Order Completed 
[2026-08-29 00:37:35,253.253 INFO    ] 193c8a8cf3bf490ccfe0b23598544a83
[2026-08-29 00:37:35,257.257 INFO    ] 2026-08-29 00:37:35
[2026-08-29 00:37:35,260.260 INFO    ] playing audio file
[2026-08-29 00:37:35,277.277 INFO    ] 2026-08-29 00:37:35
[2026-08-29 00:37:35,279.279 INFO    ] {'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'SectionStatus': {'Note': 'If any due amount, clear at https://go.tinymart.in', 'UI_Header': '', 'SubHeader': 'Please wait for invoice to generate', 'Header': ' Order is complete '}, 'rstatus': True, 'delay': 100, 'status': 'True', 'voiceNote': 'Transaction Completed', 'SectionMain': {'Header': 'Door Closed'}}
[2026-08-29 00:37:35,282.282 INFO    ] 2026-08-29 00:37:35
[2026-08-29 00:37:37,596.596 INFO    ] 200
[2026-08-29 00:37:37,599.599 INFO    ] {"orderId": "TM07201911260829003429713", "total_amount": 100.0, "rstatus": true, "res": "True", "skus": [{"door_id": "", "qty": 1, "unit_price": "40", "tray_id": "43", "skuid": "186059", "mrp": "40", "sku_total": 40.0, "name": "Pepsi ZeroSugar  300ml per peice", "image_url": "https://images.tinymart.in/product/186059-5330.png"}, {"door_id": "", "qty": 1, "unit_price": "60", "tray_id": "45", "skuid": "4500656", "mrp": "60", "sku_total": 60.0, "name": "BRU Cold Coffee Classic 200ml per peice", "image_url": "https://images.tinymart.in/product/4500656-2520.webp"}], "anomaly": 0, "logic": "WBL"}
[2026-08-29 00:37:37,603.603 INFO    ] {'skus': [{'door_id': '', 'unit_price': '40', 'image_url': 'https://images.tinymart.in/product/186059-5330.png', 'qty': 1, 'tray_id': '43', 'sku_total': 40.0, 'skuid': '186059', 'name': 'Pepsi ZeroSugar  300ml per peice', 'mrp': '40'}, {'door_id': '', 'unit_price': '60', 'image_url': 'https://images.tinymart.in/product/4500656-2520.webp', 'qty': 1, 'tray_id': '45', 'sku_total': 60.0, 'skuid': '4500656', 'name': 'BRU Cold Coffee Classic 200ml per peice', 'mrp': '60'}], 'res': 'True', 'total_amount': 100.0, 'rstatus': True, 'anomaly': 0, 'logic': 'WBL', 'orderId': 'TM07201911260829003429713'}
[2026-08-29 00:37:37,606.606 INFO    ] {'skus': [{'door_id': '', 'unit_price': '40', 'image_url': 'https://images.tinymart.in/product/186059-5330.png', 'qty': 1, 'tray_id': '43', 'sku_total': 40.0, 'skuid': '186059', 'name': 'Pepsi ZeroSugar  300ml per peice', 'mrp': '40'}, {'door_id': '', 'unit_price': '60', 'image_url': 'https://images.tinymart.in/product/4500656-2520.webp', 'qty': 1, 'tray_id': '45', 'sku_total': 60.0, 'skuid': '4500656', 'name': 'BRU Cold Coffee Classic 200ml per peice', 'mrp': '60'}], 'res': 'True', 'total_amount': 100.0, 'rstatus': True, 'anomaly': 0, 'logic': 'WBL', 'orderId': 'TM07201911260829003429713'}
[2026-08-29 00:37:37,609.609 INFO    ] 2026-08-29 00:37:37
[2026-08-29 00:37:37,612.612 INFO    ] 2026-08-29 00:37:37
[2026-08-29 00:37:37,615.615 INFO    ] 100
[2026-08-29 00:37:37,617.617 INFO    ] 2026-08-29 00:37:37
[2026-08-29 00:37:37,620.620 INFO    ] 2026-08-29 00:37:37
[2026-08-29 00:37:37,623.623 INFO    ]  Your Bill Amount is 100
[2026-08-29 00:37:37,625.625 INFO    ]  Your Bill Amount is 100
[2026-08-29 00:37:37,628.628 INFO    ] d403bfb2a3e236c325436991e756dde3
[2026-08-29 00:37:37,636.636 INFO    ] 2026-08-29 00:37:37
[2026-08-29 00:37:37,638.638 INFO    ] playing audio file
[2026-08-29 00:37:37,656.656 INFO    ] 2026-08-29 00:37:37
[2026-08-29 00:37:37,659.659 INFO    ] 2026-08-29 00:37:37
[2026-08-29 00:37:37,663.663 INFO    ] publish_status: order_id=TM07201911260829003429713
[2026-08-29 00:37:37,665.665 INFO    ] [publish_status] Adding message to stream: order:TM07201911260829003429713
[2026-08-29 00:37:37,722.722 INFO    ] [publish_status] Message added to stream with ID: 1787944057688-0
[2026-08-29 00:37:37,725.725 INFO    ] Published to order:TM07201911260829003429713: {'server_status': 'invoiceOrder', 'server_response': '{"skus": [{"door_id": "", "unit_price": "40", "image_url": "https://images.tinymart.in/product/186059-5330.png", "qty": 1, "tray_id": "43", "sku_total": 40.0, "skuid": "186059", "name": "Pepsi ZeroSugar  300ml per peice", "mrp": "40"}, {"door_id": "", "unit_price": "60", "image_url": "https://images.tinymart.in/product/4500656-2520.webp", "qty": 1, "tray_id": "45", "sku_total": 60.0, "skuid": "4500656", "name": "BRU Cold Coffee Classic 200ml per peice", "mrp": "60"}], "res": "True", "total_amount": 100.0, "rstatus": true, "anomaly": 0, "logic": "WBL", "orderId": "TM07201911260829003429713"}', 'order_id': 'TM07201911260829003429713', 'timestamp': '2026-08-28T19:07:37.660958Z'} (ID: 1787944057688-0)
[2026-08-29 00:37:38,740.740 INFO    ] {'server_status': 'invoiceOrder', 'server_response': {'skus': [{'door_id': '', 'unit_price': '40', 'image_url': 'https://images.tinymart.in/product/186059-5330.png', 'qty': 1, 'tray_id': '43', 'sku_total': 40.0, 'skuid': '186059', 'name': 'Pepsi ZeroSugar  300ml per peice', 'mrp': '40'}, {'door_id': '', 'unit_price': '60', 'image_url': 'https://images.tinymart.in/product/4500656-2520.webp', 'qty': 1, 'tray_id': '45', 'sku_total': 60.0, 'skuid': '4500656', 'name': 'BRU Cold Coffee Classic 200ml per peice', 'mrp': '60'}], 'res': 'True', 'total_amount': 100.0, 'rstatus': True, 'anomaly': 0, 'logic': 'WBL', 'orderId': 'TM07201911260829003429713'}, 'order_id': 'TM07201911260829003429713'}
[2026-08-29 00:37:38,741.741 INFO    ] 200
[2026-08-29 00:37:38,743.743 INFO    ] {"data":{"server_status":"invoiceOrder","server_response":{"skus":[{"door_id":"","unit_price":"40","image_url":"https:\/\/images.tinymart.in\/product\/186059-5330.png","qty":1,"tray_id":"43","sku_total":40,"skuid":"186059","name":"Pepsi ZeroSugar  300ml per peice","mrp":"40"},{"door_id":"","unit_price":"60","image_url":"https:\/\/images.tinymart.in\/product\/4500656-2520.webp","qty":1,"tray_id":"45","sku_total":60,"skuid":"4500656","name":"BRU Cold Coffee Classic 200ml per peice","mrp":"60"}],"res":"true","total_amount":100,"rstatus":true,"anomaly":0,"logic":"WBL","orderId":"TM07201911260829003429713"},"order_id":"TM07201911260829003429713"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-08-29 00:37:38,744.744 INFO    ] {'response': {'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'status': True, 'data': 'order updated successfully'}, 'data': {'server_status': 'invoiceOrder', 'server_response': {'skus': [{'door_id': '', 'unit_price': '40', 'image_url': 'https://images.tinymart.in/product/186059-5330.png', 'qty': 1, 'tray_id': '43', 'sku_total': 40, 'skuid': '186059', 'name': 'Pepsi ZeroSugar  300ml per peice', 'mrp': '40'}, {'door_id': '', 'unit_price': '60', 'image_url': 'https://images.tinymart.in/product/4500656-2520.webp', 'qty': 1, 'tray_id': '45', 'sku_total': 60, 'skuid': '4500656', 'name': 'BRU Cold Coffee Classic 200ml per peice', 'mrp': '60'}], 'rstatus': True, 'total_amount': 100, 'res': 'true', 'anomaly': 0, 'logic': 'WBL', 'orderId': 'TM07201911260829003429713'}, 'order_id': 'TM07201911260829003429713'}}
[2026-08-29 00:37:38,746.746 INFO    ] {'response': {'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'status': True, 'data': 'order updated successfully'}, 'data': {'server_status': 'invoiceOrder', 'server_response': {'skus': [{'door_id': '', 'unit_price': '40', 'image_url': 'https://images.tinymart.in/product/186059-5330.png', 'qty': 1, 'tray_id': '43', 'sku_total': 40, 'skuid': '186059', 'name': 'Pepsi ZeroSugar  300ml per peice', 'mrp': '40'}, {'door_id': '', 'unit_price': '60', 'image_url': 'https://images.tinymart.in/product/4500656-2520.webp', 'qty': 1, 'tray_id': '45', 'sku_total': 60, 'skuid': '4500656', 'name': 'BRU Cold Coffee Classic 200ml per peice', 'mrp': '60'}], 'rstatus': True, 'total_amount': 100, 'res': 'true', 'anomaly': 0, 'logic': 'WBL', 'orderId': 'TM07201911260829003429713'}, 'order_id': 'TM07201911260829003429713'}}
[2026-08-29 00:37:38,747.747 INFO    ] 2026-08-29 00:37:38
[2026-08-29 00:37:42,057.057 INFO    ] 200
[2026-08-29 00:37:42,060.060 INFO    ] {"tray_sync": [], "orders_data": [], "status": true, "order_items_synced": ["TM07201911260829003429713_0", "TM07201911260829003429713_1"], "order_items": [], "tray_synced": ["TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713", "TM07201911260829003429713"], "orders_data_synced": [], "orders": [], "orders_synced": []}
[2026-08-29 00:37:42,063.063 INFO    ] 2026-08-29 00:37:42
[2026-08-29 00:37:42,180.180 INFO    ] 200
[2026-08-29 00:37:42,182.182 INFO    ] True
[2026-08-29 00:37:42,184.184 INFO    ] cleanup_start_order_file_after_processing: order_id=TM07201911260829003429713
[2026-08-29 00:37:42,186.186 INFO    ] start order file deleted
[2026-08-29 00:37:42,187.187 INFO    ] Checking for system updates...
[2026-08-29 00:37:42,206.206 INFO    ] 200
[2026-08-29 00:37:42,208.208 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:37:42,238.238 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:37:42,239.239 INFO    ] No update needed
[2026-08-29 00:37:42,241.241 INFO    ] Checking for camera pi updates...
[2026-08-29 00:37:42,262.262 INFO    ] 200
[2026-08-29 00:37:42,264.264 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:37:42,287.287 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:37:42,463.463 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:37:42,465.465 INFO    ] No camera update needed
[2026-08-29 00:37:42,466.466 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:37:42,467.467 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:37:42,470.470 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:37:42,473.473 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:37:44,506.506 INFO    ] ================================================
[2026-08-29 00:37:44,523.523 INFO    ] Launching Daemon at Sat Aug 29 00:37:44 IST 2026
[2026-08-29 00:37:44,534.534 INFO    ] ================================================
[2026-08-29 00:37:45,190.190 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:37:45
[2026-08-29 00:37:45,887.887 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:37:46,202.202 INFO    ] Initializing speech engine...
[2026-08-29 00:37:46,214.214 INFO    ] 2026-08-29 00:37:46
[2026-08-29 00:37:46,506.506 INFO    ] 2026-08-29 00:37:46
[2026-08-29 00:37:46,617.617 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:37:46,771.771 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:37:46,834.834 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:37:46,974.974 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:37:47,040.040 INFO    ] time= 29/08/2026 00:37:46
[2026-08-29 00:37:47,065.065 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:37:47,072.072 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:37:47,149.149 INFO    ] No existing commands found in stream
[2026-08-29 00:37:52,164.164 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:37:52,168.168 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 00:37:54,099.099 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:37:54,100.100 INFO    ] Checking for system updates...
[2026-08-29 00:37:54,122.122 INFO    ] 200
[2026-08-29 00:37:54,123.123 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:37:54,154.154 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:37:54,155.155 INFO    ] No update needed
[2026-08-29 00:37:54,156.156 INFO    ] Checking for camera pi updates...
[2026-08-29 00:37:54,176.176 INFO    ] 200
[2026-08-29 00:37:54,178.178 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:37:54,203.203 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:37:54,281.281 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:37:54,283.283 INFO    ] No camera update needed
[2026-08-29 00:37:54,284.284 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:37:54,285.285 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:37:54,289.289 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:37:54,292.292 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:37:56,331.331 INFO    ] ================================================
[2026-08-29 00:37:56,347.347 INFO    ] Launching Daemon at Sat Aug 29 00:37:56 IST 2026
[2026-08-29 00:37:56,358.358 INFO    ] ================================================
[2026-08-29 00:37:56,730.730 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:37:56
[2026-08-29 00:37:57,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:37:57,229.229 INFO    ] Initializing speech engine...
[2026-08-29 00:37:57,234.234 INFO    ] 2026-08-29 00:37:57
[2026-08-29 00:37:57,435.435 INFO    ] 2026-08-29 00:37:57
[2026-08-29 00:37:57,494.494 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:37:57,716.716 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:37:57,726.726 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:37:57,860.860 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:37:57,877.877 INFO    ] time= 29/08/2026 00:37:57
[2026-08-29 00:37:57,942.942 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:37:57,992.992 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:37:58,055.055 INFO    ] No existing commands found in stream
[2026-08-29 00:38:03,071.071 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:38:03,075.075 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-08-29 00:38:05,235.235 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:38:05,237.237 INFO    ] Checking for system updates...
[2026-08-29 00:38:05,257.257 INFO    ] 200
[2026-08-29 00:38:05,259.259 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:38:05,289.289 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:38:05,291.291 INFO    ] No update needed
[2026-08-29 00:38:05,293.293 INFO    ] Checking for camera pi updates...
[2026-08-29 00:38:05,314.314 INFO    ] 200
[2026-08-29 00:38:05,316.316 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:38:05,340.340 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:38:05,401.401 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:38:05,405.405 INFO    ] No camera update needed
[2026-08-29 00:38:05,407.407 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:38:05,410.410 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:38:05,417.417 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:38:05,423.423 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:38:07,465.465 INFO    ] ================================================
[2026-08-29 00:38:07,480.480 INFO    ] Launching Daemon at Sat Aug 29 00:38:07 IST 2026
[2026-08-29 00:38:07,491.491 INFO    ] ================================================
[2026-08-29 00:38:08,268.268 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:38:08
[2026-08-29 00:38:08,644.644 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:38:08,780.780 INFO    ] Initializing speech engine...
[2026-08-29 00:38:08,791.791 INFO    ] 2026-08-29 00:38:08
[2026-08-29 00:38:08,994.994 INFO    ] 2026-08-29 00:38:08
[2026-08-29 00:38:09,022.022 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:38:09,165.165 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:38:09,186.186 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:38:09,320.320 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:38:09,346.346 INFO    ] time= 29/08/2026 00:38:09
[2026-08-29 00:38:09,354.354 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:38:09,362.362 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:38:09,456.456 INFO    ] No existing commands found in stream
[2026-08-29 00:38:14,471.471 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:38:14,479.479 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-08-29 00:38:16,672.672 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:38:16,674.674 INFO    ] Checking for system updates...
[2026-08-29 00:38:16,695.695 INFO    ] 200
[2026-08-29 00:38:16,697.697 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:38:16,729.729 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:38:16,730.730 INFO    ] No update needed
[2026-08-29 00:38:16,731.731 INFO    ] Checking for camera pi updates...
[2026-08-29 00:38:16,751.751 INFO    ] 200
[2026-08-29 00:38:16,753.753 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:38:16,776.776 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:38:16,874.874 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:38:16,877.877 INFO    ] No camera update needed
[2026-08-29 00:38:16,879.879 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:38:16,881.881 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:38:16,887.887 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:38:16,891.891 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:38:18,934.934 INFO    ] ================================================
[2026-08-29 00:38:18,949.949 INFO    ] Launching Daemon at Sat Aug 29 00:38:18 IST 2026
[2026-08-29 00:38:18,960.960 INFO    ] ================================================
[2026-08-29 00:38:19,502.502 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:38:19
[2026-08-29 00:38:20,088.088 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:38:20,343.343 INFO    ] Initializing speech engine...
[2026-08-29 00:38:20,348.348 INFO    ] 2026-08-29 00:38:20
[2026-08-29 00:38:20,655.655 INFO    ] 2026-08-29 00:38:20
[2026-08-29 00:38:20,681.681 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:38:20,842.842 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:38:20,851.851 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:38:21,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:38:21,020.020 INFO    ] time= 29/08/2026 00:38:21
[2026-08-29 00:38:21,026.026 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:38:21,049.049 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:38:21,103.103 INFO    ] No existing commands found in stream
[2026-08-29 00:38:26,114.114 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:38:26,117.117 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-08-29 00:38:26,848.848 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:38:26,850.850 INFO    ] Checking for system updates...
[2026-08-29 00:38:26,870.870 INFO    ] 200
[2026-08-29 00:38:26,872.872 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:38:26,902.902 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:38:26,904.904 INFO    ] No update needed
[2026-08-29 00:38:26,905.905 INFO    ] Checking for camera pi updates...
[2026-08-29 00:38:26,925.925 INFO    ] 200
[2026-08-29 00:38:26,926.926 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:38:26,950.950 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:38:27,028.028 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:38:27,029.029 INFO    ] No camera update needed
[2026-08-29 00:38:27,031.031 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:38:27,032.032 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:38:27,035.035 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:38:27,038.038 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:38:29,077.077 INFO    ] ================================================
[2026-08-29 00:38:29,093.093 INFO    ] Launching Daemon at Sat Aug 29 00:38:29 IST 2026
[2026-08-29 00:38:29,103.103 INFO    ] ================================================
[2026-08-29 00:38:29,461.461 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:38:29
[2026-08-29 00:38:29,809.809 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:38:29,966.966 INFO    ] Initializing speech engine...
[2026-08-29 00:38:29,969.969 INFO    ] 2026-08-29 00:38:29
[2026-08-29 00:38:30,245.245 INFO    ] 2026-08-29 00:38:30
[2026-08-29 00:38:30,307.307 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:38:30,513.513 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:38:30,524.524 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:38:30,661.661 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:38:30,731.731 INFO    ] time= 29/08/2026 00:38:30
[2026-08-29 00:38:30,789.789 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:38:30,797.797 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:38:30,930.930 INFO    ] No existing commands found in stream
[2026-08-29 00:38:35,955.955 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:38:35,958.958 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-08-29 00:38:38,702.702 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:38:38,704.704 INFO    ] Checking for system updates...
[2026-08-29 00:38:38,724.724 INFO    ] 200
[2026-08-29 00:38:38,726.726 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:38:38,756.756 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:38:38,758.758 INFO    ] No update needed
[2026-08-29 00:38:38,759.759 INFO    ] Checking for camera pi updates...
[2026-08-29 00:38:38,779.779 INFO    ] 200
[2026-08-29 00:38:38,781.781 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:38:38,804.804 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:38:38,884.884 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:38:38,886.886 INFO    ] No camera update needed
[2026-08-29 00:38:38,887.887 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:38:38,889.889 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:38:38,892.892 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:38:38,895.895 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:38:40,934.934 INFO    ] ================================================
[2026-08-29 00:38:40,949.949 INFO    ] Launching Daemon at Sat Aug 29 00:38:40 IST 2026
[2026-08-29 00:38:40,959.959 INFO    ] ================================================
[2026-08-29 00:38:41,325.325 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:38:41
[2026-08-29 00:38:41,642.642 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:38:41,776.776 INFO    ] Initializing speech engine...
[2026-08-29 00:38:41,779.779 INFO    ] 2026-08-29 00:38:41
[2026-08-29 00:38:42,079.079 INFO    ] 2026-08-29 00:38:42
[2026-08-29 00:38:42,115.115 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:38:42,268.268 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:38:42,275.275 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:38:42,431.431 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:38:42,442.442 INFO    ] time= 29/08/2026 00:38:42
[2026-08-29 00:38:42,446.446 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:38:42,451.451 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:38:42,524.524 INFO    ] No existing commands found in stream
[2026-08-29 00:38:47,536.536 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:38:47,539.539 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-08-29 00:38:50,396.396 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:38:50,397.397 INFO    ] Checking for system updates...
[2026-08-29 00:38:50,419.419 INFO    ] 200
[2026-08-29 00:38:50,420.420 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:38:50,450.450 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:38:50,452.452 INFO    ] No update needed
[2026-08-29 00:38:50,453.453 INFO    ] Checking for camera pi updates...
[2026-08-29 00:38:50,473.473 INFO    ] 200
[2026-08-29 00:38:50,474.474 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:38:50,497.497 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:38:50,586.586 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:38:50,587.587 INFO    ] No camera update needed
[2026-08-29 00:38:50,589.589 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:38:50,590.590 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:38:50,593.593 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:38:50,596.596 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:38:52,635.635 INFO    ] ================================================
[2026-08-29 00:38:52,657.657 INFO    ] Launching Daemon at Sat Aug 29 00:38:52 IST 2026
[2026-08-29 00:38:52,667.667 INFO    ] ================================================
[2026-08-29 00:38:53,181.181 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:38:53
[2026-08-29 00:38:53,768.768 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:38:54,043.043 INFO    ] Initializing speech engine...
[2026-08-29 00:38:54,052.052 INFO    ] 2026-08-29 00:38:54
[2026-08-29 00:38:54,303.303 INFO    ] 2026-08-29 00:38:54
[2026-08-29 00:38:54,338.338 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:38:54,516.516 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:38:54,528.528 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:38:54,653.653 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:38:54,673.673 INFO    ] time= 29/08/2026 00:38:54
[2026-08-29 00:38:54,697.697 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:38:54,704.704 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:38:54,783.783 INFO    ] No existing commands found in stream
[2026-08-29 00:38:59,794.794 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:38:59,797.797 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-08-29 00:39:00,673.673 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:39:00,675.675 INFO    ] Checking for system updates...
[2026-08-29 00:39:00,695.695 INFO    ] 200
[2026-08-29 00:39:00,696.696 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:39:00,726.726 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:39:00,728.728 INFO    ] No update needed
[2026-08-29 00:39:00,729.729 INFO    ] Checking for camera pi updates...
[2026-08-29 00:39:00,748.748 INFO    ] 200
[2026-08-29 00:39:00,749.749 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:39:00,777.777 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:39:00,875.875 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:39:00,876.876 INFO    ] No camera update needed
[2026-08-29 00:39:00,878.878 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:39:00,879.879 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:39:00,882.882 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:39:00,885.885 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:39:02,928.928 INFO    ] ================================================
[2026-08-29 00:39:02,945.945 INFO    ] Launching Daemon at Sat Aug 29 00:39:02 IST 2026
[2026-08-29 00:39:02,957.957 INFO    ] ================================================
[2026-08-29 00:39:03,523.523 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:39:03
[2026-08-29 00:39:04,110.110 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:39:04,373.373 INFO    ] Initializing speech engine...
[2026-08-29 00:39:04,379.379 INFO    ] 2026-08-29 00:39:04
[2026-08-29 00:39:04,622.622 INFO    ] 2026-08-29 00:39:04
[2026-08-29 00:39:04,668.668 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:39:04,829.829 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:39:04,839.839 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:39:04,997.997 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:39:05,004.004 INFO    ] time= 29/08/2026 00:39:04
[2026-08-29 00:39:05,053.053 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:39:05,097.097 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:39:05,161.161 INFO    ] No existing commands found in stream
[2026-08-29 00:39:10,171.171 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:39:10,174.174 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-08-29 00:39:13,365.365 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:39:13,366.366 INFO    ] Checking for system updates...
[2026-08-29 00:39:13,387.387 INFO    ] 200
[2026-08-29 00:39:13,388.388 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:39:13,418.418 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:39:13,419.419 INFO    ] No update needed
[2026-08-29 00:39:13,420.420 INFO    ] Checking for camera pi updates...
[2026-08-29 00:39:13,440.440 INFO    ] 200
[2026-08-29 00:39:13,441.441 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:39:13,467.467 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:39:13,546.546 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:39:13,548.548 INFO    ] No camera update needed
[2026-08-29 00:39:13,549.549 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:39:13,550.550 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:39:13,553.553 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:39:13,556.556 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:39:15,594.594 INFO    ] ================================================
[2026-08-29 00:39:15,610.610 INFO    ] Launching Daemon at Sat Aug 29 00:39:15 IST 2026
[2026-08-29 00:39:15,621.621 INFO    ] ================================================
[2026-08-29 00:39:15,968.968 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:39:15
[2026-08-29 00:39:16,279.279 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:39:16,424.424 INFO    ] Initializing speech engine...
[2026-08-29 00:39:16,429.429 INFO    ] 2026-08-29 00:39:16
[2026-08-29 00:39:16,668.668 INFO    ] 2026-08-29 00:39:16
[2026-08-29 00:39:16,728.728 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:39:16,874.874 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:39:16,881.881 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:39:17,009.009 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:39:17,021.021 INFO    ] time= 29/08/2026 00:39:17
[2026-08-29 00:39:17,081.081 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:39:17,135.135 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:39:17,224.224 INFO    ] No existing commands found in stream
[2026-08-29 00:39:22,235.235 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:39:22,238.238 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-08-29 00:39:25,848.848 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:39:25,849.849 INFO    ] Checking for system updates...
[2026-08-29 00:39:25,871.871 INFO    ] 200
[2026-08-29 00:39:25,873.873 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:39:25,903.903 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:39:25,904.904 INFO    ] No update needed
[2026-08-29 00:39:25,905.905 INFO    ] Checking for camera pi updates...
[2026-08-29 00:39:25,926.926 INFO    ] 200
[2026-08-29 00:39:25,927.927 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:39:25,950.950 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:39:26,027.027 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:39:26,028.028 INFO    ] No camera update needed
[2026-08-29 00:39:26,029.029 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:39:26,031.031 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:39:26,034.034 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:39:26,036.036 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:39:28,076.076 INFO    ] ================================================
[2026-08-29 00:39:28,091.091 INFO    ] Launching Daemon at Sat Aug 29 00:39:28 IST 2026
[2026-08-29 00:39:28,102.102 INFO    ] ================================================
[2026-08-29 00:39:28,467.467 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:39:28
[2026-08-29 00:39:28,781.781 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:39:28,914.914 INFO    ] Initializing speech engine...
[2026-08-29 00:39:28,918.918 INFO    ] 2026-08-29 00:39:28
[2026-08-29 00:39:29,176.176 INFO    ] 2026-08-29 00:39:29
[2026-08-29 00:39:29,232.232 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:39:29,400.400 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:39:29,407.407 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:39:30,031.031 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:39:30,049.049 INFO    ] time= 29/08/2026 00:39:30
[2026-08-29 00:39:30,060.060 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:39:30,063.063 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:39:30,423.423 INFO    ] No existing commands found in stream
[2026-08-29 00:39:35,434.434 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:39:35,437.437 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-08-29 00:39:38,340.340 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:39:38,341.341 INFO    ] Checking for system updates...
[2026-08-29 00:39:38,364.364 INFO    ] 200
[2026-08-29 00:39:38,365.365 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:39:38,395.395 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:39:38,396.396 INFO    ] No update needed
[2026-08-29 00:39:38,397.397 INFO    ] Checking for camera pi updates...
[2026-08-29 00:39:38,417.417 INFO    ] 200
[2026-08-29 00:39:38,419.419 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:39:38,441.441 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:39:38,517.517 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:39:38,518.518 INFO    ] No camera update needed
[2026-08-29 00:39:38,519.519 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:39:38,520.520 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:39:38,524.524 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:39:38,526.526 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:39:40,567.567 INFO    ] ================================================
[2026-08-29 00:39:40,582.582 INFO    ] Launching Daemon at Sat Aug 29 00:39:40 IST 2026
[2026-08-29 00:39:40,593.593 INFO    ] ================================================
[2026-08-29 00:39:40,982.982 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:39:40
[2026-08-29 00:39:41,328.328 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:39:41,485.485 INFO    ] Initializing speech engine...
[2026-08-29 00:39:41,489.489 INFO    ] 2026-08-29 00:39:41
[2026-08-29 00:39:41,804.804 INFO    ] 2026-08-29 00:39:41
[2026-08-29 00:39:41,891.891 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:39:42,048.048 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:39:42,061.061 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:39:42,190.190 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:39:42,260.260 INFO    ] time= 29/08/2026 00:39:42
[2026-08-29 00:39:42,319.319 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:39:42,326.326 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:39:42,457.457 INFO    ] No existing commands found in stream
[2026-08-29 00:39:47,484.484 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:39:47,487.487 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-08-29 00:39:51,340.340 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:39:51,341.341 INFO    ] Checking for system updates...
[2026-08-29 00:39:51,362.362 INFO    ] 200
[2026-08-29 00:39:51,364.364 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:39:51,394.394 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:39:51,396.396 INFO    ] No update needed
[2026-08-29 00:39:51,397.397 INFO    ] Checking for camera pi updates...
[2026-08-29 00:39:51,418.418 INFO    ] 200
[2026-08-29 00:39:51,419.419 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:39:51,444.444 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:39:51,549.549 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:39:51,551.551 INFO    ] No camera update needed
[2026-08-29 00:39:51,552.552 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:39:51,553.553 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:39:51,556.556 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:39:51,559.559 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:39:53,597.597 INFO    ] ================================================
[2026-08-29 00:39:53,612.612 INFO    ] Launching Daemon at Sat Aug 29 00:39:53 IST 2026
[2026-08-29 00:39:53,622.622 INFO    ] ================================================
[2026-08-29 00:39:54,004.004 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:39:54
[2026-08-29 00:39:54,348.348 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:39:54,501.501 INFO    ] Initializing speech engine...
[2026-08-29 00:39:54,506.506 INFO    ] 2026-08-29 00:39:54
[2026-08-29 00:39:54,713.713 INFO    ] 2026-08-29 00:39:54
[2026-08-29 00:39:54,823.823 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:39:55,035.035 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:39:55,044.044 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:39:55,205.205 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:39:55,246.246 INFO    ] time= 29/08/2026 00:39:55
[2026-08-29 00:39:55,264.264 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:39:55,294.294 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:39:55,401.401 INFO    ] No existing commands found in stream
[2026-08-29 00:40:00,419.419 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:40:00,422.422 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-08-29 00:40:08,482.482 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:40:08,484.484 INFO    ] Checking for system updates...
[2026-08-29 00:40:08,505.505 INFO    ] 200
[2026-08-29 00:40:08,506.506 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:40:08,539.539 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:40:08,541.541 INFO    ] No update needed
[2026-08-29 00:40:08,542.542 INFO    ] Checking for camera pi updates...
[2026-08-29 00:40:08,563.563 INFO    ] 200
[2026-08-29 00:40:08,564.564 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:40:08,589.589 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:40:08,665.665 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:40:08,666.666 INFO    ] No camera update needed
[2026-08-29 00:40:08,668.668 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:40:08,669.669 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:40:08,672.672 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:40:08,674.674 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:40:10,713.713 INFO    ] ================================================
[2026-08-29 00:40:10,729.729 INFO    ] Launching Daemon at Sat Aug 29 00:40:10 IST 2026
[2026-08-29 00:40:10,740.740 INFO    ] ================================================
[2026-08-29 00:40:11,104.104 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:40:11
[2026-08-29 00:40:11,447.447 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:40:11,603.603 INFO    ] Initializing speech engine...
[2026-08-29 00:40:11,611.611 INFO    ] 2026-08-29 00:40:11
[2026-08-29 00:40:11,867.867 INFO    ] 2026-08-29 00:40:11
[2026-08-29 00:40:11,923.923 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:40:12,091.091 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:40:12,098.098 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:40:12,273.273 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:40:12,299.299 INFO    ] time= 29/08/2026 00:40:12
[2026-08-29 00:40:12,316.316 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:40:12,350.350 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:40:12,454.454 INFO    ] No existing commands found in stream
[2026-08-29 00:40:17,477.477 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:40:17,481.481 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-08-29 00:40:20,084.084 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:40:20,086.086 INFO    ] Checking for system updates...
[2026-08-29 00:40:20,107.107 INFO    ] 200
[2026-08-29 00:40:20,108.108 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:40:20,139.139 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:40:20,140.140 INFO    ] No update needed
[2026-08-29 00:40:20,142.142 INFO    ] Checking for camera pi updates...
[2026-08-29 00:40:20,164.164 INFO    ] 200
[2026-08-29 00:40:20,165.165 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:40:20,189.189 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:40:20,272.272 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:40:20,274.274 INFO    ] No camera update needed
[2026-08-29 00:40:20,275.275 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:40:20,277.277 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:40:20,280.280 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:40:20,283.283 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:40:22,325.325 INFO    ] ================================================
[2026-08-29 00:40:22,340.340 INFO    ] Launching Daemon at Sat Aug 29 00:40:22 IST 2026
[2026-08-29 00:40:22,352.352 INFO    ] ================================================
[2026-08-29 00:40:22,722.722 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:40:22
[2026-08-29 00:40:23,038.038 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:40:23,170.170 INFO    ] Initializing speech engine...
[2026-08-29 00:40:23,173.173 INFO    ] 2026-08-29 00:40:23
[2026-08-29 00:40:23,368.368 INFO    ] 2026-08-29 00:40:23
[2026-08-29 00:40:23,414.414 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:40:23,574.574 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:40:23,598.598 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:40:23,741.741 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:40:23,792.792 INFO    ] time= 29/08/2026 00:40:23
[2026-08-29 00:40:23,803.803 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:40:23,871.871 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:40:23,977.977 INFO    ] No existing commands found in stream
[2026-08-29 00:40:28,988.988 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:40:28,990.990 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-08-29 00:40:31,094.094 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:40:31,095.095 INFO    ] Checking for system updates...
[2026-08-29 00:40:31,116.116 INFO    ] 200
[2026-08-29 00:40:31,117.117 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:40:31,150.150 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:40:31,152.152 INFO    ] No update needed
[2026-08-29 00:40:31,153.153 INFO    ] Checking for camera pi updates...
[2026-08-29 00:40:31,173.173 INFO    ] 200
[2026-08-29 00:40:31,174.174 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:40:31,200.200 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:40:31,306.306 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:40:31,308.308 INFO    ] No camera update needed
[2026-08-29 00:40:31,309.309 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:40:31,310.310 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:40:31,314.314 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:40:31,317.317 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:40:33,349.349 INFO    ] ================================================
[2026-08-29 00:40:33,364.364 INFO    ] Launching Daemon at Sat Aug 29 00:40:33 IST 2026
[2026-08-29 00:40:33,375.375 INFO    ] ================================================
[2026-08-29 00:40:33,943.943 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:40:33
[2026-08-29 00:40:34,530.530 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:40:34,798.798 INFO    ] Initializing speech engine...
[2026-08-29 00:40:34,808.808 INFO    ] 2026-08-29 00:40:34
[2026-08-29 00:40:35,057.057 INFO    ] 2026-08-29 00:40:35
[2026-08-29 00:40:35,093.093 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:40:35,273.273 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:40:35,298.298 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:40:35,469.469 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:40:35,519.519 INFO    ] time= 29/08/2026 00:40:35
[2026-08-29 00:40:35,537.537 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:40:35,545.545 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:40:35,643.643 INFO    ] No existing commands found in stream
[2026-08-29 00:40:40,675.675 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:40:40,677.677 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-08-29 00:40:41,293.293 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:40:41,295.295 INFO    ] Checking for system updates...
[2026-08-29 00:40:41,316.316 INFO    ] 200
[2026-08-29 00:40:41,317.317 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:40:41,348.348 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:40:41,349.349 INFO    ] No update needed
[2026-08-29 00:40:41,351.351 INFO    ] Checking for camera pi updates...
[2026-08-29 00:40:41,372.372 INFO    ] 200
[2026-08-29 00:40:41,374.374 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:40:41,399.399 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:40:41,573.573 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:40:41,575.575 INFO    ] No camera update needed
[2026-08-29 00:40:41,576.576 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:40:41,577.577 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:40:41,581.581 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:40:41,584.584 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:40:43,625.625 INFO    ] ================================================
[2026-08-29 00:40:43,641.641 INFO    ] Launching Daemon at Sat Aug 29 00:40:43 IST 2026
[2026-08-29 00:40:43,654.654 INFO    ] ================================================
[2026-08-29 00:40:44,006.006 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:40:44
[2026-08-29 00:40:44,318.318 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:40:44,495.495 INFO    ] Initializing speech engine...
[2026-08-29 00:40:44,504.504 INFO    ] 2026-08-29 00:40:44
[2026-08-29 00:40:44,751.751 INFO    ] 2026-08-29 00:40:44
[2026-08-29 00:40:44,787.787 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:40:44,980.980 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:40:45,025.025 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:40:45,183.183 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:40:45,224.224 INFO    ] time= 29/08/2026 00:40:45
[2026-08-29 00:40:45,284.284 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:40:45,316.316 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:40:45,369.369 INFO    ] No existing commands found in stream
[2026-08-29 00:40:50,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:40:50,384.384 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-08-29 00:40:54,138.138 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:40:54,140.140 INFO    ] Checking for system updates...
[2026-08-29 00:40:54,160.160 INFO    ] 200
[2026-08-29 00:40:54,162.162 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:40:54,192.192 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:40:54,193.193 INFO    ] No update needed
[2026-08-29 00:40:54,194.194 INFO    ] Checking for camera pi updates...
[2026-08-29 00:40:54,214.214 INFO    ] 200
[2026-08-29 00:40:54,215.215 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:40:54,238.238 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:40:54,325.325 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:40:54,326.326 INFO    ] No camera update needed
[2026-08-29 00:40:54,328.328 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:40:54,329.329 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:40:54,332.332 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:40:54,335.335 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:40:56,376.376 INFO    ] ================================================
[2026-08-29 00:40:56,391.391 INFO    ] Launching Daemon at Sat Aug 29 00:40:56 IST 2026
[2026-08-29 00:40:56,402.402 INFO    ] ================================================
[2026-08-29 00:40:56,770.770 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:40:56
[2026-08-29 00:40:57,116.116 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:40:57,264.264 INFO    ] Initializing speech engine...
[2026-08-29 00:40:57,271.271 INFO    ] 2026-08-29 00:40:57
[2026-08-29 00:40:57,484.484 INFO    ] 2026-08-29 00:40:57
[2026-08-29 00:40:57,512.512 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:40:57,660.660 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:40:57,698.698 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:40:57,832.832 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:40:57,900.900 INFO    ] time= 29/08/2026 00:40:57
[2026-08-29 00:40:57,928.928 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:40:57,931.931 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:40:58,003.003 INFO    ] No existing commands found in stream
[2026-08-29 00:41:03,018.018 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:41:03,021.021 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-08-29 00:41:03,682.682 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:41:03,685.685 INFO    ] Checking for system updates...
[2026-08-29 00:41:03,722.722 INFO    ] 200
[2026-08-29 00:41:03,725.725 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:41:03,779.779 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:41:03,782.782 INFO    ] No update needed
[2026-08-29 00:41:03,785.785 INFO    ] Checking for camera pi updates...
[2026-08-29 00:41:03,819.819 INFO    ] 200
[2026-08-29 00:41:03,822.822 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:41:03,864.864 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:41:03,967.967 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:41:03,970.970 INFO    ] No camera update needed
[2026-08-29 00:41:03,973.973 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:41:03,976.976 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:41:03,982.982 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:41:03,988.988 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:41:06,029.029 INFO    ] ================================================
[2026-08-29 00:41:06,044.044 INFO    ] Launching Daemon at Sat Aug 29 00:41:06 IST 2026
[2026-08-29 00:41:06,056.056 INFO    ] ================================================
[2026-08-29 00:41:06,631.631 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:41:06
[2026-08-29 00:41:07,217.217 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:41:07,487.487 INFO    ] Initializing speech engine...
[2026-08-29 00:41:07,495.495 INFO    ] 2026-08-29 00:41:07
[2026-08-29 00:41:07,744.744 INFO    ] 2026-08-29 00:41:07
[2026-08-29 00:41:07,779.779 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:41:07,951.951 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:41:07,963.963 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:41:08,106.106 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:41:08,113.113 INFO    ] time= 29/08/2026 00:41:08
[2026-08-29 00:41:08,117.117 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:41:08,123.123 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:41:08,195.195 INFO    ] No existing commands found in stream
[2026-08-29 00:41:13,230.230 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:41:13,233.233 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-08-29 00:41:13,951.951 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:41:13,953.953 INFO    ] Checking for system updates...
[2026-08-29 00:41:13,973.973 INFO    ] 200
[2026-08-29 00:41:13,975.975 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:41:14,005.005 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:41:14,006.006 INFO    ] No update needed
[2026-08-29 00:41:14,008.008 INFO    ] Checking for camera pi updates...
[2026-08-29 00:41:14,027.027 INFO    ] 200
[2026-08-29 00:41:14,028.028 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:41:14,053.053 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:41:14,137.137 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:41:14,138.138 INFO    ] No camera update needed
[2026-08-29 00:41:14,139.139 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:41:14,140.140 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:41:14,143.143 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:41:14,146.146 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:41:16,186.186 INFO    ] ================================================
[2026-08-29 00:41:16,202.202 INFO    ] Launching Daemon at Sat Aug 29 00:41:16 IST 2026
[2026-08-29 00:41:16,214.214 INFO    ] ================================================
[2026-08-29 00:41:16,581.581 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:41:16
[2026-08-29 00:41:16,895.895 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:41:17,027.027 INFO    ] Initializing speech engine...
[2026-08-29 00:41:17,040.040 INFO    ] 2026-08-29 00:41:17
[2026-08-29 00:41:17,249.249 INFO    ] 2026-08-29 00:41:17
[2026-08-29 00:41:17,277.277 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:41:17,399.399 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:41:17,437.437 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:41:17,594.594 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:41:17,620.620 INFO    ] time= 29/08/2026 00:41:17
[2026-08-29 00:41:17,672.672 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:41:17,695.695 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:41:17,766.766 INFO    ] No existing commands found in stream
[2026-08-29 00:41:22,776.776 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:41:22,779.779 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-08-29 00:41:24,198.198 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:41:24,200.200 INFO    ] Checking for system updates...
[2026-08-29 00:41:24,220.220 INFO    ] 200
[2026-08-29 00:41:24,222.222 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:41:24,252.252 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:41:24,253.253 INFO    ] No update needed
[2026-08-29 00:41:24,255.255 INFO    ] Checking for camera pi updates...
[2026-08-29 00:41:24,276.276 INFO    ] 200
[2026-08-29 00:41:24,277.277 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:41:24,300.300 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:41:24,377.377 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:41:24,379.379 INFO    ] No camera update needed
[2026-08-29 00:41:24,380.380 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:41:24,381.381 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:41:24,384.384 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:41:24,387.387 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:41:26,428.428 INFO    ] ================================================
[2026-08-29 00:41:26,443.443 INFO    ] Launching Daemon at Sat Aug 29 00:41:26 IST 2026
[2026-08-29 00:41:26,454.454 INFO    ] ================================================
[2026-08-29 00:41:26,843.843 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:41:26
[2026-08-29 00:41:27,184.184 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:41:27,336.336 INFO    ] Initializing speech engine...
[2026-08-29 00:41:27,342.342 INFO    ] 2026-08-29 00:41:27
[2026-08-29 00:41:27,551.551 INFO    ] 2026-08-29 00:41:27
[2026-08-29 00:41:27,579.579 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:41:27,722.722 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:41:27,765.765 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:41:27,901.901 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:41:27,966.966 INFO    ] time= 29/08/2026 00:41:27
[2026-08-29 00:41:27,993.993 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:41:28,000.000 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:41:28,065.065 INFO    ] No existing commands found in stream
[2026-08-29 00:41:33,076.076 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:41:33,079.079 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-08-29 00:41:36,296.296 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:41:36,297.297 INFO    ] Checking for system updates...
[2026-08-29 00:41:36,318.318 INFO    ] 200
[2026-08-29 00:41:36,320.320 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:41:36,352.352 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:41:36,355.355 INFO    ] No update needed
[2026-08-29 00:41:36,358.358 INFO    ] Checking for camera pi updates...
[2026-08-29 00:41:36,393.393 INFO    ] 200
[2026-08-29 00:41:36,396.396 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:41:36,436.436 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:41:36,527.527 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:41:36,529.529 INFO    ] No camera update needed
[2026-08-29 00:41:36,532.532 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:41:36,535.535 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:41:36,541.541 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:41:36,546.546 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:41:38,587.587 INFO    ] ================================================
[2026-08-29 00:41:38,603.603 INFO    ] Launching Daemon at Sat Aug 29 00:41:38 IST 2026
[2026-08-29 00:41:38,614.614 INFO    ] ================================================
[2026-08-29 00:41:39,276.276 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:41:39
[2026-08-29 00:41:39,718.718 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:41:39,871.871 INFO    ] Initializing speech engine...
[2026-08-29 00:41:39,878.878 INFO    ] 2026-08-29 00:41:39
[2026-08-29 00:41:40,090.090 INFO    ] 2026-08-29 00:41:40
[2026-08-29 00:41:40,120.120 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:41:40,245.245 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:41:40,303.303 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:41:40,436.436 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:41:40,491.491 INFO    ] time= 29/08/2026 00:41:40
[2026-08-29 00:41:40,536.536 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:41:40,568.568 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:41:40,660.660 INFO    ] No existing commands found in stream
[2026-08-29 00:41:45,685.685 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:41:45,687.687 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 00:41:47,209.209 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:41:47,211.211 INFO    ] Checking for system updates...
[2026-08-29 00:41:47,231.231 INFO    ] 200
[2026-08-29 00:41:47,232.232 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:41:47,266.266 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:41:47,267.267 INFO    ] No update needed
[2026-08-29 00:41:47,268.268 INFO    ] Checking for camera pi updates...
[2026-08-29 00:41:47,288.288 INFO    ] 200
[2026-08-29 00:41:47,289.289 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:41:47,312.312 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:41:47,409.409 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:41:47,410.410 INFO    ] No camera update needed
[2026-08-29 00:41:47,411.411 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:41:47,412.412 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:41:47,415.415 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:41:47,418.418 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:41:49,457.457 INFO    ] ================================================
[2026-08-29 00:41:49,472.472 INFO    ] Launching Daemon at Sat Aug 29 00:41:49 IST 2026
[2026-08-29 00:41:49,483.483 INFO    ] ================================================
[2026-08-29 00:41:49,823.823 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:41:49
[2026-08-29 00:41:50,138.138 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:41:50,272.272 INFO    ] Initializing speech engine...
[2026-08-29 00:41:50,277.277 INFO    ] 2026-08-29 00:41:50
[2026-08-29 00:41:50,470.470 INFO    ] 2026-08-29 00:41:50
[2026-08-29 00:41:50,516.516 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:41:50,639.639 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:41:50,644.644 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:41:50,763.763 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:41:50,782.782 INFO    ] time= 29/08/2026 00:41:50
[2026-08-29 00:41:50,789.789 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:41:50,842.842 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:41:50,934.934 INFO    ] No existing commands found in stream
[2026-08-29 00:41:55,944.944 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:41:55,952.952 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-08-29 00:41:59,521.521 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:41:59,523.523 INFO    ] Checking for system updates...
[2026-08-29 00:41:59,544.544 INFO    ] 200
[2026-08-29 00:41:59,546.546 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:41:59,578.578 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:41:59,580.580 INFO    ] No update needed
[2026-08-29 00:41:59,581.581 INFO    ] Checking for camera pi updates...
[2026-08-29 00:41:59,601.601 INFO    ] 200
[2026-08-29 00:41:59,603.603 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:41:59,626.626 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:41:59,700.700 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:41:59,702.702 INFO    ] No camera update needed
[2026-08-29 00:41:59,703.703 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:41:59,704.704 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:41:59,707.707 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:41:59,710.710 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:42:01,748.748 INFO    ] ================================================
[2026-08-29 00:42:01,764.764 INFO    ] Launching Daemon at Sat Aug 29 00:42:01 IST 2026
[2026-08-29 00:42:01,776.776 INFO    ] ================================================
[2026-08-29 00:42:02,394.394 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:42:02
[2026-08-29 00:42:03,060.060 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:42:03,336.336 INFO    ] Initializing speech engine...
[2026-08-29 00:42:03,347.347 INFO    ] 2026-08-29 00:42:03
[2026-08-29 00:42:03,723.723 INFO    ] 2026-08-29 00:42:03
[2026-08-29 00:42:03,752.752 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:42:03,930.930 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:42:03,938.938 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:42:04,072.072 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:42:04,093.093 INFO    ] time= 29/08/2026 00:42:04
[2026-08-29 00:42:04,103.103 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:42:04,109.109 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:42:04,174.174 INFO    ] No existing commands found in stream
[2026-08-29 00:42:09,187.187 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:42:09,190.190 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-08-29 00:42:12,873.873 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:42:12,875.875 INFO    ] Checking for system updates...
[2026-08-29 00:42:12,895.895 INFO    ] 200
[2026-08-29 00:42:12,896.896 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:42:12,926.926 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:42:12,927.927 INFO    ] No update needed
[2026-08-29 00:42:12,928.928 INFO    ] Checking for camera pi updates...
[2026-08-29 00:42:12,948.948 INFO    ] 200
[2026-08-29 00:42:12,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:42:12,972.972 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:42:13,055.055 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:42:13,056.056 INFO    ] No camera update needed
[2026-08-29 00:42:13,058.058 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:42:13,059.059 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:42:13,062.062 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:42:13,065.065 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:42:15,105.105 INFO    ] ================================================
[2026-08-29 00:42:15,121.121 INFO    ] Launching Daemon at Sat Aug 29 00:42:15 IST 2026
[2026-08-29 00:42:15,132.132 INFO    ] ================================================
[2026-08-29 00:42:15,457.457 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:42:15
[2026-08-29 00:42:15,774.774 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:42:15,907.907 INFO    ] Initializing speech engine...
[2026-08-29 00:42:15,911.911 INFO    ] 2026-08-29 00:42:15
[2026-08-29 00:42:16,112.112 INFO    ] 2026-08-29 00:42:16
[2026-08-29 00:42:16,202.202 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:42:16,369.369 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:42:16,379.379 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:42:16,527.527 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:42:16,550.550 INFO    ] time= 29/08/2026 00:42:16
[2026-08-29 00:42:16,605.605 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:42:16,659.659 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:42:16,734.734 INFO    ] No existing commands found in stream
[2026-08-29 00:42:21,746.746 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:42:21,749.749 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-08-29 00:42:22,790.790 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:42:22,791.791 INFO    ] Checking for system updates...
[2026-08-29 00:42:22,813.813 INFO    ] 200
[2026-08-29 00:42:22,815.815 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:42:22,845.845 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:42:22,847.847 INFO    ] No update needed
[2026-08-29 00:42:22,850.850 INFO    ] Checking for camera pi updates...
[2026-08-29 00:42:22,884.884 INFO    ] 200
[2026-08-29 00:42:22,886.886 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:42:22,926.926 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:42:23,023.023 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:42:23,026.026 INFO    ] No camera update needed
[2026-08-29 00:42:23,028.028 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:42:23,030.030 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:42:23,036.036 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:42:23,040.040 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:42:25,088.088 INFO    ] ================================================
[2026-08-29 00:42:25,104.104 INFO    ] Launching Daemon at Sat Aug 29 00:42:25 IST 2026
[2026-08-29 00:42:25,115.115 INFO    ] ================================================
[2026-08-29 00:42:25,695.695 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:42:25
[2026-08-29 00:42:26,167.167 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:42:26,320.320 INFO    ] Initializing speech engine...
[2026-08-29 00:42:26,324.324 INFO    ] 2026-08-29 00:42:26
[2026-08-29 00:42:26,534.534 INFO    ] 2026-08-29 00:42:26
[2026-08-29 00:42:26,564.564 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:42:26,715.715 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:42:26,723.723 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:42:26,861.861 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:42:26,924.924 INFO    ] time= 29/08/2026 00:42:26
[2026-08-29 00:42:26,931.931 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:42:26,949.949 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:42:27,071.071 INFO    ] No existing commands found in stream
[2026-08-29 00:42:32,092.092 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:42:32,096.096 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-08-29 00:42:34,405.405 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:42:34,408.408 INFO    ] Checking for system updates...
[2026-08-29 00:42:34,448.448 INFO    ] 200
[2026-08-29 00:42:34,451.451 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:42:34,518.518 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:42:34,521.521 INFO    ] No update needed
[2026-08-29 00:42:34,524.524 INFO    ] Checking for camera pi updates...
[2026-08-29 00:42:34,562.562 INFO    ] 200
[2026-08-29 00:42:34,565.565 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:42:34,608.608 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:42:34,694.694 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:42:34,697.697 INFO    ] No camera update needed
[2026-08-29 00:42:34,699.699 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:42:34,702.702 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:42:34,709.709 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:42:34,715.715 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:42:36,756.756 INFO    ] ================================================
[2026-08-29 00:42:36,772.772 INFO    ] Launching Daemon at Sat Aug 29 00:42:36 IST 2026
[2026-08-29 00:42:36,783.783 INFO    ] ================================================
[2026-08-29 00:42:37,174.174 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:42:37
[2026-08-29 00:42:37,760.760 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:42:38,032.032 INFO    ] Initializing speech engine...
[2026-08-29 00:42:38,041.041 INFO    ] 2026-08-29 00:42:38
[2026-08-29 00:42:38,292.292 INFO    ] 2026-08-29 00:42:38
[2026-08-29 00:42:38,328.328 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:42:38,503.503 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:42:38,517.517 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:42:38,663.663 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:42:38,670.670 INFO    ] time= 29/08/2026 00:42:38
[2026-08-29 00:42:38,674.674 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:42:38,680.680 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:42:38,749.749 INFO    ] No existing commands found in stream
[2026-08-29 00:42:43,764.764 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:42:43,766.766 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-08-29 00:42:45,444.444 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:42:45,445.445 INFO    ] Checking for system updates...
[2026-08-29 00:42:45,466.466 INFO    ] 200
[2026-08-29 00:42:45,467.467 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:42:45,497.497 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:42:45,498.498 INFO    ] No update needed
[2026-08-29 00:42:45,500.500 INFO    ] Checking for camera pi updates...
[2026-08-29 00:42:45,520.520 INFO    ] 200
[2026-08-29 00:42:45,522.522 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:42:45,547.547 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:42:45,742.742 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:42:45,743.743 INFO    ] No camera update needed
[2026-08-29 00:42:45,745.745 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:42:45,746.746 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:42:45,749.749 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:42:45,752.752 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:42:47,791.791 INFO    ] ================================================
[2026-08-29 00:42:47,807.807 INFO    ] Launching Daemon at Sat Aug 29 00:42:47 IST 2026
[2026-08-29 00:42:47,818.818 INFO    ] ================================================
[2026-08-29 00:42:48,164.164 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:42:48
[2026-08-29 00:42:48,665.665 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:42:48,937.937 INFO    ] Initializing speech engine...
[2026-08-29 00:42:48,953.953 INFO    ] 2026-08-29 00:42:48
[2026-08-29 00:42:49,222.222 INFO    ] 2026-08-29 00:42:49
[2026-08-29 00:42:49,259.259 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:42:49,453.453 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:42:49,460.460 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:42:49,568.568 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:42:49,591.591 INFO    ] time= 29/08/2026 00:42:49
[2026-08-29 00:42:49,597.597 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:42:49,604.604 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:42:49,712.712 INFO    ] No existing commands found in stream
[2026-08-29 00:42:54,730.730 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:42:54,734.734 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-08-29 00:42:56,690.690 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:42:56,691.691 INFO    ] Checking for system updates...
[2026-08-29 00:42:56,712.712 INFO    ] 200
[2026-08-29 00:42:56,713.713 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:42:56,746.746 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:42:56,747.747 INFO    ] No update needed
[2026-08-29 00:42:56,748.748 INFO    ] Checking for camera pi updates...
[2026-08-29 00:42:56,767.767 INFO    ] 200
[2026-08-29 00:42:56,769.769 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:42:56,792.792 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:42:56,873.873 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:42:56,875.875 INFO    ] No camera update needed
[2026-08-29 00:42:56,876.876 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:42:56,877.877 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:42:56,880.880 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:42:56,883.883 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:42:58,923.923 INFO    ] ================================================
[2026-08-29 00:42:58,945.945 INFO    ] Launching Daemon at Sat Aug 29 00:42:58 IST 2026
[2026-08-29 00:42:58,956.956 INFO    ] ================================================
[2026-08-29 00:42:59,292.292 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:42:59
[2026-08-29 00:42:59,603.603 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:42:59,734.734 INFO    ] Initializing speech engine...
[2026-08-29 00:42:59,742.742 INFO    ] 2026-08-29 00:42:59
[2026-08-29 00:42:59,940.940 INFO    ] 2026-08-29 00:42:59
[2026-08-29 00:42:59,982.982 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:43:00,159.159 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:43:00,214.214 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:43:00,313.313 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:43:00,319.319 INFO    ] time= 29/08/2026 00:43:00
[2026-08-29 00:43:00,374.374 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:43:00,390.390 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:43:00,484.484 INFO    ] No existing commands found in stream
[2026-08-29 00:43:05,509.509 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:43:05,517.517 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-08-29 00:43:09,668.668 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:43:09,669.669 INFO    ] Checking for system updates...
[2026-08-29 00:43:09,690.690 INFO    ] 200
[2026-08-29 00:43:09,691.691 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:43:09,722.722 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:43:09,723.723 INFO    ] No update needed
[2026-08-29 00:43:09,724.724 INFO    ] Checking for camera pi updates...
[2026-08-29 00:43:09,743.743 INFO    ] 200
[2026-08-29 00:43:09,745.745 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:43:09,770.770 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:43:09,859.859 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:43:09,861.861 INFO    ] No camera update needed
[2026-08-29 00:43:09,862.862 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:43:09,864.864 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:43:09,866.866 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:43:09,869.869 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:43:11,909.909 INFO    ] ================================================
[2026-08-29 00:43:11,925.925 INFO    ] Launching Daemon at Sat Aug 29 00:43:11 IST 2026
[2026-08-29 00:43:11,936.936 INFO    ] ================================================
[2026-08-29 00:43:12,330.330 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:43:12
[2026-08-29 00:43:12,987.987 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:43:13,284.284 INFO    ] Initializing speech engine...
[2026-08-29 00:43:13,291.291 INFO    ] 2026-08-29 00:43:13
[2026-08-29 00:43:13,563.563 INFO    ] 2026-08-29 00:43:13
[2026-08-29 00:43:13,620.620 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:43:13,843.843 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:43:13,852.852 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:43:13,987.987 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:43:14,033.033 INFO    ] time= 29/08/2026 00:43:13
[2026-08-29 00:43:14,099.099 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:43:14,123.123 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:43:14,177.177 INFO    ] No existing commands found in stream
[2026-08-29 00:43:19,190.190 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:43:19,194.194 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 00:43:20,178.178 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:43:20,180.180 INFO    ] Checking for system updates...
[2026-08-29 00:43:20,200.200 INFO    ] 200
[2026-08-29 00:43:20,202.202 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:43:20,232.232 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:43:20,233.233 INFO    ] No update needed
[2026-08-29 00:43:20,235.235 INFO    ] Checking for camera pi updates...
[2026-08-29 00:43:20,254.254 INFO    ] 200
[2026-08-29 00:43:20,256.256 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:43:20,279.279 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:43:20,361.361 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:43:20,362.362 INFO    ] No camera update needed
[2026-08-29 00:43:20,364.364 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:43:20,365.365 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:43:20,368.368 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:43:20,371.371 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:43:22,412.412 INFO    ] ================================================
[2026-08-29 00:43:22,428.428 INFO    ] Launching Daemon at Sat Aug 29 00:43:22 IST 2026
[2026-08-29 00:43:22,439.439 INFO    ] ================================================
[2026-08-29 00:43:22,789.789 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:43:22
[2026-08-29 00:43:23,107.107 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:43:23,249.249 INFO    ] Initializing speech engine...
[2026-08-29 00:43:23,260.260 INFO    ] 2026-08-29 00:43:23
[2026-08-29 00:43:23,452.452 INFO    ] 2026-08-29 00:43:23
[2026-08-29 00:43:23,488.488 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:43:23,672.672 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:43:23,678.678 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:43:23,785.785 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:43:23,791.791 INFO    ] time= 29/08/2026 00:43:23
[2026-08-29 00:43:23,815.815 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:43:23,821.821 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:43:23,882.882 INFO    ] No existing commands found in stream
[2026-08-29 00:43:28,921.921 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:43:28,924.924 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-08-29 00:43:32,232.232 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:43:32,235.235 INFO    ] Checking for system updates...
[2026-08-29 00:43:32,275.275 INFO    ] 200
[2026-08-29 00:43:32,278.278 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:43:32,332.332 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:43:32,335.335 INFO    ] No update needed
[2026-08-29 00:43:32,338.338 INFO    ] Checking for camera pi updates...
[2026-08-29 00:43:32,373.373 INFO    ] 200
[2026-08-29 00:43:32,375.375 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:43:32,416.416 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:43:32,502.502 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:43:32,505.505 INFO    ] No camera update needed
[2026-08-29 00:43:32,507.507 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:43:32,510.510 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:43:32,516.516 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:43:32,522.522 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:43:34,563.563 INFO    ] ================================================
[2026-08-29 00:43:34,578.578 INFO    ] Launching Daemon at Sat Aug 29 00:43:34 IST 2026
[2026-08-29 00:43:34,589.589 INFO    ] ================================================
[2026-08-29 00:43:35,159.159 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:43:35
[2026-08-29 00:43:35,822.822 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:43:36,127.127 INFO    ] Initializing speech engine...
[2026-08-29 00:43:36,138.138 INFO    ] 2026-08-29 00:43:36
[2026-08-29 00:43:36,446.446 INFO    ] 2026-08-29 00:43:36
[2026-08-29 00:43:36,530.530 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:43:36,687.687 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:43:36,693.693 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:43:36,827.827 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:43:36,877.877 INFO    ] time= 29/08/2026 00:43:36
[2026-08-29 00:43:36,937.937 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:43:36,962.962 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:43:37,019.019 INFO    ] No existing commands found in stream
[2026-08-29 00:43:42,045.045 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:43:42,048.048 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-08-29 00:43:43,962.962 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:43:43,964.964 INFO    ] Checking for system updates...
[2026-08-29 00:43:43,984.984 INFO    ] 200
[2026-08-29 00:43:43,986.986 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:43:44,016.016 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:43:44,017.017 INFO    ] No update needed
[2026-08-29 00:43:44,018.018 INFO    ] Checking for camera pi updates...
[2026-08-29 00:43:44,037.037 INFO    ] 200
[2026-08-29 00:43:44,039.039 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:43:44,062.062 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:43:44,154.154 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:43:44,155.155 INFO    ] No camera update needed
[2026-08-29 00:43:44,156.156 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:43:44,158.158 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:43:44,161.161 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:43:44,164.164 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:43:46,203.203 INFO    ] ================================================
[2026-08-29 00:43:46,219.219 INFO    ] Launching Daemon at Sat Aug 29 00:43:46 IST 2026
[2026-08-29 00:43:46,230.230 INFO    ] ================================================
[2026-08-29 00:43:46,574.574 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:43:46
[2026-08-29 00:43:46,886.886 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:43:47,019.019 INFO    ] Initializing speech engine...
[2026-08-29 00:43:47,023.023 INFO    ] 2026-08-29 00:43:47
[2026-08-29 00:43:47,251.251 INFO    ] 2026-08-29 00:43:47
[2026-08-29 00:43:47,282.282 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:43:47,413.413 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:43:47,451.451 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:43:47,600.600 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:43:47,624.624 INFO    ] time= 29/08/2026 00:43:47
[2026-08-29 00:43:47,676.676 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:43:47,708.708 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:43:47,805.805 INFO    ] No existing commands found in stream
[2026-08-29 00:43:52,816.816 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:43:52,818.818 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-08-29 00:43:54,294.294 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:43:54,295.295 INFO    ] Checking for system updates...
[2026-08-29 00:43:54,315.315 INFO    ] 200
[2026-08-29 00:43:54,317.317 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:43:54,347.347 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:43:54,348.348 INFO    ] No update needed
[2026-08-29 00:43:54,349.349 INFO    ] Checking for camera pi updates...
[2026-08-29 00:43:54,371.371 INFO    ] 200
[2026-08-29 00:43:54,372.372 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:43:54,395.395 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:43:54,507.507 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:43:54,508.508 INFO    ] No camera update needed
[2026-08-29 00:43:54,509.509 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:43:54,510.510 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:43:54,513.513 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:43:54,516.516 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:43:56,554.554 INFO    ] ================================================
[2026-08-29 00:43:56,569.569 INFO    ] Launching Daemon at Sat Aug 29 00:43:56 IST 2026
[2026-08-29 00:43:56,580.580 INFO    ] ================================================
[2026-08-29 00:43:56,919.919 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:43:56
[2026-08-29 00:43:57,233.233 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:43:57,361.361 INFO    ] Initializing speech engine...
[2026-08-29 00:43:57,366.366 INFO    ] 2026-08-29 00:43:57
[2026-08-29 00:43:57,574.574 INFO    ] 2026-08-29 00:43:57
[2026-08-29 00:43:57,609.609 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:43:57,781.781 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:43:57,793.793 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:43:57,930.930 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:43:57,942.942 INFO    ] time= 29/08/2026 00:43:57
[2026-08-29 00:43:57,946.946 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:43:57,952.952 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:43:58,016.016 INFO    ] No existing commands found in stream
[2026-08-29 00:44:03,028.028 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:44:03,031.031 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-08-29 00:44:06,709.709 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:44:06,710.710 INFO    ] Checking for system updates...
[2026-08-29 00:44:06,731.731 INFO    ] 200
[2026-08-29 00:44:06,732.732 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:44:06,762.762 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:44:06,764.764 INFO    ] No update needed
[2026-08-29 00:44:06,765.765 INFO    ] Checking for camera pi updates...
[2026-08-29 00:44:06,784.784 INFO    ] 200
[2026-08-29 00:44:06,785.785 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:44:06,810.810 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:44:06,893.893 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:44:06,896.896 INFO    ] No camera update needed
[2026-08-29 00:44:06,898.898 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:44:06,900.900 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:44:06,905.905 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:44:06,910.910 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:44:08,952.952 INFO    ] ================================================
[2026-08-29 00:44:08,967.967 INFO    ] Launching Daemon at Sat Aug 29 00:44:08 IST 2026
[2026-08-29 00:44:08,977.977 INFO    ] ================================================
[2026-08-29 00:44:09,546.546 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:44:09
[2026-08-29 00:44:10,065.065 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:44:10,369.369 INFO    ] Initializing speech engine...
[2026-08-29 00:44:10,378.378 INFO    ] 2026-08-29 00:44:10
[2026-08-29 00:44:10,665.665 INFO    ] 2026-08-29 00:44:10
[2026-08-29 00:44:10,710.710 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:44:10,932.932 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:44:10,943.943 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:44:11,079.079 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:44:11,125.125 INFO    ] time= 29/08/2026 00:44:11
[2026-08-29 00:44:11,180.180 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:44:11,212.212 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:44:11,314.314 INFO    ] No existing commands found in stream
[2026-08-29 00:44:16,347.347 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:44:16,350.350 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-08-29 00:44:17,069.069 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:44:17,071.071 INFO    ] Checking for system updates...
[2026-08-29 00:44:17,091.091 INFO    ] 200
[2026-08-29 00:44:17,093.093 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:44:17,125.125 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:44:17,127.127 INFO    ] No update needed
[2026-08-29 00:44:17,128.128 INFO    ] Checking for camera pi updates...
[2026-08-29 00:44:17,147.147 INFO    ] 200
[2026-08-29 00:44:17,149.149 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:44:17,172.172 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:44:17,249.249 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:44:17,250.250 INFO    ] No camera update needed
[2026-08-29 00:44:17,252.252 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:44:17,253.253 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:44:17,256.256 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:44:17,259.259 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:44:19,297.297 INFO    ] ================================================
[2026-08-29 00:44:19,312.312 INFO    ] Launching Daemon at Sat Aug 29 00:44:19 IST 2026
[2026-08-29 00:44:19,323.323 INFO    ] ================================================
[2026-08-29 00:44:19,665.665 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:44:19
[2026-08-29 00:44:19,978.978 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:44:20,119.119 INFO    ] Initializing speech engine...
[2026-08-29 00:44:20,125.125 INFO    ] 2026-08-29 00:44:20
[2026-08-29 00:44:20,326.326 INFO    ] 2026-08-29 00:44:20
[2026-08-29 00:44:20,355.355 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:44:20,477.477 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:44:20,539.539 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:44:20,673.673 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:44:20,725.725 INFO    ] time= 29/08/2026 00:44:20
[2026-08-29 00:44:20,764.764 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:44:20,769.769 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:44:20,841.841 INFO    ] No existing commands found in stream
[2026-08-29 00:44:25,850.850 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:44:25,853.853 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-08-29 00:44:28,285.285 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:44:28,286.286 INFO    ] Checking for system updates...
[2026-08-29 00:44:28,307.307 INFO    ] 200
[2026-08-29 00:44:28,308.308 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:44:28,340.340 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:44:28,341.341 INFO    ] No update needed
[2026-08-29 00:44:28,342.342 INFO    ] Checking for camera pi updates...
[2026-08-29 00:44:28,363.363 INFO    ] 200
[2026-08-29 00:44:28,364.364 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:44:28,387.387 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:44:28,464.464 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:44:28,467.467 INFO    ] No camera update needed
[2026-08-29 00:44:28,469.469 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:44:28,471.471 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:44:28,477.477 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:44:28,481.481 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:44:30,523.523 INFO    ] ================================================
[2026-08-29 00:44:30,538.538 INFO    ] Launching Daemon at Sat Aug 29 00:44:30 IST 2026
[2026-08-29 00:44:30,549.549 INFO    ] ================================================
[2026-08-29 00:44:31,119.119 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:44:31
[2026-08-29 00:44:31,671.671 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:44:31,970.970 INFO    ] Initializing speech engine...
[2026-08-29 00:44:31,987.987 INFO    ] 2026-08-29 00:44:31
[2026-08-29 00:44:32,248.248 INFO    ] 2026-08-29 00:44:32
[2026-08-29 00:44:32,295.295 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:44:32,478.478 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:44:32,519.519 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:44:32,633.633 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:44:32,638.638 INFO    ] time= 29/08/2026 00:44:32
[2026-08-29 00:44:32,661.661 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:44:32,670.670 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:44:32,766.766 INFO    ] No existing commands found in stream
[2026-08-29 00:44:37,776.776 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:44:37,779.779 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-08-29 00:44:41,649.649 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:44:41,650.650 INFO    ] Checking for system updates...
[2026-08-29 00:44:41,671.671 INFO    ] 200
[2026-08-29 00:44:41,673.673 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:44:41,703.703 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:44:41,705.705 INFO    ] No update needed
[2026-08-29 00:44:41,706.706 INFO    ] Checking for camera pi updates...
[2026-08-29 00:44:41,726.726 INFO    ] 200
[2026-08-29 00:44:41,727.727 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:44:41,752.752 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:44:41,826.826 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:44:41,827.827 INFO    ] No camera update needed
[2026-08-29 00:44:41,828.828 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:44:41,830.830 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:44:41,833.833 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:44:41,836.836 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:44:43,874.874 INFO    ] ================================================
[2026-08-29 00:44:43,889.889 INFO    ] Launching Daemon at Sat Aug 29 00:44:43 IST 2026
[2026-08-29 00:44:43,900.900 INFO    ] ================================================
[2026-08-29 00:44:44,250.250 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:44:44
[2026-08-29 00:44:44,562.562 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:44:44,699.699 INFO    ] Initializing speech engine...
[2026-08-29 00:44:44,709.709 INFO    ] 2026-08-29 00:44:44
[2026-08-29 00:44:44,913.913 INFO    ] 2026-08-29 00:44:44
[2026-08-29 00:44:44,941.941 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:44:45,083.083 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:44:45,088.088 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:44:45,217.217 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:44:45,224.224 INFO    ] time= 29/08/2026 00:44:45
[2026-08-29 00:44:45,244.244 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:44:45,270.270 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:44:45,351.351 INFO    ] No existing commands found in stream
[2026-08-29 00:44:50,376.376 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:44:50,378.378 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-08-29 00:44:50,878.878 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:44:50,880.880 INFO    ] Checking for system updates...
[2026-08-29 00:44:50,900.900 INFO    ] 200
[2026-08-29 00:44:50,901.901 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:44:50,932.932 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:44:50,933.933 INFO    ] No update needed
[2026-08-29 00:44:50,935.935 INFO    ] Checking for camera pi updates...
[2026-08-29 00:44:50,957.957 INFO    ] 200
[2026-08-29 00:44:50,959.959 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:44:50,981.981 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:44:51,170.170 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:44:51,172.172 INFO    ] No camera update needed
[2026-08-29 00:44:51,175.175 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:44:51,177.177 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:44:51,182.182 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:44:51,187.187 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:44:53,229.229 INFO    ] ================================================
[2026-08-29 00:44:53,245.245 INFO    ] Launching Daemon at Sat Aug 29 00:44:53 IST 2026
[2026-08-29 00:44:53,256.256 INFO    ] ================================================
[2026-08-29 00:44:53,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:44:53
[2026-08-29 00:44:54,242.242 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:44:54,387.387 INFO    ] Initializing speech engine...
[2026-08-29 00:44:54,392.392 INFO    ] 2026-08-29 00:44:54
[2026-08-29 00:44:54,593.593 INFO    ] 2026-08-29 00:44:54
[2026-08-29 00:44:54,673.673 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:44:54,823.823 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:44:54,833.833 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:44:54,966.966 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:44:54,988.988 INFO    ] time= 29/08/2026 00:44:54
[2026-08-29 00:44:55,047.047 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:44:55,096.096 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:44:55,153.153 INFO    ] No existing commands found in stream
[2026-08-29 00:45:00,165.165 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:45:00,168.168 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-08-29 00:45:02,742.742 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:45:02,746.746 INFO    ] Checking for system updates...
[2026-08-29 00:45:02,815.815 INFO    ] 200
[2026-08-29 00:45:02,818.818 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:45:02,924.924 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:45:02,926.926 INFO    ] No update needed
[2026-08-29 00:45:02,930.930 INFO    ] Checking for camera pi updates...
[2026-08-29 00:45:02,988.988 INFO    ] 200
[2026-08-29 00:45:02,992.992 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:45:03,038.038 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:45:03,234.234 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:45:03,237.237 INFO    ] No camera update needed
[2026-08-29 00:45:03,240.240 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:45:03,244.244 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:45:03,251.251 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:45:03,257.257 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:45:05,298.298 INFO    ] ================================================
[2026-08-29 00:45:05,314.314 INFO    ] Launching Daemon at Sat Aug 29 00:45:05 IST 2026
[2026-08-29 00:45:05,325.325 INFO    ] ================================================
[2026-08-29 00:45:05,687.687 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:45:05
[2026-08-29 00:45:06,067.067 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:45:06,327.327 INFO    ] Initializing speech engine...
[2026-08-29 00:45:06,334.334 INFO    ] 2026-08-29 00:45:06
[2026-08-29 00:45:06,624.624 INFO    ] 2026-08-29 00:45:06
[2026-08-29 00:45:06,662.662 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:45:06,859.859 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:45:06,876.876 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:45:07,021.021 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:45:07,041.041 INFO    ] time= 29/08/2026 00:45:07
[2026-08-29 00:45:07,047.047 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:45:07,053.053 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:45:07,125.125 INFO    ] No existing commands found in stream
[2026-08-29 00:45:12,137.137 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:45:12,140.140 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-08-29 00:45:14,592.592 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:45:14,593.593 INFO    ] Checking for system updates...
[2026-08-29 00:45:14,614.614 INFO    ] 200
[2026-08-29 00:45:14,615.615 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:45:14,645.645 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:45:14,646.646 INFO    ] No update needed
[2026-08-29 00:45:14,647.647 INFO    ] Checking for camera pi updates...
[2026-08-29 00:45:14,668.668 INFO    ] 200
[2026-08-29 00:45:14,669.669 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:45:14,694.694 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:45:14,772.772 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:45:14,773.773 INFO    ] No camera update needed
[2026-08-29 00:45:14,774.774 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:45:14,776.776 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:45:14,779.779 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:45:14,781.781 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:45:16,820.820 INFO    ] ================================================
[2026-08-29 00:45:16,836.836 INFO    ] Launching Daemon at Sat Aug 29 00:45:16 IST 2026
[2026-08-29 00:45:16,847.847 INFO    ] ================================================
[2026-08-29 00:45:17,188.188 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:45:17
[2026-08-29 00:45:17,747.747 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:45:18,025.025 INFO    ] Initializing speech engine...
[2026-08-29 00:45:18,032.032 INFO    ] 2026-08-29 00:45:18
[2026-08-29 00:45:18,294.294 INFO    ] 2026-08-29 00:45:18
[2026-08-29 00:45:18,347.347 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:45:18,495.495 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:45:18,507.507 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:45:18,618.618 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:45:18,623.623 INFO    ] time= 29/08/2026 00:45:18
[2026-08-29 00:45:18,642.642 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:45:18,665.665 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:45:18,736.736 INFO    ] No existing commands found in stream
[2026-08-29 00:45:23,748.748 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:45:23,751.751 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-08-29 00:45:27,246.246 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:45:27,248.248 INFO    ] Checking for system updates...
[2026-08-29 00:45:27,269.269 INFO    ] 200
[2026-08-29 00:45:27,270.270 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:45:27,302.302 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:45:27,304.304 INFO    ] No update needed
[2026-08-29 00:45:27,305.305 INFO    ] Checking for camera pi updates...
[2026-08-29 00:45:27,325.325 INFO    ] 200
[2026-08-29 00:45:27,326.326 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:45:27,351.351 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:45:27,436.436 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:45:27,438.438 INFO    ] No camera update needed
[2026-08-29 00:45:27,440.440 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:45:27,442.442 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:45:27,448.448 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:45:27,453.453 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:45:29,494.494 INFO    ] ================================================
[2026-08-29 00:45:29,510.510 INFO    ] Launching Daemon at Sat Aug 29 00:45:29 IST 2026
[2026-08-29 00:45:29,522.522 INFO    ] ================================================
[2026-08-29 00:45:30,088.088 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:45:30
[2026-08-29 00:45:30,585.585 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:45:30,831.831 INFO    ] Initializing speech engine...
[2026-08-29 00:45:30,839.839 INFO    ] 2026-08-29 00:45:30
[2026-08-29 00:45:31,114.114 INFO    ] 2026-08-29 00:45:31
[2026-08-29 00:45:31,149.149 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:45:31,335.335 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:45:31,351.351 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:45:31,483.483 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:45:31,490.490 INFO    ] time= 29/08/2026 00:45:31
[2026-08-29 00:45:31,497.497 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:45:31,543.543 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:45:31,662.662 INFO    ] No existing commands found in stream
[2026-08-29 00:45:36,687.687 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:45:36,690.690 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-08-29 00:45:40,547.547 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:45:40,549.549 INFO    ] Checking for system updates...
[2026-08-29 00:45:40,569.569 INFO    ] 200
[2026-08-29 00:45:40,570.570 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:45:40,602.602 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:45:40,603.603 INFO    ] No update needed
[2026-08-29 00:45:40,604.604 INFO    ] Checking for camera pi updates...
[2026-08-29 00:45:40,626.626 INFO    ] 200
[2026-08-29 00:45:40,627.627 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:45:40,652.652 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:45:40,758.758 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:45:40,760.760 INFO    ] No camera update needed
[2026-08-29 00:45:40,761.761 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:45:40,762.762 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:45:40,765.765 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:45:40,768.768 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:45:42,808.808 INFO    ] ================================================
[2026-08-29 00:45:42,825.825 INFO    ] Launching Daemon at Sat Aug 29 00:45:42 IST 2026
[2026-08-29 00:45:42,836.836 INFO    ] ================================================
[2026-08-29 00:45:43,219.219 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:45:43
[2026-08-29 00:45:43,555.555 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:45:43,704.704 INFO    ] Initializing speech engine...
[2026-08-29 00:45:43,709.709 INFO    ] 2026-08-29 00:45:43
[2026-08-29 00:45:43,946.946 INFO    ] 2026-08-29 00:45:43
[2026-08-29 00:45:43,998.998 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:45:44,140.140 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:45:44,152.152 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:45:44,288.288 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:45:44,301.301 INFO    ] time= 29/08/2026 00:45:44
[2026-08-29 00:45:44,306.306 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:45:44,314.314 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:45:44,453.453 INFO    ] No existing commands found in stream
[2026-08-29 00:45:49,478.478 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:45:49,481.481 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-08-29 00:45:50,881.881 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:45:50,882.882 INFO    ] Checking for system updates...
[2026-08-29 00:45:50,904.904 INFO    ] 200
[2026-08-29 00:45:50,905.905 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:45:50,935.935 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:45:50,936.936 INFO    ] No update needed
[2026-08-29 00:45:50,937.937 INFO    ] Checking for camera pi updates...
[2026-08-29 00:45:50,956.956 INFO    ] 200
[2026-08-29 00:45:50,958.958 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:45:50,985.985 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:45:51,064.064 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:45:51,065.065 INFO    ] No camera update needed
[2026-08-29 00:45:51,066.066 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:45:51,067.067 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:45:51,070.070 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:45:51,073.073 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:45:53,113.113 INFO    ] ================================================
[2026-08-29 00:45:53,129.129 INFO    ] Launching Daemon at Sat Aug 29 00:45:53 IST 2026
[2026-08-29 00:45:53,140.140 INFO    ] ================================================
[2026-08-29 00:45:53,489.489 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:45:53
[2026-08-29 00:45:53,801.801 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:45:54,045.045 INFO    ] Initializing speech engine...
[2026-08-29 00:45:54,054.054 INFO    ] 2026-08-29 00:45:54
[2026-08-29 00:45:54,306.306 INFO    ] 2026-08-29 00:45:54
[2026-08-29 00:45:54,364.364 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:45:54,506.506 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:45:54,518.518 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:45:54,663.663 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:45:54,668.668 INFO    ] time= 29/08/2026 00:45:54
[2026-08-29 00:45:54,674.674 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:45:54,720.720 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:45:54,822.822 INFO    ] No existing commands found in stream
[2026-08-29 00:45:59,852.852 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:45:59,855.855 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-08-29 00:46:03,833.833 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:46:03,836.836 INFO    ] Checking for system updates...
[2026-08-29 00:46:03,875.875 INFO    ] 200
[2026-08-29 00:46:03,877.877 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:46:03,929.929 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:46:03,932.932 INFO    ] No update needed
[2026-08-29 00:46:03,934.934 INFO    ] Checking for camera pi updates...
[2026-08-29 00:46:03,971.971 INFO    ] 200
[2026-08-29 00:46:03,974.974 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:46:04,018.018 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:46:04,097.097 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:46:04,100.100 INFO    ] No camera update needed
[2026-08-29 00:46:04,102.102 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:46:04,105.105 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:46:04,110.110 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:46:04,115.115 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:46:06,156.156 INFO    ] ================================================
[2026-08-29 00:46:06,172.172 INFO    ] Launching Daemon at Sat Aug 29 00:46:06 IST 2026
[2026-08-29 00:46:06,183.183 INFO    ] ================================================
[2026-08-29 00:46:06,553.553 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:46:06
[2026-08-29 00:46:06,869.869 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:46:07,002.002 INFO    ] Initializing speech engine...
[2026-08-29 00:46:07,010.010 INFO    ] 2026-08-29 00:46:07
[2026-08-29 00:46:07,246.246 INFO    ] 2026-08-29 00:46:07
[2026-08-29 00:46:07,288.288 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:46:07,454.454 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:46:07,477.477 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:46:07,607.607 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:46:07,615.615 INFO    ] time= 29/08/2026 00:46:07
[2026-08-29 00:46:07,621.621 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:46:07,652.652 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:46:07,794.794 INFO    ] No existing commands found in stream
[2026-08-29 00:46:12,820.820 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:46:12,823.823 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-08-29 00:46:13,981.981 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:46:13,982.982 INFO    ] Checking for system updates...
[2026-08-29 00:46:14,004.004 INFO    ] 200
[2026-08-29 00:46:14,005.005 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:46:14,038.038 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:46:14,039.039 INFO    ] No update needed
[2026-08-29 00:46:14,040.040 INFO    ] Checking for camera pi updates...
[2026-08-29 00:46:14,060.060 INFO    ] 200
[2026-08-29 00:46:14,062.062 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:46:14,085.085 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:46:14,160.160 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:46:14,161.161 INFO    ] No camera update needed
[2026-08-29 00:46:14,162.162 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:46:14,164.164 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:46:14,166.166 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:46:14,169.169 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:46:16,209.209 INFO    ] ================================================
[2026-08-29 00:46:16,225.225 INFO    ] Launching Daemon at Sat Aug 29 00:46:16 IST 2026
[2026-08-29 00:46:16,236.236 INFO    ] ================================================
[2026-08-29 00:46:16,717.717 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:46:16
[2026-08-29 00:46:17,303.303 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:46:17,553.553 INFO    ] Initializing speech engine...
[2026-08-29 00:46:17,566.566 INFO    ] 2026-08-29 00:46:17
[2026-08-29 00:46:17,828.828 INFO    ] 2026-08-29 00:46:17
[2026-08-29 00:46:17,863.863 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:46:18,034.034 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:46:18,046.046 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:46:18,187.187 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:46:18,196.196 INFO    ] time= 29/08/2026 00:46:18
[2026-08-29 00:46:18,203.203 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:46:18,248.248 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:46:18,377.377 INFO    ] No existing commands found in stream
[2026-08-29 00:46:23,403.403 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:46:23,406.406 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-08-29 00:46:24,354.354 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:46:24,355.355 INFO    ] Checking for system updates...
[2026-08-29 00:46:24,376.376 INFO    ] 200
[2026-08-29 00:46:24,377.377 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:46:24,407.407 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:46:24,408.408 INFO    ] No update needed
[2026-08-29 00:46:24,410.410 INFO    ] Checking for camera pi updates...
[2026-08-29 00:46:24,430.430 INFO    ] 200
[2026-08-29 00:46:24,432.432 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:46:24,456.456 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:46:24,549.549 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:46:24,550.550 INFO    ] No camera update needed
[2026-08-29 00:46:24,551.551 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:46:24,553.553 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:46:24,556.556 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:46:24,558.558 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:46:26,599.599 INFO    ] ================================================
[2026-08-29 00:46:26,615.615 INFO    ] Launching Daemon at Sat Aug 29 00:46:26 IST 2026
[2026-08-29 00:46:26,626.626 INFO    ] ================================================
[2026-08-29 00:46:26,949.949 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:46:26
[2026-08-29 00:46:27,263.263 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:46:27,491.491 INFO    ] Initializing speech engine...
[2026-08-29 00:46:27,498.498 INFO    ] 2026-08-29 00:46:27
[2026-08-29 00:46:27,757.757 INFO    ] 2026-08-29 00:46:27
[2026-08-29 00:46:27,810.810 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:46:27,975.975 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:46:28,002.002 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:46:28,175.175 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:46:28,212.212 INFO    ] time= 29/08/2026 00:46:28
[2026-08-29 00:46:28,276.276 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:46:28,309.309 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:46:28,384.384 INFO    ] No existing commands found in stream
[2026-08-29 00:46:33,420.420 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:46:33,423.423 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-08-29 00:46:33,840.840 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:46:33,842.842 INFO    ] Checking for system updates...
[2026-08-29 00:46:33,881.881 INFO    ] 200
[2026-08-29 00:46:33,884.884 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:46:33,942.942 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:46:33,944.944 INFO    ] No update needed
[2026-08-29 00:46:33,947.947 INFO    ] Checking for camera pi updates...
[2026-08-29 00:46:33,980.980 INFO    ] 200
[2026-08-29 00:46:33,982.982 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:46:34,028.028 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:46:34,110.110 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:46:34,113.113 INFO    ] No camera update needed
[2026-08-29 00:46:34,115.115 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:46:34,117.117 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:46:34,123.123 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:46:34,127.127 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:46:36,169.169 INFO    ] ================================================
[2026-08-29 00:46:36,185.185 INFO    ] Launching Daemon at Sat Aug 29 00:46:36 IST 2026
[2026-08-29 00:46:36,196.196 INFO    ] ================================================
[2026-08-29 00:46:36,532.532 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:46:36
[2026-08-29 00:46:36,848.848 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:46:36,992.992 INFO    ] Initializing speech engine...
[2026-08-29 00:46:36,997.997 INFO    ] 2026-08-29 00:46:36
[2026-08-29 00:46:37,215.215 INFO    ] 2026-08-29 00:46:37
[2026-08-29 00:46:37,298.298 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:46:37,446.446 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:46:37,455.455 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:46:37,587.587 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:46:37,645.645 INFO    ] time= 29/08/2026 00:46:37
[2026-08-29 00:46:37,699.699 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:46:37,723.723 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:46:37,790.790 INFO    ] No existing commands found in stream
[2026-08-29 00:46:42,826.826 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:46:42,829.829 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 00:46:45,709.709 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:46:45,711.711 INFO    ] Checking for system updates...
[2026-08-29 00:46:45,749.749 INFO    ] 200
[2026-08-29 00:46:45,752.752 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:46:45,811.811 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:46:45,814.814 INFO    ] No update needed
[2026-08-29 00:46:45,817.817 INFO    ] Checking for camera pi updates...
[2026-08-29 00:46:45,855.855 INFO    ] 200
[2026-08-29 00:46:45,857.857 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:46:45,884.884 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:46:45,961.961 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:46:45,963.963 INFO    ] No camera update needed
[2026-08-29 00:46:45,964.964 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:46:45,965.965 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:46:45,969.969 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:46:45,972.972 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:46:48,012.012 INFO    ] ================================================
[2026-08-29 00:46:48,027.027 INFO    ] Launching Daemon at Sat Aug 29 00:46:48 IST 2026
[2026-08-29 00:46:48,038.038 INFO    ] ================================================
[2026-08-29 00:46:48,369.369 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:46:48
[2026-08-29 00:46:48,680.680 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:46:48,838.838 INFO    ] Initializing speech engine...
[2026-08-29 00:46:48,851.851 INFO    ] 2026-08-29 00:46:48
[2026-08-29 00:46:49,105.105 INFO    ] 2026-08-29 00:46:49
[2026-08-29 00:46:49,139.139 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:46:49,312.312 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:46:49,324.324 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:46:49,449.449 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:46:49,471.471 INFO    ] time= 29/08/2026 00:46:49
[2026-08-29 00:46:49,477.477 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:46:49,483.483 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:46:49,550.550 INFO    ] No existing commands found in stream
[2026-08-29 00:46:54,580.580 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:46:54,583.583 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-08-29 00:46:55,165.165 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:46:55,167.167 INFO    ] Checking for system updates...
[2026-08-29 00:46:55,187.187 INFO    ] 200
[2026-08-29 00:46:55,189.189 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:46:55,220.220 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:46:55,222.222 INFO    ] No update needed
[2026-08-29 00:46:55,223.223 INFO    ] Checking for camera pi updates...
[2026-08-29 00:46:55,243.243 INFO    ] 200
[2026-08-29 00:46:55,245.245 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:46:55,280.280 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:46:55,481.481 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:46:55,484.484 INFO    ] No camera update needed
[2026-08-29 00:46:55,486.486 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:46:55,489.489 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:46:55,494.494 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:46:55,499.499 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:46:57,540.540 INFO    ] ================================================
[2026-08-29 00:46:57,555.555 INFO    ] Launching Daemon at Sat Aug 29 00:46:57 IST 2026
[2026-08-29 00:46:57,567.567 INFO    ] ================================================
[2026-08-29 00:46:58,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:46:58
[2026-08-29 00:46:58,743.743 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:46:58,992.992 INFO    ] Initializing speech engine...
[2026-08-29 00:46:59,015.015 INFO    ] 2026-08-29 00:46:58
[2026-08-29 00:46:59,269.269 INFO    ] 2026-08-29 00:46:59
[2026-08-29 00:46:59,305.305 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:46:59,479.479 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:46:59,491.491 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:46:59,633.633 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:46:59,641.641 INFO    ] time= 29/08/2026 00:46:59
[2026-08-29 00:46:59,648.648 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:46:59,699.699 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:46:59,824.824 INFO    ] No existing commands found in stream
[2026-08-29 00:47:04,849.849 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:47:04,851.851 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-08-29 00:47:07,276.276 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:47:07,279.279 INFO    ] Checking for system updates...
[2026-08-29 00:47:07,319.319 INFO    ] 200
[2026-08-29 00:47:07,322.322 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:47:07,375.375 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:47:07,377.377 INFO    ] No update needed
[2026-08-29 00:47:07,379.379 INFO    ] Checking for camera pi updates...
[2026-08-29 00:47:07,413.413 INFO    ] 200
[2026-08-29 00:47:07,415.415 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:47:07,460.460 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:47:07,542.542 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:47:07,544.544 INFO    ] No camera update needed
[2026-08-29 00:47:07,547.547 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:47:07,549.549 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:47:07,554.554 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:47:07,559.559 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:47:09,600.600 INFO    ] ================================================
[2026-08-29 00:47:09,616.616 INFO    ] Launching Daemon at Sat Aug 29 00:47:09 IST 2026
[2026-08-29 00:47:09,627.627 INFO    ] ================================================
[2026-08-29 00:47:09,995.995 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:47:09
[2026-08-29 00:47:10,311.311 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:47:10,453.453 INFO    ] Initializing speech engine...
[2026-08-29 00:47:10,458.458 INFO    ] 2026-08-29 00:47:10
[2026-08-29 00:47:10,659.659 INFO    ] 2026-08-29 00:47:10
[2026-08-29 00:47:10,738.738 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:47:10,889.889 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:47:10,898.898 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:47:11,036.036 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:47:11,058.058 INFO    ] time= 29/08/2026 00:47:11
[2026-08-29 00:47:11,102.102 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:47:11,156.156 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:47:11,229.229 INFO    ] No existing commands found in stream
[2026-08-29 00:47:16,242.242 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:47:16,245.245 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-08-29 00:47:17,229.229 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:47:17,230.230 INFO    ] Checking for system updates...
[2026-08-29 00:47:17,251.251 INFO    ] 200
[2026-08-29 00:47:17,252.252 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:47:17,284.284 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:47:17,285.285 INFO    ] No update needed
[2026-08-29 00:47:17,287.287 INFO    ] Checking for camera pi updates...
[2026-08-29 00:47:17,307.307 INFO    ] 200
[2026-08-29 00:47:17,308.308 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:47:17,333.333 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:47:17,390.390 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:47:17,391.391 INFO    ] No camera update needed
[2026-08-29 00:47:17,393.393 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:47:17,394.394 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:47:17,397.397 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:47:17,400.400 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:47:19,438.438 INFO    ] ================================================
[2026-08-29 00:47:19,453.453 INFO    ] Launching Daemon at Sat Aug 29 00:47:19 IST 2026
[2026-08-29 00:47:19,464.464 INFO    ] ================================================
[2026-08-29 00:47:19,845.845 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:47:19
[2026-08-29 00:47:20,181.181 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:47:20,334.334 INFO    ] Initializing speech engine...
[2026-08-29 00:47:20,338.338 INFO    ] 2026-08-29 00:47:20
[2026-08-29 00:47:20,548.548 INFO    ] 2026-08-29 00:47:20
[2026-08-29 00:47:20,584.584 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:47:20,748.748 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:47:20,756.756 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:47:20,907.907 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:47:20,956.956 INFO    ] time= 29/08/2026 00:47:20
[2026-08-29 00:47:20,973.973 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:47:20,983.983 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:47:21,082.082 INFO    ] No existing commands found in stream
[2026-08-29 00:47:26,113.113 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:47:26,117.117 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-08-29 00:47:27,355.355 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:47:27,356.356 INFO    ] Checking for system updates...
[2026-08-29 00:47:27,378.378 INFO    ] 200
[2026-08-29 00:47:27,379.379 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:47:27,411.411 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:47:27,413.413 INFO    ] No update needed
[2026-08-29 00:47:27,414.414 INFO    ] Checking for camera pi updates...
[2026-08-29 00:47:27,437.437 INFO    ] 200
[2026-08-29 00:47:27,440.440 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:47:27,485.485 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:47:27,567.567 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:47:27,569.569 INFO    ] No camera update needed
[2026-08-29 00:47:27,572.572 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:47:27,575.575 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:47:27,581.581 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:47:27,587.587 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:47:29,630.630 INFO    ] ================================================
[2026-08-29 00:47:29,645.645 INFO    ] Launching Daemon at Sat Aug 29 00:47:29 IST 2026
[2026-08-29 00:47:29,656.656 INFO    ] ================================================
[2026-08-29 00:47:30,225.225 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:47:30
[2026-08-29 00:47:30,695.695 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:47:30,834.834 INFO    ] Initializing speech engine...
[2026-08-29 00:47:30,842.842 INFO    ] 2026-08-29 00:47:30
[2026-08-29 00:47:31,059.059 INFO    ] 2026-08-29 00:47:31
[2026-08-29 00:47:31,089.089 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:47:31,203.203 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:47:31,217.217 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:47:31,404.404 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:47:31,431.431 INFO    ] time= 29/08/2026 00:47:31
[2026-08-29 00:47:31,447.447 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:47:31,458.458 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:47:31,553.553 INFO    ] No existing commands found in stream
[2026-08-29 00:47:36,586.586 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:47:36,594.594 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-08-29 00:47:39,631.631 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:47:39,634.634 INFO    ] Checking for system updates...
[2026-08-29 00:47:39,680.680 INFO    ] 200
[2026-08-29 00:47:39,683.683 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:47:39,758.758 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:47:39,760.760 INFO    ] No update needed
[2026-08-29 00:47:39,768.768 INFO    ] Checking for camera pi updates...
[2026-08-29 00:47:39,803.803 INFO    ] 200
[2026-08-29 00:47:39,806.806 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:47:39,851.851 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:47:39,957.957 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:47:39,960.960 INFO    ] No camera update needed
[2026-08-29 00:47:39,963.963 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:47:39,965.965 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:47:39,971.971 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:47:39,977.977 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:47:42,019.019 INFO    ] ================================================
[2026-08-29 00:47:42,036.036 INFO    ] Launching Daemon at Sat Aug 29 00:47:42 IST 2026
[2026-08-29 00:47:42,047.047 INFO    ] ================================================
[2026-08-29 00:47:42,629.629 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:47:42
[2026-08-29 00:47:42,964.964 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:47:43,110.110 INFO    ] Initializing speech engine...
[2026-08-29 00:47:43,121.121 INFO    ] 2026-08-29 00:47:43
[2026-08-29 00:47:43,313.313 INFO    ] 2026-08-29 00:47:43
[2026-08-29 00:47:43,395.395 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:47:43,548.548 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:47:43,559.559 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:47:43,698.698 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:47:43,758.758 INFO    ] time= 29/08/2026 00:47:43
[2026-08-29 00:47:43,813.813 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:47:43,836.836 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:47:43,890.890 INFO    ] No existing commands found in stream
[2026-08-29 00:47:48,902.902 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:47:48,906.906 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-08-29 00:47:50,920.920 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:47:50,921.921 INFO    ] Checking for system updates...
[2026-08-29 00:47:50,943.943 INFO    ] 200
[2026-08-29 00:47:50,945.945 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:47:50,977.977 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:47:50,978.978 INFO    ] No update needed
[2026-08-29 00:47:50,979.979 INFO    ] Checking for camera pi updates...
[2026-08-29 00:47:51,001.001 INFO    ] 200
[2026-08-29 00:47:51,003.003 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:47:51,026.026 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:47:51,110.110 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:47:51,111.111 INFO    ] No camera update needed
[2026-08-29 00:47:51,113.113 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:47:51,114.114 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:47:51,117.117 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:47:51,120.120 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:47:53,160.160 INFO    ] ================================================
[2026-08-29 00:47:53,175.175 INFO    ] Launching Daemon at Sat Aug 29 00:47:53 IST 2026
[2026-08-29 00:47:53,186.186 INFO    ] ================================================
[2026-08-29 00:47:53,546.546 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:47:53
[2026-08-29 00:47:53,858.858 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:47:53,996.996 INFO    ] Initializing speech engine...
[2026-08-29 00:47:54,005.005 INFO    ] 2026-08-29 00:47:53
[2026-08-29 00:47:54,258.258 INFO    ] 2026-08-29 00:47:54
[2026-08-29 00:47:54,313.313 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:47:54,478.478 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:47:54,487.487 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:47:54,660.660 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:47:54,692.692 INFO    ] time= 29/08/2026 00:47:54
[2026-08-29 00:47:54,698.698 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:47:54,718.718 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:47:54,829.829 INFO    ] No existing commands found in stream
[2026-08-29 00:47:59,854.854 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:47:59,857.857 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-08-29 00:48:02,395.395 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:48:02,398.398 INFO    ] Checking for system updates...
[2026-08-29 00:48:02,437.437 INFO    ] 200
[2026-08-29 00:48:02,440.440 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:48:02,506.506 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:48:02,510.510 INFO    ] No update needed
[2026-08-29 00:48:02,513.513 INFO    ] Checking for camera pi updates...
[2026-08-29 00:48:02,553.553 INFO    ] 200
[2026-08-29 00:48:02,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:48:02,619.619 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:48:02,763.763 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:48:02,766.766 INFO    ] No camera update needed
[2026-08-29 00:48:02,769.769 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:48:02,772.772 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:48:02,779.779 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:48:02,785.785 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:48:04,827.827 INFO    ] ================================================
[2026-08-29 00:48:04,843.843 INFO    ] Launching Daemon at Sat Aug 29 00:48:04 IST 2026
[2026-08-29 00:48:04,853.853 INFO    ] ================================================
[2026-08-29 00:48:05,326.326 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:48:05
[2026-08-29 00:48:05,659.659 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:48:05,860.860 INFO    ] Initializing speech engine...
[2026-08-29 00:48:05,870.870 INFO    ] 2026-08-29 00:48:05
[2026-08-29 00:48:06,146.146 INFO    ] 2026-08-29 00:48:06
[2026-08-29 00:48:06,212.212 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:48:06,371.371 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:48:06,386.386 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:48:06,508.508 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:48:06,515.515 INFO    ] time= 29/08/2026 00:48:06
[2026-08-29 00:48:06,536.536 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:48:06,557.557 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:48:06,654.654 INFO    ] No existing commands found in stream
[2026-08-29 00:48:11,687.687 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:48:11,690.690 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 00:48:13,087.087 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:48:13,089.089 INFO    ] Checking for system updates...
[2026-08-29 00:48:13,111.111 INFO    ] 200
[2026-08-29 00:48:13,113.113 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:48:13,144.144 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:48:13,146.146 INFO    ] No update needed
[2026-08-29 00:48:13,147.147 INFO    ] Checking for camera pi updates...
[2026-08-29 00:48:13,166.166 INFO    ] 200
[2026-08-29 00:48:13,167.167 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:48:13,191.191 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:48:13,290.290 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:48:13,291.291 INFO    ] No camera update needed
[2026-08-29 00:48:13,293.293 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:48:13,295.295 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:48:13,298.298 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:48:13,301.301 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:48:15,339.339 INFO    ] ================================================
[2026-08-29 00:48:15,354.354 INFO    ] Launching Daemon at Sat Aug 29 00:48:15 IST 2026
[2026-08-29 00:48:15,365.365 INFO    ] ================================================
[2026-08-29 00:48:15,708.708 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:48:15
[2026-08-29 00:48:16,023.023 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:48:16,167.167 INFO    ] Initializing speech engine...
[2026-08-29 00:48:16,171.171 INFO    ] 2026-08-29 00:48:16
[2026-08-29 00:48:16,376.376 INFO    ] 2026-08-29 00:48:16
[2026-08-29 00:48:16,404.404 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:48:16,525.525 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:48:16,564.564 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:48:16,719.719 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:48:16,780.780 INFO    ] time= 29/08/2026 00:48:16
[2026-08-29 00:48:16,815.815 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:48:16,820.820 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:48:16,924.924 INFO    ] No existing commands found in stream
[2026-08-29 00:48:21,937.937 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:48:21,940.940 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-08-29 00:48:25,364.364 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:48:25,365.365 INFO    ] Checking for system updates...
[2026-08-29 00:48:25,386.386 INFO    ] 200
[2026-08-29 00:48:25,387.387 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:48:25,418.418 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:48:25,419.419 INFO    ] No update needed
[2026-08-29 00:48:25,420.420 INFO    ] Checking for camera pi updates...
[2026-08-29 00:48:25,442.442 INFO    ] 200
[2026-08-29 00:48:25,443.443 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:48:25,466.466 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:48:25,572.572 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:48:25,573.573 INFO    ] No camera update needed
[2026-08-29 00:48:25,575.575 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:48:25,576.576 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:48:25,579.579 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:48:25,582.582 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:48:27,620.620 INFO    ] ================================================
[2026-08-29 00:48:27,635.635 INFO    ] Launching Daemon at Sat Aug 29 00:48:27 IST 2026
[2026-08-29 00:48:27,646.646 INFO    ] ================================================
[2026-08-29 00:48:27,996.996 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:48:27
[2026-08-29 00:48:28,307.307 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:48:28,440.440 INFO    ] Initializing speech engine...
[2026-08-29 00:48:28,445.445 INFO    ] 2026-08-29 00:48:28
[2026-08-29 00:48:28,638.638 INFO    ] 2026-08-29 00:48:28
[2026-08-29 00:48:28,684.684 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:48:28,803.803 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:48:28,807.807 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:48:28,937.937 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:48:28,940.940 INFO    ] time= 29/08/2026 00:48:28
[2026-08-29 00:48:28,975.975 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:48:28,981.981 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:48:29,044.044 INFO    ] No existing commands found in stream
[2026-08-29 00:48:34,079.079 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:48:34,082.082 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-08-29 00:48:36,319.319 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:48:36,320.320 INFO    ] Checking for system updates...
[2026-08-29 00:48:36,343.343 INFO    ] 200
[2026-08-29 00:48:36,344.344 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:48:36,374.374 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:48:36,375.375 INFO    ] No update needed
[2026-08-29 00:48:36,376.376 INFO    ] Checking for camera pi updates...
[2026-08-29 00:48:36,396.396 INFO    ] 200
[2026-08-29 00:48:36,397.397 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:48:36,420.420 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:48:36,513.513 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:48:36,514.514 INFO    ] No camera update needed
[2026-08-29 00:48:36,516.516 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:48:36,517.517 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:48:36,520.520 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:48:36,522.522 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:48:38,552.552 INFO    ] ================================================
[2026-08-29 00:48:38,563.563 INFO    ] Launching Daemon at Sat Aug 29 00:48:38 IST 2026
[2026-08-29 00:48:38,569.569 INFO    ] ================================================
[2026-08-29 00:48:38,870.870 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:48:38
[2026-08-29 00:48:39,182.182 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:48:39,320.320 INFO    ] Initializing speech engine...
[2026-08-29 00:48:39,328.328 INFO    ] 2026-08-29 00:48:39
[2026-08-29 00:48:39,572.572 INFO    ] 2026-08-29 00:48:39
[2026-08-29 00:48:39,658.658 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:48:39,813.813 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:48:39,824.824 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:48:39,939.939 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:48:39,977.977 INFO    ] time= 29/08/2026 00:48:39
[2026-08-29 00:48:39,984.984 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:48:40,034.034 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:48:40,139.139 INFO    ] No existing commands found in stream
[2026-08-29 00:48:45,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:48:45,153.153 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-08-29 00:48:49,051.051 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:48:49,053.053 INFO    ] Checking for system updates...
[2026-08-29 00:48:49,073.073 INFO    ] 200
[2026-08-29 00:48:49,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:48:49,108.108 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:48:49,109.109 INFO    ] No update needed
[2026-08-29 00:48:49,110.110 INFO    ] Checking for camera pi updates...
[2026-08-29 00:48:49,129.129 INFO    ] 200
[2026-08-29 00:48:49,131.131 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:48:49,153.153 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:48:49,258.258 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:48:49,260.260 INFO    ] No camera update needed
[2026-08-29 00:48:49,261.261 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:48:49,262.262 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:48:49,265.265 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:48:49,268.268 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:48:51,308.308 INFO    ] ================================================
[2026-08-29 00:48:51,323.323 INFO    ] Launching Daemon at Sat Aug 29 00:48:51 IST 2026
[2026-08-29 00:48:51,335.335 INFO    ] ================================================
[2026-08-29 00:48:51,695.695 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:48:51
[2026-08-29 00:48:52,045.045 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:48:52,197.197 INFO    ] Initializing speech engine...
[2026-08-29 00:48:52,203.203 INFO    ] 2026-08-29 00:48:52
[2026-08-29 00:48:52,413.413 INFO    ] 2026-08-29 00:48:52
[2026-08-29 00:48:52,441.441 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:48:52,579.579 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:48:52,628.628 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:48:52,783.783 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:48:52,838.838 INFO    ] time= 29/08/2026 00:48:52
[2026-08-29 00:48:52,859.859 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:48:52,924.924 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:48:53,017.017 INFO    ] No existing commands found in stream
[2026-08-29 00:48:58,049.049 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:48:58,053.053 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-08-29 00:49:00,487.487 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:49:00,489.489 INFO    ] Checking for system updates...
[2026-08-29 00:49:00,511.511 INFO    ] 200
[2026-08-29 00:49:00,512.512 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:49:00,543.543 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:49:00,544.544 INFO    ] No update needed
[2026-08-29 00:49:00,546.546 INFO    ] Checking for camera pi updates...
[2026-08-29 00:49:00,565.565 INFO    ] 200
[2026-08-29 00:49:00,566.566 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:49:00,590.590 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:49:00,768.768 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:49:00,770.770 INFO    ] No camera update needed
[2026-08-29 00:49:00,771.771 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:49:00,773.773 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:49:00,776.776 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:49:00,779.779 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:49:02,827.827 INFO    ] ================================================
[2026-08-29 00:49:02,848.848 INFO    ] Launching Daemon at Sat Aug 29 00:49:02 IST 2026
[2026-08-29 00:49:02,864.864 INFO    ] ================================================
[2026-08-29 00:49:03,515.515 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:49:03
[2026-08-29 00:49:04,113.113 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:49:04,387.387 INFO    ] Initializing speech engine...
[2026-08-29 00:49:04,396.396 INFO    ] 2026-08-29 00:49:04
[2026-08-29 00:49:04,660.660 INFO    ] 2026-08-29 00:49:04
[2026-08-29 00:49:04,713.713 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:49:04,935.935 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:49:04,944.944 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:49:05,076.076 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:49:05,097.097 INFO    ] time= 29/08/2026 00:49:05
[2026-08-29 00:49:05,162.162 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:49:05,191.191 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:49:05,276.276 INFO    ] No existing commands found in stream
[2026-08-29 00:49:10,311.311 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:49:10,314.314 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-08-29 00:49:11,975.975 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:49:11,977.977 INFO    ] Checking for system updates...
[2026-08-29 00:49:11,998.998 INFO    ] 200
[2026-08-29 00:49:11,999.999 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:49:12,029.029 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:49:12,030.030 INFO    ] No update needed
[2026-08-29 00:49:12,032.032 INFO    ] Checking for camera pi updates...
[2026-08-29 00:49:12,058.058 INFO    ] 200
[2026-08-29 00:49:12,059.059 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:49:12,084.084 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:49:12,196.196 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:49:12,197.197 INFO    ] No camera update needed
[2026-08-29 00:49:12,199.199 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:49:12,200.200 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:49:12,203.203 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:49:12,206.206 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:49:14,247.247 INFO    ] ================================================
[2026-08-29 00:49:14,263.263 INFO    ] Launching Daemon at Sat Aug 29 00:49:14 IST 2026
[2026-08-29 00:49:14,274.274 INFO    ] ================================================
[2026-08-29 00:49:14,653.653 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:49:14
[2026-08-29 00:49:14,986.986 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:49:15,131.131 INFO    ] Initializing speech engine...
[2026-08-29 00:49:15,141.141 INFO    ] 2026-08-29 00:49:15
[2026-08-29 00:49:15,349.349 INFO    ] 2026-08-29 00:49:15
[2026-08-29 00:49:15,399.399 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:49:15,550.550 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:49:15,569.569 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:49:15,745.745 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:49:15,773.773 INFO    ] time= 29/08/2026 00:49:15
[2026-08-29 00:49:15,795.795 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:49:15,821.821 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:49:15,913.913 INFO    ] No existing commands found in stream
[2026-08-29 00:49:20,937.937 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:49:20,946.946 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-08-29 00:49:22,004.004 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:49:22,005.005 INFO    ] Checking for system updates...
[2026-08-29 00:49:22,026.026 INFO    ] 200
[2026-08-29 00:49:22,027.027 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:49:22,059.059 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:49:22,061.061 INFO    ] No update needed
[2026-08-29 00:49:22,062.062 INFO    ] Checking for camera pi updates...
[2026-08-29 00:49:22,082.082 INFO    ] 200
[2026-08-29 00:49:22,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:49:22,113.113 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:49:22,215.215 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:49:22,217.217 INFO    ] No camera update needed
[2026-08-29 00:49:22,220.220 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:49:22,222.222 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:49:22,227.227 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:49:22,232.232 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:49:24,274.274 INFO    ] ================================================
[2026-08-29 00:49:24,289.289 INFO    ] Launching Daemon at Sat Aug 29 00:49:24 IST 2026
[2026-08-29 00:49:24,300.300 INFO    ] ================================================
[2026-08-29 00:49:24,867.867 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:49:24
[2026-08-29 00:49:25,357.357 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:49:25,500.500 INFO    ] Initializing speech engine...
[2026-08-29 00:49:25,505.505 INFO    ] 2026-08-29 00:49:25
[2026-08-29 00:49:25,691.691 INFO    ] 2026-08-29 00:49:25
[2026-08-29 00:49:25,769.769 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:49:25,916.916 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:49:25,925.925 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:49:26,057.057 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:49:26,127.127 INFO    ] time= 29/08/2026 00:49:26
[2026-08-29 00:49:26,177.177 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:49:26,194.194 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:49:26,326.326 INFO    ] No existing commands found in stream
[2026-08-29 00:49:31,348.348 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:49:31,351.351 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-08-29 00:49:33,270.270 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:49:33,272.272 INFO    ] Checking for system updates...
[2026-08-29 00:49:33,308.308 INFO    ] 200
[2026-08-29 00:49:33,310.310 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:49:33,362.362 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:49:33,364.364 INFO    ] No update needed
[2026-08-29 00:49:33,367.367 INFO    ] Checking for camera pi updates...
[2026-08-29 00:49:33,400.400 INFO    ] 200
[2026-08-29 00:49:33,403.403 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:49:33,443.443 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:49:33,514.514 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:49:33,516.516 INFO    ] No camera update needed
[2026-08-29 00:49:33,518.518 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:49:33,520.520 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:49:33,525.525 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:49:33,530.530 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:49:35,570.570 INFO    ] ================================================
[2026-08-29 00:49:35,585.585 INFO    ] Launching Daemon at Sat Aug 29 00:49:35 IST 2026
[2026-08-29 00:49:35,596.596 INFO    ] ================================================
[2026-08-29 00:49:35,946.946 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:49:35
[2026-08-29 00:49:36,258.258 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:49:36,396.396 INFO    ] Initializing speech engine...
[2026-08-29 00:49:36,406.406 INFO    ] 2026-08-29 00:49:36
[2026-08-29 00:49:36,628.628 INFO    ] 2026-08-29 00:49:36
[2026-08-29 00:49:36,663.663 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:49:36,840.840 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:49:36,853.853 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:49:36,964.964 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:49:36,968.968 INFO    ] time= 29/08/2026 00:49:36
[2026-08-29 00:49:36,986.986 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:49:37,005.005 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:49:37,080.080 INFO    ] No existing commands found in stream
[2026-08-29 00:49:42,092.092 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:49:42,095.095 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-08-29 00:49:43,699.699 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:49:43,700.700 INFO    ] Checking for system updates...
[2026-08-29 00:49:43,720.720 INFO    ] 200
[2026-08-29 00:49:43,722.722 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:49:43,752.752 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:49:43,753.753 INFO    ] No update needed
[2026-08-29 00:49:43,754.754 INFO    ] Checking for camera pi updates...
[2026-08-29 00:49:43,773.773 INFO    ] 200
[2026-08-29 00:49:43,775.775 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:49:43,797.797 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:49:43,895.895 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:49:43,897.897 INFO    ] No camera update needed
[2026-08-29 00:49:43,898.898 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:49:43,899.899 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:49:43,902.902 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:49:43,905.905 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:49:45,943.943 INFO    ] ================================================
[2026-08-29 00:49:45,958.958 INFO    ] Launching Daemon at Sat Aug 29 00:49:45 IST 2026
[2026-08-29 00:49:45,968.968 INFO    ] ================================================
[2026-08-29 00:49:46,322.322 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:49:46
[2026-08-29 00:49:46,632.632 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:49:46,770.770 INFO    ] Initializing speech engine...
[2026-08-29 00:49:46,780.780 INFO    ] 2026-08-29 00:49:46
[2026-08-29 00:49:46,982.982 INFO    ] 2026-08-29 00:49:46
[2026-08-29 00:49:47,010.010 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:49:47,155.155 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:49:47,164.164 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:49:47,340.340 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:49:47,371.371 INFO    ] time= 29/08/2026 00:49:47
[2026-08-29 00:49:47,389.389 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:49:47,400.400 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:49:47,506.506 INFO    ] No existing commands found in stream
[2026-08-29 00:49:52,532.532 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:49:52,535.535 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-08-29 00:50:00,497.497 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:50:00,499.499 INFO    ] Checking for system updates...
[2026-08-29 00:50:00,522.522 INFO    ] 200
[2026-08-29 00:50:00,524.524 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:50:00,559.559 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:50:00,562.562 INFO    ] No update needed
[2026-08-29 00:50:00,564.564 INFO    ] Checking for camera pi updates...
[2026-08-29 00:50:00,600.600 INFO    ] 200
[2026-08-29 00:50:00,603.603 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:50:00,644.644 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:50:00,748.748 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:50:00,750.750 INFO    ] No camera update needed
[2026-08-29 00:50:00,753.753 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:50:00,756.756 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:50:00,761.761 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:50:00,766.766 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:50:02,844.844 INFO    ] ================================================
[2026-08-29 00:50:02,871.871 INFO    ] Launching Daemon at Sat Aug 29 00:50:02 IST 2026
[2026-08-29 00:50:02,889.889 INFO    ] ================================================
[2026-08-29 00:50:03,587.587 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:50:03
[2026-08-29 00:50:04,191.191 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:50:04,470.470 INFO    ] Initializing speech engine...
[2026-08-29 00:50:04,477.477 INFO    ] 2026-08-29 00:50:04
[2026-08-29 00:50:04,738.738 INFO    ] 2026-08-29 00:50:04
[2026-08-29 00:50:04,796.796 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:50:04,942.942 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:50:04,954.954 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:50:05,065.065 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:50:05,071.071 INFO    ] time= 29/08/2026 00:50:05
[2026-08-29 00:50:05,088.088 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:50:05,099.099 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:50:05,201.201 INFO    ] No existing commands found in stream
[2026-08-29 00:50:10,211.211 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:50:10,214.214 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-08-29 00:50:12,064.064 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:50:12,066.066 INFO    ] Checking for system updates...
[2026-08-29 00:50:12,086.086 INFO    ] 200
[2026-08-29 00:50:12,088.088 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:50:12,120.120 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:50:12,122.122 INFO    ] No update needed
[2026-08-29 00:50:12,123.123 INFO    ] Checking for camera pi updates...
[2026-08-29 00:50:12,142.142 INFO    ] 200
[2026-08-29 00:50:12,144.144 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:50:12,168.168 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:50:12,249.249 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:50:12,250.250 INFO    ] No camera update needed
[2026-08-29 00:50:12,251.251 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:50:12,252.252 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:50:12,255.255 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:50:12,258.258 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:50:14,299.299 INFO    ] ================================================
[2026-08-29 00:50:14,315.315 INFO    ] Launching Daemon at Sat Aug 29 00:50:14 IST 2026
[2026-08-29 00:50:14,325.325 INFO    ] ================================================
[2026-08-29 00:50:14,685.685 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:50:14
[2026-08-29 00:50:14,998.998 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:50:15,131.131 INFO    ] Initializing speech engine...
[2026-08-29 00:50:15,143.143 INFO    ] 2026-08-29 00:50:15
[2026-08-29 00:50:15,346.346 INFO    ] 2026-08-29 00:50:15
[2026-08-29 00:50:15,422.422 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:50:15,574.574 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:50:15,583.583 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:50:15,717.717 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:50:15,762.762 INFO    ] time= 29/08/2026 00:50:15
[2026-08-29 00:50:15,822.822 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:50:15,852.852 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:50:15,906.906 INFO    ] No existing commands found in stream
[2026-08-29 00:50:20,918.918 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:50:20,921.921 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-08-29 00:50:21,726.726 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:50:21,728.728 INFO    ] Checking for system updates...
[2026-08-29 00:50:21,748.748 INFO    ] 200
[2026-08-29 00:50:21,750.750 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:50:21,783.783 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:50:21,784.784 INFO    ] No update needed
[2026-08-29 00:50:21,786.786 INFO    ] Checking for camera pi updates...
[2026-08-29 00:50:21,806.806 INFO    ] 200
[2026-08-29 00:50:21,808.808 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:50:21,830.830 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:50:21,924.924 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:50:21,926.926 INFO    ] No camera update needed
[2026-08-29 00:50:21,927.927 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:50:21,928.928 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:50:21,931.931 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:50:21,934.934 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:50:23,975.975 INFO    ] ================================================
[2026-08-29 00:50:23,990.990 INFO    ] Launching Daemon at Sat Aug 29 00:50:23 IST 2026
[2026-08-29 00:50:24,001.001 INFO    ] ================================================
[2026-08-29 00:50:24,365.365 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:50:24
[2026-08-29 00:50:24,711.711 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:50:24,867.867 INFO    ] Initializing speech engine...
[2026-08-29 00:50:24,872.872 INFO    ] 2026-08-29 00:50:24
[2026-08-29 00:50:25,079.079 INFO    ] 2026-08-29 00:50:25
[2026-08-29 00:50:25,108.108 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:50:25,230.230 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:50:25,290.290 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:50:25,463.463 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:50:25,505.505 INFO    ] time= 29/08/2026 00:50:25
[2026-08-29 00:50:25,564.564 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:50:25,601.601 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:50:25,718.718 INFO    ] No existing commands found in stream
[2026-08-29 00:50:30,750.750 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:50:30,753.753 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-08-29 00:50:32,178.178 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:50:32,181.181 INFO    ] Checking for system updates...
[2026-08-29 00:50:32,220.220 INFO    ] 200
[2026-08-29 00:50:32,223.223 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:50:32,287.287 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:50:32,290.290 INFO    ] No update needed
[2026-08-29 00:50:32,293.293 INFO    ] Checking for camera pi updates...
[2026-08-29 00:50:32,334.334 INFO    ] 200
[2026-08-29 00:50:32,337.337 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:50:32,401.401 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:50:32,510.510 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:50:32,513.513 INFO    ] No camera update needed
[2026-08-29 00:50:32,516.516 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:50:32,520.520 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:50:32,526.526 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:50:32,532.532 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:50:34,572.572 INFO    ] ================================================
[2026-08-29 00:50:34,587.587 INFO    ] Launching Daemon at Sat Aug 29 00:50:34 IST 2026
[2026-08-29 00:50:34,598.598 INFO    ] ================================================
[2026-08-29 00:50:35,159.159 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:50:35
[2026-08-29 00:50:35,476.476 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:50:35,620.620 INFO    ] Initializing speech engine...
[2026-08-29 00:50:35,625.625 INFO    ] 2026-08-29 00:50:35
[2026-08-29 00:50:35,827.827 INFO    ] 2026-08-29 00:50:35
[2026-08-29 00:50:35,857.857 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:50:35,978.978 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:50:36,040.040 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:50:36,189.189 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:50:36,235.235 INFO    ] time= 29/08/2026 00:50:36
[2026-08-29 00:50:36,297.297 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:50:36,326.326 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:50:36,442.442 INFO    ] No existing commands found in stream
[2026-08-29 00:50:41,460.460 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:50:41,463.463 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-08-29 00:50:44,573.573 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:50:44,575.575 INFO    ] Checking for system updates...
[2026-08-29 00:50:44,595.595 INFO    ] 200
[2026-08-29 00:50:44,596.596 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:50:44,626.626 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:50:44,627.627 INFO    ] No update needed
[2026-08-29 00:50:44,629.629 INFO    ] Checking for camera pi updates...
[2026-08-29 00:50:44,649.649 INFO    ] 200
[2026-08-29 00:50:44,651.651 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:50:44,674.674 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:50:44,764.764 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:50:44,765.765 INFO    ] No camera update needed
[2026-08-29 00:50:44,767.767 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:50:44,768.768 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:50:44,771.771 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:50:44,774.774 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:50:46,817.817 INFO    ] ================================================
[2026-08-29 00:50:46,832.832 INFO    ] Launching Daemon at Sat Aug 29 00:50:46 IST 2026
[2026-08-29 00:50:46,842.842 INFO    ] ================================================
[2026-08-29 00:50:47,196.196 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:50:47
[2026-08-29 00:50:47,540.540 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:50:47,693.693 INFO    ] Initializing speech engine...
[2026-08-29 00:50:47,699.699 INFO    ] 2026-08-29 00:50:47
[2026-08-29 00:50:47,908.908 INFO    ] 2026-08-29 00:50:47
[2026-08-29 00:50:47,936.936 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:50:48,059.059 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:50:48,117.117 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:50:48,257.257 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:50:48,324.324 INFO    ] time= 29/08/2026 00:50:48
[2026-08-29 00:50:48,352.352 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:50:48,359.359 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:50:48,426.426 INFO    ] No existing commands found in stream
[2026-08-29 00:50:53,440.440 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:50:53,449.449 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-08-29 00:50:56,638.638 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:50:56,639.639 INFO    ] Checking for system updates...
[2026-08-29 00:50:56,660.660 INFO    ] 200
[2026-08-29 00:50:56,661.661 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:50:56,690.690 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:50:56,692.692 INFO    ] No update needed
[2026-08-29 00:50:56,693.693 INFO    ] Checking for camera pi updates...
[2026-08-29 00:50:56,714.714 INFO    ] 200
[2026-08-29 00:50:56,716.716 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:50:56,740.740 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:50:56,843.843 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:50:56,844.844 INFO    ] No camera update needed
[2026-08-29 00:50:56,846.846 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:50:56,847.847 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:50:56,850.850 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:50:56,853.853 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:50:58,891.891 INFO    ] ================================================
[2026-08-29 00:50:58,908.908 INFO    ] Launching Daemon at Sat Aug 29 00:50:58 IST 2026
[2026-08-29 00:50:58,919.919 INFO    ] ================================================
[2026-08-29 00:50:59,261.261 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:50:59
[2026-08-29 00:50:59,573.573 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:50:59,712.712 INFO    ] Initializing speech engine...
[2026-08-29 00:50:59,722.722 INFO    ] 2026-08-29 00:50:59
[2026-08-29 00:50:59,923.923 INFO    ] 2026-08-29 00:50:59
[2026-08-29 00:51:00,005.005 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:51:00,160.160 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:51:00,166.166 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:51:00,300.300 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:51:00,338.338 INFO    ] time= 29/08/2026 00:51:00
[2026-08-29 00:51:00,387.387 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:51:00,436.436 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:51:00,492.492 INFO    ] No existing commands found in stream
[2026-08-29 00:51:05,503.503 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:51:05,506.506 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-08-29 00:51:06,911.911 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:51:06,914.914 INFO    ] Checking for system updates...
[2026-08-29 00:51:06,950.950 INFO    ] 200
[2026-08-29 00:51:06,953.953 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:51:07,006.006 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:51:07,008.008 INFO    ] No update needed
[2026-08-29 00:51:07,010.010 INFO    ] Checking for camera pi updates...
[2026-08-29 00:51:07,044.044 INFO    ] 200
[2026-08-29 00:51:07,046.046 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:51:07,091.091 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:51:07,177.177 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:51:07,179.179 INFO    ] No camera update needed
[2026-08-29 00:51:07,181.181 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:51:07,183.183 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:51:07,189.189 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:51:07,194.194 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:51:09,235.235 INFO    ] ================================================
[2026-08-29 00:51:09,250.250 INFO    ] Launching Daemon at Sat Aug 29 00:51:09 IST 2026
[2026-08-29 00:51:09,261.261 INFO    ] ================================================
[2026-08-29 00:51:09,618.618 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:51:09
[2026-08-29 00:51:09,958.958 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:51:10,110.110 INFO    ] Initializing speech engine...
[2026-08-29 00:51:10,116.116 INFO    ] 2026-08-29 00:51:10
[2026-08-29 00:51:10,326.326 INFO    ] 2026-08-29 00:51:10
[2026-08-29 00:51:10,355.355 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:51:10,479.479 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:51:10,543.543 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:51:10,683.683 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:51:10,752.752 INFO    ] time= 29/08/2026 00:51:10
[2026-08-29 00:51:10,777.777 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:51:10,784.784 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:51:10,850.850 INFO    ] No existing commands found in stream
[2026-08-29 00:51:15,861.861 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:51:15,864.864 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-08-29 00:51:17,163.163 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:51:17,165.165 INFO    ] Checking for system updates...
[2026-08-29 00:51:17,186.186 INFO    ] 200
[2026-08-29 00:51:17,187.187 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:51:17,219.219 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:51:17,221.221 INFO    ] No update needed
[2026-08-29 00:51:17,223.223 INFO    ] Checking for camera pi updates...
[2026-08-29 00:51:17,242.242 INFO    ] 200
[2026-08-29 00:51:17,244.244 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:51:17,268.268 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:51:17,347.347 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:51:17,349.349 INFO    ] No camera update needed
[2026-08-29 00:51:17,350.350 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:51:17,351.351 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:51:17,355.355 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:51:17,358.358 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:51:19,398.398 INFO    ] ================================================
[2026-08-29 00:51:19,414.414 INFO    ] Launching Daemon at Sat Aug 29 00:51:19 IST 2026
[2026-08-29 00:51:19,425.425 INFO    ] ================================================
[2026-08-29 00:51:19,796.796 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:51:19
[2026-08-29 00:51:20,110.110 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:51:20,243.243 INFO    ] Initializing speech engine...
[2026-08-29 00:51:20,247.247 INFO    ] 2026-08-29 00:51:20
[2026-08-29 00:51:20,476.476 INFO    ] 2026-08-29 00:51:20
[2026-08-29 00:51:20,507.507 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:51:20,603.603 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:51:20,606.606 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:51:20,714.714 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:51:20,725.725 INFO    ] time= 29/08/2026 00:51:20
[2026-08-29 00:51:20,741.741 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:51:20,745.745 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:51:20,837.837 INFO    ] No existing commands found in stream
[2026-08-29 00:51:25,866.866 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:51:25,869.869 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-08-29 00:51:29,733.733 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:51:29,734.734 INFO    ] Checking for system updates...
[2026-08-29 00:51:29,755.755 INFO    ] 200
[2026-08-29 00:51:29,756.756 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:51:29,789.789 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:51:29,790.790 INFO    ] No update needed
[2026-08-29 00:51:29,791.791 INFO    ] Checking for camera pi updates...
[2026-08-29 00:51:29,812.812 INFO    ] 200
[2026-08-29 00:51:29,814.814 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:51:29,838.838 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:51:29,930.930 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:51:29,931.931 INFO    ] No camera update needed
[2026-08-29 00:51:29,933.933 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:51:29,934.934 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:51:29,937.937 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:51:29,940.940 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:51:31,979.979 INFO    ] ================================================
[2026-08-29 00:51:32,995.995 INFO    ] Launching Daemon at Sat Aug 29 00:51:31 IST 2026
[2026-08-29 00:51:32,006.006 INFO    ] ================================================
[2026-08-29 00:51:32,557.557 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:51:32
[2026-08-29 00:51:33,188.188 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:51:33,471.471 INFO    ] Initializing speech engine...
[2026-08-29 00:51:33,476.476 INFO    ] 2026-08-29 00:51:33
[2026-08-29 00:51:33,725.725 INFO    ] 2026-08-29 00:51:33
[2026-08-29 00:51:33,760.760 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:51:33,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:51:33,957.957 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:51:34,086.086 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:51:34,094.094 INFO    ] time= 29/08/2026 00:51:34
[2026-08-29 00:51:34,102.102 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:51:34,146.146 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:51:34,262.262 INFO    ] No existing commands found in stream
[2026-08-29 00:51:39,292.292 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:51:39,295.295 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-08-29 00:51:41,437.437 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:51:41,439.439 INFO    ] Checking for system updates...
[2026-08-29 00:51:41,459.459 INFO    ] 200
[2026-08-29 00:51:41,460.460 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:51:41,490.490 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:51:41,491.491 INFO    ] No update needed
[2026-08-29 00:51:41,493.493 INFO    ] Checking for camera pi updates...
[2026-08-29 00:51:41,512.512 INFO    ] 200
[2026-08-29 00:51:41,514.514 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:51:41,538.538 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:51:41,614.614 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:51:41,616.616 INFO    ] No camera update needed
[2026-08-29 00:51:41,617.617 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:51:41,618.618 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:51:41,621.621 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:51:41,624.624 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:51:43,665.665 INFO    ] ================================================
[2026-08-29 00:51:43,682.682 INFO    ] Launching Daemon at Sat Aug 29 00:51:43 IST 2026
[2026-08-29 00:51:43,699.699 INFO    ] ================================================
[2026-08-29 00:51:44,134.134 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:51:44
[2026-08-29 00:51:44,738.738 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:51:45,013.013 INFO    ] Initializing speech engine...
[2026-08-29 00:51:45,022.022 INFO    ] 2026-08-29 00:51:45
[2026-08-29 00:51:45,272.272 INFO    ] 2026-08-29 00:51:45
[2026-08-29 00:51:45,338.338 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:51:45,502.502 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:51:45,524.524 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:51:45,689.689 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:51:45,708.708 INFO    ] time= 29/08/2026 00:51:45
[2026-08-29 00:51:45,773.773 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:51:45,829.829 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:51:45,891.891 INFO    ] No existing commands found in stream
[2026-08-29 00:51:50,904.904 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:51:50,907.907 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-08-29 00:51:53,239.239 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:51:53,240.240 INFO    ] Checking for system updates...
[2026-08-29 00:51:53,261.261 INFO    ] 200
[2026-08-29 00:51:53,262.262 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:51:53,292.292 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:51:53,294.294 INFO    ] No update needed
[2026-08-29 00:51:53,295.295 INFO    ] Checking for camera pi updates...
[2026-08-29 00:51:53,314.314 INFO    ] 200
[2026-08-29 00:51:53,315.315 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:51:53,338.338 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:51:53,414.414 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:51:53,415.415 INFO    ] No camera update needed
[2026-08-29 00:51:53,417.417 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:51:53,418.418 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:51:53,421.421 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:51:53,424.424 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:51:55,463.463 INFO    ] ================================================
[2026-08-29 00:51:55,478.478 INFO    ] Launching Daemon at Sat Aug 29 00:51:55 IST 2026
[2026-08-29 00:51:55,489.489 INFO    ] ================================================
[2026-08-29 00:51:55,856.856 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:51:55
[2026-08-29 00:51:56,172.172 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:51:56,307.307 INFO    ] Initializing speech engine...
[2026-08-29 00:51:56,316.316 INFO    ] 2026-08-29 00:51:56
[2026-08-29 00:51:56,540.540 INFO    ] 2026-08-29 00:51:56
[2026-08-29 00:51:56,571.571 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:51:56,669.669 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:51:56,696.696 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:51:56,807.807 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:51:56,829.829 INFO    ] time= 29/08/2026 00:51:56
[2026-08-29 00:51:56,872.872 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:51:56,921.921 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:51:57,036.036 INFO    ] No existing commands found in stream
[2026-08-29 00:52:02,072.072 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:52:02,075.075 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-08-29 00:52:06,294.294 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:52:06,296.296 INFO    ] Checking for system updates...
[2026-08-29 00:52:06,330.330 INFO    ] 200
[2026-08-29 00:52:06,336.336 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:52:06,394.394 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:52:06,396.396 INFO    ] No update needed
[2026-08-29 00:52:06,398.398 INFO    ] Checking for camera pi updates...
[2026-08-29 00:52:06,433.433 INFO    ] 200
[2026-08-29 00:52:06,435.435 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:52:06,475.475 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:52:06,572.572 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:52:06,575.575 INFO    ] No camera update needed
[2026-08-29 00:52:06,577.577 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:52:06,579.579 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:52:06,585.585 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:52:06,590.590 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:52:08,629.629 INFO    ] ================================================
[2026-08-29 00:52:08,645.645 INFO    ] Launching Daemon at Sat Aug 29 00:52:08 IST 2026
[2026-08-29 00:52:08,655.655 INFO    ] ================================================
[2026-08-29 00:52:09,298.298 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:52:09
[2026-08-29 00:52:09,706.706 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:52:09,856.856 INFO    ] Initializing speech engine...
[2026-08-29 00:52:09,866.866 INFO    ] 2026-08-29 00:52:09
[2026-08-29 00:52:10,058.058 INFO    ] 2026-08-29 00:52:10
[2026-08-29 00:52:10,117.117 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:52:10,288.288 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:52:10,331.331 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:52:10,494.494 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:52:10,532.532 INFO    ] time= 29/08/2026 00:52:10
[2026-08-29 00:52:10,581.581 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:52:10,633.633 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:52:10,687.687 INFO    ] No existing commands found in stream
[2026-08-29 00:52:15,700.700 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:52:15,704.704 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-08-29 00:52:17,425.425 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:52:17,426.426 INFO    ] Checking for system updates...
[2026-08-29 00:52:17,447.447 INFO    ] 200
[2026-08-29 00:52:17,448.448 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:52:17,485.485 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:52:17,486.486 INFO    ] No update needed
[2026-08-29 00:52:17,487.487 INFO    ] Checking for camera pi updates...
[2026-08-29 00:52:17,506.506 INFO    ] 200
[2026-08-29 00:52:17,507.507 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:52:17,530.530 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:52:17,639.639 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:52:17,641.641 INFO    ] No camera update needed
[2026-08-29 00:52:17,642.642 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:52:17,643.643 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:52:17,646.646 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:52:17,649.649 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:52:19,689.689 INFO    ] ================================================
[2026-08-29 00:52:19,704.704 INFO    ] Launching Daemon at Sat Aug 29 00:52:19 IST 2026
[2026-08-29 00:52:19,715.715 INFO    ] ================================================
[2026-08-29 00:52:20,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:52:20
[2026-08-29 00:52:20,357.357 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:52:20,490.490 INFO    ] Initializing speech engine...
[2026-08-29 00:52:20,495.495 INFO    ] 2026-08-29 00:52:20
[2026-08-29 00:52:20,711.711 INFO    ] 2026-08-29 00:52:20
[2026-08-29 00:52:20,739.739 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:52:20,890.890 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:52:20,927.927 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:52:21,107.107 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:52:21,151.151 INFO    ] time= 29/08/2026 00:52:21
[2026-08-29 00:52:21,173.173 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:52:21,228.228 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:52:21,285.285 INFO    ] No existing commands found in stream
[2026-08-29 00:52:26,306.306 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:52:26,309.309 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-08-29 00:52:30,160.160 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:52:30,161.161 INFO    ] Checking for system updates...
[2026-08-29 00:52:30,182.182 INFO    ] 200
[2026-08-29 00:52:30,183.183 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:52:30,213.213 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:52:30,215.215 INFO    ] No update needed
[2026-08-29 00:52:30,216.216 INFO    ] Checking for camera pi updates...
[2026-08-29 00:52:30,235.235 INFO    ] 200
[2026-08-29 00:52:30,236.236 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:52:30,259.259 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:52:30,356.356 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:52:30,358.358 INFO    ] No camera update needed
[2026-08-29 00:52:30,360.360 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:52:30,363.363 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:52:30,368.368 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:52:30,373.373 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:52:32,415.415 INFO    ] ================================================
[2026-08-29 00:52:32,432.432 INFO    ] Launching Daemon at Sat Aug 29 00:52:32 IST 2026
[2026-08-29 00:52:32,443.443 INFO    ] ================================================
[2026-08-29 00:52:33,050.050 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:52:33
[2026-08-29 00:52:33,508.508 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:52:33,721.721 INFO    ] Initializing speech engine...
[2026-08-29 00:52:33,743.743 INFO    ] 2026-08-29 00:52:33
[2026-08-29 00:52:34,003.003 INFO    ] 2026-08-29 00:52:33
[2026-08-29 00:52:34,039.039 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:52:34,213.213 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:52:34,219.219 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:52:34,338.338 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:52:34,345.345 INFO    ] time= 29/08/2026 00:52:34
[2026-08-29 00:52:34,363.363 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:52:34,383.383 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:52:34,457.457 INFO    ] No existing commands found in stream
[2026-08-29 00:52:39,469.469 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:52:39,472.472 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-08-29 00:52:42,659.659 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:52:42,660.660 INFO    ] Checking for system updates...
[2026-08-29 00:52:42,682.682 INFO    ] 200
[2026-08-29 00:52:42,684.684 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:52:42,716.716 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:52:42,718.718 INFO    ] No update needed
[2026-08-29 00:52:42,719.719 INFO    ] Checking for camera pi updates...
[2026-08-29 00:52:42,741.741 INFO    ] 200
[2026-08-29 00:52:42,745.745 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:52:42,788.788 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:52:42,867.867 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:52:42,869.869 INFO    ] No camera update needed
[2026-08-29 00:52:42,872.872 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:52:42,874.874 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:52:42,879.879 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:52:42,884.884 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:52:44,924.924 INFO    ] ================================================
[2026-08-29 00:52:44,940.940 INFO    ] Launching Daemon at Sat Aug 29 00:52:44 IST 2026
[2026-08-29 00:52:44,951.951 INFO    ] ================================================
[2026-08-29 00:52:45,518.518 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:52:45
[2026-08-29 00:52:46,020.020 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:52:46,292.292 INFO    ] Initializing speech engine...
[2026-08-29 00:52:46,301.301 INFO    ] 2026-08-29 00:52:46
[2026-08-29 00:52:46,553.553 INFO    ] 2026-08-29 00:52:46
[2026-08-29 00:52:46,589.589 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:52:46,765.765 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:52:46,777.777 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:52:46,923.923 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:52:46,930.930 INFO    ] time= 29/08/2026 00:52:46
[2026-08-29 00:52:46,938.938 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:52:46,965.965 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:52:47,088.088 INFO    ] No existing commands found in stream
[2026-08-29 00:52:52,118.118 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:52:52,121.121 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-08-29 00:52:52,517.517 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:52:52,519.519 INFO    ] Checking for system updates...
[2026-08-29 00:52:52,540.540 INFO    ] 200
[2026-08-29 00:52:52,541.541 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:52:52,572.572 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:52:52,573.573 INFO    ] No update needed
[2026-08-29 00:52:52,575.575 INFO    ] Checking for camera pi updates...
[2026-08-29 00:52:52,595.595 INFO    ] 200
[2026-08-29 00:52:52,597.597 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:52:52,620.620 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:52:52,705.705 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:52:52,707.707 INFO    ] No camera update needed
[2026-08-29 00:52:52,708.708 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:52:52,709.709 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:52:52,712.712 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:52:52,715.715 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:52:54,755.755 INFO    ] ================================================
[2026-08-29 00:52:54,771.771 INFO    ] Launching Daemon at Sat Aug 29 00:52:54 IST 2026
[2026-08-29 00:52:54,782.782 INFO    ] ================================================
[2026-08-29 00:52:55,134.134 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:52:55
[2026-08-29 00:52:55,447.447 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:52:55,639.639 INFO    ] Initializing speech engine...
[2026-08-29 00:52:55,650.650 INFO    ] 2026-08-29 00:52:55
[2026-08-29 00:52:55,919.919 INFO    ] 2026-08-29 00:52:55
[2026-08-29 00:52:55,958.958 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:52:56,110.110 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:52:56,121.121 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:52:56,267.267 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:52:56,276.276 INFO    ] time= 29/08/2026 00:52:56
[2026-08-29 00:52:56,281.281 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:52:56,286.286 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:52:56,353.353 INFO    ] No existing commands found in stream
[2026-08-29 00:53:01,365.365 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:53:01,369.369 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-08-29 00:53:04,918.918 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:53:04,920.920 INFO    ] Checking for system updates...
[2026-08-29 00:53:04,940.940 INFO    ] 200
[2026-08-29 00:53:04,942.942 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:53:04,972.972 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:53:04,974.974 INFO    ] No update needed
[2026-08-29 00:53:04,975.975 INFO    ] Checking for camera pi updates...
[2026-08-29 00:53:04,994.994 INFO    ] 200
[2026-08-29 00:53:04,996.996 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:53:05,020.020 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:53:05,200.200 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:53:05,203.203 INFO    ] No camera update needed
[2026-08-29 00:53:05,205.205 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:53:05,208.208 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:53:05,213.213 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:53:05,218.218 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:53:07,259.259 INFO    ] ================================================
[2026-08-29 00:53:07,274.274 INFO    ] Launching Daemon at Sat Aug 29 00:53:07 IST 2026
[2026-08-29 00:53:07,285.285 INFO    ] ================================================
[2026-08-29 00:53:07,853.853 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:53:07
[2026-08-29 00:53:08,452.452 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:53:08,726.726 INFO    ] Initializing speech engine...
[2026-08-29 00:53:08,736.736 INFO    ] 2026-08-29 00:53:08
[2026-08-29 00:53:08,984.984 INFO    ] 2026-08-29 00:53:08
[2026-08-29 00:53:09,020.020 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:53:09,193.193 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:53:09,206.206 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:53:09,331.331 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:53:09,353.353 INFO    ] time= 29/08/2026 00:53:09
[2026-08-29 00:53:09,359.359 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:53:09,367.367 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:53:09,432.432 INFO    ] No existing commands found in stream
[2026-08-29 00:53:14,463.463 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:53:14,466.466 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-08-29 00:53:16,008.008 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:53:16,009.009 INFO    ] Checking for system updates...
[2026-08-29 00:53:16,030.030 INFO    ] 200
[2026-08-29 00:53:16,032.032 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:53:16,062.062 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:53:16,063.063 INFO    ] No update needed
[2026-08-29 00:53:16,065.065 INFO    ] Checking for camera pi updates...
[2026-08-29 00:53:16,085.085 INFO    ] 200
[2026-08-29 00:53:16,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:53:16,124.124 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:53:16,219.219 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:53:16,221.221 INFO    ] No camera update needed
[2026-08-29 00:53:16,224.224 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:53:16,226.226 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:53:16,231.231 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:53:16,236.236 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:53:18,275.275 INFO    ] ================================================
[2026-08-29 00:53:18,290.290 INFO    ] Launching Daemon at Sat Aug 29 00:53:18 IST 2026
[2026-08-29 00:53:18,300.300 INFO    ] ================================================
[2026-08-29 00:53:18,659.659 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:53:18
[2026-08-29 00:53:18,994.994 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:53:19,242.242 INFO    ] Initializing speech engine...
[2026-08-29 00:53:19,254.254 INFO    ] 2026-08-29 00:53:19
[2026-08-29 00:53:19,521.521 INFO    ] 2026-08-29 00:53:19
[2026-08-29 00:53:19,556.556 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:53:19,732.732 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:53:19,744.744 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:53:19,856.856 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:53:19,861.861 INFO    ] time= 29/08/2026 00:53:19
[2026-08-29 00:53:19,879.879 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:53:19,899.899 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:53:19,974.974 INFO    ] No existing commands found in stream
[2026-08-29 00:53:24,989.989 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:53:24,992.992 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-08-29 00:53:26,320.320 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:53:26,323.323 INFO    ] Checking for system updates...
[2026-08-29 00:53:26,358.358 INFO    ] 200
[2026-08-29 00:53:26,360.360 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:53:26,420.420 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:53:26,422.422 INFO    ] No update needed
[2026-08-29 00:53:26,425.425 INFO    ] Checking for camera pi updates...
[2026-08-29 00:53:26,460.460 INFO    ] 200
[2026-08-29 00:53:26,463.463 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:53:26,505.505 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:53:26,586.586 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:53:26,588.588 INFO    ] No camera update needed
[2026-08-29 00:53:26,589.589 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:53:26,590.590 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:53:26,594.594 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:53:26,596.596 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:53:28,635.635 INFO    ] ================================================
[2026-08-29 00:53:28,650.650 INFO    ] Launching Daemon at Sat Aug 29 00:53:28 IST 2026
[2026-08-29 00:53:28,660.660 INFO    ] ================================================
[2026-08-29 00:53:29,012.012 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:53:29
[2026-08-29 00:53:29,574.574 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:53:29,835.835 INFO    ] Initializing speech engine...
[2026-08-29 00:53:29,853.853 INFO    ] 2026-08-29 00:53:29
[2026-08-29 00:53:30,102.102 INFO    ] 2026-08-29 00:53:30
[2026-08-29 00:53:30,137.137 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:53:30,314.314 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:53:30,327.327 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:53:30,472.472 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:53:30,480.480 INFO    ] time= 29/08/2026 00:53:30
[2026-08-29 00:53:30,483.483 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:53:30,489.489 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:53:30,555.555 INFO    ] No existing commands found in stream
[2026-08-29 00:53:35,567.567 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:53:35,570.570 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-08-29 00:53:37,634.634 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:53:37,636.636 INFO    ] Checking for system updates...
[2026-08-29 00:53:37,657.657 INFO    ] 200
[2026-08-29 00:53:37,658.658 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:53:37,691.691 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:53:37,693.693 INFO    ] No update needed
[2026-08-29 00:53:37,694.694 INFO    ] Checking for camera pi updates...
[2026-08-29 00:53:37,714.714 INFO    ] 200
[2026-08-29 00:53:37,716.716 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:53:37,739.739 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:53:37,821.821 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:53:37,823.823 INFO    ] No camera update needed
[2026-08-29 00:53:37,826.826 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:53:37,828.828 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:53:37,833.833 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:53:37,838.838 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:53:39,878.878 INFO    ] ================================================
[2026-08-29 00:53:39,893.893 INFO    ] Launching Daemon at Sat Aug 29 00:53:39 IST 2026
[2026-08-29 00:53:39,903.903 INFO    ] ================================================
[2026-08-29 00:53:40,484.484 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:53:40
[2026-08-29 00:53:40,963.963 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:53:41,099.099 INFO    ] Initializing speech engine...
[2026-08-29 00:53:41,111.111 INFO    ] 2026-08-29 00:53:41
[2026-08-29 00:53:41,325.325 INFO    ] 2026-08-29 00:53:41
[2026-08-29 00:53:41,355.355 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:53:41,484.484 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:53:41,542.542 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:53:41,687.687 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:53:41,754.754 INFO    ] time= 29/08/2026 00:53:41
[2026-08-29 00:53:41,786.786 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:53:41,792.792 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:53:41,886.886 INFO    ] No existing commands found in stream
[2026-08-29 00:53:46,896.896 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:53:46,898.898 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-08-29 00:53:51,048.048 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:53:51,049.049 INFO    ] Checking for system updates...
[2026-08-29 00:53:51,070.070 INFO    ] 200
[2026-08-29 00:53:51,071.071 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:53:51,103.103 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:53:51,104.104 INFO    ] No update needed
[2026-08-29 00:53:51,106.106 INFO    ] Checking for camera pi updates...
[2026-08-29 00:53:51,126.126 INFO    ] 200
[2026-08-29 00:53:51,127.127 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:53:51,150.150 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:53:51,233.233 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:53:51,234.234 INFO    ] No camera update needed
[2026-08-29 00:53:51,236.236 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:53:51,237.237 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:53:51,240.240 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:53:51,243.243 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:53:53,281.281 INFO    ] ================================================
[2026-08-29 00:53:53,296.296 INFO    ] Launching Daemon at Sat Aug 29 00:53:53 IST 2026
[2026-08-29 00:53:53,312.312 INFO    ] ================================================
[2026-08-29 00:53:53,824.824 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:53:53
[2026-08-29 00:53:54,410.410 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:53:54,669.669 INFO    ] Initializing speech engine...
[2026-08-29 00:53:54,676.676 INFO    ] 2026-08-29 00:53:54
[2026-08-29 00:53:54,963.963 INFO    ] 2026-08-29 00:53:54
[2026-08-29 00:53:55,000.000 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:53:55,188.188 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:53:55,204.204 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:53:55,320.320 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:53:55,327.327 INFO    ] time= 29/08/2026 00:53:55
[2026-08-29 00:53:55,347.347 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:53:55,368.368 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:53:55,450.450 INFO    ] No existing commands found in stream
[2026-08-29 00:54:00,475.475 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:54:00,478.478 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-08-29 00:54:01,595.595 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:54:01,598.598 INFO    ] Checking for system updates...
[2026-08-29 00:54:01,638.638 INFO    ] 200
[2026-08-29 00:54:01,641.641 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:54:01,705.705 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:54:01,707.707 INFO    ] No update needed
[2026-08-29 00:54:01,710.710 INFO    ] Checking for camera pi updates...
[2026-08-29 00:54:01,754.754 INFO    ] 200
[2026-08-29 00:54:01,756.756 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:54:01,816.816 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:54:01,899.899 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:54:01,902.902 INFO    ] No camera update needed
[2026-08-29 00:54:01,905.905 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:54:01,908.908 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:54:01,915.915 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:54:01,921.921 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:54:03,963.963 INFO    ] ================================================
[2026-08-29 00:54:03,978.978 INFO    ] Launching Daemon at Sat Aug 29 00:54:03 IST 2026
[2026-08-29 00:54:03,989.989 INFO    ] ================================================
[2026-08-29 00:54:04,503.503 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:54:04
[2026-08-29 00:54:04,815.815 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:54:04,946.946 INFO    ] Initializing speech engine...
[2026-08-29 00:54:04,954.954 INFO    ] 2026-08-29 00:54:04
[2026-08-29 00:54:05,165.165 INFO    ] 2026-08-29 00:54:05
[2026-08-29 00:54:05,193.193 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:54:05,321.321 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:54:05,381.381 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:54:05,511.511 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:54:05,567.567 INFO    ] time= 29/08/2026 00:54:05
[2026-08-29 00:54:05,624.624 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:54:05,668.668 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:54:05,784.784 INFO    ] No existing commands found in stream
[2026-08-29 00:54:10,809.809 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:54:10,811.811 INFO    ] Waiting 1.19 seconds before fallback handling...
[2026-08-29 00:54:12,340.340 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:54:12,341.341 INFO    ] Checking for system updates...
[2026-08-29 00:54:12,361.361 INFO    ] 200
[2026-08-29 00:54:12,363.363 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:54:12,395.395 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:54:12,396.396 INFO    ] No update needed
[2026-08-29 00:54:12,398.398 INFO    ] Checking for camera pi updates...
[2026-08-29 00:54:12,417.417 INFO    ] 200
[2026-08-29 00:54:12,418.418 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:54:12,442.442 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:54:12,550.550 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:54:12,552.552 INFO    ] No camera update needed
[2026-08-29 00:54:12,553.553 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:54:12,554.554 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:54:12,557.557 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:54:12,560.560 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:54:14,599.599 INFO    ] ================================================
[2026-08-29 00:54:14,614.614 INFO    ] Launching Daemon at Sat Aug 29 00:54:14 IST 2026
[2026-08-29 00:54:14,625.625 INFO    ] ================================================
[2026-08-29 00:54:14,979.979 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:54:14
[2026-08-29 00:54:15,290.290 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:54:15,436.436 INFO    ] Initializing speech engine...
[2026-08-29 00:54:15,441.441 INFO    ] 2026-08-29 00:54:15
[2026-08-29 00:54:15,639.639 INFO    ] 2026-08-29 00:54:15
[2026-08-29 00:54:15,741.741 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:54:15,893.893 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:54:15,901.901 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:54:16,036.036 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:54:16,100.100 INFO    ] time= 29/08/2026 00:54:16
[2026-08-29 00:54:16,162.162 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:54:16,169.169 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:54:16,284.284 INFO    ] No existing commands found in stream
[2026-08-29 00:54:21,314.314 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:54:21,317.317 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-08-29 00:54:22,291.291 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:54:22,293.293 INFO    ] Checking for system updates...
[2026-08-29 00:54:22,313.313 INFO    ] 200
[2026-08-29 00:54:22,315.315 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:54:22,345.345 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:54:22,346.346 INFO    ] No update needed
[2026-08-29 00:54:22,347.347 INFO    ] Checking for camera pi updates...
[2026-08-29 00:54:22,366.366 INFO    ] 200
[2026-08-29 00:54:22,368.368 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:54:22,391.391 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:54:22,471.471 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:54:22,473.473 INFO    ] No camera update needed
[2026-08-29 00:54:22,474.474 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:54:22,475.475 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:54:22,478.478 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:54:22,481.481 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:54:24,521.521 INFO    ] ================================================
[2026-08-29 00:54:24,536.536 INFO    ] Launching Daemon at Sat Aug 29 00:54:24 IST 2026
[2026-08-29 00:54:24,547.547 INFO    ] ================================================
[2026-08-29 00:54:24,877.877 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:54:24
[2026-08-29 00:54:25,192.192 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:54:25,329.329 INFO    ] Initializing speech engine...
[2026-08-29 00:54:25,339.339 INFO    ] 2026-08-29 00:54:25
[2026-08-29 00:54:25,542.542 INFO    ] 2026-08-29 00:54:25
[2026-08-29 00:54:25,571.571 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:54:25,753.753 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:54:25,774.774 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:54:25,908.908 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:54:25,934.934 INFO    ] time= 29/08/2026 00:54:25
[2026-08-29 00:54:25,942.942 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:54:25,949.949 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:54:26,047.047 INFO    ] No existing commands found in stream
[2026-08-29 00:54:31,071.071 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:54:31,074.074 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-08-29 00:54:31,474.474 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:54:31,477.477 INFO    ] Checking for system updates...
[2026-08-29 00:54:31,515.515 INFO    ] 200
[2026-08-29 00:54:31,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:54:31,574.574 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:54:31,576.576 INFO    ] No update needed
[2026-08-29 00:54:31,579.579 INFO    ] Checking for camera pi updates...
[2026-08-29 00:54:31,613.613 INFO    ] 200
[2026-08-29 00:54:31,616.616 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:54:31,659.659 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:54:31,824.824 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:54:31,827.827 INFO    ] No camera update needed
[2026-08-29 00:54:31,830.830 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:54:31,832.832 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:54:31,839.839 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:54:31,844.844 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:54:33,885.885 INFO    ] ================================================
[2026-08-29 00:54:33,900.900 INFO    ] Launching Daemon at Sat Aug 29 00:54:33 IST 2026
[2026-08-29 00:54:33,911.911 INFO    ] ================================================
[2026-08-29 00:54:34,372.372 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:54:34
[2026-08-29 00:54:34,707.707 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:54:34,857.857 INFO    ] Initializing speech engine...
[2026-08-29 00:54:34,863.863 INFO    ] 2026-08-29 00:54:34
[2026-08-29 00:54:35,073.073 INFO    ] 2026-08-29 00:54:35
[2026-08-29 00:54:35,102.102 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:54:35,226.226 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:54:35,289.289 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:54:35,427.427 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:54:35,494.494 INFO    ] time= 29/08/2026 00:54:35
[2026-08-29 00:54:35,523.523 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:54:35,525.525 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:54:35,596.596 INFO    ] No existing commands found in stream
[2026-08-29 00:54:40,607.607 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:54:40,610.610 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-08-29 00:54:44,804.804 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:54:44,806.806 INFO    ] Checking for system updates...
[2026-08-29 00:54:44,830.830 INFO    ] 200
[2026-08-29 00:54:44,831.831 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:54:44,861.861 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:54:44,863.863 INFO    ] No update needed
[2026-08-29 00:54:44,864.864 INFO    ] Checking for camera pi updates...
[2026-08-29 00:54:44,885.885 INFO    ] 200
[2026-08-29 00:54:44,887.887 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:54:44,913.913 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:54:45,019.019 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:54:45,021.021 INFO    ] No camera update needed
[2026-08-29 00:54:45,023.023 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:54:45,024.024 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:54:45,028.028 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:54:45,031.031 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:54:47,069.069 INFO    ] ================================================
[2026-08-29 00:54:47,086.086 INFO    ] Launching Daemon at Sat Aug 29 00:54:47 IST 2026
[2026-08-29 00:54:47,097.097 INFO    ] ================================================
[2026-08-29 00:54:47,452.452 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:54:47
[2026-08-29 00:54:47,768.768 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:54:47,907.907 INFO    ] Initializing speech engine...
[2026-08-29 00:54:47,918.918 INFO    ] 2026-08-29 00:54:47
[2026-08-29 00:54:48,120.120 INFO    ] 2026-08-29 00:54:48
[2026-08-29 00:54:48,149.149 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:54:48,271.271 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:54:48,333.333 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:54:48,467.467 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:54:48,535.535 INFO    ] time= 29/08/2026 00:54:48
[2026-08-29 00:54:48,562.562 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:54:48,568.568 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:54:48,659.659 INFO    ] No existing commands found in stream
[2026-08-29 00:54:53,672.672 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:54:53,674.674 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-08-29 00:54:55,333.333 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:54:55,335.335 INFO    ] Checking for system updates...
[2026-08-29 00:54:55,355.355 INFO    ] 200
[2026-08-29 00:54:55,356.356 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:54:55,386.386 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:54:55,387.387 INFO    ] No update needed
[2026-08-29 00:54:55,389.389 INFO    ] Checking for camera pi updates...
[2026-08-29 00:54:55,407.407 INFO    ] 200
[2026-08-29 00:54:55,409.409 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:54:55,431.431 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:54:55,510.510 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:54:55,512.512 INFO    ] No camera update needed
[2026-08-29 00:54:55,513.513 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:54:55,514.514 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:54:55,517.517 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:54:55,520.520 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:54:57,561.561 INFO    ] ================================================
[2026-08-29 00:54:57,577.577 INFO    ] Launching Daemon at Sat Aug 29 00:54:57 IST 2026
[2026-08-29 00:54:57,588.588 INFO    ] ================================================
[2026-08-29 00:54:57,923.923 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:54:57
[2026-08-29 00:54:58,235.235 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:54:58,365.365 INFO    ] Initializing speech engine...
[2026-08-29 00:54:58,370.370 INFO    ] 2026-08-29 00:54:58
[2026-08-29 00:54:58,593.593 INFO    ] 2026-08-29 00:54:58
[2026-08-29 00:54:58,680.680 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:54:58,829.829 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:54:58,838.838 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:54:58,973.973 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:54:59,015.015 INFO    ] time= 29/08/2026 00:54:58
[2026-08-29 00:54:59,074.074 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:54:59,112.112 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:54:59,165.165 INFO    ] No existing commands found in stream
[2026-08-29 00:55:04,177.177 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:55:04,179.179 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-08-29 00:55:07,838.838 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:55:07,841.841 INFO    ] Checking for system updates...
[2026-08-29 00:55:07,878.878 INFO    ] 200
[2026-08-29 00:55:07,880.880 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:55:07,938.938 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:55:07,941.941 INFO    ] No update needed
[2026-08-29 00:55:07,943.943 INFO    ] Checking for camera pi updates...
[2026-08-29 00:55:07,981.981 INFO    ] 200
[2026-08-29 00:55:07,983.983 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:55:08,024.024 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:55:08,202.202 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:55:08,205.205 INFO    ] No camera update needed
[2026-08-29 00:55:08,208.208 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:55:08,210.210 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:55:08,216.216 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:55:08,222.222 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:55:10,264.264 INFO    ] ================================================
[2026-08-29 00:55:10,280.280 INFO    ] Launching Daemon at Sat Aug 29 00:55:10 IST 2026
[2026-08-29 00:55:10,292.292 INFO    ] ================================================
[2026-08-29 00:55:10,922.922 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:55:10
[2026-08-29 00:55:11,258.258 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:55:11,409.409 INFO    ] Initializing speech engine...
[2026-08-29 00:55:11,414.414 INFO    ] 2026-08-29 00:55:11
[2026-08-29 00:55:11,624.624 INFO    ] 2026-08-29 00:55:11
[2026-08-29 00:55:11,653.653 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:55:11,777.777 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:55:11,835.835 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:55:11,978.978 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:55:12,047.047 INFO    ] time= 29/08/2026 00:55:11
[2026-08-29 00:55:12,075.075 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:55:12,082.082 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:55:12,149.149 INFO    ] No existing commands found in stream
[2026-08-29 00:55:17,160.160 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:55:17,164.164 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-08-29 00:55:19,216.216 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:55:19,217.217 INFO    ] Checking for system updates...
[2026-08-29 00:55:19,237.237 INFO    ] 200
[2026-08-29 00:55:19,239.239 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:55:19,271.271 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:55:19,272.272 INFO    ] No update needed
[2026-08-29 00:55:19,273.273 INFO    ] Checking for camera pi updates...
[2026-08-29 00:55:19,292.292 INFO    ] 200
[2026-08-29 00:55:19,294.294 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:55:19,316.316 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:55:19,402.402 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:55:19,404.404 INFO    ] No camera update needed
[2026-08-29 00:55:19,405.405 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:55:19,406.406 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:55:19,409.409 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:55:19,411.411 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:55:21,450.450 INFO    ] ================================================
[2026-08-29 00:55:21,465.465 INFO    ] Launching Daemon at Sat Aug 29 00:55:21 IST 2026
[2026-08-29 00:55:21,476.476 INFO    ] ================================================
[2026-08-29 00:55:21,818.818 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:55:21
[2026-08-29 00:55:22,129.129 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:55:22,266.266 INFO    ] Initializing speech engine...
[2026-08-29 00:55:22,279.279 INFO    ] 2026-08-29 00:55:22
[2026-08-29 00:55:22,497.497 INFO    ] 2026-08-29 00:55:22
[2026-08-29 00:55:22,528.528 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:55:22,660.660 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:55:22,702.702 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:55:22,868.868 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:55:22,905.905 INFO    ] time= 29/08/2026 00:55:22
[2026-08-29 00:55:22,952.952 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:55:22,976.976 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:55:23,052.052 INFO    ] No existing commands found in stream
[2026-08-29 00:55:28,062.062 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:55:28,065.065 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 00:55:30,431.431 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:55:30,433.433 INFO    ] Checking for system updates...
[2026-08-29 00:55:30,454.454 INFO    ] 200
[2026-08-29 00:55:30,455.455 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:55:30,499.499 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:55:30,501.501 INFO    ] No update needed
[2026-08-29 00:55:30,504.504 INFO    ] Checking for camera pi updates...
[2026-08-29 00:55:30,537.537 INFO    ] 200
[2026-08-29 00:55:30,539.539 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:55:30,579.579 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:55:30,666.666 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:55:30,668.668 INFO    ] No camera update needed
[2026-08-29 00:55:30,670.670 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:55:30,673.673 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:55:30,678.678 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:55:30,683.683 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:55:32,724.724 INFO    ] ================================================
[2026-08-29 00:55:32,742.742 INFO    ] Launching Daemon at Sat Aug 29 00:55:32 IST 2026
[2026-08-29 00:55:32,755.755 INFO    ] ================================================
[2026-08-29 00:55:33,384.384 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:55:33
[2026-08-29 00:55:33,833.833 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:55:33,984.984 INFO    ] Initializing speech engine...
[2026-08-29 00:55:33,990.990 INFO    ] 2026-08-29 00:55:33
[2026-08-29 00:55:34,200.200 INFO    ] 2026-08-29 00:55:34
[2026-08-29 00:55:34,228.228 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:55:34,367.367 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:55:34,416.416 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:55:34,558.558 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:55:34,619.619 INFO    ] time= 29/08/2026 00:55:34
[2026-08-29 00:55:34,643.643 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:55:34,650.650 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:55:34,716.716 INFO    ] No existing commands found in stream
[2026-08-29 00:55:39,727.727 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:55:39,730.730 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-08-29 00:55:41,401.401 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:55:41,403.403 INFO    ] Checking for system updates...
[2026-08-29 00:55:41,423.423 INFO    ] 200
[2026-08-29 00:55:41,425.425 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:55:41,455.455 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:55:41,456.456 INFO    ] No update needed
[2026-08-29 00:55:41,457.457 INFO    ] Checking for camera pi updates...
[2026-08-29 00:55:41,480.480 INFO    ] 200
[2026-08-29 00:55:41,481.481 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:55:41,506.506 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:55:41,586.586 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:55:41,587.587 INFO    ] No camera update needed
[2026-08-29 00:55:41,589.589 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:55:41,590.590 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:55:41,593.593 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:55:41,595.595 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:55:43,634.634 INFO    ] ================================================
[2026-08-29 00:55:43,651.651 INFO    ] Launching Daemon at Sat Aug 29 00:55:43 IST 2026
[2026-08-29 00:55:43,662.662 INFO    ] ================================================
[2026-08-29 00:55:44,037.037 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:55:44
[2026-08-29 00:55:44,624.624 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:55:44,875.875 INFO    ] Initializing speech engine...
[2026-08-29 00:55:44,897.897 INFO    ] 2026-08-29 00:55:44
[2026-08-29 00:55:45,154.154 INFO    ] 2026-08-29 00:55:45
[2026-08-29 00:55:45,190.190 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:55:45,367.367 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:55:45,380.380 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:55:45,520.520 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:55:45,533.533 INFO    ] time= 29/08/2026 00:55:45
[2026-08-29 00:55:45,538.538 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:55:45,544.544 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:55:45,610.610 INFO    ] No existing commands found in stream
[2026-08-29 00:55:50,623.623 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:55:50,626.626 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-08-29 00:55:51,838.838 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:55:51,840.840 INFO    ] Checking for system updates...
[2026-08-29 00:55:51,862.862 INFO    ] 200
[2026-08-29 00:55:51,863.863 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:55:51,893.893 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:55:51,894.894 INFO    ] No update needed
[2026-08-29 00:55:51,895.895 INFO    ] Checking for camera pi updates...
[2026-08-29 00:55:51,917.917 INFO    ] 200
[2026-08-29 00:55:51,919.919 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:55:51,941.941 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:55:52,041.041 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:55:52,042.042 INFO    ] No camera update needed
[2026-08-29 00:55:52,044.044 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:55:52,045.045 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:55:52,048.048 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:55:52,050.050 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:55:54,091.091 INFO    ] ================================================
[2026-08-29 00:55:54,107.107 INFO    ] Launching Daemon at Sat Aug 29 00:55:54 IST 2026
[2026-08-29 00:55:54,118.118 INFO    ] ================================================
[2026-08-29 00:55:54,472.472 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:55:54
[2026-08-29 00:55:54,782.782 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:55:55,010.010 INFO    ] Initializing speech engine...
[2026-08-29 00:55:55,022.022 INFO    ] 2026-08-29 00:55:55
[2026-08-29 00:55:55,337.337 INFO    ] 2026-08-29 00:55:55
[2026-08-29 00:55:55,422.422 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:55:55,603.603 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:55:55,635.635 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:55:55,816.816 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:55:55,845.845 INFO    ] time= 29/08/2026 00:55:55
[2026-08-29 00:55:55,861.861 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:55:55,872.872 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:55:55,995.995 INFO    ] No existing commands found in stream
[2026-08-29 00:56:01,013.013 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:56:01,017.017 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-08-29 00:56:04,984.984 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:56:04,986.986 INFO    ] Checking for system updates...
[2026-08-29 00:56:05,006.006 INFO    ] 200
[2026-08-29 00:56:05,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:56:05,037.037 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:56:05,038.038 INFO    ] No update needed
[2026-08-29 00:56:05,039.039 INFO    ] Checking for camera pi updates...
[2026-08-29 00:56:05,062.062 INFO    ] 200
[2026-08-29 00:56:05,064.064 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:56:05,088.088 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:56:05,167.167 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:56:05,168.168 INFO    ] No camera update needed
[2026-08-29 00:56:05,170.170 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:56:05,171.171 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:56:05,174.174 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:56:05,177.177 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:56:07,216.216 INFO    ] ================================================
[2026-08-29 00:56:07,233.233 INFO    ] Launching Daemon at Sat Aug 29 00:56:07 IST 2026
[2026-08-29 00:56:07,244.244 INFO    ] ================================================
[2026-08-29 00:56:07,604.604 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:56:07
[2026-08-29 00:56:07,939.939 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:56:08,098.098 INFO    ] Initializing speech engine...
[2026-08-29 00:56:08,109.109 INFO    ] 2026-08-29 00:56:08
[2026-08-29 00:56:08,386.386 INFO    ] 2026-08-29 00:56:08
[2026-08-29 00:56:08,446.446 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:56:08,677.677 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:56:08,687.687 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:56:08,824.824 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:56:08,882.882 INFO    ] time= 29/08/2026 00:56:08
[2026-08-29 00:56:08,948.948 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:56:08,966.966 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:56:09,022.022 INFO    ] No existing commands found in stream
[2026-08-29 00:56:14,035.035 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:56:14,038.038 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-08-29 00:56:15,137.137 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:56:15,139.139 INFO    ] Checking for system updates...
[2026-08-29 00:56:15,159.159 INFO    ] 200
[2026-08-29 00:56:15,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:56:15,194.194 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:56:15,195.195 INFO    ] No update needed
[2026-08-29 00:56:15,196.196 INFO    ] Checking for camera pi updates...
[2026-08-29 00:56:15,217.217 INFO    ] 200
[2026-08-29 00:56:15,218.218 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:56:15,244.244 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:56:15,334.334 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:56:15,335.335 INFO    ] No camera update needed
[2026-08-29 00:56:15,336.336 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:56:15,338.338 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:56:15,341.341 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:56:15,343.343 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:56:17,381.381 INFO    ] ================================================
[2026-08-29 00:56:17,397.397 INFO    ] Launching Daemon at Sat Aug 29 00:56:17 IST 2026
[2026-08-29 00:56:17,408.408 INFO    ] ================================================
[2026-08-29 00:56:17,769.769 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:56:17
[2026-08-29 00:56:18,082.082 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:56:18,212.212 INFO    ] Initializing speech engine...
[2026-08-29 00:56:18,216.216 INFO    ] 2026-08-29 00:56:18
[2026-08-29 00:56:18,435.435 INFO    ] 2026-08-29 00:56:18
[2026-08-29 00:56:18,463.463 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:56:18,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:56:18,635.635 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:56:18,792.792 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:56:18,850.850 INFO    ] time= 29/08/2026 00:56:18
[2026-08-29 00:56:18,900.900 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:56:18,969.969 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:56:19,060.060 INFO    ] No existing commands found in stream
[2026-08-29 00:56:24,082.082 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:56:24,085.085 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-08-29 00:56:27,030.030 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:56:27,031.031 INFO    ] Checking for system updates...
[2026-08-29 00:56:27,054.054 INFO    ] 200
[2026-08-29 00:56:27,055.055 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:56:27,090.090 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:56:27,091.091 INFO    ] No update needed
[2026-08-29 00:56:27,093.093 INFO    ] Checking for camera pi updates...
[2026-08-29 00:56:27,115.115 INFO    ] 200
[2026-08-29 00:56:27,116.116 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:56:27,141.141 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:56:27,200.200 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:56:27,202.202 INFO    ] No camera update needed
[2026-08-29 00:56:27,203.203 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:56:27,204.204 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:56:27,207.207 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:56:27,210.210 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:56:29,251.251 INFO    ] ================================================
[2026-08-29 00:56:29,266.266 INFO    ] Launching Daemon at Sat Aug 29 00:56:29 IST 2026
[2026-08-29 00:56:29,276.276 INFO    ] ================================================
[2026-08-29 00:56:29,634.634 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:56:29
[2026-08-29 00:56:29,946.946 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:56:30,081.081 INFO    ] Initializing speech engine...
[2026-08-29 00:56:30,090.090 INFO    ] 2026-08-29 00:56:30
[2026-08-29 00:56:30,314.314 INFO    ] 2026-08-29 00:56:30
[2026-08-29 00:56:30,344.344 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:56:30,477.477 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:56:30,514.514 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:56:30,647.647 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:56:30,686.686 INFO    ] time= 29/08/2026 00:56:30
[2026-08-29 00:56:30,737.737 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:56:30,770.770 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:56:30,867.867 INFO    ] No existing commands found in stream
[2026-08-29 00:56:35,878.878 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:56:35,881.881 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-08-29 00:56:38,989.989 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:56:38,992.992 INFO    ] Checking for system updates...
[2026-08-29 00:56:39,040.040 INFO    ] 200
[2026-08-29 00:56:39,043.043 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:56:39,101.101 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:56:39,104.104 INFO    ] No update needed
[2026-08-29 00:56:39,106.106 INFO    ] Checking for camera pi updates...
[2026-08-29 00:56:39,130.130 INFO    ] 200
[2026-08-29 00:56:39,132.132 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:56:39,156.156 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:56:39,268.268 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:56:39,270.270 INFO    ] No camera update needed
[2026-08-29 00:56:39,271.271 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:56:39,272.272 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:56:39,275.275 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:56:39,278.278 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:56:41,316.316 INFO    ] ================================================
[2026-08-29 00:56:41,331.331 INFO    ] Launching Daemon at Sat Aug 29 00:56:41 IST 2026
[2026-08-29 00:56:41,341.341 INFO    ] ================================================
[2026-08-29 00:56:41,712.712 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:56:41
[2026-08-29 00:56:42,047.047 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:56:42,226.226 INFO    ] Initializing speech engine...
[2026-08-29 00:56:42,236.236 INFO    ] 2026-08-29 00:56:42
[2026-08-29 00:56:42,500.500 INFO    ] 2026-08-29 00:56:42
[2026-08-29 00:56:42,545.545 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:56:42,716.716 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:56:42,729.729 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:56:42,874.874 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:56:42,883.883 INFO    ] time= 29/08/2026 00:56:42
[2026-08-29 00:56:42,890.890 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:56:42,949.949 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:56:43,060.060 INFO    ] No existing commands found in stream
[2026-08-29 00:56:48,086.086 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:56:48,089.089 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-08-29 00:56:51,508.508 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:56:51,510.510 INFO    ] Checking for system updates...
[2026-08-29 00:56:51,531.531 INFO    ] 200
[2026-08-29 00:56:51,533.533 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:56:51,565.565 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:56:51,566.566 INFO    ] No update needed
[2026-08-29 00:56:51,567.567 INFO    ] Checking for camera pi updates...
[2026-08-29 00:56:51,586.586 INFO    ] 200
[2026-08-29 00:56:51,587.587 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:56:51,613.613 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:56:51,697.697 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:56:51,698.698 INFO    ] No camera update needed
[2026-08-29 00:56:51,699.699 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:56:51,700.700 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:56:51,703.703 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:56:51,706.706 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:56:53,745.745 INFO    ] ================================================
[2026-08-29 00:56:53,762.762 INFO    ] Launching Daemon at Sat Aug 29 00:56:53 IST 2026
[2026-08-29 00:56:53,773.773 INFO    ] ================================================
[2026-08-29 00:56:54,115.115 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:56:54
[2026-08-29 00:56:54,462.462 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:56:54,607.607 INFO    ] Initializing speech engine...
[2026-08-29 00:56:54,616.616 INFO    ] 2026-08-29 00:56:54
[2026-08-29 00:56:54,868.868 INFO    ] 2026-08-29 00:56:54
[2026-08-29 00:56:54,923.923 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:56:55,063.063 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:56:55,096.096 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:56:55,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:56:55,305.305 INFO    ] time= 29/08/2026 00:56:55
[2026-08-29 00:56:55,323.323 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:56:55,334.334 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:56:55,438.438 INFO    ] No existing commands found in stream
[2026-08-29 00:57:00,471.471 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:57:00,474.474 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 00:57:02,142.142 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:57:02,146.146 INFO    ] Checking for system updates...
[2026-08-29 00:57:02,224.224 INFO    ] 200
[2026-08-29 00:57:02,227.227 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:57:02,336.336 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:57:02,338.338 INFO    ] No update needed
[2026-08-29 00:57:02,341.341 INFO    ] Checking for camera pi updates...
[2026-08-29 00:57:02,379.379 INFO    ] 200
[2026-08-29 00:57:02,382.382 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:57:02,437.437 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:57:02,545.545 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:57:02,549.549 INFO    ] No camera update needed
[2026-08-29 00:57:02,552.552 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:57:02,555.555 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:57:02,563.563 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:57:02,570.570 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:57:04,615.615 INFO    ] ================================================
[2026-08-29 00:57:04,631.631 INFO    ] Launching Daemon at Sat Aug 29 00:57:04 IST 2026
[2026-08-29 00:57:04,641.641 INFO    ] ================================================
[2026-08-29 00:57:05,135.135 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:57:05
[2026-08-29 00:57:05,470.470 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:57:05,624.624 INFO    ] Initializing speech engine...
[2026-08-29 00:57:05,637.637 INFO    ] 2026-08-29 00:57:05
[2026-08-29 00:57:05,837.837 INFO    ] 2026-08-29 00:57:05
[2026-08-29 00:57:05,866.866 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:57:05,990.990 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:57:06,053.053 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:57:06,186.186 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:57:06,242.242 INFO    ] time= 29/08/2026 00:57:06
[2026-08-29 00:57:06,286.286 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:57:06,288.288 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:57:06,360.360 INFO    ] No existing commands found in stream
[2026-08-29 00:57:11,371.371 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:57:11,384.384 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 00:57:13,154.154 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:57:13,156.156 INFO    ] Checking for system updates...
[2026-08-29 00:57:13,177.177 INFO    ] 200
[2026-08-29 00:57:13,179.179 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:57:13,210.210 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:57:13,212.212 INFO    ] No update needed
[2026-08-29 00:57:13,213.213 INFO    ] Checking for camera pi updates...
[2026-08-29 00:57:13,233.233 INFO    ] 200
[2026-08-29 00:57:13,235.235 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:57:13,259.259 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:57:13,451.451 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:57:13,453.453 INFO    ] No camera update needed
[2026-08-29 00:57:13,454.454 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:57:13,455.455 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:57:13,458.458 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:57:13,461.461 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:57:15,498.498 INFO    ] ================================================
[2026-08-29 00:57:15,514.514 INFO    ] Launching Daemon at Sat Aug 29 00:57:15 IST 2026
[2026-08-29 00:57:15,525.525 INFO    ] ================================================
[2026-08-29 00:57:15,884.884 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:57:15
[2026-08-29 00:57:16,223.223 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:57:16,376.376 INFO    ] Initializing speech engine...
[2026-08-29 00:57:16,386.386 INFO    ] 2026-08-29 00:57:16
[2026-08-29 00:57:16,587.587 INFO    ] 2026-08-29 00:57:16
[2026-08-29 00:57:16,616.616 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:57:16,799.799 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:57:16,803.803 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:57:16,939.939 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:57:17,007.007 INFO    ] time= 29/08/2026 00:57:16
[2026-08-29 00:57:17,032.032 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:57:17,038.038 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:57:17,105.105 INFO    ] No existing commands found in stream
[2026-08-29 00:57:22,116.116 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:57:22,124.124 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-08-29 00:57:24,218.218 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 00:57:24,220.220 INFO    ] Checking for system updates...
[2026-08-29 00:57:24,244.244 INFO    ] 200
[2026-08-29 00:57:24,246.246 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:57:24,276.276 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:57:24,277.277 INFO    ] No update needed
[2026-08-29 00:57:24,279.279 INFO    ] Checking for camera pi updates...
[2026-08-29 00:57:24,298.298 INFO    ] 200
[2026-08-29 00:57:24,300.300 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:57:24,325.325 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:57:24,405.405 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:57:24,406.406 INFO    ] No camera update needed
[2026-08-29 00:57:24,408.408 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:57:24,409.409 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:57:24,412.412 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:57:24,415.415 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:57:26,456.456 INFO    ] ================================================
[2026-08-29 00:57:26,473.473 INFO    ] Launching Daemon at Sat Aug 29 00:57:26 IST 2026
[2026-08-29 00:57:26,483.483 INFO    ] ================================================
[2026-08-29 00:57:26,869.869 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:57:26
[2026-08-29 00:57:27,208.208 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:57:27,365.365 INFO    ] Initializing speech engine...
[2026-08-29 00:57:27,373.373 INFO    ] 2026-08-29 00:57:27
[2026-08-29 00:57:27,600.600 INFO    ] 2026-08-29 00:57:27
[2026-08-29 00:57:27,655.655 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:57:27,826.826 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:57:27,834.834 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:57:28,000.000 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:57:28,061.061 INFO    ] time= 29/08/2026 00:57:28
[2026-08-29 00:57:28,069.069 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:57:28,086.086 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:57:28,196.196 INFO    ] No existing commands found in stream
[2026-08-29 00:57:33,214.214 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:57:33,217.217 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-08-29 00:57:36,304.304 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:57:36,305.305 INFO    ] Checking for system updates...
[2026-08-29 00:57:36,326.326 INFO    ] 200
[2026-08-29 00:57:36,327.327 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:57:36,360.360 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:57:36,361.361 INFO    ] No update needed
[2026-08-29 00:57:36,362.362 INFO    ] Checking for camera pi updates...
[2026-08-29 00:57:36,383.383 INFO    ] 200
[2026-08-29 00:57:36,384.384 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:57:36,407.407 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:57:36,485.485 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:57:36,487.487 INFO    ] No camera update needed
[2026-08-29 00:57:36,488.488 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:57:36,489.489 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:57:36,492.492 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:57:36,495.495 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:57:38,533.533 INFO    ] ================================================
[2026-08-29 00:57:38,555.555 INFO    ] Launching Daemon at Sat Aug 29 00:57:38 IST 2026
[2026-08-29 00:57:38,566.566 INFO    ] ================================================
[2026-08-29 00:57:38,896.896 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:57:38
[2026-08-29 00:57:39,208.208 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:57:39,345.345 INFO    ] Initializing speech engine...
[2026-08-29 00:57:39,356.356 INFO    ] 2026-08-29 00:57:39
[2026-08-29 00:57:39,579.579 INFO    ] 2026-08-29 00:57:39
[2026-08-29 00:57:39,660.660 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:57:39,812.812 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:57:39,821.821 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:57:39,960.960 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:57:40,014.014 INFO    ] time= 29/08/2026 00:57:39
[2026-08-29 00:57:40,073.073 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:57:40,090.090 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:57:40,140.140 INFO    ] No existing commands found in stream
[2026-08-29 00:57:45,152.152 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:57:45,155.155 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-08-29 00:57:46,019.019 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:57:46,021.021 INFO    ] Checking for system updates...
[2026-08-29 00:57:46,041.041 INFO    ] 200
[2026-08-29 00:57:46,043.043 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:57:46,075.075 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:57:46,076.076 INFO    ] No update needed
[2026-08-29 00:57:46,078.078 INFO    ] Checking for camera pi updates...
[2026-08-29 00:57:46,098.098 INFO    ] 200
[2026-08-29 00:57:46,099.099 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:57:46,124.124 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:57:46,209.209 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:57:46,210.210 INFO    ] No camera update needed
[2026-08-29 00:57:46,211.211 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:57:46,212.212 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:57:46,215.215 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:57:46,218.218 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:57:48,251.251 INFO    ] ================================================
[2026-08-29 00:57:48,260.260 INFO    ] Launching Daemon at Sat Aug 29 00:57:48 IST 2026
[2026-08-29 00:57:48,267.267 INFO    ] ================================================
[2026-08-29 00:57:48,837.837 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:57:48
[2026-08-29 00:57:49,461.461 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:57:49,740.740 INFO    ] Initializing speech engine...
[2026-08-29 00:57:49,747.747 INFO    ] 2026-08-29 00:57:49
[2026-08-29 00:57:50,010.010 INFO    ] 2026-08-29 00:57:50
[2026-08-29 00:57:50,063.063 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:57:50,317.317 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:57:50,322.322 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:57:50,433.433 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:57:50,470.470 INFO    ] time= 29/08/2026 00:57:50
[2026-08-29 00:57:50,530.530 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:57:50,570.570 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:57:50,626.626 INFO    ] No existing commands found in stream
[2026-08-29 00:57:55,637.637 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:57:55,640.640 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-08-29 00:57:59,877.877 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:57:59,878.878 INFO    ] Checking for system updates...
[2026-08-29 00:57:59,901.901 INFO    ] 200
[2026-08-29 00:57:59,902.902 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:57:59,933.933 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:57:59,935.935 INFO    ] No update needed
[2026-08-29 00:57:59,936.936 INFO    ] Checking for camera pi updates...
[2026-08-29 00:57:59,955.955 INFO    ] 200
[2026-08-29 00:57:59,957.957 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:57:59,981.981 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:58:00,057.057 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:58:00,058.058 INFO    ] No camera update needed
[2026-08-29 00:58:00,060.060 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:58:00,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:58:00,064.064 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:58:00,067.067 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:58:02,108.108 INFO    ] ================================================
[2026-08-29 00:58:02,131.131 INFO    ] Launching Daemon at Sat Aug 29 00:58:02 IST 2026
[2026-08-29 00:58:02,148.148 INFO    ] ================================================
[2026-08-29 00:58:02,806.806 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:58:02
[2026-08-29 00:58:03,487.487 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:58:03,763.763 INFO    ] Initializing speech engine...
[2026-08-29 00:58:03,772.772 INFO    ] 2026-08-29 00:58:03
[2026-08-29 00:58:04,024.024 INFO    ] 2026-08-29 00:58:04
[2026-08-29 00:58:04,060.060 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:58:04,234.234 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:58:04,246.246 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:58:04,386.386 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:58:04,395.395 INFO    ] time= 29/08/2026 00:58:04
[2026-08-29 00:58:04,401.401 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:58:04,407.407 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:58:04,538.538 INFO    ] No existing commands found in stream
[2026-08-29 00:58:09,573.573 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:58:09,576.576 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-08-29 00:58:10,930.930 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:58:10,931.931 INFO    ] Checking for system updates...
[2026-08-29 00:58:10,953.953 INFO    ] 200
[2026-08-29 00:58:10,954.954 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:58:10,988.988 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:58:10,990.990 INFO    ] No update needed
[2026-08-29 00:58:10,991.991 INFO    ] Checking for camera pi updates...
[2026-08-29 00:58:11,013.013 INFO    ] 200
[2026-08-29 00:58:11,014.014 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:58:11,039.039 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:58:11,113.113 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:58:11,115.115 INFO    ] No camera update needed
[2026-08-29 00:58:11,116.116 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:58:11,117.117 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:58:11,120.120 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:58:11,123.123 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:58:13,164.164 INFO    ] ================================================
[2026-08-29 00:58:13,180.180 INFO    ] Launching Daemon at Sat Aug 29 00:58:13 IST 2026
[2026-08-29 00:58:13,190.190 INFO    ] ================================================
[2026-08-29 00:58:13,551.551 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:58:13
[2026-08-29 00:58:13,863.863 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:58:13,998.998 INFO    ] Initializing speech engine...
[2026-08-29 00:58:14,001.001 INFO    ] 2026-08-29 00:58:13
[2026-08-29 00:58:14,231.231 INFO    ] 2026-08-29 00:58:14
[2026-08-29 00:58:14,261.261 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:58:14,395.395 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:58:14,453.453 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:58:14,603.603 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:58:14,648.648 INFO    ] time= 29/08/2026 00:58:14
[2026-08-29 00:58:14,697.697 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:58:14,702.702 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:58:14,778.778 INFO    ] No existing commands found in stream
[2026-08-29 00:58:19,787.787 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:58:19,790.790 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-08-29 00:58:23,773.773 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:58:23,774.774 INFO    ] Checking for system updates...
[2026-08-29 00:58:23,795.795 INFO    ] 200
[2026-08-29 00:58:23,796.796 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:58:23,829.829 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:58:23,830.830 INFO    ] No update needed
[2026-08-29 00:58:23,832.832 INFO    ] Checking for camera pi updates...
[2026-08-29 00:58:23,854.854 INFO    ] 200
[2026-08-29 00:58:23,855.855 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:58:23,879.879 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:58:23,984.984 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:58:23,986.986 INFO    ] No camera update needed
[2026-08-29 00:58:23,987.987 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:58:23,988.988 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:58:23,991.991 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:58:23,995.995 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:58:26,033.033 INFO    ] ================================================
[2026-08-29 00:58:26,048.048 INFO    ] Launching Daemon at Sat Aug 29 00:58:26 IST 2026
[2026-08-29 00:58:26,060.060 INFO    ] ================================================
[2026-08-29 00:58:26,665.665 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:58:26
[2026-08-29 00:58:27,345.345 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:58:27,657.657 INFO    ] Initializing speech engine...
[2026-08-29 00:58:27,671.671 INFO    ] 2026-08-29 00:58:27
[2026-08-29 00:58:27,949.949 INFO    ] 2026-08-29 00:58:27
[2026-08-29 00:58:28,005.005 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:58:28,236.236 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:58:28,246.246 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:58:28,384.384 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:58:28,437.437 INFO    ] time= 29/08/2026 00:58:28
[2026-08-29 00:58:28,497.497 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:58:28,527.527 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:58:28,652.652 INFO    ] No existing commands found in stream
[2026-08-29 00:58:33,678.678 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:58:33,681.681 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 00:58:34,894.894 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:58:34,897.897 INFO    ] Checking for system updates...
[2026-08-29 00:58:34,932.932 INFO    ] 200
[2026-08-29 00:58:34,935.935 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:58:34,991.991 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:58:34,994.994 INFO    ] No update needed
[2026-08-29 00:58:34,996.996 INFO    ] Checking for camera pi updates...
[2026-08-29 00:58:35,030.030 INFO    ] 200
[2026-08-29 00:58:35,033.033 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:58:35,079.079 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:58:35,160.160 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:58:35,163.163 INFO    ] No camera update needed
[2026-08-29 00:58:35,165.165 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:58:35,167.167 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:58:35,173.173 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:58:35,178.178 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:58:37,217.217 INFO    ] ================================================
[2026-08-29 00:58:37,233.233 INFO    ] Launching Daemon at Sat Aug 29 00:58:37 IST 2026
[2026-08-29 00:58:37,244.244 INFO    ] ================================================
[2026-08-29 00:58:37,614.614 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:58:37
[2026-08-29 00:58:38,177.177 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:58:38,450.450 INFO    ] Initializing speech engine...
[2026-08-29 00:58:38,459.459 INFO    ] 2026-08-29 00:58:38
[2026-08-29 00:58:38,709.709 INFO    ] 2026-08-29 00:58:38
[2026-08-29 00:58:38,745.745 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:58:38,922.922 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:58:38,933.933 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:58:39,046.046 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:58:39,065.065 INFO    ] time= 29/08/2026 00:58:39
[2026-08-29 00:58:39,088.088 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:58:39,093.093 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:58:39,161.161 INFO    ] No existing commands found in stream
[2026-08-29 00:58:44,174.174 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:58:44,176.176 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-08-29 00:58:45,826.826 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:58:45,828.828 INFO    ] Checking for system updates...
[2026-08-29 00:58:45,848.848 INFO    ] 200
[2026-08-29 00:58:45,850.850 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:58:45,880.880 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:58:45,881.881 INFO    ] No update needed
[2026-08-29 00:58:45,882.882 INFO    ] Checking for camera pi updates...
[2026-08-29 00:58:45,903.903 INFO    ] 200
[2026-08-29 00:58:45,904.904 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:58:45,929.929 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:58:45,975.975 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:58:45,976.976 INFO    ] No camera update needed
[2026-08-29 00:58:45,977.977 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:58:45,978.978 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:58:45,982.982 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:58:45,985.985 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:58:48,025.025 INFO    ] ================================================
[2026-08-29 00:58:48,040.040 INFO    ] Launching Daemon at Sat Aug 29 00:58:48 IST 2026
[2026-08-29 00:58:48,051.051 INFO    ] ================================================
[2026-08-29 00:58:48,386.386 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:58:48
[2026-08-29 00:58:48,941.941 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:58:49,218.218 INFO    ] Initializing speech engine...
[2026-08-29 00:58:49,228.228 INFO    ] 2026-08-29 00:58:49
[2026-08-29 00:58:49,501.501 INFO    ] 2026-08-29 00:58:49
[2026-08-29 00:58:49,544.544 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:58:49,765.765 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:58:49,774.774 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:58:49,906.906 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:58:49,928.928 INFO    ] time= 29/08/2026 00:58:49
[2026-08-29 00:58:49,982.982 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:58:50,032.032 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:58:50,098.098 INFO    ] No existing commands found in stream
[2026-08-29 00:58:55,110.110 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:58:55,113.113 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-08-29 00:58:57,286.286 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 00:58:57,287.287 INFO    ] Checking for system updates...
[2026-08-29 00:58:57,309.309 INFO    ] 200
[2026-08-29 00:58:57,310.310 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:58:57,340.340 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:58:57,342.342 INFO    ] No update needed
[2026-08-29 00:58:57,343.343 INFO    ] Checking for camera pi updates...
[2026-08-29 00:58:57,366.366 INFO    ] 200
[2026-08-29 00:58:57,367.367 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:58:57,390.390 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:58:57,466.466 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:58:57,468.468 INFO    ] No camera update needed
[2026-08-29 00:58:57,469.469 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:58:57,470.470 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:58:57,473.473 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:58:57,476.476 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:58:59,516.516 INFO    ] ================================================
[2026-08-29 00:58:59,531.531 INFO    ] Launching Daemon at Sat Aug 29 00:58:59 IST 2026
[2026-08-29 00:58:59,541.541 INFO    ] ================================================
[2026-08-29 00:58:59,916.916 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:58:59
[2026-08-29 00:59:00,231.231 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:59:00,381.381 INFO    ] Initializing speech engine...
[2026-08-29 00:59:00,397.397 INFO    ] 2026-08-29 00:59:00
[2026-08-29 00:59:00,614.614 INFO    ] 2026-08-29 00:59:00
[2026-08-29 00:59:00,722.722 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:59:00,868.868 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:59:00,877.877 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:59:01,008.008 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:59:01,025.025 INFO    ] time= 29/08/2026 00:59:01
[2026-08-29 00:59:01,080.080 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:59:01,129.129 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:59:01,199.199 INFO    ] No existing commands found in stream
[2026-08-29 00:59:06,211.211 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:59:06,214.214 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-08-29 00:59:08,254.254 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 00:59:08,257.257 INFO    ] Checking for system updates...
[2026-08-29 00:59:08,298.298 INFO    ] 200
[2026-08-29 00:59:08,300.300 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:59:08,361.361 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:59:08,364.364 INFO    ] No update needed
[2026-08-29 00:59:08,366.366 INFO    ] Checking for camera pi updates...
[2026-08-29 00:59:08,405.405 INFO    ] 200
[2026-08-29 00:59:08,407.407 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:59:08,456.456 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:59:08,549.549 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:59:08,552.552 INFO    ] No camera update needed
[2026-08-29 00:59:08,555.555 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:59:08,557.557 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:59:08,563.563 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:59:08,568.568 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:59:10,610.610 INFO    ] ================================================
[2026-08-29 00:59:10,625.625 INFO    ] Launching Daemon at Sat Aug 29 00:59:10 IST 2026
[2026-08-29 00:59:10,636.636 INFO    ] ================================================
[2026-08-29 00:59:11,078.078 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:59:11
[2026-08-29 00:59:11,395.395 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:59:11,529.529 INFO    ] Initializing speech engine...
[2026-08-29 00:59:11,534.534 INFO    ] 2026-08-29 00:59:11
[2026-08-29 00:59:11,767.767 INFO    ] 2026-08-29 00:59:11
[2026-08-29 00:59:11,798.798 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:59:11,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:59:11,976.976 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:59:12,124.124 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:59:12,149.149 INFO    ] time= 29/08/2026 00:59:12
[2026-08-29 00:59:12,205.205 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:59:12,240.240 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:59:12,333.333 INFO    ] No existing commands found in stream
[2026-08-29 00:59:17,344.344 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:59:17,347.347 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-08-29 00:59:20,075.075 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:59:20,077.077 INFO    ] Checking for system updates...
[2026-08-29 00:59:20,097.097 INFO    ] 200
[2026-08-29 00:59:20,099.099 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:59:20,131.131 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:59:20,133.133 INFO    ] No update needed
[2026-08-29 00:59:20,134.134 INFO    ] Checking for camera pi updates...
[2026-08-29 00:59:20,154.154 INFO    ] 200
[2026-08-29 00:59:20,156.156 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:59:20,181.181 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:59:20,376.376 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:59:20,377.377 INFO    ] No camera update needed
[2026-08-29 00:59:20,379.379 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:59:20,380.380 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:59:20,384.384 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:59:20,387.387 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:59:22,427.427 INFO    ] ================================================
[2026-08-29 00:59:22,442.442 INFO    ] Launching Daemon at Sat Aug 29 00:59:22 IST 2026
[2026-08-29 00:59:22,453.453 INFO    ] ================================================
[2026-08-29 00:59:22,799.799 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:59:22
[2026-08-29 00:59:23,119.119 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:59:23,254.254 INFO    ] Initializing speech engine...
[2026-08-29 00:59:23,258.258 INFO    ] 2026-08-29 00:59:23
[2026-08-29 00:59:23,475.475 INFO    ] 2026-08-29 00:59:23
[2026-08-29 00:59:23,504.504 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:59:23,657.657 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:59:23,669.669 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:59:23,817.817 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:59:23,872.872 INFO    ] time= 29/08/2026 00:59:23
[2026-08-29 00:59:23,899.899 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:59:23,956.956 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:59:24,056.056 INFO    ] No existing commands found in stream
[2026-08-29 00:59:29,067.067 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:59:29,070.070 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-08-29 00:59:29,444.444 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 00:59:29,446.446 INFO    ] Checking for system updates...
[2026-08-29 00:59:29,467.467 INFO    ] 200
[2026-08-29 00:59:29,468.468 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:59:29,520.520 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:59:29,523.523 INFO    ] No update needed
[2026-08-29 00:59:29,526.526 INFO    ] Checking for camera pi updates...
[2026-08-29 00:59:29,561.561 INFO    ] 200
[2026-08-29 00:59:29,564.564 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:59:29,605.605 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:59:29,693.693 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 00:59:29,696.696 INFO    ] No camera update needed
[2026-08-29 00:59:29,699.699 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:59:29,701.701 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:59:29,708.708 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:59:29,713.713 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:59:31,757.757 INFO    ] ================================================
[2026-08-29 00:59:31,774.774 INFO    ] Launching Daemon at Sat Aug 29 00:59:31 IST 2026
[2026-08-29 00:59:31,787.787 INFO    ] ================================================
[2026-08-29 00:59:32,404.404 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:59:32
[2026-08-29 00:59:32,954.954 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:59:33,231.231 INFO    ] Initializing speech engine...
[2026-08-29 00:59:33,236.236 INFO    ] 2026-08-29 00:59:33
[2026-08-29 00:59:33,487.487 INFO    ] 2026-08-29 00:59:33
[2026-08-29 00:59:33,522.522 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:59:33,696.696 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:59:33,718.718 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:59:33,843.843 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:59:33,856.856 INFO    ] time= 29/08/2026 00:59:33
[2026-08-29 00:59:33,864.864 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:59:33,915.915 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:59:34,034.034 INFO    ] No existing commands found in stream
[2026-08-29 00:59:39,059.059 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:59:39,062.062 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 00:59:41,592.592 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 00:59:41,593.593 INFO    ] Checking for system updates...
[2026-08-29 00:59:41,613.613 INFO    ] 200
[2026-08-29 00:59:41,615.615 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:59:41,648.648 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:59:41,649.649 INFO    ] No update needed
[2026-08-29 00:59:41,650.650 INFO    ] Checking for camera pi updates...
[2026-08-29 00:59:41,671.671 INFO    ] 200
[2026-08-29 00:59:41,672.672 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:59:41,697.697 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:59:41,777.777 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:59:41,778.778 INFO    ] No camera update needed
[2026-08-29 00:59:41,779.779 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:59:41,781.781 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:59:41,784.784 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:59:41,787.787 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:59:43,827.827 INFO    ] ================================================
[2026-08-29 00:59:43,844.844 INFO    ] Launching Daemon at Sat Aug 29 00:59:43 IST 2026
[2026-08-29 00:59:43,855.855 INFO    ] ================================================
[2026-08-29 00:59:44,205.205 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:59:44
[2026-08-29 00:59:44,549.549 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:59:44,702.702 INFO    ] Initializing speech engine...
[2026-08-29 00:59:44,708.708 INFO    ] 2026-08-29 00:59:44
[2026-08-29 00:59:44,917.917 INFO    ] 2026-08-29 00:59:44
[2026-08-29 00:59:44,959.959 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:59:45,121.121 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:59:45,187.187 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:59:45,309.309 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:59:45,372.372 INFO    ] time= 29/08/2026 00:59:45
[2026-08-29 00:59:45,412.412 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:59:45,470.470 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:59:45,603.603 INFO    ] No existing commands found in stream
[2026-08-29 00:59:50,634.634 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 00:59:50,637.637 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-08-29 00:59:53,080.080 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 00:59:53,082.082 INFO    ] Checking for system updates...
[2026-08-29 00:59:53,103.103 INFO    ] 200
[2026-08-29 00:59:53,104.104 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:59:53,134.134 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:59:53,135.135 INFO    ] No update needed
[2026-08-29 00:59:53,137.137 INFO    ] Checking for camera pi updates...
[2026-08-29 00:59:53,157.157 INFO    ] 200
[2026-08-29 00:59:53,159.159 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 00:59:53,184.184 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 00:59:53,265.265 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 00:59:53,267.267 INFO    ] No camera update needed
[2026-08-29 00:59:53,270.270 INFO    ] Script finished. Safe exiting...
[2026-08-29 00:59:53,272.272 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 00:59:53,277.277 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 00:59:53,282.282 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 00:59:55,324.324 INFO    ] ================================================
[2026-08-29 00:59:55,339.339 INFO    ] Launching Daemon at Sat Aug 29 00:59:55 IST 2026
[2026-08-29 00:59:55,351.351 INFO    ] ================================================
[2026-08-29 00:59:55,917.917 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 00:59:55
[2026-08-29 00:59:56,366.366 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 00:59:56,504.504 INFO    ] Initializing speech engine...
[2026-08-29 00:59:56,515.515 INFO    ] 2026-08-29 00:59:56
[2026-08-29 00:59:56,737.737 INFO    ] 2026-08-29 00:59:56
[2026-08-29 00:59:56,813.813 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 00:59:56,973.973 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 00:59:56,982.982 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 00:59:57,117.117 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 00:59:57,134.134 INFO    ] time= 29/08/2026 00:59:57
[2026-08-29 00:59:57,188.188 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 00:59:57,247.247 INFO    ] Checking for existing commands in stream...
[2026-08-29 00:59:57,310.310 INFO    ] No existing commands found in stream
[2026-08-29 01:00:02,322.322 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:00:02,326.326 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-08-29 01:00:07,079.079 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:00:07,081.081 INFO    ] Checking for system updates...
[2026-08-29 01:00:07,117.117 INFO    ] 200
[2026-08-29 01:00:07,119.119 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:00:07,178.178 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:00:07,181.181 INFO    ] No update needed
[2026-08-29 01:00:07,183.183 INFO    ] Checking for camera pi updates...
[2026-08-29 01:00:07,220.220 INFO    ] 200
[2026-08-29 01:00:07,223.223 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:00:07,268.268 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:00:07,349.349 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:00:07,351.351 INFO    ] No camera update needed
[2026-08-29 01:00:07,354.354 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:00:07,356.356 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:00:07,361.361 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:00:07,366.366 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:00:09,408.408 INFO    ] ================================================
[2026-08-29 01:00:09,424.424 INFO    ] Launching Daemon at Sat Aug 29 01:00:09 IST 2026
[2026-08-29 01:00:09,435.435 INFO    ] ================================================
[2026-08-29 01:00:09,791.791 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:00:09
[2026-08-29 01:00:10,108.108 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:00:10,268.268 INFO    ] Initializing speech engine...
[2026-08-29 01:00:10,281.281 INFO    ] 2026-08-29 01:00:10
[2026-08-29 01:00:10,533.533 INFO    ] 2026-08-29 01:00:10
[2026-08-29 01:00:10,568.568 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:00:10,740.740 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:00:10,754.754 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:00:10,895.895 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:00:10,903.903 INFO    ] time= 29/08/2026 01:00:10
[2026-08-29 01:00:10,909.909 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:00:10,957.957 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:00:11,085.085 INFO    ] No existing commands found in stream
[2026-08-29 01:00:16,110.110 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:00:16,114.114 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-08-29 01:00:17,117.117 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:00:17,119.119 INFO    ] Checking for system updates...
[2026-08-29 01:00:17,139.139 INFO    ] 200
[2026-08-29 01:00:17,141.141 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:00:17,173.173 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:00:17,174.174 INFO    ] No update needed
[2026-08-29 01:00:17,176.176 INFO    ] Checking for camera pi updates...
[2026-08-29 01:00:17,196.196 INFO    ] 200
[2026-08-29 01:00:17,197.197 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:00:17,221.221 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:00:17,299.299 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:00:17,300.300 INFO    ] No camera update needed
[2026-08-29 01:00:17,302.302 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:00:17,303.303 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:00:17,306.306 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:00:17,309.309 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:00:19,347.347 INFO    ] ================================================
[2026-08-29 01:00:19,363.363 INFO    ] Launching Daemon at Sat Aug 29 01:00:19 IST 2026
[2026-08-29 01:00:19,375.375 INFO    ] ================================================
[2026-08-29 01:00:19,743.743 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:00:19
[2026-08-29 01:00:20,077.077 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:00:20,316.316 INFO    ] Initializing speech engine...
[2026-08-29 01:00:20,325.325 INFO    ] 2026-08-29 01:00:20
[2026-08-29 01:00:20,572.572 INFO    ] 2026-08-29 01:00:20
[2026-08-29 01:00:20,640.640 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:00:20,807.807 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:00:20,858.858 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:00:21,040.040 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:00:21,094.094 INFO    ] time= 29/08/2026 01:00:21
[2026-08-29 01:00:21,134.134 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:00:21,140.140 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:00:21,255.255 INFO    ] No existing commands found in stream
[2026-08-29 01:00:26,286.286 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:00:26,288.288 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 01:00:29,790.790 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:00:29,792.792 INFO    ] Checking for system updates...
[2026-08-29 01:00:29,813.813 INFO    ] 200
[2026-08-29 01:00:29,815.815 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:00:29,844.844 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:00:29,846.846 INFO    ] No update needed
[2026-08-29 01:00:29,847.847 INFO    ] Checking for camera pi updates...
[2026-08-29 01:00:29,868.868 INFO    ] 200
[2026-08-29 01:00:29,869.869 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:00:29,894.894 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:00:29,979.979 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:00:29,980.980 INFO    ] No camera update needed
[2026-08-29 01:00:29,981.981 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:00:29,983.983 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:00:29,985.985 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:00:29,988.988 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:00:32,028.028 INFO    ] ================================================
[2026-08-29 01:00:32,043.043 INFO    ] Launching Daemon at Sat Aug 29 01:00:32 IST 2026
[2026-08-29 01:00:32,054.054 INFO    ] ================================================
[2026-08-29 01:00:32,591.591 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:00:32
[2026-08-29 01:00:33,214.214 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:00:33,497.497 INFO    ] Initializing speech engine...
[2026-08-29 01:00:33,503.503 INFO    ] 2026-08-29 01:00:33
[2026-08-29 01:00:33,800.800 INFO    ] 2026-08-29 01:00:33
[2026-08-29 01:00:33,835.835 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:00:33,981.981 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:00:33,989.989 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:00:34,140.140 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:00:34,150.150 INFO    ] time= 29/08/2026 01:00:34
[2026-08-29 01:00:34,157.157 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:00:34,179.179 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:00:34,232.232 INFO    ] No existing commands found in stream
[2026-08-29 01:00:39,243.243 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:00:39,246.246 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-08-29 01:00:39,893.893 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:00:39,894.894 INFO    ] Checking for system updates...
[2026-08-29 01:00:39,916.916 INFO    ] 200
[2026-08-29 01:00:39,918.918 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:00:39,947.947 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:00:39,949.949 INFO    ] No update needed
[2026-08-29 01:00:39,950.950 INFO    ] Checking for camera pi updates...
[2026-08-29 01:00:39,970.970 INFO    ] 200
[2026-08-29 01:00:39,972.972 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:00:39,996.996 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:00:40,085.085 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:00:40,086.086 INFO    ] No camera update needed
[2026-08-29 01:00:40,088.088 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:00:40,089.089 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:00:40,092.092 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:00:40,094.094 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:00:42,133.133 INFO    ] ================================================
[2026-08-29 01:00:42,149.149 INFO    ] Launching Daemon at Sat Aug 29 01:00:42 IST 2026
[2026-08-29 01:00:42,160.160 INFO    ] ================================================
[2026-08-29 01:00:42,513.513 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:00:42
[2026-08-29 01:00:42,827.827 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:00:42,961.961 INFO    ] Initializing speech engine...
[2026-08-29 01:00:42,968.968 INFO    ] 2026-08-29 01:00:42
[2026-08-29 01:00:43,190.190 INFO    ] 2026-08-29 01:00:43
[2026-08-29 01:00:43,221.221 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:00:43,385.385 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:00:43,393.393 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:00:43,538.538 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:00:43,545.545 INFO    ] time= 29/08/2026 01:00:43
[2026-08-29 01:00:43,565.565 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:00:43,588.588 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:00:43,693.693 INFO    ] No existing commands found in stream
[2026-08-29 01:00:48,718.718 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:00:48,721.721 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-08-29 01:00:51,356.356 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:00:51,358.358 INFO    ] Checking for system updates...
[2026-08-29 01:00:51,379.379 INFO    ] 200
[2026-08-29 01:00:51,380.380 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:00:51,410.410 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:00:51,411.411 INFO    ] No update needed
[2026-08-29 01:00:51,413.413 INFO    ] Checking for camera pi updates...
[2026-08-29 01:00:51,432.432 INFO    ] 200
[2026-08-29 01:00:51,433.433 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:00:51,458.458 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:00:51,533.533 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:00:51,536.536 INFO    ] No camera update needed
[2026-08-29 01:00:51,538.538 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:00:51,540.540 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:00:51,546.546 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:00:51,551.551 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:00:53,592.592 INFO    ] ================================================
[2026-08-29 01:00:53,607.607 INFO    ] Launching Daemon at Sat Aug 29 01:00:53 IST 2026
[2026-08-29 01:00:53,618.618 INFO    ] ================================================
[2026-08-29 01:00:54,200.200 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:00:54
[2026-08-29 01:00:54,666.666 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:00:54,899.899 INFO    ] Initializing speech engine...
[2026-08-29 01:00:54,908.908 INFO    ] 2026-08-29 01:00:54
[2026-08-29 01:00:55,158.158 INFO    ] 2026-08-29 01:00:55
[2026-08-29 01:00:55,224.224 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:00:55,391.391 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:00:55,448.448 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:00:55,588.588 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:00:55,610.610 INFO    ] time= 29/08/2026 01:00:55
[2026-08-29 01:00:55,669.669 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:00:55,720.720 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:00:55,791.791 INFO    ] No existing commands found in stream
[2026-08-29 01:01:00,827.827 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:01:00,830.830 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-08-29 01:01:02,687.687 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:01:02,690.690 INFO    ] Checking for system updates...
[2026-08-29 01:01:02,732.732 INFO    ] 200
[2026-08-29 01:01:02,735.735 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:01:02,806.806 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:01:02,809.809 INFO    ] No update needed
[2026-08-29 01:01:02,811.811 INFO    ] Checking for camera pi updates...
[2026-08-29 01:01:02,845.845 INFO    ] 200
[2026-08-29 01:01:02,847.847 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:01:02,888.888 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:01:02,972.972 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:01:02,974.974 INFO    ] No camera update needed
[2026-08-29 01:01:02,977.977 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:01:02,979.979 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:01:02,984.984 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:01:02,989.989 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:01:05,030.030 INFO    ] ================================================
[2026-08-29 01:01:05,045.045 INFO    ] Launching Daemon at Sat Aug 29 01:01:05 IST 2026
[2026-08-29 01:01:05,057.057 INFO    ] ================================================
[2026-08-29 01:01:05,415.415 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:01:05
[2026-08-29 01:01:05,728.728 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:01:05,955.955 INFO    ] Initializing speech engine...
[2026-08-29 01:01:05,963.963 INFO    ] 2026-08-29 01:01:05
[2026-08-29 01:01:06,219.219 INFO    ] 2026-08-29 01:01:06
[2026-08-29 01:01:06,250.250 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:01:06,500.500 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:01:06,507.507 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:01:06,640.640 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:01:06,695.695 INFO    ] time= 29/08/2026 01:01:06
[2026-08-29 01:01:06,763.763 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:01:06,775.775 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:01:06,910.910 INFO    ] No existing commands found in stream
[2026-08-29 01:01:11,931.931 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:01:11,934.934 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-08-29 01:01:14,448.448 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:01:14,451.451 INFO    ] Checking for system updates...
[2026-08-29 01:01:14,490.490 INFO    ] 200
[2026-08-29 01:01:14,492.492 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:01:14,523.523 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:01:14,524.524 INFO    ] No update needed
[2026-08-29 01:01:14,526.526 INFO    ] Checking for camera pi updates...
[2026-08-29 01:01:14,546.546 INFO    ] 200
[2026-08-29 01:01:14,547.547 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:01:14,573.573 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:01:14,651.651 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:01:14,653.653 INFO    ] No camera update needed
[2026-08-29 01:01:14,654.654 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:01:14,655.655 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:01:14,659.659 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:01:14,661.661 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:01:16,702.702 INFO    ] ================================================
[2026-08-29 01:01:16,718.718 INFO    ] Launching Daemon at Sat Aug 29 01:01:16 IST 2026
[2026-08-29 01:01:16,729.729 INFO    ] ================================================
[2026-08-29 01:01:17,090.090 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:01:17
[2026-08-29 01:01:17,429.429 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:01:17,580.580 INFO    ] Initializing speech engine...
[2026-08-29 01:01:17,585.585 INFO    ] 2026-08-29 01:01:17
[2026-08-29 01:01:17,794.794 INFO    ] 2026-08-29 01:01:17
[2026-08-29 01:01:17,823.823 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:01:17,946.946 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:01:17,999.999 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:01:18,147.147 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:01:18,206.206 INFO    ] time= 29/08/2026 01:01:18
[2026-08-29 01:01:18,238.238 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:01:18,245.245 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:01:18,311.311 INFO    ] No existing commands found in stream
[2026-08-29 01:01:23,322.322 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:01:23,325.325 INFO    ] Waiting 2.52 seconds before fallback handling...
[2026-08-29 01:01:26,197.197 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:01:26,198.198 INFO    ] Checking for system updates...
[2026-08-29 01:01:26,220.220 INFO    ] 200
[2026-08-29 01:01:26,222.222 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:01:26,254.254 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:01:26,255.255 INFO    ] No update needed
[2026-08-29 01:01:26,257.257 INFO    ] Checking for camera pi updates...
[2026-08-29 01:01:26,277.277 INFO    ] 200
[2026-08-29 01:01:26,278.278 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:01:26,303.303 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:01:26,485.485 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:01:26,486.486 INFO    ] No camera update needed
[2026-08-29 01:01:26,488.488 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:01:26,489.489 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:01:26,492.492 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:01:26,495.495 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:01:28,537.537 INFO    ] ================================================
[2026-08-29 01:01:28,552.552 INFO    ] Launching Daemon at Sat Aug 29 01:01:28 IST 2026
[2026-08-29 01:01:28,564.564 INFO    ] ================================================
[2026-08-29 01:01:28,932.932 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:01:28
[2026-08-29 01:01:29,245.245 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:01:29,375.375 INFO    ] Initializing speech engine...
[2026-08-29 01:01:29,379.379 INFO    ] 2026-08-29 01:01:29
[2026-08-29 01:01:29,603.603 INFO    ] 2026-08-29 01:01:29
[2026-08-29 01:01:29,689.689 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:01:29,840.840 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:01:29,849.849 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:01:29,985.985 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:01:30,006.006 INFO    ] time= 29/08/2026 01:01:29
[2026-08-29 01:01:30,060.060 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:01:30,114.114 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:01:30,176.176 INFO    ] No existing commands found in stream
[2026-08-29 01:01:35,188.188 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:01:35,190.190 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-08-29 01:01:39,026.026 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:01:39,028.028 INFO    ] Checking for system updates...
[2026-08-29 01:01:39,048.048 INFO    ] 200
[2026-08-29 01:01:39,049.049 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:01:39,081.081 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:01:39,082.082 INFO    ] No update needed
[2026-08-29 01:01:39,083.083 INFO    ] Checking for camera pi updates...
[2026-08-29 01:01:39,103.103 INFO    ] 200
[2026-08-29 01:01:39,104.104 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:01:39,126.126 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:01:39,215.215 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:01:39,216.216 INFO    ] No camera update needed
[2026-08-29 01:01:39,217.217 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:01:39,219.219 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:01:39,221.221 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:01:39,224.224 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:01:41,265.265 INFO    ] ================================================
[2026-08-29 01:01:41,281.281 INFO    ] Launching Daemon at Sat Aug 29 01:01:41 IST 2026
[2026-08-29 01:01:41,291.291 INFO    ] ================================================
[2026-08-29 01:01:41,659.659 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:01:41
[2026-08-29 01:01:41,976.976 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:01:42,120.120 INFO    ] Initializing speech engine...
[2026-08-29 01:01:42,126.126 INFO    ] 2026-08-29 01:01:42
[2026-08-29 01:01:42,311.311 INFO    ] 2026-08-29 01:01:42
[2026-08-29 01:01:42,363.363 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:01:42,585.585 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:01:42,595.595 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:01:42,727.727 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:01:42,749.749 INFO    ] time= 29/08/2026 01:01:42
[2026-08-29 01:01:42,824.824 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:01:42,861.861 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:01:42,913.913 INFO    ] No existing commands found in stream
[2026-08-29 01:01:47,925.925 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:01:47,928.928 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 01:01:51,367.367 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:01:51,369.369 INFO    ] Checking for system updates...
[2026-08-29 01:01:51,390.390 INFO    ] 200
[2026-08-29 01:01:51,392.392 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:01:51,422.422 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:01:51,424.424 INFO    ] No update needed
[2026-08-29 01:01:51,425.425 INFO    ] Checking for camera pi updates...
[2026-08-29 01:01:51,446.446 INFO    ] 200
[2026-08-29 01:01:51,448.448 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:01:51,474.474 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:01:51,552.552 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:01:51,553.553 INFO    ] No camera update needed
[2026-08-29 01:01:51,555.555 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:01:51,556.556 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:01:51,559.559 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:01:51,561.561 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:01:53,600.600 INFO    ] ================================================
[2026-08-29 01:01:53,616.616 INFO    ] Launching Daemon at Sat Aug 29 01:01:53 IST 2026
[2026-08-29 01:01:53,633.633 INFO    ] ================================================
[2026-08-29 01:01:53,970.970 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:01:53
[2026-08-29 01:01:54,282.282 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:01:54,414.414 INFO    ] Initializing speech engine...
[2026-08-29 01:01:54,425.425 INFO    ] 2026-08-29 01:01:54
[2026-08-29 01:01:54,618.618 INFO    ] 2026-08-29 01:01:54
[2026-08-29 01:01:54,648.648 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:01:54,815.815 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:01:54,841.841 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:01:54,973.973 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:01:54,981.981 INFO    ] time= 29/08/2026 01:01:54
[2026-08-29 01:01:54,988.988 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:01:55,009.009 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:01:55,132.132 INFO    ] No existing commands found in stream
[2026-08-29 01:02:00,162.162 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:02:00,165.165 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-08-29 01:02:03,125.125 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:02:03,128.128 INFO    ] Checking for system updates...
[2026-08-29 01:02:03,174.174 INFO    ] 200
[2026-08-29 01:02:03,177.177 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:02:03,253.253 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:02:03,259.259 INFO    ] No update needed
[2026-08-29 01:02:03,263.263 INFO    ] Checking for camera pi updates...
[2026-08-29 01:02:03,313.313 INFO    ] 200
[2026-08-29 01:02:03,316.316 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:02:03,374.374 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:02:03,493.493 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:02:03,495.495 INFO    ] No camera update needed
[2026-08-29 01:02:03,498.498 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:02:03,500.500 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:02:03,505.505 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:02:03,511.511 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:02:05,546.546 INFO    ] ================================================
[2026-08-29 01:02:05,555.555 INFO    ] Launching Daemon at Sat Aug 29 01:02:05 IST 2026
[2026-08-29 01:02:05,561.561 INFO    ] ================================================
[2026-08-29 01:02:06,095.095 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:02:06
[2026-08-29 01:02:06,717.717 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:02:06,985.985 INFO    ] Initializing speech engine...
[2026-08-29 01:02:07,001.001 INFO    ] 2026-08-29 01:02:06
[2026-08-29 01:02:07,284.284 INFO    ] 2026-08-29 01:02:07
[2026-08-29 01:02:07,322.322 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:02:07,514.514 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:02:07,518.518 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:02:07,647.647 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:02:07,659.659 INFO    ] time= 29/08/2026 01:02:07
[2026-08-29 01:02:07,694.694 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:02:07,704.704 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:02:07,780.780 INFO    ] No existing commands found in stream
[2026-08-29 01:02:12,793.793 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:02:12,795.795 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-08-29 01:02:14,572.572 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:02:14,574.574 INFO    ] Checking for system updates...
[2026-08-29 01:02:14,595.595 INFO    ] 200
[2026-08-29 01:02:14,596.596 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:02:14,626.626 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:02:14,628.628 INFO    ] No update needed
[2026-08-29 01:02:14,629.629 INFO    ] Checking for camera pi updates...
[2026-08-29 01:02:14,649.649 INFO    ] 200
[2026-08-29 01:02:14,650.650 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:02:14,674.674 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:02:14,794.794 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:02:14,795.795 INFO    ] No camera update needed
[2026-08-29 01:02:14,796.796 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:02:14,798.798 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:02:14,800.800 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:02:14,803.803 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:02:16,842.842 INFO    ] ================================================
[2026-08-29 01:02:16,858.858 INFO    ] Launching Daemon at Sat Aug 29 01:02:16 IST 2026
[2026-08-29 01:02:16,869.869 INFO    ] ================================================
[2026-08-29 01:02:17,449.449 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:02:17
[2026-08-29 01:02:18,047.047 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:02:18,320.320 INFO    ] Initializing speech engine...
[2026-08-29 01:02:18,328.328 INFO    ] 2026-08-29 01:02:18
[2026-08-29 01:02:18,578.578 INFO    ] 2026-08-29 01:02:18
[2026-08-29 01:02:18,614.614 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:02:18,757.757 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:02:18,760.760 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:02:18,893.893 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:02:18,903.903 INFO    ] time= 29/08/2026 01:02:18
[2026-08-29 01:02:18,918.918 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:02:18,922.922 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:02:18,993.993 INFO    ] No existing commands found in stream
[2026-08-29 01:02:24,027.027 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:02:24,030.030 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-08-29 01:02:25,420.420 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:02:25,421.421 INFO    ] Checking for system updates...
[2026-08-29 01:02:25,442.442 INFO    ] 200
[2026-08-29 01:02:25,443.443 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:02:25,474.474 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:02:25,475.475 INFO    ] No update needed
[2026-08-29 01:02:25,476.476 INFO    ] Checking for camera pi updates...
[2026-08-29 01:02:25,495.495 INFO    ] 200
[2026-08-29 01:02:25,497.497 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:02:25,520.520 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:02:25,644.644 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:02:25,645.645 INFO    ] No camera update needed
[2026-08-29 01:02:25,646.646 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:02:25,648.648 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:02:25,650.650 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:02:25,653.653 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:02:27,693.693 INFO    ] ================================================
[2026-08-29 01:02:27,709.709 INFO    ] Launching Daemon at Sat Aug 29 01:02:27 IST 2026
[2026-08-29 01:02:27,720.720 INFO    ] ================================================
[2026-08-29 01:02:28,225.225 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:02:28
[2026-08-29 01:02:28,875.875 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:02:29,173.173 INFO    ] Initializing speech engine...
[2026-08-29 01:02:29,187.187 INFO    ] 2026-08-29 01:02:29
[2026-08-29 01:02:29,470.470 INFO    ] 2026-08-29 01:02:29
[2026-08-29 01:02:29,578.578 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:02:29,732.732 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:02:29,738.738 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:02:29,873.873 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:02:29,944.944 INFO    ] time= 29/08/2026 01:02:29
[2026-08-29 01:02:30,001.001 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:02:30,020.020 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:02:30,134.134 INFO    ] No existing commands found in stream
[2026-08-29 01:02:35,162.162 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:02:35,166.166 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-08-29 01:02:39,176.176 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:02:39,177.177 INFO    ] Checking for system updates...
[2026-08-29 01:02:39,198.198 INFO    ] 200
[2026-08-29 01:02:39,199.199 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:02:39,232.232 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:02:39,233.233 INFO    ] No update needed
[2026-08-29 01:02:39,234.234 INFO    ] Checking for camera pi updates...
[2026-08-29 01:02:39,253.253 INFO    ] 200
[2026-08-29 01:02:39,255.255 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:02:39,279.279 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:02:39,365.365 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:02:39,367.367 INFO    ] No camera update needed
[2026-08-29 01:02:39,368.368 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:02:39,369.369 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:02:39,372.372 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:02:39,375.375 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:02:41,414.414 INFO    ] ================================================
[2026-08-29 01:02:41,430.430 INFO    ] Launching Daemon at Sat Aug 29 01:02:41 IST 2026
[2026-08-29 01:02:41,441.441 INFO    ] ================================================
[2026-08-29 01:02:42,047.047 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:02:42
[2026-08-29 01:02:42,699.699 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:02:42,995.995 INFO    ] Initializing speech engine...
[2026-08-29 01:02:43,003.003 INFO    ] 2026-08-29 01:02:42
[2026-08-29 01:02:43,300.300 INFO    ] 2026-08-29 01:02:43
[2026-08-29 01:02:43,348.348 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:02:43,505.505 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:02:43,525.525 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:02:43,654.654 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:02:43,664.664 INFO    ] time= 29/08/2026 01:02:43
[2026-08-29 01:02:43,670.670 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:02:43,717.717 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:02:43,856.856 INFO    ] No existing commands found in stream
[2026-08-29 01:02:48,878.878 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:02:48,881.881 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-08-29 01:02:53,786.786 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:02:53,787.787 INFO    ] Checking for system updates...
[2026-08-29 01:02:53,808.808 INFO    ] 200
[2026-08-29 01:02:53,809.809 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:02:53,841.841 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:02:53,843.843 INFO    ] No update needed
[2026-08-29 01:02:53,845.845 INFO    ] Checking for camera pi updates...
[2026-08-29 01:02:53,865.865 INFO    ] 200
[2026-08-29 01:02:53,866.866 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:02:53,889.889 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:02:54,010.010 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:02:54,013.013 INFO    ] No camera update needed
[2026-08-29 01:02:54,015.015 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:02:54,017.017 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:02:54,023.023 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:02:54,028.028 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:02:56,068.068 INFO    ] ================================================
[2026-08-29 01:02:56,084.084 INFO    ] Launching Daemon at Sat Aug 29 01:02:56 IST 2026
[2026-08-29 01:02:56,096.096 INFO    ] ================================================
[2026-08-29 01:02:56,666.666 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:02:56
[2026-08-29 01:02:57,165.165 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:02:57,295.295 INFO    ] Initializing speech engine...
[2026-08-29 01:02:57,299.299 INFO    ] 2026-08-29 01:02:57
[2026-08-29 01:02:57,517.517 INFO    ] 2026-08-29 01:02:57
[2026-08-29 01:02:57,547.547 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:02:57,697.697 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:02:57,705.705 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:02:57,861.861 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:02:57,909.909 INFO    ] time= 29/08/2026 01:02:57
[2026-08-29 01:02:57,916.916 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:02:57,935.935 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:02:58,036.036 INFO    ] No existing commands found in stream
[2026-08-29 01:03:03,055.055 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:03:03,058.058 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-08-29 01:03:06,560.560 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:03:06,563.563 INFO    ] Checking for system updates...
[2026-08-29 01:03:06,600.600 INFO    ] 200
[2026-08-29 01:03:06,603.603 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:03:06,656.656 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:03:06,659.659 INFO    ] No update needed
[2026-08-29 01:03:06,661.661 INFO    ] Checking for camera pi updates...
[2026-08-29 01:03:06,694.694 INFO    ] 200
[2026-08-29 01:03:06,697.697 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:03:06,737.737 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:03:06,829.829 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:03:06,831.831 INFO    ] No camera update needed
[2026-08-29 01:03:06,834.834 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:03:06,836.836 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:03:06,841.841 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:03:06,846.846 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:03:08,888.888 INFO    ] ================================================
[2026-08-29 01:03:08,904.904 INFO    ] Launching Daemon at Sat Aug 29 01:03:08 IST 2026
[2026-08-29 01:03:08,916.916 INFO    ] ================================================
[2026-08-29 01:03:09,499.499 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:03:09
[2026-08-29 01:03:10,096.096 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:03:10,376.376 INFO    ] Initializing speech engine...
[2026-08-29 01:03:10,383.383 INFO    ] 2026-08-29 01:03:10
[2026-08-29 01:03:10,643.643 INFO    ] 2026-08-29 01:03:10
[2026-08-29 01:03:10,674.674 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:03:10,839.839 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:03:10,862.862 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:03:10,993.993 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:03:11,001.001 INFO    ] time= 29/08/2026 01:03:10
[2026-08-29 01:03:11,007.007 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:03:11,069.069 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:03:11,177.177 INFO    ] No existing commands found in stream
[2026-08-29 01:03:16,207.207 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:03:16,210.210 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-08-29 01:03:18,936.936 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:03:18,937.937 INFO    ] Checking for system updates...
[2026-08-29 01:03:18,958.958 INFO    ] 200
[2026-08-29 01:03:18,960.960 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:03:18,990.990 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:03:18,991.991 INFO    ] No update needed
[2026-08-29 01:03:18,993.993 INFO    ] Checking for camera pi updates...
[2026-08-29 01:03:19,013.013 INFO    ] 200
[2026-08-29 01:03:19,015.015 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:03:19,038.038 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:03:19,127.127 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:03:19,128.128 INFO    ] No camera update needed
[2026-08-29 01:03:19,129.129 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:03:19,131.131 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:03:19,134.134 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:03:19,136.136 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:03:21,175.175 INFO    ] ================================================
[2026-08-29 01:03:21,191.191 INFO    ] Launching Daemon at Sat Aug 29 01:03:21 IST 2026
[2026-08-29 01:03:21,203.203 INFO    ] ================================================
[2026-08-29 01:03:21,550.550 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:03:21
[2026-08-29 01:03:21,865.865 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:03:22,008.008 INFO    ] Initializing speech engine...
[2026-08-29 01:03:22,014.014 INFO    ] 2026-08-29 01:03:22
[2026-08-29 01:03:22,252.252 INFO    ] 2026-08-29 01:03:22
[2026-08-29 01:03:22,311.311 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:03:22,443.443 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:03:22,461.461 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:03:22,642.642 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:03:22,680.680 INFO    ] time= 29/08/2026 01:03:22
[2026-08-29 01:03:22,686.686 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:03:22,707.707 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:03:22,822.822 INFO    ] No existing commands found in stream
[2026-08-29 01:03:27,858.858 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:03:27,861.861 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-08-29 01:03:28,999.999 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:03:29,001.001 INFO    ] Checking for system updates...
[2026-08-29 01:03:29,021.021 INFO    ] 200
[2026-08-29 01:03:29,023.023 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:03:29,055.055 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:03:29,057.057 INFO    ] No update needed
[2026-08-29 01:03:29,058.058 INFO    ] Checking for camera pi updates...
[2026-08-29 01:03:29,078.078 INFO    ] 200
[2026-08-29 01:03:29,080.080 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:03:29,104.104 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:03:29,293.293 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:03:29,296.296 INFO    ] No camera update needed
[2026-08-29 01:03:29,298.298 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:03:29,301.301 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:03:29,307.307 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:03:29,313.313 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:03:31,354.354 INFO    ] ================================================
[2026-08-29 01:03:31,370.370 INFO    ] Launching Daemon at Sat Aug 29 01:03:31 IST 2026
[2026-08-29 01:03:31,381.381 INFO    ] ================================================
[2026-08-29 01:03:31,978.978 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:03:31
[2026-08-29 01:03:32,516.516 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:03:32,804.804 INFO    ] Initializing speech engine...
[2026-08-29 01:03:32,814.814 INFO    ] 2026-08-29 01:03:32
[2026-08-29 01:03:33,079.079 INFO    ] 2026-08-29 01:03:33
[2026-08-29 01:03:33,117.117 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:03:33,307.307 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:03:33,312.312 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:03:33,434.434 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:03:33,455.455 INFO    ] time= 29/08/2026 01:03:33
[2026-08-29 01:03:33,476.476 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:03:33,484.484 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:03:33,552.552 INFO    ] No existing commands found in stream
[2026-08-29 01:03:38,565.565 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:03:38,567.567 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-08-29 01:03:41,319.319 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:03:41,321.321 INFO    ] Checking for system updates...
[2026-08-29 01:03:41,342.342 INFO    ] 200
[2026-08-29 01:03:41,343.343 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:03:41,376.376 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:03:41,377.377 INFO    ] No update needed
[2026-08-29 01:03:41,379.379 INFO    ] Checking for camera pi updates...
[2026-08-29 01:03:41,399.399 INFO    ] 200
[2026-08-29 01:03:41,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:03:41,424.424 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:03:41,549.549 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:03:41,550.550 INFO    ] No camera update needed
[2026-08-29 01:03:41,551.551 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:03:41,553.553 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:03:41,556.556 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:03:41,558.558 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:03:43,596.596 INFO    ] ================================================
[2026-08-29 01:03:43,611.611 INFO    ] Launching Daemon at Sat Aug 29 01:03:43 IST 2026
[2026-08-29 01:03:43,622.622 INFO    ] ================================================
[2026-08-29 01:03:43,984.984 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:03:43
[2026-08-29 01:03:44,567.567 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:03:44,818.818 INFO    ] Initializing speech engine...
[2026-08-29 01:03:44,839.839 INFO    ] 2026-08-29 01:03:44
[2026-08-29 01:03:45,104.104 INFO    ] 2026-08-29 01:03:45
[2026-08-29 01:03:45,136.136 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:03:45,308.308 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:03:45,314.314 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:03:45,468.468 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:03:45,480.480 INFO    ] time= 29/08/2026 01:03:45
[2026-08-29 01:03:45,506.506 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:03:45,514.514 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:03:45,562.562 INFO    ] No existing commands found in stream
[2026-08-29 01:03:50,573.573 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:03:50,576.576 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-08-29 01:03:51,492.492 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:03:51,494.494 INFO    ] Checking for system updates...
[2026-08-29 01:03:51,517.517 INFO    ] 200
[2026-08-29 01:03:51,519.519 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:03:51,551.551 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:03:51,552.552 INFO    ] No update needed
[2026-08-29 01:03:51,553.553 INFO    ] Checking for camera pi updates...
[2026-08-29 01:03:51,574.574 INFO    ] 200
[2026-08-29 01:03:51,575.575 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:03:51,600.600 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:03:51,700.700 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:03:51,701.701 INFO    ] No camera update needed
[2026-08-29 01:03:51,702.702 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:03:51,704.704 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:03:51,707.707 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:03:51,709.709 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:03:53,747.747 INFO    ] ================================================
[2026-08-29 01:03:53,763.763 INFO    ] Launching Daemon at Sat Aug 29 01:03:53 IST 2026
[2026-08-29 01:03:53,774.774 INFO    ] ================================================
[2026-08-29 01:03:54,162.162 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:03:54
[2026-08-29 01:03:54,505.505 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:03:54,658.658 INFO    ] Initializing speech engine...
[2026-08-29 01:03:54,664.664 INFO    ] 2026-08-29 01:03:54
[2026-08-29 01:03:54,876.876 INFO    ] 2026-08-29 01:03:54
[2026-08-29 01:03:54,904.904 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:03:55,033.033 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:03:55,094.094 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:03:55,229.229 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:03:55,248.248 INFO    ] time= 29/08/2026 01:03:55
[2026-08-29 01:03:55,258.258 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:03:55,286.286 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:03:55,388.388 INFO    ] No existing commands found in stream
[2026-08-29 01:04:00,403.403 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:04:00,406.406 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-08-29 01:04:00,900.900 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:04:00,901.901 INFO    ] Checking for system updates...
[2026-08-29 01:04:00,924.924 INFO    ] 200
[2026-08-29 01:04:00,926.926 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:04:00,961.961 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:04:00,962.962 INFO    ] No update needed
[2026-08-29 01:04:00,964.964 INFO    ] Checking for camera pi updates...
[2026-08-29 01:04:00,986.986 INFO    ] 200
[2026-08-29 01:04:00,987.987 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:04:01,011.011 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:04:01,089.089 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:04:01,090.090 INFO    ] No camera update needed
[2026-08-29 01:04:01,092.092 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:04:01,093.093 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:04:01,097.097 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:04:01,100.100 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:04:03,147.147 INFO    ] ================================================
[2026-08-29 01:04:03,164.164 INFO    ] Launching Daemon at Sat Aug 29 01:04:03 IST 2026
[2026-08-29 01:04:03,175.175 INFO    ] ================================================
[2026-08-29 01:04:03,799.799 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:04:03
[2026-08-29 01:04:04,385.385 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:04:04,652.652 INFO    ] Initializing speech engine...
[2026-08-29 01:04:04,662.662 INFO    ] 2026-08-29 01:04:04
[2026-08-29 01:04:04,907.907 INFO    ] 2026-08-29 01:04:04
[2026-08-29 01:04:04,958.958 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:04:05,104.104 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:04:05,113.113 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:04:05,247.247 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:04:05,287.287 INFO    ] time= 29/08/2026 01:04:05
[2026-08-29 01:04:05,346.346 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:04:05,379.379 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:04:05,430.430 INFO    ] No existing commands found in stream
[2026-08-29 01:04:10,442.442 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:04:10,445.445 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-08-29 01:04:11,386.386 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:04:11,388.388 INFO    ] Checking for system updates...
[2026-08-29 01:04:11,408.408 INFO    ] 200
[2026-08-29 01:04:11,410.410 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:04:11,442.442 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:04:11,444.444 INFO    ] No update needed
[2026-08-29 01:04:11,445.445 INFO    ] Checking for camera pi updates...
[2026-08-29 01:04:11,464.464 INFO    ] 200
[2026-08-29 01:04:11,465.465 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:04:11,488.488 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:04:11,564.564 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:04:11,565.565 INFO    ] No camera update needed
[2026-08-29 01:04:11,566.566 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:04:11,567.567 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:04:11,570.570 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:04:11,573.573 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:04:13,611.611 INFO    ] ================================================
[2026-08-29 01:04:13,626.626 INFO    ] Launching Daemon at Sat Aug 29 01:04:13 IST 2026
[2026-08-29 01:04:13,637.637 INFO    ] ================================================
[2026-08-29 01:04:14,197.197 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:04:14
[2026-08-29 01:04:14,814.814 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:04:15,093.093 INFO    ] Initializing speech engine...
[2026-08-29 01:04:15,099.099 INFO    ] 2026-08-29 01:04:15
[2026-08-29 01:04:15,365.365 INFO    ] 2026-08-29 01:04:15
[2026-08-29 01:04:15,423.423 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:04:16,685.685 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:04:16,694.694 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:04:16,788.788 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:04:16,795.795 INFO    ] time= 29/08/2026 01:04:16
[2026-08-29 01:04:16,800.800 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:04:16,806.806 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:04:16,867.867 INFO    ] No existing commands found in stream
[2026-08-29 01:04:21,879.879 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:04:21,883.883 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-08-29 01:04:24,288.288 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:04:24,289.289 INFO    ] Checking for system updates...
[2026-08-29 01:04:24,314.314 INFO    ] 200
[2026-08-29 01:04:24,315.315 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:04:24,347.347 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:04:24,349.349 INFO    ] No update needed
[2026-08-29 01:04:24,350.350 INFO    ] Checking for camera pi updates...
[2026-08-29 01:04:24,373.373 INFO    ] 200
[2026-08-29 01:04:24,375.375 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:04:24,400.400 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:04:24,488.488 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:04:24,490.490 INFO    ] No camera update needed
[2026-08-29 01:04:24,491.491 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:04:24,492.492 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:04:24,496.496 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:04:24,498.498 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:04:26,540.540 INFO    ] ================================================
[2026-08-29 01:04:26,555.555 INFO    ] Launching Daemon at Sat Aug 29 01:04:26 IST 2026
[2026-08-29 01:04:26,566.566 INFO    ] ================================================
[2026-08-29 01:04:26,923.923 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:04:26
[2026-08-29 01:04:27,235.235 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:04:27,367.367 INFO    ] Initializing speech engine...
[2026-08-29 01:04:27,381.381 INFO    ] 2026-08-29 01:04:27
[2026-08-29 01:04:27,627.627 INFO    ] 2026-08-29 01:04:27
[2026-08-29 01:04:27,682.682 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:04:27,814.814 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:04:27,832.832 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:04:28,020.020 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:04:28,050.050 INFO    ] time= 29/08/2026 01:04:28
[2026-08-29 01:04:28,056.056 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:04:28,074.074 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:04:28,175.175 INFO    ] No existing commands found in stream
[2026-08-29 01:04:33,195.195 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:04:33,197.197 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-08-29 01:04:34,620.620 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:04:34,622.622 INFO    ] Checking for system updates...
[2026-08-29 01:04:34,661.661 INFO    ] 200
[2026-08-29 01:04:34,664.664 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:04:34,715.715 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:04:34,718.718 INFO    ] No update needed
[2026-08-29 01:04:34,720.720 INFO    ] Checking for camera pi updates...
[2026-08-29 01:04:34,757.757 INFO    ] 200
[2026-08-29 01:04:34,760.760 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:04:34,805.805 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:04:34,913.913 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:04:34,915.915 INFO    ] No camera update needed
[2026-08-29 01:04:34,917.917 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:04:34,920.920 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:04:34,925.925 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:04:34,930.930 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:04:36,969.969 INFO    ] ================================================
[2026-08-29 01:04:36,985.985 INFO    ] Launching Daemon at Sat Aug 29 01:04:36 IST 2026
[2026-08-29 01:04:37,995.995 INFO    ] ================================================
[2026-08-29 01:04:37,345.345 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:04:37
[2026-08-29 01:04:37,657.657 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:04:37,800.800 INFO    ] Initializing speech engine...
[2026-08-29 01:04:37,805.805 INFO    ] 2026-08-29 01:04:37
[2026-08-29 01:04:38,010.010 INFO    ] 2026-08-29 01:04:37
[2026-08-29 01:04:38,050.050 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:04:38,199.199 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:04:38,219.219 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:04:38,386.386 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:04:38,427.427 INFO    ] time= 29/08/2026 01:04:38
[2026-08-29 01:04:38,433.433 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:04:38,451.451 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:04:38,552.552 INFO    ] No existing commands found in stream
[2026-08-29 01:04:43,569.569 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:04:43,572.572 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-08-29 01:04:46,640.640 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:04:46,642.642 INFO    ] Checking for system updates...
[2026-08-29 01:04:46,663.663 INFO    ] 200
[2026-08-29 01:04:46,664.664 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:04:46,695.695 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:04:46,696.696 INFO    ] No update needed
[2026-08-29 01:04:46,697.697 INFO    ] Checking for camera pi updates...
[2026-08-29 01:04:46,718.718 INFO    ] 200
[2026-08-29 01:04:46,719.719 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:04:46,742.742 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:04:46,841.841 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:04:46,843.843 INFO    ] No camera update needed
[2026-08-29 01:04:46,844.844 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:04:46,845.845 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:04:46,848.848 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:04:46,851.851 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:04:48,889.889 INFO    ] ================================================
[2026-08-29 01:04:48,905.905 INFO    ] Launching Daemon at Sat Aug 29 01:04:48 IST 2026
[2026-08-29 01:04:48,915.915 INFO    ] ================================================
[2026-08-29 01:04:49,287.287 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:04:49
[2026-08-29 01:04:49,619.619 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:04:49,762.762 INFO    ] Initializing speech engine...
[2026-08-29 01:04:49,772.772 INFO    ] 2026-08-29 01:04:49
[2026-08-29 01:04:49,981.981 INFO    ] 2026-08-29 01:04:49
[2026-08-29 01:04:50,010.010 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:04:50,139.139 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:04:50,197.197 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:04:50,329.329 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:04:50,390.390 INFO    ] time= 29/08/2026 01:04:50
[2026-08-29 01:04:50,428.428 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:04:50,434.434 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:04:50,501.501 INFO    ] No existing commands found in stream
[2026-08-29 01:04:55,512.512 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:04:55,515.515 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-08-29 01:04:56,887.887 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:04:56,888.888 INFO    ] Checking for system updates...
[2026-08-29 01:04:56,909.909 INFO    ] 200
[2026-08-29 01:04:56,911.911 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:04:56,943.943 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:04:56,944.944 INFO    ] No update needed
[2026-08-29 01:04:56,946.946 INFO    ] Checking for camera pi updates...
[2026-08-29 01:04:56,965.965 INFO    ] 200
[2026-08-29 01:04:56,966.966 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:04:56,999.999 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:04:57,100.100 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:04:57,103.103 INFO    ] No camera update needed
[2026-08-29 01:04:57,105.105 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:04:57,108.108 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:04:57,114.114 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:04:57,119.119 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:04:59,161.161 INFO    ] ================================================
[2026-08-29 01:04:59,176.176 INFO    ] Launching Daemon at Sat Aug 29 01:04:59 IST 2026
[2026-08-29 01:04:59,186.186 INFO    ] ================================================
[2026-08-29 01:04:59,818.818 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:04:59
[2026-08-29 01:05:00,295.295 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:05:00,443.443 INFO    ] Initializing speech engine...
[2026-08-29 01:05:00,448.448 INFO    ] 2026-08-29 01:05:00
[2026-08-29 01:05:00,656.656 INFO    ] 2026-08-29 01:05:00
[2026-08-29 01:05:00,684.684 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:05:00,807.807 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:05:00,865.865 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:05:00,991.991 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:05:01,014.014 INFO    ] time= 29/08/2026 01:05:01
[2026-08-29 01:05:01,070.070 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:05:01,097.097 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:05:01,193.193 INFO    ] No existing commands found in stream
[2026-08-29 01:05:06,204.204 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:05:06,207.207 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-08-29 01:05:09,936.936 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:05:09,938.938 INFO    ] Checking for system updates...
[2026-08-29 01:05:09,977.977 INFO    ] 200
[2026-08-29 01:05:09,979.979 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:05:10,032.032 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:05:10,035.035 INFO    ] No update needed
[2026-08-29 01:05:10,037.037 INFO    ] Checking for camera pi updates...
[2026-08-29 01:05:10,074.074 INFO    ] 200
[2026-08-29 01:05:10,077.077 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:05:10,121.121 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:05:10,216.216 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:05:10,218.218 INFO    ] No camera update needed
[2026-08-29 01:05:10,220.220 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:05:10,223.223 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:05:10,228.228 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:05:10,233.233 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:05:12,273.273 INFO    ] ================================================
[2026-08-29 01:05:12,288.288 INFO    ] Launching Daemon at Sat Aug 29 01:05:12 IST 2026
[2026-08-29 01:05:12,298.298 INFO    ] ================================================
[2026-08-29 01:05:12,656.656 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:05:12
[2026-08-29 01:05:12,972.972 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:05:13,102.102 INFO    ] Initializing speech engine...
[2026-08-29 01:05:13,105.105 INFO    ] 2026-08-29 01:05:13
[2026-08-29 01:05:13,328.328 INFO    ] 2026-08-29 01:05:13
[2026-08-29 01:05:13,383.383 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:05:13,549.549 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:05:13,557.557 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:05:13,710.710 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:05:13,761.761 INFO    ] time= 29/08/2026 01:05:13
[2026-08-29 01:05:13,767.767 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:05:13,785.785 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:05:13,900.900 INFO    ] No existing commands found in stream
[2026-08-29 01:05:18,928.928 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:05:18,930.930 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-08-29 01:05:23,052.052 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:05:23,054.054 INFO    ] Checking for system updates...
[2026-08-29 01:05:23,075.075 INFO    ] 200
[2026-08-29 01:05:23,076.076 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:05:23,108.108 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:05:23,110.110 INFO    ] No update needed
[2026-08-29 01:05:23,111.111 INFO    ] Checking for camera pi updates...
[2026-08-29 01:05:23,130.130 INFO    ] 200
[2026-08-29 01:05:23,131.131 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:05:23,154.154 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:05:23,245.245 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:05:23,246.246 INFO    ] No camera update needed
[2026-08-29 01:05:23,248.248 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:05:23,249.249 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:05:23,252.252 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:05:23,254.254 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:05:25,294.294 INFO    ] ================================================
[2026-08-29 01:05:25,310.310 INFO    ] Launching Daemon at Sat Aug 29 01:05:25 IST 2026
[2026-08-29 01:05:25,321.321 INFO    ] ================================================
[2026-08-29 01:05:25,675.675 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:05:25
[2026-08-29 01:05:25,992.992 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:05:26,139.139 INFO    ] Initializing speech engine...
[2026-08-29 01:05:26,144.144 INFO    ] 2026-08-29 01:05:26
[2026-08-29 01:05:26,349.349 INFO    ] 2026-08-29 01:05:26
[2026-08-29 01:05:26,377.377 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:05:26,520.520 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:05:26,527.527 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:05:26,651.651 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:05:26,673.673 INFO    ] time= 29/08/2026 01:05:26
[2026-08-29 01:05:26,726.726 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:05:26,766.766 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:05:26,872.872 INFO    ] No existing commands found in stream
[2026-08-29 01:05:31,884.884 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:05:31,888.888 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-08-29 01:05:32,372.372 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:05:32,376.376 INFO    ] Checking for system updates...
[2026-08-29 01:05:32,418.418 INFO    ] 200
[2026-08-29 01:05:32,421.421 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:05:32,494.494 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:05:32,500.500 INFO    ] No update needed
[2026-08-29 01:05:32,503.503 INFO    ] Checking for camera pi updates...
[2026-08-29 01:05:32,543.543 INFO    ] 200
[2026-08-29 01:05:32,546.546 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:05:32,588.588 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:05:32,801.801 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:05:32,803.803 INFO    ] No camera update needed
[2026-08-29 01:05:32,806.806 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:05:32,808.808 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:05:32,813.813 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:05:32,818.818 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:05:34,858.858 INFO    ] ================================================
[2026-08-29 01:05:34,874.874 INFO    ] Launching Daemon at Sat Aug 29 01:05:34 IST 2026
[2026-08-29 01:05:34,885.885 INFO    ] ================================================
[2026-08-29 01:05:35,251.251 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:05:35
[2026-08-29 01:05:35,568.568 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:05:35,712.712 INFO    ] Initializing speech engine...
[2026-08-29 01:05:35,717.717 INFO    ] 2026-08-29 01:05:35
[2026-08-29 01:05:35,942.942 INFO    ] 2026-08-29 01:05:35
[2026-08-29 01:05:36,023.023 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:05:36,172.172 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:05:36,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:05:36,315.315 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:05:36,355.355 INFO    ] time= 29/08/2026 01:05:36
[2026-08-29 01:05:36,399.399 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:05:36,446.446 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:05:36,498.498 INFO    ] No existing commands found in stream
[2026-08-29 01:05:41,509.509 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:05:41,511.511 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-08-29 01:05:44,553.553 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:05:44,555.555 INFO    ] Checking for system updates...
[2026-08-29 01:05:44,602.602 INFO    ] 200
[2026-08-29 01:05:44,604.604 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:05:44,657.657 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:05:44,659.659 INFO    ] No update needed
[2026-08-29 01:05:44,661.661 INFO    ] Checking for camera pi updates...
[2026-08-29 01:05:44,698.698 INFO    ] 200
[2026-08-29 01:05:44,700.700 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:05:44,745.745 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:05:44,841.841 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:05:44,844.844 INFO    ] No camera update needed
[2026-08-29 01:05:44,846.846 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:05:44,848.848 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:05:44,854.854 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:05:44,859.859 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:05:46,899.899 INFO    ] ================================================
[2026-08-29 01:05:46,915.915 INFO    ] Launching Daemon at Sat Aug 29 01:05:46 IST 2026
[2026-08-29 01:05:46,927.927 INFO    ] ================================================
[2026-08-29 01:05:47,287.287 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:05:47
[2026-08-29 01:05:47,604.604 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:05:47,736.736 INFO    ] Initializing speech engine...
[2026-08-29 01:05:47,743.743 INFO    ] 2026-08-29 01:05:47
[2026-08-29 01:05:47,941.941 INFO    ] 2026-08-29 01:05:47
[2026-08-29 01:05:47,977.977 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:05:48,149.149 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:05:48,161.161 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:05:48,301.301 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:05:48,309.309 INFO    ] time= 29/08/2026 01:05:48
[2026-08-29 01:05:48,316.316 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:05:48,367.367 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:05:48,475.475 INFO    ] No existing commands found in stream
[2026-08-29 01:05:53,506.506 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:05:53,509.509 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-08-29 01:05:57,381.381 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:05:57,382.382 INFO    ] Checking for system updates...
[2026-08-29 01:05:57,403.403 INFO    ] 200
[2026-08-29 01:05:57,405.405 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:05:57,437.437 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:05:57,438.438 INFO    ] No update needed
[2026-08-29 01:05:57,439.439 INFO    ] Checking for camera pi updates...
[2026-08-29 01:05:57,458.458 INFO    ] 200
[2026-08-29 01:05:57,460.460 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:05:57,482.482 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:05:57,561.561 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:05:57,564.564 INFO    ] No camera update needed
[2026-08-29 01:05:57,566.566 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:05:57,568.568 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:05:57,574.574 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:05:57,579.579 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:05:59,619.619 INFO    ] ================================================
[2026-08-29 01:05:59,634.634 INFO    ] Launching Daemon at Sat Aug 29 01:05:59 IST 2026
[2026-08-29 01:05:59,645.645 INFO    ] ================================================
[2026-08-29 01:06:00,228.228 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:06:00
[2026-08-29 01:06:00,740.740 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:06:00,884.884 INFO    ] Initializing speech engine...
[2026-08-29 01:06:00,889.889 INFO    ] 2026-08-29 01:06:00
[2026-08-29 01:06:01,093.093 INFO    ] 2026-08-29 01:06:01
[2026-08-29 01:06:01,123.123 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:06:01,245.245 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:06:01,277.277 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:06:01,437.437 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:06:01,476.476 INFO    ] time= 29/08/2026 01:06:01
[2026-08-29 01:06:01,490.490 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:06:01,493.493 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:06:01,586.586 INFO    ] No existing commands found in stream
[2026-08-29 01:06:06,597.597 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:06:06,599.599 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-08-29 01:06:07,970.970 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:06:07,972.972 INFO    ] Checking for system updates...
[2026-08-29 01:06:07,992.992 INFO    ] 200
[2026-08-29 01:06:07,994.994 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:06:08,027.027 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:06:08,028.028 INFO    ] No update needed
[2026-08-29 01:06:08,029.029 INFO    ] Checking for camera pi updates...
[2026-08-29 01:06:08,049.049 INFO    ] 200
[2026-08-29 01:06:08,051.051 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:06:08,073.073 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:06:08,132.132 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:06:08,134.134 INFO    ] No camera update needed
[2026-08-29 01:06:08,135.135 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:06:08,136.136 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:06:08,139.139 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:06:08,142.142 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:06:10,184.184 INFO    ] ================================================
[2026-08-29 01:06:10,199.199 INFO    ] Launching Daemon at Sat Aug 29 01:06:10 IST 2026
[2026-08-29 01:06:10,211.211 INFO    ] ================================================
[2026-08-29 01:06:10,583.583 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:06:10
[2026-08-29 01:06:10,900.900 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:06:11,044.044 INFO    ] Initializing speech engine...
[2026-08-29 01:06:11,049.049 INFO    ] 2026-08-29 01:06:11
[2026-08-29 01:06:11,253.253 INFO    ] 2026-08-29 01:06:11
[2026-08-29 01:06:11,282.282 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:06:11,420.420 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:06:11,467.467 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:06:11,597.597 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:06:11,638.638 INFO    ] time= 29/08/2026 01:06:11
[2026-08-29 01:06:11,676.676 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:06:11,698.698 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:06:11,768.768 INFO    ] No existing commands found in stream
[2026-08-29 01:06:16,778.778 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:06:16,781.781 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-08-29 01:06:20,126.126 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:06:20,127.127 INFO    ] Checking for system updates...
[2026-08-29 01:06:20,149.149 INFO    ] 200
[2026-08-29 01:06:20,150.150 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:06:20,180.180 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:06:20,181.181 INFO    ] No update needed
[2026-08-29 01:06:20,182.182 INFO    ] Checking for camera pi updates...
[2026-08-29 01:06:20,202.202 INFO    ] 200
[2026-08-29 01:06:20,203.203 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:06:20,226.226 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:06:20,301.301 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:06:20,302.302 INFO    ] No camera update needed
[2026-08-29 01:06:20,304.304 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:06:20,305.305 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:06:20,308.308 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:06:20,310.310 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:06:22,348.348 INFO    ] ================================================
[2026-08-29 01:06:22,365.365 INFO    ] Launching Daemon at Sat Aug 29 01:06:22 IST 2026
[2026-08-29 01:06:22,375.375 INFO    ] ================================================
[2026-08-29 01:06:22,716.716 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:06:22
[2026-08-29 01:06:23,027.027 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:06:23,156.156 INFO    ] Initializing speech engine...
[2026-08-29 01:06:23,160.160 INFO    ] 2026-08-29 01:06:23
[2026-08-29 01:06:23,376.376 INFO    ] 2026-08-29 01:06:23
[2026-08-29 01:06:23,404.404 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:06:23,526.526 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:06:23,588.588 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:06:23,722.722 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:06:23,785.785 INFO    ] time= 29/08/2026 01:06:23
[2026-08-29 01:06:23,817.817 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:06:23,823.823 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:06:23,889.889 INFO    ] No existing commands found in stream
[2026-08-29 01:06:28,900.900 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:06:28,903.903 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-08-29 01:06:29,531.531 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:06:29,533.533 INFO    ] Checking for system updates...
[2026-08-29 01:06:29,554.554 INFO    ] 200
[2026-08-29 01:06:29,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:06:29,585.585 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:06:29,586.586 INFO    ] No update needed
[2026-08-29 01:06:29,587.587 INFO    ] Checking for camera pi updates...
[2026-08-29 01:06:29,606.606 INFO    ] 200
[2026-08-29 01:06:29,608.608 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:06:29,631.631 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:06:29,709.709 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:06:29,710.710 INFO    ] No camera update needed
[2026-08-29 01:06:29,711.711 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:06:29,712.712 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:06:29,715.715 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:06:29,718.718 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:06:31,757.757 INFO    ] ================================================
[2026-08-29 01:06:31,773.773 INFO    ] Launching Daemon at Sat Aug 29 01:06:31 IST 2026
[2026-08-29 01:06:31,785.785 INFO    ] ================================================
[2026-08-29 01:06:32,385.385 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:06:32
[2026-08-29 01:06:32,998.998 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:06:33,264.264 INFO    ] Initializing speech engine...
[2026-08-29 01:06:33,276.276 INFO    ] 2026-08-29 01:06:33
[2026-08-29 01:06:33,524.524 INFO    ] 2026-08-29 01:06:33
[2026-08-29 01:06:33,560.560 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:06:33,731.731 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:06:33,743.743 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:06:33,853.853 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:06:33,872.872 INFO    ] time= 29/08/2026 01:06:33
[2026-08-29 01:06:33,891.891 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:06:33,899.899 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:06:33,969.969 INFO    ] No existing commands found in stream
[2026-08-29 01:06:38,984.984 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:06:38,987.987 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-08-29 01:06:40,648.648 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:06:40,650.650 INFO    ] Checking for system updates...
[2026-08-29 01:06:40,671.671 INFO    ] 200
[2026-08-29 01:06:40,673.673 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:06:40,705.705 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:06:40,706.706 INFO    ] No update needed
[2026-08-29 01:06:40,707.707 INFO    ] Checking for camera pi updates...
[2026-08-29 01:06:40,727.727 INFO    ] 200
[2026-08-29 01:06:40,729.729 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:06:40,753.753 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:06:40,873.873 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:06:40,876.876 INFO    ] No camera update needed
[2026-08-29 01:06:40,878.878 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:06:40,880.880 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:06:40,886.886 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:06:40,891.891 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:06:42,932.932 INFO    ] ================================================
[2026-08-29 01:06:42,948.948 INFO    ] Launching Daemon at Sat Aug 29 01:06:42 IST 2026
[2026-08-29 01:06:42,959.959 INFO    ] ================================================
[2026-08-29 01:06:43,558.558 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:06:43
[2026-08-29 01:06:44,036.036 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:06:44,179.179 INFO    ] Initializing speech engine...
[2026-08-29 01:06:44,185.185 INFO    ] 2026-08-29 01:06:44
[2026-08-29 01:06:44,387.387 INFO    ] 2026-08-29 01:06:44
[2026-08-29 01:06:44,415.415 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:06:44,537.537 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:06:44,575.575 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:06:44,729.729 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:06:44,760.760 INFO    ] time= 29/08/2026 01:06:44
[2026-08-29 01:06:44,808.808 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:06:44,829.829 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:06:44,899.899 INFO    ] No existing commands found in stream
[2026-08-29 01:06:49,910.910 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:06:49,913.913 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 01:06:51,147.147 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:06:51,149.149 INFO    ] Checking for system updates...
[2026-08-29 01:06:51,169.169 INFO    ] 200
[2026-08-29 01:06:51,170.170 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:06:51,200.200 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:06:51,201.201 INFO    ] No update needed
[2026-08-29 01:06:51,203.203 INFO    ] Checking for camera pi updates...
[2026-08-29 01:06:51,222.222 INFO    ] 200
[2026-08-29 01:06:51,223.223 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:06:51,247.247 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:06:51,324.324 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:06:51,326.326 INFO    ] No camera update needed
[2026-08-29 01:06:51,327.327 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:06:51,328.328 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:06:51,331.331 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:06:51,334.334 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:06:53,374.374 INFO    ] ================================================
[2026-08-29 01:06:53,389.389 INFO    ] Launching Daemon at Sat Aug 29 01:06:53 IST 2026
[2026-08-29 01:06:53,400.400 INFO    ] ================================================
[2026-08-29 01:06:53,762.762 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:06:53
[2026-08-29 01:06:54,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:06:54,322.322 INFO    ] Initializing speech engine...
[2026-08-29 01:06:54,330.330 INFO    ] 2026-08-29 01:06:54
[2026-08-29 01:06:54,607.607 INFO    ] 2026-08-29 01:06:54
[2026-08-29 01:06:54,643.643 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:06:54,829.829 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:06:54,846.846 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:06:54,982.982 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:06:54,987.987 INFO    ] time= 29/08/2026 01:06:54
[2026-08-29 01:06:54,993.993 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:06:55,034.034 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:06:55,157.157 INFO    ] No existing commands found in stream
[2026-08-29 01:07:00,188.188 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:07:00,190.190 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-08-29 01:07:01,235.235 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:07:01,237.237 INFO    ] Checking for system updates...
[2026-08-29 01:07:01,257.257 INFO    ] 200
[2026-08-29 01:07:01,258.258 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:07:01,290.290 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:07:01,291.291 INFO    ] No update needed
[2026-08-29 01:07:01,293.293 INFO    ] Checking for camera pi updates...
[2026-08-29 01:07:01,312.312 INFO    ] 200
[2026-08-29 01:07:01,314.314 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:07:01,338.338 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:07:01,415.415 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:07:01,418.418 INFO    ] No camera update needed
[2026-08-29 01:07:01,421.421 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:07:01,423.423 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:07:01,429.429 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:07:01,435.435 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:07:03,477.477 INFO    ] ================================================
[2026-08-29 01:07:03,493.493 INFO    ] Launching Daemon at Sat Aug 29 01:07:03 IST 2026
[2026-08-29 01:07:03,504.504 INFO    ] ================================================
[2026-08-29 01:07:04,112.112 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:07:04
[2026-08-29 01:07:04,645.645 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:07:04,790.790 INFO    ] Initializing speech engine...
[2026-08-29 01:07:04,799.799 INFO    ] 2026-08-29 01:07:04
[2026-08-29 01:07:05,015.015 INFO    ] 2026-08-29 01:07:04
[2026-08-29 01:07:05,046.046 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:07:05,177.177 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:07:05,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:07:05,332.332 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:07:05,370.370 INFO    ] time= 29/08/2026 01:07:05
[2026-08-29 01:07:05,397.397 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:07:05,469.469 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:07:05,570.570 INFO    ] No existing commands found in stream
[2026-08-29 01:07:10,580.580 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:07:10,583.583 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-08-29 01:07:12,822.822 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:07:12,824.824 INFO    ] Checking for system updates...
[2026-08-29 01:07:12,845.845 INFO    ] 200
[2026-08-29 01:07:12,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:07:12,876.876 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:07:12,877.877 INFO    ] No update needed
[2026-08-29 01:07:12,878.878 INFO    ] Checking for camera pi updates...
[2026-08-29 01:07:12,898.898 INFO    ] 200
[2026-08-29 01:07:12,900.900 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:07:12,923.923 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:07:13,027.027 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:07:13,029.029 INFO    ] No camera update needed
[2026-08-29 01:07:13,031.031 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:07:13,034.034 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:07:13,039.039 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:07:13,044.044 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:07:15,085.085 INFO    ] ================================================
[2026-08-29 01:07:15,101.101 INFO    ] Launching Daemon at Sat Aug 29 01:07:15 IST 2026
[2026-08-29 01:07:15,113.113 INFO    ] ================================================
[2026-08-29 01:07:15,683.683 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:07:15
[2026-08-29 01:07:16,179.179 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:07:16,310.310 INFO    ] Initializing speech engine...
[2026-08-29 01:07:16,318.318 INFO    ] 2026-08-29 01:07:16
[2026-08-29 01:07:16,514.514 INFO    ] 2026-08-29 01:07:16
[2026-08-29 01:07:16,597.597 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:07:16,748.748 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:07:16,757.757 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:07:16,894.894 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:07:16,910.910 INFO    ] time= 29/08/2026 01:07:16
[2026-08-29 01:07:16,975.975 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:07:17,029.029 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:07:17,084.084 INFO    ] No existing commands found in stream
[2026-08-29 01:07:22,096.096 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:07:22,098.098 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-08-29 01:07:23,759.759 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:07:23,761.761 INFO    ] Checking for system updates...
[2026-08-29 01:07:23,782.782 INFO    ] 200
[2026-08-29 01:07:23,783.783 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:07:23,813.813 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:07:23,814.814 INFO    ] No update needed
[2026-08-29 01:07:23,815.815 INFO    ] Checking for camera pi updates...
[2026-08-29 01:07:23,836.836 INFO    ] 200
[2026-08-29 01:07:23,837.837 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:07:23,861.861 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:07:23,938.938 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:07:23,940.940 INFO    ] No camera update needed
[2026-08-29 01:07:23,941.941 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:07:23,942.942 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:07:23,945.945 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:07:23,948.948 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:07:25,986.986 INFO    ] ================================================
[2026-08-29 01:07:26,001.001 INFO    ] Launching Daemon at Sat Aug 29 01:07:25 IST 2026
[2026-08-29 01:07:26,012.012 INFO    ] ================================================
[2026-08-29 01:07:26,369.369 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:07:26
[2026-08-29 01:07:26,684.684 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:07:26,827.827 INFO    ] Initializing speech engine...
[2026-08-29 01:07:26,833.833 INFO    ] 2026-08-29 01:07:26
[2026-08-29 01:07:27,059.059 INFO    ] 2026-08-29 01:07:27
[2026-08-29 01:07:27,125.125 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:07:27,266.266 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:07:27,278.278 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:07:27,418.418 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:07:27,428.428 INFO    ] time= 29/08/2026 01:07:27
[2026-08-29 01:07:27,435.435 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:07:27,447.447 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:07:27,584.584 INFO    ] No existing commands found in stream
[2026-08-29 01:07:32,615.615 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:07:32,618.618 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-08-29 01:07:34,653.653 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:07:34,656.656 INFO    ] Checking for system updates...
[2026-08-29 01:07:34,695.695 INFO    ] 200
[2026-08-29 01:07:34,698.698 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:07:34,752.752 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:07:34,755.755 INFO    ] No update needed
[2026-08-29 01:07:34,757.757 INFO    ] Checking for camera pi updates...
[2026-08-29 01:07:34,795.795 INFO    ] 200
[2026-08-29 01:07:34,797.797 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:07:34,837.837 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:07:35,022.022 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:07:35,024.024 INFO    ] No camera update needed
[2026-08-29 01:07:35,027.027 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:07:35,029.029 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:07:35,035.035 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:07:35,040.040 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:07:37,080.080 INFO    ] ================================================
[2026-08-29 01:07:37,096.096 INFO    ] Launching Daemon at Sat Aug 29 01:07:37 IST 2026
[2026-08-29 01:07:37,108.108 INFO    ] ================================================
[2026-08-29 01:07:37,484.484 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:07:37
[2026-08-29 01:07:37,801.801 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:07:37,945.945 INFO    ] Initializing speech engine...
[2026-08-29 01:07:37,951.951 INFO    ] 2026-08-29 01:07:37
[2026-08-29 01:07:38,166.166 INFO    ] 2026-08-29 01:07:38
[2026-08-29 01:07:38,249.249 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:07:38,401.401 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:07:38,405.405 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:07:38,538.538 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:07:38,585.585 INFO    ] time= 29/08/2026 01:07:38
[2026-08-29 01:07:38,644.644 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:07:38,674.674 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:07:38,728.728 INFO    ] No existing commands found in stream
[2026-08-29 01:07:43,740.740 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:07:43,743.743 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-08-29 01:07:44,496.496 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:07:44,498.498 INFO    ] Checking for system updates...
[2026-08-29 01:07:44,519.519 INFO    ] 200
[2026-08-29 01:07:44,521.521 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:07:44,553.553 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:07:44,554.554 INFO    ] No update needed
[2026-08-29 01:07:44,555.555 INFO    ] Checking for camera pi updates...
[2026-08-29 01:07:44,574.574 INFO    ] 200
[2026-08-29 01:07:44,575.575 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:07:44,599.599 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:07:44,681.681 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:07:44,683.683 INFO    ] No camera update needed
[2026-08-29 01:07:44,684.684 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:07:44,685.685 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:07:44,688.688 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:07:44,691.691 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:07:46,729.729 INFO    ] ================================================
[2026-08-29 01:07:46,744.744 INFO    ] Launching Daemon at Sat Aug 29 01:07:46 IST 2026
[2026-08-29 01:07:46,755.755 INFO    ] ================================================
[2026-08-29 01:07:47,115.115 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:07:47
[2026-08-29 01:07:47,518.518 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:07:47,796.796 INFO    ] Initializing speech engine...
[2026-08-29 01:07:47,802.802 INFO    ] 2026-08-29 01:07:47
[2026-08-29 01:07:48,063.063 INFO    ] 2026-08-29 01:07:48
[2026-08-29 01:07:48,120.120 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:07:48,341.341 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:07:48,350.350 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:07:48,482.482 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:07:48,515.515 INFO    ] time= 29/08/2026 01:07:48
[2026-08-29 01:07:48,575.575 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:07:48,617.617 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:07:48,673.673 INFO    ] No existing commands found in stream
[2026-08-29 01:07:53,685.685 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:07:53,688.688 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-08-29 01:07:54,518.518 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:07:54,519.519 INFO    ] Checking for system updates...
[2026-08-29 01:07:54,540.540 INFO    ] 200
[2026-08-29 01:07:54,541.541 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:07:54,571.571 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:07:54,572.572 INFO    ] No update needed
[2026-08-29 01:07:54,573.573 INFO    ] Checking for camera pi updates...
[2026-08-29 01:07:54,593.593 INFO    ] 200
[2026-08-29 01:07:54,594.594 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:07:54,618.618 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:07:54,725.725 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:07:54,726.726 INFO    ] No camera update needed
[2026-08-29 01:07:54,727.727 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:07:54,729.729 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:07:54,731.731 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:07:54,734.734 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:07:56,772.772 INFO    ] ================================================
[2026-08-29 01:07:56,787.787 INFO    ] Launching Daemon at Sat Aug 29 01:07:56 IST 2026
[2026-08-29 01:07:56,798.798 INFO    ] ================================================
[2026-08-29 01:07:57,311.311 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:07:57
[2026-08-29 01:07:57,896.896 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:07:58,168.168 INFO    ] Initializing speech engine...
[2026-08-29 01:07:58,174.174 INFO    ] 2026-08-29 01:07:58
[2026-08-29 01:07:58,432.432 INFO    ] 2026-08-29 01:07:58
[2026-08-29 01:07:58,463.463 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:07:58,646.646 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:07:58,662.662 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:07:58,781.781 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:07:58,787.787 INFO    ] time= 29/08/2026 01:07:58
[2026-08-29 01:07:58,793.793 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:07:58,814.814 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:07:58,909.909 INFO    ] No existing commands found in stream
[2026-08-29 01:08:03,924.924 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:08:03,927.927 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-08-29 01:08:07,538.538 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:08:07,539.539 INFO    ] Checking for system updates...
[2026-08-29 01:08:07,560.560 INFO    ] 200
[2026-08-29 01:08:07,562.562 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:08:07,594.594 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:08:07,595.595 INFO    ] No update needed
[2026-08-29 01:08:07,596.596 INFO    ] Checking for camera pi updates...
[2026-08-29 01:08:07,615.615 INFO    ] 200
[2026-08-29 01:08:07,616.616 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:08:07,641.641 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:08:07,717.717 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:08:07,718.718 INFO    ] No camera update needed
[2026-08-29 01:08:07,719.719 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:08:07,720.720 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:08:07,723.723 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:08:07,726.726 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:08:09,764.764 INFO    ] ================================================
[2026-08-29 01:08:09,779.779 INFO    ] Launching Daemon at Sat Aug 29 01:08:09 IST 2026
[2026-08-29 01:08:09,790.790 INFO    ] ================================================
[2026-08-29 01:08:10,163.163 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:08:10
[2026-08-29 01:08:10,474.474 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:08:10,605.605 INFO    ] Initializing speech engine...
[2026-08-29 01:08:10,613.613 INFO    ] 2026-08-29 01:08:10
[2026-08-29 01:08:10,827.827 INFO    ] 2026-08-29 01:08:10
[2026-08-29 01:08:10,854.854 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:08:10,959.959 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:08:11,020.020 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:08:11,154.154 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:08:11,170.170 INFO    ] time= 29/08/2026 01:08:11
[2026-08-29 01:08:11,179.179 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:08:11,205.205 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:08:11,311.311 INFO    ] No existing commands found in stream
[2026-08-29 01:08:16,323.323 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:08:16,326.326 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-08-29 01:08:20,344.344 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:08:20,345.345 INFO    ] Checking for system updates...
[2026-08-29 01:08:20,366.366 INFO    ] 200
[2026-08-29 01:08:20,368.368 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:08:20,397.397 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:08:20,399.399 INFO    ] No update needed
[2026-08-29 01:08:20,400.400 INFO    ] Checking for camera pi updates...
[2026-08-29 01:08:20,424.424 INFO    ] 200
[2026-08-29 01:08:20,427.427 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:08:20,466.466 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:08:20,551.551 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:08:20,553.553 INFO    ] No camera update needed
[2026-08-29 01:08:20,556.556 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:08:20,558.558 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:08:20,563.563 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:08:20,569.569 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:08:22,612.612 INFO    ] ================================================
[2026-08-29 01:08:22,627.627 INFO    ] Launching Daemon at Sat Aug 29 01:08:22 IST 2026
[2026-08-29 01:08:22,638.638 INFO    ] ================================================
[2026-08-29 01:08:23,210.210 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:08:23
[2026-08-29 01:08:23,707.707 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:08:23,955.955 INFO    ] Initializing speech engine...
[2026-08-29 01:08:23,969.969 INFO    ] 2026-08-29 01:08:23
[2026-08-29 01:08:24,234.234 INFO    ] 2026-08-29 01:08:24
[2026-08-29 01:08:24,270.270 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:08:24,458.458 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:08:24,473.473 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:08:24,605.605 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:08:24,614.614 INFO    ] time= 29/08/2026 01:08:24
[2026-08-29 01:08:24,620.620 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:08:24,632.632 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:08:24,768.768 INFO    ] No existing commands found in stream
[2026-08-29 01:08:29,798.798 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:08:29,801.801 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-08-29 01:08:33,685.685 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:08:33,688.688 INFO    ] Checking for system updates...
[2026-08-29 01:08:33,723.723 INFO    ] 200
[2026-08-29 01:08:33,726.726 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:08:33,789.789 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:08:33,791.791 INFO    ] No update needed
[2026-08-29 01:08:33,794.794 INFO    ] Checking for camera pi updates...
[2026-08-29 01:08:33,833.833 INFO    ] 200
[2026-08-29 01:08:33,836.836 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:08:33,880.880 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:08:33,982.982 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:08:33,985.985 INFO    ] No camera update needed
[2026-08-29 01:08:33,987.987 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:08:33,989.989 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:08:33,995.995 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:08:34,000.000 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:08:36,041.041 INFO    ] ================================================
[2026-08-29 01:08:36,057.057 INFO    ] Launching Daemon at Sat Aug 29 01:08:36 IST 2026
[2026-08-29 01:08:36,068.068 INFO    ] ================================================
[2026-08-29 01:08:36,417.417 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:08:36
[2026-08-29 01:08:36,727.727 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:08:36,865.865 INFO    ] Initializing speech engine...
[2026-08-29 01:08:36,875.875 INFO    ] 2026-08-29 01:08:36
[2026-08-29 01:08:37,080.080 INFO    ] 2026-08-29 01:08:37
[2026-08-29 01:08:37,108.108 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:08:37,232.232 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:08:37,275.275 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:08:37,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:08:37,494.494 INFO    ] time= 29/08/2026 01:08:37
[2026-08-29 01:08:37,548.548 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:08:37,602.602 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:08:37,713.713 INFO    ] No existing commands found in stream
[2026-08-29 01:08:42,743.743 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:08:42,746.746 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-08-29 01:08:45,743.743 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:08:45,744.744 INFO    ] Checking for system updates...
[2026-08-29 01:08:45,765.765 INFO    ] 200
[2026-08-29 01:08:45,766.766 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:08:45,798.798 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:08:45,799.799 INFO    ] No update needed
[2026-08-29 01:08:45,801.801 INFO    ] Checking for camera pi updates...
[2026-08-29 01:08:45,821.821 INFO    ] 200
[2026-08-29 01:08:45,822.822 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:08:45,847.847 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:08:45,958.958 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:08:45,959.959 INFO    ] No camera update needed
[2026-08-29 01:08:45,960.960 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:08:45,962.962 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:08:45,965.965 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:08:45,967.967 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:08:48,006.006 INFO    ] ================================================
[2026-08-29 01:08:48,021.021 INFO    ] Launching Daemon at Sat Aug 29 01:08:48 IST 2026
[2026-08-29 01:08:48,032.032 INFO    ] ================================================
[2026-08-29 01:08:48,360.360 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:08:48
[2026-08-29 01:08:48,675.675 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:08:48,811.811 INFO    ] Initializing speech engine...
[2026-08-29 01:08:48,824.824 INFO    ] 2026-08-29 01:08:48
[2026-08-29 01:08:49,043.043 INFO    ] 2026-08-29 01:08:49
[2026-08-29 01:08:49,072.072 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:08:49,203.203 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:08:49,241.241 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:08:49,384.384 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:08:49,413.413 INFO    ] time= 29/08/2026 01:08:49
[2026-08-29 01:08:49,474.474 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:08:49,514.514 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:08:49,593.593 INFO    ] No existing commands found in stream
[2026-08-29 01:08:54,604.604 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:08:54,607.607 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-08-29 01:08:58,777.777 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:08:58,779.779 INFO    ] Checking for system updates...
[2026-08-29 01:08:58,800.800 INFO    ] 200
[2026-08-29 01:08:58,802.802 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:08:58,834.834 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:08:58,835.835 INFO    ] No update needed
[2026-08-29 01:08:58,836.836 INFO    ] Checking for camera pi updates...
[2026-08-29 01:08:58,855.855 INFO    ] 200
[2026-08-29 01:08:58,856.856 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:08:58,881.881 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:08:58,963.963 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:08:58,964.964 INFO    ] No camera update needed
[2026-08-29 01:08:58,965.965 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:08:58,967.967 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:08:58,970.970 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:08:58,972.972 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:09:01,012.012 INFO    ] ================================================
[2026-08-29 01:09:01,027.027 INFO    ] Launching Daemon at Sat Aug 29 01:09:01 IST 2026
[2026-08-29 01:09:01,038.038 INFO    ] ================================================
[2026-08-29 01:09:01,373.373 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:09:01
[2026-08-29 01:09:01,688.688 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:09:01,827.827 INFO    ] Initializing speech engine...
[2026-08-29 01:09:01,835.835 INFO    ] 2026-08-29 01:09:01
[2026-08-29 01:09:02,238.238 INFO    ] 2026-08-29 01:09:02
[2026-08-29 01:09:02,383.383 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:09:02,557.557 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:09:02,571.571 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:09:02,733.733 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:09:02,786.786 INFO    ] time= 29/08/2026 01:09:02
[2026-08-29 01:09:02,837.837 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:09:02,878.878 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:09:02,939.939 INFO    ] No existing commands found in stream
[2026-08-29 01:09:07,960.960 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:09:07,963.963 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-08-29 01:09:09,844.844 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:09:09,846.846 INFO    ] Checking for system updates...
[2026-08-29 01:09:09,883.883 INFO    ] 200
[2026-08-29 01:09:09,886.886 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:09:09,939.939 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:09:09,941.941 INFO    ] No update needed
[2026-08-29 01:09:09,944.944 INFO    ] Checking for camera pi updates...
[2026-08-29 01:09:09,981.981 INFO    ] 200
[2026-08-29 01:09:09,984.984 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:09:10,024.024 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:09:10,127.127 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:09:10,129.129 INFO    ] No camera update needed
[2026-08-29 01:09:10,131.131 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:09:10,134.134 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:09:10,139.139 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:09:10,144.144 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:09:12,184.184 INFO    ] ================================================
[2026-08-29 01:09:12,199.199 INFO    ] Launching Daemon at Sat Aug 29 01:09:12 IST 2026
[2026-08-29 01:09:12,210.210 INFO    ] ================================================
[2026-08-29 01:09:12,561.561 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:09:12
[2026-08-29 01:09:12,905.905 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:09:13,057.057 INFO    ] Initializing speech engine...
[2026-08-29 01:09:13,063.063 INFO    ] 2026-08-29 01:09:13
[2026-08-29 01:09:13,270.270 INFO    ] 2026-08-29 01:09:13
[2026-08-29 01:09:13,298.298 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:09:13,421.421 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:09:13,484.484 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:09:13,619.619 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:09:13,686.686 INFO    ] time= 29/08/2026 01:09:13
[2026-08-29 01:09:13,712.712 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:09:13,714.714 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:09:13,786.786 INFO    ] No existing commands found in stream
[2026-08-29 01:09:18,795.795 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:09:18,798.798 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-08-29 01:09:20,688.688 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:09:20,689.689 INFO    ] Checking for system updates...
[2026-08-29 01:09:20,713.713 INFO    ] 200
[2026-08-29 01:09:20,715.715 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:09:20,748.748 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:09:20,749.749 INFO    ] No update needed
[2026-08-29 01:09:20,751.751 INFO    ] Checking for camera pi updates...
[2026-08-29 01:09:20,771.771 INFO    ] 200
[2026-08-29 01:09:20,773.773 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:09:20,800.800 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:09:20,904.904 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:09:20,906.906 INFO    ] No camera update needed
[2026-08-29 01:09:20,907.907 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:09:20,909.909 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:09:20,912.912 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:09:20,915.915 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:09:22,954.954 INFO    ] ================================================
[2026-08-29 01:09:22,969.969 INFO    ] Launching Daemon at Sat Aug 29 01:09:22 IST 2026
[2026-08-29 01:09:22,980.980 INFO    ] ================================================
[2026-08-29 01:09:23,330.330 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:09:23
[2026-08-29 01:09:23,642.642 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:09:23,903.903 INFO    ] Initializing speech engine...
[2026-08-29 01:09:23,912.912 INFO    ] 2026-08-29 01:09:23
[2026-08-29 01:09:24,160.160 INFO    ] 2026-08-29 01:09:24
[2026-08-29 01:09:24,195.195 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:09:24,368.368 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:09:24,381.381 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:09:24,521.521 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:09:24,529.529 INFO    ] time= 29/08/2026 01:09:24
[2026-08-29 01:09:24,536.536 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:09:24,589.589 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:09:24,699.699 INFO    ] No existing commands found in stream
[2026-08-29 01:09:29,735.735 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:09:29,737.737 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-08-29 01:09:30,658.658 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:09:30,660.660 INFO    ] Checking for system updates...
[2026-08-29 01:09:30,681.681 INFO    ] 200
[2026-08-29 01:09:30,683.683 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:09:30,713.713 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:09:30,714.714 INFO    ] No update needed
[2026-08-29 01:09:30,715.715 INFO    ] Checking for camera pi updates...
[2026-08-29 01:09:30,738.738 INFO    ] 200
[2026-08-29 01:09:30,740.740 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:09:30,765.765 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:09:30,858.858 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:09:30,860.860 INFO    ] No camera update needed
[2026-08-29 01:09:30,861.861 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:09:30,863.863 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:09:30,866.866 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:09:30,869.869 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:09:32,909.909 INFO    ] ================================================
[2026-08-29 01:09:33,005.005 INFO    ] Launching Daemon at Sat Aug 29 01:09:32 IST 2026
[2026-08-29 01:09:33,015.015 INFO    ] ================================================
[2026-08-29 01:09:33,589.589 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:09:33
[2026-08-29 01:09:34,172.172 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:09:34,442.442 INFO    ] Initializing speech engine...
[2026-08-29 01:09:34,451.451 INFO    ] 2026-08-29 01:09:34
[2026-08-29 01:09:34,696.696 INFO    ] 2026-08-29 01:09:34
[2026-08-29 01:09:34,731.731 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:09:34,902.902 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:09:34,915.915 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:09:35,056.056 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:09:35,064.064 INFO    ] time= 29/08/2026 01:09:35
[2026-08-29 01:09:35,070.070 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:09:35,082.082 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:09:35,202.202 INFO    ] No existing commands found in stream
[2026-08-29 01:09:40,227.227 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:09:40,230.230 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-08-29 01:09:42,224.224 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:09:42,226.226 INFO    ] Checking for system updates...
[2026-08-29 01:09:42,265.265 INFO    ] 200
[2026-08-29 01:09:42,268.268 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:09:42,320.320 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:09:42,323.323 INFO    ] No update needed
[2026-08-29 01:09:42,325.325 INFO    ] Checking for camera pi updates...
[2026-08-29 01:09:42,367.367 INFO    ] 200
[2026-08-29 01:09:42,370.370 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:09:42,414.414 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:09:42,602.602 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:09:42,603.603 INFO    ] No camera update needed
[2026-08-29 01:09:42,604.604 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:09:42,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:09:42,608.608 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:09:42,611.611 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:09:44,651.651 INFO    ] ================================================
[2026-08-29 01:09:44,666.666 INFO    ] Launching Daemon at Sat Aug 29 01:09:44 IST 2026
[2026-08-29 01:09:44,677.677 INFO    ] ================================================
[2026-08-29 01:09:45,249.249 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:09:45
[2026-08-29 01:09:45,755.755 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:09:46,007.007 INFO    ] Initializing speech engine...
[2026-08-29 01:09:46,021.021 INFO    ] 2026-08-29 01:09:46
[2026-08-29 01:09:46,287.287 INFO    ] 2026-08-29 01:09:46
[2026-08-29 01:09:46,322.322 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:09:46,499.499 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:09:46,510.510 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:09:46,654.654 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:09:46,663.663 INFO    ] time= 29/08/2026 01:09:46
[2026-08-29 01:09:46,669.669 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:09:46,699.699 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:09:46,822.822 INFO    ] No existing commands found in stream
[2026-08-29 01:09:51,852.852 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:09:51,855.855 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-08-29 01:09:54,770.770 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:09:54,772.772 INFO    ] Checking for system updates...
[2026-08-29 01:09:54,792.792 INFO    ] 200
[2026-08-29 01:09:54,795.795 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:09:54,828.828 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:09:54,829.829 INFO    ] No update needed
[2026-08-29 01:09:54,830.830 INFO    ] Checking for camera pi updates...
[2026-08-29 01:09:54,851.851 INFO    ] 200
[2026-08-29 01:09:54,852.852 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:09:54,875.875 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:09:54,967.967 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:09:54,969.969 INFO    ] No camera update needed
[2026-08-29 01:09:54,970.970 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:09:54,971.971 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:09:54,974.974 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:09:54,977.977 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:09:57,016.016 INFO    ] ================================================
[2026-08-29 01:09:57,032.032 INFO    ] Launching Daemon at Sat Aug 29 01:09:57 IST 2026
[2026-08-29 01:09:57,042.042 INFO    ] ================================================
[2026-08-29 01:09:57,401.401 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:09:57
[2026-08-29 01:09:57,949.949 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:09:58,219.219 INFO    ] Initializing speech engine...
[2026-08-29 01:09:58,227.227 INFO    ] 2026-08-29 01:09:58
[2026-08-29 01:09:58,481.481 INFO    ] 2026-08-29 01:09:58
[2026-08-29 01:09:58,516.516 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:09:58,688.688 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:09:58,699.699 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:09:58,825.825 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:09:58,848.848 INFO    ] time= 29/08/2026 01:09:58
[2026-08-29 01:09:58,853.853 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:09:58,859.859 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:09:58,926.926 INFO    ] No existing commands found in stream
[2026-08-29 01:10:03,961.961 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:10:03,964.964 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-08-29 01:10:08,599.599 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:10:08,601.601 INFO    ] Checking for system updates...
[2026-08-29 01:10:08,622.622 INFO    ] 200
[2026-08-29 01:10:08,623.623 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:10:08,655.655 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:10:08,656.656 INFO    ] No update needed
[2026-08-29 01:10:08,657.657 INFO    ] Checking for camera pi updates...
[2026-08-29 01:10:08,677.677 INFO    ] 200
[2026-08-29 01:10:08,679.679 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:10:08,702.702 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:10:08,801.801 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:10:08,802.802 INFO    ] No camera update needed
[2026-08-29 01:10:08,803.803 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:10:08,805.805 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:10:08,807.807 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:10:08,810.810 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:10:10,853.853 INFO    ] ================================================
[2026-08-29 01:10:10,868.868 INFO    ] Launching Daemon at Sat Aug 29 01:10:10 IST 2026
[2026-08-29 01:10:10,878.878 INFO    ] ================================================
[2026-08-29 01:10:11,228.228 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:10:11
[2026-08-29 01:10:11,780.780 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:10:12,053.053 INFO    ] Initializing speech engine...
[2026-08-29 01:10:12,062.062 INFO    ] 2026-08-29 01:10:12
[2026-08-29 01:10:12,318.318 INFO    ] 2026-08-29 01:10:12
[2026-08-29 01:10:12,348.348 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:10:12,512.512 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:10:12,523.523 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:10:12,649.649 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:10:12,668.668 INFO    ] time= 29/08/2026 01:10:12
[2026-08-29 01:10:12,677.677 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:10:12,683.683 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:10:12,750.750 INFO    ] No existing commands found in stream
[2026-08-29 01:10:17,764.764 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:10:17,767.767 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-08-29 01:10:18,312.312 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:10:18,314.314 INFO    ] Checking for system updates...
[2026-08-29 01:10:18,335.335 INFO    ] 200
[2026-08-29 01:10:18,337.337 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:10:18,369.369 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:10:18,370.370 INFO    ] No update needed
[2026-08-29 01:10:18,371.371 INFO    ] Checking for camera pi updates...
[2026-08-29 01:10:18,391.391 INFO    ] 200
[2026-08-29 01:10:18,392.392 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:10:18,429.429 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:10:18,524.524 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:10:18,525.525 INFO    ] No camera update needed
[2026-08-29 01:10:18,527.527 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:10:18,528.528 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:10:18,531.531 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:10:18,533.533 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:10:20,572.572 INFO    ] ================================================
[2026-08-29 01:10:20,588.588 INFO    ] Launching Daemon at Sat Aug 29 01:10:20 IST 2026
[2026-08-29 01:10:20,598.598 INFO    ] ================================================
[2026-08-29 01:10:20,965.965 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:10:20
[2026-08-29 01:10:21,306.306 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:10:21,564.564 INFO    ] Initializing speech engine...
[2026-08-29 01:10:21,571.571 INFO    ] 2026-08-29 01:10:21
[2026-08-29 01:10:21,868.868 INFO    ] 2026-08-29 01:10:21
[2026-08-29 01:10:21,903.903 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:10:22,053.053 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:10:22,061.061 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:10:22,216.216 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:10:22,226.226 INFO    ] time= 29/08/2026 01:10:22
[2026-08-29 01:10:22,232.232 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:10:22,256.256 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:10:22,313.313 INFO    ] No existing commands found in stream
[2026-08-29 01:10:27,326.326 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:10:27,328.328 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-08-29 01:10:30,635.635 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:10:30,637.637 INFO    ] Checking for system updates...
[2026-08-29 01:10:30,657.657 INFO    ] 200
[2026-08-29 01:10:30,658.658 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:10:30,691.691 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:10:30,692.692 INFO    ] No update needed
[2026-08-29 01:10:30,693.693 INFO    ] Checking for camera pi updates...
[2026-08-29 01:10:30,712.712 INFO    ] 200
[2026-08-29 01:10:30,714.714 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:10:30,738.738 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:10:30,838.838 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:10:30,840.840 INFO    ] No camera update needed
[2026-08-29 01:10:30,843.843 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:10:30,845.845 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:10:30,850.850 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:10:30,855.855 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:10:32,900.900 INFO    ] ================================================
[2026-08-29 01:10:32,916.916 INFO    ] Launching Daemon at Sat Aug 29 01:10:32 IST 2026
[2026-08-29 01:10:32,928.928 INFO    ] ================================================
[2026-08-29 01:10:33,542.542 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:10:33
[2026-08-29 01:10:34,004.004 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:10:34,225.225 INFO    ] Initializing speech engine...
[2026-08-29 01:10:34,234.234 INFO    ] 2026-08-29 01:10:34
[2026-08-29 01:10:34,483.483 INFO    ] 2026-08-29 01:10:34
[2026-08-29 01:10:34,506.506 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:10:34,654.654 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:10:34,661.661 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:10:34,798.798 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:10:34,807.807 INFO    ] time= 29/08/2026 01:10:34
[2026-08-29 01:10:34,812.812 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:10:34,833.833 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:10:34,880.880 INFO    ] No existing commands found in stream
[2026-08-29 01:10:39,892.892 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:10:39,895.895 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-08-29 01:10:43,293.293 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:10:43,295.295 INFO    ] Checking for system updates...
[2026-08-29 01:10:43,316.316 INFO    ] 200
[2026-08-29 01:10:43,317.317 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:10:43,349.349 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:10:43,351.351 INFO    ] No update needed
[2026-08-29 01:10:43,352.352 INFO    ] Checking for camera pi updates...
[2026-08-29 01:10:43,373.373 INFO    ] 200
[2026-08-29 01:10:43,374.374 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:10:43,398.398 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:10:43,479.479 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:10:43,480.480 INFO    ] No camera update needed
[2026-08-29 01:10:43,481.481 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:10:43,483.483 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:10:43,486.486 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:10:43,488.488 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:10:45,528.528 INFO    ] ================================================
[2026-08-29 01:10:45,543.543 INFO    ] Launching Daemon at Sat Aug 29 01:10:45 IST 2026
[2026-08-29 01:10:45,553.553 INFO    ] ================================================
[2026-08-29 01:10:46,027.027 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:10:46
[2026-08-29 01:10:46,620.620 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:10:46,887.887 INFO    ] Initializing speech engine...
[2026-08-29 01:10:46,896.896 INFO    ] 2026-08-29 01:10:46
[2026-08-29 01:10:47,142.142 INFO    ] 2026-08-29 01:10:47
[2026-08-29 01:10:47,178.178 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:10:47,350.350 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:10:47,361.361 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:10:47,469.469 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:10:47,475.475 INFO    ] time= 29/08/2026 01:10:47
[2026-08-29 01:10:47,493.493 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:10:47,515.515 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:10:47,585.585 INFO    ] No existing commands found in stream
[2026-08-29 01:10:52,598.598 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:10:52,600.600 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 01:10:53,232.232 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:10:53,234.234 INFO    ] Checking for system updates...
[2026-08-29 01:10:53,254.254 INFO    ] 200
[2026-08-29 01:10:53,256.256 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:10:53,288.288 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:10:53,289.289 INFO    ] No update needed
[2026-08-29 01:10:53,290.290 INFO    ] Checking for camera pi updates...
[2026-08-29 01:10:53,313.313 INFO    ] 200
[2026-08-29 01:10:53,315.315 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:10:53,341.341 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:10:53,443.443 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:10:53,445.445 INFO    ] No camera update needed
[2026-08-29 01:10:53,448.448 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:10:53,451.451 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:10:53,457.457 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:10:53,462.462 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:10:55,503.503 INFO    ] ================================================
[2026-08-29 01:10:55,518.518 INFO    ] Launching Daemon at Sat Aug 29 01:10:55 IST 2026
[2026-08-29 01:10:55,529.529 INFO    ] ================================================
[2026-08-29 01:10:56,096.096 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:10:56
[2026-08-29 01:10:56,577.577 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:10:56,723.723 INFO    ] Initializing speech engine...
[2026-08-29 01:10:56,728.728 INFO    ] 2026-08-29 01:10:56
[2026-08-29 01:10:56,943.943 INFO    ] 2026-08-29 01:10:56
[2026-08-29 01:10:56,989.989 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:10:57,138.138 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:10:57,142.142 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:10:57,340.340 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:10:57,394.394 INFO    ] time= 29/08/2026 01:10:57
[2026-08-29 01:10:57,412.412 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:10:57,428.428 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:10:57,527.527 INFO    ] No existing commands found in stream
[2026-08-29 01:11:02,555.555 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:11:02,559.559 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-08-29 01:11:05,892.892 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:11:05,894.894 INFO    ] Checking for system updates...
[2026-08-29 01:11:05,915.915 INFO    ] 200
[2026-08-29 01:11:05,916.916 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:11:05,946.946 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:11:05,947.947 INFO    ] No update needed
[2026-08-29 01:11:05,948.948 INFO    ] Checking for camera pi updates...
[2026-08-29 01:11:05,968.968 INFO    ] 200
[2026-08-29 01:11:05,969.969 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:11:05,992.992 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:11:06,090.090 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:11:06,093.093 INFO    ] No camera update needed
[2026-08-29 01:11:06,095.095 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:11:06,097.097 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:11:06,102.102 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:11:06,107.107 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:11:08,147.147 INFO    ] ================================================
[2026-08-29 01:11:08,163.163 INFO    ] Launching Daemon at Sat Aug 29 01:11:08 IST 2026
[2026-08-29 01:11:08,173.173 INFO    ] ================================================
[2026-08-29 01:11:08,753.753 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:11:08
[2026-08-29 01:11:09,391.391 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:11:09,683.683 INFO    ] Initializing speech engine...
[2026-08-29 01:11:09,690.690 INFO    ] 2026-08-29 01:11:09
[2026-08-29 01:11:09,956.956 INFO    ] 2026-08-29 01:11:09
[2026-08-29 01:11:10,011.011 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:11:10,234.234 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:11:10,244.244 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:11:10,376.376 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:11:10,413.413 INFO    ] time= 29/08/2026 01:11:10
[2026-08-29 01:11:10,463.463 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:11:10,510.510 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:11:10,563.563 INFO    ] No existing commands found in stream
[2026-08-29 01:11:15,575.575 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:11:15,578.578 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-08-29 01:11:16,834.834 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:11:16,836.836 INFO    ] Checking for system updates...
[2026-08-29 01:11:16,857.857 INFO    ] 200
[2026-08-29 01:11:16,858.858 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:11:16,892.892 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:11:16,894.894 INFO    ] No update needed
[2026-08-29 01:11:16,895.895 INFO    ] Checking for camera pi updates...
[2026-08-29 01:11:16,917.917 INFO    ] 200
[2026-08-29 01:11:16,919.919 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:11:16,944.944 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:11:17,006.006 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:11:17,008.008 INFO    ] No camera update needed
[2026-08-29 01:11:17,009.009 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:11:17,010.010 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:11:17,014.014 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:11:17,016.016 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:11:19,055.055 INFO    ] ================================================
[2026-08-29 01:11:19,070.070 INFO    ] Launching Daemon at Sat Aug 29 01:11:19 IST 2026
[2026-08-29 01:11:19,080.080 INFO    ] ================================================
[2026-08-29 01:11:19,438.438 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:11:19
[2026-08-29 01:11:20,012.012 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:11:20,282.282 INFO    ] Initializing speech engine...
[2026-08-29 01:11:20,290.290 INFO    ] 2026-08-29 01:11:20
[2026-08-29 01:11:20,537.537 INFO    ] 2026-08-29 01:11:20
[2026-08-29 01:11:20,578.578 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:11:20,744.744 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:11:20,767.767 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:11:20,896.896 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:11:20,905.905 INFO    ] time= 29/08/2026 01:11:20
[2026-08-29 01:11:20,911.911 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:11:20,947.947 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:11:21,071.071 INFO    ] No existing commands found in stream
[2026-08-29 01:11:26,101.101 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:11:26,104.104 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-08-29 01:11:28,300.300 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:11:28,301.301 INFO    ] Checking for system updates...
[2026-08-29 01:11:28,322.322 INFO    ] 200
[2026-08-29 01:11:28,324.324 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:11:28,355.355 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:11:28,356.356 INFO    ] No update needed
[2026-08-29 01:11:28,357.357 INFO    ] Checking for camera pi updates...
[2026-08-29 01:11:28,376.376 INFO    ] 200
[2026-08-29 01:11:28,377.377 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:11:28,404.404 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:11:28,502.502 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:11:28,503.503 INFO    ] No camera update needed
[2026-08-29 01:11:28,504.504 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:11:28,506.506 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:11:28,508.508 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:11:28,511.511 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:11:30,552.552 INFO    ] ================================================
[2026-08-29 01:11:30,567.567 INFO    ] Launching Daemon at Sat Aug 29 01:11:30 IST 2026
[2026-08-29 01:11:30,577.577 INFO    ] ================================================
[2026-08-29 01:11:30,943.943 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:11:30
[2026-08-29 01:11:31,261.261 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:11:31,405.405 INFO    ] Initializing speech engine...
[2026-08-29 01:11:31,409.409 INFO    ] 2026-08-29 01:11:31
[2026-08-29 01:11:31,614.614 INFO    ] 2026-08-29 01:11:31
[2026-08-29 01:11:31,644.644 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:11:31,781.781 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:11:31,831.831 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:11:31,960.960 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:11:31,991.991 INFO    ] time= 29/08/2026 01:11:31
[2026-08-29 01:11:32,053.053 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:11:32,095.095 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:11:32,233.233 INFO    ] No existing commands found in stream
[2026-08-29 01:11:37,255.255 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:11:37,257.257 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-08-29 01:11:40,717.717 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:11:40,719.719 INFO    ] Checking for system updates...
[2026-08-29 01:11:40,739.739 INFO    ] 200
[2026-08-29 01:11:40,740.740 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:11:40,771.771 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:11:40,773.773 INFO    ] No update needed
[2026-08-29 01:11:40,774.774 INFO    ] Checking for camera pi updates...
[2026-08-29 01:11:40,793.793 INFO    ] 200
[2026-08-29 01:11:40,795.795 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:11:40,818.818 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:11:40,913.913 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:11:40,914.914 INFO    ] No camera update needed
[2026-08-29 01:11:40,915.915 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:11:40,917.917 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:11:40,919.919 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:11:40,922.922 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:11:42,960.960 INFO    ] ================================================
[2026-08-29 01:11:42,975.975 INFO    ] Launching Daemon at Sat Aug 29 01:11:42 IST 2026
[2026-08-29 01:11:42,985.985 INFO    ] ================================================
[2026-08-29 01:11:43,487.487 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:11:43
[2026-08-29 01:11:44,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:11:44,356.356 INFO    ] Initializing speech engine...
[2026-08-29 01:11:44,366.366 INFO    ] 2026-08-29 01:11:44
[2026-08-29 01:11:44,627.627 INFO    ] 2026-08-29 01:11:44
[2026-08-29 01:11:44,663.663 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:11:44,850.850 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:11:44,857.857 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:11:44,980.980 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:11:44,986.986 INFO    ] time= 29/08/2026 01:11:44
[2026-08-29 01:11:44,993.993 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:11:45,011.011 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:11:45,109.109 INFO    ] No existing commands found in stream
[2026-08-29 01:11:50,119.119 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:11:50,122.122 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-08-29 01:11:52,572.572 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:11:52,574.574 INFO    ] Checking for system updates...
[2026-08-29 01:11:52,594.594 INFO    ] 200
[2026-08-29 01:11:52,595.595 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:11:52,627.627 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:11:52,628.628 INFO    ] No update needed
[2026-08-29 01:11:52,629.629 INFO    ] Checking for camera pi updates...
[2026-08-29 01:11:52,649.649 INFO    ] 200
[2026-08-29 01:11:52,650.650 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:11:52,674.674 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:11:52,874.874 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:11:52,875.875 INFO    ] No camera update needed
[2026-08-29 01:11:52,876.876 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:11:52,878.878 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:11:52,881.881 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:11:52,884.884 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:11:54,922.922 INFO    ] ================================================
[2026-08-29 01:11:54,937.937 INFO    ] Launching Daemon at Sat Aug 29 01:11:54 IST 2026
[2026-08-29 01:11:54,948.948 INFO    ] ================================================
[2026-08-29 01:11:55,296.296 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:11:55
[2026-08-29 01:11:55,626.626 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:11:55,769.769 INFO    ] Initializing speech engine...
[2026-08-29 01:11:55,781.781 INFO    ] 2026-08-29 01:11:55
[2026-08-29 01:11:55,992.992 INFO    ] 2026-08-29 01:11:55
[2026-08-29 01:11:56,021.021 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:11:56,161.161 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:11:56,210.210 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:11:56,346.346 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:11:56,407.407 INFO    ] time= 29/08/2026 01:11:56
[2026-08-29 01:11:56,446.446 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:11:56,453.453 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:11:56,521.521 INFO    ] No existing commands found in stream
[2026-08-29 01:12:01,532.532 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:12:01,535.535 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 01:12:02,231.231 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:12:02,234.234 INFO    ] Checking for system updates...
[2026-08-29 01:12:02,278.278 INFO    ] 200
[2026-08-29 01:12:02,280.280 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:12:02,340.340 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:12:02,343.343 INFO    ] No update needed
[2026-08-29 01:12:02,346.346 INFO    ] Checking for camera pi updates...
[2026-08-29 01:12:02,397.397 INFO    ] 200
[2026-08-29 01:12:02,401.401 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:12:02,465.465 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:12:02,582.582 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:12:02,585.585 INFO    ] No camera update needed
[2026-08-29 01:12:02,588.588 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:12:02,590.590 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:12:02,597.597 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:12:02,603.603 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:12:04,645.645 INFO    ] ================================================
[2026-08-29 01:12:04,660.660 INFO    ] Launching Daemon at Sat Aug 29 01:12:04 IST 2026
[2026-08-29 01:12:04,671.671 INFO    ] ================================================
[2026-08-29 01:12:05,092.092 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:12:05
[2026-08-29 01:12:05,405.405 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:12:05,642.642 INFO    ] Initializing speech engine...
[2026-08-29 01:12:05,655.655 INFO    ] 2026-08-29 01:12:05
[2026-08-29 01:12:05,941.941 INFO    ] 2026-08-29 01:12:05
[2026-08-29 01:12:05,975.975 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:12:06,125.125 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:12:06,138.138 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:12:06,282.282 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:12:06,293.293 INFO    ] time= 29/08/2026 01:12:06
[2026-08-29 01:12:06,297.297 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:12:06,302.302 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:12:06,368.368 INFO    ] No existing commands found in stream
[2026-08-29 01:12:11,383.383 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:12:11,385.385 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-08-29 01:12:15,251.251 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:12:15,252.252 INFO    ] Checking for system updates...
[2026-08-29 01:12:15,274.274 INFO    ] 200
[2026-08-29 01:12:15,275.275 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:12:15,305.305 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:12:15,307.307 INFO    ] No update needed
[2026-08-29 01:12:15,308.308 INFO    ] Checking for camera pi updates...
[2026-08-29 01:12:15,330.330 INFO    ] 200
[2026-08-29 01:12:15,331.331 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:12:15,357.357 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:12:15,435.435 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:12:15,437.437 INFO    ] No camera update needed
[2026-08-29 01:12:15,438.438 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:12:15,439.439 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:12:15,442.442 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:12:15,445.445 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:12:17,485.485 INFO    ] ================================================
[2026-08-29 01:12:17,500.500 INFO    ] Launching Daemon at Sat Aug 29 01:12:17 IST 2026
[2026-08-29 01:12:17,511.511 INFO    ] ================================================
[2026-08-29 01:12:17,876.876 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:12:17
[2026-08-29 01:12:18,188.188 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:12:18,324.324 INFO    ] Initializing speech engine...
[2026-08-29 01:12:18,332.332 INFO    ] 2026-08-29 01:12:18
[2026-08-29 01:12:18,547.547 INFO    ] 2026-08-29 01:12:18
[2026-08-29 01:12:18,630.630 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:12:18,781.781 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:12:18,786.786 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:12:18,917.917 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:12:18,934.934 INFO    ] time= 29/08/2026 01:12:18
[2026-08-29 01:12:18,994.994 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:12:19,051.051 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:12:19,112.112 INFO    ] No existing commands found in stream
[2026-08-29 01:12:24,141.141 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:12:24,144.144 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-08-29 01:12:25,590.590 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:12:25,591.591 INFO    ] Checking for system updates...
[2026-08-29 01:12:25,612.612 INFO    ] 200
[2026-08-29 01:12:25,614.614 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:12:25,645.645 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:12:25,647.647 INFO    ] No update needed
[2026-08-29 01:12:25,649.649 INFO    ] Checking for camera pi updates...
[2026-08-29 01:12:25,669.669 INFO    ] 200
[2026-08-29 01:12:25,671.671 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:12:25,694.694 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:12:25,786.786 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:12:25,788.788 INFO    ] No camera update needed
[2026-08-29 01:12:25,789.789 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:12:25,790.790 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:12:25,794.794 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:12:25,796.796 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:12:27,836.836 INFO    ] ================================================
[2026-08-29 01:12:27,851.851 INFO    ] Launching Daemon at Sat Aug 29 01:12:27 IST 2026
[2026-08-29 01:12:27,862.862 INFO    ] ================================================
[2026-08-29 01:12:28,502.502 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:12:28
[2026-08-29 01:12:29,157.157 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:12:29,339.339 INFO    ] Initializing speech engine...
[2026-08-29 01:12:29,344.344 INFO    ] 2026-08-29 01:12:29
[2026-08-29 01:12:29,556.556 INFO    ] 2026-08-29 01:12:29
[2026-08-29 01:12:29,601.601 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:12:29,747.747 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:12:29,809.809 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:12:29,947.947 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:12:30,014.014 INFO    ] time= 29/08/2026 01:12:29
[2026-08-29 01:12:30,037.037 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:12:30,044.044 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:12:30,110.110 INFO    ] No existing commands found in stream
[2026-08-29 01:12:35,120.120 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:12:35,123.123 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-08-29 01:12:38,873.873 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:12:38,874.874 INFO    ] Checking for system updates...
[2026-08-29 01:12:38,894.894 INFO    ] 200
[2026-08-29 01:12:38,896.896 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:12:38,928.928 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:12:38,929.929 INFO    ] No update needed
[2026-08-29 01:12:38,930.930 INFO    ] Checking for camera pi updates...
[2026-08-29 01:12:38,950.950 INFO    ] 200
[2026-08-29 01:12:38,951.951 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:12:38,976.976 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:12:39,056.056 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:12:39,058.058 INFO    ] No camera update needed
[2026-08-29 01:12:39,059.059 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:12:39,060.060 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:12:39,063.063 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:12:39,066.066 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:12:41,105.105 INFO    ] ================================================
[2026-08-29 01:12:41,121.121 INFO    ] Launching Daemon at Sat Aug 29 01:12:41 IST 2026
[2026-08-29 01:12:41,132.132 INFO    ] ================================================
[2026-08-29 01:12:41,518.518 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:12:41
[2026-08-29 01:12:41,854.854 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:12:42,076.076 INFO    ] Initializing speech engine...
[2026-08-29 01:12:42,083.083 INFO    ] 2026-08-29 01:12:42
[2026-08-29 01:12:42,355.355 INFO    ] 2026-08-29 01:12:42
[2026-08-29 01:12:42,409.409 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:12:42,638.638 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:12:42,644.644 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:12:42,779.779 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:12:42,835.835 INFO    ] time= 29/08/2026 01:12:42
[2026-08-29 01:12:42,890.890 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:12:42,911.911 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:12:42,968.968 INFO    ] No existing commands found in stream
[2026-08-29 01:12:47,981.981 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:12:47,985.985 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-08-29 01:12:48,794.794 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:12:48,796.796 INFO    ] Checking for system updates...
[2026-08-29 01:12:48,820.820 INFO    ] 200
[2026-08-29 01:12:48,821.821 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:12:48,852.852 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:12:48,854.854 INFO    ] No update needed
[2026-08-29 01:12:48,855.855 INFO    ] Checking for camera pi updates...
[2026-08-29 01:12:48,875.875 INFO    ] 200
[2026-08-29 01:12:48,876.876 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:12:48,899.899 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:12:49,003.003 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:12:49,004.004 INFO    ] No camera update needed
[2026-08-29 01:12:49,006.006 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:12:49,007.007 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:12:49,010.010 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:12:49,013.013 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:12:51,055.055 INFO    ] ================================================
[2026-08-29 01:12:51,070.070 INFO    ] Launching Daemon at Sat Aug 29 01:12:51 IST 2026
[2026-08-29 01:12:51,080.080 INFO    ] ================================================
[2026-08-29 01:12:51,447.447 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:12:51
[2026-08-29 01:12:51,781.781 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:12:51,932.932 INFO    ] Initializing speech engine...
[2026-08-29 01:12:51,937.937 INFO    ] 2026-08-29 01:12:51
[2026-08-29 01:12:52,129.129 INFO    ] 2026-08-29 01:12:52
[2026-08-29 01:12:52,189.189 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:12:52,413.413 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:12:52,423.423 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:12:52,557.557 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:12:52,606.606 INFO    ] time= 29/08/2026 01:12:52
[2026-08-29 01:12:52,666.666 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:12:52,696.696 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:12:52,750.750 INFO    ] No existing commands found in stream
[2026-08-29 01:12:57,762.762 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:12:57,763.763 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-08-29 01:13:01,555.555 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:13:01,557.557 INFO    ] Checking for system updates...
[2026-08-29 01:13:01,577.577 INFO    ] 200
[2026-08-29 01:13:01,579.579 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:13:01,609.609 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:13:01,610.610 INFO    ] No update needed
[2026-08-29 01:13:01,611.611 INFO    ] Checking for camera pi updates...
[2026-08-29 01:13:01,660.660 INFO    ] 200
[2026-08-29 01:13:01,663.663 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:13:01,725.725 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:13:01,858.858 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:13:01,862.862 INFO    ] No camera update needed
[2026-08-29 01:13:01,866.866 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:13:01,870.870 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:13:01,878.878 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:13:01,886.886 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:13:03,943.943 INFO    ] ================================================
[2026-08-29 01:13:03,958.958 INFO    ] Launching Daemon at Sat Aug 29 01:13:03 IST 2026
[2026-08-29 01:13:03,969.969 INFO    ] ================================================
[2026-08-29 01:13:04,538.538 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:13:04
[2026-08-29 01:13:04,989.989 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:13:05,127.127 INFO    ] Initializing speech engine...
[2026-08-29 01:13:05,136.136 INFO    ] 2026-08-29 01:13:05
[2026-08-29 01:13:05,343.343 INFO    ] 2026-08-29 01:13:05
[2026-08-29 01:13:05,371.371 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:13:05,495.495 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:13:05,532.532 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:13:05,660.660 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:13:05,677.677 INFO    ] time= 29/08/2026 01:13:05
[2026-08-29 01:13:05,705.705 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:13:05,773.773 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:13:05,867.867 INFO    ] No existing commands found in stream
[2026-08-29 01:13:10,877.877 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:13:10,880.880 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-08-29 01:13:12,454.454 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:13:12,456.456 INFO    ] Checking for system updates...
[2026-08-29 01:13:12,478.478 INFO    ] 200
[2026-08-29 01:13:12,479.479 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:13:12,509.509 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:13:12,510.510 INFO    ] No update needed
[2026-08-29 01:13:12,512.512 INFO    ] Checking for camera pi updates...
[2026-08-29 01:13:12,531.531 INFO    ] 200
[2026-08-29 01:13:12,532.532 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:13:12,557.557 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:13:12,630.630 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:13:12,631.631 INFO    ] No camera update needed
[2026-08-29 01:13:12,633.633 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:13:12,634.634 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:13:12,637.637 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:13:12,640.640 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:13:14,679.679 INFO    ] ================================================
[2026-08-29 01:13:14,694.694 INFO    ] Launching Daemon at Sat Aug 29 01:13:14 IST 2026
[2026-08-29 01:13:14,704.704 INFO    ] ================================================
[2026-08-29 01:13:15,042.042 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:13:15
[2026-08-29 01:13:15,356.356 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:13:15,493.493 INFO    ] Initializing speech engine...
[2026-08-29 01:13:15,503.503 INFO    ] 2026-08-29 01:13:15
[2026-08-29 01:13:15,708.708 INFO    ] 2026-08-29 01:13:15
[2026-08-29 01:13:15,736.736 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:13:15,856.856 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:13:15,906.906 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:13:16,051.051 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:13:16,112.112 INFO    ] time= 29/08/2026 01:13:16
[2026-08-29 01:13:16,149.149 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:13:16,151.151 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:13:16,221.221 INFO    ] No existing commands found in stream
[2026-08-29 01:13:21,232.232 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:13:21,235.235 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-08-29 01:13:23,049.049 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:13:23,051.051 INFO    ] Checking for system updates...
[2026-08-29 01:13:23,071.071 INFO    ] 200
[2026-08-29 01:13:23,073.073 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:13:23,103.103 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:13:23,104.104 INFO    ] No update needed
[2026-08-29 01:13:23,105.105 INFO    ] Checking for camera pi updates...
[2026-08-29 01:13:23,127.127 INFO    ] 200
[2026-08-29 01:13:23,128.128 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:13:23,151.151 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:13:23,256.256 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:13:23,257.257 INFO    ] No camera update needed
[2026-08-29 01:13:23,258.258 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:13:23,259.259 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:13:23,262.262 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:13:23,265.265 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:13:25,306.306 INFO    ] ================================================
[2026-08-29 01:13:25,321.321 INFO    ] Launching Daemon at Sat Aug 29 01:13:25 IST 2026
[2026-08-29 01:13:25,331.331 INFO    ] ================================================
[2026-08-29 01:13:25,700.700 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:13:25
[2026-08-29 01:13:26,011.011 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:13:26,143.143 INFO    ] Initializing speech engine...
[2026-08-29 01:13:26,146.146 INFO    ] 2026-08-29 01:13:26
[2026-08-29 01:13:26,340.340 INFO    ] 2026-08-29 01:13:26
[2026-08-29 01:13:26,418.418 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:13:26,565.565 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:13:26,574.574 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:13:26,709.709 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:13:26,743.743 INFO    ] time= 29/08/2026 01:13:26
[2026-08-29 01:13:26,787.787 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:13:26,836.836 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:13:26,899.899 INFO    ] No existing commands found in stream
[2026-08-29 01:13:31,918.918 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:13:31,920.920 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-08-29 01:13:33,569.569 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:13:33,572.572 INFO    ] Checking for system updates...
[2026-08-29 01:13:33,608.608 INFO    ] 200
[2026-08-29 01:13:33,610.610 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:13:33,670.670 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:13:33,672.672 INFO    ] No update needed
[2026-08-29 01:13:33,675.675 INFO    ] Checking for camera pi updates...
[2026-08-29 01:13:33,709.709 INFO    ] 200
[2026-08-29 01:13:33,712.712 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:13:33,759.759 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:13:33,851.851 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:13:33,854.854 INFO    ] No camera update needed
[2026-08-29 01:13:33,856.856 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:13:33,859.859 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:13:33,864.864 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:13:33,869.869 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:13:35,912.912 INFO    ] ================================================
[2026-08-29 01:13:35,926.926 INFO    ] Launching Daemon at Sat Aug 29 01:13:35 IST 2026
[2026-08-29 01:13:35,937.937 INFO    ] ================================================
[2026-08-29 01:13:36,435.435 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:13:36
[2026-08-29 01:13:37,018.018 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:13:37,291.291 INFO    ] Initializing speech engine...
[2026-08-29 01:13:37,297.297 INFO    ] 2026-08-29 01:13:37
[2026-08-29 01:13:37,557.557 INFO    ] 2026-08-29 01:13:37
[2026-08-29 01:13:37,587.587 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:13:37,764.764 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:13:37,781.781 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:13:37,908.908 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:13:37,916.916 INFO    ] time= 29/08/2026 01:13:37
[2026-08-29 01:13:37,923.923 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:13:37,968.968 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:13:38,091.091 INFO    ] No existing commands found in stream
[2026-08-29 01:13:43,122.122 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:13:43,125.125 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-08-29 01:13:44,606.606 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:13:44,608.608 INFO    ] Checking for system updates...
[2026-08-29 01:13:44,629.629 INFO    ] 200
[2026-08-29 01:13:44,631.631 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:13:44,663.663 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:13:44,664.664 INFO    ] No update needed
[2026-08-29 01:13:44,666.666 INFO    ] Checking for camera pi updates...
[2026-08-29 01:13:44,685.685 INFO    ] 200
[2026-08-29 01:13:44,686.686 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:13:44,709.709 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:13:44,786.786 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:13:44,787.787 INFO    ] No camera update needed
[2026-08-29 01:13:44,789.789 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:13:44,790.790 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:13:44,794.794 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:13:44,797.797 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:13:46,837.837 INFO    ] ================================================
[2026-08-29 01:13:46,852.852 INFO    ] Launching Daemon at Sat Aug 29 01:13:46 IST 2026
[2026-08-29 01:13:46,863.863 INFO    ] ================================================
[2026-08-29 01:13:47,364.364 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:13:47
[2026-08-29 01:13:47,951.951 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:13:48,217.217 INFO    ] Initializing speech engine...
[2026-08-29 01:13:48,230.230 INFO    ] 2026-08-29 01:13:48
[2026-08-29 01:13:48,476.476 INFO    ] 2026-08-29 01:13:48
[2026-08-29 01:13:48,511.511 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:13:48,685.685 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:13:48,697.697 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:13:48,838.838 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:13:48,846.846 INFO    ] time= 29/08/2026 01:13:48
[2026-08-29 01:13:48,853.853 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:13:48,898.898 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:13:49,022.022 INFO    ] No existing commands found in stream
[2026-08-29 01:13:54,047.047 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:13:54,050.050 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-08-29 01:13:57,058.058 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:13:57,059.059 INFO    ] Checking for system updates...
[2026-08-29 01:13:57,079.079 INFO    ] 200
[2026-08-29 01:13:57,081.081 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:13:57,113.113 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:13:57,114.114 INFO    ] No update needed
[2026-08-29 01:13:57,116.116 INFO    ] Checking for camera pi updates...
[2026-08-29 01:13:57,135.135 INFO    ] 200
[2026-08-29 01:13:57,136.136 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:13:57,159.159 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:13:57,352.352 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:13:57,354.354 INFO    ] No camera update needed
[2026-08-29 01:13:57,355.355 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:13:57,356.356 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:13:57,359.359 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:13:57,362.362 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:13:59,403.403 INFO    ] ================================================
[2026-08-29 01:13:59,418.418 INFO    ] Launching Daemon at Sat Aug 29 01:13:59 IST 2026
[2026-08-29 01:13:59,428.428 INFO    ] ================================================
[2026-08-29 01:13:59,754.754 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:13:59
[2026-08-29 01:14:00,066.066 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:14:00,205.205 INFO    ] Initializing speech engine...
[2026-08-29 01:14:00,215.215 INFO    ] 2026-08-29 01:14:00
[2026-08-29 01:14:00,396.396 INFO    ] 2026-08-29 01:14:00
[2026-08-29 01:14:00,431.431 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:14:00,607.607 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:14:00,619.619 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:14:00,749.749 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:14:00,769.769 INFO    ] time= 29/08/2026 01:14:00
[2026-08-29 01:14:00,777.777 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:14:00,783.783 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:14:00,849.849 INFO    ] No existing commands found in stream
[2026-08-29 01:14:05,861.861 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:14:05,864.864 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-08-29 01:14:09,597.597 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:14:09,598.598 INFO    ] Checking for system updates...
[2026-08-29 01:14:09,620.620 INFO    ] 200
[2026-08-29 01:14:09,622.622 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:14:09,652.652 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:14:09,653.653 INFO    ] No update needed
[2026-08-29 01:14:09,655.655 INFO    ] Checking for camera pi updates...
[2026-08-29 01:14:09,675.675 INFO    ] 200
[2026-08-29 01:14:09,677.677 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:14:09,701.701 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:14:09,777.777 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:14:09,779.779 INFO    ] No camera update needed
[2026-08-29 01:14:09,780.780 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:14:09,781.781 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:14:09,784.784 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:14:09,787.787 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:14:11,827.827 INFO    ] ================================================
[2026-08-29 01:14:11,842.842 INFO    ] Launching Daemon at Sat Aug 29 01:14:11 IST 2026
[2026-08-29 01:14:11,853.853 INFO    ] ================================================
[2026-08-29 01:14:12,220.220 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:14:12
[2026-08-29 01:14:12,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:14:12,720.720 INFO    ] Initializing speech engine...
[2026-08-29 01:14:12,725.725 INFO    ] 2026-08-29 01:14:12
[2026-08-29 01:14:12,934.934 INFO    ] 2026-08-29 01:14:12
[2026-08-29 01:14:12,962.962 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:14:13,096.096 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:14:13,154.154 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:14:13,294.294 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:14:13,312.312 INFO    ] time= 29/08/2026 01:14:13
[2026-08-29 01:14:13,364.364 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:14:13,397.397 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:14:13,498.498 INFO    ] No existing commands found in stream
[2026-08-29 01:14:18,507.507 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:14:18,510.510 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-08-29 01:14:20,194.194 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:14:20,195.195 INFO    ] Checking for system updates...
[2026-08-29 01:14:20,217.217 INFO    ] 200
[2026-08-29 01:14:20,219.219 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:14:20,249.249 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:14:20,251.251 INFO    ] No update needed
[2026-08-29 01:14:20,252.252 INFO    ] Checking for camera pi updates...
[2026-08-29 01:14:20,283.283 INFO    ] 200
[2026-08-29 01:14:20,286.286 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:14:20,332.332 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:14:20,449.449 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:14:20,452.452 INFO    ] No camera update needed
[2026-08-29 01:14:20,454.454 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:14:20,456.456 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:14:20,462.462 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:14:20,467.467 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:14:22,507.507 INFO    ] ================================================
[2026-08-29 01:14:22,523.523 INFO    ] Launching Daemon at Sat Aug 29 01:14:22 IST 2026
[2026-08-29 01:14:22,534.534 INFO    ] ================================================
[2026-08-29 01:14:23,116.116 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:14:23
[2026-08-29 01:14:23,562.562 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:14:23,709.709 INFO    ] Initializing speech engine...
[2026-08-29 01:14:23,713.713 INFO    ] 2026-08-29 01:14:23
[2026-08-29 01:14:23,902.902 INFO    ] 2026-08-29 01:14:23
[2026-08-29 01:14:23,932.932 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:14:24,098.098 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:14:24,121.121 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:14:24,255.255 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:14:24,260.260 INFO    ] time= 29/08/2026 01:14:24
[2026-08-29 01:14:24,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:14:24,328.328 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:14:24,429.429 INFO    ] No existing commands found in stream
[2026-08-29 01:14:29,468.468 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:14:29,471.471 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-08-29 01:14:33,819.819 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:14:33,822.822 INFO    ] Checking for system updates...
[2026-08-29 01:14:33,865.865 INFO    ] 200
[2026-08-29 01:14:33,870.870 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:14:33,923.923 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:14:33,926.926 INFO    ] No update needed
[2026-08-29 01:14:33,928.928 INFO    ] Checking for camera pi updates...
[2026-08-29 01:14:33,961.961 INFO    ] 200
[2026-08-29 01:14:33,964.964 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:14:34,005.005 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:14:34,097.097 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:14:34,100.100 INFO    ] No camera update needed
[2026-08-29 01:14:34,102.102 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:14:34,105.105 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:14:34,110.110 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:14:34,115.115 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:14:36,154.154 INFO    ] ================================================
[2026-08-29 01:14:36,170.170 INFO    ] Launching Daemon at Sat Aug 29 01:14:36 IST 2026
[2026-08-29 01:14:36,181.181 INFO    ] ================================================
[2026-08-29 01:14:36,583.583 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:14:36
[2026-08-29 01:14:36,954.954 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:14:37,271.271 INFO    ] Initializing speech engine...
[2026-08-29 01:14:37,277.277 INFO    ] 2026-08-29 01:14:37
[2026-08-29 01:14:37,557.557 INFO    ] 2026-08-29 01:14:37
[2026-08-29 01:14:37,618.618 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:14:37,849.849 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:14:37,860.860 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:14:37,996.996 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:14:38,044.044 INFO    ] time= 29/08/2026 01:14:37
[2026-08-29 01:14:38,094.094 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:14:38,134.134 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:14:38,195.195 INFO    ] No existing commands found in stream
[2026-08-29 01:14:43,207.207 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:14:43,210.210 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-08-29 01:14:46,198.198 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:14:46,199.199 INFO    ] Checking for system updates...
[2026-08-29 01:14:46,220.220 INFO    ] 200
[2026-08-29 01:14:46,221.221 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:14:46,253.253 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:14:46,255.255 INFO    ] No update needed
[2026-08-29 01:14:46,256.256 INFO    ] Checking for camera pi updates...
[2026-08-29 01:14:46,275.275 INFO    ] 200
[2026-08-29 01:14:46,276.276 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:14:46,303.303 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:14:46,391.391 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:14:46,393.393 INFO    ] No camera update needed
[2026-08-29 01:14:46,394.394 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:14:46,395.395 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:14:46,398.398 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:14:46,401.401 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:14:48,440.440 INFO    ] ================================================
[2026-08-29 01:14:48,455.455 INFO    ] Launching Daemon at Sat Aug 29 01:14:48 IST 2026
[2026-08-29 01:14:48,465.465 INFO    ] ================================================
[2026-08-29 01:14:48,805.805 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:14:48
[2026-08-29 01:14:49,116.116 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:14:49,247.247 INFO    ] Initializing speech engine...
[2026-08-29 01:14:49,250.250 INFO    ] 2026-08-29 01:14:49
[2026-08-29 01:14:49,449.449 INFO    ] 2026-08-29 01:14:49
[2026-08-29 01:14:49,529.529 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:14:49,704.704 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:14:49,715.715 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:14:49,864.864 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:14:49,878.878 INFO    ] time= 29/08/2026 01:14:49
[2026-08-29 01:14:49,921.921 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:14:49,981.981 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:14:50,039.039 INFO    ] No existing commands found in stream
[2026-08-29 01:14:55,049.049 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:14:55,052.052 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-08-29 01:14:56,809.809 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:14:56,810.810 INFO    ] Checking for system updates...
[2026-08-29 01:14:56,832.832 INFO    ] 200
[2026-08-29 01:14:56,833.833 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:14:56,866.866 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:14:56,867.867 INFO    ] No update needed
[2026-08-29 01:14:56,868.868 INFO    ] Checking for camera pi updates...
[2026-08-29 01:14:56,888.888 INFO    ] 200
[2026-08-29 01:14:56,889.889 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:14:56,914.914 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:14:56,991.991 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:14:56,993.993 INFO    ] No camera update needed
[2026-08-29 01:14:56,994.994 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:14:56,995.995 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:14:56,998.998 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:14:57,001.001 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:14:59,040.040 INFO    ] ================================================
[2026-08-29 01:14:59,055.055 INFO    ] Launching Daemon at Sat Aug 29 01:14:59 IST 2026
[2026-08-29 01:14:59,066.066 INFO    ] ================================================
[2026-08-29 01:14:59,417.417 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:14:59
[2026-08-29 01:14:59,759.759 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:15:00,040.040 INFO    ] Initializing speech engine...
[2026-08-29 01:15:00,051.051 INFO    ] 2026-08-29 01:15:00
[2026-08-29 01:15:00,319.319 INFO    ] 2026-08-29 01:15:00
[2026-08-29 01:15:00,356.356 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:15:00,531.531 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:15:00,545.545 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:15:00,656.656 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:15:00,679.679 INFO    ] time= 29/08/2026 01:15:00
[2026-08-29 01:15:00,697.697 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:15:00,704.704 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:15:00,777.777 INFO    ] No existing commands found in stream
[2026-08-29 01:15:05,812.812 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:15:05,815.815 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-08-29 01:15:07,878.878 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:15:07,879.879 INFO    ] Checking for system updates...
[2026-08-29 01:15:07,900.900 INFO    ] 200
[2026-08-29 01:15:07,901.901 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:15:07,932.932 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:15:07,933.933 INFO    ] No update needed
[2026-08-29 01:15:07,935.935 INFO    ] Checking for camera pi updates...
[2026-08-29 01:15:07,954.954 INFO    ] 200
[2026-08-29 01:15:07,956.956 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:15:07,981.981 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:15:08,058.058 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:15:08,060.060 INFO    ] No camera update needed
[2026-08-29 01:15:08,061.061 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:15:08,062.062 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:15:08,066.066 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:15:08,069.069 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:15:10,108.108 INFO    ] ================================================
[2026-08-29 01:15:10,123.123 INFO    ] Launching Daemon at Sat Aug 29 01:15:10 IST 2026
[2026-08-29 01:15:10,134.134 INFO    ] ================================================
[2026-08-29 01:15:10,720.720 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:15:10
[2026-08-29 01:15:11,325.325 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:15:11,606.606 INFO    ] Initializing speech engine...
[2026-08-29 01:15:11,613.613 INFO    ] 2026-08-29 01:15:11
[2026-08-29 01:15:11,867.867 INFO    ] 2026-08-29 01:15:11
[2026-08-29 01:15:11,908.908 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:15:12,038.038 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:15:12,058.058 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:15:12,202.202 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:15:12,254.254 INFO    ] time= 29/08/2026 01:15:12
[2026-08-29 01:15:12,274.274 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:15:12,330.330 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:15:12,423.423 INFO    ] No existing commands found in stream
[2026-08-29 01:15:17,434.434 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:15:17,437.437 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-08-29 01:15:21,381.381 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:15:21,383.383 INFO    ] Checking for system updates...
[2026-08-29 01:15:21,405.405 INFO    ] 200
[2026-08-29 01:15:21,406.406 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:15:21,438.438 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:15:21,440.440 INFO    ] No update needed
[2026-08-29 01:15:21,441.441 INFO    ] Checking for camera pi updates...
[2026-08-29 01:15:21,461.461 INFO    ] 200
[2026-08-29 01:15:21,463.463 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:15:21,487.487 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:15:21,587.587 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:15:21,588.588 INFO    ] No camera update needed
[2026-08-29 01:15:21,590.590 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:15:21,591.591 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:15:21,594.594 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:15:21,597.597 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:15:23,637.637 INFO    ] ================================================
[2026-08-29 01:15:23,652.652 INFO    ] Launching Daemon at Sat Aug 29 01:15:23 IST 2026
[2026-08-29 01:15:23,663.663 INFO    ] ================================================
[2026-08-29 01:15:24,017.017 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:15:24
[2026-08-29 01:15:24,536.536 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:15:24,813.813 INFO    ] Initializing speech engine...
[2026-08-29 01:15:24,829.829 INFO    ] 2026-08-29 01:15:24
[2026-08-29 01:15:25,103.103 INFO    ] 2026-08-29 01:15:25
[2026-08-29 01:15:25,139.139 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:15:25,288.288 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:15:25,296.296 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:15:25,437.437 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:15:25,454.454 INFO    ] time= 29/08/2026 01:15:25
[2026-08-29 01:15:25,463.463 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:15:25,468.468 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:15:25,536.536 INFO    ] No existing commands found in stream
[2026-08-29 01:15:30,549.549 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:15:30,551.551 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 01:15:33,263.263 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:15:33,265.265 INFO    ] Checking for system updates...
[2026-08-29 01:15:33,302.302 INFO    ] 200
[2026-08-29 01:15:33,305.305 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:15:33,365.365 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:15:33,368.368 INFO    ] No update needed
[2026-08-29 01:15:33,371.371 INFO    ] Checking for camera pi updates...
[2026-08-29 01:15:33,406.406 INFO    ] 200
[2026-08-29 01:15:33,408.408 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:15:33,455.455 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:15:33,555.555 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:15:33,558.558 INFO    ] No camera update needed
[2026-08-29 01:15:33,561.561 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:15:33,563.563 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:15:33,569.569 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:15:33,575.575 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:15:35,617.617 INFO    ] ================================================
[2026-08-29 01:15:35,633.633 INFO    ] Launching Daemon at Sat Aug 29 01:15:35 IST 2026
[2026-08-29 01:15:35,644.644 INFO    ] ================================================
[2026-08-29 01:15:36,028.028 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:15:36
[2026-08-29 01:15:36,365.365 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:15:36,521.521 INFO    ] Initializing speech engine...
[2026-08-29 01:15:36,527.527 INFO    ] 2026-08-29 01:15:36
[2026-08-29 01:15:36,737.737 INFO    ] 2026-08-29 01:15:36
[2026-08-29 01:15:36,766.766 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:15:36,897.897 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:15:36,905.905 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:15:37,089.089 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:15:37,111.111 INFO    ] time= 29/08/2026 01:15:37
[2026-08-29 01:15:37,131.131 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:15:37,161.161 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:15:37,220.220 INFO    ] No existing commands found in stream
[2026-08-29 01:15:42,240.240 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:15:42,244.244 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-08-29 01:15:46,584.584 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:15:46,586.586 INFO    ] Checking for system updates...
[2026-08-29 01:15:46,606.606 INFO    ] 200
[2026-08-29 01:15:46,608.608 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:15:46,638.638 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:15:46,640.640 INFO    ] No update needed
[2026-08-29 01:15:46,641.641 INFO    ] Checking for camera pi updates...
[2026-08-29 01:15:46,661.661 INFO    ] 200
[2026-08-29 01:15:46,662.662 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:15:46,686.686 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:15:46,781.781 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:15:46,782.782 INFO    ] No camera update needed
[2026-08-29 01:15:46,784.784 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:15:46,785.785 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:15:46,788.788 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:15:46,792.792 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:15:48,832.832 INFO    ] ================================================
[2026-08-29 01:15:48,848.848 INFO    ] Launching Daemon at Sat Aug 29 01:15:48 IST 2026
[2026-08-29 01:15:48,859.859 INFO    ] ================================================
[2026-08-29 01:15:49,291.291 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:15:49
[2026-08-29 01:15:49,886.886 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:15:50,194.194 INFO    ] Initializing speech engine...
[2026-08-29 01:15:50,208.208 INFO    ] 2026-08-29 01:15:50
[2026-08-29 01:15:50,478.478 INFO    ] 2026-08-29 01:15:50
[2026-08-29 01:15:50,537.537 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:15:50,761.761 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:15:50,771.771 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:15:50,905.905 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:15:50,958.958 INFO    ] time= 29/08/2026 01:15:50
[2026-08-29 01:15:51,013.013 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:15:51,042.042 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:15:51,098.098 INFO    ] No existing commands found in stream
[2026-08-29 01:15:56,111.111 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:15:56,114.114 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-08-29 01:15:57,061.061 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:15:57,063.063 INFO    ] Checking for system updates...
[2026-08-29 01:15:57,083.083 INFO    ] 200
[2026-08-29 01:15:57,085.085 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:15:57,117.117 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:15:57,118.118 INFO    ] No update needed
[2026-08-29 01:15:57,119.119 INFO    ] Checking for camera pi updates...
[2026-08-29 01:15:57,140.140 INFO    ] 200
[2026-08-29 01:15:57,141.141 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:15:57,165.165 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:15:57,252.252 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:15:57,253.253 INFO    ] No camera update needed
[2026-08-29 01:15:57,254.254 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:15:57,256.256 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:15:57,259.259 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:15:57,261.261 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:15:59,300.300 INFO    ] ================================================
[2026-08-29 01:15:59,316.316 INFO    ] Launching Daemon at Sat Aug 29 01:15:59 IST 2026
[2026-08-29 01:15:59,327.327 INFO    ] ================================================
[2026-08-29 01:15:59,708.708 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:15:59
[2026-08-29 01:16:00,048.048 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:16:00,201.201 INFO    ] Initializing speech engine...
[2026-08-29 01:16:00,206.206 INFO    ] 2026-08-29 01:16:00
[2026-08-29 01:16:00,407.407 INFO    ] 2026-08-29 01:16:00
[2026-08-29 01:16:00,452.452 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:16:00,679.679 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:16:00,686.686 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:16:00,822.822 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:16:00,892.892 INFO    ] time= 29/08/2026 01:16:00
[2026-08-29 01:16:00,950.950 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:16:00,958.958 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:16:01,080.080 INFO    ] No existing commands found in stream
[2026-08-29 01:16:06,114.114 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:16:06,117.117 INFO    ] Waiting 1.19 seconds before fallback handling...
[2026-08-29 01:16:07,641.641 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:16:07,643.643 INFO    ] Checking for system updates...
[2026-08-29 01:16:07,663.663 INFO    ] 200
[2026-08-29 01:16:07,665.665 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:16:07,695.695 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:16:07,697.697 INFO    ] No update needed
[2026-08-29 01:16:07,698.698 INFO    ] Checking for camera pi updates...
[2026-08-29 01:16:07,718.718 INFO    ] 200
[2026-08-29 01:16:07,719.719 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:16:07,743.743 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:16:07,821.821 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:16:07,822.822 INFO    ] No camera update needed
[2026-08-29 01:16:07,824.824 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:16:07,825.825 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:16:07,828.828 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:16:07,831.831 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:16:09,870.870 INFO    ] ================================================
[2026-08-29 01:16:09,896.896 INFO    ] Launching Daemon at Sat Aug 29 01:16:09 IST 2026
[2026-08-29 01:16:09,907.907 INFO    ] ================================================
[2026-08-29 01:16:10,261.261 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:16:10
[2026-08-29 01:16:10,577.577 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:16:10,720.720 INFO    ] Initializing speech engine...
[2026-08-29 01:16:10,726.726 INFO    ] 2026-08-29 01:16:10
[2026-08-29 01:16:10,929.929 INFO    ] 2026-08-29 01:16:10
[2026-08-29 01:16:10,958.958 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:16:11,085.085 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:16:11,094.094 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:16:11,268.268 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:16:11,290.290 INFO    ] time= 29/08/2026 01:16:11
[2026-08-29 01:16:11,313.313 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:16:11,317.317 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:16:11,413.413 INFO    ] No existing commands found in stream
[2026-08-29 01:16:16,428.428 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:16:16,431.431 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-08-29 01:16:20,496.496 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:16:20,498.498 INFO    ] Checking for system updates...
[2026-08-29 01:16:20,518.518 INFO    ] 200
[2026-08-29 01:16:20,520.520 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:16:20,550.550 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:16:20,551.551 INFO    ] No update needed
[2026-08-29 01:16:20,553.553 INFO    ] Checking for camera pi updates...
[2026-08-29 01:16:20,572.572 INFO    ] 200
[2026-08-29 01:16:20,574.574 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:16:20,611.611 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:16:20,691.691 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:16:20,694.694 INFO    ] No camera update needed
[2026-08-29 01:16:20,696.696 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:16:20,698.698 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:16:20,703.703 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:16:20,708.708 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:16:22,750.750 INFO    ] ================================================
[2026-08-29 01:16:22,765.765 INFO    ] Launching Daemon at Sat Aug 29 01:16:22 IST 2026
[2026-08-29 01:16:22,777.777 INFO    ] ================================================
[2026-08-29 01:16:23,374.374 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:16:23
[2026-08-29 01:16:23,867.867 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:16:24,016.016 INFO    ] Initializing speech engine...
[2026-08-29 01:16:24,021.021 INFO    ] 2026-08-29 01:16:24
[2026-08-29 01:16:24,228.228 INFO    ] 2026-08-29 01:16:24
[2026-08-29 01:16:24,257.257 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:16:24,376.376 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:16:24,384.384 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:16:24,561.561 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:16:24,584.584 INFO    ] time= 29/08/2026 01:16:24
[2026-08-29 01:16:24,602.602 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:16:24,614.614 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:16:24,722.722 INFO    ] No existing commands found in stream
[2026-08-29 01:16:29,744.744 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:16:29,747.747 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 01:16:32,823.823 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:16:32,826.826 INFO    ] Checking for system updates...
[2026-08-29 01:16:32,872.872 INFO    ] 200
[2026-08-29 01:16:32,875.875 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:16:32,947.947 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:16:32,951.951 INFO    ] No update needed
[2026-08-29 01:16:32,956.956 INFO    ] Checking for camera pi updates...
[2026-08-29 01:16:33,002.002 INFO    ] 200
[2026-08-29 01:16:33,006.006 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:16:33,057.057 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:16:33,194.194 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:16:33,197.197 INFO    ] No camera update needed
[2026-08-29 01:16:33,200.200 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:16:33,202.202 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:16:33,208.208 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:16:33,214.214 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:16:35,258.258 INFO    ] ================================================
[2026-08-29 01:16:35,274.274 INFO    ] Launching Daemon at Sat Aug 29 01:16:35 IST 2026
[2026-08-29 01:16:35,285.285 INFO    ] ================================================
[2026-08-29 01:16:35,648.648 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:16:35
[2026-08-29 01:16:35,967.967 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:16:36,112.112 INFO    ] Initializing speech engine...
[2026-08-29 01:16:36,117.117 INFO    ] 2026-08-29 01:16:36
[2026-08-29 01:16:36,324.324 INFO    ] 2026-08-29 01:16:36
[2026-08-29 01:16:36,352.352 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:16:36,474.474 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:16:36,537.537 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:16:36,673.673 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:16:36,724.724 INFO    ] time= 29/08/2026 01:16:36
[2026-08-29 01:16:36,753.753 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:16:36,769.769 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:16:36,864.864 INFO    ] No existing commands found in stream
[2026-08-29 01:16:41,877.877 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:16:41,880.880 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-08-29 01:16:43,452.452 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:16:43,454.454 INFO    ] Checking for system updates...
[2026-08-29 01:16:43,474.474 INFO    ] 200
[2026-08-29 01:16:43,476.476 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:16:43,506.506 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:16:43,507.507 INFO    ] No update needed
[2026-08-29 01:16:43,508.508 INFO    ] Checking for camera pi updates...
[2026-08-29 01:16:43,528.528 INFO    ] 200
[2026-08-29 01:16:43,529.529 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:16:43,555.555 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:16:43,640.640 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:16:43,643.643 INFO    ] No camera update needed
[2026-08-29 01:16:43,645.645 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:16:43,648.648 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:16:43,653.653 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:16:43,658.658 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:16:45,698.698 INFO    ] ================================================
[2026-08-29 01:16:45,714.714 INFO    ] Launching Daemon at Sat Aug 29 01:16:45 IST 2026
[2026-08-29 01:16:45,725.725 INFO    ] ================================================
[2026-08-29 01:16:46,292.292 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:16:46
[2026-08-29 01:16:46,749.749 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:16:46,882.882 INFO    ] Initializing speech engine...
[2026-08-29 01:16:46,885.885 INFO    ] 2026-08-29 01:16:46
[2026-08-29 01:16:47,143.143 INFO    ] 2026-08-29 01:16:47
[2026-08-29 01:16:47,179.179 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:16:47,357.357 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:16:47,369.369 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:16:47,506.506 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:16:47,526.526 INFO    ] time= 29/08/2026 01:16:47
[2026-08-29 01:16:47,534.534 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:16:47,542.542 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:16:47,606.606 INFO    ] No existing commands found in stream
[2026-08-29 01:16:52,618.618 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:16:52,621.621 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 01:16:53,246.246 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:16:53,248.248 INFO    ] Checking for system updates...
[2026-08-29 01:16:53,268.268 INFO    ] 200
[2026-08-29 01:16:53,270.270 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:16:53,299.299 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:16:53,301.301 INFO    ] No update needed
[2026-08-29 01:16:53,302.302 INFO    ] Checking for camera pi updates...
[2026-08-29 01:16:53,322.322 INFO    ] 200
[2026-08-29 01:16:53,324.324 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:16:53,346.346 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:16:53,445.445 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:16:53,446.446 INFO    ] No camera update needed
[2026-08-29 01:16:53,447.447 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:16:53,448.448 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:16:53,451.451 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:16:53,454.454 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:16:55,494.494 INFO    ] ================================================
[2026-08-29 01:16:55,509.509 INFO    ] Launching Daemon at Sat Aug 29 01:16:55 IST 2026
[2026-08-29 01:16:55,521.521 INFO    ] ================================================
[2026-08-29 01:16:55,880.880 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:16:55
[2026-08-29 01:16:56,214.214 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:16:56,365.365 INFO    ] Initializing speech engine...
[2026-08-29 01:16:56,369.369 INFO    ] 2026-08-29 01:16:56
[2026-08-29 01:16:56,577.577 INFO    ] 2026-08-29 01:16:56
[2026-08-29 01:16:56,606.606 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:16:56,766.766 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:16:56,813.813 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:16:56,951.951 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:16:56,960.960 INFO    ] time= 29/08/2026 01:16:56
[2026-08-29 01:16:56,991.991 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:16:57,039.039 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:16:57,164.164 INFO    ] No existing commands found in stream
[2026-08-29 01:17:02,182.182 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:17:02,188.188 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-08-29 01:17:03,460.460 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:17:03,463.463 INFO    ] Checking for system updates...
[2026-08-29 01:17:03,500.500 INFO    ] 200
[2026-08-29 01:17:03,503.503 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:17:03,564.564 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:17:03,567.567 INFO    ] No update needed
[2026-08-29 01:17:03,569.569 INFO    ] Checking for camera pi updates...
[2026-08-29 01:17:03,603.603 INFO    ] 200
[2026-08-29 01:17:03,605.605 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:17:03,645.645 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:17:03,713.713 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:17:03,716.716 INFO    ] No camera update needed
[2026-08-29 01:17:03,718.718 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:17:03,720.720 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:17:03,725.725 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:17:03,730.730 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:17:05,771.771 INFO    ] ================================================
[2026-08-29 01:17:05,787.787 INFO    ] Launching Daemon at Sat Aug 29 01:17:05 IST 2026
[2026-08-29 01:17:05,799.799 INFO    ] ================================================
[2026-08-29 01:17:06,143.143 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:17:06
[2026-08-29 01:17:06,459.459 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:17:06,610.610 INFO    ] Initializing speech engine...
[2026-08-29 01:17:06,612.612 INFO    ] 2026-08-29 01:17:06
[2026-08-29 01:17:06,849.849 INFO    ] 2026-08-29 01:17:06
[2026-08-29 01:17:06,911.911 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:17:07,131.131 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:17:07,140.140 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:17:07,274.274 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:17:07,290.290 INFO    ] time= 29/08/2026 01:17:07
[2026-08-29 01:17:07,350.350 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:17:07,404.404 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:17:07,471.471 INFO    ] No existing commands found in stream
[2026-08-29 01:17:12,503.503 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:17:12,506.506 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-08-29 01:17:13,554.554 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:17:13,555.555 INFO    ] Checking for system updates...
[2026-08-29 01:17:13,575.575 INFO    ] 200
[2026-08-29 01:17:13,577.577 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:17:13,607.607 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:17:13,608.608 INFO    ] No update needed
[2026-08-29 01:17:13,610.610 INFO    ] Checking for camera pi updates...
[2026-08-29 01:17:13,629.629 INFO    ] 200
[2026-08-29 01:17:13,630.630 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:17:13,653.653 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:17:13,739.739 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:17:13,741.741 INFO    ] No camera update needed
[2026-08-29 01:17:13,742.742 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:17:13,743.743 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:17:13,746.746 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:17:13,749.749 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:17:15,787.787 INFO    ] ================================================
[2026-08-29 01:17:15,803.803 INFO    ] Launching Daemon at Sat Aug 29 01:17:15 IST 2026
[2026-08-29 01:17:15,814.814 INFO    ] ================================================
[2026-08-29 01:17:16,180.180 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:17:16
[2026-08-29 01:17:16,521.521 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:17:16,688.688 INFO    ] Initializing speech engine...
[2026-08-29 01:17:16,700.700 INFO    ] 2026-08-29 01:17:16
[2026-08-29 01:17:16,978.978 INFO    ] 2026-08-29 01:17:16
[2026-08-29 01:17:17,039.039 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:17:17,188.188 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:17:17,211.211 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:17:17,344.344 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:17:17,353.353 INFO    ] time= 29/08/2026 01:17:17
[2026-08-29 01:17:17,361.361 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:17:17,406.406 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:17:17,532.532 INFO    ] No existing commands found in stream
[2026-08-29 01:17:22,563.563 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:17:22,567.567 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-08-29 01:17:24,472.472 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:17:24,474.474 INFO    ] Checking for system updates...
[2026-08-29 01:17:24,495.495 INFO    ] 200
[2026-08-29 01:17:24,496.496 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:17:24,530.530 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:17:24,532.532 INFO    ] No update needed
[2026-08-29 01:17:24,533.533 INFO    ] Checking for camera pi updates...
[2026-08-29 01:17:24,552.552 INFO    ] 200
[2026-08-29 01:17:24,554.554 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:17:24,577.577 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:17:24,658.658 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:17:24,660.660 INFO    ] No camera update needed
[2026-08-29 01:17:24,661.661 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:17:24,663.663 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:17:24,666.666 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:17:24,668.668 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:17:26,706.706 INFO    ] ================================================
[2026-08-29 01:17:26,722.722 INFO    ] Launching Daemon at Sat Aug 29 01:17:26 IST 2026
[2026-08-29 01:17:26,734.734 INFO    ] ================================================
[2026-08-29 01:17:27,068.068 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:17:27
[2026-08-29 01:17:27,380.380 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:17:27,523.523 INFO    ] Initializing speech engine...
[2026-08-29 01:17:27,527.527 INFO    ] 2026-08-29 01:17:27
[2026-08-29 01:17:27,729.729 INFO    ] 2026-08-29 01:17:27
[2026-08-29 01:17:27,805.805 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:17:27,961.961 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:17:27,967.967 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:17:28,099.099 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:17:28,141.141 INFO    ] time= 29/08/2026 01:17:28
[2026-08-29 01:17:28,205.205 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:17:28,232.232 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:17:28,286.286 INFO    ] No existing commands found in stream
[2026-08-29 01:17:33,298.298 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:17:33,301.301 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-08-29 01:17:34,128.128 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:17:34,130.130 INFO    ] Checking for system updates...
[2026-08-29 01:17:34,170.170 INFO    ] 200
[2026-08-29 01:17:34,172.172 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:17:34,235.235 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:17:34,237.237 INFO    ] No update needed
[2026-08-29 01:17:34,240.240 INFO    ] Checking for camera pi updates...
[2026-08-29 01:17:34,274.274 INFO    ] 200
[2026-08-29 01:17:34,276.276 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:17:34,318.318 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:17:34,392.392 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:17:34,395.395 INFO    ] No camera update needed
[2026-08-29 01:17:34,398.398 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:17:34,400.400 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:17:34,407.407 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:17:34,412.412 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:17:36,453.453 INFO    ] ================================================
[2026-08-29 01:17:36,469.469 INFO    ] Launching Daemon at Sat Aug 29 01:17:36 IST 2026
[2026-08-29 01:17:36,481.481 INFO    ] ================================================
[2026-08-29 01:17:36,875.875 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:17:36
[2026-08-29 01:17:37,217.217 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:17:37,371.371 INFO    ] Initializing speech engine...
[2026-08-29 01:17:37,376.376 INFO    ] 2026-08-29 01:17:37
[2026-08-29 01:17:37,586.586 INFO    ] 2026-08-29 01:17:37
[2026-08-29 01:17:37,615.615 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:17:37,749.749 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:17:37,803.803 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:17:37,944.944 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:17:37,998.998 INFO    ] time= 29/08/2026 01:17:37
[2026-08-29 01:17:38,037.037 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:17:38,044.044 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:17:38,113.113 INFO    ] No existing commands found in stream
[2026-08-29 01:17:43,122.122 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:17:43,130.130 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-08-29 01:17:47,463.463 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:17:47,465.465 INFO    ] Checking for system updates...
[2026-08-29 01:17:47,486.486 INFO    ] 200
[2026-08-29 01:17:47,487.487 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:17:47,517.517 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:17:47,518.518 INFO    ] No update needed
[2026-08-29 01:17:47,519.519 INFO    ] Checking for camera pi updates...
[2026-08-29 01:17:47,539.539 INFO    ] 200
[2026-08-29 01:17:47,540.540 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:17:47,564.564 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:17:47,650.650 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:17:47,653.653 INFO    ] No camera update needed
[2026-08-29 01:17:47,655.655 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:17:47,658.658 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:17:47,663.663 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:17:47,668.668 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:17:49,708.708 INFO    ] ================================================
[2026-08-29 01:17:49,724.724 INFO    ] Launching Daemon at Sat Aug 29 01:17:49 IST 2026
[2026-08-29 01:17:49,735.735 INFO    ] ================================================
[2026-08-29 01:17:50,357.357 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:17:50
[2026-08-29 01:17:50,796.796 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:17:51,055.055 INFO    ] Initializing speech engine...
[2026-08-29 01:17:51,063.063 INFO    ] 2026-08-29 01:17:51
[2026-08-29 01:17:51,364.364 INFO    ] 2026-08-29 01:17:51
[2026-08-29 01:17:51,399.399 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:17:52,597.597 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:17:52,652.652 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:17:55,893.893 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:17:55,897.897 INFO    ] time= 29/08/2026 01:17:55
[2026-08-29 01:17:55,900.900 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:17:55,903.903 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:17:55,952.952 INFO    ] No existing commands found in stream
[2026-08-29 01:18:00,961.961 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:18:00,964.964 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-08-29 01:18:03,619.619 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:18:03,621.621 INFO    ] Checking for system updates...
[2026-08-29 01:18:03,657.657 INFO    ] 200
[2026-08-29 01:18:03,659.659 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:18:03,711.711 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:18:03,714.714 INFO    ] No update needed
[2026-08-29 01:18:03,716.716 INFO    ] Checking for camera pi updates...
[2026-08-29 01:18:03,751.751 INFO    ] 200
[2026-08-29 01:18:03,753.753 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:18:03,793.793 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:18:03,878.878 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:18:03,880.880 INFO    ] No camera update needed
[2026-08-29 01:18:03,883.883 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:18:03,886.886 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:18:03,893.893 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:18:03,898.898 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:18:05,941.941 INFO    ] ================================================
[2026-08-29 01:18:05,958.958 INFO    ] Launching Daemon at Sat Aug 29 01:18:05 IST 2026
[2026-08-29 01:18:05,969.969 INFO    ] ================================================
[2026-08-29 01:18:06,545.545 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:18:06
[2026-08-29 01:18:07,142.142 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:18:07,418.418 INFO    ] Initializing speech engine...
[2026-08-29 01:18:07,428.428 INFO    ] 2026-08-29 01:18:07
[2026-08-29 01:18:07,690.690 INFO    ] 2026-08-29 01:18:07
[2026-08-29 01:18:07,747.747 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:18:07,912.912 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:18:07,956.956 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:18:08,065.065 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:18:08,072.072 INFO    ] time= 29/08/2026 01:18:08
[2026-08-29 01:18:08,095.095 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:18:08,145.145 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:18:08,252.252 INFO    ] No existing commands found in stream
[2026-08-29 01:18:13,277.277 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:18:13,280.280 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-08-29 01:18:16,915.915 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:18:16,917.917 INFO    ] Checking for system updates...
[2026-08-29 01:18:16,937.937 INFO    ] 200
[2026-08-29 01:18:16,938.938 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:18:16,970.970 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:18:16,972.972 INFO    ] No update needed
[2026-08-29 01:18:16,973.973 INFO    ] Checking for camera pi updates...
[2026-08-29 01:18:16,993.993 INFO    ] 200
[2026-08-29 01:18:16,994.994 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:18:17,019.019 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:18:17,199.199 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:18:17,200.200 INFO    ] No camera update needed
[2026-08-29 01:18:17,202.202 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:18:17,203.203 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:18:17,207.207 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:18:17,210.210 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:18:19,248.248 INFO    ] ================================================
[2026-08-29 01:18:19,263.263 INFO    ] Launching Daemon at Sat Aug 29 01:18:19 IST 2026
[2026-08-29 01:18:19,274.274 INFO    ] ================================================
[2026-08-29 01:18:19,642.642 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:18:19
[2026-08-29 01:18:19,962.962 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:18:20,103.103 INFO    ] Initializing speech engine...
[2026-08-29 01:18:20,122.122 INFO    ] 2026-08-29 01:18:20
[2026-08-29 01:18:20,374.374 INFO    ] 2026-08-29 01:18:20
[2026-08-29 01:18:20,410.410 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:18:20,584.584 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:18:20,596.596 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:18:20,705.705 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:18:20,711.711 INFO    ] time= 29/08/2026 01:18:20
[2026-08-29 01:18:20,729.729 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:18:20,749.749 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:18:20,826.826 INFO    ] No existing commands found in stream
[2026-08-29 01:18:25,838.838 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:18:25,841.841 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-08-29 01:18:26,961.961 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:18:26,963.963 INFO    ] Checking for system updates...
[2026-08-29 01:18:26,984.984 INFO    ] 200
[2026-08-29 01:18:26,985.985 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:18:27,015.015 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:18:27,017.017 INFO    ] No update needed
[2026-08-29 01:18:27,018.018 INFO    ] Checking for camera pi updates...
[2026-08-29 01:18:27,038.038 INFO    ] 200
[2026-08-29 01:18:27,040.040 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:18:27,064.064 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:18:27,142.142 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:18:27,144.144 INFO    ] No camera update needed
[2026-08-29 01:18:27,145.145 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:18:27,146.146 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:18:27,149.149 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:18:27,151.151 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:18:29,194.194 INFO    ] ================================================
[2026-08-29 01:18:29,210.210 INFO    ] Launching Daemon at Sat Aug 29 01:18:29 IST 2026
[2026-08-29 01:18:29,221.221 INFO    ] ================================================
[2026-08-29 01:18:29,737.737 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:18:29
[2026-08-29 01:18:30,092.092 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:18:30,240.240 INFO    ] Initializing speech engine...
[2026-08-29 01:18:30,245.245 INFO    ] 2026-08-29 01:18:30
[2026-08-29 01:18:30,453.453 INFO    ] 2026-08-29 01:18:30
[2026-08-29 01:18:30,483.483 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:18:30,825.825 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:18:30,880.880 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:18:31,055.055 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:18:31,099.099 INFO    ] time= 29/08/2026 01:18:31
[2026-08-29 01:18:31,135.135 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:18:31,159.159 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:18:31,271.271 INFO    ] No existing commands found in stream
[2026-08-29 01:18:36,301.301 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:18:36,304.304 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-08-29 01:18:39,531.531 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:18:39,533.533 INFO    ] Checking for system updates...
[2026-08-29 01:18:39,553.553 INFO    ] 200
[2026-08-29 01:18:39,555.555 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:18:39,587.587 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:18:39,588.588 INFO    ] No update needed
[2026-08-29 01:18:39,589.589 INFO    ] Checking for camera pi updates...
[2026-08-29 01:18:39,611.611 INFO    ] 200
[2026-08-29 01:18:39,612.612 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:18:39,636.636 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:18:39,713.713 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:18:39,714.714 INFO    ] No camera update needed
[2026-08-29 01:18:39,715.715 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:18:39,716.716 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:18:39,719.719 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:18:39,722.722 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:18:41,761.761 INFO    ] ================================================
[2026-08-29 01:18:41,777.777 INFO    ] Launching Daemon at Sat Aug 29 01:18:41 IST 2026
[2026-08-29 01:18:41,788.788 INFO    ] ================================================
[2026-08-29 01:18:42,183.183 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:18:42
[2026-08-29 01:18:42,527.527 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:18:42,682.682 INFO    ] Initializing speech engine...
[2026-08-29 01:18:42,686.686 INFO    ] 2026-08-29 01:18:42
[2026-08-29 01:18:42,895.895 INFO    ] 2026-08-29 01:18:42
[2026-08-29 01:18:42,924.924 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:18:43,053.053 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:18:43,114.114 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:18:43,251.251 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:18:43,319.319 INFO    ] time= 29/08/2026 01:18:43
[2026-08-29 01:18:43,350.350 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:18:43,357.357 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:18:43,424.424 INFO    ] No existing commands found in stream
[2026-08-29 01:18:48,438.438 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:18:48,442.442 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-08-29 01:18:49,808.808 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:18:49,810.810 INFO    ] Checking for system updates...
[2026-08-29 01:18:49,831.831 INFO    ] 200
[2026-08-29 01:18:49,832.832 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:18:49,862.862 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:18:49,863.863 INFO    ] No update needed
[2026-08-29 01:18:49,865.865 INFO    ] Checking for camera pi updates...
[2026-08-29 01:18:49,885.885 INFO    ] 200
[2026-08-29 01:18:49,887.887 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:18:49,909.909 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:18:50,003.003 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:18:50,005.005 INFO    ] No camera update needed
[2026-08-29 01:18:50,006.006 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:18:50,007.007 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:18:50,010.010 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:18:50,013.013 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:18:52,052.052 INFO    ] ================================================
[2026-08-29 01:18:52,068.068 INFO    ] Launching Daemon at Sat Aug 29 01:18:52 IST 2026
[2026-08-29 01:18:52,079.079 INFO    ] ================================================
[2026-08-29 01:18:52,618.618 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:18:52
[2026-08-29 01:18:53,207.207 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:18:53,462.462 INFO    ] Initializing speech engine...
[2026-08-29 01:18:53,467.467 INFO    ] 2026-08-29 01:18:53
[2026-08-29 01:18:53,745.745 INFO    ] 2026-08-29 01:18:53
[2026-08-29 01:18:53,787.787 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:18:53,953.953 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:18:53,965.965 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:18:54,106.106 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:18:54,114.114 INFO    ] time= 29/08/2026 01:18:54
[2026-08-29 01:18:54,120.120 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:18:54,167.167 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:18:54,296.296 INFO    ] No existing commands found in stream
[2026-08-29 01:18:59,321.321 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:18:59,324.324 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-08-29 01:19:01,412.412 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:19:01,413.413 INFO    ] Checking for system updates...
[2026-08-29 01:19:01,435.435 INFO    ] 200
[2026-08-29 01:19:01,436.436 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:19:01,514.514 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:19:01,518.518 INFO    ] No update needed
[2026-08-29 01:19:01,528.528 INFO    ] Checking for camera pi updates...
[2026-08-29 01:19:01,628.628 INFO    ] 200
[2026-08-29 01:19:01,632.632 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:19:01,705.705 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:19:01,888.888 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:19:01,891.891 INFO    ] No camera update needed
[2026-08-29 01:19:01,896.896 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:19:01,900.900 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:19:01,909.909 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:19:01,916.916 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:19:03,965.965 INFO    ] ================================================
[2026-08-29 01:19:03,981.981 INFO    ] Launching Daemon at Sat Aug 29 01:19:03 IST 2026
[2026-08-29 01:19:03,992.992 INFO    ] ================================================
[2026-08-29 01:19:04,580.580 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:19:04
[2026-08-29 01:19:04,894.894 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:19:05,032.032 INFO    ] Initializing speech engine...
[2026-08-29 01:19:05,042.042 INFO    ] 2026-08-29 01:19:05
[2026-08-29 01:19:05,259.259 INFO    ] 2026-08-29 01:19:05
[2026-08-29 01:19:05,309.309 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:19:05,464.464 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:19:05,470.470 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:19:05,603.603 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:19:05,625.625 INFO    ] time= 29/08/2026 01:19:05
[2026-08-29 01:19:05,689.689 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:19:05,740.740 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:19:05,803.803 INFO    ] No existing commands found in stream
[2026-08-29 01:19:10,827.827 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:19:10,830.830 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-08-29 01:19:13,659.659 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:19:13,660.660 INFO    ] Checking for system updates...
[2026-08-29 01:19:13,680.680 INFO    ] 200
[2026-08-29 01:19:13,682.682 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:19:13,713.713 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:19:13,715.715 INFO    ] No update needed
[2026-08-29 01:19:13,716.716 INFO    ] Checking for camera pi updates...
[2026-08-29 01:19:13,735.735 INFO    ] 200
[2026-08-29 01:19:13,737.737 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:19:13,760.760 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:19:13,876.876 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:19:13,877.877 INFO    ] No camera update needed
[2026-08-29 01:19:13,878.878 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:19:13,879.879 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:19:13,882.882 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:19:13,885.885 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:19:15,927.927 INFO    ] ================================================
[2026-08-29 01:19:15,943.943 INFO    ] Launching Daemon at Sat Aug 29 01:19:15 IST 2026
[2026-08-29 01:19:15,954.954 INFO    ] ================================================
[2026-08-29 01:19:16,546.546 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:19:16
[2026-08-29 01:19:17,131.131 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:19:17,408.408 INFO    ] Initializing speech engine...
[2026-08-29 01:19:17,416.416 INFO    ] 2026-08-29 01:19:17
[2026-08-29 01:19:17,664.664 INFO    ] 2026-08-29 01:19:17
[2026-08-29 01:19:17,700.700 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:19:17,877.877 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:19:17,889.889 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:19:18,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:19:18,021.021 INFO    ] time= 29/08/2026 01:19:18
[2026-08-29 01:19:18,041.041 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:19:18,048.048 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:19:18,120.120 INFO    ] No existing commands found in stream
[2026-08-29 01:19:23,135.135 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:19:23,138.138 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-08-29 01:19:26,376.376 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:19:26,377.377 INFO    ] Checking for system updates...
[2026-08-29 01:19:26,398.398 INFO    ] 200
[2026-08-29 01:19:26,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:19:26,429.429 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:19:26,431.431 INFO    ] No update needed
[2026-08-29 01:19:26,433.433 INFO    ] Checking for camera pi updates...
[2026-08-29 01:19:26,453.453 INFO    ] 200
[2026-08-29 01:19:26,454.454 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:19:26,477.477 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:19:26,580.580 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:19:26,581.581 INFO    ] No camera update needed
[2026-08-29 01:19:26,583.583 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:19:26,584.584 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:19:26,587.587 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:19:26,589.589 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:19:28,630.630 INFO    ] ================================================
[2026-08-29 01:19:28,646.646 INFO    ] Launching Daemon at Sat Aug 29 01:19:28 IST 2026
[2026-08-29 01:19:28,657.657 INFO    ] ================================================
[2026-08-29 01:19:29,025.025 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:19:29
[2026-08-29 01:19:29,338.338 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:19:29,556.556 INFO    ] Initializing speech engine...
[2026-08-29 01:19:29,564.564 INFO    ] 2026-08-29 01:19:29
[2026-08-29 01:19:29,813.813 INFO    ] 2026-08-29 01:19:29
[2026-08-29 01:19:29,877.877 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:19:30,042.042 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:19:30,069.069 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:19:30,183.183 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:19:30,233.233 INFO    ] time= 29/08/2026 01:19:30
[2026-08-29 01:19:30,252.252 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:19:30,296.296 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:19:30,381.381 INFO    ] No existing commands found in stream
[2026-08-29 01:19:35,392.392 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:19:35,395.395 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-08-29 01:19:36,698.698 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:19:36,700.700 INFO    ] Checking for system updates...
[2026-08-29 01:19:36,721.721 INFO    ] 200
[2026-08-29 01:19:36,722.722 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:19:36,754.754 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:19:36,756.756 INFO    ] No update needed
[2026-08-29 01:19:36,757.757 INFO    ] Checking for camera pi updates...
[2026-08-29 01:19:36,777.777 INFO    ] 200
[2026-08-29 01:19:36,778.778 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:19:36,802.802 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:19:36,900.900 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:19:36,901.901 INFO    ] No camera update needed
[2026-08-29 01:19:36,902.902 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:19:36,904.904 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:19:36,907.907 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:19:36,910.910 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:19:38,949.949 INFO    ] ================================================
[2026-08-29 01:19:38,965.965 INFO    ] Launching Daemon at Sat Aug 29 01:19:38 IST 2026
[2026-08-29 01:19:38,975.975 INFO    ] ================================================
[2026-08-29 01:19:39,326.326 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:19:39
[2026-08-29 01:19:39,927.927 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:19:40,199.199 INFO    ] Initializing speech engine...
[2026-08-29 01:19:40,220.220 INFO    ] 2026-08-29 01:19:40
[2026-08-29 01:19:40,486.486 INFO    ] 2026-08-29 01:19:40
[2026-08-29 01:19:40,528.528 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:19:40,746.746 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:19:40,756.756 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:19:40,887.887 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:19:40,909.909 INFO    ] time= 29/08/2026 01:19:40
[2026-08-29 01:19:40,959.959 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:19:41,014.014 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:19:41,071.071 INFO    ] No existing commands found in stream
[2026-08-29 01:19:46,084.084 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:19:46,087.087 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-08-29 01:19:46,730.730 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:19:46,732.732 INFO    ] Checking for system updates...
[2026-08-29 01:19:46,753.753 INFO    ] 200
[2026-08-29 01:19:46,755.755 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:19:46,787.787 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:19:46,789.789 INFO    ] No update needed
[2026-08-29 01:19:46,790.790 INFO    ] Checking for camera pi updates...
[2026-08-29 01:19:46,811.811 INFO    ] 200
[2026-08-29 01:19:46,812.812 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:19:46,839.839 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:19:46,920.920 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:19:46,922.922 INFO    ] No camera update needed
[2026-08-29 01:19:46,923.923 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:19:46,925.925 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:19:46,928.928 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:19:46,931.931 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:19:48,973.973 INFO    ] ================================================
[2026-08-29 01:19:48,989.989 INFO    ] Launching Daemon at Sat Aug 29 01:19:48 IST 2026
[2026-08-29 01:19:49,000.000 INFO    ] ================================================
[2026-08-29 01:19:49,584.584 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:19:49
[2026-08-29 01:19:50,177.177 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:19:50,435.435 INFO    ] Initializing speech engine...
[2026-08-29 01:19:50,440.440 INFO    ] 2026-08-29 01:19:50
[2026-08-29 01:19:50,733.733 INFO    ] 2026-08-29 01:19:50
[2026-08-29 01:19:50,768.768 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:19:50,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:19:50,967.967 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:19:51,079.079 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:19:51,085.085 INFO    ] time= 29/08/2026 01:19:51
[2026-08-29 01:19:51,090.090 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:19:51,113.113 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:19:51,209.209 INFO    ] No existing commands found in stream
[2026-08-29 01:19:56,220.220 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:19:56,223.223 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-08-29 01:19:56,608.608 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:19:56,610.610 INFO    ] Checking for system updates...
[2026-08-29 01:19:56,630.630 INFO    ] 200
[2026-08-29 01:19:56,632.632 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:19:56,661.661 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:19:56,663.663 INFO    ] No update needed
[2026-08-29 01:19:56,664.664 INFO    ] Checking for camera pi updates...
[2026-08-29 01:19:56,683.683 INFO    ] 200
[2026-08-29 01:19:56,684.684 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:19:56,711.711 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:19:56,790.790 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:19:56,792.792 INFO    ] No camera update needed
[2026-08-29 01:19:56,793.793 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:19:56,794.794 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:19:56,797.797 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:19:56,800.800 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:19:58,841.841 INFO    ] ================================================
[2026-08-29 01:19:58,856.856 INFO    ] Launching Daemon at Sat Aug 29 01:19:58 IST 2026
[2026-08-29 01:19:58,867.867 INFO    ] ================================================
[2026-08-29 01:19:59,223.223 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:19:59
[2026-08-29 01:19:59,538.538 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:19:59,790.790 INFO    ] Initializing speech engine...
[2026-08-29 01:19:59,806.806 INFO    ] 2026-08-29 01:19:59
[2026-08-29 01:20:00,094.094 INFO    ] 2026-08-29 01:20:00
[2026-08-29 01:20:00,132.132 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:20:00,329.329 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:20:00,335.335 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:20:00,444.444 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:20:00,451.451 INFO    ] time= 29/08/2026 01:20:00
[2026-08-29 01:20:00,474.474 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:20:00,480.480 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:20:00,530.530 INFO    ] No existing commands found in stream
[2026-08-29 01:20:05,543.543 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:20:05,546.546 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-08-29 01:20:09,166.166 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:20:09,167.167 INFO    ] Checking for system updates...
[2026-08-29 01:20:09,188.188 INFO    ] 200
[2026-08-29 01:20:09,189.189 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:20:09,218.218 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:20:09,220.220 INFO    ] No update needed
[2026-08-29 01:20:09,221.221 INFO    ] Checking for camera pi updates...
[2026-08-29 01:20:09,242.242 INFO    ] 200
[2026-08-29 01:20:09,243.243 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:20:09,268.268 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:20:09,343.343 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:20:09,344.344 INFO    ] No camera update needed
[2026-08-29 01:20:09,346.346 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:20:09,347.347 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:20:09,350.350 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:20:09,353.353 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:20:11,392.392 INFO    ] ================================================
[2026-08-29 01:20:11,409.409 INFO    ] Launching Daemon at Sat Aug 29 01:20:11 IST 2026
[2026-08-29 01:20:11,420.420 INFO    ] ================================================
[2026-08-29 01:20:11,928.928 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:20:11
[2026-08-29 01:20:12,514.514 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:20:12,789.789 INFO    ] Initializing speech engine...
[2026-08-29 01:20:12,798.798 INFO    ] 2026-08-29 01:20:12
[2026-08-29 01:20:13,049.049 INFO    ] 2026-08-29 01:20:13
[2026-08-29 01:20:13,083.083 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:20:13,263.263 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:20:13,276.276 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:20:13,421.421 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:20:13,428.428 INFO    ] time= 29/08/2026 01:20:13
[2026-08-29 01:20:13,436.436 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:20:13,482.482 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:20:13,586.586 INFO    ] No existing commands found in stream
[2026-08-29 01:20:18,616.616 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:20:18,619.619 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-08-29 01:20:20,787.787 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:20:20,788.788 INFO    ] Checking for system updates...
[2026-08-29 01:20:20,808.808 INFO    ] 200
[2026-08-29 01:20:20,810.810 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:20:20,839.839 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:20:20,841.841 INFO    ] No update needed
[2026-08-29 01:20:20,842.842 INFO    ] Checking for camera pi updates...
[2026-08-29 01:20:20,862.862 INFO    ] 200
[2026-08-29 01:20:20,864.864 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:20:20,893.893 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:20:21,070.070 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:20:21,072.072 INFO    ] No camera update needed
[2026-08-29 01:20:21,075.075 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:20:21,077.077 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:20:21,083.083 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:20:21,089.089 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:20:23,132.132 INFO    ] ================================================
[2026-08-29 01:20:23,148.148 INFO    ] Launching Daemon at Sat Aug 29 01:20:23 IST 2026
[2026-08-29 01:20:23,159.159 INFO    ] ================================================
[2026-08-29 01:20:23,818.818 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:20:23
[2026-08-29 01:20:24,283.283 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:20:24,437.437 INFO    ] Initializing speech engine...
[2026-08-29 01:20:24,443.443 INFO    ] 2026-08-29 01:20:24
[2026-08-29 01:20:24,652.652 INFO    ] 2026-08-29 01:20:24
[2026-08-29 01:20:24,683.683 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:20:24,814.814 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:20:24,815.815 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:20:24,954.954 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:20:25,012.012 INFO    ] time= 29/08/2026 01:20:24
[2026-08-29 01:20:25,032.032 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:20:25,098.098 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:20:25,195.195 INFO    ] No existing commands found in stream
[2026-08-29 01:20:30,206.206 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:20:30,209.209 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 01:20:30,748.748 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:20:30,750.750 INFO    ] Checking for system updates...
[2026-08-29 01:20:30,771.771 INFO    ] 200
[2026-08-29 01:20:30,772.772 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:20:30,807.807 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:20:30,808.808 INFO    ] No update needed
[2026-08-29 01:20:30,809.809 INFO    ] Checking for camera pi updates...
[2026-08-29 01:20:30,829.829 INFO    ] 200
[2026-08-29 01:20:30,830.830 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:20:30,855.855 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:20:30,941.941 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:20:30,942.942 INFO    ] No camera update needed
[2026-08-29 01:20:30,944.944 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:20:30,945.945 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:20:30,948.948 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:20:30,950.950 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:20:32,983.983 INFO    ] ================================================
[2026-08-29 01:20:33,999.999 INFO    ] Launching Daemon at Sat Aug 29 01:20:32 IST 2026
[2026-08-29 01:20:33,010.010 INFO    ] ================================================
[2026-08-29 01:20:33,666.666 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:20:33
[2026-08-29 01:20:34,337.337 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:20:34,642.642 INFO    ] Initializing speech engine...
[2026-08-29 01:20:34,651.651 INFO    ] 2026-08-29 01:20:34
[2026-08-29 01:20:34,970.970 INFO    ] 2026-08-29 01:20:34
[2026-08-29 01:20:35,053.053 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:20:35,186.186 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:20:35,197.197 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:20:35,319.319 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:20:35,329.329 INFO    ] time= 29/08/2026 01:20:35
[2026-08-29 01:20:35,335.335 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:20:35,349.349 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:20:35,437.437 INFO    ] No existing commands found in stream
[2026-08-29 01:20:40,463.463 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:20:40,467.467 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 01:20:44,056.056 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:20:44,057.057 INFO    ] Checking for system updates...
[2026-08-29 01:20:44,079.079 INFO    ] 200
[2026-08-29 01:20:44,080.080 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:20:44,112.112 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:20:44,113.113 INFO    ] No update needed
[2026-08-29 01:20:44,115.115 INFO    ] Checking for camera pi updates...
[2026-08-29 01:20:44,134.134 INFO    ] 200
[2026-08-29 01:20:44,135.135 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:20:44,158.158 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:20:44,251.251 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:20:44,253.253 INFO    ] No camera update needed
[2026-08-29 01:20:44,254.254 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:20:44,255.255 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:20:44,258.258 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:20:44,261.261 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:20:46,300.300 INFO    ] ================================================
[2026-08-29 01:20:46,316.316 INFO    ] Launching Daemon at Sat Aug 29 01:20:46 IST 2026
[2026-08-29 01:20:46,327.327 INFO    ] ================================================
[2026-08-29 01:20:46,668.668 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:20:46
[2026-08-29 01:20:46,979.979 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:20:47,122.122 INFO    ] Initializing speech engine...
[2026-08-29 01:20:47,127.127 INFO    ] 2026-08-29 01:20:47
[2026-08-29 01:20:47,333.333 INFO    ] 2026-08-29 01:20:47
[2026-08-29 01:20:47,362.362 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:20:47,485.485 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:20:47,523.523 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:20:47,659.659 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:20:47,692.692 INFO    ] time= 29/08/2026 01:20:47
[2026-08-29 01:20:47,760.760 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:20:47,784.784 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:20:47,856.856 INFO    ] No existing commands found in stream
[2026-08-29 01:20:52,866.866 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:20:52,869.869 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 01:20:56,259.259 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:20:56,261.261 INFO    ] Checking for system updates...
[2026-08-29 01:20:56,281.281 INFO    ] 200
[2026-08-29 01:20:56,283.283 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:20:56,313.313 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:20:56,315.315 INFO    ] No update needed
[2026-08-29 01:20:56,316.316 INFO    ] Checking for camera pi updates...
[2026-08-29 01:20:56,335.335 INFO    ] 200
[2026-08-29 01:20:56,336.336 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:20:56,361.361 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:20:56,459.459 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:20:56,460.460 INFO    ] No camera update needed
[2026-08-29 01:20:56,461.461 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:20:56,463.463 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:20:56,466.466 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:20:56,468.468 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:20:58,508.508 INFO    ] ================================================
[2026-08-29 01:20:58,525.525 INFO    ] Launching Daemon at Sat Aug 29 01:20:58 IST 2026
[2026-08-29 01:20:58,535.535 INFO    ] ================================================
[2026-08-29 01:20:58,946.946 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:20:58
[2026-08-29 01:20:59,531.531 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:20:59,781.781 INFO    ] Initializing speech engine...
[2026-08-29 01:20:59,790.790 INFO    ] 2026-08-29 01:20:59
[2026-08-29 01:21:00,081.081 INFO    ] 2026-08-29 01:21:00
[2026-08-29 01:21:00,117.117 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:21:00,290.290 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:21:00,303.303 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:21:00,445.445 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:21:00,453.453 INFO    ] time= 29/08/2026 01:21:00
[2026-08-29 01:21:00,460.460 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:21:00,486.486 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:21:00,609.609 INFO    ] No existing commands found in stream
[2026-08-29 01:21:05,635.635 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:21:05,637.637 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-08-29 01:21:08,057.057 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:21:08,058.058 INFO    ] Checking for system updates...
[2026-08-29 01:21:08,079.079 INFO    ] 200
[2026-08-29 01:21:08,080.080 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:21:08,112.112 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:21:08,114.114 INFO    ] No update needed
[2026-08-29 01:21:08,116.116 INFO    ] Checking for camera pi updates...
[2026-08-29 01:21:08,135.135 INFO    ] 200
[2026-08-29 01:21:08,136.136 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:21:08,159.159 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:21:08,252.252 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:21:08,253.253 INFO    ] No camera update needed
[2026-08-29 01:21:08,255.255 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:21:08,256.256 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:21:08,259.259 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:21:08,262.262 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:21:10,303.303 INFO    ] ================================================
[2026-08-29 01:21:10,319.319 INFO    ] Launching Daemon at Sat Aug 29 01:21:10 IST 2026
[2026-08-29 01:21:10,330.330 INFO    ] ================================================
[2026-08-29 01:21:10,899.899 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:21:10
[2026-08-29 01:21:11,495.495 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:21:11,793.793 INFO    ] Initializing speech engine...
[2026-08-29 01:21:11,802.802 INFO    ] 2026-08-29 01:21:11
[2026-08-29 01:21:12,100.100 INFO    ] 2026-08-29 01:21:12
[2026-08-29 01:21:12,129.129 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:21:12,252.252 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:21:12,300.300 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:21:12,447.447 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:21:12,514.514 INFO    ] time= 29/08/2026 01:21:12
[2026-08-29 01:21:12,546.546 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:21:12,548.548 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:21:12,619.619 INFO    ] No existing commands found in stream
[2026-08-29 01:21:17,629.629 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:21:17,632.632 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-08-29 01:21:19,077.077 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:21:19,079.079 INFO    ] Checking for system updates...
[2026-08-29 01:21:19,099.099 INFO    ] 200
[2026-08-29 01:21:19,101.101 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:21:19,131.131 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:21:19,133.133 INFO    ] No update needed
[2026-08-29 01:21:19,134.134 INFO    ] Checking for camera pi updates...
[2026-08-29 01:21:19,155.155 INFO    ] 200
[2026-08-29 01:21:19,156.156 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:21:19,182.182 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:21:19,280.280 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:21:19,282.282 INFO    ] No camera update needed
[2026-08-29 01:21:19,283.283 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:21:19,284.284 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:21:19,288.288 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:21:19,291.291 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:21:21,333.333 INFO    ] ================================================
[2026-08-29 01:21:21,348.348 INFO    ] Launching Daemon at Sat Aug 29 01:21:21 IST 2026
[2026-08-29 01:21:21,360.360 INFO    ] ================================================
[2026-08-29 01:21:21,728.728 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:21:21
[2026-08-29 01:21:22,040.040 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:21:22,184.184 INFO    ] Initializing speech engine...
[2026-08-29 01:21:22,189.189 INFO    ] 2026-08-29 01:21:22
[2026-08-29 01:21:22,393.393 INFO    ] 2026-08-29 01:21:22
[2026-08-29 01:21:22,422.422 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:21:22,549.549 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:21:22,586.586 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:21:22,751.751 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:21:22,815.815 INFO    ] time= 29/08/2026 01:21:22
[2026-08-29 01:21:22,843.843 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:21:22,845.845 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:21:22,918.918 INFO    ] No existing commands found in stream
[2026-08-29 01:21:27,929.929 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:21:27,932.932 INFO    ] Waiting 3.84 seconds before fallback handling...
[2026-08-29 01:21:32,166.166 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:21:32,169.169 INFO    ] Checking for system updates...
[2026-08-29 01:21:32,214.214 INFO    ] 200
[2026-08-29 01:21:32,217.217 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:21:32,275.275 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:21:32,278.278 INFO    ] No update needed
[2026-08-29 01:21:32,281.281 INFO    ] Checking for camera pi updates...
[2026-08-29 01:21:32,319.319 INFO    ] 200
[2026-08-29 01:21:32,322.322 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:21:32,376.376 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:21:32,464.464 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:21:32,466.466 INFO    ] No camera update needed
[2026-08-29 01:21:32,469.469 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:21:32,472.472 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:21:32,478.478 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:21:32,484.484 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:21:34,525.525 INFO    ] ================================================
[2026-08-29 01:21:34,541.541 INFO    ] Launching Daemon at Sat Aug 29 01:21:34 IST 2026
[2026-08-29 01:21:34,552.552 INFO    ] ================================================
[2026-08-29 01:21:35,181.181 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:21:35
[2026-08-29 01:21:35,518.518 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:21:35,669.669 INFO    ] Initializing speech engine...
[2026-08-29 01:21:35,675.675 INFO    ] 2026-08-29 01:21:35
[2026-08-29 01:21:35,884.884 INFO    ] 2026-08-29 01:21:35
[2026-08-29 01:21:35,913.913 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:21:36,032.032 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:21:36,040.040 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:21:36,210.210 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:21:36,242.242 INFO    ] time= 29/08/2026 01:21:36
[2026-08-29 01:21:36,260.260 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:21:36,269.269 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:21:36,387.387 INFO    ] No existing commands found in stream
[2026-08-29 01:21:41,410.410 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:21:41,413.413 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-08-29 01:21:44,058.058 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:21:44,060.060 INFO    ] Checking for system updates...
[2026-08-29 01:21:44,080.080 INFO    ] 200
[2026-08-29 01:21:44,082.082 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:21:44,113.113 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:21:44,114.114 INFO    ] No update needed
[2026-08-29 01:21:44,116.116 INFO    ] Checking for camera pi updates...
[2026-08-29 01:21:44,135.135 INFO    ] 200
[2026-08-29 01:21:44,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:21:44,160.160 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:21:44,258.258 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:21:44,260.260 INFO    ] No camera update needed
[2026-08-29 01:21:44,261.261 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:21:44,262.262 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:21:44,266.266 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:21:44,269.269 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:21:46,307.307 INFO    ] ================================================
[2026-08-29 01:21:46,323.323 INFO    ] Launching Daemon at Sat Aug 29 01:21:46 IST 2026
[2026-08-29 01:21:46,334.334 INFO    ] ================================================
[2026-08-29 01:21:46,706.706 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:21:46
[2026-08-29 01:21:47,047.047 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:21:47,199.199 INFO    ] Initializing speech engine...
[2026-08-29 01:21:47,205.205 INFO    ] 2026-08-29 01:21:47
[2026-08-29 01:21:47,414.414 INFO    ] 2026-08-29 01:21:47
[2026-08-29 01:21:47,443.443 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:21:47,566.566 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:21:47,629.629 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:21:47,761.761 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:21:47,835.835 INFO    ] time= 29/08/2026 01:21:47
[2026-08-29 01:21:47,859.859 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:21:47,866.866 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:21:47,932.932 INFO    ] No existing commands found in stream
[2026-08-29 01:21:52,944.944 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:21:52,947.947 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-08-29 01:21:53,908.908 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:21:53,910.910 INFO    ] Checking for system updates...
[2026-08-29 01:21:53,930.930 INFO    ] 200
[2026-08-29 01:21:53,932.932 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:21:53,965.965 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:21:53,966.966 INFO    ] No update needed
[2026-08-29 01:21:53,968.968 INFO    ] Checking for camera pi updates...
[2026-08-29 01:21:53,990.990 INFO    ] 200
[2026-08-29 01:21:53,991.991 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:21:54,015.015 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:21:54,093.093 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:21:54,094.094 INFO    ] No camera update needed
[2026-08-29 01:21:54,095.095 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:21:54,097.097 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:21:54,100.100 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:21:54,103.103 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:21:56,145.145 INFO    ] ================================================
[2026-08-29 01:21:56,160.160 INFO    ] Launching Daemon at Sat Aug 29 01:21:56 IST 2026
[2026-08-29 01:21:56,170.170 INFO    ] ================================================
[2026-08-29 01:21:56,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:21:56
[2026-08-29 01:21:57,149.149 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:21:57,419.419 INFO    ] Initializing speech engine...
[2026-08-29 01:21:57,428.428 INFO    ] 2026-08-29 01:21:57
[2026-08-29 01:21:57,675.675 INFO    ] 2026-08-29 01:21:57
[2026-08-29 01:21:57,710.710 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:21:57,882.882 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:21:57,894.894 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:21:58,035.035 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:21:58,043.043 INFO    ] time= 29/08/2026 01:21:58
[2026-08-29 01:21:58,049.049 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:21:58,075.075 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:21:58,198.198 INFO    ] No existing commands found in stream
[2026-08-29 01:22:03,223.223 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:22:03,226.226 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-08-29 01:22:05,388.388 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:22:05,389.389 INFO    ] Checking for system updates...
[2026-08-29 01:22:05,410.410 INFO    ] 200
[2026-08-29 01:22:05,411.411 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:22:05,444.444 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:22:05,445.445 INFO    ] No update needed
[2026-08-29 01:22:05,446.446 INFO    ] Checking for camera pi updates...
[2026-08-29 01:22:05,466.466 INFO    ] 200
[2026-08-29 01:22:05,468.468 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:22:05,491.491 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:22:05,550.550 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:22:05,552.552 INFO    ] No camera update needed
[2026-08-29 01:22:05,553.553 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:22:05,554.554 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:22:05,557.557 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:22:05,560.560 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:22:07,600.600 INFO    ] ================================================
[2026-08-29 01:22:07,616.616 INFO    ] Launching Daemon at Sat Aug 29 01:22:07 IST 2026
[2026-08-29 01:22:07,626.626 INFO    ] ================================================
[2026-08-29 01:22:07,997.997 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:22:07
[2026-08-29 01:22:08,311.311 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:22:08,446.446 INFO    ] Initializing speech engine...
[2026-08-29 01:22:08,450.450 INFO    ] 2026-08-29 01:22:08
[2026-08-29 01:22:08,642.642 INFO    ] 2026-08-29 01:22:08
[2026-08-29 01:22:08,687.687 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:22:08,808.808 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:22:08,812.812 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:22:08,946.946 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:22:08,951.951 INFO    ] time= 29/08/2026 01:22:08
[2026-08-29 01:22:08,956.956 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:22:08,990.990 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:22:09,071.071 INFO    ] No existing commands found in stream
[2026-08-29 01:22:14,095.095 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:22:14,098.098 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-08-29 01:22:14,883.883 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:22:14,885.885 INFO    ] Checking for system updates...
[2026-08-29 01:22:14,905.905 INFO    ] 200
[2026-08-29 01:22:14,906.906 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:22:14,936.936 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:22:14,937.937 INFO    ] No update needed
[2026-08-29 01:22:14,938.938 INFO    ] Checking for camera pi updates...
[2026-08-29 01:22:14,958.958 INFO    ] 200
[2026-08-29 01:22:14,959.959 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:22:14,982.982 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:22:15,085.085 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:22:15,087.087 INFO    ] No camera update needed
[2026-08-29 01:22:15,088.088 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:22:15,089.089 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:22:15,092.092 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:22:15,095.095 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:22:17,133.133 INFO    ] ================================================
[2026-08-29 01:22:17,148.148 INFO    ] Launching Daemon at Sat Aug 29 01:22:17 IST 2026
[2026-08-29 01:22:17,159.159 INFO    ] ================================================
[2026-08-29 01:22:17,740.740 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:22:17
[2026-08-29 01:22:18,419.419 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:22:18,726.726 INFO    ] Initializing speech engine...
[2026-08-29 01:22:18,740.740 INFO    ] 2026-08-29 01:22:18
[2026-08-29 01:22:19,051.051 INFO    ] 2026-08-29 01:22:19
[2026-08-29 01:22:19,137.137 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:22:19,289.289 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:22:19,300.300 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:22:19,436.436 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:22:19,496.496 INFO    ] time= 29/08/2026 01:22:19
[2026-08-29 01:22:19,550.550 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:22:19,571.571 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:22:19,707.707 INFO    ] No existing commands found in stream
[2026-08-29 01:22:24,730.730 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:22:24,734.734 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-08-29 01:22:26,990.990 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:22:26,991.991 INFO    ] Checking for system updates...
[2026-08-29 01:22:27,014.014 INFO    ] 200
[2026-08-29 01:22:27,015.015 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:22:27,044.044 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:22:27,046.046 INFO    ] No update needed
[2026-08-29 01:22:27,047.047 INFO    ] Checking for camera pi updates...
[2026-08-29 01:22:27,066.066 INFO    ] 200
[2026-08-29 01:22:27,067.067 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:22:27,098.098 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:22:27,305.305 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:22:27,308.308 INFO    ] No camera update needed
[2026-08-29 01:22:27,310.310 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:22:27,312.312 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:22:27,318.318 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:22:27,322.322 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:22:29,364.364 INFO    ] ================================================
[2026-08-29 01:22:29,380.380 INFO    ] Launching Daemon at Sat Aug 29 01:22:29 IST 2026
[2026-08-29 01:22:29,391.391 INFO    ] ================================================
[2026-08-29 01:22:29,958.958 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:22:29
[2026-08-29 01:22:30,388.388 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:22:30,520.520 INFO    ] Initializing speech engine...
[2026-08-29 01:22:30,523.523 INFO    ] 2026-08-29 01:22:30
[2026-08-29 01:22:30,754.754 INFO    ] 2026-08-29 01:22:30
[2026-08-29 01:22:30,785.785 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:22:30,881.881 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:22:30,886.886 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:22:31,023.023 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:22:31,054.054 INFO    ] time= 29/08/2026 01:22:31
[2026-08-29 01:22:31,080.080 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:22:31,131.131 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:22:31,219.219 INFO    ] No existing commands found in stream
[2026-08-29 01:22:36,244.244 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:22:36,247.247 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-08-29 01:22:37,708.708 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:22:37,711.711 INFO    ] Checking for system updates...
[2026-08-29 01:22:37,751.751 INFO    ] 200
[2026-08-29 01:22:37,753.753 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:22:37,806.806 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:22:37,808.808 INFO    ] No update needed
[2026-08-29 01:22:37,810.810 INFO    ] Checking for camera pi updates...
[2026-08-29 01:22:37,844.844 INFO    ] 200
[2026-08-29 01:22:37,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:22:37,888.888 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:22:38,005.005 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:22:38,007.007 INFO    ] No camera update needed
[2026-08-29 01:22:38,010.010 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:22:38,012.012 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:22:38,017.017 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:22:38,022.022 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:22:40,062.062 INFO    ] ================================================
[2026-08-29 01:22:40,077.077 INFO    ] Launching Daemon at Sat Aug 29 01:22:40 IST 2026
[2026-08-29 01:22:40,088.088 INFO    ] ================================================
[2026-08-29 01:22:40,419.419 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:22:40
[2026-08-29 01:22:40,738.738 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:22:40,871.871 INFO    ] Initializing speech engine...
[2026-08-29 01:22:40,883.883 INFO    ] 2026-08-29 01:22:40
[2026-08-29 01:22:41,089.089 INFO    ] 2026-08-29 01:22:41
[2026-08-29 01:22:41,135.135 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:22:41,298.298 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:22:41,306.306 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:22:41,475.475 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:22:41,507.507 INFO    ] time= 29/08/2026 01:22:41
[2026-08-29 01:22:41,525.525 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:22:41,534.534 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:22:41,653.653 INFO    ] No existing commands found in stream
[2026-08-29 01:22:46,680.680 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:22:46,687.687 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 01:22:50,045.045 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:22:50,047.047 INFO    ] Checking for system updates...
[2026-08-29 01:22:50,067.067 INFO    ] 200
[2026-08-29 01:22:50,068.068 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:22:50,098.098 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:22:50,099.099 INFO    ] No update needed
[2026-08-29 01:22:50,100.100 INFO    ] Checking for camera pi updates...
[2026-08-29 01:22:50,119.119 INFO    ] 200
[2026-08-29 01:22:50,121.121 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:22:50,144.144 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:22:50,219.219 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:22:50,220.220 INFO    ] No camera update needed
[2026-08-29 01:22:50,222.222 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:22:50,223.223 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:22:50,226.226 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:22:50,229.229 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:22:52,266.266 INFO    ] ================================================
[2026-08-29 01:22:52,282.282 INFO    ] Launching Daemon at Sat Aug 29 01:22:52 IST 2026
[2026-08-29 01:22:52,292.292 INFO    ] ================================================
[2026-08-29 01:22:52,633.633 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:22:52
[2026-08-29 01:22:52,946.946 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:22:53,081.081 INFO    ] Initializing speech engine...
[2026-08-29 01:22:53,090.090 INFO    ] 2026-08-29 01:22:53
[2026-08-29 01:22:53,367.367 INFO    ] 2026-08-29 01:22:53
[2026-08-29 01:22:53,404.404 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:22:53,548.548 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:22:53,557.557 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:22:53,705.705 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:22:53,716.716 INFO    ] time= 29/08/2026 01:22:53
[2026-08-29 01:22:53,726.726 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:22:53,731.731 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:22:53,803.803 INFO    ] No existing commands found in stream
[2026-08-29 01:22:58,814.814 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:22:58,816.816 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-08-29 01:23:02,082.082 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:23:02,085.085 INFO    ] Checking for system updates...
[2026-08-29 01:23:02,133.133 INFO    ] 200
[2026-08-29 01:23:02,136.136 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:23:02,197.197 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:23:02,199.199 INFO    ] No update needed
[2026-08-29 01:23:02,202.202 INFO    ] Checking for camera pi updates...
[2026-08-29 01:23:02,248.248 INFO    ] 200
[2026-08-29 01:23:02,250.250 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:23:02,297.297 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:23:02,388.388 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:23:02,391.391 INFO    ] No camera update needed
[2026-08-29 01:23:02,394.394 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:23:02,397.397 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:23:02,404.404 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:23:02,410.410 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:23:04,451.451 INFO    ] ================================================
[2026-08-29 01:23:04,466.466 INFO    ] Launching Daemon at Sat Aug 29 01:23:04 IST 2026
[2026-08-29 01:23:04,477.477 INFO    ] ================================================
[2026-08-29 01:23:04,986.986 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:23:04
[2026-08-29 01:23:05,573.573 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:23:05,845.845 INFO    ] Initializing speech engine...
[2026-08-29 01:23:05,855.855 INFO    ] 2026-08-29 01:23:05
[2026-08-29 01:23:06,140.140 INFO    ] 2026-08-29 01:23:06
[2026-08-29 01:23:06,178.178 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:23:06,322.322 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:23:06,330.330 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:23:06,480.480 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:23:06,490.490 INFO    ] time= 29/08/2026 01:23:06
[2026-08-29 01:23:06,500.500 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:23:06,505.505 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:23:06,576.576 INFO    ] No existing commands found in stream
[2026-08-29 01:23:11,587.587 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:23:11,589.589 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-08-29 01:23:14,675.675 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:23:14,677.677 INFO    ] Checking for system updates...
[2026-08-29 01:23:14,697.697 INFO    ] 200
[2026-08-29 01:23:14,698.698 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:23:14,730.730 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:23:14,732.732 INFO    ] No update needed
[2026-08-29 01:23:14,733.733 INFO    ] Checking for camera pi updates...
[2026-08-29 01:23:14,753.753 INFO    ] 200
[2026-08-29 01:23:14,754.754 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:23:14,777.777 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:23:14,875.875 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:23:14,876.876 INFO    ] No camera update needed
[2026-08-29 01:23:14,877.877 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:23:14,878.878 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:23:14,881.881 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:23:14,884.884 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:23:16,922.922 INFO    ] ================================================
[2026-08-29 01:23:16,938.938 INFO    ] Launching Daemon at Sat Aug 29 01:23:16 IST 2026
[2026-08-29 01:23:16,948.948 INFO    ] ================================================
[2026-08-29 01:23:17,333.333 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:23:17
[2026-08-29 01:23:17,671.671 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:23:17,810.810 INFO    ] Initializing speech engine...
[2026-08-29 01:23:17,815.815 INFO    ] 2026-08-29 01:23:17
[2026-08-29 01:23:18,043.043 INFO    ] 2026-08-29 01:23:18
[2026-08-29 01:23:18,072.072 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:23:18,196.196 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:23:18,259.259 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:23:18,394.394 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:23:18,465.465 INFO    ] time= 29/08/2026 01:23:18
[2026-08-29 01:23:18,493.493 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:23:18,500.500 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:23:18,567.567 INFO    ] No existing commands found in stream
[2026-08-29 01:23:23,581.581 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:23:23,585.585 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-08-29 01:23:26,339.339 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:23:26,342.342 INFO    ] Checking for system updates...
[2026-08-29 01:23:26,386.386 INFO    ] 200
[2026-08-29 01:23:26,389.389 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:23:26,461.461 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:23:26,464.464 INFO    ] No update needed
[2026-08-29 01:23:26,467.467 INFO    ] Checking for camera pi updates...
[2026-08-29 01:23:26,503.503 INFO    ] 200
[2026-08-29 01:23:26,506.506 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:23:26,553.553 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:23:26,611.611 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:23:26,614.614 INFO    ] No camera update needed
[2026-08-29 01:23:26,617.617 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:23:26,619.619 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:23:26,625.625 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:23:26,631.631 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:23:28,673.673 INFO    ] ================================================
[2026-08-29 01:23:28,689.689 INFO    ] Launching Daemon at Sat Aug 29 01:23:28 IST 2026
[2026-08-29 01:23:28,700.700 INFO    ] ================================================
[2026-08-29 01:23:29,290.290 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:23:29
[2026-08-29 01:23:29,726.726 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:23:30,040.040 INFO    ] Initializing speech engine...
[2026-08-29 01:23:30,048.048 INFO    ] 2026-08-29 01:23:30
[2026-08-29 01:23:30,314.314 INFO    ] 2026-08-29 01:23:30
[2026-08-29 01:23:30,352.352 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:23:30,535.535 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:23:30,549.549 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:23:30,695.695 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:23:30,705.705 INFO    ] time= 29/08/2026 01:23:30
[2026-08-29 01:23:30,711.711 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:23:30,762.762 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:23:30,885.885 INFO    ] No existing commands found in stream
[2026-08-29 01:23:35,911.911 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:23:35,914.914 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-08-29 01:23:37,621.621 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:23:37,623.623 INFO    ] Checking for system updates...
[2026-08-29 01:23:37,643.643 INFO    ] 200
[2026-08-29 01:23:37,645.645 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:23:37,678.678 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:23:37,680.680 INFO    ] No update needed
[2026-08-29 01:23:37,681.681 INFO    ] Checking for camera pi updates...
[2026-08-29 01:23:37,703.703 INFO    ] 200
[2026-08-29 01:23:37,704.704 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:23:37,729.729 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:23:37,810.810 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:23:37,811.811 INFO    ] No camera update needed
[2026-08-29 01:23:37,813.813 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:23:37,814.814 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:23:37,817.817 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:23:37,820.820 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:23:39,858.858 INFO    ] ================================================
[2026-08-29 01:23:39,874.874 INFO    ] Launching Daemon at Sat Aug 29 01:23:39 IST 2026
[2026-08-29 01:23:39,885.885 INFO    ] ================================================
[2026-08-29 01:23:40,264.264 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:23:40
[2026-08-29 01:23:40,603.603 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:23:40,820.820 INFO    ] Initializing speech engine...
[2026-08-29 01:23:40,829.829 INFO    ] 2026-08-29 01:23:40
[2026-08-29 01:23:41,101.101 INFO    ] 2026-08-29 01:23:41
[2026-08-29 01:23:41,156.156 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:23:41,383.383 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:23:41,392.392 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:23:41,527.527 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:23:41,574.574 INFO    ] time= 29/08/2026 01:23:41
[2026-08-29 01:23:41,629.629 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:23:41,664.664 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:23:41,716.716 INFO    ] No existing commands found in stream
[2026-08-29 01:23:46,729.729 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:23:46,732.732 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-08-29 01:23:50,839.839 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:23:50,841.841 INFO    ] Checking for system updates...
[2026-08-29 01:23:50,861.861 INFO    ] 200
[2026-08-29 01:23:50,863.863 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:23:50,893.893 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:23:50,895.895 INFO    ] No update needed
[2026-08-29 01:23:50,896.896 INFO    ] Checking for camera pi updates...
[2026-08-29 01:23:50,917.917 INFO    ] 200
[2026-08-29 01:23:50,919.919 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:23:50,944.944 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:23:51,039.039 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:23:51,041.041 INFO    ] No camera update needed
[2026-08-29 01:23:51,042.042 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:23:51,044.044 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:23:51,047.047 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:23:51,050.050 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:23:53,088.088 INFO    ] ================================================
[2026-08-29 01:23:53,104.104 INFO    ] Launching Daemon at Sat Aug 29 01:23:53 IST 2026
[2026-08-29 01:23:53,115.115 INFO    ] ================================================
[2026-08-29 01:23:53,457.457 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:23:53
[2026-08-29 01:23:53,767.767 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:23:53,909.909 INFO    ] Initializing speech engine...
[2026-08-29 01:23:53,914.914 INFO    ] 2026-08-29 01:23:53
[2026-08-29 01:23:54,118.118 INFO    ] 2026-08-29 01:23:54
[2026-08-29 01:23:54,146.146 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:23:54,311.311 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:23:54,338.338 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:23:54,468.468 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:23:54,495.495 INFO    ] time= 29/08/2026 01:23:54
[2026-08-29 01:23:54,503.503 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:23:54,510.510 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:23:54,611.611 INFO    ] No existing commands found in stream
[2026-08-29 01:23:59,641.641 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:23:59,643.643 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-08-29 01:24:03,738.738 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:24:03,741.741 INFO    ] Checking for system updates...
[2026-08-29 01:24:03,776.776 INFO    ] 200
[2026-08-29 01:24:03,779.779 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:24:03,836.836 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:24:03,839.839 INFO    ] No update needed
[2026-08-29 01:24:03,841.841 INFO    ] Checking for camera pi updates...
[2026-08-29 01:24:03,878.878 INFO    ] 200
[2026-08-29 01:24:03,880.880 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:24:03,924.924 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:24:03,995.995 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:24:03,997.997 INFO    ] No camera update needed
[2026-08-29 01:24:04,000.000 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:24:04,002.002 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:24:04,007.007 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:24:04,012.012 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:24:06,055.055 INFO    ] ================================================
[2026-08-29 01:24:06,070.070 INFO    ] Launching Daemon at Sat Aug 29 01:24:06 IST 2026
[2026-08-29 01:24:06,081.081 INFO    ] ================================================
[2026-08-29 01:24:06,424.424 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:24:06
[2026-08-29 01:24:06,833.833 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:24:07,101.101 INFO    ] Initializing speech engine...
[2026-08-29 01:24:07,117.117 INFO    ] 2026-08-29 01:24:07
[2026-08-29 01:24:07,383.383 INFO    ] 2026-08-29 01:24:07
[2026-08-29 01:24:07,427.427 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:24:07,596.596 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:24:07,620.620 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:24:07,750.750 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:24:07,759.759 INFO    ] time= 29/08/2026 01:24:07
[2026-08-29 01:24:07,767.767 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:24:07,817.817 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:24:07,932.932 INFO    ] No existing commands found in stream
[2026-08-29 01:24:12,958.958 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:24:12,961.961 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-08-29 01:24:17,255.255 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:24:17,256.256 INFO    ] Checking for system updates...
[2026-08-29 01:24:17,279.279 INFO    ] 200
[2026-08-29 01:24:17,280.280 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:24:17,310.310 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:24:17,311.311 INFO    ] No update needed
[2026-08-29 01:24:17,312.312 INFO    ] Checking for camera pi updates...
[2026-08-29 01:24:17,347.347 INFO    ] 200
[2026-08-29 01:24:17,350.350 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:24:17,390.390 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:24:17,493.493 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:24:17,495.495 INFO    ] No camera update needed
[2026-08-29 01:24:17,498.498 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:24:17,500.500 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:24:17,505.505 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:24:17,510.510 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:24:19,552.552 INFO    ] ================================================
[2026-08-29 01:24:19,568.568 INFO    ] Launching Daemon at Sat Aug 29 01:24:19 IST 2026
[2026-08-29 01:24:19,579.579 INFO    ] ================================================
[2026-08-29 01:24:20,219.219 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:24:20
[2026-08-29 01:24:20,664.664 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:24:20,808.808 INFO    ] Initializing speech engine...
[2026-08-29 01:24:20,818.818 INFO    ] 2026-08-29 01:24:20
[2026-08-29 01:24:21,025.025 INFO    ] 2026-08-29 01:24:21
[2026-08-29 01:24:21,054.054 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:24:21,191.191 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:24:21,240.240 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:24:21,375.375 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:24:21,439.439 INFO    ] time= 29/08/2026 01:24:21
[2026-08-29 01:24:21,466.466 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:24:21,473.473 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:24:21,539.539 INFO    ] No existing commands found in stream
[2026-08-29 01:24:26,550.550 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:24:26,553.553 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-08-29 01:24:30,662.662 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:24:30,664.664 INFO    ] Checking for system updates...
[2026-08-29 01:24:30,685.685 INFO    ] 200
[2026-08-29 01:24:30,686.686 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:24:30,718.718 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:24:30,720.720 INFO    ] No update needed
[2026-08-29 01:24:30,721.721 INFO    ] Checking for camera pi updates...
[2026-08-29 01:24:30,743.743 INFO    ] 200
[2026-08-29 01:24:30,744.744 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:24:30,767.767 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:24:30,943.943 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:24:30,944.944 INFO    ] No camera update needed
[2026-08-29 01:24:30,945.945 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:24:30,947.947 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:24:30,949.949 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:24:30,952.952 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:24:32,993.993 INFO    ] ================================================
[2026-08-29 01:24:33,008.008 INFO    ] Launching Daemon at Sat Aug 29 01:24:33 IST 2026
[2026-08-29 01:24:33,019.019 INFO    ] ================================================
[2026-08-29 01:24:33,584.584 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:24:33
[2026-08-29 01:24:34,169.169 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:24:34,424.424 INFO    ] Initializing speech engine...
[2026-08-29 01:24:34,431.431 INFO    ] 2026-08-29 01:24:34
[2026-08-29 01:24:34,721.721 INFO    ] 2026-08-29 01:24:34
[2026-08-29 01:24:34,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:24:34,902.902 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:24:34,908.908 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:24:35,049.049 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:24:35,059.059 INFO    ] time= 29/08/2026 01:24:35
[2026-08-29 01:24:35,065.065 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:24:35,079.079 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:24:35,188.188 INFO    ] No existing commands found in stream
[2026-08-29 01:24:40,202.202 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:24:40,205.205 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 01:24:43,709.709 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:24:43,710.710 INFO    ] Checking for system updates...
[2026-08-29 01:24:43,731.731 INFO    ] 200
[2026-08-29 01:24:43,732.732 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:24:43,763.763 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:24:43,764.764 INFO    ] No update needed
[2026-08-29 01:24:43,766.766 INFO    ] Checking for camera pi updates...
[2026-08-29 01:24:43,785.785 INFO    ] 200
[2026-08-29 01:24:43,787.787 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:24:43,813.813 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:24:43,918.918 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:24:43,920.920 INFO    ] No camera update needed
[2026-08-29 01:24:43,923.923 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:24:43,925.925 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:24:43,930.930 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:24:43,935.935 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:24:45,976.976 INFO    ] ================================================
[2026-08-29 01:24:45,992.992 INFO    ] Launching Daemon at Sat Aug 29 01:24:45 IST 2026
[2026-08-29 01:24:46,003.003 INFO    ] ================================================
[2026-08-29 01:24:46,648.648 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:24:46
[2026-08-29 01:24:47,155.155 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:24:47,343.343 INFO    ] Initializing speech engine...
[2026-08-29 01:24:47,348.348 INFO    ] 2026-08-29 01:24:47
[2026-08-29 01:24:47,629.629 INFO    ] 2026-08-29 01:24:47
[2026-08-29 01:24:47,664.664 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:24:47,836.836 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:24:47,842.842 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:24:47,997.997 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:24:48,008.008 INFO    ] time= 29/08/2026 01:24:47
[2026-08-29 01:24:48,014.014 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:24:48,037.037 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:24:48,090.090 INFO    ] No existing commands found in stream
[2026-08-29 01:24:53,100.100 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:24:53,103.103 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-08-29 01:24:56,277.277 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:24:56,278.278 INFO    ] Checking for system updates...
[2026-08-29 01:24:56,299.299 INFO    ] 200
[2026-08-29 01:24:56,300.300 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:24:56,332.332 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:24:56,333.333 INFO    ] No update needed
[2026-08-29 01:24:56,335.335 INFO    ] Checking for camera pi updates...
[2026-08-29 01:24:56,354.354 INFO    ] 200
[2026-08-29 01:24:56,355.355 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:24:56,377.377 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:24:56,470.470 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:24:56,471.471 INFO    ] No camera update needed
[2026-08-29 01:24:56,472.472 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:24:56,474.474 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:24:56,476.476 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:24:56,479.479 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:24:58,517.517 INFO    ] ================================================
[2026-08-29 01:24:58,533.533 INFO    ] Launching Daemon at Sat Aug 29 01:24:58 IST 2026
[2026-08-29 01:24:58,544.544 INFO    ] ================================================
[2026-08-29 01:24:58,895.895 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:24:58
[2026-08-29 01:24:59,237.237 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:24:59,391.391 INFO    ] Initializing speech engine...
[2026-08-29 01:24:59,396.396 INFO    ] 2026-08-29 01:24:59
[2026-08-29 01:24:59,602.602 INFO    ] 2026-08-29 01:24:59
[2026-08-29 01:24:59,631.631 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:24:59,814.814 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:24:59,818.818 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:24:59,997.997 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:25:00,025.025 INFO    ] time= 29/08/2026 01:25:00
[2026-08-29 01:25:00,079.079 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:25:00,128.128 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:25:00,223.223 INFO    ] No existing commands found in stream
[2026-08-29 01:25:05,243.243 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:25:05,246.246 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-08-29 01:25:05,875.875 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:25:05,878.878 INFO    ] Checking for system updates...
[2026-08-29 01:25:05,919.919 INFO    ] 200
[2026-08-29 01:25:05,922.922 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:25:05,980.980 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:25:05,983.983 INFO    ] No update needed
[2026-08-29 01:25:05,986.986 INFO    ] Checking for camera pi updates...
[2026-08-29 01:25:06,020.020 INFO    ] 200
[2026-08-29 01:25:06,023.023 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:25:06,063.063 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:25:06,175.175 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:25:06,178.178 INFO    ] No camera update needed
[2026-08-29 01:25:06,180.180 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:25:06,183.183 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:25:06,188.188 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:25:06,193.193 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:25:08,234.234 INFO    ] ================================================
[2026-08-29 01:25:08,249.249 INFO    ] Launching Daemon at Sat Aug 29 01:25:08 IST 2026
[2026-08-29 01:25:08,260.260 INFO    ] ================================================
[2026-08-29 01:25:08,595.595 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:25:08
[2026-08-29 01:25:09,134.134 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:25:09,379.379 INFO    ] Initializing speech engine...
[2026-08-29 01:25:09,388.388 INFO    ] 2026-08-29 01:25:09
[2026-08-29 01:25:09,664.664 INFO    ] 2026-08-29 01:25:09
[2026-08-29 01:25:09,698.698 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:25:09,876.876 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:25:09,890.890 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:25:10,003.003 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:25:10,022.022 INFO    ] time= 29/08/2026 01:25:10
[2026-08-29 01:25:10,042.042 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:25:10,049.049 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:25:10,121.121 INFO    ] No existing commands found in stream
[2026-08-29 01:25:15,147.147 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:25:15,149.149 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-08-29 01:25:17,494.494 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:25:17,497.497 INFO    ] Checking for system updates...
[2026-08-29 01:25:17,533.533 INFO    ] 200
[2026-08-29 01:25:17,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:25:17,587.587 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:25:17,589.589 INFO    ] No update needed
[2026-08-29 01:25:17,592.592 INFO    ] Checking for camera pi updates...
[2026-08-29 01:25:17,626.626 INFO    ] 200
[2026-08-29 01:25:17,628.628 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:25:17,673.673 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:25:17,760.760 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:25:17,762.762 INFO    ] No camera update needed
[2026-08-29 01:25:17,765.765 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:25:17,767.767 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:25:17,772.772 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:25:17,777.777 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:25:19,819.819 INFO    ] ================================================
[2026-08-29 01:25:19,834.834 INFO    ] Launching Daemon at Sat Aug 29 01:25:19 IST 2026
[2026-08-29 01:25:19,845.845 INFO    ] ================================================
[2026-08-29 01:25:20,428.428 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:25:20
[2026-08-29 01:25:20,758.758 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:25:20,901.901 INFO    ] Initializing speech engine...
[2026-08-29 01:25:20,906.906 INFO    ] 2026-08-29 01:25:20
[2026-08-29 01:25:21,155.155 INFO    ] 2026-08-29 01:25:21
[2026-08-29 01:25:21,210.210 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:25:21,374.374 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:25:21,379.379 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:25:21,544.544 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:25:21,576.576 INFO    ] time= 29/08/2026 01:25:21
[2026-08-29 01:25:21,582.582 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:25:21,603.603 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:25:21,716.716 INFO    ] No existing commands found in stream
[2026-08-29 01:25:26,742.742 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:25:26,745.745 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-08-29 01:25:27,718.718 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:25:27,719.719 INFO    ] Checking for system updates...
[2026-08-29 01:25:27,740.740 INFO    ] 200
[2026-08-29 01:25:27,741.741 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:25:27,774.774 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:25:27,775.775 INFO    ] No update needed
[2026-08-29 01:25:27,776.776 INFO    ] Checking for camera pi updates...
[2026-08-29 01:25:27,795.795 INFO    ] 200
[2026-08-29 01:25:27,796.796 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:25:27,819.819 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:25:27,954.954 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:25:27,955.955 INFO    ] No camera update needed
[2026-08-29 01:25:27,956.956 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:25:27,957.957 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:25:27,960.960 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:25:27,963.963 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:25:30,003.003 INFO    ] ================================================
[2026-08-29 01:25:30,018.018 INFO    ] Launching Daemon at Sat Aug 29 01:25:30 IST 2026
[2026-08-29 01:25:30,029.029 INFO    ] ================================================
[2026-08-29 01:25:30,386.386 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:25:30
[2026-08-29 01:25:30,698.698 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:25:30,841.841 INFO    ] Initializing speech engine...
[2026-08-29 01:25:30,846.846 INFO    ] 2026-08-29 01:25:30
[2026-08-29 01:25:31,044.044 INFO    ] 2026-08-29 01:25:31
[2026-08-29 01:25:31,154.154 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:25:31,310.310 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:25:31,315.315 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:25:31,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:25:31,472.472 INFO    ] time= 29/08/2026 01:25:31
[2026-08-29 01:25:31,531.531 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:25:31,589.589 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:25:31,644.644 INFO    ] No existing commands found in stream
[2026-08-29 01:25:36,656.656 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:25:36,658.658 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-08-29 01:25:37,160.160 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:25:37,161.161 INFO    ] Checking for system updates...
[2026-08-29 01:25:37,182.182 INFO    ] 200
[2026-08-29 01:25:37,183.183 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:25:37,216.216 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:25:37,217.217 INFO    ] No update needed
[2026-08-29 01:25:37,218.218 INFO    ] Checking for camera pi updates...
[2026-08-29 01:25:37,238.238 INFO    ] 200
[2026-08-29 01:25:37,239.239 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:25:37,265.265 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:25:37,353.353 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:25:37,354.354 INFO    ] No camera update needed
[2026-08-29 01:25:37,356.356 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:25:37,357.357 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:25:37,360.360 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:25:37,363.363 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:25:39,402.402 INFO    ] ================================================
[2026-08-29 01:25:39,417.417 INFO    ] Launching Daemon at Sat Aug 29 01:25:39 IST 2026
[2026-08-29 01:25:39,428.428 INFO    ] ================================================
[2026-08-29 01:25:39,779.779 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:25:39
[2026-08-29 01:25:40,119.119 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:25:40,271.271 INFO    ] Initializing speech engine...
[2026-08-29 01:25:40,277.277 INFO    ] 2026-08-29 01:25:40
[2026-08-29 01:25:40,500.500 INFO    ] 2026-08-29 01:25:40
[2026-08-29 01:25:40,570.570 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:25:40,793.793 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:25:40,803.803 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:25:40,937.937 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:25:40,964.964 INFO    ] time= 29/08/2026 01:25:40
[2026-08-29 01:25:41,029.029 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:25:41,073.073 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:25:41,135.135 INFO    ] No existing commands found in stream
[2026-08-29 01:25:46,165.165 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:25:46,168.168 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-08-29 01:25:46,853.853 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:25:46,854.854 INFO    ] Checking for system updates...
[2026-08-29 01:25:46,875.875 INFO    ] 200
[2026-08-29 01:25:46,876.876 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:25:46,909.909 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:25:46,910.910 INFO    ] No update needed
[2026-08-29 01:25:46,911.911 INFO    ] Checking for camera pi updates...
[2026-08-29 01:25:46,934.934 INFO    ] 200
[2026-08-29 01:25:46,935.935 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:25:46,958.958 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:25:47,068.068 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:25:47,070.070 INFO    ] No camera update needed
[2026-08-29 01:25:47,071.071 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:25:47,073.073 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:25:47,076.076 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:25:47,079.079 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:25:49,118.118 INFO    ] ================================================
[2026-08-29 01:25:49,133.133 INFO    ] Launching Daemon at Sat Aug 29 01:25:49 IST 2026
[2026-08-29 01:25:49,144.144 INFO    ] ================================================
[2026-08-29 01:25:49,628.628 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:25:49
[2026-08-29 01:25:50,214.214 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:25:50,466.466 INFO    ] Initializing speech engine...
[2026-08-29 01:25:50,488.488 INFO    ] 2026-08-29 01:25:50
[2026-08-29 01:25:50,746.746 INFO    ] 2026-08-29 01:25:50
[2026-08-29 01:25:50,782.782 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:25:50,958.958 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:25:50,970.970 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:25:51,081.081 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:25:51,087.087 INFO    ] time= 29/08/2026 01:25:51
[2026-08-29 01:25:51,106.106 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:25:51,126.126 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:25:51,201.201 INFO    ] No existing commands found in stream
[2026-08-29 01:25:56,213.213 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:25:56,216.216 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-08-29 01:25:57,277.277 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:25:57,278.278 INFO    ] Checking for system updates...
[2026-08-29 01:25:57,298.298 INFO    ] 200
[2026-08-29 01:25:57,299.299 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:25:57,331.331 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:25:57,332.332 INFO    ] No update needed
[2026-08-29 01:25:57,333.333 INFO    ] Checking for camera pi updates...
[2026-08-29 01:25:57,354.354 INFO    ] 200
[2026-08-29 01:25:57,355.355 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:25:57,378.378 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:25:57,473.473 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:25:57,475.475 INFO    ] No camera update needed
[2026-08-29 01:25:57,479.479 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:25:57,481.481 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:25:57,484.484 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:25:57,487.487 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:25:59,526.526 INFO    ] ================================================
[2026-08-29 01:25:59,542.542 INFO    ] Launching Daemon at Sat Aug 29 01:25:59 IST 2026
[2026-08-29 01:25:59,553.553 INFO    ] ================================================
[2026-08-29 01:26:00,159.159 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:26:00
[2026-08-29 01:26:00,839.839 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:26:01,117.117 INFO    ] Initializing speech engine...
[2026-08-29 01:26:01,122.122 INFO    ] 2026-08-29 01:26:01
[2026-08-29 01:26:01,372.372 INFO    ] 2026-08-29 01:26:01
[2026-08-29 01:26:01,435.435 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:26:01,582.582 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:26:01,595.595 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:26:01,730.730 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:26:01,742.742 INFO    ] time= 29/08/2026 01:26:01
[2026-08-29 01:26:01,747.747 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:26:01,753.753 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:26:01,825.825 INFO    ] No existing commands found in stream
[2026-08-29 01:26:06,860.860 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:26:06,863.863 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-08-29 01:26:09,917.917 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:26:09,918.918 INFO    ] Checking for system updates...
[2026-08-29 01:26:09,939.939 INFO    ] 200
[2026-08-29 01:26:09,940.940 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:26:09,971.971 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:26:09,973.973 INFO    ] No update needed
[2026-08-29 01:26:09,974.974 INFO    ] Checking for camera pi updates...
[2026-08-29 01:26:09,994.994 INFO    ] 200
[2026-08-29 01:26:09,995.995 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:26:10,020.020 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:26:10,101.101 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:26:10,103.103 INFO    ] No camera update needed
[2026-08-29 01:26:10,104.104 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:26:10,106.106 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:26:10,109.109 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:26:10,112.112 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:26:12,152.152 INFO    ] ================================================
[2026-08-29 01:26:12,167.167 INFO    ] Launching Daemon at Sat Aug 29 01:26:12 IST 2026
[2026-08-29 01:26:12,177.177 INFO    ] ================================================
[2026-08-29 01:26:12,745.745 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:26:12
[2026-08-29 01:26:13,356.356 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:26:13,640.640 INFO    ] Initializing speech engine...
[2026-08-29 01:26:13,646.646 INFO    ] 2026-08-29 01:26:13
[2026-08-29 01:26:13,892.892 INFO    ] 2026-08-29 01:26:13
[2026-08-29 01:26:13,926.926 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:26:14,099.099 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:26:14,111.111 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:26:14,252.252 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:26:14,260.260 INFO    ] time= 29/08/2026 01:26:14
[2026-08-29 01:26:14,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:26:14,292.292 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:26:14,419.419 INFO    ] No existing commands found in stream
[2026-08-29 01:26:19,449.449 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:26:19,452.452 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-08-29 01:26:21,711.711 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:26:21,712.712 INFO    ] Checking for system updates...
[2026-08-29 01:26:21,733.733 INFO    ] 200
[2026-08-29 01:26:21,734.734 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:26:21,766.766 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:26:21,768.768 INFO    ] No update needed
[2026-08-29 01:26:21,769.769 INFO    ] Checking for camera pi updates...
[2026-08-29 01:26:21,789.789 INFO    ] 200
[2026-08-29 01:26:21,790.790 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:26:21,815.815 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:26:21,903.903 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:26:21,904.904 INFO    ] No camera update needed
[2026-08-29 01:26:21,905.905 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:26:21,906.906 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:26:21,909.909 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:26:21,912.912 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:26:23,951.951 INFO    ] ================================================
[2026-08-29 01:26:23,965.965 INFO    ] Launching Daemon at Sat Aug 29 01:26:23 IST 2026
[2026-08-29 01:26:23,976.976 INFO    ] ================================================
[2026-08-29 01:26:24,333.333 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:26:24
[2026-08-29 01:26:24,655.655 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:26:24,894.894 INFO    ] Initializing speech engine...
[2026-08-29 01:26:24,902.902 INFO    ] 2026-08-29 01:26:24
[2026-08-29 01:26:25,162.162 INFO    ] 2026-08-29 01:26:25
[2026-08-29 01:26:25,192.192 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:26:25,379.379 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:26:25,407.407 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:26:25,580.580 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:26:25,606.606 INFO    ] time= 29/08/2026 01:26:25
[2026-08-29 01:26:25,665.665 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:26:25,714.714 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:26:25,772.772 INFO    ] No existing commands found in stream
[2026-08-29 01:26:30,784.784 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:26:30,787.787 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-08-29 01:26:33,424.424 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:26:33,427.427 INFO    ] Checking for system updates...
[2026-08-29 01:26:33,464.464 INFO    ] 200
[2026-08-29 01:26:33,466.466 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:26:33,520.520 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:26:33,523.523 INFO    ] No update needed
[2026-08-29 01:26:33,525.525 INFO    ] Checking for camera pi updates...
[2026-08-29 01:26:33,560.560 INFO    ] 200
[2026-08-29 01:26:33,563.563 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:26:33,605.605 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:26:33,688.688 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:26:33,691.691 INFO    ] No camera update needed
[2026-08-29 01:26:33,694.694 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:26:33,697.697 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:26:33,703.703 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:26:33,708.708 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:26:35,748.748 INFO    ] ================================================
[2026-08-29 01:26:35,764.764 INFO    ] Launching Daemon at Sat Aug 29 01:26:35 IST 2026
[2026-08-29 01:26:35,775.775 INFO    ] ================================================
[2026-08-29 01:26:36,355.355 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:26:36
[2026-08-29 01:26:37,036.036 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:26:37,344.344 INFO    ] Initializing speech engine...
[2026-08-29 01:26:37,355.355 INFO    ] 2026-08-29 01:26:37
[2026-08-29 01:26:37,669.669 INFO    ] 2026-08-29 01:26:37
[2026-08-29 01:26:37,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:26:37,910.910 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:26:37,916.916 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:26:38,049.049 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:26:38,095.095 INFO    ] time= 29/08/2026 01:26:38
[2026-08-29 01:26:38,140.140 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:26:38,183.183 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:26:38,286.286 INFO    ] No existing commands found in stream
[2026-08-29 01:26:43,312.312 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:26:43,315.315 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-08-29 01:26:47,538.538 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:26:47,540.540 INFO    ] Checking for system updates...
[2026-08-29 01:26:47,560.560 INFO    ] 200
[2026-08-29 01:26:47,562.562 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:26:47,592.592 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:26:47,594.594 INFO    ] No update needed
[2026-08-29 01:26:47,595.595 INFO    ] Checking for camera pi updates...
[2026-08-29 01:26:47,616.616 INFO    ] 200
[2026-08-29 01:26:47,617.617 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:26:47,640.640 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:26:47,724.724 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:26:47,726.726 INFO    ] No camera update needed
[2026-08-29 01:26:47,727.727 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:26:47,729.729 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:26:47,732.732 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:26:47,735.735 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:26:49,774.774 INFO    ] ================================================
[2026-08-29 01:26:49,789.789 INFO    ] Launching Daemon at Sat Aug 29 01:26:49 IST 2026
[2026-08-29 01:26:49,800.800 INFO    ] ================================================
[2026-08-29 01:26:50,133.133 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:26:50
[2026-08-29 01:26:50,449.449 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:26:50,588.588 INFO    ] Initializing speech engine...
[2026-08-29 01:26:50,598.598 INFO    ] 2026-08-29 01:26:50
[2026-08-29 01:26:50,802.802 INFO    ] 2026-08-29 01:26:50
[2026-08-29 01:26:50,830.830 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:26:50,953.953 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:26:50,996.996 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:26:51,145.145 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:26:51,207.207 INFO    ] time= 29/08/2026 01:26:51
[2026-08-29 01:26:51,230.230 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:26:51,245.245 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:26:51,316.316 INFO    ] No existing commands found in stream
[2026-08-29 01:26:56,327.327 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:26:56,329.329 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-08-29 01:26:57,953.953 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:26:57,954.954 INFO    ] Checking for system updates...
[2026-08-29 01:26:57,974.974 INFO    ] 200
[2026-08-29 01:26:57,976.976 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:26:58,006.006 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:26:58,007.007 INFO    ] No update needed
[2026-08-29 01:26:58,008.008 INFO    ] Checking for camera pi updates...
[2026-08-29 01:26:58,028.028 INFO    ] 200
[2026-08-29 01:26:58,030.030 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:26:58,054.054 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:26:58,144.144 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:26:58,147.147 INFO    ] No camera update needed
[2026-08-29 01:26:58,149.149 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:26:58,151.151 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:26:58,156.156 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:26:58,161.161 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:27:00,203.203 INFO    ] ================================================
[2026-08-29 01:27:00,218.218 INFO    ] Launching Daemon at Sat Aug 29 01:27:00 IST 2026
[2026-08-29 01:27:00,229.229 INFO    ] ================================================
[2026-08-29 01:27:00,810.810 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:27:00
[2026-08-29 01:27:01,314.314 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:27:01,564.564 INFO    ] Initializing speech engine...
[2026-08-29 01:27:01,586.586 INFO    ] 2026-08-29 01:27:01
[2026-08-29 01:27:01,836.836 INFO    ] 2026-08-29 01:27:01
[2026-08-29 01:27:01,908.908 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:27:02,060.060 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:27:02,063.063 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:27:02,167.167 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:27:02,170.170 INFO    ] time= 29/08/2026 01:27:02
[2026-08-29 01:27:02,173.173 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:27:02,176.176 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:27:02,231.231 INFO    ] No existing commands found in stream
[2026-08-29 01:27:07,241.241 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:27:07,244.244 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-08-29 01:27:10,955.955 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:27:10,958.958 INFO    ] Checking for system updates...
[2026-08-29 01:27:10,993.993 INFO    ] 200
[2026-08-29 01:27:10,996.996 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:27:11,048.048 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:27:11,050.050 INFO    ] No update needed
[2026-08-29 01:27:11,052.052 INFO    ] Checking for camera pi updates...
[2026-08-29 01:27:11,087.087 INFO    ] 200
[2026-08-29 01:27:11,089.089 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:27:11,129.129 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:27:11,216.216 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:27:11,218.218 INFO    ] No camera update needed
[2026-08-29 01:27:11,221.221 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:27:11,223.223 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:27:11,228.228 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:27:11,233.233 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:27:13,275.275 INFO    ] ================================================
[2026-08-29 01:27:13,290.290 INFO    ] Launching Daemon at Sat Aug 29 01:27:13 IST 2026
[2026-08-29 01:27:13,302.302 INFO    ] ================================================
[2026-08-29 01:27:13,679.679 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:27:13
[2026-08-29 01:27:14,019.019 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:27:14,171.171 INFO    ] Initializing speech engine...
[2026-08-29 01:27:14,176.176 INFO    ] 2026-08-29 01:27:14
[2026-08-29 01:27:14,384.384 INFO    ] 2026-08-29 01:27:14
[2026-08-29 01:27:14,412.412 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:27:14,535.535 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:27:14,598.598 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:27:14,781.781 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:27:14,830.830 INFO    ] time= 29/08/2026 01:27:14
[2026-08-29 01:27:14,875.875 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:27:14,940.940 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:27:15,035.035 INFO    ] No existing commands found in stream
[2026-08-29 01:27:20,046.046 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:27:20,049.049 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-08-29 01:27:24,351.351 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:27:24,353.353 INFO    ] Checking for system updates...
[2026-08-29 01:27:24,373.373 INFO    ] 200
[2026-08-29 01:27:24,375.375 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:27:24,409.409 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:27:24,411.411 INFO    ] No update needed
[2026-08-29 01:27:24,412.412 INFO    ] Checking for camera pi updates...
[2026-08-29 01:27:24,431.431 INFO    ] 200
[2026-08-29 01:27:24,433.433 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:27:24,456.456 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:27:24,549.549 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:27:24,550.550 INFO    ] No camera update needed
[2026-08-29 01:27:24,551.551 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:27:24,553.553 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:27:24,556.556 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:27:24,558.558 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:27:26,599.599 INFO    ] ================================================
[2026-08-29 01:27:26,614.614 INFO    ] Launching Daemon at Sat Aug 29 01:27:26 IST 2026
[2026-08-29 01:27:26,625.625 INFO    ] ================================================
[2026-08-29 01:27:26,983.983 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:27:26
[2026-08-29 01:27:27,295.295 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:27:27,437.437 INFO    ] Initializing speech engine...
[2026-08-29 01:27:27,448.448 INFO    ] 2026-08-29 01:27:27
[2026-08-29 01:27:27,695.695 INFO    ] 2026-08-29 01:27:27
[2026-08-29 01:27:27,730.730 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:27:27,912.912 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:27:27,928.928 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:27:28,056.056 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:27:28,064.064 INFO    ] time= 29/08/2026 01:27:28
[2026-08-29 01:27:28,070.070 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:27:28,090.090 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:27:28,231.231 INFO    ] No existing commands found in stream
[2026-08-29 01:27:33,261.261 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:27:33,264.264 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-08-29 01:27:35,348.348 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:27:35,351.351 INFO    ] Checking for system updates...
[2026-08-29 01:27:35,394.394 INFO    ] 200
[2026-08-29 01:27:35,396.396 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:27:35,433.433 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:27:35,435.435 INFO    ] No update needed
[2026-08-29 01:27:35,436.436 INFO    ] Checking for camera pi updates...
[2026-08-29 01:27:35,456.456 INFO    ] 200
[2026-08-29 01:27:35,457.457 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:27:35,482.482 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:27:35,571.571 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:27:35,573.573 INFO    ] No camera update needed
[2026-08-29 01:27:35,574.574 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:27:35,575.575 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:27:35,578.578 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:27:35,581.581 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:27:37,619.619 INFO    ] ================================================
[2026-08-29 01:27:37,634.634 INFO    ] Launching Daemon at Sat Aug 29 01:27:37 IST 2026
[2026-08-29 01:27:37,645.645 INFO    ] ================================================
[2026-08-29 01:27:38,092.092 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:27:38
[2026-08-29 01:27:38,676.676 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:27:38,945.945 INFO    ] Initializing speech engine...
[2026-08-29 01:27:38,953.953 INFO    ] 2026-08-29 01:27:38
[2026-08-29 01:27:39,200.200 INFO    ] 2026-08-29 01:27:39
[2026-08-29 01:27:39,236.236 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:27:39,408.408 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:27:39,421.421 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:27:39,545.545 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:27:39,565.565 INFO    ] time= 29/08/2026 01:27:39
[2026-08-29 01:27:39,573.573 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:27:39,579.579 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:27:39,651.651 INFO    ] No existing commands found in stream
[2026-08-29 01:27:44,686.686 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:27:44,689.689 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-08-29 01:27:45,514.514 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:27:45,515.515 INFO    ] Checking for system updates...
[2026-08-29 01:27:45,535.535 INFO    ] 200
[2026-08-29 01:27:45,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:27:45,568.568 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:27:45,570.570 INFO    ] No update needed
[2026-08-29 01:27:45,571.571 INFO    ] Checking for camera pi updates...
[2026-08-29 01:27:45,592.592 INFO    ] 200
[2026-08-29 01:27:45,593.593 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:27:45,616.616 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:27:45,661.661 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:27:45,663.663 INFO    ] No camera update needed
[2026-08-29 01:27:45,664.664 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:27:45,665.665 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:27:45,668.668 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:27:45,671.671 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:27:47,711.711 INFO    ] ================================================
[2026-08-29 01:27:47,726.726 INFO    ] Launching Daemon at Sat Aug 29 01:27:47 IST 2026
[2026-08-29 01:27:47,737.737 INFO    ] ================================================
[2026-08-29 01:27:48,119.119 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:27:48
[2026-08-29 01:27:48,702.702 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:27:48,970.970 INFO    ] Initializing speech engine...
[2026-08-29 01:27:48,978.978 INFO    ] 2026-08-29 01:27:48
[2026-08-29 01:27:49,226.226 INFO    ] 2026-08-29 01:27:49
[2026-08-29 01:27:49,290.290 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:27:49,433.433 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:27:49,456.456 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:27:49,586.586 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:27:49,594.594 INFO    ] time= 29/08/2026 01:27:49
[2026-08-29 01:27:49,600.600 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:27:49,620.620 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:27:49,747.747 INFO    ] No existing commands found in stream
[2026-08-29 01:27:54,778.778 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:27:54,780.780 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-08-29 01:27:56,241.241 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:27:56,242.242 INFO    ] Checking for system updates...
[2026-08-29 01:27:56,264.264 INFO    ] 200
[2026-08-29 01:27:56,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:27:56,296.296 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:27:56,297.297 INFO    ] No update needed
[2026-08-29 01:27:56,298.298 INFO    ] Checking for camera pi updates...
[2026-08-29 01:27:56,318.318 INFO    ] 200
[2026-08-29 01:27:56,320.320 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:27:56,344.344 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:27:56,419.419 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:27:56,421.421 INFO    ] No camera update needed
[2026-08-29 01:27:56,422.422 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:27:56,423.423 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:27:56,426.426 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:27:56,429.429 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:27:58,467.467 INFO    ] ================================================
[2026-08-29 01:27:58,482.482 INFO    ] Launching Daemon at Sat Aug 29 01:27:58 IST 2026
[2026-08-29 01:27:58,493.493 INFO    ] ================================================
[2026-08-29 01:27:58,833.833 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:27:58
[2026-08-29 01:27:59,149.149 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:27:59,293.293 INFO    ] Initializing speech engine...
[2026-08-29 01:27:59,298.298 INFO    ] 2026-08-29 01:27:59
[2026-08-29 01:27:59,501.501 INFO    ] 2026-08-29 01:27:59
[2026-08-29 01:27:59,529.529 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:27:59,691.691 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:27:59,743.743 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:27:59,874.874 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:27:59,882.882 INFO    ] time= 29/08/2026 01:27:59
[2026-08-29 01:27:59,889.889 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:27:59,933.933 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:28:00,048.048 INFO    ] No existing commands found in stream
[2026-08-29 01:28:05,078.078 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:28:05,081.081 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-08-29 01:28:06,110.110 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:28:06,113.113 INFO    ] Checking for system updates...
[2026-08-29 01:28:06,153.153 INFO    ] 200
[2026-08-29 01:28:06,156.156 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:28:06,192.192 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:28:06,193.193 INFO    ] No update needed
[2026-08-29 01:28:06,194.194 INFO    ] Checking for camera pi updates...
[2026-08-29 01:28:06,215.215 INFO    ] 200
[2026-08-29 01:28:06,216.216 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:28:06,239.239 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:28:06,344.344 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:28:06,346.346 INFO    ] No camera update needed
[2026-08-29 01:28:06,347.347 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:28:06,348.348 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:28:06,351.351 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:28:06,354.354 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:28:08,392.392 INFO    ] ================================================
[2026-08-29 01:28:08,408.408 INFO    ] Launching Daemon at Sat Aug 29 01:28:08 IST 2026
[2026-08-29 01:28:08,419.419 INFO    ] ================================================
[2026-08-29 01:28:08,987.987 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:28:08
[2026-08-29 01:28:09,572.572 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:28:09,772.772 INFO    ] Initializing speech engine...
[2026-08-29 01:28:09,777.777 INFO    ] 2026-08-29 01:28:09
[2026-08-29 01:28:09,979.979 INFO    ] 2026-08-29 01:28:09
[2026-08-29 01:28:10,055.055 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:28:10,208.208 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:28:10,217.217 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:28:10,351.351 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:28:10,373.373 INFO    ] time= 29/08/2026 01:28:10
[2026-08-29 01:28:10,427.427 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:28:10,482.482 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:28:10,540.540 INFO    ] No existing commands found in stream
[2026-08-29 01:28:15,551.551 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:28:15,554.554 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-08-29 01:28:18,922.922 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:28:18,923.923 INFO    ] Checking for system updates...
[2026-08-29 01:28:18,945.945 INFO    ] 200
[2026-08-29 01:28:18,946.946 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:28:18,977.977 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:28:18,978.978 INFO    ] No update needed
[2026-08-29 01:28:18,979.979 INFO    ] Checking for camera pi updates...
[2026-08-29 01:28:18,999.999 INFO    ] 200
[2026-08-29 01:28:19,000.000 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:28:19,023.023 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:28:19,116.116 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:28:19,117.117 INFO    ] No camera update needed
[2026-08-29 01:28:19,118.118 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:28:19,119.119 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:28:19,122.122 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:28:19,125.125 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:28:21,164.164 INFO    ] ================================================
[2026-08-29 01:28:21,179.179 INFO    ] Launching Daemon at Sat Aug 29 01:28:21 IST 2026
[2026-08-29 01:28:21,190.190 INFO    ] ================================================
[2026-08-29 01:28:21,534.534 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:28:21
[2026-08-29 01:28:22,060.060 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:28:22,333.333 INFO    ] Initializing speech engine...
[2026-08-29 01:28:22,340.340 INFO    ] 2026-08-29 01:28:22
[2026-08-29 01:28:22,589.589 INFO    ] 2026-08-29 01:28:22
[2026-08-29 01:28:22,648.648 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:28:22,812.812 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:28:22,856.856 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:28:23,012.012 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:28:23,059.059 INFO    ] time= 29/08/2026 01:28:23
[2026-08-29 01:28:23,125.125 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:28:23,146.146 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:28:23,199.199 INFO    ] No existing commands found in stream
[2026-08-29 01:28:28,210.210 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:28:28,213.213 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-08-29 01:28:29,592.592 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:28:29,593.593 INFO    ] Checking for system updates...
[2026-08-29 01:28:29,614.614 INFO    ] 200
[2026-08-29 01:28:29,615.615 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:28:29,650.650 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:28:29,651.651 INFO    ] No update needed
[2026-08-29 01:28:29,652.652 INFO    ] Checking for camera pi updates...
[2026-08-29 01:28:29,673.673 INFO    ] 200
[2026-08-29 01:28:29,674.674 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:28:29,697.697 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:28:29,774.774 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:28:29,776.776 INFO    ] No camera update needed
[2026-08-29 01:28:29,779.779 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:28:29,781.781 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:28:29,786.786 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:28:29,791.791 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:28:31,837.837 INFO    ] ================================================
[2026-08-29 01:28:31,855.855 INFO    ] Launching Daemon at Sat Aug 29 01:28:31 IST 2026
[2026-08-29 01:28:31,867.867 INFO    ] ================================================
[2026-08-29 01:28:32,556.556 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:28:32
[2026-08-29 01:28:33,108.108 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:28:33,399.399 INFO    ] Initializing speech engine...
[2026-08-29 01:28:33,408.408 INFO    ] 2026-08-29 01:28:33
[2026-08-29 01:28:33,681.681 INFO    ] 2026-08-29 01:28:33
[2026-08-29 01:28:33,708.708 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:28:33,868.868 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:28:33,875.875 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:28:34,036.036 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:28:34,045.045 INFO    ] time= 29/08/2026 01:28:34
[2026-08-29 01:28:34,051.051 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:28:34,071.071 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:28:34,127.127 INFO    ] No existing commands found in stream
[2026-08-29 01:28:39,138.138 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:28:39,140.140 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-08-29 01:28:40,445.445 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:28:40,448.448 INFO    ] Checking for system updates...
[2026-08-29 01:28:40,488.488 INFO    ] 200
[2026-08-29 01:28:40,491.491 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:28:40,553.553 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:28:40,556.556 INFO    ] No update needed
[2026-08-29 01:28:40,559.559 INFO    ] Checking for camera pi updates...
[2026-08-29 01:28:40,594.594 INFO    ] 200
[2026-08-29 01:28:40,596.596 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:28:40,637.637 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:28:40,828.828 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:28:40,830.830 INFO    ] No camera update needed
[2026-08-29 01:28:40,832.832 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:28:40,835.835 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:28:40,840.840 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:28:40,845.845 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:28:42,885.885 INFO    ] ================================================
[2026-08-29 01:28:42,900.900 INFO    ] Launching Daemon at Sat Aug 29 01:28:42 IST 2026
[2026-08-29 01:28:42,912.912 INFO    ] ================================================
[2026-08-29 01:28:43,494.494 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:28:43
[2026-08-29 01:28:43,811.811 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:28:43,947.947 INFO    ] Initializing speech engine...
[2026-08-29 01:28:43,952.952 INFO    ] 2026-08-29 01:28:43
[2026-08-29 01:28:44,214.214 INFO    ] 2026-08-29 01:28:44
[2026-08-29 01:28:44,253.253 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:28:44,449.449 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:28:44,461.461 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:28:44,573.573 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:28:44,580.580 INFO    ] time= 29/08/2026 01:28:44
[2026-08-29 01:28:44,604.604 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:28:44,607.607 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:28:44,660.660 INFO    ] No existing commands found in stream
[2026-08-29 01:28:49,671.671 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:28:49,674.674 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-08-29 01:28:53,917.917 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:28:53,918.918 INFO    ] Checking for system updates...
[2026-08-29 01:28:53,939.939 INFO    ] 200
[2026-08-29 01:28:53,940.940 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:28:53,971.971 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:28:53,973.973 INFO    ] No update needed
[2026-08-29 01:28:53,974.974 INFO    ] Checking for camera pi updates...
[2026-08-29 01:28:53,996.996 INFO    ] 200
[2026-08-29 01:28:53,997.997 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:28:54,022.022 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:28:54,121.121 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:28:54,123.123 INFO    ] No camera update needed
[2026-08-29 01:28:54,124.124 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:28:54,125.125 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:28:54,128.128 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:28:54,131.131 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:28:56,170.170 INFO    ] ================================================
[2026-08-29 01:28:56,185.185 INFO    ] Launching Daemon at Sat Aug 29 01:28:56 IST 2026
[2026-08-29 01:28:56,196.196 INFO    ] ================================================
[2026-08-29 01:28:56,583.583 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:28:56
[2026-08-29 01:28:56,925.925 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:28:57,077.077 INFO    ] Initializing speech engine...
[2026-08-29 01:28:57,084.084 INFO    ] 2026-08-29 01:28:57
[2026-08-29 01:28:57,293.293 INFO    ] 2026-08-29 01:28:57
[2026-08-29 01:28:57,375.375 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:28:57,530.530 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:28:57,536.536 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:28:57,669.669 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:28:57,715.715 INFO    ] time= 29/08/2026 01:28:57
[2026-08-29 01:28:57,765.765 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:28:57,802.802 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:28:57,872.872 INFO    ] No existing commands found in stream
[2026-08-29 01:29:02,905.905 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:29:02,909.909 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-08-29 01:29:04,936.936 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:29:04,937.937 INFO    ] Checking for system updates...
[2026-08-29 01:29:04,958.958 INFO    ] 200
[2026-08-29 01:29:04,960.960 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:29:04,990.990 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:29:04,991.991 INFO    ] No update needed
[2026-08-29 01:29:04,993.993 INFO    ] Checking for camera pi updates...
[2026-08-29 01:29:05,013.013 INFO    ] 200
[2026-08-29 01:29:05,014.014 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:29:05,039.039 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:29:05,178.178 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:29:05,179.179 INFO    ] No camera update needed
[2026-08-29 01:29:05,180.180 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:29:05,182.182 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:29:05,185.185 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:29:05,188.188 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:29:07,227.227 INFO    ] ================================================
[2026-08-29 01:29:07,248.248 INFO    ] Launching Daemon at Sat Aug 29 01:29:07 IST 2026
[2026-08-29 01:29:07,259.259 INFO    ] ================================================
[2026-08-29 01:29:07,589.589 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:29:07
[2026-08-29 01:29:07,900.900 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:29:08,034.034 INFO    ] Initializing speech engine...
[2026-08-29 01:29:08,047.047 INFO    ] 2026-08-29 01:29:08
[2026-08-29 01:29:08,248.248 INFO    ] 2026-08-29 01:29:08
[2026-08-29 01:29:08,339.339 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:29:08,492.492 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:29:08,498.498 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:29:08,649.649 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:29:08,719.719 INFO    ] time= 29/08/2026 01:29:08
[2026-08-29 01:29:08,761.761 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:29:08,768.768 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:29:08,823.823 INFO    ] No existing commands found in stream
[2026-08-29 01:29:13,835.835 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:29:13,839.839 INFO    ] Waiting 2.66 seconds before fallback handling...
[2026-08-29 01:29:16,841.841 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:29:16,843.843 INFO    ] Checking for system updates...
[2026-08-29 01:29:16,864.864 INFO    ] 200
[2026-08-29 01:29:16,865.865 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:29:16,895.895 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:29:16,897.897 INFO    ] No update needed
[2026-08-29 01:29:16,898.898 INFO    ] Checking for camera pi updates...
[2026-08-29 01:29:16,918.918 INFO    ] 200
[2026-08-29 01:29:16,919.919 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:29:16,944.944 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:29:17,033.033 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:29:17,034.034 INFO    ] No camera update needed
[2026-08-29 01:29:17,035.035 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:29:17,037.037 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:29:17,040.040 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:29:17,043.043 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:29:19,082.082 INFO    ] ================================================
[2026-08-29 01:29:19,098.098 INFO    ] Launching Daemon at Sat Aug 29 01:29:19 IST 2026
[2026-08-29 01:29:19,108.108 INFO    ] ================================================
[2026-08-29 01:29:19,450.450 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:29:19
[2026-08-29 01:29:19,769.769 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:29:19,913.913 INFO    ] Initializing speech engine...
[2026-08-29 01:29:19,918.918 INFO    ] 2026-08-29 01:29:19
[2026-08-29 01:29:20,123.123 INFO    ] 2026-08-29 01:29:20
[2026-08-29 01:29:20,152.152 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:29:20,275.275 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:29:20,337.337 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:29:20,470.470 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:29:20,525.525 INFO    ] time= 29/08/2026 01:29:20
[2026-08-29 01:29:20,565.565 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:29:20,571.571 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:29:20,641.641 INFO    ] No existing commands found in stream
[2026-08-29 01:29:25,651.651 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:29:25,654.654 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-08-29 01:29:26,072.072 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:29:26,074.074 INFO    ] Checking for system updates...
[2026-08-29 01:29:26,094.094 INFO    ] 200
[2026-08-29 01:29:26,095.095 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:29:26,128.128 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:29:26,129.129 INFO    ] No update needed
[2026-08-29 01:29:26,130.130 INFO    ] Checking for camera pi updates...
[2026-08-29 01:29:26,151.151 INFO    ] 200
[2026-08-29 01:29:26,152.152 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:29:26,175.175 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:29:26,276.276 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:29:26,277.277 INFO    ] No camera update needed
[2026-08-29 01:29:26,278.278 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:29:26,279.279 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:29:26,282.282 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:29:26,285.285 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:29:28,325.325 INFO    ] ================================================
[2026-08-29 01:29:28,342.342 INFO    ] Launching Daemon at Sat Aug 29 01:29:28 IST 2026
[2026-08-29 01:29:28,353.353 INFO    ] ================================================
[2026-08-29 01:29:28,713.713 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:29:28
[2026-08-29 01:29:29,047.047 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:29:29,220.220 INFO    ] Initializing speech engine...
[2026-08-29 01:29:29,227.227 INFO    ] 2026-08-29 01:29:29
[2026-08-29 01:29:29,463.463 INFO    ] 2026-08-29 01:29:29
[2026-08-29 01:29:29,491.491 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:29:29,625.625 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:29:29,678.678 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:29:29,809.809 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:29:29,870.870 INFO    ] time= 29/08/2026 01:29:29
[2026-08-29 01:29:29,905.905 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:29:29,915.915 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:29:29,982.982 INFO    ] No existing commands found in stream
[2026-08-29 01:29:34,992.992 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:29:34,995.995 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-08-29 01:29:38,709.709 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:29:38,710.710 INFO    ] Checking for system updates...
[2026-08-29 01:29:38,733.733 INFO    ] 200
[2026-08-29 01:29:38,734.734 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:29:38,767.767 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:29:38,769.769 INFO    ] No update needed
[2026-08-29 01:29:38,770.770 INFO    ] Checking for camera pi updates...
[2026-08-29 01:29:38,790.790 INFO    ] 200
[2026-08-29 01:29:38,792.792 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:29:38,815.815 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:29:38,915.915 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:29:38,916.916 INFO    ] No camera update needed
[2026-08-29 01:29:38,918.918 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:29:38,919.919 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:29:38,923.923 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:29:38,926.926 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:29:40,964.964 INFO    ] ================================================
[2026-08-29 01:29:40,980.980 INFO    ] Launching Daemon at Sat Aug 29 01:29:40 IST 2026
[2026-08-29 01:29:40,991.991 INFO    ] ================================================
[2026-08-29 01:29:41,320.320 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:29:41
[2026-08-29 01:29:41,634.634 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:29:41,768.768 INFO    ] Initializing speech engine...
[2026-08-29 01:29:41,772.772 INFO    ] 2026-08-29 01:29:41
[2026-08-29 01:29:41,963.963 INFO    ] 2026-08-29 01:29:41
[2026-08-29 01:29:42,008.008 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:29:42,166.166 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:29:42,185.185 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:29:42,341.341 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:29:42,380.380 INFO    ] time= 29/08/2026 01:29:42
[2026-08-29 01:29:42,431.431 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:29:42,485.485 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:29:42,562.562 INFO    ] No existing commands found in stream
[2026-08-29 01:29:47,573.573 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:29:47,576.576 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 01:29:53,630.630 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:29:53,631.631 INFO    ] Checking for system updates...
[2026-08-29 01:29:53,654.654 INFO    ] 200
[2026-08-29 01:29:53,655.655 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:29:53,687.687 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:29:53,688.688 INFO    ] No update needed
[2026-08-29 01:29:53,690.690 INFO    ] Checking for camera pi updates...
[2026-08-29 01:29:53,709.709 INFO    ] 200
[2026-08-29 01:29:53,710.710 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:29:53,735.735 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:29:53,810.810 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:29:53,811.811 INFO    ] No camera update needed
[2026-08-29 01:29:53,812.812 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:29:53,814.814 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:29:53,816.816 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:29:53,819.819 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:29:55,858.858 INFO    ] ================================================
[2026-08-29 01:29:55,873.873 INFO    ] Launching Daemon at Sat Aug 29 01:29:55 IST 2026
[2026-08-29 01:29:55,884.884 INFO    ] ================================================
[2026-08-29 01:29:56,214.214 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:29:56
[2026-08-29 01:29:56,528.528 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:29:56,672.672 INFO    ] Initializing speech engine...
[2026-08-29 01:29:56,677.677 INFO    ] 2026-08-29 01:29:56
[2026-08-29 01:29:56,883.883 INFO    ] 2026-08-29 01:29:56
[2026-08-29 01:29:56,912.912 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:29:57,035.035 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:29:57,098.098 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:29:57,234.234 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:29:57,292.292 INFO    ] time= 29/08/2026 01:29:57
[2026-08-29 01:29:57,311.311 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:29:57,332.332 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:29:57,403.403 INFO    ] No existing commands found in stream
[2026-08-29 01:30:02,414.414 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:30:02,418.418 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-08-29 01:30:04,516.516 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:30:04,518.518 INFO    ] Checking for system updates...
[2026-08-29 01:30:04,558.558 INFO    ] 200
[2026-08-29 01:30:04,560.560 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:30:04,612.612 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:30:04,615.615 INFO    ] No update needed
[2026-08-29 01:30:04,618.618 INFO    ] Checking for camera pi updates...
[2026-08-29 01:30:04,654.654 INFO    ] 200
[2026-08-29 01:30:04,656.656 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:30:04,691.691 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:30:04,784.784 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:30:04,786.786 INFO    ] No camera update needed
[2026-08-29 01:30:04,788.788 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:30:04,791.791 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:30:04,796.796 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:30:04,801.801 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:30:06,840.840 INFO    ] ================================================
[2026-08-29 01:30:06,856.856 INFO    ] Launching Daemon at Sat Aug 29 01:30:06 IST 2026
[2026-08-29 01:30:06,870.870 INFO    ] ================================================
[2026-08-29 01:30:07,457.457 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:30:07
[2026-08-29 01:30:07,927.927 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:30:08,070.070 INFO    ] Initializing speech engine...
[2026-08-29 01:30:08,075.075 INFO    ] 2026-08-29 01:30:08
[2026-08-29 01:30:08,312.312 INFO    ] 2026-08-29 01:30:08
[2026-08-29 01:30:08,348.348 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:30:08,528.528 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:30:08,556.556 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:30:08,689.689 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:30:08,698.698 INFO    ] time= 29/08/2026 01:30:08
[2026-08-29 01:30:08,704.704 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:30:08,755.755 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:30:08,869.869 INFO    ] No existing commands found in stream
[2026-08-29 01:30:13,895.895 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:30:13,897.897 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-08-29 01:30:15,633.633 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:30:15,635.635 INFO    ] Checking for system updates...
[2026-08-29 01:30:15,655.655 INFO    ] 200
[2026-08-29 01:30:15,657.657 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:30:15,689.689 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:30:15,690.690 INFO    ] No update needed
[2026-08-29 01:30:15,691.691 INFO    ] Checking for camera pi updates...
[2026-08-29 01:30:15,711.711 INFO    ] 200
[2026-08-29 01:30:15,713.713 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:30:15,736.736 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:30:15,817.817 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:30:15,820.820 INFO    ] No camera update needed
[2026-08-29 01:30:15,822.822 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:30:15,825.825 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:30:15,830.830 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:30:15,835.835 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:30:17,876.876 INFO    ] ================================================
[2026-08-29 01:30:17,892.892 INFO    ] Launching Daemon at Sat Aug 29 01:30:17 IST 2026
[2026-08-29 01:30:17,902.902 INFO    ] ================================================
[2026-08-29 01:30:18,490.490 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:30:18
[2026-08-29 01:30:19,002.002 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:30:19,140.140 INFO    ] Initializing speech engine...
[2026-08-29 01:30:19,153.153 INFO    ] 2026-08-29 01:30:19
[2026-08-29 01:30:19,372.372 INFO    ] 2026-08-29 01:30:19
[2026-08-29 01:30:19,402.402 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:30:19,500.500 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:30:19,535.535 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:30:19,674.674 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:30:19,682.682 INFO    ] time= 29/08/2026 01:30:19
[2026-08-29 01:30:19,689.689 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:30:19,726.726 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:30:19,825.825 INFO    ] No existing commands found in stream
[2026-08-29 01:30:24,851.851 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:30:24,854.854 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-08-29 01:30:29,094.094 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:30:29,096.096 INFO    ] Checking for system updates...
[2026-08-29 01:30:29,117.117 INFO    ] 200
[2026-08-29 01:30:29,118.118 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:30:29,150.150 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:30:29,152.152 INFO    ] No update needed
[2026-08-29 01:30:29,153.153 INFO    ] Checking for camera pi updates...
[2026-08-29 01:30:29,173.173 INFO    ] 200
[2026-08-29 01:30:29,174.174 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:30:29,200.200 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:30:29,361.361 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:30:29,362.362 INFO    ] No camera update needed
[2026-08-29 01:30:29,364.364 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:30:29,365.365 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:30:29,368.368 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:30:29,370.370 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:30:31,410.410 INFO    ] ================================================
[2026-08-29 01:30:31,425.425 INFO    ] Launching Daemon at Sat Aug 29 01:30:31 IST 2026
[2026-08-29 01:30:31,437.437 INFO    ] ================================================
[2026-08-29 01:30:32,022.022 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:30:32
[2026-08-29 01:30:32,678.678 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:30:32,954.954 INFO    ] Initializing speech engine...
[2026-08-29 01:30:32,964.964 INFO    ] 2026-08-29 01:30:32
[2026-08-29 01:30:33,214.214 INFO    ] 2026-08-29 01:30:33
[2026-08-29 01:30:33,250.250 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:30:33,406.406 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:30:33,408.408 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:30:33,539.539 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:30:33,545.545 INFO    ] time= 29/08/2026 01:30:33
[2026-08-29 01:30:33,567.567 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:30:33,574.574 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:30:33,626.626 INFO    ] No existing commands found in stream
[2026-08-29 01:30:38,639.639 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:30:38,642.642 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-08-29 01:30:40,106.106 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:30:40,108.108 INFO    ] Checking for system updates...
[2026-08-29 01:30:40,129.129 INFO    ] 200
[2026-08-29 01:30:40,131.131 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:30:40,163.163 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:30:40,164.164 INFO    ] No update needed
[2026-08-29 01:30:40,165.165 INFO    ] Checking for camera pi updates...
[2026-08-29 01:30:40,185.185 INFO    ] 200
[2026-08-29 01:30:40,187.187 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:30:40,211.211 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:30:40,288.288 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:30:40,289.289 INFO    ] No camera update needed
[2026-08-29 01:30:40,291.291 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:30:40,292.292 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:30:40,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:30:40,297.297 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:30:42,336.336 INFO    ] ================================================
[2026-08-29 01:30:42,351.351 INFO    ] Launching Daemon at Sat Aug 29 01:30:42 IST 2026
[2026-08-29 01:30:42,362.362 INFO    ] ================================================
[2026-08-29 01:30:42,730.730 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:30:42
[2026-08-29 01:30:43,049.049 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:30:43,289.289 INFO    ] Initializing speech engine...
[2026-08-29 01:30:43,296.296 INFO    ] 2026-08-29 01:30:43
[2026-08-29 01:30:43,558.558 INFO    ] 2026-08-29 01:30:43
[2026-08-29 01:30:43,612.612 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:30:44,844.844 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:30:44,873.873 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:30:44,967.967 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:30:44,973.973 INFO    ] time= 29/08/2026 01:30:44
[2026-08-29 01:30:44,978.978 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:30:44,982.982 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:30:45,313.313 INFO    ] No existing commands found in stream
[2026-08-29 01:30:50,324.324 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:30:50,327.327 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-08-29 01:30:52,656.656 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:30:52,659.659 INFO    ] Checking for system updates...
[2026-08-29 01:30:52,698.698 INFO    ] 200
[2026-08-29 01:30:52,701.701 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:30:52,754.754 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:30:52,757.757 INFO    ] No update needed
[2026-08-29 01:30:52,759.759 INFO    ] Checking for camera pi updates...
[2026-08-29 01:30:52,797.797 INFO    ] 200
[2026-08-29 01:30:52,799.799 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:30:52,835.835 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:30:53,013.013 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:30:53,014.014 INFO    ] No camera update needed
[2026-08-29 01:30:53,016.016 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:30:53,017.017 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:30:53,021.021 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:30:53,024.024 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:30:55,065.065 INFO    ] ================================================
[2026-08-29 01:30:55,080.080 INFO    ] Launching Daemon at Sat Aug 29 01:30:55 IST 2026
[2026-08-29 01:30:55,091.091 INFO    ] ================================================
[2026-08-29 01:30:55,468.468 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:30:55
[2026-08-29 01:30:55,812.812 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:30:55,961.961 INFO    ] Initializing speech engine...
[2026-08-29 01:30:55,970.970 INFO    ] 2026-08-29 01:30:55
[2026-08-29 01:30:56,182.182 INFO    ] 2026-08-29 01:30:56
[2026-08-29 01:30:56,212.212 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:30:57,344.344 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:30:57,355.355 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:30:57,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:30:57,458.458 INFO    ] time= 29/08/2026 01:30:57
[2026-08-29 01:30:57,469.469 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:30:57,478.478 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:30:57,546.546 INFO    ] No existing commands found in stream
[2026-08-29 01:31:02,565.565 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:31:02,569.569 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-08-29 01:31:06,338.338 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:31:06,344.344 INFO    ] Checking for system updates...
[2026-08-29 01:31:06,396.396 INFO    ] 200
[2026-08-29 01:31:06,399.399 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:31:06,435.435 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:31:06,436.436 INFO    ] No update needed
[2026-08-29 01:31:06,438.438 INFO    ] Checking for camera pi updates...
[2026-08-29 01:31:06,458.458 INFO    ] 200
[2026-08-29 01:31:06,459.459 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:31:06,484.484 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:31:06,561.561 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:31:06,563.563 INFO    ] No camera update needed
[2026-08-29 01:31:06,564.564 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:31:06,565.565 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:31:06,568.568 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:31:06,571.571 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:31:08,609.609 INFO    ] ================================================
[2026-08-29 01:31:08,625.625 INFO    ] Launching Daemon at Sat Aug 29 01:31:08 IST 2026
[2026-08-29 01:31:08,637.637 INFO    ] ================================================
[2026-08-29 01:31:08,974.974 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:31:08
[2026-08-29 01:31:09,360.360 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:31:09,649.649 INFO    ] Initializing speech engine...
[2026-08-29 01:31:09,658.658 INFO    ] 2026-08-29 01:31:09
[2026-08-29 01:31:09,906.906 INFO    ] 2026-08-29 01:31:09
[2026-08-29 01:31:09,941.941 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:31:13,451.451 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:31:13,454.454 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:31:14,078.078 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:31:14,235.235 INFO    ] time= 29/08/2026 01:31:14
[2026-08-29 01:31:14,238.238 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:31:14,240.240 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:31:14,578.578 INFO    ] No existing commands found in stream
[2026-08-29 01:31:19,587.587 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:31:19,590.590 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 01:31:22,933.933 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:31:22,936.936 INFO    ] Checking for system updates...
[2026-08-29 01:31:22,986.986 INFO    ] 200
[2026-08-29 01:31:22,989.989 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:31:23,057.057 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:31:23,060.060 INFO    ] No update needed
[2026-08-29 01:31:23,063.063 INFO    ] Checking for camera pi updates...
[2026-08-29 01:31:23,102.102 INFO    ] 200
[2026-08-29 01:31:23,104.104 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:31:23,147.147 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:31:23,229.229 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:31:23,231.231 INFO    ] No camera update needed
[2026-08-29 01:31:23,234.234 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:31:23,236.236 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:31:23,241.241 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:31:23,246.246 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:31:25,287.287 INFO    ] ================================================
[2026-08-29 01:31:25,303.303 INFO    ] Launching Daemon at Sat Aug 29 01:31:25 IST 2026
[2026-08-29 01:31:25,314.314 INFO    ] ================================================
[2026-08-29 01:31:25,665.665 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:31:25
[2026-08-29 01:31:25,983.983 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:31:26,116.116 INFO    ] Initializing speech engine...
[2026-08-29 01:31:26,129.129 INFO    ] 2026-08-29 01:31:26
[2026-08-29 01:31:26,318.318 INFO    ] 2026-08-29 01:31:26
[2026-08-29 01:31:26,347.347 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:31:26,502.502 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:31:26,555.555 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:31:26,685.685 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:31:26,724.724 INFO    ] time= 29/08/2026 01:31:26
[2026-08-29 01:31:26,768.768 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:31:26,790.790 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:31:26,860.860 INFO    ] No existing commands found in stream
[2026-08-29 01:31:31,871.871 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:31:31,874.874 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 01:31:32,549.549 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:31:32,552.552 INFO    ] Checking for system updates...
[2026-08-29 01:31:32,597.597 INFO    ] 200
[2026-08-29 01:31:32,600.600 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:31:32,671.671 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:31:32,674.674 INFO    ] No update needed
[2026-08-29 01:31:32,677.677 INFO    ] Checking for camera pi updates...
[2026-08-29 01:31:32,721.721 INFO    ] 200
[2026-08-29 01:31:32,724.724 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:31:32,770.770 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:31:32,856.856 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:31:32,859.859 INFO    ] No camera update needed
[2026-08-29 01:31:32,863.863 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:31:32,866.866 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:31:32,873.873 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:31:32,879.879 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:31:34,922.922 INFO    ] ================================================
[2026-08-29 01:31:34,937.937 INFO    ] Launching Daemon at Sat Aug 29 01:31:34 IST 2026
[2026-08-29 01:31:34,948.948 INFO    ] ================================================
[2026-08-29 01:31:35,488.488 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:31:35
[2026-08-29 01:31:35,804.804 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:31:35,938.938 INFO    ] Initializing speech engine...
[2026-08-29 01:31:35,943.943 INFO    ] 2026-08-29 01:31:35
[2026-08-29 01:31:36,172.172 INFO    ] 2026-08-29 01:31:36
[2026-08-29 01:31:36,202.202 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:31:36,333.333 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:31:36,382.382 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:31:36,545.545 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:31:36,603.603 INFO    ] time= 29/08/2026 01:31:36
[2026-08-29 01:31:36,642.642 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:31:36,648.648 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:31:36,723.723 INFO    ] No existing commands found in stream
[2026-08-29 01:31:41,734.734 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:31:41,737.737 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-08-29 01:31:43,220.220 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:31:43,222.222 INFO    ] Checking for system updates...
[2026-08-29 01:31:43,243.243 INFO    ] 200
[2026-08-29 01:31:43,245.245 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:31:43,276.276 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:31:43,277.277 INFO    ] No update needed
[2026-08-29 01:31:43,279.279 INFO    ] Checking for camera pi updates...
[2026-08-29 01:31:43,298.298 INFO    ] 200
[2026-08-29 01:31:43,299.299 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:31:43,324.324 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:31:43,438.438 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:31:43,439.439 INFO    ] No camera update needed
[2026-08-29 01:31:43,440.440 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:31:43,442.442 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:31:43,445.445 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:31:43,447.447 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:31:45,486.486 INFO    ] ================================================
[2026-08-29 01:31:45,502.502 INFO    ] Launching Daemon at Sat Aug 29 01:31:45 IST 2026
[2026-08-29 01:31:45,513.513 INFO    ] ================================================
[2026-08-29 01:31:45,899.899 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:31:45
[2026-08-29 01:31:46,234.234 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:31:46,374.374 INFO    ] Initializing speech engine...
[2026-08-29 01:31:46,389.389 INFO    ] 2026-08-29 01:31:46
[2026-08-29 01:31:46,600.600 INFO    ] 2026-08-29 01:31:46
[2026-08-29 01:31:46,629.629 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:31:46,753.753 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:31:46,817.817 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:31:46,956.956 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:31:47,021.021 INFO    ] time= 29/08/2026 01:31:46
[2026-08-29 01:31:47,049.049 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:31:47,051.051 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:31:47,123.123 INFO    ] No existing commands found in stream
[2026-08-29 01:31:52,134.134 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:31:52,137.137 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-08-29 01:31:53,551.551 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:31:53,552.552 INFO    ] Checking for system updates...
[2026-08-29 01:31:53,574.574 INFO    ] 200
[2026-08-29 01:31:53,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:31:53,608.608 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:31:53,609.609 INFO    ] No update needed
[2026-08-29 01:31:53,611.611 INFO    ] Checking for camera pi updates...
[2026-08-29 01:31:53,634.634 INFO    ] 200
[2026-08-29 01:31:53,635.635 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:31:53,662.662 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:31:53,748.748 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:31:53,750.750 INFO    ] No camera update needed
[2026-08-29 01:31:53,751.751 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:31:53,753.753 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:31:53,756.756 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:31:53,759.759 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:31:55,800.800 INFO    ] ================================================
[2026-08-29 01:31:55,815.815 INFO    ] Launching Daemon at Sat Aug 29 01:31:55 IST 2026
[2026-08-29 01:31:55,827.827 INFO    ] ================================================
[2026-08-29 01:31:56,153.153 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:31:56
[2026-08-29 01:31:56,467.467 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:31:56,605.605 INFO    ] Initializing speech engine...
[2026-08-29 01:31:56,615.615 INFO    ] 2026-08-29 01:31:56
[2026-08-29 01:31:56,821.821 INFO    ] 2026-08-29 01:31:56
[2026-08-29 01:31:56,850.850 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:31:57,034.034 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:31:57,037.037 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:31:57,195.195 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:31:57,244.244 INFO    ] time= 29/08/2026 01:31:57
[2026-08-29 01:31:57,265.265 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:31:57,272.272 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:31:57,337.337 INFO    ] No existing commands found in stream
[2026-08-29 01:32:02,344.344 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:32:02,348.348 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-08-29 01:32:06,152.152 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:32:06,154.154 INFO    ] Checking for system updates...
[2026-08-29 01:32:06,176.176 INFO    ] 200
[2026-08-29 01:32:06,177.177 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:32:06,206.206 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:32:06,208.208 INFO    ] No update needed
[2026-08-29 01:32:06,209.209 INFO    ] Checking for camera pi updates...
[2026-08-29 01:32:06,230.230 INFO    ] 200
[2026-08-29 01:32:06,232.232 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:32:06,254.254 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:32:06,332.332 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:32:06,333.333 INFO    ] No camera update needed
[2026-08-29 01:32:06,335.335 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:32:06,336.336 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:32:06,339.339 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:32:06,341.341 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:32:08,381.381 INFO    ] ================================================
[2026-08-29 01:32:08,397.397 INFO    ] Launching Daemon at Sat Aug 29 01:32:08 IST 2026
[2026-08-29 01:32:08,408.408 INFO    ] ================================================
[2026-08-29 01:32:08,980.980 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:32:08
[2026-08-29 01:32:09,625.625 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:32:09,813.813 INFO    ] Initializing speech engine...
[2026-08-29 01:32:09,818.818 INFO    ] 2026-08-29 01:32:09
[2026-08-29 01:32:10,039.039 INFO    ] 2026-08-29 01:32:10
[2026-08-29 01:32:10,124.124 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:32:10,273.273 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:32:10,282.282 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:32:10,416.416 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:32:10,442.442 INFO    ] time= 29/08/2026 01:32:10
[2026-08-29 01:32:10,507.507 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:32:10,550.550 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:32:10,610.610 INFO    ] No existing commands found in stream
[2026-08-29 01:32:15,635.635 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:32:15,638.638 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-08-29 01:32:16,431.431 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:32:16,432.432 INFO    ] Checking for system updates...
[2026-08-29 01:32:16,453.453 INFO    ] 200
[2026-08-29 01:32:16,455.455 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:32:16,485.485 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:32:16,487.487 INFO    ] No update needed
[2026-08-29 01:32:16,488.488 INFO    ] Checking for camera pi updates...
[2026-08-29 01:32:16,508.508 INFO    ] 200
[2026-08-29 01:32:16,510.510 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:32:16,536.536 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:32:16,616.616 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:32:16,617.617 INFO    ] No camera update needed
[2026-08-29 01:32:16,619.619 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:32:16,620.620 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:32:16,623.623 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:32:16,626.626 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:32:18,668.668 INFO    ] ================================================
[2026-08-29 01:32:18,683.683 INFO    ] Launching Daemon at Sat Aug 29 01:32:18 IST 2026
[2026-08-29 01:32:18,694.694 INFO    ] ================================================
[2026-08-29 01:32:19,277.277 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:32:19
[2026-08-29 01:32:19,878.878 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:32:20,157.157 INFO    ] Initializing speech engine...
[2026-08-29 01:32:20,165.165 INFO    ] 2026-08-29 01:32:20
[2026-08-29 01:32:20,425.425 INFO    ] 2026-08-29 01:32:20
[2026-08-29 01:32:20,476.476 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:32:20,633.633 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:32:20,654.654 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:32:20,782.782 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:32:20,790.790 INFO    ] time= 29/08/2026 01:32:20
[2026-08-29 01:32:20,797.797 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:32:20,848.848 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:32:20,966.966 INFO    ] No existing commands found in stream
[2026-08-29 01:32:25,996.996 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:32:25,999.999 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-08-29 01:32:28,080.080 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:32:28,082.082 INFO    ] Checking for system updates...
[2026-08-29 01:32:28,104.104 INFO    ] 200
[2026-08-29 01:32:28,106.106 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:32:28,138.138 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:32:28,139.139 INFO    ] No update needed
[2026-08-29 01:32:28,140.140 INFO    ] Checking for camera pi updates...
[2026-08-29 01:32:28,160.160 INFO    ] 200
[2026-08-29 01:32:28,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:32:28,184.184 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:32:28,279.279 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:32:28,280.280 INFO    ] No camera update needed
[2026-08-29 01:32:28,281.281 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:32:28,283.283 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:32:28,286.286 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:32:28,288.288 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:32:30,328.328 INFO    ] ================================================
[2026-08-29 01:32:30,344.344 INFO    ] Launching Daemon at Sat Aug 29 01:32:30 IST 2026
[2026-08-29 01:32:30,355.355 INFO    ] ================================================
[2026-08-29 01:32:30,712.712 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:32:30
[2026-08-29 01:32:31,047.047 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:32:31,199.199 INFO    ] Initializing speech engine...
[2026-08-29 01:32:31,205.205 INFO    ] 2026-08-29 01:32:31
[2026-08-29 01:32:31,414.414 INFO    ] 2026-08-29 01:32:31
[2026-08-29 01:32:31,444.444 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:32:31,568.568 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:32:31,632.632 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:32:31,766.766 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:32:31,823.823 INFO    ] time= 29/08/2026 01:32:31
[2026-08-29 01:32:31,867.867 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:32:31,869.869 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:32:31,941.941 INFO    ] No existing commands found in stream
[2026-08-29 01:32:36,952.952 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:32:36,956.956 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-08-29 01:32:39,892.892 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:32:39,894.894 INFO    ] Checking for system updates...
[2026-08-29 01:32:39,915.915 INFO    ] 200
[2026-08-29 01:32:39,916.916 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:32:39,950.950 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:32:39,951.951 INFO    ] No update needed
[2026-08-29 01:32:39,952.952 INFO    ] Checking for camera pi updates...
[2026-08-29 01:32:39,975.975 INFO    ] 200
[2026-08-29 01:32:39,976.976 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:32:40,000.000 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:32:40,096.096 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:32:40,097.097 INFO    ] No camera update needed
[2026-08-29 01:32:40,098.098 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:32:40,100.100 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:32:40,103.103 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:32:40,106.106 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:32:42,148.148 INFO    ] ================================================
[2026-08-29 01:32:42,164.164 INFO    ] Launching Daemon at Sat Aug 29 01:32:42 IST 2026
[2026-08-29 01:32:42,176.176 INFO    ] ================================================
[2026-08-29 01:32:42,537.537 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:32:42
[2026-08-29 01:32:42,854.854 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:32:42,994.994 INFO    ] Initializing speech engine...
[2026-08-29 01:32:43,006.006 INFO    ] 2026-08-29 01:32:42
[2026-08-29 01:32:43,259.259 INFO    ] 2026-08-29 01:32:43
[2026-08-29 01:32:43,328.328 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:32:43,550.550 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:32:43,559.559 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:32:43,692.692 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:32:43,713.713 INFO    ] time= 29/08/2026 01:32:43
[2026-08-29 01:32:43,773.773 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:32:43,825.825 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:32:43,879.879 INFO    ] No existing commands found in stream
[2026-08-29 01:32:48,892.892 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:32:48,894.894 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-08-29 01:32:50,255.255 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:32:50,257.257 INFO    ] Checking for system updates...
[2026-08-29 01:32:50,278.278 INFO    ] 200
[2026-08-29 01:32:50,279.279 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:32:50,311.311 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:32:50,313.313 INFO    ] No update needed
[2026-08-29 01:32:50,314.314 INFO    ] Checking for camera pi updates...
[2026-08-29 01:32:50,334.334 INFO    ] 200
[2026-08-29 01:32:50,336.336 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:32:50,358.358 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:32:50,438.438 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:32:50,440.440 INFO    ] No camera update needed
[2026-08-29 01:32:50,443.443 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:32:50,445.445 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:32:50,450.450 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:32:50,455.455 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:32:52,496.496 INFO    ] ================================================
[2026-08-29 01:32:52,513.513 INFO    ] Launching Daemon at Sat Aug 29 01:32:52 IST 2026
[2026-08-29 01:32:52,523.523 INFO    ] ================================================
[2026-08-29 01:32:53,104.104 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:32:53
[2026-08-29 01:32:53,606.606 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:32:53,744.744 INFO    ] Initializing speech engine...
[2026-08-29 01:32:53,759.759 INFO    ] 2026-08-29 01:32:53
[2026-08-29 01:32:53,976.976 INFO    ] 2026-08-29 01:32:53
[2026-08-29 01:32:54,007.007 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:32:54,112.112 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:32:54,142.142 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:32:54,304.304 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:32:54,354.354 INFO    ] time= 29/08/2026 01:32:54
[2026-08-29 01:32:54,390.390 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:32:54,436.436 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:32:54,537.537 INFO    ] No existing commands found in stream
[2026-08-29 01:32:59,546.546 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:32:59,549.549 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-08-29 01:33:02,698.698 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:33:02,702.702 INFO    ] Checking for system updates...
[2026-08-29 01:33:02,741.741 INFO    ] 200
[2026-08-29 01:33:02,744.744 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:33:02,811.811 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:33:02,814.814 INFO    ] No update needed
[2026-08-29 01:33:02,817.817 INFO    ] Checking for camera pi updates...
[2026-08-29 01:33:02,859.859 INFO    ] 200
[2026-08-29 01:33:02,862.862 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:33:02,925.925 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:33:03,133.133 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:33:03,135.135 INFO    ] No camera update needed
[2026-08-29 01:33:03,137.137 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:33:03,140.140 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:33:03,146.146 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:33:03,150.150 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:33:05,192.192 INFO    ] ================================================
[2026-08-29 01:33:05,207.207 INFO    ] Launching Daemon at Sat Aug 29 01:33:05 IST 2026
[2026-08-29 01:33:05,219.219 INFO    ] ================================================
[2026-08-29 01:33:05,700.700 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:33:05
[2026-08-29 01:33:06,288.288 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:33:06,560.560 INFO    ] Initializing speech engine...
[2026-08-29 01:33:06,575.575 INFO    ] 2026-08-29 01:33:06
[2026-08-29 01:33:06,838.838 INFO    ] 2026-08-29 01:33:06
[2026-08-29 01:33:06,874.874 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:33:07,045.045 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:33:07,058.058 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:33:07,196.196 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:33:07,210.210 INFO    ] time= 29/08/2026 01:33:07
[2026-08-29 01:33:07,217.217 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:33:07,260.260 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:33:07,374.374 INFO    ] No existing commands found in stream
[2026-08-29 01:33:12,404.404 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:33:12,407.407 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-08-29 01:33:13,734.734 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:33:13,735.735 INFO    ] Checking for system updates...
[2026-08-29 01:33:13,757.757 INFO    ] 200
[2026-08-29 01:33:13,758.758 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:33:13,788.788 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:33:13,789.789 INFO    ] No update needed
[2026-08-29 01:33:13,790.790 INFO    ] Checking for camera pi updates...
[2026-08-29 01:33:13,811.811 INFO    ] 200
[2026-08-29 01:33:13,812.812 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:33:13,835.835 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:33:13,943.943 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:33:13,944.944 INFO    ] No camera update needed
[2026-08-29 01:33:13,945.945 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:33:13,947.947 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:33:13,949.949 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:33:13,952.952 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:33:15,992.992 INFO    ] ================================================
[2026-08-29 01:33:16,008.008 INFO    ] Launching Daemon at Sat Aug 29 01:33:16 IST 2026
[2026-08-29 01:33:16,020.020 INFO    ] ================================================
[2026-08-29 01:33:16,366.366 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:33:16
[2026-08-29 01:33:16,678.678 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:33:16,821.821 INFO    ] Initializing speech engine...
[2026-08-29 01:33:16,826.826 INFO    ] 2026-08-29 01:33:16
[2026-08-29 01:33:17,067.067 INFO    ] 2026-08-29 01:33:17
[2026-08-29 01:33:17,123.123 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:33:17,289.289 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:33:17,296.296 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:33:17,477.477 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:33:17,502.502 INFO    ] time= 29/08/2026 01:33:17
[2026-08-29 01:33:17,508.508 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:33:17,526.526 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:33:17,642.642 INFO    ] No existing commands found in stream
[2026-08-29 01:33:22,659.659 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:33:22,661.661 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-08-29 01:33:24,301.301 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:33:24,302.302 INFO    ] Checking for system updates...
[2026-08-29 01:33:24,323.323 INFO    ] 200
[2026-08-29 01:33:24,325.325 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:33:24,357.357 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:33:24,358.358 INFO    ] No update needed
[2026-08-29 01:33:24,359.359 INFO    ] Checking for camera pi updates...
[2026-08-29 01:33:24,381.381 INFO    ] 200
[2026-08-29 01:33:24,383.383 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:33:24,408.408 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:33:24,484.484 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:33:24,485.485 INFO    ] No camera update needed
[2026-08-29 01:33:24,487.487 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:33:24,488.488 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:33:24,491.491 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:33:24,494.494 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:33:26,527.527 INFO    ] ================================================
[2026-08-29 01:33:26,543.543 INFO    ] Launching Daemon at Sat Aug 29 01:33:26 IST 2026
[2026-08-29 01:33:26,555.555 INFO    ] ================================================
[2026-08-29 01:33:27,138.138 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:33:27
[2026-08-29 01:33:27,803.803 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:33:28,112.112 INFO    ] Initializing speech engine...
[2026-08-29 01:33:28,122.122 INFO    ] 2026-08-29 01:33:28
[2026-08-29 01:33:28,416.416 INFO    ] 2026-08-29 01:33:28
[2026-08-29 01:33:28,459.459 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:33:28,682.682 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:33:28,692.692 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:33:28,829.829 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:33:28,895.895 INFO    ] time= 29/08/2026 01:33:28
[2026-08-29 01:33:28,955.955 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:33:28,965.965 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:33:29,107.107 INFO    ] No existing commands found in stream
[2026-08-29 01:33:34,128.128 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:33:34,132.132 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 01:33:37,617.617 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:33:37,619.619 INFO    ] Checking for system updates...
[2026-08-29 01:33:37,643.643 INFO    ] 200
[2026-08-29 01:33:37,644.644 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:33:37,674.674 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:33:37,676.676 INFO    ] No update needed
[2026-08-29 01:33:37,677.677 INFO    ] Checking for camera pi updates...
[2026-08-29 01:33:37,697.697 INFO    ] 200
[2026-08-29 01:33:37,698.698 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:33:37,721.721 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:33:37,823.823 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:33:37,825.825 INFO    ] No camera update needed
[2026-08-29 01:33:37,826.826 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:33:37,827.827 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:33:37,831.831 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:33:37,834.834 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:33:39,875.875 INFO    ] ================================================
[2026-08-29 01:33:39,890.890 INFO    ] Launching Daemon at Sat Aug 29 01:33:39 IST 2026
[2026-08-29 01:33:39,901.901 INFO    ] ================================================
[2026-08-29 01:33:40,241.241 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:33:40
[2026-08-29 01:33:40,558.558 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:33:40,692.692 INFO    ] Initializing speech engine...
[2026-08-29 01:33:40,704.704 INFO    ] 2026-08-29 01:33:40
[2026-08-29 01:33:40,911.911 INFO    ] 2026-08-29 01:33:40
[2026-08-29 01:33:40,939.939 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:33:41,124.124 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:33:41,127.127 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:33:41,259.259 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:33:41,312.312 INFO    ] time= 29/08/2026 01:33:41
[2026-08-29 01:33:41,351.351 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:33:41,356.356 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:33:41,426.426 INFO    ] No existing commands found in stream
[2026-08-29 01:33:46,437.437 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:33:46,439.439 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-08-29 01:33:50,131.131 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:33:50,133.133 INFO    ] Checking for system updates...
[2026-08-29 01:33:50,153.153 INFO    ] 200
[2026-08-29 01:33:50,155.155 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:33:50,185.185 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:33:50,186.186 INFO    ] No update needed
[2026-08-29 01:33:50,188.188 INFO    ] Checking for camera pi updates...
[2026-08-29 01:33:50,207.207 INFO    ] 200
[2026-08-29 01:33:50,209.209 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:33:50,233.233 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:33:50,320.320 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:33:50,321.321 INFO    ] No camera update needed
[2026-08-29 01:33:50,323.323 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:33:50,324.324 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:33:50,327.327 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:33:50,330.330 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:33:52,369.369 INFO    ] ================================================
[2026-08-29 01:33:52,384.384 INFO    ] Launching Daemon at Sat Aug 29 01:33:52 IST 2026
[2026-08-29 01:33:52,395.395 INFO    ] ================================================
[2026-08-29 01:33:52,733.733 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:33:52
[2026-08-29 01:33:53,050.050 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:33:53,194.194 INFO    ] Initializing speech engine...
[2026-08-29 01:33:53,199.199 INFO    ] 2026-08-29 01:33:53
[2026-08-29 01:33:53,404.404 INFO    ] 2026-08-29 01:33:53
[2026-08-29 01:33:53,432.432 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:33:53,546.546 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:33:53,597.597 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:33:53,742.742 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:33:53,758.758 INFO    ] time= 29/08/2026 01:33:53
[2026-08-29 01:33:53,767.767 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:33:53,792.792 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:33:53,896.896 INFO    ] No existing commands found in stream
[2026-08-29 01:33:58,909.909 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:33:58,912.912 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-08-29 01:34:01,007.007 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:34:01,009.009 INFO    ] Checking for system updates...
[2026-08-29 01:34:01,030.030 INFO    ] 200
[2026-08-29 01:34:01,031.031 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:34:01,063.063 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:34:01,064.064 INFO    ] No update needed
[2026-08-29 01:34:01,066.066 INFO    ] Checking for camera pi updates...
[2026-08-29 01:34:01,085.085 INFO    ] 200
[2026-08-29 01:34:01,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:34:01,109.109 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:34:01,187.187 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:34:01,189.189 INFO    ] No camera update needed
[2026-08-29 01:34:01,190.190 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:34:01,191.191 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:34:01,194.194 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:34:01,197.197 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:34:03,241.241 INFO    ] ================================================
[2026-08-29 01:34:03,257.257 INFO    ] Launching Daemon at Sat Aug 29 01:34:03 IST 2026
[2026-08-29 01:34:03,268.268 INFO    ] ================================================
[2026-08-29 01:34:03,836.836 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:34:03
[2026-08-29 01:34:04,488.488 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:34:04,790.790 INFO    ] Initializing speech engine...
[2026-08-29 01:34:04,799.799 INFO    ] 2026-08-29 01:34:04
[2026-08-29 01:34:05,053.053 INFO    ] 2026-08-29 01:34:05
[2026-08-29 01:34:05,082.082 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:34:05,240.240 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:34:05,247.247 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:34:05,425.425 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:34:05,455.455 INFO    ] time= 29/08/2026 01:34:05
[2026-08-29 01:34:05,472.472 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:34:05,483.483 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:34:05,590.590 INFO    ] No existing commands found in stream
[2026-08-29 01:34:10,616.616 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:34:10,619.619 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-08-29 01:34:11,195.195 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:34:11,197.197 INFO    ] Checking for system updates...
[2026-08-29 01:34:11,218.218 INFO    ] 200
[2026-08-29 01:34:11,219.219 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:34:11,251.251 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:34:11,252.252 INFO    ] No update needed
[2026-08-29 01:34:11,254.254 INFO    ] Checking for camera pi updates...
[2026-08-29 01:34:11,273.273 INFO    ] 200
[2026-08-29 01:34:11,274.274 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:34:11,298.298 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:34:11,376.376 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:34:11,377.377 INFO    ] No camera update needed
[2026-08-29 01:34:11,378.378 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:34:11,380.380 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:34:11,383.383 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:34:11,386.386 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:34:13,426.426 INFO    ] ================================================
[2026-08-29 01:34:13,441.441 INFO    ] Launching Daemon at Sat Aug 29 01:34:13 IST 2026
[2026-08-29 01:34:13,452.452 INFO    ] ================================================
[2026-08-29 01:34:13,809.809 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:34:13
[2026-08-29 01:34:14,144.144 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:34:14,296.296 INFO    ] Initializing speech engine...
[2026-08-29 01:34:14,300.300 INFO    ] 2026-08-29 01:34:14
[2026-08-29 01:34:14,510.510 INFO    ] 2026-08-29 01:34:14
[2026-08-29 01:34:14,539.539 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:34:14,665.665 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:34:14,729.729 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:34:14,910.910 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:34:14,952.952 INFO    ] time= 29/08/2026 01:34:14
[2026-08-29 01:34:15,007.007 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:34:15,051.051 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:34:15,155.155 INFO    ] No existing commands found in stream
[2026-08-29 01:34:20,166.166 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:34:20,169.169 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-08-29 01:34:22,626.626 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:34:22,627.627 INFO    ] Checking for system updates...
[2026-08-29 01:34:22,648.648 INFO    ] 200
[2026-08-29 01:34:22,649.649 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:34:22,679.679 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:34:22,680.680 INFO    ] No update needed
[2026-08-29 01:34:22,681.681 INFO    ] Checking for camera pi updates...
[2026-08-29 01:34:22,701.701 INFO    ] 200
[2026-08-29 01:34:22,702.702 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:34:22,725.725 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:34:22,811.811 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:34:22,812.812 INFO    ] No camera update needed
[2026-08-29 01:34:22,814.814 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:34:22,815.815 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:34:22,818.818 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:34:22,820.820 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:34:24,860.860 INFO    ] ================================================
[2026-08-29 01:34:24,875.875 INFO    ] Launching Daemon at Sat Aug 29 01:34:24 IST 2026
[2026-08-29 01:34:24,886.886 INFO    ] ================================================
[2026-08-29 01:34:25,385.385 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:34:25
[2026-08-29 01:34:25,970.970 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:34:26,243.243 INFO    ] Initializing speech engine...
[2026-08-29 01:34:26,254.254 INFO    ] 2026-08-29 01:34:26
[2026-08-29 01:34:26,502.502 INFO    ] 2026-08-29 01:34:26
[2026-08-29 01:34:26,568.568 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:34:26,741.741 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:34:26,797.797 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:34:26,942.942 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:34:26,954.954 INFO    ] time= 29/08/2026 01:34:26
[2026-08-29 01:34:27,024.024 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:34:27,068.068 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:34:27,136.136 INFO    ] No existing commands found in stream
[2026-08-29 01:34:32,146.146 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:34:32,148.148 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-08-29 01:34:35,770.770 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:34:35,771.771 INFO    ] Checking for system updates...
[2026-08-29 01:34:35,792.792 INFO    ] 200
[2026-08-29 01:34:35,793.793 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:34:35,824.824 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:34:35,825.825 INFO    ] No update needed
[2026-08-29 01:34:35,826.826 INFO    ] Checking for camera pi updates...
[2026-08-29 01:34:35,846.846 INFO    ] 200
[2026-08-29 01:34:35,847.847 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:34:35,870.870 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:34:35,947.947 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:34:35,948.948 INFO    ] No camera update needed
[2026-08-29 01:34:35,949.949 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:34:35,951.951 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:34:35,954.954 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:34:35,957.957 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:34:38,996.996 INFO    ] ================================================
[2026-08-29 01:34:38,011.011 INFO    ] Launching Daemon at Sat Aug 29 01:34:38 IST 2026
[2026-08-29 01:34:38,022.022 INFO    ] ================================================
[2026-08-29 01:34:38,396.396 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:34:38
[2026-08-29 01:34:38,734.734 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:34:39,002.002 INFO    ] Initializing speech engine...
[2026-08-29 01:34:39,015.015 INFO    ] 2026-08-29 01:34:39
[2026-08-29 01:34:39,289.289 INFO    ] 2026-08-29 01:34:39
[2026-08-29 01:34:39,343.343 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:34:39,573.573 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:34:39,583.583 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:34:39,720.720 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:34:39,768.768 INFO    ] time= 29/08/2026 01:34:39
[2026-08-29 01:34:39,818.818 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:34:39,862.862 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:34:39,921.921 INFO    ] No existing commands found in stream
[2026-08-29 01:34:44,943.943 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:34:44,946.946 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 01:34:45,473.473 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:34:45,476.476 INFO    ] Checking for system updates...
[2026-08-29 01:34:45,512.512 INFO    ] 200
[2026-08-29 01:34:45,514.514 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:34:45,566.566 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:34:45,568.568 INFO    ] No update needed
[2026-08-29 01:34:45,571.571 INFO    ] Checking for camera pi updates...
[2026-08-29 01:34:45,605.605 INFO    ] 200
[2026-08-29 01:34:45,607.607 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:34:45,647.647 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:34:45,729.729 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:34:45,731.731 INFO    ] No camera update needed
[2026-08-29 01:34:45,734.734 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:34:45,736.736 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:34:45,741.741 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:34:45,747.747 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:34:47,788.788 INFO    ] ================================================
[2026-08-29 01:34:47,804.804 INFO    ] Launching Daemon at Sat Aug 29 01:34:47 IST 2026
[2026-08-29 01:34:47,815.815 INFO    ] ================================================
[2026-08-29 01:34:48,175.175 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:34:48
[2026-08-29 01:34:48,504.504 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:34:48,773.773 INFO    ] Initializing speech engine...
[2026-08-29 01:34:48,782.782 INFO    ] 2026-08-29 01:34:48
[2026-08-29 01:34:49,027.027 INFO    ] 2026-08-29 01:34:49
[2026-08-29 01:34:49,063.063 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:34:49,237.237 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:34:49,249.249 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:34:49,389.389 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:34:49,396.396 INFO    ] time= 29/08/2026 01:34:49
[2026-08-29 01:34:49,404.404 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:34:49,449.449 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:34:49,577.577 INFO    ] No existing commands found in stream
[2026-08-29 01:34:54,604.604 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:34:54,606.606 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-08-29 01:34:55,823.823 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:34:55,824.824 INFO    ] Checking for system updates...
[2026-08-29 01:34:55,845.845 INFO    ] 200
[2026-08-29 01:34:55,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:34:55,876.876 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:34:55,877.877 INFO    ] No update needed
[2026-08-29 01:34:55,879.879 INFO    ] Checking for camera pi updates...
[2026-08-29 01:34:55,899.899 INFO    ] 200
[2026-08-29 01:34:55,900.900 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:34:55,923.923 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:34:56,014.014 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:34:56,015.015 INFO    ] No camera update needed
[2026-08-29 01:34:56,017.017 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:34:56,018.018 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:34:56,021.021 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:34:56,024.024 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:34:58,062.062 INFO    ] ================================================
[2026-08-29 01:34:58,078.078 INFO    ] Launching Daemon at Sat Aug 29 01:34:58 IST 2026
[2026-08-29 01:34:58,090.090 INFO    ] ================================================
[2026-08-29 01:34:58,442.442 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:34:58
[2026-08-29 01:34:58,760.760 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:34:58,904.904 INFO    ] Initializing speech engine...
[2026-08-29 01:34:58,909.909 INFO    ] 2026-08-29 01:34:58
[2026-08-29 01:34:59,113.113 INFO    ] 2026-08-29 01:34:59
[2026-08-29 01:34:59,142.142 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:34:59,325.325 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:34:59,328.328 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:34:59,457.457 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:34:59,512.512 INFO    ] time= 29/08/2026 01:34:59
[2026-08-29 01:34:59,551.551 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:34:59,556.556 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:34:59,629.629 INFO    ] No existing commands found in stream
[2026-08-29 01:35:04,638.638 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:35:04,641.641 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-08-29 01:35:08,532.532 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:35:08,533.533 INFO    ] Checking for system updates...
[2026-08-29 01:35:08,555.555 INFO    ] 200
[2026-08-29 01:35:08,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:35:08,586.586 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:35:08,588.588 INFO    ] No update needed
[2026-08-29 01:35:08,589.589 INFO    ] Checking for camera pi updates...
[2026-08-29 01:35:08,609.609 INFO    ] 200
[2026-08-29 01:35:08,610.610 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:35:08,633.633 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:35:08,815.815 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:35:08,816.816 INFO    ] No camera update needed
[2026-08-29 01:35:08,818.818 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:35:08,819.819 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:35:08,823.823 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:35:08,826.826 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:35:10,864.864 INFO    ] ================================================
[2026-08-29 01:35:10,879.879 INFO    ] Launching Daemon at Sat Aug 29 01:35:10 IST 2026
[2026-08-29 01:35:10,890.890 INFO    ] ================================================
[2026-08-29 01:35:11,458.458 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:35:11
[2026-08-29 01:35:12,041.041 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:35:12,315.315 INFO    ] Initializing speech engine...
[2026-08-29 01:35:12,321.321 INFO    ] 2026-08-29 01:35:12
[2026-08-29 01:35:12,566.566 INFO    ] 2026-08-29 01:35:12
[2026-08-29 01:35:12,587.587 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:35:12,721.721 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:35:12,724.724 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:35:12,858.858 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:35:12,867.867 INFO    ] time= 29/08/2026 01:35:12
[2026-08-29 01:35:12,872.872 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:35:12,887.887 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:35:12,969.969 INFO    ] No existing commands found in stream
[2026-08-29 01:35:17,999.999 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:35:18,002.002 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-08-29 01:35:19,668.668 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:35:19,671.671 INFO    ] Checking for system updates...
[2026-08-29 01:35:19,706.706 INFO    ] 200
[2026-08-29 01:35:19,709.709 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:35:19,762.762 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:35:19,765.765 INFO    ] No update needed
[2026-08-29 01:35:19,767.767 INFO    ] Checking for camera pi updates...
[2026-08-29 01:35:19,800.800 INFO    ] 200
[2026-08-29 01:35:19,803.803 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:35:19,850.850 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:35:19,931.931 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:35:19,933.933 INFO    ] No camera update needed
[2026-08-29 01:35:19,936.936 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:35:19,938.938 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:35:19,943.943 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:35:19,948.948 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:35:21,988.988 INFO    ] ================================================
[2026-08-29 01:35:22,003.003 INFO    ] Launching Daemon at Sat Aug 29 01:35:21 IST 2026
[2026-08-29 01:35:22,014.014 INFO    ] ================================================
[2026-08-29 01:35:22,344.344 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:35:22
[2026-08-29 01:35:22,657.657 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:35:22,801.801 INFO    ] Initializing speech engine...
[2026-08-29 01:35:22,806.806 INFO    ] 2026-08-29 01:35:22
[2026-08-29 01:35:23,012.012 INFO    ] 2026-08-29 01:35:22
[2026-08-29 01:35:23,041.041 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:35:23,228.228 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:35:23,231.231 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:35:23,399.399 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:35:23,453.453 INFO    ] time= 29/08/2026 01:35:23
[2026-08-29 01:35:23,478.478 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:35:23,542.542 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:35:23,636.636 INFO    ] No existing commands found in stream
[2026-08-29 01:35:28,654.654 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:35:28,656.656 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-08-29 01:35:31,826.826 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:35:31,829.829 INFO    ] Checking for system updates...
[2026-08-29 01:35:31,868.868 INFO    ] 200
[2026-08-29 01:35:31,871.871 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:35:31,933.933 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:35:31,936.936 INFO    ] No update needed
[2026-08-29 01:35:31,939.939 INFO    ] Checking for camera pi updates...
[2026-08-29 01:35:31,978.978 INFO    ] 200
[2026-08-29 01:35:31,981.981 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:35:32,030.030 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:35:32,148.148 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:35:32,151.151 INFO    ] No camera update needed
[2026-08-29 01:35:32,154.154 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:35:32,157.157 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:35:32,163.163 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:35:32,169.169 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:35:34,212.212 INFO    ] ================================================
[2026-08-29 01:35:34,227.227 INFO    ] Launching Daemon at Sat Aug 29 01:35:34 IST 2026
[2026-08-29 01:35:34,238.238 INFO    ] ================================================
[2026-08-29 01:35:34,821.821 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:35:34
[2026-08-29 01:35:35,154.154 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:35:35,300.300 INFO    ] Initializing speech engine...
[2026-08-29 01:35:35,304.304 INFO    ] 2026-08-29 01:35:35
[2026-08-29 01:35:35,508.508 INFO    ] 2026-08-29 01:35:35
[2026-08-29 01:35:35,544.544 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:35:35,729.729 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:35:35,745.745 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:35:35,875.875 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:35:35,881.881 INFO    ] time= 29/08/2026 01:35:35
[2026-08-29 01:35:35,901.901 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:35:35,923.923 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:35:36,011.011 INFO    ] No existing commands found in stream
[2026-08-29 01:35:41,023.023 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:35:41,026.026 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-08-29 01:35:43,854.854 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:35:43,855.855 INFO    ] Checking for system updates...
[2026-08-29 01:35:43,876.876 INFO    ] 200
[2026-08-29 01:35:43,877.877 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:35:43,910.910 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:35:43,911.911 INFO    ] No update needed
[2026-08-29 01:35:43,913.913 INFO    ] Checking for camera pi updates...
[2026-08-29 01:35:43,934.934 INFO    ] 200
[2026-08-29 01:35:43,936.936 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:35:43,959.959 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:35:44,054.054 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:35:44,055.055 INFO    ] No camera update needed
[2026-08-29 01:35:44,057.057 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:35:44,058.058 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:35:44,061.061 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:35:44,064.064 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:35:46,104.104 INFO    ] ================================================
[2026-08-29 01:35:46,120.120 INFO    ] Launching Daemon at Sat Aug 29 01:35:46 IST 2026
[2026-08-29 01:35:46,131.131 INFO    ] ================================================
[2026-08-29 01:35:46,490.490 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:35:46
[2026-08-29 01:35:46,811.811 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:35:47,052.052 INFO    ] Initializing speech engine...
[2026-08-29 01:35:47,059.059 INFO    ] 2026-08-29 01:35:47
[2026-08-29 01:35:47,322.322 INFO    ] 2026-08-29 01:35:47
[2026-08-29 01:35:47,377.377 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:35:47,600.600 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:35:47,609.609 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:35:47,741.741 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:35:47,763.763 INFO    ] time= 29/08/2026 01:35:47
[2026-08-29 01:35:47,828.828 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:35:47,875.875 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:35:47,926.926 INFO    ] No existing commands found in stream
[2026-08-29 01:35:52,938.938 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:35:52,941.941 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-08-29 01:35:57,224.224 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:35:57,226.226 INFO    ] Checking for system updates...
[2026-08-29 01:35:57,263.263 INFO    ] 200
[2026-08-29 01:35:57,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:35:57,321.321 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:35:57,324.324 INFO    ] No update needed
[2026-08-29 01:35:57,326.326 INFO    ] Checking for camera pi updates...
[2026-08-29 01:35:57,364.364 INFO    ] 200
[2026-08-29 01:35:57,367.367 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:35:57,408.408 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:35:57,500.500 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:35:57,503.503 INFO    ] No camera update needed
[2026-08-29 01:35:57,505.505 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:35:57,507.507 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:35:57,513.513 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:35:57,518.518 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:35:59,561.561 INFO    ] ================================================
[2026-08-29 01:35:59,577.577 INFO    ] Launching Daemon at Sat Aug 29 01:35:59 IST 2026
[2026-08-29 01:35:59,588.588 INFO    ] ================================================
[2026-08-29 01:35:59,952.952 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:35:59
[2026-08-29 01:36:00,263.263 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:36:00,396.396 INFO    ] Initializing speech engine...
[2026-08-29 01:36:00,400.400 INFO    ] 2026-08-29 01:36:00
[2026-08-29 01:36:00,609.609 INFO    ] 2026-08-29 01:36:00
[2026-08-29 01:36:00,694.694 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:36:00,864.864 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:36:00,879.879 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:36:01,035.035 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:36:01,041.041 INFO    ] time= 29/08/2026 01:36:01
[2026-08-29 01:36:01,085.085 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:36:01,129.129 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:36:01,196.196 INFO    ] No existing commands found in stream
[2026-08-29 01:36:06,204.204 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:36:06,207.207 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-08-29 01:36:09,972.972 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:36:09,973.973 INFO    ] Checking for system updates...
[2026-08-29 01:36:09,994.994 INFO    ] 200
[2026-08-29 01:36:09,995.995 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:36:10,025.025 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:36:10,027.027 INFO    ] No update needed
[2026-08-29 01:36:10,028.028 INFO    ] Checking for camera pi updates...
[2026-08-29 01:36:10,047.047 INFO    ] 200
[2026-08-29 01:36:10,048.048 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:36:10,086.086 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:36:10,187.187 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:36:10,190.190 INFO    ] No camera update needed
[2026-08-29 01:36:10,192.192 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:36:10,194.194 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:36:10,199.199 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:36:10,205.205 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:36:12,244.244 INFO    ] ================================================
[2026-08-29 01:36:12,259.259 INFO    ] Launching Daemon at Sat Aug 29 01:36:12 IST 2026
[2026-08-29 01:36:12,270.270 INFO    ] ================================================
[2026-08-29 01:36:12,850.850 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:36:12
[2026-08-29 01:36:13,325.325 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:36:13,454.454 INFO    ] Initializing speech engine...
[2026-08-29 01:36:13,458.458 INFO    ] 2026-08-29 01:36:13
[2026-08-29 01:36:13,674.674 INFO    ] 2026-08-29 01:36:13
[2026-08-29 01:36:13,702.702 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:36:13,884.884 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:36:13,887.887 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:36:14,043.043 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:36:14,090.090 INFO    ] time= 29/08/2026 01:36:14
[2026-08-29 01:36:14,112.112 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:36:14,118.118 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:36:14,183.183 INFO    ] No existing commands found in stream
[2026-08-29 01:36:19,194.194 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:36:19,196.196 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-08-29 01:36:19,600.600 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:36:19,601.601 INFO    ] Checking for system updates...
[2026-08-29 01:36:19,622.622 INFO    ] 200
[2026-08-29 01:36:19,623.623 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:36:19,653.653 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:36:19,655.655 INFO    ] No update needed
[2026-08-29 01:36:19,656.656 INFO    ] Checking for camera pi updates...
[2026-08-29 01:36:19,675.675 INFO    ] 200
[2026-08-29 01:36:19,676.676 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:36:19,701.701 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:36:19,789.789 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:36:19,790.790 INFO    ] No camera update needed
[2026-08-29 01:36:19,792.792 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:36:19,793.793 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:36:19,796.796 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:36:19,798.798 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:36:21,837.837 INFO    ] ================================================
[2026-08-29 01:36:21,853.853 INFO    ] Launching Daemon at Sat Aug 29 01:36:21 IST 2026
[2026-08-29 01:36:21,863.863 INFO    ] ================================================
[2026-08-29 01:36:22,192.192 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:36:22
[2026-08-29 01:36:22,553.553 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:36:22,809.809 INFO    ] Initializing speech engine...
[2026-08-29 01:36:22,832.832 INFO    ] 2026-08-29 01:36:22
[2026-08-29 01:36:23,088.088 INFO    ] 2026-08-29 01:36:23
[2026-08-29 01:36:23,123.123 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:36:23,306.306 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:36:23,326.326 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:36:23,453.453 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:36:23,460.460 INFO    ] time= 29/08/2026 01:36:23
[2026-08-29 01:36:23,464.464 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:36:23,470.470 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:36:23,538.538 INFO    ] No existing commands found in stream
[2026-08-29 01:36:28,573.573 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:36:28,576.576 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-08-29 01:36:31,044.044 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:36:31,046.046 INFO    ] Checking for system updates...
[2026-08-29 01:36:31,066.066 INFO    ] 200
[2026-08-29 01:36:31,067.067 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:36:31,100.100 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:36:31,101.101 INFO    ] No update needed
[2026-08-29 01:36:31,103.103 INFO    ] Checking for camera pi updates...
[2026-08-29 01:36:31,122.122 INFO    ] 200
[2026-08-29 01:36:31,123.123 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:36:31,147.147 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:36:31,226.226 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:36:31,227.227 INFO    ] No camera update needed
[2026-08-29 01:36:31,228.228 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:36:31,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:36:31,232.232 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:36:31,235.235 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:36:33,275.275 INFO    ] ================================================
[2026-08-29 01:36:33,291.291 INFO    ] Launching Daemon at Sat Aug 29 01:36:33 IST 2026
[2026-08-29 01:36:33,308.308 INFO    ] ================================================
[2026-08-29 01:36:33,900.900 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:36:33
[2026-08-29 01:36:34,486.486 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:36:34,664.664 INFO    ] Initializing speech engine...
[2026-08-29 01:36:34,674.674 INFO    ] 2026-08-29 01:36:34
[2026-08-29 01:36:34,921.921 INFO    ] 2026-08-29 01:36:34
[2026-08-29 01:36:34,985.985 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:36:35,148.148 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:36:35,155.155 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:36:35,346.346 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:36:35,393.393 INFO    ] time= 29/08/2026 01:36:35
[2026-08-29 01:36:35,463.463 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:36:35,479.479 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:36:35,538.538 INFO    ] No existing commands found in stream
[2026-08-29 01:36:40,552.552 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:36:40,555.555 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-08-29 01:36:44,153.153 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:36:44,154.154 INFO    ] Checking for system updates...
[2026-08-29 01:36:44,175.175 INFO    ] 200
[2026-08-29 01:36:44,177.177 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:36:44,209.209 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:36:44,210.210 INFO    ] No update needed
[2026-08-29 01:36:44,211.211 INFO    ] Checking for camera pi updates...
[2026-08-29 01:36:44,232.232 INFO    ] 200
[2026-08-29 01:36:44,233.233 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:36:44,256.256 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:36:44,326.326 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:36:44,327.327 INFO    ] No camera update needed
[2026-08-29 01:36:44,329.329 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:36:44,330.330 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:36:44,333.333 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:36:44,335.335 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:36:46,373.373 INFO    ] ================================================
[2026-08-29 01:36:46,389.389 INFO    ] Launching Daemon at Sat Aug 29 01:36:46 IST 2026
[2026-08-29 01:36:46,399.399 INFO    ] ================================================
[2026-08-29 01:36:46,751.751 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:36:46
[2026-08-29 01:36:47,061.061 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:36:47,203.203 INFO    ] Initializing speech engine...
[2026-08-29 01:36:47,208.208 INFO    ] 2026-08-29 01:36:47
[2026-08-29 01:36:47,442.442 INFO    ] 2026-08-29 01:36:47
[2026-08-29 01:36:47,496.496 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:36:47,663.663 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:36:47,668.668 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:36:47,843.843 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:36:47,873.873 INFO    ] time= 29/08/2026 01:36:47
[2026-08-29 01:36:47,892.892 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:36:47,920.920 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:36:48,029.029 INFO    ] No existing commands found in stream
[2026-08-29 01:36:53,053.053 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:36:53,056.056 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 01:36:53,626.626 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:36:53,628.628 INFO    ] Checking for system updates...
[2026-08-29 01:36:53,649.649 INFO    ] 200
[2026-08-29 01:36:53,650.650 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:36:53,682.682 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:36:53,683.683 INFO    ] No update needed
[2026-08-29 01:36:53,685.685 INFO    ] Checking for camera pi updates...
[2026-08-29 01:36:53,704.704 INFO    ] 200
[2026-08-29 01:36:53,705.705 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:36:53,730.730 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:36:53,817.817 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:36:53,819.819 INFO    ] No camera update needed
[2026-08-29 01:36:53,820.820 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:36:53,821.821 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:36:53,824.824 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:36:53,827.827 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:36:55,867.867 INFO    ] ================================================
[2026-08-29 01:36:55,886.886 INFO    ] Launching Daemon at Sat Aug 29 01:36:55 IST 2026
[2026-08-29 01:36:55,897.897 INFO    ] ================================================
[2026-08-29 01:36:56,255.255 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:36:56
[2026-08-29 01:36:56,572.572 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:36:56,711.711 INFO    ] Initializing speech engine...
[2026-08-29 01:36:56,721.721 INFO    ] 2026-08-29 01:36:56
[2026-08-29 01:36:56,916.916 INFO    ] 2026-08-29 01:36:56
[2026-08-29 01:36:56,995.995 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:36:57,147.147 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:36:57,152.152 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:36:57,283.283 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:36:57,310.310 INFO    ] time= 29/08/2026 01:36:57
[2026-08-29 01:36:57,369.369 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:36:57,416.416 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:36:57,468.468 INFO    ] No existing commands found in stream
[2026-08-29 01:37:02,481.481 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:37:02,485.485 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-08-29 01:37:03,468.468 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:37:03,471.471 INFO    ] Checking for system updates...
[2026-08-29 01:37:03,507.507 INFO    ] 200
[2026-08-29 01:37:03,510.510 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:37:03,563.563 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:37:03,566.566 INFO    ] No update needed
[2026-08-29 01:37:03,568.568 INFO    ] Checking for camera pi updates...
[2026-08-29 01:37:03,602.602 INFO    ] 200
[2026-08-29 01:37:03,605.605 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:37:03,647.647 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:37:03,778.778 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:37:03,780.780 INFO    ] No camera update needed
[2026-08-29 01:37:03,783.783 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:37:03,785.785 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:37:03,790.790 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:37:03,795.795 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:37:05,837.837 INFO    ] ================================================
[2026-08-29 01:37:05,854.854 INFO    ] Launching Daemon at Sat Aug 29 01:37:05 IST 2026
[2026-08-29 01:37:05,865.865 INFO    ] ================================================
[2026-08-29 01:37:06,425.425 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:37:06
[2026-08-29 01:37:07,008.008 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:37:07,257.257 INFO    ] Initializing speech engine...
[2026-08-29 01:37:07,272.272 INFO    ] 2026-08-29 01:37:07
[2026-08-29 01:37:07,536.536 INFO    ] 2026-08-29 01:37:07
[2026-08-29 01:37:07,571.571 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:37:07,747.747 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:37:07,760.760 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:37:07,873.873 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:37:07,892.892 INFO    ] time= 29/08/2026 01:37:07
[2026-08-29 01:37:07,912.912 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:37:07,919.919 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:37:07,988.988 INFO    ] No existing commands found in stream
[2026-08-29 01:37:13,000.000 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:37:13,003.003 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-08-29 01:37:14,767.767 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:37:14,768.768 INFO    ] Checking for system updates...
[2026-08-29 01:37:14,788.788 INFO    ] 200
[2026-08-29 01:37:14,790.790 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:37:14,823.823 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:37:14,824.824 INFO    ] No update needed
[2026-08-29 01:37:14,826.826 INFO    ] Checking for camera pi updates...
[2026-08-29 01:37:14,845.845 INFO    ] 200
[2026-08-29 01:37:14,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:37:14,870.870 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:37:15,053.053 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:37:15,055.055 INFO    ] No camera update needed
[2026-08-29 01:37:15,057.057 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:37:15,059.059 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:37:15,065.065 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:37:15,069.069 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:37:17,110.110 INFO    ] ================================================
[2026-08-29 01:37:17,126.126 INFO    ] Launching Daemon at Sat Aug 29 01:37:17 IST 2026
[2026-08-29 01:37:17,137.137 INFO    ] ================================================
[2026-08-29 01:37:17,704.704 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:37:17
[2026-08-29 01:37:18,176.176 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:37:18,307.307 INFO    ] Initializing speech engine...
[2026-08-29 01:37:18,311.311 INFO    ] 2026-08-29 01:37:18
[2026-08-29 01:37:18,529.529 INFO    ] 2026-08-29 01:37:18
[2026-08-29 01:37:18,609.609 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:37:18,762.762 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:37:18,771.771 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:37:18,907.907 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:37:18,928.928 INFO    ] time= 29/08/2026 01:37:18
[2026-08-29 01:37:18,988.988 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:37:19,042.042 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:37:19,098.098 INFO    ] No existing commands found in stream
[2026-08-29 01:37:24,110.110 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:37:24,113.113 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-08-29 01:37:28,086.086 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:37:28,088.088 INFO    ] Checking for system updates...
[2026-08-29 01:37:28,108.108 INFO    ] 200
[2026-08-29 01:37:28,110.110 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:37:28,140.140 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:37:28,141.141 INFO    ] No update needed
[2026-08-29 01:37:28,143.143 INFO    ] Checking for camera pi updates...
[2026-08-29 01:37:28,163.163 INFO    ] 200
[2026-08-29 01:37:28,164.164 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:37:28,187.187 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:37:28,271.271 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:37:28,273.273 INFO    ] No camera update needed
[2026-08-29 01:37:28,274.274 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:37:28,276.276 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:37:28,279.279 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:37:28,282.282 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:37:30,322.322 INFO    ] ================================================
[2026-08-29 01:37:30,337.337 INFO    ] Launching Daemon at Sat Aug 29 01:37:30 IST 2026
[2026-08-29 01:37:30,347.347 INFO    ] ================================================
[2026-08-29 01:37:30,693.693 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:37:30
[2026-08-29 01:37:31,049.049 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:37:31,326.326 INFO    ] Initializing speech engine...
[2026-08-29 01:37:31,330.330 INFO    ] 2026-08-29 01:37:31
[2026-08-29 01:37:31,614.614 INFO    ] 2026-08-29 01:37:31
[2026-08-29 01:37:31,651.651 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:37:31,831.831 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:37:31,846.846 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:37:31,981.981 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:37:32,002.002 INFO    ] time= 29/08/2026 01:37:31
[2026-08-29 01:37:32,010.010 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:37:32,017.017 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:37:32,085.085 INFO    ] No existing commands found in stream
[2026-08-29 01:37:37,097.097 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:37:37,100.100 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-08-29 01:37:40,800.800 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:37:40,801.801 INFO    ] Checking for system updates...
[2026-08-29 01:37:40,822.822 INFO    ] 200
[2026-08-29 01:37:40,823.823 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:37:40,853.853 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:37:40,855.855 INFO    ] No update needed
[2026-08-29 01:37:40,856.856 INFO    ] Checking for camera pi updates...
[2026-08-29 01:37:40,878.878 INFO    ] 200
[2026-08-29 01:37:40,884.884 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:37:40,908.908 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:37:40,989.989 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:37:40,992.992 INFO    ] No camera update needed
[2026-08-29 01:37:40,994.994 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:37:40,996.996 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:37:41,002.002 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:37:41,007.007 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:37:43,048.048 INFO    ] ================================================
[2026-08-29 01:37:43,063.063 INFO    ] Launching Daemon at Sat Aug 29 01:37:43 IST 2026
[2026-08-29 01:37:43,074.074 INFO    ] ================================================
[2026-08-29 01:37:43,639.639 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:37:43
[2026-08-29 01:37:44,154.154 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:37:44,330.330 INFO    ] Initializing speech engine...
[2026-08-29 01:37:44,335.335 INFO    ] 2026-08-29 01:37:44
[2026-08-29 01:37:44,585.585 INFO    ] 2026-08-29 01:37:44
[2026-08-29 01:37:44,650.650 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:37:44,840.840 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:37:44,849.849 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:37:45,000.000 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:37:45,007.007 INFO    ] time= 29/08/2026 01:37:45
[2026-08-29 01:37:45,067.067 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:37:45,106.106 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:37:45,179.179 INFO    ] No existing commands found in stream
[2026-08-29 01:37:50,189.189 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:37:50,192.192 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-08-29 01:37:50,822.822 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:37:50,825.825 INFO    ] Checking for system updates...
[2026-08-29 01:37:50,864.864 INFO    ] 200
[2026-08-29 01:37:50,867.867 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:37:50,919.919 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:37:50,922.922 INFO    ] No update needed
[2026-08-29 01:37:50,924.924 INFO    ] Checking for camera pi updates...
[2026-08-29 01:37:50,976.976 INFO    ] 200
[2026-08-29 01:37:50,978.978 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:37:51,019.019 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:37:51,115.115 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:37:51,118.118 INFO    ] No camera update needed
[2026-08-29 01:37:51,120.120 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:37:51,122.122 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:37:51,128.128 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:37:51,132.132 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:37:53,173.173 INFO    ] ================================================
[2026-08-29 01:37:53,188.188 INFO    ] Launching Daemon at Sat Aug 29 01:37:53 IST 2026
[2026-08-29 01:37:53,199.199 INFO    ] ================================================
[2026-08-29 01:37:53,717.717 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:37:53
[2026-08-29 01:37:54,035.035 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:37:54,178.178 INFO    ] Initializing speech engine...
[2026-08-29 01:37:54,187.187 INFO    ] 2026-08-29 01:37:54
[2026-08-29 01:37:54,405.405 INFO    ] 2026-08-29 01:37:54
[2026-08-29 01:37:54,436.436 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:37:54,568.568 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:37:54,626.626 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:37:54,777.777 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:37:54,833.833 INFO    ] time= 29/08/2026 01:37:54
[2026-08-29 01:37:54,867.867 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:37:54,907.907 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:37:55,023.023 INFO    ] No existing commands found in stream
[2026-08-29 01:38:00,048.048 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:38:00,051.051 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-08-29 01:38:00,425.425 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:38:00,426.426 INFO    ] Checking for system updates...
[2026-08-29 01:38:00,447.447 INFO    ] 200
[2026-08-29 01:38:00,448.448 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:38:00,478.478 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:38:00,479.479 INFO    ] No update needed
[2026-08-29 01:38:00,480.480 INFO    ] Checking for camera pi updates...
[2026-08-29 01:38:00,501.501 INFO    ] 200
[2026-08-29 01:38:00,502.502 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:38:00,526.526 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:38:00,602.602 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:38:00,603.603 INFO    ] No camera update needed
[2026-08-29 01:38:00,605.605 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:38:00,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:38:00,609.609 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:38:00,612.612 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:38:02,654.654 INFO    ] ================================================
[2026-08-29 01:38:02,676.676 INFO    ] Launching Daemon at Sat Aug 29 01:38:02 IST 2026
[2026-08-29 01:38:02,695.695 INFO    ] ================================================
[2026-08-29 01:38:03,384.384 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:38:03
[2026-08-29 01:38:04,088.088 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:38:04,396.396 INFO    ] Initializing speech engine...
[2026-08-29 01:38:04,408.408 INFO    ] 2026-08-29 01:38:04
[2026-08-29 01:38:04,693.693 INFO    ] 2026-08-29 01:38:04
[2026-08-29 01:38:04,803.803 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:38:04,956.956 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:38:04,963.963 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:38:05,112.112 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:38:05,177.177 INFO    ] time= 29/08/2026 01:38:05
[2026-08-29 01:38:05,224.224 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:38:05,231.231 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:38:05,373.373 INFO    ] No existing commands found in stream
[2026-08-29 01:38:10,391.391 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:38:10,394.394 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-08-29 01:38:11,011.011 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:38:11,013.013 INFO    ] Checking for system updates...
[2026-08-29 01:38:11,036.036 INFO    ] 200
[2026-08-29 01:38:11,038.038 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:38:11,072.072 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:38:11,073.073 INFO    ] No update needed
[2026-08-29 01:38:11,075.075 INFO    ] Checking for camera pi updates...
[2026-08-29 01:38:11,095.095 INFO    ] 200
[2026-08-29 01:38:11,096.096 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:38:11,121.121 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:38:11,213.213 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:38:11,215.215 INFO    ] No camera update needed
[2026-08-29 01:38:11,216.216 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:38:11,217.217 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:38:11,220.220 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:38:11,223.223 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:38:13,262.262 INFO    ] ================================================
[2026-08-29 01:38:13,278.278 INFO    ] Launching Daemon at Sat Aug 29 01:38:13 IST 2026
[2026-08-29 01:38:13,288.288 INFO    ] ================================================
[2026-08-29 01:38:13,632.632 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:38:13
[2026-08-29 01:38:13,954.954 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:38:14,219.219 INFO    ] Initializing speech engine...
[2026-08-29 01:38:14,237.237 INFO    ] 2026-08-29 01:38:14
[2026-08-29 01:38:14,493.493 INFO    ] 2026-08-29 01:38:14
[2026-08-29 01:38:14,528.528 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:38:14,704.704 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:38:14,719.719 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:38:14,866.866 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:38:14,873.873 INFO    ] time= 29/08/2026 01:38:14
[2026-08-29 01:38:14,881.881 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:38:14,928.928 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:38:15,042.042 INFO    ] No existing commands found in stream
[2026-08-29 01:38:20,067.067 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:38:20,070.070 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-08-29 01:38:22,431.431 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:38:22,433.433 INFO    ] Checking for system updates...
[2026-08-29 01:38:22,453.453 INFO    ] 200
[2026-08-29 01:38:22,455.455 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:38:22,488.488 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:38:22,489.489 INFO    ] No update needed
[2026-08-29 01:38:22,490.490 INFO    ] Checking for camera pi updates...
[2026-08-29 01:38:22,510.510 INFO    ] 200
[2026-08-29 01:38:22,511.511 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:38:22,536.536 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:38:22,632.632 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:38:22,634.634 INFO    ] No camera update needed
[2026-08-29 01:38:22,635.635 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:38:22,636.636 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:38:22,639.639 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:38:22,642.642 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:38:24,681.681 INFO    ] ================================================
[2026-08-29 01:38:24,696.696 INFO    ] Launching Daemon at Sat Aug 29 01:38:24 IST 2026
[2026-08-29 01:38:24,707.707 INFO    ] ================================================
[2026-08-29 01:38:25,039.039 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:38:25
[2026-08-29 01:38:25,352.352 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:38:25,494.494 INFO    ] Initializing speech engine...
[2026-08-29 01:38:25,499.499 INFO    ] 2026-08-29 01:38:25
[2026-08-29 01:38:25,700.700 INFO    ] 2026-08-29 01:38:25
[2026-08-29 01:38:25,778.778 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:38:25,926.926 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:38:25,934.934 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:38:26,067.067 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:38:26,114.114 INFO    ] time= 29/08/2026 01:38:26
[2026-08-29 01:38:26,176.176 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:38:26,205.205 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:38:26,257.257 INFO    ] No existing commands found in stream
[2026-08-29 01:38:31,269.269 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:38:31,272.272 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-08-29 01:38:35,372.372 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:38:35,374.374 INFO    ] Checking for system updates...
[2026-08-29 01:38:35,410.410 INFO    ] 200
[2026-08-29 01:38:35,412.412 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:38:35,472.472 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:38:35,475.475 INFO    ] No update needed
[2026-08-29 01:38:35,477.477 INFO    ] Checking for camera pi updates...
[2026-08-29 01:38:35,515.515 INFO    ] 200
[2026-08-29 01:38:35,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:38:35,557.557 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:38:35,644.644 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:38:35,645.645 INFO    ] No camera update needed
[2026-08-29 01:38:35,646.646 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:38:35,647.647 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:38:35,650.650 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:38:35,653.653 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:38:37,692.692 INFO    ] ================================================
[2026-08-29 01:38:37,707.707 INFO    ] Launching Daemon at Sat Aug 29 01:38:37 IST 2026
[2026-08-29 01:38:37,718.718 INFO    ] ================================================
[2026-08-29 01:38:38,081.081 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:38:38
[2026-08-29 01:38:38,392.392 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:38:38,534.534 INFO    ] Initializing speech engine...
[2026-08-29 01:38:38,540.540 INFO    ] 2026-08-29 01:38:38
[2026-08-29 01:38:38,787.787 INFO    ] 2026-08-29 01:38:38
[2026-08-29 01:38:38,822.822 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:38:38,993.993 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:38:39,005.005 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:38:39,144.144 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:38:39,152.152 INFO    ] time= 29/08/2026 01:38:39
[2026-08-29 01:38:39,159.159 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:38:39,206.206 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:38:39,338.338 INFO    ] No existing commands found in stream
[2026-08-29 01:38:44,360.360 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:38:44,363.363 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-08-29 01:38:48,171.171 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:38:48,172.172 INFO    ] Checking for system updates...
[2026-08-29 01:38:48,194.194 INFO    ] 200
[2026-08-29 01:38:48,195.195 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:38:48,227.227 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:38:48,228.228 INFO    ] No update needed
[2026-08-29 01:38:48,229.229 INFO    ] Checking for camera pi updates...
[2026-08-29 01:38:48,249.249 INFO    ] 200
[2026-08-29 01:38:48,250.250 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:38:48,274.274 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:38:48,354.354 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:38:48,355.355 INFO    ] No camera update needed
[2026-08-29 01:38:48,356.356 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:38:48,357.357 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:38:48,360.360 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:38:48,363.363 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:38:50,401.401 INFO    ] ================================================
[2026-08-29 01:38:50,416.416 INFO    ] Launching Daemon at Sat Aug 29 01:38:50 IST 2026
[2026-08-29 01:38:50,427.427 INFO    ] ================================================
[2026-08-29 01:38:50,794.794 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:38:50
[2026-08-29 01:38:51,245.245 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:38:51,519.519 INFO    ] Initializing speech engine...
[2026-08-29 01:38:51,528.528 INFO    ] 2026-08-29 01:38:51
[2026-08-29 01:38:51,779.779 INFO    ] 2026-08-29 01:38:51
[2026-08-29 01:38:51,815.815 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:38:51,990.990 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:38:52,003.003 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:38:52,116.116 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:38:52,135.135 INFO    ] time= 29/08/2026 01:38:52
[2026-08-29 01:38:52,154.154 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:38:52,161.161 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:38:52,234.234 INFO    ] No existing commands found in stream
[2026-08-29 01:38:57,250.250 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:38:57,254.254 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-08-29 01:38:59,393.393 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:38:59,396.396 INFO    ] Checking for system updates...
[2026-08-29 01:38:59,432.432 INFO    ] 200
[2026-08-29 01:38:59,435.435 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:38:59,488.488 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:38:59,490.490 INFO    ] No update needed
[2026-08-29 01:38:59,493.493 INFO    ] Checking for camera pi updates...
[2026-08-29 01:38:59,527.527 INFO    ] 200
[2026-08-29 01:38:59,530.530 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:38:59,576.576 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:38:59,657.657 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:38:59,659.659 INFO    ] No camera update needed
[2026-08-29 01:38:59,661.661 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:38:59,664.664 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:38:59,669.669 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:38:59,674.674 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:39:01,715.715 INFO    ] ================================================
[2026-08-29 01:39:01,731.731 INFO    ] Launching Daemon at Sat Aug 29 01:39:01 IST 2026
[2026-08-29 01:39:01,741.741 INFO    ] ================================================
[2026-08-29 01:39:02,423.423 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:39:02
[2026-08-29 01:39:03,095.095 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:39:03,446.446 INFO    ] Initializing speech engine...
[2026-08-29 01:39:03,465.465 INFO    ] 2026-08-29 01:39:03
[2026-08-29 01:39:03,724.724 INFO    ] 2026-08-29 01:39:03
[2026-08-29 01:39:03,759.759 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:39:03,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:39:03,956.956 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:39:04,087.087 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:39:04,095.095 INFO    ] time= 29/08/2026 01:39:04
[2026-08-29 01:39:04,104.104 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:39:04,139.139 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:39:04,265.265 INFO    ] No existing commands found in stream
[2026-08-29 01:39:09,290.290 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:39:09,293.293 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-08-29 01:39:12,128.128 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:39:12,131.131 INFO    ] Checking for system updates...
[2026-08-29 01:39:12,170.170 INFO    ] 200
[2026-08-29 01:39:12,172.172 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:39:12,231.231 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:39:12,233.233 INFO    ] No update needed
[2026-08-29 01:39:12,236.236 INFO    ] Checking for camera pi updates...
[2026-08-29 01:39:12,272.272 INFO    ] 200
[2026-08-29 01:39:12,275.275 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:39:12,318.318 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:39:12,403.403 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:39:12,406.406 INFO    ] No camera update needed
[2026-08-29 01:39:12,408.408 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:39:12,410.410 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:39:12,416.416 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:39:12,421.421 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:39:14,463.463 INFO    ] ================================================
[2026-08-29 01:39:14,478.478 INFO    ] Launching Daemon at Sat Aug 29 01:39:14 IST 2026
[2026-08-29 01:39:14,489.489 INFO    ] ================================================
[2026-08-29 01:39:14,847.847 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:39:14
[2026-08-29 01:39:15,159.159 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:39:15,301.301 INFO    ] Initializing speech engine...
[2026-08-29 01:39:15,306.306 INFO    ] 2026-08-29 01:39:15
[2026-08-29 01:39:15,510.510 INFO    ] 2026-08-29 01:39:15
[2026-08-29 01:39:15,539.539 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:39:15,663.663 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:39:15,706.706 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:39:15,866.866 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:39:15,929.929 INFO    ] time= 29/08/2026 01:39:15
[2026-08-29 01:39:15,984.984 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:39:16,020.020 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:39:16,135.135 INFO    ] No existing commands found in stream
[2026-08-29 01:39:21,165.165 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:39:21,168.168 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-08-29 01:39:23,283.283 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:39:23,285.285 INFO    ] Checking for system updates...
[2026-08-29 01:39:23,305.305 INFO    ] 200
[2026-08-29 01:39:23,307.307 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:39:23,337.337 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:39:23,338.338 INFO    ] No update needed
[2026-08-29 01:39:23,340.340 INFO    ] Checking for camera pi updates...
[2026-08-29 01:39:23,360.360 INFO    ] 200
[2026-08-29 01:39:23,361.361 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:39:23,388.388 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:39:23,598.598 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:39:23,600.600 INFO    ] No camera update needed
[2026-08-29 01:39:23,601.601 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:39:23,603.603 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:39:23,606.606 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:39:23,609.609 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:39:25,648.648 INFO    ] ================================================
[2026-08-29 01:39:25,663.663 INFO    ] Launching Daemon at Sat Aug 29 01:39:25 IST 2026
[2026-08-29 01:39:25,674.674 INFO    ] ================================================
[2026-08-29 01:39:26,094.094 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:39:26
[2026-08-29 01:39:26,682.682 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:39:26,954.954 INFO    ] Initializing speech engine...
[2026-08-29 01:39:26,963.963 INFO    ] 2026-08-29 01:39:26
[2026-08-29 01:39:27,214.214 INFO    ] 2026-08-29 01:39:27
[2026-08-29 01:39:27,250.250 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:39:27,426.426 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:39:27,439.439 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:39:27,582.582 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:39:27,590.590 INFO    ] time= 29/08/2026 01:39:27
[2026-08-29 01:39:27,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:39:27,599.599 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:39:27,668.668 INFO    ] No existing commands found in stream
[2026-08-29 01:39:32,703.703 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:39:32,707.707 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-08-29 01:39:34,181.181 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:39:34,184.184 INFO    ] Checking for system updates...
[2026-08-29 01:39:34,223.223 INFO    ] 200
[2026-08-29 01:39:34,225.225 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:39:34,283.283 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:39:34,285.285 INFO    ] No update needed
[2026-08-29 01:39:34,287.287 INFO    ] Checking for camera pi updates...
[2026-08-29 01:39:34,323.323 INFO    ] 200
[2026-08-29 01:39:34,326.326 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:39:34,369.369 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:39:34,482.482 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:39:34,485.485 INFO    ] No camera update needed
[2026-08-29 01:39:34,487.487 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:39:34,489.489 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:39:34,494.494 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:39:34,499.499 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:39:36,539.539 INFO    ] ================================================
[2026-08-29 01:39:36,554.554 INFO    ] Launching Daemon at Sat Aug 29 01:39:36 IST 2026
[2026-08-29 01:39:36,565.565 INFO    ] ================================================
[2026-08-29 01:39:36,926.926 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:39:36
[2026-08-29 01:39:37,260.260 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:39:37,409.409 INFO    ] Initializing speech engine...
[2026-08-29 01:39:37,415.415 INFO    ] 2026-08-29 01:39:37
[2026-08-29 01:39:37,616.616 INFO    ] 2026-08-29 01:39:37
[2026-08-29 01:39:37,696.696 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:39:37,850.850 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:39:37,856.856 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:39:38,053.053 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:39:38,111.111 INFO    ] time= 29/08/2026 01:39:38
[2026-08-29 01:39:38,119.119 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:39:38,137.137 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:39:38,253.253 INFO    ] No existing commands found in stream
[2026-08-29 01:39:43,278.278 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:39:43,281.281 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-08-29 01:39:45,672.672 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:39:45,675.675 INFO    ] Checking for system updates...
[2026-08-29 01:39:45,715.715 INFO    ] 200
[2026-08-29 01:39:45,718.718 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:39:45,781.781 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:39:45,784.784 INFO    ] No update needed
[2026-08-29 01:39:45,787.787 INFO    ] Checking for camera pi updates...
[2026-08-29 01:39:45,821.821 INFO    ] 200
[2026-08-29 01:39:45,824.824 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:39:45,866.866 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:39:45,974.974 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:39:45,977.977 INFO    ] No camera update needed
[2026-08-29 01:39:45,979.979 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:39:45,982.982 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:39:45,988.988 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:39:45,993.993 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:39:48,034.034 INFO    ] ================================================
[2026-08-29 01:39:48,050.050 INFO    ] Launching Daemon at Sat Aug 29 01:39:48 IST 2026
[2026-08-29 01:39:48,061.061 INFO    ] ================================================
[2026-08-29 01:39:48,425.425 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:39:48
[2026-08-29 01:39:48,736.736 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:39:48,879.879 INFO    ] Initializing speech engine...
[2026-08-29 01:39:48,883.883 INFO    ] 2026-08-29 01:39:48
[2026-08-29 01:39:49,087.087 INFO    ] 2026-08-29 01:39:49
[2026-08-29 01:39:49,115.115 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:39:49,247.247 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:39:49,256.256 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:39:49,423.423 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:39:49,454.454 INFO    ] time= 29/08/2026 01:39:49
[2026-08-29 01:39:49,460.460 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:39:49,480.480 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:39:49,584.584 INFO    ] No existing commands found in stream
[2026-08-29 01:39:54,609.609 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:39:54,612.612 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-08-29 01:39:56,749.749 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:39:56,750.750 INFO    ] Checking for system updates...
[2026-08-29 01:39:56,771.771 INFO    ] 200
[2026-08-29 01:39:56,772.772 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:39:56,802.802 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:39:56,804.804 INFO    ] No update needed
[2026-08-29 01:39:56,805.805 INFO    ] Checking for camera pi updates...
[2026-08-29 01:39:56,824.824 INFO    ] 200
[2026-08-29 01:39:56,826.826 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:39:56,849.849 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:39:56,928.928 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:39:56,930.930 INFO    ] No camera update needed
[2026-08-29 01:39:56,931.931 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:39:56,933.933 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:39:56,936.936 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:39:56,939.939 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:39:58,978.978 INFO    ] ================================================
[2026-08-29 01:39:59,995.995 INFO    ] Launching Daemon at Sat Aug 29 01:39:58 IST 2026
[2026-08-29 01:39:59,006.006 INFO    ] ================================================
[2026-08-29 01:39:59,339.339 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:39:59
[2026-08-29 01:39:59,656.656 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:39:59,795.795 INFO    ] Initializing speech engine...
[2026-08-29 01:39:59,805.805 INFO    ] 2026-08-29 01:39:59
[2026-08-29 01:40:00,013.013 INFO    ] 2026-08-29 01:39:59
[2026-08-29 01:40:00,042.042 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:40:00,180.180 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:40:00,227.227 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:40:00,361.361 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:40:00,422.422 INFO    ] time= 29/08/2026 01:40:00
[2026-08-29 01:40:00,456.456 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:40:00,461.461 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:40:00,531.531 INFO    ] No existing commands found in stream
[2026-08-29 01:40:05,541.541 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:40:05,544.544 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 01:40:08,476.476 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:40:08,477.477 INFO    ] Checking for system updates...
[2026-08-29 01:40:08,498.498 INFO    ] 200
[2026-08-29 01:40:08,500.500 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:40:08,531.531 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:40:08,533.533 INFO    ] No update needed
[2026-08-29 01:40:08,534.534 INFO    ] Checking for camera pi updates...
[2026-08-29 01:40:08,554.554 INFO    ] 200
[2026-08-29 01:40:08,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:40:08,578.578 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:40:08,662.662 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:40:08,663.663 INFO    ] No camera update needed
[2026-08-29 01:40:08,664.664 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:40:08,666.666 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:40:08,669.669 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:40:08,671.671 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:40:10,709.709 INFO    ] ================================================
[2026-08-29 01:40:10,725.725 INFO    ] Launching Daemon at Sat Aug 29 01:40:10 IST 2026
[2026-08-29 01:40:10,737.737 INFO    ] ================================================
[2026-08-29 01:40:11,069.069 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:40:11
[2026-08-29 01:40:11,387.387 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:40:11,530.530 INFO    ] Initializing speech engine...
[2026-08-29 01:40:11,535.535 INFO    ] 2026-08-29 01:40:11
[2026-08-29 01:40:11,729.729 INFO    ] 2026-08-29 01:40:11
[2026-08-29 01:40:11,771.771 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:40:11,992.992 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:40:12,001.001 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:40:12,134.134 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:40:12,140.140 INFO    ] time= 29/08/2026 01:40:12
[2026-08-29 01:40:12,199.199 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:40:12,253.253 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:40:12,328.328 INFO    ] No existing commands found in stream
[2026-08-29 01:40:17,354.354 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:40:17,356.356 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-08-29 01:40:19,053.053 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:40:19,055.055 INFO    ] Checking for system updates...
[2026-08-29 01:40:19,075.075 INFO    ] 200
[2026-08-29 01:40:19,077.077 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:40:19,109.109 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:40:19,110.110 INFO    ] No update needed
[2026-08-29 01:40:19,111.111 INFO    ] Checking for camera pi updates...
[2026-08-29 01:40:19,131.131 INFO    ] 200
[2026-08-29 01:40:19,132.132 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:40:19,155.155 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:40:19,257.257 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:40:19,259.259 INFO    ] No camera update needed
[2026-08-29 01:40:19,261.261 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:40:19,264.264 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:40:19,270.270 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:40:19,275.275 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:40:21,314.314 INFO    ] ================================================
[2026-08-29 01:40:21,331.331 INFO    ] Launching Daemon at Sat Aug 29 01:40:21 IST 2026
[2026-08-29 01:40:21,341.341 INFO    ] ================================================
[2026-08-29 01:40:21,952.952 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:40:21
[2026-08-29 01:40:22,424.424 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:40:22,700.700 INFO    ] Initializing speech engine...
[2026-08-29 01:40:22,707.707 INFO    ] 2026-08-29 01:40:22
[2026-08-29 01:40:22,972.972 INFO    ] 2026-08-29 01:40:22
[2026-08-29 01:40:23,010.010 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:40:23,206.206 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:40:23,213.213 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:40:23,342.342 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:40:23,350.350 INFO    ] time= 29/08/2026 01:40:23
[2026-08-29 01:40:23,356.356 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:40:23,391.391 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:40:23,477.477 INFO    ] No existing commands found in stream
[2026-08-29 01:40:28,489.489 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:40:28,491.491 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-08-29 01:40:32,666.666 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:40:32,669.669 INFO    ] Checking for system updates...
[2026-08-29 01:40:32,704.704 INFO    ] 200
[2026-08-29 01:40:32,707.707 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:40:32,769.769 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:40:32,771.771 INFO    ] No update needed
[2026-08-29 01:40:32,774.774 INFO    ] Checking for camera pi updates...
[2026-08-29 01:40:32,811.811 INFO    ] 200
[2026-08-29 01:40:32,814.814 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:40:32,854.854 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:40:32,953.953 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:40:32,955.955 INFO    ] No camera update needed
[2026-08-29 01:40:32,957.957 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:40:32,959.959 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:40:32,965.965 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:40:32,969.969 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:40:35,010.010 INFO    ] ================================================
[2026-08-29 01:40:35,025.025 INFO    ] Launching Daemon at Sat Aug 29 01:40:35 IST 2026
[2026-08-29 01:40:35,036.036 INFO    ] ================================================
[2026-08-29 01:40:35,581.581 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:40:35
[2026-08-29 01:40:35,898.898 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:40:36,033.033 INFO    ] Initializing speech engine...
[2026-08-29 01:40:36,037.037 INFO    ] 2026-08-29 01:40:36
[2026-08-29 01:40:36,266.266 INFO    ] 2026-08-29 01:40:36
[2026-08-29 01:40:36,297.297 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:40:36,428.428 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:40:36,442.442 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:40:36,586.586 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:40:36,641.641 INFO    ] time= 29/08/2026 01:40:36
[2026-08-29 01:40:36,667.667 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:40:36,725.725 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:40:36,823.823 INFO    ] No existing commands found in stream
[2026-08-29 01:40:41,834.834 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:40:41,837.837 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 01:40:45,426.426 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:40:45,428.428 INFO    ] Checking for system updates...
[2026-08-29 01:40:45,449.449 INFO    ] 200
[2026-08-29 01:40:45,451.451 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:40:45,482.482 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:40:45,484.484 INFO    ] No update needed
[2026-08-29 01:40:45,485.485 INFO    ] Checking for camera pi updates...
[2026-08-29 01:40:45,505.505 INFO    ] 200
[2026-08-29 01:40:45,506.506 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:40:45,530.530 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:40:45,627.627 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:40:45,628.628 INFO    ] No camera update needed
[2026-08-29 01:40:45,630.630 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:40:45,631.631 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:40:45,634.634 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:40:45,637.637 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:40:47,675.675 INFO    ] ================================================
[2026-08-29 01:40:47,690.690 INFO    ] Launching Daemon at Sat Aug 29 01:40:47 IST 2026
[2026-08-29 01:40:47,701.701 INFO    ] ================================================
[2026-08-29 01:40:48,068.068 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:40:48
[2026-08-29 01:40:48,381.381 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:40:48,599.599 INFO    ] Initializing speech engine...
[2026-08-29 01:40:48,609.609 INFO    ] 2026-08-29 01:40:48
[2026-08-29 01:40:48,860.860 INFO    ] 2026-08-29 01:40:48
[2026-08-29 01:40:48,895.895 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:40:49,071.071 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:40:49,084.084 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:40:49,212.212 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:40:49,233.233 INFO    ] time= 29/08/2026 01:40:49
[2026-08-29 01:40:49,241.241 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:40:49,247.247 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:40:49,326.326 INFO    ] No existing commands found in stream
[2026-08-29 01:40:54,362.362 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:40:54,364.364 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-08-29 01:40:56,523.523 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:40:56,525.525 INFO    ] Checking for system updates...
[2026-08-29 01:40:56,545.545 INFO    ] 200
[2026-08-29 01:40:56,546.546 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:40:56,580.580 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:40:56,582.582 INFO    ] No update needed
[2026-08-29 01:40:56,583.583 INFO    ] Checking for camera pi updates...
[2026-08-29 01:40:56,603.603 INFO    ] 200
[2026-08-29 01:40:56,605.605 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:40:56,627.627 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:40:56,725.725 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:40:56,726.726 INFO    ] No camera update needed
[2026-08-29 01:40:56,727.727 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:40:56,728.728 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:40:56,731.731 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:40:56,734.734 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:40:58,774.774 INFO    ] ================================================
[2026-08-29 01:40:58,789.789 INFO    ] Launching Daemon at Sat Aug 29 01:40:58 IST 2026
[2026-08-29 01:40:58,800.800 INFO    ] ================================================
[2026-08-29 01:40:59,161.161 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:40:59
[2026-08-29 01:40:59,497.497 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:40:59,648.648 INFO    ] Initializing speech engine...
[2026-08-29 01:40:59,654.654 INFO    ] 2026-08-29 01:40:59
[2026-08-29 01:40:59,863.863 INFO    ] 2026-08-29 01:40:59
[2026-08-29 01:40:59,891.891 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:41:00,015.015 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:41:00,078.078 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:41:00,218.218 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:41:00,272.272 INFO    ] time= 29/08/2026 01:41:00
[2026-08-29 01:41:00,310.310 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:41:00,317.317 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:41:00,385.385 INFO    ] No existing commands found in stream
[2026-08-29 01:41:05,394.394 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:41:05,397.397 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-08-29 01:41:09,598.598 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:41:09,600.600 INFO    ] Checking for system updates...
[2026-08-29 01:41:09,625.625 INFO    ] 200
[2026-08-29 01:41:09,628.628 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:41:09,688.688 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:41:09,691.691 INFO    ] No update needed
[2026-08-29 01:41:09,694.694 INFO    ] Checking for camera pi updates...
[2026-08-29 01:41:09,729.729 INFO    ] 200
[2026-08-29 01:41:09,732.732 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:41:09,772.772 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:41:09,853.853 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:41:09,855.855 INFO    ] No camera update needed
[2026-08-29 01:41:09,858.858 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:41:09,860.860 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:41:09,865.865 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:41:09,870.870 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:41:11,909.909 INFO    ] ================================================
[2026-08-29 01:41:11,924.924 INFO    ] Launching Daemon at Sat Aug 29 01:41:11 IST 2026
[2026-08-29 01:41:11,935.935 INFO    ] ================================================
[2026-08-29 01:41:12,502.502 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:41:12
[2026-08-29 01:41:12,928.928 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:41:13,061.061 INFO    ] Initializing speech engine...
[2026-08-29 01:41:13,073.073 INFO    ] 2026-08-29 01:41:13
[2026-08-29 01:41:13,281.281 INFO    ] 2026-08-29 01:41:13
[2026-08-29 01:41:13,310.310 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:41:13,434.434 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:41:13,498.498 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:41:13,630.630 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:41:13,691.691 INFO    ] time= 29/08/2026 01:41:13
[2026-08-29 01:41:13,716.716 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:41:13,732.732 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:41:13,804.804 INFO    ] No existing commands found in stream
[2026-08-29 01:41:18,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:41:18,816.816 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 01:41:21,116.116 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:41:21,118.118 INFO    ] Checking for system updates...
[2026-08-29 01:41:21,139.139 INFO    ] 200
[2026-08-29 01:41:21,141.141 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:41:21,172.172 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:41:21,174.174 INFO    ] No update needed
[2026-08-29 01:41:21,175.175 INFO    ] Checking for camera pi updates...
[2026-08-29 01:41:21,195.195 INFO    ] 200
[2026-08-29 01:41:21,196.196 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:41:21,219.219 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:41:21,304.304 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:41:21,305.305 INFO    ] No camera update needed
[2026-08-29 01:41:21,306.306 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:41:21,308.308 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:41:21,311.311 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:41:21,313.313 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:41:23,354.354 INFO    ] ================================================
[2026-08-29 01:41:23,370.370 INFO    ] Launching Daemon at Sat Aug 29 01:41:23 IST 2026
[2026-08-29 01:41:23,380.380 INFO    ] ================================================
[2026-08-29 01:41:23,720.720 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:41:23
[2026-08-29 01:41:24,302.302 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:41:24,561.561 INFO    ] Initializing speech engine...
[2026-08-29 01:41:24,567.567 INFO    ] 2026-08-29 01:41:24
[2026-08-29 01:41:24,856.856 INFO    ] 2026-08-29 01:41:24
[2026-08-29 01:41:24,894.894 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:41:25,097.097 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:41:25,113.113 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:41:25,220.220 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:41:25,227.227 INFO    ] time= 29/08/2026 01:41:25
[2026-08-29 01:41:25,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:41:25,255.255 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:41:25,348.348 INFO    ] No existing commands found in stream
[2026-08-29 01:41:30,361.361 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:41:30,364.364 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-08-29 01:41:33,702.702 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:41:33,705.705 INFO    ] Checking for system updates...
[2026-08-29 01:41:33,746.746 INFO    ] 200
[2026-08-29 01:41:33,749.749 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:41:33,808.808 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:41:33,811.811 INFO    ] No update needed
[2026-08-29 01:41:33,815.815 INFO    ] Checking for camera pi updates...
[2026-08-29 01:41:33,849.849 INFO    ] 200
[2026-08-29 01:41:33,852.852 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:41:33,894.894 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:41:34,009.009 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:41:34,011.011 INFO    ] No camera update needed
[2026-08-29 01:41:34,014.014 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:41:34,017.017 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:41:34,023.023 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:41:34,028.028 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:41:36,070.070 INFO    ] ================================================
[2026-08-29 01:41:36,085.085 INFO    ] Launching Daemon at Sat Aug 29 01:41:36 IST 2026
[2026-08-29 01:41:36,095.095 INFO    ] ================================================
[2026-08-29 01:41:36,423.423 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:41:36
[2026-08-29 01:41:36,994.994 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:41:37,262.262 INFO    ] Initializing speech engine...
[2026-08-29 01:41:37,271.271 INFO    ] 2026-08-29 01:41:37
[2026-08-29 01:41:37,523.523 INFO    ] 2026-08-29 01:41:37
[2026-08-29 01:41:37,589.589 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:41:37,758.758 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:41:37,809.809 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:41:37,959.959 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:41:37,980.980 INFO    ] time= 29/08/2026 01:41:37
[2026-08-29 01:41:38,040.040 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:41:38,095.095 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:41:38,151.151 INFO    ] No existing commands found in stream
[2026-08-29 01:41:43,163.163 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:41:43,166.166 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-08-29 01:41:47,359.359 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:41:47,361.361 INFO    ] Checking for system updates...
[2026-08-29 01:41:47,381.381 INFO    ] 200
[2026-08-29 01:41:47,382.382 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:41:47,412.412 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:41:47,414.414 INFO    ] No update needed
[2026-08-29 01:41:47,415.415 INFO    ] Checking for camera pi updates...
[2026-08-29 01:41:47,434.434 INFO    ] 200
[2026-08-29 01:41:47,435.435 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:41:47,457.457 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:41:47,563.563 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:41:47,565.565 INFO    ] No camera update needed
[2026-08-29 01:41:47,566.566 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:41:47,567.567 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:41:47,570.570 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:41:47,573.573 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:41:49,615.615 INFO    ] ================================================
[2026-08-29 01:41:49,630.630 INFO    ] Launching Daemon at Sat Aug 29 01:41:49 IST 2026
[2026-08-29 01:41:49,641.641 INFO    ] ================================================
[2026-08-29 01:41:50,015.015 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:41:50
[2026-08-29 01:41:50,349.349 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:41:50,501.501 INFO    ] Initializing speech engine...
[2026-08-29 01:41:50,506.506 INFO    ] 2026-08-29 01:41:50
[2026-08-29 01:41:50,766.766 INFO    ] 2026-08-29 01:41:50
[2026-08-29 01:41:50,824.824 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:41:50,996.996 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:41:51,001.001 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:41:51,181.181 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:41:51,208.208 INFO    ] time= 29/08/2026 01:41:51
[2026-08-29 01:41:51,214.214 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:41:51,236.236 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:41:51,352.352 INFO    ] No existing commands found in stream
[2026-08-29 01:41:56,376.376 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:41:56,379.379 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-08-29 01:41:57,671.671 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:41:57,672.672 INFO    ] Checking for system updates...
[2026-08-29 01:41:57,694.694 INFO    ] 200
[2026-08-29 01:41:57,695.695 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:41:57,727.727 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:41:57,729.729 INFO    ] No update needed
[2026-08-29 01:41:57,730.730 INFO    ] Checking for camera pi updates...
[2026-08-29 01:41:57,751.751 INFO    ] 200
[2026-08-29 01:41:57,752.752 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:41:57,777.777 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:41:57,834.834 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:41:57,837.837 INFO    ] No camera update needed
[2026-08-29 01:41:57,839.839 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:41:57,842.842 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:41:57,848.848 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:41:57,854.854 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:41:59,895.895 INFO    ] ================================================
[2026-08-29 01:41:59,910.910 INFO    ] Launching Daemon at Sat Aug 29 01:41:59 IST 2026
[2026-08-29 01:41:59,921.921 INFO    ] ================================================
[2026-08-29 01:42:00,570.570 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:42:00
[2026-08-29 01:42:01,099.099 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:42:01,251.251 INFO    ] Initializing speech engine...
[2026-08-29 01:42:01,256.256 INFO    ] 2026-08-29 01:42:01
[2026-08-29 01:42:01,468.468 INFO    ] 2026-08-29 01:42:01
[2026-08-29 01:42:01,496.496 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:42:01,671.671 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:42:01,676.676 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:42:01,796.796 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:42:01,799.799 INFO    ] time= 29/08/2026 01:42:01
[2026-08-29 01:42:01,802.802 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:42:01,805.805 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:42:01,890.890 INFO    ] No existing commands found in stream
[2026-08-29 01:42:06,900.900 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:42:06,903.903 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-08-29 01:42:07,907.907 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:42:07,908.908 INFO    ] Checking for system updates...
[2026-08-29 01:42:07,930.930 INFO    ] 200
[2026-08-29 01:42:07,932.932 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:42:07,962.962 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:42:07,964.964 INFO    ] No update needed
[2026-08-29 01:42:07,965.965 INFO    ] Checking for camera pi updates...
[2026-08-29 01:42:07,986.986 INFO    ] 200
[2026-08-29 01:42:07,988.988 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:42:08,015.015 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:42:08,114.114 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:42:08,116.116 INFO    ] No camera update needed
[2026-08-29 01:42:08,117.117 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:42:08,119.119 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:42:08,122.122 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:42:08,125.125 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:42:10,165.165 INFO    ] ================================================
[2026-08-29 01:42:10,181.181 INFO    ] Launching Daemon at Sat Aug 29 01:42:10 IST 2026
[2026-08-29 01:42:10,193.193 INFO    ] ================================================
[2026-08-29 01:42:10,697.697 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:42:10
[2026-08-29 01:42:11,281.281 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:42:11,552.552 INFO    ] Initializing speech engine...
[2026-08-29 01:42:11,561.561 INFO    ] 2026-08-29 01:42:11
[2026-08-29 01:42:11,809.809 INFO    ] 2026-08-29 01:42:11
[2026-08-29 01:42:11,844.844 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:42:12,020.020 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:42:12,034.034 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:42:12,180.180 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:42:12,188.188 INFO    ] time= 29/08/2026 01:42:12
[2026-08-29 01:42:12,196.196 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:42:12,216.216 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:42:12,347.347 INFO    ] No existing commands found in stream
[2026-08-29 01:42:17,377.377 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:42:17,379.379 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 01:42:19,334.334 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:42:19,335.335 INFO    ] Checking for system updates...
[2026-08-29 01:42:19,355.355 INFO    ] 200
[2026-08-29 01:42:19,357.357 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:42:19,388.388 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:42:19,389.389 INFO    ] No update needed
[2026-08-29 01:42:19,391.391 INFO    ] Checking for camera pi updates...
[2026-08-29 01:42:19,412.412 INFO    ] 200
[2026-08-29 01:42:19,414.414 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:42:19,439.439 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:42:19,523.523 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:42:19,524.524 INFO    ] No camera update needed
[2026-08-29 01:42:19,526.526 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:42:19,527.527 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:42:19,530.530 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:42:19,532.532 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:42:21,573.573 INFO    ] ================================================
[2026-08-29 01:42:21,589.589 INFO    ] Launching Daemon at Sat Aug 29 01:42:21 IST 2026
[2026-08-29 01:42:21,601.601 INFO    ] ================================================
[2026-08-29 01:42:21,931.931 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:42:21
[2026-08-29 01:42:22,266.266 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:42:22,526.526 INFO    ] Initializing speech engine...
[2026-08-29 01:42:22,533.533 INFO    ] 2026-08-29 01:42:22
[2026-08-29 01:42:22,831.831 INFO    ] 2026-08-29 01:42:22
[2026-08-29 01:42:22,867.867 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:42:23,044.044 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:42:23,050.050 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:42:23,168.168 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:42:23,173.173 INFO    ] time= 29/08/2026 01:42:23
[2026-08-29 01:42:23,191.191 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:42:23,211.211 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:42:23,286.286 INFO    ] No existing commands found in stream
[2026-08-29 01:42:28,301.301 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:42:28,304.304 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-08-29 01:42:29,291.291 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:42:29,292.292 INFO    ] Checking for system updates...
[2026-08-29 01:42:29,313.313 INFO    ] 200
[2026-08-29 01:42:29,314.314 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:42:29,344.344 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:42:29,346.346 INFO    ] No update needed
[2026-08-29 01:42:29,347.347 INFO    ] Checking for camera pi updates...
[2026-08-29 01:42:29,367.367 INFO    ] 200
[2026-08-29 01:42:29,368.368 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:42:29,391.391 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:42:29,483.483 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:42:29,484.484 INFO    ] No camera update needed
[2026-08-29 01:42:29,486.486 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:42:29,487.487 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:42:29,490.490 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:42:29,493.493 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:42:31,535.535 INFO    ] ================================================
[2026-08-29 01:42:31,550.550 INFO    ] Launching Daemon at Sat Aug 29 01:42:31 IST 2026
[2026-08-29 01:42:31,563.563 INFO    ] ================================================
[2026-08-29 01:42:32,206.206 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:42:32
[2026-08-29 01:42:32,901.901 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:42:33,151.151 INFO    ] Initializing speech engine...
[2026-08-29 01:42:33,157.157 INFO    ] 2026-08-29 01:42:33
[2026-08-29 01:42:33,432.432 INFO    ] 2026-08-29 01:42:33
[2026-08-29 01:42:33,467.467 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:42:33,643.643 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:42:33,655.655 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:42:33,800.800 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:42:33,807.807 INFO    ] time= 29/08/2026 01:42:33
[2026-08-29 01:42:33,815.815 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:42:33,856.856 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:42:33,982.982 INFO    ] No existing commands found in stream
[2026-08-29 01:42:39,012.012 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:42:39,015.015 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-08-29 01:42:42,225.225 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:42:42,232.232 INFO    ] Checking for system updates...
[2026-08-29 01:42:42,254.254 INFO    ] 200
[2026-08-29 01:42:42,255.255 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:42:42,294.294 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:42:42,295.295 INFO    ] No update needed
[2026-08-29 01:42:42,297.297 INFO    ] Checking for camera pi updates...
[2026-08-29 01:42:42,315.315 INFO    ] 200
[2026-08-29 01:42:42,317.317 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:42:42,341.341 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:42:42,420.420 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:42:42,421.421 INFO    ] No camera update needed
[2026-08-29 01:42:42,423.423 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:42:42,424.424 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:42:42,427.427 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:42:42,429.429 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:42:44,468.468 INFO    ] ================================================
[2026-08-29 01:42:44,484.484 INFO    ] Launching Daemon at Sat Aug 29 01:42:44 IST 2026
[2026-08-29 01:42:44,495.495 INFO    ] ================================================
[2026-08-29 01:42:44,861.861 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:42:44
[2026-08-29 01:42:45,178.178 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:42:45,325.325 INFO    ] Initializing speech engine...
[2026-08-29 01:42:45,330.330 INFO    ] 2026-08-29 01:42:45
[2026-08-29 01:42:45,545.545 INFO    ] 2026-08-29 01:42:45
[2026-08-29 01:42:45,577.577 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:42:45,707.707 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:42:45,746.746 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:42:45,920.920 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:42:45,972.972 INFO    ] time= 29/08/2026 01:42:45
[2026-08-29 01:42:46,011.011 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:42:46,023.023 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:42:46,098.098 INFO    ] No existing commands found in stream
[2026-08-29 01:42:51,107.107 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:42:51,110.110 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-08-29 01:42:53,652.652 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:42:53,654.654 INFO    ] Checking for system updates...
[2026-08-29 01:42:53,674.674 INFO    ] 200
[2026-08-29 01:42:53,675.675 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:42:53,705.705 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:42:53,706.706 INFO    ] No update needed
[2026-08-29 01:42:53,707.707 INFO    ] Checking for camera pi updates...
[2026-08-29 01:42:53,726.726 INFO    ] 200
[2026-08-29 01:42:53,727.727 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:42:53,750.750 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:42:53,825.825 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:42:53,826.826 INFO    ] No camera update needed
[2026-08-29 01:42:53,828.828 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:42:53,829.829 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:42:53,832.832 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:42:53,835.835 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:42:55,874.874 INFO    ] ================================================
[2026-08-29 01:42:55,890.890 INFO    ] Launching Daemon at Sat Aug 29 01:42:55 IST 2026
[2026-08-29 01:42:55,901.901 INFO    ] ================================================
[2026-08-29 01:42:56,252.252 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:42:56
[2026-08-29 01:42:56,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:42:56,711.711 INFO    ] Initializing speech engine...
[2026-08-29 01:42:56,716.716 INFO    ] 2026-08-29 01:42:56
[2026-08-29 01:42:56,975.975 INFO    ] 2026-08-29 01:42:56
[2026-08-29 01:42:57,013.013 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:42:57,169.169 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:42:57,190.190 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:42:57,315.315 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:42:57,326.326 INFO    ] time= 29/08/2026 01:42:57
[2026-08-29 01:42:57,331.331 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:42:57,354.354 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:42:57,412.412 INFO    ] No existing commands found in stream
[2026-08-29 01:43:02,430.430 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:43:02,433.433 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-08-29 01:43:03,893.893 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:43:03,895.895 INFO    ] Checking for system updates...
[2026-08-29 01:43:03,931.931 INFO    ] 200
[2026-08-29 01:43:03,934.934 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:43:03,988.988 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:43:03,990.990 INFO    ] No update needed
[2026-08-29 01:43:03,993.993 INFO    ] Checking for camera pi updates...
[2026-08-29 01:43:04,027.027 INFO    ] 200
[2026-08-29 01:43:04,029.029 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:43:04,073.073 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:43:04,166.166 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:43:04,169.169 INFO    ] No camera update needed
[2026-08-29 01:43:04,171.171 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:43:04,174.174 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:43:04,180.180 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:43:04,185.185 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:43:06,230.230 INFO    ] ================================================
[2026-08-29 01:43:06,246.246 INFO    ] Launching Daemon at Sat Aug 29 01:43:06 IST 2026
[2026-08-29 01:43:06,254.254 INFO    ] ================================================
[2026-08-29 01:43:06,816.816 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:43:06
[2026-08-29 01:43:07,456.456 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:43:07,751.751 INFO    ] Initializing speech engine...
[2026-08-29 01:43:07,757.757 INFO    ] 2026-08-29 01:43:07
[2026-08-29 01:43:08,024.024 INFO    ] 2026-08-29 01:43:08
[2026-08-29 01:43:08,060.060 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:43:08,232.232 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:43:08,245.245 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:43:08,358.358 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:43:08,376.376 INFO    ] time= 29/08/2026 01:43:08
[2026-08-29 01:43:08,397.397 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:43:08,405.405 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:43:08,477.477 INFO    ] No existing commands found in stream
[2026-08-29 01:43:13,513.513 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:43:13,516.516 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-08-29 01:43:15,009.009 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:43:15,010.010 INFO    ] Checking for system updates...
[2026-08-29 01:43:15,031.031 INFO    ] 200
[2026-08-29 01:43:15,033.033 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:43:15,065.065 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:43:15,066.066 INFO    ] No update needed
[2026-08-29 01:43:15,067.067 INFO    ] Checking for camera pi updates...
[2026-08-29 01:43:15,090.090 INFO    ] 200
[2026-08-29 01:43:15,092.092 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:43:15,115.115 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:43:15,202.202 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:43:15,203.203 INFO    ] No camera update needed
[2026-08-29 01:43:15,205.205 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:43:15,206.206 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:43:15,209.209 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:43:15,212.212 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:43:17,250.250 INFO    ] ================================================
[2026-08-29 01:43:17,265.265 INFO    ] Launching Daemon at Sat Aug 29 01:43:17 IST 2026
[2026-08-29 01:43:17,277.277 INFO    ] ================================================
[2026-08-29 01:43:17,821.821 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:43:17
[2026-08-29 01:43:18,421.421 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:43:18,679.679 INFO    ] Initializing speech engine...
[2026-08-29 01:43:18,692.692 INFO    ] 2026-08-29 01:43:18
[2026-08-29 01:43:18,973.973 INFO    ] 2026-08-29 01:43:18
[2026-08-29 01:43:19,013.013 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:43:19,199.199 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:43:19,206.206 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:43:19,332.332 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:43:19,339.339 INFO    ] time= 29/08/2026 01:43:19
[2026-08-29 01:43:19,344.344 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:43:19,364.364 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:43:19,460.460 INFO    ] No existing commands found in stream
[2026-08-29 01:43:24,472.472 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:43:24,475.475 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-08-29 01:43:27,854.854 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:43:27,856.856 INFO    ] Checking for system updates...
[2026-08-29 01:43:27,876.876 INFO    ] 200
[2026-08-29 01:43:27,877.877 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:43:27,909.909 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:43:27,910.910 INFO    ] No update needed
[2026-08-29 01:43:27,911.911 INFO    ] Checking for camera pi updates...
[2026-08-29 01:43:27,933.933 INFO    ] 200
[2026-08-29 01:43:27,934.934 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:43:27,958.958 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:43:28,061.061 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:43:28,062.062 INFO    ] No camera update needed
[2026-08-29 01:43:28,064.064 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:43:28,065.065 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:43:28,068.068 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:43:28,070.070 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:43:30,110.110 INFO    ] ================================================
[2026-08-29 01:43:30,126.126 INFO    ] Launching Daemon at Sat Aug 29 01:43:30 IST 2026
[2026-08-29 01:43:30,137.137 INFO    ] ================================================
[2026-08-29 01:43:30,505.505 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:43:30
[2026-08-29 01:43:30,835.835 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:43:30,985.985 INFO    ] Initializing speech engine...
[2026-08-29 01:43:30,990.990 INFO    ] 2026-08-29 01:43:30
[2026-08-29 01:43:31,199.199 INFO    ] 2026-08-29 01:43:31
[2026-08-29 01:43:31,227.227 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:43:31,373.373 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:43:31,425.425 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:43:31,567.567 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:43:31,578.578 INFO    ] time= 29/08/2026 01:43:31
[2026-08-29 01:43:31,641.641 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:43:31,701.701 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:43:31,812.812 INFO    ] No existing commands found in stream
[2026-08-29 01:43:36,829.829 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:43:36,832.832 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 01:43:37,370.370 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:43:37,371.371 INFO    ] Checking for system updates...
[2026-08-29 01:43:37,392.392 INFO    ] 200
[2026-08-29 01:43:37,393.393 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:43:37,425.425 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:43:37,426.426 INFO    ] No update needed
[2026-08-29 01:43:37,427.427 INFO    ] Checking for camera pi updates...
[2026-08-29 01:43:37,449.449 INFO    ] 200
[2026-08-29 01:43:37,450.450 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:43:37,481.481 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:43:37,666.666 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:43:37,668.668 INFO    ] No camera update needed
[2026-08-29 01:43:37,669.669 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:43:37,670.670 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:43:37,673.673 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:43:37,676.676 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:43:39,715.715 INFO    ] ================================================
[2026-08-29 01:43:39,730.730 INFO    ] Launching Daemon at Sat Aug 29 01:43:39 IST 2026
[2026-08-29 01:43:39,742.742 INFO    ] ================================================
[2026-08-29 01:43:40,218.218 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:43:40
[2026-08-29 01:43:40,805.805 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:43:41,074.074 INFO    ] Initializing speech engine...
[2026-08-29 01:43:41,089.089 INFO    ] 2026-08-29 01:43:41
[2026-08-29 01:43:41,360.360 INFO    ] 2026-08-29 01:43:41
[2026-08-29 01:43:41,398.398 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:43:41,591.591 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:43:41,597.597 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:43:41,730.730 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:43:41,737.737 INFO    ] time= 29/08/2026 01:43:41
[2026-08-29 01:43:41,757.757 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:43:41,778.778 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:43:41,860.860 INFO    ] No existing commands found in stream
[2026-08-29 01:43:46,872.872 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:43:46,874.874 INFO    ] Waiting 0.00 seconds before fallback handling...
[2026-08-29 01:43:47,239.239 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:43:47,240.240 INFO    ] Checking for system updates...
[2026-08-29 01:43:47,262.262 INFO    ] 200
[2026-08-29 01:43:47,263.263 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:43:47,293.293 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:43:47,295.295 INFO    ] No update needed
[2026-08-29 01:43:47,296.296 INFO    ] Checking for camera pi updates...
[2026-08-29 01:43:47,316.316 INFO    ] 200
[2026-08-29 01:43:47,317.317 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:43:47,340.340 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:43:47,439.439 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:43:47,442.442 INFO    ] No camera update needed
[2026-08-29 01:43:47,444.444 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:43:47,446.446 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:43:47,451.451 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:43:47,456.456 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:43:49,497.497 INFO    ] ================================================
[2026-08-29 01:43:49,514.514 INFO    ] Launching Daemon at Sat Aug 29 01:43:49 IST 2026
[2026-08-29 01:43:49,525.525 INFO    ] ================================================
[2026-08-29 01:43:50,109.109 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:43:50
[2026-08-29 01:43:50,608.608 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:43:50,743.743 INFO    ] Initializing speech engine...
[2026-08-29 01:43:50,747.747 INFO    ] 2026-08-29 01:43:50
[2026-08-29 01:43:50,977.977 INFO    ] 2026-08-29 01:43:50
[2026-08-29 01:43:51,008.008 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:43:51,207.207 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:43:51,215.215 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:43:51,350.350 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:43:51,406.406 INFO    ] time= 29/08/2026 01:43:51
[2026-08-29 01:43:51,441.441 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:43:51,506.506 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:43:51,588.588 INFO    ] No existing commands found in stream
[2026-08-29 01:43:56,606.606 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:43:56,609.609 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 01:43:59,296.296 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:43:59,297.297 INFO    ] Checking for system updates...
[2026-08-29 01:43:59,318.318 INFO    ] 200
[2026-08-29 01:43:59,319.319 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:43:59,349.349 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:43:59,350.350 INFO    ] No update needed
[2026-08-29 01:43:59,351.351 INFO    ] Checking for camera pi updates...
[2026-08-29 01:43:59,370.370 INFO    ] 200
[2026-08-29 01:43:59,372.372 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:43:59,394.394 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:43:59,477.477 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:43:59,479.479 INFO    ] No camera update needed
[2026-08-29 01:43:59,480.480 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:43:59,481.481 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:43:59,484.484 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:43:59,487.487 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:44:01,528.528 INFO    ] ================================================
[2026-08-29 01:44:01,557.557 INFO    ] Launching Daemon at Sat Aug 29 01:44:01 IST 2026
[2026-08-29 01:44:01,572.572 INFO    ] ================================================
[2026-08-29 01:44:02,224.224 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:44:02
[2026-08-29 01:44:02,908.908 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:44:03,228.228 INFO    ] Initializing speech engine...
[2026-08-29 01:44:03,236.236 INFO    ] 2026-08-29 01:44:03
[2026-08-29 01:44:03,501.501 INFO    ] 2026-08-29 01:44:03
[2026-08-29 01:44:03,554.554 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:44:03,699.699 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:44:03,711.711 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:44:03,850.850 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:44:03,859.859 INFO    ] time= 29/08/2026 01:44:03
[2026-08-29 01:44:03,865.865 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:44:03,890.890 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:44:04,023.023 INFO    ] No existing commands found in stream
[2026-08-29 01:44:09,048.048 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:44:09,050.050 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-08-29 01:44:13,015.015 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:44:13,016.016 INFO    ] Checking for system updates...
[2026-08-29 01:44:13,037.037 INFO    ] 200
[2026-08-29 01:44:13,038.038 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:44:13,067.067 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:44:13,069.069 INFO    ] No update needed
[2026-08-29 01:44:13,070.070 INFO    ] Checking for camera pi updates...
[2026-08-29 01:44:13,090.090 INFO    ] 200
[2026-08-29 01:44:13,091.091 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:44:13,114.114 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:44:13,234.234 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:44:13,235.235 INFO    ] No camera update needed
[2026-08-29 01:44:13,237.237 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:44:13,238.238 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:44:13,241.241 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:44:13,244.244 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:44:15,282.282 INFO    ] ================================================
[2026-08-29 01:44:15,297.297 INFO    ] Launching Daemon at Sat Aug 29 01:44:15 IST 2026
[2026-08-29 01:44:15,308.308 INFO    ] ================================================
[2026-08-29 01:44:15,649.649 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:44:15
[2026-08-29 01:44:15,960.960 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:44:16,090.090 INFO    ] Initializing speech engine...
[2026-08-29 01:44:16,095.095 INFO    ] 2026-08-29 01:44:16
[2026-08-29 01:44:16,324.324 INFO    ] 2026-08-29 01:44:16
[2026-08-29 01:44:16,354.354 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:44:16,485.485 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:44:16,544.544 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:44:16,695.695 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:44:16,730.730 INFO    ] time= 29/08/2026 01:44:16
[2026-08-29 01:44:16,778.778 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:44:16,802.802 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:44:16,878.878 INFO    ] No existing commands found in stream
[2026-08-29 01:44:21,887.887 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:44:21,889.889 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-08-29 01:44:24,613.613 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:44:24,615.615 INFO    ] Checking for system updates...
[2026-08-29 01:44:24,635.635 INFO    ] 200
[2026-08-29 01:44:24,636.636 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:44:24,668.668 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:44:24,669.669 INFO    ] No update needed
[2026-08-29 01:44:24,670.670 INFO    ] Checking for camera pi updates...
[2026-08-29 01:44:24,691.691 INFO    ] 200
[2026-08-29 01:44:24,692.692 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:44:24,715.715 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:44:24,795.795 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:44:24,796.796 INFO    ] No camera update needed
[2026-08-29 01:44:24,797.797 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:44:24,799.799 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:44:24,801.801 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:44:24,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:44:26,843.843 INFO    ] ================================================
[2026-08-29 01:44:26,858.858 INFO    ] Launching Daemon at Sat Aug 29 01:44:26 IST 2026
[2026-08-29 01:44:26,869.869 INFO    ] ================================================
[2026-08-29 01:44:27,378.378 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:44:27
[2026-08-29 01:44:27,977.977 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:44:28,254.254 INFO    ] Initializing speech engine...
[2026-08-29 01:44:28,260.260 INFO    ] 2026-08-29 01:44:28
[2026-08-29 01:44:28,520.520 INFO    ] 2026-08-29 01:44:28
[2026-08-29 01:44:28,580.580 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:44:28,740.740 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:44:28,755.755 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:44:28,876.876 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:44:28,883.883 INFO    ] time= 29/08/2026 01:44:28
[2026-08-29 01:44:28,889.889 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:44:28,908.908 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:44:29,011.011 INFO    ] No existing commands found in stream
[2026-08-29 01:44:34,023.023 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:44:34,026.026 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-08-29 01:44:37,290.290 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:44:37,292.292 INFO    ] Checking for system updates...
[2026-08-29 01:44:37,312.312 INFO    ] 200
[2026-08-29 01:44:37,314.314 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:44:37,344.344 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:44:37,345.345 INFO    ] No update needed
[2026-08-29 01:44:37,346.346 INFO    ] Checking for camera pi updates...
[2026-08-29 01:44:37,366.366 INFO    ] 200
[2026-08-29 01:44:37,367.367 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:44:37,391.391 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:44:37,469.469 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:44:37,470.470 INFO    ] No camera update needed
[2026-08-29 01:44:37,471.471 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:44:37,473.473 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:44:37,476.476 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:44:37,478.478 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:44:39,518.518 INFO    ] ================================================
[2026-08-29 01:44:39,533.533 INFO    ] Launching Daemon at Sat Aug 29 01:44:39 IST 2026
[2026-08-29 01:44:39,544.544 INFO    ] ================================================
[2026-08-29 01:44:39,873.873 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:44:39
[2026-08-29 01:44:40,186.186 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:44:40,329.329 INFO    ] Initializing speech engine...
[2026-08-29 01:44:40,334.334 INFO    ] 2026-08-29 01:44:40
[2026-08-29 01:44:40,541.541 INFO    ] 2026-08-29 01:44:40
[2026-08-29 01:44:40,569.569 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:44:40,694.694 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:44:40,752.752 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:44:40,896.896 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:44:40,963.963 INFO    ] time= 29/08/2026 01:44:40
[2026-08-29 01:44:40,987.987 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:44:40,989.989 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:44:41,061.061 INFO    ] No existing commands found in stream
[2026-08-29 01:44:46,066.066 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:44:46,069.069 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-08-29 01:44:46,951.951 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:44:46,953.953 INFO    ] Checking for system updates...
[2026-08-29 01:44:46,973.973 INFO    ] 200
[2026-08-29 01:44:46,975.975 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:44:47,004.004 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:44:47,006.006 INFO    ] No update needed
[2026-08-29 01:44:47,007.007 INFO    ] Checking for camera pi updates...
[2026-08-29 01:44:47,028.028 INFO    ] 200
[2026-08-29 01:44:47,030.030 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:44:47,054.054 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:44:47,133.133 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:44:47,136.136 INFO    ] No camera update needed
[2026-08-29 01:44:47,138.138 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:44:47,140.140 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:44:47,146.146 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:44:47,150.150 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:44:49,193.193 INFO    ] ================================================
[2026-08-29 01:44:49,208.208 INFO    ] Launching Daemon at Sat Aug 29 01:44:49 IST 2026
[2026-08-29 01:44:49,218.218 INFO    ] ================================================
[2026-08-29 01:44:49,808.808 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:44:49
[2026-08-29 01:44:50,319.319 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:44:50,595.595 INFO    ] Initializing speech engine...
[2026-08-29 01:44:50,603.603 INFO    ] 2026-08-29 01:44:50
[2026-08-29 01:44:50,850.850 INFO    ] 2026-08-29 01:44:50
[2026-08-29 01:44:50,886.886 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:44:51,040.040 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:44:51,060.060 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:44:51,178.178 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:44:51,187.187 INFO    ] time= 29/08/2026 01:44:51
[2026-08-29 01:44:51,205.205 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:44:51,228.228 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:44:51,299.299 INFO    ] No existing commands found in stream
[2026-08-29 01:44:56,324.324 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:44:56,327.327 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-08-29 01:44:58,682.682 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:44:58,684.684 INFO    ] Checking for system updates...
[2026-08-29 01:44:58,705.705 INFO    ] 200
[2026-08-29 01:44:58,707.707 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:44:58,736.736 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:44:58,738.738 INFO    ] No update needed
[2026-08-29 01:44:58,739.739 INFO    ] Checking for camera pi updates...
[2026-08-29 01:44:58,759.759 INFO    ] 200
[2026-08-29 01:44:58,760.760 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:44:58,785.785 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:44:58,859.859 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:44:58,860.860 INFO    ] No camera update needed
[2026-08-29 01:44:58,861.861 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:44:58,863.863 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:44:58,866.866 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:44:58,868.868 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:45:00,907.907 INFO    ] ================================================
[2026-08-29 01:45:00,922.922 INFO    ] Launching Daemon at Sat Aug 29 01:45:00 IST 2026
[2026-08-29 01:45:00,933.933 INFO    ] ================================================
[2026-08-29 01:45:01,964.964 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:45:01
[2026-08-29 01:45:02,773.773 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:45:03,145.145 INFO    ] Initializing speech engine...
[2026-08-29 01:45:03,151.151 INFO    ] 2026-08-29 01:45:03
[2026-08-29 01:45:03,434.434 INFO    ] 2026-08-29 01:45:03
[2026-08-29 01:45:03,501.501 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:45:03,722.722 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:45:03,731.731 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:45:03,864.864 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:45:03,885.885 INFO    ] time= 29/08/2026 01:45:03
[2026-08-29 01:45:03,945.945 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:45:03,997.997 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:45:04,049.049 INFO    ] No existing commands found in stream
[2026-08-29 01:45:09,061.061 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:45:09,064.064 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-08-29 01:45:11,077.077 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:45:11,080.080 INFO    ] Checking for system updates...
[2026-08-29 01:45:11,117.117 INFO    ] 200
[2026-08-29 01:45:11,120.120 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:45:11,179.179 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:45:11,181.181 INFO    ] No update needed
[2026-08-29 01:45:11,184.184 INFO    ] Checking for camera pi updates...
[2026-08-29 01:45:11,222.222 INFO    ] 200
[2026-08-29 01:45:11,225.225 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:45:11,266.266 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:45:11,322.322 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:45:11,324.324 INFO    ] No camera update needed
[2026-08-29 01:45:11,327.327 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:45:11,330.330 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:45:11,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:45:11,341.341 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:45:13,384.384 INFO    ] ================================================
[2026-08-29 01:45:13,399.399 INFO    ] Launching Daemon at Sat Aug 29 01:45:13 IST 2026
[2026-08-29 01:45:13,410.410 INFO    ] ================================================
[2026-08-29 01:45:13,949.949 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:45:13
[2026-08-29 01:45:14,544.544 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:45:14,801.801 INFO    ] Initializing speech engine...
[2026-08-29 01:45:14,808.808 INFO    ] 2026-08-29 01:45:14
[2026-08-29 01:45:15,102.102 INFO    ] 2026-08-29 01:45:15
[2026-08-29 01:45:15,137.137 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:45:15,286.286 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:45:15,300.300 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:45:15,443.443 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:45:15,460.460 INFO    ] time= 29/08/2026 01:45:15
[2026-08-29 01:45:15,465.465 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:45:15,488.488 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:45:15,547.547 INFO    ] No existing commands found in stream
[2026-08-29 01:45:20,558.558 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:45:20,561.561 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-08-29 01:45:22,841.841 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:45:22,844.844 INFO    ] Checking for system updates...
[2026-08-29 01:45:22,886.886 INFO    ] 200
[2026-08-29 01:45:22,888.888 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:45:22,954.954 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:45:22,957.957 INFO    ] No update needed
[2026-08-29 01:45:22,959.959 INFO    ] Checking for camera pi updates...
[2026-08-29 01:45:22,995.995 INFO    ] 200
[2026-08-29 01:45:22,996.996 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:45:23,019.019 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:45:23,095.095 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:45:23,096.096 INFO    ] No camera update needed
[2026-08-29 01:45:23,097.097 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:45:23,099.099 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:45:23,102.102 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:45:23,105.105 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:45:25,143.143 INFO    ] ================================================
[2026-08-29 01:45:25,158.158 INFO    ] Launching Daemon at Sat Aug 29 01:45:25 IST 2026
[2026-08-29 01:45:25,169.169 INFO    ] ================================================
[2026-08-29 01:45:25,741.741 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:45:25
[2026-08-29 01:45:26,345.345 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:45:26,606.606 INFO    ] Initializing speech engine...
[2026-08-29 01:45:26,621.621 INFO    ] 2026-08-29 01:45:26
[2026-08-29 01:45:26,885.885 INFO    ] 2026-08-29 01:45:26
[2026-08-29 01:45:26,921.921 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:45:27,090.090 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:45:27,096.096 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:45:27,209.209 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:45:27,215.215 INFO    ] time= 29/08/2026 01:45:27
[2026-08-29 01:45:27,220.220 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:45:27,243.243 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:45:27,292.292 INFO    ] No existing commands found in stream
[2026-08-29 01:45:32,305.305 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:45:32,308.308 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 01:45:33,319.319 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:45:33,321.321 INFO    ] Checking for system updates...
[2026-08-29 01:45:33,357.357 INFO    ] 200
[2026-08-29 01:45:33,359.359 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:45:33,412.412 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:45:33,414.414 INFO    ] No update needed
[2026-08-29 01:45:33,417.417 INFO    ] Checking for camera pi updates...
[2026-08-29 01:45:33,450.450 INFO    ] 200
[2026-08-29 01:45:33,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:45:33,495.495 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:45:33,594.594 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:45:33,597.597 INFO    ] No camera update needed
[2026-08-29 01:45:33,599.599 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:45:33,601.601 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:45:33,607.607 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:45:33,612.612 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:45:35,653.653 INFO    ] ================================================
[2026-08-29 01:45:35,669.669 INFO    ] Launching Daemon at Sat Aug 29 01:45:35 IST 2026
[2026-08-29 01:45:35,679.679 INFO    ] ================================================
[2026-08-29 01:45:36,006.006 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:45:36
[2026-08-29 01:45:36,318.318 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:45:36,450.450 INFO    ] Initializing speech engine...
[2026-08-29 01:45:36,463.463 INFO    ] 2026-08-29 01:45:36
[2026-08-29 01:45:36,682.682 INFO    ] 2026-08-29 01:45:36
[2026-08-29 01:45:36,720.720 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:45:36,918.918 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:45:36,924.924 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:45:37,055.055 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:45:37,063.063 INFO    ] time= 29/08/2026 01:45:37
[2026-08-29 01:45:37,068.068 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:45:37,083.083 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:45:37,192.192 INFO    ] No existing commands found in stream
[2026-08-29 01:45:42,202.202 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:45:42,205.205 INFO    ] Waiting 3.84 seconds before fallback handling...
[2026-08-29 01:45:46,393.393 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:45:46,395.395 INFO    ] Checking for system updates...
[2026-08-29 01:45:46,415.415 INFO    ] 200
[2026-08-29 01:45:46,416.416 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:45:46,446.446 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:45:46,447.447 INFO    ] No update needed
[2026-08-29 01:45:46,448.448 INFO    ] Checking for camera pi updates...
[2026-08-29 01:45:46,469.469 INFO    ] 200
[2026-08-29 01:45:46,470.470 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:45:46,495.495 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:45:46,700.700 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:45:46,703.703 INFO    ] No camera update needed
[2026-08-29 01:45:46,705.705 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:45:46,708.708 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:45:46,713.713 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:45:46,718.718 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:45:48,760.760 INFO    ] ================================================
[2026-08-29 01:45:48,776.776 INFO    ] Launching Daemon at Sat Aug 29 01:45:48 IST 2026
[2026-08-29 01:45:48,787.787 INFO    ] ================================================
[2026-08-29 01:45:49,360.360 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:45:49
[2026-08-29 01:45:49,792.792 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:45:49,936.936 INFO    ] Initializing speech engine...
[2026-08-29 01:45:49,939.939 INFO    ] 2026-08-29 01:45:49
[2026-08-29 01:45:50,141.141 INFO    ] 2026-08-29 01:45:50
[2026-08-29 01:45:50,169.169 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:45:50,348.348 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:45:50,390.390 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:45:50,532.532 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:45:50,540.540 INFO    ] time= 29/08/2026 01:45:50
[2026-08-29 01:45:50,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:45:50,636.636 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:45:50,739.739 INFO    ] No existing commands found in stream
[2026-08-29 01:45:55,758.758 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:45:55,761.761 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-08-29 01:45:57,322.322 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:45:57,324.324 INFO    ] Checking for system updates...
[2026-08-29 01:45:57,344.344 INFO    ] 200
[2026-08-29 01:45:57,346.346 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:45:57,376.376 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:45:57,377.377 INFO    ] No update needed
[2026-08-29 01:45:57,379.379 INFO    ] Checking for camera pi updates...
[2026-08-29 01:45:57,398.398 INFO    ] 200
[2026-08-29 01:45:57,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:45:57,424.424 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:45:57,504.504 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:45:57,506.506 INFO    ] No camera update needed
[2026-08-29 01:45:57,507.507 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:45:57,508.508 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:45:57,511.511 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:45:57,515.515 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:45:59,556.556 INFO    ] ================================================
[2026-08-29 01:45:59,572.572 INFO    ] Launching Daemon at Sat Aug 29 01:45:59 IST 2026
[2026-08-29 01:45:59,584.584 INFO    ] ================================================
[2026-08-29 01:46:00,091.091 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:46:00
[2026-08-29 01:46:00,676.676 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:46:00,928.928 INFO    ] Initializing speech engine...
[2026-08-29 01:46:00,941.941 INFO    ] 2026-08-29 01:46:00
[2026-08-29 01:46:01,208.208 INFO    ] 2026-08-29 01:46:01
[2026-08-29 01:46:01,243.243 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:46:01,420.420 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:46:01,434.434 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:46:01,573.573 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:46:01,601.601 INFO    ] time= 29/08/2026 01:46:01
[2026-08-29 01:46:01,633.633 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:46:01,700.700 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:46:01,763.763 INFO    ] No existing commands found in stream
[2026-08-29 01:46:06,773.773 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:46:06,776.776 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-08-29 01:46:07,501.501 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:46:07,502.502 INFO    ] Checking for system updates...
[2026-08-29 01:46:07,524.524 INFO    ] 200
[2026-08-29 01:46:07,525.525 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:46:07,555.555 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:46:07,556.556 INFO    ] No update needed
[2026-08-29 01:46:07,557.557 INFO    ] Checking for camera pi updates...
[2026-08-29 01:46:07,579.579 INFO    ] 200
[2026-08-29 01:46:07,581.581 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:46:07,621.621 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:46:07,705.705 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:46:07,707.707 INFO    ] No camera update needed
[2026-08-29 01:46:07,710.710 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:46:07,713.713 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:46:07,719.719 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:46:07,724.724 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:46:09,766.766 INFO    ] ================================================
[2026-08-29 01:46:09,782.782 INFO    ] Launching Daemon at Sat Aug 29 01:46:09 IST 2026
[2026-08-29 01:46:09,793.793 INFO    ] ================================================
[2026-08-29 01:46:10,361.361 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:46:10
[2026-08-29 01:46:10,835.835 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:46:10,966.966 INFO    ] Initializing speech engine...
[2026-08-29 01:46:10,969.969 INFO    ] 2026-08-29 01:46:10
[2026-08-29 01:46:11,165.165 INFO    ] 2026-08-29 01:46:11
[2026-08-29 01:46:11,205.205 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:46:11,361.361 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:46:11,424.424 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:46:11,568.568 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:46:11,604.604 INFO    ] time= 29/08/2026 01:46:11
[2026-08-29 01:46:11,652.652 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:46:11,676.676 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:46:11,751.751 INFO    ] No existing commands found in stream
[2026-08-29 01:46:16,762.762 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:46:16,765.765 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-08-29 01:46:19,121.121 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:46:19,122.122 INFO    ] Checking for system updates...
[2026-08-29 01:46:19,142.142 INFO    ] 200
[2026-08-29 01:46:19,144.144 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:46:19,175.175 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:46:19,177.177 INFO    ] No update needed
[2026-08-29 01:46:19,178.178 INFO    ] Checking for camera pi updates...
[2026-08-29 01:46:19,197.197 INFO    ] 200
[2026-08-29 01:46:19,199.199 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:46:19,225.225 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:46:19,320.320 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:46:19,322.322 INFO    ] No camera update needed
[2026-08-29 01:46:19,325.325 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:46:19,327.327 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:46:19,332.332 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:46:19,337.337 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:46:21,379.379 INFO    ] ================================================
[2026-08-29 01:46:21,394.394 INFO    ] Launching Daemon at Sat Aug 29 01:46:21 IST 2026
[2026-08-29 01:46:21,405.405 INFO    ] ================================================
[2026-08-29 01:46:21,974.974 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:46:21
[2026-08-29 01:46:22,486.486 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:46:22,719.719 INFO    ] Initializing speech engine...
[2026-08-29 01:46:22,727.727 INFO    ] 2026-08-29 01:46:22
[2026-08-29 01:46:22,999.999 INFO    ] 2026-08-29 01:46:22
[2026-08-29 01:46:23,034.034 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:46:23,213.213 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:46:23,230.230 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:46:23,358.358 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:46:23,366.366 INFO    ] time= 29/08/2026 01:46:23
[2026-08-29 01:46:23,373.373 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:46:23,419.419 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:46:23,542.542 INFO    ] No existing commands found in stream
[2026-08-29 01:46:28,572.572 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:46:28,575.575 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-08-29 01:46:29,042.042 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:46:29,043.043 INFO    ] Checking for system updates...
[2026-08-29 01:46:29,063.063 INFO    ] 200
[2026-08-29 01:46:29,065.065 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:46:29,095.095 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:46:29,096.096 INFO    ] No update needed
[2026-08-29 01:46:29,097.097 INFO    ] Checking for camera pi updates...
[2026-08-29 01:46:29,117.117 INFO    ] 200
[2026-08-29 01:46:29,118.118 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:46:29,142.142 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:46:29,220.220 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:46:29,221.221 INFO    ] No camera update needed
[2026-08-29 01:46:29,222.222 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:46:29,224.224 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:46:29,226.226 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:46:29,229.229 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:46:31,261.261 INFO    ] ================================================
[2026-08-29 01:46:31,277.277 INFO    ] Launching Daemon at Sat Aug 29 01:46:31 IST 2026
[2026-08-29 01:46:31,288.288 INFO    ] ================================================
[2026-08-29 01:46:31,877.877 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:46:31
[2026-08-29 01:46:32,494.494 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:46:32,761.761 INFO    ] Initializing speech engine...
[2026-08-29 01:46:32,785.785 INFO    ] 2026-08-29 01:46:32
[2026-08-29 01:46:33,050.050 INFO    ] 2026-08-29 01:46:33
[2026-08-29 01:46:33,092.092 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:46:33,254.254 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:46:33,276.276 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:46:33,432.432 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:46:33,441.441 INFO    ] time= 29/08/2026 01:46:33
[2026-08-29 01:46:33,445.445 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:46:33,451.451 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:46:33,515.515 INFO    ] No existing commands found in stream
[2026-08-29 01:46:38,527.527 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:46:38,530.530 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-08-29 01:46:42,260.260 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:46:42,261.261 INFO    ] Checking for system updates...
[2026-08-29 01:46:42,281.281 INFO    ] 200
[2026-08-29 01:46:42,283.283 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:46:42,315.315 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:46:42,316.316 INFO    ] No update needed
[2026-08-29 01:46:42,317.317 INFO    ] Checking for camera pi updates...
[2026-08-29 01:46:42,336.336 INFO    ] 200
[2026-08-29 01:46:42,338.338 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:46:42,365.365 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:46:42,454.454 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:46:42,455.455 INFO    ] No camera update needed
[2026-08-29 01:46:42,456.456 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:46:42,457.457 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:46:42,460.460 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:46:42,463.463 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:46:44,501.501 INFO    ] ================================================
[2026-08-29 01:46:44,516.516 INFO    ] Launching Daemon at Sat Aug 29 01:46:44 IST 2026
[2026-08-29 01:46:44,527.527 INFO    ] ================================================
[2026-08-29 01:46:44,888.888 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:46:44
[2026-08-29 01:46:45,203.203 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:46:45,391.391 INFO    ] Initializing speech engine...
[2026-08-29 01:46:45,405.405 INFO    ] 2026-08-29 01:46:45
[2026-08-29 01:46:45,661.661 INFO    ] 2026-08-29 01:46:45
[2026-08-29 01:46:45,697.697 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:46:45,894.894 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:46:45,935.935 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:46:46,092.092 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:46:46,113.113 INFO    ] time= 29/08/2026 01:46:46
[2026-08-29 01:46:46,173.173 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:46:46,225.225 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:46:46,295.295 INFO    ] No existing commands found in stream
[2026-08-29 01:46:51,331.331 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:46:51,334.334 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-08-29 01:46:55,164.164 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:46:55,165.165 INFO    ] Checking for system updates...
[2026-08-29 01:46:55,187.187 INFO    ] 200
[2026-08-29 01:46:55,188.188 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:46:55,218.218 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:46:55,219.219 INFO    ] No update needed
[2026-08-29 01:46:55,220.220 INFO    ] Checking for camera pi updates...
[2026-08-29 01:46:55,240.240 INFO    ] 200
[2026-08-29 01:46:55,241.241 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:46:55,266.266 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:46:55,346.346 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:46:55,347.347 INFO    ] No camera update needed
[2026-08-29 01:46:55,348.348 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:46:55,349.349 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:46:55,352.352 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:46:55,355.355 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:46:57,393.393 INFO    ] ================================================
[2026-08-29 01:46:57,409.409 INFO    ] Launching Daemon at Sat Aug 29 01:46:57 IST 2026
[2026-08-29 01:46:57,421.421 INFO    ] ================================================
[2026-08-29 01:46:57,804.804 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:46:57
[2026-08-29 01:46:58,141.141 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:46:58,292.292 INFO    ] Initializing speech engine...
[2026-08-29 01:46:58,298.298 INFO    ] 2026-08-29 01:46:58
[2026-08-29 01:46:58,523.523 INFO    ] 2026-08-29 01:46:58
[2026-08-29 01:46:58,620.620 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:46:58,777.777 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:46:58,787.787 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:46:58,908.908 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:46:58,910.910 INFO    ] time= 29/08/2026 01:46:58
[2026-08-29 01:46:58,930.930 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:46:58,941.941 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:46:59,062.062 INFO    ] No existing commands found in stream
[2026-08-29 01:47:04,074.074 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:47:04,077.077 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-08-29 01:47:07,367.367 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:47:07,370.370 INFO    ] Checking for system updates...
[2026-08-29 01:47:07,407.407 INFO    ] 200
[2026-08-29 01:47:07,410.410 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:47:07,470.470 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:47:07,474.474 INFO    ] No update needed
[2026-08-29 01:47:07,477.477 INFO    ] Checking for camera pi updates...
[2026-08-29 01:47:07,511.511 INFO    ] 200
[2026-08-29 01:47:07,514.514 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:47:07,560.560 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:47:07,658.658 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:47:07,660.660 INFO    ] No camera update needed
[2026-08-29 01:47:07,663.663 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:47:07,666.666 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:47:07,672.672 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:47:07,678.678 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:47:09,720.720 INFO    ] ================================================
[2026-08-29 01:47:09,743.743 INFO    ] Launching Daemon at Sat Aug 29 01:47:09 IST 2026
[2026-08-29 01:47:09,754.754 INFO    ] ================================================
[2026-08-29 01:47:10,349.349 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:47:10
[2026-08-29 01:47:11,018.018 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:47:11,320.320 INFO    ] Initializing speech engine...
[2026-08-29 01:47:11,329.329 INFO    ] 2026-08-29 01:47:11
[2026-08-29 01:47:11,594.594 INFO    ] 2026-08-29 01:47:11
[2026-08-29 01:47:11,647.647 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:47:11,871.871 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:47:11,880.880 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:47:12,014.014 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:47:12,048.048 INFO    ] time= 29/08/2026 01:47:12
[2026-08-29 01:47:12,107.107 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:47:12,144.144 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:47:12,207.207 INFO    ] No existing commands found in stream
[2026-08-29 01:47:17,238.238 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:47:17,241.241 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-08-29 01:47:18,027.027 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:47:18,028.028 INFO    ] Checking for system updates...
[2026-08-29 01:47:18,049.049 INFO    ] 200
[2026-08-29 01:47:18,051.051 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:47:18,081.081 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:47:18,082.082 INFO    ] No update needed
[2026-08-29 01:47:18,084.084 INFO    ] Checking for camera pi updates...
[2026-08-29 01:47:18,103.103 INFO    ] 200
[2026-08-29 01:47:18,104.104 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:47:18,128.128 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:47:18,204.204 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:47:18,206.206 INFO    ] No camera update needed
[2026-08-29 01:47:18,207.207 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:47:18,208.208 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:47:18,211.211 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:47:18,214.214 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:47:20,253.253 INFO    ] ================================================
[2026-08-29 01:47:20,269.269 INFO    ] Launching Daemon at Sat Aug 29 01:47:20 IST 2026
[2026-08-29 01:47:20,279.279 INFO    ] ================================================
[2026-08-29 01:47:20,633.633 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:47:20
[2026-08-29 01:47:21,088.088 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:47:21,354.354 INFO    ] Initializing speech engine...
[2026-08-29 01:47:21,372.372 INFO    ] 2026-08-29 01:47:21
[2026-08-29 01:47:21,623.623 INFO    ] 2026-08-29 01:47:21
[2026-08-29 01:47:21,687.687 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:47:21,911.911 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:47:21,920.920 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:47:22,051.051 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:47:22,099.099 INFO    ] time= 29/08/2026 01:47:22
[2026-08-29 01:47:22,153.153 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:47:22,184.184 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:47:22,255.255 INFO    ] No existing commands found in stream
[2026-08-29 01:47:27,291.291 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:47:27,294.294 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-08-29 01:47:31,374.374 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:47:31,375.375 INFO    ] Checking for system updates...
[2026-08-29 01:47:31,397.397 INFO    ] 200
[2026-08-29 01:47:31,398.398 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:47:31,429.429 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:47:31,430.430 INFO    ] No update needed
[2026-08-29 01:47:31,431.431 INFO    ] Checking for camera pi updates...
[2026-08-29 01:47:31,453.453 INFO    ] 200
[2026-08-29 01:47:31,454.454 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:47:31,478.478 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:47:31,538.538 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:47:31,540.540 INFO    ] No camera update needed
[2026-08-29 01:47:31,542.542 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:47:31,544.544 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:47:31,547.547 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:47:31,554.554 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:47:33,594.594 INFO    ] ================================================
[2026-08-29 01:47:33,609.609 INFO    ] Launching Daemon at Sat Aug 29 01:47:33 IST 2026
[2026-08-29 01:47:33,621.621 INFO    ] ================================================
[2026-08-29 01:47:34,263.263 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:47:34
[2026-08-29 01:47:34,829.829 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:47:35,133.133 INFO    ] Initializing speech engine...
[2026-08-29 01:47:35,144.144 INFO    ] 2026-08-29 01:47:35
[2026-08-29 01:47:35,455.455 INFO    ] 2026-08-29 01:47:35
[2026-08-29 01:47:35,538.538 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:47:35,692.692 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:47:35,699.699 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:47:35,833.833 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:47:35,888.888 INFO    ] time= 29/08/2026 01:47:35
[2026-08-29 01:47:35,943.943 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:47:35,966.966 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:47:36,017.017 INFO    ] No existing commands found in stream
[2026-08-29 01:47:41,030.030 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:47:41,033.033 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-08-29 01:47:43,587.587 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:47:43,588.588 INFO    ] Checking for system updates...
[2026-08-29 01:47:43,609.609 INFO    ] 200
[2026-08-29 01:47:43,610.610 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:47:43,654.654 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:47:43,656.656 INFO    ] No update needed
[2026-08-29 01:47:43,657.657 INFO    ] Checking for camera pi updates...
[2026-08-29 01:47:43,683.683 INFO    ] 200
[2026-08-29 01:47:43,685.685 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:47:43,725.725 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:47:43,816.816 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:47:43,818.818 INFO    ] No camera update needed
[2026-08-29 01:47:43,821.821 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:47:43,823.823 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:47:43,828.828 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:47:43,833.833 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:47:45,874.874 INFO    ] ================================================
[2026-08-29 01:47:45,890.890 INFO    ] Launching Daemon at Sat Aug 29 01:47:45 IST 2026
[2026-08-29 01:47:45,900.900 INFO    ] ================================================
[2026-08-29 01:47:46,468.468 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:47:46
[2026-08-29 01:47:46,946.946 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:47:47,137.137 INFO    ] Initializing speech engine...
[2026-08-29 01:47:47,153.153 INFO    ] 2026-08-29 01:47:47
[2026-08-29 01:47:47,439.439 INFO    ] 2026-08-29 01:47:47
[2026-08-29 01:47:47,475.475 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:47:47,623.623 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:47:47,631.631 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:47:47,785.785 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:47:47,792.792 INFO    ] time= 29/08/2026 01:47:47
[2026-08-29 01:47:47,797.797 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:47:47,802.802 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:47:47,873.873 INFO    ] No existing commands found in stream
[2026-08-29 01:47:52,885.885 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:47:52,887.887 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-08-29 01:47:56,324.324 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:47:56,326.326 INFO    ] Checking for system updates...
[2026-08-29 01:47:56,347.347 INFO    ] 200
[2026-08-29 01:47:56,348.348 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:47:56,378.378 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:47:56,379.379 INFO    ] No update needed
[2026-08-29 01:47:56,380.380 INFO    ] Checking for camera pi updates...
[2026-08-29 01:47:56,401.401 INFO    ] 200
[2026-08-29 01:47:56,403.403 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:47:56,426.426 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:47:56,602.602 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:47:56,603.603 INFO    ] No camera update needed
[2026-08-29 01:47:56,604.604 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:47:56,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:47:56,608.608 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:47:56,611.611 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:47:58,651.651 INFO    ] ================================================
[2026-08-29 01:47:58,666.666 INFO    ] Launching Daemon at Sat Aug 29 01:47:58 IST 2026
[2026-08-29 01:47:58,678.678 INFO    ] ================================================
[2026-08-29 01:47:59,039.039 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:47:59
[2026-08-29 01:47:59,563.563 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:47:59,847.847 INFO    ] Initializing speech engine...
[2026-08-29 01:47:59,855.855 INFO    ] 2026-08-29 01:47:59
[2026-08-29 01:48:00,112.112 INFO    ] 2026-08-29 01:48:00
[2026-08-29 01:48:00,168.168 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:48:00,337.337 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:48:00,339.339 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:48:00,488.488 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:48:00,496.496 INFO    ] time= 29/08/2026 01:48:00
[2026-08-29 01:48:00,504.504 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:48:00,557.557 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:48:00,672.672 INFO    ] No existing commands found in stream
[2026-08-29 01:48:05,693.693 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:48:05,695.695 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-08-29 01:48:07,013.013 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:48:07,015.015 INFO    ] Checking for system updates...
[2026-08-29 01:48:07,055.055 INFO    ] 200
[2026-08-29 01:48:07,058.058 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:48:07,110.110 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:48:07,112.112 INFO    ] No update needed
[2026-08-29 01:48:07,115.115 INFO    ] Checking for camera pi updates...
[2026-08-29 01:48:07,148.148 INFO    ] 200
[2026-08-29 01:48:07,151.151 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:48:07,191.191 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:48:07,287.287 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:48:07,289.289 INFO    ] No camera update needed
[2026-08-29 01:48:07,291.291 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:48:07,294.294 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:48:07,299.299 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:48:07,304.304 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:48:09,345.345 INFO    ] ================================================
[2026-08-29 01:48:09,360.360 INFO    ] Launching Daemon at Sat Aug 29 01:48:09 IST 2026
[2026-08-29 01:48:09,371.371 INFO    ] ================================================
[2026-08-29 01:48:09,925.925 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:48:09
[2026-08-29 01:48:10,592.592 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:48:10,850.850 INFO    ] Initializing speech engine...
[2026-08-29 01:48:10,859.859 INFO    ] 2026-08-29 01:48:10
[2026-08-29 01:48:11,153.153 INFO    ] 2026-08-29 01:48:11
[2026-08-29 01:48:11,192.192 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:48:11,383.383 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:48:11,390.390 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:48:11,523.523 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:48:11,530.530 INFO    ] time= 29/08/2026 01:48:11
[2026-08-29 01:48:11,549.549 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:48:11,564.564 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:48:11,653.653 INFO    ] No existing commands found in stream
[2026-08-29 01:48:16,666.666 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:48:16,669.669 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-08-29 01:48:18,527.527 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:48:18,529.529 INFO    ] Checking for system updates...
[2026-08-29 01:48:18,550.550 INFO    ] 200
[2026-08-29 01:48:18,552.552 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:48:18,584.584 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:48:18,585.585 INFO    ] No update needed
[2026-08-29 01:48:18,587.587 INFO    ] Checking for camera pi updates...
[2026-08-29 01:48:18,606.606 INFO    ] 200
[2026-08-29 01:48:18,607.607 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:48:18,632.632 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:48:18,710.710 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:48:18,712.712 INFO    ] No camera update needed
[2026-08-29 01:48:18,713.713 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:48:18,714.714 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:48:18,717.717 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:48:18,720.720 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:48:20,758.758 INFO    ] ================================================
[2026-08-29 01:48:20,774.774 INFO    ] Launching Daemon at Sat Aug 29 01:48:20 IST 2026
[2026-08-29 01:48:20,785.785 INFO    ] ================================================
[2026-08-29 01:48:21,151.151 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:48:21
[2026-08-29 01:48:21,486.486 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:48:21,634.634 INFO    ] Initializing speech engine...
[2026-08-29 01:48:21,644.644 INFO    ] 2026-08-29 01:48:21
[2026-08-29 01:48:21,852.852 INFO    ] 2026-08-29 01:48:21
[2026-08-29 01:48:21,881.881 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:48:22,018.018 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:48:22,076.076 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:48:22,228.228 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:48:22,291.291 INFO    ] time= 29/08/2026 01:48:22
[2026-08-29 01:48:22,329.329 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:48:22,332.332 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:48:22,407.407 INFO    ] No existing commands found in stream
[2026-08-29 01:48:27,417.417 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:48:27,420.420 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-08-29 01:48:28,396.396 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:48:28,397.397 INFO    ] Checking for system updates...
[2026-08-29 01:48:28,418.418 INFO    ] 200
[2026-08-29 01:48:28,419.419 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:48:28,453.453 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:48:28,454.454 INFO    ] No update needed
[2026-08-29 01:48:28,456.456 INFO    ] Checking for camera pi updates...
[2026-08-29 01:48:28,476.476 INFO    ] 200
[2026-08-29 01:48:28,477.477 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:48:28,500.500 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:48:28,575.575 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:48:28,577.577 INFO    ] No camera update needed
[2026-08-29 01:48:28,578.578 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:48:28,579.579 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:48:28,582.582 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:48:28,585.585 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:48:30,624.624 INFO    ] ================================================
[2026-08-29 01:48:30,639.639 INFO    ] Launching Daemon at Sat Aug 29 01:48:30 IST 2026
[2026-08-29 01:48:30,650.650 INFO    ] ================================================
[2026-08-29 01:48:31,140.140 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:48:31
[2026-08-29 01:48:31,756.756 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:48:32,025.025 INFO    ] Initializing speech engine...
[2026-08-29 01:48:32,032.032 INFO    ] 2026-08-29 01:48:32
[2026-08-29 01:48:32,322.322 INFO    ] 2026-08-29 01:48:32
[2026-08-29 01:48:32,358.358 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:48:32,563.563 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:48:32,611.611 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:48:32,778.778 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:48:32,820.820 INFO    ] time= 29/08/2026 01:48:32
[2026-08-29 01:48:32,874.874 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:48:32,912.912 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:48:32,970.970 INFO    ] No existing commands found in stream
[2026-08-29 01:48:37,982.982 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:48:37,985.985 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-08-29 01:48:40,387.387 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:48:40,388.388 INFO    ] Checking for system updates...
[2026-08-29 01:48:40,409.409 INFO    ] 200
[2026-08-29 01:48:40,410.410 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:48:40,444.444 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:48:40,445.445 INFO    ] No update needed
[2026-08-29 01:48:40,446.446 INFO    ] Checking for camera pi updates...
[2026-08-29 01:48:40,466.466 INFO    ] 200
[2026-08-29 01:48:40,468.468 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:48:40,490.490 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:48:40,566.566 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:48:40,567.567 INFO    ] No camera update needed
[2026-08-29 01:48:40,568.568 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:48:40,569.569 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:48:40,573.573 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:48:40,575.575 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:48:42,613.613 INFO    ] ================================================
[2026-08-29 01:48:42,628.628 INFO    ] Launching Daemon at Sat Aug 29 01:48:42 IST 2026
[2026-08-29 01:48:42,638.638 INFO    ] ================================================
[2026-08-29 01:48:42,993.993 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:48:42
[2026-08-29 01:48:43,324.324 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:48:43,598.598 INFO    ] Initializing speech engine...
[2026-08-29 01:48:43,608.608 INFO    ] 2026-08-29 01:48:43
[2026-08-29 01:48:43,857.857 INFO    ] 2026-08-29 01:48:43
[2026-08-29 01:48:43,893.893 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:48:44,072.072 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:48:44,084.084 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:48:44,230.230 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:48:44,239.239 INFO    ] time= 29/08/2026 01:48:44
[2026-08-29 01:48:44,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:48:44,294.294 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:48:44,420.420 INFO    ] No existing commands found in stream
[2026-08-29 01:48:49,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:48:49,455.455 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-08-29 01:48:52,549.549 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:48:52,550.550 INFO    ] Checking for system updates...
[2026-08-29 01:48:52,572.572 INFO    ] 200
[2026-08-29 01:48:52,573.573 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:48:52,605.605 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:48:52,607.607 INFO    ] No update needed
[2026-08-29 01:48:52,608.608 INFO    ] Checking for camera pi updates...
[2026-08-29 01:48:52,628.628 INFO    ] 200
[2026-08-29 01:48:52,629.629 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:48:52,653.653 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:48:52,733.733 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:48:52,735.735 INFO    ] No camera update needed
[2026-08-29 01:48:52,738.738 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:48:52,740.740 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:48:52,745.745 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:48:52,750.750 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:48:54,790.790 INFO    ] ================================================
[2026-08-29 01:48:54,805.805 INFO    ] Launching Daemon at Sat Aug 29 01:48:54 IST 2026
[2026-08-29 01:48:54,816.816 INFO    ] ================================================
[2026-08-29 01:48:55,385.385 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:48:55
[2026-08-29 01:48:55,895.895 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:48:56,140.140 INFO    ] Initializing speech engine...
[2026-08-29 01:48:56,147.147 INFO    ] 2026-08-29 01:48:56
[2026-08-29 01:48:56,442.442 INFO    ] 2026-08-29 01:48:56
[2026-08-29 01:48:56,480.480 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:48:56,660.660 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:48:56,678.678 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:48:56,790.790 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:48:56,796.796 INFO    ] time= 29/08/2026 01:48:56
[2026-08-29 01:48:56,818.818 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:48:56,825.825 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:48:56,874.874 INFO    ] No existing commands found in stream
[2026-08-29 01:49:01,884.884 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:49:01,888.888 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 01:49:04,547.547 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:49:04,548.548 INFO    ] Checking for system updates...
[2026-08-29 01:49:04,570.570 INFO    ] 200
[2026-08-29 01:49:04,571.571 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:49:04,603.603 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:49:04,604.604 INFO    ] No update needed
[2026-08-29 01:49:04,605.605 INFO    ] Checking for camera pi updates...
[2026-08-29 01:49:04,624.624 INFO    ] 200
[2026-08-29 01:49:04,625.625 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:49:04,649.649 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:49:04,733.733 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:49:04,736.736 INFO    ] No camera update needed
[2026-08-29 01:49:04,738.738 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:49:04,740.740 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:49:04,745.745 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:49:04,750.750 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:49:06,792.792 INFO    ] ================================================
[2026-08-29 01:49:06,807.807 INFO    ] Launching Daemon at Sat Aug 29 01:49:06 IST 2026
[2026-08-29 01:49:06,818.818 INFO    ] ================================================
[2026-08-29 01:49:07,403.403 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:49:07
[2026-08-29 01:49:07,915.915 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:49:08,054.054 INFO    ] Initializing speech engine...
[2026-08-29 01:49:08,062.062 INFO    ] 2026-08-29 01:49:08
[2026-08-29 01:49:08,270.270 INFO    ] 2026-08-29 01:49:08
[2026-08-29 01:49:08,299.299 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:49:08,421.421 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:49:08,465.465 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:49:08,625.625 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:49:08,688.688 INFO    ] time= 29/08/2026 01:49:08
[2026-08-29 01:49:08,742.742 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:49:08,775.775 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:49:08,829.829 INFO    ] No existing commands found in stream
[2026-08-29 01:49:13,839.839 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:49:13,841.841 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 01:49:15,262.262 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:49:15,264.264 INFO    ] Checking for system updates...
[2026-08-29 01:49:15,285.285 INFO    ] 200
[2026-08-29 01:49:15,287.287 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:49:15,318.318 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:49:15,320.320 INFO    ] No update needed
[2026-08-29 01:49:15,321.321 INFO    ] Checking for camera pi updates...
[2026-08-29 01:49:15,340.340 INFO    ] 200
[2026-08-29 01:49:15,342.342 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:49:15,366.366 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:49:15,445.445 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:49:15,446.446 INFO    ] No camera update needed
[2026-08-29 01:49:15,447.447 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:49:15,449.449 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:49:15,452.452 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:49:15,454.454 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:49:17,494.494 INFO    ] ================================================
[2026-08-29 01:49:17,510.510 INFO    ] Launching Daemon at Sat Aug 29 01:49:17 IST 2026
[2026-08-29 01:49:17,520.520 INFO    ] ================================================
[2026-08-29 01:49:17,851.851 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:49:17
[2026-08-29 01:49:18,163.163 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:49:18,384.384 INFO    ] Initializing speech engine...
[2026-08-29 01:49:18,399.399 INFO    ] 2026-08-29 01:49:18
[2026-08-29 01:49:18,666.666 INFO    ] 2026-08-29 01:49:18
[2026-08-29 01:49:18,704.704 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:49:18,880.880 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:49:18,893.893 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:49:19,001.001 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:49:19,008.008 INFO    ] time= 29/08/2026 01:49:19
[2026-08-29 01:49:19,013.013 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:49:19,031.031 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:49:19,122.122 INFO    ] No existing commands found in stream
[2026-08-29 01:49:24,134.134 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:49:24,137.137 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 01:49:25,703.703 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:49:25,704.704 INFO    ] Checking for system updates...
[2026-08-29 01:49:25,726.726 INFO    ] 200
[2026-08-29 01:49:25,727.727 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:49:25,759.759 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:49:25,761.761 INFO    ] No update needed
[2026-08-29 01:49:25,762.762 INFO    ] Checking for camera pi updates...
[2026-08-29 01:49:25,781.781 INFO    ] 200
[2026-08-29 01:49:25,783.783 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:49:25,807.807 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:49:25,877.877 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:49:25,878.878 INFO    ] No camera update needed
[2026-08-29 01:49:25,879.879 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:49:25,881.881 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:49:25,884.884 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:49:25,886.886 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:49:27,926.926 INFO    ] ================================================
[2026-08-29 01:49:27,942.942 INFO    ] Launching Daemon at Sat Aug 29 01:49:27 IST 2026
[2026-08-29 01:49:27,953.953 INFO    ] ================================================
[2026-08-29 01:49:28,299.299 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:49:28
[2026-08-29 01:49:28,634.634 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:49:28,785.785 INFO    ] Initializing speech engine...
[2026-08-29 01:49:28,791.791 INFO    ] 2026-08-29 01:49:28
[2026-08-29 01:49:28,999.999 INFO    ] 2026-08-29 01:49:28
[2026-08-29 01:49:29,027.027 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:49:29,208.208 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:49:29,215.215 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:49:29,360.360 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:49:29,391.391 INFO    ] time= 29/08/2026 01:49:29
[2026-08-29 01:49:29,399.399 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:49:29,408.408 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:49:29,508.508 INFO    ] No existing commands found in stream
[2026-08-29 01:49:34,533.533 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:49:34,536.536 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-08-29 01:49:37,385.385 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:49:37,387.387 INFO    ] Checking for system updates...
[2026-08-29 01:49:37,409.409 INFO    ] 200
[2026-08-29 01:49:37,410.410 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:49:37,445.445 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:49:37,446.446 INFO    ] No update needed
[2026-08-29 01:49:37,448.448 INFO    ] Checking for camera pi updates...
[2026-08-29 01:49:37,469.469 INFO    ] 200
[2026-08-29 01:49:37,470.470 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:49:37,495.495 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:49:37,591.591 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:49:37,592.592 INFO    ] No camera update needed
[2026-08-29 01:49:37,594.594 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:49:37,595.595 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:49:37,598.598 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:49:37,601.601 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:49:39,640.640 INFO    ] ================================================
[2026-08-29 01:49:39,655.655 INFO    ] Launching Daemon at Sat Aug 29 01:49:39 IST 2026
[2026-08-29 01:49:39,666.666 INFO    ] ================================================
[2026-08-29 01:49:40,050.050 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:49:40
[2026-08-29 01:49:40,389.389 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:49:40,543.543 INFO    ] Initializing speech engine...
[2026-08-29 01:49:40,547.547 INFO    ] 2026-08-29 01:49:40
[2026-08-29 01:49:40,760.760 INFO    ] 2026-08-29 01:49:40
[2026-08-29 01:49:40,842.842 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:49:40,995.995 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:49:41,005.005 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:49:41,141.141 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:49:41,168.168 INFO    ] time= 29/08/2026 01:49:41
[2026-08-29 01:49:41,233.233 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:49:41,278.278 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:49:41,332.332 INFO    ] No existing commands found in stream
[2026-08-29 01:49:46,346.346 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:49:46,349.349 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 01:49:46,816.816 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:49:46,818.818 INFO    ] Checking for system updates...
[2026-08-29 01:49:46,840.840 INFO    ] 200
[2026-08-29 01:49:46,842.842 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:49:46,872.872 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:49:46,874.874 INFO    ] No update needed
[2026-08-29 01:49:46,875.875 INFO    ] Checking for camera pi updates...
[2026-08-29 01:49:46,895.895 INFO    ] 200
[2026-08-29 01:49:46,897.897 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:49:46,921.921 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:49:47,000.000 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:49:47,003.003 INFO    ] No camera update needed
[2026-08-29 01:49:47,005.005 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:49:47,008.008 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:49:47,014.014 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:49:47,020.020 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:49:49,061.061 INFO    ] ================================================
[2026-08-29 01:49:49,076.076 INFO    ] Launching Daemon at Sat Aug 29 01:49:49 IST 2026
[2026-08-29 01:49:49,087.087 INFO    ] ================================================
[2026-08-29 01:49:49,669.669 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:49:49
[2026-08-29 01:49:50,177.177 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:49:50,315.315 INFO    ] Initializing speech engine...
[2026-08-29 01:49:50,326.326 INFO    ] 2026-08-29 01:49:50
[2026-08-29 01:49:50,533.533 INFO    ] 2026-08-29 01:49:50
[2026-08-29 01:49:50,593.593 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:49:50,741.741 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:49:50,747.747 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:49:50,878.878 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:49:50,931.931 INFO    ] time= 29/08/2026 01:49:50
[2026-08-29 01:49:50,990.990 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:49:51,012.012 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:49:51,066.066 INFO    ] No existing commands found in stream
[2026-08-29 01:49:56,078.078 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:49:56,081.081 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-08-29 01:49:57,678.678 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:49:57,679.679 INFO    ] Checking for system updates...
[2026-08-29 01:49:57,701.701 INFO    ] 200
[2026-08-29 01:49:57,702.702 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:49:57,736.736 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:49:57,737.737 INFO    ] No update needed
[2026-08-29 01:49:57,739.739 INFO    ] Checking for camera pi updates...
[2026-08-29 01:49:57,759.759 INFO    ] 200
[2026-08-29 01:49:57,760.760 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:49:57,785.785 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:49:57,864.864 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:49:57,865.865 INFO    ] No camera update needed
[2026-08-29 01:49:57,866.866 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:49:57,867.867 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:49:57,870.870 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:49:57,873.873 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:49:59,913.913 INFO    ] ================================================
[2026-08-29 01:49:59,928.928 INFO    ] Launching Daemon at Sat Aug 29 01:49:59 IST 2026
[2026-08-29 01:49:59,939.939 INFO    ] ================================================
[2026-08-29 01:50:00,298.298 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:50:00
[2026-08-29 01:50:00,611.611 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:50:00,829.829 INFO    ] Initializing speech engine...
[2026-08-29 01:50:00,854.854 INFO    ] 2026-08-29 01:50:00
[2026-08-29 01:50:01,127.127 INFO    ] 2026-08-29 01:50:01
[2026-08-29 01:50:01,165.165 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:50:01,362.362 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:50:01,369.369 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:50:01,480.480 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:50:01,504.504 INFO    ] time= 29/08/2026 01:50:01
[2026-08-29 01:50:01,510.510 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:50:01,517.517 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:50:01,606.606 INFO    ] No existing commands found in stream
[2026-08-29 01:50:06,626.626 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:50:06,629.629 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-08-29 01:50:08,710.710 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:50:08,713.713 INFO    ] Checking for system updates...
[2026-08-29 01:50:08,751.751 INFO    ] 200
[2026-08-29 01:50:08,754.754 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:50:08,819.819 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:50:08,822.822 INFO    ] No update needed
[2026-08-29 01:50:08,825.825 INFO    ] Checking for camera pi updates...
[2026-08-29 01:50:08,862.862 INFO    ] 200
[2026-08-29 01:50:08,865.865 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:50:08,907.907 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:50:09,087.087 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:50:09,090.090 INFO    ] No camera update needed
[2026-08-29 01:50:09,093.093 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:50:09,095.095 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:50:09,101.101 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:50:09,107.107 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:50:11,151.151 INFO    ] ================================================
[2026-08-29 01:50:11,168.168 INFO    ] Launching Daemon at Sat Aug 29 01:50:11 IST 2026
[2026-08-29 01:50:11,179.179 INFO    ] ================================================
[2026-08-29 01:50:11,774.774 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:50:11
[2026-08-29 01:50:12,320.320 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:50:12,614.614 INFO    ] Initializing speech engine...
[2026-08-29 01:50:12,623.623 INFO    ] 2026-08-29 01:50:12
[2026-08-29 01:50:12,873.873 INFO    ] 2026-08-29 01:50:12
[2026-08-29 01:50:12,908.908 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:50:13,085.085 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:50:13,097.097 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:50:13,240.240 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:50:13,247.247 INFO    ] time= 29/08/2026 01:50:13
[2026-08-29 01:50:13,251.251 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:50:13,258.258 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:50:13,326.326 INFO    ] No existing commands found in stream
[2026-08-29 01:50:18,341.341 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:50:18,344.344 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-08-29 01:50:22,597.597 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:50:22,599.599 INFO    ] Checking for system updates...
[2026-08-29 01:50:22,620.620 INFO    ] 200
[2026-08-29 01:50:22,622.622 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:50:22,653.653 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:50:22,655.655 INFO    ] No update needed
[2026-08-29 01:50:22,656.656 INFO    ] Checking for camera pi updates...
[2026-08-29 01:50:22,675.675 INFO    ] 200
[2026-08-29 01:50:22,676.676 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:50:22,699.699 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:50:22,786.786 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:50:22,787.787 INFO    ] No camera update needed
[2026-08-29 01:50:22,788.788 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:50:22,789.789 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:50:22,792.792 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:50:22,795.795 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:50:24,834.834 INFO    ] ================================================
[2026-08-29 01:50:24,849.849 INFO    ] Launching Daemon at Sat Aug 29 01:50:24 IST 2026
[2026-08-29 01:50:24,860.860 INFO    ] ================================================
[2026-08-29 01:50:25,187.187 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:50:25
[2026-08-29 01:50:25,498.498 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:50:25,642.642 INFO    ] Initializing speech engine...
[2026-08-29 01:50:25,646.646 INFO    ] 2026-08-29 01:50:25
[2026-08-29 01:50:25,847.847 INFO    ] 2026-08-29 01:50:25
[2026-08-29 01:50:25,926.926 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:50:26,077.077 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:50:26,086.086 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:50:26,221.221 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:50:26,238.238 INFO    ] time= 29/08/2026 01:50:26
[2026-08-29 01:50:26,292.292 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:50:26,341.341 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:50:26,410.410 INFO    ] No existing commands found in stream
[2026-08-29 01:50:31,422.422 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:50:31,425.425 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 01:50:34,939.939 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:50:34,942.942 INFO    ] Checking for system updates...
[2026-08-29 01:50:34,978.978 INFO    ] 200
[2026-08-29 01:50:34,981.981 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:50:35,047.047 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:50:35,050.050 INFO    ] No update needed
[2026-08-29 01:50:35,053.053 INFO    ] Checking for camera pi updates...
[2026-08-29 01:50:35,087.087 INFO    ] 200
[2026-08-29 01:50:35,089.089 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:50:35,135.135 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:50:35,221.221 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:50:35,224.224 INFO    ] No camera update needed
[2026-08-29 01:50:35,226.226 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:50:35,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:50:35,235.235 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:50:35,241.241 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:50:37,281.281 INFO    ] ================================================
[2026-08-29 01:50:37,296.296 INFO    ] Launching Daemon at Sat Aug 29 01:50:37 IST 2026
[2026-08-29 01:50:37,307.307 INFO    ] ================================================
[2026-08-29 01:50:37,642.642 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:50:37
[2026-08-29 01:50:37,954.954 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:50:38,095.095 INFO    ] Initializing speech engine...
[2026-08-29 01:50:38,100.100 INFO    ] 2026-08-29 01:50:38
[2026-08-29 01:50:38,289.289 INFO    ] 2026-08-29 01:50:38
[2026-08-29 01:50:38,343.343 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:50:38,564.564 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:50:38,573.573 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:50:38,705.705 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:50:38,731.731 INFO    ] time= 29/08/2026 01:50:38
[2026-08-29 01:50:38,781.781 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:50:38,837.837 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:50:38,907.907 INFO    ] No existing commands found in stream
[2026-08-29 01:50:43,944.944 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:50:43,946.946 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-08-29 01:50:45,789.789 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:50:45,791.791 INFO    ] Checking for system updates...
[2026-08-29 01:50:45,811.811 INFO    ] 200
[2026-08-29 01:50:45,813.813 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:50:45,843.843 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:50:45,845.845 INFO    ] No update needed
[2026-08-29 01:50:45,846.846 INFO    ] Checking for camera pi updates...
[2026-08-29 01:50:45,878.878 INFO    ] 200
[2026-08-29 01:50:45,880.880 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:50:45,924.924 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:50:46,031.031 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:50:46,034.034 INFO    ] No camera update needed
[2026-08-29 01:50:46,036.036 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:50:46,038.038 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:50:46,043.043 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:50:46,048.048 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:50:48,088.088 INFO    ] ================================================
[2026-08-29 01:50:48,104.104 INFO    ] Launching Daemon at Sat Aug 29 01:50:48 IST 2026
[2026-08-29 01:50:48,115.115 INFO    ] ================================================
[2026-08-29 01:50:48,771.771 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:50:48
[2026-08-29 01:50:49,210.210 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:50:49,360.360 INFO    ] Initializing speech engine...
[2026-08-29 01:50:49,366.366 INFO    ] 2026-08-29 01:50:49
[2026-08-29 01:50:49,577.577 INFO    ] 2026-08-29 01:50:49
[2026-08-29 01:50:49,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:50:49,729.729 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:50:49,792.792 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:50:49,924.924 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:50:49,975.975 INFO    ] time= 29/08/2026 01:50:49
[2026-08-29 01:50:50,023.023 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:50:50,029.029 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:50:50,095.095 INFO    ] No existing commands found in stream
[2026-08-29 01:50:55,105.105 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:50:55,108.108 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 01:50:58,599.599 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:50:58,601.601 INFO    ] Checking for system updates...
[2026-08-29 01:50:58,622.622 INFO    ] 200
[2026-08-29 01:50:58,623.623 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:50:58,655.655 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:50:58,656.656 INFO    ] No update needed
[2026-08-29 01:50:58,657.657 INFO    ] Checking for camera pi updates...
[2026-08-29 01:50:58,678.678 INFO    ] 200
[2026-08-29 01:50:58,679.679 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:50:58,702.702 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:50:58,749.749 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:50:58,750.750 INFO    ] No camera update needed
[2026-08-29 01:50:58,752.752 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:50:58,753.753 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:50:58,756.756 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:50:58,759.759 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:51:00,797.797 INFO    ] ================================================
[2026-08-29 01:51:00,813.813 INFO    ] Launching Daemon at Sat Aug 29 01:51:00 IST 2026
[2026-08-29 01:51:00,824.824 INFO    ] ================================================
[2026-08-29 01:51:01,204.204 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:51:01
[2026-08-29 01:51:01,871.871 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:51:02,202.202 INFO    ] Initializing speech engine...
[2026-08-29 01:51:02,214.214 INFO    ] 2026-08-29 01:51:02
[2026-08-29 01:51:02,520.520 INFO    ] 2026-08-29 01:51:02
[2026-08-29 01:51:02,580.580 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:51:02,771.771 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:51:02,787.787 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:51:02,929.929 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:51:02,936.936 INFO    ] time= 29/08/2026 01:51:02
[2026-08-29 01:51:02,969.969 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:51:02,987.987 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:51:03,074.074 INFO    ] No existing commands found in stream
[2026-08-29 01:51:08,087.087 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:51:08,090.090 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-08-29 01:51:10,477.477 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:51:10,479.479 INFO    ] Checking for system updates...
[2026-08-29 01:51:10,515.515 INFO    ] 200
[2026-08-29 01:51:10,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:51:10,568.568 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:51:10,571.571 INFO    ] No update needed
[2026-08-29 01:51:10,574.574 INFO    ] Checking for camera pi updates...
[2026-08-29 01:51:10,610.610 INFO    ] 200
[2026-08-29 01:51:10,613.613 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:51:10,658.658 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:51:10,750.750 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:51:10,753.753 INFO    ] No camera update needed
[2026-08-29 01:51:10,755.755 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:51:10,758.758 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:51:10,763.763 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:51:10,768.768 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:51:12,809.809 INFO    ] ================================================
[2026-08-29 01:51:12,824.824 INFO    ] Launching Daemon at Sat Aug 29 01:51:12 IST 2026
[2026-08-29 01:51:12,834.834 INFO    ] ================================================
[2026-08-29 01:51:13,330.330 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:51:13
[2026-08-29 01:51:13,667.667 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:51:13,819.819 INFO    ] Initializing speech engine...
[2026-08-29 01:51:13,825.825 INFO    ] 2026-08-29 01:51:13
[2026-08-29 01:51:14,035.035 INFO    ] 2026-08-29 01:51:14
[2026-08-29 01:51:14,064.064 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:51:14,188.188 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:51:14,252.252 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:51:14,443.443 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:51:14,484.484 INFO    ] time= 29/08/2026 01:51:14
[2026-08-29 01:51:14,534.534 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:51:14,584.584 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:51:14,693.693 INFO    ] No existing commands found in stream
[2026-08-29 01:51:19,709.709 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:51:19,784.784 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-08-29 01:51:22,437.437 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:51:22,439.439 INFO    ] Checking for system updates...
[2026-08-29 01:51:22,459.459 INFO    ] 200
[2026-08-29 01:51:22,460.460 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:51:22,494.494 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:51:22,496.496 INFO    ] No update needed
[2026-08-29 01:51:22,497.497 INFO    ] Checking for camera pi updates...
[2026-08-29 01:51:22,517.517 INFO    ] 200
[2026-08-29 01:51:22,518.518 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:51:22,541.541 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:51:22,619.619 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:51:22,621.621 INFO    ] No camera update needed
[2026-08-29 01:51:22,622.622 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:51:22,623.623 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:51:22,626.626 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:51:22,629.629 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:51:24,669.669 INFO    ] ================================================
[2026-08-29 01:51:24,841.841 INFO    ] Launching Daemon at Sat Aug 29 01:51:24 IST 2026
[2026-08-29 01:51:24,852.852 INFO    ] ================================================
[2026-08-29 01:51:25,204.204 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:51:25
[2026-08-29 01:51:25,520.520 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:51:25,738.738 INFO    ] Initializing speech engine...
[2026-08-29 01:51:25,745.745 INFO    ] 2026-08-29 01:51:25
[2026-08-29 01:51:26,004.004 INFO    ] 2026-08-29 01:51:25
[2026-08-29 01:51:26,058.058 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:51:26,209.209 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:51:26,228.228 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:51:26,355.355 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:51:26,360.360 INFO    ] time= 29/08/2026 01:51:26
[2026-08-29 01:51:26,368.368 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:51:26,413.413 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:51:26,537.537 INFO    ] No existing commands found in stream
[2026-08-29 01:51:31,563.563 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:51:31,565.565 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-08-29 01:51:35,675.675 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:51:35,677.677 INFO    ] Checking for system updates...
[2026-08-29 01:51:35,697.697 INFO    ] 200
[2026-08-29 01:51:35,698.698 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:51:35,728.728 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:51:35,729.729 INFO    ] No update needed
[2026-08-29 01:51:35,730.730 INFO    ] Checking for camera pi updates...
[2026-08-29 01:51:35,751.751 INFO    ] 200
[2026-08-29 01:51:35,752.752 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:51:35,777.777 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:51:35,851.851 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:51:35,853.853 INFO    ] No camera update needed
[2026-08-29 01:51:35,854.854 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:51:35,855.855 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:51:35,858.858 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:51:35,861.861 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:51:37,900.900 INFO    ] ================================================
[2026-08-29 01:51:37,915.915 INFO    ] Launching Daemon at Sat Aug 29 01:51:37 IST 2026
[2026-08-29 01:51:37,926.926 INFO    ] ================================================
[2026-08-29 01:51:38,275.275 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:51:38
[2026-08-29 01:51:38,586.586 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:51:38,715.715 INFO    ] Initializing speech engine...
[2026-08-29 01:51:38,719.719 INFO    ] 2026-08-29 01:51:38
[2026-08-29 01:51:38,935.935 INFO    ] 2026-08-29 01:51:38
[2026-08-29 01:51:38,964.964 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:51:39,085.085 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:51:39,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:51:39,287.287 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:51:39,345.345 INFO    ] time= 29/08/2026 01:51:39
[2026-08-29 01:51:39,381.381 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:51:39,388.388 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:51:39,453.453 INFO    ] No existing commands found in stream
[2026-08-29 01:51:44,464.464 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:51:44,467.467 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-08-29 01:51:47,267.267 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:51:47,268.268 INFO    ] Checking for system updates...
[2026-08-29 01:51:47,289.289 INFO    ] 200
[2026-08-29 01:51:47,290.290 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:51:47,322.322 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:51:47,323.323 INFO    ] No update needed
[2026-08-29 01:51:47,325.325 INFO    ] Checking for camera pi updates...
[2026-08-29 01:51:47,346.346 INFO    ] 200
[2026-08-29 01:51:47,347.347 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:51:47,374.374 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:51:47,453.453 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:51:47,454.454 INFO    ] No camera update needed
[2026-08-29 01:51:47,455.455 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:51:47,456.456 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:51:47,459.459 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:51:47,462.462 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:51:49,500.500 INFO    ] ================================================
[2026-08-29 01:51:49,516.516 INFO    ] Launching Daemon at Sat Aug 29 01:51:49 IST 2026
[2026-08-29 01:51:49,527.527 INFO    ] ================================================
[2026-08-29 01:51:49,886.886 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:51:49
[2026-08-29 01:51:50,197.197 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:51:50,358.358 INFO    ] Initializing speech engine...
[2026-08-29 01:51:50,360.360 INFO    ] 2026-08-29 01:51:50
[2026-08-29 01:51:50,640.640 INFO    ] 2026-08-29 01:51:50
[2026-08-29 01:51:50,675.675 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:51:50,848.848 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:51:50,861.861 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:51:51,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:51:51,010.010 INFO    ] time= 29/08/2026 01:51:51
[2026-08-29 01:51:51,016.016 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:51:51,057.057 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:51:51,163.163 INFO    ] No existing commands found in stream
[2026-08-29 01:51:56,195.195 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:51:56,198.198 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-08-29 01:51:58,011.011 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:51:58,013.013 INFO    ] Checking for system updates...
[2026-08-29 01:51:58,033.033 INFO    ] 200
[2026-08-29 01:51:58,035.035 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:51:58,067.067 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:51:58,068.068 INFO    ] No update needed
[2026-08-29 01:51:58,069.069 INFO    ] Checking for camera pi updates...
[2026-08-29 01:51:58,091.091 INFO    ] 200
[2026-08-29 01:51:58,092.092 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:51:58,117.117 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:51:58,191.191 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:51:58,192.192 INFO    ] No camera update needed
[2026-08-29 01:51:58,194.194 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:51:58,195.195 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:51:58,198.198 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:51:58,200.200 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:52:00,244.244 INFO    ] ================================================
[2026-08-29 01:52:00,259.259 INFO    ] Launching Daemon at Sat Aug 29 01:52:00 IST 2026
[2026-08-29 01:52:00,270.270 INFO    ] ================================================
[2026-08-29 01:52:00,749.749 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:52:00
[2026-08-29 01:52:01,507.507 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:52:01,864.864 INFO    ] Initializing speech engine...
[2026-08-29 01:52:01,880.880 INFO    ] 2026-08-29 01:52:01
[2026-08-29 01:52:02,212.212 INFO    ] 2026-08-29 01:52:02
[2026-08-29 01:52:02,289.289 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:52:02,499.499 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:52:02,511.511 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:52:02,693.693 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:52:02,713.713 INFO    ] time= 29/08/2026 01:52:02
[2026-08-29 01:52:02,767.767 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:52:02,828.828 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:52:02,903.903 INFO    ] No existing commands found in stream
[2026-08-29 01:52:07,923.923 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:52:07,926.926 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-08-29 01:52:08,923.923 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:52:08,925.925 INFO    ] Checking for system updates...
[2026-08-29 01:52:08,945.945 INFO    ] 200
[2026-08-29 01:52:08,946.946 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:52:08,980.980 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:52:08,982.982 INFO    ] No update needed
[2026-08-29 01:52:08,983.983 INFO    ] Checking for camera pi updates...
[2026-08-29 01:52:09,003.003 INFO    ] 200
[2026-08-29 01:52:09,005.005 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:52:09,028.028 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:52:14,210.210 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:52:14,213.213 INFO    ] No camera update needed
[2026-08-29 01:52:14,215.215 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:52:14,217.217 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:52:14,223.223 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:52:14,228.228 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:52:16,269.269 INFO    ] ================================================
[2026-08-29 01:52:16,284.284 INFO    ] Launching Daemon at Sat Aug 29 01:52:16 IST 2026
[2026-08-29 01:52:16,294.294 INFO    ] ================================================
[2026-08-29 01:52:16,660.660 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:52:16
[2026-08-29 01:52:16,975.975 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:52:17,119.119 INFO    ] Initializing speech engine...
[2026-08-29 01:52:17,124.124 INFO    ] 2026-08-29 01:52:17
[2026-08-29 01:52:17,345.345 INFO    ] 2026-08-29 01:52:17
[2026-08-29 01:52:17,429.429 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:52:17,580.580 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:52:17,586.586 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:52:17,718.718 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:52:17,771.771 INFO    ] time= 29/08/2026 01:52:17
[2026-08-29 01:52:17,835.835 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:52:17,856.856 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:52:17,908.908 INFO    ] No existing commands found in stream
[2026-08-29 01:52:22,920.920 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:52:22,923.923 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-08-29 01:52:26,251.251 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:52:26,253.253 INFO    ] Checking for system updates...
[2026-08-29 01:52:26,274.274 INFO    ] 200
[2026-08-29 01:52:26,275.275 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:52:26,305.305 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:52:26,306.306 INFO    ] No update needed
[2026-08-29 01:52:26,307.307 INFO    ] Checking for camera pi updates...
[2026-08-29 01:52:26,326.326 INFO    ] 200
[2026-08-29 01:52:26,328.328 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:52:26,352.352 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:52:26,429.429 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:52:26,431.431 INFO    ] No camera update needed
[2026-08-29 01:52:26,432.432 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:52:26,433.433 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:52:26,436.436 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:52:26,439.439 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:52:28,478.478 INFO    ] ================================================
[2026-08-29 01:52:28,494.494 INFO    ] Launching Daemon at Sat Aug 29 01:52:28 IST 2026
[2026-08-29 01:52:28,504.504 INFO    ] ================================================
[2026-08-29 01:52:28,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:52:28
[2026-08-29 01:52:29,269.269 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:52:29,524.524 INFO    ] Initializing speech engine...
[2026-08-29 01:52:29,532.532 INFO    ] 2026-08-29 01:52:29
[2026-08-29 01:52:29,824.824 INFO    ] 2026-08-29 01:52:29
[2026-08-29 01:52:29,858.858 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:52:30,006.006 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:52:30,016.016 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:52:30,164.164 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:52:30,175.175 INFO    ] time= 29/08/2026 01:52:30
[2026-08-29 01:52:30,179.179 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:52:30,185.185 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:52:30,249.249 INFO    ] No existing commands found in stream
[2026-08-29 01:52:35,260.260 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:52:35,263.263 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-08-29 01:52:38,018.018 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:52:38,020.020 INFO    ] Checking for system updates...
[2026-08-29 01:52:38,057.057 INFO    ] 200
[2026-08-29 01:52:38,059.059 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:52:38,114.114 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:52:38,116.116 INFO    ] No update needed
[2026-08-29 01:52:38,118.118 INFO    ] Checking for camera pi updates...
[2026-08-29 01:52:38,155.155 INFO    ] 200
[2026-08-29 01:52:38,157.157 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:52:38,202.202 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:52:38,287.287 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:52:38,289.289 INFO    ] No camera update needed
[2026-08-29 01:52:38,291.291 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:52:38,294.294 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:52:38,299.299 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:52:38,304.304 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:52:40,344.344 INFO    ] ================================================
[2026-08-29 01:52:40,360.360 INFO    ] Launching Daemon at Sat Aug 29 01:52:40 IST 2026
[2026-08-29 01:52:40,371.371 INFO    ] ================================================
[2026-08-29 01:52:40,750.750 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:52:40
[2026-08-29 01:52:41,066.066 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:52:41,209.209 INFO    ] Initializing speech engine...
[2026-08-29 01:52:41,214.214 INFO    ] 2026-08-29 01:52:41
[2026-08-29 01:52:41,420.420 INFO    ] 2026-08-29 01:52:41
[2026-08-29 01:52:41,449.449 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:52:41,571.571 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:52:41,609.609 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:52:41,771.771 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:52:41,823.823 INFO    ] time= 29/08/2026 01:52:41
[2026-08-29 01:52:41,857.857 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:52:41,880.880 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:52:41,955.955 INFO    ] No existing commands found in stream
[2026-08-29 01:52:46,966.966 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:52:46,969.969 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-08-29 01:52:49,317.317 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:52:49,318.318 INFO    ] Checking for system updates...
[2026-08-29 01:52:49,339.339 INFO    ] 200
[2026-08-29 01:52:49,340.340 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:52:49,370.370 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:52:49,371.371 INFO    ] No update needed
[2026-08-29 01:52:49,373.373 INFO    ] Checking for camera pi updates...
[2026-08-29 01:52:49,392.392 INFO    ] 200
[2026-08-29 01:52:49,393.393 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:52:49,417.417 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:52:49,463.463 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:52:49,464.464 INFO    ] No camera update needed
[2026-08-29 01:52:49,466.466 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:52:49,467.467 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:52:49,470.470 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:52:49,473.473 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:52:51,511.511 INFO    ] ================================================
[2026-08-29 01:52:51,527.527 INFO    ] Launching Daemon at Sat Aug 29 01:52:51 IST 2026
[2026-08-29 01:52:51,538.538 INFO    ] ================================================
[2026-08-29 01:52:51,903.903 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:52:51
[2026-08-29 01:52:52,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:52:52,360.360 INFO    ] Initializing speech engine...
[2026-08-29 01:52:52,364.364 INFO    ] 2026-08-29 01:52:52
[2026-08-29 01:52:52,608.608 INFO    ] 2026-08-29 01:52:52
[2026-08-29 01:52:52,666.666 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:52:52,832.832 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:52:52,837.837 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:52:53,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:52:53,034.034 INFO    ] time= 29/08/2026 01:52:53
[2026-08-29 01:52:53,040.040 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:52:53,060.060 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:52:53,178.178 INFO    ] No existing commands found in stream
[2026-08-29 01:52:58,199.199 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:52:58,202.202 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-08-29 01:53:01,597.597 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:53:01,600.600 INFO    ] Checking for system updates...
[2026-08-29 01:53:01,691.691 INFO    ] 200
[2026-08-29 01:53:01,695.695 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:53:01,760.760 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:53:01,763.763 INFO    ] No update needed
[2026-08-29 01:53:01,766.766 INFO    ] Checking for camera pi updates...
[2026-08-29 01:53:01,812.812 INFO    ] 200
[2026-08-29 01:53:01,815.815 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:53:01,867.867 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:53:02,006.006 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:53:02,009.009 INFO    ] No camera update needed
[2026-08-29 01:53:02,013.013 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:53:02,016.016 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:53:02,023.023 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:53:02,030.030 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:53:04,074.074 INFO    ] ================================================
[2026-08-29 01:53:04,089.089 INFO    ] Launching Daemon at Sat Aug 29 01:53:04 IST 2026
[2026-08-29 01:53:04,100.100 INFO    ] ================================================
[2026-08-29 01:53:04,556.556 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:53:04
[2026-08-29 01:53:04,869.869 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:53:05,000.000 INFO    ] Initializing speech engine...
[2026-08-29 01:53:05,004.004 INFO    ] 2026-08-29 01:53:05
[2026-08-29 01:53:05,241.241 INFO    ] 2026-08-29 01:53:05
[2026-08-29 01:53:05,292.292 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:53:05,446.446 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:53:05,452.452 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:53:05,576.576 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:53:05,622.622 INFO    ] time= 29/08/2026 01:53:05
[2026-08-29 01:53:05,676.676 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:53:05,722.722 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:53:05,780.780 INFO    ] No existing commands found in stream
[2026-08-29 01:53:10,791.791 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:53:10,794.794 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-08-29 01:53:14,083.083 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:53:14,084.084 INFO    ] Checking for system updates...
[2026-08-29 01:53:14,105.105 INFO    ] 200
[2026-08-29 01:53:14,107.107 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:53:14,139.139 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:53:14,140.140 INFO    ] No update needed
[2026-08-29 01:53:14,141.141 INFO    ] Checking for camera pi updates...
[2026-08-29 01:53:14,160.160 INFO    ] 200
[2026-08-29 01:53:14,162.162 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:53:14,188.188 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:53:14,271.271 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:53:14,274.274 INFO    ] No camera update needed
[2026-08-29 01:53:14,276.276 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:53:14,279.279 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:53:14,284.284 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:53:14,289.289 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:53:16,329.329 INFO    ] ================================================
[2026-08-29 01:53:16,345.345 INFO    ] Launching Daemon at Sat Aug 29 01:53:16 IST 2026
[2026-08-29 01:53:16,357.357 INFO    ] ================================================
[2026-08-29 01:53:16,940.940 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:53:16
[2026-08-29 01:53:17,446.446 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:53:17,594.594 INFO    ] Initializing speech engine...
[2026-08-29 01:53:17,599.599 INFO    ] 2026-08-29 01:53:17
[2026-08-29 01:53:17,815.815 INFO    ] 2026-08-29 01:53:17
[2026-08-29 01:53:17,850.850 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:53:17,998.998 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:53:18,018.018 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:53:18,187.187 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:53:18,242.242 INFO    ] time= 29/08/2026 01:53:18
[2026-08-29 01:53:18,268.268 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:53:18,275.275 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:53:18,387.387 INFO    ] No existing commands found in stream
[2026-08-29 01:53:23,409.409 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:53:23,412.412 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-08-29 01:53:26,604.604 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:53:26,605.605 INFO    ] Checking for system updates...
[2026-08-29 01:53:26,627.627 INFO    ] 200
[2026-08-29 01:53:26,628.628 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:53:26,658.658 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:53:26,659.659 INFO    ] No update needed
[2026-08-29 01:53:26,660.660 INFO    ] Checking for camera pi updates...
[2026-08-29 01:53:26,680.680 INFO    ] 200
[2026-08-29 01:53:26,681.681 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:53:26,706.706 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:53:26,794.794 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:53:26,796.796 INFO    ] No camera update needed
[2026-08-29 01:53:26,797.797 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:53:26,798.798 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:53:26,801.801 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:53:26,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:53:28,843.843 INFO    ] ================================================
[2026-08-29 01:53:28,859.859 INFO    ] Launching Daemon at Sat Aug 29 01:53:28 IST 2026
[2026-08-29 01:53:28,870.870 INFO    ] ================================================
[2026-08-29 01:53:29,227.227 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:53:29
[2026-08-29 01:53:29,542.542 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:53:29,683.683 INFO    ] Initializing speech engine...
[2026-08-29 01:53:29,691.691 INFO    ] 2026-08-29 01:53:29
[2026-08-29 01:53:29,909.909 INFO    ] 2026-08-29 01:53:29
[2026-08-29 01:53:29,940.940 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:53:30,034.034 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:53:30,038.038 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:53:30,205.205 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:53:30,254.254 INFO    ] time= 29/08/2026 01:53:30
[2026-08-29 01:53:30,260.260 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:53:30,264.264 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:53:30,338.338 INFO    ] No existing commands found in stream
[2026-08-29 01:53:35,369.369 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:53:35,371.371 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-08-29 01:53:39,225.225 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:53:39,227.227 INFO    ] Checking for system updates...
[2026-08-29 01:53:39,247.247 INFO    ] 200
[2026-08-29 01:53:39,248.248 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:53:39,279.279 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:53:39,280.280 INFO    ] No update needed
[2026-08-29 01:53:39,282.282 INFO    ] Checking for camera pi updates...
[2026-08-29 01:53:39,301.301 INFO    ] 200
[2026-08-29 01:53:39,302.302 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:53:39,327.327 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:53:39,403.403 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:53:39,405.405 INFO    ] No camera update needed
[2026-08-29 01:53:39,406.406 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:53:39,407.407 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:53:39,410.410 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:53:39,413.413 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:53:41,452.452 INFO    ] ================================================
[2026-08-29 01:53:41,468.468 INFO    ] Launching Daemon at Sat Aug 29 01:53:41 IST 2026
[2026-08-29 01:53:41,480.480 INFO    ] ================================================
[2026-08-29 01:53:41,851.851 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:53:41
[2026-08-29 01:53:42,450.450 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:53:42,730.730 INFO    ] Initializing speech engine...
[2026-08-29 01:53:42,735.735 INFO    ] 2026-08-29 01:53:42
[2026-08-29 01:53:42,985.985 INFO    ] 2026-08-29 01:53:42
[2026-08-29 01:53:43,020.020 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:53:43,196.196 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:53:43,208.208 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:53:43,350.350 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:53:43,359.359 INFO    ] time= 29/08/2026 01:53:43
[2026-08-29 01:53:43,365.365 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:53:43,413.413 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:53:43,544.544 INFO    ] No existing commands found in stream
[2026-08-29 01:53:48,568.568 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:53:48,570.570 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-08-29 01:53:51,363.363 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:53:51,364.364 INFO    ] Checking for system updates...
[2026-08-29 01:53:51,386.386 INFO    ] 200
[2026-08-29 01:53:51,387.387 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:53:51,420.420 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:53:51,421.421 INFO    ] No update needed
[2026-08-29 01:53:51,423.423 INFO    ] Checking for camera pi updates...
[2026-08-29 01:53:51,443.443 INFO    ] 200
[2026-08-29 01:53:51,445.445 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:53:51,469.469 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:53:51,568.568 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:53:51,570.570 INFO    ] No camera update needed
[2026-08-29 01:53:51,573.573 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:53:51,575.575 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:53:51,580.580 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:53:51,585.585 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:53:53,627.627 INFO    ] ================================================
[2026-08-29 01:53:53,642.642 INFO    ] Launching Daemon at Sat Aug 29 01:53:53 IST 2026
[2026-08-29 01:53:53,653.653 INFO    ] ================================================
[2026-08-29 01:53:54,322.322 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:53:54
[2026-08-29 01:53:54,835.835 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:53:54,988.988 INFO    ] Initializing speech engine...
[2026-08-29 01:53:54,994.994 INFO    ] 2026-08-29 01:53:54
[2026-08-29 01:53:55,240.240 INFO    ] 2026-08-29 01:53:55
[2026-08-29 01:53:55,296.296 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:53:55,464.464 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:53:55,469.469 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:53:55,629.629 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:53:55,675.675 INFO    ] time= 29/08/2026 01:53:55
[2026-08-29 01:53:55,693.693 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:53:55,726.726 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:53:55,832.832 INFO    ] No existing commands found in stream
[2026-08-29 01:54:00,847.847 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:54:00,851.851 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-08-29 01:54:04,204.204 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:54:04,207.207 INFO    ] Checking for system updates...
[2026-08-29 01:54:04,244.244 INFO    ] 200
[2026-08-29 01:54:04,247.247 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:54:04,303.303 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:54:04,306.306 INFO    ] No update needed
[2026-08-29 01:54:04,309.309 INFO    ] Checking for camera pi updates...
[2026-08-29 01:54:04,344.344 INFO    ] 200
[2026-08-29 01:54:04,346.346 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:54:04,372.372 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:54:04,477.477 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:54:04,478.478 INFO    ] No camera update needed
[2026-08-29 01:54:04,480.480 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:54:04,481.481 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:54:04,485.485 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:54:04,488.488 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:54:06,529.529 INFO    ] ================================================
[2026-08-29 01:54:06,545.545 INFO    ] Launching Daemon at Sat Aug 29 01:54:06 IST 2026
[2026-08-29 01:54:06,556.556 INFO    ] ================================================
[2026-08-29 01:54:07,023.023 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:54:07
[2026-08-29 01:54:07,614.614 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:54:07,867.867 INFO    ] Initializing speech engine...
[2026-08-29 01:54:07,880.880 INFO    ] 2026-08-29 01:54:07
[2026-08-29 01:54:08,146.146 INFO    ] 2026-08-29 01:54:08
[2026-08-29 01:54:08,181.181 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:54:08,357.357 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:54:08,370.370 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:54:08,514.514 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:54:08,520.520 INFO    ] time= 29/08/2026 01:54:08
[2026-08-29 01:54:08,526.526 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:54:08,572.572 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:54:08,693.693 INFO    ] No existing commands found in stream
[2026-08-29 01:54:13,723.723 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:54:13,726.726 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-08-29 01:54:14,208.208 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:54:14,209.209 INFO    ] Checking for system updates...
[2026-08-29 01:54:14,231.231 INFO    ] 200
[2026-08-29 01:54:14,232.232 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:54:14,262.262 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:54:14,264.264 INFO    ] No update needed
[2026-08-29 01:54:14,265.265 INFO    ] Checking for camera pi updates...
[2026-08-29 01:54:14,285.285 INFO    ] 200
[2026-08-29 01:54:14,287.287 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:54:14,310.310 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:54:14,398.398 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:54:14,399.399 INFO    ] No camera update needed
[2026-08-29 01:54:14,400.400 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:54:14,401.401 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:54:14,404.404 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:54:14,407.407 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:54:16,447.447 INFO    ] ================================================
[2026-08-29 01:54:16,463.463 INFO    ] Launching Daemon at Sat Aug 29 01:54:16 IST 2026
[2026-08-29 01:54:16,474.474 INFO    ] ================================================
[2026-08-29 01:54:16,968.968 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:54:16
[2026-08-29 01:54:17,657.657 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:54:17,972.972 INFO    ] Initializing speech engine...
[2026-08-29 01:54:17,984.984 INFO    ] 2026-08-29 01:54:17
[2026-08-29 01:54:18,296.296 INFO    ] 2026-08-29 01:54:18
[2026-08-29 01:54:18,381.381 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:54:18,536.536 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:54:18,544.544 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:54:18,677.677 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:54:18,727.727 INFO    ] time= 29/08/2026 01:54:18
[2026-08-29 01:54:18,798.798 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:54:18,813.813 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:54:18,934.934 INFO    ] No existing commands found in stream
[2026-08-29 01:54:23,966.966 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:54:23,969.969 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-08-29 01:54:25,970.970 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:54:25,972.972 INFO    ] Checking for system updates...
[2026-08-29 01:54:25,999.999 INFO    ] 200
[2026-08-29 01:54:26,000.000 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:54:26,037.037 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:54:26,039.039 INFO    ] No update needed
[2026-08-29 01:54:26,040.040 INFO    ] Checking for camera pi updates...
[2026-08-29 01:54:26,059.059 INFO    ] 200
[2026-08-29 01:54:26,060.060 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:54:26,084.084 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:54:26,268.268 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:54:26,271.271 INFO    ] No camera update needed
[2026-08-29 01:54:26,273.273 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:54:26,276.276 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:54:26,281.281 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:54:26,286.286 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:54:28,328.328 INFO    ] ================================================
[2026-08-29 01:54:28,344.344 INFO    ] Launching Daemon at Sat Aug 29 01:54:28 IST 2026
[2026-08-29 01:54:28,355.355 INFO    ] ================================================
[2026-08-29 01:54:28,935.935 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:54:28
[2026-08-29 01:54:29,301.301 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:54:29,439.439 INFO    ] Initializing speech engine...
[2026-08-29 01:54:29,452.452 INFO    ] 2026-08-29 01:54:29
[2026-08-29 01:54:29,674.674 INFO    ] 2026-08-29 01:54:29
[2026-08-29 01:54:29,705.705 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:54:29,840.840 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:54:29,873.873 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:54:30,011.011 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:54:30,057.057 INFO    ] time= 29/08/2026 01:54:30
[2026-08-29 01:54:30,093.093 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:54:30,140.140 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:54:30,242.242 INFO    ] No existing commands found in stream
[2026-08-29 01:54:35,251.251 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:54:35,254.254 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-08-29 01:54:37,610.610 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:54:37,612.612 INFO    ] Checking for system updates...
[2026-08-29 01:54:37,649.649 INFO    ] 200
[2026-08-29 01:54:37,652.652 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:54:37,718.718 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:54:37,721.721 INFO    ] No update needed
[2026-08-29 01:54:37,725.725 INFO    ] Checking for camera pi updates...
[2026-08-29 01:54:37,788.788 INFO    ] 200
[2026-08-29 01:54:37,792.792 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:54:37,846.846 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:54:37,931.931 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:54:37,934.934 INFO    ] No camera update needed
[2026-08-29 01:54:37,937.937 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:54:37,940.940 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:54:37,946.946 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:54:37,952.952 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:54:39,994.994 INFO    ] ================================================
[2026-08-29 01:54:40,010.010 INFO    ] Launching Daemon at Sat Aug 29 01:54:40 IST 2026
[2026-08-29 01:54:40,021.021 INFO    ] ================================================
[2026-08-29 01:54:40,610.610 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:54:40
[2026-08-29 01:54:40,947.947 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:54:41,087.087 INFO    ] Initializing speech engine...
[2026-08-29 01:54:41,101.101 INFO    ] 2026-08-29 01:54:41
[2026-08-29 01:54:41,339.339 INFO    ] 2026-08-29 01:54:41
[2026-08-29 01:54:41,378.378 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:54:41,580.580 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:54:41,585.585 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:54:41,724.724 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:54:41,732.732 INFO    ] time= 29/08/2026 01:54:41
[2026-08-29 01:54:41,736.736 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:54:41,750.750 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:54:41,861.861 INFO    ] No existing commands found in stream
[2026-08-29 01:54:46,873.873 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:54:46,876.876 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-08-29 01:54:49,855.855 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:54:49,856.856 INFO    ] Checking for system updates...
[2026-08-29 01:54:49,877.877 INFO    ] 200
[2026-08-29 01:54:49,878.878 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:54:49,911.911 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:54:49,912.912 INFO    ] No update needed
[2026-08-29 01:54:49,913.913 INFO    ] Checking for camera pi updates...
[2026-08-29 01:54:49,941.941 INFO    ] 200
[2026-08-29 01:54:49,944.944 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:54:49,990.990 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:54:50,099.099 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:54:50,102.102 INFO    ] No camera update needed
[2026-08-29 01:54:50,104.104 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:54:50,107.107 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:54:50,112.112 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:54:50,117.117 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:54:52,157.157 INFO    ] ================================================
[2026-08-29 01:54:52,173.173 INFO    ] Launching Daemon at Sat Aug 29 01:54:52 IST 2026
[2026-08-29 01:54:52,184.184 INFO    ] ================================================
[2026-08-29 01:54:52,856.856 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:54:52
[2026-08-29 01:54:53,298.298 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:54:53,452.452 INFO    ] Initializing speech engine...
[2026-08-29 01:54:53,457.457 INFO    ] 2026-08-29 01:54:53
[2026-08-29 01:54:53,665.665 INFO    ] 2026-08-29 01:54:53
[2026-08-29 01:54:53,693.693 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:54:53,816.816 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:54:53,880.880 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:54:54,018.018 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:54:54,083.083 INFO    ] time= 29/08/2026 01:54:54
[2026-08-29 01:54:54,110.110 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:54:54,112.112 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:54:54,185.185 INFO    ] No existing commands found in stream
[2026-08-29 01:54:59,199.199 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:54:59,203.203 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-08-29 01:55:03,617.617 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:55:03,620.620 INFO    ] Checking for system updates...
[2026-08-29 01:55:03,660.660 INFO    ] 200
[2026-08-29 01:55:03,663.663 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:55:03,731.731 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:55:03,733.733 INFO    ] No update needed
[2026-08-29 01:55:03,736.736 INFO    ] Checking for camera pi updates...
[2026-08-29 01:55:03,769.769 INFO    ] 200
[2026-08-29 01:55:03,772.772 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:55:03,812.812 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:55:03,909.909 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:55:03,911.911 INFO    ] No camera update needed
[2026-08-29 01:55:03,914.914 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:55:03,916.916 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:55:03,921.921 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:55:03,926.926 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:55:05,966.966 INFO    ] ================================================
[2026-08-29 01:55:05,982.982 INFO    ] Launching Daemon at Sat Aug 29 01:55:05 IST 2026
[2026-08-29 01:55:05,993.993 INFO    ] ================================================
[2026-08-29 01:55:06,507.507 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:55:06
[2026-08-29 01:55:07,114.114 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:55:07,383.383 INFO    ] Initializing speech engine...
[2026-08-29 01:55:07,392.392 INFO    ] 2026-08-29 01:55:07
[2026-08-29 01:55:07,637.637 INFO    ] 2026-08-29 01:55:07
[2026-08-29 01:55:07,672.672 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:55:07,843.843 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:55:07,855.855 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:55:07,999.999 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:55:08,005.005 INFO    ] time= 29/08/2026 01:55:08
[2026-08-29 01:55:08,010.010 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:55:08,042.042 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:55:08,172.172 INFO    ] No existing commands found in stream
[2026-08-29 01:55:13,197.197 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:55:13,200.200 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 01:55:16,772.772 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:55:16,774.774 INFO    ] Checking for system updates...
[2026-08-29 01:55:16,794.794 INFO    ] 200
[2026-08-29 01:55:16,796.796 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:55:16,828.828 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:55:16,829.829 INFO    ] No update needed
[2026-08-29 01:55:16,831.831 INFO    ] Checking for camera pi updates...
[2026-08-29 01:55:16,850.850 INFO    ] 200
[2026-08-29 01:55:16,851.851 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:55:16,878.878 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:55:16,959.959 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:55:16,961.961 INFO    ] No camera update needed
[2026-08-29 01:55:16,962.962 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:55:16,963.963 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:55:16,966.966 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:55:16,969.969 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:55:19,008.008 INFO    ] ================================================
[2026-08-29 01:55:19,024.024 INFO    ] Launching Daemon at Sat Aug 29 01:55:19 IST 2026
[2026-08-29 01:55:19,035.035 INFO    ] ================================================
[2026-08-29 01:55:19,411.411 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:55:19
[2026-08-29 01:55:19,722.722 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:55:19,852.852 INFO    ] Initializing speech engine...
[2026-08-29 01:55:19,857.857 INFO    ] 2026-08-29 01:55:19
[2026-08-29 01:55:20,072.072 INFO    ] 2026-08-29 01:55:20
[2026-08-29 01:55:20,103.103 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:55:20,225.225 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:55:20,287.287 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:55:20,417.417 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:55:20,458.458 INFO    ] time= 29/08/2026 01:55:20
[2026-08-29 01:55:20,496.496 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:55:20,518.518 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:55:20,588.588 INFO    ] No existing commands found in stream
[2026-08-29 01:55:25,598.598 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:55:25,601.601 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-08-29 01:55:26,714.714 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:55:26,715.715 INFO    ] Checking for system updates...
[2026-08-29 01:55:26,736.736 INFO    ] 200
[2026-08-29 01:55:26,737.737 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:55:26,768.768 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:55:26,769.769 INFO    ] No update needed
[2026-08-29 01:55:26,770.770 INFO    ] Checking for camera pi updates...
[2026-08-29 01:55:26,790.790 INFO    ] 200
[2026-08-29 01:55:26,791.791 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:55:26,815.815 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:55:26,889.889 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:55:26,891.891 INFO    ] No camera update needed
[2026-08-29 01:55:26,892.892 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:55:26,893.893 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:55:26,897.897 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:55:26,900.900 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:55:28,939.939 INFO    ] ================================================
[2026-08-29 01:55:28,954.954 INFO    ] Launching Daemon at Sat Aug 29 01:55:28 IST 2026
[2026-08-29 01:55:28,965.965 INFO    ] ================================================
[2026-08-29 01:55:29,504.504 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:55:29
[2026-08-29 01:55:30,089.089 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:55:30,370.370 INFO    ] Initializing speech engine...
[2026-08-29 01:55:30,376.376 INFO    ] 2026-08-29 01:55:30
[2026-08-29 01:55:30,636.636 INFO    ] 2026-08-29 01:55:30
[2026-08-29 01:55:30,690.690 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:55:30,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:55:30,923.923 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:55:31,056.056 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:55:31,077.077 INFO    ] time= 29/08/2026 01:55:31
[2026-08-29 01:55:31,143.143 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:55:31,188.188 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:55:31,248.248 INFO    ] No existing commands found in stream
[2026-08-29 01:55:36,284.284 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:55:36,287.287 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-08-29 01:55:39,493.493 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:55:39,494.494 INFO    ] Checking for system updates...
[2026-08-29 01:55:39,516.516 INFO    ] 200
[2026-08-29 01:55:39,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:55:39,549.549 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:55:39,550.550 INFO    ] No update needed
[2026-08-29 01:55:39,552.552 INFO    ] Checking for camera pi updates...
[2026-08-29 01:55:39,573.573 INFO    ] 200
[2026-08-29 01:55:39,574.574 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:55:39,597.597 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:55:39,673.673 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:55:39,674.674 INFO    ] No camera update needed
[2026-08-29 01:55:39,675.675 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:55:39,677.677 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:55:39,680.680 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:55:39,682.682 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:55:41,721.721 INFO    ] ================================================
[2026-08-29 01:55:41,738.738 INFO    ] Launching Daemon at Sat Aug 29 01:55:41 IST 2026
[2026-08-29 01:55:41,750.750 INFO    ] ================================================
[2026-08-29 01:55:42,111.111 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:55:42
[2026-08-29 01:55:42,480.480 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:55:42,755.755 INFO    ] Initializing speech engine...
[2026-08-29 01:55:42,765.765 INFO    ] 2026-08-29 01:55:42
[2026-08-29 01:55:43,029.029 INFO    ] 2026-08-29 01:55:43
[2026-08-29 01:55:43,083.083 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:55:43,306.306 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:55:43,315.315 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:55:43,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:55:43,496.496 INFO    ] time= 29/08/2026 01:55:43
[2026-08-29 01:55:43,556.556 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:55:43,582.582 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:55:43,647.647 INFO    ] No existing commands found in stream
[2026-08-29 01:55:48,683.683 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:55:48,685.685 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-08-29 01:55:51,844.844 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:55:51,846.846 INFO    ] Checking for system updates...
[2026-08-29 01:55:51,866.866 INFO    ] 200
[2026-08-29 01:55:51,868.868 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:55:51,898.898 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:55:51,899.899 INFO    ] No update needed
[2026-08-29 01:55:51,901.901 INFO    ] Checking for camera pi updates...
[2026-08-29 01:55:51,921.921 INFO    ] 200
[2026-08-29 01:55:51,922.922 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:55:51,945.945 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:55:52,036.036 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:55:52,038.038 INFO    ] No camera update needed
[2026-08-29 01:55:52,039.039 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:55:52,040.040 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:55:52,043.043 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:55:52,046.046 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:55:54,085.085 INFO    ] ================================================
[2026-08-29 01:55:54,100.100 INFO    ] Launching Daemon at Sat Aug 29 01:55:54 IST 2026
[2026-08-29 01:55:54,112.112 INFO    ] ================================================
[2026-08-29 01:55:54,672.672 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:55:54
[2026-08-29 01:55:55,272.272 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:55:55,550.550 INFO    ] Initializing speech engine...
[2026-08-29 01:55:55,556.556 INFO    ] 2026-08-29 01:55:55
[2026-08-29 01:55:55,831.831 INFO    ] 2026-08-29 01:55:55
[2026-08-29 01:55:55,875.875 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:55:56,093.093 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:55:56,102.102 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:55:56,235.235 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:55:56,277.277 INFO    ] time= 29/08/2026 01:55:56
[2026-08-29 01:55:56,331.331 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:55:56,367.367 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:55:56,431.431 INFO    ] No existing commands found in stream
[2026-08-29 01:56:01,443.443 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:56:01,446.446 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 01:56:04,018.018 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:56:04,021.021 INFO    ] Checking for system updates...
[2026-08-29 01:56:04,057.057 INFO    ] 200
[2026-08-29 01:56:04,059.059 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:56:04,113.113 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:56:04,115.115 INFO    ] No update needed
[2026-08-29 01:56:04,118.118 INFO    ] Checking for camera pi updates...
[2026-08-29 01:56:04,151.151 INFO    ] 200
[2026-08-29 01:56:04,154.154 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:56:04,194.194 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:56:04,301.301 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:56:04,304.304 INFO    ] No camera update needed
[2026-08-29 01:56:04,306.306 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:56:04,309.309 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:56:04,314.314 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:56:04,319.319 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:56:06,360.360 INFO    ] ================================================
[2026-08-29 01:56:06,375.375 INFO    ] Launching Daemon at Sat Aug 29 01:56:06 IST 2026
[2026-08-29 01:56:06,386.386 INFO    ] ================================================
[2026-08-29 01:56:06,855.855 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:56:06
[2026-08-29 01:56:07,450.450 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:56:07,767.767 INFO    ] Initializing speech engine...
[2026-08-29 01:56:07,779.779 INFO    ] 2026-08-29 01:56:07
[2026-08-29 01:56:08,065.065 INFO    ] 2026-08-29 01:56:08
[2026-08-29 01:56:08,111.111 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:56:08,340.340 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:56:08,351.351 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:56:08,489.489 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:56:08,548.548 INFO    ] time= 29/08/2026 01:56:08
[2026-08-29 01:56:08,587.587 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:56:08,630.630 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:56:08,692.692 INFO    ] No existing commands found in stream
[2026-08-29 01:56:13,729.729 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:56:13,732.732 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-08-29 01:56:16,274.274 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:56:16,276.276 INFO    ] Checking for system updates...
[2026-08-29 01:56:16,299.299 INFO    ] 200
[2026-08-29 01:56:16,300.300 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:56:16,336.336 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:56:16,337.337 INFO    ] No update needed
[2026-08-29 01:56:16,339.339 INFO    ] Checking for camera pi updates...
[2026-08-29 01:56:16,361.361 INFO    ] 200
[2026-08-29 01:56:16,363.363 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:56:16,387.387 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:56:16,464.464 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:56:16,466.466 INFO    ] No camera update needed
[2026-08-29 01:56:16,467.467 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:56:16,468.468 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:56:16,472.472 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:56:16,475.475 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:56:18,513.513 INFO    ] ================================================
[2026-08-29 01:56:18,528.528 INFO    ] Launching Daemon at Sat Aug 29 01:56:18 IST 2026
[2026-08-29 01:56:18,539.539 INFO    ] ================================================
[2026-08-29 01:56:18,898.898 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:56:18
[2026-08-29 01:56:19,213.213 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:56:19,358.358 INFO    ] Initializing speech engine...
[2026-08-29 01:56:19,363.363 INFO    ] 2026-08-29 01:56:19
[2026-08-29 01:56:19,569.569 INFO    ] 2026-08-29 01:56:19
[2026-08-29 01:56:19,598.598 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:56:19,723.723 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:56:19,766.766 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:56:19,919.919 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:56:19,976.976 INFO    ] time= 29/08/2026 01:56:19
[2026-08-29 01:56:20,017.017 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:56:20,022.022 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:56:20,093.093 INFO    ] No existing commands found in stream
[2026-08-29 01:56:25,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:56:25,107.107 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-08-29 01:56:25,553.553 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:56:25,554.554 INFO    ] Checking for system updates...
[2026-08-29 01:56:25,575.575 INFO    ] 200
[2026-08-29 01:56:25,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:56:25,609.609 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:56:25,610.610 INFO    ] No update needed
[2026-08-29 01:56:25,611.611 INFO    ] Checking for camera pi updates...
[2026-08-29 01:56:25,631.631 INFO    ] 200
[2026-08-29 01:56:25,632.632 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:56:25,657.657 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:56:25,742.742 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:56:25,743.743 INFO    ] No camera update needed
[2026-08-29 01:56:25,745.745 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:56:25,746.746 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:56:25,749.749 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:56:25,751.751 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:56:27,790.790 INFO    ] ================================================
[2026-08-29 01:56:27,805.805 INFO    ] Launching Daemon at Sat Aug 29 01:56:27 IST 2026
[2026-08-29 01:56:27,816.816 INFO    ] ================================================
[2026-08-29 01:56:28,138.138 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:56:28
[2026-08-29 01:56:28,451.451 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:56:28,590.590 INFO    ] Initializing speech engine...
[2026-08-29 01:56:28,601.601 INFO    ] 2026-08-29 01:56:28
[2026-08-29 01:56:28,834.834 INFO    ] 2026-08-29 01:56:28
[2026-08-29 01:56:28,899.899 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:56:29,033.033 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:56:29,038.038 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:56:29,151.151 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:56:29,190.190 INFO    ] time= 29/08/2026 01:56:29
[2026-08-29 01:56:29,250.250 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:56:29,284.284 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:56:29,337.337 INFO    ] No existing commands found in stream
[2026-08-29 01:56:34,349.349 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:56:34,352.352 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-08-29 01:56:35,087.087 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:56:35,090.090 INFO    ] Checking for system updates...
[2026-08-29 01:56:35,126.126 INFO    ] 200
[2026-08-29 01:56:35,129.129 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:56:35,192.192 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:56:35,195.195 INFO    ] No update needed
[2026-08-29 01:56:35,198.198 INFO    ] Checking for camera pi updates...
[2026-08-29 01:56:35,233.233 INFO    ] 200
[2026-08-29 01:56:35,235.235 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:56:35,284.284 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:56:35,361.361 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:56:35,364.364 INFO    ] No camera update needed
[2026-08-29 01:56:35,366.366 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:56:35,368.368 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:56:35,374.374 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:56:35,379.379 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:56:37,418.418 INFO    ] ================================================
[2026-08-29 01:56:37,434.434 INFO    ] Launching Daemon at Sat Aug 29 01:56:37 IST 2026
[2026-08-29 01:56:37,444.444 INFO    ] ================================================
[2026-08-29 01:56:37,808.808 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:56:37
[2026-08-29 01:56:38,124.124 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:56:38,256.256 INFO    ] Initializing speech engine...
[2026-08-29 01:56:38,259.259 INFO    ] 2026-08-29 01:56:38
[2026-08-29 01:56:38,457.457 INFO    ] 2026-08-29 01:56:38
[2026-08-29 01:56:38,493.493 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:56:38,665.665 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:56:38,677.677 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:56:38,786.786 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:56:38,792.792 INFO    ] time= 29/08/2026 01:56:38
[2026-08-29 01:56:38,809.809 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:56:38,829.829 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:56:38,901.901 INFO    ] No existing commands found in stream
[2026-08-29 01:56:43,914.914 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:56:43,917.917 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-08-29 01:56:46,530.530 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:56:46,532.532 INFO    ] Checking for system updates...
[2026-08-29 01:56:46,637.637 INFO    ] 200
[2026-08-29 01:56:46,638.638 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:56:46,669.669 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:56:46,670.670 INFO    ] No update needed
[2026-08-29 01:56:46,671.671 INFO    ] Checking for camera pi updates...
[2026-08-29 01:56:46,690.690 INFO    ] 200
[2026-08-29 01:56:46,692.692 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:56:46,718.718 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:56:46,798.798 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:56:46,801.801 INFO    ] No camera update needed
[2026-08-29 01:56:46,803.803 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:56:46,805.805 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:56:46,811.811 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:56:46,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:56:48,857.857 INFO    ] ================================================
[2026-08-29 01:56:48,873.873 INFO    ] Launching Daemon at Sat Aug 29 01:56:48 IST 2026
[2026-08-29 01:56:48,884.884 INFO    ] ================================================
[2026-08-29 01:56:49,490.490 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:56:49
[2026-08-29 01:56:50,018.018 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:56:50,239.239 INFO    ] Initializing speech engine...
[2026-08-29 01:56:50,254.254 INFO    ] 2026-08-29 01:56:50
[2026-08-29 01:56:50,517.517 INFO    ] 2026-08-29 01:56:50
[2026-08-29 01:56:50,554.554 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:56:50,731.731 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:56:50,744.744 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:56:50,855.855 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:56:50,861.861 INFO    ] time= 29/08/2026 01:56:50
[2026-08-29 01:56:50,879.879 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:56:50,899.899 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:56:50,975.975 INFO    ] No existing commands found in stream
[2026-08-29 01:56:56,005.005 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:56:56,008.008 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-08-29 01:56:57,312.312 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:56:57,314.314 INFO    ] Checking for system updates...
[2026-08-29 01:56:57,335.335 INFO    ] 200
[2026-08-29 01:56:57,337.337 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:56:57,367.367 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:56:57,368.368 INFO    ] No update needed
[2026-08-29 01:56:57,369.369 INFO    ] Checking for camera pi updates...
[2026-08-29 01:56:57,390.390 INFO    ] 200
[2026-08-29 01:56:57,391.391 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:56:57,414.414 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:56:57,495.495 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:56:57,496.496 INFO    ] No camera update needed
[2026-08-29 01:56:57,497.497 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:56:57,499.499 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:56:57,501.501 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:56:57,504.504 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:56:59,544.544 INFO    ] ================================================
[2026-08-29 01:56:59,559.559 INFO    ] Launching Daemon at Sat Aug 29 01:56:59 IST 2026
[2026-08-29 01:56:59,570.570 INFO    ] ================================================
[2026-08-29 01:56:59,940.940 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:56:59
[2026-08-29 01:57:00,258.258 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:57:00,403.403 INFO    ] Initializing speech engine...
[2026-08-29 01:57:00,407.407 INFO    ] 2026-08-29 01:57:00
[2026-08-29 01:57:00,640.640 INFO    ] 2026-08-29 01:57:00
[2026-08-29 01:57:00,699.699 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:57:00,921.921 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:57:00,930.930 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:57:01,066.066 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:57:01,141.141 INFO    ] time= 29/08/2026 01:57:01
[2026-08-29 01:57:01,193.193 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:57:01,200.200 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:57:01,330.330 INFO    ] No existing commands found in stream
[2026-08-29 01:57:06,355.355 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:57:06,358.358 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-08-29 01:57:10,424.424 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:57:10,427.427 INFO    ] Checking for system updates...
[2026-08-29 01:57:10,462.462 INFO    ] 200
[2026-08-29 01:57:10,465.465 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:57:10,518.518 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:57:10,520.520 INFO    ] No update needed
[2026-08-29 01:57:10,522.522 INFO    ] Checking for camera pi updates...
[2026-08-29 01:57:10,560.560 INFO    ] 200
[2026-08-29 01:57:10,563.563 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:57:10,609.609 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:57:10,715.715 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:57:10,718.718 INFO    ] No camera update needed
[2026-08-29 01:57:10,720.720 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:57:10,723.723 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:57:10,728.728 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:57:10,733.733 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:57:12,774.774 INFO    ] ================================================
[2026-08-29 01:57:12,789.789 INFO    ] Launching Daemon at Sat Aug 29 01:57:12 IST 2026
[2026-08-29 01:57:12,801.801 INFO    ] ================================================
[2026-08-29 01:57:13,369.369 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:57:13
[2026-08-29 01:57:13,719.719 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:57:13,955.955 INFO    ] Initializing speech engine...
[2026-08-29 01:57:13,964.964 INFO    ] 2026-08-29 01:57:13
[2026-08-29 01:57:14,210.210 INFO    ] 2026-08-29 01:57:14
[2026-08-29 01:57:14,245.245 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:57:14,417.417 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:57:14,428.428 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:57:14,568.568 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:57:14,576.576 INFO    ] time= 29/08/2026 01:57:14
[2026-08-29 01:57:14,580.580 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:57:14,586.586 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:57:14,653.653 INFO    ] No existing commands found in stream
[2026-08-29 01:57:19,683.683 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:57:19,686.686 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-08-29 01:57:20,392.392 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:57:20,394.394 INFO    ] Checking for system updates...
[2026-08-29 01:57:20,415.415 INFO    ] 200
[2026-08-29 01:57:20,416.416 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:57:20,446.446 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:57:20,448.448 INFO    ] No update needed
[2026-08-29 01:57:20,449.449 INFO    ] Checking for camera pi updates...
[2026-08-29 01:57:20,470.470 INFO    ] 200
[2026-08-29 01:57:20,471.471 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:57:20,495.495 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:57:20,592.592 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:57:20,594.594 INFO    ] No camera update needed
[2026-08-29 01:57:20,595.595 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:57:20,596.596 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:57:20,599.599 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:57:20,602.602 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:57:22,640.640 INFO    ] ================================================
[2026-08-29 01:57:22,656.656 INFO    ] Launching Daemon at Sat Aug 29 01:57:22 IST 2026
[2026-08-29 01:57:22,667.667 INFO    ] ================================================
[2026-08-29 01:57:23,034.034 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:57:23
[2026-08-29 01:57:23,346.346 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:57:23,476.476 INFO    ] Initializing speech engine...
[2026-08-29 01:57:23,479.479 INFO    ] 2026-08-29 01:57:23
[2026-08-29 01:57:23,675.675 INFO    ] 2026-08-29 01:57:23
[2026-08-29 01:57:23,754.754 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:57:23,904.904 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:57:23,910.910 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:57:24,040.040 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:57:24,051.051 INFO    ] time= 29/08/2026 01:57:24
[2026-08-29 01:57:24,111.111 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:57:24,170.170 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:57:24,225.225 INFO    ] No existing commands found in stream
[2026-08-29 01:57:29,236.236 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:57:29,239.239 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-08-29 01:57:31,288.288 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:57:31,290.290 INFO    ] Checking for system updates...
[2026-08-29 01:57:31,310.310 INFO    ] 200
[2026-08-29 01:57:31,311.311 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:57:31,344.344 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:57:31,346.346 INFO    ] No update needed
[2026-08-29 01:57:31,347.347 INFO    ] Checking for camera pi updates...
[2026-08-29 01:57:31,367.367 INFO    ] 200
[2026-08-29 01:57:31,369.369 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:57:31,392.392 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:57:31,487.487 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:57:31,488.488 INFO    ] No camera update needed
[2026-08-29 01:57:31,489.489 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:57:31,491.491 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:57:31,494.494 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:57:31,496.496 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:57:33,537.537 INFO    ] ================================================
[2026-08-29 01:57:33,552.552 INFO    ] Launching Daemon at Sat Aug 29 01:57:33 IST 2026
[2026-08-29 01:57:33,563.563 INFO    ] ================================================
[2026-08-29 01:57:34,144.144 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:57:34
[2026-08-29 01:57:34,639.639 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:57:34,776.776 INFO    ] Initializing speech engine...
[2026-08-29 01:57:34,790.790 INFO    ] 2026-08-29 01:57:34
[2026-08-29 01:57:35,008.008 INFO    ] 2026-08-29 01:57:34
[2026-08-29 01:57:35,039.039 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:57:35,173.173 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:57:35,206.206 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:57:35,358.358 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:57:35,388.388 INFO    ] time= 29/08/2026 01:57:35
[2026-08-29 01:57:35,450.450 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:57:35,485.485 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:57:35,572.572 INFO    ] No existing commands found in stream
[2026-08-29 01:57:40,583.583 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:57:40,586.586 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 01:57:41,581.581 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:57:41,583.583 INFO    ] Checking for system updates...
[2026-08-29 01:57:41,603.603 INFO    ] 200
[2026-08-29 01:57:41,604.604 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:57:41,634.634 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:57:41,635.635 INFO    ] No update needed
[2026-08-29 01:57:41,636.636 INFO    ] Checking for camera pi updates...
[2026-08-29 01:57:41,655.655 INFO    ] 200
[2026-08-29 01:57:41,657.657 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:57:41,683.683 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:57:41,768.768 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:57:41,770.770 INFO    ] No camera update needed
[2026-08-29 01:57:41,772.772 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:57:41,775.775 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:57:41,780.780 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:57:41,785.785 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:57:43,826.826 INFO    ] ================================================
[2026-08-29 01:57:43,841.841 INFO    ] Launching Daemon at Sat Aug 29 01:57:43 IST 2026
[2026-08-29 01:57:43,852.852 INFO    ] ================================================
[2026-08-29 01:57:44,439.439 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:57:44
[2026-08-29 01:57:44,892.892 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:57:45,133.133 INFO    ] Initializing speech engine...
[2026-08-29 01:57:45,150.150 INFO    ] 2026-08-29 01:57:45
[2026-08-29 01:57:45,401.401 INFO    ] 2026-08-29 01:57:45
[2026-08-29 01:57:45,437.437 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:57:45,609.609 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:57:45,621.621 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:57:45,762.762 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:57:45,771.771 INFO    ] time= 29/08/2026 01:57:45
[2026-08-29 01:57:45,779.779 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:57:45,824.824 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:57:45,948.948 INFO    ] No existing commands found in stream
[2026-08-29 01:57:50,974.974 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:57:50,977.977 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-08-29 01:57:52,964.964 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 01:57:52,966.966 INFO    ] Checking for system updates...
[2026-08-29 01:57:52,986.986 INFO    ] 200
[2026-08-29 01:57:52,987.987 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:57:53,018.018 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:57:53,019.019 INFO    ] No update needed
[2026-08-29 01:57:53,020.020 INFO    ] Checking for camera pi updates...
[2026-08-29 01:57:53,039.039 INFO    ] 200
[2026-08-29 01:57:53,040.040 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:57:53,066.066 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:57:53,128.128 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:57:53,130.130 INFO    ] No camera update needed
[2026-08-29 01:57:53,131.131 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:57:53,132.132 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:57:53,135.135 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:57:53,138.138 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:57:55,178.178 INFO    ] ================================================
[2026-08-29 01:57:55,193.193 INFO    ] Launching Daemon at Sat Aug 29 01:57:55 IST 2026
[2026-08-29 01:57:55,204.204 INFO    ] ================================================
[2026-08-29 01:57:55,533.533 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:57:55
[2026-08-29 01:57:55,852.852 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:57:55,989.989 INFO    ] Initializing speech engine...
[2026-08-29 01:57:55,999.999 INFO    ] 2026-08-29 01:57:55
[2026-08-29 01:57:56,203.203 INFO    ] 2026-08-29 01:57:56
[2026-08-29 01:57:56,232.232 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:57:56,518.518 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:57:56,561.561 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:57:56,728.728 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:57:56,792.792 INFO    ] time= 29/08/2026 01:57:56
[2026-08-29 01:57:56,822.822 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:57:56,872.872 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:57:56,972.972 INFO    ] No existing commands found in stream
[2026-08-29 01:58:01,994.994 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:58:01,998.998 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-08-29 01:58:05,246.246 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:58:05,247.247 INFO    ] Checking for system updates...
[2026-08-29 01:58:05,269.269 INFO    ] 200
[2026-08-29 01:58:05,270.270 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:58:05,304.304 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:58:05,306.306 INFO    ] No update needed
[2026-08-29 01:58:05,307.307 INFO    ] Checking for camera pi updates...
[2026-08-29 01:58:05,326.326 INFO    ] 200
[2026-08-29 01:58:05,327.327 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:58:05,350.350 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:58:05,431.431 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:58:05,434.434 INFO    ] No camera update needed
[2026-08-29 01:58:05,436.436 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:58:05,438.438 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:58:05,443.443 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:58:05,448.448 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:58:07,490.490 INFO    ] ================================================
[2026-08-29 01:58:07,505.505 INFO    ] Launching Daemon at Sat Aug 29 01:58:07 IST 2026
[2026-08-29 01:58:07,516.516 INFO    ] ================================================
[2026-08-29 01:58:08,100.100 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:58:08
[2026-08-29 01:58:08,621.621 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:58:08,766.766 INFO    ] Initializing speech engine...
[2026-08-29 01:58:08,770.770 INFO    ] 2026-08-29 01:58:08
[2026-08-29 01:58:09,020.020 INFO    ] 2026-08-29 01:58:08
[2026-08-29 01:58:09,077.077 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:58:09,243.243 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:58:09,249.249 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:58:09,423.423 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:58:09,452.452 INFO    ] time= 29/08/2026 01:58:09
[2026-08-29 01:58:09,458.458 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:58:09,476.476 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:58:09,583.583 INFO    ] No existing commands found in stream
[2026-08-29 01:58:14,608.608 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:58:14,611.611 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-08-29 01:58:17,387.387 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:58:17,389.389 INFO    ] Checking for system updates...
[2026-08-29 01:58:17,409.409 INFO    ] 200
[2026-08-29 01:58:17,410.410 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:58:17,442.442 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:58:17,443.443 INFO    ] No update needed
[2026-08-29 01:58:17,444.444 INFO    ] Checking for camera pi updates...
[2026-08-29 01:58:17,465.465 INFO    ] 200
[2026-08-29 01:58:17,466.466 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:58:17,491.491 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:58:17,607.607 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:58:17,608.608 INFO    ] No camera update needed
[2026-08-29 01:58:17,609.609 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:58:17,611.611 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:58:17,614.614 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:58:17,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:58:19,657.657 INFO    ] ================================================
[2026-08-29 01:58:19,673.673 INFO    ] Launching Daemon at Sat Aug 29 01:58:19 IST 2026
[2026-08-29 01:58:19,683.683 INFO    ] ================================================
[2026-08-29 01:58:20,041.041 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:58:20
[2026-08-29 01:58:20,352.352 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:58:20,495.495 INFO    ] Initializing speech engine...
[2026-08-29 01:58:20,500.500 INFO    ] 2026-08-29 01:58:20
[2026-08-29 01:58:20,729.729 INFO    ] 2026-08-29 01:58:20
[2026-08-29 01:58:20,764.764 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:58:20,940.940 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:58:20,953.953 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:58:21,092.092 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:58:21,105.105 INFO    ] time= 29/08/2026 01:58:21
[2026-08-29 01:58:21,109.109 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:58:21,116.116 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:58:21,181.181 INFO    ] No existing commands found in stream
[2026-08-29 01:58:26,193.193 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:58:26,196.196 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-08-29 01:58:27,427.427 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 01:58:27,428.428 INFO    ] Checking for system updates...
[2026-08-29 01:58:27,449.449 INFO    ] 200
[2026-08-29 01:58:27,451.451 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:58:27,483.483 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:58:27,485.485 INFO    ] No update needed
[2026-08-29 01:58:27,487.487 INFO    ] Checking for camera pi updates...
[2026-08-29 01:58:27,508.508 INFO    ] 200
[2026-08-29 01:58:27,509.509 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:58:27,535.535 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:58:27,602.602 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:58:27,604.604 INFO    ] No camera update needed
[2026-08-29 01:58:27,605.605 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:58:27,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:58:27,610.610 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:58:27,613.613 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:58:29,653.653 INFO    ] ================================================
[2026-08-29 01:58:29,669.669 INFO    ] Launching Daemon at Sat Aug 29 01:58:29 IST 2026
[2026-08-29 01:58:29,680.680 INFO    ] ================================================
[2026-08-29 01:58:30,079.079 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:58:30
[2026-08-29 01:58:30,426.426 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:58:30,580.580 INFO    ] Initializing speech engine...
[2026-08-29 01:58:30,586.586 INFO    ] 2026-08-29 01:58:30
[2026-08-29 01:58:30,796.796 INFO    ] 2026-08-29 01:58:30
[2026-08-29 01:58:30,825.825 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:58:30,948.948 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:58:30,991.991 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:58:31,156.156 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:58:31,218.218 INFO    ] time= 29/08/2026 01:58:31
[2026-08-29 01:58:31,242.242 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:58:31,249.249 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:58:31,314.314 INFO    ] No existing commands found in stream
[2026-08-29 01:58:36,325.325 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:58:36,328.328 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-08-29 01:58:38,021.021 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:58:38,023.023 INFO    ] Checking for system updates...
[2026-08-29 01:58:38,044.044 INFO    ] 200
[2026-08-29 01:58:38,046.046 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:58:38,078.078 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:58:38,080.080 INFO    ] No update needed
[2026-08-29 01:58:38,081.081 INFO    ] Checking for camera pi updates...
[2026-08-29 01:58:38,103.103 INFO    ] 200
[2026-08-29 01:58:38,105.105 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:58:38,128.128 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:58:38,311.311 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:58:38,314.314 INFO    ] No camera update needed
[2026-08-29 01:58:38,317.317 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:58:38,320.320 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:58:38,326.326 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:58:38,332.332 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:58:40,373.373 INFO    ] ================================================
[2026-08-29 01:58:40,388.388 INFO    ] Launching Daemon at Sat Aug 29 01:58:40 IST 2026
[2026-08-29 01:58:40,399.399 INFO    ] ================================================
[2026-08-29 01:58:40,990.990 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:58:40
[2026-08-29 01:58:41,508.508 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:58:41,652.652 INFO    ] Initializing speech engine...
[2026-08-29 01:58:41,658.658 INFO    ] 2026-08-29 01:58:41
[2026-08-29 01:58:41,861.861 INFO    ] 2026-08-29 01:58:41
[2026-08-29 01:58:41,890.890 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:58:42,013.013 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:58:42,066.066 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:58:42,207.207 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:58:42,263.263 INFO    ] time= 29/08/2026 01:58:42
[2026-08-29 01:58:42,291.291 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:58:42,308.308 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:58:42,429.429 INFO    ] No existing commands found in stream
[2026-08-29 01:58:47,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:58:47,454.454 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-08-29 01:58:50,896.896 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:58:50,897.897 INFO    ] Checking for system updates...
[2026-08-29 01:58:50,918.918 INFO    ] 200
[2026-08-29 01:58:50,919.919 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:58:50,952.952 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:58:50,953.953 INFO    ] No update needed
[2026-08-29 01:58:50,955.955 INFO    ] Checking for camera pi updates...
[2026-08-29 01:58:50,974.974 INFO    ] 200
[2026-08-29 01:58:50,975.975 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:58:51,001.001 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:58:51,076.076 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:58:51,077.077 INFO    ] No camera update needed
[2026-08-29 01:58:51,079.079 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:58:51,080.080 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:58:51,083.083 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:58:51,086.086 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:58:53,128.128 INFO    ] ================================================
[2026-08-29 01:58:53,144.144 INFO    ] Launching Daemon at Sat Aug 29 01:58:53 IST 2026
[2026-08-29 01:58:53,154.154 INFO    ] ================================================
[2026-08-29 01:58:53,548.548 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:58:53
[2026-08-29 01:58:53,893.893 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:58:54,048.048 INFO    ] Initializing speech engine...
[2026-08-29 01:58:54,054.054 INFO    ] 2026-08-29 01:58:54
[2026-08-29 01:58:54,270.270 INFO    ] 2026-08-29 01:58:54
[2026-08-29 01:58:54,299.299 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:58:54,424.424 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:58:54,488.488 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:58:54,600.600 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:58:54,601.601 INFO    ] time= 29/08/2026 01:58:54
[2026-08-29 01:58:54,635.635 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:58:54,703.703 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:58:54,797.797 INFO    ] No existing commands found in stream
[2026-08-29 01:58:59,808.808 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:58:59,811.811 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-08-29 01:59:01,090.090 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:59:01,091.091 INFO    ] Checking for system updates...
[2026-08-29 01:59:01,114.114 INFO    ] 200
[2026-08-29 01:59:01,115.115 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:59:01,145.145 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:59:01,146.146 INFO    ] No update needed
[2026-08-29 01:59:01,148.148 INFO    ] Checking for camera pi updates...
[2026-08-29 01:59:01,167.167 INFO    ] 200
[2026-08-29 01:59:01,168.168 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:59:01,193.193 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:59:01,322.322 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:59:01,324.324 INFO    ] No camera update needed
[2026-08-29 01:59:01,325.325 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:59:01,326.326 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:59:01,329.329 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:59:01,332.332 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:59:03,374.374 INFO    ] ================================================
[2026-08-29 01:59:03,390.390 INFO    ] Launching Daemon at Sat Aug 29 01:59:03 IST 2026
[2026-08-29 01:59:03,401.401 INFO    ] ================================================
[2026-08-29 01:59:03,993.993 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:59:03
[2026-08-29 01:59:04,606.606 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:59:04,793.793 INFO    ] Initializing speech engine...
[2026-08-29 01:59:04,799.799 INFO    ] 2026-08-29 01:59:04
[2026-08-29 01:59:05,018.018 INFO    ] 2026-08-29 01:59:04
[2026-08-29 01:59:05,107.107 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:59:05,258.258 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:59:05,268.268 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:59:05,404.404 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:59:05,454.454 INFO    ] time= 29/08/2026 01:59:05
[2026-08-29 01:59:05,519.519 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:59:05,539.539 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:59:05,597.597 INFO    ] No existing commands found in stream
[2026-08-29 01:59:10,613.613 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:59:10,616.616 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-08-29 01:59:14,988.988 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 01:59:14,990.990 INFO    ] Checking for system updates...
[2026-08-29 01:59:15,011.011 INFO    ] 200
[2026-08-29 01:59:15,013.013 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:59:15,043.043 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:59:15,046.046 INFO    ] No update needed
[2026-08-29 01:59:15,047.047 INFO    ] Checking for camera pi updates...
[2026-08-29 01:59:15,067.067 INFO    ] 200
[2026-08-29 01:59:15,068.068 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:59:15,092.092 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:59:15,171.171 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:59:15,173.173 INFO    ] No camera update needed
[2026-08-29 01:59:15,174.174 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:59:15,176.176 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:59:15,179.179 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:59:15,182.182 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:59:17,224.224 INFO    ] ================================================
[2026-08-29 01:59:17,239.239 INFO    ] Launching Daemon at Sat Aug 29 01:59:17 IST 2026
[2026-08-29 01:59:17,250.250 INFO    ] ================================================
[2026-08-29 01:59:17,605.605 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:59:17
[2026-08-29 01:59:17,921.921 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:59:18,065.065 INFO    ] Initializing speech engine...
[2026-08-29 01:59:18,070.070 INFO    ] 2026-08-29 01:59:18
[2026-08-29 01:59:18,272.272 INFO    ] 2026-08-29 01:59:18
[2026-08-29 01:59:18,301.301 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:59:18,431.431 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:59:18,465.465 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:59:18,609.609 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:59:18,617.617 INFO    ] time= 29/08/2026 01:59:18
[2026-08-29 01:59:18,623.623 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:59:18,652.652 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:59:18,762.762 INFO    ] No existing commands found in stream
[2026-08-29 01:59:23,792.792 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:59:23,795.795 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-08-29 01:59:24,894.894 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 01:59:24,895.895 INFO    ] Checking for system updates...
[2026-08-29 01:59:24,917.917 INFO    ] 200
[2026-08-29 01:59:24,918.918 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:59:24,948.948 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:59:24,949.949 INFO    ] No update needed
[2026-08-29 01:59:24,951.951 INFO    ] Checking for camera pi updates...
[2026-08-29 01:59:24,971.971 INFO    ] 200
[2026-08-29 01:59:24,973.973 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:59:24,998.998 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:59:25,088.088 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 01:59:25,090.090 INFO    ] No camera update needed
[2026-08-29 01:59:25,091.091 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:59:25,092.092 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:59:25,095.095 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:59:25,098.098 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:59:27,137.137 INFO    ] ================================================
[2026-08-29 01:59:27,152.152 INFO    ] Launching Daemon at Sat Aug 29 01:59:27 IST 2026
[2026-08-29 01:59:27,163.163 INFO    ] ================================================
[2026-08-29 01:59:27,541.541 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:59:27
[2026-08-29 01:59:27,888.888 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:59:28,045.045 INFO    ] Initializing speech engine...
[2026-08-29 01:59:28,050.050 INFO    ] 2026-08-29 01:59:28
[2026-08-29 01:59:28,257.257 INFO    ] 2026-08-29 01:59:28
[2026-08-29 01:59:28,286.286 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:59:28,430.430 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:59:28,474.474 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:59:28,611.611 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:59:28,676.676 INFO    ] time= 29/08/2026 01:59:28
[2026-08-29 01:59:28,703.703 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:59:28,711.711 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:59:28,778.778 INFO    ] No existing commands found in stream
[2026-08-29 01:59:33,792.792 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:59:33,796.796 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-08-29 01:59:37,555.555 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 01:59:37,556.556 INFO    ] Checking for system updates...
[2026-08-29 01:59:37,577.577 INFO    ] 200
[2026-08-29 01:59:37,579.579 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:59:37,609.609 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:59:37,610.610 INFO    ] No update needed
[2026-08-29 01:59:37,612.612 INFO    ] Checking for camera pi updates...
[2026-08-29 01:59:37,633.633 INFO    ] 200
[2026-08-29 01:59:37,635.635 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:59:37,659.659 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:59:37,737.737 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:59:37,739.739 INFO    ] No camera update needed
[2026-08-29 01:59:37,740.740 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:59:37,742.742 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:59:37,745.745 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:59:37,748.748 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:59:39,787.787 INFO    ] ================================================
[2026-08-29 01:59:39,802.802 INFO    ] Launching Daemon at Sat Aug 29 01:59:39 IST 2026
[2026-08-29 01:59:39,813.813 INFO    ] ================================================
[2026-08-29 01:59:40,161.161 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:59:40
[2026-08-29 01:59:40,535.535 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:59:40,803.803 INFO    ] Initializing speech engine...
[2026-08-29 01:59:40,812.812 INFO    ] 2026-08-29 01:59:40
[2026-08-29 01:59:41,060.060 INFO    ] 2026-08-29 01:59:41
[2026-08-29 01:59:41,096.096 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:59:41,272.272 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:59:41,285.285 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:59:41,432.432 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:59:41,438.438 INFO    ] time= 29/08/2026 01:59:41
[2026-08-29 01:59:41,444.444 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:59:41,492.492 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:59:41,620.620 INFO    ] No existing commands found in stream
[2026-08-29 01:59:46,645.645 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:59:46,647.647 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 01:59:48,174.174 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 01:59:48,175.175 INFO    ] Checking for system updates...
[2026-08-29 01:59:48,195.195 INFO    ] 200
[2026-08-29 01:59:48,197.197 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:59:48,227.227 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:59:48,228.228 INFO    ] No update needed
[2026-08-29 01:59:48,229.229 INFO    ] Checking for camera pi updates...
[2026-08-29 01:59:48,248.248 INFO    ] 200
[2026-08-29 01:59:48,249.249 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 01:59:48,277.277 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 01:59:48,366.366 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 01:59:48,368.368 INFO    ] No camera update needed
[2026-08-29 01:59:48,370.370 INFO    ] Script finished. Safe exiting...
[2026-08-29 01:59:48,373.373 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 01:59:48,378.378 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 01:59:48,383.383 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 01:59:50,424.424 INFO    ] ================================================
[2026-08-29 01:59:50,439.439 INFO    ] Launching Daemon at Sat Aug 29 01:59:50 IST 2026
[2026-08-29 01:59:50,450.450 INFO    ] ================================================
[2026-08-29 01:59:51,017.017 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 01:59:51
[2026-08-29 01:59:51,507.507 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 01:59:51,640.640 INFO    ] Initializing speech engine...
[2026-08-29 01:59:51,645.645 INFO    ] 2026-08-29 01:59:51
[2026-08-29 01:59:51,853.853 INFO    ] 2026-08-29 01:59:51
[2026-08-29 01:59:51,882.882 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 01:59:52,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 01:59:52,084.084 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 01:59:52,260.260 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 01:59:52,324.324 INFO    ] time= 29/08/2026 01:59:52
[2026-08-29 01:59:52,359.359 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 01:59:52,361.361 INFO    ] Checking for existing commands in stream...
[2026-08-29 01:59:52,439.439 INFO    ] No existing commands found in stream
[2026-08-29 01:59:57,449.449 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 01:59:57,452.452 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-08-29 02:00:01,050.050 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:00:01,051.051 INFO    ] Checking for system updates...
[2026-08-29 02:00:01,071.071 INFO    ] 200
[2026-08-29 02:00:01,073.073 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:00:01,105.105 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:00:01,107.107 INFO    ] No update needed
[2026-08-29 02:00:01,108.108 INFO    ] Checking for camera pi updates...
[2026-08-29 02:00:01,127.127 INFO    ] 200
[2026-08-29 02:00:01,128.128 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:00:01,155.155 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:00:01,331.331 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:00:01,334.334 INFO    ] No camera update needed
[2026-08-29 02:00:01,347.347 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:00:01,351.351 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:00:01,384.384 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:00:01,391.391 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:00:03,515.515 INFO    ] ================================================
[2026-08-29 02:00:03,632.632 INFO    ] Launching Daemon at Sat Aug 29 02:00:03 IST 2026
[2026-08-29 02:00:03,671.671 INFO    ] ================================================
[2026-08-29 02:00:05,585.585 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:00:05
[2026-08-29 02:00:06,350.350 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:00:06,619.619 INFO    ] Initializing speech engine...
[2026-08-29 02:00:06,644.644 INFO    ] 2026-08-29 02:00:06
[2026-08-29 02:00:06,921.921 INFO    ] 2026-08-29 02:00:06
[2026-08-29 02:00:06,959.959 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:00:07,157.157 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:00:07,162.162 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:00:07,272.272 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:00:07,279.279 INFO    ] time= 29/08/2026 02:00:07
[2026-08-29 02:00:07,302.302 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:00:07,308.308 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:00:07,427.427 INFO    ] No existing commands found in stream
[2026-08-29 02:00:12,440.440 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:00:12,442.442 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-08-29 02:00:14,155.155 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:00:14,156.156 INFO    ] Checking for system updates...
[2026-08-29 02:00:14,177.177 INFO    ] 200
[2026-08-29 02:00:14,179.179 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:00:14,209.209 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:00:14,210.210 INFO    ] No update needed
[2026-08-29 02:00:14,212.212 INFO    ] Checking for camera pi updates...
[2026-08-29 02:00:14,231.231 INFO    ] 200
[2026-08-29 02:00:14,233.233 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:00:14,256.256 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:00:14,335.335 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:00:14,336.336 INFO    ] No camera update needed
[2026-08-29 02:00:14,337.337 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:00:14,339.339 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:00:14,342.342 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:00:14,344.344 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:00:16,384.384 INFO    ] ================================================
[2026-08-29 02:00:16,400.400 INFO    ] Launching Daemon at Sat Aug 29 02:00:16 IST 2026
[2026-08-29 02:00:16,412.412 INFO    ] ================================================
[2026-08-29 02:00:17,018.018 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:00:17
[2026-08-29 02:00:17,686.686 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:00:17,951.951 INFO    ] Initializing speech engine...
[2026-08-29 02:00:17,964.964 INFO    ] 2026-08-29 02:00:17
[2026-08-29 02:00:18,227.227 INFO    ] 2026-08-29 02:00:18
[2026-08-29 02:00:18,262.262 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:00:18,434.434 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:00:18,437.437 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:00:18,548.548 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:00:18,554.554 INFO    ] time= 29/08/2026 02:00:18
[2026-08-29 02:00:18,577.577 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:00:18,583.583 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:00:18,682.682 INFO    ] No existing commands found in stream
[2026-08-29 02:00:23,702.702 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:00:23,705.705 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-08-29 02:00:24,691.691 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:00:24,693.693 INFO    ] Checking for system updates...
[2026-08-29 02:00:24,713.713 INFO    ] 200
[2026-08-29 02:00:24,714.714 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:00:24,746.746 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:00:24,747.747 INFO    ] No update needed
[2026-08-29 02:00:24,749.749 INFO    ] Checking for camera pi updates...
[2026-08-29 02:00:24,768.768 INFO    ] 200
[2026-08-29 02:00:24,769.769 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:00:24,795.795 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:00:24,894.894 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:00:24,895.895 INFO    ] No camera update needed
[2026-08-29 02:00:24,896.896 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:00:24,897.897 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:00:24,900.900 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:00:24,903.903 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:00:26,942.942 INFO    ] ================================================
[2026-08-29 02:00:26,957.957 INFO    ] Launching Daemon at Sat Aug 29 02:00:26 IST 2026
[2026-08-29 02:00:26,968.968 INFO    ] ================================================
[2026-08-29 02:00:27,319.319 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:00:27
[2026-08-29 02:00:27,631.631 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:00:27,764.764 INFO    ] Initializing speech engine...
[2026-08-29 02:00:27,768.768 INFO    ] 2026-08-29 02:00:27
[2026-08-29 02:00:27,999.999 INFO    ] 2026-08-29 02:00:27
[2026-08-29 02:00:28,030.030 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:00:28,125.125 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:00:28,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:00:28,236.236 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:00:28,245.245 INFO    ] time= 29/08/2026 02:00:28
[2026-08-29 02:00:28,249.249 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:00:28,265.265 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:00:28,338.338 INFO    ] No existing commands found in stream
[2026-08-29 02:00:33,373.373 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:00:33,376.376 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-08-29 02:00:35,864.864 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:00:35,866.866 INFO    ] Checking for system updates...
[2026-08-29 02:00:35,887.887 INFO    ] 200
[2026-08-29 02:00:35,889.889 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:00:35,918.918 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:00:35,920.920 INFO    ] No update needed
[2026-08-29 02:00:35,921.921 INFO    ] Checking for camera pi updates...
[2026-08-29 02:00:35,940.940 INFO    ] 200
[2026-08-29 02:00:35,941.941 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:00:35,964.964 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:00:36,047.047 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:00:36,048.048 INFO    ] No camera update needed
[2026-08-29 02:00:36,049.049 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:00:36,051.051 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:00:36,054.054 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:00:36,056.056 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:00:38,095.095 INFO    ] ================================================
[2026-08-29 02:00:38,111.111 INFO    ] Launching Daemon at Sat Aug 29 02:00:38 IST 2026
[2026-08-29 02:00:38,123.123 INFO    ] ================================================
[2026-08-29 02:00:38,489.489 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:00:38
[2026-08-29 02:00:38,824.824 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:00:39,065.065 INFO    ] Initializing speech engine...
[2026-08-29 02:00:39,072.072 INFO    ] 2026-08-29 02:00:39
[2026-08-29 02:00:39,347.347 INFO    ] 2026-08-29 02:00:39
[2026-08-29 02:00:39,373.373 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:00:39,559.559 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:00:39,573.573 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:00:39,718.718 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:00:39,732.732 INFO    ] time= 29/08/2026 02:00:39
[2026-08-29 02:00:39,739.739 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:00:39,747.747 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:00:39,854.854 INFO    ] No existing commands found in stream
[2026-08-29 02:00:44,880.880 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:00:44,883.883 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-08-29 02:00:46,405.405 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:00:46,407.407 INFO    ] Checking for system updates...
[2026-08-29 02:00:46,427.427 INFO    ] 200
[2026-08-29 02:00:46,429.429 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:00:46,464.464 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:00:46,465.465 INFO    ] No update needed
[2026-08-29 02:00:46,466.466 INFO    ] Checking for camera pi updates...
[2026-08-29 02:00:46,487.487 INFO    ] 200
[2026-08-29 02:00:46,488.488 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:00:46,511.511 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:00:46,694.694 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:00:46,696.696 INFO    ] No camera update needed
[2026-08-29 02:00:46,697.697 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:00:46,698.698 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:00:46,701.701 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:00:46,704.704 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:00:48,742.742 INFO    ] ================================================
[2026-08-29 02:00:48,758.758 INFO    ] Launching Daemon at Sat Aug 29 02:00:48 IST 2026
[2026-08-29 02:00:48,769.769 INFO    ] ================================================
[2026-08-29 02:00:49,298.298 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:00:49
[2026-08-29 02:00:49,883.883 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:00:50,135.135 INFO    ] Initializing speech engine...
[2026-08-29 02:00:50,143.143 INFO    ] 2026-08-29 02:00:50
[2026-08-29 02:00:50,438.438 INFO    ] 2026-08-29 02:00:50
[2026-08-29 02:00:50,475.475 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:00:50,622.622 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:00:50,628.628 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:00:50,780.780 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:00:50,790.790 INFO    ] time= 29/08/2026 02:00:50
[2026-08-29 02:00:50,795.795 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:00:50,799.799 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:00:50,866.866 INFO    ] No existing commands found in stream
[2026-08-29 02:00:55,880.880 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:00:55,883.883 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-08-29 02:00:59,888.888 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:00:59,890.890 INFO    ] Checking for system updates...
[2026-08-29 02:00:59,914.914 INFO    ] 200
[2026-08-29 02:00:59,915.915 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:00:59,945.945 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:00:59,946.946 INFO    ] No update needed
[2026-08-29 02:00:59,948.948 INFO    ] Checking for camera pi updates...
[2026-08-29 02:00:59,968.968 INFO    ] 200
[2026-08-29 02:00:59,969.969 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:00:59,992.992 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:01:00,092.092 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:01:00,093.093 INFO    ] No camera update needed
[2026-08-29 02:01:00,095.095 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:01:00,096.096 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:01:00,099.099 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:01:00,101.101 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:01:02,142.142 INFO    ] ================================================
[2026-08-29 02:01:02,164.164 INFO    ] Launching Daemon at Sat Aug 29 02:01:02 IST 2026
[2026-08-29 02:01:02,177.177 INFO    ] ================================================
[2026-08-29 02:01:02,825.825 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:01:02
[2026-08-29 02:01:03,436.436 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:01:03,695.695 INFO    ] Initializing speech engine...
[2026-08-29 02:01:03,704.704 INFO    ] 2026-08-29 02:01:03
[2026-08-29 02:01:04,001.001 INFO    ] 2026-08-29 02:01:03
[2026-08-29 02:01:04,026.026 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:01:04,185.185 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:01:04,194.194 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:01:04,348.348 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:01:04,358.358 INFO    ] time= 29/08/2026 02:01:04
[2026-08-29 02:01:04,364.364 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:01:04,388.388 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:01:04,441.441 INFO    ] No existing commands found in stream
[2026-08-29 02:01:09,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:01:09,454.454 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-08-29 02:01:09,847.847 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:01:09,849.849 INFO    ] Checking for system updates...
[2026-08-29 02:01:09,869.869 INFO    ] 200
[2026-08-29 02:01:09,871.871 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:01:09,901.901 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:01:09,903.903 INFO    ] No update needed
[2026-08-29 02:01:09,904.904 INFO    ] Checking for camera pi updates...
[2026-08-29 02:01:09,923.923 INFO    ] 200
[2026-08-29 02:01:09,924.924 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:01:09,949.949 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:01:10,034.034 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:01:10,037.037 INFO    ] No camera update needed
[2026-08-29 02:01:10,039.039 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:01:10,041.041 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:01:10,047.047 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:01:10,051.051 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:01:12,092.092 INFO    ] ================================================
[2026-08-29 02:01:12,109.109 INFO    ] Launching Daemon at Sat Aug 29 02:01:12 IST 2026
[2026-08-29 02:01:12,120.120 INFO    ] ================================================
[2026-08-29 02:01:12,696.696 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:01:12
[2026-08-29 02:01:13,288.288 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:01:13,558.558 INFO    ] Initializing speech engine...
[2026-08-29 02:01:13,568.568 INFO    ] 2026-08-29 02:01:13
[2026-08-29 02:01:13,833.833 INFO    ] 2026-08-29 02:01:13
[2026-08-29 02:01:13,861.861 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:01:14,126.126 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:01:14,177.177 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:01:14,361.361 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:01:14,393.393 INFO    ] time= 29/08/2026 02:01:14
[2026-08-29 02:01:14,399.399 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:01:14,407.407 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:01:14,505.505 INFO    ] No existing commands found in stream
[2026-08-29 02:01:19,516.516 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:01:19,518.518 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-08-29 02:01:22,519.519 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:01:22,520.520 INFO    ] Checking for system updates...
[2026-08-29 02:01:22,543.543 INFO    ] 200
[2026-08-29 02:01:22,545.545 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:01:22,574.574 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:01:22,576.576 INFO    ] No update needed
[2026-08-29 02:01:22,577.577 INFO    ] Checking for camera pi updates...
[2026-08-29 02:01:22,596.596 INFO    ] 200
[2026-08-29 02:01:22,598.598 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:01:22,620.620 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:01:22,700.700 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:01:22,701.701 INFO    ] No camera update needed
[2026-08-29 02:01:22,703.703 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:01:22,704.704 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:01:22,707.707 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:01:22,709.709 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:01:24,749.749 INFO    ] ================================================
[2026-08-29 02:01:24,764.764 INFO    ] Launching Daemon at Sat Aug 29 02:01:24 IST 2026
[2026-08-29 02:01:24,775.775 INFO    ] ================================================
[2026-08-29 02:01:25,397.397 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:01:25
[2026-08-29 02:01:26,057.057 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:01:26,361.361 INFO    ] Initializing speech engine...
[2026-08-29 02:01:26,374.374 INFO    ] 2026-08-29 02:01:26
[2026-08-29 02:01:26,643.643 INFO    ] 2026-08-29 02:01:26
[2026-08-29 02:01:26,709.709 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:01:26,939.939 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:01:26,951.951 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:01:27,101.101 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:01:27,108.108 INFO    ] time= 29/08/2026 02:01:27
[2026-08-29 02:01:27,176.176 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:01:27,180.180 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:01:27,278.278 INFO    ] No existing commands found in stream
[2026-08-29 02:01:32,308.308 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:01:32,311.311 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 02:01:34,500.500 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:01:34,503.503 INFO    ] Checking for system updates...
[2026-08-29 02:01:34,539.539 INFO    ] 200
[2026-08-29 02:01:34,542.542 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:01:34,603.603 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:01:34,606.606 INFO    ] No update needed
[2026-08-29 02:01:34,609.609 INFO    ] Checking for camera pi updates...
[2026-08-29 02:01:34,644.644 INFO    ] 200
[2026-08-29 02:01:34,646.646 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:01:34,687.687 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:01:34,775.775 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:01:34,778.778 INFO    ] No camera update needed
[2026-08-29 02:01:34,780.780 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:01:34,783.783 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:01:34,789.789 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:01:34,795.795 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:01:36,837.837 INFO    ] ================================================
[2026-08-29 02:01:36,853.853 INFO    ] Launching Daemon at Sat Aug 29 02:01:36 IST 2026
[2026-08-29 02:01:36,864.864 INFO    ] ================================================
[2026-08-29 02:01:37,221.221 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:01:37
[2026-08-29 02:01:37,555.555 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:01:37,708.708 INFO    ] Initializing speech engine...
[2026-08-29 02:01:37,712.712 INFO    ] 2026-08-29 02:01:37
[2026-08-29 02:01:37,913.913 INFO    ] 2026-08-29 02:01:37
[2026-08-29 02:01:37,958.958 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:01:38,184.184 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:01:38,190.190 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:01:38,323.323 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:01:38,370.370 INFO    ] time= 29/08/2026 02:01:38
[2026-08-29 02:01:38,425.425 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:01:38,458.458 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:01:38,514.514 INFO    ] No existing commands found in stream
[2026-08-29 02:01:43,527.527 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:01:43,530.530 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-08-29 02:01:47,422.422 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:01:47,423.423 INFO    ] Checking for system updates...
[2026-08-29 02:01:47,443.443 INFO    ] 200
[2026-08-29 02:01:47,445.445 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:01:47,474.474 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:01:47,476.476 INFO    ] No update needed
[2026-08-29 02:01:47,477.477 INFO    ] Checking for camera pi updates...
[2026-08-29 02:01:47,497.497 INFO    ] 200
[2026-08-29 02:01:47,499.499 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:01:47,523.523 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:01:47,627.627 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:01:47,628.628 INFO    ] No camera update needed
[2026-08-29 02:01:47,629.629 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:01:47,631.631 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:01:47,634.634 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:01:47,636.636 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:01:49,675.675 INFO    ] ================================================
[2026-08-29 02:01:49,691.691 INFO    ] Launching Daemon at Sat Aug 29 02:01:49 IST 2026
[2026-08-29 02:01:49,701.701 INFO    ] ================================================
[2026-08-29 02:01:50,222.222 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:01:50
[2026-08-29 02:01:50,822.822 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:01:51,102.102 INFO    ] Initializing speech engine...
[2026-08-29 02:01:51,109.109 INFO    ] 2026-08-29 02:01:51
[2026-08-29 02:01:51,370.370 INFO    ] 2026-08-29 02:01:51
[2026-08-29 02:01:51,425.425 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:01:51,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:01:51,599.599 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:01:51,721.721 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:01:51,727.727 INFO    ] time= 29/08/2026 02:01:51
[2026-08-29 02:01:51,734.734 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:01:51,738.738 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:01:51,854.854 INFO    ] No existing commands found in stream
[2026-08-29 02:01:56,865.865 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:01:56,867.867 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-08-29 02:01:57,675.675 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:01:57,676.676 INFO    ] Checking for system updates...
[2026-08-29 02:01:57,697.697 INFO    ] 200
[2026-08-29 02:01:57,699.699 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:01:57,729.729 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:01:57,731.731 INFO    ] No update needed
[2026-08-29 02:01:57,732.732 INFO    ] Checking for camera pi updates...
[2026-08-29 02:01:57,754.754 INFO    ] 200
[2026-08-29 02:01:57,755.755 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:01:57,779.779 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:01:57,863.863 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:01:57,865.865 INFO    ] No camera update needed
[2026-08-29 02:01:57,866.866 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:01:57,867.867 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:01:57,870.870 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:01:57,873.873 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:01:59,912.912 INFO    ] ================================================
[2026-08-29 02:01:59,928.928 INFO    ] Launching Daemon at Sat Aug 29 02:01:59 IST 2026
[2026-08-29 02:01:59,939.939 INFO    ] ================================================
[2026-08-29 02:02:00,293.293 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:02:00
[2026-08-29 02:02:00,604.604 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:02:00,763.763 INFO    ] Initializing speech engine...
[2026-08-29 02:02:00,777.777 INFO    ] 2026-08-29 02:02:00
[2026-08-29 02:02:01,044.044 INFO    ] 2026-08-29 02:02:01
[2026-08-29 02:02:01,078.078 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:02:01,254.254 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:02:01,266.266 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:02:01,411.411 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:02:01,418.418 INFO    ] time= 29/08/2026 02:02:01
[2026-08-29 02:02:01,428.428 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:02:01,490.490 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:02:01,595.595 INFO    ] No existing commands found in stream
[2026-08-29 02:02:06,625.625 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:02:06,626.626 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-08-29 02:02:10,278.278 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:02:10,279.279 INFO    ] Checking for system updates...
[2026-08-29 02:02:10,299.299 INFO    ] 200
[2026-08-29 02:02:10,301.301 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:02:10,331.331 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:02:10,332.332 INFO    ] No update needed
[2026-08-29 02:02:10,334.334 INFO    ] Checking for camera pi updates...
[2026-08-29 02:02:10,353.353 INFO    ] 200
[2026-08-29 02:02:10,354.354 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:02:10,377.377 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:02:10,460.460 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:02:10,463.463 INFO    ] No camera update needed
[2026-08-29 02:02:10,465.465 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:02:10,468.468 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:02:10,473.473 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:02:10,478.478 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:02:12,518.518 INFO    ] ================================================
[2026-08-29 02:02:12,533.533 INFO    ] Launching Daemon at Sat Aug 29 02:02:12 IST 2026
[2026-08-29 02:02:12,544.544 INFO    ] ================================================
[2026-08-29 02:02:13,128.128 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:02:13
[2026-08-29 02:02:13,553.553 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:02:13,698.698 INFO    ] Initializing speech engine...
[2026-08-29 02:02:13,708.708 INFO    ] 2026-08-29 02:02:13
[2026-08-29 02:02:13,917.917 INFO    ] 2026-08-29 02:02:13
[2026-08-29 02:02:13,945.945 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:02:14,068.068 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:02:14,126.126 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:02:14,285.285 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:02:14,338.338 INFO    ] time= 29/08/2026 02:02:14
[2026-08-29 02:02:14,360.360 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:02:14,367.367 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:02:14,432.432 INFO    ] No existing commands found in stream
[2026-08-29 02:02:19,443.443 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:02:19,447.447 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-08-29 02:02:22,608.608 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:02:22,610.610 INFO    ] Checking for system updates...
[2026-08-29 02:02:22,631.631 INFO    ] 200
[2026-08-29 02:02:22,633.633 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:02:22,664.664 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:02:22,665.665 INFO    ] No update needed
[2026-08-29 02:02:22,667.667 INFO    ] Checking for camera pi updates...
[2026-08-29 02:02:22,688.688 INFO    ] 200
[2026-08-29 02:02:22,690.690 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:02:22,715.715 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:02:22,792.792 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:02:22,794.794 INFO    ] No camera update needed
[2026-08-29 02:02:22,795.795 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:02:22,796.796 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:02:22,800.800 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:02:22,803.803 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:02:24,842.842 INFO    ] ================================================
[2026-08-29 02:02:24,857.857 INFO    ] Launching Daemon at Sat Aug 29 02:02:24 IST 2026
[2026-08-29 02:02:24,868.868 INFO    ] ================================================
[2026-08-29 02:02:25,373.373 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:02:25
[2026-08-29 02:02:25,958.958 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:02:26,219.219 INFO    ] Initializing speech engine...
[2026-08-29 02:02:26,239.239 INFO    ] 2026-08-29 02:02:26
[2026-08-29 02:02:26,490.490 INFO    ] 2026-08-29 02:02:26
[2026-08-29 02:02:26,525.525 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:02:26,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:02:26,713.713 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:02:26,826.826 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:02:26,844.844 INFO    ] time= 29/08/2026 02:02:26
[2026-08-29 02:02:26,864.864 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:02:26,872.872 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:02:26,941.941 INFO    ] No existing commands found in stream
[2026-08-29 02:02:31,951.951 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:02:31,954.954 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-08-29 02:02:37,179.179 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:02:37,182.182 INFO    ] Checking for system updates...
[2026-08-29 02:02:37,217.217 INFO    ] 200
[2026-08-29 02:02:37,220.220 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:02:37,271.271 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:02:37,274.274 INFO    ] No update needed
[2026-08-29 02:02:37,277.277 INFO    ] Checking for camera pi updates...
[2026-08-29 02:02:37,311.311 INFO    ] 200
[2026-08-29 02:02:37,313.313 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:02:37,338.338 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:02:37,413.413 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:02:37,414.414 INFO    ] No camera update needed
[2026-08-29 02:02:37,415.415 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:02:37,416.416 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:02:37,420.420 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:02:37,425.425 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:02:39,465.465 INFO    ] ================================================
[2026-08-29 02:02:39,480.480 INFO    ] Launching Daemon at Sat Aug 29 02:02:39 IST 2026
[2026-08-29 02:02:39,491.491 INFO    ] ================================================
[2026-08-29 02:02:40,081.081 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:02:40
[2026-08-29 02:02:40,574.574 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:02:40,718.718 INFO    ] Initializing speech engine...
[2026-08-29 02:02:40,723.723 INFO    ] 2026-08-29 02:02:40
[2026-08-29 02:02:40,955.955 INFO    ] 2026-08-29 02:02:40
[2026-08-29 02:02:41,021.021 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:02:41,245.245 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:02:41,254.254 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:02:41,386.386 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:02:41,428.428 INFO    ] time= 29/08/2026 02:02:41
[2026-08-29 02:02:41,499.499 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:02:41,523.523 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:02:41,571.571 INFO    ] No existing commands found in stream
[2026-08-29 02:02:46,584.584 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:02:46,587.587 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-08-29 02:02:50,607.607 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:02:50,608.608 INFO    ] Checking for system updates...
[2026-08-29 02:02:50,630.630 INFO    ] 200
[2026-08-29 02:02:50,631.631 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:02:50,661.661 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:02:50,663.663 INFO    ] No update needed
[2026-08-29 02:02:50,664.664 INFO    ] Checking for camera pi updates...
[2026-08-29 02:02:50,685.685 INFO    ] 200
[2026-08-29 02:02:50,686.686 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:02:50,711.711 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:02:50,882.882 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:02:50,884.884 INFO    ] No camera update needed
[2026-08-29 02:02:50,885.885 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:02:50,886.886 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:02:50,889.889 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:02:50,892.892 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:02:52,931.931 INFO    ] ================================================
[2026-08-29 02:02:52,947.947 INFO    ] Launching Daemon at Sat Aug 29 02:02:52 IST 2026
[2026-08-29 02:02:52,958.958 INFO    ] ================================================
[2026-08-29 02:02:53,321.321 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:02:53
[2026-08-29 02:02:53,786.786 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:02:54,049.049 INFO    ] Initializing speech engine...
[2026-08-29 02:02:54,068.068 INFO    ] 2026-08-29 02:02:54
[2026-08-29 02:02:54,319.319 INFO    ] 2026-08-29 02:02:54
[2026-08-29 02:02:54,354.354 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:02:54,532.532 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:02:54,545.545 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:02:54,689.689 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:02:54,697.697 INFO    ] time= 29/08/2026 02:02:54
[2026-08-29 02:02:54,702.702 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:02:54,710.710 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:02:54,842.842 INFO    ] No existing commands found in stream
[2026-08-29 02:02:59,867.867 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:02:59,870.870 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-08-29 02:03:00,795.795 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:03:00,797.797 INFO    ] Checking for system updates...
[2026-08-29 02:03:00,818.818 INFO    ] 200
[2026-08-29 02:03:00,820.820 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:03:00,850.850 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:03:00,851.851 INFO    ] No update needed
[2026-08-29 02:03:00,852.852 INFO    ] Checking for camera pi updates...
[2026-08-29 02:03:00,872.872 INFO    ] 200
[2026-08-29 02:03:00,874.874 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:03:00,897.897 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:03:00,976.976 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:03:00,977.977 INFO    ] No camera update needed
[2026-08-29 02:03:00,978.978 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:03:00,979.979 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:03:00,982.982 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:03:00,985.985 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:03:03,029.029 INFO    ] ================================================
[2026-08-29 02:03:03,050.050 INFO    ] Launching Daemon at Sat Aug 29 02:03:03 IST 2026
[2026-08-29 02:03:03,067.067 INFO    ] ================================================
[2026-08-29 02:03:03,712.712 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:03:03
[2026-08-29 02:03:04,341.341 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:03:04,656.656 INFO    ] Initializing speech engine...
[2026-08-29 02:03:04,668.668 INFO    ] 2026-08-29 02:03:04
[2026-08-29 02:03:04,984.984 INFO    ] 2026-08-29 02:03:04
[2026-08-29 02:03:05,071.071 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:03:05,226.226 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:03:05,235.235 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:03:05,381.381 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:03:05,385.385 INFO    ] time= 29/08/2026 02:03:05
[2026-08-29 02:03:05,395.395 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:03:05,411.411 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:03:05,519.519 INFO    ] No existing commands found in stream
[2026-08-29 02:03:10,533.533 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:03:10,537.537 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-08-29 02:03:12,927.927 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:03:12,931.931 INFO    ] Checking for system updates...
[2026-08-29 02:03:12,968.968 INFO    ] 200
[2026-08-29 02:03:12,971.971 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:03:13,031.031 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:03:13,035.035 INFO    ] No update needed
[2026-08-29 02:03:13,038.038 INFO    ] Checking for camera pi updates...
[2026-08-29 02:03:13,077.077 INFO    ] 200
[2026-08-29 02:03:13,079.079 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:03:13,125.125 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:03:13,227.227 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:03:13,230.230 INFO    ] No camera update needed
[2026-08-29 02:03:13,232.232 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:03:13,234.234 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:03:13,239.239 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:03:13,244.244 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:03:15,285.285 INFO    ] ================================================
[2026-08-29 02:03:15,300.300 INFO    ] Launching Daemon at Sat Aug 29 02:03:15 IST 2026
[2026-08-29 02:03:15,311.311 INFO    ] ================================================
[2026-08-29 02:03:15,678.678 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:03:15
[2026-08-29 02:03:15,990.990 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:03:16,127.127 INFO    ] Initializing speech engine...
[2026-08-29 02:03:16,137.137 INFO    ] 2026-08-29 02:03:16
[2026-08-29 02:03:16,341.341 INFO    ] 2026-08-29 02:03:16
[2026-08-29 02:03:16,369.369 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:03:16,510.510 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:03:16,558.558 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:03:16,697.697 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:03:16,761.761 INFO    ] time= 29/08/2026 02:03:16
[2026-08-29 02:03:16,785.785 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:03:16,829.829 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:03:16,940.940 INFO    ] No existing commands found in stream
[2026-08-29 02:03:21,970.970 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:03:21,973.973 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-08-29 02:03:23,639.639 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:03:23,640.640 INFO    ] Checking for system updates...
[2026-08-29 02:03:23,662.662 INFO    ] 200
[2026-08-29 02:03:23,663.663 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:03:23,694.694 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:03:23,695.695 INFO    ] No update needed
[2026-08-29 02:03:23,696.696 INFO    ] Checking for camera pi updates...
[2026-08-29 02:03:23,717.717 INFO    ] 200
[2026-08-29 02:03:23,718.718 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:03:23,741.741 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:03:23,825.825 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:03:23,827.827 INFO    ] No camera update needed
[2026-08-29 02:03:23,828.828 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:03:23,829.829 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:03:23,832.832 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:03:23,835.835 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:03:25,867.867 INFO    ] ================================================
[2026-08-29 02:03:25,875.875 INFO    ] Launching Daemon at Sat Aug 29 02:03:25 IST 2026
[2026-08-29 02:03:25,881.881 INFO    ] ================================================
[2026-08-29 02:03:26,483.483 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:03:26
[2026-08-29 02:03:27,080.080 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:03:27,359.359 INFO    ] Initializing speech engine...
[2026-08-29 02:03:27,366.366 INFO    ] 2026-08-29 02:03:27
[2026-08-29 02:03:27,620.620 INFO    ] 2026-08-29 02:03:27
[2026-08-29 02:03:27,680.680 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:03:27,830.830 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:03:27,846.846 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:03:27,974.974 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:03:27,982.982 INFO    ] time= 29/08/2026 02:03:27
[2026-08-29 02:03:27,990.990 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:03:28,029.029 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:03:28,163.163 INFO    ] No existing commands found in stream
[2026-08-29 02:03:33,188.188 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:03:33,191.191 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-08-29 02:03:35,321.321 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:03:35,324.324 INFO    ] Checking for system updates...
[2026-08-29 02:03:35,359.359 INFO    ] 200
[2026-08-29 02:03:35,362.362 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:03:35,414.414 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:03:35,415.415 INFO    ] No update needed
[2026-08-29 02:03:35,417.417 INFO    ] Checking for camera pi updates...
[2026-08-29 02:03:35,436.436 INFO    ] 200
[2026-08-29 02:03:35,437.437 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:03:35,460.460 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:03:35,537.537 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:03:35,539.539 INFO    ] No camera update needed
[2026-08-29 02:03:35,540.540 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:03:35,541.541 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:03:35,544.544 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:03:35,547.547 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:03:37,586.586 INFO    ] ================================================
[2026-08-29 02:03:37,601.601 INFO    ] Launching Daemon at Sat Aug 29 02:03:37 IST 2026
[2026-08-29 02:03:37,612.612 INFO    ] ================================================
[2026-08-29 02:03:37,961.961 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:03:37
[2026-08-29 02:03:38,279.279 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:03:38,421.421 INFO    ] Initializing speech engine...
[2026-08-29 02:03:38,426.426 INFO    ] 2026-08-29 02:03:38
[2026-08-29 02:03:38,632.632 INFO    ] 2026-08-29 02:03:38
[2026-08-29 02:03:38,681.681 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:03:38,846.846 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:03:38,851.851 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:03:39,016.016 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:03:39,048.048 INFO    ] time= 29/08/2026 02:03:39
[2026-08-29 02:03:39,054.054 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:03:39,075.075 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:03:39,192.192 INFO    ] No existing commands found in stream
[2026-08-29 02:03:44,211.211 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:03:44,214.214 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-08-29 02:03:45,437.437 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:03:45,438.438 INFO    ] Checking for system updates...
[2026-08-29 02:03:45,459.459 INFO    ] 200
[2026-08-29 02:03:45,460.460 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:03:45,493.493 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:03:45,494.494 INFO    ] No update needed
[2026-08-29 02:03:45,496.496 INFO    ] Checking for camera pi updates...
[2026-08-29 02:03:45,517.517 INFO    ] 200
[2026-08-29 02:03:45,518.518 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:03:45,544.544 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:03:45,623.623 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:03:45,624.624 INFO    ] No camera update needed
[2026-08-29 02:03:45,626.626 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:03:45,627.627 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:03:45,630.630 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:03:45,633.633 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:03:47,673.673 INFO    ] ================================================
[2026-08-29 02:03:47,689.689 INFO    ] Launching Daemon at Sat Aug 29 02:03:47 IST 2026
[2026-08-29 02:03:47,700.700 INFO    ] ================================================
[2026-08-29 02:03:48,068.068 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:03:48
[2026-08-29 02:03:48,406.406 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:03:48,560.560 INFO    ] Initializing speech engine...
[2026-08-29 02:03:48,565.565 INFO    ] 2026-08-29 02:03:48
[2026-08-29 02:03:48,819.819 INFO    ] 2026-08-29 02:03:48
[2026-08-29 02:03:48,882.882 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:03:49,018.018 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:03:49,024.024 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:03:49,224.224 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:03:49,267.267 INFO    ] time= 29/08/2026 02:03:49
[2026-08-29 02:03:49,286.286 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:03:49,296.296 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:03:49,414.414 INFO    ] No existing commands found in stream
[2026-08-29 02:03:54,440.440 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:03:54,443.443 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-08-29 02:03:58,699.699 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:03:58,701.701 INFO    ] Checking for system updates...
[2026-08-29 02:03:58,727.727 INFO    ] 200
[2026-08-29 02:03:58,729.729 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:03:58,762.762 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:03:58,763.763 INFO    ] No update needed
[2026-08-29 02:03:58,764.764 INFO    ] Checking for camera pi updates...
[2026-08-29 02:03:58,784.784 INFO    ] 200
[2026-08-29 02:03:58,785.785 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:03:58,810.810 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:03:58,890.890 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:03:58,892.892 INFO    ] No camera update needed
[2026-08-29 02:03:58,894.894 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:03:58,897.897 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:03:58,902.902 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:03:58,907.907 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:04:00,948.948 INFO    ] ================================================
[2026-08-29 02:04:00,963.963 INFO    ] Launching Daemon at Sat Aug 29 02:04:00 IST 2026
[2026-08-29 02:04:00,974.974 INFO    ] ================================================
[2026-08-29 02:04:01,566.566 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:04:01
[2026-08-29 02:04:02,283.283 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:04:02,602.602 INFO    ] Initializing speech engine...
[2026-08-29 02:04:02,611.611 INFO    ] 2026-08-29 02:04:02
[2026-08-29 02:04:02,908.908 INFO    ] 2026-08-29 02:04:02
[2026-08-29 02:04:02,951.951 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:04:03,173.173 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:04:03,216.216 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:04:03,383.383 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:04:03,430.430 INFO    ] time= 29/08/2026 02:04:03
[2026-08-29 02:04:03,483.483 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:04:03,543.543 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:04:03,602.602 INFO    ] No existing commands found in stream
[2026-08-29 02:04:08,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:04:08,618.618 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-08-29 02:04:12,065.065 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:04:12,067.067 INFO    ] Checking for system updates...
[2026-08-29 02:04:12,089.089 INFO    ] 200
[2026-08-29 02:04:12,091.091 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:04:12,122.122 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:04:12,123.123 INFO    ] No update needed
[2026-08-29 02:04:12,125.125 INFO    ] Checking for camera pi updates...
[2026-08-29 02:04:12,160.160 INFO    ] 200
[2026-08-29 02:04:12,163.163 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:04:12,209.209 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:04:12,298.298 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:04:12,301.301 INFO    ] No camera update needed
[2026-08-29 02:04:12,304.304 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:04:12,306.306 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:04:12,313.313 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:04:12,318.318 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:04:14,361.361 INFO    ] ================================================
[2026-08-29 02:04:14,376.376 INFO    ] Launching Daemon at Sat Aug 29 02:04:14 IST 2026
[2026-08-29 02:04:14,387.387 INFO    ] ================================================
[2026-08-29 02:04:14,954.954 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:04:14
[2026-08-29 02:04:15,407.407 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:04:15,543.543 INFO    ] Initializing speech engine...
[2026-08-29 02:04:15,556.556 INFO    ] 2026-08-29 02:04:15
[2026-08-29 02:04:15,750.750 INFO    ] 2026-08-29 02:04:15
[2026-08-29 02:04:15,779.779 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:04:15,967.967 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:04:15,978.978 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:04:16,087.087 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:04:16,091.091 INFO    ] time= 29/08/2026 02:04:16
[2026-08-29 02:04:16,097.097 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:04:16,119.119 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:04:16,169.169 INFO    ] No existing commands found in stream
[2026-08-29 02:04:21,180.180 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:04:21,183.183 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-08-29 02:04:23,235.235 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:04:23,236.236 INFO    ] Checking for system updates...
[2026-08-29 02:04:23,257.257 INFO    ] 200
[2026-08-29 02:04:23,258.258 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:04:23,290.290 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:04:23,291.291 INFO    ] No update needed
[2026-08-29 02:04:23,293.293 INFO    ] Checking for camera pi updates...
[2026-08-29 02:04:23,312.312 INFO    ] 200
[2026-08-29 02:04:23,313.313 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:04:23,338.338 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:04:23,414.414 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:04:23,415.415 INFO    ] No camera update needed
[2026-08-29 02:04:23,417.417 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:04:23,418.418 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:04:23,421.421 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:04:23,423.423 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:04:25,462.462 INFO    ] ================================================
[2026-08-29 02:04:25,478.478 INFO    ] Launching Daemon at Sat Aug 29 02:04:25 IST 2026
[2026-08-29 02:04:25,489.489 INFO    ] ================================================
[2026-08-29 02:04:25,985.985 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:04:25
[2026-08-29 02:04:26,570.570 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:04:26,826.826 INFO    ] Initializing speech engine...
[2026-08-29 02:04:26,835.835 INFO    ] 2026-08-29 02:04:26
[2026-08-29 02:04:27,129.129 INFO    ] 2026-08-29 02:04:27
[2026-08-29 02:04:27,163.163 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:04:27,310.310 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:04:27,316.316 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:04:27,472.472 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:04:27,481.481 INFO    ] time= 29/08/2026 02:04:27
[2026-08-29 02:04:27,486.486 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:04:27,491.491 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:04:27,558.558 INFO    ] No existing commands found in stream
[2026-08-29 02:04:32,572.572 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:04:32,575.575 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 02:04:34,210.210 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:04:34,213.213 INFO    ] Checking for system updates...
[2026-08-29 02:04:34,253.253 INFO    ] 200
[2026-08-29 02:04:34,256.256 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:04:34,309.309 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:04:34,311.311 INFO    ] No update needed
[2026-08-29 02:04:34,314.314 INFO    ] Checking for camera pi updates...
[2026-08-29 02:04:34,350.350 INFO    ] 200
[2026-08-29 02:04:34,353.353 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:04:34,394.394 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:04:34,508.508 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:04:34,510.510 INFO    ] No camera update needed
[2026-08-29 02:04:34,513.513 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:04:34,515.515 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:04:34,520.520 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:04:34,525.525 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:04:36,565.565 INFO    ] ================================================
[2026-08-29 02:04:36,580.580 INFO    ] Launching Daemon at Sat Aug 29 02:04:36 IST 2026
[2026-08-29 02:04:36,592.592 INFO    ] ================================================
[2026-08-29 02:04:36,933.933 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:04:36
[2026-08-29 02:04:37,256.256 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:04:37,392.392 INFO    ] Initializing speech engine...
[2026-08-29 02:04:37,403.403 INFO    ] 2026-08-29 02:04:37
[2026-08-29 02:04:37,627.627 INFO    ] 2026-08-29 02:04:37
[2026-08-29 02:04:37,658.658 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:04:37,755.755 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:04:37,758.758 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:04:37,866.866 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:04:37,875.875 INFO    ] time= 29/08/2026 02:04:37
[2026-08-29 02:04:37,881.881 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:04:37,896.896 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:04:37,969.969 INFO    ] No existing commands found in stream
[2026-08-29 02:04:42,998.998 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:04:43,001.001 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 02:04:43,549.549 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:04:43,550.550 INFO    ] Checking for system updates...
[2026-08-29 02:04:43,571.571 INFO    ] 200
[2026-08-29 02:04:43,572.572 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:04:43,602.602 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:04:43,603.603 INFO    ] No update needed
[2026-08-29 02:04:43,605.605 INFO    ] Checking for camera pi updates...
[2026-08-29 02:04:43,624.624 INFO    ] 200
[2026-08-29 02:04:43,625.625 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:04:43,648.648 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:04:43,737.737 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:04:43,739.739 INFO    ] No camera update needed
[2026-08-29 02:04:43,740.740 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:04:43,741.741 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:04:43,744.744 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:04:43,747.747 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:04:45,785.785 INFO    ] ================================================
[2026-08-29 02:04:45,800.800 INFO    ] Launching Daemon at Sat Aug 29 02:04:45 IST 2026
[2026-08-29 02:04:45,811.811 INFO    ] ================================================
[2026-08-29 02:04:46,177.177 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:04:46
[2026-08-29 02:04:46,512.512 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:04:46,664.664 INFO    ] Initializing speech engine...
[2026-08-29 02:04:46,670.670 INFO    ] 2026-08-29 02:04:46
[2026-08-29 02:04:46,880.880 INFO    ] 2026-08-29 02:04:46
[2026-08-29 02:04:46,910.910 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:04:47,020.020 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:04:47,022.022 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:04:47,148.148 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:04:47,157.157 INFO    ] time= 29/08/2026 02:04:47
[2026-08-29 02:04:47,213.213 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:04:47,251.251 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:04:47,360.360 INFO    ] No existing commands found in stream
[2026-08-29 02:04:52,384.384 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:04:52,387.387 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-08-29 02:04:55,910.910 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:04:55,911.911 INFO    ] Checking for system updates...
[2026-08-29 02:04:55,932.932 INFO    ] 200
[2026-08-29 02:04:55,934.934 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:04:55,964.964 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:04:55,966.966 INFO    ] No update needed
[2026-08-29 02:04:55,967.967 INFO    ] Checking for camera pi updates...
[2026-08-29 02:04:55,988.988 INFO    ] 200
[2026-08-29 02:04:55,989.989 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:04:56,013.013 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:04:56,188.188 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:04:56,189.189 INFO    ] No camera update needed
[2026-08-29 02:04:56,190.190 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:04:56,192.192 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:04:56,195.195 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:04:56,198.198 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:04:58,237.237 INFO    ] ================================================
[2026-08-29 02:04:58,252.252 INFO    ] Launching Daemon at Sat Aug 29 02:04:58 IST 2026
[2026-08-29 02:04:58,263.263 INFO    ] ================================================
[2026-08-29 02:04:58,758.758 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:04:58
[2026-08-29 02:04:59,348.348 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:04:59,617.617 INFO    ] Initializing speech engine...
[2026-08-29 02:04:59,627.627 INFO    ] 2026-08-29 02:04:59
[2026-08-29 02:04:59,873.873 INFO    ] 2026-08-29 02:04:59
[2026-08-29 02:04:59,909.909 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:05:00,089.089 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:05:00,108.108 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:05:00,235.235 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:05:00,240.240 INFO    ] time= 29/08/2026 02:05:00
[2026-08-29 02:05:00,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:05:00,297.297 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:05:00,408.408 INFO    ] No existing commands found in stream
[2026-08-29 02:05:05,433.433 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:05:05,436.436 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-08-29 02:05:09,102.102 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:05:09,104.104 INFO    ] Checking for system updates...
[2026-08-29 02:05:09,125.125 INFO    ] 200
[2026-08-29 02:05:09,126.126 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:05:09,160.160 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:05:09,161.161 INFO    ] No update needed
[2026-08-29 02:05:09,163.163 INFO    ] Checking for camera pi updates...
[2026-08-29 02:05:09,182.182 INFO    ] 200
[2026-08-29 02:05:09,183.183 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:05:09,206.206 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:05:09,307.307 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:05:09,308.308 INFO    ] No camera update needed
[2026-08-29 02:05:09,310.310 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:05:09,311.311 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:05:09,314.314 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:05:09,317.317 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:05:11,356.356 INFO    ] ================================================
[2026-08-29 02:05:11,372.372 INFO    ] Launching Daemon at Sat Aug 29 02:05:11 IST 2026
[2026-08-29 02:05:11,384.384 INFO    ] ================================================
[2026-08-29 02:05:11,948.948 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:05:11
[2026-08-29 02:05:12,531.531 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:05:12,811.811 INFO    ] Initializing speech engine...
[2026-08-29 02:05:12,821.821 INFO    ] 2026-08-29 02:05:12
[2026-08-29 02:05:13,085.085 INFO    ] 2026-08-29 02:05:13
[2026-08-29 02:05:13,120.120 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:05:13,311.311 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:05:13,317.317 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:05:13,447.447 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:05:13,455.455 INFO    ] time= 29/08/2026 02:05:13
[2026-08-29 02:05:13,472.472 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:05:13,495.495 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:05:13,575.575 INFO    ] No existing commands found in stream
[2026-08-29 02:05:18,585.585 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:05:18,588.588 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-08-29 02:05:22,675.675 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:05:22,676.676 INFO    ] Checking for system updates...
[2026-08-29 02:05:22,697.697 INFO    ] 200
[2026-08-29 02:05:22,698.698 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:05:22,729.729 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:05:22,730.730 INFO    ] No update needed
[2026-08-29 02:05:22,731.731 INFO    ] Checking for camera pi updates...
[2026-08-29 02:05:22,751.751 INFO    ] 200
[2026-08-29 02:05:22,753.753 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:05:22,776.776 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:05:22,855.855 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:05:22,857.857 INFO    ] No camera update needed
[2026-08-29 02:05:22,859.859 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:05:22,861.861 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:05:22,867.867 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:05:22,872.872 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:05:24,912.912 INFO    ] ================================================
[2026-08-29 02:05:24,928.928 INFO    ] Launching Daemon at Sat Aug 29 02:05:24 IST 2026
[2026-08-29 02:05:24,939.939 INFO    ] ================================================
[2026-08-29 02:05:25,521.521 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:05:25
[2026-08-29 02:05:26,040.040 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:05:26,185.185 INFO    ] Initializing speech engine...
[2026-08-29 02:05:26,189.189 INFO    ] 2026-08-29 02:05:26
[2026-08-29 02:05:26,393.393 INFO    ] 2026-08-29 02:05:26
[2026-08-29 02:05:26,423.423 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:05:26,544.544 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:05:26,607.607 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:05:26,741.741 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:05:26,790.790 INFO    ] time= 29/08/2026 02:05:26
[2026-08-29 02:05:26,854.854 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:05:26,886.886 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:05:27,023.023 INFO    ] No existing commands found in stream
[2026-08-29 02:05:32,057.057 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:05:32,059.059 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-08-29 02:05:35,888.888 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:05:35,890.890 INFO    ] Checking for system updates...
[2026-08-29 02:05:35,910.910 INFO    ] 200
[2026-08-29 02:05:35,911.911 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:05:35,944.944 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:05:35,945.945 INFO    ] No update needed
[2026-08-29 02:05:35,946.946 INFO    ] Checking for camera pi updates...
[2026-08-29 02:05:35,966.966 INFO    ] 200
[2026-08-29 02:05:35,967.967 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:05:35,994.994 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:05:36,096.096 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:05:36,097.097 INFO    ] No camera update needed
[2026-08-29 02:05:36,098.098 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:05:36,100.100 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:05:36,103.103 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:05:36,105.105 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:05:38,144.144 INFO    ] ================================================
[2026-08-29 02:05:38,159.159 INFO    ] Launching Daemon at Sat Aug 29 02:05:38 IST 2026
[2026-08-29 02:05:38,171.171 INFO    ] ================================================
[2026-08-29 02:05:38,527.527 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:05:38
[2026-08-29 02:05:38,843.843 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:05:38,980.980 INFO    ] Initializing speech engine...
[2026-08-29 02:05:38,993.993 INFO    ] 2026-08-29 02:05:38
[2026-08-29 02:05:39,182.182 INFO    ] 2026-08-29 02:05:39
[2026-08-29 02:05:39,268.268 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:05:39,429.429 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:05:39,439.439 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:05:39,585.585 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:05:39,612.612 INFO    ] time= 29/08/2026 02:05:39
[2026-08-29 02:05:39,671.671 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:05:39,726.726 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:05:39,786.786 INFO    ] No existing commands found in stream
[2026-08-29 02:05:44,798.798 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:05:44,801.801 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-08-29 02:05:45,593.593 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:05:45,596.596 INFO    ] Checking for system updates...
[2026-08-29 02:05:45,653.653 INFO    ] 200
[2026-08-29 02:05:45,656.656 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 02:05:45,659.659 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-08-29 02:05:45,661.661 INFO    ] Checking for camera pi updates...
[2026-08-29 02:05:45,711.711 INFO    ] 200
[2026-08-29 02:05:45,714.714 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 02:05:45,716.716 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-08-29 02:05:45,719.719 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:05:45,722.722 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:05:45,728.728 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:05:45,734.734 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:05:47,774.774 INFO    ] ================================================
[2026-08-29 02:05:47,790.790 INFO    ] Launching Daemon at Sat Aug 29 02:05:47 IST 2026
[2026-08-29 02:05:47,800.800 INFO    ] ================================================
[2026-08-29 02:05:48,397.397 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:05:48
[2026-08-29 02:05:49,003.003 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:05:49,283.283 INFO    ] Initializing speech engine...
[2026-08-29 02:05:49,303.303 INFO    ] 2026-08-29 02:05:49
[2026-08-29 02:05:49,576.576 INFO    ] 2026-08-29 02:05:49
[2026-08-29 02:05:49,611.611 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:05:49,753.753 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:05:49,813.813 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:05:51,216.216 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:05:51,224.224 INFO    ] time= 29/08/2026 02:05:51
[2026-08-29 02:05:51,230.230 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:05:51,239.239 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:05:51,285.285 INFO    ] No existing commands found in stream
[2026-08-29 02:05:56,294.294 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:05:56,297.297 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-08-29 02:05:56,962.962 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:05:56,963.963 INFO    ] Checking for system updates...
[2026-08-29 02:05:56,983.983 INFO    ] 200
[2026-08-29 02:05:56,985.985 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:05:57,017.017 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:05:57,020.020 INFO    ] No update needed
[2026-08-29 02:05:57,022.022 INFO    ] Checking for camera pi updates...
[2026-08-29 02:05:57,056.056 INFO    ] 200
[2026-08-29 02:05:57,058.058 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:05:57,098.098 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:05:57,179.179 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:05:57,182.182 INFO    ] No camera update needed
[2026-08-29 02:05:57,184.184 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:05:57,186.186 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:05:57,192.192 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:05:57,197.197 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:05:59,238.238 INFO    ] ================================================
[2026-08-29 02:05:59,260.260 INFO    ] Launching Daemon at Sat Aug 29 02:05:59 IST 2026
[2026-08-29 02:05:59,272.272 INFO    ] ================================================
[2026-08-29 02:05:59,865.865 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:05:59
[2026-08-29 02:06:00,324.324 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:06:00,614.614 INFO    ] Initializing speech engine...
[2026-08-29 02:06:00,622.622 INFO    ] 2026-08-29 02:06:00
[2026-08-29 02:06:00,912.912 INFO    ] 2026-08-29 02:06:00
[2026-08-29 02:06:00,958.958 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:06:01,209.209 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:06:01,243.243 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:06:01,433.433 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:06:01,451.451 INFO    ] time= 29/08/2026 02:06:01
[2026-08-29 02:06:01,470.470 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:06:01,488.488 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:06:01,603.603 INFO    ] No existing commands found in stream
[2026-08-29 02:06:06,615.615 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:06:06,618.618 INFO    ] Waiting 3.71 seconds before fallback handling...
[2026-08-29 02:06:10,682.682 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:06:10,684.684 INFO    ] Checking for system updates...
[2026-08-29 02:06:10,706.706 INFO    ] 200
[2026-08-29 02:06:10,708.708 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:06:10,741.741 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:06:10,742.742 INFO    ] No update needed
[2026-08-29 02:06:10,744.744 INFO    ] Checking for camera pi updates...
[2026-08-29 02:06:10,765.765 INFO    ] 200
[2026-08-29 02:06:10,766.766 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:06:10,792.792 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:06:10,898.898 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:06:10,899.899 INFO    ] No camera update needed
[2026-08-29 02:06:10,900.900 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:06:10,902.902 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:06:10,905.905 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:06:10,908.908 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:06:12,948.948 INFO    ] ================================================
[2026-08-29 02:06:12,963.963 INFO    ] Launching Daemon at Sat Aug 29 02:06:12 IST 2026
[2026-08-29 02:06:12,974.974 INFO    ] ================================================
[2026-08-29 02:06:13,328.328 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:06:13
[2026-08-29 02:06:13,670.670 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:06:13,888.888 INFO    ] Initializing speech engine...
[2026-08-29 02:06:13,903.903 INFO    ] 2026-08-29 02:06:13
[2026-08-29 02:06:14,175.175 INFO    ] 2026-08-29 02:06:14
[2026-08-29 02:06:14,231.231 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:06:14,424.424 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:06:14,427.427 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:06:14,546.546 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:06:14,552.552 INFO    ] time= 29/08/2026 02:06:14
[2026-08-29 02:06:14,575.575 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:06:14,620.620 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:06:14,727.727 INFO    ] No existing commands found in stream
[2026-08-29 02:06:19,752.752 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:06:19,755.755 INFO    ] Waiting 3.71 seconds before fallback handling...
[2026-08-29 02:06:23,891.891 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:06:23,893.893 INFO    ] Checking for system updates...
[2026-08-29 02:06:23,935.935 INFO    ] 200
[2026-08-29 02:06:23,937.937 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:06:23,990.990 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:06:23,993.993 INFO    ] No update needed
[2026-08-29 02:06:23,996.996 INFO    ] Checking for camera pi updates...
[2026-08-29 02:06:24,035.035 INFO    ] 200
[2026-08-29 02:06:24,037.037 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:06:24,088.088 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:06:24,183.183 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:06:24,186.186 INFO    ] No camera update needed
[2026-08-29 02:06:24,189.189 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:06:24,192.192 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:06:24,198.198 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:06:24,204.204 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:06:26,245.245 INFO    ] ================================================
[2026-08-29 02:06:26,260.260 INFO    ] Launching Daemon at Sat Aug 29 02:06:26 IST 2026
[2026-08-29 02:06:26,271.271 INFO    ] ================================================
[2026-08-29 02:06:26,624.624 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:06:26
[2026-08-29 02:06:26,942.942 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:06:27,085.085 INFO    ] Initializing speech engine...
[2026-08-29 02:06:27,090.090 INFO    ] 2026-08-29 02:06:27
[2026-08-29 02:06:27,297.297 INFO    ] 2026-08-29 02:06:27
[2026-08-29 02:06:27,325.325 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:06:27,447.447 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:06:27,509.509 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:06:27,641.641 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:06:27,697.697 INFO    ] time= 29/08/2026 02:06:27
[2026-08-29 02:06:27,751.751 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:06:27,780.780 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:06:27,926.926 INFO    ] No existing commands found in stream
[2026-08-29 02:06:32,948.948 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:06:32,951.951 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-08-29 02:06:33,599.599 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:06:33,601.601 INFO    ] Checking for system updates...
[2026-08-29 02:06:33,637.637 INFO    ] 200
[2026-08-29 02:06:33,639.639 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:06:33,696.696 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:06:33,698.698 INFO    ] No update needed
[2026-08-29 02:06:33,701.701 INFO    ] Checking for camera pi updates...
[2026-08-29 02:06:33,738.738 INFO    ] 200
[2026-08-29 02:06:33,741.741 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:06:33,781.781 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:06:33,880.880 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:06:33,882.882 INFO    ] No camera update needed
[2026-08-29 02:06:33,885.885 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:06:33,887.887 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:06:33,892.892 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:06:33,897.897 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:06:35,937.937 INFO    ] ================================================
[2026-08-29 02:06:35,953.953 INFO    ] Launching Daemon at Sat Aug 29 02:06:35 IST 2026
[2026-08-29 02:06:35,964.964 INFO    ] ================================================
[2026-08-29 02:06:36,584.584 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:06:36
[2026-08-29 02:06:37,266.266 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:06:37,528.528 INFO    ] Initializing speech engine...
[2026-08-29 02:06:37,545.545 INFO    ] 2026-08-29 02:06:37
[2026-08-29 02:06:37,795.795 INFO    ] 2026-08-29 02:06:37
[2026-08-29 02:06:37,829.829 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:06:38,002.002 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:06:38,013.013 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:06:38,157.157 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:06:38,163.163 INFO    ] time= 29/08/2026 02:06:38
[2026-08-29 02:06:38,170.170 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:06:38,215.215 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:06:38,349.349 INFO    ] No existing commands found in stream
[2026-08-29 02:06:43,368.368 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:06:43,371.371 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-08-29 02:06:44,462.462 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:06:44,463.463 INFO    ] Checking for system updates...
[2026-08-29 02:06:44,484.484 INFO    ] 200
[2026-08-29 02:06:44,485.485 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:06:44,521.521 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:06:44,523.523 INFO    ] No update needed
[2026-08-29 02:06:44,524.524 INFO    ] Checking for camera pi updates...
[2026-08-29 02:06:44,544.544 INFO    ] 200
[2026-08-29 02:06:44,545.545 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:06:44,568.568 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:06:44,619.619 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:06:44,620.620 INFO    ] No camera update needed
[2026-08-29 02:06:44,621.621 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:06:44,623.623 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:06:44,625.625 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:06:44,628.628 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:06:46,667.667 INFO    ] ================================================
[2026-08-29 02:06:46,682.682 INFO    ] Launching Daemon at Sat Aug 29 02:06:46 IST 2026
[2026-08-29 02:06:46,693.693 INFO    ] ================================================
[2026-08-29 02:06:47,041.041 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:06:47
[2026-08-29 02:06:47,358.358 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:06:47,502.502 INFO    ] Initializing speech engine...
[2026-08-29 02:06:47,507.507 INFO    ] 2026-08-29 02:06:47
[2026-08-29 02:06:47,697.697 INFO    ] 2026-08-29 02:06:47
[2026-08-29 02:06:47,775.775 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:06:47,922.922 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:06:47,931.931 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:06:48,064.064 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:06:48,086.086 INFO    ] time= 29/08/2026 02:06:48
[2026-08-29 02:06:48,145.145 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:06:48,190.190 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:06:48,251.251 INFO    ] No existing commands found in stream
[2026-08-29 02:06:53,262.262 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:06:53,265.265 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-08-29 02:06:54,362.362 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:06:54,363.363 INFO    ] Checking for system updates...
[2026-08-29 02:06:54,391.391 INFO    ] 200
[2026-08-29 02:06:54,393.393 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:06:54,447.447 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:06:54,450.450 INFO    ] No update needed
[2026-08-29 02:06:54,452.452 INFO    ] Checking for camera pi updates...
[2026-08-29 02:06:54,485.485 INFO    ] 200
[2026-08-29 02:06:54,488.488 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:06:54,533.533 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:06:54,623.623 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:06:54,625.625 INFO    ] No camera update needed
[2026-08-29 02:06:54,627.627 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:06:54,630.630 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:06:54,635.635 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:06:54,640.640 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:06:56,679.679 INFO    ] ================================================
[2026-08-29 02:06:56,695.695 INFO    ] Launching Daemon at Sat Aug 29 02:06:56 IST 2026
[2026-08-29 02:06:56,706.706 INFO    ] ================================================
[2026-08-29 02:06:57,274.274 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:06:57
[2026-08-29 02:06:57,709.709 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:06:57,841.841 INFO    ] Initializing speech engine...
[2026-08-29 02:06:57,854.854 INFO    ] 2026-08-29 02:06:57
[2026-08-29 02:06:58,034.034 INFO    ] 2026-08-29 02:06:58
[2026-08-29 02:06:58,076.076 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:06:58,242.242 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:06:58,254.254 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:06:58,362.362 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:06:58,368.368 INFO    ] time= 29/08/2026 02:06:58
[2026-08-29 02:06:58,386.386 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:06:58,408.408 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:06:58,477.477 INFO    ] No existing commands found in stream
[2026-08-29 02:07:03,490.490 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:07:03,493.493 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-08-29 02:07:07,275.275 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:07:07,276.276 INFO    ] Checking for system updates...
[2026-08-29 02:07:07,299.299 INFO    ] 200
[2026-08-29 02:07:07,300.300 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:07:07,333.333 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:07:07,334.334 INFO    ] No update needed
[2026-08-29 02:07:07,336.336 INFO    ] Checking for camera pi updates...
[2026-08-29 02:07:07,357.357 INFO    ] 200
[2026-08-29 02:07:07,358.358 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:07:07,384.384 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:07:07,473.473 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:07:07,475.475 INFO    ] No camera update needed
[2026-08-29 02:07:07,476.476 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:07:07,477.477 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:07:07,480.480 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:07:07,483.483 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:07:09,524.524 INFO    ] ================================================
[2026-08-29 02:07:09,540.540 INFO    ] Launching Daemon at Sat Aug 29 02:07:09 IST 2026
[2026-08-29 02:07:09,551.551 INFO    ] ================================================
[2026-08-29 02:07:09,917.917 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:07:09
[2026-08-29 02:07:10,241.241 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:07:10,386.386 INFO    ] Initializing speech engine...
[2026-08-29 02:07:10,390.390 INFO    ] 2026-08-29 02:07:10
[2026-08-29 02:07:10,635.635 INFO    ] 2026-08-29 02:07:10
[2026-08-29 02:07:10,694.694 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:07:10,859.859 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:07:10,865.865 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:07:11,030.030 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:07:11,064.064 INFO    ] time= 29/08/2026 02:07:11
[2026-08-29 02:07:11,069.069 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:07:11,087.087 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:07:11,197.197 INFO    ] No existing commands found in stream
[2026-08-29 02:07:16,223.223 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:07:16,226.226 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-08-29 02:07:19,783.783 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:07:19,787.787 INFO    ] Checking for system updates...
[2026-08-29 02:07:19,829.829 INFO    ] 200
[2026-08-29 02:07:19,832.832 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:07:19,896.896 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:07:19,899.899 INFO    ] No update needed
[2026-08-29 02:07:19,902.902 INFO    ] Checking for camera pi updates...
[2026-08-29 02:07:19,941.941 INFO    ] 200
[2026-08-29 02:07:19,945.945 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:07:19,992.992 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:07:20,075.075 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:07:20,078.078 INFO    ] No camera update needed
[2026-08-29 02:07:20,081.081 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:07:20,084.084 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:07:20,090.090 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:07:20,096.096 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:07:22,139.139 INFO    ] ================================================
[2026-08-29 02:07:22,154.154 INFO    ] Launching Daemon at Sat Aug 29 02:07:22 IST 2026
[2026-08-29 02:07:22,165.165 INFO    ] ================================================
[2026-08-29 02:07:22,685.685 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:07:22
[2026-08-29 02:07:23,268.268 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:07:23,537.537 INFO    ] Initializing speech engine...
[2026-08-29 02:07:23,546.546 INFO    ] 2026-08-29 02:07:23
[2026-08-29 02:07:23,806.806 INFO    ] 2026-08-29 02:07:23
[2026-08-29 02:07:23,859.859 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:07:24,000.000 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:07:24,011.011 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:07:24,121.121 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:07:24,140.140 INFO    ] time= 29/08/2026 02:07:24
[2026-08-29 02:07:24,162.162 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:07:24,168.168 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:07:24,237.237 INFO    ] No existing commands found in stream
[2026-08-29 02:07:29,267.267 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:07:29,270.270 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-08-29 02:07:32,632.632 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:07:32,634.634 INFO    ] Checking for system updates...
[2026-08-29 02:07:32,675.675 INFO    ] 200
[2026-08-29 02:07:32,677.677 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:07:32,729.729 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:07:32,731.731 INFO    ] No update needed
[2026-08-29 02:07:32,734.734 INFO    ] Checking for camera pi updates...
[2026-08-29 02:07:32,772.772 INFO    ] 200
[2026-08-29 02:07:32,775.775 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:07:32,816.816 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:07:32,908.908 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:07:32,910.910 INFO    ] No camera update needed
[2026-08-29 02:07:32,912.912 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:07:32,915.915 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:07:32,920.920 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:07:32,925.925 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:07:34,968.968 INFO    ] ================================================
[2026-08-29 02:07:34,984.984 INFO    ] Launching Daemon at Sat Aug 29 02:07:34 IST 2026
[2026-08-29 02:07:34,994.994 INFO    ] ================================================
[2026-08-29 02:07:35,423.423 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:07:35
[2026-08-29 02:07:35,970.970 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:07:36,238.238 INFO    ] Initializing speech engine...
[2026-08-29 02:07:36,247.247 INFO    ] 2026-08-29 02:07:36
[2026-08-29 02:07:36,492.492 INFO    ] 2026-08-29 02:07:36
[2026-08-29 02:07:36,527.527 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:07:36,699.699 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:07:36,712.712 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:07:36,855.855 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:07:36,860.860 INFO    ] time= 29/08/2026 02:07:36
[2026-08-29 02:07:36,866.866 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:07:36,908.908 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:07:37,018.018 INFO    ] No existing commands found in stream
[2026-08-29 02:07:42,043.043 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:07:42,046.046 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-08-29 02:07:44,649.649 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:07:44,650.650 INFO    ] Checking for system updates...
[2026-08-29 02:07:44,672.672 INFO    ] 200
[2026-08-29 02:07:44,674.674 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:07:44,704.704 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:07:44,706.706 INFO    ] No update needed
[2026-08-29 02:07:44,707.707 INFO    ] Checking for camera pi updates...
[2026-08-29 02:07:44,727.727 INFO    ] 200
[2026-08-29 02:07:44,729.729 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:07:44,752.752 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:07:44,828.828 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:07:44,830.830 INFO    ] No camera update needed
[2026-08-29 02:07:44,831.831 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:07:44,832.832 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:07:44,835.835 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:07:44,838.838 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:07:46,879.879 INFO    ] ================================================
[2026-08-29 02:07:46,895.895 INFO    ] Launching Daemon at Sat Aug 29 02:07:46 IST 2026
[2026-08-29 02:07:46,907.907 INFO    ] ================================================
[2026-08-29 02:07:47,244.244 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:07:47
[2026-08-29 02:07:47,557.557 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:07:47,699.699 INFO    ] Initializing speech engine...
[2026-08-29 02:07:47,704.704 INFO    ] 2026-08-29 02:07:47
[2026-08-29 02:07:47,939.939 INFO    ] 2026-08-29 02:07:47
[2026-08-29 02:07:47,998.998 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:07:48,161.161 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:07:48,169.169 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:07:48,329.329 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:07:48,368.368 INFO    ] time= 29/08/2026 02:07:48
[2026-08-29 02:07:48,374.374 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:07:48,395.395 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:07:48,508.508 INFO    ] No existing commands found in stream
[2026-08-29 02:07:53,532.532 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:07:53,535.535 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-08-29 02:07:56,005.005 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:07:56,006.006 INFO    ] Checking for system updates...
[2026-08-29 02:07:56,027.027 INFO    ] 200
[2026-08-29 02:07:56,028.028 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:07:56,058.058 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:07:56,059.059 INFO    ] No update needed
[2026-08-29 02:07:56,060.060 INFO    ] Checking for camera pi updates...
[2026-08-29 02:07:56,081.081 INFO    ] 200
[2026-08-29 02:07:56,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:07:56,108.108 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:07:56,183.183 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:07:56,184.184 INFO    ] No camera update needed
[2026-08-29 02:07:56,185.185 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:07:56,187.187 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:07:56,189.189 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:07:56,192.192 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:07:58,233.233 INFO    ] ================================================
[2026-08-29 02:07:58,249.249 INFO    ] Launching Daemon at Sat Aug 29 02:07:58 IST 2026
[2026-08-29 02:07:58,261.261 INFO    ] ================================================
[2026-08-29 02:07:58,597.597 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:07:58
[2026-08-29 02:07:58,918.918 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:07:59,064.064 INFO    ] Initializing speech engine...
[2026-08-29 02:07:59,068.068 INFO    ] 2026-08-29 02:07:59
[2026-08-29 02:07:59,262.262 INFO    ] 2026-08-29 02:07:59
[2026-08-29 02:07:59,316.316 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:07:59,540.540 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:07:59,549.549 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:07:59,676.676 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:07:59,688.688 INFO    ] time= 29/08/2026 02:07:59
[2026-08-29 02:07:59,715.715 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:07:59,770.770 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:07:59,866.866 INFO    ] No existing commands found in stream
[2026-08-29 02:08:04,878.878 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:08:04,881.881 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-08-29 02:08:07,754.754 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:08:07,755.755 INFO    ] Checking for system updates...
[2026-08-29 02:08:07,776.776 INFO    ] 200
[2026-08-29 02:08:07,777.777 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:08:07,810.810 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:08:07,811.811 INFO    ] No update needed
[2026-08-29 02:08:07,813.813 INFO    ] Checking for camera pi updates...
[2026-08-29 02:08:07,832.832 INFO    ] 200
[2026-08-29 02:08:07,833.833 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:08:07,859.859 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:08:07,937.937 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:08:07,939.939 INFO    ] No camera update needed
[2026-08-29 02:08:07,940.940 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:08:07,941.941 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:08:07,944.944 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:08:07,947.947 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:08:09,989.989 INFO    ] ================================================
[2026-08-29 02:08:10,005.005 INFO    ] Launching Daemon at Sat Aug 29 02:08:09 IST 2026
[2026-08-29 02:08:10,016.016 INFO    ] ================================================
[2026-08-29 02:08:10,382.382 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:08:10
[2026-08-29 02:08:10,694.694 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:08:10,828.828 INFO    ] Initializing speech engine...
[2026-08-29 02:08:10,832.832 INFO    ] 2026-08-29 02:08:10
[2026-08-29 02:08:11,038.038 INFO    ] 2026-08-29 02:08:11
[2026-08-29 02:08:11,081.081 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:08:11,238.238 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:08:11,259.259 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:08:11,422.422 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:08:11,429.429 INFO    ] time= 29/08/2026 02:08:11
[2026-08-29 02:08:11,468.468 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:08:11,517.517 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:08:11,587.587 INFO    ] No existing commands found in stream
[2026-08-29 02:08:16,596.596 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:08:16,599.599 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-08-29 02:08:17,065.065 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:08:17,066.066 INFO    ] Checking for system updates...
[2026-08-29 02:08:17,087.087 INFO    ] 200
[2026-08-29 02:08:17,088.088 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:08:17,121.121 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:08:17,123.123 INFO    ] No update needed
[2026-08-29 02:08:17,124.124 INFO    ] Checking for camera pi updates...
[2026-08-29 02:08:17,144.144 INFO    ] 200
[2026-08-29 02:08:17,145.145 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:08:17,168.168 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:08:17,227.227 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:08:17,230.230 INFO    ] No camera update needed
[2026-08-29 02:08:17,232.232 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:08:17,234.234 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:08:17,239.239 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:08:17,244.244 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:08:19,284.284 INFO    ] ================================================
[2026-08-29 02:08:19,300.300 INFO    ] Launching Daemon at Sat Aug 29 02:08:19 IST 2026
[2026-08-29 02:08:19,311.311 INFO    ] ================================================
[2026-08-29 02:08:19,906.906 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:08:19
[2026-08-29 02:08:20,388.388 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:08:20,621.621 INFO    ] Initializing speech engine...
[2026-08-29 02:08:20,628.628 INFO    ] 2026-08-29 02:08:20
[2026-08-29 02:08:20,894.894 INFO    ] 2026-08-29 02:08:20
[2026-08-29 02:08:20,948.948 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:08:21,117.117 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:08:21,176.176 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:08:21,316.316 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:08:21,364.364 INFO    ] time= 29/08/2026 02:08:21
[2026-08-29 02:08:21,413.413 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:08:21,450.450 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:08:21,520.520 INFO    ] No existing commands found in stream
[2026-08-29 02:08:26,556.556 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:08:26,559.559 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-08-29 02:08:27,239.239 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:08:27,242.242 INFO    ] Checking for system updates...
[2026-08-29 02:08:27,278.278 INFO    ] 200
[2026-08-29 02:08:27,280.280 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:08:27,333.333 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:08:27,335.335 INFO    ] No update needed
[2026-08-29 02:08:27,338.338 INFO    ] Checking for camera pi updates...
[2026-08-29 02:08:27,372.372 INFO    ] 200
[2026-08-29 02:08:27,375.375 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:08:27,421.421 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:08:27,559.559 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:08:27,561.561 INFO    ] No camera update needed
[2026-08-29 02:08:27,564.564 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:08:27,566.566 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:08:27,571.571 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:08:27,576.576 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:08:29,616.616 INFO    ] ================================================
[2026-08-29 02:08:29,631.631 INFO    ] Launching Daemon at Sat Aug 29 02:08:29 IST 2026
[2026-08-29 02:08:29,642.642 INFO    ] ================================================
[2026-08-29 02:08:30,155.155 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:08:30
[2026-08-29 02:08:30,761.761 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:08:31,015.015 INFO    ] Initializing speech engine...
[2026-08-29 02:08:31,021.021 INFO    ] 2026-08-29 02:08:31
[2026-08-29 02:08:31,330.330 INFO    ] 2026-08-29 02:08:31
[2026-08-29 02:08:31,357.357 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:08:31,509.509 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:08:31,525.525 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:08:31,667.667 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:08:31,677.677 INFO    ] time= 29/08/2026 02:08:31
[2026-08-29 02:08:31,684.684 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:08:31,704.704 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:08:31,817.817 INFO    ] No existing commands found in stream
[2026-08-29 02:08:36,829.829 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:08:36,832.832 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-08-29 02:08:38,287.287 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:08:38,288.288 INFO    ] Checking for system updates...
[2026-08-29 02:08:38,310.310 INFO    ] 200
[2026-08-29 02:08:38,311.311 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:08:38,341.341 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:08:38,343.343 INFO    ] No update needed
[2026-08-29 02:08:38,344.344 INFO    ] Checking for camera pi updates...
[2026-08-29 02:08:38,363.363 INFO    ] 200
[2026-08-29 02:08:38,365.365 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:08:38,390.390 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:08:38,479.479 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:08:38,480.480 INFO    ] No camera update needed
[2026-08-29 02:08:38,481.481 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:08:38,483.483 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:08:38,486.486 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:08:38,488.488 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:08:40,527.527 INFO    ] ================================================
[2026-08-29 02:08:40,543.543 INFO    ] Launching Daemon at Sat Aug 29 02:08:40 IST 2026
[2026-08-29 02:08:40,554.554 INFO    ] ================================================
[2026-08-29 02:08:40,894.894 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:08:40
[2026-08-29 02:08:41,216.216 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:08:41,489.489 INFO    ] Initializing speech engine...
[2026-08-29 02:08:41,498.498 INFO    ] 2026-08-29 02:08:41
[2026-08-29 02:08:41,762.762 INFO    ] 2026-08-29 02:08:41
[2026-08-29 02:08:41,816.816 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:08:41,978.978 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:08:42,002.002 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:08:42,179.179 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:08:42,216.216 INFO    ] time= 29/08/2026 02:08:42
[2026-08-29 02:08:42,265.265 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:08:42,313.313 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:08:42,366.366 INFO    ] No existing commands found in stream
[2026-08-29 02:08:47,378.378 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:08:47,381.381 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-08-29 02:08:51,675.675 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:08:51,676.676 INFO    ] Checking for system updates...
[2026-08-29 02:08:51,698.698 INFO    ] 200
[2026-08-29 02:08:51,699.699 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:08:51,730.730 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:08:51,731.731 INFO    ] No update needed
[2026-08-29 02:08:51,733.733 INFO    ] Checking for camera pi updates...
[2026-08-29 02:08:51,752.752 INFO    ] 200
[2026-08-29 02:08:51,754.754 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:08:51,777.777 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:08:51,866.866 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:08:51,869.869 INFO    ] No camera update needed
[2026-08-29 02:08:51,871.871 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:08:51,874.874 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:08:51,879.879 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:08:51,884.884 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:08:53,926.926 INFO    ] ================================================
[2026-08-29 02:08:53,941.941 INFO    ] Launching Daemon at Sat Aug 29 02:08:53 IST 2026
[2026-08-29 02:08:53,952.952 INFO    ] ================================================
[2026-08-29 02:08:54,633.633 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:08:54
[2026-08-29 02:08:55,086.086 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:08:55,242.242 INFO    ] Initializing speech engine...
[2026-08-29 02:08:55,246.246 INFO    ] 2026-08-29 02:08:55
[2026-08-29 02:08:55,455.455 INFO    ] 2026-08-29 02:08:55
[2026-08-29 02:08:55,484.484 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:08:55,607.607 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:08:55,670.670 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:08:55,800.800 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:08:55,862.862 INFO    ] time= 29/08/2026 02:08:55
[2026-08-29 02:08:55,899.899 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:08:55,901.901 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:08:55,974.974 INFO    ] No existing commands found in stream
[2026-08-29 02:09:00,984.984 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:09:00,987.987 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-08-29 02:09:03,640.640 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:09:03,644.644 INFO    ] Checking for system updates...
[2026-08-29 02:09:03,682.682 INFO    ] 200
[2026-08-29 02:09:03,685.685 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:09:03,739.739 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:09:03,743.743 INFO    ] No update needed
[2026-08-29 02:09:03,745.745 INFO    ] Checking for camera pi updates...
[2026-08-29 02:09:03,785.785 INFO    ] 200
[2026-08-29 02:09:03,788.788 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:09:03,835.835 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:09:04,044.044 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:09:04,047.047 INFO    ] No camera update needed
[2026-08-29 02:09:04,050.050 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:09:04,053.053 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:09:04,059.059 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:09:04,065.065 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:09:06,106.106 INFO    ] ================================================
[2026-08-29 02:09:06,121.121 INFO    ] Launching Daemon at Sat Aug 29 02:09:06 IST 2026
[2026-08-29 02:09:06,133.133 INFO    ] ================================================
[2026-08-29 02:09:06,519.519 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:09:06
[2026-08-29 02:09:06,865.865 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:09:07,018.018 INFO    ] Initializing speech engine...
[2026-08-29 02:09:07,024.024 INFO    ] 2026-08-29 02:09:07
[2026-08-29 02:09:07,233.233 INFO    ] 2026-08-29 02:09:07
[2026-08-29 02:09:07,262.262 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:09:07,384.384 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:09:07,432.432 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:09:07,577.577 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:09:07,634.634 INFO    ] time= 29/08/2026 02:09:07
[2026-08-29 02:09:07,676.676 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:09:07,678.678 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:09:07,750.750 INFO    ] No existing commands found in stream
[2026-08-29 02:09:12,765.765 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:09:12,768.768 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-08-29 02:09:14,613.613 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:09:14,616.616 INFO    ] Checking for system updates...
[2026-08-29 02:09:14,653.653 INFO    ] 200
[2026-08-29 02:09:14,656.656 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:09:14,712.712 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:09:14,715.715 INFO    ] No update needed
[2026-08-29 02:09:14,717.717 INFO    ] Checking for camera pi updates...
[2026-08-29 02:09:14,756.756 INFO    ] 200
[2026-08-29 02:09:14,759.759 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:09:14,800.800 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:09:14,883.883 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:09:14,886.886 INFO    ] No camera update needed
[2026-08-29 02:09:14,888.888 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:09:14,890.890 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:09:14,896.896 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:09:14,901.901 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:09:16,941.941 INFO    ] ================================================
[2026-08-29 02:09:16,956.956 INFO    ] Launching Daemon at Sat Aug 29 02:09:16 IST 2026
[2026-08-29 02:09:16,967.967 INFO    ] ================================================
[2026-08-29 02:09:17,313.313 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:09:17
[2026-08-29 02:09:17,625.625 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:09:17,763.763 INFO    ] Initializing speech engine...
[2026-08-29 02:09:17,771.771 INFO    ] 2026-08-29 02:09:17
[2026-08-29 02:09:18,020.020 INFO    ] 2026-08-29 02:09:17
[2026-08-29 02:09:18,081.081 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:09:18,490.490 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:09:18,498.498 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:09:19,921.921 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:09:19,928.928 INFO    ] time= 29/08/2026 02:09:19
[2026-08-29 02:09:19,933.933 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:09:19,937.937 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:09:20,020.020 INFO    ] No existing commands found in stream
[2026-08-29 02:09:25,050.050 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:09:25,053.053 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-08-29 02:09:26,464.464 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:09:26,465.465 INFO    ] Checking for system updates...
[2026-08-29 02:09:26,487.487 INFO    ] 200
[2026-08-29 02:09:26,488.488 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:09:26,521.521 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:09:26,522.522 INFO    ] No update needed
[2026-08-29 02:09:26,523.523 INFO    ] Checking for camera pi updates...
[2026-08-29 02:09:26,544.544 INFO    ] 200
[2026-08-29 02:09:26,545.545 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:09:26,570.570 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:09:26,670.670 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:09:26,672.672 INFO    ] No camera update needed
[2026-08-29 02:09:26,673.673 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:09:26,674.674 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:09:26,677.677 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:09:26,680.680 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:09:28,718.718 INFO    ] ================================================
[2026-08-29 02:09:28,733.733 INFO    ] Launching Daemon at Sat Aug 29 02:09:28 IST 2026
[2026-08-29 02:09:28,744.744 INFO    ] ================================================
[2026-08-29 02:09:29,109.109 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:09:29
[2026-08-29 02:09:29,457.457 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:09:29,609.609 INFO    ] Initializing speech engine...
[2026-08-29 02:09:29,614.614 INFO    ] 2026-08-29 02:09:29
[2026-08-29 02:09:29,822.822 INFO    ] 2026-08-29 02:09:29
[2026-08-29 02:09:29,851.851 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:09:33,345.345 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:09:33,347.347 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:09:33,432.432 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:09:33,435.435 INFO    ] time= 29/08/2026 02:09:33
[2026-08-29 02:09:33,437.437 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:09:33,440.440 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:09:33,492.492 INFO    ] No existing commands found in stream
[2026-08-29 02:09:38,502.502 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:09:38,504.504 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-08-29 02:09:43,732.732 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:09:43,735.735 INFO    ] Checking for system updates...
[2026-08-29 02:09:43,772.772 INFO    ] 200
[2026-08-29 02:09:43,775.775 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:09:43,806.806 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:09:43,807.807 INFO    ] No update needed
[2026-08-29 02:09:43,809.809 INFO    ] Checking for camera pi updates...
[2026-08-29 02:09:43,828.828 INFO    ] 200
[2026-08-29 02:09:43,829.829 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:09:43,857.857 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:09:43,930.930 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:09:43,932.932 INFO    ] No camera update needed
[2026-08-29 02:09:43,933.933 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:09:43,934.934 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:09:43,937.937 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:09:43,940.940 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:09:45,978.978 INFO    ] ================================================
[2026-08-29 02:09:45,994.994 INFO    ] Launching Daemon at Sat Aug 29 02:09:45 IST 2026
[2026-08-29 02:09:46,005.005 INFO    ] ================================================
[2026-08-29 02:09:46,514.514 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:09:46
[2026-08-29 02:09:47,100.100 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:09:47,352.352 INFO    ] Initializing speech engine...
[2026-08-29 02:09:47,371.371 INFO    ] 2026-08-29 02:09:47
[2026-08-29 02:09:47,632.632 INFO    ] 2026-08-29 02:09:47
[2026-08-29 02:09:47,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:09:47,844.844 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:09:47,856.856 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:09:48,003.003 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:09:48,010.010 INFO    ] time= 29/08/2026 02:09:48
[2026-08-29 02:09:48,017.017 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:09:48,048.048 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:09:48,424.424 INFO    ] No existing commands found in stream
[2026-08-29 02:09:53,449.449 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:09:53,452.452 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-08-29 02:09:54,579.579 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:09:54,580.580 INFO    ] Checking for system updates...
[2026-08-29 02:09:54,602.602 INFO    ] 200
[2026-08-29 02:09:54,604.604 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:09:54,636.636 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:09:54,638.638 INFO    ] No update needed
[2026-08-29 02:09:54,639.639 INFO    ] Checking for camera pi updates...
[2026-08-29 02:09:54,658.658 INFO    ] 200
[2026-08-29 02:09:54,659.659 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:09:54,684.684 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:09:54,783.783 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:09:54,785.785 INFO    ] No camera update needed
[2026-08-29 02:09:54,786.786 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:09:54,787.787 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:09:54,790.790 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:09:54,793.793 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:09:56,831.831 INFO    ] ================================================
[2026-08-29 02:09:56,846.846 INFO    ] Launching Daemon at Sat Aug 29 02:09:56 IST 2026
[2026-08-29 02:09:56,857.857 INFO    ] ================================================
[2026-08-29 02:09:57,221.221 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:09:57
[2026-08-29 02:09:57,567.567 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:09:57,721.721 INFO    ] Initializing speech engine...
[2026-08-29 02:09:57,727.727 INFO    ] 2026-08-29 02:09:57
[2026-08-29 02:09:57,935.935 INFO    ] 2026-08-29 02:09:57
[2026-08-29 02:09:57,965.965 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:09:58,087.087 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:09:58,150.150 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:09:59,288.288 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:09:59,306.306 INFO    ] time= 29/08/2026 02:09:59
[2026-08-29 02:09:59,316.316 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:09:59,340.340 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:09:59,405.405 INFO    ] No existing commands found in stream
[2026-08-29 02:10:04,425.425 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:10:04,428.428 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-08-29 02:10:09,173.173 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:10:09,175.175 INFO    ] Checking for system updates...
[2026-08-29 02:10:09,196.196 INFO    ] 200
[2026-08-29 02:10:09,198.198 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:10:09,228.228 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:10:09,229.229 INFO    ] No update needed
[2026-08-29 02:10:09,231.231 INFO    ] Checking for camera pi updates...
[2026-08-29 02:10:09,267.267 INFO    ] 200
[2026-08-29 02:10:09,270.270 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:10:09,315.315 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:10:09,401.401 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:10:09,403.403 INFO    ] No camera update needed
[2026-08-29 02:10:09,404.404 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:10:09,405.405 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:10:09,409.409 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:10:09,411.411 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:10:11,450.450 INFO    ] ================================================
[2026-08-29 02:10:11,466.466 INFO    ] Launching Daemon at Sat Aug 29 02:10:11 IST 2026
[2026-08-29 02:10:11,476.476 INFO    ] ================================================
[2026-08-29 02:10:11,826.826 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:10:11
[2026-08-29 02:10:12,138.138 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:10:12,275.275 INFO    ] Initializing speech engine...
[2026-08-29 02:10:12,285.285 INFO    ] 2026-08-29 02:10:12
[2026-08-29 02:10:12,528.528 INFO    ] 2026-08-29 02:10:12
[2026-08-29 02:10:12,563.563 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:10:12,733.733 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:10:12,739.739 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:10:12,857.857 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:10:12,881.881 INFO    ] time= 29/08/2026 02:10:12
[2026-08-29 02:10:12,899.899 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:10:12,904.904 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:10:13,242.242 INFO    ] No existing commands found in stream
[2026-08-29 02:10:18,267.267 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:10:18,270.270 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-08-29 02:10:23,042.042 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:10:23,043.043 INFO    ] Checking for system updates...
[2026-08-29 02:10:23,073.073 INFO    ] 200
[2026-08-29 02:10:23,076.076 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:10:23,136.136 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:10:23,139.139 INFO    ] No update needed
[2026-08-29 02:10:23,141.141 INFO    ] Checking for camera pi updates...
[2026-08-29 02:10:23,168.168 INFO    ] 200
[2026-08-29 02:10:23,169.169 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:10:23,196.196 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:10:23,262.262 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:10:23,263.263 INFO    ] No camera update needed
[2026-08-29 02:10:23,265.265 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:10:23,266.266 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:10:23,269.269 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:10:23,272.272 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:10:25,312.312 INFO    ] ================================================
[2026-08-29 02:10:25,327.327 INFO    ] Launching Daemon at Sat Aug 29 02:10:25 IST 2026
[2026-08-29 02:10:25,338.338 INFO    ] ================================================
[2026-08-29 02:10:25,693.693 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:10:25
[2026-08-29 02:10:26,030.030 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:10:26,183.183 INFO    ] Initializing speech engine...
[2026-08-29 02:10:26,186.186 INFO    ] 2026-08-29 02:10:26
[2026-08-29 02:10:26,396.396 INFO    ] 2026-08-29 02:10:26
[2026-08-29 02:10:26,424.424 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:10:31,453.453 INFO    ] VendingMachinePublisher.__init__: Redis error: Timeout connecting to server
[2026-08-29 02:10:31,483.483 INFO    ] Exiting as VendingMachinePublisher redis not connected!!!
[2026-08-29 02:10:31,486.486 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:10:31,491.491 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:10:31,497.497 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:10:33,531.531 INFO    ] ================================================
[2026-08-29 02:10:33,546.546 INFO    ] Launching Daemon at Sat Aug 29 02:10:33 IST 2026
[2026-08-29 02:10:33,557.557 INFO    ] ================================================
[2026-08-29 02:10:34,141.141 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:10:34
[2026-08-29 02:10:34,796.796 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:10:35,096.096 INFO    ] Initializing speech engine...
[2026-08-29 02:10:35,109.109 INFO    ] 2026-08-29 02:10:35
[2026-08-29 02:10:35,385.385 INFO    ] 2026-08-29 02:10:35
[2026-08-29 02:10:35,451.451 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:10:36,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:10:36,957.957 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:10:37,100.100 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:10:37,123.123 INFO    ] time= 29/08/2026 02:10:37
[2026-08-29 02:10:37,132.132 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:10:37,137.137 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:10:37,189.189 INFO    ] No existing commands found in stream
[2026-08-29 02:10:42,198.198 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:10:42,200.200 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-08-29 02:10:44,254.254 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:10:44,255.255 INFO    ] Checking for system updates...
[2026-08-29 02:10:44,277.277 INFO    ] 200
[2026-08-29 02:10:44,278.278 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:10:44,310.310 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:10:44,312.312 INFO    ] No update needed
[2026-08-29 02:10:44,313.313 INFO    ] Checking for camera pi updates...
[2026-08-29 02:10:44,333.333 INFO    ] 200
[2026-08-29 02:10:44,335.335 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:10:44,358.358 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:10:44,439.439 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:10:44,440.440 INFO    ] No camera update needed
[2026-08-29 02:10:44,442.442 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:10:44,443.443 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:10:44,446.446 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:10:44,448.448 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:10:46,487.487 INFO    ] ================================================
[2026-08-29 02:10:46,503.503 INFO    ] Launching Daemon at Sat Aug 29 02:10:46 IST 2026
[2026-08-29 02:10:46,514.514 INFO    ] ================================================
[2026-08-29 02:10:47,038.038 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:10:47
[2026-08-29 02:10:47,699.699 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:10:47,999.999 INFO    ] Initializing speech engine...
[2026-08-29 02:10:48,008.008 INFO    ] 2026-08-29 02:10:48
[2026-08-29 02:10:48,327.327 INFO    ] 2026-08-29 02:10:48
[2026-08-29 02:10:48,409.409 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:10:49,603.603 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:10:49,610.610 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:10:52,873.873 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:10:52,876.876 INFO    ] time= 29/08/2026 02:10:52
[2026-08-29 02:10:52,879.879 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:10:52,881.881 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:10:52,928.928 INFO    ] No existing commands found in stream
[2026-08-29 02:10:57,937.937 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:10:57,940.940 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-08-29 02:11:00,865.865 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:11:00,866.866 INFO    ] Checking for system updates...
[2026-08-29 02:11:00,887.887 INFO    ] 200
[2026-08-29 02:11:00,889.889 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:11:00,935.935 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:11:00,937.937 INFO    ] No update needed
[2026-08-29 02:11:00,939.939 INFO    ] Checking for camera pi updates...
[2026-08-29 02:11:00,973.973 INFO    ] 200
[2026-08-29 02:11:00,976.976 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:11:01,017.017 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:11:01,107.107 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:11:01,109.109 INFO    ] No camera update needed
[2026-08-29 02:11:01,111.111 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:11:01,114.114 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:11:01,119.119 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:11:01,129.129 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:11:03,173.173 INFO    ] ================================================
[2026-08-29 02:11:03,188.188 INFO    ] Launching Daemon at Sat Aug 29 02:11:03 IST 2026
[2026-08-29 02:11:03,199.199 INFO    ] ================================================
[2026-08-29 02:11:03,768.768 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:11:03
[2026-08-29 02:11:04,106.106 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:11:04,243.243 INFO    ] Initializing speech engine...
[2026-08-29 02:11:04,253.253 INFO    ] 2026-08-29 02:11:04
[2026-08-29 02:11:04,457.457 INFO    ] 2026-08-29 02:11:04
[2026-08-29 02:11:04,487.487 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:11:04,609.609 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:11:04,618.618 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:11:04,777.777 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:11:04,816.816 INFO    ] time= 29/08/2026 02:11:04
[2026-08-29 02:11:04,822.822 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:11:04,840.840 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:11:04,941.941 INFO    ] No existing commands found in stream
[2026-08-29 02:11:09,971.971 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:11:09,974.974 INFO    ] Waiting 0.00 seconds before fallback handling...
[2026-08-29 02:11:11,628.628 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:11:11,629.629 INFO    ] Checking for system updates...
[2026-08-29 02:11:11,649.649 INFO    ] 200
[2026-08-29 02:11:11,650.650 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:11:11,683.683 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:11:11,684.684 INFO    ] No update needed
[2026-08-29 02:11:11,685.685 INFO    ] Checking for camera pi updates...
[2026-08-29 02:11:11,705.705 INFO    ] 200
[2026-08-29 02:11:11,706.706 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:11:11,729.729 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:11:11,908.908 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:11:11,911.911 INFO    ] No camera update needed
[2026-08-29 02:11:11,913.913 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:11:11,916.916 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:11:11,921.921 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:11:11,926.926 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:11:13,968.968 INFO    ] ================================================
[2026-08-29 02:11:13,984.984 INFO    ] Launching Daemon at Sat Aug 29 02:11:13 IST 2026
[2026-08-29 02:11:13,995.995 INFO    ] ================================================
[2026-08-29 02:11:14,639.639 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:11:14
[2026-08-29 02:11:15,164.164 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:11:15,303.303 INFO    ] Initializing speech engine...
[2026-08-29 02:11:15,315.315 INFO    ] 2026-08-29 02:11:15
[2026-08-29 02:11:15,528.528 INFO    ] 2026-08-29 02:11:15
[2026-08-29 02:11:15,583.583 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:11:15,987.987 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:11:16,033.033 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:11:17,707.707 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:11:17,733.733 INFO    ] time= 29/08/2026 02:11:17
[2026-08-29 02:11:17,739.739 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:11:17,748.748 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:11:17,815.815 INFO    ] No existing commands found in stream
[2026-08-29 02:11:22,828.828 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:11:22,831.831 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-08-29 02:11:26,528.528 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:11:26,530.530 INFO    ] Checking for system updates...
[2026-08-29 02:11:26,552.552 INFO    ] 200
[2026-08-29 02:11:26,554.554 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:11:26,586.586 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:11:26,588.588 INFO    ] No update needed
[2026-08-29 02:11:26,589.589 INFO    ] Checking for camera pi updates...
[2026-08-29 02:11:26,611.611 INFO    ] 200
[2026-08-29 02:11:26,613.613 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:11:26,638.638 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:11:26,731.731 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:11:26,733.733 INFO    ] No camera update needed
[2026-08-29 02:11:26,735.735 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:11:26,736.736 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:11:26,739.739 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:11:26,742.742 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:11:28,784.784 INFO    ] ================================================
[2026-08-29 02:11:28,800.800 INFO    ] Launching Daemon at Sat Aug 29 02:11:28 IST 2026
[2026-08-29 02:11:28,812.812 INFO    ] ================================================
[2026-08-29 02:11:29,161.161 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:11:29
[2026-08-29 02:11:29,501.501 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:11:29,653.653 INFO    ] Initializing speech engine...
[2026-08-29 02:11:29,659.659 INFO    ] 2026-08-29 02:11:29
[2026-08-29 02:11:29,866.866 INFO    ] 2026-08-29 02:11:29
[2026-08-29 02:11:29,896.896 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:11:30,018.018 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:11:30,062.062 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:11:30,250.250 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:11:30,296.296 INFO    ] time= 29/08/2026 02:11:30
[2026-08-29 02:11:30,366.366 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:11:30,382.382 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:11:30,687.687 INFO    ] No existing commands found in stream
[2026-08-29 02:11:35,697.697 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:11:35,700.700 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-08-29 02:11:40,176.176 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:11:40,177.177 INFO    ] Checking for system updates...
[2026-08-29 02:11:40,198.198 INFO    ] 200
[2026-08-29 02:11:40,200.200 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:11:40,230.230 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:11:40,232.232 INFO    ] No update needed
[2026-08-29 02:11:40,233.233 INFO    ] Checking for camera pi updates...
[2026-08-29 02:11:40,253.253 INFO    ] 200
[2026-08-29 02:11:40,254.254 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:11:40,277.277 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:11:40,353.353 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:11:40,354.354 INFO    ] No camera update needed
[2026-08-29 02:11:40,357.357 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:11:40,360.360 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:11:40,366.366 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:11:40,372.372 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:11:42,415.415 INFO    ] ================================================
[2026-08-29 02:11:42,430.430 INFO    ] Launching Daemon at Sat Aug 29 02:11:42 IST 2026
[2026-08-29 02:11:42,441.441 INFO    ] ================================================
[2026-08-29 02:11:42,806.806 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:11:42
[2026-08-29 02:11:43,150.150 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:11:43,359.359 INFO    ] Initializing speech engine...
[2026-08-29 02:11:43,368.368 INFO    ] 2026-08-29 02:11:43
[2026-08-29 02:11:43,691.691 INFO    ] 2026-08-29 02:11:43
[2026-08-29 02:11:43,773.773 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:11:43,922.922 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:11:43,932.932 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:11:44,066.066 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:11:44,108.108 INFO    ] time= 29/08/2026 02:11:44
[2026-08-29 02:11:44,168.168 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:11:44,200.200 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:11:44,255.255 INFO    ] No existing commands found in stream
[2026-08-29 02:11:49,268.268 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:11:49,271.271 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-08-29 02:11:54,810.810 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:11:54,812.812 INFO    ] Checking for system updates...
[2026-08-29 02:11:54,833.833 INFO    ] 200
[2026-08-29 02:11:54,834.834 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:11:54,865.865 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:11:54,866.866 INFO    ] No update needed
[2026-08-29 02:11:54,868.868 INFO    ] Checking for camera pi updates...
[2026-08-29 02:11:54,889.889 INFO    ] 200
[2026-08-29 02:11:54,890.890 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:11:54,918.918 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:11:54,999.999 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:11:55,000.000 INFO    ] No camera update needed
[2026-08-29 02:11:55,002.002 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:11:55,003.003 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:11:55,007.007 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:11:55,010.010 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:11:57,050.050 INFO    ] ================================================
[2026-08-29 02:11:57,066.066 INFO    ] Launching Daemon at Sat Aug 29 02:11:57 IST 2026
[2026-08-29 02:11:57,077.077 INFO    ] ================================================
[2026-08-29 02:11:57,441.441 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:11:57
[2026-08-29 02:11:57,752.752 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:11:57,894.894 INFO    ] Initializing speech engine...
[2026-08-29 02:11:57,900.900 INFO    ] 2026-08-29 02:11:57
[2026-08-29 02:11:58,101.101 INFO    ] 2026-08-29 02:11:58
[2026-08-29 02:11:58,128.128 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:11:58,250.250 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:11:58,313.313 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:11:59,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:11:59,460.460 INFO    ] time= 29/08/2026 02:11:59
[2026-08-29 02:11:59,464.464 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:11:59,477.477 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:11:59,527.527 INFO    ] No existing commands found in stream
[2026-08-29 02:12:04,536.536 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:12:04,538.538 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-08-29 02:12:05,752.752 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:12:05,753.753 INFO    ] Checking for system updates...
[2026-08-29 02:12:05,774.774 INFO    ] 200
[2026-08-29 02:12:05,776.776 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:12:05,805.805 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:12:05,807.807 INFO    ] No update needed
[2026-08-29 02:12:05,808.808 INFO    ] Checking for camera pi updates...
[2026-08-29 02:12:05,830.830 INFO    ] 200
[2026-08-29 02:12:05,831.831 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:12:05,856.856 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:12:05,936.936 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:12:05,937.937 INFO    ] No camera update needed
[2026-08-29 02:12:05,938.938 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:12:05,940.940 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:12:05,943.943 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:12:05,945.945 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:12:07,985.985 INFO    ] ================================================
[2026-08-29 02:12:08,001.001 INFO    ] Launching Daemon at Sat Aug 29 02:12:07 IST 2026
[2026-08-29 02:12:08,012.012 INFO    ] ================================================
[2026-08-29 02:12:08,392.392 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:12:08
[2026-08-29 02:12:08,725.725 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:12:08,876.876 INFO    ] Initializing speech engine...
[2026-08-29 02:12:08,880.880 INFO    ] 2026-08-29 02:12:08
[2026-08-29 02:12:09,087.087 INFO    ] 2026-08-29 02:12:09
[2026-08-29 02:12:09,116.116 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:12:09,239.239 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:12:09,282.282 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:12:12,553.553 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:12:12,556.556 INFO    ] time= 29/08/2026 02:12:12
[2026-08-29 02:12:12,558.558 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:12:12,561.561 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:12:12,606.606 INFO    ] No existing commands found in stream
[2026-08-29 02:12:17,616.616 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:12:17,619.619 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-08-29 02:12:22,326.326 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:12:22,327.327 INFO    ] Checking for system updates...
[2026-08-29 02:12:22,348.348 INFO    ] 200
[2026-08-29 02:12:22,349.349 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:12:22,379.379 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:12:22,381.381 INFO    ] No update needed
[2026-08-29 02:12:22,382.382 INFO    ] Checking for camera pi updates...
[2026-08-29 02:12:22,416.416 INFO    ] 200
[2026-08-29 02:12:22,419.419 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:12:22,461.461 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:12:22,544.544 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:12:22,547.547 INFO    ] No camera update needed
[2026-08-29 02:12:22,550.550 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:12:22,552.552 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:12:22,558.558 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:12:22,564.564 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:12:24,604.604 INFO    ] ================================================
[2026-08-29 02:12:24,619.619 INFO    ] Launching Daemon at Sat Aug 29 02:12:24 IST 2026
[2026-08-29 02:12:24,630.630 INFO    ] ================================================
[2026-08-29 02:12:25,273.273 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:12:25
[2026-08-29 02:12:25,726.726 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:12:25,951.951 INFO    ] Initializing speech engine...
[2026-08-29 02:12:25,959.959 INFO    ] 2026-08-29 02:12:25
[2026-08-29 02:12:26,223.223 INFO    ] 2026-08-29 02:12:26
[2026-08-29 02:12:26,290.290 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:12:26,459.459 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:12:26,500.500 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:12:26,664.664 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:12:26,690.690 INFO    ] time= 29/08/2026 02:12:26
[2026-08-29 02:12:26,751.751 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:12:26,799.799 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:12:26,859.859 INFO    ] No existing commands found in stream
[2026-08-29 02:12:31,874.874 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:12:31,877.877 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-08-29 02:12:35,027.027 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:12:35,030.030 INFO    ] Checking for system updates...
[2026-08-29 02:12:35,067.067 INFO    ] 200
[2026-08-29 02:12:35,069.069 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:12:35,132.132 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:12:35,135.135 INFO    ] No update needed
[2026-08-29 02:12:35,137.137 INFO    ] Checking for camera pi updates...
[2026-08-29 02:12:35,174.174 INFO    ] 200
[2026-08-29 02:12:35,176.176 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:12:35,216.216 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:12:35,307.307 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:12:35,309.309 INFO    ] No camera update needed
[2026-08-29 02:12:35,311.311 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:12:35,314.314 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:12:35,319.319 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:12:35,324.324 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:12:37,365.365 INFO    ] ================================================
[2026-08-29 02:12:37,381.381 INFO    ] Launching Daemon at Sat Aug 29 02:12:37 IST 2026
[2026-08-29 02:12:37,392.392 INFO    ] ================================================
[2026-08-29 02:12:37,749.749 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:12:37
[2026-08-29 02:12:38,083.083 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:12:38,234.234 INFO    ] Initializing speech engine...
[2026-08-29 02:12:38,239.239 INFO    ] 2026-08-29 02:12:38
[2026-08-29 02:12:38,446.446 INFO    ] 2026-08-29 02:12:38
[2026-08-29 02:12:38,475.475 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:12:38,598.598 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:12:38,656.656 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:12:39,845.845 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:12:39,847.847 INFO    ] time= 29/08/2026 02:12:39
[2026-08-29 02:12:39,848.848 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:12:39,850.850 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:12:40,150.150 INFO    ] No existing commands found in stream
[2026-08-29 02:12:45,159.159 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:12:45,162.162 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-08-29 02:12:49,039.039 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:12:49,042.042 INFO    ] Checking for system updates...
[2026-08-29 02:12:49,079.079 INFO    ] 200
[2026-08-29 02:12:49,082.082 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:12:49,141.141 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:12:49,144.144 INFO    ] No update needed
[2026-08-29 02:12:49,147.147 INFO    ] Checking for camera pi updates...
[2026-08-29 02:12:49,171.171 INFO    ] 200
[2026-08-29 02:12:49,172.172 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:12:49,197.197 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:12:49,290.290 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:12:49,291.291 INFO    ] No camera update needed
[2026-08-29 02:12:49,293.293 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:12:49,294.294 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:12:49,297.297 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:12:49,300.300 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:12:51,338.338 INFO    ] ================================================
[2026-08-29 02:12:51,353.353 INFO    ] Launching Daemon at Sat Aug 29 02:12:51 IST 2026
[2026-08-29 02:12:51,364.364 INFO    ] ================================================
[2026-08-29 02:12:51,705.705 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:12:51
[2026-08-29 02:12:52,040.040 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:12:52,189.189 INFO    ] Initializing speech engine...
[2026-08-29 02:12:52,195.195 INFO    ] 2026-08-29 02:12:52
[2026-08-29 02:12:52,401.401 INFO    ] 2026-08-29 02:12:52
[2026-08-29 02:12:52,430.430 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:12:57,458.458 INFO    ] VendingMachinePublisher.__init__: Redis error: Timeout connecting to server
[2026-08-29 02:12:57,488.488 INFO    ] Exiting as VendingMachinePublisher redis not connected!!!
[2026-08-29 02:12:57,491.491 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:12:57,497.497 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:12:57,502.502 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:12:59,542.542 INFO    ] ================================================
[2026-08-29 02:12:59,557.557 INFO    ] Launching Daemon at Sat Aug 29 02:12:59 IST 2026
[2026-08-29 02:12:59,568.568 INFO    ] ================================================
[2026-08-29 02:12:59,923.923 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:12:59
[2026-08-29 02:13:00,236.236 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:13:00,369.369 INFO    ] Initializing speech engine...
[2026-08-29 02:13:00,372.372 INFO    ] 2026-08-29 02:13:00
[2026-08-29 02:13:00,568.568 INFO    ] 2026-08-29 02:13:00
[2026-08-29 02:13:00,608.608 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:13:01,270.270 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:13:01,273.273 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:13:02,656.656 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:13:02,678.678 INFO    ] time= 29/08/2026 02:13:02
[2026-08-29 02:13:02,691.691 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:13:02,709.709 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:13:02,761.761 INFO    ] No existing commands found in stream
[2026-08-29 02:13:07,771.771 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:13:07,774.774 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 02:13:09,189.189 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:13:09,192.192 INFO    ] Checking for system updates...
[2026-08-29 02:13:09,228.228 INFO    ] 200
[2026-08-29 02:13:09,230.230 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:13:09,283.283 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:13:09,286.286 INFO    ] No update needed
[2026-08-29 02:13:09,288.288 INFO    ] Checking for camera pi updates...
[2026-08-29 02:13:09,310.310 INFO    ] 200
[2026-08-29 02:13:09,311.311 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:13:09,334.334 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:13:09,411.411 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:13:09,412.412 INFO    ] No camera update needed
[2026-08-29 02:13:09,414.414 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:13:09,415.415 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:13:09,418.418 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:13:09,420.420 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:13:11,459.459 INFO    ] ================================================
[2026-08-29 02:13:11,475.475 INFO    ] Launching Daemon at Sat Aug 29 02:13:11 IST 2026
[2026-08-29 02:13:11,486.486 INFO    ] ================================================
[2026-08-29 02:13:12,053.053 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:13:12
[2026-08-29 02:13:12,655.655 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:13:12,902.902 INFO    ] Initializing speech engine...
[2026-08-29 02:13:12,914.914 INFO    ] 2026-08-29 02:13:12
[2026-08-29 02:13:13,179.179 INFO    ] 2026-08-29 02:13:13
[2026-08-29 02:13:13,215.215 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:13:13,706.706 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:13:13,720.720 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:13:14,880.880 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:13:14,884.884 INFO    ] time= 29/08/2026 02:13:14
[2026-08-29 02:13:14,935.935 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:13:14,939.939 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:13:15,271.271 INFO    ] No existing commands found in stream
[2026-08-29 02:13:20,280.280 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:13:20,283.283 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-08-29 02:13:22,619.619 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:13:22,621.621 INFO    ] Checking for system updates...
[2026-08-29 02:13:22,661.661 INFO    ] 200
[2026-08-29 02:13:22,664.664 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:13:22,723.723 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:13:22,725.725 INFO    ] No update needed
[2026-08-29 02:13:22,728.728 INFO    ] Checking for camera pi updates...
[2026-08-29 02:13:22,761.761 INFO    ] 200
[2026-08-29 02:13:22,764.764 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:13:22,788.788 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:13:22,966.966 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:13:22,967.967 INFO    ] No camera update needed
[2026-08-29 02:13:22,969.969 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:13:22,970.970 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:13:22,973.973 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:13:22,976.976 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:13:25,016.016 INFO    ] ================================================
[2026-08-29 02:13:25,032.032 INFO    ] Launching Daemon at Sat Aug 29 02:13:25 IST 2026
[2026-08-29 02:13:25,043.043 INFO    ] ================================================
[2026-08-29 02:13:25,421.421 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:13:25
[2026-08-29 02:13:25,760.760 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:13:25,913.913 INFO    ] Initializing speech engine...
[2026-08-29 02:13:25,919.919 INFO    ] 2026-08-29 02:13:25
[2026-08-29 02:13:26,131.131 INFO    ] 2026-08-29 02:13:26
[2026-08-29 02:13:26,187.187 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:13:27,982.982 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:13:27,988.988 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:13:28,081.081 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:13:28,087.087 INFO    ] time= 29/08/2026 02:13:28
[2026-08-29 02:13:28,093.093 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:13:28,098.098 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:13:28,204.204 INFO    ] No existing commands found in stream
[2026-08-29 02:13:33,216.216 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:13:33,219.219 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-08-29 02:13:37,516.516 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:13:37,518.518 INFO    ] Checking for system updates...
[2026-08-29 02:13:37,538.538 INFO    ] 200
[2026-08-29 02:13:37,540.540 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:13:37,573.573 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:13:37,574.574 INFO    ] No update needed
[2026-08-29 02:13:37,576.576 INFO    ] Checking for camera pi updates...
[2026-08-29 02:13:37,596.596 INFO    ] 200
[2026-08-29 02:13:37,598.598 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:13:37,625.625 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:13:37,705.705 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:13:37,708.708 INFO    ] No camera update needed
[2026-08-29 02:13:37,711.711 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:13:37,713.713 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:13:37,720.720 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:13:37,726.726 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:13:39,766.766 INFO    ] ================================================
[2026-08-29 02:13:39,782.782 INFO    ] Launching Daemon at Sat Aug 29 02:13:39 IST 2026
[2026-08-29 02:13:39,793.793 INFO    ] ================================================
[2026-08-29 02:13:40,394.394 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:13:40
[2026-08-29 02:13:41,078.078 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:13:41,397.397 INFO    ] Initializing speech engine...
[2026-08-29 02:13:41,406.406 INFO    ] 2026-08-29 02:13:41
[2026-08-29 02:13:41,713.713 INFO    ] 2026-08-29 02:13:41
[2026-08-29 02:13:41,800.800 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:13:41,955.955 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:13:41,960.960 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:13:43,107.107 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:13:43,113.113 INFO    ] time= 29/08/2026 02:13:43
[2026-08-29 02:13:43,119.119 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:13:43,126.126 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:13:44,205.205 INFO    ] No existing commands found in stream
[2026-08-29 02:13:49,214.214 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:13:49,218.218 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-08-29 02:13:51,338.338 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:13:51,342.342 INFO    ] Checking for system updates...
[2026-08-29 02:13:51,379.379 INFO    ] 200
[2026-08-29 02:13:51,382.382 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:13:51,445.445 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:13:51,447.447 INFO    ] No update needed
[2026-08-29 02:13:51,450.450 INFO    ] Checking for camera pi updates...
[2026-08-29 02:13:51,483.483 INFO    ] 200
[2026-08-29 02:13:51,485.485 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:13:51,509.509 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:13:51,589.589 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:13:51,590.590 INFO    ] No camera update needed
[2026-08-29 02:13:51,592.592 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:13:51,593.593 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:13:51,596.596 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:13:51,599.599 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:13:53,638.638 INFO    ] ================================================
[2026-08-29 02:13:53,654.654 INFO    ] Launching Daemon at Sat Aug 29 02:13:53 IST 2026
[2026-08-29 02:13:53,666.666 INFO    ] ================================================
[2026-08-29 02:13:53,990.990 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:13:53
[2026-08-29 02:13:54,301.301 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:13:54,432.432 INFO    ] Initializing speech engine...
[2026-08-29 02:13:54,435.435 INFO    ] 2026-08-29 02:13:54
[2026-08-29 02:13:54,626.626 INFO    ] 2026-08-29 02:13:54
[2026-08-29 02:13:54,684.684 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:13:54,828.828 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:13:54,841.841 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:13:55,231.231 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:13:55,238.238 INFO    ] time= 29/08/2026 02:13:55
[2026-08-29 02:13:55,247.247 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:13:55,303.303 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:13:55,408.408 INFO    ] No existing commands found in stream
[2026-08-29 02:14:00,433.433 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:14:00,436.436 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-08-29 02:14:05,782.782 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:14:05,784.784 INFO    ] Checking for system updates...
[2026-08-29 02:14:05,806.806 INFO    ] 200
[2026-08-29 02:14:05,807.807 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:14:05,840.840 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:14:05,841.841 INFO    ] No update needed
[2026-08-29 02:14:05,843.843 INFO    ] Checking for camera pi updates...
[2026-08-29 02:14:05,863.863 INFO    ] 200
[2026-08-29 02:14:05,864.864 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:14:05,888.888 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:14:05,972.972 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:14:05,973.973 INFO    ] No camera update needed
[2026-08-29 02:14:05,975.975 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:14:05,976.976 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:14:05,979.979 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:14:05,982.982 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:14:08,020.020 INFO    ] ================================================
[2026-08-29 02:14:08,036.036 INFO    ] Launching Daemon at Sat Aug 29 02:14:08 IST 2026
[2026-08-29 02:14:08,047.047 INFO    ] ================================================
[2026-08-29 02:14:08,419.419 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:14:08
[2026-08-29 02:14:08,754.754 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:14:08,907.907 INFO    ] Initializing speech engine...
[2026-08-29 02:14:08,914.914 INFO    ] 2026-08-29 02:14:08
[2026-08-29 02:14:09,132.132 INFO    ] 2026-08-29 02:14:09
[2026-08-29 02:14:09,167.167 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:14:09,639.639 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:14:09,666.666 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:14:12,873.873 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:14:12,876.876 INFO    ] time= 29/08/2026 02:14:12
[2026-08-29 02:14:12,878.878 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:14:12,880.880 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:14:12,936.936 INFO    ] No existing commands found in stream
[2026-08-29 02:14:17,945.945 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:14:17,947.947 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-08-29 02:14:24,488.488 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:14:24,491.491 INFO    ] Checking for system updates...
[2026-08-29 02:14:24,527.527 INFO    ] 200
[2026-08-29 02:14:24,529.529 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:14:24,586.586 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:14:24,588.588 INFO    ] No update needed
[2026-08-29 02:14:24,590.590 INFO    ] Checking for camera pi updates...
[2026-08-29 02:14:24,625.625 INFO    ] 200
[2026-08-29 02:14:24,626.626 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:14:24,650.650 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:14:24,733.733 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:14:24,734.734 INFO    ] No camera update needed
[2026-08-29 02:14:24,736.736 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:14:24,737.737 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:14:24,740.740 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:14:24,742.742 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:14:26,781.781 INFO    ] ================================================
[2026-08-29 02:14:26,797.797 INFO    ] Launching Daemon at Sat Aug 29 02:14:26 IST 2026
[2026-08-29 02:14:26,808.808 INFO    ] ================================================
[2026-08-29 02:14:27,167.167 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:14:27
[2026-08-29 02:14:27,482.482 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:14:27,627.627 INFO    ] Initializing speech engine...
[2026-08-29 02:14:27,632.632 INFO    ] 2026-08-29 02:14:27
[2026-08-29 02:14:27,835.835 INFO    ] 2026-08-29 02:14:27
[2026-08-29 02:14:27,863.863 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:14:27,985.985 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:14:28,038.038 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:14:28,182.182 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:14:28,244.244 INFO    ] time= 29/08/2026 02:14:28
[2026-08-29 02:14:28,276.276 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:14:28,283.283 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:14:28,599.599 INFO    ] No existing commands found in stream
[2026-08-29 02:14:33,611.611 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:14:33,614.614 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-08-29 02:14:36,109.109 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:14:36,110.110 INFO    ] Checking for system updates...
[2026-08-29 02:14:36,131.131 INFO    ] 200
[2026-08-29 02:14:36,133.133 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:14:36,162.162 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:14:36,164.164 INFO    ] No update needed
[2026-08-29 02:14:36,165.165 INFO    ] Checking for camera pi updates...
[2026-08-29 02:14:36,184.184 INFO    ] 200
[2026-08-29 02:14:36,185.185 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:14:36,209.209 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:14:36,285.285 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:14:36,286.286 INFO    ] No camera update needed
[2026-08-29 02:14:36,288.288 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:14:36,289.289 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:14:36,292.292 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:14:36,294.294 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:14:38,334.334 INFO    ] ================================================
[2026-08-29 02:14:38,349.349 INFO    ] Launching Daemon at Sat Aug 29 02:14:38 IST 2026
[2026-08-29 02:14:38,360.360 INFO    ] ================================================
[2026-08-29 02:14:38,711.711 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:14:38
[2026-08-29 02:14:39,049.049 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:14:39,201.201 INFO    ] Initializing speech engine...
[2026-08-29 02:14:39,205.205 INFO    ] 2026-08-29 02:14:39
[2026-08-29 02:14:39,410.410 INFO    ] 2026-08-29 02:14:39
[2026-08-29 02:14:39,450.450 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:14:39,613.613 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:14:39,621.621 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:14:39,787.787 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:14:39,822.822 INFO    ] time= 29/08/2026 02:14:39
[2026-08-29 02:14:39,840.840 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:14:39,849.849 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:14:39,962.962 INFO    ] No existing commands found in stream
[2026-08-29 02:14:44,987.987 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:14:44,990.990 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-08-29 02:14:47,414.414 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:14:47,417.417 INFO    ] Checking for system updates...
[2026-08-29 02:14:47,454.454 INFO    ] 200
[2026-08-29 02:14:47,457.457 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:14:47,510.510 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:14:47,513.513 INFO    ] No update needed
[2026-08-29 02:14:47,515.515 INFO    ] Checking for camera pi updates...
[2026-08-29 02:14:47,550.550 INFO    ] 200
[2026-08-29 02:14:47,553.553 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:14:47,594.594 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:14:47,678.678 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:14:47,681.681 INFO    ] No camera update needed
[2026-08-29 02:14:47,684.684 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:14:47,686.686 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:14:47,692.692 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:14:47,698.698 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:14:49,738.738 INFO    ] ================================================
[2026-08-29 02:14:49,754.754 INFO    ] Launching Daemon at Sat Aug 29 02:14:49 IST 2026
[2026-08-29 02:14:49,766.766 INFO    ] ================================================
[2026-08-29 02:14:50,117.117 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:14:50
[2026-08-29 02:14:50,428.428 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:14:50,566.566 INFO    ] Initializing speech engine...
[2026-08-29 02:14:50,576.576 INFO    ] 2026-08-29 02:14:50
[2026-08-29 02:14:50,782.782 INFO    ] 2026-08-29 02:14:50
[2026-08-29 02:14:50,810.810 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:14:50,937.937 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:14:50,989.989 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:14:52,167.167 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:14:52,176.176 INFO    ] time= 29/08/2026 02:14:52
[2026-08-29 02:14:52,180.180 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:14:52,184.184 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:14:52,485.485 INFO    ] No existing commands found in stream
[2026-08-29 02:14:57,494.494 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:14:57,496.496 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-08-29 02:15:07,379.379 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:15:07,382.382 INFO    ] Checking for system updates...
[2026-08-29 02:15:07,418.418 INFO    ] 200
[2026-08-29 02:15:07,420.420 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:15:07,471.471 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:15:07,473.473 INFO    ] No update needed
[2026-08-29 02:15:07,474.474 INFO    ] Checking for camera pi updates...
[2026-08-29 02:15:07,494.494 INFO    ] 200
[2026-08-29 02:15:07,496.496 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:15:07,519.519 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:15:07,594.594 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:15:07,596.596 INFO    ] No camera update needed
[2026-08-29 02:15:07,597.597 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:15:07,598.598 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:15:07,601.601 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:15:07,604.604 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:15:09,642.642 INFO    ] ================================================
[2026-08-29 02:15:09,658.658 INFO    ] Launching Daemon at Sat Aug 29 02:15:09 IST 2026
[2026-08-29 02:15:09,670.670 INFO    ] ================================================
[2026-08-29 02:15:10,015.015 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:15:10
[2026-08-29 02:15:10,327.327 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:15:10,471.471 INFO    ] Initializing speech engine...
[2026-08-29 02:15:10,476.476 INFO    ] 2026-08-29 02:15:10
[2026-08-29 02:15:10,679.679 INFO    ] 2026-08-29 02:15:10
[2026-08-29 02:15:10,707.707 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:15:11,426.426 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:15:11,439.439 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:15:12,581.581 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:15:12,587.587 INFO    ] time= 29/08/2026 02:15:12
[2026-08-29 02:15:12,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:15:12,599.599 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:15:12,663.663 INFO    ] No existing commands found in stream
[2026-08-29 02:15:17,678.678 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:15:17,680.680 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-08-29 02:15:22,967.967 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:15:22,970.970 INFO    ] Checking for system updates...
[2026-08-29 02:15:23,017.017 INFO    ] 200
[2026-08-29 02:15:23,020.020 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:15:23,084.084 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:15:23,087.087 INFO    ] No update needed
[2026-08-29 02:15:23,090.090 INFO    ] Checking for camera pi updates...
[2026-08-29 02:15:23,127.127 INFO    ] 200
[2026-08-29 02:15:23,130.130 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:15:23,179.179 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:15:23,270.270 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:15:23,274.274 INFO    ] No camera update needed
[2026-08-29 02:15:23,277.277 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:15:23,280.280 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:15:23,287.287 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:15:23,294.294 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:15:25,338.338 INFO    ] ================================================
[2026-08-29 02:15:25,356.356 INFO    ] Launching Daemon at Sat Aug 29 02:15:25 IST 2026
[2026-08-29 02:15:25,373.373 INFO    ] ================================================
[2026-08-29 02:15:25,898.898 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:15:25
[2026-08-29 02:15:26,475.475 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:15:26,753.753 INFO    ] Initializing speech engine...
[2026-08-29 02:15:26,762.762 INFO    ] 2026-08-29 02:15:26
[2026-08-29 02:15:27,009.009 INFO    ] 2026-08-29 02:15:27
[2026-08-29 02:15:27,045.045 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:15:27,215.215 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:15:27,219.219 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:15:28,701.701 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:15:28,750.750 INFO    ] time= 29/08/2026 02:15:28
[2026-08-29 02:15:28,790.790 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:15:28,797.797 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:15:29,387.387 INFO    ] No existing commands found in stream
[2026-08-29 02:15:34,397.397 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:15:34,400.400 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-08-29 02:15:38,874.874 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:15:38,876.876 INFO    ] Checking for system updates...
[2026-08-29 02:15:38,898.898 INFO    ] 200
[2026-08-29 02:15:38,899.899 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:15:38,932.932 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:15:38,933.933 INFO    ] No update needed
[2026-08-29 02:15:38,934.934 INFO    ] Checking for camera pi updates...
[2026-08-29 02:15:38,955.955 INFO    ] 200
[2026-08-29 02:15:38,956.956 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:15:38,979.979 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:15:39,057.057 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:15:39,058.058 INFO    ] No camera update needed
[2026-08-29 02:15:39,060.060 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:15:39,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:15:39,064.064 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:15:39,067.067 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:15:41,108.108 INFO    ] ================================================
[2026-08-29 02:15:41,125.125 INFO    ] Launching Daemon at Sat Aug 29 02:15:41 IST 2026
[2026-08-29 02:15:41,137.137 INFO    ] ================================================
[2026-08-29 02:15:41,523.523 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:15:41
[2026-08-29 02:15:42,011.011 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:15:42,291.291 INFO    ] Initializing speech engine...
[2026-08-29 02:15:42,298.298 INFO    ] 2026-08-29 02:15:42
[2026-08-29 02:15:42,559.559 INFO    ] 2026-08-29 02:15:42
[2026-08-29 02:15:42,589.589 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:15:44,433.433 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:15:44,439.439 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:15:49,455.455 INFO    ] MachineMessageSender.__init__: Redis error: Timeout connecting to server
[2026-08-29 02:15:49,486.486 INFO    ] Exiting as MachineMessageSender redis not connected!!!
[2026-08-29 02:15:49,489.489 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:15:49,496.496 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:15:49,502.502 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:15:51,544.544 INFO    ] ================================================
[2026-08-29 02:15:51,560.560 INFO    ] Launching Daemon at Sat Aug 29 02:15:51 IST 2026
[2026-08-29 02:15:51,572.572 INFO    ] ================================================
[2026-08-29 02:15:51,917.917 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:15:51
[2026-08-29 02:15:52,232.232 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:15:52,370.370 INFO    ] Initializing speech engine...
[2026-08-29 02:15:52,380.380 INFO    ] 2026-08-29 02:15:52
[2026-08-29 02:15:52,584.584 INFO    ] 2026-08-29 02:15:52
[2026-08-29 02:15:52,613.613 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:15:52,735.735 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:15:52,798.798 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:15:52,935.935 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:15:52,994.994 INFO    ] time= 29/08/2026 02:15:52
[2026-08-29 02:15:53,026.026 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:15:53,035.035 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:15:53,585.585 INFO    ] No existing commands found in stream
[2026-08-29 02:15:58,595.595 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:15:58,598.598 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-08-29 02:16:03,208.208 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:16:03,210.210 INFO    ] Checking for system updates...
[2026-08-29 02:16:03,255.255 INFO    ] 200
[2026-08-29 02:16:03,257.257 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:16:03,315.315 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:16:03,317.317 INFO    ] No update needed
[2026-08-29 02:16:03,319.319 INFO    ] Checking for camera pi updates...
[2026-08-29 02:16:03,353.353 INFO    ] 200
[2026-08-29 02:16:03,356.356 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:16:03,396.396 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:16:03,499.499 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:16:03,502.502 INFO    ] No camera update needed
[2026-08-29 02:16:03,504.504 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:16:03,506.506 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:16:03,511.511 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:16:03,516.516 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:16:05,558.558 INFO    ] ================================================
[2026-08-29 02:16:05,575.575 INFO    ] Launching Daemon at Sat Aug 29 02:16:05 IST 2026
[2026-08-29 02:16:05,586.586 INFO    ] ================================================
[2026-08-29 02:16:05,945.945 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:16:05
[2026-08-29 02:16:06,262.262 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:16:06,524.524 INFO    ] Initializing speech engine...
[2026-08-29 02:16:06,537.537 INFO    ] 2026-08-29 02:16:06
[2026-08-29 02:16:06,806.806 INFO    ] 2026-08-29 02:16:06
[2026-08-29 02:16:06,842.842 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:16:08,009.009 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:16:08,014.014 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:16:08,177.177 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:16:08,184.184 INFO    ] time= 29/08/2026 02:16:08
[2026-08-29 02:16:08,189.189 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:16:08,195.195 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:16:08,544.544 INFO    ] No existing commands found in stream
[2026-08-29 02:16:13,569.569 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:16:13,571.571 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-08-29 02:16:16,694.694 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:16:16,695.695 INFO    ] Checking for system updates...
[2026-08-29 02:16:16,715.715 INFO    ] 200
[2026-08-29 02:16:16,720.720 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:16:16,758.758 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:16:16,760.760 INFO    ] No update needed
[2026-08-29 02:16:16,761.761 INFO    ] Checking for camera pi updates...
[2026-08-29 02:16:16,795.795 INFO    ] 200
[2026-08-29 02:16:16,798.798 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:16:16,844.844 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:16:16,926.926 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:16:16,928.928 INFO    ] No camera update needed
[2026-08-29 02:16:16,931.931 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:16:16,933.933 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:16:16,938.938 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:16:16,943.943 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:16:18,984.984 INFO    ] ================================================
[2026-08-29 02:16:19,000.000 INFO    ] Launching Daemon at Sat Aug 29 02:16:18 IST 2026
[2026-08-29 02:16:19,011.011 INFO    ] ================================================
[2026-08-29 02:16:19,588.588 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:16:19
[2026-08-29 02:16:20,045.045 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:16:20,177.177 INFO    ] Initializing speech engine...
[2026-08-29 02:16:20,182.182 INFO    ] 2026-08-29 02:16:20
[2026-08-29 02:16:20,413.413 INFO    ] 2026-08-29 02:16:20
[2026-08-29 02:16:20,441.441 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:16:21,576.576 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:16:21,580.580 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:16:21,693.693 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:16:21,699.699 INFO    ] time= 29/08/2026 02:16:21
[2026-08-29 02:16:21,707.707 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:16:21,713.713 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:16:21,771.771 INFO    ] No existing commands found in stream
[2026-08-29 02:16:26,784.784 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:16:26,787.787 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-08-29 02:16:31,146.146 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:16:31,148.148 INFO    ] Checking for system updates...
[2026-08-29 02:16:31,168.168 INFO    ] 200
[2026-08-29 02:16:31,170.170 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:16:31,202.202 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:16:31,203.203 INFO    ] No update needed
[2026-08-29 02:16:31,205.205 INFO    ] Checking for camera pi updates...
[2026-08-29 02:16:31,225.225 INFO    ] 200
[2026-08-29 02:16:31,226.226 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:16:31,250.250 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:16:31,328.328 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:16:31,330.330 INFO    ] No camera update needed
[2026-08-29 02:16:31,331.331 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:16:31,333.333 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:16:31,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:16:31,339.339 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:16:33,377.377 INFO    ] ================================================
[2026-08-29 02:16:33,394.394 INFO    ] Launching Daemon at Sat Aug 29 02:16:33 IST 2026
[2026-08-29 02:16:33,405.405 INFO    ] ================================================
[2026-08-29 02:16:34,057.057 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:16:34
[2026-08-29 02:16:34,678.678 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:16:34,929.929 INFO    ] Initializing speech engine...
[2026-08-29 02:16:34,952.952 INFO    ] 2026-08-29 02:16:34
[2026-08-29 02:16:35,200.200 INFO    ] 2026-08-29 02:16:35
[2026-08-29 02:16:35,243.243 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:16:35,389.389 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:16:35,427.427 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:16:36,559.559 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:16:36,562.562 INFO    ] time= 29/08/2026 02:16:36
[2026-08-29 02:16:36,601.601 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:16:36,616.616 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:16:36,962.962 INFO    ] No existing commands found in stream
[2026-08-29 02:16:41,973.973 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:16:41,976.976 INFO    ] Waiting 2.66 seconds before fallback handling...
[2026-08-29 02:16:51,474.474 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:16:51,475.475 INFO    ] Checking for system updates...
[2026-08-29 02:16:51,496.496 INFO    ] 200
[2026-08-29 02:16:51,497.497 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:16:51,549.549 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:16:51,551.551 INFO    ] No update needed
[2026-08-29 02:16:51,554.554 INFO    ] Checking for camera pi updates...
[2026-08-29 02:16:51,587.587 INFO    ] 200
[2026-08-29 02:16:51,590.590 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:16:51,619.619 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:16:51,712.712 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:16:51,714.714 INFO    ] No camera update needed
[2026-08-29 02:16:51,715.715 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:16:51,716.716 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:16:51,719.719 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:16:51,722.722 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:16:53,745.745 INFO    ] ================================================
[2026-08-29 02:16:53,753.753 INFO    ] Launching Daemon at Sat Aug 29 02:16:53 IST 2026
[2026-08-29 02:16:53,759.759 INFO    ] ================================================
[2026-08-29 02:16:54,311.311 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:16:54
[2026-08-29 02:16:54,896.896 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:16:55,145.145 INFO    ] Initializing speech engine...
[2026-08-29 02:16:55,151.151 INFO    ] 2026-08-29 02:16:55
[2026-08-29 02:16:55,436.436 INFO    ] 2026-08-29 02:16:55
[2026-08-29 02:16:55,471.471 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:16:55,648.648 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:16:55,663.663 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:16:56,813.813 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:16:56,818.818 INFO    ] time= 29/08/2026 02:16:56
[2026-08-29 02:16:56,824.824 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:16:56,829.829 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:16:56,877.877 INFO    ] No existing commands found in stream
[2026-08-29 02:17:01,884.884 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:17:01,887.887 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-08-29 02:17:06,441.441 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:17:06,442.442 INFO    ] Checking for system updates...
[2026-08-29 02:17:06,464.464 INFO    ] 200
[2026-08-29 02:17:06,465.465 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:17:06,497.497 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:17:06,498.498 INFO    ] No update needed
[2026-08-29 02:17:06,499.499 INFO    ] Checking for camera pi updates...
[2026-08-29 02:17:06,519.519 INFO    ] 200
[2026-08-29 02:17:06,521.521 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:17:06,544.544 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:17:06,590.590 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:17:06,592.592 INFO    ] No camera update needed
[2026-08-29 02:17:06,595.595 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:17:06,597.597 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:17:06,602.602 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:17:06,607.607 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:17:08,648.648 INFO    ] ================================================
[2026-08-29 02:17:08,663.663 INFO    ] Launching Daemon at Sat Aug 29 02:17:08 IST 2026
[2026-08-29 02:17:08,674.674 INFO    ] ================================================
[2026-08-29 02:17:09,252.252 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:17:09
[2026-08-29 02:17:09,828.828 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:17:09,966.966 INFO    ] Initializing speech engine...
[2026-08-29 02:17:09,976.976 INFO    ] 2026-08-29 02:17:09
[2026-08-29 02:17:10,183.183 INFO    ] 2026-08-29 02:17:10
[2026-08-29 02:17:10,212.212 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:17:10,638.638 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:17:10,703.703 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:17:11,860.860 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:17:11,867.867 INFO    ] time= 29/08/2026 02:17:11
[2026-08-29 02:17:11,875.875 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:17:11,883.883 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:17:11,935.935 INFO    ] No existing commands found in stream
[2026-08-29 02:17:16,947.947 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:17:16,949.949 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-08-29 02:17:21,190.190 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:17:21,191.191 INFO    ] Checking for system updates...
[2026-08-29 02:17:21,212.212 INFO    ] 200
[2026-08-29 02:17:21,213.213 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:17:21,244.244 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:17:21,245.245 INFO    ] No update needed
[2026-08-29 02:17:21,247.247 INFO    ] Checking for camera pi updates...
[2026-08-29 02:17:21,266.266 INFO    ] 200
[2026-08-29 02:17:21,267.267 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:17:21,290.290 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:17:21,381.381 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:17:21,382.382 INFO    ] No camera update needed
[2026-08-29 02:17:21,384.384 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:17:21,385.385 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:17:21,388.388 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:17:21,390.390 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:17:23,430.430 INFO    ] ================================================
[2026-08-29 02:17:23,445.445 INFO    ] Launching Daemon at Sat Aug 29 02:17:23 IST 2026
[2026-08-29 02:17:23,456.456 INFO    ] ================================================
[2026-08-29 02:17:23,909.909 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:17:23
[2026-08-29 02:17:24,493.493 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:17:24,746.746 INFO    ] Initializing speech engine...
[2026-08-29 02:17:24,769.769 INFO    ] 2026-08-29 02:17:24
[2026-08-29 02:17:25,025.025 INFO    ] 2026-08-29 02:17:25
[2026-08-29 02:17:25,059.059 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:17:25,820.820 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:17:25,876.876 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:17:26,023.023 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:17:26,036.036 INFO    ] time= 29/08/2026 02:17:26
[2026-08-29 02:17:26,039.039 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:17:26,042.042 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:17:26,155.155 INFO    ] No existing commands found in stream
[2026-08-29 02:17:31,180.180 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:17:31,183.183 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-08-29 02:17:33,868.868 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:17:33,871.871 INFO    ] Checking for system updates...
[2026-08-29 02:17:33,906.906 INFO    ] 200
[2026-08-29 02:17:33,908.908 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:17:33,967.967 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:17:33,969.969 INFO    ] No update needed
[2026-08-29 02:17:33,971.971 INFO    ] Checking for camera pi updates...
[2026-08-29 02:17:34,008.008 INFO    ] 200
[2026-08-29 02:17:34,011.011 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:17:34,056.056 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:17:34,162.162 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:17:34,164.164 INFO    ] No camera update needed
[2026-08-29 02:17:34,167.167 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:17:34,169.169 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:17:34,174.174 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:17:34,179.179 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:17:36,220.220 INFO    ] ================================================
[2026-08-29 02:17:36,235.235 INFO    ] Launching Daemon at Sat Aug 29 02:17:36 IST 2026
[2026-08-29 02:17:36,245.245 INFO    ] ================================================
[2026-08-29 02:17:36,605.605 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:17:36
[2026-08-29 02:17:36,918.918 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:17:37,142.142 INFO    ] Initializing speech engine...
[2026-08-29 02:17:37,155.155 INFO    ] 2026-08-29 02:17:37
[2026-08-29 02:17:37,440.440 INFO    ] 2026-08-29 02:17:37
[2026-08-29 02:17:37,475.475 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:17:37,668.668 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:17:37,680.680 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:17:37,815.815 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:17:37,819.819 INFO    ] time= 29/08/2026 02:17:37
[2026-08-29 02:17:37,839.839 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:17:37,861.861 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:17:38,487.487 INFO    ] No existing commands found in stream
[2026-08-29 02:17:43,513.513 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:17:43,516.516 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-08-29 02:17:47,052.052 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:17:47,054.054 INFO    ] Checking for system updates...
[2026-08-29 02:17:47,074.074 INFO    ] 200
[2026-08-29 02:17:47,076.076 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:17:47,105.105 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:17:47,107.107 INFO    ] No update needed
[2026-08-29 02:17:47,108.108 INFO    ] Checking for camera pi updates...
[2026-08-29 02:17:47,128.128 INFO    ] 200
[2026-08-29 02:17:47,130.130 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:17:47,161.161 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:17:47,322.322 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:17:47,325.325 INFO    ] No camera update needed
[2026-08-29 02:17:47,327.327 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:17:47,329.329 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:17:47,335.335 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:17:47,340.340 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:17:49,380.380 INFO    ] ================================================
[2026-08-29 02:17:49,396.396 INFO    ] Launching Daemon at Sat Aug 29 02:17:49 IST 2026
[2026-08-29 02:17:49,407.407 INFO    ] ================================================
[2026-08-29 02:17:49,743.743 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:17:49
[2026-08-29 02:17:50,056.056 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:17:50,189.189 INFO    ] Initializing speech engine...
[2026-08-29 02:17:50,203.203 INFO    ] 2026-08-29 02:17:50
[2026-08-29 02:17:50,405.405 INFO    ] 2026-08-29 02:17:50
[2026-08-29 02:17:50,434.434 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:17:51,589.589 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:17:51,605.605 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:17:51,730.730 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:17:51,742.742 INFO    ] time= 29/08/2026 02:17:51
[2026-08-29 02:17:51,762.762 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:17:51,770.770 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:17:52,085.085 INFO    ] No existing commands found in stream
[2026-08-29 02:17:57,110.110 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:17:57,113.113 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-08-29 02:18:01,328.328 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:18:01,340.340 INFO    ] Checking for system updates...
[2026-08-29 02:18:01,390.390 INFO    ] 200
[2026-08-29 02:18:01,394.394 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:18:01,501.501 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:18:01,505.505 INFO    ] No update needed
[2026-08-29 02:18:01,508.508 INFO    ] Checking for camera pi updates...
[2026-08-29 02:18:01,557.557 INFO    ] 200
[2026-08-29 02:18:01,559.559 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:18:01,606.606 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:18:01,743.743 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:18:01,746.746 INFO    ] No camera update needed
[2026-08-29 02:18:01,749.749 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:18:01,752.752 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:18:01,758.758 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:18:01,764.764 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:18:03,807.807 INFO    ] ================================================
[2026-08-29 02:18:03,824.824 INFO    ] Launching Daemon at Sat Aug 29 02:18:03 IST 2026
[2026-08-29 02:18:03,835.835 INFO    ] ================================================
[2026-08-29 02:18:04,353.353 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:18:04
[2026-08-29 02:18:04,666.666 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:18:04,927.927 INFO    ] Initializing speech engine...
[2026-08-29 02:18:04,935.935 INFO    ] 2026-08-29 02:18:04
[2026-08-29 02:18:05,204.204 INFO    ] 2026-08-29 02:18:05
[2026-08-29 02:18:05,243.243 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:18:05,430.430 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:18:05,447.447 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:18:05,563.563 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:18:05,568.568 INFO    ] time= 29/08/2026 02:18:05
[2026-08-29 02:18:05,574.574 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:18:05,601.601 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:18:05,658.658 INFO    ] No existing commands found in stream
[2026-08-29 02:18:10,668.668 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:18:10,671.671 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-08-29 02:18:13,896.896 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:18:13,897.897 INFO    ] Checking for system updates...
[2026-08-29 02:18:13,918.918 INFO    ] 200
[2026-08-29 02:18:13,920.920 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:18:13,952.952 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:18:13,953.953 INFO    ] No update needed
[2026-08-29 02:18:13,955.955 INFO    ] Checking for camera pi updates...
[2026-08-29 02:18:13,975.975 INFO    ] 200
[2026-08-29 02:18:13,976.976 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:18:14,000.000 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:18:14,078.078 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:18:14,079.079 INFO    ] No camera update needed
[2026-08-29 02:18:14,081.081 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:18:14,082.082 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:18:14,085.085 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:18:14,087.087 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:18:16,126.126 INFO    ] ================================================
[2026-08-29 02:18:16,142.142 INFO    ] Launching Daemon at Sat Aug 29 02:18:16 IST 2026
[2026-08-29 02:18:16,153.153 INFO    ] ================================================
[2026-08-29 02:18:16,516.516 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:18:16
[2026-08-29 02:18:16,833.833 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:18:16,978.978 INFO    ] Initializing speech engine...
[2026-08-29 02:18:16,983.983 INFO    ] 2026-08-29 02:18:16
[2026-08-29 02:18:17,192.192 INFO    ] 2026-08-29 02:18:17
[2026-08-29 02:18:17,281.281 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:18:20,543.543 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:18:20,544.544 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:18:20,638.638 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:18:20,641.641 INFO    ] time= 29/08/2026 02:18:20
[2026-08-29 02:18:20,645.645 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:18:20,647.647 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:18:20,691.691 INFO    ] No existing commands found in stream
[2026-08-29 02:18:25,707.707 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:18:25,710.710 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-08-29 02:18:32,153.153 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:18:32,155.155 INFO    ] Checking for system updates...
[2026-08-29 02:18:32,190.190 INFO    ] 200
[2026-08-29 02:18:32,193.193 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:18:32,246.246 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:18:32,249.249 INFO    ] No update needed
[2026-08-29 02:18:32,251.251 INFO    ] Checking for camera pi updates...
[2026-08-29 02:18:32,284.284 INFO    ] 200
[2026-08-29 02:18:32,287.287 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:18:32,331.331 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:18:32,434.434 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:18:32,436.436 INFO    ] No camera update needed
[2026-08-29 02:18:32,439.439 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:18:32,441.441 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:18:32,446.446 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:18:32,451.451 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:18:34,494.494 INFO    ] ================================================
[2026-08-29 02:18:34,509.509 INFO    ] Launching Daemon at Sat Aug 29 02:18:34 IST 2026
[2026-08-29 02:18:34,521.521 INFO    ] ================================================
[2026-08-29 02:18:34,889.889 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:18:34
[2026-08-29 02:18:35,206.206 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:18:35,437.437 INFO    ] Initializing speech engine...
[2026-08-29 02:18:35,445.445 INFO    ] 2026-08-29 02:18:35
[2026-08-29 02:18:35,698.698 INFO    ] 2026-08-29 02:18:35
[2026-08-29 02:18:35,765.765 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:18:35,918.918 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:18:35,937.937 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:18:36,063.063 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:18:36,071.071 INFO    ] time= 29/08/2026 02:18:36
[2026-08-29 02:18:36,079.079 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:18:36,128.128 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:18:36,261.261 INFO    ] No existing commands found in stream
[2026-08-29 02:18:41,280.280 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:18:41,283.283 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-08-29 02:18:45,179.179 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:18:45,180.180 INFO    ] Checking for system updates...
[2026-08-29 02:18:45,200.200 INFO    ] 200
[2026-08-29 02:18:45,202.202 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:18:45,232.232 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:18:45,234.234 INFO    ] No update needed
[2026-08-29 02:18:45,235.235 INFO    ] Checking for camera pi updates...
[2026-08-29 02:18:45,254.254 INFO    ] 200
[2026-08-29 02:18:45,256.256 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:18:45,278.278 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:18:45,358.358 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:18:45,361.361 INFO    ] No camera update needed
[2026-08-29 02:18:45,363.363 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:18:45,366.366 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:18:45,371.371 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:18:45,376.376 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:18:47,421.421 INFO    ] ================================================
[2026-08-29 02:18:47,437.437 INFO    ] Launching Daemon at Sat Aug 29 02:18:47 IST 2026
[2026-08-29 02:18:47,449.449 INFO    ] ================================================
[2026-08-29 02:18:48,020.020 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:18:48
[2026-08-29 02:18:48,499.499 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:18:48,632.632 INFO    ] Initializing speech engine...
[2026-08-29 02:18:48,645.645 INFO    ] 2026-08-29 02:18:48
[2026-08-29 02:18:48,880.880 INFO    ] 2026-08-29 02:18:48
[2026-08-29 02:18:48,915.915 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:18:49,092.092 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:18:49,105.105 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:18:49,250.250 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:18:49,258.258 INFO    ] time= 29/08/2026 02:18:49
[2026-08-29 02:18:49,265.265 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:18:49,285.285 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:18:49,397.397 INFO    ] No existing commands found in stream
[2026-08-29 02:18:54,432.432 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:18:54,435.435 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-08-29 02:18:56,308.308 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:18:56,309.309 INFO    ] Checking for system updates...
[2026-08-29 02:18:56,331.331 INFO    ] 200
[2026-08-29 02:18:56,332.332 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:18:56,364.364 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:18:56,365.365 INFO    ] No update needed
[2026-08-29 02:18:56,366.366 INFO    ] Checking for camera pi updates...
[2026-08-29 02:18:56,386.386 INFO    ] 200
[2026-08-29 02:18:56,388.388 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:18:56,411.411 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:18:56,504.504 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:18:56,505.505 INFO    ] No camera update needed
[2026-08-29 02:18:56,507.507 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:18:56,508.508 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:18:56,511.511 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:18:56,514.514 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:18:58,552.552 INFO    ] ================================================
[2026-08-29 02:18:58,568.568 INFO    ] Launching Daemon at Sat Aug 29 02:18:58 IST 2026
[2026-08-29 02:18:58,579.579 INFO    ] ================================================
[2026-08-29 02:18:59,031.031 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:18:59
[2026-08-29 02:18:59,630.630 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:18:59,909.909 INFO    ] Initializing speech engine...
[2026-08-29 02:18:59,918.918 INFO    ] 2026-08-29 02:18:59
[2026-08-29 02:19:00,178.178 INFO    ] 2026-08-29 02:19:00
[2026-08-29 02:19:00,233.233 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:19:00,375.375 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:19:00,386.386 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:19:00,529.529 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:19:00,536.536 INFO    ] time= 29/08/2026 02:19:00
[2026-08-29 02:19:00,541.541 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:19:00,548.548 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:19:00,684.684 INFO    ] No existing commands found in stream
[2026-08-29 02:19:05,709.709 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:19:05,712.712 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-08-29 02:19:09,870.870 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:19:09,871.871 INFO    ] Checking for system updates...
[2026-08-29 02:19:09,892.892 INFO    ] 200
[2026-08-29 02:19:09,893.893 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:19:09,923.923 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:19:09,925.925 INFO    ] No update needed
[2026-08-29 02:19:09,926.926 INFO    ] Checking for camera pi updates...
[2026-08-29 02:19:09,945.945 INFO    ] 200
[2026-08-29 02:19:09,946.946 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:19:09,972.972 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:19:10,051.051 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:19:10,053.053 INFO    ] No camera update needed
[2026-08-29 02:19:10,054.054 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:19:10,055.055 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:19:10,058.058 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:19:10,060.060 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:19:12,103.103 INFO    ] ================================================
[2026-08-29 02:19:12,122.122 INFO    ] Launching Daemon at Sat Aug 29 02:19:12 IST 2026
[2026-08-29 02:19:12,134.134 INFO    ] ================================================
[2026-08-29 02:19:12,794.794 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:19:12
[2026-08-29 02:19:13,418.418 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:19:13,739.739 INFO    ] Initializing speech engine...
[2026-08-29 02:19:13,745.745 INFO    ] 2026-08-29 02:19:13
[2026-08-29 02:19:13,995.995 INFO    ] 2026-08-29 02:19:13
[2026-08-29 02:19:14,029.029 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:19:14,198.198 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:19:14,210.210 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:19:14,323.323 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:19:14,327.327 INFO    ] time= 29/08/2026 02:19:14
[2026-08-29 02:19:14,345.345 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:19:14,366.366 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:19:14,442.442 INFO    ] No existing commands found in stream
[2026-08-29 02:19:19,478.478 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:19:19,480.480 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-08-29 02:19:22,803.803 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:19:22,804.804 INFO    ] Checking for system updates...
[2026-08-29 02:19:22,826.826 INFO    ] 200
[2026-08-29 02:19:22,827.827 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:19:22,857.857 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:19:22,858.858 INFO    ] No update needed
[2026-08-29 02:19:22,859.859 INFO    ] Checking for camera pi updates...
[2026-08-29 02:19:22,879.879 INFO    ] 200
[2026-08-29 02:19:22,881.881 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:19:22,905.905 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:19:22,980.980 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:19:22,982.982 INFO    ] No camera update needed
[2026-08-29 02:19:22,983.983 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:19:22,984.984 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:19:22,987.987 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:19:22,990.990 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:19:25,030.030 INFO    ] ================================================
[2026-08-29 02:19:25,046.046 INFO    ] Launching Daemon at Sat Aug 29 02:19:25 IST 2026
[2026-08-29 02:19:25,057.057 INFO    ] ================================================
[2026-08-29 02:19:25,411.411 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:19:25
[2026-08-29 02:19:25,744.744 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:19:26,002.002 INFO    ] Initializing speech engine...
[2026-08-29 02:19:26,010.010 INFO    ] 2026-08-29 02:19:26
[2026-08-29 02:19:26,295.295 INFO    ] 2026-08-29 02:19:26
[2026-08-29 02:19:26,338.338 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:19:26,561.561 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:19:26,570.570 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:19:26,705.705 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:19:26,771.771 INFO    ] time= 29/08/2026 02:19:26
[2026-08-29 02:19:26,831.831 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:19:26,838.838 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:19:26,961.961 INFO    ] No existing commands found in stream
[2026-08-29 02:19:31,992.992 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:19:31,996.996 INFO    ] Waiting 3.71 seconds before fallback handling...
[2026-08-29 02:19:36,048.048 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:19:36,050.050 INFO    ] Checking for system updates...
[2026-08-29 02:19:36,071.071 INFO    ] 200
[2026-08-29 02:19:36,072.072 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:19:36,104.104 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:19:36,106.106 INFO    ] No update needed
[2026-08-29 02:19:36,107.107 INFO    ] Checking for camera pi updates...
[2026-08-29 02:19:36,126.126 INFO    ] 200
[2026-08-29 02:19:36,127.127 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:19:36,150.150 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:19:36,226.226 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:19:36,227.227 INFO    ] No camera update needed
[2026-08-29 02:19:36,228.228 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:19:36,230.230 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:19:36,233.233 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:19:36,235.235 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:19:38,274.274 INFO    ] ================================================
[2026-08-29 02:19:38,290.290 INFO    ] Launching Daemon at Sat Aug 29 02:19:38 IST 2026
[2026-08-29 02:19:38,301.301 INFO    ] ================================================
[2026-08-29 02:19:38,699.699 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:19:38
[2026-08-29 02:19:39,342.342 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:19:39,636.636 INFO    ] Initializing speech engine...
[2026-08-29 02:19:39,645.645 INFO    ] 2026-08-29 02:19:39
[2026-08-29 02:19:39,915.915 INFO    ] 2026-08-29 02:19:39
[2026-08-29 02:19:39,970.970 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:19:40,193.193 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:19:40,202.202 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:19:40,336.336 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:19:40,353.353 INFO    ] time= 29/08/2026 02:19:40
[2026-08-29 02:19:40,423.423 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:19:40,472.472 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:19:40,580.580 INFO    ] No existing commands found in stream
[2026-08-29 02:19:45,601.601 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:19:45,605.605 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-08-29 02:19:48,541.541 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:19:48,543.543 INFO    ] Checking for system updates...
[2026-08-29 02:19:48,564.564 INFO    ] 200
[2026-08-29 02:19:48,565.565 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:19:48,595.595 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:19:48,596.596 INFO    ] No update needed
[2026-08-29 02:19:48,598.598 INFO    ] Checking for camera pi updates...
[2026-08-29 02:19:48,618.618 INFO    ] 200
[2026-08-29 02:19:48,619.619 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:19:48,643.643 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:19:48,721.721 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:19:48,722.722 INFO    ] No camera update needed
[2026-08-29 02:19:48,724.724 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:19:48,725.725 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:19:48,728.728 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:19:48,730.730 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:19:50,769.769 INFO    ] ================================================
[2026-08-29 02:19:50,784.784 INFO    ] Launching Daemon at Sat Aug 29 02:19:50 IST 2026
[2026-08-29 02:19:50,795.795 INFO    ] ================================================
[2026-08-29 02:19:51,132.132 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:19:51
[2026-08-29 02:19:51,444.444 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:19:51,657.657 INFO    ] Initializing speech engine...
[2026-08-29 02:19:51,667.667 INFO    ] 2026-08-29 02:19:51
[2026-08-29 02:19:51,917.917 INFO    ] 2026-08-29 02:19:51
[2026-08-29 02:19:51,954.954 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:19:52,129.129 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:19:52,143.143 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:19:52,287.287 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:19:52,295.295 INFO    ] time= 29/08/2026 02:19:52
[2026-08-29 02:19:52,301.301 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:19:52,337.337 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:19:52,471.471 INFO    ] No existing commands found in stream
[2026-08-29 02:19:57,506.506 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:19:57,509.509 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 02:20:01,282.282 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:20:01,284.284 INFO    ] Checking for system updates...
[2026-08-29 02:20:01,305.305 INFO    ] 200
[2026-08-29 02:20:01,306.306 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:20:01,338.338 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:20:01,339.339 INFO    ] No update needed
[2026-08-29 02:20:01,340.340 INFO    ] Checking for camera pi updates...
[2026-08-29 02:20:01,360.360 INFO    ] 200
[2026-08-29 02:20:01,361.361 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:20:01,385.385 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:20:01,918.918 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:20:01,924.924 INFO    ] No camera update needed
[2026-08-29 02:20:01,928.928 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:20:01,931.931 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:20:01,955.955 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:20:01,995.995 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:20:04,047.047 INFO    ] ================================================
[2026-08-29 02:20:04,063.063 INFO    ] Launching Daemon at Sat Aug 29 02:20:04 IST 2026
[2026-08-29 02:20:04,075.075 INFO    ] ================================================
[2026-08-29 02:20:04,622.622 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:20:04
[2026-08-29 02:20:04,956.956 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:20:05,107.107 INFO    ] Initializing speech engine...
[2026-08-29 02:20:05,112.112 INFO    ] 2026-08-29 02:20:05
[2026-08-29 02:20:05,321.321 INFO    ] 2026-08-29 02:20:05
[2026-08-29 02:20:05,350.350 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:20:05,475.475 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:20:05,533.533 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:20:05,708.708 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:20:05,759.759 INFO    ] time= 29/08/2026 02:20:05
[2026-08-29 02:20:05,819.819 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:20:05,871.871 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:20:06,015.015 INFO    ] No existing commands found in stream
[2026-08-29 02:20:11,049.049 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:20:11,052.052 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-08-29 02:20:13,953.953 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:20:13,955.955 INFO    ] Checking for system updates...
[2026-08-29 02:20:13,975.975 INFO    ] 200
[2026-08-29 02:20:13,977.977 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:20:14,007.007 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:20:14,008.008 INFO    ] No update needed
[2026-08-29 02:20:14,009.009 INFO    ] Checking for camera pi updates...
[2026-08-29 02:20:14,030.030 INFO    ] 200
[2026-08-29 02:20:14,031.031 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:20:14,055.055 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:20:14,157.157 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:20:14,159.159 INFO    ] No camera update needed
[2026-08-29 02:20:14,160.160 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:20:14,161.161 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:20:14,164.164 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:20:14,167.167 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:20:16,206.206 INFO    ] ================================================
[2026-08-29 02:20:16,222.222 INFO    ] Launching Daemon at Sat Aug 29 02:20:16 IST 2026
[2026-08-29 02:20:16,233.233 INFO    ] ================================================
[2026-08-29 02:20:16,833.833 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:20:16
[2026-08-29 02:20:17,432.432 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:20:17,712.712 INFO    ] Initializing speech engine...
[2026-08-29 02:20:17,720.720 INFO    ] 2026-08-29 02:20:17
[2026-08-29 02:20:17,981.981 INFO    ] 2026-08-29 02:20:17
[2026-08-29 02:20:18,035.035 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:20:18,178.178 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:20:18,191.191 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:20:18,328.328 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:20:18,371.371 INFO    ] time= 29/08/2026 02:20:18
[2026-08-29 02:20:18,395.395 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:20:18,404.404 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:20:18,481.481 INFO    ] No existing commands found in stream
[2026-08-29 02:20:23,516.516 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:20:23,519.519 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 02:20:25,456.456 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:20:25,457.457 INFO    ] Checking for system updates...
[2026-08-29 02:20:25,479.479 INFO    ] 200
[2026-08-29 02:20:25,480.480 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:20:25,514.514 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:20:25,515.515 INFO    ] No update needed
[2026-08-29 02:20:25,517.517 INFO    ] Checking for camera pi updates...
[2026-08-29 02:20:25,538.538 INFO    ] 200
[2026-08-29 02:20:25,540.540 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:20:25,564.564 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:20:25,663.663 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:20:25,666.666 INFO    ] No camera update needed
[2026-08-29 02:20:25,668.668 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:20:25,671.671 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:20:25,677.677 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:20:25,682.682 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:20:27,724.724 INFO    ] ================================================
[2026-08-29 02:20:27,740.740 INFO    ] Launching Daemon at Sat Aug 29 02:20:27 IST 2026
[2026-08-29 02:20:27,751.751 INFO    ] ================================================
[2026-08-29 02:20:28,359.359 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:20:28
[2026-08-29 02:20:28,879.879 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:20:29,122.122 INFO    ] Initializing speech engine...
[2026-08-29 02:20:29,137.137 INFO    ] 2026-08-29 02:20:29
[2026-08-29 02:20:29,414.414 INFO    ] 2026-08-29 02:20:29
[2026-08-29 02:20:29,458.458 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:20:29,678.678 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:20:29,689.689 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:20:29,823.823 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:20:29,873.873 INFO    ] time= 29/08/2026 02:20:29
[2026-08-29 02:20:29,922.922 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:20:29,957.957 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:20:30,005.005 INFO    ] No existing commands found in stream
[2026-08-29 02:20:35,017.017 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:20:35,020.020 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-08-29 02:20:36,331.331 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:20:36,333.333 INFO    ] Checking for system updates...
[2026-08-29 02:20:36,354.354 INFO    ] 200
[2026-08-29 02:20:36,355.355 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:20:36,385.385 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:20:36,386.386 INFO    ] No update needed
[2026-08-29 02:20:36,388.388 INFO    ] Checking for camera pi updates...
[2026-08-29 02:20:36,409.409 INFO    ] 200
[2026-08-29 02:20:36,410.410 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:20:36,435.435 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:20:36,544.544 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:20:36,545.545 INFO    ] No camera update needed
[2026-08-29 02:20:36,547.547 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:20:36,548.548 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:20:36,551.551 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:20:36,554.554 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:20:38,593.593 INFO    ] ================================================
[2026-08-29 02:20:38,608.608 INFO    ] Launching Daemon at Sat Aug 29 02:20:38 IST 2026
[2026-08-29 02:20:38,620.620 INFO    ] ================================================
[2026-08-29 02:20:38,978.978 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:20:38
[2026-08-29 02:20:39,290.290 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:20:39,424.424 INFO    ] Initializing speech engine...
[2026-08-29 02:20:39,428.428 INFO    ] 2026-08-29 02:20:39
[2026-08-29 02:20:39,657.657 INFO    ] 2026-08-29 02:20:39
[2026-08-29 02:20:39,687.687 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:20:39,828.828 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:20:39,836.836 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:20:40,007.007 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:20:40,060.060 INFO    ] time= 29/08/2026 02:20:40
[2026-08-29 02:20:40,066.066 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:20:40,081.081 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:20:40,175.175 INFO    ] No existing commands found in stream
[2026-08-29 02:20:45,200.200 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:20:45,203.203 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-08-29 02:20:49,053.053 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:20:49,054.054 INFO    ] Checking for system updates...
[2026-08-29 02:20:49,075.075 INFO    ] 200
[2026-08-29 02:20:49,076.076 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:20:49,108.108 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:20:49,109.109 INFO    ] No update needed
[2026-08-29 02:20:49,110.110 INFO    ] Checking for camera pi updates...
[2026-08-29 02:20:49,130.130 INFO    ] 200
[2026-08-29 02:20:49,131.131 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:20:49,155.155 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:20:49,236.236 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:20:49,237.237 INFO    ] No camera update needed
[2026-08-29 02:20:49,238.238 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:20:49,239.239 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:20:49,242.242 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:20:49,245.245 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:20:51,284.284 INFO    ] ================================================
[2026-08-29 02:20:51,300.300 INFO    ] Launching Daemon at Sat Aug 29 02:20:51 IST 2026
[2026-08-29 02:20:51,311.311 INFO    ] ================================================
[2026-08-29 02:20:51,899.899 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:20:51
[2026-08-29 02:20:52,558.558 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:20:52,857.857 INFO    ] Initializing speech engine...
[2026-08-29 02:20:52,870.870 INFO    ] 2026-08-29 02:20:52
[2026-08-29 02:20:53,134.134 INFO    ] 2026-08-29 02:20:53
[2026-08-29 02:20:53,188.188 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:20:53,411.411 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:20:53,420.420 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:20:53,556.556 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:20:53,632.632 INFO    ] time= 29/08/2026 02:20:53
[2026-08-29 02:20:53,685.685 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:20:53,691.691 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:20:53,807.807 INFO    ] No existing commands found in stream
[2026-08-29 02:20:58,838.838 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:20:58,841.841 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-08-29 02:21:00,338.338 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:21:00,339.339 INFO    ] Checking for system updates...
[2026-08-29 02:21:00,360.360 INFO    ] 200
[2026-08-29 02:21:00,361.361 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:21:00,391.391 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:21:00,393.393 INFO    ] No update needed
[2026-08-29 02:21:00,394.394 INFO    ] Checking for camera pi updates...
[2026-08-29 02:21:00,415.415 INFO    ] 200
[2026-08-29 02:21:00,416.416 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:21:00,442.442 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:21:00,528.528 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:21:00,530.530 INFO    ] No camera update needed
[2026-08-29 02:21:00,531.531 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:21:00,533.533 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:21:00,536.536 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:21:00,539.539 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:21:02,581.581 INFO    ] ================================================
[2026-08-29 02:21:02,598.598 INFO    ] Launching Daemon at Sat Aug 29 02:21:02 IST 2026
[2026-08-29 02:21:02,615.615 INFO    ] ================================================
[2026-08-29 02:21:03,380.380 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:21:03
[2026-08-29 02:21:04,013.013 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:21:04,274.274 INFO    ] Initializing speech engine...
[2026-08-29 02:21:04,279.279 INFO    ] 2026-08-29 02:21:04
[2026-08-29 02:21:04,575.575 INFO    ] 2026-08-29 02:21:04
[2026-08-29 02:21:04,609.609 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:21:04,754.754 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:21:04,768.768 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:21:04,910.910 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:21:04,920.920 INFO    ] time= 29/08/2026 02:21:04
[2026-08-29 02:21:04,924.924 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:21:04,930.930 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:21:04,999.999 INFO    ] No existing commands found in stream
[2026-08-29 02:21:10,009.009 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:21:10,012.012 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 02:21:10,474.474 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:21:10,475.475 INFO    ] Checking for system updates...
[2026-08-29 02:21:10,496.496 INFO    ] 200
[2026-08-29 02:21:10,497.497 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:21:10,529.529 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:21:10,530.530 INFO    ] No update needed
[2026-08-29 02:21:10,531.531 INFO    ] Checking for camera pi updates...
[2026-08-29 02:21:10,551.551 INFO    ] 200
[2026-08-29 02:21:10,552.552 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:21:10,576.576 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:21:10,664.664 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:21:10,665.665 INFO    ] No camera update needed
[2026-08-29 02:21:10,666.666 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:21:10,668.668 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:21:10,670.670 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:21:10,673.673 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:21:12,714.714 INFO    ] ================================================
[2026-08-29 02:21:12,729.729 INFO    ] Launching Daemon at Sat Aug 29 02:21:12 IST 2026
[2026-08-29 02:21:12,740.740 INFO    ] ================================================
[2026-08-29 02:21:13,309.309 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:21:13
[2026-08-29 02:21:13,962.962 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:21:14,267.267 INFO    ] Initializing speech engine...
[2026-08-29 02:21:14,275.275 INFO    ] 2026-08-29 02:21:14
[2026-08-29 02:21:14,553.553 INFO    ] 2026-08-29 02:21:14
[2026-08-29 02:21:14,610.610 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:21:14,842.842 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:21:14,847.847 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:21:14,982.982 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:21:15,030.030 INFO    ] time= 29/08/2026 02:21:14
[2026-08-29 02:21:15,095.095 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:21:15,121.121 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:21:15,214.214 INFO    ] No existing commands found in stream
[2026-08-29 02:21:20,246.246 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:21:20,249.249 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 02:21:20,709.709 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:21:20,711.711 INFO    ] Checking for system updates...
[2026-08-29 02:21:20,733.733 INFO    ] 200
[2026-08-29 02:21:20,734.734 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:21:20,767.767 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:21:20,768.768 INFO    ] No update needed
[2026-08-29 02:21:20,770.770 INFO    ] Checking for camera pi updates...
[2026-08-29 02:21:20,790.790 INFO    ] 200
[2026-08-29 02:21:20,792.792 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:21:20,816.816 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:21:20,895.895 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:21:20,896.896 INFO    ] No camera update needed
[2026-08-29 02:21:20,898.898 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:21:20,899.899 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:21:20,902.902 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:21:20,905.905 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:21:22,945.945 INFO    ] ================================================
[2026-08-29 02:21:22,960.960 INFO    ] Launching Daemon at Sat Aug 29 02:21:22 IST 2026
[2026-08-29 02:21:22,971.971 INFO    ] ================================================
[2026-08-29 02:21:23,351.351 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:21:23
[2026-08-29 02:21:23,686.686 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:21:23,839.839 INFO    ] Initializing speech engine...
[2026-08-29 02:21:23,845.845 INFO    ] 2026-08-29 02:21:23
[2026-08-29 02:21:24,054.054 INFO    ] 2026-08-29 02:21:24
[2026-08-29 02:21:24,084.084 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:21:24,220.220 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:21:24,275.275 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:21:24,412.412 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:21:24,465.465 INFO    ] time= 29/08/2026 02:21:24
[2026-08-29 02:21:24,509.509 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:21:24,516.516 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:21:24,585.585 INFO    ] No existing commands found in stream
[2026-08-29 02:21:29,594.594 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:21:29,597.597 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-08-29 02:21:33,649.649 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:21:33,651.651 INFO    ] Checking for system updates...
[2026-08-29 02:21:33,688.688 INFO    ] 200
[2026-08-29 02:21:33,691.691 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:21:33,751.751 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:21:33,754.754 INFO    ] No update needed
[2026-08-29 02:21:33,757.757 INFO    ] Checking for camera pi updates...
[2026-08-29 02:21:33,792.792 INFO    ] 200
[2026-08-29 02:21:33,795.795 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:21:33,841.841 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:21:33,960.960 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:21:33,963.963 INFO    ] No camera update needed
[2026-08-29 02:21:33,966.966 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:21:33,968.968 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:21:33,974.974 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:21:33,980.980 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:21:36,023.023 INFO    ] ================================================
[2026-08-29 02:21:36,038.038 INFO    ] Launching Daemon at Sat Aug 29 02:21:36 IST 2026
[2026-08-29 02:21:36,049.049 INFO    ] ================================================
[2026-08-29 02:21:36,424.424 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:21:36
[2026-08-29 02:21:36,762.762 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:21:37,037.037 INFO    ] Initializing speech engine...
[2026-08-29 02:21:37,049.049 INFO    ] 2026-08-29 02:21:37
[2026-08-29 02:21:37,317.317 INFO    ] 2026-08-29 02:21:37
[2026-08-29 02:21:37,353.353 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:21:37,539.539 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:21:37,556.556 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:21:37,686.686 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:21:37,695.695 INFO    ] time= 29/08/2026 02:21:37
[2026-08-29 02:21:37,709.709 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:21:37,737.737 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:21:37,819.819 INFO    ] No existing commands found in stream
[2026-08-29 02:21:42,831.831 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:21:42,834.834 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-08-29 02:21:44,880.880 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:21:44,881.881 INFO    ] Checking for system updates...
[2026-08-29 02:21:44,902.902 INFO    ] 200
[2026-08-29 02:21:44,903.903 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:21:44,933.933 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:21:44,934.934 INFO    ] No update needed
[2026-08-29 02:21:44,935.935 INFO    ] Checking for camera pi updates...
[2026-08-29 02:21:44,955.955 INFO    ] 200
[2026-08-29 02:21:44,957.957 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:21:44,979.979 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:21:45,067.067 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:21:45,069.069 INFO    ] No camera update needed
[2026-08-29 02:21:45,072.072 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:21:45,074.074 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:21:45,080.080 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:21:45,085.085 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:21:47,126.126 INFO    ] ================================================
[2026-08-29 02:21:47,142.142 INFO    ] Launching Daemon at Sat Aug 29 02:21:47 IST 2026
[2026-08-29 02:21:47,153.153 INFO    ] ================================================
[2026-08-29 02:21:47,793.793 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:21:47
[2026-08-29 02:21:48,287.287 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:21:48,440.440 INFO    ] Initializing speech engine...
[2026-08-29 02:21:48,446.446 INFO    ] 2026-08-29 02:21:48
[2026-08-29 02:21:48,681.681 INFO    ] 2026-08-29 02:21:48
[2026-08-29 02:21:48,736.736 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:21:48,901.901 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:21:48,909.909 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:21:49,079.079 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:21:49,108.108 INFO    ] time= 29/08/2026 02:21:49
[2026-08-29 02:21:49,126.126 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:21:49,136.136 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:21:49,261.261 INFO    ] No existing commands found in stream
[2026-08-29 02:21:54,277.277 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:21:54,280.280 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-08-29 02:21:55,337.337 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:21:55,339.339 INFO    ] Checking for system updates...
[2026-08-29 02:21:55,359.359 INFO    ] 200
[2026-08-29 02:21:55,360.360 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:21:55,392.392 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:21:55,394.394 INFO    ] No update needed
[2026-08-29 02:21:55,395.395 INFO    ] Checking for camera pi updates...
[2026-08-29 02:21:55,414.414 INFO    ] 200
[2026-08-29 02:21:55,415.415 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:21:55,441.441 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:21:55,545.545 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:21:55,546.546 INFO    ] No camera update needed
[2026-08-29 02:21:55,547.547 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:21:55,549.549 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:21:55,552.552 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:21:55,555.555 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:21:57,593.593 INFO    ] ================================================
[2026-08-29 02:21:57,608.608 INFO    ] Launching Daemon at Sat Aug 29 02:21:57 IST 2026
[2026-08-29 02:21:57,619.619 INFO    ] ================================================
[2026-08-29 02:21:57,987.987 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:21:57
[2026-08-29 02:21:58,544.544 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:21:58,848.848 INFO    ] Initializing speech engine...
[2026-08-29 02:21:58,860.860 INFO    ] 2026-08-29 02:21:58
[2026-08-29 02:21:59,132.132 INFO    ] 2026-08-29 02:21:59
[2026-08-29 02:21:59,189.189 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:21:59,432.432 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:21:59,447.447 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:21:59,561.561 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:21:59,600.600 INFO    ] time= 29/08/2026 02:21:59
[2026-08-29 02:21:59,631.631 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:21:59,666.666 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:21:59,740.740 INFO    ] No existing commands found in stream
[2026-08-29 02:22:04,762.762 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:22:04,765.765 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-08-29 02:22:09,072.072 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:22:09,074.074 INFO    ] Checking for system updates...
[2026-08-29 02:22:09,094.094 INFO    ] 200
[2026-08-29 02:22:09,096.096 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:22:09,125.125 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:22:09,126.126 INFO    ] No update needed
[2026-08-29 02:22:09,128.128 INFO    ] Checking for camera pi updates...
[2026-08-29 02:22:09,150.150 INFO    ] 200
[2026-08-29 02:22:09,151.151 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:22:09,174.174 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:22:09,352.352 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:22:09,353.353 INFO    ] No camera update needed
[2026-08-29 02:22:09,354.354 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:22:09,356.356 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:22:09,358.358 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:22:09,361.361 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:22:11,400.400 INFO    ] ================================================
[2026-08-29 02:22:11,416.416 INFO    ] Launching Daemon at Sat Aug 29 02:22:11 IST 2026
[2026-08-29 02:22:11,427.427 INFO    ] ================================================
[2026-08-29 02:22:11,815.815 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:22:11
[2026-08-29 02:22:12,143.143 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:22:12,278.278 INFO    ] Initializing speech engine...
[2026-08-29 02:22:12,283.283 INFO    ] 2026-08-29 02:22:12
[2026-08-29 02:22:12,495.495 INFO    ] 2026-08-29 02:22:12
[2026-08-29 02:22:12,524.524 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:22:12,646.646 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:22:12,649.649 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:22:12,759.759 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:22:12,769.769 INFO    ] time= 29/08/2026 02:22:12
[2026-08-29 02:22:12,786.786 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:22:12,791.791 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:22:12,858.858 INFO    ] No existing commands found in stream
[2026-08-29 02:22:17,887.887 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:22:17,890.890 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-08-29 02:22:20,846.846 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:22:20,848.848 INFO    ] Checking for system updates...
[2026-08-29 02:22:20,877.877 INFO    ] 200
[2026-08-29 02:22:20,878.878 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:22:20,908.908 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:22:20,910.910 INFO    ] No update needed
[2026-08-29 02:22:20,911.911 INFO    ] Checking for camera pi updates...
[2026-08-29 02:22:20,931.931 INFO    ] 200
[2026-08-29 02:22:20,933.933 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:22:20,956.956 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:22:21,046.046 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:22:21,047.047 INFO    ] No camera update needed
[2026-08-29 02:22:21,048.048 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:22:21,050.050 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:22:21,053.053 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:22:21,056.056 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:22:23,095.095 INFO    ] ================================================
[2026-08-29 02:22:23,111.111 INFO    ] Launching Daemon at Sat Aug 29 02:22:23 IST 2026
[2026-08-29 02:22:23,121.121 INFO    ] ================================================
[2026-08-29 02:22:23,489.489 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:22:23
[2026-08-29 02:22:23,834.834 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:22:23,989.989 INFO    ] Initializing speech engine...
[2026-08-29 02:22:23,994.994 INFO    ] 2026-08-29 02:22:23
[2026-08-29 02:22:24,206.206 INFO    ] 2026-08-29 02:22:24
[2026-08-29 02:22:24,236.236 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:22:24,361.361 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:22:24,425.425 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:22:24,558.558 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:22:24,600.600 INFO    ] time= 29/08/2026 02:22:24
[2026-08-29 02:22:24,639.639 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:22:24,660.660 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:22:24,736.736 INFO    ] No existing commands found in stream
[2026-08-29 02:22:29,747.747 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:22:29,750.750 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-08-29 02:22:30,389.389 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:22:30,391.391 INFO    ] Checking for system updates...
[2026-08-29 02:22:30,412.412 INFO    ] 200
[2026-08-29 02:22:30,413.413 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:22:30,444.444 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:22:30,445.445 INFO    ] No update needed
[2026-08-29 02:22:30,447.447 INFO    ] Checking for camera pi updates...
[2026-08-29 02:22:30,466.466 INFO    ] 200
[2026-08-29 02:22:30,468.468 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:22:30,493.493 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:22:30,597.597 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:22:30,599.599 INFO    ] No camera update needed
[2026-08-29 02:22:30,600.600 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:22:30,601.601 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:22:30,605.605 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:22:30,608.608 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:22:32,650.650 INFO    ] ================================================
[2026-08-29 02:22:32,666.666 INFO    ] Launching Daemon at Sat Aug 29 02:22:32 IST 2026
[2026-08-29 02:22:32,678.678 INFO    ] ================================================
[2026-08-29 02:22:33,382.382 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:22:33
[2026-08-29 02:22:34,090.090 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:22:34,401.401 INFO    ] Initializing speech engine...
[2026-08-29 02:22:34,414.414 INFO    ] 2026-08-29 02:22:34
[2026-08-29 02:22:34,733.733 INFO    ] 2026-08-29 02:22:34
[2026-08-29 02:22:34,816.816 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:22:34,965.965 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:22:34,975.975 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:22:35,118.118 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:22:35,169.169 INFO    ] time= 29/08/2026 02:22:35
[2026-08-29 02:22:35,231.231 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:22:35,257.257 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:22:35,315.315 INFO    ] No existing commands found in stream
[2026-08-29 02:22:40,328.328 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:22:40,331.331 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-08-29 02:22:44,319.319 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:22:44,321.321 INFO    ] Checking for system updates...
[2026-08-29 02:22:44,343.343 INFO    ] 200
[2026-08-29 02:22:44,345.345 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:22:44,378.378 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:22:44,380.380 INFO    ] No update needed
[2026-08-29 02:22:44,381.381 INFO    ] Checking for camera pi updates...
[2026-08-29 02:22:44,403.403 INFO    ] 200
[2026-08-29 02:22:44,405.405 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:22:44,429.429 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:22:44,514.514 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:22:44,516.516 INFO    ] No camera update needed
[2026-08-29 02:22:44,517.517 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:22:44,518.518 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:22:44,522.522 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:22:44,525.525 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:22:46,566.566 INFO    ] ================================================
[2026-08-29 02:22:46,582.582 INFO    ] Launching Daemon at Sat Aug 29 02:22:46 IST 2026
[2026-08-29 02:22:46,593.593 INFO    ] ================================================
[2026-08-29 02:22:46,970.970 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:22:46
[2026-08-29 02:22:47,288.288 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:22:47,547.547 INFO    ] Initializing speech engine...
[2026-08-29 02:22:47,552.552 INFO    ] 2026-08-29 02:22:47
[2026-08-29 02:22:47,803.803 INFO    ] 2026-08-29 02:22:47
[2026-08-29 02:22:47,869.869 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:22:48,092.092 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:22:48,102.102 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:22:48,236.236 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:22:48,276.276 INFO    ] time= 29/08/2026 02:22:48
[2026-08-29 02:22:48,330.330 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:22:48,369.369 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:22:48,485.485 INFO    ] No existing commands found in stream
[2026-08-29 02:22:53,512.512 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:22:53,515.515 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-08-29 02:22:53,929.929 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:22:53,931.931 INFO    ] Checking for system updates...
[2026-08-29 02:22:53,953.953 INFO    ] 200
[2026-08-29 02:22:53,954.954 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:22:53,984.984 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:22:53,986.986 INFO    ] No update needed
[2026-08-29 02:22:53,987.987 INFO    ] Checking for camera pi updates...
[2026-08-29 02:22:54,006.006 INFO    ] 200
[2026-08-29 02:22:54,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:22:54,031.031 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:22:54,111.111 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:22:54,114.114 INFO    ] No camera update needed
[2026-08-29 02:22:54,116.116 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:22:54,118.118 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:22:54,124.124 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:22:54,129.129 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:22:56,170.170 INFO    ] ================================================
[2026-08-29 02:22:56,186.186 INFO    ] Launching Daemon at Sat Aug 29 02:22:56 IST 2026
[2026-08-29 02:22:56,196.196 INFO    ] ================================================
[2026-08-29 02:22:56,777.777 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:22:56
[2026-08-29 02:22:57,150.150 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:22:57,285.285 INFO    ] Initializing speech engine...
[2026-08-29 02:22:57,290.290 INFO    ] 2026-08-29 02:22:57
[2026-08-29 02:22:57,499.499 INFO    ] 2026-08-29 02:22:57
[2026-08-29 02:22:57,528.528 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:22:57,649.649 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:22:57,652.652 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:22:57,773.773 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:22:57,789.789 INFO    ] time= 29/08/2026 02:22:57
[2026-08-29 02:22:57,792.792 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:22:57,798.798 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:22:57,882.882 INFO    ] No existing commands found in stream
[2026-08-29 02:23:02,917.917 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:23:02,920.920 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-08-29 02:23:05,220.220 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:23:05,222.222 INFO    ] Checking for system updates...
[2026-08-29 02:23:05,242.242 INFO    ] 200
[2026-08-29 02:23:05,244.244 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:23:05,277.277 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:23:05,278.278 INFO    ] No update needed
[2026-08-29 02:23:05,279.279 INFO    ] Checking for camera pi updates...
[2026-08-29 02:23:05,298.298 INFO    ] 200
[2026-08-29 02:23:05,300.300 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:23:05,323.323 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:23:05,405.405 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:23:05,407.407 INFO    ] No camera update needed
[2026-08-29 02:23:05,409.409 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:23:05,412.412 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:23:05,417.417 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:23:05,423.423 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:23:07,463.463 INFO    ] ================================================
[2026-08-29 02:23:07,478.478 INFO    ] Launching Daemon at Sat Aug 29 02:23:07 IST 2026
[2026-08-29 02:23:07,489.489 INFO    ] ================================================
[2026-08-29 02:23:08,071.071 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:23:08
[2026-08-29 02:23:08,540.540 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:23:08,684.684 INFO    ] Initializing speech engine...
[2026-08-29 02:23:08,688.688 INFO    ] 2026-08-29 02:23:08
[2026-08-29 02:23:08,911.911 INFO    ] 2026-08-29 02:23:08
[2026-08-29 02:23:08,994.994 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:23:09,146.146 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:23:09,152.152 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:23:09,282.282 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:23:09,303.303 INFO    ] time= 29/08/2026 02:23:09
[2026-08-29 02:23:09,363.363 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:23:09,415.415 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:23:09,533.533 INFO    ] No existing commands found in stream
[2026-08-29 02:23:14,555.555 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:23:14,558.558 INFO    ] Waiting 0.00 seconds before fallback handling...
[2026-08-29 02:23:14,951.951 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:23:14,953.953 INFO    ] Checking for system updates...
[2026-08-29 02:23:14,990.990 INFO    ] 200
[2026-08-29 02:23:14,992.992 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:23:15,047.047 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:23:15,049.049 INFO    ] No update needed
[2026-08-29 02:23:15,052.052 INFO    ] Checking for camera pi updates...
[2026-08-29 02:23:15,090.090 INFO    ] 200
[2026-08-29 02:23:15,092.092 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:23:15,133.133 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:23:15,224.224 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:23:15,227.227 INFO    ] No camera update needed
[2026-08-29 02:23:15,229.229 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:23:15,231.231 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:23:15,237.237 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:23:15,242.242 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:23:17,284.284 INFO    ] ================================================
[2026-08-29 02:23:17,302.302 INFO    ] Launching Daemon at Sat Aug 29 02:23:17 IST 2026
[2026-08-29 02:23:17,313.313 INFO    ] ================================================
[2026-08-29 02:23:17,705.705 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:23:17
[2026-08-29 02:23:18,043.043 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:23:18,190.190 INFO    ] Initializing speech engine...
[2026-08-29 02:23:18,201.201 INFO    ] 2026-08-29 02:23:18
[2026-08-29 02:23:18,409.409 INFO    ] 2026-08-29 02:23:18
[2026-08-29 02:23:18,438.438 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:23:18,549.549 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:23:18,550.550 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:23:18,708.708 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:23:18,761.761 INFO    ] time= 29/08/2026 02:23:18
[2026-08-29 02:23:18,770.770 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:23:18,772.772 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:23:18,856.856 INFO    ] No existing commands found in stream
[2026-08-29 02:23:23,879.879 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:23:23,883.883 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-08-29 02:23:27,048.048 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:23:27,050.050 INFO    ] Checking for system updates...
[2026-08-29 02:23:27,070.070 INFO    ] 200
[2026-08-29 02:23:27,072.072 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:23:27,102.102 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:23:27,104.104 INFO    ] No update needed
[2026-08-29 02:23:27,105.105 INFO    ] Checking for camera pi updates...
[2026-08-29 02:23:27,125.125 INFO    ] 200
[2026-08-29 02:23:27,126.126 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:23:27,151.151 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:23:27,228.228 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:23:27,229.229 INFO    ] No camera update needed
[2026-08-29 02:23:27,231.231 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:23:27,232.232 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:23:27,235.235 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:23:27,238.238 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:23:29,278.278 INFO    ] ================================================
[2026-08-29 02:23:29,293.293 INFO    ] Launching Daemon at Sat Aug 29 02:23:29 IST 2026
[2026-08-29 02:23:29,304.304 INFO    ] ================================================
[2026-08-29 02:23:29,684.684 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:23:29
[2026-08-29 02:23:30,283.283 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:23:30,544.544 INFO    ] Initializing speech engine...
[2026-08-29 02:23:30,552.552 INFO    ] 2026-08-29 02:23:30
[2026-08-29 02:23:30,849.849 INFO    ] 2026-08-29 02:23:30
[2026-08-29 02:23:30,888.888 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:23:31,086.086 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:23:31,101.101 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:23:31,222.222 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:23:31,230.230 INFO    ] time= 29/08/2026 02:23:31
[2026-08-29 02:23:31,235.235 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:23:31,256.256 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:23:31,350.350 INFO    ] No existing commands found in stream
[2026-08-29 02:23:36,368.368 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:23:36,371.371 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-08-29 02:23:38,185.185 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:23:38,186.186 INFO    ] Checking for system updates...
[2026-08-29 02:23:38,206.206 INFO    ] 200
[2026-08-29 02:23:38,208.208 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:23:38,237.237 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:23:38,239.239 INFO    ] No update needed
[2026-08-29 02:23:38,240.240 INFO    ] Checking for camera pi updates...
[2026-08-29 02:23:38,259.259 INFO    ] 200
[2026-08-29 02:23:38,260.260 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:23:38,283.283 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:23:38,378.378 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:23:38,379.379 INFO    ] No camera update needed
[2026-08-29 02:23:38,381.381 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:23:38,382.382 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:23:38,385.385 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:23:38,388.388 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:23:40,426.426 INFO    ] ================================================
[2026-08-29 02:23:40,442.442 INFO    ] Launching Daemon at Sat Aug 29 02:23:40 IST 2026
[2026-08-29 02:23:40,453.453 INFO    ] ================================================
[2026-08-29 02:23:40,800.800 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:23:40
[2026-08-29 02:23:41,137.137 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:23:41,289.289 INFO    ] Initializing speech engine...
[2026-08-29 02:23:41,294.294 INFO    ] 2026-08-29 02:23:41
[2026-08-29 02:23:41,505.505 INFO    ] 2026-08-29 02:23:41
[2026-08-29 02:23:41,534.534 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:23:41,678.678 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:23:41,721.721 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:23:41,860.860 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:23:41,928.928 INFO    ] time= 29/08/2026 02:23:41
[2026-08-29 02:23:41,952.952 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:23:41,959.959 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:23:42,027.027 INFO    ] No existing commands found in stream
[2026-08-29 02:23:47,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:23:47,045.045 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-08-29 02:23:47,918.918 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:23:47,920.920 INFO    ] Checking for system updates...
[2026-08-29 02:23:47,942.942 INFO    ] 200
[2026-08-29 02:23:47,944.944 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:23:47,976.976 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:23:47,978.978 INFO    ] No update needed
[2026-08-29 02:23:47,979.979 INFO    ] Checking for camera pi updates...
[2026-08-29 02:23:48,001.001 INFO    ] 200
[2026-08-29 02:23:48,002.002 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:23:48,026.026 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:23:48,101.101 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:23:48,103.103 INFO    ] No camera update needed
[2026-08-29 02:23:48,104.104 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:23:48,106.106 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:23:48,109.109 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:23:48,112.112 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:23:50,153.153 INFO    ] ================================================
[2026-08-29 02:23:50,169.169 INFO    ] Launching Daemon at Sat Aug 29 02:23:50 IST 2026
[2026-08-29 02:23:50,180.180 INFO    ] ================================================
[2026-08-29 02:23:50,520.520 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:23:50
[2026-08-29 02:23:50,832.832 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:23:51,080.080 INFO    ] Initializing speech engine...
[2026-08-29 02:23:51,094.094 INFO    ] 2026-08-29 02:23:51
[2026-08-29 02:23:51,350.350 INFO    ] 2026-08-29 02:23:51
[2026-08-29 02:23:51,384.384 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:23:51,559.559 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:23:51,566.566 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:23:51,719.719 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:23:51,727.727 INFO    ] time= 29/08/2026 02:23:51
[2026-08-29 02:23:51,734.734 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:23:51,765.765 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:23:51,881.881 INFO    ] No existing commands found in stream
[2026-08-29 02:23:56,906.906 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:23:56,909.909 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-08-29 02:23:59,152.152 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:23:59,154.154 INFO    ] Checking for system updates...
[2026-08-29 02:23:59,175.175 INFO    ] 200
[2026-08-29 02:23:59,177.177 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:23:59,207.207 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:23:59,208.208 INFO    ] No update needed
[2026-08-29 02:23:59,210.210 INFO    ] Checking for camera pi updates...
[2026-08-29 02:23:59,229.229 INFO    ] 200
[2026-08-29 02:23:59,231.231 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:23:59,254.254 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:23:59,344.344 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:23:59,345.345 INFO    ] No camera update needed
[2026-08-29 02:23:59,347.347 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:23:59,348.348 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:23:59,351.351 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:23:59,354.354 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:24:01,397.397 INFO    ] ================================================
[2026-08-29 02:24:01,413.413 INFO    ] Launching Daemon at Sat Aug 29 02:24:01 IST 2026
[2026-08-29 02:24:01,425.425 INFO    ] ================================================
[2026-08-29 02:24:01,961.961 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:24:01
[2026-08-29 02:24:02,639.639 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:24:02,955.955 INFO    ] Initializing speech engine...
[2026-08-29 02:24:02,959.959 INFO    ] 2026-08-29 02:24:02
[2026-08-29 02:24:03,248.248 INFO    ] 2026-08-29 02:24:03
[2026-08-29 02:24:03,280.280 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:24:03,464.464 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:24:03,503.503 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:24:03,610.610 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:24:03,616.616 INFO    ] time= 29/08/2026 02:24:03
[2026-08-29 02:24:03,635.635 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:24:03,642.642 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:24:03,704.704 INFO    ] No existing commands found in stream
[2026-08-29 02:24:08,740.740 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:24:08,743.743 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-08-29 02:24:11,766.766 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:24:11,767.767 INFO    ] Checking for system updates...
[2026-08-29 02:24:11,787.787 INFO    ] 200
[2026-08-29 02:24:11,789.789 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:24:11,818.818 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:24:11,820.820 INFO    ] No update needed
[2026-08-29 02:24:11,821.821 INFO    ] Checking for camera pi updates...
[2026-08-29 02:24:11,840.840 INFO    ] 200
[2026-08-29 02:24:11,841.841 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:24:11,866.866 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:24:12,040.040 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:24:12,041.041 INFO    ] No camera update needed
[2026-08-29 02:24:12,042.042 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:24:12,044.044 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:24:12,046.046 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:24:12,049.049 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:24:14,088.088 INFO    ] ================================================
[2026-08-29 02:24:14,104.104 INFO    ] Launching Daemon at Sat Aug 29 02:24:14 IST 2026
[2026-08-29 02:24:14,115.115 INFO    ] ================================================
[2026-08-29 02:24:14,479.479 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:24:14
[2026-08-29 02:24:14,791.791 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:24:14,927.927 INFO    ] Initializing speech engine...
[2026-08-29 02:24:14,937.937 INFO    ] 2026-08-29 02:24:14
[2026-08-29 02:24:15,147.147 INFO    ] 2026-08-29 02:24:15
[2026-08-29 02:24:15,228.228 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:24:15,380.380 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:24:15,387.387 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:24:15,518.518 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:24:15,567.567 INFO    ] time= 29/08/2026 02:24:15
[2026-08-29 02:24:15,616.616 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:24:15,650.650 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:24:15,760.760 INFO    ] No existing commands found in stream
[2026-08-29 02:24:20,783.783 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:24:20,785.785 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-08-29 02:24:23,390.390 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:24:23,391.391 INFO    ] Checking for system updates...
[2026-08-29 02:24:23,412.412 INFO    ] 200
[2026-08-29 02:24:23,413.413 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:24:23,444.444 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:24:23,446.446 INFO    ] No update needed
[2026-08-29 02:24:23,447.447 INFO    ] Checking for camera pi updates...
[2026-08-29 02:24:23,468.468 INFO    ] 200
[2026-08-29 02:24:23,470.470 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:24:23,492.492 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:24:23,589.589 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:24:23,591.591 INFO    ] No camera update needed
[2026-08-29 02:24:23,594.594 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:24:23,596.596 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:24:23,601.601 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:24:23,606.606 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:24:25,646.646 INFO    ] ================================================
[2026-08-29 02:24:25,663.663 INFO    ] Launching Daemon at Sat Aug 29 02:24:25 IST 2026
[2026-08-29 02:24:25,675.675 INFO    ] ================================================
[2026-08-29 02:24:26,340.340 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:24:26
[2026-08-29 02:24:26,789.789 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:24:26,943.943 INFO    ] Initializing speech engine...
[2026-08-29 02:24:26,947.947 INFO    ] 2026-08-29 02:24:26
[2026-08-29 02:24:27,156.156 INFO    ] 2026-08-29 02:24:27
[2026-08-29 02:24:27,184.184 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:24:27,306.306 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:24:27,355.355 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:24:27,490.490 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:24:27,512.512 INFO    ] time= 29/08/2026 02:24:27
[2026-08-29 02:24:27,540.540 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:24:27,550.550 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:24:27,650.650 INFO    ] No existing commands found in stream
[2026-08-29 02:24:32,675.675 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:24:32,678.678 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-08-29 02:24:34,927.927 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:24:34,930.930 INFO    ] Checking for system updates...
[2026-08-29 02:24:34,967.967 INFO    ] 200
[2026-08-29 02:24:34,970.970 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:24:35,024.024 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:24:35,027.027 INFO    ] No update needed
[2026-08-29 02:24:35,029.029 INFO    ] Checking for camera pi updates...
[2026-08-29 02:24:35,066.066 INFO    ] 200
[2026-08-29 02:24:35,068.068 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:24:35,109.109 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:24:35,201.201 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:24:35,204.204 INFO    ] No camera update needed
[2026-08-29 02:24:35,206.206 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:24:35,208.208 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:24:35,214.214 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:24:35,219.219 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:24:37,259.259 INFO    ] ================================================
[2026-08-29 02:24:37,275.275 INFO    ] Launching Daemon at Sat Aug 29 02:24:37 IST 2026
[2026-08-29 02:24:37,286.286 INFO    ] ================================================
[2026-08-29 02:24:37,755.755 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:24:37
[2026-08-29 02:24:38,355.355 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:24:38,633.633 INFO    ] Initializing speech engine...
[2026-08-29 02:24:38,640.640 INFO    ] 2026-08-29 02:24:38
[2026-08-29 02:24:38,901.901 INFO    ] 2026-08-29 02:24:38
[2026-08-29 02:24:38,958.958 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:24:39,180.180 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:24:39,189.189 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:24:39,321.321 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:24:39,358.358 INFO    ] time= 29/08/2026 02:24:39
[2026-08-29 02:24:39,423.423 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:24:39,456.456 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:24:39,526.526 INFO    ] No existing commands found in stream
[2026-08-29 02:24:44,563.563 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:24:44,566.566 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-08-29 02:24:47,734.734 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:24:47,735.735 INFO    ] Checking for system updates...
[2026-08-29 02:24:47,755.755 INFO    ] 200
[2026-08-29 02:24:47,757.757 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:24:47,786.786 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:24:47,787.787 INFO    ] No update needed
[2026-08-29 02:24:47,789.789 INFO    ] Checking for camera pi updates...
[2026-08-29 02:24:47,809.809 INFO    ] 200
[2026-08-29 02:24:47,811.811 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:24:47,835.835 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:24:47,923.923 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:24:47,925.925 INFO    ] No camera update needed
[2026-08-29 02:24:47,926.926 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:24:47,927.927 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:24:47,930.930 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:24:47,933.933 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:24:49,972.972 INFO    ] ================================================
[2026-08-29 02:24:49,987.987 INFO    ] Launching Daemon at Sat Aug 29 02:24:49 IST 2026
[2026-08-29 02:24:50,999.999 INFO    ] ================================================
[2026-08-29 02:24:50,369.369 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:24:50
[2026-08-29 02:24:50,713.713 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:24:50,975.975 INFO    ] Initializing speech engine...
[2026-08-29 02:24:50,981.981 INFO    ] 2026-08-29 02:24:50
[2026-08-29 02:24:51,283.283 INFO    ] 2026-08-29 02:24:51
[2026-08-29 02:24:51,320.320 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:24:51,470.470 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:24:51,477.477 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:24:51,628.628 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:24:51,639.639 INFO    ] time= 29/08/2026 02:24:51
[2026-08-29 02:24:51,644.644 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:24:51,649.649 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:24:51,716.716 INFO    ] No existing commands found in stream
[2026-08-29 02:24:56,730.730 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:24:56,733.733 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-08-29 02:24:59,759.759 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:24:59,760.760 INFO    ] Checking for system updates...
[2026-08-29 02:24:59,781.781 INFO    ] 200
[2026-08-29 02:24:59,782.782 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:24:59,814.814 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:24:59,816.816 INFO    ] No update needed
[2026-08-29 02:24:59,817.817 INFO    ] Checking for camera pi updates...
[2026-08-29 02:24:59,836.836 INFO    ] 200
[2026-08-29 02:24:59,837.837 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:24:59,861.861 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:24:59,950.950 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:24:59,951.951 INFO    ] No camera update needed
[2026-08-29 02:24:59,953.953 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:24:59,954.954 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:24:59,957.957 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:24:59,960.960 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:25:02,006.006 INFO    ] ================================================
[2026-08-29 02:25:02,048.048 INFO    ] Launching Daemon at Sat Aug 29 02:25:02 IST 2026
[2026-08-29 02:25:02,082.082 INFO    ] ================================================
[2026-08-29 02:25:02,789.789 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:25:02
[2026-08-29 02:25:03,452.452 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:25:03,769.769 INFO    ] Initializing speech engine...
[2026-08-29 02:25:03,775.775 INFO    ] 2026-08-29 02:25:03
[2026-08-29 02:25:04,030.030 INFO    ] 2026-08-29 02:25:04
[2026-08-29 02:25:04,066.066 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:25:04,254.254 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:25:04,272.272 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:25:04,379.379 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:25:04,405.405 INFO    ] time= 29/08/2026 02:25:04
[2026-08-29 02:25:04,413.413 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:25:04,419.419 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:25:04,486.486 INFO    ] No existing commands found in stream
[2026-08-29 02:25:09,521.521 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:25:09,524.524 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-08-29 02:25:11,533.533 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:25:11,534.534 INFO    ] Checking for system updates...
[2026-08-29 02:25:11,556.556 INFO    ] 200
[2026-08-29 02:25:11,558.558 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:25:11,587.587 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:25:11,588.588 INFO    ] No update needed
[2026-08-29 02:25:11,590.590 INFO    ] Checking for camera pi updates...
[2026-08-29 02:25:11,608.608 INFO    ] 200
[2026-08-29 02:25:11,610.610 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:25:11,635.635 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:25:11,722.722 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:25:11,723.723 INFO    ] No camera update needed
[2026-08-29 02:25:11,725.725 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:25:11,726.726 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:25:11,729.729 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:25:11,731.731 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:25:13,771.771 INFO    ] ================================================
[2026-08-29 02:25:13,787.787 INFO    ] Launching Daemon at Sat Aug 29 02:25:13 IST 2026
[2026-08-29 02:25:13,798.798 INFO    ] ================================================
[2026-08-29 02:25:14,365.365 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:25:14
[2026-08-29 02:25:14,952.952 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:25:15,209.209 INFO    ] Initializing speech engine...
[2026-08-29 02:25:15,215.215 INFO    ] 2026-08-29 02:25:15
[2026-08-29 02:25:15,505.505 INFO    ] 2026-08-29 02:25:15
[2026-08-29 02:25:15,539.539 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:25:15,668.668 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:25:15,700.700 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:25:15,844.844 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:25:15,849.849 INFO    ] time= 29/08/2026 02:25:15
[2026-08-29 02:25:15,860.860 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:25:15,869.869 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:25:15,959.959 INFO    ] No existing commands found in stream
[2026-08-29 02:25:20,994.994 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:25:20,997.997 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-08-29 02:25:23,045.045 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:25:23,046.046 INFO    ] Checking for system updates...
[2026-08-29 02:25:23,067.067 INFO    ] 200
[2026-08-29 02:25:23,069.069 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:25:23,101.101 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:25:23,102.102 INFO    ] No update needed
[2026-08-29 02:25:23,104.104 INFO    ] Checking for camera pi updates...
[2026-08-29 02:25:23,123.123 INFO    ] 200
[2026-08-29 02:25:23,124.124 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:25:23,148.148 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:25:23,232.232 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:25:23,233.233 INFO    ] No camera update needed
[2026-08-29 02:25:23,234.234 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:25:23,236.236 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:25:23,238.238 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:25:23,241.241 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:25:25,281.281 INFO    ] ================================================
[2026-08-29 02:25:25,296.296 INFO    ] Launching Daemon at Sat Aug 29 02:25:25 IST 2026
[2026-08-29 02:25:25,307.307 INFO    ] ================================================
[2026-08-29 02:25:25,696.696 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:25:25
[2026-08-29 02:25:26,030.030 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:25:26,182.182 INFO    ] Initializing speech engine...
[2026-08-29 02:25:26,188.188 INFO    ] 2026-08-29 02:25:26
[2026-08-29 02:25:26,398.398 INFO    ] 2026-08-29 02:25:26
[2026-08-29 02:25:26,426.426 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:25:26,552.552 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:25:26,615.615 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:25:26,760.760 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:25:26,823.823 INFO    ] time= 29/08/2026 02:25:26
[2026-08-29 02:25:26,847.847 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:25:26,849.849 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:25:26,921.921 INFO    ] No existing commands found in stream
[2026-08-29 02:25:31,933.933 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:25:31,937.937 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-08-29 02:25:35,238.238 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:25:35,241.241 INFO    ] Checking for system updates...
[2026-08-29 02:25:35,281.281 INFO    ] 200
[2026-08-29 02:25:35,284.284 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:25:35,343.343 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:25:35,346.346 INFO    ] No update needed
[2026-08-29 02:25:35,349.349 INFO    ] Checking for camera pi updates...
[2026-08-29 02:25:35,385.385 INFO    ] 200
[2026-08-29 02:25:35,387.387 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:25:35,428.428 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:25:35,515.515 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:25:35,516.516 INFO    ] No camera update needed
[2026-08-29 02:25:35,517.517 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:25:35,518.518 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:25:35,521.521 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:25:35,524.524 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:25:37,562.562 INFO    ] ================================================
[2026-08-29 02:25:37,578.578 INFO    ] Launching Daemon at Sat Aug 29 02:25:37 IST 2026
[2026-08-29 02:25:37,589.589 INFO    ] ================================================
[2026-08-29 02:25:37,958.958 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:25:37
[2026-08-29 02:25:38,275.275 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:25:38,418.418 INFO    ] Initializing speech engine...
[2026-08-29 02:25:38,423.423 INFO    ] 2026-08-29 02:25:38
[2026-08-29 02:25:38,627.627 INFO    ] 2026-08-29 02:25:38
[2026-08-29 02:25:38,656.656 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:25:38,777.777 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:25:38,842.842 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:25:38,987.987 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:25:39,038.038 INFO    ] time= 29/08/2026 02:25:38
[2026-08-29 02:25:39,086.086 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:25:39,111.111 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:25:39,234.234 INFO    ] No existing commands found in stream
[2026-08-29 02:25:44,252.252 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:25:44,255.255 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-08-29 02:25:47,766.766 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:25:47,768.768 INFO    ] Checking for system updates...
[2026-08-29 02:25:47,788.788 INFO    ] 200
[2026-08-29 02:25:47,789.789 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:25:47,824.824 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:25:47,825.825 INFO    ] No update needed
[2026-08-29 02:25:47,826.826 INFO    ] Checking for camera pi updates...
[2026-08-29 02:25:47,845.845 INFO    ] 200
[2026-08-29 02:25:47,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:25:47,889.889 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:25:47,980.980 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:25:47,982.982 INFO    ] No camera update needed
[2026-08-29 02:25:47,985.985 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:25:47,987.987 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:25:47,992.992 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:25:47,997.997 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:25:50,039.039 INFO    ] ================================================
[2026-08-29 02:25:50,055.055 INFO    ] Launching Daemon at Sat Aug 29 02:25:50 IST 2026
[2026-08-29 02:25:50,066.066 INFO    ] ================================================
[2026-08-29 02:25:50,631.631 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:25:50
[2026-08-29 02:25:51,105.105 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:25:51,252.252 INFO    ] Initializing speech engine...
[2026-08-29 02:25:51,256.256 INFO    ] 2026-08-29 02:25:51
[2026-08-29 02:25:51,455.455 INFO    ] 2026-08-29 02:25:51
[2026-08-29 02:25:51,534.534 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:25:51,685.685 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:25:51,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:25:51,820.820 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:25:51,847.847 INFO    ] time= 29/08/2026 02:25:51
[2026-08-29 02:25:51,901.901 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:25:51,950.950 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:25:52,010.010 INFO    ] No existing commands found in stream
[2026-08-29 02:25:57,022.022 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:25:57,025.025 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-08-29 02:26:00,904.904 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:26:00,906.906 INFO    ] Checking for system updates...
[2026-08-29 02:26:00,926.926 INFO    ] 200
[2026-08-29 02:26:00,928.928 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:26:00,960.960 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:26:00,961.961 INFO    ] No update needed
[2026-08-29 02:26:00,963.963 INFO    ] Checking for camera pi updates...
[2026-08-29 02:26:00,983.983 INFO    ] 200
[2026-08-29 02:26:00,985.985 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:26:01,008.008 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:26:01,071.071 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:26:01,073.073 INFO    ] No camera update needed
[2026-08-29 02:26:01,074.074 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:26:01,075.075 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:26:01,078.078 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:26:01,081.081 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:26:03,129.129 INFO    ] ================================================
[2026-08-29 02:26:03,146.146 INFO    ] Launching Daemon at Sat Aug 29 02:26:03 IST 2026
[2026-08-29 02:26:03,159.159 INFO    ] ================================================
[2026-08-29 02:26:03,784.784 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:26:03
[2026-08-29 02:26:04,382.382 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:26:04,647.647 INFO    ] Initializing speech engine...
[2026-08-29 02:26:04,663.663 INFO    ] 2026-08-29 02:26:04
[2026-08-29 02:26:04,947.947 INFO    ] 2026-08-29 02:26:04
[2026-08-29 02:26:04,985.985 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:26:05,179.179 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:26:05,194.194 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:26:05,332.332 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:26:05,335.335 INFO    ] time= 29/08/2026 02:26:05
[2026-08-29 02:26:05,338.338 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:26:05,374.374 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:26:05,443.443 INFO    ] No existing commands found in stream
[2026-08-29 02:26:10,454.454 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:26:10,457.457 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 02:26:11,872.872 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:26:11,873.873 INFO    ] Checking for system updates...
[2026-08-29 02:26:11,894.894 INFO    ] 200
[2026-08-29 02:26:11,895.895 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:26:11,925.925 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:26:11,927.927 INFO    ] No update needed
[2026-08-29 02:26:11,928.928 INFO    ] Checking for camera pi updates...
[2026-08-29 02:26:11,947.947 INFO    ] 200
[2026-08-29 02:26:11,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:26:11,971.971 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:26:12,053.053 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:26:12,055.055 INFO    ] No camera update needed
[2026-08-29 02:26:12,056.056 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:26:12,057.057 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:26:12,060.060 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:26:12,063.063 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:26:14,105.105 INFO    ] ================================================
[2026-08-29 02:26:14,120.120 INFO    ] Launching Daemon at Sat Aug 29 02:26:14 IST 2026
[2026-08-29 02:26:14,131.131 INFO    ] ================================================
[2026-08-29 02:26:14,484.484 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:26:14
[2026-08-29 02:26:14,990.990 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:26:15,243.243 INFO    ] Initializing speech engine...
[2026-08-29 02:26:15,251.251 INFO    ] 2026-08-29 02:26:15
[2026-08-29 02:26:15,548.548 INFO    ] 2026-08-29 02:26:15
[2026-08-29 02:26:15,583.583 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:26:15,776.776 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:26:15,781.781 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:26:15,910.910 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:26:15,917.917 INFO    ] time= 29/08/2026 02:26:15
[2026-08-29 02:26:15,924.924 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:26:15,944.944 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:26:16,043.043 INFO    ] No existing commands found in stream
[2026-08-29 02:26:21,053.053 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:26:21,056.056 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-08-29 02:26:23,847.847 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:26:23,848.848 INFO    ] Checking for system updates...
[2026-08-29 02:26:23,869.869 INFO    ] 200
[2026-08-29 02:26:23,870.870 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:26:23,901.901 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:26:23,902.902 INFO    ] No update needed
[2026-08-29 02:26:23,904.904 INFO    ] Checking for camera pi updates...
[2026-08-29 02:26:23,923.923 INFO    ] 200
[2026-08-29 02:26:23,925.925 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:26:23,948.948 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:26:24,124.124 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:26:24,127.127 INFO    ] No camera update needed
[2026-08-29 02:26:24,130.130 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:26:24,132.132 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:26:24,138.138 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:26:24,144.144 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:26:26,185.185 INFO    ] ================================================
[2026-08-29 02:26:26,200.200 INFO    ] Launching Daemon at Sat Aug 29 02:26:26 IST 2026
[2026-08-29 02:26:26,211.211 INFO    ] ================================================
[2026-08-29 02:26:26,779.779 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:26:26
[2026-08-29 02:26:27,189.189 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:26:27,461.461 INFO    ] Initializing speech engine...
[2026-08-29 02:26:27,469.469 INFO    ] 2026-08-29 02:26:27
[2026-08-29 02:26:27,718.718 INFO    ] 2026-08-29 02:26:27
[2026-08-29 02:26:27,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:26:27,929.929 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:26:27,942.942 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:26:28,070.070 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:26:28,092.092 INFO    ] time= 29/08/2026 02:26:28
[2026-08-29 02:26:28,098.098 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:26:28,104.104 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:26:28,170.170 INFO    ] No existing commands found in stream
[2026-08-29 02:26:33,183.183 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:26:33,186.186 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-08-29 02:26:34,432.432 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:26:34,434.434 INFO    ] Checking for system updates...
[2026-08-29 02:26:34,470.470 INFO    ] 200
[2026-08-29 02:26:34,472.472 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:26:34,525.525 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:26:34,527.527 INFO    ] No update needed
[2026-08-29 02:26:34,529.529 INFO    ] Checking for camera pi updates...
[2026-08-29 02:26:34,570.570 INFO    ] 200
[2026-08-29 02:26:34,572.572 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:26:34,620.620 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:26:34,713.713 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:26:34,716.716 INFO    ] No camera update needed
[2026-08-29 02:26:34,718.718 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:26:34,720.720 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:26:34,725.725 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:26:34,730.730 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:26:36,776.776 INFO    ] ================================================
[2026-08-29 02:26:36,791.791 INFO    ] Launching Daemon at Sat Aug 29 02:26:36 IST 2026
[2026-08-29 02:26:36,801.801 INFO    ] ================================================
[2026-08-29 02:26:37,127.127 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:26:37
[2026-08-29 02:26:37,441.441 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:26:37,583.583 INFO    ] Initializing speech engine...
[2026-08-29 02:26:37,589.589 INFO    ] 2026-08-29 02:26:37
[2026-08-29 02:26:37,774.774 INFO    ] 2026-08-29 02:26:37
[2026-08-29 02:26:37,827.827 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:26:38,046.046 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:26:38,055.055 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:26:38,188.188 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:26:38,205.205 INFO    ] time= 29/08/2026 02:26:38
[2026-08-29 02:26:38,259.259 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:26:38,313.313 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:26:38,383.383 INFO    ] No existing commands found in stream
[2026-08-29 02:26:43,402.402 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:26:43,405.405 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-08-29 02:26:47,539.539 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:26:47,540.540 INFO    ] Checking for system updates...
[2026-08-29 02:26:47,561.561 INFO    ] 200
[2026-08-29 02:26:47,562.562 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:26:47,592.592 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:26:47,594.594 INFO    ] No update needed
[2026-08-29 02:26:47,595.595 INFO    ] Checking for camera pi updates...
[2026-08-29 02:26:47,614.614 INFO    ] 200
[2026-08-29 02:26:47,615.615 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:26:47,640.640 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:26:47,718.718 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:26:47,720.720 INFO    ] No camera update needed
[2026-08-29 02:26:47,723.723 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:26:47,725.725 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:26:47,730.730 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:26:47,735.735 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:26:49,775.775 INFO    ] ================================================
[2026-08-29 02:26:49,790.790 INFO    ] Launching Daemon at Sat Aug 29 02:26:49 IST 2026
[2026-08-29 02:26:49,801.801 INFO    ] ================================================
[2026-08-29 02:26:50,367.367 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:26:50
[2026-08-29 02:26:50,881.881 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:26:51,046.046 INFO    ] Initializing speech engine...
[2026-08-29 02:26:51,059.059 INFO    ] 2026-08-29 02:26:51
[2026-08-29 02:26:51,306.306 INFO    ] 2026-08-29 02:26:51
[2026-08-29 02:26:51,341.341 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:26:51,520.520 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:26:51,532.532 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:26:51,674.674 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:26:51,681.681 INFO    ] time= 29/08/2026 02:26:51
[2026-08-29 02:26:51,689.689 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:26:51,715.715 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:26:51,832.832 INFO    ] No existing commands found in stream
[2026-08-29 02:26:56,857.857 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:26:56,860.860 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-08-29 02:27:00,067.067 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:27:00,068.068 INFO    ] Checking for system updates...
[2026-08-29 02:27:00,088.088 INFO    ] 200
[2026-08-29 02:27:00,090.090 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:27:00,119.119 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:27:00,121.121 INFO    ] No update needed
[2026-08-29 02:27:00,122.122 INFO    ] Checking for camera pi updates...
[2026-08-29 02:27:00,141.141 INFO    ] 200
[2026-08-29 02:27:00,142.142 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:27:00,165.165 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:27:00,259.259 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:27:00,261.261 INFO    ] No camera update needed
[2026-08-29 02:27:00,262.262 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:27:00,263.263 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:27:00,266.266 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:27:00,269.269 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:27:02,310.310 INFO    ] ================================================
[2026-08-29 02:27:02,330.330 INFO    ] Launching Daemon at Sat Aug 29 02:27:02 IST 2026
[2026-08-29 02:27:02,342.342 INFO    ] ================================================
[2026-08-29 02:27:03,062.062 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:27:03
[2026-08-29 02:27:03,663.663 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:27:03,919.919 INFO    ] Initializing speech engine...
[2026-08-29 02:27:03,924.924 INFO    ] 2026-08-29 02:27:03
[2026-08-29 02:27:04,215.215 INFO    ] 2026-08-29 02:27:04
[2026-08-29 02:27:04,253.253 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:27:04,447.447 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:27:04,461.461 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:27:04,613.613 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:27:04,626.626 INFO    ] time= 29/08/2026 02:27:04
[2026-08-29 02:27:04,634.634 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:27:04,641.641 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:27:04,708.708 INFO    ] No existing commands found in stream
[2026-08-29 02:27:09,718.718 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:27:09,720.720 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-08-29 02:27:13,224.224 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:27:13,226.226 INFO    ] Checking for system updates...
[2026-08-29 02:27:13,262.262 INFO    ] 200
[2026-08-29 02:27:13,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:27:13,317.317 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:27:13,319.319 INFO    ] No update needed
[2026-08-29 02:27:13,321.321 INFO    ] Checking for camera pi updates...
[2026-08-29 02:27:13,355.355 INFO    ] 200
[2026-08-29 02:27:13,358.358 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:27:13,398.398 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:27:13,490.490 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:27:13,492.492 INFO    ] No camera update needed
[2026-08-29 02:27:13,494.494 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:27:13,497.497 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:27:13,502.502 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:27:13,507.507 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:27:15,546.546 INFO    ] ================================================
[2026-08-29 02:27:15,561.561 INFO    ] Launching Daemon at Sat Aug 29 02:27:15 IST 2026
[2026-08-29 02:27:15,572.572 INFO    ] ================================================
[2026-08-29 02:27:16,068.068 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:27:16
[2026-08-29 02:27:16,651.651 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:27:16,921.921 INFO    ] Initializing speech engine...
[2026-08-29 02:27:16,929.929 INFO    ] 2026-08-29 02:27:16
[2026-08-29 02:27:17,179.179 INFO    ] 2026-08-29 02:27:17
[2026-08-29 02:27:17,215.215 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:27:17,399.399 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:27:17,417.417 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:27:17,546.546 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:27:17,555.555 INFO    ] time= 29/08/2026 02:27:17
[2026-08-29 02:27:17,561.561 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:27:17,602.602 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:27:17,743.743 INFO    ] No existing commands found in stream
[2026-08-29 02:27:22,765.765 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:27:22,768.768 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 02:27:23,199.199 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:27:23,200.200 INFO    ] Checking for system updates...
[2026-08-29 02:27:23,221.221 INFO    ] 200
[2026-08-29 02:27:23,222.222 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:27:23,253.253 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:27:23,254.254 INFO    ] No update needed
[2026-08-29 02:27:23,255.255 INFO    ] Checking for camera pi updates...
[2026-08-29 02:27:23,274.274 INFO    ] 200
[2026-08-29 02:27:23,276.276 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:27:23,300.300 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:27:23,390.390 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:27:23,391.391 INFO    ] No camera update needed
[2026-08-29 02:27:23,392.392 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:27:23,393.393 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:27:23,396.396 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:27:23,399.399 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:27:25,439.439 INFO    ] ================================================
[2026-08-29 02:27:25,454.454 INFO    ] Launching Daemon at Sat Aug 29 02:27:25 IST 2026
[2026-08-29 02:27:25,464.464 INFO    ] ================================================
[2026-08-29 02:27:25,791.791 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:27:25
[2026-08-29 02:27:26,103.103 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:27:26,240.240 INFO    ] Initializing speech engine...
[2026-08-29 02:27:26,251.251 INFO    ] 2026-08-29 02:27:26
[2026-08-29 02:27:26,458.458 INFO    ] 2026-08-29 02:27:26
[2026-08-29 02:27:26,493.493 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:27:26,670.670 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:27:26,681.681 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:27:26,794.794 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:27:26,798.798 INFO    ] time= 29/08/2026 02:27:26
[2026-08-29 02:27:26,817.817 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:27:26,836.836 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:27:26,912.912 INFO    ] No existing commands found in stream
[2026-08-29 02:27:31,922.922 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:27:31,923.923 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-08-29 02:27:35,415.415 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:27:35,417.417 INFO    ] Checking for system updates...
[2026-08-29 02:27:35,437.437 INFO    ] 200
[2026-08-29 02:27:35,438.438 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:27:35,471.471 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:27:35,473.473 INFO    ] No update needed
[2026-08-29 02:27:35,474.474 INFO    ] Checking for camera pi updates...
[2026-08-29 02:27:35,494.494 INFO    ] 200
[2026-08-29 02:27:35,495.495 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:27:35,519.519 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:27:35,615.615 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:27:35,617.617 INFO    ] No camera update needed
[2026-08-29 02:27:35,619.619 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:27:35,622.622 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:27:35,627.627 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:27:35,632.632 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:27:37,672.672 INFO    ] ================================================
[2026-08-29 02:27:37,687.687 INFO    ] Launching Daemon at Sat Aug 29 02:27:37 IST 2026
[2026-08-29 02:27:37,698.698 INFO    ] ================================================
[2026-08-29 02:27:38,265.265 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:27:38
[2026-08-29 02:27:38,740.740 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:27:38,873.873 INFO    ] Initializing speech engine...
[2026-08-29 02:27:38,885.885 INFO    ] 2026-08-29 02:27:38
[2026-08-29 02:27:39,093.093 INFO    ] 2026-08-29 02:27:39
[2026-08-29 02:27:39,128.128 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:27:39,293.293 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:27:39,301.301 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:27:39,467.467 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:27:39,505.505 INFO    ] time= 29/08/2026 02:27:39
[2026-08-29 02:27:39,511.511 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:27:39,532.532 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:27:39,652.652 INFO    ] No existing commands found in stream
[2026-08-29 02:27:44,674.674 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:27:44,677.677 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-08-29 02:27:47,623.623 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:27:47,625.625 INFO    ] Checking for system updates...
[2026-08-29 02:27:47,645.645 INFO    ] 200
[2026-08-29 02:27:47,646.646 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:27:47,676.676 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:27:47,677.677 INFO    ] No update needed
[2026-08-29 02:27:47,678.678 INFO    ] Checking for camera pi updates...
[2026-08-29 02:27:47,697.697 INFO    ] 200
[2026-08-29 02:27:47,698.698 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:27:47,723.723 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:27:47,817.817 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:27:47,818.818 INFO    ] No camera update needed
[2026-08-29 02:27:47,819.819 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:27:47,821.821 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:27:47,824.824 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:27:47,826.826 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:27:49,866.866 INFO    ] ================================================
[2026-08-29 02:27:49,883.883 INFO    ] Launching Daemon at Sat Aug 29 02:27:49 IST 2026
[2026-08-29 02:27:49,894.894 INFO    ] ================================================
[2026-08-29 02:27:50,245.245 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:27:50
[2026-08-29 02:27:50,584.584 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:27:50,736.736 INFO    ] Initializing speech engine...
[2026-08-29 02:27:50,741.741 INFO    ] 2026-08-29 02:27:50
[2026-08-29 02:27:50,950.950 INFO    ] 2026-08-29 02:27:50
[2026-08-29 02:27:50,979.979 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:27:51,104.104 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:27:51,168.168 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:27:51,309.309 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:27:51,377.377 INFO    ] time= 29/08/2026 02:27:51
[2026-08-29 02:27:51,401.401 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:27:51,408.408 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:27:51,475.475 INFO    ] No existing commands found in stream
[2026-08-29 02:27:56,485.485 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:27:56,488.488 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-08-29 02:27:58,244.244 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:27:58,245.245 INFO    ] Checking for system updates...
[2026-08-29 02:27:58,266.266 INFO    ] 200
[2026-08-29 02:27:58,267.267 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:27:58,302.302 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:27:58,304.304 INFO    ] No update needed
[2026-08-29 02:27:58,305.305 INFO    ] Checking for camera pi updates...
[2026-08-29 02:27:58,324.324 INFO    ] 200
[2026-08-29 02:27:58,326.326 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:27:58,355.355 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:27:58,440.440 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:27:58,441.441 INFO    ] No camera update needed
[2026-08-29 02:27:58,443.443 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:27:58,444.444 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:27:58,447.447 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:27:58,450.450 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:28:00,490.490 INFO    ] ================================================
[2026-08-29 02:28:00,505.505 INFO    ] Launching Daemon at Sat Aug 29 02:28:00 IST 2026
[2026-08-29 02:28:00,516.516 INFO    ] ================================================
[2026-08-29 02:28:00,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:28:00
[2026-08-29 02:28:01,152.152 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:28:01,600.600 INFO    ] Initializing speech engine...
[2026-08-29 02:28:01,604.604 INFO    ] 2026-08-29 02:28:01
[2026-08-29 02:28:02,035.035 INFO    ] 2026-08-29 02:28:01
[2026-08-29 02:28:02,086.086 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:28:02,317.317 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:28:02,328.328 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:28:02,521.521 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:28:02,570.570 INFO    ] time= 29/08/2026 02:28:02
[2026-08-29 02:28:02,579.579 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:28:02,603.603 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:28:02,710.710 INFO    ] No existing commands found in stream
[2026-08-29 02:28:07,741.741 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:28:07,744.744 INFO    ] Waiting 2.52 seconds before fallback handling...
[2026-08-29 02:28:10,599.599 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:28:10,601.601 INFO    ] Checking for system updates...
[2026-08-29 02:28:10,621.621 INFO    ] 200
[2026-08-29 02:28:10,623.623 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:28:10,653.653 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:28:10,655.655 INFO    ] No update needed
[2026-08-29 02:28:10,656.656 INFO    ] Checking for camera pi updates...
[2026-08-29 02:28:10,676.676 INFO    ] 200
[2026-08-29 02:28:10,678.678 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:28:10,703.703 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:28:10,802.802 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:28:10,804.804 INFO    ] No camera update needed
[2026-08-29 02:28:10,805.805 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:28:10,807.807 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:28:10,810.810 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:28:10,813.813 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:28:12,851.851 INFO    ] ================================================
[2026-08-29 02:28:12,866.866 INFO    ] Launching Daemon at Sat Aug 29 02:28:12 IST 2026
[2026-08-29 02:28:12,877.877 INFO    ] ================================================
[2026-08-29 02:28:13,217.217 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:28:13
[2026-08-29 02:28:13,528.528 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:28:13,658.658 INFO    ] Initializing speech engine...
[2026-08-29 02:28:13,666.666 INFO    ] 2026-08-29 02:28:13
[2026-08-29 02:28:13,879.879 INFO    ] 2026-08-29 02:28:13
[2026-08-29 02:28:13,908.908 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:28:14,031.031 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:28:14,075.075 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:28:14,233.233 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:28:14,295.295 INFO    ] time= 29/08/2026 02:28:14
[2026-08-29 02:28:14,328.328 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:28:14,330.330 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:28:14,402.402 INFO    ] No existing commands found in stream
[2026-08-29 02:28:19,412.412 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:28:19,415.415 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-08-29 02:28:22,393.393 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:28:22,395.395 INFO    ] Checking for system updates...
[2026-08-29 02:28:22,416.416 INFO    ] 200
[2026-08-29 02:28:22,417.417 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:28:22,447.447 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:28:22,449.449 INFO    ] No update needed
[2026-08-29 02:28:22,450.450 INFO    ] Checking for camera pi updates...
[2026-08-29 02:28:22,470.470 INFO    ] 200
[2026-08-29 02:28:22,472.472 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:28:22,495.495 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:28:22,573.573 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:28:22,574.574 INFO    ] No camera update needed
[2026-08-29 02:28:22,575.575 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:28:22,576.576 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:28:22,579.579 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:28:22,582.582 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:28:24,621.621 INFO    ] ================================================
[2026-08-29 02:28:24,637.637 INFO    ] Launching Daemon at Sat Aug 29 02:28:24 IST 2026
[2026-08-29 02:28:24,647.647 INFO    ] ================================================
[2026-08-29 02:28:24,980.980 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:28:24
[2026-08-29 02:28:25,294.294 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:28:25,560.560 INFO    ] Initializing speech engine...
[2026-08-29 02:28:25,569.569 INFO    ] 2026-08-29 02:28:25
[2026-08-29 02:28:25,820.820 INFO    ] 2026-08-29 02:28:25
[2026-08-29 02:28:25,855.855 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:28:26,032.032 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:28:26,045.045 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:28:26,159.159 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:28:26,177.177 INFO    ] time= 29/08/2026 02:28:26
[2026-08-29 02:28:26,197.197 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:28:26,205.205 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:28:26,278.278 INFO    ] No existing commands found in stream
[2026-08-29 02:28:31,293.293 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:28:31,295.295 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 02:28:31,852.852 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:28:31,855.855 INFO    ] Checking for system updates...
[2026-08-29 02:28:31,898.898 INFO    ] 200
[2026-08-29 02:28:31,902.902 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:28:31,960.960 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:28:31,963.963 INFO    ] No update needed
[2026-08-29 02:28:31,966.966 INFO    ] Checking for camera pi updates...
[2026-08-29 02:28:32,006.006 INFO    ] 200
[2026-08-29 02:28:32,008.008 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:28:32,057.057 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:28:32,280.280 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:28:32,283.283 INFO    ] No camera update needed
[2026-08-29 02:28:32,286.286 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:28:32,288.288 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:28:32,294.294 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:28:32,299.299 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:28:34,340.340 INFO    ] ================================================
[2026-08-29 02:28:34,356.356 INFO    ] Launching Daemon at Sat Aug 29 02:28:34 IST 2026
[2026-08-29 02:28:34,366.366 INFO    ] ================================================
[2026-08-29 02:28:34,828.828 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:28:34
[2026-08-29 02:28:35,145.145 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:28:35,284.284 INFO    ] Initializing speech engine...
[2026-08-29 02:28:35,294.294 INFO    ] 2026-08-29 02:28:35
[2026-08-29 02:28:35,498.498 INFO    ] 2026-08-29 02:28:35
[2026-08-29 02:28:35,527.527 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:28:35,654.654 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:28:35,712.712 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:28:35,866.866 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:28:35,897.897 INFO    ] time= 29/08/2026 02:28:35
[2026-08-29 02:28:35,946.946 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:28:35,990.990 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:28:36,094.094 INFO    ] No existing commands found in stream
[2026-08-29 02:28:41,109.109 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:28:41,112.112 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-08-29 02:28:44,467.467 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:28:44,468.468 INFO    ] Checking for system updates...
[2026-08-29 02:28:44,488.488 INFO    ] 200
[2026-08-29 02:28:44,489.489 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:28:44,521.521 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:28:44,522.522 INFO    ] No update needed
[2026-08-29 02:28:44,524.524 INFO    ] Checking for camera pi updates...
[2026-08-29 02:28:44,543.543 INFO    ] 200
[2026-08-29 02:28:44,544.544 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:28:44,571.571 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:28:44,667.667 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:28:44,669.669 INFO    ] No camera update needed
[2026-08-29 02:28:44,670.670 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:28:44,671.671 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:28:44,674.674 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:28:44,677.677 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:28:46,715.715 INFO    ] ================================================
[2026-08-29 02:28:46,730.730 INFO    ] Launching Daemon at Sat Aug 29 02:28:46 IST 2026
[2026-08-29 02:28:46,741.741 INFO    ] ================================================
[2026-08-29 02:28:47,079.079 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:28:47
[2026-08-29 02:28:47,390.390 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:28:47,529.529 INFO    ] Initializing speech engine...
[2026-08-29 02:28:47,540.540 INFO    ] 2026-08-29 02:28:47
[2026-08-29 02:28:47,745.745 INFO    ] 2026-08-29 02:28:47
[2026-08-29 02:28:47,774.774 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:28:47,898.898 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:28:47,960.960 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:28:48,094.094 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:28:48,150.150 INFO    ] time= 29/08/2026 02:28:48
[2026-08-29 02:28:48,179.179 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:28:48,195.195 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:28:48,266.266 INFO    ] No existing commands found in stream
[2026-08-29 02:28:53,277.277 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:28:53,280.280 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-08-29 02:28:56,434.434 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:28:56,436.436 INFO    ] Checking for system updates...
[2026-08-29 02:28:56,456.456 INFO    ] 200
[2026-08-29 02:28:56,458.458 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:28:56,492.492 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:28:56,494.494 INFO    ] No update needed
[2026-08-29 02:28:56,495.495 INFO    ] Checking for camera pi updates...
[2026-08-29 02:28:56,515.515 INFO    ] 200
[2026-08-29 02:28:56,516.516 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:28:56,540.540 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:28:56,622.622 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:28:56,625.625 INFO    ] No camera update needed
[2026-08-29 02:28:56,627.627 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:28:56,629.629 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:28:56,634.634 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:28:56,639.639 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:28:58,679.679 INFO    ] ================================================
[2026-08-29 02:28:58,694.694 INFO    ] Launching Daemon at Sat Aug 29 02:28:58 IST 2026
[2026-08-29 02:28:58,704.704 INFO    ] ================================================
[2026-08-29 02:28:59,334.334 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:28:59
[2026-08-29 02:28:59,794.794 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:28:59,947.947 INFO    ] Initializing speech engine...
[2026-08-29 02:28:59,952.952 INFO    ] 2026-08-29 02:28:59
[2026-08-29 02:29:00,158.158 INFO    ] 2026-08-29 02:29:00
[2026-08-29 02:29:00,189.189 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:29:00,353.353 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:29:00,377.377 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:29:00,507.507 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:29:00,558.558 INFO    ] time= 29/08/2026 02:29:00
[2026-08-29 02:29:00,603.603 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:29:00,608.608 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:29:00,681.681 INFO    ] No existing commands found in stream
[2026-08-29 02:29:05,690.690 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:29:05,694.694 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-08-29 02:29:09,818.818 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:29:09,819.819 INFO    ] Checking for system updates...
[2026-08-29 02:29:09,841.841 INFO    ] 200
[2026-08-29 02:29:09,843.843 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:29:09,874.874 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:29:09,876.876 INFO    ] No update needed
[2026-08-29 02:29:09,877.877 INFO    ] Checking for camera pi updates...
[2026-08-29 02:29:09,897.897 INFO    ] 200
[2026-08-29 02:29:09,898.898 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:29:09,921.921 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:29:09,997.997 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:29:09,998.998 INFO    ] No camera update needed
[2026-08-29 02:29:10,000.000 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:29:10,001.001 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:29:10,004.004 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:29:10,006.006 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:29:12,044.044 INFO    ] ================================================
[2026-08-29 02:29:12,059.059 INFO    ] Launching Daemon at Sat Aug 29 02:29:12 IST 2026
[2026-08-29 02:29:12,070.070 INFO    ] ================================================
[2026-08-29 02:29:12,418.418 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:29:12
[2026-08-29 02:29:12,941.941 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:29:13,202.202 INFO    ] Initializing speech engine...
[2026-08-29 02:29:13,209.209 INFO    ] 2026-08-29 02:29:13
[2026-08-29 02:29:13,502.502 INFO    ] 2026-08-29 02:29:13
[2026-08-29 02:29:13,541.541 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:29:13,735.735 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:29:13,749.749 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:29:13,891.891 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:29:13,913.913 INFO    ] time= 29/08/2026 02:29:13
[2026-08-29 02:29:13,920.920 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:29:13,928.928 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:29:14,003.003 INFO    ] No existing commands found in stream
[2026-08-29 02:29:19,014.014 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:29:19,017.017 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-08-29 02:29:21,796.796 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:29:21,797.797 INFO    ] Checking for system updates...
[2026-08-29 02:29:21,817.817 INFO    ] 200
[2026-08-29 02:29:21,819.819 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:29:21,851.851 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:29:21,853.853 INFO    ] No update needed
[2026-08-29 02:29:21,854.854 INFO    ] Checking for camera pi updates...
[2026-08-29 02:29:21,874.874 INFO    ] 200
[2026-08-29 02:29:21,876.876 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:29:21,898.898 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:29:21,973.973 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:29:21,974.974 INFO    ] No camera update needed
[2026-08-29 02:29:21,976.976 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:29:21,977.977 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:29:21,980.980 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:29:21,983.983 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:29:24,021.021 INFO    ] ================================================
[2026-08-29 02:29:24,036.036 INFO    ] Launching Daemon at Sat Aug 29 02:29:24 IST 2026
[2026-08-29 02:29:24,047.047 INFO    ] ================================================
[2026-08-29 02:29:24,401.401 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:29:24
[2026-08-29 02:29:24,734.734 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:29:24,886.886 INFO    ] Initializing speech engine...
[2026-08-29 02:29:24,889.889 INFO    ] 2026-08-29 02:29:24
[2026-08-29 02:29:25,096.096 INFO    ] 2026-08-29 02:29:25
[2026-08-29 02:29:25,126.126 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:29:25,307.307 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:29:25,313.313 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:29:25,453.453 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:29:25,520.520 INFO    ] time= 29/08/2026 02:29:25
[2026-08-29 02:29:25,544.544 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:29:25,551.551 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:29:25,618.618 INFO    ] No existing commands found in stream
[2026-08-29 02:29:30,633.633 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:29:30,641.641 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-08-29 02:29:31,404.404 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:29:31,407.407 INFO    ] Checking for system updates...
[2026-08-29 02:29:31,447.447 INFO    ] 200
[2026-08-29 02:29:31,450.450 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:29:31,514.514 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:29:31,517.517 INFO    ] No update needed
[2026-08-29 02:29:31,519.519 INFO    ] Checking for camera pi updates...
[2026-08-29 02:29:31,555.555 INFO    ] 200
[2026-08-29 02:29:31,558.558 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:29:31,606.606 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:29:31,706.706 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:29:31,708.708 INFO    ] No camera update needed
[2026-08-29 02:29:31,711.711 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:29:31,714.714 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:29:31,720.720 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:29:31,726.726 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:29:33,766.766 INFO    ] ================================================
[2026-08-29 02:29:33,782.782 INFO    ] Launching Daemon at Sat Aug 29 02:29:33 IST 2026
[2026-08-29 02:29:33,793.793 INFO    ] ================================================
[2026-08-29 02:29:34,443.443 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:29:34
[2026-08-29 02:29:34,799.799 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:29:34,952.952 INFO    ] Initializing speech engine...
[2026-08-29 02:29:34,957.957 INFO    ] 2026-08-29 02:29:34
[2026-08-29 02:29:35,163.163 INFO    ] 2026-08-29 02:29:35
[2026-08-29 02:29:35,192.192 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:29:35,351.351 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:29:35,379.379 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:29:35,517.517 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:29:35,584.584 INFO    ] time= 29/08/2026 02:29:35
[2026-08-29 02:29:35,608.608 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:29:35,615.615 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:29:35,683.683 INFO    ] No existing commands found in stream
[2026-08-29 02:29:40,724.724 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:29:40,733.733 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-08-29 02:29:43,546.546 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:29:43,547.547 INFO    ] Checking for system updates...
[2026-08-29 02:29:43,569.569 INFO    ] 200
[2026-08-29 02:29:43,571.571 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:29:43,602.602 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:29:43,604.604 INFO    ] No update needed
[2026-08-29 02:29:43,605.605 INFO    ] Checking for camera pi updates...
[2026-08-29 02:29:43,625.625 INFO    ] 200
[2026-08-29 02:29:43,626.626 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:29:43,651.651 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:29:43,742.742 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:29:43,744.744 INFO    ] No camera update needed
[2026-08-29 02:29:43,745.745 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:29:43,746.746 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:29:43,749.749 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:29:43,752.752 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:29:45,790.790 INFO    ] ================================================
[2026-08-29 02:29:45,811.811 INFO    ] Launching Daemon at Sat Aug 29 02:29:45 IST 2026
[2026-08-29 02:29:45,821.821 INFO    ] ================================================
[2026-08-29 02:29:46,182.182 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:29:46
[2026-08-29 02:29:46,518.518 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:29:46,670.670 INFO    ] Initializing speech engine...
[2026-08-29 02:29:46,675.675 INFO    ] 2026-08-29 02:29:46
[2026-08-29 02:29:46,882.882 INFO    ] 2026-08-29 02:29:46
[2026-08-29 02:29:46,911.911 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:29:47,045.045 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:29:47,098.098 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:29:47,232.232 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:29:47,290.290 INFO    ] time= 29/08/2026 02:29:47
[2026-08-29 02:29:47,325.325 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:29:47,366.366 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:29:47,486.486 INFO    ] No existing commands found in stream
[2026-08-29 02:29:52,513.513 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:29:52,516.516 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-08-29 02:29:54,377.377 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:29:54,379.379 INFO    ] Checking for system updates...
[2026-08-29 02:29:54,400.400 INFO    ] 200
[2026-08-29 02:29:54,402.402 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:29:54,432.432 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:29:54,433.433 INFO    ] No update needed
[2026-08-29 02:29:54,435.435 INFO    ] Checking for camera pi updates...
[2026-08-29 02:29:54,454.454 INFO    ] 200
[2026-08-29 02:29:54,457.457 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:29:54,502.502 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:29:54,582.582 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:29:54,584.584 INFO    ] No camera update needed
[2026-08-29 02:29:54,586.586 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:29:54,589.589 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:29:54,594.594 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:29:54,599.599 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:29:56,642.642 INFO    ] ================================================
[2026-08-29 02:29:56,657.657 INFO    ] Launching Daemon at Sat Aug 29 02:29:56 IST 2026
[2026-08-29 02:29:56,668.668 INFO    ] ================================================
[2026-08-29 02:29:57,315.315 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:29:57
[2026-08-29 02:29:57,783.783 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:29:57,937.937 INFO    ] Initializing speech engine...
[2026-08-29 02:29:57,942.942 INFO    ] 2026-08-29 02:29:57
[2026-08-29 02:29:58,150.150 INFO    ] 2026-08-29 02:29:58
[2026-08-29 02:29:58,179.179 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:29:58,366.366 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:29:58,369.369 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:29:58,501.501 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:29:58,557.557 INFO    ] time= 29/08/2026 02:29:58
[2026-08-29 02:29:58,598.598 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:29:58,603.603 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:29:58,676.676 INFO    ] No existing commands found in stream
[2026-08-29 02:30:03,691.691 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:30:03,695.695 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-08-29 02:30:08,570.570 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:30:08,578.578 INFO    ] Checking for system updates...
[2026-08-29 02:30:08,619.619 INFO    ] 200
[2026-08-29 02:30:08,622.622 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:30:08,683.683 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:30:08,686.686 INFO    ] No update needed
[2026-08-29 02:30:08,689.689 INFO    ] Checking for camera pi updates...
[2026-08-29 02:30:08,724.724 INFO    ] 200
[2026-08-29 02:30:08,727.727 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:30:08,772.772 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:30:08,856.856 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:30:08,858.858 INFO    ] No camera update needed
[2026-08-29 02:30:08,861.861 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:30:08,864.864 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:30:08,870.870 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:30:08,875.875 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:30:10,914.914 INFO    ] ================================================
[2026-08-29 02:30:10,930.930 INFO    ] Launching Daemon at Sat Aug 29 02:30:10 IST 2026
[2026-08-29 02:30:10,940.940 INFO    ] ================================================
[2026-08-29 02:30:11,298.298 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:30:11
[2026-08-29 02:30:11,631.631 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:30:11,781.781 INFO    ] Initializing speech engine...
[2026-08-29 02:30:11,785.785 INFO    ] 2026-08-29 02:30:11
[2026-08-29 02:30:11,993.993 INFO    ] 2026-08-29 02:30:11
[2026-08-29 02:30:12,022.022 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:30:12,150.150 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:30:12,208.208 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:30:12,349.349 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:30:12,416.416 INFO    ] time= 29/08/2026 02:30:12
[2026-08-29 02:30:12,441.441 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:30:12,447.447 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:30:12,515.515 INFO    ] No existing commands found in stream
[2026-08-29 02:30:17,525.525 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:30:17,528.528 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-08-29 02:30:18,265.265 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:30:18,266.266 INFO    ] Checking for system updates...
[2026-08-29 02:30:18,288.288 INFO    ] 200
[2026-08-29 02:30:18,289.289 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:30:18,321.321 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:30:18,323.323 INFO    ] No update needed
[2026-08-29 02:30:18,325.325 INFO    ] Checking for camera pi updates...
[2026-08-29 02:30:18,344.344 INFO    ] 200
[2026-08-29 02:30:18,346.346 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:30:18,384.384 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:30:18,466.466 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:30:18,468.468 INFO    ] No camera update needed
[2026-08-29 02:30:18,471.471 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:30:18,474.474 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:30:18,480.480 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:30:18,485.485 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:30:20,526.526 INFO    ] ================================================
[2026-08-29 02:30:20,541.541 INFO    ] Launching Daemon at Sat Aug 29 02:30:20 IST 2026
[2026-08-29 02:30:20,552.552 INFO    ] ================================================
[2026-08-29 02:30:21,122.122 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:30:21
[2026-08-29 02:30:21,556.556 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:30:21,790.790 INFO    ] Initializing speech engine...
[2026-08-29 02:30:21,796.796 INFO    ] 2026-08-29 02:30:21
[2026-08-29 02:30:22,091.091 INFO    ] 2026-08-29 02:30:22
[2026-08-29 02:30:22,128.128 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:30:22,270.270 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:30:22,279.279 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:30:22,429.429 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:30:22,438.438 INFO    ] time= 29/08/2026 02:30:22
[2026-08-29 02:30:22,443.443 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:30:22,448.448 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:30:22,512.512 INFO    ] No existing commands found in stream
[2026-08-29 02:30:27,524.524 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:30:27,527.527 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-08-29 02:30:28,896.896 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:30:28,898.898 INFO    ] Checking for system updates...
[2026-08-29 02:30:28,919.919 INFO    ] 200
[2026-08-29 02:30:28,921.921 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:30:28,952.952 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:30:28,954.954 INFO    ] No update needed
[2026-08-29 02:30:28,955.955 INFO    ] Checking for camera pi updates...
[2026-08-29 02:30:28,976.976 INFO    ] 200
[2026-08-29 02:30:28,977.977 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:30:29,003.003 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:30:29,088.088 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:30:29,089.089 INFO    ] No camera update needed
[2026-08-29 02:30:29,091.091 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:30:29,093.093 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:30:29,097.097 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:30:29,101.101 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:30:31,140.140 INFO    ] ================================================
[2026-08-29 02:30:31,156.156 INFO    ] Launching Daemon at Sat Aug 29 02:30:31 IST 2026
[2026-08-29 02:30:31,166.166 INFO    ] ================================================
[2026-08-29 02:30:31,804.804 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:30:31
[2026-08-29 02:30:32,472.472 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:30:32,780.780 INFO    ] Initializing speech engine...
[2026-08-29 02:30:32,790.790 INFO    ] 2026-08-29 02:30:32
[2026-08-29 02:30:33,053.053 INFO    ] 2026-08-29 02:30:33
[2026-08-29 02:30:33,101.101 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:30:33,274.274 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:30:33,287.287 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:30:33,433.433 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:30:33,441.441 INFO    ] time= 29/08/2026 02:30:33
[2026-08-29 02:30:33,446.446 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:30:33,452.452 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:30:33,575.575 INFO    ] No existing commands found in stream
[2026-08-29 02:30:38,606.606 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:30:38,609.609 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-08-29 02:30:40,243.243 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:30:40,245.245 INFO    ] Checking for system updates...
[2026-08-29 02:30:40,266.266 INFO    ] 200
[2026-08-29 02:30:40,267.267 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:30:40,297.297 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:30:40,299.299 INFO    ] No update needed
[2026-08-29 02:30:40,300.300 INFO    ] Checking for camera pi updates...
[2026-08-29 02:30:40,320.320 INFO    ] 200
[2026-08-29 02:30:40,321.321 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:30:40,349.349 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:30:40,429.429 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:30:40,432.432 INFO    ] No camera update needed
[2026-08-29 02:30:40,435.435 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:30:40,437.437 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:30:40,443.443 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:30:40,449.449 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:30:42,491.491 INFO    ] ================================================
[2026-08-29 02:30:42,506.506 INFO    ] Launching Daemon at Sat Aug 29 02:30:42 IST 2026
[2026-08-29 02:30:42,516.516 INFO    ] ================================================
[2026-08-29 02:30:43,081.081 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:30:43
[2026-08-29 02:30:43,575.575 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:30:43,709.709 INFO    ] Initializing speech engine...
[2026-08-29 02:30:43,718.718 INFO    ] 2026-08-29 02:30:43
[2026-08-29 02:30:43,940.940 INFO    ] 2026-08-29 02:30:43
[2026-08-29 02:30:43,971.971 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:30:44,100.100 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:30:44,119.119 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:30:44,258.258 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:30:44,313.313 INFO    ] time= 29/08/2026 02:30:44
[2026-08-29 02:30:44,365.365 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:30:44,397.397 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:30:44,514.514 INFO    ] No existing commands found in stream
[2026-08-29 02:30:49,525.525 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:30:49,527.527 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-08-29 02:30:53,769.769 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:30:53,770.770 INFO    ] Checking for system updates...
[2026-08-29 02:30:53,791.791 INFO    ] 200
[2026-08-29 02:30:53,792.792 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:30:53,822.822 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:30:53,824.824 INFO    ] No update needed
[2026-08-29 02:30:53,825.825 INFO    ] Checking for camera pi updates...
[2026-08-29 02:30:53,844.844 INFO    ] 200
[2026-08-29 02:30:53,845.845 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:30:53,868.868 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:30:53,965.965 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:30:53,966.966 INFO    ] No camera update needed
[2026-08-29 02:30:53,967.967 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:30:53,968.968 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:30:53,971.971 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:30:53,974.974 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:30:56,012.012 INFO    ] ================================================
[2026-08-29 02:30:56,027.027 INFO    ] Launching Daemon at Sat Aug 29 02:30:56 IST 2026
[2026-08-29 02:30:56,038.038 INFO    ] ================================================
[2026-08-29 02:30:56,395.395 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:30:56
[2026-08-29 02:30:56,731.731 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:30:56,994.994 INFO    ] Initializing speech engine...
[2026-08-29 02:30:57,008.008 INFO    ] 2026-08-29 02:30:56
[2026-08-29 02:30:57,275.275 INFO    ] 2026-08-29 02:30:57
[2026-08-29 02:30:57,332.332 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:30:57,551.551 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:30:57,560.560 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:30:57,693.693 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:30:57,699.699 INFO    ] time= 29/08/2026 02:30:57
[2026-08-29 02:30:57,754.754 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:30:57,808.808 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:30:57,883.883 INFO    ] No existing commands found in stream
[2026-08-29 02:31:02,894.894 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:31:02,897.897 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-08-29 02:31:06,156.156 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:31:06,158.158 INFO    ] Checking for system updates...
[2026-08-29 02:31:06,196.196 INFO    ] 200
[2026-08-29 02:31:06,198.198 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:31:06,260.260 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:31:06,262.262 INFO    ] No update needed
[2026-08-29 02:31:06,265.265 INFO    ] Checking for camera pi updates...
[2026-08-29 02:31:06,299.299 INFO    ] 200
[2026-08-29 02:31:06,301.301 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:31:06,349.349 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:31:06,437.437 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:31:06,439.439 INFO    ] No camera update needed
[2026-08-29 02:31:06,442.442 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:31:06,444.444 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:31:06,449.449 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:31:06,454.454 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:31:08,494.494 INFO    ] ================================================
[2026-08-29 02:31:08,510.510 INFO    ] Launching Daemon at Sat Aug 29 02:31:08 IST 2026
[2026-08-29 02:31:08,521.521 INFO    ] ================================================
[2026-08-29 02:31:09,194.194 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:31:09
[2026-08-29 02:31:09,587.587 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:31:09,745.745 INFO    ] Initializing speech engine...
[2026-08-29 02:31:09,751.751 INFO    ] 2026-08-29 02:31:09
[2026-08-29 02:31:09,954.954 INFO    ] 2026-08-29 02:31:09
[2026-08-29 02:31:10,038.038 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:31:10,194.194 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:31:10,200.200 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:31:10,332.332 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:31:10,385.385 INFO    ] time= 29/08/2026 02:31:10
[2026-08-29 02:31:10,450.450 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:31:10,469.469 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:31:10,525.525 INFO    ] No existing commands found in stream
[2026-08-29 02:31:15,537.537 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:31:15,540.540 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-08-29 02:31:16,978.978 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:31:16,980.980 INFO    ] Checking for system updates...
[2026-08-29 02:31:17,001.001 INFO    ] 200
[2026-08-29 02:31:17,002.002 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:31:17,032.032 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:31:17,034.034 INFO    ] No update needed
[2026-08-29 02:31:17,035.035 INFO    ] Checking for camera pi updates...
[2026-08-29 02:31:17,055.055 INFO    ] 200
[2026-08-29 02:31:17,056.056 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:31:17,079.079 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:31:17,154.154 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:31:17,155.155 INFO    ] No camera update needed
[2026-08-29 02:31:17,156.156 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:31:17,158.158 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:31:17,160.160 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:31:17,163.163 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:31:19,204.204 INFO    ] ================================================
[2026-08-29 02:31:19,221.221 INFO    ] Launching Daemon at Sat Aug 29 02:31:19 IST 2026
[2026-08-29 02:31:19,232.232 INFO    ] ================================================
[2026-08-29 02:31:19,593.593 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:31:19
[2026-08-29 02:31:20,107.107 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:31:20,369.369 INFO    ] Initializing speech engine...
[2026-08-29 02:31:20,386.386 INFO    ] 2026-08-29 02:31:20
[2026-08-29 02:31:20,657.657 INFO    ] 2026-08-29 02:31:20
[2026-08-29 02:31:20,694.694 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:31:20,847.847 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:31:20,870.870 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:31:21,007.007 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:31:21,014.014 INFO    ] time= 29/08/2026 02:31:21
[2026-08-29 02:31:21,038.038 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:31:21,044.044 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:31:21,100.100 INFO    ] No existing commands found in stream
[2026-08-29 02:31:26,113.113 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:31:26,116.116 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-08-29 02:31:29,044.044 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:31:29,045.045 INFO    ] Checking for system updates...
[2026-08-29 02:31:29,065.065 INFO    ] 200
[2026-08-29 02:31:29,067.067 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:31:29,099.099 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:31:29,100.100 INFO    ] No update needed
[2026-08-29 02:31:29,101.101 INFO    ] Checking for camera pi updates...
[2026-08-29 02:31:29,121.121 INFO    ] 200
[2026-08-29 02:31:29,122.122 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:31:29,145.145 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:31:29,232.232 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:31:29,233.233 INFO    ] No camera update needed
[2026-08-29 02:31:29,238.238 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:31:29,240.240 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:31:29,243.243 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:31:29,245.245 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:31:31,286.286 INFO    ] ================================================
[2026-08-29 02:31:31,301.301 INFO    ] Launching Daemon at Sat Aug 29 02:31:31 IST 2026
[2026-08-29 02:31:31,312.312 INFO    ] ================================================
[2026-08-29 02:31:31,762.762 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:31:31
[2026-08-29 02:31:32,391.391 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:31:32,696.696 INFO    ] Initializing speech engine...
[2026-08-29 02:31:32,713.713 INFO    ] 2026-08-29 02:31:32
[2026-08-29 02:31:32,970.970 INFO    ] 2026-08-29 02:31:32
[2026-08-29 02:31:33,006.006 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:31:33,180.180 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:31:33,195.195 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:31:33,338.338 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:31:33,346.346 INFO    ] time= 29/08/2026 02:31:33
[2026-08-29 02:31:33,352.352 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:31:33,408.408 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:31:33,514.514 INFO    ] No existing commands found in stream
[2026-08-29 02:31:38,545.545 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:31:38,547.547 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 02:31:41,174.174 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:31:41,176.176 INFO    ] Checking for system updates...
[2026-08-29 02:31:41,198.198 INFO    ] 200
[2026-08-29 02:31:41,199.199 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:31:41,232.232 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:31:41,234.234 INFO    ] No update needed
[2026-08-29 02:31:41,235.235 INFO    ] Checking for camera pi updates...
[2026-08-29 02:31:41,255.255 INFO    ] 200
[2026-08-29 02:31:41,257.257 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:31:41,280.280 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:31:41,360.360 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:31:41,362.362 INFO    ] No camera update needed
[2026-08-29 02:31:41,363.363 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:31:41,364.364 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:31:41,367.367 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:31:41,370.370 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:31:43,409.409 INFO    ] ================================================
[2026-08-29 02:31:43,424.424 INFO    ] Launching Daemon at Sat Aug 29 02:31:43 IST 2026
[2026-08-29 02:31:43,435.435 INFO    ] ================================================
[2026-08-29 02:31:43,793.793 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:31:43
[2026-08-29 02:31:44,106.106 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:31:44,241.241 INFO    ] Initializing speech engine...
[2026-08-29 02:31:44,245.245 INFO    ] 2026-08-29 02:31:44
[2026-08-29 02:31:44,509.509 INFO    ] 2026-08-29 02:31:44
[2026-08-29 02:31:44,547.547 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:31:44,719.719 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:31:44,733.733 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:31:44,844.844 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:31:44,849.849 INFO    ] time= 29/08/2026 02:31:44
[2026-08-29 02:31:44,867.867 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:31:44,890.890 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:31:44,963.963 INFO    ] No existing commands found in stream
[2026-08-29 02:31:49,978.978 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:31:49,981.981 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-08-29 02:31:51,144.144 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:31:51,146.146 INFO    ] Checking for system updates...
[2026-08-29 02:31:51,167.167 INFO    ] 200
[2026-08-29 02:31:51,168.168 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:31:51,201.201 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:31:51,203.203 INFO    ] No update needed
[2026-08-29 02:31:51,204.204 INFO    ] Checking for camera pi updates...
[2026-08-29 02:31:51,226.226 INFO    ] 200
[2026-08-29 02:31:51,227.227 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:31:51,253.253 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:31:51,328.328 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:31:51,329.329 INFO    ] No camera update needed
[2026-08-29 02:31:51,331.331 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:31:51,332.332 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:31:51,335.335 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:31:51,338.338 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:31:53,376.376 INFO    ] ================================================
[2026-08-29 02:31:53,391.391 INFO    ] Launching Daemon at Sat Aug 29 02:31:53 IST 2026
[2026-08-29 02:31:53,402.402 INFO    ] ================================================
[2026-08-29 02:31:53,736.736 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:31:53
[2026-08-29 02:31:54,047.047 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:31:54,212.212 INFO    ] Initializing speech engine...
[2026-08-29 02:31:54,220.220 INFO    ] 2026-08-29 02:31:54
[2026-08-29 02:31:54,469.469 INFO    ] 2026-08-29 02:31:54
[2026-08-29 02:31:54,504.504 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:31:54,677.677 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:31:54,700.700 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:31:54,830.830 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:31:54,838.838 INFO    ] time= 29/08/2026 02:31:54
[2026-08-29 02:31:54,844.844 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:31:54,906.906 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:31:55,005.005 INFO    ] No existing commands found in stream
[2026-08-29 02:32:00,036.036 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:32:00,038.038 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-08-29 02:32:03,311.311 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:32:03,314.314 INFO    ] Checking for system updates...
[2026-08-29 02:32:03,350.350 INFO    ] 200
[2026-08-29 02:32:03,352.352 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:32:03,407.407 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:32:03,409.409 INFO    ] No update needed
[2026-08-29 02:32:03,412.412 INFO    ] Checking for camera pi updates...
[2026-08-29 02:32:03,446.446 INFO    ] 200
[2026-08-29 02:32:03,448.448 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:32:03,489.489 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:32:03,594.594 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:32:03,596.596 INFO    ] No camera update needed
[2026-08-29 02:32:03,598.598 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:32:03,600.600 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:32:03,606.606 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:32:03,610.610 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:32:05,650.650 INFO    ] ================================================
[2026-08-29 02:32:05,666.666 INFO    ] Launching Daemon at Sat Aug 29 02:32:05 IST 2026
[2026-08-29 02:32:05,677.677 INFO    ] ================================================
[2026-08-29 02:32:06,220.220 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:32:06
[2026-08-29 02:32:06,814.814 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:32:07,075.075 INFO    ] Initializing speech engine...
[2026-08-29 02:32:07,084.084 INFO    ] 2026-08-29 02:32:07
[2026-08-29 02:32:07,387.387 INFO    ] 2026-08-29 02:32:07
[2026-08-29 02:32:07,426.426 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:32:07,628.628 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:32:07,636.636 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:32:07,774.774 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:32:07,782.782 INFO    ] time= 29/08/2026 02:32:07
[2026-08-29 02:32:07,796.796 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:32:07,812.812 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:32:07,911.911 INFO    ] No existing commands found in stream
[2026-08-29 02:32:12,924.924 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:32:12,927.927 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 02:32:14,199.199 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:32:14,200.200 INFO    ] Checking for system updates...
[2026-08-29 02:32:14,223.223 INFO    ] 200
[2026-08-29 02:32:14,224.224 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:32:14,257.257 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:32:14,258.258 INFO    ] No update needed
[2026-08-29 02:32:14,259.259 INFO    ] Checking for camera pi updates...
[2026-08-29 02:32:14,278.278 INFO    ] 200
[2026-08-29 02:32:14,280.280 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:32:14,303.303 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:32:14,383.383 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:32:14,385.385 INFO    ] No camera update needed
[2026-08-29 02:32:14,386.386 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:32:14,387.387 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:32:14,390.390 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:32:14,393.393 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:32:16,431.431 INFO    ] ================================================
[2026-08-29 02:32:16,446.446 INFO    ] Launching Daemon at Sat Aug 29 02:32:16 IST 2026
[2026-08-29 02:32:16,458.458 INFO    ] ================================================
[2026-08-29 02:32:16,804.804 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:32:16
[2026-08-29 02:32:17,116.116 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:32:17,251.251 INFO    ] Initializing speech engine...
[2026-08-29 02:32:17,254.254 INFO    ] 2026-08-29 02:32:17
[2026-08-29 02:32:17,549.549 INFO    ] 2026-08-29 02:32:17
[2026-08-29 02:32:17,584.584 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:32:17,738.738 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:32:17,745.745 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:32:17,899.899 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:32:17,910.910 INFO    ] time= 29/08/2026 02:32:17
[2026-08-29 02:32:17,915.915 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:32:17,920.920 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:32:17,989.989 INFO    ] No existing commands found in stream
[2026-08-29 02:32:23,003.003 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:32:23,006.006 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-08-29 02:32:25,082.082 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:32:25,084.084 INFO    ] Checking for system updates...
[2026-08-29 02:32:25,104.104 INFO    ] 200
[2026-08-29 02:32:25,106.106 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:32:25,138.138 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:32:25,139.139 INFO    ] No update needed
[2026-08-29 02:32:25,140.140 INFO    ] Checking for camera pi updates...
[2026-08-29 02:32:25,160.160 INFO    ] 200
[2026-08-29 02:32:25,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:32:25,184.184 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:32:25,296.296 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:32:25,298.298 INFO    ] No camera update needed
[2026-08-29 02:32:25,301.301 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:32:25,303.303 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:32:25,308.308 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:32:25,313.313 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:32:27,354.354 INFO    ] ================================================
[2026-08-29 02:32:27,369.369 INFO    ] Launching Daemon at Sat Aug 29 02:32:27 IST 2026
[2026-08-29 02:32:27,381.381 INFO    ] ================================================
[2026-08-29 02:32:28,041.041 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:32:28
[2026-08-29 02:32:28,543.543 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:32:28,695.695 INFO    ] Initializing speech engine...
[2026-08-29 02:32:28,700.700 INFO    ] 2026-08-29 02:32:28
[2026-08-29 02:32:28,908.908 INFO    ] 2026-08-29 02:32:28
[2026-08-29 02:32:28,937.937 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:32:29,120.120 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:32:29,124.124 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:32:29,259.259 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:32:29,318.318 INFO    ] time= 29/08/2026 02:32:29
[2026-08-29 02:32:29,350.350 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:32:29,358.358 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:32:29,425.425 INFO    ] No existing commands found in stream
[2026-08-29 02:32:34,438.438 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:32:34,439.439 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-08-29 02:32:36,070.070 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:32:36,071.071 INFO    ] Checking for system updates...
[2026-08-29 02:32:36,092.092 INFO    ] 200
[2026-08-29 02:32:36,094.094 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:32:36,127.127 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:32:36,129.129 INFO    ] No update needed
[2026-08-29 02:32:36,132.132 INFO    ] Checking for camera pi updates...
[2026-08-29 02:32:36,166.166 INFO    ] 200
[2026-08-29 02:32:36,168.168 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:32:36,216.216 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:32:36,395.395 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:32:36,397.397 INFO    ] No camera update needed
[2026-08-29 02:32:36,400.400 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:32:36,402.402 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:32:36,407.407 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:32:36,412.412 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:32:38,453.453 INFO    ] ================================================
[2026-08-29 02:32:38,469.469 INFO    ] Launching Daemon at Sat Aug 29 02:32:38 IST 2026
[2026-08-29 02:32:38,480.480 INFO    ] ================================================
[2026-08-29 02:32:39,055.055 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:32:39
[2026-08-29 02:32:39,505.505 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:32:39,636.636 INFO    ] Initializing speech engine...
[2026-08-29 02:32:39,650.650 INFO    ] 2026-08-29 02:32:39
[2026-08-29 02:32:39,835.835 INFO    ] 2026-08-29 02:32:39
[2026-08-29 02:32:39,868.868 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:32:40,054.054 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:32:40,060.060 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:32:40,191.191 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:32:40,198.198 INFO    ] time= 29/08/2026 02:32:40
[2026-08-29 02:32:40,205.205 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:32:40,226.226 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:32:40,327.327 INFO    ] No existing commands found in stream
[2026-08-29 02:32:45,338.338 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:32:45,341.341 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-08-29 02:32:49,295.295 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:32:49,297.297 INFO    ] Checking for system updates...
[2026-08-29 02:32:49,318.318 INFO    ] 200
[2026-08-29 02:32:49,319.319 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:32:49,350.350 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:32:49,351.351 INFO    ] No update needed
[2026-08-29 02:32:49,352.352 INFO    ] Checking for camera pi updates...
[2026-08-29 02:32:49,371.371 INFO    ] 200
[2026-08-29 02:32:49,373.373 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:32:49,396.396 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:32:49,470.470 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:32:49,472.472 INFO    ] No camera update needed
[2026-08-29 02:32:49,473.473 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:32:49,474.474 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:32:49,477.477 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:32:49,480.480 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:32:51,520.520 INFO    ] ================================================
[2026-08-29 02:32:51,535.535 INFO    ] Launching Daemon at Sat Aug 29 02:32:51 IST 2026
[2026-08-29 02:32:51,547.547 INFO    ] ================================================
[2026-08-29 02:32:51,869.869 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:32:51
[2026-08-29 02:32:52,182.182 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:32:52,326.326 INFO    ] Initializing speech engine...
[2026-08-29 02:32:52,331.331 INFO    ] 2026-08-29 02:32:52
[2026-08-29 02:32:52,531.531 INFO    ] 2026-08-29 02:32:52
[2026-08-29 02:32:52,601.601 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:32:52,760.760 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:32:52,769.769 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:32:52,902.902 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:32:52,955.955 INFO    ] time= 29/08/2026 02:32:52
[2026-08-29 02:32:53,019.019 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:32:53,039.039 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:32:53,093.093 INFO    ] No existing commands found in stream
[2026-08-29 02:32:58,105.105 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:32:58,108.108 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-08-29 02:32:58,770.770 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:32:58,771.771 INFO    ] Checking for system updates...
[2026-08-29 02:32:58,792.792 INFO    ] 200
[2026-08-29 02:32:58,794.794 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:32:58,824.824 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:32:58,826.826 INFO    ] No update needed
[2026-08-29 02:32:58,827.827 INFO    ] Checking for camera pi updates...
[2026-08-29 02:32:58,847.847 INFO    ] 200
[2026-08-29 02:32:58,848.848 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:32:58,873.873 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:32:58,971.971 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:32:58,974.974 INFO    ] No camera update needed
[2026-08-29 02:32:58,977.977 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:32:58,979.979 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:32:58,985.985 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:32:58,991.991 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:33:01,034.034 INFO    ] ================================================
[2026-08-29 02:33:01,049.049 INFO    ] Launching Daemon at Sat Aug 29 02:33:01 IST 2026
[2026-08-29 02:33:01,060.060 INFO    ] ================================================
[2026-08-29 02:33:01,646.646 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:33:01
[2026-08-29 02:33:02,295.295 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:33:02,621.621 INFO    ] Initializing speech engine...
[2026-08-29 02:33:02,629.629 INFO    ] 2026-08-29 02:33:02
[2026-08-29 02:33:02,941.941 INFO    ] 2026-08-29 02:33:02
[2026-08-29 02:33:03,006.006 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:33:03,164.164 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:33:03,178.178 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:33:03,307.307 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:33:03,329.329 INFO    ] time= 29/08/2026 02:33:03
[2026-08-29 02:33:03,364.364 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:33:03,371.371 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:33:03,457.457 INFO    ] No existing commands found in stream
[2026-08-29 02:33:08,484.484 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:33:08,487.487 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-08-29 02:33:12,162.162 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:33:12,163.163 INFO    ] Checking for system updates...
[2026-08-29 02:33:12,185.185 INFO    ] 200
[2026-08-29 02:33:12,187.187 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:33:12,219.219 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:33:12,220.220 INFO    ] No update needed
[2026-08-29 02:33:12,222.222 INFO    ] Checking for camera pi updates...
[2026-08-29 02:33:12,243.243 INFO    ] 200
[2026-08-29 02:33:12,244.244 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:33:12,270.270 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:33:12,376.376 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:33:12,378.378 INFO    ] No camera update needed
[2026-08-29 02:33:12,379.379 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:33:12,380.380 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:33:12,384.384 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:33:12,387.387 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:33:14,428.428 INFO    ] ================================================
[2026-08-29 02:33:14,445.445 INFO    ] Launching Daemon at Sat Aug 29 02:33:14 IST 2026
[2026-08-29 02:33:14,457.457 INFO    ] ================================================
[2026-08-29 02:33:15,123.123 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:33:15
[2026-08-29 02:33:15,790.790 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:33:16,026.026 INFO    ] Initializing speech engine...
[2026-08-29 02:33:16,038.038 INFO    ] 2026-08-29 02:33:16
[2026-08-29 02:33:16,321.321 INFO    ] 2026-08-29 02:33:16
[2026-08-29 02:33:16,370.370 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:33:16,553.553 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:33:16,567.567 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:33:16,713.713 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:33:16,721.721 INFO    ] time= 29/08/2026 02:33:16
[2026-08-29 02:33:16,726.726 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:33:16,734.734 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:33:16,800.800 INFO    ] No existing commands found in stream
[2026-08-29 02:33:21,815.815 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:33:21,818.818 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-08-29 02:33:23,181.181 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:33:23,183.183 INFO    ] Checking for system updates...
[2026-08-29 02:33:23,203.203 INFO    ] 200
[2026-08-29 02:33:23,205.205 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:33:23,234.234 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:33:23,236.236 INFO    ] No update needed
[2026-08-29 02:33:23,238.238 INFO    ] Checking for camera pi updates...
[2026-08-29 02:33:23,258.258 INFO    ] 200
[2026-08-29 02:33:23,260.260 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:33:23,285.285 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:33:23,413.413 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:33:23,416.416 INFO    ] No camera update needed
[2026-08-29 02:33:23,418.418 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:33:23,420.420 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:33:23,426.426 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:33:23,431.431 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:33:25,472.472 INFO    ] ================================================
[2026-08-29 02:33:25,487.487 INFO    ] Launching Daemon at Sat Aug 29 02:33:25 IST 2026
[2026-08-29 02:33:25,499.499 INFO    ] ================================================
[2026-08-29 02:33:26,066.066 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:33:26
[2026-08-29 02:33:26,588.588 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:33:26,748.748 INFO    ] Initializing speech engine...
[2026-08-29 02:33:26,755.755 INFO    ] 2026-08-29 02:33:26
[2026-08-29 02:33:26,960.960 INFO    ] 2026-08-29 02:33:26
[2026-08-29 02:33:26,990.990 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:33:27,176.176 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:33:27,180.180 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:33:27,319.319 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:33:27,388.388 INFO    ] time= 29/08/2026 02:33:27
[2026-08-29 02:33:27,413.413 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:33:27,420.420 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:33:27,488.488 INFO    ] No existing commands found in stream
[2026-08-29 02:33:32,503.503 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:33:32,506.506 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-08-29 02:33:35,139.139 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:33:35,142.142 INFO    ] Checking for system updates...
[2026-08-29 02:33:35,180.180 INFO    ] 200
[2026-08-29 02:33:35,183.183 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:33:35,239.239 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:33:35,242.242 INFO    ] No update needed
[2026-08-29 02:33:35,245.245 INFO    ] Checking for camera pi updates...
[2026-08-29 02:33:35,279.279 INFO    ] 200
[2026-08-29 02:33:35,281.281 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:33:35,323.323 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:33:35,401.401 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:33:35,404.404 INFO    ] No camera update needed
[2026-08-29 02:33:35,406.406 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:33:35,409.409 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:33:35,414.414 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:33:35,419.419 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:33:37,459.459 INFO    ] ================================================
[2026-08-29 02:33:37,475.475 INFO    ] Launching Daemon at Sat Aug 29 02:33:37 IST 2026
[2026-08-29 02:33:37,486.486 INFO    ] ================================================
[2026-08-29 02:33:37,849.849 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:33:37
[2026-08-29 02:33:38,168.168 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:33:38,375.375 INFO    ] Initializing speech engine...
[2026-08-29 02:33:38,380.380 INFO    ] 2026-08-29 02:33:38
[2026-08-29 02:33:38,630.630 INFO    ] 2026-08-29 02:33:38
[2026-08-29 02:33:38,665.665 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:33:38,848.848 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:33:38,868.868 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:33:38,992.992 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:33:39,001.001 INFO    ] time= 29/08/2026 02:33:38
[2026-08-29 02:33:39,007.007 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:33:39,049.049 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:33:39,179.179 INFO    ] No existing commands found in stream
[2026-08-29 02:33:44,210.210 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:33:44,213.213 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-08-29 02:33:46,144.144 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:33:46,146.146 INFO    ] Checking for system updates...
[2026-08-29 02:33:46,166.166 INFO    ] 200
[2026-08-29 02:33:46,168.168 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:33:46,198.198 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:33:46,200.200 INFO    ] No update needed
[2026-08-29 02:33:46,201.201 INFO    ] Checking for camera pi updates...
[2026-08-29 02:33:46,220.220 INFO    ] 200
[2026-08-29 02:33:46,222.222 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:33:46,245.245 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:33:46,347.347 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:33:46,350.350 INFO    ] No camera update needed
[2026-08-29 02:33:46,356.356 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:33:46,359.359 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:33:46,366.366 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:33:46,372.372 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:33:48,412.412 INFO    ] ================================================
[2026-08-29 02:33:48,429.429 INFO    ] Launching Daemon at Sat Aug 29 02:33:48 IST 2026
[2026-08-29 02:33:48,440.440 INFO    ] ================================================
[2026-08-29 02:33:49,023.023 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:33:49
[2026-08-29 02:33:49,494.494 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:33:49,633.633 INFO    ] Initializing speech engine...
[2026-08-29 02:33:49,640.640 INFO    ] 2026-08-29 02:33:49
[2026-08-29 02:33:49,887.887 INFO    ] 2026-08-29 02:33:49
[2026-08-29 02:33:49,923.923 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:33:50,115.115 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:33:50,124.124 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:33:50,252.252 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:33:50,257.257 INFO    ] time= 29/08/2026 02:33:50
[2026-08-29 02:33:50,263.263 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:33:50,315.315 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:33:50,439.439 INFO    ] No existing commands found in stream
[2026-08-29 02:33:55,464.464 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:33:55,467.467 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-08-29 02:33:58,368.368 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:33:58,370.370 INFO    ] Checking for system updates...
[2026-08-29 02:33:58,394.394 INFO    ] 200
[2026-08-29 02:33:58,396.396 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:33:58,426.426 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:33:58,427.427 INFO    ] No update needed
[2026-08-29 02:33:58,428.428 INFO    ] Checking for camera pi updates...
[2026-08-29 02:33:58,449.449 INFO    ] 200
[2026-08-29 02:33:58,450.450 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:33:58,475.475 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:33:58,575.575 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:33:58,577.577 INFO    ] No camera update needed
[2026-08-29 02:33:58,579.579 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:33:58,582.582 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:33:58,587.587 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:33:58,592.592 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:34:00,633.633 INFO    ] ================================================
[2026-08-29 02:34:00,648.648 INFO    ] Launching Daemon at Sat Aug 29 02:34:00 IST 2026
[2026-08-29 02:34:00,660.660 INFO    ] ================================================
[2026-08-29 02:34:01,340.340 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:34:01
[2026-08-29 02:34:01,795.795 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:34:02,253.253 INFO    ] Initializing speech engine...
[2026-08-29 02:34:02,258.258 INFO    ] 2026-08-29 02:34:02
[2026-08-29 02:34:02,626.626 INFO    ] 2026-08-29 02:34:02
[2026-08-29 02:34:02,687.687 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:34:02,828.828 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:34:02,835.835 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:34:03,019.019 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:34:03,075.075 INFO    ] time= 29/08/2026 02:34:03
[2026-08-29 02:34:03,092.092 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:34:03,109.109 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:34:03,203.203 INFO    ] No existing commands found in stream
[2026-08-29 02:34:08,229.229 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:34:08,232.232 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-08-29 02:34:10,585.585 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:34:10,586.586 INFO    ] Checking for system updates...
[2026-08-29 02:34:10,606.606 INFO    ] 200
[2026-08-29 02:34:10,608.608 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:34:10,637.637 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:34:10,638.638 INFO    ] No update needed
[2026-08-29 02:34:10,640.640 INFO    ] Checking for camera pi updates...
[2026-08-29 02:34:10,661.661 INFO    ] 200
[2026-08-29 02:34:10,663.663 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:34:10,688.688 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:34:10,804.804 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:34:10,805.805 INFO    ] No camera update needed
[2026-08-29 02:34:10,806.806 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:34:10,808.808 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:34:10,810.810 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:34:10,813.813 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:34:12,852.852 INFO    ] ================================================
[2026-08-29 02:34:12,868.868 INFO    ] Launching Daemon at Sat Aug 29 02:34:12 IST 2026
[2026-08-29 02:34:12,880.880 INFO    ] ================================================
[2026-08-29 02:34:13,244.244 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:34:13
[2026-08-29 02:34:13,557.557 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:34:13,688.688 INFO    ] Initializing speech engine...
[2026-08-29 02:34:13,693.693 INFO    ] 2026-08-29 02:34:13
[2026-08-29 02:34:13,912.912 INFO    ] 2026-08-29 02:34:13
[2026-08-29 02:34:13,940.940 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:34:14,066.066 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:34:14,130.130 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:34:14,262.262 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:34:14,324.324 INFO    ] time= 29/08/2026 02:34:14
[2026-08-29 02:34:14,362.362 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:34:14,364.364 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:34:14,437.437 INFO    ] No existing commands found in stream
[2026-08-29 02:34:19,446.446 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:34:19,449.449 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-08-29 02:34:21,764.764 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:34:21,765.765 INFO    ] Checking for system updates...
[2026-08-29 02:34:21,786.786 INFO    ] 200
[2026-08-29 02:34:21,787.787 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:34:21,820.820 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:34:21,821.821 INFO    ] No update needed
[2026-08-29 02:34:21,823.823 INFO    ] Checking for camera pi updates...
[2026-08-29 02:34:21,846.846 INFO    ] 200
[2026-08-29 02:34:21,847.847 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:34:21,873.873 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:34:21,966.966 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:34:21,967.967 INFO    ] No camera update needed
[2026-08-29 02:34:21,969.969 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:34:21,970.970 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:34:21,973.973 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:34:21,976.976 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:34:24,016.016 INFO    ] ================================================
[2026-08-29 02:34:24,033.033 INFO    ] Launching Daemon at Sat Aug 29 02:34:24 IST 2026
[2026-08-29 02:34:24,045.045 INFO    ] ================================================
[2026-08-29 02:34:24,387.387 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:34:24
[2026-08-29 02:34:24,700.700 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:34:24,922.922 INFO    ] Initializing speech engine...
[2026-08-29 02:34:24,940.940 INFO    ] 2026-08-29 02:34:24
[2026-08-29 02:34:25,192.192 INFO    ] 2026-08-29 02:34:25
[2026-08-29 02:34:25,235.235 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:34:25,404.404 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:34:25,416.416 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:34:25,545.545 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:34:25,565.565 INFO    ] time= 29/08/2026 02:34:25
[2026-08-29 02:34:25,573.573 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:34:25,581.581 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:34:25,648.648 INFO    ] No existing commands found in stream
[2026-08-29 02:34:30,663.663 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:34:30,666.666 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-08-29 02:34:32,834.834 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:34:32,837.837 INFO    ] Checking for system updates...
[2026-08-29 02:34:32,876.876 INFO    ] 200
[2026-08-29 02:34:32,879.879 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:34:32,950.950 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:34:32,953.953 INFO    ] No update needed
[2026-08-29 02:34:32,956.956 INFO    ] Checking for camera pi updates...
[2026-08-29 02:34:33,006.006 INFO    ] 200
[2026-08-29 02:34:33,009.009 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:34:33,056.056 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:34:33,136.136 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:34:33,138.138 INFO    ] No camera update needed
[2026-08-29 02:34:33,141.141 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:34:33,143.143 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:34:33,148.148 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:34:33,153.153 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:34:35,195.195 INFO    ] ================================================
[2026-08-29 02:34:35,211.211 INFO    ] Launching Daemon at Sat Aug 29 02:34:35 IST 2026
[2026-08-29 02:34:35,222.222 INFO    ] ================================================
[2026-08-29 02:34:35,624.624 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:34:35
[2026-08-29 02:34:35,936.936 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:34:36,091.091 INFO    ] Initializing speech engine...
[2026-08-29 02:34:36,106.106 INFO    ] 2026-08-29 02:34:36
[2026-08-29 02:34:36,370.370 INFO    ] 2026-08-29 02:34:36
[2026-08-29 02:34:36,406.406 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:34:36,585.585 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:34:36,598.598 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:34:36,708.708 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:34:36,714.714 INFO    ] time= 29/08/2026 02:34:36
[2026-08-29 02:34:36,732.732 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:34:36,752.752 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:34:36,828.828 INFO    ] No existing commands found in stream
[2026-08-29 02:34:41,859.859 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:34:41,861.861 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-08-29 02:34:44,367.367 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:34:44,368.368 INFO    ] Checking for system updates...
[2026-08-29 02:34:44,390.390 INFO    ] 200
[2026-08-29 02:34:44,391.391 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:34:44,421.421 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:34:44,422.422 INFO    ] No update needed
[2026-08-29 02:34:44,424.424 INFO    ] Checking for camera pi updates...
[2026-08-29 02:34:44,446.446 INFO    ] 200
[2026-08-29 02:34:44,447.447 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:34:44,472.472 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:34:44,649.649 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:34:44,650.650 INFO    ] No camera update needed
[2026-08-29 02:34:44,652.652 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:34:44,653.653 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:34:44,656.656 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:34:44,659.659 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:34:46,700.700 INFO    ] ================================================
[2026-08-29 02:34:46,715.715 INFO    ] Launching Daemon at Sat Aug 29 02:34:46 IST 2026
[2026-08-29 02:34:46,726.726 INFO    ] ================================================
[2026-08-29 02:34:47,059.059 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:34:47
[2026-08-29 02:34:47,378.378 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:34:47,515.515 INFO    ] Initializing speech engine...
[2026-08-29 02:34:47,524.524 INFO    ] 2026-08-29 02:34:47
[2026-08-29 02:34:47,755.755 INFO    ] 2026-08-29 02:34:47
[2026-08-29 02:34:47,786.786 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:34:47,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:34:47,976.976 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:34:48,111.111 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:34:48,120.120 INFO    ] time= 29/08/2026 02:34:48
[2026-08-29 02:34:48,128.128 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:34:48,153.153 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:34:48,246.246 INFO    ] No existing commands found in stream
[2026-08-29 02:34:53,254.254 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:34:53,257.257 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-08-29 02:34:53,738.738 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:34:53,740.740 INFO    ] Checking for system updates...
[2026-08-29 02:34:53,762.762 INFO    ] 200
[2026-08-29 02:34:53,763.763 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:34:53,796.796 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:34:53,797.797 INFO    ] No update needed
[2026-08-29 02:34:53,798.798 INFO    ] Checking for camera pi updates...
[2026-08-29 02:34:53,817.817 INFO    ] 200
[2026-08-29 02:34:53,819.819 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:34:53,844.844 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:34:53,922.922 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:34:53,924.924 INFO    ] No camera update needed
[2026-08-29 02:34:53,927.927 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:34:53,929.929 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:34:53,935.935 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:34:53,939.939 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:34:55,980.980 INFO    ] ================================================
[2026-08-29 02:34:56,995.995 INFO    ] Launching Daemon at Sat Aug 29 02:34:55 IST 2026
[2026-08-29 02:34:56,006.006 INFO    ] ================================================
[2026-08-29 02:34:56,685.685 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:34:56
[2026-08-29 02:34:57,151.151 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:34:57,300.300 INFO    ] Initializing speech engine...
[2026-08-29 02:34:57,310.310 INFO    ] 2026-08-29 02:34:57
[2026-08-29 02:34:57,523.523 INFO    ] 2026-08-29 02:34:57
[2026-08-29 02:34:57,552.552 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:34:57,719.719 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:34:57,731.731 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:34:57,880.880 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:34:57,908.908 INFO    ] time= 29/08/2026 02:34:57
[2026-08-29 02:34:57,917.917 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:34:57,927.927 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:34:58,027.027 INFO    ] No existing commands found in stream
[2026-08-29 02:35:03,064.064 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:35:03,068.068 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-08-29 02:35:03,916.916 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:35:03,919.919 INFO    ] Checking for system updates...
[2026-08-29 02:35:03,960.960 INFO    ] 200
[2026-08-29 02:35:03,963.963 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:35:04,018.018 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:35:04,021.021 INFO    ] No update needed
[2026-08-29 02:35:04,024.024 INFO    ] Checking for camera pi updates...
[2026-08-29 02:35:04,062.062 INFO    ] 200
[2026-08-29 02:35:04,065.065 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:35:04,113.113 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:35:04,246.246 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:35:04,249.249 INFO    ] No camera update needed
[2026-08-29 02:35:04,251.251 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:35:04,254.254 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:35:04,260.260 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:35:04,266.266 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:35:06,309.309 INFO    ] ================================================
[2026-08-29 02:35:06,324.324 INFO    ] Launching Daemon at Sat Aug 29 02:35:06 IST 2026
[2026-08-29 02:35:06,335.335 INFO    ] ================================================
[2026-08-29 02:35:06,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:35:06
[2026-08-29 02:35:07,288.288 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:35:07,596.596 INFO    ] Initializing speech engine...
[2026-08-29 02:35:07,604.604 INFO    ] 2026-08-29 02:35:07
[2026-08-29 02:35:07,878.878 INFO    ] 2026-08-29 02:35:07
[2026-08-29 02:35:07,939.939 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:35:08,167.167 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:35:08,177.177 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:35:08,313.313 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:35:08,356.356 INFO    ] time= 29/08/2026 02:35:08
[2026-08-29 02:35:08,416.416 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:35:08,454.454 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:35:08,504.504 INFO    ] No existing commands found in stream
[2026-08-29 02:35:13,517.517 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:35:13,520.520 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-08-29 02:35:17,153.153 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:35:17,155.155 INFO    ] Checking for system updates...
[2026-08-29 02:35:17,177.177 INFO    ] 200
[2026-08-29 02:35:17,178.178 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:35:17,211.211 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:35:17,212.212 INFO    ] No update needed
[2026-08-29 02:35:17,214.214 INFO    ] Checking for camera pi updates...
[2026-08-29 02:35:17,235.235 INFO    ] 200
[2026-08-29 02:35:17,236.236 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:35:17,264.264 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:35:17,343.343 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:35:17,345.345 INFO    ] No camera update needed
[2026-08-29 02:35:17,346.346 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:35:17,347.347 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:35:17,351.351 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:35:17,354.354 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:35:19,393.393 INFO    ] ================================================
[2026-08-29 02:35:19,409.409 INFO    ] Launching Daemon at Sat Aug 29 02:35:19 IST 2026
[2026-08-29 02:35:19,420.420 INFO    ] ================================================
[2026-08-29 02:35:19,777.777 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:35:19
[2026-08-29 02:35:20,097.097 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:35:20,236.236 INFO    ] Initializing speech engine...
[2026-08-29 02:35:20,246.246 INFO    ] 2026-08-29 02:35:20
[2026-08-29 02:35:20,429.429 INFO    ] 2026-08-29 02:35:20
[2026-08-29 02:35:20,495.495 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:35:20,717.717 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:35:20,726.726 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:35:20,859.859 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:35:20,891.891 INFO    ] time= 29/08/2026 02:35:20
[2026-08-29 02:35:20,955.955 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:35:20,992.992 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:35:21,044.044 INFO    ] No existing commands found in stream
[2026-08-29 02:35:26,056.056 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:35:26,059.059 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-08-29 02:35:29,076.076 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:35:29,078.078 INFO    ] Checking for system updates...
[2026-08-29 02:35:29,099.099 INFO    ] 200
[2026-08-29 02:35:29,101.101 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:35:29,131.131 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:35:29,132.132 INFO    ] No update needed
[2026-08-29 02:35:29,134.134 INFO    ] Checking for camera pi updates...
[2026-08-29 02:35:29,154.154 INFO    ] 200
[2026-08-29 02:35:29,155.155 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:35:29,180.180 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:35:29,268.268 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:35:29,269.269 INFO    ] No camera update needed
[2026-08-29 02:35:29,270.270 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:35:29,272.272 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:35:29,275.275 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:35:29,278.278 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:35:31,318.318 INFO    ] ================================================
[2026-08-29 02:35:31,333.333 INFO    ] Launching Daemon at Sat Aug 29 02:35:31 IST 2026
[2026-08-29 02:35:31,345.345 INFO    ] ================================================
[2026-08-29 02:35:31,895.895 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:35:31
[2026-08-29 02:35:32,590.590 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:35:32,938.938 INFO    ] Initializing speech engine...
[2026-08-29 02:35:32,948.948 INFO    ] 2026-08-29 02:35:32
[2026-08-29 02:35:33,241.241 INFO    ] 2026-08-29 02:35:33
[2026-08-29 02:35:33,296.296 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:35:33,541.541 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:35:33,551.551 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:35:33,687.687 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:35:33,747.747 INFO    ] time= 29/08/2026 02:35:33
[2026-08-29 02:35:33,812.812 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:35:33,822.822 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:35:33,943.943 INFO    ] No existing commands found in stream
[2026-08-29 02:35:38,974.974 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:35:38,978.978 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 02:35:41,644.644 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:35:41,646.646 INFO    ] Checking for system updates...
[2026-08-29 02:35:41,666.666 INFO    ] 200
[2026-08-29 02:35:41,668.668 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:35:41,698.698 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:35:41,699.699 INFO    ] No update needed
[2026-08-29 02:35:41,701.701 INFO    ] Checking for camera pi updates...
[2026-08-29 02:35:41,721.721 INFO    ] 200
[2026-08-29 02:35:41,722.722 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:35:41,746.746 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:35:41,821.821 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:35:41,829.829 INFO    ] No camera update needed
[2026-08-29 02:35:41,830.830 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:35:41,832.832 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:35:41,836.836 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:35:41,839.839 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:35:43,878.878 INFO    ] ================================================
[2026-08-29 02:35:43,894.894 INFO    ] Launching Daemon at Sat Aug 29 02:35:43 IST 2026
[2026-08-29 02:35:43,904.904 INFO    ] ================================================
[2026-08-29 02:35:44,271.271 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:35:44
[2026-08-29 02:35:44,610.610 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:35:44,762.762 INFO    ] Initializing speech engine...
[2026-08-29 02:35:44,768.768 INFO    ] 2026-08-29 02:35:44
[2026-08-29 02:35:44,978.978 INFO    ] 2026-08-29 02:35:44
[2026-08-29 02:35:45,007.007 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:35:45,137.137 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:35:45,192.192 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:35:45,318.318 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:35:45,337.337 INFO    ] time= 29/08/2026 02:35:45
[2026-08-29 02:35:45,391.391 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:35:45,427.427 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:35:45,535.535 INFO    ] No existing commands found in stream
[2026-08-29 02:35:50,555.555 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:35:50,558.558 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-08-29 02:35:51,343.343 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:35:51,344.344 INFO    ] Checking for system updates...
[2026-08-29 02:35:51,366.366 INFO    ] 200
[2026-08-29 02:35:51,368.368 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:35:51,400.400 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:35:51,401.401 INFO    ] No update needed
[2026-08-29 02:35:51,403.403 INFO    ] Checking for camera pi updates...
[2026-08-29 02:35:51,422.422 INFO    ] 200
[2026-08-29 02:35:51,423.423 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:35:51,447.447 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:35:51,545.545 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:35:51,546.546 INFO    ] No camera update needed
[2026-08-29 02:35:51,548.548 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:35:51,549.549 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:35:51,552.552 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:35:51,554.554 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:35:53,592.592 INFO    ] ================================================
[2026-08-29 02:35:53,608.608 INFO    ] Launching Daemon at Sat Aug 29 02:35:53 IST 2026
[2026-08-29 02:35:53,619.619 INFO    ] ================================================
[2026-08-29 02:35:54,036.036 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:35:54
[2026-08-29 02:35:54,625.625 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:35:54,877.877 INFO    ] Initializing speech engine...
[2026-08-29 02:35:54,890.890 INFO    ] 2026-08-29 02:35:54
[2026-08-29 02:35:55,160.160 INFO    ] 2026-08-29 02:35:55
[2026-08-29 02:35:55,196.196 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:35:55,371.371 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:35:55,385.385 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:35:55,496.496 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:35:55,503.503 INFO    ] time= 29/08/2026 02:35:55
[2026-08-29 02:35:55,521.521 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:35:55,541.541 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:35:55,615.615 INFO    ] No existing commands found in stream
[2026-08-29 02:36:00,627.627 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:36:00,630.630 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-08-29 02:36:05,137.137 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:36:05,139.139 INFO    ] Checking for system updates...
[2026-08-29 02:36:05,160.160 INFO    ] 200
[2026-08-29 02:36:05,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:36:05,194.194 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:36:05,195.195 INFO    ] No update needed
[2026-08-29 02:36:05,196.196 INFO    ] Checking for camera pi updates...
[2026-08-29 02:36:05,216.216 INFO    ] 200
[2026-08-29 02:36:05,218.218 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:36:05,240.240 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:36:05,336.336 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:36:05,338.338 INFO    ] No camera update needed
[2026-08-29 02:36:05,340.340 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:36:05,343.343 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:36:05,348.348 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:36:05,353.353 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:36:07,394.394 INFO    ] ================================================
[2026-08-29 02:36:07,410.410 INFO    ] Launching Daemon at Sat Aug 29 02:36:07 IST 2026
[2026-08-29 02:36:07,421.421 INFO    ] ================================================
[2026-08-29 02:36:08,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:36:08
[2026-08-29 02:36:08,618.618 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:36:08,899.899 INFO    ] Initializing speech engine...
[2026-08-29 02:36:08,905.905 INFO    ] 2026-08-29 02:36:08
[2026-08-29 02:36:09,171.171 INFO    ] 2026-08-29 02:36:09
[2026-08-29 02:36:09,201.201 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:36:09,377.377 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:36:09,411.411 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:36:09,539.539 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:36:09,548.548 INFO    ] time= 29/08/2026 02:36:09
[2026-08-29 02:36:09,566.566 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:36:09,587.587 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:36:09,660.660 INFO    ] No existing commands found in stream
[2026-08-29 02:36:14,673.673 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:36:14,676.676 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-08-29 02:36:18,778.778 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:36:18,780.780 INFO    ] Checking for system updates...
[2026-08-29 02:36:18,800.800 INFO    ] 200
[2026-08-29 02:36:18,802.802 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:36:18,832.832 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:36:18,833.833 INFO    ] No update needed
[2026-08-29 02:36:18,835.835 INFO    ] Checking for camera pi updates...
[2026-08-29 02:36:18,854.854 INFO    ] 200
[2026-08-29 02:36:18,855.855 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:36:18,878.878 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:36:18,957.957 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:36:18,959.959 INFO    ] No camera update needed
[2026-08-29 02:36:18,962.962 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:36:18,964.964 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:36:18,969.969 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:36:18,974.974 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:36:21,015.015 INFO    ] ================================================
[2026-08-29 02:36:21,031.031 INFO    ] Launching Daemon at Sat Aug 29 02:36:21 IST 2026
[2026-08-29 02:36:21,042.042 INFO    ] ================================================
[2026-08-29 02:36:21,689.689 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:36:21
[2026-08-29 02:36:22,209.209 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:36:22,362.362 INFO    ] Initializing speech engine...
[2026-08-29 02:36:22,368.368 INFO    ] 2026-08-29 02:36:22
[2026-08-29 02:36:22,576.576 INFO    ] 2026-08-29 02:36:22
[2026-08-29 02:36:22,607.607 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:36:22,731.731 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:36:22,741.741 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:36:22,901.901 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:36:22,941.941 INFO    ] time= 29/08/2026 02:36:22
[2026-08-29 02:36:22,960.960 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:36:22,970.970 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:36:23,100.100 INFO    ] No existing commands found in stream
[2026-08-29 02:36:28,115.115 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:36:28,119.119 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-08-29 02:36:31,059.059 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:36:31,061.061 INFO    ] Checking for system updates...
[2026-08-29 02:36:31,083.083 INFO    ] 200
[2026-08-29 02:36:31,084.084 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:36:31,117.117 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:36:31,118.118 INFO    ] No update needed
[2026-08-29 02:36:31,120.120 INFO    ] Checking for camera pi updates...
[2026-08-29 02:36:31,140.140 INFO    ] 200
[2026-08-29 02:36:31,141.141 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:36:31,167.167 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:36:31,251.251 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:36:31,253.253 INFO    ] No camera update needed
[2026-08-29 02:36:31,254.254 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:36:31,255.255 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:36:31,258.258 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:36:31,261.261 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:36:33,299.299 INFO    ] ================================================
[2026-08-29 02:36:33,315.315 INFO    ] Launching Daemon at Sat Aug 29 02:36:33 IST 2026
[2026-08-29 02:36:33,327.327 INFO    ] ================================================
[2026-08-29 02:36:33,908.908 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:36:33
[2026-08-29 02:36:34,507.507 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:36:34,781.781 INFO    ] Initializing speech engine...
[2026-08-29 02:36:34,790.790 INFO    ] 2026-08-29 02:36:34
[2026-08-29 02:36:35,045.045 INFO    ] 2026-08-29 02:36:35
[2026-08-29 02:36:35,105.105 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:36:35,327.327 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:36:35,337.337 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:36:35,468.468 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:36:35,493.493 INFO    ] time= 29/08/2026 02:36:35
[2026-08-29 02:36:35,536.536 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:36:35,546.546 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:36:35,653.653 INFO    ] No existing commands found in stream
[2026-08-29 02:36:40,667.667 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:36:40,670.670 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-08-29 02:36:42,979.979 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:36:42,980.980 INFO    ] Checking for system updates...
[2026-08-29 02:36:43,002.002 INFO    ] 200
[2026-08-29 02:36:43,003.003 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:36:43,035.035 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:36:43,037.037 INFO    ] No update needed
[2026-08-29 02:36:43,038.038 INFO    ] Checking for camera pi updates...
[2026-08-29 02:36:43,059.059 INFO    ] 200
[2026-08-29 02:36:43,060.060 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:36:43,083.083 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:36:43,175.175 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:36:43,177.177 INFO    ] No camera update needed
[2026-08-29 02:36:43,179.179 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:36:43,182.182 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:36:43,188.188 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:36:43,194.194 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:36:45,236.236 INFO    ] ================================================
[2026-08-29 02:36:45,251.251 INFO    ] Launching Daemon at Sat Aug 29 02:36:45 IST 2026
[2026-08-29 02:36:45,262.262 INFO    ] ================================================
[2026-08-29 02:36:45,917.917 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:36:45
[2026-08-29 02:36:46,381.381 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:36:46,534.534 INFO    ] Initializing speech engine...
[2026-08-29 02:36:46,539.539 INFO    ] 2026-08-29 02:36:46
[2026-08-29 02:36:46,750.750 INFO    ] 2026-08-29 02:36:46
[2026-08-29 02:36:46,779.779 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:36:46,920.920 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:36:46,969.969 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:36:47,101.101 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:36:47,183.183 INFO    ] time= 29/08/2026 02:36:47
[2026-08-29 02:36:47,230.230 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:36:47,235.235 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:36:47,342.342 INFO    ] No existing commands found in stream
[2026-08-29 02:36:52,366.366 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:36:52,369.369 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-08-29 02:36:55,518.518 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:36:55,520.520 INFO    ] Checking for system updates...
[2026-08-29 02:36:55,541.541 INFO    ] 200
[2026-08-29 02:36:55,542.542 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:36:55,572.572 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:36:55,574.574 INFO    ] No update needed
[2026-08-29 02:36:55,575.575 INFO    ] Checking for camera pi updates...
[2026-08-29 02:36:55,595.595 INFO    ] 200
[2026-08-29 02:36:55,596.596 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:36:55,620.620 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:36:55,793.793 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:36:55,794.794 INFO    ] No camera update needed
[2026-08-29 02:36:55,796.796 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:36:55,797.797 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:36:55,800.800 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:36:55,803.803 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:36:57,845.845 INFO    ] ================================================
[2026-08-29 02:36:57,861.861 INFO    ] Launching Daemon at Sat Aug 29 02:36:57 IST 2026
[2026-08-29 02:36:57,872.872 INFO    ] ================================================
[2026-08-29 02:36:58,212.212 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:36:58
[2026-08-29 02:36:58,524.524 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:36:58,667.667 INFO    ] Initializing speech engine...
[2026-08-29 02:36:58,672.672 INFO    ] 2026-08-29 02:36:58
[2026-08-29 02:36:58,878.878 INFO    ] 2026-08-29 02:36:58
[2026-08-29 02:36:58,906.906 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:36:59,030.030 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:36:59,093.093 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:36:59,233.233 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:36:59,301.301 INFO    ] time= 29/08/2026 02:36:59
[2026-08-29 02:36:59,325.325 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:36:59,332.332 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:36:59,398.398 INFO    ] No existing commands found in stream
[2026-08-29 02:37:04,409.409 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:37:04,411.411 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-08-29 02:37:05,426.426 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:37:05,429.429 INFO    ] Checking for system updates...
[2026-08-29 02:37:05,468.468 INFO    ] 200
[2026-08-29 02:37:05,470.470 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:37:05,522.522 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:37:05,524.524 INFO    ] No update needed
[2026-08-29 02:37:05,527.527 INFO    ] Checking for camera pi updates...
[2026-08-29 02:37:05,563.563 INFO    ] 200
[2026-08-29 02:37:05,565.565 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:37:05,606.606 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:37:05,703.703 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:37:05,705.705 INFO    ] No camera update needed
[2026-08-29 02:37:05,708.708 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:37:05,710.710 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:37:05,715.715 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:37:05,720.720 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:37:07,763.763 INFO    ] ================================================
[2026-08-29 02:37:07,778.778 INFO    ] Launching Daemon at Sat Aug 29 02:37:07 IST 2026
[2026-08-29 02:37:07,789.789 INFO    ] ================================================
[2026-08-29 02:37:08,280.280 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:37:08
[2026-08-29 02:37:08,877.877 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:37:09,149.149 INFO    ] Initializing speech engine...
[2026-08-29 02:37:09,158.158 INFO    ] 2026-08-29 02:37:09
[2026-08-29 02:37:09,407.407 INFO    ] 2026-08-29 02:37:09
[2026-08-29 02:37:09,475.475 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:37:09,695.695 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:37:09,704.704 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:37:09,836.836 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:37:09,873.873 INFO    ] time= 29/08/2026 02:37:09
[2026-08-29 02:37:09,933.933 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:37:09,969.969 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:37:10,093.093 INFO    ] No existing commands found in stream
[2026-08-29 02:37:15,123.123 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:37:15,126.126 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-08-29 02:37:16,916.916 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:37:16,918.918 INFO    ] Checking for system updates...
[2026-08-29 02:37:16,939.939 INFO    ] 200
[2026-08-29 02:37:16,941.941 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:37:16,972.972 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:37:16,974.974 INFO    ] No update needed
[2026-08-29 02:37:16,975.975 INFO    ] Checking for camera pi updates...
[2026-08-29 02:37:16,994.994 INFO    ] 200
[2026-08-29 02:37:16,995.995 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:37:17,018.018 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:37:17,094.094 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:37:17,095.095 INFO    ] No camera update needed
[2026-08-29 02:37:17,097.097 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:37:17,098.098 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:37:17,101.101 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:37:17,103.103 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:37:19,143.143 INFO    ] ================================================
[2026-08-29 02:37:19,159.159 INFO    ] Launching Daemon at Sat Aug 29 02:37:19 IST 2026
[2026-08-29 02:37:19,169.169 INFO    ] ================================================
[2026-08-29 02:37:19,704.704 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:37:19
[2026-08-29 02:37:20,359.359 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:37:20,658.658 INFO    ] Initializing speech engine...
[2026-08-29 02:37:20,665.665 INFO    ] 2026-08-29 02:37:20
[2026-08-29 02:37:20,935.935 INFO    ] 2026-08-29 02:37:20
[2026-08-29 02:37:20,971.971 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:37:21,164.164 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:37:21,176.176 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:37:21,304.304 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:37:21,310.310 INFO    ] time= 29/08/2026 02:37:21
[2026-08-29 02:37:21,316.316 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:37:21,357.357 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:37:21,489.489 INFO    ] No existing commands found in stream
[2026-08-29 02:37:26,515.515 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:37:26,518.518 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-08-29 02:37:30,347.347 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:37:30,349.349 INFO    ] Checking for system updates...
[2026-08-29 02:37:30,370.370 INFO    ] 200
[2026-08-29 02:37:30,371.371 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:37:30,402.402 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:37:30,403.403 INFO    ] No update needed
[2026-08-29 02:37:30,405.405 INFO    ] Checking for camera pi updates...
[2026-08-29 02:37:30,426.426 INFO    ] 200
[2026-08-29 02:37:30,427.427 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:37:30,452.452 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:37:30,544.544 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:37:30,546.546 INFO    ] No camera update needed
[2026-08-29 02:37:30,547.547 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:37:30,548.548 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:37:30,551.551 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:37:30,554.554 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:37:32,594.594 INFO    ] ================================================
[2026-08-29 02:37:32,612.612 INFO    ] Launching Daemon at Sat Aug 29 02:37:32 IST 2026
[2026-08-29 02:37:32,624.624 INFO    ] ================================================
[2026-08-29 02:37:33,206.206 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:37:33
[2026-08-29 02:37:33,805.805 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:37:34,082.082 INFO    ] Initializing speech engine...
[2026-08-29 02:37:34,088.088 INFO    ] 2026-08-29 02:37:34
[2026-08-29 02:37:34,337.337 INFO    ] 2026-08-29 02:37:34
[2026-08-29 02:37:34,372.372 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:37:34,543.543 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:37:34,557.557 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:37:34,699.699 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:37:34,707.707 INFO    ] time= 29/08/2026 02:37:34
[2026-08-29 02:37:34,714.714 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:37:34,760.760 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:37:34,903.903 INFO    ] No existing commands found in stream
[2026-08-29 02:37:39,915.915 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:37:39,917.917 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-08-29 02:37:41,505.505 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:37:41,507.507 INFO    ] Checking for system updates...
[2026-08-29 02:37:41,528.528 INFO    ] 200
[2026-08-29 02:37:41,530.530 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:37:41,563.563 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:37:41,565.565 INFO    ] No update needed
[2026-08-29 02:37:41,566.566 INFO    ] Checking for camera pi updates...
[2026-08-29 02:37:41,588.588 INFO    ] 200
[2026-08-29 02:37:41,589.589 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:37:41,614.614 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:37:41,689.689 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:37:41,690.690 INFO    ] No camera update needed
[2026-08-29 02:37:41,691.691 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:37:41,693.693 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:37:41,696.696 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:37:41,699.699 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:37:43,736.736 INFO    ] ================================================
[2026-08-29 02:37:43,752.752 INFO    ] Launching Daemon at Sat Aug 29 02:37:43 IST 2026
[2026-08-29 02:37:43,763.763 INFO    ] ================================================
[2026-08-29 02:37:44,142.142 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:37:44
[2026-08-29 02:37:44,475.475 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:37:44,623.623 INFO    ] Initializing speech engine...
[2026-08-29 02:37:44,632.632 INFO    ] 2026-08-29 02:37:44
[2026-08-29 02:37:44,837.837 INFO    ] 2026-08-29 02:37:44
[2026-08-29 02:37:44,917.917 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:37:45,071.071 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:37:45,094.094 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:37:45,209.209 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:37:45,251.251 INFO    ] time= 29/08/2026 02:37:45
[2026-08-29 02:37:45,311.311 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:37:45,330.330 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:37:45,398.398 INFO    ] No existing commands found in stream
[2026-08-29 02:37:50,410.410 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:37:50,413.413 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-08-29 02:37:54,083.083 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:37:54,085.085 INFO    ] Checking for system updates...
[2026-08-29 02:37:54,107.107 INFO    ] 200
[2026-08-29 02:37:54,108.108 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:37:54,140.140 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:37:54,142.142 INFO    ] No update needed
[2026-08-29 02:37:54,143.143 INFO    ] Checking for camera pi updates...
[2026-08-29 02:37:54,163.163 INFO    ] 200
[2026-08-29 02:37:54,165.165 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:37:54,188.188 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:37:54,270.270 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:37:54,271.271 INFO    ] No camera update needed
[2026-08-29 02:37:54,273.273 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:37:54,274.274 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:37:54,277.277 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:37:54,280.280 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:37:56,319.319 INFO    ] ================================================
[2026-08-29 02:37:56,334.334 INFO    ] Launching Daemon at Sat Aug 29 02:37:56 IST 2026
[2026-08-29 02:37:56,344.344 INFO    ] ================================================
[2026-08-29 02:37:56,686.686 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:37:56
[2026-08-29 02:37:57,212.212 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:37:57,509.509 INFO    ] Initializing speech engine...
[2026-08-29 02:37:57,521.521 INFO    ] 2026-08-29 02:37:57
[2026-08-29 02:37:57,831.831 INFO    ] 2026-08-29 02:37:57
[2026-08-29 02:37:57,915.915 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:37:58,070.070 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:37:58,076.076 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:37:58,209.209 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:37:58,255.255 INFO    ] time= 29/08/2026 02:37:58
[2026-08-29 02:37:58,325.325 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:37:58,345.345 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:37:58,480.480 INFO    ] No existing commands found in stream
[2026-08-29 02:38:03,503.503 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:38:03,506.506 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-08-29 02:38:06,630.630 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:38:06,632.632 INFO    ] Checking for system updates...
[2026-08-29 02:38:06,654.654 INFO    ] 200
[2026-08-29 02:38:06,656.656 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:38:06,688.688 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:38:06,689.689 INFO    ] No update needed
[2026-08-29 02:38:06,690.690 INFO    ] Checking for camera pi updates...
[2026-08-29 02:38:06,711.711 INFO    ] 200
[2026-08-29 02:38:06,712.712 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:38:06,737.737 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:38:06,823.823 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:38:06,824.824 INFO    ] No camera update needed
[2026-08-29 02:38:06,825.825 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:38:06,827.827 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:38:06,829.829 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:38:06,832.832 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:38:08,871.871 INFO    ] ================================================
[2026-08-29 02:38:08,886.886 INFO    ] Launching Daemon at Sat Aug 29 02:38:08 IST 2026
[2026-08-29 02:38:08,897.897 INFO    ] ================================================
[2026-08-29 02:38:09,246.246 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:38:09
[2026-08-29 02:38:09,806.806 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:38:10,061.061 INFO    ] Initializing speech engine...
[2026-08-29 02:38:10,070.070 INFO    ] 2026-08-29 02:38:10
[2026-08-29 02:38:10,366.366 INFO    ] 2026-08-29 02:38:10
[2026-08-29 02:38:10,404.404 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:38:10,603.603 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:38:10,609.609 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:38:10,741.741 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:38:10,747.747 INFO    ] time= 29/08/2026 02:38:10
[2026-08-29 02:38:10,754.754 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:38:10,775.775 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:38:10,877.877 INFO    ] No existing commands found in stream
[2026-08-29 02:38:15,889.889 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:38:15,892.892 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-08-29 02:38:19,647.647 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:38:19,648.648 INFO    ] Checking for system updates...
[2026-08-29 02:38:19,670.670 INFO    ] 200
[2026-08-29 02:38:19,671.671 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:38:19,702.702 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:38:19,703.703 INFO    ] No update needed
[2026-08-29 02:38:19,705.705 INFO    ] Checking for camera pi updates...
[2026-08-29 02:38:19,725.725 INFO    ] 200
[2026-08-29 02:38:19,726.726 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:38:19,750.750 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:38:19,849.849 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:38:19,850.850 INFO    ] No camera update needed
[2026-08-29 02:38:19,851.851 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:38:19,853.853 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:38:19,856.856 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:38:19,858.858 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:38:21,897.897 INFO    ] ================================================
[2026-08-29 02:38:21,912.912 INFO    ] Launching Daemon at Sat Aug 29 02:38:21 IST 2026
[2026-08-29 02:38:21,923.923 INFO    ] ================================================
[2026-08-29 02:38:22,260.260 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:38:22
[2026-08-29 02:38:22,573.573 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:38:22,707.707 INFO    ] Initializing speech engine...
[2026-08-29 02:38:22,712.712 INFO    ] 2026-08-29 02:38:22
[2026-08-29 02:38:22,960.960 INFO    ] 2026-08-29 02:38:22
[2026-08-29 02:38:23,026.026 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:38:23,160.160 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:38:23,178.178 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:38:23,347.347 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:38:23,387.387 INFO    ] time= 29/08/2026 02:38:23
[2026-08-29 02:38:23,413.413 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:38:23,431.431 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:38:23,534.534 INFO    ] No existing commands found in stream
[2026-08-29 02:38:28,565.565 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:38:28,568.568 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-08-29 02:38:31,000.000 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:38:31,003.003 INFO    ] Checking for system updates...
[2026-08-29 02:38:31,044.044 INFO    ] 200
[2026-08-29 02:38:31,046.046 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:38:31,098.098 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:38:31,101.101 INFO    ] No update needed
[2026-08-29 02:38:31,103.103 INFO    ] Checking for camera pi updates...
[2026-08-29 02:38:31,137.137 INFO    ] 200
[2026-08-29 02:38:31,140.140 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:38:31,180.180 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:38:31,265.265 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:38:31,267.267 INFO    ] No camera update needed
[2026-08-29 02:38:31,269.269 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:38:31,272.272 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:38:31,277.277 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:38:31,282.282 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:38:33,322.322 INFO    ] ================================================
[2026-08-29 02:38:33,338.338 INFO    ] Launching Daemon at Sat Aug 29 02:38:33 IST 2026
[2026-08-29 02:38:33,349.349 INFO    ] ================================================
[2026-08-29 02:38:33,920.920 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:38:33
[2026-08-29 02:38:34,506.506 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:38:34,763.763 INFO    ] Initializing speech engine...
[2026-08-29 02:38:34,771.771 INFO    ] 2026-08-29 02:38:34
[2026-08-29 02:38:35,065.065 INFO    ] 2026-08-29 02:38:35
[2026-08-29 02:38:35,091.091 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:38:35,246.246 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:38:35,252.252 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:38:35,406.406 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:38:35,411.411 INFO    ] time= 29/08/2026 02:38:35
[2026-08-29 02:38:35,415.415 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:38:35,427.427 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:38:35,489.489 INFO    ] No existing commands found in stream
[2026-08-29 02:38:40,504.504 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:38:40,506.506 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-08-29 02:38:41,800.800 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:38:41,802.802 INFO    ] Checking for system updates...
[2026-08-29 02:38:41,823.823 INFO    ] 200
[2026-08-29 02:38:41,825.825 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:38:41,856.856 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:38:41,858.858 INFO    ] No update needed
[2026-08-29 02:38:41,860.860 INFO    ] Checking for camera pi updates...
[2026-08-29 02:38:41,880.880 INFO    ] 200
[2026-08-29 02:38:41,882.882 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:38:41,905.905 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:38:41,988.988 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:38:41,989.989 INFO    ] No camera update needed
[2026-08-29 02:38:41,991.991 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:38:41,992.992 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:38:41,995.995 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:38:41,997.997 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:38:44,035.035 INFO    ] ================================================
[2026-08-29 02:38:44,050.050 INFO    ] Launching Daemon at Sat Aug 29 02:38:44 IST 2026
[2026-08-29 02:38:44,061.061 INFO    ] ================================================
[2026-08-29 02:38:44,405.405 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:38:44
[2026-08-29 02:38:44,724.724 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:38:44,856.856 INFO    ] Initializing speech engine...
[2026-08-29 02:38:44,859.859 INFO    ] 2026-08-29 02:38:44
[2026-08-29 02:38:45,065.065 INFO    ] 2026-08-29 02:38:45
[2026-08-29 02:38:45,099.099 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:38:45,219.219 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:38:45,222.222 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:38:45,331.331 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:38:45,341.341 INFO    ] time= 29/08/2026 02:38:45
[2026-08-29 02:38:45,347.347 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:38:45,362.362 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:38:45,435.435 INFO    ] No existing commands found in stream
[2026-08-29 02:38:50,464.464 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:38:50,467.467 INFO    ] Waiting 1.53 seconds before fallback handling...
[2026-08-29 02:38:52,356.356 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:38:52,358.358 INFO    ] Checking for system updates...
[2026-08-29 02:38:52,379.379 INFO    ] 200
[2026-08-29 02:38:52,380.380 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:38:52,414.414 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:38:52,416.416 INFO    ] No update needed
[2026-08-29 02:38:52,417.417 INFO    ] Checking for camera pi updates...
[2026-08-29 02:38:52,437.437 INFO    ] 200
[2026-08-29 02:38:52,439.439 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:38:52,463.463 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:38:52,555.555 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:38:52,557.557 INFO    ] No camera update needed
[2026-08-29 02:38:52,558.558 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:38:52,559.559 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:38:52,562.562 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:38:52,565.565 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:38:54,604.604 INFO    ] ================================================
[2026-08-29 02:38:54,619.619 INFO    ] Launching Daemon at Sat Aug 29 02:38:54 IST 2026
[2026-08-29 02:38:54,630.630 INFO    ] ================================================
[2026-08-29 02:38:54,976.976 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:38:54
[2026-08-29 02:38:55,313.313 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:38:55,459.459 INFO    ] Initializing speech engine...
[2026-08-29 02:38:55,476.476 INFO    ] 2026-08-29 02:38:55
[2026-08-29 02:38:55,758.758 INFO    ] 2026-08-29 02:38:55
[2026-08-29 02:38:55,814.814 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:38:56,033.033 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:38:56,043.043 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:38:56,179.179 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:38:56,223.223 INFO    ] time= 29/08/2026 02:38:56
[2026-08-29 02:38:56,288.288 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:38:56,314.314 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:38:56,451.451 INFO    ] No existing commands found in stream
[2026-08-29 02:39:01,473.473 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:39:01,478.478 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-08-29 02:39:04,178.178 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:39:04,181.181 INFO    ] Checking for system updates...
[2026-08-29 02:39:04,223.223 INFO    ] 200
[2026-08-29 02:39:04,225.225 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:39:04,285.285 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:39:04,288.288 INFO    ] No update needed
[2026-08-29 02:39:04,291.291 INFO    ] Checking for camera pi updates...
[2026-08-29 02:39:04,328.328 INFO    ] 200
[2026-08-29 02:39:04,331.331 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:39:04,373.373 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:39:04,463.463 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:39:04,465.465 INFO    ] No camera update needed
[2026-08-29 02:39:04,466.466 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:39:04,467.467 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:39:04,470.470 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:39:04,473.473 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:39:06,513.513 INFO    ] ================================================
[2026-08-29 02:39:06,528.528 INFO    ] Launching Daemon at Sat Aug 29 02:39:06 IST 2026
[2026-08-29 02:39:06,540.540 INFO    ] ================================================
[2026-08-29 02:39:06,898.898 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:39:06
[2026-08-29 02:39:07,213.213 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:39:07,349.349 INFO    ] Initializing speech engine...
[2026-08-29 02:39:07,357.357 INFO    ] 2026-08-29 02:39:07
[2026-08-29 02:39:07,603.603 INFO    ] 2026-08-29 02:39:07
[2026-08-29 02:39:07,638.638 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:39:07,810.810 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:39:07,823.823 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:39:07,966.966 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:39:07,973.973 INFO    ] time= 29/08/2026 02:39:07
[2026-08-29 02:39:07,977.977 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:39:07,983.983 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:39:08,048.048 INFO    ] No existing commands found in stream
[2026-08-29 02:39:13,060.060 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:39:13,063.063 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-08-29 02:39:15,633.633 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:39:15,635.635 INFO    ] Checking for system updates...
[2026-08-29 02:39:15,671.671 INFO    ] 200
[2026-08-29 02:39:15,673.673 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:39:15,731.731 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:39:15,734.734 INFO    ] No update needed
[2026-08-29 02:39:15,736.736 INFO    ] Checking for camera pi updates...
[2026-08-29 02:39:15,772.772 INFO    ] 200
[2026-08-29 02:39:15,775.775 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:39:15,818.818 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:39:15,922.922 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:39:15,924.924 INFO    ] No camera update needed
[2026-08-29 02:39:15,926.926 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:39:15,929.929 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:39:15,934.934 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:39:15,940.940 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:39:17,983.983 INFO    ] ================================================
[2026-08-29 02:39:18,999.999 INFO    ] Launching Daemon at Sat Aug 29 02:39:17 IST 2026
[2026-08-29 02:39:18,010.010 INFO    ] ================================================
[2026-08-29 02:39:18,365.365 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:39:18
[2026-08-29 02:39:18,678.678 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:39:18,809.809 INFO    ] Initializing speech engine...
[2026-08-29 02:39:18,818.818 INFO    ] 2026-08-29 02:39:18
[2026-08-29 02:39:19,032.032 INFO    ] 2026-08-29 02:39:19
[2026-08-29 02:39:19,063.063 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:39:19,203.203 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:39:19,237.237 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:39:19,386.386 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:39:19,394.394 INFO    ] time= 29/08/2026 02:39:19
[2026-08-29 02:39:19,401.401 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:39:19,460.460 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:39:19,587.587 INFO    ] No existing commands found in stream
[2026-08-29 02:39:24,616.616 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:39:24,618.618 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-08-29 02:39:28,909.909 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:39:28,911.911 INFO    ] Checking for system updates...
[2026-08-29 02:39:28,931.931 INFO    ] 200
[2026-08-29 02:39:28,933.933 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:39:28,963.963 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:39:28,965.965 INFO    ] No update needed
[2026-08-29 02:39:28,966.966 INFO    ] Checking for camera pi updates...
[2026-08-29 02:39:28,986.986 INFO    ] 200
[2026-08-29 02:39:28,987.987 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:39:29,011.011 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:39:29,089.089 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:39:29,090.090 INFO    ] No camera update needed
[2026-08-29 02:39:29,092.092 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:39:29,093.093 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:39:29,097.097 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:39:29,100.100 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:39:31,140.140 INFO    ] ================================================
[2026-08-29 02:39:31,155.155 INFO    ] Launching Daemon at Sat Aug 29 02:39:31 IST 2026
[2026-08-29 02:39:31,167.167 INFO    ] ================================================
[2026-08-29 02:39:31,727.727 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:39:31
[2026-08-29 02:39:32,351.351 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:39:32,646.646 INFO    ] Initializing speech engine...
[2026-08-29 02:39:32,655.655 INFO    ] 2026-08-29 02:39:32
[2026-08-29 02:39:32,907.907 INFO    ] 2026-08-29 02:39:32
[2026-08-29 02:39:32,975.975 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:39:33,120.120 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:39:33,134.134 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:39:33,244.244 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:39:33,250.250 INFO    ] time= 29/08/2026 02:39:33
[2026-08-29 02:39:33,269.269 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:39:33,293.293 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:39:33,365.365 INFO    ] No existing commands found in stream
[2026-08-29 02:39:38,380.380 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:39:38,383.383 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 02:39:39,797.797 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:39:39,799.799 INFO    ] Checking for system updates...
[2026-08-29 02:39:39,819.819 INFO    ] 200
[2026-08-29 02:39:39,821.821 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:39:39,850.850 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:39:39,852.852 INFO    ] No update needed
[2026-08-29 02:39:39,853.853 INFO    ] Checking for camera pi updates...
[2026-08-29 02:39:39,872.872 INFO    ] 200
[2026-08-29 02:39:39,874.874 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:39:39,897.897 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:39:40,001.001 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:39:40,002.002 INFO    ] No camera update needed
[2026-08-29 02:39:40,004.004 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:39:40,005.005 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:39:40,008.008 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:39:40,010.010 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:39:42,050.050 INFO    ] ================================================
[2026-08-29 02:39:42,065.065 INFO    ] Launching Daemon at Sat Aug 29 02:39:42 IST 2026
[2026-08-29 02:39:42,076.076 INFO    ] ================================================
[2026-08-29 02:39:42,434.434 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:39:42
[2026-08-29 02:39:42,746.746 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:39:42,892.892 INFO    ] Initializing speech engine...
[2026-08-29 02:39:42,910.910 INFO    ] 2026-08-29 02:39:42
[2026-08-29 02:39:43,160.160 INFO    ] 2026-08-29 02:39:43
[2026-08-29 02:39:43,196.196 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:39:43,371.371 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:39:43,383.383 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:39:43,523.523 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:39:43,532.532 INFO    ] time= 29/08/2026 02:39:43
[2026-08-29 02:39:43,536.536 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:39:43,542.542 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:39:43,610.610 INFO    ] No existing commands found in stream
[2026-08-29 02:39:48,623.623 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:39:48,626.626 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-08-29 02:39:51,869.869 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:39:51,871.871 INFO    ] Checking for system updates...
[2026-08-29 02:39:51,891.891 INFO    ] 200
[2026-08-29 02:39:51,893.893 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:39:51,924.924 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:39:51,925.925 INFO    ] No update needed
[2026-08-29 02:39:51,927.927 INFO    ] Checking for camera pi updates...
[2026-08-29 02:39:51,947.947 INFO    ] 200
[2026-08-29 02:39:51,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:39:51,974.974 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:39:52,057.057 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:39:52,058.058 INFO    ] No camera update needed
[2026-08-29 02:39:52,060.060 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:39:52,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:39:52,064.064 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:39:52,067.067 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:39:54,107.107 INFO    ] ================================================
[2026-08-29 02:39:54,123.123 INFO    ] Launching Daemon at Sat Aug 29 02:39:54 IST 2026
[2026-08-29 02:39:54,134.134 INFO    ] ================================================
[2026-08-29 02:39:54,514.514 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:39:54
[2026-08-29 02:39:54,830.830 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:39:55,066.066 INFO    ] Initializing speech engine...
[2026-08-29 02:39:55,076.076 INFO    ] 2026-08-29 02:39:55
[2026-08-29 02:39:55,339.339 INFO    ] 2026-08-29 02:39:55
[2026-08-29 02:39:55,397.397 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:39:55,550.550 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:39:55,564.564 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:39:55,706.706 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:39:55,715.715 INFO    ] time= 29/08/2026 02:39:55
[2026-08-29 02:39:55,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:39:55,775.775 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:39:55,886.886 INFO    ] No existing commands found in stream
[2026-08-29 02:40:00,917.917 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:40:00,920.920 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-08-29 02:40:05,705.705 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:40:05,706.706 INFO    ] Checking for system updates...
[2026-08-29 02:40:05,727.727 INFO    ] 200
[2026-08-29 02:40:05,729.729 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:40:05,759.759 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:40:05,760.760 INFO    ] No update needed
[2026-08-29 02:40:05,762.762 INFO    ] Checking for camera pi updates...
[2026-08-29 02:40:05,793.793 INFO    ] 200
[2026-08-29 02:40:05,796.796 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:40:05,837.837 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:40:05,901.901 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:40:05,904.904 INFO    ] No camera update needed
[2026-08-29 02:40:05,907.907 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:40:05,909.909 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:40:05,916.916 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:40:05,921.921 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:40:07,963.963 INFO    ] ================================================
[2026-08-29 02:40:07,979.979 INFO    ] Launching Daemon at Sat Aug 29 02:40:07 IST 2026
[2026-08-29 02:40:07,990.990 INFO    ] ================================================
[2026-08-29 02:40:08,559.559 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:40:08
[2026-08-29 02:40:09,056.056 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:40:09,328.328 INFO    ] Initializing speech engine...
[2026-08-29 02:40:09,334.334 INFO    ] 2026-08-29 02:40:09
[2026-08-29 02:40:09,591.591 INFO    ] 2026-08-29 02:40:09
[2026-08-29 02:40:09,621.621 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:40:09,813.813 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:40:09,859.859 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:40:10,009.009 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:40:10,025.025 INFO    ] time= 29/08/2026 02:40:10
[2026-08-29 02:40:10,105.105 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:40:10,144.144 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:40:10,253.253 INFO    ] No existing commands found in stream
[2026-08-29 02:40:15,290.290 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:40:15,294.294 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-08-29 02:40:15,706.706 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:40:15,708.708 INFO    ] Checking for system updates...
[2026-08-29 02:40:15,728.728 INFO    ] 200
[2026-08-29 02:40:15,730.730 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:40:15,760.760 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:40:15,762.762 INFO    ] No update needed
[2026-08-29 02:40:15,763.763 INFO    ] Checking for camera pi updates...
[2026-08-29 02:40:15,783.783 INFO    ] 200
[2026-08-29 02:40:15,784.784 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:40:15,809.809 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:40:15,886.886 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:40:15,888.888 INFO    ] No camera update needed
[2026-08-29 02:40:15,889.889 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:40:15,890.890 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:40:15,894.894 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:40:15,897.897 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:40:17,937.937 INFO    ] ================================================
[2026-08-29 02:40:17,953.953 INFO    ] Launching Daemon at Sat Aug 29 02:40:17 IST 2026
[2026-08-29 02:40:17,964.964 INFO    ] ================================================
[2026-08-29 02:40:18,331.331 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:40:18
[2026-08-29 02:40:18,712.712 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:40:18,992.992 INFO    ] Initializing speech engine...
[2026-08-29 02:40:19,001.001 INFO    ] 2026-08-29 02:40:18
[2026-08-29 02:40:19,260.260 INFO    ] 2026-08-29 02:40:19
[2026-08-29 02:40:19,315.315 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:40:19,537.537 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:40:19,546.546 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:40:19,679.679 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:40:19,706.706 INFO    ] time= 29/08/2026 02:40:19
[2026-08-29 02:40:19,766.766 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:40:19,814.814 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:40:19,865.865 INFO    ] No existing commands found in stream
[2026-08-29 02:40:24,877.877 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:40:24,880.880 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-08-29 02:40:25,972.972 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:40:25,973.973 INFO    ] Checking for system updates...
[2026-08-29 02:40:25,994.994 INFO    ] 200
[2026-08-29 02:40:25,995.995 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:40:26,025.025 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:40:26,026.026 INFO    ] No update needed
[2026-08-29 02:40:26,027.027 INFO    ] Checking for camera pi updates...
[2026-08-29 02:40:26,047.047 INFO    ] 200
[2026-08-29 02:40:26,048.048 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:40:26,071.071 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:40:26,153.153 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:40:26,156.156 INFO    ] No camera update needed
[2026-08-29 02:40:26,158.158 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:40:26,160.160 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:40:26,165.165 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:40:26,170.170 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:40:28,211.211 INFO    ] ================================================
[2026-08-29 02:40:28,227.227 INFO    ] Launching Daemon at Sat Aug 29 02:40:28 IST 2026
[2026-08-29 02:40:28,238.238 INFO    ] ================================================
[2026-08-29 02:40:28,807.807 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:40:28
[2026-08-29 02:40:29,310.310 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:40:29,623.623 INFO    ] Initializing speech engine...
[2026-08-29 02:40:29,635.635 INFO    ] 2026-08-29 02:40:29
[2026-08-29 02:40:29,920.920 INFO    ] 2026-08-29 02:40:29
[2026-08-29 02:40:29,966.966 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:40:30,187.187 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:40:30,197.197 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:40:30,333.333 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:40:30,399.399 INFO    ] time= 29/08/2026 02:40:30
[2026-08-29 02:40:30,462.462 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:40:30,468.468 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:40:30,595.595 INFO    ] No existing commands found in stream
[2026-08-29 02:40:35,625.625 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:40:35,628.628 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 02:40:36,289.289 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:40:36,290.290 INFO    ] Checking for system updates...
[2026-08-29 02:40:36,312.312 INFO    ] 200
[2026-08-29 02:40:36,314.314 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:40:36,344.344 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:40:36,345.345 INFO    ] No update needed
[2026-08-29 02:40:36,347.347 INFO    ] Checking for camera pi updates...
[2026-08-29 02:40:36,367.367 INFO    ] 200
[2026-08-29 02:40:36,368.368 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:40:36,391.391 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:40:36,488.488 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:40:36,489.489 INFO    ] No camera update needed
[2026-08-29 02:40:36,491.491 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:40:36,492.492 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:40:36,496.496 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:40:36,499.499 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:40:38,537.537 INFO    ] ================================================
[2026-08-29 02:40:38,554.554 INFO    ] Launching Daemon at Sat Aug 29 02:40:38 IST 2026
[2026-08-29 02:40:38,565.565 INFO    ] ================================================
[2026-08-29 02:40:38,915.915 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:40:38
[2026-08-29 02:40:39,504.504 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:40:39,774.774 INFO    ] Initializing speech engine...
[2026-08-29 02:40:39,797.797 INFO    ] 2026-08-29 02:40:39
[2026-08-29 02:40:40,071.071 INFO    ] 2026-08-29 02:40:40
[2026-08-29 02:40:40,108.108 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:40:40,313.313 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:40:40,321.321 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:40:40,438.438 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:40:40,446.446 INFO    ] time= 29/08/2026 02:40:40
[2026-08-29 02:40:40,470.470 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:40:40,478.478 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:40:40,537.537 INFO    ] No existing commands found in stream
[2026-08-29 02:40:45,547.547 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:40:45,550.550 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 02:40:49,021.021 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:40:49,023.023 INFO    ] Checking for system updates...
[2026-08-29 02:40:49,043.043 INFO    ] 200
[2026-08-29 02:40:49,045.045 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:40:49,077.077 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:40:49,079.079 INFO    ] No update needed
[2026-08-29 02:40:49,080.080 INFO    ] Checking for camera pi updates...
[2026-08-29 02:40:49,102.102 INFO    ] 200
[2026-08-29 02:40:49,104.104 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:40:49,131.131 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:40:49,220.220 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:40:49,221.221 INFO    ] No camera update needed
[2026-08-29 02:40:49,223.223 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:40:49,224.224 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:40:49,227.227 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:40:49,230.230 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:40:51,271.271 INFO    ] ================================================
[2026-08-29 02:40:51,286.286 INFO    ] Launching Daemon at Sat Aug 29 02:40:51 IST 2026
[2026-08-29 02:40:51,297.297 INFO    ] ================================================
[2026-08-29 02:40:51,656.656 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:40:51
[2026-08-29 02:40:52,069.069 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:40:52,349.349 INFO    ] Initializing speech engine...
[2026-08-29 02:40:52,356.356 INFO    ] 2026-08-29 02:40:52
[2026-08-29 02:40:52,609.609 INFO    ] 2026-08-29 02:40:52
[2026-08-29 02:40:52,669.669 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:40:52,891.891 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:40:52,900.900 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:40:53,035.035 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:40:53,080.080 INFO    ] time= 29/08/2026 02:40:53
[2026-08-29 02:40:53,130.130 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:40:53,167.167 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:40:53,227.227 INFO    ] No existing commands found in stream
[2026-08-29 02:40:58,247.247 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:40:58,250.250 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-08-29 02:40:59,677.677 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:40:59,678.678 INFO    ] Checking for system updates...
[2026-08-29 02:40:59,700.700 INFO    ] 200
[2026-08-29 02:40:59,701.701 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:40:59,732.732 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:40:59,734.734 INFO    ] No update needed
[2026-08-29 02:40:59,735.735 INFO    ] Checking for camera pi updates...
[2026-08-29 02:40:59,755.755 INFO    ] 200
[2026-08-29 02:40:59,756.756 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:40:59,780.780 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:40:59,885.885 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:40:59,886.886 INFO    ] No camera update needed
[2026-08-29 02:40:59,887.887 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:40:59,889.889 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:40:59,892.892 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:40:59,895.895 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:41:01,940.940 INFO    ] ================================================
[2026-08-29 02:41:01,965.965 INFO    ] Launching Daemon at Sat Aug 29 02:41:01 IST 2026
[2026-08-29 02:41:01,984.984 INFO    ] ================================================
[2026-08-29 02:41:02,774.774 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:41:02
[2026-08-29 02:41:03,484.484 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:41:03,756.756 INFO    ] Initializing speech engine...
[2026-08-29 02:41:03,766.766 INFO    ] 2026-08-29 02:41:03
[2026-08-29 02:41:04,033.033 INFO    ] 2026-08-29 02:41:04
[2026-08-29 02:41:04,071.071 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:41:04,254.254 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:41:04,273.273 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:41:04,386.386 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:41:04,391.391 INFO    ] time= 29/08/2026 02:41:04
[2026-08-29 02:41:04,415.415 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:41:04,421.421 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:41:04,471.471 INFO    ] No existing commands found in stream
[2026-08-29 02:41:09,482.482 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:41:09,485.485 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-08-29 02:41:10,139.139 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:41:10,141.141 INFO    ] Checking for system updates...
[2026-08-29 02:41:10,162.162 INFO    ] 200
[2026-08-29 02:41:10,164.164 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:41:10,196.196 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:41:10,197.197 INFO    ] No update needed
[2026-08-29 02:41:10,199.199 INFO    ] Checking for camera pi updates...
[2026-08-29 02:41:10,218.218 INFO    ] 200
[2026-08-29 02:41:10,220.220 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:41:10,243.243 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:41:10,435.435 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:41:10,436.436 INFO    ] No camera update needed
[2026-08-29 02:41:10,438.438 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:41:10,439.439 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:41:10,442.442 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:41:10,445.445 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:41:12,483.483 INFO    ] ================================================
[2026-08-29 02:41:12,499.499 INFO    ] Launching Daemon at Sat Aug 29 02:41:12 IST 2026
[2026-08-29 02:41:12,509.509 INFO    ] ================================================
[2026-08-29 02:41:12,871.871 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:41:12
[2026-08-29 02:41:13,302.302 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:41:13,568.568 INFO    ] Initializing speech engine...
[2026-08-29 02:41:13,586.586 INFO    ] 2026-08-29 02:41:13
[2026-08-29 02:41:13,837.837 INFO    ] 2026-08-29 02:41:13
[2026-08-29 02:41:13,870.870 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:41:14,048.048 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:41:14,060.060 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:41:14,204.204 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:41:14,213.213 INFO    ] time= 29/08/2026 02:41:14
[2026-08-29 02:41:14,219.219 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:41:14,265.265 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:41:14,384.384 INFO    ] No existing commands found in stream
[2026-08-29 02:41:19,409.409 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:41:19,412.412 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-08-29 02:41:21,243.243 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:41:21,245.245 INFO    ] Checking for system updates...
[2026-08-29 02:41:21,265.265 INFO    ] 200
[2026-08-29 02:41:21,266.266 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:41:21,298.298 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:41:21,300.300 INFO    ] No update needed
[2026-08-29 02:41:21,301.301 INFO    ] Checking for camera pi updates...
[2026-08-29 02:41:21,327.327 INFO    ] 200
[2026-08-29 02:41:21,329.329 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:41:21,370.370 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:41:21,467.467 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:41:21,469.469 INFO    ] No camera update needed
[2026-08-29 02:41:21,472.472 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:41:21,474.474 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:41:21,479.479 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:41:21,484.484 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:41:23,525.525 INFO    ] ================================================
[2026-08-29 02:41:23,554.554 INFO    ] Launching Daemon at Sat Aug 29 02:41:23 IST 2026
[2026-08-29 02:41:23,565.565 INFO    ] ================================================
[2026-08-29 02:41:24,131.131 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:41:24
[2026-08-29 02:41:24,589.589 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:41:24,726.726 INFO    ] Initializing speech engine...
[2026-08-29 02:41:24,739.739 INFO    ] 2026-08-29 02:41:24
[2026-08-29 02:41:24,959.959 INFO    ] 2026-08-29 02:41:24
[2026-08-29 02:41:24,989.989 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:41:25,122.122 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:41:25,170.170 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:41:25,329.329 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:41:25,384.384 INFO    ] time= 29/08/2026 02:41:25
[2026-08-29 02:41:25,413.413 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:41:25,436.436 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:41:25,544.544 INFO    ] No existing commands found in stream
[2026-08-29 02:41:30,564.564 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:41:30,567.567 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-08-29 02:41:34,485.485 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:41:34,487.487 INFO    ] Checking for system updates...
[2026-08-29 02:41:34,523.523 INFO    ] 200
[2026-08-29 02:41:34,526.526 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:41:34,579.579 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:41:34,582.582 INFO    ] No update needed
[2026-08-29 02:41:34,584.584 INFO    ] Checking for camera pi updates...
[2026-08-29 02:41:34,618.618 INFO    ] 200
[2026-08-29 02:41:34,620.620 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:41:34,661.661 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:41:34,749.749 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:41:34,752.752 INFO    ] No camera update needed
[2026-08-29 02:41:34,754.754 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:41:34,756.756 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:41:34,762.762 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:41:34,767.767 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:41:36,807.807 INFO    ] ================================================
[2026-08-29 02:41:36,822.822 INFO    ] Launching Daemon at Sat Aug 29 02:41:36 IST 2026
[2026-08-29 02:41:36,833.833 INFO    ] ================================================
[2026-08-29 02:41:37,205.205 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:41:37
[2026-08-29 02:41:37,545.545 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:41:37,697.697 INFO    ] Initializing speech engine...
[2026-08-29 02:41:37,702.702 INFO    ] 2026-08-29 02:41:37
[2026-08-29 02:41:37,910.910 INFO    ] 2026-08-29 02:41:37
[2026-08-29 02:41:37,940.940 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:41:38,064.064 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:41:38,128.128 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:41:38,260.260 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:41:38,321.321 INFO    ] time= 29/08/2026 02:41:38
[2026-08-29 02:41:38,358.358 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:41:38,366.366 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:41:38,432.432 INFO    ] No existing commands found in stream
[2026-08-29 02:41:43,447.447 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:41:43,450.450 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-08-29 02:41:45,457.457 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:41:45,459.459 INFO    ] Checking for system updates...
[2026-08-29 02:41:45,479.479 INFO    ] 200
[2026-08-29 02:41:45,481.481 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:41:45,513.513 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:41:45,514.514 INFO    ] No update needed
[2026-08-29 02:41:45,515.515 INFO    ] Checking for camera pi updates...
[2026-08-29 02:41:45,535.535 INFO    ] 200
[2026-08-29 02:41:45,537.537 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:41:45,560.560 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:41:45,634.634 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:41:45,636.636 INFO    ] No camera update needed
[2026-08-29 02:41:45,637.637 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:41:45,638.638 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:41:45,641.641 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:41:45,644.644 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:41:47,682.682 INFO    ] ================================================
[2026-08-29 02:41:47,697.697 INFO    ] Launching Daemon at Sat Aug 29 02:41:47 IST 2026
[2026-08-29 02:41:47,708.708 INFO    ] ================================================
[2026-08-29 02:41:48,039.039 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:41:48
[2026-08-29 02:41:48,354.354 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:41:48,487.487 INFO    ] Initializing speech engine...
[2026-08-29 02:41:48,494.494 INFO    ] 2026-08-29 02:41:48
[2026-08-29 02:41:48,711.711 INFO    ] 2026-08-29 02:41:48
[2026-08-29 02:41:48,740.740 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:41:48,864.864 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:41:48,922.922 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:41:49,068.068 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:41:49,131.131 INFO    ] time= 29/08/2026 02:41:49
[2026-08-29 02:41:49,159.159 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:41:49,166.166 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:41:49,232.232 INFO    ] No existing commands found in stream
[2026-08-29 02:41:54,243.243 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:41:54,246.246 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-08-29 02:41:57,533.533 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:41:57,535.535 INFO    ] Checking for system updates...
[2026-08-29 02:41:57,555.555 INFO    ] 200
[2026-08-29 02:41:57,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:41:57,586.586 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:41:57,587.587 INFO    ] No update needed
[2026-08-29 02:41:57,588.588 INFO    ] Checking for camera pi updates...
[2026-08-29 02:41:57,607.607 INFO    ] 200
[2026-08-29 02:41:57,608.608 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:41:57,633.633 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:41:57,711.711 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:41:57,712.712 INFO    ] No camera update needed
[2026-08-29 02:41:57,714.714 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:41:57,715.715 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:41:57,718.718 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:41:57,720.720 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:41:59,758.758 INFO    ] ================================================
[2026-08-29 02:41:59,773.773 INFO    ] Launching Daemon at Sat Aug 29 02:41:59 IST 2026
[2026-08-29 02:41:59,784.784 INFO    ] ================================================
[2026-08-29 02:42:00,115.115 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:42:00
[2026-08-29 02:42:00,433.433 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:42:00,578.578 INFO    ] Initializing speech engine...
[2026-08-29 02:42:00,582.582 INFO    ] 2026-08-29 02:42:00
[2026-08-29 02:42:00,788.788 INFO    ] 2026-08-29 02:42:00
[2026-08-29 02:42:00,816.816 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:42:00,999.999 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:42:01,008.008 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:42:01,131.131 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:42:01,134.134 INFO    ] time= 29/08/2026 02:42:01
[2026-08-29 02:42:01,137.137 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:42:01,139.139 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:42:01,218.218 INFO    ] No existing commands found in stream
[2026-08-29 02:42:06,231.231 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:42:06,234.234 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-08-29 02:42:09,803.803 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:42:09,805.805 INFO    ] Checking for system updates...
[2026-08-29 02:42:09,826.826 INFO    ] 200
[2026-08-29 02:42:09,827.827 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:42:09,860.860 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:42:09,861.861 INFO    ] No update needed
[2026-08-29 02:42:09,863.863 INFO    ] Checking for camera pi updates...
[2026-08-29 02:42:09,883.883 INFO    ] 200
[2026-08-29 02:42:09,885.885 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:42:09,909.909 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:42:10,007.007 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:42:10,009.009 INFO    ] No camera update needed
[2026-08-29 02:42:10,010.010 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:42:10,012.012 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:42:10,015.015 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:42:10,018.018 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:42:12,056.056 INFO    ] ================================================
[2026-08-29 02:42:12,071.071 INFO    ] Launching Daemon at Sat Aug 29 02:42:12 IST 2026
[2026-08-29 02:42:12,083.083 INFO    ] ================================================
[2026-08-29 02:42:12,589.589 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:42:12
[2026-08-29 02:42:13,174.174 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:42:13,443.443 INFO    ] Initializing speech engine...
[2026-08-29 02:42:13,451.451 INFO    ] 2026-08-29 02:42:13
[2026-08-29 02:42:13,720.720 INFO    ] 2026-08-29 02:42:13
[2026-08-29 02:42:13,774.774 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:42:13,916.916 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:42:13,928.928 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:42:14,038.038 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:42:14,058.058 INFO    ] time= 29/08/2026 02:42:14
[2026-08-29 02:42:14,080.080 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:42:14,085.085 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:42:14,155.155 INFO    ] No existing commands found in stream
[2026-08-29 02:42:19,174.174 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:42:19,176.176 INFO    ] Waiting 1.19 seconds before fallback handling...
[2026-08-29 02:42:20,710.710 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:42:20,712.712 INFO    ] Checking for system updates...
[2026-08-29 02:42:20,732.732 INFO    ] 200
[2026-08-29 02:42:20,733.733 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:42:20,766.766 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:42:20,767.767 INFO    ] No update needed
[2026-08-29 02:42:20,768.768 INFO    ] Checking for camera pi updates...
[2026-08-29 02:42:20,788.788 INFO    ] 200
[2026-08-29 02:42:20,789.789 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:42:20,812.812 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:42:20,909.909 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:42:20,911.911 INFO    ] No camera update needed
[2026-08-29 02:42:20,912.912 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:42:20,913.913 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:42:20,916.916 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:42:20,919.919 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:42:22,957.957 INFO    ] ================================================
[2026-08-29 02:42:22,972.972 INFO    ] Launching Daemon at Sat Aug 29 02:42:22 IST 2026
[2026-08-29 02:42:22,983.983 INFO    ] ================================================
[2026-08-29 02:42:23,475.475 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:42:23
[2026-08-29 02:42:24,121.121 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:42:24,383.383 INFO    ] Initializing speech engine...
[2026-08-29 02:42:24,401.401 INFO    ] 2026-08-29 02:42:24
[2026-08-29 02:42:24,681.681 INFO    ] 2026-08-29 02:42:24
[2026-08-29 02:42:24,716.716 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:42:24,867.867 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:42:24,877.877 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:42:25,033.033 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:42:25,043.043 INFO    ] time= 29/08/2026 02:42:25
[2026-08-29 02:42:25,049.049 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:42:25,071.071 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:42:25,124.124 INFO    ] No existing commands found in stream
[2026-08-29 02:42:30,135.135 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:42:30,138.138 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-08-29 02:42:30,519.519 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:42:30,520.520 INFO    ] Checking for system updates...
[2026-08-29 02:42:30,543.543 INFO    ] 200
[2026-08-29 02:42:30,544.544 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:42:30,574.574 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:42:30,575.575 INFO    ] No update needed
[2026-08-29 02:42:30,577.577 INFO    ] Checking for camera pi updates...
[2026-08-29 02:42:30,597.597 INFO    ] 200
[2026-08-29 02:42:30,599.599 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:42:30,622.622 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:42:30,712.712 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:42:30,714.714 INFO    ] No camera update needed
[2026-08-29 02:42:30,715.715 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:42:30,716.716 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:42:30,719.719 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:42:30,722.722 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:42:32,761.761 INFO    ] ================================================
[2026-08-29 02:42:32,777.777 INFO    ] Launching Daemon at Sat Aug 29 02:42:32 IST 2026
[2026-08-29 02:42:32,787.787 INFO    ] ================================================
[2026-08-29 02:42:33,353.353 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:42:33
[2026-08-29 02:42:33,993.993 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:42:34,241.241 INFO    ] Initializing speech engine...
[2026-08-29 02:42:34,254.254 INFO    ] 2026-08-29 02:42:34
[2026-08-29 02:42:34,509.509 INFO    ] 2026-08-29 02:42:34
[2026-08-29 02:42:34,551.551 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:42:34,684.684 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:42:34,691.691 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:42:34,868.868 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:42:34,892.892 INFO    ] time= 29/08/2026 02:42:34
[2026-08-29 02:42:34,907.907 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:42:34,916.916 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:42:35,034.034 INFO    ] No existing commands found in stream
[2026-08-29 02:42:40,055.055 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:42:40,057.057 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-08-29 02:42:43,459.459 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:42:43,460.460 INFO    ] Checking for system updates...
[2026-08-29 02:42:43,481.481 INFO    ] 200
[2026-08-29 02:42:43,482.482 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:42:43,512.512 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:42:43,513.513 INFO    ] No update needed
[2026-08-29 02:42:43,515.515 INFO    ] Checking for camera pi updates...
[2026-08-29 02:42:43,535.535 INFO    ] 200
[2026-08-29 02:42:43,537.537 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:42:43,560.560 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:42:43,673.673 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:42:43,675.675 INFO    ] No camera update needed
[2026-08-29 02:42:43,677.677 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:42:43,680.680 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:42:43,685.685 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:42:43,690.690 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:42:45,730.730 INFO    ] ================================================
[2026-08-29 02:42:45,745.745 INFO    ] Launching Daemon at Sat Aug 29 02:42:45 IST 2026
[2026-08-29 02:42:45,755.755 INFO    ] ================================================
[2026-08-29 02:42:46,334.334 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:42:46
[2026-08-29 02:42:46,791.791 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:42:46,929.929 INFO    ] Initializing speech engine...
[2026-08-29 02:42:46,937.937 INFO    ] 2026-08-29 02:42:46
[2026-08-29 02:42:47,146.146 INFO    ] 2026-08-29 02:42:47
[2026-08-29 02:42:47,174.174 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:42:47,338.338 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:42:47,353.353 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:42:47,485.485 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:42:47,503.503 INFO    ] time= 29/08/2026 02:42:47
[2026-08-29 02:42:47,513.513 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:42:47,539.539 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:42:47,649.649 INFO    ] No existing commands found in stream
[2026-08-29 02:42:52,661.661 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:42:52,664.664 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-08-29 02:42:55,359.359 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:42:55,361.361 INFO    ] Checking for system updates...
[2026-08-29 02:42:55,383.383 INFO    ] 200
[2026-08-29 02:42:55,384.384 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:42:55,420.420 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:42:55,422.422 INFO    ] No update needed
[2026-08-29 02:42:55,423.423 INFO    ] Checking for camera pi updates...
[2026-08-29 02:42:55,444.444 INFO    ] 200
[2026-08-29 02:42:55,445.445 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:42:55,471.471 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:42:55,553.553 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:42:55,554.554 INFO    ] No camera update needed
[2026-08-29 02:42:55,556.556 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:42:55,557.557 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:42:55,560.560 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:42:55,563.563 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:42:57,604.604 INFO    ] ================================================
[2026-08-29 02:42:57,620.620 INFO    ] Launching Daemon at Sat Aug 29 02:42:57 IST 2026
[2026-08-29 02:42:57,631.631 INFO    ] ================================================
[2026-08-29 02:42:57,978.978 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:42:57
[2026-08-29 02:42:58,442.442 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:42:58,713.713 INFO    ] Initializing speech engine...
[2026-08-29 02:42:58,726.726 INFO    ] 2026-08-29 02:42:58
[2026-08-29 02:42:58,975.975 INFO    ] 2026-08-29 02:42:58
[2026-08-29 02:42:59,043.043 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:42:59,265.265 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:42:59,275.275 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:42:59,408.408 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:42:59,425.425 INFO    ] time= 29/08/2026 02:42:59
[2026-08-29 02:42:59,484.484 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:42:59,533.533 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:42:59,594.594 INFO    ] No existing commands found in stream
[2026-08-29 02:43:04,606.606 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:43:04,608.608 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-08-29 02:43:08,542.542 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:43:08,543.543 INFO    ] Checking for system updates...
[2026-08-29 02:43:08,564.564 INFO    ] 200
[2026-08-29 02:43:08,566.566 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:43:08,598.598 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:43:08,599.599 INFO    ] No update needed
[2026-08-29 02:43:08,601.601 INFO    ] Checking for camera pi updates...
[2026-08-29 02:43:08,620.620 INFO    ] 200
[2026-08-29 02:43:08,622.622 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:43:08,662.662 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:43:08,744.744 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:43:08,747.747 INFO    ] No camera update needed
[2026-08-29 02:43:08,749.749 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:43:08,751.751 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:43:08,757.757 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:43:08,762.762 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:43:10,802.802 INFO    ] ================================================
[2026-08-29 02:43:10,817.817 INFO    ] Launching Daemon at Sat Aug 29 02:43:10 IST 2026
[2026-08-29 02:43:10,828.828 INFO    ] ================================================
[2026-08-29 02:43:11,393.393 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:43:11
[2026-08-29 02:43:11,895.895 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:43:12,167.167 INFO    ] Initializing speech engine...
[2026-08-29 02:43:12,174.174 INFO    ] 2026-08-29 02:43:12
[2026-08-29 02:43:12,418.418 INFO    ] 2026-08-29 02:43:12
[2026-08-29 02:43:12,483.483 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:43:12,625.625 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:43:12,648.648 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:43:12,777.777 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:43:12,785.785 INFO    ] time= 29/08/2026 02:43:12
[2026-08-29 02:43:12,789.789 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:43:12,795.795 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:43:12,858.858 INFO    ] No existing commands found in stream
[2026-08-29 02:43:17,871.871 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:43:17,874.874 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-08-29 02:43:18,843.843 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:43:18,845.845 INFO    ] Checking for system updates...
[2026-08-29 02:43:18,865.865 INFO    ] 200
[2026-08-29 02:43:18,867.867 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:43:18,900.900 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:43:18,902.902 INFO    ] No update needed
[2026-08-29 02:43:18,903.903 INFO    ] Checking for camera pi updates...
[2026-08-29 02:43:18,923.923 INFO    ] 200
[2026-08-29 02:43:18,924.924 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:43:18,948.948 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:43:19,115.115 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:43:19,117.117 INFO    ] No camera update needed
[2026-08-29 02:43:19,118.118 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:43:19,119.119 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:43:19,122.122 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:43:19,125.125 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:43:21,164.164 INFO    ] ================================================
[2026-08-29 02:43:21,180.180 INFO    ] Launching Daemon at Sat Aug 29 02:43:21 IST 2026
[2026-08-29 02:43:21,190.190 INFO    ] ================================================
[2026-08-29 02:43:21,536.536 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:43:21
[2026-08-29 02:43:21,847.847 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:43:21,990.990 INFO    ] Initializing speech engine...
[2026-08-29 02:43:21,995.995 INFO    ] 2026-08-29 02:43:21
[2026-08-29 02:43:22,199.199 INFO    ] 2026-08-29 02:43:22
[2026-08-29 02:43:22,229.229 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:43:22,358.358 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:43:22,416.416 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:43:22,552.552 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:43:22,610.610 INFO    ] time= 29/08/2026 02:43:22
[2026-08-29 02:43:22,648.648 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:43:22,650.650 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:43:22,722.722 INFO    ] No existing commands found in stream
[2026-08-29 02:43:27,732.732 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:43:27,735.735 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-08-29 02:43:28,338.338 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:43:28,340.340 INFO    ] Checking for system updates...
[2026-08-29 02:43:28,360.360 INFO    ] 200
[2026-08-29 02:43:28,361.361 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:43:28,393.393 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:43:28,394.394 INFO    ] No update needed
[2026-08-29 02:43:28,395.395 INFO    ] Checking for camera pi updates...
[2026-08-29 02:43:28,414.414 INFO    ] 200
[2026-08-29 02:43:28,416.416 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:43:28,438.438 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:43:28,544.544 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:43:28,545.545 INFO    ] No camera update needed
[2026-08-29 02:43:28,547.547 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:43:28,548.548 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:43:28,551.551 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:43:28,554.554 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:43:30,593.593 INFO    ] ================================================
[2026-08-29 02:43:30,608.608 INFO    ] Launching Daemon at Sat Aug 29 02:43:30 IST 2026
[2026-08-29 02:43:30,618.618 INFO    ] ================================================
[2026-08-29 02:43:30,981.981 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:43:30
[2026-08-29 02:43:31,315.315 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:43:31,466.466 INFO    ] Initializing speech engine...
[2026-08-29 02:43:31,471.471 INFO    ] 2026-08-29 02:43:31
[2026-08-29 02:43:31,679.679 INFO    ] 2026-08-29 02:43:31
[2026-08-29 02:43:31,709.709 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:43:31,836.836 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:43:31,889.889 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:43:32,038.038 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:43:32,086.086 INFO    ] time= 29/08/2026 02:43:32
[2026-08-29 02:43:32,158.158 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:43:32,224.224 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:43:32,275.275 INFO    ] No existing commands found in stream
[2026-08-29 02:43:37,297.297 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:43:37,300.300 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-08-29 02:43:38,447.447 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:43:38,449.449 INFO    ] Checking for system updates...
[2026-08-29 02:43:38,475.475 INFO    ] 200
[2026-08-29 02:43:38,477.477 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:43:38,509.509 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:43:38,511.511 INFO    ] No update needed
[2026-08-29 02:43:38,512.512 INFO    ] Checking for camera pi updates...
[2026-08-29 02:43:38,534.534 INFO    ] 200
[2026-08-29 02:43:38,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:43:38,562.562 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:43:38,661.661 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:43:38,663.663 INFO    ] No camera update needed
[2026-08-29 02:43:38,664.664 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:43:38,665.665 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:43:38,669.669 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:43:38,671.671 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:43:40,710.710 INFO    ] ================================================
[2026-08-29 02:43:40,725.725 INFO    ] Launching Daemon at Sat Aug 29 02:43:40 IST 2026
[2026-08-29 02:43:40,735.735 INFO    ] ================================================
[2026-08-29 02:43:41,072.072 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:43:41
[2026-08-29 02:43:41,385.385 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:43:41,517.517 INFO    ] Initializing speech engine...
[2026-08-29 02:43:41,522.522 INFO    ] 2026-08-29 02:43:41
[2026-08-29 02:43:41,749.749 INFO    ] 2026-08-29 02:43:41
[2026-08-29 02:43:41,772.772 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:43:41,911.911 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:43:41,974.974 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:43:42,126.126 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:43:42,198.198 INFO    ] time= 29/08/2026 02:43:42
[2026-08-29 02:43:42,224.224 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:43:42,231.231 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:43:42,300.300 INFO    ] No existing commands found in stream
[2026-08-29 02:43:47,311.311 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:43:47,314.314 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-08-29 02:43:47,756.756 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:43:47,757.757 INFO    ] Checking for system updates...
[2026-08-29 02:43:47,777.777 INFO    ] 200
[2026-08-29 02:43:47,778.778 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:43:47,811.811 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:43:47,813.813 INFO    ] No update needed
[2026-08-29 02:43:47,814.814 INFO    ] Checking for camera pi updates...
[2026-08-29 02:43:47,834.834 INFO    ] 200
[2026-08-29 02:43:47,835.835 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:43:47,858.858 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:43:47,936.936 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:43:47,937.937 INFO    ] No camera update needed
[2026-08-29 02:43:47,938.938 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:43:47,939.939 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:43:47,942.942 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:43:47,945.945 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:43:49,984.984 INFO    ] ================================================
[2026-08-29 02:43:50,000.000 INFO    ] Launching Daemon at Sat Aug 29 02:43:49 IST 2026
[2026-08-29 02:43:50,010.010 INFO    ] ================================================
[2026-08-29 02:43:50,370.370 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:43:50
[2026-08-29 02:43:50,687.687 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:43:50,830.830 INFO    ] Initializing speech engine...
[2026-08-29 02:43:50,841.841 INFO    ] 2026-08-29 02:43:50
[2026-08-29 02:43:51,056.056 INFO    ] 2026-08-29 02:43:51
[2026-08-29 02:43:51,087.087 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:43:51,218.218 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:43:51,281.281 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:43:51,425.425 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:43:51,486.486 INFO    ] time= 29/08/2026 02:43:51
[2026-08-29 02:43:51,520.520 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:43:51,531.531 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:43:51,606.606 INFO    ] No existing commands found in stream
[2026-08-29 02:43:56,617.617 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:43:56,619.619 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-08-29 02:43:57,545.545 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:43:57,546.546 INFO    ] Checking for system updates...
[2026-08-29 02:43:57,567.567 INFO    ] 200
[2026-08-29 02:43:57,569.569 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:43:57,599.599 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:43:57,600.600 INFO    ] No update needed
[2026-08-29 02:43:57,601.601 INFO    ] Checking for camera pi updates...
[2026-08-29 02:43:57,622.622 INFO    ] 200
[2026-08-29 02:43:57,623.623 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:43:57,646.646 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:43:57,729.729 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:43:57,731.731 INFO    ] No camera update needed
[2026-08-29 02:43:57,732.732 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:43:57,733.733 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:43:57,736.736 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:43:57,739.739 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:43:59,778.778 INFO    ] ================================================
[2026-08-29 02:43:59,793.793 INFO    ] Launching Daemon at Sat Aug 29 02:43:59 IST 2026
[2026-08-29 02:43:59,803.803 INFO    ] ================================================
[2026-08-29 02:44:00,125.125 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:44:00
[2026-08-29 02:44:00,437.437 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:44:00,579.579 INFO    ] Initializing speech engine...
[2026-08-29 02:44:00,584.584 INFO    ] 2026-08-29 02:44:00
[2026-08-29 02:44:00,786.786 INFO    ] 2026-08-29 02:44:00
[2026-08-29 02:44:00,814.814 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:44:00,936.936 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:44:00,974.974 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:44:01,136.136 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:44:01,200.200 INFO    ] time= 29/08/2026 02:44:01
[2026-08-29 02:44:01,226.226 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:44:01,233.233 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:44:01,336.336 INFO    ] No existing commands found in stream
[2026-08-29 02:44:06,346.346 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:44:06,348.348 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-08-29 02:44:10,590.590 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:44:10,592.592 INFO    ] Checking for system updates...
[2026-08-29 02:44:10,613.613 INFO    ] 200
[2026-08-29 02:44:10,614.614 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:44:10,646.646 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:44:10,648.648 INFO    ] No update needed
[2026-08-29 02:44:10,649.649 INFO    ] Checking for camera pi updates...
[2026-08-29 02:44:10,668.668 INFO    ] 200
[2026-08-29 02:44:10,669.669 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:44:10,692.692 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:44:10,801.801 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:44:10,804.804 INFO    ] No camera update needed
[2026-08-29 02:44:10,806.806 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:44:10,808.808 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:44:10,813.813 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:44:10,818.818 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:44:12,859.859 INFO    ] ================================================
[2026-08-29 02:44:12,875.875 INFO    ] Launching Daemon at Sat Aug 29 02:44:12 IST 2026
[2026-08-29 02:44:12,886.886 INFO    ] ================================================
[2026-08-29 02:44:13,530.530 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:44:13
[2026-08-29 02:44:14,020.020 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:44:14,174.174 INFO    ] Initializing speech engine...
[2026-08-29 02:44:14,178.178 INFO    ] 2026-08-29 02:44:14
[2026-08-29 02:44:14,369.369 INFO    ] 2026-08-29 02:44:14
[2026-08-29 02:44:14,423.423 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:44:14,567.567 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:44:14,579.579 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:44:14,692.692 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:44:14,711.711 INFO    ] time= 29/08/2026 02:44:14
[2026-08-29 02:44:14,731.731 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:44:14,739.739 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:44:14,808.808 INFO    ] No existing commands found in stream
[2026-08-29 02:44:19,826.826 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:44:19,828.828 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-08-29 02:44:23,449.449 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:44:23,451.451 INFO    ] Checking for system updates...
[2026-08-29 02:44:23,471.471 INFO    ] 200
[2026-08-29 02:44:23,473.473 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:44:23,505.505 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:44:23,506.506 INFO    ] No update needed
[2026-08-29 02:44:23,508.508 INFO    ] Checking for camera pi updates...
[2026-08-29 02:44:23,527.527 INFO    ] 200
[2026-08-29 02:44:23,528.528 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:44:23,554.554 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:44:23,651.651 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:44:23,653.653 INFO    ] No camera update needed
[2026-08-29 02:44:23,656.656 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:44:23,658.658 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:44:23,663.663 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:44:23,668.668 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:44:25,709.709 INFO    ] ================================================
[2026-08-29 02:44:25,724.724 INFO    ] Launching Daemon at Sat Aug 29 02:44:25 IST 2026
[2026-08-29 02:44:25,735.735 INFO    ] ================================================
[2026-08-29 02:44:26,320.320 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:44:26
[2026-08-29 02:44:26,759.759 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:44:26,901.901 INFO    ] Initializing speech engine...
[2026-08-29 02:44:26,907.907 INFO    ] 2026-08-29 02:44:26
[2026-08-29 02:44:27,109.109 INFO    ] 2026-08-29 02:44:27
[2026-08-29 02:44:27,138.138 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:44:27,260.260 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:44:27,322.322 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:44:27,458.458 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:44:27,525.525 INFO    ] time= 29/08/2026 02:44:27
[2026-08-29 02:44:27,549.549 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:44:27,555.555 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:44:27,653.653 INFO    ] No existing commands found in stream
[2026-08-29 02:44:32,663.663 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:44:32,665.665 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-08-29 02:44:35,323.323 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:44:35,324.324 INFO    ] Checking for system updates...
[2026-08-29 02:44:35,344.344 INFO    ] 200
[2026-08-29 02:44:35,346.346 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:44:35,378.378 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:44:35,379.379 INFO    ] No update needed
[2026-08-29 02:44:35,380.380 INFO    ] Checking for camera pi updates...
[2026-08-29 02:44:35,399.399 INFO    ] 200
[2026-08-29 02:44:35,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:44:35,423.423 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:44:35,526.526 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:44:35,528.528 INFO    ] No camera update needed
[2026-08-29 02:44:35,529.529 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:44:35,530.530 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:44:35,533.533 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:44:35,536.536 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:44:37,575.575 INFO    ] ================================================
[2026-08-29 02:44:37,591.591 INFO    ] Launching Daemon at Sat Aug 29 02:44:37 IST 2026
[2026-08-29 02:44:37,602.602 INFO    ] ================================================
[2026-08-29 02:44:37,969.969 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:44:37
[2026-08-29 02:44:38,287.287 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:44:38,553.553 INFO    ] Initializing speech engine...
[2026-08-29 02:44:38,566.566 INFO    ] 2026-08-29 02:44:38
[2026-08-29 02:44:38,819.819 INFO    ] 2026-08-29 02:44:38
[2026-08-29 02:44:38,877.877 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:44:39,020.020 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:44:39,031.031 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:44:39,172.172 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:44:39,181.181 INFO    ] time= 29/08/2026 02:44:39
[2026-08-29 02:44:39,187.187 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:44:39,233.233 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:44:39,348.348 INFO    ] No existing commands found in stream
[2026-08-29 02:44:44,379.379 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:44:44,381.381 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-08-29 02:44:48,158.158 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:44:48,160.160 INFO    ] Checking for system updates...
[2026-08-29 02:44:48,180.180 INFO    ] 200
[2026-08-29 02:44:48,181.181 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:44:48,211.211 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:44:48,213.213 INFO    ] No update needed
[2026-08-29 02:44:48,214.214 INFO    ] Checking for camera pi updates...
[2026-08-29 02:44:48,234.234 INFO    ] 200
[2026-08-29 02:44:48,236.236 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:44:48,259.259 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:44:48,338.338 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:44:48,341.341 INFO    ] No camera update needed
[2026-08-29 02:44:48,344.344 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:44:48,347.347 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:44:48,353.353 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:44:48,358.358 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:44:50,400.400 INFO    ] ================================================
[2026-08-29 02:44:50,415.415 INFO    ] Launching Daemon at Sat Aug 29 02:44:50 IST 2026
[2026-08-29 02:44:50,426.426 INFO    ] ================================================
[2026-08-29 02:44:51,012.012 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:44:51
[2026-08-29 02:44:51,512.512 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:44:51,644.644 INFO    ] Initializing speech engine...
[2026-08-29 02:44:51,647.647 INFO    ] 2026-08-29 02:44:51
[2026-08-29 02:44:51,852.852 INFO    ] 2026-08-29 02:44:51
[2026-08-29 02:44:51,932.932 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:44:52,080.080 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:44:52,089.089 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:44:52,221.221 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:44:52,264.264 INFO    ] time= 29/08/2026 02:44:52
[2026-08-29 02:44:52,318.318 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:44:52,356.356 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:44:52,408.408 INFO    ] No existing commands found in stream
[2026-08-29 02:44:57,420.420 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:44:57,423.423 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 02:44:58,049.049 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:44:58,051.051 INFO    ] Checking for system updates...
[2026-08-29 02:44:58,072.072 INFO    ] 200
[2026-08-29 02:44:58,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:44:58,104.104 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:44:58,105.105 INFO    ] No update needed
[2026-08-29 02:44:58,106.106 INFO    ] Checking for camera pi updates...
[2026-08-29 02:44:58,127.127 INFO    ] 200
[2026-08-29 02:44:58,128.128 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:44:58,152.152 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:44:58,235.235 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:44:58,236.236 INFO    ] No camera update needed
[2026-08-29 02:44:58,238.238 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:44:58,239.239 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:44:58,242.242 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:44:58,245.245 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:45:00,285.285 INFO    ] ================================================
[2026-08-29 02:45:00,300.300 INFO    ] Launching Daemon at Sat Aug 29 02:45:00 IST 2026
[2026-08-29 02:45:00,311.311 INFO    ] ================================================
[2026-08-29 02:45:00,709.709 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:45:00
[2026-08-29 02:45:01,053.053 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:45:01,208.208 INFO    ] Initializing speech engine...
[2026-08-29 02:45:01,215.215 INFO    ] 2026-08-29 02:45:01
[2026-08-29 02:45:01,451.451 INFO    ] 2026-08-29 02:45:01
[2026-08-29 02:45:01,506.506 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:45:01,664.664 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:45:01,680.680 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:45:01,810.810 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:45:01,814.814 INFO    ] time= 29/08/2026 02:45:01
[2026-08-29 02:45:01,818.818 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:45:01,821.821 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:45:01,886.886 INFO    ] No existing commands found in stream
[2026-08-29 02:45:06,896.896 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:45:06,899.899 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 02:45:09,908.908 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:45:09,910.910 INFO    ] Checking for system updates...
[2026-08-29 02:45:09,930.930 INFO    ] 200
[2026-08-29 02:45:09,932.932 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:45:09,962.962 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:45:09,963.963 INFO    ] No update needed
[2026-08-29 02:45:09,964.964 INFO    ] Checking for camera pi updates...
[2026-08-29 02:45:09,985.985 INFO    ] 200
[2026-08-29 02:45:09,986.986 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:45:10,009.009 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:45:10,088.088 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:45:10,091.091 INFO    ] No camera update needed
[2026-08-29 02:45:10,093.093 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:45:10,095.095 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:45:10,101.101 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:45:10,106.106 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:45:12,145.145 INFO    ] ================================================
[2026-08-29 02:45:12,161.161 INFO    ] Launching Daemon at Sat Aug 29 02:45:12 IST 2026
[2026-08-29 02:45:12,172.172 INFO    ] ================================================
[2026-08-29 02:45:12,825.825 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:45:12
[2026-08-29 02:45:13,500.500 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:45:13,805.805 INFO    ] Initializing speech engine...
[2026-08-29 02:45:13,814.814 INFO    ] 2026-08-29 02:45:13
[2026-08-29 02:45:14,095.095 INFO    ] 2026-08-29 02:45:14
[2026-08-29 02:45:14,140.140 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:45:14,308.308 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:45:14,321.321 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:45:14,468.468 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:45:14,475.475 INFO    ] time= 29/08/2026 02:45:14
[2026-08-29 02:45:14,505.505 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:45:14,545.545 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:45:14,659.659 INFO    ] No existing commands found in stream
[2026-08-29 02:45:19,685.685 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:45:19,689.689 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-08-29 02:45:20,164.164 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:45:20,166.166 INFO    ] Checking for system updates...
[2026-08-29 02:45:20,199.199 INFO    ] 200
[2026-08-29 02:45:20,200.200 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:45:20,239.239 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:45:20,242.242 INFO    ] No update needed
[2026-08-29 02:45:20,245.245 INFO    ] Checking for camera pi updates...
[2026-08-29 02:45:20,288.288 INFO    ] 200
[2026-08-29 02:45:20,291.291 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:45:20,342.342 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:45:20,521.521 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:45:20,524.524 INFO    ] No camera update needed
[2026-08-29 02:45:20,527.527 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:45:20,530.530 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:45:20,536.536 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:45:20,542.542 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:45:22,586.586 INFO    ] ================================================
[2026-08-29 02:45:22,602.602 INFO    ] Launching Daemon at Sat Aug 29 02:45:22 IST 2026
[2026-08-29 02:45:22,615.615 INFO    ] ================================================
[2026-08-29 02:45:23,234.234 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:45:23
[2026-08-29 02:45:23,615.615 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:45:23,846.846 INFO    ] Initializing speech engine...
[2026-08-29 02:45:23,855.855 INFO    ] 2026-08-29 02:45:23
[2026-08-29 02:45:24,120.120 INFO    ] 2026-08-29 02:45:24
[2026-08-29 02:45:24,150.150 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:45:24,323.323 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:45:24,340.340 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:45:24,471.471 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:45:24,476.476 INFO    ] time= 29/08/2026 02:45:24
[2026-08-29 02:45:24,482.482 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:45:24,502.502 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:45:24,631.631 INFO    ] No existing commands found in stream
[2026-08-29 02:45:29,661.661 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:45:29,664.664 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-08-29 02:45:31,378.378 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:45:31,381.381 INFO    ] Checking for system updates...
[2026-08-29 02:45:31,418.418 INFO    ] 200
[2026-08-29 02:45:31,421.421 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:45:31,473.473 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:45:31,476.476 INFO    ] No update needed
[2026-08-29 02:45:31,478.478 INFO    ] Checking for camera pi updates...
[2026-08-29 02:45:31,511.511 INFO    ] 200
[2026-08-29 02:45:31,514.514 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:45:31,555.555 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:45:31,659.659 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:45:31,661.661 INFO    ] No camera update needed
[2026-08-29 02:45:31,664.664 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:45:31,666.666 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:45:31,672.672 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:45:31,677.677 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:45:33,717.717 INFO    ] ================================================
[2026-08-29 02:45:33,733.733 INFO    ] Launching Daemon at Sat Aug 29 02:45:33 IST 2026
[2026-08-29 02:45:33,745.745 INFO    ] ================================================
[2026-08-29 02:45:34,241.241 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:45:34
[2026-08-29 02:45:34,553.553 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:45:34,692.692 INFO    ] Initializing speech engine...
[2026-08-29 02:45:34,703.703 INFO    ] 2026-08-29 02:45:34
[2026-08-29 02:45:34,908.908 INFO    ] 2026-08-29 02:45:34
[2026-08-29 02:45:34,936.936 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:45:35,101.101 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:45:35,125.125 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:45:35,257.257 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:45:35,303.303 INFO    ] time= 29/08/2026 02:45:35
[2026-08-29 02:45:35,337.337 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:45:35,358.358 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:45:35,430.430 INFO    ] No existing commands found in stream
[2026-08-29 02:45:40,441.441 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:45:40,444.444 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-08-29 02:45:43,491.491 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:45:43,492.492 INFO    ] Checking for system updates...
[2026-08-29 02:45:43,513.513 INFO    ] 200
[2026-08-29 02:45:43,515.515 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:45:43,547.547 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:45:43,548.548 INFO    ] No update needed
[2026-08-29 02:45:43,549.549 INFO    ] Checking for camera pi updates...
[2026-08-29 02:45:43,568.568 INFO    ] 200
[2026-08-29 02:45:43,570.570 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:45:43,594.594 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:45:43,679.679 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:45:43,680.680 INFO    ] No camera update needed
[2026-08-29 02:45:43,681.681 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:45:43,683.683 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:45:43,686.686 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:45:43,688.688 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:45:45,727.727 INFO    ] ================================================
[2026-08-29 02:45:45,743.743 INFO    ] Launching Daemon at Sat Aug 29 02:45:45 IST 2026
[2026-08-29 02:45:45,754.754 INFO    ] ================================================
[2026-08-29 02:45:46,110.110 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:45:46
[2026-08-29 02:45:46,426.426 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:45:46,571.571 INFO    ] Initializing speech engine...
[2026-08-29 02:45:46,575.575 INFO    ] 2026-08-29 02:45:46
[2026-08-29 02:45:46,780.780 INFO    ] 2026-08-29 02:45:46
[2026-08-29 02:45:46,808.808 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:45:46,926.926 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:45:46,932.932 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:45:47,087.087 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:45:47,126.126 INFO    ] time= 29/08/2026 02:45:47
[2026-08-29 02:45:47,133.133 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:45:47,154.154 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:45:47,263.263 INFO    ] No existing commands found in stream
[2026-08-29 02:45:52,290.290 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:45:52,293.293 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-08-29 02:45:55,586.586 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:45:55,587.587 INFO    ] Checking for system updates...
[2026-08-29 02:45:55,608.608 INFO    ] 200
[2026-08-29 02:45:55,609.609 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:45:55,640.640 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:45:55,641.641 INFO    ] No update needed
[2026-08-29 02:45:55,643.643 INFO    ] Checking for camera pi updates...
[2026-08-29 02:45:55,664.664 INFO    ] 200
[2026-08-29 02:45:55,665.665 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:45:55,693.693 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:45:55,775.775 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:45:55,777.777 INFO    ] No camera update needed
[2026-08-29 02:45:55,778.778 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:45:55,779.779 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:45:55,783.783 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:45:55,786.786 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:45:57,827.827 INFO    ] ================================================
[2026-08-29 02:45:57,843.843 INFO    ] Launching Daemon at Sat Aug 29 02:45:57 IST 2026
[2026-08-29 02:45:57,854.854 INFO    ] ================================================
[2026-08-29 02:45:58,229.229 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:45:58
[2026-08-29 02:45:58,570.570 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:45:58,722.722 INFO    ] Initializing speech engine...
[2026-08-29 02:45:58,728.728 INFO    ] 2026-08-29 02:45:58
[2026-08-29 02:45:58,939.939 INFO    ] 2026-08-29 02:45:58
[2026-08-29 02:45:58,968.968 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:45:59,114.114 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:45:59,160.160 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:45:59,310.310 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:45:59,365.365 INFO    ] time= 29/08/2026 02:45:59
[2026-08-29 02:45:59,412.412 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:45:59,471.471 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:45:59,589.589 INFO    ] No existing commands found in stream
[2026-08-29 02:46:04,615.615 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:46:04,618.618 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-08-29 02:46:08,530.530 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:46:08,532.532 INFO    ] Checking for system updates...
[2026-08-29 02:46:08,554.554 INFO    ] 200
[2026-08-29 02:46:08,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:46:08,589.589 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:46:08,590.590 INFO    ] No update needed
[2026-08-29 02:46:08,592.592 INFO    ] Checking for camera pi updates...
[2026-08-29 02:46:08,612.612 INFO    ] 200
[2026-08-29 02:46:08,614.614 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:46:08,638.638 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:46:08,738.738 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:46:08,739.739 INFO    ] No camera update needed
[2026-08-29 02:46:08,741.741 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:46:08,742.742 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:46:08,745.745 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:46:08,748.748 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:46:10,787.787 INFO    ] ================================================
[2026-08-29 02:46:10,803.803 INFO    ] Launching Daemon at Sat Aug 29 02:46:10 IST 2026
[2026-08-29 02:46:10,814.814 INFO    ] ================================================
[2026-08-29 02:46:11,181.181 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:46:11
[2026-08-29 02:46:11,493.493 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:46:11,631.631 INFO    ] Initializing speech engine...
[2026-08-29 02:46:11,641.641 INFO    ] 2026-08-29 02:46:11
[2026-08-29 02:46:11,849.849 INFO    ] 2026-08-29 02:46:11
[2026-08-29 02:46:11,877.877 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:46:12,040.040 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:46:12,049.049 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:46:12,212.212 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:46:12,252.252 INFO    ] time= 29/08/2026 02:46:12
[2026-08-29 02:46:12,258.258 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:46:12,277.277 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:46:12,379.379 INFO    ] No existing commands found in stream
[2026-08-29 02:46:17,409.409 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:46:17,412.412 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-08-29 02:46:21,611.611 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:46:21,613.613 INFO    ] Checking for system updates...
[2026-08-29 02:46:21,634.634 INFO    ] 200
[2026-08-29 02:46:21,636.636 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:46:21,665.665 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:46:21,666.666 INFO    ] No update needed
[2026-08-29 02:46:21,668.668 INFO    ] Checking for camera pi updates...
[2026-08-29 02:46:21,687.687 INFO    ] 200
[2026-08-29 02:46:21,688.688 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:46:21,711.711 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:46:21,788.788 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:46:21,789.789 INFO    ] No camera update needed
[2026-08-29 02:46:21,791.791 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:46:21,792.792 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:46:21,796.796 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:46:21,799.799 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:46:23,842.842 INFO    ] ================================================
[2026-08-29 02:46:23,858.858 INFO    ] Launching Daemon at Sat Aug 29 02:46:23 IST 2026
[2026-08-29 02:46:23,869.869 INFO    ] ================================================
[2026-08-29 02:46:24,200.200 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:46:24
[2026-08-29 02:46:24,512.512 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:46:24,646.646 INFO    ] Initializing speech engine...
[2026-08-29 02:46:24,654.654 INFO    ] 2026-08-29 02:46:24
[2026-08-29 02:46:24,878.878 INFO    ] 2026-08-29 02:46:24
[2026-08-29 02:46:24,908.908 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:46:25,042.042 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:46:25,085.085 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:46:25,191.191 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:46:25,227.227 INFO    ] time= 29/08/2026 02:46:25
[2026-08-29 02:46:25,276.276 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:46:25,333.333 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:46:25,386.386 INFO    ] No existing commands found in stream
[2026-08-29 02:46:30,396.396 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:46:30,398.398 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-08-29 02:46:34,286.286 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:46:34,289.289 INFO    ] Checking for system updates...
[2026-08-29 02:46:34,324.324 INFO    ] 200
[2026-08-29 02:46:34,327.327 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:46:34,385.385 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:46:34,387.387 INFO    ] No update needed
[2026-08-29 02:46:34,390.390 INFO    ] Checking for camera pi updates...
[2026-08-29 02:46:34,423.423 INFO    ] 200
[2026-08-29 02:46:34,425.425 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:46:34,466.466 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:46:34,559.559 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:46:34,561.561 INFO    ] No camera update needed
[2026-08-29 02:46:34,564.564 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:46:34,566.566 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:46:34,571.571 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:46:34,576.576 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:46:36,617.617 INFO    ] ================================================
[2026-08-29 02:46:36,633.633 INFO    ] Launching Daemon at Sat Aug 29 02:46:36 IST 2026
[2026-08-29 02:46:36,644.644 INFO    ] ================================================
[2026-08-29 02:46:37,136.136 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:46:37
[2026-08-29 02:46:37,721.721 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:46:37,980.980 INFO    ] Initializing speech engine...
[2026-08-29 02:46:37,995.995 INFO    ] 2026-08-29 02:46:37
[2026-08-29 02:46:38,251.251 INFO    ] 2026-08-29 02:46:38
[2026-08-29 02:46:38,286.286 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:46:38,461.461 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:46:38,474.474 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:46:38,619.619 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:46:38,627.627 INFO    ] time= 29/08/2026 02:46:38
[2026-08-29 02:46:38,634.634 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:46:38,646.646 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:46:38,771.771 INFO    ] No existing commands found in stream
[2026-08-29 02:46:43,796.796 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:46:43,799.799 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-08-29 02:46:45,758.758 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:46:45,759.759 INFO    ] Checking for system updates...
[2026-08-29 02:46:45,779.779 INFO    ] 200
[2026-08-29 02:46:45,781.781 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:46:45,811.811 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:46:45,813.813 INFO    ] No update needed
[2026-08-29 02:46:45,814.814 INFO    ] Checking for camera pi updates...
[2026-08-29 02:46:45,835.835 INFO    ] 200
[2026-08-29 02:46:45,837.837 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:46:45,860.860 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:46:45,953.953 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:46:45,954.954 INFO    ] No camera update needed
[2026-08-29 02:46:45,955.955 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:46:45,957.957 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:46:45,959.959 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:46:45,962.962 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:46:48,001.001 INFO    ] ================================================
[2026-08-29 02:46:48,017.017 INFO    ] Launching Daemon at Sat Aug 29 02:46:48 IST 2026
[2026-08-29 02:46:48,029.029 INFO    ] ================================================
[2026-08-29 02:46:48,388.388 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:46:48
[2026-08-29 02:46:48,700.700 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:46:48,844.844 INFO    ] Initializing speech engine...
[2026-08-29 02:46:48,848.848 INFO    ] 2026-08-29 02:46:48
[2026-08-29 02:46:49,057.057 INFO    ] 2026-08-29 02:46:49
[2026-08-29 02:46:49,092.092 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:46:49,268.268 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:46:49,281.281 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:46:49,426.426 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:46:49,436.436 INFO    ] time= 29/08/2026 02:46:49
[2026-08-29 02:46:49,442.442 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:46:49,488.488 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:46:49,609.609 INFO    ] No existing commands found in stream
[2026-08-29 02:46:54,634.634 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:46:54,637.637 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-08-29 02:46:55,466.466 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:46:55,468.468 INFO    ] Checking for system updates...
[2026-08-29 02:46:55,488.488 INFO    ] 200
[2026-08-29 02:46:55,490.490 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:46:55,520.520 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:46:55,522.522 INFO    ] No update needed
[2026-08-29 02:46:55,523.523 INFO    ] Checking for camera pi updates...
[2026-08-29 02:46:55,542.542 INFO    ] 200
[2026-08-29 02:46:55,544.544 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:46:55,568.568 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:46:55,678.678 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:46:55,680.680 INFO    ] No camera update needed
[2026-08-29 02:46:55,681.681 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:46:55,683.683 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:46:55,686.686 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:46:55,689.689 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:46:57,729.729 INFO    ] ================================================
[2026-08-29 02:46:57,745.745 INFO    ] Launching Daemon at Sat Aug 29 02:46:57 IST 2026
[2026-08-29 02:46:57,756.756 INFO    ] ================================================
[2026-08-29 02:46:58,109.109 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:46:58
[2026-08-29 02:46:58,419.419 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:46:58,551.551 INFO    ] Initializing speech engine...
[2026-08-29 02:46:58,565.565 INFO    ] 2026-08-29 02:46:58
[2026-08-29 02:46:58,773.773 INFO    ] 2026-08-29 02:46:58
[2026-08-29 02:46:58,801.801 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:46:58,925.925 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:46:58,963.963 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:46:59,120.120 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:46:59,187.187 INFO    ] time= 29/08/2026 02:46:59
[2026-08-29 02:46:59,220.220 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:46:59,227.227 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:46:59,293.293 INFO    ] No existing commands found in stream
[2026-08-29 02:47:04,304.304 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:47:04,306.306 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-08-29 02:47:07,369.369 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:47:07,371.371 INFO    ] Checking for system updates...
[2026-08-29 02:47:07,392.392 INFO    ] 200
[2026-08-29 02:47:07,393.393 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:47:07,423.423 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:47:07,425.425 INFO    ] No update needed
[2026-08-29 02:47:07,426.426 INFO    ] Checking for camera pi updates...
[2026-08-29 02:47:07,446.446 INFO    ] 200
[2026-08-29 02:47:07,447.447 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:47:07,486.486 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:47:07,582.582 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:47:07,584.584 INFO    ] No camera update needed
[2026-08-29 02:47:07,586.586 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:47:07,589.589 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:47:07,594.594 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:47:07,599.599 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:47:09,641.641 INFO    ] ================================================
[2026-08-29 02:47:09,657.657 INFO    ] Launching Daemon at Sat Aug 29 02:47:09 IST 2026
[2026-08-29 02:47:09,668.668 INFO    ] ================================================
[2026-08-29 02:47:10,244.244 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:47:10
[2026-08-29 02:47:10,725.725 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:47:10,867.867 INFO    ] Initializing speech engine...
[2026-08-29 02:47:10,875.875 INFO    ] 2026-08-29 02:47:10
[2026-08-29 02:47:11,097.097 INFO    ] 2026-08-29 02:47:11
[2026-08-29 02:47:11,128.128 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:47:11,263.263 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:47:11,326.326 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:47:11,472.472 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:47:11,530.530 INFO    ] time= 29/08/2026 02:47:11
[2026-08-29 02:47:11,558.558 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:47:11,581.581 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:47:11,658.658 INFO    ] No existing commands found in stream
[2026-08-29 02:47:16,668.668 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:47:16,671.671 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-08-29 02:47:18,020.020 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:47:18,021.021 INFO    ] Checking for system updates...
[2026-08-29 02:47:18,042.042 INFO    ] 200
[2026-08-29 02:47:18,044.044 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:47:18,076.076 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:47:18,078.078 INFO    ] No update needed
[2026-08-29 02:47:18,079.079 INFO    ] Checking for camera pi updates...
[2026-08-29 02:47:18,098.098 INFO    ] 200
[2026-08-29 02:47:18,099.099 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:47:18,123.123 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:47:18,212.212 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:47:18,214.214 INFO    ] No camera update needed
[2026-08-29 02:47:18,216.216 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:47:18,219.219 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:47:18,224.224 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:47:18,229.229 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:47:20,270.270 INFO    ] ================================================
[2026-08-29 02:47:20,287.287 INFO    ] Launching Daemon at Sat Aug 29 02:47:20 IST 2026
[2026-08-29 02:47:20,299.299 INFO    ] ================================================
[2026-08-29 02:47:20,889.889 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:47:20
[2026-08-29 02:47:21,390.390 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:47:21,536.536 INFO    ] Initializing speech engine...
[2026-08-29 02:47:21,541.541 INFO    ] 2026-08-29 02:47:21
[2026-08-29 02:47:21,745.745 INFO    ] 2026-08-29 02:47:21
[2026-08-29 02:47:21,773.773 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:47:21,895.895 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:47:21,958.958 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:47:22,096.096 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:47:22,162.162 INFO    ] time= 29/08/2026 02:47:22
[2026-08-29 02:47:22,186.186 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:47:22,193.193 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:47:22,260.260 INFO    ] No existing commands found in stream
[2026-08-29 02:47:27,269.269 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:47:27,272.272 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-08-29 02:47:30,315.315 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:47:30,317.317 INFO    ] Checking for system updates...
[2026-08-29 02:47:30,340.340 INFO    ] 200
[2026-08-29 02:47:30,341.341 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:47:30,397.397 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:47:30,400.400 INFO    ] No update needed
[2026-08-29 02:47:30,402.402 INFO    ] Checking for camera pi updates...
[2026-08-29 02:47:30,440.440 INFO    ] 200
[2026-08-29 02:47:30,442.442 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:47:30,483.483 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:47:30,661.661 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:47:30,664.664 INFO    ] No camera update needed
[2026-08-29 02:47:30,666.666 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:47:30,669.669 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:47:30,674.674 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:47:30,679.679 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:47:32,720.720 INFO    ] ================================================
[2026-08-29 02:47:32,737.737 INFO    ] Launching Daemon at Sat Aug 29 02:47:32 IST 2026
[2026-08-29 02:47:32,751.751 INFO    ] ================================================
[2026-08-29 02:47:33,417.417 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:47:33
[2026-08-29 02:47:33,762.762 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:47:33,906.906 INFO    ] Initializing speech engine...
[2026-08-29 02:47:33,911.911 INFO    ] 2026-08-29 02:47:33
[2026-08-29 02:47:34,106.106 INFO    ] 2026-08-29 02:47:34
[2026-08-29 02:47:34,173.173 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:47:34,335.335 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:47:34,342.342 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:47:34,532.532 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:47:34,540.540 INFO    ] time= 29/08/2026 02:47:34
[2026-08-29 02:47:34,589.589 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:47:34,644.644 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:47:34,719.719 INFO    ] No existing commands found in stream
[2026-08-29 02:47:39,731.731 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:47:39,734.734 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-08-29 02:47:41,048.048 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:47:41,050.050 INFO    ] Checking for system updates...
[2026-08-29 02:47:41,070.070 INFO    ] 200
[2026-08-29 02:47:41,072.072 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:47:41,102.102 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:47:41,104.104 INFO    ] No update needed
[2026-08-29 02:47:41,105.105 INFO    ] Checking for camera pi updates...
[2026-08-29 02:47:41,126.126 INFO    ] 200
[2026-08-29 02:47:41,127.127 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:47:41,150.150 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:47:41,201.201 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:47:41,202.202 INFO    ] No camera update needed
[2026-08-29 02:47:41,203.203 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:47:41,205.205 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:47:41,207.207 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:47:41,210.210 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:47:43,248.248 INFO    ] ================================================
[2026-08-29 02:47:43,264.264 INFO    ] Launching Daemon at Sat Aug 29 02:47:43 IST 2026
[2026-08-29 02:47:43,275.275 INFO    ] ================================================
[2026-08-29 02:47:43,943.943 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:47:43
[2026-08-29 02:47:44,450.450 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:47:44,596.596 INFO    ] Initializing speech engine...
[2026-08-29 02:47:44,604.604 INFO    ] 2026-08-29 02:47:44
[2026-08-29 02:47:44,815.815 INFO    ] 2026-08-29 02:47:44
[2026-08-29 02:47:44,845.845 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:47:44,967.967 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:47:45,031.031 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:47:45,169.169 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:47:45,238.238 INFO    ] time= 29/08/2026 02:47:45
[2026-08-29 02:47:45,261.261 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:47:45,268.268 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:47:45,335.335 INFO    ] No existing commands found in stream
[2026-08-29 02:47:50,344.344 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:47:50,348.348 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-08-29 02:47:52,375.375 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:47:52,376.376 INFO    ] Checking for system updates...
[2026-08-29 02:47:52,397.397 INFO    ] 200
[2026-08-29 02:47:52,399.399 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:47:52,432.432 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:47:52,433.433 INFO    ] No update needed
[2026-08-29 02:47:52,435.435 INFO    ] Checking for camera pi updates...
[2026-08-29 02:47:52,456.456 INFO    ] 200
[2026-08-29 02:47:52,457.457 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:47:52,483.483 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:47:52,564.564 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:47:52,566.566 INFO    ] No camera update needed
[2026-08-29 02:47:52,567.567 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:47:52,569.569 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:47:52,572.572 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:47:52,575.575 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:47:54,614.614 INFO    ] ================================================
[2026-08-29 02:47:54,630.630 INFO    ] Launching Daemon at Sat Aug 29 02:47:54 IST 2026
[2026-08-29 02:47:54,640.640 INFO    ] ================================================
[2026-08-29 02:47:55,003.003 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:47:55
[2026-08-29 02:47:55,316.316 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:47:55,506.506 INFO    ] Initializing speech engine...
[2026-08-29 02:47:55,515.515 INFO    ] 2026-08-29 02:47:55
[2026-08-29 02:47:55,817.817 INFO    ] 2026-08-29 02:47:55
[2026-08-29 02:47:55,905.905 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:47:56,057.057 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:47:56,067.067 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:47:56,206.206 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:47:56,240.240 INFO    ] time= 29/08/2026 02:47:56
[2026-08-29 02:47:56,294.294 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:47:56,343.343 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:47:56,402.402 INFO    ] No existing commands found in stream
[2026-08-29 02:48:01,414.414 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:48:01,417.417 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-08-29 02:48:02,413.413 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:48:02,416.416 INFO    ] Checking for system updates...
[2026-08-29 02:48:02,468.468 INFO    ] 200
[2026-08-29 02:48:02,471.471 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:48:02,537.537 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:48:02,540.540 INFO    ] No update needed
[2026-08-29 02:48:02,544.544 INFO    ] Checking for camera pi updates...
[2026-08-29 02:48:02,585.585 INFO    ] 200
[2026-08-29 02:48:02,588.588 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:48:02,642.642 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:48:02,708.708 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:48:02,711.711 INFO    ] No camera update needed
[2026-08-29 02:48:02,714.714 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:48:02,717.717 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:48:02,724.724 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:48:02,730.730 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:48:04,772.772 INFO    ] ================================================
[2026-08-29 02:48:04,787.787 INFO    ] Launching Daemon at Sat Aug 29 02:48:04 IST 2026
[2026-08-29 02:48:04,798.798 INFO    ] ================================================
[2026-08-29 02:48:05,211.211 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:48:05
[2026-08-29 02:48:05,832.832 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:48:06,135.135 INFO    ] Initializing speech engine...
[2026-08-29 02:48:06,146.146 INFO    ] 2026-08-29 02:48:06
[2026-08-29 02:48:06,421.421 INFO    ] 2026-08-29 02:48:06
[2026-08-29 02:48:06,458.458 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:48:06,696.696 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:48:06,705.705 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:48:06,837.837 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:48:06,859.859 INFO    ] time= 29/08/2026 02:48:06
[2026-08-29 02:48:06,913.913 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:48:06,970.970 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:48:07,023.023 INFO    ] No existing commands found in stream
[2026-08-29 02:48:12,035.035 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:48:12,038.038 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-08-29 02:48:13,875.875 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:48:13,876.876 INFO    ] Checking for system updates...
[2026-08-29 02:48:13,897.897 INFO    ] 200
[2026-08-29 02:48:13,899.899 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:48:13,930.930 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:48:13,931.931 INFO    ] No update needed
[2026-08-29 02:48:13,933.933 INFO    ] Checking for camera pi updates...
[2026-08-29 02:48:13,952.952 INFO    ] 200
[2026-08-29 02:48:13,954.954 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:48:13,978.978 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:48:14,060.060 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:48:14,061.061 INFO    ] No camera update needed
[2026-08-29 02:48:14,062.062 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:48:14,064.064 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:48:14,067.067 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:48:14,069.069 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:48:16,108.108 INFO    ] ================================================
[2026-08-29 02:48:16,124.124 INFO    ] Launching Daemon at Sat Aug 29 02:48:16 IST 2026
[2026-08-29 02:48:16,134.134 INFO    ] ================================================
[2026-08-29 02:48:16,479.479 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:48:16
[2026-08-29 02:48:16,798.798 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:48:16,946.946 INFO    ] Initializing speech engine...
[2026-08-29 02:48:16,956.956 INFO    ] 2026-08-29 02:48:16
[2026-08-29 02:48:17,210.210 INFO    ] 2026-08-29 02:48:17
[2026-08-29 02:48:17,246.246 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:48:17,419.419 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:48:17,432.432 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:48:17,577.577 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:48:17,582.582 INFO    ] time= 29/08/2026 02:48:17
[2026-08-29 02:48:17,588.588 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:48:17,625.625 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:48:17,762.762 INFO    ] No existing commands found in stream
[2026-08-29 02:48:22,790.790 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:48:22,793.793 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-08-29 02:48:24,922.922 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:48:24,924.924 INFO    ] Checking for system updates...
[2026-08-29 02:48:24,945.945 INFO    ] 200
[2026-08-29 02:48:24,946.946 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:48:24,980.980 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:48:24,981.981 INFO    ] No update needed
[2026-08-29 02:48:24,983.983 INFO    ] Checking for camera pi updates...
[2026-08-29 02:48:25,002.002 INFO    ] 200
[2026-08-29 02:48:25,004.004 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:48:25,027.027 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:48:25,106.106 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:48:25,107.107 INFO    ] No camera update needed
[2026-08-29 02:48:25,108.108 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:48:25,109.109 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:48:25,113.113 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:48:25,115.115 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:48:27,156.156 INFO    ] ================================================
[2026-08-29 02:48:27,171.171 INFO    ] Launching Daemon at Sat Aug 29 02:48:27 IST 2026
[2026-08-29 02:48:27,183.183 INFO    ] ================================================
[2026-08-29 02:48:27,532.532 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:48:27
[2026-08-29 02:48:27,870.870 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:48:28,020.020 INFO    ] Initializing speech engine...
[2026-08-29 02:48:28,026.026 INFO    ] 2026-08-29 02:48:28
[2026-08-29 02:48:28,310.310 INFO    ] 2026-08-29 02:48:28
[2026-08-29 02:48:28,355.355 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:48:28,575.575 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:48:28,584.584 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:48:28,720.720 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:48:28,780.780 INFO    ] time= 29/08/2026 02:48:28
[2026-08-29 02:48:28,845.845 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:48:28,855.855 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:48:28,972.972 INFO    ] No existing commands found in stream
[2026-08-29 02:48:34,009.009 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:48:34,012.012 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-08-29 02:48:36,830.830 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:48:36,832.832 INFO    ] Checking for system updates...
[2026-08-29 02:48:36,854.854 INFO    ] 200
[2026-08-29 02:48:36,855.855 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:48:36,887.887 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:48:36,888.888 INFO    ] No update needed
[2026-08-29 02:48:36,889.889 INFO    ] Checking for camera pi updates...
[2026-08-29 02:48:36,908.908 INFO    ] 200
[2026-08-29 02:48:36,910.910 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:48:36,933.933 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:48:37,013.013 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:48:37,014.014 INFO    ] No camera update needed
[2026-08-29 02:48:37,015.015 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:48:37,017.017 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:48:37,019.019 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:48:37,022.022 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:48:39,061.061 INFO    ] ================================================
[2026-08-29 02:48:39,077.077 INFO    ] Launching Daemon at Sat Aug 29 02:48:39 IST 2026
[2026-08-29 02:48:39,088.088 INFO    ] ================================================
[2026-08-29 02:48:39,605.605 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:48:39
[2026-08-29 02:48:40,193.193 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:48:40,443.443 INFO    ] Initializing speech engine...
[2026-08-29 02:48:40,467.467 INFO    ] 2026-08-29 02:48:40
[2026-08-29 02:48:40,737.737 INFO    ] 2026-08-29 02:48:40
[2026-08-29 02:48:40,781.781 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:48:40,954.954 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:48:40,966.966 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:48:41,113.113 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:48:41,122.122 INFO    ] time= 29/08/2026 02:48:41
[2026-08-29 02:48:41,133.133 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:48:41,188.188 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:48:41,300.300 INFO    ] No existing commands found in stream
[2026-08-29 02:48:46,325.325 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:48:46,326.326 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-08-29 02:48:49,393.393 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:48:49,395.395 INFO    ] Checking for system updates...
[2026-08-29 02:48:49,417.417 INFO    ] 200
[2026-08-29 02:48:49,420.420 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:48:49,478.478 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:48:49,481.481 INFO    ] No update needed
[2026-08-29 02:48:49,483.483 INFO    ] Checking for camera pi updates...
[2026-08-29 02:48:49,521.521 INFO    ] 200
[2026-08-29 02:48:49,523.523 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:48:49,564.564 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:48:49,656.656 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:48:49,659.659 INFO    ] No camera update needed
[2026-08-29 02:48:49,661.661 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:48:49,663.663 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:48:49,669.669 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:48:49,674.674 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:48:51,716.716 INFO    ] ================================================
[2026-08-29 02:48:51,733.733 INFO    ] Launching Daemon at Sat Aug 29 02:48:51 IST 2026
[2026-08-29 02:48:51,743.743 INFO    ] ================================================
[2026-08-29 02:48:52,334.334 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:48:52
[2026-08-29 02:48:52,653.653 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:48:52,791.791 INFO    ] Initializing speech engine...
[2026-08-29 02:48:52,801.801 INFO    ] 2026-08-29 02:48:52
[2026-08-29 02:48:53,011.011 INFO    ] 2026-08-29 02:48:52
[2026-08-29 02:48:53,071.071 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:48:53,242.242 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:48:53,248.248 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:48:53,441.441 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:48:53,482.482 INFO    ] time= 29/08/2026 02:48:53
[2026-08-29 02:48:53,489.489 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:48:53,507.507 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:48:53,622.622 INFO    ] No existing commands found in stream
[2026-08-29 02:48:58,646.646 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:48:58,649.649 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-08-29 02:49:02,971.971 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:49:02,974.974 INFO    ] Checking for system updates...
[2026-08-29 02:49:03,028.028 INFO    ] 200
[2026-08-29 02:49:03,031.031 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:49:03,103.103 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:49:03,106.106 INFO    ] No update needed
[2026-08-29 02:49:03,110.110 INFO    ] Checking for camera pi updates...
[2026-08-29 02:49:03,157.157 INFO    ] 200
[2026-08-29 02:49:03,160.160 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:49:03,219.219 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:49:03,307.307 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:49:03,310.310 INFO    ] No camera update needed
[2026-08-29 02:49:03,314.314 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:49:03,318.318 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:49:03,326.326 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:49:03,333.333 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:49:05,375.375 INFO    ] ================================================
[2026-08-29 02:49:05,392.392 INFO    ] Launching Daemon at Sat Aug 29 02:49:05 IST 2026
[2026-08-29 02:49:05,403.403 INFO    ] ================================================
[2026-08-29 02:49:05,775.775 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:49:05
[2026-08-29 02:49:06,108.108 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:49:06,261.261 INFO    ] Initializing speech engine...
[2026-08-29 02:49:06,265.265 INFO    ] 2026-08-29 02:49:06
[2026-08-29 02:49:06,477.477 INFO    ] 2026-08-29 02:49:06
[2026-08-29 02:49:06,508.508 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:49:06,662.662 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:49:06,666.666 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:49:06,796.796 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:49:06,843.843 INFO    ] time= 29/08/2026 02:49:06
[2026-08-29 02:49:06,897.897 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:49:06,930.930 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:49:06,981.981 INFO    ] No existing commands found in stream
[2026-08-29 02:49:11,993.993 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:49:11,996.996 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-08-29 02:49:15,026.026 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:49:15,029.029 INFO    ] Checking for system updates...
[2026-08-29 02:49:15,064.064 INFO    ] 200
[2026-08-29 02:49:15,067.067 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:49:15,123.123 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:49:15,125.125 INFO    ] No update needed
[2026-08-29 02:49:15,127.127 INFO    ] Checking for camera pi updates...
[2026-08-29 02:49:15,161.161 INFO    ] 200
[2026-08-29 02:49:15,164.164 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:49:15,207.207 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:49:15,291.291 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:49:15,294.294 INFO    ] No camera update needed
[2026-08-29 02:49:15,296.296 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:49:15,298.298 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:49:15,303.303 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:49:15,308.308 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:49:17,347.347 INFO    ] ================================================
[2026-08-29 02:49:17,363.363 INFO    ] Launching Daemon at Sat Aug 29 02:49:17 IST 2026
[2026-08-29 02:49:17,374.374 INFO    ] ================================================
[2026-08-29 02:49:17,698.698 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:49:17
[2026-08-29 02:49:18,010.010 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:49:18,154.154 INFO    ] Initializing speech engine...
[2026-08-29 02:49:18,159.159 INFO    ] 2026-08-29 02:49:18
[2026-08-29 02:49:18,364.364 INFO    ] 2026-08-29 02:49:18
[2026-08-29 02:49:18,394.394 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:49:18,562.562 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:49:18,568.568 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:49:18,701.701 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:49:18,708.708 INFO    ] time= 29/08/2026 02:49:18
[2026-08-29 02:49:18,729.729 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:49:18,748.748 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:49:18,854.854 INFO    ] No existing commands found in stream
[2026-08-29 02:49:23,876.876 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:49:23,879.879 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-08-29 02:49:26,039.039 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:49:26,040.040 INFO    ] Checking for system updates...
[2026-08-29 02:49:26,061.061 INFO    ] 200
[2026-08-29 02:49:26,062.062 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:49:26,093.093 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:49:26,094.094 INFO    ] No update needed
[2026-08-29 02:49:26,096.096 INFO    ] Checking for camera pi updates...
[2026-08-29 02:49:26,115.115 INFO    ] 200
[2026-08-29 02:49:26,116.116 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:49:26,142.142 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:49:26,227.227 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:49:26,229.229 INFO    ] No camera update needed
[2026-08-29 02:49:26,232.232 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:49:26,234.234 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:49:26,240.240 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:49:26,246.246 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:49:28,287.287 INFO    ] ================================================
[2026-08-29 02:49:28,303.303 INFO    ] Launching Daemon at Sat Aug 29 02:49:28 IST 2026
[2026-08-29 02:49:28,314.314 INFO    ] ================================================
[2026-08-29 02:49:28,894.894 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:49:28
[2026-08-29 02:49:29,386.386 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:49:29,518.518 INFO    ] Initializing speech engine...
[2026-08-29 02:49:29,522.522 INFO    ] 2026-08-29 02:49:29
[2026-08-29 02:49:29,732.732 INFO    ] 2026-08-29 02:49:29
[2026-08-29 02:49:29,811.811 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:49:29,958.958 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:49:29,968.968 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:49:30,100.100 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:49:30,147.147 INFO    ] time= 29/08/2026 02:49:30
[2026-08-29 02:49:30,206.206 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:49:30,236.236 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:49:30,291.291 INFO    ] No existing commands found in stream
[2026-08-29 02:49:35,302.302 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:49:35,305.305 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-08-29 02:49:38,177.177 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:49:38,179.179 INFO    ] Checking for system updates...
[2026-08-29 02:49:38,201.201 INFO    ] 200
[2026-08-29 02:49:38,203.203 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:49:38,234.234 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:49:38,236.236 INFO    ] No update needed
[2026-08-29 02:49:38,237.237 INFO    ] Checking for camera pi updates...
[2026-08-29 02:49:38,257.257 INFO    ] 200
[2026-08-29 02:49:38,258.258 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:49:38,283.283 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:49:38,361.361 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:49:38,362.362 INFO    ] No camera update needed
[2026-08-29 02:49:38,364.364 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:49:38,365.365 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:49:38,368.368 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:49:38,370.370 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:49:40,410.410 INFO    ] ================================================
[2026-08-29 02:49:40,426.426 INFO    ] Launching Daemon at Sat Aug 29 02:49:40 IST 2026
[2026-08-29 02:49:40,437.437 INFO    ] ================================================
[2026-08-29 02:49:40,796.796 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:49:40
[2026-08-29 02:49:41,116.116 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:49:41,261.261 INFO    ] Initializing speech engine...
[2026-08-29 02:49:41,267.267 INFO    ] 2026-08-29 02:49:41
[2026-08-29 02:49:41,478.478 INFO    ] 2026-08-29 02:49:41
[2026-08-29 02:49:41,508.508 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:49:41,636.636 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:49:41,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:49:41,840.840 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:49:41,897.897 INFO    ] time= 29/08/2026 02:49:41
[2026-08-29 02:49:41,934.934 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:49:41,945.945 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:49:42,019.019 INFO    ] No existing commands found in stream
[2026-08-29 02:49:47,030.030 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:49:47,033.033 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-08-29 02:49:49,598.598 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:49:49,600.600 INFO    ] Checking for system updates...
[2026-08-29 02:49:49,620.620 INFO    ] 200
[2026-08-29 02:49:49,622.622 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:49:49,652.652 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:49:49,653.653 INFO    ] No update needed
[2026-08-29 02:49:49,655.655 INFO    ] Checking for camera pi updates...
[2026-08-29 02:49:49,674.674 INFO    ] 200
[2026-08-29 02:49:49,675.675 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:49:49,698.698 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:49:49,776.776 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:49:49,779.779 INFO    ] No camera update needed
[2026-08-29 02:49:49,782.782 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:49:49,784.784 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:49:49,790.790 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:49:49,795.795 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:49:51,835.835 INFO    ] ================================================
[2026-08-29 02:49:51,851.851 INFO    ] Launching Daemon at Sat Aug 29 02:49:51 IST 2026
[2026-08-29 02:49:51,862.862 INFO    ] ================================================
[2026-08-29 02:49:52,429.429 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:49:52
[2026-08-29 02:49:52,897.897 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:49:53,028.028 INFO    ] Initializing speech engine...
[2026-08-29 02:49:53,032.032 INFO    ] 2026-08-29 02:49:53
[2026-08-29 02:49:53,257.257 INFO    ] 2026-08-29 02:49:53
[2026-08-29 02:49:53,287.287 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:49:53,415.415 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:49:53,438.438 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:49:53,584.584 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:49:53,622.622 INFO    ] time= 29/08/2026 02:49:53
[2026-08-29 02:49:53,683.683 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:49:53,721.721 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:49:53,799.799 INFO    ] No existing commands found in stream
[2026-08-29 02:49:58,809.809 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:49:58,812.812 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-08-29 02:50:05,308.308 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:50:05,310.310 INFO    ] Checking for system updates...
[2026-08-29 02:50:05,330.330 INFO    ] 200
[2026-08-29 02:50:05,331.331 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:50:05,365.365 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:50:05,366.366 INFO    ] No update needed
[2026-08-29 02:50:05,367.367 INFO    ] Checking for camera pi updates...
[2026-08-29 02:50:05,387.387 INFO    ] 200
[2026-08-29 02:50:05,389.389 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:50:05,413.413 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:50:05,506.506 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:50:05,507.507 INFO    ] No camera update needed
[2026-08-29 02:50:05,508.508 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:50:05,509.509 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:50:05,512.512 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:50:05,515.515 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:50:07,555.555 INFO    ] ================================================
[2026-08-29 02:50:07,571.571 INFO    ] Launching Daemon at Sat Aug 29 02:50:07 IST 2026
[2026-08-29 02:50:07,582.582 INFO    ] ================================================
[2026-08-29 02:50:07,940.940 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:50:07
[2026-08-29 02:50:08,252.252 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:50:08,390.390 INFO    ] Initializing speech engine...
[2026-08-29 02:50:08,399.399 INFO    ] 2026-08-29 02:50:08
[2026-08-29 02:50:08,583.583 INFO    ] 2026-08-29 02:50:08
[2026-08-29 02:50:08,616.616 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:50:08,774.774 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:50:08,777.777 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:50:08,874.874 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:50:08,885.885 INFO    ] time= 29/08/2026 02:50:08
[2026-08-29 02:50:08,890.890 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:50:08,895.895 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:50:08,958.958 INFO    ] No existing commands found in stream
[2026-08-29 02:50:13,969.969 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:50:13,972.972 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-08-29 02:50:16,024.024 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:50:16,026.026 INFO    ] Checking for system updates...
[2026-08-29 02:50:16,047.047 INFO    ] 200
[2026-08-29 02:50:16,048.048 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:50:16,078.078 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:50:16,079.079 INFO    ] No update needed
[2026-08-29 02:50:16,081.081 INFO    ] Checking for camera pi updates...
[2026-08-29 02:50:16,100.100 INFO    ] 200
[2026-08-29 02:50:16,101.101 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:50:16,124.124 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:50:16,203.203 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:50:16,204.204 INFO    ] No camera update needed
[2026-08-29 02:50:16,205.205 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:50:16,207.207 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:50:16,209.209 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:50:16,212.212 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:50:18,253.253 INFO    ] ================================================
[2026-08-29 02:50:18,269.269 INFO    ] Launching Daemon at Sat Aug 29 02:50:18 IST 2026
[2026-08-29 02:50:18,280.280 INFO    ] ================================================
[2026-08-29 02:50:18,626.626 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:50:18
[2026-08-29 02:50:18,959.959 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:50:19,108.108 INFO    ] Initializing speech engine...
[2026-08-29 02:50:19,114.114 INFO    ] 2026-08-29 02:50:19
[2026-08-29 02:50:19,320.320 INFO    ] 2026-08-29 02:50:19
[2026-08-29 02:50:19,349.349 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:50:19,488.488 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:50:19,537.537 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:50:19,694.694 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:50:19,742.742 INFO    ] time= 29/08/2026 02:50:19
[2026-08-29 02:50:19,764.764 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:50:19,771.771 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:50:19,838.838 INFO    ] No existing commands found in stream
[2026-08-29 02:50:24,847.847 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:50:24,850.850 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-08-29 02:50:28,298.298 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:50:28,301.301 INFO    ] Checking for system updates...
[2026-08-29 02:50:28,338.338 INFO    ] 200
[2026-08-29 02:50:28,341.341 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:50:28,396.396 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:50:28,399.399 INFO    ] No update needed
[2026-08-29 02:50:28,401.401 INFO    ] Checking for camera pi updates...
[2026-08-29 02:50:28,436.436 INFO    ] 200
[2026-08-29 02:50:28,439.439 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:50:28,480.480 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:50:28,563.563 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:50:28,566.566 INFO    ] No camera update needed
[2026-08-29 02:50:28,569.569 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:50:28,571.571 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:50:28,577.577 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:50:28,583.583 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:50:30,624.624 INFO    ] ================================================
[2026-08-29 02:50:30,640.640 INFO    ] Launching Daemon at Sat Aug 29 02:50:30 IST 2026
[2026-08-29 02:50:30,650.650 INFO    ] ================================================
[2026-08-29 02:50:30,987.987 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:50:30
[2026-08-29 02:50:31,299.299 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:50:31,443.443 INFO    ] Initializing speech engine...
[2026-08-29 02:50:31,449.449 INFO    ] 2026-08-29 02:50:31
[2026-08-29 02:50:31,649.649 INFO    ] 2026-08-29 02:50:31
[2026-08-29 02:50:31,714.714 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:50:31,907.907 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:50:31,916.916 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:50:32,061.061 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:50:32,094.094 INFO    ] time= 29/08/2026 02:50:32
[2026-08-29 02:50:32,154.154 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:50:32,205.205 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:50:32,261.261 INFO    ] No existing commands found in stream
[2026-08-29 02:50:37,272.272 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:50:37,275.275 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 02:50:40,761.761 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:50:40,762.762 INFO    ] Checking for system updates...
[2026-08-29 02:50:40,783.783 INFO    ] 200
[2026-08-29 02:50:40,785.785 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:50:40,816.816 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:50:40,817.817 INFO    ] No update needed
[2026-08-29 02:50:40,818.818 INFO    ] Checking for camera pi updates...
[2026-08-29 02:50:40,838.838 INFO    ] 200
[2026-08-29 02:50:40,839.839 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:50:40,862.862 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:50:40,972.972 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:50:40,974.974 INFO    ] No camera update needed
[2026-08-29 02:50:40,975.975 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:50:40,976.976 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:50:40,979.979 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:50:40,981.981 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:50:43,024.024 INFO    ] ================================================
[2026-08-29 02:50:43,040.040 INFO    ] Launching Daemon at Sat Aug 29 02:50:43 IST 2026
[2026-08-29 02:50:43,051.051 INFO    ] ================================================
[2026-08-29 02:50:43,398.398 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:50:43
[2026-08-29 02:50:43,727.727 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:50:43,877.877 INFO    ] Initializing speech engine...
[2026-08-29 02:50:43,882.882 INFO    ] 2026-08-29 02:50:43
[2026-08-29 02:50:44,090.090 INFO    ] 2026-08-29 02:50:44
[2026-08-29 02:50:44,120.120 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:50:44,245.245 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:50:44,287.287 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:50:44,441.441 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:50:44,508.508 INFO    ] time= 29/08/2026 02:50:44
[2026-08-29 02:50:44,541.541 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:50:44,548.548 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:50:44,615.615 INFO    ] No existing commands found in stream
[2026-08-29 02:50:49,626.626 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:50:49,629.629 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-08-29 02:50:53,642.642 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:50:53,643.643 INFO    ] Checking for system updates...
[2026-08-29 02:50:53,664.664 INFO    ] 200
[2026-08-29 02:50:53,665.665 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:50:53,695.695 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:50:53,696.696 INFO    ] No update needed
[2026-08-29 02:50:53,697.697 INFO    ] Checking for camera pi updates...
[2026-08-29 02:50:53,716.716 INFO    ] 200
[2026-08-29 02:50:53,717.717 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:50:53,742.742 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:50:53,822.822 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:50:53,823.823 INFO    ] No camera update needed
[2026-08-29 02:50:53,825.825 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:50:53,826.826 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:50:53,829.829 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:50:53,831.831 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:50:55,870.870 INFO    ] ================================================
[2026-08-29 02:50:55,885.885 INFO    ] Launching Daemon at Sat Aug 29 02:50:55 IST 2026
[2026-08-29 02:50:55,896.896 INFO    ] ================================================
[2026-08-29 02:50:56,298.298 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:50:56
[2026-08-29 02:50:56,899.899 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:50:57,177.177 INFO    ] Initializing speech engine...
[2026-08-29 02:50:57,186.186 INFO    ] 2026-08-29 02:50:57
[2026-08-29 02:50:57,447.447 INFO    ] 2026-08-29 02:50:57
[2026-08-29 02:50:57,477.477 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:50:57,642.642 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:50:57,654.654 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:50:57,790.790 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:50:57,803.803 INFO    ] time= 29/08/2026 02:50:57
[2026-08-29 02:50:57,810.810 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:50:57,841.841 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:50:57,954.954 INFO    ] No existing commands found in stream
[2026-08-29 02:51:02,985.985 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:51:02,988.988 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-08-29 02:51:05,801.801 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:51:05,802.802 INFO    ] Checking for system updates...
[2026-08-29 02:51:05,823.823 INFO    ] 200
[2026-08-29 02:51:05,825.825 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:51:05,855.855 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:51:05,856.856 INFO    ] No update needed
[2026-08-29 02:51:05,858.858 INFO    ] Checking for camera pi updates...
[2026-08-29 02:51:05,877.877 INFO    ] 200
[2026-08-29 02:51:05,878.878 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:51:05,901.901 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:51:05,978.978 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:51:05,979.979 INFO    ] No camera update needed
[2026-08-29 02:51:05,981.981 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:51:05,982.982 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:51:05,985.985 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:51:05,988.988 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:51:08,030.030 INFO    ] ================================================
[2026-08-29 02:51:08,052.052 INFO    ] Launching Daemon at Sat Aug 29 02:51:08 IST 2026
[2026-08-29 02:51:08,064.064 INFO    ] ================================================
[2026-08-29 02:51:08,602.602 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:51:08
[2026-08-29 02:51:09,202.202 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:51:09,458.458 INFO    ] Initializing speech engine...
[2026-08-29 02:51:09,480.480 INFO    ] 2026-08-29 02:51:09
[2026-08-29 02:51:09,735.735 INFO    ] 2026-08-29 02:51:09
[2026-08-29 02:51:09,771.771 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:51:09,966.966 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:51:09,972.972 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:51:10,109.109 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:51:10,129.129 INFO    ] time= 29/08/2026 02:51:10
[2026-08-29 02:51:10,152.152 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:51:10,160.160 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:51:10,241.241 INFO    ] No existing commands found in stream
[2026-08-29 02:51:15,261.261 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:51:15,265.265 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-08-29 02:51:18,165.165 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:51:18,166.166 INFO    ] Checking for system updates...
[2026-08-29 02:51:18,188.188 INFO    ] 200
[2026-08-29 02:51:18,189.189 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:51:18,221.221 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:51:18,223.223 INFO    ] No update needed
[2026-08-29 02:51:18,224.224 INFO    ] Checking for camera pi updates...
[2026-08-29 02:51:18,243.243 INFO    ] 200
[2026-08-29 02:51:18,245.245 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:51:18,269.269 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:51:18,372.372 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:51:18,374.374 INFO    ] No camera update needed
[2026-08-29 02:51:18,375.375 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:51:18,376.376 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:51:18,379.379 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:51:18,382.382 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:51:20,423.423 INFO    ] ================================================
[2026-08-29 02:51:20,439.439 INFO    ] Launching Daemon at Sat Aug 29 02:51:20 IST 2026
[2026-08-29 02:51:20,450.450 INFO    ] ================================================
[2026-08-29 02:51:20,808.808 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:51:20
[2026-08-29 02:51:21,125.125 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:51:21,275.275 INFO    ] Initializing speech engine...
[2026-08-29 02:51:21,281.281 INFO    ] 2026-08-29 02:51:21
[2026-08-29 02:51:21,485.485 INFO    ] 2026-08-29 02:51:21
[2026-08-29 02:51:21,514.514 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:51:21,646.646 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:51:21,698.698 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:51:21,828.828 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:51:21,879.879 INFO    ] time= 29/08/2026 02:51:21
[2026-08-29 02:51:21,912.912 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:51:21,928.928 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:51:22,000.000 INFO    ] No existing commands found in stream
[2026-08-29 02:51:27,009.009 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:51:27,012.012 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-08-29 02:51:28,126.126 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:51:28,127.127 INFO    ] Checking for system updates...
[2026-08-29 02:51:28,147.147 INFO    ] 200
[2026-08-29 02:51:28,149.149 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:51:28,178.178 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:51:28,180.180 INFO    ] No update needed
[2026-08-29 02:51:28,181.181 INFO    ] Checking for camera pi updates...
[2026-08-29 02:51:28,200.200 INFO    ] 200
[2026-08-29 02:51:28,201.201 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:51:28,224.224 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:51:28,336.336 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:51:28,337.337 INFO    ] No camera update needed
[2026-08-29 02:51:28,338.338 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:51:28,340.340 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:51:28,343.343 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:51:28,345.345 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:51:30,383.383 INFO    ] ================================================
[2026-08-29 02:51:30,399.399 INFO    ] Launching Daemon at Sat Aug 29 02:51:30 IST 2026
[2026-08-29 02:51:30,410.410 INFO    ] ================================================
[2026-08-29 02:51:30,760.760 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:51:30
[2026-08-29 02:51:31,077.077 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:51:31,215.215 INFO    ] Initializing speech engine...
[2026-08-29 02:51:31,228.228 INFO    ] 2026-08-29 02:51:31
[2026-08-29 02:51:31,461.461 INFO    ] 2026-08-29 02:51:31
[2026-08-29 02:51:31,497.497 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:51:31,691.691 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:51:31,699.699 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:51:31,823.823 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:51:31,852.852 INFO    ] time= 29/08/2026 02:51:31
[2026-08-29 02:51:31,860.860 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:51:31,867.867 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:51:31,992.992 INFO    ] No existing commands found in stream
[2026-08-29 02:51:37,002.002 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:51:37,005.005 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-08-29 02:51:39,584.584 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:51:39,586.586 INFO    ] Checking for system updates...
[2026-08-29 02:51:39,606.606 INFO    ] 200
[2026-08-29 02:51:39,607.607 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:51:39,637.637 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:51:39,638.638 INFO    ] No update needed
[2026-08-29 02:51:39,640.640 INFO    ] Checking for camera pi updates...
[2026-08-29 02:51:39,659.659 INFO    ] 200
[2026-08-29 02:51:39,660.660 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:51:39,685.685 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:51:39,861.861 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:51:39,863.863 INFO    ] No camera update needed
[2026-08-29 02:51:39,864.864 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:51:39,865.865 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:51:39,868.868 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:51:39,871.871 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:51:41,911.911 INFO    ] ================================================
[2026-08-29 02:51:41,926.926 INFO    ] Launching Daemon at Sat Aug 29 02:51:41 IST 2026
[2026-08-29 02:51:41,937.937 INFO    ] ================================================
[2026-08-29 02:51:42,268.268 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:51:42
[2026-08-29 02:51:42,586.586 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:51:42,730.730 INFO    ] Initializing speech engine...
[2026-08-29 02:51:42,735.735 INFO    ] 2026-08-29 02:51:42
[2026-08-29 02:51:42,940.940 INFO    ] 2026-08-29 02:51:42
[2026-08-29 02:51:42,969.969 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:51:43,091.091 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:51:43,149.149 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:51:43,284.284 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:51:43,341.341 INFO    ] time= 29/08/2026 02:51:43
[2026-08-29 02:51:43,375.375 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:51:43,386.386 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:51:43,457.457 INFO    ] No existing commands found in stream
[2026-08-29 02:51:48,468.468 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:51:48,470.470 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-08-29 02:51:49,692.692 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:51:49,694.694 INFO    ] Checking for system updates...
[2026-08-29 02:51:49,715.715 INFO    ] 200
[2026-08-29 02:51:49,717.717 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:51:49,749.749 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:51:49,751.751 INFO    ] No update needed
[2026-08-29 02:51:49,752.752 INFO    ] Checking for camera pi updates...
[2026-08-29 02:51:49,773.773 INFO    ] 200
[2026-08-29 02:51:49,774.774 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:51:49,797.797 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:51:49,875.875 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:51:49,877.877 INFO    ] No camera update needed
[2026-08-29 02:51:49,880.880 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:51:49,882.882 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:51:49,888.888 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:51:49,893.893 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:51:51,935.935 INFO    ] ================================================
[2026-08-29 02:51:51,950.950 INFO    ] Launching Daemon at Sat Aug 29 02:51:51 IST 2026
[2026-08-29 02:51:51,961.961 INFO    ] ================================================
[2026-08-29 02:51:52,534.534 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:51:52
[2026-08-29 02:51:53,049.049 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:51:53,188.188 INFO    ] Initializing speech engine...
[2026-08-29 02:51:53,198.198 INFO    ] 2026-08-29 02:51:53
[2026-08-29 02:51:53,403.403 INFO    ] 2026-08-29 02:51:53
[2026-08-29 02:51:53,432.432 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:51:53,573.573 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:51:53,578.578 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:51:53,754.754 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:51:53,783.783 INFO    ] time= 29/08/2026 02:51:53
[2026-08-29 02:51:53,789.789 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:51:53,809.809 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:51:53,941.941 INFO    ] No existing commands found in stream
[2026-08-29 02:51:58,954.954 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:51:58,957.957 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-08-29 02:52:02,238.238 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:52:02,241.241 INFO    ] Checking for system updates...
[2026-08-29 02:52:02,290.290 INFO    ] 200
[2026-08-29 02:52:02,293.293 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:52:02,366.366 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:52:02,369.369 INFO    ] No update needed
[2026-08-29 02:52:02,372.372 INFO    ] Checking for camera pi updates...
[2026-08-29 02:52:02,410.410 INFO    ] 200
[2026-08-29 02:52:02,413.413 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:52:02,461.461 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:52:02,582.582 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:52:02,585.585 INFO    ] No camera update needed
[2026-08-29 02:52:02,588.588 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:52:02,591.591 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:52:02,598.598 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:52:02,604.604 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:52:04,647.647 INFO    ] ================================================
[2026-08-29 02:52:04,663.663 INFO    ] Launching Daemon at Sat Aug 29 02:52:04 IST 2026
[2026-08-29 02:52:04,675.675 INFO    ] ================================================
[2026-08-29 02:52:05,282.282 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:52:05
[2026-08-29 02:52:05,993.993 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:52:06,329.329 INFO    ] Initializing speech engine...
[2026-08-29 02:52:06,338.338 INFO    ] 2026-08-29 02:52:06
[2026-08-29 02:52:06,594.594 INFO    ] 2026-08-29 02:52:06
[2026-08-29 02:52:06,629.629 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:52:06,778.778 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:52:06,810.810 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:52:06,935.935 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:52:06,939.939 INFO    ] time= 29/08/2026 02:52:06
[2026-08-29 02:52:06,944.944 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:52:06,966.966 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:52:07,018.018 INFO    ] No existing commands found in stream
[2026-08-29 02:52:12,029.029 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:52:12,031.031 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-08-29 02:52:16,115.115 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:52:16,116.116 INFO    ] Checking for system updates...
[2026-08-29 02:52:16,137.137 INFO    ] 200
[2026-08-29 02:52:16,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:52:16,170.170 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:52:16,172.172 INFO    ] No update needed
[2026-08-29 02:52:16,173.173 INFO    ] Checking for camera pi updates...
[2026-08-29 02:52:16,193.193 INFO    ] 200
[2026-08-29 02:52:16,195.195 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:52:16,220.220 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:52:16,298.298 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:52:16,299.299 INFO    ] No camera update needed
[2026-08-29 02:52:16,300.300 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:52:16,301.301 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:52:16,305.305 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:52:16,307.307 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:52:18,347.347 INFO    ] ================================================
[2026-08-29 02:52:18,363.363 INFO    ] Launching Daemon at Sat Aug 29 02:52:18 IST 2026
[2026-08-29 02:52:18,374.374 INFO    ] ================================================
[2026-08-29 02:52:18,715.715 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:52:18
[2026-08-29 02:52:19,026.026 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:52:19,240.240 INFO    ] Initializing speech engine...
[2026-08-29 02:52:19,256.256 INFO    ] 2026-08-29 02:52:19
[2026-08-29 02:52:19,525.525 INFO    ] 2026-08-29 02:52:19
[2026-08-29 02:52:19,562.562 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:52:19,705.705 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:52:19,711.711 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:52:19,860.860 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:52:19,870.870 INFO    ] time= 29/08/2026 02:52:19
[2026-08-29 02:52:19,875.875 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:52:19,879.879 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:52:19,947.947 INFO    ] No existing commands found in stream
[2026-08-29 02:52:24,958.958 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:52:24,961.961 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-08-29 02:52:27,357.357 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:52:27,358.358 INFO    ] Checking for system updates...
[2026-08-29 02:52:27,378.378 INFO    ] 200
[2026-08-29 02:52:27,380.380 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:52:27,411.411 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:52:27,413.413 INFO    ] No update needed
[2026-08-29 02:52:27,414.414 INFO    ] Checking for camera pi updates...
[2026-08-29 02:52:27,434.434 INFO    ] 200
[2026-08-29 02:52:27,435.435 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:52:27,459.459 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:52:27,554.554 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:52:27,556.556 INFO    ] No camera update needed
[2026-08-29 02:52:27,557.557 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:52:27,558.558 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:52:27,561.561 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:52:27,564.564 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:52:29,603.603 INFO    ] ================================================
[2026-08-29 02:52:29,619.619 INFO    ] Launching Daemon at Sat Aug 29 02:52:29 IST 2026
[2026-08-29 02:52:29,630.630 INFO    ] ================================================
[2026-08-29 02:52:29,959.959 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:52:29
[2026-08-29 02:52:30,270.270 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:52:30,413.413 INFO    ] Initializing speech engine...
[2026-08-29 02:52:30,418.418 INFO    ] 2026-08-29 02:52:30
[2026-08-29 02:52:30,660.660 INFO    ] 2026-08-29 02:52:30
[2026-08-29 02:52:30,714.714 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:52:30,880.880 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:52:30,889.889 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:52:31,042.042 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:52:31,094.094 INFO    ] time= 29/08/2026 02:52:31
[2026-08-29 02:52:31,099.099 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:52:31,117.117 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:52:31,214.214 INFO    ] No existing commands found in stream
[2026-08-29 02:52:36,241.241 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:52:36,244.244 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-08-29 02:52:40,082.082 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:52:40,084.084 INFO    ] Checking for system updates...
[2026-08-29 02:52:40,106.106 INFO    ] 200
[2026-08-29 02:52:40,108.108 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:52:40,151.151 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:52:40,153.153 INFO    ] No update needed
[2026-08-29 02:52:40,154.154 INFO    ] Checking for camera pi updates...
[2026-08-29 02:52:40,184.184 INFO    ] 200
[2026-08-29 02:52:40,186.186 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:52:40,263.263 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:52:40,370.370 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:52:40,372.372 INFO    ] No camera update needed
[2026-08-29 02:52:40,375.375 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:52:40,377.377 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:52:40,382.382 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:52:40,387.387 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:52:42,430.430 INFO    ] ================================================
[2026-08-29 02:52:42,446.446 INFO    ] Launching Daemon at Sat Aug 29 02:52:42 IST 2026
[2026-08-29 02:52:42,458.458 INFO    ] ================================================
[2026-08-29 02:52:43,041.041 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:52:43
[2026-08-29 02:52:43,381.381 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:52:43,525.525 INFO    ] Initializing speech engine...
[2026-08-29 02:52:43,530.530 INFO    ] 2026-08-29 02:52:43
[2026-08-29 02:52:43,767.767 INFO    ] 2026-08-29 02:52:43
[2026-08-29 02:52:43,822.822 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:52:43,955.955 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:52:43,988.988 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:52:44,156.156 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:52:44,192.192 INFO    ] time= 29/08/2026 02:52:44
[2026-08-29 02:52:44,198.198 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:52:44,218.218 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:52:44,333.333 INFO    ] No existing commands found in stream
[2026-08-29 02:52:49,357.357 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:52:49,360.360 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-08-29 02:52:50,008.008 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:52:50,009.009 INFO    ] Checking for system updates...
[2026-08-29 02:52:50,030.030 INFO    ] 200
[2026-08-29 02:52:50,031.031 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:52:50,063.063 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:52:50,064.064 INFO    ] No update needed
[2026-08-29 02:52:50,066.066 INFO    ] Checking for camera pi updates...
[2026-08-29 02:52:50,085.085 INFO    ] 200
[2026-08-29 02:52:50,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:52:50,110.110 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:52:50,189.189 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:52:50,191.191 INFO    ] No camera update needed
[2026-08-29 02:52:50,192.192 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:52:50,193.193 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:52:50,196.196 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:52:50,199.199 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:52:52,237.237 INFO    ] ================================================
[2026-08-29 02:52:52,252.252 INFO    ] Launching Daemon at Sat Aug 29 02:52:52 IST 2026
[2026-08-29 02:52:52,264.264 INFO    ] ================================================
[2026-08-29 02:52:52,653.653 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:52:52
[2026-08-29 02:52:52,990.990 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:52:53,143.143 INFO    ] Initializing speech engine...
[2026-08-29 02:52:53,146.146 INFO    ] 2026-08-29 02:52:53
[2026-08-29 02:52:53,354.354 INFO    ] 2026-08-29 02:52:53
[2026-08-29 02:52:53,383.383 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:52:53,505.505 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:52:53,563.563 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:52:53,701.701 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:52:53,763.763 INFO    ] time= 29/08/2026 02:52:53
[2026-08-29 02:52:53,795.795 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:52:53,802.802 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:52:53,867.867 INFO    ] No existing commands found in stream
[2026-08-29 02:52:58,878.878 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:52:58,881.881 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-08-29 02:53:02,407.407 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:53:02,411.411 INFO    ] Checking for system updates...
[2026-08-29 02:53:02,451.451 INFO    ] 200
[2026-08-29 02:53:02,455.455 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:53:02,518.518 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:53:02,522.522 INFO    ] No update needed
[2026-08-29 02:53:02,525.525 INFO    ] Checking for camera pi updates...
[2026-08-29 02:53:02,574.574 INFO    ] 200
[2026-08-29 02:53:02,577.577 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:53:02,644.644 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:53:02,734.734 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:53:02,737.737 INFO    ] No camera update needed
[2026-08-29 02:53:02,740.740 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:53:02,743.743 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:53:02,751.751 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:53:02,758.758 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:53:04,800.800 INFO    ] ================================================
[2026-08-29 02:53:04,815.815 INFO    ] Launching Daemon at Sat Aug 29 02:53:04 IST 2026
[2026-08-29 02:53:04,826.826 INFO    ] ================================================
[2026-08-29 02:53:05,314.314 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:53:05
[2026-08-29 02:53:05,904.904 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:53:06,206.206 INFO    ] Initializing speech engine...
[2026-08-29 02:53:06,215.215 INFO    ] 2026-08-29 02:53:06
[2026-08-29 02:53:06,493.493 INFO    ] 2026-08-29 02:53:06
[2026-08-29 02:53:06,548.548 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:53:06,775.775 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:53:06,784.784 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:53:06,920.920 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:53:06,975.975 INFO    ] time= 29/08/2026 02:53:06
[2026-08-29 02:53:07,030.030 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:53:07,054.054 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:53:07,188.188 INFO    ] No existing commands found in stream
[2026-08-29 02:53:12,215.215 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:53:12,218.218 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-08-29 02:53:12,815.815 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:53:12,816.816 INFO    ] Checking for system updates...
[2026-08-29 02:53:12,838.838 INFO    ] 200
[2026-08-29 02:53:12,839.839 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:53:12,872.872 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:53:12,874.874 INFO    ] No update needed
[2026-08-29 02:53:12,876.876 INFO    ] Checking for camera pi updates...
[2026-08-29 02:53:12,895.895 INFO    ] 200
[2026-08-29 02:53:12,896.896 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:53:12,921.921 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:53:13,011.011 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:53:13,013.013 INFO    ] No camera update needed
[2026-08-29 02:53:13,014.014 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:53:13,016.016 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:53:13,019.019 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:53:13,022.022 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:53:15,062.062 INFO    ] ================================================
[2026-08-29 02:53:15,078.078 INFO    ] Launching Daemon at Sat Aug 29 02:53:15 IST 2026
[2026-08-29 02:53:15,090.090 INFO    ] ================================================
[2026-08-29 02:53:15,661.661 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:53:15
[2026-08-29 02:53:16,247.247 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:53:16,516.516 INFO    ] Initializing speech engine...
[2026-08-29 02:53:16,529.529 INFO    ] 2026-08-29 02:53:16
[2026-08-29 02:53:16,784.784 INFO    ] 2026-08-29 02:53:16
[2026-08-29 02:53:16,819.819 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:53:16,995.995 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:53:17,018.018 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:53:17,150.150 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:53:17,159.159 INFO    ] time= 29/08/2026 02:53:17
[2026-08-29 02:53:17,165.165 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:53:17,186.186 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:53:17,308.308 INFO    ] No existing commands found in stream
[2026-08-29 02:53:22,333.333 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:53:22,336.336 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 02:53:23,521.521 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:53:23,522.522 INFO    ] Checking for system updates...
[2026-08-29 02:53:23,544.544 INFO    ] 200
[2026-08-29 02:53:23,545.545 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:53:23,580.580 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:53:23,581.581 INFO    ] No update needed
[2026-08-29 02:53:23,583.583 INFO    ] Checking for camera pi updates...
[2026-08-29 02:53:23,603.603 INFO    ] 200
[2026-08-29 02:53:23,604.604 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:53:23,627.627 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:53:23,740.740 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:53:23,743.743 INFO    ] No camera update needed
[2026-08-29 02:53:23,746.746 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:53:23,748.748 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:53:23,753.753 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:53:23,758.758 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:53:25,800.800 INFO    ] ================================================
[2026-08-29 02:53:25,815.815 INFO    ] Launching Daemon at Sat Aug 29 02:53:25 IST 2026
[2026-08-29 02:53:25,826.826 INFO    ] ================================================
[2026-08-29 02:53:26,414.414 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:53:26
[2026-08-29 02:53:26,898.898 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:53:27,037.037 INFO    ] Initializing speech engine...
[2026-08-29 02:53:27,047.047 INFO    ] 2026-08-29 02:53:27
[2026-08-29 02:53:27,247.247 INFO    ] 2026-08-29 02:53:27
[2026-08-29 02:53:27,326.326 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:53:27,473.473 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:53:27,483.483 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:53:27,617.617 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:53:27,677.677 INFO    ] time= 29/08/2026 02:53:27
[2026-08-29 02:53:27,731.731 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:53:27,747.747 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:53:27,802.802 INFO    ] No existing commands found in stream
[2026-08-29 02:53:32,814.814 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:53:32,817.817 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-08-29 02:53:36,651.651 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:53:36,653.653 INFO    ] Checking for system updates...
[2026-08-29 02:53:36,673.673 INFO    ] 200
[2026-08-29 02:53:36,675.675 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:53:36,705.705 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:53:36,706.706 INFO    ] No update needed
[2026-08-29 02:53:36,708.708 INFO    ] Checking for camera pi updates...
[2026-08-29 02:53:36,727.727 INFO    ] 200
[2026-08-29 02:53:36,728.728 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:53:36,752.752 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:53:36,831.831 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:53:36,832.832 INFO    ] No camera update needed
[2026-08-29 02:53:36,833.833 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:53:36,834.834 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:53:36,837.837 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:53:36,840.840 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:53:38,879.879 INFO    ] ================================================
[2026-08-29 02:53:38,895.895 INFO    ] Launching Daemon at Sat Aug 29 02:53:38 IST 2026
[2026-08-29 02:53:38,905.905 INFO    ] ================================================
[2026-08-29 02:53:39,236.236 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:53:39
[2026-08-29 02:53:39,782.782 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:53:40,053.053 INFO    ] Initializing speech engine...
[2026-08-29 02:53:40,062.062 INFO    ] 2026-08-29 02:53:40
[2026-08-29 02:53:40,321.321 INFO    ] 2026-08-29 02:53:40
[2026-08-29 02:53:40,379.379 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:53:40,524.524 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:53:40,536.536 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:53:40,645.645 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:53:40,652.652 INFO    ] time= 29/08/2026 02:53:40
[2026-08-29 02:53:40,670.670 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:53:40,690.690 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:53:40,764.764 INFO    ] No existing commands found in stream
[2026-08-29 02:53:45,776.776 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:53:45,779.779 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-08-29 02:53:47,522.522 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:53:47,523.523 INFO    ] Checking for system updates...
[2026-08-29 02:53:47,544.544 INFO    ] 200
[2026-08-29 02:53:47,545.545 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:53:47,576.576 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:53:47,577.577 INFO    ] No update needed
[2026-08-29 02:53:47,578.578 INFO    ] Checking for camera pi updates...
[2026-08-29 02:53:47,598.598 INFO    ] 200
[2026-08-29 02:53:47,599.599 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:53:47,625.625 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:53:47,817.817 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:53:47,818.818 INFO    ] No camera update needed
[2026-08-29 02:53:47,820.820 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:53:47,821.821 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:53:47,824.824 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:53:47,827.827 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:53:49,873.873 INFO    ] ================================================
[2026-08-29 02:53:49,888.888 INFO    ] Launching Daemon at Sat Aug 29 02:53:49 IST 2026
[2026-08-29 02:53:49,899.899 INFO    ] ================================================
[2026-08-29 02:53:50,391.391 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:53:50
[2026-08-29 02:53:50,974.974 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:53:51,240.240 INFO    ] Initializing speech engine...
[2026-08-29 02:53:51,259.259 INFO    ] 2026-08-29 02:53:51
[2026-08-29 02:53:51,531.531 INFO    ] 2026-08-29 02:53:51
[2026-08-29 02:53:51,567.567 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:53:51,761.761 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:53:51,767.767 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:53:51,900.900 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:53:51,906.906 INFO    ] time= 29/08/2026 02:53:51
[2026-08-29 02:53:51,927.927 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:53:51,948.948 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:53:52,029.029 INFO    ] No existing commands found in stream
[2026-08-29 02:53:57,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:53:57,044.044 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-08-29 02:54:01,153.153 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:54:01,155.155 INFO    ] Checking for system updates...
[2026-08-29 02:54:01,210.210 INFO    ] 200
[2026-08-29 02:54:01,214.214 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:54:01,358.358 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:54:01,361.361 INFO    ] No update needed
[2026-08-29 02:54:01,365.365 INFO    ] Checking for camera pi updates...
[2026-08-29 02:54:01,425.425 INFO    ] 200
[2026-08-29 02:54:01,428.428 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:54:01,515.515 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:54:01,626.626 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:54:01,629.629 INFO    ] No camera update needed
[2026-08-29 02:54:01,632.632 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:54:01,636.636 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:54:01,646.646 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:54:01,655.655 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:54:03,700.700 INFO    ] ================================================
[2026-08-29 02:54:03,716.716 INFO    ] Launching Daemon at Sat Aug 29 02:54:03 IST 2026
[2026-08-29 02:54:03,727.727 INFO    ] ================================================
[2026-08-29 02:54:04,327.327 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:54:04
[2026-08-29 02:54:04,662.662 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:54:04,800.800 INFO    ] Initializing speech engine...
[2026-08-29 02:54:04,813.813 INFO    ] 2026-08-29 02:54:04
[2026-08-29 02:54:05,026.026 INFO    ] 2026-08-29 02:54:05
[2026-08-29 02:54:05,055.055 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:54:05,178.178 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:54:05,241.241 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:54:05,378.378 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:54:05,442.442 INFO    ] time= 29/08/2026 02:54:05
[2026-08-29 02:54:05,470.470 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:54:05,471.471 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:54:05,543.543 INFO    ] No existing commands found in stream
[2026-08-29 02:54:10,554.554 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:54:10,557.557 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-08-29 02:54:11,621.621 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:54:11,624.624 INFO    ] Checking for system updates...
[2026-08-29 02:54:11,663.663 INFO    ] 200
[2026-08-29 02:54:11,666.666 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:54:11,726.726 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:54:11,729.729 INFO    ] No update needed
[2026-08-29 02:54:11,733.733 INFO    ] Checking for camera pi updates...
[2026-08-29 02:54:11,773.773 INFO    ] 200
[2026-08-29 02:54:11,776.776 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:54:11,826.826 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:54:11,915.915 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:54:11,923.923 INFO    ] No camera update needed
[2026-08-29 02:54:11,926.926 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:54:11,929.929 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:54:11,936.936 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:54:11,943.943 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:54:14,995.995 INFO    ] ================================================
[2026-08-29 02:54:14,011.011 INFO    ] Launching Daemon at Sat Aug 29 02:54:14 IST 2026
[2026-08-29 02:54:14,023.023 INFO    ] ================================================
[2026-08-29 02:54:14,606.606 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:54:14
[2026-08-29 02:54:15,063.063 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:54:15,328.328 INFO    ] Initializing speech engine...
[2026-08-29 02:54:15,344.344 INFO    ] 2026-08-29 02:54:15
[2026-08-29 02:54:15,628.628 INFO    ] 2026-08-29 02:54:15
[2026-08-29 02:54:15,653.653 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:54:15,813.813 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:54:15,820.820 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:54:15,973.973 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:54:15,981.981 INFO    ] time= 29/08/2026 02:54:15
[2026-08-29 02:54:15,987.987 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:54:15,992.992 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:54:16,058.058 INFO    ] No existing commands found in stream
[2026-08-29 02:54:21,068.068 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:54:21,071.071 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-08-29 02:54:21,835.835 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:54:21,837.837 INFO    ] Checking for system updates...
[2026-08-29 02:54:21,859.859 INFO    ] 200
[2026-08-29 02:54:21,860.860 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:54:21,892.892 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:54:21,894.894 INFO    ] No update needed
[2026-08-29 02:54:21,895.895 INFO    ] Checking for camera pi updates...
[2026-08-29 02:54:21,916.916 INFO    ] 200
[2026-08-29 02:54:21,917.917 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:54:21,952.952 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:54:22,045.045 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:54:22,048.048 INFO    ] No camera update needed
[2026-08-29 02:54:22,051.051 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:54:22,053.053 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:54:22,060.060 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:54:22,065.065 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:54:24,107.107 INFO    ] ================================================
[2026-08-29 02:54:24,123.123 INFO    ] Launching Daemon at Sat Aug 29 02:54:24 IST 2026
[2026-08-29 02:54:24,135.135 INFO    ] ================================================
[2026-08-29 02:54:24,796.796 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:54:24
[2026-08-29 02:54:25,274.274 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:54:25,420.420 INFO    ] Initializing speech engine...
[2026-08-29 02:54:25,430.430 INFO    ] 2026-08-29 02:54:25
[2026-08-29 02:54:25,639.639 INFO    ] 2026-08-29 02:54:25
[2026-08-29 02:54:25,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:54:25,789.789 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:54:25,832.832 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:54:25,985.985 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:54:26,043.043 INFO    ] time= 29/08/2026 02:54:25
[2026-08-29 02:54:26,079.079 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:54:26,086.086 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:54:26,152.152 INFO    ] No existing commands found in stream
[2026-08-29 02:54:31,163.163 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:54:31,166.166 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-08-29 02:54:34,381.381 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:54:34,384.384 INFO    ] Checking for system updates...
[2026-08-29 02:54:34,421.421 INFO    ] 200
[2026-08-29 02:54:34,424.424 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:54:34,477.477 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:54:34,480.480 INFO    ] No update needed
[2026-08-29 02:54:34,483.483 INFO    ] Checking for camera pi updates...
[2026-08-29 02:54:34,517.517 INFO    ] 200
[2026-08-29 02:54:34,520.520 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:54:34,557.557 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:54:34,645.645 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:54:34,646.646 INFO    ] No camera update needed
[2026-08-29 02:54:34,648.648 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:54:34,649.649 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:54:34,652.652 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:54:34,655.655 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:54:36,695.695 INFO    ] ================================================
[2026-08-29 02:54:36,716.716 INFO    ] Launching Daemon at Sat Aug 29 02:54:36 IST 2026
[2026-08-29 02:54:36,727.727 INFO    ] ================================================
[2026-08-29 02:54:37,084.084 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:54:37
[2026-08-29 02:54:37,399.399 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:54:37,599.599 INFO    ] Initializing speech engine...
[2026-08-29 02:54:37,612.612 INFO    ] 2026-08-29 02:54:37
[2026-08-29 02:54:37,865.865 INFO    ] 2026-08-29 02:54:37
[2026-08-29 02:54:37,923.923 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:54:38,086.086 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:54:38,109.109 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:54:38,224.224 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:54:38,230.230 INFO    ] time= 29/08/2026 02:54:38
[2026-08-29 02:54:38,255.255 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:54:38,296.296 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:54:38,403.403 INFO    ] No existing commands found in stream
[2026-08-29 02:54:43,431.431 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:54:43,432.432 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-08-29 02:54:46,938.938 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:54:46,939.939 INFO    ] Checking for system updates...
[2026-08-29 02:54:46,959.959 INFO    ] 200
[2026-08-29 02:54:46,961.961 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:54:46,991.991 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:54:46,993.993 INFO    ] No update needed
[2026-08-29 02:54:46,994.994 INFO    ] Checking for camera pi updates...
[2026-08-29 02:54:47,013.013 INFO    ] 200
[2026-08-29 02:54:47,014.014 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:54:47,050.050 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:54:47,143.143 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:54:47,145.145 INFO    ] No camera update needed
[2026-08-29 02:54:47,146.146 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:54:47,147.147 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:54:47,150.150 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:54:47,153.153 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:54:49,193.193 INFO    ] ================================================
[2026-08-29 02:54:49,208.208 INFO    ] Launching Daemon at Sat Aug 29 02:54:49 IST 2026
[2026-08-29 02:54:49,219.219 INFO    ] ================================================
[2026-08-29 02:54:49,816.816 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:54:49
[2026-08-29 02:54:50,498.498 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:54:50,798.798 INFO    ] Initializing speech engine...
[2026-08-29 02:54:50,808.808 INFO    ] 2026-08-29 02:54:50
[2026-08-29 02:54:51,084.084 INFO    ] 2026-08-29 02:54:51
[2026-08-29 02:54:51,140.140 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:54:51,364.364 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:54:51,374.374 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:54:51,508.508 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:54:51,535.535 INFO    ] time= 29/08/2026 02:54:51
[2026-08-29 02:54:51,591.591 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:54:51,640.640 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:54:51,697.697 INFO    ] No existing commands found in stream
[2026-08-29 02:54:56,710.710 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:54:56,714.714 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-08-29 02:54:57,435.435 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:54:57,436.436 INFO    ] Checking for system updates...
[2026-08-29 02:54:57,457.457 INFO    ] 200
[2026-08-29 02:54:57,458.458 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:54:57,488.488 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:54:57,490.490 INFO    ] No update needed
[2026-08-29 02:54:57,491.491 INFO    ] Checking for camera pi updates...
[2026-08-29 02:54:57,512.512 INFO    ] 200
[2026-08-29 02:54:57,513.513 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:54:57,536.536 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:54:57,609.609 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:54:57,610.610 INFO    ] No camera update needed
[2026-08-29 02:54:57,611.611 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:54:57,613.613 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:54:57,616.616 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:54:57,619.619 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:54:59,658.658 INFO    ] ================================================
[2026-08-29 02:54:59,673.673 INFO    ] Launching Daemon at Sat Aug 29 02:54:59 IST 2026
[2026-08-29 02:54:59,684.684 INFO    ] ================================================
[2026-08-29 02:55:00,041.041 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:55:00
[2026-08-29 02:55:00,354.354 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:55:00,497.497 INFO    ] Initializing speech engine...
[2026-08-29 02:55:00,503.503 INFO    ] 2026-08-29 02:55:00
[2026-08-29 02:55:00,710.710 INFO    ] 2026-08-29 02:55:00
[2026-08-29 02:55:00,739.739 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:55:00,864.864 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:55:00,913.913 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:55:01,046.046 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:55:01,055.055 INFO    ] time= 29/08/2026 02:55:01
[2026-08-29 02:55:01,101.101 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:55:01,154.154 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:55:01,260.260 INFO    ] No existing commands found in stream
[2026-08-29 02:55:06,273.273 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:55:06,275.275 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-08-29 02:55:06,754.754 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:55:06,755.755 INFO    ] Checking for system updates...
[2026-08-29 02:55:06,776.776 INFO    ] 200
[2026-08-29 02:55:06,777.777 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:55:06,809.809 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:55:06,811.811 INFO    ] No update needed
[2026-08-29 02:55:06,812.812 INFO    ] Checking for camera pi updates...
[2026-08-29 02:55:06,831.831 INFO    ] 200
[2026-08-29 02:55:06,833.833 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:55:06,856.856 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:55:06,935.935 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:55:06,937.937 INFO    ] No camera update needed
[2026-08-29 02:55:06,938.938 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:55:06,939.939 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:55:06,942.942 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:55:06,945.945 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:55:08,986.986 INFO    ] ================================================
[2026-08-29 02:55:09,001.001 INFO    ] Launching Daemon at Sat Aug 29 02:55:08 IST 2026
[2026-08-29 02:55:09,012.012 INFO    ] ================================================
[2026-08-29 02:55:09,399.399 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:55:09
[2026-08-29 02:55:09,739.739 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:55:09,892.892 INFO    ] Initializing speech engine...
[2026-08-29 02:55:09,897.897 INFO    ] 2026-08-29 02:55:09
[2026-08-29 02:55:10,106.106 INFO    ] 2026-08-29 02:55:10
[2026-08-29 02:55:10,135.135 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:55:10,258.258 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:55:10,321.321 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:55:10,457.457 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:55:10,518.518 INFO    ] time= 29/08/2026 02:55:10
[2026-08-29 02:55:10,550.550 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:55:10,557.557 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:55:10,624.624 INFO    ] No existing commands found in stream
[2026-08-29 02:55:15,639.639 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:55:15,642.642 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-08-29 02:55:16,243.243 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:55:16,246.246 INFO    ] Checking for system updates...
[2026-08-29 02:55:16,282.282 INFO    ] 200
[2026-08-29 02:55:16,285.285 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:55:16,339.339 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:55:16,341.341 INFO    ] No update needed
[2026-08-29 02:55:16,343.343 INFO    ] Checking for camera pi updates...
[2026-08-29 02:55:16,381.381 INFO    ] 200
[2026-08-29 02:55:16,384.384 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:55:16,429.429 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:55:16,512.512 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:55:16,514.514 INFO    ] No camera update needed
[2026-08-29 02:55:16,516.516 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:55:16,519.519 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:55:16,524.524 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:55:16,529.529 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:55:18,570.570 INFO    ] ================================================
[2026-08-29 02:55:18,585.585 INFO    ] Launching Daemon at Sat Aug 29 02:55:18 IST 2026
[2026-08-29 02:55:18,595.595 INFO    ] ================================================
[2026-08-29 02:55:18,961.961 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:55:18
[2026-08-29 02:55:19,279.279 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:55:19,419.419 INFO    ] Initializing speech engine...
[2026-08-29 02:55:19,429.429 INFO    ] 2026-08-29 02:55:19
[2026-08-29 02:55:19,616.616 INFO    ] 2026-08-29 02:55:19
[2026-08-29 02:55:19,668.668 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:55:19,837.837 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:55:19,883.883 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:55:20,036.036 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:55:20,058.058 INFO    ] time= 29/08/2026 02:55:20
[2026-08-29 02:55:20,117.117 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:55:20,161.161 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:55:20,230.230 INFO    ] No existing commands found in stream
[2026-08-29 02:55:25,244.244 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:55:25,247.247 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-08-29 02:55:29,118.118 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:55:29,120.120 INFO    ] Checking for system updates...
[2026-08-29 02:55:29,142.142 INFO    ] 200
[2026-08-29 02:55:29,144.144 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:55:29,174.174 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:55:29,175.175 INFO    ] No update needed
[2026-08-29 02:55:29,177.177 INFO    ] Checking for camera pi updates...
[2026-08-29 02:55:29,197.197 INFO    ] 200
[2026-08-29 02:55:29,199.199 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:55:29,234.234 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:55:29,326.326 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:55:29,328.328 INFO    ] No camera update needed
[2026-08-29 02:55:29,331.331 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:55:29,334.334 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:55:29,340.340 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:55:29,346.346 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:55:31,388.388 INFO    ] ================================================
[2026-08-29 02:55:31,403.403 INFO    ] Launching Daemon at Sat Aug 29 02:55:31 IST 2026
[2026-08-29 02:55:31,414.414 INFO    ] ================================================
[2026-08-29 02:55:31,984.984 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:55:31
[2026-08-29 02:55:32,521.521 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:55:32,799.799 INFO    ] Initializing speech engine...
[2026-08-29 02:55:32,824.824 INFO    ] 2026-08-29 02:55:32
[2026-08-29 02:55:33,107.107 INFO    ] 2026-08-29 02:55:33
[2026-08-29 02:55:33,144.144 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:55:33,319.319 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:55:33,332.332 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:55:33,458.458 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:55:33,463.463 INFO    ] time= 29/08/2026 02:55:33
[2026-08-29 02:55:33,483.483 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:55:33,505.505 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:55:33,590.590 INFO    ] No existing commands found in stream
[2026-08-29 02:55:38,605.605 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:55:38,608.608 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-08-29 02:55:41,759.759 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:55:41,761.761 INFO    ] Checking for system updates...
[2026-08-29 02:55:41,781.781 INFO    ] 200
[2026-08-29 02:55:41,783.783 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:55:41,813.813 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:55:41,814.814 INFO    ] No update needed
[2026-08-29 02:55:41,815.815 INFO    ] Checking for camera pi updates...
[2026-08-29 02:55:41,836.836 INFO    ] 200
[2026-08-29 02:55:41,837.837 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:55:41,860.860 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:55:41,957.957 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:55:41,958.958 INFO    ] No camera update needed
[2026-08-29 02:55:41,959.959 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:55:41,961.961 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:55:41,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:55:41,966.966 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:55:44,006.006 INFO    ] ================================================
[2026-08-29 02:55:44,021.021 INFO    ] Launching Daemon at Sat Aug 29 02:55:44 IST 2026
[2026-08-29 02:55:44,032.032 INFO    ] ================================================
[2026-08-29 02:55:44,384.384 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:55:44
[2026-08-29 02:55:44,696.696 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:55:44,914.914 INFO    ] Initializing speech engine...
[2026-08-29 02:55:44,920.920 INFO    ] 2026-08-29 02:55:44
[2026-08-29 02:55:45,218.218 INFO    ] 2026-08-29 02:55:45
[2026-08-29 02:55:45,252.252 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:55:45,399.399 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:55:45,406.406 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:55:45,561.561 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:55:45,571.571 INFO    ] time= 29/08/2026 02:55:45
[2026-08-29 02:55:45,576.576 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:55:45,581.581 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:55:45,648.648 INFO    ] No existing commands found in stream
[2026-08-29 02:55:50,661.661 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:55:50,664.664 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-08-29 02:55:52,239.239 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:55:52,241.241 INFO    ] Checking for system updates...
[2026-08-29 02:55:52,261.261 INFO    ] 200
[2026-08-29 02:55:52,262.262 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:55:52,293.293 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:55:52,294.294 INFO    ] No update needed
[2026-08-29 02:55:52,295.295 INFO    ] Checking for camera pi updates...
[2026-08-29 02:55:52,314.314 INFO    ] 200
[2026-08-29 02:55:52,316.316 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:55:52,340.340 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:55:52,515.515 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:55:52,516.516 INFO    ] No camera update needed
[2026-08-29 02:55:52,518.518 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:55:52,519.519 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:55:52,523.523 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:55:52,526.526 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:55:54,564.564 INFO    ] ================================================
[2026-08-29 02:55:54,579.579 INFO    ] Launching Daemon at Sat Aug 29 02:55:54 IST 2026
[2026-08-29 02:55:54,590.590 INFO    ] ================================================
[2026-08-29 02:55:54,933.933 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:55:54
[2026-08-29 02:55:55,270.270 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:55:55,549.549 INFO    ] Initializing speech engine...
[2026-08-29 02:55:55,554.554 INFO    ] 2026-08-29 02:55:55
[2026-08-29 02:55:55,800.800 INFO    ] 2026-08-29 02:55:55
[2026-08-29 02:55:55,866.866 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:55:56,031.031 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:55:56,058.058 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:55:56,230.230 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:55:56,267.267 INFO    ] time= 29/08/2026 02:55:56
[2026-08-29 02:55:56,321.321 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:55:56,364.364 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:55:56,418.418 INFO    ] No existing commands found in stream
[2026-08-29 02:56:01,430.430 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:56:01,434.434 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-08-29 02:56:05,071.071 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:56:05,073.073 INFO    ] Checking for system updates...
[2026-08-29 02:56:05,093.093 INFO    ] 200
[2026-08-29 02:56:05,094.094 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:56:05,124.124 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:56:05,125.125 INFO    ] No update needed
[2026-08-29 02:56:05,126.126 INFO    ] Checking for camera pi updates...
[2026-08-29 02:56:05,148.148 INFO    ] 200
[2026-08-29 02:56:05,149.149 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:56:05,173.173 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:56:05,250.250 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:56:05,251.251 INFO    ] No camera update needed
[2026-08-29 02:56:05,252.252 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:56:05,254.254 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:56:05,256.256 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:56:05,259.259 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:56:07,298.298 INFO    ] ================================================
[2026-08-29 02:56:07,313.313 INFO    ] Launching Daemon at Sat Aug 29 02:56:07 IST 2026
[2026-08-29 02:56:07,324.324 INFO    ] ================================================
[2026-08-29 02:56:07,688.688 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:56:07
[2026-08-29 02:56:08,272.272 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:56:08,541.541 INFO    ] Initializing speech engine...
[2026-08-29 02:56:08,550.550 INFO    ] 2026-08-29 02:56:08
[2026-08-29 02:56:08,796.796 INFO    ] 2026-08-29 02:56:08
[2026-08-29 02:56:08,832.832 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:56:09,002.002 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:56:09,016.016 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:56:09,125.125 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:56:09,143.143 INFO    ] time= 29/08/2026 02:56:09
[2026-08-29 02:56:09,165.165 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:56:09,171.171 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:56:09,242.242 INFO    ] No existing commands found in stream
[2026-08-29 02:56:14,254.254 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:56:14,257.257 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-08-29 02:56:15,255.255 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:56:15,257.257 INFO    ] Checking for system updates...
[2026-08-29 02:56:15,277.277 INFO    ] 200
[2026-08-29 02:56:15,278.278 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:56:15,313.313 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:56:15,314.314 INFO    ] No update needed
[2026-08-29 02:56:15,315.315 INFO    ] Checking for camera pi updates...
[2026-08-29 02:56:15,334.334 INFO    ] 200
[2026-08-29 02:56:15,336.336 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:56:15,361.361 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:56:15,455.455 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:56:15,456.456 INFO    ] No camera update needed
[2026-08-29 02:56:15,457.457 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:56:15,459.459 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:56:15,462.462 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:56:15,464.464 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:56:17,504.504 INFO    ] ================================================
[2026-08-29 02:56:17,520.520 INFO    ] Launching Daemon at Sat Aug 29 02:56:17 IST 2026
[2026-08-29 02:56:17,530.530 INFO    ] ================================================
[2026-08-29 02:56:17,881.881 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:56:17
[2026-08-29 02:56:18,201.201 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:56:18,335.335 INFO    ] Initializing speech engine...
[2026-08-29 02:56:18,340.340 INFO    ] 2026-08-29 02:56:18
[2026-08-29 02:56:18,573.573 INFO    ] 2026-08-29 02:56:18
[2026-08-29 02:56:18,597.597 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:56:18,733.733 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:56:18,753.753 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:56:18,940.940 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:56:18,989.989 INFO    ] time= 29/08/2026 02:56:18
[2026-08-29 02:56:19,009.009 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:56:19,026.026 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:56:19,088.088 INFO    ] No existing commands found in stream
[2026-08-29 02:56:24,124.124 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:56:24,127.127 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-08-29 02:56:26,382.382 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:56:26,384.384 INFO    ] Checking for system updates...
[2026-08-29 02:56:26,409.409 INFO    ] 200
[2026-08-29 02:56:26,410.410 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:56:26,440.440 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:56:26,442.442 INFO    ] No update needed
[2026-08-29 02:56:26,443.443 INFO    ] Checking for camera pi updates...
[2026-08-29 02:56:26,463.463 INFO    ] 200
[2026-08-29 02:56:26,465.465 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:56:26,489.489 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:56:26,581.581 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:56:26,584.584 INFO    ] No camera update needed
[2026-08-29 02:56:26,586.586 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:56:26,588.588 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:56:26,593.593 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:56:26,598.598 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:56:28,641.641 INFO    ] ================================================
[2026-08-29 02:56:28,656.656 INFO    ] Launching Daemon at Sat Aug 29 02:56:28 IST 2026
[2026-08-29 02:56:28,666.666 INFO    ] ================================================
[2026-08-29 02:56:29,266.266 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:56:29
[2026-08-29 02:56:29,755.755 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:56:29,897.897 INFO    ] Initializing speech engine...
[2026-08-29 02:56:29,906.906 INFO    ] 2026-08-29 02:56:29
[2026-08-29 02:56:30,126.126 INFO    ] 2026-08-29 02:56:30
[2026-08-29 02:56:30,157.157 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:56:30,289.289 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:56:30,338.338 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:56:30,499.499 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:56:30,546.546 INFO    ] time= 29/08/2026 02:56:30
[2026-08-29 02:56:30,596.596 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:56:30,608.608 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:56:30,685.685 INFO    ] No existing commands found in stream
[2026-08-29 02:56:35,694.694 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:56:35,697.697 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-08-29 02:56:36,950.950 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:56:36,952.952 INFO    ] Checking for system updates...
[2026-08-29 02:56:36,973.973 INFO    ] 200
[2026-08-29 02:56:36,974.974 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:56:37,004.004 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:56:37,005.005 INFO    ] No update needed
[2026-08-29 02:56:37,007.007 INFO    ] Checking for camera pi updates...
[2026-08-29 02:56:37,026.026 INFO    ] 200
[2026-08-29 02:56:37,027.027 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:56:37,050.050 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:56:37,152.152 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:56:37,154.154 INFO    ] No camera update needed
[2026-08-29 02:56:37,155.155 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:56:37,156.156 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:56:37,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:56:37,162.162 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:56:39,200.200 INFO    ] ================================================
[2026-08-29 02:56:39,215.215 INFO    ] Launching Daemon at Sat Aug 29 02:56:39 IST 2026
[2026-08-29 02:56:39,226.226 INFO    ] ================================================
[2026-08-29 02:56:39,578.578 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:56:39
[2026-08-29 02:56:39,915.915 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:56:40,067.067 INFO    ] Initializing speech engine...
[2026-08-29 02:56:40,073.073 INFO    ] 2026-08-29 02:56:40
[2026-08-29 02:56:40,282.282 INFO    ] 2026-08-29 02:56:40
[2026-08-29 02:56:40,312.312 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:56:40,456.456 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:56:40,499.499 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:56:40,638.638 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:56:40,706.706 INFO    ] time= 29/08/2026 02:56:40
[2026-08-29 02:56:40,731.731 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:56:40,738.738 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:56:40,805.805 INFO    ] No existing commands found in stream
[2026-08-29 02:56:45,816.816 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:56:45,819.819 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-08-29 02:56:46,442.442 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:56:46,444.444 INFO    ] Checking for system updates...
[2026-08-29 02:56:46,464.464 INFO    ] 200
[2026-08-29 02:56:46,466.466 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:56:46,498.498 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:56:46,499.499 INFO    ] No update needed
[2026-08-29 02:56:46,500.500 INFO    ] Checking for camera pi updates...
[2026-08-29 02:56:46,523.523 INFO    ] 200
[2026-08-29 02:56:46,524.524 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:56:46,547.547 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:56:46,625.625 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:56:46,626.626 INFO    ] No camera update needed
[2026-08-29 02:56:46,627.627 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:56:46,629.629 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:56:46,631.631 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:56:46,634.634 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:56:48,673.673 INFO    ] ================================================
[2026-08-29 02:56:48,688.688 INFO    ] Launching Daemon at Sat Aug 29 02:56:48 IST 2026
[2026-08-29 02:56:48,699.699 INFO    ] ================================================
[2026-08-29 02:56:49,080.080 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:56:49
[2026-08-29 02:56:49,418.418 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:56:49,558.558 INFO    ] Initializing speech engine...
[2026-08-29 02:56:49,571.571 INFO    ] 2026-08-29 02:56:49
[2026-08-29 02:56:49,797.797 INFO    ] 2026-08-29 02:56:49
[2026-08-29 02:56:49,883.883 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:56:50,033.033 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:56:50,044.044 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:56:50,179.179 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:56:50,195.195 INFO    ] time= 29/08/2026 02:56:50
[2026-08-29 02:56:50,260.260 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:56:50,314.314 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:56:50,367.367 INFO    ] No existing commands found in stream
[2026-08-29 02:56:55,379.379 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:56:55,383.383 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 02:56:57,654.654 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:56:57,656.656 INFO    ] Checking for system updates...
[2026-08-29 02:56:57,677.677 INFO    ] 200
[2026-08-29 02:56:57,679.679 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:56:57,709.709 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:56:57,710.710 INFO    ] No update needed
[2026-08-29 02:56:57,712.712 INFO    ] Checking for camera pi updates...
[2026-08-29 02:56:57,731.731 INFO    ] 200
[2026-08-29 02:56:57,733.733 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:56:57,763.763 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:56:57,817.817 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:56:57,819.819 INFO    ] No camera update needed
[2026-08-29 02:56:57,820.820 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:56:57,821.821 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:56:57,825.825 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:56:57,828.828 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:56:59,866.866 INFO    ] ================================================
[2026-08-29 02:56:59,881.881 INFO    ] Launching Daemon at Sat Aug 29 02:56:59 IST 2026
[2026-08-29 02:56:59,892.892 INFO    ] ================================================
[2026-08-29 02:57:00,263.263 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:57:00
[2026-08-29 02:57:00,580.580 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:57:00,715.715 INFO    ] Initializing speech engine...
[2026-08-29 02:57:00,724.724 INFO    ] 2026-08-29 02:57:00
[2026-08-29 02:57:00,948.948 INFO    ] 2026-08-29 02:57:00
[2026-08-29 02:57:00,979.979 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:57:01,112.112 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:57:01,160.160 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:57:01,327.327 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:57:01,385.385 INFO    ] time= 29/08/2026 02:57:01
[2026-08-29 02:57:01,420.420 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:57:01,431.431 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:57:01,507.507 INFO    ] No existing commands found in stream
[2026-08-29 02:57:06,518.518 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:57:06,521.521 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-08-29 02:57:10,070.070 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:57:10,071.071 INFO    ] Checking for system updates...
[2026-08-29 02:57:10,092.092 INFO    ] 200
[2026-08-29 02:57:10,093.093 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:57:10,126.126 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:57:10,127.127 INFO    ] No update needed
[2026-08-29 02:57:10,128.128 INFO    ] Checking for camera pi updates...
[2026-08-29 02:57:10,148.148 INFO    ] 200
[2026-08-29 02:57:10,149.149 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:57:10,184.184 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:57:10,277.277 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:57:10,279.279 INFO    ] No camera update needed
[2026-08-29 02:57:10,281.281 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:57:10,284.284 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:57:10,289.289 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:57:10,294.294 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:57:12,336.336 INFO    ] ================================================
[2026-08-29 02:57:12,352.352 INFO    ] Launching Daemon at Sat Aug 29 02:57:12 IST 2026
[2026-08-29 02:57:12,363.363 INFO    ] ================================================
[2026-08-29 02:57:12,956.956 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:57:12
[2026-08-29 02:57:13,460.460 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:57:13,610.610 INFO    ] Initializing speech engine...
[2026-08-29 02:57:13,615.615 INFO    ] 2026-08-29 02:57:13
[2026-08-29 02:57:13,824.824 INFO    ] 2026-08-29 02:57:13
[2026-08-29 02:57:13,853.853 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:57:13,982.982 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:57:13,989.989 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:57:14,146.146 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:57:14,190.190 INFO    ] time= 29/08/2026 02:57:14
[2026-08-29 02:57:14,207.207 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:57:14,233.233 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:57:14,344.344 INFO    ] No existing commands found in stream
[2026-08-29 02:57:19,360.360 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:57:19,363.363 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-08-29 02:57:21,610.610 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:57:21,611.611 INFO    ] Checking for system updates...
[2026-08-29 02:57:21,631.631 INFO    ] 200
[2026-08-29 02:57:21,633.633 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:57:21,665.665 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:57:21,666.666 INFO    ] No update needed
[2026-08-29 02:57:21,667.667 INFO    ] Checking for camera pi updates...
[2026-08-29 02:57:21,686.686 INFO    ] 200
[2026-08-29 02:57:21,687.687 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:57:21,713.713 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:57:21,789.789 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:57:21,790.790 INFO    ] No camera update needed
[2026-08-29 02:57:21,791.791 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:57:21,792.792 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:57:21,795.795 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:57:21,798.798 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:57:23,836.836 INFO    ] ================================================
[2026-08-29 02:57:23,851.851 INFO    ] Launching Daemon at Sat Aug 29 02:57:23 IST 2026
[2026-08-29 02:57:23,862.862 INFO    ] ================================================
[2026-08-29 02:57:24,194.194 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:57:24
[2026-08-29 02:57:24,723.723 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:57:24,980.980 INFO    ] Initializing speech engine...
[2026-08-29 02:57:25,002.002 INFO    ] 2026-08-29 02:57:24
[2026-08-29 02:57:25,258.258 INFO    ] 2026-08-29 02:57:25
[2026-08-29 02:57:25,294.294 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:57:25,467.467 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:57:25,480.480 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:57:25,621.621 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:57:25,629.629 INFO    ] time= 29/08/2026 02:57:25
[2026-08-29 02:57:25,637.637 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:57:25,681.681 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:57:25,807.807 INFO    ] No existing commands found in stream
[2026-08-29 02:57:30,837.837 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:57:30,840.840 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-08-29 02:57:32,594.594 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:57:32,597.597 INFO    ] Checking for system updates...
[2026-08-29 02:57:32,634.634 INFO    ] 200
[2026-08-29 02:57:32,637.637 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:57:32,699.699 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:57:32,701.701 INFO    ] No update needed
[2026-08-29 02:57:32,704.704 INFO    ] Checking for camera pi updates...
[2026-08-29 02:57:32,747.747 INFO    ] 200
[2026-08-29 02:57:32,750.750 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:57:32,799.799 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:57:32,933.933 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:57:32,937.937 INFO    ] No camera update needed
[2026-08-29 02:57:32,939.939 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:57:32,942.942 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:57:32,949.949 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:57:32,955.955 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:57:35,996.996 INFO    ] ================================================
[2026-08-29 02:57:35,012.012 INFO    ] Launching Daemon at Sat Aug 29 02:57:35 IST 2026
[2026-08-29 02:57:35,022.022 INFO    ] ================================================
[2026-08-29 02:57:35,548.548 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:57:35
[2026-08-29 02:57:35,864.864 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:57:36,122.122 INFO    ] Initializing speech engine...
[2026-08-29 02:57:36,131.131 INFO    ] 2026-08-29 02:57:36
[2026-08-29 02:57:36,408.408 INFO    ] 2026-08-29 02:57:36
[2026-08-29 02:57:36,449.449 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:57:36,669.669 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:57:36,678.678 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:57:36,812.812 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:57:36,851.851 INFO    ] time= 29/08/2026 02:57:36
[2026-08-29 02:57:36,905.905 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:57:36,942.942 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:57:36,999.999 INFO    ] No existing commands found in stream
[2026-08-29 02:57:42,011.011 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:57:42,014.014 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-08-29 02:57:44,857.857 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 02:57:44,858.858 INFO    ] Checking for system updates...
[2026-08-29 02:57:44,880.880 INFO    ] 200
[2026-08-29 02:57:44,881.881 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:57:44,911.911 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:57:44,912.912 INFO    ] No update needed
[2026-08-29 02:57:44,914.914 INFO    ] Checking for camera pi updates...
[2026-08-29 02:57:44,935.935 INFO    ] 200
[2026-08-29 02:57:44,936.936 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:57:44,960.960 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:57:45,049.049 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:57:45,052.052 INFO    ] No camera update needed
[2026-08-29 02:57:45,054.054 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:57:45,057.057 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:57:45,062.062 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:57:45,067.067 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:57:47,108.108 INFO    ] ================================================
[2026-08-29 02:57:47,123.123 INFO    ] Launching Daemon at Sat Aug 29 02:57:47 IST 2026
[2026-08-29 02:57:47,134.134 INFO    ] ================================================
[2026-08-29 02:57:47,704.704 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:57:47
[2026-08-29 02:57:48,198.198 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:57:48,384.384 INFO    ] Initializing speech engine...
[2026-08-29 02:57:48,397.397 INFO    ] 2026-08-29 02:57:48
[2026-08-29 02:57:48,647.647 INFO    ] 2026-08-29 02:57:48
[2026-08-29 02:57:48,680.680 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:57:48,857.857 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:57:48,870.870 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:57:48,981.981 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:57:48,986.986 INFO    ] time= 29/08/2026 02:57:48
[2026-08-29 02:57:49,004.004 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:57:49,024.024 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:57:49,101.101 INFO    ] No existing commands found in stream
[2026-08-29 02:57:54,136.136 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:57:54,139.139 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-08-29 02:57:56,944.944 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:57:56,945.945 INFO    ] Checking for system updates...
[2026-08-29 02:57:56,966.966 INFO    ] 200
[2026-08-29 02:57:56,967.967 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:57:56,999.999 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:57:57,000.000 INFO    ] No update needed
[2026-08-29 02:57:57,002.002 INFO    ] Checking for camera pi updates...
[2026-08-29 02:57:57,023.023 INFO    ] 200
[2026-08-29 02:57:57,024.024 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:57:57,046.046 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:57:57,240.240 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:57:57,242.242 INFO    ] No camera update needed
[2026-08-29 02:57:57,243.243 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:57:57,244.244 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:57:57,247.247 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:57:57,250.250 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:57:59,290.290 INFO    ] ================================================
[2026-08-29 02:57:59,306.306 INFO    ] Launching Daemon at Sat Aug 29 02:57:59 IST 2026
[2026-08-29 02:57:59,317.317 INFO    ] ================================================
[2026-08-29 02:57:59,653.653 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:57:59
[2026-08-29 02:57:59,965.965 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:58:00,105.105 INFO    ] Initializing speech engine...
[2026-08-29 02:58:00,113.113 INFO    ] 2026-08-29 02:58:00
[2026-08-29 02:58:00,329.329 INFO    ] 2026-08-29 02:58:00
[2026-08-29 02:58:00,360.360 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:58:00,581.581 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:58:00,585.585 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:58:00,703.703 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:58:00,773.773 INFO    ] time= 29/08/2026 02:58:00
[2026-08-29 02:58:00,801.801 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:58:00,803.803 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:58:00,878.878 INFO    ] No existing commands found in stream
[2026-08-29 02:58:05,888.888 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:58:05,891.891 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-08-29 02:58:06,566.566 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 02:58:06,568.568 INFO    ] Checking for system updates...
[2026-08-29 02:58:06,588.588 INFO    ] 200
[2026-08-29 02:58:06,590.590 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:58:06,624.624 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:58:06,625.625 INFO    ] No update needed
[2026-08-29 02:58:06,626.626 INFO    ] Checking for camera pi updates...
[2026-08-29 02:58:06,648.648 INFO    ] 200
[2026-08-29 02:58:06,650.650 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:58:06,673.673 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:58:06,792.792 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:58:06,794.794 INFO    ] No camera update needed
[2026-08-29 02:58:06,795.795 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:58:06,796.796 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:58:06,799.799 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:58:06,802.802 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:58:08,841.841 INFO    ] ================================================
[2026-08-29 02:58:08,856.856 INFO    ] Launching Daemon at Sat Aug 29 02:58:08 IST 2026
[2026-08-29 02:58:08,868.868 INFO    ] ================================================
[2026-08-29 02:58:09,247.247 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:58:09
[2026-08-29 02:58:09,581.581 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:58:09,726.726 INFO    ] Initializing speech engine...
[2026-08-29 02:58:09,736.736 INFO    ] 2026-08-29 02:58:09
[2026-08-29 02:58:09,946.946 INFO    ] 2026-08-29 02:58:09
[2026-08-29 02:58:09,975.975 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:58:10,099.099 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:58:10,144.144 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:58:10,304.304 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:58:10,370.370 INFO    ] time= 29/08/2026 02:58:10
[2026-08-29 02:58:10,399.399 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:58:10,407.407 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:58:10,474.474 INFO    ] No existing commands found in stream
[2026-08-29 02:58:15,484.484 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:58:15,487.487 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-08-29 02:58:16,091.091 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:58:16,093.093 INFO    ] Checking for system updates...
[2026-08-29 02:58:16,114.114 INFO    ] 200
[2026-08-29 02:58:16,115.115 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:58:16,166.166 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:58:16,169.169 INFO    ] No update needed
[2026-08-29 02:58:16,172.172 INFO    ] Checking for camera pi updates...
[2026-08-29 02:58:16,206.206 INFO    ] 200
[2026-08-29 02:58:16,209.209 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:58:16,255.255 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:58:16,338.338 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:58:16,341.341 INFO    ] No camera update needed
[2026-08-29 02:58:16,344.344 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:58:16,346.346 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:58:16,352.352 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:58:16,358.358 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:58:18,400.400 INFO    ] ================================================
[2026-08-29 02:58:18,416.416 INFO    ] Launching Daemon at Sat Aug 29 02:58:18 IST 2026
[2026-08-29 02:58:18,427.427 INFO    ] ================================================
[2026-08-29 02:58:19,018.018 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:58:19
[2026-08-29 02:58:19,442.442 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:58:19,580.580 INFO    ] Initializing speech engine...
[2026-08-29 02:58:19,589.589 INFO    ] 2026-08-29 02:58:19
[2026-08-29 02:58:19,794.794 INFO    ] 2026-08-29 02:58:19
[2026-08-29 02:58:19,822.822 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:58:19,959.959 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:58:19,967.967 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:58:20,145.145 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:58:20,167.167 INFO    ] time= 29/08/2026 02:58:20
[2026-08-29 02:58:20,184.184 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:58:20,192.192 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:58:20,305.305 INFO    ] No existing commands found in stream
[2026-08-29 02:58:25,332.332 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:58:25,335.335 INFO    ] Waiting 1.53 seconds before fallback handling...
[2026-08-29 02:58:27,226.226 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:58:27,227.227 INFO    ] Checking for system updates...
[2026-08-29 02:58:27,248.248 INFO    ] 200
[2026-08-29 02:58:27,249.249 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:58:27,283.283 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:58:27,284.284 INFO    ] No update needed
[2026-08-29 02:58:27,285.285 INFO    ] Checking for camera pi updates...
[2026-08-29 02:58:27,305.305 INFO    ] 200
[2026-08-29 02:58:27,306.306 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:58:27,329.329 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:58:27,422.422 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:58:27,423.423 INFO    ] No camera update needed
[2026-08-29 02:58:27,424.424 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:58:27,426.426 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:58:27,428.428 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:58:27,431.431 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:58:29,471.471 INFO    ] ================================================
[2026-08-29 02:58:29,489.489 INFO    ] Launching Daemon at Sat Aug 29 02:58:29 IST 2026
[2026-08-29 02:58:29,501.501 INFO    ] ================================================
[2026-08-29 02:58:29,880.880 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:58:29
[2026-08-29 02:58:30,211.211 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:58:30,362.362 INFO    ] Initializing speech engine...
[2026-08-29 02:58:30,367.367 INFO    ] 2026-08-29 02:58:30
[2026-08-29 02:58:30,576.576 INFO    ] 2026-08-29 02:58:30
[2026-08-29 02:58:30,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:58:30,728.728 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:58:30,772.772 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:58:30,932.932 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:58:30,999.999 INFO    ] time= 29/08/2026 02:58:30
[2026-08-29 02:58:31,024.024 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:58:31,031.031 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:58:31,097.097 INFO    ] No existing commands found in stream
[2026-08-29 02:58:36,107.107 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:58:36,110.110 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-08-29 02:58:37,129.129 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:58:37,130.130 INFO    ] Checking for system updates...
[2026-08-29 02:58:37,151.151 INFO    ] 200
[2026-08-29 02:58:37,152.152 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:58:37,183.183 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:58:37,184.184 INFO    ] No update needed
[2026-08-29 02:58:37,185.185 INFO    ] Checking for camera pi updates...
[2026-08-29 02:58:37,206.206 INFO    ] 200
[2026-08-29 02:58:37,207.207 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:58:37,232.232 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:58:37,277.277 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:58:37,278.278 INFO    ] No camera update needed
[2026-08-29 02:58:37,280.280 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:58:37,281.281 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:58:37,284.284 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:58:37,287.287 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:58:39,329.329 INFO    ] ================================================
[2026-08-29 02:58:39,344.344 INFO    ] Launching Daemon at Sat Aug 29 02:58:39 IST 2026
[2026-08-29 02:58:39,356.356 INFO    ] ================================================
[2026-08-29 02:58:39,686.686 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:58:39
[2026-08-29 02:58:40,004.004 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:58:40,137.137 INFO    ] Initializing speech engine...
[2026-08-29 02:58:40,142.142 INFO    ] 2026-08-29 02:58:40
[2026-08-29 02:58:40,337.337 INFO    ] 2026-08-29 02:58:40
[2026-08-29 02:58:40,424.424 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:58:40,588.588 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:58:40,598.598 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:58:40,745.745 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:58:40,753.753 INFO    ] time= 29/08/2026 02:58:40
[2026-08-29 02:58:40,817.817 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:58:40,856.856 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:58:40,948.948 INFO    ] No existing commands found in stream
[2026-08-29 02:58:45,960.960 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:58:45,963.963 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-08-29 02:58:48,250.250 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:58:48,252.252 INFO    ] Checking for system updates...
[2026-08-29 02:58:48,272.272 INFO    ] 200
[2026-08-29 02:58:48,274.274 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:58:48,345.345 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:58:48,348.348 INFO    ] No update needed
[2026-08-29 02:58:48,350.350 INFO    ] Checking for camera pi updates...
[2026-08-29 02:58:48,384.384 INFO    ] 200
[2026-08-29 02:58:48,387.387 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:58:48,428.428 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:58:48,526.526 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:58:48,528.528 INFO    ] No camera update needed
[2026-08-29 02:58:48,531.531 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:58:48,533.533 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:58:48,538.538 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:58:48,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:58:50,584.584 INFO    ] ================================================
[2026-08-29 02:58:50,600.600 INFO    ] Launching Daemon at Sat Aug 29 02:58:50 IST 2026
[2026-08-29 02:58:50,611.611 INFO    ] ================================================
[2026-08-29 02:58:51,179.179 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:58:51
[2026-08-29 02:58:51,604.604 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:58:51,744.744 INFO    ] Initializing speech engine...
[2026-08-29 02:58:51,752.752 INFO    ] 2026-08-29 02:58:51
[2026-08-29 02:58:52,026.026 INFO    ] 2026-08-29 02:58:52
[2026-08-29 02:58:52,062.062 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:58:52,240.240 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:58:52,253.253 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:58:52,370.370 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:58:52,390.390 INFO    ] time= 29/08/2026 02:58:52
[2026-08-29 02:58:52,410.410 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:58:52,419.419 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:58:52,487.487 INFO    ] No existing commands found in stream
[2026-08-29 02:58:57,499.499 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:58:57,502.502 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-08-29 02:59:00,300.300 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:59:00,302.302 INFO    ] Checking for system updates...
[2026-08-29 02:59:00,322.322 INFO    ] 200
[2026-08-29 02:59:00,324.324 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:59:00,357.357 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:59:00,358.358 INFO    ] No update needed
[2026-08-29 02:59:00,359.359 INFO    ] Checking for camera pi updates...
[2026-08-29 02:59:00,380.380 INFO    ] 200
[2026-08-29 02:59:00,381.381 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:59:00,405.405 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:59:00,543.543 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:59:00,545.545 INFO    ] No camera update needed
[2026-08-29 02:59:00,548.548 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:59:00,550.550 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:59:00,556.556 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:59:00,561.561 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:59:02,631.631 INFO    ] ================================================
[2026-08-29 02:59:02,654.654 INFO    ] Launching Daemon at Sat Aug 29 02:59:02 IST 2026
[2026-08-29 02:59:02,671.671 INFO    ] ================================================
[2026-08-29 02:59:03,330.330 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:59:03
[2026-08-29 02:59:03,734.734 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:59:03,865.865 INFO    ] Initializing speech engine...
[2026-08-29 02:59:03,868.868 INFO    ] 2026-08-29 02:59:03
[2026-08-29 02:59:04,070.070 INFO    ] 2026-08-29 02:59:04
[2026-08-29 02:59:04,105.105 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:59:04,259.259 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:59:04,268.268 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:59:04,419.419 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:59:04,473.473 INFO    ] time= 29/08/2026 02:59:04
[2026-08-29 02:59:04,504.504 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:59:04,556.556 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:59:04,655.655 INFO    ] No existing commands found in stream
[2026-08-29 02:59:09,664.664 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:59:09,667.667 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-08-29 02:59:11,181.181 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 02:59:11,182.182 INFO    ] Checking for system updates...
[2026-08-29 02:59:11,203.203 INFO    ] 200
[2026-08-29 02:59:11,204.204 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:59:11,234.234 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:59:11,235.235 INFO    ] No update needed
[2026-08-29 02:59:11,237.237 INFO    ] Checking for camera pi updates...
[2026-08-29 02:59:11,256.256 INFO    ] 200
[2026-08-29 02:59:11,257.257 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:59:11,280.280 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:59:11,358.358 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:59:11,359.359 INFO    ] No camera update needed
[2026-08-29 02:59:11,360.360 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:59:11,362.362 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:59:11,365.365 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:59:11,367.367 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:59:13,406.406 INFO    ] ================================================
[2026-08-29 02:59:13,422.422 INFO    ] Launching Daemon at Sat Aug 29 02:59:13 IST 2026
[2026-08-29 02:59:13,439.439 INFO    ] ================================================
[2026-08-29 02:59:14,003.003 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:59:14
[2026-08-29 02:59:14,588.588 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:59:14,841.841 INFO    ] Initializing speech engine...
[2026-08-29 02:59:14,846.846 INFO    ] 2026-08-29 02:59:14
[2026-08-29 02:59:15,141.141 INFO    ] 2026-08-29 02:59:15
[2026-08-29 02:59:15,166.166 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:59:15,323.323 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:59:15,329.329 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:59:15,479.479 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:59:15,490.490 INFO    ] time= 29/08/2026 02:59:15
[2026-08-29 02:59:15,495.495 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:59:15,499.499 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:59:15,562.562 INFO    ] No existing commands found in stream
[2026-08-29 02:59:20,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:59:20,576.576 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-08-29 02:59:24,260.260 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 02:59:24,261.261 INFO    ] Checking for system updates...
[2026-08-29 02:59:24,282.282 INFO    ] 200
[2026-08-29 02:59:24,283.283 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:59:24,313.313 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:59:24,314.314 INFO    ] No update needed
[2026-08-29 02:59:24,316.316 INFO    ] Checking for camera pi updates...
[2026-08-29 02:59:24,337.337 INFO    ] 200
[2026-08-29 02:59:24,338.338 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:59:24,361.361 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:59:24,461.461 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:59:24,462.462 INFO    ] No camera update needed
[2026-08-29 02:59:24,463.463 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:59:24,465.465 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:59:24,467.467 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:59:24,470.470 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:59:26,509.509 INFO    ] ================================================
[2026-08-29 02:59:26,524.524 INFO    ] Launching Daemon at Sat Aug 29 02:59:26 IST 2026
[2026-08-29 02:59:26,536.536 INFO    ] ================================================
[2026-08-29 02:59:26,886.886 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:59:26
[2026-08-29 02:59:27,223.223 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:59:27,362.362 INFO    ] Initializing speech engine...
[2026-08-29 02:59:27,370.370 INFO    ] 2026-08-29 02:59:27
[2026-08-29 02:59:27,573.573 INFO    ] 2026-08-29 02:59:27
[2026-08-29 02:59:27,653.653 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:59:27,810.810 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:59:27,816.816 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:59:27,951.951 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:59:27,986.986 INFO    ] time= 29/08/2026 02:59:27
[2026-08-29 02:59:28,051.051 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:59:28,086.086 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:59:28,144.144 INFO    ] No existing commands found in stream
[2026-08-29 02:59:33,156.156 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:59:33,160.160 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 02:59:35,179.179 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:59:35,180.180 INFO    ] Checking for system updates...
[2026-08-29 02:59:35,201.201 INFO    ] 200
[2026-08-29 02:59:35,203.203 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:59:35,235.235 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:59:35,237.237 INFO    ] No update needed
[2026-08-29 02:59:35,238.238 INFO    ] Checking for camera pi updates...
[2026-08-29 02:59:35,259.259 INFO    ] 200
[2026-08-29 02:59:35,260.260 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:59:35,288.288 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:59:35,370.370 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:59:35,373.373 INFO    ] No camera update needed
[2026-08-29 02:59:35,375.375 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:59:35,377.377 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:59:35,382.382 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:59:35,387.387 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:59:37,428.428 INFO    ] ================================================
[2026-08-29 02:59:37,444.444 INFO    ] Launching Daemon at Sat Aug 29 02:59:37 IST 2026
[2026-08-29 02:59:37,456.456 INFO    ] ================================================
[2026-08-29 02:59:38,045.045 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:59:38
[2026-08-29 02:59:38,534.534 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:59:38,667.667 INFO    ] Initializing speech engine...
[2026-08-29 02:59:38,672.672 INFO    ] 2026-08-29 02:59:38
[2026-08-29 02:59:38,895.895 INFO    ] 2026-08-29 02:59:38
[2026-08-29 02:59:38,971.971 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:59:39,156.156 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:59:39,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:59:39,318.318 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:59:39,335.335 INFO    ] time= 29/08/2026 02:59:39
[2026-08-29 02:59:39,400.400 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:59:39,449.449 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:59:39,528.528 INFO    ] No existing commands found in stream
[2026-08-29 02:59:44,540.540 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:59:44,543.543 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-08-29 02:59:47,207.207 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 02:59:47,208.208 INFO    ] Checking for system updates...
[2026-08-29 02:59:47,228.228 INFO    ] 200
[2026-08-29 02:59:47,229.229 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:59:47,260.260 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:59:47,262.262 INFO    ] No update needed
[2026-08-29 02:59:47,263.263 INFO    ] Checking for camera pi updates...
[2026-08-29 02:59:47,282.282 INFO    ] 200
[2026-08-29 02:59:47,284.284 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:59:47,307.307 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:59:47,384.384 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 02:59:47,385.385 INFO    ] No camera update needed
[2026-08-29 02:59:47,387.387 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:59:47,388.388 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:59:47,391.391 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:59:47,393.393 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 02:59:49,432.432 INFO    ] ================================================
[2026-08-29 02:59:49,448.448 INFO    ] Launching Daemon at Sat Aug 29 02:59:49 IST 2026
[2026-08-29 02:59:49,459.459 INFO    ] ================================================
[2026-08-29 02:59:49,961.961 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 02:59:49
[2026-08-29 02:59:50,547.547 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 02:59:50,819.819 INFO    ] Initializing speech engine...
[2026-08-29 02:59:50,825.825 INFO    ] 2026-08-29 02:59:50
[2026-08-29 02:59:51,084.084 INFO    ] 2026-08-29 02:59:51
[2026-08-29 02:59:51,137.137 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 02:59:51,279.279 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 02:59:51,290.290 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 02:59:51,430.430 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 02:59:51,439.439 INFO    ] time= 29/08/2026 02:59:51
[2026-08-29 02:59:51,446.446 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 02:59:51,492.492 INFO    ] Checking for existing commands in stream...
[2026-08-29 02:59:51,601.601 INFO    ] No existing commands found in stream
[2026-08-29 02:59:56,632.632 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 02:59:56,635.635 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-08-29 02:59:59,637.637 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 02:59:59,638.638 INFO    ] Checking for system updates...
[2026-08-29 02:59:59,658.658 INFO    ] 200
[2026-08-29 02:59:59,660.660 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:59:59,696.696 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:59:59,697.697 INFO    ] No update needed
[2026-08-29 02:59:59,698.698 INFO    ] Checking for camera pi updates...
[2026-08-29 02:59:59,717.717 INFO    ] 200
[2026-08-29 02:59:59,719.719 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 02:59:59,741.741 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 02:59:59,953.953 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 02:59:59,955.955 INFO    ] No camera update needed
[2026-08-29 02:59:59,956.956 INFO    ] Script finished. Safe exiting...
[2026-08-29 02:59:59,957.957 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 02:59:59,960.960 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 02:59:59,963.963 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:00:02,046.046 INFO    ] ================================================
[2026-08-29 03:00:02,145.145 INFO    ] Launching Daemon at Sat Aug 29 03:00:02 IST 2026
[2026-08-29 03:00:02,241.241 INFO    ] ================================================
[2026-08-29 03:00:03,868.868 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:00:03
[2026-08-29 03:00:05,743.743 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:00:06,309.309 INFO    ] Initializing speech engine...
[2026-08-29 03:00:06,320.320 INFO    ] 2026-08-29 03:00:06
[2026-08-29 03:00:06,611.611 INFO    ] 2026-08-29 03:00:06
[2026-08-29 03:00:06,689.689 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:00:06,838.838 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:00:06,848.848 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:00:06,981.981 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:00:07,028.028 INFO    ] time= 29/08/2026 03:00:06
[2026-08-29 03:00:07,087.087 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:00:07,115.115 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:00:07,167.167 INFO    ] No existing commands found in stream
[2026-08-29 03:00:12,178.178 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:00:12,181.181 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-08-29 03:00:15,427.427 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:00:15,429.429 INFO    ] Checking for system updates...
[2026-08-29 03:00:15,457.457 INFO    ] 200
[2026-08-29 03:00:15,458.458 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:00:15,491.491 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:00:15,492.492 INFO    ] No update needed
[2026-08-29 03:00:15,494.494 INFO    ] Checking for camera pi updates...
[2026-08-29 03:00:15,515.515 INFO    ] 200
[2026-08-29 03:00:15,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:00:15,542.542 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:00:15,655.655 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:00:15,656.656 INFO    ] No camera update needed
[2026-08-29 03:00:15,657.657 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:00:15,658.658 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:00:15,661.661 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:00:15,664.664 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:00:17,704.704 INFO    ] ================================================
[2026-08-29 03:00:17,720.720 INFO    ] Launching Daemon at Sat Aug 29 03:00:17 IST 2026
[2026-08-29 03:00:17,731.731 INFO    ] ================================================
[2026-08-29 03:00:18,119.119 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:00:18
[2026-08-29 03:00:18,453.453 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:00:18,602.602 INFO    ] Initializing speech engine...
[2026-08-29 03:00:18,606.606 INFO    ] 2026-08-29 03:00:18
[2026-08-29 03:00:18,864.864 INFO    ] 2026-08-29 03:00:18
[2026-08-29 03:00:18,920.920 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:00:19,088.088 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:00:19,094.094 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:00:19,260.260 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:00:19,296.296 INFO    ] time= 29/08/2026 03:00:19
[2026-08-29 03:00:19,313.313 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:00:19,323.323 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:00:19,438.438 INFO    ] No existing commands found in stream
[2026-08-29 03:00:24,463.463 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:00:24,466.466 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-08-29 03:00:27,229.229 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:00:27,230.230 INFO    ] Checking for system updates...
[2026-08-29 03:00:27,251.251 INFO    ] 200
[2026-08-29 03:00:27,252.252 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:00:27,282.282 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:00:27,284.284 INFO    ] No update needed
[2026-08-29 03:00:27,285.285 INFO    ] Checking for camera pi updates...
[2026-08-29 03:00:27,304.304 INFO    ] 200
[2026-08-29 03:00:27,306.306 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:00:27,329.329 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:00:27,427.427 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:00:27,429.429 INFO    ] No camera update needed
[2026-08-29 03:00:27,432.432 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:00:27,434.434 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:00:27,439.439 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:00:27,444.444 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:00:29,485.485 INFO    ] ================================================
[2026-08-29 03:00:29,500.500 INFO    ] Launching Daemon at Sat Aug 29 03:00:29 IST 2026
[2026-08-29 03:00:29,511.511 INFO    ] ================================================
[2026-08-29 03:00:30,152.152 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:00:30
[2026-08-29 03:00:30,644.644 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:00:30,794.794 INFO    ] Initializing speech engine...
[2026-08-29 03:00:30,800.800 INFO    ] 2026-08-29 03:00:30
[2026-08-29 03:00:31,039.039 INFO    ] 2026-08-29 03:00:30
[2026-08-29 03:00:31,094.094 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:00:31,263.263 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:00:31,268.268 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:00:31,440.440 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:00:31,470.470 INFO    ] time= 29/08/2026 03:00:31
[2026-08-29 03:00:31,490.490 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:00:31,513.513 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:00:31,623.623 INFO    ] No existing commands found in stream
[2026-08-29 03:00:36,638.638 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:00:36,642.642 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-08-29 03:00:39,313.313 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:00:39,314.314 INFO    ] Checking for system updates...
[2026-08-29 03:00:39,335.335 INFO    ] 200
[2026-08-29 03:00:39,336.336 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:00:39,385.385 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:00:39,388.388 INFO    ] No update needed
[2026-08-29 03:00:39,391.391 INFO    ] Checking for camera pi updates...
[2026-08-29 03:00:39,425.425 INFO    ] 200
[2026-08-29 03:00:39,428.428 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:00:39,473.473 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:00:39,555.555 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:00:39,558.558 INFO    ] No camera update needed
[2026-08-29 03:00:39,561.561 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:00:39,563.563 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:00:39,569.569 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:00:39,575.575 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:00:41,618.618 INFO    ] ================================================
[2026-08-29 03:00:41,634.634 INFO    ] Launching Daemon at Sat Aug 29 03:00:41 IST 2026
[2026-08-29 03:00:41,645.645 INFO    ] ================================================
[2026-08-29 03:00:42,214.214 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:00:42
[2026-08-29 03:00:42,649.649 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:00:42,792.792 INFO    ] Initializing speech engine...
[2026-08-29 03:00:42,797.797 INFO    ] 2026-08-29 03:00:42
[2026-08-29 03:00:42,983.983 INFO    ] 2026-08-29 03:00:42
[2026-08-29 03:00:43,043.043 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:00:43,184.184 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:00:43,196.196 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:00:43,337.337 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:00:43,345.345 INFO    ] time= 29/08/2026 03:00:43
[2026-08-29 03:00:43,352.352 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:00:43,397.397 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:00:43,520.520 INFO    ] No existing commands found in stream
[2026-08-29 03:00:48,545.545 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:00:48,548.548 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 03:00:52,345.345 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:00:52,347.347 INFO    ] Checking for system updates...
[2026-08-29 03:00:52,367.367 INFO    ] 200
[2026-08-29 03:00:52,368.368 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:00:52,399.399 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:00:52,400.400 INFO    ] No update needed
[2026-08-29 03:00:52,401.401 INFO    ] Checking for camera pi updates...
[2026-08-29 03:00:52,420.420 INFO    ] 200
[2026-08-29 03:00:52,422.422 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:00:52,445.445 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:00:52,543.543 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:00:52,545.545 INFO    ] No camera update needed
[2026-08-29 03:00:52,546.546 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:00:52,547.547 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:00:52,550.550 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:00:52,553.553 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:00:54,591.591 INFO    ] ================================================
[2026-08-29 03:00:54,607.607 INFO    ] Launching Daemon at Sat Aug 29 03:00:54 IST 2026
[2026-08-29 03:00:54,618.618 INFO    ] ================================================
[2026-08-29 03:00:54,964.964 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:00:54
[2026-08-29 03:00:55,297.297 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:00:55,450.450 INFO    ] Initializing speech engine...
[2026-08-29 03:00:55,454.454 INFO    ] 2026-08-29 03:00:55
[2026-08-29 03:00:55,662.662 INFO    ] 2026-08-29 03:00:55
[2026-08-29 03:00:55,692.692 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:00:55,827.827 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:00:55,880.880 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:00:56,018.018 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:00:56,082.082 INFO    ] time= 29/08/2026 03:00:56
[2026-08-29 03:00:56,121.121 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:00:56,130.130 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:00:56,231.231 INFO    ] No existing commands found in stream
[2026-08-29 03:01:01,242.242 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:01:01,245.245 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-08-29 03:01:03,840.840 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:01:03,842.842 INFO    ] Checking for system updates...
[2026-08-29 03:01:03,878.878 INFO    ] 200
[2026-08-29 03:01:03,881.881 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:01:03,935.935 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:01:03,937.937 INFO    ] No update needed
[2026-08-29 03:01:03,940.940 INFO    ] Checking for camera pi updates...
[2026-08-29 03:01:03,979.979 INFO    ] 200
[2026-08-29 03:01:03,981.981 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:01:04,023.023 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:01:04,143.143 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:01:04,155.155 INFO    ] No camera update needed
[2026-08-29 03:01:04,157.157 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:01:04,160.160 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:01:04,166.166 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:01:04,171.171 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:01:06,213.213 INFO    ] ================================================
[2026-08-29 03:01:06,229.229 INFO    ] Launching Daemon at Sat Aug 29 03:01:06 IST 2026
[2026-08-29 03:01:06,242.242 INFO    ] ================================================
[2026-08-29 03:01:06,790.790 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:01:06
[2026-08-29 03:01:07,377.377 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:01:07,631.631 INFO    ] Initializing speech engine...
[2026-08-29 03:01:07,640.640 INFO    ] 2026-08-29 03:01:07
[2026-08-29 03:01:07,931.931 INFO    ] 2026-08-29 03:01:07
[2026-08-29 03:01:07,969.969 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:01:08,163.163 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:01:08,169.169 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:01:08,298.298 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:01:08,305.305 INFO    ] time= 29/08/2026 03:01:08
[2026-08-29 03:01:08,310.310 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:01:08,332.332 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:01:08,431.431 INFO    ] No existing commands found in stream
[2026-08-29 03:01:13,443.443 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:01:13,446.446 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-08-29 03:01:14,574.574 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:01:14,576.576 INFO    ] Checking for system updates...
[2026-08-29 03:01:14,596.596 INFO    ] 200
[2026-08-29 03:01:14,597.597 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:01:14,627.627 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:01:14,628.628 INFO    ] No update needed
[2026-08-29 03:01:14,629.629 INFO    ] Checking for camera pi updates...
[2026-08-29 03:01:14,652.652 INFO    ] 200
[2026-08-29 03:01:14,655.655 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:01:14,699.699 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:01:14,793.793 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:01:14,796.796 INFO    ] No camera update needed
[2026-08-29 03:01:14,798.798 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:01:14,800.800 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:01:14,806.806 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:01:14,811.811 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:01:16,852.852 INFO    ] ================================================
[2026-08-29 03:01:16,868.868 INFO    ] Launching Daemon at Sat Aug 29 03:01:16 IST 2026
[2026-08-29 03:01:16,880.880 INFO    ] ================================================
[2026-08-29 03:01:17,447.447 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:01:17
[2026-08-29 03:01:18,035.035 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:01:18,288.288 INFO    ] Initializing speech engine...
[2026-08-29 03:01:18,295.295 INFO    ] 2026-08-29 03:01:18
[2026-08-29 03:01:18,557.557 INFO    ] 2026-08-29 03:01:18
[2026-08-29 03:01:18,646.646 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:01:18,887.887 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:01:18,895.895 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:01:19,048.048 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:01:19,098.098 INFO    ] time= 29/08/2026 03:01:19
[2026-08-29 03:01:19,128.128 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:01:19,134.134 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:01:19,257.257 INFO    ] No existing commands found in stream
[2026-08-29 03:01:24,274.274 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:01:24,277.277 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-08-29 03:01:28,020.020 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:01:28,022.022 INFO    ] Checking for system updates...
[2026-08-29 03:01:28,042.042 INFO    ] 200
[2026-08-29 03:01:28,043.043 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:01:28,075.075 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:01:28,077.077 INFO    ] No update needed
[2026-08-29 03:01:28,078.078 INFO    ] Checking for camera pi updates...
[2026-08-29 03:01:28,097.097 INFO    ] 200
[2026-08-29 03:01:28,099.099 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:01:28,122.122 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:01:28,213.213 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:01:28,215.215 INFO    ] No camera update needed
[2026-08-29 03:01:28,218.218 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:01:28,220.220 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:01:28,225.225 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:01:28,230.230 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:01:30,270.270 INFO    ] ================================================
[2026-08-29 03:01:30,286.286 INFO    ] Launching Daemon at Sat Aug 29 03:01:30 IST 2026
[2026-08-29 03:01:30,297.297 INFO    ] ================================================
[2026-08-29 03:01:30,889.889 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:01:30
[2026-08-29 03:01:31,347.347 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:01:31,483.483 INFO    ] Initializing speech engine...
[2026-08-29 03:01:31,496.496 INFO    ] 2026-08-29 03:01:31
[2026-08-29 03:01:31,684.684 INFO    ] 2026-08-29 03:01:31
[2026-08-29 03:01:31,753.753 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:01:31,941.941 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:01:31,957.957 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:01:32,117.117 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:01:32,145.145 INFO    ] time= 29/08/2026 03:01:32
[2026-08-29 03:01:32,201.201 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:01:32,252.252 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:01:32,342.342 INFO    ] No existing commands found in stream
[2026-08-29 03:01:37,355.355 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:01:37,358.358 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-08-29 03:01:38,711.711 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:01:38,713.713 INFO    ] Checking for system updates...
[2026-08-29 03:01:38,733.733 INFO    ] 200
[2026-08-29 03:01:38,735.735 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:01:38,765.765 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:01:38,766.766 INFO    ] No update needed
[2026-08-29 03:01:38,767.767 INFO    ] Checking for camera pi updates...
[2026-08-29 03:01:38,787.787 INFO    ] 200
[2026-08-29 03:01:38,788.788 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:01:38,811.811 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:01:38,909.909 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:01:38,910.910 INFO    ] No camera update needed
[2026-08-29 03:01:38,912.912 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:01:38,913.913 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:01:38,916.916 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:01:38,919.919 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:01:40,957.957 INFO    ] ================================================
[2026-08-29 03:01:40,973.973 INFO    ] Launching Daemon at Sat Aug 29 03:01:40 IST 2026
[2026-08-29 03:01:40,984.984 INFO    ] ================================================
[2026-08-29 03:01:41,608.608 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:01:41
[2026-08-29 03:01:42,273.273 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:01:42,577.577 INFO    ] Initializing speech engine...
[2026-08-29 03:01:42,586.586 INFO    ] 2026-08-29 03:01:42
[2026-08-29 03:01:42,860.860 INFO    ] 2026-08-29 03:01:42
[2026-08-29 03:01:42,915.915 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:01:43,140.140 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:01:43,151.151 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:01:43,286.286 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:01:43,336.336 INFO    ] time= 29/08/2026 03:01:43
[2026-08-29 03:01:43,396.396 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:01:43,418.418 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:01:43,475.475 INFO    ] No existing commands found in stream
[2026-08-29 03:01:48,488.488 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:01:48,491.491 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-08-29 03:01:52,437.437 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:01:52,440.440 INFO    ] Checking for system updates...
[2026-08-29 03:01:52,478.478 INFO    ] 200
[2026-08-29 03:01:52,480.480 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:01:52,535.535 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:01:52,537.537 INFO    ] No update needed
[2026-08-29 03:01:52,540.540 INFO    ] Checking for camera pi updates...
[2026-08-29 03:01:52,574.574 INFO    ] 200
[2026-08-29 03:01:52,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:01:52,621.621 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:01:52,710.710 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:01:52,713.713 INFO    ] No camera update needed
[2026-08-29 03:01:52,715.715 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:01:52,717.717 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:01:52,723.723 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:01:52,728.728 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:01:54,768.768 INFO    ] ================================================
[2026-08-29 03:01:54,783.783 INFO    ] Launching Daemon at Sat Aug 29 03:01:54 IST 2026
[2026-08-29 03:01:54,794.794 INFO    ] ================================================
[2026-08-29 03:01:55,121.121 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:01:55
[2026-08-29 03:01:55,433.433 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:01:55,576.576 INFO    ] Initializing speech engine...
[2026-08-29 03:01:55,581.581 INFO    ] 2026-08-29 03:01:55
[2026-08-29 03:01:55,787.787 INFO    ] 2026-08-29 03:01:55
[2026-08-29 03:01:55,815.815 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:01:55,978.978 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:01:55,985.985 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:01:56,130.130 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:01:56,136.136 INFO    ] time= 29/08/2026 03:01:56
[2026-08-29 03:01:56,153.153 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:01:56,161.161 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:01:56,249.249 INFO    ] No existing commands found in stream
[2026-08-29 03:02:01,274.274 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:02:01,277.277 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-08-29 03:02:04,756.756 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:02:04,758.758 INFO    ] Checking for system updates...
[2026-08-29 03:02:04,778.778 INFO    ] 200
[2026-08-29 03:02:04,779.779 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:02:04,818.818 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:02:04,820.820 INFO    ] No update needed
[2026-08-29 03:02:04,823.823 INFO    ] Checking for camera pi updates...
[2026-08-29 03:02:04,858.858 INFO    ] 200
[2026-08-29 03:02:04,860.860 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:02:04,901.901 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:02:04,956.956 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:02:04,958.958 INFO    ] No camera update needed
[2026-08-29 03:02:04,960.960 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:02:04,963.963 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:02:04,968.968 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:02:04,973.973 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:02:07,020.020 INFO    ] ================================================
[2026-08-29 03:02:07,035.035 INFO    ] Launching Daemon at Sat Aug 29 03:02:07 IST 2026
[2026-08-29 03:02:07,046.046 INFO    ] ================================================
[2026-08-29 03:02:07,683.683 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:02:07
[2026-08-29 03:02:08,132.132 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:02:08,283.283 INFO    ] Initializing speech engine...
[2026-08-29 03:02:08,288.288 INFO    ] 2026-08-29 03:02:08
[2026-08-29 03:02:08,564.564 INFO    ] 2026-08-29 03:02:08
[2026-08-29 03:02:08,610.610 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:02:08,831.831 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:02:08,840.840 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:02:08,976.976 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:02:09,047.047 INFO    ] time= 29/08/2026 03:02:08
[2026-08-29 03:02:09,101.101 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:02:09,111.111 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:02:09,243.243 INFO    ] No existing commands found in stream
[2026-08-29 03:02:14,268.268 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:02:14,271.271 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-08-29 03:02:15,579.579 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:02:15,581.581 INFO    ] Checking for system updates...
[2026-08-29 03:02:15,607.607 INFO    ] 200
[2026-08-29 03:02:15,608.608 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:02:15,641.641 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:02:15,643.643 INFO    ] No update needed
[2026-08-29 03:02:15,645.645 INFO    ] Checking for camera pi updates...
[2026-08-29 03:02:15,664.664 INFO    ] 200
[2026-08-29 03:02:15,666.666 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:02:15,689.689 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:02:15,770.770 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:02:15,771.771 INFO    ] No camera update needed
[2026-08-29 03:02:15,773.773 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:02:15,774.774 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:02:15,777.777 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:02:15,780.780 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:02:17,818.818 INFO    ] ================================================
[2026-08-29 03:02:17,833.833 INFO    ] Launching Daemon at Sat Aug 29 03:02:17 IST 2026
[2026-08-29 03:02:17,844.844 INFO    ] ================================================
[2026-08-29 03:02:18,183.183 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:02:18
[2026-08-29 03:02:18,494.494 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:02:18,627.627 INFO    ] Initializing speech engine...
[2026-08-29 03:02:18,631.631 INFO    ] 2026-08-29 03:02:18
[2026-08-29 03:02:18,828.828 INFO    ] 2026-08-29 03:02:18
[2026-08-29 03:02:18,867.867 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:02:19,016.016 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:02:19,064.064 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:02:19,219.219 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:02:19,279.279 INFO    ] time= 29/08/2026 03:02:19
[2026-08-29 03:02:19,309.309 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:02:19,315.315 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:02:19,386.386 INFO    ] No existing commands found in stream
[2026-08-29 03:02:24,396.396 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:02:24,399.399 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 03:02:27,909.909 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:02:27,911.911 INFO    ] Checking for system updates...
[2026-08-29 03:02:27,931.931 INFO    ] 200
[2026-08-29 03:02:27,933.933 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:02:27,964.964 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:02:27,966.966 INFO    ] No update needed
[2026-08-29 03:02:27,967.967 INFO    ] Checking for camera pi updates...
[2026-08-29 03:02:27,986.986 INFO    ] 200
[2026-08-29 03:02:27,988.988 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:02:28,012.012 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:02:28,095.095 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:02:28,096.096 INFO    ] No camera update needed
[2026-08-29 03:02:28,097.097 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:02:28,098.098 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:02:28,101.101 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:02:28,104.104 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:02:30,142.142 INFO    ] ================================================
[2026-08-29 03:02:30,157.157 INFO    ] Launching Daemon at Sat Aug 29 03:02:30 IST 2026
[2026-08-29 03:02:30,168.168 INFO    ] ================================================
[2026-08-29 03:02:30,697.697 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:02:30
[2026-08-29 03:02:31,295.295 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:02:31,584.584 INFO    ] Initializing speech engine...
[2026-08-29 03:02:31,601.601 INFO    ] 2026-08-29 03:02:31
[2026-08-29 03:02:31,872.872 INFO    ] 2026-08-29 03:02:31
[2026-08-29 03:02:31,941.941 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:02:32,181.181 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:02:32,190.190 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:02:32,328.328 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:02:32,340.340 INFO    ] time= 29/08/2026 03:02:32
[2026-08-29 03:02:32,395.395 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:02:32,455.455 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:02:32,519.519 INFO    ] No existing commands found in stream
[2026-08-29 03:02:37,531.531 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:02:37,534.534 INFO    ] Waiting 2.52 seconds before fallback handling...
[2026-08-29 03:02:40,433.433 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:02:40,434.434 INFO    ] Checking for system updates...
[2026-08-29 03:02:40,455.455 INFO    ] 200
[2026-08-29 03:02:40,456.456 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:02:40,487.487 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:02:40,488.488 INFO    ] No update needed
[2026-08-29 03:02:40,489.489 INFO    ] Checking for camera pi updates...
[2026-08-29 03:02:40,510.510 INFO    ] 200
[2026-08-29 03:02:40,511.511 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:02:40,536.536 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:02:40,613.613 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:02:40,615.615 INFO    ] No camera update needed
[2026-08-29 03:02:40,616.616 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:02:40,617.617 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:02:40,620.620 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:02:40,623.623 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:02:42,663.663 INFO    ] ================================================
[2026-08-29 03:02:42,678.678 INFO    ] Launching Daemon at Sat Aug 29 03:02:42 IST 2026
[2026-08-29 03:02:42,689.689 INFO    ] ================================================
[2026-08-29 03:02:43,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:02:43
[2026-08-29 03:02:43,375.375 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:02:43,512.512 INFO    ] Initializing speech engine...
[2026-08-29 03:02:43,518.518 INFO    ] 2026-08-29 03:02:43
[2026-08-29 03:02:43,789.789 INFO    ] 2026-08-29 03:02:43
[2026-08-29 03:02:43,825.825 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:02:43,996.996 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:02:44,008.008 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:02:44,150.150 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:02:44,157.157 INFO    ] time= 29/08/2026 03:02:44
[2026-08-29 03:02:44,162.162 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:02:44,168.168 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:02:44,235.235 INFO    ] No existing commands found in stream
[2026-08-29 03:02:49,250.250 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:02:49,253.253 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-08-29 03:02:52,191.191 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:02:52,193.193 INFO    ] Checking for system updates...
[2026-08-29 03:02:52,214.214 INFO    ] 200
[2026-08-29 03:02:52,215.215 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:02:52,246.246 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:02:52,247.247 INFO    ] No update needed
[2026-08-29 03:02:52,249.249 INFO    ] Checking for camera pi updates...
[2026-08-29 03:02:52,268.268 INFO    ] 200
[2026-08-29 03:02:52,270.270 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:02:52,293.293 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:02:52,381.381 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:02:52,382.382 INFO    ] No camera update needed
[2026-08-29 03:02:52,384.384 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:02:52,385.385 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:02:52,388.388 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:02:52,391.391 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:02:54,431.431 INFO    ] ================================================
[2026-08-29 03:02:54,448.448 INFO    ] Launching Daemon at Sat Aug 29 03:02:54 IST 2026
[2026-08-29 03:02:54,459.459 INFO    ] ================================================
[2026-08-29 03:02:54,808.808 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:02:54
[2026-08-29 03:02:55,149.149 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:02:55,299.299 INFO    ] Initializing speech engine...
[2026-08-29 03:02:55,305.305 INFO    ] 2026-08-29 03:02:55
[2026-08-29 03:02:55,510.510 INFO    ] 2026-08-29 03:02:55
[2026-08-29 03:02:55,553.553 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:02:55,775.775 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:02:55,785.785 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:02:55,921.921 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:02:55,981.981 INFO    ] time= 29/08/2026 03:02:55
[2026-08-29 03:02:56,046.046 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:02:56,055.055 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:02:56,150.150 INFO    ] No existing commands found in stream
[2026-08-29 03:03:01,180.180 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:03:01,184.184 INFO    ] Waiting 3.71 seconds before fallback handling...
[2026-08-29 03:03:05,278.278 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:03:05,279.279 INFO    ] Checking for system updates...
[2026-08-29 03:03:05,301.301 INFO    ] 200
[2026-08-29 03:03:05,302.302 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:03:05,334.334 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:03:05,335.335 INFO    ] No update needed
[2026-08-29 03:03:05,337.337 INFO    ] Checking for camera pi updates...
[2026-08-29 03:03:05,359.359 INFO    ] 200
[2026-08-29 03:03:05,360.360 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:03:05,383.383 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:03:05,464.464 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:03:05,466.466 INFO    ] No camera update needed
[2026-08-29 03:03:05,467.467 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:03:05,468.468 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:03:05,471.471 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:03:05,474.474 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:03:07,514.514 INFO    ] ================================================
[2026-08-29 03:03:07,529.529 INFO    ] Launching Daemon at Sat Aug 29 03:03:07 IST 2026
[2026-08-29 03:03:07,540.540 INFO    ] ================================================
[2026-08-29 03:03:08,164.164 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:03:08
[2026-08-29 03:03:08,812.812 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:03:09,012.012 INFO    ] Initializing speech engine...
[2026-08-29 03:03:09,028.028 INFO    ] 2026-08-29 03:03:09
[2026-08-29 03:03:09,306.306 INFO    ] 2026-08-29 03:03:09
[2026-08-29 03:03:09,368.368 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:03:09,545.545 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:03:09,595.595 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:03:09,793.793 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:03:09,801.801 INFO    ] time= 29/08/2026 03:03:09
[2026-08-29 03:03:09,867.867 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:03:09,918.918 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:03:09,998.998 INFO    ] No existing commands found in stream
[2026-08-29 03:03:15,010.010 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:03:15,014.014 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-08-29 03:03:18,709.709 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:03:18,711.711 INFO    ] Checking for system updates...
[2026-08-29 03:03:18,732.732 INFO    ] 200
[2026-08-29 03:03:18,733.733 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:03:18,763.763 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:03:18,764.764 INFO    ] No update needed
[2026-08-29 03:03:18,766.766 INFO    ] Checking for camera pi updates...
[2026-08-29 03:03:18,785.785 INFO    ] 200
[2026-08-29 03:03:18,786.786 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:03:18,810.810 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:03:18,894.894 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:03:18,895.895 INFO    ] No camera update needed
[2026-08-29 03:03:18,897.897 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:03:18,898.898 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:03:18,901.901 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:03:18,904.904 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:03:20,943.943 INFO    ] ================================================
[2026-08-29 03:03:20,958.958 INFO    ] Launching Daemon at Sat Aug 29 03:03:20 IST 2026
[2026-08-29 03:03:20,969.969 INFO    ] ================================================
[2026-08-29 03:03:21,294.294 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:03:21
[2026-08-29 03:03:21,606.606 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:03:21,737.737 INFO    ] Initializing speech engine...
[2026-08-29 03:03:21,741.741 INFO    ] 2026-08-29 03:03:21
[2026-08-29 03:03:21,960.960 INFO    ] 2026-08-29 03:03:21
[2026-08-29 03:03:21,989.989 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:03:22,114.114 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:03:22,122.122 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:03:22,290.290 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:03:22,325.325 INFO    ] time= 29/08/2026 03:03:22
[2026-08-29 03:03:22,331.331 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:03:22,352.352 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:03:22,468.468 INFO    ] No existing commands found in stream
[2026-08-29 03:03:27,493.493 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:03:27,496.496 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-08-29 03:03:34,107.107 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:03:34,109.109 INFO    ] Checking for system updates...
[2026-08-29 03:03:34,147.147 INFO    ] 200
[2026-08-29 03:03:34,150.150 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:03:34,203.203 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:03:34,205.205 INFO    ] No update needed
[2026-08-29 03:03:34,207.207 INFO    ] Checking for camera pi updates...
[2026-08-29 03:03:34,240.240 INFO    ] 200
[2026-08-29 03:03:34,241.241 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:03:34,266.266 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:03:34,366.366 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:03:34,367.367 INFO    ] No camera update needed
[2026-08-29 03:03:34,369.369 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:03:34,370.370 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:03:34,373.373 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:03:34,376.376 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:03:36,408.408 INFO    ] ================================================
[2026-08-29 03:03:36,423.423 INFO    ] Launching Daemon at Sat Aug 29 03:03:36 IST 2026
[2026-08-29 03:03:36,433.433 INFO    ] ================================================
[2026-08-29 03:03:36,773.773 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:03:36
[2026-08-29 03:03:37,087.087 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:03:37,252.252 INFO    ] Initializing speech engine...
[2026-08-29 03:03:37,254.254 INFO    ] 2026-08-29 03:03:37
[2026-08-29 03:03:37,518.518 INFO    ] 2026-08-29 03:03:37
[2026-08-29 03:03:37,569.569 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:03:37,736.736 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:03:37,763.763 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:03:37,878.878 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:03:37,940.940 INFO    ] time= 29/08/2026 03:03:37
[2026-08-29 03:03:37,962.962 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:03:38,021.021 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:03:38,096.096 INFO    ] No existing commands found in stream
[2026-08-29 03:03:43,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:03:43,124.124 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-08-29 03:03:47,088.088 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:03:47,091.091 INFO    ] Checking for system updates...
[2026-08-29 03:03:47,146.146 INFO    ] 200
[2026-08-29 03:03:47,149.149 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 03:03:47,152.152 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-08-29 03:03:47,156.156 INFO    ] Checking for camera pi updates...
[2026-08-29 03:03:47,196.196 INFO    ] 200
[2026-08-29 03:03:47,199.199 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 03:03:47,202.202 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-08-29 03:03:47,205.205 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:03:47,208.208 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:03:47,215.215 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:03:47,221.221 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:03:49,263.263 INFO    ] ================================================
[2026-08-29 03:03:49,278.278 INFO    ] Launching Daemon at Sat Aug 29 03:03:49 IST 2026
[2026-08-29 03:03:49,289.289 INFO    ] ================================================
[2026-08-29 03:03:49,859.859 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:03:49
[2026-08-29 03:03:50,445.445 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:03:50,689.689 INFO    ] Initializing speech engine...
[2026-08-29 03:03:50,698.698 INFO    ] 2026-08-29 03:03:50
[2026-08-29 03:03:50,889.889 INFO    ] 2026-08-29 03:03:50
[2026-08-29 03:03:50,924.924 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:03:51,100.100 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:03:51,113.113 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:03:51,226.226 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:03:51,230.230 INFO    ] time= 29/08/2026 03:03:51
[2026-08-29 03:03:51,250.250 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:03:51,273.273 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:03:51,347.347 INFO    ] No existing commands found in stream
[2026-08-29 03:03:56,372.372 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:03:56,375.375 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-08-29 03:03:56,854.854 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:03:56,855.855 INFO    ] Checking for system updates...
[2026-08-29 03:03:56,876.876 INFO    ] 200
[2026-08-29 03:03:56,877.877 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:03:56,907.907 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:03:56,908.908 INFO    ] No update needed
[2026-08-29 03:03:56,909.909 INFO    ] Checking for camera pi updates...
[2026-08-29 03:03:56,928.928 INFO    ] 200
[2026-08-29 03:03:56,929.929 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:03:56,965.965 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:03:57,046.046 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:03:57,048.048 INFO    ] No camera update needed
[2026-08-29 03:03:57,050.050 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:03:57,053.053 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:03:57,058.058 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:03:57,063.063 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:03:59,102.102 INFO    ] ================================================
[2026-08-29 03:03:59,117.117 INFO    ] Launching Daemon at Sat Aug 29 03:03:59 IST 2026
[2026-08-29 03:03:59,128.128 INFO    ] ================================================
[2026-08-29 03:03:59,712.712 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:03:59
[2026-08-29 03:04:00,198.198 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:04:00,344.344 INFO    ] Initializing speech engine...
[2026-08-29 03:04:00,347.347 INFO    ] 2026-08-29 03:04:00
[2026-08-29 03:04:00,551.551 INFO    ] 2026-08-29 03:04:00
[2026-08-29 03:04:00,630.630 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:04:00,777.777 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:04:00,786.786 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:04:00,920.920 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:04:00,990.990 INFO    ] time= 29/08/2026 03:04:00
[2026-08-29 03:04:01,046.046 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:04:01,053.053 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:04:01,169.169 INFO    ] No existing commands found in stream
[2026-08-29 03:04:06,199.199 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:04:06,202.202 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-08-29 03:04:08,026.026 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:04:08,028.028 INFO    ] Checking for system updates...
[2026-08-29 03:04:08,049.049 INFO    ] 200
[2026-08-29 03:04:08,050.050 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:04:08,080.080 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:04:08,082.082 INFO    ] No update needed
[2026-08-29 03:04:08,083.083 INFO    ] Checking for camera pi updates...
[2026-08-29 03:04:08,103.103 INFO    ] 200
[2026-08-29 03:04:08,105.105 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:04:08,129.129 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:04:08,208.208 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:04:08,209.209 INFO    ] No camera update needed
[2026-08-29 03:04:08,210.210 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:04:08,212.212 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:04:08,215.215 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:04:08,217.217 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:04:10,257.257 INFO    ] ================================================
[2026-08-29 03:04:10,273.273 INFO    ] Launching Daemon at Sat Aug 29 03:04:10 IST 2026
[2026-08-29 03:04:10,284.284 INFO    ] ================================================
[2026-08-29 03:04:10,635.635 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:04:10
[2026-08-29 03:04:10,949.949 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:04:11,083.083 INFO    ] Initializing speech engine...
[2026-08-29 03:04:11,087.087 INFO    ] 2026-08-29 03:04:11
[2026-08-29 03:04:11,294.294 INFO    ] 2026-08-29 03:04:11
[2026-08-29 03:04:11,385.385 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:04:11,556.556 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:04:11,566.566 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:04:11,721.721 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:04:11,744.744 INFO    ] time= 29/08/2026 03:04:11
[2026-08-29 03:04:11,787.787 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:04:11,842.842 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:04:11,936.936 INFO    ] No existing commands found in stream
[2026-08-29 03:04:16,947.947 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:04:16,950.950 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-08-29 03:04:19,191.191 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:04:19,193.193 INFO    ] Checking for system updates...
[2026-08-29 03:04:19,213.213 INFO    ] 200
[2026-08-29 03:04:19,215.215 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:04:19,245.245 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:04:19,246.246 INFO    ] No update needed
[2026-08-29 03:04:19,247.247 INFO    ] Checking for camera pi updates...
[2026-08-29 03:04:19,267.267 INFO    ] 200
[2026-08-29 03:04:19,268.268 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:04:19,291.291 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:04:19,389.389 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:04:19,391.391 INFO    ] No camera update needed
[2026-08-29 03:04:19,394.394 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:04:19,396.396 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:04:19,401.401 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:04:19,406.406 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:04:21,447.447 INFO    ] ================================================
[2026-08-29 03:04:21,463.463 INFO    ] Launching Daemon at Sat Aug 29 03:04:21 IST 2026
[2026-08-29 03:04:21,474.474 INFO    ] ================================================
[2026-08-29 03:04:22,043.043 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:04:22
[2026-08-29 03:04:22,501.501 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:04:22,639.639 INFO    ] Initializing speech engine...
[2026-08-29 03:04:22,650.650 INFO    ] 2026-08-29 03:04:22
[2026-08-29 03:04:22,867.867 INFO    ] 2026-08-29 03:04:22
[2026-08-29 03:04:22,953.953 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:04:23,104.104 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:04:23,113.113 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:04:23,252.252 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:04:23,291.291 INFO    ] time= 29/08/2026 03:04:23
[2026-08-29 03:04:23,346.346 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:04:23,386.386 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:04:23,438.438 INFO    ] No existing commands found in stream
[2026-08-29 03:04:28,450.450 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:04:28,453.453 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-08-29 03:04:29,333.333 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:04:29,334.334 INFO    ] Checking for system updates...
[2026-08-29 03:04:29,355.355 INFO    ] 200
[2026-08-29 03:04:29,356.356 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:04:29,386.386 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:04:29,388.388 INFO    ] No update needed
[2026-08-29 03:04:29,389.389 INFO    ] Checking for camera pi updates...
[2026-08-29 03:04:29,409.409 INFO    ] 200
[2026-08-29 03:04:29,410.410 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:04:29,435.435 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:04:29,530.530 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:04:29,532.532 INFO    ] No camera update needed
[2026-08-29 03:04:29,533.533 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:04:29,535.535 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:04:29,538.538 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:04:29,541.541 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:04:31,574.574 INFO    ] ================================================
[2026-08-29 03:04:31,589.589 INFO    ] Launching Daemon at Sat Aug 29 03:04:31 IST 2026
[2026-08-29 03:04:31,600.600 INFO    ] ================================================
[2026-08-29 03:04:32,188.188 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:04:32
[2026-08-29 03:04:32,828.828 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:04:33,125.125 INFO    ] Initializing speech engine...
[2026-08-29 03:04:33,135.135 INFO    ] 2026-08-29 03:04:33
[2026-08-29 03:04:33,382.382 INFO    ] 2026-08-29 03:04:33
[2026-08-29 03:04:33,417.417 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:04:33,590.590 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:04:33,603.603 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:04:33,743.743 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:04:33,751.751 INFO    ] time= 29/08/2026 03:04:33
[2026-08-29 03:04:33,756.756 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:04:33,789.789 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:04:33,855.855 INFO    ] No existing commands found in stream
[2026-08-29 03:04:38,864.864 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:04:38,867.867 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-08-29 03:04:40,009.009 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:04:40,011.011 INFO    ] Checking for system updates...
[2026-08-29 03:04:40,031.031 INFO    ] 200
[2026-08-29 03:04:40,033.033 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:04:40,072.072 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:04:40,073.073 INFO    ] No update needed
[2026-08-29 03:04:40,074.074 INFO    ] Checking for camera pi updates...
[2026-08-29 03:04:40,095.095 INFO    ] 200
[2026-08-29 03:04:40,096.096 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:04:40,119.119 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:04:40,202.202 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:04:40,203.203 INFO    ] No camera update needed
[2026-08-29 03:04:40,204.204 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:04:40,206.206 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:04:40,209.209 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:04:40,211.211 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:04:42,252.252 INFO    ] ================================================
[2026-08-29 03:04:42,267.267 INFO    ] Launching Daemon at Sat Aug 29 03:04:42 IST 2026
[2026-08-29 03:04:42,278.278 INFO    ] ================================================
[2026-08-29 03:04:42,656.656 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:04:42
[2026-08-29 03:04:43,263.263 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:04:43,578.578 INFO    ] Initializing speech engine...
[2026-08-29 03:04:43,586.586 INFO    ] 2026-08-29 03:04:43
[2026-08-29 03:04:43,872.872 INFO    ] 2026-08-29 03:04:43
[2026-08-29 03:04:43,983.983 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:04:44,137.137 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:04:44,143.143 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:04:44,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:04:44,342.342 INFO    ] time= 29/08/2026 03:04:44
[2026-08-29 03:04:44,392.392 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:04:44,411.411 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:04:44,538.538 INFO    ] No existing commands found in stream
[2026-08-29 03:04:49,565.565 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:04:49,568.568 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-08-29 03:04:50,478.478 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:04:50,480.480 INFO    ] Checking for system updates...
[2026-08-29 03:04:50,501.501 INFO    ] 200
[2026-08-29 03:04:50,502.502 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:04:50,532.532 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:04:50,534.534 INFO    ] No update needed
[2026-08-29 03:04:50,535.535 INFO    ] Checking for camera pi updates...
[2026-08-29 03:04:50,555.555 INFO    ] 200
[2026-08-29 03:04:50,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:04:50,580.580 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:04:50,677.677 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:04:50,678.678 INFO    ] No camera update needed
[2026-08-29 03:04:50,680.680 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:04:50,681.681 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:04:50,685.685 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:04:50,688.688 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:04:52,727.727 INFO    ] ================================================
[2026-08-29 03:04:52,743.743 INFO    ] Launching Daemon at Sat Aug 29 03:04:52 IST 2026
[2026-08-29 03:04:52,753.753 INFO    ] ================================================
[2026-08-29 03:04:53,093.093 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:04:53
[2026-08-29 03:04:53,413.413 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:04:53,557.557 INFO    ] Initializing speech engine...
[2026-08-29 03:04:53,561.561 INFO    ] 2026-08-29 03:04:53
[2026-08-29 03:04:53,766.766 INFO    ] 2026-08-29 03:04:53
[2026-08-29 03:04:53,794.794 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:04:53,922.922 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:04:53,979.979 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:04:54,109.109 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:04:54,175.175 INFO    ] time= 29/08/2026 03:04:54
[2026-08-29 03:04:54,207.207 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:04:54,214.214 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:04:54,280.280 INFO    ] No existing commands found in stream
[2026-08-29 03:04:59,290.290 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:04:59,293.293 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-08-29 03:05:01,459.459 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:05:01,461.461 INFO    ] Checking for system updates...
[2026-08-29 03:05:01,481.481 INFO    ] 200
[2026-08-29 03:05:01,483.483 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:05:01,513.513 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:05:01,515.515 INFO    ] No update needed
[2026-08-29 03:05:01,516.516 INFO    ] Checking for camera pi updates...
[2026-08-29 03:05:01,535.535 INFO    ] 200
[2026-08-29 03:05:01,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:05:01,559.559 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:05:01,655.655 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:05:01,657.657 INFO    ] No camera update needed
[2026-08-29 03:05:01,660.660 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:05:01,662.662 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:05:01,667.667 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:05:01,672.672 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:05:03,716.716 INFO    ] ================================================
[2026-08-29 03:05:03,732.732 INFO    ] Launching Daemon at Sat Aug 29 03:05:03 IST 2026
[2026-08-29 03:05:03,743.743 INFO    ] ================================================
[2026-08-29 03:05:04,385.385 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:05:04
[2026-08-29 03:05:04,954.954 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:05:05,096.096 INFO    ] Initializing speech engine...
[2026-08-29 03:05:05,102.102 INFO    ] 2026-08-29 03:05:05
[2026-08-29 03:05:05,309.309 INFO    ] 2026-08-29 03:05:05
[2026-08-29 03:05:05,392.392 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:05:05,538.538 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:05:05,548.548 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:05:05,679.679 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:05:05,685.685 INFO    ] time= 29/08/2026 03:05:05
[2026-08-29 03:05:05,755.755 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:05:05,812.812 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:05:05,871.871 INFO    ] No existing commands found in stream
[2026-08-29 03:05:10,886.886 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:05:10,888.888 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-08-29 03:05:13,474.474 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:05:13,476.476 INFO    ] Checking for system updates...
[2026-08-29 03:05:13,496.496 INFO    ] 200
[2026-08-29 03:05:13,498.498 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:05:13,528.528 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:05:13,529.529 INFO    ] No update needed
[2026-08-29 03:05:13,530.530 INFO    ] Checking for camera pi updates...
[2026-08-29 03:05:13,550.550 INFO    ] 200
[2026-08-29 03:05:13,551.551 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:05:13,575.575 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:05:13,652.652 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:05:13,653.653 INFO    ] No camera update needed
[2026-08-29 03:05:13,655.655 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:05:13,657.657 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:05:13,660.660 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:05:13,663.663 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:05:15,701.701 INFO    ] ================================================
[2026-08-29 03:05:15,716.716 INFO    ] Launching Daemon at Sat Aug 29 03:05:15 IST 2026
[2026-08-29 03:05:15,726.726 INFO    ] ================================================
[2026-08-29 03:05:16,305.305 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:05:16
[2026-08-29 03:05:16,903.903 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:05:17,180.180 INFO    ] Initializing speech engine...
[2026-08-29 03:05:17,189.189 INFO    ] 2026-08-29 03:05:17
[2026-08-29 03:05:17,450.450 INFO    ] 2026-08-29 03:05:17
[2026-08-29 03:05:17,504.504 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:05:17,723.723 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:05:17,733.733 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:05:17,863.863 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:05:17,875.875 INFO    ] time= 29/08/2026 03:05:17
[2026-08-29 03:05:17,944.944 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:05:17,995.995 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:05:18,048.048 INFO    ] No existing commands found in stream
[2026-08-29 03:05:23,060.060 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:05:23,063.063 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-08-29 03:05:27,416.416 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:05:27,417.417 INFO    ] Checking for system updates...
[2026-08-29 03:05:27,438.438 INFO    ] 200
[2026-08-29 03:05:27,439.439 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:05:27,471.471 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:05:27,473.473 INFO    ] No update needed
[2026-08-29 03:05:27,474.474 INFO    ] Checking for camera pi updates...
[2026-08-29 03:05:27,493.493 INFO    ] 200
[2026-08-29 03:05:27,495.495 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:05:27,517.517 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:05:27,636.636 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:05:27,637.637 INFO    ] No camera update needed
[2026-08-29 03:05:27,638.638 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:05:27,640.640 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:05:27,643.643 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:05:27,645.645 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:05:29,683.683 INFO    ] ================================================
[2026-08-29 03:05:29,698.698 INFO    ] Launching Daemon at Sat Aug 29 03:05:29 IST 2026
[2026-08-29 03:05:29,709.709 INFO    ] ================================================
[2026-08-29 03:05:30,072.072 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:05:30
[2026-08-29 03:05:30,430.430 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:05:30,684.684 INFO    ] Initializing speech engine...
[2026-08-29 03:05:30,693.693 INFO    ] 2026-08-29 03:05:30
[2026-08-29 03:05:30,982.982 INFO    ] 2026-08-29 03:05:30
[2026-08-29 03:05:31,019.019 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:05:31,211.211 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:05:31,218.218 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:05:31,348.348 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:05:31,353.353 INFO    ] time= 29/08/2026 03:05:31
[2026-08-29 03:05:31,371.371 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:05:31,390.390 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:05:31,465.465 INFO    ] No existing commands found in stream
[2026-08-29 03:05:36,479.479 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:05:36,482.482 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-08-29 03:05:39,003.003 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:05:39,006.006 INFO    ] Checking for system updates...
[2026-08-29 03:05:39,041.041 INFO    ] 200
[2026-08-29 03:05:39,044.044 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:05:39,075.075 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:05:39,076.076 INFO    ] No update needed
[2026-08-29 03:05:39,077.077 INFO    ] Checking for camera pi updates...
[2026-08-29 03:05:39,100.100 INFO    ] 200
[2026-08-29 03:05:39,101.101 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:05:39,124.124 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:05:39,210.210 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:05:39,212.212 INFO    ] No camera update needed
[2026-08-29 03:05:39,213.213 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:05:39,214.214 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:05:39,217.217 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:05:39,220.220 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:05:41,258.258 INFO    ] ================================================
[2026-08-29 03:05:41,273.273 INFO    ] Launching Daemon at Sat Aug 29 03:05:41 IST 2026
[2026-08-29 03:05:41,284.284 INFO    ] ================================================
[2026-08-29 03:05:41,666.666 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:05:41
[2026-08-29 03:05:42,001.001 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:05:42,156.156 INFO    ] Initializing speech engine...
[2026-08-29 03:05:42,160.160 INFO    ] 2026-08-29 03:05:42
[2026-08-29 03:05:42,360.360 INFO    ] 2026-08-29 03:05:42
[2026-08-29 03:05:42,390.390 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:05:42,556.556 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:05:42,579.579 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:05:42,708.708 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:05:42,716.716 INFO    ] time= 29/08/2026 03:05:42
[2026-08-29 03:05:42,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:05:42,774.774 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:05:42,883.883 INFO    ] No existing commands found in stream
[2026-08-29 03:05:47,909.909 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:05:47,911.911 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-08-29 03:05:49,843.843 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:05:49,844.844 INFO    ] Checking for system updates...
[2026-08-29 03:05:49,866.866 INFO    ] 200
[2026-08-29 03:05:49,867.867 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:05:49,897.897 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:05:49,898.898 INFO    ] No update needed
[2026-08-29 03:05:49,900.900 INFO    ] Checking for camera pi updates...
[2026-08-29 03:05:49,919.919 INFO    ] 200
[2026-08-29 03:05:49,921.921 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:05:49,945.945 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:05:50,047.047 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:05:50,048.048 INFO    ] No camera update needed
[2026-08-29 03:05:50,049.049 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:05:50,050.050 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:05:50,054.054 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:05:50,056.056 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:05:52,096.096 INFO    ] ================================================
[2026-08-29 03:05:52,112.112 INFO    ] Launching Daemon at Sat Aug 29 03:05:52 IST 2026
[2026-08-29 03:05:52,123.123 INFO    ] ================================================
[2026-08-29 03:05:52,488.488 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:05:52
[2026-08-29 03:05:52,798.798 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:05:52,941.941 INFO    ] Initializing speech engine...
[2026-08-29 03:05:52,945.945 INFO    ] 2026-08-29 03:05:52
[2026-08-29 03:05:53,127.127 INFO    ] 2026-08-29 03:05:53
[2026-08-29 03:05:53,162.162 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:05:53,334.334 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:05:53,346.346 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:05:53,486.486 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:05:53,494.494 INFO    ] time= 29/08/2026 03:05:53
[2026-08-29 03:05:53,500.500 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:05:53,526.526 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:05:53,659.659 INFO    ] No existing commands found in stream
[2026-08-29 03:05:58,690.690 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:05:58,693.693 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-08-29 03:05:59,991.991 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:05:59,993.993 INFO    ] Checking for system updates...
[2026-08-29 03:06:00,013.013 INFO    ] 200
[2026-08-29 03:06:00,015.015 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:06:00,045.045 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:06:00,046.046 INFO    ] No update needed
[2026-08-29 03:06:00,047.047 INFO    ] Checking for camera pi updates...
[2026-08-29 03:06:00,066.066 INFO    ] 200
[2026-08-29 03:06:00,067.067 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:06:00,092.092 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:06:00,177.177 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:06:00,178.178 INFO    ] No camera update needed
[2026-08-29 03:06:00,180.180 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:06:00,181.181 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:06:00,184.184 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:06:00,187.187 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:06:02,229.229 INFO    ] ================================================
[2026-08-29 03:06:02,250.250 INFO    ] Launching Daemon at Sat Aug 29 03:06:02 IST 2026
[2026-08-29 03:06:02,266.266 INFO    ] ================================================
[2026-08-29 03:06:03,024.024 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:06:03
[2026-08-29 03:06:03,760.760 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:06:04,061.061 INFO    ] Initializing speech engine...
[2026-08-29 03:06:04,072.072 INFO    ] 2026-08-29 03:06:04
[2026-08-29 03:06:04,349.349 INFO    ] 2026-08-29 03:06:04
[2026-08-29 03:06:04,402.402 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:06:04,628.628 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:06:04,637.637 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:06:04,774.774 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:06:04,834.834 INFO    ] time= 29/08/2026 03:06:04
[2026-08-29 03:06:04,889.889 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:06:04,906.906 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:06:04,963.963 INFO    ] No existing commands found in stream
[2026-08-29 03:06:09,975.975 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:06:09,978.978 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-08-29 03:06:11,746.746 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:06:11,748.748 INFO    ] Checking for system updates...
[2026-08-29 03:06:11,769.769 INFO    ] 200
[2026-08-29 03:06:11,770.770 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:06:11,804.804 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:06:11,805.805 INFO    ] No update needed
[2026-08-29 03:06:11,806.806 INFO    ] Checking for camera pi updates...
[2026-08-29 03:06:11,826.826 INFO    ] 200
[2026-08-29 03:06:11,827.827 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:06:11,851.851 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:06:11,997.997 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:06:11,998.998 INFO    ] No camera update needed
[2026-08-29 03:06:11,999.999 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:06:12,000.000 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:06:12,003.003 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:06:12,006.006 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:06:14,044.044 INFO    ] ================================================
[2026-08-29 03:06:14,061.061 INFO    ] Launching Daemon at Sat Aug 29 03:06:14 IST 2026
[2026-08-29 03:06:14,072.072 INFO    ] ================================================
[2026-08-29 03:06:14,445.445 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:06:14
[2026-08-29 03:06:14,765.765 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:06:14,899.899 INFO    ] Initializing speech engine...
[2026-08-29 03:06:14,902.902 INFO    ] 2026-08-29 03:06:14
[2026-08-29 03:06:15,095.095 INFO    ] 2026-08-29 03:06:15
[2026-08-29 03:06:15,139.139 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:06:15,296.296 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:06:15,300.300 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:06:15,454.454 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:06:15,600.600 INFO    ] time= 29/08/2026 03:06:15
[2026-08-29 03:06:15,612.612 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:06:15,619.619 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:06:15,689.689 INFO    ] No existing commands found in stream
[2026-08-29 03:06:20,699.699 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:06:20,713.713 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-08-29 03:06:22,793.793 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:06:22,795.795 INFO    ] Checking for system updates...
[2026-08-29 03:06:22,816.816 INFO    ] 200
[2026-08-29 03:06:22,817.817 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:06:22,849.849 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:06:22,850.850 INFO    ] No update needed
[2026-08-29 03:06:22,851.851 INFO    ] Checking for camera pi updates...
[2026-08-29 03:06:22,871.871 INFO    ] 200
[2026-08-29 03:06:22,872.872 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:06:22,895.895 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:06:23,009.009 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:06:23,010.010 INFO    ] No camera update needed
[2026-08-29 03:06:23,012.012 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:06:23,013.013 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:06:23,016.016 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:06:23,019.019 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:06:25,059.059 INFO    ] ================================================
[2026-08-29 03:06:25,074.074 INFO    ] Launching Daemon at Sat Aug 29 03:06:25 IST 2026
[2026-08-29 03:06:25,086.086 INFO    ] ================================================
[2026-08-29 03:06:25,621.621 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:06:25
[2026-08-29 03:06:26,225.225 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:06:26,520.520 INFO    ] Initializing speech engine...
[2026-08-29 03:06:26,529.529 INFO    ] 2026-08-29 03:06:26
[2026-08-29 03:06:26,793.793 INFO    ] 2026-08-29 03:06:26
[2026-08-29 03:06:26,829.829 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:06:27,023.023 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:06:27,029.029 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:06:27,138.138 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:06:27,144.144 INFO    ] time= 29/08/2026 03:06:27
[2026-08-29 03:06:27,166.166 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:06:27,174.174 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:06:27,226.226 INFO    ] No existing commands found in stream
[2026-08-29 03:06:32,237.237 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:06:32,240.240 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-08-29 03:06:33,882.882 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:06:33,885.885 INFO    ] Checking for system updates...
[2026-08-29 03:06:33,920.920 INFO    ] 200
[2026-08-29 03:06:33,923.923 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:06:33,979.979 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:06:33,982.982 INFO    ] No update needed
[2026-08-29 03:06:33,985.985 INFO    ] Checking for camera pi updates...
[2026-08-29 03:06:34,018.018 INFO    ] 200
[2026-08-29 03:06:34,021.021 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:06:34,069.069 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:06:34,153.153 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:06:34,156.156 INFO    ] No camera update needed
[2026-08-29 03:06:34,158.158 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:06:34,160.160 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:06:34,165.165 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:06:34,170.170 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:06:36,211.211 INFO    ] ================================================
[2026-08-29 03:06:36,226.226 INFO    ] Launching Daemon at Sat Aug 29 03:06:36 IST 2026
[2026-08-29 03:06:36,237.237 INFO    ] ================================================
[2026-08-29 03:06:36,593.593 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:06:36
[2026-08-29 03:06:36,918.918 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:06:37,173.173 INFO    ] Initializing speech engine...
[2026-08-29 03:06:37,181.181 INFO    ] 2026-08-29 03:06:37
[2026-08-29 03:06:37,472.472 INFO    ] 2026-08-29 03:06:37
[2026-08-29 03:06:37,498.498 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:06:37,653.653 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:06:37,661.661 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:06:37,808.808 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:06:37,818.818 INFO    ] time= 29/08/2026 03:06:37
[2026-08-29 03:06:37,822.822 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:06:37,827.827 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:06:37,894.894 INFO    ] No existing commands found in stream
[2026-08-29 03:06:42,906.906 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:06:42,909.909 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-08-29 03:06:44,473.473 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:06:44,474.474 INFO    ] Checking for system updates...
[2026-08-29 03:06:44,495.495 INFO    ] 200
[2026-08-29 03:06:44,497.497 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:06:44,526.526 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:06:44,527.527 INFO    ] No update needed
[2026-08-29 03:06:44,529.529 INFO    ] Checking for camera pi updates...
[2026-08-29 03:06:44,549.549 INFO    ] 200
[2026-08-29 03:06:44,550.550 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:06:44,573.573 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:06:44,649.649 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:06:44,651.651 INFO    ] No camera update needed
[2026-08-29 03:06:44,652.652 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:06:44,653.653 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:06:44,656.656 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:06:44,659.659 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:06:46,698.698 INFO    ] ================================================
[2026-08-29 03:06:46,714.714 INFO    ] Launching Daemon at Sat Aug 29 03:06:46 IST 2026
[2026-08-29 03:06:46,725.725 INFO    ] ================================================
[2026-08-29 03:06:47,047.047 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:06:47
[2026-08-29 03:06:47,358.358 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:06:47,500.500 INFO    ] Initializing speech engine...
[2026-08-29 03:06:47,510.510 INFO    ] 2026-08-29 03:06:47
[2026-08-29 03:06:47,724.724 INFO    ] 2026-08-29 03:06:47
[2026-08-29 03:06:47,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:06:47,886.886 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:06:47,939.939 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:06:48,093.093 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:06:48,139.139 INFO    ] time= 29/08/2026 03:06:48
[2026-08-29 03:06:48,177.177 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:06:48,200.200 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:06:48,275.275 INFO    ] No existing commands found in stream
[2026-08-29 03:06:53,285.285 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:06:53,288.288 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-08-29 03:06:56,782.782 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:06:56,783.783 INFO    ] Checking for system updates...
[2026-08-29 03:06:56,804.804 INFO    ] 200
[2026-08-29 03:06:56,806.806 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:06:56,836.836 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:06:56,837.837 INFO    ] No update needed
[2026-08-29 03:06:56,838.838 INFO    ] Checking for camera pi updates...
[2026-08-29 03:06:56,857.857 INFO    ] 200
[2026-08-29 03:06:56,859.859 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:06:56,882.882 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:06:56,956.956 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:06:56,957.957 INFO    ] No camera update needed
[2026-08-29 03:06:56,958.958 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:06:56,960.960 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:06:56,963.963 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:06:56,965.965 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:06:59,004.004 INFO    ] ================================================
[2026-08-29 03:06:59,020.020 INFO    ] Launching Daemon at Sat Aug 29 03:06:59 IST 2026
[2026-08-29 03:06:59,031.031 INFO    ] ================================================
[2026-08-29 03:06:59,357.357 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:06:59
[2026-08-29 03:06:59,676.676 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:06:59,820.820 INFO    ] Initializing speech engine...
[2026-08-29 03:06:59,824.824 INFO    ] 2026-08-29 03:06:59
[2026-08-29 03:07:00,029.029 INFO    ] 2026-08-29 03:07:00
[2026-08-29 03:07:00,057.057 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:07:00,240.240 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:07:00,244.244 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:07:00,379.379 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:07:00,444.444 INFO    ] time= 29/08/2026 03:07:00
[2026-08-29 03:07:00,472.472 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:07:00,478.478 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:07:00,543.543 INFO    ] No existing commands found in stream
[2026-08-29 03:07:05,554.554 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:07:05,557.557 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-08-29 03:07:08,119.119 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:07:08,120.120 INFO    ] Checking for system updates...
[2026-08-29 03:07:08,142.142 INFO    ] 200
[2026-08-29 03:07:08,143.143 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:07:08,173.173 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:07:08,174.174 INFO    ] No update needed
[2026-08-29 03:07:08,176.176 INFO    ] Checking for camera pi updates...
[2026-08-29 03:07:08,198.198 INFO    ] 200
[2026-08-29 03:07:08,200.200 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:07:08,223.223 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:07:08,368.368 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:07:08,369.369 INFO    ] No camera update needed
[2026-08-29 03:07:08,370.370 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:07:08,372.372 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:07:08,375.375 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:07:08,378.378 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:07:10,418.418 INFO    ] ================================================
[2026-08-29 03:07:10,434.434 INFO    ] Launching Daemon at Sat Aug 29 03:07:10 IST 2026
[2026-08-29 03:07:10,445.445 INFO    ] ================================================
[2026-08-29 03:07:10,893.893 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:07:10
[2026-08-29 03:07:11,563.563 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:07:11,863.863 INFO    ] Initializing speech engine...
[2026-08-29 03:07:11,873.873 INFO    ] 2026-08-29 03:07:11
[2026-08-29 03:07:12,150.150 INFO    ] 2026-08-29 03:07:12
[2026-08-29 03:07:12,208.208 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:07:12,438.438 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:07:12,447.447 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:07:12,584.584 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:07:12,627.627 INFO    ] time= 29/08/2026 03:07:12
[2026-08-29 03:07:12,676.676 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:07:12,722.722 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:07:12,782.782 INFO    ] No existing commands found in stream
[2026-08-29 03:07:17,794.794 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:07:17,797.797 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-08-29 03:07:20,781.781 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:07:20,784.784 INFO    ] Checking for system updates...
[2026-08-29 03:07:20,820.820 INFO    ] 200
[2026-08-29 03:07:20,822.822 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:07:20,874.874 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:07:20,877.877 INFO    ] No update needed
[2026-08-29 03:07:20,879.879 INFO    ] Checking for camera pi updates...
[2026-08-29 03:07:20,917.917 INFO    ] 200
[2026-08-29 03:07:20,919.919 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:07:20,960.960 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:07:21,059.059 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:07:21,062.062 INFO    ] No camera update needed
[2026-08-29 03:07:21,064.064 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:07:21,067.067 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:07:21,072.072 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:07:21,077.077 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:07:23,116.116 INFO    ] ================================================
[2026-08-29 03:07:23,132.132 INFO    ] Launching Daemon at Sat Aug 29 03:07:23 IST 2026
[2026-08-29 03:07:23,143.143 INFO    ] ================================================
[2026-08-29 03:07:23,809.809 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:07:23
[2026-08-29 03:07:24,148.148 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:07:24,300.300 INFO    ] Initializing speech engine...
[2026-08-29 03:07:24,306.306 INFO    ] 2026-08-29 03:07:24
[2026-08-29 03:07:24,537.537 INFO    ] 2026-08-29 03:07:24
[2026-08-29 03:07:24,592.592 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:07:24,757.757 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:07:24,766.766 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:07:24,943.943 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:07:24,973.973 INFO    ] time= 29/08/2026 03:07:24
[2026-08-29 03:07:24,989.989 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:07:24,999.999 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:07:25,109.109 INFO    ] No existing commands found in stream
[2026-08-29 03:07:30,137.137 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:07:30,139.139 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-08-29 03:07:31,493.493 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:07:31,494.494 INFO    ] Checking for system updates...
[2026-08-29 03:07:31,515.515 INFO    ] 200
[2026-08-29 03:07:31,516.516 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:07:31,546.546 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:07:31,547.547 INFO    ] No update needed
[2026-08-29 03:07:31,548.548 INFO    ] Checking for camera pi updates...
[2026-08-29 03:07:31,567.567 INFO    ] 200
[2026-08-29 03:07:31,569.569 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:07:31,594.594 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:07:31,670.670 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:07:31,671.671 INFO    ] No camera update needed
[2026-08-29 03:07:31,673.673 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:07:31,675.675 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:07:31,679.679 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:07:31,683.683 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:07:33,728.728 INFO    ] ================================================
[2026-08-29 03:07:33,746.746 INFO    ] Launching Daemon at Sat Aug 29 03:07:33 IST 2026
[2026-08-29 03:07:33,759.759 INFO    ] ================================================
[2026-08-29 03:07:34,378.378 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:07:34
[2026-08-29 03:07:34,972.972 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:07:35,217.217 INFO    ] Initializing speech engine...
[2026-08-29 03:07:35,222.222 INFO    ] 2026-08-29 03:07:35
[2026-08-29 03:07:35,428.428 INFO    ] 2026-08-29 03:07:35
[2026-08-29 03:07:35,457.457 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:07:35,581.581 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:07:35,644.644 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:07:35,782.782 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:07:35,835.835 INFO    ] time= 29/08/2026 03:07:35
[2026-08-29 03:07:35,884.884 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:07:35,928.928 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:07:35,981.981 INFO    ] No existing commands found in stream
[2026-08-29 03:07:40,991.991 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:07:40,994.994 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-08-29 03:07:44,333.333 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:07:44,334.334 INFO    ] Checking for system updates...
[2026-08-29 03:07:44,355.355 INFO    ] 200
[2026-08-29 03:07:44,356.356 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:07:44,389.389 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:07:44,390.390 INFO    ] No update needed
[2026-08-29 03:07:44,391.391 INFO    ] Checking for camera pi updates...
[2026-08-29 03:07:44,410.410 INFO    ] 200
[2026-08-29 03:07:44,412.412 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:07:44,436.436 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:07:44,514.514 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:07:44,517.517 INFO    ] No camera update needed
[2026-08-29 03:07:44,519.519 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:07:44,522.522 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:07:44,527.527 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:07:44,532.532 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:07:46,574.574 INFO    ] ================================================
[2026-08-29 03:07:46,590.590 INFO    ] Launching Daemon at Sat Aug 29 03:07:46 IST 2026
[2026-08-29 03:07:46,601.601 INFO    ] ================================================
[2026-08-29 03:07:47,260.260 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:07:47
[2026-08-29 03:07:47,731.731 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:07:47,861.861 INFO    ] Initializing speech engine...
[2026-08-29 03:07:47,866.866 INFO    ] 2026-08-29 03:07:47
[2026-08-29 03:07:48,084.084 INFO    ] 2026-08-29 03:07:48
[2026-08-29 03:07:48,112.112 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:07:48,241.241 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:07:48,300.300 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:07:48,433.433 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:07:48,489.489 INFO    ] time= 29/08/2026 03:07:48
[2026-08-29 03:07:48,529.529 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:07:48,534.534 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:07:48,607.607 INFO    ] No existing commands found in stream
[2026-08-29 03:07:53,616.616 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:07:53,619.619 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-08-29 03:07:57,929.929 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:07:57,930.930 INFO    ] Checking for system updates...
[2026-08-29 03:07:57,950.950 INFO    ] 200
[2026-08-29 03:07:57,952.952 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:07:57,986.986 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:07:57,988.988 INFO    ] No update needed
[2026-08-29 03:07:57,990.990 INFO    ] Checking for camera pi updates...
[2026-08-29 03:07:58,028.028 INFO    ] 200
[2026-08-29 03:07:58,030.030 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:07:58,071.071 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:07:58,153.153 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:07:58,155.155 INFO    ] No camera update needed
[2026-08-29 03:07:58,157.157 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:07:58,159.159 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:07:58,165.165 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:07:58,170.170 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:08:00,213.213 INFO    ] ================================================
[2026-08-29 03:08:00,228.228 INFO    ] Launching Daemon at Sat Aug 29 03:08:00 IST 2026
[2026-08-29 03:08:00,240.240 INFO    ] ================================================
[2026-08-29 03:08:00,824.824 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:08:00
[2026-08-29 03:08:01,277.277 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:08:01,415.415 INFO    ] Initializing speech engine...
[2026-08-29 03:08:01,427.427 INFO    ] 2026-08-29 03:08:01
[2026-08-29 03:08:01,755.755 INFO    ] 2026-08-29 03:08:01
[2026-08-29 03:08:01,820.820 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:08:02,046.046 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:08:02,062.062 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:08:02,184.184 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:08:02,206.206 INFO    ] time= 29/08/2026 03:08:02
[2026-08-29 03:08:02,236.236 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:08:02,256.256 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:08:02,370.370 INFO    ] No existing commands found in stream
[2026-08-29 03:08:07,403.403 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:08:07,406.406 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-08-29 03:08:08,573.573 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:08:08,575.575 INFO    ] Checking for system updates...
[2026-08-29 03:08:08,597.597 INFO    ] 200
[2026-08-29 03:08:08,598.598 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:08:08,631.631 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:08:08,632.632 INFO    ] No update needed
[2026-08-29 03:08:08,634.634 INFO    ] Checking for camera pi updates...
[2026-08-29 03:08:08,653.653 INFO    ] 200
[2026-08-29 03:08:08,655.655 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:08:08,678.678 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:08:08,804.804 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:08:08,805.805 INFO    ] No camera update needed
[2026-08-29 03:08:08,807.807 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:08:08,808.808 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:08:08,811.811 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:08:08,814.814 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:08:10,854.854 INFO    ] ================================================
[2026-08-29 03:08:10,870.870 INFO    ] Launching Daemon at Sat Aug 29 03:08:10 IST 2026
[2026-08-29 03:08:10,881.881 INFO    ] ================================================
[2026-08-29 03:08:11,223.223 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:08:11
[2026-08-29 03:08:11,538.538 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:08:11,753.753 INFO    ] Initializing speech engine...
[2026-08-29 03:08:11,771.771 INFO    ] 2026-08-29 03:08:11
[2026-08-29 03:08:12,041.041 INFO    ] 2026-08-29 03:08:12
[2026-08-29 03:08:12,086.086 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:08:12,258.258 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:08:12,282.282 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:08:12,401.401 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:08:12,426.426 INFO    ] time= 29/08/2026 03:08:12
[2026-08-29 03:08:12,434.434 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:08:12,480.480 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:08:12,616.616 INFO    ] No existing commands found in stream
[2026-08-29 03:08:17,643.643 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:08:17,646.646 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-08-29 03:08:20,270.270 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:08:20,271.271 INFO    ] Checking for system updates...
[2026-08-29 03:08:20,292.292 INFO    ] 200
[2026-08-29 03:08:20,293.293 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:08:20,324.324 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:08:20,325.325 INFO    ] No update needed
[2026-08-29 03:08:20,326.326 INFO    ] Checking for camera pi updates...
[2026-08-29 03:08:20,347.347 INFO    ] 200
[2026-08-29 03:08:20,348.348 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:08:20,375.375 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:08:20,558.558 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:08:20,560.560 INFO    ] No camera update needed
[2026-08-29 03:08:20,561.561 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:08:20,563.563 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:08:20,566.566 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:08:20,569.569 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:08:22,608.608 INFO    ] ================================================
[2026-08-29 03:08:22,624.624 INFO    ] Launching Daemon at Sat Aug 29 03:08:22 IST 2026
[2026-08-29 03:08:22,635.635 INFO    ] ================================================
[2026-08-29 03:08:23,006.006 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:08:22
[2026-08-29 03:08:23,318.318 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:08:23,457.457 INFO    ] Initializing speech engine...
[2026-08-29 03:08:23,465.465 INFO    ] 2026-08-29 03:08:23
[2026-08-29 03:08:23,673.673 INFO    ] 2026-08-29 03:08:23
[2026-08-29 03:08:23,701.701 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:08:23,825.825 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:08:23,874.874 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:08:24,039.039 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:08:24,080.080 INFO    ] time= 29/08/2026 03:08:24
[2026-08-29 03:08:24,130.130 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:08:24,184.184 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:08:24,248.248 INFO    ] No existing commands found in stream
[2026-08-29 03:08:29,263.263 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:08:29,266.266 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 03:08:29,820.820 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:08:29,821.821 INFO    ] Checking for system updates...
[2026-08-29 03:08:29,843.843 INFO    ] 200
[2026-08-29 03:08:29,844.844 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:08:29,876.876 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:08:29,877.877 INFO    ] No update needed
[2026-08-29 03:08:29,879.879 INFO    ] Checking for camera pi updates...
[2026-08-29 03:08:29,898.898 INFO    ] 200
[2026-08-29 03:08:29,899.899 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:08:29,922.922 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:08:30,016.016 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:08:30,018.018 INFO    ] No camera update needed
[2026-08-29 03:08:30,020.020 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:08:30,023.023 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:08:30,028.028 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:08:30,033.033 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:08:32,076.076 INFO    ] ================================================
[2026-08-29 03:08:32,093.093 INFO    ] Launching Daemon at Sat Aug 29 03:08:32 IST 2026
[2026-08-29 03:08:32,106.106 INFO    ] ================================================
[2026-08-29 03:08:32,724.724 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:08:32
[2026-08-29 03:08:33,250.250 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:08:33,396.396 INFO    ] Initializing speech engine...
[2026-08-29 03:08:33,405.405 INFO    ] 2026-08-29 03:08:33
[2026-08-29 03:08:33,615.615 INFO    ] 2026-08-29 03:08:33
[2026-08-29 03:08:33,645.645 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:08:33,768.768 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:08:33,832.832 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:08:33,969.969 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:08:34,034.034 INFO    ] time= 29/08/2026 03:08:33
[2026-08-29 03:08:34,062.062 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:08:34,064.064 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:08:34,184.184 INFO    ] No existing commands found in stream
[2026-08-29 03:08:39,194.194 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:08:39,197.197 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 03:08:42,805.805 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:08:42,806.806 INFO    ] Checking for system updates...
[2026-08-29 03:08:42,827.827 INFO    ] 200
[2026-08-29 03:08:42,828.828 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:08:42,861.861 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:08:42,862.862 INFO    ] No update needed
[2026-08-29 03:08:42,863.863 INFO    ] Checking for camera pi updates...
[2026-08-29 03:08:42,882.882 INFO    ] 200
[2026-08-29 03:08:42,884.884 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:08:42,913.913 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:08:43,005.005 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:08:43,007.007 INFO    ] No camera update needed
[2026-08-29 03:08:43,009.009 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:08:43,011.011 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:08:43,017.017 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:08:43,021.021 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:08:45,062.062 INFO    ] ================================================
[2026-08-29 03:08:45,078.078 INFO    ] Launching Daemon at Sat Aug 29 03:08:45 IST 2026
[2026-08-29 03:08:45,089.089 INFO    ] ================================================
[2026-08-29 03:08:45,654.654 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:08:45
[2026-08-29 03:08:46,176.176 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:08:46,306.306 INFO    ] Initializing speech engine...
[2026-08-29 03:08:46,310.310 INFO    ] 2026-08-29 03:08:46
[2026-08-29 03:08:46,502.502 INFO    ] 2026-08-29 03:08:46
[2026-08-29 03:08:46,547.547 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:08:46,670.670 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:08:46,673.673 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:08:46,793.793 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:08:46,808.808 INFO    ] time= 29/08/2026 03:08:46
[2026-08-29 03:08:46,814.814 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:08:46,818.818 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:08:46,911.911 INFO    ] No existing commands found in stream
[2026-08-29 03:08:51,936.936 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:08:51,939.939 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 03:08:52,890.890 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:08:52,892.892 INFO    ] Checking for system updates...
[2026-08-29 03:08:52,912.912 INFO    ] 200
[2026-08-29 03:08:52,914.914 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:08:52,946.946 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:08:52,947.947 INFO    ] No update needed
[2026-08-29 03:08:52,949.949 INFO    ] Checking for camera pi updates...
[2026-08-29 03:08:52,968.968 INFO    ] 200
[2026-08-29 03:08:52,969.969 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:08:52,994.994 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:08:53,074.074 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:08:53,076.076 INFO    ] No camera update needed
[2026-08-29 03:08:53,077.077 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:08:53,078.078 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:08:53,081.081 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:08:53,084.084 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:08:55,122.122 INFO    ] ================================================
[2026-08-29 03:08:55,138.138 INFO    ] Launching Daemon at Sat Aug 29 03:08:55 IST 2026
[2026-08-29 03:08:55,149.149 INFO    ] ================================================
[2026-08-29 03:08:55,484.484 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:08:55
[2026-08-29 03:08:55,801.801 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:08:55,936.936 INFO    ] Initializing speech engine...
[2026-08-29 03:08:55,941.941 INFO    ] 2026-08-29 03:08:55
[2026-08-29 03:08:56,144.144 INFO    ] 2026-08-29 03:08:56
[2026-08-29 03:08:56,203.203 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:08:56,363.363 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:08:56,370.370 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:08:56,504.504 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:08:56,510.510 INFO    ] time= 29/08/2026 03:08:56
[2026-08-29 03:08:56,515.515 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:08:56,536.536 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:08:56,638.638 INFO    ] No existing commands found in stream
[2026-08-29 03:09:01,650.650 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:09:01,654.654 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-08-29 03:09:03,443.443 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:09:03,445.445 INFO    ] Checking for system updates...
[2026-08-29 03:09:03,483.483 INFO    ] 200
[2026-08-29 03:09:03,486.486 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:09:03,539.539 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:09:03,541.541 INFO    ] No update needed
[2026-08-29 03:09:03,544.544 INFO    ] Checking for camera pi updates...
[2026-08-29 03:09:03,582.582 INFO    ] 200
[2026-08-29 03:09:03,586.586 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:09:03,632.632 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:09:03,729.729 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:09:03,732.732 INFO    ] No camera update needed
[2026-08-29 03:09:03,735.735 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:09:03,737.737 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:09:03,744.744 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:09:03,749.749 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:09:05,793.793 INFO    ] ================================================
[2026-08-29 03:09:05,809.809 INFO    ] Launching Daemon at Sat Aug 29 03:09:05 IST 2026
[2026-08-29 03:09:05,821.821 INFO    ] ================================================
[2026-08-29 03:09:06,222.222 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:09:06
[2026-08-29 03:09:06,817.817 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:09:07,085.085 INFO    ] Initializing speech engine...
[2026-08-29 03:09:07,094.094 INFO    ] 2026-08-29 03:09:07
[2026-08-29 03:09:07,339.339 INFO    ] 2026-08-29 03:09:07
[2026-08-29 03:09:07,375.375 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:09:07,546.546 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:09:07,558.558 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:09:07,699.699 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:09:07,707.707 INFO    ] time= 29/08/2026 03:09:07
[2026-08-29 03:09:07,713.713 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:09:07,734.734 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:09:07,853.853 INFO    ] No existing commands found in stream
[2026-08-29 03:09:12,878.878 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:09:12,881.881 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-08-29 03:09:14,400.400 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:09:14,402.402 INFO    ] Checking for system updates...
[2026-08-29 03:09:14,422.422 INFO    ] 200
[2026-08-29 03:09:14,423.423 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:09:14,453.453 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:09:14,455.455 INFO    ] No update needed
[2026-08-29 03:09:14,456.456 INFO    ] Checking for camera pi updates...
[2026-08-29 03:09:14,475.475 INFO    ] 200
[2026-08-29 03:09:14,476.476 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:09:14,501.501 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:09:14,602.602 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:09:14,604.604 INFO    ] No camera update needed
[2026-08-29 03:09:14,605.605 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:09:14,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:09:14,609.609 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:09:14,612.612 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:09:16,652.652 INFO    ] ================================================
[2026-08-29 03:09:16,669.669 INFO    ] Launching Daemon at Sat Aug 29 03:09:16 IST 2026
[2026-08-29 03:09:16,680.680 INFO    ] ================================================
[2026-08-29 03:09:17,247.247 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:09:17
[2026-08-29 03:09:17,828.828 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:09:18,097.097 INFO    ] Initializing speech engine...
[2026-08-29 03:09:18,106.106 INFO    ] 2026-08-29 03:09:18
[2026-08-29 03:09:18,351.351 INFO    ] 2026-08-29 03:09:18
[2026-08-29 03:09:18,386.386 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:09:18,556.556 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:09:18,569.569 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:09:18,692.692 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:09:18,697.697 INFO    ] time= 29/08/2026 03:09:18
[2026-08-29 03:09:18,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:09:18,734.734 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:09:18,799.799 INFO    ] No existing commands found in stream
[2026-08-29 03:09:23,808.808 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:09:23,811.811 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-08-29 03:09:26,206.206 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:09:26,208.208 INFO    ] Checking for system updates...
[2026-08-29 03:09:26,229.229 INFO    ] 200
[2026-08-29 03:09:26,230.230 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:09:26,260.260 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:09:26,262.262 INFO    ] No update needed
[2026-08-29 03:09:26,263.263 INFO    ] Checking for camera pi updates...
[2026-08-29 03:09:26,288.288 INFO    ] 200
[2026-08-29 03:09:26,289.289 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:09:26,316.316 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:09:26,399.399 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:09:26,401.401 INFO    ] No camera update needed
[2026-08-29 03:09:26,402.402 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:09:26,403.403 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:09:26,407.407 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:09:26,409.409 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:09:28,451.451 INFO    ] ================================================
[2026-08-29 03:09:28,468.468 INFO    ] Launching Daemon at Sat Aug 29 03:09:28 IST 2026
[2026-08-29 03:09:28,479.479 INFO    ] ================================================
[2026-08-29 03:09:28,836.836 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:09:28
[2026-08-29 03:09:29,147.147 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:09:29,289.289 INFO    ] Initializing speech engine...
[2026-08-29 03:09:29,294.294 INFO    ] 2026-08-29 03:09:29
[2026-08-29 03:09:29,501.501 INFO    ] 2026-08-29 03:09:29
[2026-08-29 03:09:29,529.529 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:09:29,657.657 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:09:29,716.716 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:09:29,848.848 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:09:29,894.894 INFO    ] time= 29/08/2026 03:09:29
[2026-08-29 03:09:29,929.929 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:09:29,950.950 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:09:30,023.023 INFO    ] No existing commands found in stream
[2026-08-29 03:09:35,032.032 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:09:35,035.035 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-08-29 03:09:36,370.370 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:09:36,372.372 INFO    ] Checking for system updates...
[2026-08-29 03:09:36,392.392 INFO    ] 200
[2026-08-29 03:09:36,394.394 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:09:36,424.424 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:09:36,425.425 INFO    ] No update needed
[2026-08-29 03:09:36,426.426 INFO    ] Checking for camera pi updates...
[2026-08-29 03:09:36,445.445 INFO    ] 200
[2026-08-29 03:09:36,447.447 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:09:36,469.469 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:09:36,569.569 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:09:36,570.570 INFO    ] No camera update needed
[2026-08-29 03:09:36,571.571 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:09:36,573.573 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:09:36,576.576 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:09:36,578.578 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:09:38,616.616 INFO    ] ================================================
[2026-08-29 03:09:38,633.633 INFO    ] Launching Daemon at Sat Aug 29 03:09:38 IST 2026
[2026-08-29 03:09:38,644.644 INFO    ] ================================================
[2026-08-29 03:09:39,005.005 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:09:39
[2026-08-29 03:09:39,316.316 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:09:39,459.459 INFO    ] Initializing speech engine...
[2026-08-29 03:09:39,465.465 INFO    ] 2026-08-29 03:09:39
[2026-08-29 03:09:39,670.670 INFO    ] 2026-08-29 03:09:39
[2026-08-29 03:09:39,700.700 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:09:39,824.824 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:09:39,882.882 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:09:40,024.024 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:09:40,091.091 INFO    ] time= 29/08/2026 03:09:40
[2026-08-29 03:09:40,119.119 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:09:40,125.125 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:09:40,192.192 INFO    ] No existing commands found in stream
[2026-08-29 03:09:45,203.203 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:09:45,206.206 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-08-29 03:09:47,276.276 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:09:47,279.279 INFO    ] Checking for system updates...
[2026-08-29 03:09:47,315.315 INFO    ] 200
[2026-08-29 03:09:47,317.317 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:09:47,369.369 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:09:47,371.371 INFO    ] No update needed
[2026-08-29 03:09:47,374.374 INFO    ] Checking for camera pi updates...
[2026-08-29 03:09:47,411.411 INFO    ] 200
[2026-08-29 03:09:47,414.414 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:09:47,454.454 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:09:47,517.517 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:09:47,519.519 INFO    ] No camera update needed
[2026-08-29 03:09:47,525.525 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:09:47,527.527 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:09:47,533.533 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:09:47,538.538 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:09:49,578.578 INFO    ] ================================================
[2026-08-29 03:09:49,594.594 INFO    ] Launching Daemon at Sat Aug 29 03:09:49 IST 2026
[2026-08-29 03:09:49,604.604 INFO    ] ================================================
[2026-08-29 03:09:49,934.934 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:09:49
[2026-08-29 03:09:50,245.245 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:09:50,442.442 INFO    ] Initializing speech engine...
[2026-08-29 03:09:50,451.451 INFO    ] 2026-08-29 03:09:50
[2026-08-29 03:09:50,697.697 INFO    ] 2026-08-29 03:09:50
[2026-08-29 03:09:50,732.732 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:09:50,906.906 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:09:50,929.929 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:09:51,044.044 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:09:51,063.063 INFO    ] time= 29/08/2026 03:09:51
[2026-08-29 03:09:51,071.071 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:09:51,077.077 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:09:51,145.145 INFO    ] No existing commands found in stream
[2026-08-29 03:09:56,158.158 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:09:56,160.160 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 03:09:57,715.715 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:09:57,716.716 INFO    ] Checking for system updates...
[2026-08-29 03:09:57,736.736 INFO    ] 200
[2026-08-29 03:09:57,738.738 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:09:57,767.767 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:09:57,769.769 INFO    ] No update needed
[2026-08-29 03:09:57,770.770 INFO    ] Checking for camera pi updates...
[2026-08-29 03:09:57,789.789 INFO    ] 200
[2026-08-29 03:09:57,790.790 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:09:57,814.814 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:09:57,902.902 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:09:57,903.903 INFO    ] No camera update needed
[2026-08-29 03:09:57,904.904 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:09:57,905.905 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:09:57,908.908 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:09:57,911.911 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:09:59,953.953 INFO    ] ================================================
[2026-08-29 03:09:59,968.968 INFO    ] Launching Daemon at Sat Aug 29 03:09:59 IST 2026
[2026-08-29 03:09:59,980.980 INFO    ] ================================================
[2026-08-29 03:10:00,309.309 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:10:00
[2026-08-29 03:10:00,629.629 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:10:00,775.775 INFO    ] Initializing speech engine...
[2026-08-29 03:10:00,780.780 INFO    ] 2026-08-29 03:10:00
[2026-08-29 03:10:01,001.001 INFO    ] 2026-08-29 03:10:00
[2026-08-29 03:10:01,037.037 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:10:01,210.210 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:10:01,236.236 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:10:01,395.395 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:10:01,400.400 INFO    ] time= 29/08/2026 03:10:01
[2026-08-29 03:10:01,409.409 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:10:01,478.478 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:10:01,587.587 INFO    ] No existing commands found in stream
[2026-08-29 03:10:06,594.594 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:10:06,597.597 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-08-29 03:10:09,552.552 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:10:09,553.553 INFO    ] Checking for system updates...
[2026-08-29 03:10:09,576.576 INFO    ] 200
[2026-08-29 03:10:09,577.577 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:10:09,607.607 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:10:09,608.608 INFO    ] No update needed
[2026-08-29 03:10:09,609.609 INFO    ] Checking for camera pi updates...
[2026-08-29 03:10:09,630.630 INFO    ] 200
[2026-08-29 03:10:09,631.631 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:10:09,656.656 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:10:09,742.742 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:10:09,743.743 INFO    ] No camera update needed
[2026-08-29 03:10:09,745.745 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:10:09,746.746 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:10:09,749.749 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:10:09,751.751 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:10:11,792.792 INFO    ] ================================================
[2026-08-29 03:10:11,808.808 INFO    ] Launching Daemon at Sat Aug 29 03:10:11 IST 2026
[2026-08-29 03:10:11,818.818 INFO    ] ================================================
[2026-08-29 03:10:12,150.150 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:10:12
[2026-08-29 03:10:12,460.460 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:10:12,669.669 INFO    ] Initializing speech engine...
[2026-08-29 03:10:12,675.675 INFO    ] 2026-08-29 03:10:12
[2026-08-29 03:10:12,976.976 INFO    ] 2026-08-29 03:10:12
[2026-08-29 03:10:13,011.011 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:10:13,163.163 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:10:13,170.170 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:10:13,324.324 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:10:13,334.334 INFO    ] time= 29/08/2026 03:10:13
[2026-08-29 03:10:13,338.338 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:10:13,343.343 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:10:13,415.415 INFO    ] No existing commands found in stream
[2026-08-29 03:10:18,426.426 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:10:18,428.428 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 03:10:20,749.749 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:10:20,750.750 INFO    ] Checking for system updates...
[2026-08-29 03:10:20,771.771 INFO    ] 200
[2026-08-29 03:10:20,772.772 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:10:20,802.802 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:10:20,804.804 INFO    ] No update needed
[2026-08-29 03:10:20,805.805 INFO    ] Checking for camera pi updates...
[2026-08-29 03:10:20,824.824 INFO    ] 200
[2026-08-29 03:10:20,825.825 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:10:20,848.848 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:10:20,903.903 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:10:20,904.904 INFO    ] No camera update needed
[2026-08-29 03:10:20,905.905 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:10:20,906.906 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:10:20,909.909 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:10:20,912.912 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:10:22,953.953 INFO    ] ================================================
[2026-08-29 03:10:22,969.969 INFO    ] Launching Daemon at Sat Aug 29 03:10:22 IST 2026
[2026-08-29 03:10:22,980.980 INFO    ] ================================================
[2026-08-29 03:10:23,334.334 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:10:23
[2026-08-29 03:10:23,652.652 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:10:23,790.790 INFO    ] Initializing speech engine...
[2026-08-29 03:10:23,793.793 INFO    ] 2026-08-29 03:10:23
[2026-08-29 03:10:24,012.012 INFO    ] 2026-08-29 03:10:23
[2026-08-29 03:10:24,040.040 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:10:24,194.194 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:10:24,239.239 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:10:24,388.388 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:10:24,413.413 INFO    ] time= 29/08/2026 03:10:24
[2026-08-29 03:10:24,470.470 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:10:24,517.517 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:10:24,599.599 INFO    ] No existing commands found in stream
[2026-08-29 03:10:29,610.610 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:10:29,613.613 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-08-29 03:10:32,234.234 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:10:32,237.237 INFO    ] Checking for system updates...
[2026-08-29 03:10:32,280.280 INFO    ] 200
[2026-08-29 03:10:32,283.283 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:10:32,350.350 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:10:32,353.353 INFO    ] No update needed
[2026-08-29 03:10:32,356.356 INFO    ] Checking for camera pi updates...
[2026-08-29 03:10:32,394.394 INFO    ] 200
[2026-08-29 03:10:32,397.397 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:10:32,448.448 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:10:32,701.701 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:10:32,703.703 INFO    ] No camera update needed
[2026-08-29 03:10:32,706.706 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:10:32,708.708 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:10:32,713.713 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:10:32,719.719 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:10:34,759.759 INFO    ] ================================================
[2026-08-29 03:10:34,775.775 INFO    ] Launching Daemon at Sat Aug 29 03:10:34 IST 2026
[2026-08-29 03:10:34,787.787 INFO    ] ================================================
[2026-08-29 03:10:35,225.225 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:10:35
[2026-08-29 03:10:35,570.570 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:10:35,724.724 INFO    ] Initializing speech engine...
[2026-08-29 03:10:35,730.730 INFO    ] 2026-08-29 03:10:35
[2026-08-29 03:10:35,936.936 INFO    ] 2026-08-29 03:10:35
[2026-08-29 03:10:35,966.966 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:10:36,110.110 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:10:36,176.176 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:10:36,356.356 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:10:36,422.422 INFO    ] time= 29/08/2026 03:10:36
[2026-08-29 03:10:36,464.464 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:10:36,513.513 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:10:36,618.618 INFO    ] No existing commands found in stream
[2026-08-29 03:10:41,636.636 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:10:41,639.639 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-08-29 03:10:43,940.940 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:10:43,942.942 INFO    ] Checking for system updates...
[2026-08-29 03:10:43,963.963 INFO    ] 200
[2026-08-29 03:10:43,965.965 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:10:43,995.995 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:10:43,997.997 INFO    ] No update needed
[2026-08-29 03:10:43,998.998 INFO    ] Checking for camera pi updates...
[2026-08-29 03:10:44,018.018 INFO    ] 200
[2026-08-29 03:10:44,019.019 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:10:44,044.044 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:10:44,122.122 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:10:44,123.123 INFO    ] No camera update needed
[2026-08-29 03:10:44,124.124 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:10:44,126.126 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:10:44,129.129 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:10:44,131.131 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:10:46,171.171 INFO    ] ================================================
[2026-08-29 03:10:46,187.187 INFO    ] Launching Daemon at Sat Aug 29 03:10:46 IST 2026
[2026-08-29 03:10:46,199.199 INFO    ] ================================================
[2026-08-29 03:10:46,541.541 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:10:46
[2026-08-29 03:10:47,127.127 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:10:47,386.386 INFO    ] Initializing speech engine...
[2026-08-29 03:10:47,393.393 INFO    ] 2026-08-29 03:10:47
[2026-08-29 03:10:47,697.697 INFO    ] 2026-08-29 03:10:47
[2026-08-29 03:10:47,723.723 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:10:47,887.887 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:10:47,895.895 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:10:48,051.051 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:10:48,062.062 INFO    ] time= 29/08/2026 03:10:48
[2026-08-29 03:10:48,067.067 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:10:48,071.071 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:10:48,139.139 INFO    ] No existing commands found in stream
[2026-08-29 03:10:53,149.149 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:10:53,151.151 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-08-29 03:10:55,541.541 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:10:55,543.543 INFO    ] Checking for system updates...
[2026-08-29 03:10:55,564.564 INFO    ] 200
[2026-08-29 03:10:55,565.565 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:10:55,595.595 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:10:55,597.597 INFO    ] No update needed
[2026-08-29 03:10:55,598.598 INFO    ] Checking for camera pi updates...
[2026-08-29 03:10:55,617.617 INFO    ] 200
[2026-08-29 03:10:55,618.618 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:10:55,641.641 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:10:55,723.723 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:10:55,724.724 INFO    ] No camera update needed
[2026-08-29 03:10:55,725.725 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:10:55,726.726 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:10:55,729.729 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:10:55,732.732 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:10:57,770.770 INFO    ] ================================================
[2026-08-29 03:10:57,786.786 INFO    ] Launching Daemon at Sat Aug 29 03:10:57 IST 2026
[2026-08-29 03:10:57,797.797 INFO    ] ================================================
[2026-08-29 03:10:58,168.168 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:10:58
[2026-08-29 03:10:58,512.512 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:10:58,664.664 INFO    ] Initializing speech engine...
[2026-08-29 03:10:58,670.670 INFO    ] 2026-08-29 03:10:58
[2026-08-29 03:10:58,878.878 INFO    ] 2026-08-29 03:10:58
[2026-08-29 03:10:58,916.916 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:10:59,085.085 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:10:59,095.095 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:10:59,285.285 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:10:59,292.292 INFO    ] time= 29/08/2026 03:10:59
[2026-08-29 03:10:59,310.310 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:10:59,340.340 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:10:59,445.445 INFO    ] No existing commands found in stream
[2026-08-29 03:11:04,468.468 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:11:04,472.472 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-08-29 03:11:07,292.292 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:11:07,294.294 INFO    ] Checking for system updates...
[2026-08-29 03:11:07,317.317 INFO    ] 200
[2026-08-29 03:11:07,318.318 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:11:07,348.348 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:11:07,349.349 INFO    ] No update needed
[2026-08-29 03:11:07,350.350 INFO    ] Checking for camera pi updates...
[2026-08-29 03:11:07,369.369 INFO    ] 200
[2026-08-29 03:11:07,371.371 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:11:07,394.394 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:11:07,483.483 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:11:07,484.484 INFO    ] No camera update needed
[2026-08-29 03:11:07,485.485 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:11:07,487.487 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:11:07,490.490 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:11:07,492.492 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:11:09,532.532 INFO    ] ================================================
[2026-08-29 03:11:09,547.547 INFO    ] Launching Daemon at Sat Aug 29 03:11:09 IST 2026
[2026-08-29 03:11:09,558.558 INFO    ] ================================================
[2026-08-29 03:11:10,041.041 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:11:10
[2026-08-29 03:11:10,634.634 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:11:10,885.885 INFO    ] Initializing speech engine...
[2026-08-29 03:11:10,897.897 INFO    ] 2026-08-29 03:11:10
[2026-08-29 03:11:11,165.165 INFO    ] 2026-08-29 03:11:11
[2026-08-29 03:11:11,201.201 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:11:11,374.374 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:11:11,389.389 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:11:11,502.502 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:11:11,520.520 INFO    ] time= 29/08/2026 03:11:11
[2026-08-29 03:11:11,541.541 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:11:11,553.553 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:11:11,622.622 INFO    ] No existing commands found in stream
[2026-08-29 03:11:16,637.637 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:11:16,640.640 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-08-29 03:11:17,299.299 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:11:17,302.302 INFO    ] Checking for system updates...
[2026-08-29 03:11:17,338.338 INFO    ] 200
[2026-08-29 03:11:17,340.340 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:11:17,394.394 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:11:17,396.396 INFO    ] No update needed
[2026-08-29 03:11:17,399.399 INFO    ] Checking for camera pi updates...
[2026-08-29 03:11:17,436.436 INFO    ] 200
[2026-08-29 03:11:17,439.439 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:11:17,480.480 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:11:17,565.565 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:11:17,568.568 INFO    ] No camera update needed
[2026-08-29 03:11:17,570.570 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:11:17,573.573 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:11:17,578.578 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:11:17,583.583 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:11:19,623.623 INFO    ] ================================================
[2026-08-29 03:11:19,638.638 INFO    ] Launching Daemon at Sat Aug 29 03:11:19 IST 2026
[2026-08-29 03:11:19,648.648 INFO    ] ================================================
[2026-08-29 03:11:20,005.005 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:11:20
[2026-08-29 03:11:20,319.319 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:11:20,533.533 INFO    ] Initializing speech engine...
[2026-08-29 03:11:20,543.543 INFO    ] 2026-08-29 03:11:20
[2026-08-29 03:11:20,805.805 INFO    ] 2026-08-29 03:11:20
[2026-08-29 03:11:20,856.856 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:11:21,000.000 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:11:21,012.012 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:11:21,155.155 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:11:21,160.160 INFO    ] time= 29/08/2026 03:11:21
[2026-08-29 03:11:21,166.166 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:11:21,217.217 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:11:21,341.341 INFO    ] No existing commands found in stream
[2026-08-29 03:11:26,366.366 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:11:26,368.368 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-08-29 03:11:27,106.106 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:11:27,108.108 INFO    ] Checking for system updates...
[2026-08-29 03:11:27,128.128 INFO    ] 200
[2026-08-29 03:11:27,130.130 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:11:27,159.159 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:11:27,161.161 INFO    ] No update needed
[2026-08-29 03:11:27,162.162 INFO    ] Checking for camera pi updates...
[2026-08-29 03:11:27,183.183 INFO    ] 200
[2026-08-29 03:11:27,184.184 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:11:27,207.207 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:11:27,286.286 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:11:27,288.288 INFO    ] No camera update needed
[2026-08-29 03:11:27,289.289 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:11:27,290.290 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:11:27,293.293 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:11:27,296.296 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:11:29,334.334 INFO    ] ================================================
[2026-08-29 03:11:29,350.350 INFO    ] Launching Daemon at Sat Aug 29 03:11:29 IST 2026
[2026-08-29 03:11:29,360.360 INFO    ] ================================================
[2026-08-29 03:11:29,720.720 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:11:29
[2026-08-29 03:11:30,060.060 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:11:30,209.209 INFO    ] Initializing speech engine...
[2026-08-29 03:11:30,213.213 INFO    ] 2026-08-29 03:11:30
[2026-08-29 03:11:30,453.453 INFO    ] 2026-08-29 03:11:30
[2026-08-29 03:11:30,516.516 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:11:30,680.680 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:11:30,688.688 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:11:30,839.839 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:11:30,885.885 INFO    ] time= 29/08/2026 03:11:30
[2026-08-29 03:11:30,891.891 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:11:30,909.909 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:11:31,030.030 INFO    ] No existing commands found in stream
[2026-08-29 03:11:36,049.049 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:11:36,052.052 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-08-29 03:11:36,841.841 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:11:36,844.844 INFO    ] Checking for system updates...
[2026-08-29 03:11:36,883.883 INFO    ] 200
[2026-08-29 03:11:36,886.886 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:11:36,944.944 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:11:36,947.947 INFO    ] No update needed
[2026-08-29 03:11:36,949.949 INFO    ] Checking for camera pi updates...
[2026-08-29 03:11:36,983.983 INFO    ] 200
[2026-08-29 03:11:36,986.986 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:11:37,026.026 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:11:37,130.130 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:11:37,133.133 INFO    ] No camera update needed
[2026-08-29 03:11:37,135.135 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:11:37,137.137 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:11:37,142.142 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:11:37,147.147 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:11:39,189.189 INFO    ] ================================================
[2026-08-29 03:11:39,204.204 INFO    ] Launching Daemon at Sat Aug 29 03:11:39 IST 2026
[2026-08-29 03:11:39,215.215 INFO    ] ================================================
[2026-08-29 03:11:39,790.790 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:11:39
[2026-08-29 03:11:40,133.133 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:11:40,264.264 INFO    ] Initializing speech engine...
[2026-08-29 03:11:40,268.268 INFO    ] 2026-08-29 03:11:40
[2026-08-29 03:11:40,470.470 INFO    ] 2026-08-29 03:11:40
[2026-08-29 03:11:40,507.507 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:11:40,695.695 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:11:40,708.708 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:11:40,832.832 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:11:40,838.838 INFO    ] time= 29/08/2026 03:11:40
[2026-08-29 03:11:40,843.843 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:11:40,863.863 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:11:40,965.965 INFO    ] No existing commands found in stream
[2026-08-29 03:11:45,977.977 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:11:45,980.980 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-08-29 03:11:48,192.192 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:11:48,193.193 INFO    ] Checking for system updates...
[2026-08-29 03:11:48,218.218 INFO    ] 200
[2026-08-29 03:11:48,219.219 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:11:48,251.251 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:11:48,252.252 INFO    ] No update needed
[2026-08-29 03:11:48,254.254 INFO    ] Checking for camera pi updates...
[2026-08-29 03:11:48,273.273 INFO    ] 200
[2026-08-29 03:11:48,274.274 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:11:48,302.302 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:11:48,384.384 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:11:48,386.386 INFO    ] No camera update needed
[2026-08-29 03:11:48,389.389 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:11:48,391.391 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:11:48,396.396 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:11:48,401.401 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:11:50,444.444 INFO    ] ================================================
[2026-08-29 03:11:50,459.459 INFO    ] Launching Daemon at Sat Aug 29 03:11:50 IST 2026
[2026-08-29 03:11:50,470.470 INFO    ] ================================================
[2026-08-29 03:11:51,052.052 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:11:51
[2026-08-29 03:11:51,510.510 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:11:51,649.649 INFO    ] Initializing speech engine...
[2026-08-29 03:11:51,659.659 INFO    ] 2026-08-29 03:11:51
[2026-08-29 03:11:51,856.856 INFO    ] 2026-08-29 03:11:51
[2026-08-29 03:11:51,901.901 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:11:52,123.123 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:11:52,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:11:52,259.259 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:11:52,302.302 INFO    ] time= 29/08/2026 03:11:52
[2026-08-29 03:11:52,367.367 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:11:52,393.393 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:11:52,452.452 INFO    ] No existing commands found in stream
[2026-08-29 03:11:57,472.472 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:11:57,475.475 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-08-29 03:11:58,373.373 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:11:58,374.374 INFO    ] Checking for system updates...
[2026-08-29 03:11:58,394.394 INFO    ] 200
[2026-08-29 03:11:58,396.396 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:11:58,426.426 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:11:58,427.427 INFO    ] No update needed
[2026-08-29 03:11:58,428.428 INFO    ] Checking for camera pi updates...
[2026-08-29 03:11:58,450.450 INFO    ] 200
[2026-08-29 03:11:58,451.451 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:11:58,477.477 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:11:58,577.577 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:11:58,579.579 INFO    ] No camera update needed
[2026-08-29 03:11:58,580.580 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:11:58,581.581 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:11:58,584.584 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:11:58,587.587 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:12:00,627.627 INFO    ] ================================================
[2026-08-29 03:12:00,642.642 INFO    ] Launching Daemon at Sat Aug 29 03:12:00 IST 2026
[2026-08-29 03:12:00,652.652 INFO    ] ================================================
[2026-08-29 03:12:00,980.980 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:12:00
[2026-08-29 03:12:01,302.302 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:12:01,810.810 INFO    ] Initializing speech engine...
[2026-08-29 03:12:01,816.816 INFO    ] 2026-08-29 03:12:01
[2026-08-29 03:12:02,105.105 INFO    ] 2026-08-29 03:12:02
[2026-08-29 03:12:02,148.148 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:12:02,393.393 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:12:02,403.403 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:12:02,549.549 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:12:02,572.572 INFO    ] time= 29/08/2026 03:12:02
[2026-08-29 03:12:02,638.638 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:12:02,690.690 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:12:02,816.816 INFO    ] No existing commands found in stream
[2026-08-29 03:12:07,849.849 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:12:07,852.852 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-08-29 03:12:11,168.168 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:12:11,170.170 INFO    ] Checking for system updates...
[2026-08-29 03:12:11,192.192 INFO    ] 200
[2026-08-29 03:12:11,194.194 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:12:11,224.224 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:12:11,226.226 INFO    ] No update needed
[2026-08-29 03:12:11,227.227 INFO    ] Checking for camera pi updates...
[2026-08-29 03:12:11,246.246 INFO    ] 200
[2026-08-29 03:12:11,248.248 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:12:11,271.271 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:12:11,351.351 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:12:11,354.354 INFO    ] No camera update needed
[2026-08-29 03:12:11,357.357 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:12:11,360.360 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:12:11,366.366 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:12:11,372.372 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:12:13,414.414 INFO    ] ================================================
[2026-08-29 03:12:13,429.429 INFO    ] Launching Daemon at Sat Aug 29 03:12:13 IST 2026
[2026-08-29 03:12:13,440.440 INFO    ] ================================================
[2026-08-29 03:12:14,018.018 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:12:14
[2026-08-29 03:12:14,488.488 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:12:14,632.632 INFO    ] Initializing speech engine...
[2026-08-29 03:12:14,637.637 INFO    ] 2026-08-29 03:12:14
[2026-08-29 03:12:14,845.845 INFO    ] 2026-08-29 03:12:14
[2026-08-29 03:12:14,924.924 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:12:15,080.080 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:12:15,085.085 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:12:15,217.217 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:12:15,238.238 INFO    ] time= 29/08/2026 03:12:15
[2026-08-29 03:12:15,303.303 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:12:15,350.350 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:12:15,403.403 INFO    ] No existing commands found in stream
[2026-08-29 03:12:20,414.414 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:12:20,417.417 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-08-29 03:12:22,985.985 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:12:22,986.986 INFO    ] Checking for system updates...
[2026-08-29 03:12:23,006.006 INFO    ] 200
[2026-08-29 03:12:23,008.008 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:12:23,039.039 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:12:23,040.040 INFO    ] No update needed
[2026-08-29 03:12:23,042.042 INFO    ] Checking for camera pi updates...
[2026-08-29 03:12:23,062.062 INFO    ] 200
[2026-08-29 03:12:23,063.063 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:12:23,086.086 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:12:23,140.140 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:12:23,141.141 INFO    ] No camera update needed
[2026-08-29 03:12:23,143.143 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:12:23,144.144 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:12:23,147.147 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:12:23,149.149 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:12:25,187.187 INFO    ] ================================================
[2026-08-29 03:12:25,202.202 INFO    ] Launching Daemon at Sat Aug 29 03:12:25 IST 2026
[2026-08-29 03:12:25,213.213 INFO    ] ================================================
[2026-08-29 03:12:25,551.551 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:12:25
[2026-08-29 03:12:25,862.862 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:12:26,057.057 INFO    ] Initializing speech engine...
[2026-08-29 03:12:26,066.066 INFO    ] 2026-08-29 03:12:26
[2026-08-29 03:12:26,313.313 INFO    ] 2026-08-29 03:12:26
[2026-08-29 03:12:26,349.349 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:12:26,521.521 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:12:26,533.533 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:12:26,644.644 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:12:26,662.662 INFO    ] time= 29/08/2026 03:12:26
[2026-08-29 03:12:26,684.684 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:12:26,690.690 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:12:26,757.757 INFO    ] No existing commands found in stream
[2026-08-29 03:12:31,769.769 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:12:31,770.770 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-08-29 03:12:36,037.037 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:12:36,038.038 INFO    ] Checking for system updates...
[2026-08-29 03:12:36,058.058 INFO    ] 200
[2026-08-29 03:12:36,060.060 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:12:36,092.092 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:12:36,093.093 INFO    ] No update needed
[2026-08-29 03:12:36,094.094 INFO    ] Checking for camera pi updates...
[2026-08-29 03:12:36,115.115 INFO    ] 200
[2026-08-29 03:12:36,116.116 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:12:36,142.142 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:12:36,322.322 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:12:36,324.324 INFO    ] No camera update needed
[2026-08-29 03:12:36,327.327 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:12:36,329.329 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:12:36,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:12:36,340.340 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:12:38,382.382 INFO    ] ================================================
[2026-08-29 03:12:38,397.397 INFO    ] Launching Daemon at Sat Aug 29 03:12:38 IST 2026
[2026-08-29 03:12:38,407.407 INFO    ] ================================================
[2026-08-29 03:12:38,979.979 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:12:38
[2026-08-29 03:12:39,426.426 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:12:39,567.567 INFO    ] Initializing speech engine...
[2026-08-29 03:12:39,577.577 INFO    ] 2026-08-29 03:12:39
[2026-08-29 03:12:39,762.762 INFO    ] 2026-08-29 03:12:39
[2026-08-29 03:12:39,822.822 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:12:39,967.967 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:12:39,979.979 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:12:40,125.125 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:12:40,133.133 INFO    ] time= 29/08/2026 03:12:40
[2026-08-29 03:12:40,139.139 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:12:40,145.145 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:12:40,284.284 INFO    ] No existing commands found in stream
[2026-08-29 03:12:45,314.314 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:12:45,317.317 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-08-29 03:12:46,240.240 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:12:46,241.241 INFO    ] Checking for system updates...
[2026-08-29 03:12:46,262.262 INFO    ] 200
[2026-08-29 03:12:46,263.263 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:12:46,294.294 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:12:46,295.295 INFO    ] No update needed
[2026-08-29 03:12:46,297.297 INFO    ] Checking for camera pi updates...
[2026-08-29 03:12:46,316.316 INFO    ] 200
[2026-08-29 03:12:46,318.318 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:12:46,341.341 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:12:46,449.449 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:12:46,453.453 INFO    ] No camera update needed
[2026-08-29 03:12:46,455.455 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:12:46,458.458 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:12:46,464.464 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:12:46,470.470 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:12:48,512.512 INFO    ] ================================================
[2026-08-29 03:12:48,527.527 INFO    ] Launching Daemon at Sat Aug 29 03:12:48 IST 2026
[2026-08-29 03:12:48,537.537 INFO    ] ================================================
[2026-08-29 03:12:49,112.112 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:12:49
[2026-08-29 03:12:49,589.589 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:12:49,727.727 INFO    ] Initializing speech engine...
[2026-08-29 03:12:49,736.736 INFO    ] 2026-08-29 03:12:49
[2026-08-29 03:12:49,946.946 INFO    ] 2026-08-29 03:12:49
[2026-08-29 03:12:50,021.021 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:12:50,183.183 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:12:50,193.193 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:12:50,328.328 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:12:50,335.335 INFO    ] time= 29/08/2026 03:12:50
[2026-08-29 03:12:50,394.394 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:12:50,453.453 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:12:50,519.519 INFO    ] No existing commands found in stream
[2026-08-29 03:12:55,530.530 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:12:55,533.533 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-08-29 03:12:56,943.943 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:12:56,944.944 INFO    ] Checking for system updates...
[2026-08-29 03:12:56,965.965 INFO    ] 200
[2026-08-29 03:12:56,966.966 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:12:57,000.000 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:12:57,002.002 INFO    ] No update needed
[2026-08-29 03:12:57,004.004 INFO    ] Checking for camera pi updates...
[2026-08-29 03:12:57,025.025 INFO    ] 200
[2026-08-29 03:12:57,026.026 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:12:57,051.051 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:12:57,154.154 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:12:57,155.155 INFO    ] No camera update needed
[2026-08-29 03:12:57,156.156 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:12:57,158.158 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:12:57,161.161 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:12:57,164.164 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:12:59,202.202 INFO    ] ================================================
[2026-08-29 03:12:59,217.217 INFO    ] Launching Daemon at Sat Aug 29 03:12:59 IST 2026
[2026-08-29 03:12:59,228.228 INFO    ] ================================================
[2026-08-29 03:12:59,558.558 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:12:59
[2026-08-29 03:12:59,872.872 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:13:00,004.004 INFO    ] Initializing speech engine...
[2026-08-29 03:13:00,009.009 INFO    ] 2026-08-29 03:13:00
[2026-08-29 03:13:00,214.214 INFO    ] 2026-08-29 03:13:00
[2026-08-29 03:13:00,249.249 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:13:00,408.408 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:13:00,427.427 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:13:00,569.569 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:13:00,624.624 INFO    ] time= 29/08/2026 03:13:00
[2026-08-29 03:13:00,634.634 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:13:00,703.703 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:13:00,809.809 INFO    ] No existing commands found in stream
[2026-08-29 03:13:05,820.820 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:13:05,823.823 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 03:13:07,375.375 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:13:07,376.376 INFO    ] Checking for system updates...
[2026-08-29 03:13:07,398.398 INFO    ] 200
[2026-08-29 03:13:07,399.399 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:13:07,456.456 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:13:07,458.458 INFO    ] No update needed
[2026-08-29 03:13:07,460.460 INFO    ] Checking for camera pi updates...
[2026-08-29 03:13:07,494.494 INFO    ] 200
[2026-08-29 03:13:07,497.497 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:13:07,537.537 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:13:07,657.657 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:13:07,660.660 INFO    ] No camera update needed
[2026-08-29 03:13:07,662.662 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:13:07,664.664 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:13:07,670.670 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:13:07,674.674 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:13:09,714.714 INFO    ] ================================================
[2026-08-29 03:13:09,730.730 INFO    ] Launching Daemon at Sat Aug 29 03:13:09 IST 2026
[2026-08-29 03:13:09,741.741 INFO    ] ================================================
[2026-08-29 03:13:10,308.308 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:13:10
[2026-08-29 03:13:10,724.724 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:13:10,866.866 INFO    ] Initializing speech engine...
[2026-08-29 03:13:10,871.871 INFO    ] 2026-08-29 03:13:10
[2026-08-29 03:13:11,075.075 INFO    ] 2026-08-29 03:13:11
[2026-08-29 03:13:11,104.104 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:13:11,230.230 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:13:11,273.273 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:13:11,430.430 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:13:11,492.492 INFO    ] time= 29/08/2026 03:13:11
[2026-08-29 03:13:11,525.525 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:13:11,527.527 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:13:11,600.600 INFO    ] No existing commands found in stream
[2026-08-29 03:13:16,609.609 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:13:16,611.611 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-08-29 03:13:18,874.874 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:13:18,877.877 INFO    ] Checking for system updates...
[2026-08-29 03:13:18,909.909 INFO    ] 200
[2026-08-29 03:13:18,910.910 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:13:18,940.940 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:13:18,941.941 INFO    ] No update needed
[2026-08-29 03:13:18,943.943 INFO    ] Checking for camera pi updates...
[2026-08-29 03:13:18,962.962 INFO    ] 200
[2026-08-29 03:13:18,963.963 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:13:18,986.986 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:13:19,062.062 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:13:19,064.064 INFO    ] No camera update needed
[2026-08-29 03:13:19,065.065 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:13:19,066.066 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:13:19,069.069 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:13:19,072.072 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:13:21,112.112 INFO    ] ================================================
[2026-08-29 03:13:21,128.128 INFO    ] Launching Daemon at Sat Aug 29 03:13:21 IST 2026
[2026-08-29 03:13:21,140.140 INFO    ] ================================================
[2026-08-29 03:13:21,476.476 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:13:21
[2026-08-29 03:13:21,790.790 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:13:21,933.933 INFO    ] Initializing speech engine...
[2026-08-29 03:13:21,937.937 INFO    ] 2026-08-29 03:13:21
[2026-08-29 03:13:22,159.159 INFO    ] 2026-08-29 03:13:22
[2026-08-29 03:13:22,215.215 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:13:22,381.381 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:13:22,388.388 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:13:22,564.564 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:13:22,596.596 INFO    ] time= 29/08/2026 03:13:22
[2026-08-29 03:13:22,601.601 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:13:22,621.621 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:13:22,733.733 INFO    ] No existing commands found in stream
[2026-08-29 03:13:27,754.754 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:13:27,756.756 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-08-29 03:13:31,864.864 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:13:31,867.867 INFO    ] Checking for system updates...
[2026-08-29 03:13:31,904.904 INFO    ] 200
[2026-08-29 03:13:31,907.907 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:13:31,970.970 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:13:31,973.973 INFO    ] No update needed
[2026-08-29 03:13:31,976.976 INFO    ] Checking for camera pi updates...
[2026-08-29 03:13:32,015.015 INFO    ] 200
[2026-08-29 03:13:32,018.018 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:13:32,061.061 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:13:32,179.179 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:13:32,182.182 INFO    ] No camera update needed
[2026-08-29 03:13:32,185.185 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:13:32,188.188 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:13:32,194.194 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:13:32,200.200 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:13:34,243.243 INFO    ] ================================================
[2026-08-29 03:13:34,258.258 INFO    ] Launching Daemon at Sat Aug 29 03:13:34 IST 2026
[2026-08-29 03:13:34,269.269 INFO    ] ================================================
[2026-08-29 03:13:34,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:13:34
[2026-08-29 03:13:35,161.161 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:13:35,417.417 INFO    ] Initializing speech engine...
[2026-08-29 03:13:35,440.440 INFO    ] 2026-08-29 03:13:35
[2026-08-29 03:13:35,696.696 INFO    ] 2026-08-29 03:13:35
[2026-08-29 03:13:35,731.731 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:13:35,907.907 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:13:35,913.913 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:13:36,034.034 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:13:36,038.038 INFO    ] time= 29/08/2026 03:13:36
[2026-08-29 03:13:36,056.056 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:13:36,080.080 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:13:36,154.154 INFO    ] No existing commands found in stream
[2026-08-29 03:13:41,179.179 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:13:41,182.182 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-08-29 03:13:44,899.899 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:13:44,900.900 INFO    ] Checking for system updates...
[2026-08-29 03:13:44,920.920 INFO    ] 200
[2026-08-29 03:13:44,922.922 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:13:44,954.954 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:13:44,955.955 INFO    ] No update needed
[2026-08-29 03:13:44,956.956 INFO    ] Checking for camera pi updates...
[2026-08-29 03:13:44,977.977 INFO    ] 200
[2026-08-29 03:13:44,978.978 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:13:45,002.002 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:13:45,107.107 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:13:45,110.110 INFO    ] No camera update needed
[2026-08-29 03:13:45,112.112 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:13:45,114.114 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:13:45,120.120 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:13:45,125.125 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:13:47,166.166 INFO    ] ================================================
[2026-08-29 03:13:47,182.182 INFO    ] Launching Daemon at Sat Aug 29 03:13:47 IST 2026
[2026-08-29 03:13:47,194.194 INFO    ] ================================================
[2026-08-29 03:13:47,766.766 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:13:47
[2026-08-29 03:13:48,215.215 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:13:48,425.425 INFO    ] Initializing speech engine...
[2026-08-29 03:13:48,437.437 INFO    ] 2026-08-29 03:13:48
[2026-08-29 03:13:48,706.706 INFO    ] 2026-08-29 03:13:48
[2026-08-29 03:13:48,742.742 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:13:48,917.917 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:13:48,923.923 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:13:49,041.041 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:13:49,048.048 INFO    ] time= 29/08/2026 03:13:49
[2026-08-29 03:13:49,067.067 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:13:49,086.086 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:13:49,163.163 INFO    ] No existing commands found in stream
[2026-08-29 03:13:54,178.178 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:13:54,180.180 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-08-29 03:13:57,447.447 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:13:57,448.448 INFO    ] Checking for system updates...
[2026-08-29 03:13:57,468.468 INFO    ] 200
[2026-08-29 03:13:57,470.470 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:13:57,500.500 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:13:57,501.501 INFO    ] No update needed
[2026-08-29 03:13:57,503.503 INFO    ] Checking for camera pi updates...
[2026-08-29 03:13:57,522.522 INFO    ] 200
[2026-08-29 03:13:57,523.523 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:13:57,546.546 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:13:57,624.624 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:13:57,625.625 INFO    ] No camera update needed
[2026-08-29 03:13:57,627.627 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:13:57,628.628 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:13:57,631.631 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:13:57,634.634 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:13:59,673.673 INFO    ] ================================================
[2026-08-29 03:13:59,689.689 INFO    ] Launching Daemon at Sat Aug 29 03:13:59 IST 2026
[2026-08-29 03:13:59,701.701 INFO    ] ================================================
[2026-08-29 03:14:00,026.026 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:14:00
[2026-08-29 03:14:00,338.338 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:14:00,563.563 INFO    ] Initializing speech engine...
[2026-08-29 03:14:00,571.571 INFO    ] 2026-08-29 03:14:00
[2026-08-29 03:14:00,844.844 INFO    ] 2026-08-29 03:14:00
[2026-08-29 03:14:00,879.879 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:14:01,058.058 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:14:01,070.070 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:14:01,240.240 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:14:01,258.258 INFO    ] time= 29/08/2026 03:14:01
[2026-08-29 03:14:01,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:14:01,270.270 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:14:01,331.331 INFO    ] No existing commands found in stream
[2026-08-29 03:14:06,341.341 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:14:06,344.344 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-08-29 03:14:09,350.350 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:14:09,352.352 INFO    ] Checking for system updates...
[2026-08-29 03:14:09,374.374 INFO    ] 200
[2026-08-29 03:14:09,375.375 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:14:09,405.405 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:14:09,406.406 INFO    ] No update needed
[2026-08-29 03:14:09,407.407 INFO    ] Checking for camera pi updates...
[2026-08-29 03:14:09,426.426 INFO    ] 200
[2026-08-29 03:14:09,427.427 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:14:09,458.458 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:14:09,564.564 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:14:09,566.566 INFO    ] No camera update needed
[2026-08-29 03:14:09,568.568 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:14:09,570.570 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:14:09,576.576 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:14:09,581.581 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:14:11,622.622 INFO    ] ================================================
[2026-08-29 03:14:11,639.639 INFO    ] Launching Daemon at Sat Aug 29 03:14:11 IST 2026
[2026-08-29 03:14:11,650.650 INFO    ] ================================================
[2026-08-29 03:14:12,217.217 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:14:12
[2026-08-29 03:14:12,695.695 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:14:12,829.829 INFO    ] Initializing speech engine...
[2026-08-29 03:14:12,838.838 INFO    ] 2026-08-29 03:14:12
[2026-08-29 03:14:13,059.059 INFO    ] 2026-08-29 03:14:13
[2026-08-29 03:14:13,090.090 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:14:13,222.222 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:14:13,260.260 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:14:13,409.409 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:14:13,433.433 INFO    ] time= 29/08/2026 03:14:13
[2026-08-29 03:14:13,484.484 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:14:13,516.516 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:14:13,614.614 INFO    ] No existing commands found in stream
[2026-08-29 03:14:18,624.624 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:14:18,627.627 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-08-29 03:14:22,317.317 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:14:22,318.318 INFO    ] Checking for system updates...
[2026-08-29 03:14:22,339.339 INFO    ] 200
[2026-08-29 03:14:22,341.341 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:14:22,373.373 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:14:22,374.374 INFO    ] No update needed
[2026-08-29 03:14:22,376.376 INFO    ] Checking for camera pi updates...
[2026-08-29 03:14:22,396.396 INFO    ] 200
[2026-08-29 03:14:22,397.397 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:14:22,419.419 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:14:22,496.496 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:14:22,497.497 INFO    ] No camera update needed
[2026-08-29 03:14:22,498.498 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:14:22,499.499 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:14:22,502.502 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:14:22,505.505 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:14:24,544.544 INFO    ] ================================================
[2026-08-29 03:14:24,560.560 INFO    ] Launching Daemon at Sat Aug 29 03:14:24 IST 2026
[2026-08-29 03:14:24,571.571 INFO    ] ================================================
[2026-08-29 03:14:24,941.941 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:14:24
[2026-08-29 03:14:25,252.252 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:14:25,416.416 INFO    ] Initializing speech engine...
[2026-08-29 03:14:25,427.427 INFO    ] 2026-08-29 03:14:25
[2026-08-29 03:14:25,678.678 INFO    ] 2026-08-29 03:14:25
[2026-08-29 03:14:25,745.745 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:14:25,888.888 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:14:25,901.901 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:14:26,041.041 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:14:26,049.049 INFO    ] time= 29/08/2026 03:14:26
[2026-08-29 03:14:26,055.055 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:14:26,101.101 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:14:26,216.216 INFO    ] No existing commands found in stream
[2026-08-29 03:14:31,242.242 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:14:31,245.245 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-08-29 03:14:32,670.670 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:14:32,673.673 INFO    ] Checking for system updates...
[2026-08-29 03:14:32,709.709 INFO    ] 200
[2026-08-29 03:14:32,712.712 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:14:32,765.765 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:14:32,768.768 INFO    ] No update needed
[2026-08-29 03:14:32,770.770 INFO    ] Checking for camera pi updates...
[2026-08-29 03:14:32,808.808 INFO    ] 200
[2026-08-29 03:14:32,810.810 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:14:32,850.850 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:14:32,991.991 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:14:32,994.994 INFO    ] No camera update needed
[2026-08-29 03:14:32,996.996 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:14:32,998.998 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:14:33,005.005 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:14:33,010.010 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:14:35,053.053 INFO    ] ================================================
[2026-08-29 03:14:35,068.068 INFO    ] Launching Daemon at Sat Aug 29 03:14:35 IST 2026
[2026-08-29 03:14:35,079.079 INFO    ] ================================================
[2026-08-29 03:14:35,431.431 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:14:35
[2026-08-29 03:14:35,768.768 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:14:35,923.923 INFO    ] Initializing speech engine...
[2026-08-29 03:14:35,927.927 INFO    ] 2026-08-29 03:14:35
[2026-08-29 03:14:36,137.137 INFO    ] 2026-08-29 03:14:36
[2026-08-29 03:14:36,166.166 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:14:36,312.312 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:14:36,356.356 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:14:36,492.492 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:14:36,544.544 INFO    ] time= 29/08/2026 03:14:36
[2026-08-29 03:14:36,589.589 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:14:36,591.591 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:14:36,664.664 INFO    ] No existing commands found in stream
[2026-08-29 03:14:41,679.679 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:14:41,682.682 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-08-29 03:14:44,200.200 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:14:44,201.201 INFO    ] Checking for system updates...
[2026-08-29 03:14:44,222.222 INFO    ] 200
[2026-08-29 03:14:44,224.224 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:14:44,254.254 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:14:44,255.255 INFO    ] No update needed
[2026-08-29 03:14:44,257.257 INFO    ] Checking for camera pi updates...
[2026-08-29 03:14:44,278.278 INFO    ] 200
[2026-08-29 03:14:44,279.279 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:14:44,306.306 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:14:44,482.482 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:14:44,484.484 INFO    ] No camera update needed
[2026-08-29 03:14:44,485.485 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:14:44,486.486 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:14:44,489.489 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:14:44,492.492 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:14:46,531.531 INFO    ] ================================================
[2026-08-29 03:14:46,546.546 INFO    ] Launching Daemon at Sat Aug 29 03:14:46 IST 2026
[2026-08-29 03:14:46,557.557 INFO    ] ================================================
[2026-08-29 03:14:46,939.939 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:14:46
[2026-08-29 03:14:47,277.277 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:14:47,433.433 INFO    ] Initializing speech engine...
[2026-08-29 03:14:47,441.441 INFO    ] 2026-08-29 03:14:47
[2026-08-29 03:14:47,707.707 INFO    ] 2026-08-29 03:14:47
[2026-08-29 03:14:47,766.766 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:14:47,990.990 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:14:48,000.000 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:14:48,132.132 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:14:48,174.174 INFO    ] time= 29/08/2026 03:14:48
[2026-08-29 03:14:48,229.229 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:14:48,238.238 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:14:48,320.320 INFO    ] No existing commands found in stream
[2026-08-29 03:14:53,332.332 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:14:53,336.336 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-08-29 03:14:54,984.984 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:14:54,986.986 INFO    ] Checking for system updates...
[2026-08-29 03:14:55,006.006 INFO    ] 200
[2026-08-29 03:14:55,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:14:55,037.037 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:14:55,039.039 INFO    ] No update needed
[2026-08-29 03:14:55,040.040 INFO    ] Checking for camera pi updates...
[2026-08-29 03:14:55,060.060 INFO    ] 200
[2026-08-29 03:14:55,061.061 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:14:55,084.084 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:14:55,165.165 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:14:55,167.167 INFO    ] No camera update needed
[2026-08-29 03:14:55,169.169 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:14:55,172.172 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:14:55,177.177 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:14:55,182.182 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:14:57,223.223 INFO    ] ================================================
[2026-08-29 03:14:57,239.239 INFO    ] Launching Daemon at Sat Aug 29 03:14:57 IST 2026
[2026-08-29 03:14:57,250.250 INFO    ] ================================================
[2026-08-29 03:14:57,835.835 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:14:57
[2026-08-29 03:14:58,352.352 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:14:58,625.625 INFO    ] Initializing speech engine...
[2026-08-29 03:14:58,634.634 INFO    ] 2026-08-29 03:14:58
[2026-08-29 03:14:58,883.883 INFO    ] 2026-08-29 03:14:58
[2026-08-29 03:14:58,919.919 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:14:59,095.095 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:14:59,108.108 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:14:59,254.254 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:14:59,261.261 INFO    ] time= 29/08/2026 03:14:59
[2026-08-29 03:14:59,269.269 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:14:59,299.299 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:14:59,427.427 INFO    ] No existing commands found in stream
[2026-08-29 03:15:04,458.458 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:15:04,460.460 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-08-29 03:15:07,102.102 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:15:07,104.104 INFO    ] Checking for system updates...
[2026-08-29 03:15:07,124.124 INFO    ] 200
[2026-08-29 03:15:07,126.126 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:15:07,159.159 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:15:07,161.161 INFO    ] No update needed
[2026-08-29 03:15:07,162.162 INFO    ] Checking for camera pi updates...
[2026-08-29 03:15:07,181.181 INFO    ] 200
[2026-08-29 03:15:07,183.183 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:15:07,206.206 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:15:07,292.292 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:15:07,293.293 INFO    ] No camera update needed
[2026-08-29 03:15:07,294.294 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:15:07,295.295 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:15:07,298.298 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:15:07,301.301 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:15:09,341.341 INFO    ] ================================================
[2026-08-29 03:15:09,358.358 INFO    ] Launching Daemon at Sat Aug 29 03:15:09 IST 2026
[2026-08-29 03:15:09,369.369 INFO    ] ================================================
[2026-08-29 03:15:09,729.729 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:15:09
[2026-08-29 03:15:10,046.046 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:15:10,193.193 INFO    ] Initializing speech engine...
[2026-08-29 03:15:10,198.198 INFO    ] 2026-08-29 03:15:10
[2026-08-29 03:15:10,411.411 INFO    ] 2026-08-29 03:15:10
[2026-08-29 03:15:10,442.442 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:15:10,570.570 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:15:10,614.614 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:15:10,775.775 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:15:10,807.807 INFO    ] time= 29/08/2026 03:15:10
[2026-08-29 03:15:10,858.858 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:15:10,882.882 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:15:10,956.956 INFO    ] No existing commands found in stream
[2026-08-29 03:15:15,967.967 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:15:15,970.970 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-08-29 03:15:19,515.515 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:15:19,516.516 INFO    ] Checking for system updates...
[2026-08-29 03:15:19,537.537 INFO    ] 200
[2026-08-29 03:15:19,539.539 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:15:19,570.570 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:15:19,571.571 INFO    ] No update needed
[2026-08-29 03:15:19,573.573 INFO    ] Checking for camera pi updates...
[2026-08-29 03:15:19,592.592 INFO    ] 200
[2026-08-29 03:15:19,594.594 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:15:19,616.616 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:15:19,700.700 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:15:19,703.703 INFO    ] No camera update needed
[2026-08-29 03:15:19,705.705 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:15:19,707.707 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:15:19,713.713 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:15:19,718.718 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:15:21,758.758 INFO    ] ================================================
[2026-08-29 03:15:21,774.774 INFO    ] Launching Daemon at Sat Aug 29 03:15:21 IST 2026
[2026-08-29 03:15:21,785.785 INFO    ] ================================================
[2026-08-29 03:15:22,407.407 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:15:22
[2026-08-29 03:15:22,859.859 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:15:23,150.150 INFO    ] Initializing speech engine...
[2026-08-29 03:15:23,157.157 INFO    ] 2026-08-29 03:15:23
[2026-08-29 03:15:23,426.426 INFO    ] 2026-08-29 03:15:23
[2026-08-29 03:15:23,481.481 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:15:23,624.624 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:15:23,637.637 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:15:23,778.778 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:15:23,786.786 INFO    ] time= 29/08/2026 03:15:23
[2026-08-29 03:15:23,794.794 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:15:23,848.848 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:15:23,964.964 INFO    ] No existing commands found in stream
[2026-08-29 03:15:28,995.995 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:15:28,998.998 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-08-29 03:15:31,761.761 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:15:31,764.764 INFO    ] Checking for system updates...
[2026-08-29 03:15:31,805.805 INFO    ] 200
[2026-08-29 03:15:31,807.807 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:15:31,871.871 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:15:31,874.874 INFO    ] No update needed
[2026-08-29 03:15:31,878.878 INFO    ] Checking for camera pi updates...
[2026-08-29 03:15:31,921.921 INFO    ] 200
[2026-08-29 03:15:31,924.924 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:15:31,974.974 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:15:32,131.131 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:15:32,134.134 INFO    ] No camera update needed
[2026-08-29 03:15:32,137.137 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:15:32,140.140 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:15:32,147.147 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:15:32,153.153 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:15:34,195.195 INFO    ] ================================================
[2026-08-29 03:15:34,211.211 INFO    ] Launching Daemon at Sat Aug 29 03:15:34 IST 2026
[2026-08-29 03:15:34,223.223 INFO    ] ================================================
[2026-08-29 03:15:34,801.801 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:15:34
[2026-08-29 03:15:35,130.130 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:15:35,280.280 INFO    ] Initializing speech engine...
[2026-08-29 03:15:35,285.285 INFO    ] 2026-08-29 03:15:35
[2026-08-29 03:15:35,491.491 INFO    ] 2026-08-29 03:15:35
[2026-08-29 03:15:35,520.520 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:15:35,642.642 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:15:35,707.707 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:15:35,881.881 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:15:35,922.922 INFO    ] time= 29/08/2026 03:15:35
[2026-08-29 03:15:35,992.992 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:15:36,023.023 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:15:36,144.144 INFO    ] No existing commands found in stream
[2026-08-29 03:15:41,171.171 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:15:41,174.174 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-08-29 03:15:45,279.279 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:15:45,280.280 INFO    ] Checking for system updates...
[2026-08-29 03:15:45,302.302 INFO    ] 200
[2026-08-29 03:15:45,303.303 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:15:45,333.333 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:15:45,334.334 INFO    ] No update needed
[2026-08-29 03:15:45,336.336 INFO    ] Checking for camera pi updates...
[2026-08-29 03:15:45,356.356 INFO    ] 200
[2026-08-29 03:15:45,357.357 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:15:45,380.380 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:15:45,477.477 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:15:45,479.479 INFO    ] No camera update needed
[2026-08-29 03:15:45,480.480 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:15:45,481.481 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:15:45,484.484 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:15:45,487.487 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:15:47,525.525 INFO    ] ================================================
[2026-08-29 03:15:47,540.540 INFO    ] Launching Daemon at Sat Aug 29 03:15:47 IST 2026
[2026-08-29 03:15:47,551.551 INFO    ] ================================================
[2026-08-29 03:15:47,896.896 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:15:47
[2026-08-29 03:15:48,478.478 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:15:48,775.775 INFO    ] Initializing speech engine...
[2026-08-29 03:15:48,783.783 INFO    ] 2026-08-29 03:15:48
[2026-08-29 03:15:49,053.053 INFO    ] 2026-08-29 03:15:49
[2026-08-29 03:15:49,114.114 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:15:49,280.280 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:15:49,290.290 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:15:49,419.419 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:15:49,428.428 INFO    ] time= 29/08/2026 03:15:49
[2026-08-29 03:15:49,434.434 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:15:49,486.486 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:15:49,614.614 INFO    ] No existing commands found in stream
[2026-08-29 03:15:54,640.640 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:15:54,643.643 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-08-29 03:15:58,044.044 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:15:58,046.046 INFO    ] Checking for system updates...
[2026-08-29 03:15:58,067.067 INFO    ] 200
[2026-08-29 03:15:58,068.068 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:15:58,100.100 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:15:58,101.101 INFO    ] No update needed
[2026-08-29 03:15:58,103.103 INFO    ] Checking for camera pi updates...
[2026-08-29 03:15:58,123.123 INFO    ] 200
[2026-08-29 03:15:58,124.124 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:15:58,147.147 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:15:58,220.220 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:15:58,221.221 INFO    ] No camera update needed
[2026-08-29 03:15:58,223.223 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:15:58,224.224 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:15:58,227.227 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:15:58,229.229 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:16:00,268.268 INFO    ] ================================================
[2026-08-29 03:16:00,284.284 INFO    ] Launching Daemon at Sat Aug 29 03:16:00 IST 2026
[2026-08-29 03:16:00,295.295 INFO    ] ================================================
[2026-08-29 03:16:00,649.649 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:16:00
[2026-08-29 03:16:00,982.982 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:16:01,127.127 INFO    ] Initializing speech engine...
[2026-08-29 03:16:01,137.137 INFO    ] 2026-08-29 03:16:01
[2026-08-29 03:16:01,336.336 INFO    ] 2026-08-29 03:16:01
[2026-08-29 03:16:01,417.417 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:16:01,576.576 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:16:01,581.581 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:16:01,696.696 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:16:01,700.700 INFO    ] time= 29/08/2026 03:16:01
[2026-08-29 03:16:01,720.720 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:16:01,725.725 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:16:01,791.791 INFO    ] No existing commands found in stream
[2026-08-29 03:16:06,804.804 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:16:06,807.807 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-08-29 03:16:07,648.648 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:16:07,649.649 INFO    ] Checking for system updates...
[2026-08-29 03:16:07,669.669 INFO    ] 200
[2026-08-29 03:16:07,671.671 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:16:07,700.700 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:16:07,702.702 INFO    ] No update needed
[2026-08-29 03:16:07,703.703 INFO    ] Checking for camera pi updates...
[2026-08-29 03:16:07,724.724 INFO    ] 200
[2026-08-29 03:16:07,725.725 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:16:07,747.747 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:16:07,862.862 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:16:07,863.863 INFO    ] No camera update needed
[2026-08-29 03:16:07,864.864 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:16:07,866.866 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:16:07,869.869 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:16:07,871.871 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:16:09,910.910 INFO    ] ================================================
[2026-08-29 03:16:09,925.925 INFO    ] Launching Daemon at Sat Aug 29 03:16:09 IST 2026
[2026-08-29 03:16:09,936.936 INFO    ] ================================================
[2026-08-29 03:16:10,270.270 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:16:10
[2026-08-29 03:16:10,695.695 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:16:10,951.951 INFO    ] Initializing speech engine...
[2026-08-29 03:16:10,959.959 INFO    ] 2026-08-29 03:16:10
[2026-08-29 03:16:11,254.254 INFO    ] 2026-08-29 03:16:11
[2026-08-29 03:16:11,291.291 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:16:11,486.486 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:16:11,502.502 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:16:11,626.626 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:16:11,633.633 INFO    ] time= 29/08/2026 03:16:11
[2026-08-29 03:16:11,647.647 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:16:11,672.672 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:16:11,756.756 INFO    ] No existing commands found in stream
[2026-08-29 03:16:16,768.768 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:16:16,770.770 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-08-29 03:16:19,291.291 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:16:19,293.293 INFO    ] Checking for system updates...
[2026-08-29 03:16:19,313.313 INFO    ] 200
[2026-08-29 03:16:19,315.315 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:16:19,345.345 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:16:19,346.346 INFO    ] No update needed
[2026-08-29 03:16:19,347.347 INFO    ] Checking for camera pi updates...
[2026-08-29 03:16:19,368.368 INFO    ] 200
[2026-08-29 03:16:19,369.369 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:16:19,393.393 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:16:19,469.469 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:16:19,470.470 INFO    ] No camera update needed
[2026-08-29 03:16:19,471.471 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:16:19,473.473 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:16:19,476.476 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:16:19,478.478 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:16:21,517.517 INFO    ] ================================================
[2026-08-29 03:16:21,532.532 INFO    ] Launching Daemon at Sat Aug 29 03:16:21 IST 2026
[2026-08-29 03:16:21,543.543 INFO    ] ================================================
[2026-08-29 03:16:21,870.870 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:16:21
[2026-08-29 03:16:22,186.186 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:16:22,323.323 INFO    ] Initializing speech engine...
[2026-08-29 03:16:22,335.335 INFO    ] 2026-08-29 03:16:22
[2026-08-29 03:16:22,555.555 INFO    ] 2026-08-29 03:16:22
[2026-08-29 03:16:22,586.586 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:16:22,688.688 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:16:22,719.719 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:16:22,878.878 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:16:22,928.928 INFO    ] time= 29/08/2026 03:16:22
[2026-08-29 03:16:22,964.964 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:16:23,011.011 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:16:23,109.109 INFO    ] No existing commands found in stream
[2026-08-29 03:16:28,120.120 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:16:28,123.123 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-08-29 03:16:30,823.823 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:16:30,825.825 INFO    ] Checking for system updates...
[2026-08-29 03:16:30,845.845 INFO    ] 200
[2026-08-29 03:16:30,847.847 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:16:30,879.879 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:16:30,880.880 INFO    ] No update needed
[2026-08-29 03:16:30,882.882 INFO    ] Checking for camera pi updates...
[2026-08-29 03:16:30,903.903 INFO    ] 200
[2026-08-29 03:16:30,904.904 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:16:30,930.930 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:16:31,020.020 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:16:31,021.021 INFO    ] No camera update needed
[2026-08-29 03:16:31,023.023 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:16:31,024.024 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:16:31,028.028 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:16:31,030.030 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:16:33,064.064 INFO    ] ================================================
[2026-08-29 03:16:33,080.080 INFO    ] Launching Daemon at Sat Aug 29 03:16:33 IST 2026
[2026-08-29 03:16:33,093.093 INFO    ] ================================================
[2026-08-29 03:16:33,671.671 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:16:33
[2026-08-29 03:16:34,270.270 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:16:34,534.534 INFO    ] Initializing speech engine...
[2026-08-29 03:16:34,550.550 INFO    ] 2026-08-29 03:16:34
[2026-08-29 03:16:34,839.839 INFO    ] 2026-08-29 03:16:34
[2026-08-29 03:16:34,877.877 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:16:35,042.042 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:16:35,059.059 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:16:35,188.188 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:16:35,193.193 INFO    ] time= 29/08/2026 03:16:35
[2026-08-29 03:16:35,197.197 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:16:35,230.230 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:16:35,298.298 INFO    ] No existing commands found in stream
[2026-08-29 03:16:40,313.313 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:16:40,316.316 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-08-29 03:16:43,862.862 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:16:43,864.864 INFO    ] Checking for system updates...
[2026-08-29 03:16:43,884.884 INFO    ] 200
[2026-08-29 03:16:43,885.885 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:16:43,917.917 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:16:43,919.919 INFO    ] No update needed
[2026-08-29 03:16:43,920.920 INFO    ] Checking for camera pi updates...
[2026-08-29 03:16:43,939.939 INFO    ] 200
[2026-08-29 03:16:43,940.940 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:16:43,963.963 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:16:44,063.063 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:16:44,066.066 INFO    ] No camera update needed
[2026-08-29 03:16:44,068.068 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:16:44,070.070 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:16:44,076.076 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:16:44,080.080 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:16:46,120.120 INFO    ] ================================================
[2026-08-29 03:16:46,135.135 INFO    ] Launching Daemon at Sat Aug 29 03:16:46 IST 2026
[2026-08-29 03:16:46,146.146 INFO    ] ================================================
[2026-08-29 03:16:46,734.734 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:16:46
[2026-08-29 03:16:47,210.210 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:16:47,443.443 INFO    ] Initializing speech engine...
[2026-08-29 03:16:47,451.451 INFO    ] 2026-08-29 03:16:47
[2026-08-29 03:16:47,712.712 INFO    ] 2026-08-29 03:16:47
[2026-08-29 03:16:47,766.766 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:16:47,907.907 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:16:47,920.920 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:16:48,060.060 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:16:48,068.068 INFO    ] time= 29/08/2026 03:16:48
[2026-08-29 03:16:48,075.075 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:16:48,115.115 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:16:48,254.254 INFO    ] No existing commands found in stream
[2026-08-29 03:16:53,275.275 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:16:53,278.278 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 03:16:53,739.739 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:16:53,741.741 INFO    ] Checking for system updates...
[2026-08-29 03:16:53,761.761 INFO    ] 200
[2026-08-29 03:16:53,763.763 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:16:53,794.794 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:16:53,796.796 INFO    ] No update needed
[2026-08-29 03:16:53,797.797 INFO    ] Checking for camera pi updates...
[2026-08-29 03:16:53,818.818 INFO    ] 200
[2026-08-29 03:16:53,819.819 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:16:53,842.842 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:16:54,020.020 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:16:54,023.023 INFO    ] No camera update needed
[2026-08-29 03:16:54,025.025 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:16:54,027.027 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:16:54,032.032 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:16:54,037.037 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:16:56,077.077 INFO    ] ================================================
[2026-08-29 03:16:56,092.092 INFO    ] Launching Daemon at Sat Aug 29 03:16:56 IST 2026
[2026-08-29 03:16:56,103.103 INFO    ] ================================================
[2026-08-29 03:16:56,754.754 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:16:56
[2026-08-29 03:16:57,170.170 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:16:57,313.313 INFO    ] Initializing speech engine...
[2026-08-29 03:16:57,317.317 INFO    ] 2026-08-29 03:16:57
[2026-08-29 03:16:57,522.522 INFO    ] 2026-08-29 03:16:57
[2026-08-29 03:16:57,549.549 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:16:57,672.672 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:16:57,735.735 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:16:57,872.872 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:16:57,936.936 INFO    ] time= 29/08/2026 03:16:57
[2026-08-29 03:16:57,962.962 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:16:57,969.969 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:16:58,034.034 INFO    ] No existing commands found in stream
[2026-08-29 03:17:03,044.044 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:17:03,047.047 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-08-29 03:17:05,432.432 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:17:05,433.433 INFO    ] Checking for system updates...
[2026-08-29 03:17:05,454.454 INFO    ] 200
[2026-08-29 03:17:05,455.455 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:17:05,485.485 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:17:05,486.486 INFO    ] No update needed
[2026-08-29 03:17:05,488.488 INFO    ] Checking for camera pi updates...
[2026-08-29 03:17:05,507.507 INFO    ] 200
[2026-08-29 03:17:05,508.508 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:17:05,545.545 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:17:05,670.670 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:17:05,672.672 INFO    ] No camera update needed
[2026-08-29 03:17:05,675.675 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:17:05,677.677 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:17:05,682.682 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:17:05,687.687 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:17:07,728.728 INFO    ] ================================================
[2026-08-29 03:17:07,744.744 INFO    ] Launching Daemon at Sat Aug 29 03:17:07 IST 2026
[2026-08-29 03:17:07,755.755 INFO    ] ================================================
[2026-08-29 03:17:08,323.323 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:17:08
[2026-08-29 03:17:08,788.788 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:17:08,928.928 INFO    ] Initializing speech engine...
[2026-08-29 03:17:08,937.937 INFO    ] 2026-08-29 03:17:08
[2026-08-29 03:17:09,152.152 INFO    ] 2026-08-29 03:17:09
[2026-08-29 03:17:09,182.182 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:17:09,313.313 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:17:09,317.317 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:17:09,476.476 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:17:09,530.530 INFO    ] time= 29/08/2026 03:17:09
[2026-08-29 03:17:09,576.576 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:17:09,613.613 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:17:09,711.711 INFO    ] No existing commands found in stream
[2026-08-29 03:17:14,722.722 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:17:14,725.725 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 03:17:18,553.553 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:17:18,556.556 INFO    ] Checking for system updates...
[2026-08-29 03:17:18,592.592 INFO    ] 200
[2026-08-29 03:17:18,595.595 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:17:18,653.653 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:17:18,655.655 INFO    ] No update needed
[2026-08-29 03:17:18,657.657 INFO    ] Checking for camera pi updates...
[2026-08-29 03:17:18,693.693 INFO    ] 200
[2026-08-29 03:17:18,696.696 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:17:18,735.735 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:17:18,823.823 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:17:18,825.825 INFO    ] No camera update needed
[2026-08-29 03:17:18,827.827 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:17:18,829.829 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:17:18,835.835 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:17:18,840.840 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:17:20,879.879 INFO    ] ================================================
[2026-08-29 03:17:20,895.895 INFO    ] Launching Daemon at Sat Aug 29 03:17:20 IST 2026
[2026-08-29 03:17:20,905.905 INFO    ] ================================================
[2026-08-29 03:17:21,253.253 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:17:21
[2026-08-29 03:17:21,585.585 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:17:21,735.735 INFO    ] Initializing speech engine...
[2026-08-29 03:17:21,738.738 INFO    ] 2026-08-29 03:17:21
[2026-08-29 03:17:21,944.944 INFO    ] 2026-08-29 03:17:21
[2026-08-29 03:17:21,973.973 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:17:22,095.095 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:17:22,157.157 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:17:22,296.296 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:17:22,363.363 INFO    ] time= 29/08/2026 03:17:22
[2026-08-29 03:17:22,387.387 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:17:22,393.393 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:17:22,458.458 INFO    ] No existing commands found in stream
[2026-08-29 03:17:27,469.469 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:17:27,473.473 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-08-29 03:17:29,534.534 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:17:29,535.535 INFO    ] Checking for system updates...
[2026-08-29 03:17:29,555.555 INFO    ] 200
[2026-08-29 03:17:29,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:17:29,588.588 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:17:29,589.589 INFO    ] No update needed
[2026-08-29 03:17:29,590.590 INFO    ] Checking for camera pi updates...
[2026-08-29 03:17:29,609.609 INFO    ] 200
[2026-08-29 03:17:29,611.611 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:17:29,643.643 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:17:29,749.749 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:17:29,751.751 INFO    ] No camera update needed
[2026-08-29 03:17:29,754.754 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:17:29,756.756 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:17:29,761.761 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:17:29,767.767 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:17:31,808.808 INFO    ] ================================================
[2026-08-29 03:17:31,824.824 INFO    ] Launching Daemon at Sat Aug 29 03:17:31 IST 2026
[2026-08-29 03:17:31,844.844 INFO    ] ================================================
[2026-08-29 03:17:32,442.442 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:17:32
[2026-08-29 03:17:32,974.974 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:17:33,227.227 INFO    ] Initializing speech engine...
[2026-08-29 03:17:33,235.235 INFO    ] 2026-08-29 03:17:33
[2026-08-29 03:17:33,519.519 INFO    ] 2026-08-29 03:17:33
[2026-08-29 03:17:33,555.555 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:17:33,728.728 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:17:33,740.740 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:17:33,881.881 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:17:33,890.890 INFO    ] time= 29/08/2026 03:17:33
[2026-08-29 03:17:33,898.898 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:17:33,959.959 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:17:34,063.063 INFO    ] No existing commands found in stream
[2026-08-29 03:17:39,094.094 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:17:39,096.096 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-08-29 03:17:40,620.620 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:17:40,621.621 INFO    ] Checking for system updates...
[2026-08-29 03:17:40,642.642 INFO    ] 200
[2026-08-29 03:17:40,643.643 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:17:40,673.673 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:17:40,675.675 INFO    ] No update needed
[2026-08-29 03:17:40,676.676 INFO    ] Checking for camera pi updates...
[2026-08-29 03:17:40,696.696 INFO    ] 200
[2026-08-29 03:17:40,697.697 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:17:40,722.722 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:17:40,818.818 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:17:40,821.821 INFO    ] No camera update needed
[2026-08-29 03:17:40,823.823 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:17:40,826.826 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:17:40,831.831 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:17:40,836.836 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:17:42,876.876 INFO    ] ================================================
[2026-08-29 03:17:42,891.891 INFO    ] Launching Daemon at Sat Aug 29 03:17:42 IST 2026
[2026-08-29 03:17:42,902.902 INFO    ] ================================================
[2026-08-29 03:17:43,478.478 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:17:43
[2026-08-29 03:17:43,971.971 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:17:44,115.115 INFO    ] Initializing speech engine...
[2026-08-29 03:17:44,119.119 INFO    ] 2026-08-29 03:17:44
[2026-08-29 03:17:44,325.325 INFO    ] 2026-08-29 03:17:44
[2026-08-29 03:17:44,353.353 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:17:44,475.475 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:17:44,522.522 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:17:44,671.671 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:17:44,741.741 INFO    ] time= 29/08/2026 03:17:44
[2026-08-29 03:17:44,765.765 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:17:44,772.772 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:17:44,837.837 INFO    ] No existing commands found in stream
[2026-08-29 03:17:49,848.848 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:17:49,851.851 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-08-29 03:17:51,809.809 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:17:51,810.810 INFO    ] Checking for system updates...
[2026-08-29 03:17:51,831.831 INFO    ] 200
[2026-08-29 03:17:51,832.832 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:17:51,864.864 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:17:51,865.865 INFO    ] No update needed
[2026-08-29 03:17:51,867.867 INFO    ] Checking for camera pi updates...
[2026-08-29 03:17:51,886.886 INFO    ] 200
[2026-08-29 03:17:51,888.888 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:17:51,911.911 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:17:52,007.007 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:17:52,008.008 INFO    ] No camera update needed
[2026-08-29 03:17:52,010.010 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:17:52,011.011 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:17:52,014.014 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:17:52,017.017 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:17:54,056.056 INFO    ] ================================================
[2026-08-29 03:17:54,071.071 INFO    ] Launching Daemon at Sat Aug 29 03:17:54 IST 2026
[2026-08-29 03:17:54,081.081 INFO    ] ================================================
[2026-08-29 03:17:54,438.438 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:17:54
[2026-08-29 03:17:54,749.749 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:17:54,887.887 INFO    ] Initializing speech engine...
[2026-08-29 03:17:54,898.898 INFO    ] 2026-08-29 03:17:54
[2026-08-29 03:17:55,103.103 INFO    ] 2026-08-29 03:17:55
[2026-08-29 03:17:55,133.133 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:17:55,261.261 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:17:55,319.319 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:17:55,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:17:55,501.501 INFO    ] time= 29/08/2026 03:17:55
[2026-08-29 03:17:55,549.549 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:17:55,556.556 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:17:55,622.622 INFO    ] No existing commands found in stream
[2026-08-29 03:18:00,633.633 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:18:00,635.635 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-08-29 03:18:03,665.665 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:18:03,667.667 INFO    ] Checking for system updates...
[2026-08-29 03:18:03,703.703 INFO    ] 200
[2026-08-29 03:18:03,706.706 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:18:03,758.758 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:18:03,760.760 INFO    ] No update needed
[2026-08-29 03:18:03,763.763 INFO    ] Checking for camera pi updates...
[2026-08-29 03:18:03,797.797 INFO    ] 200
[2026-08-29 03:18:03,799.799 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:18:03,839.839 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:18:03,949.949 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:18:03,951.951 INFO    ] No camera update needed
[2026-08-29 03:18:03,954.954 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:18:03,956.956 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:18:03,961.961 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:18:03,966.966 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:18:06,006.006 INFO    ] ================================================
[2026-08-29 03:18:06,021.021 INFO    ] Launching Daemon at Sat Aug 29 03:18:06 IST 2026
[2026-08-29 03:18:06,032.032 INFO    ] ================================================
[2026-08-29 03:18:06,584.584 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:18:06
[2026-08-29 03:18:07,168.168 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:18:07,429.429 INFO    ] Initializing speech engine...
[2026-08-29 03:18:07,448.448 INFO    ] 2026-08-29 03:18:07
[2026-08-29 03:18:07,698.698 INFO    ] 2026-08-29 03:18:07
[2026-08-29 03:18:07,731.731 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:18:07,909.909 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:18:07,922.922 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:18:08,034.034 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:18:08,039.039 INFO    ] time= 29/08/2026 03:18:08
[2026-08-29 03:18:08,057.057 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:18:08,078.078 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:18:08,155.155 INFO    ] No existing commands found in stream
[2026-08-29 03:18:13,191.191 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:18:13,194.194 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-08-29 03:18:15,060.060 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:18:15,061.061 INFO    ] Checking for system updates...
[2026-08-29 03:18:15,083.083 INFO    ] 200
[2026-08-29 03:18:15,084.084 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:18:15,114.114 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:18:15,115.115 INFO    ] No update needed
[2026-08-29 03:18:15,117.117 INFO    ] Checking for camera pi updates...
[2026-08-29 03:18:15,138.138 INFO    ] 200
[2026-08-29 03:18:15,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:18:15,163.163 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:18:15,241.241 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:18:15,243.243 INFO    ] No camera update needed
[2026-08-29 03:18:15,244.244 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:18:15,245.245 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:18:15,249.249 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:18:15,252.252 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:18:17,295.295 INFO    ] ================================================
[2026-08-29 03:18:17,311.311 INFO    ] Launching Daemon at Sat Aug 29 03:18:17 IST 2026
[2026-08-29 03:18:17,322.322 INFO    ] ================================================
[2026-08-29 03:18:17,687.687 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:18:17
[2026-08-29 03:18:18,032.032 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:18:18,184.184 INFO    ] Initializing speech engine...
[2026-08-29 03:18:18,190.190 INFO    ] 2026-08-29 03:18:18
[2026-08-29 03:18:18,383.383 INFO    ] 2026-08-29 03:18:18
[2026-08-29 03:18:18,463.463 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:18:18,590.590 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:18:18,617.617 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:18:18,759.759 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:18:18,796.796 INFO    ] time= 29/08/2026 03:18:18
[2026-08-29 03:18:18,855.855 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:18:18,897.897 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:18:18,949.949 INFO    ] No existing commands found in stream
[2026-08-29 03:18:23,961.961 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:18:23,964.964 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-08-29 03:18:25,327.327 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:18:25,328.328 INFO    ] Checking for system updates...
[2026-08-29 03:18:25,350.350 INFO    ] 200
[2026-08-29 03:18:25,352.352 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:18:25,381.381 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:18:25,383.383 INFO    ] No update needed
[2026-08-29 03:18:25,384.384 INFO    ] Checking for camera pi updates...
[2026-08-29 03:18:25,404.404 INFO    ] 200
[2026-08-29 03:18:25,405.405 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:18:25,429.429 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:18:25,531.531 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:18:25,532.532 INFO    ] No camera update needed
[2026-08-29 03:18:25,534.534 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:18:25,535.535 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:18:25,538.538 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:18:25,541.541 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:18:27,583.583 INFO    ] ================================================
[2026-08-29 03:18:27,598.598 INFO    ] Launching Daemon at Sat Aug 29 03:18:27 IST 2026
[2026-08-29 03:18:27,610.610 INFO    ] ================================================
[2026-08-29 03:18:27,944.944 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:18:27
[2026-08-29 03:18:28,256.256 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:18:28,388.388 INFO    ] Initializing speech engine...
[2026-08-29 03:18:28,393.393 INFO    ] 2026-08-29 03:18:28
[2026-08-29 03:18:28,585.585 INFO    ] 2026-08-29 03:18:28
[2026-08-29 03:18:28,631.631 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:18:28,754.754 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:18:28,757.757 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:18:28,867.867 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:18:28,876.876 INFO    ] time= 29/08/2026 03:18:28
[2026-08-29 03:18:28,881.881 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:18:28,897.897 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:18:28,985.985 INFO    ] No existing commands found in stream
[2026-08-29 03:18:34,020.020 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:18:34,023.023 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 03:18:36,679.679 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:18:36,680.680 INFO    ] Checking for system updates...
[2026-08-29 03:18:36,701.701 INFO    ] 200
[2026-08-29 03:18:36,702.702 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:18:36,732.732 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:18:36,734.734 INFO    ] No update needed
[2026-08-29 03:18:36,735.735 INFO    ] Checking for camera pi updates...
[2026-08-29 03:18:36,754.754 INFO    ] 200
[2026-08-29 03:18:36,756.756 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:18:36,778.778 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:18:36,858.858 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:18:36,861.861 INFO    ] No camera update needed
[2026-08-29 03:18:36,863.863 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:18:36,865.865 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:18:36,871.871 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:18:36,876.876 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:18:38,915.915 INFO    ] ================================================
[2026-08-29 03:18:38,931.931 INFO    ] Launching Daemon at Sat Aug 29 03:18:38 IST 2026
[2026-08-29 03:18:38,942.942 INFO    ] ================================================
[2026-08-29 03:18:39,609.609 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:18:39
[2026-08-29 03:18:40,074.074 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:18:40,209.209 INFO    ] Initializing speech engine...
[2026-08-29 03:18:40,214.214 INFO    ] 2026-08-29 03:18:40
[2026-08-29 03:18:40,410.410 INFO    ] 2026-08-29 03:18:40
[2026-08-29 03:18:40,448.448 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:18:40,570.570 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:18:40,573.573 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:18:40,683.683 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:18:40,693.693 INFO    ] time= 29/08/2026 03:18:40
[2026-08-29 03:18:40,697.697 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:18:40,714.714 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:18:40,792.792 INFO    ] No existing commands found in stream
[2026-08-29 03:18:45,826.826 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:18:45,829.829 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 03:18:46,822.822 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:18:46,824.824 INFO    ] Checking for system updates...
[2026-08-29 03:18:46,846.846 INFO    ] 200
[2026-08-29 03:18:46,847.847 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:18:46,880.880 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:18:46,881.881 INFO    ] No update needed
[2026-08-29 03:18:46,882.882 INFO    ] Checking for camera pi updates...
[2026-08-29 03:18:46,902.902 INFO    ] 200
[2026-08-29 03:18:46,903.903 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:18:46,927.927 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:18:47,017.017 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:18:47,018.018 INFO    ] No camera update needed
[2026-08-29 03:18:47,020.020 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:18:47,021.021 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:18:47,025.025 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:18:47,028.028 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:18:49,066.066 INFO    ] ================================================
[2026-08-29 03:18:49,082.082 INFO    ] Launching Daemon at Sat Aug 29 03:18:49 IST 2026
[2026-08-29 03:18:49,093.093 INFO    ] ================================================
[2026-08-29 03:18:49,575.575 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:18:49
[2026-08-29 03:18:50,182.182 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:18:50,463.463 INFO    ] Initializing speech engine...
[2026-08-29 03:18:50,471.471 INFO    ] 2026-08-29 03:18:50
[2026-08-29 03:18:50,735.735 INFO    ] 2026-08-29 03:18:50
[2026-08-29 03:18:50,789.789 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:18:50,954.954 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:18:51,016.016 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:18:51,155.155 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:18:51,177.177 INFO    ] time= 29/08/2026 03:18:51
[2026-08-29 03:18:51,252.252 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:18:51,289.289 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:18:51,341.341 INFO    ] No existing commands found in stream
[2026-08-29 03:18:56,353.353 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:18:56,356.356 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 03:18:59,442.442 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:18:59,445.445 INFO    ] Checking for system updates...
[2026-08-29 03:18:59,485.485 INFO    ] 200
[2026-08-29 03:18:59,488.488 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:18:59,549.549 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:18:59,551.551 INFO    ] No update needed
[2026-08-29 03:18:59,554.554 INFO    ] Checking for camera pi updates...
[2026-08-29 03:18:59,588.588 INFO    ] 200
[2026-08-29 03:18:59,590.590 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:18:59,615.615 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:18:59,798.798 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:18:59,799.799 INFO    ] No camera update needed
[2026-08-29 03:18:59,801.801 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:18:59,802.802 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:18:59,805.805 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:18:59,808.808 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:19:01,850.850 INFO    ] ================================================
[2026-08-29 03:19:01,872.872 INFO    ] Launching Daemon at Sat Aug 29 03:19:01 IST 2026
[2026-08-29 03:19:01,887.887 INFO    ] ================================================
[2026-08-29 03:19:02,527.527 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:19:02
[2026-08-29 03:19:03,176.176 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:19:03,369.369 INFO    ] Initializing speech engine...
[2026-08-29 03:19:03,381.381 INFO    ] 2026-08-29 03:19:03
[2026-08-29 03:19:03,589.589 INFO    ] 2026-08-29 03:19:03
[2026-08-29 03:19:03,673.673 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:19:03,850.850 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:19:03,855.855 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:19:04,036.036 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:19:04,081.081 INFO    ] time= 29/08/2026 03:19:04
[2026-08-29 03:19:04,095.095 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:19:04,101.101 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:19:04,223.223 INFO    ] No existing commands found in stream
[2026-08-29 03:19:09,248.248 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:19:09,251.251 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-08-29 03:19:12,844.844 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:19:12,846.846 INFO    ] Checking for system updates...
[2026-08-29 03:19:12,866.866 INFO    ] 200
[2026-08-29 03:19:12,867.867 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:19:12,903.903 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:19:12,904.904 INFO    ] No update needed
[2026-08-29 03:19:12,905.905 INFO    ] Checking for camera pi updates...
[2026-08-29 03:19:12,926.926 INFO    ] 200
[2026-08-29 03:19:12,927.927 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:19:12,952.952 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:19:13,026.026 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:19:13,028.028 INFO    ] No camera update needed
[2026-08-29 03:19:13,029.029 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:19:13,030.030 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:19:13,033.033 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:19:13,036.036 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:19:15,076.076 INFO    ] ================================================
[2026-08-29 03:19:15,091.091 INFO    ] Launching Daemon at Sat Aug 29 03:19:15 IST 2026
[2026-08-29 03:19:15,102.102 INFO    ] ================================================
[2026-08-29 03:19:15,731.731 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:19:15
[2026-08-29 03:19:16,425.425 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:19:16,745.745 INFO    ] Initializing speech engine...
[2026-08-29 03:19:16,755.755 INFO    ] 2026-08-29 03:19:16
[2026-08-29 03:19:17,063.063 INFO    ] 2026-08-29 03:19:17
[2026-08-29 03:19:17,149.149 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:19:17,299.299 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:19:17,309.309 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:19:17,443.443 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:19:17,494.494 INFO    ] time= 29/08/2026 03:19:17
[2026-08-29 03:19:17,554.554 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:19:17,579.579 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:19:17,706.706 INFO    ] No existing commands found in stream
[2026-08-29 03:19:22,734.734 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:19:22,737.737 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-08-29 03:19:24,518.518 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:19:24,519.519 INFO    ] Checking for system updates...
[2026-08-29 03:19:24,540.540 INFO    ] 200
[2026-08-29 03:19:24,541.541 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:19:24,572.572 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:19:24,574.574 INFO    ] No update needed
[2026-08-29 03:19:24,575.575 INFO    ] Checking for camera pi updates...
[2026-08-29 03:19:24,595.595 INFO    ] 200
[2026-08-29 03:19:24,597.597 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:19:24,621.621 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:19:24,709.709 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:19:24,710.710 INFO    ] No camera update needed
[2026-08-29 03:19:24,712.712 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:19:24,713.713 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:19:24,716.716 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:19:24,719.719 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:19:26,759.759 INFO    ] ================================================
[2026-08-29 03:19:26,775.775 INFO    ] Launching Daemon at Sat Aug 29 03:19:26 IST 2026
[2026-08-29 03:19:26,786.786 INFO    ] ================================================
[2026-08-29 03:19:27,133.133 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:19:27
[2026-08-29 03:19:27,446.446 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:19:27,583.583 INFO    ] Initializing speech engine...
[2026-08-29 03:19:27,593.593 INFO    ] 2026-08-29 03:19:27
[2026-08-29 03:19:27,798.798 INFO    ] 2026-08-29 03:19:27
[2026-08-29 03:19:27,840.840 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:19:28,002.002 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:19:28,010.010 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:19:28,161.161 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:19:28,208.208 INFO    ] time= 29/08/2026 03:19:28
[2026-08-29 03:19:28,215.215 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:19:28,233.233 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:19:28,343.343 INFO    ] No existing commands found in stream
[2026-08-29 03:19:33,370.370 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:19:33,373.373 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-08-29 03:19:36,450.450 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:19:36,452.452 INFO    ] Checking for system updates...
[2026-08-29 03:19:36,473.473 INFO    ] 200
[2026-08-29 03:19:36,474.474 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:19:36,505.505 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:19:36,506.506 INFO    ] No update needed
[2026-08-29 03:19:36,507.507 INFO    ] Checking for camera pi updates...
[2026-08-29 03:19:36,528.528 INFO    ] 200
[2026-08-29 03:19:36,529.529 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:19:36,553.553 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:19:36,632.632 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:19:36,633.633 INFO    ] No camera update needed
[2026-08-29 03:19:36,634.634 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:19:36,636.636 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:19:36,639.639 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:19:36,641.641 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:19:38,682.682 INFO    ] ================================================
[2026-08-29 03:19:38,698.698 INFO    ] Launching Daemon at Sat Aug 29 03:19:38 IST 2026
[2026-08-29 03:19:38,710.710 INFO    ] ================================================
[2026-08-29 03:19:39,062.062 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:19:39
[2026-08-29 03:19:39,379.379 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:19:39,610.610 INFO    ] Initializing speech engine...
[2026-08-29 03:19:39,616.616 INFO    ] 2026-08-29 03:19:39
[2026-08-29 03:19:39,916.916 INFO    ] 2026-08-29 03:19:39
[2026-08-29 03:19:39,957.957 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:19:40,106.106 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:19:40,136.136 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:19:40,268.268 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:19:40,274.274 INFO    ] time= 29/08/2026 03:19:40
[2026-08-29 03:19:40,279.279 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:19:40,302.302 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:19:40,354.354 INFO    ] No existing commands found in stream
[2026-08-29 03:19:45,365.365 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:19:45,368.368 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-08-29 03:19:47,424.424 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:19:47,425.425 INFO    ] Checking for system updates...
[2026-08-29 03:19:47,445.445 INFO    ] 200
[2026-08-29 03:19:47,446.446 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:19:47,476.476 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:19:47,477.477 INFO    ] No update needed
[2026-08-29 03:19:47,479.479 INFO    ] Checking for camera pi updates...
[2026-08-29 03:19:47,499.499 INFO    ] 200
[2026-08-29 03:19:47,501.501 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:19:47,525.525 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:19:47,635.635 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:19:47,637.637 INFO    ] No camera update needed
[2026-08-29 03:19:47,638.638 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:19:47,639.639 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:19:47,642.642 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:19:47,645.645 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:19:49,685.685 INFO    ] ================================================
[2026-08-29 03:19:49,700.700 INFO    ] Launching Daemon at Sat Aug 29 03:19:49 IST 2026
[2026-08-29 03:19:49,711.711 INFO    ] ================================================
[2026-08-29 03:19:50,076.076 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:19:50
[2026-08-29 03:19:50,414.414 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:19:50,565.565 INFO    ] Initializing speech engine...
[2026-08-29 03:19:50,570.570 INFO    ] 2026-08-29 03:19:50
[2026-08-29 03:19:50,779.779 INFO    ] 2026-08-29 03:19:50
[2026-08-29 03:19:50,809.809 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:19:50,932.932 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:19:50,990.990 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:19:51,126.126 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:19:51,183.183 INFO    ] time= 29/08/2026 03:19:51
[2026-08-29 03:19:51,225.225 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:19:51,227.227 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:19:51,298.298 INFO    ] No existing commands found in stream
[2026-08-29 03:19:56,309.309 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:19:56,312.312 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-08-29 03:20:00,442.442 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:20:00,443.443 INFO    ] Checking for system updates...
[2026-08-29 03:20:00,464.464 INFO    ] 200
[2026-08-29 03:20:00,465.465 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:20:00,498.498 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:20:00,500.500 INFO    ] No update needed
[2026-08-29 03:20:00,501.501 INFO    ] Checking for camera pi updates...
[2026-08-29 03:20:00,523.523 INFO    ] 200
[2026-08-29 03:20:00,524.524 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:20:00,550.550 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:20:00,632.632 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:20:00,634.634 INFO    ] No camera update needed
[2026-08-29 03:20:00,635.635 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:20:00,636.636 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:20:00,640.640 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:20:00,643.643 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:20:02,705.705 INFO    ] ================================================
[2026-08-29 03:20:02,728.728 INFO    ] Launching Daemon at Sat Aug 29 03:20:02 IST 2026
[2026-08-29 03:20:02,746.746 INFO    ] ================================================
[2026-08-29 03:20:03,418.418 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:20:03
[2026-08-29 03:20:04,009.009 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:20:04,265.265 INFO    ] Initializing speech engine...
[2026-08-29 03:20:04,277.277 INFO    ] 2026-08-29 03:20:04
[2026-08-29 03:20:04,545.545 INFO    ] 2026-08-29 03:20:04
[2026-08-29 03:20:04,582.582 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:20:04,736.736 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:20:04,739.739 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:20:04,875.875 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:20:04,884.884 INFO    ] time= 29/08/2026 03:20:04
[2026-08-29 03:20:04,888.888 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:20:04,903.903 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:20:04,982.982 INFO    ] No existing commands found in stream
[2026-08-29 03:20:10,019.019 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:20:10,022.022 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-08-29 03:20:12,461.461 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:20:12,463.463 INFO    ] Checking for system updates...
[2026-08-29 03:20:12,483.483 INFO    ] 200
[2026-08-29 03:20:12,485.485 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:20:12,515.515 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:20:12,516.516 INFO    ] No update needed
[2026-08-29 03:20:12,517.517 INFO    ] Checking for camera pi updates...
[2026-08-29 03:20:12,538.538 INFO    ] 200
[2026-08-29 03:20:12,539.539 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:20:12,563.563 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:20:12,610.610 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:20:12,613.613 INFO    ] No camera update needed
[2026-08-29 03:20:12,615.615 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:20:12,618.618 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:20:12,623.623 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:20:12,628.628 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:20:14,669.669 INFO    ] ================================================
[2026-08-29 03:20:14,684.684 INFO    ] Launching Daemon at Sat Aug 29 03:20:14 IST 2026
[2026-08-29 03:20:14,695.695 INFO    ] ================================================
[2026-08-29 03:20:15,364.364 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:20:15
[2026-08-29 03:20:15,886.886 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:20:16,043.043 INFO    ] Initializing speech engine...
[2026-08-29 03:20:16,048.048 INFO    ] 2026-08-29 03:20:16
[2026-08-29 03:20:16,261.261 INFO    ] 2026-08-29 03:20:16
[2026-08-29 03:20:16,324.324 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:20:16,554.554 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:20:16,565.565 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:20:16,704.704 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:20:16,747.747 INFO    ] time= 29/08/2026 03:20:16
[2026-08-29 03:20:16,797.797 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:20:16,844.844 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:20:16,898.898 INFO    ] No existing commands found in stream
[2026-08-29 03:20:21,911.911 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:20:21,915.915 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-08-29 03:20:24,114.114 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:20:24,115.115 INFO    ] Checking for system updates...
[2026-08-29 03:20:24,136.136 INFO    ] 200
[2026-08-29 03:20:24,138.138 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:20:24,168.168 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:20:24,169.169 INFO    ] No update needed
[2026-08-29 03:20:24,170.170 INFO    ] Checking for camera pi updates...
[2026-08-29 03:20:24,190.190 INFO    ] 200
[2026-08-29 03:20:24,191.191 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:20:24,215.215 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:20:24,297.297 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:20:24,298.298 INFO    ] No camera update needed
[2026-08-29 03:20:24,300.300 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:20:24,301.301 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:20:24,305.305 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:20:24,307.307 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:20:26,347.347 INFO    ] ================================================
[2026-08-29 03:20:26,363.363 INFO    ] Launching Daemon at Sat Aug 29 03:20:26 IST 2026
[2026-08-29 03:20:26,373.373 INFO    ] ================================================
[2026-08-29 03:20:26,776.776 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:20:26
[2026-08-29 03:20:27,118.118 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:20:27,272.272 INFO    ] Initializing speech engine...
[2026-08-29 03:20:27,277.277 INFO    ] 2026-08-29 03:20:27
[2026-08-29 03:20:27,486.486 INFO    ] 2026-08-29 03:20:27
[2026-08-29 03:20:27,515.515 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:20:27,638.638 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:20:27,687.687 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:20:27,874.874 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:20:27,915.915 INFO    ] time= 29/08/2026 03:20:27
[2026-08-29 03:20:27,931.931 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:20:27,938.938 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:20:28,006.006 INFO    ] No existing commands found in stream
[2026-08-29 03:20:33,016.016 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:20:33,019.019 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-08-29 03:20:37,090.090 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:20:37,092.092 INFO    ] Checking for system updates...
[2026-08-29 03:20:37,113.113 INFO    ] 200
[2026-08-29 03:20:37,114.114 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:20:37,145.145 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:20:37,146.146 INFO    ] No update needed
[2026-08-29 03:20:37,148.148 INFO    ] Checking for camera pi updates...
[2026-08-29 03:20:37,171.171 INFO    ] 200
[2026-08-29 03:20:37,172.172 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:20:37,204.204 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:20:37,269.269 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:20:37,272.272 INFO    ] No camera update needed
[2026-08-29 03:20:37,275.275 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:20:37,277.277 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:20:37,282.282 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:20:37,287.287 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:20:39,328.328 INFO    ] ================================================
[2026-08-29 03:20:39,344.344 INFO    ] Launching Daemon at Sat Aug 29 03:20:39 IST 2026
[2026-08-29 03:20:39,354.354 INFO    ] ================================================
[2026-08-29 03:20:39,929.929 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:20:39
[2026-08-29 03:20:40,380.380 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:20:40,523.523 INFO    ] Initializing speech engine...
[2026-08-29 03:20:40,528.528 INFO    ] 2026-08-29 03:20:40
[2026-08-29 03:20:40,712.712 INFO    ] 2026-08-29 03:20:40
[2026-08-29 03:20:40,771.771 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:20:40,916.916 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:20:40,928.928 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:20:41,073.073 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:20:41,080.080 INFO    ] time= 29/08/2026 03:20:41
[2026-08-29 03:20:41,088.088 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:20:41,100.100 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:20:41,228.228 INFO    ] No existing commands found in stream
[2026-08-29 03:20:46,258.258 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:20:46,260.260 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-08-29 03:20:50,203.203 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:20:50,205.205 INFO    ] Checking for system updates...
[2026-08-29 03:20:50,226.226 INFO    ] 200
[2026-08-29 03:20:50,228.228 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:20:50,263.263 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:20:50,264.264 INFO    ] No update needed
[2026-08-29 03:20:50,265.265 INFO    ] Checking for camera pi updates...
[2026-08-29 03:20:50,285.285 INFO    ] 200
[2026-08-29 03:20:50,286.286 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:20:50,314.314 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:20:50,389.389 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:20:50,390.390 INFO    ] No camera update needed
[2026-08-29 03:20:50,392.392 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:20:50,393.393 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:20:50,397.397 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:20:50,400.400 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:20:52,439.439 INFO    ] ================================================
[2026-08-29 03:20:52,455.455 INFO    ] Launching Daemon at Sat Aug 29 03:20:52 IST 2026
[2026-08-29 03:20:52,466.466 INFO    ] ================================================
[2026-08-29 03:20:53,050.050 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:20:53
[2026-08-29 03:20:53,550.550 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:20:53,694.694 INFO    ] Initializing speech engine...
[2026-08-29 03:20:53,699.699 INFO    ] 2026-08-29 03:20:53
[2026-08-29 03:20:53,893.893 INFO    ] 2026-08-29 03:20:53
[2026-08-29 03:20:53,972.972 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:20:54,127.127 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:20:54,131.131 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:20:54,264.264 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:20:54,291.291 INFO    ] time= 29/08/2026 03:20:54
[2026-08-29 03:20:54,351.351 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:20:54,399.399 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:20:54,456.456 INFO    ] No existing commands found in stream
[2026-08-29 03:20:59,468.468 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:20:59,471.471 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-08-29 03:21:02,381.381 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:21:02,385.385 INFO    ] Checking for system updates...
[2026-08-29 03:21:02,426.426 INFO    ] 200
[2026-08-29 03:21:02,429.429 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:21:02,490.490 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:21:02,493.493 INFO    ] No update needed
[2026-08-29 03:21:02,496.496 INFO    ] Checking for camera pi updates...
[2026-08-29 03:21:02,534.534 INFO    ] 200
[2026-08-29 03:21:02,537.537 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:21:02,589.589 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:21:02,787.787 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:21:02,791.791 INFO    ] No camera update needed
[2026-08-29 03:21:02,795.795 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:21:02,798.798 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:21:02,806.806 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:21:02,813.813 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:21:04,855.855 INFO    ] ================================================
[2026-08-29 03:21:04,871.871 INFO    ] Launching Daemon at Sat Aug 29 03:21:04 IST 2026
[2026-08-29 03:21:04,881.881 INFO    ] ================================================
[2026-08-29 03:21:05,386.386 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:21:05
[2026-08-29 03:21:05,969.969 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:21:06,275.275 INFO    ] Initializing speech engine...
[2026-08-29 03:21:06,281.281 INFO    ] 2026-08-29 03:21:06
[2026-08-29 03:21:06,544.544 INFO    ] 2026-08-29 03:21:06
[2026-08-29 03:21:06,597.597 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:21:06,820.820 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:21:06,829.829 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:21:06,961.961 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:21:06,988.988 INFO    ] time= 29/08/2026 03:21:06
[2026-08-29 03:21:07,047.047 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:21:07,094.094 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:21:07,213.213 INFO    ] No existing commands found in stream
[2026-08-29 03:21:12,249.249 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:21:12,252.252 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-08-29 03:21:15,146.146 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:21:15,147.147 INFO    ] Checking for system updates...
[2026-08-29 03:21:15,168.168 INFO    ] 200
[2026-08-29 03:21:15,169.169 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:21:15,201.201 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:21:15,203.203 INFO    ] No update needed
[2026-08-29 03:21:15,204.204 INFO    ] Checking for camera pi updates...
[2026-08-29 03:21:15,225.225 INFO    ] 200
[2026-08-29 03:21:15,226.226 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:21:15,250.250 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:21:15,326.326 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:21:15,327.327 INFO    ] No camera update needed
[2026-08-29 03:21:15,328.328 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:21:15,329.329 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:21:15,333.333 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:21:15,335.335 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:21:17,375.375 INFO    ] ================================================
[2026-08-29 03:21:17,391.391 INFO    ] Launching Daemon at Sat Aug 29 03:21:17 IST 2026
[2026-08-29 03:21:17,402.402 INFO    ] ================================================
[2026-08-29 03:21:17,998.998 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:21:17
[2026-08-29 03:21:18,606.606 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:21:18,884.884 INFO    ] Initializing speech engine...
[2026-08-29 03:21:18,894.894 INFO    ] 2026-08-29 03:21:18
[2026-08-29 03:21:19,144.144 INFO    ] 2026-08-29 03:21:19
[2026-08-29 03:21:19,170.170 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:21:19,309.309 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:21:19,318.318 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:21:19,445.445 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:21:19,467.467 INFO    ] time= 29/08/2026 03:21:19
[2026-08-29 03:21:19,476.476 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:21:19,482.482 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:21:19,557.557 INFO    ] No existing commands found in stream
[2026-08-29 03:21:24,570.570 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:21:24,573.573 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-08-29 03:21:25,021.021 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:21:25,022.022 INFO    ] Checking for system updates...
[2026-08-29 03:21:25,043.043 INFO    ] 200
[2026-08-29 03:21:25,045.045 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:21:25,075.075 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:21:25,076.076 INFO    ] No update needed
[2026-08-29 03:21:25,078.078 INFO    ] Checking for camera pi updates...
[2026-08-29 03:21:25,097.097 INFO    ] 200
[2026-08-29 03:21:25,099.099 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:21:25,123.123 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:21:25,189.189 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:21:25,190.190 INFO    ] No camera update needed
[2026-08-29 03:21:25,192.192 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:21:25,193.193 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:21:25,197.197 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:21:25,200.200 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:21:27,241.241 INFO    ] ================================================
[2026-08-29 03:21:27,257.257 INFO    ] Launching Daemon at Sat Aug 29 03:21:27 IST 2026
[2026-08-29 03:21:27,268.268 INFO    ] ================================================
[2026-08-29 03:21:27,595.595 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:21:27
[2026-08-29 03:21:27,937.937 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:21:28,153.153 INFO    ] Initializing speech engine...
[2026-08-29 03:21:28,162.162 INFO    ] 2026-08-29 03:21:28
[2026-08-29 03:21:28,451.451 INFO    ] 2026-08-29 03:21:28
[2026-08-29 03:21:28,498.498 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:21:28,720.720 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:21:28,730.730 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:21:28,865.865 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:21:28,924.924 INFO    ] time= 29/08/2026 03:21:28
[2026-08-29 03:21:28,978.978 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:21:29,002.002 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:21:29,066.066 INFO    ] No existing commands found in stream
[2026-08-29 03:21:34,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:21:34,108.108 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-08-29 03:21:37,926.926 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:21:37,928.928 INFO    ] Checking for system updates...
[2026-08-29 03:21:37,949.949 INFO    ] 200
[2026-08-29 03:21:37,950.950 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:21:37,980.980 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:21:37,982.982 INFO    ] No update needed
[2026-08-29 03:21:37,984.984 INFO    ] Checking for camera pi updates...
[2026-08-29 03:21:38,003.003 INFO    ] 200
[2026-08-29 03:21:38,005.005 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:21:38,028.028 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:21:38,117.117 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:21:38,118.118 INFO    ] No camera update needed
[2026-08-29 03:21:38,120.120 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:21:38,121.121 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:21:38,124.124 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:21:38,127.127 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:21:40,166.166 INFO    ] ================================================
[2026-08-29 03:21:40,181.181 INFO    ] Launching Daemon at Sat Aug 29 03:21:40 IST 2026
[2026-08-29 03:21:40,192.192 INFO    ] ================================================
[2026-08-29 03:21:40,686.686 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:21:40
[2026-08-29 03:21:41,289.289 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:21:41,574.574 INFO    ] Initializing speech engine...
[2026-08-29 03:21:41,588.588 INFO    ] 2026-08-29 03:21:41
[2026-08-29 03:21:41,857.857 INFO    ] 2026-08-29 03:21:41
[2026-08-29 03:21:41,897.897 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:21:42,094.094 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:21:42,100.100 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:21:42,235.235 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:21:42,242.242 INFO    ] time= 29/08/2026 03:21:42
[2026-08-29 03:21:42,257.257 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:21:42,272.272 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:21:42,368.368 INFO    ] No existing commands found in stream
[2026-08-29 03:21:47,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:21:47,384.384 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-08-29 03:21:51,351.351 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:21:51,353.353 INFO    ] Checking for system updates...
[2026-08-29 03:21:51,374.374 INFO    ] 200
[2026-08-29 03:21:51,375.375 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:21:51,407.407 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:21:51,409.409 INFO    ] No update needed
[2026-08-29 03:21:51,410.410 INFO    ] Checking for camera pi updates...
[2026-08-29 03:21:51,431.431 INFO    ] 200
[2026-08-29 03:21:51,432.432 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:21:51,456.456 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:21:51,553.553 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:21:51,554.554 INFO    ] No camera update needed
[2026-08-29 03:21:51,555.555 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:21:51,557.557 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:21:51,560.560 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:21:51,563.563 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:21:53,603.603 INFO    ] ================================================
[2026-08-29 03:21:53,620.620 INFO    ] Launching Daemon at Sat Aug 29 03:21:53 IST 2026
[2026-08-29 03:21:53,631.631 INFO    ] ================================================
[2026-08-29 03:21:53,980.980 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:21:53
[2026-08-29 03:21:54,293.293 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:21:54,498.498 INFO    ] Initializing speech engine...
[2026-08-29 03:21:54,514.514 INFO    ] 2026-08-29 03:21:54
[2026-08-29 03:21:54,801.801 INFO    ] 2026-08-29 03:21:54
[2026-08-29 03:21:54,839.839 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:21:55,036.036 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:21:55,040.040 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:21:55,147.147 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:21:55,152.152 INFO    ] time= 29/08/2026 03:21:55
[2026-08-29 03:21:55,172.172 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:21:55,180.180 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:21:55,225.225 INFO    ] No existing commands found in stream
[2026-08-29 03:22:00,237.237 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:22:00,240.240 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-08-29 03:22:04,033.033 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:22:04,035.035 INFO    ] Checking for system updates...
[2026-08-29 03:22:04,071.071 INFO    ] 200
[2026-08-29 03:22:04,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:22:04,127.127 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:22:04,129.129 INFO    ] No update needed
[2026-08-29 03:22:04,132.132 INFO    ] Checking for camera pi updates...
[2026-08-29 03:22:04,170.170 INFO    ] 200
[2026-08-29 03:22:04,173.173 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:22:04,214.214 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:22:04,294.294 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:22:04,297.297 INFO    ] No camera update needed
[2026-08-29 03:22:04,299.299 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:22:04,301.301 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:22:04,307.307 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:22:04,312.312 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:22:06,352.352 INFO    ] ================================================
[2026-08-29 03:22:06,369.369 INFO    ] Launching Daemon at Sat Aug 29 03:22:06 IST 2026
[2026-08-29 03:22:06,381.381 INFO    ] ================================================
[2026-08-29 03:22:06,914.914 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:22:06
[2026-08-29 03:22:07,591.591 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:22:07,897.897 INFO    ] Initializing speech engine...
[2026-08-29 03:22:07,911.911 INFO    ] 2026-08-29 03:22:07
[2026-08-29 03:22:08,224.224 INFO    ] 2026-08-29 03:22:08
[2026-08-29 03:22:08,307.307 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:22:08,465.465 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:22:08,486.486 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:22:08,603.603 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:22:08,673.673 INFO    ] time= 29/08/2026 03:22:08
[2026-08-29 03:22:08,728.728 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:22:08,738.738 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:22:08,854.854 INFO    ] No existing commands found in stream
[2026-08-29 03:22:13,890.890 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:22:13,893.893 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 03:22:16,208.208 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:22:16,209.209 INFO    ] Checking for system updates...
[2026-08-29 03:22:16,230.230 INFO    ] 200
[2026-08-29 03:22:16,231.231 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:22:16,261.261 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:22:16,263.263 INFO    ] No update needed
[2026-08-29 03:22:16,264.264 INFO    ] Checking for camera pi updates...
[2026-08-29 03:22:16,283.283 INFO    ] 200
[2026-08-29 03:22:16,285.285 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:22:16,308.308 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:22:16,407.407 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:22:16,409.409 INFO    ] No camera update needed
[2026-08-29 03:22:16,411.411 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:22:16,414.414 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:22:16,419.419 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:22:16,424.424 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:22:18,464.464 INFO    ] ================================================
[2026-08-29 03:22:18,480.480 INFO    ] Launching Daemon at Sat Aug 29 03:22:18 IST 2026
[2026-08-29 03:22:18,491.491 INFO    ] ================================================
[2026-08-29 03:22:19,143.143 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:22:19
[2026-08-29 03:22:19,630.630 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:22:19,761.761 INFO    ] Initializing speech engine...
[2026-08-29 03:22:19,766.766 INFO    ] 2026-08-29 03:22:19
[2026-08-29 03:22:20,028.028 INFO    ] 2026-08-29 03:22:20
[2026-08-29 03:22:20,063.063 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:22:20,242.242 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:22:20,254.254 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:22:20,402.402 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:22:20,409.409 INFO    ] time= 29/08/2026 03:22:20
[2026-08-29 03:22:20,417.417 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:22:20,437.437 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:22:20,573.573 INFO    ] No existing commands found in stream
[2026-08-29 03:22:25,604.604 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:22:25,606.606 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-08-29 03:22:28,889.889 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:22:28,890.890 INFO    ] Checking for system updates...
[2026-08-29 03:22:28,911.911 INFO    ] 200
[2026-08-29 03:22:28,912.912 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:22:28,942.942 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:22:28,944.944 INFO    ] No update needed
[2026-08-29 03:22:28,946.946 INFO    ] Checking for camera pi updates...
[2026-08-29 03:22:28,965.965 INFO    ] 200
[2026-08-29 03:22:28,966.966 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:22:28,991.991 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:22:29,077.077 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:22:29,078.078 INFO    ] No camera update needed
[2026-08-29 03:22:29,079.079 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:22:29,081.081 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:22:29,084.084 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:22:29,087.087 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:22:31,127.127 INFO    ] ================================================
[2026-08-29 03:22:31,143.143 INFO    ] Launching Daemon at Sat Aug 29 03:22:31 IST 2026
[2026-08-29 03:22:31,154.154 INFO    ] ================================================
[2026-08-29 03:22:31,773.773 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:22:31
[2026-08-29 03:22:32,522.522 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:22:32,793.793 INFO    ] Initializing speech engine...
[2026-08-29 03:22:32,809.809 INFO    ] 2026-08-29 03:22:32
[2026-08-29 03:22:33,097.097 INFO    ] 2026-08-29 03:22:33
[2026-08-29 03:22:33,122.122 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:22:33,282.282 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:22:33,288.288 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:22:33,440.440 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:22:33,450.450 INFO    ] time= 29/08/2026 03:22:33
[2026-08-29 03:22:33,455.455 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:22:33,460.460 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:22:33,526.526 INFO    ] No existing commands found in stream
[2026-08-29 03:22:38,539.539 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:22:38,542.542 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 03:22:40,046.046 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:22:40,047.047 INFO    ] Checking for system updates...
[2026-08-29 03:22:40,068.068 INFO    ] 200
[2026-08-29 03:22:40,069.069 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:22:40,099.099 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:22:40,100.100 INFO    ] No update needed
[2026-08-29 03:22:40,101.101 INFO    ] Checking for camera pi updates...
[2026-08-29 03:22:40,120.120 INFO    ] 200
[2026-08-29 03:22:40,122.122 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:22:40,149.149 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:22:40,237.237 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:22:40,239.239 INFO    ] No camera update needed
[2026-08-29 03:22:40,240.240 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:22:40,241.241 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:22:40,244.244 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:22:40,247.247 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:22:42,286.286 INFO    ] ================================================
[2026-08-29 03:22:42,301.301 INFO    ] Launching Daemon at Sat Aug 29 03:22:42 IST 2026
[2026-08-29 03:22:42,312.312 INFO    ] ================================================
[2026-08-29 03:22:42,642.642 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:22:42
[2026-08-29 03:22:42,958.958 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:22:43,100.100 INFO    ] Initializing speech engine...
[2026-08-29 03:22:43,111.111 INFO    ] 2026-08-29 03:22:43
[2026-08-29 03:22:43,327.327 INFO    ] 2026-08-29 03:22:43
[2026-08-29 03:22:43,357.357 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:22:43,456.456 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:22:43,491.491 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:22:43,591.591 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:22:43,596.596 INFO    ] time= 29/08/2026 03:22:43
[2026-08-29 03:22:43,632.632 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:22:43,676.676 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:22:43,787.787 INFO    ] No existing commands found in stream
[2026-08-29 03:22:48,799.799 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:22:48,802.802 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-08-29 03:22:49,698.698 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:22:49,699.699 INFO    ] Checking for system updates...
[2026-08-29 03:22:49,721.721 INFO    ] 200
[2026-08-29 03:22:49,723.723 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:22:49,755.755 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:22:49,756.756 INFO    ] No update needed
[2026-08-29 03:22:49,757.757 INFO    ] Checking for camera pi updates...
[2026-08-29 03:22:49,776.776 INFO    ] 200
[2026-08-29 03:22:49,777.777 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:22:49,804.804 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:22:49,879.879 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:22:49,880.880 INFO    ] No camera update needed
[2026-08-29 03:22:49,881.881 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:22:49,883.883 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:22:49,886.886 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:22:49,888.888 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:22:51,927.927 INFO    ] ================================================
[2026-08-29 03:22:51,943.943 INFO    ] Launching Daemon at Sat Aug 29 03:22:51 IST 2026
[2026-08-29 03:22:51,954.954 INFO    ] ================================================
[2026-08-29 03:22:52,555.555 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:22:52
[2026-08-29 03:22:53,241.241 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:22:53,551.551 INFO    ] Initializing speech engine...
[2026-08-29 03:22:53,560.560 INFO    ] 2026-08-29 03:22:53
[2026-08-29 03:22:53,832.832 INFO    ] 2026-08-29 03:22:53
[2026-08-29 03:22:53,893.893 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:22:54,124.124 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:22:54,135.135 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:22:54,273.273 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:22:54,301.301 INFO    ] time= 29/08/2026 03:22:54
[2026-08-29 03:22:54,360.360 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:22:54,410.410 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:22:54,465.465 INFO    ] No existing commands found in stream
[2026-08-29 03:22:59,475.475 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:22:59,478.478 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-08-29 03:23:02,312.312 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:23:02,316.316 INFO    ] Checking for system updates...
[2026-08-29 03:23:02,367.367 INFO    ] 200
[2026-08-29 03:23:02,370.370 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:23:02,446.446 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:23:02,450.450 INFO    ] No update needed
[2026-08-29 03:23:02,454.454 INFO    ] Checking for camera pi updates...
[2026-08-29 03:23:02,501.501 INFO    ] 200
[2026-08-29 03:23:02,504.504 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:23:02,553.553 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:23:02,659.659 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:23:02,661.661 INFO    ] No camera update needed
[2026-08-29 03:23:02,663.663 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:23:02,666.666 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:23:02,671.671 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:23:02,676.676 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:23:04,716.716 INFO    ] ================================================
[2026-08-29 03:23:04,732.732 INFO    ] Launching Daemon at Sat Aug 29 03:23:04 IST 2026
[2026-08-29 03:23:04,743.743 INFO    ] ================================================
[2026-08-29 03:23:05,122.122 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:23:05
[2026-08-29 03:23:05,468.468 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:23:05,621.621 INFO    ] Initializing speech engine...
[2026-08-29 03:23:05,627.627 INFO    ] 2026-08-29 03:23:05
[2026-08-29 03:23:05,874.874 INFO    ] 2026-08-29 03:23:05
[2026-08-29 03:23:05,942.942 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:23:06,088.088 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:23:06,100.100 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:23:06,215.215 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:23:06,234.234 INFO    ] time= 29/08/2026 03:23:06
[2026-08-29 03:23:06,254.254 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:23:06,261.261 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:23:06,331.331 INFO    ] No existing commands found in stream
[2026-08-29 03:23:11,344.344 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:23:11,346.346 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-08-29 03:23:12,569.569 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:23:12,572.572 INFO    ] Checking for system updates...
[2026-08-29 03:23:12,614.614 INFO    ] 200
[2026-08-29 03:23:12,617.617 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:23:12,649.649 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:23:12,651.651 INFO    ] No update needed
[2026-08-29 03:23:12,653.653 INFO    ] Checking for camera pi updates...
[2026-08-29 03:23:12,674.674 INFO    ] 200
[2026-08-29 03:23:12,675.675 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:23:12,703.703 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:23:12,890.890 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:23:12,893.893 INFO    ] No camera update needed
[2026-08-29 03:23:12,896.896 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:23:12,899.899 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:23:12,905.905 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:23:12,911.911 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:23:14,954.954 INFO    ] ================================================
[2026-08-29 03:23:14,970.970 INFO    ] Launching Daemon at Sat Aug 29 03:23:14 IST 2026
[2026-08-29 03:23:14,981.981 INFO    ] ================================================
[2026-08-29 03:23:15,551.551 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:23:15
[2026-08-29 03:23:15,960.960 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:23:16,131.131 INFO    ] Initializing speech engine...
[2026-08-29 03:23:16,137.137 INFO    ] 2026-08-29 03:23:16
[2026-08-29 03:23:16,439.439 INFO    ] 2026-08-29 03:23:16
[2026-08-29 03:23:16,476.476 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:23:16,628.628 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:23:16,637.637 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:23:16,788.788 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:23:16,806.806 INFO    ] time= 29/08/2026 03:23:16
[2026-08-29 03:23:16,810.810 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:23:16,815.815 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:23:16,875.875 INFO    ] No existing commands found in stream
[2026-08-29 03:23:21,893.893 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:23:21,896.896 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-08-29 03:23:22,605.605 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:23:22,606.606 INFO    ] Checking for system updates...
[2026-08-29 03:23:22,626.626 INFO    ] 200
[2026-08-29 03:23:22,628.628 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:23:22,658.658 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:23:22,659.659 INFO    ] No update needed
[2026-08-29 03:23:22,660.660 INFO    ] Checking for camera pi updates...
[2026-08-29 03:23:22,679.679 INFO    ] 200
[2026-08-29 03:23:22,680.680 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:23:22,703.703 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:23:22,770.770 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:23:22,772.772 INFO    ] No camera update needed
[2026-08-29 03:23:22,773.773 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:23:22,774.774 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:23:22,777.777 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:23:22,780.780 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:23:24,819.819 INFO    ] ================================================
[2026-08-29 03:23:24,835.835 INFO    ] Launching Daemon at Sat Aug 29 03:23:24 IST 2026
[2026-08-29 03:23:24,846.846 INFO    ] ================================================
[2026-08-29 03:23:25,205.205 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:23:25
[2026-08-29 03:23:25,779.779 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:23:26,043.043 INFO    ] Initializing speech engine...
[2026-08-29 03:23:26,053.053 INFO    ] 2026-08-29 03:23:26
[2026-08-29 03:23:26,357.357 INFO    ] 2026-08-29 03:23:26
[2026-08-29 03:23:26,384.384 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:23:26,546.546 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:23:26,555.555 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:23:26,713.713 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:23:26,724.724 INFO    ] time= 29/08/2026 03:23:26
[2026-08-29 03:23:26,730.730 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:23:26,753.753 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:23:26,807.807 INFO    ] No existing commands found in stream
[2026-08-29 03:23:31,817.817 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:23:31,819.819 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-08-29 03:23:32,384.384 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:23:32,387.387 INFO    ] Checking for system updates...
[2026-08-29 03:23:32,422.422 INFO    ] 200
[2026-08-29 03:23:32,425.425 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:23:32,476.476 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:23:32,479.479 INFO    ] No update needed
[2026-08-29 03:23:32,481.481 INFO    ] Checking for camera pi updates...
[2026-08-29 03:23:32,515.515 INFO    ] 200
[2026-08-29 03:23:32,518.518 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:23:32,559.559 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:23:32,639.639 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:23:32,641.641 INFO    ] No camera update needed
[2026-08-29 03:23:32,644.644 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:23:32,646.646 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:23:32,652.652 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:23:32,657.657 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:23:34,697.697 INFO    ] ================================================
[2026-08-29 03:23:34,713.713 INFO    ] Launching Daemon at Sat Aug 29 03:23:34 IST 2026
[2026-08-29 03:23:34,726.726 INFO    ] ================================================
[2026-08-29 03:23:35,131.131 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:23:35
[2026-08-29 03:23:35,644.644 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:23:35,914.914 INFO    ] Initializing speech engine...
[2026-08-29 03:23:35,922.922 INFO    ] 2026-08-29 03:23:35
[2026-08-29 03:23:36,169.169 INFO    ] 2026-08-29 03:23:36
[2026-08-29 03:23:36,204.204 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:23:36,379.379 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:23:36,392.392 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:23:36,532.532 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:23:36,541.541 INFO    ] time= 29/08/2026 03:23:36
[2026-08-29 03:23:36,547.547 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:23:36,593.593 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:23:36,720.720 INFO    ] No existing commands found in stream
[2026-08-29 03:23:41,748.748 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:23:41,751.751 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-08-29 03:23:42,279.279 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:23:42,281.281 INFO    ] Checking for system updates...
[2026-08-29 03:23:42,302.302 INFO    ] 200
[2026-08-29 03:23:42,304.304 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:23:42,335.335 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:23:42,337.337 INFO    ] No update needed
[2026-08-29 03:23:42,338.338 INFO    ] Checking for camera pi updates...
[2026-08-29 03:23:42,357.357 INFO    ] 200
[2026-08-29 03:23:42,359.359 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:23:42,384.384 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:23:42,471.471 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:23:42,473.473 INFO    ] No camera update needed
[2026-08-29 03:23:42,474.474 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:23:42,475.475 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:23:42,479.479 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:23:42,482.482 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:23:44,522.522 INFO    ] ================================================
[2026-08-29 03:23:44,538.538 INFO    ] Launching Daemon at Sat Aug 29 03:23:44 IST 2026
[2026-08-29 03:23:44,550.550 INFO    ] ================================================
[2026-08-29 03:23:45,024.024 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:23:45
[2026-08-29 03:23:45,616.616 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:23:45,899.899 INFO    ] Initializing speech engine...
[2026-08-29 03:23:45,912.912 INFO    ] 2026-08-29 03:23:45
[2026-08-29 03:23:46,186.186 INFO    ] 2026-08-29 03:23:46
[2026-08-29 03:23:46,225.225 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:23:46,427.427 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:23:46,431.431 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:23:46,545.545 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:23:46,549.549 INFO    ] time= 29/08/2026 03:23:46
[2026-08-29 03:23:46,553.553 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:23:46,556.556 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:23:46,629.629 INFO    ] No existing commands found in stream
[2026-08-29 03:23:51,640.640 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:23:51,643.643 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-08-29 03:23:52,651.651 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:23:52,653.653 INFO    ] Checking for system updates...
[2026-08-29 03:23:52,688.688 INFO    ] 200
[2026-08-29 03:23:52,691.691 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:23:52,742.742 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:23:52,745.745 INFO    ] No update needed
[2026-08-29 03:23:52,747.747 INFO    ] Checking for camera pi updates...
[2026-08-29 03:23:52,781.781 INFO    ] 200
[2026-08-29 03:23:52,784.784 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:23:52,824.824 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:23:52,909.909 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:23:52,911.911 INFO    ] No camera update needed
[2026-08-29 03:23:52,913.913 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:23:52,916.916 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:23:52,921.921 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:23:52,926.926 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:23:54,966.966 INFO    ] ================================================
[2026-08-29 03:23:54,983.983 INFO    ] Launching Daemon at Sat Aug 29 03:23:54 IST 2026
[2026-08-29 03:23:54,994.994 INFO    ] ================================================
[2026-08-29 03:23:55,608.608 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:23:55
[2026-08-29 03:23:55,969.969 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:23:56,221.221 INFO    ] Initializing speech engine...
[2026-08-29 03:23:56,230.230 INFO    ] 2026-08-29 03:23:56
[2026-08-29 03:23:56,480.480 INFO    ] 2026-08-29 03:23:56
[2026-08-29 03:23:56,516.516 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:23:56,688.688 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:23:56,701.701 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:23:56,843.843 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:23:56,851.851 INFO    ] time= 29/08/2026 03:23:56
[2026-08-29 03:23:56,855.855 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:23:56,861.861 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:23:56,927.927 INFO    ] No existing commands found in stream
[2026-08-29 03:24:01,964.964 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:24:01,968.968 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-08-29 03:24:03,930.930 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:24:03,932.932 INFO    ] Checking for system updates...
[2026-08-29 03:24:03,971.971 INFO    ] 200
[2026-08-29 03:24:03,974.974 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:24:04,033.033 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:24:04,036.036 INFO    ] No update needed
[2026-08-29 03:24:04,038.038 INFO    ] Checking for camera pi updates...
[2026-08-29 03:24:04,072.072 INFO    ] 200
[2026-08-29 03:24:04,075.075 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:24:04,114.114 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:24:04,203.203 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:24:04,206.206 INFO    ] No camera update needed
[2026-08-29 03:24:04,208.208 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:24:04,210.210 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:24:04,215.215 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:24:04,220.220 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:24:06,261.261 INFO    ] ================================================
[2026-08-29 03:24:06,277.277 INFO    ] Launching Daemon at Sat Aug 29 03:24:06 IST 2026
[2026-08-29 03:24:06,288.288 INFO    ] ================================================
[2026-08-29 03:24:06,654.654 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:24:06
[2026-08-29 03:24:07,287.287 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:24:07,590.590 INFO    ] Initializing speech engine...
[2026-08-29 03:24:07,598.598 INFO    ] 2026-08-29 03:24:07
[2026-08-29 03:24:07,875.875 INFO    ] 2026-08-29 03:24:07
[2026-08-29 03:24:07,934.934 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:24:08,160.160 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:24:08,170.170 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:24:08,307.307 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:24:08,339.339 INFO    ] time= 29/08/2026 03:24:08
[2026-08-29 03:24:08,394.394 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:24:08,444.444 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:24:08,499.499 INFO    ] No existing commands found in stream
[2026-08-29 03:24:13,513.513 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:24:13,516.516 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-08-29 03:24:14,717.717 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:24:14,718.718 INFO    ] Checking for system updates...
[2026-08-29 03:24:14,739.739 INFO    ] 200
[2026-08-29 03:24:14,740.740 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:24:14,770.770 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:24:14,772.772 INFO    ] No update needed
[2026-08-29 03:24:14,773.773 INFO    ] Checking for camera pi updates...
[2026-08-29 03:24:14,794.794 INFO    ] 200
[2026-08-29 03:24:14,795.795 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:24:14,819.819 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:24:14,897.897 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:24:14,899.899 INFO    ] No camera update needed
[2026-08-29 03:24:14,900.900 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:24:14,902.902 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:24:14,905.905 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:24:14,908.908 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:24:16,947.947 INFO    ] ================================================
[2026-08-29 03:24:16,964.964 INFO    ] Launching Daemon at Sat Aug 29 03:24:16 IST 2026
[2026-08-29 03:24:16,975.975 INFO    ] ================================================
[2026-08-29 03:24:17,306.306 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:24:17
[2026-08-29 03:24:17,623.623 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:24:17,759.759 INFO    ] Initializing speech engine...
[2026-08-29 03:24:17,767.767 INFO    ] 2026-08-29 03:24:17
[2026-08-29 03:24:17,993.993 INFO    ] 2026-08-29 03:24:17
[2026-08-29 03:24:18,024.024 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:24:18,120.120 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:24:18,123.123 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:24:18,232.232 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:24:18,241.241 INFO    ] time= 29/08/2026 03:24:18
[2026-08-29 03:24:18,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:24:18,262.262 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:24:18,335.335 INFO    ] No existing commands found in stream
[2026-08-29 03:24:23,369.369 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:24:23,372.372 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-08-29 03:24:27,440.440 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:24:27,441.441 INFO    ] Checking for system updates...
[2026-08-29 03:24:27,462.462 INFO    ] 200
[2026-08-29 03:24:27,464.464 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:24:27,494.494 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:24:27,495.495 INFO    ] No update needed
[2026-08-29 03:24:27,496.496 INFO    ] Checking for camera pi updates...
[2026-08-29 03:24:27,516.516 INFO    ] 200
[2026-08-29 03:24:27,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:24:27,541.541 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:24:27,623.623 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:24:27,626.626 INFO    ] No camera update needed
[2026-08-29 03:24:27,628.628 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:24:27,629.629 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:24:27,633.633 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:24:27,636.636 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:24:29,676.676 INFO    ] ================================================
[2026-08-29 03:24:29,692.692 INFO    ] Launching Daemon at Sat Aug 29 03:24:29 IST 2026
[2026-08-29 03:24:29,704.704 INFO    ] ================================================
[2026-08-29 03:24:30,341.341 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:24:30
[2026-08-29 03:24:30,867.867 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:24:31,022.022 INFO    ] Initializing speech engine...
[2026-08-29 03:24:31,031.031 INFO    ] 2026-08-29 03:24:31
[2026-08-29 03:24:31,278.278 INFO    ] 2026-08-29 03:24:31
[2026-08-29 03:24:31,313.313 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:24:31,485.485 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:24:31,507.507 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:24:31,640.640 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:24:31,648.648 INFO    ] time= 29/08/2026 03:24:31
[2026-08-29 03:24:31,655.655 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:24:31,701.701 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:24:31,827.827 INFO    ] No existing commands found in stream
[2026-08-29 03:24:36,852.852 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:24:36,854.854 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-08-29 03:24:40,007.007 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:24:40,009.009 INFO    ] Checking for system updates...
[2026-08-29 03:24:40,029.029 INFO    ] 200
[2026-08-29 03:24:40,030.030 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:24:40,061.061 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:24:40,062.062 INFO    ] No update needed
[2026-08-29 03:24:40,067.067 INFO    ] Checking for camera pi updates...
[2026-08-29 03:24:40,088.088 INFO    ] 200
[2026-08-29 03:24:40,089.089 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:24:40,112.112 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:24:40,186.186 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:24:40,188.188 INFO    ] No camera update needed
[2026-08-29 03:24:40,189.189 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:24:40,190.190 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:24:40,193.193 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:24:40,196.196 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:24:42,236.236 INFO    ] ================================================
[2026-08-29 03:24:42,251.251 INFO    ] Launching Daemon at Sat Aug 29 03:24:42 IST 2026
[2026-08-29 03:24:42,262.262 INFO    ] ================================================
[2026-08-29 03:24:42,592.592 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:24:42
[2026-08-29 03:24:42,910.910 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:24:43,054.054 INFO    ] Initializing speech engine...
[2026-08-29 03:24:43,059.059 INFO    ] 2026-08-29 03:24:43
[2026-08-29 03:24:43,263.263 INFO    ] 2026-08-29 03:24:43
[2026-08-29 03:24:43,291.291 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:24:43,449.449 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:24:43,457.457 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:24:43,605.605 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:24:43,656.656 INFO    ] time= 29/08/2026 03:24:43
[2026-08-29 03:24:43,662.662 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:24:43,680.680 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:24:43,782.782 INFO    ] No existing commands found in stream
[2026-08-29 03:24:48,817.817 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:24:48,820.820 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-08-29 03:24:52,195.195 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:24:52,197.197 INFO    ] Checking for system updates...
[2026-08-29 03:24:52,217.217 INFO    ] 200
[2026-08-29 03:24:52,218.218 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:24:52,247.247 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:24:52,248.248 INFO    ] No update needed
[2026-08-29 03:24:52,250.250 INFO    ] Checking for camera pi updates...
[2026-08-29 03:24:52,268.268 INFO    ] 200
[2026-08-29 03:24:52,270.270 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:24:52,292.292 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:24:52,371.371 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:24:52,372.372 INFO    ] No camera update needed
[2026-08-29 03:24:52,373.373 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:24:52,375.375 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:24:52,377.377 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:24:52,380.380 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:24:54,420.420 INFO    ] ================================================
[2026-08-29 03:24:54,435.435 INFO    ] Launching Daemon at Sat Aug 29 03:24:54 IST 2026
[2026-08-29 03:24:54,446.446 INFO    ] ================================================
[2026-08-29 03:24:54,778.778 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:24:54
[2026-08-29 03:24:55,098.098 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:24:55,373.373 INFO    ] Initializing speech engine...
[2026-08-29 03:24:55,391.391 INFO    ] 2026-08-29 03:24:55
[2026-08-29 03:24:55,643.643 INFO    ] 2026-08-29 03:24:55
[2026-08-29 03:24:55,709.709 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:24:55,871.871 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:24:55,889.889 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:24:56,012.012 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:24:56,019.019 INFO    ] time= 29/08/2026 03:24:56
[2026-08-29 03:24:56,034.034 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:24:56,043.043 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:24:56,145.145 INFO    ] No existing commands found in stream
[2026-08-29 03:25:01,156.156 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:25:01,158.158 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-08-29 03:25:03,341.341 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:25:03,344.344 INFO    ] Checking for system updates...
[2026-08-29 03:25:03,381.381 INFO    ] 200
[2026-08-29 03:25:03,383.383 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:25:03,448.448 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:25:03,451.451 INFO    ] No update needed
[2026-08-29 03:25:03,453.453 INFO    ] Checking for camera pi updates...
[2026-08-29 03:25:03,487.487 INFO    ] 200
[2026-08-29 03:25:03,489.489 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:25:03,530.530 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:25:03,653.653 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:25:03,655.655 INFO    ] No camera update needed
[2026-08-29 03:25:03,658.658 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:25:03,660.660 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:25:03,665.665 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:25:03,670.670 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:25:05,711.711 INFO    ] ================================================
[2026-08-29 03:25:05,727.727 INFO    ] Launching Daemon at Sat Aug 29 03:25:05 IST 2026
[2026-08-29 03:25:05,745.745 INFO    ] ================================================
[2026-08-29 03:25:06,244.244 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:25:06
[2026-08-29 03:25:06,846.846 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:25:07,114.114 INFO    ] Initializing speech engine...
[2026-08-29 03:25:07,123.123 INFO    ] 2026-08-29 03:25:07
[2026-08-29 03:25:07,368.368 INFO    ] 2026-08-29 03:25:07
[2026-08-29 03:25:07,403.403 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:25:07,573.573 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:25:07,586.586 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:25:07,727.727 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:25:07,736.736 INFO    ] time= 29/08/2026 03:25:07
[2026-08-29 03:25:07,742.742 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:25:07,798.798 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:25:07,915.915 INFO    ] No existing commands found in stream
[2026-08-29 03:25:12,940.940 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:25:12,944.944 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 03:25:15,457.457 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:25:15,459.459 INFO    ] Checking for system updates...
[2026-08-29 03:25:15,479.479 INFO    ] 200
[2026-08-29 03:25:15,481.481 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:25:15,511.511 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:25:15,513.513 INFO    ] No update needed
[2026-08-29 03:25:15,514.514 INFO    ] Checking for camera pi updates...
[2026-08-29 03:25:15,533.533 INFO    ] 200
[2026-08-29 03:25:15,535.535 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:25:15,557.557 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:25:15,741.741 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:25:15,742.742 INFO    ] No camera update needed
[2026-08-29 03:25:15,743.743 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:25:15,745.745 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:25:15,747.747 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:25:15,750.750 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:25:17,790.790 INFO    ] ================================================
[2026-08-29 03:25:17,806.806 INFO    ] Launching Daemon at Sat Aug 29 03:25:17 IST 2026
[2026-08-29 03:25:17,817.817 INFO    ] ================================================
[2026-08-29 03:25:18,383.383 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:25:18
[2026-08-29 03:25:18,965.965 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:25:19,211.211 INFO    ] Initializing speech engine...
[2026-08-29 03:25:19,226.226 INFO    ] 2026-08-29 03:25:19
[2026-08-29 03:25:19,476.476 INFO    ] 2026-08-29 03:25:19
[2026-08-29 03:25:19,504.504 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:25:19,628.628 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:25:19,681.681 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:25:19,828.828 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:25:19,885.885 INFO    ] time= 29/08/2026 03:25:19
[2026-08-29 03:25:19,915.915 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:25:19,925.925 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:25:19,997.997 INFO    ] No existing commands found in stream
[2026-08-29 03:25:25,007.007 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:25:25,010.010 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-08-29 03:25:28,489.489 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:25:28,491.491 INFO    ] Checking for system updates...
[2026-08-29 03:25:28,511.511 INFO    ] 200
[2026-08-29 03:25:28,512.512 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:25:28,542.542 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:25:28,543.543 INFO    ] No update needed
[2026-08-29 03:25:28,545.545 INFO    ] Checking for camera pi updates...
[2026-08-29 03:25:28,563.563 INFO    ] 200
[2026-08-29 03:25:28,565.565 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:25:28,593.593 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:25:28,690.690 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:25:28,692.692 INFO    ] No camera update needed
[2026-08-29 03:25:28,693.693 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:25:28,694.694 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:25:28,697.697 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:25:28,700.700 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:25:30,737.737 INFO    ] ================================================
[2026-08-29 03:25:30,753.753 INFO    ] Launching Daemon at Sat Aug 29 03:25:30 IST 2026
[2026-08-29 03:25:30,765.765 INFO    ] ================================================
[2026-08-29 03:25:31,107.107 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:25:31
[2026-08-29 03:25:31,418.418 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:25:31,614.614 INFO    ] Initializing speech engine...
[2026-08-29 03:25:31,623.623 INFO    ] 2026-08-29 03:25:31
[2026-08-29 03:25:31,890.890 INFO    ] 2026-08-29 03:25:31
[2026-08-29 03:25:31,928.928 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:25:32,106.106 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:25:32,120.120 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:25:32,266.266 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:25:32,275.275 INFO    ] time= 29/08/2026 03:25:32
[2026-08-29 03:25:32,281.281 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:25:32,304.304 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:25:32,439.439 INFO    ] No existing commands found in stream
[2026-08-29 03:25:37,470.470 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:25:37,473.473 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-08-29 03:25:41,492.492 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:25:41,494.494 INFO    ] Checking for system updates...
[2026-08-29 03:25:41,514.514 INFO    ] 200
[2026-08-29 03:25:41,515.515 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:25:41,545.545 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:25:41,546.546 INFO    ] No update needed
[2026-08-29 03:25:41,547.547 INFO    ] Checking for camera pi updates...
[2026-08-29 03:25:41,566.566 INFO    ] 200
[2026-08-29 03:25:41,567.567 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:25:41,590.590 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:25:41,673.673 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:25:41,674.674 INFO    ] No camera update needed
[2026-08-29 03:25:41,676.676 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:25:41,677.677 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:25:41,680.680 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:25:41,682.682 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:25:43,720.720 INFO    ] ================================================
[2026-08-29 03:25:43,736.736 INFO    ] Launching Daemon at Sat Aug 29 03:25:43 IST 2026
[2026-08-29 03:25:43,747.747 INFO    ] ================================================
[2026-08-29 03:25:44,104.104 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:25:44
[2026-08-29 03:25:44,417.417 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:25:44,549.549 INFO    ] Initializing speech engine...
[2026-08-29 03:25:44,562.562 INFO    ] 2026-08-29 03:25:44
[2026-08-29 03:25:44,810.810 INFO    ] 2026-08-29 03:25:44
[2026-08-29 03:25:44,865.865 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:25:45,011.011 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:25:45,034.034 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:25:45,191.191 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:25:45,230.230 INFO    ] time= 29/08/2026 03:25:45
[2026-08-29 03:25:45,241.241 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:25:45,248.248 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:25:45,315.315 INFO    ] No existing commands found in stream
[2026-08-29 03:25:50,344.344 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:25:50,347.347 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-08-29 03:25:51,524.524 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:25:51,526.526 INFO    ] Checking for system updates...
[2026-08-29 03:25:51,547.547 INFO    ] 200
[2026-08-29 03:25:51,549.549 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:25:51,578.578 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:25:51,580.580 INFO    ] No update needed
[2026-08-29 03:25:51,581.581 INFO    ] Checking for camera pi updates...
[2026-08-29 03:25:51,602.602 INFO    ] 200
[2026-08-29 03:25:51,604.604 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:25:51,628.628 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:25:51,692.692 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:25:51,694.694 INFO    ] No camera update needed
[2026-08-29 03:25:51,695.695 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:25:51,696.696 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:25:51,699.699 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:25:51,702.702 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:25:53,742.742 INFO    ] ================================================
[2026-08-29 03:25:53,758.758 INFO    ] Launching Daemon at Sat Aug 29 03:25:53 IST 2026
[2026-08-29 03:25:53,769.769 INFO    ] ================================================
[2026-08-29 03:25:54,125.125 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:25:54
[2026-08-29 03:25:54,437.437 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:25:54,579.579 INFO    ] Initializing speech engine...
[2026-08-29 03:25:54,584.584 INFO    ] 2026-08-29 03:25:54
[2026-08-29 03:25:54,790.790 INFO    ] 2026-08-29 03:25:54
[2026-08-29 03:25:54,867.867 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:25:55,021.021 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:25:55,030.030 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:25:55,166.166 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:25:55,192.192 INFO    ] time= 29/08/2026 03:25:55
[2026-08-29 03:25:55,257.257 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:25:55,302.302 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:25:55,355.355 INFO    ] No existing commands found in stream
[2026-08-29 03:26:00,366.366 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:26:00,369.369 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-08-29 03:26:02,558.558 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:26:02,561.561 INFO    ] Checking for system updates...
[2026-08-29 03:26:02,606.606 INFO    ] 200
[2026-08-29 03:26:02,609.609 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:26:02,667.667 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:26:02,670.670 INFO    ] No update needed
[2026-08-29 03:26:02,673.673 INFO    ] Checking for camera pi updates...
[2026-08-29 03:26:02,717.717 INFO    ] 200
[2026-08-29 03:26:02,721.721 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:26:02,766.766 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:26:02,878.878 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:26:02,882.882 INFO    ] No camera update needed
[2026-08-29 03:26:02,885.885 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:26:02,888.888 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:26:02,899.899 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:26:02,909.909 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:26:04,955.955 INFO    ] ================================================
[2026-08-29 03:26:04,971.971 INFO    ] Launching Daemon at Sat Aug 29 03:26:04 IST 2026
[2026-08-29 03:26:04,981.981 INFO    ] ================================================
[2026-08-29 03:26:05,336.336 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:26:05
[2026-08-29 03:26:05,865.865 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:26:06,120.120 INFO    ] Initializing speech engine...
[2026-08-29 03:26:06,128.128 INFO    ] 2026-08-29 03:26:06
[2026-08-29 03:26:06,408.408 INFO    ] 2026-08-29 03:26:06
[2026-08-29 03:26:06,454.454 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:26:06,614.614 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:26:06,624.624 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:26:06,762.762 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:26:06,771.771 INFO    ] time= 29/08/2026 03:26:06
[2026-08-29 03:26:06,777.777 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:26:06,782.782 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:26:06,846.846 INFO    ] No existing commands found in stream
[2026-08-29 03:26:11,859.859 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:26:11,862.862 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-08-29 03:26:12,935.935 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:26:12,936.936 INFO    ] Checking for system updates...
[2026-08-29 03:26:12,957.957 INFO    ] 200
[2026-08-29 03:26:12,959.959 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:26:12,988.988 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:26:12,989.989 INFO    ] No update needed
[2026-08-29 03:26:12,990.990 INFO    ] Checking for camera pi updates...
[2026-08-29 03:26:13,009.009 INFO    ] 200
[2026-08-29 03:26:13,011.011 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:26:13,033.033 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:26:13,125.125 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:26:13,126.126 INFO    ] No camera update needed
[2026-08-29 03:26:13,127.127 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:26:13,128.128 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:26:13,131.131 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:26:13,134.134 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:26:15,172.172 INFO    ] ================================================
[2026-08-29 03:26:15,188.188 INFO    ] Launching Daemon at Sat Aug 29 03:26:15 IST 2026
[2026-08-29 03:26:15,200.200 INFO    ] ================================================
[2026-08-29 03:26:15,555.555 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:26:15
[2026-08-29 03:26:15,884.884 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:26:16,033.033 INFO    ] Initializing speech engine...
[2026-08-29 03:26:16,038.038 INFO    ] 2026-08-29 03:26:16
[2026-08-29 03:26:16,243.243 INFO    ] 2026-08-29 03:26:16
[2026-08-29 03:26:16,273.273 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:26:16,410.410 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:26:16,470.470 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:26:16,580.580 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:26:16,590.590 INFO    ] time= 29/08/2026 03:26:16
[2026-08-29 03:26:16,637.637 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:26:16,688.688 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:26:16,793.793 INFO    ] No existing commands found in stream
[2026-08-29 03:26:21,810.810 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:26:21,813.813 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-08-29 03:26:24,581.581 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:26:24,583.583 INFO    ] Checking for system updates...
[2026-08-29 03:26:24,604.604 INFO    ] 200
[2026-08-29 03:26:24,605.605 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:26:24,637.637 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:26:24,638.638 INFO    ] No update needed
[2026-08-29 03:26:24,640.640 INFO    ] Checking for camera pi updates...
[2026-08-29 03:26:24,659.659 INFO    ] 200
[2026-08-29 03:26:24,661.661 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:26:24,683.683 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:26:24,786.786 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:26:24,787.787 INFO    ] No camera update needed
[2026-08-29 03:26:24,788.788 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:26:24,789.789 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:26:24,792.792 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:26:24,795.795 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:26:26,834.834 INFO    ] ================================================
[2026-08-29 03:26:26,850.850 INFO    ] Launching Daemon at Sat Aug 29 03:26:26 IST 2026
[2026-08-29 03:26:26,861.861 INFO    ] ================================================
[2026-08-29 03:26:27,234.234 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:26:27
[2026-08-29 03:26:27,564.564 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:26:27,713.713 INFO    ] Initializing speech engine...
[2026-08-29 03:26:27,718.718 INFO    ] 2026-08-29 03:26:27
[2026-08-29 03:26:27,924.924 INFO    ] 2026-08-29 03:26:27
[2026-08-29 03:26:27,952.952 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:26:28,075.075 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:26:28,137.137 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:26:28,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:26:28,344.344 INFO    ] time= 29/08/2026 03:26:28
[2026-08-29 03:26:28,369.369 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:26:28,375.375 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:26:28,441.441 INFO    ] No existing commands found in stream
[2026-08-29 03:26:33,452.452 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:26:33,455.455 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-08-29 03:26:34,156.156 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:26:34,159.159 INFO    ] Checking for system updates...
[2026-08-29 03:26:34,194.194 INFO    ] 200
[2026-08-29 03:26:34,197.197 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:26:34,254.254 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:26:34,257.257 INFO    ] No update needed
[2026-08-29 03:26:34,259.259 INFO    ] Checking for camera pi updates...
[2026-08-29 03:26:34,292.292 INFO    ] 200
[2026-08-29 03:26:34,294.294 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:26:34,337.337 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:26:34,451.451 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:26:34,454.454 INFO    ] No camera update needed
[2026-08-29 03:26:34,456.456 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:26:34,458.458 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:26:34,463.463 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:26:34,468.468 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:26:36,509.509 INFO    ] ================================================
[2026-08-29 03:26:36,524.524 INFO    ] Launching Daemon at Sat Aug 29 03:26:36 IST 2026
[2026-08-29 03:26:36,534.534 INFO    ] ================================================
[2026-08-29 03:26:36,875.875 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:26:36
[2026-08-29 03:26:37,210.210 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:26:37,477.477 INFO    ] Initializing speech engine...
[2026-08-29 03:26:37,486.486 INFO    ] 2026-08-29 03:26:37
[2026-08-29 03:26:37,732.732 INFO    ] 2026-08-29 03:26:37
[2026-08-29 03:26:37,797.797 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:26:37,938.938 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:26:37,950.950 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:26:38,091.091 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:26:38,099.099 INFO    ] time= 29/08/2026 03:26:38
[2026-08-29 03:26:38,105.105 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:26:38,151.151 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:26:38,278.278 INFO    ] No existing commands found in stream
[2026-08-29 03:26:43,305.305 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:26:43,308.308 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-08-29 03:26:45,548.548 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:26:45,549.549 INFO    ] Checking for system updates...
[2026-08-29 03:26:45,569.569 INFO    ] 200
[2026-08-29 03:26:45,571.571 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:26:45,602.602 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:26:45,604.604 INFO    ] No update needed
[2026-08-29 03:26:45,605.605 INFO    ] Checking for camera pi updates...
[2026-08-29 03:26:45,624.624 INFO    ] 200
[2026-08-29 03:26:45,625.625 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:26:45,664.664 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:26:45,768.768 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:26:45,770.770 INFO    ] No camera update needed
[2026-08-29 03:26:45,773.773 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:26:45,775.775 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:26:45,780.780 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:26:45,785.785 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:26:47,826.826 INFO    ] ================================================
[2026-08-29 03:26:47,840.840 INFO    ] Launching Daemon at Sat Aug 29 03:26:47 IST 2026
[2026-08-29 03:26:47,851.851 INFO    ] ================================================
[2026-08-29 03:26:48,417.417 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:26:48
[2026-08-29 03:26:48,931.931 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:26:49,203.203 INFO    ] Initializing speech engine...
[2026-08-29 03:26:49,207.207 INFO    ] 2026-08-29 03:26:49
[2026-08-29 03:26:49,454.454 INFO    ] 2026-08-29 03:26:49
[2026-08-29 03:26:49,518.518 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:26:49,661.661 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:26:49,683.683 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:26:49,812.812 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:26:49,819.819 INFO    ] time= 29/08/2026 03:26:49
[2026-08-29 03:26:49,827.827 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:26:49,862.862 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:26:49,968.968 INFO    ] No existing commands found in stream
[2026-08-29 03:26:54,998.998 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:26:55,000.000 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-08-29 03:26:58,629.629 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:26:58,630.630 INFO    ] Checking for system updates...
[2026-08-29 03:26:58,651.651 INFO    ] 200
[2026-08-29 03:26:58,652.652 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:26:58,686.686 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:26:58,687.687 INFO    ] No update needed
[2026-08-29 03:26:58,688.688 INFO    ] Checking for camera pi updates...
[2026-08-29 03:26:58,707.707 INFO    ] 200
[2026-08-29 03:26:58,709.709 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:26:58,733.733 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:26:58,809.809 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:26:58,811.811 INFO    ] No camera update needed
[2026-08-29 03:26:58,812.812 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:26:58,813.813 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:26:58,816.816 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:26:58,819.819 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:27:00,857.857 INFO    ] ================================================
[2026-08-29 03:27:00,872.872 INFO    ] Launching Daemon at Sat Aug 29 03:27:00 IST 2026
[2026-08-29 03:27:00,883.883 INFO    ] ================================================
[2026-08-29 03:27:01,237.237 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:27:01
[2026-08-29 03:27:01,784.784 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:27:02,070.070 INFO    ] Initializing speech engine...
[2026-08-29 03:27:02,082.082 INFO    ] 2026-08-29 03:27:02
[2026-08-29 03:27:02,416.416 INFO    ] 2026-08-29 03:27:02
[2026-08-29 03:27:02,443.443 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:27:02,630.630 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:27:02,638.638 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:27:02,738.738 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:27:02,798.798 INFO    ] time= 29/08/2026 03:27:02
[2026-08-29 03:27:02,801.801 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:27:02,827.827 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:27:02,880.880 INFO    ] No existing commands found in stream
[2026-08-29 03:27:07,908.908 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:27:07,911.911 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-08-29 03:27:08,919.919 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:27:08,921.921 INFO    ] Checking for system updates...
[2026-08-29 03:27:08,942.942 INFO    ] 200
[2026-08-29 03:27:08,943.943 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:27:08,973.973 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:27:08,974.974 INFO    ] No update needed
[2026-08-29 03:27:08,976.976 INFO    ] Checking for camera pi updates...
[2026-08-29 03:27:08,994.994 INFO    ] 200
[2026-08-29 03:27:08,996.996 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:27:09,019.019 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:27:09,095.095 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:27:09,096.096 INFO    ] No camera update needed
[2026-08-29 03:27:09,098.098 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:27:09,099.099 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:27:09,102.102 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:27:09,105.105 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:27:11,142.142 INFO    ] ================================================
[2026-08-29 03:27:11,157.157 INFO    ] Launching Daemon at Sat Aug 29 03:27:11 IST 2026
[2026-08-29 03:27:11,168.168 INFO    ] ================================================
[2026-08-29 03:27:11,541.541 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:27:11
[2026-08-29 03:27:12,131.131 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:27:12,407.407 INFO    ] Initializing speech engine...
[2026-08-29 03:27:12,414.414 INFO    ] 2026-08-29 03:27:12
[2026-08-29 03:27:12,661.661 INFO    ] 2026-08-29 03:27:12
[2026-08-29 03:27:12,703.703 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:27:12,869.869 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:27:12,881.881 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:27:13,021.021 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:27:13,029.029 INFO    ] time= 29/08/2026 03:27:13
[2026-08-29 03:27:13,037.037 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:27:13,082.082 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:27:13,193.193 INFO    ] No existing commands found in stream
[2026-08-29 03:27:18,223.223 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:27:18,226.226 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-08-29 03:27:21,613.613 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:27:21,615.615 INFO    ] Checking for system updates...
[2026-08-29 03:27:21,635.635 INFO    ] 200
[2026-08-29 03:27:21,637.637 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:27:21,673.673 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:27:21,674.674 INFO    ] No update needed
[2026-08-29 03:27:21,675.675 INFO    ] Checking for camera pi updates...
[2026-08-29 03:27:21,698.698 INFO    ] 200
[2026-08-29 03:27:21,699.699 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:27:21,722.722 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:27:21,918.918 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:27:21,920.920 INFO    ] No camera update needed
[2026-08-29 03:27:21,921.921 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:27:21,922.922 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:27:21,925.925 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:27:21,928.928 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:27:23,967.967 INFO    ] ================================================
[2026-08-29 03:27:23,982.982 INFO    ] Launching Daemon at Sat Aug 29 03:27:23 IST 2026
[2026-08-29 03:27:23,993.993 INFO    ] ================================================
[2026-08-29 03:27:24,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:27:24
[2026-08-29 03:27:24,667.667 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:27:24,805.805 INFO    ] Initializing speech engine...
[2026-08-29 03:27:24,815.815 INFO    ] 2026-08-29 03:27:24
[2026-08-29 03:27:25,018.018 INFO    ] 2026-08-29 03:27:24
[2026-08-29 03:27:25,045.045 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:27:25,174.174 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:27:25,197.197 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:27:25,359.359 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:27:25,397.397 INFO    ] time= 29/08/2026 03:27:25
[2026-08-29 03:27:25,403.403 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:27:25,420.420 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:27:25,521.521 INFO    ] No existing commands found in stream
[2026-08-29 03:27:30,547.547 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:27:30,549.549 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-08-29 03:27:33,854.854 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:27:33,856.856 INFO    ] Checking for system updates...
[2026-08-29 03:27:33,894.894 INFO    ] 200
[2026-08-29 03:27:33,897.897 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:27:33,953.953 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:27:33,956.956 INFO    ] No update needed
[2026-08-29 03:27:33,958.958 INFO    ] Checking for camera pi updates...
[2026-08-29 03:27:33,995.995 INFO    ] 200
[2026-08-29 03:27:33,997.997 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:27:34,037.037 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:27:34,125.125 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:27:34,127.127 INFO    ] No camera update needed
[2026-08-29 03:27:34,129.129 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:27:34,132.132 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:27:34,137.137 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:27:34,142.142 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:27:36,185.185 INFO    ] ================================================
[2026-08-29 03:27:36,200.200 INFO    ] Launching Daemon at Sat Aug 29 03:27:36 IST 2026
[2026-08-29 03:27:36,211.211 INFO    ] ================================================
[2026-08-29 03:27:36,556.556 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:27:36
[2026-08-29 03:27:36,889.889 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:27:37,042.042 INFO    ] Initializing speech engine...
[2026-08-29 03:27:37,048.048 INFO    ] 2026-08-29 03:27:37
[2026-08-29 03:27:37,307.307 INFO    ] 2026-08-29 03:27:37
[2026-08-29 03:27:37,363.363 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:27:37,529.529 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:27:37,538.538 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:27:37,666.666 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:27:37,673.673 INFO    ] time= 29/08/2026 03:27:37
[2026-08-29 03:27:37,680.680 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:27:37,711.711 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:27:37,816.816 INFO    ] No existing commands found in stream
[2026-08-29 03:27:42,841.841 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:27:42,844.844 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-08-29 03:27:47,001.001 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:27:47,002.002 INFO    ] Checking for system updates...
[2026-08-29 03:27:47,023.023 INFO    ] 200
[2026-08-29 03:27:47,024.024 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:27:47,055.055 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:27:47,057.057 INFO    ] No update needed
[2026-08-29 03:27:47,058.058 INFO    ] Checking for camera pi updates...
[2026-08-29 03:27:47,077.077 INFO    ] 200
[2026-08-29 03:27:47,078.078 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:27:47,101.101 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:27:47,192.192 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:27:47,193.193 INFO    ] No camera update needed
[2026-08-29 03:27:47,195.195 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:27:47,196.196 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:27:47,199.199 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:27:47,201.201 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:27:49,239.239 INFO    ] ================================================
[2026-08-29 03:27:49,254.254 INFO    ] Launching Daemon at Sat Aug 29 03:27:49 IST 2026
[2026-08-29 03:27:49,265.265 INFO    ] ================================================
[2026-08-29 03:27:49,631.631 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:27:49
[2026-08-29 03:27:49,942.942 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:27:50,085.085 INFO    ] Initializing speech engine...
[2026-08-29 03:27:50,090.090 INFO    ] 2026-08-29 03:27:50
[2026-08-29 03:27:50,296.296 INFO    ] 2026-08-29 03:27:50
[2026-08-29 03:27:50,325.325 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:27:50,450.450 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:27:50,513.513 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:27:50,650.650 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:27:50,721.721 INFO    ] time= 29/08/2026 03:27:50
[2026-08-29 03:27:51,006.006 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:27:51,010.010 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:27:51,120.120 INFO    ] No existing commands found in stream
[2026-08-29 03:27:56,132.132 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:27:56,135.135 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-08-29 03:27:57,913.913 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:27:57,914.914 INFO    ] Checking for system updates...
[2026-08-29 03:27:57,934.934 INFO    ] 200
[2026-08-29 03:27:57,936.936 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:27:57,965.965 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:27:57,967.967 INFO    ] No update needed
[2026-08-29 03:27:57,968.968 INFO    ] Checking for camera pi updates...
[2026-08-29 03:27:57,987.987 INFO    ] 200
[2026-08-29 03:27:57,988.988 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:27:58,012.012 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:27:58,114.114 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:27:58,115.115 INFO    ] No camera update needed
[2026-08-29 03:27:58,116.116 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:27:58,117.117 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:27:58,120.120 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:27:58,123.123 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:28:00,162.162 INFO    ] ================================================
[2026-08-29 03:28:00,177.177 INFO    ] Launching Daemon at Sat Aug 29 03:28:00 IST 2026
[2026-08-29 03:28:00,187.187 INFO    ] ================================================
[2026-08-29 03:28:00,632.632 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:28:00
[2026-08-29 03:28:01,229.229 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:28:01,703.703 INFO    ] Initializing speech engine...
[2026-08-29 03:28:01,708.708 INFO    ] 2026-08-29 03:28:01
[2026-08-29 03:28:02,022.022 INFO    ] 2026-08-29 03:28:02
[2026-08-29 03:28:02,102.102 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:28:02,351.351 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:28:02,367.367 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:28:02,515.515 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:28:02,534.534 INFO    ] time= 29/08/2026 03:28:02
[2026-08-29 03:28:02,612.612 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:28:02,670.670 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:28:02,741.741 INFO    ] No existing commands found in stream
[2026-08-29 03:28:07,757.757 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:28:07,760.760 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-08-29 03:28:10,168.168 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:28:10,169.169 INFO    ] Checking for system updates...
[2026-08-29 03:28:10,190.190 INFO    ] 200
[2026-08-29 03:28:10,192.192 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:28:10,223.223 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:28:10,225.225 INFO    ] No update needed
[2026-08-29 03:28:10,226.226 INFO    ] Checking for camera pi updates...
[2026-08-29 03:28:10,245.245 INFO    ] 200
[2026-08-29 03:28:10,246.246 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:28:10,269.269 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:28:10,350.350 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:28:10,351.351 INFO    ] No camera update needed
[2026-08-29 03:28:10,353.353 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:28:10,354.354 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:28:10,357.357 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:28:10,360.360 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:28:12,399.399 INFO    ] ================================================
[2026-08-29 03:28:12,415.415 INFO    ] Launching Daemon at Sat Aug 29 03:28:12 IST 2026
[2026-08-29 03:28:12,426.426 INFO    ] ================================================
[2026-08-29 03:28:12,785.785 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:28:12
[2026-08-29 03:28:13,114.114 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:28:13,246.246 INFO    ] Initializing speech engine...
[2026-08-29 03:28:13,249.249 INFO    ] 2026-08-29 03:28:13
[2026-08-29 03:28:13,464.464 INFO    ] 2026-08-29 03:28:13
[2026-08-29 03:28:13,493.493 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:28:13,614.614 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:28:13,648.648 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:28:13,791.791 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:28:13,818.818 INFO    ] time= 29/08/2026 03:28:13
[2026-08-29 03:28:13,877.877 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:28:13,909.909 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:28:13,981.981 INFO    ] No existing commands found in stream
[2026-08-29 03:28:18,991.991 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:28:18,994.994 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-08-29 03:28:23,149.149 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:28:23,151.151 INFO    ] Checking for system updates...
[2026-08-29 03:28:23,172.172 INFO    ] 200
[2026-08-29 03:28:23,173.173 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:28:23,204.204 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:28:23,205.205 INFO    ] No update needed
[2026-08-29 03:28:23,206.206 INFO    ] Checking for camera pi updates...
[2026-08-29 03:28:23,226.226 INFO    ] 200
[2026-08-29 03:28:23,227.227 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:28:23,250.250 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:28:23,326.326 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:28:23,328.328 INFO    ] No camera update needed
[2026-08-29 03:28:23,329.329 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:28:23,330.330 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:28:23,334.334 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:28:23,337.337 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:28:25,376.376 INFO    ] ================================================
[2026-08-29 03:28:25,391.391 INFO    ] Launching Daemon at Sat Aug 29 03:28:25 IST 2026
[2026-08-29 03:28:25,403.403 INFO    ] ================================================
[2026-08-29 03:28:25,908.908 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:28:25
[2026-08-29 03:28:26,515.515 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:28:26,794.794 INFO    ] Initializing speech engine...
[2026-08-29 03:28:26,801.801 INFO    ] 2026-08-29 03:28:26
[2026-08-29 03:28:27,050.050 INFO    ] 2026-08-29 03:28:27
[2026-08-29 03:28:27,085.085 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:28:27,258.258 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:28:27,271.271 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:28:27,412.412 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:28:27,421.421 INFO    ] time= 29/08/2026 03:28:27
[2026-08-29 03:28:27,427.427 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:28:27,470.470 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:28:27,598.598 INFO    ] No existing commands found in stream
[2026-08-29 03:28:32,628.628 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:28:32,631.631 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-08-29 03:28:36,062.062 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:28:36,063.063 INFO    ] Checking for system updates...
[2026-08-29 03:28:36,085.085 INFO    ] 200
[2026-08-29 03:28:36,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:28:36,118.118 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:28:36,120.120 INFO    ] No update needed
[2026-08-29 03:28:36,121.121 INFO    ] Checking for camera pi updates...
[2026-08-29 03:28:36,142.142 INFO    ] 200
[2026-08-29 03:28:36,143.143 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:28:36,168.168 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:28:36,249.249 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:28:36,250.250 INFO    ] No camera update needed
[2026-08-29 03:28:36,252.252 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:28:36,253.253 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:28:36,256.256 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:28:36,259.259 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:28:38,299.299 INFO    ] ================================================
[2026-08-29 03:28:38,315.315 INFO    ] Launching Daemon at Sat Aug 29 03:28:38 IST 2026
[2026-08-29 03:28:38,326.326 INFO    ] ================================================
[2026-08-29 03:28:38,658.658 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:28:38
[2026-08-29 03:28:38,974.974 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:28:39,118.118 INFO    ] Initializing speech engine...
[2026-08-29 03:28:39,123.123 INFO    ] 2026-08-29 03:28:39
[2026-08-29 03:28:39,326.326 INFO    ] 2026-08-29 03:28:39
[2026-08-29 03:28:39,354.354 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:28:39,477.477 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:28:39,515.515 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:28:39,645.645 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:28:39,653.653 INFO    ] time= 29/08/2026 03:28:39
[2026-08-29 03:28:39,660.660 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:28:39,709.709 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:28:39,813.813 INFO    ] No existing commands found in stream
[2026-08-29 03:28:44,839.839 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:28:44,841.841 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-08-29 03:28:47,596.596 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:28:47,597.597 INFO    ] Checking for system updates...
[2026-08-29 03:28:47,618.618 INFO    ] 200
[2026-08-29 03:28:47,619.619 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:28:47,651.651 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:28:47,652.652 INFO    ] No update needed
[2026-08-29 03:28:47,654.654 INFO    ] Checking for camera pi updates...
[2026-08-29 03:28:47,673.673 INFO    ] 200
[2026-08-29 03:28:47,674.674 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:28:47,697.697 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:28:47,770.770 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:28:47,772.772 INFO    ] No camera update needed
[2026-08-29 03:28:47,773.773 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:28:47,774.774 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:28:47,777.777 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:28:47,780.780 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:28:49,820.820 INFO    ] ================================================
[2026-08-29 03:28:49,836.836 INFO    ] Launching Daemon at Sat Aug 29 03:28:49 IST 2026
[2026-08-29 03:28:49,846.846 INFO    ] ================================================
[2026-08-29 03:28:50,215.215 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:28:50
[2026-08-29 03:28:50,532.532 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:28:50,766.766 INFO    ] Initializing speech engine...
[2026-08-29 03:28:50,771.771 INFO    ] 2026-08-29 03:28:50
[2026-08-29 03:28:51,035.035 INFO    ] 2026-08-29 03:28:51
[2026-08-29 03:28:51,089.089 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:28:51,231.231 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:28:51,244.244 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:28:51,351.351 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:28:51,364.364 INFO    ] time= 29/08/2026 03:28:51
[2026-08-29 03:28:51,372.372 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:28:51,391.391 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:28:51,479.479 INFO    ] No existing commands found in stream
[2026-08-29 03:28:56,496.496 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:28:56,499.499 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-08-29 03:28:58,715.715 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:28:58,716.716 INFO    ] Checking for system updates...
[2026-08-29 03:28:58,737.737 INFO    ] 200
[2026-08-29 03:28:58,738.738 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:28:58,770.770 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:28:58,771.771 INFO    ] No update needed
[2026-08-29 03:28:58,773.773 INFO    ] Checking for camera pi updates...
[2026-08-29 03:28:58,792.792 INFO    ] 200
[2026-08-29 03:28:58,793.793 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:28:58,816.816 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:28:58,910.910 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:28:58,912.912 INFO    ] No camera update needed
[2026-08-29 03:28:58,913.913 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:28:58,914.914 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:28:58,917.917 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:28:58,920.920 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:29:00,958.958 INFO    ] ================================================
[2026-08-29 03:29:00,973.973 INFO    ] Launching Daemon at Sat Aug 29 03:29:00 IST 2026
[2026-08-29 03:29:00,983.983 INFO    ] ================================================
[2026-08-29 03:29:01,620.620 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:29:01
[2026-08-29 03:29:02,291.291 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:29:02,589.589 INFO    ] Initializing speech engine...
[2026-08-29 03:29:02,594.594 INFO    ] 2026-08-29 03:29:02
[2026-08-29 03:29:02,944.944 INFO    ] 2026-08-29 03:29:02
[2026-08-29 03:29:02,983.983 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:29:03,145.145 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:29:03,157.157 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:29:03,300.300 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:29:03,310.310 INFO    ] time= 29/08/2026 03:29:03
[2026-08-29 03:29:03,315.315 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:29:03,338.338 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:29:03,390.390 INFO    ] No existing commands found in stream
[2026-08-29 03:29:08,401.401 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:29:08,404.404 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-08-29 03:29:08,984.984 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:29:08,986.986 INFO    ] Checking for system updates...
[2026-08-29 03:29:09,007.007 INFO    ] 200
[2026-08-29 03:29:09,009.009 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:29:09,040.040 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:29:09,042.042 INFO    ] No update needed
[2026-08-29 03:29:09,043.043 INFO    ] Checking for camera pi updates...
[2026-08-29 03:29:09,063.063 INFO    ] 200
[2026-08-29 03:29:09,065.065 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:29:09,087.087 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:29:09,198.198 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:29:09,199.199 INFO    ] No camera update needed
[2026-08-29 03:29:09,201.201 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:29:09,202.202 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:29:09,205.205 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:29:09,208.208 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:29:11,246.246 INFO    ] ================================================
[2026-08-29 03:29:11,261.261 INFO    ] Launching Daemon at Sat Aug 29 03:29:11 IST 2026
[2026-08-29 03:29:11,272.272 INFO    ] ================================================
[2026-08-29 03:29:11,605.605 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:29:11
[2026-08-29 03:29:11,916.916 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:29:12,131.131 INFO    ] Initializing speech engine...
[2026-08-29 03:29:12,145.145 INFO    ] 2026-08-29 03:29:12
[2026-08-29 03:29:12,426.426 INFO    ] 2026-08-29 03:29:12
[2026-08-29 03:29:12,464.464 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:29:12,657.657 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:29:12,662.662 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:29:12,791.791 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:29:12,798.798 INFO    ] time= 29/08/2026 03:29:12
[2026-08-29 03:29:12,803.803 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:29:12,824.824 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:29:12,923.923 INFO    ] No existing commands found in stream
[2026-08-29 03:29:17,933.933 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:29:17,936.936 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-08-29 03:29:18,347.347 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:29:18,349.349 INFO    ] Checking for system updates...
[2026-08-29 03:29:18,387.387 INFO    ] 200
[2026-08-29 03:29:18,390.390 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:29:18,442.442 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:29:18,444.444 INFO    ] No update needed
[2026-08-29 03:29:18,447.447 INFO    ] Checking for camera pi updates...
[2026-08-29 03:29:18,480.480 INFO    ] 200
[2026-08-29 03:29:18,483.483 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:29:18,523.523 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:29:18,603.603 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:29:18,605.605 INFO    ] No camera update needed
[2026-08-29 03:29:18,607.607 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:29:18,610.610 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:29:18,615.615 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:29:18,620.620 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:29:20,660.660 INFO    ] ================================================
[2026-08-29 03:29:20,675.675 INFO    ] Launching Daemon at Sat Aug 29 03:29:20 IST 2026
[2026-08-29 03:29:20,686.686 INFO    ] ================================================
[2026-08-29 03:29:21,049.049 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:29:21
[2026-08-29 03:29:21,360.360 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:29:21,505.505 INFO    ] Initializing speech engine...
[2026-08-29 03:29:21,508.508 INFO    ] 2026-08-29 03:29:21
[2026-08-29 03:29:21,715.715 INFO    ] 2026-08-29 03:29:21
[2026-08-29 03:29:21,743.743 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:29:21,864.864 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:29:21,902.902 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:29:22,057.057 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:29:22,119.119 INFO    ] time= 29/08/2026 03:29:22
[2026-08-29 03:29:22,148.148 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:29:22,158.158 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:29:22,229.229 INFO    ] No existing commands found in stream
[2026-08-29 03:29:27,238.238 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:29:27,241.241 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-08-29 03:29:29,406.406 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:29:29,408.408 INFO    ] Checking for system updates...
[2026-08-29 03:29:29,428.428 INFO    ] 200
[2026-08-29 03:29:29,429.429 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:29:29,461.461 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:29:29,463.463 INFO    ] No update needed
[2026-08-29 03:29:29,464.464 INFO    ] Checking for camera pi updates...
[2026-08-29 03:29:29,483.483 INFO    ] 200
[2026-08-29 03:29:29,484.484 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:29:29,507.507 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:29:29,688.688 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:29:29,690.690 INFO    ] No camera update needed
[2026-08-29 03:29:29,693.693 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:29:29,695.695 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:29:29,700.700 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:29:29,705.705 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:29:31,746.746 INFO    ] ================================================
[2026-08-29 03:29:31,761.761 INFO    ] Launching Daemon at Sat Aug 29 03:29:31 IST 2026
[2026-08-29 03:29:31,773.773 INFO    ] ================================================
[2026-08-29 03:29:32,473.473 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:29:32
[2026-08-29 03:29:32,973.973 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:29:33,218.218 INFO    ] Initializing speech engine...
[2026-08-29 03:29:33,225.225 INFO    ] 2026-08-29 03:29:33
[2026-08-29 03:29:33,500.500 INFO    ] 2026-08-29 03:29:33
[2026-08-29 03:29:33,535.535 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:29:33,710.710 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:29:33,722.722 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:29:33,866.866 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:29:33,875.875 INFO    ] time= 29/08/2026 03:29:33
[2026-08-29 03:29:33,881.881 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:29:33,901.901 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:29:34,022.022 INFO    ] No existing commands found in stream
[2026-08-29 03:29:39,052.052 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:29:39,055.055 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-08-29 03:29:41,543.543 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:29:41,545.545 INFO    ] Checking for system updates...
[2026-08-29 03:29:41,565.565 INFO    ] 200
[2026-08-29 03:29:41,567.567 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:29:41,598.598 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:29:41,600.600 INFO    ] No update needed
[2026-08-29 03:29:41,601.601 INFO    ] Checking for camera pi updates...
[2026-08-29 03:29:41,622.622 INFO    ] 200
[2026-08-29 03:29:41,624.624 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:29:41,648.648 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:29:41,724.724 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:29:41,726.726 INFO    ] No camera update needed
[2026-08-29 03:29:41,727.727 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:29:41,728.728 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:29:41,731.731 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:29:41,734.734 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:29:43,774.774 INFO    ] ================================================
[2026-08-29 03:29:43,789.789 INFO    ] Launching Daemon at Sat Aug 29 03:29:43 IST 2026
[2026-08-29 03:29:43,799.799 INFO    ] ================================================
[2026-08-29 03:29:44,354.354 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:29:44
[2026-08-29 03:29:45,018.018 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:29:45,322.322 INFO    ] Initializing speech engine...
[2026-08-29 03:29:45,337.337 INFO    ] 2026-08-29 03:29:45
[2026-08-29 03:29:45,609.609 INFO    ] 2026-08-29 03:29:45
[2026-08-29 03:29:45,665.665 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:29:45,897.897 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:29:45,904.904 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:29:46,041.041 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:29:46,116.116 INFO    ] time= 29/08/2026 03:29:46
[2026-08-29 03:29:46,171.171 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:29:46,179.179 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:29:46,238.238 INFO    ] No existing commands found in stream
[2026-08-29 03:29:51,269.269 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:29:51,272.272 INFO    ] Waiting 2.66 seconds before fallback handling...
[2026-08-29 03:29:54,314.314 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:29:54,315.315 INFO    ] Checking for system updates...
[2026-08-29 03:29:54,336.336 INFO    ] 200
[2026-08-29 03:29:54,337.337 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:29:54,367.367 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:29:54,369.369 INFO    ] No update needed
[2026-08-29 03:29:54,370.370 INFO    ] Checking for camera pi updates...
[2026-08-29 03:29:54,389.389 INFO    ] 200
[2026-08-29 03:29:54,391.391 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:29:54,414.414 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:29:54,492.492 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:29:54,493.493 INFO    ] No camera update needed
[2026-08-29 03:29:54,495.495 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:29:54,496.496 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:29:54,499.499 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:29:54,502.502 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:29:56,542.542 INFO    ] ================================================
[2026-08-29 03:29:56,557.557 INFO    ] Launching Daemon at Sat Aug 29 03:29:56 IST 2026
[2026-08-29 03:29:56,568.568 INFO    ] ================================================
[2026-08-29 03:29:56,918.918 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:29:56
[2026-08-29 03:29:57,253.253 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:29:57,404.404 INFO    ] Initializing speech engine...
[2026-08-29 03:29:57,409.409 INFO    ] 2026-08-29 03:29:57
[2026-08-29 03:29:57,618.618 INFO    ] 2026-08-29 03:29:57
[2026-08-29 03:29:57,647.647 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:29:57,772.772 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:29:57,805.805 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:29:57,967.967 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:29:57,999.999 INFO    ] time= 29/08/2026 03:29:57
[2026-08-29 03:29:58,049.049 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:29:58,071.071 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:29:58,144.144 INFO    ] No existing commands found in stream
[2026-08-29 03:30:03,155.155 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:30:03,162.162 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-08-29 03:30:08,576.576 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:30:08,577.577 INFO    ] Checking for system updates...
[2026-08-29 03:30:08,599.599 INFO    ] 200
[2026-08-29 03:30:08,600.600 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:30:08,632.632 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:30:08,633.633 INFO    ] No update needed
[2026-08-29 03:30:08,635.635 INFO    ] Checking for camera pi updates...
[2026-08-29 03:30:08,654.654 INFO    ] 200
[2026-08-29 03:30:08,656.656 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:30:08,679.679 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:30:08,773.773 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:30:08,775.775 INFO    ] No camera update needed
[2026-08-29 03:30:08,776.776 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:30:08,778.778 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:30:08,781.781 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:30:08,784.784 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:30:10,823.823 INFO    ] ================================================
[2026-08-29 03:30:10,838.838 INFO    ] Launching Daemon at Sat Aug 29 03:30:10 IST 2026
[2026-08-29 03:30:10,849.849 INFO    ] ================================================
[2026-08-29 03:30:11,288.288 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:30:11
[2026-08-29 03:30:11,871.871 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:30:12,143.143 INFO    ] Initializing speech engine...
[2026-08-29 03:30:12,151.151 INFO    ] 2026-08-29 03:30:12
[2026-08-29 03:30:12,402.402 INFO    ] 2026-08-29 03:30:12
[2026-08-29 03:30:12,438.438 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:30:12,614.614 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:30:12,627.627 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:30:12,765.765 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:30:12,778.778 INFO    ] time= 29/08/2026 03:30:12
[2026-08-29 03:30:12,783.783 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:30:12,791.791 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:30:12,858.858 INFO    ] No existing commands found in stream
[2026-08-29 03:30:17,883.883 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:30:17,886.886 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-08-29 03:30:20,653.653 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:30:20,654.654 INFO    ] Checking for system updates...
[2026-08-29 03:30:20,675.675 INFO    ] 200
[2026-08-29 03:30:20,677.677 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:30:20,707.707 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:30:20,708.708 INFO    ] No update needed
[2026-08-29 03:30:20,709.709 INFO    ] Checking for camera pi updates...
[2026-08-29 03:30:20,728.728 INFO    ] 200
[2026-08-29 03:30:20,729.729 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:30:20,752.752 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:30:20,847.847 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:30:20,848.848 INFO    ] No camera update needed
[2026-08-29 03:30:20,850.850 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:30:20,851.851 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:30:20,854.854 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:30:20,856.856 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:30:22,896.896 INFO    ] ================================================
[2026-08-29 03:30:22,915.915 INFO    ] Launching Daemon at Sat Aug 29 03:30:22 IST 2026
[2026-08-29 03:30:22,926.926 INFO    ] ================================================
[2026-08-29 03:30:23,263.263 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:30:23
[2026-08-29 03:30:23,579.579 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:30:23,723.723 INFO    ] Initializing speech engine...
[2026-08-29 03:30:23,728.728 INFO    ] 2026-08-29 03:30:23
[2026-08-29 03:30:23,915.915 INFO    ] 2026-08-29 03:30:23
[2026-08-29 03:30:23,995.995 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:30:24,143.143 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:30:24,152.152 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:30:24,284.284 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:30:24,321.321 INFO    ] time= 29/08/2026 03:30:24
[2026-08-29 03:30:24,376.376 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:30:24,418.418 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:30:24,477.477 INFO    ] No existing commands found in stream
[2026-08-29 03:30:29,492.492 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:30:29,495.495 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-08-29 03:30:31,341.341 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:30:31,343.343 INFO    ] Checking for system updates...
[2026-08-29 03:30:31,364.364 INFO    ] 200
[2026-08-29 03:30:31,365.365 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:30:31,394.394 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:30:31,396.396 INFO    ] No update needed
[2026-08-29 03:30:31,397.397 INFO    ] Checking for camera pi updates...
[2026-08-29 03:30:31,416.416 INFO    ] 200
[2026-08-29 03:30:31,417.417 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:30:31,447.447 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:30:31,562.562 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:30:31,564.564 INFO    ] No camera update needed
[2026-08-29 03:30:31,567.567 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:30:31,569.569 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:30:31,574.574 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:30:31,579.579 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:30:33,624.624 INFO    ] ================================================
[2026-08-29 03:30:33,639.639 INFO    ] Launching Daemon at Sat Aug 29 03:30:33 IST 2026
[2026-08-29 03:30:33,650.650 INFO    ] ================================================
[2026-08-29 03:30:34,302.302 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:30:34
[2026-08-29 03:30:34,670.670 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:30:34,817.817 INFO    ] Initializing speech engine...
[2026-08-29 03:30:34,824.824 INFO    ] 2026-08-29 03:30:34
[2026-08-29 03:30:35,039.039 INFO    ] 2026-08-29 03:30:35
[2026-08-29 03:30:35,069.069 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:30:35,198.198 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:30:35,256.256 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:30:35,397.397 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:30:35,465.465 INFO    ] time= 29/08/2026 03:30:35
[2026-08-29 03:30:35,492.492 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:30:35,500.500 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:30:35,574.574 INFO    ] No existing commands found in stream
[2026-08-29 03:30:40,590.590 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:30:40,594.594 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-08-29 03:30:42,676.676 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:30:42,678.678 INFO    ] Checking for system updates...
[2026-08-29 03:30:42,698.698 INFO    ] 200
[2026-08-29 03:30:42,699.699 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:30:42,730.730 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:30:42,731.731 INFO    ] No update needed
[2026-08-29 03:30:42,732.732 INFO    ] Checking for camera pi updates...
[2026-08-29 03:30:42,751.751 INFO    ] 200
[2026-08-29 03:30:42,753.753 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:30:42,775.775 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:30:42,855.855 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:30:42,856.856 INFO    ] No camera update needed
[2026-08-29 03:30:42,857.857 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:30:42,858.858 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:30:42,861.861 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:30:42,864.864 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:30:44,903.903 INFO    ] ================================================
[2026-08-29 03:30:44,918.918 INFO    ] Launching Daemon at Sat Aug 29 03:30:44 IST 2026
[2026-08-29 03:30:44,929.929 INFO    ] ================================================
[2026-08-29 03:30:45,293.293 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:30:45
[2026-08-29 03:30:45,611.611 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:30:45,751.751 INFO    ] Initializing speech engine...
[2026-08-29 03:30:45,760.760 INFO    ] 2026-08-29 03:30:45
[2026-08-29 03:30:45,965.965 INFO    ] 2026-08-29 03:30:45
[2026-08-29 03:30:45,995.995 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:30:46,178.178 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:30:46,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:30:46,317.317 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:30:46,381.381 INFO    ] time= 29/08/2026 03:30:46
[2026-08-29 03:30:46,409.409 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:30:46,416.416 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:30:46,483.483 INFO    ] No existing commands found in stream
[2026-08-29 03:30:51,492.492 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:30:51,495.495 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-08-29 03:30:53,204.204 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:30:53,205.205 INFO    ] Checking for system updates...
[2026-08-29 03:30:53,226.226 INFO    ] 200
[2026-08-29 03:30:53,227.227 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:30:53,257.257 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:30:53,259.259 INFO    ] No update needed
[2026-08-29 03:30:53,260.260 INFO    ] Checking for camera pi updates...
[2026-08-29 03:30:53,280.280 INFO    ] 200
[2026-08-29 03:30:53,282.282 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:30:53,305.305 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:30:53,391.391 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:30:53,392.392 INFO    ] No camera update needed
[2026-08-29 03:30:53,393.393 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:30:53,395.395 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:30:53,398.398 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:30:53,400.400 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:30:55,440.440 INFO    ] ================================================
[2026-08-29 03:30:55,456.456 INFO    ] Launching Daemon at Sat Aug 29 03:30:55 IST 2026
[2026-08-29 03:30:55,466.466 INFO    ] ================================================
[2026-08-29 03:30:55,822.822 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:30:55
[2026-08-29 03:30:56,401.401 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:30:56,680.680 INFO    ] Initializing speech engine...
[2026-08-29 03:30:56,686.686 INFO    ] 2026-08-29 03:30:56
[2026-08-29 03:30:56,955.955 INFO    ] 2026-08-29 03:30:56
[2026-08-29 03:30:57,012.012 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:30:57,176.176 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:30:57,198.198 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:30:57,375.375 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:30:57,422.422 INFO    ] time= 29/08/2026 03:30:57
[2026-08-29 03:30:57,466.466 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:30:57,508.508 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:30:57,565.565 INFO    ] No existing commands found in stream
[2026-08-29 03:31:02,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:31:02,577.577 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 03:31:03,238.238 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:31:03,242.242 INFO    ] Checking for system updates...
[2026-08-29 03:31:03,283.283 INFO    ] 200
[2026-08-29 03:31:03,286.286 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:31:03,344.344 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:31:03,347.347 INFO    ] No update needed
[2026-08-29 03:31:03,349.349 INFO    ] Checking for camera pi updates...
[2026-08-29 03:31:03,382.382 INFO    ] 200
[2026-08-29 03:31:03,385.385 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:31:03,425.425 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:31:03,543.543 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:31:03,545.545 INFO    ] No camera update needed
[2026-08-29 03:31:03,547.547 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:31:03,550.550 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:31:03,555.555 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:31:03,560.560 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:31:05,602.602 INFO    ] ================================================
[2026-08-29 03:31:05,617.617 INFO    ] Launching Daemon at Sat Aug 29 03:31:05 IST 2026
[2026-08-29 03:31:05,628.628 INFO    ] ================================================
[2026-08-29 03:31:06,223.223 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:31:06
[2026-08-29 03:31:06,899.899 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:31:07,170.170 INFO    ] Initializing speech engine...
[2026-08-29 03:31:07,180.180 INFO    ] 2026-08-29 03:31:07
[2026-08-29 03:31:07,430.430 INFO    ] 2026-08-29 03:31:07
[2026-08-29 03:31:07,464.464 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:31:07,641.641 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:31:07,654.654 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:31:07,800.800 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:31:07,807.807 INFO    ] time= 29/08/2026 03:31:07
[2026-08-29 03:31:07,812.812 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:31:07,818.818 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:31:07,886.886 INFO    ] No existing commands found in stream
[2026-08-29 03:31:12,922.922 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:31:12,925.925 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-08-29 03:31:15,394.394 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:31:15,395.395 INFO    ] Checking for system updates...
[2026-08-29 03:31:15,415.415 INFO    ] 200
[2026-08-29 03:31:15,417.417 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:31:15,446.446 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:31:15,447.447 INFO    ] No update needed
[2026-08-29 03:31:15,449.449 INFO    ] Checking for camera pi updates...
[2026-08-29 03:31:15,467.467 INFO    ] 200
[2026-08-29 03:31:15,469.469 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:31:15,493.493 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:31:15,570.570 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:31:15,571.571 INFO    ] No camera update needed
[2026-08-29 03:31:15,572.572 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:31:15,574.574 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:31:15,577.577 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:31:15,579.579 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:31:17,619.619 INFO    ] ================================================
[2026-08-29 03:31:17,635.635 INFO    ] Launching Daemon at Sat Aug 29 03:31:17 IST 2026
[2026-08-29 03:31:17,646.646 INFO    ] ================================================
[2026-08-29 03:31:18,225.225 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:31:18
[2026-08-29 03:31:18,825.825 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:31:19,102.102 INFO    ] Initializing speech engine...
[2026-08-29 03:31:19,108.108 INFO    ] 2026-08-29 03:31:19
[2026-08-29 03:31:19,371.371 INFO    ] 2026-08-29 03:31:19
[2026-08-29 03:31:19,425.425 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:31:19,567.567 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:31:19,592.592 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:31:19,724.724 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:31:19,787.787 INFO    ] time= 29/08/2026 03:31:19
[2026-08-29 03:31:19,790.790 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:31:19,800.800 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:31:19,896.896 INFO    ] No existing commands found in stream
[2026-08-29 03:31:24,924.924 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:31:24,927.927 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-08-29 03:31:28,502.502 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:31:28,504.504 INFO    ] Checking for system updates...
[2026-08-29 03:31:28,543.543 INFO    ] 200
[2026-08-29 03:31:28,546.546 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:31:28,604.604 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:31:28,606.606 INFO    ] No update needed
[2026-08-29 03:31:28,609.609 INFO    ] Checking for camera pi updates...
[2026-08-29 03:31:28,642.642 INFO    ] 200
[2026-08-29 03:31:28,644.644 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:31:28,688.688 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:31:28,790.790 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:31:28,792.792 INFO    ] No camera update needed
[2026-08-29 03:31:28,795.795 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:31:28,797.797 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:31:28,802.802 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:31:28,807.807 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:31:30,850.850 INFO    ] ================================================
[2026-08-29 03:31:30,866.866 INFO    ] Launching Daemon at Sat Aug 29 03:31:30 IST 2026
[2026-08-29 03:31:30,877.877 INFO    ] ================================================
[2026-08-29 03:31:31,457.457 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:31:31
[2026-08-29 03:31:31,901.901 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:31:32,192.192 INFO    ] Initializing speech engine...
[2026-08-29 03:31:32,201.201 INFO    ] 2026-08-29 03:31:32
[2026-08-29 03:31:32,473.473 INFO    ] 2026-08-29 03:31:32
[2026-08-29 03:31:32,508.508 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:31:32,680.680 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:31:32,693.693 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:31:32,843.843 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:31:32,850.850 INFO    ] time= 29/08/2026 03:31:32
[2026-08-29 03:31:32,892.892 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:31:32,922.922 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:31:33,050.050 INFO    ] No existing commands found in stream
[2026-08-29 03:31:38,080.080 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:31:38,083.083 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-08-29 03:31:38,853.853 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:31:38,854.854 INFO    ] Checking for system updates...
[2026-08-29 03:31:38,874.874 INFO    ] 200
[2026-08-29 03:31:38,876.876 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:31:38,905.905 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:31:38,906.906 INFO    ] No update needed
[2026-08-29 03:31:38,908.908 INFO    ] Checking for camera pi updates...
[2026-08-29 03:31:38,927.927 INFO    ] 200
[2026-08-29 03:31:38,928.928 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:31:38,951.951 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:31:39,057.057 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:31:39,059.059 INFO    ] No camera update needed
[2026-08-29 03:31:39,060.060 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:31:39,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:31:39,064.064 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:31:39,067.067 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:31:41,106.106 INFO    ] ================================================
[2026-08-29 03:31:41,121.121 INFO    ] Launching Daemon at Sat Aug 29 03:31:41 IST 2026
[2026-08-29 03:31:41,132.132 INFO    ] ================================================
[2026-08-29 03:31:41,496.496 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:31:41
[2026-08-29 03:31:41,830.830 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:31:41,981.981 INFO    ] Initializing speech engine...
[2026-08-29 03:31:41,987.987 INFO    ] 2026-08-29 03:31:41
[2026-08-29 03:31:42,210.210 INFO    ] 2026-08-29 03:31:42
[2026-08-29 03:31:42,264.264 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:31:42,429.429 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:31:42,452.452 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:31:42,617.617 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:31:42,638.638 INFO    ] time= 29/08/2026 03:31:42
[2026-08-29 03:31:42,687.687 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:31:42,741.741 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:31:42,819.819 INFO    ] No existing commands found in stream
[2026-08-29 03:31:47,831.831 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:31:47,834.834 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-08-29 03:31:51,544.544 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:31:51,545.545 INFO    ] Checking for system updates...
[2026-08-29 03:31:51,567.567 INFO    ] 200
[2026-08-29 03:31:51,568.568 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:31:51,601.601 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:31:51,602.602 INFO    ] No update needed
[2026-08-29 03:31:51,604.604 INFO    ] Checking for camera pi updates...
[2026-08-29 03:31:51,623.623 INFO    ] 200
[2026-08-29 03:31:51,625.625 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:31:51,649.649 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:31:51,741.741 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:31:51,742.742 INFO    ] No camera update needed
[2026-08-29 03:31:51,744.744 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:31:51,745.745 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:31:51,748.748 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:31:51,751.751 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:31:53,782.782 INFO    ] ================================================
[2026-08-29 03:31:53,798.798 INFO    ] Launching Daemon at Sat Aug 29 03:31:53 IST 2026
[2026-08-29 03:31:53,810.810 INFO    ] ================================================
[2026-08-29 03:31:54,384.384 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:31:54
[2026-08-29 03:31:54,980.980 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:31:55,254.254 INFO    ] Initializing speech engine...
[2026-08-29 03:31:55,263.263 INFO    ] 2026-08-29 03:31:55
[2026-08-29 03:31:55,512.512 INFO    ] 2026-08-29 03:31:55
[2026-08-29 03:31:55,548.548 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:31:55,723.723 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:31:55,745.745 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:31:55,876.876 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:31:55,883.883 INFO    ] time= 29/08/2026 03:31:55
[2026-08-29 03:31:55,892.892 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:31:55,933.933 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:31:56,054.054 INFO    ] No existing commands found in stream
[2026-08-29 03:32:01,066.066 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:32:01,069.069 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-08-29 03:32:04,768.768 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:32:04,771.771 INFO    ] Checking for system updates...
[2026-08-29 03:32:04,811.811 INFO    ] 200
[2026-08-29 03:32:04,814.814 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:32:04,867.867 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:32:04,869.869 INFO    ] No update needed
[2026-08-29 03:32:04,871.871 INFO    ] Checking for camera pi updates...
[2026-08-29 03:32:04,905.905 INFO    ] 200
[2026-08-29 03:32:04,907.907 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:32:04,947.947 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:32:05,046.046 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:32:05,049.049 INFO    ] No camera update needed
[2026-08-29 03:32:05,051.051 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:32:05,054.054 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:32:05,059.059 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:32:05,064.064 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:32:07,104.104 INFO    ] ================================================
[2026-08-29 03:32:07,121.121 INFO    ] Launching Daemon at Sat Aug 29 03:32:07 IST 2026
[2026-08-29 03:32:07,133.133 INFO    ] ================================================
[2026-08-29 03:32:07,703.703 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:32:07
[2026-08-29 03:32:08,042.042 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:32:08,174.174 INFO    ] Initializing speech engine...
[2026-08-29 03:32:08,177.177 INFO    ] 2026-08-29 03:32:08
[2026-08-29 03:32:08,396.396 INFO    ] 2026-08-29 03:32:08
[2026-08-29 03:32:08,425.425 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:32:08,549.549 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:32:08,592.592 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:32:08,751.751 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:32:08,813.813 INFO    ] time= 29/08/2026 03:32:08
[2026-08-29 03:32:08,843.843 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:32:08,848.848 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:32:08,921.921 INFO    ] No existing commands found in stream
[2026-08-29 03:32:13,930.930 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:32:13,933.933 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-08-29 03:32:16,322.322 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:32:16,324.324 INFO    ] Checking for system updates...
[2026-08-29 03:32:16,344.344 INFO    ] 200
[2026-08-29 03:32:16,346.346 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:32:16,380.380 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:32:16,381.381 INFO    ] No update needed
[2026-08-29 03:32:16,383.383 INFO    ] Checking for camera pi updates...
[2026-08-29 03:32:16,403.403 INFO    ] 200
[2026-08-29 03:32:16,404.404 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:32:16,427.427 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:32:16,502.502 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:32:16,503.503 INFO    ] No camera update needed
[2026-08-29 03:32:16,505.505 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:32:16,506.506 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:32:16,509.509 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:32:16,511.511 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:32:18,551.551 INFO    ] ================================================
[2026-08-29 03:32:18,566.566 INFO    ] Launching Daemon at Sat Aug 29 03:32:18 IST 2026
[2026-08-29 03:32:18,578.578 INFO    ] ================================================
[2026-08-29 03:32:18,932.932 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:32:18
[2026-08-29 03:32:19,244.244 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:32:19,376.376 INFO    ] Initializing speech engine...
[2026-08-29 03:32:19,390.390 INFO    ] 2026-08-29 03:32:19
[2026-08-29 03:32:19,630.630 INFO    ] 2026-08-29 03:32:19
[2026-08-29 03:32:19,684.684 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:32:19,846.846 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:32:19,854.854 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:32:20,022.022 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:32:20,054.054 INFO    ] time= 29/08/2026 03:32:20
[2026-08-29 03:32:20,060.060 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:32:20,080.080 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:32:20,189.189 INFO    ] No existing commands found in stream
[2026-08-29 03:32:25,215.215 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:32:25,216.216 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-08-29 03:32:26,941.941 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:32:26,943.943 INFO    ] Checking for system updates...
[2026-08-29 03:32:26,964.964 INFO    ] 200
[2026-08-29 03:32:26,965.965 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:32:26,997.997 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:32:26,998.998 INFO    ] No update needed
[2026-08-29 03:32:27,000.000 INFO    ] Checking for camera pi updates...
[2026-08-29 03:32:27,020.020 INFO    ] 200
[2026-08-29 03:32:27,021.021 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:32:27,044.044 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:32:27,128.128 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:32:27,130.130 INFO    ] No camera update needed
[2026-08-29 03:32:27,133.133 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:32:27,135.135 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:32:27,140.140 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:32:27,146.146 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:32:29,186.186 INFO    ] ================================================
[2026-08-29 03:32:29,202.202 INFO    ] Launching Daemon at Sat Aug 29 03:32:29 IST 2026
[2026-08-29 03:32:29,213.213 INFO    ] ================================================
[2026-08-29 03:32:29,864.864 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:32:29
[2026-08-29 03:32:30,342.342 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:32:30,496.496 INFO    ] Initializing speech engine...
[2026-08-29 03:32:30,501.501 INFO    ] 2026-08-29 03:32:30
[2026-08-29 03:32:30,710.710 INFO    ] 2026-08-29 03:32:30
[2026-08-29 03:32:30,738.738 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:32:30,900.900 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:32:30,907.907 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:32:31,089.089 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:32:31,107.107 INFO    ] time= 29/08/2026 03:32:31
[2026-08-29 03:32:31,128.128 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:32:31,154.154 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:32:31,263.263 INFO    ] No existing commands found in stream
[2026-08-29 03:32:36,288.288 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:32:36,291.291 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-08-29 03:32:36,760.760 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:32:36,763.763 INFO    ] Checking for system updates...
[2026-08-29 03:32:36,800.800 INFO    ] 200
[2026-08-29 03:32:36,803.803 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:32:36,857.857 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:32:36,860.860 INFO    ] No update needed
[2026-08-29 03:32:36,862.862 INFO    ] Checking for camera pi updates...
[2026-08-29 03:32:36,897.897 INFO    ] 200
[2026-08-29 03:32:36,899.899 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:32:36,941.941 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:32:37,064.064 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:32:37,067.067 INFO    ] No camera update needed
[2026-08-29 03:32:37,070.070 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:32:37,073.073 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:32:37,079.079 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:32:37,085.085 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:32:39,125.125 INFO    ] ================================================
[2026-08-29 03:32:39,140.140 INFO    ] Launching Daemon at Sat Aug 29 03:32:39 IST 2026
[2026-08-29 03:32:39,151.151 INFO    ] ================================================
[2026-08-29 03:32:39,532.532 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:32:39
[2026-08-29 03:32:39,869.869 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:32:40,020.020 INFO    ] Initializing speech engine...
[2026-08-29 03:32:40,027.027 INFO    ] 2026-08-29 03:32:40
[2026-08-29 03:32:40,300.300 INFO    ] 2026-08-29 03:32:40
[2026-08-29 03:32:40,355.355 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:32:40,580.580 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:32:40,587.587 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:32:40,721.721 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:32:40,772.772 INFO    ] time= 29/08/2026 03:32:40
[2026-08-29 03:32:40,836.836 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:32:40,854.854 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:32:40,929.929 INFO    ] No existing commands found in stream
[2026-08-29 03:32:45,967.967 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:32:45,970.970 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-08-29 03:32:49,710.710 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:32:49,713.713 INFO    ] Checking for system updates...
[2026-08-29 03:32:49,751.751 INFO    ] 200
[2026-08-29 03:32:49,754.754 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:32:49,813.813 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:32:49,816.816 INFO    ] No update needed
[2026-08-29 03:32:49,818.818 INFO    ] Checking for camera pi updates...
[2026-08-29 03:32:49,852.852 INFO    ] 200
[2026-08-29 03:32:49,855.855 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:32:49,895.895 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:32:49,995.995 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:32:49,997.997 INFO    ] No camera update needed
[2026-08-29 03:32:49,999.999 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:32:50,002.002 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:32:50,007.007 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:32:50,012.012 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:32:52,056.056 INFO    ] ================================================
[2026-08-29 03:32:52,072.072 INFO    ] Launching Daemon at Sat Aug 29 03:32:52 IST 2026
[2026-08-29 03:32:52,083.083 INFO    ] ================================================
[2026-08-29 03:32:52,448.448 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:32:52
[2026-08-29 03:32:52,766.766 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:32:52,911.911 INFO    ] Initializing speech engine...
[2026-08-29 03:32:52,916.916 INFO    ] 2026-08-29 03:32:52
[2026-08-29 03:32:53,113.113 INFO    ] 2026-08-29 03:32:53
[2026-08-29 03:32:53,193.193 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:32:53,344.344 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:32:53,354.354 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:32:53,486.486 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:32:53,513.513 INFO    ] time= 29/08/2026 03:32:53
[2026-08-29 03:32:53,572.572 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:32:53,620.620 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:32:53,677.677 INFO    ] No existing commands found in stream
[2026-08-29 03:32:58,689.689 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:32:58,692.692 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-08-29 03:33:00,518.518 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:33:00,519.519 INFO    ] Checking for system updates...
[2026-08-29 03:33:00,540.540 INFO    ] 200
[2026-08-29 03:33:00,541.541 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:33:00,573.573 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:33:00,574.574 INFO    ] No update needed
[2026-08-29 03:33:00,575.575 INFO    ] Checking for camera pi updates...
[2026-08-29 03:33:00,596.596 INFO    ] 200
[2026-08-29 03:33:00,597.597 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:33:00,625.625 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:33:00,726.726 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:33:00,727.727 INFO    ] No camera update needed
[2026-08-29 03:33:00,729.729 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:33:00,730.730 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:33:00,733.733 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:33:00,736.736 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:33:02,780.780 INFO    ] ================================================
[2026-08-29 03:33:02,796.796 INFO    ] Launching Daemon at Sat Aug 29 03:33:02 IST 2026
[2026-08-29 03:33:02,807.807 INFO    ] ================================================
[2026-08-29 03:33:03,407.407 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:33:03
[2026-08-29 03:33:04,005.005 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:33:04,268.268 INFO    ] Initializing speech engine...
[2026-08-29 03:33:04,284.284 INFO    ] 2026-08-29 03:33:04
[2026-08-29 03:33:04,569.569 INFO    ] 2026-08-29 03:33:04
[2026-08-29 03:33:04,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:33:04,767.767 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:33:04,773.773 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:33:04,914.914 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:33:04,924.924 INFO    ] time= 29/08/2026 03:33:04
[2026-08-29 03:33:04,930.930 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:33:04,946.946 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:33:05,026.026 INFO    ] No existing commands found in stream
[2026-08-29 03:33:10,054.054 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:33:10,063.063 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-08-29 03:33:13,898.898 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:33:13,900.900 INFO    ] Checking for system updates...
[2026-08-29 03:33:13,920.920 INFO    ] 200
[2026-08-29 03:33:13,921.921 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:33:13,951.951 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:33:13,952.952 INFO    ] No update needed
[2026-08-29 03:33:13,953.953 INFO    ] Checking for camera pi updates...
[2026-08-29 03:33:13,973.973 INFO    ] 200
[2026-08-29 03:33:13,974.974 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:33:13,997.997 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:33:14,083.083 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:33:14,084.084 INFO    ] No camera update needed
[2026-08-29 03:33:14,085.085 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:33:14,087.087 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:33:14,089.089 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:33:14,092.092 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:33:16,132.132 INFO    ] ================================================
[2026-08-29 03:33:16,148.148 INFO    ] Launching Daemon at Sat Aug 29 03:33:16 IST 2026
[2026-08-29 03:33:16,158.158 INFO    ] ================================================
[2026-08-29 03:33:16,489.489 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:33:16
[2026-08-29 03:33:16,808.808 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:33:16,949.949 INFO    ] Initializing speech engine...
[2026-08-29 03:33:16,959.959 INFO    ] 2026-08-29 03:33:16
[2026-08-29 03:33:17,175.175 INFO    ] 2026-08-29 03:33:17
[2026-08-29 03:33:17,205.205 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:33:17,337.337 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:33:17,380.380 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:33:17,519.519 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:33:17,553.553 INFO    ] time= 29/08/2026 03:33:17
[2026-08-29 03:33:17,618.618 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:33:17,649.649 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:33:17,725.725 INFO    ] No existing commands found in stream
[2026-08-29 03:33:22,735.735 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:33:22,738.738 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-08-29 03:33:23,667.667 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:33:23,669.669 INFO    ] Checking for system updates...
[2026-08-29 03:33:23,690.690 INFO    ] 200
[2026-08-29 03:33:23,691.691 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:33:23,722.722 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:33:23,724.724 INFO    ] No update needed
[2026-08-29 03:33:23,725.725 INFO    ] Checking for camera pi updates...
[2026-08-29 03:33:23,745.745 INFO    ] 200
[2026-08-29 03:33:23,746.746 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:33:23,770.770 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:33:23,864.864 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:33:23,866.866 INFO    ] No camera update needed
[2026-08-29 03:33:23,868.868 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:33:23,871.871 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:33:23,876.876 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:33:23,881.881 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:33:25,922.922 INFO    ] ================================================
[2026-08-29 03:33:25,937.937 INFO    ] Launching Daemon at Sat Aug 29 03:33:25 IST 2026
[2026-08-29 03:33:25,948.948 INFO    ] ================================================
[2026-08-29 03:33:26,528.528 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:33:26
[2026-08-29 03:33:26,990.990 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:33:27,129.129 INFO    ] Initializing speech engine...
[2026-08-29 03:33:27,140.140 INFO    ] 2026-08-29 03:33:27
[2026-08-29 03:33:27,361.361 INFO    ] 2026-08-29 03:33:27
[2026-08-29 03:33:27,444.444 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:33:27,596.596 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:33:27,601.601 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:33:27,736.736 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:33:27,801.801 INFO    ] time= 29/08/2026 03:33:27
[2026-08-29 03:33:27,850.850 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:33:27,867.867 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:33:27,983.983 INFO    ] No existing commands found in stream
[2026-08-29 03:33:33,006.006 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:33:33,008.008 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 03:33:34,595.595 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:33:34,597.597 INFO    ] Checking for system updates...
[2026-08-29 03:33:34,620.620 INFO    ] 200
[2026-08-29 03:33:34,621.621 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:33:34,654.654 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:33:34,655.655 INFO    ] No update needed
[2026-08-29 03:33:34,656.656 INFO    ] Checking for camera pi updates...
[2026-08-29 03:33:34,676.676 INFO    ] 200
[2026-08-29 03:33:34,677.677 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:33:34,699.699 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:33:34,792.792 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:33:34,793.793 INFO    ] No camera update needed
[2026-08-29 03:33:34,794.794 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:33:34,796.796 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:33:34,798.798 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:33:34,801.801 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:33:36,840.840 INFO    ] ================================================
[2026-08-29 03:33:36,856.856 INFO    ] Launching Daemon at Sat Aug 29 03:33:36 IST 2026
[2026-08-29 03:33:36,867.867 INFO    ] ================================================
[2026-08-29 03:33:37,212.212 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:33:37
[2026-08-29 03:33:37,529.529 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:33:37,727.727 INFO    ] Initializing speech engine...
[2026-08-29 03:33:37,738.738 INFO    ] 2026-08-29 03:33:37
[2026-08-29 03:33:38,001.001 INFO    ] 2026-08-29 03:33:37
[2026-08-29 03:33:38,045.045 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:33:38,270.270 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:33:38,279.279 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:33:38,410.410 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:33:38,448.448 INFO    ] time= 29/08/2026 03:33:38
[2026-08-29 03:33:38,503.503 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:33:38,544.544 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:33:38,604.604 INFO    ] No existing commands found in stream
[2026-08-29 03:33:43,624.624 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:33:43,627.627 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-08-29 03:33:44,620.620 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:33:44,622.622 INFO    ] Checking for system updates...
[2026-08-29 03:33:44,642.642 INFO    ] 200
[2026-08-29 03:33:44,644.644 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:33:44,674.674 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:33:44,675.675 INFO    ] No update needed
[2026-08-29 03:33:44,676.676 INFO    ] Checking for camera pi updates...
[2026-08-29 03:33:44,695.695 INFO    ] 200
[2026-08-29 03:33:44,696.696 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:33:44,719.719 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:33:44,915.915 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:33:44,916.916 INFO    ] No camera update needed
[2026-08-29 03:33:44,917.917 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:33:44,918.918 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:33:44,921.921 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:33:44,924.924 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:33:46,964.964 INFO    ] ================================================
[2026-08-29 03:33:46,979.979 INFO    ] Launching Daemon at Sat Aug 29 03:33:46 IST 2026
[2026-08-29 03:33:46,991.991 INFO    ] ================================================
[2026-08-29 03:33:47,323.323 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:33:47
[2026-08-29 03:33:47,663.663 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:33:47,927.927 INFO    ] Initializing speech engine...
[2026-08-29 03:33:47,945.945 INFO    ] 2026-08-29 03:33:47
[2026-08-29 03:33:48,198.198 INFO    ] 2026-08-29 03:33:48
[2026-08-29 03:33:48,231.231 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:33:48,374.374 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:33:48,410.410 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:33:48,536.536 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:33:48,554.554 INFO    ] time= 29/08/2026 03:33:48
[2026-08-29 03:33:48,574.574 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:33:48,583.583 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:33:48,655.655 INFO    ] No existing commands found in stream
[2026-08-29 03:33:53,670.670 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:33:53,673.673 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-08-29 03:33:56,307.307 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:33:56,310.310 INFO    ] Checking for system updates...
[2026-08-29 03:33:56,346.346 INFO    ] 200
[2026-08-29 03:33:56,349.349 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:33:56,410.410 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:33:56,413.413 INFO    ] No update needed
[2026-08-29 03:33:56,415.415 INFO    ] Checking for camera pi updates...
[2026-08-29 03:33:56,452.452 INFO    ] 200
[2026-08-29 03:33:56,454.454 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:33:56,486.486 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:33:56,569.569 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:33:56,571.571 INFO    ] No camera update needed
[2026-08-29 03:33:56,574.574 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:33:56,576.576 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:33:56,581.581 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:33:56,586.586 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:33:58,628.628 INFO    ] ================================================
[2026-08-29 03:33:58,643.643 INFO    ] Launching Daemon at Sat Aug 29 03:33:58 IST 2026
[2026-08-29 03:33:58,654.654 INFO    ] ================================================
[2026-08-29 03:33:59,300.300 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:33:59
[2026-08-29 03:33:59,688.688 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:33:59,840.840 INFO    ] Initializing speech engine...
[2026-08-29 03:33:59,845.845 INFO    ] 2026-08-29 03:33:59
[2026-08-29 03:34:00,054.054 INFO    ] 2026-08-29 03:34:00
[2026-08-29 03:34:00,084.084 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:34:00,214.214 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:34:00,272.272 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:34:00,405.405 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:34:00,467.467 INFO    ] time= 29/08/2026 03:34:00
[2026-08-29 03:34:00,502.502 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:34:00,507.507 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:34:00,579.579 INFO    ] No existing commands found in stream
[2026-08-29 03:34:05,590.590 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:34:05,593.593 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-08-29 03:34:06,200.200 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:34:06,203.203 INFO    ] Checking for system updates...
[2026-08-29 03:34:06,238.238 INFO    ] 200
[2026-08-29 03:34:06,241.241 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:34:06,296.296 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:34:06,298.298 INFO    ] No update needed
[2026-08-29 03:34:06,300.300 INFO    ] Checking for camera pi updates...
[2026-08-29 03:34:06,333.333 INFO    ] 200
[2026-08-29 03:34:06,336.336 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:34:06,376.376 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:34:06,483.483 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:34:06,485.485 INFO    ] No camera update needed
[2026-08-29 03:34:06,487.487 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:34:06,490.490 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:34:06,495.495 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:34:06,500.500 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:34:08,540.540 INFO    ] ================================================
[2026-08-29 03:34:08,555.555 INFO    ] Launching Daemon at Sat Aug 29 03:34:08 IST 2026
[2026-08-29 03:34:08,567.567 INFO    ] ================================================
[2026-08-29 03:34:09,139.139 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:34:09
[2026-08-29 03:34:09,477.477 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:34:09,631.631 INFO    ] Initializing speech engine...
[2026-08-29 03:34:09,645.645 INFO    ] 2026-08-29 03:34:09
[2026-08-29 03:34:09,901.901 INFO    ] 2026-08-29 03:34:09
[2026-08-29 03:34:09,935.935 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:34:10,114.114 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:34:10,127.127 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:34:10,272.272 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:34:10,281.281 INFO    ] time= 29/08/2026 03:34:10
[2026-08-29 03:34:10,287.287 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:34:10,308.308 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:34:10,436.436 INFO    ] No existing commands found in stream
[2026-08-29 03:34:15,462.462 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:34:15,464.464 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-08-29 03:34:17,619.619 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:34:17,620.620 INFO    ] Checking for system updates...
[2026-08-29 03:34:17,641.641 INFO    ] 200
[2026-08-29 03:34:17,643.643 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:34:17,675.675 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:34:17,676.676 INFO    ] No update needed
[2026-08-29 03:34:17,678.678 INFO    ] Checking for camera pi updates...
[2026-08-29 03:34:17,705.705 INFO    ] 200
[2026-08-29 03:34:17,706.706 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:34:17,730.730 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:34:17,827.827 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:34:17,828.828 INFO    ] No camera update needed
[2026-08-29 03:34:17,829.829 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:34:17,830.830 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:34:17,833.833 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:34:17,836.836 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:34:19,875.875 INFO    ] ================================================
[2026-08-29 03:34:19,891.891 INFO    ] Launching Daemon at Sat Aug 29 03:34:19 IST 2026
[2026-08-29 03:34:19,901.901 INFO    ] ================================================
[2026-08-29 03:34:20,245.245 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:34:20
[2026-08-29 03:34:20,581.581 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:34:20,732.732 INFO    ] Initializing speech engine...
[2026-08-29 03:34:20,738.738 INFO    ] 2026-08-29 03:34:20
[2026-08-29 03:34:20,945.945 INFO    ] 2026-08-29 03:34:20
[2026-08-29 03:34:20,974.974 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:34:21,115.115 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:34:21,118.118 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:34:21,310.310 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:34:21,344.344 INFO    ] time= 29/08/2026 03:34:21
[2026-08-29 03:34:21,359.359 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:34:21,369.369 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:34:21,483.483 INFO    ] No existing commands found in stream
[2026-08-29 03:34:26,510.510 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:34:26,513.513 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-08-29 03:34:28,608.608 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:34:28,609.609 INFO    ] Checking for system updates...
[2026-08-29 03:34:28,630.630 INFO    ] 200
[2026-08-29 03:34:28,632.632 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:34:28,661.661 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:34:28,663.663 INFO    ] No update needed
[2026-08-29 03:34:28,664.664 INFO    ] Checking for camera pi updates...
[2026-08-29 03:34:28,684.684 INFO    ] 200
[2026-08-29 03:34:28,686.686 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:34:28,710.710 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:34:28,803.803 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:34:28,804.804 INFO    ] No camera update needed
[2026-08-29 03:34:28,805.805 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:34:28,806.806 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:34:28,809.809 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:34:28,812.812 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:34:30,850.850 INFO    ] ================================================
[2026-08-29 03:34:30,865.865 INFO    ] Launching Daemon at Sat Aug 29 03:34:30 IST 2026
[2026-08-29 03:34:30,876.876 INFO    ] ================================================
[2026-08-29 03:34:31,287.287 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:34:31
[2026-08-29 03:34:31,910.910 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:34:32,182.182 INFO    ] Initializing speech engine...
[2026-08-29 03:34:32,189.189 INFO    ] 2026-08-29 03:34:32
[2026-08-29 03:34:32,507.507 INFO    ] 2026-08-29 03:34:32
[2026-08-29 03:34:32,536.536 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:34:32,698.698 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:34:32,703.703 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:34:32,857.857 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:34:32,867.867 INFO    ] time= 29/08/2026 03:34:32
[2026-08-29 03:34:32,872.872 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:34:32,895.895 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:34:32,948.948 INFO    ] No existing commands found in stream
[2026-08-29 03:34:37,960.960 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:34:37,963.963 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-08-29 03:34:41,318.318 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:34:41,320.320 INFO    ] Checking for system updates...
[2026-08-29 03:34:41,341.341 INFO    ] 200
[2026-08-29 03:34:41,342.342 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:34:41,374.374 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:34:41,376.376 INFO    ] No update needed
[2026-08-29 03:34:41,377.377 INFO    ] Checking for camera pi updates...
[2026-08-29 03:34:41,396.396 INFO    ] 200
[2026-08-29 03:34:41,397.397 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:34:41,420.420 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:34:41,496.496 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:34:41,497.497 INFO    ] No camera update needed
[2026-08-29 03:34:41,498.498 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:34:41,499.499 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:34:41,503.503 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:34:41,506.506 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:34:43,544.544 INFO    ] ================================================
[2026-08-29 03:34:43,559.559 INFO    ] Launching Daemon at Sat Aug 29 03:34:43 IST 2026
[2026-08-29 03:34:43,570.570 INFO    ] ================================================
[2026-08-29 03:34:43,913.913 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:34:43
[2026-08-29 03:34:44,449.449 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:34:44,710.710 INFO    ] Initializing speech engine...
[2026-08-29 03:34:44,716.716 INFO    ] 2026-08-29 03:34:44
[2026-08-29 03:34:45,015.015 INFO    ] 2026-08-29 03:34:44
[2026-08-29 03:34:45,053.053 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:34:45,248.248 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:34:45,264.264 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:34:45,390.390 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:34:45,425.425 INFO    ] time= 29/08/2026 03:34:45
[2026-08-29 03:34:45,436.436 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:34:45,440.440 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:34:45,517.517 INFO    ] No existing commands found in stream
[2026-08-29 03:34:50,530.530 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:34:50,533.533 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-08-29 03:34:53,528.528 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:34:53,529.529 INFO    ] Checking for system updates...
[2026-08-29 03:34:53,550.550 INFO    ] 200
[2026-08-29 03:34:53,551.551 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:34:53,592.592 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:34:53,594.594 INFO    ] No update needed
[2026-08-29 03:34:53,597.597 INFO    ] Checking for camera pi updates...
[2026-08-29 03:34:53,631.631 INFO    ] 200
[2026-08-29 03:34:53,633.633 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:34:53,678.678 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:34:53,760.760 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:34:53,762.762 INFO    ] No camera update needed
[2026-08-29 03:34:53,765.765 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:34:53,767.767 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:34:53,773.773 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:34:53,778.778 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:34:55,818.818 INFO    ] ================================================
[2026-08-29 03:34:55,833.833 INFO    ] Launching Daemon at Sat Aug 29 03:34:55 IST 2026
[2026-08-29 03:34:55,844.844 INFO    ] ================================================
[2026-08-29 03:34:56,434.434 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:34:56
[2026-08-29 03:34:56,900.900 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:34:57,052.052 INFO    ] Initializing speech engine...
[2026-08-29 03:34:57,057.057 INFO    ] 2026-08-29 03:34:57
[2026-08-29 03:34:57,268.268 INFO    ] 2026-08-29 03:34:57
[2026-08-29 03:34:57,297.297 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:34:57,432.432 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:34:57,486.486 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:34:57,619.619 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:34:57,680.680 INFO    ] time= 29/08/2026 03:34:57
[2026-08-29 03:34:57,711.711 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:34:57,722.722 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:34:57,794.794 INFO    ] No existing commands found in stream
[2026-08-29 03:35:02,805.805 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:35:02,808.808 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-08-29 03:35:04,363.363 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:35:04,364.364 INFO    ] Checking for system updates...
[2026-08-29 03:35:04,386.386 INFO    ] 200
[2026-08-29 03:35:04,388.388 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:35:04,423.423 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:35:04,424.424 INFO    ] No update needed
[2026-08-29 03:35:04,426.426 INFO    ] Checking for camera pi updates...
[2026-08-29 03:35:04,445.445 INFO    ] 200
[2026-08-29 03:35:04,446.446 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:35:04,471.471 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:35:04,545.545 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:35:04,547.547 INFO    ] No camera update needed
[2026-08-29 03:35:04,548.548 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:35:04,550.550 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:35:04,553.553 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:35:04,556.556 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:35:06,595.595 INFO    ] ================================================
[2026-08-29 03:35:06,610.610 INFO    ] Launching Daemon at Sat Aug 29 03:35:06 IST 2026
[2026-08-29 03:35:06,621.621 INFO    ] ================================================
[2026-08-29 03:35:06,983.983 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:35:06
[2026-08-29 03:35:07,300.300 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:35:07,445.445 INFO    ] Initializing speech engine...
[2026-08-29 03:35:07,450.450 INFO    ] 2026-08-29 03:35:07
[2026-08-29 03:35:07,653.653 INFO    ] 2026-08-29 03:35:07
[2026-08-29 03:35:07,681.681 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:35:07,804.804 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:35:07,866.866 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:35:07,997.997 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:35:08,055.055 INFO    ] time= 29/08/2026 03:35:08
[2026-08-29 03:35:08,098.098 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:35:08,100.100 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:35:08,173.173 INFO    ] No existing commands found in stream
[2026-08-29 03:35:13,178.178 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:35:13,181.181 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-08-29 03:35:16,566.566 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:35:16,567.567 INFO    ] Checking for system updates...
[2026-08-29 03:35:16,587.587 INFO    ] 200
[2026-08-29 03:35:16,589.589 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:35:16,621.621 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:35:16,622.622 INFO    ] No update needed
[2026-08-29 03:35:16,624.624 INFO    ] Checking for camera pi updates...
[2026-08-29 03:35:16,643.643 INFO    ] 200
[2026-08-29 03:35:16,644.644 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:35:16,674.674 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:35:16,755.755 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:35:16,758.758 INFO    ] No camera update needed
[2026-08-29 03:35:16,760.760 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:35:16,762.762 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:35:16,768.768 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:35:16,773.773 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:35:18,815.815 INFO    ] ================================================
[2026-08-29 03:35:18,830.830 INFO    ] Launching Daemon at Sat Aug 29 03:35:18 IST 2026
[2026-08-29 03:35:18,841.841 INFO    ] ================================================
[2026-08-29 03:35:19,420.420 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:35:19
[2026-08-29 03:35:20,019.019 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:35:20,309.309 INFO    ] Initializing speech engine...
[2026-08-29 03:35:20,319.319 INFO    ] 2026-08-29 03:35:20
[2026-08-29 03:35:20,590.590 INFO    ] 2026-08-29 03:35:20
[2026-08-29 03:35:20,627.627 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:35:20,824.824 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:35:20,828.828 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:35:20,964.964 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:35:20,969.969 INFO    ] time= 29/08/2026 03:35:20
[2026-08-29 03:35:20,990.990 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:35:21,012.012 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:35:21,094.094 INFO    ] No existing commands found in stream
[2026-08-29 03:35:26,107.107 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:35:26,110.110 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-08-29 03:35:29,978.978 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:35:29,979.979 INFO    ] Checking for system updates...
[2026-08-29 03:35:30,000.000 INFO    ] 200
[2026-08-29 03:35:30,002.002 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:35:30,034.034 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:35:30,036.036 INFO    ] No update needed
[2026-08-29 03:35:30,037.037 INFO    ] Checking for camera pi updates...
[2026-08-29 03:35:30,056.056 INFO    ] 200
[2026-08-29 03:35:30,057.057 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:35:30,082.082 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:35:30,172.172 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:35:30,173.173 INFO    ] No camera update needed
[2026-08-29 03:35:30,175.175 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:35:30,176.176 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:35:30,179.179 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:35:30,181.181 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:35:32,224.224 INFO    ] ================================================
[2026-08-29 03:35:32,239.239 INFO    ] Launching Daemon at Sat Aug 29 03:35:32 IST 2026
[2026-08-29 03:35:32,249.249 INFO    ] ================================================
[2026-08-29 03:35:32,830.830 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:35:32
[2026-08-29 03:35:33,432.432 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:35:33,712.712 INFO    ] Initializing speech engine...
[2026-08-29 03:35:33,719.719 INFO    ] 2026-08-29 03:35:33
[2026-08-29 03:35:33,980.980 INFO    ] 2026-08-29 03:35:33
[2026-08-29 03:35:34,035.035 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:35:34,199.199 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:35:34,222.222 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:35:34,388.388 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:35:34,405.405 INFO    ] time= 29/08/2026 03:35:34
[2026-08-29 03:35:34,457.457 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:35:34,522.522 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:35:34,589.589 INFO    ] No existing commands found in stream
[2026-08-29 03:35:39,601.601 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:35:39,604.604 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-08-29 03:35:41,261.261 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:35:41,262.262 INFO    ] Checking for system updates...
[2026-08-29 03:35:41,284.284 INFO    ] 200
[2026-08-29 03:35:41,285.285 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:35:41,318.318 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:35:41,319.319 INFO    ] No update needed
[2026-08-29 03:35:41,320.320 INFO    ] Checking for camera pi updates...
[2026-08-29 03:35:41,340.340 INFO    ] 200
[2026-08-29 03:35:41,341.341 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:35:41,364.364 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:35:41,411.411 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:35:41,413.413 INFO    ] No camera update needed
[2026-08-29 03:35:41,414.414 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:35:41,415.415 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:35:41,418.418 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:35:41,421.421 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:35:43,461.461 INFO    ] ================================================
[2026-08-29 03:35:43,477.477 INFO    ] Launching Daemon at Sat Aug 29 03:35:43 IST 2026
[2026-08-29 03:35:43,487.487 INFO    ] ================================================
[2026-08-29 03:35:43,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:35:43
[2026-08-29 03:35:44,158.158 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:35:44,302.302 INFO    ] Initializing speech engine...
[2026-08-29 03:35:44,313.313 INFO    ] 2026-08-29 03:35:44
[2026-08-29 03:35:44,530.530 INFO    ] 2026-08-29 03:35:44
[2026-08-29 03:35:44,562.562 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:35:44,705.705 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:35:44,715.715 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:35:44,874.874 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:35:44,935.935 INFO    ] time= 29/08/2026 03:35:44
[2026-08-29 03:35:44,948.948 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:35:44,965.965 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:35:45,074.074 INFO    ] No existing commands found in stream
[2026-08-29 03:35:50,094.094 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:35:50,097.097 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-08-29 03:35:51,183.183 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:35:51,184.184 INFO    ] Checking for system updates...
[2026-08-29 03:35:51,204.204 INFO    ] 200
[2026-08-29 03:35:51,206.206 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:35:51,235.235 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:35:51,236.236 INFO    ] No update needed
[2026-08-29 03:35:51,238.238 INFO    ] Checking for camera pi updates...
[2026-08-29 03:35:51,258.258 INFO    ] 200
[2026-08-29 03:35:51,259.259 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:35:51,306.306 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:35:51,508.508 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:35:51,510.510 INFO    ] No camera update needed
[2026-08-29 03:35:51,513.513 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:35:51,515.515 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:35:51,520.520 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:35:51,526.526 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:35:53,566.566 INFO    ] ================================================
[2026-08-29 03:35:53,582.582 INFO    ] Launching Daemon at Sat Aug 29 03:35:53 IST 2026
[2026-08-29 03:35:53,593.593 INFO    ] ================================================
[2026-08-29 03:35:54,176.176 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:35:54
[2026-08-29 03:35:54,595.595 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:35:54,746.746 INFO    ] Initializing speech engine...
[2026-08-29 03:35:54,749.749 INFO    ] 2026-08-29 03:35:54
[2026-08-29 03:35:54,964.964 INFO    ] 2026-08-29 03:35:54
[2026-08-29 03:35:54,995.995 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:35:55,128.128 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:35:55,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:35:55,341.341 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:35:55,399.399 INFO    ] time= 29/08/2026 03:35:55
[2026-08-29 03:35:55,439.439 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:35:55,445.445 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:35:55,521.521 INFO    ] No existing commands found in stream
[2026-08-29 03:36:00,532.532 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:36:00,535.535 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-08-29 03:36:01,906.906 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:36:01,909.909 INFO    ] Checking for system updates...
[2026-08-29 03:36:01,954.954 INFO    ] 200
[2026-08-29 03:36:01,958.958 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:36:02,018.018 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:36:02,021.021 INFO    ] No update needed
[2026-08-29 03:36:02,024.024 INFO    ] Checking for camera pi updates...
[2026-08-29 03:36:02,068.068 INFO    ] 200
[2026-08-29 03:36:02,071.071 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:36:02,119.119 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:36:02,227.227 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:36:02,230.230 INFO    ] No camera update needed
[2026-08-29 03:36:02,233.233 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:36:02,236.236 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:36:02,242.242 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:36:02,249.249 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:36:04,290.290 INFO    ] ================================================
[2026-08-29 03:36:04,306.306 INFO    ] Launching Daemon at Sat Aug 29 03:36:04 IST 2026
[2026-08-29 03:36:04,317.317 INFO    ] ================================================
[2026-08-29 03:36:04,696.696 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:36:04
[2026-08-29 03:36:05,013.013 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:36:05,209.209 INFO    ] Initializing speech engine...
[2026-08-29 03:36:05,221.221 INFO    ] 2026-08-29 03:36:05
[2026-08-29 03:36:05,490.490 INFO    ] 2026-08-29 03:36:05
[2026-08-29 03:36:05,526.526 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:36:05,704.704 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:36:05,732.732 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:36:05,845.845 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:36:05,856.856 INFO    ] time= 29/08/2026 03:36:05
[2026-08-29 03:36:05,867.867 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:36:05,876.876 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:36:05,968.968 INFO    ] No existing commands found in stream
[2026-08-29 03:36:10,980.980 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:36:10,989.989 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 03:36:14,565.565 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:36:14,566.566 INFO    ] Checking for system updates...
[2026-08-29 03:36:14,588.588 INFO    ] 200
[2026-08-29 03:36:14,589.589 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:36:14,619.619 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:36:14,620.620 INFO    ] No update needed
[2026-08-29 03:36:14,621.621 INFO    ] Checking for camera pi updates...
[2026-08-29 03:36:14,640.640 INFO    ] 200
[2026-08-29 03:36:14,642.642 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:36:14,665.665 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:36:14,758.758 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:36:14,759.759 INFO    ] No camera update needed
[2026-08-29 03:36:14,761.761 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:36:14,762.762 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:36:14,765.765 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:36:14,768.768 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:36:16,806.806 INFO    ] ================================================
[2026-08-29 03:36:16,820.820 INFO    ] Launching Daemon at Sat Aug 29 03:36:16 IST 2026
[2026-08-29 03:36:16,831.831 INFO    ] ================================================
[2026-08-29 03:36:17,200.200 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:36:17
[2026-08-29 03:36:17,529.529 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:36:17,672.672 INFO    ] Initializing speech engine...
[2026-08-29 03:36:17,682.682 INFO    ] 2026-08-29 03:36:17
[2026-08-29 03:36:17,889.889 INFO    ] 2026-08-29 03:36:17
[2026-08-29 03:36:17,917.917 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:36:18,030.030 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:36:18,090.090 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:36:18,225.225 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:36:18,241.241 INFO    ] time= 29/08/2026 03:36:18
[2026-08-29 03:36:18,251.251 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:36:18,278.278 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:36:18,382.382 INFO    ] No existing commands found in stream
[2026-08-29 03:36:23,395.395 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:36:23,398.398 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-08-29 03:36:27,405.405 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:36:27,406.406 INFO    ] Checking for system updates...
[2026-08-29 03:36:27,426.426 INFO    ] 200
[2026-08-29 03:36:27,428.428 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:36:27,458.458 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:36:27,459.459 INFO    ] No update needed
[2026-08-29 03:36:27,460.460 INFO    ] Checking for camera pi updates...
[2026-08-29 03:36:27,479.479 INFO    ] 200
[2026-08-29 03:36:27,481.481 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:36:27,505.505 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:36:27,600.600 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:36:27,603.603 INFO    ] No camera update needed
[2026-08-29 03:36:27,605.605 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:36:27,608.608 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:36:27,613.613 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:36:27,618.618 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:36:29,658.658 INFO    ] ================================================
[2026-08-29 03:36:29,673.673 INFO    ] Launching Daemon at Sat Aug 29 03:36:29 IST 2026
[2026-08-29 03:36:29,684.684 INFO    ] ================================================
[2026-08-29 03:36:30,307.307 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:36:30
[2026-08-29 03:36:30,825.825 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:36:30,973.973 INFO    ] Initializing speech engine...
[2026-08-29 03:36:30,979.979 INFO    ] 2026-08-29 03:36:30
[2026-08-29 03:36:31,233.233 INFO    ] 2026-08-29 03:36:31
[2026-08-29 03:36:31,301.301 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:36:31,453.453 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:36:31,466.466 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:36:31,612.612 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:36:31,621.621 INFO    ] time= 29/08/2026 03:36:31
[2026-08-29 03:36:31,628.628 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:36:31,660.660 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:36:31,797.797 INFO    ] No existing commands found in stream
[2026-08-29 03:36:36,827.827 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:36:36,830.830 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 03:36:37,482.482 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:36:37,483.483 INFO    ] Checking for system updates...
[2026-08-29 03:36:37,503.503 INFO    ] 200
[2026-08-29 03:36:37,505.505 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:36:37,536.536 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:36:37,537.537 INFO    ] No update needed
[2026-08-29 03:36:37,538.538 INFO    ] Checking for camera pi updates...
[2026-08-29 03:36:37,562.562 INFO    ] 200
[2026-08-29 03:36:37,565.565 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:36:37,608.608 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:36:37,707.707 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:36:37,709.709 INFO    ] No camera update needed
[2026-08-29 03:36:37,711.711 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:36:37,714.714 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:36:37,719.719 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:36:37,724.724 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:36:39,764.764 INFO    ] ================================================
[2026-08-29 03:36:39,780.780 INFO    ] Launching Daemon at Sat Aug 29 03:36:39 IST 2026
[2026-08-29 03:36:39,791.791 INFO    ] ================================================
[2026-08-29 03:36:40,375.375 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:36:40
[2026-08-29 03:36:40,836.836 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:36:40,982.982 INFO    ] Initializing speech engine...
[2026-08-29 03:36:40,988.988 INFO    ] 2026-08-29 03:36:40
[2026-08-29 03:36:41,203.203 INFO    ] 2026-08-29 03:36:41
[2026-08-29 03:36:41,233.233 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:36:41,364.364 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:36:41,402.402 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:36:41,570.570 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:36:41,602.602 INFO    ] time= 29/08/2026 03:36:41
[2026-08-29 03:36:41,653.653 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:36:41,677.677 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:36:41,754.754 INFO    ] No existing commands found in stream
[2026-08-29 03:36:46,763.763 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:36:46,766.766 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-08-29 03:36:48,752.752 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:36:48,753.753 INFO    ] Checking for system updates...
[2026-08-29 03:36:48,774.774 INFO    ] 200
[2026-08-29 03:36:48,775.775 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:36:48,804.804 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:36:48,806.806 INFO    ] No update needed
[2026-08-29 03:36:48,807.807 INFO    ] Checking for camera pi updates...
[2026-08-29 03:36:48,826.826 INFO    ] 200
[2026-08-29 03:36:48,828.828 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:36:48,859.859 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:36:48,953.953 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:36:48,955.955 INFO    ] No camera update needed
[2026-08-29 03:36:48,958.958 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:36:48,960.960 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:36:48,966.966 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:36:48,971.971 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:36:51,012.012 INFO    ] ================================================
[2026-08-29 03:36:51,027.027 INFO    ] Launching Daemon at Sat Aug 29 03:36:51 IST 2026
[2026-08-29 03:36:51,038.038 INFO    ] ================================================
[2026-08-29 03:36:51,603.603 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:36:51
[2026-08-29 03:36:52,088.088 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:36:52,231.231 INFO    ] Initializing speech engine...
[2026-08-29 03:36:52,236.236 INFO    ] 2026-08-29 03:36:52
[2026-08-29 03:36:52,427.427 INFO    ] 2026-08-29 03:36:52
[2026-08-29 03:36:52,504.504 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:36:52,660.660 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:36:52,669.669 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:36:52,804.804 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:36:52,826.826 INFO    ] time= 29/08/2026 03:36:52
[2026-08-29 03:36:52,875.875 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:36:52,929.929 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:36:52,992.992 INFO    ] No existing commands found in stream
[2026-08-29 03:36:58,004.004 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:36:58,007.007 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-08-29 03:37:00,697.697 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:37:00,699.699 INFO    ] Checking for system updates...
[2026-08-29 03:37:00,720.720 INFO    ] 200
[2026-08-29 03:37:00,721.721 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:37:00,751.751 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:37:00,753.753 INFO    ] No update needed
[2026-08-29 03:37:00,756.756 INFO    ] Checking for camera pi updates...
[2026-08-29 03:37:00,790.790 INFO    ] 200
[2026-08-29 03:37:00,793.793 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:37:00,832.832 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:37:00,904.904 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:37:00,906.906 INFO    ] No camera update needed
[2026-08-29 03:37:00,909.909 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:37:00,911.911 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:37:00,916.916 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:37:00,921.921 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:37:02,964.964 INFO    ] ================================================
[2026-08-29 03:37:02,985.985 INFO    ] Launching Daemon at Sat Aug 29 03:37:02 IST 2026
[2026-08-29 03:37:03,001.001 INFO    ] ================================================
[2026-08-29 03:37:03,672.672 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:37:03
[2026-08-29 03:37:04,092.092 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:37:04,365.365 INFO    ] Initializing speech engine...
[2026-08-29 03:37:04,376.376 INFO    ] 2026-08-29 03:37:04
[2026-08-29 03:37:04,623.623 INFO    ] 2026-08-29 03:37:04
[2026-08-29 03:37:04,659.659 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:37:04,853.853 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:37:04,902.902 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:37:05,054.054 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:37:05,106.106 INFO    ] time= 29/08/2026 03:37:05
[2026-08-29 03:37:05,155.155 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:37:05,187.187 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:37:05,243.243 INFO    ] No existing commands found in stream
[2026-08-29 03:37:10,255.255 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:37:10,257.257 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-08-29 03:37:14,844.844 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:37:14,846.846 INFO    ] Checking for system updates...
[2026-08-29 03:37:14,867.867 INFO    ] 200
[2026-08-29 03:37:14,869.869 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:37:14,898.898 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:37:14,900.900 INFO    ] No update needed
[2026-08-29 03:37:14,901.901 INFO    ] Checking for camera pi updates...
[2026-08-29 03:37:14,921.921 INFO    ] 200
[2026-08-29 03:37:14,923.923 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:37:14,948.948 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:37:15,026.026 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:37:15,028.028 INFO    ] No camera update needed
[2026-08-29 03:37:15,029.029 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:37:15,030.030 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:37:15,033.033 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:37:15,036.036 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:37:17,076.076 INFO    ] ================================================
[2026-08-29 03:37:17,097.097 INFO    ] Launching Daemon at Sat Aug 29 03:37:17 IST 2026
[2026-08-29 03:37:17,108.108 INFO    ] ================================================
[2026-08-29 03:37:17,651.651 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:37:17
[2026-08-29 03:37:18,327.327 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:37:18,628.628 INFO    ] Initializing speech engine...
[2026-08-29 03:37:18,637.637 INFO    ] 2026-08-29 03:37:18
[2026-08-29 03:37:18,887.887 INFO    ] 2026-08-29 03:37:18
[2026-08-29 03:37:18,921.921 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:37:20,108.108 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:37:20,135.135 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:37:20,286.286 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:37:20,292.292 INFO    ] time= 29/08/2026 03:37:20
[2026-08-29 03:37:20,325.325 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:37:20,346.346 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:37:20,421.421 INFO    ] No existing commands found in stream
[2026-08-29 03:37:25,432.432 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:37:25,435.435 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 03:37:25,882.882 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:37:25,883.883 INFO    ] Checking for system updates...
[2026-08-29 03:37:25,904.904 INFO    ] 200
[2026-08-29 03:37:25,905.905 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:37:25,935.935 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:37:25,936.936 INFO    ] No update needed
[2026-08-29 03:37:25,937.937 INFO    ] Checking for camera pi updates...
[2026-08-29 03:37:25,957.957 INFO    ] 200
[2026-08-29 03:37:25,958.958 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:37:25,980.980 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:37:26,062.062 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:37:26,063.063 INFO    ] No camera update needed
[2026-08-29 03:37:26,064.064 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:37:26,065.065 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:37:26,068.068 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:37:26,071.071 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:37:28,110.110 INFO    ] ================================================
[2026-08-29 03:37:28,125.125 INFO    ] Launching Daemon at Sat Aug 29 03:37:28 IST 2026
[2026-08-29 03:37:28,136.136 INFO    ] ================================================
[2026-08-29 03:37:28,518.518 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:37:28
[2026-08-29 03:37:28,849.849 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:37:28,988.988 INFO    ] Initializing speech engine...
[2026-08-29 03:37:28,998.998 INFO    ] 2026-08-29 03:37:28
[2026-08-29 03:37:29,206.206 INFO    ] 2026-08-29 03:37:29
[2026-08-29 03:37:29,233.233 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:37:29,410.410 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:37:29,417.417 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:37:29,560.560 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:37:29,571.571 INFO    ] time= 29/08/2026 03:37:29
[2026-08-29 03:37:29,597.597 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:37:29,604.604 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:37:29,705.705 INFO    ] No existing commands found in stream
[2026-08-29 03:37:34,718.718 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:37:34,721.721 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-08-29 03:37:38,514.514 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:37:38,515.515 INFO    ] Checking for system updates...
[2026-08-29 03:37:38,535.535 INFO    ] 200
[2026-08-29 03:37:38,537.537 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:37:38,567.567 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:37:38,568.568 INFO    ] No update needed
[2026-08-29 03:37:38,569.569 INFO    ] Checking for camera pi updates...
[2026-08-29 03:37:38,600.600 INFO    ] 200
[2026-08-29 03:37:38,603.603 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:37:38,648.648 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:37:38,729.729 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:37:38,732.732 INFO    ] No camera update needed
[2026-08-29 03:37:38,744.744 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:37:38,747.747 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:37:38,753.753 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:37:38,758.758 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:37:40,798.798 INFO    ] ================================================
[2026-08-29 03:37:40,813.813 INFO    ] Launching Daemon at Sat Aug 29 03:37:40 IST 2026
[2026-08-29 03:37:40,824.824 INFO    ] ================================================
[2026-08-29 03:37:41,403.403 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:37:41
[2026-08-29 03:37:41,858.858 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:37:42,000.000 INFO    ] Initializing speech engine...
[2026-08-29 03:37:42,005.005 INFO    ] 2026-08-29 03:37:42
[2026-08-29 03:37:42,250.250 INFO    ] 2026-08-29 03:37:42
[2026-08-29 03:37:42,286.286 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:37:42,457.457 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:37:42,469.469 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:37:42,609.609 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:37:42,617.617 INFO    ] time= 29/08/2026 03:37:42
[2026-08-29 03:37:42,624.624 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:37:42,666.666 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:37:42,794.794 INFO    ] No existing commands found in stream
[2026-08-29 03:37:47,824.824 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:37:47,826.826 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-08-29 03:37:50,022.022 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:37:50,023.023 INFO    ] Checking for system updates...
[2026-08-29 03:37:50,043.043 INFO    ] 200
[2026-08-29 03:37:50,045.045 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:37:50,077.077 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:37:50,078.078 INFO    ] No update needed
[2026-08-29 03:37:50,079.079 INFO    ] Checking for camera pi updates...
[2026-08-29 03:37:50,099.099 INFO    ] 200
[2026-08-29 03:37:50,100.100 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:37:50,125.125 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:37:50,226.226 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:37:50,227.227 INFO    ] No camera update needed
[2026-08-29 03:37:50,228.228 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:37:50,230.230 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:37:50,233.233 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:37:50,235.235 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:37:52,274.274 INFO    ] ================================================
[2026-08-29 03:37:52,290.290 INFO    ] Launching Daemon at Sat Aug 29 03:37:52 IST 2026
[2026-08-29 03:37:52,301.301 INFO    ] ================================================
[2026-08-29 03:37:52,850.850 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:37:52
[2026-08-29 03:37:53,537.537 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:37:53,860.860 INFO    ] Initializing speech engine...
[2026-08-29 03:37:53,869.869 INFO    ] 2026-08-29 03:37:53
[2026-08-29 03:37:54,178.178 INFO    ] 2026-08-29 03:37:54
[2026-08-29 03:37:54,263.263 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:37:54,420.420 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:37:54,426.426 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:37:54,559.559 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:37:54,635.635 INFO    ] time= 29/08/2026 03:37:54
[2026-08-29 03:37:54,687.687 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:37:54,694.694 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:37:54,825.825 INFO    ] No existing commands found in stream
[2026-08-29 03:37:59,850.850 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:37:59,853.853 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-08-29 03:38:04,151.151 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:38:04,154.154 INFO    ] Checking for system updates...
[2026-08-29 03:38:04,189.189 INFO    ] 200
[2026-08-29 03:38:04,191.191 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:38:04,245.245 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:38:04,247.247 INFO    ] No update needed
[2026-08-29 03:38:04,249.249 INFO    ] Checking for camera pi updates...
[2026-08-29 03:38:04,287.287 INFO    ] 200
[2026-08-29 03:38:04,289.289 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:38:04,335.335 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:38:04,414.414 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:38:04,417.417 INFO    ] No camera update needed
[2026-08-29 03:38:04,419.419 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:38:04,421.421 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:38:04,426.426 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:38:04,431.431 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:38:06,472.472 INFO    ] ================================================
[2026-08-29 03:38:06,489.489 INFO    ] Launching Daemon at Sat Aug 29 03:38:06 IST 2026
[2026-08-29 03:38:06,500.500 INFO    ] ================================================
[2026-08-29 03:38:07,150.150 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:38:07
[2026-08-29 03:38:07,744.744 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:38:07,990.990 INFO    ] Initializing speech engine...
[2026-08-29 03:38:07,997.997 INFO    ] 2026-08-29 03:38:07
[2026-08-29 03:38:08,273.273 INFO    ] 2026-08-29 03:38:08
[2026-08-29 03:38:08,308.308 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:38:08,486.486 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:38:08,499.499 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:38:08,613.613 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:38:08,632.632 INFO    ] time= 29/08/2026 03:38:08
[2026-08-29 03:38:08,651.651 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:38:08,658.658 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:38:08,728.728 INFO    ] No existing commands found in stream
[2026-08-29 03:38:13,740.740 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:38:13,744.744 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 03:38:15,145.145 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:38:15,147.147 INFO    ] Checking for system updates...
[2026-08-29 03:38:15,167.167 INFO    ] 200
[2026-08-29 03:38:15,168.168 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:38:15,200.200 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:38:15,201.201 INFO    ] No update needed
[2026-08-29 03:38:15,203.203 INFO    ] Checking for camera pi updates...
[2026-08-29 03:38:15,222.222 INFO    ] 200
[2026-08-29 03:38:15,223.223 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:38:15,248.248 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:38:15,334.334 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:38:15,335.335 INFO    ] No camera update needed
[2026-08-29 03:38:15,336.336 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:38:15,338.338 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:38:15,340.340 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:38:15,343.343 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:38:17,381.381 INFO    ] ================================================
[2026-08-29 03:38:17,396.396 INFO    ] Launching Daemon at Sat Aug 29 03:38:17 IST 2026
[2026-08-29 03:38:17,407.407 INFO    ] ================================================
[2026-08-29 03:38:17,729.729 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:38:17
[2026-08-29 03:38:18,042.042 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:38:18,170.170 INFO    ] Initializing speech engine...
[2026-08-29 03:38:18,175.175 INFO    ] 2026-08-29 03:38:18
[2026-08-29 03:38:18,379.379 INFO    ] 2026-08-29 03:38:18
[2026-08-29 03:38:18,459.459 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:38:18,605.605 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:38:18,614.614 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:38:18,745.745 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:38:18,787.787 INFO    ] time= 29/08/2026 03:38:18
[2026-08-29 03:38:18,846.846 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:38:18,878.878 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:38:18,929.929 INFO    ] No existing commands found in stream
[2026-08-29 03:38:23,941.941 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:38:23,943.943 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-08-29 03:38:26,306.306 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:38:26,308.308 INFO    ] Checking for system updates...
[2026-08-29 03:38:26,349.349 INFO    ] 200
[2026-08-29 03:38:26,352.352 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:38:26,406.406 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:38:26,408.408 INFO    ] No update needed
[2026-08-29 03:38:26,410.410 INFO    ] Checking for camera pi updates...
[2026-08-29 03:38:26,444.444 INFO    ] 200
[2026-08-29 03:38:26,447.447 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:38:26,488.488 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:38:26,568.568 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:38:26,570.570 INFO    ] No camera update needed
[2026-08-29 03:38:26,573.573 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:38:26,575.575 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:38:26,581.581 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:38:26,586.586 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:38:28,630.630 INFO    ] ================================================
[2026-08-29 03:38:28,645.645 INFO    ] Launching Daemon at Sat Aug 29 03:38:28 IST 2026
[2026-08-29 03:38:28,656.656 INFO    ] ================================================
[2026-08-29 03:38:29,117.117 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:38:29
[2026-08-29 03:38:29,719.719 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:38:29,998.998 INFO    ] Initializing speech engine...
[2026-08-29 03:38:30,007.007 INFO    ] 2026-08-29 03:38:30
[2026-08-29 03:38:30,265.265 INFO    ] 2026-08-29 03:38:30
[2026-08-29 03:38:30,321.321 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:38:30,542.542 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:38:30,551.551 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:38:30,683.683 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:38:30,726.726 INFO    ] time= 29/08/2026 03:38:30
[2026-08-29 03:38:30,786.786 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:38:30,818.818 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:38:30,869.869 INFO    ] No existing commands found in stream
[2026-08-29 03:38:35,881.881 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:38:35,884.884 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-08-29 03:38:36,806.806 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:38:36,807.807 INFO    ] Checking for system updates...
[2026-08-29 03:38:36,829.829 INFO    ] 200
[2026-08-29 03:38:36,830.830 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:38:36,862.862 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:38:36,864.864 INFO    ] No update needed
[2026-08-29 03:38:36,865.865 INFO    ] Checking for camera pi updates...
[2026-08-29 03:38:36,884.884 INFO    ] 200
[2026-08-29 03:38:36,885.885 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:38:36,927.927 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:38:37,008.008 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:38:37,011.011 INFO    ] No camera update needed
[2026-08-29 03:38:37,013.013 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:38:37,015.015 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:38:37,021.021 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:38:37,026.026 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:38:39,065.065 INFO    ] ================================================
[2026-08-29 03:38:39,080.080 INFO    ] Launching Daemon at Sat Aug 29 03:38:39 IST 2026
[2026-08-29 03:38:39,091.091 INFO    ] ================================================
[2026-08-29 03:38:39,678.678 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:38:39
[2026-08-29 03:38:40,149.149 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:38:40,291.291 INFO    ] Initializing speech engine...
[2026-08-29 03:38:40,295.295 INFO    ] 2026-08-29 03:38:40
[2026-08-29 03:38:40,496.496 INFO    ] 2026-08-29 03:38:40
[2026-08-29 03:38:40,525.525 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:38:40,646.646 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:38:40,695.695 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:38:40,843.843 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:38:40,907.907 INFO    ] time= 29/08/2026 03:38:40
[2026-08-29 03:38:40,940.940 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:38:40,954.954 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:38:41,079.079 INFO    ] No existing commands found in stream
[2026-08-29 03:38:46,100.100 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:38:46,103.103 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-08-29 03:38:48,517.517 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:38:48,519.519 INFO    ] Checking for system updates...
[2026-08-29 03:38:48,541.541 INFO    ] 200
[2026-08-29 03:38:48,542.542 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:38:48,573.573 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:38:48,574.574 INFO    ] No update needed
[2026-08-29 03:38:48,575.575 INFO    ] Checking for camera pi updates...
[2026-08-29 03:38:48,596.596 INFO    ] 200
[2026-08-29 03:38:48,597.597 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:38:48,620.620 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:38:48,701.701 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:38:48,703.703 INFO    ] No camera update needed
[2026-08-29 03:38:48,704.704 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:38:48,705.705 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:38:48,708.708 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:38:48,711.711 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:38:50,754.754 INFO    ] ================================================
[2026-08-29 03:38:50,769.769 INFO    ] Launching Daemon at Sat Aug 29 03:38:50 IST 2026
[2026-08-29 03:38:50,780.780 INFO    ] ================================================
[2026-08-29 03:38:51,117.117 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:38:51
[2026-08-29 03:38:51,434.434 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:38:51,566.566 INFO    ] Initializing speech engine...
[2026-08-29 03:38:51,574.574 INFO    ] 2026-08-29 03:38:51
[2026-08-29 03:38:51,776.776 INFO    ] 2026-08-29 03:38:51
[2026-08-29 03:38:51,856.856 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:38:52,003.003 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:38:52,013.013 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:38:52,148.148 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:38:52,188.188 INFO    ] time= 29/08/2026 03:38:52
[2026-08-29 03:38:52,252.252 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:38:52,280.280 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:38:52,337.337 INFO    ] No existing commands found in stream
[2026-08-29 03:38:57,349.349 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:38:57,351.351 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-08-29 03:39:00,572.572 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:39:00,574.574 INFO    ] Checking for system updates...
[2026-08-29 03:39:00,610.610 INFO    ] 200
[2026-08-29 03:39:00,613.613 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:39:00,675.675 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:39:00,677.677 INFO    ] No update needed
[2026-08-29 03:39:00,680.680 INFO    ] Checking for camera pi updates...
[2026-08-29 03:39:00,718.718 INFO    ] 200
[2026-08-29 03:39:00,721.721 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:39:00,767.767 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:39:00,865.865 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:39:00,867.867 INFO    ] No camera update needed
[2026-08-29 03:39:00,870.870 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:39:00,872.872 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:39:00,878.878 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:39:00,883.883 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:39:02,939.939 INFO    ] ================================================
[2026-08-29 03:39:02,956.956 INFO    ] Launching Daemon at Sat Aug 29 03:39:02 IST 2026
[2026-08-29 03:39:02,969.969 INFO    ] ================================================
[2026-08-29 03:39:03,580.580 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:39:03
[2026-08-29 03:39:04,263.263 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:39:04,536.536 INFO    ] Initializing speech engine...
[2026-08-29 03:39:04,541.541 INFO    ] 2026-08-29 03:39:04
[2026-08-29 03:39:04,786.786 INFO    ] 2026-08-29 03:39:04
[2026-08-29 03:39:04,821.821 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:39:05,002.002 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:39:05,008.008 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:39:05,148.148 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:39:05,157.157 INFO    ] time= 29/08/2026 03:39:05
[2026-08-29 03:39:05,216.216 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:39:05,256.256 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:39:05,304.304 INFO    ] No existing commands found in stream
[2026-08-29 03:39:10,314.314 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:39:10,317.317 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-08-29 03:39:12,902.902 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:39:12,904.904 INFO    ] Checking for system updates...
[2026-08-29 03:39:12,925.925 INFO    ] 200
[2026-08-29 03:39:12,927.927 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:39:12,957.957 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:39:12,958.958 INFO    ] No update needed
[2026-08-29 03:39:12,959.959 INFO    ] Checking for camera pi updates...
[2026-08-29 03:39:12,980.980 INFO    ] 200
[2026-08-29 03:39:12,981.981 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:39:13,004.004 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:39:13,095.095 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:39:13,096.096 INFO    ] No camera update needed
[2026-08-29 03:39:13,097.097 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:39:13,098.098 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:39:13,101.101 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:39:13,104.104 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:39:15,144.144 INFO    ] ================================================
[2026-08-29 03:39:15,160.160 INFO    ] Launching Daemon at Sat Aug 29 03:39:15 IST 2026
[2026-08-29 03:39:15,171.171 INFO    ] ================================================
[2026-08-29 03:39:15,667.667 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:39:15
[2026-08-29 03:39:16,269.269 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:39:16,550.550 INFO    ] Initializing speech engine...
[2026-08-29 03:39:16,555.555 INFO    ] 2026-08-29 03:39:16
[2026-08-29 03:39:16,816.816 INFO    ] 2026-08-29 03:39:16
[2026-08-29 03:39:16,867.867 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:39:17,034.034 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:39:17,057.057 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:39:17,234.234 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:39:17,256.256 INFO    ] time= 29/08/2026 03:39:17
[2026-08-29 03:39:17,330.330 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:39:17,368.368 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:39:17,484.484 INFO    ] No existing commands found in stream
[2026-08-29 03:39:22,511.511 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:39:22,514.514 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-08-29 03:39:25,523.523 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:39:25,525.525 INFO    ] Checking for system updates...
[2026-08-29 03:39:25,546.546 INFO    ] 200
[2026-08-29 03:39:25,547.547 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:39:25,579.579 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:39:25,581.581 INFO    ] No update needed
[2026-08-29 03:39:25,582.582 INFO    ] Checking for camera pi updates...
[2026-08-29 03:39:25,601.601 INFO    ] 200
[2026-08-29 03:39:25,603.603 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:39:25,628.628 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:39:25,729.729 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:39:25,730.730 INFO    ] No camera update needed
[2026-08-29 03:39:25,731.731 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:39:25,733.733 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:39:25,735.735 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:39:25,738.738 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:39:27,777.777 INFO    ] ================================================
[2026-08-29 03:39:27,792.792 INFO    ] Launching Daemon at Sat Aug 29 03:39:27 IST 2026
[2026-08-29 03:39:27,803.803 INFO    ] ================================================
[2026-08-29 03:39:28,150.150 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:39:28
[2026-08-29 03:39:28,753.753 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:39:29,029.029 INFO    ] Initializing speech engine...
[2026-08-29 03:39:29,040.040 INFO    ] 2026-08-29 03:39:29
[2026-08-29 03:39:29,303.303 INFO    ] 2026-08-29 03:39:29
[2026-08-29 03:39:29,357.357 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:39:29,582.582 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:39:29,591.591 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:39:29,726.726 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:39:29,766.766 INFO    ] time= 29/08/2026 03:39:29
[2026-08-29 03:39:29,815.815 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:39:29,857.857 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:39:29,917.917 INFO    ] No existing commands found in stream
[2026-08-29 03:39:34,942.942 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:39:34,945.945 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-08-29 03:39:36,204.204 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:39:36,205.205 INFO    ] Checking for system updates...
[2026-08-29 03:39:36,228.228 INFO    ] 200
[2026-08-29 03:39:36,229.229 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:39:36,262.262 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:39:36,263.263 INFO    ] No update needed
[2026-08-29 03:39:36,264.264 INFO    ] Checking for camera pi updates...
[2026-08-29 03:39:36,285.285 INFO    ] 200
[2026-08-29 03:39:36,287.287 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:39:36,310.310 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:39:36,381.381 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:39:36,383.383 INFO    ] No camera update needed
[2026-08-29 03:39:36,384.384 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:39:36,385.385 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:39:36,388.388 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:39:36,391.391 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:39:38,428.428 INFO    ] ================================================
[2026-08-29 03:39:38,443.443 INFO    ] Launching Daemon at Sat Aug 29 03:39:38 IST 2026
[2026-08-29 03:39:38,454.454 INFO    ] ================================================
[2026-08-29 03:39:39,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:39:39
[2026-08-29 03:39:39,649.649 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:39:39,928.928 INFO    ] Initializing speech engine...
[2026-08-29 03:39:39,933.933 INFO    ] 2026-08-29 03:39:39
[2026-08-29 03:39:40,184.184 INFO    ] 2026-08-29 03:39:40
[2026-08-29 03:39:40,220.220 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:39:40,392.392 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:39:40,404.404 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:39:40,545.545 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:39:40,553.553 INFO    ] time= 29/08/2026 03:39:40
[2026-08-29 03:39:40,560.560 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:39:40,602.602 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:39:40,710.710 INFO    ] No existing commands found in stream
[2026-08-29 03:39:45,740.740 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:39:45,744.744 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-08-29 03:39:46,186.186 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:39:46,189.189 INFO    ] Checking for system updates...
[2026-08-29 03:39:46,231.231 INFO    ] 200
[2026-08-29 03:39:46,234.234 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:39:46,295.295 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:39:46,298.298 INFO    ] No update needed
[2026-08-29 03:39:46,301.301 INFO    ] Checking for camera pi updates...
[2026-08-29 03:39:46,336.336 INFO    ] 200
[2026-08-29 03:39:46,339.339 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:39:46,387.387 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:39:46,468.468 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:39:46,471.471 INFO    ] No camera update needed
[2026-08-29 03:39:46,474.474 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:39:46,477.477 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:39:46,483.483 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:39:46,489.489 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:39:48,531.531 INFO    ] ================================================
[2026-08-29 03:39:48,547.547 INFO    ] Launching Daemon at Sat Aug 29 03:39:48 IST 2026
[2026-08-29 03:39:48,558.558 INFO    ] ================================================
[2026-08-29 03:39:49,121.121 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:39:49
[2026-08-29 03:39:49,432.432 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:39:49,629.629 INFO    ] Initializing speech engine...
[2026-08-29 03:39:49,638.638 INFO    ] 2026-08-29 03:39:49
[2026-08-29 03:39:49,884.884 INFO    ] 2026-08-29 03:39:49
[2026-08-29 03:39:49,920.920 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:39:50,090.090 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:39:50,103.103 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:39:50,244.244 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:39:50,251.251 INFO    ] time= 29/08/2026 03:39:50
[2026-08-29 03:39:50,258.258 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:39:50,278.278 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:39:50,409.409 INFO    ] No existing commands found in stream
[2026-08-29 03:39:55,439.439 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:39:55,442.442 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-08-29 03:39:59,429.429 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:39:59,432.432 INFO    ] Checking for system updates...
[2026-08-29 03:39:59,509.509 INFO    ] 200
[2026-08-29 03:39:59,512.512 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:39:59,589.589 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:39:59,591.591 INFO    ] No update needed
[2026-08-29 03:39:59,594.594 INFO    ] Checking for camera pi updates...
[2026-08-29 03:39:59,648.648 INFO    ] 200
[2026-08-29 03:39:59,650.650 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:39:59,707.707 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:39:59,800.800 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:39:59,802.802 INFO    ] No camera update needed
[2026-08-29 03:39:59,805.805 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:39:59,807.807 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:39:59,812.812 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:39:59,819.819 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:40:01,885.885 INFO    ] ================================================
[2026-08-29 03:40:01,940.940 INFO    ] Launching Daemon at Sat Aug 29 03:40:01 IST 2026
[2026-08-29 03:40:02,984.984 INFO    ] ================================================
[2026-08-29 03:40:02,693.693 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:40:02
[2026-08-29 03:40:03,390.390 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:40:03,697.697 INFO    ] Initializing speech engine...
[2026-08-29 03:40:03,706.706 INFO    ] 2026-08-29 03:40:03
[2026-08-29 03:40:03,968.968 INFO    ] 2026-08-29 03:40:03
[2026-08-29 03:40:04,004.004 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:40:04,197.197 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:40:04,213.213 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:40:04,366.366 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:40:04,375.375 INFO    ] time= 29/08/2026 03:40:04
[2026-08-29 03:40:04,381.381 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:40:04,427.427 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:40:04,553.553 INFO    ] No existing commands found in stream
[2026-08-29 03:40:09,578.578 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:40:09,581.581 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 03:40:10,250.250 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:40:10,252.252 INFO    ] Checking for system updates...
[2026-08-29 03:40:10,272.272 INFO    ] 200
[2026-08-29 03:40:10,274.274 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:40:10,305.305 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:40:10,306.306 INFO    ] No update needed
[2026-08-29 03:40:10,307.307 INFO    ] Checking for camera pi updates...
[2026-08-29 03:40:10,326.326 INFO    ] 200
[2026-08-29 03:40:10,328.328 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:40:10,351.351 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:40:10,564.564 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:40:10,566.566 INFO    ] No camera update needed
[2026-08-29 03:40:10,567.567 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:40:10,568.568 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:40:10,571.571 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:40:10,574.574 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:40:12,612.612 INFO    ] ================================================
[2026-08-29 03:40:12,627.627 INFO    ] Launching Daemon at Sat Aug 29 03:40:12 IST 2026
[2026-08-29 03:40:12,638.638 INFO    ] ================================================
[2026-08-29 03:40:12,983.983 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:40:12
[2026-08-29 03:40:13,295.295 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:40:13,542.542 INFO    ] Initializing speech engine...
[2026-08-29 03:40:13,558.558 INFO    ] 2026-08-29 03:40:13
[2026-08-29 03:40:13,829.829 INFO    ] 2026-08-29 03:40:13
[2026-08-29 03:40:13,864.864 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:40:14,010.010 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:40:14,019.019 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:40:14,170.170 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:40:14,179.179 INFO    ] time= 29/08/2026 03:40:14
[2026-08-29 03:40:14,186.186 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:40:14,208.208 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:40:14,287.287 INFO    ] No existing commands found in stream
[2026-08-29 03:40:19,317.317 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:40:19,320.320 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-08-29 03:40:21,946.946 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:40:21,948.948 INFO    ] Checking for system updates...
[2026-08-29 03:40:21,969.969 INFO    ] 200
[2026-08-29 03:40:21,970.970 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:40:22,000.000 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:40:22,001.001 INFO    ] No update needed
[2026-08-29 03:40:22,003.003 INFO    ] Checking for camera pi updates...
[2026-08-29 03:40:22,022.022 INFO    ] 200
[2026-08-29 03:40:22,023.023 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:40:22,047.047 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:40:22,146.146 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:40:22,147.147 INFO    ] No camera update needed
[2026-08-29 03:40:22,149.149 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:40:22,150.150 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:40:22,153.153 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:40:22,155.155 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:40:24,194.194 INFO    ] ================================================
[2026-08-29 03:40:24,209.209 INFO    ] Launching Daemon at Sat Aug 29 03:40:24 IST 2026
[2026-08-29 03:40:24,220.220 INFO    ] ================================================
[2026-08-29 03:40:24,547.547 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:40:24
[2026-08-29 03:40:24,859.859 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:40:24,989.989 INFO    ] Initializing speech engine...
[2026-08-29 03:40:24,993.993 INFO    ] 2026-08-29 03:40:24
[2026-08-29 03:40:25,193.193 INFO    ] 2026-08-29 03:40:25
[2026-08-29 03:40:25,229.229 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:40:25,453.453 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:40:25,463.463 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:40:25,598.598 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:40:25,655.655 INFO    ] time= 29/08/2026 03:40:25
[2026-08-29 03:40:25,725.725 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:40:25,737.737 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:40:25,855.855 INFO    ] No existing commands found in stream
[2026-08-29 03:40:30,891.891 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:40:30,894.894 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-08-29 03:40:33,959.959 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:40:33,961.961 INFO    ] Checking for system updates...
[2026-08-29 03:40:33,982.982 INFO    ] 200
[2026-08-29 03:40:33,984.984 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:40:34,015.015 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:40:34,017.017 INFO    ] No update needed
[2026-08-29 03:40:34,018.018 INFO    ] Checking for camera pi updates...
[2026-08-29 03:40:34,037.037 INFO    ] 200
[2026-08-29 03:40:34,038.038 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:40:34,062.062 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:40:34,158.158 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:40:34,160.160 INFO    ] No camera update needed
[2026-08-29 03:40:34,161.161 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:40:34,162.162 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:40:34,165.165 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:40:34,168.168 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:40:36,207.207 INFO    ] ================================================
[2026-08-29 03:40:36,222.222 INFO    ] Launching Daemon at Sat Aug 29 03:40:36 IST 2026
[2026-08-29 03:40:36,232.232 INFO    ] ================================================
[2026-08-29 03:40:36,573.573 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:40:36
[2026-08-29 03:40:36,889.889 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:40:37,026.026 INFO    ] Initializing speech engine...
[2026-08-29 03:40:37,039.039 INFO    ] 2026-08-29 03:40:37
[2026-08-29 03:40:37,259.259 INFO    ] 2026-08-29 03:40:37
[2026-08-29 03:40:37,290.290 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:40:37,423.423 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:40:37,481.481 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:40:37,637.637 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:40:37,698.698 INFO    ] time= 29/08/2026 03:40:37
[2026-08-29 03:40:37,736.736 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:40:37,738.738 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:40:37,814.814 INFO    ] No existing commands found in stream
[2026-08-29 03:40:42,824.824 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:40:42,827.827 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-08-29 03:40:45,548.548 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:40:45,550.550 INFO    ] Checking for system updates...
[2026-08-29 03:40:45,571.571 INFO    ] 200
[2026-08-29 03:40:45,573.573 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:40:45,602.602 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:40:45,604.604 INFO    ] No update needed
[2026-08-29 03:40:45,605.605 INFO    ] Checking for camera pi updates...
[2026-08-29 03:40:45,625.625 INFO    ] 200
[2026-08-29 03:40:45,626.626 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:40:45,651.651 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:40:45,752.752 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:40:45,753.753 INFO    ] No camera update needed
[2026-08-29 03:40:45,755.755 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:40:45,756.756 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:40:45,759.759 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:40:45,762.762 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:40:47,800.800 INFO    ] ================================================
[2026-08-29 03:40:47,815.815 INFO    ] Launching Daemon at Sat Aug 29 03:40:47 IST 2026
[2026-08-29 03:40:47,825.825 INFO    ] ================================================
[2026-08-29 03:40:48,147.147 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:40:48
[2026-08-29 03:40:48,459.459 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:40:48,590.590 INFO    ] Initializing speech engine...
[2026-08-29 03:40:48,604.604 INFO    ] 2026-08-29 03:40:48
[2026-08-29 03:40:48,808.808 INFO    ] 2026-08-29 03:40:48
[2026-08-29 03:40:48,836.836 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:40:48,996.996 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:40:49,017.017 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:40:49,176.176 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:40:49,186.186 INFO    ] time= 29/08/2026 03:40:49
[2026-08-29 03:40:49,196.196 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:40:49,254.254 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:40:49,369.369 INFO    ] No existing commands found in stream
[2026-08-29 03:40:54,398.398 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:40:54,401.401 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-08-29 03:40:56,975.975 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:40:56,977.977 INFO    ] Checking for system updates...
[2026-08-29 03:40:56,998.998 INFO    ] 200
[2026-08-29 03:40:56,999.999 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:40:57,031.031 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:40:57,032.032 INFO    ] No update needed
[2026-08-29 03:40:57,033.033 INFO    ] Checking for camera pi updates...
[2026-08-29 03:40:57,052.052 INFO    ] 200
[2026-08-29 03:40:57,054.054 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:40:57,076.076 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:40:57,153.153 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:40:57,155.155 INFO    ] No camera update needed
[2026-08-29 03:40:57,158.158 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:40:57,160.160 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:40:57,165.165 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:40:57,170.170 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:40:59,212.212 INFO    ] ================================================
[2026-08-29 03:40:59,227.227 INFO    ] Launching Daemon at Sat Aug 29 03:40:59 IST 2026
[2026-08-29 03:40:59,238.238 INFO    ] ================================================
[2026-08-29 03:40:59,822.822 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:40:59
[2026-08-29 03:41:00,322.322 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:41:00,471.471 INFO    ] Initializing speech engine...
[2026-08-29 03:41:00,478.478 INFO    ] 2026-08-29 03:41:00
[2026-08-29 03:41:00,700.700 INFO    ] 2026-08-29 03:41:00
[2026-08-29 03:41:00,741.741 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:41:00,893.893 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:41:00,898.898 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:41:01,029.029 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:41:01,067.067 INFO    ] time= 29/08/2026 03:41:01
[2026-08-29 03:41:01,126.126 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:41:01,164.164 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:41:01,221.221 INFO    ] No existing commands found in stream
[2026-08-29 03:41:06,233.233 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:41:06,236.236 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-08-29 03:41:06,914.914 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:41:06,916.916 INFO    ] Checking for system updates...
[2026-08-29 03:41:06,937.937 INFO    ] 200
[2026-08-29 03:41:06,938.938 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:41:06,969.969 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:41:06,972.972 INFO    ] No update needed
[2026-08-29 03:41:06,974.974 INFO    ] Checking for camera pi updates...
[2026-08-29 03:41:07,014.014 INFO    ] 200
[2026-08-29 03:41:07,017.017 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:41:07,057.057 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:41:07,181.181 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:41:07,184.184 INFO    ] No camera update needed
[2026-08-29 03:41:07,186.186 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:41:07,189.189 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:41:07,194.194 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:41:07,199.199 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:41:09,243.243 INFO    ] ================================================
[2026-08-29 03:41:09,258.258 INFO    ] Launching Daemon at Sat Aug 29 03:41:09 IST 2026
[2026-08-29 03:41:09,269.269 INFO    ] ================================================
[2026-08-29 03:41:09,838.838 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:41:09
[2026-08-29 03:41:10,270.270 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:41:10,413.413 INFO    ] Initializing speech engine...
[2026-08-29 03:41:10,417.417 INFO    ] 2026-08-29 03:41:10
[2026-08-29 03:41:10,598.598 INFO    ] 2026-08-29 03:41:10
[2026-08-29 03:41:10,634.634 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:41:10,809.809 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:41:10,823.823 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:41:10,967.967 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:41:10,976.976 INFO    ] time= 29/08/2026 03:41:10
[2026-08-29 03:41:10,982.982 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:41:11,023.023 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:41:11,132.132 INFO    ] No existing commands found in stream
[2026-08-29 03:41:16,162.162 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:41:16,165.165 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-08-29 03:41:18,235.235 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:41:18,237.237 INFO    ] Checking for system updates...
[2026-08-29 03:41:18,273.273 INFO    ] 200
[2026-08-29 03:41:18,275.275 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:41:18,332.332 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:41:18,334.334 INFO    ] No update needed
[2026-08-29 03:41:18,336.336 INFO    ] Checking for camera pi updates...
[2026-08-29 03:41:18,371.371 INFO    ] 200
[2026-08-29 03:41:18,373.373 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:41:18,415.415 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:41:18,499.499 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:41:18,501.501 INFO    ] No camera update needed
[2026-08-29 03:41:18,504.504 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:41:18,506.506 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:41:18,511.511 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:41:18,516.516 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:41:20,559.559 INFO    ] ================================================
[2026-08-29 03:41:20,574.574 INFO    ] Launching Daemon at Sat Aug 29 03:41:20 IST 2026
[2026-08-29 03:41:20,585.585 INFO    ] ================================================
[2026-08-29 03:41:21,200.200 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:41:21
[2026-08-29 03:41:21,529.529 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:41:21,677.677 INFO    ] Initializing speech engine...
[2026-08-29 03:41:21,683.683 INFO    ] 2026-08-29 03:41:21
[2026-08-29 03:41:21,888.888 INFO    ] 2026-08-29 03:41:21
[2026-08-29 03:41:21,932.932 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:41:22,100.100 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:41:22,107.107 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:41:22,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:41:22,306.306 INFO    ] time= 29/08/2026 03:41:22
[2026-08-29 03:41:22,325.325 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:41:22,347.347 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:41:22,454.454 INFO    ] No existing commands found in stream
[2026-08-29 03:41:27,471.471 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:41:27,474.474 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-08-29 03:41:29,155.155 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:41:29,157.157 INFO    ] Checking for system updates...
[2026-08-29 03:41:29,178.178 INFO    ] 200
[2026-08-29 03:41:29,180.180 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:41:29,209.209 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:41:29,210.210 INFO    ] No update needed
[2026-08-29 03:41:29,212.212 INFO    ] Checking for camera pi updates...
[2026-08-29 03:41:29,233.233 INFO    ] 200
[2026-08-29 03:41:29,234.234 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:41:29,260.260 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:41:29,364.364 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:41:29,365.365 INFO    ] No camera update needed
[2026-08-29 03:41:29,366.366 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:41:29,367.367 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:41:29,370.370 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:41:29,373.373 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:41:31,411.411 INFO    ] ================================================
[2026-08-29 03:41:31,426.426 INFO    ] Launching Daemon at Sat Aug 29 03:41:31 IST 2026
[2026-08-29 03:41:31,437.437 INFO    ] ================================================
[2026-08-29 03:41:31,863.863 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:41:31
[2026-08-29 03:41:32,484.484 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:41:32,756.756 INFO    ] Initializing speech engine...
[2026-08-29 03:41:32,772.772 INFO    ] 2026-08-29 03:41:32
[2026-08-29 03:41:33,062.062 INFO    ] 2026-08-29 03:41:33
[2026-08-29 03:41:33,100.100 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:41:33,292.292 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:41:33,298.298 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:41:33,425.425 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:41:33,432.432 INFO    ] time= 29/08/2026 03:41:33
[2026-08-29 03:41:33,437.437 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:41:33,456.456 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:41:33,555.555 INFO    ] No existing commands found in stream
[2026-08-29 03:41:38,568.568 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:41:38,571.571 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-08-29 03:41:42,274.274 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:41:42,275.275 INFO    ] Checking for system updates...
[2026-08-29 03:41:42,297.297 INFO    ] 200
[2026-08-29 03:41:42,298.298 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:41:42,329.329 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:41:42,331.331 INFO    ] No update needed
[2026-08-29 03:41:42,332.332 INFO    ] Checking for camera pi updates...
[2026-08-29 03:41:42,351.351 INFO    ] 200
[2026-08-29 03:41:42,353.353 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:41:42,377.377 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:41:42,471.471 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:41:42,473.473 INFO    ] No camera update needed
[2026-08-29 03:41:42,474.474 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:41:42,475.475 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:41:42,478.478 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:41:42,481.481 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:41:44,521.521 INFO    ] ================================================
[2026-08-29 03:41:44,536.536 INFO    ] Launching Daemon at Sat Aug 29 03:41:44 IST 2026
[2026-08-29 03:41:44,546.546 INFO    ] ================================================
[2026-08-29 03:41:44,914.914 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:41:44
[2026-08-29 03:41:45,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:41:45,717.717 INFO    ] Initializing speech engine...
[2026-08-29 03:41:45,725.725 INFO    ] 2026-08-29 03:41:45
[2026-08-29 03:41:45,984.984 INFO    ] 2026-08-29 03:41:45
[2026-08-29 03:41:46,014.014 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:41:46,188.188 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:41:46,203.203 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:41:46,332.332 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:41:46,339.339 INFO    ] time= 29/08/2026 03:41:46
[2026-08-29 03:41:46,346.346 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:41:46,397.397 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:41:46,520.520 INFO    ] No existing commands found in stream
[2026-08-29 03:41:51,546.546 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:41:51,549.549 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-08-29 03:41:54,188.188 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:41:54,189.189 INFO    ] Checking for system updates...
[2026-08-29 03:41:54,210.210 INFO    ] 200
[2026-08-29 03:41:54,212.212 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:41:54,241.241 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:41:54,243.243 INFO    ] No update needed
[2026-08-29 03:41:54,244.244 INFO    ] Checking for camera pi updates...
[2026-08-29 03:41:54,263.263 INFO    ] 200
[2026-08-29 03:41:54,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:41:54,297.297 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:41:54,402.402 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:41:54,405.405 INFO    ] No camera update needed
[2026-08-29 03:41:54,407.407 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:41:54,409.409 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:41:54,415.415 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:41:54,419.419 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:41:56,460.460 INFO    ] ================================================
[2026-08-29 03:41:56,475.475 INFO    ] Launching Daemon at Sat Aug 29 03:41:56 IST 2026
[2026-08-29 03:41:56,486.486 INFO    ] ================================================
[2026-08-29 03:41:57,115.115 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:41:57
[2026-08-29 03:41:57,590.590 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:41:57,733.733 INFO    ] Initializing speech engine...
[2026-08-29 03:41:57,744.744 INFO    ] 2026-08-29 03:41:57
[2026-08-29 03:41:57,950.950 INFO    ] 2026-08-29 03:41:57
[2026-08-29 03:41:57,978.978 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:41:58,117.117 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:41:58,122.122 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:41:58,301.301 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:41:58,326.326 INFO    ] time= 29/08/2026 03:41:58
[2026-08-29 03:41:58,341.341 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:41:58,350.350 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:41:58,464.464 INFO    ] No existing commands found in stream
[2026-08-29 03:42:03,487.487 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:42:03,490.490 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-08-29 03:42:07,659.659 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:42:07,661.661 INFO    ] Checking for system updates...
[2026-08-29 03:42:07,682.682 INFO    ] 200
[2026-08-29 03:42:07,683.683 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:42:07,713.713 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:42:07,714.714 INFO    ] No update needed
[2026-08-29 03:42:07,716.716 INFO    ] Checking for camera pi updates...
[2026-08-29 03:42:07,738.738 INFO    ] 200
[2026-08-29 03:42:07,739.739 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:42:07,762.762 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:42:07,866.866 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:42:07,867.867 INFO    ] No camera update needed
[2026-08-29 03:42:07,869.869 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:42:07,870.870 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:42:07,873.873 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:42:07,875.875 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:42:09,914.914 INFO    ] ================================================
[2026-08-29 03:42:09,929.929 INFO    ] Launching Daemon at Sat Aug 29 03:42:09 IST 2026
[2026-08-29 03:42:09,939.939 INFO    ] ================================================
[2026-08-29 03:42:10,288.288 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:42:10
[2026-08-29 03:42:10,605.605 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:42:10,749.749 INFO    ] Initializing speech engine...
[2026-08-29 03:42:10,755.755 INFO    ] 2026-08-29 03:42:10
[2026-08-29 03:42:10,958.958 INFO    ] 2026-08-29 03:42:10
[2026-08-29 03:42:10,988.988 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:42:11,124.124 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:42:11,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:42:11,307.307 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:42:11,330.330 INFO    ] time= 29/08/2026 03:42:11
[2026-08-29 03:42:11,345.345 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:42:11,375.375 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:42:11,477.477 INFO    ] No existing commands found in stream
[2026-08-29 03:42:16,493.493 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:42:16,496.496 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-08-29 03:42:17,574.574 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:42:17,575.575 INFO    ] Checking for system updates...
[2026-08-29 03:42:17,596.596 INFO    ] 200
[2026-08-29 03:42:17,598.598 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:42:17,628.628 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:42:17,630.630 INFO    ] No update needed
[2026-08-29 03:42:17,631.631 INFO    ] Checking for camera pi updates...
[2026-08-29 03:42:17,651.651 INFO    ] 200
[2026-08-29 03:42:17,653.653 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:42:17,678.678 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:42:17,856.856 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:42:17,857.857 INFO    ] No camera update needed
[2026-08-29 03:42:17,859.859 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:42:17,860.860 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:42:17,863.863 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:42:17,866.866 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:42:19,905.905 INFO    ] ================================================
[2026-08-29 03:42:19,920.920 INFO    ] Launching Daemon at Sat Aug 29 03:42:19 IST 2026
[2026-08-29 03:42:19,931.931 INFO    ] ================================================
[2026-08-29 03:42:20,259.259 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:42:20
[2026-08-29 03:42:20,569.569 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:42:20,711.711 INFO    ] Initializing speech engine...
[2026-08-29 03:42:20,716.716 INFO    ] 2026-08-29 03:42:20
[2026-08-29 03:42:20,920.920 INFO    ] 2026-08-29 03:42:20
[2026-08-29 03:42:20,949.949 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:42:21,074.074 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:42:21,127.127 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:42:21,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:42:21,343.343 INFO    ] time= 29/08/2026 03:42:21
[2026-08-29 03:42:21,367.367 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:42:21,374.374 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:42:21,441.441 INFO    ] No existing commands found in stream
[2026-08-29 03:42:26,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:42:26,454.454 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-08-29 03:42:30,058.058 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:42:30,060.060 INFO    ] Checking for system updates...
[2026-08-29 03:42:30,080.080 INFO    ] 200
[2026-08-29 03:42:30,081.081 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:42:30,111.111 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:42:30,112.112 INFO    ] No update needed
[2026-08-29 03:42:30,114.114 INFO    ] Checking for camera pi updates...
[2026-08-29 03:42:30,133.133 INFO    ] 200
[2026-08-29 03:42:30,135.135 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:42:30,162.162 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:42:30,245.245 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:42:30,247.247 INFO    ] No camera update needed
[2026-08-29 03:42:30,249.249 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:42:30,252.252 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:42:30,257.257 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:42:30,262.262 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:42:32,305.305 INFO    ] ================================================
[2026-08-29 03:42:32,329.329 INFO    ] Launching Daemon at Sat Aug 29 03:42:32 IST 2026
[2026-08-29 03:42:32,343.343 INFO    ] ================================================
[2026-08-29 03:42:32,957.957 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:42:32
[2026-08-29 03:42:33,444.444 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:42:33,575.575 INFO    ] Initializing speech engine...
[2026-08-29 03:42:33,579.579 INFO    ] 2026-08-29 03:42:33
[2026-08-29 03:42:33,796.796 INFO    ] 2026-08-29 03:42:33
[2026-08-29 03:42:33,878.878 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:42:34,030.030 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:42:34,039.039 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:42:34,176.176 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:42:34,202.202 INFO    ] time= 29/08/2026 03:42:34
[2026-08-29 03:42:34,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:42:34,313.313 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:42:34,368.368 INFO    ] No existing commands found in stream
[2026-08-29 03:42:39,380.380 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:42:39,384.384 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-08-29 03:42:42,058.058 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:42:42,059.059 INFO    ] Checking for system updates...
[2026-08-29 03:42:42,080.080 INFO    ] 200
[2026-08-29 03:42:42,082.082 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:42:42,112.112 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:42:42,113.113 INFO    ] No update needed
[2026-08-29 03:42:42,114.114 INFO    ] Checking for camera pi updates...
[2026-08-29 03:42:42,136.136 INFO    ] 200
[2026-08-29 03:42:42,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:42:42,161.161 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:42:42,244.244 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:42:42,245.245 INFO    ] No camera update needed
[2026-08-29 03:42:42,247.247 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:42:42,248.248 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:42:42,251.251 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:42:42,254.254 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:42:44,294.294 INFO    ] ================================================
[2026-08-29 03:42:44,309.309 INFO    ] Launching Daemon at Sat Aug 29 03:42:44 IST 2026
[2026-08-29 03:42:44,319.319 INFO    ] ================================================
[2026-08-29 03:42:44,914.914 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:42:44
[2026-08-29 03:42:45,551.551 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:42:45,825.825 INFO    ] Initializing speech engine...
[2026-08-29 03:42:45,829.829 INFO    ] 2026-08-29 03:42:45
[2026-08-29 03:42:46,037.037 INFO    ] 2026-08-29 03:42:46
[2026-08-29 03:42:46,085.085 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:42:46,219.219 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:42:46,224.224 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:42:46,375.375 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:42:46,397.397 INFO    ] time= 29/08/2026 03:42:46
[2026-08-29 03:42:46,436.436 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:42:46,475.475 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:42:46,553.553 INFO    ] No existing commands found in stream
[2026-08-29 03:42:51,569.569 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:42:51,572.572 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-08-29 03:42:53,384.384 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:42:53,386.386 INFO    ] Checking for system updates...
[2026-08-29 03:42:53,407.407 INFO    ] 200
[2026-08-29 03:42:53,408.408 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:42:53,438.438 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:42:53,440.440 INFO    ] No update needed
[2026-08-29 03:42:53,441.441 INFO    ] Checking for camera pi updates...
[2026-08-29 03:42:53,460.460 INFO    ] 200
[2026-08-29 03:42:53,462.462 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:42:53,488.488 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:42:53,569.569 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:42:53,570.570 INFO    ] No camera update needed
[2026-08-29 03:42:53,571.571 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:42:53,573.573 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:42:53,576.576 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:42:53,579.579 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:42:55,620.620 INFO    ] ================================================
[2026-08-29 03:42:55,635.635 INFO    ] Launching Daemon at Sat Aug 29 03:42:55 IST 2026
[2026-08-29 03:42:55,646.646 INFO    ] ================================================
[2026-08-29 03:42:56,016.016 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:42:56
[2026-08-29 03:42:56,345.345 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:42:56,606.606 INFO    ] Initializing speech engine...
[2026-08-29 03:42:56,625.625 INFO    ] 2026-08-29 03:42:56
[2026-08-29 03:42:56,877.877 INFO    ] 2026-08-29 03:42:56
[2026-08-29 03:42:56,912.912 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:42:57,087.087 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:42:57,101.101 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:42:57,245.245 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:42:57,253.253 INFO    ] time= 29/08/2026 03:42:57
[2026-08-29 03:42:57,261.261 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:42:57,303.303 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:42:57,412.412 INFO    ] No existing commands found in stream
[2026-08-29 03:43:02,434.434 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:43:02,437.437 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-08-29 03:43:05,736.736 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:43:05,738.738 INFO    ] Checking for system updates...
[2026-08-29 03:43:05,758.758 INFO    ] 200
[2026-08-29 03:43:05,760.760 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:43:05,791.791 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:43:05,793.793 INFO    ] No update needed
[2026-08-29 03:43:05,794.794 INFO    ] Checking for camera pi updates...
[2026-08-29 03:43:05,814.814 INFO    ] 200
[2026-08-29 03:43:05,816.816 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:43:05,842.842 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:43:05,923.923 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:43:05,924.924 INFO    ] No camera update needed
[2026-08-29 03:43:05,925.925 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:43:05,927.927 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:43:05,930.930 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:43:05,932.932 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:43:07,973.973 INFO    ] ================================================
[2026-08-29 03:43:07,988.988 INFO    ] Launching Daemon at Sat Aug 29 03:43:07 IST 2026
[2026-08-29 03:43:08,998.998 INFO    ] ================================================
[2026-08-29 03:43:08,582.582 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:43:08
[2026-08-29 03:43:09,181.181 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:43:09,393.393 INFO    ] Initializing speech engine...
[2026-08-29 03:43:09,397.397 INFO    ] 2026-08-29 03:43:09
[2026-08-29 03:43:09,592.592 INFO    ] 2026-08-29 03:43:09
[2026-08-29 03:43:09,676.676 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:43:09,830.830 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:43:09,836.836 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:43:10,049.049 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:43:10,094.094 INFO    ] time= 29/08/2026 03:43:10
[2026-08-29 03:43:10,100.100 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:43:10,117.117 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:43:10,218.218 INFO    ] No existing commands found in stream
[2026-08-29 03:43:15,249.249 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:43:15,251.251 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-08-29 03:43:15,649.649 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:43:15,651.651 INFO    ] Checking for system updates...
[2026-08-29 03:43:15,671.671 INFO    ] 200
[2026-08-29 03:43:15,673.673 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:43:15,703.703 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:43:15,704.704 INFO    ] No update needed
[2026-08-29 03:43:15,705.705 INFO    ] Checking for camera pi updates...
[2026-08-29 03:43:15,726.726 INFO    ] 200
[2026-08-29 03:43:15,727.727 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:43:15,749.749 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:43:15,844.844 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:43:15,847.847 INFO    ] No camera update needed
[2026-08-29 03:43:15,849.849 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:43:15,851.851 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:43:15,857.857 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:43:15,862.862 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:43:17,903.903 INFO    ] ================================================
[2026-08-29 03:43:17,918.918 INFO    ] Launching Daemon at Sat Aug 29 03:43:17 IST 2026
[2026-08-29 03:43:17,929.929 INFO    ] ================================================
[2026-08-29 03:43:18,496.496 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:43:18
[2026-08-29 03:43:19,082.082 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:43:19,352.352 INFO    ] Initializing speech engine...
[2026-08-29 03:43:19,362.362 INFO    ] 2026-08-29 03:43:19
[2026-08-29 03:43:19,608.608 INFO    ] 2026-08-29 03:43:19
[2026-08-29 03:43:19,644.644 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:43:19,815.815 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:43:19,827.827 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:43:19,969.969 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:43:19,978.978 INFO    ] time= 29/08/2026 03:43:19
[2026-08-29 03:43:19,984.984 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:43:20,030.030 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:43:20,174.174 INFO    ] No existing commands found in stream
[2026-08-29 03:43:25,185.185 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:43:25,188.188 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 03:43:26,341.341 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:43:26,343.343 INFO    ] Checking for system updates...
[2026-08-29 03:43:26,366.366 INFO    ] 200
[2026-08-29 03:43:26,368.368 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:43:26,397.397 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:43:26,399.399 INFO    ] No update needed
[2026-08-29 03:43:26,400.400 INFO    ] Checking for camera pi updates...
[2026-08-29 03:43:26,419.419 INFO    ] 200
[2026-08-29 03:43:26,420.420 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:43:26,443.443 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:43:26,524.524 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:43:26,525.525 INFO    ] No camera update needed
[2026-08-29 03:43:26,527.527 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:43:26,528.528 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:43:26,531.531 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:43:26,534.534 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:43:28,574.574 INFO    ] ================================================
[2026-08-29 03:43:28,590.590 INFO    ] Launching Daemon at Sat Aug 29 03:43:28 IST 2026
[2026-08-29 03:43:28,601.601 INFO    ] ================================================
[2026-08-29 03:43:28,988.988 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:43:28
[2026-08-29 03:43:29,323.323 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:43:29,473.473 INFO    ] Initializing speech engine...
[2026-08-29 03:43:29,478.478 INFO    ] 2026-08-29 03:43:29
[2026-08-29 03:43:29,695.695 INFO    ] 2026-08-29 03:43:29
[2026-08-29 03:43:29,775.775 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:43:29,931.931 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:43:29,953.953 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:43:30,070.070 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:43:30,140.140 INFO    ] time= 29/08/2026 03:43:30
[2026-08-29 03:43:30,195.195 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:43:30,206.206 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:43:30,336.336 INFO    ] No existing commands found in stream
[2026-08-29 03:43:35,359.359 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:43:35,362.362 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-08-29 03:43:39,061.061 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:43:39,063.063 INFO    ] Checking for system updates...
[2026-08-29 03:43:39,084.084 INFO    ] 200
[2026-08-29 03:43:39,085.085 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:43:39,115.115 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:43:39,116.116 INFO    ] No update needed
[2026-08-29 03:43:39,118.118 INFO    ] Checking for camera pi updates...
[2026-08-29 03:43:39,137.137 INFO    ] 200
[2026-08-29 03:43:39,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:43:39,162.162 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:43:39,237.237 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:43:39,238.238 INFO    ] No camera update needed
[2026-08-29 03:43:39,240.240 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:43:39,241.241 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:43:39,244.244 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:43:39,247.247 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:43:41,285.285 INFO    ] ================================================
[2026-08-29 03:43:41,300.300 INFO    ] Launching Daemon at Sat Aug 29 03:43:41 IST 2026
[2026-08-29 03:43:41,312.312 INFO    ] ================================================
[2026-08-29 03:43:41,699.699 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:43:41
[2026-08-29 03:43:42,041.041 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:43:42,194.194 INFO    ] Initializing speech engine...
[2026-08-29 03:43:42,199.199 INFO    ] 2026-08-29 03:43:42
[2026-08-29 03:43:42,410.410 INFO    ] 2026-08-29 03:43:42
[2026-08-29 03:43:42,440.440 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:43:42,566.566 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:43:42,629.629 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:43:42,764.764 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:43:42,821.821 INFO    ] time= 29/08/2026 03:43:42
[2026-08-29 03:43:42,871.871 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:43:42,907.907 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:43:43,048.048 INFO    ] No existing commands found in stream
[2026-08-29 03:43:48,081.081 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:43:48,084.084 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 03:43:48,613.613 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:43:48,615.615 INFO    ] Checking for system updates...
[2026-08-29 03:43:48,637.637 INFO    ] 200
[2026-08-29 03:43:48,638.638 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:43:48,670.670 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:43:48,672.672 INFO    ] No update needed
[2026-08-29 03:43:48,673.673 INFO    ] Checking for camera pi updates...
[2026-08-29 03:43:48,693.693 INFO    ] 200
[2026-08-29 03:43:48,695.695 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:43:48,720.720 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:43:48,796.796 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:43:48,797.797 INFO    ] No camera update needed
[2026-08-29 03:43:48,799.799 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:43:48,800.800 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:43:48,803.803 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:43:48,806.806 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:43:50,845.845 INFO    ] ================================================
[2026-08-29 03:43:50,860.860 INFO    ] Launching Daemon at Sat Aug 29 03:43:50 IST 2026
[2026-08-29 03:43:50,871.871 INFO    ] ================================================
[2026-08-29 03:43:51,250.250 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:43:51
[2026-08-29 03:43:51,591.591 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:43:51,743.743 INFO    ] Initializing speech engine...
[2026-08-29 03:43:51,749.749 INFO    ] 2026-08-29 03:43:51
[2026-08-29 03:43:51,951.951 INFO    ] 2026-08-29 03:43:51
[2026-08-29 03:43:52,032.032 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:43:52,190.190 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:43:52,212.212 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:43:52,385.385 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:43:52,446.446 INFO    ] time= 29/08/2026 03:43:52
[2026-08-29 03:43:52,463.463 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:43:52,483.483 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:43:52,611.611 INFO    ] No existing commands found in stream
[2026-08-29 03:43:57,628.628 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:43:57,631.631 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-08-29 03:44:00,460.460 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:44:00,462.462 INFO    ] Checking for system updates...
[2026-08-29 03:44:00,483.483 INFO    ] 200
[2026-08-29 03:44:00,484.484 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:44:00,516.516 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:44:00,518.518 INFO    ] No update needed
[2026-08-29 03:44:00,519.519 INFO    ] Checking for camera pi updates...
[2026-08-29 03:44:00,546.546 INFO    ] 200
[2026-08-29 03:44:00,548.548 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:44:00,573.573 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:44:00,657.657 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:44:00,658.658 INFO    ] No camera update needed
[2026-08-29 03:44:00,659.659 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:44:00,660.660 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:44:00,664.664 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:44:00,666.666 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:44:02,709.709 INFO    ] ================================================
[2026-08-29 03:44:02,727.727 INFO    ] Launching Daemon at Sat Aug 29 03:44:02 IST 2026
[2026-08-29 03:44:02,742.742 INFO    ] ================================================
[2026-08-29 03:44:03,328.328 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:44:03
[2026-08-29 03:44:03,920.920 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:44:04,177.177 INFO    ] Initializing speech engine...
[2026-08-29 03:44:04,183.183 INFO    ] 2026-08-29 03:44:04
[2026-08-29 03:44:04,444.444 INFO    ] 2026-08-29 03:44:04
[2026-08-29 03:44:04,476.476 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:44:04,624.624 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:44:04,630.630 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:44:04,740.740 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:44:04,746.746 INFO    ] time= 29/08/2026 03:44:04
[2026-08-29 03:44:04,765.765 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:44:04,775.775 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:44:04,829.829 INFO    ] No existing commands found in stream
[2026-08-29 03:44:09,841.841 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:44:09,844.844 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-08-29 03:44:10,428.428 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:44:10,430.430 INFO    ] Checking for system updates...
[2026-08-29 03:44:10,450.450 INFO    ] 200
[2026-08-29 03:44:10,452.452 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:44:10,486.486 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:44:10,487.487 INFO    ] No update needed
[2026-08-29 03:44:10,489.489 INFO    ] Checking for camera pi updates...
[2026-08-29 03:44:10,508.508 INFO    ] 200
[2026-08-29 03:44:10,509.509 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:44:10,534.534 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:44:10,616.616 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:44:10,617.617 INFO    ] No camera update needed
[2026-08-29 03:44:10,618.618 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:44:10,620.620 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:44:10,623.623 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:44:10,625.625 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:44:12,664.664 INFO    ] ================================================
[2026-08-29 03:44:12,679.679 INFO    ] Launching Daemon at Sat Aug 29 03:44:12 IST 2026
[2026-08-29 03:44:12,690.690 INFO    ] ================================================
[2026-08-29 03:44:13,034.034 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:44:13
[2026-08-29 03:44:13,347.347 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:44:13,479.479 INFO    ] Initializing speech engine...
[2026-08-29 03:44:13,484.484 INFO    ] 2026-08-29 03:44:13
[2026-08-29 03:44:13,692.692 INFO    ] 2026-08-29 03:44:13
[2026-08-29 03:44:13,720.720 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:44:13,878.878 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:44:13,936.936 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:44:14,089.089 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:44:14,146.146 INFO    ] time= 29/08/2026 03:44:14
[2026-08-29 03:44:14,176.176 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:44:14,198.198 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:44:14,275.275 INFO    ] No existing commands found in stream
[2026-08-29 03:44:19,286.286 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:44:19,289.289 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-08-29 03:44:20,602.602 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:44:20,604.604 INFO    ] Checking for system updates...
[2026-08-29 03:44:20,624.624 INFO    ] 200
[2026-08-29 03:44:20,626.626 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:44:20,655.655 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:44:20,656.656 INFO    ] No update needed
[2026-08-29 03:44:20,658.658 INFO    ] Checking for camera pi updates...
[2026-08-29 03:44:20,679.679 INFO    ] 200
[2026-08-29 03:44:20,681.681 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:44:20,706.706 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:44:20,881.881 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:44:20,884.884 INFO    ] No camera update needed
[2026-08-29 03:44:20,886.886 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:44:20,888.888 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:44:20,894.894 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:44:20,898.898 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:44:22,938.938 INFO    ] ================================================
[2026-08-29 03:44:22,954.954 INFO    ] Launching Daemon at Sat Aug 29 03:44:22 IST 2026
[2026-08-29 03:44:22,965.965 INFO    ] ================================================
[2026-08-29 03:44:23,530.530 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:44:23
[2026-08-29 03:44:23,995.995 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:44:24,128.128 INFO    ] Initializing speech engine...
[2026-08-29 03:44:24,131.131 INFO    ] 2026-08-29 03:44:24
[2026-08-29 03:44:24,323.323 INFO    ] 2026-08-29 03:44:24
[2026-08-29 03:44:24,375.375 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:44:24,546.546 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:44:24,557.557 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:44:24,697.697 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:44:24,716.716 INFO    ] time= 29/08/2026 03:44:24
[2026-08-29 03:44:24,722.722 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:44:24,776.776 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:44:24,870.870 INFO    ] No existing commands found in stream
[2026-08-29 03:44:29,882.882 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:44:29,885.885 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-08-29 03:44:32,618.618 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:44:32,622.622 INFO    ] Checking for system updates...
[2026-08-29 03:44:32,659.659 INFO    ] 200
[2026-08-29 03:44:32,661.661 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:44:32,716.716 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:44:32,719.719 INFO    ] No update needed
[2026-08-29 03:44:32,722.722 INFO    ] Checking for camera pi updates...
[2026-08-29 03:44:32,757.757 INFO    ] 200
[2026-08-29 03:44:32,759.759 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:44:32,806.806 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:44:32,913.913 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:44:32,915.915 INFO    ] No camera update needed
[2026-08-29 03:44:32,918.918 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:44:32,920.920 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:44:32,926.926 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:44:32,931.931 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:44:34,973.973 INFO    ] ================================================
[2026-08-29 03:44:34,988.988 INFO    ] Launching Daemon at Sat Aug 29 03:44:34 IST 2026
[2026-08-29 03:44:35,999.999 INFO    ] ================================================
[2026-08-29 03:44:35,388.388 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:44:35
[2026-08-29 03:44:35,729.729 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:44:36,013.013 INFO    ] Initializing speech engine...
[2026-08-29 03:44:36,027.027 INFO    ] 2026-08-29 03:44:36
[2026-08-29 03:44:36,337.337 INFO    ] 2026-08-29 03:44:36
[2026-08-29 03:44:36,423.423 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:44:36,578.578 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:44:36,584.584 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:44:36,718.718 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:44:36,799.799 INFO    ] time= 29/08/2026 03:44:36
[2026-08-29 03:44:36,847.847 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:44:36,865.865 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:44:36,996.996 INFO    ] No existing commands found in stream
[2026-08-29 03:44:42,013.013 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:44:42,017.017 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-08-29 03:44:42,993.993 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:44:42,997.997 INFO    ] Checking for system updates...
[2026-08-29 03:44:43,033.033 INFO    ] 200
[2026-08-29 03:44:43,036.036 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:44:43,091.091 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:44:43,094.094 INFO    ] No update needed
[2026-08-29 03:44:43,097.097 INFO    ] Checking for camera pi updates...
[2026-08-29 03:44:43,132.132 INFO    ] 200
[2026-08-29 03:44:43,135.135 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:44:43,175.175 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:44:43,259.259 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:44:43,260.260 INFO    ] No camera update needed
[2026-08-29 03:44:43,262.262 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:44:43,263.263 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:44:43,266.266 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:44:43,269.269 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:44:45,310.310 INFO    ] ================================================
[2026-08-29 03:44:45,326.326 INFO    ] Launching Daemon at Sat Aug 29 03:44:45 IST 2026
[2026-08-29 03:44:45,337.337 INFO    ] ================================================
[2026-08-29 03:44:45,827.827 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:44:45
[2026-08-29 03:44:46,427.427 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:44:46,687.687 INFO    ] Initializing speech engine...
[2026-08-29 03:44:46,703.703 INFO    ] 2026-08-29 03:44:46
[2026-08-29 03:44:46,995.995 INFO    ] 2026-08-29 03:44:46
[2026-08-29 03:44:47,031.031 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:44:47,232.232 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:44:47,238.238 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:44:47,374.374 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:44:47,381.381 INFO    ] time= 29/08/2026 03:44:47
[2026-08-29 03:44:47,401.401 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:44:47,405.405 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:44:47,508.508 INFO    ] No existing commands found in stream
[2026-08-29 03:44:52,517.517 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:44:52,520.520 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-08-29 03:44:54,759.759 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:44:54,760.760 INFO    ] Checking for system updates...
[2026-08-29 03:44:54,783.783 INFO    ] 200
[2026-08-29 03:44:54,784.784 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:44:54,817.817 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:44:54,818.818 INFO    ] No update needed
[2026-08-29 03:44:54,819.819 INFO    ] Checking for camera pi updates...
[2026-08-29 03:44:54,839.839 INFO    ] 200
[2026-08-29 03:44:54,840.840 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:44:54,865.865 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:44:54,945.945 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:44:54,946.946 INFO    ] No camera update needed
[2026-08-29 03:44:54,947.947 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:44:54,949.949 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:44:54,952.952 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:44:54,955.955 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:44:57,995.995 INFO    ] ================================================
[2026-08-29 03:44:57,011.011 INFO    ] Launching Daemon at Sat Aug 29 03:44:57 IST 2026
[2026-08-29 03:44:57,022.022 INFO    ] ================================================
[2026-08-29 03:44:57,375.375 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:44:57
[2026-08-29 03:44:57,715.715 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:44:57,869.869 INFO    ] Initializing speech engine...
[2026-08-29 03:44:57,873.873 INFO    ] 2026-08-29 03:44:57
[2026-08-29 03:44:58,080.080 INFO    ] 2026-08-29 03:44:58
[2026-08-29 03:44:58,110.110 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:44:58,231.231 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:44:58,294.294 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:44:58,429.429 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:44:58,498.498 INFO    ] time= 29/08/2026 03:44:58
[2026-08-29 03:44:58,522.522 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:44:58,529.529 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:44:58,595.595 INFO    ] No existing commands found in stream
[2026-08-29 03:45:03,606.606 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:45:03,609.609 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-08-29 03:45:05,704.704 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:45:05,706.706 INFO    ] Checking for system updates...
[2026-08-29 03:45:05,726.726 INFO    ] 200
[2026-08-29 03:45:05,728.728 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:45:05,759.759 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:45:05,760.760 INFO    ] No update needed
[2026-08-29 03:45:05,762.762 INFO    ] Checking for camera pi updates...
[2026-08-29 03:45:05,782.782 INFO    ] 200
[2026-08-29 03:45:05,783.783 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:45:05,807.807 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:45:05,888.888 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:45:05,891.891 INFO    ] No camera update needed
[2026-08-29 03:45:05,894.894 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:45:05,896.896 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:45:05,903.903 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:45:05,909.909 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:45:07,951.951 INFO    ] ================================================
[2026-08-29 03:45:07,967.967 INFO    ] Launching Daemon at Sat Aug 29 03:45:07 IST 2026
[2026-08-29 03:45:07,978.978 INFO    ] ================================================
[2026-08-29 03:45:08,611.611 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:45:08
[2026-08-29 03:45:09,067.067 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:45:09,220.220 INFO    ] Initializing speech engine...
[2026-08-29 03:45:09,225.225 INFO    ] 2026-08-29 03:45:09
[2026-08-29 03:45:09,433.433 INFO    ] 2026-08-29 03:45:09
[2026-08-29 03:45:09,462.462 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:45:09,595.595 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:45:09,648.648 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:45:09,783.783 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:45:09,850.850 INFO    ] time= 29/08/2026 03:45:09
[2026-08-29 03:45:09,878.878 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:45:09,885.885 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:45:09,952.952 INFO    ] No existing commands found in stream
[2026-08-29 03:45:14,962.962 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:45:14,965.965 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-08-29 03:45:16,939.939 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:45:16,941.941 INFO    ] Checking for system updates...
[2026-08-29 03:45:16,963.963 INFO    ] 200
[2026-08-29 03:45:16,965.965 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:45:16,998.998 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:45:16,999.999 INFO    ] No update needed
[2026-08-29 03:45:17,000.000 INFO    ] Checking for camera pi updates...
[2026-08-29 03:45:17,024.024 INFO    ] 200
[2026-08-29 03:45:17,025.025 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:45:17,050.050 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:45:17,134.134 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:45:17,136.136 INFO    ] No camera update needed
[2026-08-29 03:45:17,137.137 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:45:17,138.138 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:45:17,142.142 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:45:17,145.145 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:45:19,185.185 INFO    ] ================================================
[2026-08-29 03:45:19,201.201 INFO    ] Launching Daemon at Sat Aug 29 03:45:19 IST 2026
[2026-08-29 03:45:19,212.212 INFO    ] ================================================
[2026-08-29 03:45:19,890.890 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:45:19
[2026-08-29 03:45:20,586.586 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:45:20,881.881 INFO    ] Initializing speech engine...
[2026-08-29 03:45:20,891.891 INFO    ] 2026-08-29 03:45:20
[2026-08-29 03:45:21,168.168 INFO    ] 2026-08-29 03:45:21
[2026-08-29 03:45:21,208.208 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:45:21,412.412 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:45:21,418.418 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:45:21,533.533 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:45:21,539.539 INFO    ] time= 29/08/2026 03:45:21
[2026-08-29 03:45:21,551.551 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:45:21,555.555 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:45:21,618.618 INFO    ] No existing commands found in stream
[2026-08-29 03:45:26,633.633 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:45:26,636.636 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-08-29 03:45:28,582.582 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:45:28,585.585 INFO    ] Checking for system updates...
[2026-08-29 03:45:28,622.622 INFO    ] 200
[2026-08-29 03:45:28,625.625 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:45:28,678.678 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:45:28,680.680 INFO    ] No update needed
[2026-08-29 03:45:28,683.683 INFO    ] Checking for camera pi updates...
[2026-08-29 03:45:28,718.718 INFO    ] 200
[2026-08-29 03:45:28,721.721 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:45:28,762.762 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:45:28,875.875 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:45:28,877.877 INFO    ] No camera update needed
[2026-08-29 03:45:28,880.880 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:45:28,883.883 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:45:28,889.889 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:45:28,895.895 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:45:30,935.935 INFO    ] ================================================
[2026-08-29 03:45:30,956.956 INFO    ] Launching Daemon at Sat Aug 29 03:45:30 IST 2026
[2026-08-29 03:45:30,968.968 INFO    ] ================================================
[2026-08-29 03:45:31,339.339 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:45:31
[2026-08-29 03:45:31,980.980 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:45:32,264.264 INFO    ] Initializing speech engine...
[2026-08-29 03:45:32,279.279 INFO    ] 2026-08-29 03:45:32
[2026-08-29 03:45:32,580.580 INFO    ] 2026-08-29 03:45:32
[2026-08-29 03:45:32,617.617 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:45:32,814.814 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:45:32,821.821 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:45:32,930.930 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:45:32,936.936 INFO    ] time= 29/08/2026 03:45:32
[2026-08-29 03:45:32,959.959 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:45:32,967.967 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:45:33,019.019 INFO    ] No existing commands found in stream
[2026-08-29 03:45:38,032.032 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:45:38,035.035 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-08-29 03:45:42,226.226 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:45:42,229.229 INFO    ] Checking for system updates...
[2026-08-29 03:45:42,270.270 INFO    ] 200
[2026-08-29 03:45:42,273.273 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:45:42,330.330 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:45:42,333.333 INFO    ] No update needed
[2026-08-29 03:45:42,336.336 INFO    ] Checking for camera pi updates...
[2026-08-29 03:45:42,370.370 INFO    ] 200
[2026-08-29 03:45:42,373.373 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:45:42,420.420 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:45:42,508.508 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:45:42,511.511 INFO    ] No camera update needed
[2026-08-29 03:45:42,514.514 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:45:42,516.516 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:45:42,522.522 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:45:42,528.528 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:45:44,570.570 INFO    ] ================================================
[2026-08-29 03:45:44,585.585 INFO    ] Launching Daemon at Sat Aug 29 03:45:44 IST 2026
[2026-08-29 03:45:44,596.596 INFO    ] ================================================
[2026-08-29 03:45:44,920.920 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:45:44
[2026-08-29 03:45:45,233.233 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:45:45,367.367 INFO    ] Initializing speech engine...
[2026-08-29 03:45:45,371.371 INFO    ] 2026-08-29 03:45:45
[2026-08-29 03:45:45,576.576 INFO    ] 2026-08-29 03:45:45
[2026-08-29 03:45:45,661.661 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:45:45,835.835 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:45:45,845.845 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:45:45,989.989 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:45:46,005.005 INFO    ] time= 29/08/2026 03:45:45
[2026-08-29 03:45:46,055.055 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:45:46,104.104 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:45:46,180.180 INFO    ] No existing commands found in stream
[2026-08-29 03:45:51,196.196 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:45:51,199.199 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-08-29 03:45:52,666.666 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:45:52,668.668 INFO    ] Checking for system updates...
[2026-08-29 03:45:52,689.689 INFO    ] 200
[2026-08-29 03:45:52,690.690 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:45:52,721.721 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:45:52,722.722 INFO    ] No update needed
[2026-08-29 03:45:52,724.724 INFO    ] Checking for camera pi updates...
[2026-08-29 03:45:52,746.746 INFO    ] 200
[2026-08-29 03:45:52,747.747 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:45:52,770.770 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:45:52,852.852 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:45:52,854.854 INFO    ] No camera update needed
[2026-08-29 03:45:52,855.855 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:45:52,856.856 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:45:52,859.859 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:45:52,861.861 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:45:54,900.900 INFO    ] ================================================
[2026-08-29 03:45:54,915.915 INFO    ] Launching Daemon at Sat Aug 29 03:45:54 IST 2026
[2026-08-29 03:45:54,926.926 INFO    ] ================================================
[2026-08-29 03:45:55,256.256 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:45:55
[2026-08-29 03:45:55,574.574 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:45:55,710.710 INFO    ] Initializing speech engine...
[2026-08-29 03:45:55,715.715 INFO    ] 2026-08-29 03:45:55
[2026-08-29 03:45:55,915.915 INFO    ] 2026-08-29 03:45:55
[2026-08-29 03:45:55,953.953 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:45:56,141.141 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:45:56,158.158 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:45:56,282.282 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:45:56,288.288 INFO    ] time= 29/08/2026 03:45:56
[2026-08-29 03:45:56,303.303 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:45:56,331.331 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:45:56,415.415 INFO    ] No existing commands found in stream
[2026-08-29 03:46:01,426.426 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:46:01,438.438 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-08-29 03:46:02,598.598 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:46:02,602.602 INFO    ] Checking for system updates...
[2026-08-29 03:46:02,647.647 INFO    ] 200
[2026-08-29 03:46:02,650.650 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:46:02,749.749 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:46:02,752.752 INFO    ] No update needed
[2026-08-29 03:46:02,755.755 INFO    ] Checking for camera pi updates...
[2026-08-29 03:46:02,805.805 INFO    ] 200
[2026-08-29 03:46:02,807.807 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:46:02,852.852 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:46:03,000.000 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:46:03,002.002 INFO    ] No camera update needed
[2026-08-29 03:46:03,005.005 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:46:03,007.007 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:46:03,012.012 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:46:03,017.017 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:46:05,058.058 INFO    ] ================================================
[2026-08-29 03:46:05,075.075 INFO    ] Launching Daemon at Sat Aug 29 03:46:05 IST 2026
[2026-08-29 03:46:05,087.087 INFO    ] ================================================
[2026-08-29 03:46:05,593.593 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:46:05
[2026-08-29 03:46:06,206.206 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:46:06,461.461 INFO    ] Initializing speech engine...
[2026-08-29 03:46:06,483.483 INFO    ] 2026-08-29 03:46:06
[2026-08-29 03:46:06,738.738 INFO    ] 2026-08-29 03:46:06
[2026-08-29 03:46:06,773.773 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:46:06,955.955 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:46:06,970.970 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:46:07,083.083 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:46:07,110.110 INFO    ] time= 29/08/2026 03:46:07
[2026-08-29 03:46:07,115.115 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:46:07,122.122 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:46:07,196.196 INFO    ] No existing commands found in stream
[2026-08-29 03:46:12,208.208 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:46:12,211.211 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-08-29 03:46:14,663.663 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:46:14,665.665 INFO    ] Checking for system updates...
[2026-08-29 03:46:14,685.685 INFO    ] 200
[2026-08-29 03:46:14,686.686 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:46:14,716.716 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:46:14,717.717 INFO    ] No update needed
[2026-08-29 03:46:14,719.719 INFO    ] Checking for camera pi updates...
[2026-08-29 03:46:14,738.738 INFO    ] 200
[2026-08-29 03:46:14,740.740 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:46:14,766.766 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:46:14,861.861 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:46:14,863.863 INFO    ] No camera update needed
[2026-08-29 03:46:14,866.866 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:46:14,868.868 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:46:14,874.874 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:46:14,879.879 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:46:16,921.921 INFO    ] ================================================
[2026-08-29 03:46:16,936.936 INFO    ] Launching Daemon at Sat Aug 29 03:46:16 IST 2026
[2026-08-29 03:46:16,948.948 INFO    ] ================================================
[2026-08-29 03:46:17,601.601 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:46:17
[2026-08-29 03:46:18,100.100 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:46:18,251.251 INFO    ] Initializing speech engine...
[2026-08-29 03:46:18,257.257 INFO    ] 2026-08-29 03:46:18
[2026-08-29 03:46:18,465.465 INFO    ] 2026-08-29 03:46:18
[2026-08-29 03:46:18,493.493 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:46:18,616.616 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:46:18,680.680 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:46:18,852.852 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:46:18,895.895 INFO    ] time= 29/08/2026 03:46:18
[2026-08-29 03:46:18,949.949 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:46:19,004.004 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:46:19,097.097 INFO    ] No existing commands found in stream
[2026-08-29 03:46:24,113.113 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:46:24,116.116 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-08-29 03:46:24,961.961 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:46:24,963.963 INFO    ] Checking for system updates...
[2026-08-29 03:46:24,983.983 INFO    ] 200
[2026-08-29 03:46:24,985.985 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:46:25,017.017 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:46:25,018.018 INFO    ] No update needed
[2026-08-29 03:46:25,019.019 INFO    ] Checking for camera pi updates...
[2026-08-29 03:46:25,038.038 INFO    ] 200
[2026-08-29 03:46:25,039.039 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:46:25,062.062 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:46:25,259.259 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:46:25,260.260 INFO    ] No camera update needed
[2026-08-29 03:46:25,262.262 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:46:25,263.263 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:46:25,266.266 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:46:25,268.268 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:46:27,308.308 INFO    ] ================================================
[2026-08-29 03:46:27,324.324 INFO    ] Launching Daemon at Sat Aug 29 03:46:27 IST 2026
[2026-08-29 03:46:27,336.336 INFO    ] ================================================
[2026-08-29 03:46:27,690.690 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:46:27
[2026-08-29 03:46:28,014.014 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:46:28,282.282 INFO    ] Initializing speech engine...
[2026-08-29 03:46:28,308.308 INFO    ] 2026-08-29 03:46:28
[2026-08-29 03:46:28,584.584 INFO    ] 2026-08-29 03:46:28
[2026-08-29 03:46:28,621.621 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:46:28,816.816 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:46:28,832.832 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:46:28,959.959 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:46:28,978.978 INFO    ] time= 29/08/2026 03:46:28
[2026-08-29 03:46:29,000.000 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:46:29,007.007 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:46:29,087.087 INFO    ] No existing commands found in stream
[2026-08-29 03:46:34,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:46:34,107.107 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-08-29 03:46:36,511.511 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:46:36,513.513 INFO    ] Checking for system updates...
[2026-08-29 03:46:36,533.533 INFO    ] 200
[2026-08-29 03:46:36,534.534 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:46:36,564.564 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:46:36,565.565 INFO    ] No update needed
[2026-08-29 03:46:36,567.567 INFO    ] Checking for camera pi updates...
[2026-08-29 03:46:36,590.590 INFO    ] 200
[2026-08-29 03:46:36,592.592 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:46:36,634.634 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:46:36,716.716 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:46:36,718.718 INFO    ] No camera update needed
[2026-08-29 03:46:36,720.720 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:46:36,723.723 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:46:36,728.728 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:46:36,733.733 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:46:38,773.773 INFO    ] ================================================
[2026-08-29 03:46:38,789.789 INFO    ] Launching Daemon at Sat Aug 29 03:46:38 IST 2026
[2026-08-29 03:46:38,799.799 INFO    ] ================================================
[2026-08-29 03:46:39,370.370 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:46:39
[2026-08-29 03:46:39,844.844 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:46:40,035.035 INFO    ] Initializing speech engine...
[2026-08-29 03:46:40,058.058 INFO    ] 2026-08-29 03:46:40
[2026-08-29 03:46:40,314.314 INFO    ] 2026-08-29 03:46:40
[2026-08-29 03:46:40,349.349 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:46:40,526.526 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:46:40,538.538 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:46:40,652.652 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:46:40,671.671 INFO    ] time= 29/08/2026 03:46:40
[2026-08-29 03:46:40,694.694 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:46:40,699.699 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:46:40,768.768 INFO    ] No existing commands found in stream
[2026-08-29 03:46:45,781.781 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:46:45,784.784 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-08-29 03:46:47,872.872 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:46:47,873.873 INFO    ] Checking for system updates...
[2026-08-29 03:46:47,894.894 INFO    ] 200
[2026-08-29 03:46:47,895.895 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:46:47,924.924 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:46:47,926.926 INFO    ] No update needed
[2026-08-29 03:46:47,927.927 INFO    ] Checking for camera pi updates...
[2026-08-29 03:46:47,946.946 INFO    ] 200
[2026-08-29 03:46:47,947.947 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:46:47,970.970 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:46:48,049.049 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:46:48,051.051 INFO    ] No camera update needed
[2026-08-29 03:46:48,053.053 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:46:48,056.056 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:46:48,061.061 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:46:48,066.066 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:46:50,105.105 INFO    ] ================================================
[2026-08-29 03:46:50,120.120 INFO    ] Launching Daemon at Sat Aug 29 03:46:50 IST 2026
[2026-08-29 03:46:50,132.132 INFO    ] ================================================
[2026-08-29 03:46:50,699.699 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:46:50
[2026-08-29 03:46:51,204.204 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:46:51,384.384 INFO    ] Initializing speech engine...
[2026-08-29 03:46:51,393.393 INFO    ] 2026-08-29 03:46:51
[2026-08-29 03:46:51,640.640 INFO    ] 2026-08-29 03:46:51
[2026-08-29 03:46:51,675.675 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:46:51,847.847 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:46:51,869.869 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:46:51,984.984 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:46:52,005.005 INFO    ] time= 29/08/2026 03:46:51
[2026-08-29 03:46:52,011.011 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:46:52,017.017 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:46:52,085.085 INFO    ] No existing commands found in stream
[2026-08-29 03:46:57,100.100 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:46:57,103.103 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-08-29 03:47:00,752.752 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:47:00,753.753 INFO    ] Checking for system updates...
[2026-08-29 03:47:00,775.775 INFO    ] 200
[2026-08-29 03:47:00,776.776 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:47:00,806.806 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:47:00,807.807 INFO    ] No update needed
[2026-08-29 03:47:00,809.809 INFO    ] Checking for camera pi updates...
[2026-08-29 03:47:00,829.829 INFO    ] 200
[2026-08-29 03:47:00,830.830 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:47:00,853.853 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:47:00,937.937 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:47:00,938.938 INFO    ] No camera update needed
[2026-08-29 03:47:00,939.939 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:47:00,940.940 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:47:00,943.943 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:47:00,946.946 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:47:02,991.991 INFO    ] ================================================
[2026-08-29 03:47:03,006.006 INFO    ] Launching Daemon at Sat Aug 29 03:47:03 IST 2026
[2026-08-29 03:47:03,017.017 INFO    ] ================================================
[2026-08-29 03:47:03,584.584 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:47:03
[2026-08-29 03:47:04,171.171 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:47:04,427.427 INFO    ] Initializing speech engine...
[2026-08-29 03:47:04,442.442 INFO    ] 2026-08-29 03:47:04
[2026-08-29 03:47:04,700.700 INFO    ] 2026-08-29 03:47:04
[2026-08-29 03:47:04,781.781 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:47:04,934.934 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:47:04,943.943 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:47:05,079.079 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:47:05,111.111 INFO    ] time= 29/08/2026 03:47:05
[2026-08-29 03:47:05,166.166 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:47:05,215.215 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:47:05,269.269 INFO    ] No existing commands found in stream
[2026-08-29 03:47:10,281.281 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:47:10,284.284 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-08-29 03:47:11,655.655 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:47:11,656.656 INFO    ] Checking for system updates...
[2026-08-29 03:47:11,677.677 INFO    ] 200
[2026-08-29 03:47:11,678.678 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:47:11,708.708 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:47:11,709.709 INFO    ] No update needed
[2026-08-29 03:47:11,710.710 INFO    ] Checking for camera pi updates...
[2026-08-29 03:47:11,729.729 INFO    ] 200
[2026-08-29 03:47:11,731.731 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:47:11,755.755 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:47:11,833.833 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:47:11,834.834 INFO    ] No camera update needed
[2026-08-29 03:47:11,835.835 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:47:11,836.836 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:47:11,839.839 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:47:11,842.842 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:47:13,880.880 INFO    ] ================================================
[2026-08-29 03:47:13,895.895 INFO    ] Launching Daemon at Sat Aug 29 03:47:13 IST 2026
[2026-08-29 03:47:13,906.906 INFO    ] ================================================
[2026-08-29 03:47:14,243.243 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:47:14
[2026-08-29 03:47:14,786.786 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:47:15,060.060 INFO    ] Initializing speech engine...
[2026-08-29 03:47:15,066.066 INFO    ] 2026-08-29 03:47:15
[2026-08-29 03:47:15,311.311 INFO    ] 2026-08-29 03:47:15
[2026-08-29 03:47:15,347.347 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:47:15,517.517 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:47:15,531.531 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:47:15,672.672 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:47:15,681.681 INFO    ] time= 29/08/2026 03:47:15
[2026-08-29 03:47:15,687.687 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:47:15,729.729 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:47:15,856.856 INFO    ] No existing commands found in stream
[2026-08-29 03:47:20,882.882 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:47:20,885.885 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-08-29 03:47:24,887.887 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:47:24,889.889 INFO    ] Checking for system updates...
[2026-08-29 03:47:24,929.929 INFO    ] 200
[2026-08-29 03:47:24,932.932 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:47:24,985.985 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:47:24,988.988 INFO    ] No update needed
[2026-08-29 03:47:24,991.991 INFO    ] Checking for camera pi updates...
[2026-08-29 03:47:25,026.026 INFO    ] 200
[2026-08-29 03:47:25,028.028 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:47:25,069.069 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:47:25,158.158 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:47:25,161.161 INFO    ] No camera update needed
[2026-08-29 03:47:25,164.164 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:47:25,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:47:25,172.172 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:47:25,178.178 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:47:27,218.218 INFO    ] ================================================
[2026-08-29 03:47:27,233.233 INFO    ] Launching Daemon at Sat Aug 29 03:47:27 IST 2026
[2026-08-29 03:47:27,244.244 INFO    ] ================================================
[2026-08-29 03:47:27,606.606 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:47:27
[2026-08-29 03:47:27,923.923 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:47:28,067.067 INFO    ] Initializing speech engine...
[2026-08-29 03:47:28,073.073 INFO    ] 2026-08-29 03:47:28
[2026-08-29 03:47:28,276.276 INFO    ] 2026-08-29 03:47:28
[2026-08-29 03:47:28,304.304 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:47:28,447.447 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:47:28,452.452 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:47:28,625.625 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:47:28,652.652 INFO    ] time= 29/08/2026 03:47:28
[2026-08-29 03:47:28,668.668 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:47:28,677.677 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:47:28,785.785 INFO    ] No existing commands found in stream
[2026-08-29 03:47:33,815.815 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:47:33,817.817 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-08-29 03:47:35,528.528 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:47:35,529.529 INFO    ] Checking for system updates...
[2026-08-29 03:47:35,551.551 INFO    ] 200
[2026-08-29 03:47:35,552.552 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:47:35,584.584 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:47:35,586.586 INFO    ] No update needed
[2026-08-29 03:47:35,587.587 INFO    ] Checking for camera pi updates...
[2026-08-29 03:47:35,606.606 INFO    ] 200
[2026-08-29 03:47:35,608.608 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:47:35,631.631 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:47:35,708.708 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:47:35,709.709 INFO    ] No camera update needed
[2026-08-29 03:47:35,711.711 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:47:35,712.712 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:47:35,715.715 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:47:35,718.718 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:47:37,757.757 INFO    ] ================================================
[2026-08-29 03:47:37,773.773 INFO    ] Launching Daemon at Sat Aug 29 03:47:37 IST 2026
[2026-08-29 03:47:37,784.784 INFO    ] ================================================
[2026-08-29 03:47:38,133.133 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:47:38
[2026-08-29 03:47:38,449.449 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:47:38,593.593 INFO    ] Initializing speech engine...
[2026-08-29 03:47:38,597.597 INFO    ] 2026-08-29 03:47:38
[2026-08-29 03:47:38,801.801 INFO    ] 2026-08-29 03:47:38
[2026-08-29 03:47:38,830.830 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:47:38,967.967 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:47:39,015.015 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:47:39,163.163 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:47:39,210.210 INFO    ] time= 29/08/2026 03:47:39
[2026-08-29 03:47:39,264.264 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:47:39,275.275 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:47:39,404.404 INFO    ] No existing commands found in stream
[2026-08-29 03:47:44,432.432 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:47:44,435.435 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-08-29 03:47:47,476.476 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:47:47,478.478 INFO    ] Checking for system updates...
[2026-08-29 03:47:47,498.498 INFO    ] 200
[2026-08-29 03:47:47,499.499 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:47:47,529.529 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:47:47,530.530 INFO    ] No update needed
[2026-08-29 03:47:47,531.531 INFO    ] Checking for camera pi updates...
[2026-08-29 03:47:47,551.551 INFO    ] 200
[2026-08-29 03:47:47,552.552 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:47:47,577.577 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:47:47,667.667 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:47:47,668.668 INFO    ] No camera update needed
[2026-08-29 03:47:47,669.669 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:47:47,670.670 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:47:47,674.674 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:47:47,676.676 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:47:49,716.716 INFO    ] ================================================
[2026-08-29 03:47:49,731.731 INFO    ] Launching Daemon at Sat Aug 29 03:47:49 IST 2026
[2026-08-29 03:47:49,743.743 INFO    ] ================================================
[2026-08-29 03:47:50,094.094 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:47:50
[2026-08-29 03:47:50,406.406 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:47:50,541.541 INFO    ] Initializing speech engine...
[2026-08-29 03:47:50,549.549 INFO    ] 2026-08-29 03:47:50
[2026-08-29 03:47:50,742.742 INFO    ] 2026-08-29 03:47:50
[2026-08-29 03:47:50,827.827 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:47:50,987.987 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:47:50,990.990 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:47:51,145.145 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:47:51,161.161 INFO    ] time= 29/08/2026 03:47:51
[2026-08-29 03:47:51,226.226 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:47:51,276.276 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:47:51,334.334 INFO    ] No existing commands found in stream
[2026-08-29 03:47:56,346.346 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:47:56,349.349 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-08-29 03:48:05,153.153 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:48:05,156.156 INFO    ] Checking for system updates...
[2026-08-29 03:48:05,192.192 INFO    ] 200
[2026-08-29 03:48:05,194.194 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:48:05,247.247 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:48:05,250.250 INFO    ] No update needed
[2026-08-29 03:48:05,252.252 INFO    ] Checking for camera pi updates...
[2026-08-29 03:48:05,286.286 INFO    ] 200
[2026-08-29 03:48:05,288.288 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:48:05,328.328 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:48:05,424.424 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:48:05,427.427 INFO    ] No camera update needed
[2026-08-29 03:48:05,429.429 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:48:05,432.432 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:48:05,437.437 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:48:05,442.442 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:48:07,483.483 INFO    ] ================================================
[2026-08-29 03:48:07,499.499 INFO    ] Launching Daemon at Sat Aug 29 03:48:07 IST 2026
[2026-08-29 03:48:07,510.510 INFO    ] ================================================
[2026-08-29 03:48:08,073.073 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:48:08
[2026-08-29 03:48:08,735.735 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:48:09,034.034 INFO    ] Initializing speech engine...
[2026-08-29 03:48:09,041.041 INFO    ] 2026-08-29 03:48:09
[2026-08-29 03:48:09,313.313 INFO    ] 2026-08-29 03:48:09
[2026-08-29 03:48:09,368.368 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:48:09,593.593 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:48:09,602.602 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:48:09,735.735 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:48:09,782.782 INFO    ] time= 29/08/2026 03:48:09
[2026-08-29 03:48:09,848.848 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:48:09,872.872 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:48:09,926.926 INFO    ] No existing commands found in stream
[2026-08-29 03:48:14,938.938 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:48:14,942.942 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-08-29 03:48:15,869.869 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:48:15,870.870 INFO    ] Checking for system updates...
[2026-08-29 03:48:15,892.892 INFO    ] 200
[2026-08-29 03:48:15,893.893 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:48:15,929.929 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:48:15,931.931 INFO    ] No update needed
[2026-08-29 03:48:15,932.932 INFO    ] Checking for camera pi updates...
[2026-08-29 03:48:15,952.952 INFO    ] 200
[2026-08-29 03:48:15,954.954 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:48:15,977.977 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:48:16,118.118 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:48:16,119.119 INFO    ] No camera update needed
[2026-08-29 03:48:16,121.121 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:48:16,122.122 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:48:16,125.125 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:48:16,128.128 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:48:18,168.168 INFO    ] ================================================
[2026-08-29 03:48:18,184.184 INFO    ] Launching Daemon at Sat Aug 29 03:48:18 IST 2026
[2026-08-29 03:48:18,195.195 INFO    ] ================================================
[2026-08-29 03:48:18,756.756 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:48:18
[2026-08-29 03:48:19,340.340 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:48:19,610.610 INFO    ] Initializing speech engine...
[2026-08-29 03:48:19,620.620 INFO    ] 2026-08-29 03:48:19
[2026-08-29 03:48:19,867.867 INFO    ] 2026-08-29 03:48:19
[2026-08-29 03:48:19,934.934 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:48:20,156.156 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:48:20,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:48:20,299.299 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:48:20,336.336 INFO    ] time= 29/08/2026 03:48:20
[2026-08-29 03:48:20,386.386 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:48:20,430.430 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:48:20,491.491 INFO    ] No existing commands found in stream
[2026-08-29 03:48:25,502.502 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:48:25,505.505 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-08-29 03:48:29,831.831 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:48:29,833.833 INFO    ] Checking for system updates...
[2026-08-29 03:48:29,853.853 INFO    ] 200
[2026-08-29 03:48:29,855.855 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:48:29,885.885 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:48:29,886.886 INFO    ] No update needed
[2026-08-29 03:48:29,887.887 INFO    ] Checking for camera pi updates...
[2026-08-29 03:48:29,906.906 INFO    ] 200
[2026-08-29 03:48:29,907.907 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:48:29,932.932 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:48:30,107.107 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:48:30,108.108 INFO    ] No camera update needed
[2026-08-29 03:48:30,109.109 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:48:30,111.111 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:48:30,114.114 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:48:30,116.116 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:48:32,157.157 INFO    ] ================================================
[2026-08-29 03:48:32,176.176 INFO    ] Launching Daemon at Sat Aug 29 03:48:32 IST 2026
[2026-08-29 03:48:32,187.187 INFO    ] ================================================
[2026-08-29 03:48:32,712.712 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:48:32
[2026-08-29 03:48:33,329.329 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:48:33,595.595 INFO    ] Initializing speech engine...
[2026-08-29 03:48:33,612.612 INFO    ] 2026-08-29 03:48:33
[2026-08-29 03:48:33,863.863 INFO    ] 2026-08-29 03:48:33
[2026-08-29 03:48:33,898.898 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:48:34,089.089 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:48:34,105.105 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:48:34,228.228 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:48:34,233.233 INFO    ] time= 29/08/2026 03:48:34
[2026-08-29 03:48:34,251.251 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:48:34,274.274 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:48:34,355.355 INFO    ] No existing commands found in stream
[2026-08-29 03:48:39,368.368 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:48:39,371.371 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-08-29 03:48:40,254.254 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:48:40,255.255 INFO    ] Checking for system updates...
[2026-08-29 03:48:40,276.276 INFO    ] 200
[2026-08-29 03:48:40,277.277 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:48:40,307.307 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:48:40,309.309 INFO    ] No update needed
[2026-08-29 03:48:40,311.311 INFO    ] Checking for camera pi updates...
[2026-08-29 03:48:40,329.329 INFO    ] 200
[2026-08-29 03:48:40,331.331 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:48:40,356.356 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:48:40,434.434 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:48:40,436.436 INFO    ] No camera update needed
[2026-08-29 03:48:40,437.437 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:48:40,438.438 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:48:40,441.441 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:48:40,443.443 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:48:42,484.484 INFO    ] ================================================
[2026-08-29 03:48:42,500.500 INFO    ] Launching Daemon at Sat Aug 29 03:48:42 IST 2026
[2026-08-29 03:48:42,511.511 INFO    ] ================================================
[2026-08-29 03:48:42,901.901 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:48:42
[2026-08-29 03:48:43,233.233 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:48:43,382.382 INFO    ] Initializing speech engine...
[2026-08-29 03:48:43,388.388 INFO    ] 2026-08-29 03:48:43
[2026-08-29 03:48:43,594.594 INFO    ] 2026-08-29 03:48:43
[2026-08-29 03:48:43,623.623 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:48:43,760.760 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:48:43,808.808 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:48:43,944.944 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:48:44,010.010 INFO    ] time= 29/08/2026 03:48:43
[2026-08-29 03:48:44,037.037 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:48:44,044.044 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:48:44,110.110 INFO    ] No existing commands found in stream
[2026-08-29 03:48:49,120.120 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:48:49,124.124 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-08-29 03:48:51,213.213 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:48:51,215.215 INFO    ] Checking for system updates...
[2026-08-29 03:48:51,236.236 INFO    ] 200
[2026-08-29 03:48:51,237.237 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:48:51,267.267 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:48:51,268.268 INFO    ] No update needed
[2026-08-29 03:48:51,270.270 INFO    ] Checking for camera pi updates...
[2026-08-29 03:48:51,289.289 INFO    ] 200
[2026-08-29 03:48:51,290.290 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:48:51,314.314 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:48:51,436.436 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:48:51,437.437 INFO    ] No camera update needed
[2026-08-29 03:48:51,439.439 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:48:51,440.440 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:48:51,443.443 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:48:51,446.446 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:48:53,489.489 INFO    ] ================================================
[2026-08-29 03:48:53,504.504 INFO    ] Launching Daemon at Sat Aug 29 03:48:53 IST 2026
[2026-08-29 03:48:53,515.515 INFO    ] ================================================
[2026-08-29 03:48:53,856.856 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:48:53
[2026-08-29 03:48:54,168.168 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:48:54,303.303 INFO    ] Initializing speech engine...
[2026-08-29 03:48:54,315.315 INFO    ] 2026-08-29 03:48:54
[2026-08-29 03:48:54,551.551 INFO    ] 2026-08-29 03:48:54
[2026-08-29 03:48:54,584.584 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:48:54,731.731 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:48:54,737.737 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:48:54,887.887 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:48:54,896.896 INFO    ] time= 29/08/2026 03:48:54
[2026-08-29 03:48:54,901.901 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:48:54,923.923 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:48:54,975.975 INFO    ] No existing commands found in stream
[2026-08-29 03:48:59,984.984 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:48:59,986.986 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 03:49:02,463.463 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:49:02,467.467 INFO    ] Checking for system updates...
[2026-08-29 03:49:02,508.508 INFO    ] 200
[2026-08-29 03:49:02,511.511 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:49:02,576.576 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:49:02,580.580 INFO    ] No update needed
[2026-08-29 03:49:02,583.583 INFO    ] Checking for camera pi updates...
[2026-08-29 03:49:02,629.629 INFO    ] 200
[2026-08-29 03:49:02,639.639 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:49:02,693.693 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:49:02,779.779 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:49:02,783.783 INFO    ] No camera update needed
[2026-08-29 03:49:02,786.786 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:49:02,789.789 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:49:02,795.795 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:49:02,802.802 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:49:04,844.844 INFO    ] ================================================
[2026-08-29 03:49:04,859.859 INFO    ] Launching Daemon at Sat Aug 29 03:49:04 IST 2026
[2026-08-29 03:49:04,869.869 INFO    ] ================================================
[2026-08-29 03:49:05,300.300 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:49:05
[2026-08-29 03:49:05,612.612 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:49:05,741.741 INFO    ] Initializing speech engine...
[2026-08-29 03:49:05,746.746 INFO    ] 2026-08-29 03:49:05
[2026-08-29 03:49:05,951.951 INFO    ] 2026-08-29 03:49:05
[2026-08-29 03:49:05,993.993 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:49:06,214.214 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:49:06,222.222 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:49:06,357.357 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:49:06,373.373 INFO    ] time= 29/08/2026 03:49:06
[2026-08-29 03:49:06,443.443 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:49:06,490.490 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:49:06,603.603 INFO    ] No existing commands found in stream
[2026-08-29 03:49:11,628.628 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:49:11,630.630 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-08-29 03:49:12,694.694 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:49:12,695.695 INFO    ] Checking for system updates...
[2026-08-29 03:49:12,717.717 INFO    ] 200
[2026-08-29 03:49:12,719.719 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:49:12,751.751 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:49:12,752.752 INFO    ] No update needed
[2026-08-29 03:49:12,754.754 INFO    ] Checking for camera pi updates...
[2026-08-29 03:49:12,775.775 INFO    ] 200
[2026-08-29 03:49:12,776.776 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:49:12,800.800 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:49:12,883.883 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:49:12,884.884 INFO    ] No camera update needed
[2026-08-29 03:49:12,886.886 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:49:12,887.887 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:49:12,890.890 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:49:12,893.893 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:49:14,934.934 INFO    ] ================================================
[2026-08-29 03:49:14,949.949 INFO    ] Launching Daemon at Sat Aug 29 03:49:14 IST 2026
[2026-08-29 03:49:14,960.960 INFO    ] ================================================
[2026-08-29 03:49:15,322.322 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:49:15
[2026-08-29 03:49:15,635.635 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:49:15,771.771 INFO    ] Initializing speech engine...
[2026-08-29 03:49:15,786.786 INFO    ] 2026-08-29 03:49:15
[2026-08-29 03:49:16,003.003 INFO    ] 2026-08-29 03:49:15
[2026-08-29 03:49:16,033.033 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:49:16,190.190 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:49:16,202.202 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:49:16,343.343 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:49:16,350.350 INFO    ] time= 29/08/2026 03:49:16
[2026-08-29 03:49:16,370.370 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:49:16,377.377 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:49:16,495.495 INFO    ] No existing commands found in stream
[2026-08-29 03:49:21,525.525 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:49:21,528.528 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-08-29 03:49:22,966.966 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:49:22,968.968 INFO    ] Checking for system updates...
[2026-08-29 03:49:22,991.991 INFO    ] 200
[2026-08-29 03:49:22,993.993 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:49:23,051.051 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:49:23,054.054 INFO    ] No update needed
[2026-08-29 03:49:23,057.057 INFO    ] Checking for camera pi updates...
[2026-08-29 03:49:23,097.097 INFO    ] 200
[2026-08-29 03:49:23,100.100 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:49:23,145.145 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:49:23,240.240 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:49:23,243.243 INFO    ] No camera update needed
[2026-08-29 03:49:23,245.245 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:49:23,247.247 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:49:23,253.253 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:49:23,258.258 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:49:25,298.298 INFO    ] ================================================
[2026-08-29 03:49:25,314.314 INFO    ] Launching Daemon at Sat Aug 29 03:49:25 IST 2026
[2026-08-29 03:49:25,325.325 INFO    ] ================================================
[2026-08-29 03:49:25,891.891 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:49:25
[2026-08-29 03:49:26,314.314 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:49:26,457.457 INFO    ] Initializing speech engine...
[2026-08-29 03:49:26,462.462 INFO    ] 2026-08-29 03:49:26
[2026-08-29 03:49:26,666.666 INFO    ] 2026-08-29 03:49:26
[2026-08-29 03:49:26,696.696 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:49:26,823.823 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:49:26,892.892 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:49:27,029.029 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:49:27,085.085 INFO    ] time= 29/08/2026 03:49:27
[2026-08-29 03:49:27,110.110 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:49:27,166.166 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:49:27,266.266 INFO    ] No existing commands found in stream
[2026-08-29 03:49:32,273.273 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:49:32,275.275 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-08-29 03:49:34,370.370 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:49:34,372.372 INFO    ] Checking for system updates...
[2026-08-29 03:49:34,407.407 INFO    ] 200
[2026-08-29 03:49:34,410.410 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:49:34,472.472 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:49:34,475.475 INFO    ] No update needed
[2026-08-29 03:49:34,477.477 INFO    ] Checking for camera pi updates...
[2026-08-29 03:49:34,514.514 INFO    ] 200
[2026-08-29 03:49:34,516.516 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:49:34,556.556 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:49:34,640.640 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:49:34,643.643 INFO    ] No camera update needed
[2026-08-29 03:49:34,645.645 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:49:34,648.648 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:49:34,653.653 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:49:34,658.658 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:49:36,697.697 INFO    ] ================================================
[2026-08-29 03:49:36,713.713 INFO    ] Launching Daemon at Sat Aug 29 03:49:36 IST 2026
[2026-08-29 03:49:36,724.724 INFO    ] ================================================
[2026-08-29 03:49:37,102.102 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:49:37
[2026-08-29 03:49:37,436.436 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:49:37,586.586 INFO    ] Initializing speech engine...
[2026-08-29 03:49:37,592.592 INFO    ] 2026-08-29 03:49:37
[2026-08-29 03:49:37,801.801 INFO    ] 2026-08-29 03:49:37
[2026-08-29 03:49:37,830.830 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:49:37,980.980 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:49:38,017.017 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:49:38,163.163 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:49:38,172.172 INFO    ] time= 29/08/2026 03:49:38
[2026-08-29 03:49:38,199.199 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:49:38,251.251 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:49:38,369.369 INFO    ] No existing commands found in stream
[2026-08-29 03:49:43,388.388 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:49:43,391.391 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-08-29 03:49:47,255.255 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:49:47,257.257 INFO    ] Checking for system updates...
[2026-08-29 03:49:47,283.283 INFO    ] 200
[2026-08-29 03:49:47,284.284 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:49:47,325.325 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:49:47,327.327 INFO    ] No update needed
[2026-08-29 03:49:47,330.330 INFO    ] Checking for camera pi updates...
[2026-08-29 03:49:47,363.363 INFO    ] 200
[2026-08-29 03:49:47,366.366 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:49:47,406.406 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:49:47,489.489 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:49:47,491.491 INFO    ] No camera update needed
[2026-08-29 03:49:47,494.494 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:49:47,496.496 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:49:47,501.501 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:49:47,506.506 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:49:49,547.547 INFO    ] ================================================
[2026-08-29 03:49:49,563.563 INFO    ] Launching Daemon at Sat Aug 29 03:49:49 IST 2026
[2026-08-29 03:49:49,574.574 INFO    ] ================================================
[2026-08-29 03:49:50,149.149 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:49:50
[2026-08-29 03:49:50,597.597 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:49:50,734.734 INFO    ] Initializing speech engine...
[2026-08-29 03:49:50,747.747 INFO    ] 2026-08-29 03:49:50
[2026-08-29 03:49:50,941.941 INFO    ] 2026-08-29 03:49:50
[2026-08-29 03:49:50,980.980 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:49:51,175.175 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:49:51,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:49:51,312.312 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:49:51,319.319 INFO    ] time= 29/08/2026 03:49:51
[2026-08-29 03:49:51,325.325 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:49:51,346.346 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:49:51,446.446 INFO    ] No existing commands found in stream
[2026-08-29 03:49:56,457.457 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:49:56,460.460 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-08-29 03:49:59,863.863 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:49:59,864.864 INFO    ] Checking for system updates...
[2026-08-29 03:49:59,885.885 INFO    ] 200
[2026-08-29 03:49:59,886.886 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:49:59,917.917 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:49:59,918.918 INFO    ] No update needed
[2026-08-29 03:49:59,919.919 INFO    ] Checking for camera pi updates...
[2026-08-29 03:49:59,939.939 INFO    ] 200
[2026-08-29 03:49:59,940.940 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:49:59,963.963 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:50:00,039.039 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:50:00,040.040 INFO    ] No camera update needed
[2026-08-29 03:50:00,042.042 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:50:00,043.043 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:50:00,046.046 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:50:00,049.049 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:50:02,124.124 INFO    ] ================================================
[2026-08-29 03:50:02,165.165 INFO    ] Launching Daemon at Sat Aug 29 03:50:02 IST 2026
[2026-08-29 03:50:02,225.225 INFO    ] ================================================
[2026-08-29 03:50:03,091.091 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:50:03
[2026-08-29 03:50:03,797.797 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:50:04,061.061 INFO    ] Initializing speech engine...
[2026-08-29 03:50:04,067.067 INFO    ] 2026-08-29 03:50:04
[2026-08-29 03:50:04,368.368 INFO    ] 2026-08-29 03:50:04
[2026-08-29 03:50:04,407.407 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:50:04,556.556 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:50:04,562.562 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:50:04,717.717 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:50:04,726.726 INFO    ] time= 29/08/2026 03:50:04
[2026-08-29 03:50:04,731.731 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:50:04,736.736 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:50:04,808.808 INFO    ] No existing commands found in stream
[2026-08-29 03:50:09,818.818 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:50:09,821.821 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-08-29 03:50:11,724.724 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:50:11,726.726 INFO    ] Checking for system updates...
[2026-08-29 03:50:11,746.746 INFO    ] 200
[2026-08-29 03:50:11,748.748 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:50:11,777.777 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:50:11,779.779 INFO    ] No update needed
[2026-08-29 03:50:11,780.780 INFO    ] Checking for camera pi updates...
[2026-08-29 03:50:11,799.799 INFO    ] 200
[2026-08-29 03:50:11,800.800 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:50:11,836.836 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:50:11,938.938 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:50:11,940.940 INFO    ] No camera update needed
[2026-08-29 03:50:11,943.943 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:50:11,945.945 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:50:11,950.950 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:50:11,955.955 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:50:14,996.996 INFO    ] ================================================
[2026-08-29 03:50:14,011.011 INFO    ] Launching Daemon at Sat Aug 29 03:50:14 IST 2026
[2026-08-29 03:50:14,023.023 INFO    ] ================================================
[2026-08-29 03:50:14,681.681 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:50:14
[2026-08-29 03:50:15,149.149 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:50:15,370.370 INFO    ] Initializing speech engine...
[2026-08-29 03:50:15,377.377 INFO    ] 2026-08-29 03:50:15
[2026-08-29 03:50:15,655.655 INFO    ] 2026-08-29 03:50:15
[2026-08-29 03:50:15,710.710 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:50:15,932.932 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:50:15,942.942 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:50:16,078.078 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:50:16,134.134 INFO    ] time= 29/08/2026 03:50:16
[2026-08-29 03:50:16,204.204 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:50:16,215.215 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:50:16,346.346 INFO    ] No existing commands found in stream
[2026-08-29 03:50:21,371.371 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:50:21,375.375 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-08-29 03:50:23,663.663 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:50:23,665.665 INFO    ] Checking for system updates...
[2026-08-29 03:50:23,686.686 INFO    ] 200
[2026-08-29 03:50:23,687.687 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:50:23,717.717 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:50:23,719.719 INFO    ] No update needed
[2026-08-29 03:50:23,720.720 INFO    ] Checking for camera pi updates...
[2026-08-29 03:50:23,739.739 INFO    ] 200
[2026-08-29 03:50:23,741.741 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:50:23,765.765 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:50:23,841.841 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:50:23,843.843 INFO    ] No camera update needed
[2026-08-29 03:50:23,844.844 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:50:23,845.845 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:50:23,849.849 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:50:23,852.852 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:50:25,892.892 INFO    ] ================================================
[2026-08-29 03:50:25,908.908 INFO    ] Launching Daemon at Sat Aug 29 03:50:25 IST 2026
[2026-08-29 03:50:25,919.919 INFO    ] ================================================
[2026-08-29 03:50:26,261.261 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:50:26
[2026-08-29 03:50:26,575.575 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:50:26,796.796 INFO    ] Initializing speech engine...
[2026-08-29 03:50:26,805.805 INFO    ] 2026-08-29 03:50:26
[2026-08-29 03:50:27,049.049 INFO    ] 2026-08-29 03:50:27
[2026-08-29 03:50:27,085.085 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:50:27,258.258 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:50:27,348.348 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:50:27,480.480 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:50:27,533.533 INFO    ] time= 29/08/2026 03:50:27
[2026-08-29 03:50:27,587.587 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:50:27,615.615 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:50:27,673.673 INFO    ] No existing commands found in stream
[2026-08-29 03:50:32,685.685 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:50:32,688.688 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-08-29 03:50:36,356.356 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:50:36,357.357 INFO    ] Checking for system updates...
[2026-08-29 03:50:36,378.378 INFO    ] 200
[2026-08-29 03:50:36,379.379 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:50:36,410.410 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:50:36,411.411 INFO    ] No update needed
[2026-08-29 03:50:36,412.412 INFO    ] Checking for camera pi updates...
[2026-08-29 03:50:36,435.435 INFO    ] 200
[2026-08-29 03:50:36,436.436 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:50:36,459.459 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:50:36,540.540 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:50:36,542.542 INFO    ] No camera update needed
[2026-08-29 03:50:36,543.543 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:50:36,544.544 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:50:36,547.547 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:50:36,550.550 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:50:38,589.589 INFO    ] ================================================
[2026-08-29 03:50:38,604.604 INFO    ] Launching Daemon at Sat Aug 29 03:50:38 IST 2026
[2026-08-29 03:50:38,616.616 INFO    ] ================================================
[2026-08-29 03:50:38,977.977 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:50:38
[2026-08-29 03:50:39,290.290 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:50:39,427.427 INFO    ] Initializing speech engine...
[2026-08-29 03:50:39,440.440 INFO    ] 2026-08-29 03:50:39
[2026-08-29 03:50:39,668.668 INFO    ] 2026-08-29 03:50:39
[2026-08-29 03:50:39,729.729 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:50:39,881.881 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:50:39,900.900 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:50:40,058.058 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:50:40,097.097 INFO    ] time= 29/08/2026 03:50:40
[2026-08-29 03:50:40,157.157 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:50:40,162.162 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:50:40,221.221 INFO    ] No existing commands found in stream
[2026-08-29 03:50:45,233.233 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:50:45,236.236 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 03:50:46,751.751 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:50:46,752.752 INFO    ] Checking for system updates...
[2026-08-29 03:50:46,774.774 INFO    ] 200
[2026-08-29 03:50:46,775.775 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:50:46,805.805 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:50:46,806.806 INFO    ] No update needed
[2026-08-29 03:50:46,807.807 INFO    ] Checking for camera pi updates...
[2026-08-29 03:50:46,827.827 INFO    ] 200
[2026-08-29 03:50:46,828.828 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:50:46,852.852 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:50:46,948.948 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:50:46,950.950 INFO    ] No camera update needed
[2026-08-29 03:50:46,951.951 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:50:46,952.952 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:50:46,955.955 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:50:46,958.958 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:50:48,988.988 INFO    ] ================================================
[2026-08-29 03:50:49,997.997 INFO    ] Launching Daemon at Sat Aug 29 03:50:48 IST 2026
[2026-08-29 03:50:49,005.005 INFO    ] ================================================
[2026-08-29 03:50:49,651.651 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:50:49
[2026-08-29 03:50:50,329.329 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:50:50,667.667 INFO    ] Initializing speech engine...
[2026-08-29 03:50:50,681.681 INFO    ] 2026-08-29 03:50:50
[2026-08-29 03:50:51,010.010 INFO    ] 2026-08-29 03:50:50
[2026-08-29 03:50:51,070.070 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:50:51,273.273 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:50:51,284.284 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:50:51,475.475 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:50:51,538.538 INFO    ] time= 29/08/2026 03:50:51
[2026-08-29 03:50:51,565.565 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:50:51,584.584 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:50:51,724.724 INFO    ] No existing commands found in stream
[2026-08-29 03:50:56,745.745 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:50:56,748.748 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-08-29 03:50:59,682.682 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:50:59,684.684 INFO    ] Checking for system updates...
[2026-08-29 03:50:59,704.704 INFO    ] 200
[2026-08-29 03:50:59,705.705 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:50:59,735.735 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:50:59,736.736 INFO    ] No update needed
[2026-08-29 03:50:59,738.738 INFO    ] Checking for camera pi updates...
[2026-08-29 03:50:59,757.757 INFO    ] 200
[2026-08-29 03:50:59,758.758 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:50:59,781.781 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:50:59,884.884 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:50:59,886.886 INFO    ] No camera update needed
[2026-08-29 03:50:59,888.888 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:50:59,891.891 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:50:59,896.896 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:50:59,901.901 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:51:01,945.945 INFO    ] ================================================
[2026-08-29 03:51:01,964.964 INFO    ] Launching Daemon at Sat Aug 29 03:51:01 IST 2026
[2026-08-29 03:51:01,978.978 INFO    ] ================================================
[2026-08-29 03:51:02,630.630 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:51:02
[2026-08-29 03:51:03,105.105 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:51:03,333.333 INFO    ] Initializing speech engine...
[2026-08-29 03:51:03,342.342 INFO    ] 2026-08-29 03:51:03
[2026-08-29 03:51:03,611.611 INFO    ] 2026-08-29 03:51:03
[2026-08-29 03:51:03,665.665 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:51:03,831.831 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:51:03,839.839 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:51:03,969.969 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:51:03,974.974 INFO    ] time= 29/08/2026 03:51:03
[2026-08-29 03:51:03,980.980 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:51:04,000.000 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:51:04,120.120 INFO    ] No existing commands found in stream
[2026-08-29 03:51:09,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:51:09,153.153 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-08-29 03:51:10,053.053 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:51:10,055.055 INFO    ] Checking for system updates...
[2026-08-29 03:51:10,076.076 INFO    ] 200
[2026-08-29 03:51:10,077.077 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:51:10,107.107 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:51:10,109.109 INFO    ] No update needed
[2026-08-29 03:51:10,110.110 INFO    ] Checking for camera pi updates...
[2026-08-29 03:51:10,129.129 INFO    ] 200
[2026-08-29 03:51:10,130.130 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:51:10,154.154 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:51:10,236.236 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:51:10,239.239 INFO    ] No camera update needed
[2026-08-29 03:51:10,241.241 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:51:10,244.244 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:51:10,249.249 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:51:10,255.255 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:51:12,296.296 INFO    ] ================================================
[2026-08-29 03:51:12,312.312 INFO    ] Launching Daemon at Sat Aug 29 03:51:12 IST 2026
[2026-08-29 03:51:12,322.322 INFO    ] ================================================
[2026-08-29 03:51:12,942.942 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:51:12
[2026-08-29 03:51:13,469.469 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:51:13,693.693 INFO    ] Initializing speech engine...
[2026-08-29 03:51:13,699.699 INFO    ] 2026-08-29 03:51:13
[2026-08-29 03:51:13,967.967 INFO    ] 2026-08-29 03:51:13
[2026-08-29 03:51:14,028.028 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:51:14,255.255 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:51:14,264.264 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:51:14,400.400 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:51:14,448.448 INFO    ] time= 29/08/2026 03:51:14
[2026-08-29 03:51:14,502.502 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:51:14,538.538 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:51:14,595.595 INFO    ] No existing commands found in stream
[2026-08-29 03:51:19,608.608 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:51:19,611.611 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-08-29 03:51:23,371.371 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:51:23,373.373 INFO    ] Checking for system updates...
[2026-08-29 03:51:23,393.393 INFO    ] 200
[2026-08-29 03:51:23,395.395 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:51:23,425.425 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:51:23,426.426 INFO    ] No update needed
[2026-08-29 03:51:23,428.428 INFO    ] Checking for camera pi updates...
[2026-08-29 03:51:23,457.457 INFO    ] 200
[2026-08-29 03:51:23,459.459 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:51:23,501.501 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:51:23,592.592 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:51:23,595.595 INFO    ] No camera update needed
[2026-08-29 03:51:23,597.597 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:51:23,600.600 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:51:23,606.606 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:51:23,611.611 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:51:25,651.651 INFO    ] ================================================
[2026-08-29 03:51:25,666.666 INFO    ] Launching Daemon at Sat Aug 29 03:51:25 IST 2026
[2026-08-29 03:51:25,677.677 INFO    ] ================================================
[2026-08-29 03:51:26,256.256 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:51:26
[2026-08-29 03:51:26,719.719 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:51:26,857.857 INFO    ] Initializing speech engine...
[2026-08-29 03:51:26,867.867 INFO    ] 2026-08-29 03:51:26
[2026-08-29 03:51:27,091.091 INFO    ] 2026-08-29 03:51:27
[2026-08-29 03:51:27,173.173 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:51:27,320.320 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:51:27,329.329 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:51:27,461.461 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:51:27,503.503 INFO    ] time= 29/08/2026 03:51:27
[2026-08-29 03:51:27,552.552 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:51:27,596.596 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:51:27,653.653 INFO    ] No existing commands found in stream
[2026-08-29 03:51:32,664.664 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:51:32,667.667 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-08-29 03:51:35,588.588 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:51:35,589.589 INFO    ] Checking for system updates...
[2026-08-29 03:51:35,609.609 INFO    ] 200
[2026-08-29 03:51:35,611.611 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:51:35,640.640 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:51:35,642.642 INFO    ] No update needed
[2026-08-29 03:51:35,643.643 INFO    ] Checking for camera pi updates...
[2026-08-29 03:51:35,662.662 INFO    ] 200
[2026-08-29 03:51:35,664.664 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:51:35,686.686 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:51:35,773.773 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:51:35,774.774 INFO    ] No camera update needed
[2026-08-29 03:51:35,776.776 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:51:35,777.777 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:51:35,780.780 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:51:35,783.783 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:51:37,824.824 INFO    ] ================================================
[2026-08-29 03:51:37,840.840 INFO    ] Launching Daemon at Sat Aug 29 03:51:37 IST 2026
[2026-08-29 03:51:37,852.852 INFO    ] ================================================
[2026-08-29 03:51:38,469.469 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:51:38
[2026-08-29 03:51:39,090.090 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:51:39,363.363 INFO    ] Initializing speech engine...
[2026-08-29 03:51:39,372.372 INFO    ] 2026-08-29 03:51:39
[2026-08-29 03:51:39,621.621 INFO    ] 2026-08-29 03:51:39
[2026-08-29 03:51:39,686.686 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:51:39,828.828 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:51:39,839.839 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:51:39,984.984 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:51:39,989.989 INFO    ] time= 29/08/2026 03:51:39
[2026-08-29 03:51:39,997.997 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:51:40,041.041 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:51:40,166.166 INFO    ] No existing commands found in stream
[2026-08-29 03:51:45,194.194 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:51:45,197.197 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-08-29 03:51:48,391.391 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:51:48,392.392 INFO    ] Checking for system updates...
[2026-08-29 03:51:48,413.413 INFO    ] 200
[2026-08-29 03:51:48,414.414 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:51:48,445.445 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:51:48,446.446 INFO    ] No update needed
[2026-08-29 03:51:48,447.447 INFO    ] Checking for camera pi updates...
[2026-08-29 03:51:48,469.469 INFO    ] 200
[2026-08-29 03:51:48,470.470 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:51:48,493.493 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:51:48,602.602 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:51:48,604.604 INFO    ] No camera update needed
[2026-08-29 03:51:48,605.605 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:51:48,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:51:48,609.609 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:51:48,612.612 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:51:50,650.650 INFO    ] ================================================
[2026-08-29 03:51:50,665.665 INFO    ] Launching Daemon at Sat Aug 29 03:51:50 IST 2026
[2026-08-29 03:51:50,676.676 INFO    ] ================================================
[2026-08-29 03:51:51,016.016 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:51:51
[2026-08-29 03:51:51,327.327 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:51:51,470.470 INFO    ] Initializing speech engine...
[2026-08-29 03:51:51,475.475 INFO    ] 2026-08-29 03:51:51
[2026-08-29 03:51:51,670.670 INFO    ] 2026-08-29 03:51:51
[2026-08-29 03:51:51,713.713 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:51:51,936.936 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:51:51,945.945 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:51:52,081.081 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:51:52,108.108 INFO    ] time= 29/08/2026 03:51:52
[2026-08-29 03:51:52,167.167 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:51:52,217.217 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:51:52,277.277 INFO    ] No existing commands found in stream
[2026-08-29 03:51:57,288.288 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:51:57,290.290 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-08-29 03:51:58,095.095 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:51:58,096.096 INFO    ] Checking for system updates...
[2026-08-29 03:51:58,116.116 INFO    ] 200
[2026-08-29 03:51:58,117.117 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:51:58,149.149 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:51:58,150.150 INFO    ] No update needed
[2026-08-29 03:51:58,152.152 INFO    ] Checking for camera pi updates...
[2026-08-29 03:51:58,172.172 INFO    ] 200
[2026-08-29 03:51:58,173.173 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:51:58,196.196 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:51:58,268.268 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:51:58,269.269 INFO    ] No camera update needed
[2026-08-29 03:51:58,270.270 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:51:58,272.272 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:51:58,275.275 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:51:58,277.277 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:52:00,315.315 INFO    ] ================================================
[2026-08-29 03:52:00,330.330 INFO    ] Launching Daemon at Sat Aug 29 03:52:00 IST 2026
[2026-08-29 03:52:00,341.341 INFO    ] ================================================
[2026-08-29 03:52:00,676.676 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:52:00
[2026-08-29 03:52:00,992.992 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:52:01,122.122 INFO    ] Initializing speech engine...
[2026-08-29 03:52:01,126.126 INFO    ] 2026-08-29 03:52:01
[2026-08-29 03:52:01,349.349 INFO    ] 2026-08-29 03:52:01
[2026-08-29 03:52:01,378.378 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:52:01,538.538 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:52:01,545.545 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:52:01,676.676 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:52:01,683.683 INFO    ] time= 29/08/2026 03:52:01
[2026-08-29 03:52:01,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:52:01,728.728 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:52:01,836.836 INFO    ] No existing commands found in stream
[2026-08-29 03:52:06,850.850 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:52:06,852.852 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-08-29 03:52:07,492.492 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:52:07,498.498 INFO    ] Checking for system updates...
[2026-08-29 03:52:07,519.519 INFO    ] 200
[2026-08-29 03:52:07,520.520 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:52:07,550.550 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:52:07,551.551 INFO    ] No update needed
[2026-08-29 03:52:07,552.552 INFO    ] Checking for camera pi updates...
[2026-08-29 03:52:07,571.571 INFO    ] 200
[2026-08-29 03:52:07,573.573 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:52:07,595.595 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:52:07,646.646 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:52:07,647.647 INFO    ] No camera update needed
[2026-08-29 03:52:07,648.648 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:52:07,649.649 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:52:07,653.653 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:52:07,655.655 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:52:09,695.695 INFO    ] ================================================
[2026-08-29 03:52:09,710.710 INFO    ] Launching Daemon at Sat Aug 29 03:52:09 IST 2026
[2026-08-29 03:52:09,720.720 INFO    ] ================================================
[2026-08-29 03:52:10,065.065 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:52:10
[2026-08-29 03:52:10,381.381 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:52:10,515.515 INFO    ] Initializing speech engine...
[2026-08-29 03:52:10,522.522 INFO    ] 2026-08-29 03:52:10
[2026-08-29 03:52:10,726.726 INFO    ] 2026-08-29 03:52:10
[2026-08-29 03:52:10,804.804 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:52:11,008.008 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:52:11,018.018 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:52:11,169.169 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:52:11,177.177 INFO    ] time= 29/08/2026 03:52:11
[2026-08-29 03:52:11,221.221 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:52:11,281.281 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:52:11,351.351 INFO    ] No existing commands found in stream
[2026-08-29 03:52:16,361.361 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:52:16,364.364 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-08-29 03:52:20,407.407 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:52:20,408.408 INFO    ] Checking for system updates...
[2026-08-29 03:52:20,429.429 INFO    ] 200
[2026-08-29 03:52:20,431.431 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:52:20,461.461 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:52:20,462.462 INFO    ] No update needed
[2026-08-29 03:52:20,463.463 INFO    ] Checking for camera pi updates...
[2026-08-29 03:52:20,483.483 INFO    ] 200
[2026-08-29 03:52:20,484.484 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:52:20,509.509 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:52:20,593.593 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:52:20,595.595 INFO    ] No camera update needed
[2026-08-29 03:52:20,598.598 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:52:20,600.600 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:52:20,605.605 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:52:20,610.610 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:52:22,652.652 INFO    ] ================================================
[2026-08-29 03:52:22,668.668 INFO    ] Launching Daemon at Sat Aug 29 03:52:22 IST 2026
[2026-08-29 03:52:22,679.679 INFO    ] ================================================
[2026-08-29 03:52:23,334.334 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:52:23
[2026-08-29 03:52:23,722.722 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:52:24,019.019 INFO    ] Initializing speech engine...
[2026-08-29 03:52:24,031.031 INFO    ] 2026-08-29 03:52:24
[2026-08-29 03:52:24,292.292 INFO    ] 2026-08-29 03:52:24
[2026-08-29 03:52:24,337.337 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:52:24,515.515 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:52:24,534.534 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:52:24,660.660 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:52:24,669.669 INFO    ] time= 29/08/2026 03:52:24
[2026-08-29 03:52:24,677.677 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:52:24,722.722 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:52:24,838.838 INFO    ] No existing commands found in stream
[2026-08-29 03:52:29,855.855 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:52:29,857.857 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-08-29 03:52:33,583.583 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:52:33,586.586 INFO    ] Checking for system updates...
[2026-08-29 03:52:33,621.621 INFO    ] 200
[2026-08-29 03:52:33,624.624 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:52:33,689.689 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:52:33,692.692 INFO    ] No update needed
[2026-08-29 03:52:33,695.695 INFO    ] Checking for camera pi updates...
[2026-08-29 03:52:33,732.732 INFO    ] 200
[2026-08-29 03:52:33,735.735 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:52:33,775.775 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:52:33,876.876 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:52:33,879.879 INFO    ] No camera update needed
[2026-08-29 03:52:33,881.881 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:52:33,883.883 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:52:33,888.888 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:52:33,893.893 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:52:35,935.935 INFO    ] ================================================
[2026-08-29 03:52:35,949.949 INFO    ] Launching Daemon at Sat Aug 29 03:52:35 IST 2026
[2026-08-29 03:52:35,960.960 INFO    ] ================================================
[2026-08-29 03:52:36,289.289 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:52:36
[2026-08-29 03:52:36,605.605 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:52:36,741.741 INFO    ] Initializing speech engine...
[2026-08-29 03:52:36,745.745 INFO    ] 2026-08-29 03:52:36
[2026-08-29 03:52:36,975.975 INFO    ] 2026-08-29 03:52:36
[2026-08-29 03:52:37,006.006 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:52:37,139.139 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:52:37,187.187 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:52:37,348.348 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:52:37,406.406 INFO    ] time= 29/08/2026 03:52:37
[2026-08-29 03:52:37,454.454 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:52:37,456.456 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:52:37,533.533 INFO    ] No existing commands found in stream
[2026-08-29 03:52:42,544.544 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:52:42,546.546 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-08-29 03:52:44,632.632 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:52:44,633.633 INFO    ] Checking for system updates...
[2026-08-29 03:52:44,654.654 INFO    ] 200
[2026-08-29 03:52:44,655.655 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:52:44,687.687 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:52:44,688.688 INFO    ] No update needed
[2026-08-29 03:52:44,689.689 INFO    ] Checking for camera pi updates...
[2026-08-29 03:52:44,708.708 INFO    ] 200
[2026-08-29 03:52:44,710.710 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:52:44,737.737 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:52:44,918.918 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:52:44,921.921 INFO    ] No camera update needed
[2026-08-29 03:52:44,923.923 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:52:44,926.926 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:52:44,931.931 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:52:44,936.936 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:52:46,975.975 INFO    ] ================================================
[2026-08-29 03:52:46,990.990 INFO    ] Launching Daemon at Sat Aug 29 03:52:46 IST 2026
[2026-08-29 03:52:47,001.001 INFO    ] ================================================
[2026-08-29 03:52:47,586.586 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:52:47
[2026-08-29 03:52:47,938.938 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:52:48,077.077 INFO    ] Initializing speech engine...
[2026-08-29 03:52:48,090.090 INFO    ] 2026-08-29 03:52:48
[2026-08-29 03:52:48,311.311 INFO    ] 2026-08-29 03:52:48
[2026-08-29 03:52:48,341.341 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:52:48,475.475 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:52:48,517.517 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:52:48,683.683 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:52:48,730.730 INFO    ] time= 29/08/2026 03:52:48
[2026-08-29 03:52:48,768.768 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:52:48,791.791 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:52:48,868.868 INFO    ] No existing commands found in stream
[2026-08-29 03:52:53,878.878 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:52:53,881.881 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-08-29 03:52:55,997.997 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:52:55,999.999 INFO    ] Checking for system updates...
[2026-08-29 03:52:56,019.019 INFO    ] 200
[2026-08-29 03:52:56,021.021 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:52:56,050.050 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:52:56,052.052 INFO    ] No update needed
[2026-08-29 03:52:56,053.053 INFO    ] Checking for camera pi updates...
[2026-08-29 03:52:56,076.076 INFO    ] 200
[2026-08-29 03:52:56,077.077 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:52:56,100.100 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:52:56,174.174 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:52:56,175.175 INFO    ] No camera update needed
[2026-08-29 03:52:56,177.177 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:52:56,178.178 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:52:56,181.181 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:52:56,183.183 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:52:58,222.222 INFO    ] ================================================
[2026-08-29 03:52:58,237.237 INFO    ] Launching Daemon at Sat Aug 29 03:52:58 IST 2026
[2026-08-29 03:52:58,248.248 INFO    ] ================================================
[2026-08-29 03:52:58,582.582 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:52:58
[2026-08-29 03:52:58,900.900 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:52:59,128.128 INFO    ] Initializing speech engine...
[2026-08-29 03:52:59,149.149 INFO    ] 2026-08-29 03:52:59
[2026-08-29 03:52:59,428.428 INFO    ] 2026-08-29 03:52:59
[2026-08-29 03:52:59,466.466 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:52:59,613.613 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:52:59,621.621 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:52:59,772.772 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:52:59,782.782 INFO    ] time= 29/08/2026 03:52:59
[2026-08-29 03:52:59,787.787 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:52:59,792.792 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:52:59,857.857 INFO    ] No existing commands found in stream
[2026-08-29 03:53:04,869.869 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:53:04,872.872 INFO    ] Waiting 0.00 seconds before fallback handling...
[2026-08-29 03:53:05,269.269 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:53:05,272.272 INFO    ] Checking for system updates...
[2026-08-29 03:53:05,308.308 INFO    ] 200
[2026-08-29 03:53:05,310.310 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:53:05,369.369 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:53:05,371.371 INFO    ] No update needed
[2026-08-29 03:53:05,374.374 INFO    ] Checking for camera pi updates...
[2026-08-29 03:53:05,408.408 INFO    ] 200
[2026-08-29 03:53:05,410.410 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:53:05,450.450 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:53:05,528.528 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:53:05,529.529 INFO    ] No camera update needed
[2026-08-29 03:53:05,530.530 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:53:05,532.532 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:53:05,535.535 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:53:05,537.537 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:53:07,576.576 INFO    ] ================================================
[2026-08-29 03:53:07,591.591 INFO    ] Launching Daemon at Sat Aug 29 03:53:07 IST 2026
[2026-08-29 03:53:07,602.602 INFO    ] ================================================
[2026-08-29 03:53:08,103.103 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:53:08
[2026-08-29 03:53:08,694.694 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:53:08,950.950 INFO    ] Initializing speech engine...
[2026-08-29 03:53:08,958.958 INFO    ] 2026-08-29 03:53:08
[2026-08-29 03:53:09,252.252 INFO    ] 2026-08-29 03:53:09
[2026-08-29 03:53:09,290.290 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:53:09,486.486 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:53:09,492.492 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:53:09,600.600 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:53:09,606.606 INFO    ] time= 29/08/2026 03:53:09
[2026-08-29 03:53:09,629.629 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:53:09,637.637 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:53:09,688.688 INFO    ] No existing commands found in stream
[2026-08-29 03:53:14,700.700 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:53:14,703.703 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-08-29 03:53:17,909.909 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:53:17,911.911 INFO    ] Checking for system updates...
[2026-08-29 03:53:17,931.931 INFO    ] 200
[2026-08-29 03:53:17,932.932 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:53:17,962.962 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:53:17,963.963 INFO    ] No update needed
[2026-08-29 03:53:17,965.965 INFO    ] Checking for camera pi updates...
[2026-08-29 03:53:17,985.985 INFO    ] 200
[2026-08-29 03:53:17,986.986 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:53:18,009.009 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:53:18,096.096 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:53:18,098.098 INFO    ] No camera update needed
[2026-08-29 03:53:18,099.099 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:53:18,100.100 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:53:18,103.103 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:53:18,106.106 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:53:20,144.144 INFO    ] ================================================
[2026-08-29 03:53:20,160.160 INFO    ] Launching Daemon at Sat Aug 29 03:53:20 IST 2026
[2026-08-29 03:53:20,172.172 INFO    ] ================================================
[2026-08-29 03:53:20,754.754 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:53:20
[2026-08-29 03:53:21,343.343 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:53:21,620.620 INFO    ] Initializing speech engine...
[2026-08-29 03:53:21,629.629 INFO    ] 2026-08-29 03:53:21
[2026-08-29 03:53:21,896.896 INFO    ] 2026-08-29 03:53:21
[2026-08-29 03:53:21,939.939 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:53:22,084.084 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:53:22,128.128 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:53:22,282.282 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:53:22,335.335 INFO    ] time= 29/08/2026 03:53:22
[2026-08-29 03:53:22,374.374 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:53:22,379.379 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:53:22,450.450 INFO    ] No existing commands found in stream
[2026-08-29 03:53:27,460.460 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:53:27,464.464 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 03:53:30,449.449 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:53:30,451.451 INFO    ] Checking for system updates...
[2026-08-29 03:53:30,471.471 INFO    ] 200
[2026-08-29 03:53:30,473.473 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:53:30,505.505 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:53:30,506.506 INFO    ] No update needed
[2026-08-29 03:53:30,508.508 INFO    ] Checking for camera pi updates...
[2026-08-29 03:53:30,527.527 INFO    ] 200
[2026-08-29 03:53:30,528.528 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:53:30,552.552 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:53:30,633.633 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:53:30,634.634 INFO    ] No camera update needed
[2026-08-29 03:53:30,636.636 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:53:30,637.637 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:53:30,640.640 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:53:30,643.643 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:53:32,675.675 INFO    ] ================================================
[2026-08-29 03:53:32,685.685 INFO    ] Launching Daemon at Sat Aug 29 03:53:32 IST 2026
[2026-08-29 03:53:32,692.692 INFO    ] ================================================
[2026-08-29 03:53:33,281.281 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:53:33
[2026-08-29 03:53:33,880.880 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:53:34,156.156 INFO    ] Initializing speech engine...
[2026-08-29 03:53:34,165.165 INFO    ] 2026-08-29 03:53:34
[2026-08-29 03:53:34,428.428 INFO    ] 2026-08-29 03:53:34
[2026-08-29 03:53:34,483.483 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:53:34,625.625 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:53:34,637.637 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:53:34,779.779 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:53:34,788.788 INFO    ] time= 29/08/2026 03:53:34
[2026-08-29 03:53:34,796.796 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:53:34,855.855 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:53:34,966.966 INFO    ] No existing commands found in stream
[2026-08-29 03:53:39,991.991 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:53:39,994.994 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-08-29 03:53:41,054.054 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:53:41,055.055 INFO    ] Checking for system updates...
[2026-08-29 03:53:41,076.076 INFO    ] 200
[2026-08-29 03:53:41,078.078 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:53:41,108.108 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:53:41,109.109 INFO    ] No update needed
[2026-08-29 03:53:41,111.111 INFO    ] Checking for camera pi updates...
[2026-08-29 03:53:41,131.131 INFO    ] 200
[2026-08-29 03:53:41,133.133 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:53:41,156.156 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:53:41,267.267 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:53:41,268.268 INFO    ] No camera update needed
[2026-08-29 03:53:41,269.269 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:53:41,271.271 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:53:41,274.274 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:53:41,277.277 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:53:43,315.315 INFO    ] ================================================
[2026-08-29 03:53:43,330.330 INFO    ] Launching Daemon at Sat Aug 29 03:53:43 IST 2026
[2026-08-29 03:53:43,341.341 INFO    ] ================================================
[2026-08-29 03:53:43,732.732 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:53:43
[2026-08-29 03:53:44,068.068 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:53:44,219.219 INFO    ] Initializing speech engine...
[2026-08-29 03:53:44,224.224 INFO    ] 2026-08-29 03:53:44
[2026-08-29 03:53:44,445.445 INFO    ] 2026-08-29 03:53:44
[2026-08-29 03:53:44,529.529 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:53:44,681.681 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:53:44,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:53:44,823.823 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:53:44,860.860 INFO    ] time= 29/08/2026 03:53:44
[2026-08-29 03:53:44,920.920 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:53:44,957.957 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:53:45,011.011 INFO    ] No existing commands found in stream
[2026-08-29 03:53:50,024.024 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:53:50,027.027 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-08-29 03:53:52,433.433 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:53:52,435.435 INFO    ] Checking for system updates...
[2026-08-29 03:53:52,455.455 INFO    ] 200
[2026-08-29 03:53:52,457.457 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:53:52,486.486 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:53:52,488.488 INFO    ] No update needed
[2026-08-29 03:53:52,489.489 INFO    ] Checking for camera pi updates...
[2026-08-29 03:53:52,509.509 INFO    ] 200
[2026-08-29 03:53:52,510.510 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:53:52,535.535 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:53:52,616.616 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:53:52,618.618 INFO    ] No camera update needed
[2026-08-29 03:53:52,619.619 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:53:52,621.621 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:53:52,624.624 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:53:52,627.627 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:53:54,665.665 INFO    ] ================================================
[2026-08-29 03:53:54,680.680 INFO    ] Launching Daemon at Sat Aug 29 03:53:54 IST 2026
[2026-08-29 03:53:54,691.691 INFO    ] ================================================
[2026-08-29 03:53:55,065.065 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:53:55
[2026-08-29 03:53:55,378.378 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:53:55,515.515 INFO    ] Initializing speech engine...
[2026-08-29 03:53:55,528.528 INFO    ] 2026-08-29 03:53:55
[2026-08-29 03:53:55,737.737 INFO    ] 2026-08-29 03:53:55
[2026-08-29 03:53:55,765.765 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:53:55,889.889 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:53:55,952.952 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:53:56,084.084 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:53:56,144.144 INFO    ] time= 29/08/2026 03:53:56
[2026-08-29 03:53:56,179.179 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:53:56,185.185 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:53:56,255.255 INFO    ] No existing commands found in stream
[2026-08-29 03:54:01,290.290 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:54:01,293.293 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-08-29 03:54:02,891.891 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:54:02,894.894 INFO    ] Checking for system updates...
[2026-08-29 03:54:02,934.934 INFO    ] 200
[2026-08-29 03:54:02,937.937 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:54:03,000.000 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:54:03,003.003 INFO    ] No update needed
[2026-08-29 03:54:03,006.006 INFO    ] Checking for camera pi updates...
[2026-08-29 03:54:03,049.049 INFO    ] 200
[2026-08-29 03:54:03,052.052 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:54:03,105.105 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:54:03,199.199 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:54:03,203.203 INFO    ] No camera update needed
[2026-08-29 03:54:03,206.206 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:54:03,210.210 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:54:03,218.218 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:54:03,226.226 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:54:05,268.268 INFO    ] ================================================
[2026-08-29 03:54:05,283.283 INFO    ] Launching Daemon at Sat Aug 29 03:54:05 IST 2026
[2026-08-29 03:54:05,294.294 INFO    ] ================================================
[2026-08-29 03:54:05,617.617 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:54:05
[2026-08-29 03:54:05,973.973 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:54:06,245.245 INFO    ] Initializing speech engine...
[2026-08-29 03:54:06,253.253 INFO    ] 2026-08-29 03:54:06
[2026-08-29 03:54:06,526.526 INFO    ] 2026-08-29 03:54:06
[2026-08-29 03:54:06,564.564 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:54:06,744.744 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:54:06,758.758 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:54:06,879.879 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:54:06,899.899 INFO    ] time= 29/08/2026 03:54:06
[2026-08-29 03:54:06,920.920 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:54:06,929.929 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:54:07,003.003 INFO    ] No existing commands found in stream
[2026-08-29 03:54:12,015.015 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:54:12,018.018 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-08-29 03:54:12,392.392 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:54:12,394.394 INFO    ] Checking for system updates...
[2026-08-29 03:54:12,414.414 INFO    ] 200
[2026-08-29 03:54:12,415.415 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:54:12,445.445 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:54:12,446.446 INFO    ] No update needed
[2026-08-29 03:54:12,447.447 INFO    ] Checking for camera pi updates...
[2026-08-29 03:54:12,466.466 INFO    ] 200
[2026-08-29 03:54:12,467.467 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:54:12,491.491 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:54:12,587.587 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:54:12,589.589 INFO    ] No camera update needed
[2026-08-29 03:54:12,591.591 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:54:12,594.594 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:54:12,599.599 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:54:12,604.604 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:54:14,644.644 INFO    ] ================================================
[2026-08-29 03:54:14,660.660 INFO    ] Launching Daemon at Sat Aug 29 03:54:14 IST 2026
[2026-08-29 03:54:14,670.670 INFO    ] ================================================
[2026-08-29 03:54:15,238.238 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:54:15
[2026-08-29 03:54:15,720.720 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:54:15,924.924 INFO    ] Initializing speech engine...
[2026-08-29 03:54:15,932.932 INFO    ] 2026-08-29 03:54:15
[2026-08-29 03:54:16,184.184 INFO    ] 2026-08-29 03:54:16
[2026-08-29 03:54:16,218.218 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:54:16,394.394 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:54:16,407.407 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:54:16,550.550 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:54:16,558.558 INFO    ] time= 29/08/2026 03:54:16
[2026-08-29 03:54:16,562.562 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:54:16,568.568 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:54:16,633.633 INFO    ] No existing commands found in stream
[2026-08-29 03:54:21,646.646 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:54:21,649.649 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-08-29 03:54:25,794.794 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:54:25,796.796 INFO    ] Checking for system updates...
[2026-08-29 03:54:25,816.816 INFO    ] 200
[2026-08-29 03:54:25,817.817 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:54:25,849.849 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:54:25,850.850 INFO    ] No update needed
[2026-08-29 03:54:25,852.852 INFO    ] Checking for camera pi updates...
[2026-08-29 03:54:25,871.871 INFO    ] 200
[2026-08-29 03:54:25,873.873 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:54:25,895.895 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:54:26,004.004 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:54:26,005.005 INFO    ] No camera update needed
[2026-08-29 03:54:26,006.006 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:54:26,008.008 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:54:26,010.010 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:54:26,013.013 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:54:28,052.052 INFO    ] ================================================
[2026-08-29 03:54:28,067.067 INFO    ] Launching Daemon at Sat Aug 29 03:54:28 IST 2026
[2026-08-29 03:54:28,077.077 INFO    ] ================================================
[2026-08-29 03:54:28,414.414 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:54:28
[2026-08-29 03:54:28,731.731 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:54:28,876.876 INFO    ] Initializing speech engine...
[2026-08-29 03:54:28,880.880 INFO    ] 2026-08-29 03:54:28
[2026-08-29 03:54:29,084.084 INFO    ] 2026-08-29 03:54:29
[2026-08-29 03:54:29,112.112 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:54:29,234.234 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:54:29,277.277 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:54:29,431.431 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:54:29,493.493 INFO    ] time= 29/08/2026 03:54:29
[2026-08-29 03:54:29,525.525 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:54:29,526.526 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:54:29,599.599 INFO    ] No existing commands found in stream
[2026-08-29 03:54:34,606.606 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:54:34,609.609 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-08-29 03:54:35,489.489 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:54:35,491.491 INFO    ] Checking for system updates...
[2026-08-29 03:54:35,511.511 INFO    ] 200
[2026-08-29 03:54:35,513.513 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:54:35,543.543 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:54:35,544.544 INFO    ] No update needed
[2026-08-29 03:54:35,545.545 INFO    ] Checking for camera pi updates...
[2026-08-29 03:54:35,567.567 INFO    ] 200
[2026-08-29 03:54:35,568.568 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:54:35,591.591 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:54:35,669.669 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:54:35,670.670 INFO    ] No camera update needed
[2026-08-29 03:54:35,671.671 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:54:35,673.673 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:54:35,676.676 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:54:35,678.678 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:54:37,716.716 INFO    ] ================================================
[2026-08-29 03:54:37,732.732 INFO    ] Launching Daemon at Sat Aug 29 03:54:37 IST 2026
[2026-08-29 03:54:37,743.743 INFO    ] ================================================
[2026-08-29 03:54:38,100.100 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:54:38
[2026-08-29 03:54:38,435.435 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:54:38,581.581 INFO    ] Initializing speech engine...
[2026-08-29 03:54:38,596.596 INFO    ] 2026-08-29 03:54:38
[2026-08-29 03:54:38,870.870 INFO    ] 2026-08-29 03:54:38
[2026-08-29 03:54:38,930.930 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:54:39,098.098 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:54:39,107.107 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:54:39,240.240 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:54:39,245.245 INFO    ] time= 29/08/2026 03:54:39
[2026-08-29 03:54:39,252.252 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:54:39,294.294 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:54:39,429.429 INFO    ] No existing commands found in stream
[2026-08-29 03:54:44,454.454 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:54:44,457.457 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-08-29 03:54:46,288.288 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:54:46,289.289 INFO    ] Checking for system updates...
[2026-08-29 03:54:46,310.310 INFO    ] 200
[2026-08-29 03:54:46,312.312 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:54:46,341.341 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:54:46,343.343 INFO    ] No update needed
[2026-08-29 03:54:46,344.344 INFO    ] Checking for camera pi updates...
[2026-08-29 03:54:46,363.363 INFO    ] 200
[2026-08-29 03:54:46,364.364 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:54:46,387.387 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:54:46,561.561 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:54:46,563.563 INFO    ] No camera update needed
[2026-08-29 03:54:46,564.564 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:54:46,565.565 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:54:46,568.568 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:54:46,571.571 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:54:48,609.609 INFO    ] ================================================
[2026-08-29 03:54:48,624.624 INFO    ] Launching Daemon at Sat Aug 29 03:54:48 IST 2026
[2026-08-29 03:54:48,634.634 INFO    ] ================================================
[2026-08-29 03:54:49,123.123 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:54:49
[2026-08-29 03:54:49,774.774 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:54:50,072.072 INFO    ] Initializing speech engine...
[2026-08-29 03:54:50,082.082 INFO    ] 2026-08-29 03:54:50
[2026-08-29 03:54:50,355.355 INFO    ] 2026-08-29 03:54:50
[2026-08-29 03:54:50,411.411 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:54:50,558.558 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:54:50,586.586 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:54:50,718.718 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:54:50,727.727 INFO    ] time= 29/08/2026 03:54:50
[2026-08-29 03:54:50,734.734 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:54:50,775.775 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:54:50,915.915 INFO    ] No existing commands found in stream
[2026-08-29 03:54:55,941.941 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:54:55,945.945 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-08-29 03:54:57,576.576 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:54:57,577.577 INFO    ] Checking for system updates...
[2026-08-29 03:54:57,598.598 INFO    ] 200
[2026-08-29 03:54:57,599.599 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:54:57,632.632 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:54:57,633.633 INFO    ] No update needed
[2026-08-29 03:54:57,635.635 INFO    ] Checking for camera pi updates...
[2026-08-29 03:54:57,654.654 INFO    ] 200
[2026-08-29 03:54:57,655.655 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:54:57,679.679 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:54:57,755.755 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:54:57,757.757 INFO    ] No camera update needed
[2026-08-29 03:54:57,758.758 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:54:57,759.759 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:54:57,762.762 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:54:57,765.765 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:54:59,803.803 INFO    ] ================================================
[2026-08-29 03:54:59,818.818 INFO    ] Launching Daemon at Sat Aug 29 03:54:59 IST 2026
[2026-08-29 03:54:59,828.828 INFO    ] ================================================
[2026-08-29 03:55:00,173.173 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:55:00
[2026-08-29 03:55:00,505.505 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:55:00,778.778 INFO    ] Initializing speech engine...
[2026-08-29 03:55:00,787.787 INFO    ] 2026-08-29 03:55:00
[2026-08-29 03:55:01,035.035 INFO    ] 2026-08-29 03:55:01
[2026-08-29 03:55:01,103.103 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:55:01,323.323 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:55:01,332.332 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:55:01,467.467 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:55:01,532.532 INFO    ] time= 29/08/2026 03:55:01
[2026-08-29 03:55:01,602.602 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:55:01,630.630 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:55:01,711.711 INFO    ] No existing commands found in stream
[2026-08-29 03:55:06,723.723 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:55:06,726.726 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-08-29 03:55:09,311.311 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:55:09,313.313 INFO    ] Checking for system updates...
[2026-08-29 03:55:09,334.334 INFO    ] 200
[2026-08-29 03:55:09,335.335 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:55:09,367.367 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:55:09,368.368 INFO    ] No update needed
[2026-08-29 03:55:09,370.370 INFO    ] Checking for camera pi updates...
[2026-08-29 03:55:09,390.390 INFO    ] 200
[2026-08-29 03:55:09,391.391 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:55:09,414.414 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:55:09,504.504 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:55:09,505.505 INFO    ] No camera update needed
[2026-08-29 03:55:09,506.506 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:55:09,508.508 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:55:09,511.511 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:55:09,513.513 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:55:11,552.552 INFO    ] ================================================
[2026-08-29 03:55:11,567.567 INFO    ] Launching Daemon at Sat Aug 29 03:55:11 IST 2026
[2026-08-29 03:55:11,577.577 INFO    ] ================================================
[2026-08-29 03:55:12,050.050 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:55:12
[2026-08-29 03:55:12,635.635 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:55:12,883.883 INFO    ] Initializing speech engine...
[2026-08-29 03:55:12,897.897 INFO    ] 2026-08-29 03:55:12
[2026-08-29 03:55:13,163.163 INFO    ] 2026-08-29 03:55:13
[2026-08-29 03:55:13,198.198 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:55:13,375.375 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:55:13,387.387 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:55:13,531.531 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:55:13,539.539 INFO    ] time= 29/08/2026 03:55:13
[2026-08-29 03:55:13,543.543 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:55:13,549.549 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:55:13,617.617 INFO    ] No existing commands found in stream
[2026-08-29 03:55:18,632.632 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:55:18,635.635 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-08-29 03:55:20,251.251 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:55:20,254.254 INFO    ] Checking for system updates...
[2026-08-29 03:55:20,289.289 INFO    ] 200
[2026-08-29 03:55:20,291.291 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:55:20,350.350 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:55:20,353.353 INFO    ] No update needed
[2026-08-29 03:55:20,355.355 INFO    ] Checking for camera pi updates...
[2026-08-29 03:55:20,388.388 INFO    ] 200
[2026-08-29 03:55:20,391.391 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:55:20,432.432 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:55:20,544.544 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:55:20,546.546 INFO    ] No camera update needed
[2026-08-29 03:55:20,548.548 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:55:20,550.550 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:55:20,556.556 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:55:20,561.561 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:55:22,600.600 INFO    ] ================================================
[2026-08-29 03:55:22,616.616 INFO    ] Launching Daemon at Sat Aug 29 03:55:22 IST 2026
[2026-08-29 03:55:22,626.626 INFO    ] ================================================
[2026-08-29 03:55:22,971.971 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:55:22
[2026-08-29 03:55:23,288.288 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:55:23,431.431 INFO    ] Initializing speech engine...
[2026-08-29 03:55:23,436.436 INFO    ] 2026-08-29 03:55:23
[2026-08-29 03:55:23,639.639 INFO    ] 2026-08-29 03:55:23
[2026-08-29 03:55:23,669.669 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:55:23,805.805 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:55:23,847.847 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:55:23,987.987 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:55:23,996.996 INFO    ] time= 29/08/2026 03:55:23
[2026-08-29 03:55:24,011.011 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:55:24,061.061 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:55:24,193.193 INFO    ] No existing commands found in stream
[2026-08-29 03:55:29,207.207 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:55:29,209.209 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-08-29 03:55:31,248.248 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:55:31,249.249 INFO    ] Checking for system updates...
[2026-08-29 03:55:31,271.271 INFO    ] 200
[2026-08-29 03:55:31,272.272 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:55:31,303.303 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:55:31,304.304 INFO    ] No update needed
[2026-08-29 03:55:31,305.305 INFO    ] Checking for camera pi updates...
[2026-08-29 03:55:31,325.325 INFO    ] 200
[2026-08-29 03:55:31,326.326 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:55:31,353.353 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:55:31,448.448 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:55:31,449.449 INFO    ] No camera update needed
[2026-08-29 03:55:31,450.450 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:55:31,452.452 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:55:31,455.455 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:55:31,458.458 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:55:33,496.496 INFO    ] ================================================
[2026-08-29 03:55:33,511.511 INFO    ] Launching Daemon at Sat Aug 29 03:55:33 IST 2026
[2026-08-29 03:55:33,523.523 INFO    ] ================================================
[2026-08-29 03:55:34,094.094 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:55:34
[2026-08-29 03:55:34,679.679 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:55:34,952.952 INFO    ] Initializing speech engine...
[2026-08-29 03:55:34,961.961 INFO    ] 2026-08-29 03:55:34
[2026-08-29 03:55:35,211.211 INFO    ] 2026-08-29 03:55:35
[2026-08-29 03:55:35,275.275 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:55:35,465.465 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:55:35,528.528 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:55:35,667.667 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:55:35,726.726 INFO    ] time= 29/08/2026 03:55:35
[2026-08-29 03:55:35,760.760 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:55:35,766.766 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:55:35,881.881 INFO    ] No existing commands found in stream
[2026-08-29 03:55:40,898.898 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:55:40,900.900 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-08-29 03:55:44,990.990 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:55:44,992.992 INFO    ] Checking for system updates...
[2026-08-29 03:55:45,012.012 INFO    ] 200
[2026-08-29 03:55:45,014.014 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:55:45,045.045 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:55:45,046.046 INFO    ] No update needed
[2026-08-29 03:55:45,048.048 INFO    ] Checking for camera pi updates...
[2026-08-29 03:55:45,068.068 INFO    ] 200
[2026-08-29 03:55:45,069.069 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:55:45,093.093 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:55:45,199.199 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:55:45,200.200 INFO    ] No camera update needed
[2026-08-29 03:55:45,201.201 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:55:45,203.203 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:55:45,206.206 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:55:45,208.208 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:55:47,246.246 INFO    ] ================================================
[2026-08-29 03:55:47,261.261 INFO    ] Launching Daemon at Sat Aug 29 03:55:47 IST 2026
[2026-08-29 03:55:47,272.272 INFO    ] ================================================
[2026-08-29 03:55:47,622.622 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:55:47
[2026-08-29 03:55:47,934.934 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:55:48,066.066 INFO    ] Initializing speech engine...
[2026-08-29 03:55:48,070.070 INFO    ] 2026-08-29 03:55:48
[2026-08-29 03:55:48,273.273 INFO    ] 2026-08-29 03:55:48
[2026-08-29 03:55:48,307.307 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:55:48,429.429 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:55:48,464.464 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:55:48,613.613 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:55:48,632.632 INFO    ] time= 29/08/2026 03:55:48
[2026-08-29 03:55:48,679.679 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:55:48,731.731 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:55:48,855.855 INFO    ] No existing commands found in stream
[2026-08-29 03:55:53,865.865 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:55:53,867.867 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-08-29 03:55:56,917.917 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:55:56,919.919 INFO    ] Checking for system updates...
[2026-08-29 03:55:56,939.939 INFO    ] 200
[2026-08-29 03:55:56,940.940 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:55:56,973.973 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:55:56,974.974 INFO    ] No update needed
[2026-08-29 03:55:56,976.976 INFO    ] Checking for camera pi updates...
[2026-08-29 03:55:56,996.996 INFO    ] 200
[2026-08-29 03:55:56,997.997 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:55:57,022.022 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:55:57,105.105 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:55:57,106.106 INFO    ] No camera update needed
[2026-08-29 03:55:57,107.107 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:55:57,109.109 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:55:57,111.111 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:55:57,114.114 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:55:59,152.152 INFO    ] ================================================
[2026-08-29 03:55:59,167.167 INFO    ] Launching Daemon at Sat Aug 29 03:55:59 IST 2026
[2026-08-29 03:55:59,178.178 INFO    ] ================================================
[2026-08-29 03:55:59,532.532 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:55:59
[2026-08-29 03:55:59,844.844 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:55:59,985.985 INFO    ] Initializing speech engine...
[2026-08-29 03:55:59,993.993 INFO    ] 2026-08-29 03:55:59
[2026-08-29 03:56:00,187.187 INFO    ] 2026-08-29 03:56:00
[2026-08-29 03:56:00,223.223 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:56:00,396.396 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:56:00,410.410 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:56:00,554.554 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:56:00,559.559 INFO    ] time= 29/08/2026 03:56:00
[2026-08-29 03:56:00,566.566 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:56:00,612.612 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:56:00,730.730 INFO    ] No existing commands found in stream
[2026-08-29 03:56:05,760.760 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:56:05,763.763 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-08-29 03:56:06,164.164 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:56:06,166.166 INFO    ] Checking for system updates...
[2026-08-29 03:56:06,203.203 INFO    ] 200
[2026-08-29 03:56:06,205.205 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:56:06,258.258 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:56:06,260.260 INFO    ] No update needed
[2026-08-29 03:56:06,263.263 INFO    ] Checking for camera pi updates...
[2026-08-29 03:56:06,300.300 INFO    ] 200
[2026-08-29 03:56:06,303.303 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:56:06,347.347 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:56:06,467.467 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:56:06,469.469 INFO    ] No camera update needed
[2026-08-29 03:56:06,472.472 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:56:06,475.475 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:56:06,481.481 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:56:06,487.487 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:56:08,528.528 INFO    ] ================================================
[2026-08-29 03:56:08,543.543 INFO    ] Launching Daemon at Sat Aug 29 03:56:08 IST 2026
[2026-08-29 03:56:08,554.554 INFO    ] ================================================
[2026-08-29 03:56:08,907.907 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:56:08
[2026-08-29 03:56:09,448.448 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:56:09,717.717 INFO    ] Initializing speech engine...
[2026-08-29 03:56:09,725.725 INFO    ] 2026-08-29 03:56:09
[2026-08-29 03:56:09,973.973 INFO    ] 2026-08-29 03:56:09
[2026-08-29 03:56:10,008.008 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:56:10,179.179 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:56:10,192.192 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:56:10,329.329 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:56:10,341.341 INFO    ] time= 29/08/2026 03:56:10
[2026-08-29 03:56:10,345.345 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:56:10,351.351 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:56:10,416.416 INFO    ] No existing commands found in stream
[2026-08-29 03:56:15,427.427 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:56:15,430.430 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-08-29 03:56:18,890.890 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:56:18,892.892 INFO    ] Checking for system updates...
[2026-08-29 03:56:18,923.923 INFO    ] 200
[2026-08-29 03:56:18,924.924 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:56:18,955.955 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:56:18,957.957 INFO    ] No update needed
[2026-08-29 03:56:18,958.958 INFO    ] Checking for camera pi updates...
[2026-08-29 03:56:18,978.978 INFO    ] 200
[2026-08-29 03:56:18,980.980 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:56:19,002.002 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:56:19,097.097 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:56:19,099.099 INFO    ] No camera update needed
[2026-08-29 03:56:19,100.100 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:56:19,101.101 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:56:19,104.104 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:56:19,107.107 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:56:21,146.146 INFO    ] ================================================
[2026-08-29 03:56:21,161.161 INFO    ] Launching Daemon at Sat Aug 29 03:56:21 IST 2026
[2026-08-29 03:56:21,172.172 INFO    ] ================================================
[2026-08-29 03:56:21,655.655 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:56:21
[2026-08-29 03:56:22,240.240 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:56:22,508.508 INFO    ] Initializing speech engine...
[2026-08-29 03:56:22,518.518 INFO    ] 2026-08-29 03:56:22
[2026-08-29 03:56:22,772.772 INFO    ] 2026-08-29 03:56:22
[2026-08-29 03:56:22,807.807 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:56:22,972.972 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:56:22,984.984 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:56:23,108.108 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:56:23,131.131 INFO    ] time= 29/08/2026 03:56:23
[2026-08-29 03:56:23,136.136 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:56:23,142.142 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:56:23,208.208 INFO    ] No existing commands found in stream
[2026-08-29 03:56:28,239.239 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:56:28,241.241 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-08-29 03:56:29,501.501 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 03:56:29,503.503 INFO    ] Checking for system updates...
[2026-08-29 03:56:29,524.524 INFO    ] 200
[2026-08-29 03:56:29,526.526 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:56:29,557.557 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:56:29,559.559 INFO    ] No update needed
[2026-08-29 03:56:29,560.560 INFO    ] Checking for camera pi updates...
[2026-08-29 03:56:29,580.580 INFO    ] 200
[2026-08-29 03:56:29,582.582 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:56:29,604.604 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:56:29,696.696 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:56:29,697.697 INFO    ] No camera update needed
[2026-08-29 03:56:29,698.698 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:56:29,699.699 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:56:29,702.702 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:56:29,705.705 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:56:31,743.743 INFO    ] ================================================
[2026-08-29 03:56:31,758.758 INFO    ] Launching Daemon at Sat Aug 29 03:56:31 IST 2026
[2026-08-29 03:56:31,769.769 INFO    ] ================================================
[2026-08-29 03:56:32,406.406 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:56:32
[2026-08-29 03:56:33,121.121 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:56:33,398.398 INFO    ] Initializing speech engine...
[2026-08-29 03:56:33,405.405 INFO    ] 2026-08-29 03:56:33
[2026-08-29 03:56:33,666.666 INFO    ] 2026-08-29 03:56:33
[2026-08-29 03:56:33,696.696 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:56:33,883.883 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:56:33,911.911 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:56:34,084.084 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:56:34,095.095 INFO    ] time= 29/08/2026 03:56:34
[2026-08-29 03:56:34,164.164 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:56:34,215.215 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:56:34,269.269 INFO    ] No existing commands found in stream
[2026-08-29 03:56:39,282.282 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:56:39,285.285 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-08-29 03:56:41,422.422 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:56:41,424.424 INFO    ] Checking for system updates...
[2026-08-29 03:56:41,445.445 INFO    ] 200
[2026-08-29 03:56:41,446.446 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:56:41,477.477 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:56:41,478.478 INFO    ] No update needed
[2026-08-29 03:56:41,479.479 INFO    ] Checking for camera pi updates...
[2026-08-29 03:56:41,499.499 INFO    ] 200
[2026-08-29 03:56:41,500.500 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:56:41,527.527 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:56:41,612.612 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:56:41,613.613 INFO    ] No camera update needed
[2026-08-29 03:56:41,615.615 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:56:41,616.616 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:56:41,619.619 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:56:41,622.622 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:56:43,664.664 INFO    ] ================================================
[2026-08-29 03:56:43,678.678 INFO    ] Launching Daemon at Sat Aug 29 03:56:43 IST 2026
[2026-08-29 03:56:43,689.689 INFO    ] ================================================
[2026-08-29 03:56:44,027.027 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:56:44
[2026-08-29 03:56:44,344.344 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:56:44,482.482 INFO    ] Initializing speech engine...
[2026-08-29 03:56:44,495.495 INFO    ] 2026-08-29 03:56:44
[2026-08-29 03:56:44,716.716 INFO    ] 2026-08-29 03:56:44
[2026-08-29 03:56:44,746.746 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:56:44,871.871 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:56:44,924.924 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:56:45,078.078 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:56:45,143.143 INFO    ] time= 29/08/2026 03:56:45
[2026-08-29 03:56:45,171.171 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:56:45,178.178 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:56:45,247.247 INFO    ] No existing commands found in stream
[2026-08-29 03:56:50,261.261 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:56:50,264.264 INFO    ] Waiting 2.42 seconds before fallback handling...
[2026-08-29 03:56:53,060.060 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:56:53,061.061 INFO    ] Checking for system updates...
[2026-08-29 03:56:53,082.082 INFO    ] 200
[2026-08-29 03:56:53,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:56:53,119.119 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:56:53,120.120 INFO    ] No update needed
[2026-08-29 03:56:53,121.121 INFO    ] Checking for camera pi updates...
[2026-08-29 03:56:53,142.142 INFO    ] 200
[2026-08-29 03:56:53,143.143 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:56:53,167.167 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:56:53,364.364 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:56:53,365.365 INFO    ] No camera update needed
[2026-08-29 03:56:53,367.367 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:56:53,368.368 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:56:53,371.371 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:56:53,374.374 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:56:55,412.412 INFO    ] ================================================
[2026-08-29 03:56:55,427.427 INFO    ] Launching Daemon at Sat Aug 29 03:56:55 IST 2026
[2026-08-29 03:56:55,437.437 INFO    ] ================================================
[2026-08-29 03:56:55,792.792 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:56:55
[2026-08-29 03:56:56,109.109 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:56:56,253.253 INFO    ] Initializing speech engine...
[2026-08-29 03:56:56,257.257 INFO    ] 2026-08-29 03:56:56
[2026-08-29 03:56:56,461.461 INFO    ] 2026-08-29 03:56:56
[2026-08-29 03:56:56,489.489 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:56:56,601.601 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:56:56,635.635 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:56:56,797.797 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:56:56,815.815 INFO    ] time= 29/08/2026 03:56:56
[2026-08-29 03:56:56,824.824 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:56:56,850.850 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:56:56,958.958 INFO    ] No existing commands found in stream
[2026-08-29 03:57:01,975.975 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:57:01,979.979 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 03:57:04,404.404 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:57:04,407.407 INFO    ] Checking for system updates...
[2026-08-29 03:57:04,447.447 INFO    ] 200
[2026-08-29 03:57:04,449.449 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:57:04,509.509 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:57:04,511.511 INFO    ] No update needed
[2026-08-29 03:57:04,514.514 INFO    ] Checking for camera pi updates...
[2026-08-29 03:57:04,548.548 INFO    ] 200
[2026-08-29 03:57:04,550.550 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:57:04,596.596 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:57:04,702.702 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:57:04,705.705 INFO    ] No camera update needed
[2026-08-29 03:57:04,707.707 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:57:04,709.709 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:57:04,715.715 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:57:04,720.720 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:57:06,764.764 INFO    ] ================================================
[2026-08-29 03:57:06,779.779 INFO    ] Launching Daemon at Sat Aug 29 03:57:06 IST 2026
[2026-08-29 03:57:06,789.789 INFO    ] ================================================
[2026-08-29 03:57:07,139.139 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:57:07
[2026-08-29 03:57:07,735.735 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:57:07,991.991 INFO    ] Initializing speech engine...
[2026-08-29 03:57:08,009.009 INFO    ] 2026-08-29 03:57:07
[2026-08-29 03:57:08,268.268 INFO    ] 2026-08-29 03:57:08
[2026-08-29 03:57:08,310.310 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:57:08,477.477 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:57:08,489.489 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:57:08,633.633 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:57:08,638.638 INFO    ] time= 29/08/2026 03:57:08
[2026-08-29 03:57:08,644.644 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:57:08,690.690 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:57:08,821.821 INFO    ] No existing commands found in stream
[2026-08-29 03:57:13,845.845 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:57:13,848.848 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-08-29 03:57:16,287.287 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:57:16,289.289 INFO    ] Checking for system updates...
[2026-08-29 03:57:16,309.309 INFO    ] 200
[2026-08-29 03:57:16,310.310 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:57:16,341.341 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:57:16,342.342 INFO    ] No update needed
[2026-08-29 03:57:16,343.343 INFO    ] Checking for camera pi updates...
[2026-08-29 03:57:16,365.365 INFO    ] 200
[2026-08-29 03:57:16,366.366 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:57:16,391.391 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:57:16,512.512 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:57:16,514.514 INFO    ] No camera update needed
[2026-08-29 03:57:16,515.515 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:57:16,516.516 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:57:16,519.519 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:57:16,522.522 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:57:18,562.562 INFO    ] ================================================
[2026-08-29 03:57:18,577.577 INFO    ] Launching Daemon at Sat Aug 29 03:57:18 IST 2026
[2026-08-29 03:57:18,588.588 INFO    ] ================================================
[2026-08-29 03:57:19,088.088 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:57:19
[2026-08-29 03:57:19,689.689 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:57:19,963.963 INFO    ] Initializing speech engine...
[2026-08-29 03:57:19,973.973 INFO    ] 2026-08-29 03:57:19
[2026-08-29 03:57:20,222.222 INFO    ] 2026-08-29 03:57:20
[2026-08-29 03:57:20,258.258 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:57:20,439.439 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:57:20,457.457 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:57:20,583.583 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:57:20,590.590 INFO    ] time= 29/08/2026 03:57:20
[2026-08-29 03:57:20,599.599 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:57:20,644.644 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:57:20,770.770 INFO    ] No existing commands found in stream
[2026-08-29 03:57:25,798.798 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:57:25,801.801 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-08-29 03:57:26,525.525 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:57:26,527.527 INFO    ] Checking for system updates...
[2026-08-29 03:57:26,548.548 INFO    ] 200
[2026-08-29 03:57:26,550.550 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:57:26,583.583 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:57:26,584.584 INFO    ] No update needed
[2026-08-29 03:57:26,586.586 INFO    ] Checking for camera pi updates...
[2026-08-29 03:57:26,606.606 INFO    ] 200
[2026-08-29 03:57:26,607.607 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:57:26,630.630 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:57:26,705.705 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:57:26,706.706 INFO    ] No camera update needed
[2026-08-29 03:57:26,708.708 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:57:26,709.709 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:57:26,712.712 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:57:26,715.715 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:57:28,757.757 INFO    ] ================================================
[2026-08-29 03:57:28,773.773 INFO    ] Launching Daemon at Sat Aug 29 03:57:28 IST 2026
[2026-08-29 03:57:28,783.783 INFO    ] ================================================
[2026-08-29 03:57:29,157.157 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:57:29
[2026-08-29 03:57:29,511.511 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:57:29,697.697 INFO    ] Initializing speech engine...
[2026-08-29 03:57:29,708.708 INFO    ] 2026-08-29 03:57:29
[2026-08-29 03:57:29,989.989 INFO    ] 2026-08-29 03:57:29
[2026-08-29 03:57:30,050.050 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:57:30,282.282 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:57:30,292.292 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:57:30,430.430 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:57:30,453.453 INFO    ] time= 29/08/2026 03:57:30
[2026-08-29 03:57:30,513.513 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:57:30,570.570 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:57:30,625.625 INFO    ] No existing commands found in stream
[2026-08-29 03:57:35,638.638 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:57:35,641.641 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-08-29 03:57:39,077.077 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:57:39,079.079 INFO    ] Checking for system updates...
[2026-08-29 03:57:39,102.102 INFO    ] 200
[2026-08-29 03:57:39,104.104 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:57:39,139.139 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:57:39,141.141 INFO    ] No update needed
[2026-08-29 03:57:39,142.142 INFO    ] Checking for camera pi updates...
[2026-08-29 03:57:39,166.166 INFO    ] 200
[2026-08-29 03:57:39,167.167 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:57:39,194.194 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:57:39,294.294 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:57:39,295.295 INFO    ] No camera update needed
[2026-08-29 03:57:39,297.297 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:57:39,298.298 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:57:39,302.302 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:57:39,305.305 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:57:41,348.348 INFO    ] ================================================
[2026-08-29 03:57:41,364.364 INFO    ] Launching Daemon at Sat Aug 29 03:57:41 IST 2026
[2026-08-29 03:57:41,375.375 INFO    ] ================================================
[2026-08-29 03:57:41,770.770 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:57:41
[2026-08-29 03:57:42,113.113 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:57:42,265.265 INFO    ] Initializing speech engine...
[2026-08-29 03:57:42,269.269 INFO    ] 2026-08-29 03:57:42
[2026-08-29 03:57:42,479.479 INFO    ] 2026-08-29 03:57:42
[2026-08-29 03:57:42,508.508 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:57:42,631.631 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:57:42,668.668 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:57:42,863.863 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:57:42,902.902 INFO    ] time= 29/08/2026 03:57:42
[2026-08-29 03:57:42,951.951 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:57:43,011.011 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:57:43,098.098 INFO    ] No existing commands found in stream
[2026-08-29 03:57:48,118.118 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:57:48,121.121 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-08-29 03:57:51,487.487 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:57:51,488.488 INFO    ] Checking for system updates...
[2026-08-29 03:57:51,509.509 INFO    ] 200
[2026-08-29 03:57:51,510.510 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:57:51,543.543 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:57:51,544.544 INFO    ] No update needed
[2026-08-29 03:57:51,545.545 INFO    ] Checking for camera pi updates...
[2026-08-29 03:57:51,566.566 INFO    ] 200
[2026-08-29 03:57:51,567.567 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:57:51,592.592 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:57:51,668.668 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:57:51,670.670 INFO    ] No camera update needed
[2026-08-29 03:57:51,671.671 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:57:51,672.672 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:57:51,675.675 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:57:51,678.678 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:57:53,717.717 INFO    ] ================================================
[2026-08-29 03:57:53,732.732 INFO    ] Launching Daemon at Sat Aug 29 03:57:53 IST 2026
[2026-08-29 03:57:53,744.744 INFO    ] ================================================
[2026-08-29 03:57:54,120.120 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:57:54
[2026-08-29 03:57:54,465.465 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:57:54,618.618 INFO    ] Initializing speech engine...
[2026-08-29 03:57:54,624.624 INFO    ] 2026-08-29 03:57:54
[2026-08-29 03:57:54,832.832 INFO    ] 2026-08-29 03:57:54
[2026-08-29 03:57:54,870.870 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:57:55,035.035 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:57:55,044.044 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:57:55,209.209 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:57:55,244.244 INFO    ] time= 29/08/2026 03:57:55
[2026-08-29 03:57:55,251.251 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:57:55,272.272 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:57:55,386.386 INFO    ] No existing commands found in stream
[2026-08-29 03:58:00,411.411 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:58:00,415.415 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-08-29 03:58:04,326.326 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:58:04,329.329 INFO    ] Checking for system updates...
[2026-08-29 03:58:04,380.380 INFO    ] 200
[2026-08-29 03:58:04,383.383 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:58:04,443.443 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:58:04,446.446 INFO    ] No update needed
[2026-08-29 03:58:04,449.449 INFO    ] Checking for camera pi updates...
[2026-08-29 03:58:04,485.485 INFO    ] 200
[2026-08-29 03:58:04,487.487 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:58:04,534.534 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:58:04,614.614 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:58:04,617.617 INFO    ] No camera update needed
[2026-08-29 03:58:04,619.619 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:58:04,622.622 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:58:04,628.628 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:58:04,634.634 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:58:06,674.674 INFO    ] ================================================
[2026-08-29 03:58:06,690.690 INFO    ] Launching Daemon at Sat Aug 29 03:58:06 IST 2026
[2026-08-29 03:58:06,701.701 INFO    ] ================================================
[2026-08-29 03:58:07,052.052 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:58:07
[2026-08-29 03:58:07,367.367 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:58:07,511.511 INFO    ] Initializing speech engine...
[2026-08-29 03:58:07,516.516 INFO    ] 2026-08-29 03:58:07
[2026-08-29 03:58:07,721.721 INFO    ] 2026-08-29 03:58:07
[2026-08-29 03:58:07,781.781 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:58:08,054.054 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:58:08,080.080 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:58:08,227.227 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:58:08,240.240 INFO    ] time= 29/08/2026 03:58:08
[2026-08-29 03:58:08,247.247 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:58:08,255.255 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:58:08,350.350 INFO    ] No existing commands found in stream
[2026-08-29 03:58:13,371.371 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:58:13,374.374 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-08-29 03:58:14,458.458 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:58:14,460.460 INFO    ] Checking for system updates...
[2026-08-29 03:58:14,480.480 INFO    ] 200
[2026-08-29 03:58:14,482.482 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:58:14,514.514 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:58:14,515.515 INFO    ] No update needed
[2026-08-29 03:58:14,517.517 INFO    ] Checking for camera pi updates...
[2026-08-29 03:58:14,536.536 INFO    ] 200
[2026-08-29 03:58:14,537.537 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:58:14,562.562 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:58:14,616.616 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:58:14,617.617 INFO    ] No camera update needed
[2026-08-29 03:58:14,618.618 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:58:14,620.620 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:58:14,623.623 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:58:14,626.626 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:58:16,665.665 INFO    ] ================================================
[2026-08-29 03:58:16,680.680 INFO    ] Launching Daemon at Sat Aug 29 03:58:16 IST 2026
[2026-08-29 03:58:16,691.691 INFO    ] ================================================
[2026-08-29 03:58:17,308.308 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:58:17
[2026-08-29 03:58:17,620.620 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:58:17,758.758 INFO    ] Initializing speech engine...
[2026-08-29 03:58:17,768.768 INFO    ] 2026-08-29 03:58:17
[2026-08-29 03:58:17,958.958 INFO    ] 2026-08-29 03:58:17
[2026-08-29 03:58:18,012.012 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:58:18,175.175 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:58:18,197.197 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:58:18,374.374 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:58:18,390.390 INFO    ] time= 29/08/2026 03:58:18
[2026-08-29 03:58:18,455.455 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:58:18,499.499 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:58:18,554.554 INFO    ] No existing commands found in stream
[2026-08-29 03:58:23,564.564 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:58:23,567.567 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-08-29 03:58:25,014.014 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 03:58:25,015.015 INFO    ] Checking for system updates...
[2026-08-29 03:58:25,036.036 INFO    ] 200
[2026-08-29 03:58:25,038.038 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:58:25,070.070 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:58:25,071.071 INFO    ] No update needed
[2026-08-29 03:58:25,073.073 INFO    ] Checking for camera pi updates...
[2026-08-29 03:58:25,096.096 INFO    ] 200
[2026-08-29 03:58:25,098.098 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:58:25,125.125 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:58:25,219.219 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:58:25,220.220 INFO    ] No camera update needed
[2026-08-29 03:58:25,222.222 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:58:25,223.223 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:58:25,226.226 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:58:25,229.229 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:58:27,269.269 INFO    ] ================================================
[2026-08-29 03:58:27,285.285 INFO    ] Launching Daemon at Sat Aug 29 03:58:27 IST 2026
[2026-08-29 03:58:27,296.296 INFO    ] ================================================
[2026-08-29 03:58:27,649.649 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:58:27
[2026-08-29 03:58:27,960.960 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:58:28,098.098 INFO    ] Initializing speech engine...
[2026-08-29 03:58:28,108.108 INFO    ] 2026-08-29 03:58:28
[2026-08-29 03:58:28,319.319 INFO    ] 2026-08-29 03:58:28
[2026-08-29 03:58:28,401.401 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:58:28,555.555 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:58:28,565.565 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:58:28,702.702 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:58:28,766.766 INFO    ] time= 29/08/2026 03:58:28
[2026-08-29 03:58:28,821.821 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:58:28,842.842 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:58:28,902.902 INFO    ] No existing commands found in stream
[2026-08-29 03:58:33,918.918 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:58:33,921.921 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-08-29 03:58:36,148.148 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:58:36,150.150 INFO    ] Checking for system updates...
[2026-08-29 03:58:36,171.171 INFO    ] 200
[2026-08-29 03:58:36,173.173 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:58:36,202.202 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:58:36,204.204 INFO    ] No update needed
[2026-08-29 03:58:36,205.205 INFO    ] Checking for camera pi updates...
[2026-08-29 03:58:36,238.238 INFO    ] 200
[2026-08-29 03:58:36,241.241 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:58:36,282.282 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:58:36,377.377 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:58:36,379.379 INFO    ] No camera update needed
[2026-08-29 03:58:36,382.382 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:58:36,385.385 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:58:36,391.391 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:58:36,397.397 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:58:38,437.437 INFO    ] ================================================
[2026-08-29 03:58:38,453.453 INFO    ] Launching Daemon at Sat Aug 29 03:58:38 IST 2026
[2026-08-29 03:58:38,464.464 INFO    ] ================================================
[2026-08-29 03:58:39,036.036 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:58:39
[2026-08-29 03:58:39,493.493 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:58:39,712.712 INFO    ] Initializing speech engine...
[2026-08-29 03:58:39,718.718 INFO    ] 2026-08-29 03:58:39
[2026-08-29 03:58:40,016.016 INFO    ] 2026-08-29 03:58:39
[2026-08-29 03:58:40,054.054 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:58:40,200.200 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:58:40,208.208 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:58:40,358.358 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:58:40,368.368 INFO    ] time= 29/08/2026 03:58:40
[2026-08-29 03:58:40,375.375 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:58:40,397.397 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:58:40,449.449 INFO    ] No existing commands found in stream
[2026-08-29 03:58:45,460.460 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:58:45,463.463 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-08-29 03:58:49,150.150 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:58:49,151.151 INFO    ] Checking for system updates...
[2026-08-29 03:58:49,173.173 INFO    ] 200
[2026-08-29 03:58:49,174.174 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:58:49,204.204 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:58:49,205.205 INFO    ] No update needed
[2026-08-29 03:58:49,207.207 INFO    ] Checking for camera pi updates...
[2026-08-29 03:58:49,231.231 INFO    ] 200
[2026-08-29 03:58:49,233.233 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:58:49,273.273 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:58:49,371.371 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:58:49,373.373 INFO    ] No camera update needed
[2026-08-29 03:58:49,376.376 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:58:49,378.378 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:58:49,383.383 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:58:49,388.388 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:58:51,429.429 INFO    ] ================================================
[2026-08-29 03:58:51,444.444 INFO    ] Launching Daemon at Sat Aug 29 03:58:51 IST 2026
[2026-08-29 03:58:51,456.456 INFO    ] ================================================
[2026-08-29 03:58:52,040.040 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:58:52
[2026-08-29 03:58:52,508.508 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:58:52,646.646 INFO    ] Initializing speech engine...
[2026-08-29 03:58:52,650.650 INFO    ] 2026-08-29 03:58:52
[2026-08-29 03:58:52,855.855 INFO    ] 2026-08-29 03:58:52
[2026-08-29 03:58:52,892.892 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:58:53,086.086 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:58:53,098.098 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:58:53,209.209 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:58:53,216.216 INFO    ] time= 29/08/2026 03:58:53
[2026-08-29 03:58:53,239.239 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:58:53,246.246 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:58:53,297.297 INFO    ] No existing commands found in stream
[2026-08-29 03:58:58,307.307 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:58:58,310.310 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-08-29 03:58:59,765.765 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 03:58:59,767.767 INFO    ] Checking for system updates...
[2026-08-29 03:58:59,787.787 INFO    ] 200
[2026-08-29 03:58:59,788.788 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:58:59,822.822 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:58:59,824.824 INFO    ] No update needed
[2026-08-29 03:58:59,827.827 INFO    ] Checking for camera pi updates...
[2026-08-29 03:58:59,864.864 INFO    ] 200
[2026-08-29 03:58:59,867.867 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:58:59,913.913 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:59:00,116.116 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:59:00,118.118 INFO    ] No camera update needed
[2026-08-29 03:59:00,121.121 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:59:00,123.123 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:59:00,128.128 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:59:00,133.133 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:59:02,176.176 INFO    ] ================================================
[2026-08-29 03:59:02,193.193 INFO    ] Launching Daemon at Sat Aug 29 03:59:02 IST 2026
[2026-08-29 03:59:02,205.205 INFO    ] ================================================
[2026-08-29 03:59:02,828.828 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:59:02
[2026-08-29 03:59:03,369.369 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:59:03,640.640 INFO    ] Initializing speech engine...
[2026-08-29 03:59:03,650.650 INFO    ] 2026-08-29 03:59:03
[2026-08-29 03:59:03,911.911 INFO    ] 2026-08-29 03:59:03
[2026-08-29 03:59:03,964.964 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:59:04,107.107 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:59:04,119.119 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:59:04,263.263 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:59:04,272.272 INFO    ] time= 29/08/2026 03:59:04
[2026-08-29 03:59:04,279.279 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:59:04,324.324 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:59:04,450.450 INFO    ] No existing commands found in stream
[2026-08-29 03:59:09,477.477 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:59:09,480.480 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-08-29 03:59:12,791.791 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:59:12,793.793 INFO    ] Checking for system updates...
[2026-08-29 03:59:12,813.813 INFO    ] 200
[2026-08-29 03:59:12,814.814 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:59:12,846.846 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:59:12,847.847 INFO    ] No update needed
[2026-08-29 03:59:12,849.849 INFO    ] Checking for camera pi updates...
[2026-08-29 03:59:12,868.868 INFO    ] 200
[2026-08-29 03:59:12,869.869 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:59:12,894.894 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:59:12,973.973 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:59:12,974.974 INFO    ] No camera update needed
[2026-08-29 03:59:12,975.975 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:59:12,977.977 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:59:12,980.980 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:59:12,982.982 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:59:15,022.022 INFO    ] ================================================
[2026-08-29 03:59:15,037.037 INFO    ] Launching Daemon at Sat Aug 29 03:59:15 IST 2026
[2026-08-29 03:59:15,051.051 INFO    ] ================================================
[2026-08-29 03:59:15,409.409 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:59:15
[2026-08-29 03:59:15,723.723 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:59:15,946.946 INFO    ] Initializing speech engine...
[2026-08-29 03:59:15,961.961 INFO    ] 2026-08-29 03:59:15
[2026-08-29 03:59:16,228.228 INFO    ] 2026-08-29 03:59:16
[2026-08-29 03:59:16,271.271 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:59:16,441.441 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:59:16,453.453 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:59:16,598.598 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:59:16,606.606 INFO    ] time= 29/08/2026 03:59:16
[2026-08-29 03:59:16,615.615 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:59:16,665.665 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:59:16,796.796 INFO    ] No existing commands found in stream
[2026-08-29 03:59:21,820.820 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:59:21,823.823 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-08-29 03:59:25,376.376 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 03:59:25,378.378 INFO    ] Checking for system updates...
[2026-08-29 03:59:25,399.399 INFO    ] 200
[2026-08-29 03:59:25,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:59:25,433.433 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:59:25,434.434 INFO    ] No update needed
[2026-08-29 03:59:25,436.436 INFO    ] Checking for camera pi updates...
[2026-08-29 03:59:25,459.459 INFO    ] 200
[2026-08-29 03:59:25,460.460 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:59:25,488.488 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:59:25,565.565 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 03:59:25,566.566 INFO    ] No camera update needed
[2026-08-29 03:59:25,567.567 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:59:25,569.569 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:59:25,572.572 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:59:25,575.575 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:59:27,615.615 INFO    ] ================================================
[2026-08-29 03:59:27,630.630 INFO    ] Launching Daemon at Sat Aug 29 03:59:27 IST 2026
[2026-08-29 03:59:27,640.640 INFO    ] ================================================
[2026-08-29 03:59:27,989.989 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:59:27
[2026-08-29 03:59:28,300.300 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:59:28,438.438 INFO    ] Initializing speech engine...
[2026-08-29 03:59:28,446.446 INFO    ] 2026-08-29 03:59:28
[2026-08-29 03:59:28,656.656 INFO    ] 2026-08-29 03:59:28
[2026-08-29 03:59:28,736.736 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:59:28,892.892 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:59:28,901.901 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:59:29,037.037 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:59:29,053.053 INFO    ] time= 29/08/2026 03:59:29
[2026-08-29 03:59:29,112.112 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:59:29,172.172 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:59:29,226.226 INFO    ] No existing commands found in stream
[2026-08-29 03:59:34,238.238 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:59:34,241.241 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-08-29 03:59:37,076.076 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 03:59:37,077.077 INFO    ] Checking for system updates...
[2026-08-29 03:59:37,098.098 INFO    ] 200
[2026-08-29 03:59:37,100.100 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:59:37,132.132 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:59:37,133.133 INFO    ] No update needed
[2026-08-29 03:59:37,134.134 INFO    ] Checking for camera pi updates...
[2026-08-29 03:59:37,155.155 INFO    ] 200
[2026-08-29 03:59:37,157.157 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:59:37,179.179 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:59:37,267.267 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:59:37,268.268 INFO    ] No camera update needed
[2026-08-29 03:59:37,269.269 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:59:37,271.271 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:59:37,274.274 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:59:37,276.276 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:59:39,318.318 INFO    ] ================================================
[2026-08-29 03:59:39,333.333 INFO    ] Launching Daemon at Sat Aug 29 03:59:39 IST 2026
[2026-08-29 03:59:39,344.344 INFO    ] ================================================
[2026-08-29 03:59:39,695.695 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:59:39
[2026-08-29 03:59:40,010.010 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:59:40,142.142 INFO    ] Initializing speech engine...
[2026-08-29 03:59:40,145.145 INFO    ] 2026-08-29 03:59:40
[2026-08-29 03:59:40,364.364 INFO    ] 2026-08-29 03:59:40
[2026-08-29 03:59:40,418.418 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:59:40,551.551 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:59:40,571.571 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:59:40,743.743 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:59:40,796.796 INFO    ] time= 29/08/2026 03:59:40
[2026-08-29 03:59:40,803.803 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:59:40,821.821 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:59:40,923.923 INFO    ] No existing commands found in stream
[2026-08-29 03:59:45,945.945 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:59:45,947.947 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-08-29 03:59:48,723.723 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 03:59:48,724.724 INFO    ] Checking for system updates...
[2026-08-29 03:59:48,745.745 INFO    ] 200
[2026-08-29 03:59:48,746.746 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:59:48,776.776 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:59:48,777.777 INFO    ] No update needed
[2026-08-29 03:59:48,778.778 INFO    ] Checking for camera pi updates...
[2026-08-29 03:59:48,799.799 INFO    ] 200
[2026-08-29 03:59:48,800.800 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 03:59:48,823.823 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 03:59:48,932.932 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 03:59:48,933.933 INFO    ] No camera update needed
[2026-08-29 03:59:48,935.935 INFO    ] Script finished. Safe exiting...
[2026-08-29 03:59:48,936.936 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 03:59:48,939.939 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 03:59:48,941.941 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 03:59:50,982.982 INFO    ] ================================================
[2026-08-29 03:59:51,997.997 INFO    ] Launching Daemon at Sat Aug 29 03:59:50 IST 2026
[2026-08-29 03:59:51,008.008 INFO    ] ================================================
[2026-08-29 03:59:51,345.345 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 03:59:51
[2026-08-29 03:59:51,664.664 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 03:59:51,799.799 INFO    ] Initializing speech engine...
[2026-08-29 03:59:51,803.803 INFO    ] 2026-08-29 03:59:51
[2026-08-29 03:59:52,000.000 INFO    ] 2026-08-29 03:59:51
[2026-08-29 03:59:52,040.040 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 03:59:52,167.167 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 03:59:52,204.204 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 03:59:52,359.359 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 03:59:52,392.392 INFO    ] time= 29/08/2026 03:59:52
[2026-08-29 03:59:52,425.425 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 03:59:52,477.477 INFO    ] Checking for existing commands in stream...
[2026-08-29 03:59:52,603.603 INFO    ] No existing commands found in stream
[2026-08-29 03:59:57,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 03:59:57,616.616 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-08-29 04:00:00,098.098 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:00:00,100.100 INFO    ] Checking for system updates...
[2026-08-29 04:00:00,121.121 INFO    ] 200
[2026-08-29 04:00:00,122.122 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:00:00,153.153 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:00:00,154.154 INFO    ] No update needed
[2026-08-29 04:00:00,155.155 INFO    ] Checking for camera pi updates...
[2026-08-29 04:00:00,176.176 INFO    ] 200
[2026-08-29 04:00:00,178.178 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:00:00,203.203 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:00:00,279.279 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:00:00,281.281 INFO    ] No camera update needed
[2026-08-29 04:00:00,282.282 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:00:00,283.283 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:00:00,287.287 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:00:00,290.290 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:00:02,363.363 INFO    ] ================================================
[2026-08-29 04:00:02,465.465 INFO    ] Launching Daemon at Sat Aug 29 04:00:02 IST 2026
[2026-08-29 04:00:02,648.648 INFO    ] ================================================
[2026-08-29 04:00:04,790.790 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:00:04
[2026-08-29 04:00:06,110.110 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:00:06,395.395 INFO    ] Initializing speech engine...
[2026-08-29 04:00:06,417.417 INFO    ] 2026-08-29 04:00:06
[2026-08-29 04:00:06,694.694 INFO    ] 2026-08-29 04:00:06
[2026-08-29 04:00:06,740.740 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:00:06,917.917 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:00:06,930.930 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:00:07,076.076 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:00:07,085.085 INFO    ] time= 29/08/2026 04:00:07
[2026-08-29 04:00:07,091.091 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:00:07,149.149 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:00:07,268.268 INFO    ] No existing commands found in stream
[2026-08-29 04:00:12,299.299 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:00:12,302.302 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 04:00:14,225.225 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:00:14,226.226 INFO    ] Checking for system updates...
[2026-08-29 04:00:14,247.247 INFO    ] 200
[2026-08-29 04:00:14,249.249 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:00:14,281.281 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:00:14,283.283 INFO    ] No update needed
[2026-08-29 04:00:14,284.284 INFO    ] Checking for camera pi updates...
[2026-08-29 04:00:14,306.306 INFO    ] 200
[2026-08-29 04:00:14,307.307 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:00:14,333.333 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:00:14,431.431 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:00:14,433.433 INFO    ] No camera update needed
[2026-08-29 04:00:14,434.434 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:00:14,435.435 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:00:14,438.438 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:00:14,441.441 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:00:16,480.480 INFO    ] ================================================
[2026-08-29 04:00:16,496.496 INFO    ] Launching Daemon at Sat Aug 29 04:00:16 IST 2026
[2026-08-29 04:00:16,507.507 INFO    ] ================================================
[2026-08-29 04:00:16,896.896 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:00:16
[2026-08-29 04:00:17,235.235 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:00:17,382.382 INFO    ] Initializing speech engine...
[2026-08-29 04:00:17,391.391 INFO    ] 2026-08-29 04:00:17
[2026-08-29 04:00:17,590.590 INFO    ] 2026-08-29 04:00:17
[2026-08-29 04:00:17,647.647 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:00:17,871.871 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:00:17,881.881 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:00:18,013.013 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:00:18,038.038 INFO    ] time= 29/08/2026 04:00:18
[2026-08-29 04:00:18,099.099 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:00:18,151.151 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:00:18,209.209 INFO    ] No existing commands found in stream
[2026-08-29 04:00:23,223.223 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:00:23,226.226 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-08-29 04:00:26,475.475 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:00:26,477.477 INFO    ] Checking for system updates...
[2026-08-29 04:00:26,497.497 INFO    ] 200
[2026-08-29 04:00:26,499.499 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:00:26,528.528 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:00:26,530.530 INFO    ] No update needed
[2026-08-29 04:00:26,531.531 INFO    ] Checking for camera pi updates...
[2026-08-29 04:00:26,551.551 INFO    ] 200
[2026-08-29 04:00:26,552.552 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:00:26,575.575 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:00:26,667.667 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:00:26,668.668 INFO    ] No camera update needed
[2026-08-29 04:00:26,670.670 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:00:26,671.671 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:00:26,674.674 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:00:26,676.676 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:00:28,715.715 INFO    ] ================================================
[2026-08-29 04:00:28,731.731 INFO    ] Launching Daemon at Sat Aug 29 04:00:28 IST 2026
[2026-08-29 04:00:28,742.742 INFO    ] ================================================
[2026-08-29 04:00:29,109.109 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:00:29
[2026-08-29 04:00:29,423.423 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:00:29,566.566 INFO    ] Initializing speech engine...
[2026-08-29 04:00:29,572.572 INFO    ] 2026-08-29 04:00:29
[2026-08-29 04:00:29,775.775 INFO    ] 2026-08-29 04:00:29
[2026-08-29 04:00:29,803.803 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:00:29,957.957 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:00:30,017.017 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:00:30,140.140 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:00:30,148.148 INFO    ] time= 29/08/2026 04:00:30
[2026-08-29 04:00:30,164.164 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:00:30,214.214 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:00:30,320.320 INFO    ] No existing commands found in stream
[2026-08-29 04:00:35,345.345 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:00:35,348.348 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-08-29 04:00:35,958.958 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:00:35,960.960 INFO    ] Checking for system updates...
[2026-08-29 04:00:35,982.982 INFO    ] 200
[2026-08-29 04:00:35,983.983 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:00:36,016.016 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:00:36,017.017 INFO    ] No update needed
[2026-08-29 04:00:36,018.018 INFO    ] Checking for camera pi updates...
[2026-08-29 04:00:36,042.042 INFO    ] 200
[2026-08-29 04:00:36,043.043 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:00:36,068.068 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:00:36,152.152 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:00:36,154.154 INFO    ] No camera update needed
[2026-08-29 04:00:36,155.155 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:00:36,156.156 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:00:36,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:00:36,162.162 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:00:38,203.203 INFO    ] ================================================
[2026-08-29 04:00:38,219.219 INFO    ] Launching Daemon at Sat Aug 29 04:00:38 IST 2026
[2026-08-29 04:00:38,231.231 INFO    ] ================================================
[2026-08-29 04:00:38,745.745 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:00:38
[2026-08-29 04:00:39,334.334 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:00:39,592.592 INFO    ] Initializing speech engine...
[2026-08-29 04:00:39,599.599 INFO    ] 2026-08-29 04:00:39
[2026-08-29 04:00:39,904.904 INFO    ] 2026-08-29 04:00:39
[2026-08-29 04:00:39,930.930 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:00:40,086.086 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:00:40,094.094 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:00:40,225.225 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:00:40,234.234 INFO    ] time= 29/08/2026 04:00:40
[2026-08-29 04:00:40,239.239 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:00:40,259.259 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:00:40,368.368 INFO    ] No existing commands found in stream
[2026-08-29 04:00:45,380.380 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:00:45,383.383 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-08-29 04:00:50,830.830 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:00:50,831.831 INFO    ] Checking for system updates...
[2026-08-29 04:00:50,854.854 INFO    ] 200
[2026-08-29 04:00:50,856.856 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:00:50,886.886 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:00:50,888.888 INFO    ] No update needed
[2026-08-29 04:00:50,889.889 INFO    ] Checking for camera pi updates...
[2026-08-29 04:00:50,909.909 INFO    ] 200
[2026-08-29 04:00:50,911.911 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:00:50,934.934 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:00:51,019.019 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:00:51,020.020 INFO    ] No camera update needed
[2026-08-29 04:00:51,021.021 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:00:51,023.023 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:00:51,026.026 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:00:51,029.029 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:00:53,070.070 INFO    ] ================================================
[2026-08-29 04:00:53,086.086 INFO    ] Launching Daemon at Sat Aug 29 04:00:53 IST 2026
[2026-08-29 04:00:53,098.098 INFO    ] ================================================
[2026-08-29 04:00:53,427.427 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:00:53
[2026-08-29 04:00:53,747.747 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:00:53,892.892 INFO    ] Initializing speech engine...
[2026-08-29 04:00:53,897.897 INFO    ] 2026-08-29 04:00:53
[2026-08-29 04:00:54,102.102 INFO    ] 2026-08-29 04:00:54
[2026-08-29 04:00:54,130.130 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:00:54,254.254 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:00:54,291.291 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:00:54,451.451 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:00:54,514.514 INFO    ] time= 29/08/2026 04:00:54
[2026-08-29 04:00:54,546.546 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:00:54,548.548 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:00:54,618.618 INFO    ] No existing commands found in stream
[2026-08-29 04:00:59,629.629 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:00:59,632.632 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-08-29 04:01:01,022.022 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:01:01,024.024 INFO    ] Checking for system updates...
[2026-08-29 04:01:01,044.044 INFO    ] 200
[2026-08-29 04:01:01,046.046 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:01:01,076.076 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:01:01,077.077 INFO    ] No update needed
[2026-08-29 04:01:01,079.079 INFO    ] Checking for camera pi updates...
[2026-08-29 04:01:01,098.098 INFO    ] 200
[2026-08-29 04:01:01,099.099 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:01:01,122.122 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:01:01,202.202 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:01:01,204.204 INFO    ] No camera update needed
[2026-08-29 04:01:01,205.205 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:01:01,206.206 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:01:01,209.209 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:01:01,212.212 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:01:03,255.255 INFO    ] ================================================
[2026-08-29 04:01:03,272.272 INFO    ] Launching Daemon at Sat Aug 29 04:01:03 IST 2026
[2026-08-29 04:01:03,283.283 INFO    ] ================================================
[2026-08-29 04:01:03,866.866 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:01:03
[2026-08-29 04:01:04,465.465 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:01:04,648.648 INFO    ] Initializing speech engine...
[2026-08-29 04:01:04,657.657 INFO    ] 2026-08-29 04:01:04
[2026-08-29 04:01:04,920.920 INFO    ] 2026-08-29 04:01:04
[2026-08-29 04:01:04,974.974 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:01:05,204.204 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:01:05,209.209 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:01:05,342.342 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:01:05,359.359 INFO    ] time= 29/08/2026 04:01:05
[2026-08-29 04:01:05,408.408 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:01:05,467.467 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:01:05,528.528 INFO    ] No existing commands found in stream
[2026-08-29 04:01:10,540.540 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:01:10,543.543 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-08-29 04:01:11,482.482 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:01:11,484.484 INFO    ] Checking for system updates...
[2026-08-29 04:01:11,505.505 INFO    ] 200
[2026-08-29 04:01:11,506.506 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:01:11,539.539 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:01:11,540.540 INFO    ] No update needed
[2026-08-29 04:01:11,542.542 INFO    ] Checking for camera pi updates...
[2026-08-29 04:01:11,565.565 INFO    ] 200
[2026-08-29 04:01:11,566.566 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:01:11,594.594 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:01:11,684.684 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:01:11,685.685 INFO    ] No camera update needed
[2026-08-29 04:01:11,687.687 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:01:11,688.688 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:01:11,691.691 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:01:11,694.694 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:01:13,733.733 INFO    ] ================================================
[2026-08-29 04:01:13,749.749 INFO    ] Launching Daemon at Sat Aug 29 04:01:13 IST 2026
[2026-08-29 04:01:13,760.760 INFO    ] ================================================
[2026-08-29 04:01:14,097.097 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:01:14
[2026-08-29 04:01:14,409.409 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:01:14,633.633 INFO    ] Initializing speech engine...
[2026-08-29 04:01:14,642.642 INFO    ] 2026-08-29 04:01:14
[2026-08-29 04:01:14,889.889 INFO    ] 2026-08-29 04:01:14
[2026-08-29 04:01:14,925.925 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:01:15,095.095 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:01:15,108.108 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:01:15,221.221 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:01:15,240.240 INFO    ] time= 29/08/2026 04:01:15
[2026-08-29 04:01:15,264.264 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:01:15,270.270 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:01:15,338.338 INFO    ] No existing commands found in stream
[2026-08-29 04:01:20,351.351 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:01:20,354.354 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-08-29 04:01:24,387.387 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:01:24,388.388 INFO    ] Checking for system updates...
[2026-08-29 04:01:24,409.409 INFO    ] 200
[2026-08-29 04:01:24,411.411 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:01:24,441.441 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:01:24,443.443 INFO    ] No update needed
[2026-08-29 04:01:24,444.444 INFO    ] Checking for camera pi updates...
[2026-08-29 04:01:24,464.464 INFO    ] 200
[2026-08-29 04:01:24,465.465 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:01:24,488.488 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:01:24,568.568 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:01:24,569.569 INFO    ] No camera update needed
[2026-08-29 04:01:24,571.571 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:01:24,572.572 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:01:24,576.576 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:01:24,578.578 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:01:26,618.618 INFO    ] ================================================
[2026-08-29 04:01:26,634.634 INFO    ] Launching Daemon at Sat Aug 29 04:01:26 IST 2026
[2026-08-29 04:01:26,646.646 INFO    ] ================================================
[2026-08-29 04:01:26,992.992 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:01:26
[2026-08-29 04:01:27,306.306 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:01:27,436.436 INFO    ] Initializing speech engine...
[2026-08-29 04:01:27,441.441 INFO    ] 2026-08-29 04:01:27
[2026-08-29 04:01:27,660.660 INFO    ] 2026-08-29 04:01:27
[2026-08-29 04:01:27,689.689 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:01:27,877.877 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:01:27,886.886 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:01:28,017.017 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:01:28,072.072 INFO    ] time= 29/08/2026 04:01:28
[2026-08-29 04:01:28,102.102 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:01:28,113.113 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:01:28,185.185 INFO    ] No existing commands found in stream
[2026-08-29 04:01:33,195.195 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:01:33,198.198 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-08-29 04:01:34,575.575 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:01:34,578.578 INFO    ] Checking for system updates...
[2026-08-29 04:01:34,614.614 INFO    ] 200
[2026-08-29 04:01:34,616.616 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:01:34,668.668 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:01:34,670.670 INFO    ] No update needed
[2026-08-29 04:01:34,672.672 INFO    ] Checking for camera pi updates...
[2026-08-29 04:01:34,706.706 INFO    ] 200
[2026-08-29 04:01:34,708.708 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:01:34,755.755 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:01:34,860.860 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:01:34,862.862 INFO    ] No camera update needed
[2026-08-29 04:01:34,865.865 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:01:34,868.868 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:01:34,874.874 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:01:34,879.879 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:01:36,923.923 INFO    ] ================================================
[2026-08-29 04:01:36,940.940 INFO    ] Launching Daemon at Sat Aug 29 04:01:36 IST 2026
[2026-08-29 04:01:36,952.952 INFO    ] ================================================
[2026-08-29 04:01:37,564.564 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:01:37
[2026-08-29 04:01:38,203.203 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:01:38,456.456 INFO    ] Initializing speech engine...
[2026-08-29 04:01:38,473.473 INFO    ] 2026-08-29 04:01:38
[2026-08-29 04:01:38,766.766 INFO    ] 2026-08-29 04:01:38
[2026-08-29 04:01:38,787.787 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:01:39,932.932 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:01:39,936.936 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:01:40,052.052 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:01:40,057.057 INFO    ] time= 29/08/2026 04:01:40
[2026-08-29 04:01:40,063.063 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:01:40,067.067 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:01:40,387.387 INFO    ] No existing commands found in stream
[2026-08-29 04:01:45,405.405 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:01:45,413.413 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 04:01:49,184.184 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:01:49,185.185 INFO    ] Checking for system updates...
[2026-08-29 04:01:49,207.207 INFO    ] 200
[2026-08-29 04:01:49,209.209 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:01:49,241.241 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:01:49,242.242 INFO    ] No update needed
[2026-08-29 04:01:49,244.244 INFO    ] Checking for camera pi updates...
[2026-08-29 04:01:49,263.263 INFO    ] 200
[2026-08-29 04:01:49,264.264 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:01:49,287.287 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:01:49,365.365 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:01:49,367.367 INFO    ] No camera update needed
[2026-08-29 04:01:49,368.368 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:01:49,369.369 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:01:49,372.372 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:01:49,375.375 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:01:51,414.414 INFO    ] ================================================
[2026-08-29 04:01:51,431.431 INFO    ] Launching Daemon at Sat Aug 29 04:01:51 IST 2026
[2026-08-29 04:01:51,442.442 INFO    ] ================================================
[2026-08-29 04:01:51,962.962 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:01:51
[2026-08-29 04:01:52,562.562 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:01:52,828.828 INFO    ] Initializing speech engine...
[2026-08-29 04:01:52,844.844 INFO    ] 2026-08-29 04:01:52
[2026-08-29 04:01:53,100.100 INFO    ] 2026-08-29 04:01:53
[2026-08-29 04:01:53,141.141 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:01:53,308.308 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:01:53,320.320 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:01:53,465.465 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:01:53,470.470 INFO    ] time= 29/08/2026 04:01:53
[2026-08-29 04:01:53,476.476 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:01:53,527.527 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:01:53,650.650 INFO    ] No existing commands found in stream
[2026-08-29 04:01:58,675.675 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:01:58,678.678 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-08-29 04:01:59,375.375 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:01:59,376.376 INFO    ] Checking for system updates...
[2026-08-29 04:01:59,397.397 INFO    ] 200
[2026-08-29 04:01:59,399.399 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:01:59,429.429 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:01:59,430.430 INFO    ] No update needed
[2026-08-29 04:01:59,432.432 INFO    ] Checking for camera pi updates...
[2026-08-29 04:01:59,451.451 INFO    ] 200
[2026-08-29 04:01:59,452.452 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:01:59,475.475 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:01:59,556.556 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:01:59,558.558 INFO    ] No camera update needed
[2026-08-29 04:01:59,559.559 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:01:59,560.560 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:01:59,563.563 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:01:59,566.566 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:02:01,605.605 INFO    ] ================================================
[2026-08-29 04:02:01,626.626 INFO    ] Launching Daemon at Sat Aug 29 04:02:01 IST 2026
[2026-08-29 04:02:01,641.641 INFO    ] ================================================
[2026-08-29 04:02:02,275.275 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:02:02
[2026-08-29 04:02:02,929.929 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:02:03,192.192 INFO    ] Initializing speech engine...
[2026-08-29 04:02:03,217.217 INFO    ] 2026-08-29 04:02:03
[2026-08-29 04:02:03,488.488 INFO    ] 2026-08-29 04:02:03
[2026-08-29 04:02:03,525.525 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:02:03,697.697 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:02:03,709.709 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:02:03,819.819 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:02:03,838.838 INFO    ] time= 29/08/2026 04:02:03
[2026-08-29 04:02:03,858.858 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:02:03,866.866 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:02:03,935.935 INFO    ] No existing commands found in stream
[2026-08-29 04:02:08,971.971 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:02:08,974.974 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-08-29 04:02:12,374.374 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:02:12,375.375 INFO    ] Checking for system updates...
[2026-08-29 04:02:12,397.397 INFO    ] 200
[2026-08-29 04:02:12,399.399 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:02:12,431.431 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:02:12,432.432 INFO    ] No update needed
[2026-08-29 04:02:12,434.434 INFO    ] Checking for camera pi updates...
[2026-08-29 04:02:12,453.453 INFO    ] 200
[2026-08-29 04:02:12,454.454 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:02:12,479.479 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:02:12,568.568 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:02:12,569.569 INFO    ] No camera update needed
[2026-08-29 04:02:12,570.570 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:02:12,572.572 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:02:12,575.575 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:02:12,577.577 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:02:14,615.615 INFO    ] ================================================
[2026-08-29 04:02:14,630.630 INFO    ] Launching Daemon at Sat Aug 29 04:02:14 IST 2026
[2026-08-29 04:02:14,641.641 INFO    ] ================================================
[2026-08-29 04:02:15,225.225 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:02:15
[2026-08-29 04:02:15,760.760 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:02:15,905.905 INFO    ] Initializing speech engine...
[2026-08-29 04:02:15,909.909 INFO    ] 2026-08-29 04:02:15
[2026-08-29 04:02:16,114.114 INFO    ] 2026-08-29 04:02:16
[2026-08-29 04:02:16,142.142 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:02:16,265.265 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:02:16,328.328 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:02:16,462.462 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:02:16,519.519 INFO    ] time= 29/08/2026 04:02:16
[2026-08-29 04:02:16,556.556 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:02:16,558.558 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:02:16,628.628 INFO    ] No existing commands found in stream
[2026-08-29 04:02:21,639.639 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:02:21,641.641 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-08-29 04:02:23,889.889 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:02:23,890.890 INFO    ] Checking for system updates...
[2026-08-29 04:02:23,912.912 INFO    ] 200
[2026-08-29 04:02:23,914.914 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:02:23,944.944 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:02:23,945.945 INFO    ] No update needed
[2026-08-29 04:02:23,946.946 INFO    ] Checking for camera pi updates...
[2026-08-29 04:02:23,977.977 INFO    ] 200
[2026-08-29 04:02:23,980.980 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:02:24,021.021 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:02:24,099.099 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:02:24,102.102 INFO    ] No camera update needed
[2026-08-29 04:02:24,104.104 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:02:24,107.107 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:02:24,112.112 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:02:24,117.117 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:02:26,161.161 INFO    ] ================================================
[2026-08-29 04:02:26,177.177 INFO    ] Launching Daemon at Sat Aug 29 04:02:26 IST 2026
[2026-08-29 04:02:26,189.189 INFO    ] ================================================
[2026-08-29 04:02:26,767.767 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:02:26
[2026-08-29 04:02:27,226.226 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:02:27,359.359 INFO    ] Initializing speech engine...
[2026-08-29 04:02:27,372.372 INFO    ] 2026-08-29 04:02:27
[2026-08-29 04:02:27,581.581 INFO    ] 2026-08-29 04:02:27
[2026-08-29 04:02:27,634.634 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:02:27,785.785 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:02:27,808.808 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:02:27,975.975 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:02:28,015.015 INFO    ] time= 29/08/2026 04:02:27
[2026-08-29 04:02:28,021.021 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:02:28,039.039 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:02:28,147.147 INFO    ] No existing commands found in stream
[2026-08-29 04:02:33,174.174 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:02:33,177.177 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 04:02:34,339.339 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:02:34,340.340 INFO    ] Checking for system updates...
[2026-08-29 04:02:34,361.361 INFO    ] 200
[2026-08-29 04:02:34,362.362 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:02:34,395.395 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:02:34,396.396 INFO    ] No update needed
[2026-08-29 04:02:34,397.397 INFO    ] Checking for camera pi updates...
[2026-08-29 04:02:34,416.416 INFO    ] 200
[2026-08-29 04:02:34,418.418 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:02:34,442.442 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:02:34,518.518 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:02:34,519.519 INFO    ] No camera update needed
[2026-08-29 04:02:34,520.520 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:02:34,521.521 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:02:34,524.524 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:02:34,527.527 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:02:36,561.561 INFO    ] ================================================
[2026-08-29 04:02:36,569.569 INFO    ] Launching Daemon at Sat Aug 29 04:02:36 IST 2026
[2026-08-29 04:02:36,575.575 INFO    ] ================================================
[2026-08-29 04:02:37,115.115 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:02:37
[2026-08-29 04:02:37,718.718 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:02:37,997.997 INFO    ] Initializing speech engine...
[2026-08-29 04:02:38,003.003 INFO    ] 2026-08-29 04:02:37
[2026-08-29 04:02:38,252.252 INFO    ] 2026-08-29 04:02:38
[2026-08-29 04:02:38,288.288 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:02:38,483.483 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:02:38,506.506 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:02:38,684.684 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:02:38,706.706 INFO    ] time= 29/08/2026 04:02:38
[2026-08-29 04:02:38,776.776 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:02:38,819.819 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:02:38,877.877 INFO    ] No existing commands found in stream
[2026-08-29 04:02:43,890.890 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:02:43,893.893 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-08-29 04:02:47,261.261 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:02:47,263.263 INFO    ] Checking for system updates...
[2026-08-29 04:02:47,285.285 INFO    ] 200
[2026-08-29 04:02:47,286.286 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:02:47,319.319 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:02:47,320.320 INFO    ] No update needed
[2026-08-29 04:02:47,321.321 INFO    ] Checking for camera pi updates...
[2026-08-29 04:02:47,342.342 INFO    ] 200
[2026-08-29 04:02:47,343.343 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:02:47,366.366 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:02:47,454.454 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:02:47,455.455 INFO    ] No camera update needed
[2026-08-29 04:02:47,456.456 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:02:47,458.458 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:02:47,461.461 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:02:47,463.463 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:02:49,502.502 INFO    ] ================================================
[2026-08-29 04:02:49,518.518 INFO    ] Launching Daemon at Sat Aug 29 04:02:49 IST 2026
[2026-08-29 04:02:49,529.529 INFO    ] ================================================
[2026-08-29 04:02:49,856.856 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:02:49
[2026-08-29 04:02:50,168.168 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:02:50,437.437 INFO    ] Initializing speech engine...
[2026-08-29 04:02:50,445.445 INFO    ] 2026-08-29 04:02:50
[2026-08-29 04:02:50,698.698 INFO    ] 2026-08-29 04:02:50
[2026-08-29 04:02:50,732.732 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:02:50,909.909 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:02:50,922.922 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:02:51,031.031 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:02:51,038.038 INFO    ] time= 29/08/2026 04:02:51
[2026-08-29 04:02:51,056.056 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:02:51,076.076 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:02:51,150.150 INFO    ] No existing commands found in stream
[2026-08-29 04:02:56,162.162 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:02:56,165.165 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-08-29 04:02:59,860.860 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:02:59,862.862 INFO    ] Checking for system updates...
[2026-08-29 04:02:59,883.883 INFO    ] 200
[2026-08-29 04:02:59,885.885 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:02:59,916.916 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:02:59,918.918 INFO    ] No update needed
[2026-08-29 04:02:59,919.919 INFO    ] Checking for camera pi updates...
[2026-08-29 04:02:59,940.940 INFO    ] 200
[2026-08-29 04:02:59,941.941 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:02:59,965.965 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:03:00,058.058 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:03:00,059.059 INFO    ] No camera update needed
[2026-08-29 04:03:00,060.060 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:03:00,063.063 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:03:00,067.067 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:03:00,071.071 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:03:02,115.115 INFO    ] ================================================
[2026-08-29 04:03:02,139.139 INFO    ] Launching Daemon at Sat Aug 29 04:03:02 IST 2026
[2026-08-29 04:03:02,165.165 INFO    ] ================================================
[2026-08-29 04:03:02,827.827 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:03:02
[2026-08-29 04:03:03,409.409 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:03:03,741.741 INFO    ] Initializing speech engine...
[2026-08-29 04:03:03,752.752 INFO    ] 2026-08-29 04:03:03
[2026-08-29 04:03:04,007.007 INFO    ] 2026-08-29 04:03:04
[2026-08-29 04:03:04,060.060 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:03:04,283.283 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:03:04,292.292 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:03:04,425.425 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:03:04,456.456 INFO    ] time= 29/08/2026 04:03:04
[2026-08-29 04:03:04,510.510 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:03:04,558.558 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:03:04,621.621 INFO    ] No existing commands found in stream
[2026-08-29 04:03:09,654.654 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:03:09,656.656 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-08-29 04:03:10,257.257 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:03:10,258.258 INFO    ] Checking for system updates...
[2026-08-29 04:03:10,279.279 INFO    ] 200
[2026-08-29 04:03:10,281.281 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:03:10,313.313 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:03:10,314.314 INFO    ] No update needed
[2026-08-29 04:03:10,316.316 INFO    ] Checking for camera pi updates...
[2026-08-29 04:03:10,336.336 INFO    ] 200
[2026-08-29 04:03:10,337.337 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:03:10,368.368 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:03:10,548.548 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:03:10,550.550 INFO    ] No camera update needed
[2026-08-29 04:03:10,553.553 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:03:10,555.555 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:03:10,561.561 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:03:10,566.566 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:03:12,606.606 INFO    ] ================================================
[2026-08-29 04:03:12,621.621 INFO    ] Launching Daemon at Sat Aug 29 04:03:12 IST 2026
[2026-08-29 04:03:12,631.631 INFO    ] ================================================
[2026-08-29 04:03:13,220.220 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:03:13
[2026-08-29 04:03:13,662.662 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:03:13,806.806 INFO    ] Initializing speech engine...
[2026-08-29 04:03:13,811.811 INFO    ] 2026-08-29 04:03:13
[2026-08-29 04:03:14,016.016 INFO    ] 2026-08-29 04:03:13
[2026-08-29 04:03:14,043.043 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:03:14,176.176 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:03:14,229.229 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:03:14,366.366 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:03:14,425.425 INFO    ] time= 29/08/2026 04:03:14
[2026-08-29 04:03:14,457.457 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:03:14,464.464 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:03:14,529.529 INFO    ] No existing commands found in stream
[2026-08-29 04:03:19,540.540 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:03:19,543.543 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-08-29 04:03:20,150.150 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:03:20,153.153 INFO    ] Checking for system updates...
[2026-08-29 04:03:20,191.191 INFO    ] 200
[2026-08-29 04:03:20,194.194 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:03:20,449.449 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:03:20,451.451 INFO    ] No update needed
[2026-08-29 04:03:20,454.454 INFO    ] Checking for camera pi updates...
[2026-08-29 04:03:20,492.492 INFO    ] 200
[2026-08-29 04:03:20,494.494 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:03:20,540.540 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:03:20,625.625 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:03:20,628.628 INFO    ] No camera update needed
[2026-08-29 04:03:20,630.630 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:03:20,633.633 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:03:20,638.638 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:03:20,643.643 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:03:22,688.688 INFO    ] ================================================
[2026-08-29 04:03:22,703.703 INFO    ] Launching Daemon at Sat Aug 29 04:03:22 IST 2026
[2026-08-29 04:03:22,714.714 INFO    ] ================================================
[2026-08-29 04:03:23,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:03:23
[2026-08-29 04:03:23,381.381 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:03:23,518.518 INFO    ] Initializing speech engine...
[2026-08-29 04:03:23,531.531 INFO    ] 2026-08-29 04:03:23
[2026-08-29 04:03:23,752.752 INFO    ] 2026-08-29 04:03:23
[2026-08-29 04:03:23,783.783 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:03:23,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:03:23,958.958 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:03:24,153.153 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:03:24,197.197 INFO    ] time= 29/08/2026 04:03:24
[2026-08-29 04:03:24,249.249 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:03:24,309.309 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:03:24,420.420 INFO    ] No existing commands found in stream
[2026-08-29 04:03:29,430.430 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:03:29,433.433 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-08-29 04:03:30,328.328 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:03:30,329.329 INFO    ] Checking for system updates...
[2026-08-29 04:03:30,351.351 INFO    ] 200
[2026-08-29 04:03:30,353.353 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:03:30,385.385 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:03:30,386.386 INFO    ] No update needed
[2026-08-29 04:03:30,388.388 INFO    ] Checking for camera pi updates...
[2026-08-29 04:03:30,409.409 INFO    ] 200
[2026-08-29 04:03:30,411.411 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:03:30,434.434 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:03:30,525.525 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:03:30,526.526 INFO    ] No camera update needed
[2026-08-29 04:03:30,527.527 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:03:30,529.529 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:03:30,532.532 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:03:30,535.535 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:03:32,579.579 INFO    ] ================================================
[2026-08-29 04:03:32,596.596 INFO    ] Launching Daemon at Sat Aug 29 04:03:32 IST 2026
[2026-08-29 04:03:32,607.607 INFO    ] ================================================
[2026-08-29 04:03:33,221.221 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:03:33
[2026-08-29 04:03:33,824.824 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:03:34,107.107 INFO    ] Initializing speech engine...
[2026-08-29 04:03:34,115.115 INFO    ] 2026-08-29 04:03:34
[2026-08-29 04:03:34,379.379 INFO    ] 2026-08-29 04:03:34
[2026-08-29 04:03:34,429.429 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:03:34,651.651 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:03:34,660.660 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:03:34,794.794 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:03:34,854.854 INFO    ] time= 29/08/2026 04:03:34
[2026-08-29 04:03:34,921.921 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:03:34,928.928 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:03:35,048.048 INFO    ] No existing commands found in stream
[2026-08-29 04:03:40,073.073 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:03:40,077.077 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-08-29 04:03:42,043.043 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:03:42,044.044 INFO    ] Checking for system updates...
[2026-08-29 04:03:42,065.065 INFO    ] 200
[2026-08-29 04:03:42,066.066 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:03:42,102.102 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:03:42,103.103 INFO    ] No update needed
[2026-08-29 04:03:42,105.105 INFO    ] Checking for camera pi updates...
[2026-08-29 04:03:42,125.125 INFO    ] 200
[2026-08-29 04:03:42,126.126 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:03:42,151.151 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:03:42,253.253 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:03:42,254.254 INFO    ] No camera update needed
[2026-08-29 04:03:42,256.256 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:03:42,257.257 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:03:42,260.260 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:03:42,263.263 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:03:44,303.303 INFO    ] ================================================
[2026-08-29 04:03:44,318.318 INFO    ] Launching Daemon at Sat Aug 29 04:03:44 IST 2026
[2026-08-29 04:03:44,329.329 INFO    ] ================================================
[2026-08-29 04:03:44,659.659 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:03:44
[2026-08-29 04:03:44,971.971 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:03:45,105.105 INFO    ] Initializing speech engine...
[2026-08-29 04:03:45,109.109 INFO    ] 2026-08-29 04:03:45
[2026-08-29 04:03:45,337.337 INFO    ] 2026-08-29 04:03:45
[2026-08-29 04:03:45,368.368 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:03:45,510.510 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:03:45,567.567 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:03:45,708.708 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:03:45,755.755 INFO    ] time= 29/08/2026 04:03:45
[2026-08-29 04:03:45,791.791 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:03:45,816.816 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:03:45,893.893 INFO    ] No existing commands found in stream
[2026-08-29 04:03:50,907.907 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:03:50,910.910 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-08-29 04:03:51,365.365 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:03:51,366.366 INFO    ] Checking for system updates...
[2026-08-29 04:03:51,387.387 INFO    ] 200
[2026-08-29 04:03:51,388.388 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:03:51,418.418 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:03:51,420.420 INFO    ] No update needed
[2026-08-29 04:03:51,421.421 INFO    ] Checking for camera pi updates...
[2026-08-29 04:03:51,441.441 INFO    ] 200
[2026-08-29 04:03:51,443.443 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:03:51,467.467 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:03:51,545.545 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:03:51,546.546 INFO    ] No camera update needed
[2026-08-29 04:03:51,547.547 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:03:51,549.549 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:03:51,551.551 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:03:51,554.554 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:03:53,593.593 INFO    ] ================================================
[2026-08-29 04:03:53,608.608 INFO    ] Launching Daemon at Sat Aug 29 04:03:53 IST 2026
[2026-08-29 04:03:53,618.618 INFO    ] ================================================
[2026-08-29 04:03:53,964.964 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:03:53
[2026-08-29 04:03:54,303.303 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:03:54,453.453 INFO    ] Initializing speech engine...
[2026-08-29 04:03:54,459.459 INFO    ] 2026-08-29 04:03:54
[2026-08-29 04:03:54,667.667 INFO    ] 2026-08-29 04:03:54
[2026-08-29 04:03:54,696.696 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:03:54,818.818 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:03:54,881.881 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:03:55,016.016 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:03:55,083.083 INFO    ] time= 29/08/2026 04:03:55
[2026-08-29 04:03:55,110.110 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:03:55,117.117 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:03:55,182.182 INFO    ] No existing commands found in stream
[2026-08-29 04:04:00,193.193 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:04:00,196.196 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-08-29 04:04:01,595.595 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:04:01,597.597 INFO    ] Checking for system updates...
[2026-08-29 04:04:01,619.619 INFO    ] 200
[2026-08-29 04:04:01,620.620 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:04:01,654.654 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:04:01,656.656 INFO    ] No update needed
[2026-08-29 04:04:01,658.658 INFO    ] Checking for camera pi updates...
[2026-08-29 04:04:01,678.678 INFO    ] 200
[2026-08-29 04:04:01,680.680 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:04:01,705.705 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:04:02,073.073 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:04:02,076.076 INFO    ] No camera update needed
[2026-08-29 04:04:02,079.079 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:04:02,083.083 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:04:02,091.091 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:04:02,103.103 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:04:04,156.156 INFO    ] ================================================
[2026-08-29 04:04:04,171.171 INFO    ] Launching Daemon at Sat Aug 29 04:04:04 IST 2026
[2026-08-29 04:04:04,182.182 INFO    ] ================================================
[2026-08-29 04:04:04,751.751 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:04:04
[2026-08-29 04:04:05,183.183 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:04:05,317.317 INFO    ] Initializing speech engine...
[2026-08-29 04:04:05,321.321 INFO    ] 2026-08-29 04:04:05
[2026-08-29 04:04:05,550.550 INFO    ] 2026-08-29 04:04:05
[2026-08-29 04:04:05,581.581 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:04:05,714.714 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:04:05,746.746 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:04:05,892.892 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:04:05,926.926 INFO    ] time= 29/08/2026 04:04:05
[2026-08-29 04:04:05,986.986 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:04:06,017.017 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:04:06,109.109 INFO    ] No existing commands found in stream
[2026-08-29 04:04:11,120.120 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:04:11,123.123 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-08-29 04:04:14,775.775 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:04:14,776.776 INFO    ] Checking for system updates...
[2026-08-29 04:04:14,798.798 INFO    ] 200
[2026-08-29 04:04:14,799.799 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:04:14,831.831 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:04:14,833.833 INFO    ] No update needed
[2026-08-29 04:04:14,834.834 INFO    ] Checking for camera pi updates...
[2026-08-29 04:04:14,854.854 INFO    ] 200
[2026-08-29 04:04:14,856.856 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:04:14,880.880 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:04:14,985.985 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:04:14,986.986 INFO    ] No camera update needed
[2026-08-29 04:04:14,987.987 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:04:14,988.988 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:04:14,991.991 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:04:14,994.994 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:04:17,034.034 INFO    ] ================================================
[2026-08-29 04:04:17,049.049 INFO    ] Launching Daemon at Sat Aug 29 04:04:17 IST 2026
[2026-08-29 04:04:17,059.059 INFO    ] ================================================
[2026-08-29 04:04:17,573.573 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:04:17
[2026-08-29 04:04:18,158.158 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:04:18,428.428 INFO    ] Initializing speech engine...
[2026-08-29 04:04:18,437.437 INFO    ] 2026-08-29 04:04:18
[2026-08-29 04:04:18,685.685 INFO    ] 2026-08-29 04:04:18
[2026-08-29 04:04:18,720.720 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:04:18,893.893 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:04:18,905.905 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:04:19,045.045 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:04:19,053.053 INFO    ] time= 29/08/2026 04:04:19
[2026-08-29 04:04:19,060.060 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:04:19,087.087 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:04:19,221.221 INFO    ] No existing commands found in stream
[2026-08-29 04:04:24,251.251 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:04:24,254.254 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-08-29 04:04:25,365.365 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:04:25,366.366 INFO    ] Checking for system updates...
[2026-08-29 04:04:25,389.389 INFO    ] 200
[2026-08-29 04:04:25,391.391 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:04:25,423.423 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:04:25,425.425 INFO    ] No update needed
[2026-08-29 04:04:25,426.426 INFO    ] Checking for camera pi updates...
[2026-08-29 04:04:25,447.447 INFO    ] 200
[2026-08-29 04:04:25,448.448 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:04:25,471.471 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:04:25,551.551 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:04:25,552.552 INFO    ] No camera update needed
[2026-08-29 04:04:25,553.553 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:04:25,555.555 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:04:25,558.558 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:04:25,560.560 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:04:27,599.599 INFO    ] ================================================
[2026-08-29 04:04:27,614.614 INFO    ] Launching Daemon at Sat Aug 29 04:04:27 IST 2026
[2026-08-29 04:04:27,625.625 INFO    ] ================================================
[2026-08-29 04:04:27,991.991 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:04:27
[2026-08-29 04:04:28,307.307 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:04:28,564.564 INFO    ] Initializing speech engine...
[2026-08-29 04:04:28,580.580 INFO    ] 2026-08-29 04:04:28
[2026-08-29 04:04:28,832.832 INFO    ] 2026-08-29 04:04:28
[2026-08-29 04:04:28,868.868 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:04:29,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:04:29,053.053 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:04:29,194.194 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:04:29,201.201 INFO    ] time= 29/08/2026 04:04:29
[2026-08-29 04:04:29,208.208 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:04:29,238.238 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:04:29,361.361 INFO    ] No existing commands found in stream
[2026-08-29 04:04:34,386.386 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:04:34,389.389 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-08-29 04:04:37,294.294 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:04:37,296.296 INFO    ] Checking for system updates...
[2026-08-29 04:04:37,316.316 INFO    ] 200
[2026-08-29 04:04:37,317.317 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:04:37,349.349 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:04:37,350.350 INFO    ] No update needed
[2026-08-29 04:04:37,352.352 INFO    ] Checking for camera pi updates...
[2026-08-29 04:04:37,372.372 INFO    ] 200
[2026-08-29 04:04:37,373.373 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:04:37,397.397 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:04:37,490.490 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:04:37,493.493 INFO    ] No camera update needed
[2026-08-29 04:04:37,495.495 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:04:37,497.497 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:04:37,502.502 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:04:37,507.507 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:04:39,548.548 INFO    ] ================================================
[2026-08-29 04:04:39,564.564 INFO    ] Launching Daemon at Sat Aug 29 04:04:39 IST 2026
[2026-08-29 04:04:39,575.575 INFO    ] ================================================
[2026-08-29 04:04:40,151.151 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:04:40
[2026-08-29 04:04:40,631.631 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:04:40,768.768 INFO    ] Initializing speech engine...
[2026-08-29 04:04:40,778.778 INFO    ] 2026-08-29 04:04:40
[2026-08-29 04:04:40,970.970 INFO    ] 2026-08-29 04:04:40
[2026-08-29 04:04:41,051.051 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:04:41,208.208 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:04:41,213.213 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:04:41,346.346 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:04:41,389.389 INFO    ] time= 29/08/2026 04:04:41
[2026-08-29 04:04:41,463.463 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:04:41,486.486 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:04:41,540.540 INFO    ] No existing commands found in stream
[2026-08-29 04:04:46,553.553 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:04:46,557.557 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-08-29 04:04:50,809.809 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:04:50,812.812 INFO    ] Checking for system updates...
[2026-08-29 04:04:50,850.850 INFO    ] 200
[2026-08-29 04:04:50,853.853 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:04:50,913.913 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:04:50,916.916 INFO    ] No update needed
[2026-08-29 04:04:50,919.919 INFO    ] Checking for camera pi updates...
[2026-08-29 04:04:50,957.957 INFO    ] 200
[2026-08-29 04:04:50,960.960 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:04:51,007.007 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:04:51,091.091 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:04:51,100.100 INFO    ] No camera update needed
[2026-08-29 04:04:51,103.103 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:04:51,106.106 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:04:51,112.112 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:04:51,119.119 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:04:53,162.162 INFO    ] ================================================
[2026-08-29 04:04:53,177.177 INFO    ] Launching Daemon at Sat Aug 29 04:04:53 IST 2026
[2026-08-29 04:04:53,188.188 INFO    ] ================================================
[2026-08-29 04:04:53,759.759 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:04:53
[2026-08-29 04:04:54,105.105 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:04:54,240.240 INFO    ] Initializing speech engine...
[2026-08-29 04:04:54,244.244 INFO    ] 2026-08-29 04:04:54
[2026-08-29 04:04:54,455.455 INFO    ] 2026-08-29 04:04:54
[2026-08-29 04:04:54,484.484 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:04:54,641.641 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:04:54,687.687 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:04:54,825.825 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:04:54,859.859 INFO    ] time= 29/08/2026 04:04:54
[2026-08-29 04:04:54,900.900 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:04:54,945.945 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:04:55,044.044 INFO    ] No existing commands found in stream
[2026-08-29 04:05:00,054.054 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:05:00,057.057 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-08-29 04:05:02,350.350 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:05:02,354.354 INFO    ] Checking for system updates...
[2026-08-29 04:05:02,397.397 INFO    ] 200
[2026-08-29 04:05:02,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:05:02,465.465 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:05:02,468.468 INFO    ] No update needed
[2026-08-29 04:05:02,471.471 INFO    ] Checking for camera pi updates...
[2026-08-29 04:05:02,522.522 INFO    ] 200
[2026-08-29 04:05:02,526.526 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:05:02,589.589 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:05:02,697.697 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:05:02,701.701 INFO    ] No camera update needed
[2026-08-29 04:05:02,704.704 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:05:02,708.708 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:05:02,716.716 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:05:02,723.723 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:05:04,767.767 INFO    ] ================================================
[2026-08-29 04:05:04,782.782 INFO    ] Launching Daemon at Sat Aug 29 04:05:04 IST 2026
[2026-08-29 04:05:04,793.793 INFO    ] ================================================
[2026-08-29 04:05:05,162.162 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:05:05
[2026-08-29 04:05:05,748.748 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:05:05,998.998 INFO    ] Initializing speech engine...
[2026-08-29 04:05:06,013.013 INFO    ] 2026-08-29 04:05:06
[2026-08-29 04:05:06,282.282 INFO    ] 2026-08-29 04:05:06
[2026-08-29 04:05:06,318.318 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:05:06,508.508 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:05:06,516.516 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:05:06,644.644 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:05:06,663.663 INFO    ] time= 29/08/2026 04:05:06
[2026-08-29 04:05:06,686.686 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:05:06,692.692 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:05:06,761.761 INFO    ] No existing commands found in stream
[2026-08-29 04:05:11,774.774 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:05:11,776.776 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-08-29 04:05:14,484.484 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:05:14,486.486 INFO    ] Checking for system updates...
[2026-08-29 04:05:14,506.506 INFO    ] 200
[2026-08-29 04:05:14,508.508 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:05:14,540.540 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:05:14,541.541 INFO    ] No update needed
[2026-08-29 04:05:14,543.543 INFO    ] Checking for camera pi updates...
[2026-08-29 04:05:14,562.562 INFO    ] 200
[2026-08-29 04:05:14,564.564 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:05:14,587.587 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:05:14,770.770 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:05:14,772.772 INFO    ] No camera update needed
[2026-08-29 04:05:14,773.773 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:05:14,774.774 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:05:14,777.777 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:05:14,780.780 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:05:16,818.818 INFO    ] ================================================
[2026-08-29 04:05:16,834.834 INFO    ] Launching Daemon at Sat Aug 29 04:05:16 IST 2026
[2026-08-29 04:05:16,844.844 INFO    ] ================================================
[2026-08-29 04:05:17,198.198 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:05:17
[2026-08-29 04:05:17,520.520 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:05:17,668.668 INFO    ] Initializing speech engine...
[2026-08-29 04:05:17,671.671 INFO    ] 2026-08-29 04:05:17
[2026-08-29 04:05:17,917.917 INFO    ] 2026-08-29 04:05:17
[2026-08-29 04:05:17,972.972 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:05:18,134.134 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:05:18,142.142 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:05:18,319.319 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:05:18,338.338 INFO    ] time= 29/08/2026 04:05:18
[2026-08-29 04:05:18,347.347 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:05:18,363.363 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:05:18,476.476 INFO    ] No existing commands found in stream
[2026-08-29 04:05:23,506.506 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:05:23,509.509 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-08-29 04:05:25,756.756 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:05:25,757.757 INFO    ] Checking for system updates...
[2026-08-29 04:05:25,777.777 INFO    ] 200
[2026-08-29 04:05:25,778.778 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:05:25,811.811 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:05:25,812.812 INFO    ] No update needed
[2026-08-29 04:05:25,813.813 INFO    ] Checking for camera pi updates...
[2026-08-29 04:05:25,833.833 INFO    ] 200
[2026-08-29 04:05:25,834.834 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:05:25,860.860 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:05:25,967.967 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:05:25,969.969 INFO    ] No camera update needed
[2026-08-29 04:05:25,971.971 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:05:25,974.974 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:05:25,979.979 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:05:25,984.984 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:05:28,024.024 INFO    ] ================================================
[2026-08-29 04:05:28,040.040 INFO    ] Launching Daemon at Sat Aug 29 04:05:28 IST 2026
[2026-08-29 04:05:28,052.052 INFO    ] ================================================
[2026-08-29 04:05:28,727.727 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:05:28
[2026-08-29 04:05:29,172.172 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:05:29,436.436 INFO    ] Initializing speech engine...
[2026-08-29 04:05:29,448.448 INFO    ] 2026-08-29 04:05:29
[2026-08-29 04:05:29,737.737 INFO    ] 2026-08-29 04:05:29
[2026-08-29 04:05:29,778.778 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:05:29,999.999 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:05:30,009.009 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:05:30,141.141 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:05:30,184.184 INFO    ] time= 29/08/2026 04:05:30
[2026-08-29 04:05:30,234.234 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:05:30,278.278 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:05:30,336.336 INFO    ] No existing commands found in stream
[2026-08-29 04:05:35,358.358 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:05:35,361.361 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-08-29 04:05:36,574.574 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:05:36,576.576 INFO    ] Checking for system updates...
[2026-08-29 04:05:36,598.598 INFO    ] 200
[2026-08-29 04:05:36,599.599 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:05:36,632.632 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:05:36,634.634 INFO    ] No update needed
[2026-08-29 04:05:36,635.635 INFO    ] Checking for camera pi updates...
[2026-08-29 04:05:36,655.655 INFO    ] 200
[2026-08-29 04:05:36,656.656 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:05:36,679.679 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:05:36,785.785 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:05:36,787.787 INFO    ] No camera update needed
[2026-08-29 04:05:36,788.788 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:05:36,789.789 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:05:36,793.793 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:05:36,796.796 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:05:38,837.837 INFO    ] ================================================
[2026-08-29 04:05:38,853.853 INFO    ] Launching Daemon at Sat Aug 29 04:05:38 IST 2026
[2026-08-29 04:05:38,864.864 INFO    ] ================================================
[2026-08-29 04:05:39,232.232 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:05:39
[2026-08-29 04:05:39,547.547 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:05:39,690.690 INFO    ] Initializing speech engine...
[2026-08-29 04:05:39,698.698 INFO    ] 2026-08-29 04:05:39
[2026-08-29 04:05:39,918.918 INFO    ] 2026-08-29 04:05:39
[2026-08-29 04:05:39,950.950 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:05:40,084.084 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:05:40,112.112 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:05:40,259.259 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:05:40,300.300 INFO    ] time= 29/08/2026 04:05:40
[2026-08-29 04:05:40,346.346 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:05:40,385.385 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:05:40,512.512 INFO    ] No existing commands found in stream
[2026-08-29 04:05:45,537.537 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:05:45,540.540 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-08-29 04:05:46,043.043 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:05:46,044.044 INFO    ] Checking for system updates...
[2026-08-29 04:05:46,065.065 INFO    ] 200
[2026-08-29 04:05:46,066.066 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:05:46,098.098 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:05:46,099.099 INFO    ] No update needed
[2026-08-29 04:05:46,101.101 INFO    ] Checking for camera pi updates...
[2026-08-29 04:05:46,121.121 INFO    ] 200
[2026-08-29 04:05:46,123.123 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:05:46,146.146 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:05:46,228.228 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:05:46,230.230 INFO    ] No camera update needed
[2026-08-29 04:05:46,231.231 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:05:46,232.232 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:05:46,235.235 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:05:46,238.238 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:05:48,277.277 INFO    ] ================================================
[2026-08-29 04:05:48,294.294 INFO    ] Launching Daemon at Sat Aug 29 04:05:48 IST 2026
[2026-08-29 04:05:48,305.305 INFO    ] ================================================
[2026-08-29 04:05:48,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:05:48
[2026-08-29 04:05:49,035.035 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:05:49,192.192 INFO    ] Initializing speech engine...
[2026-08-29 04:05:49,197.197 INFO    ] 2026-08-29 04:05:49
[2026-08-29 04:05:49,408.408 INFO    ] 2026-08-29 04:05:49
[2026-08-29 04:05:49,437.437 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:05:49,577.577 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:05:49,631.631 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:05:49,776.776 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:05:49,817.817 INFO    ] time= 29/08/2026 04:05:49
[2026-08-29 04:05:49,862.862 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:05:49,886.886 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:05:49,964.964 INFO    ] No existing commands found in stream
[2026-08-29 04:05:54,971.971 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:05:54,974.974 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-08-29 04:05:58,971.971 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:05:58,972.972 INFO    ] Checking for system updates...
[2026-08-29 04:05:58,993.993 INFO    ] 200
[2026-08-29 04:05:58,995.995 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:05:59,024.024 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:05:59,026.026 INFO    ] No update needed
[2026-08-29 04:05:59,027.027 INFO    ] Checking for camera pi updates...
[2026-08-29 04:05:59,048.048 INFO    ] 200
[2026-08-29 04:05:59,049.049 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:05:59,072.072 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:05:59,229.229 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:05:59,230.230 INFO    ] No camera update needed
[2026-08-29 04:05:59,232.232 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:05:59,233.233 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:05:59,236.236 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:05:59,239.239 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:06:01,278.278 INFO    ] ================================================
[2026-08-29 04:06:01,294.294 INFO    ] Launching Daemon at Sat Aug 29 04:06:01 IST 2026
[2026-08-29 04:06:01,305.305 INFO    ] ================================================
[2026-08-29 04:06:01,986.986 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:06:01
[2026-08-29 04:06:02,790.790 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:06:03,136.136 INFO    ] Initializing speech engine...
[2026-08-29 04:06:03,142.142 INFO    ] 2026-08-29 04:06:03
[2026-08-29 04:06:03,444.444 INFO    ] 2026-08-29 04:06:03
[2026-08-29 04:06:03,484.484 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:06:03,682.682 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:06:03,688.688 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:06:03,825.825 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:06:03,830.830 INFO    ] time= 29/08/2026 04:06:03
[2026-08-29 04:06:03,851.851 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:06:03,874.874 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:06:03,957.957 INFO    ] No existing commands found in stream
[2026-08-29 04:06:08,970.970 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:06:08,974.974 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-08-29 04:06:10,875.875 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:06:10,876.876 INFO    ] Checking for system updates...
[2026-08-29 04:06:10,897.897 INFO    ] 200
[2026-08-29 04:06:10,898.898 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:06:10,928.928 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:06:10,929.929 INFO    ] No update needed
[2026-08-29 04:06:10,930.930 INFO    ] Checking for camera pi updates...
[2026-08-29 04:06:10,949.949 INFO    ] 200
[2026-08-29 04:06:10,951.951 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:06:10,973.973 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:06:11,059.059 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:06:11,061.061 INFO    ] No camera update needed
[2026-08-29 04:06:11,062.062 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:06:11,064.064 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:06:11,066.066 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:06:11,069.069 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:06:13,110.110 INFO    ] ================================================
[2026-08-29 04:06:13,126.126 INFO    ] Launching Daemon at Sat Aug 29 04:06:13 IST 2026
[2026-08-29 04:06:13,137.137 INFO    ] ================================================
[2026-08-29 04:06:13,506.506 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:06:13
[2026-08-29 04:06:13,818.818 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:06:13,954.954 INFO    ] Initializing speech engine...
[2026-08-29 04:06:13,967.967 INFO    ] 2026-08-29 04:06:13
[2026-08-29 04:06:14,189.189 INFO    ] 2026-08-29 04:06:14
[2026-08-29 04:06:14,220.220 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:06:14,335.335 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:06:14,343.343 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:06:14,505.505 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:06:14,560.560 INFO    ] time= 29/08/2026 04:06:14
[2026-08-29 04:06:14,575.575 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:06:14,581.581 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:06:14,646.646 INFO    ] No existing commands found in stream
[2026-08-29 04:06:19,656.656 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:06:19,659.659 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-08-29 04:06:22,630.630 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:06:22,631.631 INFO    ] Checking for system updates...
[2026-08-29 04:06:22,652.652 INFO    ] 200
[2026-08-29 04:06:22,653.653 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:06:22,684.684 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:06:22,685.685 INFO    ] No update needed
[2026-08-29 04:06:22,686.686 INFO    ] Checking for camera pi updates...
[2026-08-29 04:06:22,708.708 INFO    ] 200
[2026-08-29 04:06:22,710.710 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:06:22,739.739 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:06:22,827.827 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:06:22,830.830 INFO    ] No camera update needed
[2026-08-29 04:06:22,833.833 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:06:22,836.836 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:06:22,841.841 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:06:22,847.847 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:06:24,888.888 INFO    ] ================================================
[2026-08-29 04:06:24,905.905 INFO    ] Launching Daemon at Sat Aug 29 04:06:24 IST 2026
[2026-08-29 04:06:24,916.916 INFO    ] ================================================
[2026-08-29 04:06:25,484.484 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:06:25
[2026-08-29 04:06:25,990.990 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:06:26,124.124 INFO    ] Initializing speech engine...
[2026-08-29 04:06:26,134.134 INFO    ] 2026-08-29 04:06:26
[2026-08-29 04:06:26,361.361 INFO    ] 2026-08-29 04:06:26
[2026-08-29 04:06:26,393.393 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:06:26,536.536 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:06:26,543.543 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:06:26,672.672 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:06:26,714.714 INFO    ] time= 29/08/2026 04:06:26
[2026-08-29 04:06:26,768.768 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:06:26,828.828 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:06:26,889.889 INFO    ] No existing commands found in stream
[2026-08-29 04:06:31,900.900 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:06:31,902.902 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-08-29 04:06:34,374.374 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:06:34,377.377 INFO    ] Checking for system updates...
[2026-08-29 04:06:34,413.413 INFO    ] 200
[2026-08-29 04:06:34,416.416 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:06:34,468.468 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:06:34,471.471 INFO    ] No update needed
[2026-08-29 04:06:34,473.473 INFO    ] Checking for camera pi updates...
[2026-08-29 04:06:34,510.510 INFO    ] 200
[2026-08-29 04:06:34,513.513 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:06:34,553.553 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:06:34,643.643 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:06:34,645.645 INFO    ] No camera update needed
[2026-08-29 04:06:34,647.647 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:06:34,650.650 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:06:34,655.655 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:06:34,660.660 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:06:36,701.701 INFO    ] ================================================
[2026-08-29 04:06:36,716.716 INFO    ] Launching Daemon at Sat Aug 29 04:06:36 IST 2026
[2026-08-29 04:06:36,728.728 INFO    ] ================================================
[2026-08-29 04:06:37,106.106 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:06:37
[2026-08-29 04:06:37,422.422 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:06:37,557.557 INFO    ] Initializing speech engine...
[2026-08-29 04:06:37,560.560 INFO    ] 2026-08-29 04:06:37
[2026-08-29 04:06:37,753.753 INFO    ] 2026-08-29 04:06:37
[2026-08-29 04:06:37,798.798 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:06:37,921.921 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:06:37,923.923 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:06:38,066.066 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:06:38,078.078 INFO    ] time= 29/08/2026 04:06:38
[2026-08-29 04:06:38,096.096 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:06:38,107.107 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:06:38,214.214 INFO    ] No existing commands found in stream
[2026-08-29 04:06:43,232.232 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:06:43,235.235 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-08-29 04:06:45,154.154 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:06:45,155.155 INFO    ] Checking for system updates...
[2026-08-29 04:06:45,176.176 INFO    ] 200
[2026-08-29 04:06:45,177.177 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:06:45,209.209 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:06:45,211.211 INFO    ] No update needed
[2026-08-29 04:06:45,212.212 INFO    ] Checking for camera pi updates...
[2026-08-29 04:06:45,232.232 INFO    ] 200
[2026-08-29 04:06:45,233.233 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:06:45,256.256 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:06:45,335.335 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:06:45,337.337 INFO    ] No camera update needed
[2026-08-29 04:06:45,338.338 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:06:45,339.339 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:06:45,342.342 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:06:45,345.345 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:06:47,385.385 INFO    ] ================================================
[2026-08-29 04:06:47,400.400 INFO    ] Launching Daemon at Sat Aug 29 04:06:47 IST 2026
[2026-08-29 04:06:47,411.411 INFO    ] ================================================
[2026-08-29 04:06:47,921.921 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:06:47
[2026-08-29 04:06:48,521.521 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:06:48,805.805 INFO    ] Initializing speech engine...
[2026-08-29 04:06:48,812.812 INFO    ] 2026-08-29 04:06:48
[2026-08-29 04:06:49,062.062 INFO    ] 2026-08-29 04:06:49
[2026-08-29 04:06:49,098.098 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:06:49,272.272 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:06:49,286.286 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:06:49,428.428 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:06:49,435.435 INFO    ] time= 29/08/2026 04:06:49
[2026-08-29 04:06:49,442.442 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:06:49,490.490 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:06:49,611.611 INFO    ] No existing commands found in stream
[2026-08-29 04:06:54,644.644 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:06:54,647.647 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-08-29 04:06:56,795.795 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:06:56,797.797 INFO    ] Checking for system updates...
[2026-08-29 04:06:56,817.817 INFO    ] 200
[2026-08-29 04:06:56,819.819 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:06:56,854.854 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:06:56,855.855 INFO    ] No update needed
[2026-08-29 04:06:56,856.856 INFO    ] Checking for camera pi updates...
[2026-08-29 04:06:56,875.875 INFO    ] 200
[2026-08-29 04:06:56,877.877 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:06:56,900.900 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:06:56,979.979 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:06:56,980.980 INFO    ] No camera update needed
[2026-08-29 04:06:56,981.981 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:06:56,983.983 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:06:56,986.986 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:06:56,989.989 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:06:59,029.029 INFO    ] ================================================
[2026-08-29 04:06:59,045.045 INFO    ] Launching Daemon at Sat Aug 29 04:06:59 IST 2026
[2026-08-29 04:06:59,057.057 INFO    ] ================================================
[2026-08-29 04:06:59,404.404 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:06:59
[2026-08-29 04:06:59,744.744 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:07:00,024.024 INFO    ] Initializing speech engine...
[2026-08-29 04:07:00,033.033 INFO    ] 2026-08-29 04:07:00
[2026-08-29 04:07:00,282.282 INFO    ] 2026-08-29 04:07:00
[2026-08-29 04:07:00,319.319 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:07:00,495.495 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:07:00,508.508 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:07:00,653.653 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:07:00,661.661 INFO    ] time= 29/08/2026 04:07:00
[2026-08-29 04:07:00,670.670 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:07:00,716.716 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:07:00,834.834 INFO    ] No existing commands found in stream
[2026-08-29 04:07:05,859.859 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:07:05,862.862 INFO    ] Waiting 2.52 seconds before fallback handling...
[2026-08-29 04:07:08,723.723 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:07:08,725.725 INFO    ] Checking for system updates...
[2026-08-29 04:07:08,745.745 INFO    ] 200
[2026-08-29 04:07:08,746.746 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:07:08,778.778 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:07:08,779.779 INFO    ] No update needed
[2026-08-29 04:07:08,781.781 INFO    ] Checking for camera pi updates...
[2026-08-29 04:07:08,802.802 INFO    ] 200
[2026-08-29 04:07:08,803.803 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:07:08,826.826 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:07:08,924.924 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:07:08,925.925 INFO    ] No camera update needed
[2026-08-29 04:07:08,926.926 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:07:08,927.927 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:07:08,930.930 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:07:08,933.933 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:07:10,975.975 INFO    ] ================================================
[2026-08-29 04:07:10,991.991 INFO    ] Launching Daemon at Sat Aug 29 04:07:10 IST 2026
[2026-08-29 04:07:11,003.003 INFO    ] ================================================
[2026-08-29 04:07:11,346.346 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:07:11
[2026-08-29 04:07:11,666.666 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:07:11,805.805 INFO    ] Initializing speech engine...
[2026-08-29 04:07:11,812.812 INFO    ] 2026-08-29 04:07:11
[2026-08-29 04:07:12,090.090 INFO    ] 2026-08-29 04:07:12
[2026-08-29 04:07:12,126.126 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:07:12,299.299 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:07:12,323.323 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:07:12,452.452 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:07:12,460.460 INFO    ] time= 29/08/2026 04:07:12
[2026-08-29 04:07:12,467.467 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:07:12,517.517 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:07:12,643.643 INFO    ] No existing commands found in stream
[2026-08-29 04:07:17,668.668 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:07:17,670.670 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-08-29 04:07:18,645.645 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:07:18,646.646 INFO    ] Checking for system updates...
[2026-08-29 04:07:18,667.667 INFO    ] 200
[2026-08-29 04:07:18,668.668 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:07:18,699.699 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:07:18,700.700 INFO    ] No update needed
[2026-08-29 04:07:18,702.702 INFO    ] Checking for camera pi updates...
[2026-08-29 04:07:18,722.722 INFO    ] 200
[2026-08-29 04:07:18,723.723 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:07:18,749.749 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:07:18,942.942 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:07:18,944.944 INFO    ] No camera update needed
[2026-08-29 04:07:18,945.945 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:07:18,947.947 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:07:18,950.950 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:07:18,956.956 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:07:21,998.998 INFO    ] ================================================
[2026-08-29 04:07:21,020.020 INFO    ] Launching Daemon at Sat Aug 29 04:07:21 IST 2026
[2026-08-29 04:07:21,031.031 INFO    ] ================================================
[2026-08-29 04:07:21,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:07:21
[2026-08-29 04:07:22,372.372 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:07:22,531.531 INFO    ] Initializing speech engine...
[2026-08-29 04:07:22,536.536 INFO    ] 2026-08-29 04:07:22
[2026-08-29 04:07:22,742.742 INFO    ] 2026-08-29 04:07:22
[2026-08-29 04:07:22,771.771 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:07:22,923.923 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:07:22,930.930 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:07:23,090.090 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:07:23,130.130 INFO    ] time= 29/08/2026 04:07:23
[2026-08-29 04:07:23,137.137 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:07:23,158.158 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:07:23,266.266 INFO    ] No existing commands found in stream
[2026-08-29 04:07:28,291.291 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:07:28,294.294 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-08-29 04:07:30,147.147 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:07:30,149.149 INFO    ] Checking for system updates...
[2026-08-29 04:07:30,169.169 INFO    ] 200
[2026-08-29 04:07:30,171.171 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:07:30,201.201 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:07:30,203.203 INFO    ] No update needed
[2026-08-29 04:07:30,204.204 INFO    ] Checking for camera pi updates...
[2026-08-29 04:07:30,224.224 INFO    ] 200
[2026-08-29 04:07:30,226.226 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:07:30,250.250 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:07:30,328.328 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:07:30,329.329 INFO    ] No camera update needed
[2026-08-29 04:07:30,330.330 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:07:30,332.332 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:07:30,335.335 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:07:30,338.338 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:07:32,379.379 INFO    ] ================================================
[2026-08-29 04:07:32,395.395 INFO    ] Launching Daemon at Sat Aug 29 04:07:32 IST 2026
[2026-08-29 04:07:32,408.408 INFO    ] ================================================
[2026-08-29 04:07:33,012.012 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:07:33
[2026-08-29 04:07:33,605.605 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:07:33,861.861 INFO    ] Initializing speech engine...
[2026-08-29 04:07:33,868.868 INFO    ] 2026-08-29 04:07:33
[2026-08-29 04:07:34,166.166 INFO    ] 2026-08-29 04:07:34
[2026-08-29 04:07:34,192.192 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:07:34,352.352 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:07:34,358.358 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:07:34,512.512 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:07:34,522.522 INFO    ] time= 29/08/2026 04:07:34
[2026-08-29 04:07:34,527.527 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:07:34,550.550 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:07:34,608.608 INFO    ] No existing commands found in stream
[2026-08-29 04:07:39,620.620 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:07:39,623.623 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-08-29 04:07:42,599.599 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:07:42,600.600 INFO    ] Checking for system updates...
[2026-08-29 04:07:42,620.620 INFO    ] 200
[2026-08-29 04:07:42,622.622 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:07:42,652.652 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:07:42,653.653 INFO    ] No update needed
[2026-08-29 04:07:42,655.655 INFO    ] Checking for camera pi updates...
[2026-08-29 04:07:42,675.675 INFO    ] 200
[2026-08-29 04:07:42,676.676 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:07:42,699.699 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:07:42,782.782 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:07:42,783.783 INFO    ] No camera update needed
[2026-08-29 04:07:42,785.785 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:07:42,786.786 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:07:42,789.789 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:07:42,791.791 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:07:44,831.831 INFO    ] ================================================
[2026-08-29 04:07:44,847.847 INFO    ] Launching Daemon at Sat Aug 29 04:07:44 IST 2026
[2026-08-29 04:07:44,859.859 INFO    ] ================================================
[2026-08-29 04:07:45,208.208 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:07:45
[2026-08-29 04:07:45,525.525 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:07:45,659.659 INFO    ] Initializing speech engine...
[2026-08-29 04:07:45,663.663 INFO    ] 2026-08-29 04:07:45
[2026-08-29 04:07:45,873.873 INFO    ] 2026-08-29 04:07:45
[2026-08-29 04:07:45,902.902 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:07:46,060.060 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:07:46,118.118 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:07:46,270.270 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:07:46,313.313 INFO    ] time= 29/08/2026 04:07:46
[2026-08-29 04:07:46,356.356 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:07:46,379.379 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:07:46,456.456 INFO    ] No existing commands found in stream
[2026-08-29 04:07:51,467.467 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:07:51,470.470 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-08-29 04:07:53,895.895 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:07:53,896.896 INFO    ] Checking for system updates...
[2026-08-29 04:07:53,916.916 INFO    ] 200
[2026-08-29 04:07:53,918.918 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:07:53,947.947 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:07:53,948.948 INFO    ] No update needed
[2026-08-29 04:07:53,950.950 INFO    ] Checking for camera pi updates...
[2026-08-29 04:07:53,969.969 INFO    ] 200
[2026-08-29 04:07:53,971.971 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:07:53,994.994 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:07:54,094.094 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:07:54,095.095 INFO    ] No camera update needed
[2026-08-29 04:07:54,096.096 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:07:54,097.097 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:07:54,100.100 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:07:54,103.103 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:07:56,141.141 INFO    ] ================================================
[2026-08-29 04:07:56,158.158 INFO    ] Launching Daemon at Sat Aug 29 04:07:56 IST 2026
[2026-08-29 04:07:56,169.169 INFO    ] ================================================
[2026-08-29 04:07:56,693.693 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:07:56
[2026-08-29 04:07:57,347.347 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:07:57,670.670 INFO    ] Initializing speech engine...
[2026-08-29 04:07:57,680.680 INFO    ] 2026-08-29 04:07:57
[2026-08-29 04:07:57,988.988 INFO    ] 2026-08-29 04:07:57
[2026-08-29 04:07:58,078.078 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:07:58,236.236 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:07:58,241.241 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:07:58,380.380 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:07:58,441.441 INFO    ] time= 29/08/2026 04:07:58
[2026-08-29 04:07:58,506.506 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:07:58,519.519 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:07:58,664.664 INFO    ] No existing commands found in stream
[2026-08-29 04:08:03,682.682 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:08:03,685.685 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-08-29 04:08:07,420.420 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:08:07,423.423 INFO    ] Checking for system updates...
[2026-08-29 04:08:07,465.465 INFO    ] 200
[2026-08-29 04:08:07,468.468 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:08:07,530.530 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:08:07,533.533 INFO    ] No update needed
[2026-08-29 04:08:07,536.536 INFO    ] Checking for camera pi updates...
[2026-08-29 04:08:07,571.571 INFO    ] 200
[2026-08-29 04:08:07,574.574 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:08:07,619.619 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:08:07,705.705 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:08:07,708.708 INFO    ] No camera update needed
[2026-08-29 04:08:07,711.711 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:08:07,714.714 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:08:07,720.720 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:08:07,726.726 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:08:09,768.768 INFO    ] ================================================
[2026-08-29 04:08:09,783.783 INFO    ] Launching Daemon at Sat Aug 29 04:08:09 IST 2026
[2026-08-29 04:08:09,794.794 INFO    ] ================================================
[2026-08-29 04:08:10,183.183 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:08:10
[2026-08-29 04:08:10,524.524 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:08:10,676.676 INFO    ] Initializing speech engine...
[2026-08-29 04:08:10,683.683 INFO    ] 2026-08-29 04:08:10
[2026-08-29 04:08:10,891.891 INFO    ] 2026-08-29 04:08:10
[2026-08-29 04:08:10,919.919 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:08:11,042.042 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:08:11,104.104 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:08:11,238.238 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:08:11,301.301 INFO    ] time= 29/08/2026 04:08:11
[2026-08-29 04:08:11,333.333 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:08:11,340.340 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:08:11,406.406 INFO    ] No existing commands found in stream
[2026-08-29 04:08:16,421.421 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:08:16,424.424 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 04:08:16,979.979 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:08:16,981.981 INFO    ] Checking for system updates...
[2026-08-29 04:08:17,002.002 INFO    ] 200
[2026-08-29 04:08:17,003.003 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:08:17,033.033 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:08:17,035.035 INFO    ] No update needed
[2026-08-29 04:08:17,036.036 INFO    ] Checking for camera pi updates...
[2026-08-29 04:08:17,056.056 INFO    ] 200
[2026-08-29 04:08:17,057.057 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:08:17,081.081 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:08:17,187.187 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:08:17,189.189 INFO    ] No camera update needed
[2026-08-29 04:08:17,190.190 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:08:17,192.192 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:08:17,195.195 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:08:17,198.198 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:08:19,238.238 INFO    ] ================================================
[2026-08-29 04:08:19,253.253 INFO    ] Launching Daemon at Sat Aug 29 04:08:19 IST 2026
[2026-08-29 04:08:19,263.263 INFO    ] ================================================
[2026-08-29 04:08:19,610.610 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:08:19
[2026-08-29 04:08:19,921.921 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:08:20,146.146 INFO    ] Initializing speech engine...
[2026-08-29 04:08:20,152.152 INFO    ] 2026-08-29 04:08:20
[2026-08-29 04:08:20,451.451 INFO    ] 2026-08-29 04:08:20
[2026-08-29 04:08:20,486.486 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:08:20,639.639 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:08:20,645.645 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:08:20,798.798 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:08:20,809.809 INFO    ] time= 29/08/2026 04:08:20
[2026-08-29 04:08:20,816.816 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:08:20,839.839 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:08:20,891.891 INFO    ] No existing commands found in stream
[2026-08-29 04:08:25,903.903 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:08:25,906.906 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 04:08:27,434.434 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:08:27,435.435 INFO    ] Checking for system updates...
[2026-08-29 04:08:27,455.455 INFO    ] 200
[2026-08-29 04:08:27,457.457 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:08:27,489.489 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:08:27,490.490 INFO    ] No update needed
[2026-08-29 04:08:27,491.491 INFO    ] Checking for camera pi updates...
[2026-08-29 04:08:27,510.510 INFO    ] 200
[2026-08-29 04:08:27,512.512 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:08:27,535.535 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:08:27,652.652 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:08:27,654.654 INFO    ] No camera update needed
[2026-08-29 04:08:27,655.655 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:08:27,656.656 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:08:27,659.659 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:08:27,662.662 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:08:29,701.701 INFO    ] ================================================
[2026-08-29 04:08:29,717.717 INFO    ] Launching Daemon at Sat Aug 29 04:08:29 IST 2026
[2026-08-29 04:08:29,728.728 INFO    ] ================================================
[2026-08-29 04:08:30,079.079 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:08:30
[2026-08-29 04:08:30,396.396 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:08:30,528.528 INFO    ] Initializing speech engine...
[2026-08-29 04:08:30,532.532 INFO    ] 2026-08-29 04:08:30
[2026-08-29 04:08:30,750.750 INFO    ] 2026-08-29 04:08:30
[2026-08-29 04:08:30,778.778 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:08:30,901.901 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:08:30,964.964 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:08:31,099.099 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:08:31,165.165 INFO    ] time= 29/08/2026 04:08:31
[2026-08-29 04:08:31,192.192 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:08:31,199.199 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:08:31,264.264 INFO    ] No existing commands found in stream
[2026-08-29 04:08:36,275.275 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:08:36,277.277 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-08-29 04:08:36,967.967 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:08:36,968.968 INFO    ] Checking for system updates...
[2026-08-29 04:08:36,989.989 INFO    ] 200
[2026-08-29 04:08:36,990.990 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:08:37,022.022 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:08:37,023.023 INFO    ] No update needed
[2026-08-29 04:08:37,025.025 INFO    ] Checking for camera pi updates...
[2026-08-29 04:08:37,049.049 INFO    ] 200
[2026-08-29 04:08:37,050.050 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:08:37,073.073 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:08:37,176.176 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:08:37,178.178 INFO    ] No camera update needed
[2026-08-29 04:08:37,181.181 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:08:37,184.184 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:08:37,190.190 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:08:37,195.195 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:08:39,237.237 INFO    ] ================================================
[2026-08-29 04:08:39,253.253 INFO    ] Launching Daemon at Sat Aug 29 04:08:39 IST 2026
[2026-08-29 04:08:39,264.264 INFO    ] ================================================
[2026-08-29 04:08:39,919.919 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:08:39
[2026-08-29 04:08:40,545.545 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:08:40,885.885 INFO    ] Initializing speech engine...
[2026-08-29 04:08:40,896.896 INFO    ] 2026-08-29 04:08:40
[2026-08-29 04:08:41,185.185 INFO    ] 2026-08-29 04:08:41
[2026-08-29 04:08:41,258.258 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:08:41,492.492 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:08:41,501.501 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:08:41,639.639 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:08:41,661.661 INFO    ] time= 29/08/2026 04:08:41
[2026-08-29 04:08:41,726.726 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:08:41,775.775 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:08:41,833.833 INFO    ] No existing commands found in stream
[2026-08-29 04:08:46,845.845 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:08:46,848.848 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-08-29 04:08:49,059.059 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:08:49,060.060 INFO    ] Checking for system updates...
[2026-08-29 04:08:49,081.081 INFO    ] 200
[2026-08-29 04:08:49,082.082 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:08:49,112.112 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:08:49,113.113 INFO    ] No update needed
[2026-08-29 04:08:49,115.115 INFO    ] Checking for camera pi updates...
[2026-08-29 04:08:49,133.133 INFO    ] 200
[2026-08-29 04:08:49,135.135 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:08:49,158.158 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:08:49,240.240 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:08:49,241.241 INFO    ] No camera update needed
[2026-08-29 04:08:49,243.243 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:08:49,244.244 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:08:49,247.247 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:08:49,249.249 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:08:51,288.288 INFO    ] ================================================
[2026-08-29 04:08:51,305.305 INFO    ] Launching Daemon at Sat Aug 29 04:08:51 IST 2026
[2026-08-29 04:08:51,316.316 INFO    ] ================================================
[2026-08-29 04:08:51,642.642 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:08:51
[2026-08-29 04:08:51,961.961 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:08:52,175.175 INFO    ] Initializing speech engine...
[2026-08-29 04:08:52,180.180 INFO    ] 2026-08-29 04:08:52
[2026-08-29 04:08:52,432.432 INFO    ] 2026-08-29 04:08:52
[2026-08-29 04:08:52,458.458 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:08:52,617.617 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:08:52,626.626 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:08:52,778.778 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:08:52,788.788 INFO    ] time= 29/08/2026 04:08:52
[2026-08-29 04:08:52,792.792 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:08:52,798.798 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:08:52,865.865 INFO    ] No existing commands found in stream
[2026-08-29 04:08:57,879.879 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:08:57,882.882 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-08-29 04:08:58,744.744 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:08:58,745.745 INFO    ] Checking for system updates...
[2026-08-29 04:08:58,766.766 INFO    ] 200
[2026-08-29 04:08:58,767.767 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:08:58,798.798 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:08:58,799.799 INFO    ] No update needed
[2026-08-29 04:08:58,800.800 INFO    ] Checking for camera pi updates...
[2026-08-29 04:08:58,819.819 INFO    ] 200
[2026-08-29 04:08:58,821.821 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:08:58,847.847 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:08:58,926.926 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:08:58,928.928 INFO    ] No camera update needed
[2026-08-29 04:08:58,929.929 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:08:58,930.930 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:08:58,933.933 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:08:58,936.936 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:09:00,977.977 INFO    ] ================================================
[2026-08-29 04:09:00,993.993 INFO    ] Launching Daemon at Sat Aug 29 04:09:00 IST 2026
[2026-08-29 04:09:01,005.005 INFO    ] ================================================
[2026-08-29 04:09:01,588.588 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:09:01
[2026-08-29 04:09:02,375.375 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:09:02,767.767 INFO    ] Initializing speech engine...
[2026-08-29 04:09:02,775.775 INFO    ] 2026-08-29 04:09:02
[2026-08-29 04:09:03,053.053 INFO    ] 2026-08-29 04:09:03
[2026-08-29 04:09:03,090.090 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:09:03,288.288 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:09:03,294.294 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:09:03,429.429 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:09:03,436.436 INFO    ] time= 29/08/2026 04:09:03
[2026-08-29 04:09:03,451.451 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:09:03,479.479 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:09:03,563.563 INFO    ] No existing commands found in stream
[2026-08-29 04:09:08,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:09:08,577.577 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-08-29 04:09:09,478.478 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:09:09,480.480 INFO    ] Checking for system updates...
[2026-08-29 04:09:09,500.500 INFO    ] 200
[2026-08-29 04:09:09,501.501 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:09:09,533.533 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:09:09,534.534 INFO    ] No update needed
[2026-08-29 04:09:09,536.536 INFO    ] Checking for camera pi updates...
[2026-08-29 04:09:09,555.555 INFO    ] 200
[2026-08-29 04:09:09,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:09:09,579.579 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:09:09,658.658 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:09:09,659.659 INFO    ] No camera update needed
[2026-08-29 04:09:09,661.661 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:09:09,662.662 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:09:09,665.665 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:09:09,668.668 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:09:11,707.707 INFO    ] ================================================
[2026-08-29 04:09:11,724.724 INFO    ] Launching Daemon at Sat Aug 29 04:09:11 IST 2026
[2026-08-29 04:09:11,735.735 INFO    ] ================================================
[2026-08-29 04:09:12,123.123 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:09:12
[2026-08-29 04:09:12,761.761 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:09:13,057.057 INFO    ] Initializing speech engine...
[2026-08-29 04:09:13,066.066 INFO    ] 2026-08-29 04:09:13
[2026-08-29 04:09:13,349.349 INFO    ] 2026-08-29 04:09:13
[2026-08-29 04:09:13,388.388 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:09:13,590.590 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:09:13,605.605 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:09:13,721.721 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:09:13,749.749 INFO    ] time= 29/08/2026 04:09:13
[2026-08-29 04:09:13,754.754 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:09:13,761.761 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:09:13,850.850 INFO    ] No existing commands found in stream
[2026-08-29 04:09:18,875.875 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:09:18,878.878 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-08-29 04:09:20,176.176 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:09:20,178.178 INFO    ] Checking for system updates...
[2026-08-29 04:09:20,214.214 INFO    ] 200
[2026-08-29 04:09:20,216.216 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:09:20,269.269 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:09:20,271.271 INFO    ] No update needed
[2026-08-29 04:09:20,274.274 INFO    ] Checking for camera pi updates...
[2026-08-29 04:09:20,308.308 INFO    ] 200
[2026-08-29 04:09:20,310.310 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:09:20,354.354 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:09:20,564.564 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:09:20,566.566 INFO    ] No camera update needed
[2026-08-29 04:09:20,568.568 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:09:20,570.570 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:09:20,576.576 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:09:20,581.581 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:09:22,622.622 INFO    ] ================================================
[2026-08-29 04:09:22,638.638 INFO    ] Launching Daemon at Sat Aug 29 04:09:22 IST 2026
[2026-08-29 04:09:22,650.650 INFO    ] ================================================
[2026-08-29 04:09:23,160.160 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:09:23
[2026-08-29 04:09:23,762.762 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:09:24,027.027 INFO    ] Initializing speech engine...
[2026-08-29 04:09:24,044.044 INFO    ] 2026-08-29 04:09:24
[2026-08-29 04:09:24,331.331 INFO    ] 2026-08-29 04:09:24
[2026-08-29 04:09:24,358.358 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:09:24,514.514 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:09:24,523.523 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:09:24,675.675 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:09:24,686.686 INFO    ] time= 29/08/2026 04:09:24
[2026-08-29 04:09:24,692.692 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:09:24,715.715 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:09:24,774.774 INFO    ] No existing commands found in stream
[2026-08-29 04:09:29,785.785 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:09:29,787.787 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-08-29 04:09:30,878.878 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:09:30,880.880 INFO    ] Checking for system updates...
[2026-08-29 04:09:30,900.900 INFO    ] 200
[2026-08-29 04:09:30,901.901 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:09:30,935.935 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:09:30,936.936 INFO    ] No update needed
[2026-08-29 04:09:30,937.937 INFO    ] Checking for camera pi updates...
[2026-08-29 04:09:30,957.957 INFO    ] 200
[2026-08-29 04:09:30,958.958 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:09:30,983.983 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:09:31,078.078 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:09:31,080.080 INFO    ] No camera update needed
[2026-08-29 04:09:31,081.081 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:09:31,082.082 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:09:31,085.085 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:09:31,088.088 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:09:33,119.119 INFO    ] ================================================
[2026-08-29 04:09:33,134.134 INFO    ] Launching Daemon at Sat Aug 29 04:09:33 IST 2026
[2026-08-29 04:09:33,144.144 INFO    ] ================================================
[2026-08-29 04:09:33,737.737 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:09:33
[2026-08-29 04:09:34,338.338 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:09:34,618.618 INFO    ] Initializing speech engine...
[2026-08-29 04:09:34,625.625 INFO    ] 2026-08-29 04:09:34
[2026-08-29 04:09:34,872.872 INFO    ] 2026-08-29 04:09:34
[2026-08-29 04:09:34,938.938 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:09:35,081.081 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:09:35,093.093 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:09:35,237.237 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:09:35,242.242 INFO    ] time= 29/08/2026 04:09:35
[2026-08-29 04:09:35,248.248 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:09:35,278.278 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:09:35,372.372 INFO    ] No existing commands found in stream
[2026-08-29 04:09:40,382.382 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:09:40,390.390 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-08-29 04:09:44,147.147 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:09:44,148.148 INFO    ] Checking for system updates...
[2026-08-29 04:09:44,168.168 INFO    ] 200
[2026-08-29 04:09:44,170.170 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:09:44,200.200 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:09:44,201.201 INFO    ] No update needed
[2026-08-29 04:09:44,203.203 INFO    ] Checking for camera pi updates...
[2026-08-29 04:09:44,222.222 INFO    ] 200
[2026-08-29 04:09:44,223.223 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:09:44,246.246 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:09:44,343.343 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:09:44,344.344 INFO    ] No camera update needed
[2026-08-29 04:09:44,345.345 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:09:44,347.347 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:09:44,350.350 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:09:44,353.353 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:09:46,393.393 INFO    ] ================================================
[2026-08-29 04:09:46,408.408 INFO    ] Launching Daemon at Sat Aug 29 04:09:46 IST 2026
[2026-08-29 04:09:46,418.418 INFO    ] ================================================
[2026-08-29 04:09:46,771.771 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:09:46
[2026-08-29 04:09:47,083.083 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:09:47,216.216 INFO    ] Initializing speech engine...
[2026-08-29 04:09:47,220.220 INFO    ] 2026-08-29 04:09:47
[2026-08-29 04:09:47,443.443 INFO    ] 2026-08-29 04:09:47
[2026-08-29 04:09:47,477.477 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:09:47,625.625 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:09:47,634.634 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:09:47,787.787 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:09:47,796.796 INFO    ] time= 29/08/2026 04:09:47
[2026-08-29 04:09:47,803.803 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:09:47,825.825 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:09:47,879.879 INFO    ] No existing commands found in stream
[2026-08-29 04:09:52,891.891 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:09:52,894.894 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 04:09:55,205.205 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:09:55,207.207 INFO    ] Checking for system updates...
[2026-08-29 04:09:55,227.227 INFO    ] 200
[2026-08-29 04:09:55,228.228 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:09:55,258.258 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:09:55,259.259 INFO    ] No update needed
[2026-08-29 04:09:55,261.261 INFO    ] Checking for camera pi updates...
[2026-08-29 04:09:55,280.280 INFO    ] 200
[2026-08-29 04:09:55,281.281 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:09:55,304.304 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:09:55,383.383 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:09:55,384.384 INFO    ] No camera update needed
[2026-08-29 04:09:55,385.385 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:09:55,386.386 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:09:55,389.389 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:09:55,392.392 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:09:57,430.430 INFO    ] ================================================
[2026-08-29 04:09:57,446.446 INFO    ] Launching Daemon at Sat Aug 29 04:09:57 IST 2026
[2026-08-29 04:09:57,457.457 INFO    ] ================================================
[2026-08-29 04:09:57,811.811 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:09:57
[2026-08-29 04:09:58,149.149 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:09:58,299.299 INFO    ] Initializing speech engine...
[2026-08-29 04:09:58,305.305 INFO    ] 2026-08-29 04:09:58
[2026-08-29 04:09:58,512.512 INFO    ] 2026-08-29 04:09:58
[2026-08-29 04:09:58,541.541 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:09:58,724.724 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:09:58,728.728 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:09:58,869.869 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:09:58,931.931 INFO    ] time= 29/08/2026 04:09:58
[2026-08-29 04:09:58,955.955 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:09:58,962.962 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:09:59,052.052 INFO    ] No existing commands found in stream
[2026-08-29 04:10:04,063.063 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:10:04,066.066 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-08-29 04:10:07,774.774 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:10:07,776.776 INFO    ] Checking for system updates...
[2026-08-29 04:10:07,796.796 INFO    ] 200
[2026-08-29 04:10:07,798.798 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:10:07,832.832 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:10:07,833.833 INFO    ] No update needed
[2026-08-29 04:10:07,834.834 INFO    ] Checking for camera pi updates...
[2026-08-29 04:10:07,854.854 INFO    ] 200
[2026-08-29 04:10:07,855.855 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:10:07,880.880 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:10:07,962.962 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:10:07,963.963 INFO    ] No camera update needed
[2026-08-29 04:10:07,964.964 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:10:07,965.965 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:10:07,968.968 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:10:07,971.971 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:10:10,010.010 INFO    ] ================================================
[2026-08-29 04:10:10,025.025 INFO    ] Launching Daemon at Sat Aug 29 04:10:10 IST 2026
[2026-08-29 04:10:10,036.036 INFO    ] ================================================
[2026-08-29 04:10:10,390.390 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:10:10
[2026-08-29 04:10:10,894.894 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:10:11,159.159 INFO    ] Initializing speech engine...
[2026-08-29 04:10:11,165.165 INFO    ] 2026-08-29 04:10:11
[2026-08-29 04:10:11,458.458 INFO    ] 2026-08-29 04:10:11
[2026-08-29 04:10:11,496.496 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:10:11,690.690 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:10:11,695.695 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:10:11,807.807 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:10:11,831.831 INFO    ] time= 29/08/2026 04:10:11
[2026-08-29 04:10:11,839.839 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:10:11,844.844 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:10:11,896.896 INFO    ] No existing commands found in stream
[2026-08-29 04:10:16,913.913 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:10:16,916.916 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-08-29 04:10:18,692.692 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:10:18,694.694 INFO    ] Checking for system updates...
[2026-08-29 04:10:18,714.714 INFO    ] 200
[2026-08-29 04:10:18,715.715 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:10:18,745.745 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:10:18,746.746 INFO    ] No update needed
[2026-08-29 04:10:18,747.747 INFO    ] Checking for camera pi updates...
[2026-08-29 04:10:18,766.766 INFO    ] 200
[2026-08-29 04:10:18,768.768 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:10:18,805.805 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:10:18,903.903 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:10:18,905.905 INFO    ] No camera update needed
[2026-08-29 04:10:18,908.908 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:10:18,910.910 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:10:18,915.915 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:10:18,920.920 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:10:20,962.962 INFO    ] ================================================
[2026-08-29 04:10:20,978.978 INFO    ] Launching Daemon at Sat Aug 29 04:10:20 IST 2026
[2026-08-29 04:10:20,989.989 INFO    ] ================================================
[2026-08-29 04:10:21,560.560 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:10:21
[2026-08-29 04:10:22,035.035 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:10:22,168.168 INFO    ] Initializing speech engine...
[2026-08-29 04:10:22,176.176 INFO    ] 2026-08-29 04:10:22
[2026-08-29 04:10:22,397.397 INFO    ] 2026-08-29 04:10:22
[2026-08-29 04:10:22,428.428 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:10:22,611.611 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:10:22,617.617 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:10:22,763.763 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:10:22,769.769 INFO    ] time= 29/08/2026 04:10:22
[2026-08-29 04:10:22,786.786 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:10:22,801.801 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:10:22,907.907 INFO    ] No existing commands found in stream
[2026-08-29 04:10:27,927.927 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:10:27,930.930 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-08-29 04:10:28,520.520 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:10:28,522.522 INFO    ] Checking for system updates...
[2026-08-29 04:10:28,543.543 INFO    ] 200
[2026-08-29 04:10:28,544.544 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:10:28,576.576 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:10:28,577.577 INFO    ] No update needed
[2026-08-29 04:10:28,578.578 INFO    ] Checking for camera pi updates...
[2026-08-29 04:10:28,597.597 INFO    ] 200
[2026-08-29 04:10:28,599.599 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:10:28,625.625 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:10:28,739.739 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:10:28,740.740 INFO    ] No camera update needed
[2026-08-29 04:10:28,741.741 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:10:28,743.743 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:10:28,745.745 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:10:28,748.748 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:10:30,787.787 INFO    ] ================================================
[2026-08-29 04:10:30,802.802 INFO    ] Launching Daemon at Sat Aug 29 04:10:30 IST 2026
[2026-08-29 04:10:30,814.814 INFO    ] ================================================
[2026-08-29 04:10:31,201.201 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:10:31
[2026-08-29 04:10:31,781.781 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:10:32,080.080 INFO    ] Initializing speech engine...
[2026-08-29 04:10:32,087.087 INFO    ] 2026-08-29 04:10:32
[2026-08-29 04:10:32,353.353 INFO    ] 2026-08-29 04:10:32
[2026-08-29 04:10:32,389.389 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:10:32,574.574 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:10:32,665.665 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:10:32,809.809 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:10:32,835.835 INFO    ] time= 29/08/2026 04:10:32
[2026-08-29 04:10:32,891.891 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:10:32,935.935 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:10:32,999.999 INFO    ] No existing commands found in stream
[2026-08-29 04:10:38,011.011 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:10:38,014.014 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-08-29 04:10:40,593.593 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:10:40,594.594 INFO    ] Checking for system updates...
[2026-08-29 04:10:40,614.614 INFO    ] 200
[2026-08-29 04:10:40,616.616 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:10:40,646.646 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:10:40,647.647 INFO    ] No update needed
[2026-08-29 04:10:40,648.648 INFO    ] Checking for camera pi updates...
[2026-08-29 04:10:40,668.668 INFO    ] 200
[2026-08-29 04:10:40,670.670 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:10:40,695.695 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:10:40,773.773 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:10:40,774.774 INFO    ] No camera update needed
[2026-08-29 04:10:40,776.776 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:10:40,777.777 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:10:40,779.779 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:10:40,782.782 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:10:42,823.823 INFO    ] ================================================
[2026-08-29 04:10:42,839.839 INFO    ] Launching Daemon at Sat Aug 29 04:10:42 IST 2026
[2026-08-29 04:10:42,850.850 INFO    ] ================================================
[2026-08-29 04:10:43,230.230 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:10:43
[2026-08-29 04:10:43,566.566 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:10:43,715.715 INFO    ] Initializing speech engine...
[2026-08-29 04:10:43,721.721 INFO    ] 2026-08-29 04:10:43
[2026-08-29 04:10:43,927.927 INFO    ] 2026-08-29 04:10:43
[2026-08-29 04:10:43,956.956 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:10:44,078.078 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:10:44,140.140 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:10:44,270.270 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:10:44,340.340 INFO    ] time= 29/08/2026 04:10:44
[2026-08-29 04:10:44,372.372 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:10:44,379.379 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:10:44,446.446 INFO    ] No existing commands found in stream
[2026-08-29 04:10:49,455.455 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:10:49,458.458 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-08-29 04:10:53,311.311 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:10:53,313.313 INFO    ] Checking for system updates...
[2026-08-29 04:10:53,333.333 INFO    ] 200
[2026-08-29 04:10:53,334.334 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:10:53,364.364 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:10:53,365.365 INFO    ] No update needed
[2026-08-29 04:10:53,366.366 INFO    ] Checking for camera pi updates...
[2026-08-29 04:10:53,398.398 INFO    ] 200
[2026-08-29 04:10:53,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:10:53,444.444 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:10:53,565.565 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:10:53,567.567 INFO    ] No camera update needed
[2026-08-29 04:10:53,570.570 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:10:53,572.572 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:10:53,577.577 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:10:53,582.582 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:10:55,623.623 INFO    ] ================================================
[2026-08-29 04:10:55,638.638 INFO    ] Launching Daemon at Sat Aug 29 04:10:55 IST 2026
[2026-08-29 04:10:55,649.649 INFO    ] ================================================
[2026-08-29 04:10:56,216.216 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:10:56
[2026-08-29 04:10:56,658.658 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:10:56,801.801 INFO    ] Initializing speech engine...
[2026-08-29 04:10:56,806.806 INFO    ] 2026-08-29 04:10:56
[2026-08-29 04:10:56,992.992 INFO    ] 2026-08-29 04:10:56
[2026-08-29 04:10:57,044.044 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:10:57,189.189 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:10:57,201.201 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:10:57,345.345 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:10:57,353.353 INFO    ] time= 29/08/2026 04:10:57
[2026-08-29 04:10:57,356.356 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:10:57,362.362 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:10:57,429.429 INFO    ] No existing commands found in stream
[2026-08-29 04:11:02,445.445 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:11:02,449.449 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-08-29 04:11:04,138.138 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:11:04,140.140 INFO    ] Checking for system updates...
[2026-08-29 04:11:04,175.175 INFO    ] 200
[2026-08-29 04:11:04,178.178 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:11:04,229.229 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:11:04,232.232 INFO    ] No update needed
[2026-08-29 04:11:04,234.234 INFO    ] Checking for camera pi updates...
[2026-08-29 04:11:04,270.270 INFO    ] 200
[2026-08-29 04:11:04,272.272 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:11:04,316.316 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:11:04,411.411 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:11:04,414.414 INFO    ] No camera update needed
[2026-08-29 04:11:04,416.416 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:11:04,418.418 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:11:04,424.424 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:11:04,428.428 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:11:06,468.468 INFO    ] ================================================
[2026-08-29 04:11:06,483.483 INFO    ] Launching Daemon at Sat Aug 29 04:11:06 IST 2026
[2026-08-29 04:11:06,494.494 INFO    ] ================================================
[2026-08-29 04:11:07,038.038 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:11:07
[2026-08-29 04:11:07,642.642 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:11:07,920.920 INFO    ] Initializing speech engine...
[2026-08-29 04:11:07,927.927 INFO    ] 2026-08-29 04:11:07
[2026-08-29 04:11:08,238.238 INFO    ] 2026-08-29 04:11:08
[2026-08-29 04:11:08,318.318 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:11:08,471.471 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:11:08,475.475 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:11:08,606.606 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:11:08,643.643 INFO    ] time= 29/08/2026 04:11:08
[2026-08-29 04:11:08,687.687 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:11:08,731.731 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:11:08,793.793 INFO    ] No existing commands found in stream
[2026-08-29 04:11:13,805.805 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:11:13,807.807 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-08-29 04:11:15,718.718 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:11:15,720.720 INFO    ] Checking for system updates...
[2026-08-29 04:11:15,740.740 INFO    ] 200
[2026-08-29 04:11:15,741.741 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:11:15,773.773 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:11:15,774.774 INFO    ] No update needed
[2026-08-29 04:11:15,775.775 INFO    ] Checking for camera pi updates...
[2026-08-29 04:11:15,794.794 INFO    ] 200
[2026-08-29 04:11:15,796.796 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:11:15,818.818 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:11:15,919.919 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:11:15,921.921 INFO    ] No camera update needed
[2026-08-29 04:11:15,924.924 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:11:15,926.926 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:11:15,931.931 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:11:15,936.936 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:11:17,978.978 INFO    ] ================================================
[2026-08-29 04:11:17,993.993 INFO    ] Launching Daemon at Sat Aug 29 04:11:17 IST 2026
[2026-08-29 04:11:18,003.003 INFO    ] ================================================
[2026-08-29 04:11:18,585.585 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:11:18
[2026-08-29 04:11:19,090.090 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:11:19,238.238 INFO    ] Initializing speech engine...
[2026-08-29 04:11:19,241.241 INFO    ] 2026-08-29 04:11:19
[2026-08-29 04:11:19,494.494 INFO    ] 2026-08-29 04:11:19
[2026-08-29 04:11:19,548.548 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:11:19,712.712 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:11:19,721.721 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:11:19,875.875 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:11:19,920.920 INFO    ] time= 29/08/2026 04:11:19
[2026-08-29 04:11:19,926.926 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:11:19,947.947 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:11:20,061.061 INFO    ] No existing commands found in stream
[2026-08-29 04:11:25,085.085 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:11:25,088.088 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-08-29 04:11:27,967.967 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:11:27,968.968 INFO    ] Checking for system updates...
[2026-08-29 04:11:27,989.989 INFO    ] 200
[2026-08-29 04:11:27,991.991 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:11:28,022.022 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:11:28,023.023 INFO    ] No update needed
[2026-08-29 04:11:28,025.025 INFO    ] Checking for camera pi updates...
[2026-08-29 04:11:28,055.055 INFO    ] 200
[2026-08-29 04:11:28,056.056 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:11:28,098.098 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:11:28,280.280 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:11:28,283.283 INFO    ] No camera update needed
[2026-08-29 04:11:28,285.285 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:11:28,288.288 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:11:28,293.293 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:11:28,298.298 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:11:30,338.338 INFO    ] ================================================
[2026-08-29 04:11:30,354.354 INFO    ] Launching Daemon at Sat Aug 29 04:11:30 IST 2026
[2026-08-29 04:11:30,364.364 INFO    ] ================================================
[2026-08-29 04:11:30,935.935 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:11:30
[2026-08-29 04:11:31,366.366 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:11:31,638.638 INFO    ] Initializing speech engine...
[2026-08-29 04:11:31,644.644 INFO    ] 2026-08-29 04:11:31
[2026-08-29 04:11:31,959.959 INFO    ] 2026-08-29 04:11:31
[2026-08-29 04:11:32,000.000 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:11:32,203.203 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:11:32,210.210 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:11:32,344.344 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:11:32,355.355 INFO    ] time= 29/08/2026 04:11:32
[2026-08-29 04:11:32,376.376 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:11:32,403.403 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:11:32,485.485 INFO    ] No existing commands found in stream
[2026-08-29 04:11:37,505.505 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:11:37,508.508 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-08-29 04:11:39,472.472 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:11:39,473.473 INFO    ] Checking for system updates...
[2026-08-29 04:11:39,494.494 INFO    ] 200
[2026-08-29 04:11:39,495.495 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:11:39,525.525 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:11:39,526.526 INFO    ] No update needed
[2026-08-29 04:11:39,528.528 INFO    ] Checking for camera pi updates...
[2026-08-29 04:11:39,548.548 INFO    ] 200
[2026-08-29 04:11:39,549.549 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:11:39,574.574 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:11:39,659.659 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:11:39,661.661 INFO    ] No camera update needed
[2026-08-29 04:11:39,664.664 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:11:39,666.666 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:11:39,671.671 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:11:39,676.676 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:11:41,716.716 INFO    ] ================================================
[2026-08-29 04:11:41,732.732 INFO    ] Launching Daemon at Sat Aug 29 04:11:41 IST 2026
[2026-08-29 04:11:41,742.742 INFO    ] ================================================
[2026-08-29 04:11:42,401.401 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:11:42
[2026-08-29 04:11:42,857.857 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:11:43,000.000 INFO    ] Initializing speech engine...
[2026-08-29 04:11:43,005.005 INFO    ] 2026-08-29 04:11:43
[2026-08-29 04:11:43,218.218 INFO    ] 2026-08-29 04:11:43
[2026-08-29 04:11:43,274.274 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:11:43,441.441 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:11:43,448.448 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:11:43,609.609 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:11:43,654.654 INFO    ] time= 29/08/2026 04:11:43
[2026-08-29 04:11:43,660.660 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:11:43,678.678 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:11:43,775.775 INFO    ] No existing commands found in stream
[2026-08-29 04:11:48,798.798 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:11:48,800.800 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 04:11:50,804.804 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:11:50,805.805 INFO    ] Checking for system updates...
[2026-08-29 04:11:50,826.826 INFO    ] 200
[2026-08-29 04:11:50,828.828 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:11:50,858.858 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:11:50,859.859 INFO    ] No update needed
[2026-08-29 04:11:50,861.861 INFO    ] Checking for camera pi updates...
[2026-08-29 04:11:50,883.883 INFO    ] 200
[2026-08-29 04:11:50,885.885 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:11:50,907.907 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:11:51,009.009 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:11:51,010.010 INFO    ] No camera update needed
[2026-08-29 04:11:51,011.011 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:11:51,013.013 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:11:51,016.016 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:11:51,018.018 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:11:53,058.058 INFO    ] ================================================
[2026-08-29 04:11:53,074.074 INFO    ] Launching Daemon at Sat Aug 29 04:11:53 IST 2026
[2026-08-29 04:11:53,084.084 INFO    ] ================================================
[2026-08-29 04:11:53,540.540 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:11:53
[2026-08-29 04:11:54,142.142 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:11:54,420.420 INFO    ] Initializing speech engine...
[2026-08-29 04:11:54,428.428 INFO    ] 2026-08-29 04:11:54
[2026-08-29 04:11:54,677.677 INFO    ] 2026-08-29 04:11:54
[2026-08-29 04:11:54,743.743 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:11:54,885.885 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:11:54,898.898 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:11:55,038.038 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:11:55,047.047 INFO    ] time= 29/08/2026 04:11:55
[2026-08-29 04:11:55,053.053 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:11:55,114.114 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:11:55,229.229 INFO    ] No existing commands found in stream
[2026-08-29 04:12:00,253.253 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:12:00,256.256 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 04:12:02,999.999 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:12:03,002.002 INFO    ] Checking for system updates...
[2026-08-29 04:12:03,046.046 INFO    ] 200
[2026-08-29 04:12:03,049.049 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:12:03,109.109 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:12:03,112.112 INFO    ] No update needed
[2026-08-29 04:12:03,115.115 INFO    ] Checking for camera pi updates...
[2026-08-29 04:12:03,163.163 INFO    ] 200
[2026-08-29 04:12:03,166.166 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:12:03,218.218 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:12:03,314.314 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:12:03,322.322 INFO    ] No camera update needed
[2026-08-29 04:12:03,325.325 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:12:03,328.328 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:12:03,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:12:03,342.342 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:12:05,383.383 INFO    ] ================================================
[2026-08-29 04:12:05,399.399 INFO    ] Launching Daemon at Sat Aug 29 04:12:05 IST 2026
[2026-08-29 04:12:05,410.410 INFO    ] ================================================
[2026-08-29 04:12:05,948.948 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:12:05
[2026-08-29 04:12:06,534.534 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:12:06,865.865 INFO    ] Initializing speech engine...
[2026-08-29 04:12:06,879.879 INFO    ] 2026-08-29 04:12:06
[2026-08-29 04:12:07,196.196 INFO    ] 2026-08-29 04:12:07
[2026-08-29 04:12:07,280.280 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:12:07,442.442 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:12:07,449.449 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:12:07,582.582 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:12:07,628.628 INFO    ] time= 29/08/2026 04:12:07
[2026-08-29 04:12:07,678.678 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:12:07,716.716 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:12:07,780.780 INFO    ] No existing commands found in stream
[2026-08-29 04:12:12,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:12:12,816.816 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-08-29 04:12:13,865.865 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:12:13,866.866 INFO    ] Checking for system updates...
[2026-08-29 04:12:13,888.888 INFO    ] 200
[2026-08-29 04:12:13,889.889 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:12:13,918.918 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:12:13,920.920 INFO    ] No update needed
[2026-08-29 04:12:13,921.921 INFO    ] Checking for camera pi updates...
[2026-08-29 04:12:13,942.942 INFO    ] 200
[2026-08-29 04:12:13,943.943 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:12:13,968.968 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:12:14,054.054 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:12:14,055.055 INFO    ] No camera update needed
[2026-08-29 04:12:14,056.056 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:12:14,057.057 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:12:14,060.060 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:12:14,063.063 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:12:16,103.103 INFO    ] ================================================
[2026-08-29 04:12:16,122.122 INFO    ] Launching Daemon at Sat Aug 29 04:12:16 IST 2026
[2026-08-29 04:12:16,133.133 INFO    ] ================================================
[2026-08-29 04:12:16,522.522 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:12:16
[2026-08-29 04:12:16,863.863 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:12:17,030.030 INFO    ] Initializing speech engine...
[2026-08-29 04:12:17,039.039 INFO    ] 2026-08-29 04:12:17
[2026-08-29 04:12:17,319.319 INFO    ] 2026-08-29 04:12:17
[2026-08-29 04:12:17,375.375 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:12:17,615.615 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:12:17,621.621 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:12:17,755.755 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:12:17,810.810 INFO    ] time= 29/08/2026 04:12:17
[2026-08-29 04:12:17,859.859 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:12:17,890.890 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:12:18,012.012 INFO    ] No existing commands found in stream
[2026-08-29 04:12:23,044.044 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:12:23,047.047 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-08-29 04:12:24,703.703 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:12:24,705.705 INFO    ] Checking for system updates...
[2026-08-29 04:12:24,727.727 INFO    ] 200
[2026-08-29 04:12:24,728.728 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:12:24,759.759 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:12:24,761.761 INFO    ] No update needed
[2026-08-29 04:12:24,762.762 INFO    ] Checking for camera pi updates...
[2026-08-29 04:12:24,782.782 INFO    ] 200
[2026-08-29 04:12:24,783.783 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:12:24,807.807 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:12:24,910.910 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:12:24,912.912 INFO    ] No camera update needed
[2026-08-29 04:12:24,913.913 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:12:24,914.914 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:12:24,918.918 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:12:24,921.921 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:12:26,960.960 INFO    ] ================================================
[2026-08-29 04:12:26,975.975 INFO    ] Launching Daemon at Sat Aug 29 04:12:26 IST 2026
[2026-08-29 04:12:26,986.986 INFO    ] ================================================
[2026-08-29 04:12:27,520.520 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:12:27
[2026-08-29 04:12:28,103.103 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:12:28,369.369 INFO    ] Initializing speech engine...
[2026-08-29 04:12:28,381.381 INFO    ] 2026-08-29 04:12:28
[2026-08-29 04:12:28,632.632 INFO    ] 2026-08-29 04:12:28
[2026-08-29 04:12:28,668.668 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:12:28,866.866 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:12:28,884.884 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:12:29,075.075 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:12:29,086.086 INFO    ] time= 29/08/2026 04:12:29
[2026-08-29 04:12:29,156.156 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:12:29,211.211 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:12:29,272.272 INFO    ] No existing commands found in stream
[2026-08-29 04:12:34,288.288 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:12:34,290.290 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-08-29 04:12:34,877.877 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:12:34,878.878 INFO    ] Checking for system updates...
[2026-08-29 04:12:34,900.900 INFO    ] 200
[2026-08-29 04:12:34,902.902 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:12:34,933.933 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:12:34,934.934 INFO    ] No update needed
[2026-08-29 04:12:34,935.935 INFO    ] Checking for camera pi updates...
[2026-08-29 04:12:34,956.956 INFO    ] 200
[2026-08-29 04:12:34,957.957 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:12:34,982.982 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:12:35,096.096 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:12:35,098.098 INFO    ] No camera update needed
[2026-08-29 04:12:35,099.099 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:12:35,100.100 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:12:35,104.104 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:12:35,107.107 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:12:37,146.146 INFO    ] ================================================
[2026-08-29 04:12:37,162.162 INFO    ] Launching Daemon at Sat Aug 29 04:12:37 IST 2026
[2026-08-29 04:12:37,174.174 INFO    ] ================================================
[2026-08-29 04:12:37,510.510 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:12:37
[2026-08-29 04:12:37,823.823 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:12:38,026.026 INFO    ] Initializing speech engine...
[2026-08-29 04:12:38,040.040 INFO    ] 2026-08-29 04:12:38
[2026-08-29 04:12:38,302.302 INFO    ] 2026-08-29 04:12:38
[2026-08-29 04:12:38,338.338 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:12:38,510.510 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:12:38,521.521 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:12:38,665.665 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:12:38,672.672 INFO    ] time= 29/08/2026 04:12:38
[2026-08-29 04:12:38,676.676 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:12:38,682.682 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:12:38,746.746 INFO    ] No existing commands found in stream
[2026-08-29 04:12:43,758.758 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:12:43,761.761 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-08-29 04:12:45,268.268 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:12:45,269.269 INFO    ] Checking for system updates...
[2026-08-29 04:12:45,290.290 INFO    ] 200
[2026-08-29 04:12:45,291.291 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:12:45,323.323 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:12:45,325.325 INFO    ] No update needed
[2026-08-29 04:12:45,326.326 INFO    ] Checking for camera pi updates...
[2026-08-29 04:12:45,345.345 INFO    ] 200
[2026-08-29 04:12:45,346.346 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:12:45,373.373 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:12:45,451.451 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:12:45,452.452 INFO    ] No camera update needed
[2026-08-29 04:12:45,454.454 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:12:45,455.455 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:12:45,458.458 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:12:45,460.460 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:12:47,500.500 INFO    ] ================================================
[2026-08-29 04:12:47,516.516 INFO    ] Launching Daemon at Sat Aug 29 04:12:47 IST 2026
[2026-08-29 04:12:47,527.527 INFO    ] ================================================
[2026-08-29 04:12:47,903.903 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:12:47
[2026-08-29 04:12:48,244.244 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:12:48,395.395 INFO    ] Initializing speech engine...
[2026-08-29 04:12:48,401.401 INFO    ] 2026-08-29 04:12:48
[2026-08-29 04:12:48,608.608 INFO    ] 2026-08-29 04:12:48
[2026-08-29 04:12:48,637.637 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:12:48,771.771 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:12:48,824.824 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:12:48,971.971 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:12:49,028.028 INFO    ] time= 29/08/2026 04:12:48
[2026-08-29 04:12:49,052.052 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:12:49,059.059 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:12:49,124.124 INFO    ] No existing commands found in stream
[2026-08-29 04:12:54,135.135 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:12:54,148.148 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-08-29 04:12:55,202.202 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:12:55,204.204 INFO    ] Checking for system updates...
[2026-08-29 04:12:55,225.225 INFO    ] 200
[2026-08-29 04:12:55,226.226 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:12:55,256.256 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:12:55,257.257 INFO    ] No update needed
[2026-08-29 04:12:55,259.259 INFO    ] Checking for camera pi updates...
[2026-08-29 04:12:55,279.279 INFO    ] 200
[2026-08-29 04:12:55,280.280 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:12:55,303.303 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:12:55,392.392 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:12:55,394.394 INFO    ] No camera update needed
[2026-08-29 04:12:55,396.396 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:12:55,397.397 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:12:55,400.400 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:12:55,403.403 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:12:57,443.443 INFO    ] ================================================
[2026-08-29 04:12:57,459.459 INFO    ] Launching Daemon at Sat Aug 29 04:12:57 IST 2026
[2026-08-29 04:12:57,471.471 INFO    ] ================================================
[2026-08-29 04:12:57,813.813 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:12:57
[2026-08-29 04:12:58,131.131 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:12:58,280.280 INFO    ] Initializing speech engine...
[2026-08-29 04:12:58,285.285 INFO    ] 2026-08-29 04:12:58
[2026-08-29 04:12:58,487.487 INFO    ] 2026-08-29 04:12:58
[2026-08-29 04:12:58,514.514 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:12:58,637.637 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:12:58,674.674 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:12:58,835.835 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:12:58,902.902 INFO    ] time= 29/08/2026 04:12:58
[2026-08-29 04:12:58,929.929 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:12:58,936.936 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:12:59,005.005 INFO    ] No existing commands found in stream
[2026-08-29 04:13:04,029.029 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:13:04,033.033 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-08-29 04:13:07,603.603 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:13:07,605.605 INFO    ] Checking for system updates...
[2026-08-29 04:13:07,625.625 INFO    ] 200
[2026-08-29 04:13:07,627.627 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:13:07,657.657 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:13:07,658.658 INFO    ] No update needed
[2026-08-29 04:13:07,659.659 INFO    ] Checking for camera pi updates...
[2026-08-29 04:13:07,680.680 INFO    ] 200
[2026-08-29 04:13:07,682.682 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:13:07,705.705 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:13:07,804.804 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:13:07,805.805 INFO    ] No camera update needed
[2026-08-29 04:13:07,807.807 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:13:07,808.808 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:13:07,811.811 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:13:07,814.814 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:13:09,853.853 INFO    ] ================================================
[2026-08-29 04:13:09,869.869 INFO    ] Launching Daemon at Sat Aug 29 04:13:09 IST 2026
[2026-08-29 04:13:09,880.880 INFO    ] ================================================
[2026-08-29 04:13:10,247.247 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:13:10
[2026-08-29 04:13:10,588.588 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:13:10,743.743 INFO    ] Initializing speech engine...
[2026-08-29 04:13:10,747.747 INFO    ] 2026-08-29 04:13:10
[2026-08-29 04:13:10,955.955 INFO    ] 2026-08-29 04:13:10
[2026-08-29 04:13:10,984.984 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:13:11,117.117 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:13:11,170.170 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:13:11,308.308 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:13:11,375.375 INFO    ] time= 29/08/2026 04:13:11
[2026-08-29 04:13:11,399.399 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:13:11,406.406 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:13:11,472.472 INFO    ] No existing commands found in stream
[2026-08-29 04:13:16,483.483 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:13:16,486.486 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-08-29 04:13:17,920.920 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:13:17,921.921 INFO    ] Checking for system updates...
[2026-08-29 04:13:17,943.943 INFO    ] 200
[2026-08-29 04:13:17,945.945 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:13:17,974.974 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:13:17,976.976 INFO    ] No update needed
[2026-08-29 04:13:17,977.977 INFO    ] Checking for camera pi updates...
[2026-08-29 04:13:17,997.997 INFO    ] 200
[2026-08-29 04:13:17,999.999 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:13:18,023.023 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:13:18,098.098 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:13:18,099.099 INFO    ] No camera update needed
[2026-08-29 04:13:18,100.100 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:13:18,102.102 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:13:18,105.105 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:13:18,107.107 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:13:20,147.147 INFO    ] ================================================
[2026-08-29 04:13:20,162.162 INFO    ] Launching Daemon at Sat Aug 29 04:13:20 IST 2026
[2026-08-29 04:13:20,174.174 INFO    ] ================================================
[2026-08-29 04:13:20,829.829 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:13:20
[2026-08-29 04:13:21,507.507 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:13:21,810.810 INFO    ] Initializing speech engine...
[2026-08-29 04:13:21,823.823 INFO    ] 2026-08-29 04:13:21
[2026-08-29 04:13:22,134.134 INFO    ] 2026-08-29 04:13:22
[2026-08-29 04:13:22,220.220 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:13:22,374.374 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:13:22,379.379 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:13:22,515.515 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:13:22,560.560 INFO    ] time= 29/08/2026 04:13:22
[2026-08-29 04:13:22,604.604 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:13:22,647.647 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:13:22,729.729 INFO    ] No existing commands found in stream
[2026-08-29 04:13:27,760.760 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:13:27,763.763 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-08-29 04:13:31,003.003 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:13:31,004.004 INFO    ] Checking for system updates...
[2026-08-29 04:13:31,025.025 INFO    ] 200
[2026-08-29 04:13:31,026.026 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:13:31,057.057 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:13:31,058.058 INFO    ] No update needed
[2026-08-29 04:13:31,060.060 INFO    ] Checking for camera pi updates...
[2026-08-29 04:13:31,079.079 INFO    ] 200
[2026-08-29 04:13:31,081.081 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:13:31,104.104 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:13:31,300.300 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:13:31,303.303 INFO    ] No camera update needed
[2026-08-29 04:13:31,306.306 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:13:31,309.309 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:13:31,315.315 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:13:31,321.321 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:13:33,366.366 INFO    ] ================================================
[2026-08-29 04:13:33,382.382 INFO    ] Launching Daemon at Sat Aug 29 04:13:33 IST 2026
[2026-08-29 04:13:33,394.394 INFO    ] ================================================
[2026-08-29 04:13:34,054.054 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:13:34
[2026-08-29 04:13:34,397.397 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:13:34,549.549 INFO    ] Initializing speech engine...
[2026-08-29 04:13:34,555.555 INFO    ] 2026-08-29 04:13:34
[2026-08-29 04:13:34,765.765 INFO    ] 2026-08-29 04:13:34
[2026-08-29 04:13:34,794.794 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:13:34,918.918 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:13:34,966.966 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:13:35,122.122 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:13:35,189.189 INFO    ] time= 29/08/2026 04:13:35
[2026-08-29 04:13:35,214.214 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:13:35,221.221 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:13:35,288.288 INFO    ] No existing commands found in stream
[2026-08-29 04:13:40,298.298 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:13:40,301.301 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-08-29 04:13:43,001.001 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:13:43,003.003 INFO    ] Checking for system updates...
[2026-08-29 04:13:43,024.024 INFO    ] 200
[2026-08-29 04:13:43,025.025 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:13:43,055.055 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:13:43,056.056 INFO    ] No update needed
[2026-08-29 04:13:43,058.058 INFO    ] Checking for camera pi updates...
[2026-08-29 04:13:43,077.077 INFO    ] 200
[2026-08-29 04:13:43,079.079 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:13:43,102.102 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:13:43,181.181 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:13:43,183.183 INFO    ] No camera update needed
[2026-08-29 04:13:43,184.184 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:13:43,186.186 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:13:43,189.189 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:13:43,192.192 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:13:45,232.232 INFO    ] ================================================
[2026-08-29 04:13:45,248.248 INFO    ] Launching Daemon at Sat Aug 29 04:13:45 IST 2026
[2026-08-29 04:13:45,260.260 INFO    ] ================================================
[2026-08-29 04:13:45,901.901 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:13:45
[2026-08-29 04:13:46,496.496 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:13:46,746.746 INFO    ] Initializing speech engine...
[2026-08-29 04:13:46,769.769 INFO    ] 2026-08-29 04:13:46
[2026-08-29 04:13:47,021.021 INFO    ] 2026-08-29 04:13:47
[2026-08-29 04:13:47,062.062 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:13:47,228.228 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:13:47,240.240 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:13:47,350.350 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:13:47,368.368 INFO    ] time= 29/08/2026 04:13:47
[2026-08-29 04:13:47,387.387 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:13:47,396.396 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:13:47,463.463 INFO    ] No existing commands found in stream
[2026-08-29 04:13:52,475.475 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:13:52,478.478 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-08-29 04:13:55,381.381 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:13:55,383.383 INFO    ] Checking for system updates...
[2026-08-29 04:13:55,404.404 INFO    ] 200
[2026-08-29 04:13:55,405.405 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:13:55,438.438 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:13:55,439.439 INFO    ] No update needed
[2026-08-29 04:13:55,440.440 INFO    ] Checking for camera pi updates...
[2026-08-29 04:13:55,463.463 INFO    ] 200
[2026-08-29 04:13:55,464.464 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:13:55,489.489 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:13:55,581.581 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:13:55,582.582 INFO    ] No camera update needed
[2026-08-29 04:13:55,584.584 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:13:55,585.585 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:13:55,588.588 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:13:55,591.591 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:13:57,630.630 INFO    ] ================================================
[2026-08-29 04:13:57,646.646 INFO    ] Launching Daemon at Sat Aug 29 04:13:57 IST 2026
[2026-08-29 04:13:57,657.657 INFO    ] ================================================
[2026-08-29 04:13:58,004.004 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:13:58
[2026-08-29 04:13:58,321.321 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:13:58,571.571 INFO    ] Initializing speech engine...
[2026-08-29 04:13:58,577.577 INFO    ] 2026-08-29 04:13:58
[2026-08-29 04:13:58,837.837 INFO    ] 2026-08-29 04:13:58
[2026-08-29 04:13:58,889.889 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:13:59,047.047 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:13:59,069.069 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:13:59,218.218 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:13:59,229.229 INFO    ] time= 29/08/2026 04:13:59
[2026-08-29 04:13:59,235.235 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:13:59,240.240 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:13:59,315.315 INFO    ] No existing commands found in stream
[2026-08-29 04:14:04,327.327 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:14:04,330.330 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-08-29 04:14:07,763.763 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:14:07,765.765 INFO    ] Checking for system updates...
[2026-08-29 04:14:07,785.785 INFO    ] 200
[2026-08-29 04:14:07,786.786 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:14:07,818.818 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:14:07,820.820 INFO    ] No update needed
[2026-08-29 04:14:07,821.821 INFO    ] Checking for camera pi updates...
[2026-08-29 04:14:07,840.840 INFO    ] 200
[2026-08-29 04:14:07,842.842 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:14:07,865.865 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:14:07,966.966 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:14:07,968.968 INFO    ] No camera update needed
[2026-08-29 04:14:07,969.969 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:14:07,970.970 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:14:07,973.973 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:14:07,976.976 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:14:10,015.015 INFO    ] ================================================
[2026-08-29 04:14:10,031.031 INFO    ] Launching Daemon at Sat Aug 29 04:14:10 IST 2026
[2026-08-29 04:14:10,042.042 INFO    ] ================================================
[2026-08-29 04:14:10,421.421 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:14:10
[2026-08-29 04:14:10,758.758 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:14:10,908.908 INFO    ] Initializing speech engine...
[2026-08-29 04:14:10,914.914 INFO    ] 2026-08-29 04:14:10
[2026-08-29 04:14:11,122.122 INFO    ] 2026-08-29 04:14:11
[2026-08-29 04:14:11,151.151 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:14:11,310.310 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:14:11,339.339 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:14:11,481.481 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:14:11,543.543 INFO    ] time= 29/08/2026 04:14:11
[2026-08-29 04:14:11,567.567 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:14:11,574.574 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:14:11,639.639 INFO    ] No existing commands found in stream
[2026-08-29 04:14:16,650.650 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:14:16,654.654 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-08-29 04:14:19,523.523 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:14:19,524.524 INFO    ] Checking for system updates...
[2026-08-29 04:14:19,545.545 INFO    ] 200
[2026-08-29 04:14:19,547.547 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:14:19,577.577 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:14:19,578.578 INFO    ] No update needed
[2026-08-29 04:14:19,580.580 INFO    ] Checking for camera pi updates...
[2026-08-29 04:14:19,600.600 INFO    ] 200
[2026-08-29 04:14:19,602.602 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:14:19,633.633 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:14:19,727.727 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:14:19,729.729 INFO    ] No camera update needed
[2026-08-29 04:14:19,730.730 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:14:19,731.731 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:14:19,735.735 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:14:19,738.738 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:14:21,777.777 INFO    ] ================================================
[2026-08-29 04:14:21,792.792 INFO    ] Launching Daemon at Sat Aug 29 04:14:21 IST 2026
[2026-08-29 04:14:21,803.803 INFO    ] ================================================
[2026-08-29 04:14:22,188.188 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:14:22
[2026-08-29 04:14:22,530.530 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:14:22,676.676 INFO    ] Initializing speech engine...
[2026-08-29 04:14:22,687.687 INFO    ] 2026-08-29 04:14:22
[2026-08-29 04:14:22,932.932 INFO    ] 2026-08-29 04:14:22
[2026-08-29 04:14:22,975.975 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:14:23,195.195 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:14:23,204.204 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:14:23,339.339 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:14:23,404.404 INFO    ] time= 29/08/2026 04:14:23
[2026-08-29 04:14:23,458.458 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:14:23,474.474 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:14:23,582.582 INFO    ] No existing commands found in stream
[2026-08-29 04:14:28,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:14:28,617.617 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-08-29 04:14:32,107.107 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:14:32,109.109 INFO    ] Checking for system updates...
[2026-08-29 04:14:32,149.149 INFO    ] 200
[2026-08-29 04:14:32,152.152 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:14:32,210.210 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:14:32,213.213 INFO    ] No update needed
[2026-08-29 04:14:32,216.216 INFO    ] Checking for camera pi updates...
[2026-08-29 04:14:32,255.255 INFO    ] 200
[2026-08-29 04:14:32,258.258 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:14:32,303.303 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:14:32,429.429 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:14:32,433.433 INFO    ] No camera update needed
[2026-08-29 04:14:32,436.436 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:14:32,439.439 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:14:32,446.446 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:14:32,454.454 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:14:34,495.495 INFO    ] ================================================
[2026-08-29 04:14:34,509.509 INFO    ] Launching Daemon at Sat Aug 29 04:14:34 IST 2026
[2026-08-29 04:14:34,520.520 INFO    ] ================================================
[2026-08-29 04:14:35,066.066 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:14:35
[2026-08-29 04:14:35,396.396 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:14:35,540.540 INFO    ] Initializing speech engine...
[2026-08-29 04:14:35,544.544 INFO    ] 2026-08-29 04:14:35
[2026-08-29 04:14:35,750.750 INFO    ] 2026-08-29 04:14:35
[2026-08-29 04:14:35,779.779 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:14:35,903.903 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:14:35,966.966 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:14:36,097.097 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:14:36,158.158 INFO    ] time= 29/08/2026 04:14:36
[2026-08-29 04:14:36,196.196 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:14:36,198.198 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:14:36,269.269 INFO    ] No existing commands found in stream
[2026-08-29 04:14:41,279.279 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:14:41,282.282 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-08-29 04:14:44,103.103 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:14:44,104.104 INFO    ] Checking for system updates...
[2026-08-29 04:14:44,125.125 INFO    ] 200
[2026-08-29 04:14:44,126.126 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:14:44,156.156 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:14:44,162.162 INFO    ] No update needed
[2026-08-29 04:14:44,163.163 INFO    ] Checking for camera pi updates...
[2026-08-29 04:14:44,188.188 INFO    ] 200
[2026-08-29 04:14:44,190.190 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:14:44,213.213 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:14:44,310.310 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:14:44,313.313 INFO    ] No camera update needed
[2026-08-29 04:14:44,315.315 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:14:44,318.318 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:14:44,324.324 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:14:44,330.330 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:14:46,370.370 INFO    ] ================================================
[2026-08-29 04:14:46,386.386 INFO    ] Launching Daemon at Sat Aug 29 04:14:46 IST 2026
[2026-08-29 04:14:46,396.396 INFO    ] ================================================
[2026-08-29 04:14:46,963.963 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:14:46
[2026-08-29 04:14:47,465.465 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:14:47,602.602 INFO    ] Initializing speech engine...
[2026-08-29 04:14:47,612.612 INFO    ] 2026-08-29 04:14:47
[2026-08-29 04:14:47,856.856 INFO    ] 2026-08-29 04:14:47
[2026-08-29 04:14:47,910.910 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:14:48,076.076 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:14:48,081.081 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:14:48,243.243 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:14:48,280.280 INFO    ] time= 29/08/2026 04:14:48
[2026-08-29 04:14:48,286.286 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:14:48,304.304 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:14:48,414.414 INFO    ] No existing commands found in stream
[2026-08-29 04:14:53,443.443 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:14:53,446.446 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 04:14:54,981.981 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:14:54,983.983 INFO    ] Checking for system updates...
[2026-08-29 04:14:55,003.003 INFO    ] 200
[2026-08-29 04:14:55,005.005 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:14:55,037.037 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:14:55,039.039 INFO    ] No update needed
[2026-08-29 04:14:55,040.040 INFO    ] Checking for camera pi updates...
[2026-08-29 04:14:55,060.060 INFO    ] 200
[2026-08-29 04:14:55,062.062 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:14:55,084.084 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:14:55,171.171 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:14:55,173.173 INFO    ] No camera update needed
[2026-08-29 04:14:55,174.174 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:14:55,175.175 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:14:55,178.178 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:14:55,181.181 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:14:57,219.219 INFO    ] ================================================
[2026-08-29 04:14:57,234.234 INFO    ] Launching Daemon at Sat Aug 29 04:14:57 IST 2026
[2026-08-29 04:14:57,245.245 INFO    ] ================================================
[2026-08-29 04:14:57,597.597 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:14:57
[2026-08-29 04:14:57,932.932 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:14:58,083.083 INFO    ] Initializing speech engine...
[2026-08-29 04:14:58,088.088 INFO    ] 2026-08-29 04:14:58
[2026-08-29 04:14:58,294.294 INFO    ] 2026-08-29 04:14:58
[2026-08-29 04:14:58,322.322 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:14:58,444.444 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:14:58,487.487 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:14:58,638.638 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:14:58,695.695 INFO    ] time= 29/08/2026 04:14:58
[2026-08-29 04:14:58,734.734 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:14:58,739.739 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:14:58,811.811 INFO    ] No existing commands found in stream
[2026-08-29 04:15:03,820.820 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:15:03,823.823 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-08-29 04:15:05,454.454 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:15:05,457.457 INFO    ] Checking for system updates...
[2026-08-29 04:15:05,494.494 INFO    ] 200
[2026-08-29 04:15:05,497.497 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:15:05,551.551 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:15:05,554.554 INFO    ] No update needed
[2026-08-29 04:15:05,556.556 INFO    ] Checking for camera pi updates...
[2026-08-29 04:15:05,591.591 INFO    ] 200
[2026-08-29 04:15:05,594.594 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:15:05,629.629 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:15:05,707.707 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:15:05,709.709 INFO    ] No camera update needed
[2026-08-29 04:15:05,710.710 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:15:05,712.712 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:15:05,715.715 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:15:05,718.718 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:15:07,757.757 INFO    ] ================================================
[2026-08-29 04:15:07,772.772 INFO    ] Launching Daemon at Sat Aug 29 04:15:07 IST 2026
[2026-08-29 04:15:07,783.783 INFO    ] ================================================
[2026-08-29 04:15:08,139.139 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:15:08
[2026-08-29 04:15:08,823.823 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:15:09,137.137 INFO    ] Initializing speech engine...
[2026-08-29 04:15:09,149.149 INFO    ] 2026-08-29 04:15:09
[2026-08-29 04:15:09,467.467 INFO    ] 2026-08-29 04:15:09
[2026-08-29 04:15:09,554.554 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:15:09,705.705 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:15:09,715.715 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:15:09,851.851 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:15:09,879.879 INFO    ] time= 29/08/2026 04:15:09
[2026-08-29 04:15:09,949.949 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:15:09,990.990 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:15:10,049.049 INFO    ] No existing commands found in stream
[2026-08-29 04:15:15,062.062 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:15:15,065.065 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-08-29 04:15:18,992.992 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:15:18,993.993 INFO    ] Checking for system updates...
[2026-08-29 04:15:19,014.014 INFO    ] 200
[2026-08-29 04:15:19,015.015 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:15:19,045.045 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:15:19,047.047 INFO    ] No update needed
[2026-08-29 04:15:19,048.048 INFO    ] Checking for camera pi updates...
[2026-08-29 04:15:19,071.071 INFO    ] 200
[2026-08-29 04:15:19,072.072 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:15:19,097.097 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:15:19,216.216 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:15:19,218.218 INFO    ] No camera update needed
[2026-08-29 04:15:19,219.219 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:15:19,220.220 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:15:19,223.223 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:15:19,226.226 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:15:21,264.264 INFO    ] ================================================
[2026-08-29 04:15:21,280.280 INFO    ] Launching Daemon at Sat Aug 29 04:15:21 IST 2026
[2026-08-29 04:15:21,291.291 INFO    ] ================================================
[2026-08-29 04:15:21,958.958 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:15:21
[2026-08-29 04:15:22,642.642 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:15:22,856.856 INFO    ] Initializing speech engine...
[2026-08-29 04:15:22,861.861 INFO    ] 2026-08-29 04:15:22
[2026-08-29 04:15:23,072.072 INFO    ] 2026-08-29 04:15:23
[2026-08-29 04:15:23,101.101 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:15:23,227.227 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:15:23,292.292 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:15:23,433.433 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:15:23,497.497 INFO    ] time= 29/08/2026 04:15:23
[2026-08-29 04:15:23,526.526 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:15:23,533.533 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:15:23,599.599 INFO    ] No existing commands found in stream
[2026-08-29 04:15:28,610.610 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:15:28,614.614 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-08-29 04:15:31,795.795 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:15:31,797.797 INFO    ] Checking for system updates...
[2026-08-29 04:15:31,820.820 INFO    ] 200
[2026-08-29 04:15:31,822.822 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:15:31,865.865 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:15:31,868.868 INFO    ] No update needed
[2026-08-29 04:15:31,871.871 INFO    ] Checking for camera pi updates...
[2026-08-29 04:15:31,907.907 INFO    ] 200
[2026-08-29 04:15:31,910.910 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:15:31,957.957 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:15:32,051.051 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:15:32,054.054 INFO    ] No camera update needed
[2026-08-29 04:15:32,057.057 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:15:32,059.059 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:15:32,065.065 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:15:32,071.071 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:15:34,112.112 INFO    ] ================================================
[2026-08-29 04:15:34,127.127 INFO    ] Launching Daemon at Sat Aug 29 04:15:34 IST 2026
[2026-08-29 04:15:34,138.138 INFO    ] ================================================
[2026-08-29 04:15:34,788.788 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:15:34
[2026-08-29 04:15:35,215.215 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:15:35,366.366 INFO    ] Initializing speech engine...
[2026-08-29 04:15:35,371.371 INFO    ] 2026-08-29 04:15:35
[2026-08-29 04:15:35,596.596 INFO    ] 2026-08-29 04:15:35
[2026-08-29 04:15:35,683.683 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:15:35,834.834 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:15:35,844.844 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:15:35,980.980 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:15:36,030.030 INFO    ] time= 29/08/2026 04:15:35
[2026-08-29 04:15:36,080.080 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:15:36,113.113 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:15:36,171.171 INFO    ] No existing commands found in stream
[2026-08-29 04:15:41,184.184 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:15:41,188.188 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-08-29 04:15:41,579.579 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:15:41,581.581 INFO    ] Checking for system updates...
[2026-08-29 04:15:41,602.602 INFO    ] 200
[2026-08-29 04:15:41,603.603 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:15:41,633.633 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:15:41,635.635 INFO    ] No update needed
[2026-08-29 04:15:41,636.636 INFO    ] Checking for camera pi updates...
[2026-08-29 04:15:41,656.656 INFO    ] 200
[2026-08-29 04:15:41,657.657 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:15:41,680.680 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:15:41,870.870 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:15:41,871.871 INFO    ] No camera update needed
[2026-08-29 04:15:41,873.873 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:15:41,874.874 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:15:41,877.877 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:15:41,880.880 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:15:43,921.921 INFO    ] ================================================
[2026-08-29 04:15:43,936.936 INFO    ] Launching Daemon at Sat Aug 29 04:15:43 IST 2026
[2026-08-29 04:15:43,948.948 INFO    ] ================================================
[2026-08-29 04:15:44,335.335 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:15:44
[2026-08-29 04:15:44,888.888 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:15:45,192.192 INFO    ] Initializing speech engine...
[2026-08-29 04:15:45,201.201 INFO    ] 2026-08-29 04:15:45
[2026-08-29 04:15:45,480.480 INFO    ] 2026-08-29 04:15:45
[2026-08-29 04:15:45,538.538 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:15:45,767.767 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:15:45,777.777 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:15:45,913.913 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:15:45,967.967 INFO    ] time= 29/08/2026 04:15:45
[2026-08-29 04:15:46,032.032 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:15:46,054.054 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:15:46,110.110 INFO    ] No existing commands found in stream
[2026-08-29 04:15:51,124.124 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:15:51,127.127 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-08-29 04:15:53,135.135 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:15:53,136.136 INFO    ] Checking for system updates...
[2026-08-29 04:15:53,158.158 INFO    ] 200
[2026-08-29 04:15:53,160.160 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:15:53,196.196 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:15:53,197.197 INFO    ] No update needed
[2026-08-29 04:15:53,198.198 INFO    ] Checking for camera pi updates...
[2026-08-29 04:15:53,221.221 INFO    ] 200
[2026-08-29 04:15:53,223.223 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:15:53,248.248 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:15:53,345.345 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:15:53,346.346 INFO    ] No camera update needed
[2026-08-29 04:15:53,347.347 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:15:53,349.349 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:15:53,352.352 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:15:53,355.355 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:15:55,394.394 INFO    ] ================================================
[2026-08-29 04:15:55,409.409 INFO    ] Launching Daemon at Sat Aug 29 04:15:55 IST 2026
[2026-08-29 04:15:55,421.421 INFO    ] ================================================
[2026-08-29 04:15:55,817.817 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:15:55
[2026-08-29 04:15:56,402.402 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:15:56,657.657 INFO    ] Initializing speech engine...
[2026-08-29 04:15:56,666.666 INFO    ] 2026-08-29 04:15:56
[2026-08-29 04:15:56,958.958 INFO    ] 2026-08-29 04:15:56
[2026-08-29 04:15:56,984.984 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:15:57,140.140 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:15:57,150.150 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:15:57,302.302 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:15:57,312.312 INFO    ] time= 29/08/2026 04:15:57
[2026-08-29 04:15:57,317.317 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:15:57,340.340 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:15:57,392.392 INFO    ] No existing commands found in stream
[2026-08-29 04:16:02,403.403 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:16:02,407.407 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-08-29 04:16:03,114.114 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:16:03,116.116 INFO    ] Checking for system updates...
[2026-08-29 04:16:03,159.159 INFO    ] 200
[2026-08-29 04:16:03,162.162 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:16:03,226.226 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:16:03,230.230 INFO    ] No update needed
[2026-08-29 04:16:03,233.233 INFO    ] Checking for camera pi updates...
[2026-08-29 04:16:03,272.272 INFO    ] 200
[2026-08-29 04:16:03,274.274 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:16:03,316.316 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:16:03,395.395 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:16:03,397.397 INFO    ] No camera update needed
[2026-08-29 04:16:03,399.399 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:16:03,402.402 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:16:03,407.407 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:16:03,412.412 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:16:05,452.452 INFO    ] ================================================
[2026-08-29 04:16:05,471.471 INFO    ] Launching Daemon at Sat Aug 29 04:16:05 IST 2026
[2026-08-29 04:16:05,483.483 INFO    ] ================================================
[2026-08-29 04:16:05,965.965 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:16:05
[2026-08-29 04:16:06,571.571 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:16:06,837.837 INFO    ] Initializing speech engine...
[2026-08-29 04:16:06,853.853 INFO    ] 2026-08-29 04:16:06
[2026-08-29 04:16:07,127.127 INFO    ] 2026-08-29 04:16:07
[2026-08-29 04:16:07,164.164 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:16:07,308.308 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:16:07,315.315 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:16:07,462.462 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:16:07,471.471 INFO    ] time= 29/08/2026 04:16:07
[2026-08-29 04:16:07,476.476 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:16:07,481.481 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:16:07,546.546 INFO    ] No existing commands found in stream
[2026-08-29 04:16:12,556.556 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:16:12,559.559 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-08-29 04:16:15,708.708 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:16:15,709.709 INFO    ] Checking for system updates...
[2026-08-29 04:16:15,730.730 INFO    ] 200
[2026-08-29 04:16:15,731.731 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:16:15,761.761 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:16:15,762.762 INFO    ] No update needed
[2026-08-29 04:16:15,763.763 INFO    ] Checking for camera pi updates...
[2026-08-29 04:16:15,786.786 INFO    ] 200
[2026-08-29 04:16:15,787.787 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:16:15,811.811 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:16:15,905.905 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:16:15,906.906 INFO    ] No camera update needed
[2026-08-29 04:16:15,907.907 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:16:15,908.908 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:16:15,911.911 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:16:15,914.914 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:16:17,950.950 INFO    ] ================================================
[2026-08-29 04:16:17,968.968 INFO    ] Launching Daemon at Sat Aug 29 04:16:17 IST 2026
[2026-08-29 04:16:17,980.980 INFO    ] ================================================
[2026-08-29 04:16:18,597.597 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:16:18
[2026-08-29 04:16:19,241.241 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:16:19,526.526 INFO    ] Initializing speech engine...
[2026-08-29 04:16:19,543.543 INFO    ] 2026-08-29 04:16:19
[2026-08-29 04:16:19,833.833 INFO    ] 2026-08-29 04:16:19
[2026-08-29 04:16:19,868.868 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:16:20,062.062 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:16:20,068.068 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:16:20,216.216 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:16:20,238.238 INFO    ] time= 29/08/2026 04:16:20
[2026-08-29 04:16:20,247.247 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:16:20,254.254 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:16:20,326.326 INFO    ] No existing commands found in stream
[2026-08-29 04:16:25,338.338 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:16:25,341.341 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 04:16:27,263.263 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:16:27,264.264 INFO    ] Checking for system updates...
[2026-08-29 04:16:27,285.285 INFO    ] 200
[2026-08-29 04:16:27,286.286 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:16:27,318.318 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:16:27,319.319 INFO    ] No update needed
[2026-08-29 04:16:27,321.321 INFO    ] Checking for camera pi updates...
[2026-08-29 04:16:27,341.341 INFO    ] 200
[2026-08-29 04:16:27,342.342 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:16:27,365.365 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:16:27,445.445 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:16:27,446.446 INFO    ] No camera update needed
[2026-08-29 04:16:27,448.448 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:16:27,449.449 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:16:27,452.452 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:16:27,454.454 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:16:29,493.493 INFO    ] ================================================
[2026-08-29 04:16:29,509.509 INFO    ] Launching Daemon at Sat Aug 29 04:16:29 IST 2026
[2026-08-29 04:16:29,521.521 INFO    ] ================================================
[2026-08-29 04:16:29,891.891 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:16:29
[2026-08-29 04:16:30,202.202 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:16:30,431.431 INFO    ] Initializing speech engine...
[2026-08-29 04:16:30,440.440 INFO    ] 2026-08-29 04:16:30
[2026-08-29 04:16:30,687.687 INFO    ] 2026-08-29 04:16:30
[2026-08-29 04:16:30,721.721 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:16:30,891.891 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:16:30,897.897 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:16:31,047.047 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:16:31,055.055 INFO    ] time= 29/08/2026 04:16:31
[2026-08-29 04:16:31,061.061 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:16:31,114.114 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:16:31,177.177 INFO    ] No existing commands found in stream
[2026-08-29 04:16:36,187.187 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:16:36,189.189 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-08-29 04:16:40,313.313 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:16:40,314.314 INFO    ] Checking for system updates...
[2026-08-29 04:16:40,336.336 INFO    ] 200
[2026-08-29 04:16:40,337.337 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:16:40,371.371 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:16:40,373.373 INFO    ] No update needed
[2026-08-29 04:16:40,374.374 INFO    ] Checking for camera pi updates...
[2026-08-29 04:16:40,394.394 INFO    ] 200
[2026-08-29 04:16:40,395.395 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:16:40,419.419 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:16:40,495.495 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:16:40,496.496 INFO    ] No camera update needed
[2026-08-29 04:16:40,498.498 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:16:40,499.499 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:16:40,502.502 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:16:40,505.505 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:16:42,546.546 INFO    ] ================================================
[2026-08-29 04:16:42,561.561 INFO    ] Launching Daemon at Sat Aug 29 04:16:42 IST 2026
[2026-08-29 04:16:42,573.573 INFO    ] ================================================
[2026-08-29 04:16:43,055.055 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:16:43
[2026-08-29 04:16:43,663.663 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:16:43,963.963 INFO    ] Initializing speech engine...
[2026-08-29 04:16:43,977.977 INFO    ] 2026-08-29 04:16:43
[2026-08-29 04:16:44,287.287 INFO    ] 2026-08-29 04:16:44
[2026-08-29 04:16:44,370.370 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:16:44,547.547 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:16:44,554.554 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:16:44,739.739 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:16:44,790.790 INFO    ] time= 29/08/2026 04:16:44
[2026-08-29 04:16:44,797.797 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:16:44,816.816 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:16:44,926.926 INFO    ] No existing commands found in stream
[2026-08-29 04:16:49,954.954 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:16:49,957.957 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-08-29 04:16:53,025.025 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:16:53,026.026 INFO    ] Checking for system updates...
[2026-08-29 04:16:53,046.046 INFO    ] 200
[2026-08-29 04:16:53,048.048 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:16:53,078.078 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:16:53,079.079 INFO    ] No update needed
[2026-08-29 04:16:53,081.081 INFO    ] Checking for camera pi updates...
[2026-08-29 04:16:53,100.100 INFO    ] 200
[2026-08-29 04:16:53,102.102 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:16:53,127.127 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:16:53,215.215 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:16:53,216.216 INFO    ] No camera update needed
[2026-08-29 04:16:53,218.218 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:16:53,219.219 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:16:53,222.222 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:16:53,225.225 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:16:55,265.265 INFO    ] ================================================
[2026-08-29 04:16:55,281.281 INFO    ] Launching Daemon at Sat Aug 29 04:16:55 IST 2026
[2026-08-29 04:16:55,293.293 INFO    ] ================================================
[2026-08-29 04:16:55,767.767 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:16:55
[2026-08-29 04:16:56,370.370 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:16:56,628.628 INFO    ] Initializing speech engine...
[2026-08-29 04:16:56,636.636 INFO    ] 2026-08-29 04:16:56
[2026-08-29 04:16:56,930.930 INFO    ] 2026-08-29 04:16:56
[2026-08-29 04:16:56,965.965 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:16:57,156.156 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:16:57,170.170 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:16:57,294.294 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:16:57,314.314 INFO    ] time= 29/08/2026 04:16:57
[2026-08-29 04:16:57,336.336 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:16:57,344.344 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:16:57,420.420 INFO    ] No existing commands found in stream
[2026-08-29 04:17:02,438.438 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:17:02,442.442 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-08-29 04:17:06,193.193 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:17:06,196.196 INFO    ] Checking for system updates...
[2026-08-29 04:17:06,245.245 INFO    ] 200
[2026-08-29 04:17:06,247.247 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:17:06,305.305 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:17:06,307.307 INFO    ] No update needed
[2026-08-29 04:17:06,309.309 INFO    ] Checking for camera pi updates...
[2026-08-29 04:17:06,343.343 INFO    ] 200
[2026-08-29 04:17:06,345.345 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:17:06,391.391 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:17:06,470.470 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:17:06,472.472 INFO    ] No camera update needed
[2026-08-29 04:17:06,474.474 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:17:06,477.477 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:17:06,482.482 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:17:06,487.487 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:17:08,527.527 INFO    ] ================================================
[2026-08-29 04:17:08,542.542 INFO    ] Launching Daemon at Sat Aug 29 04:17:08 IST 2026
[2026-08-29 04:17:08,554.554 INFO    ] ================================================
[2026-08-29 04:17:09,119.119 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:17:09
[2026-08-29 04:17:09,506.506 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:17:09,653.653 INFO    ] Initializing speech engine...
[2026-08-29 04:17:09,658.658 INFO    ] 2026-08-29 04:17:09
[2026-08-29 04:17:09,872.872 INFO    ] 2026-08-29 04:17:09
[2026-08-29 04:17:09,964.964 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:17:10,127.127 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:17:10,136.136 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:17:10,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:17:10,290.290 INFO    ] time= 29/08/2026 04:17:10
[2026-08-29 04:17:10,360.360 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:17:10,429.429 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:17:10,488.488 INFO    ] No existing commands found in stream
[2026-08-29 04:17:15,499.499 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:17:15,502.502 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-08-29 04:17:15,989.989 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:17:15,991.991 INFO    ] Checking for system updates...
[2026-08-29 04:17:16,014.014 INFO    ] 200
[2026-08-29 04:17:16,015.015 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:17:16,046.046 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:17:16,047.047 INFO    ] No update needed
[2026-08-29 04:17:16,048.048 INFO    ] Checking for camera pi updates...
[2026-08-29 04:17:16,071.071 INFO    ] 200
[2026-08-29 04:17:16,072.072 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:17:16,095.095 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:17:16,172.172 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:17:16,174.174 INFO    ] No camera update needed
[2026-08-29 04:17:16,175.175 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:17:16,176.176 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:17:16,179.179 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:17:16,182.182 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:17:18,221.221 INFO    ] ================================================
[2026-08-29 04:17:18,237.237 INFO    ] Launching Daemon at Sat Aug 29 04:17:18 IST 2026
[2026-08-29 04:17:18,249.249 INFO    ] ================================================
[2026-08-29 04:17:18,627.627 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:17:18
[2026-08-29 04:17:18,959.959 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:17:19,109.109 INFO    ] Initializing speech engine...
[2026-08-29 04:17:19,115.115 INFO    ] 2026-08-29 04:17:19
[2026-08-29 04:17:19,321.321 INFO    ] 2026-08-29 04:17:19
[2026-08-29 04:17:19,350.350 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:17:19,471.471 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:17:19,515.515 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:17:19,672.672 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:17:19,726.726 INFO    ] time= 29/08/2026 04:17:19
[2026-08-29 04:17:19,781.781 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:17:19,825.825 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:17:19,943.943 INFO    ] No existing commands found in stream
[2026-08-29 04:17:24,974.974 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:17:24,977.977 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-08-29 04:17:25,728.728 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:17:25,729.729 INFO    ] Checking for system updates...
[2026-08-29 04:17:25,750.750 INFO    ] 200
[2026-08-29 04:17:25,751.751 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:17:25,781.781 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:17:25,783.783 INFO    ] No update needed
[2026-08-29 04:17:25,784.784 INFO    ] Checking for camera pi updates...
[2026-08-29 04:17:25,804.804 INFO    ] 200
[2026-08-29 04:17:25,806.806 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:17:25,830.830 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:17:25,910.910 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:17:25,911.911 INFO    ] No camera update needed
[2026-08-29 04:17:25,912.912 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:17:25,914.914 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:17:25,917.917 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:17:25,920.920 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:17:27,959.959 INFO    ] ================================================
[2026-08-29 04:17:27,975.975 INFO    ] Launching Daemon at Sat Aug 29 04:17:27 IST 2026
[2026-08-29 04:17:27,986.986 INFO    ] ================================================
[2026-08-29 04:17:28,315.315 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:17:28
[2026-08-29 04:17:28,631.631 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:17:28,768.768 INFO    ] Initializing speech engine...
[2026-08-29 04:17:28,778.778 INFO    ] 2026-08-29 04:17:28
[2026-08-29 04:17:29,014.014 INFO    ] 2026-08-29 04:17:28
[2026-08-29 04:17:29,068.068 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:17:29,229.229 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:17:29,237.237 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:17:29,397.397 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:17:29,436.436 INFO    ] time= 29/08/2026 04:17:29
[2026-08-29 04:17:29,441.441 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:17:29,460.460 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:17:29,574.574 INFO    ] No existing commands found in stream
[2026-08-29 04:17:34,596.596 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:17:34,599.599 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-08-29 04:17:36,518.518 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:17:36,519.519 INFO    ] Checking for system updates...
[2026-08-29 04:17:36,540.540 INFO    ] 200
[2026-08-29 04:17:36,541.541 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:17:36,572.572 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:17:36,573.573 INFO    ] No update needed
[2026-08-29 04:17:36,575.575 INFO    ] Checking for camera pi updates...
[2026-08-29 04:17:36,595.595 INFO    ] 200
[2026-08-29 04:17:36,596.596 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:17:36,619.619 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:17:36,702.702 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:17:36,703.703 INFO    ] No camera update needed
[2026-08-29 04:17:36,704.704 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:17:36,705.705 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:17:36,708.708 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:17:36,711.711 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:17:38,751.751 INFO    ] ================================================
[2026-08-29 04:17:38,766.766 INFO    ] Launching Daemon at Sat Aug 29 04:17:38 IST 2026
[2026-08-29 04:17:38,777.777 INFO    ] ================================================
[2026-08-29 04:17:39,151.151 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:17:39
[2026-08-29 04:17:39,486.486 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:17:39,637.637 INFO    ] Initializing speech engine...
[2026-08-29 04:17:39,643.643 INFO    ] 2026-08-29 04:17:39
[2026-08-29 04:17:39,853.853 INFO    ] 2026-08-29 04:17:39
[2026-08-29 04:17:39,885.885 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:17:40,004.004 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:17:40,012.012 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:17:40,189.189 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:17:40,216.216 INFO    ] time= 29/08/2026 04:17:40
[2026-08-29 04:17:40,232.232 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:17:40,240.240 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:17:40,341.341 INFO    ] No existing commands found in stream
[2026-08-29 04:17:45,370.370 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:17:45,373.373 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 04:17:46,614.614 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:17:46,616.616 INFO    ] Checking for system updates...
[2026-08-29 04:17:46,637.637 INFO    ] 200
[2026-08-29 04:17:46,638.638 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:17:46,669.669 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:17:46,670.670 INFO    ] No update needed
[2026-08-29 04:17:46,672.672 INFO    ] Checking for camera pi updates...
[2026-08-29 04:17:46,692.692 INFO    ] 200
[2026-08-29 04:17:46,693.693 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:17:46,718.718 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:17:46,892.892 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:17:46,893.893 INFO    ] No camera update needed
[2026-08-29 04:17:46,895.895 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:17:46,896.896 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:17:46,899.899 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:17:46,903.903 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:17:48,945.945 INFO    ] ================================================
[2026-08-29 04:17:48,960.960 INFO    ] Launching Daemon at Sat Aug 29 04:17:48 IST 2026
[2026-08-29 04:17:48,971.971 INFO    ] ================================================
[2026-08-29 04:17:49,339.339 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:17:49
[2026-08-29 04:17:49,678.678 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:17:49,825.825 INFO    ] Initializing speech engine...
[2026-08-29 04:17:49,836.836 INFO    ] 2026-08-29 04:17:49
[2026-08-29 04:17:50,049.049 INFO    ] 2026-08-29 04:17:50
[2026-08-29 04:17:50,078.078 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:17:50,204.204 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:17:50,262.262 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:17:50,408.408 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:17:50,477.477 INFO    ] time= 29/08/2026 04:17:50
[2026-08-29 04:17:50,501.501 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:17:50,508.508 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:17:50,608.608 INFO    ] No existing commands found in stream
[2026-08-29 04:17:55,627.627 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:17:55,630.630 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-08-29 04:17:57,026.026 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:17:57,028.028 INFO    ] Checking for system updates...
[2026-08-29 04:17:57,048.048 INFO    ] 200
[2026-08-29 04:17:57,050.050 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:17:57,080.080 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:17:57,081.081 INFO    ] No update needed
[2026-08-29 04:17:57,083.083 INFO    ] Checking for camera pi updates...
[2026-08-29 04:17:57,103.103 INFO    ] 200
[2026-08-29 04:17:57,104.104 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:17:57,128.128 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:17:57,209.209 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:17:57,210.210 INFO    ] No camera update needed
[2026-08-29 04:17:57,211.211 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:17:57,213.213 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:17:57,216.216 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:17:57,219.219 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:17:59,257.257 INFO    ] ================================================
[2026-08-29 04:17:59,272.272 INFO    ] Launching Daemon at Sat Aug 29 04:17:59 IST 2026
[2026-08-29 04:17:59,283.283 INFO    ] ================================================
[2026-08-29 04:17:59,676.676 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:17:59
[2026-08-29 04:18:00,020.020 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:18:00,315.315 INFO    ] Initializing speech engine...
[2026-08-29 04:18:00,323.323 INFO    ] 2026-08-29 04:18:00
[2026-08-29 04:18:00,565.565 INFO    ] 2026-08-29 04:18:00
[2026-08-29 04:18:00,600.600 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:18:00,773.773 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:18:00,785.785 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:18:00,925.925 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:18:00,961.961 INFO    ] time= 29/08/2026 04:18:00
[2026-08-29 04:18:01,001.001 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:18:01,028.028 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:18:01,131.131 INFO    ] No existing commands found in stream
[2026-08-29 04:18:06,144.144 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:18:06,147.147 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-08-29 04:18:09,887.887 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:18:09,889.889 INFO    ] Checking for system updates...
[2026-08-29 04:18:09,910.910 INFO    ] 200
[2026-08-29 04:18:09,911.911 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:18:09,943.943 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:18:09,944.944 INFO    ] No update needed
[2026-08-29 04:18:09,950.950 INFO    ] Checking for camera pi updates...
[2026-08-29 04:18:09,978.978 INFO    ] 200
[2026-08-29 04:18:09,980.980 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:18:10,003.003 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:18:10,085.085 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:18:10,086.086 INFO    ] No camera update needed
[2026-08-29 04:18:10,087.087 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:18:10,089.089 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:18:10,091.091 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:18:10,094.094 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:18:12,133.133 INFO    ] ================================================
[2026-08-29 04:18:12,148.148 INFO    ] Launching Daemon at Sat Aug 29 04:18:12 IST 2026
[2026-08-29 04:18:12,159.159 INFO    ] ================================================
[2026-08-29 04:18:12,497.497 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:18:12
[2026-08-29 04:18:12,807.807 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:18:12,978.978 INFO    ] Initializing speech engine...
[2026-08-29 04:18:12,986.986 INFO    ] 2026-08-29 04:18:12
[2026-08-29 04:18:13,233.233 INFO    ] 2026-08-29 04:18:13
[2026-08-29 04:18:13,298.298 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:18:13,461.461 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:18:13,468.468 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:18:13,592.592 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:18:13,600.600 INFO    ] time= 29/08/2026 04:18:13
[2026-08-29 04:18:13,606.606 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:18:13,652.652 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:18:13,765.765 INFO    ] No existing commands found in stream
[2026-08-29 04:18:18,790.790 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:18:18,793.793 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-08-29 04:18:20,298.298 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:18:20,300.300 INFO    ] Checking for system updates...
[2026-08-29 04:18:20,321.321 INFO    ] 200
[2026-08-29 04:18:20,322.322 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:18:20,355.355 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:18:20,356.356 INFO    ] No update needed
[2026-08-29 04:18:20,358.358 INFO    ] Checking for camera pi updates...
[2026-08-29 04:18:20,380.380 INFO    ] 200
[2026-08-29 04:18:20,382.382 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:18:20,405.405 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:18:20,484.484 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:18:20,485.485 INFO    ] No camera update needed
[2026-08-29 04:18:20,486.486 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:18:20,487.487 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:18:20,490.490 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:18:20,493.493 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:18:22,531.531 INFO    ] ================================================
[2026-08-29 04:18:22,546.546 INFO    ] Launching Daemon at Sat Aug 29 04:18:22 IST 2026
[2026-08-29 04:18:22,557.557 INFO    ] ================================================
[2026-08-29 04:18:22,913.913 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:18:22
[2026-08-29 04:18:23,437.437 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:18:23,713.713 INFO    ] Initializing speech engine...
[2026-08-29 04:18:23,722.722 INFO    ] 2026-08-29 04:18:23
[2026-08-29 04:18:23,990.990 INFO    ] 2026-08-29 04:18:23
[2026-08-29 04:18:24,042.042 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:18:24,265.265 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:18:24,274.274 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:18:24,409.409 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:18:24,474.474 INFO    ] time= 29/08/2026 04:18:24
[2026-08-29 04:18:24,534.534 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:18:24,543.543 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:18:24,679.679 INFO    ] No existing commands found in stream
[2026-08-29 04:18:29,700.700 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:18:29,703.703 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-08-29 04:18:33,823.823 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:18:33,826.826 INFO    ] Checking for system updates...
[2026-08-29 04:18:33,862.862 INFO    ] 200
[2026-08-29 04:18:33,864.864 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:18:33,916.916 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:18:33,919.919 INFO    ] No update needed
[2026-08-29 04:18:33,921.921 INFO    ] Checking for camera pi updates...
[2026-08-29 04:18:33,956.956 INFO    ] 200
[2026-08-29 04:18:33,958.958 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:18:34,004.004 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:18:34,106.106 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:18:34,108.108 INFO    ] No camera update needed
[2026-08-29 04:18:34,111.111 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:18:34,113.113 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:18:34,119.119 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:18:34,124.124 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:18:36,164.164 INFO    ] ================================================
[2026-08-29 04:18:36,179.179 INFO    ] Launching Daemon at Sat Aug 29 04:18:36 IST 2026
[2026-08-29 04:18:36,190.190 INFO    ] ================================================
[2026-08-29 04:18:36,578.578 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:18:36
[2026-08-29 04:18:36,891.891 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:18:37,035.035 INFO    ] Initializing speech engine...
[2026-08-29 04:18:37,040.040 INFO    ] 2026-08-29 04:18:37
[2026-08-29 04:18:37,244.244 INFO    ] 2026-08-29 04:18:37
[2026-08-29 04:18:37,273.273 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:18:37,425.425 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:18:37,456.456 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:18:37,590.590 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:18:37,607.607 INFO    ] time= 29/08/2026 04:18:37
[2026-08-29 04:18:37,615.615 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:18:37,641.641 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:18:37,742.742 INFO    ] No existing commands found in stream
[2026-08-29 04:18:42,757.757 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:18:42,760.760 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-08-29 04:18:45,737.737 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:18:45,738.738 INFO    ] Checking for system updates...
[2026-08-29 04:18:45,782.782 INFO    ] 200
[2026-08-29 04:18:45,783.783 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:18:45,823.823 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:18:45,826.826 INFO    ] No update needed
[2026-08-29 04:18:45,828.828 INFO    ] Checking for camera pi updates...
[2026-08-29 04:18:45,869.869 INFO    ] 200
[2026-08-29 04:18:45,872.872 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:18:45,919.919 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:18:46,016.016 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:18:46,019.019 INFO    ] No camera update needed
[2026-08-29 04:18:46,022.022 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:18:46,024.024 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:18:46,030.030 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:18:46,036.036 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:18:48,078.078 INFO    ] ================================================
[2026-08-29 04:18:48,094.094 INFO    ] Launching Daemon at Sat Aug 29 04:18:48 IST 2026
[2026-08-29 04:18:48,105.105 INFO    ] ================================================
[2026-08-29 04:18:48,751.751 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:18:48
[2026-08-29 04:18:49,174.174 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:18:49,310.310 INFO    ] Initializing speech engine...
[2026-08-29 04:18:49,315.315 INFO    ] 2026-08-29 04:18:49
[2026-08-29 04:18:49,539.539 INFO    ] 2026-08-29 04:18:49
[2026-08-29 04:18:49,592.592 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:18:49,759.759 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:18:49,764.764 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:18:49,945.945 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:18:49,966.966 INFO    ] time= 29/08/2026 04:18:49
[2026-08-29 04:18:49,988.988 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:18:50,014.014 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:18:50,121.121 INFO    ] No existing commands found in stream
[2026-08-29 04:18:55,136.136 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:18:55,139.139 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 04:18:55,576.576 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:18:55,578.578 INFO    ] Checking for system updates...
[2026-08-29 04:18:55,599.599 INFO    ] 200
[2026-08-29 04:18:55,600.600 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:18:55,630.630 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:18:55,632.632 INFO    ] No update needed
[2026-08-29 04:18:55,633.633 INFO    ] Checking for camera pi updates...
[2026-08-29 04:18:55,653.653 INFO    ] 200
[2026-08-29 04:18:55,655.655 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:18:55,679.679 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:18:55,756.756 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:18:55,758.758 INFO    ] No camera update needed
[2026-08-29 04:18:55,759.759 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:18:55,760.760 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:18:55,764.764 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:18:55,767.767 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:18:57,807.807 INFO    ] ================================================
[2026-08-29 04:18:57,823.823 INFO    ] Launching Daemon at Sat Aug 29 04:18:57 IST 2026
[2026-08-29 04:18:57,834.834 INFO    ] ================================================
[2026-08-29 04:18:58,191.191 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:18:58
[2026-08-29 04:18:58,527.527 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:18:58,668.668 INFO    ] Initializing speech engine...
[2026-08-29 04:18:58,683.683 INFO    ] 2026-08-29 04:18:58
[2026-08-29 04:18:58,900.900 INFO    ] 2026-08-29 04:18:58
[2026-08-29 04:18:58,931.931 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:18:59,063.063 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:18:59,126.126 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:18:59,270.270 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:18:59,322.322 INFO    ] time= 29/08/2026 04:18:59
[2026-08-29 04:18:59,361.361 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:18:59,378.378 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:18:59,454.454 INFO    ] No existing commands found in stream
[2026-08-29 04:19:04,464.464 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:19:04,467.467 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-08-29 04:19:06,221.221 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:19:06,222.222 INFO    ] Checking for system updates...
[2026-08-29 04:19:06,243.243 INFO    ] 200
[2026-08-29 04:19:06,244.244 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:19:06,276.276 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:19:06,278.278 INFO    ] No update needed
[2026-08-29 04:19:06,280.280 INFO    ] Checking for camera pi updates...
[2026-08-29 04:19:06,314.314 INFO    ] 200
[2026-08-29 04:19:06,317.317 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:19:06,363.363 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:19:06,477.477 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:19:06,479.479 INFO    ] No camera update needed
[2026-08-29 04:19:06,481.481 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:19:06,484.484 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:19:06,489.489 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:19:06,494.494 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:19:08,534.534 INFO    ] ================================================
[2026-08-29 04:19:08,551.551 INFO    ] Launching Daemon at Sat Aug 29 04:19:08 IST 2026
[2026-08-29 04:19:08,562.562 INFO    ] ================================================
[2026-08-29 04:19:09,233.233 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:19:09
[2026-08-29 04:19:09,662.662 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:19:09,817.817 INFO    ] Initializing speech engine...
[2026-08-29 04:19:09,821.821 INFO    ] 2026-08-29 04:19:09
[2026-08-29 04:19:10,033.033 INFO    ] 2026-08-29 04:19:10
[2026-08-29 04:19:10,061.061 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:19:10,185.185 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:19:10,243.243 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:19:10,397.397 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:19:10,447.447 INFO    ] time= 29/08/2026 04:19:10
[2026-08-29 04:19:10,462.462 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:19:10,516.516 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:19:10,626.626 INFO    ] No existing commands found in stream
[2026-08-29 04:19:15,657.657 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:19:15,660.660 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-08-29 04:19:19,574.574 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:19:19,575.575 INFO    ] Checking for system updates...
[2026-08-29 04:19:19,596.596 INFO    ] 200
[2026-08-29 04:19:19,598.598 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:19:19,628.628 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:19:19,629.629 INFO    ] No update needed
[2026-08-29 04:19:19,631.631 INFO    ] Checking for camera pi updates...
[2026-08-29 04:19:19,650.650 INFO    ] 200
[2026-08-29 04:19:19,652.652 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:19:19,675.675 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:19:19,766.766 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:19:19,769.769 INFO    ] No camera update needed
[2026-08-29 04:19:19,771.771 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:19:19,774.774 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:19:19,780.780 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:19:19,786.786 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:19:21,828.828 INFO    ] ================================================
[2026-08-29 04:19:21,844.844 INFO    ] Launching Daemon at Sat Aug 29 04:19:21 IST 2026
[2026-08-29 04:19:21,856.856 INFO    ] ================================================
[2026-08-29 04:19:22,423.423 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:19:22
[2026-08-29 04:19:22,922.922 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:19:23,055.055 INFO    ] Initializing speech engine...
[2026-08-29 04:19:23,059.059 INFO    ] 2026-08-29 04:19:23
[2026-08-29 04:19:23,256.256 INFO    ] 2026-08-29 04:19:23
[2026-08-29 04:19:23,295.295 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:19:23,456.456 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:19:23,490.490 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:19:23,627.627 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:19:23,672.672 INFO    ] time= 29/08/2026 04:19:23
[2026-08-29 04:19:23,703.703 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:19:23,755.755 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:19:23,856.856 INFO    ] No existing commands found in stream
[2026-08-29 04:19:28,867.867 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:19:28,869.869 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-08-29 04:19:29,777.777 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:19:29,779.779 INFO    ] Checking for system updates...
[2026-08-29 04:19:29,800.800 INFO    ] 200
[2026-08-29 04:19:29,801.801 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:19:29,832.832 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:19:29,834.834 INFO    ] No update needed
[2026-08-29 04:19:29,835.835 INFO    ] Checking for camera pi updates...
[2026-08-29 04:19:29,856.856 INFO    ] 200
[2026-08-29 04:19:29,857.857 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:19:29,883.883 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:19:29,974.974 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:19:29,975.975 INFO    ] No camera update needed
[2026-08-29 04:19:29,977.977 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:19:29,978.978 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:19:29,981.981 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:19:29,984.984 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:19:32,026.026 INFO    ] ================================================
[2026-08-29 04:19:32,043.043 INFO    ] Launching Daemon at Sat Aug 29 04:19:32 IST 2026
[2026-08-29 04:19:32,055.055 INFO    ] ================================================
[2026-08-29 04:19:32,654.654 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:19:32
[2026-08-29 04:19:33,255.255 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:19:33,535.535 INFO    ] Initializing speech engine...
[2026-08-29 04:19:33,540.540 INFO    ] 2026-08-29 04:19:33
[2026-08-29 04:19:33,806.806 INFO    ] 2026-08-29 04:19:33
[2026-08-29 04:19:33,862.862 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:19:34,084.084 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:19:34,093.093 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:19:34,224.224 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:19:34,272.272 INFO    ] time= 29/08/2026 04:19:34
[2026-08-29 04:19:34,321.321 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:19:34,357.357 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:19:34,426.426 INFO    ] No existing commands found in stream
[2026-08-29 04:19:39,462.462 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:19:39,465.465 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-08-29 04:19:43,118.118 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:19:43,119.119 INFO    ] Checking for system updates...
[2026-08-29 04:19:43,140.140 INFO    ] 200
[2026-08-29 04:19:43,141.141 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:19:43,172.172 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:19:43,173.173 INFO    ] No update needed
[2026-08-29 04:19:43,178.178 INFO    ] Checking for camera pi updates...
[2026-08-29 04:19:43,200.200 INFO    ] 200
[2026-08-29 04:19:43,202.202 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:19:43,227.227 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:19:43,305.305 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:19:43,307.307 INFO    ] No camera update needed
[2026-08-29 04:19:43,308.308 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:19:43,309.309 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:19:43,312.312 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:19:43,315.315 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:19:45,355.355 INFO    ] ================================================
[2026-08-29 04:19:45,377.377 INFO    ] Launching Daemon at Sat Aug 29 04:19:45 IST 2026
[2026-08-29 04:19:45,388.388 INFO    ] ================================================
[2026-08-29 04:19:45,751.751 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:19:45
[2026-08-29 04:19:46,092.092 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:19:46,244.244 INFO    ] Initializing speech engine...
[2026-08-29 04:19:46,249.249 INFO    ] 2026-08-29 04:19:46
[2026-08-29 04:19:46,456.456 INFO    ] 2026-08-29 04:19:46
[2026-08-29 04:19:46,486.486 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:19:46,639.639 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:19:46,673.673 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:19:46,811.811 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:19:46,877.877 INFO    ] time= 29/08/2026 04:19:46
[2026-08-29 04:19:46,901.901 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:19:46,908.908 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:19:46,975.975 INFO    ] No existing commands found in stream
[2026-08-29 04:19:51,989.989 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:19:51,993.993 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-08-29 04:19:55,403.403 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:19:55,411.411 INFO    ] Checking for system updates...
[2026-08-29 04:19:55,436.436 INFO    ] 200
[2026-08-29 04:19:55,438.438 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:19:55,473.473 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:19:55,474.474 INFO    ] No update needed
[2026-08-29 04:19:55,476.476 INFO    ] Checking for camera pi updates...
[2026-08-29 04:19:55,507.507 INFO    ] 200
[2026-08-29 04:19:55,509.509 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:19:55,550.550 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:19:55,751.751 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:19:55,754.754 INFO    ] No camera update needed
[2026-08-29 04:19:55,756.756 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:19:55,758.758 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:19:55,764.764 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:19:55,769.769 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:19:57,810.810 INFO    ] ================================================
[2026-08-29 04:19:57,825.825 INFO    ] Launching Daemon at Sat Aug 29 04:19:57 IST 2026
[2026-08-29 04:19:57,835.835 INFO    ] ================================================
[2026-08-29 04:19:58,406.406 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:19:58
[2026-08-29 04:19:58,774.774 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:19:59,012.012 INFO    ] Initializing speech engine...
[2026-08-29 04:19:59,022.022 INFO    ] 2026-08-29 04:19:59
[2026-08-29 04:19:59,273.273 INFO    ] 2026-08-29 04:19:59
[2026-08-29 04:19:59,340.340 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:19:59,563.563 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:19:59,572.572 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:19:59,705.705 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:19:59,753.753 INFO    ] time= 29/08/2026 04:19:59
[2026-08-29 04:19:59,812.812 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:19:59,840.840 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:19:59,895.895 INFO    ] No existing commands found in stream
[2026-08-29 04:20:04,907.907 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:20:04,910.910 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-08-29 04:20:09,432.432 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:20:09,435.435 INFO    ] Checking for system updates...
[2026-08-29 04:20:09,471.471 INFO    ] 200
[2026-08-29 04:20:09,473.473 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:20:09,527.527 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:20:09,529.529 INFO    ] No update needed
[2026-08-29 04:20:09,532.532 INFO    ] Checking for camera pi updates...
[2026-08-29 04:20:09,566.566 INFO    ] 200
[2026-08-29 04:20:09,569.569 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:20:09,611.611 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:20:09,690.690 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:20:09,693.693 INFO    ] No camera update needed
[2026-08-29 04:20:09,696.696 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:20:09,698.698 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:20:09,703.703 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:20:09,708.708 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:20:11,749.749 INFO    ] ================================================
[2026-08-29 04:20:11,764.764 INFO    ] Launching Daemon at Sat Aug 29 04:20:11 IST 2026
[2026-08-29 04:20:11,775.775 INFO    ] ================================================
[2026-08-29 04:20:12,119.119 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:20:12
[2026-08-29 04:20:12,430.430 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:20:12,596.596 INFO    ] Initializing speech engine...
[2026-08-29 04:20:12,609.609 INFO    ] 2026-08-29 04:20:12
[2026-08-29 04:20:12,863.863 INFO    ] 2026-08-29 04:20:12
[2026-08-29 04:20:12,899.899 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:20:13,070.070 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:20:13,083.083 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:20:13,224.224 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:20:13,231.231 INFO    ] time= 29/08/2026 04:20:13
[2026-08-29 04:20:13,239.239 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:20:13,266.266 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:20:13,393.393 INFO    ] No existing commands found in stream
[2026-08-29 04:20:18,423.423 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:20:18,426.426 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 04:20:19,056.056 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:20:19,058.058 INFO    ] Checking for system updates...
[2026-08-29 04:20:19,079.079 INFO    ] 200
[2026-08-29 04:20:19,080.080 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:20:19,110.110 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:20:19,112.112 INFO    ] No update needed
[2026-08-29 04:20:19,113.113 INFO    ] Checking for camera pi updates...
[2026-08-29 04:20:19,132.132 INFO    ] 200
[2026-08-29 04:20:19,134.134 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:20:19,158.158 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:20:19,260.260 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:20:19,262.262 INFO    ] No camera update needed
[2026-08-29 04:20:19,263.263 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:20:19,265.265 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:20:19,268.268 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:20:19,271.271 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:20:21,310.310 INFO    ] ================================================
[2026-08-29 04:20:21,325.325 INFO    ] Launching Daemon at Sat Aug 29 04:20:21 IST 2026
[2026-08-29 04:20:21,336.336 INFO    ] ================================================
[2026-08-29 04:20:21,903.903 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:20:21
[2026-08-29 04:20:22,365.365 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:20:22,564.564 INFO    ] Initializing speech engine...
[2026-08-29 04:20:22,576.576 INFO    ] 2026-08-29 04:20:22
[2026-08-29 04:20:22,844.844 INFO    ] 2026-08-29 04:20:22
[2026-08-29 04:20:22,880.880 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:20:23,057.057 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:20:23,070.070 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:20:23,215.215 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:20:23,224.224 INFO    ] time= 29/08/2026 04:20:23
[2026-08-29 04:20:23,230.230 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:20:23,251.251 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:20:23,377.377 INFO    ] No existing commands found in stream
[2026-08-29 04:20:28,402.402 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:20:28,405.405 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-08-29 04:20:30,102.102 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:20:30,104.104 INFO    ] Checking for system updates...
[2026-08-29 04:20:30,125.125 INFO    ] 200
[2026-08-29 04:20:30,126.126 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:20:30,159.159 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:20:30,160.160 INFO    ] No update needed
[2026-08-29 04:20:30,162.162 INFO    ] Checking for camera pi updates...
[2026-08-29 04:20:30,182.182 INFO    ] 200
[2026-08-29 04:20:30,183.183 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:20:30,208.208 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:20:30,285.285 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:20:30,287.287 INFO    ] No camera update needed
[2026-08-29 04:20:30,288.288 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:20:30,289.289 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:20:30,293.293 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:20:30,296.296 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:20:32,339.339 INFO    ] ================================================
[2026-08-29 04:20:32,356.356 INFO    ] Launching Daemon at Sat Aug 29 04:20:32 IST 2026
[2026-08-29 04:20:32,368.368 INFO    ] ================================================
[2026-08-29 04:20:32,965.965 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:20:32
[2026-08-29 04:20:33,583.583 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:20:33,836.836 INFO    ] Initializing speech engine...
[2026-08-29 04:20:33,848.848 INFO    ] 2026-08-29 04:20:33
[2026-08-29 04:20:34,117.117 INFO    ] 2026-08-29 04:20:34
[2026-08-29 04:20:34,153.153 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:20:34,330.330 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:20:34,341.341 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:20:34,488.488 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:20:34,495.495 INFO    ] time= 29/08/2026 04:20:34
[2026-08-29 04:20:34,503.503 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:20:34,515.515 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:20:34,639.639 INFO    ] No existing commands found in stream
[2026-08-29 04:20:39,664.664 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:20:39,667.667 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-08-29 04:20:40,486.486 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:20:40,487.487 INFO    ] Checking for system updates...
[2026-08-29 04:20:40,507.507 INFO    ] 200
[2026-08-29 04:20:40,509.509 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:20:40,541.541 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:20:40,542.542 INFO    ] No update needed
[2026-08-29 04:20:40,543.543 INFO    ] Checking for camera pi updates...
[2026-08-29 04:20:40,562.562 INFO    ] 200
[2026-08-29 04:20:40,564.564 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:20:40,588.588 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:20:40,666.666 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:20:40,668.668 INFO    ] No camera update needed
[2026-08-29 04:20:40,669.669 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:20:40,670.670 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:20:40,673.673 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:20:40,676.676 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:20:42,715.715 INFO    ] ================================================
[2026-08-29 04:20:42,731.731 INFO    ] Launching Daemon at Sat Aug 29 04:20:42 IST 2026
[2026-08-29 04:20:42,742.742 INFO    ] ================================================
[2026-08-29 04:20:43,088.088 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:20:43
[2026-08-29 04:20:43,680.680 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:20:43,962.962 INFO    ] Initializing speech engine...
[2026-08-29 04:20:43,980.980 INFO    ] 2026-08-29 04:20:43
[2026-08-29 04:20:44,292.292 INFO    ] 2026-08-29 04:20:44
[2026-08-29 04:20:44,322.322 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:20:44,487.487 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:20:44,525.525 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:20:44,685.685 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:20:44,694.694 INFO    ] time= 29/08/2026 04:20:44
[2026-08-29 04:20:44,701.701 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:20:44,729.729 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:20:44,855.855 INFO    ] No existing commands found in stream
[2026-08-29 04:20:49,881.881 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:20:49,884.884 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 04:20:53,459.459 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:20:53,463.463 INFO    ] Checking for system updates...
[2026-08-29 04:20:53,501.501 INFO    ] 200
[2026-08-29 04:20:53,505.505 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:20:53,561.561 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:20:53,564.564 INFO    ] No update needed
[2026-08-29 04:20:53,567.567 INFO    ] Checking for camera pi updates...
[2026-08-29 04:20:53,605.605 INFO    ] 200
[2026-08-29 04:20:53,608.608 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:20:53,654.654 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:20:53,734.734 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:20:53,736.736 INFO    ] No camera update needed
[2026-08-29 04:20:53,737.737 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:20:53,738.738 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:20:53,741.741 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:20:53,744.744 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:20:55,783.783 INFO    ] ================================================
[2026-08-29 04:20:55,799.799 INFO    ] Launching Daemon at Sat Aug 29 04:20:55 IST 2026
[2026-08-29 04:20:55,810.810 INFO    ] ================================================
[2026-08-29 04:20:56,375.375 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:20:56
[2026-08-29 04:20:56,967.967 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:20:57,272.272 INFO    ] Initializing speech engine...
[2026-08-29 04:20:57,281.281 INFO    ] 2026-08-29 04:20:57
[2026-08-29 04:20:57,558.558 INFO    ] 2026-08-29 04:20:57
[2026-08-29 04:20:57,586.586 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:20:57,719.719 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:20:57,772.772 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:20:57,910.910 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:20:57,974.974 INFO    ] time= 29/08/2026 04:20:57
[2026-08-29 04:20:58,002.002 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:20:58,009.009 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:20:58,076.076 INFO    ] No existing commands found in stream
[2026-08-29 04:21:03,085.085 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:21:03,088.088 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-08-29 04:21:05,513.513 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:21:05,514.514 INFO    ] Checking for system updates...
[2026-08-29 04:21:05,535.535 INFO    ] 200
[2026-08-29 04:21:05,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:21:05,566.566 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:21:05,567.567 INFO    ] No update needed
[2026-08-29 04:21:05,569.569 INFO    ] Checking for camera pi updates...
[2026-08-29 04:21:05,590.590 INFO    ] 200
[2026-08-29 04:21:05,592.592 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:21:05,616.616 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:21:05,697.697 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:21:05,698.698 INFO    ] No camera update needed
[2026-08-29 04:21:05,704.704 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:21:05,705.705 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:21:05,708.708 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:21:05,711.711 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:21:07,751.751 INFO    ] ================================================
[2026-08-29 04:21:07,767.767 INFO    ] Launching Daemon at Sat Aug 29 04:21:07 IST 2026
[2026-08-29 04:21:07,778.778 INFO    ] ================================================
[2026-08-29 04:21:08,349.349 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:21:08
[2026-08-29 04:21:08,938.938 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:21:09,162.162 INFO    ] Initializing speech engine...
[2026-08-29 04:21:09,171.171 INFO    ] 2026-08-29 04:21:09
[2026-08-29 04:21:09,374.374 INFO    ] 2026-08-29 04:21:09
[2026-08-29 04:21:09,404.404 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:21:09,526.526 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:21:09,588.588 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:21:09,732.732 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:21:09,779.779 INFO    ] time= 29/08/2026 04:21:09
[2026-08-29 04:21:09,788.788 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:21:09,854.854 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:21:09,944.944 INFO    ] No existing commands found in stream
[2026-08-29 04:21:14,964.964 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:21:14,966.966 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-08-29 04:21:15,759.759 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:21:15,762.762 INFO    ] Checking for system updates...
[2026-08-29 04:21:15,804.804 INFO    ] 200
[2026-08-29 04:21:15,806.806 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:21:15,865.865 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:21:15,868.868 INFO    ] No update needed
[2026-08-29 04:21:15,870.870 INFO    ] Checking for camera pi updates...
[2026-08-29 04:21:15,907.907 INFO    ] 200
[2026-08-29 04:21:15,910.910 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:21:15,955.955 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:21:16,061.061 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:21:16,064.064 INFO    ] No camera update needed
[2026-08-29 04:21:16,066.066 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:21:16,068.068 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:21:16,073.073 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:21:16,078.078 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:21:18,120.120 INFO    ] ================================================
[2026-08-29 04:21:18,136.136 INFO    ] Launching Daemon at Sat Aug 29 04:21:18 IST 2026
[2026-08-29 04:21:18,148.148 INFO    ] ================================================
[2026-08-29 04:21:18,483.483 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:21:18
[2026-08-29 04:21:18,797.797 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:21:19,049.049 INFO    ] Initializing speech engine...
[2026-08-29 04:21:19,064.064 INFO    ] 2026-08-29 04:21:19
[2026-08-29 04:21:19,352.352 INFO    ] 2026-08-29 04:21:19
[2026-08-29 04:21:19,388.388 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:21:19,538.538 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:21:19,546.546 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:21:19,700.700 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:21:19,711.711 INFO    ] time= 29/08/2026 04:21:19
[2026-08-29 04:21:19,715.715 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:21:19,720.720 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:21:19,787.787 INFO    ] No existing commands found in stream
[2026-08-29 04:21:24,798.798 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:21:24,800.800 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-08-29 04:21:26,773.773 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:21:26,775.775 INFO    ] Checking for system updates...
[2026-08-29 04:21:26,795.795 INFO    ] 200
[2026-08-29 04:21:26,796.796 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:21:26,826.826 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:21:26,827.827 INFO    ] No update needed
[2026-08-29 04:21:26,829.829 INFO    ] Checking for camera pi updates...
[2026-08-29 04:21:26,849.849 INFO    ] 200
[2026-08-29 04:21:26,851.851 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:21:26,873.873 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:21:26,973.973 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:21:26,976.976 INFO    ] No camera update needed
[2026-08-29 04:21:26,978.978 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:21:26,980.980 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:21:26,985.985 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:21:26,990.990 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:21:29,031.031 INFO    ] ================================================
[2026-08-29 04:21:29,048.048 INFO    ] Launching Daemon at Sat Aug 29 04:21:29 IST 2026
[2026-08-29 04:21:29,060.060 INFO    ] ================================================
[2026-08-29 04:21:29,720.720 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:21:29
[2026-08-29 04:21:30,204.204 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:21:30,356.356 INFO    ] Initializing speech engine...
[2026-08-29 04:21:30,362.362 INFO    ] 2026-08-29 04:21:30
[2026-08-29 04:21:30,571.571 INFO    ] 2026-08-29 04:21:30
[2026-08-29 04:21:30,600.600 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:21:30,743.743 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:21:30,786.786 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:21:30,929.929 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:21:30,988.988 INFO    ] time= 29/08/2026 04:21:30
[2026-08-29 04:21:31,048.048 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:21:31,094.094 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:21:31,237.237 INFO    ] No existing commands found in stream
[2026-08-29 04:21:36,264.264 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:21:36,267.267 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-08-29 04:21:38,372.372 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:21:38,373.373 INFO    ] Checking for system updates...
[2026-08-29 04:21:38,395.395 INFO    ] 200
[2026-08-29 04:21:38,397.397 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:21:38,428.428 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:21:38,429.429 INFO    ] No update needed
[2026-08-29 04:21:38,431.431 INFO    ] Checking for camera pi updates...
[2026-08-29 04:21:38,451.451 INFO    ] 200
[2026-08-29 04:21:38,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:21:38,477.477 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:21:38,562.562 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:21:38,564.564 INFO    ] No camera update needed
[2026-08-29 04:21:38,565.565 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:21:38,566.566 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:21:38,569.569 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:21:38,572.572 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:21:40,612.612 INFO    ] ================================================
[2026-08-29 04:21:40,627.627 INFO    ] Launching Daemon at Sat Aug 29 04:21:40 IST 2026
[2026-08-29 04:21:40,637.637 INFO    ] ================================================
[2026-08-29 04:21:41,042.042 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:21:41
[2026-08-29 04:21:41,644.644 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:21:41,915.915 INFO    ] Initializing speech engine...
[2026-08-29 04:21:41,928.928 INFO    ] 2026-08-29 04:21:41
[2026-08-29 04:21:42,184.184 INFO    ] 2026-08-29 04:21:42
[2026-08-29 04:21:42,244.244 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:21:42,468.468 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:21:42,477.477 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:21:42,609.609 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:21:42,656.656 INFO    ] time= 29/08/2026 04:21:42
[2026-08-29 04:21:42,716.716 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:21:42,744.744 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:21:42,802.802 INFO    ] No existing commands found in stream
[2026-08-29 04:21:47,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:21:47,816.816 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 04:21:50,804.804 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:21:50,806.806 INFO    ] Checking for system updates...
[2026-08-29 04:21:50,826.826 INFO    ] 200
[2026-08-29 04:21:50,827.827 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:21:50,862.862 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:21:50,864.864 INFO    ] No update needed
[2026-08-29 04:21:50,865.865 INFO    ] Checking for camera pi updates...
[2026-08-29 04:21:50,889.889 INFO    ] 200
[2026-08-29 04:21:50,890.890 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:21:50,922.922 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:21:51,008.008 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:21:51,009.009 INFO    ] No camera update needed
[2026-08-29 04:21:51,010.010 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:21:51,011.011 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:21:51,015.015 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:21:51,017.017 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:21:53,058.058 INFO    ] ================================================
[2026-08-29 04:21:53,074.074 INFO    ] Launching Daemon at Sat Aug 29 04:21:53 IST 2026
[2026-08-29 04:21:53,085.085 INFO    ] ================================================
[2026-08-29 04:21:53,425.425 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:21:53
[2026-08-29 04:21:53,744.744 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:21:53,878.878 INFO    ] Initializing speech engine...
[2026-08-29 04:21:53,880.880 INFO    ] 2026-08-29 04:21:53
[2026-08-29 04:21:54,075.075 INFO    ] 2026-08-29 04:21:54
[2026-08-29 04:21:54,134.134 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:21:54,306.306 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:21:54,316.316 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:21:54,470.470 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:21:54,477.477 INFO    ] time= 29/08/2026 04:21:54
[2026-08-29 04:21:54,547.547 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:21:54,601.601 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:21:54,686.686 INFO    ] No existing commands found in stream
[2026-08-29 04:21:59,698.698 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:21:59,701.701 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-08-29 04:22:00,911.911 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:22:00,918.918 INFO    ] Checking for system updates...
[2026-08-29 04:22:00,953.953 INFO    ] 200
[2026-08-29 04:22:00,954.954 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:22:00,985.985 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:22:00,986.986 INFO    ] No update needed
[2026-08-29 04:22:00,988.988 INFO    ] Checking for camera pi updates...
[2026-08-29 04:22:01,008.008 INFO    ] 200
[2026-08-29 04:22:01,010.010 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:22:01,033.033 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:22:01,210.210 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:22:01,212.212 INFO    ] No camera update needed
[2026-08-29 04:22:01,213.213 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:22:01,214.214 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:22:01,218.218 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:22:01,221.221 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:22:03,264.264 INFO    ] ================================================
[2026-08-29 04:22:03,287.287 INFO    ] Launching Daemon at Sat Aug 29 04:22:03 IST 2026
[2026-08-29 04:22:03,305.305 INFO    ] ================================================
[2026-08-29 04:22:03,932.932 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:22:03
[2026-08-29 04:22:04,418.418 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:22:04,551.551 INFO    ] Initializing speech engine...
[2026-08-29 04:22:04,556.556 INFO    ] 2026-08-29 04:22:04
[2026-08-29 04:22:04,754.754 INFO    ] 2026-08-29 04:22:04
[2026-08-29 04:22:04,794.794 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:22:04,919.919 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:22:04,954.954 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:22:05,111.111 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:22:05,169.169 INFO    ] time= 29/08/2026 04:22:05
[2026-08-29 04:22:05,185.185 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:22:05,251.251 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:22:05,353.353 INFO    ] No existing commands found in stream
[2026-08-29 04:22:10,362.362 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:22:10,365.365 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 04:22:11,532.532 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:22:11,534.534 INFO    ] Checking for system updates...
[2026-08-29 04:22:11,555.555 INFO    ] 200
[2026-08-29 04:22:11,557.557 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:22:11,589.589 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:22:11,591.591 INFO    ] No update needed
[2026-08-29 04:22:11,592.592 INFO    ] Checking for camera pi updates...
[2026-08-29 04:22:11,615.615 INFO    ] 200
[2026-08-29 04:22:11,616.616 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:22:11,641.641 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:22:11,734.734 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:22:11,743.743 INFO    ] No camera update needed
[2026-08-29 04:22:11,744.744 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:22:11,746.746 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:22:11,749.749 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:22:11,751.751 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:22:13,792.792 INFO    ] ================================================
[2026-08-29 04:22:13,807.807 INFO    ] Launching Daemon at Sat Aug 29 04:22:13 IST 2026
[2026-08-29 04:22:13,819.819 INFO    ] ================================================
[2026-08-29 04:22:14,151.151 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:22:14
[2026-08-29 04:22:14,544.544 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:22:14,823.823 INFO    ] Initializing speech engine...
[2026-08-29 04:22:14,829.829 INFO    ] 2026-08-29 04:22:14
[2026-08-29 04:22:15,091.091 INFO    ] 2026-08-29 04:22:15
[2026-08-29 04:22:15,143.143 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:22:15,307.307 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:22:15,322.322 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:22:15,448.448 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:22:15,454.454 INFO    ] time= 29/08/2026 04:22:15
[2026-08-29 04:22:15,475.475 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:22:15,497.497 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:22:15,580.580 INFO    ] No existing commands found in stream
[2026-08-29 04:22:20,592.592 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:22:20,595.595 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 04:22:24,194.194 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:22:24,195.195 INFO    ] Checking for system updates...
[2026-08-29 04:22:24,216.216 INFO    ] 200
[2026-08-29 04:22:24,217.217 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:22:24,250.250 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:22:24,252.252 INFO    ] No update needed
[2026-08-29 04:22:24,253.253 INFO    ] Checking for camera pi updates...
[2026-08-29 04:22:24,272.272 INFO    ] 200
[2026-08-29 04:22:24,274.274 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:22:24,299.299 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:22:24,375.375 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:22:24,377.377 INFO    ] No camera update needed
[2026-08-29 04:22:24,378.378 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:22:24,379.379 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:22:24,382.382 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:22:24,385.385 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:22:26,415.415 INFO    ] ================================================
[2026-08-29 04:22:26,423.423 INFO    ] Launching Daemon at Sat Aug 29 04:22:26 IST 2026
[2026-08-29 04:22:26,429.429 INFO    ] ================================================
[2026-08-29 04:22:26,954.954 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:22:26
[2026-08-29 04:22:27,541.541 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:22:27,801.801 INFO    ] Initializing speech engine...
[2026-08-29 04:22:27,818.818 INFO    ] 2026-08-29 04:22:27
[2026-08-29 04:22:28,075.075 INFO    ] 2026-08-29 04:22:28
[2026-08-29 04:22:28,110.110 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:22:28,283.283 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:22:28,295.295 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:22:28,421.421 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:22:28,434.434 INFO    ] time= 29/08/2026 04:22:28
[2026-08-29 04:22:28,450.450 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:22:28,455.455 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:22:28,536.536 INFO    ] No existing commands found in stream
[2026-08-29 04:22:33,551.551 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:22:33,554.554 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 04:22:35,671.671 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:22:35,673.673 INFO    ] Checking for system updates...
[2026-08-29 04:22:35,693.693 INFO    ] 200
[2026-08-29 04:22:35,695.695 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:22:35,725.725 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:22:35,726.726 INFO    ] No update needed
[2026-08-29 04:22:35,727.727 INFO    ] Checking for camera pi updates...
[2026-08-29 04:22:35,746.746 INFO    ] 200
[2026-08-29 04:22:35,747.747 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:22:35,780.780 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:22:35,886.886 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:22:35,888.888 INFO    ] No camera update needed
[2026-08-29 04:22:35,891.891 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:22:35,894.894 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:22:35,902.902 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:22:35,908.908 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:22:37,950.950 INFO    ] ================================================
[2026-08-29 04:22:37,967.967 INFO    ] Launching Daemon at Sat Aug 29 04:22:37 IST 2026
[2026-08-29 04:22:37,978.978 INFO    ] ================================================
[2026-08-29 04:22:38,547.547 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:22:38
[2026-08-29 04:22:38,924.924 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:22:39,055.055 INFO    ] Initializing speech engine...
[2026-08-29 04:22:39,059.059 INFO    ] 2026-08-29 04:22:39
[2026-08-29 04:22:39,264.264 INFO    ] 2026-08-29 04:22:39
[2026-08-29 04:22:39,298.298 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:22:39,454.454 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:22:39,478.478 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:22:39,634.634 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:22:39,673.673 INFO    ] time= 29/08/2026 04:22:39
[2026-08-29 04:22:39,735.735 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:22:39,775.775 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:22:39,851.851 INFO    ] No existing commands found in stream
[2026-08-29 04:22:44,862.862 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:22:44,865.865 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-08-29 04:22:47,930.930 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:22:47,931.931 INFO    ] Checking for system updates...
[2026-08-29 04:22:47,952.952 INFO    ] 200
[2026-08-29 04:22:47,953.953 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:22:47,986.986 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:22:47,987.987 INFO    ] No update needed
[2026-08-29 04:22:47,988.988 INFO    ] Checking for camera pi updates...
[2026-08-29 04:22:48,009.009 INFO    ] 200
[2026-08-29 04:22:48,010.010 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:22:48,035.035 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:22:48,129.129 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:22:48,130.130 INFO    ] No camera update needed
[2026-08-29 04:22:48,132.132 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:22:48,133.133 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:22:48,136.136 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:22:48,138.138 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:22:50,177.177 INFO    ] ================================================
[2026-08-29 04:22:50,193.193 INFO    ] Launching Daemon at Sat Aug 29 04:22:50 IST 2026
[2026-08-29 04:22:50,204.204 INFO    ] ================================================
[2026-08-29 04:22:50,541.541 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:22:50
[2026-08-29 04:22:50,856.856 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:22:50,994.994 INFO    ] Initializing speech engine...
[2026-08-29 04:22:51,004.004 INFO    ] 2026-08-29 04:22:51
[2026-08-29 04:22:51,211.211 INFO    ] 2026-08-29 04:22:51
[2026-08-29 04:22:51,241.241 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:22:51,365.365 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:22:51,423.423 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:22:51,561.561 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:22:51,613.613 INFO    ] time= 29/08/2026 04:22:51
[2026-08-29 04:22:51,653.653 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:22:51,664.664 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:22:51,735.735 INFO    ] No existing commands found in stream
[2026-08-29 04:22:56,744.744 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:22:56,747.747 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-08-29 04:22:59,435.435 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:22:59,438.438 INFO    ] Checking for system updates...
[2026-08-29 04:22:59,475.475 INFO    ] 200
[2026-08-29 04:22:59,478.478 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:22:59,533.533 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:22:59,535.535 INFO    ] No update needed
[2026-08-29 04:22:59,538.538 INFO    ] Checking for camera pi updates...
[2026-08-29 04:22:59,573.573 INFO    ] 200
[2026-08-29 04:22:59,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:22:59,617.617 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:22:59,698.698 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:22:59,701.701 INFO    ] No camera update needed
[2026-08-29 04:22:59,703.703 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:22:59,706.706 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:22:59,711.711 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:22:59,716.716 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:23:01,790.790 INFO    ] ================================================
[2026-08-29 04:23:01,830.830 INFO    ] Launching Daemon at Sat Aug 29 04:23:01 IST 2026
[2026-08-29 04:23:01,845.845 INFO    ] ================================================
[2026-08-29 04:23:02,600.600 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:23:02
[2026-08-29 04:23:03,385.385 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:23:03,699.699 INFO    ] Initializing speech engine...
[2026-08-29 04:23:03,713.713 INFO    ] 2026-08-29 04:23:03
[2026-08-29 04:23:03,999.999 INFO    ] 2026-08-29 04:23:03
[2026-08-29 04:23:04,039.039 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:23:04,262.262 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:23:04,271.271 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:23:04,408.408 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:23:04,473.473 INFO    ] time= 29/08/2026 04:23:04
[2026-08-29 04:23:04,528.528 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:23:04,547.547 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:23:04,605.605 INFO    ] No existing commands found in stream
[2026-08-29 04:23:09,618.618 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:23:09,621.621 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-08-29 04:23:13,676.676 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:23:13,677.677 INFO    ] Checking for system updates...
[2026-08-29 04:23:13,698.698 INFO    ] 200
[2026-08-29 04:23:13,700.700 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:23:13,731.731 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:23:13,732.732 INFO    ] No update needed
[2026-08-29 04:23:13,734.734 INFO    ] Checking for camera pi updates...
[2026-08-29 04:23:13,753.753 INFO    ] 200
[2026-08-29 04:23:13,755.755 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:23:13,780.780 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:23:13,866.866 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:23:13,868.868 INFO    ] No camera update needed
[2026-08-29 04:23:13,869.869 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:23:13,870.870 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:23:13,873.873 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:23:13,876.876 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:23:15,915.915 INFO    ] ================================================
[2026-08-29 04:23:15,930.930 INFO    ] Launching Daemon at Sat Aug 29 04:23:15 IST 2026
[2026-08-29 04:23:15,942.942 INFO    ] ================================================
[2026-08-29 04:23:16,281.281 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:23:16
[2026-08-29 04:23:16,624.624 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:23:16,780.780 INFO    ] Initializing speech engine...
[2026-08-29 04:23:16,785.785 INFO    ] 2026-08-29 04:23:16
[2026-08-29 04:23:17,024.024 INFO    ] 2026-08-29 04:23:16
[2026-08-29 04:23:17,090.090 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:23:17,249.249 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:23:17,262.262 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:23:17,463.463 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:23:17,522.522 INFO    ] time= 29/08/2026 04:23:17
[2026-08-29 04:23:17,529.529 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:23:17,548.548 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:23:17,657.657 INFO    ] No existing commands found in stream
[2026-08-29 04:23:22,688.688 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:23:22,691.691 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-08-29 04:23:23,368.368 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:23:23,369.369 INFO    ] Checking for system updates...
[2026-08-29 04:23:23,391.391 INFO    ] 200
[2026-08-29 04:23:23,392.392 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:23:23,422.422 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:23:23,423.423 INFO    ] No update needed
[2026-08-29 04:23:23,425.425 INFO    ] Checking for camera pi updates...
[2026-08-29 04:23:23,444.444 INFO    ] 200
[2026-08-29 04:23:23,445.445 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:23:23,468.468 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:23:23,521.521 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:23:23,522.522 INFO    ] No camera update needed
[2026-08-29 04:23:23,523.523 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:23:23,525.525 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:23:23,528.528 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:23:23,530.530 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:23:25,569.569 INFO    ] ================================================
[2026-08-29 04:23:25,585.585 INFO    ] Launching Daemon at Sat Aug 29 04:23:25 IST 2026
[2026-08-29 04:23:25,596.596 INFO    ] ================================================
[2026-08-29 04:23:25,939.939 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:23:25
[2026-08-29 04:23:26,258.258 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:23:26,530.530 INFO    ] Initializing speech engine...
[2026-08-29 04:23:26,541.541 INFO    ] 2026-08-29 04:23:26
[2026-08-29 04:23:26,813.813 INFO    ] 2026-08-29 04:23:26
[2026-08-29 04:23:26,849.849 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:23:27,002.002 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:23:27,009.009 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:23:27,163.163 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:23:27,174.174 INFO    ] time= 29/08/2026 04:23:27
[2026-08-29 04:23:27,180.180 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:23:27,195.195 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:23:27,257.257 INFO    ] No existing commands found in stream
[2026-08-29 04:23:32,267.267 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:23:32,268.268 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-08-29 04:23:34,315.315 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:23:34,318.318 INFO    ] Checking for system updates...
[2026-08-29 04:23:34,354.354 INFO    ] 200
[2026-08-29 04:23:34,357.357 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:23:34,409.409 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:23:34,411.411 INFO    ] No update needed
[2026-08-29 04:23:34,414.414 INFO    ] Checking for camera pi updates...
[2026-08-29 04:23:34,449.449 INFO    ] 200
[2026-08-29 04:23:34,451.451 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:23:34,493.493 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:23:34,596.596 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:23:34,599.599 INFO    ] No camera update needed
[2026-08-29 04:23:34,601.601 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:23:34,604.604 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:23:34,610.610 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:23:34,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:23:36,659.659 INFO    ] ================================================
[2026-08-29 04:23:36,674.674 INFO    ] Launching Daemon at Sat Aug 29 04:23:36 IST 2026
[2026-08-29 04:23:36,685.685 INFO    ] ================================================
[2026-08-29 04:23:37,028.028 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:23:37
[2026-08-29 04:23:37,369.369 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:23:37,523.523 INFO    ] Initializing speech engine...
[2026-08-29 04:23:37,527.527 INFO    ] 2026-08-29 04:23:37
[2026-08-29 04:23:37,734.734 INFO    ] 2026-08-29 04:23:37
[2026-08-29 04:23:37,763.763 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:23:37,886.886 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:23:37,939.939 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:23:38,087.087 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:23:38,152.152 INFO    ] time= 29/08/2026 04:23:38
[2026-08-29 04:23:38,180.180 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:23:38,187.187 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:23:38,254.254 INFO    ] No existing commands found in stream
[2026-08-29 04:23:43,268.268 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:23:43,272.272 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-08-29 04:23:45,133.133 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:23:45,135.135 INFO    ] Checking for system updates...
[2026-08-29 04:23:45,173.173 INFO    ] 200
[2026-08-29 04:23:45,176.176 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:23:45,229.229 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:23:45,231.231 INFO    ] No update needed
[2026-08-29 04:23:45,235.235 INFO    ] Checking for camera pi updates...
[2026-08-29 04:23:45,274.274 INFO    ] 200
[2026-08-29 04:23:45,277.277 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:23:45,318.318 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:23:45,417.417 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:23:45,420.420 INFO    ] No camera update needed
[2026-08-29 04:23:45,423.423 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:23:45,426.426 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:23:45,432.432 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:23:45,438.438 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:23:47,480.480 INFO    ] ================================================
[2026-08-29 04:23:47,495.495 INFO    ] Launching Daemon at Sat Aug 29 04:23:47 IST 2026
[2026-08-29 04:23:47,507.507 INFO    ] ================================================
[2026-08-29 04:23:48,080.080 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:23:48
[2026-08-29 04:23:48,762.762 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:23:49,071.071 INFO    ] Initializing speech engine...
[2026-08-29 04:23:49,079.079 INFO    ] 2026-08-29 04:23:49
[2026-08-29 04:23:49,356.356 INFO    ] 2026-08-29 04:23:49
[2026-08-29 04:23:49,418.418 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:23:49,647.647 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:23:49,657.657 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:23:49,795.795 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:23:49,822.822 INFO    ] time= 29/08/2026 04:23:49
[2026-08-29 04:23:49,887.887 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:23:49,933.933 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:23:49,990.990 INFO    ] No existing commands found in stream
[2026-08-29 04:23:55,005.005 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:23:55,008.008 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-08-29 04:23:58,461.461 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:23:58,463.463 INFO    ] Checking for system updates...
[2026-08-29 04:23:58,484.484 INFO    ] 200
[2026-08-29 04:23:58,486.486 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:23:58,516.516 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:23:58,517.517 INFO    ] No update needed
[2026-08-29 04:23:58,518.518 INFO    ] Checking for camera pi updates...
[2026-08-29 04:23:58,539.539 INFO    ] 200
[2026-08-29 04:23:58,541.541 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:23:58,565.565 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:23:58,640.640 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:23:58,642.642 INFO    ] No camera update needed
[2026-08-29 04:23:58,643.643 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:23:58,645.645 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:23:58,648.648 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:23:58,651.651 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:24:00,691.691 INFO    ] ================================================
[2026-08-29 04:24:00,709.709 INFO    ] Launching Daemon at Sat Aug 29 04:24:00 IST 2026
[2026-08-29 04:24:00,720.720 INFO    ] ================================================
[2026-08-29 04:24:01,300.300 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:24:01
[2026-08-29 04:24:01,981.981 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:24:02,297.297 INFO    ] Initializing speech engine...
[2026-08-29 04:24:02,304.304 INFO    ] 2026-08-29 04:24:02
[2026-08-29 04:24:02,640.640 INFO    ] 2026-08-29 04:24:02
[2026-08-29 04:24:02,672.672 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:24:02,854.854 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:24:02,866.866 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:24:03,040.040 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:24:03,053.053 INFO    ] time= 29/08/2026 04:24:03
[2026-08-29 04:24:03,059.059 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:24:03,079.079 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:24:03,135.135 INFO    ] No existing commands found in stream
[2026-08-29 04:24:08,145.145 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:24:08,148.148 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-08-29 04:24:10,861.861 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:24:10,863.863 INFO    ] Checking for system updates...
[2026-08-29 04:24:10,883.883 INFO    ] 200
[2026-08-29 04:24:10,885.885 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:24:10,916.916 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:24:10,918.918 INFO    ] No update needed
[2026-08-29 04:24:10,919.919 INFO    ] Checking for camera pi updates...
[2026-08-29 04:24:10,938.938 INFO    ] 200
[2026-08-29 04:24:10,939.939 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:24:10,963.963 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:24:11,150.150 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:24:11,151.151 INFO    ] No camera update needed
[2026-08-29 04:24:11,153.153 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:24:11,154.154 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:24:11,157.157 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:24:11,160.160 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:24:13,200.200 INFO    ] ================================================
[2026-08-29 04:24:13,216.216 INFO    ] Launching Daemon at Sat Aug 29 04:24:13 IST 2026
[2026-08-29 04:24:13,227.227 INFO    ] ================================================
[2026-08-29 04:24:13,586.586 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:24:13
[2026-08-29 04:24:14,055.055 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:24:14,331.331 INFO    ] Initializing speech engine...
[2026-08-29 04:24:14,341.341 INFO    ] 2026-08-29 04:24:14
[2026-08-29 04:24:14,590.590 INFO    ] 2026-08-29 04:24:14
[2026-08-29 04:24:14,658.658 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:24:14,878.878 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:24:14,888.888 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:24:15,020.020 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:24:15,042.042 INFO    ] time= 29/08/2026 04:24:15
[2026-08-29 04:24:15,108.108 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:24:15,153.153 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:24:15,209.209 INFO    ] No existing commands found in stream
[2026-08-29 04:24:20,221.221 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:24:20,224.224 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-08-29 04:24:21,467.467 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:24:21,469.469 INFO    ] Checking for system updates...
[2026-08-29 04:24:21,497.497 INFO    ] 200
[2026-08-29 04:24:21,499.499 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:24:21,529.529 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:24:21,530.530 INFO    ] No update needed
[2026-08-29 04:24:21,531.531 INFO    ] Checking for camera pi updates...
[2026-08-29 04:24:21,553.553 INFO    ] 200
[2026-08-29 04:24:21,554.554 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:24:21,578.578 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:24:21,672.672 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:24:21,674.674 INFO    ] No camera update needed
[2026-08-29 04:24:21,675.675 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:24:21,676.676 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:24:21,679.679 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:24:21,682.682 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:24:23,722.722 INFO    ] ================================================
[2026-08-29 04:24:23,738.738 INFO    ] Launching Daemon at Sat Aug 29 04:24:23 IST 2026
[2026-08-29 04:24:23,749.749 INFO    ] ================================================
[2026-08-29 04:24:24,104.104 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:24:24
[2026-08-29 04:24:24,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:24:24,591.591 INFO    ] Initializing speech engine...
[2026-08-29 04:24:24,596.596 INFO    ] 2026-08-29 04:24:24
[2026-08-29 04:24:24,786.786 INFO    ] 2026-08-29 04:24:24
[2026-08-29 04:24:24,852.852 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:24:25,011.011 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:24:25,028.028 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:24:25,162.162 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:24:25,171.171 INFO    ] time= 29/08/2026 04:24:25
[2026-08-29 04:24:25,180.180 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:24:25,230.230 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:24:25,340.340 INFO    ] No existing commands found in stream
[2026-08-29 04:24:30,376.376 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:24:30,380.380 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-08-29 04:24:30,954.954 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:24:30,956.956 INFO    ] Checking for system updates...
[2026-08-29 04:24:30,976.976 INFO    ] 200
[2026-08-29 04:24:30,977.977 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:24:31,010.010 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:24:31,011.011 INFO    ] No update needed
[2026-08-29 04:24:31,013.013 INFO    ] Checking for camera pi updates...
[2026-08-29 04:24:31,032.032 INFO    ] 200
[2026-08-29 04:24:31,033.033 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:24:31,060.060 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:24:31,152.152 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:24:31,153.153 INFO    ] No camera update needed
[2026-08-29 04:24:31,154.154 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:24:31,156.156 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:24:31,158.158 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:24:31,161.161 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:24:33,195.195 INFO    ] ================================================
[2026-08-29 04:24:33,211.211 INFO    ] Launching Daemon at Sat Aug 29 04:24:33 IST 2026
[2026-08-29 04:24:33,221.221 INFO    ] ================================================
[2026-08-29 04:24:33,810.810 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:24:33
[2026-08-29 04:24:34,410.410 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:24:34,683.683 INFO    ] Initializing speech engine...
[2026-08-29 04:24:34,692.692 INFO    ] 2026-08-29 04:24:34
[2026-08-29 04:24:34,947.947 INFO    ] 2026-08-29 04:24:34
[2026-08-29 04:24:35,007.007 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:24:35,158.158 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:24:35,176.176 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:24:35,301.301 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:24:35,310.310 INFO    ] time= 29/08/2026 04:24:35
[2026-08-29 04:24:35,317.317 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:24:35,372.372 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:24:35,442.442 INFO    ] No existing commands found in stream
[2026-08-29 04:24:40,454.454 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:24:40,457.457 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-08-29 04:24:41,586.586 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:24:41,587.587 INFO    ] Checking for system updates...
[2026-08-29 04:24:41,608.608 INFO    ] 200
[2026-08-29 04:24:41,609.609 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:24:41,644.644 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:24:41,645.645 INFO    ] No update needed
[2026-08-29 04:24:41,647.647 INFO    ] Checking for camera pi updates...
[2026-08-29 04:24:41,667.667 INFO    ] 200
[2026-08-29 04:24:41,668.668 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:24:41,693.693 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:24:41,792.792 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:24:41,794.794 INFO    ] No camera update needed
[2026-08-29 04:24:41,795.795 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:24:41,796.796 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:24:41,799.799 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:24:41,802.802 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:24:43,842.842 INFO    ] ================================================
[2026-08-29 04:24:43,858.858 INFO    ] Launching Daemon at Sat Aug 29 04:24:43 IST 2026
[2026-08-29 04:24:43,868.868 INFO    ] ================================================
[2026-08-29 04:24:44,197.197 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:24:44
[2026-08-29 04:24:44,513.513 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:24:44,657.657 INFO    ] Initializing speech engine...
[2026-08-29 04:24:44,662.662 INFO    ] 2026-08-29 04:24:44
[2026-08-29 04:24:44,865.865 INFO    ] 2026-08-29 04:24:44
[2026-08-29 04:24:44,894.894 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:24:45,016.016 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:24:45,078.078 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:24:45,213.213 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:24:45,270.270 INFO    ] time= 29/08/2026 04:24:45
[2026-08-29 04:24:45,288.288 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:24:45,309.309 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:24:45,379.379 INFO    ] No existing commands found in stream
[2026-08-29 04:24:50,390.390 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:24:50,393.393 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-08-29 04:24:51,263.263 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:24:51,264.264 INFO    ] Checking for system updates...
[2026-08-29 04:24:51,285.285 INFO    ] 200
[2026-08-29 04:24:51,287.287 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:24:51,317.317 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:24:51,318.318 INFO    ] No update needed
[2026-08-29 04:24:51,319.319 INFO    ] Checking for camera pi updates...
[2026-08-29 04:24:51,340.340 INFO    ] 200
[2026-08-29 04:24:51,341.341 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:24:51,367.367 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:24:51,444.444 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:24:51,445.445 INFO    ] No camera update needed
[2026-08-29 04:24:51,447.447 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:24:51,448.448 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:24:51,451.451 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:24:51,454.454 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:24:53,493.493 INFO    ] ================================================
[2026-08-29 04:24:53,509.509 INFO    ] Launching Daemon at Sat Aug 29 04:24:53 IST 2026
[2026-08-29 04:24:53,520.520 INFO    ] ================================================
[2026-08-29 04:24:53,883.883 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:24:53
[2026-08-29 04:24:54,195.195 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:24:54,328.328 INFO    ] Initializing speech engine...
[2026-08-29 04:24:54,340.340 INFO    ] 2026-08-29 04:24:54
[2026-08-29 04:24:54,548.548 INFO    ] 2026-08-29 04:24:54
[2026-08-29 04:24:54,578.578 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:24:54,705.705 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:24:54,711.711 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:24:54,873.873 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:24:54,915.915 INFO    ] time= 29/08/2026 04:24:54
[2026-08-29 04:24:54,921.921 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:24:54,939.939 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:24:55,057.057 INFO    ] No existing commands found in stream
[2026-08-29 04:25:00,082.082 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:25:00,085.085 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-08-29 04:25:05,028.028 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:25:05,029.029 INFO    ] Checking for system updates...
[2026-08-29 04:25:05,049.049 INFO    ] 200
[2026-08-29 04:25:05,051.051 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:25:05,083.083 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:25:05,084.084 INFO    ] No update needed
[2026-08-29 04:25:05,085.085 INFO    ] Checking for camera pi updates...
[2026-08-29 04:25:05,105.105 INFO    ] 200
[2026-08-29 04:25:05,106.106 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:25:05,144.144 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:25:05,277.277 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:25:05,279.279 INFO    ] No camera update needed
[2026-08-29 04:25:05,282.282 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:25:05,284.284 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:25:05,289.289 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:25:05,294.294 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:25:07,336.336 INFO    ] ================================================
[2026-08-29 04:25:07,352.352 INFO    ] Launching Daemon at Sat Aug 29 04:25:07 IST 2026
[2026-08-29 04:25:07,363.363 INFO    ] ================================================
[2026-08-29 04:25:07,937.937 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:25:07
[2026-08-29 04:25:08,394.394 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:25:08,526.526 INFO    ] Initializing speech engine...
[2026-08-29 04:25:08,534.534 INFO    ] 2026-08-29 04:25:08
[2026-08-29 04:25:08,734.734 INFO    ] 2026-08-29 04:25:08
[2026-08-29 04:25:08,771.771 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:25:08,995.995 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:25:09,005.005 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:25:09,143.143 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:25:09,188.188 INFO    ] time= 29/08/2026 04:25:09
[2026-08-29 04:25:09,242.242 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:25:09,278.278 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:25:09,333.333 INFO    ] No existing commands found in stream
[2026-08-29 04:25:14,345.345 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:25:14,347.347 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-08-29 04:25:14,770.770 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:25:14,771.771 INFO    ] Checking for system updates...
[2026-08-29 04:25:14,793.793 INFO    ] 200
[2026-08-29 04:25:14,794.794 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:25:14,824.824 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:25:14,825.825 INFO    ] No update needed
[2026-08-29 04:25:14,827.827 INFO    ] Checking for camera pi updates...
[2026-08-29 04:25:14,846.846 INFO    ] 200
[2026-08-29 04:25:14,847.847 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:25:14,870.870 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:25:14,976.976 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:25:14,977.977 INFO    ] No camera update needed
[2026-08-29 04:25:14,978.978 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:25:14,979.979 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:25:14,982.982 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:25:14,985.985 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:25:17,027.027 INFO    ] ================================================
[2026-08-29 04:25:17,043.043 INFO    ] Launching Daemon at Sat Aug 29 04:25:17 IST 2026
[2026-08-29 04:25:17,054.054 INFO    ] ================================================
[2026-08-29 04:25:17,401.401 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:25:17
[2026-08-29 04:25:17,728.728 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:25:17,866.866 INFO    ] Initializing speech engine...
[2026-08-29 04:25:17,874.874 INFO    ] 2026-08-29 04:25:17
[2026-08-29 04:25:18,082.082 INFO    ] 2026-08-29 04:25:18
[2026-08-29 04:25:18,111.111 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:25:18,244.244 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:25:18,298.298 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:25:18,427.427 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:25:18,436.436 INFO    ] time= 29/08/2026 04:25:18
[2026-08-29 04:25:18,446.446 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:25:18,500.500 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:25:18,614.614 INFO    ] No existing commands found in stream
[2026-08-29 04:25:23,639.639 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:25:23,642.642 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-08-29 04:25:25,776.776 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:25:25,779.779 INFO    ] Checking for system updates...
[2026-08-29 04:25:25,815.815 INFO    ] 200
[2026-08-29 04:25:25,817.817 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:25:25,870.870 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:25:25,872.872 INFO    ] No update needed
[2026-08-29 04:25:25,875.875 INFO    ] Checking for camera pi updates...
[2026-08-29 04:25:25,912.912 INFO    ] 200
[2026-08-29 04:25:25,914.914 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:25:25,960.960 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:25:26,063.063 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:25:26,066.066 INFO    ] No camera update needed
[2026-08-29 04:25:26,069.069 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:25:26,071.071 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:25:26,076.076 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:25:26,081.081 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:25:28,121.121 INFO    ] ================================================
[2026-08-29 04:25:28,137.137 INFO    ] Launching Daemon at Sat Aug 29 04:25:28 IST 2026
[2026-08-29 04:25:28,148.148 INFO    ] ================================================
[2026-08-29 04:25:28,636.636 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:25:28
[2026-08-29 04:25:29,221.221 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:25:29,490.490 INFO    ] Initializing speech engine...
[2026-08-29 04:25:29,499.499 INFO    ] 2026-08-29 04:25:29
[2026-08-29 04:25:29,752.752 INFO    ] 2026-08-29 04:25:29
[2026-08-29 04:25:29,812.812 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:25:29,953.953 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:25:29,965.965 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:25:30,105.105 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:25:30,113.113 INFO    ] time= 29/08/2026 04:25:30
[2026-08-29 04:25:30,120.120 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:25:30,140.140 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:25:30,275.275 INFO    ] No existing commands found in stream
[2026-08-29 04:25:35,300.300 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:25:35,303.303 INFO    ] Waiting 1.53 seconds before fallback handling...
[2026-08-29 04:25:37,199.199 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:25:37,200.200 INFO    ] Checking for system updates...
[2026-08-29 04:25:37,224.224 INFO    ] 200
[2026-08-29 04:25:37,226.226 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:25:37,258.258 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:25:37,259.259 INFO    ] No update needed
[2026-08-29 04:25:37,260.260 INFO    ] Checking for camera pi updates...
[2026-08-29 04:25:37,281.281 INFO    ] 200
[2026-08-29 04:25:37,282.282 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:25:37,305.305 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:25:37,408.408 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:25:37,409.409 INFO    ] No camera update needed
[2026-08-29 04:25:37,410.410 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:25:37,412.412 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:25:37,415.415 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:25:37,418.418 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:25:39,456.456 INFO    ] ================================================
[2026-08-29 04:25:39,471.471 INFO    ] Launching Daemon at Sat Aug 29 04:25:39 IST 2026
[2026-08-29 04:25:39,482.482 INFO    ] ================================================
[2026-08-29 04:25:39,861.861 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:25:39
[2026-08-29 04:25:40,172.172 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:25:40,400.400 INFO    ] Initializing speech engine...
[2026-08-29 04:25:40,409.409 INFO    ] 2026-08-29 04:25:40
[2026-08-29 04:25:40,655.655 INFO    ] 2026-08-29 04:25:40
[2026-08-29 04:25:40,690.690 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:25:40,862.862 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:25:40,873.873 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:25:41,013.013 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:25:41,022.022 INFO    ] time= 29/08/2026 04:25:41
[2026-08-29 04:25:41,030.030 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:25:41,075.075 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:25:41,193.193 INFO    ] No existing commands found in stream
[2026-08-29 04:25:46,223.223 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:25:46,226.226 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-08-29 04:25:49,888.888 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:25:49,889.889 INFO    ] Checking for system updates...
[2026-08-29 04:25:49,910.910 INFO    ] 200
[2026-08-29 04:25:49,911.911 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:25:49,944.944 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:25:49,945.945 INFO    ] No update needed
[2026-08-29 04:25:49,946.946 INFO    ] Checking for camera pi updates...
[2026-08-29 04:25:49,966.966 INFO    ] 200
[2026-08-29 04:25:49,968.968 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:25:49,992.992 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:25:50,067.067 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:25:50,069.069 INFO    ] No camera update needed
[2026-08-29 04:25:50,070.070 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:25:50,071.071 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:25:50,074.074 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:25:50,077.077 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:25:52,117.117 INFO    ] ================================================
[2026-08-29 04:25:52,132.132 INFO    ] Launching Daemon at Sat Aug 29 04:25:52 IST 2026
[2026-08-29 04:25:52,144.144 INFO    ] ================================================
[2026-08-29 04:25:52,477.477 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:25:52
[2026-08-29 04:25:52,794.794 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:25:52,938.938 INFO    ] Initializing speech engine...
[2026-08-29 04:25:52,944.944 INFO    ] 2026-08-29 04:25:52
[2026-08-29 04:25:53,149.149 INFO    ] 2026-08-29 04:25:53
[2026-08-29 04:25:53,177.177 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:25:53,300.300 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:25:53,362.362 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:25:53,493.493 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:25:53,549.549 INFO    ] time= 29/08/2026 04:25:53
[2026-08-29 04:25:53,591.591 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:25:53,593.593 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:25:53,666.666 INFO    ] No existing commands found in stream
[2026-08-29 04:25:58,675.675 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:25:58,678.678 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-08-29 04:25:59,301.301 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:25:59,302.302 INFO    ] Checking for system updates...
[2026-08-29 04:25:59,323.323 INFO    ] 200
[2026-08-29 04:25:59,324.324 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:25:59,356.356 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:25:59,357.357 INFO    ] No update needed
[2026-08-29 04:25:59,358.358 INFO    ] Checking for camera pi updates...
[2026-08-29 04:25:59,379.379 INFO    ] 200
[2026-08-29 04:25:59,380.380 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:25:59,403.403 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:25:59,484.484 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:25:59,485.485 INFO    ] No camera update needed
[2026-08-29 04:25:59,486.486 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:25:59,487.487 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:25:59,490.490 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:25:59,493.493 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:26:01,538.538 INFO    ] ================================================
[2026-08-29 04:26:01,568.568 INFO    ] Launching Daemon at Sat Aug 29 04:26:01 IST 2026
[2026-08-29 04:26:01,589.589 INFO    ] ================================================
[2026-08-29 04:26:02,299.299 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:26:02
[2026-08-29 04:26:03,079.079 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:26:03,392.392 INFO    ] Initializing speech engine...
[2026-08-29 04:26:03,406.406 INFO    ] 2026-08-29 04:26:03
[2026-08-29 04:26:03,678.678 INFO    ] 2026-08-29 04:26:03
[2026-08-29 04:26:03,732.732 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:26:03,955.955 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:26:03,964.964 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:26:04,097.097 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:26:04,151.151 INFO    ] time= 29/08/2026 04:26:04
[2026-08-29 04:26:04,216.216 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:26:04,235.235 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:26:04,352.352 INFO    ] No existing commands found in stream
[2026-08-29 04:26:09,378.378 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:26:09,381.381 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-08-29 04:26:12,634.634 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:26:12,636.636 INFO    ] Checking for system updates...
[2026-08-29 04:26:12,657.657 INFO    ] 200
[2026-08-29 04:26:12,658.658 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:26:12,689.689 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:26:12,690.690 INFO    ] No update needed
[2026-08-29 04:26:12,691.691 INFO    ] Checking for camera pi updates...
[2026-08-29 04:26:12,711.711 INFO    ] 200
[2026-08-29 04:26:12,713.713 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:26:12,738.738 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:26:12,815.815 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:26:12,816.816 INFO    ] No camera update needed
[2026-08-29 04:26:12,818.818 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:26:12,819.819 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:26:12,822.822 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:26:12,825.825 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:26:14,865.865 INFO    ] ================================================
[2026-08-29 04:26:14,881.881 INFO    ] Launching Daemon at Sat Aug 29 04:26:14 IST 2026
[2026-08-29 04:26:14,893.893 INFO    ] ================================================
[2026-08-29 04:26:15,271.271 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:26:15
[2026-08-29 04:26:15,608.608 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:26:15,749.749 INFO    ] Initializing speech engine...
[2026-08-29 04:26:15,761.761 INFO    ] 2026-08-29 04:26:15
[2026-08-29 04:26:15,973.973 INFO    ] 2026-08-29 04:26:15
[2026-08-29 04:26:16,002.002 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:26:16,134.134 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:26:16,187.187 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:26:16,325.325 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:26:16,389.389 INFO    ] time= 29/08/2026 04:26:16
[2026-08-29 04:26:16,416.416 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:26:16,423.423 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:26:16,489.489 INFO    ] No existing commands found in stream
[2026-08-29 04:26:21,500.500 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:26:21,503.503 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-08-29 04:26:23,605.605 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:26:23,607.607 INFO    ] Checking for system updates...
[2026-08-29 04:26:23,629.629 INFO    ] 200
[2026-08-29 04:26:23,630.630 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:26:23,665.665 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:26:23,666.666 INFO    ] No update needed
[2026-08-29 04:26:23,668.668 INFO    ] Checking for camera pi updates...
[2026-08-29 04:26:23,690.690 INFO    ] 200
[2026-08-29 04:26:23,692.692 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:26:23,716.716 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:26:23,923.923 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:26:23,925.925 INFO    ] No camera update needed
[2026-08-29 04:26:23,926.926 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:26:23,928.928 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:26:23,931.931 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:26:23,934.934 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:26:25,974.974 INFO    ] ================================================
[2026-08-29 04:26:25,990.990 INFO    ] Launching Daemon at Sat Aug 29 04:26:25 IST 2026
[2026-08-29 04:26:26,001.001 INFO    ] ================================================
[2026-08-29 04:26:26,588.588 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:26:26
[2026-08-29 04:26:27,255.255 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:26:27,559.559 INFO    ] Initializing speech engine...
[2026-08-29 04:26:27,566.566 INFO    ] 2026-08-29 04:26:27
[2026-08-29 04:26:27,887.887 INFO    ] 2026-08-29 04:26:27
[2026-08-29 04:26:27,969.969 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:26:28,119.119 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:26:28,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:26:28,261.261 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:26:28,304.304 INFO    ] time= 29/08/2026 04:26:28
[2026-08-29 04:26:28,364.364 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:26:28,399.399 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:26:28,456.456 INFO    ] No existing commands found in stream
[2026-08-29 04:26:33,478.478 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:26:33,481.481 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-08-29 04:26:36,672.672 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:26:36,674.674 INFO    ] Checking for system updates...
[2026-08-29 04:26:36,696.696 INFO    ] 200
[2026-08-29 04:26:36,697.697 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:26:36,732.732 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:26:36,733.733 INFO    ] No update needed
[2026-08-29 04:26:36,735.735 INFO    ] Checking for camera pi updates...
[2026-08-29 04:26:36,757.757 INFO    ] 200
[2026-08-29 04:26:36,758.758 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:26:36,783.783 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:26:36,875.875 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:26:36,876.876 INFO    ] No camera update needed
[2026-08-29 04:26:36,878.878 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:26:36,879.879 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:26:36,882.882 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:26:36,885.885 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:26:38,924.924 INFO    ] ================================================
[2026-08-29 04:26:38,940.940 INFO    ] Launching Daemon at Sat Aug 29 04:26:38 IST 2026
[2026-08-29 04:26:38,951.951 INFO    ] ================================================
[2026-08-29 04:26:39,323.323 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:26:39
[2026-08-29 04:26:39,635.635 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:26:39,773.773 INFO    ] Initializing speech engine...
[2026-08-29 04:26:39,783.783 INFO    ] 2026-08-29 04:26:39
[2026-08-29 04:26:40,005.005 INFO    ] 2026-08-29 04:26:39
[2026-08-29 04:26:40,046.046 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:26:40,224.224 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:26:40,241.241 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:26:40,373.373 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:26:40,380.380 INFO    ] time= 29/08/2026 04:26:40
[2026-08-29 04:26:40,387.387 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:26:40,413.413 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:26:40,532.532 INFO    ] No existing commands found in stream
[2026-08-29 04:26:45,557.557 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:26:45,559.559 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-08-29 04:26:49,430.430 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:26:49,431.431 INFO    ] Checking for system updates...
[2026-08-29 04:26:49,452.452 INFO    ] 200
[2026-08-29 04:26:49,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:26:49,483.483 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:26:49,484.484 INFO    ] No update needed
[2026-08-29 04:26:49,486.486 INFO    ] Checking for camera pi updates...
[2026-08-29 04:26:49,505.505 INFO    ] 200
[2026-08-29 04:26:49,506.506 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:26:49,529.529 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:26:49,631.631 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:26:49,633.633 INFO    ] No camera update needed
[2026-08-29 04:26:49,636.636 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:26:49,638.638 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:26:49,643.643 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:26:49,648.648 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:26:51,692.692 INFO    ] ================================================
[2026-08-29 04:26:51,707.707 INFO    ] Launching Daemon at Sat Aug 29 04:26:51 IST 2026
[2026-08-29 04:26:51,719.719 INFO    ] ================================================
[2026-08-29 04:26:52,301.301 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:26:52
[2026-08-29 04:26:52,774.774 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:26:52,918.918 INFO    ] Initializing speech engine...
[2026-08-29 04:26:52,925.925 INFO    ] 2026-08-29 04:26:52
[2026-08-29 04:26:53,134.134 INFO    ] 2026-08-29 04:26:53
[2026-08-29 04:26:53,217.217 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:26:53,370.370 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:26:53,376.376 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:26:53,506.506 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:26:53,548.548 INFO    ] time= 29/08/2026 04:26:53
[2026-08-29 04:26:53,592.592 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:26:53,638.638 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:26:53,690.690 INFO    ] No existing commands found in stream
[2026-08-29 04:26:58,701.701 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:26:58,704.704 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-08-29 04:27:01,735.735 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:27:01,739.739 INFO    ] Checking for system updates...
[2026-08-29 04:27:01,785.785 INFO    ] 200
[2026-08-29 04:27:01,789.789 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:27:01,854.854 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:27:01,857.857 INFO    ] No update needed
[2026-08-29 04:27:01,861.861 INFO    ] Checking for camera pi updates...
[2026-08-29 04:27:01,906.906 INFO    ] 200
[2026-08-29 04:27:01,910.910 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:27:01,963.963 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:27:02,054.054 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:27:02,057.057 INFO    ] No camera update needed
[2026-08-29 04:27:02,060.060 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:27:02,063.063 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:27:02,070.070 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:27:02,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:27:04,119.119 INFO    ] ================================================
[2026-08-29 04:27:04,135.135 INFO    ] Launching Daemon at Sat Aug 29 04:27:04 IST 2026
[2026-08-29 04:27:04,146.146 INFO    ] ================================================
[2026-08-29 04:27:04,583.583 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:27:04
[2026-08-29 04:27:04,896.896 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:27:05,040.040 INFO    ] Initializing speech engine...
[2026-08-29 04:27:05,045.045 INFO    ] 2026-08-29 04:27:05
[2026-08-29 04:27:05,249.249 INFO    ] 2026-08-29 04:27:05
[2026-08-29 04:27:05,278.278 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:27:05,400.400 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:27:05,464.464 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:27:05,599.599 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:27:05,668.668 INFO    ] time= 29/08/2026 04:27:05
[2026-08-29 04:27:05,693.693 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:27:05,699.699 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:27:05,765.765 INFO    ] No existing commands found in stream
[2026-08-29 04:27:10,775.775 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:27:10,778.778 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-08-29 04:27:13,196.196 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:27:13,197.197 INFO    ] Checking for system updates...
[2026-08-29 04:27:13,219.219 INFO    ] 200
[2026-08-29 04:27:13,220.220 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:27:13,250.250 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:27:13,251.251 INFO    ] No update needed
[2026-08-29 04:27:13,253.253 INFO    ] Checking for camera pi updates...
[2026-08-29 04:27:13,273.273 INFO    ] 200
[2026-08-29 04:27:13,274.274 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:27:13,298.298 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:27:13,418.418 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:27:13,419.419 INFO    ] No camera update needed
[2026-08-29 04:27:13,420.420 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:27:13,421.421 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:27:13,424.424 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:27:13,427.427 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:27:15,466.466 INFO    ] ================================================
[2026-08-29 04:27:15,481.481 INFO    ] Launching Daemon at Sat Aug 29 04:27:15 IST 2026
[2026-08-29 04:27:15,492.492 INFO    ] ================================================
[2026-08-29 04:27:15,871.871 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:27:15
[2026-08-29 04:27:16,206.206 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:27:16,356.356 INFO    ] Initializing speech engine...
[2026-08-29 04:27:16,362.362 INFO    ] 2026-08-29 04:27:16
[2026-08-29 04:27:16,571.571 INFO    ] 2026-08-29 04:27:16
[2026-08-29 04:27:16,601.601 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:27:16,725.725 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:27:16,787.787 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:27:16,927.927 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:27:16,995.995 INFO    ] time= 29/08/2026 04:27:16
[2026-08-29 04:27:17,019.019 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:27:17,026.026 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:27:17,093.093 INFO    ] No existing commands found in stream
[2026-08-29 04:27:22,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:27:22,107.107 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-08-29 04:27:24,614.614 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:27:24,616.616 INFO    ] Checking for system updates...
[2026-08-29 04:27:24,637.637 INFO    ] 200
[2026-08-29 04:27:24,638.638 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:27:24,670.670 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:27:24,672.672 INFO    ] No update needed
[2026-08-29 04:27:24,673.673 INFO    ] Checking for camera pi updates...
[2026-08-29 04:27:24,693.693 INFO    ] 200
[2026-08-29 04:27:24,694.694 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:27:24,718.718 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:27:24,807.807 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:27:24,808.808 INFO    ] No camera update needed
[2026-08-29 04:27:24,809.809 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:27:24,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:27:24,814.814 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:27:24,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:27:26,854.854 INFO    ] ================================================
[2026-08-29 04:27:26,869.869 INFO    ] Launching Daemon at Sat Aug 29 04:27:26 IST 2026
[2026-08-29 04:27:26,880.880 INFO    ] ================================================
[2026-08-29 04:27:27,227.227 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:27:27
[2026-08-29 04:27:27,551.551 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:27:27,689.689 INFO    ] Initializing speech engine...
[2026-08-29 04:27:27,702.702 INFO    ] 2026-08-29 04:27:27
[2026-08-29 04:27:27,921.921 INFO    ] 2026-08-29 04:27:27
[2026-08-29 04:27:27,952.952 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:27:28,083.083 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:27:28,116.116 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:27:28,265.265 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:27:28,301.301 INFO    ] time= 29/08/2026 04:27:28
[2026-08-29 04:27:28,365.365 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:27:28,398.398 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:27:28,474.474 INFO    ] No existing commands found in stream
[2026-08-29 04:27:33,485.485 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:27:33,488.488 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-08-29 04:27:35,546.546 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:27:35,547.547 INFO    ] Checking for system updates...
[2026-08-29 04:27:35,569.569 INFO    ] 200
[2026-08-29 04:27:35,570.570 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:27:35,600.600 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:27:35,602.602 INFO    ] No update needed
[2026-08-29 04:27:35,603.603 INFO    ] Checking for camera pi updates...
[2026-08-29 04:27:35,623.623 INFO    ] 200
[2026-08-29 04:27:35,624.624 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:27:35,647.647 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:27:35,720.720 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:27:35,722.722 INFO    ] No camera update needed
[2026-08-29 04:27:35,723.723 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:27:35,724.724 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:27:35,727.727 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:27:35,730.730 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:27:37,768.768 INFO    ] ================================================
[2026-08-29 04:27:37,784.784 INFO    ] Launching Daemon at Sat Aug 29 04:27:37 IST 2026
[2026-08-29 04:27:37,794.794 INFO    ] ================================================
[2026-08-29 04:27:38,179.179 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:27:38
[2026-08-29 04:27:38,513.513 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:27:38,651.651 INFO    ] Initializing speech engine...
[2026-08-29 04:27:38,655.655 INFO    ] 2026-08-29 04:27:38
[2026-08-29 04:27:38,877.877 INFO    ] 2026-08-29 04:27:38
[2026-08-29 04:27:38,906.906 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:27:39,032.032 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:27:39,095.095 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:27:39,228.228 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:27:39,284.284 INFO    ] time= 29/08/2026 04:27:39
[2026-08-29 04:27:39,324.324 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:27:39,330.330 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:27:39,403.403 INFO    ] No existing commands found in stream
[2026-08-29 04:27:44,412.412 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:27:44,415.415 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 04:27:45,603.603 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:27:45,605.605 INFO    ] Checking for system updates...
[2026-08-29 04:27:45,626.626 INFO    ] 200
[2026-08-29 04:27:45,628.628 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:27:45,663.663 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:27:45,664.664 INFO    ] No update needed
[2026-08-29 04:27:45,665.665 INFO    ] Checking for camera pi updates...
[2026-08-29 04:27:45,687.687 INFO    ] 200
[2026-08-29 04:27:45,689.689 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:27:45,714.714 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:27:45,799.799 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:27:45,800.800 INFO    ] No camera update needed
[2026-08-29 04:27:45,801.801 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:27:45,803.803 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:27:45,806.806 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:27:45,809.809 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:27:47,847.847 INFO    ] ================================================
[2026-08-29 04:27:47,863.863 INFO    ] Launching Daemon at Sat Aug 29 04:27:47 IST 2026
[2026-08-29 04:27:47,873.873 INFO    ] ================================================
[2026-08-29 04:27:48,235.235 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:27:48
[2026-08-29 04:27:48,570.570 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:27:48,720.720 INFO    ] Initializing speech engine...
[2026-08-29 04:27:48,725.725 INFO    ] 2026-08-29 04:27:48
[2026-08-29 04:27:48,935.935 INFO    ] 2026-08-29 04:27:48
[2026-08-29 04:27:48,964.964 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:27:49,088.088 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:27:49,152.152 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:27:49,296.296 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:27:49,351.351 INFO    ] time= 29/08/2026 04:27:49
[2026-08-29 04:27:49,385.385 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:27:49,455.455 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:27:49,557.557 INFO    ] No existing commands found in stream
[2026-08-29 04:27:54,584.584 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:27:54,587.587 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-08-29 04:27:56,866.866 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:27:56,867.867 INFO    ] Checking for system updates...
[2026-08-29 04:27:56,889.889 INFO    ] 200
[2026-08-29 04:27:56,890.890 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:27:56,922.922 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:27:56,924.924 INFO    ] No update needed
[2026-08-29 04:27:56,925.925 INFO    ] Checking for camera pi updates...
[2026-08-29 04:27:56,945.945 INFO    ] 200
[2026-08-29 04:27:56,946.946 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:27:56,969.969 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:27:57,069.069 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:27:57,070.070 INFO    ] No camera update needed
[2026-08-29 04:27:57,072.072 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:27:57,073.073 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:27:57,076.076 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:27:57,079.079 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:27:59,118.118 INFO    ] ================================================
[2026-08-29 04:27:59,134.134 INFO    ] Launching Daemon at Sat Aug 29 04:27:59 IST 2026
[2026-08-29 04:27:59,145.145 INFO    ] ================================================
[2026-08-29 04:27:59,658.658 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:27:59
[2026-08-29 04:28:00,255.255 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:28:00,529.529 INFO    ] Initializing speech engine...
[2026-08-29 04:28:00,550.550 INFO    ] 2026-08-29 04:28:00
[2026-08-29 04:28:00,816.816 INFO    ] 2026-08-29 04:28:00
[2026-08-29 04:28:00,852.852 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:28:01,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:28:01,073.073 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:28:01,287.287 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:28:01,291.291 INFO    ] time= 29/08/2026 04:28:01
[2026-08-29 04:28:01,294.294 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:28:01,298.298 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:28:01,346.346 INFO    ] No existing commands found in stream
[2026-08-29 04:28:06,356.356 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:28:06,358.358 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-08-29 04:28:07,901.901 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:28:07,903.903 INFO    ] Checking for system updates...
[2026-08-29 04:28:07,924.924 INFO    ] 200
[2026-08-29 04:28:07,925.925 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:28:07,955.955 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:28:07,956.956 INFO    ] No update needed
[2026-08-29 04:28:07,958.958 INFO    ] Checking for camera pi updates...
[2026-08-29 04:28:07,977.977 INFO    ] 200
[2026-08-29 04:28:07,978.978 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:28:08,004.004 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:28:08,102.102 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:28:08,104.104 INFO    ] No camera update needed
[2026-08-29 04:28:08,105.105 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:28:08,106.106 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:28:08,109.109 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:28:08,112.112 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:28:10,152.152 INFO    ] ================================================
[2026-08-29 04:28:10,167.167 INFO    ] Launching Daemon at Sat Aug 29 04:28:10 IST 2026
[2026-08-29 04:28:10,178.178 INFO    ] ================================================
[2026-08-29 04:28:10,510.510 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:28:10
[2026-08-29 04:28:10,826.826 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:28:10,970.970 INFO    ] Initializing speech engine...
[2026-08-29 04:28:10,975.975 INFO    ] 2026-08-29 04:28:10
[2026-08-29 04:28:11,181.181 INFO    ] 2026-08-29 04:28:11
[2026-08-29 04:28:11,210.210 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:28:11,382.382 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:28:11,396.396 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:28:11,525.525 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:28:11,580.580 INFO    ] time= 29/08/2026 04:28:11
[2026-08-29 04:28:11,615.615 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:28:11,625.625 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:28:11,697.697 INFO    ] No existing commands found in stream
[2026-08-29 04:28:16,711.711 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:28:16,714.714 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 04:28:20,162.162 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:28:20,164.164 INFO    ] Checking for system updates...
[2026-08-29 04:28:20,185.185 INFO    ] 200
[2026-08-29 04:28:20,186.186 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:28:20,216.216 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:28:20,218.218 INFO    ] No update needed
[2026-08-29 04:28:20,219.219 INFO    ] Checking for camera pi updates...
[2026-08-29 04:28:20,240.240 INFO    ] 200
[2026-08-29 04:28:20,241.241 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:28:20,265.265 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:28:20,349.349 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:28:20,350.350 INFO    ] No camera update needed
[2026-08-29 04:28:20,351.351 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:28:20,353.353 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:28:20,356.356 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:28:20,358.358 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:28:22,398.398 INFO    ] ================================================
[2026-08-29 04:28:22,419.419 INFO    ] Launching Daemon at Sat Aug 29 04:28:22 IST 2026
[2026-08-29 04:28:22,431.431 INFO    ] ================================================
[2026-08-29 04:28:22,806.806 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:28:22
[2026-08-29 04:28:23,122.122 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:28:23,267.267 INFO    ] Initializing speech engine...
[2026-08-29 04:28:23,271.271 INFO    ] 2026-08-29 04:28:23
[2026-08-29 04:28:23,508.508 INFO    ] 2026-08-29 04:28:23
[2026-08-29 04:28:23,543.543 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:28:23,716.716 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:28:23,739.739 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:28:23,869.869 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:28:23,878.878 INFO    ] time= 29/08/2026 04:28:23
[2026-08-29 04:28:23,884.884 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:28:23,942.942 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:28:24,065.065 INFO    ] No existing commands found in stream
[2026-08-29 04:28:29,086.086 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:28:29,089.089 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-08-29 04:28:30,295.295 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:28:30,297.297 INFO    ] Checking for system updates...
[2026-08-29 04:28:30,317.317 INFO    ] 200
[2026-08-29 04:28:30,318.318 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:28:30,350.350 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:28:30,352.352 INFO    ] No update needed
[2026-08-29 04:28:30,353.353 INFO    ] Checking for camera pi updates...
[2026-08-29 04:28:30,372.372 INFO    ] 200
[2026-08-29 04:28:30,374.374 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:28:30,396.396 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:28:30,588.588 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:28:30,590.590 INFO    ] No camera update needed
[2026-08-29 04:28:30,591.591 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:28:30,592.592 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:28:30,595.595 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:28:30,598.598 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:28:32,630.630 INFO    ] ================================================
[2026-08-29 04:28:32,646.646 INFO    ] Launching Daemon at Sat Aug 29 04:28:32 IST 2026
[2026-08-29 04:28:32,657.657 INFO    ] ================================================
[2026-08-29 04:28:33,241.241 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:28:33
[2026-08-29 04:28:33,843.843 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:28:34,121.121 INFO    ] Initializing speech engine...
[2026-08-29 04:28:34,126.126 INFO    ] 2026-08-29 04:28:34
[2026-08-29 04:28:34,390.390 INFO    ] 2026-08-29 04:28:34
[2026-08-29 04:28:34,420.420 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:28:34,608.608 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:28:34,615.615 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:28:34,740.740 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:28:34,749.749 INFO    ] time= 29/08/2026 04:28:34
[2026-08-29 04:28:34,755.755 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:28:34,795.795 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:28:34,871.871 INFO    ] No existing commands found in stream
[2026-08-29 04:28:39,880.880 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:28:39,883.883 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-08-29 04:28:43,760.760 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:28:43,762.762 INFO    ] Checking for system updates...
[2026-08-29 04:28:43,783.783 INFO    ] 200
[2026-08-29 04:28:43,785.785 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:28:43,816.816 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:28:43,818.818 INFO    ] No update needed
[2026-08-29 04:28:43,819.819 INFO    ] Checking for camera pi updates...
[2026-08-29 04:28:43,838.838 INFO    ] 200
[2026-08-29 04:28:43,839.839 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:28:43,863.863 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:28:43,958.958 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:28:43,959.959 INFO    ] No camera update needed
[2026-08-29 04:28:43,961.961 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:28:43,962.962 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:28:43,965.965 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:28:43,968.968 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:28:46,006.006 INFO    ] ================================================
[2026-08-29 04:28:46,022.022 INFO    ] Launching Daemon at Sat Aug 29 04:28:46 IST 2026
[2026-08-29 04:28:46,033.033 INFO    ] ================================================
[2026-08-29 04:28:46,367.367 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:28:46
[2026-08-29 04:28:46,680.680 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:28:46,817.817 INFO    ] Initializing speech engine...
[2026-08-29 04:28:46,826.826 INFO    ] 2026-08-29 04:28:46
[2026-08-29 04:28:47,071.071 INFO    ] 2026-08-29 04:28:47
[2026-08-29 04:28:47,125.125 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:28:47,288.288 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:28:47,296.296 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:28:47,447.447 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:28:47,493.493 INFO    ] time= 29/08/2026 04:28:47
[2026-08-29 04:28:47,500.500 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:28:47,517.517 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:28:47,619.619 INFO    ] No existing commands found in stream
[2026-08-29 04:28:52,650.650 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:28:52,653.653 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-08-29 04:28:56,741.741 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:28:56,743.743 INFO    ] Checking for system updates...
[2026-08-29 04:28:56,763.763 INFO    ] 200
[2026-08-29 04:28:56,764.764 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:28:56,796.796 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:28:56,798.798 INFO    ] No update needed
[2026-08-29 04:28:56,799.799 INFO    ] Checking for camera pi updates...
[2026-08-29 04:28:56,818.818 INFO    ] 200
[2026-08-29 04:28:56,819.819 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:28:56,843.843 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:28:56,929.929 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:28:56,930.930 INFO    ] No camera update needed
[2026-08-29 04:28:56,931.931 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:28:56,933.933 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:28:56,935.935 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:28:56,938.938 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:28:58,977.977 INFO    ] ================================================
[2026-08-29 04:28:58,993.993 INFO    ] Launching Daemon at Sat Aug 29 04:28:58 IST 2026
[2026-08-29 04:28:59,004.004 INFO    ] ================================================
[2026-08-29 04:28:59,339.339 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:28:59
[2026-08-29 04:28:59,653.653 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:28:59,785.785 INFO    ] Initializing speech engine...
[2026-08-29 04:28:59,792.792 INFO    ] 2026-08-29 04:28:59
[2026-08-29 04:28:59,997.997 INFO    ] 2026-08-29 04:28:59
[2026-08-29 04:29:00,033.033 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:29:00,265.265 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:29:00,274.274 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:29:00,412.412 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:29:00,472.472 INFO    ] time= 29/08/2026 04:29:00
[2026-08-29 04:29:00,529.529 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:29:00,549.549 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:29:00,607.607 INFO    ] No existing commands found in stream
[2026-08-29 04:29:05,621.621 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:29:05,624.624 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-08-29 04:29:06,259.259 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:29:06,261.261 INFO    ] Checking for system updates...
[2026-08-29 04:29:06,297.297 INFO    ] 200
[2026-08-29 04:29:06,299.299 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:29:06,351.351 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:29:06,354.354 INFO    ] No update needed
[2026-08-29 04:29:06,356.356 INFO    ] Checking for camera pi updates...
[2026-08-29 04:29:06,393.393 INFO    ] 200
[2026-08-29 04:29:06,395.395 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:29:06,435.435 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:29:06,539.539 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:29:06,540.540 INFO    ] No camera update needed
[2026-08-29 04:29:06,542.542 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:29:06,543.543 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:29:06,546.546 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:29:06,549.549 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:29:08,587.587 INFO    ] ================================================
[2026-08-29 04:29:08,604.604 INFO    ] Launching Daemon at Sat Aug 29 04:29:08 IST 2026
[2026-08-29 04:29:08,615.615 INFO    ] ================================================
[2026-08-29 04:29:08,942.942 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:29:08
[2026-08-29 04:29:09,410.410 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:29:09,687.687 INFO    ] Initializing speech engine...
[2026-08-29 04:29:09,694.694 INFO    ] 2026-08-29 04:29:09
[2026-08-29 04:29:09,956.956 INFO    ] 2026-08-29 04:29:09
[2026-08-29 04:29:09,987.987 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:29:10,152.152 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:29:10,164.164 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:29:10,304.304 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:29:10,313.313 INFO    ] time= 29/08/2026 04:29:10
[2026-08-29 04:29:10,320.320 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:29:10,365.365 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:29:10,485.485 INFO    ] No existing commands found in stream
[2026-08-29 04:29:15,510.510 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:29:15,513.513 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-08-29 04:29:19,183.183 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:29:19,186.186 INFO    ] Checking for system updates...
[2026-08-29 04:29:19,225.225 INFO    ] 200
[2026-08-29 04:29:19,227.227 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:29:19,280.280 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:29:19,283.283 INFO    ] No update needed
[2026-08-29 04:29:19,285.285 INFO    ] Checking for camera pi updates...
[2026-08-29 04:29:19,319.319 INFO    ] 200
[2026-08-29 04:29:19,322.322 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:29:19,366.366 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:29:19,476.476 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:29:19,479.479 INFO    ] No camera update needed
[2026-08-29 04:29:19,481.481 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:29:19,484.484 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:29:19,489.489 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:29:19,494.494 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:29:21,534.534 INFO    ] ================================================
[2026-08-29 04:29:21,549.549 INFO    ] Launching Daemon at Sat Aug 29 04:29:21 IST 2026
[2026-08-29 04:29:21,560.560 INFO    ] ================================================
[2026-08-29 04:29:22,129.129 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:29:22
[2026-08-29 04:29:22,718.718 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:29:22,996.996 INFO    ] Initializing speech engine...
[2026-08-29 04:29:23,001.001 INFO    ] 2026-08-29 04:29:22
[2026-08-29 04:29:23,248.248 INFO    ] 2026-08-29 04:29:23
[2026-08-29 04:29:23,283.283 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:29:23,456.456 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:29:23,467.467 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:29:23,609.609 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:29:23,617.617 INFO    ] time= 29/08/2026 04:29:23
[2026-08-29 04:29:23,624.624 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:29:23,671.671 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:29:23,798.798 INFO    ] No existing commands found in stream
[2026-08-29 04:29:28,824.824 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:29:28,827.827 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-08-29 04:29:31,928.928 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:29:31,929.929 INFO    ] Checking for system updates...
[2026-08-29 04:29:31,951.951 INFO    ] 200
[2026-08-29 04:29:31,952.952 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:29:31,982.982 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:29:31,983.983 INFO    ] No update needed
[2026-08-29 04:29:31,984.984 INFO    ] Checking for camera pi updates...
[2026-08-29 04:29:32,005.005 INFO    ] 200
[2026-08-29 04:29:32,006.006 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:29:32,029.029 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:29:32,126.126 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:29:32,127.127 INFO    ] No camera update needed
[2026-08-29 04:29:32,129.129 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:29:32,130.130 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:29:32,134.134 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:29:32,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:29:34,178.178 INFO    ] ================================================
[2026-08-29 04:29:34,194.194 INFO    ] Launching Daemon at Sat Aug 29 04:29:34 IST 2026
[2026-08-29 04:29:34,205.205 INFO    ] ================================================
[2026-08-29 04:29:34,856.856 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:29:34
[2026-08-29 04:29:35,423.423 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:29:35,561.561 INFO    ] Initializing speech engine...
[2026-08-29 04:29:35,565.565 INFO    ] 2026-08-29 04:29:35
[2026-08-29 04:29:35,789.789 INFO    ] 2026-08-29 04:29:35
[2026-08-29 04:29:35,818.818 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:29:35,942.942 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:29:36,006.006 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:29:36,146.146 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:29:36,215.215 INFO    ] time= 29/08/2026 04:29:36
[2026-08-29 04:29:36,243.243 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:29:36,250.250 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:29:36,309.309 INFO    ] No existing commands found in stream
[2026-08-29 04:29:41,318.318 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:29:41,321.321 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-08-29 04:29:42,776.776 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:29:42,778.778 INFO    ] Checking for system updates...
[2026-08-29 04:29:42,798.798 INFO    ] 200
[2026-08-29 04:29:42,799.799 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:29:42,829.829 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:29:42,831.831 INFO    ] No update needed
[2026-08-29 04:29:42,832.832 INFO    ] Checking for camera pi updates...
[2026-08-29 04:29:42,851.851 INFO    ] 200
[2026-08-29 04:29:42,853.853 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:29:42,877.877 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:29:42,955.955 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:29:42,956.956 INFO    ] No camera update needed
[2026-08-29 04:29:42,957.957 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:29:42,958.958 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:29:42,961.961 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:29:42,964.964 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:29:45,004.004 INFO    ] ================================================
[2026-08-29 04:29:45,019.019 INFO    ] Launching Daemon at Sat Aug 29 04:29:45 IST 2026
[2026-08-29 04:29:45,030.030 INFO    ] ================================================
[2026-08-29 04:29:45,394.394 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:29:45
[2026-08-29 04:29:45,731.731 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:29:45,971.971 INFO    ] Initializing speech engine...
[2026-08-29 04:29:45,980.980 INFO    ] 2026-08-29 04:29:45
[2026-08-29 04:29:46,267.267 INFO    ] 2026-08-29 04:29:46
[2026-08-29 04:29:46,311.311 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:29:46,533.533 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:29:46,543.543 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:29:46,676.676 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:29:46,713.713 INFO    ] time= 29/08/2026 04:29:46
[2026-08-29 04:29:46,763.763 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:29:46,810.810 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:29:46,867.867 INFO    ] No existing commands found in stream
[2026-08-29 04:29:51,880.880 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:29:51,883.883 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-08-29 04:29:52,518.518 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:29:52,519.519 INFO    ] Checking for system updates...
[2026-08-29 04:29:52,540.540 INFO    ] 200
[2026-08-29 04:29:52,541.541 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:29:52,572.572 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:29:52,573.573 INFO    ] No update needed
[2026-08-29 04:29:52,575.575 INFO    ] Checking for camera pi updates...
[2026-08-29 04:29:52,594.594 INFO    ] 200
[2026-08-29 04:29:52,595.595 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:29:52,618.618 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:29:52,719.719 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:29:52,721.721 INFO    ] No camera update needed
[2026-08-29 04:29:52,722.722 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:29:52,724.724 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:29:52,727.727 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:29:52,730.730 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:29:54,768.768 INFO    ] ================================================
[2026-08-29 04:29:54,783.783 INFO    ] Launching Daemon at Sat Aug 29 04:29:54 IST 2026
[2026-08-29 04:29:54,794.794 INFO    ] ================================================
[2026-08-29 04:29:55,163.163 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:29:55
[2026-08-29 04:29:55,479.479 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:29:55,610.610 INFO    ] Initializing speech engine...
[2026-08-29 04:29:55,618.618 INFO    ] 2026-08-29 04:29:55
[2026-08-29 04:29:55,833.833 INFO    ] 2026-08-29 04:29:55
[2026-08-29 04:29:55,862.862 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:29:56,001.001 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:29:56,050.050 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:29:56,181.181 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:29:56,232.232 INFO    ] time= 29/08/2026 04:29:56
[2026-08-29 04:29:56,277.277 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:29:56,283.283 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:29:56,354.354 INFO    ] No existing commands found in stream
[2026-08-29 04:30:01,364.364 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:30:01,367.367 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-08-29 04:30:03,669.669 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:30:03,673.673 INFO    ] Checking for system updates...
[2026-08-29 04:30:03,747.747 INFO    ] 200
[2026-08-29 04:30:03,751.751 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:30:03,838.838 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:30:03,841.841 INFO    ] No update needed
[2026-08-29 04:30:03,844.844 INFO    ] Checking for camera pi updates...
[2026-08-29 04:30:03,890.890 INFO    ] 200
[2026-08-29 04:30:03,894.894 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:30:03,953.953 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:30:04,049.049 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:30:04,053.053 INFO    ] No camera update needed
[2026-08-29 04:30:04,056.056 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:30:04,060.060 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:30:04,069.069 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:30:04,077.077 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:30:06,122.122 INFO    ] ================================================
[2026-08-29 04:30:06,138.138 INFO    ] Launching Daemon at Sat Aug 29 04:30:06 IST 2026
[2026-08-29 04:30:06,149.149 INFO    ] ================================================
[2026-08-29 04:30:06,503.503 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:30:06
[2026-08-29 04:30:06,816.816 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:30:07,035.035 INFO    ] Initializing speech engine...
[2026-08-29 04:30:07,055.055 INFO    ] 2026-08-29 04:30:07
[2026-08-29 04:30:07,341.341 INFO    ] 2026-08-29 04:30:07
[2026-08-29 04:30:07,380.380 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:30:07,531.531 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:30:07,539.539 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:30:07,690.690 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:30:07,701.701 INFO    ] time= 29/08/2026 04:30:07
[2026-08-29 04:30:07,707.707 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:30:07,731.731 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:30:07,789.789 INFO    ] No existing commands found in stream
[2026-08-29 04:30:12,808.808 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:30:12,811.811 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-08-29 04:30:14,280.280 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:30:14,282.282 INFO    ] Checking for system updates...
[2026-08-29 04:30:14,302.302 INFO    ] 200
[2026-08-29 04:30:14,303.303 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:30:14,333.333 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:30:14,335.335 INFO    ] No update needed
[2026-08-29 04:30:14,336.336 INFO    ] Checking for camera pi updates...
[2026-08-29 04:30:14,355.355 INFO    ] 200
[2026-08-29 04:30:14,356.356 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:30:14,379.379 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:30:14,468.468 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:30:14,469.469 INFO    ] No camera update needed
[2026-08-29 04:30:14,470.470 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:30:14,471.471 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:30:14,475.475 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:30:14,477.477 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:30:16,517.517 INFO    ] ================================================
[2026-08-29 04:30:16,533.533 INFO    ] Launching Daemon at Sat Aug 29 04:30:16 IST 2026
[2026-08-29 04:30:16,544.544 INFO    ] ================================================
[2026-08-29 04:30:16,918.918 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:30:16
[2026-08-29 04:30:17,259.259 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:30:17,414.414 INFO    ] Initializing speech engine...
[2026-08-29 04:30:17,419.419 INFO    ] 2026-08-29 04:30:17
[2026-08-29 04:30:17,627.627 INFO    ] 2026-08-29 04:30:17
[2026-08-29 04:30:17,655.655 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:30:17,777.777 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:30:17,816.816 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:30:17,977.977 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:30:18,038.038 INFO    ] time= 29/08/2026 04:30:17
[2026-08-29 04:30:18,070.070 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:30:18,077.077 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:30:18,144.144 INFO    ] No existing commands found in stream
[2026-08-29 04:30:23,154.154 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:30:23,157.157 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 04:30:25,088.088 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:30:25,090.090 INFO    ] Checking for system updates...
[2026-08-29 04:30:25,110.110 INFO    ] 200
[2026-08-29 04:30:25,112.112 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:30:25,142.142 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:30:25,144.144 INFO    ] No update needed
[2026-08-29 04:30:25,145.145 INFO    ] Checking for camera pi updates...
[2026-08-29 04:30:25,165.165 INFO    ] 200
[2026-08-29 04:30:25,166.166 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:30:25,189.189 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:30:25,267.267 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:30:25,268.268 INFO    ] No camera update needed
[2026-08-29 04:30:25,270.270 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:30:25,271.271 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:30:25,274.274 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:30:25,277.277 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:30:27,318.318 INFO    ] ================================================
[2026-08-29 04:30:27,334.334 INFO    ] Launching Daemon at Sat Aug 29 04:30:27 IST 2026
[2026-08-29 04:30:27,346.346 INFO    ] ================================================
[2026-08-29 04:30:27,688.688 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:30:27
[2026-08-29 04:30:28,000.000 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:30:28,137.137 INFO    ] Initializing speech engine...
[2026-08-29 04:30:28,145.145 INFO    ] 2026-08-29 04:30:28
[2026-08-29 04:30:28,333.333 INFO    ] 2026-08-29 04:30:28
[2026-08-29 04:30:28,364.364 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:30:28,530.530 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:30:28,543.543 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:30:28,684.684 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:30:28,692.692 INFO    ] time= 29/08/2026 04:30:28
[2026-08-29 04:30:28,699.699 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:30:28,724.724 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:30:28,852.852 INFO    ] No existing commands found in stream
[2026-08-29 04:30:33,882.882 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:30:33,885.885 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-08-29 04:30:36,669.669 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:30:36,671.671 INFO    ] Checking for system updates...
[2026-08-29 04:30:36,691.691 INFO    ] 200
[2026-08-29 04:30:36,693.693 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:30:36,724.724 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:30:36,725.725 INFO    ] No update needed
[2026-08-29 04:30:36,727.727 INFO    ] Checking for camera pi updates...
[2026-08-29 04:30:36,746.746 INFO    ] 200
[2026-08-29 04:30:36,747.747 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:30:36,772.772 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:30:36,946.946 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:30:36,948.948 INFO    ] No camera update needed
[2026-08-29 04:30:36,949.949 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:30:36,950.950 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:30:36,953.953 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:30:36,956.956 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:30:39,995.995 INFO    ] ================================================
[2026-08-29 04:30:39,011.011 INFO    ] Launching Daemon at Sat Aug 29 04:30:39 IST 2026
[2026-08-29 04:30:39,023.023 INFO    ] ================================================
[2026-08-29 04:30:39,537.537 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:30:39
[2026-08-29 04:30:40,123.123 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:30:40,393.393 INFO    ] Initializing speech engine...
[2026-08-29 04:30:40,403.403 INFO    ] 2026-08-29 04:30:40
[2026-08-29 04:30:40,649.649 INFO    ] 2026-08-29 04:30:40
[2026-08-29 04:30:40,682.682 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:30:40,858.858 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:30:40,881.881 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:30:41,012.012 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:30:41,020.020 INFO    ] time= 29/08/2026 04:30:41
[2026-08-29 04:30:41,028.028 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:30:41,062.062 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:30:41,193.193 INFO    ] No existing commands found in stream
[2026-08-29 04:30:46,218.218 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:30:46,220.220 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-08-29 04:30:49,124.124 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:30:49,127.127 INFO    ] Checking for system updates...
[2026-08-29 04:30:49,163.163 INFO    ] 200
[2026-08-29 04:30:49,165.165 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:30:49,217.217 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:30:49,219.219 INFO    ] No update needed
[2026-08-29 04:30:49,222.222 INFO    ] Checking for camera pi updates...
[2026-08-29 04:30:49,255.255 INFO    ] 200
[2026-08-29 04:30:49,258.258 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:30:49,304.304 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:30:49,392.392 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:30:49,394.394 INFO    ] No camera update needed
[2026-08-29 04:30:49,397.397 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:30:49,399.399 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:30:49,404.404 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:30:49,409.409 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:30:51,450.450 INFO    ] ================================================
[2026-08-29 04:30:51,465.465 INFO    ] Launching Daemon at Sat Aug 29 04:30:51 IST 2026
[2026-08-29 04:30:51,476.476 INFO    ] ================================================
[2026-08-29 04:30:52,042.042 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:30:52
[2026-08-29 04:30:52,408.408 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:30:52,633.633 INFO    ] Initializing speech engine...
[2026-08-29 04:30:52,643.643 INFO    ] 2026-08-29 04:30:52
[2026-08-29 04:30:52,904.904 INFO    ] 2026-08-29 04:30:52
[2026-08-29 04:30:52,960.960 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:30:53,182.182 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:30:53,191.191 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:30:53,327.327 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:30:53,387.387 INFO    ] time= 29/08/2026 04:30:53
[2026-08-29 04:30:53,442.442 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:30:53,459.459 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:30:53,577.577 INFO    ] No existing commands found in stream
[2026-08-29 04:30:58,599.599 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:30:58,602.602 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-08-29 04:30:59,031.031 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:30:59,033.033 INFO    ] Checking for system updates...
[2026-08-29 04:30:59,053.053 INFO    ] 200
[2026-08-29 04:30:59,055.055 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:30:59,084.084 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:30:59,086.086 INFO    ] No update needed
[2026-08-29 04:30:59,087.087 INFO    ] Checking for camera pi updates...
[2026-08-29 04:30:59,107.107 INFO    ] 200
[2026-08-29 04:30:59,108.108 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:30:59,142.142 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:30:59,238.238 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:30:59,241.241 INFO    ] No camera update needed
[2026-08-29 04:30:59,244.244 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:30:59,246.246 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:30:59,253.253 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:30:59,258.258 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:31:01,301.301 INFO    ] ================================================
[2026-08-29 04:31:01,317.317 INFO    ] Launching Daemon at Sat Aug 29 04:31:01 IST 2026
[2026-08-29 04:31:01,329.329 INFO    ] ================================================
[2026-08-29 04:31:02,066.066 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:31:02
[2026-08-29 04:31:02,640.640 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:31:03,027.027 INFO    ] Initializing speech engine...
[2026-08-29 04:31:03,047.047 INFO    ] 2026-08-29 04:31:03
[2026-08-29 04:31:03,351.351 INFO    ] 2026-08-29 04:31:03
[2026-08-29 04:31:03,440.440 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:31:03,588.588 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:31:03,593.593 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:31:03,724.724 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:31:03,745.745 INFO    ] time= 29/08/2026 04:31:03
[2026-08-29 04:31:03,805.805 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:31:03,856.856 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:31:03,916.916 INFO    ] No existing commands found in stream
[2026-08-29 04:31:08,930.930 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:31:08,933.933 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 04:31:11,945.945 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:31:11,946.946 INFO    ] Checking for system updates...
[2026-08-29 04:31:11,967.967 INFO    ] 200
[2026-08-29 04:31:11,968.968 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:31:12,000.000 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:31:12,002.002 INFO    ] No update needed
[2026-08-29 04:31:12,003.003 INFO    ] Checking for camera pi updates...
[2026-08-29 04:31:12,026.026 INFO    ] 200
[2026-08-29 04:31:12,027.027 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:31:12,051.051 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:31:12,163.163 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:31:12,164.164 INFO    ] No camera update needed
[2026-08-29 04:31:12,166.166 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:31:12,167.167 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:31:12,170.170 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:31:12,172.172 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:31:14,211.211 INFO    ] ================================================
[2026-08-29 04:31:14,227.227 INFO    ] Launching Daemon at Sat Aug 29 04:31:14 IST 2026
[2026-08-29 04:31:14,239.239 INFO    ] ================================================
[2026-08-29 04:31:14,573.573 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:31:14
[2026-08-29 04:31:14,924.924 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:31:15,200.200 INFO    ] Initializing speech engine...
[2026-08-29 04:31:15,208.208 INFO    ] 2026-08-29 04:31:15
[2026-08-29 04:31:15,475.475 INFO    ] 2026-08-29 04:31:15
[2026-08-29 04:31:15,529.529 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:31:15,753.753 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:31:15,762.762 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:31:15,897.897 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:31:15,946.946 INFO    ] time= 29/08/2026 04:31:15
[2026-08-29 04:31:16,006.006 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:31:16,029.029 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:31:16,084.084 INFO    ] No existing commands found in stream
[2026-08-29 04:31:21,097.097 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:31:21,099.099 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-08-29 04:31:23,646.646 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:31:23,649.649 INFO    ] Checking for system updates...
[2026-08-29 04:31:23,686.686 INFO    ] 200
[2026-08-29 04:31:23,689.689 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:31:23,744.744 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:31:23,747.747 INFO    ] No update needed
[2026-08-29 04:31:23,750.750 INFO    ] Checking for camera pi updates...
[2026-08-29 04:31:23,789.789 INFO    ] 200
[2026-08-29 04:31:23,793.793 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:31:23,840.840 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:31:23,925.925 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:31:23,928.928 INFO    ] No camera update needed
[2026-08-29 04:31:23,930.930 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:31:23,933.933 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:31:23,940.940 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:31:23,945.945 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:31:25,988.988 INFO    ] ================================================
[2026-08-29 04:31:26,004.004 INFO    ] Launching Daemon at Sat Aug 29 04:31:25 IST 2026
[2026-08-29 04:31:26,015.015 INFO    ] ================================================
[2026-08-29 04:31:26,367.367 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:31:26
[2026-08-29 04:31:26,678.678 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:31:26,822.822 INFO    ] Initializing speech engine...
[2026-08-29 04:31:26,827.827 INFO    ] 2026-08-29 04:31:26
[2026-08-29 04:31:27,031.031 INFO    ] 2026-08-29 04:31:27
[2026-08-29 04:31:27,060.060 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:31:27,202.202 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:31:27,223.223 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:31:27,360.360 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:31:27,386.386 INFO    ] time= 29/08/2026 04:31:27
[2026-08-29 04:31:27,394.394 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:31:27,401.401 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:31:27,496.496 INFO    ] No existing commands found in stream
[2026-08-29 04:31:32,511.511 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:31:32,514.514 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-08-29 04:31:35,555.555 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:31:35,556.556 INFO    ] Checking for system updates...
[2026-08-29 04:31:35,576.576 INFO    ] 200
[2026-08-29 04:31:35,578.578 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:31:35,612.612 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:31:35,614.614 INFO    ] No update needed
[2026-08-29 04:31:35,615.615 INFO    ] Checking for camera pi updates...
[2026-08-29 04:31:35,635.635 INFO    ] 200
[2026-08-29 04:31:35,637.637 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:31:35,678.678 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:31:35,774.774 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:31:35,776.776 INFO    ] No camera update needed
[2026-08-29 04:31:35,778.778 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:31:35,781.781 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:31:35,786.786 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:31:35,791.791 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:31:37,835.835 INFO    ] ================================================
[2026-08-29 04:31:37,850.850 INFO    ] Launching Daemon at Sat Aug 29 04:31:37 IST 2026
[2026-08-29 04:31:37,861.861 INFO    ] ================================================
[2026-08-29 04:31:38,429.429 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:31:38
[2026-08-29 04:31:38,899.899 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:31:39,033.033 INFO    ] Initializing speech engine...
[2026-08-29 04:31:39,037.037 INFO    ] 2026-08-29 04:31:39
[2026-08-29 04:31:39,255.255 INFO    ] 2026-08-29 04:31:39
[2026-08-29 04:31:39,284.284 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:31:39,428.428 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:31:39,438.438 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:31:39,590.590 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:31:39,640.640 INFO    ] time= 29/08/2026 04:31:39
[2026-08-29 04:31:39,680.680 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:31:39,687.687 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:31:39,742.742 INFO    ] No existing commands found in stream
[2026-08-29 04:31:44,754.754 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:31:44,757.757 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-08-29 04:31:47,164.164 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:31:47,166.166 INFO    ] Checking for system updates...
[2026-08-29 04:31:47,187.187 INFO    ] 200
[2026-08-29 04:31:47,189.189 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:31:47,221.221 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:31:47,223.223 INFO    ] No update needed
[2026-08-29 04:31:47,224.224 INFO    ] Checking for camera pi updates...
[2026-08-29 04:31:47,244.244 INFO    ] 200
[2026-08-29 04:31:47,245.245 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:31:47,269.269 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:31:47,350.350 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:31:47,351.351 INFO    ] No camera update needed
[2026-08-29 04:31:47,353.353 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:31:47,354.354 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:31:47,357.357 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:31:47,359.359 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:31:49,399.399 INFO    ] ================================================
[2026-08-29 04:31:49,414.414 INFO    ] Launching Daemon at Sat Aug 29 04:31:49 IST 2026
[2026-08-29 04:31:49,425.425 INFO    ] ================================================
[2026-08-29 04:31:49,763.763 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:31:49
[2026-08-29 04:31:50,082.082 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:31:50,300.300 INFO    ] Initializing speech engine...
[2026-08-29 04:31:50,307.307 INFO    ] 2026-08-29 04:31:50
[2026-08-29 04:31:50,569.569 INFO    ] 2026-08-29 04:31:50
[2026-08-29 04:31:50,621.621 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:31:50,788.788 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:31:50,795.795 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:31:50,920.920 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:31:50,929.929 INFO    ] time= 29/08/2026 04:31:50
[2026-08-29 04:31:50,935.935 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:31:50,986.986 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:31:51,105.105 INFO    ] No existing commands found in stream
[2026-08-29 04:31:56,131.131 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:31:56,134.134 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 04:31:56,779.779 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:31:56,781.781 INFO    ] Checking for system updates...
[2026-08-29 04:31:56,802.802 INFO    ] 200
[2026-08-29 04:31:56,803.803 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:31:56,833.833 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:31:56,834.834 INFO    ] No update needed
[2026-08-29 04:31:56,835.835 INFO    ] Checking for camera pi updates...
[2026-08-29 04:31:56,855.855 INFO    ] 200
[2026-08-29 04:31:56,856.856 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:31:56,882.882 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:31:56,981.981 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:31:56,982.982 INFO    ] No camera update needed
[2026-08-29 04:31:56,983.983 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:31:56,985.985 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:31:56,988.988 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:31:56,990.990 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:31:59,023.023 INFO    ] ================================================
[2026-08-29 04:31:59,039.039 INFO    ] Launching Daemon at Sat Aug 29 04:31:59 IST 2026
[2026-08-29 04:31:59,049.049 INFO    ] ================================================
[2026-08-29 04:31:59,617.617 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:31:59
[2026-08-29 04:32:00,203.203 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:32:00,460.460 INFO    ] Initializing speech engine...
[2026-08-29 04:32:00,467.467 INFO    ] 2026-08-29 04:32:00
[2026-08-29 04:32:00,767.767 INFO    ] 2026-08-29 04:32:00
[2026-08-29 04:32:00,792.792 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:32:00,954.954 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:32:00,960.960 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:32:01,114.114 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:32:01,124.124 INFO    ] time= 29/08/2026 04:32:01
[2026-08-29 04:32:01,169.169 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:32:01,221.221 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:32:01,276.276 INFO    ] No existing commands found in stream
[2026-08-29 04:32:06,350.350 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:32:06,353.353 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-08-29 04:32:08,639.639 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:32:08,640.640 INFO    ] Checking for system updates...
[2026-08-29 04:32:08,668.668 INFO    ] 200
[2026-08-29 04:32:08,670.670 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:32:08,700.700 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:32:08,702.702 INFO    ] No update needed
[2026-08-29 04:32:08,703.703 INFO    ] Checking for camera pi updates...
[2026-08-29 04:32:08,723.723 INFO    ] 200
[2026-08-29 04:32:08,724.724 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:32:08,748.748 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:32:08,851.851 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:32:08,852.852 INFO    ] No camera update needed
[2026-08-29 04:32:08,854.854 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:32:08,855.855 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:32:08,858.858 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:32:08,861.861 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:32:10,901.901 INFO    ] ================================================
[2026-08-29 04:32:10,916.916 INFO    ] Launching Daemon at Sat Aug 29 04:32:10 IST 2026
[2026-08-29 04:32:10,927.927 INFO    ] ================================================
[2026-08-29 04:32:11,280.280 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:32:11
[2026-08-29 04:32:11,600.600 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:32:11,731.731 INFO    ] Initializing speech engine...
[2026-08-29 04:32:11,735.735 INFO    ] 2026-08-29 04:32:11
[2026-08-29 04:32:11,928.928 INFO    ] 2026-08-29 04:32:11
[2026-08-29 04:32:11,958.958 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:32:12,132.132 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:32:12,148.148 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:32:12,279.279 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:32:12,284.284 INFO    ] time= 29/08/2026 04:32:12
[2026-08-29 04:32:12,293.293 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:32:12,347.347 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:32:12,465.465 INFO    ] No existing commands found in stream
[2026-08-29 04:32:17,491.491 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:32:17,494.494 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-08-29 04:32:21,551.551 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:32:21,553.553 INFO    ] Checking for system updates...
[2026-08-29 04:32:21,573.573 INFO    ] 200
[2026-08-29 04:32:21,575.575 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:32:21,605.605 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:32:21,607.607 INFO    ] No update needed
[2026-08-29 04:32:21,608.608 INFO    ] Checking for camera pi updates...
[2026-08-29 04:32:21,631.631 INFO    ] 200
[2026-08-29 04:32:21,634.634 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:32:21,675.675 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:32:21,819.819 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:32:21,822.822 INFO    ] No camera update needed
[2026-08-29 04:32:21,825.825 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:32:21,828.828 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:32:21,835.835 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:32:21,842.842 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:32:23,885.885 INFO    ] ================================================
[2026-08-29 04:32:23,901.901 INFO    ] Launching Daemon at Sat Aug 29 04:32:23 IST 2026
[2026-08-29 04:32:23,913.913 INFO    ] ================================================
[2026-08-29 04:32:24,499.499 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:32:24
[2026-08-29 04:32:25,009.009 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:32:25,287.287 INFO    ] Initializing speech engine...
[2026-08-29 04:32:25,292.292 INFO    ] 2026-08-29 04:32:25
[2026-08-29 04:32:25,543.543 INFO    ] 2026-08-29 04:32:25
[2026-08-29 04:32:25,578.578 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:32:25,751.751 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:32:25,763.763 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:32:25,906.906 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:32:25,915.915 INFO    ] time= 29/08/2026 04:32:25
[2026-08-29 04:32:25,921.921 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:32:25,945.945 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:32:26,078.078 INFO    ] No existing commands found in stream
[2026-08-29 04:32:31,108.108 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:32:31,111.111 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-08-29 04:32:32,389.389 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:32:32,392.392 INFO    ] Checking for system updates...
[2026-08-29 04:32:32,428.428 INFO    ] 200
[2026-08-29 04:32:32,430.430 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:32:32,484.484 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:32:32,486.486 INFO    ] No update needed
[2026-08-29 04:32:32,489.489 INFO    ] Checking for camera pi updates...
[2026-08-29 04:32:32,523.523 INFO    ] 200
[2026-08-29 04:32:32,526.526 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:32:32,567.567 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:32:32,672.672 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:32:32,674.674 INFO    ] No camera update needed
[2026-08-29 04:32:32,677.677 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:32:32,679.679 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:32:32,684.684 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:32:32,689.689 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:32:34,732.732 INFO    ] ================================================
[2026-08-29 04:32:34,747.747 INFO    ] Launching Daemon at Sat Aug 29 04:32:34 IST 2026
[2026-08-29 04:32:34,758.758 INFO    ] ================================================
[2026-08-29 04:32:35,105.105 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:32:35
[2026-08-29 04:32:35,419.419 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:32:35,549.549 INFO    ] Initializing speech engine...
[2026-08-29 04:32:35,554.554 INFO    ] 2026-08-29 04:32:35
[2026-08-29 04:32:35,748.748 INFO    ] 2026-08-29 04:32:35
[2026-08-29 04:32:35,783.783 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:32:35,961.961 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:32:35,974.974 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:32:36,118.118 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:32:36,126.126 INFO    ] time= 29/08/2026 04:32:36
[2026-08-29 04:32:36,134.134 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:32:36,186.186 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:32:36,302.302 INFO    ] No existing commands found in stream
[2026-08-29 04:32:41,337.337 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:32:41,340.340 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-08-29 04:32:44,756.756 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:32:44,758.758 INFO    ] Checking for system updates...
[2026-08-29 04:32:44,779.779 INFO    ] 200
[2026-08-29 04:32:44,780.780 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:32:44,810.810 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:32:44,811.811 INFO    ] No update needed
[2026-08-29 04:32:44,812.812 INFO    ] Checking for camera pi updates...
[2026-08-29 04:32:44,833.833 INFO    ] 200
[2026-08-29 04:32:44,834.834 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:32:44,859.859 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:32:44,928.928 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:32:44,929.929 INFO    ] No camera update needed
[2026-08-29 04:32:44,930.930 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:32:44,932.932 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:32:44,935.935 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:32:44,937.937 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:32:46,975.975 INFO    ] ================================================
[2026-08-29 04:32:46,990.990 INFO    ] Launching Daemon at Sat Aug 29 04:32:46 IST 2026
[2026-08-29 04:32:47,001.001 INFO    ] ================================================
[2026-08-29 04:32:47,377.377 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:32:47
[2026-08-29 04:32:47,697.697 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:32:47,835.835 INFO    ] Initializing speech engine...
[2026-08-29 04:32:47,846.846 INFO    ] 2026-08-29 04:32:47
[2026-08-29 04:32:48,093.093 INFO    ] 2026-08-29 04:32:48
[2026-08-29 04:32:48,161.161 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:32:48,374.374 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:32:48,402.402 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:32:48,541.541 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:32:48,557.557 INFO    ] time= 29/08/2026 04:32:48
[2026-08-29 04:32:48,617.617 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:32:48,647.647 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:32:48,708.708 INFO    ] No existing commands found in stream
[2026-08-29 04:32:53,721.721 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:32:53,724.724 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-08-29 04:32:54,563.563 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:32:54,565.565 INFO    ] Checking for system updates...
[2026-08-29 04:32:54,585.585 INFO    ] 200
[2026-08-29 04:32:54,587.587 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:32:54,617.617 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:32:54,619.619 INFO    ] No update needed
[2026-08-29 04:32:54,620.620 INFO    ] Checking for camera pi updates...
[2026-08-29 04:32:54,639.639 INFO    ] 200
[2026-08-29 04:32:54,641.641 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:32:54,665.665 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:32:54,756.756 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:32:54,759.759 INFO    ] No camera update needed
[2026-08-29 04:32:54,761.761 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:32:54,763.763 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:32:54,769.769 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:32:54,774.774 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:32:56,817.817 INFO    ] ================================================
[2026-08-29 04:32:56,833.833 INFO    ] Launching Daemon at Sat Aug 29 04:32:56 IST 2026
[2026-08-29 04:32:56,847.847 INFO    ] ================================================
[2026-08-29 04:32:57,445.445 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:32:57
[2026-08-29 04:32:57,959.959 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:32:58,237.237 INFO    ] Initializing speech engine...
[2026-08-29 04:32:58,244.244 INFO    ] 2026-08-29 04:32:58
[2026-08-29 04:32:58,493.493 INFO    ] 2026-08-29 04:32:58
[2026-08-29 04:32:58,528.528 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:32:58,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:32:58,712.712 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:32:58,838.838 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:32:58,863.863 INFO    ] time= 29/08/2026 04:32:58
[2026-08-29 04:32:58,867.867 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:32:58,875.875 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:32:58,941.941 INFO    ] No existing commands found in stream
[2026-08-29 04:33:03,956.956 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:33:04,010.010 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-08-29 04:33:07,442.442 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:33:07,443.443 INFO    ] Checking for system updates...
[2026-08-29 04:33:07,464.464 INFO    ] 200
[2026-08-29 04:33:07,465.465 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:33:07,495.495 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:33:07,496.496 INFO    ] No update needed
[2026-08-29 04:33:07,498.498 INFO    ] Checking for camera pi updates...
[2026-08-29 04:33:07,518.518 INFO    ] 200
[2026-08-29 04:33:07,519.519 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:33:07,544.544 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:33:07,631.631 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:33:07,632.632 INFO    ] No camera update needed
[2026-08-29 04:33:07,634.634 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:33:07,635.635 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:33:07,638.638 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:33:07,641.641 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:33:09,679.679 INFO    ] ================================================
[2026-08-29 04:33:09,695.695 INFO    ] Launching Daemon at Sat Aug 29 04:33:09 IST 2026
[2026-08-29 04:33:09,706.706 INFO    ] ================================================
[2026-08-29 04:33:10,033.033 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:33:10
[2026-08-29 04:33:10,345.345 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:33:10,611.611 INFO    ] Initializing speech engine...
[2026-08-29 04:33:10,620.620 INFO    ] 2026-08-29 04:33:10
[2026-08-29 04:33:10,880.880 INFO    ] 2026-08-29 04:33:10
[2026-08-29 04:33:10,933.933 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:33:11,096.096 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:33:11,119.119 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:33:11,295.295 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:33:11,306.306 INFO    ] time= 29/08/2026 04:33:11
[2026-08-29 04:33:11,366.366 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:33:11,415.415 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:33:11,481.481 INFO    ] No existing commands found in stream
[2026-08-29 04:33:16,493.493 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:33:16,496.496 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-08-29 04:33:19,703.703 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:33:19,704.704 INFO    ] Checking for system updates...
[2026-08-29 04:33:19,724.724 INFO    ] 200
[2026-08-29 04:33:19,726.726 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:33:19,756.756 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:33:19,758.758 INFO    ] No update needed
[2026-08-29 04:33:19,759.759 INFO    ] Checking for camera pi updates...
[2026-08-29 04:33:19,781.781 INFO    ] 200
[2026-08-29 04:33:19,782.782 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:33:19,805.805 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:33:19,890.890 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:33:19,892.892 INFO    ] No camera update needed
[2026-08-29 04:33:19,893.893 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:33:19,895.895 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:33:19,897.897 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:33:19,900.900 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:33:21,940.940 INFO    ] ================================================
[2026-08-29 04:33:21,955.955 INFO    ] Launching Daemon at Sat Aug 29 04:33:21 IST 2026
[2026-08-29 04:33:21,966.966 INFO    ] ================================================
[2026-08-29 04:33:22,533.533 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:33:22
[2026-08-29 04:33:23,117.117 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:33:23,369.369 INFO    ] Initializing speech engine...
[2026-08-29 04:33:23,382.382 INFO    ] 2026-08-29 04:33:23
[2026-08-29 04:33:23,648.648 INFO    ] 2026-08-29 04:33:23
[2026-08-29 04:33:23,685.685 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:33:23,860.860 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:33:23,872.872 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:33:23,985.985 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:33:23,990.990 INFO    ] time= 29/08/2026 04:33:23
[2026-08-29 04:33:24,009.009 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:33:24,031.031 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:33:24,103.103 INFO    ] No existing commands found in stream
[2026-08-29 04:33:29,144.144 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:33:29,147.147 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-08-29 04:33:32,528.528 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:33:32,530.530 INFO    ] Checking for system updates...
[2026-08-29 04:33:32,569.569 INFO    ] 200
[2026-08-29 04:33:32,572.572 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:33:32,630.630 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:33:32,633.633 INFO    ] No update needed
[2026-08-29 04:33:32,635.635 INFO    ] Checking for camera pi updates...
[2026-08-29 04:33:32,668.668 INFO    ] 200
[2026-08-29 04:33:32,670.670 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:33:32,714.714 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:33:32,835.835 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:33:32,837.837 INFO    ] No camera update needed
[2026-08-29 04:33:32,840.840 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:33:32,843.843 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:33:32,849.849 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:33:32,854.854 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:33:34,896.896 INFO    ] ================================================
[2026-08-29 04:33:34,911.911 INFO    ] Launching Daemon at Sat Aug 29 04:33:34 IST 2026
[2026-08-29 04:33:34,922.922 INFO    ] ================================================
[2026-08-29 04:33:35,289.289 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:33:35
[2026-08-29 04:33:35,607.607 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:33:35,831.831 INFO    ] Initializing speech engine...
[2026-08-29 04:33:35,839.839 INFO    ] 2026-08-29 04:33:35
[2026-08-29 04:33:36,092.092 INFO    ] 2026-08-29 04:33:36
[2026-08-29 04:33:36,158.158 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:33:36,381.381 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:33:36,390.390 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:33:36,526.526 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:33:36,566.566 INFO    ] time= 29/08/2026 04:33:36
[2026-08-29 04:33:36,625.625 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:33:36,659.659 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:33:36,714.714 INFO    ] No existing commands found in stream
[2026-08-29 04:33:41,724.724 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:33:41,727.727 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-08-29 04:33:43,847.847 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:33:43,848.848 INFO    ] Checking for system updates...
[2026-08-29 04:33:43,868.868 INFO    ] 200
[2026-08-29 04:33:43,870.870 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:33:43,902.902 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:33:43,903.903 INFO    ] No update needed
[2026-08-29 04:33:43,904.904 INFO    ] Checking for camera pi updates...
[2026-08-29 04:33:43,925.925 INFO    ] 200
[2026-08-29 04:33:43,926.926 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:33:43,949.949 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:33:44,059.059 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:33:44,060.060 INFO    ] No camera update needed
[2026-08-29 04:33:44,062.062 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:33:44,063.063 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:33:44,066.066 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:33:44,069.069 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:33:46,109.109 INFO    ] ================================================
[2026-08-29 04:33:46,125.125 INFO    ] Launching Daemon at Sat Aug 29 04:33:46 IST 2026
[2026-08-29 04:33:46,136.136 INFO    ] ================================================
[2026-08-29 04:33:46,478.478 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:33:46
[2026-08-29 04:33:46,795.795 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:33:46,934.934 INFO    ] Initializing speech engine...
[2026-08-29 04:33:46,945.945 INFO    ] 2026-08-29 04:33:46
[2026-08-29 04:33:47,149.149 INFO    ] 2026-08-29 04:33:47
[2026-08-29 04:33:47,178.178 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:33:47,331.331 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:33:47,348.348 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:33:47,489.489 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:33:47,517.517 INFO    ] time= 29/08/2026 04:33:47
[2026-08-29 04:33:47,524.524 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:33:47,532.532 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:33:47,628.628 INFO    ] No existing commands found in stream
[2026-08-29 04:33:52,649.649 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:33:52,651.651 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-08-29 04:33:55,734.734 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:33:55,736.736 INFO    ] Checking for system updates...
[2026-08-29 04:33:55,757.757 INFO    ] 200
[2026-08-29 04:33:55,758.758 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:33:55,788.788 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:33:55,789.789 INFO    ] No update needed
[2026-08-29 04:33:55,791.791 INFO    ] Checking for camera pi updates...
[2026-08-29 04:33:55,811.811 INFO    ] 200
[2026-08-29 04:33:55,812.812 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:33:55,836.836 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:33:55,930.930 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:33:55,931.931 INFO    ] No camera update needed
[2026-08-29 04:33:55,933.933 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:33:55,934.934 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:33:55,937.937 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:33:55,940.940 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:33:57,983.983 INFO    ] ================================================
[2026-08-29 04:33:58,998.998 INFO    ] Launching Daemon at Sat Aug 29 04:33:57 IST 2026
[2026-08-29 04:33:58,010.010 INFO    ] ================================================
[2026-08-29 04:33:58,339.339 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:33:58
[2026-08-29 04:33:58,651.651 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:33:58,793.793 INFO    ] Initializing speech engine...
[2026-08-29 04:33:58,798.798 INFO    ] 2026-08-29 04:33:58
[2026-08-29 04:33:59,001.001 INFO    ] 2026-08-29 04:33:58
[2026-08-29 04:33:59,029.029 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:33:59,150.150 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:33:59,199.199 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:33:59,360.360 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:33:59,409.409 INFO    ] time= 29/08/2026 04:33:59
[2026-08-29 04:33:59,432.432 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:33:59,486.486 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:33:59,585.585 INFO    ] No existing commands found in stream
[2026-08-29 04:34:04,603.603 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:34:04,606.606 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-08-29 04:34:05,238.238 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:34:05,241.241 INFO    ] Checking for system updates...
[2026-08-29 04:34:05,281.281 INFO    ] 200
[2026-08-29 04:34:05,283.283 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:34:05,343.343 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:34:05,345.345 INFO    ] No update needed
[2026-08-29 04:34:05,347.347 INFO    ] Checking for camera pi updates...
[2026-08-29 04:34:05,381.381 INFO    ] 200
[2026-08-29 04:34:05,383.383 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:34:05,423.423 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:34:05,503.503 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:34:05,506.506 INFO    ] No camera update needed
[2026-08-29 04:34:05,508.508 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:34:05,510.510 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:34:05,515.515 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:34:05,520.520 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:34:07,561.561 INFO    ] ================================================
[2026-08-29 04:34:07,577.577 INFO    ] Launching Daemon at Sat Aug 29 04:34:07 IST 2026
[2026-08-29 04:34:07,588.588 INFO    ] ================================================
[2026-08-29 04:34:07,959.959 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:34:07
[2026-08-29 04:34:08,297.297 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:34:08,443.443 INFO    ] Initializing speech engine...
[2026-08-29 04:34:08,454.454 INFO    ] 2026-08-29 04:34:08
[2026-08-29 04:34:08,644.644 INFO    ] 2026-08-29 04:34:08
[2026-08-29 04:34:08,701.701 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:34:08,928.928 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:34:08,935.935 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:34:09,070.070 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:34:09,141.141 INFO    ] time= 29/08/2026 04:34:09
[2026-08-29 04:34:09,199.199 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:34:09,206.206 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:34:09,333.333 INFO    ] No existing commands found in stream
[2026-08-29 04:34:14,361.361 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:34:14,365.365 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 04:34:16,364.364 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:34:16,366.366 INFO    ] Checking for system updates...
[2026-08-29 04:34:16,388.388 INFO    ] 200
[2026-08-29 04:34:16,389.389 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:34:16,424.424 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:34:16,426.426 INFO    ] No update needed
[2026-08-29 04:34:16,427.427 INFO    ] Checking for camera pi updates...
[2026-08-29 04:34:16,447.447 INFO    ] 200
[2026-08-29 04:34:16,448.448 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:34:16,471.471 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:34:16,551.551 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:34:16,554.554 INFO    ] No camera update needed
[2026-08-29 04:34:16,557.557 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:34:16,559.559 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:34:16,566.566 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:34:16,571.571 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:34:18,614.614 INFO    ] ================================================
[2026-08-29 04:34:18,629.629 INFO    ] Launching Daemon at Sat Aug 29 04:34:18 IST 2026
[2026-08-29 04:34:18,641.641 INFO    ] ================================================
[2026-08-29 04:34:19,214.214 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:34:19
[2026-08-29 04:34:19,731.731 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:34:19,865.865 INFO    ] Initializing speech engine...
[2026-08-29 04:34:19,868.868 INFO    ] 2026-08-29 04:34:19
[2026-08-29 04:34:20,100.100 INFO    ] 2026-08-29 04:34:20
[2026-08-29 04:34:20,130.130 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:34:20,262.262 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:34:20,299.299 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:34:20,469.469 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:34:20,503.503 INFO    ] time= 29/08/2026 04:34:20
[2026-08-29 04:34:20,555.555 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:34:20,578.578 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:34:20,654.654 INFO    ] No existing commands found in stream
[2026-08-29 04:34:25,664.664 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:34:25,667.667 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-08-29 04:34:27,530.530 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:34:27,532.532 INFO    ] Checking for system updates...
[2026-08-29 04:34:27,552.552 INFO    ] 200
[2026-08-29 04:34:27,554.554 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:34:27,586.586 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:34:27,587.587 INFO    ] No update needed
[2026-08-29 04:34:27,588.588 INFO    ] Checking for camera pi updates...
[2026-08-29 04:34:27,608.608 INFO    ] 200
[2026-08-29 04:34:27,610.610 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:34:27,634.634 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:34:27,721.721 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:34:27,722.722 INFO    ] No camera update needed
[2026-08-29 04:34:27,724.724 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:34:27,725.725 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:34:27,728.728 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:34:27,730.730 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:34:29,769.769 INFO    ] ================================================
[2026-08-29 04:34:29,785.785 INFO    ] Launching Daemon at Sat Aug 29 04:34:29 IST 2026
[2026-08-29 04:34:29,796.796 INFO    ] ================================================
[2026-08-29 04:34:30,311.311 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:34:30
[2026-08-29 04:34:30,912.912 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:34:31,186.186 INFO    ] Initializing speech engine...
[2026-08-29 04:34:31,196.196 INFO    ] 2026-08-29 04:34:31
[2026-08-29 04:34:31,452.452 INFO    ] 2026-08-29 04:34:31
[2026-08-29 04:34:31,512.512 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:34:31,735.735 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:34:31,744.744 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:34:31,876.876 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:34:31,919.919 INFO    ] time= 29/08/2026 04:34:31
[2026-08-29 04:34:31,977.977 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:34:32,025.025 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:34:32,160.160 INFO    ] No existing commands found in stream
[2026-08-29 04:34:37,186.186 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:34:37,189.189 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-08-29 04:34:41,464.464 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:34:41,465.465 INFO    ] Checking for system updates...
[2026-08-29 04:34:41,487.487 INFO    ] 200
[2026-08-29 04:34:41,488.488 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:34:41,518.518 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:34:41,519.519 INFO    ] No update needed
[2026-08-29 04:34:41,520.520 INFO    ] Checking for camera pi updates...
[2026-08-29 04:34:41,539.539 INFO    ] 200
[2026-08-29 04:34:41,540.540 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:34:41,564.564 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:34:41,608.608 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:34:41,610.610 INFO    ] No camera update needed
[2026-08-29 04:34:41,611.611 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:34:41,612.612 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:34:41,615.615 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:34:41,618.618 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:34:43,659.659 INFO    ] ================================================
[2026-08-29 04:34:43,676.676 INFO    ] Launching Daemon at Sat Aug 29 04:34:43 IST 2026
[2026-08-29 04:34:43,687.687 INFO    ] ================================================
[2026-08-29 04:34:44,056.056 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:34:44
[2026-08-29 04:34:44,395.395 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:34:44,629.629 INFO    ] Initializing speech engine...
[2026-08-29 04:34:44,637.637 INFO    ] 2026-08-29 04:34:44
[2026-08-29 04:34:44,910.910 INFO    ] 2026-08-29 04:34:44
[2026-08-29 04:34:44,954.954 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:34:45,171.171 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:34:45,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:34:45,313.313 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:34:45,339.339 INFO    ] time= 29/08/2026 04:34:45
[2026-08-29 04:34:45,399.399 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:34:45,445.445 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:34:45,502.502 INFO    ] No existing commands found in stream
[2026-08-29 04:34:50,514.514 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:34:50,517.517 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-08-29 04:34:52,179.179 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:34:52,180.180 INFO    ] Checking for system updates...
[2026-08-29 04:34:52,201.201 INFO    ] 200
[2026-08-29 04:34:52,203.203 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:34:52,234.234 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:34:52,235.235 INFO    ] No update needed
[2026-08-29 04:34:52,236.236 INFO    ] Checking for camera pi updates...
[2026-08-29 04:34:52,256.256 INFO    ] 200
[2026-08-29 04:34:52,257.257 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:34:52,281.281 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:34:52,458.458 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:34:52,459.459 INFO    ] No camera update needed
[2026-08-29 04:34:52,461.461 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:34:52,462.462 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:34:52,466.466 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:34:52,469.469 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:34:54,510.510 INFO    ] ================================================
[2026-08-29 04:34:54,526.526 INFO    ] Launching Daemon at Sat Aug 29 04:34:54 IST 2026
[2026-08-29 04:34:54,537.537 INFO    ] ================================================
[2026-08-29 04:34:54,904.904 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:34:54
[2026-08-29 04:34:55,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:34:55,356.356 INFO    ] Initializing speech engine...
[2026-08-29 04:34:55,366.366 INFO    ] 2026-08-29 04:34:55
[2026-08-29 04:34:55,662.662 INFO    ] 2026-08-29 04:34:55
[2026-08-29 04:34:55,700.700 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:34:55,898.898 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:34:55,904.904 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:34:56,036.036 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:34:56,045.045 INFO    ] time= 29/08/2026 04:34:56
[2026-08-29 04:34:56,049.049 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:34:56,070.070 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:34:56,172.172 INFO    ] No existing commands found in stream
[2026-08-29 04:35:01,184.184 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:35:01,187.187 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-08-29 04:35:05,273.273 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:35:05,274.274 INFO    ] Checking for system updates...
[2026-08-29 04:35:05,296.296 INFO    ] 200
[2026-08-29 04:35:05,297.297 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:35:05,329.329 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:35:05,331.331 INFO    ] No update needed
[2026-08-29 04:35:05,332.332 INFO    ] Checking for camera pi updates...
[2026-08-29 04:35:05,352.352 INFO    ] 200
[2026-08-29 04:35:05,354.354 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:35:05,376.376 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:35:05,463.463 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:35:05,464.464 INFO    ] No camera update needed
[2026-08-29 04:35:05,465.465 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:35:05,466.466 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:35:05,469.469 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:35:05,472.472 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:35:07,511.511 INFO    ] ================================================
[2026-08-29 04:35:07,528.528 INFO    ] Launching Daemon at Sat Aug 29 04:35:07 IST 2026
[2026-08-29 04:35:07,539.539 INFO    ] ================================================
[2026-08-29 04:35:07,909.909 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:35:07
[2026-08-29 04:35:08,227.227 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:35:08,367.367 INFO    ] Initializing speech engine...
[2026-08-29 04:35:08,377.377 INFO    ] 2026-08-29 04:35:08
[2026-08-29 04:35:08,581.581 INFO    ] 2026-08-29 04:35:08
[2026-08-29 04:35:08,609.609 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:35:08,794.794 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:35:08,810.810 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:35:08,949.949 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:35:08,975.975 INFO    ] time= 29/08/2026 04:35:08
[2026-08-29 04:35:08,981.981 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:35:08,989.989 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:35:09,088.088 INFO    ] No existing commands found in stream
[2026-08-29 04:35:14,109.109 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:35:14,112.112 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-08-29 04:35:15,277.277 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:35:15,278.278 INFO    ] Checking for system updates...
[2026-08-29 04:35:15,299.299 INFO    ] 200
[2026-08-29 04:35:15,300.300 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:35:15,332.332 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:35:15,333.333 INFO    ] No update needed
[2026-08-29 04:35:15,335.335 INFO    ] Checking for camera pi updates...
[2026-08-29 04:35:15,354.354 INFO    ] 200
[2026-08-29 04:35:15,355.355 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:35:15,378.378 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:35:15,484.484 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:35:15,486.486 INFO    ] No camera update needed
[2026-08-29 04:35:15,487.487 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:35:15,488.488 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:35:15,491.491 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:35:15,494.494 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:35:17,535.535 INFO    ] ================================================
[2026-08-29 04:35:17,551.551 INFO    ] Launching Daemon at Sat Aug 29 04:35:17 IST 2026
[2026-08-29 04:35:17,562.562 INFO    ] ================================================
[2026-08-29 04:35:17,937.937 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:35:17
[2026-08-29 04:35:18,279.279 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:35:18,552.552 INFO    ] Initializing speech engine...
[2026-08-29 04:35:18,561.561 INFO    ] 2026-08-29 04:35:18
[2026-08-29 04:35:18,876.876 INFO    ] 2026-08-29 04:35:18
[2026-08-29 04:35:18,915.915 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:35:19,060.060 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:35:19,063.063 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:35:19,198.198 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:35:19,205.205 INFO    ] time= 29/08/2026 04:35:19
[2026-08-29 04:35:19,224.224 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:35:19,230.230 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:35:19,302.302 INFO    ] No existing commands found in stream
[2026-08-29 04:35:24,338.338 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:35:24,341.341 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-08-29 04:35:27,192.192 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:35:27,193.193 INFO    ] Checking for system updates...
[2026-08-29 04:35:27,215.215 INFO    ] 200
[2026-08-29 04:35:27,216.216 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:35:27,249.249 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:35:27,250.250 INFO    ] No update needed
[2026-08-29 04:35:27,251.251 INFO    ] Checking for camera pi updates...
[2026-08-29 04:35:27,272.272 INFO    ] 200
[2026-08-29 04:35:27,274.274 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:35:27,298.298 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:35:27,390.390 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:35:27,392.392 INFO    ] No camera update needed
[2026-08-29 04:35:27,393.393 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:35:27,394.394 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:35:27,397.397 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:35:27,400.400 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:35:29,437.437 INFO    ] ================================================
[2026-08-29 04:35:29,454.454 INFO    ] Launching Daemon at Sat Aug 29 04:35:29 IST 2026
[2026-08-29 04:35:29,464.464 INFO    ] ================================================
[2026-08-29 04:35:30,131.131 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:35:30
[2026-08-29 04:35:30,684.684 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:35:30,836.836 INFO    ] Initializing speech engine...
[2026-08-29 04:35:30,841.841 INFO    ] 2026-08-29 04:35:30
[2026-08-29 04:35:31,051.051 INFO    ] 2026-08-29 04:35:31
[2026-08-29 04:35:31,079.079 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:35:31,207.207 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:35:31,275.275 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:35:31,453.453 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:35:31,516.516 INFO    ] time= 29/08/2026 04:35:31
[2026-08-29 04:35:31,572.572 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:35:31,618.618 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:35:31,744.744 INFO    ] No existing commands found in stream
[2026-08-29 04:35:36,771.771 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:35:36,775.775 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 04:35:40,260.260 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:35:40,262.262 INFO    ] Checking for system updates...
[2026-08-29 04:35:40,283.283 INFO    ] 200
[2026-08-29 04:35:40,284.284 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:35:40,317.317 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:35:40,318.318 INFO    ] No update needed
[2026-08-29 04:35:40,319.319 INFO    ] Checking for camera pi updates...
[2026-08-29 04:35:40,339.339 INFO    ] 200
[2026-08-29 04:35:40,342.342 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:35:40,383.383 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:35:40,474.474 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:35:40,477.477 INFO    ] No camera update needed
[2026-08-29 04:35:40,479.479 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:35:40,481.481 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:35:40,487.487 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:35:40,491.491 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:35:42,531.531 INFO    ] ================================================
[2026-08-29 04:35:42,548.548 INFO    ] Launching Daemon at Sat Aug 29 04:35:42 IST 2026
[2026-08-29 04:35:42,559.559 INFO    ] ================================================
[2026-08-29 04:35:43,224.224 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:35:43
[2026-08-29 04:35:43,684.684 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:35:43,835.835 INFO    ] Initializing speech engine...
[2026-08-29 04:35:43,840.840 INFO    ] 2026-08-29 04:35:43
[2026-08-29 04:35:44,052.052 INFO    ] 2026-08-29 04:35:44
[2026-08-29 04:35:44,081.081 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:35:44,211.211 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:35:44,270.270 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:35:44,423.423 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:35:44,449.449 INFO    ] time= 29/08/2026 04:35:44
[2026-08-29 04:35:44,512.512 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:35:44,567.567 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:35:44,656.656 INFO    ] No existing commands found in stream
[2026-08-29 04:35:49,666.666 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:35:49,670.670 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-08-29 04:35:51,357.357 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:35:51,358.358 INFO    ] Checking for system updates...
[2026-08-29 04:35:51,380.380 INFO    ] 200
[2026-08-29 04:35:51,381.381 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:35:51,414.414 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:35:51,415.415 INFO    ] No update needed
[2026-08-29 04:35:51,416.416 INFO    ] Checking for camera pi updates...
[2026-08-29 04:35:51,437.437 INFO    ] 200
[2026-08-29 04:35:51,438.438 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:35:51,462.462 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:35:51,558.558 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:35:51,559.559 INFO    ] No camera update needed
[2026-08-29 04:35:51,560.560 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:35:51,561.561 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:35:51,564.564 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:35:51,567.567 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:35:53,605.605 INFO    ] ================================================
[2026-08-29 04:35:53,621.621 INFO    ] Launching Daemon at Sat Aug 29 04:35:53 IST 2026
[2026-08-29 04:35:53,632.632 INFO    ] ================================================
[2026-08-29 04:35:53,973.973 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:35:53
[2026-08-29 04:35:54,293.293 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:35:54,514.514 INFO    ] Initializing speech engine...
[2026-08-29 04:35:54,522.522 INFO    ] 2026-08-29 04:35:54
[2026-08-29 04:35:54,775.775 INFO    ] 2026-08-29 04:35:54
[2026-08-29 04:35:54,811.811 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:35:54,985.985 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:35:55,008.008 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:35:55,139.139 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:35:55,147.147 INFO    ] time= 29/08/2026 04:35:55
[2026-08-29 04:35:55,154.154 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:35:55,200.200 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:35:55,316.316 INFO    ] No existing commands found in stream
[2026-08-29 04:36:00,346.346 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:36:00,349.349 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-08-29 04:36:04,356.356 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:36:04,358.358 INFO    ] Checking for system updates...
[2026-08-29 04:36:04,394.394 INFO    ] 200
[2026-08-29 04:36:04,396.396 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:36:04,456.456 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:36:04,458.458 INFO    ] No update needed
[2026-08-29 04:36:04,460.460 INFO    ] Checking for camera pi updates...
[2026-08-29 04:36:04,494.494 INFO    ] 200
[2026-08-29 04:36:04,496.496 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:36:04,537.537 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:36:04,616.616 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:36:04,619.619 INFO    ] No camera update needed
[2026-08-29 04:36:04,621.621 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:36:04,624.624 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:36:04,629.629 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:36:04,634.634 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:36:06,676.676 INFO    ] ================================================
[2026-08-29 04:36:06,692.692 INFO    ] Launching Daemon at Sat Aug 29 04:36:06 IST 2026
[2026-08-29 04:36:06,704.704 INFO    ] ================================================
[2026-08-29 04:36:07,285.285 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:36:07
[2026-08-29 04:36:07,884.884 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:36:08,160.160 INFO    ] Initializing speech engine...
[2026-08-29 04:36:08,166.166 INFO    ] 2026-08-29 04:36:08
[2026-08-29 04:36:08,427.427 INFO    ] 2026-08-29 04:36:08
[2026-08-29 04:36:08,489.489 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:36:08,709.709 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:36:08,718.718 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:36:08,857.857 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:36:08,884.884 INFO    ] time= 29/08/2026 04:36:08
[2026-08-29 04:36:08,943.943 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:36:08,990.990 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:36:09,044.044 INFO    ] No existing commands found in stream
[2026-08-29 04:36:14,056.056 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:36:14,059.059 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-08-29 04:36:16,855.855 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:36:16,856.856 INFO    ] Checking for system updates...
[2026-08-29 04:36:16,877.877 INFO    ] 200
[2026-08-29 04:36:16,879.879 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:36:16,909.909 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:36:16,910.910 INFO    ] No update needed
[2026-08-29 04:36:16,912.912 INFO    ] Checking for camera pi updates...
[2026-08-29 04:36:16,932.932 INFO    ] 200
[2026-08-29 04:36:16,934.934 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:36:16,958.958 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:36:17,036.036 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:36:17,037.037 INFO    ] No camera update needed
[2026-08-29 04:36:17,038.038 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:36:17,040.040 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:36:17,043.043 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:36:17,045.045 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:36:19,084.084 INFO    ] ================================================
[2026-08-29 04:36:19,099.099 INFO    ] Launching Daemon at Sat Aug 29 04:36:19 IST 2026
[2026-08-29 04:36:19,110.110 INFO    ] ================================================
[2026-08-29 04:36:19,596.596 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:36:19
[2026-08-29 04:36:20,271.271 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:36:20,574.574 INFO    ] Initializing speech engine...
[2026-08-29 04:36:20,588.588 INFO    ] 2026-08-29 04:36:20
[2026-08-29 04:36:20,869.869 INFO    ] 2026-08-29 04:36:20
[2026-08-29 04:36:20,913.913 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:36:21,131.131 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:36:21,140.140 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:36:21,275.275 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:36:21,324.324 INFO    ] time= 29/08/2026 04:36:21
[2026-08-29 04:36:21,373.373 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:36:21,405.405 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:36:21,485.485 INFO    ] No existing commands found in stream
[2026-08-29 04:36:26,519.519 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:36:26,522.522 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-08-29 04:36:30,127.127 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:36:30,129.129 INFO    ] Checking for system updates...
[2026-08-29 04:36:30,246.246 INFO    ] 200
[2026-08-29 04:36:30,247.247 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:36:30,295.295 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:36:30,298.298 INFO    ] No update needed
[2026-08-29 04:36:30,300.300 INFO    ] Checking for camera pi updates...
[2026-08-29 04:36:30,335.335 INFO    ] 200
[2026-08-29 04:36:30,338.338 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:36:30,384.384 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:36:30,466.466 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:36:30,468.468 INFO    ] No camera update needed
[2026-08-29 04:36:30,471.471 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:36:30,474.474 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:36:30,480.480 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:36:30,486.486 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:36:32,529.529 INFO    ] ================================================
[2026-08-29 04:36:32,546.546 INFO    ] Launching Daemon at Sat Aug 29 04:36:32 IST 2026
[2026-08-29 04:36:32,557.557 INFO    ] ================================================
[2026-08-29 04:36:33,159.159 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:36:33
[2026-08-29 04:36:33,588.588 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:36:33,831.831 INFO    ] Initializing speech engine...
[2026-08-29 04:36:33,843.843 INFO    ] 2026-08-29 04:36:33
[2026-08-29 04:36:34,107.107 INFO    ] 2026-08-29 04:36:34
[2026-08-29 04:36:34,143.143 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:36:34,316.316 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:36:34,339.339 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:36:34,468.468 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:36:34,476.476 INFO    ] time= 29/08/2026 04:36:34
[2026-08-29 04:36:34,483.483 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:36:34,523.523 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:36:34,652.652 INFO    ] No existing commands found in stream
[2026-08-29 04:36:39,683.683 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:36:39,685.685 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-08-29 04:36:43,279.279 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:36:43,280.280 INFO    ] Checking for system updates...
[2026-08-29 04:36:43,301.301 INFO    ] 200
[2026-08-29 04:36:43,303.303 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:36:43,332.332 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:36:43,334.334 INFO    ] No update needed
[2026-08-29 04:36:43,335.335 INFO    ] Checking for camera pi updates...
[2026-08-29 04:36:43,354.354 INFO    ] 200
[2026-08-29 04:36:43,355.355 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:36:43,379.379 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:36:43,479.479 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:36:43,480.480 INFO    ] No camera update needed
[2026-08-29 04:36:43,481.481 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:36:43,483.483 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:36:43,486.486 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:36:43,488.488 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:36:45,528.528 INFO    ] ================================================
[2026-08-29 04:36:45,544.544 INFO    ] Launching Daemon at Sat Aug 29 04:36:45 IST 2026
[2026-08-29 04:36:45,555.555 INFO    ] ================================================
[2026-08-29 04:36:45,899.899 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:36:45
[2026-08-29 04:36:46,211.211 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:36:46,345.345 INFO    ] Initializing speech engine...
[2026-08-29 04:36:46,354.354 INFO    ] 2026-08-29 04:36:46
[2026-08-29 04:36:46,579.579 INFO    ] 2026-08-29 04:36:46
[2026-08-29 04:36:46,609.609 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:36:46,741.741 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:36:46,799.799 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:36:46,973.973 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:36:47,009.009 INFO    ] time= 29/08/2026 04:36:46
[2026-08-29 04:36:47,065.065 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:36:47,109.109 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:36:47,210.210 INFO    ] No existing commands found in stream
[2026-08-29 04:36:52,234.234 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:36:52,236.236 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-08-29 04:36:58,807.807 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:36:58,808.808 INFO    ] Checking for system updates...
[2026-08-29 04:36:58,828.828 INFO    ] 200
[2026-08-29 04:36:58,830.830 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:36:58,863.863 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:36:58,864.864 INFO    ] No update needed
[2026-08-29 04:36:58,866.866 INFO    ] Checking for camera pi updates...
[2026-08-29 04:36:58,886.886 INFO    ] 200
[2026-08-29 04:36:58,887.887 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:36:58,912.912 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:36:59,089.089 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:36:59,090.090 INFO    ] No camera update needed
[2026-08-29 04:36:59,092.092 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:36:59,093.093 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:36:59,096.096 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:36:59,099.099 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:37:01,139.139 INFO    ] ================================================
[2026-08-29 04:37:01,156.156 INFO    ] Launching Daemon at Sat Aug 29 04:37:01 IST 2026
[2026-08-29 04:37:01,168.168 INFO    ] ================================================
[2026-08-29 04:37:01,482.482 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:37:01
[2026-08-29 04:37:02,185.185 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:37:02,524.524 INFO    ] Initializing speech engine...
[2026-08-29 04:37:02,538.538 INFO    ] 2026-08-29 04:37:02
[2026-08-29 04:37:02,871.871 INFO    ] 2026-08-29 04:37:02
[2026-08-29 04:37:02,923.923 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:37:03,183.183 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:37:03,210.210 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:37:03,389.389 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:37:03,406.406 INFO    ] time= 29/08/2026 04:37:03
[2026-08-29 04:37:03,422.422 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:37:03,466.466 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:37:03,568.568 INFO    ] No existing commands found in stream
[2026-08-29 04:37:08,579.579 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:37:08,582.582 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-08-29 04:37:12,655.655 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:37:12,656.656 INFO    ] Checking for system updates...
[2026-08-29 04:37:12,677.677 INFO    ] 200
[2026-08-29 04:37:12,678.678 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:37:12,708.708 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:37:12,709.709 INFO    ] No update needed
[2026-08-29 04:37:12,711.711 INFO    ] Checking for camera pi updates...
[2026-08-29 04:37:12,731.731 INFO    ] 200
[2026-08-29 04:37:12,732.732 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:37:12,755.755 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:37:12,834.834 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:37:12,836.836 INFO    ] No camera update needed
[2026-08-29 04:37:12,837.837 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:37:12,838.838 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:37:12,841.841 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:37:12,844.844 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:37:14,884.884 INFO    ] ================================================
[2026-08-29 04:37:14,900.900 INFO    ] Launching Daemon at Sat Aug 29 04:37:14 IST 2026
[2026-08-29 04:37:14,911.911 INFO    ] ================================================
[2026-08-29 04:37:15,482.482 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:37:15
[2026-08-29 04:37:16,153.153 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:37:16,457.457 INFO    ] Initializing speech engine...
[2026-08-29 04:37:16,465.465 INFO    ] 2026-08-29 04:37:16
[2026-08-29 04:37:16,742.742 INFO    ] 2026-08-29 04:37:16
[2026-08-29 04:37:16,796.796 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:37:17,018.018 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:37:17,028.028 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:37:17,163.163 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:37:17,218.218 INFO    ] time= 29/08/2026 04:37:17
[2026-08-29 04:37:17,283.283 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:37:17,295.295 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:37:17,350.350 INFO    ] No existing commands found in stream
[2026-08-29 04:37:22,364.364 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:37:22,367.367 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-08-29 04:37:24,520.520 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:37:24,522.522 INFO    ] Checking for system updates...
[2026-08-29 04:37:24,542.542 INFO    ] 200
[2026-08-29 04:37:24,544.544 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:37:24,574.574 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:37:24,576.576 INFO    ] No update needed
[2026-08-29 04:37:24,577.577 INFO    ] Checking for camera pi updates...
[2026-08-29 04:37:24,596.596 INFO    ] 200
[2026-08-29 04:37:24,597.597 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:37:24,625.625 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:37:24,720.720 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:37:24,723.723 INFO    ] No camera update needed
[2026-08-29 04:37:24,725.725 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:37:24,727.727 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:37:24,733.733 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:37:24,738.738 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:37:26,778.778 INFO    ] ================================================
[2026-08-29 04:37:26,793.793 INFO    ] Launching Daemon at Sat Aug 29 04:37:26 IST 2026
[2026-08-29 04:37:26,804.804 INFO    ] ================================================
[2026-08-29 04:37:27,391.391 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:37:27
[2026-08-29 04:37:27,879.879 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:37:28,021.021 INFO    ] Initializing speech engine...
[2026-08-29 04:37:28,030.030 INFO    ] 2026-08-29 04:37:28
[2026-08-29 04:37:28,249.249 INFO    ] 2026-08-29 04:37:28
[2026-08-29 04:37:28,280.280 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:37:28,412.412 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:37:28,440.440 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:37:28,599.599 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:37:28,627.627 INFO    ] time= 29/08/2026 04:37:28
[2026-08-29 04:37:28,694.694 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:37:28,727.727 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:37:28,804.804 INFO    ] No existing commands found in stream
[2026-08-29 04:37:33,814.814 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:37:33,817.817 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-08-29 04:37:36,874.874 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:37:36,875.875 INFO    ] Checking for system updates...
[2026-08-29 04:37:36,897.897 INFO    ] 200
[2026-08-29 04:37:36,898.898 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:37:36,930.930 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:37:36,931.931 INFO    ] No update needed
[2026-08-29 04:37:36,933.933 INFO    ] Checking for camera pi updates...
[2026-08-29 04:37:36,953.953 INFO    ] 200
[2026-08-29 04:37:36,954.954 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:37:36,977.977 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:37:37,088.088 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:37:37,090.090 INFO    ] No camera update needed
[2026-08-29 04:37:37,091.091 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:37:37,093.093 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:37:37,096.096 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:37:37,098.098 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:37:39,138.138 INFO    ] ================================================
[2026-08-29 04:37:39,154.154 INFO    ] Launching Daemon at Sat Aug 29 04:37:39 IST 2026
[2026-08-29 04:37:39,165.165 INFO    ] ================================================
[2026-08-29 04:37:39,594.594 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:37:39
[2026-08-29 04:37:40,183.183 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:37:40,455.455 INFO    ] Initializing speech engine...
[2026-08-29 04:37:40,464.464 INFO    ] 2026-08-29 04:37:40
[2026-08-29 04:37:40,716.716 INFO    ] 2026-08-29 04:37:40
[2026-08-29 04:37:40,750.750 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:37:40,928.928 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:37:40,939.939 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:37:41,052.052 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:37:41,057.057 INFO    ] time= 29/08/2026 04:37:41
[2026-08-29 04:37:41,074.074 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:37:41,095.095 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:37:41,173.173 INFO    ] No existing commands found in stream
[2026-08-29 04:37:46,198.198 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:37:46,201.201 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 04:37:47,366.366 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:37:47,368.368 INFO    ] Checking for system updates...
[2026-08-29 04:37:47,388.388 INFO    ] 200
[2026-08-29 04:37:47,389.389 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:37:47,434.434 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:37:47,437.437 INFO    ] No update needed
[2026-08-29 04:37:47,439.439 INFO    ] Checking for camera pi updates...
[2026-08-29 04:37:47,472.472 INFO    ] 200
[2026-08-29 04:37:47,475.475 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:37:47,520.520 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:37:47,600.600 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:37:47,603.603 INFO    ] No camera update needed
[2026-08-29 04:37:47,605.605 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:37:47,607.607 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:37:47,613.613 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:37:47,618.618 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:37:49,660.660 INFO    ] ================================================
[2026-08-29 04:37:49,676.676 INFO    ] Launching Daemon at Sat Aug 29 04:37:49 IST 2026
[2026-08-29 04:37:49,687.687 INFO    ] ================================================
[2026-08-29 04:37:50,321.321 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:37:50
[2026-08-29 04:37:50,826.826 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:37:51,078.078 INFO    ] Initializing speech engine...
[2026-08-29 04:37:51,091.091 INFO    ] 2026-08-29 04:37:51
[2026-08-29 04:37:51,359.359 INFO    ] 2026-08-29 04:37:51
[2026-08-29 04:37:51,394.394 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:37:51,570.570 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:37:51,583.583 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:37:51,729.729 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:37:51,737.737 INFO    ] time= 29/08/2026 04:37:51
[2026-08-29 04:37:51,745.745 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:37:51,780.780 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:37:51,904.904 INFO    ] No existing commands found in stream
[2026-08-29 04:37:56,929.929 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:37:56,933.933 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-08-29 04:37:58,880.880 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:37:58,882.882 INFO    ] Checking for system updates...
[2026-08-29 04:37:58,902.902 INFO    ] 200
[2026-08-29 04:37:58,904.904 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:37:58,933.933 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:37:58,935.935 INFO    ] No update needed
[2026-08-29 04:37:58,936.936 INFO    ] Checking for camera pi updates...
[2026-08-29 04:37:58,955.955 INFO    ] 200
[2026-08-29 04:37:58,956.956 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:37:58,979.979 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:37:59,078.078 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:37:59,081.081 INFO    ] No camera update needed
[2026-08-29 04:37:59,083.083 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:37:59,086.086 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:37:59,091.091 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:37:59,096.096 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:38:01,138.138 INFO    ] ================================================
[2026-08-29 04:38:01,155.155 INFO    ] Launching Daemon at Sat Aug 29 04:38:01 IST 2026
[2026-08-29 04:38:01,166.166 INFO    ] ================================================
[2026-08-29 04:38:01,838.838 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:38:01
[2026-08-29 04:38:02,460.460 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:38:02,800.800 INFO    ] Initializing speech engine...
[2026-08-29 04:38:02,811.811 INFO    ] 2026-08-29 04:38:02
[2026-08-29 04:38:03,118.118 INFO    ] 2026-08-29 04:38:03
[2026-08-29 04:38:03,168.168 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:38:03,338.338 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:38:03,344.344 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:38:03,482.482 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:38:03,491.491 INFO    ] time= 29/08/2026 04:38:03
[2026-08-29 04:38:03,496.496 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:38:03,500.500 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:38:03,563.563 INFO    ] No existing commands found in stream
[2026-08-29 04:38:08,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:38:08,577.577 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 04:38:10,530.530 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:38:10,532.532 INFO    ] Checking for system updates...
[2026-08-29 04:38:10,554.554 INFO    ] 200
[2026-08-29 04:38:10,555.555 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:38:10,587.587 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:38:10,589.589 INFO    ] No update needed
[2026-08-29 04:38:10,590.590 INFO    ] Checking for camera pi updates...
[2026-08-29 04:38:10,609.609 INFO    ] 200
[2026-08-29 04:38:10,610.610 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:38:10,634.634 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:38:10,716.716 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:38:10,717.717 INFO    ] No camera update needed
[2026-08-29 04:38:10,719.719 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:38:10,720.720 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:38:10,723.723 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:38:10,725.725 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:38:12,764.764 INFO    ] ================================================
[2026-08-29 04:38:12,779.779 INFO    ] Launching Daemon at Sat Aug 29 04:38:12 IST 2026
[2026-08-29 04:38:12,790.790 INFO    ] ================================================
[2026-08-29 04:38:13,174.174 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:38:13
[2026-08-29 04:38:13,515.515 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:38:13,667.667 INFO    ] Initializing speech engine...
[2026-08-29 04:38:13,673.673 INFO    ] 2026-08-29 04:38:13
[2026-08-29 04:38:13,880.880 INFO    ] 2026-08-29 04:38:13
[2026-08-29 04:38:13,909.909 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:38:14,037.037 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:38:14,095.095 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:38:14,230.230 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:38:14,292.292 INFO    ] time= 29/08/2026 04:38:14
[2026-08-29 04:38:14,324.324 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:38:14,326.326 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:38:14,397.397 INFO    ] No existing commands found in stream
[2026-08-29 04:38:19,408.408 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:38:19,411.411 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-08-29 04:38:21,196.196 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:38:21,199.199 INFO    ] Checking for system updates...
[2026-08-29 04:38:21,240.240 INFO    ] 200
[2026-08-29 04:38:21,243.243 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:38:21,296.296 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:38:21,299.299 INFO    ] No update needed
[2026-08-29 04:38:21,301.301 INFO    ] Checking for camera pi updates...
[2026-08-29 04:38:21,340.340 INFO    ] 200
[2026-08-29 04:38:21,343.343 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:38:21,384.384 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:38:21,467.467 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:38:21,469.469 INFO    ] No camera update needed
[2026-08-29 04:38:21,472.472 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:38:21,475.475 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:38:21,481.481 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:38:21,487.487 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:38:23,530.530 INFO    ] ================================================
[2026-08-29 04:38:23,545.545 INFO    ] Launching Daemon at Sat Aug 29 04:38:23 IST 2026
[2026-08-29 04:38:23,556.556 INFO    ] ================================================
[2026-08-29 04:38:24,123.123 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:38:24
[2026-08-29 04:38:24,487.487 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:38:24,622.622 INFO    ] Initializing speech engine...
[2026-08-29 04:38:24,626.626 INFO    ] 2026-08-29 04:38:24
[2026-08-29 04:38:24,859.859 INFO    ] 2026-08-29 04:38:24
[2026-08-29 04:38:24,889.889 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:38:25,021.021 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:38:25,070.070 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:38:25,232.232 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:38:25,264.264 INFO    ] time= 29/08/2026 04:38:25
[2026-08-29 04:38:25,318.318 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:38:25,341.341 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:38:25,417.417 INFO    ] No existing commands found in stream
[2026-08-29 04:38:30,428.428 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:38:30,431.431 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 04:38:32,638.638 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:38:32,641.641 INFO    ] Checking for system updates...
[2026-08-29 04:38:32,677.677 INFO    ] 200
[2026-08-29 04:38:32,679.679 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:38:32,733.733 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:38:32,736.736 INFO    ] No update needed
[2026-08-29 04:38:32,738.738 INFO    ] Checking for camera pi updates...
[2026-08-29 04:38:32,772.772 INFO    ] 200
[2026-08-29 04:38:32,774.774 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:38:32,819.819 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:38:32,905.905 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:38:32,908.908 INFO    ] No camera update needed
[2026-08-29 04:38:32,910.910 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:38:32,912.912 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:38:32,918.918 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:38:32,923.923 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:38:34,963.963 INFO    ] ================================================
[2026-08-29 04:38:34,979.979 INFO    ] Launching Daemon at Sat Aug 29 04:38:34 IST 2026
[2026-08-29 04:38:34,989.989 INFO    ] ================================================
[2026-08-29 04:38:35,350.350 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:38:35
[2026-08-29 04:38:35,665.665 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:38:35,799.799 INFO    ] Initializing speech engine...
[2026-08-29 04:38:35,803.803 INFO    ] 2026-08-29 04:38:35
[2026-08-29 04:38:36,090.090 INFO    ] 2026-08-29 04:38:36
[2026-08-29 04:38:36,125.125 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:38:36,277.277 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:38:36,286.286 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:38:36,437.437 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:38:36,447.447 INFO    ] time= 29/08/2026 04:38:36
[2026-08-29 04:38:36,451.451 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:38:36,457.457 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:38:36,529.529 INFO    ] No existing commands found in stream
[2026-08-29 04:38:41,541.541 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:38:41,544.544 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-08-29 04:38:44,297.297 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:38:44,299.299 INFO    ] Checking for system updates...
[2026-08-29 04:38:44,320.320 INFO    ] 200
[2026-08-29 04:38:44,322.322 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:38:44,352.352 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:38:44,354.354 INFO    ] No update needed
[2026-08-29 04:38:44,355.355 INFO    ] Checking for camera pi updates...
[2026-08-29 04:38:44,375.375 INFO    ] 200
[2026-08-29 04:38:44,376.376 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:38:44,400.400 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:38:44,495.495 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:38:44,496.496 INFO    ] No camera update needed
[2026-08-29 04:38:44,497.497 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:38:44,498.498 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:38:44,501.501 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:38:44,504.504 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:38:46,543.543 INFO    ] ================================================
[2026-08-29 04:38:46,558.558 INFO    ] Launching Daemon at Sat Aug 29 04:38:46 IST 2026
[2026-08-29 04:38:46,569.569 INFO    ] ================================================
[2026-08-29 04:38:47,089.089 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:38:47
[2026-08-29 04:38:47,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:38:47,933.933 INFO    ] Initializing speech engine...
[2026-08-29 04:38:47,941.941 INFO    ] 2026-08-29 04:38:47
[2026-08-29 04:38:48,239.239 INFO    ] 2026-08-29 04:38:48
[2026-08-29 04:38:48,265.265 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:38:48,425.425 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:38:48,433.433 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:38:48,585.585 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:38:48,596.596 INFO    ] time= 29/08/2026 04:38:48
[2026-08-29 04:38:48,602.602 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:38:48,625.625 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:38:48,679.679 INFO    ] No existing commands found in stream
[2026-08-29 04:38:53,690.690 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:38:53,693.693 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 04:38:57,066.066 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:38:57,068.068 INFO    ] Checking for system updates...
[2026-08-29 04:38:57,088.088 INFO    ] 200
[2026-08-29 04:38:57,089.089 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:38:57,119.119 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:38:57,120.120 INFO    ] No update needed
[2026-08-29 04:38:57,121.121 INFO    ] Checking for camera pi updates...
[2026-08-29 04:38:57,142.142 INFO    ] 200
[2026-08-29 04:38:57,143.143 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:38:57,167.167 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:38:57,255.255 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:38:57,256.256 INFO    ] No camera update needed
[2026-08-29 04:38:57,257.257 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:38:57,259.259 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:38:57,262.262 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:38:57,265.265 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:38:59,304.304 INFO    ] ================================================
[2026-08-29 04:38:59,320.320 INFO    ] Launching Daemon at Sat Aug 29 04:38:59 IST 2026
[2026-08-29 04:38:59,331.331 INFO    ] ================================================
[2026-08-29 04:38:59,821.821 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:38:59
[2026-08-29 04:39:00,424.424 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:39:00,693.693 INFO    ] Initializing speech engine...
[2026-08-29 04:39:00,717.717 INFO    ] 2026-08-29 04:39:00
[2026-08-29 04:39:01,006.006 INFO    ] 2026-08-29 04:39:00
[2026-08-29 04:39:01,044.044 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:39:01,243.243 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:39:01,248.248 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:39:01,361.361 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:39:01,385.385 INFO    ] time= 29/08/2026 04:39:01
[2026-08-29 04:39:01,393.393 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:39:01,398.398 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:39:01,457.457 INFO    ] No existing commands found in stream
[2026-08-29 04:39:06,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:39:06,477.477 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-08-29 04:39:06,851.851 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:39:06,853.853 INFO    ] Checking for system updates...
[2026-08-29 04:39:06,873.873 INFO    ] 200
[2026-08-29 04:39:06,875.875 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:39:06,905.905 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:39:06,907.907 INFO    ] No update needed
[2026-08-29 04:39:06,908.908 INFO    ] Checking for camera pi updates...
[2026-08-29 04:39:06,929.929 INFO    ] 200
[2026-08-29 04:39:06,930.930 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:39:06,955.955 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:39:07,056.056 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:39:07,058.058 INFO    ] No camera update needed
[2026-08-29 04:39:07,059.059 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:39:07,060.060 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:39:07,064.064 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:39:07,067.067 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:39:09,107.107 INFO    ] ================================================
[2026-08-29 04:39:09,122.122 INFO    ] Launching Daemon at Sat Aug 29 04:39:09 IST 2026
[2026-08-29 04:39:09,133.133 INFO    ] ================================================
[2026-08-29 04:39:09,623.623 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:39:09
[2026-08-29 04:39:10,210.210 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:39:10,482.482 INFO    ] Initializing speech engine...
[2026-08-29 04:39:10,490.490 INFO    ] 2026-08-29 04:39:10
[2026-08-29 04:39:10,750.750 INFO    ] 2026-08-29 04:39:10
[2026-08-29 04:39:10,808.808 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:39:10,940.940 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:39:10,956.956 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:39:11,078.078 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:39:11,083.083 INFO    ] time= 29/08/2026 04:39:11
[2026-08-29 04:39:11,102.102 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:39:11,121.121 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:39:11,195.195 INFO    ] No existing commands found in stream
[2026-08-29 04:39:16,208.208 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:39:16,210.210 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-08-29 04:39:19,521.521 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:39:19,523.523 INFO    ] Checking for system updates...
[2026-08-29 04:39:19,544.544 INFO    ] 200
[2026-08-29 04:39:19,545.545 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:39:19,575.575 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:39:19,576.576 INFO    ] No update needed
[2026-08-29 04:39:19,578.578 INFO    ] Checking for camera pi updates...
[2026-08-29 04:39:19,599.599 INFO    ] 200
[2026-08-29 04:39:19,601.601 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:39:19,624.624 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:39:19,700.700 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:39:19,702.702 INFO    ] No camera update needed
[2026-08-29 04:39:19,703.703 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:39:19,704.704 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:39:19,707.707 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:39:19,710.710 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:39:21,750.750 INFO    ] ================================================
[2026-08-29 04:39:21,765.765 INFO    ] Launching Daemon at Sat Aug 29 04:39:21 IST 2026
[2026-08-29 04:39:21,776.776 INFO    ] ================================================
[2026-08-29 04:39:22,355.355 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:39:22
[2026-08-29 04:39:22,955.955 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:39:23,222.222 INFO    ] Initializing speech engine...
[2026-08-29 04:39:23,247.247 INFO    ] 2026-08-29 04:39:23
[2026-08-29 04:39:23,526.526 INFO    ] 2026-08-29 04:39:23
[2026-08-29 04:39:23,562.562 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:39:23,710.710 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:39:23,717.717 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:39:23,870.870 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:39:23,881.881 INFO    ] time= 29/08/2026 04:39:23
[2026-08-29 04:39:23,885.885 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:39:23,892.892 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:39:23,962.962 INFO    ] No existing commands found in stream
[2026-08-29 04:39:28,974.974 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:39:28,977.977 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-08-29 04:39:29,510.510 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:39:29,512.512 INFO    ] Checking for system updates...
[2026-08-29 04:39:29,533.533 INFO    ] 200
[2026-08-29 04:39:29,534.534 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:39:29,564.564 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:39:29,566.566 INFO    ] No update needed
[2026-08-29 04:39:29,567.567 INFO    ] Checking for camera pi updates...
[2026-08-29 04:39:29,586.586 INFO    ] 200
[2026-08-29 04:39:29,587.587 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:39:29,614.614 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:39:29,702.702 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:39:29,703.703 INFO    ] No camera update needed
[2026-08-29 04:39:29,705.705 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:39:29,706.706 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:39:29,709.709 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:39:29,711.711 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:39:31,742.742 INFO    ] ================================================
[2026-08-29 04:39:31,752.752 INFO    ] Launching Daemon at Sat Aug 29 04:39:31 IST 2026
[2026-08-29 04:39:31,758.758 INFO    ] ================================================
[2026-08-29 04:39:32,335.335 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:39:32
[2026-08-29 04:39:32,967.967 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:39:33,246.246 INFO    ] Initializing speech engine...
[2026-08-29 04:39:33,255.255 INFO    ] 2026-08-29 04:39:33
[2026-08-29 04:39:33,514.514 INFO    ] 2026-08-29 04:39:33
[2026-08-29 04:39:33,543.543 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:39:33,708.708 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:39:33,720.720 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:39:33,861.861 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:39:33,869.869 INFO    ] time= 29/08/2026 04:39:33
[2026-08-29 04:39:33,875.875 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:39:33,921.921 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:39:34,056.056 INFO    ] No existing commands found in stream
[2026-08-29 04:39:39,078.078 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:39:39,081.081 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-08-29 04:39:41,471.471 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:39:41,473.473 INFO    ] Checking for system updates...
[2026-08-29 04:39:41,494.494 INFO    ] 200
[2026-08-29 04:39:41,495.495 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:39:41,525.525 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:39:41,526.526 INFO    ] No update needed
[2026-08-29 04:39:41,528.528 INFO    ] Checking for camera pi updates...
[2026-08-29 04:39:41,547.547 INFO    ] 200
[2026-08-29 04:39:41,548.548 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:39:41,571.571 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:39:41,654.654 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:39:41,656.656 INFO    ] No camera update needed
[2026-08-29 04:39:41,657.657 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:39:41,658.658 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:39:41,661.661 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:39:41,664.664 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:39:43,704.704 INFO    ] ================================================
[2026-08-29 04:39:43,719.719 INFO    ] Launching Daemon at Sat Aug 29 04:39:43 IST 2026
[2026-08-29 04:39:43,730.730 INFO    ] ================================================
[2026-08-29 04:39:44,102.102 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:39:44
[2026-08-29 04:39:44,448.448 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:39:44,603.603 INFO    ] Initializing speech engine...
[2026-08-29 04:39:44,609.609 INFO    ] 2026-08-29 04:39:44
[2026-08-29 04:39:44,820.820 INFO    ] 2026-08-29 04:39:44
[2026-08-29 04:39:44,850.850 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:39:45,012.012 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:39:45,045.045 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:39:45,186.186 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:39:45,206.206 INFO    ] time= 29/08/2026 04:39:45
[2026-08-29 04:39:45,236.236 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:39:45,247.247 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:39:45,352.352 INFO    ] No existing commands found in stream
[2026-08-29 04:39:50,383.383 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:39:50,386.386 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-08-29 04:39:52,672.672 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:39:52,674.674 INFO    ] Checking for system updates...
[2026-08-29 04:39:52,697.697 INFO    ] 200
[2026-08-29 04:39:52,698.698 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:39:52,731.731 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:39:52,732.732 INFO    ] No update needed
[2026-08-29 04:39:52,734.734 INFO    ] Checking for camera pi updates...
[2026-08-29 04:39:52,755.755 INFO    ] 200
[2026-08-29 04:39:52,757.757 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:39:52,785.785 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:39:52,870.870 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:39:52,872.872 INFO    ] No camera update needed
[2026-08-29 04:39:52,873.873 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:39:52,875.875 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:39:52,878.878 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:39:52,881.881 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:39:54,919.919 INFO    ] ================================================
[2026-08-29 04:39:54,935.935 INFO    ] Launching Daemon at Sat Aug 29 04:39:54 IST 2026
[2026-08-29 04:39:54,947.947 INFO    ] ================================================
[2026-08-29 04:39:55,327.327 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:39:55
[2026-08-29 04:39:55,670.670 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:39:55,965.965 INFO    ] Initializing speech engine...
[2026-08-29 04:39:55,978.978 INFO    ] 2026-08-29 04:39:55
[2026-08-29 04:39:56,268.268 INFO    ] 2026-08-29 04:39:56
[2026-08-29 04:39:56,315.315 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:39:56,544.544 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:39:56,555.555 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:39:56,692.692 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:39:56,715.715 INFO    ] time= 29/08/2026 04:39:56
[2026-08-29 04:39:56,781.781 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:39:56,832.832 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:39:56,887.887 INFO    ] No existing commands found in stream
[2026-08-29 04:40:01,901.901 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:40:01,912.912 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-08-29 04:40:04,401.401 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:40:04,404.404 INFO    ] Checking for system updates...
[2026-08-29 04:40:04,440.440 INFO    ] 200
[2026-08-29 04:40:04,442.442 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:40:04,504.504 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:40:04,506.506 INFO    ] No update needed
[2026-08-29 04:40:04,508.508 INFO    ] Checking for camera pi updates...
[2026-08-29 04:40:04,545.545 INFO    ] 200
[2026-08-29 04:40:04,548.548 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:40:04,580.580 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:40:04,681.681 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:40:04,682.682 INFO    ] No camera update needed
[2026-08-29 04:40:04,684.684 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:40:04,685.685 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:40:04,688.688 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:40:04,690.690 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:40:06,730.730 INFO    ] ================================================
[2026-08-29 04:40:06,746.746 INFO    ] Launching Daemon at Sat Aug 29 04:40:06 IST 2026
[2026-08-29 04:40:06,758.758 INFO    ] ================================================
[2026-08-29 04:40:07,093.093 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:40:07
[2026-08-29 04:40:07,410.410 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:40:07,544.544 INFO    ] Initializing speech engine...
[2026-08-29 04:40:07,549.549 INFO    ] 2026-08-29 04:40:07
[2026-08-29 04:40:07,747.747 INFO    ] 2026-08-29 04:40:07
[2026-08-29 04:40:07,786.786 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:40:07,908.908 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:40:07,912.912 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:40:08,029.029 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:40:08,046.046 INFO    ] time= 29/08/2026 04:40:08
[2026-08-29 04:40:08,051.051 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:40:08,055.055 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:40:08,128.128 INFO    ] No existing commands found in stream
[2026-08-29 04:40:13,163.163 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:40:13,166.166 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-08-29 04:40:15,284.284 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:40:15,286.286 INFO    ] Checking for system updates...
[2026-08-29 04:40:15,306.306 INFO    ] 200
[2026-08-29 04:40:15,307.307 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:40:15,338.338 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:40:15,339.339 INFO    ] No update needed
[2026-08-29 04:40:15,340.340 INFO    ] Checking for camera pi updates...
[2026-08-29 04:40:15,361.361 INFO    ] 200
[2026-08-29 04:40:15,362.362 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:40:15,385.385 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:40:15,466.466 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:40:15,467.467 INFO    ] No camera update needed
[2026-08-29 04:40:15,469.469 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:40:15,470.470 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:40:15,473.473 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:40:15,476.476 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:40:17,515.515 INFO    ] ================================================
[2026-08-29 04:40:17,531.531 INFO    ] Launching Daemon at Sat Aug 29 04:40:17 IST 2026
[2026-08-29 04:40:17,543.543 INFO    ] ================================================
[2026-08-29 04:40:17,905.905 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:40:17
[2026-08-29 04:40:18,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:40:18,417.417 INFO    ] Initializing speech engine...
[2026-08-29 04:40:18,432.432 INFO    ] 2026-08-29 04:40:18
[2026-08-29 04:40:18,726.726 INFO    ] 2026-08-29 04:40:18
[2026-08-29 04:40:18,762.762 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:40:18,912.912 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:40:18,919.919 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:40:19,059.059 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:40:19,067.067 INFO    ] time= 29/08/2026 04:40:19
[2026-08-29 04:40:19,073.073 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:40:19,094.094 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:40:19,205.205 INFO    ] No existing commands found in stream
[2026-08-29 04:40:24,216.216 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:40:24,219.219 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-08-29 04:40:26,662.662 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:40:26,664.664 INFO    ] Checking for system updates...
[2026-08-29 04:40:26,684.684 INFO    ] 200
[2026-08-29 04:40:26,685.685 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:40:26,715.715 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:40:26,716.716 INFO    ] No update needed
[2026-08-29 04:40:26,717.717 INFO    ] Checking for camera pi updates...
[2026-08-29 04:40:26,739.739 INFO    ] 200
[2026-08-29 04:40:26,740.740 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:40:26,763.763 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:40:26,837.837 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:40:26,838.838 INFO    ] No camera update needed
[2026-08-29 04:40:26,840.840 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:40:26,841.841 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:40:26,844.844 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:40:26,846.846 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:40:28,885.885 INFO    ] ================================================
[2026-08-29 04:40:28,902.902 INFO    ] Launching Daemon at Sat Aug 29 04:40:28 IST 2026
[2026-08-29 04:40:28,913.913 INFO    ] ================================================
[2026-08-29 04:40:29,285.285 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:40:29
[2026-08-29 04:40:29,603.603 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:40:29,743.743 INFO    ] Initializing speech engine...
[2026-08-29 04:40:29,753.753 INFO    ] 2026-08-29 04:40:29
[2026-08-29 04:40:29,985.985 INFO    ] 2026-08-29 04:40:29
[2026-08-29 04:40:30,051.051 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:40:30,218.218 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:40:30,254.254 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:40:30,417.417 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:40:30,433.433 INFO    ] time= 29/08/2026 04:40:30
[2026-08-29 04:40:30,493.493 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:40:30,552.552 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:40:30,608.608 INFO    ] No existing commands found in stream
[2026-08-29 04:40:35,619.619 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:40:35,622.622 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-08-29 04:40:39,879.879 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:40:39,881.881 INFO    ] Checking for system updates...
[2026-08-29 04:40:39,901.901 INFO    ] 200
[2026-08-29 04:40:39,903.903 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:40:39,933.933 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:40:39,934.934 INFO    ] No update needed
[2026-08-29 04:40:39,935.935 INFO    ] Checking for camera pi updates...
[2026-08-29 04:40:39,956.956 INFO    ] 200
[2026-08-29 04:40:39,957.957 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:40:39,992.992 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:40:40,089.089 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:40:40,092.092 INFO    ] No camera update needed
[2026-08-29 04:40:40,094.094 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:40:40,096.096 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:40:40,102.102 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:40:40,107.107 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:40:42,149.149 INFO    ] ================================================
[2026-08-29 04:40:42,165.165 INFO    ] Launching Daemon at Sat Aug 29 04:40:42 IST 2026
[2026-08-29 04:40:42,176.176 INFO    ] ================================================
[2026-08-29 04:40:42,837.837 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:40:42
[2026-08-29 04:40:43,308.308 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:40:43,459.459 INFO    ] Initializing speech engine...
[2026-08-29 04:40:43,465.465 INFO    ] 2026-08-29 04:40:43
[2026-08-29 04:40:43,674.674 INFO    ] 2026-08-29 04:40:43
[2026-08-29 04:40:43,701.701 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:40:43,841.841 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:40:43,868.868 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:40:44,022.022 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:40:44,033.033 INFO    ] time= 29/08/2026 04:40:44
[2026-08-29 04:40:44,060.060 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:40:44,118.118 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:40:44,239.239 INFO    ] No existing commands found in stream
[2026-08-29 04:40:49,263.263 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:40:49,266.266 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-08-29 04:40:53,626.626 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:40:53,627.627 INFO    ] Checking for system updates...
[2026-08-29 04:40:53,648.648 INFO    ] 200
[2026-08-29 04:40:53,649.649 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:40:53,680.680 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:40:53,681.681 INFO    ] No update needed
[2026-08-29 04:40:53,683.683 INFO    ] Checking for camera pi updates...
[2026-08-29 04:40:53,702.702 INFO    ] 200
[2026-08-29 04:40:53,704.704 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:40:53,729.729 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:40:53,810.810 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:40:53,812.812 INFO    ] No camera update needed
[2026-08-29 04:40:53,814.814 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:40:53,816.816 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:40:53,819.819 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:40:53,822.822 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:40:55,862.862 INFO    ] ================================================
[2026-08-29 04:40:55,878.878 INFO    ] Launching Daemon at Sat Aug 29 04:40:55 IST 2026
[2026-08-29 04:40:55,889.889 INFO    ] ================================================
[2026-08-29 04:40:56,243.243 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:40:56
[2026-08-29 04:40:56,784.784 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:40:57,062.062 INFO    ] Initializing speech engine...
[2026-08-29 04:40:57,071.071 INFO    ] 2026-08-29 04:40:57
[2026-08-29 04:40:57,320.320 INFO    ] 2026-08-29 04:40:57
[2026-08-29 04:40:57,355.355 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:40:57,528.528 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:40:57,541.541 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:40:57,683.683 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:40:57,691.691 INFO    ] time= 29/08/2026 04:40:57
[2026-08-29 04:40:57,699.699 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:40:57,755.755 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:40:57,873.873 INFO    ] No existing commands found in stream
[2026-08-29 04:41:02,895.895 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:41:02,903.903 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-08-29 04:41:03,445.445 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:41:03,448.448 INFO    ] Checking for system updates...
[2026-08-29 04:41:03,484.484 INFO    ] 200
[2026-08-29 04:41:03,486.486 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:41:03,538.538 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:41:03,540.540 INFO    ] No update needed
[2026-08-29 04:41:03,543.543 INFO    ] Checking for camera pi updates...
[2026-08-29 04:41:03,576.576 INFO    ] 200
[2026-08-29 04:41:03,579.579 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:41:03,619.619 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:41:03,704.704 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:41:03,706.706 INFO    ] No camera update needed
[2026-08-29 04:41:03,708.708 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:41:03,711.711 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:41:03,716.716 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:41:03,721.721 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:41:05,763.763 INFO    ] ================================================
[2026-08-29 04:41:05,779.779 INFO    ] Launching Daemon at Sat Aug 29 04:41:05 IST 2026
[2026-08-29 04:41:05,790.790 INFO    ] ================================================
[2026-08-29 04:41:06,398.398 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:41:06
[2026-08-29 04:41:07,058.058 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:41:07,362.362 INFO    ] Initializing speech engine...
[2026-08-29 04:41:07,376.376 INFO    ] 2026-08-29 04:41:07
[2026-08-29 04:41:07,663.663 INFO    ] 2026-08-29 04:41:07
[2026-08-29 04:41:07,774.774 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:41:07,932.932 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:41:07,938.938 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:41:08,075.075 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:41:08,125.125 INFO    ] time= 29/08/2026 04:41:08
[2026-08-29 04:41:08,185.185 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:41:08,209.209 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:41:08,267.267 INFO    ] No existing commands found in stream
[2026-08-29 04:41:13,280.280 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:41:13,284.284 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-08-29 04:41:14,921.921 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:41:14,923.923 INFO    ] Checking for system updates...
[2026-08-29 04:41:14,944.944 INFO    ] 200
[2026-08-29 04:41:14,945.945 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:41:14,979.979 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:41:14,980.980 INFO    ] No update needed
[2026-08-29 04:41:14,982.982 INFO    ] Checking for camera pi updates...
[2026-08-29 04:41:15,002.002 INFO    ] 200
[2026-08-29 04:41:15,003.003 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:41:15,027.027 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:41:15,225.225 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:41:15,227.227 INFO    ] No camera update needed
[2026-08-29 04:41:15,229.229 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:41:15,232.232 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:41:15,237.237 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:41:15,242.242 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:41:17,282.282 INFO    ] ================================================
[2026-08-29 04:41:17,298.298 INFO    ] Launching Daemon at Sat Aug 29 04:41:17 IST 2026
[2026-08-29 04:41:17,309.309 INFO    ] ================================================
[2026-08-29 04:41:17,900.900 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:41:17
[2026-08-29 04:41:18,408.408 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:41:18,542.542 INFO    ] Initializing speech engine...
[2026-08-29 04:41:18,547.547 INFO    ] 2026-08-29 04:41:18
[2026-08-29 04:41:18,777.777 INFO    ] 2026-08-29 04:41:18
[2026-08-29 04:41:18,807.807 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:41:18,939.939 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:41:18,968.968 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:41:19,119.119 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:41:19,154.154 INFO    ] time= 29/08/2026 04:41:19
[2026-08-29 04:41:19,205.205 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:41:19,240.240 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:41:19,337.337 INFO    ] No existing commands found in stream
[2026-08-29 04:41:24,348.348 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:41:24,351.351 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-08-29 04:41:26,815.815 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:41:26,816.816 INFO    ] Checking for system updates...
[2026-08-29 04:41:26,837.837 INFO    ] 200
[2026-08-29 04:41:26,838.838 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:41:26,868.868 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:41:26,869.869 INFO    ] No update needed
[2026-08-29 04:41:26,870.870 INFO    ] Checking for camera pi updates...
[2026-08-29 04:41:26,891.891 INFO    ] 200
[2026-08-29 04:41:26,892.892 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:41:26,915.915 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:41:27,018.018 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:41:27,020.020 INFO    ] No camera update needed
[2026-08-29 04:41:27,023.023 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:41:27,025.025 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:41:27,031.031 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:41:27,036.036 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:41:29,076.076 INFO    ] ================================================
[2026-08-29 04:41:29,092.092 INFO    ] Launching Daemon at Sat Aug 29 04:41:29 IST 2026
[2026-08-29 04:41:29,104.104 INFO    ] ================================================
[2026-08-29 04:41:29,750.750 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:41:29
[2026-08-29 04:41:30,262.262 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:41:30,407.407 INFO    ] Initializing speech engine...
[2026-08-29 04:41:30,417.417 INFO    ] 2026-08-29 04:41:30
[2026-08-29 04:41:30,625.625 INFO    ] 2026-08-29 04:41:30
[2026-08-29 04:41:30,654.654 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:41:30,779.779 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:41:30,842.842 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:41:30,980.980 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:41:31,045.045 INFO    ] time= 29/08/2026 04:41:30
[2026-08-29 04:41:31,071.071 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:41:31,078.078 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:41:31,148.148 INFO    ] No existing commands found in stream
[2026-08-29 04:41:36,159.159 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:41:36,162.162 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 04:41:39,173.173 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:41:39,175.175 INFO    ] Checking for system updates...
[2026-08-29 04:41:39,196.196 INFO    ] 200
[2026-08-29 04:41:39,197.197 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:41:39,229.229 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:41:39,230.230 INFO    ] No update needed
[2026-08-29 04:41:39,231.231 INFO    ] Checking for camera pi updates...
[2026-08-29 04:41:39,251.251 INFO    ] 200
[2026-08-29 04:41:39,252.252 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:41:39,275.275 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:41:39,361.361 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:41:39,363.363 INFO    ] No camera update needed
[2026-08-29 04:41:39,364.364 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:41:39,365.365 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:41:39,368.368 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:41:39,371.371 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:41:41,409.409 INFO    ] ================================================
[2026-08-29 04:41:41,424.424 INFO    ] Launching Daemon at Sat Aug 29 04:41:41 IST 2026
[2026-08-29 04:41:41,436.436 INFO    ] ================================================
[2026-08-29 04:41:41,792.792 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:41:41
[2026-08-29 04:41:42,103.103 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:41:42,235.235 INFO    ] Initializing speech engine...
[2026-08-29 04:41:42,247.247 INFO    ] 2026-08-29 04:41:42
[2026-08-29 04:41:42,455.455 INFO    ] 2026-08-29 04:41:42
[2026-08-29 04:41:42,485.485 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:41:42,608.608 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:41:42,650.650 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:41:42,808.808 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:41:42,862.862 INFO    ] time= 29/08/2026 04:41:42
[2026-08-29 04:41:42,917.917 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:41:42,982.982 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:41:43,120.120 INFO    ] No existing commands found in stream
[2026-08-29 04:41:48,152.152 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:41:48,155.155 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-08-29 04:41:48,973.973 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:41:48,975.975 INFO    ] Checking for system updates...
[2026-08-29 04:41:48,995.995 INFO    ] 200
[2026-08-29 04:41:48,997.997 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:41:49,028.028 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:41:49,030.030 INFO    ] No update needed
[2026-08-29 04:41:49,031.031 INFO    ] Checking for camera pi updates...
[2026-08-29 04:41:49,051.051 INFO    ] 200
[2026-08-29 04:41:49,053.053 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:41:49,077.077 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:41:49,154.154 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:41:49,156.156 INFO    ] No camera update needed
[2026-08-29 04:41:49,157.157 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:41:49,158.158 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:41:49,161.161 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:41:49,163.163 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:41:51,205.205 INFO    ] ================================================
[2026-08-29 04:41:51,221.221 INFO    ] Launching Daemon at Sat Aug 29 04:41:51 IST 2026
[2026-08-29 04:41:51,233.233 INFO    ] ================================================
[2026-08-29 04:41:51,612.612 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:41:51
[2026-08-29 04:41:51,946.946 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:41:52,090.090 INFO    ] Initializing speech engine...
[2026-08-29 04:41:52,101.101 INFO    ] 2026-08-29 04:41:52
[2026-08-29 04:41:52,309.309 INFO    ] 2026-08-29 04:41:52
[2026-08-29 04:41:52,337.337 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:41:52,459.459 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:41:52,465.465 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:41:52,632.632 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:41:52,664.664 INFO    ] time= 29/08/2026 04:41:52
[2026-08-29 04:41:52,670.670 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:41:52,692.692 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:41:52,810.810 INFO    ] No existing commands found in stream
[2026-08-29 04:41:57,832.832 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:41:57,835.835 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-08-29 04:41:59,079.079 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:41:59,081.081 INFO    ] Checking for system updates...
[2026-08-29 04:41:59,101.101 INFO    ] 200
[2026-08-29 04:41:59,103.103 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:41:59,133.133 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:41:59,134.134 INFO    ] No update needed
[2026-08-29 04:41:59,136.136 INFO    ] Checking for camera pi updates...
[2026-08-29 04:41:59,161.161 INFO    ] 200
[2026-08-29 04:41:59,164.164 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:41:59,208.208 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:41:59,315.315 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:41:59,317.317 INFO    ] No camera update needed
[2026-08-29 04:41:59,320.320 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:41:59,322.322 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:41:59,327.327 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:41:59,332.332 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:42:01,387.387 INFO    ] ================================================
[2026-08-29 04:42:01,428.428 INFO    ] Launching Daemon at Sat Aug 29 04:42:01 IST 2026
[2026-08-29 04:42:01,455.455 INFO    ] ================================================
[2026-08-29 04:42:02,169.169 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:42:02
[2026-08-29 04:42:02,744.744 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:42:03,087.087 INFO    ] Initializing speech engine...
[2026-08-29 04:42:03,095.095 INFO    ] 2026-08-29 04:42:03
[2026-08-29 04:42:03,402.402 INFO    ] 2026-08-29 04:42:03
[2026-08-29 04:42:03,485.485 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:42:03,634.634 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:42:03,643.643 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:42:03,778.778 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:42:03,822.822 INFO    ] time= 29/08/2026 04:42:03
[2026-08-29 04:42:03,871.871 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:42:03,908.908 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:42:03,967.967 INFO    ] No existing commands found in stream
[2026-08-29 04:42:08,974.974 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:42:08,977.977 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-08-29 04:42:10,912.912 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:42:10,913.913 INFO    ] Checking for system updates...
[2026-08-29 04:42:10,934.934 INFO    ] 200
[2026-08-29 04:42:10,935.935 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:42:10,965.965 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:42:10,967.967 INFO    ] No update needed
[2026-08-29 04:42:10,968.968 INFO    ] Checking for camera pi updates...
[2026-08-29 04:42:10,989.989 INFO    ] 200
[2026-08-29 04:42:10,991.991 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:42:11,018.018 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:42:11,113.113 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:42:11,115.115 INFO    ] No camera update needed
[2026-08-29 04:42:11,116.116 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:42:11,117.117 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:42:11,120.120 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:42:11,123.123 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:42:13,163.163 INFO    ] ================================================
[2026-08-29 04:42:13,179.179 INFO    ] Launching Daemon at Sat Aug 29 04:42:13 IST 2026
[2026-08-29 04:42:13,190.190 INFO    ] ================================================
[2026-08-29 04:42:13,555.555 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:42:13
[2026-08-29 04:42:13,871.871 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:42:14,011.011 INFO    ] Initializing speech engine...
[2026-08-29 04:42:14,021.021 INFO    ] 2026-08-29 04:42:14
[2026-08-29 04:42:14,225.225 INFO    ] 2026-08-29 04:42:14
[2026-08-29 04:42:14,253.253 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:42:14,395.395 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:42:14,406.406 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:42:14,560.560 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:42:14,605.605 INFO    ] time= 29/08/2026 04:42:14
[2026-08-29 04:42:14,610.610 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:42:14,632.632 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:42:14,729.729 INFO    ] No existing commands found in stream
[2026-08-29 04:42:19,755.755 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:42:19,759.759 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-08-29 04:42:21,466.466 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:42:21,467.467 INFO    ] Checking for system updates...
[2026-08-29 04:42:21,487.487 INFO    ] 200
[2026-08-29 04:42:21,489.489 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:42:21,523.523 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:42:21,525.525 INFO    ] No update needed
[2026-08-29 04:42:21,526.526 INFO    ] Checking for camera pi updates...
[2026-08-29 04:42:21,546.546 INFO    ] 200
[2026-08-29 04:42:21,547.547 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:42:21,572.572 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:42:21,665.665 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:42:21,666.666 INFO    ] No camera update needed
[2026-08-29 04:42:21,668.668 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:42:21,669.669 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:42:21,672.672 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:42:21,675.675 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:42:23,713.713 INFO    ] ================================================
[2026-08-29 04:42:23,729.729 INFO    ] Launching Daemon at Sat Aug 29 04:42:23 IST 2026
[2026-08-29 04:42:23,740.740 INFO    ] ================================================
[2026-08-29 04:42:24,325.325 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:42:24
[2026-08-29 04:42:24,925.925 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:42:25,189.189 INFO    ] Initializing speech engine...
[2026-08-29 04:42:25,193.193 INFO    ] 2026-08-29 04:42:25
[2026-08-29 04:42:25,387.387 INFO    ] 2026-08-29 04:42:25
[2026-08-29 04:42:25,438.438 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:42:25,661.661 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:42:25,670.670 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:42:25,802.802 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:42:25,829.829 INFO    ] time= 29/08/2026 04:42:25
[2026-08-29 04:42:25,883.883 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:42:25,935.935 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:42:25,986.986 INFO    ] No existing commands found in stream
[2026-08-29 04:42:30,998.998 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:42:31,001.001 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-08-29 04:42:33,203.203 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:42:33,206.206 INFO    ] Checking for system updates...
[2026-08-29 04:42:33,248.248 INFO    ] 200
[2026-08-29 04:42:33,250.250 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:42:33,302.302 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:42:33,305.305 INFO    ] No update needed
[2026-08-29 04:42:33,307.307 INFO    ] Checking for camera pi updates...
[2026-08-29 04:42:33,344.344 INFO    ] 200
[2026-08-29 04:42:33,346.346 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:42:33,386.386 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:42:33,473.473 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:42:33,475.475 INFO    ] No camera update needed
[2026-08-29 04:42:33,477.477 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:42:33,480.480 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:42:33,485.485 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:42:33,490.490 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:42:35,533.533 INFO    ] ================================================
[2026-08-29 04:42:35,549.549 INFO    ] Launching Daemon at Sat Aug 29 04:42:35 IST 2026
[2026-08-29 04:42:35,560.560 INFO    ] ================================================
[2026-08-29 04:42:35,908.908 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:42:35
[2026-08-29 04:42:36,244.244 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:42:36,388.388 INFO    ] Initializing speech engine...
[2026-08-29 04:42:36,398.398 INFO    ] 2026-08-29 04:42:36
[2026-08-29 04:42:36,607.607 INFO    ] 2026-08-29 04:42:36
[2026-08-29 04:42:36,636.636 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:42:36,770.770 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:42:36,775.775 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:42:36,950.950 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:42:36,978.978 INFO    ] time= 29/08/2026 04:42:36
[2026-08-29 04:42:36,997.997 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:42:37,026.026 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:42:37,129.129 INFO    ] No existing commands found in stream
[2026-08-29 04:42:42,149.149 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:42:42,152.152 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-08-29 04:42:43,613.613 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:42:43,615.615 INFO    ] Checking for system updates...
[2026-08-29 04:42:43,635.635 INFO    ] 200
[2026-08-29 04:42:43,637.637 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:42:43,667.667 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:42:43,668.668 INFO    ] No update needed
[2026-08-29 04:42:43,670.670 INFO    ] Checking for camera pi updates...
[2026-08-29 04:42:43,689.689 INFO    ] 200
[2026-08-29 04:42:43,691.691 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:42:43,714.714 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:42:43,802.802 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:42:43,804.804 INFO    ] No camera update needed
[2026-08-29 04:42:43,805.805 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:42:43,806.806 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:42:43,809.809 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:42:43,813.813 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:42:45,851.851 INFO    ] ================================================
[2026-08-29 04:42:45,866.866 INFO    ] Launching Daemon at Sat Aug 29 04:42:45 IST 2026
[2026-08-29 04:42:45,878.878 INFO    ] ================================================
[2026-08-29 04:42:46,242.242 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:42:46
[2026-08-29 04:42:46,558.558 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:42:46,697.697 INFO    ] Initializing speech engine...
[2026-08-29 04:42:46,707.707 INFO    ] 2026-08-29 04:42:46
[2026-08-29 04:42:46,915.915 INFO    ] 2026-08-29 04:42:46
[2026-08-29 04:42:46,980.980 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:42:47,148.148 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:42:47,205.205 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:42:47,344.344 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:42:47,361.361 INFO    ] time= 29/08/2026 04:42:47
[2026-08-29 04:42:47,425.425 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:42:47,477.477 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:42:47,533.533 INFO    ] No existing commands found in stream
[2026-08-29 04:42:52,544.544 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:42:52,547.547 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-08-29 04:42:52,967.967 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:42:52,968.968 INFO    ] Checking for system updates...
[2026-08-29 04:42:52,988.988 INFO    ] 200
[2026-08-29 04:42:52,990.990 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:42:53,019.019 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:42:53,021.021 INFO    ] No update needed
[2026-08-29 04:42:53,022.022 INFO    ] Checking for camera pi updates...
[2026-08-29 04:42:53,043.043 INFO    ] 200
[2026-08-29 04:42:53,044.044 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:42:53,069.069 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:42:53,144.144 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:42:53,145.145 INFO    ] No camera update needed
[2026-08-29 04:42:53,146.146 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:42:53,147.147 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:42:53,150.150 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:42:53,153.153 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:42:55,193.193 INFO    ] ================================================
[2026-08-29 04:42:55,209.209 INFO    ] Launching Daemon at Sat Aug 29 04:42:55 IST 2026
[2026-08-29 04:42:55,220.220 INFO    ] ================================================
[2026-08-29 04:42:55,558.558 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:42:55
[2026-08-29 04:42:55,871.871 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:42:56,001.001 INFO    ] Initializing speech engine...
[2026-08-29 04:42:56,005.005 INFO    ] 2026-08-29 04:42:56
[2026-08-29 04:42:56,197.197 INFO    ] 2026-08-29 04:42:56
[2026-08-29 04:42:56,243.243 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:42:56,344.344 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:42:56,346.346 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:42:56,477.477 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:42:56,486.486 INFO    ] time= 29/08/2026 04:42:56
[2026-08-29 04:42:56,490.490 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:42:56,507.507 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:42:56,596.596 INFO    ] No existing commands found in stream
[2026-08-29 04:43:01,613.613 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:43:01,616.616 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-08-29 04:43:04,653.653 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:43:04,655.655 INFO    ] Checking for system updates...
[2026-08-29 04:43:04,675.675 INFO    ] 200
[2026-08-29 04:43:04,676.676 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:43:04,711.711 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:43:04,712.712 INFO    ] No update needed
[2026-08-29 04:43:04,714.714 INFO    ] Checking for camera pi updates...
[2026-08-29 04:43:04,734.734 INFO    ] 200
[2026-08-29 04:43:04,735.735 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:43:04,758.758 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:43:04,854.854 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:43:04,856.856 INFO    ] No camera update needed
[2026-08-29 04:43:04,857.857 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:43:04,858.858 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:43:04,861.861 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:43:04,864.864 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:43:06,903.903 INFO    ] ================================================
[2026-08-29 04:43:06,919.919 INFO    ] Launching Daemon at Sat Aug 29 04:43:06 IST 2026
[2026-08-29 04:43:06,936.936 INFO    ] ================================================
[2026-08-29 04:43:07,285.285 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:43:07
[2026-08-29 04:43:07,596.596 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:43:07,737.737 INFO    ] Initializing speech engine...
[2026-08-29 04:43:07,748.748 INFO    ] 2026-08-29 04:43:07
[2026-08-29 04:43:07,962.962 INFO    ] 2026-08-29 04:43:07
[2026-08-29 04:43:07,993.993 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:43:08,125.125 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:43:08,170.170 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:43:08,315.315 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:43:08,324.324 INFO    ] time= 29/08/2026 04:43:08
[2026-08-29 04:43:08,332.332 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:43:08,363.363 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:43:08,458.458 INFO    ] No existing commands found in stream
[2026-08-29 04:43:13,479.479 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:43:13,481.481 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-08-29 04:43:16,407.407 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:43:16,409.409 INFO    ] Checking for system updates...
[2026-08-29 04:43:16,429.429 INFO    ] 200
[2026-08-29 04:43:16,430.430 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:43:16,462.462 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:43:16,464.464 INFO    ] No update needed
[2026-08-29 04:43:16,465.465 INFO    ] Checking for camera pi updates...
[2026-08-29 04:43:16,484.484 INFO    ] 200
[2026-08-29 04:43:16,485.485 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:43:16,510.510 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:43:16,688.688 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:43:16,690.690 INFO    ] No camera update needed
[2026-08-29 04:43:16,691.691 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:43:16,692.692 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:43:16,695.695 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:43:16,698.698 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:43:18,737.737 INFO    ] ================================================
[2026-08-29 04:43:18,753.753 INFO    ] Launching Daemon at Sat Aug 29 04:43:18 IST 2026
[2026-08-29 04:43:18,764.764 INFO    ] ================================================
[2026-08-29 04:43:19,135.135 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:43:19
[2026-08-29 04:43:19,475.475 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:43:19,628.628 INFO    ] Initializing speech engine...
[2026-08-29 04:43:19,634.634 INFO    ] 2026-08-29 04:43:19
[2026-08-29 04:43:19,840.840 INFO    ] 2026-08-29 04:43:19
[2026-08-29 04:43:19,869.869 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:43:20,008.008 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:43:20,056.056 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:43:20,210.210 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:43:20,264.264 INFO    ] time= 29/08/2026 04:43:20
[2026-08-29 04:43:20,285.285 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:43:20,292.292 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:43:20,359.359 INFO    ] No existing commands found in stream
[2026-08-29 04:43:25,369.369 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:43:25,373.373 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-08-29 04:43:26,152.152 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:43:26,154.154 INFO    ] Checking for system updates...
[2026-08-29 04:43:26,175.175 INFO    ] 200
[2026-08-29 04:43:26,176.176 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:43:26,209.209 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:43:26,210.210 INFO    ] No update needed
[2026-08-29 04:43:26,212.212 INFO    ] Checking for camera pi updates...
[2026-08-29 04:43:26,235.235 INFO    ] 200
[2026-08-29 04:43:26,237.237 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:43:26,264.264 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:43:26,368.368 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:43:26,369.369 INFO    ] No camera update needed
[2026-08-29 04:43:26,371.371 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:43:26,372.372 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:43:26,375.375 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:43:26,378.378 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:43:28,418.418 INFO    ] ================================================
[2026-08-29 04:43:28,435.435 INFO    ] Launching Daemon at Sat Aug 29 04:43:28 IST 2026
[2026-08-29 04:43:28,446.446 INFO    ] ================================================
[2026-08-29 04:43:28,791.791 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:43:28
[2026-08-29 04:43:29,103.103 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:43:29,232.232 INFO    ] Initializing speech engine...
[2026-08-29 04:43:29,236.236 INFO    ] 2026-08-29 04:43:29
[2026-08-29 04:43:29,441.441 INFO    ] 2026-08-29 04:43:29
[2026-08-29 04:43:29,476.476 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:43:29,651.651 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:43:29,664.664 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:43:29,812.812 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:43:29,820.820 INFO    ] time= 29/08/2026 04:43:29
[2026-08-29 04:43:29,823.823 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:43:29,829.829 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:43:29,896.896 INFO    ] No existing commands found in stream
[2026-08-29 04:43:34,908.908 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:43:34,910.910 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-08-29 04:43:38,610.610 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:43:38,613.613 INFO    ] Checking for system updates...
[2026-08-29 04:43:38,649.649 INFO    ] 200
[2026-08-29 04:43:38,651.651 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:43:38,703.703 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:43:38,705.705 INFO    ] No update needed
[2026-08-29 04:43:38,708.708 INFO    ] Checking for camera pi updates...
[2026-08-29 04:43:38,746.746 INFO    ] 200
[2026-08-29 04:43:38,748.748 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:43:38,793.793 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:43:38,877.877 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:43:38,879.879 INFO    ] No camera update needed
[2026-08-29 04:43:38,882.882 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:43:38,884.884 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:43:38,889.889 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:43:38,894.894 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:43:40,935.935 INFO    ] ================================================
[2026-08-29 04:43:40,951.951 INFO    ] Launching Daemon at Sat Aug 29 04:43:40 IST 2026
[2026-08-29 04:43:40,962.962 INFO    ] ================================================
[2026-08-29 04:43:41,533.533 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:43:41
[2026-08-29 04:43:41,887.887 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:43:42,032.032 INFO    ] Initializing speech engine...
[2026-08-29 04:43:42,048.048 INFO    ] 2026-08-29 04:43:42
[2026-08-29 04:43:42,320.320 INFO    ] 2026-08-29 04:43:42
[2026-08-29 04:43:42,355.355 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:43:42,504.504 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:43:42,518.518 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:43:42,664.664 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:43:42,673.673 INFO    ] time= 29/08/2026 04:43:42
[2026-08-29 04:43:42,678.678 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:43:42,683.683 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:43:42,754.754 INFO    ] No existing commands found in stream
[2026-08-29 04:43:47,764.764 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:43:47,767.767 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-08-29 04:43:51,531.531 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:43:51,533.533 INFO    ] Checking for system updates...
[2026-08-29 04:43:51,553.553 INFO    ] 200
[2026-08-29 04:43:51,555.555 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:43:51,590.590 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:43:51,591.591 INFO    ] No update needed
[2026-08-29 04:43:51,593.593 INFO    ] Checking for camera pi updates...
[2026-08-29 04:43:51,612.612 INFO    ] 200
[2026-08-29 04:43:51,614.614 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:43:51,637.637 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:43:51,714.714 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:43:51,715.715 INFO    ] No camera update needed
[2026-08-29 04:43:51,716.716 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:43:51,718.718 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:43:51,721.721 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:43:51,724.724 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:43:53,764.764 INFO    ] ================================================
[2026-08-29 04:43:53,780.780 INFO    ] Launching Daemon at Sat Aug 29 04:43:53 IST 2026
[2026-08-29 04:43:53,793.793 INFO    ] ================================================
[2026-08-29 04:43:54,137.137 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:43:54
[2026-08-29 04:43:54,641.641 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:43:54,915.915 INFO    ] Initializing speech engine...
[2026-08-29 04:43:54,923.923 INFO    ] 2026-08-29 04:43:54
[2026-08-29 04:43:55,175.175 INFO    ] 2026-08-29 04:43:55
[2026-08-29 04:43:55,211.211 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:43:55,389.389 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:43:55,401.401 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:43:55,547.547 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:43:55,554.554 INFO    ] time= 29/08/2026 04:43:55
[2026-08-29 04:43:55,562.562 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:43:55,582.582 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:43:55,708.708 INFO    ] No existing commands found in stream
[2026-08-29 04:44:00,743.743 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:44:00,746.746 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 04:44:04,426.426 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:44:04,427.427 INFO    ] Checking for system updates...
[2026-08-29 04:44:04,448.448 INFO    ] 200
[2026-08-29 04:44:04,449.449 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:44:04,481.481 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:44:04,483.483 INFO    ] No update needed
[2026-08-29 04:44:04,484.484 INFO    ] Checking for camera pi updates...
[2026-08-29 04:44:04,506.506 INFO    ] 200
[2026-08-29 04:44:04,507.507 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:44:04,532.532 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:44:04,617.617 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:44:04,618.618 INFO    ] No camera update needed
[2026-08-29 04:44:04,619.619 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:44:04,621.621 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:44:04,624.624 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:44:04,627.627 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:44:06,667.667 INFO    ] ================================================
[2026-08-29 04:44:06,683.683 INFO    ] Launching Daemon at Sat Aug 29 04:44:06 IST 2026
[2026-08-29 04:44:06,695.695 INFO    ] ================================================
[2026-08-29 04:44:07,188.188 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:44:07
[2026-08-29 04:44:07,773.773 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:44:08,041.041 INFO    ] Initializing speech engine...
[2026-08-29 04:44:08,050.050 INFO    ] 2026-08-29 04:44:08
[2026-08-29 04:44:08,303.303 INFO    ] 2026-08-29 04:44:08
[2026-08-29 04:44:08,367.367 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:44:08,509.509 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:44:08,520.520 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:44:08,644.644 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:44:08,671.671 INFO    ] time= 29/08/2026 04:44:08
[2026-08-29 04:44:08,678.678 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:44:08,683.683 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:44:08,759.759 INFO    ] No existing commands found in stream
[2026-08-29 04:44:13,774.774 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:44:13,777.777 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-08-29 04:44:17,116.116 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:44:17,118.118 INFO    ] Checking for system updates...
[2026-08-29 04:44:17,140.140 INFO    ] 200
[2026-08-29 04:44:17,141.141 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:44:17,176.176 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:44:17,177.177 INFO    ] No update needed
[2026-08-29 04:44:17,179.179 INFO    ] Checking for camera pi updates...
[2026-08-29 04:44:17,202.202 INFO    ] 200
[2026-08-29 04:44:17,203.203 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:44:17,226.226 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:44:17,326.326 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:44:17,328.328 INFO    ] No camera update needed
[2026-08-29 04:44:17,329.329 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:44:17,330.330 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:44:17,334.334 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:44:17,337.337 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:44:19,377.377 INFO    ] ================================================
[2026-08-29 04:44:19,393.393 INFO    ] Launching Daemon at Sat Aug 29 04:44:19 IST 2026
[2026-08-29 04:44:19,404.404 INFO    ] ================================================
[2026-08-29 04:44:19,902.902 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:44:19
[2026-08-29 04:44:20,503.503 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:44:20,763.763 INFO    ] Initializing speech engine...
[2026-08-29 04:44:20,771.771 INFO    ] 2026-08-29 04:44:20
[2026-08-29 04:44:21,063.063 INFO    ] 2026-08-29 04:44:21
[2026-08-29 04:44:21,103.103 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:44:21,292.292 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:44:21,298.298 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:44:21,427.427 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:44:21,434.434 INFO    ] time= 29/08/2026 04:44:21
[2026-08-29 04:44:21,453.453 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:44:21,475.475 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:44:21,556.556 INFO    ] No existing commands found in stream
[2026-08-29 04:44:26,569.569 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:44:26,572.572 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-08-29 04:44:27,510.510 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:44:27,511.511 INFO    ] Checking for system updates...
[2026-08-29 04:44:27,533.533 INFO    ] 200
[2026-08-29 04:44:27,534.534 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:44:27,564.564 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:44:27,566.566 INFO    ] No update needed
[2026-08-29 04:44:27,567.567 INFO    ] Checking for camera pi updates...
[2026-08-29 04:44:27,587.587 INFO    ] 200
[2026-08-29 04:44:27,588.588 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:44:27,615.615 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:44:27,690.690 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:44:27,691.691 INFO    ] No camera update needed
[2026-08-29 04:44:27,693.693 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:44:27,694.694 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:44:27,697.697 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:44:27,700.700 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:44:29,740.740 INFO    ] ================================================
[2026-08-29 04:44:29,756.756 INFO    ] Launching Daemon at Sat Aug 29 04:44:29 IST 2026
[2026-08-29 04:44:29,767.767 INFO    ] ================================================
[2026-08-29 04:44:30,392.392 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:44:30
[2026-08-29 04:44:31,046.046 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:44:31,370.370 INFO    ] Initializing speech engine...
[2026-08-29 04:44:31,379.379 INFO    ] 2026-08-29 04:44:31
[2026-08-29 04:44:31,680.680 INFO    ] 2026-08-29 04:44:31
[2026-08-29 04:44:31,725.725 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:44:31,880.880 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:44:31,906.906 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:44:32,042.042 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:44:32,052.052 INFO    ] time= 29/08/2026 04:44:32
[2026-08-29 04:44:32,061.061 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:44:32,124.124 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:44:32,229.229 INFO    ] No existing commands found in stream
[2026-08-29 04:44:37,260.260 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:44:37,263.263 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-08-29 04:44:37,996.996 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:44:37,997.997 INFO    ] Checking for system updates...
[2026-08-29 04:44:38,018.018 INFO    ] 200
[2026-08-29 04:44:38,019.019 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:44:38,049.049 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:44:38,051.051 INFO    ] No update needed
[2026-08-29 04:44:38,052.052 INFO    ] Checking for camera pi updates...
[2026-08-29 04:44:38,072.072 INFO    ] 200
[2026-08-29 04:44:38,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:44:38,099.099 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:44:38,180.180 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:44:38,181.181 INFO    ] No camera update needed
[2026-08-29 04:44:38,183.183 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:44:38,184.184 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:44:38,187.187 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:44:38,190.190 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:44:40,228.228 INFO    ] ================================================
[2026-08-29 04:44:40,244.244 INFO    ] Launching Daemon at Sat Aug 29 04:44:40 IST 2026
[2026-08-29 04:44:40,256.256 INFO    ] ================================================
[2026-08-29 04:44:40,600.600 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:44:40
[2026-08-29 04:44:40,935.935 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:44:41,086.086 INFO    ] Initializing speech engine...
[2026-08-29 04:44:41,092.092 INFO    ] 2026-08-29 04:44:41
[2026-08-29 04:44:41,298.298 INFO    ] 2026-08-29 04:44:41
[2026-08-29 04:44:41,328.328 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:44:41,451.451 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:44:41,489.489 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:44:41,645.645 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:44:41,697.697 INFO    ] time= 29/08/2026 04:44:41
[2026-08-29 04:44:41,731.731 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:44:41,747.747 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:44:41,819.819 INFO    ] No existing commands found in stream
[2026-08-29 04:44:46,834.834 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:44:46,837.837 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-08-29 04:44:48,197.197 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:44:48,200.200 INFO    ] Checking for system updates...
[2026-08-29 04:44:48,237.237 INFO    ] 200
[2026-08-29 04:44:48,239.239 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:44:48,297.297 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:44:48,300.300 INFO    ] No update needed
[2026-08-29 04:44:48,303.303 INFO    ] Checking for camera pi updates...
[2026-08-29 04:44:48,340.340 INFO    ] 200
[2026-08-29 04:44:48,343.343 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:44:48,389.389 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:44:48,493.493 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:44:48,496.496 INFO    ] No camera update needed
[2026-08-29 04:44:48,498.498 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:44:48,500.500 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:44:48,506.506 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:44:48,510.510 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:44:50,552.552 INFO    ] ================================================
[2026-08-29 04:44:50,568.568 INFO    ] Launching Daemon at Sat Aug 29 04:44:50 IST 2026
[2026-08-29 04:44:50,580.580 INFO    ] ================================================
[2026-08-29 04:44:51,156.156 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:44:51
[2026-08-29 04:44:51,815.815 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:44:52,116.116 INFO    ] Initializing speech engine...
[2026-08-29 04:44:52,124.124 INFO    ] 2026-08-29 04:44:52
[2026-08-29 04:44:52,415.415 INFO    ] 2026-08-29 04:44:52
[2026-08-29 04:44:52,461.461 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:44:52,686.686 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:44:52,696.696 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:44:52,834.834 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:44:52,856.856 INFO    ] time= 29/08/2026 04:44:52
[2026-08-29 04:44:52,911.911 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:44:52,966.966 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:44:53,028.028 INFO    ] No existing commands found in stream
[2026-08-29 04:44:58,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:44:58,045.045 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-08-29 04:44:58,854.854 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:44:58,855.855 INFO    ] Checking for system updates...
[2026-08-29 04:44:58,877.877 INFO    ] 200
[2026-08-29 04:44:58,879.879 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:44:58,909.909 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:44:58,910.910 INFO    ] No update needed
[2026-08-29 04:44:58,912.912 INFO    ] Checking for camera pi updates...
[2026-08-29 04:44:58,931.931 INFO    ] 200
[2026-08-29 04:44:58,933.933 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:44:58,956.956 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:44:59,032.032 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:44:59,033.033 INFO    ] No camera update needed
[2026-08-29 04:44:59,035.035 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:44:59,036.036 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:44:59,039.039 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:44:59,042.042 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:45:01,081.081 INFO    ] ================================================
[2026-08-29 04:45:01,098.098 INFO    ] Launching Daemon at Sat Aug 29 04:45:01 IST 2026
[2026-08-29 04:45:01,109.109 INFO    ] ================================================
[2026-08-29 04:45:01,675.675 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:45:01
[2026-08-29 04:45:02,876.876 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:45:03,256.256 INFO    ] Initializing speech engine...
[2026-08-29 04:45:03,270.270 INFO    ] 2026-08-29 04:45:03
[2026-08-29 04:45:03,613.613 INFO    ] 2026-08-29 04:45:03
[2026-08-29 04:45:03,685.685 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:45:03,879.879 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:45:03,894.894 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:45:04,063.063 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:45:04,118.118 INFO    ] time= 29/08/2026 04:45:04
[2026-08-29 04:45:04,173.173 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:45:04,222.222 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:45:04,278.278 INFO    ] No existing commands found in stream
[2026-08-29 04:45:09,290.290 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:45:09,293.293 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-08-29 04:45:12,102.102 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:45:12,104.104 INFO    ] Checking for system updates...
[2026-08-29 04:45:12,125.125 INFO    ] 200
[2026-08-29 04:45:12,126.126 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:45:12,156.156 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:45:12,157.157 INFO    ] No update needed
[2026-08-29 04:45:12,158.158 INFO    ] Checking for camera pi updates...
[2026-08-29 04:45:12,177.177 INFO    ] 200
[2026-08-29 04:45:12,178.178 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:45:12,201.201 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:45:12,282.282 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:45:12,293.293 INFO    ] No camera update needed
[2026-08-29 04:45:12,294.294 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:45:12,296.296 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:45:12,299.299 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:45:12,301.301 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:45:14,340.340 INFO    ] ================================================
[2026-08-29 04:45:14,356.356 INFO    ] Launching Daemon at Sat Aug 29 04:45:14 IST 2026
[2026-08-29 04:45:14,368.368 INFO    ] ================================================
[2026-08-29 04:45:14,714.714 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:45:14
[2026-08-29 04:45:15,045.045 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:45:15,187.187 INFO    ] Initializing speech engine...
[2026-08-29 04:45:15,198.198 INFO    ] 2026-08-29 04:45:15
[2026-08-29 04:45:15,404.404 INFO    ] 2026-08-29 04:45:15
[2026-08-29 04:45:15,434.434 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:45:15,581.581 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:45:15,623.623 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:45:15,766.766 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:45:15,774.774 INFO    ] time= 29/08/2026 04:45:15
[2026-08-29 04:45:15,785.785 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:45:15,859.859 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:45:15,980.980 INFO    ] No existing commands found in stream
[2026-08-29 04:45:20,990.990 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:45:20,991.991 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 04:45:24,844.844 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:45:24,847.847 INFO    ] Checking for system updates...
[2026-08-29 04:45:24,883.883 INFO    ] 200
[2026-08-29 04:45:24,886.886 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:45:24,926.926 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:45:24,927.927 INFO    ] No update needed
[2026-08-29 04:45:24,929.929 INFO    ] Checking for camera pi updates...
[2026-08-29 04:45:24,948.948 INFO    ] 200
[2026-08-29 04:45:24,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:45:24,972.972 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:45:25,149.149 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:45:25,152.152 INFO    ] No camera update needed
[2026-08-29 04:45:25,155.155 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:45:25,157.157 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:45:25,163.163 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:45:25,169.169 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:45:27,210.210 INFO    ] ================================================
[2026-08-29 04:45:27,226.226 INFO    ] Launching Daemon at Sat Aug 29 04:45:27 IST 2026
[2026-08-29 04:45:27,237.237 INFO    ] ================================================
[2026-08-29 04:45:27,828.828 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:45:27
[2026-08-29 04:45:28,385.385 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:45:28,518.518 INFO    ] Initializing speech engine...
[2026-08-29 04:45:28,531.531 INFO    ] 2026-08-29 04:45:28
[2026-08-29 04:45:28,737.737 INFO    ] 2026-08-29 04:45:28
[2026-08-29 04:45:28,766.766 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:45:28,896.896 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:45:28,953.953 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:45:29,087.087 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:45:29,153.153 INFO    ] time= 29/08/2026 04:45:29
[2026-08-29 04:45:29,180.180 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:45:29,186.186 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:45:29,251.251 INFO    ] No existing commands found in stream
[2026-08-29 04:45:34,261.261 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:45:34,264.264 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-08-29 04:45:34,982.982 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:45:34,984.984 INFO    ] Checking for system updates...
[2026-08-29 04:45:35,020.020 INFO    ] 200
[2026-08-29 04:45:35,022.022 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:45:35,080.080 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:45:35,083.083 INFO    ] No update needed
[2026-08-29 04:45:35,085.085 INFO    ] Checking for camera pi updates...
[2026-08-29 04:45:35,121.121 INFO    ] 200
[2026-08-29 04:45:35,123.123 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:45:35,167.167 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:45:35,281.281 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:45:35,284.284 INFO    ] No camera update needed
[2026-08-29 04:45:35,286.286 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:45:35,288.288 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:45:35,293.293 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:45:35,298.298 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:45:37,338.338 INFO    ] ================================================
[2026-08-29 04:45:37,354.354 INFO    ] Launching Daemon at Sat Aug 29 04:45:37 IST 2026
[2026-08-29 04:45:37,365.365 INFO    ] ================================================
[2026-08-29 04:45:37,712.712 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:45:37
[2026-08-29 04:45:38,023.023 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:45:38,154.154 INFO    ] Initializing speech engine...
[2026-08-29 04:45:38,158.158 INFO    ] 2026-08-29 04:45:38
[2026-08-29 04:45:38,378.378 INFO    ] 2026-08-29 04:45:38
[2026-08-29 04:45:38,408.408 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:45:38,563.563 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:45:38,568.568 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:45:38,732.732 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:45:38,771.771 INFO    ] time= 29/08/2026 04:45:38
[2026-08-29 04:45:38,776.776 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:45:38,792.792 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:45:38,909.909 INFO    ] No existing commands found in stream
[2026-08-29 04:45:43,929.929 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:45:43,931.931 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-08-29 04:45:47,028.028 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:45:47,029.029 INFO    ] Checking for system updates...
[2026-08-29 04:45:47,050.050 INFO    ] 200
[2026-08-29 04:45:47,051.051 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:45:47,080.080 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:45:47,082.082 INFO    ] No update needed
[2026-08-29 04:45:47,083.083 INFO    ] Checking for camera pi updates...
[2026-08-29 04:45:47,102.102 INFO    ] 200
[2026-08-29 04:45:47,103.103 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:45:47,128.128 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:45:47,203.203 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:45:47,204.204 INFO    ] No camera update needed
[2026-08-29 04:45:47,205.205 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:45:47,206.206 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:45:47,209.209 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:45:47,212.212 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:45:49,251.251 INFO    ] ================================================
[2026-08-29 04:45:49,268.268 INFO    ] Launching Daemon at Sat Aug 29 04:45:49 IST 2026
[2026-08-29 04:45:49,279.279 INFO    ] ================================================
[2026-08-29 04:45:49,615.615 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:45:49
[2026-08-29 04:45:49,927.927 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:45:50,070.070 INFO    ] Initializing speech engine...
[2026-08-29 04:45:50,076.076 INFO    ] 2026-08-29 04:45:50
[2026-08-29 04:45:50,263.263 INFO    ] 2026-08-29 04:45:50
[2026-08-29 04:45:50,343.343 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:45:50,494.494 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:45:50,524.524 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:45:50,642.642 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:45:50,697.697 INFO    ] time= 29/08/2026 04:45:50
[2026-08-29 04:45:50,746.746 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:45:50,777.777 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:45:50,848.848 INFO    ] No existing commands found in stream
[2026-08-29 04:45:55,885.885 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:45:55,888.888 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-08-29 04:45:59,057.057 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:45:59,059.059 INFO    ] Checking for system updates...
[2026-08-29 04:45:59,079.079 INFO    ] 200
[2026-08-29 04:45:59,080.080 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:45:59,110.110 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:45:59,111.111 INFO    ] No update needed
[2026-08-29 04:45:59,113.113 INFO    ] Checking for camera pi updates...
[2026-08-29 04:45:59,132.132 INFO    ] 200
[2026-08-29 04:45:59,133.133 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:45:59,156.156 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:45:59,237.237 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:45:59,240.240 INFO    ] No camera update needed
[2026-08-29 04:45:59,242.242 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:45:59,245.245 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:45:59,250.250 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:45:59,255.255 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:46:01,301.301 INFO    ] ================================================
[2026-08-29 04:46:01,348.348 INFO    ] Launching Daemon at Sat Aug 29 04:46:01 IST 2026
[2026-08-29 04:46:01,406.406 INFO    ] ================================================
[2026-08-29 04:46:02,195.195 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:46:02
[2026-08-29 04:46:02,796.796 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:46:03,109.109 INFO    ] Initializing speech engine...
[2026-08-29 04:46:03,123.123 INFO    ] 2026-08-29 04:46:03
[2026-08-29 04:46:03,379.379 INFO    ] 2026-08-29 04:46:03
[2026-08-29 04:46:03,433.433 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:46:03,658.658 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:46:03,668.668 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:46:03,804.804 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:46:03,825.825 INFO    ] time= 29/08/2026 04:46:03
[2026-08-29 04:46:03,885.885 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:46:03,934.934 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:46:03,993.993 INFO    ] No existing commands found in stream
[2026-08-29 04:46:09,004.004 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:46:09,007.007 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-08-29 04:46:12,345.345 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:46:12,347.347 INFO    ] Checking for system updates...
[2026-08-29 04:46:12,368.368 INFO    ] 200
[2026-08-29 04:46:12,370.370 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:46:12,400.400 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:46:12,401.401 INFO    ] No update needed
[2026-08-29 04:46:12,403.403 INFO    ] Checking for camera pi updates...
[2026-08-29 04:46:12,422.422 INFO    ] 200
[2026-08-29 04:46:12,423.423 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:46:12,446.446 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:46:12,522.522 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:46:12,524.524 INFO    ] No camera update needed
[2026-08-29 04:46:12,525.525 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:46:12,526.526 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:46:12,529.529 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:46:12,531.531 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:46:14,575.575 INFO    ] ================================================
[2026-08-29 04:46:14,591.591 INFO    ] Launching Daemon at Sat Aug 29 04:46:14 IST 2026
[2026-08-29 04:46:14,602.602 INFO    ] ================================================
[2026-08-29 04:46:14,962.962 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:46:14
[2026-08-29 04:46:15,272.272 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:46:15,409.409 INFO    ] Initializing speech engine...
[2026-08-29 04:46:15,419.419 INFO    ] 2026-08-29 04:46:15
[2026-08-29 04:46:15,626.626 INFO    ] 2026-08-29 04:46:15
[2026-08-29 04:46:15,706.706 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:46:15,855.855 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:46:15,864.864 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:46:15,999.999 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:46:16,015.015 INFO    ] time= 29/08/2026 04:46:16
[2026-08-29 04:46:16,080.080 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:46:16,134.134 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:46:16,189.189 INFO    ] No existing commands found in stream
[2026-08-29 04:46:21,200.200 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:46:21,203.203 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-08-29 04:46:23,926.926 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:46:23,928.928 INFO    ] Checking for system updates...
[2026-08-29 04:46:23,948.948 INFO    ] 200
[2026-08-29 04:46:23,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:46:23,979.979 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:46:23,981.981 INFO    ] No update needed
[2026-08-29 04:46:23,982.982 INFO    ] Checking for camera pi updates...
[2026-08-29 04:46:24,001.001 INFO    ] 200
[2026-08-29 04:46:24,002.002 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:46:24,025.025 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:46:24,113.113 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:46:24,114.114 INFO    ] No camera update needed
[2026-08-29 04:46:24,115.115 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:46:24,116.116 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:46:24,119.119 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:46:24,122.122 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:46:26,160.160 INFO    ] ================================================
[2026-08-29 04:46:26,176.176 INFO    ] Launching Daemon at Sat Aug 29 04:46:26 IST 2026
[2026-08-29 04:46:26,186.186 INFO    ] ================================================
[2026-08-29 04:46:26,769.769 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:46:26
[2026-08-29 04:46:27,368.368 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:46:27,641.641 INFO    ] Initializing speech engine...
[2026-08-29 04:46:27,652.652 INFO    ] 2026-08-29 04:46:27
[2026-08-29 04:46:27,903.903 INFO    ] 2026-08-29 04:46:27
[2026-08-29 04:46:27,931.931 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:46:28,063.063 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:46:28,116.116 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:46:28,251.251 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:46:28,309.309 INFO    ] time= 29/08/2026 04:46:28
[2026-08-29 04:46:28,338.338 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:46:28,348.348 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:46:28,420.420 INFO    ] No existing commands found in stream
[2026-08-29 04:46:33,429.429 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:46:33,431.431 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 04:46:35,799.799 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:46:35,801.801 INFO    ] Checking for system updates...
[2026-08-29 04:46:35,823.823 INFO    ] 200
[2026-08-29 04:46:35,824.824 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:46:35,856.856 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:46:35,857.857 INFO    ] No update needed
[2026-08-29 04:46:35,859.859 INFO    ] Checking for camera pi updates...
[2026-08-29 04:46:35,879.879 INFO    ] 200
[2026-08-29 04:46:35,880.880 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:46:35,903.903 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:46:35,993.993 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:46:35,995.995 INFO    ] No camera update needed
[2026-08-29 04:46:35,996.996 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:46:35,997.997 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:46:36,000.000 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:46:36,003.003 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:46:38,041.041 INFO    ] ================================================
[2026-08-29 04:46:38,057.057 INFO    ] Launching Daemon at Sat Aug 29 04:46:38 IST 2026
[2026-08-29 04:46:38,068.068 INFO    ] ================================================
[2026-08-29 04:46:38,393.393 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:46:38
[2026-08-29 04:46:38,763.763 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:46:39,028.028 INFO    ] Initializing speech engine...
[2026-08-29 04:46:39,041.041 INFO    ] 2026-08-29 04:46:39
[2026-08-29 04:46:39,293.293 INFO    ] 2026-08-29 04:46:39
[2026-08-29 04:46:39,352.352 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:46:39,571.571 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:46:39,580.580 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:46:39,719.719 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:46:39,763.763 INFO    ] time= 29/08/2026 04:46:39
[2026-08-29 04:46:39,802.802 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:46:39,852.852 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:46:39,913.913 INFO    ] No existing commands found in stream
[2026-08-29 04:46:44,932.932 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:46:44,935.935 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-08-29 04:46:46,582.582 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:46:46,584.584 INFO    ] Checking for system updates...
[2026-08-29 04:46:46,604.604 INFO    ] 200
[2026-08-29 04:46:46,606.606 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:46:46,636.636 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:46:46,637.637 INFO    ] No update needed
[2026-08-29 04:46:46,638.638 INFO    ] Checking for camera pi updates...
[2026-08-29 04:46:46,659.659 INFO    ] 200
[2026-08-29 04:46:46,660.660 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:46:46,687.687 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:46:46,735.735 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:46:46,737.737 INFO    ] No camera update needed
[2026-08-29 04:46:46,738.738 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:46:46,739.739 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:46:46,743.743 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:46:46,746.746 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:46:48,797.797 INFO    ] ================================================
[2026-08-29 04:46:48,812.812 INFO    ] Launching Daemon at Sat Aug 29 04:46:48 IST 2026
[2026-08-29 04:46:48,823.823 INFO    ] ================================================
[2026-08-29 04:46:49,184.184 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:46:49
[2026-08-29 04:46:49,496.496 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:46:49,719.719 INFO    ] Initializing speech engine...
[2026-08-29 04:46:49,731.731 INFO    ] 2026-08-29 04:46:49
[2026-08-29 04:46:49,999.999 INFO    ] 2026-08-29 04:46:49
[2026-08-29 04:46:50,035.035 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:46:50,210.210 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:46:50,222.222 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:46:50,334.334 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:46:50,339.339 INFO    ] time= 29/08/2026 04:46:50
[2026-08-29 04:46:50,357.357 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:46:50,378.378 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:46:50,451.451 INFO    ] No existing commands found in stream
[2026-08-29 04:46:55,464.464 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:46:55,466.466 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-08-29 04:46:57,083.083 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:46:57,085.085 INFO    ] Checking for system updates...
[2026-08-29 04:46:57,105.105 INFO    ] 200
[2026-08-29 04:46:57,107.107 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:46:57,136.136 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:46:57,138.138 INFO    ] No update needed
[2026-08-29 04:46:57,139.139 INFO    ] Checking for camera pi updates...
[2026-08-29 04:46:57,160.160 INFO    ] 200
[2026-08-29 04:46:57,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:46:57,187.187 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:46:57,263.263 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:46:57,264.264 INFO    ] No camera update needed
[2026-08-29 04:46:57,265.265 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:46:57,266.266 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:46:57,269.269 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:46:57,272.272 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:46:59,315.315 INFO    ] ================================================
[2026-08-29 04:46:59,330.330 INFO    ] Launching Daemon at Sat Aug 29 04:46:59 IST 2026
[2026-08-29 04:46:59,341.341 INFO    ] ================================================
[2026-08-29 04:46:59,715.715 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:46:59
[2026-08-29 04:47:00,038.038 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:47:00,293.293 INFO    ] Initializing speech engine...
[2026-08-29 04:47:00,308.308 INFO    ] 2026-08-29 04:47:00
[2026-08-29 04:47:00,576.576 INFO    ] 2026-08-29 04:47:00
[2026-08-29 04:47:00,611.611 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:47:00,787.787 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:47:00,798.798 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:47:00,944.944 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:47:00,952.952 INFO    ] time= 29/08/2026 04:47:00
[2026-08-29 04:47:00,959.959 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:47:00,985.985 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:47:01,098.098 INFO    ] No existing commands found in stream
[2026-08-29 04:47:06,123.123 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:47:06,126.126 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-08-29 04:47:09,484.484 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:47:09,485.485 INFO    ] Checking for system updates...
[2026-08-29 04:47:09,507.507 INFO    ] 200
[2026-08-29 04:47:09,509.509 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:47:09,540.540 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:47:09,542.542 INFO    ] No update needed
[2026-08-29 04:47:09,543.543 INFO    ] Checking for camera pi updates...
[2026-08-29 04:47:09,562.562 INFO    ] 200
[2026-08-29 04:47:09,564.564 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:47:09,587.587 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:47:09,666.666 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:47:09,667.667 INFO    ] No camera update needed
[2026-08-29 04:47:09,669.669 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:47:09,670.670 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:47:09,673.673 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:47:09,676.676 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:47:11,713.713 INFO    ] ================================================
[2026-08-29 04:47:11,728.728 INFO    ] Launching Daemon at Sat Aug 29 04:47:11 IST 2026
[2026-08-29 04:47:11,739.739 INFO    ] ================================================
[2026-08-29 04:47:12,107.107 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:47:12
[2026-08-29 04:47:12,757.757 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:47:13,029.029 INFO    ] Initializing speech engine...
[2026-08-29 04:47:13,036.036 INFO    ] 2026-08-29 04:47:13
[2026-08-29 04:47:13,287.287 INFO    ] 2026-08-29 04:47:13
[2026-08-29 04:47:13,345.345 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:47:13,487.487 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:47:13,499.499 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:47:13,639.639 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:47:13,648.648 INFO    ] time= 29/08/2026 04:47:13
[2026-08-29 04:47:13,654.654 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:47:13,674.674 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:47:13,793.793 INFO    ] No existing commands found in stream
[2026-08-29 04:47:18,824.824 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:47:18,826.826 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-08-29 04:47:21,800.800 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:47:21,802.802 INFO    ] Checking for system updates...
[2026-08-29 04:47:21,837.837 INFO    ] 200
[2026-08-29 04:47:21,839.839 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:47:21,897.897 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:47:21,900.900 INFO    ] No update needed
[2026-08-29 04:47:21,902.902 INFO    ] Checking for camera pi updates...
[2026-08-29 04:47:21,943.943 INFO    ] 200
[2026-08-29 04:47:21,946.946 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:47:21,987.987 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:47:22,073.073 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:47:22,076.076 INFO    ] No camera update needed
[2026-08-29 04:47:22,078.078 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:47:22,080.080 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:47:22,085.085 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:47:22,090.090 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:47:24,133.133 INFO    ] ================================================
[2026-08-29 04:47:24,149.149 INFO    ] Launching Daemon at Sat Aug 29 04:47:24 IST 2026
[2026-08-29 04:47:24,159.159 INFO    ] ================================================
[2026-08-29 04:47:24,748.748 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:47:24
[2026-08-29 04:47:25,103.103 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:47:25,249.249 INFO    ] Initializing speech engine...
[2026-08-29 04:47:25,274.274 INFO    ] 2026-08-29 04:47:25
[2026-08-29 04:47:25,529.529 INFO    ] 2026-08-29 04:47:25
[2026-08-29 04:47:25,564.564 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:47:25,736.736 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:47:25,742.742 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:47:25,896.896 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:47:25,907.907 INFO    ] time= 29/08/2026 04:47:25
[2026-08-29 04:47:25,911.911 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:47:25,916.916 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:47:25,989.989 INFO    ] No existing commands found in stream
[2026-08-29 04:47:31,000.000 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:47:31,003.003 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-08-29 04:47:32,338.338 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:47:32,340.340 INFO    ] Checking for system updates...
[2026-08-29 04:47:32,377.377 INFO    ] 200
[2026-08-29 04:47:32,379.379 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:47:32,431.431 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:47:32,433.433 INFO    ] No update needed
[2026-08-29 04:47:32,436.436 INFO    ] Checking for camera pi updates...
[2026-08-29 04:47:32,470.470 INFO    ] 200
[2026-08-29 04:47:32,473.473 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:47:32,519.519 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:47:32,692.692 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:47:32,695.695 INFO    ] No camera update needed
[2026-08-29 04:47:32,697.697 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:47:32,699.699 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:47:32,705.705 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:47:32,710.710 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:47:34,749.749 INFO    ] ================================================
[2026-08-29 04:47:34,765.765 INFO    ] Launching Daemon at Sat Aug 29 04:47:34 IST 2026
[2026-08-29 04:47:34,776.776 INFO    ] ================================================
[2026-08-29 04:47:35,151.151 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:47:35
[2026-08-29 04:47:35,493.493 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:47:35,652.652 INFO    ] Initializing speech engine...
[2026-08-29 04:47:35,658.658 INFO    ] 2026-08-29 04:47:35
[2026-08-29 04:47:35,860.860 INFO    ] 2026-08-29 04:47:35
[2026-08-29 04:47:35,891.891 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:47:36,015.015 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:47:36,078.078 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:47:36,230.230 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:47:36,288.288 INFO    ] time= 29/08/2026 04:47:36
[2026-08-29 04:47:36,312.312 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:47:36,319.319 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:47:36,387.387 INFO    ] No existing commands found in stream
[2026-08-29 04:47:41,396.396 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:47:41,399.399 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-08-29 04:47:43,445.445 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:47:43,447.447 INFO    ] Checking for system updates...
[2026-08-29 04:47:43,469.469 INFO    ] 200
[2026-08-29 04:47:43,471.471 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:47:43,506.506 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:47:43,508.508 INFO    ] No update needed
[2026-08-29 04:47:43,509.509 INFO    ] Checking for camera pi updates...
[2026-08-29 04:47:43,533.533 INFO    ] 200
[2026-08-29 04:47:43,534.534 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:47:43,560.560 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:47:43,652.652 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:47:43,654.654 INFO    ] No camera update needed
[2026-08-29 04:47:43,655.655 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:47:43,657.657 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:47:43,660.660 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:47:43,663.663 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:47:45,703.703 INFO    ] ================================================
[2026-08-29 04:47:45,718.718 INFO    ] Launching Daemon at Sat Aug 29 04:47:45 IST 2026
[2026-08-29 04:47:45,729.729 INFO    ] ================================================
[2026-08-29 04:47:46,070.070 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:47:46
[2026-08-29 04:47:46,388.388 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:47:46,531.531 INFO    ] Initializing speech engine...
[2026-08-29 04:47:46,537.537 INFO    ] 2026-08-29 04:47:46
[2026-08-29 04:47:46,741.741 INFO    ] 2026-08-29 04:47:46
[2026-08-29 04:47:46,769.769 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:47:46,900.900 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:47:46,905.905 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:47:47,057.057 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:47:47,105.105 INFO    ] time= 29/08/2026 04:47:47
[2026-08-29 04:47:47,111.111 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:47:47,129.129 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:47:47,246.246 INFO    ] No existing commands found in stream
[2026-08-29 04:47:52,271.271 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:47:52,274.274 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-08-29 04:47:55,566.566 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:47:55,569.569 INFO    ] Checking for system updates...
[2026-08-29 04:47:55,609.609 INFO    ] 200
[2026-08-29 04:47:55,612.612 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:47:55,702.702 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:47:55,704.704 INFO    ] No update needed
[2026-08-29 04:47:55,707.707 INFO    ] Checking for camera pi updates...
[2026-08-29 04:47:55,741.741 INFO    ] 200
[2026-08-29 04:47:55,744.744 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:47:55,789.789 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:47:55,887.887 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:47:55,889.889 INFO    ] No camera update needed
[2026-08-29 04:47:55,892.892 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:47:55,895.895 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:47:55,901.901 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:47:55,907.907 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:47:57,948.948 INFO    ] ================================================
[2026-08-29 04:47:57,963.963 INFO    ] Launching Daemon at Sat Aug 29 04:47:57 IST 2026
[2026-08-29 04:47:57,974.974 INFO    ] ================================================
[2026-08-29 04:47:58,568.568 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:47:58
[2026-08-29 04:47:58,905.905 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:47:59,084.084 INFO    ] Initializing speech engine...
[2026-08-29 04:47:59,103.103 INFO    ] 2026-08-29 04:47:59
[2026-08-29 04:47:59,382.382 INFO    ] 2026-08-29 04:47:59
[2026-08-29 04:47:59,437.437 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:47:59,625.625 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:47:59,628.628 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:47:59,810.810 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:47:59,827.827 INFO    ] time= 29/08/2026 04:47:59
[2026-08-29 04:47:59,892.892 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:47:59,945.945 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:47:59,998.998 INFO    ] No existing commands found in stream
[2026-08-29 04:48:05,010.010 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:48:05,014.014 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-08-29 04:48:07,665.665 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:48:07,667.667 INFO    ] Checking for system updates...
[2026-08-29 04:48:07,688.688 INFO    ] 200
[2026-08-29 04:48:07,689.689 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:48:07,721.721 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:48:07,722.722 INFO    ] No update needed
[2026-08-29 04:48:07,723.723 INFO    ] Checking for camera pi updates...
[2026-08-29 04:48:07,743.743 INFO    ] 200
[2026-08-29 04:48:07,745.745 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:48:07,767.767 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:48:07,852.852 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:48:07,854.854 INFO    ] No camera update needed
[2026-08-29 04:48:07,857.857 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:48:07,859.859 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:48:07,864.864 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:48:07,869.869 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:48:09,910.910 INFO    ] ================================================
[2026-08-29 04:48:09,927.927 INFO    ] Launching Daemon at Sat Aug 29 04:48:09 IST 2026
[2026-08-29 04:48:09,939.939 INFO    ] ================================================
[2026-08-29 04:48:10,609.609 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:48:10
[2026-08-29 04:48:11,125.125 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:48:11,431.431 INFO    ] Initializing speech engine...
[2026-08-29 04:48:11,445.445 INFO    ] 2026-08-29 04:48:11
[2026-08-29 04:48:11,707.707 INFO    ] 2026-08-29 04:48:11
[2026-08-29 04:48:11,768.768 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:48:12,003.003 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:48:12,013.013 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:48:12,154.154 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:48:12,185.185 INFO    ] time= 29/08/2026 04:48:12
[2026-08-29 04:48:12,234.234 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:48:12,279.279 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:48:12,347.347 INFO    ] No existing commands found in stream
[2026-08-29 04:48:17,359.359 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:48:17,362.362 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-08-29 04:48:19,564.564 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:48:19,566.566 INFO    ] Checking for system updates...
[2026-08-29 04:48:19,586.586 INFO    ] 200
[2026-08-29 04:48:19,587.587 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:48:19,631.631 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:48:19,634.634 INFO    ] No update needed
[2026-08-29 04:48:19,636.636 INFO    ] Checking for camera pi updates...
[2026-08-29 04:48:19,671.671 INFO    ] 200
[2026-08-29 04:48:19,674.674 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:48:19,717.717 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:48:19,814.814 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:48:19,817.817 INFO    ] No camera update needed
[2026-08-29 04:48:19,819.819 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:48:19,822.822 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:48:19,828.828 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:48:19,834.834 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:48:21,876.876 INFO    ] ================================================
[2026-08-29 04:48:21,892.892 INFO    ] Launching Daemon at Sat Aug 29 04:48:21 IST 2026
[2026-08-29 04:48:21,904.904 INFO    ] ================================================
[2026-08-29 04:48:22,489.489 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:48:22
[2026-08-29 04:48:22,913.913 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:48:23,054.054 INFO    ] Initializing speech engine...
[2026-08-29 04:48:23,060.060 INFO    ] 2026-08-29 04:48:23
[2026-08-29 04:48:23,298.298 INFO    ] 2026-08-29 04:48:23
[2026-08-29 04:48:23,351.351 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:48:23,512.512 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:48:23,520.520 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:48:23,672.672 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:48:23,723.723 INFO    ] time= 29/08/2026 04:48:23
[2026-08-29 04:48:23,730.730 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:48:23,748.748 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:48:23,867.867 INFO    ] No existing commands found in stream
[2026-08-29 04:48:28,892.892 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:48:28,895.895 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-08-29 04:48:29,694.694 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:48:29,696.696 INFO    ] Checking for system updates...
[2026-08-29 04:48:29,716.716 INFO    ] 200
[2026-08-29 04:48:29,717.717 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:48:29,749.749 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:48:29,750.750 INFO    ] No update needed
[2026-08-29 04:48:29,752.752 INFO    ] Checking for camera pi updates...
[2026-08-29 04:48:29,771.771 INFO    ] 200
[2026-08-29 04:48:29,773.773 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:48:29,807.807 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:48:29,904.904 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:48:29,906.906 INFO    ] No camera update needed
[2026-08-29 04:48:29,909.909 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:48:29,911.911 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:48:29,916.916 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:48:29,921.921 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:48:31,964.964 INFO    ] ================================================
[2026-08-29 04:48:31,980.980 INFO    ] Launching Daemon at Sat Aug 29 04:48:31 IST 2026
[2026-08-29 04:48:31,992.992 INFO    ] ================================================
[2026-08-29 04:48:32,592.592 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:48:32
[2026-08-29 04:48:33,059.059 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:48:33,203.203 INFO    ] Initializing speech engine...
[2026-08-29 04:48:33,209.209 INFO    ] 2026-08-29 04:48:33
[2026-08-29 04:48:33,452.452 INFO    ] 2026-08-29 04:48:33
[2026-08-29 04:48:33,487.487 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:48:33,658.658 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:48:33,670.670 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:48:33,810.810 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:48:33,819.819 INFO    ] time= 29/08/2026 04:48:33
[2026-08-29 04:48:33,823.823 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:48:33,830.830 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:48:33,896.896 INFO    ] No existing commands found in stream
[2026-08-29 04:48:38,931.931 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:48:38,934.934 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-08-29 04:48:42,765.765 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:48:42,766.766 INFO    ] Checking for system updates...
[2026-08-29 04:48:42,787.787 INFO    ] 200
[2026-08-29 04:48:42,788.788 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:48:42,821.821 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:48:42,823.823 INFO    ] No update needed
[2026-08-29 04:48:42,825.825 INFO    ] Checking for camera pi updates...
[2026-08-29 04:48:42,844.844 INFO    ] 200
[2026-08-29 04:48:42,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:48:42,869.869 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:48:42,949.949 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:48:42,951.951 INFO    ] No camera update needed
[2026-08-29 04:48:42,952.952 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:48:42,954.954 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:48:42,957.957 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:48:42,960.960 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:48:45,001.001 INFO    ] ================================================
[2026-08-29 04:48:45,016.016 INFO    ] Launching Daemon at Sat Aug 29 04:48:45 IST 2026
[2026-08-29 04:48:45,027.027 INFO    ] ================================================
[2026-08-29 04:48:45,397.397 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:48:45
[2026-08-29 04:48:45,958.958 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:48:46,211.211 INFO    ] Initializing speech engine...
[2026-08-29 04:48:46,223.223 INFO    ] 2026-08-29 04:48:46
[2026-08-29 04:48:46,490.490 INFO    ] 2026-08-29 04:48:46
[2026-08-29 04:48:46,523.523 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:48:46,702.702 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:48:46,715.715 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:48:46,858.858 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:48:46,867.867 INFO    ] time= 29/08/2026 04:48:46
[2026-08-29 04:48:46,871.871 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:48:46,877.877 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:48:46,946.946 INFO    ] No existing commands found in stream
[2026-08-29 04:48:51,961.961 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:48:51,964.964 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-08-29 04:48:56,165.165 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:48:56,167.167 INFO    ] Checking for system updates...
[2026-08-29 04:48:56,187.187 INFO    ] 200
[2026-08-29 04:48:56,188.188 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:48:56,219.219 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:48:56,220.220 INFO    ] No update needed
[2026-08-29 04:48:56,222.222 INFO    ] Checking for camera pi updates...
[2026-08-29 04:48:56,241.241 INFO    ] 200
[2026-08-29 04:48:56,242.242 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:48:56,265.265 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:48:56,343.343 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:48:56,345.345 INFO    ] No camera update needed
[2026-08-29 04:48:56,346.346 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:48:56,347.347 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:48:56,350.350 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:48:56,352.352 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:48:58,390.390 INFO    ] ================================================
[2026-08-29 04:48:58,407.407 INFO    ] Launching Daemon at Sat Aug 29 04:48:58 IST 2026
[2026-08-29 04:48:58,418.418 INFO    ] ================================================
[2026-08-29 04:48:58,792.792 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:48:58
[2026-08-29 04:48:59,107.107 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:48:59,250.250 INFO    ] Initializing speech engine...
[2026-08-29 04:48:59,258.258 INFO    ] 2026-08-29 04:48:59
[2026-08-29 04:48:59,481.481 INFO    ] 2026-08-29 04:48:59
[2026-08-29 04:48:59,513.513 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:48:59,646.646 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:48:59,649.649 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:48:59,808.808 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:48:59,863.863 INFO    ] time= 29/08/2026 04:48:59
[2026-08-29 04:48:59,890.890 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:48:59,945.945 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:49:00,047.047 INFO    ] No existing commands found in stream
[2026-08-29 04:49:05,057.057 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:49:05,060.060 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 04:49:08,561.561 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:49:08,562.562 INFO    ] Checking for system updates...
[2026-08-29 04:49:08,583.583 INFO    ] 200
[2026-08-29 04:49:08,584.584 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:49:08,616.616 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:49:08,617.617 INFO    ] No update needed
[2026-08-29 04:49:08,619.619 INFO    ] Checking for camera pi updates...
[2026-08-29 04:49:08,639.639 INFO    ] 200
[2026-08-29 04:49:08,641.641 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:49:08,664.664 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:49:08,747.747 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:49:08,750.750 INFO    ] No camera update needed
[2026-08-29 04:49:08,752.752 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:49:08,754.754 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:49:08,760.760 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:49:08,765.765 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:49:10,806.806 INFO    ] ================================================
[2026-08-29 04:49:10,823.823 INFO    ] Launching Daemon at Sat Aug 29 04:49:10 IST 2026
[2026-08-29 04:49:10,833.833 INFO    ] ================================================
[2026-08-29 04:49:11,426.426 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:49:11
[2026-08-29 04:49:11,947.947 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:49:12,082.082 INFO    ] Initializing speech engine...
[2026-08-29 04:49:12,094.094 INFO    ] 2026-08-29 04:49:12
[2026-08-29 04:49:12,333.333 INFO    ] 2026-08-29 04:49:12
[2026-08-29 04:49:12,404.404 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:49:12,565.565 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:49:12,574.574 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:49:12,723.723 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:49:12,774.774 INFO    ] time= 29/08/2026 04:49:12
[2026-08-29 04:49:12,781.781 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:49:12,799.799 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:49:12,915.915 INFO    ] No existing commands found in stream
[2026-08-29 04:49:17,941.941 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:49:17,944.944 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 04:49:22,293.293 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:49:22,296.296 INFO    ] Checking for system updates...
[2026-08-29 04:49:22,332.332 INFO    ] 200
[2026-08-29 04:49:22,334.334 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:49:22,387.387 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:49:22,389.389 INFO    ] No update needed
[2026-08-29 04:49:22,391.391 INFO    ] Checking for camera pi updates...
[2026-08-29 04:49:22,424.424 INFO    ] 200
[2026-08-29 04:49:22,427.427 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:49:22,467.467 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:49:22,550.550 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:49:22,552.552 INFO    ] No camera update needed
[2026-08-29 04:49:22,555.555 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:49:22,557.557 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:49:22,562.562 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:49:22,567.567 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:49:24,609.609 INFO    ] ================================================
[2026-08-29 04:49:24,625.625 INFO    ] Launching Daemon at Sat Aug 29 04:49:24 IST 2026
[2026-08-29 04:49:24,637.637 INFO    ] ================================================
[2026-08-29 04:49:25,219.219 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:49:25
[2026-08-29 04:49:25,806.806 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:49:26,070.070 INFO    ] Initializing speech engine...
[2026-08-29 04:49:26,076.076 INFO    ] 2026-08-29 04:49:26
[2026-08-29 04:49:26,382.382 INFO    ] 2026-08-29 04:49:26
[2026-08-29 04:49:26,421.421 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:49:26,623.623 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:49:26,639.639 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:49:26,764.764 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:49:26,771.771 INFO    ] time= 29/08/2026 04:49:26
[2026-08-29 04:49:26,776.776 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:49:26,797.797 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:49:26,901.901 INFO    ] No existing commands found in stream
[2026-08-29 04:49:31,913.913 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:49:31,916.916 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 04:49:35,542.542 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:49:35,545.545 INFO    ] Checking for system updates...
[2026-08-29 04:49:35,582.582 INFO    ] 200
[2026-08-29 04:49:35,585.585 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:49:35,639.639 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:49:35,642.642 INFO    ] No update needed
[2026-08-29 04:49:35,645.645 INFO    ] Checking for camera pi updates...
[2026-08-29 04:49:35,685.685 INFO    ] 200
[2026-08-29 04:49:35,688.688 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:49:35,730.730 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:49:35,912.912 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:49:35,915.915 INFO    ] No camera update needed
[2026-08-29 04:49:35,917.917 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:49:35,920.920 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:49:35,926.926 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:49:35,932.932 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:49:37,975.975 INFO    ] ================================================
[2026-08-29 04:49:37,991.991 INFO    ] Launching Daemon at Sat Aug 29 04:49:37 IST 2026
[2026-08-29 04:49:38,002.002 INFO    ] ================================================
[2026-08-29 04:49:38,593.593 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:49:38
[2026-08-29 04:49:39,255.255 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:49:39,517.517 INFO    ] Initializing speech engine...
[2026-08-29 04:49:39,541.541 INFO    ] 2026-08-29 04:49:39
[2026-08-29 04:49:39,831.831 INFO    ] 2026-08-29 04:49:39
[2026-08-29 04:49:39,888.888 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:49:40,118.118 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:49:40,128.128 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:49:40,267.267 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:49:40,305.305 INFO    ] time= 29/08/2026 04:49:40
[2026-08-29 04:49:40,370.370 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:49:40,406.406 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:49:40,463.463 INFO    ] No existing commands found in stream
[2026-08-29 04:49:45,475.475 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:49:45,479.479 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-08-29 04:49:46,946.946 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:49:46,947.947 INFO    ] Checking for system updates...
[2026-08-29 04:49:46,968.968 INFO    ] 200
[2026-08-29 04:49:46,969.969 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:49:47,000.000 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:49:47,001.001 INFO    ] No update needed
[2026-08-29 04:49:47,003.003 INFO    ] Checking for camera pi updates...
[2026-08-29 04:49:47,023.023 INFO    ] 200
[2026-08-29 04:49:47,024.024 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:49:47,047.047 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:49:47,124.124 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:49:47,125.125 INFO    ] No camera update needed
[2026-08-29 04:49:47,126.126 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:49:47,128.128 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:49:47,131.131 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:49:47,133.133 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:49:49,171.171 INFO    ] ================================================
[2026-08-29 04:49:49,187.187 INFO    ] Launching Daemon at Sat Aug 29 04:49:49 IST 2026
[2026-08-29 04:49:49,198.198 INFO    ] ================================================
[2026-08-29 04:49:49,529.529 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:49:49
[2026-08-29 04:49:49,846.846 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:49:49,982.982 INFO    ] Initializing speech engine...
[2026-08-29 04:49:49,987.987 INFO    ] 2026-08-29 04:49:49
[2026-08-29 04:49:50,180.180 INFO    ] 2026-08-29 04:49:50
[2026-08-29 04:49:50,225.225 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:49:50,338.338 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:49:50,339.339 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:49:50,456.456 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:49:50,460.460 INFO    ] time= 29/08/2026 04:49:50
[2026-08-29 04:49:50,472.472 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:49:50,488.488 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:49:50,573.573 INFO    ] No existing commands found in stream
[2026-08-29 04:49:55,602.602 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:49:55,605.605 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-08-29 04:49:59,024.024 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:49:59,025.025 INFO    ] Checking for system updates...
[2026-08-29 04:49:59,046.046 INFO    ] 200
[2026-08-29 04:49:59,047.047 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:49:59,080.080 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:49:59,081.081 INFO    ] No update needed
[2026-08-29 04:49:59,082.082 INFO    ] Checking for camera pi updates...
[2026-08-29 04:49:59,102.102 INFO    ] 200
[2026-08-29 04:49:59,103.103 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:49:59,126.126 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:49:59,206.206 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:49:59,207.207 INFO    ] No camera update needed
[2026-08-29 04:49:59,208.208 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:49:59,209.209 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:49:59,212.212 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:49:59,215.215 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:50:01,253.253 INFO    ] ================================================
[2026-08-29 04:50:01,270.270 INFO    ] Launching Daemon at Sat Aug 29 04:50:01 IST 2026
[2026-08-29 04:50:01,281.281 INFO    ] ================================================
[2026-08-29 04:50:01,677.677 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:50:01
[2026-08-29 04:50:02,492.492 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:50:03,038.038 INFO    ] Initializing speech engine...
[2026-08-29 04:50:03,043.043 INFO    ] 2026-08-29 04:50:03
[2026-08-29 04:50:03,390.390 INFO    ] 2026-08-29 04:50:03
[2026-08-29 04:50:03,432.432 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:50:03,575.575 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:50:03,579.579 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:50:03,727.727 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:50:03,738.738 INFO    ] time= 29/08/2026 04:50:03
[2026-08-29 04:50:03,750.750 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:50:03,837.837 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:50:03,943.943 INFO    ] No existing commands found in stream
[2026-08-29 04:50:08,969.969 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:50:08,972.972 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-08-29 04:50:11,981.981 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:50:11,982.982 INFO    ] Checking for system updates...
[2026-08-29 04:50:12,004.004 INFO    ] 200
[2026-08-29 04:50:12,006.006 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:50:12,038.038 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:50:12,040.040 INFO    ] No update needed
[2026-08-29 04:50:12,041.041 INFO    ] Checking for camera pi updates...
[2026-08-29 04:50:12,060.060 INFO    ] 200
[2026-08-29 04:50:12,061.061 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:50:12,085.085 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:50:12,163.163 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:50:12,164.164 INFO    ] No camera update needed
[2026-08-29 04:50:12,165.165 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:50:12,167.167 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:50:12,169.169 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:50:12,172.172 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:50:14,210.210 INFO    ] ================================================
[2026-08-29 04:50:14,226.226 INFO    ] Launching Daemon at Sat Aug 29 04:50:14 IST 2026
[2026-08-29 04:50:14,237.237 INFO    ] ================================================
[2026-08-29 04:50:14,756.756 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:50:14
[2026-08-29 04:50:15,342.342 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:50:15,614.614 INFO    ] Initializing speech engine...
[2026-08-29 04:50:15,623.623 INFO    ] 2026-08-29 04:50:15
[2026-08-29 04:50:15,872.872 INFO    ] 2026-08-29 04:50:15
[2026-08-29 04:50:15,907.907 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:50:16,085.085 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:50:16,097.097 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:50:16,242.242 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:50:16,250.250 INFO    ] time= 29/08/2026 04:50:16
[2026-08-29 04:50:16,254.254 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:50:16,260.260 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:50:16,326.326 INFO    ] No existing commands found in stream
[2026-08-29 04:50:21,338.338 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:50:21,341.341 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-08-29 04:50:23,534.534 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:50:23,535.535 INFO    ] Checking for system updates...
[2026-08-29 04:50:23,556.556 INFO    ] 200
[2026-08-29 04:50:23,558.558 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:50:23,590.590 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:50:23,591.591 INFO    ] No update needed
[2026-08-29 04:50:23,593.593 INFO    ] Checking for camera pi updates...
[2026-08-29 04:50:23,613.613 INFO    ] 200
[2026-08-29 04:50:23,615.615 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:50:23,639.639 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:50:23,718.718 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:50:23,719.719 INFO    ] No camera update needed
[2026-08-29 04:50:23,721.721 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:50:23,722.722 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:50:23,725.725 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:50:23,728.728 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:50:25,768.768 INFO    ] ================================================
[2026-08-29 04:50:25,783.783 INFO    ] Launching Daemon at Sat Aug 29 04:50:25 IST 2026
[2026-08-29 04:50:25,794.794 INFO    ] ================================================
[2026-08-29 04:50:26,278.278 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:50:26
[2026-08-29 04:50:26,878.878 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:50:27,156.156 INFO    ] Initializing speech engine...
[2026-08-29 04:50:27,166.166 INFO    ] 2026-08-29 04:50:27
[2026-08-29 04:50:27,427.427 INFO    ] 2026-08-29 04:50:27
[2026-08-29 04:50:27,456.456 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:50:27,621.621 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:50:27,634.634 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:50:27,775.775 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:50:27,784.784 INFO    ] time= 29/08/2026 04:50:27
[2026-08-29 04:50:27,790.790 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:50:27,810.810 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:50:27,935.935 INFO    ] No existing commands found in stream
[2026-08-29 04:50:32,966.966 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:50:32,968.968 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-08-29 04:50:36,345.345 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:50:36,346.346 INFO    ] Checking for system updates...
[2026-08-29 04:50:36,367.367 INFO    ] 200
[2026-08-29 04:50:36,368.368 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:50:36,400.400 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:50:36,401.401 INFO    ] No update needed
[2026-08-29 04:50:36,403.403 INFO    ] Checking for camera pi updates...
[2026-08-29 04:50:36,422.422 INFO    ] 200
[2026-08-29 04:50:36,423.423 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:50:36,446.446 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:50:36,534.534 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:50:36,535.535 INFO    ] No camera update needed
[2026-08-29 04:50:36,536.536 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:50:36,537.537 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:50:36,540.540 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:50:36,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:50:38,583.583 INFO    ] ================================================
[2026-08-29 04:50:38,598.598 INFO    ] Launching Daemon at Sat Aug 29 04:50:38 IST 2026
[2026-08-29 04:50:38,609.609 INFO    ] ================================================
[2026-08-29 04:50:38,949.949 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:50:38
[2026-08-29 04:50:39,508.508 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:50:39,769.769 INFO    ] Initializing speech engine...
[2026-08-29 04:50:39,784.784 INFO    ] 2026-08-29 04:50:39
[2026-08-29 04:50:40,041.041 INFO    ] 2026-08-29 04:50:40
[2026-08-29 04:50:40,076.076 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:50:40,252.252 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:50:40,263.263 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:50:40,409.409 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:50:40,417.417 INFO    ] time= 29/08/2026 04:50:40
[2026-08-29 04:50:40,424.424 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:50:40,477.477 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:50:40,598.598 INFO    ] No existing commands found in stream
[2026-08-29 04:50:45,629.629 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:50:45,632.632 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-08-29 04:50:48,721.721 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:50:48,723.723 INFO    ] Checking for system updates...
[2026-08-29 04:50:48,743.743 INFO    ] 200
[2026-08-29 04:50:48,745.745 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:50:48,777.777 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:50:48,778.778 INFO    ] No update needed
[2026-08-29 04:50:48,779.779 INFO    ] Checking for camera pi updates...
[2026-08-29 04:50:48,800.800 INFO    ] 200
[2026-08-29 04:50:48,801.801 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:50:48,826.826 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:50:48,906.906 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:50:48,908.908 INFO    ] No camera update needed
[2026-08-29 04:50:48,909.909 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:50:48,910.910 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:50:48,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:50:48,916.916 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:50:50,956.956 INFO    ] ================================================
[2026-08-29 04:50:50,971.971 INFO    ] Launching Daemon at Sat Aug 29 04:50:50 IST 2026
[2026-08-29 04:50:50,982.982 INFO    ] ================================================
[2026-08-29 04:50:51,346.346 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:50:51
[2026-08-29 04:50:51,686.686 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:50:51,831.831 INFO    ] Initializing speech engine...
[2026-08-29 04:50:51,841.841 INFO    ] 2026-08-29 04:50:51
[2026-08-29 04:50:52,050.050 INFO    ] 2026-08-29 04:50:52
[2026-08-29 04:50:52,078.078 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:50:52,218.218 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:50:52,266.266 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:50:52,410.410 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:50:52,475.475 INFO    ] time= 29/08/2026 04:50:52
[2026-08-29 04:50:52,501.501 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:50:52,503.503 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:50:52,570.570 INFO    ] No existing commands found in stream
[2026-08-29 04:50:57,585.585 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:50:57,588.588 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-08-29 04:50:59,788.788 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:50:59,790.790 INFO    ] Checking for system updates...
[2026-08-29 04:50:59,813.813 INFO    ] 200
[2026-08-29 04:50:59,814.814 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:50:59,847.847 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:50:59,849.849 INFO    ] No update needed
[2026-08-29 04:50:59,850.850 INFO    ] Checking for camera pi updates...
[2026-08-29 04:50:59,871.871 INFO    ] 200
[2026-08-29 04:50:59,873.873 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:50:59,900.900 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:50:59,988.988 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:50:59,990.990 INFO    ] No camera update needed
[2026-08-29 04:50:59,991.991 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:50:59,993.993 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:50:59,996.996 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:50:59,999.999 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:51:02,044.044 INFO    ] ================================================
[2026-08-29 04:51:02,068.068 INFO    ] Launching Daemon at Sat Aug 29 04:51:02 IST 2026
[2026-08-29 04:51:02,083.083 INFO    ] ================================================
[2026-08-29 04:51:02,708.708 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:51:02
[2026-08-29 04:51:03,344.344 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:51:03,597.597 INFO    ] Initializing speech engine...
[2026-08-29 04:51:03,603.603 INFO    ] 2026-08-29 04:51:03
[2026-08-29 04:51:03,897.897 INFO    ] 2026-08-29 04:51:03
[2026-08-29 04:51:03,932.932 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:51:04,130.130 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:51:04,146.146 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:51:04,271.271 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:51:04,281.281 INFO    ] time= 29/08/2026 04:51:04
[2026-08-29 04:51:04,306.306 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:51:04,317.317 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:51:04,399.399 INFO    ] No existing commands found in stream
[2026-08-29 04:51:09,412.412 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:51:09,414.414 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-08-29 04:51:12,989.989 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:51:12,992.992 INFO    ] Checking for system updates...
[2026-08-29 04:51:13,028.028 INFO    ] 200
[2026-08-29 04:51:13,031.031 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:51:13,084.084 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:51:13,087.087 INFO    ] No update needed
[2026-08-29 04:51:13,090.090 INFO    ] Checking for camera pi updates...
[2026-08-29 04:51:13,128.128 INFO    ] 200
[2026-08-29 04:51:13,130.130 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:51:13,179.179 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:51:13,270.270 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:51:13,274.274 INFO    ] No camera update needed
[2026-08-29 04:51:13,277.277 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:51:13,279.279 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:51:13,285.285 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:51:13,291.291 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:51:15,332.332 INFO    ] ================================================
[2026-08-29 04:51:15,347.347 INFO    ] Launching Daemon at Sat Aug 29 04:51:15 IST 2026
[2026-08-29 04:51:15,358.358 INFO    ] ================================================
[2026-08-29 04:51:15,995.995 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:51:15
[2026-08-29 04:51:16,375.375 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:51:16,580.580 INFO    ] Initializing speech engine...
[2026-08-29 04:51:16,590.590 INFO    ] 2026-08-29 04:51:16
[2026-08-29 04:51:16,893.893 INFO    ] 2026-08-29 04:51:16
[2026-08-29 04:51:16,998.998 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:51:17,162.162 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:51:17,172.172 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:51:17,322.322 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:51:17,329.329 INFO    ] time= 29/08/2026 04:51:17
[2026-08-29 04:51:17,348.348 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:51:17,402.402 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:51:17,479.479 INFO    ] No existing commands found in stream
[2026-08-29 04:51:22,490.490 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:51:22,493.493 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 04:51:26,070.070 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:51:26,072.072 INFO    ] Checking for system updates...
[2026-08-29 04:51:26,094.094 INFO    ] 200
[2026-08-29 04:51:26,095.095 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:51:26,126.126 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:51:26,127.127 INFO    ] No update needed
[2026-08-29 04:51:26,128.128 INFO    ] Checking for camera pi updates...
[2026-08-29 04:51:26,148.148 INFO    ] 200
[2026-08-29 04:51:26,150.150 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:51:26,173.173 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:51:26,271.271 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:51:26,273.273 INFO    ] No camera update needed
[2026-08-29 04:51:26,274.274 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:51:26,275.275 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:51:26,278.278 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:51:26,281.281 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:51:28,319.319 INFO    ] ================================================
[2026-08-29 04:51:28,340.340 INFO    ] Launching Daemon at Sat Aug 29 04:51:28 IST 2026
[2026-08-29 04:51:28,350.350 INFO    ] ================================================
[2026-08-29 04:51:28,855.855 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:51:28
[2026-08-29 04:51:29,442.442 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:51:29,691.691 INFO    ] Initializing speech engine...
[2026-08-29 04:51:29,705.705 INFO    ] 2026-08-29 04:51:29
[2026-08-29 04:51:29,973.973 INFO    ] 2026-08-29 04:51:29
[2026-08-29 04:51:30,007.007 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:51:30,185.185 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:51:30,198.198 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:51:30,343.343 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:51:30,352.352 INFO    ] time= 29/08/2026 04:51:30
[2026-08-29 04:51:30,358.358 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:51:30,379.379 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:51:30,507.507 INFO    ] No existing commands found in stream
[2026-08-29 04:51:35,532.532 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:51:35,535.535 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-08-29 04:51:38,662.662 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:51:38,664.664 INFO    ] Checking for system updates...
[2026-08-29 04:51:38,685.685 INFO    ] 200
[2026-08-29 04:51:38,686.686 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:51:38,718.718 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:51:38,720.720 INFO    ] No update needed
[2026-08-29 04:51:38,721.721 INFO    ] Checking for camera pi updates...
[2026-08-29 04:51:38,740.740 INFO    ] 200
[2026-08-29 04:51:38,741.741 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:51:38,764.764 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:51:38,964.964 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:51:38,965.965 INFO    ] No camera update needed
[2026-08-29 04:51:38,967.967 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:51:38,968.968 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:51:38,971.971 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:51:38,974.974 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:51:41,014.014 INFO    ] ================================================
[2026-08-29 04:51:41,029.029 INFO    ] Launching Daemon at Sat Aug 29 04:51:41 IST 2026
[2026-08-29 04:51:41,040.040 INFO    ] ================================================
[2026-08-29 04:51:41,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:51:41
[2026-08-29 04:51:42,366.366 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:51:42,673.673 INFO    ] Initializing speech engine...
[2026-08-29 04:51:42,679.679 INFO    ] 2026-08-29 04:51:42
[2026-08-29 04:51:42,955.955 INFO    ] 2026-08-29 04:51:42
[2026-08-29 04:51:42,990.990 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:51:43,162.162 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:51:43,177.177 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:51:43,321.321 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:51:43,331.331 INFO    ] time= 29/08/2026 04:51:43
[2026-08-29 04:51:43,339.339 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:51:43,386.386 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:51:43,503.503 INFO    ] No existing commands found in stream
[2026-08-29 04:51:48,534.534 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:51:48,537.537 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-08-29 04:51:51,735.735 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:51:51,736.736 INFO    ] Checking for system updates...
[2026-08-29 04:51:51,757.757 INFO    ] 200
[2026-08-29 04:51:51,762.762 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:51:51,793.793 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:51:51,794.794 INFO    ] No update needed
[2026-08-29 04:51:51,795.795 INFO    ] Checking for camera pi updates...
[2026-08-29 04:51:51,815.815 INFO    ] 200
[2026-08-29 04:51:51,816.816 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:51:51,840.840 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:51:51,945.945 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:51:51,946.946 INFO    ] No camera update needed
[2026-08-29 04:51:51,948.948 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:51:51,949.949 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:51:51,952.952 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:51:51,955.955 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:51:54,998.998 INFO    ] ================================================
[2026-08-29 04:51:54,013.013 INFO    ] Launching Daemon at Sat Aug 29 04:51:54 IST 2026
[2026-08-29 04:51:54,024.024 INFO    ] ================================================
[2026-08-29 04:51:54,489.489 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:51:54
[2026-08-29 04:51:55,110.110 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:51:55,440.440 INFO    ] Initializing speech engine...
[2026-08-29 04:51:55,455.455 INFO    ] 2026-08-29 04:51:55
[2026-08-29 04:51:55,750.750 INFO    ] 2026-08-29 04:51:55
[2026-08-29 04:51:55,808.808 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:51:56,032.032 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:51:56,042.042 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:51:56,171.171 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:51:56,199.199 INFO    ] time= 29/08/2026 04:51:56
[2026-08-29 04:51:56,264.264 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:51:56,312.312 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:51:56,368.368 INFO    ] No existing commands found in stream
[2026-08-29 04:52:01,382.382 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:52:01,387.387 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-08-29 04:52:03,778.778 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:52:03,781.781 INFO    ] Checking for system updates...
[2026-08-29 04:52:03,818.818 INFO    ] 200
[2026-08-29 04:52:03,821.821 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:52:03,881.881 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:52:03,884.884 INFO    ] No update needed
[2026-08-29 04:52:03,886.886 INFO    ] Checking for camera pi updates...
[2026-08-29 04:52:03,920.920 INFO    ] 200
[2026-08-29 04:52:03,922.922 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:52:03,967.967 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:52:04,047.047 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:52:04,049.049 INFO    ] No camera update needed
[2026-08-29 04:52:04,051.051 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:52:04,054.054 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:52:04,059.059 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:52:04,064.064 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:52:06,098.098 INFO    ] ================================================
[2026-08-29 04:52:06,113.113 INFO    ] Launching Daemon at Sat Aug 29 04:52:06 IST 2026
[2026-08-29 04:52:06,124.124 INFO    ] ================================================
[2026-08-29 04:52:06,696.696 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:52:06
[2026-08-29 04:52:07,282.282 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:52:07,555.555 INFO    ] Initializing speech engine...
[2026-08-29 04:52:07,564.564 INFO    ] 2026-08-29 04:52:07
[2026-08-29 04:52:07,814.814 INFO    ] 2026-08-29 04:52:07
[2026-08-29 04:52:07,850.850 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:52:08,026.026 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:52:08,038.038 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:52:08,187.187 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:52:08,192.192 INFO    ] time= 29/08/2026 04:52:08
[2026-08-29 04:52:08,198.198 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:52:08,231.231 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:52:08,372.372 INFO    ] No existing commands found in stream
[2026-08-29 04:52:13,403.403 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:52:13,406.406 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-08-29 04:52:15,563.563 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:52:15,565.565 INFO    ] Checking for system updates...
[2026-08-29 04:52:15,586.586 INFO    ] 200
[2026-08-29 04:52:15,587.587 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:52:15,620.620 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:52:15,621.621 INFO    ] No update needed
[2026-08-29 04:52:15,623.623 INFO    ] Checking for camera pi updates...
[2026-08-29 04:52:15,642.642 INFO    ] 200
[2026-08-29 04:52:15,644.644 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:52:15,668.668 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:52:15,745.745 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:52:15,746.746 INFO    ] No camera update needed
[2026-08-29 04:52:15,748.748 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:52:15,749.749 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:52:15,752.752 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:52:15,755.755 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:52:17,795.795 INFO    ] ================================================
[2026-08-29 04:52:17,810.810 INFO    ] Launching Daemon at Sat Aug 29 04:52:17 IST 2026
[2026-08-29 04:52:17,822.822 INFO    ] ================================================
[2026-08-29 04:52:18,367.367 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:52:18
[2026-08-29 04:52:18,954.954 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:52:19,204.204 INFO    ] Initializing speech engine...
[2026-08-29 04:52:19,209.209 INFO    ] 2026-08-29 04:52:19
[2026-08-29 04:52:19,489.489 INFO    ] 2026-08-29 04:52:19
[2026-08-29 04:52:19,526.526 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:52:19,698.698 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:52:19,709.709 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:52:19,837.837 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:52:19,857.857 INFO    ] time= 29/08/2026 04:52:19
[2026-08-29 04:52:19,865.865 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:52:19,871.871 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:52:19,939.939 INFO    ] No existing commands found in stream
[2026-08-29 04:52:24,974.974 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:52:24,977.977 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-08-29 04:52:26,338.338 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:52:26,339.339 INFO    ] Checking for system updates...
[2026-08-29 04:52:26,360.360 INFO    ] 200
[2026-08-29 04:52:26,361.361 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:52:26,391.391 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:52:26,392.392 INFO    ] No update needed
[2026-08-29 04:52:26,394.394 INFO    ] Checking for camera pi updates...
[2026-08-29 04:52:26,413.413 INFO    ] 200
[2026-08-29 04:52:26,414.414 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:52:26,439.439 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:52:26,486.486 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:52:26,488.488 INFO    ] No camera update needed
[2026-08-29 04:52:26,489.489 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:52:26,490.490 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:52:26,493.493 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:52:26,498.498 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:52:28,539.539 INFO    ] ================================================
[2026-08-29 04:52:28,554.554 INFO    ] Launching Daemon at Sat Aug 29 04:52:28 IST 2026
[2026-08-29 04:52:28,566.566 INFO    ] ================================================
[2026-08-29 04:52:29,195.195 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:52:29
[2026-08-29 04:52:29,733.733 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:52:29,883.883 INFO    ] Initializing speech engine...
[2026-08-29 04:52:29,888.888 INFO    ] 2026-08-29 04:52:29
[2026-08-29 04:52:30,096.096 INFO    ] 2026-08-29 04:52:30
[2026-08-29 04:52:30,125.125 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:52:30,253.253 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:52:30,311.311 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:52:30,443.443 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:52:30,499.499 INFO    ] time= 29/08/2026 04:52:30
[2026-08-29 04:52:30,541.541 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:52:30,544.544 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:52:30,616.616 INFO    ] No existing commands found in stream
[2026-08-29 04:52:35,625.625 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:52:35,628.628 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-08-29 04:52:39,616.616 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:52:39,619.619 INFO    ] Checking for system updates...
[2026-08-29 04:52:39,658.658 INFO    ] 200
[2026-08-29 04:52:39,661.661 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:52:39,718.718 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:52:39,721.721 INFO    ] No update needed
[2026-08-29 04:52:39,724.724 INFO    ] Checking for camera pi updates...
[2026-08-29 04:52:39,767.767 INFO    ] 200
[2026-08-29 04:52:39,771.771 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:52:39,826.826 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:52:39,912.912 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:52:39,915.915 INFO    ] No camera update needed
[2026-08-29 04:52:39,918.918 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:52:39,921.921 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:52:39,928.928 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:52:39,935.935 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:52:41,977.977 INFO    ] ================================================
[2026-08-29 04:52:41,993.993 INFO    ] Launching Daemon at Sat Aug 29 04:52:41 IST 2026
[2026-08-29 04:52:42,004.004 INFO    ] ================================================
[2026-08-29 04:52:42,606.606 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:52:42
[2026-08-29 04:52:42,953.953 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:52:43,105.105 INFO    ] Initializing speech engine...
[2026-08-29 04:52:43,110.110 INFO    ] 2026-08-29 04:52:43
[2026-08-29 04:52:43,359.359 INFO    ] 2026-08-29 04:52:43
[2026-08-29 04:52:43,419.419 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:52:43,657.657 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:52:43,666.666 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:52:43,800.800 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:52:43,842.842 INFO    ] time= 29/08/2026 04:52:43
[2026-08-29 04:52:43,892.892 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:52:43,934.934 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:52:43,992.992 INFO    ] No existing commands found in stream
[2026-08-29 04:52:49,004.004 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:52:49,007.007 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-08-29 04:52:50,057.057 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:52:50,058.058 INFO    ] Checking for system updates...
[2026-08-29 04:52:50,080.080 INFO    ] 200
[2026-08-29 04:52:50,081.081 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:52:50,111.111 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:52:50,113.113 INFO    ] No update needed
[2026-08-29 04:52:50,114.114 INFO    ] Checking for camera pi updates...
[2026-08-29 04:52:50,133.133 INFO    ] 200
[2026-08-29 04:52:50,134.134 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:52:50,157.157 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:52:50,233.233 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:52:50,234.234 INFO    ] No camera update needed
[2026-08-29 04:52:50,235.235 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:52:50,236.236 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:52:50,239.239 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:52:50,242.242 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:52:52,280.280 INFO    ] ================================================
[2026-08-29 04:52:52,296.296 INFO    ] Launching Daemon at Sat Aug 29 04:52:52 IST 2026
[2026-08-29 04:52:52,307.307 INFO    ] ================================================
[2026-08-29 04:52:52,670.670 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:52:52
[2026-08-29 04:52:53,003.003 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:52:53,155.155 INFO    ] Initializing speech engine...
[2026-08-29 04:52:53,159.159 INFO    ] 2026-08-29 04:52:53
[2026-08-29 04:52:53,369.369 INFO    ] 2026-08-29 04:52:53
[2026-08-29 04:52:53,398.398 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:52:53,522.522 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:52:53,585.585 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:52:53,726.726 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:52:53,794.794 INFO    ] time= 29/08/2026 04:52:53
[2026-08-29 04:52:53,818.818 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:52:53,825.825 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:52:53,892.892 INFO    ] No existing commands found in stream
[2026-08-29 04:52:58,903.903 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:52:58,906.906 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-08-29 04:53:00,273.273 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:53:00,275.275 INFO    ] Checking for system updates...
[2026-08-29 04:53:00,297.297 INFO    ] 200
[2026-08-29 04:53:00,299.299 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:53:00,333.333 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:53:00,334.334 INFO    ] No update needed
[2026-08-29 04:53:00,336.336 INFO    ] Checking for camera pi updates...
[2026-08-29 04:53:00,355.355 INFO    ] 200
[2026-08-29 04:53:00,356.356 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:53:00,379.379 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:53:00,459.459 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:53:00,462.462 INFO    ] No camera update needed
[2026-08-29 04:53:00,465.465 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:53:00,467.467 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:53:00,473.473 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:53:00,479.479 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:53:02,522.522 INFO    ] ================================================
[2026-08-29 04:53:02,542.542 INFO    ] Launching Daemon at Sat Aug 29 04:53:02 IST 2026
[2026-08-29 04:53:02,559.559 INFO    ] ================================================
[2026-08-29 04:53:03,183.183 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:53:03
[2026-08-29 04:53:03,738.738 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:53:04,010.010 INFO    ] Initializing speech engine...
[2026-08-29 04:53:04,019.019 INFO    ] 2026-08-29 04:53:04
[2026-08-29 04:53:04,279.279 INFO    ] 2026-08-29 04:53:04
[2026-08-29 04:53:04,337.337 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:53:04,483.483 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:53:04,495.495 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:53:04,640.640 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:53:04,647.647 INFO    ] time= 29/08/2026 04:53:04
[2026-08-29 04:53:04,655.655 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:53:04,696.696 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:53:04,802.802 INFO    ] No existing commands found in stream
[2026-08-29 04:53:09,827.827 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:53:09,830.830 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 04:53:13,423.423 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:53:13,424.424 INFO    ] Checking for system updates...
[2026-08-29 04:53:13,447.447 INFO    ] 200
[2026-08-29 04:53:13,448.448 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:53:13,481.481 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:53:13,482.482 INFO    ] No update needed
[2026-08-29 04:53:13,484.484 INFO    ] Checking for camera pi updates...
[2026-08-29 04:53:13,503.503 INFO    ] 200
[2026-08-29 04:53:13,505.505 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:53:13,529.529 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:53:13,624.624 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:53:13,626.626 INFO    ] No camera update needed
[2026-08-29 04:53:13,627.627 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:53:13,628.628 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:53:13,632.632 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:53:13,635.635 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:53:15,675.675 INFO    ] ================================================
[2026-08-29 04:53:15,691.691 INFO    ] Launching Daemon at Sat Aug 29 04:53:15 IST 2026
[2026-08-29 04:53:15,702.702 INFO    ] ================================================
[2026-08-29 04:53:16,045.045 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:53:16
[2026-08-29 04:53:16,359.359 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:53:16,497.497 INFO    ] Initializing speech engine...
[2026-08-29 04:53:16,507.507 INFO    ] 2026-08-29 04:53:16
[2026-08-29 04:53:16,713.713 INFO    ] 2026-08-29 04:53:16
[2026-08-29 04:53:16,742.742 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:53:16,927.927 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:53:16,931.931 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:53:17,093.093 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:53:17,123.123 INFO    ] time= 29/08/2026 04:53:17
[2026-08-29 04:53:17,182.182 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:53:17,242.242 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:53:17,309.309 INFO    ] No existing commands found in stream
[2026-08-29 04:53:22,318.318 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:53:22,321.321 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-08-29 04:53:23,512.512 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:53:23,515.515 INFO    ] Checking for system updates...
[2026-08-29 04:53:23,550.550 INFO    ] 200
[2026-08-29 04:53:23,553.553 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:53:23,604.604 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:53:23,607.607 INFO    ] No update needed
[2026-08-29 04:53:23,610.610 INFO    ] Checking for camera pi updates...
[2026-08-29 04:53:23,643.643 INFO    ] 200
[2026-08-29 04:53:23,646.646 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:53:23,687.687 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:53:23,777.777 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:53:23,779.779 INFO    ] No camera update needed
[2026-08-29 04:53:23,781.781 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:53:23,784.784 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:53:23,789.789 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:53:23,794.794 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:53:25,838.838 INFO    ] ================================================
[2026-08-29 04:53:25,855.855 INFO    ] Launching Daemon at Sat Aug 29 04:53:25 IST 2026
[2026-08-29 04:53:25,866.866 INFO    ] ================================================
[2026-08-29 04:53:26,215.215 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:53:26
[2026-08-29 04:53:26,693.693 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:53:27,002.002 INFO    ] Initializing speech engine...
[2026-08-29 04:53:27,016.016 INFO    ] 2026-08-29 04:53:27
[2026-08-29 04:53:27,329.329 INFO    ] 2026-08-29 04:53:27
[2026-08-29 04:53:27,411.411 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:53:27,566.566 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:53:27,571.571 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:53:27,718.718 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:53:27,771.771 INFO    ] time= 29/08/2026 04:53:27
[2026-08-29 04:53:27,831.831 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:53:27,853.853 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:53:27,908.908 INFO    ] No existing commands found in stream
[2026-08-29 04:53:32,923.923 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:53:32,927.927 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-08-29 04:53:34,063.063 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:53:34,066.066 INFO    ] Checking for system updates...
[2026-08-29 04:53:34,103.103 INFO    ] 200
[2026-08-29 04:53:34,105.105 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:53:34,165.165 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:53:34,167.167 INFO    ] No update needed
[2026-08-29 04:53:34,170.170 INFO    ] Checking for camera pi updates...
[2026-08-29 04:53:34,203.203 INFO    ] 200
[2026-08-29 04:53:34,206.206 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:53:34,246.246 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:53:34,332.332 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:53:34,335.335 INFO    ] No camera update needed
[2026-08-29 04:53:34,337.337 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:53:34,339.339 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:53:34,344.344 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:53:34,349.349 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:53:36,391.391 INFO    ] ================================================
[2026-08-29 04:53:36,408.408 INFO    ] Launching Daemon at Sat Aug 29 04:53:36 IST 2026
[2026-08-29 04:53:36,420.420 INFO    ] ================================================
[2026-08-29 04:53:36,757.757 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:53:36
[2026-08-29 04:53:37,070.070 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:53:37,219.219 INFO    ] Initializing speech engine...
[2026-08-29 04:53:37,224.224 INFO    ] 2026-08-29 04:53:37
[2026-08-29 04:53:37,440.440 INFO    ] 2026-08-29 04:53:37
[2026-08-29 04:53:37,471.471 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:53:37,604.604 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:53:37,667.667 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:53:37,813.813 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:53:37,869.869 INFO    ] time= 29/08/2026 04:53:37
[2026-08-29 04:53:37,897.897 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:53:37,921.921 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:53:37,997.997 INFO    ] No existing commands found in stream
[2026-08-29 04:53:43,007.007 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:53:43,010.010 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-08-29 04:53:44,411.411 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:53:44,413.413 INFO    ] Checking for system updates...
[2026-08-29 04:53:44,434.434 INFO    ] 200
[2026-08-29 04:53:44,436.436 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:53:44,466.466 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:53:44,467.467 INFO    ] No update needed
[2026-08-29 04:53:44,468.468 INFO    ] Checking for camera pi updates...
[2026-08-29 04:53:44,489.489 INFO    ] 200
[2026-08-29 04:53:44,490.490 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:53:44,515.515 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:53:44,729.729 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:53:44,731.731 INFO    ] No camera update needed
[2026-08-29 04:53:44,732.732 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:53:44,733.733 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:53:44,737.737 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:53:44,740.740 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:53:46,778.778 INFO    ] ================================================
[2026-08-29 04:53:46,794.794 INFO    ] Launching Daemon at Sat Aug 29 04:53:46 IST 2026
[2026-08-29 04:53:46,805.805 INFO    ] ================================================
[2026-08-29 04:53:47,192.192 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:53:47
[2026-08-29 04:53:47,530.530 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:53:47,785.785 INFO    ] Initializing speech engine...
[2026-08-29 04:53:47,797.797 INFO    ] 2026-08-29 04:53:47
[2026-08-29 04:53:48,111.111 INFO    ] 2026-08-29 04:53:48
[2026-08-29 04:53:48,198.198 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:53:48,348.348 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:53:48,358.358 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:53:48,491.491 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:53:48,508.508 INFO    ] time= 29/08/2026 04:53:48
[2026-08-29 04:53:48,558.558 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:53:48,608.608 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:53:48,680.680 INFO    ] No existing commands found in stream
[2026-08-29 04:53:53,693.693 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:53:53,696.696 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-08-29 04:53:55,213.213 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:53:55,215.215 INFO    ] Checking for system updates...
[2026-08-29 04:53:55,237.237 INFO    ] 200
[2026-08-29 04:53:55,238.238 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:53:55,270.270 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:53:55,271.271 INFO    ] No update needed
[2026-08-29 04:53:55,273.273 INFO    ] Checking for camera pi updates...
[2026-08-29 04:53:55,292.292 INFO    ] 200
[2026-08-29 04:53:55,294.294 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:53:55,318.318 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:53:55,402.402 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:53:55,405.405 INFO    ] No camera update needed
[2026-08-29 04:53:55,407.407 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:53:55,409.409 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:53:55,415.415 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:53:55,419.419 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:53:57,460.460 INFO    ] ================================================
[2026-08-29 04:53:57,475.475 INFO    ] Launching Daemon at Sat Aug 29 04:53:57 IST 2026
[2026-08-29 04:53:57,486.486 INFO    ] ================================================
[2026-08-29 04:53:58,070.070 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:53:58
[2026-08-29 04:53:58,534.534 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:53:58,669.669 INFO    ] Initializing speech engine...
[2026-08-29 04:53:58,673.673 INFO    ] 2026-08-29 04:53:58
[2026-08-29 04:53:58,903.903 INFO    ] 2026-08-29 04:53:58
[2026-08-29 04:53:58,936.936 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:53:59,069.069 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:53:59,113.113 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:53:59,249.249 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:53:59,283.283 INFO    ] time= 29/08/2026 04:53:59
[2026-08-29 04:53:59,335.335 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:53:59,379.379 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:53:59,465.465 INFO    ] No existing commands found in stream
[2026-08-29 04:54:04,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:54:04,477.477 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-08-29 04:54:06,483.483 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:54:06,485.485 INFO    ] Checking for system updates...
[2026-08-29 04:54:06,516.516 INFO    ] 200
[2026-08-29 04:54:06,518.518 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:54:06,552.552 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:54:06,555.555 INFO    ] No update needed
[2026-08-29 04:54:06,557.557 INFO    ] Checking for camera pi updates...
[2026-08-29 04:54:06,595.595 INFO    ] 200
[2026-08-29 04:54:06,598.598 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:54:06,646.646 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:54:06,731.731 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:54:06,734.734 INFO    ] No camera update needed
[2026-08-29 04:54:06,737.737 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:54:06,739.739 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:54:06,745.745 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:54:06,751.751 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:54:08,792.792 INFO    ] ================================================
[2026-08-29 04:54:08,809.809 INFO    ] Launching Daemon at Sat Aug 29 04:54:08 IST 2026
[2026-08-29 04:54:08,819.819 INFO    ] ================================================
[2026-08-29 04:54:09,392.392 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:54:09
[2026-08-29 04:54:09,921.921 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:54:10,224.224 INFO    ] Initializing speech engine...
[2026-08-29 04:54:10,232.232 INFO    ] 2026-08-29 04:54:10
[2026-08-29 04:54:10,521.521 INFO    ] 2026-08-29 04:54:10
[2026-08-29 04:54:10,567.567 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:54:10,792.792 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:54:10,802.802 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:54:10,938.938 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:54:10,991.991 INFO    ] time= 29/08/2026 04:54:10
[2026-08-29 04:54:11,056.056 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:54:11,078.078 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:54:11,196.196 INFO    ] No existing commands found in stream
[2026-08-29 04:54:16,229.229 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:54:16,233.233 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-08-29 04:54:17,493.493 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:54:17,494.494 INFO    ] Checking for system updates...
[2026-08-29 04:54:17,515.515 INFO    ] 200
[2026-08-29 04:54:17,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:54:17,549.549 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:54:17,550.550 INFO    ] No update needed
[2026-08-29 04:54:17,552.552 INFO    ] Checking for camera pi updates...
[2026-08-29 04:54:17,573.573 INFO    ] 200
[2026-08-29 04:54:17,575.575 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:54:17,598.598 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:54:17,688.688 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:54:17,690.690 INFO    ] No camera update needed
[2026-08-29 04:54:17,691.691 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:54:17,692.692 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:54:17,696.696 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:54:17,699.699 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:54:19,738.738 INFO    ] ================================================
[2026-08-29 04:54:19,754.754 INFO    ] Launching Daemon at Sat Aug 29 04:54:19 IST 2026
[2026-08-29 04:54:19,765.765 INFO    ] ================================================
[2026-08-29 04:54:20,121.121 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:54:20
[2026-08-29 04:54:20,434.434 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:54:20,568.568 INFO    ] Initializing speech engine...
[2026-08-29 04:54:20,575.575 INFO    ] 2026-08-29 04:54:20
[2026-08-29 04:54:20,875.875 INFO    ] 2026-08-29 04:54:20
[2026-08-29 04:54:20,913.913 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:54:21,061.061 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:54:21,075.075 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:54:21,220.220 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:54:21,230.230 INFO    ] time= 29/08/2026 04:54:21
[2026-08-29 04:54:21,235.235 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:54:21,240.240 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:54:21,307.307 INFO    ] No existing commands found in stream
[2026-08-29 04:54:26,318.318 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:54:26,320.320 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-08-29 04:54:27,554.554 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:54:27,556.556 INFO    ] Checking for system updates...
[2026-08-29 04:54:27,576.576 INFO    ] 200
[2026-08-29 04:54:27,577.577 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:54:27,607.607 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:54:27,609.609 INFO    ] No update needed
[2026-08-29 04:54:27,610.610 INFO    ] Checking for camera pi updates...
[2026-08-29 04:54:27,631.631 INFO    ] 200
[2026-08-29 04:54:27,633.633 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:54:27,656.656 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:54:27,740.740 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:54:27,741.741 INFO    ] No camera update needed
[2026-08-29 04:54:27,742.742 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:54:27,744.744 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:54:27,746.746 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:54:27,749.749 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:54:29,789.789 INFO    ] ================================================
[2026-08-29 04:54:29,805.805 INFO    ] Launching Daemon at Sat Aug 29 04:54:29 IST 2026
[2026-08-29 04:54:29,816.816 INFO    ] ================================================
[2026-08-29 04:54:30,174.174 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:54:30
[2026-08-29 04:54:30,486.486 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:54:30,741.741 INFO    ] Initializing speech engine...
[2026-08-29 04:54:30,753.753 INFO    ] 2026-08-29 04:54:30
[2026-08-29 04:54:31,048.048 INFO    ] 2026-08-29 04:54:31
[2026-08-29 04:54:31,161.161 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:54:31,321.321 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:54:31,326.326 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:54:31,462.462 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:54:31,505.505 INFO    ] time= 29/08/2026 04:54:31
[2026-08-29 04:54:31,570.570 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:54:31,603.603 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:54:31,661.661 INFO    ] No existing commands found in stream
[2026-08-29 04:54:36,674.674 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:54:36,677.677 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-08-29 04:54:37,494.494 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:54:37,496.496 INFO    ] Checking for system updates...
[2026-08-29 04:54:37,518.518 INFO    ] 200
[2026-08-29 04:54:37,520.520 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:54:37,553.553 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:54:37,554.554 INFO    ] No update needed
[2026-08-29 04:54:37,556.556 INFO    ] Checking for camera pi updates...
[2026-08-29 04:54:37,575.575 INFO    ] 200
[2026-08-29 04:54:37,577.577 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:54:37,600.600 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:54:37,679.679 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:54:37,680.680 INFO    ] No camera update needed
[2026-08-29 04:54:37,682.682 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:54:37,683.683 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:54:37,687.687 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:54:37,690.690 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:54:39,728.728 INFO    ] ================================================
[2026-08-29 04:54:39,743.743 INFO    ] Launching Daemon at Sat Aug 29 04:54:39 IST 2026
[2026-08-29 04:54:39,754.754 INFO    ] ================================================
[2026-08-29 04:54:40,289.289 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:54:40
[2026-08-29 04:54:40,873.873 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:54:41,124.124 INFO    ] Initializing speech engine...
[2026-08-29 04:54:41,133.133 INFO    ] 2026-08-29 04:54:41
[2026-08-29 04:54:41,431.431 INFO    ] 2026-08-29 04:54:41
[2026-08-29 04:54:41,456.456 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:54:41,614.614 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:54:41,621.621 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:54:41,776.776 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:54:41,786.786 INFO    ] time= 29/08/2026 04:54:41
[2026-08-29 04:54:41,790.790 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:54:41,795.795 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:54:41,866.866 INFO    ] No existing commands found in stream
[2026-08-29 04:54:46,878.878 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:54:46,881.881 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-08-29 04:54:50,155.155 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:54:50,158.158 INFO    ] Checking for system updates...
[2026-08-29 04:54:50,204.204 INFO    ] 200
[2026-08-29 04:54:50,207.207 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:54:50,268.268 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:54:50,272.272 INFO    ] No update needed
[2026-08-29 04:54:50,275.275 INFO    ] Checking for camera pi updates...
[2026-08-29 04:54:50,320.320 INFO    ] 200
[2026-08-29 04:54:50,323.323 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:54:50,369.369 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:54:50,474.474 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:54:50,477.477 INFO    ] No camera update needed
[2026-08-29 04:54:50,480.480 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:54:50,484.484 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:54:50,491.491 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:54:50,499.499 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:54:52,541.541 INFO    ] ================================================
[2026-08-29 04:54:52,557.557 INFO    ] Launching Daemon at Sat Aug 29 04:54:52 IST 2026
[2026-08-29 04:54:52,568.568 INFO    ] ================================================
[2026-08-29 04:54:53,103.103 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:54:53
[2026-08-29 04:54:53,445.445 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:54:53,654.654 INFO    ] Initializing speech engine...
[2026-08-29 04:54:53,662.662 INFO    ] 2026-08-29 04:54:53
[2026-08-29 04:54:53,942.942 INFO    ] 2026-08-29 04:54:53
[2026-08-29 04:54:53,997.997 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:54:54,224.224 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:54:54,235.235 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:54:54,389.389 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:54:54,455.455 INFO    ] time= 29/08/2026 04:54:54
[2026-08-29 04:54:54,498.498 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:54:54,505.505 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:54:54,636.636 INFO    ] No existing commands found in stream
[2026-08-29 04:54:59,661.661 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:54:59,665.665 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-08-29 04:55:02,579.579 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:55:02,583.583 INFO    ] Checking for system updates...
[2026-08-29 04:55:02,627.627 INFO    ] 200
[2026-08-29 04:55:02,630.630 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:55:02,691.691 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:55:02,694.694 INFO    ] No update needed
[2026-08-29 04:55:02,697.697 INFO    ] Checking for camera pi updates...
[2026-08-29 04:55:02,743.743 INFO    ] 200
[2026-08-29 04:55:02,745.745 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:55:02,796.796 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:55:02,918.918 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:55:02,921.921 INFO    ] No camera update needed
[2026-08-29 04:55:02,924.924 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:55:02,927.927 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:55:02,933.933 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:55:02,940.940 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:55:04,980.980 INFO    ] ================================================
[2026-08-29 04:55:05,995.995 INFO    ] Launching Daemon at Sat Aug 29 04:55:04 IST 2026
[2026-08-29 04:55:05,006.006 INFO    ] ================================================
[2026-08-29 04:55:05,354.354 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:55:05
[2026-08-29 04:55:05,763.763 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:55:06,039.039 INFO    ] Initializing speech engine...
[2026-08-29 04:55:06,045.045 INFO    ] 2026-08-29 04:55:06
[2026-08-29 04:55:06,295.295 INFO    ] 2026-08-29 04:55:06
[2026-08-29 04:55:06,330.330 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:55:06,523.523 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:55:06,539.539 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:55:06,663.663 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:55:06,669.669 INFO    ] time= 29/08/2026 04:55:06
[2026-08-29 04:55:06,674.674 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:55:06,694.694 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:55:06,783.783 INFO    ] No existing commands found in stream
[2026-08-29 04:55:11,805.805 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:55:11,808.808 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-08-29 04:55:12,423.423 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:55:12,425.425 INFO    ] Checking for system updates...
[2026-08-29 04:55:12,445.445 INFO    ] 200
[2026-08-29 04:55:12,447.447 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:55:12,479.479 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:55:12,480.480 INFO    ] No update needed
[2026-08-29 04:55:12,482.482 INFO    ] Checking for camera pi updates...
[2026-08-29 04:55:12,503.503 INFO    ] 200
[2026-08-29 04:55:12,504.504 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:55:12,530.530 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:55:12,612.612 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:55:12,613.613 INFO    ] No camera update needed
[2026-08-29 04:55:12,615.615 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:55:12,616.616 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:55:12,619.619 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:55:12,622.622 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:55:14,654.654 INFO    ] ================================================
[2026-08-29 04:55:14,662.662 INFO    ] Launching Daemon at Sat Aug 29 04:55:14 IST 2026
[2026-08-29 04:55:14,668.668 INFO    ] ================================================
[2026-08-29 04:55:15,186.186 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:55:15
[2026-08-29 04:55:15,770.770 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:55:16,021.021 INFO    ] Initializing speech engine...
[2026-08-29 04:55:16,043.043 INFO    ] 2026-08-29 04:55:16
[2026-08-29 04:55:16,301.301 INFO    ] 2026-08-29 04:55:16
[2026-08-29 04:55:16,337.337 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:55:16,513.513 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:55:16,526.526 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:55:16,671.671 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:55:16,678.678 INFO    ] time= 29/08/2026 04:55:16
[2026-08-29 04:55:16,686.686 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:55:16,737.737 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:55:16,847.847 INFO    ] No existing commands found in stream
[2026-08-29 04:55:21,877.877 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:55:21,880.880 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-08-29 04:55:26,211.211 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:55:26,212.212 INFO    ] Checking for system updates...
[2026-08-29 04:55:26,233.233 INFO    ] 200
[2026-08-29 04:55:26,234.234 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:55:26,266.266 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:55:26,268.268 INFO    ] No update needed
[2026-08-29 04:55:26,269.269 INFO    ] Checking for camera pi updates...
[2026-08-29 04:55:26,289.289 INFO    ] 200
[2026-08-29 04:55:26,290.290 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:55:26,315.315 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:55:26,399.399 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:55:26,400.400 INFO    ] No camera update needed
[2026-08-29 04:55:26,401.401 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:55:26,403.403 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:55:26,406.406 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:55:26,408.408 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:55:28,448.448 INFO    ] ================================================
[2026-08-29 04:55:28,464.464 INFO    ] Launching Daemon at Sat Aug 29 04:55:28 IST 2026
[2026-08-29 04:55:28,475.475 INFO    ] ================================================
[2026-08-29 04:55:28,849.849 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:55:28
[2026-08-29 04:55:29,187.187 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:55:29,332.332 INFO    ] Initializing speech engine...
[2026-08-29 04:55:29,342.342 INFO    ] 2026-08-29 04:55:29
[2026-08-29 04:55:29,551.551 INFO    ] 2026-08-29 04:55:29
[2026-08-29 04:55:29,580.580 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:55:29,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:55:29,760.760 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:55:29,907.907 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:55:29,969.969 INFO    ] time= 29/08/2026 04:55:29
[2026-08-29 04:55:29,993.993 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:55:30,000.000 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:55:30,065.065 INFO    ] No existing commands found in stream
[2026-08-29 04:55:35,075.075 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:55:35,078.078 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-08-29 04:55:38,050.050 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:55:38,052.052 INFO    ] Checking for system updates...
[2026-08-29 04:55:38,073.073 INFO    ] 200
[2026-08-29 04:55:38,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:55:38,107.107 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:55:38,108.108 INFO    ] No update needed
[2026-08-29 04:55:38,109.109 INFO    ] Checking for camera pi updates...
[2026-08-29 04:55:38,129.129 INFO    ] 200
[2026-08-29 04:55:38,130.130 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:55:38,154.154 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:55:38,254.254 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:55:38,255.255 INFO    ] No camera update needed
[2026-08-29 04:55:38,257.257 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:55:38,258.258 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:55:38,261.261 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:55:38,264.264 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:55:40,303.303 INFO    ] ================================================
[2026-08-29 04:55:40,319.319 INFO    ] Launching Daemon at Sat Aug 29 04:55:40 IST 2026
[2026-08-29 04:55:40,329.329 INFO    ] ================================================
[2026-08-29 04:55:40,688.688 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:55:40
[2026-08-29 04:55:40,999.999 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:55:41,144.144 INFO    ] Initializing speech engine...
[2026-08-29 04:55:41,149.149 INFO    ] 2026-08-29 04:55:41
[2026-08-29 04:55:41,354.354 INFO    ] 2026-08-29 04:55:41
[2026-08-29 04:55:41,383.383 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:55:41,559.559 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:55:41,566.566 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:55:41,700.700 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:55:41,720.720 INFO    ] time= 29/08/2026 04:55:41
[2026-08-29 04:55:41,748.748 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:55:41,756.756 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:55:41,857.857 INFO    ] No existing commands found in stream
[2026-08-29 04:55:46,873.873 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:55:46,876.876 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-08-29 04:55:48,534.534 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:55:48,537.537 INFO    ] Checking for system updates...
[2026-08-29 04:55:48,573.573 INFO    ] 200
[2026-08-29 04:55:48,575.575 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:55:48,635.635 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:55:48,637.637 INFO    ] No update needed
[2026-08-29 04:55:48,640.640 INFO    ] Checking for camera pi updates...
[2026-08-29 04:55:48,674.674 INFO    ] 200
[2026-08-29 04:55:48,676.676 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:55:48,717.717 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:55:48,938.938 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:55:48,940.940 INFO    ] No camera update needed
[2026-08-29 04:55:48,943.943 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:55:48,945.945 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:55:48,950.950 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:55:48,955.955 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:55:51,999.999 INFO    ] ================================================
[2026-08-29 04:55:51,014.014 INFO    ] Launching Daemon at Sat Aug 29 04:55:51 IST 2026
[2026-08-29 04:55:51,026.026 INFO    ] ================================================
[2026-08-29 04:55:51,564.564 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:55:51
[2026-08-29 04:55:51,907.907 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:55:52,063.063 INFO    ] Initializing speech engine...
[2026-08-29 04:55:52,067.067 INFO    ] 2026-08-29 04:55:52
[2026-08-29 04:55:52,275.275 INFO    ] 2026-08-29 04:55:52
[2026-08-29 04:55:52,306.306 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:55:52,440.440 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:55:52,450.450 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:55:52,607.607 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:55:52,656.656 INFO    ] time= 29/08/2026 04:55:52
[2026-08-29 04:55:52,663.663 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:55:52,684.684 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:55:52,802.802 INFO    ] No existing commands found in stream
[2026-08-29 04:55:57,829.829 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:55:57,833.833 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-08-29 04:55:58,725.725 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:55:58,727.727 INFO    ] Checking for system updates...
[2026-08-29 04:55:58,748.748 INFO    ] 200
[2026-08-29 04:55:58,749.749 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:55:58,781.781 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:55:58,783.783 INFO    ] No update needed
[2026-08-29 04:55:58,784.784 INFO    ] Checking for camera pi updates...
[2026-08-29 04:55:58,803.803 INFO    ] 200
[2026-08-29 04:55:58,804.804 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:55:58,831.831 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:55:58,914.914 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:55:58,915.915 INFO    ] No camera update needed
[2026-08-29 04:55:58,917.917 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:55:58,918.918 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:55:58,921.921 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:55:58,923.923 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:56:00,962.962 INFO    ] ================================================
[2026-08-29 04:56:00,978.978 INFO    ] Launching Daemon at Sat Aug 29 04:56:00 IST 2026
[2026-08-29 04:56:00,988.988 INFO    ] ================================================
[2026-08-29 04:56:01,358.358 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:56:01
[2026-08-29 04:56:01,864.864 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:56:02,255.255 INFO    ] Initializing speech engine...
[2026-08-29 04:56:02,262.262 INFO    ] 2026-08-29 04:56:02
[2026-08-29 04:56:02,551.551 INFO    ] 2026-08-29 04:56:02
[2026-08-29 04:56:02,617.617 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:56:02,773.773 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:56:02,789.789 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:56:02,937.937 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:56:02,967.967 INFO    ] time= 29/08/2026 04:56:02
[2026-08-29 04:56:02,980.980 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:56:02,997.997 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:56:03,126.126 INFO    ] No existing commands found in stream
[2026-08-29 04:56:08,161.161 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:56:08,164.164 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-08-29 04:56:10,488.488 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:56:10,489.489 INFO    ] Checking for system updates...
[2026-08-29 04:56:10,510.510 INFO    ] 200
[2026-08-29 04:56:10,512.512 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:56:10,541.541 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:56:10,543.543 INFO    ] No update needed
[2026-08-29 04:56:10,544.544 INFO    ] Checking for camera pi updates...
[2026-08-29 04:56:10,563.563 INFO    ] 200
[2026-08-29 04:56:10,565.565 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:56:10,589.589 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:56:10,664.664 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:56:10,665.665 INFO    ] No camera update needed
[2026-08-29 04:56:10,666.666 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:56:10,667.667 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:56:10,670.670 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:56:10,673.673 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:56:12,711.711 INFO    ] ================================================
[2026-08-29 04:56:12,727.727 INFO    ] Launching Daemon at Sat Aug 29 04:56:12 IST 2026
[2026-08-29 04:56:12,738.738 INFO    ] ================================================
[2026-08-29 04:56:13,126.126 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:56:13
[2026-08-29 04:56:13,466.466 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:56:13,620.620 INFO    ] Initializing speech engine...
[2026-08-29 04:56:13,627.627 INFO    ] 2026-08-29 04:56:13
[2026-08-29 04:56:13,838.838 INFO    ] 2026-08-29 04:56:13
[2026-08-29 04:56:13,867.867 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:56:13,993.993 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:56:14,041.041 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:56:14,249.249 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:56:14,285.285 INFO    ] time= 29/08/2026 04:56:14
[2026-08-29 04:56:14,346.346 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:56:14,367.367 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:56:14,489.489 INFO    ] No existing commands found in stream
[2026-08-29 04:56:19,520.520 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:56:19,523.523 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-08-29 04:56:20,129.129 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:56:20,131.131 INFO    ] Checking for system updates...
[2026-08-29 04:56:20,153.153 INFO    ] 200
[2026-08-29 04:56:20,154.154 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:56:20,187.187 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:56:20,188.188 INFO    ] No update needed
[2026-08-29 04:56:20,190.190 INFO    ] Checking for camera pi updates...
[2026-08-29 04:56:20,209.209 INFO    ] 200
[2026-08-29 04:56:20,211.211 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:56:20,236.236 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:56:20,315.315 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:56:20,318.318 INFO    ] No camera update needed
[2026-08-29 04:56:20,320.320 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:56:20,323.323 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:56:20,329.329 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:56:20,335.335 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:56:22,377.377 INFO    ] ================================================
[2026-08-29 04:56:22,395.395 INFO    ] Launching Daemon at Sat Aug 29 04:56:22 IST 2026
[2026-08-29 04:56:22,407.407 INFO    ] ================================================
[2026-08-29 04:56:22,978.978 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:56:22
[2026-08-29 04:56:23,445.445 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:56:23,658.658 INFO    ] Initializing speech engine...
[2026-08-29 04:56:23,667.667 INFO    ] 2026-08-29 04:56:23
[2026-08-29 04:56:23,928.928 INFO    ] 2026-08-29 04:56:23
[2026-08-29 04:56:23,981.981 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:56:24,144.144 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:56:24,166.166 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:56:24,332.332 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:56:24,348.348 INFO    ] time= 29/08/2026 04:56:24
[2026-08-29 04:56:24,390.390 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:56:24,413.413 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:56:24,489.489 INFO    ] No existing commands found in stream
[2026-08-29 04:56:29,511.511 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:56:29,514.514 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-08-29 04:56:31,968.968 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:56:31,970.970 INFO    ] Checking for system updates...
[2026-08-29 04:56:32,000.000 INFO    ] 200
[2026-08-29 04:56:32,003.003 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:56:32,070.070 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:56:32,073.073 INFO    ] No update needed
[2026-08-29 04:56:32,076.076 INFO    ] Checking for camera pi updates...
[2026-08-29 04:56:32,118.118 INFO    ] 200
[2026-08-29 04:56:32,120.120 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:56:32,165.165 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:56:32,324.324 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:56:32,327.327 INFO    ] No camera update needed
[2026-08-29 04:56:32,329.329 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:56:32,332.332 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:56:32,338.338 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:56:32,344.344 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:56:34,385.385 INFO    ] ================================================
[2026-08-29 04:56:34,401.401 INFO    ] Launching Daemon at Sat Aug 29 04:56:34 IST 2026
[2026-08-29 04:56:34,413.413 INFO    ] ================================================
[2026-08-29 04:56:35,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:56:35
[2026-08-29 04:56:35,572.572 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:56:35,877.877 INFO    ] Initializing speech engine...
[2026-08-29 04:56:35,886.886 INFO    ] 2026-08-29 04:56:35
[2026-08-29 04:56:36,165.165 INFO    ] 2026-08-29 04:56:36
[2026-08-29 04:56:36,222.222 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:56:36,426.426 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:56:36,430.430 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:56:36,590.590 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:56:36,630.630 INFO    ] time= 29/08/2026 04:56:36
[2026-08-29 04:56:36,680.680 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:56:36,723.723 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:56:36,777.777 INFO    ] No existing commands found in stream
[2026-08-29 04:56:41,790.790 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:56:41,794.794 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-08-29 04:56:46,003.003 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:56:46,005.005 INFO    ] Checking for system updates...
[2026-08-29 04:56:46,027.027 INFO    ] 200
[2026-08-29 04:56:46,028.028 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:56:46,062.062 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:56:46,063.063 INFO    ] No update needed
[2026-08-29 04:56:46,065.065 INFO    ] Checking for camera pi updates...
[2026-08-29 04:56:46,084.084 INFO    ] 200
[2026-08-29 04:56:46,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:56:46,109.109 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:56:46,200.200 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:56:46,202.202 INFO    ] No camera update needed
[2026-08-29 04:56:46,203.203 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:56:46,205.205 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:56:46,208.208 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:56:46,211.211 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:56:48,249.249 INFO    ] ================================================
[2026-08-29 04:56:48,265.265 INFO    ] Launching Daemon at Sat Aug 29 04:56:48 IST 2026
[2026-08-29 04:56:48,276.276 INFO    ] ================================================
[2026-08-29 04:56:48,616.616 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:56:48
[2026-08-29 04:56:48,933.933 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:56:49,206.206 INFO    ] Initializing speech engine...
[2026-08-29 04:56:49,212.212 INFO    ] 2026-08-29 04:56:49
[2026-08-29 04:56:49,463.463 INFO    ] 2026-08-29 04:56:49
[2026-08-29 04:56:49,519.519 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:56:49,672.672 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:56:49,688.688 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:56:49,816.816 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:56:49,824.824 INFO    ] time= 29/08/2026 04:56:49
[2026-08-29 04:56:49,831.831 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:56:49,856.856 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:56:49,994.994 INFO    ] No existing commands found in stream
[2026-08-29 04:56:55,025.025 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:56:55,027.027 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-08-29 04:56:58,036.036 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:56:58,037.037 INFO    ] Checking for system updates...
[2026-08-29 04:56:58,058.058 INFO    ] 200
[2026-08-29 04:56:58,059.059 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:56:58,092.092 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:56:58,093.093 INFO    ] No update needed
[2026-08-29 04:56:58,095.095 INFO    ] Checking for camera pi updates...
[2026-08-29 04:56:58,114.114 INFO    ] 200
[2026-08-29 04:56:58,115.115 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:56:58,138.138 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:56:58,215.215 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:56:58,216.216 INFO    ] No camera update needed
[2026-08-29 04:56:58,218.218 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:56:58,219.219 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:56:58,222.222 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:56:58,225.225 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:57:00,264.264 INFO    ] ================================================
[2026-08-29 04:57:00,280.280 INFO    ] Launching Daemon at Sat Aug 29 04:57:00 IST 2026
[2026-08-29 04:57:00,291.291 INFO    ] ================================================
[2026-08-29 04:57:00,640.640 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:57:00
[2026-08-29 04:57:00,953.953 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:57:01,089.089 INFO    ] Initializing speech engine...
[2026-08-29 04:57:01,102.102 INFO    ] 2026-08-29 04:57:01
[2026-08-29 04:57:01,323.323 INFO    ] 2026-08-29 04:57:01
[2026-08-29 04:57:01,354.354 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:57:01,487.487 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:57:01,526.526 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:57:01,709.709 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:57:01,713.713 INFO    ] time= 29/08/2026 04:57:01
[2026-08-29 04:57:01,716.716 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:57:01,730.730 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:57:01,842.842 INFO    ] No existing commands found in stream
[2026-08-29 04:57:06,852.852 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:57:06,855.855 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-08-29 04:57:10,886.886 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:57:10,887.887 INFO    ] Checking for system updates...
[2026-08-29 04:57:10,908.908 INFO    ] 200
[2026-08-29 04:57:10,909.909 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:57:10,943.943 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:57:10,945.945 INFO    ] No update needed
[2026-08-29 04:57:10,946.946 INFO    ] Checking for camera pi updates...
[2026-08-29 04:57:10,965.965 INFO    ] 200
[2026-08-29 04:57:10,966.966 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:57:10,992.992 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:57:11,068.068 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:57:11,069.069 INFO    ] No camera update needed
[2026-08-29 04:57:11,071.071 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:57:11,072.072 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:57:11,075.075 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:57:11,078.078 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:57:13,117.117 INFO    ] ================================================
[2026-08-29 04:57:13,133.133 INFO    ] Launching Daemon at Sat Aug 29 04:57:13 IST 2026
[2026-08-29 04:57:13,144.144 INFO    ] ================================================
[2026-08-29 04:57:13,718.718 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:57:13
[2026-08-29 04:57:14,320.320 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:57:14,589.589 INFO    ] Initializing speech engine...
[2026-08-29 04:57:14,614.614 INFO    ] 2026-08-29 04:57:14
[2026-08-29 04:57:14,891.891 INFO    ] 2026-08-29 04:57:14
[2026-08-29 04:57:14,927.927 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:57:15,078.078 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:57:15,086.086 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:57:15,239.239 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:57:15,248.248 INFO    ] time= 29/08/2026 04:57:15
[2026-08-29 04:57:15,254.254 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:57:15,278.278 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:57:15,332.332 INFO    ] No existing commands found in stream
[2026-08-29 04:57:20,343.343 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:57:20,346.346 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-08-29 04:57:21,798.798 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:57:21,799.799 INFO    ] Checking for system updates...
[2026-08-29 04:57:21,820.820 INFO    ] 200
[2026-08-29 04:57:21,821.821 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:57:21,851.851 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:57:21,853.853 INFO    ] No update needed
[2026-08-29 04:57:21,854.854 INFO    ] Checking for camera pi updates...
[2026-08-29 04:57:21,874.874 INFO    ] 200
[2026-08-29 04:57:21,875.875 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:57:21,899.899 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:57:21,981.981 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:57:21,983.983 INFO    ] No camera update needed
[2026-08-29 04:57:21,986.986 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:57:21,988.988 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:57:21,994.994 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:57:21,999.999 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:57:24,040.040 INFO    ] ================================================
[2026-08-29 04:57:24,057.057 INFO    ] Launching Daemon at Sat Aug 29 04:57:24 IST 2026
[2026-08-29 04:57:24,067.067 INFO    ] ================================================
[2026-08-29 04:57:24,641.641 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:57:24
[2026-08-29 04:57:25,229.229 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:57:25,370.370 INFO    ] Initializing speech engine...
[2026-08-29 04:57:25,392.392 INFO    ] 2026-08-29 04:57:25
[2026-08-29 04:57:25,605.605 INFO    ] 2026-08-29 04:57:25
[2026-08-29 04:57:25,635.635 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:57:25,761.761 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:57:25,767.767 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:57:25,938.938 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:57:25,993.993 INFO    ] time= 29/08/2026 04:57:25
[2026-08-29 04:57:26,013.013 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:57:26,019.019 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:57:26,140.140 INFO    ] No existing commands found in stream
[2026-08-29 04:57:31,170.170 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:57:31,173.173 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-08-29 04:57:33,281.281 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:57:33,283.283 INFO    ] Checking for system updates...
[2026-08-29 04:57:33,320.320 INFO    ] 200
[2026-08-29 04:57:33,323.323 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:57:33,378.378 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:57:33,381.381 INFO    ] No update needed
[2026-08-29 04:57:33,384.384 INFO    ] Checking for camera pi updates...
[2026-08-29 04:57:33,420.420 INFO    ] 200
[2026-08-29 04:57:33,423.423 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:57:33,465.465 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:57:33,554.554 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:57:33,557.557 INFO    ] No camera update needed
[2026-08-29 04:57:33,559.559 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:57:33,562.562 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:57:33,569.569 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:57:33,574.574 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:57:35,616.616 INFO    ] ================================================
[2026-08-29 04:57:35,632.632 INFO    ] Launching Daemon at Sat Aug 29 04:57:35 IST 2026
[2026-08-29 04:57:35,643.643 INFO    ] ================================================
[2026-08-29 04:57:35,978.978 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:57:35
[2026-08-29 04:57:36,298.298 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:57:36,436.436 INFO    ] Initializing speech engine...
[2026-08-29 04:57:36,449.449 INFO    ] 2026-08-29 04:57:36
[2026-08-29 04:57:36,669.669 INFO    ] 2026-08-29 04:57:36
[2026-08-29 04:57:36,700.700 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:57:36,799.799 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:57:36,834.834 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:57:36,979.979 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:57:36,985.985 INFO    ] time= 29/08/2026 04:57:36
[2026-08-29 04:57:37,005.005 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:57:37,024.024 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:57:37,137.137 INFO    ] No existing commands found in stream
[2026-08-29 04:57:42,167.167 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:57:42,170.170 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-08-29 04:57:44,234.234 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:57:44,235.235 INFO    ] Checking for system updates...
[2026-08-29 04:57:44,256.256 INFO    ] 200
[2026-08-29 04:57:44,257.257 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:57:44,289.289 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:57:44,291.291 INFO    ] No update needed
[2026-08-29 04:57:44,292.292 INFO    ] Checking for camera pi updates...
[2026-08-29 04:57:44,313.313 INFO    ] 200
[2026-08-29 04:57:44,315.315 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:57:44,337.337 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:57:44,418.418 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:57:44,420.420 INFO    ] No camera update needed
[2026-08-29 04:57:44,421.421 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:57:44,422.422 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:57:44,425.425 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:57:44,428.428 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:57:46,467.467 INFO    ] ================================================
[2026-08-29 04:57:46,483.483 INFO    ] Launching Daemon at Sat Aug 29 04:57:46 IST 2026
[2026-08-29 04:57:46,493.493 INFO    ] ================================================
[2026-08-29 04:57:46,844.844 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:57:46
[2026-08-29 04:57:47,164.164 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:57:47,299.299 INFO    ] Initializing speech engine...
[2026-08-29 04:57:47,302.302 INFO    ] 2026-08-29 04:57:47
[2026-08-29 04:57:47,496.496 INFO    ] 2026-08-29 04:57:47
[2026-08-29 04:57:47,541.541 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:57:47,702.702 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:57:47,760.760 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:57:47,914.914 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:57:47,952.952 INFO    ] time= 29/08/2026 04:57:47
[2026-08-29 04:57:48,001.001 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:57:48,024.024 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:57:48,102.102 INFO    ] No existing commands found in stream
[2026-08-29 04:57:53,113.113 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:57:53,116.116 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 04:57:54,349.349 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:57:54,351.351 INFO    ] Checking for system updates...
[2026-08-29 04:57:54,371.371 INFO    ] 200
[2026-08-29 04:57:54,373.373 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:57:54,402.402 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:57:54,403.403 INFO    ] No update needed
[2026-08-29 04:57:54,405.405 INFO    ] Checking for camera pi updates...
[2026-08-29 04:57:54,424.424 INFO    ] 200
[2026-08-29 04:57:54,426.426 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:57:54,449.449 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:57:54,636.636 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:57:54,638.638 INFO    ] No camera update needed
[2026-08-29 04:57:54,639.639 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:57:54,640.640 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:57:54,643.643 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:57:54,646.646 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:57:56,685.685 INFO    ] ================================================
[2026-08-29 04:57:56,701.701 INFO    ] Launching Daemon at Sat Aug 29 04:57:56 IST 2026
[2026-08-29 04:57:56,712.712 INFO    ] ================================================
[2026-08-29 04:57:57,057.057 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:57:57
[2026-08-29 04:57:57,373.373 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:57:57,518.518 INFO    ] Initializing speech engine...
[2026-08-29 04:57:57,522.522 INFO    ] 2026-08-29 04:57:57
[2026-08-29 04:57:57,726.726 INFO    ] 2026-08-29 04:57:57
[2026-08-29 04:57:57,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:57:57,877.877 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:57:57,939.939 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:57:58,076.076 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:57:58,140.140 INFO    ] time= 29/08/2026 04:57:58
[2026-08-29 04:57:58,167.167 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:57:58,169.169 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:57:58,243.243 INFO    ] No existing commands found in stream
[2026-08-29 04:58:03,254.254 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:58:03,257.257 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-08-29 04:58:05,830.830 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:58:05,832.832 INFO    ] Checking for system updates...
[2026-08-29 04:58:05,853.853 INFO    ] 200
[2026-08-29 04:58:05,855.855 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:58:05,893.893 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:58:05,895.895 INFO    ] No update needed
[2026-08-29 04:58:05,896.896 INFO    ] Checking for camera pi updates...
[2026-08-29 04:58:05,925.925 INFO    ] 200
[2026-08-29 04:58:05,926.926 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:58:05,952.952 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:58:06,029.029 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:58:06,031.031 INFO    ] No camera update needed
[2026-08-29 04:58:06,032.032 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:58:06,033.033 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:58:06,036.036 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:58:06,039.039 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:58:08,078.078 INFO    ] ================================================
[2026-08-29 04:58:08,095.095 INFO    ] Launching Daemon at Sat Aug 29 04:58:08 IST 2026
[2026-08-29 04:58:08,106.106 INFO    ] ================================================
[2026-08-29 04:58:08,673.673 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:58:08
[2026-08-29 04:58:09,273.273 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:58:09,483.483 INFO    ] Initializing speech engine...
[2026-08-29 04:58:09,488.488 INFO    ] 2026-08-29 04:58:09
[2026-08-29 04:58:09,693.693 INFO    ] 2026-08-29 04:58:09
[2026-08-29 04:58:09,721.721 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:58:09,979.979 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:58:10,031.031 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:58:10,196.196 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:58:10,200.200 INFO    ] time= 29/08/2026 04:58:10
[2026-08-29 04:58:10,202.202 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:58:10,227.227 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:58:10,323.323 INFO    ] No existing commands found in stream
[2026-08-29 04:58:15,333.333 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:58:15,336.336 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-08-29 04:58:16,328.328 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 04:58:16,329.329 INFO    ] Checking for system updates...
[2026-08-29 04:58:16,350.350 INFO    ] 200
[2026-08-29 04:58:16,352.352 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:58:16,385.385 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:58:16,387.387 INFO    ] No update needed
[2026-08-29 04:58:16,389.389 INFO    ] Checking for camera pi updates...
[2026-08-29 04:58:16,408.408 INFO    ] 200
[2026-08-29 04:58:16,410.410 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:58:16,433.433 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:58:16,538.538 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:58:16,540.540 INFO    ] No camera update needed
[2026-08-29 04:58:16,541.541 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:58:16,542.542 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:58:16,546.546 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:58:16,549.549 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:58:18,589.589 INFO    ] ================================================
[2026-08-29 04:58:18,605.605 INFO    ] Launching Daemon at Sat Aug 29 04:58:18 IST 2026
[2026-08-29 04:58:18,616.616 INFO    ] ================================================
[2026-08-29 04:58:18,953.953 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:58:18
[2026-08-29 04:58:19,266.266 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:58:19,396.396 INFO    ] Initializing speech engine...
[2026-08-29 04:58:19,400.400 INFO    ] 2026-08-29 04:58:19
[2026-08-29 04:58:19,593.593 INFO    ] 2026-08-29 04:58:19
[2026-08-29 04:58:19,639.639 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:58:19,761.761 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:58:19,765.765 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:58:19,876.876 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:58:19,885.885 INFO    ] time= 29/08/2026 04:58:19
[2026-08-29 04:58:19,890.890 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:58:19,906.906 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:58:19,986.986 INFO    ] No existing commands found in stream
[2026-08-29 04:58:25,015.015 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:58:25,018.018 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-08-29 04:58:27,453.453 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 04:58:27,454.454 INFO    ] Checking for system updates...
[2026-08-29 04:58:27,476.476 INFO    ] 200
[2026-08-29 04:58:27,478.478 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:58:27,511.511 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:58:27,512.512 INFO    ] No update needed
[2026-08-29 04:58:27,513.513 INFO    ] Checking for camera pi updates...
[2026-08-29 04:58:27,534.534 INFO    ] 200
[2026-08-29 04:58:27,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:58:27,560.560 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:58:27,669.669 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:58:27,672.672 INFO    ] No camera update needed
[2026-08-29 04:58:27,674.674 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:58:27,676.676 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:58:27,681.681 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:58:27,686.686 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:58:29,726.726 INFO    ] ================================================
[2026-08-29 04:58:29,742.742 INFO    ] Launching Daemon at Sat Aug 29 04:58:29 IST 2026
[2026-08-29 04:58:29,753.753 INFO    ] ================================================
[2026-08-29 04:58:30,328.328 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:58:30
[2026-08-29 04:58:30,768.768 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:58:30,903.903 INFO    ] Initializing speech engine...
[2026-08-29 04:58:30,907.907 INFO    ] 2026-08-29 04:58:30
[2026-08-29 04:58:31,137.137 INFO    ] 2026-08-29 04:58:31
[2026-08-29 04:58:31,174.174 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:58:31,325.325 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:58:31,335.335 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:58:31,492.492 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:58:31,504.504 INFO    ] time= 29/08/2026 04:58:31
[2026-08-29 04:58:31,510.510 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:58:31,536.536 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:58:31,603.603 INFO    ] No existing commands found in stream
[2026-08-29 04:58:36,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:58:36,616.616 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-08-29 04:58:38,284.284 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:58:38,285.285 INFO    ] Checking for system updates...
[2026-08-29 04:58:38,306.306 INFO    ] 200
[2026-08-29 04:58:38,308.308 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:58:38,338.338 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:58:38,339.339 INFO    ] No update needed
[2026-08-29 04:58:38,340.340 INFO    ] Checking for camera pi updates...
[2026-08-29 04:58:38,359.359 INFO    ] 200
[2026-08-29 04:58:38,361.361 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:58:38,386.386 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:58:38,461.461 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:58:38,463.463 INFO    ] No camera update needed
[2026-08-29 04:58:38,464.464 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:58:38,465.465 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:58:38,468.468 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:58:38,471.471 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:58:40,510.510 INFO    ] ================================================
[2026-08-29 04:58:40,525.525 INFO    ] Launching Daemon at Sat Aug 29 04:58:40 IST 2026
[2026-08-29 04:58:40,536.536 INFO    ] ================================================
[2026-08-29 04:58:40,897.897 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:58:40
[2026-08-29 04:58:41,324.324 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:58:41,573.573 INFO    ] Initializing speech engine...
[2026-08-29 04:58:41,580.580 INFO    ] 2026-08-29 04:58:41
[2026-08-29 04:58:41,857.857 INFO    ] 2026-08-29 04:58:41
[2026-08-29 04:58:41,891.891 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:58:42,069.069 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:58:42,074.074 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:58:42,195.195 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:58:42,214.214 INFO    ] time= 29/08/2026 04:58:42
[2026-08-29 04:58:42,235.235 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:58:42,243.243 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:58:42,312.312 INFO    ] No existing commands found in stream
[2026-08-29 04:58:47,324.324 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:58:47,327.327 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 04:58:49,105.105 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:58:49,106.106 INFO    ] Checking for system updates...
[2026-08-29 04:58:49,126.126 INFO    ] 200
[2026-08-29 04:58:49,128.128 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:58:49,162.162 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:58:49,164.164 INFO    ] No update needed
[2026-08-29 04:58:49,165.165 INFO    ] Checking for camera pi updates...
[2026-08-29 04:58:49,184.184 INFO    ] 200
[2026-08-29 04:58:49,186.186 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:58:49,208.208 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:58:49,282.282 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:58:49,284.284 INFO    ] No camera update needed
[2026-08-29 04:58:49,285.285 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:58:49,286.286 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:58:49,289.289 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:58:49,292.292 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:58:51,333.333 INFO    ] ================================================
[2026-08-29 04:58:51,350.350 INFO    ] Launching Daemon at Sat Aug 29 04:58:51 IST 2026
[2026-08-29 04:58:51,361.361 INFO    ] ================================================
[2026-08-29 04:58:51,758.758 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:58:51
[2026-08-29 04:58:52,104.104 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:58:52,260.260 INFO    ] Initializing speech engine...
[2026-08-29 04:58:52,267.267 INFO    ] 2026-08-29 04:58:52
[2026-08-29 04:58:52,472.472 INFO    ] 2026-08-29 04:58:52
[2026-08-29 04:58:52,502.502 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:58:52,636.636 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:58:52,689.689 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:58:52,783.783 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:58:52,785.785 INFO    ] time= 29/08/2026 04:58:52
[2026-08-29 04:58:52,786.786 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:58:52,831.831 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:58:52,929.929 INFO    ] No existing commands found in stream
[2026-08-29 04:58:57,938.938 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:58:57,942.942 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-08-29 04:58:59,888.888 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 04:58:59,890.890 INFO    ] Checking for system updates...
[2026-08-29 04:58:59,911.911 INFO    ] 200
[2026-08-29 04:58:59,913.913 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:58:59,945.945 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:58:59,947.947 INFO    ] No update needed
[2026-08-29 04:58:59,949.949 INFO    ] Checking for camera pi updates...
[2026-08-29 04:58:59,971.971 INFO    ] 200
[2026-08-29 04:58:59,973.973 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:58:59,998.998 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:59:00,086.086 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:59:00,088.088 INFO    ] No camera update needed
[2026-08-29 04:59:00,089.089 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:59:00,090.090 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:59:00,094.094 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:59:00,097.097 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:59:02,138.138 INFO    ] ================================================
[2026-08-29 04:59:02,159.159 INFO    ] Launching Daemon at Sat Aug 29 04:59:02 IST 2026
[2026-08-29 04:59:02,175.175 INFO    ] ================================================
[2026-08-29 04:59:02,808.808 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:59:02
[2026-08-29 04:59:03,418.418 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:59:03,706.706 INFO    ] Initializing speech engine...
[2026-08-29 04:59:03,713.713 INFO    ] 2026-08-29 04:59:03
[2026-08-29 04:59:03,972.972 INFO    ] 2026-08-29 04:59:03
[2026-08-29 04:59:04,008.008 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:59:04,200.200 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:59:04,206.206 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:59:04,340.340 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:59:04,345.345 INFO    ] time= 29/08/2026 04:59:04
[2026-08-29 04:59:04,372.372 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:59:04,394.394 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:59:04,475.475 INFO    ] No existing commands found in stream
[2026-08-29 04:59:09,488.488 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:59:09,490.490 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-08-29 04:59:12,044.044 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 04:59:12,045.045 INFO    ] Checking for system updates...
[2026-08-29 04:59:12,066.066 INFO    ] 200
[2026-08-29 04:59:12,067.067 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:59:12,096.096 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:59:12,098.098 INFO    ] No update needed
[2026-08-29 04:59:12,099.099 INFO    ] Checking for camera pi updates...
[2026-08-29 04:59:12,120.120 INFO    ] 200
[2026-08-29 04:59:12,122.122 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:59:12,145.145 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:59:12,225.225 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:59:12,227.227 INFO    ] No camera update needed
[2026-08-29 04:59:12,228.228 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:59:12,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:59:12,232.232 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:59:12,236.236 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:59:14,276.276 INFO    ] ================================================
[2026-08-29 04:59:14,291.291 INFO    ] Launching Daemon at Sat Aug 29 04:59:14 IST 2026
[2026-08-29 04:59:14,302.302 INFO    ] ================================================
[2026-08-29 04:59:14,945.945 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:59:14
[2026-08-29 04:59:15,436.436 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:59:15,586.586 INFO    ] Initializing speech engine...
[2026-08-29 04:59:15,592.592 INFO    ] 2026-08-29 04:59:15
[2026-08-29 04:59:15,802.802 INFO    ] 2026-08-29 04:59:15
[2026-08-29 04:59:15,830.830 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:59:15,976.976 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:59:16,020.020 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:59:16,156.156 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:59:16,214.214 INFO    ] time= 29/08/2026 04:59:16
[2026-08-29 04:59:16,253.253 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:59:16,255.255 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:59:16,378.378 INFO    ] No existing commands found in stream
[2026-08-29 04:59:21,397.397 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:59:21,400.400 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-08-29 04:59:22,640.640 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:59:22,643.643 INFO    ] Checking for system updates...
[2026-08-29 04:59:22,682.682 INFO    ] 200
[2026-08-29 04:59:22,685.685 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:59:22,737.737 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:59:22,740.740 INFO    ] No update needed
[2026-08-29 04:59:22,742.742 INFO    ] Checking for camera pi updates...
[2026-08-29 04:59:22,775.775 INFO    ] 200
[2026-08-29 04:59:22,778.778 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:59:22,829.829 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:59:22,913.913 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:59:22,916.916 INFO    ] No camera update needed
[2026-08-29 04:59:22,918.918 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:59:22,920.920 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:59:22,926.926 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:59:22,930.930 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:59:24,971.971 INFO    ] ================================================
[2026-08-29 04:59:24,987.987 INFO    ] Launching Daemon at Sat Aug 29 04:59:24 IST 2026
[2026-08-29 04:59:25,998.998 INFO    ] ================================================
[2026-08-29 04:59:25,482.482 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:59:25
[2026-08-29 04:59:25,815.815 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:59:25,965.965 INFO    ] Initializing speech engine...
[2026-08-29 04:59:25,971.971 INFO    ] 2026-08-29 04:59:25
[2026-08-29 04:59:26,179.179 INFO    ] 2026-08-29 04:59:26
[2026-08-29 04:59:26,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:59:26,395.395 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:59:26,438.438 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:59:26,579.579 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:59:26,588.588 INFO    ] time= 29/08/2026 04:59:26
[2026-08-29 04:59:26,615.615 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:59:26,673.673 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:59:26,792.792 INFO    ] No existing commands found in stream
[2026-08-29 04:59:31,808.808 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:59:31,819.819 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-08-29 04:59:35,855.855 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:59:35,857.857 INFO    ] Checking for system updates...
[2026-08-29 04:59:35,877.877 INFO    ] 200
[2026-08-29 04:59:35,879.879 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:59:35,911.911 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:59:35,912.912 INFO    ] No update needed
[2026-08-29 04:59:35,914.914 INFO    ] Checking for camera pi updates...
[2026-08-29 04:59:35,933.933 INFO    ] 200
[2026-08-29 04:59:35,934.934 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:59:35,961.961 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:59:36,054.054 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:59:36,055.055 INFO    ] No camera update needed
[2026-08-29 04:59:36,056.056 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:59:36,058.058 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:59:36,060.060 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:59:36,063.063 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:59:38,103.103 INFO    ] ================================================
[2026-08-29 04:59:38,118.118 INFO    ] Launching Daemon at Sat Aug 29 04:59:38 IST 2026
[2026-08-29 04:59:38,129.129 INFO    ] ================================================
[2026-08-29 04:59:38,464.464 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:59:38
[2026-08-29 04:59:38,777.777 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:59:38,919.919 INFO    ] Initializing speech engine...
[2026-08-29 04:59:38,924.924 INFO    ] 2026-08-29 04:59:38
[2026-08-29 04:59:39,114.114 INFO    ] 2026-08-29 04:59:39
[2026-08-29 04:59:39,193.193 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:59:39,347.347 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:59:39,355.355 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:59:39,488.488 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:59:39,504.504 INFO    ] time= 29/08/2026 04:59:39
[2026-08-29 04:59:39,558.558 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:59:39,607.607 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:59:39,678.678 INFO    ] No existing commands found in stream
[2026-08-29 04:59:44,689.689 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:59:44,691.691 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-08-29 04:59:48,732.732 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 04:59:48,733.733 INFO    ] Checking for system updates...
[2026-08-29 04:59:48,754.754 INFO    ] 200
[2026-08-29 04:59:48,756.756 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:59:48,785.785 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:59:48,786.786 INFO    ] No update needed
[2026-08-29 04:59:48,788.788 INFO    ] Checking for camera pi updates...
[2026-08-29 04:59:48,809.809 INFO    ] 200
[2026-08-29 04:59:48,810.810 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:59:48,833.833 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:59:48,921.921 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 04:59:48,923.923 INFO    ] No camera update needed
[2026-08-29 04:59:48,924.924 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:59:48,925.925 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:59:48,928.928 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:59:48,931.931 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 04:59:50,969.969 INFO    ] ================================================
[2026-08-29 04:59:50,985.985 INFO    ] Launching Daemon at Sat Aug 29 04:59:50 IST 2026
[2026-08-29 04:59:51,996.996 INFO    ] ================================================
[2026-08-29 04:59:51,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 04:59:51
[2026-08-29 04:59:51,669.669 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 04:59:51,806.806 INFO    ] Initializing speech engine...
[2026-08-29 04:59:51,818.818 INFO    ] 2026-08-29 04:59:51
[2026-08-29 04:59:52,035.035 INFO    ] 2026-08-29 04:59:52
[2026-08-29 04:59:52,066.066 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 04:59:52,198.198 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 04:59:52,261.261 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 04:59:52,419.419 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 04:59:52,482.482 INFO    ] time= 29/08/2026 04:59:52
[2026-08-29 04:59:52,511.511 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 04:59:52,518.518 INFO    ] Checking for existing commands in stream...
[2026-08-29 04:59:52,588.588 INFO    ] No existing commands found in stream
[2026-08-29 04:59:57,597.597 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 04:59:57,600.600 INFO    ] Waiting 1.53 seconds before fallback handling...
[2026-08-29 04:59:59,502.502 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 04:59:59,503.503 INFO    ] Checking for system updates...
[2026-08-29 04:59:59,524.524 INFO    ] 200
[2026-08-29 04:59:59,526.526 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:59:59,574.574 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:59:59,576.576 INFO    ] No update needed
[2026-08-29 04:59:59,578.578 INFO    ] Checking for camera pi updates...
[2026-08-29 04:59:59,613.613 INFO    ] 200
[2026-08-29 04:59:59,615.615 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 04:59:59,659.659 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 04:59:59,848.848 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 04:59:59,850.850 INFO    ] No camera update needed
[2026-08-29 04:59:59,853.853 INFO    ] Script finished. Safe exiting...
[2026-08-29 04:59:59,855.855 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 04:59:59,860.860 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 04:59:59,865.865 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:00:02,992.992 INFO    ] ================================================
[2026-08-29 05:00:02,073.073 INFO    ] Launching Daemon at Sat Aug 29 05:00:02 IST 2026
[2026-08-29 05:00:02,105.105 INFO    ] ================================================
[2026-08-29 05:00:04,211.211 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:00:04
[2026-08-29 05:00:06,127.127 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:00:06,471.471 INFO    ] Initializing speech engine...
[2026-08-29 05:00:06,477.477 INFO    ] 2026-08-29 05:00:06
[2026-08-29 05:00:06,776.776 INFO    ] 2026-08-29 05:00:06
[2026-08-29 05:00:06,832.832 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:00:07,050.050 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:00:07,059.059 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:00:07,199.199 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:00:07,264.264 INFO    ] time= 29/08/2026 05:00:07
[2026-08-29 05:00:07,319.319 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:00:07,338.338 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:00:07,467.467 INFO    ] No existing commands found in stream
[2026-08-29 05:00:12,496.496 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:00:12,499.499 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-08-29 05:00:16,799.799 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:00:16,801.801 INFO    ] Checking for system updates...
[2026-08-29 05:00:16,822.822 INFO    ] 200
[2026-08-29 05:00:16,824.824 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:00:16,854.854 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:00:16,856.856 INFO    ] No update needed
[2026-08-29 05:00:16,857.857 INFO    ] Checking for camera pi updates...
[2026-08-29 05:00:16,877.877 INFO    ] 200
[2026-08-29 05:00:16,878.878 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:00:16,903.903 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:00:16,953.953 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:00:16,954.954 INFO    ] No camera update needed
[2026-08-29 05:00:16,955.955 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:00:16,956.956 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:00:16,959.959 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:00:16,962.962 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:00:19,001.001 INFO    ] ================================================
[2026-08-29 05:00:19,016.016 INFO    ] Launching Daemon at Sat Aug 29 05:00:19 IST 2026
[2026-08-29 05:00:19,028.028 INFO    ] ================================================
[2026-08-29 05:00:19,387.387 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:00:19
[2026-08-29 05:00:19,705.705 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:00:19,972.972 INFO    ] Initializing speech engine...
[2026-08-29 05:00:19,981.981 INFO    ] 2026-08-29 05:00:19
[2026-08-29 05:00:20,249.249 INFO    ] 2026-08-29 05:00:20
[2026-08-29 05:00:20,285.285 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:00:20,479.479 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:00:20,495.495 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:00:20,620.620 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:00:20,626.626 INFO    ] time= 29/08/2026 05:00:20
[2026-08-29 05:00:20,646.646 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:00:20,668.668 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:00:20,750.750 INFO    ] No existing commands found in stream
[2026-08-29 05:00:25,763.763 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:00:25,766.766 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-08-29 05:00:29,426.426 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:00:29,428.428 INFO    ] Checking for system updates...
[2026-08-29 05:00:29,449.449 INFO    ] 200
[2026-08-29 05:00:29,450.450 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:00:29,484.484 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:00:29,486.486 INFO    ] No update needed
[2026-08-29 05:00:29,487.487 INFO    ] Checking for camera pi updates...
[2026-08-29 05:00:29,506.506 INFO    ] 200
[2026-08-29 05:00:29,508.508 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:00:29,532.532 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:00:29,623.623 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:00:29,624.624 INFO    ] No camera update needed
[2026-08-29 05:00:29,625.625 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:00:29,626.626 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:00:29,629.629 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:00:29,632.632 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:00:31,673.673 INFO    ] ================================================
[2026-08-29 05:00:31,691.691 INFO    ] Launching Daemon at Sat Aug 29 05:00:31 IST 2026
[2026-08-29 05:00:31,704.704 INFO    ] ================================================
[2026-08-29 05:00:32,223.223 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:00:32
[2026-08-29 05:00:32,852.852 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:00:33,112.112 INFO    ] Initializing speech engine...
[2026-08-29 05:00:33,130.130 INFO    ] 2026-08-29 05:00:33
[2026-08-29 05:00:33,377.377 INFO    ] 2026-08-29 05:00:33
[2026-08-29 05:00:33,402.402 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:00:33,578.578 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:00:33,595.595 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:00:33,746.746 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:00:33,754.754 INFO    ] time= 29/08/2026 05:00:33
[2026-08-29 05:00:33,760.760 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:00:33,802.802 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:00:33,928.928 INFO    ] No existing commands found in stream
[2026-08-29 05:00:38,958.958 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:00:38,960.960 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-08-29 05:00:40,409.409 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:00:40,411.411 INFO    ] Checking for system updates...
[2026-08-29 05:00:40,432.432 INFO    ] 200
[2026-08-29 05:00:40,433.433 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:00:40,464.464 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:00:40,465.465 INFO    ] No update needed
[2026-08-29 05:00:40,466.466 INFO    ] Checking for camera pi updates...
[2026-08-29 05:00:40,486.486 INFO    ] 200
[2026-08-29 05:00:40,487.487 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:00:40,511.511 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:00:40,595.595 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:00:40,597.597 INFO    ] No camera update needed
[2026-08-29 05:00:40,598.598 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:00:40,599.599 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:00:40,602.602 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:00:40,605.605 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:00:42,645.645 INFO    ] ================================================
[2026-08-29 05:00:42,660.660 INFO    ] Launching Daemon at Sat Aug 29 05:00:42 IST 2026
[2026-08-29 05:00:42,672.672 INFO    ] ================================================
[2026-08-29 05:00:43,025.025 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:00:43
[2026-08-29 05:00:43,341.341 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:00:43,480.480 INFO    ] Initializing speech engine...
[2026-08-29 05:00:43,491.491 INFO    ] 2026-08-29 05:00:43
[2026-08-29 05:00:43,695.695 INFO    ] 2026-08-29 05:00:43
[2026-08-29 05:00:43,723.723 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:00:43,845.845 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:00:43,908.908 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:00:44,040.040 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:00:44,103.103 INFO    ] time= 29/08/2026 05:00:44
[2026-08-29 05:00:44,134.134 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:00:44,141.141 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:00:44,207.207 INFO    ] No existing commands found in stream
[2026-08-29 05:00:49,217.217 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:00:49,220.220 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-08-29 05:00:52,087.087 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:00:52,089.089 INFO    ] Checking for system updates...
[2026-08-29 05:00:52,110.110 INFO    ] 200
[2026-08-29 05:00:52,111.111 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:00:52,141.141 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:00:52,143.143 INFO    ] No update needed
[2026-08-29 05:00:52,144.144 INFO    ] Checking for camera pi updates...
[2026-08-29 05:00:52,164.164 INFO    ] 200
[2026-08-29 05:00:52,165.165 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:00:52,189.189 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:00:52,267.267 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:00:52,268.268 INFO    ] No camera update needed
[2026-08-29 05:00:52,270.270 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:00:52,271.271 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:00:52,274.274 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:00:52,277.277 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:00:54,320.320 INFO    ] ================================================
[2026-08-29 05:00:54,336.336 INFO    ] Launching Daemon at Sat Aug 29 05:00:54 IST 2026
[2026-08-29 05:00:54,348.348 INFO    ] ================================================
[2026-08-29 05:00:55,023.023 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:00:55
[2026-08-29 05:00:55,695.695 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:00:56,004.004 INFO    ] Initializing speech engine...
[2026-08-29 05:00:56,015.015 INFO    ] 2026-08-29 05:00:56
[2026-08-29 05:00:56,328.328 INFO    ] 2026-08-29 05:00:56
[2026-08-29 05:00:56,414.414 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:00:56,565.565 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:00:56,618.618 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:00:56,765.765 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:00:56,832.832 INFO    ] time= 29/08/2026 05:00:56
[2026-08-29 05:00:56,859.859 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:00:56,866.866 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:00:56,933.933 INFO    ] No existing commands found in stream
[2026-08-29 05:01:01,945.945 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:01:01,949.949 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-08-29 05:01:04,716.716 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:01:04,718.718 INFO    ] Checking for system updates...
[2026-08-29 05:01:04,740.740 INFO    ] 200
[2026-08-29 05:01:04,741.741 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:01:04,774.774 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:01:04,775.775 INFO    ] No update needed
[2026-08-29 05:01:04,776.776 INFO    ] Checking for camera pi updates...
[2026-08-29 05:01:04,797.797 INFO    ] 200
[2026-08-29 05:01:04,799.799 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:01:04,825.825 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:01:04,901.901 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:01:04,902.902 INFO    ] No camera update needed
[2026-08-29 05:01:04,904.904 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:01:04,905.905 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:01:04,908.908 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:01:04,911.911 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:01:06,951.951 INFO    ] ================================================
[2026-08-29 05:01:06,968.968 INFO    ] Launching Daemon at Sat Aug 29 05:01:06 IST 2026
[2026-08-29 05:01:06,979.979 INFO    ] ================================================
[2026-08-29 05:01:07,490.490 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:01:07
[2026-08-29 05:01:08,077.077 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:01:08,338.338 INFO    ] Initializing speech engine...
[2026-08-29 05:01:08,344.344 INFO    ] 2026-08-29 05:01:08
[2026-08-29 05:01:08,638.638 INFO    ] 2026-08-29 05:01:08
[2026-08-29 05:01:08,673.673 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:01:08,821.821 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:01:08,829.829 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:01:08,981.981 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:01:08,989.989 INFO    ] time= 29/08/2026 05:01:08
[2026-08-29 05:01:08,994.994 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:01:08,999.999 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:01:09,066.066 INFO    ] No existing commands found in stream
[2026-08-29 05:01:14,080.080 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:01:14,083.083 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-08-29 05:01:15,081.081 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:01:15,083.083 INFO    ] Checking for system updates...
[2026-08-29 05:01:15,103.103 INFO    ] 200
[2026-08-29 05:01:15,105.105 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:01:15,134.134 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:01:15,136.136 INFO    ] No update needed
[2026-08-29 05:01:15,137.137 INFO    ] Checking for camera pi updates...
[2026-08-29 05:01:15,158.158 INFO    ] 200
[2026-08-29 05:01:15,159.159 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:01:15,188.188 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:01:15,274.274 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:01:15,276.276 INFO    ] No camera update needed
[2026-08-29 05:01:15,279.279 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:01:15,281.281 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:01:15,286.286 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:01:15,291.291 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:01:17,332.332 INFO    ] ================================================
[2026-08-29 05:01:17,348.348 INFO    ] Launching Daemon at Sat Aug 29 05:01:17 IST 2026
[2026-08-29 05:01:17,359.359 INFO    ] ================================================
[2026-08-29 05:01:18,011.011 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:01:18
[2026-08-29 05:01:18,397.397 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:01:18,543.543 INFO    ] Initializing speech engine...
[2026-08-29 05:01:18,553.553 INFO    ] 2026-08-29 05:01:18
[2026-08-29 05:01:18,764.764 INFO    ] 2026-08-29 05:01:18
[2026-08-29 05:01:18,792.792 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:01:18,915.915 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:01:18,974.974 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:01:19,118.118 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:01:19,185.185 INFO    ] time= 29/08/2026 05:01:19
[2026-08-29 05:01:19,210.210 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:01:19,217.217 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:01:19,283.283 INFO    ] No existing commands found in stream
[2026-08-29 05:01:24,294.294 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:01:24,298.298 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-08-29 05:01:28,899.899 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:01:28,901.901 INFO    ] Checking for system updates...
[2026-08-29 05:01:28,922.922 INFO    ] 200
[2026-08-29 05:01:28,923.923 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:01:28,955.955 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:01:28,957.957 INFO    ] No update needed
[2026-08-29 05:01:28,958.958 INFO    ] Checking for camera pi updates...
[2026-08-29 05:01:28,978.978 INFO    ] 200
[2026-08-29 05:01:28,980.980 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:01:29,015.015 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:01:29,128.128 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:01:29,130.130 INFO    ] No camera update needed
[2026-08-29 05:01:29,133.133 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:01:29,136.136 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:01:29,142.142 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:01:29,147.147 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:01:31,191.191 INFO    ] ================================================
[2026-08-29 05:01:31,207.207 INFO    ] Launching Daemon at Sat Aug 29 05:01:31 IST 2026
[2026-08-29 05:01:31,218.218 INFO    ] ================================================
[2026-08-29 05:01:31,814.814 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:01:31
[2026-08-29 05:01:32,397.397 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:01:32,756.756 INFO    ] Initializing speech engine...
[2026-08-29 05:01:32,769.769 INFO    ] 2026-08-29 05:01:32
[2026-08-29 05:01:33,035.035 INFO    ] 2026-08-29 05:01:33
[2026-08-29 05:01:33,072.072 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:01:33,270.270 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:01:33,284.284 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:01:33,422.422 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:01:33,437.437 INFO    ] time= 29/08/2026 05:01:33
[2026-08-29 05:01:33,461.461 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:01:33,467.467 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:01:33,535.535 INFO    ] No existing commands found in stream
[2026-08-29 05:01:38,547.547 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:01:38,550.550 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-08-29 05:01:39,047.047 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:01:39,048.048 INFO    ] Checking for system updates...
[2026-08-29 05:01:39,068.068 INFO    ] 200
[2026-08-29 05:01:39,070.070 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:01:39,121.121 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:01:39,124.124 INFO    ] No update needed
[2026-08-29 05:01:39,126.126 INFO    ] Checking for camera pi updates...
[2026-08-29 05:01:39,159.159 INFO    ] 200
[2026-08-29 05:01:39,162.162 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:01:39,207.207 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:01:39,300.300 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:01:39,302.302 INFO    ] No camera update needed
[2026-08-29 05:01:39,305.305 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:01:39,307.307 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:01:39,312.312 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:01:39,317.317 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:01:41,358.358 INFO    ] ================================================
[2026-08-29 05:01:41,374.374 INFO    ] Launching Daemon at Sat Aug 29 05:01:41 IST 2026
[2026-08-29 05:01:41,385.385 INFO    ] ================================================
[2026-08-29 05:01:41,969.969 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:01:41
[2026-08-29 05:01:42,400.400 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:01:42,536.536 INFO    ] Initializing speech engine...
[2026-08-29 05:01:42,549.549 INFO    ] 2026-08-29 05:01:42
[2026-08-29 05:01:42,767.767 INFO    ] 2026-08-29 05:01:42
[2026-08-29 05:01:42,798.798 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:01:42,928.928 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:01:42,945.945 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:01:43,099.099 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:01:43,168.168 INFO    ] time= 29/08/2026 05:01:43
[2026-08-29 05:01:43,220.220 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:01:43,243.243 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:01:43,319.319 INFO    ] No existing commands found in stream
[2026-08-29 05:01:48,328.328 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:01:48,331.331 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-08-29 05:01:51,478.478 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:01:51,479.479 INFO    ] Checking for system updates...
[2026-08-29 05:01:51,499.499 INFO    ] 200
[2026-08-29 05:01:51,501.501 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:01:51,533.533 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:01:51,534.534 INFO    ] No update needed
[2026-08-29 05:01:51,535.535 INFO    ] Checking for camera pi updates...
[2026-08-29 05:01:51,557.557 INFO    ] 200
[2026-08-29 05:01:51,558.558 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:01:51,581.581 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:01:51,686.686 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:01:51,688.688 INFO    ] No camera update needed
[2026-08-29 05:01:51,689.689 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:01:51,690.690 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:01:51,694.694 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:01:51,697.697 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:01:53,735.735 INFO    ] ================================================
[2026-08-29 05:01:53,752.752 INFO    ] Launching Daemon at Sat Aug 29 05:01:53 IST 2026
[2026-08-29 05:01:53,763.763 INFO    ] ================================================
[2026-08-29 05:01:54,124.124 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:01:54
[2026-08-29 05:01:54,435.435 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:01:54,577.577 INFO    ] Initializing speech engine...
[2026-08-29 05:01:54,582.582 INFO    ] 2026-08-29 05:01:54
[2026-08-29 05:01:54,785.785 INFO    ] 2026-08-29 05:01:54
[2026-08-29 05:01:54,815.815 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:01:54,937.937 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:01:54,999.999 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:01:55,130.130 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:01:55,186.186 INFO    ] time= 29/08/2026 05:01:55
[2026-08-29 05:01:55,217.217 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:01:55,252.252 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:01:55,372.372 INFO    ] No existing commands found in stream
[2026-08-29 05:02:00,398.398 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:02:00,401.401 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-08-29 05:02:02,280.280 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:02:02,283.283 INFO    ] Checking for system updates...
[2026-08-29 05:02:02,327.327 INFO    ] 200
[2026-08-29 05:02:02,330.330 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:02:02,398.398 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:02:02,400.400 INFO    ] No update needed
[2026-08-29 05:02:02,404.404 INFO    ] Checking for camera pi updates...
[2026-08-29 05:02:02,445.445 INFO    ] 200
[2026-08-29 05:02:02,448.448 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:02:02,517.517 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:02:02,743.743 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:02:02,746.746 INFO    ] No camera update needed
[2026-08-29 05:02:02,748.748 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:02:02,750.750 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:02:02,758.758 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:02:02,764.764 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:02:04,799.799 INFO    ] ================================================
[2026-08-29 05:02:04,808.808 INFO    ] Launching Daemon at Sat Aug 29 05:02:04 IST 2026
[2026-08-29 05:02:04,814.814 INFO    ] ================================================
[2026-08-29 05:02:05,328.328 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:02:05
[2026-08-29 05:02:05,914.914 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:02:06,205.205 INFO    ] Initializing speech engine...
[2026-08-29 05:02:06,225.225 INFO    ] 2026-08-29 05:02:06
[2026-08-29 05:02:06,496.496 INFO    ] 2026-08-29 05:02:06
[2026-08-29 05:02:06,532.532 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:02:06,681.681 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:02:06,714.714 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:02:06,840.840 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:02:06,846.846 INFO    ] time= 29/08/2026 05:02:06
[2026-08-29 05:02:06,871.871 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:02:06,879.879 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:02:06,939.939 INFO    ] No existing commands found in stream
[2026-08-29 05:02:11,974.974 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:02:11,977.977 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-08-29 05:02:14,289.289 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:02:14,290.290 INFO    ] Checking for system updates...
[2026-08-29 05:02:14,312.312 INFO    ] 200
[2026-08-29 05:02:14,313.313 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:02:14,343.343 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:02:14,344.344 INFO    ] No update needed
[2026-08-29 05:02:14,345.345 INFO    ] Checking for camera pi updates...
[2026-08-29 05:02:14,365.365 INFO    ] 200
[2026-08-29 05:02:14,366.366 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:02:14,404.404 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:02:14,507.507 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:02:14,509.509 INFO    ] No camera update needed
[2026-08-29 05:02:14,512.512 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:02:14,514.514 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:02:14,519.519 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:02:14,524.524 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:02:16,567.567 INFO    ] ================================================
[2026-08-29 05:02:16,583.583 INFO    ] Launching Daemon at Sat Aug 29 05:02:16 IST 2026
[2026-08-29 05:02:16,595.595 INFO    ] ================================================
[2026-08-29 05:02:17,175.175 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:02:17
[2026-08-29 05:02:17,648.648 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:02:17,870.870 INFO    ] Initializing speech engine...
[2026-08-29 05:02:17,879.879 INFO    ] 2026-08-29 05:02:17
[2026-08-29 05:02:18,138.138 INFO    ] 2026-08-29 05:02:18
[2026-08-29 05:02:18,197.197 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:02:18,365.365 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:02:18,422.422 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:02:18,564.564 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:02:18,590.590 INFO    ] time= 29/08/2026 05:02:18
[2026-08-29 05:02:18,645.645 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:02:18,696.696 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:02:18,750.750 INFO    ] No existing commands found in stream
[2026-08-29 05:02:23,762.762 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:02:23,765.765 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-08-29 05:02:26,688.688 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:02:26,689.689 INFO    ] Checking for system updates...
[2026-08-29 05:02:26,709.709 INFO    ] 200
[2026-08-29 05:02:26,711.711 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:02:26,741.741 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:02:26,742.742 INFO    ] No update needed
[2026-08-29 05:02:26,744.744 INFO    ] Checking for camera pi updates...
[2026-08-29 05:02:26,763.763 INFO    ] 200
[2026-08-29 05:02:26,764.764 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:02:26,789.789 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:02:26,882.882 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:02:26,883.883 INFO    ] No camera update needed
[2026-08-29 05:02:26,885.885 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:02:26,886.886 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:02:26,889.889 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:02:26,891.891 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:02:28,932.932 INFO    ] ================================================
[2026-08-29 05:02:28,948.948 INFO    ] Launching Daemon at Sat Aug 29 05:02:28 IST 2026
[2026-08-29 05:02:28,960.960 INFO    ] ================================================
[2026-08-29 05:02:29,295.295 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:02:29
[2026-08-29 05:02:29,608.608 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:02:29,750.750 INFO    ] Initializing speech engine...
[2026-08-29 05:02:29,755.755 INFO    ] 2026-08-29 05:02:29
[2026-08-29 05:02:29,996.996 INFO    ] 2026-08-29 05:02:29
[2026-08-29 05:02:30,055.055 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:02:30,202.202 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:02:30,225.225 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:02:30,404.404 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:02:30,425.425 INFO    ] time= 29/08/2026 05:02:30
[2026-08-29 05:02:30,431.431 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:02:30,452.452 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:02:30,560.560 INFO    ] No existing commands found in stream
[2026-08-29 05:02:35,587.587 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:02:35,590.590 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-08-29 05:02:38,821.821 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:02:38,824.824 INFO    ] Checking for system updates...
[2026-08-29 05:02:38,864.864 INFO    ] 200
[2026-08-29 05:02:38,867.867 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:02:38,920.920 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:02:38,922.922 INFO    ] No update needed
[2026-08-29 05:02:38,925.925 INFO    ] Checking for camera pi updates...
[2026-08-29 05:02:38,961.961 INFO    ] 200
[2026-08-29 05:02:38,963.963 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:02:39,004.004 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:02:39,121.121 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:02:39,123.123 INFO    ] No camera update needed
[2026-08-29 05:02:39,126.126 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:02:39,128.128 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:02:39,133.133 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:02:39,138.138 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:02:41,180.180 INFO    ] ================================================
[2026-08-29 05:02:41,196.196 INFO    ] Launching Daemon at Sat Aug 29 05:02:41 IST 2026
[2026-08-29 05:02:41,208.208 INFO    ] ================================================
[2026-08-29 05:02:41,560.560 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:02:41
[2026-08-29 05:02:41,873.873 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:02:42,016.016 INFO    ] Initializing speech engine...
[2026-08-29 05:02:42,021.021 INFO    ] 2026-08-29 05:02:42
[2026-08-29 05:02:42,208.208 INFO    ] 2026-08-29 05:02:42
[2026-08-29 05:02:42,263.263 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:02:42,476.476 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:02:42,479.479 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:02:42,635.635 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:02:42,652.652 INFO    ] time= 29/08/2026 05:02:42
[2026-08-29 05:02:42,701.701 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:02:42,760.760 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:02:42,826.826 INFO    ] No existing commands found in stream
[2026-08-29 05:02:47,838.838 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:02:47,840.840 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-08-29 05:02:49,580.580 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:02:49,581.581 INFO    ] Checking for system updates...
[2026-08-29 05:02:49,602.602 INFO    ] 200
[2026-08-29 05:02:49,604.604 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:02:49,635.635 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:02:49,637.637 INFO    ] No update needed
[2026-08-29 05:02:49,638.638 INFO    ] Checking for camera pi updates...
[2026-08-29 05:02:49,657.657 INFO    ] 200
[2026-08-29 05:02:49,658.658 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:02:49,682.682 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:02:49,800.800 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:02:49,802.802 INFO    ] No camera update needed
[2026-08-29 05:02:49,803.803 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:02:49,804.804 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:02:49,807.807 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:02:49,810.810 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:02:51,850.850 INFO    ] ================================================
[2026-08-29 05:02:51,866.866 INFO    ] Launching Daemon at Sat Aug 29 05:02:51 IST 2026
[2026-08-29 05:02:51,877.877 INFO    ] ================================================
[2026-08-29 05:02:52,250.250 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:02:52
[2026-08-29 05:02:52,927.927 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:02:53,231.231 INFO    ] Initializing speech engine...
[2026-08-29 05:02:53,243.243 INFO    ] 2026-08-29 05:02:53
[2026-08-29 05:02:53,555.555 INFO    ] 2026-08-29 05:02:53
[2026-08-29 05:02:53,637.637 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:02:53,812.812 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:02:53,819.819 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:02:53,930.930 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:02:53,983.983 INFO    ] time= 29/08/2026 05:02:53
[2026-08-29 05:02:54,043.043 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:02:54,066.066 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:02:54,123.123 INFO    ] No existing commands found in stream
[2026-08-29 05:02:59,136.136 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:02:59,139.139 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-08-29 05:03:00,621.621 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:03:00,622.622 INFO    ] Checking for system updates...
[2026-08-29 05:03:00,642.642 INFO    ] 200
[2026-08-29 05:03:00,644.644 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:03:00,673.673 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:03:00,675.675 INFO    ] No update needed
[2026-08-29 05:03:00,676.676 INFO    ] Checking for camera pi updates...
[2026-08-29 05:03:00,695.695 INFO    ] 200
[2026-08-29 05:03:00,696.696 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:03:00,719.719 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:03:00,803.803 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:03:00,805.805 INFO    ] No camera update needed
[2026-08-29 05:03:00,807.807 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:03:00,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:03:00,815.815 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:03:00,820.820 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:03:02,862.862 INFO    ] ================================================
[2026-08-29 05:03:02,877.877 INFO    ] Launching Daemon at Sat Aug 29 05:03:02 IST 2026
[2026-08-29 05:03:02,888.888 INFO    ] ================================================
[2026-08-29 05:03:03,473.473 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:03:03
[2026-08-29 05:03:03,994.994 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:03:04,141.141 INFO    ] Initializing speech engine...
[2026-08-29 05:03:04,146.146 INFO    ] 2026-08-29 05:03:04
[2026-08-29 05:03:04,351.351 INFO    ] 2026-08-29 05:03:04
[2026-08-29 05:03:04,379.379 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:03:04,506.506 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:03:04,563.563 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:03:04,692.692 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:03:04,754.754 INFO    ] time= 29/08/2026 05:03:04
[2026-08-29 05:03:04,778.778 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:03:04,793.793 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:03:04,865.865 INFO    ] No existing commands found in stream
[2026-08-29 05:03:09,874.874 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:03:09,877.877 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-08-29 05:03:12,093.093 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:03:12,094.094 INFO    ] Checking for system updates...
[2026-08-29 05:03:12,114.114 INFO    ] 200
[2026-08-29 05:03:12,116.116 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:03:12,147.147 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:03:12,149.149 INFO    ] No update needed
[2026-08-29 05:03:12,151.151 INFO    ] Checking for camera pi updates...
[2026-08-29 05:03:12,172.172 INFO    ] 200
[2026-08-29 05:03:12,175.175 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:03:12,215.215 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:03:12,320.320 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:03:12,323.323 INFO    ] No camera update needed
[2026-08-29 05:03:12,325.325 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:03:12,328.328 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:03:12,333.333 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:03:12,338.338 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:03:14,382.382 INFO    ] ================================================
[2026-08-29 05:03:14,397.397 INFO    ] Launching Daemon at Sat Aug 29 05:03:14 IST 2026
[2026-08-29 05:03:14,408.408 INFO    ] ================================================
[2026-08-29 05:03:15,061.061 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:03:15
[2026-08-29 05:03:15,517.517 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:03:15,668.668 INFO    ] Initializing speech engine...
[2026-08-29 05:03:15,674.674 INFO    ] 2026-08-29 05:03:15
[2026-08-29 05:03:15,880.880 INFO    ] 2026-08-29 05:03:15
[2026-08-29 05:03:15,911.911 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:03:16,039.039 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:03:16,097.097 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:03:16,233.233 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:03:16,294.294 INFO    ] time= 29/08/2026 05:03:16
[2026-08-29 05:03:16,326.326 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:03:16,333.333 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:03:16,399.399 INFO    ] No existing commands found in stream
[2026-08-29 05:03:21,411.411 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:03:21,414.414 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-08-29 05:03:23,073.073 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:03:23,076.076 INFO    ] Checking for system updates...
[2026-08-29 05:03:23,117.117 INFO    ] 200
[2026-08-29 05:03:23,120.120 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:03:23,180.180 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:03:23,183.183 INFO    ] No update needed
[2026-08-29 05:03:23,186.186 INFO    ] Checking for camera pi updates...
[2026-08-29 05:03:23,221.221 INFO    ] 200
[2026-08-29 05:03:23,224.224 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:03:23,266.266 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:03:23,352.352 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:03:23,355.355 INFO    ] No camera update needed
[2026-08-29 05:03:23,358.358 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:03:23,360.360 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:03:23,367.367 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:03:23,373.373 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:03:25,415.415 INFO    ] ================================================
[2026-08-29 05:03:25,430.430 INFO    ] Launching Daemon at Sat Aug 29 05:03:25 IST 2026
[2026-08-29 05:03:25,440.440 INFO    ] ================================================
[2026-08-29 05:03:25,789.789 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:03:25
[2026-08-29 05:03:26,106.106 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:03:26,245.245 INFO    ] Initializing speech engine...
[2026-08-29 05:03:26,255.255 INFO    ] 2026-08-29 05:03:26
[2026-08-29 05:03:26,462.462 INFO    ] 2026-08-29 05:03:26
[2026-08-29 05:03:26,489.489 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:03:26,615.615 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:03:26,654.654 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:03:26,826.826 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:03:26,881.881 INFO    ] time= 29/08/2026 05:03:26
[2026-08-29 05:03:26,932.932 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:03:26,950.950 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:03:27,079.079 INFO    ] No existing commands found in stream
[2026-08-29 05:03:32,094.094 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:03:32,097.097 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 05:03:35,599.599 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:03:35,600.600 INFO    ] Checking for system updates...
[2026-08-29 05:03:35,621.621 INFO    ] 200
[2026-08-29 05:03:35,622.622 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:03:35,652.652 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:03:35,653.653 INFO    ] No update needed
[2026-08-29 05:03:35,654.654 INFO    ] Checking for camera pi updates...
[2026-08-29 05:03:35,675.675 INFO    ] 200
[2026-08-29 05:03:35,676.676 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:03:35,699.699 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:03:35,794.794 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:03:35,796.796 INFO    ] No camera update needed
[2026-08-29 05:03:35,797.797 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:03:35,798.798 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:03:35,801.801 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:03:35,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:03:37,842.842 INFO    ] ================================================
[2026-08-29 05:03:37,858.858 INFO    ] Launching Daemon at Sat Aug 29 05:03:37 IST 2026
[2026-08-29 05:03:37,868.868 INFO    ] ================================================
[2026-08-29 05:03:38,256.256 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:03:38
[2026-08-29 05:03:38,594.594 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:03:38,747.747 INFO    ] Initializing speech engine...
[2026-08-29 05:03:38,753.753 INFO    ] 2026-08-29 05:03:38
[2026-08-29 05:03:38,962.962 INFO    ] 2026-08-29 05:03:38
[2026-08-29 05:03:38,992.992 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:03:39,137.137 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:03:39,207.207 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:03:39,388.388 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:03:39,428.428 INFO    ] time= 29/08/2026 05:03:39
[2026-08-29 05:03:39,467.467 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:03:39,533.533 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:03:39,633.633 INFO    ] No existing commands found in stream
[2026-08-29 05:03:44,663.663 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:03:44,665.665 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-08-29 05:03:45,537.537 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:03:45,540.540 INFO    ] Checking for system updates...
[2026-08-29 05:03:45,583.583 INFO    ] 200
[2026-08-29 05:03:45,586.586 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:03:45,647.647 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:03:45,650.650 INFO    ] No update needed
[2026-08-29 05:03:45,654.654 INFO    ] Checking for camera pi updates...
[2026-08-29 05:03:45,698.698 INFO    ] 200
[2026-08-29 05:03:45,700.700 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:03:45,760.760 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:03:45,861.861 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:03:45,864.864 INFO    ] No camera update needed
[2026-08-29 05:03:45,867.867 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:03:45,869.869 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:03:45,876.876 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:03:45,882.882 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:03:47,924.924 INFO    ] ================================================
[2026-08-29 05:03:47,939.939 INFO    ] Launching Daemon at Sat Aug 29 05:03:47 IST 2026
[2026-08-29 05:03:47,950.950 INFO    ] ================================================
[2026-08-29 05:03:48,446.446 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:03:48
[2026-08-29 05:03:49,127.127 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:03:49,437.437 INFO    ] Initializing speech engine...
[2026-08-29 05:03:49,448.448 INFO    ] 2026-08-29 05:03:49
[2026-08-29 05:03:49,734.734 INFO    ] 2026-08-29 05:03:49
[2026-08-29 05:03:49,773.773 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:03:49,994.994 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:03:50,003.003 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:03:50,137.137 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:03:50,201.201 INFO    ] time= 29/08/2026 05:03:50
[2026-08-29 05:03:50,266.266 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:03:50,276.276 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:03:50,402.402 INFO    ] No existing commands found in stream
[2026-08-29 05:03:55,430.430 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:03:55,434.434 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-08-29 05:03:57,764.764 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:03:57,765.765 INFO    ] Checking for system updates...
[2026-08-29 05:03:57,786.786 INFO    ] 200
[2026-08-29 05:03:57,787.787 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:03:57,817.817 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:03:57,819.819 INFO    ] No update needed
[2026-08-29 05:03:57,820.820 INFO    ] Checking for camera pi updates...
[2026-08-29 05:03:57,840.840 INFO    ] 200
[2026-08-29 05:03:57,841.841 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:03:57,868.868 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:03:57,969.969 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:03:57,971.971 INFO    ] No camera update needed
[2026-08-29 05:03:57,972.972 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:03:57,974.974 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:03:57,977.977 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:03:57,980.980 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:04:00,019.019 INFO    ] ================================================
[2026-08-29 05:04:00,034.034 INFO    ] Launching Daemon at Sat Aug 29 05:04:00 IST 2026
[2026-08-29 05:04:00,045.045 INFO    ] ================================================
[2026-08-29 05:04:00,395.395 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:04:00
[2026-08-29 05:04:00,707.707 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:04:00,849.849 INFO    ] Initializing speech engine...
[2026-08-29 05:04:00,855.855 INFO    ] 2026-08-29 05:04:00
[2026-08-29 05:04:01,051.051 INFO    ] 2026-08-29 05:04:01
[2026-08-29 05:04:01,128.128 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:04:01,284.284 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:04:01,293.293 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:04:01,428.428 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:04:01,450.450 INFO    ] time= 29/08/2026 05:04:01
[2026-08-29 05:04:01,509.509 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:04:01,558.558 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:04:01,617.617 INFO    ] No existing commands found in stream
[2026-08-29 05:04:06,625.625 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:04:06,628.628 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-08-29 05:04:07,746.746 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:04:07,747.747 INFO    ] Checking for system updates...
[2026-08-29 05:04:07,768.768 INFO    ] 200
[2026-08-29 05:04:07,769.769 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:04:07,802.802 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:04:07,803.803 INFO    ] No update needed
[2026-08-29 05:04:07,805.805 INFO    ] Checking for camera pi updates...
[2026-08-29 05:04:07,824.824 INFO    ] 200
[2026-08-29 05:04:07,826.826 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:04:07,851.851 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:04:08,074.074 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:04:08,076.076 INFO    ] No camera update needed
[2026-08-29 05:04:08,077.077 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:04:08,078.078 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:04:08,081.081 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:04:08,087.087 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:04:10,128.128 INFO    ] ================================================
[2026-08-29 05:04:10,143.143 INFO    ] Launching Daemon at Sat Aug 29 05:04:10 IST 2026
[2026-08-29 05:04:10,154.154 INFO    ] ================================================
[2026-08-29 05:04:10,811.811 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:04:10
[2026-08-29 05:04:11,484.484 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:04:11,639.639 INFO    ] Initializing speech engine...
[2026-08-29 05:04:11,644.644 INFO    ] 2026-08-29 05:04:11
[2026-08-29 05:04:11,849.849 INFO    ] 2026-08-29 05:04:11
[2026-08-29 05:04:11,878.878 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:04:12,006.006 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:04:12,064.064 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:04:12,208.208 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:04:12,271.271 INFO    ] time= 29/08/2026 05:04:12
[2026-08-29 05:04:12,294.294 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:04:12,301.301 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:04:12,366.366 INFO    ] No existing commands found in stream
[2026-08-29 05:04:17,377.377 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:04:17,380.380 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-08-29 05:04:19,945.945 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:04:19,946.946 INFO    ] Checking for system updates...
[2026-08-29 05:04:19,968.968 INFO    ] 200
[2026-08-29 05:04:19,970.970 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:04:20,002.002 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:04:20,003.003 INFO    ] No update needed
[2026-08-29 05:04:20,004.004 INFO    ] Checking for camera pi updates...
[2026-08-29 05:04:20,024.024 INFO    ] 200
[2026-08-29 05:04:20,025.025 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:04:20,048.048 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:04:20,129.129 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:04:20,132.132 INFO    ] No camera update needed
[2026-08-29 05:04:20,135.135 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:04:20,137.137 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:04:20,143.143 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:04:20,149.149 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:04:22,190.190 INFO    ] ================================================
[2026-08-29 05:04:22,205.205 INFO    ] Launching Daemon at Sat Aug 29 05:04:22 IST 2026
[2026-08-29 05:04:22,216.216 INFO    ] ================================================
[2026-08-29 05:04:22,855.855 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:04:22
[2026-08-29 05:04:23,354.354 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:04:23,508.508 INFO    ] Initializing speech engine...
[2026-08-29 05:04:23,512.512 INFO    ] 2026-08-29 05:04:23
[2026-08-29 05:04:23,721.721 INFO    ] 2026-08-29 05:04:23
[2026-08-29 05:04:23,750.750 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:04:23,875.875 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:04:23,913.913 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:04:24,103.103 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:04:24,164.164 INFO    ] time= 29/08/2026 05:04:24
[2026-08-29 05:04:24,190.190 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:04:24,255.255 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:04:24,342.342 INFO    ] No existing commands found in stream
[2026-08-29 05:04:29,375.375 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:04:29,378.378 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-08-29 05:04:30,998.998 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:04:30,999.999 INFO    ] Checking for system updates...
[2026-08-29 05:04:31,019.019 INFO    ] 200
[2026-08-29 05:04:31,021.021 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:04:31,053.053 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:04:31,054.054 INFO    ] No update needed
[2026-08-29 05:04:31,055.055 INFO    ] Checking for camera pi updates...
[2026-08-29 05:04:31,074.074 INFO    ] 200
[2026-08-29 05:04:31,075.075 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:04:31,098.098 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:04:31,174.174 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:04:31,175.175 INFO    ] No camera update needed
[2026-08-29 05:04:31,176.176 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:04:31,177.177 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:04:31,180.180 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:04:31,183.183 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:04:33,223.223 INFO    ] ================================================
[2026-08-29 05:04:33,237.237 INFO    ] Launching Daemon at Sat Aug 29 05:04:33 IST 2026
[2026-08-29 05:04:33,248.248 INFO    ] ================================================
[2026-08-29 05:04:33,900.900 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:04:33
[2026-08-29 05:04:34,576.576 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:04:34,885.885 INFO    ] Initializing speech engine...
[2026-08-29 05:04:34,890.890 INFO    ] 2026-08-29 05:04:34
[2026-08-29 05:04:35,187.187 INFO    ] 2026-08-29 05:04:35
[2026-08-29 05:04:35,233.233 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:04:35,427.427 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:04:35,430.430 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:04:35,566.566 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:04:35,577.577 INFO    ] time= 29/08/2026 05:04:35
[2026-08-29 05:04:35,604.604 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:04:35,614.614 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:04:35,716.716 INFO    ] No existing commands found in stream
[2026-08-29 05:04:40,747.747 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:04:40,750.750 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-08-29 05:04:41,696.696 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:04:41,698.698 INFO    ] Checking for system updates...
[2026-08-29 05:04:41,718.718 INFO    ] 200
[2026-08-29 05:04:41,720.720 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:04:41,760.760 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:04:41,763.763 INFO    ] No update needed
[2026-08-29 05:04:41,766.766 INFO    ] Checking for camera pi updates...
[2026-08-29 05:04:41,805.805 INFO    ] 200
[2026-08-29 05:04:41,808.808 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:04:41,855.855 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:04:41,966.966 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:04:41,969.969 INFO    ] No camera update needed
[2026-08-29 05:04:41,972.972 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:04:41,974.974 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:04:41,980.980 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:04:41,986.986 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:04:44,026.026 INFO    ] ================================================
[2026-08-29 05:04:44,042.042 INFO    ] Launching Daemon at Sat Aug 29 05:04:44 IST 2026
[2026-08-29 05:04:44,053.053 INFO    ] ================================================
[2026-08-29 05:04:44,624.624 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:04:44
[2026-08-29 05:04:44,956.956 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:04:45,093.093 INFO    ] Initializing speech engine...
[2026-08-29 05:04:45,107.107 INFO    ] 2026-08-29 05:04:45
[2026-08-29 05:04:45,328.328 INFO    ] 2026-08-29 05:04:45
[2026-08-29 05:04:45,359.359 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:04:45,492.492 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:04:45,506.506 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:04:45,657.657 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:04:45,707.707 INFO    ] time= 29/08/2026 05:04:45
[2026-08-29 05:04:45,753.753 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:04:45,794.794 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:04:45,891.891 INFO    ] No existing commands found in stream
[2026-08-29 05:04:50,902.902 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:04:50,905.905 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-08-29 05:04:52,254.254 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:04:52,256.256 INFO    ] Checking for system updates...
[2026-08-29 05:04:52,277.277 INFO    ] 200
[2026-08-29 05:04:52,278.278 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:04:52,308.308 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:04:52,309.309 INFO    ] No update needed
[2026-08-29 05:04:52,311.311 INFO    ] Checking for camera pi updates...
[2026-08-29 05:04:52,330.330 INFO    ] 200
[2026-08-29 05:04:52,332.332 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:04:52,355.355 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:04:52,438.438 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:04:52,440.440 INFO    ] No camera update needed
[2026-08-29 05:04:52,441.441 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:04:52,443.443 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:04:52,446.446 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:04:52,449.449 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:04:54,490.490 INFO    ] ================================================
[2026-08-29 05:04:54,505.505 INFO    ] Launching Daemon at Sat Aug 29 05:04:54 IST 2026
[2026-08-29 05:04:54,516.516 INFO    ] ================================================
[2026-08-29 05:04:55,140.140 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:04:55
[2026-08-29 05:04:55,820.820 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:04:56,128.128 INFO    ] Initializing speech engine...
[2026-08-29 05:04:56,138.138 INFO    ] 2026-08-29 05:04:56
[2026-08-29 05:04:56,453.453 INFO    ] 2026-08-29 05:04:56
[2026-08-29 05:04:56,483.483 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:04:56,618.618 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:04:56,671.671 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:04:56,807.807 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:04:56,870.870 INFO    ] time= 29/08/2026 05:04:56
[2026-08-29 05:04:56,904.904 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:04:56,910.910 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:04:56,977.977 INFO    ] No existing commands found in stream
[2026-08-29 05:05:01,986.986 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:05:01,990.990 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 05:05:05,753.753 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:05:05,755.755 INFO    ] Checking for system updates...
[2026-08-29 05:05:05,776.776 INFO    ] 200
[2026-08-29 05:05:05,777.777 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:05:05,808.808 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:05:05,809.809 INFO    ] No update needed
[2026-08-29 05:05:05,811.811 INFO    ] Checking for camera pi updates...
[2026-08-29 05:05:05,830.830 INFO    ] 200
[2026-08-29 05:05:05,832.832 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:05:05,868.868 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:05:05,920.920 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:05:05,923.923 INFO    ] No camera update needed
[2026-08-29 05:05:05,926.926 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:05:05,929.929 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:05:05,935.935 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:05:05,940.940 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:05:07,983.983 INFO    ] ================================================
[2026-08-29 05:05:08,998.998 INFO    ] Launching Daemon at Sat Aug 29 05:05:07 IST 2026
[2026-08-29 05:05:08,009.009 INFO    ] ================================================
[2026-08-29 05:05:08,591.591 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:05:08
[2026-08-29 05:05:09,039.039 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:05:09,172.172 INFO    ] Initializing speech engine...
[2026-08-29 05:05:09,185.185 INFO    ] 2026-08-29 05:05:09
[2026-08-29 05:05:09,391.391 INFO    ] 2026-08-29 05:05:09
[2026-08-29 05:05:09,419.419 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:05:09,539.539 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:05:09,545.545 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:05:09,724.724 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:05:09,743.743 INFO    ] time= 29/08/2026 05:05:09
[2026-08-29 05:05:09,758.758 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:05:09,767.767 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:05:09,880.880 INFO    ] No existing commands found in stream
[2026-08-29 05:05:14,905.905 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:05:14,908.908 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-08-29 05:05:18,239.239 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:05:18,240.240 INFO    ] Checking for system updates...
[2026-08-29 05:05:18,261.261 INFO    ] 200
[2026-08-29 05:05:18,263.263 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:05:18,292.292 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:05:18,294.294 INFO    ] No update needed
[2026-08-29 05:05:18,295.295 INFO    ] Checking for camera pi updates...
[2026-08-29 05:05:18,314.314 INFO    ] 200
[2026-08-29 05:05:18,316.316 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:05:18,338.338 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:05:18,432.432 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:05:18,434.434 INFO    ] No camera update needed
[2026-08-29 05:05:18,435.435 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:05:18,436.436 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:05:18,439.439 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:05:18,442.442 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:05:20,483.483 INFO    ] ================================================
[2026-08-29 05:05:20,499.499 INFO    ] Launching Daemon at Sat Aug 29 05:05:20 IST 2026
[2026-08-29 05:05:20,509.509 INFO    ] ================================================
[2026-08-29 05:05:20,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:05:20
[2026-08-29 05:05:21,156.156 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:05:21,327.327 INFO    ] Initializing speech engine...
[2026-08-29 05:05:21,344.344 INFO    ] 2026-08-29 05:05:21
[2026-08-29 05:05:21,620.620 INFO    ] 2026-08-29 05:05:21
[2026-08-29 05:05:21,661.661 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:05:21,858.858 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:05:21,865.865 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:05:22,001.001 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:05:22,008.008 INFO    ] time= 29/08/2026 05:05:22
[2026-08-29 05:05:22,028.028 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:05:22,050.050 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:05:22,135.135 INFO    ] No existing commands found in stream
[2026-08-29 05:05:27,147.147 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:05:27,150.150 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-08-29 05:05:29,097.097 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:05:29,098.098 INFO    ] Checking for system updates...
[2026-08-29 05:05:29,120.120 INFO    ] 200
[2026-08-29 05:05:29,121.121 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:05:29,151.151 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:05:29,153.153 INFO    ] No update needed
[2026-08-29 05:05:29,154.154 INFO    ] Checking for camera pi updates...
[2026-08-29 05:05:29,174.174 INFO    ] 200
[2026-08-29 05:05:29,175.175 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:05:29,199.199 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:05:29,313.313 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:05:29,315.315 INFO    ] No camera update needed
[2026-08-29 05:05:29,318.318 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:05:29,320.320 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:05:29,325.325 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:05:29,331.331 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:05:31,371.371 INFO    ] ================================================
[2026-08-29 05:05:31,387.387 INFO    ] Launching Daemon at Sat Aug 29 05:05:31 IST 2026
[2026-08-29 05:05:31,398.398 INFO    ] ================================================
[2026-08-29 05:05:31,992.992 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:05:31
[2026-08-29 05:05:32,553.553 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:05:32,829.829 INFO    ] Initializing speech engine...
[2026-08-29 05:05:32,838.838 INFO    ] 2026-08-29 05:05:32
[2026-08-29 05:05:33,150.150 INFO    ] 2026-08-29 05:05:33
[2026-08-29 05:05:33,186.186 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:05:33,362.362 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:05:33,374.374 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:05:33,519.519 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:05:33,528.528 INFO    ] time= 29/08/2026 05:05:33
[2026-08-29 05:05:33,534.534 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:05:33,580.580 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:05:33,702.702 INFO    ] No existing commands found in stream
[2026-08-29 05:05:38,737.737 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:05:38,740.740 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-08-29 05:05:40,806.806 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:05:40,808.808 INFO    ] Checking for system updates...
[2026-08-29 05:05:40,829.829 INFO    ] 200
[2026-08-29 05:05:40,830.830 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:05:40,862.862 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:05:40,864.864 INFO    ] No update needed
[2026-08-29 05:05:40,865.865 INFO    ] Checking for camera pi updates...
[2026-08-29 05:05:40,884.884 INFO    ] 200
[2026-08-29 05:05:40,885.885 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:05:40,908.908 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:05:40,992.992 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:05:40,993.993 INFO    ] No camera update needed
[2026-08-29 05:05:40,994.994 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:05:40,996.996 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:05:40,998.998 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:05:41,001.001 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:05:43,042.042 INFO    ] ================================================
[2026-08-29 05:05:43,058.058 INFO    ] Launching Daemon at Sat Aug 29 05:05:43 IST 2026
[2026-08-29 05:05:43,069.069 INFO    ] ================================================
[2026-08-29 05:05:43,407.407 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:05:43
[2026-08-29 05:05:43,723.723 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:05:43,856.856 INFO    ] Initializing speech engine...
[2026-08-29 05:05:43,859.859 INFO    ] 2026-08-29 05:05:43
[2026-08-29 05:05:44,052.052 INFO    ] 2026-08-29 05:05:44
[2026-08-29 05:05:44,097.097 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:05:44,220.220 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:05:44,223.223 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:05:44,334.334 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:05:44,344.344 INFO    ] time= 29/08/2026 05:05:44
[2026-08-29 05:05:44,361.361 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:05:44,365.365 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:05:44,453.453 INFO    ] No existing commands found in stream
[2026-08-29 05:05:49,487.487 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:05:49,490.490 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-08-29 05:05:53,582.582 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:05:53,583.583 INFO    ] Checking for system updates...
[2026-08-29 05:05:53,604.604 INFO    ] 200
[2026-08-29 05:05:53,606.606 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:05:53,636.636 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:05:53,637.637 INFO    ] No update needed
[2026-08-29 05:05:53,639.639 INFO    ] Checking for camera pi updates...
[2026-08-29 05:05:53,658.658 INFO    ] 200
[2026-08-29 05:05:53,660.660 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:05:53,684.684 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:05:53,730.730 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:05:53,732.732 INFO    ] No camera update needed
[2026-08-29 05:05:53,733.733 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:05:53,734.734 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:05:53,737.737 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:05:53,740.740 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:05:55,780.780 INFO    ] ================================================
[2026-08-29 05:05:55,797.797 INFO    ] Launching Daemon at Sat Aug 29 05:05:55 IST 2026
[2026-08-29 05:05:55,807.807 INFO    ] ================================================
[2026-08-29 05:05:56,193.193 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:05:56
[2026-08-29 05:05:56,536.536 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:05:56,828.828 INFO    ] Initializing speech engine...
[2026-08-29 05:05:56,837.837 INFO    ] 2026-08-29 05:05:56
[2026-08-29 05:05:57,147.147 INFO    ] 2026-08-29 05:05:57
[2026-08-29 05:05:57,239.239 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:05:57,399.399 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:05:57,410.410 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:05:57,542.542 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:05:57,603.603 INFO    ] time= 29/08/2026 05:05:57
[2026-08-29 05:05:57,653.653 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:05:57,681.681 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:05:57,810.810 INFO    ] No existing commands found in stream
[2026-08-29 05:06:02,840.840 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:06:02,844.844 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-08-29 05:06:04,372.372 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:06:04,375.375 INFO    ] Checking for system updates...
[2026-08-29 05:06:04,412.412 INFO    ] 200
[2026-08-29 05:06:04,415.415 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:06:04,468.468 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:06:04,471.471 INFO    ] No update needed
[2026-08-29 05:06:04,474.474 INFO    ] Checking for camera pi updates...
[2026-08-29 05:06:04,509.509 INFO    ] 200
[2026-08-29 05:06:04,512.512 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:06:04,555.555 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:06:04,659.659 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:06:04,662.662 INFO    ] No camera update needed
[2026-08-29 05:06:04,665.665 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:06:04,667.667 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:06:04,673.673 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:06:04,679.679 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:06:06,721.721 INFO    ] ================================================
[2026-08-29 05:06:06,738.738 INFO    ] Launching Daemon at Sat Aug 29 05:06:06 IST 2026
[2026-08-29 05:06:06,748.748 INFO    ] ================================================
[2026-08-29 05:06:07,272.272 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:06:07
[2026-08-29 05:06:07,857.857 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:06:08,130.130 INFO    ] Initializing speech engine...
[2026-08-29 05:06:08,139.139 INFO    ] 2026-08-29 05:06:08
[2026-08-29 05:06:08,389.389 INFO    ] 2026-08-29 05:06:08
[2026-08-29 05:06:08,424.424 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:06:08,600.600 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:06:08,612.612 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:06:08,756.756 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:06:08,764.764 INFO    ] time= 29/08/2026 05:06:08
[2026-08-29 05:06:08,768.768 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:06:08,774.774 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:06:08,843.843 INFO    ] No existing commands found in stream
[2026-08-29 05:06:13,873.873 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:06:13,876.876 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-08-29 05:06:14,704.704 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:06:14,705.705 INFO    ] Checking for system updates...
[2026-08-29 05:06:14,725.725 INFO    ] 200
[2026-08-29 05:06:14,726.726 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:06:14,756.756 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:06:14,757.757 INFO    ] No update needed
[2026-08-29 05:06:14,758.758 INFO    ] Checking for camera pi updates...
[2026-08-29 05:06:14,777.777 INFO    ] 200
[2026-08-29 05:06:14,779.779 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:06:14,802.802 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:06:14,978.978 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:06:14,981.981 INFO    ] No camera update needed
[2026-08-29 05:06:14,984.984 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:06:14,986.986 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:06:14,991.991 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:06:14,996.996 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:06:17,038.038 INFO    ] ================================================
[2026-08-29 05:06:17,054.054 INFO    ] Launching Daemon at Sat Aug 29 05:06:17 IST 2026
[2026-08-29 05:06:17,065.065 INFO    ] ================================================
[2026-08-29 05:06:17,649.649 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:06:17
[2026-08-29 05:06:18,163.163 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:06:18,301.301 INFO    ] Initializing speech engine...
[2026-08-29 05:06:18,310.310 INFO    ] 2026-08-29 05:06:18
[2026-08-29 05:06:18,516.516 INFO    ] 2026-08-29 05:06:18
[2026-08-29 05:06:18,543.543 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:06:18,666.666 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:06:18,728.728 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:06:18,863.863 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:06:18,915.915 INFO    ] time= 29/08/2026 05:06:18
[2026-08-29 05:06:18,957.957 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:06:18,964.964 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:06:19,032.032 INFO    ] No existing commands found in stream
[2026-08-29 05:06:24,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:06:24,044.044 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-08-29 05:06:24,569.569 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:06:24,570.570 INFO    ] Checking for system updates...
[2026-08-29 05:06:24,590.590 INFO    ] 200
[2026-08-29 05:06:24,591.591 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:06:24,625.625 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:06:24,626.626 INFO    ] No update needed
[2026-08-29 05:06:24,627.627 INFO    ] Checking for camera pi updates...
[2026-08-29 05:06:24,648.648 INFO    ] 200
[2026-08-29 05:06:24,649.649 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:06:24,672.672 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:06:24,719.719 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:06:24,720.720 INFO    ] No camera update needed
[2026-08-29 05:06:24,721.721 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:06:24,723.723 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:06:24,726.726 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:06:24,728.728 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:06:26,769.769 INFO    ] ================================================
[2026-08-29 05:06:26,785.785 INFO    ] Launching Daemon at Sat Aug 29 05:06:26 IST 2026
[2026-08-29 05:06:26,796.796 INFO    ] ================================================
[2026-08-29 05:06:27,157.157 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:06:27
[2026-08-29 05:06:27,665.665 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:06:27,971.971 INFO    ] Initializing speech engine...
[2026-08-29 05:06:27,979.979 INFO    ] 2026-08-29 05:06:27
[2026-08-29 05:06:28,259.259 INFO    ] 2026-08-29 05:06:28
[2026-08-29 05:06:28,312.312 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:06:28,536.536 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:06:28,546.546 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:06:28,683.683 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:06:28,749.749 INFO    ] time= 29/08/2026 05:06:28
[2026-08-29 05:06:28,809.809 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:06:28,819.819 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:06:28,933.933 INFO    ] No existing commands found in stream
[2026-08-29 05:06:33,966.966 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:06:33,969.969 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 05:06:35,455.455 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:06:35,458.458 INFO    ] Checking for system updates...
[2026-08-29 05:06:35,495.495 INFO    ] 200
[2026-08-29 05:06:35,497.497 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:06:35,559.559 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:06:35,562.562 INFO    ] No update needed
[2026-08-29 05:06:35,565.565 INFO    ] Checking for camera pi updates...
[2026-08-29 05:06:35,607.607 INFO    ] 200
[2026-08-29 05:06:35,610.610 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:06:35,651.651 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:06:35,747.747 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:06:35,748.748 INFO    ] No camera update needed
[2026-08-29 05:06:35,750.750 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:06:35,751.751 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:06:35,754.754 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:06:35,756.756 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:06:37,795.795 INFO    ] ================================================
[2026-08-29 05:06:37,812.812 INFO    ] Launching Daemon at Sat Aug 29 05:06:37 IST 2026
[2026-08-29 05:06:37,822.822 INFO    ] ================================================
[2026-08-29 05:06:38,177.177 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:06:38
[2026-08-29 05:06:38,728.728 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:06:38,977.977 INFO    ] Initializing speech engine...
[2026-08-29 05:06:38,985.985 INFO    ] 2026-08-29 05:06:38
[2026-08-29 05:06:39,263.263 INFO    ] 2026-08-29 05:06:39
[2026-08-29 05:06:39,297.297 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:06:39,475.475 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:06:39,487.487 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:06:39,630.630 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:06:39,639.639 INFO    ] time= 29/08/2026 05:06:39
[2026-08-29 05:06:39,644.644 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:06:39,650.650 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:06:39,718.718 INFO    ] No existing commands found in stream
[2026-08-29 05:06:44,748.748 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:06:44,751.751 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-08-29 05:06:48,678.678 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:06:48,680.680 INFO    ] Checking for system updates...
[2026-08-29 05:06:48,700.700 INFO    ] 200
[2026-08-29 05:06:48,701.701 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:06:48,734.734 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:06:48,735.735 INFO    ] No update needed
[2026-08-29 05:06:48,736.736 INFO    ] Checking for camera pi updates...
[2026-08-29 05:06:48,755.755 INFO    ] 200
[2026-08-29 05:06:48,756.756 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:06:48,779.779 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:06:48,861.861 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:06:48,863.863 INFO    ] No camera update needed
[2026-08-29 05:06:48,864.864 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:06:48,865.865 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:06:48,868.868 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:06:48,871.871 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:06:50,910.910 INFO    ] ================================================
[2026-08-29 05:06:50,926.926 INFO    ] Launching Daemon at Sat Aug 29 05:06:50 IST 2026
[2026-08-29 05:06:50,937.937 INFO    ] ================================================
[2026-08-29 05:06:51,286.286 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:06:51
[2026-08-29 05:06:51,660.660 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:06:51,935.935 INFO    ] Initializing speech engine...
[2026-08-29 05:06:51,945.945 INFO    ] 2026-08-29 05:06:51
[2026-08-29 05:06:52,209.209 INFO    ] 2026-08-29 05:06:52
[2026-08-29 05:06:52,263.263 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:06:52,427.427 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:06:52,450.450 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:06:52,567.567 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:06:52,629.629 INFO    ] time= 29/08/2026 05:06:52
[2026-08-29 05:06:52,643.643 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:06:52,707.707 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:06:52,788.788 INFO    ] No existing commands found in stream
[2026-08-29 05:06:57,803.803 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:06:57,806.806 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-08-29 05:06:59,841.841 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:06:59,843.843 INFO    ] Checking for system updates...
[2026-08-29 05:06:59,863.863 INFO    ] 200
[2026-08-29 05:06:59,865.865 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:06:59,897.897 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:06:59,899.899 INFO    ] No update needed
[2026-08-29 05:06:59,900.900 INFO    ] Checking for camera pi updates...
[2026-08-29 05:06:59,921.921 INFO    ] 200
[2026-08-29 05:06:59,923.923 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:06:59,947.947 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:07:00,055.055 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:07:00,057.057 INFO    ] No camera update needed
[2026-08-29 05:07:00,058.058 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:07:00,059.059 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:07:00,062.062 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:07:00,065.065 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:07:02,105.105 INFO    ] ================================================
[2026-08-29 05:07:02,125.125 INFO    ] Launching Daemon at Sat Aug 29 05:07:02 IST 2026
[2026-08-29 05:07:02,140.140 INFO    ] ================================================
[2026-08-29 05:07:02,772.772 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:07:02
[2026-08-29 05:07:03,455.455 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:07:03,747.747 INFO    ] Initializing speech engine...
[2026-08-29 05:07:03,758.758 INFO    ] 2026-08-29 05:07:03
[2026-08-29 05:07:04,030.030 INFO    ] 2026-08-29 05:07:04
[2026-08-29 05:07:04,088.088 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:07:04,260.260 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:07:04,288.288 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:07:04,468.468 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:07:04,476.476 INFO    ] time= 29/08/2026 05:07:04
[2026-08-29 05:07:04,536.536 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:07:04,586.586 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:07:04,664.664 INFO    ] No existing commands found in stream
[2026-08-29 05:07:09,676.676 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:07:09,679.679 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-08-29 05:07:12,332.332 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:07:12,334.334 INFO    ] Checking for system updates...
[2026-08-29 05:07:12,354.354 INFO    ] 200
[2026-08-29 05:07:12,356.356 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:07:12,387.387 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:07:12,389.389 INFO    ] No update needed
[2026-08-29 05:07:12,390.390 INFO    ] Checking for camera pi updates...
[2026-08-29 05:07:12,411.411 INFO    ] 200
[2026-08-29 05:07:12,412.412 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:07:12,438.438 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:07:12,485.485 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:07:12,486.486 INFO    ] No camera update needed
[2026-08-29 05:07:12,488.488 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:07:12,489.489 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:07:12,492.492 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:07:12,495.495 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:07:14,534.534 INFO    ] ================================================
[2026-08-29 05:07:14,549.549 INFO    ] Launching Daemon at Sat Aug 29 05:07:14 IST 2026
[2026-08-29 05:07:14,560.560 INFO    ] ================================================
[2026-08-29 05:07:14,889.889 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:07:14
[2026-08-29 05:07:15,199.199 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:07:15,345.345 INFO    ] Initializing speech engine...
[2026-08-29 05:07:15,350.350 INFO    ] 2026-08-29 05:07:15
[2026-08-29 05:07:15,545.545 INFO    ] 2026-08-29 05:07:15
[2026-08-29 05:07:15,608.608 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:07:15,762.762 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:07:15,769.769 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:07:15,898.898 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:07:15,903.903 INFO    ] time= 29/08/2026 05:07:15
[2026-08-29 05:07:15,923.923 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:07:15,944.944 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:07:16,024.024 INFO    ] No existing commands found in stream
[2026-08-29 05:07:21,035.035 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:07:21,038.038 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-08-29 05:07:25,264.264 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:07:25,267.267 INFO    ] Checking for system updates...
[2026-08-29 05:07:25,305.305 INFO    ] 200
[2026-08-29 05:07:25,307.307 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:07:25,358.358 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:07:25,361.361 INFO    ] No update needed
[2026-08-29 05:07:25,363.363 INFO    ] Checking for camera pi updates...
[2026-08-29 05:07:25,396.396 INFO    ] 200
[2026-08-29 05:07:25,399.399 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:07:25,444.444 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:07:25,551.551 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:07:25,554.554 INFO    ] No camera update needed
[2026-08-29 05:07:25,556.556 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:07:25,559.559 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:07:25,564.564 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:07:25,569.569 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:07:27,609.609 INFO    ] ================================================
[2026-08-29 05:07:27,625.625 INFO    ] Launching Daemon at Sat Aug 29 05:07:27 IST 2026
[2026-08-29 05:07:27,636.636 INFO    ] ================================================
[2026-08-29 05:07:28,015.015 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:07:28
[2026-08-29 05:07:28,348.348 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:07:28,563.563 INFO    ] Initializing speech engine...
[2026-08-29 05:07:28,570.570 INFO    ] 2026-08-29 05:07:28
[2026-08-29 05:07:28,835.835 INFO    ] 2026-08-29 05:07:28
[2026-08-29 05:07:28,907.907 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:07:29,134.134 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:07:29,143.143 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:07:29,280.280 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:07:29,313.313 INFO    ] time= 29/08/2026 05:07:29
[2026-08-29 05:07:29,367.367 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:07:29,407.407 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:07:29,472.472 INFO    ] No existing commands found in stream
[2026-08-29 05:07:34,484.484 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:07:34,488.488 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-08-29 05:07:35,001.001 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:07:35,002.002 INFO    ] Checking for system updates...
[2026-08-29 05:07:35,024.024 INFO    ] 200
[2026-08-29 05:07:35,025.025 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:07:35,055.055 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:07:35,056.056 INFO    ] No update needed
[2026-08-29 05:07:35,057.057 INFO    ] Checking for camera pi updates...
[2026-08-29 05:07:35,077.077 INFO    ] 200
[2026-08-29 05:07:35,079.079 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:07:35,101.101 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:07:35,193.193 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:07:35,195.195 INFO    ] No camera update needed
[2026-08-29 05:07:35,197.197 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:07:35,199.199 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:07:35,205.205 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:07:35,209.209 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:07:37,251.251 INFO    ] ================================================
[2026-08-29 05:07:37,267.267 INFO    ] Launching Daemon at Sat Aug 29 05:07:37 IST 2026
[2026-08-29 05:07:37,278.278 INFO    ] ================================================
[2026-08-29 05:07:37,861.861 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:07:37
[2026-08-29 05:07:38,310.310 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:07:38,564.564 INFO    ] Initializing speech engine...
[2026-08-29 05:07:38,585.585 INFO    ] 2026-08-29 05:07:38
[2026-08-29 05:07:38,852.852 INFO    ] 2026-08-29 05:07:38
[2026-08-29 05:07:38,888.888 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:07:39,082.082 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:07:39,089.089 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:07:39,221.221 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:07:39,228.228 INFO    ] time= 29/08/2026 05:07:39
[2026-08-29 05:07:39,237.237 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:07:39,270.270 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:07:39,351.351 INFO    ] No existing commands found in stream
[2026-08-29 05:07:44,364.364 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:07:44,367.367 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-08-29 05:07:45,553.553 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:07:45,554.554 INFO    ] Checking for system updates...
[2026-08-29 05:07:45,575.575 INFO    ] 200
[2026-08-29 05:07:45,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:07:45,612.612 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:07:45,615.615 INFO    ] No update needed
[2026-08-29 05:07:45,617.617 INFO    ] Checking for camera pi updates...
[2026-08-29 05:07:45,651.651 INFO    ] 200
[2026-08-29 05:07:45,654.654 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:07:45,702.702 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:07:45,783.783 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:07:45,785.785 INFO    ] No camera update needed
[2026-08-29 05:07:45,788.788 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:07:45,790.790 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:07:45,795.795 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:07:45,800.800 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:07:47,841.841 INFO    ] ================================================
[2026-08-29 05:07:47,857.857 INFO    ] Launching Daemon at Sat Aug 29 05:07:47 IST 2026
[2026-08-29 05:07:47,868.868 INFO    ] ================================================
[2026-08-29 05:07:48,436.436 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:07:48
[2026-08-29 05:07:48,895.895 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:07:49,025.025 INFO    ] Initializing speech engine...
[2026-08-29 05:07:49,029.029 INFO    ] 2026-08-29 05:07:49
[2026-08-29 05:07:49,223.223 INFO    ] 2026-08-29 05:07:49
[2026-08-29 05:07:49,282.282 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:07:49,425.425 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:07:49,438.438 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:07:49,582.582 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:07:49,589.589 INFO    ] time= 29/08/2026 05:07:49
[2026-08-29 05:07:49,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:07:49,600.600 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:07:49,665.665 INFO    ] No existing commands found in stream
[2026-08-29 05:07:54,677.677 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:07:54,680.680 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-08-29 05:07:57,553.553 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:07:57,554.554 INFO    ] Checking for system updates...
[2026-08-29 05:07:57,575.575 INFO    ] 200
[2026-08-29 05:07:57,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:07:57,610.610 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:07:57,611.611 INFO    ] No update needed
[2026-08-29 05:07:57,613.613 INFO    ] Checking for camera pi updates...
[2026-08-29 05:07:57,632.632 INFO    ] 200
[2026-08-29 05:07:57,634.634 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:07:57,657.657 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:07:57,738.738 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:07:57,740.740 INFO    ] No camera update needed
[2026-08-29 05:07:57,741.741 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:07:57,742.742 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:07:57,745.745 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:07:57,748.748 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:07:59,789.789 INFO    ] ================================================
[2026-08-29 05:07:59,804.804 INFO    ] Launching Daemon at Sat Aug 29 05:07:59 IST 2026
[2026-08-29 05:07:59,816.816 INFO    ] ================================================
[2026-08-29 05:08:00,147.147 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:08:00
[2026-08-29 05:08:00,460.460 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:08:00,595.595 INFO    ] Initializing speech engine...
[2026-08-29 05:08:00,603.603 INFO    ] 2026-08-29 05:08:00
[2026-08-29 05:08:00,829.829 INFO    ] 2026-08-29 05:08:00
[2026-08-29 05:08:00,886.886 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:08:01,030.030 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:08:01,034.034 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:08:01,161.161 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:08:01,172.172 INFO    ] time= 29/08/2026 05:08:01
[2026-08-29 05:08:01,239.239 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:08:01,299.299 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:08:01,381.381 INFO    ] No existing commands found in stream
[2026-08-29 05:08:06,392.392 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:08:06,396.396 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-08-29 05:08:09,180.180 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:08:09,181.181 INFO    ] Checking for system updates...
[2026-08-29 05:08:09,202.202 INFO    ] 200
[2026-08-29 05:08:09,203.203 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:08:09,235.235 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:08:09,236.236 INFO    ] No update needed
[2026-08-29 05:08:09,238.238 INFO    ] Checking for camera pi updates...
[2026-08-29 05:08:09,259.259 INFO    ] 200
[2026-08-29 05:08:09,260.260 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:08:09,283.283 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:08:09,365.365 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:08:09,366.366 INFO    ] No camera update needed
[2026-08-29 05:08:09,367.367 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:08:09,368.368 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:08:09,371.371 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:08:09,374.374 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:08:11,414.414 INFO    ] ================================================
[2026-08-29 05:08:11,429.429 INFO    ] Launching Daemon at Sat Aug 29 05:08:11 IST 2026
[2026-08-29 05:08:11,440.440 INFO    ] ================================================
[2026-08-29 05:08:11,814.814 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:08:11
[2026-08-29 05:08:12,134.134 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:08:12,266.266 INFO    ] Initializing speech engine...
[2026-08-29 05:08:12,269.269 INFO    ] 2026-08-29 05:08:12
[2026-08-29 05:08:12,469.469 INFO    ] 2026-08-29 05:08:12
[2026-08-29 05:08:12,548.548 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:08:12,700.700 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:08:12,706.706 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:08:12,836.836 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:08:12,858.858 INFO    ] time= 29/08/2026 05:08:12
[2026-08-29 05:08:12,923.923 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:08:12,969.969 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:08:13,030.030 INFO    ] No existing commands found in stream
[2026-08-29 05:08:18,055.055 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:08:18,057.057 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-08-29 05:08:19,115.115 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:08:19,116.116 INFO    ] Checking for system updates...
[2026-08-29 05:08:19,138.138 INFO    ] 200
[2026-08-29 05:08:19,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:08:19,169.169 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:08:19,171.171 INFO    ] No update needed
[2026-08-29 05:08:19,172.172 INFO    ] Checking for camera pi updates...
[2026-08-29 05:08:19,191.191 INFO    ] 200
[2026-08-29 05:08:19,193.193 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:08:19,217.217 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:08:19,414.414 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:08:19,415.415 INFO    ] No camera update needed
[2026-08-29 05:08:19,416.416 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:08:19,417.417 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:08:19,420.420 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:08:19,423.423 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:08:21,463.463 INFO    ] ================================================
[2026-08-29 05:08:21,478.478 INFO    ] Launching Daemon at Sat Aug 29 05:08:21 IST 2026
[2026-08-29 05:08:21,490.490 INFO    ] ================================================
[2026-08-29 05:08:22,069.069 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:08:22
[2026-08-29 05:08:22,740.740 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:08:23,046.046 INFO    ] Initializing speech engine...
[2026-08-29 05:08:23,056.056 INFO    ] 2026-08-29 05:08:23
[2026-08-29 05:08:23,343.343 INFO    ] 2026-08-29 05:08:23
[2026-08-29 05:08:23,387.387 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:08:23,610.610 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:08:23,619.619 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:08:23,756.756 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:08:23,798.798 INFO    ] time= 29/08/2026 05:08:23
[2026-08-29 05:08:23,868.868 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:08:23,894.894 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:08:24,025.025 INFO    ] No existing commands found in stream
[2026-08-29 05:08:29,050.050 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:08:29,054.054 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-08-29 05:08:30,557.557 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:08:30,559.559 INFO    ] Checking for system updates...
[2026-08-29 05:08:30,579.579 INFO    ] 200
[2026-08-29 05:08:30,581.581 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:08:30,611.611 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:08:30,613.613 INFO    ] No update needed
[2026-08-29 05:08:30,614.614 INFO    ] Checking for camera pi updates...
[2026-08-29 05:08:30,633.633 INFO    ] 200
[2026-08-29 05:08:30,635.635 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:08:30,659.659 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:08:30,756.756 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:08:30,757.757 INFO    ] No camera update needed
[2026-08-29 05:08:30,759.759 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:08:30,760.760 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:08:30,763.763 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:08:30,766.766 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:08:32,799.799 INFO    ] ================================================
[2026-08-29 05:08:32,815.815 INFO    ] Launching Daemon at Sat Aug 29 05:08:32 IST 2026
[2026-08-29 05:08:32,826.826 INFO    ] ================================================
[2026-08-29 05:08:33,481.481 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:08:33
[2026-08-29 05:08:34,156.156 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:08:34,468.468 INFO    ] Initializing speech engine...
[2026-08-29 05:08:34,475.475 INFO    ] 2026-08-29 05:08:34
[2026-08-29 05:08:34,787.787 INFO    ] 2026-08-29 05:08:34
[2026-08-29 05:08:34,869.869 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:08:35,042.042 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:08:35,086.086 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:08:35,243.243 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:08:35,297.297 INFO    ] time= 29/08/2026 05:08:35
[2026-08-29 05:08:35,334.334 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:08:35,341.341 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:08:35,406.406 INFO    ] No existing commands found in stream
[2026-08-29 05:08:40,417.417 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:08:40,420.420 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-08-29 05:08:43,212.212 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:08:43,214.214 INFO    ] Checking for system updates...
[2026-08-29 05:08:43,236.236 INFO    ] 200
[2026-08-29 05:08:43,237.237 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:08:43,272.272 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:08:43,273.273 INFO    ] No update needed
[2026-08-29 05:08:43,275.275 INFO    ] Checking for camera pi updates...
[2026-08-29 05:08:43,295.295 INFO    ] 200
[2026-08-29 05:08:43,296.296 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:08:43,319.319 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:08:43,423.423 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:08:43,424.424 INFO    ] No camera update needed
[2026-08-29 05:08:43,425.425 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:08:43,427.427 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:08:43,430.430 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:08:43,433.433 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:08:45,472.472 INFO    ] ================================================
[2026-08-29 05:08:45,488.488 INFO    ] Launching Daemon at Sat Aug 29 05:08:45 IST 2026
[2026-08-29 05:08:45,499.499 INFO    ] ================================================
[2026-08-29 05:08:45,869.869 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:08:45
[2026-08-29 05:08:46,207.207 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:08:46,359.359 INFO    ] Initializing speech engine...
[2026-08-29 05:08:46,365.365 INFO    ] 2026-08-29 05:08:46
[2026-08-29 05:08:46,574.574 INFO    ] 2026-08-29 05:08:46
[2026-08-29 05:08:46,603.603 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:08:46,730.730 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:08:46,789.789 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:08:46,931.931 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:08:46,994.994 INFO    ] time= 29/08/2026 05:08:46
[2026-08-29 05:08:47,017.017 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:08:47,024.024 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:08:47,089.089 INFO    ] No existing commands found in stream
[2026-08-29 05:08:52,100.100 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:08:52,104.104 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-08-29 05:08:53,921.921 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:08:53,923.923 INFO    ] Checking for system updates...
[2026-08-29 05:08:53,944.944 INFO    ] 200
[2026-08-29 05:08:53,945.945 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:08:53,978.978 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:08:53,979.979 INFO    ] No update needed
[2026-08-29 05:08:53,981.981 INFO    ] Checking for camera pi updates...
[2026-08-29 05:08:54,004.004 INFO    ] 200
[2026-08-29 05:08:54,005.005 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:08:54,031.031 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:08:54,131.131 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:08:54,132.132 INFO    ] No camera update needed
[2026-08-29 05:08:54,134.134 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:08:54,135.135 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:08:54,138.138 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:08:54,141.141 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:08:56,181.181 INFO    ] ================================================
[2026-08-29 05:08:56,196.196 INFO    ] Launching Daemon at Sat Aug 29 05:08:56 IST 2026
[2026-08-29 05:08:56,207.207 INFO    ] ================================================
[2026-08-29 05:08:56,544.544 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:08:56
[2026-08-29 05:08:56,858.858 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:08:56,997.997 INFO    ] Initializing speech engine...
[2026-08-29 05:08:57,007.007 INFO    ] 2026-08-29 05:08:57
[2026-08-29 05:08:57,202.202 INFO    ] 2026-08-29 05:08:57
[2026-08-29 05:08:57,245.245 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:08:57,472.472 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:08:57,481.481 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:08:57,620.620 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:08:57,664.664 INFO    ] time= 29/08/2026 05:08:57
[2026-08-29 05:08:57,724.724 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:08:57,756.756 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:08:57,813.813 INFO    ] No existing commands found in stream
[2026-08-29 05:09:02,825.825 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:09:02,828.828 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-08-29 05:09:05,774.774 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:09:05,775.775 INFO    ] Checking for system updates...
[2026-08-29 05:09:05,797.797 INFO    ] 200
[2026-08-29 05:09:05,798.798 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:09:05,830.830 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:09:05,832.832 INFO    ] No update needed
[2026-08-29 05:09:05,833.833 INFO    ] Checking for camera pi updates...
[2026-08-29 05:09:05,852.852 INFO    ] 200
[2026-08-29 05:09:05,854.854 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:09:05,877.877 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:09:05,965.965 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:09:05,967.967 INFO    ] No camera update needed
[2026-08-29 05:09:05,969.969 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:09:05,972.972 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:09:05,977.977 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:09:05,982.982 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:09:08,022.022 INFO    ] ================================================
[2026-08-29 05:09:08,038.038 INFO    ] Launching Daemon at Sat Aug 29 05:09:08 IST 2026
[2026-08-29 05:09:08,049.049 INFO    ] ================================================
[2026-08-29 05:09:08,617.617 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:09:08
[2026-08-29 05:09:09,127.127 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:09:09,404.404 INFO    ] Initializing speech engine...
[2026-08-29 05:09:09,409.409 INFO    ] 2026-08-29 05:09:09
[2026-08-29 05:09:09,663.663 INFO    ] 2026-08-29 05:09:09
[2026-08-29 05:09:09,727.727 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:09:09,870.870 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:09:09,882.882 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:09:10,024.024 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:09:10,032.032 INFO    ] time= 29/08/2026 05:09:10
[2026-08-29 05:09:10,040.040 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:09:10,089.089 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:09:10,211.211 INFO    ] No existing commands found in stream
[2026-08-29 05:09:15,237.237 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:09:15,239.239 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-08-29 05:09:16,673.673 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:09:16,675.675 INFO    ] Checking for system updates...
[2026-08-29 05:09:16,695.695 INFO    ] 200
[2026-08-29 05:09:16,697.697 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:09:16,727.727 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:09:16,728.728 INFO    ] No update needed
[2026-08-29 05:09:16,729.729 INFO    ] Checking for camera pi updates...
[2026-08-29 05:09:16,749.749 INFO    ] 200
[2026-08-29 05:09:16,750.750 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:09:16,775.775 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:09:16,870.870 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:09:16,871.871 INFO    ] No camera update needed
[2026-08-29 05:09:16,873.873 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:09:16,874.874 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:09:16,877.877 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:09:16,880.880 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:09:18,919.919 INFO    ] ================================================
[2026-08-29 05:09:18,934.934 INFO    ] Launching Daemon at Sat Aug 29 05:09:18 IST 2026
[2026-08-29 05:09:18,944.944 INFO    ] ================================================
[2026-08-29 05:09:19,313.313 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:09:19
[2026-08-29 05:09:19,630.630 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:09:19,776.776 INFO    ] Initializing speech engine...
[2026-08-29 05:09:19,780.780 INFO    ] 2026-08-29 05:09:19
[2026-08-29 05:09:19,986.986 INFO    ] 2026-08-29 05:09:19
[2026-08-29 05:09:20,015.015 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:09:20,137.137 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:09:20,185.185 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:09:20,337.337 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:09:20,408.408 INFO    ] time= 29/08/2026 05:09:20
[2026-08-29 05:09:20,454.454 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:09:20,458.458 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:09:20,583.583 INFO    ] No existing commands found in stream
[2026-08-29 05:09:25,613.613 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:09:25,616.616 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-08-29 05:09:28,868.868 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:09:28,870.870 INFO    ] Checking for system updates...
[2026-08-29 05:09:28,890.890 INFO    ] 200
[2026-08-29 05:09:28,891.891 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:09:28,930.930 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:09:28,932.932 INFO    ] No update needed
[2026-08-29 05:09:28,934.934 INFO    ] Checking for camera pi updates...
[2026-08-29 05:09:28,953.953 INFO    ] 200
[2026-08-29 05:09:28,955.955 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:09:28,978.978 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:09:29,071.071 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:09:29,074.074 INFO    ] No camera update needed
[2026-08-29 05:09:29,076.076 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:09:29,078.078 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:09:29,083.083 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:09:29,088.088 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:09:31,128.128 INFO    ] ================================================
[2026-08-29 05:09:31,143.143 INFO    ] Launching Daemon at Sat Aug 29 05:09:31 IST 2026
[2026-08-29 05:09:31,154.154 INFO    ] ================================================
[2026-08-29 05:09:31,757.757 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:09:31
[2026-08-29 05:09:32,313.313 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:09:32,615.615 INFO    ] Initializing speech engine...
[2026-08-29 05:09:32,633.633 INFO    ] 2026-08-29 05:09:32
[2026-08-29 05:09:32,951.951 INFO    ] 2026-08-29 05:09:32
[2026-08-29 05:09:33,034.034 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:09:33,184.184 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:09:33,193.193 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:09:33,326.326 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:09:33,363.363 INFO    ] time= 29/08/2026 05:09:33
[2026-08-29 05:09:33,418.418 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:09:33,457.457 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:09:33,505.505 INFO    ] No existing commands found in stream
[2026-08-29 05:09:38,515.515 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:09:38,518.518 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 05:09:42,141.141 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:09:42,143.143 INFO    ] Checking for system updates...
[2026-08-29 05:09:42,180.180 INFO    ] 200
[2026-08-29 05:09:42,183.183 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:09:42,241.241 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:09:42,243.243 INFO    ] No update needed
[2026-08-29 05:09:42,246.246 INFO    ] Checking for camera pi updates...
[2026-08-29 05:09:42,285.285 INFO    ] 200
[2026-08-29 05:09:42,287.287 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:09:42,327.327 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:09:42,441.441 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:09:42,444.444 INFO    ] No camera update needed
[2026-08-29 05:09:42,447.447 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:09:42,449.449 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:09:42,454.454 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:09:42,459.459 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:09:44,500.500 INFO    ] ================================================
[2026-08-29 05:09:44,515.515 INFO    ] Launching Daemon at Sat Aug 29 05:09:44 IST 2026
[2026-08-29 05:09:44,526.526 INFO    ] ================================================
[2026-08-29 05:09:44,848.848 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:09:44
[2026-08-29 05:09:45,160.160 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:09:45,301.301 INFO    ] Initializing speech engine...
[2026-08-29 05:09:45,309.309 INFO    ] 2026-08-29 05:09:45
[2026-08-29 05:09:45,529.529 INFO    ] 2026-08-29 05:09:45
[2026-08-29 05:09:45,559.559 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:09:45,691.691 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:09:45,710.710 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:09:45,863.863 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:09:45,872.872 INFO    ] time= 29/08/2026 05:09:45
[2026-08-29 05:09:45,880.880 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:09:45,912.912 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:09:46,004.004 INFO    ] No existing commands found in stream
[2026-08-29 05:09:51,024.024 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:09:51,027.027 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-08-29 05:09:54,761.761 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:09:54,763.763 INFO    ] Checking for system updates...
[2026-08-29 05:09:54,784.784 INFO    ] 200
[2026-08-29 05:09:54,786.786 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:09:54,818.818 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:09:54,820.820 INFO    ] No update needed
[2026-08-29 05:09:54,821.821 INFO    ] Checking for camera pi updates...
[2026-08-29 05:09:54,841.841 INFO    ] 200
[2026-08-29 05:09:54,843.843 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:09:54,867.867 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:09:54,943.943 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:09:54,944.944 INFO    ] No camera update needed
[2026-08-29 05:09:54,945.945 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:09:54,947.947 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:09:54,950.950 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:09:54,953.953 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:09:56,993.993 INFO    ] ================================================
[2026-08-29 05:09:57,008.008 INFO    ] Launching Daemon at Sat Aug 29 05:09:57 IST 2026
[2026-08-29 05:09:57,019.019 INFO    ] ================================================
[2026-08-29 05:09:57,382.382 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:09:57
[2026-08-29 05:09:57,699.699 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:09:57,835.835 INFO    ] Initializing speech engine...
[2026-08-29 05:09:57,849.849 INFO    ] 2026-08-29 05:09:57
[2026-08-29 05:09:58,091.091 INFO    ] 2026-08-29 05:09:58
[2026-08-29 05:09:58,133.133 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:09:58,301.301 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:09:58,306.306 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:09:58,458.458 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:09:58,465.465 INFO    ] time= 29/08/2026 05:09:58
[2026-08-29 05:09:58,510.510 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:09:58,554.554 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:09:58,619.619 INFO    ] No existing commands found in stream
[2026-08-29 05:10:03,641.641 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:10:03,644.644 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-08-29 05:10:07,944.944 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:10:07,945.945 INFO    ] Checking for system updates...
[2026-08-29 05:10:07,966.966 INFO    ] 200
[2026-08-29 05:10:07,967.967 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:10:08,001.001 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:10:08,003.003 INFO    ] No update needed
[2026-08-29 05:10:08,004.004 INFO    ] Checking for camera pi updates...
[2026-08-29 05:10:08,031.031 INFO    ] 200
[2026-08-29 05:10:08,034.034 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:10:08,074.074 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:10:08,158.158 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:10:08,160.160 INFO    ] No camera update needed
[2026-08-29 05:10:08,163.163 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:10:08,165.165 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:10:08,171.171 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:10:08,176.176 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:10:10,216.216 INFO    ] ================================================
[2026-08-29 05:10:10,231.231 INFO    ] Launching Daemon at Sat Aug 29 05:10:10 IST 2026
[2026-08-29 05:10:10,242.242 INFO    ] ================================================
[2026-08-29 05:10:10,811.811 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:10:10
[2026-08-29 05:10:11,279.279 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:10:11,413.413 INFO    ] Initializing speech engine...
[2026-08-29 05:10:11,416.416 INFO    ] 2026-08-29 05:10:11
[2026-08-29 05:10:11,644.644 INFO    ] 2026-08-29 05:10:11
[2026-08-29 05:10:11,675.675 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:10:11,805.805 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:10:11,848.848 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:10:12,012.012 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:10:12,064.064 INFO    ] time= 29/08/2026 05:10:12
[2026-08-29 05:10:12,102.102 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:10:12,119.119 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:10:12,195.195 INFO    ] No existing commands found in stream
[2026-08-29 05:10:17,205.205 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:10:17,208.208 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-08-29 05:10:19,718.718 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:10:19,720.720 INFO    ] Checking for system updates...
[2026-08-29 05:10:19,740.740 INFO    ] 200
[2026-08-29 05:10:19,741.741 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:10:19,771.771 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:10:19,773.773 INFO    ] No update needed
[2026-08-29 05:10:19,774.774 INFO    ] Checking for camera pi updates...
[2026-08-29 05:10:19,793.793 INFO    ] 200
[2026-08-29 05:10:19,795.795 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:10:19,818.818 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:10:19,932.932 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:10:19,933.933 INFO    ] No camera update needed
[2026-08-29 05:10:19,934.934 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:10:19,936.936 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:10:19,938.938 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:10:19,941.941 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:10:21,983.983 INFO    ] ================================================
[2026-08-29 05:10:22,998.998 INFO    ] Launching Daemon at Sat Aug 29 05:10:21 IST 2026
[2026-08-29 05:10:22,009.009 INFO    ] ================================================
[2026-08-29 05:10:22,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:10:22
[2026-08-29 05:10:22,672.672 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:10:22,817.817 INFO    ] Initializing speech engine...
[2026-08-29 05:10:22,822.822 INFO    ] 2026-08-29 05:10:22
[2026-08-29 05:10:23,026.026 INFO    ] 2026-08-29 05:10:23
[2026-08-29 05:10:23,055.055 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:10:23,176.176 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:10:23,220.220 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:10:23,379.379 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:10:23,443.443 INFO    ] time= 29/08/2026 05:10:23
[2026-08-29 05:10:23,470.470 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:10:23,472.472 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:10:23,543.543 INFO    ] No existing commands found in stream
[2026-08-29 05:10:28,554.554 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:10:28,557.557 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 05:10:32,054.054 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:10:32,057.057 INFO    ] Checking for system updates...
[2026-08-29 05:10:32,099.099 INFO    ] 200
[2026-08-29 05:10:32,102.102 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:10:32,160.160 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:10:32,163.163 INFO    ] No update needed
[2026-08-29 05:10:32,166.166 INFO    ] Checking for camera pi updates...
[2026-08-29 05:10:32,201.201 INFO    ] 200
[2026-08-29 05:10:32,204.204 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:10:32,249.249 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:10:32,436.436 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:10:32,439.439 INFO    ] No camera update needed
[2026-08-29 05:10:32,441.441 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:10:32,443.443 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:10:32,449.449 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:10:32,453.453 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:10:34,495.495 INFO    ] ================================================
[2026-08-29 05:10:34,510.510 INFO    ] Launching Daemon at Sat Aug 29 05:10:34 IST 2026
[2026-08-29 05:10:34,520.520 INFO    ] ================================================
[2026-08-29 05:10:35,066.066 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:10:35
[2026-08-29 05:10:35,385.385 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:10:35,519.519 INFO    ] Initializing speech engine...
[2026-08-29 05:10:35,531.531 INFO    ] 2026-08-29 05:10:35
[2026-08-29 05:10:35,739.739 INFO    ] 2026-08-29 05:10:35
[2026-08-29 05:10:35,767.767 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:10:35,928.928 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:10:35,934.934 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:10:36,065.065 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:10:36,081.081 INFO    ] time= 29/08/2026 05:10:36
[2026-08-29 05:10:36,091.091 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:10:36,117.117 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:10:36,219.219 INFO    ] No existing commands found in stream
[2026-08-29 05:10:41,234.234 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:10:41,236.236 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-08-29 05:10:44,264.264 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:10:44,266.266 INFO    ] Checking for system updates...
[2026-08-29 05:10:44,288.288 INFO    ] 200
[2026-08-29 05:10:44,289.289 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:10:44,322.322 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:10:44,323.323 INFO    ] No update needed
[2026-08-29 05:10:44,325.325 INFO    ] Checking for camera pi updates...
[2026-08-29 05:10:44,345.345 INFO    ] 200
[2026-08-29 05:10:44,347.347 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:10:44,372.372 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:10:44,471.471 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:10:44,473.473 INFO    ] No camera update needed
[2026-08-29 05:10:44,474.474 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:10:44,476.476 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:10:44,479.479 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:10:44,482.482 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:10:46,521.521 INFO    ] ================================================
[2026-08-29 05:10:46,536.536 INFO    ] Launching Daemon at Sat Aug 29 05:10:46 IST 2026
[2026-08-29 05:10:46,547.547 INFO    ] ================================================
[2026-08-29 05:10:46,897.897 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:10:46
[2026-08-29 05:10:47,214.214 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:10:47,466.466 INFO    ] Initializing speech engine...
[2026-08-29 05:10:47,475.475 INFO    ] 2026-08-29 05:10:47
[2026-08-29 05:10:47,737.737 INFO    ] 2026-08-29 05:10:47
[2026-08-29 05:10:47,789.789 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:10:47,959.959 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:10:48,018.018 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:10:48,156.156 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:10:48,204.204 INFO    ] time= 29/08/2026 05:10:48
[2026-08-29 05:10:48,258.258 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:10:48,291.291 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:10:48,351.351 INFO    ] No existing commands found in stream
[2026-08-29 05:10:53,370.370 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:10:53,373.373 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-08-29 05:10:54,520.520 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:10:54,521.521 INFO    ] Checking for system updates...
[2026-08-29 05:10:54,541.541 INFO    ] 200
[2026-08-29 05:10:54,543.543 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:10:54,573.573 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:10:54,574.574 INFO    ] No update needed
[2026-08-29 05:10:54,575.575 INFO    ] Checking for camera pi updates...
[2026-08-29 05:10:54,594.594 INFO    ] 200
[2026-08-29 05:10:54,596.596 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:10:54,619.619 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:10:54,710.710 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:10:54,713.713 INFO    ] No camera update needed
[2026-08-29 05:10:54,715.715 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:10:54,717.717 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:10:54,722.722 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:10:54,727.727 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:10:56,767.767 INFO    ] ================================================
[2026-08-29 05:10:56,783.783 INFO    ] Launching Daemon at Sat Aug 29 05:10:56 IST 2026
[2026-08-29 05:10:56,794.794 INFO    ] ================================================
[2026-08-29 05:10:57,147.147 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:10:57
[2026-08-29 05:10:57,483.483 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:10:57,634.634 INFO    ] Initializing speech engine...
[2026-08-29 05:10:57,639.639 INFO    ] 2026-08-29 05:10:57
[2026-08-29 05:10:57,849.849 INFO    ] 2026-08-29 05:10:57
[2026-08-29 05:10:57,877.877 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:10:58,005.005 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:10:58,063.063 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:10:58,235.235 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:10:58,267.267 INFO    ] time= 29/08/2026 05:10:58
[2026-08-29 05:10:58,332.332 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:10:58,391.391 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:10:58,468.468 INFO    ] No existing commands found in stream
[2026-08-29 05:11:03,479.479 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:11:03,482.482 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 05:11:06,519.519 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:11:06,521.521 INFO    ] Checking for system updates...
[2026-08-29 05:11:06,541.541 INFO    ] 200
[2026-08-29 05:11:06,543.543 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:11:06,573.573 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:11:06,574.574 INFO    ] No update needed
[2026-08-29 05:11:06,576.576 INFO    ] Checking for camera pi updates...
[2026-08-29 05:11:06,595.595 INFO    ] 200
[2026-08-29 05:11:06,597.597 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:11:06,620.620 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:11:06,699.699 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:11:06,700.700 INFO    ] No camera update needed
[2026-08-29 05:11:06,701.701 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:11:06,703.703 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:11:06,706.706 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:11:06,709.709 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:11:08,748.748 INFO    ] ================================================
[2026-08-29 05:11:08,763.763 INFO    ] Launching Daemon at Sat Aug 29 05:11:08 IST 2026
[2026-08-29 05:11:08,773.773 INFO    ] ================================================
[2026-08-29 05:11:09,120.120 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:11:09
[2026-08-29 05:11:09,441.441 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:11:09,711.711 INFO    ] Initializing speech engine...
[2026-08-29 05:11:09,720.720 INFO    ] 2026-08-29 05:11:09
[2026-08-29 05:11:09,981.981 INFO    ] 2026-08-29 05:11:09
[2026-08-29 05:11:10,033.033 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:11:10,182.182 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:11:10,193.193 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:11:10,335.335 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:11:10,343.343 INFO    ] time= 29/08/2026 05:11:10
[2026-08-29 05:11:10,350.350 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:11:10,370.370 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:11:10,508.508 INFO    ] No existing commands found in stream
[2026-08-29 05:11:15,538.538 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:11:15,541.541 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-08-29 05:11:17,077.077 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:11:17,078.078 INFO    ] Checking for system updates...
[2026-08-29 05:11:17,099.099 INFO    ] 200
[2026-08-29 05:11:17,100.100 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:11:17,135.135 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:11:17,136.136 INFO    ] No update needed
[2026-08-29 05:11:17,138.138 INFO    ] Checking for camera pi updates...
[2026-08-29 05:11:17,157.157 INFO    ] 200
[2026-08-29 05:11:17,158.158 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:11:17,182.182 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:11:17,284.284 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:11:17,285.285 INFO    ] No camera update needed
[2026-08-29 05:11:17,286.286 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:11:17,288.288 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:11:17,291.291 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:11:17,294.294 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:11:19,334.334 INFO    ] ================================================
[2026-08-29 05:11:19,349.349 INFO    ] Launching Daemon at Sat Aug 29 05:11:19 IST 2026
[2026-08-29 05:11:19,360.360 INFO    ] ================================================
[2026-08-29 05:11:19,732.732 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:11:19
[2026-08-29 05:11:20,319.319 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:11:20,597.597 INFO    ] Initializing speech engine...
[2026-08-29 05:11:20,604.604 INFO    ] 2026-08-29 05:11:20
[2026-08-29 05:11:20,848.848 INFO    ] 2026-08-29 05:11:20
[2026-08-29 05:11:20,913.913 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:11:21,060.060 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:11:21,071.071 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:11:21,217.217 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:11:21,225.225 INFO    ] time= 29/08/2026 05:11:21
[2026-08-29 05:11:21,231.231 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:11:21,257.257 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:11:21,379.379 INFO    ] No existing commands found in stream
[2026-08-29 05:11:26,409.409 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:11:26,411.411 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-08-29 05:11:27,551.551 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:11:27,552.552 INFO    ] Checking for system updates...
[2026-08-29 05:11:27,573.573 INFO    ] 200
[2026-08-29 05:11:27,574.574 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:11:27,606.606 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:11:27,608.608 INFO    ] No update needed
[2026-08-29 05:11:27,609.609 INFO    ] Checking for camera pi updates...
[2026-08-29 05:11:27,628.628 INFO    ] 200
[2026-08-29 05:11:27,629.629 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:11:27,652.652 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:11:27,727.727 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:11:27,728.728 INFO    ] No camera update needed
[2026-08-29 05:11:27,730.730 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:11:27,731.731 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:11:27,734.734 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:11:27,737.737 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:11:29,775.775 INFO    ] ================================================
[2026-08-29 05:11:29,790.790 INFO    ] Launching Daemon at Sat Aug 29 05:11:29 IST 2026
[2026-08-29 05:11:29,801.801 INFO    ] ================================================
[2026-08-29 05:11:30,143.143 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:11:30
[2026-08-29 05:11:30,454.454 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:11:30,595.595 INFO    ] Initializing speech engine...
[2026-08-29 05:11:30,605.605 INFO    ] 2026-08-29 05:11:30
[2026-08-29 05:11:30,819.819 INFO    ] 2026-08-29 05:11:30
[2026-08-29 05:11:30,849.849 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:11:30,980.980 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:11:31,038.038 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:11:31,191.191 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:11:31,248.248 INFO    ] time= 29/08/2026 05:11:31
[2026-08-29 05:11:31,291.291 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:11:31,293.293 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:11:31,387.387 INFO    ] No existing commands found in stream
[2026-08-29 05:11:36,413.413 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:11:36,416.416 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-08-29 05:11:37,752.752 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:11:37,753.753 INFO    ] Checking for system updates...
[2026-08-29 05:11:37,775.775 INFO    ] 200
[2026-08-29 05:11:37,777.777 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:11:37,807.807 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:11:37,808.808 INFO    ] No update needed
[2026-08-29 05:11:37,810.810 INFO    ] Checking for camera pi updates...
[2026-08-29 05:11:37,829.829 INFO    ] 200
[2026-08-29 05:11:37,831.831 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:11:37,854.854 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:11:37,938.938 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:11:37,940.940 INFO    ] No camera update needed
[2026-08-29 05:11:37,941.941 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:11:37,942.942 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:11:37,946.946 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:11:37,948.948 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:11:39,988.988 INFO    ] ================================================
[2026-08-29 05:11:40,003.003 INFO    ] Launching Daemon at Sat Aug 29 05:11:39 IST 2026
[2026-08-29 05:11:40,014.014 INFO    ] ================================================
[2026-08-29 05:11:40,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:11:40
[2026-08-29 05:11:40,673.673 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:11:40,810.810 INFO    ] Initializing speech engine...
[2026-08-29 05:11:40,822.822 INFO    ] 2026-08-29 05:11:40
[2026-08-29 05:11:41,018.018 INFO    ] 2026-08-29 05:11:41
[2026-08-29 05:11:41,105.105 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:11:41,270.270 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:11:41,280.280 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:11:41,431.431 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:11:41,442.442 INFO    ] time= 29/08/2026 05:11:41
[2026-08-29 05:11:41,492.492 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:11:41,531.531 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:11:41,607.607 INFO    ] No existing commands found in stream
[2026-08-29 05:11:46,618.618 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:11:46,621.621 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 05:11:48,889.889 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:11:48,891.891 INFO    ] Checking for system updates...
[2026-08-29 05:11:48,913.913 INFO    ] 200
[2026-08-29 05:11:48,914.914 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:11:48,944.944 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:11:48,945.945 INFO    ] No update needed
[2026-08-29 05:11:48,946.946 INFO    ] Checking for camera pi updates...
[2026-08-29 05:11:48,966.966 INFO    ] 200
[2026-08-29 05:11:48,967.967 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:11:48,990.990 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:11:49,067.067 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:11:49,068.068 INFO    ] No camera update needed
[2026-08-29 05:11:49,069.069 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:11:49,071.071 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:11:49,074.074 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:11:49,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:11:51,114.114 INFO    ] ================================================
[2026-08-29 05:11:51,129.129 INFO    ] Launching Daemon at Sat Aug 29 05:11:51 IST 2026
[2026-08-29 05:11:51,139.139 INFO    ] ================================================
[2026-08-29 05:11:51,493.493 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:11:51
[2026-08-29 05:11:51,836.836 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:11:52,111.111 INFO    ] Initializing speech engine...
[2026-08-29 05:11:52,120.120 INFO    ] 2026-08-29 05:11:52
[2026-08-29 05:11:52,385.385 INFO    ] 2026-08-29 05:11:52
[2026-08-29 05:11:52,440.440 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:11:52,661.661 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:11:52,670.670 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:11:52,802.802 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:11:52,850.850 INFO    ] time= 29/08/2026 05:11:52
[2026-08-29 05:11:52,899.899 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:11:52,935.935 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:11:52,990.990 INFO    ] No existing commands found in stream
[2026-08-29 05:11:58,002.002 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:11:58,005.005 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-08-29 05:11:59,899.899 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:11:59,900.900 INFO    ] Checking for system updates...
[2026-08-29 05:11:59,921.921 INFO    ] 200
[2026-08-29 05:11:59,922.922 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:11:59,954.954 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:11:59,955.955 INFO    ] No update needed
[2026-08-29 05:11:59,957.957 INFO    ] Checking for camera pi updates...
[2026-08-29 05:11:59,976.976 INFO    ] 200
[2026-08-29 05:11:59,977.977 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:12:00,001.001 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:12:00,098.098 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:12:00,099.099 INFO    ] No camera update needed
[2026-08-29 05:12:00,100.100 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:12:00,102.102 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:12:00,105.105 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:12:00,108.108 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:12:02,159.159 INFO    ] ================================================
[2026-08-29 05:12:02,179.179 INFO    ] Launching Daemon at Sat Aug 29 05:12:02 IST 2026
[2026-08-29 05:12:02,195.195 INFO    ] ================================================
[2026-08-29 05:12:02,905.905 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:12:02
[2026-08-29 05:12:03,580.580 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:12:03,887.887 INFO    ] Initializing speech engine...
[2026-08-29 05:12:03,894.894 INFO    ] 2026-08-29 05:12:03
[2026-08-29 05:12:04,169.169 INFO    ] 2026-08-29 05:12:04
[2026-08-29 05:12:04,231.231 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:12:04,460.460 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:12:04,470.470 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:12:04,602.602 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:12:04,619.619 INFO    ] time= 29/08/2026 05:12:04
[2026-08-29 05:12:04,629.629 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:12:04,633.633 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:12:04,760.760 INFO    ] No existing commands found in stream
[2026-08-29 05:12:09,791.791 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:12:09,794.794 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-08-29 05:12:11,500.500 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:12:11,502.502 INFO    ] Checking for system updates...
[2026-08-29 05:12:11,523.523 INFO    ] 200
[2026-08-29 05:12:11,524.524 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:12:11,554.554 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:12:11,556.556 INFO    ] No update needed
[2026-08-29 05:12:11,557.557 INFO    ] Checking for camera pi updates...
[2026-08-29 05:12:11,577.577 INFO    ] 200
[2026-08-29 05:12:11,578.578 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:12:11,602.602 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:12:11,693.693 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:12:11,695.695 INFO    ] No camera update needed
[2026-08-29 05:12:11,696.696 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:12:11,697.697 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:12:11,701.701 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:12:11,704.704 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:12:13,742.742 INFO    ] ================================================
[2026-08-29 05:12:13,758.758 INFO    ] Launching Daemon at Sat Aug 29 05:12:13 IST 2026
[2026-08-29 05:12:13,769.769 INFO    ] ================================================
[2026-08-29 05:12:14,128.128 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:12:14
[2026-08-29 05:12:14,466.466 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:12:14,623.623 INFO    ] Initializing speech engine...
[2026-08-29 05:12:14,633.633 INFO    ] 2026-08-29 05:12:14
[2026-08-29 05:12:14,866.866 INFO    ] 2026-08-29 05:12:14
[2026-08-29 05:12:14,921.921 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:12:15,143.143 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:12:15,153.153 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:12:15,289.289 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:12:15,355.355 INFO    ] time= 29/08/2026 05:12:15
[2026-08-29 05:12:15,415.415 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:12:15,436.436 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:12:15,546.546 INFO    ] No existing commands found in stream
[2026-08-29 05:12:20,577.577 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:12:20,580.580 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-08-29 05:12:24,178.178 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:12:24,179.179 INFO    ] Checking for system updates...
[2026-08-29 05:12:24,200.200 INFO    ] 200
[2026-08-29 05:12:24,201.201 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:12:24,232.232 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:12:24,234.234 INFO    ] No update needed
[2026-08-29 05:12:24,235.235 INFO    ] Checking for camera pi updates...
[2026-08-29 05:12:24,255.255 INFO    ] 200
[2026-08-29 05:12:24,256.256 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:12:24,280.280 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:12:24,389.389 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:12:24,391.391 INFO    ] No camera update needed
[2026-08-29 05:12:24,394.394 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:12:24,397.397 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:12:24,403.403 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:12:24,409.409 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:12:26,450.450 INFO    ] ================================================
[2026-08-29 05:12:26,465.465 INFO    ] Launching Daemon at Sat Aug 29 05:12:26 IST 2026
[2026-08-29 05:12:26,476.476 INFO    ] ================================================
[2026-08-29 05:12:27,059.059 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:12:27
[2026-08-29 05:12:27,532.532 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:12:27,670.670 INFO    ] Initializing speech engine...
[2026-08-29 05:12:27,680.680 INFO    ] 2026-08-29 05:12:27
[2026-08-29 05:12:27,898.898 INFO    ] 2026-08-29 05:12:27
[2026-08-29 05:12:27,971.971 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:12:28,165.165 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:12:28,175.175 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:12:28,328.328 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:12:28,335.335 INFO    ] time= 29/08/2026 05:12:28
[2026-08-29 05:12:28,395.395 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:12:28,444.444 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:12:28,520.520 INFO    ] No existing commands found in stream
[2026-08-29 05:12:33,545.545 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:12:33,548.548 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-08-29 05:12:37,734.734 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:12:37,736.736 INFO    ] Checking for system updates...
[2026-08-29 05:12:37,772.772 INFO    ] 200
[2026-08-29 05:12:37,775.775 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:12:37,808.808 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:12:37,809.809 INFO    ] No update needed
[2026-08-29 05:12:37,810.810 INFO    ] Checking for camera pi updates...
[2026-08-29 05:12:37,830.830 INFO    ] 200
[2026-08-29 05:12:37,832.832 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:12:37,855.855 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:12:38,033.033 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:12:38,035.035 INFO    ] No camera update needed
[2026-08-29 05:12:38,036.036 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:12:38,037.037 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:12:38,040.040 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:12:38,043.043 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:12:40,082.082 INFO    ] ================================================
[2026-08-29 05:12:40,097.097 INFO    ] Launching Daemon at Sat Aug 29 05:12:40 IST 2026
[2026-08-29 05:12:40,108.108 INFO    ] ================================================
[2026-08-29 05:12:40,485.485 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:12:40
[2026-08-29 05:12:40,822.822 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:12:40,975.975 INFO    ] Initializing speech engine...
[2026-08-29 05:12:40,979.979 INFO    ] 2026-08-29 05:12:40
[2026-08-29 05:12:41,192.192 INFO    ] 2026-08-29 05:12:41
[2026-08-29 05:12:41,274.274 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:12:41,429.429 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:12:41,451.451 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:12:41,584.584 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:12:41,654.654 INFO    ] time= 29/08/2026 05:12:41
[2026-08-29 05:12:41,697.697 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:12:41,714.714 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:12:41,823.823 INFO    ] No existing commands found in stream
[2026-08-29 05:12:46,849.849 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:12:46,852.852 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-08-29 05:12:47,380.380 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:12:47,382.382 INFO    ] Checking for system updates...
[2026-08-29 05:12:47,403.403 INFO    ] 200
[2026-08-29 05:12:47,404.404 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:12:47,434.434 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:12:47,435.435 INFO    ] No update needed
[2026-08-29 05:12:47,437.437 INFO    ] Checking for camera pi updates...
[2026-08-29 05:12:47,456.456 INFO    ] 200
[2026-08-29 05:12:47,457.457 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:12:47,481.481 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:12:47,577.577 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:12:47,578.578 INFO    ] No camera update needed
[2026-08-29 05:12:47,579.579 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:12:47,581.581 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:12:47,584.584 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:12:47,587.587 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:12:49,627.627 INFO    ] ================================================
[2026-08-29 05:12:49,642.642 INFO    ] Launching Daemon at Sat Aug 29 05:12:49 IST 2026
[2026-08-29 05:12:49,653.653 INFO    ] ================================================
[2026-08-29 05:12:50,011.011 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:12:50
[2026-08-29 05:12:50,323.323 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:12:50,465.465 INFO    ] Initializing speech engine...
[2026-08-29 05:12:50,470.470 INFO    ] 2026-08-29 05:12:50
[2026-08-29 05:12:50,674.674 INFO    ] 2026-08-29 05:12:50
[2026-08-29 05:12:50,702.702 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:12:50,860.860 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:12:50,882.882 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:12:51,015.015 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:12:51,042.042 INFO    ] time= 29/08/2026 05:12:51
[2026-08-29 05:12:51,049.049 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:12:51,057.057 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:12:51,119.119 INFO    ] No existing commands found in stream
[2026-08-29 05:12:56,129.129 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:12:56,132.132 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-08-29 05:12:59,966.966 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:12:59,967.967 INFO    ] Checking for system updates...
[2026-08-29 05:12:59,989.989 INFO    ] 200
[2026-08-29 05:12:59,991.991 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:13:00,023.023 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:13:00,024.024 INFO    ] No update needed
[2026-08-29 05:13:00,025.025 INFO    ] Checking for camera pi updates...
[2026-08-29 05:13:00,045.045 INFO    ] 200
[2026-08-29 05:13:00,046.046 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:13:00,069.069 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:13:00,151.151 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:13:00,153.153 INFO    ] No camera update needed
[2026-08-29 05:13:00,154.154 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:13:00,155.155 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:13:00,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:13:00,161.161 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:13:02,204.204 INFO    ] ================================================
[2026-08-29 05:13:02,229.229 INFO    ] Launching Daemon at Sat Aug 29 05:13:02 IST 2026
[2026-08-29 05:13:02,251.251 INFO    ] ================================================
[2026-08-29 05:13:02,892.892 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:13:02
[2026-08-29 05:13:03,551.551 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:13:03,855.855 INFO    ] Initializing speech engine...
[2026-08-29 05:13:03,866.866 INFO    ] 2026-08-29 05:13:03
[2026-08-29 05:13:04,132.132 INFO    ] 2026-08-29 05:13:04
[2026-08-29 05:13:04,186.186 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:13:04,331.331 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:13:04,343.343 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:13:04,493.493 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:13:04,501.501 INFO    ] time= 29/08/2026 05:13:04
[2026-08-29 05:13:04,507.507 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:13:04,538.538 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:13:04,665.665 INFO    ] No existing commands found in stream
[2026-08-29 05:13:09,695.695 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:13:09,698.698 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-08-29 05:13:13,771.771 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:13:13,773.773 INFO    ] Checking for system updates...
[2026-08-29 05:13:13,794.794 INFO    ] 200
[2026-08-29 05:13:13,796.796 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:13:13,828.828 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:13:13,829.829 INFO    ] No update needed
[2026-08-29 05:13:13,831.831 INFO    ] Checking for camera pi updates...
[2026-08-29 05:13:13,850.850 INFO    ] 200
[2026-08-29 05:13:13,852.852 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:13:13,876.876 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:13:13,976.976 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:13:13,977.977 INFO    ] No camera update needed
[2026-08-29 05:13:13,979.979 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:13:13,980.980 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:13:13,983.983 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:13:13,986.986 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:13:16,027.027 INFO    ] ================================================
[2026-08-29 05:13:16,043.043 INFO    ] Launching Daemon at Sat Aug 29 05:13:16 IST 2026
[2026-08-29 05:13:16,053.053 INFO    ] ================================================
[2026-08-29 05:13:16,426.426 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:13:16
[2026-08-29 05:13:16,755.755 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:13:16,899.899 INFO    ] Initializing speech engine...
[2026-08-29 05:13:16,910.910 INFO    ] 2026-08-29 05:13:16
[2026-08-29 05:13:17,118.118 INFO    ] 2026-08-29 05:13:17
[2026-08-29 05:13:17,146.146 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:13:17,271.271 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:13:17,309.309 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:13:17,467.467 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:13:17,524.524 INFO    ] time= 29/08/2026 05:13:17
[2026-08-29 05:13:17,567.567 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:13:17,574.574 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:13:17,642.642 INFO    ] No existing commands found in stream
[2026-08-29 05:13:22,653.653 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:13:22,656.656 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 05:13:25,721.721 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:13:25,724.724 INFO    ] Checking for system updates...
[2026-08-29 05:13:25,760.760 INFO    ] 200
[2026-08-29 05:13:25,763.763 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:13:25,816.816 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:13:25,819.819 INFO    ] No update needed
[2026-08-29 05:13:25,821.821 INFO    ] Checking for camera pi updates...
[2026-08-29 05:13:25,856.856 INFO    ] 200
[2026-08-29 05:13:25,859.859 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:13:25,900.900 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:13:26,020.020 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:13:26,023.023 INFO    ] No camera update needed
[2026-08-29 05:13:26,026.026 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:13:26,028.028 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:13:26,034.034 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:13:26,040.040 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:13:28,082.082 INFO    ] ================================================
[2026-08-29 05:13:28,097.097 INFO    ] Launching Daemon at Sat Aug 29 05:13:28 IST 2026
[2026-08-29 05:13:28,108.108 INFO    ] ================================================
[2026-08-29 05:13:28,463.463 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:13:28
[2026-08-29 05:13:28,774.774 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:13:28,907.907 INFO    ] Initializing speech engine...
[2026-08-29 05:13:28,911.911 INFO    ] 2026-08-29 05:13:28
[2026-08-29 05:13:29,137.137 INFO    ] 2026-08-29 05:13:29
[2026-08-29 05:13:29,167.167 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:13:29,299.299 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:13:29,346.346 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:13:29,508.508 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:13:29,561.561 INFO    ] time= 29/08/2026 05:13:29
[2026-08-29 05:13:29,600.600 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:13:29,611.611 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:13:29,686.686 INFO    ] No existing commands found in stream
[2026-08-29 05:13:34,697.697 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:13:34,700.700 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-08-29 05:13:38,598.598 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:13:38,599.599 INFO    ] Checking for system updates...
[2026-08-29 05:13:38,620.620 INFO    ] 200
[2026-08-29 05:13:38,621.621 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:13:38,652.652 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:13:38,654.654 INFO    ] No update needed
[2026-08-29 05:13:38,655.655 INFO    ] Checking for camera pi updates...
[2026-08-29 05:13:38,676.676 INFO    ] 200
[2026-08-29 05:13:38,678.678 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:13:38,701.701 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:13:38,776.776 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:13:38,777.777 INFO    ] No camera update needed
[2026-08-29 05:13:38,779.779 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:13:38,780.780 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:13:38,783.783 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:13:38,786.786 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:13:40,824.824 INFO    ] ================================================
[2026-08-29 05:13:40,840.840 INFO    ] Launching Daemon at Sat Aug 29 05:13:40 IST 2026
[2026-08-29 05:13:40,852.852 INFO    ] ================================================
[2026-08-29 05:13:41,345.345 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:13:41
[2026-08-29 05:13:41,944.944 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:13:42,222.222 INFO    ] Initializing speech engine...
[2026-08-29 05:13:42,231.231 INFO    ] 2026-08-29 05:13:42
[2026-08-29 05:13:42,487.487 INFO    ] 2026-08-29 05:13:42
[2026-08-29 05:13:42,521.521 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:13:42,686.686 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:13:42,699.699 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:13:42,841.841 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:13:42,850.850 INFO    ] time= 29/08/2026 05:13:42
[2026-08-29 05:13:42,856.856 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:13:42,902.902 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:13:43,017.017 INFO    ] No existing commands found in stream
[2026-08-29 05:13:48,047.047 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:13:48,050.050 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 05:13:51,449.449 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:13:51,451.451 INFO    ] Checking for system updates...
[2026-08-29 05:13:51,472.472 INFO    ] 200
[2026-08-29 05:13:51,473.473 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:13:51,504.504 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:13:51,505.505 INFO    ] No update needed
[2026-08-29 05:13:51,507.507 INFO    ] Checking for camera pi updates...
[2026-08-29 05:13:51,526.526 INFO    ] 200
[2026-08-29 05:13:51,527.527 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:13:51,550.550 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:13:51,643.643 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:13:51,644.644 INFO    ] No camera update needed
[2026-08-29 05:13:51,646.646 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:13:51,647.647 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:13:51,650.650 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:13:51,653.653 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:13:53,695.695 INFO    ] ================================================
[2026-08-29 05:13:53,710.710 INFO    ] Launching Daemon at Sat Aug 29 05:13:53 IST 2026
[2026-08-29 05:13:53,722.722 INFO    ] ================================================
[2026-08-29 05:13:54,059.059 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:13:54
[2026-08-29 05:13:54,372.372 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:13:54,510.510 INFO    ] Initializing speech engine...
[2026-08-29 05:13:54,520.520 INFO    ] 2026-08-29 05:13:54
[2026-08-29 05:13:54,726.726 INFO    ] 2026-08-29 05:13:54
[2026-08-29 05:13:54,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:13:54,939.939 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:13:54,943.943 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:13:55,088.088 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:13:55,147.147 INFO    ] time= 29/08/2026 05:13:55
[2026-08-29 05:13:55,186.186 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:13:55,228.228 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:13:55,345.345 INFO    ] No existing commands found in stream
[2026-08-29 05:14:00,375.375 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:14:00,377.377 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-08-29 05:14:02,947.947 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:14:02,950.950 INFO    ] Checking for system updates...
[2026-08-29 05:14:02,990.990 INFO    ] 200
[2026-08-29 05:14:02,994.994 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:14:03,054.054 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:14:03,057.057 INFO    ] No update needed
[2026-08-29 05:14:03,060.060 INFO    ] Checking for camera pi updates...
[2026-08-29 05:14:03,104.104 INFO    ] 200
[2026-08-29 05:14:03,108.108 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:14:03,166.166 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:14:03,279.279 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:14:03,283.283 INFO    ] No camera update needed
[2026-08-29 05:14:03,286.286 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:14:03,290.290 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:14:03,298.298 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:14:03,306.306 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:14:05,351.351 INFO    ] ================================================
[2026-08-29 05:14:05,367.367 INFO    ] Launching Daemon at Sat Aug 29 05:14:05 IST 2026
[2026-08-29 05:14:05,378.378 INFO    ] ================================================
[2026-08-29 05:14:05,743.743 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:14:05
[2026-08-29 05:14:06,056.056 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:14:06,188.188 INFO    ] Initializing speech engine...
[2026-08-29 05:14:06,200.200 INFO    ] 2026-08-29 05:14:06
[2026-08-29 05:14:06,406.406 INFO    ] 2026-08-29 05:14:06
[2026-08-29 05:14:06,447.447 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:14:06,610.610 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:14:06,618.618 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:14:06,736.736 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:14:06,801.801 INFO    ] time= 29/08/2026 05:14:06
[2026-08-29 05:14:06,843.843 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:14:06,849.849 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:14:06,973.973 INFO    ] No existing commands found in stream
[2026-08-29 05:14:11,998.998 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:14:12,001.001 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-08-29 05:14:12,963.963 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:14:12,965.965 INFO    ] Checking for system updates...
[2026-08-29 05:14:12,985.985 INFO    ] 200
[2026-08-29 05:14:12,987.987 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:14:13,018.018 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:14:13,019.019 INFO    ] No update needed
[2026-08-29 05:14:13,021.021 INFO    ] Checking for camera pi updates...
[2026-08-29 05:14:13,040.040 INFO    ] 200
[2026-08-29 05:14:13,041.041 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:14:13,065.065 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:14:13,162.162 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:14:13,164.164 INFO    ] No camera update needed
[2026-08-29 05:14:13,165.165 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:14:13,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:14:13,169.169 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:14:13,172.172 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:14:15,203.203 INFO    ] ================================================
[2026-08-29 05:14:15,211.211 INFO    ] Launching Daemon at Sat Aug 29 05:14:15 IST 2026
[2026-08-29 05:14:15,218.218 INFO    ] ================================================
[2026-08-29 05:14:15,733.733 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:14:15
[2026-08-29 05:14:16,333.333 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:14:16,591.591 INFO    ] Initializing speech engine...
[2026-08-29 05:14:16,597.597 INFO    ] 2026-08-29 05:14:16
[2026-08-29 05:14:16,893.893 INFO    ] 2026-08-29 05:14:16
[2026-08-29 05:14:16,930.930 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:14:17,127.127 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:14:17,144.144 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:14:17,286.286 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:14:17,308.308 INFO    ] time= 29/08/2026 05:14:17
[2026-08-29 05:14:17,318.318 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:14:17,324.324 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:14:17,396.396 INFO    ] No existing commands found in stream
[2026-08-29 05:14:22,414.414 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:14:22,417.417 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 05:14:25,969.969 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:14:25,971.971 INFO    ] Checking for system updates...
[2026-08-29 05:14:25,991.991 INFO    ] 200
[2026-08-29 05:14:25,993.993 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:14:26,023.023 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:14:26,024.024 INFO    ] No update needed
[2026-08-29 05:14:26,026.026 INFO    ] Checking for camera pi updates...
[2026-08-29 05:14:26,045.045 INFO    ] 200
[2026-08-29 05:14:26,046.046 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:14:26,070.070 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:14:26,150.150 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:14:26,151.151 INFO    ] No camera update needed
[2026-08-29 05:14:26,153.153 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:14:26,154.154 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:14:26,157.157 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:14:26,160.160 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:14:28,202.202 INFO    ] ================================================
[2026-08-29 05:14:28,217.217 INFO    ] Launching Daemon at Sat Aug 29 05:14:28 IST 2026
[2026-08-29 05:14:28,228.228 INFO    ] ================================================
[2026-08-29 05:14:28,588.588 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:14:28
[2026-08-29 05:14:28,924.924 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:14:29,074.074 INFO    ] Initializing speech engine...
[2026-08-29 05:14:29,080.080 INFO    ] 2026-08-29 05:14:29
[2026-08-29 05:14:29,290.290 INFO    ] 2026-08-29 05:14:29
[2026-08-29 05:14:29,318.318 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:14:29,449.449 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:14:29,508.508 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:14:29,649.649 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:14:29,717.717 INFO    ] time= 29/08/2026 05:14:29
[2026-08-29 05:14:29,743.743 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:14:29,750.750 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:14:29,818.818 INFO    ] No existing commands found in stream
[2026-08-29 05:14:34,827.827 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:14:34,830.830 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-08-29 05:14:37,565.565 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:14:37,566.566 INFO    ] Checking for system updates...
[2026-08-29 05:14:37,587.587 INFO    ] 200
[2026-08-29 05:14:37,588.588 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:14:37,620.620 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:14:37,622.622 INFO    ] No update needed
[2026-08-29 05:14:37,623.623 INFO    ] Checking for camera pi updates...
[2026-08-29 05:14:37,645.645 INFO    ] 200
[2026-08-29 05:14:37,647.647 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:14:37,670.670 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:14:37,760.760 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:14:37,761.761 INFO    ] No camera update needed
[2026-08-29 05:14:37,763.763 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:14:37,764.764 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:14:37,767.767 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:14:37,770.770 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:14:39,810.810 INFO    ] ================================================
[2026-08-29 05:14:39,826.826 INFO    ] Launching Daemon at Sat Aug 29 05:14:39 IST 2026
[2026-08-29 05:14:39,837.837 INFO    ] ================================================
[2026-08-29 05:14:40,166.166 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:14:40
[2026-08-29 05:14:40,741.741 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:14:41,000.000 INFO    ] Initializing speech engine...
[2026-08-29 05:14:41,007.007 INFO    ] 2026-08-29 05:14:41
[2026-08-29 05:14:41,298.298 INFO    ] 2026-08-29 05:14:41
[2026-08-29 05:14:41,334.334 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:14:41,483.483 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:14:41,495.495 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:14:41,637.637 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:14:41,646.646 INFO    ] time= 29/08/2026 05:14:41
[2026-08-29 05:14:41,652.652 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:14:41,675.675 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:14:41,727.727 INFO    ] No existing commands found in stream
[2026-08-29 05:14:46,739.739 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:14:46,742.742 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-08-29 05:14:47,601.601 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:14:47,603.603 INFO    ] Checking for system updates...
[2026-08-29 05:14:47,625.625 INFO    ] 200
[2026-08-29 05:14:47,626.626 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:14:47,658.658 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:14:47,660.660 INFO    ] No update needed
[2026-08-29 05:14:47,661.661 INFO    ] Checking for camera pi updates...
[2026-08-29 05:14:47,681.681 INFO    ] 200
[2026-08-29 05:14:47,682.682 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:14:47,705.705 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:14:47,909.909 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:14:47,910.910 INFO    ] No camera update needed
[2026-08-29 05:14:47,911.911 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:14:47,913.913 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:14:47,916.916 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:14:47,919.919 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:14:49,958.958 INFO    ] ================================================
[2026-08-29 05:14:49,974.974 INFO    ] Launching Daemon at Sat Aug 29 05:14:49 IST 2026
[2026-08-29 05:14:49,985.985 INFO    ] ================================================
[2026-08-29 05:14:50,388.388 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:14:50
[2026-08-29 05:14:51,051.051 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:14:51,351.351 INFO    ] Initializing speech engine...
[2026-08-29 05:14:51,358.358 INFO    ] 2026-08-29 05:14:51
[2026-08-29 05:14:51,633.633 INFO    ] 2026-08-29 05:14:51
[2026-08-29 05:14:51,690.690 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:14:51,863.863 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:14:51,891.891 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:14:52,039.039 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:14:52,073.073 INFO    ] time= 29/08/2026 05:14:52
[2026-08-29 05:14:52,121.121 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:14:52,170.170 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:14:52,261.261 INFO    ] No existing commands found in stream
[2026-08-29 05:14:57,275.275 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:14:57,278.278 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-08-29 05:14:58,680.680 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:14:58,681.681 INFO    ] Checking for system updates...
[2026-08-29 05:14:58,702.702 INFO    ] 200
[2026-08-29 05:14:58,704.704 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:14:58,734.734 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:14:58,735.735 INFO    ] No update needed
[2026-08-29 05:14:58,737.737 INFO    ] Checking for camera pi updates...
[2026-08-29 05:14:58,756.756 INFO    ] 200
[2026-08-29 05:14:58,757.757 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:14:58,780.780 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:14:58,858.858 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:14:58,860.860 INFO    ] No camera update needed
[2026-08-29 05:14:58,861.861 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:14:58,862.862 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:14:58,866.866 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:14:58,868.868 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:15:00,908.908 INFO    ] ================================================
[2026-08-29 05:15:00,924.924 INFO    ] Launching Daemon at Sat Aug 29 05:15:00 IST 2026
[2026-08-29 05:15:00,935.935 INFO    ] ================================================
[2026-08-29 05:15:01,282.282 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:15:01
[2026-08-29 05:15:01,599.599 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:15:01,749.749 INFO    ] Initializing speech engine...
[2026-08-29 05:15:01,754.754 INFO    ] 2026-08-29 05:15:01
[2026-08-29 05:15:02,649.649 INFO    ] 2026-08-29 05:15:02
[2026-08-29 05:15:02,712.712 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:15:02,899.899 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:15:02,960.960 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:15:03,084.084 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:15:03,144.144 INFO    ] time= 29/08/2026 05:15:03
[2026-08-29 05:15:03,171.171 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:15:03,242.242 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:15:03,315.315 INFO    ] No existing commands found in stream
[2026-08-29 05:15:08,343.343 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:15:08,345.345 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 05:15:10,716.716 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:15:10,718.718 INFO    ] Checking for system updates...
[2026-08-29 05:15:10,738.738 INFO    ] 200
[2026-08-29 05:15:10,739.739 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:15:10,773.773 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:15:10,774.774 INFO    ] No update needed
[2026-08-29 05:15:10,775.775 INFO    ] Checking for camera pi updates...
[2026-08-29 05:15:10,795.795 INFO    ] 200
[2026-08-29 05:15:10,797.797 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:15:10,819.819 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:15:10,894.894 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:15:10,895.895 INFO    ] No camera update needed
[2026-08-29 05:15:10,897.897 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:15:10,898.898 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:15:10,901.901 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:15:10,903.903 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:15:12,944.944 INFO    ] ================================================
[2026-08-29 05:15:12,960.960 INFO    ] Launching Daemon at Sat Aug 29 05:15:12 IST 2026
[2026-08-29 05:15:12,971.971 INFO    ] ================================================
[2026-08-29 05:15:13,324.324 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:15:13
[2026-08-29 05:15:13,635.635 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:15:13,772.772 INFO    ] Initializing speech engine...
[2026-08-29 05:15:13,780.780 INFO    ] 2026-08-29 05:15:13
[2026-08-29 05:15:13,989.989 INFO    ] 2026-08-29 05:15:13
[2026-08-29 05:15:14,018.018 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:15:14,141.141 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:15:14,204.204 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:15:14,338.338 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:15:14,399.399 INFO    ] time= 29/08/2026 05:15:14
[2026-08-29 05:15:14,434.434 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:15:14,439.439 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:15:14,511.511 INFO    ] No existing commands found in stream
[2026-08-29 05:15:19,522.522 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:15:19,525.525 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-08-29 05:15:23,320.320 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:15:23,323.323 INFO    ] Checking for system updates...
[2026-08-29 05:15:23,385.385 INFO    ] 200
[2026-08-29 05:15:23,387.387 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:15:23,443.443 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:15:23,445.445 INFO    ] No update needed
[2026-08-29 05:15:23,448.448 INFO    ] Checking for camera pi updates...
[2026-08-29 05:15:23,484.484 INFO    ] 200
[2026-08-29 05:15:23,486.486 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:15:23,526.526 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:15:23,614.614 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:15:23,616.616 INFO    ] No camera update needed
[2026-08-29 05:15:23,618.618 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:15:23,621.621 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:15:23,627.627 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:15:23,633.633 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:15:25,673.673 INFO    ] ================================================
[2026-08-29 05:15:25,689.689 INFO    ] Launching Daemon at Sat Aug 29 05:15:25 IST 2026
[2026-08-29 05:15:25,700.700 INFO    ] ================================================
[2026-08-29 05:15:26,138.138 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:15:26
[2026-08-29 05:15:26,494.494 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:15:26,743.743 INFO    ] Initializing speech engine...
[2026-08-29 05:15:26,757.757 INFO    ] 2026-08-29 05:15:26
[2026-08-29 05:15:27,024.024 INFO    ] 2026-08-29 05:15:27
[2026-08-29 05:15:27,059.059 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:15:27,248.248 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:15:27,263.263 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:15:27,402.402 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:15:27,424.424 INFO    ] time= 29/08/2026 05:15:27
[2026-08-29 05:15:27,431.431 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:15:27,436.436 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:15:27,495.495 INFO    ] No existing commands found in stream
[2026-08-29 05:15:32,510.510 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:15:32,513.513 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-08-29 05:15:35,624.624 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:15:35,625.625 INFO    ] Checking for system updates...
[2026-08-29 05:15:35,648.648 INFO    ] 200
[2026-08-29 05:15:35,650.650 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:15:35,715.715 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:15:35,717.717 INFO    ] No update needed
[2026-08-29 05:15:35,720.720 INFO    ] Checking for camera pi updates...
[2026-08-29 05:15:35,769.769 INFO    ] 200
[2026-08-29 05:15:35,773.773 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:15:35,816.816 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:15:35,911.911 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:15:35,914.914 INFO    ] No camera update needed
[2026-08-29 05:15:35,916.916 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:15:35,918.918 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:15:35,924.924 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:15:35,928.928 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:15:37,968.968 INFO    ] ================================================
[2026-08-29 05:15:37,984.984 INFO    ] Launching Daemon at Sat Aug 29 05:15:37 IST 2026
[2026-08-29 05:15:38,995.995 INFO    ] ================================================
[2026-08-29 05:15:38,580.580 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:15:38
[2026-08-29 05:15:38,908.908 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:15:39,096.096 INFO    ] Initializing speech engine...
[2026-08-29 05:15:39,107.107 INFO    ] 2026-08-29 05:15:39
[2026-08-29 05:15:39,355.355 INFO    ] 2026-08-29 05:15:39
[2026-08-29 05:15:39,390.390 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:15:39,562.562 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:15:39,575.575 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:15:39,716.716 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:15:39,724.724 INFO    ] time= 29/08/2026 05:15:39
[2026-08-29 05:15:39,730.730 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:15:39,778.778 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:15:39,912.912 INFO    ] No existing commands found in stream
[2026-08-29 05:15:44,932.932 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:15:44,935.935 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-08-29 05:15:46,774.774 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:15:46,775.775 INFO    ] Checking for system updates...
[2026-08-29 05:15:46,797.797 INFO    ] 200
[2026-08-29 05:15:46,799.799 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:15:46,828.828 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:15:46,829.829 INFO    ] No update needed
[2026-08-29 05:15:46,831.831 INFO    ] Checking for camera pi updates...
[2026-08-29 05:15:46,851.851 INFO    ] 200
[2026-08-29 05:15:46,852.852 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:15:46,877.877 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:15:46,971.971 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:15:46,973.973 INFO    ] No camera update needed
[2026-08-29 05:15:46,974.974 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:15:46,975.975 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:15:46,978.978 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:15:46,981.981 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:15:49,020.020 INFO    ] ================================================
[2026-08-29 05:15:49,036.036 INFO    ] Launching Daemon at Sat Aug 29 05:15:49 IST 2026
[2026-08-29 05:15:49,047.047 INFO    ] ================================================
[2026-08-29 05:15:49,525.525 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:15:49
[2026-08-29 05:15:50,109.109 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:15:50,378.378 INFO    ] Initializing speech engine...
[2026-08-29 05:15:50,387.387 INFO    ] 2026-08-29 05:15:50
[2026-08-29 05:15:50,635.635 INFO    ] 2026-08-29 05:15:50
[2026-08-29 05:15:50,670.670 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:15:50,847.847 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:15:50,860.860 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:15:50,983.983 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:15:50,990.990 INFO    ] time= 29/08/2026 05:15:50
[2026-08-29 05:15:51,010.010 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:15:51,032.032 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:15:51,115.115 INFO    ] No existing commands found in stream
[2026-08-29 05:15:56,127.127 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:15:56,129.129 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-08-29 05:15:59,366.366 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:15:59,369.369 INFO    ] Checking for system updates...
[2026-08-29 05:15:59,406.406 INFO    ] 200
[2026-08-29 05:15:59,408.408 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:15:59,471.471 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:15:59,474.474 INFO    ] No update needed
[2026-08-29 05:15:59,477.477 INFO    ] Checking for camera pi updates...
[2026-08-29 05:15:59,511.511 INFO    ] 200
[2026-08-29 05:15:59,514.514 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:15:59,559.559 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:15:59,654.654 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:15:59,657.657 INFO    ] No camera update needed
[2026-08-29 05:15:59,659.659 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:15:59,662.662 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:15:59,667.667 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:15:59,672.672 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:16:01,714.714 INFO    ] ================================================
[2026-08-29 05:16:01,737.737 INFO    ] Launching Daemon at Sat Aug 29 05:16:01 IST 2026
[2026-08-29 05:16:01,754.754 INFO    ] ================================================
[2026-08-29 05:16:02,391.391 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:16:02
[2026-08-29 05:16:03,044.044 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:16:03,307.307 INFO    ] Initializing speech engine...
[2026-08-29 05:16:03,325.325 INFO    ] 2026-08-29 05:16:03
[2026-08-29 05:16:03,578.578 INFO    ] 2026-08-29 05:16:03
[2026-08-29 05:16:03,614.614 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:16:03,789.789 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:16:03,801.801 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:16:03,946.946 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:16:03,955.955 INFO    ] time= 29/08/2026 05:16:03
[2026-08-29 05:16:03,962.962 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:16:03,989.989 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:16:04,116.116 INFO    ] No existing commands found in stream
[2026-08-29 05:16:09,147.147 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:16:09,149.149 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-08-29 05:16:14,597.597 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:16:14,599.599 INFO    ] Checking for system updates...
[2026-08-29 05:16:14,620.620 INFO    ] 200
[2026-08-29 05:16:14,621.621 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:16:14,653.653 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:16:14,655.655 INFO    ] No update needed
[2026-08-29 05:16:14,656.656 INFO    ] Checking for camera pi updates...
[2026-08-29 05:16:14,676.676 INFO    ] 200
[2026-08-29 05:16:14,677.677 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:16:14,701.701 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:16:14,795.795 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:16:14,797.797 INFO    ] No camera update needed
[2026-08-29 05:16:14,798.798 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:16:14,799.799 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:16:14,802.802 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:16:14,805.805 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:16:16,844.844 INFO    ] ================================================
[2026-08-29 05:16:16,860.860 INFO    ] Launching Daemon at Sat Aug 29 05:16:16 IST 2026
[2026-08-29 05:16:16,870.870 INFO    ] ================================================
[2026-08-29 05:16:17,232.232 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:16:17
[2026-08-29 05:16:17,544.544 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:16:17,677.677 INFO    ] Initializing speech engine...
[2026-08-29 05:16:17,682.682 INFO    ] 2026-08-29 05:16:17
[2026-08-29 05:16:17,909.909 INFO    ] 2026-08-29 05:16:17
[2026-08-29 05:16:17,940.940 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:16:18,070.070 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:16:18,084.084 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:16:18,230.230 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:16:18,282.282 INFO    ] time= 29/08/2026 05:16:18
[2026-08-29 05:16:18,309.309 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:16:18,366.366 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:16:18,463.463 INFO    ] No existing commands found in stream
[2026-08-29 05:16:23,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:16:23,477.477 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-08-29 05:16:25,155.155 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:16:25,158.158 INFO    ] Checking for system updates...
[2026-08-29 05:16:25,194.194 INFO    ] 200
[2026-08-29 05:16:25,196.196 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 05:16:25,199.199 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-08-29 05:16:25,201.201 INFO    ] Checking for camera pi updates...
[2026-08-29 05:16:25,236.236 INFO    ] 200
[2026-08-29 05:16:25,238.238 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 05:16:25,241.241 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-08-29 05:16:25,243.243 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:16:25,245.245 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:16:25,251.251 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:16:25,256.256 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:16:27,296.296 INFO    ] ================================================
[2026-08-29 05:16:27,311.311 INFO    ] Launching Daemon at Sat Aug 29 05:16:27 IST 2026
[2026-08-29 05:16:27,322.322 INFO    ] ================================================
[2026-08-29 05:16:27,665.665 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:16:27
[2026-08-29 05:16:27,982.982 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:16:28,125.125 INFO    ] Initializing speech engine...
[2026-08-29 05:16:28,131.131 INFO    ] 2026-08-29 05:16:28
[2026-08-29 05:16:28,334.334 INFO    ] 2026-08-29 05:16:28
[2026-08-29 05:16:28,362.362 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:16:28,485.485 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:16:28,548.548 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:16:28,685.685 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:16:28,751.751 INFO    ] time= 29/08/2026 05:16:28
[2026-08-29 05:16:28,775.775 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:16:28,782.782 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:16:28,870.870 INFO    ] No existing commands found in stream
[2026-08-29 05:16:33,880.880 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:16:33,883.883 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-08-29 05:16:35,346.346 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:16:35,349.349 INFO    ] Checking for system updates...
[2026-08-29 05:16:35,384.384 INFO    ] 200
[2026-08-29 05:16:35,386.386 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:16:35,415.415 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:16:35,416.416 INFO    ] No update needed
[2026-08-29 05:16:35,418.418 INFO    ] Checking for camera pi updates...
[2026-08-29 05:16:35,437.437 INFO    ] 200
[2026-08-29 05:16:35,438.438 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:16:35,463.463 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:16:35,543.543 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:16:35,544.544 INFO    ] No camera update needed
[2026-08-29 05:16:35,545.545 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:16:35,547.547 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:16:35,549.549 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:16:35,552.552 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:16:37,592.592 INFO    ] ================================================
[2026-08-29 05:16:37,607.607 INFO    ] Launching Daemon at Sat Aug 29 05:16:37 IST 2026
[2026-08-29 05:16:37,618.618 INFO    ] ================================================
[2026-08-29 05:16:37,981.981 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:16:37
[2026-08-29 05:16:38,315.315 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:16:38,465.465 INFO    ] Initializing speech engine...
[2026-08-29 05:16:38,471.471 INFO    ] 2026-08-29 05:16:38
[2026-08-29 05:16:38,677.677 INFO    ] 2026-08-29 05:16:38
[2026-08-29 05:16:38,706.706 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:16:38,838.838 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:16:38,891.891 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:16:39,029.029 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:16:39,096.096 INFO    ] time= 29/08/2026 05:16:39
[2026-08-29 05:16:39,120.120 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:16:39,127.127 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:16:39,194.194 INFO    ] No existing commands found in stream
[2026-08-29 05:16:44,208.208 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:16:44,211.211 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-08-29 05:16:45,981.981 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:16:45,984.984 INFO    ] Checking for system updates...
[2026-08-29 05:16:46,019.019 INFO    ] 200
[2026-08-29 05:16:46,021.021 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:16:46,079.079 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:16:46,081.081 INFO    ] No update needed
[2026-08-29 05:16:46,084.084 INFO    ] Checking for camera pi updates...
[2026-08-29 05:16:46,120.120 INFO    ] 200
[2026-08-29 05:16:46,122.122 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:16:46,167.167 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:16:46,244.244 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:16:46,246.246 INFO    ] No camera update needed
[2026-08-29 05:16:46,249.249 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:16:46,251.251 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:16:46,256.256 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:16:46,261.261 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:16:48,300.300 INFO    ] ================================================
[2026-08-29 05:16:48,316.316 INFO    ] Launching Daemon at Sat Aug 29 05:16:48 IST 2026
[2026-08-29 05:16:48,327.327 INFO    ] ================================================
[2026-08-29 05:16:48,894.894 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:16:48
[2026-08-29 05:16:49,255.255 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:16:49,395.395 INFO    ] Initializing speech engine...
[2026-08-29 05:16:49,404.404 INFO    ] 2026-08-29 05:16:49
[2026-08-29 05:16:49,620.620 INFO    ] 2026-08-29 05:16:49
[2026-08-29 05:16:49,650.650 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:16:49,781.781 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:16:49,829.829 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:16:49,987.987 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:16:50,044.044 INFO    ] time= 29/08/2026 05:16:49
[2026-08-29 05:16:50,072.072 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:16:50,094.094 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:16:50,169.169 INFO    ] No existing commands found in stream
[2026-08-29 05:16:55,180.180 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:16:55,183.183 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 05:16:58,635.635 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:16:58,637.637 INFO    ] Checking for system updates...
[2026-08-29 05:16:58,658.658 INFO    ] 200
[2026-08-29 05:16:58,659.659 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:16:58,689.689 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:16:58,691.691 INFO    ] No update needed
[2026-08-29 05:16:58,692.692 INFO    ] Checking for camera pi updates...
[2026-08-29 05:16:58,711.711 INFO    ] 200
[2026-08-29 05:16:58,713.713 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:16:58,735.735 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:16:58,933.933 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:16:58,935.935 INFO    ] No camera update needed
[2026-08-29 05:16:58,936.936 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:16:58,937.937 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:16:58,940.940 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:16:58,943.943 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:17:00,983.983 INFO    ] ================================================
[2026-08-29 05:17:01,999.999 INFO    ] Launching Daemon at Sat Aug 29 05:17:00 IST 2026
[2026-08-29 05:17:01,009.009 INFO    ] ================================================
[2026-08-29 05:17:01,750.750 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:17:01
[2026-08-29 05:17:02,497.497 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:17:02,820.820 INFO    ] Initializing speech engine...
[2026-08-29 05:17:02,834.834 INFO    ] 2026-08-29 05:17:02
[2026-08-29 05:17:03,126.126 INFO    ] 2026-08-29 05:17:03
[2026-08-29 05:17:03,165.165 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:17:03,329.329 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:17:03,341.341 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:17:03,482.482 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:17:03,490.490 INFO    ] time= 29/08/2026 05:17:03
[2026-08-29 05:17:03,497.497 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:17:03,518.518 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:17:03,640.640 INFO    ] No existing commands found in stream
[2026-08-29 05:17:08,670.670 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:17:08,673.673 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-08-29 05:17:09,848.848 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:17:09,849.849 INFO    ] Checking for system updates...
[2026-08-29 05:17:09,869.869 INFO    ] 200
[2026-08-29 05:17:09,870.870 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:17:09,902.902 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:17:09,903.903 INFO    ] No update needed
[2026-08-29 05:17:09,904.904 INFO    ] Checking for camera pi updates...
[2026-08-29 05:17:09,923.923 INFO    ] 200
[2026-08-29 05:17:09,925.925 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:17:09,949.949 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:17:10,034.034 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:17:10,036.036 INFO    ] No camera update needed
[2026-08-29 05:17:10,037.037 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:17:10,038.038 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:17:10,041.041 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:17:10,043.043 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:17:12,084.084 INFO    ] ================================================
[2026-08-29 05:17:12,099.099 INFO    ] Launching Daemon at Sat Aug 29 05:17:12 IST 2026
[2026-08-29 05:17:12,110.110 INFO    ] ================================================
[2026-08-29 05:17:12,456.456 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:17:12
[2026-08-29 05:17:12,768.768 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:17:13,013.013 INFO    ] Initializing speech engine...
[2026-08-29 05:17:13,025.025 INFO    ] 2026-08-29 05:17:13
[2026-08-29 05:17:13,278.278 INFO    ] 2026-08-29 05:17:13
[2026-08-29 05:17:13,337.337 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:17:13,480.480 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:17:13,491.491 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:17:13,632.632 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:17:13,640.640 INFO    ] time= 29/08/2026 05:17:13
[2026-08-29 05:17:13,646.646 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:17:13,697.697 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:17:13,815.815 INFO    ] No existing commands found in stream
[2026-08-29 05:17:18,840.840 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:17:18,843.843 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-08-29 05:17:22,551.551 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:17:22,553.553 INFO    ] Checking for system updates...
[2026-08-29 05:17:22,575.575 INFO    ] 200
[2026-08-29 05:17:22,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:17:22,611.611 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:17:22,612.612 INFO    ] No update needed
[2026-08-29 05:17:22,614.614 INFO    ] Checking for camera pi updates...
[2026-08-29 05:17:22,636.636 INFO    ] 200
[2026-08-29 05:17:22,638.638 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:17:22,665.665 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:17:22,756.756 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:17:22,757.757 INFO    ] No camera update needed
[2026-08-29 05:17:22,758.758 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:17:22,760.760 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:17:22,763.763 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:17:22,766.766 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:17:24,805.805 INFO    ] ================================================
[2026-08-29 05:17:24,820.820 INFO    ] Launching Daemon at Sat Aug 29 05:17:24 IST 2026
[2026-08-29 05:17:24,831.831 INFO    ] ================================================
[2026-08-29 05:17:25,409.409 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:17:25
[2026-08-29 05:17:25,998.998 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:17:26,245.245 INFO    ] Initializing speech engine...
[2026-08-29 05:17:26,250.250 INFO    ] 2026-08-29 05:17:26
[2026-08-29 05:17:26,451.451 INFO    ] 2026-08-29 05:17:26
[2026-08-29 05:17:26,529.529 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:17:26,676.676 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:17:26,685.685 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:17:26,816.816 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:17:26,864.864 INFO    ] time= 29/08/2026 05:17:26
[2026-08-29 05:17:26,912.912 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:17:26,949.949 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:17:27,002.002 INFO    ] No existing commands found in stream
[2026-08-29 05:17:32,014.014 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:17:32,018.018 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-08-29 05:17:34,898.898 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:17:34,899.899 INFO    ] Checking for system updates...
[2026-08-29 05:17:34,920.920 INFO    ] 200
[2026-08-29 05:17:34,921.921 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:17:34,953.953 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:17:34,955.955 INFO    ] No update needed
[2026-08-29 05:17:34,956.956 INFO    ] Checking for camera pi updates...
[2026-08-29 05:17:34,978.978 INFO    ] 200
[2026-08-29 05:17:34,979.979 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:17:35,002.002 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:17:35,090.090 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:17:35,091.091 INFO    ] No camera update needed
[2026-08-29 05:17:35,092.092 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:17:35,094.094 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:17:35,097.097 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:17:35,099.099 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:17:37,140.140 INFO    ] ================================================
[2026-08-29 05:17:37,155.155 INFO    ] Launching Daemon at Sat Aug 29 05:17:37 IST 2026
[2026-08-29 05:17:37,165.165 INFO    ] ================================================
[2026-08-29 05:17:37,515.515 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:17:37
[2026-08-29 05:17:37,826.826 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:17:37,962.962 INFO    ] Initializing speech engine...
[2026-08-29 05:17:37,975.975 INFO    ] 2026-08-29 05:17:37
[2026-08-29 05:17:38,190.190 INFO    ] 2026-08-29 05:17:38
[2026-08-29 05:17:38,230.230 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:17:38,398.398 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:17:38,414.414 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:17:38,580.580 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:17:38,635.635 INFO    ] time= 29/08/2026 05:17:38
[2026-08-29 05:17:38,645.645 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:17:38,661.661 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:17:38,737.737 INFO    ] No existing commands found in stream
[2026-08-29 05:17:43,772.772 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:17:43,775.775 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-08-29 05:17:46,177.177 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:17:46,178.178 INFO    ] Checking for system updates...
[2026-08-29 05:17:46,198.198 INFO    ] 200
[2026-08-29 05:17:46,200.200 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:17:46,229.229 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:17:46,231.231 INFO    ] No update needed
[2026-08-29 05:17:46,233.233 INFO    ] Checking for camera pi updates...
[2026-08-29 05:17:46,258.258 INFO    ] 200
[2026-08-29 05:17:46,259.259 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:17:46,283.283 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:17:46,397.397 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:17:46,398.398 INFO    ] No camera update needed
[2026-08-29 05:17:46,400.400 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:17:46,401.401 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:17:46,404.404 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:17:46,406.406 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:17:48,445.445 INFO    ] ================================================
[2026-08-29 05:17:48,461.461 INFO    ] Launching Daemon at Sat Aug 29 05:17:48 IST 2026
[2026-08-29 05:17:48,471.471 INFO    ] ================================================
[2026-08-29 05:17:48,862.862 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:17:48
[2026-08-29 05:17:49,199.199 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:17:49,349.349 INFO    ] Initializing speech engine...
[2026-08-29 05:17:49,354.354 INFO    ] 2026-08-29 05:17:49
[2026-08-29 05:17:49,565.565 INFO    ] 2026-08-29 05:17:49
[2026-08-29 05:17:49,593.593 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:17:49,776.776 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:17:49,786.786 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:17:49,916.916 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:17:49,975.975 INFO    ] time= 29/08/2026 05:17:49
[2026-08-29 05:17:50,007.007 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:17:50,009.009 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:17:50,081.081 INFO    ] No existing commands found in stream
[2026-08-29 05:17:55,091.091 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:17:55,094.094 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-08-29 05:17:57,779.779 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:17:57,781.781 INFO    ] Checking for system updates...
[2026-08-29 05:17:57,801.801 INFO    ] 200
[2026-08-29 05:17:57,803.803 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:17:57,834.834 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:17:57,836.836 INFO    ] No update needed
[2026-08-29 05:17:57,837.837 INFO    ] Checking for camera pi updates...
[2026-08-29 05:17:57,857.857 INFO    ] 200
[2026-08-29 05:17:57,858.858 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:17:57,884.884 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:17:57,959.959 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:17:57,961.961 INFO    ] No camera update needed
[2026-08-29 05:17:57,962.962 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:17:57,963.963 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:17:57,966.966 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:17:57,969.969 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:18:00,009.009 INFO    ] ================================================
[2026-08-29 05:18:00,024.024 INFO    ] Launching Daemon at Sat Aug 29 05:18:00 IST 2026
[2026-08-29 05:18:00,035.035 INFO    ] ================================================
[2026-08-29 05:18:00,363.363 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:18:00
[2026-08-29 05:18:00,675.675 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:18:00,818.818 INFO    ] Initializing speech engine...
[2026-08-29 05:18:00,823.823 INFO    ] 2026-08-29 05:18:00
[2026-08-29 05:18:01,027.027 INFO    ] 2026-08-29 05:18:01
[2026-08-29 05:18:01,055.055 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:18:01,253.253 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:18:01,258.258 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:18:01,408.408 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:18:01,425.425 INFO    ] time= 29/08/2026 05:18:01
[2026-08-29 05:18:01,434.434 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:18:01,437.437 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:18:01,493.493 INFO    ] No existing commands found in stream
[2026-08-29 05:18:06,503.503 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:18:06,505.505 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-08-29 05:18:08,802.802 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:18:08,804.804 INFO    ] Checking for system updates...
[2026-08-29 05:18:08,824.824 INFO    ] 200
[2026-08-29 05:18:08,826.826 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:18:08,856.856 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:18:08,858.858 INFO    ] No update needed
[2026-08-29 05:18:08,859.859 INFO    ] Checking for camera pi updates...
[2026-08-29 05:18:08,878.878 INFO    ] 200
[2026-08-29 05:18:08,879.879 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:18:08,902.902 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:18:08,988.988 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:18:08,989.989 INFO    ] No camera update needed
[2026-08-29 05:18:08,990.990 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:18:08,992.992 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:18:08,995.995 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:18:08,998.998 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:18:11,036.036 INFO    ] ================================================
[2026-08-29 05:18:11,052.052 INFO    ] Launching Daemon at Sat Aug 29 05:18:11 IST 2026
[2026-08-29 05:18:11,062.062 INFO    ] ================================================
[2026-08-29 05:18:11,392.392 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:18:11
[2026-08-29 05:18:11,975.975 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:18:12,249.249 INFO    ] Initializing speech engine...
[2026-08-29 05:18:12,255.255 INFO    ] 2026-08-29 05:18:12
[2026-08-29 05:18:12,514.514 INFO    ] 2026-08-29 05:18:12
[2026-08-29 05:18:12,545.545 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:18:12,735.735 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:18:12,792.792 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:18:12,930.930 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:18:12,978.978 INFO    ] time= 29/08/2026 05:18:12
[2026-08-29 05:18:13,032.032 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:18:13,064.064 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:18:13,121.121 INFO    ] No existing commands found in stream
[2026-08-29 05:18:18,133.133 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:18:18,136.136 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-08-29 05:18:19,305.305 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:18:19,306.306 INFO    ] Checking for system updates...
[2026-08-29 05:18:19,328.328 INFO    ] 200
[2026-08-29 05:18:19,330.330 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:18:19,359.359 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:18:19,361.361 INFO    ] No update needed
[2026-08-29 05:18:19,362.362 INFO    ] Checking for camera pi updates...
[2026-08-29 05:18:19,382.382 INFO    ] 200
[2026-08-29 05:18:19,383.383 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:18:19,407.407 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:18:19,481.481 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:18:19,482.482 INFO    ] No camera update needed
[2026-08-29 05:18:19,484.484 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:18:19,485.485 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:18:19,488.488 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:18:19,491.491 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:18:21,529.529 INFO    ] ================================================
[2026-08-29 05:18:21,545.545 INFO    ] Launching Daemon at Sat Aug 29 05:18:21 IST 2026
[2026-08-29 05:18:21,556.556 INFO    ] ================================================
[2026-08-29 05:18:21,902.902 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:18:21
[2026-08-29 05:18:22,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:18:22,357.357 INFO    ] Initializing speech engine...
[2026-08-29 05:18:22,367.367 INFO    ] 2026-08-29 05:18:22
[2026-08-29 05:18:22,570.570 INFO    ] 2026-08-29 05:18:22
[2026-08-29 05:18:22,598.598 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:18:22,721.721 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:18:22,783.783 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:18:22,912.912 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:18:22,968.968 INFO    ] time= 29/08/2026 05:18:22
[2026-08-29 05:18:23,010.010 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:18:23,016.016 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:18:23,082.082 INFO    ] No existing commands found in stream
[2026-08-29 05:18:28,092.092 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:18:28,095.095 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-08-29 05:18:28,872.872 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:18:28,874.874 INFO    ] Checking for system updates...
[2026-08-29 05:18:28,895.895 INFO    ] 200
[2026-08-29 05:18:28,897.897 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:18:28,926.926 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:18:28,928.928 INFO    ] No update needed
[2026-08-29 05:18:28,929.929 INFO    ] Checking for camera pi updates...
[2026-08-29 05:18:28,949.949 INFO    ] 200
[2026-08-29 05:18:28,950.950 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:18:28,973.973 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:18:29,072.072 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:18:29,074.074 INFO    ] No camera update needed
[2026-08-29 05:18:29,075.075 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:18:29,076.076 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:18:29,079.079 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:18:29,082.082 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:18:31,121.121 INFO    ] ================================================
[2026-08-29 05:18:31,140.140 INFO    ] Launching Daemon at Sat Aug 29 05:18:31 IST 2026
[2026-08-29 05:18:31,150.150 INFO    ] ================================================
[2026-08-29 05:18:31,753.753 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:18:31
[2026-08-29 05:18:32,371.371 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:18:32,639.639 INFO    ] Initializing speech engine...
[2026-08-29 05:18:32,644.644 INFO    ] 2026-08-29 05:18:32
[2026-08-29 05:18:32,920.920 INFO    ] 2026-08-29 05:18:32
[2026-08-29 05:18:32,957.957 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:18:33,134.134 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:18:33,146.146 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:18:33,258.258 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:18:33,263.263 INFO    ] time= 29/08/2026 05:18:33
[2026-08-29 05:18:33,282.282 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:18:33,302.302 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:18:33,379.379 INFO    ] No existing commands found in stream
[2026-08-29 05:18:38,394.394 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:18:38,396.396 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-08-29 05:18:42,162.162 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:18:42,164.164 INFO    ] Checking for system updates...
[2026-08-29 05:18:42,184.184 INFO    ] 200
[2026-08-29 05:18:42,185.185 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:18:42,217.217 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:18:42,219.219 INFO    ] No update needed
[2026-08-29 05:18:42,220.220 INFO    ] Checking for camera pi updates...
[2026-08-29 05:18:42,240.240 INFO    ] 200
[2026-08-29 05:18:42,242.242 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:18:42,282.282 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:18:42,391.391 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:18:42,394.394 INFO    ] No camera update needed
[2026-08-29 05:18:42,396.396 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:18:42,398.398 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:18:42,404.404 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:18:42,408.408 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:18:44,450.450 INFO    ] ================================================
[2026-08-29 05:18:44,466.466 INFO    ] Launching Daemon at Sat Aug 29 05:18:44 IST 2026
[2026-08-29 05:18:44,476.476 INFO    ] ================================================
[2026-08-29 05:18:45,042.042 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:18:45
[2026-08-29 05:18:45,505.505 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:18:45,639.639 INFO    ] Initializing speech engine...
[2026-08-29 05:18:45,642.642 INFO    ] 2026-08-29 05:18:45
[2026-08-29 05:18:45,837.837 INFO    ] 2026-08-29 05:18:45
[2026-08-29 05:18:45,896.896 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:18:46,058.058 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:18:46,074.074 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:18:46,196.196 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:18:46,204.204 INFO    ] time= 29/08/2026 05:18:46
[2026-08-29 05:18:46,222.222 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:18:46,245.245 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:18:46,327.327 INFO    ] No existing commands found in stream
[2026-08-29 05:18:51,339.339 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:18:51,341.341 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-08-29 05:18:52,182.182 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:18:52,184.184 INFO    ] Checking for system updates...
[2026-08-29 05:18:52,204.204 INFO    ] 200
[2026-08-29 05:18:52,205.205 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:18:52,248.248 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:18:52,250.250 INFO    ] No update needed
[2026-08-29 05:18:52,253.253 INFO    ] Checking for camera pi updates...
[2026-08-29 05:18:52,287.287 INFO    ] 200
[2026-08-29 05:18:52,289.289 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:18:52,330.330 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:18:52,416.416 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:18:52,419.419 INFO    ] No camera update needed
[2026-08-29 05:18:52,421.421 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:18:52,423.423 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:18:52,429.429 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:18:52,434.434 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:18:54,474.474 INFO    ] ================================================
[2026-08-29 05:18:54,489.489 INFO    ] Launching Daemon at Sat Aug 29 05:18:54 IST 2026
[2026-08-29 05:18:54,500.500 INFO    ] ================================================
[2026-08-29 05:18:55,080.080 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:18:55
[2026-08-29 05:18:55,527.527 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:18:55,676.676 INFO    ] Initializing speech engine...
[2026-08-29 05:18:55,681.681 INFO    ] 2026-08-29 05:18:55
[2026-08-29 05:18:55,895.895 INFO    ] 2026-08-29 05:18:55
[2026-08-29 05:18:55,925.925 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:18:56,056.056 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:18:56,080.080 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:18:56,250.250 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:18:56,303.303 INFO    ] time= 29/08/2026 05:18:56
[2026-08-29 05:18:56,309.309 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:18:56,330.330 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:18:56,443.443 INFO    ] No existing commands found in stream
[2026-08-29 05:19:01,465.465 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:19:01,470.470 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-08-29 05:19:03,727.727 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:19:03,730.730 INFO    ] Checking for system updates...
[2026-08-29 05:19:03,766.766 INFO    ] 200
[2026-08-29 05:19:03,768.768 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:19:03,826.826 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:19:03,828.828 INFO    ] No update needed
[2026-08-29 05:19:03,831.831 INFO    ] Checking for camera pi updates...
[2026-08-29 05:19:03,865.865 INFO    ] 200
[2026-08-29 05:19:03,867.867 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:19:03,911.911 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:19:03,990.990 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:19:03,993.993 INFO    ] No camera update needed
[2026-08-29 05:19:03,995.995 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:19:03,997.997 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:19:04,004.004 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:19:04,009.009 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:19:06,050.050 INFO    ] ================================================
[2026-08-29 05:19:06,066.066 INFO    ] Launching Daemon at Sat Aug 29 05:19:06 IST 2026
[2026-08-29 05:19:06,078.078 INFO    ] ================================================
[2026-08-29 05:19:06,703.703 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:19:06
[2026-08-29 05:19:07,358.358 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:19:07,658.658 INFO    ] Initializing speech engine...
[2026-08-29 05:19:07,666.666 INFO    ] 2026-08-29 05:19:07
[2026-08-29 05:19:07,941.941 INFO    ] 2026-08-29 05:19:07
[2026-08-29 05:19:07,994.994 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:19:08,229.229 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:19:08,234.234 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:19:08,370.370 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:19:08,387.387 INFO    ] time= 29/08/2026 05:19:08
[2026-08-29 05:19:08,457.457 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:19:08,509.509 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:19:08,567.567 INFO    ] No existing commands found in stream
[2026-08-29 05:19:13,580.580 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:19:13,583.583 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-08-29 05:19:15,585.585 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:19:15,586.586 INFO    ] Checking for system updates...
[2026-08-29 05:19:15,607.607 INFO    ] 200
[2026-08-29 05:19:15,608.608 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:19:15,644.644 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:19:15,645.645 INFO    ] No update needed
[2026-08-29 05:19:15,646.646 INFO    ] Checking for camera pi updates...
[2026-08-29 05:19:15,665.665 INFO    ] 200
[2026-08-29 05:19:15,666.666 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:19:15,689.689 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:19:15,764.764 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:19:15,765.765 INFO    ] No camera update needed
[2026-08-29 05:19:15,766.766 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:19:15,768.768 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:19:15,771.771 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:19:15,773.773 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:19:17,812.812 INFO    ] ================================================
[2026-08-29 05:19:17,828.828 INFO    ] Launching Daemon at Sat Aug 29 05:19:17 IST 2026
[2026-08-29 05:19:17,839.839 INFO    ] ================================================
[2026-08-29 05:19:18,176.176 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:19:18
[2026-08-29 05:19:18,488.488 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:19:18,632.632 INFO    ] Initializing speech engine...
[2026-08-29 05:19:18,638.638 INFO    ] 2026-08-29 05:19:18
[2026-08-29 05:19:18,849.849 INFO    ] 2026-08-29 05:19:18
[2026-08-29 05:19:18,879.879 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:19:19,007.007 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:19:19,050.050 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:19:19,210.210 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:19:19,268.268 INFO    ] time= 29/08/2026 05:19:19
[2026-08-29 05:19:19,311.311 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:19:19,317.317 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:19:19,418.418 INFO    ] No existing commands found in stream
[2026-08-29 05:19:24,437.437 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:19:24,439.439 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-08-29 05:19:26,684.684 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:19:26,686.686 INFO    ] Checking for system updates...
[2026-08-29 05:19:26,714.714 INFO    ] 200
[2026-08-29 05:19:26,715.715 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:19:26,753.753 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:19:26,755.755 INFO    ] No update needed
[2026-08-29 05:19:26,756.756 INFO    ] Checking for camera pi updates...
[2026-08-29 05:19:26,775.775 INFO    ] 200
[2026-08-29 05:19:26,776.776 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:19:26,802.802 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:19:26,895.895 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:19:26,897.897 INFO    ] No camera update needed
[2026-08-29 05:19:26,898.898 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:19:26,899.899 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:19:26,902.902 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:19:26,905.905 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:19:28,944.944 INFO    ] ================================================
[2026-08-29 05:19:28,960.960 INFO    ] Launching Daemon at Sat Aug 29 05:19:28 IST 2026
[2026-08-29 05:19:28,971.971 INFO    ] ================================================
[2026-08-29 05:19:29,317.317 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:19:29
[2026-08-29 05:19:29,645.645 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:19:29,787.787 INFO    ] Initializing speech engine...
[2026-08-29 05:19:29,796.796 INFO    ] 2026-08-29 05:19:29
[2026-08-29 05:19:30,002.002 INFO    ] 2026-08-29 05:19:29
[2026-08-29 05:19:30,031.031 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:19:30,161.161 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:19:30,219.219 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:19:30,356.356 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:19:30,415.415 INFO    ] time= 29/08/2026 05:19:30
[2026-08-29 05:19:30,446.446 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:19:30,453.453 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:19:30,520.520 INFO    ] No existing commands found in stream
[2026-08-29 05:19:35,529.529 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:19:35,533.533 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-08-29 05:19:38,746.746 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:19:38,747.747 INFO    ] Checking for system updates...
[2026-08-29 05:19:38,769.769 INFO    ] 200
[2026-08-29 05:19:38,770.770 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:19:38,803.803 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:19:38,804.804 INFO    ] No update needed
[2026-08-29 05:19:38,805.805 INFO    ] Checking for camera pi updates...
[2026-08-29 05:19:38,824.824 INFO    ] 200
[2026-08-29 05:19:38,826.826 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:19:38,849.849 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:19:38,929.929 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:19:38,931.931 INFO    ] No camera update needed
[2026-08-29 05:19:38,932.932 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:19:38,933.933 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:19:38,936.936 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:19:38,939.939 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:19:40,981.981 INFO    ] ================================================
[2026-08-29 05:19:41,996.996 INFO    ] Launching Daemon at Sat Aug 29 05:19:40 IST 2026
[2026-08-29 05:19:41,007.007 INFO    ] ================================================
[2026-08-29 05:19:41,385.385 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:19:41
[2026-08-29 05:19:41,713.713 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:19:41,857.857 INFO    ] Initializing speech engine...
[2026-08-29 05:19:41,865.865 INFO    ] 2026-08-29 05:19:41
[2026-08-29 05:19:42,079.079 INFO    ] 2026-08-29 05:19:42
[2026-08-29 05:19:42,108.108 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:19:42,238.238 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:19:42,246.246 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:19:42,417.417 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:19:42,449.449 INFO    ] time= 29/08/2026 05:19:42
[2026-08-29 05:19:42,463.463 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:19:42,475.475 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:19:42,604.604 INFO    ] No existing commands found in stream
[2026-08-29 05:19:47,619.619 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:19:47,623.623 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-08-29 05:19:49,652.652 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:19:49,653.653 INFO    ] Checking for system updates...
[2026-08-29 05:19:49,675.675 INFO    ] 200
[2026-08-29 05:19:49,677.677 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:19:49,713.713 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:19:49,714.714 INFO    ] No update needed
[2026-08-29 05:19:49,716.716 INFO    ] Checking for camera pi updates...
[2026-08-29 05:19:49,735.735 INFO    ] 200
[2026-08-29 05:19:49,736.736 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:19:49,761.761 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:19:49,874.874 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:19:49,876.876 INFO    ] No camera update needed
[2026-08-29 05:19:49,877.877 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:19:49,878.878 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:19:49,881.881 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:19:49,885.885 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:19:51,923.923 INFO    ] ================================================
[2026-08-29 05:19:51,939.939 INFO    ] Launching Daemon at Sat Aug 29 05:19:51 IST 2026
[2026-08-29 05:19:51,951.951 INFO    ] ================================================
[2026-08-29 05:19:52,325.325 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:19:52
[2026-08-29 05:19:52,657.657 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:19:52,801.801 INFO    ] Initializing speech engine...
[2026-08-29 05:19:52,808.808 INFO    ] 2026-08-29 05:19:52
[2026-08-29 05:19:53,019.019 INFO    ] 2026-08-29 05:19:52
[2026-08-29 05:19:53,049.049 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:19:53,173.173 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:19:53,215.215 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:19:53,372.372 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:19:53,435.435 INFO    ] time= 29/08/2026 05:19:53
[2026-08-29 05:19:53,468.468 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:19:53,470.470 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:19:53,541.541 INFO    ] No existing commands found in stream
[2026-08-29 05:19:58,552.552 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:19:58,556.556 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 05:20:01,865.865 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:20:01,869.869 INFO    ] Checking for system updates...
[2026-08-29 05:20:01,948.948 INFO    ] 200
[2026-08-29 05:20:01,951.951 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:20:02,025.025 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:20:02,028.028 INFO    ] No update needed
[2026-08-29 05:20:02,032.032 INFO    ] Checking for camera pi updates...
[2026-08-29 05:20:02,083.083 INFO    ] 200
[2026-08-29 05:20:02,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:20:02,151.151 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:20:02,519.519 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:20:02,522.522 INFO    ] No camera update needed
[2026-08-29 05:20:02,526.526 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:20:02,528.528 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:20:02,536.536 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:20:02,542.542 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:20:04,584.584 INFO    ] ================================================
[2026-08-29 05:20:04,600.600 INFO    ] Launching Daemon at Sat Aug 29 05:20:04 IST 2026
[2026-08-29 05:20:04,610.610 INFO    ] ================================================
[2026-08-29 05:20:05,128.128 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:20:05
[2026-08-29 05:20:05,718.718 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:20:06,023.023 INFO    ] Initializing speech engine...
[2026-08-29 05:20:06,034.034 INFO    ] 2026-08-29 05:20:06
[2026-08-29 05:20:06,321.321 INFO    ] 2026-08-29 05:20:06
[2026-08-29 05:20:06,378.378 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:20:06,551.551 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:20:06,610.610 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:20:06,751.751 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:20:06,799.799 INFO    ] time= 29/08/2026 05:20:06
[2026-08-29 05:20:06,853.853 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:20:06,886.886 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:20:06,945.945 INFO    ] No existing commands found in stream
[2026-08-29 05:20:11,958.958 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:20:11,967.967 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-08-29 05:20:14,784.784 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:20:14,786.786 INFO    ] Checking for system updates...
[2026-08-29 05:20:14,807.807 INFO    ] 200
[2026-08-29 05:20:14,808.808 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:20:14,838.838 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:20:14,839.839 INFO    ] No update needed
[2026-08-29 05:20:14,841.841 INFO    ] Checking for camera pi updates...
[2026-08-29 05:20:14,860.860 INFO    ] 200
[2026-08-29 05:20:14,862.862 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:20:14,886.886 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:20:14,961.961 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:20:14,963.963 INFO    ] No camera update needed
[2026-08-29 05:20:14,965.965 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:20:14,966.966 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:20:14,969.969 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:20:14,972.972 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:20:17,014.014 INFO    ] ================================================
[2026-08-29 05:20:17,030.030 INFO    ] Launching Daemon at Sat Aug 29 05:20:17 IST 2026
[2026-08-29 05:20:17,041.041 INFO    ] ================================================
[2026-08-29 05:20:17,419.419 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:20:17
[2026-08-29 05:20:17,752.752 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:20:17,892.892 INFO    ] Initializing speech engine...
[2026-08-29 05:20:17,905.905 INFO    ] 2026-08-29 05:20:17
[2026-08-29 05:20:18,117.117 INFO    ] 2026-08-29 05:20:18
[2026-08-29 05:20:18,146.146 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:20:18,270.270 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:20:18,315.315 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:20:18,475.475 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:20:18,543.543 INFO    ] time= 29/08/2026 05:20:18
[2026-08-29 05:20:18,568.568 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:20:18,569.569 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:20:18,643.643 INFO    ] No existing commands found in stream
[2026-08-29 05:20:23,657.657 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:20:23,660.660 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-08-29 05:20:27,611.611 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:20:27,612.612 INFO    ] Checking for system updates...
[2026-08-29 05:20:27,633.633 INFO    ] 200
[2026-08-29 05:20:27,635.635 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:20:27,665.665 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:20:27,666.666 INFO    ] No update needed
[2026-08-29 05:20:27,668.668 INFO    ] Checking for camera pi updates...
[2026-08-29 05:20:27,687.687 INFO    ] 200
[2026-08-29 05:20:27,688.688 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:20:27,711.711 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:20:27,792.792 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:20:27,794.794 INFO    ] No camera update needed
[2026-08-29 05:20:27,795.795 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:20:27,797.797 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:20:27,800.800 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:20:27,803.803 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:20:29,842.842 INFO    ] ================================================
[2026-08-29 05:20:29,857.857 INFO    ] Launching Daemon at Sat Aug 29 05:20:29 IST 2026
[2026-08-29 05:20:29,868.868 INFO    ] ================================================
[2026-08-29 05:20:30,222.222 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:20:30
[2026-08-29 05:20:30,613.613 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:20:30,897.897 INFO    ] Initializing speech engine...
[2026-08-29 05:20:30,907.907 INFO    ] 2026-08-29 05:20:30
[2026-08-29 05:20:31,174.174 INFO    ] 2026-08-29 05:20:31
[2026-08-29 05:20:31,210.210 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:20:31,425.425 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:20:31,431.431 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:20:31,545.545 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:20:31,552.552 INFO    ] time= 29/08/2026 05:20:31
[2026-08-29 05:20:31,571.571 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:20:31,582.582 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:20:31,639.639 INFO    ] No existing commands found in stream
[2026-08-29 05:20:36,650.650 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:20:36,653.653 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-08-29 05:20:37,379.379 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:20:37,381.381 INFO    ] Checking for system updates...
[2026-08-29 05:20:37,401.401 INFO    ] 200
[2026-08-29 05:20:37,403.403 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:20:37,436.436 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:20:37,437.437 INFO    ] No update needed
[2026-08-29 05:20:37,438.438 INFO    ] Checking for camera pi updates...
[2026-08-29 05:20:37,457.457 INFO    ] 200
[2026-08-29 05:20:37,459.459 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:20:37,481.481 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:20:37,562.562 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:20:37,564.564 INFO    ] No camera update needed
[2026-08-29 05:20:37,565.565 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:20:37,566.566 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:20:37,569.569 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:20:37,572.572 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:20:39,611.611 INFO    ] ================================================
[2026-08-29 05:20:39,626.626 INFO    ] Launching Daemon at Sat Aug 29 05:20:39 IST 2026
[2026-08-29 05:20:39,637.637 INFO    ] ================================================
[2026-08-29 05:20:40,001.001 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:20:39
[2026-08-29 05:20:40,317.317 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:20:40,459.459 INFO    ] Initializing speech engine...
[2026-08-29 05:20:40,464.464 INFO    ] 2026-08-29 05:20:40
[2026-08-29 05:20:40,696.696 INFO    ] 2026-08-29 05:20:40
[2026-08-29 05:20:40,751.751 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:20:40,913.913 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:20:40,920.920 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:20:41,095.095 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:20:41,122.122 INFO    ] time= 29/08/2026 05:20:41
[2026-08-29 05:20:41,139.139 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:20:41,148.148 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:20:41,256.256 INFO    ] No existing commands found in stream
[2026-08-29 05:20:46,283.283 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:20:46,286.286 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-08-29 05:20:48,082.082 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:20:48,083.083 INFO    ] Checking for system updates...
[2026-08-29 05:20:48,103.103 INFO    ] 200
[2026-08-29 05:20:48,105.105 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:20:48,135.135 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:20:48,136.136 INFO    ] No update needed
[2026-08-29 05:20:48,138.138 INFO    ] Checking for camera pi updates...
[2026-08-29 05:20:48,157.157 INFO    ] 200
[2026-08-29 05:20:48,158.158 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:20:48,181.181 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:20:48,256.256 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:20:48,257.257 INFO    ] No camera update needed
[2026-08-29 05:20:48,259.259 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:20:48,260.260 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:20:48,263.263 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:20:48,266.266 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:20:50,304.304 INFO    ] ================================================
[2026-08-29 05:20:50,320.320 INFO    ] Launching Daemon at Sat Aug 29 05:20:50 IST 2026
[2026-08-29 05:20:50,331.331 INFO    ] ================================================
[2026-08-29 05:20:50,657.657 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:20:50
[2026-08-29 05:20:50,992.992 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:20:51,147.147 INFO    ] Initializing speech engine...
[2026-08-29 05:20:51,151.151 INFO    ] 2026-08-29 05:20:51
[2026-08-29 05:20:51,358.358 INFO    ] 2026-08-29 05:20:51
[2026-08-29 05:20:51,387.387 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:20:51,511.511 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:20:51,574.574 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:20:51,710.710 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:20:51,773.773 INFO    ] time= 29/08/2026 05:20:51
[2026-08-29 05:20:51,806.806 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:20:51,812.812 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:20:51,881.881 INFO    ] No existing commands found in stream
[2026-08-29 05:20:56,889.889 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:20:56,891.891 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-08-29 05:21:00,252.252 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:21:00,253.253 INFO    ] Checking for system updates...
[2026-08-29 05:21:00,275.275 INFO    ] 200
[2026-08-29 05:21:00,276.276 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:21:00,306.306 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:21:00,308.308 INFO    ] No update needed
[2026-08-29 05:21:00,309.309 INFO    ] Checking for camera pi updates...
[2026-08-29 05:21:00,328.328 INFO    ] 200
[2026-08-29 05:21:00,330.330 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:21:00,353.353 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:21:00,443.443 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:21:00,445.445 INFO    ] No camera update needed
[2026-08-29 05:21:00,446.446 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:21:00,447.447 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:21:00,450.450 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:21:00,454.454 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:21:02,505.505 INFO    ] ================================================
[2026-08-29 05:21:02,534.534 INFO    ] Launching Daemon at Sat Aug 29 05:21:02 IST 2026
[2026-08-29 05:21:02,551.551 INFO    ] ================================================
[2026-08-29 05:21:03,242.242 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:21:03
[2026-08-29 05:21:03,900.900 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:21:04,197.197 INFO    ] Initializing speech engine...
[2026-08-29 05:21:04,206.206 INFO    ] 2026-08-29 05:21:04
[2026-08-29 05:21:04,478.478 INFO    ] 2026-08-29 05:21:04
[2026-08-29 05:21:04,538.538 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:21:04,753.753 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:21:04,759.759 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:21:04,894.894 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:21:04,904.904 INFO    ] time= 29/08/2026 05:21:04
[2026-08-29 05:21:04,909.909 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:21:04,924.924 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:21:05,007.007 INFO    ] No existing commands found in stream
[2026-08-29 05:21:10,039.039 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:21:10,042.042 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-08-29 05:21:12,266.266 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:21:12,268.268 INFO    ] Checking for system updates...
[2026-08-29 05:21:12,288.288 INFO    ] 200
[2026-08-29 05:21:12,290.290 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:21:12,321.321 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:21:12,322.322 INFO    ] No update needed
[2026-08-29 05:21:12,324.324 INFO    ] Checking for camera pi updates...
[2026-08-29 05:21:12,343.343 INFO    ] 200
[2026-08-29 05:21:12,345.345 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:21:12,368.368 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:21:12,545.545 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:21:12,546.546 INFO    ] No camera update needed
[2026-08-29 05:21:12,547.547 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:21:12,549.549 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:21:12,552.552 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:21:12,555.555 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:21:14,587.587 INFO    ] ================================================
[2026-08-29 05:21:14,595.595 INFO    ] Launching Daemon at Sat Aug 29 05:21:14 IST 2026
[2026-08-29 05:21:14,602.602 INFO    ] ================================================
[2026-08-29 05:21:15,169.169 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:21:15
[2026-08-29 05:21:15,768.768 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:21:16,048.048 INFO    ] Initializing speech engine...
[2026-08-29 05:21:16,058.058 INFO    ] 2026-08-29 05:21:16
[2026-08-29 05:21:16,316.316 INFO    ] 2026-08-29 05:21:16
[2026-08-29 05:21:16,350.350 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:21:16,516.516 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:21:16,527.527 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:21:16,638.638 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:21:16,642.642 INFO    ] time= 29/08/2026 05:21:16
[2026-08-29 05:21:16,660.660 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:21:16,680.680 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:21:16,755.755 INFO    ] No existing commands found in stream
[2026-08-29 05:21:21,785.785 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:21:21,788.788 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 05:21:25,455.455 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:21:25,458.458 INFO    ] Checking for system updates...
[2026-08-29 05:21:25,493.493 INFO    ] 200
[2026-08-29 05:21:25,496.496 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:21:25,552.552 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:21:25,555.555 INFO    ] No update needed
[2026-08-29 05:21:25,557.557 INFO    ] Checking for camera pi updates...
[2026-08-29 05:21:25,590.590 INFO    ] 200
[2026-08-29 05:21:25,593.593 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:21:25,633.633 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:21:25,716.716 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:21:25,718.718 INFO    ] No camera update needed
[2026-08-29 05:21:25,720.720 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:21:25,723.723 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:21:25,728.728 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:21:25,733.733 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:21:27,775.775 INFO    ] ================================================
[2026-08-29 05:21:27,791.791 INFO    ] Launching Daemon at Sat Aug 29 05:21:27 IST 2026
[2026-08-29 05:21:27,802.802 INFO    ] ================================================
[2026-08-29 05:21:28,156.156 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:21:28
[2026-08-29 05:21:28,470.470 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:21:28,608.608 INFO    ] Initializing speech engine...
[2026-08-29 05:21:28,619.619 INFO    ] 2026-08-29 05:21:28
[2026-08-29 05:21:28,825.825 INFO    ] 2026-08-29 05:21:28
[2026-08-29 05:21:28,904.904 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:21:29,056.056 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:21:29,065.065 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:21:29,204.204 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:21:29,249.249 INFO    ] time= 29/08/2026 05:21:29
[2026-08-29 05:21:29,309.309 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:21:29,340.340 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:21:29,393.393 INFO    ] No existing commands found in stream
[2026-08-29 05:21:34,405.405 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:21:34,408.408 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-08-29 05:21:38,082.082 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:21:38,085.085 INFO    ] Checking for system updates...
[2026-08-29 05:21:38,124.124 INFO    ] 200
[2026-08-29 05:21:38,126.126 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:21:38,185.185 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:21:38,187.187 INFO    ] No update needed
[2026-08-29 05:21:38,189.189 INFO    ] Checking for camera pi updates...
[2026-08-29 05:21:38,224.224 INFO    ] 200
[2026-08-29 05:21:38,226.226 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:21:38,268.268 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:21:38,377.377 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:21:38,380.380 INFO    ] No camera update needed
[2026-08-29 05:21:38,383.383 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:21:38,386.386 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:21:38,392.392 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:21:38,397.397 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:21:40,437.437 INFO    ] ================================================
[2026-08-29 05:21:40,453.453 INFO    ] Launching Daemon at Sat Aug 29 05:21:40 IST 2026
[2026-08-29 05:21:40,465.465 INFO    ] ================================================
[2026-08-29 05:21:40,840.840 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:21:40
[2026-08-29 05:21:41,176.176 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:21:41,321.321 INFO    ] Initializing speech engine...
[2026-08-29 05:21:41,332.332 INFO    ] 2026-08-29 05:21:41
[2026-08-29 05:21:41,542.542 INFO    ] 2026-08-29 05:21:41
[2026-08-29 05:21:41,573.573 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:21:41,758.758 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:21:41,763.763 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:21:41,901.901 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:21:41,969.969 INFO    ] time= 29/08/2026 05:21:41
[2026-08-29 05:21:41,994.994 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:21:42,001.001 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:21:42,067.067 INFO    ] No existing commands found in stream
[2026-08-29 05:21:47,078.078 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:21:47,081.081 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-08-29 05:21:48,028.028 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:21:48,030.030 INFO    ] Checking for system updates...
[2026-08-29 05:21:48,050.050 INFO    ] 200
[2026-08-29 05:21:48,051.051 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:21:48,082.082 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:21:48,084.084 INFO    ] No update needed
[2026-08-29 05:21:48,085.085 INFO    ] Checking for camera pi updates...
[2026-08-29 05:21:48,104.104 INFO    ] 200
[2026-08-29 05:21:48,105.105 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:21:48,128.128 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:21:48,254.254 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:21:48,255.255 INFO    ] No camera update needed
[2026-08-29 05:21:48,257.257 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:21:48,258.258 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:21:48,261.261 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:21:48,263.263 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:21:50,301.301 INFO    ] ================================================
[2026-08-29 05:21:50,317.317 INFO    ] Launching Daemon at Sat Aug 29 05:21:50 IST 2026
[2026-08-29 05:21:50,328.328 INFO    ] ================================================
[2026-08-29 05:21:50,661.661 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:21:50
[2026-08-29 05:21:50,974.974 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:21:51,117.117 INFO    ] Initializing speech engine...
[2026-08-29 05:21:51,122.122 INFO    ] 2026-08-29 05:21:51
[2026-08-29 05:21:51,368.368 INFO    ] 2026-08-29 05:21:51
[2026-08-29 05:21:51,403.403 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:21:51,578.578 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:21:51,591.591 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:21:51,736.736 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:21:51,744.744 INFO    ] time= 29/08/2026 05:21:51
[2026-08-29 05:21:51,751.751 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:21:51,771.771 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:21:51,898.898 INFO    ] No existing commands found in stream
[2026-08-29 05:21:56,923.923 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:21:56,926.926 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-08-29 05:21:57,984.984 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:21:57,986.986 INFO    ] Checking for system updates...
[2026-08-29 05:21:58,009.009 INFO    ] 200
[2026-08-29 05:21:58,011.011 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:21:58,040.040 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:21:58,041.041 INFO    ] No update needed
[2026-08-29 05:21:58,043.043 INFO    ] Checking for camera pi updates...
[2026-08-29 05:21:58,063.063 INFO    ] 200
[2026-08-29 05:21:58,064.064 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:21:58,089.089 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:21:58,179.179 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:21:58,181.181 INFO    ] No camera update needed
[2026-08-29 05:21:58,182.182 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:21:58,183.183 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:21:58,186.186 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:21:58,189.189 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:22:00,228.228 INFO    ] ================================================
[2026-08-29 05:22:00,244.244 INFO    ] Launching Daemon at Sat Aug 29 05:22:00 IST 2026
[2026-08-29 05:22:00,255.255 INFO    ] ================================================
[2026-08-29 05:22:00,592.592 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:22:00
[2026-08-29 05:22:00,909.909 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:22:01,054.054 INFO    ] Initializing speech engine...
[2026-08-29 05:22:01,059.059 INFO    ] 2026-08-29 05:22:01
[2026-08-29 05:22:01,263.263 INFO    ] 2026-08-29 05:22:01
[2026-08-29 05:22:01,293.293 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:22:01,438.438 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:22:01,446.446 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:22:01,619.619 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:22:01,646.646 INFO    ] time= 29/08/2026 05:22:01
[2026-08-29 05:22:01,652.652 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:22:01,670.670 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:22:01,782.782 INFO    ] No existing commands found in stream
[2026-08-29 05:22:06,807.807 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:22:06,813.813 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-08-29 05:22:08,949.949 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:22:08,951.951 INFO    ] Checking for system updates...
[2026-08-29 05:22:08,973.973 INFO    ] 200
[2026-08-29 05:22:08,975.975 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:22:09,008.008 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:22:09,009.009 INFO    ] No update needed
[2026-08-29 05:22:09,011.011 INFO    ] Checking for camera pi updates...
[2026-08-29 05:22:09,030.030 INFO    ] 200
[2026-08-29 05:22:09,032.032 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:22:09,055.055 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:22:09,132.132 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:22:09,134.134 INFO    ] No camera update needed
[2026-08-29 05:22:09,135.135 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:22:09,137.137 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:22:09,140.140 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:22:09,143.143 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:22:11,186.186 INFO    ] ================================================
[2026-08-29 05:22:11,201.201 INFO    ] Launching Daemon at Sat Aug 29 05:22:11 IST 2026
[2026-08-29 05:22:11,211.211 INFO    ] ================================================
[2026-08-29 05:22:11,743.743 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:22:11
[2026-08-29 05:22:12,330.330 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:22:12,631.631 INFO    ] Initializing speech engine...
[2026-08-29 05:22:12,637.637 INFO    ] 2026-08-29 05:22:12
[2026-08-29 05:22:12,932.932 INFO    ] 2026-08-29 05:22:12
[2026-08-29 05:22:12,978.978 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:22:13,202.202 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:22:13,213.213 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:22:13,350.350 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:22:13,411.411 INFO    ] time= 29/08/2026 05:22:13
[2026-08-29 05:22:13,479.479 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:22:13,487.487 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:22:13,602.602 INFO    ] No existing commands found in stream
[2026-08-29 05:22:18,625.625 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:22:18,628.628 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-08-29 05:22:19,770.770 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:22:19,772.772 INFO    ] Checking for system updates...
[2026-08-29 05:22:19,793.793 INFO    ] 200
[2026-08-29 05:22:19,794.794 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:22:19,827.827 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:22:19,828.828 INFO    ] No update needed
[2026-08-29 05:22:19,830.830 INFO    ] Checking for camera pi updates...
[2026-08-29 05:22:19,851.851 INFO    ] 200
[2026-08-29 05:22:19,853.853 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:22:19,876.876 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:22:19,974.974 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:22:19,976.976 INFO    ] No camera update needed
[2026-08-29 05:22:19,977.977 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:22:19,978.978 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:22:19,981.981 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:22:19,984.984 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:22:22,023.023 INFO    ] ================================================
[2026-08-29 05:22:22,039.039 INFO    ] Launching Daemon at Sat Aug 29 05:22:22 IST 2026
[2026-08-29 05:22:22,050.050 INFO    ] ================================================
[2026-08-29 05:22:22,663.663 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:22:22
[2026-08-29 05:22:23,279.279 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:22:23,469.469 INFO    ] Initializing speech engine...
[2026-08-29 05:22:23,478.478 INFO    ] 2026-08-29 05:22:23
[2026-08-29 05:22:23,754.754 INFO    ] 2026-08-29 05:22:23
[2026-08-29 05:22:23,817.817 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:22:24,047.047 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:22:24,056.056 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:22:24,199.199 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:22:24,264.264 INFO    ] time= 29/08/2026 05:22:24
[2026-08-29 05:22:24,325.325 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:22:24,338.338 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:22:24,463.463 INFO    ] No existing commands found in stream
[2026-08-29 05:22:29,497.497 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:22:29,501.501 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-08-29 05:22:30,659.659 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:22:30,660.660 INFO    ] Checking for system updates...
[2026-08-29 05:22:30,681.681 INFO    ] 200
[2026-08-29 05:22:30,683.683 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:22:30,713.713 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:22:30,715.715 INFO    ] No update needed
[2026-08-29 05:22:30,716.716 INFO    ] Checking for camera pi updates...
[2026-08-29 05:22:30,736.736 INFO    ] 200
[2026-08-29 05:22:30,737.737 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:22:30,760.760 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:22:30,849.849 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:22:30,851.851 INFO    ] No camera update needed
[2026-08-29 05:22:30,854.854 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:22:30,857.857 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:22:30,864.864 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:22:30,869.869 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:22:32,913.913 INFO    ] ================================================
[2026-08-29 05:22:32,931.931 INFO    ] Launching Daemon at Sat Aug 29 05:22:32 IST 2026
[2026-08-29 05:22:32,943.943 INFO    ] ================================================
[2026-08-29 05:22:33,657.657 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:22:33
[2026-08-29 05:22:34,121.121 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:22:34,276.276 INFO    ] Initializing speech engine...
[2026-08-29 05:22:34,280.280 INFO    ] 2026-08-29 05:22:34
[2026-08-29 05:22:34,492.492 INFO    ] 2026-08-29 05:22:34
[2026-08-29 05:22:34,521.521 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:22:34,649.649 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:22:34,708.708 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:22:34,841.841 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:22:34,917.917 INFO    ] time= 29/08/2026 05:22:34
[2026-08-29 05:22:34,942.942 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:22:34,948.948 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:22:35,016.016 INFO    ] No existing commands found in stream
[2026-08-29 05:22:40,031.031 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:22:40,034.034 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-08-29 05:22:42,824.824 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:22:42,825.825 INFO    ] Checking for system updates...
[2026-08-29 05:22:42,846.846 INFO    ] 200
[2026-08-29 05:22:42,848.848 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:22:42,880.880 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:22:42,882.882 INFO    ] No update needed
[2026-08-29 05:22:42,884.884 INFO    ] Checking for camera pi updates...
[2026-08-29 05:22:42,906.906 INFO    ] 200
[2026-08-29 05:22:42,908.908 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:22:42,931.931 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:22:43,012.012 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:22:43,015.015 INFO    ] No camera update needed
[2026-08-29 05:22:43,018.018 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:22:43,020.020 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:22:43,027.027 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:22:43,033.033 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:22:45,075.075 INFO    ] ================================================
[2026-08-29 05:22:45,091.091 INFO    ] Launching Daemon at Sat Aug 29 05:22:45 IST 2026
[2026-08-29 05:22:45,101.101 INFO    ] ================================================
[2026-08-29 05:22:45,775.775 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:22:45
[2026-08-29 05:22:46,285.285 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:22:46,437.437 INFO    ] Initializing speech engine...
[2026-08-29 05:22:46,443.443 INFO    ] 2026-08-29 05:22:46
[2026-08-29 05:22:46,666.666 INFO    ] 2026-08-29 05:22:46
[2026-08-29 05:22:46,721.721 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:22:46,950.950 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:22:46,956.956 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:22:47,091.091 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:22:47,156.156 INFO    ] time= 29/08/2026 05:22:47
[2026-08-29 05:22:47,211.211 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:22:47,225.225 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:22:47,362.362 INFO    ] No existing commands found in stream
[2026-08-29 05:22:52,384.384 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:22:52,387.387 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-08-29 05:22:54,864.864 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:22:54,865.865 INFO    ] Checking for system updates...
[2026-08-29 05:22:54,887.887 INFO    ] 200
[2026-08-29 05:22:54,889.889 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:22:54,921.921 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:22:54,923.923 INFO    ] No update needed
[2026-08-29 05:22:54,924.924 INFO    ] Checking for camera pi updates...
[2026-08-29 05:22:54,948.948 INFO    ] 200
[2026-08-29 05:22:54,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:22:54,973.973 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:22:55,057.057 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:22:55,059.059 INFO    ] No camera update needed
[2026-08-29 05:22:55,060.060 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:22:55,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:22:55,065.065 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:22:55,068.068 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:22:57,108.108 INFO    ] ================================================
[2026-08-29 05:22:57,124.124 INFO    ] Launching Daemon at Sat Aug 29 05:22:57 IST 2026
[2026-08-29 05:22:57,135.135 INFO    ] ================================================
[2026-08-29 05:22:57,499.499 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:22:57
[2026-08-29 05:22:57,920.920 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:22:58,195.195 INFO    ] Initializing speech engine...
[2026-08-29 05:22:58,206.206 INFO    ] 2026-08-29 05:22:58
[2026-08-29 05:22:58,454.454 INFO    ] 2026-08-29 05:22:58
[2026-08-29 05:22:58,489.489 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:22:58,676.676 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:22:58,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:22:58,804.804 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:22:58,812.812 INFO    ] time= 29/08/2026 05:22:58
[2026-08-29 05:22:58,835.835 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:22:58,841.841 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:22:58,899.899 INFO    ] No existing commands found in stream
[2026-08-29 05:23:03,934.934 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:23:03,938.938 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-08-29 05:23:05,265.265 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:23:05,268.268 INFO    ] Checking for system updates...
[2026-08-29 05:23:05,304.304 INFO    ] 200
[2026-08-29 05:23:05,306.306 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:23:05,367.367 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:23:05,369.369 INFO    ] No update needed
[2026-08-29 05:23:05,371.371 INFO    ] Checking for camera pi updates...
[2026-08-29 05:23:05,405.405 INFO    ] 200
[2026-08-29 05:23:05,407.407 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:23:05,447.447 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:23:05,530.530 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:23:05,532.532 INFO    ] No camera update needed
[2026-08-29 05:23:05,533.533 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:23:05,534.534 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:23:05,537.537 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:23:05,540.540 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:23:07,581.581 INFO    ] ================================================
[2026-08-29 05:23:07,597.597 INFO    ] Launching Daemon at Sat Aug 29 05:23:07 IST 2026
[2026-08-29 05:23:07,608.608 INFO    ] ================================================
[2026-08-29 05:23:07,960.960 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:23:07
[2026-08-29 05:23:08,273.273 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:23:08,405.405 INFO    ] Initializing speech engine...
[2026-08-29 05:23:08,410.410 INFO    ] 2026-08-29 05:23:08
[2026-08-29 05:23:08,610.610 INFO    ] 2026-08-29 05:23:08
[2026-08-29 05:23:08,676.676 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:23:08,869.869 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:23:08,878.878 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:23:09,025.025 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:23:09,041.041 INFO    ] time= 29/08/2026 05:23:09
[2026-08-29 05:23:09,095.095 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:23:09,134.134 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:23:09,215.215 INFO    ] No existing commands found in stream
[2026-08-29 05:23:14,226.226 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:23:14,229.229 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-08-29 05:23:15,457.457 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:23:15,458.458 INFO    ] Checking for system updates...
[2026-08-29 05:23:15,479.479 INFO    ] 200
[2026-08-29 05:23:15,481.481 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:23:15,511.511 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:23:15,512.512 INFO    ] No update needed
[2026-08-29 05:23:15,514.514 INFO    ] Checking for camera pi updates...
[2026-08-29 05:23:15,533.533 INFO    ] 200
[2026-08-29 05:23:15,534.534 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:23:15,559.559 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:23:15,724.724 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:23:15,726.726 INFO    ] No camera update needed
[2026-08-29 05:23:15,727.727 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:23:15,728.728 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:23:15,731.731 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:23:15,734.734 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:23:17,773.773 INFO    ] ================================================
[2026-08-29 05:23:17,789.789 INFO    ] Launching Daemon at Sat Aug 29 05:23:17 IST 2026
[2026-08-29 05:23:17,802.802 INFO    ] ================================================
[2026-08-29 05:23:18,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:23:18
[2026-08-29 05:23:18,506.506 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:23:18,657.657 INFO    ] Initializing speech engine...
[2026-08-29 05:23:18,663.663 INFO    ] 2026-08-29 05:23:18
[2026-08-29 05:23:18,871.871 INFO    ] 2026-08-29 05:23:18
[2026-08-29 05:23:18,900.900 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:23:19,029.029 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:23:19,087.087 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:23:19,230.230 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:23:19,292.292 INFO    ] time= 29/08/2026 05:23:19
[2026-08-29 05:23:19,316.316 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:23:19,323.323 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:23:19,390.390 INFO    ] No existing commands found in stream
[2026-08-29 05:23:24,404.404 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:23:24,407.407 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-08-29 05:23:27,588.588 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:23:27,589.589 INFO    ] Checking for system updates...
[2026-08-29 05:23:27,611.611 INFO    ] 200
[2026-08-29 05:23:27,613.613 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:23:27,643.643 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:23:27,645.645 INFO    ] No update needed
[2026-08-29 05:23:27,646.646 INFO    ] Checking for camera pi updates...
[2026-08-29 05:23:27,665.665 INFO    ] 200
[2026-08-29 05:23:27,667.667 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:23:27,690.690 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:23:27,788.788 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:23:27,789.789 INFO    ] No camera update needed
[2026-08-29 05:23:27,791.791 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:23:27,792.792 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:23:27,795.795 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:23:27,798.798 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:23:29,840.840 INFO    ] ================================================
[2026-08-29 05:23:29,856.856 INFO    ] Launching Daemon at Sat Aug 29 05:23:29 IST 2026
[2026-08-29 05:23:29,868.868 INFO    ] ================================================
[2026-08-29 05:23:30,214.214 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:23:30
[2026-08-29 05:23:30,526.526 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:23:30,659.659 INFO    ] Initializing speech engine...
[2026-08-29 05:23:30,673.673 INFO    ] 2026-08-29 05:23:30
[2026-08-29 05:23:30,881.881 INFO    ] 2026-08-29 05:23:30
[2026-08-29 05:23:30,909.909 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:23:31,035.035 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:23:31,104.104 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:23:31,285.285 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:23:31,330.330 INFO    ] time= 29/08/2026 05:23:31
[2026-08-29 05:23:31,384.384 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:23:31,418.418 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:23:31,539.539 INFO    ] No existing commands found in stream
[2026-08-29 05:23:36,558.558 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:23:36,561.561 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 05:23:40,143.143 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:23:40,144.144 INFO    ] Checking for system updates...
[2026-08-29 05:23:40,166.166 INFO    ] 200
[2026-08-29 05:23:40,168.168 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:23:40,197.197 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:23:40,199.199 INFO    ] No update needed
[2026-08-29 05:23:40,200.200 INFO    ] Checking for camera pi updates...
[2026-08-29 05:23:40,220.220 INFO    ] 200
[2026-08-29 05:23:40,221.221 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:23:40,245.245 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:23:40,293.293 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:23:40,296.296 INFO    ] No camera update needed
[2026-08-29 05:23:40,298.298 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:23:40,300.300 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:23:40,305.305 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:23:40,310.310 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:23:42,352.352 INFO    ] ================================================
[2026-08-29 05:23:42,368.368 INFO    ] Launching Daemon at Sat Aug 29 05:23:42 IST 2026
[2026-08-29 05:23:42,379.379 INFO    ] ================================================
[2026-08-29 05:23:42,971.971 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:23:42
[2026-08-29 05:23:43,513.513 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:23:43,667.667 INFO    ] Initializing speech engine...
[2026-08-29 05:23:43,671.671 INFO    ] 2026-08-29 05:23:43
[2026-08-29 05:23:43,878.878 INFO    ] 2026-08-29 05:23:43
[2026-08-29 05:23:43,906.906 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:23:44,029.029 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:23:44,092.092 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:23:44,227.227 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:23:44,289.289 INFO    ] time= 29/08/2026 05:23:44
[2026-08-29 05:23:44,322.322 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:23:44,329.329 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:23:44,406.406 INFO    ] No existing commands found in stream
[2026-08-29 05:23:49,417.417 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:23:49,420.420 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-08-29 05:23:50,730.730 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:23:50,732.732 INFO    ] Checking for system updates...
[2026-08-29 05:23:50,752.752 INFO    ] 200
[2026-08-29 05:23:50,754.754 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:23:50,784.784 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:23:50,785.785 INFO    ] No update needed
[2026-08-29 05:23:50,787.787 INFO    ] Checking for camera pi updates...
[2026-08-29 05:23:50,806.806 INFO    ] 200
[2026-08-29 05:23:50,807.807 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:23:50,830.830 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:23:50,921.921 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:23:50,922.922 INFO    ] No camera update needed
[2026-08-29 05:23:50,923.923 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:23:50,925.925 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:23:50,927.927 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:23:50,930.930 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:23:52,968.968 INFO    ] ================================================
[2026-08-29 05:23:52,984.984 INFO    ] Launching Daemon at Sat Aug 29 05:23:52 IST 2026
[2026-08-29 05:23:53,996.996 INFO    ] ================================================
[2026-08-29 05:23:53,335.335 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:23:53
[2026-08-29 05:23:53,657.657 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:23:53,802.802 INFO    ] Initializing speech engine...
[2026-08-29 05:23:53,807.807 INFO    ] 2026-08-29 05:23:53
[2026-08-29 05:23:54,014.014 INFO    ] 2026-08-29 05:23:53
[2026-08-29 05:23:54,043.043 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:23:54,165.165 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:23:54,228.228 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:23:54,366.366 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:23:54,432.432 INFO    ] time= 29/08/2026 05:23:54
[2026-08-29 05:23:54,456.456 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:23:54,463.463 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:23:54,527.527 INFO    ] No existing commands found in stream
[2026-08-29 05:23:59,538.538 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:23:59,541.541 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-08-29 05:24:00,590.590 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:24:00,592.592 INFO    ] Checking for system updates...
[2026-08-29 05:24:00,615.615 INFO    ] 200
[2026-08-29 05:24:00,616.616 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:24:00,647.647 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:24:00,648.648 INFO    ] No update needed
[2026-08-29 05:24:00,650.650 INFO    ] Checking for camera pi updates...
[2026-08-29 05:24:00,671.671 INFO    ] 200
[2026-08-29 05:24:00,673.673 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:24:00,697.697 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:24:00,783.783 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:24:00,785.785 INFO    ] No camera update needed
[2026-08-29 05:24:00,786.786 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:24:00,787.787 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:24:00,790.790 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:24:00,793.793 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:24:02,835.835 INFO    ] ================================================
[2026-08-29 05:24:02,857.857 INFO    ] Launching Daemon at Sat Aug 29 05:24:02 IST 2026
[2026-08-29 05:24:02,875.875 INFO    ] ================================================
[2026-08-29 05:24:03,546.546 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:24:03
[2026-08-29 05:24:04,206.206 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:24:04,515.515 INFO    ] Initializing speech engine...
[2026-08-29 05:24:04,521.521 INFO    ] 2026-08-29 05:24:04
[2026-08-29 05:24:04,797.797 INFO    ] 2026-08-29 05:24:04
[2026-08-29 05:24:04,849.849 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:24:05,074.074 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:24:05,084.084 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:24:05,219.219 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:24:05,294.294 INFO    ] time= 29/08/2026 05:24:05
[2026-08-29 05:24:05,304.304 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:24:05,316.316 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:24:05,416.416 INFO    ] No existing commands found in stream
[2026-08-29 05:24:10,444.444 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:24:10,447.447 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-08-29 05:24:11,891.891 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:24:11,892.892 INFO    ] Checking for system updates...
[2026-08-29 05:24:11,915.915 INFO    ] 200
[2026-08-29 05:24:11,917.917 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:24:11,949.949 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:24:11,950.950 INFO    ] No update needed
[2026-08-29 05:24:11,951.951 INFO    ] Checking for camera pi updates...
[2026-08-29 05:24:11,972.972 INFO    ] 200
[2026-08-29 05:24:11,973.973 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:24:11,996.996 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:24:12,072.072 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:24:12,075.075 INFO    ] No camera update needed
[2026-08-29 05:24:12,077.077 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:24:12,080.080 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:24:12,086.086 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:24:12,091.091 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:24:14,132.132 INFO    ] ================================================
[2026-08-29 05:24:14,147.147 INFO    ] Launching Daemon at Sat Aug 29 05:24:14 IST 2026
[2026-08-29 05:24:14,158.158 INFO    ] ================================================
[2026-08-29 05:24:14,727.727 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:24:14
[2026-08-29 05:24:15,186.186 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:24:15,423.423 INFO    ] Initializing speech engine...
[2026-08-29 05:24:15,429.429 INFO    ] 2026-08-29 05:24:15
[2026-08-29 05:24:15,694.694 INFO    ] 2026-08-29 05:24:15
[2026-08-29 05:24:15,729.729 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:24:15,923.923 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:24:15,929.929 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:24:16,061.061 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:24:16,067.067 INFO    ] time= 29/08/2026 05:24:16
[2026-08-29 05:24:16,088.088 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:24:16,110.110 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:24:16,192.192 INFO    ] No existing commands found in stream
[2026-08-29 05:24:21,204.204 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:24:21,207.207 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-08-29 05:24:23,706.706 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:24:23,707.707 INFO    ] Checking for system updates...
[2026-08-29 05:24:23,728.728 INFO    ] 200
[2026-08-29 05:24:23,729.729 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:24:23,759.759 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:24:23,760.760 INFO    ] No update needed
[2026-08-29 05:24:23,761.761 INFO    ] Checking for camera pi updates...
[2026-08-29 05:24:23,783.783 INFO    ] 200
[2026-08-29 05:24:23,784.784 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:24:23,807.807 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:24:23,877.877 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:24:23,879.879 INFO    ] No camera update needed
[2026-08-29 05:24:23,880.880 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:24:23,881.881 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:24:23,884.884 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:24:23,887.887 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:24:25,925.925 INFO    ] ================================================
[2026-08-29 05:24:25,940.940 INFO    ] Launching Daemon at Sat Aug 29 05:24:25 IST 2026
[2026-08-29 05:24:25,953.953 INFO    ] ================================================
[2026-08-29 05:24:26,318.318 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:24:26
[2026-08-29 05:24:26,631.631 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:24:26,764.764 INFO    ] Initializing speech engine...
[2026-08-29 05:24:26,778.778 INFO    ] 2026-08-29 05:24:26
[2026-08-29 05:24:26,984.984 INFO    ] 2026-08-29 05:24:26
[2026-08-29 05:24:27,012.012 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:24:27,136.136 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:24:27,160.160 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:24:27,315.315 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:24:27,342.342 INFO    ] time= 29/08/2026 05:24:27
[2026-08-29 05:24:27,406.406 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:24:27,433.433 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:24:27,505.505 INFO    ] No existing commands found in stream
[2026-08-29 05:24:32,514.514 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:24:32,517.517 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-08-29 05:24:36,293.293 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:24:36,294.294 INFO    ] Checking for system updates...
[2026-08-29 05:24:36,315.315 INFO    ] 200
[2026-08-29 05:24:36,316.316 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:24:36,345.345 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:24:36,347.347 INFO    ] No update needed
[2026-08-29 05:24:36,349.349 INFO    ] Checking for camera pi updates...
[2026-08-29 05:24:36,368.368 INFO    ] 200
[2026-08-29 05:24:36,369.369 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:24:36,393.393 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:24:36,465.465 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:24:36,467.467 INFO    ] No camera update needed
[2026-08-29 05:24:36,468.468 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:24:36,469.469 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:24:36,472.472 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:24:36,475.475 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:24:38,514.514 INFO    ] ================================================
[2026-08-29 05:24:38,530.530 INFO    ] Launching Daemon at Sat Aug 29 05:24:38 IST 2026
[2026-08-29 05:24:38,541.541 INFO    ] ================================================
[2026-08-29 05:24:38,883.883 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:24:38
[2026-08-29 05:24:39,222.222 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:24:39,374.374 INFO    ] Initializing speech engine...
[2026-08-29 05:24:39,380.380 INFO    ] 2026-08-29 05:24:39
[2026-08-29 05:24:39,588.588 INFO    ] 2026-08-29 05:24:39
[2026-08-29 05:24:39,618.618 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:24:39,767.767 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:24:39,774.774 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:24:39,935.935 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:24:39,981.981 INFO    ] time= 29/08/2026 05:24:39
[2026-08-29 05:24:39,997.997 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:24:40,007.007 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:24:40,124.124 INFO    ] No existing commands found in stream
[2026-08-29 05:24:45,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:24:45,153.153 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-08-29 05:24:49,781.781 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:24:49,785.785 INFO    ] Checking for system updates...
[2026-08-29 05:24:49,818.818 INFO    ] 200
[2026-08-29 05:24:49,820.820 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:24:49,850.850 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:24:49,851.851 INFO    ] No update needed
[2026-08-29 05:24:49,853.853 INFO    ] Checking for camera pi updates...
[2026-08-29 05:24:49,873.873 INFO    ] 200
[2026-08-29 05:24:49,874.874 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:24:49,897.897 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:24:49,977.977 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:24:49,979.979 INFO    ] No camera update needed
[2026-08-29 05:24:49,980.980 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:24:49,982.982 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:24:49,985.985 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:24:49,988.988 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:24:52,020.020 INFO    ] ================================================
[2026-08-29 05:24:52,028.028 INFO    ] Launching Daemon at Sat Aug 29 05:24:52 IST 2026
[2026-08-29 05:24:52,035.035 INFO    ] ================================================
[2026-08-29 05:24:52,677.677 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:24:52
[2026-08-29 05:24:53,357.357 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:24:53,670.670 INFO    ] Initializing speech engine...
[2026-08-29 05:24:53,683.683 INFO    ] 2026-08-29 05:24:53
[2026-08-29 05:24:53,972.972 INFO    ] 2026-08-29 05:24:53
[2026-08-29 05:24:54,022.022 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:24:54,519.519 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:24:54,526.526 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:24:54,704.704 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:24:54,775.775 INFO    ] time= 29/08/2026 05:24:54
[2026-08-29 05:24:54,816.816 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:24:54,872.872 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:24:55,362.362 INFO    ] No existing commands found in stream
[2026-08-29 05:25:00,391.391 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:25:00,394.394 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-08-29 05:25:02,387.387 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:25:02,390.390 INFO    ] Checking for system updates...
[2026-08-29 05:25:02,447.447 INFO    ] 200
[2026-08-29 05:25:02,450.450 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:25:02,542.542 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:25:02,546.546 INFO    ] No update needed
[2026-08-29 05:25:02,549.549 INFO    ] Checking for camera pi updates...
[2026-08-29 05:25:02,595.595 INFO    ] 200
[2026-08-29 05:25:02,598.598 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:25:02,651.651 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:25:02,777.777 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:25:02,780.780 INFO    ] No camera update needed
[2026-08-29 05:25:02,783.783 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:25:02,786.786 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:25:02,793.793 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:25:02,799.799 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:25:04,841.841 INFO    ] ================================================
[2026-08-29 05:25:04,858.858 INFO    ] Launching Daemon at Sat Aug 29 05:25:04 IST 2026
[2026-08-29 05:25:04,869.869 INFO    ] ================================================
[2026-08-29 05:25:05,231.231 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:25:05
[2026-08-29 05:25:05,542.542 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:25:05,674.674 INFO    ] Initializing speech engine...
[2026-08-29 05:25:05,687.687 INFO    ] 2026-08-29 05:25:05
[2026-08-29 05:25:05,896.896 INFO    ] 2026-08-29 05:25:05
[2026-08-29 05:25:05,925.925 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:25:06,048.048 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:25:06,087.087 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:25:06,252.252 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:25:06,307.307 INFO    ] time= 29/08/2026 05:25:06
[2026-08-29 05:25:06,333.333 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:25:06,391.391 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:25:06,483.483 INFO    ] No existing commands found in stream
[2026-08-29 05:25:11,508.508 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:25:11,511.511 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 05:25:12,136.136 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:25:12,138.138 INFO    ] Checking for system updates...
[2026-08-29 05:25:12,159.159 INFO    ] 200
[2026-08-29 05:25:12,160.160 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:25:12,190.190 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:25:12,191.191 INFO    ] No update needed
[2026-08-29 05:25:12,193.193 INFO    ] Checking for camera pi updates...
[2026-08-29 05:25:12,212.212 INFO    ] 200
[2026-08-29 05:25:12,213.213 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:25:12,236.236 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:25:12,313.313 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:25:12,315.315 INFO    ] No camera update needed
[2026-08-29 05:25:12,316.316 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:25:12,317.317 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:25:12,320.320 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:25:12,323.323 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:25:14,363.363 INFO    ] ================================================
[2026-08-29 05:25:14,377.377 INFO    ] Launching Daemon at Sat Aug 29 05:25:14 IST 2026
[2026-08-29 05:25:14,388.388 INFO    ] ================================================
[2026-08-29 05:25:14,733.733 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:25:14
[2026-08-29 05:25:15,046.046 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:25:15,188.188 INFO    ] Initializing speech engine...
[2026-08-29 05:25:15,193.193 INFO    ] 2026-08-29 05:25:15
[2026-08-29 05:25:15,443.443 INFO    ] 2026-08-29 05:25:15
[2026-08-29 05:25:15,497.497 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:25:15,660.660 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:25:15,669.669 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:25:15,836.836 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:25:15,867.867 INFO    ] time= 29/08/2026 05:25:15
[2026-08-29 05:25:15,873.873 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:25:15,891.891 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:25:16,017.017 INFO    ] No existing commands found in stream
[2026-08-29 05:25:21,033.033 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:25:21,036.036 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-08-29 05:25:22,648.648 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:25:22,649.649 INFO    ] Checking for system updates...
[2026-08-29 05:25:22,669.669 INFO    ] 200
[2026-08-29 05:25:22,671.671 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:25:22,700.700 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:25:22,702.702 INFO    ] No update needed
[2026-08-29 05:25:22,703.703 INFO    ] Checking for camera pi updates...
[2026-08-29 05:25:22,723.723 INFO    ] 200
[2026-08-29 05:25:22,724.724 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:25:22,746.746 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:25:22,922.922 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:25:22,923.923 INFO    ] No camera update needed
[2026-08-29 05:25:22,924.924 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:25:22,925.925 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:25:22,928.928 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:25:22,931.931 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:25:24,969.969 INFO    ] ================================================
[2026-08-29 05:25:24,985.985 INFO    ] Launching Daemon at Sat Aug 29 05:25:24 IST 2026
[2026-08-29 05:25:25,995.995 INFO    ] ================================================
[2026-08-29 05:25:25,560.560 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:25:25
[2026-08-29 05:25:26,142.142 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:25:26,427.427 INFO    ] Initializing speech engine...
[2026-08-29 05:25:26,438.438 INFO    ] 2026-08-29 05:25:26
[2026-08-29 05:25:26,700.700 INFO    ] 2026-08-29 05:25:26
[2026-08-29 05:25:26,729.729 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:25:26,853.853 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:25:26,917.917 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:25:27,056.056 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:25:27,125.125 INFO    ] time= 29/08/2026 05:25:27
[2026-08-29 05:25:27,149.149 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:25:27,156.156 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:25:27,222.222 INFO    ] No existing commands found in stream
[2026-08-29 05:25:32,233.233 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:25:32,237.237 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-08-29 05:25:35,145.145 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:25:35,147.147 INFO    ] Checking for system updates...
[2026-08-29 05:25:35,167.167 INFO    ] 200
[2026-08-29 05:25:35,169.169 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:25:35,201.201 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:25:35,203.203 INFO    ] No update needed
[2026-08-29 05:25:35,204.204 INFO    ] Checking for camera pi updates...
[2026-08-29 05:25:35,225.225 INFO    ] 200
[2026-08-29 05:25:35,226.226 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:25:35,251.251 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:25:35,295.295 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:25:35,297.297 INFO    ] No camera update needed
[2026-08-29 05:25:35,298.298 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:25:35,299.299 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:25:35,302.302 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:25:35,305.305 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:25:37,344.344 INFO    ] ================================================
[2026-08-29 05:25:37,359.359 INFO    ] Launching Daemon at Sat Aug 29 05:25:37 IST 2026
[2026-08-29 05:25:37,369.369 INFO    ] ================================================
[2026-08-29 05:25:37,719.719 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:25:37
[2026-08-29 05:25:38,032.032 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:25:38,175.175 INFO    ] Initializing speech engine...
[2026-08-29 05:25:38,180.180 INFO    ] 2026-08-29 05:25:38
[2026-08-29 05:25:38,383.383 INFO    ] 2026-08-29 05:25:38
[2026-08-29 05:25:38,411.411 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:25:38,548.548 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:25:38,616.616 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:25:38,750.750 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:25:38,767.767 INFO    ] time= 29/08/2026 05:25:38
[2026-08-29 05:25:38,776.776 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:25:38,801.801 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:25:38,897.897 INFO    ] No existing commands found in stream
[2026-08-29 05:25:43,917.917 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:25:43,926.926 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-08-29 05:25:45,936.936 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:25:45,937.937 INFO    ] Checking for system updates...
[2026-08-29 05:25:45,958.958 INFO    ] 200
[2026-08-29 05:25:45,960.960 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:25:45,992.992 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:25:45,993.993 INFO    ] No update needed
[2026-08-29 05:25:45,995.995 INFO    ] Checking for camera pi updates...
[2026-08-29 05:25:46,017.017 INFO    ] 200
[2026-08-29 05:25:46,019.019 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:25:46,044.044 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:25:46,134.134 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:25:46,135.135 INFO    ] No camera update needed
[2026-08-29 05:25:46,136.136 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:25:46,138.138 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:25:46,141.141 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:25:46,144.144 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:25:48,184.184 INFO    ] ================================================
[2026-08-29 05:25:48,199.199 INFO    ] Launching Daemon at Sat Aug 29 05:25:48 IST 2026
[2026-08-29 05:25:48,209.209 INFO    ] ================================================
[2026-08-29 05:25:48,560.560 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:25:48
[2026-08-29 05:25:48,992.992 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:25:49,264.264 INFO    ] Initializing speech engine...
[2026-08-29 05:25:49,272.272 INFO    ] 2026-08-29 05:25:49
[2026-08-29 05:25:49,524.524 INFO    ] 2026-08-29 05:25:49
[2026-08-29 05:25:49,559.559 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:25:49,734.734 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:25:49,748.748 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:25:49,861.861 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:25:49,881.881 INFO    ] time= 29/08/2026 05:25:49
[2026-08-29 05:25:49,901.901 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:25:49,909.909 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:25:49,978.978 INFO    ] No existing commands found in stream
[2026-08-29 05:25:54,990.990 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:25:54,993.993 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-08-29 05:25:55,745.745 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:25:55,747.747 INFO    ] Checking for system updates...
[2026-08-29 05:25:55,767.767 INFO    ] 200
[2026-08-29 05:25:55,768.768 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:25:55,798.798 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:25:55,799.799 INFO    ] No update needed
[2026-08-29 05:25:55,801.801 INFO    ] Checking for camera pi updates...
[2026-08-29 05:25:55,820.820 INFO    ] 200
[2026-08-29 05:25:55,821.821 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:25:55,844.844 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:25:55,939.939 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:25:55,940.940 INFO    ] No camera update needed
[2026-08-29 05:25:55,942.942 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:25:55,943.943 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:25:55,946.946 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:25:55,948.948 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:25:57,987.987 INFO    ] ================================================
[2026-08-29 05:25:58,002.002 INFO    ] Launching Daemon at Sat Aug 29 05:25:57 IST 2026
[2026-08-29 05:25:58,013.013 INFO    ] ================================================
[2026-08-29 05:25:58,392.392 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:25:58
[2026-08-29 05:25:58,750.750 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:25:59,055.055 INFO    ] Initializing speech engine...
[2026-08-29 05:25:59,071.071 INFO    ] 2026-08-29 05:25:59
[2026-08-29 05:25:59,381.381 INFO    ] 2026-08-29 05:25:59
[2026-08-29 05:25:59,466.466 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:25:59,617.617 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:25:59,626.626 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:25:59,761.761 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:25:59,794.794 INFO    ] time= 29/08/2026 05:25:59
[2026-08-29 05:25:59,843.843 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:25:59,898.898 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:25:59,980.980 INFO    ] No existing commands found in stream
[2026-08-29 05:26:05,013.013 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:26:05,022.022 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 05:26:06,011.011 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:26:06,013.013 INFO    ] Checking for system updates...
[2026-08-29 05:26:06,034.034 INFO    ] 200
[2026-08-29 05:26:06,035.035 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:26:06,065.065 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:26:06,067.067 INFO    ] No update needed
[2026-08-29 05:26:06,068.068 INFO    ] Checking for camera pi updates...
[2026-08-29 05:26:06,097.097 INFO    ] 200
[2026-08-29 05:26:06,099.099 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:26:06,146.146 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:26:06,229.229 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:26:06,232.232 INFO    ] No camera update needed
[2026-08-29 05:26:06,235.235 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:26:06,237.237 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:26:06,243.243 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:26:06,249.249 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:26:08,289.289 INFO    ] ================================================
[2026-08-29 05:26:08,304.304 INFO    ] Launching Daemon at Sat Aug 29 05:26:08 IST 2026
[2026-08-29 05:26:08,315.315 INFO    ] ================================================
[2026-08-29 05:26:08,912.912 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:26:08
[2026-08-29 05:26:09,372.372 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:26:09,599.599 INFO    ] Initializing speech engine...
[2026-08-29 05:26:09,606.606 INFO    ] 2026-08-29 05:26:09
[2026-08-29 05:26:09,905.905 INFO    ] 2026-08-29 05:26:09
[2026-08-29 05:26:09,930.930 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:26:10,090.090 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:26:10,134.134 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:26:10,257.257 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:26:10,262.262 INFO    ] time= 29/08/2026 05:26:10
[2026-08-29 05:26:10,282.282 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:26:10,291.291 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:26:10,348.348 INFO    ] No existing commands found in stream
[2026-08-29 05:26:15,379.379 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:26:15,387.387 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-08-29 05:26:18,928.928 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:26:18,929.929 INFO    ] Checking for system updates...
[2026-08-29 05:26:18,951.951 INFO    ] 200
[2026-08-29 05:26:18,952.952 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:26:18,982.982 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:26:18,984.984 INFO    ] No update needed
[2026-08-29 05:26:18,985.985 INFO    ] Checking for camera pi updates...
[2026-08-29 05:26:19,007.007 INFO    ] 200
[2026-08-29 05:26:19,009.009 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:26:19,033.033 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:26:19,127.127 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:26:19,128.128 INFO    ] No camera update needed
[2026-08-29 05:26:19,130.130 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:26:19,131.131 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:26:19,134.134 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:26:19,136.136 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:26:21,176.176 INFO    ] ================================================
[2026-08-29 05:26:21,192.192 INFO    ] Launching Daemon at Sat Aug 29 05:26:21 IST 2026
[2026-08-29 05:26:21,202.202 INFO    ] ================================================
[2026-08-29 05:26:21,746.746 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:26:21
[2026-08-29 05:26:22,354.354 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:26:22,631.631 INFO    ] Initializing speech engine...
[2026-08-29 05:26:22,640.640 INFO    ] 2026-08-29 05:26:22
[2026-08-29 05:26:22,890.890 INFO    ] 2026-08-29 05:26:22
[2026-08-29 05:26:22,926.926 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:26:23,099.099 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:26:23,111.111 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:26:23,256.256 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:26:23,261.261 INFO    ] time= 29/08/2026 05:26:23
[2026-08-29 05:26:23,268.268 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:26:23,314.314 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:26:23,450.450 INFO    ] No existing commands found in stream
[2026-08-29 05:26:28,469.469 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:26:28,472.472 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-08-29 05:26:32,110.110 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:26:32,113.113 INFO    ] Checking for system updates...
[2026-08-29 05:26:32,156.156 INFO    ] 200
[2026-08-29 05:26:32,159.159 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:26:32,228.228 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:26:32,231.231 INFO    ] No update needed
[2026-08-29 05:26:32,234.234 INFO    ] Checking for camera pi updates...
[2026-08-29 05:26:32,272.272 INFO    ] 200
[2026-08-29 05:26:32,275.275 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:26:32,323.323 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:26:32,442.442 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:26:32,445.445 INFO    ] No camera update needed
[2026-08-29 05:26:32,448.448 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:26:32,451.451 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:26:32,457.457 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:26:32,463.463 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:26:34,508.508 INFO    ] ================================================
[2026-08-29 05:26:34,524.524 INFO    ] Launching Daemon at Sat Aug 29 05:26:34 IST 2026
[2026-08-29 05:26:34,535.535 INFO    ] ================================================
[2026-08-29 05:26:35,160.160 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:26:35
[2026-08-29 05:26:35,499.499 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:26:35,651.651 INFO    ] Initializing speech engine...
[2026-08-29 05:26:35,657.657 INFO    ] 2026-08-29 05:26:35
[2026-08-29 05:26:35,867.867 INFO    ] 2026-08-29 05:26:35
[2026-08-29 05:26:35,897.897 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:26:36,027.027 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:26:36,085.085 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:26:36,237.237 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:26:36,295.295 INFO    ] time= 29/08/2026 05:26:36
[2026-08-29 05:26:36,319.319 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:26:36,326.326 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:26:36,392.392 INFO    ] No existing commands found in stream
[2026-08-29 05:26:41,403.403 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:26:41,406.406 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-08-29 05:26:42,997.997 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:26:42,998.998 INFO    ] Checking for system updates...
[2026-08-29 05:26:43,019.019 INFO    ] 200
[2026-08-29 05:26:43,020.020 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:26:43,050.050 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:26:43,052.052 INFO    ] No update needed
[2026-08-29 05:26:43,053.053 INFO    ] Checking for camera pi updates...
[2026-08-29 05:26:43,073.073 INFO    ] 200
[2026-08-29 05:26:43,075.075 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:26:43,103.103 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:26:43,194.194 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:26:43,197.197 INFO    ] No camera update needed
[2026-08-29 05:26:43,199.199 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:26:43,201.201 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:26:43,207.207 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:26:43,212.212 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:26:45,253.253 INFO    ] ================================================
[2026-08-29 05:26:45,267.267 INFO    ] Launching Daemon at Sat Aug 29 05:26:45 IST 2026
[2026-08-29 05:26:45,278.278 INFO    ] ================================================
[2026-08-29 05:26:45,864.864 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:26:45
[2026-08-29 05:26:46,353.353 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:26:46,497.497 INFO    ] Initializing speech engine...
[2026-08-29 05:26:46,503.503 INFO    ] 2026-08-29 05:26:46
[2026-08-29 05:26:46,707.707 INFO    ] 2026-08-29 05:26:46
[2026-08-29 05:26:46,734.734 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:26:46,867.867 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:26:46,919.919 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:26:47,049.049 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:26:47,110.110 INFO    ] time= 29/08/2026 05:26:47
[2026-08-29 05:26:47,152.152 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:26:47,171.171 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:26:47,272.272 INFO    ] No existing commands found in stream
[2026-08-29 05:26:52,307.307 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:26:52,310.310 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-08-29 05:26:53,446.446 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:26:53,447.447 INFO    ] Checking for system updates...
[2026-08-29 05:26:53,468.468 INFO    ] 200
[2026-08-29 05:26:53,469.469 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:26:53,503.503 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:26:53,505.505 INFO    ] No update needed
[2026-08-29 05:26:53,506.506 INFO    ] Checking for camera pi updates...
[2026-08-29 05:26:53,525.525 INFO    ] 200
[2026-08-29 05:26:53,527.527 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:26:53,559.559 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:26:53,651.651 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:26:53,653.653 INFO    ] No camera update needed
[2026-08-29 05:26:53,654.654 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:26:53,655.655 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:26:53,658.658 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:26:53,661.661 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:26:55,701.701 INFO    ] ================================================
[2026-08-29 05:26:55,717.717 INFO    ] Launching Daemon at Sat Aug 29 05:26:55 IST 2026
[2026-08-29 05:26:55,728.728 INFO    ] ================================================
[2026-08-29 05:26:56,054.054 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:26:56
[2026-08-29 05:26:56,369.369 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:26:56,505.505 INFO    ] Initializing speech engine...
[2026-08-29 05:26:56,515.515 INFO    ] 2026-08-29 05:26:56
[2026-08-29 05:26:56,711.711 INFO    ] 2026-08-29 05:26:56
[2026-08-29 05:26:56,753.753 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:26:56,971.971 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:26:56,980.980 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:26:57,111.111 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:26:57,133.133 INFO    ] time= 29/08/2026 05:26:57
[2026-08-29 05:26:57,187.187 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:26:57,241.241 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:26:57,301.301 INFO    ] No existing commands found in stream
[2026-08-29 05:27:02,312.312 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:27:02,316.316 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 05:27:05,862.862 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:27:05,863.863 INFO    ] Checking for system updates...
[2026-08-29 05:27:05,884.884 INFO    ] 200
[2026-08-29 05:27:05,885.885 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:27:05,915.915 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:27:05,916.916 INFO    ] No update needed
[2026-08-29 05:27:05,917.917 INFO    ] Checking for camera pi updates...
[2026-08-29 05:27:05,937.937 INFO    ] 200
[2026-08-29 05:27:05,939.939 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:27:05,963.963 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:27:06,057.057 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:27:06,059.059 INFO    ] No camera update needed
[2026-08-29 05:27:06,061.061 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:27:06,063.063 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:27:06,069.069 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:27:06,073.073 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:27:08,117.117 INFO    ] ================================================
[2026-08-29 05:27:08,133.133 INFO    ] Launching Daemon at Sat Aug 29 05:27:08 IST 2026
[2026-08-29 05:27:08,144.144 INFO    ] ================================================
[2026-08-29 05:27:08,746.746 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:27:08
[2026-08-29 05:27:09,232.232 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:27:09,364.364 INFO    ] Initializing speech engine...
[2026-08-29 05:27:09,376.376 INFO    ] 2026-08-29 05:27:09
[2026-08-29 05:27:09,563.563 INFO    ] 2026-08-29 05:27:09
[2026-08-29 05:27:09,637.637 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:27:09,789.789 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:27:09,797.797 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:27:09,930.930 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:27:09,972.972 INFO    ] time= 29/08/2026 05:27:09
[2026-08-29 05:27:10,021.021 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:27:10,064.064 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:27:10,116.116 INFO    ] No existing commands found in stream
[2026-08-29 05:27:15,128.128 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:27:15,131.131 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-08-29 05:27:15,958.958 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:27:15,959.959 INFO    ] Checking for system updates...
[2026-08-29 05:27:15,982.982 INFO    ] 200
[2026-08-29 05:27:15,983.983 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:27:16,013.013 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:27:16,014.014 INFO    ] No update needed
[2026-08-29 05:27:16,015.015 INFO    ] Checking for camera pi updates...
[2026-08-29 05:27:16,037.037 INFO    ] 200
[2026-08-29 05:27:16,038.038 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:27:16,061.061 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:27:16,131.131 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:27:16,132.132 INFO    ] No camera update needed
[2026-08-29 05:27:16,133.133 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:27:16,135.135 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:27:16,137.137 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:27:16,140.140 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:27:18,184.184 INFO    ] ================================================
[2026-08-29 05:27:18,200.200 INFO    ] Launching Daemon at Sat Aug 29 05:27:18 IST 2026
[2026-08-29 05:27:18,211.211 INFO    ] ================================================
[2026-08-29 05:27:18,754.754 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:27:18
[2026-08-29 05:27:19,360.360 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:27:19,641.641 INFO    ] Initializing speech engine...
[2026-08-29 05:27:19,647.647 INFO    ] 2026-08-29 05:27:19
[2026-08-29 05:27:19,910.910 INFO    ] 2026-08-29 05:27:19
[2026-08-29 05:27:19,964.964 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:27:20,106.106 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:27:20,123.123 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:27:20,259.259 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:27:20,267.267 INFO    ] time= 29/08/2026 05:27:20
[2026-08-29 05:27:20,274.274 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:27:20,315.315 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:27:20,432.432 INFO    ] No existing commands found in stream
[2026-08-29 05:27:25,454.454 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:27:25,458.458 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-08-29 05:27:26,539.539 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:27:26,542.542 INFO    ] Checking for system updates...
[2026-08-29 05:27:26,583.583 INFO    ] 200
[2026-08-29 05:27:26,585.585 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:27:26,640.640 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:27:26,643.643 INFO    ] No update needed
[2026-08-29 05:27:26,646.646 INFO    ] Checking for camera pi updates...
[2026-08-29 05:27:26,679.679 INFO    ] 200
[2026-08-29 05:27:26,681.681 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:27:26,704.704 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:27:26,884.884 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:27:26,886.886 INFO    ] No camera update needed
[2026-08-29 05:27:26,887.887 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:27:26,888.888 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:27:26,891.891 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:27:26,894.894 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:27:28,933.933 INFO    ] ================================================
[2026-08-29 05:27:28,949.949 INFO    ] Launching Daemon at Sat Aug 29 05:27:28 IST 2026
[2026-08-29 05:27:28,961.961 INFO    ] ================================================
[2026-08-29 05:27:29,328.328 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:27:29
[2026-08-29 05:27:29,638.638 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:27:29,780.780 INFO    ] Initializing speech engine...
[2026-08-29 05:27:29,785.785 INFO    ] 2026-08-29 05:27:29
[2026-08-29 05:27:29,992.992 INFO    ] 2026-08-29 05:27:29
[2026-08-29 05:27:30,072.072 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:27:30,223.223 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:27:30,229.229 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:27:30,358.358 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:27:30,406.406 INFO    ] time= 29/08/2026 05:27:30
[2026-08-29 05:27:30,460.460 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:27:30,491.491 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:27:30,551.551 INFO    ] No existing commands found in stream
[2026-08-29 05:27:35,570.570 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:27:35,573.573 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-08-29 05:27:39,049.049 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:27:39,050.050 INFO    ] Checking for system updates...
[2026-08-29 05:27:39,070.070 INFO    ] 200
[2026-08-29 05:27:39,072.072 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:27:39,102.102 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:27:39,103.103 INFO    ] No update needed
[2026-08-29 05:27:39,104.104 INFO    ] Checking for camera pi updates...
[2026-08-29 05:27:39,126.126 INFO    ] 200
[2026-08-29 05:27:39,127.127 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:27:39,149.149 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:27:39,236.236 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:27:39,237.237 INFO    ] No camera update needed
[2026-08-29 05:27:39,239.239 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:27:39,240.240 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:27:39,243.243 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:27:39,245.245 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:27:41,287.287 INFO    ] ================================================
[2026-08-29 05:27:41,304.304 INFO    ] Launching Daemon at Sat Aug 29 05:27:41 IST 2026
[2026-08-29 05:27:41,315.315 INFO    ] ================================================
[2026-08-29 05:27:41,764.764 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:27:41
[2026-08-29 05:27:42,348.348 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:27:42,608.608 INFO    ] Initializing speech engine...
[2026-08-29 05:27:42,627.627 INFO    ] 2026-08-29 05:27:42
[2026-08-29 05:27:42,878.878 INFO    ] 2026-08-29 05:27:42
[2026-08-29 05:27:42,913.913 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:27:43,089.089 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:27:43,102.102 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:27:43,246.246 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:27:43,254.254 INFO    ] time= 29/08/2026 05:27:43
[2026-08-29 05:27:43,258.258 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:27:43,264.264 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:27:43,330.330 INFO    ] No existing commands found in stream
[2026-08-29 05:27:48,343.343 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:27:48,345.345 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-08-29 05:27:50,384.384 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:27:50,385.385 INFO    ] Checking for system updates...
[2026-08-29 05:27:50,407.407 INFO    ] 200
[2026-08-29 05:27:50,408.408 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:27:50,440.440 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:27:50,442.442 INFO    ] No update needed
[2026-08-29 05:27:50,444.444 INFO    ] Checking for camera pi updates...
[2026-08-29 05:27:50,463.463 INFO    ] 200
[2026-08-29 05:27:50,464.464 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:27:50,488.488 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:27:50,573.573 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:27:50,574.574 INFO    ] No camera update needed
[2026-08-29 05:27:50,575.575 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:27:50,577.577 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:27:50,580.580 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:27:50,582.582 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:27:52,621.621 INFO    ] ================================================
[2026-08-29 05:27:52,637.637 INFO    ] Launching Daemon at Sat Aug 29 05:27:52 IST 2026
[2026-08-29 05:27:52,648.648 INFO    ] ================================================
[2026-08-29 05:27:52,999.999 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:27:52
[2026-08-29 05:27:53,316.316 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:27:53,460.460 INFO    ] Initializing speech engine...
[2026-08-29 05:27:53,465.465 INFO    ] 2026-08-29 05:27:53
[2026-08-29 05:27:53,669.669 INFO    ] 2026-08-29 05:27:53
[2026-08-29 05:27:53,697.697 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:27:53,819.819 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:27:53,852.852 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:27:54,016.016 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:27:54,040.040 INFO    ] time= 29/08/2026 05:27:54
[2026-08-29 05:27:54,095.095 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:27:54,133.133 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:27:54,244.244 INFO    ] No existing commands found in stream
[2026-08-29 05:27:59,275.275 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:27:59,278.278 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-08-29 05:27:59,899.899 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:27:59,900.900 INFO    ] Checking for system updates...
[2026-08-29 05:27:59,921.921 INFO    ] 200
[2026-08-29 05:27:59,922.922 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:27:59,957.957 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:27:59,958.958 INFO    ] No update needed
[2026-08-29 05:27:59,959.959 INFO    ] Checking for camera pi updates...
[2026-08-29 05:27:59,978.978 INFO    ] 200
[2026-08-29 05:27:59,980.980 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:28:00,006.006 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:28:00,083.083 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:28:00,084.084 INFO    ] No camera update needed
[2026-08-29 05:28:00,085.085 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:28:00,086.086 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:28:00,089.089 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:28:00,092.092 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:28:02,135.135 INFO    ] ================================================
[2026-08-29 05:28:02,156.156 INFO    ] Launching Daemon at Sat Aug 29 05:28:02 IST 2026
[2026-08-29 05:28:02,168.168 INFO    ] ================================================
[2026-08-29 05:28:02,853.853 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:28:02
[2026-08-29 05:28:03,494.494 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:28:03,791.791 INFO    ] Initializing speech engine...
[2026-08-29 05:28:03,802.802 INFO    ] 2026-08-29 05:28:03
[2026-08-29 05:28:04,071.071 INFO    ] 2026-08-29 05:28:04
[2026-08-29 05:28:04,187.187 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:28:04,336.336 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:28:04,346.346 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:28:04,478.478 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:28:04,506.506 INFO    ] time= 29/08/2026 05:28:04
[2026-08-29 05:28:04,576.576 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:28:04,614.614 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:28:04,673.673 INFO    ] No existing commands found in stream
[2026-08-29 05:28:09,685.685 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:28:09,688.688 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-08-29 05:28:10,391.391 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:28:10,392.392 INFO    ] Checking for system updates...
[2026-08-29 05:28:10,413.413 INFO    ] 200
[2026-08-29 05:28:10,414.414 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:28:10,444.444 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:28:10,445.445 INFO    ] No update needed
[2026-08-29 05:28:10,447.447 INFO    ] Checking for camera pi updates...
[2026-08-29 05:28:10,466.466 INFO    ] 200
[2026-08-29 05:28:10,467.467 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:28:10,491.491 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:28:10,567.567 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:28:10,568.568 INFO    ] No camera update needed
[2026-08-29 05:28:10,570.570 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:28:10,571.571 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:28:10,574.574 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:28:10,577.577 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:28:12,615.615 INFO    ] ================================================
[2026-08-29 05:28:12,631.631 INFO    ] Launching Daemon at Sat Aug 29 05:28:12 IST 2026
[2026-08-29 05:28:12,642.642 INFO    ] ================================================
[2026-08-29 05:28:13,007.007 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:28:13
[2026-08-29 05:28:13,320.320 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:28:13,464.464 INFO    ] Initializing speech engine...
[2026-08-29 05:28:13,469.469 INFO    ] 2026-08-29 05:28:13
[2026-08-29 05:28:13,721.721 INFO    ] 2026-08-29 05:28:13
[2026-08-29 05:28:13,757.757 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:28:13,929.929 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:28:13,941.941 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:28:14,086.086 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:28:14,092.092 INFO    ] time= 29/08/2026 05:28:14
[2026-08-29 05:28:14,098.098 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:28:14,146.146 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:28:14,269.269 INFO    ] No existing commands found in stream
[2026-08-29 05:28:19,298.298 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:28:19,301.301 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-08-29 05:28:23,542.542 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:28:23,543.543 INFO    ] Checking for system updates...
[2026-08-29 05:28:23,565.565 INFO    ] 200
[2026-08-29 05:28:23,566.566 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:28:23,596.596 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:28:23,598.598 INFO    ] No update needed
[2026-08-29 05:28:23,599.599 INFO    ] Checking for camera pi updates...
[2026-08-29 05:28:23,621.621 INFO    ] 200
[2026-08-29 05:28:23,623.623 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:28:23,646.646 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:28:23,723.723 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:28:23,724.724 INFO    ] No camera update needed
[2026-08-29 05:28:23,725.725 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:28:23,727.727 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:28:23,730.730 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:28:23,732.732 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:28:25,772.772 INFO    ] ================================================
[2026-08-29 05:28:25,788.788 INFO    ] Launching Daemon at Sat Aug 29 05:28:25 IST 2026
[2026-08-29 05:28:25,799.799 INFO    ] ================================================
[2026-08-29 05:28:26,151.151 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:28:26
[2026-08-29 05:28:26,463.463 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:28:26,606.606 INFO    ] Initializing speech engine...
[2026-08-29 05:28:26,611.611 INFO    ] 2026-08-29 05:28:26
[2026-08-29 05:28:26,838.838 INFO    ] 2026-08-29 05:28:26
[2026-08-29 05:28:26,891.891 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:28:27,054.054 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:28:27,061.061 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:28:27,235.235 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:28:27,262.262 INFO    ] time= 29/08/2026 05:28:27
[2026-08-29 05:28:27,277.277 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:28:27,286.286 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:28:27,389.389 INFO    ] No existing commands found in stream
[2026-08-29 05:28:32,414.414 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:28:32,417.417 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-08-29 05:28:35,093.093 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:28:35,094.094 INFO    ] Checking for system updates...
[2026-08-29 05:28:35,116.116 INFO    ] 200
[2026-08-29 05:28:35,117.117 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:28:35,150.150 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:28:35,152.152 INFO    ] No update needed
[2026-08-29 05:28:35,153.153 INFO    ] Checking for camera pi updates...
[2026-08-29 05:28:35,174.174 INFO    ] 200
[2026-08-29 05:28:35,176.176 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:28:35,199.199 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:28:35,314.314 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:28:35,315.315 INFO    ] No camera update needed
[2026-08-29 05:28:35,316.316 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:28:35,318.318 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:28:35,321.321 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:28:35,324.324 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:28:37,363.363 INFO    ] ================================================
[2026-08-29 05:28:37,379.379 INFO    ] Launching Daemon at Sat Aug 29 05:28:37 IST 2026
[2026-08-29 05:28:37,391.391 INFO    ] ================================================
[2026-08-29 05:28:37,732.732 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:28:37
[2026-08-29 05:28:38,052.052 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:28:38,186.186 INFO    ] Initializing speech engine...
[2026-08-29 05:28:38,198.198 INFO    ] 2026-08-29 05:28:38
[2026-08-29 05:28:38,406.406 INFO    ] 2026-08-29 05:28:38
[2026-08-29 05:28:38,434.434 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:28:38,556.556 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:28:38,619.619 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:28:38,757.757 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:28:38,821.821 INFO    ] time= 29/08/2026 05:28:38
[2026-08-29 05:28:38,848.848 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:28:38,854.854 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:28:38,920.920 INFO    ] No existing commands found in stream
[2026-08-29 05:28:43,930.930 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:28:43,933.933 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-08-29 05:28:45,351.351 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:28:45,352.352 INFO    ] Checking for system updates...
[2026-08-29 05:28:45,373.373 INFO    ] 200
[2026-08-29 05:28:45,374.374 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:28:45,405.405 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:28:45,407.407 INFO    ] No update needed
[2026-08-29 05:28:45,408.408 INFO    ] Checking for camera pi updates...
[2026-08-29 05:28:45,427.427 INFO    ] 200
[2026-08-29 05:28:45,428.428 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:28:45,454.454 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:28:45,536.536 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:28:45,537.537 INFO    ] No camera update needed
[2026-08-29 05:28:45,538.538 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:28:45,540.540 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:28:45,543.543 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:28:45,546.546 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:28:47,584.584 INFO    ] ================================================
[2026-08-29 05:28:47,599.599 INFO    ] Launching Daemon at Sat Aug 29 05:28:47 IST 2026
[2026-08-29 05:28:47,611.611 INFO    ] ================================================
[2026-08-29 05:28:48,124.124 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:28:48
[2026-08-29 05:28:48,712.712 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:28:48,983.983 INFO    ] Initializing speech engine...
[2026-08-29 05:28:48,991.991 INFO    ] 2026-08-29 05:28:48
[2026-08-29 05:28:49,244.244 INFO    ] 2026-08-29 05:28:49
[2026-08-29 05:28:49,278.278 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:28:49,454.454 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:28:49,460.460 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:28:49,580.580 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:28:49,585.585 INFO    ] time= 29/08/2026 05:28:49
[2026-08-29 05:28:49,604.604 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:28:49,623.623 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:28:49,697.697 INFO    ] No existing commands found in stream
[2026-08-29 05:28:54,709.709 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:28:54,712.712 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-08-29 05:28:55,091.091 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:28:55,093.093 INFO    ] Checking for system updates...
[2026-08-29 05:28:55,113.113 INFO    ] 200
[2026-08-29 05:28:55,115.115 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:28:55,146.146 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:28:55,148.148 INFO    ] No update needed
[2026-08-29 05:28:55,149.149 INFO    ] Checking for camera pi updates...
[2026-08-29 05:28:55,168.168 INFO    ] 200
[2026-08-29 05:28:55,169.169 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:28:55,195.195 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:28:55,304.304 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:28:55,307.307 INFO    ] No camera update needed
[2026-08-29 05:28:55,309.309 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:28:55,311.311 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:28:55,316.316 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:28:55,321.321 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:28:57,363.363 INFO    ] ================================================
[2026-08-29 05:28:57,378.378 INFO    ] Launching Daemon at Sat Aug 29 05:28:57 IST 2026
[2026-08-29 05:28:57,389.389 INFO    ] ================================================
[2026-08-29 05:28:57,973.973 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:28:57
[2026-08-29 05:28:58,470.470 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:28:58,614.614 INFO    ] Initializing speech engine...
[2026-08-29 05:28:58,619.619 INFO    ] 2026-08-29 05:28:58
[2026-08-29 05:28:58,823.823 INFO    ] 2026-08-29 05:28:58
[2026-08-29 05:28:58,851.851 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:28:58,988.988 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:28:59,035.035 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:28:59,182.182 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:28:59,236.236 INFO    ] time= 29/08/2026 05:28:59
[2026-08-29 05:28:59,277.277 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:28:59,315.315 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:28:59,427.427 INFO    ] No existing commands found in stream
[2026-08-29 05:29:04,441.441 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:29:04,444.444 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-08-29 05:29:08,401.401 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:29:08,403.403 INFO    ] Checking for system updates...
[2026-08-29 05:29:08,424.424 INFO    ] 200
[2026-08-29 05:29:08,425.425 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:29:08,457.457 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:29:08,458.458 INFO    ] No update needed
[2026-08-29 05:29:08,460.460 INFO    ] Checking for camera pi updates...
[2026-08-29 05:29:08,480.480 INFO    ] 200
[2026-08-29 05:29:08,481.481 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:29:08,504.504 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:29:08,592.592 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:29:08,593.593 INFO    ] No camera update needed
[2026-08-29 05:29:08,595.595 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:29:08,596.596 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:29:08,599.599 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:29:08,601.601 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:29:10,641.641 INFO    ] ================================================
[2026-08-29 05:29:10,656.656 INFO    ] Launching Daemon at Sat Aug 29 05:29:10 IST 2026
[2026-08-29 05:29:10,667.667 INFO    ] ================================================
[2026-08-29 05:29:11,027.027 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:29:11
[2026-08-29 05:29:11,345.345 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:29:11,539.539 INFO    ] Initializing speech engine...
[2026-08-29 05:29:11,543.543 INFO    ] 2026-08-29 05:29:11
[2026-08-29 05:29:11,741.741 INFO    ] 2026-08-29 05:29:11
[2026-08-29 05:29:11,816.816 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:29:11,967.967 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:29:11,976.976 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:29:12,109.109 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:29:12,155.155 INFO    ] time= 29/08/2026 05:29:12
[2026-08-29 05:29:12,209.209 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:29:12,240.240 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:29:12,299.299 INFO    ] No existing commands found in stream
[2026-08-29 05:29:17,311.311 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:29:17,314.314 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-08-29 05:29:20,443.443 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:29:20,445.445 INFO    ] Checking for system updates...
[2026-08-29 05:29:20,465.465 INFO    ] 200
[2026-08-29 05:29:20,466.466 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:29:20,500.500 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:29:20,502.502 INFO    ] No update needed
[2026-08-29 05:29:20,503.503 INFO    ] Checking for camera pi updates...
[2026-08-29 05:29:20,523.523 INFO    ] 200
[2026-08-29 05:29:20,524.524 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:29:20,549.549 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:29:20,631.631 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:29:20,632.632 INFO    ] No camera update needed
[2026-08-29 05:29:20,634.634 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:29:20,635.635 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:29:20,638.638 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:29:20,640.640 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:29:22,679.679 INFO    ] ================================================
[2026-08-29 05:29:22,694.694 INFO    ] Launching Daemon at Sat Aug 29 05:29:22 IST 2026
[2026-08-29 05:29:22,705.705 INFO    ] ================================================
[2026-08-29 05:29:23,052.052 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:29:23
[2026-08-29 05:29:23,539.539 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:29:23,791.791 INFO    ] Initializing speech engine...
[2026-08-29 05:29:23,803.803 INFO    ] 2026-08-29 05:29:23
[2026-08-29 05:29:24,070.070 INFO    ] 2026-08-29 05:29:24
[2026-08-29 05:29:24,106.106 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:29:24,283.283 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:29:24,296.296 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:29:24,440.440 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:29:24,448.448 INFO    ] time= 29/08/2026 05:29:24
[2026-08-29 05:29:24,457.457 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:29:24,496.496 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:29:24,600.600 INFO    ] No existing commands found in stream
[2026-08-29 05:29:29,625.625 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:29:29,628.628 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-08-29 05:29:31,104.104 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:29:31,106.106 INFO    ] Checking for system updates...
[2026-08-29 05:29:31,127.127 INFO    ] 200
[2026-08-29 05:29:31,128.128 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:29:31,158.158 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:29:31,159.159 INFO    ] No update needed
[2026-08-29 05:29:31,160.160 INFO    ] Checking for camera pi updates...
[2026-08-29 05:29:31,182.182 INFO    ] 200
[2026-08-29 05:29:31,184.184 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:29:31,208.208 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:29:31,382.382 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:29:31,384.384 INFO    ] No camera update needed
[2026-08-29 05:29:31,385.385 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:29:31,387.387 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:29:31,391.391 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:29:31,394.394 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:29:33,434.434 INFO    ] ================================================
[2026-08-29 05:29:33,449.449 INFO    ] Launching Daemon at Sat Aug 29 05:29:33 IST 2026
[2026-08-29 05:29:33,460.460 INFO    ] ================================================
[2026-08-29 05:29:34,036.036 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:29:34
[2026-08-29 05:29:34,669.669 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:29:34,814.814 INFO    ] Initializing speech engine...
[2026-08-29 05:29:34,825.825 INFO    ] 2026-08-29 05:29:34
[2026-08-29 05:29:35,021.021 INFO    ] 2026-08-29 05:29:35
[2026-08-29 05:29:35,110.110 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:29:35,264.264 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:29:35,275.275 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:29:35,402.402 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:29:35,446.446 INFO    ] time= 29/08/2026 05:29:35
[2026-08-29 05:29:35,495.495 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:29:35,508.508 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:29:35,571.571 INFO    ] No existing commands found in stream
[2026-08-29 05:29:40,583.583 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:29:40,586.586 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-08-29 05:29:44,569.569 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:29:44,571.571 INFO    ] Checking for system updates...
[2026-08-29 05:29:44,591.591 INFO    ] 200
[2026-08-29 05:29:44,593.593 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:29:44,625.625 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:29:44,626.626 INFO    ] No update needed
[2026-08-29 05:29:44,627.627 INFO    ] Checking for camera pi updates...
[2026-08-29 05:29:44,647.647 INFO    ] 200
[2026-08-29 05:29:44,649.649 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:29:44,690.690 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:29:44,774.774 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:29:44,777.777 INFO    ] No camera update needed
[2026-08-29 05:29:44,779.779 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:29:44,781.781 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:29:44,787.787 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:29:44,791.791 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:29:46,832.832 INFO    ] ================================================
[2026-08-29 05:29:46,847.847 INFO    ] Launching Daemon at Sat Aug 29 05:29:46 IST 2026
[2026-08-29 05:29:46,858.858 INFO    ] ================================================
[2026-08-29 05:29:47,495.495 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:29:47
[2026-08-29 05:29:47,970.970 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:29:48,271.271 INFO    ] Initializing speech engine...
[2026-08-29 05:29:48,276.276 INFO    ] 2026-08-29 05:29:48
[2026-08-29 05:29:48,564.564 INFO    ] 2026-08-29 05:29:48
[2026-08-29 05:29:48,613.613 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:29:48,828.828 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:29:48,838.838 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:29:48,976.976 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:29:49,041.041 INFO    ] time= 29/08/2026 05:29:48
[2026-08-29 05:29:49,091.091 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:29:49,112.112 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:29:49,173.173 INFO    ] No existing commands found in stream
[2026-08-29 05:29:54,198.198 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:29:54,201.201 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-08-29 05:29:56,564.564 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:29:56,566.566 INFO    ] Checking for system updates...
[2026-08-29 05:29:56,586.586 INFO    ] 200
[2026-08-29 05:29:56,588.588 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:29:56,618.618 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:29:56,619.619 INFO    ] No update needed
[2026-08-29 05:29:56,621.621 INFO    ] Checking for camera pi updates...
[2026-08-29 05:29:56,641.641 INFO    ] 200
[2026-08-29 05:29:56,643.643 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:29:56,679.679 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:29:56,759.759 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:29:56,761.761 INFO    ] No camera update needed
[2026-08-29 05:29:56,764.764 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:29:56,766.766 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:29:56,771.771 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:29:56,776.776 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:29:58,816.816 INFO    ] ================================================
[2026-08-29 05:29:58,831.831 INFO    ] Launching Daemon at Sat Aug 29 05:29:58 IST 2026
[2026-08-29 05:29:58,842.842 INFO    ] ================================================
[2026-08-29 05:29:59,430.430 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:29:59
[2026-08-29 05:29:59,919.919 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:30:00,140.140 INFO    ] Initializing speech engine...
[2026-08-29 05:30:00,148.148 INFO    ] 2026-08-29 05:30:00
[2026-08-29 05:30:00,406.406 INFO    ] 2026-08-29 05:30:00
[2026-08-29 05:30:00,468.468 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:30:00,613.613 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:30:00,625.625 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:30:00,762.762 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:30:00,776.776 INFO    ] time= 29/08/2026 05:30:00
[2026-08-29 05:30:00,785.785 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:30:00,834.834 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:30:00,960.960 INFO    ] No existing commands found in stream
[2026-08-29 05:30:05,986.986 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:30:05,989.989 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-08-29 05:30:08,369.369 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:30:08,372.372 INFO    ] Checking for system updates...
[2026-08-29 05:30:08,408.408 INFO    ] 200
[2026-08-29 05:30:08,411.411 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:30:08,472.472 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:30:08,475.475 INFO    ] No update needed
[2026-08-29 05:30:08,477.477 INFO    ] Checking for camera pi updates...
[2026-08-29 05:30:08,515.515 INFO    ] 200
[2026-08-29 05:30:08,518.518 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:30:08,563.563 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:30:08,641.641 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:30:08,644.644 INFO    ] No camera update needed
[2026-08-29 05:30:08,646.646 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:30:08,649.649 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:30:08,654.654 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:30:08,659.659 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:30:10,703.703 INFO    ] ================================================
[2026-08-29 05:30:10,720.720 INFO    ] Launching Daemon at Sat Aug 29 05:30:10 IST 2026
[2026-08-29 05:30:10,731.731 INFO    ] ================================================
[2026-08-29 05:30:11,336.336 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:30:11
[2026-08-29 05:30:11,949.949 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:30:12,198.198 INFO    ] Initializing speech engine...
[2026-08-29 05:30:12,206.206 INFO    ] 2026-08-29 05:30:12
[2026-08-29 05:30:12,519.519 INFO    ] 2026-08-29 05:30:12
[2026-08-29 05:30:12,556.556 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:30:12,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:30:12,709.709 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:30:12,863.863 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:30:12,873.873 INFO    ] time= 29/08/2026 05:30:12
[2026-08-29 05:30:12,877.877 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:30:12,882.882 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:30:12,952.952 INFO    ] No existing commands found in stream
[2026-08-29 05:30:17,963.963 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:30:17,966.966 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-08-29 05:30:21,831.831 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:30:21,832.832 INFO    ] Checking for system updates...
[2026-08-29 05:30:21,854.854 INFO    ] 200
[2026-08-29 05:30:21,856.856 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:30:21,889.889 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:30:21,890.890 INFO    ] No update needed
[2026-08-29 05:30:21,891.891 INFO    ] Checking for camera pi updates...
[2026-08-29 05:30:21,912.912 INFO    ] 200
[2026-08-29 05:30:21,914.914 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:30:21,937.937 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:30:22,026.026 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:30:22,027.027 INFO    ] No camera update needed
[2026-08-29 05:30:22,028.028 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:30:22,030.030 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:30:22,033.033 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:30:22,036.036 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:30:24,076.076 INFO    ] ================================================
[2026-08-29 05:30:24,091.091 INFO    ] Launching Daemon at Sat Aug 29 05:30:24 IST 2026
[2026-08-29 05:30:24,101.101 INFO    ] ================================================
[2026-08-29 05:30:24,452.452 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:30:24
[2026-08-29 05:30:24,774.774 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:30:24,913.913 INFO    ] Initializing speech engine...
[2026-08-29 05:30:24,921.921 INFO    ] 2026-08-29 05:30:24
[2026-08-29 05:30:25,132.132 INFO    ] 2026-08-29 05:30:25
[2026-08-29 05:30:25,161.161 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:30:25,286.286 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:30:25,349.349 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:30:25,521.521 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:30:25,563.563 INFO    ] time= 29/08/2026 05:30:25
[2026-08-29 05:30:25,582.582 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:30:25,646.646 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:30:25,751.751 INFO    ] No existing commands found in stream
[2026-08-29 05:30:30,776.776 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:30:30,779.779 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-08-29 05:30:32,048.048 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:30:32,049.049 INFO    ] Checking for system updates...
[2026-08-29 05:30:32,072.072 INFO    ] 200
[2026-08-29 05:30:32,073.073 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:30:32,103.103 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:30:32,105.105 INFO    ] No update needed
[2026-08-29 05:30:32,106.106 INFO    ] Checking for camera pi updates...
[2026-08-29 05:30:32,126.126 INFO    ] 200
[2026-08-29 05:30:32,127.127 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:30:32,152.152 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:30:32,237.237 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:30:32,238.238 INFO    ] No camera update needed
[2026-08-29 05:30:32,240.240 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:30:32,241.241 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:30:32,244.244 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:30:32,247.247 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:30:34,286.286 INFO    ] ================================================
[2026-08-29 05:30:34,301.301 INFO    ] Launching Daemon at Sat Aug 29 05:30:34 IST 2026
[2026-08-29 05:30:34,311.311 INFO    ] ================================================
[2026-08-29 05:30:34,901.901 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:30:34
[2026-08-29 05:30:35,359.359 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:30:35,498.498 INFO    ] Initializing speech engine...
[2026-08-29 05:30:35,508.508 INFO    ] 2026-08-29 05:30:35
[2026-08-29 05:30:35,720.720 INFO    ] 2026-08-29 05:30:35
[2026-08-29 05:30:35,750.750 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:30:35,889.889 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:30:35,898.898 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:30:36,062.062 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:30:36,107.107 INFO    ] time= 29/08/2026 05:30:36
[2026-08-29 05:30:36,114.114 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:30:36,131.131 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:30:36,243.243 INFO    ] No existing commands found in stream
[2026-08-29 05:30:41,271.271 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:30:41,274.274 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 05:30:43,381.381 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:30:43,383.383 INFO    ] Checking for system updates...
[2026-08-29 05:30:43,403.403 INFO    ] 200
[2026-08-29 05:30:43,405.405 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:30:43,435.435 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:30:43,436.436 INFO    ] No update needed
[2026-08-29 05:30:43,438.438 INFO    ] Checking for camera pi updates...
[2026-08-29 05:30:43,458.458 INFO    ] 200
[2026-08-29 05:30:43,459.459 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:30:43,495.495 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:30:43,580.580 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:30:43,583.583 INFO    ] No camera update needed
[2026-08-29 05:30:43,586.586 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:30:43,588.588 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:30:43,594.594 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:30:43,600.600 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:30:45,648.648 INFO    ] ================================================
[2026-08-29 05:30:45,664.664 INFO    ] Launching Daemon at Sat Aug 29 05:30:45 IST 2026
[2026-08-29 05:30:45,675.675 INFO    ] ================================================
[2026-08-29 05:30:46,321.321 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:30:46
[2026-08-29 05:30:46,854.854 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:30:47,150.150 INFO    ] Initializing speech engine...
[2026-08-29 05:30:47,159.159 INFO    ] 2026-08-29 05:30:47
[2026-08-29 05:30:47,426.426 INFO    ] 2026-08-29 05:30:47
[2026-08-29 05:30:47,485.485 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:30:47,655.655 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:30:47,678.678 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:30:47,798.798 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:30:47,806.806 INFO    ] time= 29/08/2026 05:30:47
[2026-08-29 05:30:47,851.851 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:30:47,876.876 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:30:47,986.986 INFO    ] No existing commands found in stream
[2026-08-29 05:30:53,013.013 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:30:53,016.016 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-08-29 05:30:56,753.753 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:30:56,754.754 INFO    ] Checking for system updates...
[2026-08-29 05:30:56,775.775 INFO    ] 200
[2026-08-29 05:30:56,776.776 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:30:56,807.807 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:30:56,808.808 INFO    ] No update needed
[2026-08-29 05:30:56,810.810 INFO    ] Checking for camera pi updates...
[2026-08-29 05:30:56,829.829 INFO    ] 200
[2026-08-29 05:30:56,830.830 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:30:56,853.853 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:30:56,931.931 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:30:56,934.934 INFO    ] No camera update needed
[2026-08-29 05:30:56,936.936 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:30:56,938.938 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:30:56,944.944 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:30:56,949.949 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:30:58,992.992 INFO    ] ================================================
[2026-08-29 05:30:59,007.007 INFO    ] Launching Daemon at Sat Aug 29 05:30:59 IST 2026
[2026-08-29 05:30:59,018.018 INFO    ] ================================================
[2026-08-29 05:30:59,586.586 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:30:59
[2026-08-29 05:31:00,007.007 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:31:00,145.145 INFO    ] Initializing speech engine...
[2026-08-29 05:31:00,158.158 INFO    ] 2026-08-29 05:31:00
[2026-08-29 05:31:00,381.381 INFO    ] 2026-08-29 05:31:00
[2026-08-29 05:31:00,412.412 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:31:00,548.548 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:31:00,562.562 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:31:00,709.709 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:31:00,756.756 INFO    ] time= 29/08/2026 05:31:00
[2026-08-29 05:31:00,777.777 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:31:00,836.836 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:31:00,955.955 INFO    ] No existing commands found in stream
[2026-08-29 05:31:05,966.966 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:31:05,969.969 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 05:31:07,153.153 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:31:07,155.155 INFO    ] Checking for system updates...
[2026-08-29 05:31:07,175.175 INFO    ] 200
[2026-08-29 05:31:07,176.176 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:31:07,206.206 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:31:07,207.207 INFO    ] No update needed
[2026-08-29 05:31:07,208.208 INFO    ] Checking for camera pi updates...
[2026-08-29 05:31:07,228.228 INFO    ] 200
[2026-08-29 05:31:07,230.230 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:31:07,252.252 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:31:07,334.334 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:31:07,335.335 INFO    ] No camera update needed
[2026-08-29 05:31:07,336.336 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:31:07,337.337 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:31:07,340.340 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:31:07,343.343 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:31:09,382.382 INFO    ] ================================================
[2026-08-29 05:31:09,397.397 INFO    ] Launching Daemon at Sat Aug 29 05:31:09 IST 2026
[2026-08-29 05:31:09,409.409 INFO    ] ================================================
[2026-08-29 05:31:09,767.767 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:31:09
[2026-08-29 05:31:10,394.394 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:31:10,669.669 INFO    ] Initializing speech engine...
[2026-08-29 05:31:10,679.679 INFO    ] 2026-08-29 05:31:10
[2026-08-29 05:31:10,928.928 INFO    ] 2026-08-29 05:31:10
[2026-08-29 05:31:10,964.964 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:31:11,143.143 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:31:11,156.156 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:31:11,302.302 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:31:11,310.310 INFO    ] time= 29/08/2026 05:31:11
[2026-08-29 05:31:11,317.317 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:31:11,364.364 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:31:11,484.484 INFO    ] No existing commands found in stream
[2026-08-29 05:31:16,515.515 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:31:16,517.517 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 05:31:20,336.336 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:31:20,338.338 INFO    ] Checking for system updates...
[2026-08-29 05:31:20,379.379 INFO    ] 200
[2026-08-29 05:31:20,381.381 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:31:20,442.442 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:31:20,445.445 INFO    ] No update needed
[2026-08-29 05:31:20,447.447 INFO    ] Checking for camera pi updates...
[2026-08-29 05:31:20,486.486 INFO    ] 200
[2026-08-29 05:31:20,489.489 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:31:20,536.536 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:31:20,619.619 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:31:20,621.621 INFO    ] No camera update needed
[2026-08-29 05:31:20,624.624 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:31:20,626.626 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:31:20,631.631 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:31:20,636.636 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:31:22,679.679 INFO    ] ================================================
[2026-08-29 05:31:22,697.697 INFO    ] Launching Daemon at Sat Aug 29 05:31:22 IST 2026
[2026-08-29 05:31:22,708.708 INFO    ] ================================================
[2026-08-29 05:31:23,038.038 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:31:23
[2026-08-29 05:31:23,351.351 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:31:23,546.546 INFO    ] Initializing speech engine...
[2026-08-29 05:31:23,559.559 INFO    ] 2026-08-29 05:31:23
[2026-08-29 05:31:23,825.825 INFO    ] 2026-08-29 05:31:23
[2026-08-29 05:31:23,860.860 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:31:24,080.080 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:31:24,088.088 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:31:24,205.205 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:31:24,211.211 INFO    ] time= 29/08/2026 05:31:24
[2026-08-29 05:31:24,217.217 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:31:24,242.242 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:31:24,300.300 INFO    ] No existing commands found in stream
[2026-08-29 05:31:29,311.311 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:31:29,314.314 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-08-29 05:31:31,321.321 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:31:31,323.323 INFO    ] Checking for system updates...
[2026-08-29 05:31:31,346.346 INFO    ] 200
[2026-08-29 05:31:31,347.347 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:31:31,377.377 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:31:31,378.378 INFO    ] No update needed
[2026-08-29 05:31:31,380.380 INFO    ] Checking for camera pi updates...
[2026-08-29 05:31:31,407.407 INFO    ] 200
[2026-08-29 05:31:31,410.410 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:31:31,456.456 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:31:31,557.557 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:31:31,560.560 INFO    ] No camera update needed
[2026-08-29 05:31:31,562.562 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:31:31,564.564 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:31:31,569.569 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:31:31,574.574 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:31:33,619.619 INFO    ] ================================================
[2026-08-29 05:31:33,635.635 INFO    ] Launching Daemon at Sat Aug 29 05:31:33 IST 2026
[2026-08-29 05:31:33,647.647 INFO    ] ================================================
[2026-08-29 05:31:34,217.217 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:31:34
[2026-08-29 05:31:34,574.574 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:31:34,712.712 INFO    ] Initializing speech engine...
[2026-08-29 05:31:34,722.722 INFO    ] 2026-08-29 05:31:34
[2026-08-29 05:31:34,930.930 INFO    ] 2026-08-29 05:31:34
[2026-08-29 05:31:34,959.959 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:31:35,084.084 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:31:35,148.148 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:31:35,282.282 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:31:35,327.327 INFO    ] time= 29/08/2026 05:31:35
[2026-08-29 05:31:35,378.378 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:31:35,385.385 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:31:35,458.458 INFO    ] No existing commands found in stream
[2026-08-29 05:31:40,467.467 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:31:40,469.469 INFO    ] Waiting 1.53 seconds before fallback handling...
[2026-08-29 05:31:42,352.352 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:31:42,353.353 INFO    ] Checking for system updates...
[2026-08-29 05:31:42,374.374 INFO    ] 200
[2026-08-29 05:31:42,375.375 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:31:42,408.408 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:31:42,409.409 INFO    ] No update needed
[2026-08-29 05:31:42,410.410 INFO    ] Checking for camera pi updates...
[2026-08-29 05:31:42,433.433 INFO    ] 200
[2026-08-29 05:31:42,434.434 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:31:42,460.460 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:31:42,640.640 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:31:42,644.644 INFO    ] No camera update needed
[2026-08-29 05:31:42,647.647 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:31:42,649.649 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:31:42,655.655 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:31:42,661.661 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:31:44,701.701 INFO    ] ================================================
[2026-08-29 05:31:44,717.717 INFO    ] Launching Daemon at Sat Aug 29 05:31:44 IST 2026
[2026-08-29 05:31:44,728.728 INFO    ] ================================================
[2026-08-29 05:31:45,313.313 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:31:45
[2026-08-29 05:31:45,770.770 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:31:45,914.914 INFO    ] Initializing speech engine...
[2026-08-29 05:31:45,920.920 INFO    ] 2026-08-29 05:31:45
[2026-08-29 05:31:46,107.107 INFO    ] 2026-08-29 05:31:46
[2026-08-29 05:31:46,160.160 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:31:46,347.347 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:31:46,398.398 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:31:46,578.578 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:31:46,595.595 INFO    ] time= 29/08/2026 05:31:46
[2026-08-29 05:31:46,660.660 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:31:46,709.709 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:31:46,778.778 INFO    ] No existing commands found in stream
[2026-08-29 05:31:51,790.790 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:31:51,793.793 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 05:31:54,456.456 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:31:54,457.457 INFO    ] Checking for system updates...
[2026-08-29 05:31:54,479.479 INFO    ] 200
[2026-08-29 05:31:54,480.480 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:31:54,513.513 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:31:54,514.514 INFO    ] No update needed
[2026-08-29 05:31:54,515.515 INFO    ] Checking for camera pi updates...
[2026-08-29 05:31:54,536.536 INFO    ] 200
[2026-08-29 05:31:54,537.537 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:31:54,562.562 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:31:54,646.646 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:31:54,647.647 INFO    ] No camera update needed
[2026-08-29 05:31:54,648.648 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:31:54,649.649 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:31:54,652.652 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:31:54,655.655 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:31:56,693.693 INFO    ] ================================================
[2026-08-29 05:31:56,709.709 INFO    ] Launching Daemon at Sat Aug 29 05:31:56 IST 2026
[2026-08-29 05:31:56,720.720 INFO    ] ================================================
[2026-08-29 05:31:57,069.069 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:31:57
[2026-08-29 05:31:57,380.380 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:31:57,535.535 INFO    ] Initializing speech engine...
[2026-08-29 05:31:57,548.548 INFO    ] 2026-08-29 05:31:57
[2026-08-29 05:31:57,795.795 INFO    ] 2026-08-29 05:31:57
[2026-08-29 05:31:57,860.860 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:31:58,003.003 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:31:58,015.015 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:31:58,155.155 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:31:58,161.161 INFO    ] time= 29/08/2026 05:31:58
[2026-08-29 05:31:58,166.166 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:31:58,172.172 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:31:58,239.239 INFO    ] No existing commands found in stream
[2026-08-29 05:32:03,253.253 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:32:03,256.256 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-08-29 05:32:05,525.525 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:32:05,526.526 INFO    ] Checking for system updates...
[2026-08-29 05:32:05,546.546 INFO    ] 200
[2026-08-29 05:32:05,548.548 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:32:05,578.578 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:32:05,579.579 INFO    ] No update needed
[2026-08-29 05:32:05,580.580 INFO    ] Checking for camera pi updates...
[2026-08-29 05:32:05,601.601 INFO    ] 200
[2026-08-29 05:32:05,602.602 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:32:05,627.627 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:32:05,703.703 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:32:05,705.705 INFO    ] No camera update needed
[2026-08-29 05:32:05,706.706 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:32:05,707.707 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:32:05,710.710 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:32:05,713.713 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:32:07,744.744 INFO    ] ================================================
[2026-08-29 05:32:07,753.753 INFO    ] Launching Daemon at Sat Aug 29 05:32:07 IST 2026
[2026-08-29 05:32:07,759.759 INFO    ] ================================================
[2026-08-29 05:32:08,323.323 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:32:08
[2026-08-29 05:32:08,909.909 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:32:09,184.184 INFO    ] Initializing speech engine...
[2026-08-29 05:32:09,193.193 INFO    ] 2026-08-29 05:32:09
[2026-08-29 05:32:09,449.449 INFO    ] 2026-08-29 05:32:09
[2026-08-29 05:32:09,480.480 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:32:09,644.644 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:32:09,657.657 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:32:09,797.797 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:32:09,805.805 INFO    ] time= 29/08/2026 05:32:09
[2026-08-29 05:32:09,812.812 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:32:09,842.842 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:32:09,984.984 INFO    ] No existing commands found in stream
[2026-08-29 05:32:15,012.012 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:32:15,015.015 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-08-29 05:32:16,376.376 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:32:16,377.377 INFO    ] Checking for system updates...
[2026-08-29 05:32:16,397.397 INFO    ] 200
[2026-08-29 05:32:16,399.399 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:32:16,428.428 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:32:16,430.430 INFO    ] No update needed
[2026-08-29 05:32:16,431.431 INFO    ] Checking for camera pi updates...
[2026-08-29 05:32:16,451.451 INFO    ] 200
[2026-08-29 05:32:16,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:32:16,484.484 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:32:16,565.565 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:32:16,567.567 INFO    ] No camera update needed
[2026-08-29 05:32:16,570.570 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:32:16,572.572 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:32:16,577.577 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:32:16,582.582 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:32:18,623.623 INFO    ] ================================================
[2026-08-29 05:32:18,638.638 INFO    ] Launching Daemon at Sat Aug 29 05:32:18 IST 2026
[2026-08-29 05:32:18,649.649 INFO    ] ================================================
[2026-08-29 05:32:19,282.282 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:32:19
[2026-08-29 05:32:19,770.770 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:32:20,048.048 INFO    ] Initializing speech engine...
[2026-08-29 05:32:20,060.060 INFO    ] 2026-08-29 05:32:20
[2026-08-29 05:32:20,367.367 INFO    ] 2026-08-29 05:32:20
[2026-08-29 05:32:20,452.452 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:32:20,602.602 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:32:20,612.612 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:32:20,746.746 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:32:20,783.783 INFO    ] time= 29/08/2026 05:32:20
[2026-08-29 05:32:20,838.838 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:32:20,882.882 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:32:20,958.958 INFO    ] No existing commands found in stream
[2026-08-29 05:32:25,995.995 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:32:25,998.998 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-08-29 05:32:28,242.242 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:32:28,244.244 INFO    ] Checking for system updates...
[2026-08-29 05:32:28,265.265 INFO    ] 200
[2026-08-29 05:32:28,266.266 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:32:28,298.298 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:32:28,299.299 INFO    ] No update needed
[2026-08-29 05:32:28,301.301 INFO    ] Checking for camera pi updates...
[2026-08-29 05:32:28,324.324 INFO    ] 200
[2026-08-29 05:32:28,325.325 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:32:28,349.349 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:32:28,432.432 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:32:28,434.434 INFO    ] No camera update needed
[2026-08-29 05:32:28,435.435 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:32:28,436.436 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:32:28,439.439 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:32:28,442.442 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:32:30,481.481 INFO    ] ================================================
[2026-08-29 05:32:30,496.496 INFO    ] Launching Daemon at Sat Aug 29 05:32:30 IST 2026
[2026-08-29 05:32:30,507.507 INFO    ] ================================================
[2026-08-29 05:32:30,863.863 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:32:30
[2026-08-29 05:32:31,177.177 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:32:31,323.323 INFO    ] Initializing speech engine...
[2026-08-29 05:32:31,328.328 INFO    ] 2026-08-29 05:32:31
[2026-08-29 05:32:31,541.541 INFO    ] 2026-08-29 05:32:31
[2026-08-29 05:32:31,571.571 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:32:31,713.713 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:32:31,720.720 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:32:31,850.850 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:32:31,888.888 INFO    ] time= 29/08/2026 05:32:31
[2026-08-29 05:32:31,940.940 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:32:32,000.000 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:32:32,064.064 INFO    ] No existing commands found in stream
[2026-08-29 05:32:37,076.076 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:32:37,079.079 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-08-29 05:32:38,885.885 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:32:38,886.886 INFO    ] Checking for system updates...
[2026-08-29 05:32:38,907.907 INFO    ] 200
[2026-08-29 05:32:38,908.908 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:32:38,940.940 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:32:38,941.941 INFO    ] No update needed
[2026-08-29 05:32:38,942.942 INFO    ] Checking for camera pi updates...
[2026-08-29 05:32:38,963.963 INFO    ] 200
[2026-08-29 05:32:38,964.964 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:32:38,988.988 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:32:39,069.069 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:32:39,070.070 INFO    ] No camera update needed
[2026-08-29 05:32:39,072.072 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:32:39,073.073 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:32:39,076.076 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:32:39,078.078 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:32:41,117.117 INFO    ] ================================================
[2026-08-29 05:32:41,131.131 INFO    ] Launching Daemon at Sat Aug 29 05:32:41 IST 2026
[2026-08-29 05:32:41,142.142 INFO    ] ================================================
[2026-08-29 05:32:41,471.471 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:32:41
[2026-08-29 05:32:41,788.788 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:32:42,055.055 INFO    ] Initializing speech engine...
[2026-08-29 05:32:42,072.072 INFO    ] 2026-08-29 05:32:42
[2026-08-29 05:32:42,341.341 INFO    ] 2026-08-29 05:32:42
[2026-08-29 05:32:42,376.376 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:32:42,568.568 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:32:42,582.582 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:32:42,703.703 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:32:42,708.708 INFO    ] time= 29/08/2026 05:32:42
[2026-08-29 05:32:42,727.727 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:32:42,749.749 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:32:42,830.830 INFO    ] No existing commands found in stream
[2026-08-29 05:32:47,843.843 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:32:47,846.846 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-08-29 05:32:50,652.652 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:32:50,654.654 INFO    ] Checking for system updates...
[2026-08-29 05:32:50,675.675 INFO    ] 200
[2026-08-29 05:32:50,677.677 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:32:50,707.707 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:32:50,709.709 INFO    ] No update needed
[2026-08-29 05:32:50,710.710 INFO    ] Checking for camera pi updates...
[2026-08-29 05:32:50,729.729 INFO    ] 200
[2026-08-29 05:32:50,730.730 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:32:50,755.755 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:32:50,842.842 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:32:50,844.844 INFO    ] No camera update needed
[2026-08-29 05:32:50,845.845 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:32:50,846.846 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:32:50,849.849 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:32:50,852.852 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:32:52,891.891 INFO    ] ================================================
[2026-08-29 05:32:52,907.907 INFO    ] Launching Daemon at Sat Aug 29 05:32:52 IST 2026
[2026-08-29 05:32:52,917.917 INFO    ] ================================================
[2026-08-29 05:32:53,251.251 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:32:53
[2026-08-29 05:32:53,567.567 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:32:53,700.700 INFO    ] Initializing speech engine...
[2026-08-29 05:32:53,704.704 INFO    ] 2026-08-29 05:32:53
[2026-08-29 05:32:53,931.931 INFO    ] 2026-08-29 05:32:53
[2026-08-29 05:32:53,962.962 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:32:54,149.149 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:32:54,153.153 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:32:54,284.284 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:32:54,345.345 INFO    ] time= 29/08/2026 05:32:54
[2026-08-29 05:32:54,383.383 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:32:54,390.390 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:32:54,458.458 INFO    ] No existing commands found in stream
[2026-08-29 05:32:59,467.467 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:32:59,470.470 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-08-29 05:33:03,053.053 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:33:03,056.056 INFO    ] Checking for system updates...
[2026-08-29 05:33:03,104.104 INFO    ] 200
[2026-08-29 05:33:03,108.108 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:33:03,160.160 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:33:03,163.163 INFO    ] No update needed
[2026-08-29 05:33:03,165.165 INFO    ] Checking for camera pi updates...
[2026-08-29 05:33:03,202.202 INFO    ] 200
[2026-08-29 05:33:03,205.205 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:33:03,246.246 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:33:03,328.328 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:33:03,330.330 INFO    ] No camera update needed
[2026-08-29 05:33:03,333.333 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:33:03,335.335 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:33:03,340.340 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:33:03,346.346 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:33:05,385.385 INFO    ] ================================================
[2026-08-29 05:33:05,400.400 INFO    ] Launching Daemon at Sat Aug 29 05:33:05 IST 2026
[2026-08-29 05:33:05,411.411 INFO    ] ================================================
[2026-08-29 05:33:05,776.776 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:33:05
[2026-08-29 05:33:06,089.089 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:33:06,377.377 INFO    ] Initializing speech engine...
[2026-08-29 05:33:06,387.387 INFO    ] 2026-08-29 05:33:06
[2026-08-29 05:33:06,637.637 INFO    ] 2026-08-29 05:33:06
[2026-08-29 05:33:06,704.704 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:33:06,866.866 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:33:06,878.878 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:33:07,001.001 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:33:07,007.007 INFO    ] time= 29/08/2026 05:33:07
[2026-08-29 05:33:07,013.013 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:33:07,032.032 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:33:07,135.135 INFO    ] No existing commands found in stream
[2026-08-29 05:33:12,147.147 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:33:12,149.149 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-08-29 05:33:15,469.469 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:33:15,471.471 INFO    ] Checking for system updates...
[2026-08-29 05:33:15,493.493 INFO    ] 200
[2026-08-29 05:33:15,494.494 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:33:15,526.526 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:33:15,527.527 INFO    ] No update needed
[2026-08-29 05:33:15,529.529 INFO    ] Checking for camera pi updates...
[2026-08-29 05:33:15,549.549 INFO    ] 200
[2026-08-29 05:33:15,550.550 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:33:15,574.574 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:33:15,654.654 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:33:15,656.656 INFO    ] No camera update needed
[2026-08-29 05:33:15,659.659 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:33:15,661.661 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:33:15,666.666 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:33:15,671.671 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:33:17,712.712 INFO    ] ================================================
[2026-08-29 05:33:17,727.727 INFO    ] Launching Daemon at Sat Aug 29 05:33:17 IST 2026
[2026-08-29 05:33:17,738.738 INFO    ] ================================================
[2026-08-29 05:33:18,320.320 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:33:18
[2026-08-29 05:33:18,818.818 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:33:18,952.952 INFO    ] Initializing speech engine...
[2026-08-29 05:33:18,957.957 INFO    ] 2026-08-29 05:33:18
[2026-08-29 05:33:19,185.185 INFO    ] 2026-08-29 05:33:19
[2026-08-29 05:33:19,216.216 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:33:19,353.353 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:33:19,406.406 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:33:19,565.565 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:33:19,610.610 INFO    ] time= 29/08/2026 05:33:19
[2026-08-29 05:33:19,664.664 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:33:19,718.718 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:33:19,776.776 INFO    ] No existing commands found in stream
[2026-08-29 05:33:24,806.806 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:33:24,809.809 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 05:33:28,266.266 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:33:28,267.267 INFO    ] Checking for system updates...
[2026-08-29 05:33:28,288.288 INFO    ] 200
[2026-08-29 05:33:28,289.289 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:33:28,319.319 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:33:28,320.320 INFO    ] No update needed
[2026-08-29 05:33:28,322.322 INFO    ] Checking for camera pi updates...
[2026-08-29 05:33:28,342.342 INFO    ] 200
[2026-08-29 05:33:28,343.343 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:33:28,368.368 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:33:28,457.457 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:33:28,458.458 INFO    ] No camera update needed
[2026-08-29 05:33:28,459.459 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:33:28,461.461 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:33:28,464.464 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:33:28,466.466 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:33:30,504.504 INFO    ] ================================================
[2026-08-29 05:33:30,519.519 INFO    ] Launching Daemon at Sat Aug 29 05:33:30 IST 2026
[2026-08-29 05:33:30,530.530 INFO    ] ================================================
[2026-08-29 05:33:30,860.860 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:33:30
[2026-08-29 05:33:31,171.171 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:33:31,314.314 INFO    ] Initializing speech engine...
[2026-08-29 05:33:31,319.319 INFO    ] 2026-08-29 05:33:31
[2026-08-29 05:33:31,506.506 INFO    ] 2026-08-29 05:33:31
[2026-08-29 05:33:31,543.543 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:33:31,721.721 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:33:31,735.735 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:33:31,886.886 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:33:31,894.894 INFO    ] time= 29/08/2026 05:33:31
[2026-08-29 05:33:31,937.937 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:33:31,963.963 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:33:32,054.054 INFO    ] No existing commands found in stream
[2026-08-29 05:33:37,085.085 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:33:37,087.087 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-08-29 05:33:40,921.921 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:33:40,922.922 INFO    ] Checking for system updates...
[2026-08-29 05:33:40,942.942 INFO    ] 200
[2026-08-29 05:33:40,944.944 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:33:40,978.978 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:33:40,979.979 INFO    ] No update needed
[2026-08-29 05:33:40,980.980 INFO    ] Checking for camera pi updates...
[2026-08-29 05:33:40,999.999 INFO    ] 200
[2026-08-29 05:33:41,001.001 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:33:41,024.024 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:33:41,105.105 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:33:41,107.107 INFO    ] No camera update needed
[2026-08-29 05:33:41,108.108 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:33:41,109.109 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:33:41,112.112 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:33:41,115.115 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:33:43,153.153 INFO    ] ================================================
[2026-08-29 05:33:43,169.169 INFO    ] Launching Daemon at Sat Aug 29 05:33:43 IST 2026
[2026-08-29 05:33:43,180.180 INFO    ] ================================================
[2026-08-29 05:33:43,547.547 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:33:43
[2026-08-29 05:33:43,858.858 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:33:43,996.996 INFO    ] Initializing speech engine...
[2026-08-29 05:33:44,006.006 INFO    ] 2026-08-29 05:33:43
[2026-08-29 05:33:44,222.222 INFO    ] 2026-08-29 05:33:44
[2026-08-29 05:33:44,297.297 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:33:44,459.459 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:33:44,468.468 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:33:44,615.615 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:33:44,654.654 INFO    ] time= 29/08/2026 05:33:44
[2026-08-29 05:33:44,708.708 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:33:44,750.750 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:33:44,807.807 INFO    ] No existing commands found in stream
[2026-08-29 05:33:49,820.820 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:33:49,823.823 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-08-29 05:33:53,989.989 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:33:53,991.991 INFO    ] Checking for system updates...
[2026-08-29 05:33:54,012.012 INFO    ] 200
[2026-08-29 05:33:54,014.014 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:33:54,044.044 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:33:54,045.045 INFO    ] No update needed
[2026-08-29 05:33:54,046.046 INFO    ] Checking for camera pi updates...
[2026-08-29 05:33:54,067.067 INFO    ] 200
[2026-08-29 05:33:54,068.068 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:33:54,091.091 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:33:54,267.267 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:33:54,269.269 INFO    ] No camera update needed
[2026-08-29 05:33:54,270.270 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:33:54,271.271 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:33:54,274.274 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:33:54,277.277 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:33:56,317.317 INFO    ] ================================================
[2026-08-29 05:33:56,334.334 INFO    ] Launching Daemon at Sat Aug 29 05:33:56 IST 2026
[2026-08-29 05:33:56,345.345 INFO    ] ================================================
[2026-08-29 05:33:56,901.901 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:33:56
[2026-08-29 05:33:57,492.492 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:33:57,752.752 INFO    ] Initializing speech engine...
[2026-08-29 05:33:57,768.768 INFO    ] 2026-08-29 05:33:57
[2026-08-29 05:33:58,050.050 INFO    ] 2026-08-29 05:33:58
[2026-08-29 05:33:58,090.090 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:33:58,282.282 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:33:58,289.289 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:33:58,424.424 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:33:58,445.445 INFO    ] time= 29/08/2026 05:33:58
[2026-08-29 05:33:58,466.466 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:33:58,475.475 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:33:58,553.553 INFO    ] No existing commands found in stream
[2026-08-29 05:34:03,563.563 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:34:03,565.565 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-08-29 05:34:06,475.475 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:34:06,477.477 INFO    ] Checking for system updates...
[2026-08-29 05:34:06,497.497 INFO    ] 200
[2026-08-29 05:34:06,498.498 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:34:06,528.528 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:34:06,529.529 INFO    ] No update needed
[2026-08-29 05:34:06,530.530 INFO    ] Checking for camera pi updates...
[2026-08-29 05:34:06,549.549 INFO    ] 200
[2026-08-29 05:34:06,551.551 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:34:06,576.576 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:34:06,667.667 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:34:06,668.668 INFO    ] No camera update needed
[2026-08-29 05:34:06,669.669 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:34:06,670.670 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:34:06,673.673 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:34:06,676.676 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:34:08,714.714 INFO    ] ================================================
[2026-08-29 05:34:08,730.730 INFO    ] Launching Daemon at Sat Aug 29 05:34:08 IST 2026
[2026-08-29 05:34:08,741.741 INFO    ] ================================================
[2026-08-29 05:34:09,264.264 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:34:09
[2026-08-29 05:34:09,907.907 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:34:10,200.200 INFO    ] Initializing speech engine...
[2026-08-29 05:34:10,207.207 INFO    ] 2026-08-29 05:34:10
[2026-08-29 05:34:10,461.461 INFO    ] 2026-08-29 05:34:10
[2026-08-29 05:34:10,504.504 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:34:10,671.671 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:34:10,685.685 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:34:10,826.826 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:34:10,835.835 INFO    ] time= 29/08/2026 05:34:10
[2026-08-29 05:34:10,843.843 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:34:10,889.889 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:34:11,015.015 INFO    ] No existing commands found in stream
[2026-08-29 05:34:16,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:34:16,044.044 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-08-29 05:34:17,369.369 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:34:17,370.370 INFO    ] Checking for system updates...
[2026-08-29 05:34:17,391.391 INFO    ] 200
[2026-08-29 05:34:17,392.392 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:34:17,426.426 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:34:17,427.427 INFO    ] No update needed
[2026-08-29 05:34:17,429.429 INFO    ] Checking for camera pi updates...
[2026-08-29 05:34:17,449.449 INFO    ] 200
[2026-08-29 05:34:17,450.450 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:34:17,474.474 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:34:17,564.564 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:34:17,565.565 INFO    ] No camera update needed
[2026-08-29 05:34:17,567.567 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:34:17,568.568 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:34:17,571.571 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:34:17,573.573 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:34:19,612.612 INFO    ] ================================================
[2026-08-29 05:34:19,628.628 INFO    ] Launching Daemon at Sat Aug 29 05:34:19 IST 2026
[2026-08-29 05:34:19,639.639 INFO    ] ================================================
[2026-08-29 05:34:19,996.996 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:34:19
[2026-08-29 05:34:20,307.307 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:34:20,444.444 INFO    ] Initializing speech engine...
[2026-08-29 05:34:20,454.454 INFO    ] 2026-08-29 05:34:20
[2026-08-29 05:34:20,642.642 INFO    ] 2026-08-29 05:34:20
[2026-08-29 05:34:20,677.677 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:34:20,847.847 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:34:20,858.858 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:34:20,999.999 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:34:21,007.007 INFO    ] time= 29/08/2026 05:34:21
[2026-08-29 05:34:21,014.014 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:34:21,025.025 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:34:21,165.165 INFO    ] No existing commands found in stream
[2026-08-29 05:34:26,190.190 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:34:26,193.193 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-08-29 05:34:29,327.327 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:34:29,329.329 INFO    ] Checking for system updates...
[2026-08-29 05:34:29,349.349 INFO    ] 200
[2026-08-29 05:34:29,350.350 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:34:29,382.382 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:34:29,383.383 INFO    ] No update needed
[2026-08-29 05:34:29,384.384 INFO    ] Checking for camera pi updates...
[2026-08-29 05:34:29,403.403 INFO    ] 200
[2026-08-29 05:34:29,405.405 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:34:29,431.431 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:34:29,510.510 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:34:29,511.511 INFO    ] No camera update needed
[2026-08-29 05:34:29,512.512 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:34:29,513.513 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:34:29,516.516 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:34:29,519.519 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:34:31,554.554 INFO    ] ================================================
[2026-08-29 05:34:31,564.564 INFO    ] Launching Daemon at Sat Aug 29 05:34:31 IST 2026
[2026-08-29 05:34:31,571.571 INFO    ] ================================================
[2026-08-29 05:34:32,147.147 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:34:32
[2026-08-29 05:34:32,762.762 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:34:33,019.019 INFO    ] Initializing speech engine...
[2026-08-29 05:34:33,034.034 INFO    ] 2026-08-29 05:34:33
[2026-08-29 05:34:33,313.313 INFO    ] 2026-08-29 05:34:33
[2026-08-29 05:34:33,350.350 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:34:33,494.494 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:34:33,501.501 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:34:33,648.648 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:34:33,658.658 INFO    ] time= 29/08/2026 05:34:33
[2026-08-29 05:34:33,664.664 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:34:33,687.687 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:34:33,806.806 INFO    ] No existing commands found in stream
[2026-08-29 05:34:38,818.818 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:34:38,821.821 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-08-29 05:34:43,080.080 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:34:43,082.082 INFO    ] Checking for system updates...
[2026-08-29 05:34:43,102.102 INFO    ] 200
[2026-08-29 05:34:43,104.104 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:34:43,133.133 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:34:43,135.135 INFO    ] No update needed
[2026-08-29 05:34:43,136.136 INFO    ] Checking for camera pi updates...
[2026-08-29 05:34:43,155.155 INFO    ] 200
[2026-08-29 05:34:43,156.156 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:34:43,180.180 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:34:43,265.265 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:34:43,267.267 INFO    ] No camera update needed
[2026-08-29 05:34:43,268.268 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:34:43,269.269 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:34:43,272.272 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:34:43,275.275 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:34:45,313.313 INFO    ] ================================================
[2026-08-29 05:34:45,329.329 INFO    ] Launching Daemon at Sat Aug 29 05:34:45 IST 2026
[2026-08-29 05:34:45,340.340 INFO    ] ================================================
[2026-08-29 05:34:45,707.707 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:34:45
[2026-08-29 05:34:46,018.018 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:34:46,164.164 INFO    ] Initializing speech engine...
[2026-08-29 05:34:46,169.169 INFO    ] 2026-08-29 05:34:46
[2026-08-29 05:34:46,381.381 INFO    ] 2026-08-29 05:34:46
[2026-08-29 05:34:46,412.412 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:34:46,543.543 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:34:46,591.591 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:34:46,749.749 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:34:46,775.775 INFO    ] time= 29/08/2026 05:34:46
[2026-08-29 05:34:46,831.831 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:34:46,856.856 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:34:46,931.931 INFO    ] No existing commands found in stream
[2026-08-29 05:34:51,941.941 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:34:51,944.944 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-08-29 05:34:53,558.558 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:34:53,560.560 INFO    ] Checking for system updates...
[2026-08-29 05:34:53,580.580 INFO    ] 200
[2026-08-29 05:34:53,581.581 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:34:53,614.614 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:34:53,615.615 INFO    ] No update needed
[2026-08-29 05:34:53,617.617 INFO    ] Checking for camera pi updates...
[2026-08-29 05:34:53,637.637 INFO    ] 200
[2026-08-29 05:34:53,638.638 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:34:53,662.662 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:34:53,749.749 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:34:53,750.750 INFO    ] No camera update needed
[2026-08-29 05:34:53,751.751 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:34:53,753.753 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:34:53,756.756 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:34:53,758.758 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:34:55,797.797 INFO    ] ================================================
[2026-08-29 05:34:55,812.812 INFO    ] Launching Daemon at Sat Aug 29 05:34:55 IST 2026
[2026-08-29 05:34:55,824.824 INFO    ] ================================================
[2026-08-29 05:34:56,189.189 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:34:56
[2026-08-29 05:34:56,501.501 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:34:56,643.643 INFO    ] Initializing speech engine...
[2026-08-29 05:34:56,648.648 INFO    ] 2026-08-29 05:34:56
[2026-08-29 05:34:56,855.855 INFO    ] 2026-08-29 05:34:56
[2026-08-29 05:34:56,883.883 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:34:57,008.008 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:34:57,066.066 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:34:57,211.211 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:34:57,275.275 INFO    ] time= 29/08/2026 05:34:57
[2026-08-29 05:34:57,304.304 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:34:57,310.310 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:34:57,377.377 INFO    ] No existing commands found in stream
[2026-08-29 05:35:02,387.387 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:35:02,390.390 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 05:35:04,909.909 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:35:04,911.911 INFO    ] Checking for system updates...
[2026-08-29 05:35:04,932.932 INFO    ] 200
[2026-08-29 05:35:04,933.933 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:35:04,965.965 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:35:04,966.966 INFO    ] No update needed
[2026-08-29 05:35:04,967.967 INFO    ] Checking for camera pi updates...
[2026-08-29 05:35:04,986.986 INFO    ] 200
[2026-08-29 05:35:04,987.987 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:35:05,010.010 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:35:05,103.103 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:35:05,106.106 INFO    ] No camera update needed
[2026-08-29 05:35:05,108.108 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:35:05,111.111 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:35:05,117.117 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:35:05,122.122 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:35:07,163.163 INFO    ] ================================================
[2026-08-29 05:35:07,179.179 INFO    ] Launching Daemon at Sat Aug 29 05:35:07 IST 2026
[2026-08-29 05:35:07,190.190 INFO    ] ================================================
[2026-08-29 05:35:07,759.759 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:35:07
[2026-08-29 05:35:08,240.240 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:35:08,382.382 INFO    ] Initializing speech engine...
[2026-08-29 05:35:08,387.387 INFO    ] 2026-08-29 05:35:08
[2026-08-29 05:35:08,581.581 INFO    ] 2026-08-29 05:35:08
[2026-08-29 05:35:08,661.661 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:35:08,808.808 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:35:08,817.817 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:35:08,948.948 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:35:08,986.986 INFO    ] time= 29/08/2026 05:35:08
[2026-08-29 05:35:09,055.055 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:35:09,082.082 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:35:09,142.142 INFO    ] No existing commands found in stream
[2026-08-29 05:35:14,167.167 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:35:14,169.169 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-08-29 05:35:15,922.922 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:35:15,924.924 INFO    ] Checking for system updates...
[2026-08-29 05:35:15,946.946 INFO    ] 200
[2026-08-29 05:35:15,947.947 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:35:15,978.978 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:35:15,980.980 INFO    ] No update needed
[2026-08-29 05:35:15,981.981 INFO    ] Checking for camera pi updates...
[2026-08-29 05:35:16,000.000 INFO    ] 200
[2026-08-29 05:35:16,001.001 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:35:16,027.027 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:35:16,124.124 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:35:16,126.126 INFO    ] No camera update needed
[2026-08-29 05:35:16,127.127 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:35:16,128.128 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:35:16,131.131 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:35:16,134.134 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:35:18,173.173 INFO    ] ================================================
[2026-08-29 05:35:18,189.189 INFO    ] Launching Daemon at Sat Aug 29 05:35:18 IST 2026
[2026-08-29 05:35:18,200.200 INFO    ] ================================================
[2026-08-29 05:35:18,563.563 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:35:18
[2026-08-29 05:35:18,875.875 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:35:19,093.093 INFO    ] Initializing speech engine...
[2026-08-29 05:35:19,100.100 INFO    ] 2026-08-29 05:35:19
[2026-08-29 05:35:19,380.380 INFO    ] 2026-08-29 05:35:19
[2026-08-29 05:35:19,415.415 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:35:19,602.602 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:35:19,615.615 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:35:19,754.754 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:35:19,779.779 INFO    ] time= 29/08/2026 05:35:19
[2026-08-29 05:35:19,785.785 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:35:19,790.790 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:35:19,863.863 INFO    ] No existing commands found in stream
[2026-08-29 05:35:24,879.879 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:35:24,882.882 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-08-29 05:35:27,169.169 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:35:27,171.171 INFO    ] Checking for system updates...
[2026-08-29 05:35:27,192.192 INFO    ] 200
[2026-08-29 05:35:27,194.194 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:35:27,223.223 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:35:27,225.225 INFO    ] No update needed
[2026-08-29 05:35:27,226.226 INFO    ] Checking for camera pi updates...
[2026-08-29 05:35:27,245.245 INFO    ] 200
[2026-08-29 05:35:27,246.246 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:35:27,269.269 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:35:27,362.362 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:35:27,363.363 INFO    ] No camera update needed
[2026-08-29 05:35:27,365.365 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:35:27,366.366 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:35:27,369.369 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:35:27,372.372 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:35:29,410.410 INFO    ] ================================================
[2026-08-29 05:35:29,426.426 INFO    ] Launching Daemon at Sat Aug 29 05:35:29 IST 2026
[2026-08-29 05:35:29,438.438 INFO    ] ================================================
[2026-08-29 05:35:29,941.941 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:35:29
[2026-08-29 05:35:30,607.607 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:35:30,900.900 INFO    ] Initializing speech engine...
[2026-08-29 05:35:30,909.909 INFO    ] 2026-08-29 05:35:30
[2026-08-29 05:35:31,173.173 INFO    ] 2026-08-29 05:35:31
[2026-08-29 05:35:31,225.225 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:35:31,460.460 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:35:31,471.471 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:35:31,610.610 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:35:31,677.677 INFO    ] time= 29/08/2026 05:35:31
[2026-08-29 05:35:31,742.742 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:35:31,749.749 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:35:31,868.868 INFO    ] No existing commands found in stream
[2026-08-29 05:35:36,907.907 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:35:36,910.910 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-08-29 05:35:38,482.482 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:35:38,484.484 INFO    ] Checking for system updates...
[2026-08-29 05:35:38,504.504 INFO    ] 200
[2026-08-29 05:35:38,506.506 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:35:38,538.538 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:35:38,539.539 INFO    ] No update needed
[2026-08-29 05:35:38,541.541 INFO    ] Checking for camera pi updates...
[2026-08-29 05:35:38,561.561 INFO    ] 200
[2026-08-29 05:35:38,562.562 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:35:38,585.585 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:35:38,706.706 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:35:38,707.707 INFO    ] No camera update needed
[2026-08-29 05:35:38,708.708 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:35:38,710.710 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:35:38,713.713 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:35:38,715.715 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:35:40,754.754 INFO    ] ================================================
[2026-08-29 05:35:40,769.769 INFO    ] Launching Daemon at Sat Aug 29 05:35:40 IST 2026
[2026-08-29 05:35:40,781.781 INFO    ] ================================================
[2026-08-29 05:35:41,146.146 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:35:41
[2026-08-29 05:35:41,484.484 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:35:41,775.775 INFO    ] Initializing speech engine...
[2026-08-29 05:35:41,783.783 INFO    ] 2026-08-29 05:35:41
[2026-08-29 05:35:42,056.056 INFO    ] 2026-08-29 05:35:42
[2026-08-29 05:35:42,114.114 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:35:42,337.337 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:35:42,346.346 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:35:42,483.483 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:35:42,533.533 INFO    ] time= 29/08/2026 05:35:42
[2026-08-29 05:35:42,593.593 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:35:42,618.618 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:35:42,755.755 INFO    ] No existing commands found in stream
[2026-08-29 05:35:47,777.777 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:35:47,781.781 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-08-29 05:35:51,909.909 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:35:51,911.911 INFO    ] Checking for system updates...
[2026-08-29 05:35:51,932.932 INFO    ] 200
[2026-08-29 05:35:51,933.933 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:35:51,965.965 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:35:51,967.967 INFO    ] No update needed
[2026-08-29 05:35:51,968.968 INFO    ] Checking for camera pi updates...
[2026-08-29 05:35:51,988.988 INFO    ] 200
[2026-08-29 05:35:51,989.989 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:35:52,016.016 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:35:52,095.095 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:35:52,097.097 INFO    ] No camera update needed
[2026-08-29 05:35:52,098.098 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:35:52,099.099 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:35:52,102.102 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:35:52,105.105 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:35:54,143.143 INFO    ] ================================================
[2026-08-29 05:35:54,158.158 INFO    ] Launching Daemon at Sat Aug 29 05:35:54 IST 2026
[2026-08-29 05:35:54,169.169 INFO    ] ================================================
[2026-08-29 05:35:54,538.538 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:35:54
[2026-08-29 05:35:54,849.849 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:35:54,991.991 INFO    ] Initializing speech engine...
[2026-08-29 05:35:54,996.996 INFO    ] 2026-08-29 05:35:54
[2026-08-29 05:35:55,203.203 INFO    ] 2026-08-29 05:35:55
[2026-08-29 05:35:55,282.282 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:35:55,428.428 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:35:55,437.437 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:35:55,571.571 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:35:55,641.641 INFO    ] time= 29/08/2026 05:35:55
[2026-08-29 05:35:55,695.695 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:35:55,704.704 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:35:55,817.817 INFO    ] No existing commands found in stream
[2026-08-29 05:36:00,839.839 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:36:00,842.842 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-08-29 05:36:04,817.817 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:36:04,819.819 INFO    ] Checking for system updates...
[2026-08-29 05:36:04,841.841 INFO    ] 200
[2026-08-29 05:36:04,842.842 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:36:04,874.874 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:36:04,876.876 INFO    ] No update needed
[2026-08-29 05:36:04,877.877 INFO    ] Checking for camera pi updates...
[2026-08-29 05:36:04,897.897 INFO    ] 200
[2026-08-29 05:36:04,899.899 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:36:04,923.923 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:36:05,004.004 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:36:05,006.006 INFO    ] No camera update needed
[2026-08-29 05:36:05,007.007 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:36:05,008.008 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:36:05,011.011 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:36:05,014.014 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:36:07,051.051 INFO    ] ================================================
[2026-08-29 05:36:07,067.067 INFO    ] Launching Daemon at Sat Aug 29 05:36:07 IST 2026
[2026-08-29 05:36:07,077.077 INFO    ] ================================================
[2026-08-29 05:36:07,539.539 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:36:07
[2026-08-29 05:36:08,123.123 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:36:08,372.372 INFO    ] Initializing speech engine...
[2026-08-29 05:36:08,386.386 INFO    ] 2026-08-29 05:36:08
[2026-08-29 05:36:08,654.654 INFO    ] 2026-08-29 05:36:08
[2026-08-29 05:36:08,688.688 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:36:08,863.863 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:36:08,880.880 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:36:09,005.005 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:36:09,011.011 INFO    ] time= 29/08/2026 05:36:09
[2026-08-29 05:36:09,025.025 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:36:09,054.054 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:36:09,139.139 INFO    ] No existing commands found in stream
[2026-08-29 05:36:14,154.154 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:36:14,157.157 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-08-29 05:36:15,832.832 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:36:15,835.835 INFO    ] Checking for system updates...
[2026-08-29 05:36:15,873.873 INFO    ] 200
[2026-08-29 05:36:15,876.876 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:36:15,945.945 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:36:15,947.947 INFO    ] No update needed
[2026-08-29 05:36:15,950.950 INFO    ] Checking for camera pi updates...
[2026-08-29 05:36:15,994.994 INFO    ] 200
[2026-08-29 05:36:15,997.997 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:36:16,055.055 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:36:16,136.136 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:36:16,139.139 INFO    ] No camera update needed
[2026-08-29 05:36:16,141.141 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:36:16,144.144 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:36:16,150.150 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:36:16,156.156 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:36:18,197.197 INFO    ] ================================================
[2026-08-29 05:36:18,213.213 INFO    ] Launching Daemon at Sat Aug 29 05:36:18 IST 2026
[2026-08-29 05:36:18,223.223 INFO    ] ================================================
[2026-08-29 05:36:18,822.822 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:36:18
[2026-08-29 05:36:19,142.142 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:36:19,290.290 INFO    ] Initializing speech engine...
[2026-08-29 05:36:19,294.294 INFO    ] 2026-08-29 05:36:19
[2026-08-29 05:36:19,497.497 INFO    ] 2026-08-29 05:36:19
[2026-08-29 05:36:19,525.525 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:36:19,647.647 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:36:19,685.685 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:36:19,844.844 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:36:19,901.901 INFO    ] time= 29/08/2026 05:36:19
[2026-08-29 05:36:19,930.930 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:36:19,940.940 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:36:20,011.011 INFO    ] No existing commands found in stream
[2026-08-29 05:36:25,021.021 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:36:25,024.024 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 05:36:26,208.208 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:36:26,211.211 INFO    ] Checking for system updates...
[2026-08-29 05:36:26,247.247 INFO    ] 200
[2026-08-29 05:36:26,249.249 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:36:26,301.301 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:36:26,304.304 INFO    ] No update needed
[2026-08-29 05:36:26,306.306 INFO    ] Checking for camera pi updates...
[2026-08-29 05:36:26,344.344 INFO    ] 200
[2026-08-29 05:36:26,347.347 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:36:26,387.387 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:36:26,467.467 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:36:26,469.469 INFO    ] No camera update needed
[2026-08-29 05:36:26,471.471 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:36:26,474.474 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:36:26,479.479 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:36:26,484.484 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:36:28,528.528 INFO    ] ================================================
[2026-08-29 05:36:28,543.543 INFO    ] Launching Daemon at Sat Aug 29 05:36:28 IST 2026
[2026-08-29 05:36:28,554.554 INFO    ] ================================================
[2026-08-29 05:36:29,137.137 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:36:29
[2026-08-29 05:36:29,486.486 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:36:29,731.731 INFO    ] Initializing speech engine...
[2026-08-29 05:36:29,740.740 INFO    ] 2026-08-29 05:36:29
[2026-08-29 05:36:29,986.986 INFO    ] 2026-08-29 05:36:29
[2026-08-29 05:36:30,028.028 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:36:30,195.195 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:36:30,207.207 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:36:30,347.347 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:36:30,356.356 INFO    ] time= 29/08/2026 05:36:30
[2026-08-29 05:36:30,362.362 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:36:30,408.408 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:36:30,536.536 INFO    ] No existing commands found in stream
[2026-08-29 05:36:35,563.563 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:36:35,566.566 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-08-29 05:36:39,470.470 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:36:39,471.471 INFO    ] Checking for system updates...
[2026-08-29 05:36:39,493.493 INFO    ] 200
[2026-08-29 05:36:39,494.494 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:36:39,526.526 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:36:39,528.528 INFO    ] No update needed
[2026-08-29 05:36:39,529.529 INFO    ] Checking for camera pi updates...
[2026-08-29 05:36:39,548.548 INFO    ] 200
[2026-08-29 05:36:39,549.549 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:36:39,576.576 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:36:39,659.659 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:36:39,661.661 INFO    ] No camera update needed
[2026-08-29 05:36:39,662.662 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:36:39,663.663 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:36:39,666.666 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:36:39,669.669 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:36:41,707.707 INFO    ] ================================================
[2026-08-29 05:36:41,722.722 INFO    ] Launching Daemon at Sat Aug 29 05:36:41 IST 2026
[2026-08-29 05:36:41,733.733 INFO    ] ================================================
[2026-08-29 05:36:42,101.101 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:36:42
[2026-08-29 05:36:42,414.414 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:36:42,546.546 INFO    ] Initializing speech engine...
[2026-08-29 05:36:42,549.549 INFO    ] 2026-08-29 05:36:42
[2026-08-29 05:36:42,764.764 INFO    ] 2026-08-29 05:36:42
[2026-08-29 05:36:42,794.794 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:36:42,915.915 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:36:42,953.953 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:36:43,145.145 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:36:43,188.188 INFO    ] time= 29/08/2026 05:36:43
[2026-08-29 05:36:43,211.211 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:36:43,277.277 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:36:43,383.383 INFO    ] No existing commands found in stream
[2026-08-29 05:36:48,392.392 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:36:48,395.395 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-08-29 05:36:51,230.230 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:36:51,232.232 INFO    ] Checking for system updates...
[2026-08-29 05:36:51,254.254 INFO    ] 200
[2026-08-29 05:36:51,255.255 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:36:51,285.285 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:36:51,286.286 INFO    ] No update needed
[2026-08-29 05:36:51,287.287 INFO    ] Checking for camera pi updates...
[2026-08-29 05:36:51,309.309 INFO    ] 200
[2026-08-29 05:36:51,310.310 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:36:51,336.336 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:36:51,413.413 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:36:51,414.414 INFO    ] No camera update needed
[2026-08-29 05:36:51,415.415 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:36:51,416.416 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:36:51,419.419 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:36:51,422.422 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:36:53,463.463 INFO    ] ================================================
[2026-08-29 05:36:53,478.478 INFO    ] Launching Daemon at Sat Aug 29 05:36:53 IST 2026
[2026-08-29 05:36:53,489.489 INFO    ] ================================================
[2026-08-29 05:36:54,056.056 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:36:54
[2026-08-29 05:36:54,635.635 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:36:54,765.765 INFO    ] Initializing speech engine...
[2026-08-29 05:36:54,769.769 INFO    ] 2026-08-29 05:36:54
[2026-08-29 05:36:54,983.983 INFO    ] 2026-08-29 05:36:54
[2026-08-29 05:36:55,013.013 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:36:55,135.135 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:36:55,197.197 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:36:55,328.328 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:36:55,384.384 INFO    ] time= 29/08/2026 05:36:55
[2026-08-29 05:36:55,424.424 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:36:55,429.429 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:36:55,499.499 INFO    ] No existing commands found in stream
[2026-08-29 05:37:00,510.510 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:37:00,513.513 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-08-29 05:37:02,742.742 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:37:02,745.745 INFO    ] Checking for system updates...
[2026-08-29 05:37:02,789.789 INFO    ] 200
[2026-08-29 05:37:02,792.792 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:37:02,864.864 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:37:02,867.867 INFO    ] No update needed
[2026-08-29 05:37:02,871.871 INFO    ] Checking for camera pi updates...
[2026-08-29 05:37:02,915.915 INFO    ] 200
[2026-08-29 05:37:02,918.918 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:37:02,977.977 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:37:03,119.119 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:37:03,123.123 INFO    ] No camera update needed
[2026-08-29 05:37:03,126.126 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:37:03,130.130 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:37:03,138.138 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:37:03,146.146 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:37:05,189.189 INFO    ] ================================================
[2026-08-29 05:37:05,204.204 INFO    ] Launching Daemon at Sat Aug 29 05:37:05 IST 2026
[2026-08-29 05:37:05,214.214 INFO    ] ================================================
[2026-08-29 05:37:05,552.552 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:37:05
[2026-08-29 05:37:05,869.869 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:37:06,007.007 INFO    ] Initializing speech engine...
[2026-08-29 05:37:06,020.020 INFO    ] 2026-08-29 05:37:06
[2026-08-29 05:37:06,254.254 INFO    ] 2026-08-29 05:37:06
[2026-08-29 05:37:06,309.309 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:37:06,445.445 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:37:06,463.463 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:37:06,607.607 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:37:06,620.620 INFO    ] time= 29/08/2026 05:37:06
[2026-08-29 05:37:06,676.676 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:37:06,715.715 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:37:06,767.767 INFO    ] No existing commands found in stream
[2026-08-29 05:37:11,779.779 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:37:11,782.782 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 05:37:14,439.439 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:37:14,441.441 INFO    ] Checking for system updates...
[2026-08-29 05:37:14,462.462 INFO    ] 200
[2026-08-29 05:37:14,464.464 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:37:14,494.494 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:37:14,495.495 INFO    ] No update needed
[2026-08-29 05:37:14,496.496 INFO    ] Checking for camera pi updates...
[2026-08-29 05:37:14,516.516 INFO    ] 200
[2026-08-29 05:37:14,518.518 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:37:14,540.540 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:37:14,620.620 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:37:14,622.622 INFO    ] No camera update needed
[2026-08-29 05:37:14,623.623 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:37:14,625.625 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:37:14,628.628 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:37:14,630.630 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:37:16,669.669 INFO    ] ================================================
[2026-08-29 05:37:16,684.684 INFO    ] Launching Daemon at Sat Aug 29 05:37:16 IST 2026
[2026-08-29 05:37:16,695.695 INFO    ] ================================================
[2026-08-29 05:37:17,071.071 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:37:17
[2026-08-29 05:37:17,389.389 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:37:17,530.530 INFO    ] Initializing speech engine...
[2026-08-29 05:37:17,538.538 INFO    ] 2026-08-29 05:37:17
[2026-08-29 05:37:17,761.761 INFO    ] 2026-08-29 05:37:17
[2026-08-29 05:37:17,792.792 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:37:17,924.924 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:37:17,968.968 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:37:18,133.133 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:37:18,196.196 INFO    ] time= 29/08/2026 05:37:18
[2026-08-29 05:37:18,231.231 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:37:18,242.242 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:37:18,318.318 INFO    ] No existing commands found in stream
[2026-08-29 05:37:23,328.328 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:37:23,331.331 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-08-29 05:37:24,680.680 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:37:24,682.682 INFO    ] Checking for system updates...
[2026-08-29 05:37:24,719.719 INFO    ] 200
[2026-08-29 05:37:24,722.722 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:37:24,775.775 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:37:24,777.777 INFO    ] No update needed
[2026-08-29 05:37:24,780.780 INFO    ] Checking for camera pi updates...
[2026-08-29 05:37:24,814.814 INFO    ] 200
[2026-08-29 05:37:24,816.816 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:37:24,857.857 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:37:24,954.954 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:37:24,957.957 INFO    ] No camera update needed
[2026-08-29 05:37:24,959.959 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:37:24,961.961 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:37:24,967.967 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:37:24,972.972 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:37:27,012.012 INFO    ] ================================================
[2026-08-29 05:37:27,027.027 INFO    ] Launching Daemon at Sat Aug 29 05:37:27 IST 2026
[2026-08-29 05:37:27,038.038 INFO    ] ================================================
[2026-08-29 05:37:27,402.402 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:37:27
[2026-08-29 05:37:27,713.713 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:37:27,879.879 INFO    ] Initializing speech engine...
[2026-08-29 05:37:27,894.894 INFO    ] 2026-08-29 05:37:27
[2026-08-29 05:37:28,153.153 INFO    ] 2026-08-29 05:37:28
[2026-08-29 05:37:28,189.189 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:37:28,363.363 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:37:28,375.375 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:37:28,515.515 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:37:28,522.522 INFO    ] time= 29/08/2026 05:37:28
[2026-08-29 05:37:28,529.529 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:37:28,554.554 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:37:28,680.680 INFO    ] No existing commands found in stream
[2026-08-29 05:37:33,710.710 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:37:33,713.713 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-08-29 05:37:35,805.805 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:37:35,806.806 INFO    ] Checking for system updates...
[2026-08-29 05:37:35,827.827 INFO    ] 200
[2026-08-29 05:37:35,829.829 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:37:35,859.859 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:37:35,860.860 INFO    ] No update needed
[2026-08-29 05:37:35,862.862 INFO    ] Checking for camera pi updates...
[2026-08-29 05:37:35,882.882 INFO    ] 200
[2026-08-29 05:37:35,883.883 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:37:35,907.907 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:37:35,993.993 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:37:35,994.994 INFO    ] No camera update needed
[2026-08-29 05:37:35,996.996 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:37:35,997.997 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:37:36,000.000 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:37:36,003.003 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:37:38,043.043 INFO    ] ================================================
[2026-08-29 05:37:38,058.058 INFO    ] Launching Daemon at Sat Aug 29 05:37:38 IST 2026
[2026-08-29 05:37:38,069.069 INFO    ] ================================================
[2026-08-29 05:37:38,416.416 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:37:38
[2026-08-29 05:37:38,729.729 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:37:38,867.867 INFO    ] Initializing speech engine...
[2026-08-29 05:37:38,875.875 INFO    ] 2026-08-29 05:37:38
[2026-08-29 05:37:39,085.085 INFO    ] 2026-08-29 05:37:39
[2026-08-29 05:37:39,114.114 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:37:39,238.238 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:37:39,302.302 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:37:39,441.441 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:37:39,505.505 INFO    ] time= 29/08/2026 05:37:39
[2026-08-29 05:37:39,533.533 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:37:39,539.539 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:37:39,607.607 INFO    ] No existing commands found in stream
[2026-08-29 05:37:44,616.616 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:37:44,619.619 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-08-29 05:37:47,389.389 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:37:47,390.390 INFO    ] Checking for system updates...
[2026-08-29 05:37:47,410.410 INFO    ] 200
[2026-08-29 05:37:47,412.412 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:37:47,445.445 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:37:47,449.449 INFO    ] No update needed
[2026-08-29 05:37:47,451.451 INFO    ] Checking for camera pi updates...
[2026-08-29 05:37:47,470.470 INFO    ] 200
[2026-08-29 05:37:47,472.472 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:37:47,496.496 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:37:47,572.572 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:37:47,573.573 INFO    ] No camera update needed
[2026-08-29 05:37:47,575.575 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:37:47,576.576 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:37:47,579.579 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:37:47,581.581 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:37:49,621.621 INFO    ] ================================================
[2026-08-29 05:37:49,637.637 INFO    ] Launching Daemon at Sat Aug 29 05:37:49 IST 2026
[2026-08-29 05:37:49,648.648 INFO    ] ================================================
[2026-08-29 05:37:49,985.985 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:37:49
[2026-08-29 05:37:50,302.302 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:37:50,440.440 INFO    ] Initializing speech engine...
[2026-08-29 05:37:50,450.450 INFO    ] 2026-08-29 05:37:50
[2026-08-29 05:37:50,660.660 INFO    ] 2026-08-29 05:37:50
[2026-08-29 05:37:50,717.717 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:37:50,864.864 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:37:50,873.873 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:37:51,004.004 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:37:51,026.026 INFO    ] time= 29/08/2026 05:37:51
[2026-08-29 05:37:51,080.080 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:37:51,134.134 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:37:51,200.200 INFO    ] No existing commands found in stream
[2026-08-29 05:37:56,233.233 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:37:56,235.235 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-08-29 05:37:58,070.070 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:37:58,071.071 INFO    ] Checking for system updates...
[2026-08-29 05:37:58,092.092 INFO    ] 200
[2026-08-29 05:37:58,094.094 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:37:58,123.123 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:37:58,125.125 INFO    ] No update needed
[2026-08-29 05:37:58,126.126 INFO    ] Checking for camera pi updates...
[2026-08-29 05:37:58,146.146 INFO    ] 200
[2026-08-29 05:37:58,148.148 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:37:58,171.171 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:37:58,267.267 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:37:58,268.268 INFO    ] No camera update needed
[2026-08-29 05:37:58,269.269 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:37:58,270.270 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:37:58,274.274 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:37:58,276.276 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:38:00,316.316 INFO    ] ================================================
[2026-08-29 05:38:00,332.332 INFO    ] Launching Daemon at Sat Aug 29 05:38:00 IST 2026
[2026-08-29 05:38:00,343.343 INFO    ] ================================================
[2026-08-29 05:38:00,694.694 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:38:00
[2026-08-29 05:38:01,033.033 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:38:01,185.185 INFO    ] Initializing speech engine...
[2026-08-29 05:38:01,191.191 INFO    ] 2026-08-29 05:38:01
[2026-08-29 05:38:01,397.397 INFO    ] 2026-08-29 05:38:01
[2026-08-29 05:38:01,427.427 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:38:01,551.551 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:38:01,613.613 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:38:01,733.733 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:38:01,784.784 INFO    ] time= 29/08/2026 05:38:01
[2026-08-29 05:38:01,789.789 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:38:01,796.796 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:38:01,855.855 INFO    ] No existing commands found in stream
[2026-08-29 05:38:06,865.865 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:38:06,868.868 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-08-29 05:38:09,575.575 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:38:09,576.576 INFO    ] Checking for system updates...
[2026-08-29 05:38:09,597.597 INFO    ] 200
[2026-08-29 05:38:09,598.598 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:38:09,628.628 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:38:09,629.629 INFO    ] No update needed
[2026-08-29 05:38:09,630.630 INFO    ] Checking for camera pi updates...
[2026-08-29 05:38:09,649.649 INFO    ] 200
[2026-08-29 05:38:09,651.651 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:38:09,687.687 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:38:09,842.842 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:38:09,844.844 INFO    ] No camera update needed
[2026-08-29 05:38:09,846.846 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:38:09,849.849 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:38:09,854.854 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:38:09,859.859 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:38:11,899.899 INFO    ] ================================================
[2026-08-29 05:38:11,915.915 INFO    ] Launching Daemon at Sat Aug 29 05:38:11 IST 2026
[2026-08-29 05:38:11,925.925 INFO    ] ================================================
[2026-08-29 05:38:12,492.492 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:38:12
[2026-08-29 05:38:12,942.942 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:38:13,160.160 INFO    ] Initializing speech engine...
[2026-08-29 05:38:13,173.173 INFO    ] 2026-08-29 05:38:13
[2026-08-29 05:38:13,455.455 INFO    ] 2026-08-29 05:38:13
[2026-08-29 05:38:13,493.493 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:38:13,690.690 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:38:13,703.703 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:38:13,864.864 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:38:13,872.872 INFO    ] time= 29/08/2026 05:38:13
[2026-08-29 05:38:13,877.877 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:38:13,884.884 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:38:13,956.956 INFO    ] No existing commands found in stream
[2026-08-29 05:38:18,970.970 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:38:18,973.973 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-08-29 05:38:23,106.106 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:38:23,108.108 INFO    ] Checking for system updates...
[2026-08-29 05:38:23,129.129 INFO    ] 200
[2026-08-29 05:38:23,131.131 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:38:23,161.161 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:38:23,162.162 INFO    ] No update needed
[2026-08-29 05:38:23,164.164 INFO    ] Checking for camera pi updates...
[2026-08-29 05:38:23,185.185 INFO    ] 200
[2026-08-29 05:38:23,186.186 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:38:23,209.209 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:38:23,296.296 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:38:23,298.298 INFO    ] No camera update needed
[2026-08-29 05:38:23,300.300 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:38:23,303.303 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:38:23,308.308 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:38:23,313.313 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:38:25,353.353 INFO    ] ================================================
[2026-08-29 05:38:25,368.368 INFO    ] Launching Daemon at Sat Aug 29 05:38:25 IST 2026
[2026-08-29 05:38:25,379.379 INFO    ] ================================================
[2026-08-29 05:38:25,960.960 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:38:25
[2026-08-29 05:38:26,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:38:26,585.585 INFO    ] Initializing speech engine...
[2026-08-29 05:38:26,589.589 INFO    ] 2026-08-29 05:38:26
[2026-08-29 05:38:26,824.824 INFO    ] 2026-08-29 05:38:26
[2026-08-29 05:38:26,860.860 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:38:27,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:38:27,057.057 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:38:27,188.188 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:38:27,194.194 INFO    ] time= 29/08/2026 05:38:27
[2026-08-29 05:38:27,202.202 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:38:27,241.241 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:38:27,359.359 INFO    ] No existing commands found in stream
[2026-08-29 05:38:32,395.395 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:38:32,398.398 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-08-29 05:38:36,610.610 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:38:36,612.612 INFO    ] Checking for system updates...
[2026-08-29 05:38:36,633.633 INFO    ] 200
[2026-08-29 05:38:36,634.634 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:38:36,666.666 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:38:36,667.667 INFO    ] No update needed
[2026-08-29 05:38:36,669.669 INFO    ] Checking for camera pi updates...
[2026-08-29 05:38:36,688.688 INFO    ] 200
[2026-08-29 05:38:36,689.689 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:38:36,729.729 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:38:36,833.833 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:38:36,835.835 INFO    ] No camera update needed
[2026-08-29 05:38:36,837.837 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:38:36,840.840 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:38:36,845.845 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:38:36,850.850 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:38:38,891.891 INFO    ] ================================================
[2026-08-29 05:38:38,907.907 INFO    ] Launching Daemon at Sat Aug 29 05:38:38 IST 2026
[2026-08-29 05:38:38,918.918 INFO    ] ================================================
[2026-08-29 05:38:39,505.505 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:38:39
[2026-08-29 05:38:39,925.925 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:38:40,065.065 INFO    ] Initializing speech engine...
[2026-08-29 05:38:40,075.075 INFO    ] 2026-08-29 05:38:40
[2026-08-29 05:38:40,279.279 INFO    ] 2026-08-29 05:38:40
[2026-08-29 05:38:40,309.309 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:38:40,435.435 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:38:40,489.489 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:38:40,621.621 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:38:40,662.662 INFO    ] time= 29/08/2026 05:38:40
[2026-08-29 05:38:40,718.718 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:38:40,770.770 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:38:40,888.888 INFO    ] No existing commands found in stream
[2026-08-29 05:38:45,914.914 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:38:45,916.916 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-08-29 05:38:47,493.493 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:38:47,494.494 INFO    ] Checking for system updates...
[2026-08-29 05:38:47,515.515 INFO    ] 200
[2026-08-29 05:38:47,516.516 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:38:47,549.549 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:38:47,550.550 INFO    ] No update needed
[2026-08-29 05:38:47,552.552 INFO    ] Checking for camera pi updates...
[2026-08-29 05:38:47,571.571 INFO    ] 200
[2026-08-29 05:38:47,572.572 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:38:47,599.599 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:38:47,697.697 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:38:47,699.699 INFO    ] No camera update needed
[2026-08-29 05:38:47,702.702 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:38:47,704.704 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:38:47,709.709 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:38:47,715.715 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:38:49,756.756 INFO    ] ================================================
[2026-08-29 05:38:49,771.771 INFO    ] Launching Daemon at Sat Aug 29 05:38:49 IST 2026
[2026-08-29 05:38:49,782.782 INFO    ] ================================================
[2026-08-29 05:38:50,357.357 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:38:50
[2026-08-29 05:38:50,840.840 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:38:50,976.976 INFO    ] Initializing speech engine...
[2026-08-29 05:38:50,984.984 INFO    ] 2026-08-29 05:38:50
[2026-08-29 05:38:51,191.191 INFO    ] 2026-08-29 05:38:51
[2026-08-29 05:38:51,272.272 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:38:51,422.422 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:38:51,431.431 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:38:51,566.566 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:38:51,577.577 INFO    ] time= 29/08/2026 05:38:51
[2026-08-29 05:38:51,632.632 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:38:51,687.687 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:38:51,754.754 INFO    ] No existing commands found in stream
[2026-08-29 05:38:56,766.766 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:38:56,769.769 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-08-29 05:38:57,215.215 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:38:57,217.217 INFO    ] Checking for system updates...
[2026-08-29 05:38:57,254.254 INFO    ] 200
[2026-08-29 05:38:57,257.257 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:38:57,320.320 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:38:57,322.322 INFO    ] No update needed
[2026-08-29 05:38:57,325.325 INFO    ] Checking for camera pi updates...
[2026-08-29 05:38:57,358.358 INFO    ] 200
[2026-08-29 05:38:57,361.361 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:38:57,405.405 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:38:57,490.490 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:38:57,492.492 INFO    ] No camera update needed
[2026-08-29 05:38:57,495.495 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:38:57,497.497 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:38:57,503.503 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:38:57,507.507 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:38:59,548.548 INFO    ] ================================================
[2026-08-29 05:38:59,563.563 INFO    ] Launching Daemon at Sat Aug 29 05:38:59 IST 2026
[2026-08-29 05:38:59,573.573 INFO    ] ================================================
[2026-08-29 05:39:00,156.156 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:39:00
[2026-08-29 05:39:00,494.494 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:39:00,637.637 INFO    ] Initializing speech engine...
[2026-08-29 05:39:00,642.642 INFO    ] 2026-08-29 05:39:00
[2026-08-29 05:39:00,846.846 INFO    ] 2026-08-29 05:39:00
[2026-08-29 05:39:00,874.874 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:39:01,010.010 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:39:01,015.015 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:39:01,181.181 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:39:01,212.212 INFO    ] time= 29/08/2026 05:39:01
[2026-08-29 05:39:01,219.219 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:39:01,239.239 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:39:01,342.342 INFO    ] No existing commands found in stream
[2026-08-29 05:39:06,373.373 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:39:06,376.376 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-08-29 05:39:07,826.826 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:39:07,827.827 INFO    ] Checking for system updates...
[2026-08-29 05:39:07,848.848 INFO    ] 200
[2026-08-29 05:39:07,850.850 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:39:07,890.890 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:39:07,892.892 INFO    ] No update needed
[2026-08-29 05:39:07,895.895 INFO    ] Checking for camera pi updates...
[2026-08-29 05:39:07,928.928 INFO    ] 200
[2026-08-29 05:39:07,931.931 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:39:07,975.975 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:39:08,061.061 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:39:08,063.063 INFO    ] No camera update needed
[2026-08-29 05:39:08,066.066 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:39:08,068.068 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:39:08,074.074 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:39:08,079.079 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:39:10,120.120 INFO    ] ================================================
[2026-08-29 05:39:10,136.136 INFO    ] Launching Daemon at Sat Aug 29 05:39:10 IST 2026
[2026-08-29 05:39:10,146.146 INFO    ] ================================================
[2026-08-29 05:39:10,718.718 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:39:10
[2026-08-29 05:39:11,162.162 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:39:11,308.308 INFO    ] Initializing speech engine...
[2026-08-29 05:39:11,313.313 INFO    ] 2026-08-29 05:39:11
[2026-08-29 05:39:11,516.516 INFO    ] 2026-08-29 05:39:11
[2026-08-29 05:39:11,544.544 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:39:11,667.667 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:39:11,700.700 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:39:11,852.852 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:39:11,884.884 INFO    ] time= 29/08/2026 05:39:11
[2026-08-29 05:39:11,928.928 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:39:11,977.977 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:39:12,081.081 INFO    ] No existing commands found in stream
[2026-08-29 05:39:17,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:39:17,107.107 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-08-29 05:39:21,260.260 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:39:21,261.261 INFO    ] Checking for system updates...
[2026-08-29 05:39:21,283.283 INFO    ] 200
[2026-08-29 05:39:21,284.284 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:39:21,317.317 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:39:21,318.318 INFO    ] No update needed
[2026-08-29 05:39:21,319.319 INFO    ] Checking for camera pi updates...
[2026-08-29 05:39:21,341.341 INFO    ] 200
[2026-08-29 05:39:21,342.342 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:39:21,365.365 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:39:21,447.447 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:39:21,449.449 INFO    ] No camera update needed
[2026-08-29 05:39:21,452.452 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:39:21,454.454 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:39:21,459.459 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:39:21,464.464 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:39:23,504.504 INFO    ] ================================================
[2026-08-29 05:39:23,519.519 INFO    ] Launching Daemon at Sat Aug 29 05:39:23 IST 2026
[2026-08-29 05:39:23,530.530 INFO    ] ================================================
[2026-08-29 05:39:24,184.184 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:39:24
[2026-08-29 05:39:24,819.819 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:39:25,077.077 INFO    ] Initializing speech engine...
[2026-08-29 05:39:25,091.091 INFO    ] 2026-08-29 05:39:25
[2026-08-29 05:39:25,343.343 INFO    ] 2026-08-29 05:39:25
[2026-08-29 05:39:25,377.377 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:39:25,550.550 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:39:25,563.563 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:39:25,707.707 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:39:25,712.712 INFO    ] time= 29/08/2026 05:39:25
[2026-08-29 05:39:25,718.718 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:39:25,738.738 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:39:25,869.869 INFO    ] No existing commands found in stream
[2026-08-29 05:39:30,894.894 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:39:30,896.896 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 05:39:31,454.454 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:39:31,455.455 INFO    ] Checking for system updates...
[2026-08-29 05:39:31,476.476 INFO    ] 200
[2026-08-29 05:39:31,477.477 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:39:31,507.507 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:39:31,508.508 INFO    ] No update needed
[2026-08-29 05:39:31,510.510 INFO    ] Checking for camera pi updates...
[2026-08-29 05:39:31,531.531 INFO    ] 200
[2026-08-29 05:39:31,533.533 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:39:31,558.558 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:39:31,611.611 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:39:31,613.613 INFO    ] No camera update needed
[2026-08-29 05:39:31,614.614 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:39:31,615.615 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:39:31,619.619 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:39:31,622.622 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:39:33,660.660 INFO    ] ================================================
[2026-08-29 05:39:33,675.675 INFO    ] Launching Daemon at Sat Aug 29 05:39:33 IST 2026
[2026-08-29 05:39:33,686.686 INFO    ] ================================================
[2026-08-29 05:39:34,315.315 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:39:34
[2026-08-29 05:39:34,901.901 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:39:35,032.032 INFO    ] Initializing speech engine...
[2026-08-29 05:39:35,036.036 INFO    ] 2026-08-29 05:39:35
[2026-08-29 05:39:35,239.239 INFO    ] 2026-08-29 05:39:35
[2026-08-29 05:39:35,273.273 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:39:35,393.393 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:39:35,397.397 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:39:35,527.527 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:39:35,531.531 INFO    ] time= 29/08/2026 05:39:35
[2026-08-29 05:39:35,536.536 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:39:35,567.567 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:39:35,653.653 INFO    ] No existing commands found in stream
[2026-08-29 05:39:40,683.683 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:39:40,686.686 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 05:39:43,005.005 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:39:43,007.007 INFO    ] Checking for system updates...
[2026-08-29 05:39:43,032.032 INFO    ] 200
[2026-08-29 05:39:43,033.033 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:39:43,067.067 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:39:43,070.070 INFO    ] No update needed
[2026-08-29 05:39:43,073.073 INFO    ] Checking for camera pi updates...
[2026-08-29 05:39:43,109.109 INFO    ] 200
[2026-08-29 05:39:43,111.111 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:39:43,162.162 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:39:43,268.268 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:39:43,271.271 INFO    ] No camera update needed
[2026-08-29 05:39:43,273.273 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:39:43,275.275 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:39:43,281.281 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:39:43,286.286 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:39:45,325.325 INFO    ] ================================================
[2026-08-29 05:39:45,340.340 INFO    ] Launching Daemon at Sat Aug 29 05:39:45 IST 2026
[2026-08-29 05:39:45,351.351 INFO    ] ================================================
[2026-08-29 05:39:45,917.917 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:39:45
[2026-08-29 05:39:46,359.359 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:39:46,594.594 INFO    ] Initializing speech engine...
[2026-08-29 05:39:46,603.603 INFO    ] 2026-08-29 05:39:46
[2026-08-29 05:39:46,862.862 INFO    ] 2026-08-29 05:39:46
[2026-08-29 05:39:46,895.895 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:39:47,079.079 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:39:47,094.094 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:39:47,218.218 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:39:47,223.223 INFO    ] time= 29/08/2026 05:39:47
[2026-08-29 05:39:47,243.243 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:39:47,265.265 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:39:47,347.347 INFO    ] No existing commands found in stream
[2026-08-29 05:39:52,359.359 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:39:52,362.362 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 05:39:52,960.960 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:39:52,961.961 INFO    ] Checking for system updates...
[2026-08-29 05:39:52,983.983 INFO    ] 200
[2026-08-29 05:39:52,984.984 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:39:53,013.013 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:39:53,015.015 INFO    ] No update needed
[2026-08-29 05:39:53,016.016 INFO    ] Checking for camera pi updates...
[2026-08-29 05:39:53,036.036 INFO    ] 200
[2026-08-29 05:39:53,037.037 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:39:53,060.060 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:39:53,119.119 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:39:53,120.120 INFO    ] No camera update needed
[2026-08-29 05:39:53,122.122 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:39:53,123.123 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:39:53,126.126 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:39:53,129.129 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:39:55,168.168 INFO    ] ================================================
[2026-08-29 05:39:55,183.183 INFO    ] Launching Daemon at Sat Aug 29 05:39:55 IST 2026
[2026-08-29 05:39:55,195.195 INFO    ] ================================================
[2026-08-29 05:39:55,535.535 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:39:55
[2026-08-29 05:39:55,853.853 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:39:56,096.096 INFO    ] Initializing speech engine...
[2026-08-29 05:39:56,105.105 INFO    ] 2026-08-29 05:39:56
[2026-08-29 05:39:56,359.359 INFO    ] 2026-08-29 05:39:56
[2026-08-29 05:39:56,417.417 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:39:56,583.583 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:39:56,634.634 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:39:56,780.780 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:39:56,801.801 INFO    ] time= 29/08/2026 05:39:56
[2026-08-29 05:39:56,860.860 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:39:56,912.912 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:39:56,972.972 INFO    ] No existing commands found in stream
[2026-08-29 05:40:01,984.984 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:40:01,988.988 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-08-29 05:40:08,597.597 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:40:08,599.599 INFO    ] Checking for system updates...
[2026-08-29 05:40:08,621.621 INFO    ] 200
[2026-08-29 05:40:08,622.622 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:40:08,655.655 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:40:08,656.656 INFO    ] No update needed
[2026-08-29 05:40:08,658.658 INFO    ] Checking for camera pi updates...
[2026-08-29 05:40:08,678.678 INFO    ] 200
[2026-08-29 05:40:08,679.679 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:40:08,706.706 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:40:08,768.768 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:40:08,769.769 INFO    ] No camera update needed
[2026-08-29 05:40:08,770.770 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:40:08,772.772 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:40:08,775.775 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:40:08,778.778 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:40:10,817.817 INFO    ] ================================================
[2026-08-29 05:40:10,833.833 INFO    ] Launching Daemon at Sat Aug 29 05:40:10 IST 2026
[2026-08-29 05:40:10,844.844 INFO    ] ================================================
[2026-08-29 05:40:11,231.231 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:40:11
[2026-08-29 05:40:11,570.570 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:40:11,834.834 INFO    ] Initializing speech engine...
[2026-08-29 05:40:11,852.852 INFO    ] 2026-08-29 05:40:11
[2026-08-29 05:40:12,158.158 INFO    ] 2026-08-29 05:40:12
[2026-08-29 05:40:12,243.243 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:40:12,393.393 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:40:12,403.403 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:40:12,535.535 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:40:12,578.578 INFO    ] time= 29/08/2026 05:40:12
[2026-08-29 05:40:12,638.638 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:40:12,671.671 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:40:12,728.728 INFO    ] No existing commands found in stream
[2026-08-29 05:40:17,741.741 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:40:17,745.745 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-08-29 05:40:19,475.475 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:40:19,477.477 INFO    ] Checking for system updates...
[2026-08-29 05:40:19,497.497 INFO    ] 200
[2026-08-29 05:40:19,499.499 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:40:19,531.531 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:40:19,533.533 INFO    ] No update needed
[2026-08-29 05:40:19,534.534 INFO    ] Checking for camera pi updates...
[2026-08-29 05:40:19,555.555 INFO    ] 200
[2026-08-29 05:40:19,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:40:19,582.582 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:40:19,777.777 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:40:19,778.778 INFO    ] No camera update needed
[2026-08-29 05:40:19,779.779 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:40:19,781.781 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:40:19,784.784 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:40:19,787.787 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:40:21,825.825 INFO    ] ================================================
[2026-08-29 05:40:21,841.841 INFO    ] Launching Daemon at Sat Aug 29 05:40:21 IST 2026
[2026-08-29 05:40:21,852.852 INFO    ] ================================================
[2026-08-29 05:40:22,371.371 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:40:22
[2026-08-29 05:40:22,962.962 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:40:23,236.236 INFO    ] Initializing speech engine...
[2026-08-29 05:40:23,243.243 INFO    ] 2026-08-29 05:40:23
[2026-08-29 05:40:23,489.489 INFO    ] 2026-08-29 05:40:23
[2026-08-29 05:40:23,525.525 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:40:23,697.697 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:40:23,709.709 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:40:23,853.853 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:40:23,858.858 INFO    ] time= 29/08/2026 05:40:23
[2026-08-29 05:40:23,864.864 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:40:23,912.912 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:40:24,025.025 INFO    ] No existing commands found in stream
[2026-08-29 05:40:29,055.055 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:40:29,058.058 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-08-29 05:40:29,968.968 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:40:29,970.970 INFO    ] Checking for system updates...
[2026-08-29 05:40:29,991.991 INFO    ] 200
[2026-08-29 05:40:29,992.992 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:40:30,024.024 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:40:30,025.025 INFO    ] No update needed
[2026-08-29 05:40:30,026.026 INFO    ] Checking for camera pi updates...
[2026-08-29 05:40:30,046.046 INFO    ] 200
[2026-08-29 05:40:30,047.047 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:40:30,072.072 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:40:30,153.153 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:40:30,154.154 INFO    ] No camera update needed
[2026-08-29 05:40:30,155.155 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:40:30,157.157 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:40:30,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:40:30,162.162 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:40:32,195.195 INFO    ] ================================================
[2026-08-29 05:40:32,204.204 INFO    ] Launching Daemon at Sat Aug 29 05:40:32 IST 2026
[2026-08-29 05:40:32,211.211 INFO    ] ================================================
[2026-08-29 05:40:32,742.742 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:40:32
[2026-08-29 05:40:33,350.350 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:40:33,618.618 INFO    ] Initializing speech engine...
[2026-08-29 05:40:33,628.628 INFO    ] 2026-08-29 05:40:33
[2026-08-29 05:40:33,873.873 INFO    ] 2026-08-29 05:40:33
[2026-08-29 05:40:33,909.909 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:40:34,089.089 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:40:34,105.105 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:40:34,234.234 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:40:34,242.242 INFO    ] time= 29/08/2026 05:40:34
[2026-08-29 05:40:34,248.248 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:40:34,295.295 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:40:34,416.416 INFO    ] No existing commands found in stream
[2026-08-29 05:40:39,436.436 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:40:39,438.438 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-08-29 05:40:43,008.008 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:40:43,009.009 INFO    ] Checking for system updates...
[2026-08-29 05:40:43,029.029 INFO    ] 200
[2026-08-29 05:40:43,031.031 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:40:43,062.062 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:40:43,064.064 INFO    ] No update needed
[2026-08-29 05:40:43,065.065 INFO    ] Checking for camera pi updates...
[2026-08-29 05:40:43,085.085 INFO    ] 200
[2026-08-29 05:40:43,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:40:43,109.109 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:40:43,190.190 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:40:43,191.191 INFO    ] No camera update needed
[2026-08-29 05:40:43,193.193 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:40:43,194.194 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:40:43,197.197 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:40:43,200.200 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:40:45,240.240 INFO    ] ================================================
[2026-08-29 05:40:45,256.256 INFO    ] Launching Daemon at Sat Aug 29 05:40:45 IST 2026
[2026-08-29 05:40:45,267.267 INFO    ] ================================================
[2026-08-29 05:40:45,635.635 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:40:45
[2026-08-29 05:40:45,948.948 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:40:46,079.079 INFO    ] Initializing speech engine...
[2026-08-29 05:40:46,083.083 INFO    ] 2026-08-29 05:40:46
[2026-08-29 05:40:46,280.280 INFO    ] 2026-08-29 05:40:46
[2026-08-29 05:40:46,315.315 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:40:46,502.502 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:40:46,508.508 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:40:46,637.637 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:40:46,644.644 INFO    ] time= 29/08/2026 05:40:46
[2026-08-29 05:40:46,649.649 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:40:46,669.669 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:40:46,769.769 INFO    ] No existing commands found in stream
[2026-08-29 05:40:51,779.779 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:40:51,782.782 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-08-29 05:40:54,017.017 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:40:54,018.018 INFO    ] Checking for system updates...
[2026-08-29 05:40:54,038.038 INFO    ] 200
[2026-08-29 05:40:54,040.040 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:40:54,074.074 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:40:54,075.075 INFO    ] No update needed
[2026-08-29 05:40:54,076.076 INFO    ] Checking for camera pi updates...
[2026-08-29 05:40:54,095.095 INFO    ] 200
[2026-08-29 05:40:54,097.097 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:40:54,121.121 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:40:54,220.220 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:40:54,221.221 INFO    ] No camera update needed
[2026-08-29 05:40:54,222.222 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:40:54,223.223 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:40:54,226.226 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:40:54,229.229 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:40:56,266.266 INFO    ] ================================================
[2026-08-29 05:40:56,282.282 INFO    ] Launching Daemon at Sat Aug 29 05:40:56 IST 2026
[2026-08-29 05:40:56,293.293 INFO    ] ================================================
[2026-08-29 05:40:56,644.644 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:40:56
[2026-08-29 05:40:56,978.978 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:40:57,129.129 INFO    ] Initializing speech engine...
[2026-08-29 05:40:57,133.133 INFO    ] 2026-08-29 05:40:57
[2026-08-29 05:40:57,382.382 INFO    ] 2026-08-29 05:40:57
[2026-08-29 05:40:57,437.437 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:40:57,600.600 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:40:57,608.608 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:40:57,766.766 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:40:57,807.807 INFO    ] time= 29/08/2026 05:40:57
[2026-08-29 05:40:57,813.813 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:40:57,831.831 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:40:57,947.947 INFO    ] No existing commands found in stream
[2026-08-29 05:41:02,972.972 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:41:02,975.975 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-08-29 05:41:06,241.241 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:41:06,243.243 INFO    ] Checking for system updates...
[2026-08-29 05:41:06,264.264 INFO    ] 200
[2026-08-29 05:41:06,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:41:06,295.295 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:41:06,297.297 INFO    ] No update needed
[2026-08-29 05:41:06,299.299 INFO    ] Checking for camera pi updates...
[2026-08-29 05:41:06,320.320 INFO    ] 200
[2026-08-29 05:41:06,322.322 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:41:06,347.347 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:41:06,402.402 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:41:06,403.403 INFO    ] No camera update needed
[2026-08-29 05:41:06,405.405 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:41:06,406.406 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:41:06,409.409 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:41:06,412.412 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:41:08,450.450 INFO    ] ================================================
[2026-08-29 05:41:08,465.465 INFO    ] Launching Daemon at Sat Aug 29 05:41:08 IST 2026
[2026-08-29 05:41:08,476.476 INFO    ] ================================================
[2026-08-29 05:41:08,835.835 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:41:08
[2026-08-29 05:41:09,150.150 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:41:09,383.383 INFO    ] Initializing speech engine...
[2026-08-29 05:41:09,389.389 INFO    ] 2026-08-29 05:41:09
[2026-08-29 05:41:09,651.651 INFO    ] 2026-08-29 05:41:09
[2026-08-29 05:41:09,704.704 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:41:09,926.926 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:41:09,934.934 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:41:10,068.068 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:41:10,116.116 INFO    ] time= 29/08/2026 05:41:10
[2026-08-29 05:41:10,176.176 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:41:10,205.205 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:41:10,326.326 INFO    ] No existing commands found in stream
[2026-08-29 05:41:15,358.358 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:41:15,361.361 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-08-29 05:41:17,160.160 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:41:17,162.162 INFO    ] Checking for system updates...
[2026-08-29 05:41:17,184.184 INFO    ] 200
[2026-08-29 05:41:17,185.185 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:41:17,218.218 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:41:17,220.220 INFO    ] No update needed
[2026-08-29 05:41:17,221.221 INFO    ] Checking for camera pi updates...
[2026-08-29 05:41:17,241.241 INFO    ] 200
[2026-08-29 05:41:17,242.242 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:41:17,265.265 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:41:17,357.357 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:41:17,358.358 INFO    ] No camera update needed
[2026-08-29 05:41:17,360.360 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:41:17,361.361 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:41:17,364.364 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:41:17,367.367 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:41:19,407.407 INFO    ] ================================================
[2026-08-29 05:41:19,423.423 INFO    ] Launching Daemon at Sat Aug 29 05:41:19 IST 2026
[2026-08-29 05:41:19,434.434 INFO    ] ================================================
[2026-08-29 05:41:19,784.784 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:41:19
[2026-08-29 05:41:20,096.096 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:41:20,227.227 INFO    ] Initializing speech engine...
[2026-08-29 05:41:20,230.230 INFO    ] 2026-08-29 05:41:20
[2026-08-29 05:41:20,448.448 INFO    ] 2026-08-29 05:41:20
[2026-08-29 05:41:20,478.478 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:41:20,600.600 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:41:20,644.644 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:41:20,796.796 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:41:20,852.852 INFO    ] time= 29/08/2026 05:41:20
[2026-08-29 05:41:20,887.887 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:41:20,898.898 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:41:20,969.969 INFO    ] No existing commands found in stream
[2026-08-29 05:41:25,979.979 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:41:25,982.982 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-08-29 05:41:29,986.986 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:41:29,987.987 INFO    ] Checking for system updates...
[2026-08-29 05:41:30,008.008 INFO    ] 200
[2026-08-29 05:41:30,010.010 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:41:30,043.043 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:41:30,045.045 INFO    ] No update needed
[2026-08-29 05:41:30,046.046 INFO    ] Checking for camera pi updates...
[2026-08-29 05:41:30,066.066 INFO    ] 200
[2026-08-29 05:41:30,067.067 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:41:30,101.101 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:41:30,176.176 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:41:30,178.178 INFO    ] No camera update needed
[2026-08-29 05:41:30,181.181 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:41:30,183.183 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:41:30,188.188 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:41:30,193.193 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:41:32,238.238 INFO    ] ================================================
[2026-08-29 05:41:32,254.254 INFO    ] Launching Daemon at Sat Aug 29 05:41:32 IST 2026
[2026-08-29 05:41:32,266.266 INFO    ] ================================================
[2026-08-29 05:41:32,884.884 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:41:32
[2026-08-29 05:41:33,428.428 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:41:33,685.685 INFO    ] Initializing speech engine...
[2026-08-29 05:41:33,693.693 INFO    ] 2026-08-29 05:41:33
[2026-08-29 05:41:33,984.984 INFO    ] 2026-08-29 05:41:33
[2026-08-29 05:41:34,023.023 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:41:34,215.215 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:41:34,221.221 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:41:34,352.352 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:41:34,359.359 INFO    ] time= 29/08/2026 05:41:34
[2026-08-29 05:41:34,379.379 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:41:34,400.400 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:41:34,485.485 INFO    ] No existing commands found in stream
[2026-08-29 05:41:39,500.500 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:41:39,503.503 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-08-29 05:41:43,125.125 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:41:43,126.126 INFO    ] Checking for system updates...
[2026-08-29 05:41:43,146.146 INFO    ] 200
[2026-08-29 05:41:43,148.148 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:41:43,178.178 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:41:43,179.179 INFO    ] No update needed
[2026-08-29 05:41:43,180.180 INFO    ] Checking for camera pi updates...
[2026-08-29 05:41:43,199.199 INFO    ] 200
[2026-08-29 05:41:43,200.200 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:41:43,224.224 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:41:43,306.306 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:41:43,308.308 INFO    ] No camera update needed
[2026-08-29 05:41:43,309.309 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:41:43,310.310 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:41:43,313.313 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:41:43,316.316 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:41:45,355.355 INFO    ] ================================================
[2026-08-29 05:41:45,370.370 INFO    ] Launching Daemon at Sat Aug 29 05:41:45 IST 2026
[2026-08-29 05:41:45,381.381 INFO    ] ================================================
[2026-08-29 05:41:45,894.894 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:41:45
[2026-08-29 05:41:46,492.492 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:41:46,766.766 INFO    ] Initializing speech engine...
[2026-08-29 05:41:46,775.775 INFO    ] 2026-08-29 05:41:46
[2026-08-29 05:41:47,025.025 INFO    ] 2026-08-29 05:41:47
[2026-08-29 05:41:47,091.091 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:41:47,313.313 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:41:47,321.321 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:41:47,454.454 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:41:47,491.491 INFO    ] time= 29/08/2026 05:41:47
[2026-08-29 05:41:47,557.557 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:41:47,588.588 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:41:47,645.645 INFO    ] No existing commands found in stream
[2026-08-29 05:41:52,657.657 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:41:52,659.659 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-08-29 05:41:54,425.425 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:41:54,426.426 INFO    ] Checking for system updates...
[2026-08-29 05:41:54,446.446 INFO    ] 200
[2026-08-29 05:41:54,447.447 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:41:54,477.477 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:41:54,479.479 INFO    ] No update needed
[2026-08-29 05:41:54,480.480 INFO    ] Checking for camera pi updates...
[2026-08-29 05:41:54,499.499 INFO    ] 200
[2026-08-29 05:41:54,500.500 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:41:54,526.526 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:41:54,602.602 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:41:54,603.603 INFO    ] No camera update needed
[2026-08-29 05:41:54,604.604 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:41:54,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:41:54,608.608 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:41:54,611.611 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:41:56,653.653 INFO    ] ================================================
[2026-08-29 05:41:56,668.668 INFO    ] Launching Daemon at Sat Aug 29 05:41:56 IST 2026
[2026-08-29 05:41:56,679.679 INFO    ] ================================================
[2026-08-29 05:41:57,019.019 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:41:57
[2026-08-29 05:41:57,364.364 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:41:57,648.648 INFO    ] Initializing speech engine...
[2026-08-29 05:41:57,657.657 INFO    ] 2026-08-29 05:41:57
[2026-08-29 05:41:57,908.908 INFO    ] 2026-08-29 05:41:57
[2026-08-29 05:41:57,944.944 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:41:58,120.120 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:41:58,133.133 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:41:58,277.277 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:41:58,285.285 INFO    ] time= 29/08/2026 05:41:58
[2026-08-29 05:41:58,292.292 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:41:58,343.343 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:41:58,464.464 INFO    ] No existing commands found in stream
[2026-08-29 05:42:03,494.494 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:42:03,497.497 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-08-29 05:42:04,201.201 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:42:04,204.204 INFO    ] Checking for system updates...
[2026-08-29 05:42:04,240.240 INFO    ] 200
[2026-08-29 05:42:04,242.242 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:42:04,301.301 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:42:04,303.303 INFO    ] No update needed
[2026-08-29 05:42:04,306.306 INFO    ] Checking for camera pi updates...
[2026-08-29 05:42:04,343.343 INFO    ] 200
[2026-08-29 05:42:04,345.345 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:42:04,385.385 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:42:04,469.469 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:42:04,471.471 INFO    ] No camera update needed
[2026-08-29 05:42:04,473.473 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:42:04,476.476 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:42:04,481.481 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:42:04,485.485 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:42:06,530.530 INFO    ] ================================================
[2026-08-29 05:42:06,554.554 INFO    ] Launching Daemon at Sat Aug 29 05:42:06 IST 2026
[2026-08-29 05:42:06,566.566 INFO    ] ================================================
[2026-08-29 05:42:07,080.080 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:42:07
[2026-08-29 05:42:07,671.671 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:42:07,943.943 INFO    ] Initializing speech engine...
[2026-08-29 05:42:07,952.952 INFO    ] 2026-08-29 05:42:07
[2026-08-29 05:42:08,204.204 INFO    ] 2026-08-29 05:42:08
[2026-08-29 05:42:08,238.238 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:42:08,415.415 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:42:08,427.427 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:42:08,572.572 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:42:08,579.579 INFO    ] time= 29/08/2026 05:42:08
[2026-08-29 05:42:08,586.586 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:42:08,638.638 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:42:08,742.742 INFO    ] No existing commands found in stream
[2026-08-29 05:42:13,767.767 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:42:13,770.770 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-08-29 05:42:16,058.058 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:42:16,060.060 INFO    ] Checking for system updates...
[2026-08-29 05:42:16,080.080 INFO    ] 200
[2026-08-29 05:42:16,082.082 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:42:16,111.111 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:42:16,113.113 INFO    ] No update needed
[2026-08-29 05:42:16,114.114 INFO    ] Checking for camera pi updates...
[2026-08-29 05:42:16,134.134 INFO    ] 200
[2026-08-29 05:42:16,135.135 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:42:16,158.158 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:42:16,236.236 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:42:16,237.237 INFO    ] No camera update needed
[2026-08-29 05:42:16,238.238 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:42:16,240.240 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:42:16,243.243 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:42:16,245.245 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:42:18,287.287 INFO    ] ================================================
[2026-08-29 05:42:18,302.302 INFO    ] Launching Daemon at Sat Aug 29 05:42:18 IST 2026
[2026-08-29 05:42:18,313.313 INFO    ] ================================================
[2026-08-29 05:42:18,665.665 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:42:18
[2026-08-29 05:42:18,977.977 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:42:19,218.218 INFO    ] Initializing speech engine...
[2026-08-29 05:42:19,224.224 INFO    ] 2026-08-29 05:42:19
[2026-08-29 05:42:19,514.514 INFO    ] 2026-08-29 05:42:19
[2026-08-29 05:42:19,545.545 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:42:19,705.705 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:42:19,712.712 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:42:19,863.863 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:42:19,874.874 INFO    ] time= 29/08/2026 05:42:19
[2026-08-29 05:42:19,880.880 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:42:19,902.902 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:42:20,019.019 INFO    ] No existing commands found in stream
[2026-08-29 05:42:25,037.037 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:42:25,040.040 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-08-29 05:42:28,375.375 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:42:28,376.376 INFO    ] Checking for system updates...
[2026-08-29 05:42:28,396.396 INFO    ] 200
[2026-08-29 05:42:28,398.398 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:42:28,429.429 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:42:28,431.431 INFO    ] No update needed
[2026-08-29 05:42:28,432.432 INFO    ] Checking for camera pi updates...
[2026-08-29 05:42:28,451.451 INFO    ] 200
[2026-08-29 05:42:28,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:42:28,478.478 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:42:28,651.651 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:42:28,653.653 INFO    ] No camera update needed
[2026-08-29 05:42:28,654.654 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:42:28,655.655 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:42:28,658.658 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:42:28,661.661 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:42:30,699.699 INFO    ] ================================================
[2026-08-29 05:42:30,715.715 INFO    ] Launching Daemon at Sat Aug 29 05:42:30 IST 2026
[2026-08-29 05:42:30,726.726 INFO    ] ================================================
[2026-08-29 05:42:31,093.093 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:42:31
[2026-08-29 05:42:31,430.430 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:42:31,584.584 INFO    ] Initializing speech engine...
[2026-08-29 05:42:31,588.588 INFO    ] 2026-08-29 05:42:31
[2026-08-29 05:42:31,796.796 INFO    ] 2026-08-29 05:42:31
[2026-08-29 05:42:31,824.824 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:42:31,985.985 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:42:32,012.012 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:42:32,167.167 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:42:32,200.200 INFO    ] time= 29/08/2026 05:42:32
[2026-08-29 05:42:32,209.209 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:42:32,240.240 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:42:32,334.334 INFO    ] No existing commands found in stream
[2026-08-29 05:42:37,356.356 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:42:37,359.359 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-08-29 05:42:38,673.673 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:42:38,675.675 INFO    ] Checking for system updates...
[2026-08-29 05:42:38,697.697 INFO    ] 200
[2026-08-29 05:42:38,698.698 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:42:38,728.728 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:42:38,730.730 INFO    ] No update needed
[2026-08-29 05:42:38,731.731 INFO    ] Checking for camera pi updates...
[2026-08-29 05:42:38,751.751 INFO    ] 200
[2026-08-29 05:42:38,753.753 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:42:38,777.777 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:42:38,860.860 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:42:38,861.861 INFO    ] No camera update needed
[2026-08-29 05:42:38,863.863 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:42:38,864.864 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:42:38,867.867 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:42:38,870.870 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:42:40,908.908 INFO    ] ================================================
[2026-08-29 05:42:40,924.924 INFO    ] Launching Daemon at Sat Aug 29 05:42:40 IST 2026
[2026-08-29 05:42:40,935.935 INFO    ] ================================================
[2026-08-29 05:42:41,281.281 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:42:41
[2026-08-29 05:42:41,591.591 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:42:41,732.732 INFO    ] Initializing speech engine...
[2026-08-29 05:42:41,738.738 INFO    ] 2026-08-29 05:42:41
[2026-08-29 05:42:41,985.985 INFO    ] 2026-08-29 05:42:41
[2026-08-29 05:42:42,039.039 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:42:42,201.201 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:42:42,210.210 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:42:42,377.377 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:42:42,408.408 INFO    ] time= 29/08/2026 05:42:42
[2026-08-29 05:42:42,414.414 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:42:42,432.432 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:42:42,533.533 INFO    ] No existing commands found in stream
[2026-08-29 05:42:47,563.563 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:42:47,566.566 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-08-29 05:42:48,414.414 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:42:48,415.415 INFO    ] Checking for system updates...
[2026-08-29 05:42:48,435.435 INFO    ] 200
[2026-08-29 05:42:48,436.436 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:42:48,466.466 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:42:48,468.468 INFO    ] No update needed
[2026-08-29 05:42:48,469.469 INFO    ] Checking for camera pi updates...
[2026-08-29 05:42:48,488.488 INFO    ] 200
[2026-08-29 05:42:48,489.489 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:42:48,513.513 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:42:48,588.588 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:42:48,589.589 INFO    ] No camera update needed
[2026-08-29 05:42:48,590.590 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:42:48,591.591 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:42:48,594.594 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:42:48,597.597 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:42:50,635.635 INFO    ] ================================================
[2026-08-29 05:42:50,652.652 INFO    ] Launching Daemon at Sat Aug 29 05:42:50 IST 2026
[2026-08-29 05:42:50,664.664 INFO    ] ================================================
[2026-08-29 05:42:51,002.002 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:42:51
[2026-08-29 05:42:51,315.315 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:42:51,449.449 INFO    ] Initializing speech engine...
[2026-08-29 05:42:51,452.452 INFO    ] 2026-08-29 05:42:51
[2026-08-29 05:42:51,650.650 INFO    ] 2026-08-29 05:42:51
[2026-08-29 05:42:51,711.711 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:42:51,874.874 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:42:51,886.886 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:42:51,996.996 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:42:52,014.014 INFO    ] time= 29/08/2026 05:42:51
[2026-08-29 05:42:52,034.034 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:42:52,041.041 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:42:52,108.108 INFO    ] No existing commands found in stream
[2026-08-29 05:42:57,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:42:57,124.124 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-08-29 05:43:00,299.299 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:43:00,301.301 INFO    ] Checking for system updates...
[2026-08-29 05:43:00,322.322 INFO    ] 200
[2026-08-29 05:43:00,323.323 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:43:00,353.353 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:43:00,354.354 INFO    ] No update needed
[2026-08-29 05:43:00,355.355 INFO    ] Checking for camera pi updates...
[2026-08-29 05:43:00,374.374 INFO    ] 200
[2026-08-29 05:43:00,375.375 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:43:00,398.398 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:43:00,482.482 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:43:00,484.484 INFO    ] No camera update needed
[2026-08-29 05:43:00,485.485 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:43:00,486.486 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:43:00,489.489 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:43:00,492.492 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:43:02,532.532 INFO    ] ================================================
[2026-08-29 05:43:02,555.555 INFO    ] Launching Daemon at Sat Aug 29 05:43:02 IST 2026
[2026-08-29 05:43:02,571.571 INFO    ] ================================================
[2026-08-29 05:43:03,243.243 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:43:03
[2026-08-29 05:43:03,856.856 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:43:04,137.137 INFO    ] Initializing speech engine...
[2026-08-29 05:43:04,146.146 INFO    ] 2026-08-29 05:43:04
[2026-08-29 05:43:04,407.407 INFO    ] 2026-08-29 05:43:04
[2026-08-29 05:43:04,437.437 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:43:04,604.604 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:43:04,616.616 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:43:04,757.757 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:43:04,766.766 INFO    ] time= 29/08/2026 05:43:04
[2026-08-29 05:43:04,773.773 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:43:04,824.824 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:43:04,933.933 INFO    ] No existing commands found in stream
[2026-08-29 05:43:09,963.963 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:43:09,966.966 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-08-29 05:43:12,397.397 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:43:12,399.399 INFO    ] Checking for system updates...
[2026-08-29 05:43:12,419.419 INFO    ] 200
[2026-08-29 05:43:12,421.421 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:43:12,453.453 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:43:12,454.454 INFO    ] No update needed
[2026-08-29 05:43:12,456.456 INFO    ] Checking for camera pi updates...
[2026-08-29 05:43:12,476.476 INFO    ] 200
[2026-08-29 05:43:12,477.477 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:43:12,500.500 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:43:12,594.594 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:43:12,596.596 INFO    ] No camera update needed
[2026-08-29 05:43:12,597.597 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:43:12,598.598 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:43:12,601.601 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:43:12,604.604 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:43:14,643.643 INFO    ] ================================================
[2026-08-29 05:43:14,659.659 INFO    ] Launching Daemon at Sat Aug 29 05:43:14 IST 2026
[2026-08-29 05:43:14,670.670 INFO    ] ================================================
[2026-08-29 05:43:15,118.118 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:43:15
[2026-08-29 05:43:15,699.699 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:43:15,967.967 INFO    ] Initializing speech engine...
[2026-08-29 05:43:15,977.977 INFO    ] 2026-08-29 05:43:15
[2026-08-29 05:43:16,235.235 INFO    ] 2026-08-29 05:43:16
[2026-08-29 05:43:16,287.287 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:43:16,428.428 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:43:16,451.451 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:43:16,579.579 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:43:16,587.587 INFO    ] time= 29/08/2026 05:43:16
[2026-08-29 05:43:16,592.592 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:43:16,597.597 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:43:16,661.661 INFO    ] No existing commands found in stream
[2026-08-29 05:43:21,673.673 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:43:21,676.676 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-08-29 05:43:23,756.756 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:43:23,757.757 INFO    ] Checking for system updates...
[2026-08-29 05:43:23,778.778 INFO    ] 200
[2026-08-29 05:43:23,779.779 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:43:23,811.811 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:43:23,812.812 INFO    ] No update needed
[2026-08-29 05:43:23,813.813 INFO    ] Checking for camera pi updates...
[2026-08-29 05:43:23,833.833 INFO    ] 200
[2026-08-29 05:43:23,834.834 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:43:23,857.857 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:43:23,936.936 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:43:23,937.937 INFO    ] No camera update needed
[2026-08-29 05:43:23,938.938 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:43:23,939.939 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:43:23,942.942 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:43:23,945.945 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:43:25,983.983 INFO    ] ================================================
[2026-08-29 05:43:26,999.999 INFO    ] Launching Daemon at Sat Aug 29 05:43:25 IST 2026
[2026-08-29 05:43:26,010.010 INFO    ] ================================================
[2026-08-29 05:43:26,650.650 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:43:26
[2026-08-29 05:43:27,248.248 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:43:27,415.415 INFO    ] Initializing speech engine...
[2026-08-29 05:43:27,425.425 INFO    ] 2026-08-29 05:43:27
[2026-08-29 05:43:27,693.693 INFO    ] 2026-08-29 05:43:27
[2026-08-29 05:43:27,754.754 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:43:27,940.940 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:43:27,990.990 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:43:28,132.132 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:43:28,164.164 INFO    ] time= 29/08/2026 05:43:28
[2026-08-29 05:43:28,218.218 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:43:28,268.268 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:43:28,325.325 INFO    ] No existing commands found in stream
[2026-08-29 05:43:33,337.337 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:43:33,340.340 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-08-29 05:43:37,307.307 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:43:37,309.309 INFO    ] Checking for system updates...
[2026-08-29 05:43:37,330.330 INFO    ] 200
[2026-08-29 05:43:37,331.331 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:43:37,362.362 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:43:37,363.363 INFO    ] No update needed
[2026-08-29 05:43:37,365.365 INFO    ] Checking for camera pi updates...
[2026-08-29 05:43:37,385.385 INFO    ] 200
[2026-08-29 05:43:37,386.386 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:43:37,411.411 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:43:37,488.488 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:43:37,489.489 INFO    ] No camera update needed
[2026-08-29 05:43:37,491.491 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:43:37,492.492 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:43:37,495.495 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:43:37,498.498 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:43:39,537.537 INFO    ] ================================================
[2026-08-29 05:43:39,553.553 INFO    ] Launching Daemon at Sat Aug 29 05:43:39 IST 2026
[2026-08-29 05:43:39,565.565 INFO    ] ================================================
[2026-08-29 05:43:39,949.949 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:43:39
[2026-08-29 05:43:40,283.283 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:43:40,422.422 INFO    ] Initializing speech engine...
[2026-08-29 05:43:40,434.434 INFO    ] 2026-08-29 05:43:40
[2026-08-29 05:43:40,644.644 INFO    ] 2026-08-29 05:43:40
[2026-08-29 05:43:40,672.672 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:43:40,800.800 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:43:40,857.857 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:43:40,995.995 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:43:41,062.062 INFO    ] time= 29/08/2026 05:43:41
[2026-08-29 05:43:41,086.086 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:43:41,093.093 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:43:41,158.158 INFO    ] No existing commands found in stream
[2026-08-29 05:43:46,169.169 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:43:46,173.173 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-08-29 05:43:48,734.734 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:43:48,736.736 INFO    ] Checking for system updates...
[2026-08-29 05:43:48,758.758 INFO    ] 200
[2026-08-29 05:43:48,759.759 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:43:48,794.794 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:43:48,795.795 INFO    ] No update needed
[2026-08-29 05:43:48,797.797 INFO    ] Checking for camera pi updates...
[2026-08-29 05:43:48,817.817 INFO    ] 200
[2026-08-29 05:43:48,818.818 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:43:48,845.845 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:43:48,921.921 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:43:48,922.922 INFO    ] No camera update needed
[2026-08-29 05:43:48,924.924 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:43:48,925.925 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:43:48,928.928 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:43:48,931.931 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:43:50,970.970 INFO    ] ================================================
[2026-08-29 05:43:50,986.986 INFO    ] Launching Daemon at Sat Aug 29 05:43:50 IST 2026
[2026-08-29 05:43:51,997.997 INFO    ] ================================================
[2026-08-29 05:43:51,528.528 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:43:51
[2026-08-29 05:43:52,191.191 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:43:52,494.494 INFO    ] Initializing speech engine...
[2026-08-29 05:43:52,507.507 INFO    ] 2026-08-29 05:43:52
[2026-08-29 05:43:52,816.816 INFO    ] 2026-08-29 05:43:52
[2026-08-29 05:43:52,901.901 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:43:53,062.062 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:43:53,068.068 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:43:53,211.211 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:43:53,251.251 INFO    ] time= 29/08/2026 05:43:53
[2026-08-29 05:43:53,316.316 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:43:53,344.344 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:43:53,435.435 INFO    ] No existing commands found in stream
[2026-08-29 05:43:58,468.468 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:43:58,471.471 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-08-29 05:44:02,615.615 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:44:02,618.618 INFO    ] Checking for system updates...
[2026-08-29 05:44:02,667.667 INFO    ] 200
[2026-08-29 05:44:02,670.670 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:44:02,737.737 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:44:02,740.740 INFO    ] No update needed
[2026-08-29 05:44:02,743.743 INFO    ] Checking for camera pi updates...
[2026-08-29 05:44:02,789.789 INFO    ] 200
[2026-08-29 05:44:02,793.793 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:44:02,851.851 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:44:02,986.986 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:44:02,990.990 INFO    ] No camera update needed
[2026-08-29 05:44:02,994.994 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:44:02,998.998 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:44:03,006.006 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:44:03,014.014 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:44:05,066.066 INFO    ] ================================================
[2026-08-29 05:44:05,081.081 INFO    ] Launching Daemon at Sat Aug 29 05:44:05 IST 2026
[2026-08-29 05:44:05,092.092 INFO    ] ================================================
[2026-08-29 05:44:05,444.444 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:44:05
[2026-08-29 05:44:05,776.776 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:44:05,929.929 INFO    ] Initializing speech engine...
[2026-08-29 05:44:05,933.933 INFO    ] 2026-08-29 05:44:05
[2026-08-29 05:44:06,192.192 INFO    ] 2026-08-29 05:44:06
[2026-08-29 05:44:06,252.252 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:44:06,393.393 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:44:06,425.425 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:44:06,596.596 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:44:06,634.634 INFO    ] time= 29/08/2026 05:44:06
[2026-08-29 05:44:06,640.640 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:44:06,660.660 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:44:06,773.773 INFO    ] No existing commands found in stream
[2026-08-29 05:44:11,797.797 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:44:11,800.800 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-08-29 05:44:15,786.786 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:44:15,787.787 INFO    ] Checking for system updates...
[2026-08-29 05:44:15,807.807 INFO    ] 200
[2026-08-29 05:44:15,809.809 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:44:15,839.839 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:44:15,840.840 INFO    ] No update needed
[2026-08-29 05:44:15,842.842 INFO    ] Checking for camera pi updates...
[2026-08-29 05:44:15,862.862 INFO    ] 200
[2026-08-29 05:44:15,863.863 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:44:15,886.886 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:44:15,976.976 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:44:15,977.977 INFO    ] No camera update needed
[2026-08-29 05:44:15,979.979 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:44:15,980.980 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:44:15,983.983 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:44:15,985.985 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:44:18,024.024 INFO    ] ================================================
[2026-08-29 05:44:18,039.039 INFO    ] Launching Daemon at Sat Aug 29 05:44:18 IST 2026
[2026-08-29 05:44:18,054.054 INFO    ] ================================================
[2026-08-29 05:44:18,408.408 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:44:18
[2026-08-29 05:44:18,721.721 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:44:18,858.858 INFO    ] Initializing speech engine...
[2026-08-29 05:44:18,866.866 INFO    ] 2026-08-29 05:44:18
[2026-08-29 05:44:19,074.074 INFO    ] 2026-08-29 05:44:19
[2026-08-29 05:44:19,104.104 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:44:19,225.225 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:44:19,261.261 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:44:19,423.423 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:44:19,486.486 INFO    ] time= 29/08/2026 05:44:19
[2026-08-29 05:44:19,524.524 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:44:19,526.526 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:44:19,597.597 INFO    ] No existing commands found in stream
[2026-08-29 05:44:24,607.607 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:44:24,610.610 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-08-29 05:44:27,109.109 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:44:27,111.111 INFO    ] Checking for system updates...
[2026-08-29 05:44:27,132.132 INFO    ] 200
[2026-08-29 05:44:27,133.133 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:44:27,165.165 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:44:27,166.166 INFO    ] No update needed
[2026-08-29 05:44:27,168.168 INFO    ] Checking for camera pi updates...
[2026-08-29 05:44:27,191.191 INFO    ] 200
[2026-08-29 05:44:27,193.193 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:44:27,216.216 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:44:27,288.288 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:44:27,289.289 INFO    ] No camera update needed
[2026-08-29 05:44:27,291.291 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:44:27,292.292 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:44:27,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:44:27,298.298 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:44:29,337.337 INFO    ] ================================================
[2026-08-29 05:44:29,353.353 INFO    ] Launching Daemon at Sat Aug 29 05:44:29 IST 2026
[2026-08-29 05:44:29,364.364 INFO    ] ================================================
[2026-08-29 05:44:29,720.720 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:44:29
[2026-08-29 05:44:30,054.054 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:44:30,194.194 INFO    ] Initializing speech engine...
[2026-08-29 05:44:30,201.201 INFO    ] 2026-08-29 05:44:30
[2026-08-29 05:44:30,400.400 INFO    ] 2026-08-29 05:44:30
[2026-08-29 05:44:30,458.458 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:44:30,687.687 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:44:30,696.696 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:44:30,833.833 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:44:30,875.875 INFO    ] time= 29/08/2026 05:44:30
[2026-08-29 05:44:30,920.920 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:44:30,971.971 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:44:31,028.028 INFO    ] No existing commands found in stream
[2026-08-29 05:44:36,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:44:36,044.044 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-08-29 05:44:38,949.949 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:44:38,951.951 INFO    ] Checking for system updates...
[2026-08-29 05:44:38,972.972 INFO    ] 200
[2026-08-29 05:44:38,973.973 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:44:39,005.005 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:44:39,007.007 INFO    ] No update needed
[2026-08-29 05:44:39,008.008 INFO    ] Checking for camera pi updates...
[2026-08-29 05:44:39,030.030 INFO    ] 200
[2026-08-29 05:44:39,031.031 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:44:39,055.055 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:44:39,150.150 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:44:39,152.152 INFO    ] No camera update needed
[2026-08-29 05:44:39,153.153 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:44:39,155.155 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:44:39,158.158 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:44:39,161.161 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:44:41,199.199 INFO    ] ================================================
[2026-08-29 05:44:41,214.214 INFO    ] Launching Daemon at Sat Aug 29 05:44:41 IST 2026
[2026-08-29 05:44:41,225.225 INFO    ] ================================================
[2026-08-29 05:44:41,558.558 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:44:41
[2026-08-29 05:44:41,870.870 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:44:42,001.001 INFO    ] Initializing speech engine...
[2026-08-29 05:44:42,014.014 INFO    ] 2026-08-29 05:44:42
[2026-08-29 05:44:42,223.223 INFO    ] 2026-08-29 05:44:42
[2026-08-29 05:44:42,252.252 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:44:42,376.376 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:44:42,434.434 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:44:42,580.580 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:44:42,648.648 INFO    ] time= 29/08/2026 05:44:42
[2026-08-29 05:44:42,672.672 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:44:42,679.679 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:44:42,746.746 INFO    ] No existing commands found in stream
[2026-08-29 05:44:47,755.755 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:44:47,758.758 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-08-29 05:44:50,977.977 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:44:50,978.978 INFO    ] Checking for system updates...
[2026-08-29 05:44:50,999.999 INFO    ] 200
[2026-08-29 05:44:51,000.000 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:44:51,030.030 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:44:51,032.032 INFO    ] No update needed
[2026-08-29 05:44:51,033.033 INFO    ] Checking for camera pi updates...
[2026-08-29 05:44:51,053.053 INFO    ] 200
[2026-08-29 05:44:51,054.054 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:44:51,079.079 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:44:51,155.155 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:44:51,156.156 INFO    ] No camera update needed
[2026-08-29 05:44:51,158.158 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:44:51,159.159 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:44:51,162.162 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:44:51,165.165 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:44:53,204.204 INFO    ] ================================================
[2026-08-29 05:44:53,220.220 INFO    ] Launching Daemon at Sat Aug 29 05:44:53 IST 2026
[2026-08-29 05:44:53,232.232 INFO    ] ================================================
[2026-08-29 05:44:53,779.779 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:44:53
[2026-08-29 05:44:54,443.443 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:44:54,742.742 INFO    ] Initializing speech engine...
[2026-08-29 05:44:54,750.750 INFO    ] 2026-08-29 05:44:54
[2026-08-29 05:44:55,026.026 INFO    ] 2026-08-29 05:44:55
[2026-08-29 05:44:55,082.082 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:44:55,302.302 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:44:55,311.311 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:44:55,445.445 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:44:55,477.477 INFO    ] time= 29/08/2026 05:44:55
[2026-08-29 05:44:55,547.547 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:44:55,581.581 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:44:55,664.664 INFO    ] No existing commands found in stream
[2026-08-29 05:45:00,700.700 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:45:00,704.704 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-08-29 05:45:01,075.075 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:45:01,077.077 INFO    ] Checking for system updates...
[2026-08-29 05:45:01,098.098 INFO    ] 200
[2026-08-29 05:45:01,100.100 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:45:01,132.132 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:45:01,134.134 INFO    ] No update needed
[2026-08-29 05:45:01,135.135 INFO    ] Checking for camera pi updates...
[2026-08-29 05:45:01,155.155 INFO    ] 200
[2026-08-29 05:45:01,157.157 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:45:01,180.180 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:45:01,262.262 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:45:01,265.265 INFO    ] No camera update needed
[2026-08-29 05:45:01,273.273 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:45:01,277.277 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:45:01,285.285 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:45:01,294.294 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:45:03,337.337 INFO    ] ================================================
[2026-08-29 05:45:03,353.353 INFO    ] Launching Daemon at Sat Aug 29 05:45:03 IST 2026
[2026-08-29 05:45:03,364.364 INFO    ] ================================================
[2026-08-29 05:45:03,949.949 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:45:03
[2026-08-29 05:45:04,549.549 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:45:04,709.709 INFO    ] Initializing speech engine...
[2026-08-29 05:45:04,718.718 INFO    ] 2026-08-29 05:45:04
[2026-08-29 05:45:04,923.923 INFO    ] 2026-08-29 05:45:04
[2026-08-29 05:45:04,951.951 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:45:05,089.089 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:45:05,136.136 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:45:05,270.270 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:45:05,339.339 INFO    ] time= 29/08/2026 05:45:05
[2026-08-29 05:45:05,364.364 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:45:05,365.365 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:45:05,436.436 INFO    ] No existing commands found in stream
[2026-08-29 05:45:10,446.446 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:45:10,449.449 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-08-29 05:45:12,892.892 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:45:12,894.894 INFO    ] Checking for system updates...
[2026-08-29 05:45:12,914.914 INFO    ] 200
[2026-08-29 05:45:12,916.916 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:45:12,945.945 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:45:12,947.947 INFO    ] No update needed
[2026-08-29 05:45:12,948.948 INFO    ] Checking for camera pi updates...
[2026-08-29 05:45:12,967.967 INFO    ] 200
[2026-08-29 05:45:12,969.969 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:45:12,992.992 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:45:13,069.069 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:45:13,071.071 INFO    ] No camera update needed
[2026-08-29 05:45:13,072.072 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:45:13,073.073 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:45:13,076.076 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:45:13,079.079 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:45:15,117.117 INFO    ] ================================================
[2026-08-29 05:45:15,132.132 INFO    ] Launching Daemon at Sat Aug 29 05:45:15 IST 2026
[2026-08-29 05:45:15,143.143 INFO    ] ================================================
[2026-08-29 05:45:15,514.514 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:45:15
[2026-08-29 05:45:15,851.851 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:45:15,995.995 INFO    ] Initializing speech engine...
[2026-08-29 05:45:16,005.005 INFO    ] 2026-08-29 05:45:15
[2026-08-29 05:45:16,214.214 INFO    ] 2026-08-29 05:45:16
[2026-08-29 05:45:16,243.243 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:45:16,375.375 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:45:16,428.428 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:45:16,566.566 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:45:16,633.633 INFO    ] time= 29/08/2026 05:45:16
[2026-08-29 05:45:16,657.657 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:45:16,664.664 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:45:16,729.729 INFO    ] No existing commands found in stream
[2026-08-29 05:45:21,740.740 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:45:21,743.743 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-08-29 05:45:24,609.609 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:45:24,612.612 INFO    ] Checking for system updates...
[2026-08-29 05:45:24,650.650 INFO    ] 200
[2026-08-29 05:45:24,653.653 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:45:24,706.706 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:45:24,708.708 INFO    ] No update needed
[2026-08-29 05:45:24,711.711 INFO    ] Checking for camera pi updates...
[2026-08-29 05:45:24,745.745 INFO    ] 200
[2026-08-29 05:45:24,748.748 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:45:24,789.789 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:45:24,899.899 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:45:24,901.901 INFO    ] No camera update needed
[2026-08-29 05:45:24,904.904 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:45:24,907.907 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:45:24,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:45:24,919.919 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:45:26,960.960 INFO    ] ================================================
[2026-08-29 05:45:26,975.975 INFO    ] Launching Daemon at Sat Aug 29 05:45:26 IST 2026
[2026-08-29 05:45:26,986.986 INFO    ] ================================================
[2026-08-29 05:45:27,377.377 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:45:27
[2026-08-29 05:45:27,690.690 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:45:27,835.835 INFO    ] Initializing speech engine...
[2026-08-29 05:45:27,839.839 INFO    ] 2026-08-29 05:45:27
[2026-08-29 05:45:28,045.045 INFO    ] 2026-08-29 05:45:28
[2026-08-29 05:45:28,075.075 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:45:28,220.220 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:45:28,265.265 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:45:28,417.417 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:45:28,461.461 INFO    ] time= 29/08/2026 05:45:28
[2026-08-29 05:45:28,516.516 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:45:28,535.535 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:45:28,664.664 INFO    ] No existing commands found in stream
[2026-08-29 05:45:33,682.682 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:45:33,685.685 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 05:45:34,332.332 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:45:34,335.335 INFO    ] Checking for system updates...
[2026-08-29 05:45:34,371.371 INFO    ] 200
[2026-08-29 05:45:34,374.374 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:45:34,429.429 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:45:34,432.432 INFO    ] No update needed
[2026-08-29 05:45:34,435.435 INFO    ] Checking for camera pi updates...
[2026-08-29 05:45:34,469.469 INFO    ] 200
[2026-08-29 05:45:34,472.472 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:45:34,513.513 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:45:34,597.597 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:45:34,600.600 INFO    ] No camera update needed
[2026-08-29 05:45:34,603.603 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:45:34,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:45:34,613.613 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:45:34,620.620 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:45:36,662.662 INFO    ] ================================================
[2026-08-29 05:45:36,678.678 INFO    ] Launching Daemon at Sat Aug 29 05:45:36 IST 2026
[2026-08-29 05:45:36,689.689 INFO    ] ================================================
[2026-08-29 05:45:37,121.121 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:45:37
[2026-08-29 05:45:37,710.710 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:45:37,983.983 INFO    ] Initializing speech engine...
[2026-08-29 05:45:37,989.989 INFO    ] 2026-08-29 05:45:37
[2026-08-29 05:45:38,289.289 INFO    ] 2026-08-29 05:45:38
[2026-08-29 05:45:38,327.327 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:45:38,516.516 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:45:38,530.530 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:45:38,692.692 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:45:38,697.697 INFO    ] time= 29/08/2026 05:45:38
[2026-08-29 05:45:38,704.704 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:45:38,730.730 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:45:38,854.854 INFO    ] No existing commands found in stream
[2026-08-29 05:45:43,885.885 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:45:43,887.887 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-08-29 05:45:45,636.636 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:45:45,639.639 INFO    ] Checking for system updates...
[2026-08-29 05:45:45,684.684 INFO    ] 200
[2026-08-29 05:45:45,687.687 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:45:45,746.746 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:45:45,749.749 INFO    ] No update needed
[2026-08-29 05:45:45,752.752 INFO    ] Checking for camera pi updates...
[2026-08-29 05:45:45,810.810 INFO    ] 200
[2026-08-29 05:45:45,813.813 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:45:45,877.877 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:45:45,959.959 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:45:45,961.961 INFO    ] No camera update needed
[2026-08-29 05:45:45,964.964 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:45:45,966.966 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:45:45,971.971 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:45:45,977.977 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:45:48,018.018 INFO    ] ================================================
[2026-08-29 05:45:48,033.033 INFO    ] Launching Daemon at Sat Aug 29 05:45:48 IST 2026
[2026-08-29 05:45:48,044.044 INFO    ] ================================================
[2026-08-29 05:45:48,538.538 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:45:48
[2026-08-29 05:45:49,138.138 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:45:49,418.418 INFO    ] Initializing speech engine...
[2026-08-29 05:45:49,424.424 INFO    ] 2026-08-29 05:45:49
[2026-08-29 05:45:49,685.685 INFO    ] 2026-08-29 05:45:49
[2026-08-29 05:45:49,739.739 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:45:49,903.903 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:45:49,946.946 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:45:50,103.103 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:45:50,150.150 INFO    ] time= 29/08/2026 05:45:50
[2026-08-29 05:45:50,204.204 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:45:50,236.236 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:45:50,292.292 INFO    ] No existing commands found in stream
[2026-08-29 05:45:55,304.304 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:45:55,306.306 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-08-29 05:45:59,180.180 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:45:59,182.182 INFO    ] Checking for system updates...
[2026-08-29 05:45:59,203.203 INFO    ] 200
[2026-08-29 05:45:59,204.204 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:45:59,234.234 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:45:59,236.236 INFO    ] No update needed
[2026-08-29 05:45:59,237.237 INFO    ] Checking for camera pi updates...
[2026-08-29 05:45:59,256.256 INFO    ] 200
[2026-08-29 05:45:59,257.257 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:45:59,283.283 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:45:59,383.383 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:45:59,384.384 INFO    ] No camera update needed
[2026-08-29 05:45:59,386.386 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:45:59,387.387 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:45:59,390.390 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:45:59,392.392 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:46:01,432.432 INFO    ] ================================================
[2026-08-29 05:46:01,447.447 INFO    ] Launching Daemon at Sat Aug 29 05:46:01 IST 2026
[2026-08-29 05:46:01,458.458 INFO    ] ================================================
[2026-08-29 05:46:02,208.208 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:46:02
[2026-08-29 05:46:03,013.013 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:46:03,349.349 INFO    ] Initializing speech engine...
[2026-08-29 05:46:03,362.362 INFO    ] 2026-08-29 05:46:03
[2026-08-29 05:46:03,636.636 INFO    ] 2026-08-29 05:46:03
[2026-08-29 05:46:03,696.696 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:46:03,923.923 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:46:03,933.933 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:46:04,070.070 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:46:04,113.113 INFO    ] time= 29/08/2026 05:46:04
[2026-08-29 05:46:04,173.173 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:46:04,208.208 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:46:04,265.265 INFO    ] No existing commands found in stream
[2026-08-29 05:46:09,277.277 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:46:09,280.280 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-08-29 05:46:10,509.509 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:46:10,510.510 INFO    ] Checking for system updates...
[2026-08-29 05:46:10,531.531 INFO    ] 200
[2026-08-29 05:46:10,533.533 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:46:10,563.563 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:46:10,565.565 INFO    ] No update needed
[2026-08-29 05:46:10,566.566 INFO    ] Checking for camera pi updates...
[2026-08-29 05:46:10,585.585 INFO    ] 200
[2026-08-29 05:46:10,587.587 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:46:10,610.610 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:46:10,721.721 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:46:10,723.723 INFO    ] No camera update needed
[2026-08-29 05:46:10,724.724 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:46:10,725.725 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:46:10,728.728 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:46:10,732.732 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:46:12,771.771 INFO    ] ================================================
[2026-08-29 05:46:12,788.788 INFO    ] Launching Daemon at Sat Aug 29 05:46:12 IST 2026
[2026-08-29 05:46:12,799.799 INFO    ] ================================================
[2026-08-29 05:46:13,148.148 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:46:13
[2026-08-29 05:46:13,460.460 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:46:13,708.708 INFO    ] Initializing speech engine...
[2026-08-29 05:46:13,720.720 INFO    ] 2026-08-29 05:46:13
[2026-08-29 05:46:13,974.974 INFO    ] 2026-08-29 05:46:13
[2026-08-29 05:46:14,015.015 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:46:14,186.186 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:46:14,209.209 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:46:14,342.342 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:46:14,350.350 INFO    ] time= 29/08/2026 05:46:14
[2026-08-29 05:46:14,357.357 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:46:14,398.398 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:46:14,523.523 INFO    ] No existing commands found in stream
[2026-08-29 05:46:19,554.554 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:46:19,556.556 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-08-29 05:46:19,974.974 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:46:19,976.976 INFO    ] Checking for system updates...
[2026-08-29 05:46:19,998.998 INFO    ] 200
[2026-08-29 05:46:20,000.000 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:46:20,029.029 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:46:20,030.030 INFO    ] No update needed
[2026-08-29 05:46:20,032.032 INFO    ] Checking for camera pi updates...
[2026-08-29 05:46:20,051.051 INFO    ] 200
[2026-08-29 05:46:20,052.052 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:46:20,075.075 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:46:20,164.164 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:46:20,166.166 INFO    ] No camera update needed
[2026-08-29 05:46:20,167.167 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:46:20,168.168 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:46:20,171.171 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:46:20,174.174 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:46:22,213.213 INFO    ] ================================================
[2026-08-29 05:46:22,229.229 INFO    ] Launching Daemon at Sat Aug 29 05:46:22 IST 2026
[2026-08-29 05:46:22,240.240 INFO    ] ================================================
[2026-08-29 05:46:22,831.831 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:46:22
[2026-08-29 05:46:23,506.506 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:46:23,792.792 INFO    ] Initializing speech engine...
[2026-08-29 05:46:23,800.800 INFO    ] 2026-08-29 05:46:23
[2026-08-29 05:46:24,061.061 INFO    ] 2026-08-29 05:46:24
[2026-08-29 05:46:24,092.092 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:46:24,290.290 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:46:24,344.344 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:46:24,485.485 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:46:24,525.525 INFO    ] time= 29/08/2026 05:46:24
[2026-08-29 05:46:24,585.585 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:46:24,618.618 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:46:24,676.676 INFO    ] No existing commands found in stream
[2026-08-29 05:46:29,688.688 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:46:29,691.691 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-08-29 05:46:31,264.264 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:46:31,266.266 INFO    ] Checking for system updates...
[2026-08-29 05:46:31,287.287 INFO    ] 200
[2026-08-29 05:46:31,289.289 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:46:31,319.319 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:46:31,320.320 INFO    ] No update needed
[2026-08-29 05:46:31,321.321 INFO    ] Checking for camera pi updates...
[2026-08-29 05:46:31,342.342 INFO    ] 200
[2026-08-29 05:46:31,343.343 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:46:31,367.367 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:46:31,447.447 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:46:31,450.450 INFO    ] No camera update needed
[2026-08-29 05:46:31,452.452 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:46:31,455.455 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:46:31,460.460 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:46:31,465.465 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:46:33,508.508 INFO    ] ================================================
[2026-08-29 05:46:33,524.524 INFO    ] Launching Daemon at Sat Aug 29 05:46:33 IST 2026
[2026-08-29 05:46:33,534.534 INFO    ] ================================================
[2026-08-29 05:46:34,192.192 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:46:34
[2026-08-29 05:46:34,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:46:34,718.718 INFO    ] Initializing speech engine...
[2026-08-29 05:46:34,723.723 INFO    ] 2026-08-29 05:46:34
[2026-08-29 05:46:34,944.944 INFO    ] 2026-08-29 05:46:34
[2026-08-29 05:46:35,008.008 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:46:35,158.158 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:46:35,168.168 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:46:35,307.307 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:46:35,362.362 INFO    ] time= 29/08/2026 05:46:35
[2026-08-29 05:46:35,422.422 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:46:35,444.444 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:46:35,498.498 INFO    ] No existing commands found in stream
[2026-08-29 05:46:40,513.513 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:46:40,516.516 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-08-29 05:46:43,532.532 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:46:43,533.533 INFO    ] Checking for system updates...
[2026-08-29 05:46:43,554.554 INFO    ] 200
[2026-08-29 05:46:43,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:46:43,586.586 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:46:43,587.587 INFO    ] No update needed
[2026-08-29 05:46:43,589.589 INFO    ] Checking for camera pi updates...
[2026-08-29 05:46:43,612.612 INFO    ] 200
[2026-08-29 05:46:43,613.613 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:46:43,639.639 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:46:43,835.835 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:46:43,836.836 INFO    ] No camera update needed
[2026-08-29 05:46:43,837.837 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:46:43,839.839 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:46:43,842.842 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:46:43,845.845 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:46:45,884.884 INFO    ] ================================================
[2026-08-29 05:46:45,900.900 INFO    ] Launching Daemon at Sat Aug 29 05:46:45 IST 2026
[2026-08-29 05:46:45,911.911 INFO    ] ================================================
[2026-08-29 05:46:46,396.396 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:46:46
[2026-08-29 05:46:46,985.985 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:46:47,254.254 INFO    ] Initializing speech engine...
[2026-08-29 05:46:47,272.272 INFO    ] 2026-08-29 05:46:47
[2026-08-29 05:46:47,543.543 INFO    ] 2026-08-29 05:46:47
[2026-08-29 05:46:47,567.567 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:46:47,723.723 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:46:47,731.731 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:46:47,883.883 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:46:47,893.893 INFO    ] time= 29/08/2026 05:46:47
[2026-08-29 05:46:47,897.897 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:46:47,902.902 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:46:47,969.969 INFO    ] No existing commands found in stream
[2026-08-29 05:46:52,983.983 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:46:52,985.985 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-08-29 05:46:56,212.212 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:46:56,214.214 INFO    ] Checking for system updates...
[2026-08-29 05:46:56,235.235 INFO    ] 200
[2026-08-29 05:46:56,236.236 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:46:56,268.268 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:46:56,270.270 INFO    ] No update needed
[2026-08-29 05:46:56,271.271 INFO    ] Checking for camera pi updates...
[2026-08-29 05:46:56,290.290 INFO    ] 200
[2026-08-29 05:46:56,291.291 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:46:56,314.314 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:46:56,396.396 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:46:56,397.397 INFO    ] No camera update needed
[2026-08-29 05:46:56,398.398 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:46:56,400.400 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:46:56,403.403 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:46:56,405.405 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:46:58,444.444 INFO    ] ================================================
[2026-08-29 05:46:58,460.460 INFO    ] Launching Daemon at Sat Aug 29 05:46:58 IST 2026
[2026-08-29 05:46:58,471.471 INFO    ] ================================================
[2026-08-29 05:46:59,000.000 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:46:58
[2026-08-29 05:46:59,584.584 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:46:59,836.836 INFO    ] Initializing speech engine...
[2026-08-29 05:46:59,858.858 INFO    ] 2026-08-29 05:46:59
[2026-08-29 05:47:00,114.114 INFO    ] 2026-08-29 05:47:00
[2026-08-29 05:47:00,148.148 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:47:00,325.325 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:47:00,338.338 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:47:00,482.482 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:47:00,490.490 INFO    ] time= 29/08/2026 05:47:00
[2026-08-29 05:47:00,497.497 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:47:00,538.538 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:47:00,658.658 INFO    ] No existing commands found in stream
[2026-08-29 05:47:05,684.684 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:47:05,686.686 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-08-29 05:47:06,598.598 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:47:06,599.599 INFO    ] Checking for system updates...
[2026-08-29 05:47:06,620.620 INFO    ] 200
[2026-08-29 05:47:06,622.622 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:47:06,653.653 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:47:06,655.655 INFO    ] No update needed
[2026-08-29 05:47:06,656.656 INFO    ] Checking for camera pi updates...
[2026-08-29 05:47:06,675.675 INFO    ] 200
[2026-08-29 05:47:06,676.676 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:47:06,699.699 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:47:06,775.775 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:47:06,776.776 INFO    ] No camera update needed
[2026-08-29 05:47:06,778.778 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:47:06,779.779 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:47:06,782.782 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:47:06,785.785 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:47:08,822.822 INFO    ] ================================================
[2026-08-29 05:47:08,837.837 INFO    ] Launching Daemon at Sat Aug 29 05:47:08 IST 2026
[2026-08-29 05:47:08,848.848 INFO    ] ================================================
[2026-08-29 05:47:09,207.207 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:47:09
[2026-08-29 05:47:09,525.525 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:47:09,764.764 INFO    ] Initializing speech engine...
[2026-08-29 05:47:09,773.773 INFO    ] 2026-08-29 05:47:09
[2026-08-29 05:47:10,022.022 INFO    ] 2026-08-29 05:47:10
[2026-08-29 05:47:10,063.063 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:47:10,252.252 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:47:10,259.259 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:47:10,391.391 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:47:10,396.396 INFO    ] time= 29/08/2026 05:47:10
[2026-08-29 05:47:10,416.416 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:47:10,438.438 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:47:10,520.520 INFO    ] No existing commands found in stream
[2026-08-29 05:47:15,533.533 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:47:15,536.536 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-08-29 05:47:19,028.028 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:47:19,030.030 INFO    ] Checking for system updates...
[2026-08-29 05:47:19,050.050 INFO    ] 200
[2026-08-29 05:47:19,052.052 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:47:19,084.084 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:47:19,085.085 INFO    ] No update needed
[2026-08-29 05:47:19,087.087 INFO    ] Checking for camera pi updates...
[2026-08-29 05:47:19,106.106 INFO    ] 200
[2026-08-29 05:47:19,107.107 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:47:19,130.130 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:47:19,203.203 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:47:19,204.204 INFO    ] No camera update needed
[2026-08-29 05:47:19,205.205 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:47:19,206.206 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:47:19,209.209 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:47:19,212.212 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:47:21,251.251 INFO    ] ================================================
[2026-08-29 05:47:21,267.267 INFO    ] Launching Daemon at Sat Aug 29 05:47:21 IST 2026
[2026-08-29 05:47:21,277.277 INFO    ] ================================================
[2026-08-29 05:47:21,853.853 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:47:21
[2026-08-29 05:47:22,450.450 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:47:22,706.706 INFO    ] Initializing speech engine...
[2026-08-29 05:47:22,714.714 INFO    ] 2026-08-29 05:47:22
[2026-08-29 05:47:23,010.010 INFO    ] 2026-08-29 05:47:22
[2026-08-29 05:47:23,047.047 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:47:23,239.239 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:47:23,246.246 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:47:25,474.474 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:47:25,526.526 INFO    ] time= 29/08/2026 05:47:25
[2026-08-29 05:47:25,531.531 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:47:25,540.540 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:47:25,594.594 INFO    ] No existing commands found in stream
[2026-08-29 05:47:30,606.606 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:47:30,609.609 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-08-29 05:47:31,939.939 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:47:31,943.943 INFO    ] Checking for system updates...
[2026-08-29 05:47:31,988.988 INFO    ] 200
[2026-08-29 05:47:31,991.991 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:47:32,051.051 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:47:32,054.054 INFO    ] No update needed
[2026-08-29 05:47:32,057.057 INFO    ] Checking for camera pi updates...
[2026-08-29 05:47:32,099.099 INFO    ] 200
[2026-08-29 05:47:32,103.103 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:47:32,176.176 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:47:32,289.289 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:47:32,292.292 INFO    ] No camera update needed
[2026-08-29 05:47:32,296.296 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:47:32,299.299 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:47:32,306.306 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:47:32,312.312 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:47:34,354.354 INFO    ] ================================================
[2026-08-29 05:47:34,369.369 INFO    ] Launching Daemon at Sat Aug 29 05:47:34 IST 2026
[2026-08-29 05:47:34,380.380 INFO    ] ================================================
[2026-08-29 05:47:34,903.903 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:47:34
[2026-08-29 05:47:35,237.237 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:47:35,375.375 INFO    ] Initializing speech engine...
[2026-08-29 05:47:35,383.383 INFO    ] 2026-08-29 05:47:35
[2026-08-29 05:47:35,590.590 INFO    ] 2026-08-29 05:47:35
[2026-08-29 05:47:35,628.628 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:47:35,810.810 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:47:35,867.867 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:47:36,010.010 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:47:36,056.056 INFO    ] time= 29/08/2026 05:47:36
[2026-08-29 05:47:36,106.106 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:47:36,143.143 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:47:36,200.200 INFO    ] No existing commands found in stream
[2026-08-29 05:47:41,212.212 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:47:41,216.216 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-08-29 05:47:44,320.320 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:47:44,321.321 INFO    ] Checking for system updates...
[2026-08-29 05:47:44,343.343 INFO    ] 200
[2026-08-29 05:47:44,345.345 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:47:44,378.378 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:47:44,379.379 INFO    ] No update needed
[2026-08-29 05:47:44,381.381 INFO    ] Checking for camera pi updates...
[2026-08-29 05:47:44,400.400 INFO    ] 200
[2026-08-29 05:47:44,402.402 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:47:44,426.426 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:47:44,504.504 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:47:44,505.505 INFO    ] No camera update needed
[2026-08-29 05:47:44,506.506 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:47:44,508.508 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:47:44,511.511 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:47:44,514.514 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:47:46,554.554 INFO    ] ================================================
[2026-08-29 05:47:46,575.575 INFO    ] Launching Daemon at Sat Aug 29 05:47:46 IST 2026
[2026-08-29 05:47:46,586.586 INFO    ] ================================================
[2026-08-29 05:47:46,922.922 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:47:46
[2026-08-29 05:47:47,236.236 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:47:47,467.467 INFO    ] Initializing speech engine...
[2026-08-29 05:47:47,473.473 INFO    ] 2026-08-29 05:47:47
[2026-08-29 05:47:47,731.731 INFO    ] 2026-08-29 05:47:47
[2026-08-29 05:47:47,786.786 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:47:48,008.008 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:47:48,017.017 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:47:48,149.149 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:47:48,191.191 INFO    ] time= 29/08/2026 05:47:48
[2026-08-29 05:47:48,240.240 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:47:48,282.282 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:47:48,338.338 INFO    ] No existing commands found in stream
[2026-08-29 05:47:53,349.349 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:47:53,352.352 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-08-29 05:47:57,609.609 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:47:57,611.611 INFO    ] Checking for system updates...
[2026-08-29 05:47:57,632.632 INFO    ] 200
[2026-08-29 05:47:57,633.633 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:47:57,663.663 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:47:57,665.665 INFO    ] No update needed
[2026-08-29 05:47:57,666.666 INFO    ] Checking for camera pi updates...
[2026-08-29 05:47:57,686.686 INFO    ] 200
[2026-08-29 05:47:57,687.687 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:47:57,711.711 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:47:57,809.809 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:47:57,810.810 INFO    ] No camera update needed
[2026-08-29 05:47:57,812.812 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:47:57,813.813 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:47:57,816.816 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:47:57,819.819 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:47:59,861.861 INFO    ] ================================================
[2026-08-29 05:47:59,877.877 INFO    ] Launching Daemon at Sat Aug 29 05:47:59 IST 2026
[2026-08-29 05:47:59,888.888 INFO    ] ================================================
[2026-08-29 05:48:00,255.255 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:48:00
[2026-08-29 05:48:00,588.588 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:48:00,727.727 INFO    ] Initializing speech engine...
[2026-08-29 05:48:00,740.740 INFO    ] 2026-08-29 05:48:00
[2026-08-29 05:48:00,949.949 INFO    ] 2026-08-29 05:48:00
[2026-08-29 05:48:00,979.979 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:48:01,101.101 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:48:01,154.154 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:48:01,303.303 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:48:01,308.308 INFO    ] time= 29/08/2026 05:48:01
[2026-08-29 05:48:01,311.311 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:48:01,324.324 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:48:01,381.381 INFO    ] No existing commands found in stream
[2026-08-29 05:48:06,392.392 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:48:06,395.395 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 05:48:07,975.975 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:48:07,976.976 INFO    ] Checking for system updates...
[2026-08-29 05:48:07,997.997 INFO    ] 200
[2026-08-29 05:48:07,999.999 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:48:08,031.031 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:48:08,032.032 INFO    ] No update needed
[2026-08-29 05:48:08,034.034 INFO    ] Checking for camera pi updates...
[2026-08-29 05:48:08,054.054 INFO    ] 200
[2026-08-29 05:48:08,055.055 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:48:08,079.079 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:48:08,165.165 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:48:08,166.166 INFO    ] No camera update needed
[2026-08-29 05:48:08,167.167 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:48:08,169.169 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:48:08,172.172 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:48:08,175.175 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:48:10,217.217 INFO    ] ================================================
[2026-08-29 05:48:10,232.232 INFO    ] Launching Daemon at Sat Aug 29 05:48:10 IST 2026
[2026-08-29 05:48:10,243.243 INFO    ] ================================================
[2026-08-29 05:48:10,740.740 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:48:10
[2026-08-29 05:48:11,326.326 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:48:11,586.586 INFO    ] Initializing speech engine...
[2026-08-29 05:48:11,611.611 INFO    ] 2026-08-29 05:48:11
[2026-08-29 05:48:11,878.878 INFO    ] 2026-08-29 05:48:11
[2026-08-29 05:48:11,917.917 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:48:12,109.109 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:48:12,123.123 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:48:12,263.263 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:48:12,284.284 INFO    ] time= 29/08/2026 05:48:12
[2026-08-29 05:48:12,291.291 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:48:12,296.296 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:48:12,373.373 INFO    ] No existing commands found in stream
[2026-08-29 05:48:17,388.388 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:48:17,390.390 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-08-29 05:48:21,247.247 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:48:21,249.249 INFO    ] Checking for system updates...
[2026-08-29 05:48:21,270.270 INFO    ] 200
[2026-08-29 05:48:21,271.271 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:48:21,303.303 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:48:21,305.305 INFO    ] No update needed
[2026-08-29 05:48:21,306.306 INFO    ] Checking for camera pi updates...
[2026-08-29 05:48:21,325.325 INFO    ] 200
[2026-08-29 05:48:21,327.327 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:48:21,349.349 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:48:21,408.408 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:48:21,409.409 INFO    ] No camera update needed
[2026-08-29 05:48:21,410.410 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:48:21,411.411 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:48:21,415.415 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:48:21,417.417 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:48:23,457.457 INFO    ] ================================================
[2026-08-29 05:48:23,478.478 INFO    ] Launching Daemon at Sat Aug 29 05:48:23 IST 2026
[2026-08-29 05:48:23,489.489 INFO    ] ================================================
[2026-08-29 05:48:24,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:48:24
[2026-08-29 05:48:24,724.724 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:48:25,021.021 INFO    ] Initializing speech engine...
[2026-08-29 05:48:25,033.033 INFO    ] 2026-08-29 05:48:25
[2026-08-29 05:48:25,302.302 INFO    ] 2026-08-29 05:48:25
[2026-08-29 05:48:25,356.356 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:48:25,581.581 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:48:25,586.586 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:48:25,719.719 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:48:25,772.772 INFO    ] time= 29/08/2026 05:48:25
[2026-08-29 05:48:25,832.832 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:48:25,856.856 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:48:25,935.935 INFO    ] No existing commands found in stream
[2026-08-29 05:48:30,972.972 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:48:30,975.975 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-08-29 05:48:33,284.284 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:48:33,287.287 INFO    ] Checking for system updates...
[2026-08-29 05:48:33,323.323 INFO    ] 200
[2026-08-29 05:48:33,326.326 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:48:33,378.378 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:48:33,380.380 INFO    ] No update needed
[2026-08-29 05:48:33,382.382 INFO    ] Checking for camera pi updates...
[2026-08-29 05:48:33,417.417 INFO    ] 200
[2026-08-29 05:48:33,419.419 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:48:33,471.471 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:48:33,556.556 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:48:33,559.559 INFO    ] No camera update needed
[2026-08-29 05:48:33,561.561 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:48:33,564.564 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:48:33,570.570 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:48:33,575.575 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:48:35,616.616 INFO    ] ================================================
[2026-08-29 05:48:35,632.632 INFO    ] Launching Daemon at Sat Aug 29 05:48:35 IST 2026
[2026-08-29 05:48:35,643.643 INFO    ] ================================================
[2026-08-29 05:48:36,014.014 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:48:36
[2026-08-29 05:48:36,332.332 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:48:36,475.475 INFO    ] Initializing speech engine...
[2026-08-29 05:48:36,485.485 INFO    ] 2026-08-29 05:48:36
[2026-08-29 05:48:36,704.704 INFO    ] 2026-08-29 05:48:36
[2026-08-29 05:48:36,780.780 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:48:36,963.963 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:48:36,973.973 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:48:37,121.121 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:48:37,143.143 INFO    ] time= 29/08/2026 05:48:37
[2026-08-29 05:48:37,208.208 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:48:37,263.263 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:48:37,326.326 INFO    ] No existing commands found in stream
[2026-08-29 05:48:42,338.338 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:48:42,341.341 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 05:48:45,976.976 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:48:45,984.984 INFO    ] Checking for system updates...
[2026-08-29 05:48:46,004.004 INFO    ] 200
[2026-08-29 05:48:46,006.006 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:48:46,035.035 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:48:46,036.036 INFO    ] No update needed
[2026-08-29 05:48:46,038.038 INFO    ] Checking for camera pi updates...
[2026-08-29 05:48:46,058.058 INFO    ] 200
[2026-08-29 05:48:46,060.060 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:48:46,083.083 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:48:46,283.283 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:48:46,286.286 INFO    ] No camera update needed
[2026-08-29 05:48:46,289.289 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:48:46,291.291 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:48:46,296.296 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:48:46,301.301 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:48:48,342.342 INFO    ] ================================================
[2026-08-29 05:48:48,358.358 INFO    ] Launching Daemon at Sat Aug 29 05:48:48 IST 2026
[2026-08-29 05:48:48,370.370 INFO    ] ================================================
[2026-08-29 05:48:48,938.938 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:48:48
[2026-08-29 05:48:49,381.381 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:48:49,615.615 INFO    ] Initializing speech engine...
[2026-08-29 05:48:49,631.631 INFO    ] 2026-08-29 05:48:49
[2026-08-29 05:48:49,899.899 INFO    ] 2026-08-29 05:48:49
[2026-08-29 05:48:49,938.938 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:48:50,130.130 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:48:50,136.136 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:48:50,253.253 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:48:50,258.258 INFO    ] time= 29/08/2026 05:48:50
[2026-08-29 05:48:50,276.276 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:48:50,289.289 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:48:50,341.341 INFO    ] No existing commands found in stream
[2026-08-29 05:48:55,366.366 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:48:55,369.369 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-08-29 05:48:57,732.732 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:48:57,733.733 INFO    ] Checking for system updates...
[2026-08-29 05:48:57,755.755 INFO    ] 200
[2026-08-29 05:48:57,756.756 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:48:57,786.786 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:48:57,787.787 INFO    ] No update needed
[2026-08-29 05:48:57,788.788 INFO    ] Checking for camera pi updates...
[2026-08-29 05:48:57,808.808 INFO    ] 200
[2026-08-29 05:48:57,809.809 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:48:57,833.833 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:48:57,908.908 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:48:57,909.909 INFO    ] No camera update needed
[2026-08-29 05:48:57,911.911 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:48:57,912.912 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:48:57,915.915 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:48:57,917.917 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:48:59,956.956 INFO    ] ================================================
[2026-08-29 05:48:59,971.971 INFO    ] Launching Daemon at Sat Aug 29 05:48:59 IST 2026
[2026-08-29 05:48:59,982.982 INFO    ] ================================================
[2026-08-29 05:49:00,331.331 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:49:00
[2026-08-29 05:49:00,648.648 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:49:00,796.796 INFO    ] Initializing speech engine...
[2026-08-29 05:49:00,801.801 INFO    ] 2026-08-29 05:49:00
[2026-08-29 05:49:01,004.004 INFO    ] 2026-08-29 05:49:00
[2026-08-29 05:49:01,033.033 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:49:01,168.168 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:49:01,183.183 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:49:01,393.393 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:49:01,434.434 INFO    ] time= 29/08/2026 05:49:01
[2026-08-29 05:49:01,437.437 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:49:01,440.440 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:49:01,489.489 INFO    ] No existing commands found in stream
[2026-08-29 05:49:06,501.501 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:49:06,504.504 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-08-29 05:49:07,813.813 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:49:07,814.814 INFO    ] Checking for system updates...
[2026-08-29 05:49:07,835.835 INFO    ] 200
[2026-08-29 05:49:07,836.836 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:49:07,870.870 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:49:07,871.871 INFO    ] No update needed
[2026-08-29 05:49:07,873.873 INFO    ] Checking for camera pi updates...
[2026-08-29 05:49:07,892.892 INFO    ] 200
[2026-08-29 05:49:07,894.894 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:49:07,919.919 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:49:08,025.025 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:49:08,026.026 INFO    ] No camera update needed
[2026-08-29 05:49:08,027.027 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:49:08,028.028 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:49:08,031.031 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:49:08,034.034 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:49:10,074.074 INFO    ] ================================================
[2026-08-29 05:49:10,089.089 INFO    ] Launching Daemon at Sat Aug 29 05:49:10 IST 2026
[2026-08-29 05:49:10,100.100 INFO    ] ================================================
[2026-08-29 05:49:10,434.434 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:49:10
[2026-08-29 05:49:10,750.750 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:49:10,888.888 INFO    ] Initializing speech engine...
[2026-08-29 05:49:10,898.898 INFO    ] 2026-08-29 05:49:10
[2026-08-29 05:49:11,104.104 INFO    ] 2026-08-29 05:49:11
[2026-08-29 05:49:11,132.132 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:49:11,297.297 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:49:11,311.311 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:49:11,446.446 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:49:11,461.461 INFO    ] time= 29/08/2026 05:49:11
[2026-08-29 05:49:11,470.470 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:49:11,490.490 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:49:11,602.602 INFO    ] No existing commands found in stream
[2026-08-29 05:49:16,616.616 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:49:16,619.619 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-08-29 05:49:20,908.908 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:49:20,910.910 INFO    ] Checking for system updates...
[2026-08-29 05:49:20,930.930 INFO    ] 200
[2026-08-29 05:49:20,931.931 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:49:20,965.965 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:49:20,966.966 INFO    ] No update needed
[2026-08-29 05:49:20,967.967 INFO    ] Checking for camera pi updates...
[2026-08-29 05:49:20,986.986 INFO    ] 200
[2026-08-29 05:49:20,987.987 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:49:21,011.011 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:49:21,089.089 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:49:21,091.091 INFO    ] No camera update needed
[2026-08-29 05:49:21,092.092 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:49:21,093.093 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:49:21,096.096 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:49:21,099.099 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:49:23,139.139 INFO    ] ================================================
[2026-08-29 05:49:23,154.154 INFO    ] Launching Daemon at Sat Aug 29 05:49:23 IST 2026
[2026-08-29 05:49:23,165.165 INFO    ] ================================================
[2026-08-29 05:49:23,516.516 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:49:23
[2026-08-29 05:49:23,831.831 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:49:23,961.961 INFO    ] Initializing speech engine...
[2026-08-29 05:49:23,964.964 INFO    ] 2026-08-29 05:49:23
[2026-08-29 05:49:24,173.173 INFO    ] 2026-08-29 05:49:24
[2026-08-29 05:49:24,255.255 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:49:24,414.414 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:49:24,423.423 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:49:24,557.557 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:49:24,594.594 INFO    ] time= 29/08/2026 05:49:24
[2026-08-29 05:49:24,648.648 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:49:24,694.694 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:49:24,750.750 INFO    ] No existing commands found in stream
[2026-08-29 05:49:29,763.763 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:49:29,765.765 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 05:49:34,622.622 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:49:34,624.624 INFO    ] Checking for system updates...
[2026-08-29 05:49:34,645.645 INFO    ] 200
[2026-08-29 05:49:34,646.646 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:49:34,676.676 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:49:34,677.677 INFO    ] No update needed
[2026-08-29 05:49:34,678.678 INFO    ] Checking for camera pi updates...
[2026-08-29 05:49:34,698.698 INFO    ] 200
[2026-08-29 05:49:34,699.699 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:49:34,735.735 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:49:34,826.826 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:49:34,829.829 INFO    ] No camera update needed
[2026-08-29 05:49:34,831.831 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:49:34,833.833 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:49:34,839.839 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:49:34,844.844 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:49:36,884.884 INFO    ] ================================================
[2026-08-29 05:49:36,898.898 INFO    ] Launching Daemon at Sat Aug 29 05:49:36 IST 2026
[2026-08-29 05:49:36,909.909 INFO    ] ================================================
[2026-08-29 05:49:37,478.478 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:49:37
[2026-08-29 05:49:37,957.957 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:49:38,161.161 INFO    ] Initializing speech engine...
[2026-08-29 05:49:38,171.171 INFO    ] 2026-08-29 05:49:38
[2026-08-29 05:49:38,423.423 INFO    ] 2026-08-29 05:49:38
[2026-08-29 05:49:38,458.458 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:49:38,633.633 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:49:38,647.647 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:49:38,791.791 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:49:38,798.798 INFO    ] time= 29/08/2026 05:49:38
[2026-08-29 05:49:38,803.803 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:49:38,809.809 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:49:38,875.875 INFO    ] No existing commands found in stream
[2026-08-29 05:49:43,887.887 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:49:43,890.890 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-08-29 05:49:44,327.327 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:49:44,329.329 INFO    ] Checking for system updates...
[2026-08-29 05:49:44,349.349 INFO    ] 200
[2026-08-29 05:49:44,350.350 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:49:44,382.382 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:49:44,383.383 INFO    ] No update needed
[2026-08-29 05:49:44,385.385 INFO    ] Checking for camera pi updates...
[2026-08-29 05:49:44,405.405 INFO    ] 200
[2026-08-29 05:49:44,406.406 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:49:44,439.439 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:49:44,536.536 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:49:44,538.538 INFO    ] No camera update needed
[2026-08-29 05:49:44,539.539 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:49:44,540.540 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:49:44,543.543 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:49:44,546.546 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:49:46,586.586 INFO    ] ================================================
[2026-08-29 05:49:46,601.601 INFO    ] Launching Daemon at Sat Aug 29 05:49:46 IST 2026
[2026-08-29 05:49:46,612.612 INFO    ] ================================================
[2026-08-29 05:49:47,002.002 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:49:47
[2026-08-29 05:49:47,335.335 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:49:47,562.562 INFO    ] Initializing speech engine...
[2026-08-29 05:49:47,577.577 INFO    ] 2026-08-29 05:49:47
[2026-08-29 05:49:47,889.889 INFO    ] 2026-08-29 05:49:47
[2026-08-29 05:49:47,973.973 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:49:48,122.122 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:49:48,133.133 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:49:48,267.267 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:49:48,313.313 INFO    ] time= 29/08/2026 05:49:48
[2026-08-29 05:49:48,373.373 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:49:48,402.402 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:49:48,456.456 INFO    ] No existing commands found in stream
[2026-08-29 05:49:53,469.469 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:49:53,473.473 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-08-29 05:49:57,584.584 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:49:57,585.585 INFO    ] Checking for system updates...
[2026-08-29 05:49:57,607.607 INFO    ] 200
[2026-08-29 05:49:57,608.608 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:49:57,638.638 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:49:57,639.639 INFO    ] No update needed
[2026-08-29 05:49:57,641.641 INFO    ] Checking for camera pi updates...
[2026-08-29 05:49:57,661.661 INFO    ] 200
[2026-08-29 05:49:57,662.662 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:49:57,685.685 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:49:57,741.741 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:49:57,742.742 INFO    ] No camera update needed
[2026-08-29 05:49:57,743.743 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:49:57,745.745 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:49:57,747.747 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:49:57,750.750 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:49:59,788.788 INFO    ] ================================================
[2026-08-29 05:49:59,804.804 INFO    ] Launching Daemon at Sat Aug 29 05:49:59 IST 2026
[2026-08-29 05:49:59,815.815 INFO    ] ================================================
[2026-08-29 05:50:00,147.147 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:50:00
[2026-08-29 05:50:00,460.460 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:50:00,589.589 INFO    ] Initializing speech engine...
[2026-08-29 05:50:00,594.594 INFO    ] 2026-08-29 05:50:00
[2026-08-29 05:50:00,813.813 INFO    ] 2026-08-29 05:50:00
[2026-08-29 05:50:00,843.843 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:50:00,972.972 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:50:01,030.030 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:50:01,167.167 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:50:01,224.224 INFO    ] time= 29/08/2026 05:50:01
[2026-08-29 05:50:01,260.260 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:50:01,266.266 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:50:01,338.338 INFO    ] No existing commands found in stream
[2026-08-29 05:50:06,348.348 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:50:06,351.351 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-08-29 05:50:09,429.429 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:50:09,430.430 INFO    ] Checking for system updates...
[2026-08-29 05:50:09,451.451 INFO    ] 200
[2026-08-29 05:50:09,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:50:09,483.483 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:50:09,484.484 INFO    ] No update needed
[2026-08-29 05:50:09,485.485 INFO    ] Checking for camera pi updates...
[2026-08-29 05:50:09,513.513 INFO    ] 200
[2026-08-29 05:50:09,516.516 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:50:09,574.574 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:50:09,659.659 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:50:09,662.662 INFO    ] No camera update needed
[2026-08-29 05:50:09,664.664 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:50:09,667.667 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:50:09,672.672 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:50:09,677.677 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:50:11,717.717 INFO    ] ================================================
[2026-08-29 05:50:11,732.732 INFO    ] Launching Daemon at Sat Aug 29 05:50:11 IST 2026
[2026-08-29 05:50:11,744.744 INFO    ] ================================================
[2026-08-29 05:50:12,333.333 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:50:12
[2026-08-29 05:50:12,789.789 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:50:12,930.930 INFO    ] Initializing speech engine...
[2026-08-29 05:50:12,948.948 INFO    ] 2026-08-29 05:50:12
[2026-08-29 05:50:13,200.200 INFO    ] 2026-08-29 05:50:13
[2026-08-29 05:50:13,235.235 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:50:13,408.408 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:50:13,420.420 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:50:13,530.530 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:50:13,564.564 INFO    ] time= 29/08/2026 05:50:13
[2026-08-29 05:50:13,572.572 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:50:13,576.576 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:50:13,643.643 INFO    ] No existing commands found in stream
[2026-08-29 05:50:18,655.655 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:50:18,658.658 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 05:50:19,839.839 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:50:19,840.840 INFO    ] Checking for system updates...
[2026-08-29 05:50:19,860.860 INFO    ] 200
[2026-08-29 05:50:19,862.862 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:50:19,894.894 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:50:19,895.895 INFO    ] No update needed
[2026-08-29 05:50:19,897.897 INFO    ] Checking for camera pi updates...
[2026-08-29 05:50:19,917.917 INFO    ] 200
[2026-08-29 05:50:19,918.918 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:50:19,941.941 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:50:20,021.021 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:50:20,022.022 INFO    ] No camera update needed
[2026-08-29 05:50:20,023.023 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:50:20,025.025 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:50:20,028.028 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:50:20,030.030 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:50:22,070.070 INFO    ] ================================================
[2026-08-29 05:50:22,086.086 INFO    ] Launching Daemon at Sat Aug 29 05:50:22 IST 2026
[2026-08-29 05:50:22,098.098 INFO    ] ================================================
[2026-08-29 05:50:22,457.457 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:50:22
[2026-08-29 05:50:22,775.775 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:50:22,918.918 INFO    ] Initializing speech engine...
[2026-08-29 05:50:22,936.936 INFO    ] 2026-08-29 05:50:22
[2026-08-29 05:50:23,186.186 INFO    ] 2026-08-29 05:50:23
[2026-08-29 05:50:23,221.221 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:50:23,417.417 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:50:23,424.424 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:50:23,551.551 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:50:23,557.557 INFO    ] time= 29/08/2026 05:50:23
[2026-08-29 05:50:23,564.564 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:50:23,604.604 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:50:23,740.740 INFO    ] No existing commands found in stream
[2026-08-29 05:50:28,764.764 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:50:28,767.767 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-08-29 05:50:30,385.385 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:50:30,386.386 INFO    ] Checking for system updates...
[2026-08-29 05:50:30,407.407 INFO    ] 200
[2026-08-29 05:50:30,408.408 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:50:30,441.441 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:50:30,442.442 INFO    ] No update needed
[2026-08-29 05:50:30,444.444 INFO    ] Checking for camera pi updates...
[2026-08-29 05:50:30,463.463 INFO    ] 200
[2026-08-29 05:50:30,465.465 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:50:30,488.488 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:50:30,575.575 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:50:30,577.577 INFO    ] No camera update needed
[2026-08-29 05:50:30,578.578 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:50:30,580.580 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:50:30,585.585 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:50:30,590.590 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:50:32,632.632 INFO    ] ================================================
[2026-08-29 05:50:32,649.649 INFO    ] Launching Daemon at Sat Aug 29 05:50:32 IST 2026
[2026-08-29 05:50:32,662.662 INFO    ] ================================================
[2026-08-29 05:50:33,278.278 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:50:33
[2026-08-29 05:50:33,762.762 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:50:33,984.984 INFO    ] Initializing speech engine...
[2026-08-29 05:50:33,991.991 INFO    ] 2026-08-29 05:50:33
[2026-08-29 05:50:34,294.294 INFO    ] 2026-08-29 05:50:34
[2026-08-29 05:50:34,330.330 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:50:34,481.481 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:50:34,489.489 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:50:34,645.645 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:50:34,656.656 INFO    ] time= 29/08/2026 05:50:34
[2026-08-29 05:50:34,683.683 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:50:34,693.693 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:50:34,797.797 INFO    ] No existing commands found in stream
[2026-08-29 05:50:39,808.808 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:50:39,811.811 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-08-29 05:50:42,560.560 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:50:42,563.563 INFO    ] Checking for system updates...
[2026-08-29 05:50:42,598.598 INFO    ] 200
[2026-08-29 05:50:42,601.601 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:50:42,660.660 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:50:42,663.663 INFO    ] No update needed
[2026-08-29 05:50:42,665.665 INFO    ] Checking for camera pi updates...
[2026-08-29 05:50:42,699.699 INFO    ] 200
[2026-08-29 05:50:42,701.701 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:50:42,743.743 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:50:42,845.845 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:50:42,848.848 INFO    ] No camera update needed
[2026-08-29 05:50:42,850.850 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:50:42,852.852 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:50:42,858.858 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:50:42,864.864 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:50:44,903.903 INFO    ] ================================================
[2026-08-29 05:50:44,920.920 INFO    ] Launching Daemon at Sat Aug 29 05:50:44 IST 2026
[2026-08-29 05:50:44,931.931 INFO    ] ================================================
[2026-08-29 05:50:45,301.301 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:50:45
[2026-08-29 05:50:45,901.901 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:50:46,167.167 INFO    ] Initializing speech engine...
[2026-08-29 05:50:46,195.195 INFO    ] 2026-08-29 05:50:46
[2026-08-29 05:50:46,477.477 INFO    ] 2026-08-29 05:50:46
[2026-08-29 05:50:46,514.514 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:50:46,687.687 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:50:46,717.717 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:50:46,853.853 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:50:46,859.859 INFO    ] time= 29/08/2026 05:50:46
[2026-08-29 05:50:46,864.864 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:50:46,879.879 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:50:46,974.974 INFO    ] No existing commands found in stream
[2026-08-29 05:50:51,997.997 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:50:51,999.999 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-08-29 05:50:54,564.564 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:50:54,566.566 INFO    ] Checking for system updates...
[2026-08-29 05:50:54,587.587 INFO    ] 200
[2026-08-29 05:50:54,589.589 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:50:54,621.621 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:50:54,622.622 INFO    ] No update needed
[2026-08-29 05:50:54,623.623 INFO    ] Checking for camera pi updates...
[2026-08-29 05:50:54,642.642 INFO    ] 200
[2026-08-29 05:50:54,644.644 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:50:54,667.667 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:50:54,847.847 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:50:54,848.848 INFO    ] No camera update needed
[2026-08-29 05:50:54,850.850 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:50:54,851.851 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:50:54,854.854 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:50:54,857.857 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:50:56,895.895 INFO    ] ================================================
[2026-08-29 05:50:56,911.911 INFO    ] Launching Daemon at Sat Aug 29 05:50:56 IST 2026
[2026-08-29 05:50:56,922.922 INFO    ] ================================================
[2026-08-29 05:50:57,317.317 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:50:57
[2026-08-29 05:50:57,923.923 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:50:58,201.201 INFO    ] Initializing speech engine...
[2026-08-29 05:50:58,207.207 INFO    ] 2026-08-29 05:50:58
[2026-08-29 05:50:58,469.469 INFO    ] 2026-08-29 05:50:58
[2026-08-29 05:50:58,527.527 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:50:58,747.747 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:50:58,756.756 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:50:58,889.889 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:50:58,916.916 INFO    ] time= 29/08/2026 05:50:58
[2026-08-29 05:50:58,965.965 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:50:59,025.025 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:50:59,080.080 INFO    ] No existing commands found in stream
[2026-08-29 05:51:04,093.093 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:51:04,096.096 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 05:51:07,464.464 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:51:07,465.465 INFO    ] Checking for system updates...
[2026-08-29 05:51:07,486.486 INFO    ] 200
[2026-08-29 05:51:07,488.488 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:51:07,517.517 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:51:07,519.519 INFO    ] No update needed
[2026-08-29 05:51:07,520.520 INFO    ] Checking for camera pi updates...
[2026-08-29 05:51:07,539.539 INFO    ] 200
[2026-08-29 05:51:07,541.541 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:51:07,566.566 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:51:07,641.641 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:51:07,643.643 INFO    ] No camera update needed
[2026-08-29 05:51:07,644.644 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:51:07,645.645 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:51:07,648.648 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:51:07,651.651 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:51:09,690.690 INFO    ] ================================================
[2026-08-29 05:51:09,706.706 INFO    ] Launching Daemon at Sat Aug 29 05:51:09 IST 2026
[2026-08-29 05:51:09,718.718 INFO    ] ================================================
[2026-08-29 05:51:10,101.101 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:51:10
[2026-08-29 05:51:10,445.445 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:51:10,592.592 INFO    ] Initializing speech engine...
[2026-08-29 05:51:10,602.602 INFO    ] 2026-08-29 05:51:10
[2026-08-29 05:51:10,821.821 INFO    ] 2026-08-29 05:51:10
[2026-08-29 05:51:10,904.904 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:51:11,064.064 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:51:11,070.070 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:51:11,209.209 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:51:11,275.275 INFO    ] time= 29/08/2026 05:51:11
[2026-08-29 05:51:11,330.330 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:51:11,349.349 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:51:11,479.479 INFO    ] No existing commands found in stream
[2026-08-29 05:51:16,511.511 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:51:16,515.515 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-08-29 05:51:20,218.218 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:51:20,220.220 INFO    ] Checking for system updates...
[2026-08-29 05:51:20,241.241 INFO    ] 200
[2026-08-29 05:51:20,242.242 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:51:20,273.273 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:51:20,275.275 INFO    ] No update needed
[2026-08-29 05:51:20,276.276 INFO    ] Checking for camera pi updates...
[2026-08-29 05:51:20,298.298 INFO    ] 200
[2026-08-29 05:51:20,299.299 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:51:20,327.327 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:51:20,419.419 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:51:20,420.420 INFO    ] No camera update needed
[2026-08-29 05:51:20,422.422 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:51:20,423.423 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:51:20,426.426 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:51:20,429.429 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:51:22,470.470 INFO    ] ================================================
[2026-08-29 05:51:22,486.486 INFO    ] Launching Daemon at Sat Aug 29 05:51:22 IST 2026
[2026-08-29 05:51:22,498.498 INFO    ] ================================================
[2026-08-29 05:51:22,865.865 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:51:22
[2026-08-29 05:51:23,183.183 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:51:23,318.318 INFO    ] Initializing speech engine...
[2026-08-29 05:51:23,323.323 INFO    ] 2026-08-29 05:51:23
[2026-08-29 05:51:23,517.517 INFO    ] 2026-08-29 05:51:23
[2026-08-29 05:51:23,562.562 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:51:23,690.690 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:51:23,725.725 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:51:23,885.885 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:51:23,927.927 INFO    ] time= 29/08/2026 05:51:23
[2026-08-29 05:51:23,946.946 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:51:24,007.007 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:51:24,129.129 INFO    ] No existing commands found in stream
[2026-08-29 05:51:29,137.137 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:51:29,139.139 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-08-29 05:51:30,115.115 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:51:30,413.413 INFO    ] Checking for system updates...
[2026-08-29 05:51:30,436.436 INFO    ] 200
[2026-08-29 05:51:30,437.437 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:51:30,469.469 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:51:30,471.471 INFO    ] No update needed
[2026-08-29 05:51:30,472.472 INFO    ] Checking for camera pi updates...
[2026-08-29 05:51:30,491.491 INFO    ] 200
[2026-08-29 05:51:30,493.493 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:51:30,539.539 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:51:30,637.637 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:51:30,640.640 INFO    ] No camera update needed
[2026-08-29 05:51:30,642.642 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:51:30,645.645 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:51:30,650.650 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:51:30,655.655 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:51:32,702.702 INFO    ] ================================================
[2026-08-29 05:51:32,721.721 INFO    ] Launching Daemon at Sat Aug 29 05:51:32 IST 2026
[2026-08-29 05:51:32,733.733 INFO    ] ================================================
[2026-08-29 05:51:33,327.327 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:51:33
[2026-08-29 05:51:33,734.734 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:51:33,872.872 INFO    ] Initializing speech engine...
[2026-08-29 05:51:33,885.885 INFO    ] 2026-08-29 05:51:33
[2026-08-29 05:51:34,093.093 INFO    ] 2026-08-29 05:51:34
[2026-08-29 05:51:34,122.122 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:51:34,247.247 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:51:34,310.310 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:51:34,451.451 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:51:34,519.519 INFO    ] time= 29/08/2026 05:51:34
[2026-08-29 05:51:34,545.545 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:51:34,550.550 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:51:34,619.619 INFO    ] No existing commands found in stream
[2026-08-29 05:51:39,628.628 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:51:39,631.631 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-08-29 05:51:43,456.456 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:51:43,457.457 INFO    ] Checking for system updates...
[2026-08-29 05:51:43,478.478 INFO    ] 200
[2026-08-29 05:51:43,479.479 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:51:43,514.514 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:51:43,515.515 INFO    ] No update needed
[2026-08-29 05:51:43,517.517 INFO    ] Checking for camera pi updates...
[2026-08-29 05:51:43,536.536 INFO    ] 200
[2026-08-29 05:51:43,537.537 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:51:43,561.561 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:51:43,642.642 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:51:43,643.643 INFO    ] No camera update needed
[2026-08-29 05:51:43,645.645 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:51:43,646.646 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:51:43,649.649 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:51:43,651.651 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:51:45,692.692 INFO    ] ================================================
[2026-08-29 05:51:45,707.707 INFO    ] Launching Daemon at Sat Aug 29 05:51:45 IST 2026
[2026-08-29 05:51:45,719.719 INFO    ] ================================================
[2026-08-29 05:51:46,076.076 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:51:46
[2026-08-29 05:51:46,386.386 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:51:46,515.515 INFO    ] Initializing speech engine...
[2026-08-29 05:51:46,519.519 INFO    ] 2026-08-29 05:51:46
[2026-08-29 05:51:46,727.727 INFO    ] 2026-08-29 05:51:46
[2026-08-29 05:51:46,768.768 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:51:46,986.986 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:51:46,995.995 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:51:47,126.126 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:51:47,148.148 INFO    ] time= 29/08/2026 05:51:47
[2026-08-29 05:51:47,218.218 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:51:47,258.258 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:51:47,319.319 INFO    ] No existing commands found in stream
[2026-08-29 05:51:52,348.348 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:51:52,351.351 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-08-29 05:51:54,990.990 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:51:54,993.993 INFO    ] Checking for system updates...
[2026-08-29 05:51:55,029.029 INFO    ] 200
[2026-08-29 05:51:55,032.032 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:51:55,085.085 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:51:55,087.087 INFO    ] No update needed
[2026-08-29 05:51:55,090.090 INFO    ] Checking for camera pi updates...
[2026-08-29 05:51:55,124.124 INFO    ] 200
[2026-08-29 05:51:55,126.126 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:51:55,179.179 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:51:55,273.273 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:51:55,277.277 INFO    ] No camera update needed
[2026-08-29 05:51:55,280.280 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:51:55,283.283 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:51:55,292.292 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:51:55,306.306 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:51:57,348.348 INFO    ] ================================================
[2026-08-29 05:51:57,363.363 INFO    ] Launching Daemon at Sat Aug 29 05:51:57 IST 2026
[2026-08-29 05:51:57,375.375 INFO    ] ================================================
[2026-08-29 05:51:57,751.751 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:51:57
[2026-08-29 05:51:58,069.069 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:51:58,211.211 INFO    ] Initializing speech engine...
[2026-08-29 05:51:58,216.216 INFO    ] 2026-08-29 05:51:58
[2026-08-29 05:51:58,423.423 INFO    ] 2026-08-29 05:51:58
[2026-08-29 05:51:58,501.501 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:51:58,654.654 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:51:58,663.663 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:51:58,795.795 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:51:58,843.843 INFO    ] time= 29/08/2026 05:51:58
[2026-08-29 05:51:58,907.907 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:51:58,931.931 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:51:58,994.994 INFO    ] No existing commands found in stream
[2026-08-29 05:52:04,029.029 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:52:04,032.032 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-08-29 05:52:06,260.260 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:52:06,262.262 INFO    ] Checking for system updates...
[2026-08-29 05:52:06,298.298 INFO    ] 200
[2026-08-29 05:52:06,301.301 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:52:06,353.353 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:52:06,356.356 INFO    ] No update needed
[2026-08-29 05:52:06,358.358 INFO    ] Checking for camera pi updates...
[2026-08-29 05:52:06,398.398 INFO    ] 200
[2026-08-29 05:52:06,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:52:06,441.441 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:52:06,514.514 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:52:06,516.516 INFO    ] No camera update needed
[2026-08-29 05:52:06,519.519 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:52:06,521.521 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:52:06,526.526 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:52:06,531.531 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:52:08,572.572 INFO    ] ================================================
[2026-08-29 05:52:08,588.588 INFO    ] Launching Daemon at Sat Aug 29 05:52:08 IST 2026
[2026-08-29 05:52:08,599.599 INFO    ] ================================================
[2026-08-29 05:52:09,188.188 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:52:09
[2026-08-29 05:52:09,525.525 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:52:09,669.669 INFO    ] Initializing speech engine...
[2026-08-29 05:52:09,680.680 INFO    ] 2026-08-29 05:52:09
[2026-08-29 05:52:09,880.880 INFO    ] 2026-08-29 05:52:09
[2026-08-29 05:52:09,951.951 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:52:10,119.119 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:52:10,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:52:10,261.261 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:52:10,273.273 INFO    ] time= 29/08/2026 05:52:10
[2026-08-29 05:52:10,338.338 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:52:10,395.395 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:52:10,447.447 INFO    ] No existing commands found in stream
[2026-08-29 05:52:15,460.460 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:52:15,464.464 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-08-29 05:52:18,476.476 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:52:18,478.478 INFO    ] Checking for system updates...
[2026-08-29 05:52:18,499.499 INFO    ] 200
[2026-08-29 05:52:18,501.501 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:52:18,530.530 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:52:18,532.532 INFO    ] No update needed
[2026-08-29 05:52:18,533.533 INFO    ] Checking for camera pi updates...
[2026-08-29 05:52:18,553.553 INFO    ] 200
[2026-08-29 05:52:18,555.555 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:52:18,579.579 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:52:18,636.636 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:52:18,637.637 INFO    ] No camera update needed
[2026-08-29 05:52:18,638.638 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:52:18,640.640 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:52:18,643.643 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:52:18,645.645 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:52:20,691.691 INFO    ] ================================================
[2026-08-29 05:52:20,706.706 INFO    ] Launching Daemon at Sat Aug 29 05:52:20 IST 2026
[2026-08-29 05:52:20,718.718 INFO    ] ================================================
[2026-08-29 05:52:21,064.064 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:52:21
[2026-08-29 05:52:21,401.401 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:52:21,555.555 INFO    ] Initializing speech engine...
[2026-08-29 05:52:21,558.558 INFO    ] 2026-08-29 05:52:21
[2026-08-29 05:52:21,757.757 INFO    ] 2026-08-29 05:52:21
[2026-08-29 05:52:21,822.822 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:52:22,047.047 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:52:22,056.056 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:52:22,193.193 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:52:22,233.233 INFO    ] time= 29/08/2026 05:52:22
[2026-08-29 05:52:22,310.310 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:52:22,338.338 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:52:22,394.394 INFO    ] No existing commands found in stream
[2026-08-29 05:52:27,405.405 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:52:27,408.408 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 05:52:27,857.857 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:52:27,859.859 INFO    ] Checking for system updates...
[2026-08-29 05:52:27,879.879 INFO    ] 200
[2026-08-29 05:52:27,881.881 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:52:27,913.913 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:52:27,915.915 INFO    ] No update needed
[2026-08-29 05:52:27,916.916 INFO    ] Checking for camera pi updates...
[2026-08-29 05:52:27,938.938 INFO    ] 200
[2026-08-29 05:52:27,939.939 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:52:27,963.963 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:52:28,036.036 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:52:28,038.038 INFO    ] No camera update needed
[2026-08-29 05:52:28,039.039 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:52:28,040.040 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:52:28,044.044 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:52:28,047.047 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:52:30,085.085 INFO    ] ================================================
[2026-08-29 05:52:30,101.101 INFO    ] Launching Daemon at Sat Aug 29 05:52:30 IST 2026
[2026-08-29 05:52:30,112.112 INFO    ] ================================================
[2026-08-29 05:52:30,437.437 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:52:30
[2026-08-29 05:52:30,786.786 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:52:31,061.061 INFO    ] Initializing speech engine...
[2026-08-29 05:52:31,068.068 INFO    ] 2026-08-29 05:52:31
[2026-08-29 05:52:31,341.341 INFO    ] 2026-08-29 05:52:31
[2026-08-29 05:52:31,423.423 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:52:31,597.597 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:52:31,625.625 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:52:31,741.741 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:52:31,748.748 INFO    ] time= 29/08/2026 05:52:31
[2026-08-29 05:52:31,753.753 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:52:31,774.774 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:52:31,880.880 INFO    ] No existing commands found in stream
[2026-08-29 05:52:36,894.894 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:52:36,897.897 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-08-29 05:52:40,043.043 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:52:40,045.045 INFO    ] Checking for system updates...
[2026-08-29 05:52:40,066.066 INFO    ] 200
[2026-08-29 05:52:40,067.067 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:52:40,099.099 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:52:40,101.101 INFO    ] No update needed
[2026-08-29 05:52:40,102.102 INFO    ] Checking for camera pi updates...
[2026-08-29 05:52:40,122.122 INFO    ] 200
[2026-08-29 05:52:40,123.123 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:52:40,146.146 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:52:40,197.197 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:52:40,198.198 INFO    ] No camera update needed
[2026-08-29 05:52:40,200.200 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:52:40,201.201 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:52:40,204.204 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:52:40,207.207 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:52:42,246.246 INFO    ] ================================================
[2026-08-29 05:52:42,262.262 INFO    ] Launching Daemon at Sat Aug 29 05:52:42 IST 2026
[2026-08-29 05:52:42,274.274 INFO    ] ================================================
[2026-08-29 05:52:42,600.600 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:52:42
[2026-08-29 05:52:42,914.914 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:52:43,047.047 INFO    ] Initializing speech engine...
[2026-08-29 05:52:43,054.054 INFO    ] 2026-08-29 05:52:43
[2026-08-29 05:52:43,248.248 INFO    ] 2026-08-29 05:52:43
[2026-08-29 05:52:43,327.327 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:52:43,484.484 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:52:43,493.493 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:52:43,628.628 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:52:43,663.663 INFO    ] time= 29/08/2026 05:52:43
[2026-08-29 05:52:43,733.733 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:52:43,764.764 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:52:43,822.822 INFO    ] No existing commands found in stream
[2026-08-29 05:52:48,837.837 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:52:48,839.839 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-08-29 05:52:51,043.043 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:52:51,044.044 INFO    ] Checking for system updates...
[2026-08-29 05:52:51,065.065 INFO    ] 200
[2026-08-29 05:52:51,066.066 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:52:51,098.098 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:52:51,100.100 INFO    ] No update needed
[2026-08-29 05:52:51,102.102 INFO    ] Checking for camera pi updates...
[2026-08-29 05:52:51,123.123 INFO    ] 200
[2026-08-29 05:52:51,124.124 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:52:51,151.151 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:52:51,246.246 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:52:51,247.247 INFO    ] No camera update needed
[2026-08-29 05:52:51,248.248 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:52:51,250.250 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:52:51,253.253 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:52:51,256.256 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:52:53,297.297 INFO    ] ================================================
[2026-08-29 05:52:53,313.313 INFO    ] Launching Daemon at Sat Aug 29 05:52:53 IST 2026
[2026-08-29 05:52:53,323.323 INFO    ] ================================================
[2026-08-29 05:52:53,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:52:53
[2026-08-29 05:52:54,006.006 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:52:54,138.138 INFO    ] Initializing speech engine...
[2026-08-29 05:52:54,146.146 INFO    ] 2026-08-29 05:52:54
[2026-08-29 05:52:54,357.357 INFO    ] 2026-08-29 05:52:54
[2026-08-29 05:52:54,423.423 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:52:54,548.548 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:52:54,551.551 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:52:54,683.683 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:52:54,728.728 INFO    ] time= 29/08/2026 05:52:54
[2026-08-29 05:52:54,751.751 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:52:54,772.772 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:52:54,887.887 INFO    ] No existing commands found in stream
[2026-08-29 05:52:59,898.898 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:52:59,901.901 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-08-29 05:53:02,576.576 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:53:02,579.579 INFO    ] Checking for system updates...
[2026-08-29 05:53:02,626.626 INFO    ] 200
[2026-08-29 05:53:02,628.628 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:53:02,694.694 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:53:02,697.697 INFO    ] No update needed
[2026-08-29 05:53:02,701.701 INFO    ] Checking for camera pi updates...
[2026-08-29 05:53:02,745.745 INFO    ] 200
[2026-08-29 05:53:02,748.748 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:53:02,804.804 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:53:03,055.055 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:53:03,058.058 INFO    ] No camera update needed
[2026-08-29 05:53:03,061.061 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:53:03,064.064 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:53:03,070.070 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:53:03,077.077 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:53:05,117.117 INFO    ] ================================================
[2026-08-29 05:53:05,133.133 INFO    ] Launching Daemon at Sat Aug 29 05:53:05 IST 2026
[2026-08-29 05:53:05,145.145 INFO    ] ================================================
[2026-08-29 05:53:05,516.516 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:53:05
[2026-08-29 05:53:05,829.829 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:53:06,046.046 INFO    ] Initializing speech engine...
[2026-08-29 05:53:06,053.053 INFO    ] 2026-08-29 05:53:06
[2026-08-29 05:53:06,302.302 INFO    ] 2026-08-29 05:53:06
[2026-08-29 05:53:06,337.337 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:53:06,510.510 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:53:06,534.534 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:53:06,667.667 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:53:06,672.672 INFO    ] time= 29/08/2026 05:53:06
[2026-08-29 05:53:06,678.678 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:53:06,709.709 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:53:06,848.848 INFO    ] No existing commands found in stream
[2026-08-29 05:53:11,882.882 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:53:11,884.884 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-08-29 05:53:13,208.208 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:53:13,209.209 INFO    ] Checking for system updates...
[2026-08-29 05:53:13,229.229 INFO    ] 200
[2026-08-29 05:53:13,231.231 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:53:13,260.260 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:53:13,262.262 INFO    ] No update needed
[2026-08-29 05:53:13,263.263 INFO    ] Checking for camera pi updates...
[2026-08-29 05:53:13,283.283 INFO    ] 200
[2026-08-29 05:53:13,284.284 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:53:13,308.308 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:53:13,402.402 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:53:13,404.404 INFO    ] No camera update needed
[2026-08-29 05:53:13,405.405 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:53:13,406.406 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:53:13,409.409 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:53:13,412.412 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:53:15,451.451 INFO    ] ================================================
[2026-08-29 05:53:15,467.467 INFO    ] Launching Daemon at Sat Aug 29 05:53:15 IST 2026
[2026-08-29 05:53:15,478.478 INFO    ] ================================================
[2026-08-29 05:53:15,810.810 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:53:15
[2026-08-29 05:53:16,127.127 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:53:16,267.267 INFO    ] Initializing speech engine...
[2026-08-29 05:53:16,280.280 INFO    ] 2026-08-29 05:53:16
[2026-08-29 05:53:16,497.497 INFO    ] 2026-08-29 05:53:16
[2026-08-29 05:53:16,526.526 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:53:16,655.655 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:53:16,698.698 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:53:16,845.845 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:53:16,881.881 INFO    ] time= 29/08/2026 05:53:16
[2026-08-29 05:53:16,932.932 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:53:16,934.934 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:53:16,985.985 INFO    ] No existing commands found in stream
[2026-08-29 05:53:21,994.994 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:53:21,997.997 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-08-29 05:53:24,362.362 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:53:24,364.364 INFO    ] Checking for system updates...
[2026-08-29 05:53:24,384.384 INFO    ] 200
[2026-08-29 05:53:24,385.385 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:53:24,415.415 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:53:24,416.416 INFO    ] No update needed
[2026-08-29 05:53:24,417.417 INFO    ] Checking for camera pi updates...
[2026-08-29 05:53:24,437.437 INFO    ] 200
[2026-08-29 05:53:24,438.438 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:53:24,461.461 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:53:24,527.527 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:53:24,529.529 INFO    ] No camera update needed
[2026-08-29 05:53:24,531.531 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:53:24,534.534 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:53:24,539.539 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:53:24,544.544 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:53:26,586.586 INFO    ] ================================================
[2026-08-29 05:53:26,601.601 INFO    ] Launching Daemon at Sat Aug 29 05:53:26 IST 2026
[2026-08-29 05:53:26,613.613 INFO    ] ================================================
[2026-08-29 05:53:27,179.179 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:53:27
[2026-08-29 05:53:27,684.684 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:53:27,818.818 INFO    ] Initializing speech engine...
[2026-08-29 05:53:27,830.830 INFO    ] 2026-08-29 05:53:27
[2026-08-29 05:53:28,045.045 INFO    ] 2026-08-29 05:53:28
[2026-08-29 05:53:28,075.075 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:53:28,198.198 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:53:28,203.203 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:53:28,381.381 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:53:28,435.435 INFO    ] time= 29/08/2026 05:53:28
[2026-08-29 05:53:28,441.441 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:53:28,460.460 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:53:28,579.579 INFO    ] No existing commands found in stream
[2026-08-29 05:53:33,600.600 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:53:33,603.603 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-08-29 05:53:36,069.069 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:53:36,071.071 INFO    ] Checking for system updates...
[2026-08-29 05:53:36,091.091 INFO    ] 200
[2026-08-29 05:53:36,092.092 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:53:36,122.122 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:53:36,123.123 INFO    ] No update needed
[2026-08-29 05:53:36,125.125 INFO    ] Checking for camera pi updates...
[2026-08-29 05:53:36,146.146 INFO    ] 200
[2026-08-29 05:53:36,147.147 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:53:36,173.173 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:53:36,273.273 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:53:36,275.275 INFO    ] No camera update needed
[2026-08-29 05:53:36,278.278 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:53:36,280.280 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:53:36,285.285 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:53:36,290.290 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:53:38,331.331 INFO    ] ================================================
[2026-08-29 05:53:38,347.347 INFO    ] Launching Daemon at Sat Aug 29 05:53:38 IST 2026
[2026-08-29 05:53:38,359.359 INFO    ] ================================================
[2026-08-29 05:53:38,984.984 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:53:38
[2026-08-29 05:53:39,468.468 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:53:39,616.616 INFO    ] Initializing speech engine...
[2026-08-29 05:53:39,622.622 INFO    ] 2026-08-29 05:53:39
[2026-08-29 05:53:39,827.827 INFO    ] 2026-08-29 05:53:39
[2026-08-29 05:53:39,856.856 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:53:39,978.978 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:53:40,036.036 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:53:40,177.177 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:53:40,237.237 INFO    ] time= 29/08/2026 05:53:40
[2026-08-29 05:53:40,291.291 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:53:40,337.337 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:53:40,449.449 INFO    ] No existing commands found in stream
[2026-08-29 05:53:45,480.480 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:53:45,483.483 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-08-29 05:53:48,120.120 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:53:48,121.121 INFO    ] Checking for system updates...
[2026-08-29 05:53:48,142.142 INFO    ] 200
[2026-08-29 05:53:48,143.143 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:53:48,175.175 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:53:48,176.176 INFO    ] No update needed
[2026-08-29 05:53:48,177.177 INFO    ] Checking for camera pi updates...
[2026-08-29 05:53:48,200.200 INFO    ] 200
[2026-08-29 05:53:48,201.201 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:53:48,228.228 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:53:48,322.322 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:53:48,325.325 INFO    ] No camera update needed
[2026-08-29 05:53:48,328.328 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:53:48,330.330 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:53:48,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:53:48,341.341 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:53:50,384.384 INFO    ] ================================================
[2026-08-29 05:53:50,400.400 INFO    ] Launching Daemon at Sat Aug 29 05:53:50 IST 2026
[2026-08-29 05:53:50,410.410 INFO    ] ================================================
[2026-08-29 05:53:50,983.983 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:53:50
[2026-08-29 05:53:51,497.497 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:53:51,635.635 INFO    ] Initializing speech engine...
[2026-08-29 05:53:51,645.645 INFO    ] 2026-08-29 05:53:51
[2026-08-29 05:53:51,851.851 INFO    ] 2026-08-29 05:53:51
[2026-08-29 05:53:51,879.879 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:53:52,003.003 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:53:52,061.061 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:53:52,196.196 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:53:52,257.257 INFO    ] time= 29/08/2026 05:53:52
[2026-08-29 05:53:52,301.301 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:53:52,350.350 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:53:52,457.457 INFO    ] No existing commands found in stream
[2026-08-29 05:53:57,469.469 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:53:57,472.472 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 05:54:00,987.987 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:54:00,989.989 INFO    ] Checking for system updates...
[2026-08-29 05:54:01,010.010 INFO    ] 200
[2026-08-29 05:54:01,012.012 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:54:01,050.050 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:54:01,052.052 INFO    ] No update needed
[2026-08-29 05:54:01,053.053 INFO    ] Checking for camera pi updates...
[2026-08-29 05:54:01,072.072 INFO    ] 200
[2026-08-29 05:54:01,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:54:01,097.097 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:54:01,158.158 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:54:01,159.159 INFO    ] No camera update needed
[2026-08-29 05:54:01,160.160 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:54:01,161.161 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:54:01,164.164 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:54:01,167.167 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:54:03,213.213 INFO    ] ================================================
[2026-08-29 05:54:03,235.235 INFO    ] Launching Daemon at Sat Aug 29 05:54:03 IST 2026
[2026-08-29 05:54:03,251.251 INFO    ] ================================================
[2026-08-29 05:54:03,847.847 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:54:03
[2026-08-29 05:54:04,489.489 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:54:04,783.783 INFO    ] Initializing speech engine...
[2026-08-29 05:54:04,790.790 INFO    ] 2026-08-29 05:54:04
[2026-08-29 05:54:05,048.048 INFO    ] 2026-08-29 05:54:05
[2026-08-29 05:54:05,086.086 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:54:05,274.274 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:54:05,292.292 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:54:05,409.409 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:54:05,467.467 INFO    ] time= 29/08/2026 05:54:05
[2026-08-29 05:54:05,478.478 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:54:05,488.488 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:54:05,574.574 INFO    ] No existing commands found in stream
[2026-08-29 05:54:10,609.609 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:54:10,613.613 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-08-29 05:54:12,945.945 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:54:12,946.946 INFO    ] Checking for system updates...
[2026-08-29 05:54:12,967.967 INFO    ] 200
[2026-08-29 05:54:12,968.968 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:54:12,999.999 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:54:13,000.000 INFO    ] No update needed
[2026-08-29 05:54:13,001.001 INFO    ] Checking for camera pi updates...
[2026-08-29 05:54:13,021.021 INFO    ] 200
[2026-08-29 05:54:13,023.023 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:54:13,046.046 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:54:13,149.149 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:54:13,150.150 INFO    ] No camera update needed
[2026-08-29 05:54:13,152.152 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:54:13,153.153 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:54:13,156.156 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:54:13,159.159 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:54:15,198.198 INFO    ] ================================================
[2026-08-29 05:54:15,213.213 INFO    ] Launching Daemon at Sat Aug 29 05:54:15 IST 2026
[2026-08-29 05:54:15,224.224 INFO    ] ================================================
[2026-08-29 05:54:15,607.607 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:54:15
[2026-08-29 05:54:15,940.940 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:54:16,078.078 INFO    ] Initializing speech engine...
[2026-08-29 05:54:16,079.079 INFO    ] 2026-08-29 05:54:16
[2026-08-29 05:54:16,301.301 INFO    ] 2026-08-29 05:54:16
[2026-08-29 05:54:16,348.348 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:54:16,516.516 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:54:16,522.522 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:54:16,697.697 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:54:16,729.729 INFO    ] time= 29/08/2026 05:54:16
[2026-08-29 05:54:16,747.747 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:54:16,756.756 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:54:16,869.869 INFO    ] No existing commands found in stream
[2026-08-29 05:54:21,900.900 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:54:21,903.903 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-08-29 05:54:23,478.478 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:54:23,479.479 INFO    ] Checking for system updates...
[2026-08-29 05:54:23,502.502 INFO    ] 200
[2026-08-29 05:54:23,503.503 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:54:23,535.535 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:54:23,536.536 INFO    ] No update needed
[2026-08-29 05:54:23,538.538 INFO    ] Checking for camera pi updates...
[2026-08-29 05:54:23,557.557 INFO    ] 200
[2026-08-29 05:54:23,558.558 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:54:23,581.581 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:54:23,683.683 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:54:23,684.684 INFO    ] No camera update needed
[2026-08-29 05:54:23,685.685 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:54:23,687.687 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:54:23,689.689 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:54:23,692.692 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:54:25,730.730 INFO    ] ================================================
[2026-08-29 05:54:25,745.745 INFO    ] Launching Daemon at Sat Aug 29 05:54:25 IST 2026
[2026-08-29 05:54:25,756.756 INFO    ] ================================================
[2026-08-29 05:54:26,116.116 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:54:26
[2026-08-29 05:54:26,439.439 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:54:26,582.582 INFO    ] Initializing speech engine...
[2026-08-29 05:54:26,588.588 INFO    ] 2026-08-29 05:54:26
[2026-08-29 05:54:26,792.792 INFO    ] 2026-08-29 05:54:26
[2026-08-29 05:54:26,820.820 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:54:26,944.944 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:54:27,007.007 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:54:27,138.138 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:54:27,199.199 INFO    ] time= 29/08/2026 05:54:27
[2026-08-29 05:54:27,232.232 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:54:27,273.273 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:54:27,379.379 INFO    ] No existing commands found in stream
[2026-08-29 05:54:32,403.403 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:54:32,405.405 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-08-29 05:54:34,445.445 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:54:34,448.448 INFO    ] Checking for system updates...
[2026-08-29 05:54:34,486.486 INFO    ] 200
[2026-08-29 05:54:34,489.489 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:54:34,546.546 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:54:34,548.548 INFO    ] No update needed
[2026-08-29 05:54:34,551.551 INFO    ] Checking for camera pi updates...
[2026-08-29 05:54:34,585.585 INFO    ] 200
[2026-08-29 05:54:34,587.587 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:54:34,627.627 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:54:34,713.713 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:54:34,716.716 INFO    ] No camera update needed
[2026-08-29 05:54:34,718.718 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:54:34,720.720 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:54:34,726.726 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:54:34,731.731 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:54:36,772.772 INFO    ] ================================================
[2026-08-29 05:54:36,787.787 INFO    ] Launching Daemon at Sat Aug 29 05:54:36 IST 2026
[2026-08-29 05:54:36,798.798 INFO    ] ================================================
[2026-08-29 05:54:37,178.178 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:54:37
[2026-08-29 05:54:37,510.510 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:54:37,730.730 INFO    ] Initializing speech engine...
[2026-08-29 05:54:37,741.741 INFO    ] 2026-08-29 05:54:37
[2026-08-29 05:54:38,012.012 INFO    ] 2026-08-29 05:54:38
[2026-08-29 05:54:38,073.073 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:54:38,302.302 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:54:38,311.311 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:54:38,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:54:38,510.510 INFO    ] time= 29/08/2026 05:54:38
[2026-08-29 05:54:38,559.559 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:54:38,588.588 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:54:38,641.641 INFO    ] No existing commands found in stream
[2026-08-29 05:54:43,653.653 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:54:43,656.656 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-08-29 05:54:44,749.749 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:54:44,751.751 INFO    ] Checking for system updates...
[2026-08-29 05:54:44,772.772 INFO    ] 200
[2026-08-29 05:54:44,774.774 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:54:44,804.804 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:54:44,805.805 INFO    ] No update needed
[2026-08-29 05:54:44,806.806 INFO    ] Checking for camera pi updates...
[2026-08-29 05:54:44,825.825 INFO    ] 200
[2026-08-29 05:54:44,827.827 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:54:44,851.851 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:54:44,947.947 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:54:44,949.949 INFO    ] No camera update needed
[2026-08-29 05:54:44,950.950 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:54:44,951.951 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:54:44,954.954 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:54:44,957.957 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:54:47,995.995 INFO    ] ================================================
[2026-08-29 05:54:47,010.010 INFO    ] Launching Daemon at Sat Aug 29 05:54:47 IST 2026
[2026-08-29 05:54:47,021.021 INFO    ] ================================================
[2026-08-29 05:54:47,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:54:47
[2026-08-29 05:54:47,669.669 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:54:47,803.803 INFO    ] Initializing speech engine...
[2026-08-29 05:54:47,815.815 INFO    ] 2026-08-29 05:54:47
[2026-08-29 05:54:48,024.024 INFO    ] 2026-08-29 05:54:48
[2026-08-29 05:54:48,054.054 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:54:48,178.178 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:54:48,242.242 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:54:48,375.375 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:54:48,436.436 INFO    ] time= 29/08/2026 05:54:48
[2026-08-29 05:54:48,471.471 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:54:48,477.477 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:54:48,550.550 INFO    ] No existing commands found in stream
[2026-08-29 05:54:53,559.559 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:54:53,561.561 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-08-29 05:54:55,686.686 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:54:55,688.688 INFO    ] Checking for system updates...
[2026-08-29 05:54:55,708.708 INFO    ] 200
[2026-08-29 05:54:55,709.709 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:54:55,743.743 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:54:55,745.745 INFO    ] No update needed
[2026-08-29 05:54:55,746.746 INFO    ] Checking for camera pi updates...
[2026-08-29 05:54:55,766.766 INFO    ] 200
[2026-08-29 05:54:55,767.767 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:54:55,790.790 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:54:55,904.904 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:54:55,906.906 INFO    ] No camera update needed
[2026-08-29 05:54:55,907.907 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:54:55,908.908 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:54:55,911.911 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:54:55,914.914 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:54:57,953.953 INFO    ] ================================================
[2026-08-29 05:54:57,968.968 INFO    ] Launching Daemon at Sat Aug 29 05:54:57 IST 2026
[2026-08-29 05:54:57,979.979 INFO    ] ================================================
[2026-08-29 05:54:58,321.321 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:54:58
[2026-08-29 05:54:58,653.653 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:54:58,802.802 INFO    ] Initializing speech engine...
[2026-08-29 05:54:58,807.807 INFO    ] 2026-08-29 05:54:58
[2026-08-29 05:54:59,013.013 INFO    ] 2026-08-29 05:54:58
[2026-08-29 05:54:59,044.044 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:54:59,166.166 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:54:59,178.178 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:54:59,323.323 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:54:59,373.373 INFO    ] time= 29/08/2026 05:54:59
[2026-08-29 05:54:59,405.405 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:54:59,460.460 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:54:59,558.558 INFO    ] No existing commands found in stream
[2026-08-29 05:55:04,569.569 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:55:04,571.571 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-08-29 05:55:06,514.514 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:55:06,516.516 INFO    ] Checking for system updates...
[2026-08-29 05:55:06,536.536 INFO    ] 200
[2026-08-29 05:55:06,538.538 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:55:06,569.569 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:55:06,571.571 INFO    ] No update needed
[2026-08-29 05:55:06,572.572 INFO    ] Checking for camera pi updates...
[2026-08-29 05:55:06,593.593 INFO    ] 200
[2026-08-29 05:55:06,594.594 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:55:06,617.617 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:55:06,798.798 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:55:06,801.801 INFO    ] No camera update needed
[2026-08-29 05:55:06,803.803 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:55:06,806.806 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:55:06,811.811 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:55:06,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:55:08,856.856 INFO    ] ================================================
[2026-08-29 05:55:08,872.872 INFO    ] Launching Daemon at Sat Aug 29 05:55:08 IST 2026
[2026-08-29 05:55:08,883.883 INFO    ] ================================================
[2026-08-29 05:55:09,455.455 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:55:09
[2026-08-29 05:55:09,911.911 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:55:10,155.155 INFO    ] Initializing speech engine...
[2026-08-29 05:55:10,163.163 INFO    ] 2026-08-29 05:55:10
[2026-08-29 05:55:10,425.425 INFO    ] 2026-08-29 05:55:10
[2026-08-29 05:55:10,477.477 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:55:10,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:55:10,711.711 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:55:10,847.847 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:55:10,907.907 INFO    ] time= 29/08/2026 05:55:10
[2026-08-29 05:55:10,961.961 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:55:10,979.979 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:55:11,104.104 INFO    ] No existing commands found in stream
[2026-08-29 05:55:16,134.134 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:55:16,137.137 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-08-29 05:55:17,334.334 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:55:17,336.336 INFO    ] Checking for system updates...
[2026-08-29 05:55:17,357.357 INFO    ] 200
[2026-08-29 05:55:17,359.359 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:55:17,388.388 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:55:17,390.390 INFO    ] No update needed
[2026-08-29 05:55:17,391.391 INFO    ] Checking for camera pi updates...
[2026-08-29 05:55:17,410.410 INFO    ] 200
[2026-08-29 05:55:17,411.411 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:55:17,436.436 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:55:17,538.538 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:55:17,540.540 INFO    ] No camera update needed
[2026-08-29 05:55:17,543.543 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:55:17,545.545 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:55:17,550.550 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:55:17,556.556 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:55:19,596.596 INFO    ] ================================================
[2026-08-29 05:55:19,611.611 INFO    ] Launching Daemon at Sat Aug 29 05:55:19 IST 2026
[2026-08-29 05:55:19,623.623 INFO    ] ================================================
[2026-08-29 05:55:20,282.282 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:55:20
[2026-08-29 05:55:20,757.757 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:55:20,909.909 INFO    ] Initializing speech engine...
[2026-08-29 05:55:20,915.915 INFO    ] 2026-08-29 05:55:20
[2026-08-29 05:55:21,125.125 INFO    ] 2026-08-29 05:55:21
[2026-08-29 05:55:21,154.154 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:55:21,282.282 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:55:21,340.340 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:55:21,488.488 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:55:21,550.550 INFO    ] time= 29/08/2026 05:55:21
[2026-08-29 05:55:21,573.573 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:55:21,580.580 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:55:21,645.645 INFO    ] No existing commands found in stream
[2026-08-29 05:55:26,656.656 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:55:26,659.659 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-08-29 05:55:27,648.648 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:55:27,650.650 INFO    ] Checking for system updates...
[2026-08-29 05:55:27,687.687 INFO    ] 200
[2026-08-29 05:55:27,689.689 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:55:27,742.742 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:55:27,744.744 INFO    ] No update needed
[2026-08-29 05:55:27,746.746 INFO    ] Checking for camera pi updates...
[2026-08-29 05:55:27,785.785 INFO    ] 200
[2026-08-29 05:55:27,787.787 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:55:27,821.821 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:55:27,922.922 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:55:27,924.924 INFO    ] No camera update needed
[2026-08-29 05:55:27,925.925 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:55:27,926.926 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:55:27,929.929 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:55:27,932.932 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:55:29,970.970 INFO    ] ================================================
[2026-08-29 05:55:29,987.987 INFO    ] Launching Daemon at Sat Aug 29 05:55:29 IST 2026
[2026-08-29 05:55:30,997.997 INFO    ] ================================================
[2026-08-29 05:55:30,340.340 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:55:30
[2026-08-29 05:55:30,758.758 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:55:31,019.019 INFO    ] Initializing speech engine...
[2026-08-29 05:55:31,032.032 INFO    ] 2026-08-29 05:55:31
[2026-08-29 05:55:31,321.321 INFO    ] 2026-08-29 05:55:31
[2026-08-29 05:55:31,356.356 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:55:31,498.498 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:55:31,509.509 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:55:31,641.641 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:55:31,645.645 INFO    ] time= 29/08/2026 05:55:31
[2026-08-29 05:55:31,650.650 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:55:31,672.672 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:55:31,779.779 INFO    ] No existing commands found in stream
[2026-08-29 05:55:36,790.790 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:55:36,793.793 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-08-29 05:55:37,210.210 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:55:37,211.211 INFO    ] Checking for system updates...
[2026-08-29 05:55:37,232.232 INFO    ] 200
[2026-08-29 05:55:37,233.233 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:55:37,263.263 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:55:37,264.264 INFO    ] No update needed
[2026-08-29 05:55:37,265.265 INFO    ] Checking for camera pi updates...
[2026-08-29 05:55:37,286.286 INFO    ] 200
[2026-08-29 05:55:37,287.287 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:55:37,311.311 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:55:37,419.419 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:55:37,420.420 INFO    ] No camera update needed
[2026-08-29 05:55:37,422.422 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:55:37,423.423 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:55:37,426.426 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:55:37,428.428 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:55:39,467.467 INFO    ] ================================================
[2026-08-29 05:55:39,483.483 INFO    ] Launching Daemon at Sat Aug 29 05:55:39 IST 2026
[2026-08-29 05:55:39,494.494 INFO    ] ================================================
[2026-08-29 05:55:39,845.845 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:55:39
[2026-08-29 05:55:40,185.185 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:55:40,340.340 INFO    ] Initializing speech engine...
[2026-08-29 05:55:40,345.345 INFO    ] 2026-08-29 05:55:40
[2026-08-29 05:55:40,551.551 INFO    ] 2026-08-29 05:55:40
[2026-08-29 05:55:40,580.580 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:55:40,703.703 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:55:40,765.765 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:55:40,909.909 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:55:40,970.970 INFO    ] time= 29/08/2026 05:55:40
[2026-08-29 05:55:40,994.994 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:55:41,001.001 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:55:41,068.068 INFO    ] No existing commands found in stream
[2026-08-29 05:55:46,083.083 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:55:46,086.086 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-08-29 05:55:49,670.670 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:55:49,671.671 INFO    ] Checking for system updates...
[2026-08-29 05:55:49,692.692 INFO    ] 200
[2026-08-29 05:55:49,694.694 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:55:49,727.727 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:55:49,728.728 INFO    ] No update needed
[2026-08-29 05:55:49,730.730 INFO    ] Checking for camera pi updates...
[2026-08-29 05:55:49,752.752 INFO    ] 200
[2026-08-29 05:55:49,753.753 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:55:49,776.776 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:55:49,855.855 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:55:49,856.856 INFO    ] No camera update needed
[2026-08-29 05:55:49,857.857 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:55:49,859.859 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:55:49,862.862 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:55:49,865.865 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:55:51,905.905 INFO    ] ================================================
[2026-08-29 05:55:51,920.920 INFO    ] Launching Daemon at Sat Aug 29 05:55:51 IST 2026
[2026-08-29 05:55:51,931.931 INFO    ] ================================================
[2026-08-29 05:55:52,304.304 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:55:52
[2026-08-29 05:55:52,646.646 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:55:52,798.798 INFO    ] Initializing speech engine...
[2026-08-29 05:55:52,804.804 INFO    ] 2026-08-29 05:55:52
[2026-08-29 05:55:53,011.011 INFO    ] 2026-08-29 05:55:52
[2026-08-29 05:55:53,041.041 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:55:53,200.200 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:55:53,229.229 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:55:53,378.378 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:55:53,436.436 INFO    ] time= 29/08/2026 05:55:53
[2026-08-29 05:55:53,459.459 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:55:53,466.466 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:55:53,533.533 INFO    ] No existing commands found in stream
[2026-08-29 05:55:58,542.542 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:55:58,546.546 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-08-29 05:55:59,765.765 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:55:59,766.766 INFO    ] Checking for system updates...
[2026-08-29 05:55:59,787.787 INFO    ] 200
[2026-08-29 05:55:59,789.789 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:55:59,822.822 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:55:59,823.823 INFO    ] No update needed
[2026-08-29 05:55:59,825.825 INFO    ] Checking for camera pi updates...
[2026-08-29 05:55:59,846.846 INFO    ] 200
[2026-08-29 05:55:59,848.848 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:55:59,873.873 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:55:59,959.959 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:55:59,960.960 INFO    ] No camera update needed
[2026-08-29 05:55:59,962.962 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:55:59,963.963 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:55:59,967.967 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:55:59,969.969 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:56:02,012.012 INFO    ] ================================================
[2026-08-29 05:56:02,041.041 INFO    ] Launching Daemon at Sat Aug 29 05:56:02 IST 2026
[2026-08-29 05:56:02,058.058 INFO    ] ================================================
[2026-08-29 05:56:02,858.858 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:56:02
[2026-08-29 05:56:03,577.577 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:56:03,848.848 INFO    ] Initializing speech engine...
[2026-08-29 05:56:03,857.857 INFO    ] 2026-08-29 05:56:03
[2026-08-29 05:56:04,110.110 INFO    ] 2026-08-29 05:56:04
[2026-08-29 05:56:04,149.149 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:56:04,324.324 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:56:04,338.338 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:56:04,483.483 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:56:04,490.490 INFO    ] time= 29/08/2026 05:56:04
[2026-08-29 05:56:04,498.498 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:56:04,551.551 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:56:04,675.675 INFO    ] No existing commands found in stream
[2026-08-29 05:56:09,695.695 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:56:09,698.698 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-08-29 05:56:12,532.532 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 05:56:12,534.534 INFO    ] Checking for system updates...
[2026-08-29 05:56:12,555.555 INFO    ] 200
[2026-08-29 05:56:12,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:56:12,588.588 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:56:12,590.590 INFO    ] No update needed
[2026-08-29 05:56:12,591.591 INFO    ] Checking for camera pi updates...
[2026-08-29 05:56:12,612.612 INFO    ] 200
[2026-08-29 05:56:12,613.613 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:56:12,636.636 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:56:12,748.748 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:56:12,750.750 INFO    ] No camera update needed
[2026-08-29 05:56:12,751.751 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:56:12,752.752 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:56:12,755.755 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:56:12,758.758 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:56:14,799.799 INFO    ] ================================================
[2026-08-29 05:56:14,815.815 INFO    ] Launching Daemon at Sat Aug 29 05:56:14 IST 2026
[2026-08-29 05:56:14,827.827 INFO    ] ================================================
[2026-08-29 05:56:15,154.154 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:56:15
[2026-08-29 05:56:15,471.471 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:56:15,614.614 INFO    ] Initializing speech engine...
[2026-08-29 05:56:15,619.619 INFO    ] 2026-08-29 05:56:15
[2026-08-29 05:56:15,804.804 INFO    ] 2026-08-29 05:56:15
[2026-08-29 05:56:15,860.860 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:56:16,003.003 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:56:16,015.015 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:56:16,164.164 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:56:16,184.184 INFO    ] time= 29/08/2026 05:56:16
[2026-08-29 05:56:16,231.231 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:56:16,247.247 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:56:16,361.361 INFO    ] No existing commands found in stream
[2026-08-29 05:56:21,370.370 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:56:21,374.374 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-08-29 05:56:23,764.764 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:56:23,766.766 INFO    ] Checking for system updates...
[2026-08-29 05:56:23,787.787 INFO    ] 200
[2026-08-29 05:56:23,788.788 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:56:23,818.818 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:56:23,819.819 INFO    ] No update needed
[2026-08-29 05:56:23,820.820 INFO    ] Checking for camera pi updates...
[2026-08-29 05:56:23,841.841 INFO    ] 200
[2026-08-29 05:56:23,842.842 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:56:23,867.867 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:56:23,971.971 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:56:23,972.972 INFO    ] No camera update needed
[2026-08-29 05:56:23,973.973 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:56:23,975.975 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:56:23,977.977 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:56:23,980.980 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:56:26,018.018 INFO    ] ================================================
[2026-08-29 05:56:26,034.034 INFO    ] Launching Daemon at Sat Aug 29 05:56:26 IST 2026
[2026-08-29 05:56:26,046.046 INFO    ] ================================================
[2026-08-29 05:56:26,381.381 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:56:26
[2026-08-29 05:56:26,694.694 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:56:26,939.939 INFO    ] Initializing speech engine...
[2026-08-29 05:56:26,947.947 INFO    ] 2026-08-29 05:56:26
[2026-08-29 05:56:27,256.256 INFO    ] 2026-08-29 05:56:27
[2026-08-29 05:56:27,284.284 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:56:27,448.448 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:56:27,455.455 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:56:27,592.592 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:56:27,602.602 INFO    ] time= 29/08/2026 05:56:27
[2026-08-29 05:56:27,607.607 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:56:27,627.627 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:56:27,721.721 INFO    ] No existing commands found in stream
[2026-08-29 05:56:32,745.745 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:56:32,748.748 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-08-29 05:56:33,800.800 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:56:33,802.802 INFO    ] Checking for system updates...
[2026-08-29 05:56:33,843.843 INFO    ] 200
[2026-08-29 05:56:33,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:56:33,898.898 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:56:33,900.900 INFO    ] No update needed
[2026-08-29 05:56:33,903.903 INFO    ] Checking for camera pi updates...
[2026-08-29 05:56:33,941.941 INFO    ] 200
[2026-08-29 05:56:33,944.944 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:56:33,990.990 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:56:34,097.097 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:56:34,100.100 INFO    ] No camera update needed
[2026-08-29 05:56:34,102.102 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:56:34,105.105 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:56:34,110.110 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:56:34,115.115 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:56:36,155.155 INFO    ] ================================================
[2026-08-29 05:56:36,170.170 INFO    ] Launching Daemon at Sat Aug 29 05:56:36 IST 2026
[2026-08-29 05:56:36,181.181 INFO    ] ================================================
[2026-08-29 05:56:36,539.539 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:56:36
[2026-08-29 05:56:36,886.886 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:56:37,034.034 INFO    ] Initializing speech engine...
[2026-08-29 05:56:37,043.043 INFO    ] 2026-08-29 05:56:37
[2026-08-29 05:56:37,227.227 INFO    ] 2026-08-29 05:56:37
[2026-08-29 05:56:37,306.306 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:56:37,459.459 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:56:37,464.464 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:56:37,595.595 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:56:37,622.622 INFO    ] time= 29/08/2026 05:56:37
[2026-08-29 05:56:37,676.676 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:56:37,725.725 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:56:37,789.789 INFO    ] No existing commands found in stream
[2026-08-29 05:56:42,819.819 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:56:42,821.821 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-08-29 05:56:43,808.808 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:56:43,809.809 INFO    ] Checking for system updates...
[2026-08-29 05:56:43,830.830 INFO    ] 200
[2026-08-29 05:56:43,832.832 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:56:43,862.862 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:56:43,863.863 INFO    ] No update needed
[2026-08-29 05:56:43,865.865 INFO    ] Checking for camera pi updates...
[2026-08-29 05:56:43,885.885 INFO    ] 200
[2026-08-29 05:56:43,887.887 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:56:43,911.911 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:56:44,011.011 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:56:44,013.013 INFO    ] No camera update needed
[2026-08-29 05:56:44,014.014 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:56:44,015.015 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:56:44,018.018 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:56:44,021.021 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:56:46,061.061 INFO    ] ================================================
[2026-08-29 05:56:46,077.077 INFO    ] Launching Daemon at Sat Aug 29 05:56:46 IST 2026
[2026-08-29 05:56:46,088.088 INFO    ] ================================================
[2026-08-29 05:56:46,428.428 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:56:46
[2026-08-29 05:56:46,747.747 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:56:47,010.010 INFO    ] Initializing speech engine...
[2026-08-29 05:56:47,015.015 INFO    ] 2026-08-29 05:56:47
[2026-08-29 05:56:47,277.277 INFO    ] 2026-08-29 05:56:47
[2026-08-29 05:56:47,308.308 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:56:47,499.499 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:56:47,557.557 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:56:47,696.696 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:56:47,744.744 INFO    ] time= 29/08/2026 05:56:47
[2026-08-29 05:56:47,808.808 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:56:47,831.831 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:56:47,956.956 INFO    ] No existing commands found in stream
[2026-08-29 05:56:52,987.987 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:56:52,995.995 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-08-29 05:56:54,961.961 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:56:54,962.962 INFO    ] Checking for system updates...
[2026-08-29 05:56:54,983.983 INFO    ] 200
[2026-08-29 05:56:54,984.984 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:56:55,015.015 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:56:55,016.016 INFO    ] No update needed
[2026-08-29 05:56:55,017.017 INFO    ] Checking for camera pi updates...
[2026-08-29 05:56:55,038.038 INFO    ] 200
[2026-08-29 05:56:55,039.039 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:56:55,079.079 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:56:55,181.181 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:56:55,184.184 INFO    ] No camera update needed
[2026-08-29 05:56:55,186.186 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:56:55,188.188 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:56:55,194.194 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:56:55,198.198 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:56:57,238.238 INFO    ] ================================================
[2026-08-29 05:56:57,254.254 INFO    ] Launching Daemon at Sat Aug 29 05:56:57 IST 2026
[2026-08-29 05:56:57,264.264 INFO    ] ================================================
[2026-08-29 05:56:57,940.940 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:56:57
[2026-08-29 05:56:58,403.403 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:56:58,559.559 INFO    ] Initializing speech engine...
[2026-08-29 05:56:58,563.563 INFO    ] 2026-08-29 05:56:58
[2026-08-29 05:56:58,781.781 INFO    ] 2026-08-29 05:56:58
[2026-08-29 05:56:58,867.867 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:56:59,023.023 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:56:59,029.029 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:56:59,162.162 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:56:59,213.213 INFO    ] time= 29/08/2026 05:56:59
[2026-08-29 05:56:59,257.257 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:56:59,296.296 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:56:59,355.355 INFO    ] No existing commands found in stream
[2026-08-29 05:57:04,387.387 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:57:04,390.390 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-08-29 05:57:08,293.293 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:57:08,295.295 INFO    ] Checking for system updates...
[2026-08-29 05:57:08,317.317 INFO    ] 200
[2026-08-29 05:57:08,318.318 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:57:08,350.350 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:57:08,352.352 INFO    ] No update needed
[2026-08-29 05:57:08,353.353 INFO    ] Checking for camera pi updates...
[2026-08-29 05:57:08,373.373 INFO    ] 200
[2026-08-29 05:57:08,374.374 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:57:08,398.398 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:57:08,574.574 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:57:08,576.576 INFO    ] No camera update needed
[2026-08-29 05:57:08,577.577 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:57:08,578.578 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:57:08,581.581 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:57:08,584.584 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:57:10,622.622 INFO    ] ================================================
[2026-08-29 05:57:10,637.637 INFO    ] Launching Daemon at Sat Aug 29 05:57:10 IST 2026
[2026-08-29 05:57:10,648.648 INFO    ] ================================================
[2026-08-29 05:57:11,016.016 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:57:11
[2026-08-29 05:57:11,328.328 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:57:11,460.460 INFO    ] Initializing speech engine...
[2026-08-29 05:57:11,474.474 INFO    ] 2026-08-29 05:57:11
[2026-08-29 05:57:11,670.670 INFO    ] 2026-08-29 05:57:11
[2026-08-29 05:57:11,705.705 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:57:11,871.871 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:57:11,878.878 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:57:12,007.007 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:57:12,015.015 INFO    ] time= 29/08/2026 05:57:12
[2026-08-29 05:57:12,022.022 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:57:12,047.047 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:57:12,174.174 INFO    ] No existing commands found in stream
[2026-08-29 05:57:17,199.199 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:57:17,202.202 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-08-29 05:57:20,712.712 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:57:20,713.713 INFO    ] Checking for system updates...
[2026-08-29 05:57:20,735.735 INFO    ] 200
[2026-08-29 05:57:20,737.737 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:57:20,766.766 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:57:20,768.768 INFO    ] No update needed
[2026-08-29 05:57:20,769.769 INFO    ] Checking for camera pi updates...
[2026-08-29 05:57:20,788.788 INFO    ] 200
[2026-08-29 05:57:20,790.790 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:57:20,813.813 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:57:20,921.921 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:57:20,922.922 INFO    ] No camera update needed
[2026-08-29 05:57:20,923.923 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:57:20,924.924 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:57:20,927.927 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:57:20,930.930 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:57:22,968.968 INFO    ] ================================================
[2026-08-29 05:57:22,983.983 INFO    ] Launching Daemon at Sat Aug 29 05:57:22 IST 2026
[2026-08-29 05:57:22,993.993 INFO    ] ================================================
[2026-08-29 05:57:23,325.325 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:57:23
[2026-08-29 05:57:23,688.688 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:57:23,962.962 INFO    ] Initializing speech engine...
[2026-08-29 05:57:23,971.971 INFO    ] 2026-08-29 05:57:23
[2026-08-29 05:57:24,227.227 INFO    ] 2026-08-29 05:57:24
[2026-08-29 05:57:24,287.287 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:57:24,454.454 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:57:24,511.511 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:57:24,649.649 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:57:24,707.707 INFO    ] time= 29/08/2026 05:57:24
[2026-08-29 05:57:24,766.766 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:57:24,784.784 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:57:24,842.842 INFO    ] No existing commands found in stream
[2026-08-29 05:57:29,862.862 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:57:29,865.865 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-08-29 05:57:33,406.406 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:57:33,409.409 INFO    ] Checking for system updates...
[2026-08-29 05:57:33,445.445 INFO    ] 200
[2026-08-29 05:57:33,447.447 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:57:33,506.506 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:57:33,508.508 INFO    ] No update needed
[2026-08-29 05:57:33,511.511 INFO    ] Checking for camera pi updates...
[2026-08-29 05:57:33,547.547 INFO    ] 200
[2026-08-29 05:57:33,550.550 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:57:33,595.595 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:57:33,689.689 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:57:33,692.692 INFO    ] No camera update needed
[2026-08-29 05:57:33,694.694 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:57:33,696.696 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:57:33,702.702 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:57:33,707.707 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:57:35,748.748 INFO    ] ================================================
[2026-08-29 05:57:35,764.764 INFO    ] Launching Daemon at Sat Aug 29 05:57:35 IST 2026
[2026-08-29 05:57:35,774.774 INFO    ] ================================================
[2026-08-29 05:57:36,297.297 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:57:36
[2026-08-29 05:57:36,896.896 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:57:37,171.171 INFO    ] Initializing speech engine...
[2026-08-29 05:57:37,180.180 INFO    ] 2026-08-29 05:57:37
[2026-08-29 05:57:37,443.443 INFO    ] 2026-08-29 05:57:37
[2026-08-29 05:57:37,473.473 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:57:37,637.637 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:57:37,662.662 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:57:37,791.791 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:57:37,799.799 INFO    ] time= 29/08/2026 05:57:37
[2026-08-29 05:57:37,805.805 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:57:37,851.851 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:57:37,966.966 INFO    ] No existing commands found in stream
[2026-08-29 05:57:42,996.996 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:57:42,999.999 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-08-29 05:57:47,243.243 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:57:47,245.245 INFO    ] Checking for system updates...
[2026-08-29 05:57:47,267.267 INFO    ] 200
[2026-08-29 05:57:47,268.268 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:57:47,300.300 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:57:47,301.301 INFO    ] No update needed
[2026-08-29 05:57:47,303.303 INFO    ] Checking for camera pi updates...
[2026-08-29 05:57:47,323.323 INFO    ] 200
[2026-08-29 05:57:47,324.324 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:57:47,347.347 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:57:47,425.425 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:57:47,426.426 INFO    ] No camera update needed
[2026-08-29 05:57:47,428.428 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:57:47,429.429 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:57:47,432.432 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:57:47,434.434 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:57:49,472.472 INFO    ] ================================================
[2026-08-29 05:57:49,487.487 INFO    ] Launching Daemon at Sat Aug 29 05:57:49 IST 2026
[2026-08-29 05:57:49,498.498 INFO    ] ================================================
[2026-08-29 05:57:49,853.853 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:57:49
[2026-08-29 05:57:50,164.164 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:57:50,306.306 INFO    ] Initializing speech engine...
[2026-08-29 05:57:50,310.310 INFO    ] 2026-08-29 05:57:50
[2026-08-29 05:57:50,522.522 INFO    ] 2026-08-29 05:57:50
[2026-08-29 05:57:50,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:57:50,752.752 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:57:50,761.761 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:57:50,895.895 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:57:50,940.940 INFO    ] time= 29/08/2026 05:57:50
[2026-08-29 05:57:50,994.994 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:57:51,026.026 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:57:51,080.080 INFO    ] No existing commands found in stream
[2026-08-29 05:57:56,091.091 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:57:56,095.095 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-08-29 05:57:58,995.995 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:57:58,996.996 INFO    ] Checking for system updates...
[2026-08-29 05:57:59,018.018 INFO    ] 200
[2026-08-29 05:57:59,019.019 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:57:59,051.051 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:57:59,052.052 INFO    ] No update needed
[2026-08-29 05:57:59,054.054 INFO    ] Checking for camera pi updates...
[2026-08-29 05:57:59,073.073 INFO    ] 200
[2026-08-29 05:57:59,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:57:59,099.099 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:57:59,174.174 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:57:59,176.176 INFO    ] No camera update needed
[2026-08-29 05:57:59,177.177 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:57:59,178.178 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:57:59,181.181 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:57:59,184.184 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:58:01,224.224 INFO    ] ================================================
[2026-08-29 05:58:01,244.244 INFO    ] Launching Daemon at Sat Aug 29 05:58:01 IST 2026
[2026-08-29 05:58:01,255.255 INFO    ] ================================================
[2026-08-29 05:58:01,961.961 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:58:01
[2026-08-29 05:58:02,612.612 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:58:02,976.976 INFO    ] Initializing speech engine...
[2026-08-29 05:58:02,988.988 INFO    ] 2026-08-29 05:58:02
[2026-08-29 05:58:03,273.273 INFO    ] 2026-08-29 05:58:03
[2026-08-29 05:58:03,310.310 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:58:03,456.456 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:58:03,462.462 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:58:03,614.614 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:58:03,624.624 INFO    ] time= 29/08/2026 05:58:03
[2026-08-29 05:58:03,632.632 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:58:03,655.655 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:58:03,711.711 INFO    ] No existing commands found in stream
[2026-08-29 05:58:08,724.724 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:58:08,726.726 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-08-29 05:58:11,468.468 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 05:58:11,469.469 INFO    ] Checking for system updates...
[2026-08-29 05:58:11,491.491 INFO    ] 200
[2026-08-29 05:58:11,492.492 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:58:11,524.524 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:58:11,526.526 INFO    ] No update needed
[2026-08-29 05:58:11,527.527 INFO    ] Checking for camera pi updates...
[2026-08-29 05:58:11,546.546 INFO    ] 200
[2026-08-29 05:58:11,547.547 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:58:11,570.570 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:58:11,686.686 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:58:11,687.687 INFO    ] No camera update needed
[2026-08-29 05:58:11,689.689 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:58:11,690.690 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:58:11,693.693 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:58:11,696.696 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:58:13,733.733 INFO    ] ================================================
[2026-08-29 05:58:13,748.748 INFO    ] Launching Daemon at Sat Aug 29 05:58:13 IST 2026
[2026-08-29 05:58:13,759.759 INFO    ] ================================================
[2026-08-29 05:58:14,278.278 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:58:14
[2026-08-29 05:58:14,860.860 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:58:15,130.130 INFO    ] Initializing speech engine...
[2026-08-29 05:58:15,138.138 INFO    ] 2026-08-29 05:58:15
[2026-08-29 05:58:15,391.391 INFO    ] 2026-08-29 05:58:15
[2026-08-29 05:58:15,426.426 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:58:15,708.708 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:58:15,714.714 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:58:15,906.906 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:58:15,950.950 INFO    ] time= 29/08/2026 05:58:15
[2026-08-29 05:58:15,956.956 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:58:15,973.973 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:58:16,095.095 INFO    ] No existing commands found in stream
[2026-08-29 05:58:21,114.114 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:58:21,116.116 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-08-29 05:58:23,106.106 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:58:23,108.108 INFO    ] Checking for system updates...
[2026-08-29 05:58:23,129.129 INFO    ] 200
[2026-08-29 05:58:23,130.130 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:58:23,163.163 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:58:23,164.164 INFO    ] No update needed
[2026-08-29 05:58:23,165.165 INFO    ] Checking for camera pi updates...
[2026-08-29 05:58:23,184.184 INFO    ] 200
[2026-08-29 05:58:23,186.186 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:58:23,210.210 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:58:23,293.293 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:58:23,294.294 INFO    ] No camera update needed
[2026-08-29 05:58:23,295.295 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:58:23,296.296 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:58:23,299.299 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:58:23,302.302 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:58:25,340.340 INFO    ] ================================================
[2026-08-29 05:58:25,355.355 INFO    ] Launching Daemon at Sat Aug 29 05:58:25 IST 2026
[2026-08-29 05:58:25,366.366 INFO    ] ================================================
[2026-08-29 05:58:25,716.716 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:58:25
[2026-08-29 05:58:26,031.031 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:58:26,167.167 INFO    ] Initializing speech engine...
[2026-08-29 05:58:26,179.179 INFO    ] 2026-08-29 05:58:26
[2026-08-29 05:58:26,370.370 INFO    ] 2026-08-29 05:58:26
[2026-08-29 05:58:26,448.448 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:58:26,615.615 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:58:26,624.624 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:58:26,778.778 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:58:26,785.785 INFO    ] time= 29/08/2026 05:58:26
[2026-08-29 05:58:26,829.829 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:58:26,878.878 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:58:26,958.958 INFO    ] No existing commands found in stream
[2026-08-29 05:58:31,970.970 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:58:31,973.973 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-08-29 05:58:32,861.861 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:58:32,863.863 INFO    ] Checking for system updates...
[2026-08-29 05:58:32,904.904 INFO    ] 200
[2026-08-29 05:58:32,906.906 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:58:32,959.959 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:58:32,961.961 INFO    ] No update needed
[2026-08-29 05:58:32,964.964 INFO    ] Checking for camera pi updates...
[2026-08-29 05:58:33,002.002 INFO    ] 200
[2026-08-29 05:58:33,004.004 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:58:33,050.050 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:58:33,129.129 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:58:33,131.131 INFO    ] No camera update needed
[2026-08-29 05:58:33,134.134 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:58:33,136.136 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:58:33,141.141 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:58:33,146.146 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:58:35,185.185 INFO    ] ================================================
[2026-08-29 05:58:35,200.200 INFO    ] Launching Daemon at Sat Aug 29 05:58:35 IST 2026
[2026-08-29 05:58:35,211.211 INFO    ] ================================================
[2026-08-29 05:58:35,560.560 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:58:35
[2026-08-29 05:58:35,873.873 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:58:36,015.015 INFO    ] Initializing speech engine...
[2026-08-29 05:58:36,020.020 INFO    ] 2026-08-29 05:58:36
[2026-08-29 05:58:36,224.224 INFO    ] 2026-08-29 05:58:36
[2026-08-29 05:58:36,252.252 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:58:36,429.429 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:58:36,455.455 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:58:36,607.607 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:58:36,616.616 INFO    ] time= 29/08/2026 05:58:36
[2026-08-29 05:58:36,624.624 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:58:36,639.639 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:58:36,744.744 INFO    ] No existing commands found in stream
[2026-08-29 05:58:41,774.774 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:58:41,777.777 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-08-29 05:58:42,213.213 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:58:42,215.215 INFO    ] Checking for system updates...
[2026-08-29 05:58:42,235.235 INFO    ] 200
[2026-08-29 05:58:42,236.236 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:58:42,279.279 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:58:42,280.280 INFO    ] No update needed
[2026-08-29 05:58:42,281.281 INFO    ] Checking for camera pi updates...
[2026-08-29 05:58:42,301.301 INFO    ] 200
[2026-08-29 05:58:42,303.303 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:58:42,326.326 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:58:42,410.410 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:58:42,411.411 INFO    ] No camera update needed
[2026-08-29 05:58:42,412.412 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:58:42,414.414 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:58:42,417.417 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:58:42,419.419 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:58:44,459.459 INFO    ] ================================================
[2026-08-29 05:58:44,475.475 INFO    ] Launching Daemon at Sat Aug 29 05:58:44 IST 2026
[2026-08-29 05:58:44,486.486 INFO    ] ================================================
[2026-08-29 05:58:44,840.840 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:58:44
[2026-08-29 05:58:45,181.181 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:58:45,329.329 INFO    ] Initializing speech engine...
[2026-08-29 05:58:45,330.330 INFO    ] 2026-08-29 05:58:45
[2026-08-29 05:58:45,547.547 INFO    ] 2026-08-29 05:58:45
[2026-08-29 05:58:45,576.576 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:58:45,734.734 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:58:45,763.763 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:58:45,930.930 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:58:45,974.974 INFO    ] time= 29/08/2026 05:58:45
[2026-08-29 05:58:45,990.990 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:58:45,997.997 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:58:46,064.064 INFO    ] No existing commands found in stream
[2026-08-29 05:58:51,078.078 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:58:51,081.081 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-08-29 05:58:55,260.260 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:58:55,261.261 INFO    ] Checking for system updates...
[2026-08-29 05:58:55,285.285 INFO    ] 200
[2026-08-29 05:58:55,287.287 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:58:55,320.320 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:58:55,322.322 INFO    ] No update needed
[2026-08-29 05:58:55,323.323 INFO    ] Checking for camera pi updates...
[2026-08-29 05:58:55,346.346 INFO    ] 200
[2026-08-29 05:58:55,347.347 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:58:55,372.372 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:58:55,450.450 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:58:55,452.452 INFO    ] No camera update needed
[2026-08-29 05:58:55,453.453 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:58:55,455.455 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:58:55,458.458 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:58:55,461.461 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:58:57,499.499 INFO    ] ================================================
[2026-08-29 05:58:57,514.514 INFO    ] Launching Daemon at Sat Aug 29 05:58:57 IST 2026
[2026-08-29 05:58:57,526.526 INFO    ] ================================================
[2026-08-29 05:58:57,890.890 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:58:57
[2026-08-29 05:58:58,384.384 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:58:58,654.654 INFO    ] Initializing speech engine...
[2026-08-29 05:58:58,663.663 INFO    ] 2026-08-29 05:58:58
[2026-08-29 05:58:58,915.915 INFO    ] 2026-08-29 05:58:58
[2026-08-29 05:58:58,977.977 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:58:59,120.120 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:58:59,132.132 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:58:59,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:58:59,281.281 INFO    ] time= 29/08/2026 05:58:59
[2026-08-29 05:58:59,287.287 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:58:59,317.317 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:58:59,437.437 INFO    ] No existing commands found in stream
[2026-08-29 05:59:04,467.467 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:59:04,470.470 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-08-29 05:59:06,320.320 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 05:59:06,321.321 INFO    ] Checking for system updates...
[2026-08-29 05:59:06,342.342 INFO    ] 200
[2026-08-29 05:59:06,343.343 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:59:06,375.375 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:59:06,376.376 INFO    ] No update needed
[2026-08-29 05:59:06,377.377 INFO    ] Checking for camera pi updates...
[2026-08-29 05:59:06,397.397 INFO    ] 200
[2026-08-29 05:59:06,399.399 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:59:06,423.423 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:59:06,475.475 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:59:06,476.476 INFO    ] No camera update needed
[2026-08-29 05:59:06,478.478 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:59:06,479.479 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:59:06,482.482 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:59:06,485.485 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:59:08,523.523 INFO    ] ================================================
[2026-08-29 05:59:08,539.539 INFO    ] Launching Daemon at Sat Aug 29 05:59:08 IST 2026
[2026-08-29 05:59:08,550.550 INFO    ] ================================================
[2026-08-29 05:59:08,879.879 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:59:08
[2026-08-29 05:59:09,190.190 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:59:09,323.323 INFO    ] Initializing speech engine...
[2026-08-29 05:59:09,336.336 INFO    ] 2026-08-29 05:59:09
[2026-08-29 05:59:09,544.544 INFO    ] 2026-08-29 05:59:09
[2026-08-29 05:59:09,574.574 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:59:09,721.721 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:59:09,730.730 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:59:09,895.895 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:59:09,934.934 INFO    ] time= 29/08/2026 05:59:09
[2026-08-29 05:59:09,940.940 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:59:09,960.960 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:59:10,066.066 INFO    ] No existing commands found in stream
[2026-08-29 05:59:15,091.091 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:59:15,094.094 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-08-29 05:59:18,797.797 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:59:18,798.798 INFO    ] Checking for system updates...
[2026-08-29 05:59:18,818.818 INFO    ] 200
[2026-08-29 05:59:18,820.820 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:59:18,851.851 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:59:18,853.853 INFO    ] No update needed
[2026-08-29 05:59:18,854.854 INFO    ] Checking for camera pi updates...
[2026-08-29 05:59:18,873.873 INFO    ] 200
[2026-08-29 05:59:18,875.875 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:59:18,897.897 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:59:19,109.109 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:59:19,111.111 INFO    ] No camera update needed
[2026-08-29 05:59:19,114.114 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:59:19,116.116 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:59:19,121.121 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:59:19,126.126 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:59:21,167.167 INFO    ] ================================================
[2026-08-29 05:59:21,183.183 INFO    ] Launching Daemon at Sat Aug 29 05:59:21 IST 2026
[2026-08-29 05:59:21,194.194 INFO    ] ================================================
[2026-08-29 05:59:21,830.830 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:59:21
[2026-08-29 05:59:22,349.349 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:59:22,501.501 INFO    ] Initializing speech engine...
[2026-08-29 05:59:22,508.508 INFO    ] 2026-08-29 05:59:22
[2026-08-29 05:59:22,704.704 INFO    ] 2026-08-29 05:59:22
[2026-08-29 05:59:22,732.732 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:59:22,893.893 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:59:22,899.899 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:59:23,030.030 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:59:23,049.049 INFO    ] time= 29/08/2026 05:59:23
[2026-08-29 05:59:23,077.077 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:59:23,085.085 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:59:23,187.187 INFO    ] No existing commands found in stream
[2026-08-29 05:59:28,208.208 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:59:28,218.218 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-08-29 05:59:31,695.695 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 05:59:31,697.697 INFO    ] Checking for system updates...
[2026-08-29 05:59:31,722.722 INFO    ] 200
[2026-08-29 05:59:31,724.724 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:59:31,762.762 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:59:31,763.763 INFO    ] No update needed
[2026-08-29 05:59:31,765.765 INFO    ] Checking for camera pi updates...
[2026-08-29 05:59:31,787.787 INFO    ] 200
[2026-08-29 05:59:31,790.790 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:59:31,837.837 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:59:31,919.919 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 05:59:31,922.922 INFO    ] No camera update needed
[2026-08-29 05:59:31,925.925 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:59:31,927.927 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:59:31,933.933 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:59:31,939.939 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:59:33,980.980 INFO    ] ================================================
[2026-08-29 05:59:34,995.995 INFO    ] Launching Daemon at Sat Aug 29 05:59:33 IST 2026
[2026-08-29 05:59:34,007.007 INFO    ] ================================================
[2026-08-29 05:59:34,573.573 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:59:34
[2026-08-29 05:59:35,054.054 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:59:35,192.192 INFO    ] Initializing speech engine...
[2026-08-29 05:59:35,202.202 INFO    ] 2026-08-29 05:59:35
[2026-08-29 05:59:35,409.409 INFO    ] 2026-08-29 05:59:35
[2026-08-29 05:59:35,490.490 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:59:35,641.641 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:59:35,648.648 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:59:35,777.777 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:59:35,804.804 INFO    ] time= 29/08/2026 05:59:35
[2026-08-29 05:59:35,874.874 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:59:35,911.911 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:59:35,986.986 INFO    ] No existing commands found in stream
[2026-08-29 05:59:41,022.022 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:59:41,025.025 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-08-29 05:59:41,749.749 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 05:59:41,751.751 INFO    ] Checking for system updates...
[2026-08-29 05:59:41,775.775 INFO    ] 200
[2026-08-29 05:59:41,776.776 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:59:41,807.807 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:59:41,808.808 INFO    ] No update needed
[2026-08-29 05:59:41,809.809 INFO    ] Checking for camera pi updates...
[2026-08-29 05:59:41,830.830 INFO    ] 200
[2026-08-29 05:59:41,831.831 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:59:41,859.859 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:59:41,955.955 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:59:41,956.956 INFO    ] No camera update needed
[2026-08-29 05:59:41,957.957 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:59:41,958.958 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:59:41,961.961 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:59:41,964.964 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:59:44,004.004 INFO    ] ================================================
[2026-08-29 05:59:44,019.019 INFO    ] Launching Daemon at Sat Aug 29 05:59:44 IST 2026
[2026-08-29 05:59:44,029.029 INFO    ] ================================================
[2026-08-29 05:59:44,400.400 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:59:44
[2026-08-29 05:59:44,733.733 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:59:44,884.884 INFO    ] Initializing speech engine...
[2026-08-29 05:59:44,891.891 INFO    ] 2026-08-29 05:59:44
[2026-08-29 05:59:45,099.099 INFO    ] 2026-08-29 05:59:45
[2026-08-29 05:59:45,128.128 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:59:45,252.252 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:59:45,315.315 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:59:45,455.455 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:59:45,523.523 INFO    ] time= 29/08/2026 05:59:45
[2026-08-29 05:59:45,547.547 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:59:45,554.554 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:59:45,620.620 INFO    ] No existing commands found in stream
[2026-08-29 05:59:50,631.631 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 05:59:50,635.635 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-08-29 05:59:51,369.369 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 05:59:51,371.371 INFO    ] Checking for system updates...
[2026-08-29 05:59:51,392.392 INFO    ] 200
[2026-08-29 05:59:51,393.393 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:59:51,427.427 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:59:51,429.429 INFO    ] No update needed
[2026-08-29 05:59:51,430.430 INFO    ] Checking for camera pi updates...
[2026-08-29 05:59:51,450.450 INFO    ] 200
[2026-08-29 05:59:51,451.451 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 05:59:51,474.474 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 05:59:51,550.550 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 05:59:51,551.551 INFO    ] No camera update needed
[2026-08-29 05:59:51,552.552 INFO    ] Script finished. Safe exiting...
[2026-08-29 05:59:51,554.554 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 05:59:51,557.557 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 05:59:51,559.559 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 05:59:53,590.590 INFO    ] ================================================
[2026-08-29 05:59:53,600.600 INFO    ] Launching Daemon at Sat Aug 29 05:59:53 IST 2026
[2026-08-29 05:59:53,607.607 INFO    ] ================================================
[2026-08-29 05:59:54,233.233 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 05:59:54
[2026-08-29 05:59:54,881.881 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 05:59:55,142.142 INFO    ] Initializing speech engine...
[2026-08-29 05:59:55,155.155 INFO    ] 2026-08-29 05:59:55
[2026-08-29 05:59:55,431.431 INFO    ] 2026-08-29 05:59:55
[2026-08-29 05:59:55,469.469 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 05:59:55,656.656 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 05:59:55,661.661 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 05:59:55,766.766 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 05:59:55,771.771 INFO    ] time= 29/08/2026 05:59:55
[2026-08-29 05:59:55,793.793 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 05:59:55,799.799 INFO    ] Checking for existing commands in stream...
[2026-08-29 05:59:55,851.851 INFO    ] No existing commands found in stream
[2026-08-29 06:00:00,862.862 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:00:00,865.865 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-08-29 06:00:08,693.693 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:00:08,696.696 INFO    ] Checking for system updates...
[2026-08-29 06:00:08,725.725 INFO    ] 200
[2026-08-29 06:00:08,726.726 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:00:08,757.757 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:00:08,758.758 INFO    ] No update needed
[2026-08-29 06:00:08,760.760 INFO    ] Checking for camera pi updates...
[2026-08-29 06:00:08,779.779 INFO    ] 200
[2026-08-29 06:00:08,780.780 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:00:08,806.806 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:00:08,887.887 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:00:08,889.889 INFO    ] No camera update needed
[2026-08-29 06:00:08,891.891 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:00:08,894.894 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:00:08,899.899 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:00:08,904.904 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:00:10,946.946 INFO    ] ================================================
[2026-08-29 06:00:10,961.961 INFO    ] Launching Daemon at Sat Aug 29 06:00:10 IST 2026
[2026-08-29 06:00:10,971.971 INFO    ] ================================================
[2026-08-29 06:00:11,539.539 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:00:11
[2026-08-29 06:00:11,991.991 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:00:12,122.122 INFO    ] Initializing speech engine...
[2026-08-29 06:00:12,125.125 INFO    ] 2026-08-29 06:00:12
[2026-08-29 06:00:12,349.349 INFO    ] 2026-08-29 06:00:12
[2026-08-29 06:00:12,404.404 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:00:12,570.570 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:00:12,579.579 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:00:12,732.732 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:00:12,783.783 INFO    ] time= 29/08/2026 06:00:12
[2026-08-29 06:00:12,790.790 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:00:12,809.809 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:00:12,928.928 INFO    ] No existing commands found in stream
[2026-08-29 06:00:17,951.951 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:00:17,954.954 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-08-29 06:00:20,359.359 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:00:20,360.360 INFO    ] Checking for system updates...
[2026-08-29 06:00:20,381.381 INFO    ] 200
[2026-08-29 06:00:20,383.383 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:00:20,413.413 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:00:20,414.414 INFO    ] No update needed
[2026-08-29 06:00:20,415.415 INFO    ] Checking for camera pi updates...
[2026-08-29 06:00:20,434.434 INFO    ] 200
[2026-08-29 06:00:20,436.436 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:00:20,460.460 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:00:20,538.538 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:00:20,540.540 INFO    ] No camera update needed
[2026-08-29 06:00:20,541.541 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:00:20,542.542 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:00:20,545.545 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:00:20,548.548 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:00:22,586.586 INFO    ] ================================================
[2026-08-29 06:00:22,601.601 INFO    ] Launching Daemon at Sat Aug 29 06:00:22 IST 2026
[2026-08-29 06:00:22,612.612 INFO    ] ================================================
[2026-08-29 06:00:23,029.029 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:00:23
[2026-08-29 06:00:23,625.625 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:00:23,929.929 INFO    ] Initializing speech engine...
[2026-08-29 06:00:23,943.943 INFO    ] 2026-08-29 06:00:23
[2026-08-29 06:00:24,234.234 INFO    ] 2026-08-29 06:00:24
[2026-08-29 06:00:24,347.347 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:00:24,507.507 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:00:24,514.514 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:00:24,651.651 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:00:24,716.716 INFO    ] time= 29/08/2026 06:00:24
[2026-08-29 06:00:24,776.776 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:00:24,790.790 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:00:24,914.914 INFO    ] No existing commands found in stream
[2026-08-29 06:00:29,945.945 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:00:29,948.948 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 06:00:32,096.096 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:00:32,097.097 INFO    ] Checking for system updates...
[2026-08-29 06:00:32,117.117 INFO    ] 200
[2026-08-29 06:00:32,119.119 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:00:32,149.149 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:00:32,150.150 INFO    ] No update needed
[2026-08-29 06:00:32,151.151 INFO    ] Checking for camera pi updates...
[2026-08-29 06:00:32,171.171 INFO    ] 200
[2026-08-29 06:00:32,173.173 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:00:32,197.197 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:00:32,301.301 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:00:32,302.302 INFO    ] No camera update needed
[2026-08-29 06:00:32,303.303 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:00:32,305.305 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:00:32,308.308 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:00:32,310.310 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:00:34,342.342 INFO    ] ================================================
[2026-08-29 06:00:34,357.357 INFO    ] Launching Daemon at Sat Aug 29 06:00:34 IST 2026
[2026-08-29 06:00:34,368.368 INFO    ] ================================================
[2026-08-29 06:00:35,008.008 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:00:35
[2026-08-29 06:00:35,669.669 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:00:35,971.971 INFO    ] Initializing speech engine...
[2026-08-29 06:00:35,985.985 INFO    ] 2026-08-29 06:00:35
[2026-08-29 06:00:36,259.259 INFO    ] 2026-08-29 06:00:36
[2026-08-29 06:00:36,314.314 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:00:36,499.499 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:00:36,502.502 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:00:36,637.637 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:00:36,647.647 INFO    ] time= 29/08/2026 06:00:36
[2026-08-29 06:00:36,664.664 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:00:36,670.670 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:00:36,754.754 INFO    ] No existing commands found in stream
[2026-08-29 06:00:41,780.780 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:00:41,784.784 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-08-29 06:00:43,718.718 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:00:43,720.720 INFO    ] Checking for system updates...
[2026-08-29 06:00:43,740.740 INFO    ] 200
[2026-08-29 06:00:43,742.742 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:00:43,774.774 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:00:43,775.775 INFO    ] No update needed
[2026-08-29 06:00:43,777.777 INFO    ] Checking for camera pi updates...
[2026-08-29 06:00:43,800.800 INFO    ] 200
[2026-08-29 06:00:43,801.801 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:00:43,827.827 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:00:43,905.905 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:00:43,906.906 INFO    ] No camera update needed
[2026-08-29 06:00:43,908.908 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:00:43,909.909 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:00:43,912.912 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:00:43,915.915 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:00:45,954.954 INFO    ] ================================================
[2026-08-29 06:00:45,969.969 INFO    ] Launching Daemon at Sat Aug 29 06:00:45 IST 2026
[2026-08-29 06:00:45,980.980 INFO    ] ================================================
[2026-08-29 06:00:46,344.344 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:00:46
[2026-08-29 06:00:46,678.678 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:00:46,832.832 INFO    ] Initializing speech engine...
[2026-08-29 06:00:46,836.836 INFO    ] 2026-08-29 06:00:46
[2026-08-29 06:00:47,044.044 INFO    ] 2026-08-29 06:00:47
[2026-08-29 06:00:47,072.072 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:00:47,195.195 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:00:47,258.258 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:00:47,396.396 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:00:47,455.455 INFO    ] time= 29/08/2026 06:00:47
[2026-08-29 06:00:47,487.487 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:00:47,494.494 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:00:47,561.561 INFO    ] No existing commands found in stream
[2026-08-29 06:00:52,571.571 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:00:52,574.574 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-08-29 06:00:54,046.046 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:00:54,048.048 INFO    ] Checking for system updates...
[2026-08-29 06:00:54,069.069 INFO    ] 200
[2026-08-29 06:00:54,070.070 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:00:54,103.103 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:00:54,104.104 INFO    ] No update needed
[2026-08-29 06:00:54,106.106 INFO    ] Checking for camera pi updates...
[2026-08-29 06:00:54,127.127 INFO    ] 200
[2026-08-29 06:00:54,129.129 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:00:54,152.152 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:00:54,231.231 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:00:54,232.232 INFO    ] No camera update needed
[2026-08-29 06:00:54,234.234 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:00:54,235.235 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:00:54,238.238 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:00:54,241.241 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:00:56,280.280 INFO    ] ================================================
[2026-08-29 06:00:56,296.296 INFO    ] Launching Daemon at Sat Aug 29 06:00:56 IST 2026
[2026-08-29 06:00:56,307.307 INFO    ] ================================================
[2026-08-29 06:00:56,669.669 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:00:56
[2026-08-29 06:00:57,005.005 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:00:57,157.157 INFO    ] Initializing speech engine...
[2026-08-29 06:00:57,163.163 INFO    ] 2026-08-29 06:00:57
[2026-08-29 06:00:57,364.364 INFO    ] 2026-08-29 06:00:57
[2026-08-29 06:00:57,436.436 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:00:57,618.618 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:00:57,624.624 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:00:57,825.825 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:00:57,867.867 INFO    ] time= 29/08/2026 06:00:57
[2026-08-29 06:00:57,884.884 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:00:57,895.895 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:00:58,030.030 INFO    ] No existing commands found in stream
[2026-08-29 06:01:03,046.046 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:01:03,050.050 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-08-29 06:01:08,191.191 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:01:08,193.193 INFO    ] Checking for system updates...
[2026-08-29 06:01:08,214.214 INFO    ] 200
[2026-08-29 06:01:08,215.215 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:01:08,248.248 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:01:08,250.250 INFO    ] No update needed
[2026-08-29 06:01:08,251.251 INFO    ] Checking for camera pi updates...
[2026-08-29 06:01:08,275.275 INFO    ] 200
[2026-08-29 06:01:08,276.276 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:01:08,302.302 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:01:08,377.377 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:01:08,379.379 INFO    ] No camera update needed
[2026-08-29 06:01:08,381.381 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:01:08,383.383 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:01:08,387.387 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:01:08,390.390 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:01:10,428.428 INFO    ] ================================================
[2026-08-29 06:01:10,443.443 INFO    ] Launching Daemon at Sat Aug 29 06:01:10 IST 2026
[2026-08-29 06:01:10,454.454 INFO    ] ================================================
[2026-08-29 06:01:11,024.024 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:01:11
[2026-08-29 06:01:11,730.730 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:01:12,063.063 INFO    ] Initializing speech engine...
[2026-08-29 06:01:12,081.081 INFO    ] 2026-08-29 06:01:12
[2026-08-29 06:01:12,374.374 INFO    ] 2026-08-29 06:01:12
[2026-08-29 06:01:12,429.429 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:01:12,608.608 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:01:12,611.611 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:01:12,746.746 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:01:12,755.755 INFO    ] time= 29/08/2026 06:01:12
[2026-08-29 06:01:12,771.771 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:01:12,777.777 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:01:13,093.093 INFO    ] No existing commands found in stream
[2026-08-29 06:01:18,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:01:18,107.107 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-08-29 06:01:20,410.410 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:01:20,411.411 INFO    ] Checking for system updates...
[2026-08-29 06:01:20,434.434 INFO    ] 200
[2026-08-29 06:01:20,435.435 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:01:20,465.465 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:01:20,466.466 INFO    ] No update needed
[2026-08-29 06:01:20,467.467 INFO    ] Checking for camera pi updates...
[2026-08-29 06:01:20,493.493 INFO    ] 200
[2026-08-29 06:01:20,494.494 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:01:20,520.520 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:01:20,610.610 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:01:20,611.611 INFO    ] No camera update needed
[2026-08-29 06:01:20,613.613 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:01:20,615.615 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:01:20,618.618 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:01:20,621.621 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:01:22,663.663 INFO    ] ================================================
[2026-08-29 06:01:22,678.678 INFO    ] Launching Daemon at Sat Aug 29 06:01:22 IST 2026
[2026-08-29 06:01:22,689.689 INFO    ] ================================================
[2026-08-29 06:01:23,047.047 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:01:23
[2026-08-29 06:01:23,365.365 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:01:23,582.582 INFO    ] Initializing speech engine...
[2026-08-29 06:01:23,587.587 INFO    ] 2026-08-29 06:01:23
[2026-08-29 06:01:23,851.851 INFO    ] 2026-08-29 06:01:23
[2026-08-29 06:01:23,905.905 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:01:24,128.128 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:01:24,138.138 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:01:24,270.270 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:01:24,302.302 INFO    ] time= 29/08/2026 06:01:24
[2026-08-29 06:01:24,362.362 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:01:24,403.403 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:01:24,454.454 INFO    ] No existing commands found in stream
[2026-08-29 06:01:29,466.466 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:01:29,469.469 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-08-29 06:01:32,071.071 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:01:32,075.075 INFO    ] Checking for system updates...
[2026-08-29 06:01:32,128.128 INFO    ] 200
[2026-08-29 06:01:32,133.133 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:01:32,192.192 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:01:32,194.194 INFO    ] No update needed
[2026-08-29 06:01:32,197.197 INFO    ] Checking for camera pi updates...
[2026-08-29 06:01:32,234.234 INFO    ] 200
[2026-08-29 06:01:32,236.236 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:01:32,280.280 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:01:32,468.468 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:01:32,471.471 INFO    ] No camera update needed
[2026-08-29 06:01:32,474.474 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:01:32,476.476 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:01:32,482.482 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:01:32,487.487 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:01:34,529.529 INFO    ] ================================================
[2026-08-29 06:01:34,545.545 INFO    ] Launching Daemon at Sat Aug 29 06:01:34 IST 2026
[2026-08-29 06:01:34,556.556 INFO    ] ================================================
[2026-08-29 06:01:35,093.093 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:01:35
[2026-08-29 06:01:35,411.411 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:01:35,546.546 INFO    ] Initializing speech engine...
[2026-08-29 06:01:35,550.550 INFO    ] 2026-08-29 06:01:35
[2026-08-29 06:01:35,742.742 INFO    ] 2026-08-29 06:01:35
[2026-08-29 06:01:35,788.788 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:01:36,017.017 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:01:36,027.027 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:01:36,162.162 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:01:36,214.214 INFO    ] time= 29/08/2026 06:01:36
[2026-08-29 06:01:36,260.260 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:01:36,277.277 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:01:36,349.349 INFO    ] No existing commands found in stream
[2026-08-29 06:01:41,360.360 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:01:41,363.363 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-08-29 06:01:45,468.468 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:01:45,470.470 INFO    ] Checking for system updates...
[2026-08-29 06:01:45,491.491 INFO    ] 200
[2026-08-29 06:01:45,492.492 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:01:45,523.523 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:01:45,524.524 INFO    ] No update needed
[2026-08-29 06:01:45,526.526 INFO    ] Checking for camera pi updates...
[2026-08-29 06:01:45,547.547 INFO    ] 200
[2026-08-29 06:01:45,548.548 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:01:45,576.576 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:01:45,675.675 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:01:45,676.676 INFO    ] No camera update needed
[2026-08-29 06:01:45,678.678 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:01:45,679.679 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:01:45,682.682 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:01:45,685.685 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:01:47,724.724 INFO    ] ================================================
[2026-08-29 06:01:47,739.739 INFO    ] Launching Daemon at Sat Aug 29 06:01:47 IST 2026
[2026-08-29 06:01:47,750.750 INFO    ] ================================================
[2026-08-29 06:01:48,123.123 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:01:48
[2026-08-29 06:01:48,674.674 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:01:48,948.948 INFO    ] Initializing speech engine...
[2026-08-29 06:01:48,957.957 INFO    ] 2026-08-29 06:01:48
[2026-08-29 06:01:49,211.211 INFO    ] 2026-08-29 06:01:49
[2026-08-29 06:01:49,271.271 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:01:49,436.436 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:01:49,454.454 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:01:49,636.636 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:01:49,653.653 INFO    ] time= 29/08/2026 06:01:49
[2026-08-29 06:01:49,703.703 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:01:49,752.752 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:01:49,821.821 INFO    ] No existing commands found in stream
[2026-08-29 06:01:54,837.837 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:01:54,839.839 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-08-29 06:01:56,360.360 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:01:56,362.362 INFO    ] Checking for system updates...
[2026-08-29 06:01:56,382.382 INFO    ] 200
[2026-08-29 06:01:56,384.384 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:01:56,416.416 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:01:56,417.417 INFO    ] No update needed
[2026-08-29 06:01:56,419.419 INFO    ] Checking for camera pi updates...
[2026-08-29 06:01:56,438.438 INFO    ] 200
[2026-08-29 06:01:56,439.439 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:01:56,464.464 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:01:56,546.546 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:01:56,549.549 INFO    ] No camera update needed
[2026-08-29 06:01:56,551.551 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:01:56,554.554 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:01:56,559.559 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:01:56,564.564 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:01:58,605.605 INFO    ] ================================================
[2026-08-29 06:01:58,621.621 INFO    ] Launching Daemon at Sat Aug 29 06:01:58 IST 2026
[2026-08-29 06:01:58,632.632 INFO    ] ================================================
[2026-08-29 06:01:59,298.298 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:01:59
[2026-08-29 06:01:59,764.764 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:01:59,916.916 INFO    ] Initializing speech engine...
[2026-08-29 06:01:59,922.922 INFO    ] 2026-08-29 06:01:59
[2026-08-29 06:02:00,131.131 INFO    ] 2026-08-29 06:02:00
[2026-08-29 06:02:00,159.159 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:02:00,301.301 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:02:00,349.349 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:02:00,484.484 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:02:00,552.552 INFO    ] time= 29/08/2026 06:02:00
[2026-08-29 06:02:00,579.579 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:02:00,587.587 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:02:00,654.654 INFO    ] No existing commands found in stream
[2026-08-29 06:02:05,669.669 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:02:05,672.672 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-08-29 06:02:06,527.527 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:02:06,529.529 INFO    ] Checking for system updates...
[2026-08-29 06:02:06,551.551 INFO    ] 200
[2026-08-29 06:02:06,552.552 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:02:06,583.583 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:02:06,584.584 INFO    ] No update needed
[2026-08-29 06:02:06,585.585 INFO    ] Checking for camera pi updates...
[2026-08-29 06:02:06,608.608 INFO    ] 200
[2026-08-29 06:02:06,610.610 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:02:06,637.637 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:02:06,717.717 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:02:06,718.718 INFO    ] No camera update needed
[2026-08-29 06:02:06,719.719 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:02:06,720.720 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:02:06,724.724 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:02:06,726.726 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:02:08,765.765 INFO    ] ================================================
[2026-08-29 06:02:08,780.780 INFO    ] Launching Daemon at Sat Aug 29 06:02:08 IST 2026
[2026-08-29 06:02:08,792.792 INFO    ] ================================================
[2026-08-29 06:02:09,397.397 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:02:09
[2026-08-29 06:02:10,096.096 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:02:10,421.421 INFO    ] Initializing speech engine...
[2026-08-29 06:02:10,430.430 INFO    ] 2026-08-29 06:02:10
[2026-08-29 06:02:10,743.743 INFO    ] 2026-08-29 06:02:10
[2026-08-29 06:02:10,829.829 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:02:10,983.983 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:02:10,994.994 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:02:11,133.133 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:02:11,178.178 INFO    ] time= 29/08/2026 06:02:11
[2026-08-29 06:02:11,243.243 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:02:11,272.272 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:02:11,408.408 INFO    ] No existing commands found in stream
[2026-08-29 06:02:16,436.436 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:02:16,439.439 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-08-29 06:02:18,120.120 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:02:18,121.121 INFO    ] Checking for system updates...
[2026-08-29 06:02:18,142.142 INFO    ] 200
[2026-08-29 06:02:18,144.144 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:02:18,177.177 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:02:18,178.178 INFO    ] No update needed
[2026-08-29 06:02:18,180.180 INFO    ] Checking for camera pi updates...
[2026-08-29 06:02:18,203.203 INFO    ] 200
[2026-08-29 06:02:18,205.205 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:02:18,233.233 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:02:18,335.335 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:02:18,336.336 INFO    ] No camera update needed
[2026-08-29 06:02:18,338.338 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:02:18,339.339 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:02:18,342.342 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:02:18,345.345 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:02:20,386.386 INFO    ] ================================================
[2026-08-29 06:02:20,407.407 INFO    ] Launching Daemon at Sat Aug 29 06:02:20 IST 2026
[2026-08-29 06:02:20,417.417 INFO    ] ================================================
[2026-08-29 06:02:20,789.789 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:02:20
[2026-08-29 06:02:21,104.104 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:02:21,247.247 INFO    ] Initializing speech engine...
[2026-08-29 06:02:21,252.252 INFO    ] 2026-08-29 06:02:21
[2026-08-29 06:02:21,435.435 INFO    ] 2026-08-29 06:02:21
[2026-08-29 06:02:21,470.470 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:02:21,662.662 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:02:21,676.676 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:02:21,865.865 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:02:21,871.871 INFO    ] time= 29/08/2026 06:02:21
[2026-08-29 06:02:21,935.935 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:02:21,990.990 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:02:22,056.056 INFO    ] No existing commands found in stream
[2026-08-29 06:02:27,068.068 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:02:27,070.070 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-08-29 06:02:28,375.375 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:02:28,376.376 INFO    ] Checking for system updates...
[2026-08-29 06:02:28,398.398 INFO    ] 200
[2026-08-29 06:02:28,399.399 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:02:28,429.429 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:02:28,431.431 INFO    ] No update needed
[2026-08-29 06:02:28,432.432 INFO    ] Checking for camera pi updates...
[2026-08-29 06:02:28,453.453 INFO    ] 200
[2026-08-29 06:02:28,454.454 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:02:28,479.479 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:02:28,573.573 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:02:28,574.574 INFO    ] No camera update needed
[2026-08-29 06:02:28,576.576 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:02:28,577.577 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:02:28,580.580 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:02:28,583.583 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:02:30,623.623 INFO    ] ================================================
[2026-08-29 06:02:30,639.639 INFO    ] Launching Daemon at Sat Aug 29 06:02:30 IST 2026
[2026-08-29 06:02:30,650.650 INFO    ] ================================================
[2026-08-29 06:02:31,003.003 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:02:31
[2026-08-29 06:02:31,319.319 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:02:31,451.451 INFO    ] Initializing speech engine...
[2026-08-29 06:02:31,458.458 INFO    ] 2026-08-29 06:02:31
[2026-08-29 06:02:31,703.703 INFO    ] 2026-08-29 06:02:31
[2026-08-29 06:02:31,740.740 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:02:31,927.927 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:02:31,940.940 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:02:32,089.089 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:02:32,169.169 INFO    ] time= 29/08/2026 06:02:32
[2026-08-29 06:02:32,191.191 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:02:32,251.251 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:02:32,329.329 INFO    ] No existing commands found in stream
[2026-08-29 06:02:37,345.345 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:02:37,357.357 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-08-29 06:02:41,017.017 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:02:41,019.019 INFO    ] Checking for system updates...
[2026-08-29 06:02:41,039.039 INFO    ] 200
[2026-08-29 06:02:41,040.040 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:02:41,075.075 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:02:41,076.076 INFO    ] No update needed
[2026-08-29 06:02:41,077.077 INFO    ] Checking for camera pi updates...
[2026-08-29 06:02:41,098.098 INFO    ] 200
[2026-08-29 06:02:41,100.100 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:02:41,140.140 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:02:41,247.247 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:02:41,250.250 INFO    ] No camera update needed
[2026-08-29 06:02:41,253.253 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:02:41,256.256 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:02:41,262.262 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:02:41,267.267 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:02:43,310.310 INFO    ] ================================================
[2026-08-29 06:02:43,325.325 INFO    ] Launching Daemon at Sat Aug 29 06:02:43 IST 2026
[2026-08-29 06:02:43,336.336 INFO    ] ================================================
[2026-08-29 06:02:43,923.923 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:02:43
[2026-08-29 06:02:44,388.388 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:02:44,531.531 INFO    ] Initializing speech engine...
[2026-08-29 06:02:44,536.536 INFO    ] 2026-08-29 06:02:44
[2026-08-29 06:02:44,721.721 INFO    ] 2026-08-29 06:02:44
[2026-08-29 06:02:44,775.775 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:02:44,997.997 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:02:45,007.007 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:02:45,144.144 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:02:45,151.151 INFO    ] time= 29/08/2026 06:02:45
[2026-08-29 06:02:45,211.211 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:02:45,265.265 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:02:45,332.332 INFO    ] No existing commands found in stream
[2026-08-29 06:02:50,344.344 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:02:50,347.347 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-08-29 06:02:51,828.828 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:02:51,830.830 INFO    ] Checking for system updates...
[2026-08-29 06:02:51,850.850 INFO    ] 200
[2026-08-29 06:02:51,852.852 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:02:51,883.883 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:02:51,884.884 INFO    ] No update needed
[2026-08-29 06:02:51,886.886 INFO    ] Checking for camera pi updates...
[2026-08-29 06:02:51,907.907 INFO    ] 200
[2026-08-29 06:02:51,908.908 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:02:51,933.933 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:02:52,028.028 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:02:52,030.030 INFO    ] No camera update needed
[2026-08-29 06:02:52,033.033 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:02:52,035.035 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:02:52,040.040 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:02:52,046.046 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:02:54,085.085 INFO    ] ================================================
[2026-08-29 06:02:54,100.100 INFO    ] Launching Daemon at Sat Aug 29 06:02:54 IST 2026
[2026-08-29 06:02:54,111.111 INFO    ] ================================================
[2026-08-29 06:02:54,775.775 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:02:54
[2026-08-29 06:02:55,247.247 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:02:55,396.396 INFO    ] Initializing speech engine...
[2026-08-29 06:02:55,406.406 INFO    ] 2026-08-29 06:02:55
[2026-08-29 06:02:55,625.625 INFO    ] 2026-08-29 06:02:55
[2026-08-29 06:02:55,713.713 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:02:55,873.873 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:02:55,878.878 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:02:56,020.020 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:02:56,081.081 INFO    ] time= 29/08/2026 06:02:56
[2026-08-29 06:02:56,141.141 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:02:56,160.160 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:02:56,300.300 INFO    ] No existing commands found in stream
[2026-08-29 06:03:01,326.326 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:03:01,335.335 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-08-29 06:03:03,422.422 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:03:03,425.425 INFO    ] Checking for system updates...
[2026-08-29 06:03:03,470.470 INFO    ] 200
[2026-08-29 06:03:03,473.473 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:03:03,532.532 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:03:03,535.535 INFO    ] No update needed
[2026-08-29 06:03:03,537.537 INFO    ] Checking for camera pi updates...
[2026-08-29 06:03:03,574.574 INFO    ] 200
[2026-08-29 06:03:03,577.577 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:03:03,618.618 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:03:03,710.710 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:03:03,713.713 INFO    ] No camera update needed
[2026-08-29 06:03:03,715.715 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:03:03,717.717 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:03:03,722.722 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:03:03,727.727 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:03:05,767.767 INFO    ] ================================================
[2026-08-29 06:03:05,782.782 INFO    ] Launching Daemon at Sat Aug 29 06:03:05 IST 2026
[2026-08-29 06:03:05,793.793 INFO    ] ================================================
[2026-08-29 06:03:06,247.247 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:03:06
[2026-08-29 06:03:06,837.837 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:03:07,082.082 INFO    ] Initializing speech engine...
[2026-08-29 06:03:07,090.090 INFO    ] 2026-08-29 06:03:07
[2026-08-29 06:03:07,366.366 INFO    ] 2026-08-29 06:03:07
[2026-08-29 06:03:07,401.401 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:03:07,578.578 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:03:07,591.591 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:03:07,703.703 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:03:07,708.708 INFO    ] time= 29/08/2026 06:03:07
[2026-08-29 06:03:07,726.726 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:03:07,745.745 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:03:07,823.823 INFO    ] No existing commands found in stream
[2026-08-29 06:03:12,853.853 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:03:12,856.856 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-08-29 06:03:13,220.220 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:03:13,222.222 INFO    ] Checking for system updates...
[2026-08-29 06:03:13,243.243 INFO    ] 200
[2026-08-29 06:03:13,244.244 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:03:13,276.276 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:03:13,278.278 INFO    ] No update needed
[2026-08-29 06:03:13,279.279 INFO    ] Checking for camera pi updates...
[2026-08-29 06:03:13,298.298 INFO    ] 200
[2026-08-29 06:03:13,299.299 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:03:13,324.324 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:03:13,420.420 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:03:13,421.421 INFO    ] No camera update needed
[2026-08-29 06:03:13,423.423 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:03:13,424.424 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:03:13,427.427 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:03:13,429.429 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:03:15,469.469 INFO    ] ================================================
[2026-08-29 06:03:15,485.485 INFO    ] Launching Daemon at Sat Aug 29 06:03:15 IST 2026
[2026-08-29 06:03:15,496.496 INFO    ] ================================================
[2026-08-29 06:03:15,848.848 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:03:15
[2026-08-29 06:03:16,160.160 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:03:16,303.303 INFO    ] Initializing speech engine...
[2026-08-29 06:03:16,308.308 INFO    ] 2026-08-29 06:03:16
[2026-08-29 06:03:16,514.514 INFO    ] 2026-08-29 06:03:16
[2026-08-29 06:03:16,543.543 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:03:16,661.661 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:03:16,724.724 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:03:16,862.862 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:03:16,878.878 INFO    ] time= 29/08/2026 06:03:16
[2026-08-29 06:03:16,885.885 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:03:16,913.913 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:03:17,000.000 INFO    ] No existing commands found in stream
[2026-08-29 06:03:22,025.025 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:03:22,028.028 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-08-29 06:03:25,654.654 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:03:25,656.656 INFO    ] Checking for system updates...
[2026-08-29 06:03:25,693.693 INFO    ] 200
[2026-08-29 06:03:25,696.696 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:03:25,755.755 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:03:25,758.758 INFO    ] No update needed
[2026-08-29 06:03:25,760.760 INFO    ] Checking for camera pi updates...
[2026-08-29 06:03:25,797.797 INFO    ] 200
[2026-08-29 06:03:25,799.799 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:03:25,839.839 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:03:25,924.924 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:03:25,927.927 INFO    ] No camera update needed
[2026-08-29 06:03:25,929.929 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:03:25,932.932 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:03:25,937.937 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:03:25,942.942 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:03:27,984.984 INFO    ] ================================================
[2026-08-29 06:03:28,002.002 INFO    ] Launching Daemon at Sat Aug 29 06:03:27 IST 2026
[2026-08-29 06:03:28,014.014 INFO    ] ================================================
[2026-08-29 06:03:28,564.564 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:03:28
[2026-08-29 06:03:29,239.239 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:03:29,542.542 INFO    ] Initializing speech engine...
[2026-08-29 06:03:29,551.551 INFO    ] 2026-08-29 06:03:29
[2026-08-29 06:03:29,826.826 INFO    ] 2026-08-29 06:03:29
[2026-08-29 06:03:29,884.884 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:03:30,105.105 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:03:30,114.114 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:03:30,248.248 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:03:30,285.285 INFO    ] time= 29/08/2026 06:03:30
[2026-08-29 06:03:30,356.356 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:03:30,386.386 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:03:30,443.443 INFO    ] No existing commands found in stream
[2026-08-29 06:03:35,469.469 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:03:35,472.472 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-08-29 06:03:36,861.861 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:03:36,863.863 INFO    ] Checking for system updates...
[2026-08-29 06:03:36,885.885 INFO    ] 200
[2026-08-29 06:03:36,886.886 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:03:36,918.918 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:03:36,919.919 INFO    ] No update needed
[2026-08-29 06:03:36,921.921 INFO    ] Checking for camera pi updates...
[2026-08-29 06:03:36,943.943 INFO    ] 200
[2026-08-29 06:03:36,944.944 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:03:36,971.971 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:03:37,164.164 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:03:37,165.165 INFO    ] No camera update needed
[2026-08-29 06:03:37,166.166 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:03:37,168.168 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:03:37,171.171 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:03:37,174.174 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:03:39,214.214 INFO    ] ================================================
[2026-08-29 06:03:39,230.230 INFO    ] Launching Daemon at Sat Aug 29 06:03:39 IST 2026
[2026-08-29 06:03:39,241.241 INFO    ] ================================================
[2026-08-29 06:03:39,599.599 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:03:39
[2026-08-29 06:03:39,935.935 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:03:40,090.090 INFO    ] Initializing speech engine...
[2026-08-29 06:03:40,094.094 INFO    ] 2026-08-29 06:03:40
[2026-08-29 06:03:40,350.350 INFO    ] 2026-08-29 06:03:40
[2026-08-29 06:03:40,404.404 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:03:40,549.549 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:03:40,561.561 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:03:40,703.703 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:03:40,711.711 INFO    ] time= 29/08/2026 06:03:40
[2026-08-29 06:03:40,718.718 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:03:40,765.765 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:03:40,889.889 INFO    ] No existing commands found in stream
[2026-08-29 06:03:45,914.914 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:03:45,917.917 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-08-29 06:03:49,042.042 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:03:49,043.043 INFO    ] Checking for system updates...
[2026-08-29 06:03:49,063.063 INFO    ] 200
[2026-08-29 06:03:49,065.065 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:03:49,095.095 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:03:49,096.096 INFO    ] No update needed
[2026-08-29 06:03:49,097.097 INFO    ] Checking for camera pi updates...
[2026-08-29 06:03:49,116.116 INFO    ] 200
[2026-08-29 06:03:49,117.117 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:03:49,141.141 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:03:49,220.220 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:03:49,222.222 INFO    ] No camera update needed
[2026-08-29 06:03:49,225.225 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:03:49,227.227 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:03:49,232.232 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:03:49,237.237 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:03:51,277.277 INFO    ] ================================================
[2026-08-29 06:03:51,293.293 INFO    ] Launching Daemon at Sat Aug 29 06:03:51 IST 2026
[2026-08-29 06:03:51,304.304 INFO    ] ================================================
[2026-08-29 06:03:51,944.944 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:03:51
[2026-08-29 06:03:52,414.414 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:03:52,564.564 INFO    ] Initializing speech engine...
[2026-08-29 06:03:52,569.569 INFO    ] 2026-08-29 06:03:52
[2026-08-29 06:03:52,775.775 INFO    ] 2026-08-29 06:03:52
[2026-08-29 06:03:52,804.804 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:03:52,927.927 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:03:52,990.990 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:03:53,128.128 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:03:53,192.192 INFO    ] time= 29/08/2026 06:03:53
[2026-08-29 06:03:53,219.219 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:03:53,226.226 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:03:53,291.291 INFO    ] No existing commands found in stream
[2026-08-29 06:03:58,302.302 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:03:58,306.306 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-08-29 06:04:00,349.349 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:04:00,351.351 INFO    ] Checking for system updates...
[2026-08-29 06:04:00,371.371 INFO    ] 200
[2026-08-29 06:04:00,373.373 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:04:00,404.404 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:04:00,405.405 INFO    ] No update needed
[2026-08-29 06:04:00,406.406 INFO    ] Checking for camera pi updates...
[2026-08-29 06:04:00,427.427 INFO    ] 200
[2026-08-29 06:04:00,428.428 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:04:00,456.456 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:04:00,547.547 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:04:00,548.548 INFO    ] No camera update needed
[2026-08-29 06:04:00,549.549 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:04:00,551.551 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:04:00,554.554 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:04:00,557.557 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:04:02,601.601 INFO    ] ================================================
[2026-08-29 06:04:02,619.619 INFO    ] Launching Daemon at Sat Aug 29 06:04:02 IST 2026
[2026-08-29 06:04:02,631.631 INFO    ] ================================================
[2026-08-29 06:04:03,312.312 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:04:03
[2026-08-29 06:04:03,996.996 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:04:04,306.306 INFO    ] Initializing speech engine...
[2026-08-29 06:04:04,312.312 INFO    ] 2026-08-29 06:04:04
[2026-08-29 06:04:04,585.585 INFO    ] 2026-08-29 06:04:04
[2026-08-29 06:04:04,628.628 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:04:04,778.778 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:04:04,826.826 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:04:05,010.010 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:04:05,034.034 INFO    ] time= 29/08/2026 06:04:05
[2026-08-29 06:04:05,099.099 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:04:05,154.154 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:04:05,240.240 INFO    ] No existing commands found in stream
[2026-08-29 06:04:10,250.250 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:04:10,254.254 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-08-29 06:04:11,612.612 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:04:11,615.615 INFO    ] Checking for system updates...
[2026-08-29 06:04:11,660.660 INFO    ] 200
[2026-08-29 06:04:11,663.663 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:04:11,744.744 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:04:11,746.746 INFO    ] No update needed
[2026-08-29 06:04:11,749.749 INFO    ] Checking for camera pi updates...
[2026-08-29 06:04:11,782.782 INFO    ] 200
[2026-08-29 06:04:11,784.784 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:04:11,828.828 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:04:11,909.909 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:04:11,911.911 INFO    ] No camera update needed
[2026-08-29 06:04:11,914.914 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:04:11,916.916 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:04:11,922.922 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:04:11,926.926 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:04:13,968.968 INFO    ] ================================================
[2026-08-29 06:04:13,984.984 INFO    ] Launching Daemon at Sat Aug 29 06:04:13 IST 2026
[2026-08-29 06:04:14,995.995 INFO    ] ================================================
[2026-08-29 06:04:14,575.575 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:04:14
[2026-08-29 06:04:14,911.911 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:04:15,062.062 INFO    ] Initializing speech engine...
[2026-08-29 06:04:15,067.067 INFO    ] 2026-08-29 06:04:15
[2026-08-29 06:04:15,277.277 INFO    ] 2026-08-29 06:04:15
[2026-08-29 06:04:15,307.307 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:04:15,432.432 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:04:15,496.496 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:04:15,652.652 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:04:15,707.707 INFO    ] time= 29/08/2026 06:04:15
[2026-08-29 06:04:15,729.729 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:04:15,736.736 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:04:15,802.802 INFO    ] No existing commands found in stream
[2026-08-29 06:04:20,811.811 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:04:20,813.813 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 06:04:24,349.349 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:04:24,352.352 INFO    ] Checking for system updates...
[2026-08-29 06:04:24,393.393 INFO    ] 200
[2026-08-29 06:04:24,396.396 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:04:24,460.460 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:04:24,464.464 INFO    ] No update needed
[2026-08-29 06:04:24,467.467 INFO    ] Checking for camera pi updates...
[2026-08-29 06:04:24,498.498 INFO    ] 200
[2026-08-29 06:04:24,499.499 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:04:24,523.523 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:04:24,607.607 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:04:24,610.610 INFO    ] No camera update needed
[2026-08-29 06:04:24,612.612 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:04:24,615.615 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:04:24,621.621 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:04:24,627.627 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:04:26,667.667 INFO    ] ================================================
[2026-08-29 06:04:26,683.683 INFO    ] Launching Daemon at Sat Aug 29 06:04:26 IST 2026
[2026-08-29 06:04:26,694.694 INFO    ] ================================================
[2026-08-29 06:04:27,263.263 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:04:27
[2026-08-29 06:04:27,792.792 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:04:27,933.933 INFO    ] Initializing speech engine...
[2026-08-29 06:04:27,939.939 INFO    ] 2026-08-29 06:04:27
[2026-08-29 06:04:28,144.144 INFO    ] 2026-08-29 06:04:28
[2026-08-29 06:04:28,173.173 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:04:28,301.301 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:04:28,360.360 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:04:28,500.500 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:04:28,506.506 INFO    ] time= 29/08/2026 06:04:28
[2026-08-29 06:04:28,527.527 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:04:28,554.554 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:04:28,651.651 INFO    ] No existing commands found in stream
[2026-08-29 06:04:33,673.673 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:04:33,676.676 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-08-29 06:04:35,392.392 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:04:35,394.394 INFO    ] Checking for system updates...
[2026-08-29 06:04:35,415.415 INFO    ] 200
[2026-08-29 06:04:35,417.417 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:04:35,446.446 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:04:35,448.448 INFO    ] No update needed
[2026-08-29 06:04:35,449.449 INFO    ] Checking for camera pi updates...
[2026-08-29 06:04:35,468.468 INFO    ] 200
[2026-08-29 06:04:35,470.470 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:04:35,494.494 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:04:35,584.584 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:04:35,585.585 INFO    ] No camera update needed
[2026-08-29 06:04:35,586.586 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:04:35,587.587 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:04:35,590.590 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:04:35,593.593 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:04:37,634.634 INFO    ] ================================================
[2026-08-29 06:04:37,649.649 INFO    ] Launching Daemon at Sat Aug 29 06:04:37 IST 2026
[2026-08-29 06:04:37,660.660 INFO    ] ================================================
[2026-08-29 06:04:38,010.010 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:04:38
[2026-08-29 06:04:38,350.350 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:04:38,503.503 INFO    ] Initializing speech engine...
[2026-08-29 06:04:38,508.508 INFO    ] 2026-08-29 06:04:38
[2026-08-29 06:04:38,719.719 INFO    ] 2026-08-29 06:04:38
[2026-08-29 06:04:38,749.749 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:04:38,861.861 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:04:38,870.870 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:04:39,066.066 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:04:39,085.085 INFO    ] time= 29/08/2026 06:04:39
[2026-08-29 06:04:39,095.095 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:04:39,125.125 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:04:39,232.232 INFO    ] No existing commands found in stream
[2026-08-29 06:04:44,254.254 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:04:44,257.257 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 06:04:47,678.678 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:04:47,679.679 INFO    ] Checking for system updates...
[2026-08-29 06:04:47,700.700 INFO    ] 200
[2026-08-29 06:04:47,701.701 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:04:47,735.735 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:04:47,736.736 INFO    ] No update needed
[2026-08-29 06:04:47,737.737 INFO    ] Checking for camera pi updates...
[2026-08-29 06:04:47,758.758 INFO    ] 200
[2026-08-29 06:04:47,759.759 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:04:47,783.783 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:04:47,860.860 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:04:47,861.861 INFO    ] No camera update needed
[2026-08-29 06:04:47,863.863 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:04:47,864.864 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:04:47,867.867 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:04:47,869.869 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:04:49,910.910 INFO    ] ================================================
[2026-08-29 06:04:49,926.926 INFO    ] Launching Daemon at Sat Aug 29 06:04:49 IST 2026
[2026-08-29 06:04:49,936.936 INFO    ] ================================================
[2026-08-29 06:04:50,314.314 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:04:50
[2026-08-29 06:04:50,654.654 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:04:50,794.794 INFO    ] Initializing speech engine...
[2026-08-29 06:04:50,807.807 INFO    ] 2026-08-29 06:04:50
[2026-08-29 06:04:51,019.019 INFO    ] 2026-08-29 06:04:50
[2026-08-29 06:04:51,048.048 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:04:51,175.175 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:04:51,233.233 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:04:51,376.376 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:04:51,439.439 INFO    ] time= 29/08/2026 06:04:51
[2026-08-29 06:04:51,462.462 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:04:51,469.469 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:04:51,534.534 INFO    ] No existing commands found in stream
[2026-08-29 06:04:56,545.545 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:04:56,549.549 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-08-29 06:04:59,223.223 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:04:59,225.225 INFO    ] Checking for system updates...
[2026-08-29 06:04:59,245.245 INFO    ] 200
[2026-08-29 06:04:59,247.247 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:04:59,281.281 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:04:59,283.283 INFO    ] No update needed
[2026-08-29 06:04:59,284.284 INFO    ] Checking for camera pi updates...
[2026-08-29 06:04:59,303.303 INFO    ] 200
[2026-08-29 06:04:59,305.305 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:04:59,327.327 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:04:59,416.416 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:04:59,417.417 INFO    ] No camera update needed
[2026-08-29 06:04:59,419.419 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:04:59,420.420 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:04:59,423.423 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:04:59,426.426 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:05:01,456.456 INFO    ] ================================================
[2026-08-29 06:05:01,464.464 INFO    ] Launching Daemon at Sat Aug 29 06:05:01 IST 2026
[2026-08-29 06:05:01,470.470 INFO    ] ================================================
[2026-08-29 06:05:02,140.140 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:05:02
[2026-08-29 06:05:03,164.164 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:05:03,646.646 INFO    ] Initializing speech engine...
[2026-08-29 06:05:03,664.664 INFO    ] 2026-08-29 06:05:03
[2026-08-29 06:05:04,107.107 INFO    ] 2026-08-29 06:05:04
[2026-08-29 06:05:04,177.177 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:05:04,379.379 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:05:04,457.457 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:05:04,604.604 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:05:04,622.622 INFO    ] time= 29/08/2026 06:05:04
[2026-08-29 06:05:04,632.632 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:05:04,659.659 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:05:04,764.764 INFO    ] No existing commands found in stream
[2026-08-29 06:05:09,783.783 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:05:09,787.787 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-08-29 06:05:13,275.275 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:05:13,277.277 INFO    ] Checking for system updates...
[2026-08-29 06:05:13,298.298 INFO    ] 200
[2026-08-29 06:05:13,299.299 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:05:13,333.333 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:05:13,335.335 INFO    ] No update needed
[2026-08-29 06:05:13,336.336 INFO    ] Checking for camera pi updates...
[2026-08-29 06:05:13,356.356 INFO    ] 200
[2026-08-29 06:05:13,358.358 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:05:13,381.381 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:05:13,463.463 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:05:13,464.464 INFO    ] No camera update needed
[2026-08-29 06:05:13,466.466 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:05:13,467.467 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:05:13,470.470 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:05:13,472.472 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:05:15,510.510 INFO    ] ================================================
[2026-08-29 06:05:15,532.532 INFO    ] Launching Daemon at Sat Aug 29 06:05:15 IST 2026
[2026-08-29 06:05:15,542.542 INFO    ] ================================================
[2026-08-29 06:05:16,100.100 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:05:16
[2026-08-29 06:05:16,687.687 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:05:16,956.956 INFO    ] Initializing speech engine...
[2026-08-29 06:05:16,965.965 INFO    ] 2026-08-29 06:05:16
[2026-08-29 06:05:17,210.210 INFO    ] 2026-08-29 06:05:17
[2026-08-29 06:05:17,245.245 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:05:17,417.417 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:05:17,429.429 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:05:17,571.571 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:05:17,579.579 INFO    ] time= 29/08/2026 06:05:17
[2026-08-29 06:05:17,586.586 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:05:17,633.633 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:05:17,752.752 INFO    ] No existing commands found in stream
[2026-08-29 06:05:22,777.777 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:05:22,780.780 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-08-29 06:05:25,876.876 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:05:25,879.879 INFO    ] Checking for system updates...
[2026-08-29 06:05:25,914.914 INFO    ] 200
[2026-08-29 06:05:25,916.916 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:05:25,974.974 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:05:25,977.977 INFO    ] No update needed
[2026-08-29 06:05:25,979.979 INFO    ] Checking for camera pi updates...
[2026-08-29 06:05:26,012.012 INFO    ] 200
[2026-08-29 06:05:26,015.015 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:05:26,059.059 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:05:26,146.146 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:05:26,149.149 INFO    ] No camera update needed
[2026-08-29 06:05:26,151.151 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:05:26,153.153 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:05:26,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:05:26,163.163 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:05:28,204.204 INFO    ] ================================================
[2026-08-29 06:05:28,224.224 INFO    ] Launching Daemon at Sat Aug 29 06:05:28 IST 2026
[2026-08-29 06:05:28,235.235 INFO    ] ================================================
[2026-08-29 06:05:28,616.616 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:05:28
[2026-08-29 06:05:28,933.933 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:05:29,096.096 INFO    ] Initializing speech engine...
[2026-08-29 06:05:29,111.111 INFO    ] 2026-08-29 06:05:29
[2026-08-29 06:05:29,376.376 INFO    ] 2026-08-29 06:05:29
[2026-08-29 06:05:29,413.413 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:05:29,585.585 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:05:29,598.598 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:05:29,739.739 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:05:29,746.746 INFO    ] time= 29/08/2026 06:05:29
[2026-08-29 06:05:29,755.755 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:05:29,799.799 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:05:29,931.931 INFO    ] No existing commands found in stream
[2026-08-29 06:05:34,956.956 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:05:34,958.958 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-08-29 06:05:37,766.766 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:05:37,767.767 INFO    ] Checking for system updates...
[2026-08-29 06:05:37,788.788 INFO    ] 200
[2026-08-29 06:05:37,789.789 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:05:37,821.821 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:05:37,822.822 INFO    ] No update needed
[2026-08-29 06:05:37,823.823 INFO    ] Checking for camera pi updates...
[2026-08-29 06:05:37,842.842 INFO    ] 200
[2026-08-29 06:05:37,844.844 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:05:37,867.867 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:05:38,043.043 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:05:38,044.044 INFO    ] No camera update needed
[2026-08-29 06:05:38,045.045 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:05:38,046.046 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:05:38,049.049 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:05:38,052.052 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:05:40,092.092 INFO    ] ================================================
[2026-08-29 06:05:40,107.107 INFO    ] Launching Daemon at Sat Aug 29 06:05:40 IST 2026
[2026-08-29 06:05:40,118.118 INFO    ] ================================================
[2026-08-29 06:05:40,479.479 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:05:40
[2026-08-29 06:05:40,791.791 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:05:41,016.016 INFO    ] Initializing speech engine...
[2026-08-29 06:05:41,026.026 INFO    ] 2026-08-29 06:05:41
[2026-08-29 06:05:41,273.273 INFO    ] 2026-08-29 06:05:41
[2026-08-29 06:05:41,308.308 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:05:41,480.480 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:05:41,493.493 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:05:41,633.633 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:05:41,641.641 INFO    ] time= 29/08/2026 06:05:41
[2026-08-29 06:05:41,649.649 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:05:41,695.695 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:05:41,820.820 INFO    ] No existing commands found in stream
[2026-08-29 06:05:46,849.849 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:05:46,852.852 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 06:05:48,605.605 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:05:48,606.606 INFO    ] Checking for system updates...
[2026-08-29 06:05:48,628.628 INFO    ] 200
[2026-08-29 06:05:48,629.629 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:05:48,659.659 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:05:48,660.660 INFO    ] No update needed
[2026-08-29 06:05:48,662.662 INFO    ] Checking for camera pi updates...
[2026-08-29 06:05:48,682.682 INFO    ] 200
[2026-08-29 06:05:48,683.683 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:05:48,707.707 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:05:48,784.784 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:05:48,785.785 INFO    ] No camera update needed
[2026-08-29 06:05:48,786.786 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:05:48,787.787 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:05:48,790.790 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:05:48,793.793 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:05:50,833.833 INFO    ] ================================================
[2026-08-29 06:05:50,849.849 INFO    ] Launching Daemon at Sat Aug 29 06:05:50 IST 2026
[2026-08-29 06:05:50,860.860 INFO    ] ================================================
[2026-08-29 06:05:51,230.230 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:05:51
[2026-08-29 06:05:51,597.597 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:05:51,900.900 INFO    ] Initializing speech engine...
[2026-08-29 06:05:51,914.914 INFO    ] 2026-08-29 06:05:51
[2026-08-29 06:05:52,225.225 INFO    ] 2026-08-29 06:05:52
[2026-08-29 06:05:52,305.305 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:05:52,459.459 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:05:52,466.466 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:05:52,599.599 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:05:52,656.656 INFO    ] time= 29/08/2026 06:05:52
[2026-08-29 06:05:52,720.720 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:05:52,736.736 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:05:52,851.851 INFO    ] No existing commands found in stream
[2026-08-29 06:05:57,877.877 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:05:57,880.880 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-08-29 06:06:00,568.568 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:06:00,570.570 INFO    ] Checking for system updates...
[2026-08-29 06:06:00,591.591 INFO    ] 200
[2026-08-29 06:06:00,592.592 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:06:00,622.622 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:06:00,624.624 INFO    ] No update needed
[2026-08-29 06:06:00,625.625 INFO    ] Checking for camera pi updates...
[2026-08-29 06:06:00,645.645 INFO    ] 200
[2026-08-29 06:06:00,647.647 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:06:00,670.670 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:06:00,769.769 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:06:00,770.770 INFO    ] No camera update needed
[2026-08-29 06:06:00,772.772 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:06:00,773.773 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:06:00,776.776 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:06:00,779.779 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:06:02,821.821 INFO    ] ================================================
[2026-08-29 06:06:02,838.838 INFO    ] Launching Daemon at Sat Aug 29 06:06:02 IST 2026
[2026-08-29 06:06:02,849.849 INFO    ] ================================================
[2026-08-29 06:06:03,444.444 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:06:03
[2026-08-29 06:06:04,029.029 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:06:04,295.295 INFO    ] Initializing speech engine...
[2026-08-29 06:06:04,308.308 INFO    ] 2026-08-29 06:06:04
[2026-08-29 06:06:04,594.594 INFO    ] 2026-08-29 06:06:04
[2026-08-29 06:06:04,633.633 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:06:04,803.803 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:06:04,835.835 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:06:04,979.979 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:06:04,983.983 INFO    ] time= 29/08/2026 06:06:04
[2026-08-29 06:06:04,993.993 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:06:05,003.003 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:06:05,103.103 INFO    ] No existing commands found in stream
[2026-08-29 06:06:10,132.132 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:06:10,135.135 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-08-29 06:06:13,230.230 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:06:13,232.232 INFO    ] Checking for system updates...
[2026-08-29 06:06:13,253.253 INFO    ] 200
[2026-08-29 06:06:13,254.254 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:06:13,284.284 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:06:13,285.285 INFO    ] No update needed
[2026-08-29 06:06:13,287.287 INFO    ] Checking for camera pi updates...
[2026-08-29 06:06:13,307.307 INFO    ] 200
[2026-08-29 06:06:13,308.308 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:06:13,339.339 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:06:13,424.424 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:06:13,426.426 INFO    ] No camera update needed
[2026-08-29 06:06:13,428.428 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:06:13,430.430 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:06:13,436.436 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:06:13,441.441 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:06:15,483.483 INFO    ] ================================================
[2026-08-29 06:06:15,498.498 INFO    ] Launching Daemon at Sat Aug 29 06:06:15 IST 2026
[2026-08-29 06:06:15,509.509 INFO    ] ================================================
[2026-08-29 06:06:16,082.082 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:06:16
[2026-08-29 06:06:16,591.591 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:06:16,865.865 INFO    ] Initializing speech engine...
[2026-08-29 06:06:16,874.874 INFO    ] 2026-08-29 06:06:16
[2026-08-29 06:06:17,126.126 INFO    ] 2026-08-29 06:06:17
[2026-08-29 06:06:17,194.194 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:06:17,361.361 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:06:17,394.394 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:06:17,566.566 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:06:17,588.588 INFO    ] time= 29/08/2026 06:06:17
[2026-08-29 06:06:17,653.653 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:06:17,702.702 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:06:17,757.757 INFO    ] No existing commands found in stream
[2026-08-29 06:06:22,769.769 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:06:22,771.771 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-08-29 06:06:24,558.558 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:06:24,561.561 INFO    ] Checking for system updates...
[2026-08-29 06:06:24,597.597 INFO    ] 200
[2026-08-29 06:06:24,600.600 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:06:24,658.658 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:06:24,661.661 INFO    ] No update needed
[2026-08-29 06:06:24,664.664 INFO    ] Checking for camera pi updates...
[2026-08-29 06:06:24,698.698 INFO    ] 200
[2026-08-29 06:06:24,701.701 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:06:24,742.742 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:06:24,839.839 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:06:24,842.842 INFO    ] No camera update needed
[2026-08-29 06:06:24,845.845 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:06:24,847.847 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:06:24,853.853 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:06:24,858.858 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:06:26,900.900 INFO    ] ================================================
[2026-08-29 06:06:26,915.915 INFO    ] Launching Daemon at Sat Aug 29 06:06:26 IST 2026
[2026-08-29 06:06:26,926.926 INFO    ] ================================================
[2026-08-29 06:06:27,544.544 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:06:27
[2026-08-29 06:06:28,085.085 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:06:28,371.371 INFO    ] Initializing speech engine...
[2026-08-29 06:06:28,380.380 INFO    ] 2026-08-29 06:06:28
[2026-08-29 06:06:28,638.638 INFO    ] 2026-08-29 06:06:28
[2026-08-29 06:06:28,707.707 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:06:28,930.930 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:06:28,939.939 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:06:29,073.073 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:06:29,121.121 INFO    ] time= 29/08/2026 06:06:29
[2026-08-29 06:06:29,160.160 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:06:29,208.208 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:06:29,268.268 INFO    ] No existing commands found in stream
[2026-08-29 06:06:34,288.288 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:06:34,291.291 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-08-29 06:06:36,755.755 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:06:36,757.757 INFO    ] Checking for system updates...
[2026-08-29 06:06:36,778.778 INFO    ] 200
[2026-08-29 06:06:36,779.779 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:06:36,809.809 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:06:36,811.811 INFO    ] No update needed
[2026-08-29 06:06:36,812.812 INFO    ] Checking for camera pi updates...
[2026-08-29 06:06:36,834.834 INFO    ] 200
[2026-08-29 06:06:36,835.835 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:06:36,862.862 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:06:36,982.982 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:06:36,984.984 INFO    ] No camera update needed
[2026-08-29 06:06:36,985.985 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:06:36,987.987 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:06:36,990.990 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:06:36,993.993 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:06:39,032.032 INFO    ] ================================================
[2026-08-29 06:06:39,047.047 INFO    ] Launching Daemon at Sat Aug 29 06:06:39 IST 2026
[2026-08-29 06:06:39,057.057 INFO    ] ================================================
[2026-08-29 06:06:39,407.407 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:06:39
[2026-08-29 06:06:39,725.725 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:06:39,979.979 INFO    ] Initializing speech engine...
[2026-08-29 06:06:39,986.986 INFO    ] 2026-08-29 06:06:39
[2026-08-29 06:06:40,240.240 INFO    ] 2026-08-29 06:06:40
[2026-08-29 06:06:40,299.299 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:06:40,468.468 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:06:40,525.525 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:06:40,663.663 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:06:40,700.700 INFO    ] time= 29/08/2026 06:06:40
[2026-08-29 06:06:40,750.750 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:06:40,796.796 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:06:40,850.850 INFO    ] No existing commands found in stream
[2026-08-29 06:06:45,863.863 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:06:45,865.865 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-08-29 06:06:49,227.227 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:06:49,229.229 INFO    ] Checking for system updates...
[2026-08-29 06:06:49,249.249 INFO    ] 200
[2026-08-29 06:06:49,250.250 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:06:49,283.283 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:06:49,284.284 INFO    ] No update needed
[2026-08-29 06:06:49,285.285 INFO    ] Checking for camera pi updates...
[2026-08-29 06:06:49,304.304 INFO    ] 200
[2026-08-29 06:06:49,306.306 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:06:49,331.331 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:06:49,415.415 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:06:49,417.417 INFO    ] No camera update needed
[2026-08-29 06:06:49,420.420 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:06:49,422.422 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:06:49,427.427 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:06:49,432.432 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:06:51,472.472 INFO    ] ================================================
[2026-08-29 06:06:51,487.487 INFO    ] Launching Daemon at Sat Aug 29 06:06:51 IST 2026
[2026-08-29 06:06:51,498.498 INFO    ] ================================================
[2026-08-29 06:06:52,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:06:52
[2026-08-29 06:06:52,524.524 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:06:52,667.667 INFO    ] Initializing speech engine...
[2026-08-29 06:06:52,672.672 INFO    ] 2026-08-29 06:06:52
[2026-08-29 06:06:52,875.875 INFO    ] 2026-08-29 06:06:52
[2026-08-29 06:06:52,903.903 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:06:53,035.035 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:06:53,088.088 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:06:53,254.254 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:06:53,269.269 INFO    ] time= 29/08/2026 06:06:53
[2026-08-29 06:06:53,318.318 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:06:53,357.357 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:06:53,445.445 INFO    ] No existing commands found in stream
[2026-08-29 06:06:58,475.475 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:06:58,478.478 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-08-29 06:07:02,149.149 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:07:02,152.152 INFO    ] Checking for system updates...
[2026-08-29 06:07:02,196.196 INFO    ] 200
[2026-08-29 06:07:02,199.199 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:07:02,257.257 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:07:02,260.260 INFO    ] No update needed
[2026-08-29 06:07:02,263.263 INFO    ] Checking for camera pi updates...
[2026-08-29 06:07:02,301.301 INFO    ] 200
[2026-08-29 06:07:02,304.304 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:07:02,352.352 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:07:02,464.464 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:07:02,468.468 INFO    ] No camera update needed
[2026-08-29 06:07:02,471.471 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:07:02,475.475 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:07:02,491.491 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:07:02,498.498 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:07:04,541.541 INFO    ] ================================================
[2026-08-29 06:07:04,557.557 INFO    ] Launching Daemon at Sat Aug 29 06:07:04 IST 2026
[2026-08-29 06:07:04,568.568 INFO    ] ================================================
[2026-08-29 06:07:04,958.958 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:07:04
[2026-08-29 06:07:05,287.287 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:07:05,436.436 INFO    ] Initializing speech engine...
[2026-08-29 06:07:05,441.441 INFO    ] 2026-08-29 06:07:05
[2026-08-29 06:07:05,650.650 INFO    ] 2026-08-29 06:07:05
[2026-08-29 06:07:05,679.679 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:07:05,812.812 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:07:05,870.870 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:07:06,031.031 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:07:06,063.063 INFO    ] time= 29/08/2026 06:07:06
[2026-08-29 06:07:06,117.117 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:07:06,145.145 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:07:06,264.264 INFO    ] No existing commands found in stream
[2026-08-29 06:07:11,293.293 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:07:11,295.295 INFO    ] Waiting 2.52 seconds before fallback handling...
[2026-08-29 06:07:14,143.143 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:07:14,145.145 INFO    ] Checking for system updates...
[2026-08-29 06:07:14,165.165 INFO    ] 200
[2026-08-29 06:07:14,166.166 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:07:14,196.196 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:07:14,197.197 INFO    ] No update needed
[2026-08-29 06:07:14,199.199 INFO    ] Checking for camera pi updates...
[2026-08-29 06:07:14,218.218 INFO    ] 200
[2026-08-29 06:07:14,219.219 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:07:14,243.243 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:07:14,324.324 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:07:14,325.325 INFO    ] No camera update needed
[2026-08-29 06:07:14,326.326 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:07:14,328.328 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:07:14,331.331 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:07:14,334.334 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:07:16,373.373 INFO    ] ================================================
[2026-08-29 06:07:16,388.388 INFO    ] Launching Daemon at Sat Aug 29 06:07:16 IST 2026
[2026-08-29 06:07:16,399.399 INFO    ] ================================================
[2026-08-29 06:07:16,765.765 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:07:16
[2026-08-29 06:07:17,090.090 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:07:17,227.227 INFO    ] Initializing speech engine...
[2026-08-29 06:07:17,235.235 INFO    ] 2026-08-29 06:07:17
[2026-08-29 06:07:17,431.431 INFO    ] 2026-08-29 06:07:17
[2026-08-29 06:07:17,513.513 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:07:17,663.663 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:07:17,672.672 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:07:17,808.808 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:07:17,829.829 INFO    ] time= 29/08/2026 06:07:17
[2026-08-29 06:07:17,883.883 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:07:17,933.933 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:07:17,997.997 INFO    ] No existing commands found in stream
[2026-08-29 06:07:23,008.008 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:07:23,011.011 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-08-29 06:07:26,081.081 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:07:26,084.084 INFO    ] Checking for system updates...
[2026-08-29 06:07:26,120.120 INFO    ] 200
[2026-08-29 06:07:26,123.123 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:07:26,177.177 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:07:26,180.180 INFO    ] No update needed
[2026-08-29 06:07:26,183.183 INFO    ] Checking for camera pi updates...
[2026-08-29 06:07:26,220.220 INFO    ] 200
[2026-08-29 06:07:26,223.223 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:07:26,268.268 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:07:26,351.351 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:07:26,353.353 INFO    ] No camera update needed
[2026-08-29 06:07:26,356.356 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:07:26,358.358 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:07:26,363.363 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:07:26,368.368 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:07:28,409.409 INFO    ] ================================================
[2026-08-29 06:07:28,424.424 INFO    ] Launching Daemon at Sat Aug 29 06:07:28 IST 2026
[2026-08-29 06:07:28,434.434 INFO    ] ================================================
[2026-08-29 06:07:28,795.795 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:07:28
[2026-08-29 06:07:29,109.109 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:07:29,323.323 INFO    ] Initializing speech engine...
[2026-08-29 06:07:29,331.331 INFO    ] 2026-08-29 06:07:29
[2026-08-29 06:07:29,582.582 INFO    ] 2026-08-29 06:07:29
[2026-08-29 06:07:29,617.617 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:07:29,807.807 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:07:29,823.823 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:07:29,943.943 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:07:29,948.948 INFO    ] time= 29/08/2026 06:07:29
[2026-08-29 06:07:29,968.968 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:07:29,990.990 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:07:30,070.070 INFO    ] No existing commands found in stream
[2026-08-29 06:07:35,083.083 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:07:35,086.086 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-08-29 06:07:38,411.411 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:07:38,413.413 INFO    ] Checking for system updates...
[2026-08-29 06:07:38,434.434 INFO    ] 200
[2026-08-29 06:07:38,436.436 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:07:38,466.466 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:07:38,467.467 INFO    ] No update needed
[2026-08-29 06:07:38,468.468 INFO    ] Checking for camera pi updates...
[2026-08-29 06:07:38,488.488 INFO    ] 200
[2026-08-29 06:07:38,489.489 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:07:38,513.513 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:07:38,599.599 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:07:38,601.601 INFO    ] No camera update needed
[2026-08-29 06:07:38,604.604 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:07:38,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:07:38,612.612 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:07:38,618.618 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:07:40,658.658 INFO    ] ================================================
[2026-08-29 06:07:40,673.673 INFO    ] Launching Daemon at Sat Aug 29 06:07:40 IST 2026
[2026-08-29 06:07:40,684.684 INFO    ] ================================================
[2026-08-29 06:07:41,249.249 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:07:41
[2026-08-29 06:07:41,766.766 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:07:41,895.895 INFO    ] Initializing speech engine...
[2026-08-29 06:07:41,900.900 INFO    ] 2026-08-29 06:07:41
[2026-08-29 06:07:42,092.092 INFO    ] 2026-08-29 06:07:42
[2026-08-29 06:07:42,127.127 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:07:42,299.299 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:07:42,312.312 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:07:42,453.453 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:07:42,461.461 INFO    ] time= 29/08/2026 06:07:42
[2026-08-29 06:07:42,469.469 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:07:42,518.518 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:07:42,658.658 INFO    ] No existing commands found in stream
[2026-08-29 06:07:47,683.683 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:07:47,686.686 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-08-29 06:07:49,581.581 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:07:49,584.584 INFO    ] Checking for system updates...
[2026-08-29 06:07:49,622.622 INFO    ] 200
[2026-08-29 06:07:49,625.625 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:07:49,681.681 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:07:49,684.684 INFO    ] No update needed
[2026-08-29 06:07:49,686.686 INFO    ] Checking for camera pi updates...
[2026-08-29 06:07:49,729.729 INFO    ] 200
[2026-08-29 06:07:49,731.731 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:07:49,774.774 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:07:50,011.011 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:07:50,015.015 INFO    ] No camera update needed
[2026-08-29 06:07:50,017.017 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:07:50,020.020 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:07:50,026.026 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:07:50,032.032 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:07:52,073.073 INFO    ] ================================================
[2026-08-29 06:07:52,088.088 INFO    ] Launching Daemon at Sat Aug 29 06:07:52 IST 2026
[2026-08-29 06:07:52,098.098 INFO    ] ================================================
[2026-08-29 06:07:52,634.634 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:07:52
[2026-08-29 06:07:52,950.950 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:07:53,088.088 INFO    ] Initializing speech engine...
[2026-08-29 06:07:53,102.102 INFO    ] 2026-08-29 06:07:53
[2026-08-29 06:07:53,318.318 INFO    ] 2026-08-29 06:07:53
[2026-08-29 06:07:53,349.349 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:07:53,478.478 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:07:53,497.497 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:07:53,633.633 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:07:53,679.679 INFO    ] time= 29/08/2026 06:07:53
[2026-08-29 06:07:53,720.720 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:07:53,772.772 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:07:53,869.869 INFO    ] No existing commands found in stream
[2026-08-29 06:07:58,880.880 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:07:58,883.883 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-08-29 06:07:59,783.783 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:07:59,784.784 INFO    ] Checking for system updates...
[2026-08-29 06:07:59,805.805 INFO    ] 200
[2026-08-29 06:07:59,806.806 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:07:59,847.847 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:07:59,849.849 INFO    ] No update needed
[2026-08-29 06:07:59,850.850 INFO    ] Checking for camera pi updates...
[2026-08-29 06:07:59,878.878 INFO    ] 200
[2026-08-29 06:07:59,879.879 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:07:59,902.902 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:07:59,985.985 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:07:59,987.987 INFO    ] No camera update needed
[2026-08-29 06:07:59,990.990 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:07:59,992.992 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:07:59,997.997 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:08:00,002.002 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:08:02,057.057 INFO    ] ================================================
[2026-08-29 06:08:02,102.102 INFO    ] Launching Daemon at Sat Aug 29 06:08:02 IST 2026
[2026-08-29 06:08:02,138.138 INFO    ] ================================================
[2026-08-29 06:08:02,817.817 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:08:02
[2026-08-29 06:08:03,382.382 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:08:03,672.672 INFO    ] Initializing speech engine...
[2026-08-29 06:08:03,700.700 INFO    ] 2026-08-29 06:08:03
[2026-08-29 06:08:03,967.967 INFO    ] 2026-08-29 06:08:03
[2026-08-29 06:08:04,035.035 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:08:04,203.203 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:08:04,210.210 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:08:04,340.340 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:08:04,347.347 INFO    ] time= 29/08/2026 06:08:04
[2026-08-29 06:08:04,355.355 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:08:04,396.396 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:08:04,507.507 INFO    ] No existing commands found in stream
[2026-08-29 06:08:09,533.533 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:08:09,535.535 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-08-29 06:08:11,755.755 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:08:11,756.756 INFO    ] Checking for system updates...
[2026-08-29 06:08:11,777.777 INFO    ] 200
[2026-08-29 06:08:11,778.778 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:08:11,808.808 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:08:11,809.809 INFO    ] No update needed
[2026-08-29 06:08:11,810.810 INFO    ] Checking for camera pi updates...
[2026-08-29 06:08:11,833.833 INFO    ] 200
[2026-08-29 06:08:11,834.834 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:08:11,862.862 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:08:11,964.964 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:08:11,967.967 INFO    ] No camera update needed
[2026-08-29 06:08:11,969.969 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:08:11,971.971 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:08:11,977.977 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:08:11,981.981 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:08:14,024.024 INFO    ] ================================================
[2026-08-29 06:08:14,039.039 INFO    ] Launching Daemon at Sat Aug 29 06:08:14 IST 2026
[2026-08-29 06:08:14,050.050 INFO    ] ================================================
[2026-08-29 06:08:14,619.619 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:08:14
[2026-08-29 06:08:15,117.117 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:08:15,378.378 INFO    ] Initializing speech engine...
[2026-08-29 06:08:15,402.402 INFO    ] 2026-08-29 06:08:15
[2026-08-29 06:08:15,672.672 INFO    ] 2026-08-29 06:08:15
[2026-08-29 06:08:15,707.707 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:08:15,857.857 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:08:15,869.869 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:08:16,009.009 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:08:16,018.018 INFO    ] time= 29/08/2026 06:08:16
[2026-08-29 06:08:16,024.024 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:08:16,046.046 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:08:16,101.101 INFO    ] No existing commands found in stream
[2026-08-29 06:08:21,113.113 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:08:21,115.115 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-08-29 06:08:24,103.103 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:08:24,104.104 INFO    ] Checking for system updates...
[2026-08-29 06:08:24,125.125 INFO    ] 200
[2026-08-29 06:08:24,126.126 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:08:24,156.156 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:08:24,157.157 INFO    ] No update needed
[2026-08-29 06:08:24,158.158 INFO    ] Checking for camera pi updates...
[2026-08-29 06:08:24,179.179 INFO    ] 200
[2026-08-29 06:08:24,181.181 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:08:24,206.206 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:08:24,286.286 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:08:24,287.287 INFO    ] No camera update needed
[2026-08-29 06:08:24,289.289 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:08:24,290.290 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:08:24,293.293 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:08:24,296.296 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:08:26,334.334 INFO    ] ================================================
[2026-08-29 06:08:26,350.350 INFO    ] Launching Daemon at Sat Aug 29 06:08:26 IST 2026
[2026-08-29 06:08:26,360.360 INFO    ] ================================================
[2026-08-29 06:08:26,708.708 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:08:26
[2026-08-29 06:08:27,227.227 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:08:27,475.475 INFO    ] Initializing speech engine...
[2026-08-29 06:08:27,489.489 INFO    ] 2026-08-29 06:08:27
[2026-08-29 06:08:27,772.772 INFO    ] 2026-08-29 06:08:27
[2026-08-29 06:08:27,809.809 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:08:28,003.003 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:08:28,019.019 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:08:28,141.141 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:08:28,149.149 INFO    ] time= 29/08/2026 06:08:28
[2026-08-29 06:08:28,168.168 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:08:28,189.189 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:08:28,270.270 INFO    ] No existing commands found in stream
[2026-08-29 06:08:33,283.283 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:08:33,286.286 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-08-29 06:08:35,008.008 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:08:35,010.010 INFO    ] Checking for system updates...
[2026-08-29 06:08:35,032.032 INFO    ] 200
[2026-08-29 06:08:35,033.033 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:08:35,064.064 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:08:35,066.066 INFO    ] No update needed
[2026-08-29 06:08:35,067.067 INFO    ] Checking for camera pi updates...
[2026-08-29 06:08:35,086.086 INFO    ] 200
[2026-08-29 06:08:35,087.087 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:08:35,112.112 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:08:35,197.197 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:08:35,199.199 INFO    ] No camera update needed
[2026-08-29 06:08:35,200.200 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:08:35,201.201 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:08:35,205.205 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:08:35,208.208 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:08:37,246.246 INFO    ] ================================================
[2026-08-29 06:08:37,262.262 INFO    ] Launching Daemon at Sat Aug 29 06:08:37 IST 2026
[2026-08-29 06:08:37,274.274 INFO    ] ================================================
[2026-08-29 06:08:37,639.639 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:08:37
[2026-08-29 06:08:37,973.973 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:08:38,122.122 INFO    ] Initializing speech engine...
[2026-08-29 06:08:38,127.127 INFO    ] 2026-08-29 06:08:38
[2026-08-29 06:08:38,336.336 INFO    ] 2026-08-29 06:08:38
[2026-08-29 06:08:38,365.365 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:08:38,487.487 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:08:38,550.550 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:08:38,688.688 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:08:38,755.755 INFO    ] time= 29/08/2026 06:08:38
[2026-08-29 06:08:38,780.780 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:08:38,786.786 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:08:38,852.852 INFO    ] No existing commands found in stream
[2026-08-29 06:08:43,863.863 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:08:43,866.866 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-08-29 06:08:45,986.986 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:08:45,988.988 INFO    ] Checking for system updates...
[2026-08-29 06:08:46,009.009 INFO    ] 200
[2026-08-29 06:08:46,010.010 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:08:46,044.044 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:08:46,046.046 INFO    ] No update needed
[2026-08-29 06:08:46,047.047 INFO    ] Checking for camera pi updates...
[2026-08-29 06:08:46,066.066 INFO    ] 200
[2026-08-29 06:08:46,068.068 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:08:46,093.093 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:08:46,184.184 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:08:46,185.185 INFO    ] No camera update needed
[2026-08-29 06:08:46,187.187 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:08:46,188.188 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:08:46,191.191 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:08:46,194.194 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:08:48,232.232 INFO    ] ================================================
[2026-08-29 06:08:48,247.247 INFO    ] Launching Daemon at Sat Aug 29 06:08:48 IST 2026
[2026-08-29 06:08:48,259.259 INFO    ] ================================================
[2026-08-29 06:08:48,589.589 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:08:48
[2026-08-29 06:08:48,899.899 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:08:49,029.029 INFO    ] Initializing speech engine...
[2026-08-29 06:08:49,034.034 INFO    ] 2026-08-29 06:08:49
[2026-08-29 06:08:49,253.253 INFO    ] 2026-08-29 06:08:49
[2026-08-29 06:08:49,283.283 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:08:49,406.406 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:08:49,469.469 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:08:49,603.603 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:08:49,664.664 INFO    ] time= 29/08/2026 06:08:49
[2026-08-29 06:08:49,699.699 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:08:49,704.704 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:08:49,776.776 INFO    ] No existing commands found in stream
[2026-08-29 06:08:54,786.786 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:08:54,789.789 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-08-29 06:08:56,267.267 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:08:56,268.268 INFO    ] Checking for system updates...
[2026-08-29 06:08:56,290.290 INFO    ] 200
[2026-08-29 06:08:56,291.291 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:08:56,321.321 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:08:56,323.323 INFO    ] No update needed
[2026-08-29 06:08:56,324.324 INFO    ] Checking for camera pi updates...
[2026-08-29 06:08:56,343.343 INFO    ] 200
[2026-08-29 06:08:56,344.344 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:08:56,368.368 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:08:56,449.449 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:08:56,451.451 INFO    ] No camera update needed
[2026-08-29 06:08:56,452.452 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:08:56,453.453 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:08:56,456.456 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:08:56,459.459 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:08:58,498.498 INFO    ] ================================================
[2026-08-29 06:08:58,520.520 INFO    ] Launching Daemon at Sat Aug 29 06:08:58 IST 2026
[2026-08-29 06:08:58,530.530 INFO    ] ================================================
[2026-08-29 06:08:58,868.868 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:08:58
[2026-08-29 06:08:59,182.182 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:08:59,312.312 INFO    ] Initializing speech engine...
[2026-08-29 06:08:59,316.316 INFO    ] 2026-08-29 06:08:59
[2026-08-29 06:08:59,570.570 INFO    ] 2026-08-29 06:08:59
[2026-08-29 06:08:59,606.606 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:08:59,781.781 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:08:59,795.795 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:08:59,940.940 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:08:59,947.947 INFO    ] time= 29/08/2026 06:08:59
[2026-08-29 06:08:59,955.955 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:09:00,007.007 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:09:00,121.121 INFO    ] No existing commands found in stream
[2026-08-29 06:09:05,151.151 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:09:05,154.154 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-08-29 06:09:06,050.050 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:09:06,051.051 INFO    ] Checking for system updates...
[2026-08-29 06:09:06,073.073 INFO    ] 200
[2026-08-29 06:09:06,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:09:06,104.104 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:09:06,105.105 INFO    ] No update needed
[2026-08-29 06:09:06,106.106 INFO    ] Checking for camera pi updates...
[2026-08-29 06:09:06,125.125 INFO    ] 200
[2026-08-29 06:09:06,127.127 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:09:06,151.151 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:09:06,197.197 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:09:06,198.198 INFO    ] No camera update needed
[2026-08-29 06:09:06,199.199 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:09:06,200.200 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:09:06,203.203 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:09:06,206.206 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:09:08,244.244 INFO    ] ================================================
[2026-08-29 06:09:08,259.259 INFO    ] Launching Daemon at Sat Aug 29 06:09:08 IST 2026
[2026-08-29 06:09:08,270.270 INFO    ] ================================================
[2026-08-29 06:09:08,647.647 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:09:08
[2026-08-29 06:09:08,983.983 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:09:09,127.127 INFO    ] Initializing speech engine...
[2026-08-29 06:09:09,136.136 INFO    ] 2026-08-29 06:09:09
[2026-08-29 06:09:09,327.327 INFO    ] 2026-08-29 06:09:09
[2026-08-29 06:09:09,362.362 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:09:09,531.531 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:09:09,544.544 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:09:09,691.691 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:09:09,697.697 INFO    ] time= 29/08/2026 06:09:09
[2026-08-29 06:09:09,703.703 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:09:09,744.744 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:09:09,862.862 INFO    ] No existing commands found in stream
[2026-08-29 06:09:14,888.888 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:09:14,891.891 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-08-29 06:09:17,067.067 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:09:17,069.069 INFO    ] Checking for system updates...
[2026-08-29 06:09:17,090.090 INFO    ] 200
[2026-08-29 06:09:17,091.091 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:09:17,122.122 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:09:17,124.124 INFO    ] No update needed
[2026-08-29 06:09:17,125.125 INFO    ] Checking for camera pi updates...
[2026-08-29 06:09:17,144.144 INFO    ] 200
[2026-08-29 06:09:17,146.146 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:09:17,169.169 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:09:17,270.270 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:09:17,271.271 INFO    ] No camera update needed
[2026-08-29 06:09:17,273.273 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:09:17,274.274 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:09:17,277.277 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:09:17,280.280 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:09:19,319.319 INFO    ] ================================================
[2026-08-29 06:09:19,334.334 INFO    ] Launching Daemon at Sat Aug 29 06:09:19 IST 2026
[2026-08-29 06:09:19,345.345 INFO    ] ================================================
[2026-08-29 06:09:19,714.714 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:09:19
[2026-08-29 06:09:20,031.031 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:09:20,165.165 INFO    ] Initializing speech engine...
[2026-08-29 06:09:20,170.170 INFO    ] 2026-08-29 06:09:20
[2026-08-29 06:09:20,413.413 INFO    ] 2026-08-29 06:09:20
[2026-08-29 06:09:20,451.451 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:09:20,639.639 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:09:20,654.654 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:09:20,808.808 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:09:20,816.816 INFO    ] time= 29/08/2026 06:09:20
[2026-08-29 06:09:20,823.823 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:09:20,830.830 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:09:20,903.903 INFO    ] No existing commands found in stream
[2026-08-29 06:09:25,938.938 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:09:25,941.941 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-08-29 06:09:29,274.274 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:09:29,276.276 INFO    ] Checking for system updates...
[2026-08-29 06:09:29,296.296 INFO    ] 200
[2026-08-29 06:09:29,297.297 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:09:29,331.331 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:09:29,333.333 INFO    ] No update needed
[2026-08-29 06:09:29,334.334 INFO    ] Checking for camera pi updates...
[2026-08-29 06:09:29,353.353 INFO    ] 200
[2026-08-29 06:09:29,354.354 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:09:29,378.378 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:09:29,458.458 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:09:29,460.460 INFO    ] No camera update needed
[2026-08-29 06:09:29,461.461 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:09:29,462.462 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:09:29,465.465 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:09:29,468.468 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:09:31,506.506 INFO    ] ================================================
[2026-08-29 06:09:31,521.521 INFO    ] Launching Daemon at Sat Aug 29 06:09:31 IST 2026
[2026-08-29 06:09:31,532.532 INFO    ] ================================================
[2026-08-29 06:09:31,904.904 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:09:31
[2026-08-29 06:09:32,432.432 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:09:32,705.705 INFO    ] Initializing speech engine...
[2026-08-29 06:09:32,729.729 INFO    ] 2026-08-29 06:09:32
[2026-08-29 06:09:33,001.001 INFO    ] 2026-08-29 06:09:32
[2026-08-29 06:09:33,041.041 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:09:33,226.226 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:09:33,240.240 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:09:33,385.385 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:09:33,392.392 INFO    ] time= 29/08/2026 06:09:33
[2026-08-29 06:09:33,401.401 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:09:33,451.451 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:09:33,571.571 INFO    ] No existing commands found in stream
[2026-08-29 06:09:38,601.601 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:09:38,604.604 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-08-29 06:09:39,698.698 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:09:39,699.699 INFO    ] Checking for system updates...
[2026-08-29 06:09:39,720.720 INFO    ] 200
[2026-08-29 06:09:39,722.722 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:09:39,753.753 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:09:39,754.754 INFO    ] No update needed
[2026-08-29 06:09:39,756.756 INFO    ] Checking for camera pi updates...
[2026-08-29 06:09:39,774.774 INFO    ] 200
[2026-08-29 06:09:39,776.776 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:09:39,800.800 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:09:39,885.885 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:09:39,887.887 INFO    ] No camera update needed
[2026-08-29 06:09:39,889.889 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:09:39,891.891 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:09:39,897.897 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:09:39,902.902 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:09:41,942.942 INFO    ] ================================================
[2026-08-29 06:09:41,957.957 INFO    ] Launching Daemon at Sat Aug 29 06:09:41 IST 2026
[2026-08-29 06:09:41,968.968 INFO    ] ================================================
[2026-08-29 06:09:42,591.591 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:09:42
[2026-08-29 06:09:43,078.078 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:09:43,226.226 INFO    ] Initializing speech engine...
[2026-08-29 06:09:43,231.231 INFO    ] 2026-08-29 06:09:43
[2026-08-29 06:09:43,441.441 INFO    ] 2026-08-29 06:09:43
[2026-08-29 06:09:43,469.469 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:09:43,594.594 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:09:43,652.652 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:09:43,798.798 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:09:43,866.866 INFO    ] time= 29/08/2026 06:09:43
[2026-08-29 06:09:43,891.891 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:09:43,898.898 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:09:43,964.964 INFO    ] No existing commands found in stream
[2026-08-29 06:09:48,975.975 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:09:48,978.978 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-08-29 06:09:53,165.165 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:09:53,167.167 INFO    ] Checking for system updates...
[2026-08-29 06:09:53,187.187 INFO    ] 200
[2026-08-29 06:09:53,189.189 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:09:53,219.219 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:09:53,220.220 INFO    ] No update needed
[2026-08-29 06:09:53,221.221 INFO    ] Checking for camera pi updates...
[2026-08-29 06:09:53,241.241 INFO    ] 200
[2026-08-29 06:09:53,242.242 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:09:53,266.266 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:09:53,462.462 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:09:53,464.464 INFO    ] No camera update needed
[2026-08-29 06:09:53,467.467 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:09:53,469.469 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:09:53,474.474 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:09:53,479.479 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:09:55,519.519 INFO    ] ================================================
[2026-08-29 06:09:55,534.534 INFO    ] Launching Daemon at Sat Aug 29 06:09:55 IST 2026
[2026-08-29 06:09:55,545.545 INFO    ] ================================================
[2026-08-29 06:09:56,111.111 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:09:56
[2026-08-29 06:09:56,621.621 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:09:56,751.751 INFO    ] Initializing speech engine...
[2026-08-29 06:09:56,755.755 INFO    ] 2026-08-29 06:09:56
[2026-08-29 06:09:56,949.949 INFO    ] 2026-08-29 06:09:56
[2026-08-29 06:09:56,989.989 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:09:57,141.141 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:09:57,155.155 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:09:57,297.297 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:09:57,346.346 INFO    ] time= 29/08/2026 06:09:57
[2026-08-29 06:09:57,386.386 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:09:57,430.430 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:09:57,529.529 INFO    ] No existing commands found in stream
[2026-08-29 06:10:02,540.540 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:10:02,544.544 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-08-29 06:10:10,289.289 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:10:10,291.291 INFO    ] Checking for system updates...
[2026-08-29 06:10:10,312.312 INFO    ] 200
[2026-08-29 06:10:10,314.314 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:10:10,349.349 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:10:10,350.350 INFO    ] No update needed
[2026-08-29 06:10:10,351.351 INFO    ] Checking for camera pi updates...
[2026-08-29 06:10:10,378.378 INFO    ] 200
[2026-08-29 06:10:10,379.379 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:10:10,406.406 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:10:10,507.507 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:10:10,508.508 INFO    ] No camera update needed
[2026-08-29 06:10:10,510.510 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:10:10,511.511 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:10:10,514.514 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:10:10,517.517 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:10:12,557.557 INFO    ] ================================================
[2026-08-29 06:10:12,573.573 INFO    ] Launching Daemon at Sat Aug 29 06:10:12 IST 2026
[2026-08-29 06:10:12,584.584 INFO    ] ================================================
[2026-08-29 06:10:12,946.946 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:10:12
[2026-08-29 06:10:13,259.259 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:10:13,421.421 INFO    ] Initializing speech engine...
[2026-08-29 06:10:13,446.446 INFO    ] 2026-08-29 06:10:13
[2026-08-29 06:10:13,715.715 INFO    ] 2026-08-29 06:10:13
[2026-08-29 06:10:13,753.753 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:10:13,943.943 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:10:13,950.950 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:10:14,079.079 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:10:14,086.086 INFO    ] time= 29/08/2026 06:10:14
[2026-08-29 06:10:14,105.105 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:10:14,127.127 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:10:14,208.208 INFO    ] No existing commands found in stream
[2026-08-29 06:10:19,220.220 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:10:19,223.223 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-08-29 06:10:19,829.829 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:10:19,831.831 INFO    ] Checking for system updates...
[2026-08-29 06:10:19,851.851 INFO    ] 200
[2026-08-29 06:10:19,853.853 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:10:19,884.884 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:10:19,885.885 INFO    ] No update needed
[2026-08-29 06:10:19,886.886 INFO    ] Checking for camera pi updates...
[2026-08-29 06:10:19,905.905 INFO    ] 200
[2026-08-29 06:10:19,907.907 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:10:19,931.931 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:10:20,029.029 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:10:20,031.031 INFO    ] No camera update needed
[2026-08-29 06:10:20,032.032 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:10:20,033.033 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:10:20,036.036 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:10:20,039.039 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:10:22,077.077 INFO    ] ================================================
[2026-08-29 06:10:22,093.093 INFO    ] Launching Daemon at Sat Aug 29 06:10:22 IST 2026
[2026-08-29 06:10:22,103.103 INFO    ] ================================================
[2026-08-29 06:10:22,466.466 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:10:22
[2026-08-29 06:10:22,778.778 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:10:22,921.921 INFO    ] Initializing speech engine...
[2026-08-29 06:10:22,925.925 INFO    ] 2026-08-29 06:10:22
[2026-08-29 06:10:23,131.131 INFO    ] 2026-08-29 06:10:23
[2026-08-29 06:10:23,213.213 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:10:23,364.364 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:10:23,374.374 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:10:23,510.510 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:10:23,547.547 INFO    ] time= 29/08/2026 06:10:23
[2026-08-29 06:10:23,591.591 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:10:23,645.645 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:10:23,700.700 INFO    ] No existing commands found in stream
[2026-08-29 06:10:28,712.712 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:10:28,715.715 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-08-29 06:10:31,634.634 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:10:31,635.635 INFO    ] Checking for system updates...
[2026-08-29 06:10:31,656.656 INFO    ] 200
[2026-08-29 06:10:31,657.657 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:10:31,691.691 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:10:31,693.693 INFO    ] No update needed
[2026-08-29 06:10:31,694.694 INFO    ] Checking for camera pi updates...
[2026-08-29 06:10:31,714.714 INFO    ] 200
[2026-08-29 06:10:31,715.715 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:10:31,738.738 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:10:31,850.850 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:10:31,851.851 INFO    ] No camera update needed
[2026-08-29 06:10:31,853.853 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:10:31,854.854 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:10:31,857.857 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:10:31,860.860 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:10:33,900.900 INFO    ] ================================================
[2026-08-29 06:10:33,915.915 INFO    ] Launching Daemon at Sat Aug 29 06:10:33 IST 2026
[2026-08-29 06:10:33,926.926 INFO    ] ================================================
[2026-08-29 06:10:34,492.492 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:10:34
[2026-08-29 06:10:34,972.972 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:10:35,156.156 INFO    ] Initializing speech engine...
[2026-08-29 06:10:35,174.174 INFO    ] 2026-08-29 06:10:35
[2026-08-29 06:10:35,426.426 INFO    ] 2026-08-29 06:10:35
[2026-08-29 06:10:35,456.456 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:10:35,617.617 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:10:35,640.640 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:10:35,793.793 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:10:35,799.799 INFO    ] time= 29/08/2026 06:10:35
[2026-08-29 06:10:35,805.805 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:10:35,825.825 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:10:35,922.922 INFO    ] No existing commands found in stream
[2026-08-29 06:10:40,935.935 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:10:40,937.937 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-08-29 06:10:42,027.027 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:10:42,028.028 INFO    ] Checking for system updates...
[2026-08-29 06:10:42,048.048 INFO    ] 200
[2026-08-29 06:10:42,050.050 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:10:42,081.081 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:10:42,083.083 INFO    ] No update needed
[2026-08-29 06:10:42,084.084 INFO    ] Checking for camera pi updates...
[2026-08-29 06:10:42,103.103 INFO    ] 200
[2026-08-29 06:10:42,104.104 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:10:42,130.130 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:10:42,225.225 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:10:42,226.226 INFO    ] No camera update needed
[2026-08-29 06:10:42,227.227 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:10:42,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:10:42,231.231 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:10:42,234.234 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:10:44,273.273 INFO    ] ================================================
[2026-08-29 06:10:44,288.288 INFO    ] Launching Daemon at Sat Aug 29 06:10:44 IST 2026
[2026-08-29 06:10:44,299.299 INFO    ] ================================================
[2026-08-29 06:10:44,795.795 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:10:44
[2026-08-29 06:10:45,378.378 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:10:45,634.634 INFO    ] Initializing speech engine...
[2026-08-29 06:10:45,653.653 INFO    ] 2026-08-29 06:10:45
[2026-08-29 06:10:45,927.927 INFO    ] 2026-08-29 06:10:45
[2026-08-29 06:10:45,963.963 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:10:46,152.152 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:10:46,159.159 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:10:46,292.292 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:10:46,311.311 INFO    ] time= 29/08/2026 06:10:46
[2026-08-29 06:10:46,332.332 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:10:46,340.340 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:10:46,415.415 INFO    ] No existing commands found in stream
[2026-08-29 06:10:51,428.428 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:10:51,430.430 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-08-29 06:10:55,071.071 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:10:55,072.072 INFO    ] Checking for system updates...
[2026-08-29 06:10:55,093.093 INFO    ] 200
[2026-08-29 06:10:55,094.094 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:10:55,124.124 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:10:55,125.125 INFO    ] No update needed
[2026-08-29 06:10:55,126.126 INFO    ] Checking for camera pi updates...
[2026-08-29 06:10:55,145.145 INFO    ] 200
[2026-08-29 06:10:55,147.147 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:10:55,169.169 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:10:55,249.249 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:10:55,250.250 INFO    ] No camera update needed
[2026-08-29 06:10:55,251.251 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:10:55,253.253 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:10:55,256.256 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:10:55,258.258 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:10:57,297.297 INFO    ] ================================================
[2026-08-29 06:10:57,312.312 INFO    ] Launching Daemon at Sat Aug 29 06:10:57 IST 2026
[2026-08-29 06:10:57,323.323 INFO    ] ================================================
[2026-08-29 06:10:57,669.669 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:10:57
[2026-08-29 06:10:57,999.999 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:10:58,149.149 INFO    ] Initializing speech engine...
[2026-08-29 06:10:58,155.155 INFO    ] 2026-08-29 06:10:58
[2026-08-29 06:10:58,363.363 INFO    ] 2026-08-29 06:10:58
[2026-08-29 06:10:58,392.392 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:10:58,522.522 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:10:58,580.580 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:10:58,731.731 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:10:58,790.790 INFO    ] time= 29/08/2026 06:10:58
[2026-08-29 06:10:58,813.813 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:10:58,819.819 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:10:58,885.885 INFO    ] No existing commands found in stream
[2026-08-29 06:11:03,896.896 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:11:03,899.899 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-08-29 06:11:06,715.715 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:11:06,717.717 INFO    ] Checking for system updates...
[2026-08-29 06:11:06,756.756 INFO    ] 200
[2026-08-29 06:11:06,759.759 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:11:06,817.817 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:11:06,820.820 INFO    ] No update needed
[2026-08-29 06:11:06,822.822 INFO    ] Checking for camera pi updates...
[2026-08-29 06:11:06,860.860 INFO    ] 200
[2026-08-29 06:11:06,863.863 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:11:06,907.907 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:11:06,991.991 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:11:06,994.994 INFO    ] No camera update needed
[2026-08-29 06:11:06,997.997 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:11:06,999.999 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:11:07,005.005 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:11:07,011.011 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:11:09,052.052 INFO    ] ================================================
[2026-08-29 06:11:09,068.068 INFO    ] Launching Daemon at Sat Aug 29 06:11:09 IST 2026
[2026-08-29 06:11:09,081.081 INFO    ] ================================================
[2026-08-29 06:11:09,649.649 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:11:09
[2026-08-29 06:11:10,057.057 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:11:10,195.195 INFO    ] Initializing speech engine...
[2026-08-29 06:11:10,205.205 INFO    ] 2026-08-29 06:11:10
[2026-08-29 06:11:10,412.412 INFO    ] 2026-08-29 06:11:10
[2026-08-29 06:11:10,440.440 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:11:10,564.564 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:11:10,612.612 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:11:10,765.765 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:11:10,832.832 INFO    ] time= 29/08/2026 06:11:10
[2026-08-29 06:11:10,860.860 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:11:10,863.863 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:11:10,934.934 INFO    ] No existing commands found in stream
[2026-08-29 06:11:15,945.945 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:11:15,947.947 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-08-29 06:11:16,418.418 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:11:16,420.420 INFO    ] Checking for system updates...
[2026-08-29 06:11:16,441.441 INFO    ] 200
[2026-08-29 06:11:16,443.443 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:11:16,473.473 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:11:16,474.474 INFO    ] No update needed
[2026-08-29 06:11:16,476.476 INFO    ] Checking for camera pi updates...
[2026-08-29 06:11:16,496.496 INFO    ] 200
[2026-08-29 06:11:16,497.497 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:11:16,524.524 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:11:16,610.610 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:11:16,612.612 INFO    ] No camera update needed
[2026-08-29 06:11:16,613.613 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:11:16,615.615 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:11:16,618.618 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:11:16,621.621 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:11:18,661.661 INFO    ] ================================================
[2026-08-29 06:11:18,677.677 INFO    ] Launching Daemon at Sat Aug 29 06:11:18 IST 2026
[2026-08-29 06:11:18,687.687 INFO    ] ================================================
[2026-08-29 06:11:19,056.056 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:11:19
[2026-08-29 06:11:19,368.368 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:11:19,514.514 INFO    ] Initializing speech engine...
[2026-08-29 06:11:19,520.520 INFO    ] 2026-08-29 06:11:19
[2026-08-29 06:11:19,732.732 INFO    ] 2026-08-29 06:11:19
[2026-08-29 06:11:19,763.763 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:11:19,893.893 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:11:19,942.942 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:11:20,063.063 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:11:20,071.071 INFO    ] time= 29/08/2026 06:11:20
[2026-08-29 06:11:20,112.112 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:11:20,166.166 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:11:20,279.279 INFO    ] No existing commands found in stream
[2026-08-29 06:11:25,304.304 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:11:25,307.307 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-08-29 06:11:26,409.409 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:11:26,412.412 INFO    ] Checking for system updates...
[2026-08-29 06:11:26,447.447 INFO    ] 200
[2026-08-29 06:11:26,450.450 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:11:26,503.503 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:11:26,505.505 INFO    ] No update needed
[2026-08-29 06:11:26,507.507 INFO    ] Checking for camera pi updates...
[2026-08-29 06:11:26,540.540 INFO    ] 200
[2026-08-29 06:11:26,543.543 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:11:26,587.587 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:11:26,689.689 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:11:26,691.691 INFO    ] No camera update needed
[2026-08-29 06:11:26,694.694 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:11:26,697.697 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:11:26,703.703 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:11:26,708.708 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:11:28,749.749 INFO    ] ================================================
[2026-08-29 06:11:28,765.765 INFO    ] Launching Daemon at Sat Aug 29 06:11:28 IST 2026
[2026-08-29 06:11:28,776.776 INFO    ] ================================================
[2026-08-29 06:11:29,136.136 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:11:29
[2026-08-29 06:11:29,447.447 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:11:29,668.668 INFO    ] Initializing speech engine...
[2026-08-29 06:11:29,675.675 INFO    ] 2026-08-29 06:11:29
[2026-08-29 06:11:29,934.934 INFO    ] 2026-08-29 06:11:29
[2026-08-29 06:11:29,993.993 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:11:30,138.138 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:11:30,150.150 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:11:30,294.294 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:11:30,302.302 INFO    ] time= 29/08/2026 06:11:30
[2026-08-29 06:11:30,309.309 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:11:30,321.321 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:11:30,442.442 INFO    ] No existing commands found in stream
[2026-08-29 06:11:35,477.477 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:11:35,480.480 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-08-29 06:11:37,897.897 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:11:37,898.898 INFO    ] Checking for system updates...
[2026-08-29 06:11:37,918.918 INFO    ] 200
[2026-08-29 06:11:37,920.920 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:11:37,951.951 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:11:37,952.952 INFO    ] No update needed
[2026-08-29 06:11:37,953.953 INFO    ] Checking for camera pi updates...
[2026-08-29 06:11:37,973.973 INFO    ] 200
[2026-08-29 06:11:37,974.974 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:11:37,997.997 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:11:38,099.099 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:11:38,100.100 INFO    ] No camera update needed
[2026-08-29 06:11:38,102.102 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:11:38,103.103 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:11:38,106.106 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:11:38,109.109 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:11:40,149.149 INFO    ] ================================================
[2026-08-29 06:11:40,164.164 INFO    ] Launching Daemon at Sat Aug 29 06:11:40 IST 2026
[2026-08-29 06:11:40,175.175 INFO    ] ================================================
[2026-08-29 06:11:40,809.809 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:11:40
[2026-08-29 06:11:41,478.478 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:11:41,785.785 INFO    ] Initializing speech engine...
[2026-08-29 06:11:41,797.797 INFO    ] 2026-08-29 06:11:41
[2026-08-29 06:11:42,108.108 INFO    ] 2026-08-29 06:11:42
[2026-08-29 06:11:42,193.193 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:11:42,350.350 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:11:42,356.356 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:11:42,490.490 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:11:42,556.556 INFO    ] time= 29/08/2026 06:11:42
[2026-08-29 06:11:42,610.610 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:11:42,626.626 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:11:42,758.758 INFO    ] No existing commands found in stream
[2026-08-29 06:11:47,786.786 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:11:47,789.789 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-08-29 06:11:49,641.641 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:11:49,643.643 INFO    ] Checking for system updates...
[2026-08-29 06:11:49,664.664 INFO    ] 200
[2026-08-29 06:11:49,665.665 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:11:49,698.698 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:11:49,699.699 INFO    ] No update needed
[2026-08-29 06:11:49,700.700 INFO    ] Checking for camera pi updates...
[2026-08-29 06:11:49,721.721 INFO    ] 200
[2026-08-29 06:11:49,722.722 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:11:49,745.745 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:11:49,827.827 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:11:49,828.828 INFO    ] No camera update needed
[2026-08-29 06:11:49,829.829 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:11:49,830.830 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:11:49,833.833 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:11:49,836.836 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:11:51,874.874 INFO    ] ================================================
[2026-08-29 06:11:51,890.890 INFO    ] Launching Daemon at Sat Aug 29 06:11:51 IST 2026
[2026-08-29 06:11:51,901.901 INFO    ] ================================================
[2026-08-29 06:11:52,254.254 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:11:52
[2026-08-29 06:11:52,572.572 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:11:52,710.710 INFO    ] Initializing speech engine...
[2026-08-29 06:11:52,720.720 INFO    ] 2026-08-29 06:11:52
[2026-08-29 06:11:52,924.924 INFO    ] 2026-08-29 06:11:52
[2026-08-29 06:11:52,953.953 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:11:53,075.075 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:11:53,137.137 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:11:53,295.295 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:11:53,328.328 INFO    ] time= 29/08/2026 06:11:53
[2026-08-29 06:11:53,387.387 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:11:53,456.456 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:11:53,532.532 INFO    ] No existing commands found in stream
[2026-08-29 06:11:58,543.543 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:11:58,545.545 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-08-29 06:12:00,390.390 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:12:00,392.392 INFO    ] Checking for system updates...
[2026-08-29 06:12:00,413.413 INFO    ] 200
[2026-08-29 06:12:00,414.414 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:12:00,447.447 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:12:00,449.449 INFO    ] No update needed
[2026-08-29 06:12:00,450.450 INFO    ] Checking for camera pi updates...
[2026-08-29 06:12:00,469.469 INFO    ] 200
[2026-08-29 06:12:00,471.471 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:12:00,509.509 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:12:00,687.687 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:12:00,690.690 INFO    ] No camera update needed
[2026-08-29 06:12:00,692.692 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:12:00,695.695 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:12:00,700.700 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:12:00,705.705 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:12:02,753.753 INFO    ] ================================================
[2026-08-29 06:12:02,773.773 INFO    ] Launching Daemon at Sat Aug 29 06:12:02 IST 2026
[2026-08-29 06:12:02,789.789 INFO    ] ================================================
[2026-08-29 06:12:03,466.466 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:12:03
[2026-08-29 06:12:03,967.967 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:12:04,219.219 INFO    ] Initializing speech engine...
[2026-08-29 06:12:04,242.242 INFO    ] 2026-08-29 06:12:04
[2026-08-29 06:12:04,498.498 INFO    ] 2026-08-29 06:12:04
[2026-08-29 06:12:04,540.540 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:12:04,709.709 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:12:04,720.720 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:12:04,865.865 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:12:04,873.873 INFO    ] time= 29/08/2026 06:12:04
[2026-08-29 06:12:04,880.880 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:12:04,906.906 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:12:05,033.033 INFO    ] No existing commands found in stream
[2026-08-29 06:12:10,058.058 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:12:10,060.060 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-08-29 06:12:13,227.227 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:12:13,228.228 INFO    ] Checking for system updates...
[2026-08-29 06:12:13,248.248 INFO    ] 200
[2026-08-29 06:12:13,249.249 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:12:13,279.279 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:12:13,280.280 INFO    ] No update needed
[2026-08-29 06:12:13,282.282 INFO    ] Checking for camera pi updates...
[2026-08-29 06:12:13,301.301 INFO    ] 200
[2026-08-29 06:12:13,302.302 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:12:13,328.328 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:12:13,415.415 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:12:13,416.416 INFO    ] No camera update needed
[2026-08-29 06:12:13,418.418 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:12:13,419.419 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:12:13,422.422 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:12:13,425.425 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:12:15,464.464 INFO    ] ================================================
[2026-08-29 06:12:15,480.480 INFO    ] Launching Daemon at Sat Aug 29 06:12:15 IST 2026
[2026-08-29 06:12:15,491.491 INFO    ] ================================================
[2026-08-29 06:12:15,878.878 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:12:15
[2026-08-29 06:12:16,221.221 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:12:16,373.373 INFO    ] Initializing speech engine...
[2026-08-29 06:12:16,379.379 INFO    ] 2026-08-29 06:12:16
[2026-08-29 06:12:16,587.587 INFO    ] 2026-08-29 06:12:16
[2026-08-29 06:12:16,617.617 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:12:16,746.746 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:12:16,804.804 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:12:16,943.943 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:12:17,011.011 INFO    ] time= 29/08/2026 06:12:16
[2026-08-29 06:12:17,034.034 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:12:17,041.041 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:12:17,107.107 INFO    ] No existing commands found in stream
[2026-08-29 06:12:22,118.118 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:12:22,121.121 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-08-29 06:12:23,584.584 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:12:23,585.585 INFO    ] Checking for system updates...
[2026-08-29 06:12:23,606.606 INFO    ] 200
[2026-08-29 06:12:23,607.607 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:12:23,641.641 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:12:23,642.642 INFO    ] No update needed
[2026-08-29 06:12:23,644.644 INFO    ] Checking for camera pi updates...
[2026-08-29 06:12:23,666.666 INFO    ] 200
[2026-08-29 06:12:23,667.667 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:12:23,718.718 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:12:23,818.818 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:12:23,820.820 INFO    ] No camera update needed
[2026-08-29 06:12:23,823.823 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:12:23,826.826 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:12:23,832.832 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:12:23,838.838 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:12:25,882.882 INFO    ] ================================================
[2026-08-29 06:12:25,898.898 INFO    ] Launching Daemon at Sat Aug 29 06:12:25 IST 2026
[2026-08-29 06:12:25,909.909 INFO    ] ================================================
[2026-08-29 06:12:26,477.477 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:12:26
[2026-08-29 06:12:26,942.942 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:12:27,071.071 INFO    ] Initializing speech engine...
[2026-08-29 06:12:27,076.076 INFO    ] 2026-08-29 06:12:27
[2026-08-29 06:12:27,301.301 INFO    ] 2026-08-29 06:12:27
[2026-08-29 06:12:27,376.376 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:12:27,538.538 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:12:27,547.547 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:12:27,685.685 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:12:27,719.719 INFO    ] time= 29/08/2026 06:12:27
[2026-08-29 06:12:27,768.768 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:12:27,819.819 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:12:27,870.870 INFO    ] No existing commands found in stream
[2026-08-29 06:12:32,882.882 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:12:32,885.885 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-08-29 06:12:36,566.566 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:12:36,567.567 INFO    ] Checking for system updates...
[2026-08-29 06:12:36,588.588 INFO    ] 200
[2026-08-29 06:12:36,589.589 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:12:36,619.619 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:12:36,621.621 INFO    ] No update needed
[2026-08-29 06:12:36,622.622 INFO    ] Checking for camera pi updates...
[2026-08-29 06:12:36,642.642 INFO    ] 200
[2026-08-29 06:12:36,643.643 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:12:36,666.666 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:12:36,767.767 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:12:36,768.768 INFO    ] No camera update needed
[2026-08-29 06:12:36,769.769 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:12:36,770.770 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:12:36,774.774 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:12:36,776.776 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:12:38,814.814 INFO    ] ================================================
[2026-08-29 06:12:38,830.830 INFO    ] Launching Daemon at Sat Aug 29 06:12:38 IST 2026
[2026-08-29 06:12:38,842.842 INFO    ] ================================================
[2026-08-29 06:12:39,235.235 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:12:39
[2026-08-29 06:12:39,581.581 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:12:39,757.757 INFO    ] Initializing speech engine...
[2026-08-29 06:12:39,768.768 INFO    ] 2026-08-29 06:12:39
[2026-08-29 06:12:40,054.054 INFO    ] 2026-08-29 06:12:40
[2026-08-29 06:12:40,109.109 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:12:40,333.333 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:12:40,342.342 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:12:40,477.477 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:12:40,520.520 INFO    ] time= 29/08/2026 06:12:40
[2026-08-29 06:12:40,580.580 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:12:40,615.615 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:12:40,672.672 INFO    ] No existing commands found in stream
[2026-08-29 06:12:45,684.684 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:12:45,687.687 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-08-29 06:12:47,868.868 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:12:47,869.869 INFO    ] Checking for system updates...
[2026-08-29 06:12:47,890.890 INFO    ] 200
[2026-08-29 06:12:47,891.891 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:12:47,922.922 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:12:47,923.923 INFO    ] No update needed
[2026-08-29 06:12:47,925.925 INFO    ] Checking for camera pi updates...
[2026-08-29 06:12:47,946.946 INFO    ] 200
[2026-08-29 06:12:47,948.948 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:12:47,973.973 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:12:48,058.058 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:12:48,059.059 INFO    ] No camera update needed
[2026-08-29 06:12:48,060.060 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:12:48,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:12:48,065.065 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:12:48,067.067 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:12:50,105.105 INFO    ] ================================================
[2026-08-29 06:12:50,121.121 INFO    ] Launching Daemon at Sat Aug 29 06:12:50 IST 2026
[2026-08-29 06:12:50,133.133 INFO    ] ================================================
[2026-08-29 06:12:50,499.499 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:12:50
[2026-08-29 06:12:50,844.844 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:12:51,005.005 INFO    ] Initializing speech engine...
[2026-08-29 06:12:51,010.010 INFO    ] 2026-08-29 06:12:51
[2026-08-29 06:12:51,300.300 INFO    ] 2026-08-29 06:12:51
[2026-08-29 06:12:51,385.385 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:12:51,535.535 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:12:51,541.541 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:12:51,675.675 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:12:51,709.709 INFO    ] time= 29/08/2026 06:12:51
[2026-08-29 06:12:51,763.763 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:12:51,806.806 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:12:51,859.859 INFO    ] No existing commands found in stream
[2026-08-29 06:12:56,871.871 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:12:56,874.874 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-08-29 06:12:58,395.395 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:12:58,396.396 INFO    ] Checking for system updates...
[2026-08-29 06:12:58,418.418 INFO    ] 200
[2026-08-29 06:12:58,420.420 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:12:58,450.450 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:12:58,451.451 INFO    ] No update needed
[2026-08-29 06:12:58,453.453 INFO    ] Checking for camera pi updates...
[2026-08-29 06:12:58,472.472 INFO    ] 200
[2026-08-29 06:12:58,473.473 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:12:58,498.498 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:12:58,583.583 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:12:58,584.584 INFO    ] No camera update needed
[2026-08-29 06:12:58,586.586 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:12:58,587.587 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:12:58,590.590 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:12:58,592.592 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:13:00,632.632 INFO    ] ================================================
[2026-08-29 06:13:00,649.649 INFO    ] Launching Daemon at Sat Aug 29 06:13:00 IST 2026
[2026-08-29 06:13:00,660.660 INFO    ] ================================================
[2026-08-29 06:13:00,994.994 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:13:00
[2026-08-29 06:13:01,597.597 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:13:02,087.087 INFO    ] Initializing speech engine...
[2026-08-29 06:13:02,091.091 INFO    ] 2026-08-29 06:13:02
[2026-08-29 06:13:02,485.485 INFO    ] 2026-08-29 06:13:02
[2026-08-29 06:13:02,555.555 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:13:02,739.739 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:13:02,751.751 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:13:02,927.927 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:13:02,969.969 INFO    ] time= 29/08/2026 06:13:02
[2026-08-29 06:13:02,990.990 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:13:03,002.002 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:13:03,108.108 INFO    ] No existing commands found in stream
[2026-08-29 06:13:08,143.143 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:13:08,146.146 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 06:13:11,739.739 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:13:11,741.741 INFO    ] Checking for system updates...
[2026-08-29 06:13:11,763.763 INFO    ] 200
[2026-08-29 06:13:11,765.765 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:13:11,801.801 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:13:11,803.803 INFO    ] No update needed
[2026-08-29 06:13:11,806.806 INFO    ] Checking for camera pi updates...
[2026-08-29 06:13:11,840.840 INFO    ] 200
[2026-08-29 06:13:11,842.842 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:13:11,888.888 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:13:11,987.987 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:13:11,989.989 INFO    ] No camera update needed
[2026-08-29 06:13:11,992.992 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:13:11,994.994 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:13:11,999.999 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:13:12,004.004 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:13:14,044.044 INFO    ] ================================================
[2026-08-29 06:13:14,059.059 INFO    ] Launching Daemon at Sat Aug 29 06:13:14 IST 2026
[2026-08-29 06:13:14,070.070 INFO    ] ================================================
[2026-08-29 06:13:14,642.642 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:13:14
[2026-08-29 06:13:15,085.085 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:13:15,219.219 INFO    ] Initializing speech engine...
[2026-08-29 06:13:15,223.223 INFO    ] 2026-08-29 06:13:15
[2026-08-29 06:13:15,419.419 INFO    ] 2026-08-29 06:13:15
[2026-08-29 06:13:15,460.460 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:13:15,618.618 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:13:15,636.636 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:13:15,780.780 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:13:15,833.833 INFO    ] time= 29/08/2026 06:13:15
[2026-08-29 06:13:15,864.864 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:13:15,917.917 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:13:16,016.016 INFO    ] No existing commands found in stream
[2026-08-29 06:13:21,026.026 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:13:21,029.029 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-08-29 06:13:23,199.199 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:13:23,200.200 INFO    ] Checking for system updates...
[2026-08-29 06:13:23,221.221 INFO    ] 200
[2026-08-29 06:13:23,223.223 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:13:23,255.255 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:13:23,257.257 INFO    ] No update needed
[2026-08-29 06:13:23,258.258 INFO    ] Checking for camera pi updates...
[2026-08-29 06:13:23,280.280 INFO    ] 200
[2026-08-29 06:13:23,282.282 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:13:23,307.307 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:13:23,415.415 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:13:23,417.417 INFO    ] No camera update needed
[2026-08-29 06:13:23,418.418 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:13:23,419.419 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:13:23,423.423 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:13:23,426.426 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:13:25,464.464 INFO    ] ================================================
[2026-08-29 06:13:25,480.480 INFO    ] Launching Daemon at Sat Aug 29 06:13:25 IST 2026
[2026-08-29 06:13:25,490.490 INFO    ] ================================================
[2026-08-29 06:13:26,056.056 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:13:26
[2026-08-29 06:13:26,719.719 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:13:27,028.028 INFO    ] Initializing speech engine...
[2026-08-29 06:13:27,041.041 INFO    ] 2026-08-29 06:13:27
[2026-08-29 06:13:27,359.359 INFO    ] 2026-08-29 06:13:27
[2026-08-29 06:13:27,445.445 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:13:27,603.603 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:13:27,610.610 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:13:27,748.748 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:13:27,803.803 INFO    ] time= 29/08/2026 06:13:27
[2026-08-29 06:13:27,868.868 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:13:27,886.886 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:13:28,003.003 INFO    ] No existing commands found in stream
[2026-08-29 06:13:33,031.031 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:13:33,035.035 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-08-29 06:13:36,890.890 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:13:36,892.892 INFO    ] Checking for system updates...
[2026-08-29 06:13:36,913.913 INFO    ] 200
[2026-08-29 06:13:36,914.914 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:13:36,945.945 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:13:36,946.946 INFO    ] No update needed
[2026-08-29 06:13:36,948.948 INFO    ] Checking for camera pi updates...
[2026-08-29 06:13:36,968.968 INFO    ] 200
[2026-08-29 06:13:36,970.970 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:13:36,995.995 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:13:37,076.076 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:13:37,078.078 INFO    ] No camera update needed
[2026-08-29 06:13:37,081.081 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:13:37,084.084 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:13:37,090.090 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:13:37,096.096 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:13:39,138.138 INFO    ] ================================================
[2026-08-29 06:13:39,153.153 INFO    ] Launching Daemon at Sat Aug 29 06:13:39 IST 2026
[2026-08-29 06:13:39,164.164 INFO    ] ================================================
[2026-08-29 06:13:39,754.754 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:13:39
[2026-08-29 06:13:40,251.251 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:13:40,390.390 INFO    ] Initializing speech engine...
[2026-08-29 06:13:40,400.400 INFO    ] 2026-08-29 06:13:40
[2026-08-29 06:13:40,603.603 INFO    ] 2026-08-29 06:13:40
[2026-08-29 06:13:40,633.633 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:13:40,755.755 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:13:40,813.813 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:13:40,966.966 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:13:41,020.020 INFO    ] time= 29/08/2026 06:13:40
[2026-08-29 06:13:41,080.080 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:13:41,139.139 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:13:41,200.200 INFO    ] No existing commands found in stream
[2026-08-29 06:13:46,210.210 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:13:46,311.311 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-08-29 06:13:50,006.006 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:13:50,008.008 INFO    ] Checking for system updates...
[2026-08-29 06:13:50,030.030 INFO    ] 200
[2026-08-29 06:13:50,032.032 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:13:50,064.064 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:13:50,066.066 INFO    ] No update needed
[2026-08-29 06:13:50,067.067 INFO    ] Checking for camera pi updates...
[2026-08-29 06:13:50,087.087 INFO    ] 200
[2026-08-29 06:13:50,088.088 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:13:50,112.112 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:13:50,223.223 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:13:50,224.224 INFO    ] No camera update needed
[2026-08-29 06:13:50,226.226 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:13:50,227.227 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:13:50,230.230 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:13:50,233.233 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:13:52,274.274 INFO    ] ================================================
[2026-08-29 06:13:52,290.290 INFO    ] Launching Daemon at Sat Aug 29 06:13:52 IST 2026
[2026-08-29 06:13:52,301.301 INFO    ] ================================================
[2026-08-29 06:13:52,649.649 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:13:52
[2026-08-29 06:13:53,169.169 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:13:53,447.447 INFO    ] Initializing speech engine...
[2026-08-29 06:13:53,456.456 INFO    ] 2026-08-29 06:13:53
[2026-08-29 06:13:53,730.730 INFO    ] 2026-08-29 06:13:53
[2026-08-29 06:13:53,772.772 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:13:53,991.991 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:13:54,001.001 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:13:54,135.135 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:13:54,180.180 INFO    ] time= 29/08/2026 06:13:54
[2026-08-29 06:13:54,250.250 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:13:54,269.269 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:13:54,399.399 INFO    ] No existing commands found in stream
[2026-08-29 06:13:59,425.425 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:13:59,428.428 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-08-29 06:14:02,912.912 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:14:02,916.916 INFO    ] Checking for system updates...
[2026-08-29 06:14:02,973.973 INFO    ] 200
[2026-08-29 06:14:02,976.976 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:14:03,041.041 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:14:03,044.044 INFO    ] No update needed
[2026-08-29 06:14:03,046.046 INFO    ] Checking for camera pi updates...
[2026-08-29 06:14:03,091.091 INFO    ] 200
[2026-08-29 06:14:03,094.094 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:14:03,141.141 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:14:03,246.246 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:14:03,249.249 INFO    ] No camera update needed
[2026-08-29 06:14:03,252.252 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:14:03,256.256 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:14:03,263.263 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:14:03,269.269 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:14:05,316.316 INFO    ] ================================================
[2026-08-29 06:14:05,331.331 INFO    ] Launching Daemon at Sat Aug 29 06:14:05 IST 2026
[2026-08-29 06:14:05,341.341 INFO    ] ================================================
[2026-08-29 06:14:05,730.730 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:14:05
[2026-08-29 06:14:06,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:14:06,223.223 INFO    ] Initializing speech engine...
[2026-08-29 06:14:06,233.233 INFO    ] 2026-08-29 06:14:06
[2026-08-29 06:14:06,455.455 INFO    ] 2026-08-29 06:14:06
[2026-08-29 06:14:06,498.498 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:14:06,728.728 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:14:06,733.733 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:14:06,866.866 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:14:06,889.889 INFO    ] time= 29/08/2026 06:14:06
[2026-08-29 06:14:06,955.955 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:14:07,003.003 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:14:07,056.056 INFO    ] No existing commands found in stream
[2026-08-29 06:14:12,069.069 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:14:12,072.072 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-08-29 06:14:13,926.926 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:14:13,927.927 INFO    ] Checking for system updates...
[2026-08-29 06:14:13,948.948 INFO    ] 200
[2026-08-29 06:14:13,950.950 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:14:13,983.983 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:14:13,984.984 INFO    ] No update needed
[2026-08-29 06:14:13,986.986 INFO    ] Checking for camera pi updates...
[2026-08-29 06:14:14,006.006 INFO    ] 200
[2026-08-29 06:14:14,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:14:14,031.031 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:14:14,136.136 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:14:14,138.138 INFO    ] No camera update needed
[2026-08-29 06:14:14,139.139 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:14:14,140.140 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:14:14,144.144 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:14:14,147.147 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:14:16,186.186 INFO    ] ================================================
[2026-08-29 06:14:16,202.202 INFO    ] Launching Daemon at Sat Aug 29 06:14:16 IST 2026
[2026-08-29 06:14:16,213.213 INFO    ] ================================================
[2026-08-29 06:14:16,767.767 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:14:16
[2026-08-29 06:14:17,357.357 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:14:17,628.628 INFO    ] Initializing speech engine...
[2026-08-29 06:14:17,636.636 INFO    ] 2026-08-29 06:14:17
[2026-08-29 06:14:17,890.890 INFO    ] 2026-08-29 06:14:17
[2026-08-29 06:14:17,950.950 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:14:18,113.113 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:14:18,130.130 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:14:18,250.250 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:14:18,256.256 INFO    ] time= 29/08/2026 06:14:18
[2026-08-29 06:14:18,312.312 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:14:18,326.326 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:14:18,449.449 INFO    ] No existing commands found in stream
[2026-08-29 06:14:23,459.459 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:14:23,462.462 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-08-29 06:14:26,791.791 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:14:26,792.792 INFO    ] Checking for system updates...
[2026-08-29 06:14:26,813.813 INFO    ] 200
[2026-08-29 06:14:26,815.815 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:14:26,845.845 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:14:26,846.846 INFO    ] No update needed
[2026-08-29 06:14:26,848.848 INFO    ] Checking for camera pi updates...
[2026-08-29 06:14:26,867.867 INFO    ] 200
[2026-08-29 06:14:26,869.869 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:14:26,894.894 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:14:26,978.978 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:14:26,979.979 INFO    ] No camera update needed
[2026-08-29 06:14:26,981.981 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:14:26,982.982 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:14:26,986.986 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:14:26,989.989 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:14:29,028.028 INFO    ] ================================================
[2026-08-29 06:14:29,044.044 INFO    ] Launching Daemon at Sat Aug 29 06:14:29 IST 2026
[2026-08-29 06:14:29,055.055 INFO    ] ================================================
[2026-08-29 06:14:29,400.400 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:14:29
[2026-08-29 06:14:29,746.746 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:14:29,899.899 INFO    ] Initializing speech engine...
[2026-08-29 06:14:29,905.905 INFO    ] 2026-08-29 06:14:29
[2026-08-29 06:14:30,116.116 INFO    ] 2026-08-29 06:14:30
[2026-08-29 06:14:30,145.145 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:14:30,309.309 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:14:30,332.332 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:14:30,479.479 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:14:30,536.536 INFO    ] time= 29/08/2026 06:14:30
[2026-08-29 06:14:30,560.560 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:14:30,567.567 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:14:30,634.634 INFO    ] No existing commands found in stream
[2026-08-29 06:14:35,649.649 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:14:35,652.652 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-08-29 06:14:39,063.063 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:14:39,065.065 INFO    ] Checking for system updates...
[2026-08-29 06:14:39,087.087 INFO    ] 200
[2026-08-29 06:14:39,089.089 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:14:39,121.121 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:14:39,123.123 INFO    ] No update needed
[2026-08-29 06:14:39,125.125 INFO    ] Checking for camera pi updates...
[2026-08-29 06:14:39,144.144 INFO    ] 200
[2026-08-29 06:14:39,146.146 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:14:39,171.171 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:14:39,272.272 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:14:39,274.274 INFO    ] No camera update needed
[2026-08-29 06:14:39,275.275 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:14:39,276.276 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:14:39,280.280 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:14:39,283.283 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:14:41,323.323 INFO    ] ================================================
[2026-08-29 06:14:41,339.339 INFO    ] Launching Daemon at Sat Aug 29 06:14:41 IST 2026
[2026-08-29 06:14:41,350.350 INFO    ] ================================================
[2026-08-29 06:14:41,709.709 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:14:41
[2026-08-29 06:14:42,026.026 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:14:42,272.272 INFO    ] Initializing speech engine...
[2026-08-29 06:14:42,282.282 INFO    ] 2026-08-29 06:14:42
[2026-08-29 06:14:42,574.574 INFO    ] 2026-08-29 06:14:42
[2026-08-29 06:14:42,620.620 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:14:42,848.848 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:14:42,854.854 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:14:42,990.990 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:14:43,056.056 INFO    ] time= 29/08/2026 06:14:43
[2026-08-29 06:14:43,117.117 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:14:43,125.125 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:14:43,257.257 INFO    ] No existing commands found in stream
[2026-08-29 06:14:48,281.281 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:14:48,284.284 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 06:14:48,749.749 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:14:48,751.751 INFO    ] Checking for system updates...
[2026-08-29 06:14:48,773.773 INFO    ] 200
[2026-08-29 06:14:48,775.775 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:14:48,810.810 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:14:48,811.811 INFO    ] No update needed
[2026-08-29 06:14:48,813.813 INFO    ] Checking for camera pi updates...
[2026-08-29 06:14:48,833.833 INFO    ] 200
[2026-08-29 06:14:48,834.834 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:14:48,858.858 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:14:48,960.960 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:14:48,962.962 INFO    ] No camera update needed
[2026-08-29 06:14:48,963.963 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:14:48,965.965 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:14:48,968.968 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:14:48,971.971 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:14:51,010.010 INFO    ] ================================================
[2026-08-29 06:14:51,027.027 INFO    ] Launching Daemon at Sat Aug 29 06:14:51 IST 2026
[2026-08-29 06:14:51,039.039 INFO    ] ================================================
[2026-08-29 06:14:51,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:14:51
[2026-08-29 06:14:52,146.146 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:14:52,408.408 INFO    ] Initializing speech engine...
[2026-08-29 06:14:52,422.422 INFO    ] 2026-08-29 06:14:52
[2026-08-29 06:14:52,673.673 INFO    ] 2026-08-29 06:14:52
[2026-08-29 06:14:52,709.709 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:14:52,867.867 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:14:52,869.869 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:14:53,000.000 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:14:53,007.007 INFO    ] time= 29/08/2026 06:14:53
[2026-08-29 06:14:53,014.014 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:14:53,042.042 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:14:53,122.122 INFO    ] No existing commands found in stream
[2026-08-29 06:14:58,134.134 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:14:58,137.137 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-08-29 06:14:59,224.224 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:14:59,225.225 INFO    ] Checking for system updates...
[2026-08-29 06:14:59,245.245 INFO    ] 200
[2026-08-29 06:14:59,246.246 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:14:59,276.276 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:14:59,277.277 INFO    ] No update needed
[2026-08-29 06:14:59,279.279 INFO    ] Checking for camera pi updates...
[2026-08-29 06:14:59,298.298 INFO    ] 200
[2026-08-29 06:14:59,299.299 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:14:59,324.324 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:14:59,435.435 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:14:59,436.436 INFO    ] No camera update needed
[2026-08-29 06:14:59,437.437 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:14:59,438.438 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:14:59,441.441 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:14:59,444.444 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:15:01,500.500 INFO    ] ================================================
[2026-08-29 06:15:01,530.530 INFO    ] Launching Daemon at Sat Aug 29 06:15:01 IST 2026
[2026-08-29 06:15:01,596.596 INFO    ] ================================================
[2026-08-29 06:15:02,740.740 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:15:02
[2026-08-29 06:15:03,483.483 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:15:03,757.757 INFO    ] Initializing speech engine...
[2026-08-29 06:15:03,772.772 INFO    ] 2026-08-29 06:15:03
[2026-08-29 06:15:04,058.058 INFO    ] 2026-08-29 06:15:04
[2026-08-29 06:15:04,094.094 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:15:04,244.244 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:15:04,252.252 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:15:04,404.404 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:15:04,414.414 INFO    ] time= 29/08/2026 06:15:04
[2026-08-29 06:15:04,420.420 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:15:04,430.430 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:15:04,491.491 INFO    ] No existing commands found in stream
[2026-08-29 06:15:09,502.502 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:15:09,505.505 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-08-29 06:15:11,372.372 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:15:11,373.373 INFO    ] Checking for system updates...
[2026-08-29 06:15:11,394.394 INFO    ] 200
[2026-08-29 06:15:11,395.395 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:15:11,425.425 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:15:11,427.427 INFO    ] No update needed
[2026-08-29 06:15:11,428.428 INFO    ] Checking for camera pi updates...
[2026-08-29 06:15:11,448.448 INFO    ] 200
[2026-08-29 06:15:11,449.449 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:15:11,473.473 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:15:11,552.552 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:15:11,553.553 INFO    ] No camera update needed
[2026-08-29 06:15:11,555.555 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:15:11,556.556 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:15:11,559.559 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:15:11,562.562 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:15:13,603.603 INFO    ] ================================================
[2026-08-29 06:15:13,619.619 INFO    ] Launching Daemon at Sat Aug 29 06:15:13 IST 2026
[2026-08-29 06:15:13,630.630 INFO    ] ================================================
[2026-08-29 06:15:14,010.010 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:15:14
[2026-08-29 06:15:14,330.330 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:15:14,489.489 INFO    ] Initializing speech engine...
[2026-08-29 06:15:14,508.508 INFO    ] 2026-08-29 06:15:14
[2026-08-29 06:15:14,728.728 INFO    ] 2026-08-29 06:15:14
[2026-08-29 06:15:14,756.756 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:15:14,878.878 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:15:14,941.941 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:15:15,123.123 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:15:15,185.185 INFO    ] time= 29/08/2026 06:15:15
[2026-08-29 06:15:15,245.245 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:15:15,292.292 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:15:15,362.362 INFO    ] No existing commands found in stream
[2026-08-29 06:15:20,373.373 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:15:20,375.375 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-08-29 06:15:21,578.578 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:15:21,580.580 INFO    ] Checking for system updates...
[2026-08-29 06:15:21,601.601 INFO    ] 200
[2026-08-29 06:15:21,602.602 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:15:21,632.632 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:15:21,633.633 INFO    ] No update needed
[2026-08-29 06:15:21,634.634 INFO    ] Checking for camera pi updates...
[2026-08-29 06:15:21,654.654 INFO    ] 200
[2026-08-29 06:15:21,655.655 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:15:21,679.679 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:15:21,777.777 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:15:21,778.778 INFO    ] No camera update needed
[2026-08-29 06:15:21,779.779 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:15:21,780.780 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:15:21,783.783 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:15:21,786.786 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:15:23,824.824 INFO    ] ================================================
[2026-08-29 06:15:23,840.840 INFO    ] Launching Daemon at Sat Aug 29 06:15:23 IST 2026
[2026-08-29 06:15:23,852.852 INFO    ] ================================================
[2026-08-29 06:15:24,215.215 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:15:24
[2026-08-29 06:15:24,714.714 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:15:24,967.967 INFO    ] Initializing speech engine...
[2026-08-29 06:15:24,990.990 INFO    ] 2026-08-29 06:15:24
[2026-08-29 06:15:25,246.246 INFO    ] 2026-08-29 06:15:25
[2026-08-29 06:15:25,279.279 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:15:25,457.457 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:15:25,469.469 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:15:25,614.614 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:15:25,622.622 INFO    ] time= 29/08/2026 06:15:25
[2026-08-29 06:15:25,627.627 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:15:25,633.633 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:15:25,700.700 INFO    ] No existing commands found in stream
[2026-08-29 06:15:30,730.730 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:15:30,733.733 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-08-29 06:15:36,248.248 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:15:36,250.250 INFO    ] Checking for system updates...
[2026-08-29 06:15:36,271.271 INFO    ] 200
[2026-08-29 06:15:36,273.273 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:15:36,308.308 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:15:36,309.309 INFO    ] No update needed
[2026-08-29 06:15:36,310.310 INFO    ] Checking for camera pi updates...
[2026-08-29 06:15:36,330.330 INFO    ] 200
[2026-08-29 06:15:36,331.331 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:15:36,358.358 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:15:36,438.438 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:15:36,439.439 INFO    ] No camera update needed
[2026-08-29 06:15:36,440.440 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:15:36,442.442 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:15:36,445.445 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:15:36,447.447 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:15:38,487.487 INFO    ] ================================================
[2026-08-29 06:15:38,503.503 INFO    ] Launching Daemon at Sat Aug 29 06:15:38 IST 2026
[2026-08-29 06:15:38,521.521 INFO    ] ================================================
[2026-08-29 06:15:38,913.913 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:15:38
[2026-08-29 06:15:39,250.250 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:15:39,403.403 INFO    ] Initializing speech engine...
[2026-08-29 06:15:39,409.409 INFO    ] 2026-08-29 06:15:39
[2026-08-29 06:15:39,616.616 INFO    ] 2026-08-29 06:15:39
[2026-08-29 06:15:39,644.644 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:15:39,766.766 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:15:39,815.815 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:15:39,967.967 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:15:40,035.035 INFO    ] time= 29/08/2026 06:15:39
[2026-08-29 06:15:40,059.059 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:15:40,066.066 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:15:40,132.132 INFO    ] No existing commands found in stream
[2026-08-29 06:15:45,142.142 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:15:45,145.145 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-08-29 06:15:47,928.928 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:15:47,930.930 INFO    ] Checking for system updates...
[2026-08-29 06:15:47,950.950 INFO    ] 200
[2026-08-29 06:15:47,952.952 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:15:47,982.982 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:15:47,984.984 INFO    ] No update needed
[2026-08-29 06:15:47,985.985 INFO    ] Checking for camera pi updates...
[2026-08-29 06:15:48,005.005 INFO    ] 200
[2026-08-29 06:15:48,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:15:48,046.046 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:15:48,151.151 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:15:48,154.154 INFO    ] No camera update needed
[2026-08-29 06:15:48,157.157 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:15:48,159.159 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:15:48,166.166 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:15:48,171.171 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:15:50,214.214 INFO    ] ================================================
[2026-08-29 06:15:50,229.229 INFO    ] Launching Daemon at Sat Aug 29 06:15:50 IST 2026
[2026-08-29 06:15:50,241.241 INFO    ] ================================================
[2026-08-29 06:15:50,827.827 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:15:50
[2026-08-29 06:15:51,294.294 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:15:51,428.428 INFO    ] Initializing speech engine...
[2026-08-29 06:15:51,433.433 INFO    ] 2026-08-29 06:15:51
[2026-08-29 06:15:51,661.661 INFO    ] 2026-08-29 06:15:51
[2026-08-29 06:15:51,692.692 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:15:51,824.824 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:15:51,868.868 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:15:52,032.032 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:15:52,065.065 INFO    ] time= 29/08/2026 06:15:52
[2026-08-29 06:15:52,114.114 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:15:52,140.140 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:15:52,216.216 INFO    ] No existing commands found in stream
[2026-08-29 06:15:57,224.224 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:15:57,227.227 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-08-29 06:15:57,840.840 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:15:57,843.843 INFO    ] Checking for system updates...
[2026-08-29 06:15:57,880.880 INFO    ] 200
[2026-08-29 06:15:57,882.882 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:15:57,938.938 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:15:57,940.940 INFO    ] No update needed
[2026-08-29 06:15:57,943.943 INFO    ] Checking for camera pi updates...
[2026-08-29 06:15:57,976.976 INFO    ] 200
[2026-08-29 06:15:57,979.979 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:15:58,020.020 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:15:58,131.131 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:15:58,133.133 INFO    ] No camera update needed
[2026-08-29 06:15:58,136.136 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:15:58,138.138 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:15:58,144.144 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:15:58,148.148 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:16:00,188.188 INFO    ] ================================================
[2026-08-29 06:16:00,204.204 INFO    ] Launching Daemon at Sat Aug 29 06:16:00 IST 2026
[2026-08-29 06:16:00,216.216 INFO    ] ================================================
[2026-08-29 06:16:00,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:16:00
[2026-08-29 06:16:01,174.174 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:16:01,324.324 INFO    ] Initializing speech engine...
[2026-08-29 06:16:01,330.330 INFO    ] 2026-08-29 06:16:01
[2026-08-29 06:16:01,520.520 INFO    ] 2026-08-29 06:16:01
[2026-08-29 06:16:01,576.576 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:16:01,769.769 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:16:01,809.809 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:16:01,966.966 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:16:01,980.980 INFO    ] time= 29/08/2026 06:16:01
[2026-08-29 06:16:01,999.999 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:16:02,003.003 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:16:02,057.057 INFO    ] No existing commands found in stream
[2026-08-29 06:16:07,068.068 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:16:07,071.071 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-08-29 06:16:11,224.224 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:16:11,225.225 INFO    ] Checking for system updates...
[2026-08-29 06:16:11,247.247 INFO    ] 200
[2026-08-29 06:16:11,248.248 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:16:11,279.279 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:16:11,280.280 INFO    ] No update needed
[2026-08-29 06:16:11,281.281 INFO    ] Checking for camera pi updates...
[2026-08-29 06:16:11,303.303 INFO    ] 200
[2026-08-29 06:16:11,304.304 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:16:11,327.327 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:16:11,522.522 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:16:11,523.523 INFO    ] No camera update needed
[2026-08-29 06:16:11,525.525 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:16:11,526.526 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:16:11,529.529 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:16:11,532.532 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:16:13,573.573 INFO    ] ================================================
[2026-08-29 06:16:13,589.589 INFO    ] Launching Daemon at Sat Aug 29 06:16:13 IST 2026
[2026-08-29 06:16:13,600.600 INFO    ] ================================================
[2026-08-29 06:16:14,239.239 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:16:14
[2026-08-29 06:16:14,834.834 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:16:15,091.091 INFO    ] Initializing speech engine...
[2026-08-29 06:16:15,099.099 INFO    ] 2026-08-29 06:16:15
[2026-08-29 06:16:15,387.387 INFO    ] 2026-08-29 06:16:15
[2026-08-29 06:16:15,426.426 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:16:15,612.612 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:16:15,618.618 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:16:15,747.747 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:16:15,755.755 INFO    ] time= 29/08/2026 06:16:15
[2026-08-29 06:16:15,774.774 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:16:15,798.798 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:16:15,874.874 INFO    ] No existing commands found in stream
[2026-08-29 06:16:20,887.887 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:16:20,890.890 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 06:16:24,233.233 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:16:24,235.235 INFO    ] Checking for system updates...
[2026-08-29 06:16:24,255.255 INFO    ] 200
[2026-08-29 06:16:24,256.256 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:16:24,286.286 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:16:24,287.287 INFO    ] No update needed
[2026-08-29 06:16:24,289.289 INFO    ] Checking for camera pi updates...
[2026-08-29 06:16:24,309.309 INFO    ] 200
[2026-08-29 06:16:24,310.310 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:16:24,333.333 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:16:24,422.422 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:16:24,424.424 INFO    ] No camera update needed
[2026-08-29 06:16:24,426.426 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:16:24,428.428 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:16:24,434.434 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:16:24,438.438 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:16:26,478.478 INFO    ] ================================================
[2026-08-29 06:16:26,494.494 INFO    ] Launching Daemon at Sat Aug 29 06:16:26 IST 2026
[2026-08-29 06:16:26,506.506 INFO    ] ================================================
[2026-08-29 06:16:27,087.087 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:16:27
[2026-08-29 06:16:27,576.576 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:16:27,719.719 INFO    ] Initializing speech engine...
[2026-08-29 06:16:27,724.724 INFO    ] 2026-08-29 06:16:27
[2026-08-29 06:16:27,920.920 INFO    ] 2026-08-29 06:16:27
[2026-08-29 06:16:28,007.007 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:16:28,153.153 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:16:28,162.162 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:16:28,293.293 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:16:28,314.314 INFO    ] time= 29/08/2026 06:16:28
[2026-08-29 06:16:28,379.379 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:16:28,425.425 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:16:28,482.482 INFO    ] No existing commands found in stream
[2026-08-29 06:16:33,494.494 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:16:33,496.496 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 06:16:36,945.945 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:16:36,946.946 INFO    ] Checking for system updates...
[2026-08-29 06:16:36,968.968 INFO    ] 200
[2026-08-29 06:16:36,970.970 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:16:37,004.004 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:16:37,005.005 INFO    ] No update needed
[2026-08-29 06:16:37,007.007 INFO    ] Checking for camera pi updates...
[2026-08-29 06:16:37,030.030 INFO    ] 200
[2026-08-29 06:16:37,031.031 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:16:37,056.056 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:16:37,157.157 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:16:37,160.160 INFO    ] No camera update needed
[2026-08-29 06:16:37,163.163 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:16:37,165.165 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:16:37,171.171 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:16:37,177.177 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:16:39,218.218 INFO    ] ================================================
[2026-08-29 06:16:39,234.234 INFO    ] Launching Daemon at Sat Aug 29 06:16:39 IST 2026
[2026-08-29 06:16:39,246.246 INFO    ] ================================================
[2026-08-29 06:16:39,814.814 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:16:39
[2026-08-29 06:16:40,290.290 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:16:40,434.434 INFO    ] Initializing speech engine...
[2026-08-29 06:16:40,439.439 INFO    ] 2026-08-29 06:16:40
[2026-08-29 06:16:40,646.646 INFO    ] 2026-08-29 06:16:40
[2026-08-29 06:16:40,684.684 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:16:40,816.816 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:16:40,821.821 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:16:40,933.933 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:16:40,979.979 INFO    ] time= 29/08/2026 06:16:40
[2026-08-29 06:16:41,017.017 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:16:41,067.067 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:16:41,120.120 INFO    ] No existing commands found in stream
[2026-08-29 06:16:46,132.132 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:16:46,135.135 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 06:16:48,866.866 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:16:48,867.867 INFO    ] Checking for system updates...
[2026-08-29 06:16:48,888.888 INFO    ] 200
[2026-08-29 06:16:48,889.889 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:16:48,919.919 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:16:48,921.921 INFO    ] No update needed
[2026-08-29 06:16:48,922.922 INFO    ] Checking for camera pi updates...
[2026-08-29 06:16:48,942.942 INFO    ] 200
[2026-08-29 06:16:48,943.943 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:16:48,966.966 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:16:49,045.045 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:16:49,048.048 INFO    ] No camera update needed
[2026-08-29 06:16:49,050.050 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:16:49,053.053 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:16:49,059.059 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:16:49,064.064 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:16:51,106.106 INFO    ] ================================================
[2026-08-29 06:16:51,121.121 INFO    ] Launching Daemon at Sat Aug 29 06:16:51 IST 2026
[2026-08-29 06:16:51,133.133 INFO    ] ================================================
[2026-08-29 06:16:51,496.496 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:16:51
[2026-08-29 06:16:51,807.807 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:16:51,962.962 INFO    ] Initializing speech engine...
[2026-08-29 06:16:51,968.968 INFO    ] 2026-08-29 06:16:51
[2026-08-29 06:16:52,176.176 INFO    ] 2026-08-29 06:16:52
[2026-08-29 06:16:52,205.205 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:16:52,336.336 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:16:52,399.399 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:16:52,555.555 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:16:52,621.621 INFO    ] time= 29/08/2026 06:16:52
[2026-08-29 06:16:52,646.646 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:16:52,654.654 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:16:52,725.725 INFO    ] No existing commands found in stream
[2026-08-29 06:16:57,734.734 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:16:57,737.737 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-08-29 06:17:01,583.583 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:17:01,585.585 INFO    ] Checking for system updates...
[2026-08-29 06:17:01,607.607 INFO    ] 200
[2026-08-29 06:17:01,608.608 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:17:01,667.667 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:17:01,672.672 INFO    ] No update needed
[2026-08-29 06:17:01,677.677 INFO    ] Checking for camera pi updates...
[2026-08-29 06:17:01,789.789 INFO    ] 200
[2026-08-29 06:17:01,794.794 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:17:01,873.873 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:17:01,997.997 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:17:02,001.001 INFO    ] No camera update needed
[2026-08-29 06:17:02,004.004 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:17:02,007.007 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:17:02,017.017 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:17:02,025.025 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:17:04,068.068 INFO    ] ================================================
[2026-08-29 06:17:04,084.084 INFO    ] Launching Daemon at Sat Aug 29 06:17:04 IST 2026
[2026-08-29 06:17:04,095.095 INFO    ] ================================================
[2026-08-29 06:17:04,716.716 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:17:04
[2026-08-29 06:17:05,070.070 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:17:05,217.217 INFO    ] Initializing speech engine...
[2026-08-29 06:17:05,228.228 INFO    ] 2026-08-29 06:17:05
[2026-08-29 06:17:05,431.431 INFO    ] 2026-08-29 06:17:05
[2026-08-29 06:17:05,461.461 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:17:05,581.581 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:17:05,620.620 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:17:05,775.775 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:17:05,836.836 INFO    ] time= 29/08/2026 06:17:05
[2026-08-29 06:17:05,865.865 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:17:05,875.875 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:17:05,951.951 INFO    ] No existing commands found in stream
[2026-08-29 06:17:10,966.966 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:17:10,968.968 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-08-29 06:17:12,147.147 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:17:12,149.149 INFO    ] Checking for system updates...
[2026-08-29 06:17:12,170.170 INFO    ] 200
[2026-08-29 06:17:12,171.171 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:17:12,203.203 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:17:12,204.204 INFO    ] No update needed
[2026-08-29 06:17:12,206.206 INFO    ] Checking for camera pi updates...
[2026-08-29 06:17:12,227.227 INFO    ] 200
[2026-08-29 06:17:12,229.229 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:17:12,268.268 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:17:12,357.357 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:17:12,359.359 INFO    ] No camera update needed
[2026-08-29 06:17:12,362.362 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:17:12,364.364 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:17:12,370.370 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:17:12,375.375 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:17:14,415.415 INFO    ] ================================================
[2026-08-29 06:17:14,430.430 INFO    ] Launching Daemon at Sat Aug 29 06:17:14 IST 2026
[2026-08-29 06:17:14,441.441 INFO    ] ================================================
[2026-08-29 06:17:15,010.010 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:17:15
[2026-08-29 06:17:15,508.508 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:17:15,777.777 INFO    ] Initializing speech engine...
[2026-08-29 06:17:15,797.797 INFO    ] 2026-08-29 06:17:15
[2026-08-29 06:17:16,058.058 INFO    ] 2026-08-29 06:17:16
[2026-08-29 06:17:16,094.094 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:17:16,280.280 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:17:16,295.295 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:17:16,415.415 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:17:16,420.420 INFO    ] time= 29/08/2026 06:17:16
[2026-08-29 06:17:16,440.440 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:17:16,461.461 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:17:16,540.540 INFO    ] No existing commands found in stream
[2026-08-29 06:17:21,553.553 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:17:21,556.556 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-08-29 06:17:22,513.513 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:17:22,514.514 INFO    ] Checking for system updates...
[2026-08-29 06:17:22,537.537 INFO    ] 200
[2026-08-29 06:17:22,538.538 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:17:22,568.568 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:17:22,569.569 INFO    ] No update needed
[2026-08-29 06:17:22,570.570 INFO    ] Checking for camera pi updates...
[2026-08-29 06:17:22,590.590 INFO    ] 200
[2026-08-29 06:17:22,592.592 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:17:22,615.615 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:17:22,725.725 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:17:22,726.726 INFO    ] No camera update needed
[2026-08-29 06:17:22,728.728 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:17:22,729.729 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:17:22,732.732 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:17:22,734.734 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:17:24,772.772 INFO    ] ================================================
[2026-08-29 06:17:24,788.788 INFO    ] Launching Daemon at Sat Aug 29 06:17:24 IST 2026
[2026-08-29 06:17:24,798.798 INFO    ] ================================================
[2026-08-29 06:17:25,299.299 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:17:25
[2026-08-29 06:17:25,889.889 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:17:26,147.147 INFO    ] Initializing speech engine...
[2026-08-29 06:17:26,161.161 INFO    ] 2026-08-29 06:17:26
[2026-08-29 06:17:26,414.414 INFO    ] 2026-08-29 06:17:26
[2026-08-29 06:17:26,450.450 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:17:26,621.621 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:17:26,633.633 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:17:26,775.775 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:17:26,783.783 INFO    ] time= 29/08/2026 06:17:26
[2026-08-29 06:17:26,790.790 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:17:26,830.830 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:17:26,956.956 INFO    ] No existing commands found in stream
[2026-08-29 06:17:31,981.981 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:17:31,984.984 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-08-29 06:17:33,267.267 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:17:33,269.269 INFO    ] Checking for system updates...
[2026-08-29 06:17:33,306.306 INFO    ] 200
[2026-08-29 06:17:33,308.308 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:17:33,362.362 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:17:33,365.365 INFO    ] No update needed
[2026-08-29 06:17:33,367.367 INFO    ] Checking for camera pi updates...
[2026-08-29 06:17:33,403.403 INFO    ] 200
[2026-08-29 06:17:33,406.406 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:17:33,450.450 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:17:33,559.559 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:17:33,561.561 INFO    ] No camera update needed
[2026-08-29 06:17:33,564.564 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:17:33,567.567 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:17:33,572.572 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:17:33,578.578 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:17:35,618.618 INFO    ] ================================================
[2026-08-29 06:17:35,633.633 INFO    ] Launching Daemon at Sat Aug 29 06:17:35 IST 2026
[2026-08-29 06:17:35,643.643 INFO    ] ================================================
[2026-08-29 06:17:36,000.000 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:17:35
[2026-08-29 06:17:36,312.312 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:17:36,447.447 INFO    ] Initializing speech engine...
[2026-08-29 06:17:36,459.459 INFO    ] 2026-08-29 06:17:36
[2026-08-29 06:17:36,675.675 INFO    ] 2026-08-29 06:17:36
[2026-08-29 06:17:36,705.705 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:17:36,835.835 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:17:36,893.893 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:17:37,047.047 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:17:37,106.106 INFO    ] time= 29/08/2026 06:17:37
[2026-08-29 06:17:37,134.134 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:17:37,145.145 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:17:37,222.222 INFO    ] No existing commands found in stream
[2026-08-29 06:17:42,231.231 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:17:42,234.234 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-08-29 06:17:43,471.471 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:17:43,473.473 INFO    ] Checking for system updates...
[2026-08-29 06:17:43,493.493 INFO    ] 200
[2026-08-29 06:17:43,494.494 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:17:43,527.527 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:17:43,528.528 INFO    ] No update needed
[2026-08-29 06:17:43,529.529 INFO    ] Checking for camera pi updates...
[2026-08-29 06:17:43,549.549 INFO    ] 200
[2026-08-29 06:17:43,550.550 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:17:43,574.574 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:17:43,656.656 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:17:43,657.657 INFO    ] No camera update needed
[2026-08-29 06:17:43,658.658 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:17:43,659.659 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:17:43,662.662 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:17:43,665.665 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:17:45,703.703 INFO    ] ================================================
[2026-08-29 06:17:45,719.719 INFO    ] Launching Daemon at Sat Aug 29 06:17:45 IST 2026
[2026-08-29 06:17:45,729.729 INFO    ] ================================================
[2026-08-29 06:17:46,284.284 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:17:46
[2026-08-29 06:17:46,885.885 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:17:47,146.146 INFO    ] Initializing speech engine...
[2026-08-29 06:17:47,162.162 INFO    ] 2026-08-29 06:17:47
[2026-08-29 06:17:47,441.441 INFO    ] 2026-08-29 06:17:47
[2026-08-29 06:17:47,479.479 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:17:47,670.670 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:17:47,677.677 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:17:47,808.808 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:17:47,814.814 INFO    ] time= 29/08/2026 06:17:47
[2026-08-29 06:17:47,834.834 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:17:47,855.855 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:17:47,936.936 INFO    ] No existing commands found in stream
[2026-08-29 06:17:52,949.949 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:17:52,951.951 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-08-29 06:17:55,209.209 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:17:55,211.211 INFO    ] Checking for system updates...
[2026-08-29 06:17:55,231.231 INFO    ] 200
[2026-08-29 06:17:55,233.233 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:17:55,263.263 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:17:55,264.264 INFO    ] No update needed
[2026-08-29 06:17:55,266.266 INFO    ] Checking for camera pi updates...
[2026-08-29 06:17:55,285.285 INFO    ] 200
[2026-08-29 06:17:55,286.286 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:17:55,313.313 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:17:55,410.410 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:17:55,413.413 INFO    ] No camera update needed
[2026-08-29 06:17:55,415.415 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:17:55,418.418 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:17:55,423.423 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:17:55,428.428 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:17:57,468.468 INFO    ] ================================================
[2026-08-29 06:17:57,483.483 INFO    ] Launching Daemon at Sat Aug 29 06:17:57 IST 2026
[2026-08-29 06:17:57,494.494 INFO    ] ================================================
[2026-08-29 06:17:58,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:17:58
[2026-08-29 06:17:58,546.546 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:17:58,688.688 INFO    ] Initializing speech engine...
[2026-08-29 06:17:58,692.692 INFO    ] 2026-08-29 06:17:58
[2026-08-29 06:17:58,901.901 INFO    ] 2026-08-29 06:17:58
[2026-08-29 06:17:58,930.930 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:17:59,072.072 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:17:59,128.128 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:17:59,269.269 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:17:59,315.315 INFO    ] time= 29/08/2026 06:17:59
[2026-08-29 06:17:59,353.353 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:17:59,376.376 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:17:59,452.452 INFO    ] No existing commands found in stream
[2026-08-29 06:18:04,463.463 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:18:04,466.466 INFO    ] Waiting 2.52 seconds before fallback handling...
[2026-08-29 06:18:07,341.341 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:18:07,343.343 INFO    ] Checking for system updates...
[2026-08-29 06:18:07,363.363 INFO    ] 200
[2026-08-29 06:18:07,364.364 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:18:07,394.394 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:18:07,395.395 INFO    ] No update needed
[2026-08-29 06:18:07,397.397 INFO    ] Checking for camera pi updates...
[2026-08-29 06:18:07,416.416 INFO    ] 200
[2026-08-29 06:18:07,417.417 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:18:07,442.442 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:18:07,519.519 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:18:07,521.521 INFO    ] No camera update needed
[2026-08-29 06:18:07,522.522 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:18:07,523.523 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:18:07,526.526 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:18:07,529.529 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:18:09,568.568 INFO    ] ================================================
[2026-08-29 06:18:09,583.583 INFO    ] Launching Daemon at Sat Aug 29 06:18:09 IST 2026
[2026-08-29 06:18:09,594.594 INFO    ] ================================================
[2026-08-29 06:18:09,950.950 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:18:09
[2026-08-29 06:18:10,262.262 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:18:10,396.396 INFO    ] Initializing speech engine...
[2026-08-29 06:18:10,409.409 INFO    ] 2026-08-29 06:18:10
[2026-08-29 06:18:10,626.626 INFO    ] 2026-08-29 06:18:10
[2026-08-29 06:18:10,712.712 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:18:10,869.869 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:18:10,875.875 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:18:11,011.011 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:18:11,028.028 INFO    ] time= 29/08/2026 06:18:11
[2026-08-29 06:18:11,087.087 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:18:11,131.131 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:18:11,202.202 INFO    ] No existing commands found in stream
[2026-08-29 06:18:16,214.214 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:18:16,217.217 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-08-29 06:18:19,789.789 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:18:19,790.790 INFO    ] Checking for system updates...
[2026-08-29 06:18:19,811.811 INFO    ] 200
[2026-08-29 06:18:19,813.813 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:18:19,845.845 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:18:19,846.846 INFO    ] No update needed
[2026-08-29 06:18:19,847.847 INFO    ] Checking for camera pi updates...
[2026-08-29 06:18:19,866.866 INFO    ] 200
[2026-08-29 06:18:19,868.868 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:18:19,893.893 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:18:20,066.066 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:18:20,067.067 INFO    ] No camera update needed
[2026-08-29 06:18:20,068.068 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:18:20,069.069 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:18:20,072.072 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:18:20,075.075 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:18:22,114.114 INFO    ] ================================================
[2026-08-29 06:18:22,129.129 INFO    ] Launching Daemon at Sat Aug 29 06:18:22 IST 2026
[2026-08-29 06:18:22,139.139 INFO    ] ================================================
[2026-08-29 06:18:22,471.471 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:18:22
[2026-08-29 06:18:22,788.788 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:18:22,928.928 INFO    ] Initializing speech engine...
[2026-08-29 06:18:22,940.940 INFO    ] 2026-08-29 06:18:22
[2026-08-29 06:18:23,162.162 INFO    ] 2026-08-29 06:18:23
[2026-08-29 06:18:23,193.193 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:18:23,302.302 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:18:23,329.329 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:18:23,460.460 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:18:23,479.479 INFO    ] time= 29/08/2026 06:18:23
[2026-08-29 06:18:23,508.508 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:18:23,516.516 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:18:23,617.617 INFO    ] No existing commands found in stream
[2026-08-29 06:18:28,632.632 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:18:28,634.634 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-08-29 06:18:30,858.858 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:18:30,860.860 INFO    ] Checking for system updates...
[2026-08-29 06:18:30,882.882 INFO    ] 200
[2026-08-29 06:18:30,883.883 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:18:30,914.914 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:18:30,915.915 INFO    ] No update needed
[2026-08-29 06:18:30,917.917 INFO    ] Checking for camera pi updates...
[2026-08-29 06:18:30,937.937 INFO    ] 200
[2026-08-29 06:18:30,939.939 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:18:30,962.962 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:18:31,036.036 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:18:31,038.038 INFO    ] No camera update needed
[2026-08-29 06:18:31,039.039 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:18:31,040.040 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:18:31,043.043 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:18:31,046.046 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:18:33,077.077 INFO    ] ================================================
[2026-08-29 06:18:33,093.093 INFO    ] Launching Daemon at Sat Aug 29 06:18:33 IST 2026
[2026-08-29 06:18:33,104.104 INFO    ] ================================================
[2026-08-29 06:18:33,768.768 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:18:33
[2026-08-29 06:18:34,411.411 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:18:34,681.681 INFO    ] Initializing speech engine...
[2026-08-29 06:18:34,691.691 INFO    ] 2026-08-29 06:18:34
[2026-08-29 06:18:34,942.942 INFO    ] 2026-08-29 06:18:34
[2026-08-29 06:18:35,008.008 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:18:35,154.154 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:18:35,166.166 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:18:35,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:18:35,279.279 INFO    ] time= 29/08/2026 06:18:35
[2026-08-29 06:18:35,313.313 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:18:35,316.316 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:18:35,429.429 INFO    ] No existing commands found in stream
[2026-08-29 06:18:40,439.439 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:18:40,442.442 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-08-29 06:18:42,482.482 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:18:42,484.484 INFO    ] Checking for system updates...
[2026-08-29 06:18:42,504.504 INFO    ] 200
[2026-08-29 06:18:42,506.506 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:18:42,535.535 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:18:42,537.537 INFO    ] No update needed
[2026-08-29 06:18:42,538.538 INFO    ] Checking for camera pi updates...
[2026-08-29 06:18:42,562.562 INFO    ] 200
[2026-08-29 06:18:42,563.563 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:18:42,586.586 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:18:42,673.673 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:18:42,675.675 INFO    ] No camera update needed
[2026-08-29 06:18:42,677.677 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:18:42,680.680 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:18:42,685.685 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:18:42,690.690 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:18:44,731.731 INFO    ] ================================================
[2026-08-29 06:18:44,746.746 INFO    ] Launching Daemon at Sat Aug 29 06:18:44 IST 2026
[2026-08-29 06:18:44,757.757 INFO    ] ================================================
[2026-08-29 06:18:45,381.381 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:18:45
[2026-08-29 06:18:45,865.865 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:18:45,997.997 INFO    ] Initializing speech engine...
[2026-08-29 06:18:46,009.009 INFO    ] 2026-08-29 06:18:45
[2026-08-29 06:18:46,218.218 INFO    ] 2026-08-29 06:18:46
[2026-08-29 06:18:46,247.247 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:18:46,371.371 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:18:46,434.434 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:18:46,567.567 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:18:46,627.627 INFO    ] time= 29/08/2026 06:18:46
[2026-08-29 06:18:46,657.657 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:18:46,669.669 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:18:46,740.740 INFO    ] No existing commands found in stream
[2026-08-29 06:18:51,750.750 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:18:51,753.753 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-08-29 06:18:55,701.701 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:18:55,703.703 INFO    ] Checking for system updates...
[2026-08-29 06:18:55,724.724 INFO    ] 200
[2026-08-29 06:18:55,726.726 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:18:55,758.758 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:18:55,759.759 INFO    ] No update needed
[2026-08-29 06:18:55,760.760 INFO    ] Checking for camera pi updates...
[2026-08-29 06:18:55,779.779 INFO    ] 200
[2026-08-29 06:18:55,781.781 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:18:55,804.804 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:18:55,900.900 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:18:55,902.902 INFO    ] No camera update needed
[2026-08-29 06:18:55,903.903 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:18:55,905.905 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:18:55,907.907 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:18:55,910.910 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:18:57,949.949 INFO    ] ================================================
[2026-08-29 06:18:57,964.964 INFO    ] Launching Daemon at Sat Aug 29 06:18:57 IST 2026
[2026-08-29 06:18:57,975.975 INFO    ] ================================================
[2026-08-29 06:18:58,476.476 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:18:58
[2026-08-29 06:18:59,067.067 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:18:59,330.330 INFO    ] Initializing speech engine...
[2026-08-29 06:18:59,348.348 INFO    ] 2026-08-29 06:18:59
[2026-08-29 06:18:59,600.600 INFO    ] 2026-08-29 06:18:59
[2026-08-29 06:18:59,635.635 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:18:59,809.809 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:18:59,815.815 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:18:59,937.937 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:18:59,957.957 INFO    ] time= 29/08/2026 06:18:59
[2026-08-29 06:18:59,976.976 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:18:59,985.985 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:19:00,057.057 INFO    ] No existing commands found in stream
[2026-08-29 06:19:05,092.092 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:19:05,095.095 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-08-29 06:19:05,751.751 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:19:05,753.753 INFO    ] Checking for system updates...
[2026-08-29 06:19:05,774.774 INFO    ] 200
[2026-08-29 06:19:05,775.775 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:19:05,808.808 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:19:05,810.810 INFO    ] No update needed
[2026-08-29 06:19:05,811.811 INFO    ] Checking for camera pi updates...
[2026-08-29 06:19:05,831.831 INFO    ] 200
[2026-08-29 06:19:05,832.832 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:19:05,856.856 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:19:05,907.907 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:19:05,908.908 INFO    ] No camera update needed
[2026-08-29 06:19:05,909.909 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:19:05,911.911 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:19:05,914.914 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:19:05,918.918 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:19:07,956.956 INFO    ] ================================================
[2026-08-29 06:19:07,971.971 INFO    ] Launching Daemon at Sat Aug 29 06:19:07 IST 2026
[2026-08-29 06:19:07,982.982 INFO    ] ================================================
[2026-08-29 06:19:08,555.555 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:19:08
[2026-08-29 06:19:09,158.158 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:19:09,417.417 INFO    ] Initializing speech engine...
[2026-08-29 06:19:09,423.423 INFO    ] 2026-08-29 06:19:09
[2026-08-29 06:19:09,630.630 INFO    ] 2026-08-29 06:19:09
[2026-08-29 06:19:09,664.664 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:19:09,822.822 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:19:09,826.826 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:19:09,980.980 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:19:10,019.019 INFO    ] time= 29/08/2026 06:19:09
[2026-08-29 06:19:10,050.050 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:19:10,110.110 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:19:10,225.225 INFO    ] No existing commands found in stream
[2026-08-29 06:19:15,234.234 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:19:15,237.237 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 06:19:18,695.695 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:19:18,697.697 INFO    ] Checking for system updates...
[2026-08-29 06:19:18,717.717 INFO    ] 200
[2026-08-29 06:19:18,718.718 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:19:18,752.752 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:19:18,754.754 INFO    ] No update needed
[2026-08-29 06:19:18,755.755 INFO    ] Checking for camera pi updates...
[2026-08-29 06:19:18,774.774 INFO    ] 200
[2026-08-29 06:19:18,775.775 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:19:18,798.798 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:19:18,918.918 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:19:18,921.921 INFO    ] No camera update needed
[2026-08-29 06:19:18,923.923 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:19:18,925.925 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:19:18,930.930 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:19:18,936.936 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:19:20,976.976 INFO    ] ================================================
[2026-08-29 06:19:20,991.991 INFO    ] Launching Daemon at Sat Aug 29 06:19:20 IST 2026
[2026-08-29 06:19:21,002.002 INFO    ] ================================================
[2026-08-29 06:19:21,576.576 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:19:21
[2026-08-29 06:19:22,063.063 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:19:22,193.193 INFO    ] Initializing speech engine...
[2026-08-29 06:19:22,202.202 INFO    ] 2026-08-29 06:19:22
[2026-08-29 06:19:22,416.416 INFO    ] 2026-08-29 06:19:22
[2026-08-29 06:19:22,446.446 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:19:22,585.585 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:19:22,634.634 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:19:22,766.766 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:19:22,807.807 INFO    ] time= 29/08/2026 06:19:22
[2026-08-29 06:19:22,846.846 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:19:22,868.868 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:19:22,941.941 INFO    ] No existing commands found in stream
[2026-08-29 06:19:27,950.950 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:19:27,954.954 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-08-29 06:19:31,050.050 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:19:31,052.052 INFO    ] Checking for system updates...
[2026-08-29 06:19:31,073.073 INFO    ] 200
[2026-08-29 06:19:31,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:19:31,107.107 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:19:31,108.108 INFO    ] No update needed
[2026-08-29 06:19:31,110.110 INFO    ] Checking for camera pi updates...
[2026-08-29 06:19:31,129.129 INFO    ] 200
[2026-08-29 06:19:31,131.131 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:19:31,154.154 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:19:31,238.238 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:19:31,240.240 INFO    ] No camera update needed
[2026-08-29 06:19:31,241.241 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:19:31,242.242 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:19:31,246.246 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:19:31,249.249 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:19:33,290.290 INFO    ] ================================================
[2026-08-29 06:19:33,305.305 INFO    ] Launching Daemon at Sat Aug 29 06:19:33 IST 2026
[2026-08-29 06:19:33,316.316 INFO    ] ================================================
[2026-08-29 06:19:33,986.986 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:19:33
[2026-08-29 06:19:34,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:19:34,995.995 INFO    ] Initializing speech engine...
[2026-08-29 06:19:35,001.001 INFO    ] 2026-08-29 06:19:34
[2026-08-29 06:19:35,224.224 INFO    ] 2026-08-29 06:19:35
[2026-08-29 06:19:35,306.306 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:19:35,479.479 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:19:35,484.484 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:19:35,601.601 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:19:35,661.661 INFO    ] time= 29/08/2026 06:19:35
[2026-08-29 06:19:35,728.728 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:19:35,735.735 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:19:35,850.850 INFO    ] No existing commands found in stream
[2026-08-29 06:19:40,878.878 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:19:40,882.882 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-08-29 06:19:42,634.634 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:19:42,635.635 INFO    ] Checking for system updates...
[2026-08-29 06:19:42,657.657 INFO    ] 200
[2026-08-29 06:19:42,658.658 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:19:42,688.688 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:19:42,689.689 INFO    ] No update needed
[2026-08-29 06:19:42,691.691 INFO    ] Checking for camera pi updates...
[2026-08-29 06:19:42,711.711 INFO    ] 200
[2026-08-29 06:19:42,713.713 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:19:42,753.753 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:19:42,836.836 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:19:42,839.839 INFO    ] No camera update needed
[2026-08-29 06:19:42,842.842 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:19:42,845.845 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:19:42,851.851 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:19:42,857.857 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:19:44,899.899 INFO    ] ================================================
[2026-08-29 06:19:44,914.914 INFO    ] Launching Daemon at Sat Aug 29 06:19:44 IST 2026
[2026-08-29 06:19:44,925.925 INFO    ] ================================================
[2026-08-29 06:19:45,593.593 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:19:45
[2026-08-29 06:19:46,063.063 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:19:46,216.216 INFO    ] Initializing speech engine...
[2026-08-29 06:19:46,221.221 INFO    ] 2026-08-29 06:19:46
[2026-08-29 06:19:46,431.431 INFO    ] 2026-08-29 06:19:46
[2026-08-29 06:19:46,461.461 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:19:46,647.647 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:19:46,656.656 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:19:46,799.799 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:19:46,858.858 INFO    ] time= 29/08/2026 06:19:46
[2026-08-29 06:19:46,881.881 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:19:46,888.888 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:19:46,956.956 INFO    ] No existing commands found in stream
[2026-08-29 06:19:51,966.966 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:19:51,969.969 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-08-29 06:19:54,534.534 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:19:54,535.535 INFO    ] Checking for system updates...
[2026-08-29 06:19:54,556.556 INFO    ] 200
[2026-08-29 06:19:54,557.557 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:19:54,590.590 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:19:54,592.592 INFO    ] No update needed
[2026-08-29 06:19:54,593.593 INFO    ] Checking for camera pi updates...
[2026-08-29 06:19:54,613.613 INFO    ] 200
[2026-08-29 06:19:54,615.615 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:19:54,661.661 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:19:54,743.743 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:19:54,746.746 INFO    ] No camera update needed
[2026-08-29 06:19:54,748.748 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:19:54,751.751 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:19:54,758.758 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:19:54,764.764 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:19:56,804.804 INFO    ] ================================================
[2026-08-29 06:19:56,819.819 INFO    ] Launching Daemon at Sat Aug 29 06:19:56 IST 2026
[2026-08-29 06:19:56,830.830 INFO    ] ================================================
[2026-08-29 06:19:57,507.507 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:19:57
[2026-08-29 06:19:57,974.974 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:19:58,128.128 INFO    ] Initializing speech engine...
[2026-08-29 06:19:58,134.134 INFO    ] 2026-08-29 06:19:58
[2026-08-29 06:19:58,347.347 INFO    ] 2026-08-29 06:19:58
[2026-08-29 06:19:58,397.397 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:19:58,568.568 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:19:58,575.575 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:19:58,687.687 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:19:58,690.690 INFO    ] time= 29/08/2026 06:19:58
[2026-08-29 06:19:58,750.750 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:19:58,807.807 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:19:58,860.860 INFO    ] No existing commands found in stream
[2026-08-29 06:20:03,874.874 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:20:03,877.877 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-08-29 06:20:08,700.700 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:20:08,703.703 INFO    ] Checking for system updates...
[2026-08-29 06:20:08,744.744 INFO    ] 200
[2026-08-29 06:20:08,747.747 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:20:08,801.801 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:20:08,803.803 INFO    ] No update needed
[2026-08-29 06:20:08,805.805 INFO    ] Checking for camera pi updates...
[2026-08-29 06:20:08,824.824 INFO    ] 200
[2026-08-29 06:20:08,826.826 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:20:08,849.849 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:20:08,960.960 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:20:08,962.962 INFO    ] No camera update needed
[2026-08-29 06:20:08,963.963 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:20:08,965.965 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:20:08,968.968 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:20:08,971.971 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:20:11,012.012 INFO    ] ================================================
[2026-08-29 06:20:11,028.028 INFO    ] Launching Daemon at Sat Aug 29 06:20:11 IST 2026
[2026-08-29 06:20:11,039.039 INFO    ] ================================================
[2026-08-29 06:20:11,407.407 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:20:11
[2026-08-29 06:20:11,808.808 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:20:12,119.119 INFO    ] Initializing speech engine...
[2026-08-29 06:20:12,133.133 INFO    ] 2026-08-29 06:20:12
[2026-08-29 06:20:12,406.406 INFO    ] 2026-08-29 06:20:12
[2026-08-29 06:20:12,466.466 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:20:12,692.692 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:20:12,701.701 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:20:12,835.835 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:20:12,878.878 INFO    ] time= 29/08/2026 06:20:12
[2026-08-29 06:20:12,943.943 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:20:12,974.974 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:20:13,031.031 INFO    ] No existing commands found in stream
[2026-08-29 06:20:18,043.043 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:20:18,046.046 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-08-29 06:20:19,308.308 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:20:19,309.309 INFO    ] Checking for system updates...
[2026-08-29 06:20:19,330.330 INFO    ] 200
[2026-08-29 06:20:19,331.331 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:20:19,362.362 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:20:19,363.363 INFO    ] No update needed
[2026-08-29 06:20:19,365.365 INFO    ] Checking for camera pi updates...
[2026-08-29 06:20:19,384.384 INFO    ] 200
[2026-08-29 06:20:19,386.386 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:20:19,409.409 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:20:19,502.502 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:20:19,505.505 INFO    ] No camera update needed
[2026-08-29 06:20:19,507.507 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:20:19,511.511 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:20:19,517.517 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:20:19,523.523 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:20:21,565.565 INFO    ] ================================================
[2026-08-29 06:20:21,580.580 INFO    ] Launching Daemon at Sat Aug 29 06:20:21 IST 2026
[2026-08-29 06:20:21,591.591 INFO    ] ================================================
[2026-08-29 06:20:22,173.173 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:20:22
[2026-08-29 06:20:22,675.675 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:20:22,810.810 INFO    ] Initializing speech engine...
[2026-08-29 06:20:22,815.815 INFO    ] 2026-08-29 06:20:22
[2026-08-29 06:20:23,047.047 INFO    ] 2026-08-29 06:20:23
[2026-08-29 06:20:23,078.078 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:20:23,210.210 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:20:23,255.255 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:20:23,423.423 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:20:23,470.470 INFO    ] time= 29/08/2026 06:20:23
[2026-08-29 06:20:23,509.509 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:20:23,532.532 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:20:23,643.643 INFO    ] No existing commands found in stream
[2026-08-29 06:20:28,664.664 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:20:28,667.667 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-08-29 06:20:31,287.287 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:20:31,289.289 INFO    ] Checking for system updates...
[2026-08-29 06:20:31,309.309 INFO    ] 200
[2026-08-29 06:20:31,310.310 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:20:31,341.341 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:20:31,342.342 INFO    ] No update needed
[2026-08-29 06:20:31,343.343 INFO    ] Checking for camera pi updates...
[2026-08-29 06:20:31,362.362 INFO    ] 200
[2026-08-29 06:20:31,364.364 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:20:31,391.391 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:20:31,577.577 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:20:31,580.580 INFO    ] No camera update needed
[2026-08-29 06:20:31,582.582 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:20:31,585.585 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:20:31,592.592 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:20:31,598.598 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:20:33,639.639 INFO    ] ================================================
[2026-08-29 06:20:33,655.655 INFO    ] Launching Daemon at Sat Aug 29 06:20:33 IST 2026
[2026-08-29 06:20:33,666.666 INFO    ] ================================================
[2026-08-29 06:20:34,243.243 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:20:34
[2026-08-29 06:20:34,615.615 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:20:34,754.754 INFO    ] Initializing speech engine...
[2026-08-29 06:20:34,763.763 INFO    ] 2026-08-29 06:20:34
[2026-08-29 06:20:34,970.970 INFO    ] 2026-08-29 06:20:34
[2026-08-29 06:20:34,998.998 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:20:35,135.135 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:20:35,173.173 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:20:35,308.308 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:20:35,315.315 INFO    ] time= 29/08/2026 06:20:35
[2026-08-29 06:20:35,331.331 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:20:35,345.345 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:20:35,455.455 INFO    ] No existing commands found in stream
[2026-08-29 06:20:40,480.480 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:20:40,483.483 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 06:20:42,825.825 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:20:42,826.826 INFO    ] Checking for system updates...
[2026-08-29 06:20:42,848.848 INFO    ] 200
[2026-08-29 06:20:42,849.849 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:20:42,879.879 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:20:42,881.881 INFO    ] No update needed
[2026-08-29 06:20:42,882.882 INFO    ] Checking for camera pi updates...
[2026-08-29 06:20:42,902.902 INFO    ] 200
[2026-08-29 06:20:42,903.903 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:20:42,928.928 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:20:43,006.006 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:20:43,007.007 INFO    ] No camera update needed
[2026-08-29 06:20:43,008.008 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:20:43,010.010 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:20:43,013.013 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:20:43,016.016 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:20:45,055.055 INFO    ] ================================================
[2026-08-29 06:20:45,071.071 INFO    ] Launching Daemon at Sat Aug 29 06:20:45 IST 2026
[2026-08-29 06:20:45,081.081 INFO    ] ================================================
[2026-08-29 06:20:45,426.426 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:20:45
[2026-08-29 06:20:45,743.743 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:20:45,886.886 INFO    ] Initializing speech engine...
[2026-08-29 06:20:45,892.892 INFO    ] 2026-08-29 06:20:45
[2026-08-29 06:20:46,127.127 INFO    ] 2026-08-29 06:20:46
[2026-08-29 06:20:46,183.183 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:20:46,346.346 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:20:46,354.354 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:20:46,533.533 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:20:46,554.554 INFO    ] time= 29/08/2026 06:20:46
[2026-08-29 06:20:46,560.560 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:20:46,578.578 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:20:46,689.689 INFO    ] No existing commands found in stream
[2026-08-29 06:20:51,717.717 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:20:51,719.719 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-08-29 06:20:56,281.281 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:20:56,284.284 INFO    ] Checking for system updates...
[2026-08-29 06:20:56,321.321 INFO    ] 200
[2026-08-29 06:20:56,324.324 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:20:56,379.379 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:20:56,382.382 INFO    ] No update needed
[2026-08-29 06:20:56,385.385 INFO    ] Checking for camera pi updates...
[2026-08-29 06:20:56,420.420 INFO    ] 200
[2026-08-29 06:20:56,423.423 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:20:56,465.465 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:20:56,556.556 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:20:56,559.559 INFO    ] No camera update needed
[2026-08-29 06:20:56,561.561 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:20:56,564.564 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:20:56,571.571 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:20:56,577.577 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:20:58,617.617 INFO    ] ================================================
[2026-08-29 06:20:58,632.632 INFO    ] Launching Daemon at Sat Aug 29 06:20:58 IST 2026
[2026-08-29 06:20:58,643.643 INFO    ] ================================================
[2026-08-29 06:20:59,019.019 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:20:59
[2026-08-29 06:20:59,362.362 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:20:59,517.517 INFO    ] Initializing speech engine...
[2026-08-29 06:20:59,522.522 INFO    ] 2026-08-29 06:20:59
[2026-08-29 06:20:59,734.734 INFO    ] 2026-08-29 06:20:59
[2026-08-29 06:20:59,765.765 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:20:59,889.889 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:20:59,947.947 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:21:00,092.092 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:21:00,163.163 INFO    ] time= 29/08/2026 06:21:00
[2026-08-29 06:21:00,187.187 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:21:00,194.194 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:21:00,261.261 INFO    ] No existing commands found in stream
[2026-08-29 06:21:05,273.273 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:21:05,276.276 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-08-29 06:21:05,729.729 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:21:05,730.730 INFO    ] Checking for system updates...
[2026-08-29 06:21:05,756.756 INFO    ] 200
[2026-08-29 06:21:05,758.758 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:21:05,811.811 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:21:05,812.812 INFO    ] No update needed
[2026-08-29 06:21:05,814.814 INFO    ] Checking for camera pi updates...
[2026-08-29 06:21:05,837.837 INFO    ] 200
[2026-08-29 06:21:05,839.839 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:21:05,879.879 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:21:05,981.981 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:21:05,984.984 INFO    ] No camera update needed
[2026-08-29 06:21:05,986.986 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:21:05,988.988 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:21:05,994.994 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:21:05,999.999 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:21:08,039.039 INFO    ] ================================================
[2026-08-29 06:21:08,054.054 INFO    ] Launching Daemon at Sat Aug 29 06:21:08 IST 2026
[2026-08-29 06:21:08,065.065 INFO    ] ================================================
[2026-08-29 06:21:08,723.723 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:21:08
[2026-08-29 06:21:09,181.181 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:21:09,328.328 INFO    ] Initializing speech engine...
[2026-08-29 06:21:09,339.339 INFO    ] 2026-08-29 06:21:09
[2026-08-29 06:21:09,555.555 INFO    ] 2026-08-29 06:21:09
[2026-08-29 06:21:09,643.643 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:21:09,804.804 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:21:09,810.810 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:21:09,945.945 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:21:09,967.967 INFO    ] time= 29/08/2026 06:21:09
[2026-08-29 06:21:10,032.032 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:21:10,084.084 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:21:10,146.146 INFO    ] No existing commands found in stream
[2026-08-29 06:21:15,161.161 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:21:15,165.165 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-08-29 06:21:18,136.136 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:21:18,137.137 INFO    ] Checking for system updates...
[2026-08-29 06:21:18,160.160 INFO    ] 200
[2026-08-29 06:21:18,162.162 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:21:18,194.194 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:21:18,196.196 INFO    ] No update needed
[2026-08-29 06:21:18,197.197 INFO    ] Checking for camera pi updates...
[2026-08-29 06:21:18,217.217 INFO    ] 200
[2026-08-29 06:21:18,219.219 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:21:18,242.242 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:21:18,349.349 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:21:18,350.350 INFO    ] No camera update needed
[2026-08-29 06:21:18,352.352 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:21:18,353.353 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:21:18,356.356 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:21:18,359.359 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:21:20,398.398 INFO    ] ================================================
[2026-08-29 06:21:20,414.414 INFO    ] Launching Daemon at Sat Aug 29 06:21:20 IST 2026
[2026-08-29 06:21:20,425.425 INFO    ] ================================================
[2026-08-29 06:21:20,957.957 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:21:20
[2026-08-29 06:21:21,555.555 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:21:21,828.828 INFO    ] Initializing speech engine...
[2026-08-29 06:21:21,837.837 INFO    ] 2026-08-29 06:21:21
[2026-08-29 06:21:22,086.086 INFO    ] 2026-08-29 06:21:22
[2026-08-29 06:21:22,121.121 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:21:22,294.294 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:21:22,306.306 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:21:22,444.444 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:21:22,453.453 INFO    ] time= 29/08/2026 06:21:22
[2026-08-29 06:21:22,458.458 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:21:22,464.464 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:21:22,531.531 INFO    ] No existing commands found in stream
[2026-08-29 06:21:27,567.567 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:21:27,569.569 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-08-29 06:21:34,849.849 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:21:34,852.852 INFO    ] Checking for system updates...
[2026-08-29 06:21:34,888.888 INFO    ] 200
[2026-08-29 06:21:34,891.891 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:21:34,945.945 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:21:34,948.948 INFO    ] No update needed
[2026-08-29 06:21:34,950.950 INFO    ] Checking for camera pi updates...
[2026-08-29 06:21:34,984.984 INFO    ] 200
[2026-08-29 06:21:34,986.986 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:21:35,026.026 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:21:35,112.112 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:21:35,114.114 INFO    ] No camera update needed
[2026-08-29 06:21:35,117.117 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:21:35,119.119 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:21:35,124.124 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:21:35,129.129 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:21:37,170.170 INFO    ] ================================================
[2026-08-29 06:21:37,185.185 INFO    ] Launching Daemon at Sat Aug 29 06:21:37 IST 2026
[2026-08-29 06:21:37,195.195 INFO    ] ================================================
[2026-08-29 06:21:37,746.746 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:21:37
[2026-08-29 06:21:38,351.351 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:21:38,603.603 INFO    ] Initializing speech engine...
[2026-08-29 06:21:38,616.616 INFO    ] 2026-08-29 06:21:38
[2026-08-29 06:21:38,883.883 INFO    ] 2026-08-29 06:21:38
[2026-08-29 06:21:38,919.919 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:21:39,411.411 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:21:39,444.444 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:21:40,654.654 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:21:40,661.661 INFO    ] time= 29/08/2026 06:21:40
[2026-08-29 06:21:40,685.685 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:21:40,687.687 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:21:40,773.773 INFO    ] No existing commands found in stream
[2026-08-29 06:21:45,786.786 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:21:45,789.789 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-08-29 06:21:49,093.093 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:21:49,095.095 INFO    ] Checking for system updates...
[2026-08-29 06:21:49,117.117 INFO    ] 200
[2026-08-29 06:21:49,118.118 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:21:49,148.148 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:21:49,149.149 INFO    ] No update needed
[2026-08-29 06:21:49,150.150 INFO    ] Checking for camera pi updates...
[2026-08-29 06:21:49,178.178 INFO    ] 200
[2026-08-29 06:21:49,179.179 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:21:49,209.209 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:21:49,284.284 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:21:49,286.286 INFO    ] No camera update needed
[2026-08-29 06:21:49,287.287 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:21:49,289.289 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:21:49,292.292 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:21:49,295.295 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:21:51,334.334 INFO    ] ================================================
[2026-08-29 06:21:51,350.350 INFO    ] Launching Daemon at Sat Aug 29 06:21:51 IST 2026
[2026-08-29 06:21:51,361.361 INFO    ] ================================================
[2026-08-29 06:21:51,733.733 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:21:51
[2026-08-29 06:21:52,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:21:52,239.239 INFO    ] Initializing speech engine...
[2026-08-29 06:21:52,247.247 INFO    ] 2026-08-29 06:21:52
[2026-08-29 06:21:52,529.529 INFO    ] 2026-08-29 06:21:52
[2026-08-29 06:21:52,586.586 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:21:52,819.819 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:21:52,826.826 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:21:52,970.970 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:21:53,035.035 INFO    ] time= 29/08/2026 06:21:52
[2026-08-29 06:21:53,085.085 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:21:53,103.103 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:21:53,242.242 INFO    ] No existing commands found in stream
[2026-08-29 06:21:58,265.265 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:21:58,268.268 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-08-29 06:21:59,072.072 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:21:59,073.073 INFO    ] Checking for system updates...
[2026-08-29 06:21:59,094.094 INFO    ] 200
[2026-08-29 06:21:59,095.095 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:21:59,128.128 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:21:59,130.130 INFO    ] No update needed
[2026-08-29 06:21:59,131.131 INFO    ] Checking for camera pi updates...
[2026-08-29 06:21:59,154.154 INFO    ] 200
[2026-08-29 06:21:59,155.155 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:21:59,179.179 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:21:59,256.256 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:21:59,257.257 INFO    ] No camera update needed
[2026-08-29 06:21:59,259.259 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:21:59,260.260 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:21:59,263.263 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:21:59,266.266 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:22:01,312.312 INFO    ] ================================================
[2026-08-29 06:22:01,344.344 INFO    ] Launching Daemon at Sat Aug 29 06:22:01 IST 2026
[2026-08-29 06:22:01,374.374 INFO    ] ================================================
[2026-08-29 06:22:02,045.045 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:22:02
[2026-08-29 06:22:02,725.725 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:22:03,055.055 INFO    ] Initializing speech engine...
[2026-08-29 06:22:03,061.061 INFO    ] 2026-08-29 06:22:03
[2026-08-29 06:22:03,330.330 INFO    ] 2026-08-29 06:22:03
[2026-08-29 06:22:03,388.388 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:22:03,611.611 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:22:03,620.620 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:22:03,754.754 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:22:03,801.801 INFO    ] time= 29/08/2026 06:22:03
[2026-08-29 06:22:03,861.861 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:22:03,889.889 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:22:03,947.947 INFO    ] No existing commands found in stream
[2026-08-29 06:22:08,963.963 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:22:08,966.966 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-08-29 06:22:10,229.229 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:22:10,230.230 INFO    ] Checking for system updates...
[2026-08-29 06:22:10,252.252 INFO    ] 200
[2026-08-29 06:22:10,253.253 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:22:10,285.285 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:22:10,286.286 INFO    ] No update needed
[2026-08-29 06:22:10,288.288 INFO    ] Checking for camera pi updates...
[2026-08-29 06:22:10,309.309 INFO    ] 200
[2026-08-29 06:22:10,310.310 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:22:10,336.336 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:22:10,413.413 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:22:10,414.414 INFO    ] No camera update needed
[2026-08-29 06:22:10,416.416 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:22:10,417.417 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:22:10,420.420 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:22:10,423.423 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:22:12,462.462 INFO    ] ================================================
[2026-08-29 06:22:12,478.478 INFO    ] Launching Daemon at Sat Aug 29 06:22:12 IST 2026
[2026-08-29 06:22:12,488.488 INFO    ] ================================================
[2026-08-29 06:22:12,879.879 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:22:12
[2026-08-29 06:22:13,211.211 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:22:13,389.389 INFO    ] Initializing speech engine...
[2026-08-29 06:22:13,412.412 INFO    ] 2026-08-29 06:22:13
[2026-08-29 06:22:13,684.684 INFO    ] 2026-08-29 06:22:13
[2026-08-29 06:22:13,744.744 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:22:13,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:22:13,973.973 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:22:14,112.112 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:22:14,159.159 INFO    ] time= 29/08/2026 06:22:14
[2026-08-29 06:22:14,214.214 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:22:14,247.247 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:22:14,303.303 INFO    ] No existing commands found in stream
[2026-08-29 06:22:19,316.316 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:22:19,319.319 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-08-29 06:22:21,614.614 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:22:21,615.615 INFO    ] Checking for system updates...
[2026-08-29 06:22:21,636.636 INFO    ] 200
[2026-08-29 06:22:21,637.637 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:22:21,669.669 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:22:21,671.671 INFO    ] No update needed
[2026-08-29 06:22:21,672.672 INFO    ] Checking for camera pi updates...
[2026-08-29 06:22:21,694.694 INFO    ] 200
[2026-08-29 06:22:21,695.695 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:22:21,720.720 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:22:21,806.806 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:22:21,807.807 INFO    ] No camera update needed
[2026-08-29 06:22:21,808.808 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:22:21,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:22:21,813.813 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:22:21,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:22:23,854.854 INFO    ] ================================================
[2026-08-29 06:22:23,869.869 INFO    ] Launching Daemon at Sat Aug 29 06:22:23 IST 2026
[2026-08-29 06:22:23,886.886 INFO    ] ================================================
[2026-08-29 06:22:24,240.240 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:22:24
[2026-08-29 06:22:24,557.557 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:22:24,702.702 INFO    ] Initializing speech engine...
[2026-08-29 06:22:24,707.707 INFO    ] 2026-08-29 06:22:24
[2026-08-29 06:22:24,910.910 INFO    ] 2026-08-29 06:22:24
[2026-08-29 06:22:24,939.939 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:22:25,104.104 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:22:25,130.130 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:22:25,285.285 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:22:25,293.293 INFO    ] time= 29/08/2026 06:22:25
[2026-08-29 06:22:25,301.301 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:22:25,344.344 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:22:25,466.466 INFO    ] No existing commands found in stream
[2026-08-29 06:22:30,497.497 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:22:30,500.500 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-08-29 06:22:31,933.933 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:22:31,936.936 INFO    ] Checking for system updates...
[2026-08-29 06:22:31,976.976 INFO    ] 200
[2026-08-29 06:22:31,979.979 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:22:32,046.046 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:22:32,048.048 INFO    ] No update needed
[2026-08-29 06:22:32,051.051 INFO    ] Checking for camera pi updates...
[2026-08-29 06:22:32,087.087 INFO    ] 200
[2026-08-29 06:22:32,090.090 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:22:32,140.140 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:22:32,225.225 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:22:32,228.228 INFO    ] No camera update needed
[2026-08-29 06:22:32,230.230 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:22:32,233.233 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:22:32,239.239 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:22:32,244.244 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:22:34,286.286 INFO    ] ================================================
[2026-08-29 06:22:34,307.307 INFO    ] Launching Daemon at Sat Aug 29 06:22:34 IST 2026
[2026-08-29 06:22:34,317.317 INFO    ] ================================================
[2026-08-29 06:22:34,756.756 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:22:34
[2026-08-29 06:22:35,071.071 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:22:35,222.222 INFO    ] Initializing speech engine...
[2026-08-29 06:22:35,235.235 INFO    ] 2026-08-29 06:22:35
[2026-08-29 06:22:35,485.485 INFO    ] 2026-08-29 06:22:35
[2026-08-29 06:22:35,551.551 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:22:35,774.774 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:22:35,783.783 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:22:35,915.915 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:22:35,962.962 INFO    ] time= 29/08/2026 06:22:35
[2026-08-29 06:22:36,022.022 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:22:36,048.048 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:22:36,103.103 INFO    ] No existing commands found in stream
[2026-08-29 06:22:41,115.115 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:22:41,125.125 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-08-29 06:22:45,099.099 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:22:45,101.101 INFO    ] Checking for system updates...
[2026-08-29 06:22:45,121.121 INFO    ] 200
[2026-08-29 06:22:45,123.123 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:22:45,153.153 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:22:45,154.154 INFO    ] No update needed
[2026-08-29 06:22:45,155.155 INFO    ] Checking for camera pi updates...
[2026-08-29 06:22:45,174.174 INFO    ] 200
[2026-08-29 06:22:45,176.176 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:22:45,200.200 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:22:45,295.295 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:22:45,296.296 INFO    ] No camera update needed
[2026-08-29 06:22:45,297.297 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:22:45,299.299 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:22:45,301.301 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:22:45,304.304 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:22:47,342.342 INFO    ] ================================================
[2026-08-29 06:22:47,357.357 INFO    ] Launching Daemon at Sat Aug 29 06:22:47 IST 2026
[2026-08-29 06:22:47,368.368 INFO    ] ================================================
[2026-08-29 06:22:47,744.744 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:22:47
[2026-08-29 06:22:48,078.078 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:22:48,230.230 INFO    ] Initializing speech engine...
[2026-08-29 06:22:48,234.234 INFO    ] 2026-08-29 06:22:48
[2026-08-29 06:22:48,440.440 INFO    ] 2026-08-29 06:22:48
[2026-08-29 06:22:48,469.469 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:22:48,596.596 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:22:48,654.654 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:22:48,793.793 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:22:48,853.853 INFO    ] time= 29/08/2026 06:22:48
[2026-08-29 06:22:48,909.909 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:22:48,973.973 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:22:49,093.093 INFO    ] No existing commands found in stream
[2026-08-29 06:22:54,123.123 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:22:54,126.126 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-08-29 06:22:55,553.553 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:22:55,556.556 INFO    ] Checking for system updates...
[2026-08-29 06:22:55,597.597 INFO    ] 200
[2026-08-29 06:22:55,600.600 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:22:55,659.659 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:22:55,662.662 INFO    ] No update needed
[2026-08-29 06:22:55,665.665 INFO    ] Checking for camera pi updates...
[2026-08-29 06:22:55,691.691 INFO    ] 200
[2026-08-29 06:22:55,692.692 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:22:55,717.717 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:22:55,804.804 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:22:55,805.805 INFO    ] No camera update needed
[2026-08-29 06:22:55,806.806 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:22:55,807.807 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:22:55,810.810 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:22:55,813.813 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:22:57,851.851 INFO    ] ================================================
[2026-08-29 06:22:57,866.866 INFO    ] Launching Daemon at Sat Aug 29 06:22:57 IST 2026
[2026-08-29 06:22:57,877.877 INFO    ] ================================================
[2026-08-29 06:22:58,227.227 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:22:58
[2026-08-29 06:22:58,655.655 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:22:58,905.905 INFO    ] Initializing speech engine...
[2026-08-29 06:22:58,919.919 INFO    ] 2026-08-29 06:22:58
[2026-08-29 06:22:59,185.185 INFO    ] 2026-08-29 06:22:59
[2026-08-29 06:22:59,220.220 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:22:59,397.397 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:22:59,410.410 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:22:59,556.556 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:22:59,565.565 INFO    ] time= 29/08/2026 06:22:59
[2026-08-29 06:22:59,571.571 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:22:59,592.592 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:22:59,720.720 INFO    ] No existing commands found in stream
[2026-08-29 06:23:04,750.750 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:23:04,753.753 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-08-29 06:23:07,445.445 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:23:07,447.447 INFO    ] Checking for system updates...
[2026-08-29 06:23:07,467.467 INFO    ] 200
[2026-08-29 06:23:07,469.469 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:23:07,500.500 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:23:07,502.502 INFO    ] No update needed
[2026-08-29 06:23:07,503.503 INFO    ] Checking for camera pi updates...
[2026-08-29 06:23:07,524.524 INFO    ] 200
[2026-08-29 06:23:07,525.525 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:23:07,550.550 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:23:07,634.634 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:23:07,635.635 INFO    ] No camera update needed
[2026-08-29 06:23:07,636.636 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:23:07,637.637 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:23:07,640.640 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:23:07,643.643 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:23:09,680.680 INFO    ] ================================================
[2026-08-29 06:23:09,696.696 INFO    ] Launching Daemon at Sat Aug 29 06:23:09 IST 2026
[2026-08-29 06:23:09,707.707 INFO    ] ================================================
[2026-08-29 06:23:10,096.096 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:23:10
[2026-08-29 06:23:10,436.436 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:23:10,587.587 INFO    ] Initializing speech engine...
[2026-08-29 06:23:10,593.593 INFO    ] 2026-08-29 06:23:10
[2026-08-29 06:23:10,801.801 INFO    ] 2026-08-29 06:23:10
[2026-08-29 06:23:10,830.830 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:23:10,953.953 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:23:10,991.991 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:23:11,159.159 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:23:11,220.220 INFO    ] time= 29/08/2026 06:23:11
[2026-08-29 06:23:11,245.245 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:23:11,252.252 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:23:11,317.317 INFO    ] No existing commands found in stream
[2026-08-29 06:23:16,328.328 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:23:16,331.331 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-08-29 06:23:18,072.072 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:23:18,074.074 INFO    ] Checking for system updates...
[2026-08-29 06:23:18,094.094 INFO    ] 200
[2026-08-29 06:23:18,095.095 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:23:18,125.125 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:23:18,126.126 INFO    ] No update needed
[2026-08-29 06:23:18,127.127 INFO    ] Checking for camera pi updates...
[2026-08-29 06:23:18,148.148 INFO    ] 200
[2026-08-29 06:23:18,149.149 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:23:18,172.172 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:23:18,253.253 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:23:18,254.254 INFO    ] No camera update needed
[2026-08-29 06:23:18,256.256 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:23:18,257.257 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:23:18,260.260 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:23:18,263.263 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:23:20,294.294 INFO    ] ================================================
[2026-08-29 06:23:20,309.309 INFO    ] Launching Daemon at Sat Aug 29 06:23:20 IST 2026
[2026-08-29 06:23:20,319.319 INFO    ] ================================================
[2026-08-29 06:23:20,890.890 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:23:20
[2026-08-29 06:23:21,476.476 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:23:21,724.724 INFO    ] Initializing speech engine...
[2026-08-29 06:23:21,739.739 INFO    ] 2026-08-29 06:23:21
[2026-08-29 06:23:22,006.006 INFO    ] 2026-08-29 06:23:21
[2026-08-29 06:23:22,040.040 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:23:22,217.217 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:23:22,229.229 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:23:22,341.341 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:23:22,346.346 INFO    ] time= 29/08/2026 06:23:22
[2026-08-29 06:23:22,365.365 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:23:22,385.385 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:23:22,459.459 INFO    ] No existing commands found in stream
[2026-08-29 06:23:27,471.471 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:23:27,474.474 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-08-29 06:23:30,961.961 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:23:30,964.964 INFO    ] Checking for system updates...
[2026-08-29 06:23:31,000.000 INFO    ] 200
[2026-08-29 06:23:31,003.003 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:23:31,063.063 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:23:31,065.065 INFO    ] No update needed
[2026-08-29 06:23:31,067.067 INFO    ] Checking for camera pi updates...
[2026-08-29 06:23:31,105.105 INFO    ] 200
[2026-08-29 06:23:31,107.107 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:23:31,147.147 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:23:31,256.256 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:23:31,259.259 INFO    ] No camera update needed
[2026-08-29 06:23:31,262.262 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:23:31,265.265 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:23:31,272.272 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:23:31,278.278 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:23:33,324.324 INFO    ] ================================================
[2026-08-29 06:23:33,339.339 INFO    ] Launching Daemon at Sat Aug 29 06:23:33 IST 2026
[2026-08-29 06:23:33,350.350 INFO    ] ================================================
[2026-08-29 06:23:33,865.865 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:23:33
[2026-08-29 06:23:34,177.177 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:23:34,319.319 INFO    ] Initializing speech engine...
[2026-08-29 06:23:34,333.333 INFO    ] 2026-08-29 06:23:34
[2026-08-29 06:23:34,588.588 INFO    ] 2026-08-29 06:23:34
[2026-08-29 06:23:34,624.624 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:23:34,800.800 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:23:34,814.814 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:23:34,941.941 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:23:34,961.961 INFO    ] time= 29/08/2026 06:23:34
[2026-08-29 06:23:34,970.970 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:23:34,976.976 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:23:35,044.044 INFO    ] No existing commands found in stream
[2026-08-29 06:23:40,059.059 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:23:40,062.062 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-08-29 06:23:43,317.317 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:23:43,319.319 INFO    ] Checking for system updates...
[2026-08-29 06:23:43,341.341 INFO    ] 200
[2026-08-29 06:23:43,342.342 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:23:43,371.371 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:23:43,373.373 INFO    ] No update needed
[2026-08-29 06:23:43,374.374 INFO    ] Checking for camera pi updates...
[2026-08-29 06:23:43,395.395 INFO    ] 200
[2026-08-29 06:23:43,396.396 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:23:43,420.420 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:23:43,497.497 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:23:43,498.498 INFO    ] No camera update needed
[2026-08-29 06:23:43,499.499 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:23:43,500.500 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:23:43,503.503 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:23:43,506.506 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:23:45,549.549 INFO    ] ================================================
[2026-08-29 06:23:45,564.564 INFO    ] Launching Daemon at Sat Aug 29 06:23:45 IST 2026
[2026-08-29 06:23:45,574.574 INFO    ] ================================================
[2026-08-29 06:23:45,922.922 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:23:45
[2026-08-29 06:23:46,236.236 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:23:46,380.380 INFO    ] Initializing speech engine...
[2026-08-29 06:23:46,385.385 INFO    ] 2026-08-29 06:23:46
[2026-08-29 06:23:46,587.587 INFO    ] 2026-08-29 06:23:46
[2026-08-29 06:23:46,659.659 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:23:46,820.820 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:23:46,829.829 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:23:46,966.966 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:23:46,993.993 INFO    ] time= 29/08/2026 06:23:46
[2026-08-29 06:23:47,047.047 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:23:47,091.091 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:23:47,157.157 INFO    ] No existing commands found in stream
[2026-08-29 06:23:52,169.169 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:23:52,171.171 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-08-29 06:23:55,236.236 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:23:55,238.238 INFO    ] Checking for system updates...
[2026-08-29 06:23:55,258.258 INFO    ] 200
[2026-08-29 06:23:55,259.259 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:23:55,292.292 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:23:55,294.294 INFO    ] No update needed
[2026-08-29 06:23:55,295.295 INFO    ] Checking for camera pi updates...
[2026-08-29 06:23:55,316.316 INFO    ] 200
[2026-08-29 06:23:55,318.318 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:23:55,342.342 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:23:55,417.417 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:23:55,419.419 INFO    ] No camera update needed
[2026-08-29 06:23:55,420.420 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:23:55,421.421 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:23:55,424.424 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:23:55,427.427 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:23:57,464.464 INFO    ] ================================================
[2026-08-29 06:23:57,480.480 INFO    ] Launching Daemon at Sat Aug 29 06:23:57 IST 2026
[2026-08-29 06:23:57,492.492 INFO    ] ================================================
[2026-08-29 06:23:57,844.844 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:23:57
[2026-08-29 06:23:58,155.155 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:23:58,299.299 INFO    ] Initializing speech engine...
[2026-08-29 06:23:58,304.304 INFO    ] 2026-08-29 06:23:58
[2026-08-29 06:23:58,506.506 INFO    ] 2026-08-29 06:23:58
[2026-08-29 06:23:58,550.550 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:23:58,713.713 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:23:58,719.719 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:23:58,875.875 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:23:58,916.916 INFO    ] time= 29/08/2026 06:23:58
[2026-08-29 06:23:58,921.921 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:23:58,939.939 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:23:59,050.050 INFO    ] No existing commands found in stream
[2026-08-29 06:24:04,075.075 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:24:04,078.078 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-08-29 06:24:04,924.924 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:24:04,926.926 INFO    ] Checking for system updates...
[2026-08-29 06:24:04,963.963 INFO    ] 200
[2026-08-29 06:24:04,965.965 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:24:05,023.023 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:24:05,026.026 INFO    ] No update needed
[2026-08-29 06:24:05,028.028 INFO    ] Checking for camera pi updates...
[2026-08-29 06:24:05,062.062 INFO    ] 200
[2026-08-29 06:24:05,064.064 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:24:05,094.094 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:24:05,198.198 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:24:05,199.199 INFO    ] No camera update needed
[2026-08-29 06:24:05,200.200 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:24:05,201.201 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:24:05,204.204 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:24:05,207.207 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:24:07,245.245 INFO    ] ================================================
[2026-08-29 06:24:07,261.261 INFO    ] Launching Daemon at Sat Aug 29 06:24:07 IST 2026
[2026-08-29 06:24:07,272.272 INFO    ] ================================================
[2026-08-29 06:24:07,748.748 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:24:07
[2026-08-29 06:24:08,087.087 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:24:08,244.244 INFO    ] Initializing speech engine...
[2026-08-29 06:24:08,249.249 INFO    ] 2026-08-29 06:24:08
[2026-08-29 06:24:08,457.457 INFO    ] 2026-08-29 06:24:08
[2026-08-29 06:24:08,486.486 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:24:08,610.610 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:24:08,674.674 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:24:08,831.831 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:24:08,886.886 INFO    ] time= 29/08/2026 06:24:08
[2026-08-29 06:24:08,908.908 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:24:08,915.915 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:24:08,982.982 INFO    ] No existing commands found in stream
[2026-08-29 06:24:13,993.993 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:24:13,996.996 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-08-29 06:24:15,838.838 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:24:15,840.840 INFO    ] Checking for system updates...
[2026-08-29 06:24:15,863.863 INFO    ] 200
[2026-08-29 06:24:15,864.864 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:24:15,899.899 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:24:15,900.900 INFO    ] No update needed
[2026-08-29 06:24:15,902.902 INFO    ] Checking for camera pi updates...
[2026-08-29 06:24:15,923.923 INFO    ] 200
[2026-08-29 06:24:15,924.924 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:24:15,952.952 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:24:16,050.050 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:24:16,051.051 INFO    ] No camera update needed
[2026-08-29 06:24:16,053.053 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:24:16,054.054 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:24:16,057.057 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:24:16,060.060 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:24:18,099.099 INFO    ] ================================================
[2026-08-29 06:24:18,114.114 INFO    ] Launching Daemon at Sat Aug 29 06:24:18 IST 2026
[2026-08-29 06:24:18,125.125 INFO    ] ================================================
[2026-08-29 06:24:18,475.475 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:24:18
[2026-08-29 06:24:18,790.790 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:24:18,928.928 INFO    ] Initializing speech engine...
[2026-08-29 06:24:18,938.938 INFO    ] 2026-08-29 06:24:18
[2026-08-29 06:24:19,154.154 INFO    ] 2026-08-29 06:24:19
[2026-08-29 06:24:19,214.214 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:24:19,436.436 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:24:19,445.445 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:24:19,577.577 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:24:19,625.625 INFO    ] time= 29/08/2026 06:24:19
[2026-08-29 06:24:19,679.679 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:24:19,729.729 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:24:19,788.788 INFO    ] No existing commands found in stream
[2026-08-29 06:24:24,801.801 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:24:24,804.804 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-08-29 06:24:25,802.802 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:24:25,803.803 INFO    ] Checking for system updates...
[2026-08-29 06:24:25,824.824 INFO    ] 200
[2026-08-29 06:24:25,825.825 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:24:25,857.857 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:24:25,858.858 INFO    ] No update needed
[2026-08-29 06:24:25,860.860 INFO    ] Checking for camera pi updates...
[2026-08-29 06:24:25,879.879 INFO    ] 200
[2026-08-29 06:24:25,880.880 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:24:25,903.903 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:24:25,979.979 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:24:25,980.980 INFO    ] No camera update needed
[2026-08-29 06:24:25,982.982 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:24:25,983.983 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:24:25,986.986 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:24:25,989.989 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:24:28,026.026 INFO    ] ================================================
[2026-08-29 06:24:28,042.042 INFO    ] Launching Daemon at Sat Aug 29 06:24:28 IST 2026
[2026-08-29 06:24:28,053.053 INFO    ] ================================================
[2026-08-29 06:24:28,454.454 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:24:28
[2026-08-29 06:24:28,796.796 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:24:28,947.947 INFO    ] Initializing speech engine...
[2026-08-29 06:24:28,953.953 INFO    ] 2026-08-29 06:24:28
[2026-08-29 06:24:29,169.169 INFO    ] 2026-08-29 06:24:29
[2026-08-29 06:24:29,251.251 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:24:29,406.406 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:24:29,412.412 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:24:29,556.556 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:24:29,621.621 INFO    ] time= 29/08/2026 06:24:29
[2026-08-29 06:24:29,673.673 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:24:29,680.680 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:24:29,752.752 INFO    ] No existing commands found in stream
[2026-08-29 06:24:34,790.790 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:24:34,793.793 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-08-29 06:24:38,095.095 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:24:38,097.097 INFO    ] Checking for system updates...
[2026-08-29 06:24:38,118.118 INFO    ] 200
[2026-08-29 06:24:38,119.119 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:24:38,152.152 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:24:38,153.153 INFO    ] No update needed
[2026-08-29 06:24:38,154.154 INFO    ] Checking for camera pi updates...
[2026-08-29 06:24:38,177.177 INFO    ] 200
[2026-08-29 06:24:38,179.179 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:24:38,202.202 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:24:38,403.403 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:24:38,405.405 INFO    ] No camera update needed
[2026-08-29 06:24:38,408.408 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:24:38,410.410 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:24:38,416.416 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:24:38,421.421 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:24:40,463.463 INFO    ] ================================================
[2026-08-29 06:24:40,479.479 INFO    ] Launching Daemon at Sat Aug 29 06:24:40 IST 2026
[2026-08-29 06:24:40,490.490 INFO    ] ================================================
[2026-08-29 06:24:41,080.080 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:24:41
[2026-08-29 06:24:41,537.537 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:24:41,771.771 INFO    ] Initializing speech engine...
[2026-08-29 06:24:41,781.781 INFO    ] 2026-08-29 06:24:41
[2026-08-29 06:24:42,043.043 INFO    ] 2026-08-29 06:24:42
[2026-08-29 06:24:42,078.078 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:24:42,247.247 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:24:42,259.259 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:24:42,370.370 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:24:42,377.377 INFO    ] time= 29/08/2026 06:24:42
[2026-08-29 06:24:42,395.395 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:24:42,415.415 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:24:42,492.492 INFO    ] No existing commands found in stream
[2026-08-29 06:24:47,517.517 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:24:47,520.520 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-08-29 06:24:49,139.139 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:24:49,140.140 INFO    ] Checking for system updates...
[2026-08-29 06:24:49,162.162 INFO    ] 200
[2026-08-29 06:24:49,163.163 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:24:49,193.193 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:24:49,194.194 INFO    ] No update needed
[2026-08-29 06:24:49,195.195 INFO    ] Checking for camera pi updates...
[2026-08-29 06:24:49,214.214 INFO    ] 200
[2026-08-29 06:24:49,216.216 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:24:49,238.238 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:24:49,315.315 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:24:49,317.317 INFO    ] No camera update needed
[2026-08-29 06:24:49,318.318 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:24:49,319.319 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:24:49,322.322 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:24:49,325.325 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:24:51,365.365 INFO    ] ================================================
[2026-08-29 06:24:51,381.381 INFO    ] Launching Daemon at Sat Aug 29 06:24:51 IST 2026
[2026-08-29 06:24:51,392.392 INFO    ] ================================================
[2026-08-29 06:24:51,754.754 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:24:51
[2026-08-29 06:24:52,099.099 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:24:52,257.257 INFO    ] Initializing speech engine...
[2026-08-29 06:24:52,264.264 INFO    ] 2026-08-29 06:24:52
[2026-08-29 06:24:52,469.469 INFO    ] 2026-08-29 06:24:52
[2026-08-29 06:24:52,499.499 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:24:52,629.629 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:24:52,687.687 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:24:52,828.828 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:24:52,895.895 INFO    ] time= 29/08/2026 06:24:52
[2026-08-29 06:24:52,920.920 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:24:52,926.926 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:24:52,994.994 INFO    ] No existing commands found in stream
[2026-08-29 06:24:58,009.009 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:24:58,012.012 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-08-29 06:25:02,172.172 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:25:02,177.177 INFO    ] Checking for system updates...
[2026-08-29 06:25:02,340.340 INFO    ] 200
[2026-08-29 06:25:02,343.343 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:25:02,485.485 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:25:02,491.491 INFO    ] No update needed
[2026-08-29 06:25:02,495.495 INFO    ] Checking for camera pi updates...
[2026-08-29 06:25:02,589.589 INFO    ] 200
[2026-08-29 06:25:02,592.592 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:25:02,701.701 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:25:02,902.902 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:25:02,905.905 INFO    ] No camera update needed
[2026-08-29 06:25:02,910.910 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:25:02,913.913 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:25:02,921.921 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:25:02,928.928 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:25:04,974.974 INFO    ] ================================================
[2026-08-29 06:25:04,989.989 INFO    ] Launching Daemon at Sat Aug 29 06:25:04 IST 2026
[2026-08-29 06:25:05,001.001 INFO    ] ================================================
[2026-08-29 06:25:05,436.436 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:25:05
[2026-08-29 06:25:05,747.747 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:25:05,877.877 INFO    ] Initializing speech engine...
[2026-08-29 06:25:05,885.885 INFO    ] 2026-08-29 06:25:05
[2026-08-29 06:25:06,082.082 INFO    ] 2026-08-29 06:25:06
[2026-08-29 06:25:06,124.124 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:25:06,308.308 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:25:06,310.310 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:25:06,424.424 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:25:06,429.429 INFO    ] time= 29/08/2026 06:25:06
[2026-08-29 06:25:06,435.435 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:25:06,476.476 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:25:06,540.540 INFO    ] No existing commands found in stream
[2026-08-29 06:25:11,565.565 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:25:11,568.568 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-08-29 06:25:12,302.302 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:25:12,303.303 INFO    ] Checking for system updates...
[2026-08-29 06:25:12,323.323 INFO    ] 200
[2026-08-29 06:25:12,325.325 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:25:12,355.355 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:25:12,356.356 INFO    ] No update needed
[2026-08-29 06:25:12,357.357 INFO    ] Checking for camera pi updates...
[2026-08-29 06:25:12,377.377 INFO    ] 200
[2026-08-29 06:25:12,378.378 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:25:12,401.401 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:25:12,501.501 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:25:12,502.502 INFO    ] No camera update needed
[2026-08-29 06:25:12,504.504 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:25:12,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:25:12,508.508 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:25:12,510.510 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:25:14,549.549 INFO    ] ================================================
[2026-08-29 06:25:14,564.564 INFO    ] Launching Daemon at Sat Aug 29 06:25:14 IST 2026
[2026-08-29 06:25:14,575.575 INFO    ] ================================================
[2026-08-29 06:25:14,907.907 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:25:14
[2026-08-29 06:25:15,363.363 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:25:15,617.617 INFO    ] Initializing speech engine...
[2026-08-29 06:25:15,639.639 INFO    ] 2026-08-29 06:25:15
[2026-08-29 06:25:15,894.894 INFO    ] 2026-08-29 06:25:15
[2026-08-29 06:25:15,937.937 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:25:16,101.101 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:25:16,113.113 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:25:16,255.255 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:25:16,264.264 INFO    ] time= 29/08/2026 06:25:16
[2026-08-29 06:25:16,271.271 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:25:16,315.315 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:25:16,419.419 INFO    ] No existing commands found in stream
[2026-08-29 06:25:21,444.444 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:25:21,447.447 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-08-29 06:25:24,786.786 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:25:24,787.787 INFO    ] Checking for system updates...
[2026-08-29 06:25:24,809.809 INFO    ] 200
[2026-08-29 06:25:24,810.810 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:25:24,843.843 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:25:24,844.844 INFO    ] No update needed
[2026-08-29 06:25:24,845.845 INFO    ] Checking for camera pi updates...
[2026-08-29 06:25:24,865.865 INFO    ] 200
[2026-08-29 06:25:24,866.866 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:25:24,889.889 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:25:24,947.947 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:25:24,948.948 INFO    ] No camera update needed
[2026-08-29 06:25:24,949.949 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:25:24,951.951 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:25:24,954.954 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:25:24,957.957 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:25:27,998.998 INFO    ] ================================================
[2026-08-29 06:25:27,014.014 INFO    ] Launching Daemon at Sat Aug 29 06:25:27 IST 2026
[2026-08-29 06:25:27,024.024 INFO    ] ================================================
[2026-08-29 06:25:27,614.614 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:25:27
[2026-08-29 06:25:28,210.210 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:25:28,486.486 INFO    ] Initializing speech engine...
[2026-08-29 06:25:28,493.493 INFO    ] 2026-08-29 06:25:28
[2026-08-29 06:25:28,755.755 INFO    ] 2026-08-29 06:25:28
[2026-08-29 06:25:28,807.807 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:25:28,964.964 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:25:28,967.967 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:25:29,098.098 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:25:29,107.107 INFO    ] time= 29/08/2026 06:25:29
[2026-08-29 06:25:29,112.112 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:25:29,127.127 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:25:29,209.209 INFO    ] No existing commands found in stream
[2026-08-29 06:25:34,239.239 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:25:34,242.242 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 06:25:36,580.580 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:25:36,581.581 INFO    ] Checking for system updates...
[2026-08-29 06:25:36,602.602 INFO    ] 200
[2026-08-29 06:25:36,603.603 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:25:36,635.635 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:25:36,636.636 INFO    ] No update needed
[2026-08-29 06:25:36,637.637 INFO    ] Checking for camera pi updates...
[2026-08-29 06:25:36,656.656 INFO    ] 200
[2026-08-29 06:25:36,658.658 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:25:36,683.683 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:25:36,762.762 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:25:36,763.763 INFO    ] No camera update needed
[2026-08-29 06:25:36,765.765 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:25:36,766.766 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:25:36,769.769 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:25:36,771.771 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:25:38,811.811 INFO    ] ================================================
[2026-08-29 06:25:38,826.826 INFO    ] Launching Daemon at Sat Aug 29 06:25:38 IST 2026
[2026-08-29 06:25:38,837.837 INFO    ] ================================================
[2026-08-29 06:25:39,167.167 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:25:39
[2026-08-29 06:25:39,484.484 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:25:39,627.627 INFO    ] Initializing speech engine...
[2026-08-29 06:25:39,632.632 INFO    ] 2026-08-29 06:25:39
[2026-08-29 06:25:39,843.843 INFO    ] 2026-08-29 06:25:39
[2026-08-29 06:25:39,895.895 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:25:40,045.045 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:25:40,054.054 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:25:40,186.186 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:25:40,228.228 INFO    ] time= 29/08/2026 06:25:40
[2026-08-29 06:25:40,272.272 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:25:40,318.318 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:25:40,426.426 INFO    ] No existing commands found in stream
[2026-08-29 06:25:45,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:25:45,455.455 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-08-29 06:25:49,597.597 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:25:49,599.599 INFO    ] Checking for system updates...
[2026-08-29 06:25:49,620.620 INFO    ] 200
[2026-08-29 06:25:49,621.621 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:25:49,653.653 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:25:49,654.654 INFO    ] No update needed
[2026-08-29 06:25:49,655.655 INFO    ] Checking for camera pi updates...
[2026-08-29 06:25:49,674.674 INFO    ] 200
[2026-08-29 06:25:49,675.675 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:25:49,698.698 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:25:49,749.749 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:25:49,751.751 INFO    ] No camera update needed
[2026-08-29 06:25:49,752.752 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:25:49,753.753 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:25:49,756.756 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:25:49,759.759 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:25:51,801.801 INFO    ] ================================================
[2026-08-29 06:25:51,816.816 INFO    ] Launching Daemon at Sat Aug 29 06:25:51 IST 2026
[2026-08-29 06:25:51,827.827 INFO    ] ================================================
[2026-08-29 06:25:52,177.177 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:25:52
[2026-08-29 06:25:52,505.505 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:25:52,653.653 INFO    ] Initializing speech engine...
[2026-08-29 06:25:52,658.658 INFO    ] 2026-08-29 06:25:52
[2026-08-29 06:25:52,864.864 INFO    ] 2026-08-29 06:25:52
[2026-08-29 06:25:52,892.892 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:25:53,015.015 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:25:53,078.078 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:25:53,224.224 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:25:53,268.268 INFO    ] time= 29/08/2026 06:25:53
[2026-08-29 06:25:53,318.318 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:25:53,372.372 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:25:53,434.434 INFO    ] No existing commands found in stream
[2026-08-29 06:25:58,444.444 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:25:58,447.447 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-08-29 06:25:59,862.862 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:25:59,864.864 INFO    ] Checking for system updates...
[2026-08-29 06:25:59,884.884 INFO    ] 200
[2026-08-29 06:25:59,886.886 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:25:59,916.916 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:25:59,917.917 INFO    ] No update needed
[2026-08-29 06:25:59,919.919 INFO    ] Checking for camera pi updates...
[2026-08-29 06:25:59,938.938 INFO    ] 200
[2026-08-29 06:25:59,939.939 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:25:59,964.964 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:26:00,062.062 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:26:00,063.063 INFO    ] No camera update needed
[2026-08-29 06:26:00,064.064 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:26:00,066.066 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:26:00,069.069 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:26:00,072.072 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:26:02,114.114 INFO    ] ================================================
[2026-08-29 06:26:02,136.136 INFO    ] Launching Daemon at Sat Aug 29 06:26:02 IST 2026
[2026-08-29 06:26:02,152.152 INFO    ] ================================================
[2026-08-29 06:26:02,860.860 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:26:02
[2026-08-29 06:26:03,510.510 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:26:03,814.814 INFO    ] Initializing speech engine...
[2026-08-29 06:26:03,822.822 INFO    ] 2026-08-29 06:26:03
[2026-08-29 06:26:04,094.094 INFO    ] 2026-08-29 06:26:04
[2026-08-29 06:26:04,129.129 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:26:04,300.300 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:26:04,313.313 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:26:04,459.459 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:26:04,467.467 INFO    ] time= 29/08/2026 06:26:04
[2026-08-29 06:26:04,474.474 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:26:04,526.526 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:26:04,642.642 INFO    ] No existing commands found in stream
[2026-08-29 06:26:09,667.667 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:26:09,670.670 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 06:26:11,725.725 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:26:11,727.727 INFO    ] Checking for system updates...
[2026-08-29 06:26:11,748.748 INFO    ] 200
[2026-08-29 06:26:11,750.750 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:26:11,780.780 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:26:11,782.782 INFO    ] No update needed
[2026-08-29 06:26:11,783.783 INFO    ] Checking for camera pi updates...
[2026-08-29 06:26:11,803.803 INFO    ] 200
[2026-08-29 06:26:11,804.804 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:26:11,827.827 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:26:11,906.906 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:26:11,907.907 INFO    ] No camera update needed
[2026-08-29 06:26:11,909.909 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:26:11,910.910 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:26:11,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:26:11,916.916 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:26:13,956.956 INFO    ] ================================================
[2026-08-29 06:26:13,971.971 INFO    ] Launching Daemon at Sat Aug 29 06:26:13 IST 2026
[2026-08-29 06:26:13,982.982 INFO    ] ================================================
[2026-08-29 06:26:14,330.330 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:26:14
[2026-08-29 06:26:14,661.661 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:26:14,809.809 INFO    ] Initializing speech engine...
[2026-08-29 06:26:14,815.815 INFO    ] 2026-08-29 06:26:14
[2026-08-29 06:26:15,020.020 INFO    ] 2026-08-29 06:26:15
[2026-08-29 06:26:15,049.049 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:26:15,188.188 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:26:15,193.193 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:26:15,360.360 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:26:15,393.393 INFO    ] time= 29/08/2026 06:26:15
[2026-08-29 06:26:15,399.399 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:26:15,417.417 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:26:15,523.523 INFO    ] No existing commands found in stream
[2026-08-29 06:26:20,549.549 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:26:20,552.552 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-08-29 06:26:24,331.331 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:26:24,333.333 INFO    ] Checking for system updates...
[2026-08-29 06:26:24,354.354 INFO    ] 200
[2026-08-29 06:26:24,356.356 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:26:24,386.386 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:26:24,387.387 INFO    ] No update needed
[2026-08-29 06:26:24,388.388 INFO    ] Checking for camera pi updates...
[2026-08-29 06:26:24,408.408 INFO    ] 200
[2026-08-29 06:26:24,409.409 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:26:24,435.435 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:26:24,508.508 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:26:24,510.510 INFO    ] No camera update needed
[2026-08-29 06:26:24,511.511 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:26:24,513.513 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:26:24,516.516 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:26:24,519.519 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:26:26,558.558 INFO    ] ================================================
[2026-08-29 06:26:26,574.574 INFO    ] Launching Daemon at Sat Aug 29 06:26:26 IST 2026
[2026-08-29 06:26:26,585.585 INFO    ] ================================================
[2026-08-29 06:26:26,934.934 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:26:26
[2026-08-29 06:26:27,266.266 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:26:27,411.411 INFO    ] Initializing speech engine...
[2026-08-29 06:26:27,421.421 INFO    ] 2026-08-29 06:26:27
[2026-08-29 06:26:27,672.672 INFO    ] 2026-08-29 06:26:27
[2026-08-29 06:26:27,732.732 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:26:27,895.895 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:26:27,904.904 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:26:28,074.074 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:26:28,103.103 INFO    ] time= 29/08/2026 06:26:28
[2026-08-29 06:26:28,109.109 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:26:28,127.127 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:26:28,243.243 INFO    ] No existing commands found in stream
[2026-08-29 06:26:33,266.266 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:26:33,269.269 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-08-29 06:26:34,016.016 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:26:34,019.019 INFO    ] Checking for system updates...
[2026-08-29 06:26:34,056.056 INFO    ] 200
[2026-08-29 06:26:34,059.059 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:26:34,118.118 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:26:34,121.121 INFO    ] No update needed
[2026-08-29 06:26:34,124.124 INFO    ] Checking for camera pi updates...
[2026-08-29 06:26:34,160.160 INFO    ] 200
[2026-08-29 06:26:34,163.163 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:26:34,208.208 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:26:34,316.316 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:26:34,319.319 INFO    ] No camera update needed
[2026-08-29 06:26:34,322.322 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:26:34,324.324 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:26:34,330.330 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:26:34,336.336 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:26:36,377.377 INFO    ] ================================================
[2026-08-29 06:26:36,392.392 INFO    ] Launching Daemon at Sat Aug 29 06:26:36 IST 2026
[2026-08-29 06:26:36,403.403 INFO    ] ================================================
[2026-08-29 06:26:36,765.765 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:26:36
[2026-08-29 06:26:37,077.077 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:26:37,214.214 INFO    ] Initializing speech engine...
[2026-08-29 06:26:37,225.225 INFO    ] 2026-08-29 06:26:37
[2026-08-29 06:26:37,428.428 INFO    ] 2026-08-29 06:26:37
[2026-08-29 06:26:37,458.458 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:26:37,592.592 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:26:37,626.626 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:26:37,769.769 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:26:37,775.775 INFO    ] time= 29/08/2026 06:26:37
[2026-08-29 06:26:37,782.782 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:26:37,789.789 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:26:37,885.885 INFO    ] No existing commands found in stream
[2026-08-29 06:26:42,905.905 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:26:42,908.908 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-08-29 06:26:45,093.093 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:26:45,094.094 INFO    ] Checking for system updates...
[2026-08-29 06:26:45,115.115 INFO    ] 200
[2026-08-29 06:26:45,116.116 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:26:45,146.146 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:26:45,147.147 INFO    ] No update needed
[2026-08-29 06:26:45,148.148 INFO    ] Checking for camera pi updates...
[2026-08-29 06:26:45,167.167 INFO    ] 200
[2026-08-29 06:26:45,168.168 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:26:45,191.191 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:26:45,386.386 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:26:45,387.387 INFO    ] No camera update needed
[2026-08-29 06:26:45,395.395 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:26:45,396.396 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:26:45,400.400 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:26:45,403.403 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:26:47,444.444 INFO    ] ================================================
[2026-08-29 06:26:47,458.458 INFO    ] Launching Daemon at Sat Aug 29 06:26:47 IST 2026
[2026-08-29 06:26:47,469.469 INFO    ] ================================================
[2026-08-29 06:26:47,842.842 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:26:47
[2026-08-29 06:26:48,163.163 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:26:48,297.297 INFO    ] Initializing speech engine...
[2026-08-29 06:26:48,302.302 INFO    ] 2026-08-29 06:26:48
[2026-08-29 06:26:48,530.530 INFO    ] 2026-08-29 06:26:48
[2026-08-29 06:26:48,562.562 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:26:48,704.704 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:26:48,709.709 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:26:48,830.830 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:26:48,865.865 INFO    ] time= 29/08/2026 06:26:48
[2026-08-29 06:26:48,914.914 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:26:48,969.969 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:26:49,028.028 INFO    ] No existing commands found in stream
[2026-08-29 06:26:54,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:26:54,044.044 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-08-29 06:26:55,788.788 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:26:55,789.789 INFO    ] Checking for system updates...
[2026-08-29 06:26:55,810.810 INFO    ] 200
[2026-08-29 06:26:55,811.811 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:26:55,841.841 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:26:55,842.842 INFO    ] No update needed
[2026-08-29 06:26:55,844.844 INFO    ] Checking for camera pi updates...
[2026-08-29 06:26:55,863.863 INFO    ] 200
[2026-08-29 06:26:55,864.864 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:26:55,889.889 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:26:55,974.974 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:26:55,976.976 INFO    ] No camera update needed
[2026-08-29 06:26:55,977.977 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:26:55,978.978 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:26:55,981.981 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:26:55,984.984 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:26:58,022.022 INFO    ] ================================================
[2026-08-29 06:26:58,037.037 INFO    ] Launching Daemon at Sat Aug 29 06:26:58 IST 2026
[2026-08-29 06:26:58,048.048 INFO    ] ================================================
[2026-08-29 06:26:58,385.385 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:26:58
[2026-08-29 06:26:58,701.701 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:26:58,848.848 INFO    ] Initializing speech engine...
[2026-08-29 06:26:58,854.854 INFO    ] 2026-08-29 06:26:58
[2026-08-29 06:26:59,070.070 INFO    ] 2026-08-29 06:26:59
[2026-08-29 06:26:59,100.100 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:26:59,227.227 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:26:59,271.271 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:26:59,429.429 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:26:59,485.485 INFO    ] time= 29/08/2026 06:26:59
[2026-08-29 06:26:59,530.530 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:26:59,542.542 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:26:59,651.651 INFO    ] No existing commands found in stream
[2026-08-29 06:27:04,681.681 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:27:04,684.684 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-08-29 06:27:07,594.594 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:27:07,596.596 INFO    ] Checking for system updates...
[2026-08-29 06:27:07,616.616 INFO    ] 200
[2026-08-29 06:27:07,617.617 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:27:07,647.647 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:27:07,648.648 INFO    ] No update needed
[2026-08-29 06:27:07,649.649 INFO    ] Checking for camera pi updates...
[2026-08-29 06:27:07,669.669 INFO    ] 200
[2026-08-29 06:27:07,670.670 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:27:07,693.693 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:27:07,773.773 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:27:07,774.774 INFO    ] No camera update needed
[2026-08-29 06:27:07,775.775 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:27:07,776.776 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:27:07,779.779 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:27:07,782.782 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:27:09,822.822 INFO    ] ================================================
[2026-08-29 06:27:09,837.837 INFO    ] Launching Daemon at Sat Aug 29 06:27:09 IST 2026
[2026-08-29 06:27:09,847.847 INFO    ] ================================================
[2026-08-29 06:27:10,194.194 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:27:10
[2026-08-29 06:27:10,525.525 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:27:10,675.675 INFO    ] Initializing speech engine...
[2026-08-29 06:27:10,680.680 INFO    ] 2026-08-29 06:27:10
[2026-08-29 06:27:10,889.889 INFO    ] 2026-08-29 06:27:10
[2026-08-29 06:27:10,918.918 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:27:11,044.044 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:27:11,094.094 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:27:11,249.249 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:27:11,314.314 INFO    ] time= 29/08/2026 06:27:11
[2026-08-29 06:27:11,341.341 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:27:11,349.349 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:27:11,420.420 INFO    ] No existing commands found in stream
[2026-08-29 06:27:16,435.435 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:27:16,438.438 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-08-29 06:27:20,769.769 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:27:20,771.771 INFO    ] Checking for system updates...
[2026-08-29 06:27:20,791.791 INFO    ] 200
[2026-08-29 06:27:20,793.793 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:27:20,823.823 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:27:20,825.825 INFO    ] No update needed
[2026-08-29 06:27:20,826.826 INFO    ] Checking for camera pi updates...
[2026-08-29 06:27:20,845.845 INFO    ] 200
[2026-08-29 06:27:20,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:27:20,869.869 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:27:20,965.965 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:27:20,967.967 INFO    ] No camera update needed
[2026-08-29 06:27:20,968.968 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:27:20,969.969 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:27:20,973.973 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:27:20,975.975 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:27:23,015.015 INFO    ] ================================================
[2026-08-29 06:27:23,030.030 INFO    ] Launching Daemon at Sat Aug 29 06:27:23 IST 2026
[2026-08-29 06:27:23,040.040 INFO    ] ================================================
[2026-08-29 06:27:23,366.366 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:27:23
[2026-08-29 06:27:23,680.680 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:27:23,888.888 INFO    ] Initializing speech engine...
[2026-08-29 06:27:23,897.897 INFO    ] 2026-08-29 06:27:23
[2026-08-29 06:27:24,145.145 INFO    ] 2026-08-29 06:27:24
[2026-08-29 06:27:24,180.180 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:27:24,353.353 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:27:24,365.365 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:27:24,506.506 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:27:24,513.513 INFO    ] time= 29/08/2026 06:27:24
[2026-08-29 06:27:24,520.520 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:27:24,537.537 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:27:24,682.682 INFO    ] No existing commands found in stream
[2026-08-29 06:27:29,713.713 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:27:29,716.716 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-08-29 06:27:32,985.985 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:27:32,988.988 INFO    ] Checking for system updates...
[2026-08-29 06:27:33,033.033 INFO    ] 200
[2026-08-29 06:27:33,035.035 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:27:33,088.088 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:27:33,091.091 INFO    ] No update needed
[2026-08-29 06:27:33,093.093 INFO    ] Checking for camera pi updates...
[2026-08-29 06:27:33,127.127 INFO    ] 200
[2026-08-29 06:27:33,129.129 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:27:33,173.173 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:27:33,285.285 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:27:33,288.288 INFO    ] No camera update needed
[2026-08-29 06:27:33,290.290 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:27:33,292.292 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:27:33,298.298 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:27:33,303.303 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:27:35,343.343 INFO    ] ================================================
[2026-08-29 06:27:35,357.357 INFO    ] Launching Daemon at Sat Aug 29 06:27:35 IST 2026
[2026-08-29 06:27:35,368.368 INFO    ] ================================================
[2026-08-29 06:27:35,898.898 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:27:35
[2026-08-29 06:27:36,547.547 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:27:36,842.842 INFO    ] Initializing speech engine...
[2026-08-29 06:27:36,849.849 INFO    ] 2026-08-29 06:27:36
[2026-08-29 06:27:37,133.133 INFO    ] 2026-08-29 06:27:37
[2026-08-29 06:27:37,176.176 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:27:37,396.396 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:27:37,406.406 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:27:37,541.541 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:27:37,596.596 INFO    ] time= 29/08/2026 06:27:37
[2026-08-29 06:27:37,646.646 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:27:37,675.675 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:27:37,734.734 INFO    ] No existing commands found in stream
[2026-08-29 06:27:42,759.759 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:27:42,762.762 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-08-29 06:27:45,625.625 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:27:45,627.627 INFO    ] Checking for system updates...
[2026-08-29 06:27:45,656.656 INFO    ] 200
[2026-08-29 06:27:45,657.657 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:27:45,687.687 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:27:45,688.688 INFO    ] No update needed
[2026-08-29 06:27:45,689.689 INFO    ] Checking for camera pi updates...
[2026-08-29 06:27:45,709.709 INFO    ] 200
[2026-08-29 06:27:45,710.710 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:27:45,734.734 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:27:45,820.820 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:27:45,822.822 INFO    ] No camera update needed
[2026-08-29 06:27:45,823.823 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:27:45,824.824 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:27:45,828.828 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:27:45,830.830 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:27:47,869.869 INFO    ] ================================================
[2026-08-29 06:27:47,884.884 INFO    ] Launching Daemon at Sat Aug 29 06:27:47 IST 2026
[2026-08-29 06:27:47,896.896 INFO    ] ================================================
[2026-08-29 06:27:48,450.450 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:27:48
[2026-08-29 06:27:49,100.100 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:27:49,400.400 INFO    ] Initializing speech engine...
[2026-08-29 06:27:49,411.411 INFO    ] 2026-08-29 06:27:49
[2026-08-29 06:27:49,695.695 INFO    ] 2026-08-29 06:27:49
[2026-08-29 06:27:49,743.743 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:27:49,929.929 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:27:49,945.945 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:27:50,098.098 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:27:50,109.109 INFO    ] time= 29/08/2026 06:27:50
[2026-08-29 06:27:50,119.119 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:27:50,172.172 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:27:50,293.293 INFO    ] No existing commands found in stream
[2026-08-29 06:27:55,330.330 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:27:55,333.333 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-08-29 06:27:55,821.821 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:27:55,823.823 INFO    ] Checking for system updates...
[2026-08-29 06:27:55,844.844 INFO    ] 200
[2026-08-29 06:27:55,845.845 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:27:55,879.879 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:27:55,880.880 INFO    ] No update needed
[2026-08-29 06:27:55,882.882 INFO    ] Checking for camera pi updates...
[2026-08-29 06:27:55,902.902 INFO    ] 200
[2026-08-29 06:27:55,903.903 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:27:55,926.926 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:27:56,027.027 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:27:56,029.029 INFO    ] No camera update needed
[2026-08-29 06:27:56,030.030 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:27:56,031.031 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:27:56,035.035 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:27:56,038.038 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:27:58,076.076 INFO    ] ================================================
[2026-08-29 06:27:58,091.091 INFO    ] Launching Daemon at Sat Aug 29 06:27:58 IST 2026
[2026-08-29 06:27:58,102.102 INFO    ] ================================================
[2026-08-29 06:27:58,454.454 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:27:58
[2026-08-29 06:27:58,766.766 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:27:58,912.912 INFO    ] Initializing speech engine...
[2026-08-29 06:27:58,917.917 INFO    ] 2026-08-29 06:27:58
[2026-08-29 06:27:59,133.133 INFO    ] 2026-08-29 06:27:59
[2026-08-29 06:27:59,164.164 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:27:59,295.295 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:27:59,334.334 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:27:59,504.504 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:27:59,551.551 INFO    ] time= 29/08/2026 06:27:59
[2026-08-29 06:27:59,588.588 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:27:59,612.612 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:27:59,688.688 INFO    ] No existing commands found in stream
[2026-08-29 06:28:04,697.697 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:28:04,699.699 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 06:28:06,710.710 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:28:06,712.712 INFO    ] Checking for system updates...
[2026-08-29 06:28:06,736.736 INFO    ] 200
[2026-08-29 06:28:06,737.737 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:28:06,767.767 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:28:06,768.768 INFO    ] No update needed
[2026-08-29 06:28:06,769.769 INFO    ] Checking for camera pi updates...
[2026-08-29 06:28:06,788.788 INFO    ] 200
[2026-08-29 06:28:06,790.790 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:28:06,813.813 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:28:06,895.895 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:28:06,898.898 INFO    ] No camera update needed
[2026-08-29 06:28:06,900.900 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:28:06,902.902 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:28:06,908.908 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:28:06,913.913 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:28:08,953.953 INFO    ] ================================================
[2026-08-29 06:28:08,968.968 INFO    ] Launching Daemon at Sat Aug 29 06:28:08 IST 2026
[2026-08-29 06:28:08,979.979 INFO    ] ================================================
[2026-08-29 06:28:09,617.617 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:28:09
[2026-08-29 06:28:10,113.113 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:28:10,257.257 INFO    ] Initializing speech engine...
[2026-08-29 06:28:10,266.266 INFO    ] 2026-08-29 06:28:10
[2026-08-29 06:28:10,460.460 INFO    ] 2026-08-29 06:28:10
[2026-08-29 06:28:10,496.496 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:28:10,745.745 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:28:10,754.754 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:28:10,886.886 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:28:10,954.954 INFO    ] time= 29/08/2026 06:28:10
[2026-08-29 06:28:11,016.016 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:28:11,023.023 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:28:11,143.143 INFO    ] No existing commands found in stream
[2026-08-29 06:28:16,176.176 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:28:16,179.179 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-08-29 06:28:17,801.801 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:28:17,803.803 INFO    ] Checking for system updates...
[2026-08-29 06:28:17,824.824 INFO    ] 200
[2026-08-29 06:28:17,825.825 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:28:17,855.855 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:28:17,856.856 INFO    ] No update needed
[2026-08-29 06:28:17,858.858 INFO    ] Checking for camera pi updates...
[2026-08-29 06:28:17,877.877 INFO    ] 200
[2026-08-29 06:28:17,878.878 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:28:17,901.901 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:28:17,983.983 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:28:17,985.985 INFO    ] No camera update needed
[2026-08-29 06:28:17,986.986 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:28:17,987.987 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:28:17,990.990 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:28:17,993.993 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:28:20,032.032 INFO    ] ================================================
[2026-08-29 06:28:20,047.047 INFO    ] Launching Daemon at Sat Aug 29 06:28:20 IST 2026
[2026-08-29 06:28:20,058.058 INFO    ] ================================================
[2026-08-29 06:28:20,428.428 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:28:20
[2026-08-29 06:28:20,747.747 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:28:20,883.883 INFO    ] Initializing speech engine...
[2026-08-29 06:28:20,887.887 INFO    ] 2026-08-29 06:28:20
[2026-08-29 06:28:21,114.114 INFO    ] 2026-08-29 06:28:21
[2026-08-29 06:28:21,153.153 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:28:21,298.298 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:28:21,304.304 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:28:21,428.428 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:28:21,493.493 INFO    ] time= 29/08/2026 06:28:21
[2026-08-29 06:28:21,552.552 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:28:21,577.577 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:28:21,630.630 INFO    ] No existing commands found in stream
[2026-08-29 06:28:26,641.641 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:28:26,644.644 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-08-29 06:28:30,137.137 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:28:30,139.139 INFO    ] Checking for system updates...
[2026-08-29 06:28:30,159.159 INFO    ] 200
[2026-08-29 06:28:30,160.160 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:28:30,190.190 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:28:30,192.192 INFO    ] No update needed
[2026-08-29 06:28:30,193.193 INFO    ] Checking for camera pi updates...
[2026-08-29 06:28:30,215.215 INFO    ] 200
[2026-08-29 06:28:30,216.216 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:28:30,238.238 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:28:30,321.321 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:28:30,323.323 INFO    ] No camera update needed
[2026-08-29 06:28:30,324.324 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:28:30,325.325 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:28:30,328.328 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:28:30,331.331 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:28:32,362.362 INFO    ] ================================================
[2026-08-29 06:28:32,371.371 INFO    ] Launching Daemon at Sat Aug 29 06:28:32 IST 2026
[2026-08-29 06:28:32,377.377 INFO    ] ================================================
[2026-08-29 06:28:32,935.935 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:28:32
[2026-08-29 06:28:33,519.519 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:28:33,779.779 INFO    ] Initializing speech engine...
[2026-08-29 06:28:33,804.804 INFO    ] 2026-08-29 06:28:33
[2026-08-29 06:28:34,075.075 INFO    ] 2026-08-29 06:28:34
[2026-08-29 06:28:34,111.111 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:28:34,257.257 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:28:34,265.265 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:28:34,419.419 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:28:34,424.424 INFO    ] time= 29/08/2026 06:28:34
[2026-08-29 06:28:34,429.429 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:28:34,451.451 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:28:34,503.503 INFO    ] No existing commands found in stream
[2026-08-29 06:28:39,514.514 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:28:39,516.516 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-08-29 06:28:43,509.509 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:28:43,510.510 INFO    ] Checking for system updates...
[2026-08-29 06:28:43,531.531 INFO    ] 200
[2026-08-29 06:28:43,532.532 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:28:43,562.562 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:28:43,563.563 INFO    ] No update needed
[2026-08-29 06:28:43,565.565 INFO    ] Checking for camera pi updates...
[2026-08-29 06:28:43,587.587 INFO    ] 200
[2026-08-29 06:28:43,588.588 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:28:43,611.611 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:28:43,714.714 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:28:43,716.716 INFO    ] No camera update needed
[2026-08-29 06:28:43,717.717 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:28:43,718.718 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:28:43,721.721 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:28:43,724.724 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:28:45,762.762 INFO    ] ================================================
[2026-08-29 06:28:45,777.777 INFO    ] Launching Daemon at Sat Aug 29 06:28:45 IST 2026
[2026-08-29 06:28:45,788.788 INFO    ] ================================================
[2026-08-29 06:28:46,129.129 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:28:46
[2026-08-29 06:28:46,441.441 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:28:46,586.586 INFO    ] Initializing speech engine...
[2026-08-29 06:28:46,591.591 INFO    ] 2026-08-29 06:28:46
[2026-08-29 06:28:46,806.806 INFO    ] 2026-08-29 06:28:46
[2026-08-29 06:28:46,836.836 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:28:46,966.966 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:28:47,024.024 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:28:47,172.172 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:28:47,234.234 INFO    ] time= 29/08/2026 06:28:47
[2026-08-29 06:28:47,273.273 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:28:47,279.279 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:28:47,355.355 INFO    ] No existing commands found in stream
[2026-08-29 06:28:52,365.365 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:28:52,368.368 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 06:28:56,151.151 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:28:56,153.153 INFO    ] Checking for system updates...
[2026-08-29 06:28:56,173.173 INFO    ] 200
[2026-08-29 06:28:56,174.174 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:28:56,204.204 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:28:56,206.206 INFO    ] No update needed
[2026-08-29 06:28:56,207.207 INFO    ] Checking for camera pi updates...
[2026-08-29 06:28:56,226.226 INFO    ] 200
[2026-08-29 06:28:56,227.227 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:28:56,249.249 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:28:56,429.429 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:28:56,430.430 INFO    ] No camera update needed
[2026-08-29 06:28:56,432.432 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:28:56,433.433 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:28:56,436.436 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:28:56,439.439 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:28:58,477.477 INFO    ] ================================================
[2026-08-29 06:28:58,492.492 INFO    ] Launching Daemon at Sat Aug 29 06:28:58 IST 2026
[2026-08-29 06:28:58,503.503 INFO    ] ================================================
[2026-08-29 06:28:58,850.850 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:28:58
[2026-08-29 06:28:59,163.163 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:28:59,298.298 INFO    ] Initializing speech engine...
[2026-08-29 06:28:59,310.310 INFO    ] 2026-08-29 06:28:59
[2026-08-29 06:28:59,515.515 INFO    ] 2026-08-29 06:28:59
[2026-08-29 06:28:59,545.545 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:28:59,679.679 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:28:59,682.682 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:28:59,863.863 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:28:59,911.911 INFO    ] time= 29/08/2026 06:28:59
[2026-08-29 06:28:59,917.917 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:28:59,933.933 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:29:00,054.054 INFO    ] No existing commands found in stream
[2026-08-29 06:29:05,077.077 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:29:05,079.079 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-08-29 06:29:07,601.601 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:29:07,603.603 INFO    ] Checking for system updates...
[2026-08-29 06:29:07,623.623 INFO    ] 200
[2026-08-29 06:29:07,625.625 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:29:07,657.657 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:29:07,659.659 INFO    ] No update needed
[2026-08-29 06:29:07,660.660 INFO    ] Checking for camera pi updates...
[2026-08-29 06:29:07,679.679 INFO    ] 200
[2026-08-29 06:29:07,680.680 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:29:07,707.707 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:29:07,788.788 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:29:07,789.789 INFO    ] No camera update needed
[2026-08-29 06:29:07,791.791 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:29:07,792.792 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:29:07,795.795 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:29:07,798.798 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:29:09,837.837 INFO    ] ================================================
[2026-08-29 06:29:09,853.853 INFO    ] Launching Daemon at Sat Aug 29 06:29:09 IST 2026
[2026-08-29 06:29:09,864.864 INFO    ] ================================================
[2026-08-29 06:29:10,220.220 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:29:10
[2026-08-29 06:29:10,556.556 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:29:10,707.707 INFO    ] Initializing speech engine...
[2026-08-29 06:29:10,712.712 INFO    ] 2026-08-29 06:29:10
[2026-08-29 06:29:10,919.919 INFO    ] 2026-08-29 06:29:10
[2026-08-29 06:29:10,948.948 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:29:11,102.102 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:29:11,156.156 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:29:11,346.346 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:29:11,403.403 INFO    ] time= 29/08/2026 06:29:11
[2026-08-29 06:29:11,468.468 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:29:11,499.499 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:29:11,629.629 INFO    ] No existing commands found in stream
[2026-08-29 06:29:16,653.653 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:29:16,656.656 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-08-29 06:29:17,627.627 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:29:17,628.628 INFO    ] Checking for system updates...
[2026-08-29 06:29:17,648.648 INFO    ] 200
[2026-08-29 06:29:17,650.650 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:29:17,680.680 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:29:17,682.682 INFO    ] No update needed
[2026-08-29 06:29:17,683.683 INFO    ] Checking for camera pi updates...
[2026-08-29 06:29:17,702.702 INFO    ] 200
[2026-08-29 06:29:17,704.704 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:29:17,727.727 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:29:17,807.807 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:29:17,808.808 INFO    ] No camera update needed
[2026-08-29 06:29:17,809.809 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:29:17,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:29:17,813.813 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:29:17,818.818 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:29:19,858.858 INFO    ] ================================================
[2026-08-29 06:29:19,874.874 INFO    ] Launching Daemon at Sat Aug 29 06:29:19 IST 2026
[2026-08-29 06:29:19,884.884 INFO    ] ================================================
[2026-08-29 06:29:20,538.538 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:29:20
[2026-08-29 06:29:21,029.029 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:29:21,325.325 INFO    ] Initializing speech engine...
[2026-08-29 06:29:21,336.336 INFO    ] 2026-08-29 06:29:21
[2026-08-29 06:29:21,644.644 INFO    ] 2026-08-29 06:29:21
[2026-08-29 06:29:21,729.729 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:29:21,879.879 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:29:21,888.888 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:29:22,023.023 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:29:22,083.083 INFO    ] time= 29/08/2026 06:29:22
[2026-08-29 06:29:22,151.151 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:29:22,158.158 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:29:22,262.262 INFO    ] No existing commands found in stream
[2026-08-29 06:29:27,300.300 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:29:27,303.303 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-08-29 06:29:29,897.897 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:29:29,899.899 INFO    ] Checking for system updates...
[2026-08-29 06:29:29,919.919 INFO    ] 200
[2026-08-29 06:29:29,921.921 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:29:29,951.951 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:29:29,953.953 INFO    ] No update needed
[2026-08-29 06:29:29,954.954 INFO    ] Checking for camera pi updates...
[2026-08-29 06:29:29,974.974 INFO    ] 200
[2026-08-29 06:29:29,975.975 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:29:29,998.998 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:29:30,094.094 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:29:30,096.096 INFO    ] No camera update needed
[2026-08-29 06:29:30,097.097 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:29:30,099.099 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:29:30,102.102 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:29:30,105.105 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:29:32,137.137 INFO    ] ================================================
[2026-08-29 06:29:32,154.154 INFO    ] Launching Daemon at Sat Aug 29 06:29:32 IST 2026
[2026-08-29 06:29:32,166.166 INFO    ] ================================================
[2026-08-29 06:29:32,760.760 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:29:32
[2026-08-29 06:29:33,347.347 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:29:33,610.610 INFO    ] Initializing speech engine...
[2026-08-29 06:29:33,628.628 INFO    ] 2026-08-29 06:29:33
[2026-08-29 06:29:33,881.881 INFO    ] 2026-08-29 06:29:33
[2026-08-29 06:29:33,916.916 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:29:34,094.094 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:29:34,107.107 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:29:34,253.253 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:29:34,260.260 INFO    ] time= 29/08/2026 06:29:34
[2026-08-29 06:29:34,268.268 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:29:34,298.298 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:29:34,421.421 INFO    ] No existing commands found in stream
[2026-08-29 06:29:39,446.446 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:29:39,448.448 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-08-29 06:29:43,671.671 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:29:43,672.672 INFO    ] Checking for system updates...
[2026-08-29 06:29:43,693.693 INFO    ] 200
[2026-08-29 06:29:43,694.694 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:29:43,727.727 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:29:43,728.728 INFO    ] No update needed
[2026-08-29 06:29:43,730.730 INFO    ] Checking for camera pi updates...
[2026-08-29 06:29:43,749.749 INFO    ] 200
[2026-08-29 06:29:43,750.750 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:29:43,777.777 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:29:43,882.882 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:29:43,883.883 INFO    ] No camera update needed
[2026-08-29 06:29:43,885.885 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:29:43,886.886 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:29:43,889.889 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:29:43,891.891 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:29:45,930.930 INFO    ] ================================================
[2026-08-29 06:29:45,945.945 INFO    ] Launching Daemon at Sat Aug 29 06:29:45 IST 2026
[2026-08-29 06:29:45,956.956 INFO    ] ================================================
[2026-08-29 06:29:46,318.318 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:29:46
[2026-08-29 06:29:46,630.630 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:29:46,870.870 INFO    ] Initializing speech engine...
[2026-08-29 06:29:46,878.878 INFO    ] 2026-08-29 06:29:46
[2026-08-29 06:29:47,130.130 INFO    ] 2026-08-29 06:29:47
[2026-08-29 06:29:47,165.165 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:29:47,341.341 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:29:47,354.354 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:29:47,483.483 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:29:47,502.502 INFO    ] time= 29/08/2026 06:29:47
[2026-08-29 06:29:47,510.510 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:29:47,517.517 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:29:47,586.586 INFO    ] No existing commands found in stream
[2026-08-29 06:29:52,616.616 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:29:52,619.619 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-08-29 06:29:53,966.966 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:29:53,967.967 INFO    ] Checking for system updates...
[2026-08-29 06:29:53,988.988 INFO    ] 200
[2026-08-29 06:29:53,990.990 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:29:54,023.023 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:29:54,024.024 INFO    ] No update needed
[2026-08-29 06:29:54,026.026 INFO    ] Checking for camera pi updates...
[2026-08-29 06:29:54,048.048 INFO    ] 200
[2026-08-29 06:29:54,049.049 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:29:54,074.074 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:29:54,158.158 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:29:54,159.159 INFO    ] No camera update needed
[2026-08-29 06:29:54,161.161 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:29:54,162.162 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:29:54,166.166 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:29:54,169.169 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:29:56,210.210 INFO    ] ================================================
[2026-08-29 06:29:56,225.225 INFO    ] Launching Daemon at Sat Aug 29 06:29:56 IST 2026
[2026-08-29 06:29:56,236.236 INFO    ] ================================================
[2026-08-29 06:29:56,596.596 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:29:56
[2026-08-29 06:29:56,907.907 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:29:57,140.140 INFO    ] Initializing speech engine...
[2026-08-29 06:29:57,150.150 INFO    ] 2026-08-29 06:29:57
[2026-08-29 06:29:57,401.401 INFO    ] 2026-08-29 06:29:57
[2026-08-29 06:29:57,465.465 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:29:57,612.612 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:29:57,624.624 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:29:57,753.753 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:29:57,773.773 INFO    ] time= 29/08/2026 06:29:57
[2026-08-29 06:29:57,781.781 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:29:57,787.787 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:29:57,853.853 INFO    ] No existing commands found in stream
[2026-08-29 06:30:02,864.864 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:30:02,874.874 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 06:30:08,702.702 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:30:08,704.704 INFO    ] Checking for system updates...
[2026-08-29 06:30:08,724.724 INFO    ] 200
[2026-08-29 06:30:08,725.725 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:30:08,757.757 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:30:08,759.759 INFO    ] No update needed
[2026-08-29 06:30:08,760.760 INFO    ] Checking for camera pi updates...
[2026-08-29 06:30:08,781.781 INFO    ] 200
[2026-08-29 06:30:08,783.783 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:30:08,806.806 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:30:08,899.899 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:30:08,900.900 INFO    ] No camera update needed
[2026-08-29 06:30:08,902.902 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:30:08,903.903 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:30:08,906.906 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:30:08,909.909 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:30:10,948.948 INFO    ] ================================================
[2026-08-29 06:30:10,964.964 INFO    ] Launching Daemon at Sat Aug 29 06:30:10 IST 2026
[2026-08-29 06:30:10,975.975 INFO    ] ================================================
[2026-08-29 06:30:11,347.347 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:30:11
[2026-08-29 06:30:11,665.665 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:30:11,802.802 INFO    ] Initializing speech engine...
[2026-08-29 06:30:11,816.816 INFO    ] 2026-08-29 06:30:11
[2026-08-29 06:30:12,036.036 INFO    ] 2026-08-29 06:30:12
[2026-08-29 06:30:12,067.067 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:30:12,200.200 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:30:12,243.243 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:30:12,373.373 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:30:12,413.413 INFO    ] time= 29/08/2026 06:30:12
[2026-08-29 06:30:12,465.465 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:30:12,509.509 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:30:12,597.597 INFO    ] No existing commands found in stream
[2026-08-29 06:30:17,606.606 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:30:17,609.609 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-08-29 06:30:19,426.426 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:30:19,429.429 INFO    ] Checking for system updates...
[2026-08-29 06:30:19,468.468 INFO    ] 200
[2026-08-29 06:30:19,471.471 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:30:19,530.530 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:30:19,533.533 INFO    ] No update needed
[2026-08-29 06:30:19,535.535 INFO    ] Checking for camera pi updates...
[2026-08-29 06:30:19,569.569 INFO    ] 200
[2026-08-29 06:30:19,571.571 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:30:19,616.616 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:30:19,736.736 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:30:19,739.739 INFO    ] No camera update needed
[2026-08-29 06:30:19,741.741 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:30:19,744.744 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:30:19,749.749 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:30:19,754.754 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:30:21,794.794 INFO    ] ================================================
[2026-08-29 06:30:21,810.810 INFO    ] Launching Daemon at Sat Aug 29 06:30:21 IST 2026
[2026-08-29 06:30:21,821.821 INFO    ] ================================================
[2026-08-29 06:30:22,425.425 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:30:22
[2026-08-29 06:30:22,861.861 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:30:23,171.171 INFO    ] Initializing speech engine...
[2026-08-29 06:30:23,179.179 INFO    ] 2026-08-29 06:30:23
[2026-08-29 06:30:23,454.454 INFO    ] 2026-08-29 06:30:23
[2026-08-29 06:30:23,490.490 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:30:23,664.664 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:30:23,688.688 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:30:23,823.823 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:30:23,833.833 INFO    ] time= 29/08/2026 06:30:23
[2026-08-29 06:30:23,842.842 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:30:23,905.905 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:30:24,013.013 INFO    ] No existing commands found in stream
[2026-08-29 06:30:29,044.044 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:30:29,048.048 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-08-29 06:30:31,798.798 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:30:31,800.800 INFO    ] Checking for system updates...
[2026-08-29 06:30:31,824.824 INFO    ] 200
[2026-08-29 06:30:31,826.826 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:30:31,876.876 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:30:31,879.879 INFO    ] No update needed
[2026-08-29 06:30:31,883.883 INFO    ] Checking for camera pi updates...
[2026-08-29 06:30:31,926.926 INFO    ] 200
[2026-08-29 06:30:31,930.930 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:30:31,976.976 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:30:32,094.094 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:30:32,097.097 INFO    ] No camera update needed
[2026-08-29 06:30:32,100.100 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:30:32,104.104 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:30:32,111.111 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:30:32,118.118 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:30:34,162.162 INFO    ] ================================================
[2026-08-29 06:30:34,178.178 INFO    ] Launching Daemon at Sat Aug 29 06:30:34 IST 2026
[2026-08-29 06:30:34,189.189 INFO    ] ================================================
[2026-08-29 06:30:34,873.873 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:30:34
[2026-08-29 06:30:35,272.272 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:30:35,425.425 INFO    ] Initializing speech engine...
[2026-08-29 06:30:35,431.431 INFO    ] 2026-08-29 06:30:35
[2026-08-29 06:30:35,685.685 INFO    ] 2026-08-29 06:30:35
[2026-08-29 06:30:35,749.749 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:30:35,956.956 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:30:35,965.965 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:30:36,099.099 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:30:36,143.143 INFO    ] time= 29/08/2026 06:30:36
[2026-08-29 06:30:36,214.214 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:30:36,238.238 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:30:36,297.297 INFO    ] No existing commands found in stream
[2026-08-29 06:30:41,324.324 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:30:41,327.327 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 06:30:41,900.900 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:30:41,901.901 INFO    ] Checking for system updates...
[2026-08-29 06:30:41,921.921 INFO    ] 200
[2026-08-29 06:30:41,923.923 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:30:41,952.952 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:30:41,954.954 INFO    ] No update needed
[2026-08-29 06:30:41,955.955 INFO    ] Checking for camera pi updates...
[2026-08-29 06:30:41,974.974 INFO    ] 200
[2026-08-29 06:30:41,975.975 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:30:41,998.998 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:30:42,125.125 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:30:42,126.126 INFO    ] No camera update needed
[2026-08-29 06:30:42,127.127 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:30:42,128.128 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:30:42,131.131 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:30:42,134.134 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:30:44,174.174 INFO    ] ================================================
[2026-08-29 06:30:44,190.190 INFO    ] Launching Daemon at Sat Aug 29 06:30:44 IST 2026
[2026-08-29 06:30:44,201.201 INFO    ] ================================================
[2026-08-29 06:30:44,573.573 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:30:44
[2026-08-29 06:30:44,915.915 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:30:45,189.189 INFO    ] Initializing speech engine...
[2026-08-29 06:30:45,201.201 INFO    ] 2026-08-29 06:30:45
[2026-08-29 06:30:45,514.514 INFO    ] 2026-08-29 06:30:45
[2026-08-29 06:30:45,599.599 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:30:45,756.756 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:30:45,762.762 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:30:45,912.912 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:30:45,972.972 INFO    ] time= 29/08/2026 06:30:45
[2026-08-29 06:30:46,026.026 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:30:46,032.032 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:30:46,159.159 INFO    ] No existing commands found in stream
[2026-08-29 06:30:51,192.192 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:30:51,195.195 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-08-29 06:30:52,459.459 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:30:52,461.461 INFO    ] Checking for system updates...
[2026-08-29 06:30:52,482.482 INFO    ] 200
[2026-08-29 06:30:52,483.483 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:30:52,516.516 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:30:52,517.517 INFO    ] No update needed
[2026-08-29 06:30:52,519.519 INFO    ] Checking for camera pi updates...
[2026-08-29 06:30:52,542.542 INFO    ] 200
[2026-08-29 06:30:52,544.544 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:30:52,568.568 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:30:52,666.666 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:30:52,668.668 INFO    ] No camera update needed
[2026-08-29 06:30:52,669.669 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:30:52,670.670 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:30:52,675.675 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:30:52,678.678 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:30:54,719.719 INFO    ] ================================================
[2026-08-29 06:30:54,734.734 INFO    ] Launching Daemon at Sat Aug 29 06:30:54 IST 2026
[2026-08-29 06:30:54,745.745 INFO    ] ================================================
[2026-08-29 06:30:55,111.111 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:30:55
[2026-08-29 06:30:55,485.485 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:30:55,735.735 INFO    ] Initializing speech engine...
[2026-08-29 06:30:55,749.749 INFO    ] 2026-08-29 06:30:55
[2026-08-29 06:30:56,016.016 INFO    ] 2026-08-29 06:30:56
[2026-08-29 06:30:56,049.049 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:30:56,228.228 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:30:56,239.239 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:30:56,369.369 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:30:56,390.390 INFO    ] time= 29/08/2026 06:30:56
[2026-08-29 06:30:56,397.397 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:30:56,404.404 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:30:56,473.473 INFO    ] No existing commands found in stream
[2026-08-29 06:31:01,498.498 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:31:01,500.500 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-08-29 06:31:02,356.356 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:31:02,359.359 INFO    ] Checking for system updates...
[2026-08-29 06:31:02,405.405 INFO    ] 200
[2026-08-29 06:31:02,408.408 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:31:02,477.477 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:31:02,480.480 INFO    ] No update needed
[2026-08-29 06:31:02,483.483 INFO    ] Checking for camera pi updates...
[2026-08-29 06:31:02,531.531 INFO    ] 200
[2026-08-29 06:31:02,535.535 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:31:02,589.589 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:31:02,781.781 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:31:02,784.784 INFO    ] No camera update needed
[2026-08-29 06:31:02,787.787 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:31:02,790.790 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:31:02,798.798 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:31:02,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:31:04,847.847 INFO    ] ================================================
[2026-08-29 06:31:04,863.863 INFO    ] Launching Daemon at Sat Aug 29 06:31:04 IST 2026
[2026-08-29 06:31:04,875.875 INFO    ] ================================================
[2026-08-29 06:31:05,217.217 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:31:05
[2026-08-29 06:31:05,530.530 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:31:05,673.673 INFO    ] Initializing speech engine...
[2026-08-29 06:31:05,678.678 INFO    ] 2026-08-29 06:31:05
[2026-08-29 06:31:05,884.884 INFO    ] 2026-08-29 06:31:05
[2026-08-29 06:31:05,914.914 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:31:06,060.060 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:31:06,067.067 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:31:06,245.245 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:31:06,273.273 INFO    ] time= 29/08/2026 06:31:06
[2026-08-29 06:31:06,279.279 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:31:06,300.300 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:31:06,401.401 INFO    ] No existing commands found in stream
[2026-08-29 06:31:11,426.426 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:31:11,429.429 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-08-29 06:31:14,665.665 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:31:14,667.667 INFO    ] Checking for system updates...
[2026-08-29 06:31:14,687.687 INFO    ] 200
[2026-08-29 06:31:14,688.688 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:31:14,719.719 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:31:14,721.721 INFO    ] No update needed
[2026-08-29 06:31:14,724.724 INFO    ] Checking for camera pi updates...
[2026-08-29 06:31:14,757.757 INFO    ] 200
[2026-08-29 06:31:14,760.760 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:31:14,801.801 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:31:14,885.885 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:31:14,887.887 INFO    ] No camera update needed
[2026-08-29 06:31:14,890.890 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:31:14,892.892 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:31:14,897.897 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:31:14,902.902 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:31:16,944.944 INFO    ] ================================================
[2026-08-29 06:31:16,959.959 INFO    ] Launching Daemon at Sat Aug 29 06:31:16 IST 2026
[2026-08-29 06:31:16,970.970 INFO    ] ================================================
[2026-08-29 06:31:17,548.548 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:31:17
[2026-08-29 06:31:18,008.008 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:31:18,144.144 INFO    ] Initializing speech engine...
[2026-08-29 06:31:18,147.147 INFO    ] 2026-08-29 06:31:18
[2026-08-29 06:31:18,377.377 INFO    ] 2026-08-29 06:31:18
[2026-08-29 06:31:18,406.406 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:31:18,541.541 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:31:18,609.609 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:31:18,753.753 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:31:18,820.820 INFO    ] time= 29/08/2026 06:31:18
[2026-08-29 06:31:18,850.850 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:31:18,862.862 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:31:18,939.939 INFO    ] No existing commands found in stream
[2026-08-29 06:31:23,950.950 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:31:23,953.953 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-08-29 06:31:24,725.725 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:31:24,727.727 INFO    ] Checking for system updates...
[2026-08-29 06:31:24,749.749 INFO    ] 200
[2026-08-29 06:31:24,750.750 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:31:24,780.780 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:31:24,781.781 INFO    ] No update needed
[2026-08-29 06:31:24,783.783 INFO    ] Checking for camera pi updates...
[2026-08-29 06:31:24,804.804 INFO    ] 200
[2026-08-29 06:31:24,807.807 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:31:24,853.853 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:31:24,952.952 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:31:24,954.954 INFO    ] No camera update needed
[2026-08-29 06:31:24,957.957 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:31:24,959.959 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:31:24,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:31:24,969.969 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:31:27,009.009 INFO    ] ================================================
[2026-08-29 06:31:27,024.024 INFO    ] Launching Daemon at Sat Aug 29 06:31:27 IST 2026
[2026-08-29 06:31:27,035.035 INFO    ] ================================================
[2026-08-29 06:31:27,604.604 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:31:27
[2026-08-29 06:31:28,188.188 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:31:28,459.459 INFO    ] Initializing speech engine...
[2026-08-29 06:31:28,468.468 INFO    ] 2026-08-29 06:31:28
[2026-08-29 06:31:28,715.715 INFO    ] 2026-08-29 06:31:28
[2026-08-29 06:31:28,750.750 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:31:28,922.922 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:31:28,934.934 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:31:29,060.060 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:31:29,083.083 INFO    ] time= 29/08/2026 06:31:29
[2026-08-29 06:31:29,088.088 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:31:29,094.094 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:31:29,161.161 INFO    ] No existing commands found in stream
[2026-08-29 06:31:34,196.196 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:31:34,199.199 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-08-29 06:31:37,174.174 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:31:37,176.176 INFO    ] Checking for system updates...
[2026-08-29 06:31:37,196.196 INFO    ] 200
[2026-08-29 06:31:37,197.197 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:31:37,231.231 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:31:37,232.232 INFO    ] No update needed
[2026-08-29 06:31:37,234.234 INFO    ] Checking for camera pi updates...
[2026-08-29 06:31:37,253.253 INFO    ] 200
[2026-08-29 06:31:37,254.254 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:31:37,277.277 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:31:37,386.386 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:31:37,387.387 INFO    ] No camera update needed
[2026-08-29 06:31:37,388.388 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:31:37,390.390 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:31:37,393.393 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:31:37,395.395 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:31:39,435.435 INFO    ] ================================================
[2026-08-29 06:31:39,451.451 INFO    ] Launching Daemon at Sat Aug 29 06:31:39 IST 2026
[2026-08-29 06:31:39,462.462 INFO    ] ================================================
[2026-08-29 06:31:39,825.825 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:31:39
[2026-08-29 06:31:40,139.139 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:31:40,282.282 INFO    ] Initializing speech engine...
[2026-08-29 06:31:40,286.286 INFO    ] 2026-08-29 06:31:40
[2026-08-29 06:31:40,491.491 INFO    ] 2026-08-29 06:31:40
[2026-08-29 06:31:40,519.519 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:31:40,670.670 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:31:40,678.678 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:31:40,850.850 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:31:40,879.879 INFO    ] time= 29/08/2026 06:31:40
[2026-08-29 06:31:40,894.894 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:31:40,904.904 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:31:41,016.016 INFO    ] No existing commands found in stream
[2026-08-29 06:31:46,040.040 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:31:46,043.043 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-08-29 06:31:47,283.283 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:31:47,284.284 INFO    ] Checking for system updates...
[2026-08-29 06:31:47,304.304 INFO    ] 200
[2026-08-29 06:31:47,306.306 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:31:47,335.335 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:31:47,337.337 INFO    ] No update needed
[2026-08-29 06:31:47,338.338 INFO    ] Checking for camera pi updates...
[2026-08-29 06:31:47,360.360 INFO    ] 200
[2026-08-29 06:31:47,361.361 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:31:47,383.383 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:31:47,478.478 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:31:47,479.479 INFO    ] No camera update needed
[2026-08-29 06:31:47,480.480 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:31:47,482.482 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:31:47,485.485 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:31:47,487.487 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:31:49,528.528 INFO    ] ================================================
[2026-08-29 06:31:49,544.544 INFO    ] Launching Daemon at Sat Aug 29 06:31:49 IST 2026
[2026-08-29 06:31:49,555.555 INFO    ] ================================================
[2026-08-29 06:31:49,939.939 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:31:49
[2026-08-29 06:31:50,541.541 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:31:50,848.848 INFO    ] Initializing speech engine...
[2026-08-29 06:31:50,857.857 INFO    ] 2026-08-29 06:31:50
[2026-08-29 06:31:51,150.150 INFO    ] 2026-08-29 06:31:51
[2026-08-29 06:31:51,196.196 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:31:51,425.425 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:31:51,436.436 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:31:51,576.576 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:31:51,636.636 INFO    ] time= 29/08/2026 06:31:51
[2026-08-29 06:31:51,696.696 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:31:51,714.714 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:31:51,835.835 INFO    ] No existing commands found in stream
[2026-08-29 06:31:56,858.858 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:31:56,861.861 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-08-29 06:32:00,276.276 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:32:00,278.278 INFO    ] Checking for system updates...
[2026-08-29 06:32:00,298.298 INFO    ] 200
[2026-08-29 06:32:00,299.299 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:32:00,330.330 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:32:00,332.332 INFO    ] No update needed
[2026-08-29 06:32:00,333.333 INFO    ] Checking for camera pi updates...
[2026-08-29 06:32:00,354.354 INFO    ] 200
[2026-08-29 06:32:00,355.355 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:32:00,379.379 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:32:00,481.481 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:32:00,484.484 INFO    ] No camera update needed
[2026-08-29 06:32:00,487.487 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:32:00,489.489 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:32:00,496.496 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:32:00,501.501 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:32:02,548.548 INFO    ] ================================================
[2026-08-29 06:32:02,567.567 INFO    ] Launching Daemon at Sat Aug 29 06:32:02 IST 2026
[2026-08-29 06:32:02,584.584 INFO    ] ================================================
[2026-08-29 06:32:03,237.237 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:32:03
[2026-08-29 06:32:03,689.689 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:32:03,819.819 INFO    ] Initializing speech engine...
[2026-08-29 06:32:03,823.823 INFO    ] 2026-08-29 06:32:03
[2026-08-29 06:32:04,041.041 INFO    ] 2026-08-29 06:32:04
[2026-08-29 06:32:04,069.069 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:32:04,225.225 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:32:04,248.248 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:32:04,385.385 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:32:04,406.406 INFO    ] time= 29/08/2026 06:32:04
[2026-08-29 06:32:04,433.433 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:32:04,440.440 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:32:04,545.545 INFO    ] No existing commands found in stream
[2026-08-29 06:32:09,557.557 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:32:09,559.559 INFO    ] Waiting 3.84 seconds before fallback handling...
[2026-08-29 06:32:13,735.735 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:32:13,736.736 INFO    ] Checking for system updates...
[2026-08-29 06:32:13,756.756 INFO    ] 200
[2026-08-29 06:32:13,758.758 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:32:13,787.787 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:32:13,789.789 INFO    ] No update needed
[2026-08-29 06:32:13,790.790 INFO    ] Checking for camera pi updates...
[2026-08-29 06:32:13,811.811 INFO    ] 200
[2026-08-29 06:32:13,813.813 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:32:13,835.835 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:32:13,925.925 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:32:13,927.927 INFO    ] No camera update needed
[2026-08-29 06:32:13,928.928 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:32:13,929.929 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:32:13,932.932 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:32:13,935.935 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:32:15,973.973 INFO    ] ================================================
[2026-08-29 06:32:15,989.989 INFO    ] Launching Daemon at Sat Aug 29 06:32:15 IST 2026
[2026-08-29 06:32:16,000.000 INFO    ] ================================================
[2026-08-29 06:32:16,509.509 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:32:16
[2026-08-29 06:32:17,105.105 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:32:17,379.379 INFO    ] Initializing speech engine...
[2026-08-29 06:32:17,390.390 INFO    ] 2026-08-29 06:32:17
[2026-08-29 06:32:17,652.652 INFO    ] 2026-08-29 06:32:17
[2026-08-29 06:32:17,705.705 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:32:17,927.927 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:32:17,936.936 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:32:18,068.068 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:32:18,117.117 INFO    ] time= 29/08/2026 06:32:18
[2026-08-29 06:32:18,171.171 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:32:18,203.203 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:32:18,262.262 INFO    ] No existing commands found in stream
[2026-08-29 06:32:23,286.286 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:32:23,288.288 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-08-29 06:32:26,490.490 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:32:26,492.492 INFO    ] Checking for system updates...
[2026-08-29 06:32:26,512.512 INFO    ] 200
[2026-08-29 06:32:26,513.513 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:32:26,545.545 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:32:26,547.547 INFO    ] No update needed
[2026-08-29 06:32:26,548.548 INFO    ] Checking for camera pi updates...
[2026-08-29 06:32:26,567.567 INFO    ] 200
[2026-08-29 06:32:26,569.569 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:32:26,593.593 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:32:26,676.676 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:32:26,677.677 INFO    ] No camera update needed
[2026-08-29 06:32:26,678.678 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:32:26,680.680 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:32:26,683.683 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:32:26,686.686 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:32:28,724.724 INFO    ] ================================================
[2026-08-29 06:32:28,740.740 INFO    ] Launching Daemon at Sat Aug 29 06:32:28 IST 2026
[2026-08-29 06:32:28,751.751 INFO    ] ================================================
[2026-08-29 06:32:29,088.088 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:32:29
[2026-08-29 06:32:29,405.405 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:32:29,549.549 INFO    ] Initializing speech engine...
[2026-08-29 06:32:29,554.554 INFO    ] 2026-08-29 06:32:29
[2026-08-29 06:32:29,754.754 INFO    ] 2026-08-29 06:32:29
[2026-08-29 06:32:29,861.861 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:32:30,010.010 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:32:30,020.020 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:32:30,154.154 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:32:30,209.209 INFO    ] time= 29/08/2026 06:32:30
[2026-08-29 06:32:30,264.264 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:32:30,288.288 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:32:30,340.340 INFO    ] No existing commands found in stream
[2026-08-29 06:32:35,353.353 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:32:35,357.357 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-08-29 06:32:36,865.865 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:32:36,868.868 INFO    ] Checking for system updates...
[2026-08-29 06:32:36,904.904 INFO    ] 200
[2026-08-29 06:32:36,906.906 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:32:36,966.966 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:32:36,968.968 INFO    ] No update needed
[2026-08-29 06:32:36,970.970 INFO    ] Checking for camera pi updates...
[2026-08-29 06:32:37,004.004 INFO    ] 200
[2026-08-29 06:32:37,006.006 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:32:37,047.047 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:32:37,152.152 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:32:37,155.155 INFO    ] No camera update needed
[2026-08-29 06:32:37,157.157 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:32:37,159.159 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:32:37,164.164 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:32:37,169.169 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:32:39,209.209 INFO    ] ================================================
[2026-08-29 06:32:39,225.225 INFO    ] Launching Daemon at Sat Aug 29 06:32:39 IST 2026
[2026-08-29 06:32:39,236.236 INFO    ] ================================================
[2026-08-29 06:32:39,769.769 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:32:39
[2026-08-29 06:32:40,353.353 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:32:40,622.622 INFO    ] Initializing speech engine...
[2026-08-29 06:32:40,631.631 INFO    ] 2026-08-29 06:32:40
[2026-08-29 06:32:40,884.884 INFO    ] 2026-08-29 06:32:40
[2026-08-29 06:32:40,943.943 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:32:41,105.105 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:32:41,149.149 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:32:41,304.304 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:32:41,320.320 INFO    ] time= 29/08/2026 06:32:41
[2026-08-29 06:32:41,380.380 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:32:41,434.434 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:32:41,495.495 INFO    ] No existing commands found in stream
[2026-08-29 06:32:46,507.507 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:32:46,510.510 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-08-29 06:32:48,259.259 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:32:48,260.260 INFO    ] Checking for system updates...
[2026-08-29 06:32:48,280.280 INFO    ] 200
[2026-08-29 06:32:48,282.282 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:32:48,315.315 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:32:48,318.318 INFO    ] No update needed
[2026-08-29 06:32:48,320.320 INFO    ] Checking for camera pi updates...
[2026-08-29 06:32:48,353.353 INFO    ] 200
[2026-08-29 06:32:48,355.355 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:32:48,395.395 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:32:48,516.516 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:32:48,518.518 INFO    ] No camera update needed
[2026-08-29 06:32:48,520.520 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:32:48,523.523 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:32:48,528.528 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:32:48,533.533 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:32:50,575.575 INFO    ] ================================================
[2026-08-29 06:32:50,590.590 INFO    ] Launching Daemon at Sat Aug 29 06:32:50 IST 2026
[2026-08-29 06:32:50,602.602 INFO    ] ================================================
[2026-08-29 06:32:51,169.169 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:32:51
[2026-08-29 06:32:51,606.606 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:32:51,749.749 INFO    ] Initializing speech engine...
[2026-08-29 06:32:51,754.754 INFO    ] 2026-08-29 06:32:51
[2026-08-29 06:32:51,941.941 INFO    ] 2026-08-29 06:32:51
[2026-08-29 06:32:51,994.994 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:32:52,217.217 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:32:52,226.226 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:32:52,358.358 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:32:52,375.375 INFO    ] time= 29/08/2026 06:32:52
[2026-08-29 06:32:52,434.434 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:32:52,491.491 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:32:52,545.545 INFO    ] No existing commands found in stream
[2026-08-29 06:32:57,557.557 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:32:57,560.560 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-08-29 06:32:59,769.769 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:32:59,770.770 INFO    ] Checking for system updates...
[2026-08-29 06:32:59,791.791 INFO    ] 200
[2026-08-29 06:32:59,792.792 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:32:59,822.822 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:32:59,823.823 INFO    ] No update needed
[2026-08-29 06:32:59,825.825 INFO    ] Checking for camera pi updates...
[2026-08-29 06:32:59,845.845 INFO    ] 200
[2026-08-29 06:32:59,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:32:59,870.870 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:32:59,970.970 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:32:59,972.972 INFO    ] No camera update needed
[2026-08-29 06:32:59,973.973 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:32:59,974.974 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:32:59,977.977 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:32:59,980.980 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:33:02,021.021 INFO    ] ================================================
[2026-08-29 06:33:02,041.041 INFO    ] Launching Daemon at Sat Aug 29 06:33:02 IST 2026
[2026-08-29 06:33:02,057.057 INFO    ] ================================================
[2026-08-29 06:33:02,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:33:02
[2026-08-29 06:33:03,420.420 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:33:03,721.721 INFO    ] Initializing speech engine...
[2026-08-29 06:33:03,727.727 INFO    ] 2026-08-29 06:33:03
[2026-08-29 06:33:04,017.017 INFO    ] 2026-08-29 06:33:04
[2026-08-29 06:33:04,062.062 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:33:04,288.288 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:33:04,295.295 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:33:04,425.425 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:33:04,473.473 INFO    ] time= 29/08/2026 06:33:04
[2026-08-29 06:33:04,538.538 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:33:04,563.563 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:33:04,619.619 INFO    ] No existing commands found in stream
[2026-08-29 06:33:09,632.632 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:33:09,635.635 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-08-29 06:33:11,837.837 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:33:11,838.838 INFO    ] Checking for system updates...
[2026-08-29 06:33:11,859.859 INFO    ] 200
[2026-08-29 06:33:11,860.860 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:33:11,891.891 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:33:11,892.892 INFO    ] No update needed
[2026-08-29 06:33:11,894.894 INFO    ] Checking for camera pi updates...
[2026-08-29 06:33:11,915.915 INFO    ] 200
[2026-08-29 06:33:11,917.917 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:33:11,943.943 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:33:12,138.138 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:33:12,140.140 INFO    ] No camera update needed
[2026-08-29 06:33:12,141.141 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:33:12,142.142 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:33:12,145.145 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:33:12,148.148 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:33:14,187.187 INFO    ] ================================================
[2026-08-29 06:33:14,203.203 INFO    ] Launching Daemon at Sat Aug 29 06:33:14 IST 2026
[2026-08-29 06:33:14,214.214 INFO    ] ================================================
[2026-08-29 06:33:14,556.556 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:33:14
[2026-08-29 06:33:14,867.867 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:33:15,004.004 INFO    ] Initializing speech engine...
[2026-08-29 06:33:15,014.014 INFO    ] 2026-08-29 06:33:15
[2026-08-29 06:33:15,222.222 INFO    ] 2026-08-29 06:33:15
[2026-08-29 06:33:15,263.263 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:33:15,396.396 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:33:15,404.404 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:33:15,515.515 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:33:15,584.584 INFO    ] time= 29/08/2026 06:33:15
[2026-08-29 06:33:15,642.642 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:33:15,648.648 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:33:15,764.764 INFO    ] No existing commands found in stream
[2026-08-29 06:33:20,794.794 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:33:20,797.797 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-08-29 06:33:24,344.344 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:33:24,345.345 INFO    ] Checking for system updates...
[2026-08-29 06:33:24,366.366 INFO    ] 200
[2026-08-29 06:33:24,367.367 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:33:24,396.396 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:33:24,398.398 INFO    ] No update needed
[2026-08-29 06:33:24,399.399 INFO    ] Checking for camera pi updates...
[2026-08-29 06:33:24,421.421 INFO    ] 200
[2026-08-29 06:33:24,424.424 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:33:24,464.464 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:33:24,553.553 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:33:24,555.555 INFO    ] No camera update needed
[2026-08-29 06:33:24,558.558 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:33:24,560.560 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:33:24,566.566 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:33:24,571.571 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:33:26,612.612 INFO    ] ================================================
[2026-08-29 06:33:26,627.627 INFO    ] Launching Daemon at Sat Aug 29 06:33:26 IST 2026
[2026-08-29 06:33:26,639.639 INFO    ] ================================================
[2026-08-29 06:33:27,204.204 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:33:27
[2026-08-29 06:33:27,789.789 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:33:28,044.044 INFO    ] Initializing speech engine...
[2026-08-29 06:33:28,050.050 INFO    ] 2026-08-29 06:33:28
[2026-08-29 06:33:28,344.344 INFO    ] 2026-08-29 06:33:28
[2026-08-29 06:33:28,378.378 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:33:28,525.525 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:33:28,531.531 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:33:28,682.682 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:33:28,691.691 INFO    ] time= 29/08/2026 06:33:28
[2026-08-29 06:33:28,696.696 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:33:28,700.700 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:33:28,768.768 INFO    ] No existing commands found in stream
[2026-08-29 06:33:33,779.779 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:33:33,782.782 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-08-29 06:33:34,652.652 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:33:34,655.655 INFO    ] Checking for system updates...
[2026-08-29 06:33:34,690.690 INFO    ] 200
[2026-08-29 06:33:34,693.693 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:33:34,750.750 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:33:34,753.753 INFO    ] No update needed
[2026-08-29 06:33:34,755.755 INFO    ] Checking for camera pi updates...
[2026-08-29 06:33:34,792.792 INFO    ] 200
[2026-08-29 06:33:34,795.795 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:33:34,835.835 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:33:34,934.934 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:33:34,936.936 INFO    ] No camera update needed
[2026-08-29 06:33:34,938.938 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:33:34,940.940 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:33:34,946.946 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:33:34,951.951 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:33:36,990.990 INFO    ] ================================================
[2026-08-29 06:33:37,006.006 INFO    ] Launching Daemon at Sat Aug 29 06:33:37 IST 2026
[2026-08-29 06:33:37,017.017 INFO    ] ================================================
[2026-08-29 06:33:37,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:33:37
[2026-08-29 06:33:37,884.884 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:33:38,155.155 INFO    ] Initializing speech engine...
[2026-08-29 06:33:38,166.166 INFO    ] 2026-08-29 06:33:38
[2026-08-29 06:33:38,413.413 INFO    ] 2026-08-29 06:33:38
[2026-08-29 06:33:38,449.449 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:33:38,624.624 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:33:38,636.636 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:33:38,747.747 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:33:38,750.750 INFO    ] time= 29/08/2026 06:33:38
[2026-08-29 06:33:38,752.752 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:33:38,758.758 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:33:38,864.864 INFO    ] No existing commands found in stream
[2026-08-29 06:33:43,876.876 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:33:43,878.878 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-08-29 06:33:44,942.942 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:33:44,943.943 INFO    ] Checking for system updates...
[2026-08-29 06:33:44,964.964 INFO    ] 200
[2026-08-29 06:33:44,965.965 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:33:44,995.995 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:33:44,996.996 INFO    ] No update needed
[2026-08-29 06:33:44,998.998 INFO    ] Checking for camera pi updates...
[2026-08-29 06:33:45,018.018 INFO    ] 200
[2026-08-29 06:33:45,019.019 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:33:45,042.042 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:33:45,143.143 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:33:45,145.145 INFO    ] No camera update needed
[2026-08-29 06:33:45,146.146 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:33:45,147.147 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:33:45,150.150 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:33:45,153.153 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:33:47,192.192 INFO    ] ================================================
[2026-08-29 06:33:47,208.208 INFO    ] Launching Daemon at Sat Aug 29 06:33:47 IST 2026
[2026-08-29 06:33:47,218.218 INFO    ] ================================================
[2026-08-29 06:33:47,594.594 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:33:47
[2026-08-29 06:33:47,929.929 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:33:48,082.082 INFO    ] Initializing speech engine...
[2026-08-29 06:33:48,086.086 INFO    ] 2026-08-29 06:33:48
[2026-08-29 06:33:48,292.292 INFO    ] 2026-08-29 06:33:48
[2026-08-29 06:33:48,320.320 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:33:48,443.443 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:33:48,506.506 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:33:48,640.640 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:33:48,715.715 INFO    ] time= 29/08/2026 06:33:48
[2026-08-29 06:33:48,741.741 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:33:48,766.766 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:33:48,878.878 INFO    ] No existing commands found in stream
[2026-08-29 06:33:53,914.914 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:33:53,917.917 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-08-29 06:33:57,746.746 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:33:57,748.748 INFO    ] Checking for system updates...
[2026-08-29 06:33:57,768.768 INFO    ] 200
[2026-08-29 06:33:57,770.770 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:33:57,802.802 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:33:57,803.803 INFO    ] No update needed
[2026-08-29 06:33:57,805.805 INFO    ] Checking for camera pi updates...
[2026-08-29 06:33:57,826.826 INFO    ] 200
[2026-08-29 06:33:57,828.828 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:33:57,851.851 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:33:57,942.942 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:33:57,943.943 INFO    ] No camera update needed
[2026-08-29 06:33:57,945.945 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:33:57,946.946 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:33:57,949.949 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:33:57,952.952 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:33:59,990.990 INFO    ] ================================================
[2026-08-29 06:34:00,005.005 INFO    ] Launching Daemon at Sat Aug 29 06:34:00 IST 2026
[2026-08-29 06:34:00,016.016 INFO    ] ================================================
[2026-08-29 06:34:00,370.370 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:34:00
[2026-08-29 06:34:00,682.682 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:34:00,811.811 INFO    ] Initializing speech engine...
[2026-08-29 06:34:00,816.816 INFO    ] 2026-08-29 06:34:00
[2026-08-29 06:34:01,007.007 INFO    ] 2026-08-29 06:34:01
[2026-08-29 06:34:01,041.041 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:34:01,224.224 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:34:01,257.257 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:34:01,408.408 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:34:01,412.412 INFO    ] time= 29/08/2026 06:34:01
[2026-08-29 06:34:01,416.416 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:34:01,419.419 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:34:01,465.465 INFO    ] No existing commands found in stream
[2026-08-29 06:34:06,475.475 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:34:06,478.478 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 06:34:08,769.769 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:34:08,770.770 INFO    ] Checking for system updates...
[2026-08-29 06:34:08,791.791 INFO    ] 200
[2026-08-29 06:34:08,792.792 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:34:08,826.826 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:34:08,827.827 INFO    ] No update needed
[2026-08-29 06:34:08,829.829 INFO    ] Checking for camera pi updates...
[2026-08-29 06:34:08,848.848 INFO    ] 200
[2026-08-29 06:34:08,849.849 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:34:08,873.873 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:34:08,975.975 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:34:08,978.978 INFO    ] No camera update needed
[2026-08-29 06:34:08,980.980 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:34:08,982.982 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:34:08,987.987 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:34:08,993.993 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:34:11,034.034 INFO    ] ================================================
[2026-08-29 06:34:11,050.050 INFO    ] Launching Daemon at Sat Aug 29 06:34:11 IST 2026
[2026-08-29 06:34:11,060.060 INFO    ] ================================================
[2026-08-29 06:34:11,627.627 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:34:11
[2026-08-29 06:34:12,124.124 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:34:12,261.261 INFO    ] Initializing speech engine...
[2026-08-29 06:34:12,270.270 INFO    ] 2026-08-29 06:34:12
[2026-08-29 06:34:12,507.507 INFO    ] 2026-08-29 06:34:12
[2026-08-29 06:34:12,577.577 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:34:12,740.740 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:34:12,747.747 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:34:12,910.910 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:34:12,946.946 INFO    ] time= 29/08/2026 06:34:12
[2026-08-29 06:34:12,952.952 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:34:12,971.971 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:34:13,085.085 INFO    ] No existing commands found in stream
[2026-08-29 06:34:18,110.110 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:34:18,113.113 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-08-29 06:34:20,984.984 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:34:20,986.986 INFO    ] Checking for system updates...
[2026-08-29 06:34:21,006.006 INFO    ] 200
[2026-08-29 06:34:21,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:34:21,037.037 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:34:21,038.038 INFO    ] No update needed
[2026-08-29 06:34:21,040.040 INFO    ] Checking for camera pi updates...
[2026-08-29 06:34:21,059.059 INFO    ] 200
[2026-08-29 06:34:21,060.060 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:34:21,084.084 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:34:21,179.179 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:34:21,181.181 INFO    ] No camera update needed
[2026-08-29 06:34:21,182.182 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:34:21,183.183 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:34:21,186.186 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:34:21,189.189 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:34:23,227.227 INFO    ] ================================================
[2026-08-29 06:34:23,242.242 INFO    ] Launching Daemon at Sat Aug 29 06:34:23 IST 2026
[2026-08-29 06:34:23,253.253 INFO    ] ================================================
[2026-08-29 06:34:23,577.577 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:34:23
[2026-08-29 06:34:23,894.894 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:34:24,040.040 INFO    ] Initializing speech engine...
[2026-08-29 06:34:24,045.045 INFO    ] 2026-08-29 06:34:24
[2026-08-29 06:34:24,229.229 INFO    ] 2026-08-29 06:34:24
[2026-08-29 06:34:24,265.265 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:34:24,437.437 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:34:24,450.450 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:34:24,561.561 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:34:24,578.578 INFO    ] time= 29/08/2026 06:34:24
[2026-08-29 06:34:24,600.600 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:34:24,607.607 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:34:24,676.676 INFO    ] No existing commands found in stream
[2026-08-29 06:34:29,711.711 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:34:29,714.714 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-08-29 06:34:33,363.363 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:34:33,366.366 INFO    ] Checking for system updates...
[2026-08-29 06:34:33,401.401 INFO    ] 200
[2026-08-29 06:34:33,404.404 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:34:33,456.456 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:34:33,458.458 INFO    ] No update needed
[2026-08-29 06:34:33,461.461 INFO    ] Checking for camera pi updates...
[2026-08-29 06:34:33,497.497 INFO    ] 200
[2026-08-29 06:34:33,499.499 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:34:33,540.540 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:34:33,622.622 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:34:33,625.625 INFO    ] No camera update needed
[2026-08-29 06:34:33,627.627 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:34:33,629.629 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:34:33,635.635 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:34:33,640.640 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:34:35,680.680 INFO    ] ================================================
[2026-08-29 06:34:35,695.695 INFO    ] Launching Daemon at Sat Aug 29 06:34:35 IST 2026
[2026-08-29 06:34:35,706.706 INFO    ] ================================================
[2026-08-29 06:34:36,229.229 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:34:36
[2026-08-29 06:34:36,815.815 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:34:37,064.064 INFO    ] Initializing speech engine...
[2026-08-29 06:34:37,078.078 INFO    ] 2026-08-29 06:34:37
[2026-08-29 06:34:37,346.346 INFO    ] 2026-08-29 06:34:37
[2026-08-29 06:34:37,381.381 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:34:37,557.557 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:34:37,584.584 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:34:37,719.719 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:34:37,725.725 INFO    ] time= 29/08/2026 06:34:37
[2026-08-29 06:34:37,731.731 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:34:37,762.762 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:34:37,878.878 INFO    ] No existing commands found in stream
[2026-08-29 06:34:42,913.913 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:34:42,916.916 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-08-29 06:34:49,501.501 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:34:49,503.503 INFO    ] Checking for system updates...
[2026-08-29 06:34:49,524.524 INFO    ] 200
[2026-08-29 06:34:49,525.525 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:34:49,556.556 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:34:49,557.557 INFO    ] No update needed
[2026-08-29 06:34:49,558.558 INFO    ] Checking for camera pi updates...
[2026-08-29 06:34:49,578.578 INFO    ] 200
[2026-08-29 06:34:49,579.579 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:34:49,602.602 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:34:49,680.680 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:34:49,682.682 INFO    ] No camera update needed
[2026-08-29 06:34:49,683.683 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:34:49,684.684 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:34:49,687.687 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:34:49,690.690 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:34:51,728.728 INFO    ] ================================================
[2026-08-29 06:34:51,743.743 INFO    ] Launching Daemon at Sat Aug 29 06:34:51 IST 2026
[2026-08-29 06:34:51,753.753 INFO    ] ================================================
[2026-08-29 06:34:52,098.098 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:34:52
[2026-08-29 06:34:52,414.414 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:34:52,553.553 INFO    ] Initializing speech engine...
[2026-08-29 06:34:52,563.563 INFO    ] 2026-08-29 06:34:52
[2026-08-29 06:34:52,767.767 INFO    ] 2026-08-29 06:34:52
[2026-08-29 06:34:52,797.797 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:34:52,919.919 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:34:52,981.981 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:34:53,119.119 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:34:53,186.186 INFO    ] time= 29/08/2026 06:34:53
[2026-08-29 06:34:53,210.210 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:34:53,216.216 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:34:53,283.283 INFO    ] No existing commands found in stream
[2026-08-29 06:34:58,292.292 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:34:58,295.295 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-08-29 06:34:59,712.712 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:34:59,714.714 INFO    ] Checking for system updates...
[2026-08-29 06:34:59,734.734 INFO    ] 200
[2026-08-29 06:34:59,735.735 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:34:59,765.765 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:34:59,766.766 INFO    ] No update needed
[2026-08-29 06:34:59,768.768 INFO    ] Checking for camera pi updates...
[2026-08-29 06:34:59,789.789 INFO    ] 200
[2026-08-29 06:34:59,790.790 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:34:59,813.813 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:34:59,883.883 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:34:59,886.886 INFO    ] No camera update needed
[2026-08-29 06:34:59,888.888 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:34:59,890.890 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:34:59,896.896 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:34:59,901.901 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:35:01,951.951 INFO    ] ================================================
[2026-08-29 06:35:01,975.975 INFO    ] Launching Daemon at Sat Aug 29 06:35:01 IST 2026
[2026-08-29 06:35:01,992.992 INFO    ] ================================================
[2026-08-29 06:35:02,720.720 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:35:02
[2026-08-29 06:35:03,306.306 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:35:03,563.563 INFO    ] Initializing speech engine...
[2026-08-29 06:35:03,586.586 INFO    ] 2026-08-29 06:35:03
[2026-08-29 06:35:03,845.845 INFO    ] 2026-08-29 06:35:03
[2026-08-29 06:35:03,880.880 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:35:04,065.065 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:35:04,084.084 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:35:04,472.472 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:35:04,480.480 INFO    ] time= 29/08/2026 06:35:04
[2026-08-29 06:35:04,488.488 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:35:04,542.542 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:35:04,872.872 INFO    ] No existing commands found in stream
[2026-08-29 06:35:09,884.884 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:35:09,887.887 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-08-29 06:35:12,724.724 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:35:12,726.726 INFO    ] Checking for system updates...
[2026-08-29 06:35:12,773.773 INFO    ] 200
[2026-08-29 06:35:12,776.776 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:35:12,828.828 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:35:12,831.831 INFO    ] No update needed
[2026-08-29 06:35:12,833.833 INFO    ] Checking for camera pi updates...
[2026-08-29 06:35:12,867.867 INFO    ] 200
[2026-08-29 06:35:12,869.869 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:35:12,913.913 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:35:12,995.995 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:35:12,997.997 INFO    ] No camera update needed
[2026-08-29 06:35:12,999.999 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:35:13,002.002 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:35:13,007.007 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:35:13,012.012 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:35:15,051.051 INFO    ] ================================================
[2026-08-29 06:35:15,067.067 INFO    ] Launching Daemon at Sat Aug 29 06:35:15 IST 2026
[2026-08-29 06:35:15,077.077 INFO    ] ================================================
[2026-08-29 06:35:15,463.463 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:35:15
[2026-08-29 06:35:15,800.800 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:35:15,954.954 INFO    ] Initializing speech engine...
[2026-08-29 06:35:15,957.957 INFO    ] 2026-08-29 06:35:15
[2026-08-29 06:35:16,165.165 INFO    ] 2026-08-29 06:35:16
[2026-08-29 06:35:16,194.194 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:35:16,342.342 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:35:16,380.380 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:35:16,510.510 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:35:16,561.561 INFO    ] time= 29/08/2026 06:35:16
[2026-08-29 06:35:16,606.606 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:35:16,611.611 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:35:16,681.681 INFO    ] No existing commands found in stream
[2026-08-29 06:35:21,693.693 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:35:21,696.696 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-08-29 06:35:24,578.578 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:35:24,580.580 INFO    ] Checking for system updates...
[2026-08-29 06:35:24,600.600 INFO    ] 200
[2026-08-29 06:35:24,602.602 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:35:24,632.632 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:35:24,633.633 INFO    ] No update needed
[2026-08-29 06:35:24,635.635 INFO    ] Checking for camera pi updates...
[2026-08-29 06:35:24,655.655 INFO    ] 200
[2026-08-29 06:35:24,657.657 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:35:24,684.684 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:35:24,883.883 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:35:24,884.884 INFO    ] No camera update needed
[2026-08-29 06:35:24,886.886 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:35:24,887.887 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:35:24,890.890 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:35:24,893.893 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:35:26,932.932 INFO    ] ================================================
[2026-08-29 06:35:26,949.949 INFO    ] Launching Daemon at Sat Aug 29 06:35:26 IST 2026
[2026-08-29 06:35:26,960.960 INFO    ] ================================================
[2026-08-29 06:35:27,527.527 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:35:27
[2026-08-29 06:35:28,112.112 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:35:28,386.386 INFO    ] Initializing speech engine...
[2026-08-29 06:35:28,393.393 INFO    ] 2026-08-29 06:35:28
[2026-08-29 06:35:28,639.639 INFO    ] 2026-08-29 06:35:28
[2026-08-29 06:35:28,674.674 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:35:28,845.845 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:35:28,858.858 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:35:29,000.000 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:35:29,009.009 INFO    ] time= 29/08/2026 06:35:29
[2026-08-29 06:35:29,015.015 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:35:29,060.060 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:35:29,183.183 INFO    ] No existing commands found in stream
[2026-08-29 06:35:34,209.209 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:35:34,212.212 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-08-29 06:35:36,510.510 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:35:36,512.512 INFO    ] Checking for system updates...
[2026-08-29 06:35:36,533.533 INFO    ] 200
[2026-08-29 06:35:36,534.534 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:35:36,566.566 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:35:36,567.567 INFO    ] No update needed
[2026-08-29 06:35:36,569.569 INFO    ] Checking for camera pi updates...
[2026-08-29 06:35:36,588.588 INFO    ] 200
[2026-08-29 06:35:36,589.589 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:35:36,612.612 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:35:36,700.700 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:35:36,701.701 INFO    ] No camera update needed
[2026-08-29 06:35:36,702.702 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:35:36,703.703 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:35:36,706.706 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:35:36,709.709 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:35:38,750.750 INFO    ] ================================================
[2026-08-29 06:35:38,766.766 INFO    ] Launching Daemon at Sat Aug 29 06:35:38 IST 2026
[2026-08-29 06:35:38,776.776 INFO    ] ================================================
[2026-08-29 06:35:39,128.128 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:35:39
[2026-08-29 06:35:39,444.444 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:35:39,583.583 INFO    ] Initializing speech engine...
[2026-08-29 06:35:39,592.592 INFO    ] 2026-08-29 06:35:39
[2026-08-29 06:35:39,802.802 INFO    ] 2026-08-29 06:35:39
[2026-08-29 06:35:39,829.829 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:35:39,951.951 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:35:40,014.014 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:35:40,149.149 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:35:40,160.160 INFO    ] time= 29/08/2026 06:35:40
[2026-08-29 06:35:40,161.161 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:35:40,228.228 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:35:40,328.328 INFO    ] No existing commands found in stream
[2026-08-29 06:35:45,339.339 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:35:45,341.341 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-08-29 06:35:49,663.663 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:35:49,665.665 INFO    ] Checking for system updates...
[2026-08-29 06:35:49,686.686 INFO    ] 200
[2026-08-29 06:35:49,687.687 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:35:49,719.719 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:35:49,720.720 INFO    ] No update needed
[2026-08-29 06:35:49,722.722 INFO    ] Checking for camera pi updates...
[2026-08-29 06:35:49,742.742 INFO    ] 200
[2026-08-29 06:35:49,743.743 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:35:49,766.766 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:35:49,855.855 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:35:49,856.856 INFO    ] No camera update needed
[2026-08-29 06:35:49,857.857 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:35:49,858.858 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:35:49,861.861 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:35:49,864.864 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:35:51,903.903 INFO    ] ================================================
[2026-08-29 06:35:51,919.919 INFO    ] Launching Daemon at Sat Aug 29 06:35:51 IST 2026
[2026-08-29 06:35:51,929.929 INFO    ] ================================================
[2026-08-29 06:35:52,293.293 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:35:52
[2026-08-29 06:35:52,605.605 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:35:52,736.736 INFO    ] Initializing speech engine...
[2026-08-29 06:35:52,744.744 INFO    ] 2026-08-29 06:35:52
[2026-08-29 06:35:52,957.957 INFO    ] 2026-08-29 06:35:52
[2026-08-29 06:35:52,988.988 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:35:53,153.153 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:35:53,160.160 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:35:53,294.294 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:35:53,313.313 INFO    ] time= 29/08/2026 06:35:53
[2026-08-29 06:35:53,342.342 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:35:53,349.349 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:35:53,448.448 INFO    ] No existing commands found in stream
[2026-08-29 06:35:58,465.465 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:35:58,468.468 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 06:36:00,837.837 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:36:00,838.838 INFO    ] Checking for system updates...
[2026-08-29 06:36:00,860.860 INFO    ] 200
[2026-08-29 06:36:00,862.862 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:36:00,894.894 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:36:00,895.895 INFO    ] No update needed
[2026-08-29 06:36:00,896.896 INFO    ] Checking for camera pi updates...
[2026-08-29 06:36:00,915.915 INFO    ] 200
[2026-08-29 06:36:00,916.916 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:36:00,942.942 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:36:01,024.024 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:36:01,025.025 INFO    ] No camera update needed
[2026-08-29 06:36:01,026.026 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:36:01,027.027 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:36:01,030.030 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:36:01,033.033 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:36:03,075.075 INFO    ] ================================================
[2026-08-29 06:36:03,093.093 INFO    ] Launching Daemon at Sat Aug 29 06:36:03 IST 2026
[2026-08-29 06:36:03,105.105 INFO    ] ================================================
[2026-08-29 06:36:03,675.675 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:36:03
[2026-08-29 06:36:04,268.268 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:36:04,537.537 INFO    ] Initializing speech engine...
[2026-08-29 06:36:04,546.546 INFO    ] 2026-08-29 06:36:04
[2026-08-29 06:36:04,793.793 INFO    ] 2026-08-29 06:36:04
[2026-08-29 06:36:04,829.829 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:36:04,984.984 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:36:04,995.995 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:36:05,165.165 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:36:05,172.172 INFO    ] time= 29/08/2026 06:36:05
[2026-08-29 06:36:05,189.189 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:36:05,218.218 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:36:05,320.320 INFO    ] No existing commands found in stream
[2026-08-29 06:36:10,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:36:10,337.337 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-08-29 06:36:12,241.241 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:36:12,242.242 INFO    ] Checking for system updates...
[2026-08-29 06:36:12,263.263 INFO    ] 200
[2026-08-29 06:36:12,264.264 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:36:12,294.294 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:36:12,296.296 INFO    ] No update needed
[2026-08-29 06:36:12,297.297 INFO    ] Checking for camera pi updates...
[2026-08-29 06:36:12,316.316 INFO    ] 200
[2026-08-29 06:36:12,317.317 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:36:12,340.340 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:36:12,419.419 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:36:12,420.420 INFO    ] No camera update needed
[2026-08-29 06:36:12,422.422 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:36:12,423.423 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:36:12,426.426 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:36:12,428.428 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:36:14,469.469 INFO    ] ================================================
[2026-08-29 06:36:14,484.484 INFO    ] Launching Daemon at Sat Aug 29 06:36:14 IST 2026
[2026-08-29 06:36:14,496.496 INFO    ] ================================================
[2026-08-29 06:36:14,886.886 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:36:14
[2026-08-29 06:36:15,225.225 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:36:15,377.377 INFO    ] Initializing speech engine...
[2026-08-29 06:36:15,383.383 INFO    ] 2026-08-29 06:36:15
[2026-08-29 06:36:15,593.593 INFO    ] 2026-08-29 06:36:15
[2026-08-29 06:36:15,623.623 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:36:15,747.747 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:36:15,805.805 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:36:15,957.957 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:36:16,020.020 INFO    ] time= 29/08/2026 06:36:15
[2026-08-29 06:36:16,045.045 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:36:16,052.052 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:36:16,118.118 INFO    ] No existing commands found in stream
[2026-08-29 06:36:21,129.129 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:36:21,133.133 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-08-29 06:36:25,268.268 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:36:25,269.269 INFO    ] Checking for system updates...
[2026-08-29 06:36:25,291.291 INFO    ] 200
[2026-08-29 06:36:25,293.293 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:36:25,325.325 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:36:25,327.327 INFO    ] No update needed
[2026-08-29 06:36:25,328.328 INFO    ] Checking for camera pi updates...
[2026-08-29 06:36:25,349.349 INFO    ] 200
[2026-08-29 06:36:25,350.350 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:36:25,374.374 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:36:25,463.463 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:36:25,464.464 INFO    ] No camera update needed
[2026-08-29 06:36:25,466.466 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:36:25,467.467 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:36:25,470.470 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:36:25,474.474 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:36:27,514.514 INFO    ] ================================================
[2026-08-29 06:36:27,529.529 INFO    ] Launching Daemon at Sat Aug 29 06:36:27 IST 2026
[2026-08-29 06:36:27,539.539 INFO    ] ================================================
[2026-08-29 06:36:27,914.914 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:36:27
[2026-08-29 06:36:28,289.289 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:36:28,570.570 INFO    ] Initializing speech engine...
[2026-08-29 06:36:28,577.577 INFO    ] 2026-08-29 06:36:28
[2026-08-29 06:36:28,835.835 INFO    ] 2026-08-29 06:36:28
[2026-08-29 06:36:28,893.893 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:36:29,118.118 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:36:29,127.127 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:36:29,263.263 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:36:29,302.302 INFO    ] time= 29/08/2026 06:36:29
[2026-08-29 06:36:29,361.361 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:36:29,394.394 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:36:29,454.454 INFO    ] No existing commands found in stream
[2026-08-29 06:36:34,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:36:34,477.477 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-08-29 06:36:36,993.993 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:36:36,994.994 INFO    ] Checking for system updates...
[2026-08-29 06:36:37,016.016 INFO    ] 200
[2026-08-29 06:36:37,017.017 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:36:37,047.047 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:36:37,049.049 INFO    ] No update needed
[2026-08-29 06:36:37,050.050 INFO    ] Checking for camera pi updates...
[2026-08-29 06:36:37,071.071 INFO    ] 200
[2026-08-29 06:36:37,072.072 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:36:37,095.095 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:36:37,192.192 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:36:37,194.194 INFO    ] No camera update needed
[2026-08-29 06:36:37,195.195 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:36:37,196.196 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:36:37,199.199 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:36:37,202.202 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:36:39,242.242 INFO    ] ================================================
[2026-08-29 06:36:39,257.257 INFO    ] Launching Daemon at Sat Aug 29 06:36:39 IST 2026
[2026-08-29 06:36:39,268.268 INFO    ] ================================================
[2026-08-29 06:36:39,613.613 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:36:39
[2026-08-29 06:36:39,926.926 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:36:40,057.057 INFO    ] Initializing speech engine...
[2026-08-29 06:36:40,061.061 INFO    ] 2026-08-29 06:36:40
[2026-08-29 06:36:40,281.281 INFO    ] 2026-08-29 06:36:40
[2026-08-29 06:36:40,310.310 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:36:40,434.434 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:36:40,471.471 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:36:40,630.630 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:36:40,686.686 INFO    ] time= 29/08/2026 06:36:40
[2026-08-29 06:36:40,726.726 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:36:40,732.732 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:36:40,803.803 INFO    ] No existing commands found in stream
[2026-08-29 06:36:45,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:36:45,816.816 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-08-29 06:36:46,649.649 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:36:46,652.652 INFO    ] Checking for system updates...
[2026-08-29 06:36:46,688.688 INFO    ] 200
[2026-08-29 06:36:46,690.690 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:36:46,743.743 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:36:46,745.745 INFO    ] No update needed
[2026-08-29 06:36:46,748.748 INFO    ] Checking for camera pi updates...
[2026-08-29 06:36:46,781.781 INFO    ] 200
[2026-08-29 06:36:46,784.784 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:36:46,825.825 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:36:46,904.904 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:36:46,907.907 INFO    ] No camera update needed
[2026-08-29 06:36:46,909.909 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:36:46,911.911 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:36:46,917.917 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:36:46,921.921 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:36:48,961.961 INFO    ] ================================================
[2026-08-29 06:36:48,976.976 INFO    ] Launching Daemon at Sat Aug 29 06:36:48 IST 2026
[2026-08-29 06:36:48,987.987 INFO    ] ================================================
[2026-08-29 06:36:49,357.357 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:36:49
[2026-08-29 06:36:49,686.686 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:36:49,830.830 INFO    ] Initializing speech engine...
[2026-08-29 06:36:49,835.835 INFO    ] 2026-08-29 06:36:49
[2026-08-29 06:36:50,041.041 INFO    ] 2026-08-29 06:36:50
[2026-08-29 06:36:50,070.070 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:36:50,193.193 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:36:50,232.232 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:36:50,391.391 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:36:50,454.454 INFO    ] time= 29/08/2026 06:36:50
[2026-08-29 06:36:50,490.490 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:36:50,534.534 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:36:50,651.651 INFO    ] No existing commands found in stream
[2026-08-29 06:36:55,682.682 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:36:55,690.690 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-08-29 06:36:59,917.917 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:36:59,918.918 INFO    ] Checking for system updates...
[2026-08-29 06:36:59,938.938 INFO    ] 200
[2026-08-29 06:36:59,940.940 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:36:59,969.969 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:36:59,970.970 INFO    ] No update needed
[2026-08-29 06:36:59,972.972 INFO    ] Checking for camera pi updates...
[2026-08-29 06:36:59,991.991 INFO    ] 200
[2026-08-29 06:36:59,992.992 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:37:00,015.015 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:37:00,090.090 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:37:00,091.091 INFO    ] No camera update needed
[2026-08-29 06:37:00,093.093 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:37:00,094.094 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:37:00,097.097 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:37:00,099.099 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:37:02,141.141 INFO    ] ================================================
[2026-08-29 06:37:02,159.159 INFO    ] Launching Daemon at Sat Aug 29 06:37:02 IST 2026
[2026-08-29 06:37:02,177.177 INFO    ] ================================================
[2026-08-29 06:37:02,829.829 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:37:02
[2026-08-29 06:37:03,446.446 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:37:03,719.719 INFO    ] Initializing speech engine...
[2026-08-29 06:37:03,727.727 INFO    ] 2026-08-29 06:37:03
[2026-08-29 06:37:03,977.977 INFO    ] 2026-08-29 06:37:03
[2026-08-29 06:37:04,013.013 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:37:04,184.184 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:37:04,196.196 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:37:04,338.338 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:37:04,346.346 INFO    ] time= 29/08/2026 06:37:04
[2026-08-29 06:37:04,353.353 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:37:04,400.400 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:37:04,522.522 INFO    ] No existing commands found in stream
[2026-08-29 06:37:09,547.547 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:37:09,550.550 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-08-29 06:37:11,505.505 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:37:11,507.507 INFO    ] Checking for system updates...
[2026-08-29 06:37:11,527.527 INFO    ] 200
[2026-08-29 06:37:11,528.528 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:37:11,561.561 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:37:11,562.562 INFO    ] No update needed
[2026-08-29 06:37:11,564.564 INFO    ] Checking for camera pi updates...
[2026-08-29 06:37:11,583.583 INFO    ] 200
[2026-08-29 06:37:11,585.585 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:37:11,609.609 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:37:11,697.697 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:37:11,699.699 INFO    ] No camera update needed
[2026-08-29 06:37:11,700.700 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:37:11,701.701 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:37:11,704.704 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:37:11,707.707 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:37:13,747.747 INFO    ] ================================================
[2026-08-29 06:37:13,763.763 INFO    ] Launching Daemon at Sat Aug 29 06:37:13 IST 2026
[2026-08-29 06:37:13,773.773 INFO    ] ================================================
[2026-08-29 06:37:14,161.161 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:37:14
[2026-08-29 06:37:14,649.649 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:37:14,944.944 INFO    ] Initializing speech engine...
[2026-08-29 06:37:14,952.952 INFO    ] 2026-08-29 06:37:14
[2026-08-29 06:37:15,201.201 INFO    ] 2026-08-29 06:37:15
[2026-08-29 06:37:15,271.271 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:37:15,496.496 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:37:15,507.507 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:37:15,643.643 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:37:15,649.649 INFO    ] time= 29/08/2026 06:37:15
[2026-08-29 06:37:15,703.703 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:37:15,763.763 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:37:15,832.832 INFO    ] No existing commands found in stream
[2026-08-29 06:37:20,844.844 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:37:20,847.847 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-08-29 06:37:22,889.889 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:37:22,890.890 INFO    ] Checking for system updates...
[2026-08-29 06:37:22,911.911 INFO    ] 200
[2026-08-29 06:37:22,913.913 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:37:22,943.943 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:37:22,945.945 INFO    ] No update needed
[2026-08-29 06:37:22,946.946 INFO    ] Checking for camera pi updates...
[2026-08-29 06:37:22,965.965 INFO    ] 200
[2026-08-29 06:37:22,967.967 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:37:22,990.990 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:37:23,096.096 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:37:23,097.097 INFO    ] No camera update needed
[2026-08-29 06:37:23,098.098 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:37:23,100.100 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:37:23,103.103 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:37:23,106.106 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:37:25,146.146 INFO    ] ================================================
[2026-08-29 06:37:25,161.161 INFO    ] Launching Daemon at Sat Aug 29 06:37:25 IST 2026
[2026-08-29 06:37:25,171.171 INFO    ] ================================================
[2026-08-29 06:37:25,530.530 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:37:25
[2026-08-29 06:37:25,852.852 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:37:25,982.982 INFO    ] Initializing speech engine...
[2026-08-29 06:37:25,986.986 INFO    ] 2026-08-29 06:37:25
[2026-08-29 06:37:26,220.220 INFO    ] 2026-08-29 06:37:26
[2026-08-29 06:37:26,255.255 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:37:26,405.405 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:37:26,411.411 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:37:26,571.571 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:37:26,580.580 INFO    ] time= 29/08/2026 06:37:26
[2026-08-29 06:37:26,584.584 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:37:26,589.589 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:37:26,662.662 INFO    ] No existing commands found in stream
[2026-08-29 06:37:31,672.672 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:37:31,674.674 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-08-29 06:37:33,934.934 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:37:33,937.937 INFO    ] Checking for system updates...
[2026-08-29 06:37:33,973.973 INFO    ] 200
[2026-08-29 06:37:33,975.975 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:37:34,027.027 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:37:34,029.029 INFO    ] No update needed
[2026-08-29 06:37:34,032.032 INFO    ] Checking for camera pi updates...
[2026-08-29 06:37:34,070.070 INFO    ] 200
[2026-08-29 06:37:34,073.073 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:37:34,114.114 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:37:34,198.198 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:37:34,200.200 INFO    ] No camera update needed
[2026-08-29 06:37:34,203.203 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:37:34,206.206 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:37:34,212.212 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:37:34,218.218 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:37:36,260.260 INFO    ] ================================================
[2026-08-29 06:37:36,275.275 INFO    ] Launching Daemon at Sat Aug 29 06:37:36 IST 2026
[2026-08-29 06:37:36,286.286 INFO    ] ================================================
[2026-08-29 06:37:36,652.652 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:37:36
[2026-08-29 06:37:37,075.075 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:37:37,340.340 INFO    ] Initializing speech engine...
[2026-08-29 06:37:37,355.355 INFO    ] 2026-08-29 06:37:37
[2026-08-29 06:37:37,649.649 INFO    ] 2026-08-29 06:37:37
[2026-08-29 06:37:37,685.685 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:37:37,884.884 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:37:37,890.890 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:37:38,023.023 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:37:38,028.028 INFO    ] time= 29/08/2026 06:37:38
[2026-08-29 06:37:38,035.035 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:37:38,053.053 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:37:38,158.158 INFO    ] No existing commands found in stream
[2026-08-29 06:37:43,169.169 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:37:43,171.171 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-08-29 06:37:45,825.825 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:37:45,826.826 INFO    ] Checking for system updates...
[2026-08-29 06:37:45,847.847 INFO    ] 200
[2026-08-29 06:37:45,849.849 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:37:45,879.879 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:37:45,880.880 INFO    ] No update needed
[2026-08-29 06:37:45,882.882 INFO    ] Checking for camera pi updates...
[2026-08-29 06:37:45,903.903 INFO    ] 200
[2026-08-29 06:37:45,904.904 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:37:45,929.929 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:37:46,056.056 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:37:46,058.058 INFO    ] No camera update needed
[2026-08-29 06:37:46,059.059 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:37:46,060.060 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:37:46,066.066 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:37:46,069.069 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:37:48,108.108 INFO    ] ================================================
[2026-08-29 06:37:48,123.123 INFO    ] Launching Daemon at Sat Aug 29 06:37:48 IST 2026
[2026-08-29 06:37:48,135.135 INFO    ] ================================================
[2026-08-29 06:37:48,481.481 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:37:48
[2026-08-29 06:37:49,009.009 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:37:49,277.277 INFO    ] Initializing speech engine...
[2026-08-29 06:37:49,286.286 INFO    ] 2026-08-29 06:37:49
[2026-08-29 06:37:49,533.533 INFO    ] 2026-08-29 06:37:49
[2026-08-29 06:37:49,597.597 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:37:49,740.740 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:37:49,752.752 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:37:49,892.892 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:37:49,900.900 INFO    ] time= 29/08/2026 06:37:49
[2026-08-29 06:37:49,906.906 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:37:49,957.957 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:37:50,074.074 INFO    ] No existing commands found in stream
[2026-08-29 06:37:55,105.105 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:37:55,107.107 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-08-29 06:37:56,174.174 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:37:56,177.177 INFO    ] Checking for system updates...
[2026-08-29 06:37:56,213.213 INFO    ] 200
[2026-08-29 06:37:56,215.215 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:37:56,247.247 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:37:56,248.248 INFO    ] No update needed
[2026-08-29 06:37:56,249.249 INFO    ] Checking for camera pi updates...
[2026-08-29 06:37:56,268.268 INFO    ] 200
[2026-08-29 06:37:56,269.269 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:37:56,292.292 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:37:56,367.367 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:37:56,369.369 INFO    ] No camera update needed
[2026-08-29 06:37:56,370.370 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:37:56,371.371 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:37:56,374.374 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:37:56,377.377 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:37:58,416.416 INFO    ] ================================================
[2026-08-29 06:37:58,433.433 INFO    ] Launching Daemon at Sat Aug 29 06:37:58 IST 2026
[2026-08-29 06:37:58,444.444 INFO    ] ================================================
[2026-08-29 06:37:58,810.810 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:37:58
[2026-08-29 06:37:59,124.124 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:37:59,384.384 INFO    ] Initializing speech engine...
[2026-08-29 06:37:59,393.393 INFO    ] 2026-08-29 06:37:59
[2026-08-29 06:37:59,640.640 INFO    ] 2026-08-29 06:37:59
[2026-08-29 06:37:59,675.675 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:37:59,847.847 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:37:59,860.860 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:38:00,000.000 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:38:00,009.009 INFO    ] time= 29/08/2026 06:38:00
[2026-08-29 06:38:00,015.015 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:38:00,035.035 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:38:00,161.161 INFO    ] No existing commands found in stream
[2026-08-29 06:38:05,186.186 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:38:05,188.188 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-08-29 06:38:08,443.443 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:38:08,444.444 INFO    ] Checking for system updates...
[2026-08-29 06:38:08,465.465 INFO    ] 200
[2026-08-29 06:38:08,466.466 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:38:08,495.495 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:38:08,496.496 INFO    ] No update needed
[2026-08-29 06:38:08,498.498 INFO    ] Checking for camera pi updates...
[2026-08-29 06:38:08,517.517 INFO    ] 200
[2026-08-29 06:38:08,518.518 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:38:08,541.541 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:38:08,625.625 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:38:08,627.627 INFO    ] No camera update needed
[2026-08-29 06:38:08,628.628 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:38:08,630.630 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:38:08,634.634 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:38:08,636.636 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:38:10,677.677 INFO    ] ================================================
[2026-08-29 06:38:10,692.692 INFO    ] Launching Daemon at Sat Aug 29 06:38:10 IST 2026
[2026-08-29 06:38:10,704.704 INFO    ] ================================================
[2026-08-29 06:38:11,070.070 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:38:11
[2026-08-29 06:38:11,386.386 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:38:11,537.537 INFO    ] Initializing speech engine...
[2026-08-29 06:38:11,544.544 INFO    ] 2026-08-29 06:38:11
[2026-08-29 06:38:11,748.748 INFO    ] 2026-08-29 06:38:11
[2026-08-29 06:38:11,778.778 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:38:11,905.905 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:38:11,963.963 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:38:12,100.100 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:38:12,167.167 INFO    ] time= 29/08/2026 06:38:12
[2026-08-29 06:38:12,191.191 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:38:12,197.197 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:38:12,263.263 INFO    ] No existing commands found in stream
[2026-08-29 06:38:17,274.274 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:38:17,277.277 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-08-29 06:38:18,502.502 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:38:18,504.504 INFO    ] Checking for system updates...
[2026-08-29 06:38:18,524.524 INFO    ] 200
[2026-08-29 06:38:18,526.526 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:38:18,559.559 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:38:18,560.560 INFO    ] No update needed
[2026-08-29 06:38:18,561.561 INFO    ] Checking for camera pi updates...
[2026-08-29 06:38:18,581.581 INFO    ] 200
[2026-08-29 06:38:18,582.582 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:38:18,605.605 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:38:18,680.680 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:38:18,681.681 INFO    ] No camera update needed
[2026-08-29 06:38:18,682.682 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:38:18,683.683 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:38:18,686.686 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:38:18,689.689 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:38:20,728.728 INFO    ] ================================================
[2026-08-29 06:38:20,743.743 INFO    ] Launching Daemon at Sat Aug 29 06:38:20 IST 2026
[2026-08-29 06:38:20,754.754 INFO    ] ================================================
[2026-08-29 06:38:21,103.103 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:38:21
[2026-08-29 06:38:21,422.422 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:38:21,572.572 INFO    ] Initializing speech engine...
[2026-08-29 06:38:21,578.578 INFO    ] 2026-08-29 06:38:21
[2026-08-29 06:38:21,778.778 INFO    ] 2026-08-29 06:38:21
[2026-08-29 06:38:21,873.873 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:38:22,044.044 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:38:22,055.055 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:38:22,210.210 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:38:22,222.222 INFO    ] time= 29/08/2026 06:38:22
[2026-08-29 06:38:22,292.292 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:38:22,357.357 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:38:22,422.422 INFO    ] No existing commands found in stream
[2026-08-29 06:38:27,434.434 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:38:27,437.437 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-08-29 06:38:30,011.011 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:38:30,013.013 INFO    ] Checking for system updates...
[2026-08-29 06:38:30,049.049 INFO    ] 200
[2026-08-29 06:38:30,052.052 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:38:30,104.104 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:38:30,106.106 INFO    ] No update needed
[2026-08-29 06:38:30,109.109 INFO    ] Checking for camera pi updates...
[2026-08-29 06:38:30,142.142 INFO    ] 200
[2026-08-29 06:38:30,145.145 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:38:30,188.188 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:38:30,286.286 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:38:30,289.289 INFO    ] No camera update needed
[2026-08-29 06:38:30,291.291 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:38:30,294.294 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:38:30,299.299 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:38:30,304.304 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:38:32,345.345 INFO    ] ================================================
[2026-08-29 06:38:32,360.360 INFO    ] Launching Daemon at Sat Aug 29 06:38:32 IST 2026
[2026-08-29 06:38:32,371.371 INFO    ] ================================================
[2026-08-29 06:38:32,939.939 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:38:32
[2026-08-29 06:38:33,524.524 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:38:33,773.773 INFO    ] Initializing speech engine...
[2026-08-29 06:38:33,780.780 INFO    ] 2026-08-29 06:38:33
[2026-08-29 06:38:34,055.055 INFO    ] 2026-08-29 06:38:34
[2026-08-29 06:38:34,091.091 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:38:34,267.267 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:38:34,280.280 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:38:34,406.406 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:38:34,411.411 INFO    ] time= 29/08/2026 06:38:34
[2026-08-29 06:38:34,432.432 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:38:34,454.454 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:38:34,536.536 INFO    ] No existing commands found in stream
[2026-08-29 06:38:39,549.549 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:38:39,551.551 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 06:38:41,886.886 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:38:41,888.888 INFO    ] Checking for system updates...
[2026-08-29 06:38:41,909.909 INFO    ] 200
[2026-08-29 06:38:41,910.910 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:38:41,941.941 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:38:41,942.942 INFO    ] No update needed
[2026-08-29 06:38:41,944.944 INFO    ] Checking for camera pi updates...
[2026-08-29 06:38:41,964.964 INFO    ] 200
[2026-08-29 06:38:41,966.966 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:38:41,990.990 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:38:42,144.144 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:38:42,147.147 INFO    ] No camera update needed
[2026-08-29 06:38:42,150.150 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:38:42,153.153 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:38:42,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:38:42,164.164 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:38:44,212.212 INFO    ] ================================================
[2026-08-29 06:38:44,228.228 INFO    ] Launching Daemon at Sat Aug 29 06:38:44 IST 2026
[2026-08-29 06:38:44,243.243 INFO    ] ================================================
[2026-08-29 06:38:44,831.831 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:38:44
[2026-08-29 06:38:45,196.196 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:38:45,340.340 INFO    ] Initializing speech engine...
[2026-08-29 06:38:45,351.351 INFO    ] 2026-08-29 06:38:45
[2026-08-29 06:38:45,568.568 INFO    ] 2026-08-29 06:38:45
[2026-08-29 06:38:45,599.599 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:38:45,731.731 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:38:45,789.789 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:38:45,953.953 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:38:46,018.018 INFO    ] time= 29/08/2026 06:38:45
[2026-08-29 06:38:46,044.044 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:38:46,046.046 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:38:46,122.122 INFO    ] No existing commands found in stream
[2026-08-29 06:38:51,133.133 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:38:51,136.136 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-08-29 06:38:54,789.789 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:38:54,790.790 INFO    ] Checking for system updates...
[2026-08-29 06:38:54,811.811 INFO    ] 200
[2026-08-29 06:38:54,812.812 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:38:54,844.844 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:38:54,845.845 INFO    ] No update needed
[2026-08-29 06:38:54,846.846 INFO    ] Checking for camera pi updates...
[2026-08-29 06:38:54,869.869 INFO    ] 200
[2026-08-29 06:38:54,870.870 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:38:54,893.893 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:38:54,971.971 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:38:54,972.972 INFO    ] No camera update needed
[2026-08-29 06:38:54,973.973 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:38:54,975.975 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:38:54,977.977 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:38:54,980.980 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:38:57,019.019 INFO    ] ================================================
[2026-08-29 06:38:57,035.035 INFO    ] Launching Daemon at Sat Aug 29 06:38:57 IST 2026
[2026-08-29 06:38:57,046.046 INFO    ] ================================================
[2026-08-29 06:38:57,434.434 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:38:57
[2026-08-29 06:38:57,771.771 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:38:57,924.924 INFO    ] Initializing speech engine...
[2026-08-29 06:38:57,927.927 INFO    ] 2026-08-29 06:38:57
[2026-08-29 06:38:58,132.132 INFO    ] 2026-08-29 06:38:58
[2026-08-29 06:38:58,161.161 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:38:58,354.354 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:38:58,372.372 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:38:58,518.518 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:38:58,567.567 INFO    ] time= 29/08/2026 06:38:58
[2026-08-29 06:38:58,619.619 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:38:58,637.637 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:38:58,746.746 INFO    ] No existing commands found in stream
[2026-08-29 06:39:03,775.775 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:39:03,778.778 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-08-29 06:39:06,304.304 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:39:06,305.305 INFO    ] Checking for system updates...
[2026-08-29 06:39:06,326.326 INFO    ] 200
[2026-08-29 06:39:06,327.327 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:39:06,357.357 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:39:06,358.358 INFO    ] No update needed
[2026-08-29 06:39:06,360.360 INFO    ] Checking for camera pi updates...
[2026-08-29 06:39:06,379.379 INFO    ] 200
[2026-08-29 06:39:06,380.380 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:39:06,404.404 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:39:06,489.489 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:39:06,491.491 INFO    ] No camera update needed
[2026-08-29 06:39:06,492.492 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:39:06,493.493 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:39:06,497.497 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:39:06,500.500 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:39:08,540.540 INFO    ] ================================================
[2026-08-29 06:39:08,555.555 INFO    ] Launching Daemon at Sat Aug 29 06:39:08 IST 2026
[2026-08-29 06:39:08,566.566 INFO    ] ================================================
[2026-08-29 06:39:08,898.898 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:39:08
[2026-08-29 06:39:09,454.454 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:39:09,707.707 INFO    ] Initializing speech engine...
[2026-08-29 06:39:09,713.713 INFO    ] 2026-08-29 06:39:09
[2026-08-29 06:39:10,010.010 INFO    ] 2026-08-29 06:39:09
[2026-08-29 06:39:10,035.035 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:39:10,192.192 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:39:10,198.198 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:39:10,348.348 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:39:10,359.359 INFO    ] time= 29/08/2026 06:39:10
[2026-08-29 06:39:10,365.365 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:39:10,387.387 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:39:10,440.440 INFO    ] No existing commands found in stream
[2026-08-29 06:39:15,450.450 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:39:15,453.453 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-08-29 06:39:19,384.384 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:39:19,385.385 INFO    ] Checking for system updates...
[2026-08-29 06:39:19,406.406 INFO    ] 200
[2026-08-29 06:39:19,407.407 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:39:19,440.440 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:39:19,442.442 INFO    ] No update needed
[2026-08-29 06:39:19,443.443 INFO    ] Checking for camera pi updates...
[2026-08-29 06:39:19,464.464 INFO    ] 200
[2026-08-29 06:39:19,465.465 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:39:19,489.489 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:39:19,602.602 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:39:19,604.604 INFO    ] No camera update needed
[2026-08-29 06:39:19,605.605 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:39:19,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:39:19,609.609 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:39:19,612.612 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:39:21,650.650 INFO    ] ================================================
[2026-08-29 06:39:21,666.666 INFO    ] Launching Daemon at Sat Aug 29 06:39:21 IST 2026
[2026-08-29 06:39:21,677.677 INFO    ] ================================================
[2026-08-29 06:39:22,046.046 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:39:22
[2026-08-29 06:39:22,357.357 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:39:22,498.498 INFO    ] Initializing speech engine...
[2026-08-29 06:39:22,507.507 INFO    ] 2026-08-29 06:39:22
[2026-08-29 06:39:22,745.745 INFO    ] 2026-08-29 06:39:22
[2026-08-29 06:39:22,781.781 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:39:22,976.976 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:39:22,982.982 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:39:23,113.113 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:39:23,118.118 INFO    ] time= 29/08/2026 06:39:23
[2026-08-29 06:39:23,125.125 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:39:23,145.145 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:39:23,246.246 INFO    ] No existing commands found in stream
[2026-08-29 06:39:28,256.256 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:39:28,259.259 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-08-29 06:39:30,465.465 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:39:30,467.467 INFO    ] Checking for system updates...
[2026-08-29 06:39:30,490.490 INFO    ] 200
[2026-08-29 06:39:30,492.492 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:39:30,575.575 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:39:30,578.578 INFO    ] No update needed
[2026-08-29 06:39:30,581.581 INFO    ] Checking for camera pi updates...
[2026-08-29 06:39:30,618.618 INFO    ] 200
[2026-08-29 06:39:30,621.621 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:39:30,667.667 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:39:30,717.717 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:39:30,719.719 INFO    ] No camera update needed
[2026-08-29 06:39:30,722.722 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:39:30,724.724 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:39:30,730.730 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:39:30,735.735 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:39:32,776.776 INFO    ] ================================================
[2026-08-29 06:39:32,794.794 INFO    ] Launching Daemon at Sat Aug 29 06:39:32 IST 2026
[2026-08-29 06:39:32,806.806 INFO    ] ================================================
[2026-08-29 06:39:33,396.396 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:39:33
[2026-08-29 06:39:33,826.826 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:39:33,969.969 INFO    ] Initializing speech engine...
[2026-08-29 06:39:33,978.978 INFO    ] 2026-08-29 06:39:33
[2026-08-29 06:39:34,186.186 INFO    ] 2026-08-29 06:39:34
[2026-08-29 06:39:34,245.245 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:39:34,475.475 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:39:34,485.485 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:39:34,624.624 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:39:34,669.669 INFO    ] time= 29/08/2026 06:39:34
[2026-08-29 06:39:34,724.724 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:39:34,762.762 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:39:34,819.819 INFO    ] No existing commands found in stream
[2026-08-29 06:39:39,832.832 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:39:39,835.835 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-08-29 06:39:43,443.443 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:39:43,444.444 INFO    ] Checking for system updates...
[2026-08-29 06:39:43,465.465 INFO    ] 200
[2026-08-29 06:39:43,466.466 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:39:43,496.496 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:39:43,498.498 INFO    ] No update needed
[2026-08-29 06:39:43,499.499 INFO    ] Checking for camera pi updates...
[2026-08-29 06:39:43,519.519 INFO    ] 200
[2026-08-29 06:39:43,520.520 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:39:43,544.544 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:39:43,621.621 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:39:43,623.623 INFO    ] No camera update needed
[2026-08-29 06:39:43,624.624 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:39:43,625.625 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:39:43,628.628 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:39:43,631.631 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:39:45,671.671 INFO    ] ================================================
[2026-08-29 06:39:45,686.686 INFO    ] Launching Daemon at Sat Aug 29 06:39:45 IST 2026
[2026-08-29 06:39:45,697.697 INFO    ] ================================================
[2026-08-29 06:39:46,066.066 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:39:46
[2026-08-29 06:39:46,408.408 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:39:46,680.680 INFO    ] Initializing speech engine...
[2026-08-29 06:39:46,689.689 INFO    ] 2026-08-29 06:39:46
[2026-08-29 06:39:46,947.947 INFO    ] 2026-08-29 06:39:46
[2026-08-29 06:39:47,006.006 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:39:47,170.170 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:39:47,192.192 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:39:47,318.318 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:39:47,374.374 INFO    ] time= 29/08/2026 06:39:47
[2026-08-29 06:39:47,385.385 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:39:47,449.449 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:39:47,526.526 INFO    ] No existing commands found in stream
[2026-08-29 06:39:52,537.537 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:39:52,540.540 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-08-29 06:39:55,449.449 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:39:55,450.450 INFO    ] Checking for system updates...
[2026-08-29 06:39:55,471.471 INFO    ] 200
[2026-08-29 06:39:55,472.472 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:39:55,504.504 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:39:55,506.506 INFO    ] No update needed
[2026-08-29 06:39:55,507.507 INFO    ] Checking for camera pi updates...
[2026-08-29 06:39:55,527.527 INFO    ] 200
[2026-08-29 06:39:55,529.529 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:39:55,551.551 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:39:55,625.625 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:39:55,626.626 INFO    ] No camera update needed
[2026-08-29 06:39:55,628.628 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:39:55,629.629 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:39:55,632.632 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:39:55,635.635 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:39:57,673.673 INFO    ] ================================================
[2026-08-29 06:39:57,688.688 INFO    ] Launching Daemon at Sat Aug 29 06:39:57 IST 2026
[2026-08-29 06:39:57,699.699 INFO    ] ================================================
[2026-08-29 06:39:58,066.066 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:39:58
[2026-08-29 06:39:58,395.395 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:39:58,646.646 INFO    ] Initializing speech engine...
[2026-08-29 06:39:58,668.668 INFO    ] 2026-08-29 06:39:58
[2026-08-29 06:39:58,921.921 INFO    ] 2026-08-29 06:39:58
[2026-08-29 06:39:58,955.955 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:39:59,132.132 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:39:59,144.144 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:39:59,273.273 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:39:59,293.293 INFO    ] time= 29/08/2026 06:39:59
[2026-08-29 06:39:59,301.301 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:39:59,307.307 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:39:59,374.374 INFO    ] No existing commands found in stream
[2026-08-29 06:40:04,386.386 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:40:04,389.389 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-08-29 06:40:08,335.335 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:40:08,336.336 INFO    ] Checking for system updates...
[2026-08-29 06:40:08,356.356 INFO    ] 200
[2026-08-29 06:40:08,358.358 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:40:08,387.387 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:40:08,388.388 INFO    ] No update needed
[2026-08-29 06:40:08,390.390 INFO    ] Checking for camera pi updates...
[2026-08-29 06:40:08,409.409 INFO    ] 200
[2026-08-29 06:40:08,411.411 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:40:08,433.433 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:40:08,514.514 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:40:08,516.516 INFO    ] No camera update needed
[2026-08-29 06:40:08,517.517 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:40:08,518.518 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:40:08,521.521 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:40:08,524.524 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:40:10,564.564 INFO    ] ================================================
[2026-08-29 06:40:10,580.580 INFO    ] Launching Daemon at Sat Aug 29 06:40:10 IST 2026
[2026-08-29 06:40:10,590.590 INFO    ] ================================================
[2026-08-29 06:40:11,139.139 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:40:11
[2026-08-29 06:40:11,723.723 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:40:11,982.982 INFO    ] Initializing speech engine...
[2026-08-29 06:40:11,999.999 INFO    ] 2026-08-29 06:40:11
[2026-08-29 06:40:12,249.249 INFO    ] 2026-08-29 06:40:12
[2026-08-29 06:40:12,284.284 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:40:12,455.455 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:40:12,467.467 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:40:12,609.609 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:40:12,616.616 INFO    ] time= 29/08/2026 06:40:12
[2026-08-29 06:40:12,625.625 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:40:12,669.669 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:40:12,789.789 INFO    ] No existing commands found in stream
[2026-08-29 06:40:17,819.819 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:40:17,822.822 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-08-29 06:40:21,755.755 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:40:21,758.758 INFO    ] Checking for system updates...
[2026-08-29 06:40:21,793.793 INFO    ] 200
[2026-08-29 06:40:21,796.796 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:40:21,850.850 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:40:21,852.852 INFO    ] No update needed
[2026-08-29 06:40:21,855.855 INFO    ] Checking for camera pi updates...
[2026-08-29 06:40:21,888.888 INFO    ] 200
[2026-08-29 06:40:21,890.890 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:40:21,936.936 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:40:22,020.020 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:40:22,022.022 INFO    ] No camera update needed
[2026-08-29 06:40:22,025.025 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:40:22,027.027 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:40:22,032.032 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:40:22,037.037 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:40:24,080.080 INFO    ] ================================================
[2026-08-29 06:40:24,096.096 INFO    ] Launching Daemon at Sat Aug 29 06:40:24 IST 2026
[2026-08-29 06:40:24,106.106 INFO    ] ================================================
[2026-08-29 06:40:24,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:40:24
[2026-08-29 06:40:25,057.057 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:40:25,196.196 INFO    ] Initializing speech engine...
[2026-08-29 06:40:25,207.207 INFO    ] 2026-08-29 06:40:25
[2026-08-29 06:40:25,412.412 INFO    ] 2026-08-29 06:40:25
[2026-08-29 06:40:25,441.441 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:40:25,562.562 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:40:25,600.600 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:40:25,758.758 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:40:25,825.825 INFO    ] time= 29/08/2026 06:40:25
[2026-08-29 06:40:25,851.851 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:40:25,853.853 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:40:25,924.924 INFO    ] No existing commands found in stream
[2026-08-29 06:40:30,934.934 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:40:30,937.937 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-08-29 06:40:35,164.164 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:40:35,166.166 INFO    ] Checking for system updates...
[2026-08-29 06:40:35,203.203 INFO    ] 200
[2026-08-29 06:40:35,205.205 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:40:35,259.259 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:40:35,262.262 INFO    ] No update needed
[2026-08-29 06:40:35,265.265 INFO    ] Checking for camera pi updates...
[2026-08-29 06:40:35,299.299 INFO    ] 200
[2026-08-29 06:40:35,301.301 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:40:35,344.344 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:40:35,437.437 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:40:35,440.440 INFO    ] No camera update needed
[2026-08-29 06:40:35,442.442 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:40:35,445.445 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:40:35,450.450 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:40:35,455.455 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:40:37,496.496 INFO    ] ================================================
[2026-08-29 06:40:37,511.511 INFO    ] Launching Daemon at Sat Aug 29 06:40:37 IST 2026
[2026-08-29 06:40:37,521.521 INFO    ] ================================================
[2026-08-29 06:40:37,867.867 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:40:37
[2026-08-29 06:40:38,201.201 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:40:38,351.351 INFO    ] Initializing speech engine...
[2026-08-29 06:40:38,357.357 INFO    ] 2026-08-29 06:40:38
[2026-08-29 06:40:38,567.567 INFO    ] 2026-08-29 06:40:38
[2026-08-29 06:40:38,596.596 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:40:38,720.720 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:40:38,768.768 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:40:38,928.928 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:40:38,990.990 INFO    ] time= 29/08/2026 06:40:38
[2026-08-29 06:40:39,015.015 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:40:39,022.022 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:40:39,090.090 INFO    ] No existing commands found in stream
[2026-08-29 06:40:44,099.099 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:40:44,102.102 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-08-29 06:40:45,708.708 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:40:45,709.709 INFO    ] Checking for system updates...
[2026-08-29 06:40:45,730.730 INFO    ] 200
[2026-08-29 06:40:45,731.731 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:40:45,761.761 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:40:45,762.762 INFO    ] No update needed
[2026-08-29 06:40:45,763.763 INFO    ] Checking for camera pi updates...
[2026-08-29 06:40:45,783.783 INFO    ] 200
[2026-08-29 06:40:45,784.784 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:40:45,807.807 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:40:45,901.901 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:40:45,902.902 INFO    ] No camera update needed
[2026-08-29 06:40:45,904.904 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:40:45,905.905 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:40:45,908.908 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:40:45,910.910 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:40:47,949.949 INFO    ] ================================================
[2026-08-29 06:40:47,965.965 INFO    ] Launching Daemon at Sat Aug 29 06:40:47 IST 2026
[2026-08-29 06:40:47,976.976 INFO    ] ================================================
[2026-08-29 06:40:48,322.322 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:40:48
[2026-08-29 06:40:48,633.633 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:40:48,831.831 INFO    ] Initializing speech engine...
[2026-08-29 06:40:48,843.843 INFO    ] 2026-08-29 06:40:48
[2026-08-29 06:40:49,112.112 INFO    ] 2026-08-29 06:40:49
[2026-08-29 06:40:49,147.147 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:40:49,324.324 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:40:49,337.337 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:40:49,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:40:49,470.470 INFO    ] time= 29/08/2026 06:40:49
[2026-08-29 06:40:49,489.489 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:40:49,498.498 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:40:49,566.566 INFO    ] No existing commands found in stream
[2026-08-29 06:40:54,579.579 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:40:54,581.581 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 06:40:58,017.017 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:40:58,018.018 INFO    ] Checking for system updates...
[2026-08-29 06:40:58,038.038 INFO    ] 200
[2026-08-29 06:40:58,040.040 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:40:58,072.072 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:40:58,073.073 INFO    ] No update needed
[2026-08-29 06:40:58,074.074 INFO    ] Checking for camera pi updates...
[2026-08-29 06:40:58,094.094 INFO    ] 200
[2026-08-29 06:40:58,095.095 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:40:58,118.118 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:40:58,194.194 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:40:58,196.196 INFO    ] No camera update needed
[2026-08-29 06:40:58,197.197 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:40:58,198.198 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:40:58,201.201 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:40:58,204.204 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:41:00,243.243 INFO    ] ================================================
[2026-08-29 06:41:00,258.258 INFO    ] Launching Daemon at Sat Aug 29 06:41:00 IST 2026
[2026-08-29 06:41:00,269.269 INFO    ] ================================================
[2026-08-29 06:41:00,623.623 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:41:00
[2026-08-29 06:41:00,940.940 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:41:01,086.086 INFO    ] Initializing speech engine...
[2026-08-29 06:41:01,089.089 INFO    ] 2026-08-29 06:41:01
[2026-08-29 06:41:01,293.293 INFO    ] 2026-08-29 06:41:01
[2026-08-29 06:41:01,320.320 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:41:01,485.485 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:41:01,511.511 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:41:01,667.667 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:41:01,675.675 INFO    ] time= 29/08/2026 06:41:01
[2026-08-29 06:41:01,682.682 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:41:01,731.731 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:41:01,860.860 INFO    ] No existing commands found in stream
[2026-08-29 06:41:06,884.884 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:41:06,887.887 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-08-29 06:41:09,204.204 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:41:09,206.206 INFO    ] Checking for system updates...
[2026-08-29 06:41:09,227.227 INFO    ] 200
[2026-08-29 06:41:09,228.228 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:41:09,258.258 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:41:09,260.260 INFO    ] No update needed
[2026-08-29 06:41:09,261.261 INFO    ] Checking for camera pi updates...
[2026-08-29 06:41:09,280.280 INFO    ] 200
[2026-08-29 06:41:09,281.281 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:41:09,304.304 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:41:09,379.379 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:41:09,382.382 INFO    ] No camera update needed
[2026-08-29 06:41:09,383.383 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:41:09,385.385 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:41:09,388.388 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:41:09,391.391 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:41:11,431.431 INFO    ] ================================================
[2026-08-29 06:41:11,447.447 INFO    ] Launching Daemon at Sat Aug 29 06:41:11 IST 2026
[2026-08-29 06:41:11,458.458 INFO    ] ================================================
[2026-08-29 06:41:11,813.813 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:41:11
[2026-08-29 06:41:12,123.123 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:41:12,254.254 INFO    ] Initializing speech engine...
[2026-08-29 06:41:12,257.257 INFO    ] 2026-08-29 06:41:12
[2026-08-29 06:41:12,502.502 INFO    ] 2026-08-29 06:41:12
[2026-08-29 06:41:12,538.538 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:41:12,708.708 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:41:12,719.719 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:41:12,844.844 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:41:12,866.866 INFO    ] time= 29/08/2026 06:41:12
[2026-08-29 06:41:12,872.872 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:41:12,879.879 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:41:12,950.950 INFO    ] No existing commands found in stream
[2026-08-29 06:41:17,971.971 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:41:17,974.974 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-08-29 06:41:21,654.654 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:41:21,655.655 INFO    ] Checking for system updates...
[2026-08-29 06:41:21,675.675 INFO    ] 200
[2026-08-29 06:41:21,677.677 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:41:21,708.708 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:41:21,709.709 INFO    ] No update needed
[2026-08-29 06:41:21,711.711 INFO    ] Checking for camera pi updates...
[2026-08-29 06:41:21,730.730 INFO    ] 200
[2026-08-29 06:41:21,731.731 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:41:21,754.754 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:41:21,828.828 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:41:21,829.829 INFO    ] No camera update needed
[2026-08-29 06:41:21,831.831 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:41:21,832.832 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:41:21,835.835 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:41:21,837.837 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:41:23,877.877 INFO    ] ================================================
[2026-08-29 06:41:23,892.892 INFO    ] Launching Daemon at Sat Aug 29 06:41:23 IST 2026
[2026-08-29 06:41:23,903.903 INFO    ] ================================================
[2026-08-29 06:41:24,255.255 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:41:24
[2026-08-29 06:41:24,681.681 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:41:24,983.983 INFO    ] Initializing speech engine...
[2026-08-29 06:41:24,991.991 INFO    ] 2026-08-29 06:41:24
[2026-08-29 06:41:25,269.269 INFO    ] 2026-08-29 06:41:25
[2026-08-29 06:41:25,320.320 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:41:25,547.547 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:41:25,557.557 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:41:25,693.693 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:41:25,748.748 INFO    ] time= 29/08/2026 06:41:25
[2026-08-29 06:41:25,803.803 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:41:25,827.827 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:41:25,948.948 INFO    ] No existing commands found in stream
[2026-08-29 06:41:30,979.979 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:41:30,983.983 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 06:41:33,300.300 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:41:33,302.302 INFO    ] Checking for system updates...
[2026-08-29 06:41:33,324.324 INFO    ] 200
[2026-08-29 06:41:33,325.325 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:41:33,359.359 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:41:33,360.360 INFO    ] No update needed
[2026-08-29 06:41:33,361.361 INFO    ] Checking for camera pi updates...
[2026-08-29 06:41:33,381.381 INFO    ] 200
[2026-08-29 06:41:33,383.383 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:41:33,408.408 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:41:33,487.487 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:41:33,489.489 INFO    ] No camera update needed
[2026-08-29 06:41:33,490.490 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:41:33,492.492 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:41:33,495.495 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:41:33,498.498 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:41:35,537.537 INFO    ] ================================================
[2026-08-29 06:41:35,553.553 INFO    ] Launching Daemon at Sat Aug 29 06:41:35 IST 2026
[2026-08-29 06:41:35,564.564 INFO    ] ================================================
[2026-08-29 06:41:36,118.118 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:41:36
[2026-08-29 06:41:36,762.762 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:41:37,064.064 INFO    ] Initializing speech engine...
[2026-08-29 06:41:37,072.072 INFO    ] 2026-08-29 06:41:37
[2026-08-29 06:41:37,344.344 INFO    ] 2026-08-29 06:41:37
[2026-08-29 06:41:37,400.400 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:41:37,630.630 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:41:37,640.640 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:41:37,776.776 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:41:37,813.813 INFO    ] time= 29/08/2026 06:41:37
[2026-08-29 06:41:37,868.868 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:41:37,912.912 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:41:37,989.989 INFO    ] No existing commands found in stream
[2026-08-29 06:41:43,028.028 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:41:43,031.031 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-08-29 06:41:44,199.199 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:41:44,201.201 INFO    ] Checking for system updates...
[2026-08-29 06:41:44,224.224 INFO    ] 200
[2026-08-29 06:41:44,226.226 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:41:44,258.258 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:41:44,259.259 INFO    ] No update needed
[2026-08-29 06:41:44,261.261 INFO    ] Checking for camera pi updates...
[2026-08-29 06:41:44,280.280 INFO    ] 200
[2026-08-29 06:41:44,281.281 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:41:44,305.305 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:41:44,389.389 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:41:44,391.391 INFO    ] No camera update needed
[2026-08-29 06:41:44,392.392 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:41:44,394.394 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:41:44,397.397 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:41:44,400.400 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:41:46,438.438 INFO    ] ================================================
[2026-08-29 06:41:46,453.453 INFO    ] Launching Daemon at Sat Aug 29 06:41:46 IST 2026
[2026-08-29 06:41:46,464.464 INFO    ] ================================================
[2026-08-29 06:41:46,809.809 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:41:46
[2026-08-29 06:41:47,140.140 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:41:47,279.279 INFO    ] Initializing speech engine...
[2026-08-29 06:41:47,289.289 INFO    ] 2026-08-29 06:41:47
[2026-08-29 06:41:47,491.491 INFO    ] 2026-08-29 06:41:47
[2026-08-29 06:41:47,520.520 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:41:47,643.643 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:41:47,681.681 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:41:47,843.843 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:41:47,903.903 INFO    ] time= 29/08/2026 06:41:47
[2026-08-29 06:41:47,943.943 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:41:47,984.984 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:41:48,094.094 INFO    ] No existing commands found in stream
[2026-08-29 06:41:53,130.130 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:41:53,133.133 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-08-29 06:41:56,847.847 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:41:56,848.848 INFO    ] Checking for system updates...
[2026-08-29 06:41:56,869.869 INFO    ] 200
[2026-08-29 06:41:56,870.870 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:41:56,901.901 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:41:56,903.903 INFO    ] No update needed
[2026-08-29 06:41:56,904.904 INFO    ] Checking for camera pi updates...
[2026-08-29 06:41:56,927.927 INFO    ] 200
[2026-08-29 06:41:56,928.928 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:41:56,950.950 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:41:57,119.119 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:41:57,121.121 INFO    ] No camera update needed
[2026-08-29 06:41:57,122.122 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:41:57,123.123 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:41:57,126.126 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:41:57,129.129 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:41:59,168.168 INFO    ] ================================================
[2026-08-29 06:41:59,184.184 INFO    ] Launching Daemon at Sat Aug 29 06:41:59 IST 2026
[2026-08-29 06:41:59,195.195 INFO    ] ================================================
[2026-08-29 06:41:59,579.579 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:41:59
[2026-08-29 06:41:59,918.918 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:42:00,068.068 INFO    ] Initializing speech engine...
[2026-08-29 06:42:00,074.074 INFO    ] 2026-08-29 06:42:00
[2026-08-29 06:42:00,281.281 INFO    ] 2026-08-29 06:42:00
[2026-08-29 06:42:00,328.328 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:42:00,496.496 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:42:00,500.500 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:42:00,670.670 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:42:00,704.704 INFO    ] time= 29/08/2026 06:42:00
[2026-08-29 06:42:00,722.722 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:42:00,745.745 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:42:00,858.858 INFO    ] No existing commands found in stream
[2026-08-29 06:42:05,871.871 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:42:05,874.874 INFO    ] Waiting 2.42 seconds before fallback handling...
[2026-08-29 06:42:08,661.661 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:42:08,663.663 INFO    ] Checking for system updates...
[2026-08-29 06:42:08,684.684 INFO    ] 200
[2026-08-29 06:42:08,690.690 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:42:08,720.720 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:42:08,722.722 INFO    ] No update needed
[2026-08-29 06:42:08,723.723 INFO    ] Checking for camera pi updates...
[2026-08-29 06:42:08,744.744 INFO    ] 200
[2026-08-29 06:42:08,745.745 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:42:08,772.772 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:42:08,847.847 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:42:08,849.849 INFO    ] No camera update needed
[2026-08-29 06:42:08,850.850 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:42:08,852.852 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:42:08,855.855 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:42:08,859.859 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:42:10,898.898 INFO    ] ================================================
[2026-08-29 06:42:10,921.921 INFO    ] Launching Daemon at Sat Aug 29 06:42:10 IST 2026
[2026-08-29 06:42:10,932.932 INFO    ] ================================================
[2026-08-29 06:42:11,308.308 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:42:11
[2026-08-29 06:42:11,644.644 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:42:11,796.796 INFO    ] Initializing speech engine...
[2026-08-29 06:42:11,801.801 INFO    ] 2026-08-29 06:42:11
[2026-08-29 06:42:12,013.013 INFO    ] 2026-08-29 06:42:11
[2026-08-29 06:42:12,042.042 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:42:12,167.167 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:42:12,220.220 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:42:12,399.399 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:42:12,440.440 INFO    ] time= 29/08/2026 06:42:12
[2026-08-29 06:42:12,489.489 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:42:12,549.549 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:42:12,643.643 INFO    ] No existing commands found in stream
[2026-08-29 06:42:17,658.658 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:42:17,661.661 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-08-29 06:42:18,499.499 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:42:18,501.501 INFO    ] Checking for system updates...
[2026-08-29 06:42:18,524.524 INFO    ] 200
[2026-08-29 06:42:18,526.526 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:42:18,574.574 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:42:18,577.577 INFO    ] No update needed
[2026-08-29 06:42:18,580.580 INFO    ] Checking for camera pi updates...
[2026-08-29 06:42:18,614.614 INFO    ] 200
[2026-08-29 06:42:18,617.617 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:42:18,662.662 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:42:18,743.743 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:42:18,746.746 INFO    ] No camera update needed
[2026-08-29 06:42:18,748.748 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:42:18,751.751 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:42:18,757.757 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:42:18,763.763 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:42:20,804.804 INFO    ] ================================================
[2026-08-29 06:42:20,819.819 INFO    ] Launching Daemon at Sat Aug 29 06:42:20 IST 2026
[2026-08-29 06:42:20,830.830 INFO    ] ================================================
[2026-08-29 06:42:21,396.396 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:42:21
[2026-08-29 06:42:21,838.838 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:42:21,974.974 INFO    ] Initializing speech engine...
[2026-08-29 06:42:21,984.984 INFO    ] 2026-08-29 06:42:21
[2026-08-29 06:42:22,179.179 INFO    ] 2026-08-29 06:42:22
[2026-08-29 06:42:22,221.221 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:42:22,441.441 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:42:22,450.450 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:42:22,582.582 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:42:22,609.609 INFO    ] time= 29/08/2026 06:42:22
[2026-08-29 06:42:22,669.669 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:42:22,715.715 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:42:22,769.769 INFO    ] No existing commands found in stream
[2026-08-29 06:42:27,782.782 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:42:27,785.785 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-08-29 06:42:31,848.848 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:42:31,850.850 INFO    ] Checking for system updates...
[2026-08-29 06:42:31,875.875 INFO    ] 200
[2026-08-29 06:42:31,877.877 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:42:31,908.908 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:42:31,909.909 INFO    ] No update needed
[2026-08-29 06:42:31,911.911 INFO    ] Checking for camera pi updates...
[2026-08-29 06:42:31,930.930 INFO    ] 200
[2026-08-29 06:42:31,931.931 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:42:31,954.954 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:42:32,041.041 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:42:32,042.042 INFO    ] No camera update needed
[2026-08-29 06:42:32,044.044 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:42:32,046.046 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:42:32,049.049 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:42:32,053.053 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:42:34,095.095 INFO    ] ================================================
[2026-08-29 06:42:34,111.111 INFO    ] Launching Daemon at Sat Aug 29 06:42:34 IST 2026
[2026-08-29 06:42:34,121.121 INFO    ] ================================================
[2026-08-29 06:42:34,755.755 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:42:34
[2026-08-29 06:42:35,275.275 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:42:35,411.411 INFO    ] Initializing speech engine...
[2026-08-29 06:42:35,421.421 INFO    ] 2026-08-29 06:42:35
[2026-08-29 06:42:35,624.624 INFO    ] 2026-08-29 06:42:35
[2026-08-29 06:42:35,652.652 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:42:35,774.774 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:42:35,837.837 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:42:35,975.975 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:42:36,043.043 INFO    ] time= 29/08/2026 06:42:35
[2026-08-29 06:42:36,066.066 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:42:36,073.073 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:42:36,138.138 INFO    ] No existing commands found in stream
[2026-08-29 06:42:41,149.149 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:42:41,152.152 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-08-29 06:42:42,397.397 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:42:42,398.398 INFO    ] Checking for system updates...
[2026-08-29 06:42:42,420.420 INFO    ] 200
[2026-08-29 06:42:42,421.421 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:42:42,455.455 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:42:42,456.456 INFO    ] No update needed
[2026-08-29 06:42:42,458.458 INFO    ] Checking for camera pi updates...
[2026-08-29 06:42:42,476.476 INFO    ] 200
[2026-08-29 06:42:42,478.478 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:42:42,500.500 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:42:42,574.574 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:42:42,575.575 INFO    ] No camera update needed
[2026-08-29 06:42:42,576.576 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:42:42,578.578 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:42:42,581.581 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:42:42,583.583 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:42:44,624.624 INFO    ] ================================================
[2026-08-29 06:42:44,639.639 INFO    ] Launching Daemon at Sat Aug 29 06:42:44 IST 2026
[2026-08-29 06:42:44,650.650 INFO    ] ================================================
[2026-08-29 06:42:44,993.993 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:42:44
[2026-08-29 06:42:45,305.305 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:42:45,522.522 INFO    ] Initializing speech engine...
[2026-08-29 06:42:45,527.527 INFO    ] 2026-08-29 06:42:45
[2026-08-29 06:42:45,774.774 INFO    ] 2026-08-29 06:42:45
[2026-08-29 06:42:45,809.809 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:42:45,981.981 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:42:45,993.993 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:42:46,134.134 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:42:46,141.141 INFO    ] time= 29/08/2026 06:42:46
[2026-08-29 06:42:46,148.148 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:42:46,195.195 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:42:46,325.325 INFO    ] No existing commands found in stream
[2026-08-29 06:42:51,349.349 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:42:51,352.352 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-08-29 06:42:52,374.374 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:42:52,375.375 INFO    ] Checking for system updates...
[2026-08-29 06:42:52,396.396 INFO    ] 200
[2026-08-29 06:42:52,397.397 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:42:52,428.428 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:42:52,429.429 INFO    ] No update needed
[2026-08-29 06:42:52,431.431 INFO    ] Checking for camera pi updates...
[2026-08-29 06:42:52,452.452 INFO    ] 200
[2026-08-29 06:42:52,454.454 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:42:52,477.477 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:42:52,554.554 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:42:52,556.556 INFO    ] No camera update needed
[2026-08-29 06:42:52,557.557 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:42:52,558.558 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:42:52,561.561 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:42:52,564.564 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:42:54,604.604 INFO    ] ================================================
[2026-08-29 06:42:54,619.619 INFO    ] Launching Daemon at Sat Aug 29 06:42:54 IST 2026
[2026-08-29 06:42:54,630.630 INFO    ] ================================================
[2026-08-29 06:42:54,986.986 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:42:54
[2026-08-29 06:42:55,302.302 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:42:55,504.504 INFO    ] Initializing speech engine...
[2026-08-29 06:42:55,523.523 INFO    ] 2026-08-29 06:42:55
[2026-08-29 06:42:55,781.781 INFO    ] 2026-08-29 06:42:55
[2026-08-29 06:42:55,818.818 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:42:55,990.990 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:42:56,001.001 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:42:56,138.138 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:42:56,151.151 INFO    ] time= 29/08/2026 06:42:56
[2026-08-29 06:42:56,158.158 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:42:56,184.184 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:42:56,324.324 INFO    ] No existing commands found in stream
[2026-08-29 06:43:01,354.354 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:43:01,357.357 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 06:43:03,937.937 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:43:03,939.939 INFO    ] Checking for system updates...
[2026-08-29 06:43:03,975.975 INFO    ] 200
[2026-08-29 06:43:03,977.977 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:43:04,041.041 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:43:04,044.044 INFO    ] No update needed
[2026-08-29 06:43:04,046.046 INFO    ] Checking for camera pi updates...
[2026-08-29 06:43:04,079.079 INFO    ] 200
[2026-08-29 06:43:04,082.082 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:43:04,126.126 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:43:04,209.209 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:43:04,211.211 INFO    ] No camera update needed
[2026-08-29 06:43:04,214.214 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:43:04,216.216 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:43:04,221.221 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:43:04,226.226 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:43:06,267.267 INFO    ] ================================================
[2026-08-29 06:43:06,282.282 INFO    ] Launching Daemon at Sat Aug 29 06:43:06 IST 2026
[2026-08-29 06:43:06,293.293 INFO    ] ================================================
[2026-08-29 06:43:06,647.647 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:43:06
[2026-08-29 06:43:07,226.226 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:43:07,480.480 INFO    ] Initializing speech engine...
[2026-08-29 06:43:07,488.488 INFO    ] 2026-08-29 06:43:07
[2026-08-29 06:43:07,780.780 INFO    ] 2026-08-29 06:43:07
[2026-08-29 06:43:07,815.815 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:43:07,966.966 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:43:07,990.990 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:43:08,147.147 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:43:08,154.154 INFO    ] time= 29/08/2026 06:43:08
[2026-08-29 06:43:08,160.160 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:43:08,170.170 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:43:08,280.280 INFO    ] No existing commands found in stream
[2026-08-29 06:43:13,292.292 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:43:13,295.295 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-08-29 06:43:16,543.543 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:43:16,544.544 INFO    ] Checking for system updates...
[2026-08-29 06:43:16,565.565 INFO    ] 200
[2026-08-29 06:43:16,567.567 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:43:16,596.596 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:43:16,597.597 INFO    ] No update needed
[2026-08-29 06:43:16,599.599 INFO    ] Checking for camera pi updates...
[2026-08-29 06:43:16,620.620 INFO    ] 200
[2026-08-29 06:43:16,621.621 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:43:16,646.646 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:43:16,742.742 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:43:16,743.743 INFO    ] No camera update needed
[2026-08-29 06:43:16,744.744 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:43:16,746.746 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:43:16,748.748 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:43:16,751.751 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:43:18,790.790 INFO    ] ================================================
[2026-08-29 06:43:18,805.805 INFO    ] Launching Daemon at Sat Aug 29 06:43:18 IST 2026
[2026-08-29 06:43:18,816.816 INFO    ] ================================================
[2026-08-29 06:43:19,170.170 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:43:19
[2026-08-29 06:43:19,484.484 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:43:19,626.626 INFO    ] Initializing speech engine...
[2026-08-29 06:43:19,630.630 INFO    ] 2026-08-29 06:43:19
[2026-08-29 06:43:19,856.856 INFO    ] 2026-08-29 06:43:19
[2026-08-29 06:43:19,891.891 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:43:20,065.065 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:43:20,077.077 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:43:20,187.187 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:43:20,206.206 INFO    ] time= 29/08/2026 06:43:20
[2026-08-29 06:43:20,225.225 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:43:20,233.233 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:43:20,300.300 INFO    ] No existing commands found in stream
[2026-08-29 06:43:25,313.313 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:43:25,316.316 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-08-29 06:43:28,070.070 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:43:28,074.074 INFO    ] Checking for system updates...
[2026-08-29 06:43:28,109.109 INFO    ] 200
[2026-08-29 06:43:28,112.112 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:43:28,165.165 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:43:28,167.167 INFO    ] No update needed
[2026-08-29 06:43:28,169.169 INFO    ] Checking for camera pi updates...
[2026-08-29 06:43:28,203.203 INFO    ] 200
[2026-08-29 06:43:28,205.205 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:43:28,245.245 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:43:28,348.348 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:43:28,351.351 INFO    ] No camera update needed
[2026-08-29 06:43:28,353.353 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:43:28,356.356 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:43:28,361.361 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:43:28,366.366 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:43:30,406.406 INFO    ] ================================================
[2026-08-29 06:43:30,421.421 INFO    ] Launching Daemon at Sat Aug 29 06:43:30 IST 2026
[2026-08-29 06:43:30,432.432 INFO    ] ================================================
[2026-08-29 06:43:30,786.786 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:43:30
[2026-08-29 06:43:31,122.122 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:43:31,267.267 INFO    ] Initializing speech engine...
[2026-08-29 06:43:31,277.277 INFO    ] 2026-08-29 06:43:31
[2026-08-29 06:43:31,465.465 INFO    ] 2026-08-29 06:43:31
[2026-08-29 06:43:31,510.510 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:43:31,683.683 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:43:31,708.708 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:43:31,841.841 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:43:31,850.850 INFO    ] time= 29/08/2026 06:43:31
[2026-08-29 06:43:31,857.857 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:43:31,904.904 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:43:32,037.037 INFO    ] No existing commands found in stream
[2026-08-29 06:43:37,068.068 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:43:37,071.071 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-08-29 06:43:39,820.820 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:43:39,821.821 INFO    ] Checking for system updates...
[2026-08-29 06:43:39,842.842 INFO    ] 200
[2026-08-29 06:43:39,844.844 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:43:39,876.876 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:43:39,877.877 INFO    ] No update needed
[2026-08-29 06:43:39,878.878 INFO    ] Checking for camera pi updates...
[2026-08-29 06:43:39,902.902 INFO    ] 200
[2026-08-29 06:43:39,904.904 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:43:39,931.931 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:43:40,007.007 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:43:40,008.008 INFO    ] No camera update needed
[2026-08-29 06:43:40,010.010 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:43:40,011.011 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:43:40,014.014 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:43:40,017.017 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:43:42,056.056 INFO    ] ================================================
[2026-08-29 06:43:42,070.070 INFO    ] Launching Daemon at Sat Aug 29 06:43:42 IST 2026
[2026-08-29 06:43:42,081.081 INFO    ] ================================================
[2026-08-29 06:43:42,442.442 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:43:42
[2026-08-29 06:43:42,756.756 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:43:42,889.889 INFO    ] Initializing speech engine...
[2026-08-29 06:43:42,892.892 INFO    ] 2026-08-29 06:43:42
[2026-08-29 06:43:43,108.108 INFO    ] 2026-08-29 06:43:43
[2026-08-29 06:43:43,135.135 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:43:43,285.285 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:43:43,294.294 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:43:43,443.443 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:43:43,500.500 INFO    ] time= 29/08/2026 06:43:43
[2026-08-29 06:43:43,535.535 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:43:43,584.584 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:43:43,682.682 INFO    ] No existing commands found in stream
[2026-08-29 06:43:48,693.693 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:43:48,696.696 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-08-29 06:43:50,711.711 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:43:50,712.712 INFO    ] Checking for system updates...
[2026-08-29 06:43:50,733.733 INFO    ] 200
[2026-08-29 06:43:50,734.734 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:43:50,766.766 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:43:50,767.767 INFO    ] No update needed
[2026-08-29 06:43:50,769.769 INFO    ] Checking for camera pi updates...
[2026-08-29 06:43:50,787.787 INFO    ] 200
[2026-08-29 06:43:50,789.789 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:43:50,811.811 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:43:50,893.893 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:43:50,895.895 INFO    ] No camera update needed
[2026-08-29 06:43:50,898.898 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:43:50,900.900 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:43:50,905.905 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:43:50,910.910 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:43:52,954.954 INFO    ] ================================================
[2026-08-29 06:43:52,969.969 INFO    ] Launching Daemon at Sat Aug 29 06:43:52 IST 2026
[2026-08-29 06:43:52,981.981 INFO    ] ================================================
[2026-08-29 06:43:53,631.631 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:43:53
[2026-08-29 06:43:54,078.078 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:43:54,232.232 INFO    ] Initializing speech engine...
[2026-08-29 06:43:54,238.238 INFO    ] 2026-08-29 06:43:54
[2026-08-29 06:43:54,485.485 INFO    ] 2026-08-29 06:43:54
[2026-08-29 06:43:54,529.529 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:43:54,711.711 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:43:54,727.727 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:43:54,862.862 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:43:54,869.869 INFO    ] time= 29/08/2026 06:43:54
[2026-08-29 06:43:54,878.878 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:43:54,940.940 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:43:55,042.042 INFO    ] No existing commands found in stream
[2026-08-29 06:44:00,074.074 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:44:00,077.077 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-08-29 06:44:02,064.064 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:44:02,067.067 INFO    ] Checking for system updates...
[2026-08-29 06:44:02,108.108 INFO    ] 200
[2026-08-29 06:44:02,111.111 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:44:02,170.170 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:44:02,173.173 INFO    ] No update needed
[2026-08-29 06:44:02,176.176 INFO    ] Checking for camera pi updates...
[2026-08-29 06:44:02,219.219 INFO    ] 200
[2026-08-29 06:44:02,222.222 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:44:02,273.273 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:44:02,473.473 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:44:02,477.477 INFO    ] No camera update needed
[2026-08-29 06:44:02,481.481 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:44:02,484.484 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:44:02,491.491 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:44:02,498.498 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:44:04,539.539 INFO    ] ================================================
[2026-08-29 06:44:04,554.554 INFO    ] Launching Daemon at Sat Aug 29 06:44:04 IST 2026
[2026-08-29 06:44:04,565.565 INFO    ] ================================================
[2026-08-29 06:44:05,005.005 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:44:05
[2026-08-29 06:44:05,559.559 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:44:05,828.828 INFO    ] Initializing speech engine...
[2026-08-29 06:44:05,837.837 INFO    ] 2026-08-29 06:44:05
[2026-08-29 06:44:06,084.084 INFO    ] 2026-08-29 06:44:06
[2026-08-29 06:44:06,119.119 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:44:06,295.295 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:44:06,307.307 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:44:06,456.456 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:44:06,475.475 INFO    ] time= 29/08/2026 06:44:06
[2026-08-29 06:44:06,507.507 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:44:06,552.552 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:44:06,662.662 INFO    ] No existing commands found in stream
[2026-08-29 06:44:11,691.691 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:44:11,694.694 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 06:44:14,009.009 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:44:14,011.011 INFO    ] Checking for system updates...
[2026-08-29 06:44:14,031.031 INFO    ] 200
[2026-08-29 06:44:14,033.033 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:44:14,063.063 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:44:14,065.065 INFO    ] No update needed
[2026-08-29 06:44:14,066.066 INFO    ] Checking for camera pi updates...
[2026-08-29 06:44:14,085.085 INFO    ] 200
[2026-08-29 06:44:14,087.087 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:44:14,112.112 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:44:14,192.192 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:44:14,194.194 INFO    ] No camera update needed
[2026-08-29 06:44:14,197.197 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:44:14,199.199 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:44:14,204.204 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:44:14,209.209 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:44:16,251.251 INFO    ] ================================================
[2026-08-29 06:44:16,266.266 INFO    ] Launching Daemon at Sat Aug 29 06:44:16 IST 2026
[2026-08-29 06:44:16,277.277 INFO    ] ================================================
[2026-08-29 06:44:16,842.842 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:44:16
[2026-08-29 06:44:17,350.350 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:44:17,494.494 INFO    ] Initializing speech engine...
[2026-08-29 06:44:17,499.499 INFO    ] 2026-08-29 06:44:17
[2026-08-29 06:44:17,737.737 INFO    ] 2026-08-29 06:44:17
[2026-08-29 06:44:17,792.792 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:44:17,954.954 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:44:17,962.962 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:44:18,140.140 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:44:18,162.162 INFO    ] time= 29/08/2026 06:44:18
[2026-08-29 06:44:18,176.176 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:44:18,186.186 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:44:18,295.295 INFO    ] No existing commands found in stream
[2026-08-29 06:44:23,322.322 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:44:23,325.325 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-08-29 06:44:23,788.788 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:44:23,790.790 INFO    ] Checking for system updates...
[2026-08-29 06:44:23,810.810 INFO    ] 200
[2026-08-29 06:44:23,812.812 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:44:23,842.842 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:44:23,844.844 INFO    ] No update needed
[2026-08-29 06:44:23,845.845 INFO    ] Checking for camera pi updates...
[2026-08-29 06:44:23,867.867 INFO    ] 200
[2026-08-29 06:44:23,868.868 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:44:23,891.891 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:44:23,974.974 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:44:23,975.975 INFO    ] No camera update needed
[2026-08-29 06:44:23,976.976 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:44:23,977.977 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:44:23,980.980 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:44:23,983.983 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:44:26,022.022 INFO    ] ================================================
[2026-08-29 06:44:26,037.037 INFO    ] Launching Daemon at Sat Aug 29 06:44:26 IST 2026
[2026-08-29 06:44:26,048.048 INFO    ] ================================================
[2026-08-29 06:44:26,482.482 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:44:26
[2026-08-29 06:44:27,084.084 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:44:27,357.357 INFO    ] Initializing speech engine...
[2026-08-29 06:44:27,366.366 INFO    ] 2026-08-29 06:44:27
[2026-08-29 06:44:27,629.629 INFO    ] 2026-08-29 06:44:27
[2026-08-29 06:44:27,684.684 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:44:27,905.905 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:44:27,914.914 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:44:28,047.047 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:44:28,089.089 INFO    ] time= 29/08/2026 06:44:28
[2026-08-29 06:44:28,149.149 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:44:28,181.181 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:44:28,239.239 INFO    ] No existing commands found in stream
[2026-08-29 06:44:33,251.251 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:44:33,254.254 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-08-29 06:44:35,721.721 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:44:35,723.723 INFO    ] Checking for system updates...
[2026-08-29 06:44:35,744.744 INFO    ] 200
[2026-08-29 06:44:35,745.745 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:44:35,777.777 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:44:35,779.779 INFO    ] No update needed
[2026-08-29 06:44:35,780.780 INFO    ] Checking for camera pi updates...
[2026-08-29 06:44:35,799.799 INFO    ] 200
[2026-08-29 06:44:35,800.800 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:44:35,824.824 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:44:35,925.925 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:44:35,928.928 INFO    ] No camera update needed
[2026-08-29 06:44:35,930.930 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:44:35,932.932 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:44:35,938.938 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:44:35,943.943 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:44:37,983.983 INFO    ] ================================================
[2026-08-29 06:44:38,999.999 INFO    ] Launching Daemon at Sat Aug 29 06:44:37 IST 2026
[2026-08-29 06:44:38,010.010 INFO    ] ================================================
[2026-08-29 06:44:38,578.578 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:44:38
[2026-08-29 06:44:39,078.078 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:44:39,348.348 INFO    ] Initializing speech engine...
[2026-08-29 06:44:39,363.363 INFO    ] 2026-08-29 06:44:39
[2026-08-29 06:44:39,632.632 INFO    ] 2026-08-29 06:44:39
[2026-08-29 06:44:39,669.669 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:44:39,815.815 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:44:39,823.823 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:44:39,972.972 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:44:39,982.982 INFO    ] time= 29/08/2026 06:44:39
[2026-08-29 06:44:39,986.986 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:44:39,991.991 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:44:40,061.061 INFO    ] No existing commands found in stream
[2026-08-29 06:44:45,072.072 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:44:45,075.075 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-08-29 06:44:47,182.182 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:44:47,184.184 INFO    ] Checking for system updates...
[2026-08-29 06:44:47,204.204 INFO    ] 200
[2026-08-29 06:44:47,205.205 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:44:47,235.235 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:44:47,236.236 INFO    ] No update needed
[2026-08-29 06:44:47,237.237 INFO    ] Checking for camera pi updates...
[2026-08-29 06:44:47,258.258 INFO    ] 200
[2026-08-29 06:44:47,259.259 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:44:47,282.282 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:44:47,389.389 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:44:47,391.391 INFO    ] No camera update needed
[2026-08-29 06:44:47,392.392 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:44:47,393.393 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:44:47,396.396 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:44:47,399.399 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:44:49,436.436 INFO    ] ================================================
[2026-08-29 06:44:49,452.452 INFO    ] Launching Daemon at Sat Aug 29 06:44:49 IST 2026
[2026-08-29 06:44:49,463.463 INFO    ] ================================================
[2026-08-29 06:44:49,843.843 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:44:49
[2026-08-29 06:44:50,180.180 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:44:50,400.400 INFO    ] Initializing speech engine...
[2026-08-29 06:44:50,408.408 INFO    ] 2026-08-29 06:44:50
[2026-08-29 06:44:50,657.657 INFO    ] 2026-08-29 06:44:50
[2026-08-29 06:44:50,724.724 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:44:50,864.864 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:44:50,877.877 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:44:51,017.017 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:44:51,026.026 INFO    ] time= 29/08/2026 06:44:51
[2026-08-29 06:44:51,032.032 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:44:51,081.081 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:44:51,197.197 INFO    ] No existing commands found in stream
[2026-08-29 06:44:56,227.227 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:44:56,230.230 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-08-29 06:44:57,051.051 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:44:57,053.053 INFO    ] Checking for system updates...
[2026-08-29 06:44:57,073.073 INFO    ] 200
[2026-08-29 06:44:57,075.075 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:44:57,107.107 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:44:57,109.109 INFO    ] No update needed
[2026-08-29 06:44:57,110.110 INFO    ] Checking for camera pi updates...
[2026-08-29 06:44:57,129.129 INFO    ] 200
[2026-08-29 06:44:57,131.131 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:44:57,155.155 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:44:57,233.233 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:44:57,234.234 INFO    ] No camera update needed
[2026-08-29 06:44:57,236.236 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:44:57,237.237 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:44:57,239.239 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:44:57,242.242 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:44:59,281.281 INFO    ] ================================================
[2026-08-29 06:44:59,296.296 INFO    ] Launching Daemon at Sat Aug 29 06:44:59 IST 2026
[2026-08-29 06:44:59,308.308 INFO    ] ================================================
[2026-08-29 06:44:59,679.679 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:44:59
[2026-08-29 06:44:59,996.996 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:45:00,140.140 INFO    ] Initializing speech engine...
[2026-08-29 06:45:00,146.146 INFO    ] 2026-08-29 06:45:00
[2026-08-29 06:45:00,327.327 INFO    ] 2026-08-29 06:45:00
[2026-08-29 06:45:00,363.363 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:45:00,543.543 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:45:00,559.559 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:45:00,692.692 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:45:00,702.702 INFO    ] time= 29/08/2026 06:45:00
[2026-08-29 06:45:00,746.746 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:45:00,767.767 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:45:00,873.873 INFO    ] No existing commands found in stream
[2026-08-29 06:45:05,904.904 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:45:05,907.907 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-08-29 06:45:08,985.985 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:45:08,987.987 INFO    ] Checking for system updates...
[2026-08-29 06:45:09,011.011 INFO    ] 200
[2026-08-29 06:45:09,013.013 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:45:09,066.066 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:45:09,068.068 INFO    ] No update needed
[2026-08-29 06:45:09,071.071 INFO    ] Checking for camera pi updates...
[2026-08-29 06:45:09,104.104 INFO    ] 200
[2026-08-29 06:45:09,106.106 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:45:09,148.148 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:45:09,261.261 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:45:09,264.264 INFO    ] No camera update needed
[2026-08-29 06:45:09,266.266 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:45:09,269.269 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:45:09,275.275 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:45:09,281.281 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:45:11,326.326 INFO    ] ================================================
[2026-08-29 06:45:11,342.342 INFO    ] Launching Daemon at Sat Aug 29 06:45:11 IST 2026
[2026-08-29 06:45:11,353.353 INFO    ] ================================================
[2026-08-29 06:45:12,003.003 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:45:12
[2026-08-29 06:45:12,404.404 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:45:12,558.558 INFO    ] Initializing speech engine...
[2026-08-29 06:45:12,562.562 INFO    ] 2026-08-29 06:45:12
[2026-08-29 06:45:12,800.800 INFO    ] 2026-08-29 06:45:12
[2026-08-29 06:45:12,857.857 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:45:13,027.027 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:45:13,036.036 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:45:13,212.212 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:45:13,242.242 INFO    ] time= 29/08/2026 06:45:13
[2026-08-29 06:45:13,260.260 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:45:13,271.271 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:45:13,382.382 INFO    ] No existing commands found in stream
[2026-08-29 06:45:18,412.412 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:45:18,415.415 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-08-29 06:45:21,808.808 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:45:21,810.810 INFO    ] Checking for system updates...
[2026-08-29 06:45:21,830.830 INFO    ] 200
[2026-08-29 06:45:21,832.832 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:45:21,865.865 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:45:21,867.867 INFO    ] No update needed
[2026-08-29 06:45:21,868.868 INFO    ] Checking for camera pi updates...
[2026-08-29 06:45:21,888.888 INFO    ] 200
[2026-08-29 06:45:21,889.889 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:45:21,914.914 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:45:22,003.003 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:45:22,004.004 INFO    ] No camera update needed
[2026-08-29 06:45:22,006.006 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:45:22,007.007 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:45:22,010.010 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:45:22,014.014 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:45:24,055.055 INFO    ] ================================================
[2026-08-29 06:45:24,071.071 INFO    ] Launching Daemon at Sat Aug 29 06:45:24 IST 2026
[2026-08-29 06:45:24,083.083 INFO    ] ================================================
[2026-08-29 06:45:24,412.412 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:45:24
[2026-08-29 06:45:24,723.723 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:45:24,867.867 INFO    ] Initializing speech engine...
[2026-08-29 06:45:24,872.872 INFO    ] 2026-08-29 06:45:24
[2026-08-29 06:45:25,145.145 INFO    ] 2026-08-29 06:45:25
[2026-08-29 06:45:25,181.181 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:45:25,371.371 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:45:25,390.390 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:45:25,515.515 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:45:25,522.522 INFO    ] time= 29/08/2026 06:45:25
[2026-08-29 06:45:25,526.526 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:45:25,532.532 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:45:25,600.600 INFO    ] No existing commands found in stream
[2026-08-29 06:45:30,612.612 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:45:30,615.615 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-08-29 06:45:33,109.109 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:45:33,112.112 INFO    ] Checking for system updates...
[2026-08-29 06:45:33,148.148 INFO    ] 200
[2026-08-29 06:45:33,150.150 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:45:33,210.210 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:45:33,213.213 INFO    ] No update needed
[2026-08-29 06:45:33,216.216 INFO    ] Checking for camera pi updates...
[2026-08-29 06:45:33,250.250 INFO    ] 200
[2026-08-29 06:45:33,252.252 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:45:33,294.294 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:45:33,344.344 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:45:33,347.347 INFO    ] No camera update needed
[2026-08-29 06:45:33,349.349 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:45:33,351.351 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:45:33,357.357 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:45:33,362.362 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:45:35,406.406 INFO    ] ================================================
[2026-08-29 06:45:35,423.423 INFO    ] Launching Daemon at Sat Aug 29 06:45:35 IST 2026
[2026-08-29 06:45:35,435.435 INFO    ] ================================================
[2026-08-29 06:45:35,768.768 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:45:35
[2026-08-29 06:45:36,086.086 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:45:36,229.229 INFO    ] Initializing speech engine...
[2026-08-29 06:45:36,239.239 INFO    ] 2026-08-29 06:45:36
[2026-08-29 06:45:36,427.427 INFO    ] 2026-08-29 06:45:36
[2026-08-29 06:45:36,491.491 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:45:36,648.648 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:45:36,662.662 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:45:36,785.785 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:45:36,792.792 INFO    ] time= 29/08/2026 06:45:36
[2026-08-29 06:45:36,812.812 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:45:36,834.834 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:45:36,918.918 INFO    ] No existing commands found in stream
[2026-08-29 06:45:41,948.948 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:45:41,951.951 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-08-29 06:45:42,993.993 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:45:42,995.995 INFO    ] Checking for system updates...
[2026-08-29 06:45:43,015.015 INFO    ] 200
[2026-08-29 06:45:43,016.016 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:45:43,046.046 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:45:43,047.047 INFO    ] No update needed
[2026-08-29 06:45:43,048.048 INFO    ] Checking for camera pi updates...
[2026-08-29 06:45:43,070.070 INFO    ] 200
[2026-08-29 06:45:43,071.071 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:45:43,094.094 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:45:43,170.170 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:45:43,171.171 INFO    ] No camera update needed
[2026-08-29 06:45:43,172.172 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:45:43,174.174 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:45:43,176.176 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:45:43,179.179 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:45:45,218.218 INFO    ] ================================================
[2026-08-29 06:45:45,234.234 INFO    ] Launching Daemon at Sat Aug 29 06:45:45 IST 2026
[2026-08-29 06:45:45,245.245 INFO    ] ================================================
[2026-08-29 06:45:45,698.698 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:45:45
[2026-08-29 06:45:46,282.282 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:45:46,537.537 INFO    ] Initializing speech engine...
[2026-08-29 06:45:46,544.544 INFO    ] 2026-08-29 06:45:46
[2026-08-29 06:45:46,836.836 INFO    ] 2026-08-29 06:45:46
[2026-08-29 06:45:46,874.874 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:45:47,067.067 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:45:47,082.082 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:45:47,207.207 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:45:47,212.212 INFO    ] time= 29/08/2026 06:45:47
[2026-08-29 06:45:47,230.230 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:45:47,252.252 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:45:47,324.324 INFO    ] No existing commands found in stream
[2026-08-29 06:45:52,334.334 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:45:52,337.337 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-08-29 06:45:54,990.990 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:45:54,992.992 INFO    ] Checking for system updates...
[2026-08-29 06:45:55,012.012 INFO    ] 200
[2026-08-29 06:45:55,014.014 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:45:55,044.044 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:45:55,045.045 INFO    ] No update needed
[2026-08-29 06:45:55,047.047 INFO    ] Checking for camera pi updates...
[2026-08-29 06:45:55,067.067 INFO    ] 200
[2026-08-29 06:45:55,068.068 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:45:55,091.091 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:45:55,171.171 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:45:55,172.172 INFO    ] No camera update needed
[2026-08-29 06:45:55,173.173 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:45:55,175.175 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:45:55,177.177 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:45:55,180.180 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:45:57,220.220 INFO    ] ================================================
[2026-08-29 06:45:57,236.236 INFO    ] Launching Daemon at Sat Aug 29 06:45:57 IST 2026
[2026-08-29 06:45:57,247.247 INFO    ] ================================================
[2026-08-29 06:45:57,573.573 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:45:57
[2026-08-29 06:45:57,885.885 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:45:58,100.100 INFO    ] Initializing speech engine...
[2026-08-29 06:45:58,109.109 INFO    ] 2026-08-29 06:45:58
[2026-08-29 06:45:58,379.379 INFO    ] 2026-08-29 06:45:58
[2026-08-29 06:45:58,414.414 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:45:58,612.612 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:45:58,627.627 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:45:58,748.748 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:45:58,757.757 INFO    ] time= 29/08/2026 06:45:58
[2026-08-29 06:45:58,766.766 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:45:58,799.799 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:45:58,881.881 INFO    ] No existing commands found in stream
[2026-08-29 06:46:03,894.894 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:46:03,896.896 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-08-29 06:46:04,430.430 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:46:04,432.432 INFO    ] Checking for system updates...
[2026-08-29 06:46:04,453.453 INFO    ] 200
[2026-08-29 06:46:04,455.455 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:46:04,485.485 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:46:04,486.486 INFO    ] No update needed
[2026-08-29 06:46:04,487.487 INFO    ] Checking for camera pi updates...
[2026-08-29 06:46:04,506.506 INFO    ] 200
[2026-08-29 06:46:04,508.508 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:46:04,530.530 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:46:04,708.708 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:46:04,709.709 INFO    ] No camera update needed
[2026-08-29 06:46:04,710.710 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:46:04,711.711 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:46:04,714.714 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:46:04,717.717 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:46:06,760.760 INFO    ] ================================================
[2026-08-29 06:46:06,776.776 INFO    ] Launching Daemon at Sat Aug 29 06:46:06 IST 2026
[2026-08-29 06:46:06,788.788 INFO    ] ================================================
[2026-08-29 06:46:07,127.127 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:46:07
[2026-08-29 06:46:07,439.439 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:46:07,582.582 INFO    ] Initializing speech engine...
[2026-08-29 06:46:07,587.587 INFO    ] 2026-08-29 06:46:07
[2026-08-29 06:46:07,792.792 INFO    ] 2026-08-29 06:46:07
[2026-08-29 06:46:07,820.820 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:46:07,942.942 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:46:07,985.985 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:46:08,138.138 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:46:08,200.200 INFO    ] time= 29/08/2026 06:46:08
[2026-08-29 06:46:08,238.238 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:46:08,245.245 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:46:08,312.312 INFO    ] No existing commands found in stream
[2026-08-29 06:46:13,323.323 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:46:13,325.325 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-08-29 06:46:13,828.828 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:46:13,830.830 INFO    ] Checking for system updates...
[2026-08-29 06:46:13,850.850 INFO    ] 200
[2026-08-29 06:46:13,851.851 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:46:13,883.883 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:46:13,884.884 INFO    ] No update needed
[2026-08-29 06:46:13,885.885 INFO    ] Checking for camera pi updates...
[2026-08-29 06:46:13,906.906 INFO    ] 200
[2026-08-29 06:46:13,907.907 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:46:13,930.930 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:46:14,009.009 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:46:14,012.012 INFO    ] No camera update needed
[2026-08-29 06:46:14,014.014 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:46:14,017.017 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:46:14,022.022 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:46:14,027.027 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:46:16,068.068 INFO    ] ================================================
[2026-08-29 06:46:16,086.086 INFO    ] Launching Daemon at Sat Aug 29 06:46:16 IST 2026
[2026-08-29 06:46:16,097.097 INFO    ] ================================================
[2026-08-29 06:46:16,728.728 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:46:16
[2026-08-29 06:46:17,184.184 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:46:17,382.382 INFO    ] Initializing speech engine...
[2026-08-29 06:46:17,393.393 INFO    ] 2026-08-29 06:46:17
[2026-08-29 06:46:17,678.678 INFO    ] 2026-08-29 06:46:17
[2026-08-29 06:46:17,723.723 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:46:17,941.941 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:46:17,951.951 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:46:18,083.083 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:46:18,125.125 INFO    ] time= 29/08/2026 06:46:18
[2026-08-29 06:46:18,180.180 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:46:18,216.216 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:46:18,273.273 INFO    ] No existing commands found in stream
[2026-08-29 06:46:23,285.285 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:46:23,289.289 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 06:46:26,740.740 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:46:26,741.741 INFO    ] Checking for system updates...
[2026-08-29 06:46:26,763.763 INFO    ] 200
[2026-08-29 06:46:26,764.764 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:46:26,796.796 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:46:26,797.797 INFO    ] No update needed
[2026-08-29 06:46:26,799.799 INFO    ] Checking for camera pi updates...
[2026-08-29 06:46:26,820.820 INFO    ] 200
[2026-08-29 06:46:26,821.821 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:46:26,847.847 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:46:26,930.930 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:46:26,931.931 INFO    ] No camera update needed
[2026-08-29 06:46:26,933.933 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:46:26,934.934 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:46:26,937.937 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:46:26,940.940 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:46:28,980.980 INFO    ] ================================================
[2026-08-29 06:46:29,996.996 INFO    ] Launching Daemon at Sat Aug 29 06:46:28 IST 2026
[2026-08-29 06:46:29,007.007 INFO    ] ================================================
[2026-08-29 06:46:29,369.369 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:46:29
[2026-08-29 06:46:29,705.705 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:46:29,855.855 INFO    ] Initializing speech engine...
[2026-08-29 06:46:29,861.861 INFO    ] 2026-08-29 06:46:29
[2026-08-29 06:46:30,069.069 INFO    ] 2026-08-29 06:46:30
[2026-08-29 06:46:30,099.099 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:46:30,223.223 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:46:30,281.281 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:46:30,426.426 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:46:30,486.486 INFO    ] time= 29/08/2026 06:46:30
[2026-08-29 06:46:30,521.521 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:46:30,528.528 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:46:30,594.594 INFO    ] No existing commands found in stream
[2026-08-29 06:46:35,607.607 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:46:35,610.610 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-08-29 06:46:36,885.885 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:46:36,887.887 INFO    ] Checking for system updates...
[2026-08-29 06:46:36,908.908 INFO    ] 200
[2026-08-29 06:46:36,909.909 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:46:36,943.943 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:46:36,944.944 INFO    ] No update needed
[2026-08-29 06:46:36,946.946 INFO    ] Checking for camera pi updates...
[2026-08-29 06:46:36,965.965 INFO    ] 200
[2026-08-29 06:46:36,966.966 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:46:36,989.989 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:46:37,065.065 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:46:37,068.068 INFO    ] No camera update needed
[2026-08-29 06:46:37,071.071 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:46:37,073.073 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:46:37,079.079 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:46:37,085.085 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:46:39,125.125 INFO    ] ================================================
[2026-08-29 06:46:39,141.141 INFO    ] Launching Daemon at Sat Aug 29 06:46:39 IST 2026
[2026-08-29 06:46:39,152.152 INFO    ] ================================================
[2026-08-29 06:46:39,739.739 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:46:39
[2026-08-29 06:46:40,221.221 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:46:40,366.366 INFO    ] Initializing speech engine...
[2026-08-29 06:46:40,371.371 INFO    ] 2026-08-29 06:46:40
[2026-08-29 06:46:40,583.583 INFO    ] 2026-08-29 06:46:40
[2026-08-29 06:46:40,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:46:40,817.817 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:46:40,826.826 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:46:40,960.960 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:46:41,006.006 INFO    ] time= 29/08/2026 06:46:40
[2026-08-29 06:46:41,065.065 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:46:41,091.091 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:46:41,145.145 INFO    ] No existing commands found in stream
[2026-08-29 06:46:46,153.153 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:46:46,156.156 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-08-29 06:46:47,061.061 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:46:47,062.062 INFO    ] Checking for system updates...
[2026-08-29 06:46:47,084.084 INFO    ] 200
[2026-08-29 06:46:47,085.085 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:46:47,119.119 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:46:47,121.121 INFO    ] No update needed
[2026-08-29 06:46:47,122.122 INFO    ] Checking for camera pi updates...
[2026-08-29 06:46:47,141.141 INFO    ] 200
[2026-08-29 06:46:47,143.143 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:46:47,166.166 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:46:47,265.265 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:46:47,266.266 INFO    ] No camera update needed
[2026-08-29 06:46:47,268.268 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:46:47,269.269 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:46:47,272.272 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:46:47,275.275 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:46:49,314.314 INFO    ] ================================================
[2026-08-29 06:46:49,330.330 INFO    ] Launching Daemon at Sat Aug 29 06:46:49 IST 2026
[2026-08-29 06:46:49,341.341 INFO    ] ================================================
[2026-08-29 06:46:49,660.660 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:46:49
[2026-08-29 06:46:49,974.974 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:46:50,104.104 INFO    ] Initializing speech engine...
[2026-08-29 06:46:50,108.108 INFO    ] 2026-08-29 06:46:50
[2026-08-29 06:46:50,330.330 INFO    ] 2026-08-29 06:46:50
[2026-08-29 06:46:50,360.360 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:46:50,499.499 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:46:50,536.536 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:46:50,685.685 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:46:50,692.692 INFO    ] time= 29/08/2026 06:46:50
[2026-08-29 06:46:50,701.701 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:46:50,752.752 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:46:50,870.870 INFO    ] No existing commands found in stream
[2026-08-29 06:46:55,894.894 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:46:55,897.897 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 06:47:00,784.784 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:47:00,786.786 INFO    ] Checking for system updates...
[2026-08-29 06:47:00,841.841 INFO    ] 200
[2026-08-29 06:47:00,843.843 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:47:00,897.897 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:47:00,899.899 INFO    ] No update needed
[2026-08-29 06:47:00,902.902 INFO    ] Checking for camera pi updates...
[2026-08-29 06:47:00,936.936 INFO    ] 200
[2026-08-29 06:47:00,938.938 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:47:00,985.985 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:47:01,066.066 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:47:01,069.069 INFO    ] No camera update needed
[2026-08-29 06:47:01,071.071 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:47:01,073.073 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:47:01,079.079 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:47:01,083.083 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:47:03,167.167 INFO    ] ================================================
[2026-08-29 06:47:03,188.188 INFO    ] Launching Daemon at Sat Aug 29 06:47:03 IST 2026
[2026-08-29 06:47:03,205.205 INFO    ] ================================================
[2026-08-29 06:47:03,851.851 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:47:03
[2026-08-29 06:47:04,447.447 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:47:04,745.745 INFO    ] Initializing speech engine...
[2026-08-29 06:47:04,756.756 INFO    ] 2026-08-29 06:47:04
[2026-08-29 06:47:05,067.067 INFO    ] 2026-08-29 06:47:05
[2026-08-29 06:47:05,154.154 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:47:05,323.323 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:47:05,386.386 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:47:05,532.532 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:47:05,584.584 INFO    ] time= 29/08/2026 06:47:05
[2026-08-29 06:47:05,641.641 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:47:05,655.655 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:47:05,782.782 INFO    ] No existing commands found in stream
[2026-08-29 06:47:10,809.809 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:47:10,813.813 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-08-29 06:47:14,375.375 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:47:14,377.377 INFO    ] Checking for system updates...
[2026-08-29 06:47:14,397.397 INFO    ] 200
[2026-08-29 06:47:14,399.399 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:47:14,429.429 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:47:14,430.430 INFO    ] No update needed
[2026-08-29 06:47:14,432.432 INFO    ] Checking for camera pi updates...
[2026-08-29 06:47:14,451.451 INFO    ] 200
[2026-08-29 06:47:14,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:47:14,476.476 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:47:14,553.553 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:47:14,554.554 INFO    ] No camera update needed
[2026-08-29 06:47:14,556.556 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:47:14,557.557 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:47:14,560.560 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:47:14,563.563 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:47:16,603.603 INFO    ] ================================================
[2026-08-29 06:47:16,625.625 INFO    ] Launching Daemon at Sat Aug 29 06:47:16 IST 2026
[2026-08-29 06:47:16,636.636 INFO    ] ================================================
[2026-08-29 06:47:16,959.959 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:47:16
[2026-08-29 06:47:17,273.273 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:47:17,416.416 INFO    ] Initializing speech engine...
[2026-08-29 06:47:17,422.422 INFO    ] 2026-08-29 06:47:17
[2026-08-29 06:47:17,610.610 INFO    ] 2026-08-29 06:47:17
[2026-08-29 06:47:17,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:47:17,812.812 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:47:17,825.825 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:47:17,970.970 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:47:17,978.978 INFO    ] time= 29/08/2026 06:47:17
[2026-08-29 06:47:17,985.985 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:47:18,031.031 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:47:18,166.166 INFO    ] No existing commands found in stream
[2026-08-29 06:47:23,190.190 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:47:23,193.193 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-08-29 06:47:26,256.256 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:47:26,258.258 INFO    ] Checking for system updates...
[2026-08-29 06:47:26,279.279 INFO    ] 200
[2026-08-29 06:47:26,281.281 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:47:26,310.310 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:47:26,312.312 INFO    ] No update needed
[2026-08-29 06:47:26,313.313 INFO    ] Checking for camera pi updates...
[2026-08-29 06:47:26,335.335 INFO    ] 200
[2026-08-29 06:47:26,336.336 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:47:26,358.358 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:47:26,436.436 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:47:26,438.438 INFO    ] No camera update needed
[2026-08-29 06:47:26,439.439 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:47:26,440.440 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:47:26,443.443 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:47:26,446.446 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:47:28,486.486 INFO    ] ================================================
[2026-08-29 06:47:28,501.501 INFO    ] Launching Daemon at Sat Aug 29 06:47:28 IST 2026
[2026-08-29 06:47:28,513.513 INFO    ] ================================================
[2026-08-29 06:47:29,107.107 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:47:29
[2026-08-29 06:47:29,715.715 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:47:29,981.981 INFO    ] Initializing speech engine...
[2026-08-29 06:47:29,996.996 INFO    ] 2026-08-29 06:47:29
[2026-08-29 06:47:30,231.231 INFO    ] 2026-08-29 06:47:30
[2026-08-29 06:47:30,262.262 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:47:30,396.396 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:47:30,433.433 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:47:30,565.565 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:47:30,610.610 INFO    ] time= 29/08/2026 06:47:30
[2026-08-29 06:47:30,656.656 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:47:30,696.696 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:47:30,793.793 INFO    ] No existing commands found in stream
[2026-08-29 06:47:35,804.804 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:47:35,807.807 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-08-29 06:47:39,613.613 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:47:39,615.615 INFO    ] Checking for system updates...
[2026-08-29 06:47:39,636.636 INFO    ] 200
[2026-08-29 06:47:39,638.638 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:47:39,668.668 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:47:39,670.670 INFO    ] No update needed
[2026-08-29 06:47:39,671.671 INFO    ] Checking for camera pi updates...
[2026-08-29 06:47:39,693.693 INFO    ] 200
[2026-08-29 06:47:39,694.694 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:47:39,718.718 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:47:39,793.793 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:47:39,794.794 INFO    ] No camera update needed
[2026-08-29 06:47:39,796.796 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:47:39,797.797 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:47:39,800.800 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:47:39,803.803 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:47:41,842.842 INFO    ] ================================================
[2026-08-29 06:47:41,857.857 INFO    ] Launching Daemon at Sat Aug 29 06:47:41 IST 2026
[2026-08-29 06:47:41,868.868 INFO    ] ================================================
[2026-08-29 06:47:42,208.208 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:47:42
[2026-08-29 06:47:42,521.521 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:47:42,790.790 INFO    ] Initializing speech engine...
[2026-08-29 06:47:42,798.798 INFO    ] 2026-08-29 06:47:42
[2026-08-29 06:47:43,053.053 INFO    ] 2026-08-29 06:47:43
[2026-08-29 06:47:43,113.113 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:47:43,336.336 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:47:43,345.345 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:47:43,477.477 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:47:43,498.498 INFO    ] time= 29/08/2026 06:47:43
[2026-08-29 06:47:43,563.563 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:47:43,610.610 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:47:43,665.665 INFO    ] No existing commands found in stream
[2026-08-29 06:47:48,677.677 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:47:48,680.680 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-08-29 06:47:55,230.230 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:47:55,231.231 INFO    ] Checking for system updates...
[2026-08-29 06:47:55,252.252 INFO    ] 200
[2026-08-29 06:47:55,253.253 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:47:55,285.285 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:47:55,287.287 INFO    ] No update needed
[2026-08-29 06:47:55,288.288 INFO    ] Checking for camera pi updates...
[2026-08-29 06:47:55,309.309 INFO    ] 200
[2026-08-29 06:47:55,310.310 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:47:55,334.334 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:47:55,409.409 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:47:55,411.411 INFO    ] No camera update needed
[2026-08-29 06:47:55,412.412 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:47:55,413.413 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:47:55,416.416 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:47:55,419.419 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:47:57,459.459 INFO    ] ================================================
[2026-08-29 06:47:57,474.474 INFO    ] Launching Daemon at Sat Aug 29 06:47:57 IST 2026
[2026-08-29 06:47:57,484.484 INFO    ] ================================================
[2026-08-29 06:47:58,067.067 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:47:58
[2026-08-29 06:47:58,663.663 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:47:58,922.922 INFO    ] Initializing speech engine...
[2026-08-29 06:47:58,940.940 INFO    ] 2026-08-29 06:47:58
[2026-08-29 06:47:59,187.187 INFO    ] 2026-08-29 06:47:59
[2026-08-29 06:47:59,223.223 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:47:59,396.396 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:47:59,408.408 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:47:59,548.548 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:47:59,557.557 INFO    ] time= 29/08/2026 06:47:59
[2026-08-29 06:47:59,563.563 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:47:59,608.608 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:47:59,723.723 INFO    ] No existing commands found in stream
[2026-08-29 06:48:04,753.753 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:48:04,756.756 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-08-29 06:48:08,528.528 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:48:08,529.529 INFO    ] Checking for system updates...
[2026-08-29 06:48:08,549.549 INFO    ] 200
[2026-08-29 06:48:08,551.551 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:48:08,585.585 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:48:08,586.586 INFO    ] No update needed
[2026-08-29 06:48:08,587.587 INFO    ] Checking for camera pi updates...
[2026-08-29 06:48:08,607.607 INFO    ] 200
[2026-08-29 06:48:08,608.608 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:48:08,631.631 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:48:08,816.816 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:48:08,818.818 INFO    ] No camera update needed
[2026-08-29 06:48:08,820.820 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:48:08,823.823 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:48:08,828.828 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:48:08,833.833 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:48:10,874.874 INFO    ] ================================================
[2026-08-29 06:48:10,889.889 INFO    ] Launching Daemon at Sat Aug 29 06:48:10 IST 2026
[2026-08-29 06:48:10,899.899 INFO    ] ================================================
[2026-08-29 06:48:11,468.468 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:48:11
[2026-08-29 06:48:11,919.919 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:48:12,135.135 INFO    ] Initializing speech engine...
[2026-08-29 06:48:12,159.159 INFO    ] 2026-08-29 06:48:12
[2026-08-29 06:48:12,429.429 INFO    ] 2026-08-29 06:48:12
[2026-08-29 06:48:12,468.468 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:48:12,659.659 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:48:12,674.674 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:48:12,798.798 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:48:12,804.804 INFO    ] time= 29/08/2026 06:48:12
[2026-08-29 06:48:12,823.823 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:48:12,843.843 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:48:12,926.926 INFO    ] No existing commands found in stream
[2026-08-29 06:48:17,939.939 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:48:17,942.942 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-08-29 06:48:20,329.329 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:48:20,330.330 INFO    ] Checking for system updates...
[2026-08-29 06:48:20,351.351 INFO    ] 200
[2026-08-29 06:48:20,352.352 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:48:20,383.383 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:48:20,384.384 INFO    ] No update needed
[2026-08-29 06:48:20,386.386 INFO    ] Checking for camera pi updates...
[2026-08-29 06:48:20,405.405 INFO    ] 200
[2026-08-29 06:48:20,406.406 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:48:20,429.429 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:48:20,508.508 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:48:20,511.511 INFO    ] No camera update needed
[2026-08-29 06:48:20,513.513 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:48:20,515.515 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:48:20,520.520 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:48:20,525.525 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:48:22,566.566 INFO    ] ================================================
[2026-08-29 06:48:22,581.581 INFO    ] Launching Daemon at Sat Aug 29 06:48:22 IST 2026
[2026-08-29 06:48:22,592.592 INFO    ] ================================================
[2026-08-29 06:48:23,167.167 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:48:23
[2026-08-29 06:48:23,673.673 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:48:23,804.804 INFO    ] Initializing speech engine...
[2026-08-29 06:48:23,807.807 INFO    ] 2026-08-29 06:48:23
[2026-08-29 06:48:24,025.025 INFO    ] 2026-08-29 06:48:24
[2026-08-29 06:48:24,054.054 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:48:24,178.178 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:48:24,241.241 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:48:24,380.380 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:48:24,448.448 INFO    ] time= 29/08/2026 06:48:24
[2026-08-29 06:48:24,473.473 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:48:24,479.479 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:48:24,546.546 INFO    ] No existing commands found in stream
[2026-08-29 06:48:29,555.555 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:48:29,558.558 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-08-29 06:48:33,536.536 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:48:33,539.539 INFO    ] Checking for system updates...
[2026-08-29 06:48:33,575.575 INFO    ] 200
[2026-08-29 06:48:33,577.577 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:48:33,639.639 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:48:33,641.641 INFO    ] No update needed
[2026-08-29 06:48:33,643.643 INFO    ] Checking for camera pi updates...
[2026-08-29 06:48:33,677.677 INFO    ] 200
[2026-08-29 06:48:33,679.679 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:48:33,720.720 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:48:33,803.803 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:48:33,806.806 INFO    ] No camera update needed
[2026-08-29 06:48:33,808.808 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:48:33,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:48:33,816.816 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:48:33,821.821 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:48:35,863.863 INFO    ] ================================================
[2026-08-29 06:48:35,879.879 INFO    ] Launching Daemon at Sat Aug 29 06:48:35 IST 2026
[2026-08-29 06:48:35,890.890 INFO    ] ================================================
[2026-08-29 06:48:36,236.236 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:48:36
[2026-08-29 06:48:36,573.573 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:48:36,724.724 INFO    ] Initializing speech engine...
[2026-08-29 06:48:36,729.729 INFO    ] 2026-08-29 06:48:36
[2026-08-29 06:48:36,944.944 INFO    ] 2026-08-29 06:48:36
[2026-08-29 06:48:37,007.007 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:48:37,188.188 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:48:37,208.208 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:48:37,405.405 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:48:37,440.440 INFO    ] time= 29/08/2026 06:48:37
[2026-08-29 06:48:37,460.460 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:48:37,489.489 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:48:37,592.592 INFO    ] No existing commands found in stream
[2026-08-29 06:48:42,610.610 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:48:42,613.613 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-08-29 06:48:46,820.820 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:48:46,822.822 INFO    ] Checking for system updates...
[2026-08-29 06:48:46,844.844 INFO    ] 200
[2026-08-29 06:48:46,845.845 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:48:46,887.887 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:48:46,890.890 INFO    ] No update needed
[2026-08-29 06:48:46,893.893 INFO    ] Checking for camera pi updates...
[2026-08-29 06:48:46,928.928 INFO    ] 200
[2026-08-29 06:48:46,931.931 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:48:46,973.973 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:48:47,090.090 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:48:47,093.093 INFO    ] No camera update needed
[2026-08-29 06:48:47,096.096 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:48:47,099.099 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:48:47,105.105 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:48:47,110.110 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:48:49,153.153 INFO    ] ================================================
[2026-08-29 06:48:49,168.168 INFO    ] Launching Daemon at Sat Aug 29 06:48:49 IST 2026
[2026-08-29 06:48:49,180.180 INFO    ] ================================================
[2026-08-29 06:48:49,838.838 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:48:49
[2026-08-29 06:48:50,255.255 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:48:50,406.406 INFO    ] Initializing speech engine...
[2026-08-29 06:48:50,412.412 INFO    ] 2026-08-29 06:48:50
[2026-08-29 06:48:50,621.621 INFO    ] 2026-08-29 06:48:50
[2026-08-29 06:48:50,649.649 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:48:50,792.792 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:48:50,835.835 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:48:50,969.969 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:48:51,032.032 INFO    ] time= 29/08/2026 06:48:50
[2026-08-29 06:48:51,064.064 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:48:51,071.071 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:48:51,137.137 INFO    ] No existing commands found in stream
[2026-08-29 06:48:56,148.148 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:48:56,151.151 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 06:48:57,394.394 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:48:57,395.395 INFO    ] Checking for system updates...
[2026-08-29 06:48:57,416.416 INFO    ] 200
[2026-08-29 06:48:57,417.417 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:48:57,447.447 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:48:57,448.448 INFO    ] No update needed
[2026-08-29 06:48:57,450.450 INFO    ] Checking for camera pi updates...
[2026-08-29 06:48:57,469.469 INFO    ] 200
[2026-08-29 06:48:57,470.470 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:48:57,494.494 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:48:57,570.570 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:48:57,572.572 INFO    ] No camera update needed
[2026-08-29 06:48:57,573.573 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:48:57,575.575 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:48:57,578.578 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:48:57,581.581 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:48:59,622.622 INFO    ] ================================================
[2026-08-29 06:48:59,639.639 INFO    ] Launching Daemon at Sat Aug 29 06:48:59 IST 2026
[2026-08-29 06:48:59,651.651 INFO    ] ================================================
[2026-08-29 06:49:00,360.360 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:49:00
[2026-08-29 06:49:01,018.018 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:49:01,277.277 INFO    ] Initializing speech engine...
[2026-08-29 06:49:01,300.300 INFO    ] 2026-08-29 06:49:01
[2026-08-29 06:49:01,554.554 INFO    ] 2026-08-29 06:49:01
[2026-08-29 06:49:01,681.681 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:49:01,893.893 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:49:01,898.898 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:49:02,010.010 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:49:02,015.015 INFO    ] time= 29/08/2026 06:49:02
[2026-08-29 06:49:02,023.023 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:49:02,026.026 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:49:02,135.135 INFO    ] No existing commands found in stream
[2026-08-29 06:49:07,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:49:07,153.153 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 06:49:07,672.672 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:49:07,674.674 INFO    ] Checking for system updates...
[2026-08-29 06:49:07,711.711 INFO    ] 200
[2026-08-29 06:49:07,714.714 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:49:07,766.766 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:49:07,768.768 INFO    ] No update needed
[2026-08-29 06:49:07,771.771 INFO    ] Checking for camera pi updates...
[2026-08-29 06:49:07,804.804 INFO    ] 200
[2026-08-29 06:49:07,806.806 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:49:07,847.847 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:49:07,953.953 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:49:07,955.955 INFO    ] No camera update needed
[2026-08-29 06:49:07,957.957 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:49:07,960.960 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:49:07,965.965 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:49:07,970.970 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:49:10,012.012 INFO    ] ================================================
[2026-08-29 06:49:10,028.028 INFO    ] Launching Daemon at Sat Aug 29 06:49:10 IST 2026
[2026-08-29 06:49:10,039.039 INFO    ] ================================================
[2026-08-29 06:49:10,408.408 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:49:10
[2026-08-29 06:49:10,726.726 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:49:10,858.858 INFO    ] Initializing speech engine...
[2026-08-29 06:49:10,866.866 INFO    ] 2026-08-29 06:49:10
[2026-08-29 06:49:11,067.067 INFO    ] 2026-08-29 06:49:11
[2026-08-29 06:49:11,111.111 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:49:11,334.334 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:49:11,344.344 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:49:11,478.478 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:49:11,495.495 INFO    ] time= 29/08/2026 06:49:11
[2026-08-29 06:49:11,549.549 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:49:11,603.603 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:49:11,667.667 INFO    ] No existing commands found in stream
[2026-08-29 06:49:16,679.679 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:49:16,682.682 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-08-29 06:49:19,014.014 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:49:19,016.016 INFO    ] Checking for system updates...
[2026-08-29 06:49:19,038.038 INFO    ] 200
[2026-08-29 06:49:19,039.039 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:49:19,086.086 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:49:19,088.088 INFO    ] No update needed
[2026-08-29 06:49:19,091.091 INFO    ] Checking for camera pi updates...
[2026-08-29 06:49:19,125.125 INFO    ] 200
[2026-08-29 06:49:19,127.127 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:49:19,173.173 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:49:19,250.250 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:49:19,252.252 INFO    ] No camera update needed
[2026-08-29 06:49:19,254.254 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:49:19,257.257 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:49:19,262.262 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:49:19,267.267 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:49:21,308.308 INFO    ] ================================================
[2026-08-29 06:49:21,324.324 INFO    ] Launching Daemon at Sat Aug 29 06:49:21 IST 2026
[2026-08-29 06:49:21,335.335 INFO    ] ================================================
[2026-08-29 06:49:21,920.920 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:49:21
[2026-08-29 06:49:22,357.357 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:49:22,615.615 INFO    ] Initializing speech engine...
[2026-08-29 06:49:22,624.624 INFO    ] 2026-08-29 06:49:22
[2026-08-29 06:49:22,885.885 INFO    ] 2026-08-29 06:49:22
[2026-08-29 06:49:22,940.940 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:49:23,160.160 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:49:23,169.169 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:49:23,301.301 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:49:23,328.328 INFO    ] time= 29/08/2026 06:49:23
[2026-08-29 06:49:23,383.383 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:49:23,432.432 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:49:23,491.491 INFO    ] No existing commands found in stream
[2026-08-29 06:49:28,503.503 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:49:28,506.506 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-08-29 06:49:32,177.177 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:49:32,180.180 INFO    ] Checking for system updates...
[2026-08-29 06:49:32,221.221 INFO    ] 200
[2026-08-29 06:49:32,224.224 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:49:32,281.281 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:49:32,284.284 INFO    ] No update needed
[2026-08-29 06:49:32,287.287 INFO    ] Checking for camera pi updates...
[2026-08-29 06:49:32,323.323 INFO    ] 200
[2026-08-29 06:49:32,326.326 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:49:32,371.371 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:49:32,459.459 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:49:32,462.462 INFO    ] No camera update needed
[2026-08-29 06:49:32,465.465 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:49:32,467.467 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:49:32,473.473 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:49:32,479.479 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:49:34,521.521 INFO    ] ================================================
[2026-08-29 06:49:34,537.537 INFO    ] Launching Daemon at Sat Aug 29 06:49:34 IST 2026
[2026-08-29 06:49:34,548.548 INFO    ] ================================================
[2026-08-29 06:49:35,142.142 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:49:35
[2026-08-29 06:49:35,477.477 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:49:35,620.620 INFO    ] Initializing speech engine...
[2026-08-29 06:49:35,630.630 INFO    ] 2026-08-29 06:49:35
[2026-08-29 06:49:35,838.838 INFO    ] 2026-08-29 06:49:35
[2026-08-29 06:49:35,876.876 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:49:36,070.070 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:49:36,076.076 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:49:36,207.207 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:49:36,213.213 INFO    ] time= 29/08/2026 06:49:36
[2026-08-29 06:49:36,218.218 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:49:36,237.237 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:49:36,331.331 INFO    ] No existing commands found in stream
[2026-08-29 06:49:41,348.348 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:49:41,351.351 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-08-29 06:49:42,700.700 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:49:42,701.701 INFO    ] Checking for system updates...
[2026-08-29 06:49:42,722.722 INFO    ] 200
[2026-08-29 06:49:42,723.723 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:49:42,753.753 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:49:42,755.755 INFO    ] No update needed
[2026-08-29 06:49:42,756.756 INFO    ] Checking for camera pi updates...
[2026-08-29 06:49:42,776.776 INFO    ] 200
[2026-08-29 06:49:42,777.777 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:49:42,802.802 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:49:42,900.900 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:49:42,902.902 INFO    ] No camera update needed
[2026-08-29 06:49:42,903.903 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:49:42,904.904 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:49:42,907.907 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:49:42,910.910 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:49:44,948.948 INFO    ] ================================================
[2026-08-29 06:49:44,964.964 INFO    ] Launching Daemon at Sat Aug 29 06:49:44 IST 2026
[2026-08-29 06:49:44,975.975 INFO    ] ================================================
[2026-08-29 06:49:45,335.335 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:49:45
[2026-08-29 06:49:45,669.669 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:49:45,822.822 INFO    ] Initializing speech engine...
[2026-08-29 06:49:45,827.827 INFO    ] 2026-08-29 06:49:45
[2026-08-29 06:49:46,049.049 INFO    ] 2026-08-29 06:49:46
[2026-08-29 06:49:46,104.104 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:49:46,333.333 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:49:46,339.339 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:49:46,477.477 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:49:46,489.489 INFO    ] time= 29/08/2026 06:49:46
[2026-08-29 06:49:46,555.555 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:49:46,616.616 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:49:46,671.671 INFO    ] No existing commands found in stream
[2026-08-29 06:49:51,685.685 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:49:51,688.688 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-08-29 06:49:54,709.709 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:49:54,711.711 INFO    ] Checking for system updates...
[2026-08-29 06:49:54,733.733 INFO    ] 200
[2026-08-29 06:49:54,734.734 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:49:54,765.765 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:49:54,767.767 INFO    ] No update needed
[2026-08-29 06:49:54,768.768 INFO    ] Checking for camera pi updates...
[2026-08-29 06:49:54,787.787 INFO    ] 200
[2026-08-29 06:49:54,789.789 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:49:54,812.812 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:49:54,893.893 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:49:54,894.894 INFO    ] No camera update needed
[2026-08-29 06:49:54,896.896 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:49:54,897.897 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:49:54,900.900 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:49:54,903.903 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:49:56,942.942 INFO    ] ================================================
[2026-08-29 06:49:56,958.958 INFO    ] Launching Daemon at Sat Aug 29 06:49:56 IST 2026
[2026-08-29 06:49:56,969.969 INFO    ] ================================================
[2026-08-29 06:49:57,324.324 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:49:57
[2026-08-29 06:49:57,640.640 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:49:57,783.783 INFO    ] Initializing speech engine...
[2026-08-29 06:49:57,788.788 INFO    ] 2026-08-29 06:49:57
[2026-08-29 06:49:57,993.993 INFO    ] 2026-08-29 06:49:57
[2026-08-29 06:49:58,022.022 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:49:58,143.143 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:49:58,200.200 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:49:58,342.342 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:49:58,401.401 INFO    ] time= 29/08/2026 06:49:58
[2026-08-29 06:49:58,433.433 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:49:58,435.435 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:49:58,505.505 INFO    ] No existing commands found in stream
[2026-08-29 06:50:03,515.515 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:50:03,517.517 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-08-29 06:50:08,580.580 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:50:08,583.583 INFO    ] Checking for system updates...
[2026-08-29 06:50:08,619.619 INFO    ] 200
[2026-08-29 06:50:08,622.622 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:50:08,675.675 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:50:08,678.678 INFO    ] No update needed
[2026-08-29 06:50:08,680.680 INFO    ] Checking for camera pi updates...
[2026-08-29 06:50:08,713.713 INFO    ] 200
[2026-08-29 06:50:08,715.715 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:50:08,738.738 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:50:08,846.846 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:50:08,847.847 INFO    ] No camera update needed
[2026-08-29 06:50:08,848.848 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:50:08,849.849 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:50:08,852.852 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:50:08,855.855 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:50:10,894.894 INFO    ] ================================================
[2026-08-29 06:50:10,910.910 INFO    ] Launching Daemon at Sat Aug 29 06:50:10 IST 2026
[2026-08-29 06:50:10,921.921 INFO    ] ================================================
[2026-08-29 06:50:11,262.262 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:50:11
[2026-08-29 06:50:11,578.578 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:50:11,813.813 INFO    ] Initializing speech engine...
[2026-08-29 06:50:11,819.819 INFO    ] 2026-08-29 06:50:11
[2026-08-29 06:50:12,097.097 INFO    ] 2026-08-29 06:50:12
[2026-08-29 06:50:12,132.132 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:50:12,311.311 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:50:12,325.325 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:50:12,454.454 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:50:12,474.474 INFO    ] time= 29/08/2026 06:50:12
[2026-08-29 06:50:12,482.482 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:50:12,490.490 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:50:12,557.557 INFO    ] No existing commands found in stream
[2026-08-29 06:50:17,592.592 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:50:17,595.595 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-08-29 06:50:21,076.076 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:50:21,077.077 INFO    ] Checking for system updates...
[2026-08-29 06:50:21,098.098 INFO    ] 200
[2026-08-29 06:50:21,100.100 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:50:21,130.130 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:50:21,131.131 INFO    ] No update needed
[2026-08-29 06:50:21,133.133 INFO    ] Checking for camera pi updates...
[2026-08-29 06:50:21,154.154 INFO    ] 200
[2026-08-29 06:50:21,155.155 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:50:21,181.181 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:50:21,360.360 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:50:21,361.361 INFO    ] No camera update needed
[2026-08-29 06:50:21,363.363 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:50:21,364.364 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:50:21,367.367 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:50:21,370.370 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:50:23,411.411 INFO    ] ================================================
[2026-08-29 06:50:23,427.427 INFO    ] Launching Daemon at Sat Aug 29 06:50:23 IST 2026
[2026-08-29 06:50:23,438.438 INFO    ] ================================================
[2026-08-29 06:50:23,994.994 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:50:23
[2026-08-29 06:50:24,595.595 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:50:24,869.869 INFO    ] Initializing speech engine...
[2026-08-29 06:50:24,878.878 INFO    ] 2026-08-29 06:50:24
[2026-08-29 06:50:25,141.141 INFO    ] 2026-08-29 06:50:25
[2026-08-29 06:50:25,195.195 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:50:25,358.358 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:50:25,403.403 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:50:25,561.561 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:50:25,583.583 INFO    ] time= 29/08/2026 06:50:25
[2026-08-29 06:50:25,642.642 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:50:25,695.695 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:50:25,750.750 INFO    ] No existing commands found in stream
[2026-08-29 06:50:30,762.762 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:50:30,765.765 INFO    ] Waiting 3.71 seconds before fallback handling...
[2026-08-29 06:50:34,882.882 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:50:34,885.885 INFO    ] Checking for system updates...
[2026-08-29 06:50:34,921.921 INFO    ] 200
[2026-08-29 06:50:34,923.923 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:50:34,977.977 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:50:34,980.980 INFO    ] No update needed
[2026-08-29 06:50:34,983.983 INFO    ] Checking for camera pi updates...
[2026-08-29 06:50:35,017.017 INFO    ] 200
[2026-08-29 06:50:35,019.019 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:50:35,060.060 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:50:35,184.184 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:50:35,186.186 INFO    ] No camera update needed
[2026-08-29 06:50:35,189.189 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:50:35,191.191 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:50:35,197.197 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:50:35,202.202 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:50:37,242.242 INFO    ] ================================================
[2026-08-29 06:50:37,257.257 INFO    ] Launching Daemon at Sat Aug 29 06:50:37 IST 2026
[2026-08-29 06:50:37,268.268 INFO    ] ================================================
[2026-08-29 06:50:37,596.596 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:50:37
[2026-08-29 06:50:37,914.914 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:50:38,074.074 INFO    ] Initializing speech engine...
[2026-08-29 06:50:38,087.087 INFO    ] 2026-08-29 06:50:38
[2026-08-29 06:50:38,355.355 INFO    ] 2026-08-29 06:50:38
[2026-08-29 06:50:38,390.390 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:50:38,564.564 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:50:38,587.587 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:50:38,717.717 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:50:38,726.726 INFO    ] time= 29/08/2026 06:50:38
[2026-08-29 06:50:38,732.732 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:50:38,783.783 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:50:38,894.894 INFO    ] No existing commands found in stream
[2026-08-29 06:50:43,924.924 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:50:43,927.927 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 06:50:45,335.335 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:50:45,337.337 INFO    ] Checking for system updates...
[2026-08-29 06:50:45,357.357 INFO    ] 200
[2026-08-29 06:50:45,359.359 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:50:45,389.389 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:50:45,390.390 INFO    ] No update needed
[2026-08-29 06:50:45,392.392 INFO    ] Checking for camera pi updates...
[2026-08-29 06:50:45,411.411 INFO    ] 200
[2026-08-29 06:50:45,413.413 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:50:45,438.438 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:50:45,513.513 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:50:45,514.514 INFO    ] No camera update needed
[2026-08-29 06:50:45,515.515 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:50:45,517.517 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:50:45,520.520 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:50:45,522.522 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:50:47,560.560 INFO    ] ================================================
[2026-08-29 06:50:47,575.575 INFO    ] Launching Daemon at Sat Aug 29 06:50:47 IST 2026
[2026-08-29 06:50:47,586.586 INFO    ] ================================================
[2026-08-29 06:50:47,952.952 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:50:47
[2026-08-29 06:50:48,264.264 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:50:48,397.397 INFO    ] Initializing speech engine...
[2026-08-29 06:50:48,405.405 INFO    ] 2026-08-29 06:50:48
[2026-08-29 06:50:48,668.668 INFO    ] 2026-08-29 06:50:48
[2026-08-29 06:50:48,705.705 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:50:48,881.881 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:50:48,887.887 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:50:49,009.009 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:50:49,029.029 INFO    ] time= 29/08/2026 06:50:49
[2026-08-29 06:50:49,049.049 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:50:49,057.057 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:50:49,129.129 INFO    ] No existing commands found in stream
[2026-08-29 06:50:54,164.164 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:50:54,167.167 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-08-29 06:50:57,281.281 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:50:57,283.283 INFO    ] Checking for system updates...
[2026-08-29 06:50:57,303.303 INFO    ] 200
[2026-08-29 06:50:57,305.305 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:50:57,338.338 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:50:57,339.339 INFO    ] No update needed
[2026-08-29 06:50:57,340.340 INFO    ] Checking for camera pi updates...
[2026-08-29 06:50:57,360.360 INFO    ] 200
[2026-08-29 06:50:57,361.361 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:50:57,384.384 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:50:57,469.469 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:50:57,471.471 INFO    ] No camera update needed
[2026-08-29 06:50:57,474.474 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:50:57,476.476 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:50:57,481.481 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:50:57,487.487 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:50:59,527.527 INFO    ] ================================================
[2026-08-29 06:50:59,542.542 INFO    ] Launching Daemon at Sat Aug 29 06:50:59 IST 2026
[2026-08-29 06:50:59,553.553 INFO    ] ================================================
[2026-08-29 06:51:00,122.122 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:51:00
[2026-08-29 06:51:00,571.571 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:51:00,709.709 INFO    ] Initializing speech engine...
[2026-08-29 06:51:00,721.721 INFO    ] 2026-08-29 06:51:00
[2026-08-29 06:51:00,971.971 INFO    ] 2026-08-29 06:51:00
[2026-08-29 06:51:01,006.006 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:51:01,184.184 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:51:01,197.197 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:51:01,326.326 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:51:01,346.346 INFO    ] time= 29/08/2026 06:51:01
[2026-08-29 06:51:01,353.353 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:51:01,360.360 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:51:01,426.426 INFO    ] No existing commands found in stream
[2026-08-29 06:51:06,438.438 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:51:06,441.441 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-08-29 06:51:08,411.411 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:51:08,413.413 INFO    ] Checking for system updates...
[2026-08-29 06:51:08,434.434 INFO    ] 200
[2026-08-29 06:51:08,436.436 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:51:08,465.465 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:51:08,466.466 INFO    ] No update needed
[2026-08-29 06:51:08,468.468 INFO    ] Checking for camera pi updates...
[2026-08-29 06:51:08,488.488 INFO    ] 200
[2026-08-29 06:51:08,489.489 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:51:08,512.512 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:51:08,644.644 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:51:08,645.645 INFO    ] No camera update needed
[2026-08-29 06:51:08,647.647 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:51:08,648.648 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:51:08,651.651 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:51:08,653.653 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:51:10,691.691 INFO    ] ================================================
[2026-08-29 06:51:10,706.706 INFO    ] Launching Daemon at Sat Aug 29 06:51:10 IST 2026
[2026-08-29 06:51:10,717.717 INFO    ] ================================================
[2026-08-29 06:51:11,184.184 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:51:11
[2026-08-29 06:51:11,769.769 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:51:12,030.030 INFO    ] Initializing speech engine...
[2026-08-29 06:51:12,051.051 INFO    ] 2026-08-29 06:51:12
[2026-08-29 06:51:12,331.331 INFO    ] 2026-08-29 06:51:12
[2026-08-29 06:51:12,368.368 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:51:12,537.537 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:51:12,560.560 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:51:12,691.691 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:51:12,700.700 INFO    ] time= 29/08/2026 06:51:12
[2026-08-29 06:51:12,716.716 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:51:12,771.771 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:51:12,874.874 INFO    ] No existing commands found in stream
[2026-08-29 06:51:17,905.905 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:51:17,908.908 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 06:51:19,437.437 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:51:19,438.438 INFO    ] Checking for system updates...
[2026-08-29 06:51:19,460.460 INFO    ] 200
[2026-08-29 06:51:19,462.462 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:51:19,497.497 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:51:19,498.498 INFO    ] No update needed
[2026-08-29 06:51:19,500.500 INFO    ] Checking for camera pi updates...
[2026-08-29 06:51:19,523.523 INFO    ] 200
[2026-08-29 06:51:19,525.525 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:51:19,550.550 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:51:19,625.625 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:51:19,627.627 INFO    ] No camera update needed
[2026-08-29 06:51:19,628.628 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:51:19,629.629 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:51:19,633.633 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:51:19,636.636 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:51:21,675.675 INFO    ] ================================================
[2026-08-29 06:51:21,690.690 INFO    ] Launching Daemon at Sat Aug 29 06:51:21 IST 2026
[2026-08-29 06:51:21,701.701 INFO    ] ================================================
[2026-08-29 06:51:22,207.207 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:51:22
[2026-08-29 06:51:22,877.877 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:51:23,180.180 INFO    ] Initializing speech engine...
[2026-08-29 06:51:23,191.191 INFO    ] 2026-08-29 06:51:23
[2026-08-29 06:51:23,463.463 INFO    ] 2026-08-29 06:51:23
[2026-08-29 06:51:23,517.517 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:51:23,740.740 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:51:23,750.750 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:51:23,884.884 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:51:23,932.932 INFO    ] time= 29/08/2026 06:51:23
[2026-08-29 06:51:24,002.002 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:51:24,022.022 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:51:24,138.138 INFO    ] No existing commands found in stream
[2026-08-29 06:51:29,164.164 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:51:29,167.167 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-08-29 06:51:32,842.842 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:51:32,845.845 INFO    ] Checking for system updates...
[2026-08-29 06:51:32,886.886 INFO    ] 200
[2026-08-29 06:51:32,889.889 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:51:32,942.942 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:51:32,944.944 INFO    ] No update needed
[2026-08-29 06:51:32,947.947 INFO    ] Checking for camera pi updates...
[2026-08-29 06:51:32,981.981 INFO    ] 200
[2026-08-29 06:51:32,984.984 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:51:33,027.027 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:51:33,108.108 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:51:33,111.111 INFO    ] No camera update needed
[2026-08-29 06:51:33,114.114 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:51:33,116.116 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:51:33,122.122 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:51:33,128.128 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:51:35,170.170 INFO    ] ================================================
[2026-08-29 06:51:35,185.185 INFO    ] Launching Daemon at Sat Aug 29 06:51:35 IST 2026
[2026-08-29 06:51:35,196.196 INFO    ] ================================================
[2026-08-29 06:51:35,824.824 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:51:35
[2026-08-29 06:51:36,137.137 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:51:36,280.280 INFO    ] Initializing speech engine...
[2026-08-29 06:51:36,285.285 INFO    ] 2026-08-29 06:51:36
[2026-08-29 06:51:36,491.491 INFO    ] 2026-08-29 06:51:36
[2026-08-29 06:51:36,519.519 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:51:36,644.644 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:51:36,707.707 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:51:36,847.847 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:51:36,900.900 INFO    ] time= 29/08/2026 06:51:36
[2026-08-29 06:51:36,936.936 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:51:36,955.955 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:51:37,073.073 INFO    ] No existing commands found in stream
[2026-08-29 06:51:42,103.103 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:51:42,106.106 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-08-29 06:51:46,113.113 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:51:46,115.115 INFO    ] Checking for system updates...
[2026-08-29 06:51:46,135.135 INFO    ] 200
[2026-08-29 06:51:46,136.136 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:51:46,170.170 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:51:46,172.172 INFO    ] No update needed
[2026-08-29 06:51:46,173.173 INFO    ] Checking for camera pi updates...
[2026-08-29 06:51:46,194.194 INFO    ] 200
[2026-08-29 06:51:46,195.195 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:51:46,218.218 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:51:46,302.302 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:51:46,304.304 INFO    ] No camera update needed
[2026-08-29 06:51:46,305.305 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:51:46,306.306 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:51:46,309.309 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:51:46,312.312 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:51:48,351.351 INFO    ] ================================================
[2026-08-29 06:51:48,367.367 INFO    ] Launching Daemon at Sat Aug 29 06:51:48 IST 2026
[2026-08-29 06:51:48,378.378 INFO    ] ================================================
[2026-08-29 06:51:48,768.768 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:51:48
[2026-08-29 06:51:49,105.105 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:51:49,258.258 INFO    ] Initializing speech engine...
[2026-08-29 06:51:49,259.259 INFO    ] 2026-08-29 06:51:49
[2026-08-29 06:51:49,471.471 INFO    ] 2026-08-29 06:51:49
[2026-08-29 06:51:49,500.500 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:51:49,633.633 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:51:49,687.687 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:51:49,824.824 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:51:49,890.890 INFO    ] time= 29/08/2026 06:51:49
[2026-08-29 06:51:49,914.914 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:51:49,921.921 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:51:49,987.987 INFO    ] No existing commands found in stream
[2026-08-29 06:51:54,998.998 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:51:55,001.001 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-08-29 06:51:57,421.421 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:51:57,422.422 INFO    ] Checking for system updates...
[2026-08-29 06:51:57,445.445 INFO    ] 200
[2026-08-29 06:51:57,446.446 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:51:57,476.476 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:51:57,477.477 INFO    ] No update needed
[2026-08-29 06:51:57,479.479 INFO    ] Checking for camera pi updates...
[2026-08-29 06:51:57,499.499 INFO    ] 200
[2026-08-29 06:51:57,500.500 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:51:57,523.523 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:51:57,630.630 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:51:57,632.632 INFO    ] No camera update needed
[2026-08-29 06:51:57,633.633 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:51:57,634.634 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:51:57,637.637 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:51:57,640.640 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:51:59,671.671 INFO    ] ================================================
[2026-08-29 06:51:59,686.686 INFO    ] Launching Daemon at Sat Aug 29 06:51:59 IST 2026
[2026-08-29 06:51:59,696.696 INFO    ] ================================================
[2026-08-29 06:52:00,046.046 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:52:00
[2026-08-29 06:52:00,364.364 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:52:00,569.569 INFO    ] Initializing speech engine...
[2026-08-29 06:52:00,590.590 INFO    ] 2026-08-29 06:52:00
[2026-08-29 06:52:00,849.849 INFO    ] 2026-08-29 06:52:00
[2026-08-29 06:52:00,885.885 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:52:01,058.058 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:52:01,081.081 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:52:01,210.210 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:52:01,219.219 INFO    ] time= 29/08/2026 06:52:01
[2026-08-29 06:52:01,226.226 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:52:01,272.272 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:52:01,398.398 INFO    ] No existing commands found in stream
[2026-08-29 06:52:06,428.428 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:52:06,431.431 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-08-29 06:52:09,152.152 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:52:09,154.154 INFO    ] Checking for system updates...
[2026-08-29 06:52:09,174.174 INFO    ] 200
[2026-08-29 06:52:09,175.175 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:52:09,205.205 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:52:09,206.206 INFO    ] No update needed
[2026-08-29 06:52:09,208.208 INFO    ] Checking for camera pi updates...
[2026-08-29 06:52:09,229.229 INFO    ] 200
[2026-08-29 06:52:09,230.230 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:52:09,255.255 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:52:09,328.328 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:52:09,329.329 INFO    ] No camera update needed
[2026-08-29 06:52:09,331.331 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:52:09,332.332 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:52:09,335.335 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:52:09,338.338 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:52:11,376.376 INFO    ] ================================================
[2026-08-29 06:52:11,390.390 INFO    ] Launching Daemon at Sat Aug 29 06:52:11 IST 2026
[2026-08-29 06:52:11,401.401 INFO    ] ================================================
[2026-08-29 06:52:11,753.753 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:52:11
[2026-08-29 06:52:12,064.064 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:52:12,314.314 INFO    ] Initializing speech engine...
[2026-08-29 06:52:12,322.322 INFO    ] 2026-08-29 06:52:12
[2026-08-29 06:52:12,592.592 INFO    ] 2026-08-29 06:52:12
[2026-08-29 06:52:12,647.647 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:52:12,871.871 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:52:12,880.880 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:52:13,015.015 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:52:13,066.066 INFO    ] time= 29/08/2026 06:52:13
[2026-08-29 06:52:13,120.120 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:52:13,146.146 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:52:13,203.203 INFO    ] No existing commands found in stream
[2026-08-29 06:52:18,215.215 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:52:18,218.218 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-08-29 06:52:19,023.023 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:52:19,024.024 INFO    ] Checking for system updates...
[2026-08-29 06:52:19,045.045 INFO    ] 200
[2026-08-29 06:52:19,046.046 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:52:19,080.080 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:52:19,081.081 INFO    ] No update needed
[2026-08-29 06:52:19,083.083 INFO    ] Checking for camera pi updates...
[2026-08-29 06:52:19,103.103 INFO    ] 200
[2026-08-29 06:52:19,104.104 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:52:19,127.127 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:52:19,217.217 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:52:19,218.218 INFO    ] No camera update needed
[2026-08-29 06:52:19,220.220 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:52:19,221.221 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:52:19,224.224 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:52:19,226.226 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:52:21,264.264 INFO    ] ================================================
[2026-08-29 06:52:21,279.279 INFO    ] Launching Daemon at Sat Aug 29 06:52:21 IST 2026
[2026-08-29 06:52:21,289.289 INFO    ] ================================================
[2026-08-29 06:52:21,667.667 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:52:21
[2026-08-29 06:52:21,984.984 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:52:22,153.153 INFO    ] Initializing speech engine...
[2026-08-29 06:52:22,162.162 INFO    ] 2026-08-29 06:52:22
[2026-08-29 06:52:22,413.413 INFO    ] 2026-08-29 06:52:22
[2026-08-29 06:52:22,449.449 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:52:22,656.656 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:52:22,719.719 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:52:22,868.868 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:52:22,914.914 INFO    ] time= 29/08/2026 06:52:22
[2026-08-29 06:52:22,979.979 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:52:23,007.007 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:52:23,065.065 INFO    ] No existing commands found in stream
[2026-08-29 06:52:28,092.092 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:52:28,095.095 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-08-29 06:52:30,495.495 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:52:30,496.496 INFO    ] Checking for system updates...
[2026-08-29 06:52:30,517.517 INFO    ] 200
[2026-08-29 06:52:30,518.518 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:52:30,550.550 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:52:30,552.552 INFO    ] No update needed
[2026-08-29 06:52:30,554.554 INFO    ] Checking for camera pi updates...
[2026-08-29 06:52:30,573.573 INFO    ] 200
[2026-08-29 06:52:30,575.575 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:52:30,597.597 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:52:30,775.775 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:52:30,776.776 INFO    ] No camera update needed
[2026-08-29 06:52:30,777.777 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:52:30,779.779 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:52:30,781.781 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:52:30,784.784 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:52:32,828.828 INFO    ] ================================================
[2026-08-29 06:52:32,843.843 INFO    ] Launching Daemon at Sat Aug 29 06:52:32 IST 2026
[2026-08-29 06:52:32,853.853 INFO    ] ================================================
[2026-08-29 06:52:33,490.490 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:52:33
[2026-08-29 06:52:34,146.146 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:52:34,448.448 INFO    ] Initializing speech engine...
[2026-08-29 06:52:34,453.453 INFO    ] 2026-08-29 06:52:34
[2026-08-29 06:52:34,725.725 INFO    ] 2026-08-29 06:52:34
[2026-08-29 06:52:34,785.785 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:52:35,026.026 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:52:35,036.036 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:52:35,174.174 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:52:35,216.216 INFO    ] time= 29/08/2026 06:52:35
[2026-08-29 06:52:35,289.289 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:52:35,320.320 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:52:35,445.445 INFO    ] No existing commands found in stream
[2026-08-29 06:52:40,467.467 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:52:40,470.470 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-08-29 06:52:44,155.155 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:52:44,156.156 INFO    ] Checking for system updates...
[2026-08-29 06:52:44,178.178 INFO    ] 200
[2026-08-29 06:52:44,179.179 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:52:44,209.209 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:52:44,210.210 INFO    ] No update needed
[2026-08-29 06:52:44,212.212 INFO    ] Checking for camera pi updates...
[2026-08-29 06:52:44,231.231 INFO    ] 200
[2026-08-29 06:52:44,233.233 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:52:44,256.256 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:52:44,335.335 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:52:44,337.337 INFO    ] No camera update needed
[2026-08-29 06:52:44,338.338 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:52:44,339.339 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:52:44,343.343 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:52:44,346.346 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:52:46,376.376 INFO    ] ================================================
[2026-08-29 06:52:46,384.384 INFO    ] Launching Daemon at Sat Aug 29 06:52:46 IST 2026
[2026-08-29 06:52:46,390.390 INFO    ] ================================================
[2026-08-29 06:52:47,004.004 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:52:47
[2026-08-29 06:52:47,660.660 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:52:47,959.959 INFO    ] Initializing speech engine...
[2026-08-29 06:52:47,972.972 INFO    ] 2026-08-29 06:52:47
[2026-08-29 06:52:48,240.240 INFO    ] 2026-08-29 06:52:48
[2026-08-29 06:52:48,293.293 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:52:48,521.521 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:52:48,532.532 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:52:48,668.668 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:52:48,690.690 INFO    ] time= 29/08/2026 06:52:48
[2026-08-29 06:52:48,745.745 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:52:48,799.799 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:52:48,859.859 INFO    ] No existing commands found in stream
[2026-08-29 06:52:53,871.871 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:52:53,875.875 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-08-29 06:52:56,912.912 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:52:56,914.914 INFO    ] Checking for system updates...
[2026-08-29 06:52:56,936.936 INFO    ] 200
[2026-08-29 06:52:56,937.937 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:52:56,967.967 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:52:56,968.968 INFO    ] No update needed
[2026-08-29 06:52:56,969.969 INFO    ] Checking for camera pi updates...
[2026-08-29 06:52:56,989.989 INFO    ] 200
[2026-08-29 06:52:56,990.990 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:52:57,015.015 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:52:57,113.113 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:52:57,115.115 INFO    ] No camera update needed
[2026-08-29 06:52:57,117.117 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:52:57,120.120 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:52:57,125.125 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:52:57,130.130 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:52:59,169.169 INFO    ] ================================================
[2026-08-29 06:52:59,184.184 INFO    ] Launching Daemon at Sat Aug 29 06:52:59 IST 2026
[2026-08-29 06:52:59,195.195 INFO    ] ================================================
[2026-08-29 06:52:59,776.776 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:52:59
[2026-08-29 06:53:00,263.263 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:53:00,398.398 INFO    ] Initializing speech engine...
[2026-08-29 06:53:00,401.401 INFO    ] 2026-08-29 06:53:00
[2026-08-29 06:53:00,611.611 INFO    ] 2026-08-29 06:53:00
[2026-08-29 06:53:00,650.650 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:53:00,824.824 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:53:00,878.878 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:53:01,024.024 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:53:01,046.046 INFO    ] time= 29/08/2026 06:53:01
[2026-08-29 06:53:01,115.115 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:53:01,158.158 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:53:01,210.210 INFO    ] No existing commands found in stream
[2026-08-29 06:53:06,221.221 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:53:06,224.224 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-08-29 06:53:08,462.462 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:53:08,465.465 INFO    ] Checking for system updates...
[2026-08-29 06:53:08,502.502 INFO    ] 200
[2026-08-29 06:53:08,505.505 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:53:08,562.562 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:53:08,565.565 INFO    ] No update needed
[2026-08-29 06:53:08,567.567 INFO    ] Checking for camera pi updates...
[2026-08-29 06:53:08,600.600 INFO    ] 200
[2026-08-29 06:53:08,603.603 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:53:08,643.643 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:53:08,747.747 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:53:08,750.750 INFO    ] No camera update needed
[2026-08-29 06:53:08,752.752 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:53:08,755.755 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:53:08,760.760 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:53:08,765.765 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:53:10,805.805 INFO    ] ================================================
[2026-08-29 06:53:10,820.820 INFO    ] Launching Daemon at Sat Aug 29 06:53:10 IST 2026
[2026-08-29 06:53:10,831.831 INFO    ] ================================================
[2026-08-29 06:53:11,420.420 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:53:11
[2026-08-29 06:53:11,742.742 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:53:11,933.933 INFO    ] Initializing speech engine...
[2026-08-29 06:53:11,943.943 INFO    ] 2026-08-29 06:53:11
[2026-08-29 06:53:12,192.192 INFO    ] 2026-08-29 06:53:12
[2026-08-29 06:53:12,258.258 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:53:12,418.418 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:53:12,446.446 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:53:12,556.556 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:53:12,577.577 INFO    ] time= 29/08/2026 06:53:12
[2026-08-29 06:53:12,600.600 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:53:12,609.609 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:53:12,684.684 INFO    ] No existing commands found in stream
[2026-08-29 06:53:17,695.695 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:53:17,698.698 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-08-29 06:53:19,245.245 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:53:19,247.247 INFO    ] Checking for system updates...
[2026-08-29 06:53:19,267.267 INFO    ] 200
[2026-08-29 06:53:19,268.268 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:53:19,300.300 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:53:19,301.301 INFO    ] No update needed
[2026-08-29 06:53:19,303.303 INFO    ] Checking for camera pi updates...
[2026-08-29 06:53:19,323.323 INFO    ] 200
[2026-08-29 06:53:19,325.325 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:53:19,347.347 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:53:19,439.439 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:53:19,442.442 INFO    ] No camera update needed
[2026-08-29 06:53:19,444.444 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:53:19,447.447 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:53:19,452.452 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:53:19,457.457 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:53:21,496.496 INFO    ] ================================================
[2026-08-29 06:53:21,511.511 INFO    ] Launching Daemon at Sat Aug 29 06:53:21 IST 2026
[2026-08-29 06:53:21,522.522 INFO    ] ================================================
[2026-08-29 06:53:21,886.886 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:53:21
[2026-08-29 06:53:22,198.198 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:53:22,333.333 INFO    ] Initializing speech engine...
[2026-08-29 06:53:22,346.346 INFO    ] 2026-08-29 06:53:22
[2026-08-29 06:53:22,560.560 INFO    ] 2026-08-29 06:53:22
[2026-08-29 06:53:22,591.591 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:53:22,738.738 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:53:22,790.790 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:53:22,929.929 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:53:22,990.990 INFO    ] time= 29/08/2026 06:53:22
[2026-08-29 06:53:23,024.024 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:53:23,035.035 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:53:23,110.110 INFO    ] No existing commands found in stream
[2026-08-29 06:53:28,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:53:28,124.124 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-08-29 06:53:29,735.735 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:53:29,738.738 INFO    ] Checking for system updates...
[2026-08-29 06:53:29,777.777 INFO    ] 200
[2026-08-29 06:53:29,780.780 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:53:29,838.838 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:53:29,840.840 INFO    ] No update needed
[2026-08-29 06:53:29,843.843 INFO    ] Checking for camera pi updates...
[2026-08-29 06:53:29,880.880 INFO    ] 200
[2026-08-29 06:53:29,883.883 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:53:29,923.923 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:53:30,052.052 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:53:30,055.055 INFO    ] No camera update needed
[2026-08-29 06:53:30,058.058 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:53:30,060.060 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:53:30,066.066 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:53:30,071.071 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:53:32,107.107 INFO    ] ================================================
[2026-08-29 06:53:32,124.124 INFO    ] Launching Daemon at Sat Aug 29 06:53:32 IST 2026
[2026-08-29 06:53:32,136.136 INFO    ] ================================================
[2026-08-29 06:53:32,798.798 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:53:32
[2026-08-29 06:53:33,387.387 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:53:33,649.649 INFO    ] Initializing speech engine...
[2026-08-29 06:53:33,662.662 INFO    ] 2026-08-29 06:53:33
[2026-08-29 06:53:33,946.946 INFO    ] 2026-08-29 06:53:33
[2026-08-29 06:53:33,981.981 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:53:34,175.175 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:53:34,191.191 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:53:34,315.315 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:53:34,321.321 INFO    ] time= 29/08/2026 06:53:34
[2026-08-29 06:53:34,341.341 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:53:34,363.363 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:53:34,444.444 INFO    ] No existing commands found in stream
[2026-08-29 06:53:39,457.457 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:53:39,460.460 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-08-29 06:53:42,909.909 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:53:42,910.910 INFO    ] Checking for system updates...
[2026-08-29 06:53:42,932.932 INFO    ] 200
[2026-08-29 06:53:42,933.933 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:53:42,963.963 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:53:42,964.964 INFO    ] No update needed
[2026-08-29 06:53:42,965.965 INFO    ] Checking for camera pi updates...
[2026-08-29 06:53:42,984.984 INFO    ] 200
[2026-08-29 06:53:42,986.986 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:53:43,021.021 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:53:43,110.110 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:53:43,113.113 INFO    ] No camera update needed
[2026-08-29 06:53:43,115.115 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:53:43,117.117 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:53:43,123.123 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:53:43,128.128 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:53:45,168.168 INFO    ] ================================================
[2026-08-29 06:53:45,184.184 INFO    ] Launching Daemon at Sat Aug 29 06:53:45 IST 2026
[2026-08-29 06:53:45,195.195 INFO    ] ================================================
[2026-08-29 06:53:45,766.766 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:53:45
[2026-08-29 06:53:46,249.249 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:53:46,433.433 INFO    ] Initializing speech engine...
[2026-08-29 06:53:46,453.453 INFO    ] 2026-08-29 06:53:46
[2026-08-29 06:53:46,712.712 INFO    ] 2026-08-29 06:53:46
[2026-08-29 06:53:46,747.747 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:53:46,922.922 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:53:46,935.935 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:53:47,079.079 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:53:47,086.086 INFO    ] time= 29/08/2026 06:53:47
[2026-08-29 06:53:47,094.094 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:53:47,149.149 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:53:47,267.267 INFO    ] No existing commands found in stream
[2026-08-29 06:53:52,295.295 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:53:52,297.297 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-08-29 06:53:52,619.619 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:53:52,623.623 INFO    ] Checking for system updates...
[2026-08-29 06:53:52,674.674 INFO    ] 200
[2026-08-29 06:53:52,675.675 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 06:53:52,677.677 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-08-29 06:53:52,678.678 INFO    ] Checking for camera pi updates...
[2026-08-29 06:53:52,726.726 INFO    ] 200
[2026-08-29 06:53:52,730.730 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 06:53:52,735.735 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-08-29 06:53:52,738.738 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:53:52,742.742 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:53:52,749.749 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:53:52,756.756 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:53:54,799.799 INFO    ] ================================================
[2026-08-29 06:53:54,815.815 INFO    ] Launching Daemon at Sat Aug 29 06:53:54 IST 2026
[2026-08-29 06:53:54,826.826 INFO    ] ================================================
[2026-08-29 06:53:55,395.395 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:53:55
[2026-08-29 06:53:55,904.904 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:53:56,058.058 INFO    ] Initializing speech engine...
[2026-08-29 06:53:56,065.065 INFO    ] 2026-08-29 06:53:56
[2026-08-29 06:53:56,343.343 INFO    ] 2026-08-29 06:53:56
[2026-08-29 06:53:56,379.379 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:53:56,557.557 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:53:56,571.571 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:53:56,716.716 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:53:56,725.725 INFO    ] time= 29/08/2026 06:53:56
[2026-08-29 06:53:56,731.731 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:53:56,752.752 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:53:56,883.883 INFO    ] No existing commands found in stream
[2026-08-29 06:54:01,904.904 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:54:01,907.907 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-08-29 06:54:05,384.384 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:54:05,385.385 INFO    ] Checking for system updates...
[2026-08-29 06:54:05,406.406 INFO    ] 200
[2026-08-29 06:54:05,407.407 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:54:05,437.437 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:54:05,438.438 INFO    ] No update needed
[2026-08-29 06:54:05,440.440 INFO    ] Checking for camera pi updates...
[2026-08-29 06:54:05,459.459 INFO    ] 200
[2026-08-29 06:54:05,460.460 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:54:05,485.485 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:54:05,580.580 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:54:05,582.582 INFO    ] No camera update needed
[2026-08-29 06:54:05,583.583 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:54:05,585.585 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:54:05,588.588 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:54:05,591.591 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:54:07,631.631 INFO    ] ================================================
[2026-08-29 06:54:07,648.648 INFO    ] Launching Daemon at Sat Aug 29 06:54:07 IST 2026
[2026-08-29 06:54:07,659.659 INFO    ] ================================================
[2026-08-29 06:54:08,009.009 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:54:08
[2026-08-29 06:54:08,327.327 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:54:08,586.586 INFO    ] Initializing speech engine...
[2026-08-29 06:54:08,604.604 INFO    ] 2026-08-29 06:54:08
[2026-08-29 06:54:08,851.851 INFO    ] 2026-08-29 06:54:08
[2026-08-29 06:54:08,887.887 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:54:09,060.060 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:54:09,073.073 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:54:09,215.215 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:54:09,223.223 INFO    ] time= 29/08/2026 06:54:09
[2026-08-29 06:54:09,230.230 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:54:09,250.250 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:54:09,379.379 INFO    ] No existing commands found in stream
[2026-08-29 06:54:14,409.409 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:54:14,412.412 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 06:54:15,981.981 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:54:15,983.983 INFO    ] Checking for system updates...
[2026-08-29 06:54:16,003.003 INFO    ] 200
[2026-08-29 06:54:16,005.005 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:54:16,035.035 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:54:16,036.036 INFO    ] No update needed
[2026-08-29 06:54:16,037.037 INFO    ] Checking for camera pi updates...
[2026-08-29 06:54:16,058.058 INFO    ] 200
[2026-08-29 06:54:16,059.059 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:54:16,083.083 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:54:16,194.194 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:54:16,196.196 INFO    ] No camera update needed
[2026-08-29 06:54:16,198.198 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:54:16,200.200 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:54:16,206.206 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:54:16,211.211 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:54:18,251.251 INFO    ] ================================================
[2026-08-29 06:54:18,266.266 INFO    ] Launching Daemon at Sat Aug 29 06:54:18 IST 2026
[2026-08-29 06:54:18,278.278 INFO    ] ================================================
[2026-08-29 06:54:18,853.853 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:54:18
[2026-08-29 06:54:19,286.286 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:54:19,418.418 INFO    ] Initializing speech engine...
[2026-08-29 06:54:19,422.422 INFO    ] 2026-08-29 06:54:19
[2026-08-29 06:54:19,650.650 INFO    ] 2026-08-29 06:54:19
[2026-08-29 06:54:19,681.681 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:54:19,814.814 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:54:19,867.867 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:54:20,022.022 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:54:20,080.080 INFO    ] time= 29/08/2026 06:54:20
[2026-08-29 06:54:20,124.124 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:54:20,131.131 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:54:20,208.208 INFO    ] No existing commands found in stream
[2026-08-29 06:54:25,217.217 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:54:25,220.220 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-08-29 06:54:27,425.425 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:54:27,427.427 INFO    ] Checking for system updates...
[2026-08-29 06:54:27,447.447 INFO    ] 200
[2026-08-29 06:54:27,448.448 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:54:27,480.480 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:54:27,482.482 INFO    ] No update needed
[2026-08-29 06:54:27,483.483 INFO    ] Checking for camera pi updates...
[2026-08-29 06:54:27,504.504 INFO    ] 200
[2026-08-29 06:54:27,505.505 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:54:27,528.528 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:54:27,624.624 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:54:27,625.625 INFO    ] No camera update needed
[2026-08-29 06:54:27,626.626 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:54:27,628.628 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:54:27,630.630 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:54:27,633.633 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:54:29,673.673 INFO    ] ================================================
[2026-08-29 06:54:29,688.688 INFO    ] Launching Daemon at Sat Aug 29 06:54:29 IST 2026
[2026-08-29 06:54:29,699.699 INFO    ] ================================================
[2026-08-29 06:54:30,067.067 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:54:30
[2026-08-29 06:54:30,378.378 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:54:30,521.521 INFO    ] Initializing speech engine...
[2026-08-29 06:54:30,531.531 INFO    ] 2026-08-29 06:54:30
[2026-08-29 06:54:30,742.742 INFO    ] 2026-08-29 06:54:30
[2026-08-29 06:54:30,772.772 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:54:30,884.884 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:54:30,885.885 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:54:30,997.997 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:54:31,036.036 INFO    ] time= 29/08/2026 06:54:30
[2026-08-29 06:54:31,078.078 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:54:31,108.108 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:54:31,196.196 INFO    ] No existing commands found in stream
[2026-08-29 06:54:36,210.210 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:54:36,218.218 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-08-29 06:54:38,451.451 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:54:38,453.453 INFO    ] Checking for system updates...
[2026-08-29 06:54:38,473.473 INFO    ] 200
[2026-08-29 06:54:38,475.475 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:54:38,505.505 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:54:38,507.507 INFO    ] No update needed
[2026-08-29 06:54:38,508.508 INFO    ] Checking for camera pi updates...
[2026-08-29 06:54:38,528.528 INFO    ] 200
[2026-08-29 06:54:38,530.530 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:54:38,553.553 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:54:38,653.653 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:54:38,655.655 INFO    ] No camera update needed
[2026-08-29 06:54:38,656.656 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:54:38,657.657 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:54:38,661.661 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:54:38,664.664 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:54:40,703.703 INFO    ] ================================================
[2026-08-29 06:54:40,718.718 INFO    ] Launching Daemon at Sat Aug 29 06:54:40 IST 2026
[2026-08-29 06:54:40,729.729 INFO    ] ================================================
[2026-08-29 06:54:41,087.087 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:54:41
[2026-08-29 06:54:41,405.405 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:54:41,539.539 INFO    ] Initializing speech engine...
[2026-08-29 06:54:41,553.553 INFO    ] 2026-08-29 06:54:41
[2026-08-29 06:54:41,759.759 INFO    ] 2026-08-29 06:54:41
[2026-08-29 06:54:41,788.788 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:54:41,926.926 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:54:41,973.973 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:54:42,108.108 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:54:42,116.116 INFO    ] time= 29/08/2026 06:54:42
[2026-08-29 06:54:42,128.128 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:54:42,191.191 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:54:42,317.317 INFO    ] No existing commands found in stream
[2026-08-29 06:54:47,332.332 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:54:47,335.335 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-08-29 06:54:49,641.641 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:54:49,643.643 INFO    ] Checking for system updates...
[2026-08-29 06:54:49,665.665 INFO    ] 200
[2026-08-29 06:54:49,666.666 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:54:49,698.698 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:54:49,700.700 INFO    ] No update needed
[2026-08-29 06:54:49,701.701 INFO    ] Checking for camera pi updates...
[2026-08-29 06:54:49,721.721 INFO    ] 200
[2026-08-29 06:54:49,722.722 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:54:49,748.748 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:54:49,830.830 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:54:49,831.831 INFO    ] No camera update needed
[2026-08-29 06:54:49,833.833 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:54:49,834.834 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:54:49,837.837 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:54:49,840.840 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:54:51,880.880 INFO    ] ================================================
[2026-08-29 06:54:51,895.895 INFO    ] Launching Daemon at Sat Aug 29 06:54:51 IST 2026
[2026-08-29 06:54:51,906.906 INFO    ] ================================================
[2026-08-29 06:54:52,240.240 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:54:52
[2026-08-29 06:54:52,563.563 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:54:52,946.946 INFO    ] Initializing speech engine...
[2026-08-29 06:54:52,957.957 INFO    ] 2026-08-29 06:54:52
[2026-08-29 06:54:53,323.323 INFO    ] 2026-08-29 06:54:53
[2026-08-29 06:54:53,408.408 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:54:53,680.680 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:54:53,726.726 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:54:53,860.860 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:54:53,880.880 INFO    ] time= 29/08/2026 06:54:53
[2026-08-29 06:54:53,915.915 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:54:53,918.918 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:54:53,972.972 INFO    ] No existing commands found in stream
[2026-08-29 06:54:58,984.984 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:54:58,987.987 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-08-29 06:55:00,476.476 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:55:00,478.478 INFO    ] Checking for system updates...
[2026-08-29 06:55:00,498.498 INFO    ] 200
[2026-08-29 06:55:00,500.500 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:55:00,533.533 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:55:00,534.534 INFO    ] No update needed
[2026-08-29 06:55:00,536.536 INFO    ] Checking for camera pi updates...
[2026-08-29 06:55:00,559.559 INFO    ] 200
[2026-08-29 06:55:00,560.560 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:55:00,587.587 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:55:00,690.690 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:55:00,692.692 INFO    ] No camera update needed
[2026-08-29 06:55:00,693.693 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:55:00,695.695 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:55:00,698.698 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:55:00,701.701 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:55:02,769.769 INFO    ] ================================================
[2026-08-29 06:55:02,790.790 INFO    ] Launching Daemon at Sat Aug 29 06:55:02 IST 2026
[2026-08-29 06:55:02,809.809 INFO    ] ================================================
[2026-08-29 06:55:03,474.474 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:55:03
[2026-08-29 06:55:04,057.057 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:55:04,307.307 INFO    ] Initializing speech engine...
[2026-08-29 06:55:04,314.314 INFO    ] 2026-08-29 06:55:04
[2026-08-29 06:55:04,609.609 INFO    ] 2026-08-29 06:55:04
[2026-08-29 06:55:04,645.645 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:55:04,824.824 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:55:04,835.835 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:55:04,984.984 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:55:04,990.990 INFO    ] time= 29/08/2026 06:55:04
[2026-08-29 06:55:04,994.994 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:55:05,028.028 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:55:05,095.095 INFO    ] No existing commands found in stream
[2026-08-29 06:55:10,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:55:10,107.107 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 06:55:12,751.751 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:55:12,752.752 INFO    ] Checking for system updates...
[2026-08-29 06:55:12,773.773 INFO    ] 200
[2026-08-29 06:55:12,774.774 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:55:12,806.806 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:55:12,807.807 INFO    ] No update needed
[2026-08-29 06:55:12,809.809 INFO    ] Checking for camera pi updates...
[2026-08-29 06:55:12,828.828 INFO    ] 200
[2026-08-29 06:55:12,829.829 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:55:12,852.852 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:55:12,930.930 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:55:12,931.931 INFO    ] No camera update needed
[2026-08-29 06:55:12,933.933 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:55:12,934.934 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:55:12,937.937 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:55:12,939.939 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:55:14,977.977 INFO    ] ================================================
[2026-08-29 06:55:14,993.993 INFO    ] Launching Daemon at Sat Aug 29 06:55:14 IST 2026
[2026-08-29 06:55:15,004.004 INFO    ] ================================================
[2026-08-29 06:55:15,379.379 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:55:15
[2026-08-29 06:55:15,714.714 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:55:15,864.864 INFO    ] Initializing speech engine...
[2026-08-29 06:55:15,869.869 INFO    ] 2026-08-29 06:55:15
[2026-08-29 06:55:16,075.075 INFO    ] 2026-08-29 06:55:16
[2026-08-29 06:55:16,104.104 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:55:16,227.227 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:55:16,285.285 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:55:16,424.424 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:55:16,494.494 INFO    ] time= 29/08/2026 06:55:16
[2026-08-29 06:55:16,519.519 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:55:16,526.526 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:55:16,593.593 INFO    ] No existing commands found in stream
[2026-08-29 06:55:21,608.608 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:55:21,611.611 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-08-29 06:55:25,357.357 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:55:25,358.358 INFO    ] Checking for system updates...
[2026-08-29 06:55:25,380.380 INFO    ] 200
[2026-08-29 06:55:25,382.382 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:55:25,412.412 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:55:25,414.414 INFO    ] No update needed
[2026-08-29 06:55:25,415.415 INFO    ] Checking for camera pi updates...
[2026-08-29 06:55:25,435.435 INFO    ] 200
[2026-08-29 06:55:25,436.436 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:55:25,460.460 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:55:25,544.544 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:55:25,546.546 INFO    ] No camera update needed
[2026-08-29 06:55:25,547.547 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:55:25,549.549 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:55:25,552.552 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:55:25,555.555 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:55:27,594.594 INFO    ] ================================================
[2026-08-29 06:55:27,609.609 INFO    ] Launching Daemon at Sat Aug 29 06:55:27 IST 2026
[2026-08-29 06:55:27,620.620 INFO    ] ================================================
[2026-08-29 06:55:28,192.192 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:55:28
[2026-08-29 06:55:28,777.777 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:55:29,048.048 INFO    ] Initializing speech engine...
[2026-08-29 06:55:29,056.056 INFO    ] 2026-08-29 06:55:29
[2026-08-29 06:55:29,308.308 INFO    ] 2026-08-29 06:55:29
[2026-08-29 06:55:29,343.343 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:55:29,520.520 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:55:29,533.533 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:55:29,677.677 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:55:29,685.685 INFO    ] time= 29/08/2026 06:55:29
[2026-08-29 06:55:29,692.692 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:55:29,713.713 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:55:29,829.829 INFO    ] No existing commands found in stream
[2026-08-29 06:55:34,859.859 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:55:34,861.861 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-08-29 06:55:37,184.184 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:55:37,186.186 INFO    ] Checking for system updates...
[2026-08-29 06:55:37,207.207 INFO    ] 200
[2026-08-29 06:55:37,208.208 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:55:37,238.238 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:55:37,239.239 INFO    ] No update needed
[2026-08-29 06:55:37,240.240 INFO    ] Checking for camera pi updates...
[2026-08-29 06:55:37,262.262 INFO    ] 200
[2026-08-29 06:55:37,263.263 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:55:37,287.287 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:55:37,368.368 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:55:37,370.370 INFO    ] No camera update needed
[2026-08-29 06:55:37,371.371 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:55:37,372.372 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:55:37,375.375 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:55:37,378.378 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:55:39,417.417 INFO    ] ================================================
[2026-08-29 06:55:39,432.432 INFO    ] Launching Daemon at Sat Aug 29 06:55:39 IST 2026
[2026-08-29 06:55:39,443.443 INFO    ] ================================================
[2026-08-29 06:55:39,776.776 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:55:39
[2026-08-29 06:55:40,088.088 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:55:40,232.232 INFO    ] Initializing speech engine...
[2026-08-29 06:55:40,238.238 INFO    ] 2026-08-29 06:55:40
[2026-08-29 06:55:40,448.448 INFO    ] 2026-08-29 06:55:40
[2026-08-29 06:55:40,514.514 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:55:40,656.656 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:55:40,668.668 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:55:40,793.793 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:55:40,812.812 INFO    ] time= 29/08/2026 06:55:40
[2026-08-29 06:55:40,820.820 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:55:40,828.828 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:55:40,892.892 INFO    ] No existing commands found in stream
[2026-08-29 06:55:45,904.904 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:55:45,907.907 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-08-29 06:55:49,202.202 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:55:49,204.204 INFO    ] Checking for system updates...
[2026-08-29 06:55:49,225.225 INFO    ] 200
[2026-08-29 06:55:49,226.226 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:55:49,256.256 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:55:49,257.257 INFO    ] No update needed
[2026-08-29 06:55:49,259.259 INFO    ] Checking for camera pi updates...
[2026-08-29 06:55:49,293.293 INFO    ] 200
[2026-08-29 06:55:49,295.295 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:55:49,336.336 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:55:49,417.417 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:55:49,420.420 INFO    ] No camera update needed
[2026-08-29 06:55:49,423.423 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:55:49,426.426 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:55:49,432.432 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:55:49,437.437 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:55:51,480.480 INFO    ] ================================================
[2026-08-29 06:55:51,496.496 INFO    ] Launching Daemon at Sat Aug 29 06:55:51 IST 2026
[2026-08-29 06:55:51,507.507 INFO    ] ================================================
[2026-08-29 06:55:52,073.073 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:55:52
[2026-08-29 06:55:52,535.535 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:55:52,668.668 INFO    ] Initializing speech engine...
[2026-08-29 06:55:52,672.672 INFO    ] 2026-08-29 06:55:52
[2026-08-29 06:55:52,947.947 INFO    ] 2026-08-29 06:55:52
[2026-08-29 06:55:52,983.983 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:55:53,132.132 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:55:53,140.140 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:55:53,286.286 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:55:53,296.296 INFO    ] time= 29/08/2026 06:55:53
[2026-08-29 06:55:53,305.305 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:55:53,311.311 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:55:53,378.378 INFO    ] No existing commands found in stream
[2026-08-29 06:55:58,392.392 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:55:58,395.395 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 06:56:01,930.930 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:56:01,933.933 INFO    ] Checking for system updates...
[2026-08-29 06:56:01,972.972 INFO    ] 200
[2026-08-29 06:56:01,975.975 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:56:02,038.038 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:56:02,040.040 INFO    ] No update needed
[2026-08-29 06:56:02,043.043 INFO    ] Checking for camera pi updates...
[2026-08-29 06:56:02,086.086 INFO    ] 200
[2026-08-29 06:56:02,089.089 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:56:02,140.140 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:56:02,226.226 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:56:02,229.229 INFO    ] No camera update needed
[2026-08-29 06:56:02,232.232 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:56:02,236.236 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:56:02,242.242 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:56:02,249.249 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:56:04,294.294 INFO    ] ================================================
[2026-08-29 06:56:04,310.310 INFO    ] Launching Daemon at Sat Aug 29 06:56:04 IST 2026
[2026-08-29 06:56:04,321.321 INFO    ] ================================================
[2026-08-29 06:56:04,852.852 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:56:04
[2026-08-29 06:56:05,169.169 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:56:05,313.313 INFO    ] Initializing speech engine...
[2026-08-29 06:56:05,318.318 INFO    ] 2026-08-29 06:56:05
[2026-08-29 06:56:05,506.506 INFO    ] 2026-08-29 06:56:05
[2026-08-29 06:56:05,561.561 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:56:05,726.726 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:56:05,758.758 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:56:05,927.927 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:56:05,949.949 INFO    ] time= 29/08/2026 06:56:05
[2026-08-29 06:56:06,014.014 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:56:06,060.060 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:56:06,113.113 INFO    ] No existing commands found in stream
[2026-08-29 06:56:11,125.125 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:56:11,127.127 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-08-29 06:56:12,051.051 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:56:12,052.052 INFO    ] Checking for system updates...
[2026-08-29 06:56:12,074.074 INFO    ] 200
[2026-08-29 06:56:12,076.076 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:56:12,106.106 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:56:12,107.107 INFO    ] No update needed
[2026-08-29 06:56:12,108.108 INFO    ] Checking for camera pi updates...
[2026-08-29 06:56:12,130.130 INFO    ] 200
[2026-08-29 06:56:12,131.131 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:56:12,156.156 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:56:12,263.263 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:56:12,265.265 INFO    ] No camera update needed
[2026-08-29 06:56:12,266.266 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:56:12,267.267 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:56:12,270.270 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:56:12,273.273 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:56:14,321.321 INFO    ] ================================================
[2026-08-29 06:56:14,336.336 INFO    ] Launching Daemon at Sat Aug 29 06:56:14 IST 2026
[2026-08-29 06:56:14,348.348 INFO    ] ================================================
[2026-08-29 06:56:15,011.011 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:56:15
[2026-08-29 06:56:15,701.701 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:56:15,999.999 INFO    ] Initializing speech engine...
[2026-08-29 06:56:16,007.007 INFO    ] 2026-08-29 06:56:16
[2026-08-29 06:56:16,264.264 INFO    ] 2026-08-29 06:56:16
[2026-08-29 06:56:16,324.324 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:56:16,468.468 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:56:16,480.480 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:56:16,602.602 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:56:16,646.646 INFO    ] time= 29/08/2026 06:56:16
[2026-08-29 06:56:16,671.671 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:56:16,679.679 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:56:16,789.789 INFO    ] No existing commands found in stream
[2026-08-29 06:56:21,806.806 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:56:21,809.809 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-08-29 06:56:23,070.070 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:56:23,071.071 INFO    ] Checking for system updates...
[2026-08-29 06:56:23,092.092 INFO    ] 200
[2026-08-29 06:56:23,093.093 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:56:23,123.123 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:56:23,124.124 INFO    ] No update needed
[2026-08-29 06:56:23,125.125 INFO    ] Checking for camera pi updates...
[2026-08-29 06:56:23,147.147 INFO    ] 200
[2026-08-29 06:56:23,148.148 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:56:23,173.173 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:56:23,268.268 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:56:23,269.269 INFO    ] No camera update needed
[2026-08-29 06:56:23,271.271 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:56:23,272.272 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:56:23,275.275 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:56:23,277.277 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:56:25,317.317 INFO    ] ================================================
[2026-08-29 06:56:25,333.333 INFO    ] Launching Daemon at Sat Aug 29 06:56:25 IST 2026
[2026-08-29 06:56:25,343.343 INFO    ] ================================================
[2026-08-29 06:56:25,692.692 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:56:25
[2026-08-29 06:56:26,290.290 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:56:26,567.567 INFO    ] Initializing speech engine...
[2026-08-29 06:56:26,576.576 INFO    ] 2026-08-29 06:56:26
[2026-08-29 06:56:26,840.840 INFO    ] 2026-08-29 06:56:26
[2026-08-29 06:56:26,890.890 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:56:27,051.051 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:56:27,096.096 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:56:27,253.253 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:56:27,295.295 INFO    ] time= 29/08/2026 06:56:27
[2026-08-29 06:56:27,339.339 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:56:27,388.388 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:56:27,446.446 INFO    ] No existing commands found in stream
[2026-08-29 06:56:32,455.455 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:56:32,458.458 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-08-29 06:56:36,438.438 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:56:36,439.439 INFO    ] Checking for system updates...
[2026-08-29 06:56:36,460.460 INFO    ] 200
[2026-08-29 06:56:36,462.462 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:56:36,494.494 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:56:36,495.495 INFO    ] No update needed
[2026-08-29 06:56:36,497.497 INFO    ] Checking for camera pi updates...
[2026-08-29 06:56:36,516.516 INFO    ] 200
[2026-08-29 06:56:36,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:56:36,541.541 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:56:36,734.734 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:56:36,735.735 INFO    ] No camera update needed
[2026-08-29 06:56:36,736.736 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:56:36,738.738 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:56:36,741.741 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:56:36,744.744 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:56:38,785.785 INFO    ] ================================================
[2026-08-29 06:56:38,800.800 INFO    ] Launching Daemon at Sat Aug 29 06:56:38 IST 2026
[2026-08-29 06:56:38,811.811 INFO    ] ================================================
[2026-08-29 06:56:39,135.135 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:56:39
[2026-08-29 06:56:39,455.455 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:56:39,699.699 INFO    ] Initializing speech engine...
[2026-08-29 06:56:39,706.706 INFO    ] 2026-08-29 06:56:39
[2026-08-29 06:56:39,966.966 INFO    ] 2026-08-29 06:56:39
[2026-08-29 06:56:40,020.020 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:56:40,188.188 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:56:40,244.244 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:56:40,384.384 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:56:40,431.431 INFO    ] time= 29/08/2026 06:56:40
[2026-08-29 06:56:40,501.501 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:56:40,520.520 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:56:40,577.577 INFO    ] No existing commands found in stream
[2026-08-29 06:56:45,602.602 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:56:45,605.605 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-08-29 06:56:49,947.947 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:56:49,949.949 INFO    ] Checking for system updates...
[2026-08-29 06:56:49,970.970 INFO    ] 200
[2026-08-29 06:56:49,972.972 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:56:50,004.004 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:56:50,006.006 INFO    ] No update needed
[2026-08-29 06:56:50,007.007 INFO    ] Checking for camera pi updates...
[2026-08-29 06:56:50,027.027 INFO    ] 200
[2026-08-29 06:56:50,029.029 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:56:50,051.051 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:56:50,143.143 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:56:50,145.145 INFO    ] No camera update needed
[2026-08-29 06:56:50,146.146 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:56:50,147.147 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:56:50,150.150 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:56:50,152.152 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:56:52,193.193 INFO    ] ================================================
[2026-08-29 06:56:52,208.208 INFO    ] Launching Daemon at Sat Aug 29 06:56:52 IST 2026
[2026-08-29 06:56:52,219.219 INFO    ] ================================================
[2026-08-29 06:56:52,577.577 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:56:52
[2026-08-29 06:56:52,890.890 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:56:53,024.024 INFO    ] Initializing speech engine...
[2026-08-29 06:56:53,029.029 INFO    ] 2026-08-29 06:56:53
[2026-08-29 06:56:53,232.232 INFO    ] 2026-08-29 06:56:53
[2026-08-29 06:56:53,265.265 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:56:53,424.424 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:56:53,443.443 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:56:53,617.617 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:56:53,659.659 INFO    ] time= 29/08/2026 06:56:53
[2026-08-29 06:56:53,706.706 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:56:53,760.760 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:56:53,887.887 INFO    ] No existing commands found in stream
[2026-08-29 06:56:58,907.907 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:56:58,910.910 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-08-29 06:57:01,172.172 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:57:01,173.173 INFO    ] Checking for system updates...
[2026-08-29 06:57:01,194.194 INFO    ] 200
[2026-08-29 06:57:01,195.195 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:57:01,226.226 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:57:01,227.227 INFO    ] No update needed
[2026-08-29 06:57:01,229.229 INFO    ] Checking for camera pi updates...
[2026-08-29 06:57:01,248.248 INFO    ] 200
[2026-08-29 06:57:01,249.249 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:57:01,272.272 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:57:01,374.374 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:57:01,377.377 INFO    ] No camera update needed
[2026-08-29 06:57:01,380.380 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:57:01,382.382 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:57:01,389.389 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:57:01,397.397 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:57:03,450.450 INFO    ] ================================================
[2026-08-29 06:57:03,465.465 INFO    ] Launching Daemon at Sat Aug 29 06:57:03 IST 2026
[2026-08-29 06:57:03,476.476 INFO    ] ================================================
[2026-08-29 06:57:04,137.137 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:57:04
[2026-08-29 06:57:04,769.769 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:57:04,931.931 INFO    ] Initializing speech engine...
[2026-08-29 06:57:04,942.942 INFO    ] 2026-08-29 06:57:04
[2026-08-29 06:57:05,260.260 INFO    ] 2026-08-29 06:57:05
[2026-08-29 06:57:05,345.345 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:57:05,500.500 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:57:05,507.507 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:57:05,656.656 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:57:05,726.726 INFO    ] time= 29/08/2026 06:57:05
[2026-08-29 06:57:05,769.769 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:57:05,775.775 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:57:05,901.901 INFO    ] No existing commands found in stream
[2026-08-29 06:57:10,929.929 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:57:10,933.933 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-08-29 06:57:11,672.672 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:57:11,674.674 INFO    ] Checking for system updates...
[2026-08-29 06:57:11,694.694 INFO    ] 200
[2026-08-29 06:57:11,696.696 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:57:11,725.725 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:57:11,727.727 INFO    ] No update needed
[2026-08-29 06:57:11,728.728 INFO    ] Checking for camera pi updates...
[2026-08-29 06:57:11,749.749 INFO    ] 200
[2026-08-29 06:57:11,750.750 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:57:11,774.774 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:57:11,882.882 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:57:11,883.883 INFO    ] No camera update needed
[2026-08-29 06:57:11,884.884 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:57:11,885.885 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:57:11,888.888 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:57:11,891.891 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:57:13,929.929 INFO    ] ================================================
[2026-08-29 06:57:13,945.945 INFO    ] Launching Daemon at Sat Aug 29 06:57:13 IST 2026
[2026-08-29 06:57:13,956.956 INFO    ] ================================================
[2026-08-29 06:57:14,302.302 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:57:14
[2026-08-29 06:57:14,616.616 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:57:14,749.749 INFO    ] Initializing speech engine...
[2026-08-29 06:57:14,752.752 INFO    ] 2026-08-29 06:57:14
[2026-08-29 06:57:14,946.946 INFO    ] 2026-08-29 06:57:14
[2026-08-29 06:57:14,992.992 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:57:15,114.114 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:57:15,117.117 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:57:15,254.254 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:57:15,259.259 INFO    ] time= 29/08/2026 06:57:15
[2026-08-29 06:57:15,264.264 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:57:15,321.321 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:57:15,422.422 INFO    ] No existing commands found in stream
[2026-08-29 06:57:20,442.442 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:57:20,445.445 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-08-29 06:57:22,334.334 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:57:22,336.336 INFO    ] Checking for system updates...
[2026-08-29 06:57:22,356.356 INFO    ] 200
[2026-08-29 06:57:22,357.357 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:57:22,412.412 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:57:22,415.415 INFO    ] No update needed
[2026-08-29 06:57:22,417.417 INFO    ] Checking for camera pi updates...
[2026-08-29 06:57:22,450.450 INFO    ] 200
[2026-08-29 06:57:22,452.452 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:57:22,497.497 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:57:22,620.620 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:57:22,622.622 INFO    ] No camera update needed
[2026-08-29 06:57:22,624.624 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:57:22,627.627 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:57:22,632.632 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:57:22,637.637 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:57:24,677.677 INFO    ] ================================================
[2026-08-29 06:57:24,693.693 INFO    ] Launching Daemon at Sat Aug 29 06:57:24 IST 2026
[2026-08-29 06:57:24,703.703 INFO    ] ================================================
[2026-08-29 06:57:25,272.272 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:57:25
[2026-08-29 06:57:25,688.688 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:57:25,822.822 INFO    ] Initializing speech engine...
[2026-08-29 06:57:25,825.825 INFO    ] 2026-08-29 06:57:25
[2026-08-29 06:57:26,017.017 INFO    ] 2026-08-29 06:57:26
[2026-08-29 06:57:26,063.063 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:57:26,202.202 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:57:26,211.211 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:57:26,367.367 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:57:26,374.374 INFO    ] time= 29/08/2026 06:57:26
[2026-08-29 06:57:26,423.423 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:57:26,478.478 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:57:26,552.552 INFO    ] No existing commands found in stream
[2026-08-29 06:57:31,564.564 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:57:31,567.567 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-08-29 06:57:33,333.333 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:57:33,336.336 INFO    ] Checking for system updates...
[2026-08-29 06:57:33,372.372 INFO    ] 200
[2026-08-29 06:57:33,375.375 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:57:33,435.435 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:57:33,437.437 INFO    ] No update needed
[2026-08-29 06:57:33,439.439 INFO    ] Checking for camera pi updates...
[2026-08-29 06:57:33,473.473 INFO    ] 200
[2026-08-29 06:57:33,475.475 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:57:33,517.517 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:57:33,611.611 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:57:33,613.613 INFO    ] No camera update needed
[2026-08-29 06:57:33,616.616 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:57:33,623.623 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:57:33,628.628 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:57:33,633.633 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:57:35,674.674 INFO    ] ================================================
[2026-08-29 06:57:35,689.689 INFO    ] Launching Daemon at Sat Aug 29 06:57:35 IST 2026
[2026-08-29 06:57:35,706.706 INFO    ] ================================================
[2026-08-29 06:57:36,091.091 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:57:36
[2026-08-29 06:57:36,434.434 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:57:36,588.588 INFO    ] Initializing speech engine...
[2026-08-29 06:57:36,591.591 INFO    ] 2026-08-29 06:57:36
[2026-08-29 06:57:36,800.800 INFO    ] 2026-08-29 06:57:36
[2026-08-29 06:57:36,829.829 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:57:36,952.952 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:57:37,016.016 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:57:37,191.191 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:57:37,225.225 INFO    ] time= 29/08/2026 06:57:37
[2026-08-29 06:57:37,286.286 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:57:37,308.308 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:57:37,422.422 INFO    ] No existing commands found in stream
[2026-08-29 06:57:42,453.453 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:57:42,457.457 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-08-29 06:57:43,086.086 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:57:43,088.088 INFO    ] Checking for system updates...
[2026-08-29 06:57:43,109.109 INFO    ] 200
[2026-08-29 06:57:43,110.110 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:57:43,143.143 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:57:43,144.144 INFO    ] No update needed
[2026-08-29 06:57:43,146.146 INFO    ] Checking for camera pi updates...
[2026-08-29 06:57:43,166.166 INFO    ] 200
[2026-08-29 06:57:43,168.168 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:57:43,193.193 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:57:43,304.304 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:57:43,306.306 INFO    ] No camera update needed
[2026-08-29 06:57:43,307.307 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:57:43,308.308 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:57:43,312.312 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:57:43,316.316 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:57:45,356.356 INFO    ] ================================================
[2026-08-29 06:57:45,372.372 INFO    ] Launching Daemon at Sat Aug 29 06:57:45 IST 2026
[2026-08-29 06:57:45,384.384 INFO    ] ================================================
[2026-08-29 06:57:45,823.823 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:57:45
[2026-08-29 06:57:46,407.407 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:57:46,659.659 INFO    ] Initializing speech engine...
[2026-08-29 06:57:46,682.682 INFO    ] 2026-08-29 06:57:46
[2026-08-29 06:57:46,940.940 INFO    ] 2026-08-29 06:57:46
[2026-08-29 06:57:46,977.977 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:57:47,152.152 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:57:47,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:57:47,310.310 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:57:47,318.318 INFO    ] time= 29/08/2026 06:57:47
[2026-08-29 06:57:47,324.324 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:57:47,355.355 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:57:47,475.475 INFO    ] No existing commands found in stream
[2026-08-29 06:57:52,501.501 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:57:52,503.503 INFO    ] Waiting 2.42 seconds before fallback handling...
[2026-08-29 06:57:55,248.248 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:57:55,249.249 INFO    ] Checking for system updates...
[2026-08-29 06:57:55,270.270 INFO    ] 200
[2026-08-29 06:57:55,271.271 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:57:55,301.301 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:57:55,303.303 INFO    ] No update needed
[2026-08-29 06:57:55,304.304 INFO    ] Checking for camera pi updates...
[2026-08-29 06:57:55,325.325 INFO    ] 200
[2026-08-29 06:57:55,326.326 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:57:55,353.353 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:57:55,438.438 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:57:55,439.439 INFO    ] No camera update needed
[2026-08-29 06:57:55,441.441 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:57:55,442.442 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:57:55,446.446 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:57:55,449.449 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:57:57,489.489 INFO    ] ================================================
[2026-08-29 06:57:57,506.506 INFO    ] Launching Daemon at Sat Aug 29 06:57:57 IST 2026
[2026-08-29 06:57:57,517.517 INFO    ] ================================================
[2026-08-29 06:57:57,843.843 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:57:57
[2026-08-29 06:57:58,155.155 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:57:58,287.287 INFO    ] Initializing speech engine...
[2026-08-29 06:57:58,299.299 INFO    ] 2026-08-29 06:57:58
[2026-08-29 06:57:58,492.492 INFO    ] 2026-08-29 06:57:58
[2026-08-29 06:57:58,526.526 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:57:58,704.704 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:57:58,718.718 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:57:58,862.862 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:57:58,870.870 INFO    ] time= 29/08/2026 06:57:58
[2026-08-29 06:57:58,877.877 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:57:58,924.924 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:57:59,046.046 INFO    ] No existing commands found in stream
[2026-08-29 06:58:04,076.076 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:58:04,079.079 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-08-29 06:58:04,785.785 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 06:58:04,788.788 INFO    ] Checking for system updates...
[2026-08-29 06:58:04,825.825 INFO    ] 200
[2026-08-29 06:58:04,828.828 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:58:04,890.890 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:58:04,893.893 INFO    ] No update needed
[2026-08-29 06:58:04,897.897 INFO    ] Checking for camera pi updates...
[2026-08-29 06:58:04,933.933 INFO    ] 200
[2026-08-29 06:58:04,934.934 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:58:04,958.958 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:58:05,057.057 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:58:05,059.059 INFO    ] No camera update needed
[2026-08-29 06:58:05,060.060 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:58:05,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:58:05,065.065 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:58:05,068.068 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:58:07,110.110 INFO    ] ================================================
[2026-08-29 06:58:07,126.126 INFO    ] Launching Daemon at Sat Aug 29 06:58:07 IST 2026
[2026-08-29 06:58:07,137.137 INFO    ] ================================================
[2026-08-29 06:58:07,511.511 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:58:07
[2026-08-29 06:58:07,829.829 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:58:07,972.972 INFO    ] Initializing speech engine...
[2026-08-29 06:58:07,977.977 INFO    ] 2026-08-29 06:58:07
[2026-08-29 06:58:08,182.182 INFO    ] 2026-08-29 06:58:08
[2026-08-29 06:58:08,210.210 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:58:08,331.331 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:58:08,336.336 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:58:08,500.500 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:58:08,534.534 INFO    ] time= 29/08/2026 06:58:08
[2026-08-29 06:58:08,540.540 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:58:08,558.558 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:58:08,664.664 INFO    ] No existing commands found in stream
[2026-08-29 06:58:13,694.694 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:58:13,697.697 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-08-29 06:58:16,390.390 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 06:58:16,391.391 INFO    ] Checking for system updates...
[2026-08-29 06:58:16,411.411 INFO    ] 200
[2026-08-29 06:58:16,413.413 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:58:16,444.444 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:58:16,445.445 INFO    ] No update needed
[2026-08-29 06:58:16,446.446 INFO    ] Checking for camera pi updates...
[2026-08-29 06:58:16,469.469 INFO    ] 200
[2026-08-29 06:58:16,470.470 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:58:16,495.495 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:58:16,574.574 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:58:16,575.575 INFO    ] No camera update needed
[2026-08-29 06:58:16,577.577 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:58:16,578.578 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:58:16,581.581 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:58:16,584.584 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:58:18,624.624 INFO    ] ================================================
[2026-08-29 06:58:18,640.640 INFO    ] Launching Daemon at Sat Aug 29 06:58:18 IST 2026
[2026-08-29 06:58:18,651.651 INFO    ] ================================================
[2026-08-29 06:58:19,190.190 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:58:19
[2026-08-29 06:58:19,791.791 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:58:20,070.070 INFO    ] Initializing speech engine...
[2026-08-29 06:58:20,077.077 INFO    ] 2026-08-29 06:58:20
[2026-08-29 06:58:20,340.340 INFO    ] 2026-08-29 06:58:20
[2026-08-29 06:58:20,370.370 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:58:20,545.545 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:58:20,563.563 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:58:20,698.698 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:58:20,745.745 INFO    ] time= 29/08/2026 06:58:20
[2026-08-29 06:58:20,769.769 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:58:20,823.823 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:58:20,901.901 INFO    ] No existing commands found in stream
[2026-08-29 06:58:25,924.924 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:58:25,927.927 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-08-29 06:58:28,615.615 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:58:28,616.616 INFO    ] Checking for system updates...
[2026-08-29 06:58:28,638.638 INFO    ] 200
[2026-08-29 06:58:28,639.639 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:58:28,670.670 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:58:28,672.672 INFO    ] No update needed
[2026-08-29 06:58:28,673.673 INFO    ] Checking for camera pi updates...
[2026-08-29 06:58:28,693.693 INFO    ] 200
[2026-08-29 06:58:28,695.695 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:58:28,718.718 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:58:28,808.808 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:58:28,809.809 INFO    ] No camera update needed
[2026-08-29 06:58:28,810.810 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:58:28,812.812 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:58:28,815.815 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:58:28,818.818 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:58:30,857.857 INFO    ] ================================================
[2026-08-29 06:58:30,873.873 INFO    ] Launching Daemon at Sat Aug 29 06:58:30 IST 2026
[2026-08-29 06:58:30,883.883 INFO    ] ================================================
[2026-08-29 06:58:31,233.233 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:58:31
[2026-08-29 06:58:31,666.666 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:58:31,947.947 INFO    ] Initializing speech engine...
[2026-08-29 06:58:31,953.953 INFO    ] 2026-08-29 06:58:31
[2026-08-29 06:58:32,258.258 INFO    ] 2026-08-29 06:58:32
[2026-08-29 06:58:32,297.297 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:58:32,561.561 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:58:32,571.571 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:58:32,712.712 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:58:32,724.724 INFO    ] time= 29/08/2026 06:58:32
[2026-08-29 06:58:32,795.795 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:58:32,853.853 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:58:32,908.908 INFO    ] No existing commands found in stream
[2026-08-29 06:58:37,922.922 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:58:37,925.925 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-08-29 06:58:40,590.590 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:58:40,591.591 INFO    ] Checking for system updates...
[2026-08-29 06:58:40,612.612 INFO    ] 200
[2026-08-29 06:58:40,613.613 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:58:40,643.643 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:58:40,645.645 INFO    ] No update needed
[2026-08-29 06:58:40,646.646 INFO    ] Checking for camera pi updates...
[2026-08-29 06:58:40,668.668 INFO    ] 200
[2026-08-29 06:58:40,669.669 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:58:40,694.694 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:58:40,882.882 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:58:40,885.885 INFO    ] No camera update needed
[2026-08-29 06:58:40,887.887 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:58:40,889.889 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:58:40,895.895 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:58:40,899.899 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:58:42,939.939 INFO    ] ================================================
[2026-08-29 06:58:42,954.954 INFO    ] Launching Daemon at Sat Aug 29 06:58:42 IST 2026
[2026-08-29 06:58:42,965.965 INFO    ] ================================================
[2026-08-29 06:58:43,573.573 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:58:43
[2026-08-29 06:58:44,056.056 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:58:44,356.356 INFO    ] Initializing speech engine...
[2026-08-29 06:58:44,364.364 INFO    ] 2026-08-29 06:58:44
[2026-08-29 06:58:44,642.642 INFO    ] 2026-08-29 06:58:44
[2026-08-29 06:58:44,679.679 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:58:44,900.900 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:58:44,909.909 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:58:45,042.042 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:58:45,079.079 INFO    ] time= 29/08/2026 06:58:45
[2026-08-29 06:58:45,123.123 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:58:45,176.176 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:58:45,233.233 INFO    ] No existing commands found in stream
[2026-08-29 06:58:50,244.244 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:58:50,247.247 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-08-29 06:58:53,947.947 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 06:58:53,956.956 INFO    ] Checking for system updates...
[2026-08-29 06:58:53,978.978 INFO    ] 200
[2026-08-29 06:58:53,979.979 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:58:54,009.009 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:58:54,010.010 INFO    ] No update needed
[2026-08-29 06:58:54,012.012 INFO    ] Checking for camera pi updates...
[2026-08-29 06:58:54,032.032 INFO    ] 200
[2026-08-29 06:58:54,034.034 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:58:54,056.056 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:58:54,136.136 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:58:54,137.137 INFO    ] No camera update needed
[2026-08-29 06:58:54,138.138 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:58:54,140.140 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:58:54,143.143 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:58:54,146.146 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:58:56,185.185 INFO    ] ================================================
[2026-08-29 06:58:56,200.200 INFO    ] Launching Daemon at Sat Aug 29 06:58:56 IST 2026
[2026-08-29 06:58:56,211.211 INFO    ] ================================================
[2026-08-29 06:58:56,688.688 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:58:56
[2026-08-29 06:58:57,273.273 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:58:57,527.527 INFO    ] Initializing speech engine...
[2026-08-29 06:58:57,533.533 INFO    ] 2026-08-29 06:58:57
[2026-08-29 06:58:57,841.841 INFO    ] 2026-08-29 06:58:57
[2026-08-29 06:58:57,868.868 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:58:58,031.031 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:58:58,040.040 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:58:58,198.198 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:58:58,208.208 INFO    ] time= 29/08/2026 06:58:58
[2026-08-29 06:58:58,214.214 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:58:58,234.234 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:58:58,291.291 INFO    ] No existing commands found in stream
[2026-08-29 06:59:03,302.302 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:59:03,305.305 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-08-29 06:59:04,574.574 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:59:04,575.575 INFO    ] Checking for system updates...
[2026-08-29 06:59:04,596.596 INFO    ] 200
[2026-08-29 06:59:04,597.597 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:59:04,629.629 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:59:04,631.631 INFO    ] No update needed
[2026-08-29 06:59:04,632.632 INFO    ] Checking for camera pi updates...
[2026-08-29 06:59:04,651.651 INFO    ] 200
[2026-08-29 06:59:04,653.653 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:59:04,676.676 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:59:04,754.754 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:59:04,755.755 INFO    ] No camera update needed
[2026-08-29 06:59:04,757.757 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:59:04,758.758 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:59:04,761.761 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:59:04,764.764 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:59:06,803.803 INFO    ] ================================================
[2026-08-29 06:59:06,818.818 INFO    ] Launching Daemon at Sat Aug 29 06:59:06 IST 2026
[2026-08-29 06:59:06,829.829 INFO    ] ================================================
[2026-08-29 06:59:07,192.192 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:59:07
[2026-08-29 06:59:07,503.503 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:59:07,644.644 INFO    ] Initializing speech engine...
[2026-08-29 06:59:07,655.655 INFO    ] 2026-08-29 06:59:07
[2026-08-29 06:59:07,866.866 INFO    ] 2026-08-29 06:59:07
[2026-08-29 06:59:07,946.946 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:59:08,102.102 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:59:08,111.111 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:59:08,246.246 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:59:08,289.289 INFO    ] time= 29/08/2026 06:59:08
[2026-08-29 06:59:08,318.318 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:59:08,367.367 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:59:08,438.438 INFO    ] No existing commands found in stream
[2026-08-29 06:59:13,450.450 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:59:13,453.453 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-08-29 06:59:16,408.408 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 06:59:16,410.410 INFO    ] Checking for system updates...
[2026-08-29 06:59:16,430.430 INFO    ] 200
[2026-08-29 06:59:16,431.431 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:59:16,462.462 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:59:16,463.463 INFO    ] No update needed
[2026-08-29 06:59:16,465.465 INFO    ] Checking for camera pi updates...
[2026-08-29 06:59:16,485.485 INFO    ] 200
[2026-08-29 06:59:16,487.487 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:59:16,511.511 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:59:16,605.605 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:59:16,606.606 INFO    ] No camera update needed
[2026-08-29 06:59:16,608.608 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:59:16,609.609 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:59:16,612.612 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:59:16,614.614 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:59:18,652.652 INFO    ] ================================================
[2026-08-29 06:59:18,668.668 INFO    ] Launching Daemon at Sat Aug 29 06:59:18 IST 2026
[2026-08-29 06:59:18,679.679 INFO    ] ================================================
[2026-08-29 06:59:19,043.043 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:59:19
[2026-08-29 06:59:19,357.357 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:59:19,624.624 INFO    ] Initializing speech engine...
[2026-08-29 06:59:19,645.645 INFO    ] 2026-08-29 06:59:19
[2026-08-29 06:59:19,915.915 INFO    ] 2026-08-29 06:59:19
[2026-08-29 06:59:19,949.949 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:59:20,100.100 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:59:20,108.108 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:59:20,263.263 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:59:20,271.271 INFO    ] time= 29/08/2026 06:59:20
[2026-08-29 06:59:20,276.276 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:59:20,281.281 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:59:20,353.353 INFO    ] No existing commands found in stream
[2026-08-29 06:59:25,364.364 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:59:25,367.367 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-08-29 06:59:25,769.769 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:59:25,771.771 INFO    ] Checking for system updates...
[2026-08-29 06:59:25,791.791 INFO    ] 200
[2026-08-29 06:59:25,793.793 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:59:25,826.826 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:59:25,827.827 INFO    ] No update needed
[2026-08-29 06:59:25,828.828 INFO    ] Checking for camera pi updates...
[2026-08-29 06:59:25,847.847 INFO    ] 200
[2026-08-29 06:59:25,849.849 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:59:25,872.872 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:59:25,967.967 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:59:25,969.969 INFO    ] No camera update needed
[2026-08-29 06:59:25,970.970 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:59:25,971.971 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:59:25,974.974 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:59:25,977.977 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:59:28,016.016 INFO    ] ================================================
[2026-08-29 06:59:28,031.031 INFO    ] Launching Daemon at Sat Aug 29 06:59:28 IST 2026
[2026-08-29 06:59:28,041.041 INFO    ] ================================================
[2026-08-29 06:59:28,706.706 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:59:28
[2026-08-29 06:59:29,394.394 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:59:29,706.706 INFO    ] Initializing speech engine...
[2026-08-29 06:59:29,718.718 INFO    ] 2026-08-29 06:59:29
[2026-08-29 06:59:29,998.998 INFO    ] 2026-08-29 06:59:29
[2026-08-29 06:59:30,042.042 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:59:30,267.267 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:59:30,271.271 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:59:30,407.407 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:59:30,457.457 INFO    ] time= 29/08/2026 06:59:30
[2026-08-29 06:59:30,522.522 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:59:30,541.541 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:59:30,604.604 INFO    ] No existing commands found in stream
[2026-08-29 06:59:35,641.641 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:59:35,644.644 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-08-29 06:59:38,235.235 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:59:38,237.237 INFO    ] Checking for system updates...
[2026-08-29 06:59:38,257.257 INFO    ] 200
[2026-08-29 06:59:38,258.258 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:59:38,290.290 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:59:38,292.292 INFO    ] No update needed
[2026-08-29 06:59:38,293.293 INFO    ] Checking for camera pi updates...
[2026-08-29 06:59:38,312.312 INFO    ] 200
[2026-08-29 06:59:38,314.314 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:59:38,336.336 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:59:38,447.447 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:59:38,448.448 INFO    ] No camera update needed
[2026-08-29 06:59:38,449.449 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:59:38,450.450 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:59:38,454.454 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:59:38,456.456 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:59:40,495.495 INFO    ] ================================================
[2026-08-29 06:59:40,510.510 INFO    ] Launching Daemon at Sat Aug 29 06:59:40 IST 2026
[2026-08-29 06:59:40,520.520 INFO    ] ================================================
[2026-08-29 06:59:41,054.054 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:59:41
[2026-08-29 06:59:41,725.725 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:59:42,031.031 INFO    ] Initializing speech engine...
[2026-08-29 06:59:42,040.040 INFO    ] 2026-08-29 06:59:42
[2026-08-29 06:59:42,317.317 INFO    ] 2026-08-29 06:59:42
[2026-08-29 06:59:42,373.373 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:59:42,598.598 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:59:42,608.608 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:59:42,741.741 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:59:42,784.784 INFO    ] time= 29/08/2026 06:59:42
[2026-08-29 06:59:42,844.844 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:59:42,878.878 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:59:42,999.999 INFO    ] No existing commands found in stream
[2026-08-29 06:59:48,030.030 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:59:48,033.033 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-08-29 06:59:49,877.877 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 06:59:49,879.879 INFO    ] Checking for system updates...
[2026-08-29 06:59:49,899.899 INFO    ] 200
[2026-08-29 06:59:49,901.901 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:59:49,934.934 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:59:49,935.935 INFO    ] No update needed
[2026-08-29 06:59:49,936.936 INFO    ] Checking for camera pi updates...
[2026-08-29 06:59:49,955.955 INFO    ] 200
[2026-08-29 06:59:49,957.957 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:59:49,981.981 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:59:50,057.057 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 06:59:50,058.058 INFO    ] No camera update needed
[2026-08-29 06:59:50,060.060 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:59:50,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:59:50,064.064 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:59:50,066.066 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 06:59:52,104.104 INFO    ] ================================================
[2026-08-29 06:59:52,119.119 INFO    ] Launching Daemon at Sat Aug 29 06:59:52 IST 2026
[2026-08-29 06:59:52,130.130 INFO    ] ================================================
[2026-08-29 06:59:52,495.495 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 06:59:52
[2026-08-29 06:59:52,835.835 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 06:59:52,987.987 INFO    ] Initializing speech engine...
[2026-08-29 06:59:52,993.993 INFO    ] 2026-08-29 06:59:52
[2026-08-29 06:59:53,199.199 INFO    ] 2026-08-29 06:59:53
[2026-08-29 06:59:53,229.229 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 06:59:53,353.353 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 06:59:53,415.415 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 06:59:53,560.560 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 06:59:53,622.622 INFO    ] time= 29/08/2026 06:59:53
[2026-08-29 06:59:53,645.645 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 06:59:53,652.652 INFO    ] Checking for existing commands in stream...
[2026-08-29 06:59:53,719.719 INFO    ] No existing commands found in stream
[2026-08-29 06:59:58,730.730 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 06:59:58,733.733 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-08-29 06:59:59,647.647 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 06:59:59,649.649 INFO    ] Checking for system updates...
[2026-08-29 06:59:59,671.671 INFO    ] 200
[2026-08-29 06:59:59,673.673 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:59:59,702.702 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:59:59,704.704 INFO    ] No update needed
[2026-08-29 06:59:59,705.705 INFO    ] Checking for camera pi updates...
[2026-08-29 06:59:59,725.725 INFO    ] 200
[2026-08-29 06:59:59,726.726 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 06:59:59,749.749 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 06:59:59,845.845 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 06:59:59,847.847 INFO    ] No camera update needed
[2026-08-29 06:59:59,848.848 INFO    ] Script finished. Safe exiting...
[2026-08-29 06:59:59,849.849 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 06:59:59,852.852 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 06:59:59,855.855 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:00:02,967.967 INFO    ] ================================================
[2026-08-29 07:00:02,122.122 INFO    ] Launching Daemon at Sat Aug 29 07:00:02 IST 2026
[2026-08-29 07:00:02,209.209 INFO    ] ================================================
[2026-08-29 07:00:04,204.204 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:00:04
[2026-08-29 07:00:05,797.797 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:00:06,141.141 INFO    ] Initializing speech engine...
[2026-08-29 07:00:06,151.151 INFO    ] 2026-08-29 07:00:06
[2026-08-29 07:00:06,427.427 INFO    ] 2026-08-29 07:00:06
[2026-08-29 07:00:06,464.464 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:00:06,669.669 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:00:06,676.676 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:00:06,788.788 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:00:06,795.795 INFO    ] time= 29/08/2026 07:00:06
[2026-08-29 07:00:06,817.817 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:00:06,825.825 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:00:06,929.929 INFO    ] No existing commands found in stream
[2026-08-29 07:00:11,955.955 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:00:11,957.957 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-08-29 07:00:12,644.644 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:00:12,646.646 INFO    ] Checking for system updates...
[2026-08-29 07:00:12,666.666 INFO    ] 200
[2026-08-29 07:00:12,667.667 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:00:12,700.700 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:00:12,702.702 INFO    ] No update needed
[2026-08-29 07:00:12,703.703 INFO    ] Checking for camera pi updates...
[2026-08-29 07:00:12,724.724 INFO    ] 200
[2026-08-29 07:00:12,726.726 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:00:12,750.750 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:00:12,833.833 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:00:12,834.834 INFO    ] No camera update needed
[2026-08-29 07:00:12,835.835 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:00:12,836.836 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:00:12,839.839 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:00:12,842.842 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:00:14,883.883 INFO    ] ================================================
[2026-08-29 07:00:14,899.899 INFO    ] Launching Daemon at Sat Aug 29 07:00:14 IST 2026
[2026-08-29 07:00:14,909.909 INFO    ] ================================================
[2026-08-29 07:00:15,254.254 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:00:15
[2026-08-29 07:00:15,566.566 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:00:15,710.710 INFO    ] Initializing speech engine...
[2026-08-29 07:00:15,716.716 INFO    ] 2026-08-29 07:00:15
[2026-08-29 07:00:15,908.908 INFO    ] 2026-08-29 07:00:15
[2026-08-29 07:00:15,986.986 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:00:16,138.138 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:00:16,143.143 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:00:16,277.277 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:00:16,337.337 INFO    ] time= 29/08/2026 07:00:16
[2026-08-29 07:00:16,401.401 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:00:16,411.411 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:00:16,536.536 INFO    ] No existing commands found in stream
[2026-08-29 07:00:21,564.564 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:00:21,566.566 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-08-29 07:00:25,144.144 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:00:25,146.146 INFO    ] Checking for system updates...
[2026-08-29 07:00:25,169.169 INFO    ] 200
[2026-08-29 07:00:25,171.171 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:00:25,207.207 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:00:25,208.208 INFO    ] No update needed
[2026-08-29 07:00:25,210.210 INFO    ] Checking for camera pi updates...
[2026-08-29 07:00:25,234.234 INFO    ] 200
[2026-08-29 07:00:25,235.235 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:00:25,259.259 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:00:25,349.349 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:00:25,350.350 INFO    ] No camera update needed
[2026-08-29 07:00:25,351.351 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:00:25,353.353 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:00:25,356.356 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:00:25,359.359 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:00:27,403.403 INFO    ] ================================================
[2026-08-29 07:00:27,418.418 INFO    ] Launching Daemon at Sat Aug 29 07:00:27 IST 2026
[2026-08-29 07:00:27,429.429 INFO    ] ================================================
[2026-08-29 07:00:27,814.814 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:00:27
[2026-08-29 07:00:28,165.165 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:00:28,319.319 INFO    ] Initializing speech engine...
[2026-08-29 07:00:28,325.325 INFO    ] 2026-08-29 07:00:28
[2026-08-29 07:00:28,535.535 INFO    ] 2026-08-29 07:00:28
[2026-08-29 07:00:28,564.564 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:00:28,686.686 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:00:28,749.749 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:00:28,879.879 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:00:28,943.943 INFO    ] time= 29/08/2026 07:00:28
[2026-08-29 07:00:28,975.975 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:00:28,980.980 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:00:29,051.051 INFO    ] No existing commands found in stream
[2026-08-29 07:00:34,062.062 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:00:34,065.065 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-08-29 07:00:36,724.724 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:00:36,726.726 INFO    ] Checking for system updates...
[2026-08-29 07:00:36,746.746 INFO    ] 200
[2026-08-29 07:00:36,748.748 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:00:36,780.780 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:00:36,781.781 INFO    ] No update needed
[2026-08-29 07:00:36,782.782 INFO    ] Checking for camera pi updates...
[2026-08-29 07:00:36,802.802 INFO    ] 200
[2026-08-29 07:00:36,803.803 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:00:36,826.826 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:00:36,931.931 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:00:36,933.933 INFO    ] No camera update needed
[2026-08-29 07:00:36,934.934 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:00:36,935.935 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:00:36,938.938 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:00:36,941.941 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:00:38,979.979 INFO    ] ================================================
[2026-08-29 07:00:38,994.994 INFO    ] Launching Daemon at Sat Aug 29 07:00:38 IST 2026
[2026-08-29 07:00:39,005.005 INFO    ] ================================================
[2026-08-29 07:00:39,353.353 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:00:39
[2026-08-29 07:00:39,685.685 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:00:39,842.842 INFO    ] Initializing speech engine...
[2026-08-29 07:00:39,849.849 INFO    ] 2026-08-29 07:00:39
[2026-08-29 07:00:40,128.128 INFO    ] 2026-08-29 07:00:40
[2026-08-29 07:00:40,153.153 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:00:40,321.321 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:00:40,329.329 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:00:40,486.486 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:00:40,497.497 INFO    ] time= 29/08/2026 07:00:40
[2026-08-29 07:00:40,502.502 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:00:40,507.507 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:00:40,575.575 INFO    ] No existing commands found in stream
[2026-08-29 07:00:45,585.585 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:00:45,588.588 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-08-29 07:00:46,979.979 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:00:46,980.980 INFO    ] Checking for system updates...
[2026-08-29 07:00:47,002.002 INFO    ] 200
[2026-08-29 07:00:47,004.004 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:00:47,034.034 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:00:47,035.035 INFO    ] No update needed
[2026-08-29 07:00:47,036.036 INFO    ] Checking for camera pi updates...
[2026-08-29 07:00:47,057.057 INFO    ] 200
[2026-08-29 07:00:47,058.058 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:00:47,081.081 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:00:47,264.264 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:00:47,265.265 INFO    ] No camera update needed
[2026-08-29 07:00:47,267.267 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:00:47,268.268 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:00:47,271.271 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:00:47,274.274 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:00:49,311.311 INFO    ] ================================================
[2026-08-29 07:00:49,327.327 INFO    ] Launching Daemon at Sat Aug 29 07:00:49 IST 2026
[2026-08-29 07:00:49,338.338 INFO    ] ================================================
[2026-08-29 07:00:49,711.711 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:00:49
[2026-08-29 07:00:50,299.299 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:00:50,569.569 INFO    ] Initializing speech engine...
[2026-08-29 07:00:50,578.578 INFO    ] 2026-08-29 07:00:50
[2026-08-29 07:00:50,826.826 INFO    ] 2026-08-29 07:00:50
[2026-08-29 07:00:50,862.862 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:00:51,036.036 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:00:51,053.053 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:00:51,189.189 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:00:51,197.197 INFO    ] time= 29/08/2026 07:00:51
[2026-08-29 07:00:51,204.204 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:00:51,250.250 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:00:51,374.374 INFO    ] No existing commands found in stream
[2026-08-29 07:00:56,399.399 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:00:56,401.401 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-08-29 07:00:58,334.334 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:00:58,335.335 INFO    ] Checking for system updates...
[2026-08-29 07:00:58,355.355 INFO    ] 200
[2026-08-29 07:00:58,357.357 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:00:58,389.389 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:00:58,390.390 INFO    ] No update needed
[2026-08-29 07:00:58,392.392 INFO    ] Checking for camera pi updates...
[2026-08-29 07:00:58,412.412 INFO    ] 200
[2026-08-29 07:00:58,414.414 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:00:58,437.437 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:00:58,512.512 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:00:58,513.513 INFO    ] No camera update needed
[2026-08-29 07:00:58,515.515 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:00:58,516.516 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:00:58,519.519 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:00:58,521.521 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:01:00,562.562 INFO    ] ================================================
[2026-08-29 07:01:00,577.577 INFO    ] Launching Daemon at Sat Aug 29 07:01:00 IST 2026
[2026-08-29 07:01:00,593.593 INFO    ] ================================================
[2026-08-29 07:01:00,948.948 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:01:00
[2026-08-29 07:01:01,496.496 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:01:01,861.861 INFO    ] Initializing speech engine...
[2026-08-29 07:01:01,878.878 INFO    ] 2026-08-29 07:01:01
[2026-08-29 07:01:02,161.161 INFO    ] 2026-08-29 07:01:02
[2026-08-29 07:01:02,237.237 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:01:02,418.418 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:01:02,436.436 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:01:02,584.584 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:01:02,598.598 INFO    ] time= 29/08/2026 07:01:02
[2026-08-29 07:01:02,620.620 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:01:02,657.657 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:01:02,733.733 INFO    ] No existing commands found in stream
[2026-08-29 07:01:07,760.760 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:01:07,763.763 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 07:01:10,809.809 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:01:10,811.811 INFO    ] Checking for system updates...
[2026-08-29 07:01:10,851.851 INFO    ] 200
[2026-08-29 07:01:10,854.854 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:01:10,907.907 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:01:10,909.909 INFO    ] No update needed
[2026-08-29 07:01:10,912.912 INFO    ] Checking for camera pi updates...
[2026-08-29 07:01:10,950.950 INFO    ] 200
[2026-08-29 07:01:10,953.953 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:01:11,000.000 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:01:11,107.107 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:01:11,110.110 INFO    ] No camera update needed
[2026-08-29 07:01:11,112.112 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:01:11,115.115 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:01:11,121.121 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:01:11,127.127 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:01:13,169.169 INFO    ] ================================================
[2026-08-29 07:01:13,185.185 INFO    ] Launching Daemon at Sat Aug 29 07:01:13 IST 2026
[2026-08-29 07:01:13,196.196 INFO    ] ================================================
[2026-08-29 07:01:13,755.755 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:01:13
[2026-08-29 07:01:14,067.067 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:01:14,209.209 INFO    ] Initializing speech engine...
[2026-08-29 07:01:14,214.214 INFO    ] 2026-08-29 07:01:14
[2026-08-29 07:01:14,418.418 INFO    ] 2026-08-29 07:01:14
[2026-08-29 07:01:14,445.445 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:01:14,567.567 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:01:14,629.629 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:01:14,780.780 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:01:14,834.834 INFO    ] time= 29/08/2026 07:01:14
[2026-08-29 07:01:14,875.875 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:01:14,908.908 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:01:15,025.025 INFO    ] No existing commands found in stream
[2026-08-29 07:01:20,038.038 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:01:20,040.040 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 07:01:21,470.470 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:01:21,472.472 INFO    ] Checking for system updates...
[2026-08-29 07:01:21,493.493 INFO    ] 200
[2026-08-29 07:01:21,495.495 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:01:21,527.527 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:01:21,529.529 INFO    ] No update needed
[2026-08-29 07:01:21,530.530 INFO    ] Checking for camera pi updates...
[2026-08-29 07:01:21,552.552 INFO    ] 200
[2026-08-29 07:01:21,553.553 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:01:21,577.577 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:01:21,655.655 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:01:21,657.657 INFO    ] No camera update needed
[2026-08-29 07:01:21,658.658 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:01:21,659.659 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:01:21,663.663 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:01:21,666.666 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:01:23,706.706 INFO    ] ================================================
[2026-08-29 07:01:23,721.721 INFO    ] Launching Daemon at Sat Aug 29 07:01:23 IST 2026
[2026-08-29 07:01:23,732.732 INFO    ] ================================================
[2026-08-29 07:01:24,088.088 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:01:24
[2026-08-29 07:01:24,430.430 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:01:24,584.584 INFO    ] Initializing speech engine...
[2026-08-29 07:01:24,588.588 INFO    ] 2026-08-29 07:01:24
[2026-08-29 07:01:24,806.806 INFO    ] 2026-08-29 07:01:24
[2026-08-29 07:01:24,868.868 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:01:25,020.020 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:01:25,026.026 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:01:25,160.160 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:01:25,226.226 INFO    ] time= 29/08/2026 07:01:25
[2026-08-29 07:01:25,289.289 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:01:25,296.296 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:01:25,427.427 INFO    ] No existing commands found in stream
[2026-08-29 07:01:30,450.450 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:01:30,454.454 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-08-29 07:01:32,982.982 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:01:32,985.985 INFO    ] Checking for system updates...
[2026-08-29 07:01:33,027.027 INFO    ] 200
[2026-08-29 07:01:33,029.029 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:01:33,101.101 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:01:33,104.104 INFO    ] No update needed
[2026-08-29 07:01:33,107.107 INFO    ] Checking for camera pi updates...
[2026-08-29 07:01:33,143.143 INFO    ] 200
[2026-08-29 07:01:33,146.146 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:01:33,187.187 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:01:33,268.268 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:01:33,271.271 INFO    ] No camera update needed
[2026-08-29 07:01:33,274.274 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:01:33,277.277 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:01:33,283.283 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:01:33,289.289 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:01:35,330.330 INFO    ] ================================================
[2026-08-29 07:01:35,346.346 INFO    ] Launching Daemon at Sat Aug 29 07:01:35 IST 2026
[2026-08-29 07:01:35,357.357 INFO    ] ================================================
[2026-08-29 07:01:35,700.700 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:01:35
[2026-08-29 07:01:36,016.016 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:01:36,291.291 INFO    ] Initializing speech engine...
[2026-08-29 07:01:36,301.301 INFO    ] 2026-08-29 07:01:36
[2026-08-29 07:01:36,561.561 INFO    ] 2026-08-29 07:01:36
[2026-08-29 07:01:36,614.614 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:01:36,863.863 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:01:36,867.867 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:01:37,047.047 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:01:37,100.100 INFO    ] time= 29/08/2026 07:01:37
[2026-08-29 07:01:37,106.106 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:01:37,127.127 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:01:37,234.234 INFO    ] No existing commands found in stream
[2026-08-29 07:01:42,262.262 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:01:42,264.264 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-08-29 07:01:42,698.698 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:01:42,700.700 INFO    ] Checking for system updates...
[2026-08-29 07:01:42,722.722 INFO    ] 200
[2026-08-29 07:01:42,723.723 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:01:42,756.756 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:01:42,757.757 INFO    ] No update needed
[2026-08-29 07:01:42,759.759 INFO    ] Checking for camera pi updates...
[2026-08-29 07:01:42,781.781 INFO    ] 200
[2026-08-29 07:01:42,782.782 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:01:42,807.807 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:01:42,916.916 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:01:42,918.918 INFO    ] No camera update needed
[2026-08-29 07:01:42,919.919 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:01:42,920.920 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:01:42,924.924 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:01:42,927.927 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:01:44,966.966 INFO    ] ================================================
[2026-08-29 07:01:44,981.981 INFO    ] Launching Daemon at Sat Aug 29 07:01:44 IST 2026
[2026-08-29 07:01:44,992.992 INFO    ] ================================================
[2026-08-29 07:01:45,365.365 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:01:45
[2026-08-29 07:01:45,679.679 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:01:45,821.821 INFO    ] Initializing speech engine...
[2026-08-29 07:01:45,839.839 INFO    ] 2026-08-29 07:01:45
[2026-08-29 07:01:46,091.091 INFO    ] 2026-08-29 07:01:46
[2026-08-29 07:01:46,127.127 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:01:46,299.299 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:01:46,313.313 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:01:46,452.452 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:01:46,461.461 INFO    ] time= 29/08/2026 07:01:46
[2026-08-29 07:01:46,467.467 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:01:46,508.508 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:01:46,622.622 INFO    ] No existing commands found in stream
[2026-08-29 07:01:51,653.653 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:01:51,656.656 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-08-29 07:01:55,682.682 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:01:55,684.684 INFO    ] Checking for system updates...
[2026-08-29 07:01:55,705.705 INFO    ] 200
[2026-08-29 07:01:55,706.706 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:01:55,736.736 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:01:55,737.737 INFO    ] No update needed
[2026-08-29 07:01:55,739.739 INFO    ] Checking for camera pi updates...
[2026-08-29 07:01:55,758.758 INFO    ] 200
[2026-08-29 07:01:55,760.760 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:01:55,783.783 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:01:55,876.876 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:01:55,877.877 INFO    ] No camera update needed
[2026-08-29 07:01:55,878.878 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:01:55,880.880 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:01:55,883.883 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:01:55,886.886 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:01:57,925.925 INFO    ] ================================================
[2026-08-29 07:01:57,940.940 INFO    ] Launching Daemon at Sat Aug 29 07:01:57 IST 2026
[2026-08-29 07:01:57,951.951 INFO    ] ================================================
[2026-08-29 07:01:58,288.288 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:01:58
[2026-08-29 07:01:58,599.599 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:01:58,740.740 INFO    ] Initializing speech engine...
[2026-08-29 07:01:58,746.746 INFO    ] 2026-08-29 07:01:58
[2026-08-29 07:01:58,948.948 INFO    ] 2026-08-29 07:01:58
[2026-08-29 07:01:58,976.976 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:01:59,097.097 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:01:59,130.130 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:01:59,271.271 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:01:59,305.305 INFO    ] time= 29/08/2026 07:01:59
[2026-08-29 07:01:59,359.359 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:01:59,396.396 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:01:59,490.490 INFO    ] No existing commands found in stream
[2026-08-29 07:02:04,500.500 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:02:04,503.503 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-08-29 07:02:05,901.901 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:02:05,904.904 INFO    ] Checking for system updates...
[2026-08-29 07:02:05,947.947 INFO    ] 200
[2026-08-29 07:02:05,950.950 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:02:06,014.014 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:02:06,016.016 INFO    ] No update needed
[2026-08-29 07:02:06,018.018 INFO    ] Checking for camera pi updates...
[2026-08-29 07:02:06,052.052 INFO    ] 200
[2026-08-29 07:02:06,054.054 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:02:06,095.095 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:02:06,174.174 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:02:06,176.176 INFO    ] No camera update needed
[2026-08-29 07:02:06,179.179 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:02:06,181.181 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:02:06,186.186 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:02:06,191.191 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:02:08,231.231 INFO    ] ================================================
[2026-08-29 07:02:08,246.246 INFO    ] Launching Daemon at Sat Aug 29 07:02:08 IST 2026
[2026-08-29 07:02:08,257.257 INFO    ] ================================================
[2026-08-29 07:02:08,822.822 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:02:08
[2026-08-29 07:02:09,230.230 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:02:09,501.501 INFO    ] Initializing speech engine...
[2026-08-29 07:02:09,510.510 INFO    ] 2026-08-29 07:02:09
[2026-08-29 07:02:09,772.772 INFO    ] 2026-08-29 07:02:09
[2026-08-29 07:02:09,807.807 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:02:09,965.965 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:02:09,968.968 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:02:10,111.111 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:02:10,118.118 INFO    ] time= 29/08/2026 07:02:10
[2026-08-29 07:02:10,123.123 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:02:10,141.141 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:02:10,232.232 INFO    ] No existing commands found in stream
[2026-08-29 07:02:15,244.244 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:02:15,247.247 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-08-29 07:02:17,615.615 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:02:17,616.616 INFO    ] Checking for system updates...
[2026-08-29 07:02:17,638.638 INFO    ] 200
[2026-08-29 07:02:17,639.639 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:02:17,669.669 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:02:17,670.670 INFO    ] No update needed
[2026-08-29 07:02:17,671.671 INFO    ] Checking for camera pi updates...
[2026-08-29 07:02:17,691.691 INFO    ] 200
[2026-08-29 07:02:17,692.692 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:02:17,715.715 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:02:17,795.795 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:02:17,796.796 INFO    ] No camera update needed
[2026-08-29 07:02:17,797.797 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:02:17,798.798 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:02:17,801.801 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:02:17,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:02:19,844.844 INFO    ] ================================================
[2026-08-29 07:02:19,860.860 INFO    ] Launching Daemon at Sat Aug 29 07:02:19 IST 2026
[2026-08-29 07:02:19,871.871 INFO    ] ================================================
[2026-08-29 07:02:20,219.219 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:02:20
[2026-08-29 07:02:20,562.562 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:02:20,867.867 INFO    ] Initializing speech engine...
[2026-08-29 07:02:20,877.877 INFO    ] 2026-08-29 07:02:20
[2026-08-29 07:02:21,143.143 INFO    ] 2026-08-29 07:02:21
[2026-08-29 07:02:21,201.201 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:02:21,347.347 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:02:21,360.360 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:02:21,504.504 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:02:21,510.510 INFO    ] time= 29/08/2026 07:02:21
[2026-08-29 07:02:21,516.516 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:02:21,572.572 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:02:21,685.685 INFO    ] No existing commands found in stream
[2026-08-29 07:02:26,716.716 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:02:26,719.719 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-08-29 07:02:27,332.332 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:02:27,335.335 INFO    ] Checking for system updates...
[2026-08-29 07:02:27,370.370 INFO    ] 200
[2026-08-29 07:02:27,373.373 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:02:27,425.425 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:02:27,427.427 INFO    ] No update needed
[2026-08-29 07:02:27,429.429 INFO    ] Checking for camera pi updates...
[2026-08-29 07:02:27,465.465 INFO    ] 200
[2026-08-29 07:02:27,468.468 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:02:27,508.508 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:02:27,613.613 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:02:27,616.616 INFO    ] No camera update needed
[2026-08-29 07:02:27,618.618 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:02:27,620.620 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:02:27,626.626 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:02:27,630.630 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:02:29,670.670 INFO    ] ================================================
[2026-08-29 07:02:29,685.685 INFO    ] Launching Daemon at Sat Aug 29 07:02:29 IST 2026
[2026-08-29 07:02:29,696.696 INFO    ] ================================================
[2026-08-29 07:02:30,267.267 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:02:30
[2026-08-29 07:02:30,645.645 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:02:30,789.789 INFO    ] Initializing speech engine...
[2026-08-29 07:02:30,794.794 INFO    ] 2026-08-29 07:02:30
[2026-08-29 07:02:30,998.998 INFO    ] 2026-08-29 07:02:30
[2026-08-29 07:02:31,025.025 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:02:31,147.147 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:02:31,210.210 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:02:31,379.379 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:02:31,421.421 INFO    ] time= 29/08/2026 07:02:31
[2026-08-29 07:02:31,471.471 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:02:31,532.532 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:02:31,623.623 INFO    ] No existing commands found in stream
[2026-08-29 07:02:36,643.643 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:02:36,646.646 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-08-29 07:02:39,623.623 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:02:39,625.625 INFO    ] Checking for system updates...
[2026-08-29 07:02:39,645.645 INFO    ] 200
[2026-08-29 07:02:39,647.647 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:02:39,676.676 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:02:39,678.678 INFO    ] No update needed
[2026-08-29 07:02:39,679.679 INFO    ] Checking for camera pi updates...
[2026-08-29 07:02:39,698.698 INFO    ] 200
[2026-08-29 07:02:39,700.700 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:02:39,738.738 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:02:39,848.848 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:02:39,851.851 INFO    ] No camera update needed
[2026-08-29 07:02:39,853.853 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:02:39,855.855 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:02:39,860.860 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:02:39,865.865 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:02:41,906.906 INFO    ] ================================================
[2026-08-29 07:02:41,921.921 INFO    ] Launching Daemon at Sat Aug 29 07:02:41 IST 2026
[2026-08-29 07:02:41,932.932 INFO    ] ================================================
[2026-08-29 07:02:42,399.399 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:02:42
[2026-08-29 07:02:42,985.985 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:02:43,245.245 INFO    ] Initializing speech engine...
[2026-08-29 07:02:43,269.269 INFO    ] 2026-08-29 07:02:43
[2026-08-29 07:02:43,537.537 INFO    ] 2026-08-29 07:02:43
[2026-08-29 07:02:43,577.577 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:02:43,747.747 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:02:43,772.772 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:02:43,880.880 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:02:43,885.885 INFO    ] time= 29/08/2026 07:02:43
[2026-08-29 07:02:43,908.908 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:02:43,914.914 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:02:44,026.026 INFO    ] No existing commands found in stream
[2026-08-29 07:02:49,044.044 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:02:49,047.047 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-08-29 07:02:49,800.800 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:02:49,803.803 INFO    ] Checking for system updates...
[2026-08-29 07:02:49,839.839 INFO    ] 200
[2026-08-29 07:02:49,841.841 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:02:49,894.894 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:02:49,897.897 INFO    ] No update needed
[2026-08-29 07:02:49,899.899 INFO    ] Checking for camera pi updates...
[2026-08-29 07:02:49,933.933 INFO    ] 200
[2026-08-29 07:02:49,935.935 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:02:49,980.980 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:02:50,162.162 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:02:50,165.165 INFO    ] No camera update needed
[2026-08-29 07:02:50,167.167 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:02:50,169.169 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:02:50,175.175 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:02:50,180.180 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:02:52,220.220 INFO    ] ================================================
[2026-08-29 07:02:52,235.235 INFO    ] Launching Daemon at Sat Aug 29 07:02:52 IST 2026
[2026-08-29 07:02:52,246.246 INFO    ] ================================================
[2026-08-29 07:02:52,606.606 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:02:52
[2026-08-29 07:02:52,921.921 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:02:53,054.054 INFO    ] Initializing speech engine...
[2026-08-29 07:02:53,067.067 INFO    ] 2026-08-29 07:02:53
[2026-08-29 07:02:53,277.277 INFO    ] 2026-08-29 07:02:53
[2026-08-29 07:02:53,359.359 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:02:53,509.509 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:02:53,518.518 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:02:53,650.650 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:02:53,692.692 INFO    ] time= 29/08/2026 07:02:53
[2026-08-29 07:02:53,751.751 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:02:53,786.786 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:02:53,843.843 INFO    ] No existing commands found in stream
[2026-08-29 07:02:58,868.868 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:02:58,871.871 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 07:03:02,324.324 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:03:02,328.328 INFO    ] Checking for system updates...
[2026-08-29 07:03:02,391.391 INFO    ] 200
[2026-08-29 07:03:02,395.395 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:03:02,476.476 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:03:02,479.479 INFO    ] No update needed
[2026-08-29 07:03:02,482.482 INFO    ] Checking for camera pi updates...
[2026-08-29 07:03:02,522.522 INFO    ] 200
[2026-08-29 07:03:02,525.525 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:03:02,570.570 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:03:02,665.665 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:03:02,670.670 INFO    ] No camera update needed
[2026-08-29 07:03:02,674.674 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:03:02,678.678 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:03:02,688.688 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:03:02,697.697 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:03:04,739.739 INFO    ] ================================================
[2026-08-29 07:03:04,755.755 INFO    ] Launching Daemon at Sat Aug 29 07:03:04 IST 2026
[2026-08-29 07:03:04,765.765 INFO    ] ================================================
[2026-08-29 07:03:05,267.267 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:03:05
[2026-08-29 07:03:05,577.577 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:03:05,707.707 INFO    ] Initializing speech engine...
[2026-08-29 07:03:05,711.711 INFO    ] 2026-08-29 07:03:05
[2026-08-29 07:03:05,929.929 INFO    ] 2026-08-29 07:03:05
[2026-08-29 07:03:05,959.959 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:03:06,098.098 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:03:06,146.146 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:03:06,286.286 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:03:06,346.346 INFO    ] time= 29/08/2026 07:03:06
[2026-08-29 07:03:06,405.405 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:03:06,431.431 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:03:06,567.567 INFO    ] No existing commands found in stream
[2026-08-29 07:03:11,597.597 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:03:11,600.600 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-08-29 07:03:13,583.583 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:03:13,584.584 INFO    ] Checking for system updates...
[2026-08-29 07:03:13,604.604 INFO    ] 200
[2026-08-29 07:03:13,606.606 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:03:13,637.637 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:03:13,638.638 INFO    ] No update needed
[2026-08-29 07:03:13,640.640 INFO    ] Checking for camera pi updates...
[2026-08-29 07:03:13,659.659 INFO    ] 200
[2026-08-29 07:03:13,660.660 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:03:13,683.683 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:03:13,775.775 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:03:13,776.776 INFO    ] No camera update needed
[2026-08-29 07:03:13,777.777 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:03:13,778.778 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:03:13,781.781 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:03:13,784.784 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:03:15,822.822 INFO    ] ================================================
[2026-08-29 07:03:15,837.837 INFO    ] Launching Daemon at Sat Aug 29 07:03:15 IST 2026
[2026-08-29 07:03:15,848.848 INFO    ] ================================================
[2026-08-29 07:03:16,230.230 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:03:16
[2026-08-29 07:03:16,553.553 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:03:16,687.687 INFO    ] Initializing speech engine...
[2026-08-29 07:03:16,695.695 INFO    ] 2026-08-29 07:03:16
[2026-08-29 07:03:16,916.916 INFO    ] 2026-08-29 07:03:16
[2026-08-29 07:03:16,946.946 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:03:17,092.092 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:03:17,143.143 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:03:17,281.281 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:03:17,338.338 INFO    ] time= 29/08/2026 07:03:17
[2026-08-29 07:03:17,381.381 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:03:17,388.388 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:03:17,462.462 INFO    ] No existing commands found in stream
[2026-08-29 07:03:22,473.473 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:03:22,475.475 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-08-29 07:03:23,568.568 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:03:23,569.569 INFO    ] Checking for system updates...
[2026-08-29 07:03:23,590.590 INFO    ] 200
[2026-08-29 07:03:23,591.591 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:03:23,622.622 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:03:23,624.624 INFO    ] No update needed
[2026-08-29 07:03:23,625.625 INFO    ] Checking for camera pi updates...
[2026-08-29 07:03:23,644.644 INFO    ] 200
[2026-08-29 07:03:23,645.645 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:03:23,669.669 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:03:23,747.747 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:03:23,749.749 INFO    ] No camera update needed
[2026-08-29 07:03:23,750.750 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:03:23,751.751 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:03:23,754.754 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:03:23,757.757 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:03:25,795.795 INFO    ] ================================================
[2026-08-29 07:03:25,810.810 INFO    ] Launching Daemon at Sat Aug 29 07:03:25 IST 2026
[2026-08-29 07:03:25,821.821 INFO    ] ================================================
[2026-08-29 07:03:26,318.318 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:03:26
[2026-08-29 07:03:26,901.901 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:03:27,151.151 INFO    ] Initializing speech engine...
[2026-08-29 07:03:27,176.176 INFO    ] 2026-08-29 07:03:27
[2026-08-29 07:03:27,439.439 INFO    ] 2026-08-29 07:03:27
[2026-08-29 07:03:27,474.474 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:03:27,651.651 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:03:27,664.664 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:03:27,807.807 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:03:27,815.815 INFO    ] time= 29/08/2026 07:03:27
[2026-08-29 07:03:27,822.822 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:03:27,843.843 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:03:27,974.974 INFO    ] No existing commands found in stream
[2026-08-29 07:03:32,999.999 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:03:33,002.002 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-08-29 07:03:36,108.108 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:03:36,110.110 INFO    ] Checking for system updates...
[2026-08-29 07:03:36,130.130 INFO    ] 200
[2026-08-29 07:03:36,131.131 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:03:36,161.161 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:03:36,163.163 INFO    ] No update needed
[2026-08-29 07:03:36,164.164 INFO    ] Checking for camera pi updates...
[2026-08-29 07:03:36,183.183 INFO    ] 200
[2026-08-29 07:03:36,184.184 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:03:36,207.207 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:03:36,305.305 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:03:36,306.306 INFO    ] No camera update needed
[2026-08-29 07:03:36,308.308 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:03:36,309.309 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:03:36,311.311 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:03:36,314.314 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:03:38,354.354 INFO    ] ================================================
[2026-08-29 07:03:38,368.368 INFO    ] Launching Daemon at Sat Aug 29 07:03:38 IST 2026
[2026-08-29 07:03:38,379.379 INFO    ] ================================================
[2026-08-29 07:03:38,709.709 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:03:38
[2026-08-29 07:03:39,026.026 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:03:39,264.264 INFO    ] Initializing speech engine...
[2026-08-29 07:03:39,270.270 INFO    ] 2026-08-29 07:03:39
[2026-08-29 07:03:39,532.532 INFO    ] 2026-08-29 07:03:39
[2026-08-29 07:03:39,566.566 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:03:39,755.755 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:03:39,770.770 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:03:39,889.889 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:03:39,896.896 INFO    ] time= 29/08/2026 07:03:39
[2026-08-29 07:03:39,916.916 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:03:39,937.937 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:03:40,019.019 INFO    ] No existing commands found in stream
[2026-08-29 07:03:45,034.034 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:03:45,037.037 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-08-29 07:03:47,835.835 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:03:47,836.836 INFO    ] Checking for system updates...
[2026-08-29 07:03:47,856.856 INFO    ] 200
[2026-08-29 07:03:47,858.858 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:03:47,890.890 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:03:47,891.891 INFO    ] No update needed
[2026-08-29 07:03:47,893.893 INFO    ] Checking for camera pi updates...
[2026-08-29 07:03:47,913.913 INFO    ] 200
[2026-08-29 07:03:47,914.914 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:03:47,937.937 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:03:48,019.019 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:03:48,021.021 INFO    ] No camera update needed
[2026-08-29 07:03:48,022.022 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:03:48,023.023 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:03:48,026.026 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:03:48,029.029 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:03:50,067.067 INFO    ] ================================================
[2026-08-29 07:03:50,082.082 INFO    ] Launching Daemon at Sat Aug 29 07:03:50 IST 2026
[2026-08-29 07:03:50,093.093 INFO    ] ================================================
[2026-08-29 07:03:50,463.463 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:03:50
[2026-08-29 07:03:50,792.792 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:03:50,940.940 INFO    ] Initializing speech engine...
[2026-08-29 07:03:50,946.946 INFO    ] 2026-08-29 07:03:50
[2026-08-29 07:03:51,151.151 INFO    ] 2026-08-29 07:03:51
[2026-08-29 07:03:51,180.180 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:03:51,314.314 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:03:51,366.366 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:03:51,496.496 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:03:51,547.547 INFO    ] time= 29/08/2026 07:03:51
[2026-08-29 07:03:51,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:03:51,596.596 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:03:51,666.666 INFO    ] No existing commands found in stream
[2026-08-29 07:03:56,677.677 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:03:56,681.681 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 07:04:01,771.771 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:04:01,773.773 INFO    ] Checking for system updates...
[2026-08-29 07:04:01,805.805 INFO    ] 200
[2026-08-29 07:04:01,809.809 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:04:01,889.889 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:04:01,894.894 INFO    ] No update needed
[2026-08-29 07:04:01,899.899 INFO    ] Checking for camera pi updates...
[2026-08-29 07:04:01,954.954 INFO    ] 200
[2026-08-29 07:04:01,958.958 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:04:02,027.027 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:04:02,161.161 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:04:02,166.166 INFO    ] No camera update needed
[2026-08-29 07:04:02,169.169 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:04:02,173.173 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:04:02,187.187 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:04:02,194.194 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:04:04,239.239 INFO    ] ================================================
[2026-08-29 07:04:04,254.254 INFO    ] Launching Daemon at Sat Aug 29 07:04:04 IST 2026
[2026-08-29 07:04:04,265.265 INFO    ] ================================================
[2026-08-29 07:04:04,843.843 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:04:04
[2026-08-29 07:04:05,319.319 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:04:05,532.532 INFO    ] Initializing speech engine...
[2026-08-29 07:04:05,541.541 INFO    ] 2026-08-29 07:04:05
[2026-08-29 07:04:05,792.792 INFO    ] 2026-08-29 07:04:05
[2026-08-29 07:04:05,825.825 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:04:06,024.024 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:04:06,038.038 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:04:06,184.184 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:04:06,189.189 INFO    ] time= 29/08/2026 07:04:06
[2026-08-29 07:04:06,195.195 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:04:06,226.226 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:04:06,354.354 INFO    ] No existing commands found in stream
[2026-08-29 07:04:11,384.384 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:04:11,387.387 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-08-29 07:04:12,276.276 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:04:12,277.277 INFO    ] Checking for system updates...
[2026-08-29 07:04:12,298.298 INFO    ] 200
[2026-08-29 07:04:12,299.299 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:04:12,329.329 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:04:12,331.331 INFO    ] No update needed
[2026-08-29 07:04:12,332.332 INFO    ] Checking for camera pi updates...
[2026-08-29 07:04:12,351.351 INFO    ] 200
[2026-08-29 07:04:12,353.353 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:04:12,375.375 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:04:12,480.480 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:04:12,483.483 INFO    ] No camera update needed
[2026-08-29 07:04:12,485.485 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:04:12,487.487 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:04:12,493.493 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:04:12,497.497 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:04:14,537.537 INFO    ] ================================================
[2026-08-29 07:04:14,552.552 INFO    ] Launching Daemon at Sat Aug 29 07:04:14 IST 2026
[2026-08-29 07:04:14,563.563 INFO    ] ================================================
[2026-08-29 07:04:15,152.152 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:04:15
[2026-08-29 07:04:15,623.623 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:04:15,765.765 INFO    ] Initializing speech engine...
[2026-08-29 07:04:15,770.770 INFO    ] 2026-08-29 07:04:15
[2026-08-29 07:04:15,981.981 INFO    ] 2026-08-29 07:04:15
[2026-08-29 07:04:16,065.065 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:04:16,213.213 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:04:16,221.221 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:04:16,355.355 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:04:16,371.371 INFO    ] time= 29/08/2026 07:04:16
[2026-08-29 07:04:16,431.431 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:04:16,488.488 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:04:16,543.543 INFO    ] No existing commands found in stream
[2026-08-29 07:04:21,555.555 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:04:21,557.557 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-08-29 07:04:25,286.286 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:04:25,287.287 INFO    ] Checking for system updates...
[2026-08-29 07:04:25,308.308 INFO    ] 200
[2026-08-29 07:04:25,309.309 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:04:25,342.342 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:04:25,343.343 INFO    ] No update needed
[2026-08-29 07:04:25,344.344 INFO    ] Checking for camera pi updates...
[2026-08-29 07:04:25,364.364 INFO    ] 200
[2026-08-29 07:04:25,365.365 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:04:25,388.388 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:04:25,483.483 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:04:25,486.486 INFO    ] No camera update needed
[2026-08-29 07:04:25,488.488 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:04:25,490.490 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:04:25,495.495 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:04:25,500.500 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:04:27,542.542 INFO    ] ================================================
[2026-08-29 07:04:27,558.558 INFO    ] Launching Daemon at Sat Aug 29 07:04:27 IST 2026
[2026-08-29 07:04:27,569.569 INFO    ] ================================================
[2026-08-29 07:04:28,134.134 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:04:28
[2026-08-29 07:04:28,614.614 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:04:28,761.761 INFO    ] Initializing speech engine...
[2026-08-29 07:04:28,765.765 INFO    ] 2026-08-29 07:04:28
[2026-08-29 07:04:28,984.984 INFO    ] 2026-08-29 07:04:28
[2026-08-29 07:04:29,038.038 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:04:29,209.209 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:04:29,218.218 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:04:29,390.390 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:04:29,425.425 INFO    ] time= 29/08/2026 07:04:29
[2026-08-29 07:04:29,444.444 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:04:29,455.455 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:04:29,584.584 INFO    ] No existing commands found in stream
[2026-08-29 07:04:34,605.605 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:04:34,607.607 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-08-29 07:04:37,715.715 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:04:37,716.716 INFO    ] Checking for system updates...
[2026-08-29 07:04:37,742.742 INFO    ] 200
[2026-08-29 07:04:37,743.743 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:04:37,775.775 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:04:37,776.776 INFO    ] No update needed
[2026-08-29 07:04:37,778.778 INFO    ] Checking for camera pi updates...
[2026-08-29 07:04:37,797.797 INFO    ] 200
[2026-08-29 07:04:37,798.798 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:04:37,821.821 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:04:37,871.871 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:04:37,873.873 INFO    ] No camera update needed
[2026-08-29 07:04:37,874.874 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:04:37,875.875 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:04:37,878.878 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:04:37,881.881 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:04:39,920.920 INFO    ] ================================================
[2026-08-29 07:04:39,935.935 INFO    ] Launching Daemon at Sat Aug 29 07:04:39 IST 2026
[2026-08-29 07:04:39,946.946 INFO    ] ================================================
[2026-08-29 07:04:40,286.286 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:04:40
[2026-08-29 07:04:40,600.600 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:04:40,734.734 INFO    ] Initializing speech engine...
[2026-08-29 07:04:40,746.746 INFO    ] 2026-08-29 07:04:40
[2026-08-29 07:04:40,934.934 INFO    ] 2026-08-29 07:04:40
[2026-08-29 07:04:41,016.016 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:04:41,168.168 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:04:41,177.177 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:04:41,314.314 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:04:41,356.356 INFO    ] time= 29/08/2026 07:04:41
[2026-08-29 07:04:41,395.395 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:04:41,452.452 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:04:41,536.536 INFO    ] No existing commands found in stream
[2026-08-29 07:04:46,573.573 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:04:46,575.575 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-08-29 07:04:49,276.276 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:04:49,277.277 INFO    ] Checking for system updates...
[2026-08-29 07:04:49,298.298 INFO    ] 200
[2026-08-29 07:04:49,300.300 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:04:49,330.330 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:04:49,332.332 INFO    ] No update needed
[2026-08-29 07:04:49,333.333 INFO    ] Checking for camera pi updates...
[2026-08-29 07:04:49,354.354 INFO    ] 200
[2026-08-29 07:04:49,356.356 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:04:49,382.382 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:04:49,461.461 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:04:49,463.463 INFO    ] No camera update needed
[2026-08-29 07:04:49,464.464 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:04:49,465.465 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:04:49,468.468 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:04:49,472.472 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:04:51,513.513 INFO    ] ================================================
[2026-08-29 07:04:51,528.528 INFO    ] Launching Daemon at Sat Aug 29 07:04:51 IST 2026
[2026-08-29 07:04:51,546.546 INFO    ] ================================================
[2026-08-29 07:04:51,887.887 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:04:51
[2026-08-29 07:04:52,197.197 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:04:52,327.327 INFO    ] Initializing speech engine...
[2026-08-29 07:04:52,332.332 INFO    ] 2026-08-29 07:04:52
[2026-08-29 07:04:52,550.550 INFO    ] 2026-08-29 07:04:52
[2026-08-29 07:04:52,579.579 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:04:52,700.700 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:04:52,738.738 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:04:52,900.900 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:04:52,966.966 INFO    ] time= 29/08/2026 07:04:52
[2026-08-29 07:04:52,989.989 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:04:52,996.996 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:04:53,111.111 INFO    ] No existing commands found in stream
[2026-08-29 07:04:58,131.131 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:04:58,134.134 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-08-29 07:05:01,700.700 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:05:01,705.705 INFO    ] Checking for system updates...
[2026-08-29 07:05:01,799.799 INFO    ] 200
[2026-08-29 07:05:01,806.806 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:05:01,941.941 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:05:01,952.952 INFO    ] No update needed
[2026-08-29 07:05:01,956.956 INFO    ] Checking for camera pi updates...
[2026-08-29 07:05:02,106.106 INFO    ] 200
[2026-08-29 07:05:02,111.111 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:05:02,200.200 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:05:02,415.415 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:05:02,418.418 INFO    ] No camera update needed
[2026-08-29 07:05:02,421.421 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:05:02,424.424 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:05:02,431.431 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:05:02,437.437 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:05:04,483.483 INFO    ] ================================================
[2026-08-29 07:05:04,498.498 INFO    ] Launching Daemon at Sat Aug 29 07:05:04 IST 2026
[2026-08-29 07:05:04,509.509 INFO    ] ================================================
[2026-08-29 07:05:05,178.178 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:05:05
[2026-08-29 07:05:05,682.682 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:05:05,834.834 INFO    ] Initializing speech engine...
[2026-08-29 07:05:05,839.839 INFO    ] 2026-08-29 07:05:05
[2026-08-29 07:05:06,048.048 INFO    ] 2026-08-29 07:05:06
[2026-08-29 07:05:06,077.077 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:05:06,206.206 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:05:06,263.263 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:05:06,402.402 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:05:06,470.470 INFO    ] time= 29/08/2026 07:05:06
[2026-08-29 07:05:06,494.494 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:05:06,500.500 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:05:06,566.566 INFO    ] No existing commands found in stream
[2026-08-29 07:05:11,577.577 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:05:11,580.580 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-08-29 07:05:15,465.465 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:05:15,466.466 INFO    ] Checking for system updates...
[2026-08-29 07:05:15,487.487 INFO    ] 200
[2026-08-29 07:05:15,489.489 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:05:15,520.520 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:05:15,521.521 INFO    ] No update needed
[2026-08-29 07:05:15,523.523 INFO    ] Checking for camera pi updates...
[2026-08-29 07:05:15,543.543 INFO    ] 200
[2026-08-29 07:05:15,544.544 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:05:15,568.568 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:05:15,643.643 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:05:15,644.644 INFO    ] No camera update needed
[2026-08-29 07:05:15,646.646 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:05:15,647.647 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:05:15,650.650 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:05:15,653.653 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:05:17,696.696 INFO    ] ================================================
[2026-08-29 07:05:17,711.711 INFO    ] Launching Daemon at Sat Aug 29 07:05:17 IST 2026
[2026-08-29 07:05:17,721.721 INFO    ] ================================================
[2026-08-29 07:05:18,079.079 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:05:18
[2026-08-29 07:05:18,390.390 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:05:18,533.533 INFO    ] Initializing speech engine...
[2026-08-29 07:05:18,538.538 INFO    ] 2026-08-29 07:05:18
[2026-08-29 07:05:18,721.721 INFO    ] 2026-08-29 07:05:18
[2026-08-29 07:05:18,756.756 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:05:18,931.931 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:05:18,937.937 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:05:19,056.056 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:05:19,062.062 INFO    ] time= 29/08/2026 07:05:19
[2026-08-29 07:05:19,081.081 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:05:19,101.101 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:05:19,175.175 INFO    ] No existing commands found in stream
[2026-08-29 07:05:24,188.188 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:05:24,190.190 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-08-29 07:05:24,972.972 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:05:24,974.974 INFO    ] Checking for system updates...
[2026-08-29 07:05:24,994.994 INFO    ] 200
[2026-08-29 07:05:24,995.995 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:05:25,025.025 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:05:25,026.026 INFO    ] No update needed
[2026-08-29 07:05:25,028.028 INFO    ] Checking for camera pi updates...
[2026-08-29 07:05:25,047.047 INFO    ] 200
[2026-08-29 07:05:25,048.048 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:05:25,071.071 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:05:25,153.153 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:05:25,155.155 INFO    ] No camera update needed
[2026-08-29 07:05:25,157.157 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:05:25,160.160 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:05:25,165.165 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:05:25,170.170 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:05:27,210.210 INFO    ] ================================================
[2026-08-29 07:05:27,226.226 INFO    ] Launching Daemon at Sat Aug 29 07:05:27 IST 2026
[2026-08-29 07:05:27,237.237 INFO    ] ================================================
[2026-08-29 07:05:27,803.803 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:05:27
[2026-08-29 07:05:28,302.302 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:05:28,603.603 INFO    ] Initializing speech engine...
[2026-08-29 07:05:28,617.617 INFO    ] 2026-08-29 07:05:28
[2026-08-29 07:05:28,902.902 INFO    ] 2026-08-29 07:05:28
[2026-08-29 07:05:28,958.958 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:05:29,170.170 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:05:29,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:05:29,313.313 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:05:29,379.379 INFO    ] time= 29/08/2026 07:05:29
[2026-08-29 07:05:29,444.444 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:05:29,451.451 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:05:29,578.578 INFO    ] No existing commands found in stream
[2026-08-29 07:05:34,604.604 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:05:34,607.607 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-08-29 07:05:35,940.940 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:05:35,941.941 INFO    ] Checking for system updates...
[2026-08-29 07:05:35,962.962 INFO    ] 200
[2026-08-29 07:05:35,964.964 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:05:35,993.993 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:05:35,995.995 INFO    ] No update needed
[2026-08-29 07:05:35,996.996 INFO    ] Checking for camera pi updates...
[2026-08-29 07:05:36,015.015 INFO    ] 200
[2026-08-29 07:05:36,017.017 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:05:36,040.040 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:05:36,150.150 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:05:36,152.152 INFO    ] No camera update needed
[2026-08-29 07:05:36,155.155 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:05:36,157.157 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:05:36,162.162 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:05:36,167.167 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:05:38,207.207 INFO    ] ================================================
[2026-08-29 07:05:38,223.223 INFO    ] Launching Daemon at Sat Aug 29 07:05:38 IST 2026
[2026-08-29 07:05:38,233.233 INFO    ] ================================================
[2026-08-29 07:05:38,897.897 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:05:38
[2026-08-29 07:05:39,390.390 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:05:39,537.537 INFO    ] Initializing speech engine...
[2026-08-29 07:05:39,547.547 INFO    ] 2026-08-29 07:05:39
[2026-08-29 07:05:39,772.772 INFO    ] 2026-08-29 07:05:39
[2026-08-29 07:05:39,833.833 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:05:40,058.058 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:05:40,069.069 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:05:40,203.203 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:05:40,264.264 INFO    ] time= 29/08/2026 07:05:40
[2026-08-29 07:05:40,314.314 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:05:40,337.337 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:05:40,399.399 INFO    ] No existing commands found in stream
[2026-08-29 07:05:45,427.427 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:05:45,430.430 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-08-29 07:05:46,403.403 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:05:46,404.404 INFO    ] Checking for system updates...
[2026-08-29 07:05:46,426.426 INFO    ] 200
[2026-08-29 07:05:46,427.427 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:05:46,457.457 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:05:46,458.458 INFO    ] No update needed
[2026-08-29 07:05:46,459.459 INFO    ] Checking for camera pi updates...
[2026-08-29 07:05:46,480.480 INFO    ] 200
[2026-08-29 07:05:46,482.482 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:05:46,505.505 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:05:46,581.581 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:05:46,583.583 INFO    ] No camera update needed
[2026-08-29 07:05:46,584.584 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:05:46,585.585 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:05:46,588.588 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:05:46,591.591 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:05:48,629.629 INFO    ] ================================================
[2026-08-29 07:05:48,645.645 INFO    ] Launching Daemon at Sat Aug 29 07:05:48 IST 2026
[2026-08-29 07:05:48,655.655 INFO    ] ================================================
[2026-08-29 07:05:49,102.102 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:05:49
[2026-08-29 07:05:49,685.685 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:05:49,953.953 INFO    ] Initializing speech engine...
[2026-08-29 07:05:49,962.962 INFO    ] 2026-08-29 07:05:49
[2026-08-29 07:05:50,208.208 INFO    ] 2026-08-29 07:05:50
[2026-08-29 07:05:50,243.243 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:05:50,413.413 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:05:50,426.426 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:05:50,567.567 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:05:50,576.576 INFO    ] time= 29/08/2026 07:05:50
[2026-08-29 07:05:50,582.582 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:05:50,603.603 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:05:50,729.729 INFO    ] No existing commands found in stream
[2026-08-29 07:05:55,759.759 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:05:55,768.768 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 07:05:58,436.436 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:05:58,438.438 INFO    ] Checking for system updates...
[2026-08-29 07:05:58,458.458 INFO    ] 200
[2026-08-29 07:05:58,460.460 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:05:58,492.492 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:05:58,494.494 INFO    ] No update needed
[2026-08-29 07:05:58,495.495 INFO    ] Checking for camera pi updates...
[2026-08-29 07:05:58,517.517 INFO    ] 200
[2026-08-29 07:05:58,518.518 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:05:58,543.543 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:05:58,619.619 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:05:58,620.620 INFO    ] No camera update needed
[2026-08-29 07:05:58,621.621 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:05:58,623.623 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:05:58,626.626 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:05:58,628.628 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:06:00,666.666 INFO    ] ================================================
[2026-08-29 07:06:00,682.682 INFO    ] Launching Daemon at Sat Aug 29 07:06:00 IST 2026
[2026-08-29 07:06:00,693.693 INFO    ] ================================================
[2026-08-29 07:06:01,062.062 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:06:01
[2026-08-29 07:06:01,407.407 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:06:01,561.561 INFO    ] Initializing speech engine...
[2026-08-29 07:06:01,568.568 INFO    ] 2026-08-29 07:06:01
[2026-08-29 07:06:01,778.778 INFO    ] 2026-08-29 07:06:01
[2026-08-29 07:06:01,815.815 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:06:01,951.951 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:06:01,955.955 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:06:02,065.065 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:06:02,069.069 INFO    ] time= 29/08/2026 07:06:02
[2026-08-29 07:06:02,073.073 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:06:02,076.076 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:06:02,125.125 INFO    ] No existing commands found in stream
[2026-08-29 07:06:07,170.170 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:06:07,173.173 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-08-29 07:06:07,971.971 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:06:07,973.973 INFO    ] Checking for system updates...
[2026-08-29 07:06:07,995.995 INFO    ] 200
[2026-08-29 07:06:07,996.996 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:06:08,029.029 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:06:08,030.030 INFO    ] No update needed
[2026-08-29 07:06:08,031.031 INFO    ] Checking for camera pi updates...
[2026-08-29 07:06:08,052.052 INFO    ] 200
[2026-08-29 07:06:08,054.054 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:06:08,077.077 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:06:08,184.184 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:06:08,186.186 INFO    ] No camera update needed
[2026-08-29 07:06:08,187.187 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:06:08,188.188 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:06:08,191.191 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:06:08,194.194 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:06:10,231.231 INFO    ] ================================================
[2026-08-29 07:06:10,247.247 INFO    ] Launching Daemon at Sat Aug 29 07:06:10 IST 2026
[2026-08-29 07:06:10,258.258 INFO    ] ================================================
[2026-08-29 07:06:10,661.661 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:06:10
[2026-08-29 07:06:11,248.248 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:06:11,500.500 INFO    ] Initializing speech engine...
[2026-08-29 07:06:11,523.523 INFO    ] 2026-08-29 07:06:11
[2026-08-29 07:06:11,779.779 INFO    ] 2026-08-29 07:06:11
[2026-08-29 07:06:11,814.814 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:06:11,990.990 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:06:12,004.004 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:06:12,133.133 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:06:12,154.154 INFO    ] time= 29/08/2026 07:06:12
[2026-08-29 07:06:12,162.162 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:06:12,170.170 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:06:12,234.234 INFO    ] No existing commands found in stream
[2026-08-29 07:06:17,246.246 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:06:17,249.249 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-08-29 07:06:21,524.524 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:06:21,526.526 INFO    ] Checking for system updates...
[2026-08-29 07:06:21,548.548 INFO    ] 200
[2026-08-29 07:06:21,549.549 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:06:21,579.579 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:06:21,581.581 INFO    ] No update needed
[2026-08-29 07:06:21,582.582 INFO    ] Checking for camera pi updates...
[2026-08-29 07:06:21,601.601 INFO    ] 200
[2026-08-29 07:06:21,603.603 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:06:21,626.626 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:06:21,706.706 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:06:21,707.707 INFO    ] No camera update needed
[2026-08-29 07:06:21,708.708 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:06:21,709.709 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:06:21,712.712 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:06:21,715.715 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:06:23,754.754 INFO    ] ================================================
[2026-08-29 07:06:23,771.771 INFO    ] Launching Daemon at Sat Aug 29 07:06:23 IST 2026
[2026-08-29 07:06:23,782.782 INFO    ] ================================================
[2026-08-29 07:06:24,144.144 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:06:24
[2026-08-29 07:06:24,716.716 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:06:24,975.975 INFO    ] Initializing speech engine...
[2026-08-29 07:06:24,982.982 INFO    ] 2026-08-29 07:06:24
[2026-08-29 07:06:25,293.293 INFO    ] 2026-08-29 07:06:25
[2026-08-29 07:06:25,334.334 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:06:25,528.528 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:06:25,543.543 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:06:25,663.663 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:06:25,686.686 INFO    ] time= 29/08/2026 07:06:25
[2026-08-29 07:06:25,693.693 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:06:25,698.698 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:06:25,752.752 INFO    ] No existing commands found in stream
[2026-08-29 07:06:30,764.764 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:06:30,767.767 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-08-29 07:06:31,737.737 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:06:31,739.739 INFO    ] Checking for system updates...
[2026-08-29 07:06:31,761.761 INFO    ] 200
[2026-08-29 07:06:31,763.763 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:06:31,797.797 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:06:31,798.798 INFO    ] No update needed
[2026-08-29 07:06:31,800.800 INFO    ] Checking for camera pi updates...
[2026-08-29 07:06:31,823.823 INFO    ] 200
[2026-08-29 07:06:31,825.825 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:06:31,853.853 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:06:31,957.957 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:06:31,959.959 INFO    ] No camera update needed
[2026-08-29 07:06:31,960.960 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:06:31,962.962 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:06:31,966.966 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:06:31,970.970 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:06:34,012.012 INFO    ] ================================================
[2026-08-29 07:06:34,028.028 INFO    ] Launching Daemon at Sat Aug 29 07:06:34 IST 2026
[2026-08-29 07:06:34,039.039 INFO    ] ================================================
[2026-08-29 07:06:34,610.610 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:06:34
[2026-08-29 07:06:35,196.196 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:06:35,445.445 INFO    ] Initializing speech engine...
[2026-08-29 07:06:35,451.451 INFO    ] 2026-08-29 07:06:35
[2026-08-29 07:06:35,679.679 INFO    ] 2026-08-29 07:06:35
[2026-08-29 07:06:35,708.708 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:06:35,889.889 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:06:35,898.898 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:06:36,048.048 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:06:36,103.103 INFO    ] time= 29/08/2026 07:06:36
[2026-08-29 07:06:36,128.128 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:06:36,159.159 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:06:36,289.289 INFO    ] No existing commands found in stream
[2026-08-29 07:06:41,314.314 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:06:41,317.317 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-08-29 07:06:43,896.896 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:06:43,898.898 INFO    ] Checking for system updates...
[2026-08-29 07:06:43,920.920 INFO    ] 200
[2026-08-29 07:06:43,921.921 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:06:43,954.954 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:06:43,955.955 INFO    ] No update needed
[2026-08-29 07:06:43,956.956 INFO    ] Checking for camera pi updates...
[2026-08-29 07:06:43,975.975 INFO    ] 200
[2026-08-29 07:06:43,977.977 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:06:44,002.002 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:06:44,096.096 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:06:44,097.097 INFO    ] No camera update needed
[2026-08-29 07:06:44,098.098 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:06:44,100.100 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:06:44,103.103 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:06:44,105.105 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:06:46,144.144 INFO    ] ================================================
[2026-08-29 07:06:46,160.160 INFO    ] Launching Daemon at Sat Aug 29 07:06:46 IST 2026
[2026-08-29 07:06:46,171.171 INFO    ] ================================================
[2026-08-29 07:06:46,728.728 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:06:46
[2026-08-29 07:06:47,316.316 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:06:47,566.566 INFO    ] Initializing speech engine...
[2026-08-29 07:06:47,588.588 INFO    ] 2026-08-29 07:06:47
[2026-08-29 07:06:47,845.845 INFO    ] 2026-08-29 07:06:47
[2026-08-29 07:06:47,881.881 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:06:48,031.031 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:06:48,037.037 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:06:48,197.197 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:06:48,206.206 INFO    ] time= 29/08/2026 07:06:48
[2026-08-29 07:06:48,211.211 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:06:48,221.221 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:06:48,296.296 INFO    ] No existing commands found in stream
[2026-08-29 07:06:53,306.306 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:06:53,309.309 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-08-29 07:06:57,320.320 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:06:57,321.321 INFO    ] Checking for system updates...
[2026-08-29 07:06:57,341.341 INFO    ] 200
[2026-08-29 07:06:57,343.343 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:06:57,373.373 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:06:57,374.374 INFO    ] No update needed
[2026-08-29 07:06:57,375.375 INFO    ] Checking for camera pi updates...
[2026-08-29 07:06:57,408.408 INFO    ] 200
[2026-08-29 07:06:57,411.411 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:06:57,453.453 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:06:57,553.553 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:06:57,555.555 INFO    ] No camera update needed
[2026-08-29 07:06:57,558.558 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:06:57,560.560 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:06:57,565.565 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:06:57,570.570 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:06:59,610.610 INFO    ] ================================================
[2026-08-29 07:06:59,625.625 INFO    ] Launching Daemon at Sat Aug 29 07:06:59 IST 2026
[2026-08-29 07:06:59,636.636 INFO    ] ================================================
[2026-08-29 07:06:59,977.977 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:06:59
[2026-08-29 07:07:00,306.306 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:07:00,561.561 INFO    ] Initializing speech engine...
[2026-08-29 07:07:00,583.583 INFO    ] 2026-08-29 07:07:00
[2026-08-29 07:07:00,841.841 INFO    ] 2026-08-29 07:07:00
[2026-08-29 07:07:00,876.876 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:07:01,051.051 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:07:01,064.064 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:07:01,204.204 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:07:01,213.213 INFO    ] time= 29/08/2026 07:07:01
[2026-08-29 07:07:01,219.219 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:07:01,254.254 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:07:01,378.378 INFO    ] No existing commands found in stream
[2026-08-29 07:07:06,408.408 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:07:06,411.411 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-08-29 07:07:09,392.392 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:07:09,395.395 INFO    ] Checking for system updates...
[2026-08-29 07:07:09,439.439 INFO    ] 200
[2026-08-29 07:07:09,443.443 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:07:09,524.524 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:07:09,527.527 INFO    ] No update needed
[2026-08-29 07:07:09,531.531 INFO    ] Checking for camera pi updates...
[2026-08-29 07:07:09,576.576 INFO    ] 200
[2026-08-29 07:07:09,579.579 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:07:09,639.639 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:07:09,838.838 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:07:09,841.841 INFO    ] No camera update needed
[2026-08-29 07:07:09,844.844 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:07:09,847.847 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:07:09,854.854 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:07:09,861.861 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:07:11,904.904 INFO    ] ================================================
[2026-08-29 07:07:11,920.920 INFO    ] Launching Daemon at Sat Aug 29 07:07:11 IST 2026
[2026-08-29 07:07:11,931.931 INFO    ] ================================================
[2026-08-29 07:07:12,418.418 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:07:12
[2026-08-29 07:07:13,001.001 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:07:13,257.257 INFO    ] Initializing speech engine...
[2026-08-29 07:07:13,263.263 INFO    ] 2026-08-29 07:07:13
[2026-08-29 07:07:13,569.569 INFO    ] 2026-08-29 07:07:13
[2026-08-29 07:07:13,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:07:13,761.761 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:07:13,769.769 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:07:13,924.924 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:07:13,935.935 INFO    ] time= 29/08/2026 07:07:13
[2026-08-29 07:07:13,939.939 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:07:13,944.944 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:07:14,017.017 INFO    ] No existing commands found in stream
[2026-08-29 07:07:19,028.028 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:07:19,031.031 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-08-29 07:07:22,056.056 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:07:22,059.059 INFO    ] Checking for system updates...
[2026-08-29 07:07:22,095.095 INFO    ] 200
[2026-08-29 07:07:22,097.097 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:07:22,158.158 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:07:22,161.161 INFO    ] No update needed
[2026-08-29 07:07:22,163.163 INFO    ] Checking for camera pi updates...
[2026-08-29 07:07:22,197.197 INFO    ] 200
[2026-08-29 07:07:22,200.200 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:07:22,245.245 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:07:22,335.335 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:07:22,338.338 INFO    ] No camera update needed
[2026-08-29 07:07:22,340.340 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:07:22,342.342 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:07:22,348.348 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:07:22,353.353 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:07:24,393.393 INFO    ] ================================================
[2026-08-29 07:07:24,408.408 INFO    ] Launching Daemon at Sat Aug 29 07:07:24 IST 2026
[2026-08-29 07:07:24,419.419 INFO    ] ================================================
[2026-08-29 07:07:24,986.986 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:07:24
[2026-08-29 07:07:25,479.479 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:07:25,749.749 INFO    ] Initializing speech engine...
[2026-08-29 07:07:25,758.758 INFO    ] 2026-08-29 07:07:25
[2026-08-29 07:07:26,005.005 INFO    ] 2026-08-29 07:07:26
[2026-08-29 07:07:26,039.039 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:07:26,212.212 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:07:26,224.224 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:07:26,365.365 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:07:26,374.374 INFO    ] time= 29/08/2026 07:07:26
[2026-08-29 07:07:26,381.381 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:07:26,431.431 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:07:26,556.556 INFO    ] No existing commands found in stream
[2026-08-29 07:07:31,580.580 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:07:31,583.583 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 07:07:32,182.182 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:07:32,185.185 INFO    ] Checking for system updates...
[2026-08-29 07:07:32,223.223 INFO    ] 200
[2026-08-29 07:07:32,226.226 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:07:32,294.294 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:07:32,297.297 INFO    ] No update needed
[2026-08-29 07:07:32,300.300 INFO    ] Checking for camera pi updates...
[2026-08-29 07:07:32,348.348 INFO    ] 200
[2026-08-29 07:07:32,351.351 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:07:32,403.403 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:07:32,487.487 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:07:32,491.491 INFO    ] No camera update needed
[2026-08-29 07:07:32,494.494 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:07:32,497.497 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:07:32,505.505 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:07:32,512.512 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:07:34,553.553 INFO    ] ================================================
[2026-08-29 07:07:34,569.569 INFO    ] Launching Daemon at Sat Aug 29 07:07:34 IST 2026
[2026-08-29 07:07:34,580.580 INFO    ] ================================================
[2026-08-29 07:07:35,157.157 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:07:35
[2026-08-29 07:07:35,501.501 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:07:35,655.655 INFO    ] Initializing speech engine...
[2026-08-29 07:07:35,661.661 INFO    ] 2026-08-29 07:07:35
[2026-08-29 07:07:35,869.869 INFO    ] 2026-08-29 07:07:35
[2026-08-29 07:07:35,899.899 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:07:36,052.052 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:07:36,100.100 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:07:36,239.239 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:07:36,249.249 INFO    ] time= 29/08/2026 07:07:36
[2026-08-29 07:07:36,280.280 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:07:36,328.328 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:07:36,388.388 INFO    ] No existing commands found in stream
[2026-08-29 07:07:41,399.399 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:07:41,402.402 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-08-29 07:07:44,246.246 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:07:44,247.247 INFO    ] Checking for system updates...
[2026-08-29 07:07:44,268.268 INFO    ] 200
[2026-08-29 07:07:44,270.270 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:07:44,300.300 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:07:44,301.301 INFO    ] No update needed
[2026-08-29 07:07:44,303.303 INFO    ] Checking for camera pi updates...
[2026-08-29 07:07:44,324.324 INFO    ] 200
[2026-08-29 07:07:44,326.326 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:07:44,354.354 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:07:44,464.464 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:07:44,465.465 INFO    ] No camera update needed
[2026-08-29 07:07:44,467.467 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:07:44,468.468 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:07:44,471.471 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:07:44,474.474 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:07:46,514.514 INFO    ] ================================================
[2026-08-29 07:07:46,529.529 INFO    ] Launching Daemon at Sat Aug 29 07:07:46 IST 2026
[2026-08-29 07:07:46,540.540 INFO    ] ================================================
[2026-08-29 07:07:46,885.885 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:07:46
[2026-08-29 07:07:47,232.232 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:07:47,387.387 INFO    ] Initializing speech engine...
[2026-08-29 07:07:47,393.393 INFO    ] 2026-08-29 07:07:47
[2026-08-29 07:07:47,606.606 INFO    ] 2026-08-29 07:07:47
[2026-08-29 07:07:47,635.635 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:07:47,823.823 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:07:47,826.826 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:07:47,987.987 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:07:48,052.052 INFO    ] time= 29/08/2026 07:07:47
[2026-08-29 07:07:48,111.111 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:07:48,130.130 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:07:48,248.248 INFO    ] No existing commands found in stream
[2026-08-29 07:07:53,274.274 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:07:53,277.277 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-08-29 07:07:53,702.702 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:07:53,704.704 INFO    ] Checking for system updates...
[2026-08-29 07:07:53,726.726 INFO    ] 200
[2026-08-29 07:07:53,728.728 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:07:53,763.763 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:07:53,765.765 INFO    ] No update needed
[2026-08-29 07:07:53,766.766 INFO    ] Checking for camera pi updates...
[2026-08-29 07:07:53,788.788 INFO    ] 200
[2026-08-29 07:07:53,790.790 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:07:53,816.816 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:07:53,908.908 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:07:53,909.909 INFO    ] No camera update needed
[2026-08-29 07:07:53,911.911 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:07:53,912.912 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:07:53,915.915 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:07:53,918.918 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:07:55,951.951 INFO    ] ================================================
[2026-08-29 07:07:55,966.966 INFO    ] Launching Daemon at Sat Aug 29 07:07:55 IST 2026
[2026-08-29 07:07:55,978.978 INFO    ] ================================================
[2026-08-29 07:07:56,353.353 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:07:56
[2026-08-29 07:07:56,939.939 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:07:57,197.197 INFO    ] Initializing speech engine...
[2026-08-29 07:07:57,203.203 INFO    ] 2026-08-29 07:07:57
[2026-08-29 07:07:57,509.509 INFO    ] 2026-08-29 07:07:57
[2026-08-29 07:07:57,545.545 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:07:57,697.697 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:07:57,706.706 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:07:57,864.864 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:07:57,875.875 INFO    ] time= 29/08/2026 07:07:57
[2026-08-29 07:07:57,879.879 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:07:57,884.884 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:07:57,944.944 INFO    ] No existing commands found in stream
[2026-08-29 07:08:02,964.964 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:08:02,967.967 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-08-29 07:08:06,236.236 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:08:06,238.238 INFO    ] Checking for system updates...
[2026-08-29 07:08:06,263.263 INFO    ] 200
[2026-08-29 07:08:06,264.264 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:08:06,297.297 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:08:06,299.299 INFO    ] No update needed
[2026-08-29 07:08:06,300.300 INFO    ] Checking for camera pi updates...
[2026-08-29 07:08:06,328.328 INFO    ] 200
[2026-08-29 07:08:06,330.330 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:08:06,377.377 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:08:06,463.463 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:08:06,465.465 INFO    ] No camera update needed
[2026-08-29 07:08:06,467.467 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:08:06,469.469 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:08:06,475.475 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:08:06,480.480 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:08:08,519.519 INFO    ] ================================================
[2026-08-29 07:08:08,535.535 INFO    ] Launching Daemon at Sat Aug 29 07:08:08 IST 2026
[2026-08-29 07:08:08,546.546 INFO    ] ================================================
[2026-08-29 07:08:09,215.215 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:08:09
[2026-08-29 07:08:09,691.691 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:08:09,845.845 INFO    ] Initializing speech engine...
[2026-08-29 07:08:09,850.850 INFO    ] 2026-08-29 07:08:09
[2026-08-29 07:08:10,062.062 INFO    ] 2026-08-29 07:08:10
[2026-08-29 07:08:10,091.091 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:08:10,252.252 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:08:10,281.281 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:08:10,430.430 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:08:10,488.488 INFO    ] time= 29/08/2026 07:08:10
[2026-08-29 07:08:10,512.512 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:08:10,519.519 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:08:10,587.587 INFO    ] No existing commands found in stream
[2026-08-29 07:08:15,596.596 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:08:15,600.600 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-08-29 07:08:16,267.267 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:08:16,269.269 INFO    ] Checking for system updates...
[2026-08-29 07:08:16,295.295 INFO    ] 200
[2026-08-29 07:08:16,297.297 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:08:16,335.335 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:08:16,336.336 INFO    ] No update needed
[2026-08-29 07:08:16,337.337 INFO    ] Checking for camera pi updates...
[2026-08-29 07:08:16,359.359 INFO    ] 200
[2026-08-29 07:08:16,360.360 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:08:16,383.383 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:08:16,487.487 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:08:16,489.489 INFO    ] No camera update needed
[2026-08-29 07:08:16,490.490 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:08:16,491.491 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:08:16,494.494 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:08:16,497.497 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:08:18,535.535 INFO    ] ================================================
[2026-08-29 07:08:18,551.551 INFO    ] Launching Daemon at Sat Aug 29 07:08:18 IST 2026
[2026-08-29 07:08:18,562.562 INFO    ] ================================================
[2026-08-29 07:08:19,195.195 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:08:19
[2026-08-29 07:08:19,887.887 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:08:20,198.198 INFO    ] Initializing speech engine...
[2026-08-29 07:08:20,212.212 INFO    ] 2026-08-29 07:08:20
[2026-08-29 07:08:20,528.528 INFO    ] 2026-08-29 07:08:20
[2026-08-29 07:08:20,611.611 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:08:20,760.760 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:08:20,770.770 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:08:20,903.903 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:08:20,951.951 INFO    ] time= 29/08/2026 07:08:20
[2026-08-29 07:08:21,016.016 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:08:21,040.040 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:08:21,150.150 INFO    ] No existing commands found in stream
[2026-08-29 07:08:26,188.188 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:08:26,191.191 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-08-29 07:08:30,159.159 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:08:30,160.160 INFO    ] Checking for system updates...
[2026-08-29 07:08:30,184.184 INFO    ] 200
[2026-08-29 07:08:30,185.185 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:08:30,218.218 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:08:30,220.220 INFO    ] No update needed
[2026-08-29 07:08:30,221.221 INFO    ] Checking for camera pi updates...
[2026-08-29 07:08:30,242.242 INFO    ] 200
[2026-08-29 07:08:30,244.244 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:08:30,269.269 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:08:30,363.363 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:08:30,364.364 INFO    ] No camera update needed
[2026-08-29 07:08:30,366.366 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:08:30,367.367 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:08:30,370.370 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:08:30,373.373 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:08:32,418.418 INFO    ] ================================================
[2026-08-29 07:08:32,436.436 INFO    ] Launching Daemon at Sat Aug 29 07:08:32 IST 2026
[2026-08-29 07:08:32,447.447 INFO    ] ================================================
[2026-08-29 07:08:33,046.046 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:08:33
[2026-08-29 07:08:33,631.631 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:08:33,902.902 INFO    ] Initializing speech engine...
[2026-08-29 07:08:33,911.911 INFO    ] 2026-08-29 07:08:33
[2026-08-29 07:08:34,160.160 INFO    ] 2026-08-29 07:08:34
[2026-08-29 07:08:34,224.224 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:08:34,375.375 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:08:34,391.391 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:08:34,519.519 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:08:34,527.527 INFO    ] time= 29/08/2026 07:08:34
[2026-08-29 07:08:34,534.534 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:08:34,574.574 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:08:34,690.690 INFO    ] No existing commands found in stream
[2026-08-29 07:08:39,720.720 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:08:39,723.723 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-08-29 07:08:40,206.206 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:08:40,208.208 INFO    ] Checking for system updates...
[2026-08-29 07:08:40,228.228 INFO    ] 200
[2026-08-29 07:08:40,229.229 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:08:40,259.259 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:08:40,260.260 INFO    ] No update needed
[2026-08-29 07:08:40,262.262 INFO    ] Checking for camera pi updates...
[2026-08-29 07:08:40,282.282 INFO    ] 200
[2026-08-29 07:08:40,284.284 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:08:40,308.308 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:08:40,365.365 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:08:40,367.367 INFO    ] No camera update needed
[2026-08-29 07:08:40,368.368 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:08:40,369.369 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:08:40,372.372 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:08:40,375.375 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:08:42,415.415 INFO    ] ================================================
[2026-08-29 07:08:42,431.431 INFO    ] Launching Daemon at Sat Aug 29 07:08:42 IST 2026
[2026-08-29 07:08:42,443.443 INFO    ] ================================================
[2026-08-29 07:08:42,815.815 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:08:42
[2026-08-29 07:08:43,131.131 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:08:43,270.270 INFO    ] Initializing speech engine...
[2026-08-29 07:08:43,279.279 INFO    ] 2026-08-29 07:08:43
[2026-08-29 07:08:43,460.460 INFO    ] 2026-08-29 07:08:43
[2026-08-29 07:08:43,495.495 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:08:43,666.666 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:08:43,688.688 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:08:43,819.819 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:08:43,828.828 INFO    ] time= 29/08/2026 07:08:43
[2026-08-29 07:08:43,834.834 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:08:43,851.851 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:08:43,996.996 INFO    ] No existing commands found in stream
[2026-08-29 07:08:49,026.026 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:08:49,029.029 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-08-29 07:08:51,553.553 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:08:51,554.554 INFO    ] Checking for system updates...
[2026-08-29 07:08:51,576.576 INFO    ] 200
[2026-08-29 07:08:51,577.577 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:08:51,614.614 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:08:51,615.615 INFO    ] No update needed
[2026-08-29 07:08:51,616.616 INFO    ] Checking for camera pi updates...
[2026-08-29 07:08:51,637.637 INFO    ] 200
[2026-08-29 07:08:51,638.638 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:08:51,663.663 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:08:51,756.756 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:08:51,758.758 INFO    ] No camera update needed
[2026-08-29 07:08:51,759.759 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:08:51,760.760 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:08:51,763.763 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:08:51,766.766 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:08:53,806.806 INFO    ] ================================================
[2026-08-29 07:08:53,822.822 INFO    ] Launching Daemon at Sat Aug 29 07:08:53 IST 2026
[2026-08-29 07:08:53,833.833 INFO    ] ================================================
[2026-08-29 07:08:54,195.195 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:08:54
[2026-08-29 07:08:54,506.506 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:08:54,729.729 INFO    ] Initializing speech engine...
[2026-08-29 07:08:54,738.738 INFO    ] 2026-08-29 07:08:54
[2026-08-29 07:08:54,992.992 INFO    ] 2026-08-29 07:08:54
[2026-08-29 07:08:55,052.052 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:08:55,192.192 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:08:55,204.204 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:08:55,345.345 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:08:55,354.354 INFO    ] time= 29/08/2026 07:08:55
[2026-08-29 07:08:55,360.360 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:08:55,406.406 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:08:55,524.524 INFO    ] No existing commands found in stream
[2026-08-29 07:09:00,549.549 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:09:00,551.551 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 07:09:01,076.076 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:09:01,077.077 INFO    ] Checking for system updates...
[2026-08-29 07:09:01,097.097 INFO    ] 200
[2026-08-29 07:09:01,099.099 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:09:01,129.129 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:09:01,130.130 INFO    ] No update needed
[2026-08-29 07:09:01,132.132 INFO    ] Checking for camera pi updates...
[2026-08-29 07:09:01,151.151 INFO    ] 200
[2026-08-29 07:09:01,152.152 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:09:01,175.175 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:09:01,273.273 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:09:01,274.274 INFO    ] No camera update needed
[2026-08-29 07:09:01,276.276 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:09:01,277.277 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:09:01,280.280 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:09:01,283.283 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:09:03,325.325 INFO    ] ================================================
[2026-08-29 07:09:03,340.340 INFO    ] Launching Daemon at Sat Aug 29 07:09:03 IST 2026
[2026-08-29 07:09:03,352.352 INFO    ] ================================================
[2026-08-29 07:09:03,927.927 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:09:03
[2026-08-29 07:09:04,511.511 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:09:04,712.712 INFO    ] Initializing speech engine...
[2026-08-29 07:09:04,722.722 INFO    ] 2026-08-29 07:09:04
[2026-08-29 07:09:04,924.924 INFO    ] 2026-08-29 07:09:04
[2026-08-29 07:09:05,006.006 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:09:05,157.157 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:09:05,166.166 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:09:05,302.302 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:09:05,330.330 INFO    ] time= 29/08/2026 07:09:05
[2026-08-29 07:09:05,338.338 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:09:05,383.383 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:09:05,462.462 INFO    ] No existing commands found in stream
[2026-08-29 07:09:10,485.485 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:09:10,488.488 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-08-29 07:09:12,094.094 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:09:12,096.096 INFO    ] Checking for system updates...
[2026-08-29 07:09:12,117.117 INFO    ] 200
[2026-08-29 07:09:12,118.118 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:09:12,150.150 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:09:12,152.152 INFO    ] No update needed
[2026-08-29 07:09:12,154.154 INFO    ] Checking for camera pi updates...
[2026-08-29 07:09:12,177.177 INFO    ] 200
[2026-08-29 07:09:12,178.178 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:09:12,202.202 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:09:12,380.380 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:09:12,381.381 INFO    ] No camera update needed
[2026-08-29 07:09:12,383.383 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:09:12,384.384 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:09:12,387.387 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:09:12,390.390 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:09:14,431.431 INFO    ] ================================================
[2026-08-29 07:09:14,447.447 INFO    ] Launching Daemon at Sat Aug 29 07:09:14 IST 2026
[2026-08-29 07:09:14,458.458 INFO    ] ================================================
[2026-08-29 07:09:14,786.786 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:09:14
[2026-08-29 07:09:15,102.102 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:09:15,241.241 INFO    ] Initializing speech engine...
[2026-08-29 07:09:15,254.254 INFO    ] 2026-08-29 07:09:15
[2026-08-29 07:09:15,473.473 INFO    ] 2026-08-29 07:09:15
[2026-08-29 07:09:15,503.503 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:09:15,636.636 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:09:15,703.703 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:09:15,847.847 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:09:15,898.898 INFO    ] time= 29/08/2026 07:09:15
[2026-08-29 07:09:15,944.944 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:09:15,956.956 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:09:16,033.033 INFO    ] No existing commands found in stream
[2026-08-29 07:09:21,043.043 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:09:21,045.045 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-08-29 07:09:27,833.833 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:09:27,834.834 INFO    ] Checking for system updates...
[2026-08-29 07:09:27,855.855 INFO    ] 200
[2026-08-29 07:09:27,856.856 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:09:27,886.886 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:09:27,887.887 INFO    ] No update needed
[2026-08-29 07:09:27,888.888 INFO    ] Checking for camera pi updates...
[2026-08-29 07:09:27,908.908 INFO    ] 200
[2026-08-29 07:09:27,909.909 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:09:27,932.932 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:09:28,020.020 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:09:28,022.022 INFO    ] No camera update needed
[2026-08-29 07:09:28,023.023 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:09:28,024.024 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:09:28,027.027 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:09:28,030.030 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:09:30,069.069 INFO    ] ================================================
[2026-08-29 07:09:30,084.084 INFO    ] Launching Daemon at Sat Aug 29 07:09:30 IST 2026
[2026-08-29 07:09:30,096.096 INFO    ] ================================================
[2026-08-29 07:09:30,750.750 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:09:30
[2026-08-29 07:09:31,424.424 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:09:31,732.732 INFO    ] Initializing speech engine...
[2026-08-29 07:09:31,738.738 INFO    ] 2026-08-29 07:09:31
[2026-08-29 07:09:31,996.996 INFO    ] 2026-08-29 07:09:31
[2026-08-29 07:09:32,056.056 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:09:32,216.216 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:09:32,232.232 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:09:32,370.370 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:09:32,377.377 INFO    ] time= 29/08/2026 07:09:32
[2026-08-29 07:09:32,392.392 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:09:32,450.450 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:09:32,583.583 INFO    ] No existing commands found in stream
[2026-08-29 07:09:37,603.603 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:09:37,605.605 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 07:09:38,183.183 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:09:38,184.184 INFO    ] Checking for system updates...
[2026-08-29 07:09:38,205.205 INFO    ] 200
[2026-08-29 07:09:38,207.207 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:09:38,239.239 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:09:38,240.240 INFO    ] No update needed
[2026-08-29 07:09:38,241.241 INFO    ] Checking for camera pi updates...
[2026-08-29 07:09:38,261.261 INFO    ] 200
[2026-08-29 07:09:38,263.263 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:09:38,287.287 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:09:38,370.370 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:09:38,371.371 INFO    ] No camera update needed
[2026-08-29 07:09:38,373.373 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:09:38,374.374 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:09:38,377.377 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:09:38,379.379 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:09:40,418.418 INFO    ] ================================================
[2026-08-29 07:09:40,434.434 INFO    ] Launching Daemon at Sat Aug 29 07:09:40 IST 2026
[2026-08-29 07:09:40,445.445 INFO    ] ================================================
[2026-08-29 07:09:40,788.788 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:09:40
[2026-08-29 07:09:41,101.101 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:09:41,244.244 INFO    ] Initializing speech engine...
[2026-08-29 07:09:41,249.249 INFO    ] 2026-08-29 07:09:41
[2026-08-29 07:09:41,453.453 INFO    ] 2026-08-29 07:09:41
[2026-08-29 07:09:41,483.483 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:09:41,649.649 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:09:41,655.655 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:09:41,790.790 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:09:41,805.805 INFO    ] time= 29/08/2026 07:09:41
[2026-08-29 07:09:41,815.815 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:09:41,842.842 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:09:41,927.927 INFO    ] No existing commands found in stream
[2026-08-29 07:09:46,953.953 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:09:46,955.955 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-08-29 07:09:49,385.385 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:09:49,387.387 INFO    ] Checking for system updates...
[2026-08-29 07:09:49,409.409 INFO    ] 200
[2026-08-29 07:09:49,410.410 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:09:49,442.442 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:09:49,443.443 INFO    ] No update needed
[2026-08-29 07:09:49,445.445 INFO    ] Checking for camera pi updates...
[2026-08-29 07:09:49,468.468 INFO    ] 200
[2026-08-29 07:09:49,469.469 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:09:49,492.492 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:09:49,608.608 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:09:49,609.609 INFO    ] No camera update needed
[2026-08-29 07:09:49,611.611 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:09:49,612.612 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:09:49,615.615 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:09:49,618.618 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:09:51,658.658 INFO    ] ================================================
[2026-08-29 07:09:51,673.673 INFO    ] Launching Daemon at Sat Aug 29 07:09:51 IST 2026
[2026-08-29 07:09:51,685.685 INFO    ] ================================================
[2026-08-29 07:09:52,034.034 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:09:52
[2026-08-29 07:09:52,351.351 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:09:52,485.485 INFO    ] Initializing speech engine...
[2026-08-29 07:09:52,497.497 INFO    ] 2026-08-29 07:09:52
[2026-08-29 07:09:52,705.705 INFO    ] 2026-08-29 07:09:52
[2026-08-29 07:09:52,734.734 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:09:52,859.859 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:09:52,896.896 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:09:53,054.054 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:09:53,122.122 INFO    ] time= 29/08/2026 07:09:53
[2026-08-29 07:09:53,154.154 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:09:53,156.156 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:09:53,230.230 INFO    ] No existing commands found in stream
[2026-08-29 07:09:58,244.244 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:09:58,247.247 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-08-29 07:09:59,663.663 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:09:59,664.664 INFO    ] Checking for system updates...
[2026-08-29 07:09:59,686.686 INFO    ] 200
[2026-08-29 07:09:59,687.687 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:09:59,717.717 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:09:59,718.718 INFO    ] No update needed
[2026-08-29 07:09:59,719.719 INFO    ] Checking for camera pi updates...
[2026-08-29 07:09:59,738.738 INFO    ] 200
[2026-08-29 07:09:59,740.740 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:09:59,764.764 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:09:59,866.866 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:09:59,868.868 INFO    ] No camera update needed
[2026-08-29 07:09:59,869.869 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:09:59,870.870 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:09:59,873.873 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:09:59,876.876 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:10:01,935.935 INFO    ] ================================================
[2026-08-29 07:10:02,006.006 INFO    ] Launching Daemon at Sat Aug 29 07:10:01 IST 2026
[2026-08-29 07:10:02,025.025 INFO    ] ================================================
[2026-08-29 07:10:02,843.843 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:10:02
[2026-08-29 07:10:03,558.558 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:10:03,829.829 INFO    ] Initializing speech engine...
[2026-08-29 07:10:03,838.838 INFO    ] 2026-08-29 07:10:03
[2026-08-29 07:10:04,090.090 INFO    ] 2026-08-29 07:10:04
[2026-08-29 07:10:04,156.156 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:10:04,302.302 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:10:04,314.314 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:10:04,425.425 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:10:04,431.431 INFO    ] time= 29/08/2026 07:10:04
[2026-08-29 07:10:04,464.464 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:10:04,472.472 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:10:04,543.543 INFO    ] No existing commands found in stream
[2026-08-29 07:10:09,555.555 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:10:09,557.557 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-08-29 07:10:10,995.995 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:10:10,996.996 INFO    ] Checking for system updates...
[2026-08-29 07:10:11,017.017 INFO    ] 200
[2026-08-29 07:10:11,018.018 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:10:11,050.050 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:10:11,052.052 INFO    ] No update needed
[2026-08-29 07:10:11,054.054 INFO    ] Checking for camera pi updates...
[2026-08-29 07:10:11,073.073 INFO    ] 200
[2026-08-29 07:10:11,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:10:11,097.097 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:10:11,209.209 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:10:11,210.210 INFO    ] No camera update needed
[2026-08-29 07:10:11,211.211 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:10:11,213.213 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:10:11,216.216 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:10:11,219.219 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:10:13,258.258 INFO    ] ================================================
[2026-08-29 07:10:13,273.273 INFO    ] Launching Daemon at Sat Aug 29 07:10:13 IST 2026
[2026-08-29 07:10:13,284.284 INFO    ] ================================================
[2026-08-29 07:10:13,670.670 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:10:13
[2026-08-29 07:10:14,010.010 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:10:14,164.164 INFO    ] Initializing speech engine...
[2026-08-29 07:10:14,168.168 INFO    ] 2026-08-29 07:10:14
[2026-08-29 07:10:14,375.375 INFO    ] 2026-08-29 07:10:14
[2026-08-29 07:10:14,404.404 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:10:14,541.541 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:10:14,589.589 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:10:14,725.725 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:10:14,781.781 INFO    ] time= 29/08/2026 07:10:14
[2026-08-29 07:10:14,815.815 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:10:14,821.821 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:10:14,893.893 INFO    ] No existing commands found in stream
[2026-08-29 07:10:19,902.902 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:10:19,906.906 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-08-29 07:10:21,664.664 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:10:21,666.666 INFO    ] Checking for system updates...
[2026-08-29 07:10:21,688.688 INFO    ] 200
[2026-08-29 07:10:21,689.689 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:10:21,720.720 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:10:21,721.721 INFO    ] No update needed
[2026-08-29 07:10:21,723.723 INFO    ] Checking for camera pi updates...
[2026-08-29 07:10:21,744.744 INFO    ] 200
[2026-08-29 07:10:21,745.745 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:10:21,769.769 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:10:21,850.850 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:10:21,853.853 INFO    ] No camera update needed
[2026-08-29 07:10:21,856.856 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:10:21,859.859 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:10:21,865.865 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:10:21,871.871 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:10:23,914.914 INFO    ] ================================================
[2026-08-29 07:10:23,930.930 INFO    ] Launching Daemon at Sat Aug 29 07:10:23 IST 2026
[2026-08-29 07:10:23,942.942 INFO    ] ================================================
[2026-08-29 07:10:24,625.625 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:10:24
[2026-08-29 07:10:25,120.120 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:10:25,273.273 INFO    ] Initializing speech engine...
[2026-08-29 07:10:25,279.279 INFO    ] 2026-08-29 07:10:25
[2026-08-29 07:10:25,489.489 INFO    ] 2026-08-29 07:10:25
[2026-08-29 07:10:25,518.518 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:10:25,675.675 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:10:25,740.740 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:10:25,915.915 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:10:25,942.942 INFO    ] time= 29/08/2026 07:10:25
[2026-08-29 07:10:26,000.000 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:10:26,065.065 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:10:26,193.193 INFO    ] No existing commands found in stream
[2026-08-29 07:10:31,224.224 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:10:31,227.227 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-08-29 07:10:33,029.029 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:10:33,032.032 INFO    ] Checking for system updates...
[2026-08-29 07:10:33,073.073 INFO    ] 200
[2026-08-29 07:10:33,076.076 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:10:33,135.135 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:10:33,138.138 INFO    ] No update needed
[2026-08-29 07:10:33,141.141 INFO    ] Checking for camera pi updates...
[2026-08-29 07:10:33,181.181 INFO    ] 200
[2026-08-29 07:10:33,185.185 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:10:33,236.236 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:10:33,320.320 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:10:33,323.323 INFO    ] No camera update needed
[2026-08-29 07:10:33,325.325 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:10:33,328.328 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:10:33,335.335 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:10:33,340.340 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:10:35,381.381 INFO    ] ================================================
[2026-08-29 07:10:35,397.397 INFO    ] Launching Daemon at Sat Aug 29 07:10:35 IST 2026
[2026-08-29 07:10:35,408.408 INFO    ] ================================================
[2026-08-29 07:10:35,960.960 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:10:35
[2026-08-29 07:10:36,543.543 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:10:36,812.812 INFO    ] Initializing speech engine...
[2026-08-29 07:10:36,821.821 INFO    ] 2026-08-29 07:10:36
[2026-08-29 07:10:37,069.069 INFO    ] 2026-08-29 07:10:37
[2026-08-29 07:10:37,104.104 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:10:37,275.275 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:10:37,288.288 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:10:37,428.428 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:10:37,437.437 INFO    ] time= 29/08/2026 07:10:37
[2026-08-29 07:10:37,443.443 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:10:37,485.485 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:10:37,601.601 INFO    ] No existing commands found in stream
[2026-08-29 07:10:42,626.626 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:10:42,629.629 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-08-29 07:10:44,446.446 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:10:44,447.447 INFO    ] Checking for system updates...
[2026-08-29 07:10:44,468.468 INFO    ] 200
[2026-08-29 07:10:44,469.469 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:10:44,499.499 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:10:44,500.500 INFO    ] No update needed
[2026-08-29 07:10:44,502.502 INFO    ] Checking for camera pi updates...
[2026-08-29 07:10:44,521.521 INFO    ] 200
[2026-08-29 07:10:44,523.523 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:10:44,546.546 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:10:44,624.624 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:10:44,626.626 INFO    ] No camera update needed
[2026-08-29 07:10:44,627.627 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:10:44,628.628 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:10:44,631.631 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:10:44,634.634 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:10:46,675.675 INFO    ] ================================================
[2026-08-29 07:10:46,690.690 INFO    ] Launching Daemon at Sat Aug 29 07:10:46 IST 2026
[2026-08-29 07:10:46,701.701 INFO    ] ================================================
[2026-08-29 07:10:47,045.045 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:10:47
[2026-08-29 07:10:47,360.360 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:10:47,497.497 INFO    ] Initializing speech engine...
[2026-08-29 07:10:47,510.510 INFO    ] 2026-08-29 07:10:47
[2026-08-29 07:10:47,732.732 INFO    ] 2026-08-29 07:10:47
[2026-08-29 07:10:47,765.765 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:10:47,906.906 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:10:47,915.915 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:10:48,102.102 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:10:48,147.147 INFO    ] time= 29/08/2026 07:10:48
[2026-08-29 07:10:48,154.154 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:10:48,170.170 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:10:48,221.221 INFO    ] No existing commands found in stream
[2026-08-29 07:10:53,238.238 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:10:53,247.247 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-08-29 07:10:56,785.785 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:10:56,786.786 INFO    ] Checking for system updates...
[2026-08-29 07:10:56,807.807 INFO    ] 200
[2026-08-29 07:10:56,808.808 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:10:56,840.840 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:10:56,841.841 INFO    ] No update needed
[2026-08-29 07:10:56,843.843 INFO    ] Checking for camera pi updates...
[2026-08-29 07:10:56,862.862 INFO    ] 200
[2026-08-29 07:10:56,864.864 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:10:56,886.886 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:10:56,983.983 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:10:56,986.986 INFO    ] No camera update needed
[2026-08-29 07:10:56,988.988 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:10:56,990.990 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:10:56,995.995 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:10:57,000.000 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:10:59,041.041 INFO    ] ================================================
[2026-08-29 07:10:59,057.057 INFO    ] Launching Daemon at Sat Aug 29 07:10:59 IST 2026
[2026-08-29 07:10:59,068.068 INFO    ] ================================================
[2026-08-29 07:10:59,710.710 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:10:59
[2026-08-29 07:11:00,205.205 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:11:00,357.357 INFO    ] Initializing speech engine...
[2026-08-29 07:11:00,363.363 INFO    ] 2026-08-29 07:11:00
[2026-08-29 07:11:00,575.575 INFO    ] 2026-08-29 07:11:00
[2026-08-29 07:11:00,604.604 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:11:00,732.732 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:11:00,791.791 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:11:00,948.948 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:11:01,008.008 INFO    ] time= 29/08/2026 07:11:00
[2026-08-29 07:11:01,033.033 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:11:01,093.093 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:11:01,191.191 INFO    ] No existing commands found in stream
[2026-08-29 07:11:06,209.209 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:11:06,212.212 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-08-29 07:11:10,504.504 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:11:10,506.506 INFO    ] Checking for system updates...
[2026-08-29 07:11:10,528.528 INFO    ] 200
[2026-08-29 07:11:10,529.529 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:11:10,559.559 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:11:10,560.560 INFO    ] No update needed
[2026-08-29 07:11:10,561.561 INFO    ] Checking for camera pi updates...
[2026-08-29 07:11:10,580.580 INFO    ] 200
[2026-08-29 07:11:10,582.582 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:11:10,607.607 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:11:10,692.692 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:11:10,693.693 INFO    ] No camera update needed
[2026-08-29 07:11:10,694.694 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:11:10,696.696 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:11:10,699.699 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:11:10,701.701 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:11:12,739.739 INFO    ] ================================================
[2026-08-29 07:11:12,755.755 INFO    ] Launching Daemon at Sat Aug 29 07:11:12 IST 2026
[2026-08-29 07:11:12,766.766 INFO    ] ================================================
[2026-08-29 07:11:13,254.254 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:11:13
[2026-08-29 07:11:13,851.851 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:11:14,129.129 INFO    ] Initializing speech engine...
[2026-08-29 07:11:14,136.136 INFO    ] 2026-08-29 07:11:14
[2026-08-29 07:11:14,384.384 INFO    ] 2026-08-29 07:11:14
[2026-08-29 07:11:14,419.419 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:11:14,592.592 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:11:14,604.604 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:11:14,749.749 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:11:14,754.754 INFO    ] time= 29/08/2026 07:11:14
[2026-08-29 07:11:14,760.760 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:11:14,818.818 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:11:14,932.932 INFO    ] No existing commands found in stream
[2026-08-29 07:11:19,961.961 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:11:19,964.964 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-08-29 07:11:22,597.597 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:11:22,599.599 INFO    ] Checking for system updates...
[2026-08-29 07:11:22,620.620 INFO    ] 200
[2026-08-29 07:11:22,621.621 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:11:22,653.653 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:11:22,655.655 INFO    ] No update needed
[2026-08-29 07:11:22,656.656 INFO    ] Checking for camera pi updates...
[2026-08-29 07:11:22,676.676 INFO    ] 200
[2026-08-29 07:11:22,677.677 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:11:22,701.701 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:11:22,875.875 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:11:22,876.876 INFO    ] No camera update needed
[2026-08-29 07:11:22,878.878 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:11:22,879.879 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:11:22,882.882 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:11:22,885.885 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:11:24,925.925 INFO    ] ================================================
[2026-08-29 07:11:24,941.941 INFO    ] Launching Daemon at Sat Aug 29 07:11:24 IST 2026
[2026-08-29 07:11:24,953.953 INFO    ] ================================================
[2026-08-29 07:11:25,320.320 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:11:25
[2026-08-29 07:11:25,631.631 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:11:25,814.814 INFO    ] Initializing speech engine...
[2026-08-29 07:11:25,824.824 INFO    ] 2026-08-29 07:11:25
[2026-08-29 07:11:26,084.084 INFO    ] 2026-08-29 07:11:26
[2026-08-29 07:11:26,143.143 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:11:26,370.370 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:11:26,380.380 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:11:26,514.514 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:11:26,551.551 INFO    ] time= 29/08/2026 07:11:26
[2026-08-29 07:11:26,611.611 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:11:26,651.651 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:11:26,709.709 INFO    ] No existing commands found in stream
[2026-08-29 07:11:31,720.720 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:11:31,721.721 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-08-29 07:11:35,558.558 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:11:35,559.559 INFO    ] Checking for system updates...
[2026-08-29 07:11:35,580.580 INFO    ] 200
[2026-08-29 07:11:35,581.581 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:11:35,612.612 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:11:35,613.613 INFO    ] No update needed
[2026-08-29 07:11:35,615.615 INFO    ] Checking for camera pi updates...
[2026-08-29 07:11:35,634.634 INFO    ] 200
[2026-08-29 07:11:35,635.635 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:11:35,657.657 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:11:35,733.733 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:11:35,734.734 INFO    ] No camera update needed
[2026-08-29 07:11:35,736.736 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:11:35,737.737 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:11:35,740.740 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:11:35,742.742 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:11:37,785.785 INFO    ] ================================================
[2026-08-29 07:11:37,801.801 INFO    ] Launching Daemon at Sat Aug 29 07:11:37 IST 2026
[2026-08-29 07:11:37,812.812 INFO    ] ================================================
[2026-08-29 07:11:38,179.179 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:11:38
[2026-08-29 07:11:38,488.488 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:11:38,708.708 INFO    ] Initializing speech engine...
[2026-08-29 07:11:38,716.716 INFO    ] 2026-08-29 07:11:38
[2026-08-29 07:11:38,968.968 INFO    ] 2026-08-29 07:11:38
[2026-08-29 07:11:39,001.001 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:11:39,179.179 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:11:39,191.191 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:11:39,336.336 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:11:39,344.344 INFO    ] time= 29/08/2026 07:11:39
[2026-08-29 07:11:39,351.351 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:11:39,363.363 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:11:39,504.504 INFO    ] No existing commands found in stream
[2026-08-29 07:11:44,529.529 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:11:44,531.531 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-08-29 07:11:46,825.825 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:11:46,827.827 INFO    ] Checking for system updates...
[2026-08-29 07:11:46,847.847 INFO    ] 200
[2026-08-29 07:11:46,849.849 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:11:46,880.880 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:11:46,882.882 INFO    ] No update needed
[2026-08-29 07:11:46,883.883 INFO    ] Checking for camera pi updates...
[2026-08-29 07:11:46,903.903 INFO    ] 200
[2026-08-29 07:11:46,905.905 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:11:46,928.928 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:11:47,016.016 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:11:47,018.018 INFO    ] No camera update needed
[2026-08-29 07:11:47,019.019 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:11:47,021.021 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:11:47,024.024 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:11:47,027.027 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:11:49,066.066 INFO    ] ================================================
[2026-08-29 07:11:49,082.082 INFO    ] Launching Daemon at Sat Aug 29 07:11:49 IST 2026
[2026-08-29 07:11:49,093.093 INFO    ] ================================================
[2026-08-29 07:11:49,453.453 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:11:49
[2026-08-29 07:11:49,769.769 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:11:49,903.903 INFO    ] Initializing speech engine...
[2026-08-29 07:11:49,915.915 INFO    ] 2026-08-29 07:11:49
[2026-08-29 07:11:50,124.124 INFO    ] 2026-08-29 07:11:50
[2026-08-29 07:11:50,153.153 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:11:50,277.277 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:11:50,340.340 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:11:50,473.473 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:11:50,523.523 INFO    ] time= 29/08/2026 07:11:50
[2026-08-29 07:11:50,553.553 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:11:50,574.574 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:11:50,647.647 INFO    ] No existing commands found in stream
[2026-08-29 07:11:55,656.656 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:11:55,659.659 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-08-29 07:11:56,045.045 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:11:56,047.047 INFO    ] Checking for system updates...
[2026-08-29 07:11:56,068.068 INFO    ] 200
[2026-08-29 07:11:56,069.069 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:11:56,101.101 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:11:56,102.102 INFO    ] No update needed
[2026-08-29 07:11:56,103.103 INFO    ] Checking for camera pi updates...
[2026-08-29 07:11:56,124.124 INFO    ] 200
[2026-08-29 07:11:56,125.125 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:11:56,149.149 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:11:56,249.249 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:11:56,250.250 INFO    ] No camera update needed
[2026-08-29 07:11:56,251.251 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:11:56,252.252 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:11:56,255.255 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:11:56,258.258 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:11:58,296.296 INFO    ] ================================================
[2026-08-29 07:11:58,313.313 INFO    ] Launching Daemon at Sat Aug 29 07:11:58 IST 2026
[2026-08-29 07:11:58,324.324 INFO    ] ================================================
[2026-08-29 07:11:58,674.674 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:11:58
[2026-08-29 07:11:58,987.987 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:11:59,125.125 INFO    ] Initializing speech engine...
[2026-08-29 07:11:59,134.134 INFO    ] 2026-08-29 07:11:59
[2026-08-29 07:11:59,340.340 INFO    ] 2026-08-29 07:11:59
[2026-08-29 07:11:59,372.372 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:11:59,499.499 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:11:59,504.504 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:11:59,669.669 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:11:59,707.707 INFO    ] time= 29/08/2026 07:11:59
[2026-08-29 07:11:59,713.713 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:11:59,733.733 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:11:59,844.844 INFO    ] No existing commands found in stream
[2026-08-29 07:12:04,870.870 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:12:04,873.873 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-08-29 07:12:09,147.147 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:12:09,148.148 INFO    ] Checking for system updates...
[2026-08-29 07:12:09,169.169 INFO    ] 200
[2026-08-29 07:12:09,170.170 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:12:09,202.202 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:12:09,203.203 INFO    ] No update needed
[2026-08-29 07:12:09,205.205 INFO    ] Checking for camera pi updates...
[2026-08-29 07:12:09,224.224 INFO    ] 200
[2026-08-29 07:12:09,225.225 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:12:09,249.249 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:12:09,334.334 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:12:09,336.336 INFO    ] No camera update needed
[2026-08-29 07:12:09,337.337 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:12:09,338.338 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:12:09,341.341 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:12:09,344.344 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:12:11,383.383 INFO    ] ================================================
[2026-08-29 07:12:11,403.403 INFO    ] Launching Daemon at Sat Aug 29 07:12:11 IST 2026
[2026-08-29 07:12:11,415.415 INFO    ] ================================================
[2026-08-29 07:12:11,751.751 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:12:11
[2026-08-29 07:12:12,271.271 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:12:12,531.531 INFO    ] Initializing speech engine...
[2026-08-29 07:12:12,553.553 INFO    ] 2026-08-29 07:12:12
[2026-08-29 07:12:12,814.814 INFO    ] 2026-08-29 07:12:12
[2026-08-29 07:12:12,849.849 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:12:13,030.030 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:12:13,046.046 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:12:13,174.174 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:12:13,183.183 INFO    ] time= 29/08/2026 07:12:13
[2026-08-29 07:12:13,189.189 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:12:13,240.240 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:12:13,358.358 INFO    ] No existing commands found in stream
[2026-08-29 07:12:18,389.389 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:12:18,392.392 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-08-29 07:12:21,236.236 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:12:21,238.238 INFO    ] Checking for system updates...
[2026-08-29 07:12:21,258.258 INFO    ] 200
[2026-08-29 07:12:21,259.259 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:12:21,289.289 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:12:21,290.290 INFO    ] No update needed
[2026-08-29 07:12:21,292.292 INFO    ] Checking for camera pi updates...
[2026-08-29 07:12:21,311.311 INFO    ] 200
[2026-08-29 07:12:21,312.312 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:12:21,335.335 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:12:21,416.416 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:12:21,417.417 INFO    ] No camera update needed
[2026-08-29 07:12:21,419.419 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:12:21,420.420 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:12:21,423.423 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:12:21,426.426 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:12:23,467.467 INFO    ] ================================================
[2026-08-29 07:12:23,483.483 INFO    ] Launching Daemon at Sat Aug 29 07:12:23 IST 2026
[2026-08-29 07:12:23,494.494 INFO    ] ================================================
[2026-08-29 07:12:23,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:12:23
[2026-08-29 07:12:24,177.177 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:12:24,329.329 INFO    ] Initializing speech engine...
[2026-08-29 07:12:24,335.335 INFO    ] 2026-08-29 07:12:24
[2026-08-29 07:12:24,544.544 INFO    ] 2026-08-29 07:12:24
[2026-08-29 07:12:24,573.573 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:12:24,690.690 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:12:24,697.697 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:12:24,863.863 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:12:24,899.899 INFO    ] time= 29/08/2026 07:12:24
[2026-08-29 07:12:24,906.906 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:12:24,927.927 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:12:25,045.045 INFO    ] No existing commands found in stream
[2026-08-29 07:12:30,071.071 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:12:30,074.074 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-08-29 07:12:30,600.600 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:12:30,602.602 INFO    ] Checking for system updates...
[2026-08-29 07:12:30,623.623 INFO    ] 200
[2026-08-29 07:12:30,624.624 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:12:30,657.657 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:12:30,658.658 INFO    ] No update needed
[2026-08-29 07:12:30,659.659 INFO    ] Checking for camera pi updates...
[2026-08-29 07:12:30,679.679 INFO    ] 200
[2026-08-29 07:12:30,681.681 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:12:30,704.704 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:12:30,777.777 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:12:30,779.779 INFO    ] No camera update needed
[2026-08-29 07:12:30,780.780 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:12:30,781.781 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:12:30,784.784 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:12:30,788.788 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:12:32,832.832 INFO    ] ================================================
[2026-08-29 07:12:32,849.849 INFO    ] Launching Daemon at Sat Aug 29 07:12:32 IST 2026
[2026-08-29 07:12:32,864.864 INFO    ] ================================================
[2026-08-29 07:12:33,457.457 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:12:33
[2026-08-29 07:12:33,847.847 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:12:33,985.985 INFO    ] Initializing speech engine...
[2026-08-29 07:12:33,999.999 INFO    ] 2026-08-29 07:12:33
[2026-08-29 07:12:34,218.218 INFO    ] 2026-08-29 07:12:34
[2026-08-29 07:12:34,249.249 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:12:34,382.382 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:12:34,439.439 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:12:34,618.618 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:12:34,651.651 INFO    ] time= 29/08/2026 07:12:34
[2026-08-29 07:12:34,666.666 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:12:34,723.723 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:12:34,825.825 INFO    ] No existing commands found in stream
[2026-08-29 07:12:39,839.839 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:12:39,842.842 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-08-29 07:12:40,549.549 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:12:40,551.551 INFO    ] Checking for system updates...
[2026-08-29 07:12:40,572.572 INFO    ] 200
[2026-08-29 07:12:40,574.574 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:12:40,604.604 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:12:40,606.606 INFO    ] No update needed
[2026-08-29 07:12:40,607.607 INFO    ] Checking for camera pi updates...
[2026-08-29 07:12:40,629.629 INFO    ] 200
[2026-08-29 07:12:40,630.630 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:12:40,653.653 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:12:40,758.758 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:12:40,761.761 INFO    ] No camera update needed
[2026-08-29 07:12:40,764.764 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:12:40,766.766 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:12:40,771.771 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:12:40,776.776 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:12:42,817.817 INFO    ] ================================================
[2026-08-29 07:12:42,832.832 INFO    ] Launching Daemon at Sat Aug 29 07:12:42 IST 2026
[2026-08-29 07:12:42,843.843 INFO    ] ================================================
[2026-08-29 07:12:43,438.438 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:12:43
[2026-08-29 07:12:43,832.832 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:12:43,976.976 INFO    ] Initializing speech engine...
[2026-08-29 07:12:43,982.982 INFO    ] 2026-08-29 07:12:43
[2026-08-29 07:12:44,184.184 INFO    ] 2026-08-29 07:12:44
[2026-08-29 07:12:44,212.212 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:12:44,334.334 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:12:44,372.372 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:12:44,526.526 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:12:44,578.578 INFO    ] time= 29/08/2026 07:12:44
[2026-08-29 07:12:44,616.616 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:12:44,627.627 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:12:44,697.697 INFO    ] No existing commands found in stream
[2026-08-29 07:12:49,707.707 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:12:49,710.710 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-08-29 07:12:50,876.876 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:12:50,878.878 INFO    ] Checking for system updates...
[2026-08-29 07:12:50,898.898 INFO    ] 200
[2026-08-29 07:12:50,899.899 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:12:50,929.929 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:12:50,930.930 INFO    ] No update needed
[2026-08-29 07:12:50,932.932 INFO    ] Checking for camera pi updates...
[2026-08-29 07:12:50,951.951 INFO    ] 200
[2026-08-29 07:12:50,952.952 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:12:50,975.975 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:12:51,071.071 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:12:51,073.073 INFO    ] No camera update needed
[2026-08-29 07:12:51,074.074 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:12:51,076.076 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:12:51,079.079 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:12:51,082.082 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:12:53,120.120 INFO    ] ================================================
[2026-08-29 07:12:53,136.136 INFO    ] Launching Daemon at Sat Aug 29 07:12:53 IST 2026
[2026-08-29 07:12:53,146.146 INFO    ] ================================================
[2026-08-29 07:12:53,517.517 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:12:53
[2026-08-29 07:12:53,856.856 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:12:54,015.015 INFO    ] Initializing speech engine...
[2026-08-29 07:12:54,019.019 INFO    ] 2026-08-29 07:12:54
[2026-08-29 07:12:54,261.261 INFO    ] 2026-08-29 07:12:54
[2026-08-29 07:12:54,318.318 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:12:54,482.482 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:12:54,491.491 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:12:54,673.673 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:12:54,697.697 INFO    ] time= 29/08/2026 07:12:54
[2026-08-29 07:12:54,717.717 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:12:54,730.730 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:12:54,843.843 INFO    ] No existing commands found in stream
[2026-08-29 07:12:59,874.874 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:12:59,876.876 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-08-29 07:13:02,405.405 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:13:02,408.408 INFO    ] Checking for system updates...
[2026-08-29 07:13:02,457.457 INFO    ] 200
[2026-08-29 07:13:02,460.460 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:13:02,527.527 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:13:02,530.530 INFO    ] No update needed
[2026-08-29 07:13:02,533.533 INFO    ] Checking for camera pi updates...
[2026-08-29 07:13:02,577.577 INFO    ] 200
[2026-08-29 07:13:02,581.581 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:13:02,639.639 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:13:02,725.725 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:13:02,728.728 INFO    ] No camera update needed
[2026-08-29 07:13:02,731.731 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:13:02,733.733 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:13:02,740.740 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:13:02,747.747 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:13:04,791.791 INFO    ] ================================================
[2026-08-29 07:13:04,806.806 INFO    ] Launching Daemon at Sat Aug 29 07:13:04 IST 2026
[2026-08-29 07:13:04,817.817 INFO    ] ================================================
[2026-08-29 07:13:05,183.183 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:13:05
[2026-08-29 07:13:05,518.518 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:13:05,790.790 INFO    ] Initializing speech engine...
[2026-08-29 07:13:05,803.803 INFO    ] 2026-08-29 07:13:05
[2026-08-29 07:13:06,073.073 INFO    ] 2026-08-29 07:13:06
[2026-08-29 07:13:06,113.113 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:13:06,272.272 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:13:06,296.296 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:13:06,417.417 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:13:06,423.423 INFO    ] time= 29/08/2026 07:13:06
[2026-08-29 07:13:06,441.441 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:13:06,464.464 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:13:06,535.535 INFO    ] No existing commands found in stream
[2026-08-29 07:13:11,548.548 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:13:11,551.551 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 07:13:12,786.786 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:13:12,787.787 INFO    ] Checking for system updates...
[2026-08-29 07:13:12,808.808 INFO    ] 200
[2026-08-29 07:13:12,809.809 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:13:12,839.839 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:13:12,840.840 INFO    ] No update needed
[2026-08-29 07:13:12,841.841 INFO    ] Checking for camera pi updates...
[2026-08-29 07:13:12,862.862 INFO    ] 200
[2026-08-29 07:13:12,863.863 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:13:12,888.888 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:13:12,962.962 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:13:12,964.964 INFO    ] No camera update needed
[2026-08-29 07:13:12,965.965 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:13:12,966.966 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:13:12,969.969 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:13:12,972.972 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:13:15,013.013 INFO    ] ================================================
[2026-08-29 07:13:15,029.029 INFO    ] Launching Daemon at Sat Aug 29 07:13:15 IST 2026
[2026-08-29 07:13:15,040.040 INFO    ] ================================================
[2026-08-29 07:13:15,535.535 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:13:15
[2026-08-29 07:13:16,135.135 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:13:16,409.409 INFO    ] Initializing speech engine...
[2026-08-29 07:13:16,418.418 INFO    ] 2026-08-29 07:13:16
[2026-08-29 07:13:16,667.667 INFO    ] 2026-08-29 07:13:16
[2026-08-29 07:13:16,703.703 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:13:16,876.876 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:13:16,888.888 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:13:17,029.029 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:13:17,036.036 INFO    ] time= 29/08/2026 07:13:17
[2026-08-29 07:13:17,044.044 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:13:17,095.095 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:13:17,220.220 INFO    ] No existing commands found in stream
[2026-08-29 07:13:22,245.245 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:13:22,247.247 INFO    ] Waiting 0.00 seconds before fallback handling...
[2026-08-29 07:13:22,621.621 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:13:22,623.623 INFO    ] Checking for system updates...
[2026-08-29 07:13:22,643.643 INFO    ] 200
[2026-08-29 07:13:22,645.645 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:13:22,674.674 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:13:22,676.676 INFO    ] No update needed
[2026-08-29 07:13:22,677.677 INFO    ] Checking for camera pi updates...
[2026-08-29 07:13:22,696.696 INFO    ] 200
[2026-08-29 07:13:22,697.697 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:13:22,726.726 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:13:22,809.809 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:13:22,810.810 INFO    ] No camera update needed
[2026-08-29 07:13:22,811.811 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:13:22,813.813 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:13:22,815.815 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:13:22,818.818 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:13:24,858.858 INFO    ] ================================================
[2026-08-29 07:13:24,873.873 INFO    ] Launching Daemon at Sat Aug 29 07:13:24 IST 2026
[2026-08-29 07:13:24,884.884 INFO    ] ================================================
[2026-08-29 07:13:25,202.202 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:13:25
[2026-08-29 07:13:25,745.745 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:13:26,017.017 INFO    ] Initializing speech engine...
[2026-08-29 07:13:26,025.025 INFO    ] 2026-08-29 07:13:26
[2026-08-29 07:13:26,276.276 INFO    ] 2026-08-29 07:13:26
[2026-08-29 07:13:26,309.309 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:13:26,487.487 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:13:26,499.499 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:13:26,647.647 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:13:26,652.652 INFO    ] time= 29/08/2026 07:13:26
[2026-08-29 07:13:26,658.658 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:13:26,684.684 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:13:26,812.812 INFO    ] No existing commands found in stream
[2026-08-29 07:13:31,836.836 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:13:31,838.838 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-08-29 07:13:34,684.684 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:13:34,686.686 INFO    ] Checking for system updates...
[2026-08-29 07:13:34,722.722 INFO    ] 200
[2026-08-29 07:13:34,724.724 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:13:34,781.781 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:13:34,784.784 INFO    ] No update needed
[2026-08-29 07:13:34,786.786 INFO    ] Checking for camera pi updates...
[2026-08-29 07:13:34,819.819 INFO    ] 200
[2026-08-29 07:13:34,822.822 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:13:34,862.862 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:13:34,948.948 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:13:34,950.950 INFO    ] No camera update needed
[2026-08-29 07:13:34,952.952 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:13:34,955.955 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:13:34,960.960 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:13:34,965.965 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:13:37,007.007 INFO    ] ================================================
[2026-08-29 07:13:37,022.022 INFO    ] Launching Daemon at Sat Aug 29 07:13:37 IST 2026
[2026-08-29 07:13:37,033.033 INFO    ] ================================================
[2026-08-29 07:13:37,361.361 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:13:37
[2026-08-29 07:13:37,672.672 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:13:37,802.802 INFO    ] Initializing speech engine...
[2026-08-29 07:13:37,812.812 INFO    ] 2026-08-29 07:13:37
[2026-08-29 07:13:38,045.045 INFO    ] 2026-08-29 07:13:38
[2026-08-29 07:13:38,081.081 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:13:38,257.257 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:13:38,269.269 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:13:38,398.398 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:13:38,400.400 INFO    ] time= 29/08/2026 07:13:38
[2026-08-29 07:13:38,403.403 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:13:38,428.428 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:13:38,512.512 INFO    ] No existing commands found in stream
[2026-08-29 07:13:43,524.524 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:13:43,526.526 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 07:13:45,447.447 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:13:45,449.449 INFO    ] Checking for system updates...
[2026-08-29 07:13:45,470.470 INFO    ] 200
[2026-08-29 07:13:45,472.472 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:13:45,502.502 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:13:45,504.504 INFO    ] No update needed
[2026-08-29 07:13:45,505.505 INFO    ] Checking for camera pi updates...
[2026-08-29 07:13:45,525.525 INFO    ] 200
[2026-08-29 07:13:45,526.526 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:13:45,549.549 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:13:45,642.642 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:13:45,644.644 INFO    ] No camera update needed
[2026-08-29 07:13:45,645.645 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:13:45,646.646 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:13:45,649.649 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:13:45,652.652 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:13:47,690.690 INFO    ] ================================================
[2026-08-29 07:13:47,705.705 INFO    ] Launching Daemon at Sat Aug 29 07:13:47 IST 2026
[2026-08-29 07:13:47,716.716 INFO    ] ================================================
[2026-08-29 07:13:48,062.062 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:13:48
[2026-08-29 07:13:48,372.372 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:13:48,514.514 INFO    ] Initializing speech engine...
[2026-08-29 07:13:48,519.519 INFO    ] 2026-08-29 07:13:48
[2026-08-29 07:13:48,724.724 INFO    ] 2026-08-29 07:13:48
[2026-08-29 07:13:48,752.752 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:13:48,865.865 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:13:48,866.866 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:13:48,960.960 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:13:48,968.968 INFO    ] time= 29/08/2026 07:13:48
[2026-08-29 07:13:48,973.973 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:13:48,977.977 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:13:49,056.056 INFO    ] No existing commands found in stream
[2026-08-29 07:13:54,085.085 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:13:54,088.088 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-08-29 07:13:55,510.510 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:13:55,512.512 INFO    ] Checking for system updates...
[2026-08-29 07:13:55,534.534 INFO    ] 200
[2026-08-29 07:13:55,535.535 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:13:55,567.567 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:13:55,568.568 INFO    ] No update needed
[2026-08-29 07:13:55,569.569 INFO    ] Checking for camera pi updates...
[2026-08-29 07:13:55,588.588 INFO    ] 200
[2026-08-29 07:13:55,589.589 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:13:55,615.615 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:13:55,662.662 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:13:55,663.663 INFO    ] No camera update needed
[2026-08-29 07:13:55,664.664 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:13:55,665.665 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:13:55,668.668 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:13:55,671.671 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:13:57,710.710 INFO    ] ================================================
[2026-08-29 07:13:57,725.725 INFO    ] Launching Daemon at Sat Aug 29 07:13:57 IST 2026
[2026-08-29 07:13:57,736.736 INFO    ] ================================================
[2026-08-29 07:13:58,210.210 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:13:58
[2026-08-29 07:13:58,795.795 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:13:59,057.057 INFO    ] Initializing speech engine...
[2026-08-29 07:13:59,063.063 INFO    ] 2026-08-29 07:13:59
[2026-08-29 07:13:59,358.358 INFO    ] 2026-08-29 07:13:59
[2026-08-29 07:13:59,384.384 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:13:59,541.541 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:13:59,547.547 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:13:59,703.703 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:13:59,714.714 INFO    ] time= 29/08/2026 07:13:59
[2026-08-29 07:13:59,718.718 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:13:59,723.723 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:13:59,790.790 INFO    ] No existing commands found in stream
[2026-08-29 07:14:04,803.803 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:14:04,806.806 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-08-29 07:14:05,273.273 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:14:05,274.274 INFO    ] Checking for system updates...
[2026-08-29 07:14:05,297.297 INFO    ] 200
[2026-08-29 07:14:05,298.298 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:14:05,331.331 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:14:05,332.332 INFO    ] No update needed
[2026-08-29 07:14:05,334.334 INFO    ] Checking for camera pi updates...
[2026-08-29 07:14:05,353.353 INFO    ] 200
[2026-08-29 07:14:05,355.355 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:14:05,379.379 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:14:05,458.458 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:14:05,459.459 INFO    ] No camera update needed
[2026-08-29 07:14:05,461.461 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:14:05,462.462 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:14:05,466.466 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:14:05,469.469 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:14:07,508.508 INFO    ] ================================================
[2026-08-29 07:14:07,523.523 INFO    ] Launching Daemon at Sat Aug 29 07:14:07 IST 2026
[2026-08-29 07:14:07,534.534 INFO    ] ================================================
[2026-08-29 07:14:07,879.879 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:14:07
[2026-08-29 07:14:08,198.198 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:14:08,330.330 INFO    ] Initializing speech engine...
[2026-08-29 07:14:08,344.344 INFO    ] 2026-08-29 07:14:08
[2026-08-29 07:14:08,578.578 INFO    ] 2026-08-29 07:14:08
[2026-08-29 07:14:08,637.637 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:14:08,799.799 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:14:08,808.808 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:14:08,977.977 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:14:09,006.006 INFO    ] time= 29/08/2026 07:14:08
[2026-08-29 07:14:09,012.012 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:14:09,032.032 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:14:09,140.140 INFO    ] No existing commands found in stream
[2026-08-29 07:14:14,167.167 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:14:14,170.170 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-08-29 07:14:14,523.523 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:14:14,524.524 INFO    ] Checking for system updates...
[2026-08-29 07:14:14,545.545 INFO    ] 200
[2026-08-29 07:14:14,547.547 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:14:14,579.579 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:14:14,580.580 INFO    ] No update needed
[2026-08-29 07:14:14,582.582 INFO    ] Checking for camera pi updates...
[2026-08-29 07:14:14,602.602 INFO    ] 200
[2026-08-29 07:14:14,603.603 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:14:14,628.628 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:14:14,703.703 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:14:14,704.704 INFO    ] No camera update needed
[2026-08-29 07:14:14,706.706 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:14:14,707.707 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:14:14,710.710 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:14:14,713.713 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:14:16,752.752 INFO    ] ================================================
[2026-08-29 07:14:16,767.767 INFO    ] Launching Daemon at Sat Aug 29 07:14:16 IST 2026
[2026-08-29 07:14:16,778.778 INFO    ] ================================================
[2026-08-29 07:14:17,132.132 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:14:17
[2026-08-29 07:14:17,443.443 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:14:17,576.576 INFO    ] Initializing speech engine...
[2026-08-29 07:14:17,581.581 INFO    ] 2026-08-29 07:14:17
[2026-08-29 07:14:17,812.812 INFO    ] 2026-08-29 07:14:17
[2026-08-29 07:14:17,843.843 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:14:17,978.978 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:14:18,006.006 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:14:18,143.143 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:14:18,174.174 INFO    ] time= 29/08/2026 07:14:18
[2026-08-29 07:14:18,181.181 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:14:18,189.189 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:14:18,277.277 INFO    ] No existing commands found in stream
[2026-08-29 07:14:23,307.307 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:14:23,310.310 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-08-29 07:14:26,796.796 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:14:26,797.797 INFO    ] Checking for system updates...
[2026-08-29 07:14:26,818.818 INFO    ] 200
[2026-08-29 07:14:26,820.820 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:14:26,852.852 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:14:26,853.853 INFO    ] No update needed
[2026-08-29 07:14:26,854.854 INFO    ] Checking for camera pi updates...
[2026-08-29 07:14:26,873.873 INFO    ] 200
[2026-08-29 07:14:26,875.875 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:14:26,898.898 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:14:26,988.988 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:14:26,989.989 INFO    ] No camera update needed
[2026-08-29 07:14:26,991.991 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:14:26,992.992 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:14:26,995.995 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:14:26,998.998 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:14:29,036.036 INFO    ] ================================================
[2026-08-29 07:14:29,051.051 INFO    ] Launching Daemon at Sat Aug 29 07:14:29 IST 2026
[2026-08-29 07:14:29,062.062 INFO    ] ================================================
[2026-08-29 07:14:29,436.436 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:14:29
[2026-08-29 07:14:29,757.757 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:14:29,888.888 INFO    ] Initializing speech engine...
[2026-08-29 07:14:29,893.893 INFO    ] 2026-08-29 07:14:29
[2026-08-29 07:14:30,108.108 INFO    ] 2026-08-29 07:14:30
[2026-08-29 07:14:30,139.139 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:14:30,260.260 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:14:30,308.308 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:14:30,454.454 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:14:30,469.469 INFO    ] time= 29/08/2026 07:14:30
[2026-08-29 07:14:30,480.480 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:14:30,507.507 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:14:30,605.605 INFO    ] No existing commands found in stream
[2026-08-29 07:14:35,622.622 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:14:35,625.625 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-08-29 07:14:37,602.602 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:14:37,603.603 INFO    ] Checking for system updates...
[2026-08-29 07:14:37,624.624 INFO    ] 200
[2026-08-29 07:14:37,625.625 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:14:37,657.657 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:14:37,658.658 INFO    ] No update needed
[2026-08-29 07:14:37,659.659 INFO    ] Checking for camera pi updates...
[2026-08-29 07:14:37,679.679 INFO    ] 200
[2026-08-29 07:14:37,680.680 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:14:37,703.703 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:14:37,781.781 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:14:37,783.783 INFO    ] No camera update needed
[2026-08-29 07:14:37,784.784 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:14:37,785.785 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:14:37,788.788 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:14:37,791.791 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:14:39,829.829 INFO    ] ================================================
[2026-08-29 07:14:39,844.844 INFO    ] Launching Daemon at Sat Aug 29 07:14:39 IST 2026
[2026-08-29 07:14:39,855.855 INFO    ] ================================================
[2026-08-29 07:14:40,222.222 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:14:40
[2026-08-29 07:14:40,539.539 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:14:40,775.775 INFO    ] Initializing speech engine...
[2026-08-29 07:14:40,796.796 INFO    ] 2026-08-29 07:14:40
[2026-08-29 07:14:41,068.068 INFO    ] 2026-08-29 07:14:41
[2026-08-29 07:14:41,104.104 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:14:41,250.250 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:14:41,264.264 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:14:41,410.410 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:14:41,419.419 INFO    ] time= 29/08/2026 07:14:41
[2026-08-29 07:14:41,425.425 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:14:41,448.448 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:14:41,501.501 INFO    ] No existing commands found in stream
[2026-08-29 07:14:46,513.513 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:14:46,516.516 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-08-29 07:14:50,742.742 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:14:50,743.743 INFO    ] Checking for system updates...
[2026-08-29 07:14:50,764.764 INFO    ] 200
[2026-08-29 07:14:50,766.766 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:14:50,796.796 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:14:50,798.798 INFO    ] No update needed
[2026-08-29 07:14:50,799.799 INFO    ] Checking for camera pi updates...
[2026-08-29 07:14:50,820.820 INFO    ] 200
[2026-08-29 07:14:50,821.821 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:14:50,846.846 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:14:50,928.928 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:14:50,931.931 INFO    ] No camera update needed
[2026-08-29 07:14:50,934.934 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:14:50,936.936 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:14:50,943.943 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:14:50,949.949 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:14:52,990.990 INFO    ] ================================================
[2026-08-29 07:14:53,006.006 INFO    ] Launching Daemon at Sat Aug 29 07:14:53 IST 2026
[2026-08-29 07:14:53,017.017 INFO    ] ================================================
[2026-08-29 07:14:53,381.381 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:14:53
[2026-08-29 07:14:53,721.721 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:14:53,966.966 INFO    ] Initializing speech engine...
[2026-08-29 07:14:53,980.980 INFO    ] 2026-08-29 07:14:53
[2026-08-29 07:14:54,266.266 INFO    ] 2026-08-29 07:14:54
[2026-08-29 07:14:54,305.305 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:14:54,528.528 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:14:54,538.538 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:14:54,674.674 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:14:54,740.740 INFO    ] time= 29/08/2026 07:14:54
[2026-08-29 07:14:54,800.800 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:14:54,810.810 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:14:54,941.941 INFO    ] No existing commands found in stream
[2026-08-29 07:14:59,967.967 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:14:59,970.970 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-08-29 07:15:00,824.824 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:15:00,826.826 INFO    ] Checking for system updates...
[2026-08-29 07:15:00,848.848 INFO    ] 200
[2026-08-29 07:15:00,849.849 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:15:00,884.884 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:15:00,886.886 INFO    ] No update needed
[2026-08-29 07:15:00,887.887 INFO    ] Checking for camera pi updates...
[2026-08-29 07:15:00,910.910 INFO    ] 200
[2026-08-29 07:15:00,912.912 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:15:00,937.937 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:15:01,014.014 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:15:01,015.015 INFO    ] No camera update needed
[2026-08-29 07:15:01,017.017 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:15:01,018.018 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:15:01,021.021 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:15:01,024.024 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:15:03,095.095 INFO    ] ================================================
[2026-08-29 07:15:03,135.135 INFO    ] Launching Daemon at Sat Aug 29 07:15:03 IST 2026
[2026-08-29 07:15:03,161.161 INFO    ] ================================================
[2026-08-29 07:15:03,829.829 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:15:03
[2026-08-29 07:15:04,595.595 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:15:04,932.932 INFO    ] Initializing speech engine...
[2026-08-29 07:15:04,944.944 INFO    ] 2026-08-29 07:15:04
[2026-08-29 07:15:05,244.244 INFO    ] 2026-08-29 07:15:05
[2026-08-29 07:15:05,281.281 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:15:05,457.457 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:15:05,461.461 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:15:05,620.620 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:15:05,669.669 INFO    ] time= 29/08/2026 07:15:05
[2026-08-29 07:15:05,709.709 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:15:05,715.715 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:15:05,832.832 INFO    ] No existing commands found in stream
[2026-08-29 07:15:10,848.848 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:15:10,851.851 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-08-29 07:15:11,266.266 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:15:11,267.267 INFO    ] Checking for system updates...
[2026-08-29 07:15:11,288.288 INFO    ] 200
[2026-08-29 07:15:11,289.289 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:15:11,322.322 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:15:11,324.324 INFO    ] No update needed
[2026-08-29 07:15:11,325.325 INFO    ] Checking for camera pi updates...
[2026-08-29 07:15:11,346.346 INFO    ] 200
[2026-08-29 07:15:11,348.348 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:15:11,370.370 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:15:11,447.447 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:15:11,449.449 INFO    ] No camera update needed
[2026-08-29 07:15:11,452.452 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:15:11,454.454 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:15:11,460.460 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:15:11,465.465 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:15:13,506.506 INFO    ] ================================================
[2026-08-29 07:15:13,521.521 INFO    ] Launching Daemon at Sat Aug 29 07:15:13 IST 2026
[2026-08-29 07:15:13,532.532 INFO    ] ================================================
[2026-08-29 07:15:14,118.118 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:15:14
[2026-08-29 07:15:14,604.604 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:15:14,805.805 INFO    ] Initializing speech engine...
[2026-08-29 07:15:14,820.820 INFO    ] 2026-08-29 07:15:14
[2026-08-29 07:15:15,106.106 INFO    ] 2026-08-29 07:15:15
[2026-08-29 07:15:15,145.145 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:15:15,339.339 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:15:15,356.356 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:15:15,518.518 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:15:15,525.525 INFO    ] time= 29/08/2026 07:15:15
[2026-08-29 07:15:15,530.530 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:15:15,536.536 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:15:15,609.609 INFO    ] No existing commands found in stream
[2026-08-29 07:15:20,627.627 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:15:20,630.630 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-08-29 07:15:21,986.986 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:15:21,989.989 INFO    ] Checking for system updates...
[2026-08-29 07:15:22,027.027 INFO    ] 200
[2026-08-29 07:15:22,030.030 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:15:22,088.088 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:15:22,090.090 INFO    ] No update needed
[2026-08-29 07:15:22,093.093 INFO    ] Checking for camera pi updates...
[2026-08-29 07:15:22,127.127 INFO    ] 200
[2026-08-29 07:15:22,129.129 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:15:22,173.173 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:15:22,255.255 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:15:22,257.257 INFO    ] No camera update needed
[2026-08-29 07:15:22,260.260 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:15:22,262.262 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:15:22,268.268 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:15:22,273.273 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:15:24,313.313 INFO    ] ================================================
[2026-08-29 07:15:24,328.328 INFO    ] Launching Daemon at Sat Aug 29 07:15:24 IST 2026
[2026-08-29 07:15:24,339.339 INFO    ] ================================================
[2026-08-29 07:15:24,922.922 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:15:24
[2026-08-29 07:15:25,258.258 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:15:25,534.534 INFO    ] Initializing speech engine...
[2026-08-29 07:15:25,540.540 INFO    ] 2026-08-29 07:15:25
[2026-08-29 07:15:25,800.800 INFO    ] 2026-08-29 07:15:25
[2026-08-29 07:15:25,855.855 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:15:25,997.997 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:15:26,010.010 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:15:26,153.153 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:15:26,158.158 INFO    ] time= 29/08/2026 07:15:26
[2026-08-29 07:15:26,164.164 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:15:26,184.184 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:15:26,323.323 INFO    ] No existing commands found in stream
[2026-08-29 07:15:31,353.353 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:15:31,356.356 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-08-29 07:15:32,773.773 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:15:32,776.776 INFO    ] Checking for system updates...
[2026-08-29 07:15:32,815.815 INFO    ] 200
[2026-08-29 07:15:32,818.818 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:15:32,876.876 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:15:32,879.879 INFO    ] No update needed
[2026-08-29 07:15:32,882.882 INFO    ] Checking for camera pi updates...
[2026-08-29 07:15:32,919.919 INFO    ] 200
[2026-08-29 07:15:32,923.923 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:15:32,967.967 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:15:33,082.082 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:15:33,085.085 INFO    ] No camera update needed
[2026-08-29 07:15:33,089.089 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:15:33,092.092 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:15:33,098.098 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:15:33,105.105 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:15:35,145.145 INFO    ] ================================================
[2026-08-29 07:15:35,160.160 INFO    ] Launching Daemon at Sat Aug 29 07:15:35 IST 2026
[2026-08-29 07:15:35,170.170 INFO    ] ================================================
[2026-08-29 07:15:35,685.685 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:15:35
[2026-08-29 07:15:36,025.025 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:15:36,169.169 INFO    ] Initializing speech engine...
[2026-08-29 07:15:36,180.180 INFO    ] 2026-08-29 07:15:36
[2026-08-29 07:15:36,388.388 INFO    ] 2026-08-29 07:15:36
[2026-08-29 07:15:36,419.419 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:15:36,541.541 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:15:36,603.603 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:15:36,737.737 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:15:36,807.807 INFO    ] time= 29/08/2026 07:15:36
[2026-08-29 07:15:36,832.832 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:15:36,838.838 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:15:36,903.903 INFO    ] No existing commands found in stream
[2026-08-29 07:15:41,913.913 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:15:41,915.915 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-08-29 07:15:45,083.083 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:15:45,086.086 INFO    ] Checking for system updates...
[2026-08-29 07:15:45,123.123 INFO    ] 200
[2026-08-29 07:15:45,126.126 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:15:45,160.160 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:15:45,162.162 INFO    ] No update needed
[2026-08-29 07:15:45,163.163 INFO    ] Checking for camera pi updates...
[2026-08-29 07:15:45,185.185 INFO    ] 200
[2026-08-29 07:15:45,187.187 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:15:45,211.211 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:15:45,410.410 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:15:45,414.414 INFO    ] No camera update needed
[2026-08-29 07:15:45,417.417 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:15:45,419.419 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:15:45,425.425 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:15:45,431.431 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:15:47,471.471 INFO    ] ================================================
[2026-08-29 07:15:47,486.486 INFO    ] Launching Daemon at Sat Aug 29 07:15:47 IST 2026
[2026-08-29 07:15:47,497.497 INFO    ] ================================================
[2026-08-29 07:15:48,084.084 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:15:48
[2026-08-29 07:15:48,644.644 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:15:48,780.780 INFO    ] Initializing speech engine...
[2026-08-29 07:15:48,790.790 INFO    ] 2026-08-29 07:15:48
[2026-08-29 07:15:48,972.972 INFO    ] 2026-08-29 07:15:48
[2026-08-29 07:15:49,007.007 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:15:49,180.180 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:15:49,191.191 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:15:49,332.332 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:15:49,340.340 INFO    ] time= 29/08/2026 07:15:49
[2026-08-29 07:15:49,347.347 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:15:49,382.382 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:15:49,506.506 INFO    ] No existing commands found in stream
[2026-08-29 07:15:54,542.542 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:15:54,545.545 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-08-29 07:15:55,917.917 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:15:55,918.918 INFO    ] Checking for system updates...
[2026-08-29 07:15:55,940.940 INFO    ] 200
[2026-08-29 07:15:55,942.942 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:15:55,972.972 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:15:55,973.973 INFO    ] No update needed
[2026-08-29 07:15:55,975.975 INFO    ] Checking for camera pi updates...
[2026-08-29 07:15:55,994.994 INFO    ] 200
[2026-08-29 07:15:55,996.996 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:15:56,019.019 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:15:56,094.094 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:15:56,096.096 INFO    ] No camera update needed
[2026-08-29 07:15:56,097.097 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:15:56,098.098 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:15:56,102.102 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:15:56,105.105 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:15:58,144.144 INFO    ] ================================================
[2026-08-29 07:15:58,159.159 INFO    ] Launching Daemon at Sat Aug 29 07:15:58 IST 2026
[2026-08-29 07:15:58,170.170 INFO    ] ================================================
[2026-08-29 07:15:58,548.548 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:15:58
[2026-08-29 07:15:59,134.134 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:15:59,383.383 INFO    ] Initializing speech engine...
[2026-08-29 07:15:59,397.397 INFO    ] 2026-08-29 07:15:59
[2026-08-29 07:15:59,660.660 INFO    ] 2026-08-29 07:15:59
[2026-08-29 07:15:59,695.695 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:15:59,867.867 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:15:59,879.879 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:16:00,005.005 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:16:00,024.024 INFO    ] time= 29/08/2026 07:16:00
[2026-08-29 07:16:00,033.033 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:16:00,039.039 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:16:00,105.105 INFO    ] No existing commands found in stream
[2026-08-29 07:16:05,136.136 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:16:05,138.138 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-08-29 07:16:08,030.030 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:16:08,032.032 INFO    ] Checking for system updates...
[2026-08-29 07:16:08,053.053 INFO    ] 200
[2026-08-29 07:16:08,054.054 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:16:08,085.085 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:16:08,086.086 INFO    ] No update needed
[2026-08-29 07:16:08,087.087 INFO    ] Checking for camera pi updates...
[2026-08-29 07:16:08,106.106 INFO    ] 200
[2026-08-29 07:16:08,108.108 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:16:08,132.132 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:16:08,214.214 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:16:08,215.215 INFO    ] No camera update needed
[2026-08-29 07:16:08,216.216 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:16:08,217.217 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:16:08,220.220 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:16:08,223.223 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:16:10,262.262 INFO    ] ================================================
[2026-08-29 07:16:10,277.277 INFO    ] Launching Daemon at Sat Aug 29 07:16:10 IST 2026
[2026-08-29 07:16:10,288.288 INFO    ] ================================================
[2026-08-29 07:16:10,632.632 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:16:10
[2026-08-29 07:16:10,949.949 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:16:11,226.226 INFO    ] Initializing speech engine...
[2026-08-29 07:16:11,234.234 INFO    ] 2026-08-29 07:16:11
[2026-08-29 07:16:11,496.496 INFO    ] 2026-08-29 07:16:11
[2026-08-29 07:16:11,526.526 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:16:11,712.712 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:16:11,735.735 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:16:11,912.912 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:16:11,965.965 INFO    ] time= 29/08/2026 07:16:11
[2026-08-29 07:16:12,025.025 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:16:12,049.049 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:16:12,158.158 INFO    ] No existing commands found in stream
[2026-08-29 07:16:17,187.187 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:16:17,190.190 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-08-29 07:16:20,762.762 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:16:20,763.763 INFO    ] Checking for system updates...
[2026-08-29 07:16:20,784.784 INFO    ] 200
[2026-08-29 07:16:20,785.785 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:16:20,818.818 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:16:20,819.819 INFO    ] No update needed
[2026-08-29 07:16:20,820.820 INFO    ] Checking for camera pi updates...
[2026-08-29 07:16:20,841.841 INFO    ] 200
[2026-08-29 07:16:20,844.844 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:16:20,885.885 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:16:21,003.003 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:16:21,005.005 INFO    ] No camera update needed
[2026-08-29 07:16:21,008.008 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:16:21,011.011 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:16:21,017.017 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:16:21,023.023 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:16:23,065.065 INFO    ] ================================================
[2026-08-29 07:16:23,080.080 INFO    ] Launching Daemon at Sat Aug 29 07:16:23 IST 2026
[2026-08-29 07:16:23,090.090 INFO    ] ================================================
[2026-08-29 07:16:23,663.663 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:16:23
[2026-08-29 07:16:24,116.116 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:16:24,246.246 INFO    ] Initializing speech engine...
[2026-08-29 07:16:24,250.250 INFO    ] 2026-08-29 07:16:24
[2026-08-29 07:16:24,473.473 INFO    ] 2026-08-29 07:16:24
[2026-08-29 07:16:24,560.560 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:16:24,707.707 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:16:24,716.716 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:16:24,851.851 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:16:24,906.906 INFO    ] time= 29/08/2026 07:16:24
[2026-08-29 07:16:24,950.950 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:16:24,982.982 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:16:25,038.038 INFO    ] No existing commands found in stream
[2026-08-29 07:16:30,050.050 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:16:30,053.053 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-08-29 07:16:30,447.447 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:16:30,449.449 INFO    ] Checking for system updates...
[2026-08-29 07:16:30,469.469 INFO    ] 200
[2026-08-29 07:16:30,470.470 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:16:30,502.502 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:16:30,504.504 INFO    ] No update needed
[2026-08-29 07:16:30,505.505 INFO    ] Checking for camera pi updates...
[2026-08-29 07:16:30,524.524 INFO    ] 200
[2026-08-29 07:16:30,525.525 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:16:30,548.548 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:16:30,627.627 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:16:30,628.628 INFO    ] No camera update needed
[2026-08-29 07:16:30,629.629 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:16:30,630.630 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:16:30,633.633 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:16:30,636.636 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:16:32,677.677 INFO    ] ================================================
[2026-08-29 07:16:32,692.692 INFO    ] Launching Daemon at Sat Aug 29 07:16:32 IST 2026
[2026-08-29 07:16:32,703.703 INFO    ] ================================================
[2026-08-29 07:16:33,269.269 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:16:33
[2026-08-29 07:16:33,852.852 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:16:34,125.125 INFO    ] Initializing speech engine...
[2026-08-29 07:16:34,130.130 INFO    ] 2026-08-29 07:16:34
[2026-08-29 07:16:34,382.382 INFO    ] 2026-08-29 07:16:34
[2026-08-29 07:16:34,441.441 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:16:34,606.606 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:16:34,647.647 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:16:34,803.803 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:16:34,829.829 INFO    ] time= 29/08/2026 07:16:34
[2026-08-29 07:16:34,889.889 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:16:34,937.937 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:16:34,995.995 INFO    ] No existing commands found in stream
[2026-08-29 07:16:40,009.009 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:16:40,012.012 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-08-29 07:16:41,059.059 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:16:41,061.061 INFO    ] Checking for system updates...
[2026-08-29 07:16:41,081.081 INFO    ] 200
[2026-08-29 07:16:41,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:16:41,115.115 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:16:41,117.117 INFO    ] No update needed
[2026-08-29 07:16:41,118.118 INFO    ] Checking for camera pi updates...
[2026-08-29 07:16:41,138.138 INFO    ] 200
[2026-08-29 07:16:41,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:16:41,162.162 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:16:41,238.238 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:16:41,240.240 INFO    ] No camera update needed
[2026-08-29 07:16:41,241.241 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:16:41,243.243 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:16:41,246.246 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:16:41,249.249 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:16:43,289.289 INFO    ] ================================================
[2026-08-29 07:16:43,304.304 INFO    ] Launching Daemon at Sat Aug 29 07:16:43 IST 2026
[2026-08-29 07:16:43,314.314 INFO    ] ================================================
[2026-08-29 07:16:43,720.720 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:16:43
[2026-08-29 07:16:44,303.303 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:16:44,574.574 INFO    ] Initializing speech engine...
[2026-08-29 07:16:44,583.583 INFO    ] 2026-08-29 07:16:44
[2026-08-29 07:16:44,842.842 INFO    ] 2026-08-29 07:16:44
[2026-08-29 07:16:44,896.896 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:16:45,038.038 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:16:45,050.050 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:16:45,190.190 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:16:45,199.199 INFO    ] time= 29/08/2026 07:16:45
[2026-08-29 07:16:45,205.205 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:16:45,245.245 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:16:45,373.373 INFO    ] No existing commands found in stream
[2026-08-29 07:16:50,403.403 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:16:50,406.406 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-08-29 07:16:53,831.831 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:16:53,833.833 INFO    ] Checking for system updates...
[2026-08-29 07:16:53,855.855 INFO    ] 200
[2026-08-29 07:16:53,856.856 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:16:53,886.886 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:16:53,888.888 INFO    ] No update needed
[2026-08-29 07:16:53,889.889 INFO    ] Checking for camera pi updates...
[2026-08-29 07:16:53,908.908 INFO    ] 200
[2026-08-29 07:16:53,910.910 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:16:53,933.933 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:16:54,044.044 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:16:54,045.045 INFO    ] No camera update needed
[2026-08-29 07:16:54,047.047 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:16:54,048.048 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:16:54,051.051 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:16:54,053.053 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:16:56,094.094 INFO    ] ================================================
[2026-08-29 07:16:56,109.109 INFO    ] Launching Daemon at Sat Aug 29 07:16:56 IST 2026
[2026-08-29 07:16:56,120.120 INFO    ] ================================================
[2026-08-29 07:16:56,488.488 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:16:56
[2026-08-29 07:16:56,799.799 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:16:56,941.941 INFO    ] Initializing speech engine...
[2026-08-29 07:16:56,946.946 INFO    ] 2026-08-29 07:16:56
[2026-08-29 07:16:57,150.150 INFO    ] 2026-08-29 07:16:57
[2026-08-29 07:16:57,177.177 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:16:57,299.299 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:16:57,361.361 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:16:57,498.498 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:16:57,557.557 INFO    ] time= 29/08/2026 07:16:57
[2026-08-29 07:16:57,589.589 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:16:57,590.590 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:16:57,662.662 INFO    ] No existing commands found in stream
[2026-08-29 07:17:02,672.672 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:17:02,676.676 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-08-29 07:17:06,399.399 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:17:06,400.400 INFO    ] Checking for system updates...
[2026-08-29 07:17:06,422.422 INFO    ] 200
[2026-08-29 07:17:06,423.423 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:17:06,455.455 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:17:06,457.457 INFO    ] No update needed
[2026-08-29 07:17:06,458.458 INFO    ] Checking for camera pi updates...
[2026-08-29 07:17:06,478.478 INFO    ] 200
[2026-08-29 07:17:06,479.479 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:17:06,507.507 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:17:06,595.595 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:17:06,598.598 INFO    ] No camera update needed
[2026-08-29 07:17:06,600.600 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:17:06,603.603 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:17:06,609.609 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:17:06,614.614 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:17:08,654.654 INFO    ] ================================================
[2026-08-29 07:17:08,675.675 INFO    ] Launching Daemon at Sat Aug 29 07:17:08 IST 2026
[2026-08-29 07:17:08,686.686 INFO    ] ================================================
[2026-08-29 07:17:09,253.253 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:17:09
[2026-08-29 07:17:09,754.754 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:17:10,023.023 INFO    ] Initializing speech engine...
[2026-08-29 07:17:10,032.032 INFO    ] 2026-08-29 07:17:10
[2026-08-29 07:17:10,292.292 INFO    ] 2026-08-29 07:17:10
[2026-08-29 07:17:10,345.345 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:17:10,487.487 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:17:10,499.499 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:17:10,639.639 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:17:10,648.648 INFO    ] time= 29/08/2026 07:17:10
[2026-08-29 07:17:10,654.654 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:17:10,694.694 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:17:10,826.826 INFO    ] No existing commands found in stream
[2026-08-29 07:17:15,853.853 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:17:15,856.856 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-08-29 07:17:16,636.636 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:17:16,637.637 INFO    ] Checking for system updates...
[2026-08-29 07:17:16,657.657 INFO    ] 200
[2026-08-29 07:17:16,659.659 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:17:16,690.690 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:17:16,692.692 INFO    ] No update needed
[2026-08-29 07:17:16,693.693 INFO    ] Checking for camera pi updates...
[2026-08-29 07:17:16,712.712 INFO    ] 200
[2026-08-29 07:17:16,714.714 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:17:16,736.736 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:17:16,812.812 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:17:16,815.815 INFO    ] No camera update needed
[2026-08-29 07:17:16,817.817 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:17:16,819.819 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:17:16,825.825 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:17:16,829.829 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:17:18,869.869 INFO    ] ================================================
[2026-08-29 07:17:18,884.884 INFO    ] Launching Daemon at Sat Aug 29 07:17:18 IST 2026
[2026-08-29 07:17:18,894.894 INFO    ] ================================================
[2026-08-29 07:17:19,462.462 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:17:19
[2026-08-29 07:17:19,952.952 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:17:20,122.122 INFO    ] Initializing speech engine...
[2026-08-29 07:17:20,144.144 INFO    ] 2026-08-29 07:17:20
[2026-08-29 07:17:20,404.404 INFO    ] 2026-08-29 07:17:20
[2026-08-29 07:17:20,440.440 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:17:20,597.597 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:17:20,599.599 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:17:20,717.717 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:17:20,722.722 INFO    ] time= 29/08/2026 07:17:20
[2026-08-29 07:17:20,742.742 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:17:20,749.749 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:17:20,857.857 INFO    ] No existing commands found in stream
[2026-08-29 07:17:25,867.867 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:17:25,869.869 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-08-29 07:17:26,688.688 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:17:26,690.690 INFO    ] Checking for system updates...
[2026-08-29 07:17:26,710.710 INFO    ] 200
[2026-08-29 07:17:26,712.712 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:17:26,741.741 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:17:26,742.742 INFO    ] No update needed
[2026-08-29 07:17:26,744.744 INFO    ] Checking for camera pi updates...
[2026-08-29 07:17:26,765.765 INFO    ] 200
[2026-08-29 07:17:26,766.766 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:17:26,790.790 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:17:26,882.882 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:17:26,883.883 INFO    ] No camera update needed
[2026-08-29 07:17:26,884.884 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:17:26,886.886 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:17:26,889.889 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:17:26,891.891 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:17:28,929.929 INFO    ] ================================================
[2026-08-29 07:17:28,945.945 INFO    ] Launching Daemon at Sat Aug 29 07:17:28 IST 2026
[2026-08-29 07:17:28,958.958 INFO    ] ================================================
[2026-08-29 07:17:29,615.615 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:17:29
[2026-08-29 07:17:30,316.316 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:17:30,643.643 INFO    ] Initializing speech engine...
[2026-08-29 07:17:30,656.656 INFO    ] 2026-08-29 07:17:30
[2026-08-29 07:17:30,965.965 INFO    ] 2026-08-29 07:17:30
[2026-08-29 07:17:31,002.002 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:17:31,224.224 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:17:31,234.234 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:17:31,377.377 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:17:31,418.418 INFO    ] time= 29/08/2026 07:17:31
[2026-08-29 07:17:31,475.475 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:17:31,536.536 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:17:31,604.604 INFO    ] No existing commands found in stream
[2026-08-29 07:17:36,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:17:36,618.618 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-08-29 07:17:38,325.325 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:17:38,326.326 INFO    ] Checking for system updates...
[2026-08-29 07:17:38,347.347 INFO    ] 200
[2026-08-29 07:17:38,349.349 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:17:38,379.379 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:17:38,380.380 INFO    ] No update needed
[2026-08-29 07:17:38,381.381 INFO    ] Checking for camera pi updates...
[2026-08-29 07:17:38,403.403 INFO    ] 200
[2026-08-29 07:17:38,406.406 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:17:38,447.447 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:17:38,531.531 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:17:38,534.534 INFO    ] No camera update needed
[2026-08-29 07:17:38,536.536 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:17:38,538.538 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:17:38,544.544 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:17:38,549.549 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:17:40,589.589 INFO    ] ================================================
[2026-08-29 07:17:40,604.604 INFO    ] Launching Daemon at Sat Aug 29 07:17:40 IST 2026
[2026-08-29 07:17:40,615.615 INFO    ] ================================================
[2026-08-29 07:17:41,203.203 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:17:41
[2026-08-29 07:17:41,676.676 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:17:41,821.821 INFO    ] Initializing speech engine...
[2026-08-29 07:17:41,826.826 INFO    ] 2026-08-29 07:17:41
[2026-08-29 07:17:42,030.030 INFO    ] 2026-08-29 07:17:42
[2026-08-29 07:17:42,058.058 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:17:42,191.191 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:17:42,244.244 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:17:42,374.374 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:17:42,435.435 INFO    ] time= 29/08/2026 07:17:42
[2026-08-29 07:17:42,472.472 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:17:42,474.474 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:17:42,546.546 INFO    ] No existing commands found in stream
[2026-08-29 07:17:47,555.555 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:17:47,558.558 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-08-29 07:17:49,993.993 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:17:49,994.994 INFO    ] Checking for system updates...
[2026-08-29 07:17:50,015.015 INFO    ] 200
[2026-08-29 07:17:50,016.016 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:17:50,046.046 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:17:50,048.048 INFO    ] No update needed
[2026-08-29 07:17:50,049.049 INFO    ] Checking for camera pi updates...
[2026-08-29 07:17:50,068.068 INFO    ] 200
[2026-08-29 07:17:50,069.069 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:17:50,093.093 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:17:50,277.277 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:17:50,280.280 INFO    ] No camera update needed
[2026-08-29 07:17:50,282.282 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:17:50,284.284 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:17:50,290.290 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:17:50,295.295 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:17:52,336.336 INFO    ] ================================================
[2026-08-29 07:17:52,351.351 INFO    ] Launching Daemon at Sat Aug 29 07:17:52 IST 2026
[2026-08-29 07:17:52,361.361 INFO    ] ================================================
[2026-08-29 07:17:52,930.930 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:17:52
[2026-08-29 07:17:53,333.333 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:17:53,465.465 INFO    ] Initializing speech engine...
[2026-08-29 07:17:53,468.468 INFO    ] 2026-08-29 07:17:53
[2026-08-29 07:17:53,685.685 INFO    ] 2026-08-29 07:17:53
[2026-08-29 07:17:53,715.715 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:17:53,845.845 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:17:53,867.867 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:17:54,008.008 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:17:54,051.051 INFO    ] time= 29/08/2026 07:17:54
[2026-08-29 07:17:54,108.108 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:17:54,134.134 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:17:54,229.229 INFO    ] No existing commands found in stream
[2026-08-29 07:17:59,240.240 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:17:59,243.243 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 07:18:02,317.317 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:18:02,320.320 INFO    ] Checking for system updates...
[2026-08-29 07:18:02,364.364 INFO    ] 200
[2026-08-29 07:18:02,367.367 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:18:02,455.455 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:18:02,458.458 INFO    ] No update needed
[2026-08-29 07:18:02,461.461 INFO    ] Checking for camera pi updates...
[2026-08-29 07:18:02,505.505 INFO    ] 200
[2026-08-29 07:18:02,509.509 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:18:02,565.565 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:18:02,648.648 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:18:02,651.651 INFO    ] No camera update needed
[2026-08-29 07:18:02,654.654 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:18:02,657.657 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:18:02,662.662 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:18:02,667.667 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:18:04,708.708 INFO    ] ================================================
[2026-08-29 07:18:04,724.724 INFO    ] Launching Daemon at Sat Aug 29 07:18:04 IST 2026
[2026-08-29 07:18:04,735.735 INFO    ] ================================================
[2026-08-29 07:18:05,109.109 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:18:05
[2026-08-29 07:18:05,423.423 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:18:05,567.567 INFO    ] Initializing speech engine...
[2026-08-29 07:18:05,572.572 INFO    ] 2026-08-29 07:18:05
[2026-08-29 07:18:05,821.821 INFO    ] 2026-08-29 07:18:05
[2026-08-29 07:18:05,875.875 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:18:06,054.054 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:18:06,062.062 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:18:06,224.224 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:18:06,262.262 INFO    ] time= 29/08/2026 07:18:06
[2026-08-29 07:18:06,268.268 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:18:06,289.289 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:18:06,397.397 INFO    ] No existing commands found in stream
[2026-08-29 07:18:11,424.424 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:18:11,427.427 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-08-29 07:18:12,325.325 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:18:12,327.327 INFO    ] Checking for system updates...
[2026-08-29 07:18:12,348.348 INFO    ] 200
[2026-08-29 07:18:12,349.349 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:18:12,379.379 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:18:12,381.381 INFO    ] No update needed
[2026-08-29 07:18:12,382.382 INFO    ] Checking for camera pi updates...
[2026-08-29 07:18:12,402.402 INFO    ] 200
[2026-08-29 07:18:12,403.403 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:18:12,428.428 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:18:12,501.501 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:18:12,502.502 INFO    ] No camera update needed
[2026-08-29 07:18:12,503.503 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:18:12,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:18:12,508.508 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:18:12,510.510 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:18:14,550.550 INFO    ] ================================================
[2026-08-29 07:18:14,566.566 INFO    ] Launching Daemon at Sat Aug 29 07:18:14 IST 2026
[2026-08-29 07:18:14,578.578 INFO    ] ================================================
[2026-08-29 07:18:14,904.904 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:18:14
[2026-08-29 07:18:15,221.221 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:18:15,364.364 INFO    ] Initializing speech engine...
[2026-08-29 07:18:15,369.369 INFO    ] 2026-08-29 07:18:15
[2026-08-29 07:18:15,573.573 INFO    ] 2026-08-29 07:18:15
[2026-08-29 07:18:15,602.602 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:18:15,725.725 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:18:15,778.778 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:18:15,919.919 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:18:15,990.990 INFO    ] time= 29/08/2026 07:18:15
[2026-08-29 07:18:16,017.017 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:18:16,024.024 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:18:16,089.089 INFO    ] No existing commands found in stream
[2026-08-29 07:18:21,100.100 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:18:21,103.103 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-08-29 07:18:25,136.136 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:18:25,138.138 INFO    ] Checking for system updates...
[2026-08-29 07:18:25,158.158 INFO    ] 200
[2026-08-29 07:18:25,159.159 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:18:25,191.191 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:18:25,192.192 INFO    ] No update needed
[2026-08-29 07:18:25,194.194 INFO    ] Checking for camera pi updates...
[2026-08-29 07:18:25,216.216 INFO    ] 200
[2026-08-29 07:18:25,217.217 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:18:25,241.241 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:18:25,335.335 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:18:25,337.337 INFO    ] No camera update needed
[2026-08-29 07:18:25,338.338 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:18:25,339.339 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:18:25,342.342 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:18:25,345.345 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:18:27,384.384 INFO    ] ================================================
[2026-08-29 07:18:27,399.399 INFO    ] Launching Daemon at Sat Aug 29 07:18:27 IST 2026
[2026-08-29 07:18:27,411.411 INFO    ] ================================================
[2026-08-29 07:18:27,957.957 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:18:27
[2026-08-29 07:18:28,604.604 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:18:28,901.901 INFO    ] Initializing speech engine...
[2026-08-29 07:18:28,910.910 INFO    ] 2026-08-29 07:18:28
[2026-08-29 07:18:29,184.184 INFO    ] 2026-08-29 07:18:29
[2026-08-29 07:18:29,220.220 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:18:29,387.387 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:18:29,399.399 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:18:29,515.515 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:18:29,518.518 INFO    ] time= 29/08/2026 07:18:29
[2026-08-29 07:18:29,523.523 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:18:29,543.543 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:18:29,639.639 INFO    ] No existing commands found in stream
[2026-08-29 07:18:34,675.675 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:18:34,678.678 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-08-29 07:18:35,559.559 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:18:35,561.561 INFO    ] Checking for system updates...
[2026-08-29 07:18:35,582.582 INFO    ] 200
[2026-08-29 07:18:35,583.583 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:18:35,613.613 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:18:35,614.614 INFO    ] No update needed
[2026-08-29 07:18:35,615.615 INFO    ] Checking for camera pi updates...
[2026-08-29 07:18:35,635.635 INFO    ] 200
[2026-08-29 07:18:35,637.637 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:18:35,664.664 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:18:35,712.712 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:18:35,713.713 INFO    ] No camera update needed
[2026-08-29 07:18:35,714.714 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:18:35,716.716 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:18:35,719.719 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:18:35,722.722 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:18:37,760.760 INFO    ] ================================================
[2026-08-29 07:18:37,776.776 INFO    ] Launching Daemon at Sat Aug 29 07:18:37 IST 2026
[2026-08-29 07:18:37,787.787 INFO    ] ================================================
[2026-08-29 07:18:38,233.233 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:18:38
[2026-08-29 07:18:38,818.818 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:18:39,073.073 INFO    ] Initializing speech engine...
[2026-08-29 07:18:39,081.081 INFO    ] 2026-08-29 07:18:39
[2026-08-29 07:18:39,368.368 INFO    ] 2026-08-29 07:18:39
[2026-08-29 07:18:39,405.405 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:18:39,595.595 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:18:39,609.609 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:18:39,747.747 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:18:39,772.772 INFO    ] time= 29/08/2026 07:18:39
[2026-08-29 07:18:39,778.778 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:18:39,785.785 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:18:39,855.855 INFO    ] No existing commands found in stream
[2026-08-29 07:18:44,868.868 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:18:44,870.870 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-08-29 07:18:46,037.037 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:18:46,039.039 INFO    ] Checking for system updates...
[2026-08-29 07:18:46,059.059 INFO    ] 200
[2026-08-29 07:18:46,061.061 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:18:46,091.091 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:18:46,093.093 INFO    ] No update needed
[2026-08-29 07:18:46,094.094 INFO    ] Checking for camera pi updates...
[2026-08-29 07:18:46,113.113 INFO    ] 200
[2026-08-29 07:18:46,115.115 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:18:46,138.138 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:18:46,213.213 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:18:46,215.215 INFO    ] No camera update needed
[2026-08-29 07:18:46,216.216 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:18:46,217.217 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:18:46,220.220 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:18:46,223.223 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:18:48,263.263 INFO    ] ================================================
[2026-08-29 07:18:48,278.278 INFO    ] Launching Daemon at Sat Aug 29 07:18:48 IST 2026
[2026-08-29 07:18:48,290.290 INFO    ] ================================================
[2026-08-29 07:18:48,657.657 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:18:48
[2026-08-29 07:18:48,968.968 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:18:49,120.120 INFO    ] Initializing speech engine...
[2026-08-29 07:18:49,139.139 INFO    ] 2026-08-29 07:18:49
[2026-08-29 07:18:49,387.387 INFO    ] 2026-08-29 07:18:49
[2026-08-29 07:18:49,421.421 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:18:49,600.600 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:18:49,613.613 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:18:49,757.757 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:18:49,762.762 INFO    ] time= 29/08/2026 07:18:49
[2026-08-29 07:18:49,768.768 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:18:49,788.788 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:18:49,919.919 INFO    ] No existing commands found in stream
[2026-08-29 07:18:54,944.944 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:18:54,946.946 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-08-29 07:18:58,990.990 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:18:58,992.992 INFO    ] Checking for system updates...
[2026-08-29 07:18:59,012.012 INFO    ] 200
[2026-08-29 07:18:59,013.013 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:18:59,045.045 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:18:59,046.046 INFO    ] No update needed
[2026-08-29 07:18:59,047.047 INFO    ] Checking for camera pi updates...
[2026-08-29 07:18:59,067.067 INFO    ] 200
[2026-08-29 07:18:59,069.069 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:18:59,111.111 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:18:59,193.193 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:18:59,195.195 INFO    ] No camera update needed
[2026-08-29 07:18:59,198.198 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:18:59,200.200 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:18:59,205.205 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:18:59,210.210 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:19:01,251.251 INFO    ] ================================================
[2026-08-29 07:19:01,267.267 INFO    ] Launching Daemon at Sat Aug 29 07:19:01 IST 2026
[2026-08-29 07:19:01,278.278 INFO    ] ================================================
[2026-08-29 07:19:01,854.854 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:19:01
[2026-08-29 07:19:02,569.569 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:19:02,948.948 INFO    ] Initializing speech engine...
[2026-08-29 07:19:02,961.961 INFO    ] 2026-08-29 07:19:02
[2026-08-29 07:19:03,300.300 INFO    ] 2026-08-29 07:19:03
[2026-08-29 07:19:03,375.375 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:19:03,596.596 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:19:03,606.606 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:19:03,757.757 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:19:03,763.763 INFO    ] time= 29/08/2026 07:19:03
[2026-08-29 07:19:03,818.818 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:19:03,872.872 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:19:03,947.947 INFO    ] No existing commands found in stream
[2026-08-29 07:19:08,958.958 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:19:08,961.961 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-08-29 07:19:11,195.195 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:19:11,196.196 INFO    ] Checking for system updates...
[2026-08-29 07:19:11,218.218 INFO    ] 200
[2026-08-29 07:19:11,219.219 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:19:11,249.249 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:19:11,250.250 INFO    ] No update needed
[2026-08-29 07:19:11,251.251 INFO    ] Checking for camera pi updates...
[2026-08-29 07:19:11,271.271 INFO    ] 200
[2026-08-29 07:19:11,272.272 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:19:11,295.295 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:19:11,375.375 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:19:11,376.376 INFO    ] No camera update needed
[2026-08-29 07:19:11,377.377 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:19:11,378.378 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:19:11,381.381 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:19:11,384.384 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:19:13,425.425 INFO    ] ================================================
[2026-08-29 07:19:13,441.441 INFO    ] Launching Daemon at Sat Aug 29 07:19:13 IST 2026
[2026-08-29 07:19:13,452.452 INFO    ] ================================================
[2026-08-29 07:19:13,956.956 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:19:13
[2026-08-29 07:19:14,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:19:14,847.847 INFO    ] Initializing speech engine...
[2026-08-29 07:19:14,855.855 INFO    ] 2026-08-29 07:19:14
[2026-08-29 07:19:15,114.114 INFO    ] 2026-08-29 07:19:15
[2026-08-29 07:19:15,168.168 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:19:15,339.339 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:19:15,396.396 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:19:15,534.534 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:19:15,576.576 INFO    ] time= 29/08/2026 07:19:15
[2026-08-29 07:19:15,635.635 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:19:15,668.668 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:19:15,722.722 INFO    ] No existing commands found in stream
[2026-08-29 07:19:20,733.733 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:19:20,736.736 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-08-29 07:19:21,760.760 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:19:21,761.761 INFO    ] Checking for system updates...
[2026-08-29 07:19:21,782.782 INFO    ] 200
[2026-08-29 07:19:21,783.783 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:19:21,816.816 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:19:21,817.817 INFO    ] No update needed
[2026-08-29 07:19:21,819.819 INFO    ] Checking for camera pi updates...
[2026-08-29 07:19:21,837.837 INFO    ] 200
[2026-08-29 07:19:21,839.839 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:19:21,861.861 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:19:21,941.941 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:19:21,942.942 INFO    ] No camera update needed
[2026-08-29 07:19:21,944.944 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:19:21,945.945 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:19:21,948.948 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:19:21,950.950 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:19:23,989.989 INFO    ] ================================================
[2026-08-29 07:19:24,005.005 INFO    ] Launching Daemon at Sat Aug 29 07:19:23 IST 2026
[2026-08-29 07:19:24,017.017 INFO    ] ================================================
[2026-08-29 07:19:24,371.371 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:19:24
[2026-08-29 07:19:24,688.688 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:19:24,827.827 INFO    ] Initializing speech engine...
[2026-08-29 07:19:24,834.834 INFO    ] 2026-08-29 07:19:24
[2026-08-29 07:19:25,040.040 INFO    ] 2026-08-29 07:19:25
[2026-08-29 07:19:25,070.070 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:19:25,195.195 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:19:25,252.252 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:19:25,382.382 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:19:25,438.438 INFO    ] time= 29/08/2026 07:19:25
[2026-08-29 07:19:25,492.492 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:19:25,537.537 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:19:25,673.673 INFO    ] No existing commands found in stream
[2026-08-29 07:19:30,703.703 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:19:30,705.705 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-08-29 07:19:31,429.429 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:19:31,432.432 INFO    ] Checking for system updates...
[2026-08-29 07:19:31,469.469 INFO    ] 200
[2026-08-29 07:19:31,472.472 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:19:31,532.532 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:19:31,535.535 INFO    ] No update needed
[2026-08-29 07:19:31,538.538 INFO    ] Checking for camera pi updates...
[2026-08-29 07:19:31,573.573 INFO    ] 200
[2026-08-29 07:19:31,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:19:31,621.621 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:19:31,735.735 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:19:31,738.738 INFO    ] No camera update needed
[2026-08-29 07:19:31,740.740 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:19:31,742.742 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:19:31,747.747 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:19:31,752.752 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:19:33,795.795 INFO    ] ================================================
[2026-08-29 07:19:33,810.810 INFO    ] Launching Daemon at Sat Aug 29 07:19:33 IST 2026
[2026-08-29 07:19:33,821.821 INFO    ] ================================================
[2026-08-29 07:19:34,452.452 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:19:34
[2026-08-29 07:19:35,034.034 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:19:35,286.286 INFO    ] Initializing speech engine...
[2026-08-29 07:19:35,300.300 INFO    ] 2026-08-29 07:19:35
[2026-08-29 07:19:35,508.508 INFO    ] 2026-08-29 07:19:35
[2026-08-29 07:19:35,539.539 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:19:35,674.674 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:19:35,686.686 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:19:35,868.868 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:19:35,923.923 INFO    ] time= 29/08/2026 07:19:35
[2026-08-29 07:19:35,945.945 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:19:35,975.975 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:19:36,083.083 INFO    ] No existing commands found in stream
[2026-08-29 07:19:41,096.096 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:19:41,104.104 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-08-29 07:19:41,471.471 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:19:41,473.473 INFO    ] Checking for system updates...
[2026-08-29 07:19:41,493.493 INFO    ] 200
[2026-08-29 07:19:41,495.495 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:19:41,528.528 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:19:41,529.529 INFO    ] No update needed
[2026-08-29 07:19:41,530.530 INFO    ] Checking for camera pi updates...
[2026-08-29 07:19:41,553.553 INFO    ] 200
[2026-08-29 07:19:41,555.555 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:19:41,599.599 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:19:41,696.696 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:19:41,698.698 INFO    ] No camera update needed
[2026-08-29 07:19:41,700.700 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:19:41,703.703 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:19:41,708.708 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:19:41,713.713 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:19:43,754.754 INFO    ] ================================================
[2026-08-29 07:19:43,769.769 INFO    ] Launching Daemon at Sat Aug 29 07:19:43 IST 2026
[2026-08-29 07:19:43,780.780 INFO    ] ================================================
[2026-08-29 07:19:44,363.363 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:19:44
[2026-08-29 07:19:44,829.829 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:19:44,968.968 INFO    ] Initializing speech engine...
[2026-08-29 07:19:44,981.981 INFO    ] 2026-08-29 07:19:44
[2026-08-29 07:19:45,200.200 INFO    ] 2026-08-29 07:19:45
[2026-08-29 07:19:45,229.229 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:19:45,328.328 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:19:45,331.331 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:19:45,463.463 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:19:45,469.469 INFO    ] time= 29/08/2026 07:19:45
[2026-08-29 07:19:45,475.475 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:19:45,524.524 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:19:45,608.608 INFO    ] No existing commands found in stream
[2026-08-29 07:19:50,642.642 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:19:50,645.645 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-08-29 07:19:53,330.330 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:19:53,333.333 INFO    ] Checking for system updates...
[2026-08-29 07:19:53,370.370 INFO    ] 200
[2026-08-29 07:19:53,372.372 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:19:53,426.426 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:19:53,428.428 INFO    ] No update needed
[2026-08-29 07:19:53,431.431 INFO    ] Checking for camera pi updates...
[2026-08-29 07:19:53,464.464 INFO    ] 200
[2026-08-29 07:19:53,466.466 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:19:53,507.507 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:19:53,707.707 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:19:53,709.709 INFO    ] No camera update needed
[2026-08-29 07:19:53,712.712 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:19:53,714.714 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:19:53,720.720 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:19:53,725.725 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:19:55,765.765 INFO    ] ================================================
[2026-08-29 07:19:55,780.780 INFO    ] Launching Daemon at Sat Aug 29 07:19:55 IST 2026
[2026-08-29 07:19:55,791.791 INFO    ] ================================================
[2026-08-29 07:19:56,182.182 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:19:56
[2026-08-29 07:19:56,518.518 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:19:56,671.671 INFO    ] Initializing speech engine...
[2026-08-29 07:19:56,677.677 INFO    ] 2026-08-29 07:19:56
[2026-08-29 07:19:56,886.886 INFO    ] 2026-08-29 07:19:56
[2026-08-29 07:19:56,914.914 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:19:57,050.050 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:19:57,104.104 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:19:57,243.243 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:19:57,313.313 INFO    ] time= 29/08/2026 07:19:57
[2026-08-29 07:19:57,338.338 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:19:57,345.345 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:19:57,410.410 INFO    ] No existing commands found in stream
[2026-08-29 07:20:02,423.423 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:20:02,511.511 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-08-29 07:20:07,506.506 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:20:07,519.519 INFO    ] Checking for system updates...
[2026-08-29 07:20:07,540.540 INFO    ] 200
[2026-08-29 07:20:07,542.542 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:20:07,571.571 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:20:07,573.573 INFO    ] No update needed
[2026-08-29 07:20:07,574.574 INFO    ] Checking for camera pi updates...
[2026-08-29 07:20:07,593.593 INFO    ] 200
[2026-08-29 07:20:07,595.595 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:20:07,622.622 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:20:07,729.729 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:20:07,730.730 INFO    ] No camera update needed
[2026-08-29 07:20:07,731.731 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:20:07,733.733 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:20:07,736.736 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:20:07,738.738 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:20:09,777.777 INFO    ] ================================================
[2026-08-29 07:20:09,792.792 INFO    ] Launching Daemon at Sat Aug 29 07:20:09 IST 2026
[2026-08-29 07:20:09,803.803 INFO    ] ================================================
[2026-08-29 07:20:10,141.141 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:20:10
[2026-08-29 07:20:10,454.454 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:20:10,605.605 INFO    ] Initializing speech engine...
[2026-08-29 07:20:10,608.608 INFO    ] 2026-08-29 07:20:10
[2026-08-29 07:20:10,822.822 INFO    ] 2026-08-29 07:20:10
[2026-08-29 07:20:10,853.853 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:20:10,993.993 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:20:11,004.004 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:20:11,143.143 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:20:11,192.192 INFO    ] time= 29/08/2026 07:20:11
[2026-08-29 07:20:11,234.234 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:20:11,240.240 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:20:11,353.353 INFO    ] No existing commands found in stream
[2026-08-29 07:20:16,375.375 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:20:16,378.378 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-08-29 07:20:18,705.705 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:20:18,707.707 INFO    ] Checking for system updates...
[2026-08-29 07:20:18,727.727 INFO    ] 200
[2026-08-29 07:20:18,728.728 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:20:18,760.760 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:20:18,761.761 INFO    ] No update needed
[2026-08-29 07:20:18,763.763 INFO    ] Checking for camera pi updates...
[2026-08-29 07:20:18,782.782 INFO    ] 200
[2026-08-29 07:20:18,783.783 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:20:18,809.809 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:20:18,854.854 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:20:18,855.855 INFO    ] No camera update needed
[2026-08-29 07:20:18,857.857 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:20:18,858.858 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:20:18,861.861 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:20:18,863.863 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:20:20,903.903 INFO    ] ================================================
[2026-08-29 07:20:20,919.919 INFO    ] Launching Daemon at Sat Aug 29 07:20:20 IST 2026
[2026-08-29 07:20:20,930.930 INFO    ] ================================================
[2026-08-29 07:20:21,317.317 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:20:21
[2026-08-29 07:20:21,655.655 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:20:21,797.797 INFO    ] Initializing speech engine...
[2026-08-29 07:20:21,811.811 INFO    ] 2026-08-29 07:20:21
[2026-08-29 07:20:22,022.022 INFO    ] 2026-08-29 07:20:22
[2026-08-29 07:20:22,052.052 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:20:22,178.178 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:20:22,241.241 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:20:22,376.376 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:20:22,442.442 INFO    ] time= 29/08/2026 07:20:22
[2026-08-29 07:20:22,477.477 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:20:22,483.483 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:20:22,552.552 INFO    ] No existing commands found in stream
[2026-08-29 07:20:27,566.566 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:20:27,570.570 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-08-29 07:20:29,312.312 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:20:29,314.314 INFO    ] Checking for system updates...
[2026-08-29 07:20:29,334.334 INFO    ] 200
[2026-08-29 07:20:29,336.336 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:20:29,379.379 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:20:29,381.381 INFO    ] No update needed
[2026-08-29 07:20:29,384.384 INFO    ] Checking for camera pi updates...
[2026-08-29 07:20:29,418.418 INFO    ] 200
[2026-08-29 07:20:29,420.420 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:20:29,465.465 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:20:29,550.550 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:20:29,552.552 INFO    ] No camera update needed
[2026-08-29 07:20:29,555.555 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:20:29,557.557 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:20:29,563.563 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:20:29,568.568 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:20:31,612.612 INFO    ] ================================================
[2026-08-29 07:20:31,628.628 INFO    ] Launching Daemon at Sat Aug 29 07:20:31 IST 2026
[2026-08-29 07:20:31,639.639 INFO    ] ================================================
[2026-08-29 07:20:32,264.264 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:20:32
[2026-08-29 07:20:32,885.885 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:20:33,220.220 INFO    ] Initializing speech engine...
[2026-08-29 07:20:33,227.227 INFO    ] 2026-08-29 07:20:33
[2026-08-29 07:20:33,508.508 INFO    ] 2026-08-29 07:20:33
[2026-08-29 07:20:33,553.553 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:20:33,732.732 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:20:33,752.752 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:20:33,881.881 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:20:33,886.886 INFO    ] time= 29/08/2026 07:20:33
[2026-08-29 07:20:33,895.895 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:20:33,957.957 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:20:34,061.061 INFO    ] No existing commands found in stream
[2026-08-29 07:20:39,092.092 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:20:39,095.095 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-08-29 07:20:41,538.538 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:20:41,540.540 INFO    ] Checking for system updates...
[2026-08-29 07:20:41,561.561 INFO    ] 200
[2026-08-29 07:20:41,562.562 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:20:41,593.593 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:20:41,594.594 INFO    ] No update needed
[2026-08-29 07:20:41,596.596 INFO    ] Checking for camera pi updates...
[2026-08-29 07:20:41,615.615 INFO    ] 200
[2026-08-29 07:20:41,616.616 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:20:41,639.639 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:20:41,726.726 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:20:41,727.727 INFO    ] No camera update needed
[2026-08-29 07:20:41,729.729 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:20:41,730.730 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:20:41,733.733 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:20:41,736.736 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:20:43,774.774 INFO    ] ================================================
[2026-08-29 07:20:43,789.789 INFO    ] Launching Daemon at Sat Aug 29 07:20:43 IST 2026
[2026-08-29 07:20:43,800.800 INFO    ] ================================================
[2026-08-29 07:20:44,176.176 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:20:44
[2026-08-29 07:20:44,513.513 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:20:44,654.654 INFO    ] Initializing speech engine...
[2026-08-29 07:20:44,668.668 INFO    ] 2026-08-29 07:20:44
[2026-08-29 07:20:44,886.886 INFO    ] 2026-08-29 07:20:44
[2026-08-29 07:20:44,970.970 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:20:45,122.122 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:20:45,131.131 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:20:45,266.266 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:20:45,288.288 INFO    ] time= 29/08/2026 07:20:45
[2026-08-29 07:20:45,342.342 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:20:45,397.397 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:20:45,459.459 INFO    ] No existing commands found in stream
[2026-08-29 07:20:50,470.470 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:20:50,473.473 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-08-29 07:20:51,294.294 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:20:51,296.296 INFO    ] Checking for system updates...
[2026-08-29 07:20:51,316.316 INFO    ] 200
[2026-08-29 07:20:51,317.317 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:20:51,349.349 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:20:51,351.351 INFO    ] No update needed
[2026-08-29 07:20:51,352.352 INFO    ] Checking for camera pi updates...
[2026-08-29 07:20:51,372.372 INFO    ] 200
[2026-08-29 07:20:51,374.374 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:20:51,396.396 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:20:51,441.441 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:20:51,442.442 INFO    ] No camera update needed
[2026-08-29 07:20:51,444.444 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:20:51,445.445 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:20:51,448.448 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:20:51,450.450 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:20:53,489.489 INFO    ] ================================================
[2026-08-29 07:20:53,504.504 INFO    ] Launching Daemon at Sat Aug 29 07:20:53 IST 2026
[2026-08-29 07:20:53,515.515 INFO    ] ================================================
[2026-08-29 07:20:53,878.878 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:20:53
[2026-08-29 07:20:54,216.216 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:20:54,370.370 INFO    ] Initializing speech engine...
[2026-08-29 07:20:54,373.373 INFO    ] 2026-08-29 07:20:54
[2026-08-29 07:20:54,584.584 INFO    ] 2026-08-29 07:20:54
[2026-08-29 07:20:54,613.613 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:20:54,738.738 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:20:54,801.801 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:20:54,940.940 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:20:55,012.012 INFO    ] time= 29/08/2026 07:20:54
[2026-08-29 07:20:55,036.036 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:20:55,044.044 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:20:55,149.149 INFO    ] No existing commands found in stream
[2026-08-29 07:21:00,160.160 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:21:00,163.163 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 07:21:01,163.163 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:21:01,168.168 INFO    ] Checking for system updates...
[2026-08-29 07:21:01,237.237 INFO    ] 200
[2026-08-29 07:21:01,246.246 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:21:01,344.344 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:21:01,347.347 INFO    ] No update needed
[2026-08-29 07:21:01,356.356 INFO    ] Checking for camera pi updates...
[2026-08-29 07:21:01,413.413 INFO    ] 200
[2026-08-29 07:21:01,416.416 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:21:01,471.471 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:21:01,576.576 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:21:01,579.579 INFO    ] No camera update needed
[2026-08-29 07:21:01,582.582 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:21:01,585.585 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:21:01,592.592 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:21:01,599.599 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:21:03,644.644 INFO    ] ================================================
[2026-08-29 07:21:03,660.660 INFO    ] Launching Daemon at Sat Aug 29 07:21:03 IST 2026
[2026-08-29 07:21:03,670.670 INFO    ] ================================================
[2026-08-29 07:21:04,250.250 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:21:04
[2026-08-29 07:21:04,567.567 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:21:04,710.710 INFO    ] Initializing speech engine...
[2026-08-29 07:21:04,719.719 INFO    ] 2026-08-29 07:21:04
[2026-08-29 07:21:04,937.937 INFO    ] 2026-08-29 07:21:04
[2026-08-29 07:21:04,983.983 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:21:05,142.142 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:21:05,164.164 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:21:05,297.297 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:21:05,317.317 INFO    ] time= 29/08/2026 07:21:05
[2026-08-29 07:21:05,345.345 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:21:05,355.355 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:21:05,457.457 INFO    ] No existing commands found in stream
[2026-08-29 07:21:10,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:21:10,477.477 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-08-29 07:21:12,174.174 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:21:12,176.176 INFO    ] Checking for system updates...
[2026-08-29 07:21:12,196.196 INFO    ] 200
[2026-08-29 07:21:12,197.197 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:21:12,230.230 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:21:12,231.231 INFO    ] No update needed
[2026-08-29 07:21:12,233.233 INFO    ] Checking for camera pi updates...
[2026-08-29 07:21:12,253.253 INFO    ] 200
[2026-08-29 07:21:12,255.255 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:21:12,279.279 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:21:12,362.362 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:21:12,364.364 INFO    ] No camera update needed
[2026-08-29 07:21:12,365.365 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:21:12,366.366 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:21:12,370.370 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:21:12,373.373 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:21:14,412.412 INFO    ] ================================================
[2026-08-29 07:21:14,427.427 INFO    ] Launching Daemon at Sat Aug 29 07:21:14 IST 2026
[2026-08-29 07:21:14,438.438 INFO    ] ================================================
[2026-08-29 07:21:14,775.775 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:21:14
[2026-08-29 07:21:15,132.132 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:21:15,382.382 INFO    ] Initializing speech engine...
[2026-08-29 07:21:15,389.389 INFO    ] 2026-08-29 07:21:15
[2026-08-29 07:21:15,689.689 INFO    ] 2026-08-29 07:21:15
[2026-08-29 07:21:15,714.714 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:21:15,870.870 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:21:15,878.878 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:21:16,027.027 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:21:16,036.036 INFO    ] time= 29/08/2026 07:21:16
[2026-08-29 07:21:16,040.040 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:21:16,045.045 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:21:16,111.111 INFO    ] No existing commands found in stream
[2026-08-29 07:21:21,124.124 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:21:21,127.127 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 07:21:22,639.639 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:21:22,641.641 INFO    ] Checking for system updates...
[2026-08-29 07:21:22,661.661 INFO    ] 200
[2026-08-29 07:21:22,663.663 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:21:22,693.693 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:21:22,695.695 INFO    ] No update needed
[2026-08-29 07:21:22,696.696 INFO    ] Checking for camera pi updates...
[2026-08-29 07:21:22,724.724 INFO    ] 200
[2026-08-29 07:21:22,727.727 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:21:22,768.768 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:21:22,878.878 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:21:22,880.880 INFO    ] No camera update needed
[2026-08-29 07:21:22,883.883 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:21:22,886.886 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:21:22,892.892 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:21:22,897.897 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:21:24,937.937 INFO    ] ================================================
[2026-08-29 07:21:24,953.953 INFO    ] Launching Daemon at Sat Aug 29 07:21:24 IST 2026
[2026-08-29 07:21:24,964.964 INFO    ] ================================================
[2026-08-29 07:21:25,610.610 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:21:25
[2026-08-29 07:21:26,057.057 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:21:26,207.207 INFO    ] Initializing speech engine...
[2026-08-29 07:21:26,212.212 INFO    ] 2026-08-29 07:21:26
[2026-08-29 07:21:26,420.420 INFO    ] 2026-08-29 07:21:26
[2026-08-29 07:21:26,449.449 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:21:26,572.572 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:21:26,610.610 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:21:26,772.772 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:21:26,839.839 INFO    ] time= 29/08/2026 07:21:26
[2026-08-29 07:21:26,863.863 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:21:26,870.870 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:21:26,936.936 INFO    ] No existing commands found in stream
[2026-08-29 07:21:31,945.945 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:21:31,948.948 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-08-29 07:21:34,670.670 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:21:34,673.673 INFO    ] Checking for system updates...
[2026-08-29 07:21:34,709.709 INFO    ] 200
[2026-08-29 07:21:34,711.711 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:21:34,767.767 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:21:34,769.769 INFO    ] No update needed
[2026-08-29 07:21:34,771.771 INFO    ] Checking for camera pi updates...
[2026-08-29 07:21:34,805.805 INFO    ] 200
[2026-08-29 07:21:34,807.807 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:21:34,847.847 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:21:34,955.955 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:21:34,957.957 INFO    ] No camera update needed
[2026-08-29 07:21:34,959.959 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:21:34,961.961 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:21:34,967.967 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:21:34,971.971 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:21:37,012.012 INFO    ] ================================================
[2026-08-29 07:21:37,028.028 INFO    ] Launching Daemon at Sat Aug 29 07:21:37 IST 2026
[2026-08-29 07:21:37,039.039 INFO    ] ================================================
[2026-08-29 07:21:37,622.622 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:21:37
[2026-08-29 07:21:38,288.288 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:21:38,593.593 INFO    ] Initializing speech engine...
[2026-08-29 07:21:38,599.599 INFO    ] 2026-08-29 07:21:38
[2026-08-29 07:21:38,876.876 INFO    ] 2026-08-29 07:21:38
[2026-08-29 07:21:38,932.932 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:21:39,160.160 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:21:39,169.169 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:21:39,306.306 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:21:39,349.349 INFO    ] time= 29/08/2026 07:21:39
[2026-08-29 07:21:39,408.408 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:21:39,444.444 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:21:39,503.503 INFO    ] No existing commands found in stream
[2026-08-29 07:21:44,516.516 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:21:44,519.519 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-08-29 07:21:47,404.404 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:21:47,405.405 INFO    ] Checking for system updates...
[2026-08-29 07:21:47,426.426 INFO    ] 200
[2026-08-29 07:21:47,427.427 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:21:47,459.459 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:21:47,460.460 INFO    ] No update needed
[2026-08-29 07:21:47,461.461 INFO    ] Checking for camera pi updates...
[2026-08-29 07:21:47,481.481 INFO    ] 200
[2026-08-29 07:21:47,483.483 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:21:47,505.505 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:21:47,597.597 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:21:47,598.598 INFO    ] No camera update needed
[2026-08-29 07:21:47,599.599 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:21:47,600.600 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:21:47,603.603 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:21:47,606.606 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:21:49,644.644 INFO    ] ================================================
[2026-08-29 07:21:49,660.660 INFO    ] Launching Daemon at Sat Aug 29 07:21:49 IST 2026
[2026-08-29 07:21:49,670.670 INFO    ] ================================================
[2026-08-29 07:21:50,052.052 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:21:50
[2026-08-29 07:21:50,392.392 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:21:50,542.542 INFO    ] Initializing speech engine...
[2026-08-29 07:21:50,548.548 INFO    ] 2026-08-29 07:21:50
[2026-08-29 07:21:50,756.756 INFO    ] 2026-08-29 07:21:50
[2026-08-29 07:21:50,785.785 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:21:50,917.917 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:21:50,970.970 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:21:51,108.108 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:21:51,184.184 INFO    ] time= 29/08/2026 07:21:51
[2026-08-29 07:21:51,200.200 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:21:51,207.207 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:21:51,272.272 INFO    ] No existing commands found in stream
[2026-08-29 07:21:56,283.283 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:21:56,286.286 INFO    ] Waiting 2.52 seconds before fallback handling...
[2026-08-29 07:21:59,145.145 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:21:59,147.147 INFO    ] Checking for system updates...
[2026-08-29 07:21:59,169.169 INFO    ] 200
[2026-08-29 07:21:59,171.171 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:21:59,203.203 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:21:59,205.205 INFO    ] No update needed
[2026-08-29 07:21:59,206.206 INFO    ] Checking for camera pi updates...
[2026-08-29 07:21:59,226.226 INFO    ] 200
[2026-08-29 07:21:59,227.227 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:21:59,250.250 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:21:59,406.406 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:21:59,408.408 INFO    ] No camera update needed
[2026-08-29 07:21:59,409.409 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:21:59,410.410 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:21:59,414.414 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:21:59,417.417 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:22:01,456.456 INFO    ] ================================================
[2026-08-29 07:22:01,476.476 INFO    ] Launching Daemon at Sat Aug 29 07:22:01 IST 2026
[2026-08-29 07:22:01,492.492 INFO    ] ================================================
[2026-08-29 07:22:02,143.143 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:22:02
[2026-08-29 07:22:02,811.811 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:22:03,081.081 INFO    ] Initializing speech engine...
[2026-08-29 07:22:03,091.091 INFO    ] 2026-08-29 07:22:03
[2026-08-29 07:22:03,341.341 INFO    ] 2026-08-29 07:22:03
[2026-08-29 07:22:03,376.376 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:22:03,550.550 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:22:03,556.556 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:22:03,678.678 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:22:03,697.697 INFO    ] time= 29/08/2026 07:22:03
[2026-08-29 07:22:03,716.716 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:22:03,725.725 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:22:03,794.794 INFO    ] No existing commands found in stream
[2026-08-29 07:22:08,806.806 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:22:08,809.809 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-08-29 07:22:09,988.988 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:22:09,990.990 INFO    ] Checking for system updates...
[2026-08-29 07:22:10,010.010 INFO    ] 200
[2026-08-29 07:22:10,012.012 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:22:10,044.044 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:22:10,045.045 INFO    ] No update needed
[2026-08-29 07:22:10,046.046 INFO    ] Checking for camera pi updates...
[2026-08-29 07:22:10,065.065 INFO    ] 200
[2026-08-29 07:22:10,067.067 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:22:10,090.090 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:22:10,176.176 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:22:10,177.177 INFO    ] No camera update needed
[2026-08-29 07:22:10,178.178 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:22:10,179.179 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:22:10,182.182 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:22:10,185.185 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:22:12,223.223 INFO    ] ================================================
[2026-08-29 07:22:12,238.238 INFO    ] Launching Daemon at Sat Aug 29 07:22:12 IST 2026
[2026-08-29 07:22:12,248.248 INFO    ] ================================================
[2026-08-29 07:22:12,625.625 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:22:12
[2026-08-29 07:22:12,967.967 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:22:13,113.113 INFO    ] Initializing speech engine...
[2026-08-29 07:22:13,124.124 INFO    ] 2026-08-29 07:22:13
[2026-08-29 07:22:13,332.332 INFO    ] 2026-08-29 07:22:13
[2026-08-29 07:22:13,361.361 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:22:13,484.484 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:22:13,547.547 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:22:13,690.690 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:22:13,753.753 INFO    ] time= 29/08/2026 07:22:13
[2026-08-29 07:22:13,777.777 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:22:13,783.783 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:22:13,849.849 INFO    ] No existing commands found in stream
[2026-08-29 07:22:18,860.860 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:22:18,863.863 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-08-29 07:22:21,691.691 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:22:21,693.693 INFO    ] Checking for system updates...
[2026-08-29 07:22:21,714.714 INFO    ] 200
[2026-08-29 07:22:21,715.715 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:22:21,746.746 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:22:21,747.747 INFO    ] No update needed
[2026-08-29 07:22:21,749.749 INFO    ] Checking for camera pi updates...
[2026-08-29 07:22:21,768.768 INFO    ] 200
[2026-08-29 07:22:21,769.769 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:22:21,796.796 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:22:21,894.894 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:22:21,895.895 INFO    ] No camera update needed
[2026-08-29 07:22:21,897.897 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:22:21,898.898 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:22:21,901.901 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:22:21,903.903 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:22:23,942.942 INFO    ] ================================================
[2026-08-29 07:22:23,958.958 INFO    ] Launching Daemon at Sat Aug 29 07:22:23 IST 2026
[2026-08-29 07:22:23,969.969 INFO    ] ================================================
[2026-08-29 07:22:24,604.604 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:22:24
[2026-08-29 07:22:25,243.243 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:22:25,529.529 INFO    ] Initializing speech engine...
[2026-08-29 07:22:25,546.546 INFO    ] 2026-08-29 07:22:25
[2026-08-29 07:22:25,799.799 INFO    ] 2026-08-29 07:22:25
[2026-08-29 07:22:25,864.864 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:22:26,035.035 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:22:26,045.045 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:22:26,144.144 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:22:26,187.187 INFO    ] time= 29/08/2026 07:22:26
[2026-08-29 07:22:26,208.208 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:22:26,253.253 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:22:26,327.327 INFO    ] No existing commands found in stream
[2026-08-29 07:22:31,364.364 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:22:31,366.366 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-08-29 07:22:35,364.364 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:22:35,366.366 INFO    ] Checking for system updates...
[2026-08-29 07:22:35,398.398 INFO    ] 200
[2026-08-29 07:22:35,399.399 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:22:35,431.431 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:22:35,433.433 INFO    ] No update needed
[2026-08-29 07:22:35,434.434 INFO    ] Checking for camera pi updates...
[2026-08-29 07:22:35,453.453 INFO    ] 200
[2026-08-29 07:22:35,455.455 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:22:35,479.479 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:22:35,589.589 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:22:35,591.591 INFO    ] No camera update needed
[2026-08-29 07:22:35,594.594 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:22:35,596.596 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:22:35,601.601 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:22:35,606.606 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:22:37,647.647 INFO    ] ================================================
[2026-08-29 07:22:37,663.663 INFO    ] Launching Daemon at Sat Aug 29 07:22:37 IST 2026
[2026-08-29 07:22:37,674.674 INFO    ] ================================================
[2026-08-29 07:22:38,267.267 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:22:38
[2026-08-29 07:22:38,668.668 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:22:38,815.815 INFO    ] Initializing speech engine...
[2026-08-29 07:22:38,820.820 INFO    ] 2026-08-29 07:22:38
[2026-08-29 07:22:39,038.038 INFO    ] 2026-08-29 07:22:39
[2026-08-29 07:22:39,068.068 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:22:39,244.244 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:22:39,251.251 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:22:39,399.399 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:22:39,406.406 INFO    ] time= 29/08/2026 07:22:39
[2026-08-29 07:22:39,423.423 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:22:39,439.439 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:22:39,551.551 INFO    ] No existing commands found in stream
[2026-08-29 07:22:44,576.576 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:22:44,578.578 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-08-29 07:22:48,593.593 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:22:48,595.595 INFO    ] Checking for system updates...
[2026-08-29 07:22:48,615.615 INFO    ] 200
[2026-08-29 07:22:48,617.617 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:22:48,649.649 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:22:48,651.651 INFO    ] No update needed
[2026-08-29 07:22:48,652.652 INFO    ] Checking for camera pi updates...
[2026-08-29 07:22:48,674.674 INFO    ] 200
[2026-08-29 07:22:48,675.675 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:22:48,699.699 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:22:48,804.804 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:22:48,806.806 INFO    ] No camera update needed
[2026-08-29 07:22:48,807.807 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:22:48,808.808 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:22:48,811.811 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:22:48,814.814 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:22:50,853.853 INFO    ] ================================================
[2026-08-29 07:22:50,868.868 INFO    ] Launching Daemon at Sat Aug 29 07:22:50 IST 2026
[2026-08-29 07:22:50,879.879 INFO    ] ================================================
[2026-08-29 07:22:51,272.272 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:22:51
[2026-08-29 07:22:51,663.663 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:22:51,972.972 INFO    ] Initializing speech engine...
[2026-08-29 07:22:51,985.985 INFO    ] 2026-08-29 07:22:51
[2026-08-29 07:22:52,272.272 INFO    ] 2026-08-29 07:22:52
[2026-08-29 07:22:52,320.320 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:22:52,548.548 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:22:52,559.559 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:22:52,698.698 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:22:52,753.753 INFO    ] time= 29/08/2026 07:22:52
[2026-08-29 07:22:52,808.808 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:22:52,834.834 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:22:52,943.943 INFO    ] No existing commands found in stream
[2026-08-29 07:22:57,969.969 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:22:57,973.973 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-08-29 07:22:59,308.308 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:22:59,310.310 INFO    ] Checking for system updates...
[2026-08-29 07:22:59,331.331 INFO    ] 200
[2026-08-29 07:22:59,332.332 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:22:59,364.364 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:22:59,365.365 INFO    ] No update needed
[2026-08-29 07:22:59,367.367 INFO    ] Checking for camera pi updates...
[2026-08-29 07:22:59,386.386 INFO    ] 200
[2026-08-29 07:22:59,388.388 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:22:59,413.413 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:22:59,507.507 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:22:59,509.509 INFO    ] No camera update needed
[2026-08-29 07:22:59,510.510 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:22:59,511.511 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:22:59,514.514 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:22:59,517.517 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:23:01,556.556 INFO    ] ================================================
[2026-08-29 07:23:01,572.572 INFO    ] Launching Daemon at Sat Aug 29 07:23:01 IST 2026
[2026-08-29 07:23:01,583.583 INFO    ] ================================================
[2026-08-29 07:23:02,089.089 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:23:02
[2026-08-29 07:23:02,770.770 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:23:03,086.086 INFO    ] Initializing speech engine...
[2026-08-29 07:23:03,099.099 INFO    ] 2026-08-29 07:23:03
[2026-08-29 07:23:03,398.398 INFO    ] 2026-08-29 07:23:03
[2026-08-29 07:23:03,459.459 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:23:03,642.642 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:23:03,654.654 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:23:03,797.797 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:23:03,806.806 INFO    ] time= 29/08/2026 07:23:03
[2026-08-29 07:23:03,812.812 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:23:03,824.824 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:23:03,955.955 INFO    ] No existing commands found in stream
[2026-08-29 07:23:08,980.980 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:23:08,983.983 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-08-29 07:23:10,670.670 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:23:10,672.672 INFO    ] Checking for system updates...
[2026-08-29 07:23:10,693.693 INFO    ] 200
[2026-08-29 07:23:10,694.694 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:23:10,724.724 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:23:10,726.726 INFO    ] No update needed
[2026-08-29 07:23:10,727.727 INFO    ] Checking for camera pi updates...
[2026-08-29 07:23:10,747.747 INFO    ] 200
[2026-08-29 07:23:10,748.748 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:23:10,771.771 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:23:10,856.856 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:23:10,857.857 INFO    ] No camera update needed
[2026-08-29 07:23:10,859.859 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:23:10,860.860 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:23:10,863.863 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:23:10,866.866 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:23:12,907.907 INFO    ] ================================================
[2026-08-29 07:23:12,922.922 INFO    ] Launching Daemon at Sat Aug 29 07:23:12 IST 2026
[2026-08-29 07:23:12,933.933 INFO    ] ================================================
[2026-08-29 07:23:13,276.276 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:23:13
[2026-08-29 07:23:13,594.594 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:23:13,728.728 INFO    ] Initializing speech engine...
[2026-08-29 07:23:13,737.737 INFO    ] 2026-08-29 07:23:13
[2026-08-29 07:23:13,961.961 INFO    ] 2026-08-29 07:23:13
[2026-08-29 07:23:13,991.991 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:23:14,121.121 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:23:14,155.155 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:23:14,302.302 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:23:14,338.338 INFO    ] time= 29/08/2026 07:23:14
[2026-08-29 07:23:14,383.383 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:23:14,426.426 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:23:14,537.537 INFO    ] No existing commands found in stream
[2026-08-29 07:23:19,572.572 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:23:19,575.575 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-08-29 07:23:23,773.773 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:23:23,774.774 INFO    ] Checking for system updates...
[2026-08-29 07:23:23,795.795 INFO    ] 200
[2026-08-29 07:23:23,796.796 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:23:23,827.827 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:23:23,828.828 INFO    ] No update needed
[2026-08-29 07:23:23,830.830 INFO    ] Checking for camera pi updates...
[2026-08-29 07:23:23,861.861 INFO    ] 200
[2026-08-29 07:23:23,864.864 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:23:23,903.903 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:23:24,008.008 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:23:24,011.011 INFO    ] No camera update needed
[2026-08-29 07:23:24,013.013 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:23:24,015.015 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:23:24,020.020 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:23:24,025.025 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:23:26,065.065 INFO    ] ================================================
[2026-08-29 07:23:26,081.081 INFO    ] Launching Daemon at Sat Aug 29 07:23:26 IST 2026
[2026-08-29 07:23:26,092.092 INFO    ] ================================================
[2026-08-29 07:23:26,664.664 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:23:26
[2026-08-29 07:23:27,119.119 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:23:27,251.251 INFO    ] Initializing speech engine...
[2026-08-29 07:23:27,263.263 INFO    ] 2026-08-29 07:23:27
[2026-08-29 07:23:27,448.448 INFO    ] 2026-08-29 07:23:27
[2026-08-29 07:23:27,499.499 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:23:27,719.719 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:23:27,728.728 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:23:27,862.862 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:23:27,884.884 INFO    ] time= 29/08/2026 07:23:27
[2026-08-29 07:23:27,948.948 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:23:27,996.996 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:23:28,048.048 INFO    ] No existing commands found in stream
[2026-08-29 07:23:33,061.061 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:23:33,065.065 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-08-29 07:23:35,819.819 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:23:35,821.821 INFO    ] Checking for system updates...
[2026-08-29 07:23:35,842.842 INFO    ] 200
[2026-08-29 07:23:35,843.843 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:23:35,873.873 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:23:35,874.874 INFO    ] No update needed
[2026-08-29 07:23:35,876.876 INFO    ] Checking for camera pi updates...
[2026-08-29 07:23:35,895.895 INFO    ] 200
[2026-08-29 07:23:35,896.896 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:23:35,922.922 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:23:36,033.033 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:23:36,034.034 INFO    ] No camera update needed
[2026-08-29 07:23:36,036.036 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:23:36,037.037 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:23:36,040.040 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:23:36,042.042 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:23:38,081.081 INFO    ] ================================================
[2026-08-29 07:23:38,096.096 INFO    ] Launching Daemon at Sat Aug 29 07:23:38 IST 2026
[2026-08-29 07:23:38,107.107 INFO    ] ================================================
[2026-08-29 07:23:38,435.435 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:23:38
[2026-08-29 07:23:38,749.749 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:23:38,883.883 INFO    ] Initializing speech engine...
[2026-08-29 07:23:38,886.886 INFO    ] 2026-08-29 07:23:38
[2026-08-29 07:23:39,113.113 INFO    ] 2026-08-29 07:23:39
[2026-08-29 07:23:39,144.144 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:23:39,275.275 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:23:39,328.328 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:23:39,483.483 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:23:39,524.524 INFO    ] time= 29/08/2026 07:23:39
[2026-08-29 07:23:39,572.572 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:23:39,589.589 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:23:39,664.664 INFO    ] No existing commands found in stream
[2026-08-29 07:23:44,675.675 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:23:44,677.677 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-08-29 07:23:45,241.241 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:23:45,242.242 INFO    ] Checking for system updates...
[2026-08-29 07:23:45,263.263 INFO    ] 200
[2026-08-29 07:23:45,264.264 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:23:45,295.295 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:23:45,296.296 INFO    ] No update needed
[2026-08-29 07:23:45,297.297 INFO    ] Checking for camera pi updates...
[2026-08-29 07:23:45,316.316 INFO    ] 200
[2026-08-29 07:23:45,318.318 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:23:45,341.341 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:23:45,442.442 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:23:45,443.443 INFO    ] No camera update needed
[2026-08-29 07:23:45,445.445 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:23:45,446.446 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:23:45,449.449 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:23:45,452.452 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:23:47,491.491 INFO    ] ================================================
[2026-08-29 07:23:47,506.506 INFO    ] Launching Daemon at Sat Aug 29 07:23:47 IST 2026
[2026-08-29 07:23:47,517.517 INFO    ] ================================================
[2026-08-29 07:23:47,847.847 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:23:47
[2026-08-29 07:23:48,160.160 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:23:48,299.299 INFO    ] Initializing speech engine...
[2026-08-29 07:23:48,311.311 INFO    ] 2026-08-29 07:23:48
[2026-08-29 07:23:48,528.528 INFO    ] 2026-08-29 07:23:48
[2026-08-29 07:23:48,558.558 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:23:48,687.687 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:23:48,732.732 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:23:48,895.895 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:23:48,942.942 INFO    ] time= 29/08/2026 07:23:48
[2026-08-29 07:23:48,985.985 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:23:49,002.002 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:23:49,079.079 INFO    ] No existing commands found in stream
[2026-08-29 07:23:54,089.089 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:23:54,092.092 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-08-29 07:23:57,826.826 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:23:57,827.827 INFO    ] Checking for system updates...
[2026-08-29 07:23:57,847.847 INFO    ] 200
[2026-08-29 07:23:57,849.849 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:23:57,880.880 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:23:57,881.881 INFO    ] No update needed
[2026-08-29 07:23:57,883.883 INFO    ] Checking for camera pi updates...
[2026-08-29 07:23:57,903.903 INFO    ] 200
[2026-08-29 07:23:57,905.905 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:23:57,928.928 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:23:58,016.016 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:23:58,017.017 INFO    ] No camera update needed
[2026-08-29 07:23:58,018.018 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:23:58,020.020 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:23:58,023.023 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:23:58,025.025 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:24:00,064.064 INFO    ] ================================================
[2026-08-29 07:24:00,079.079 INFO    ] Launching Daemon at Sat Aug 29 07:24:00 IST 2026
[2026-08-29 07:24:00,090.090 INFO    ] ================================================
[2026-08-29 07:24:00,434.434 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:24:00
[2026-08-29 07:24:00,748.748 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:24:00,888.888 INFO    ] Initializing speech engine...
[2026-08-29 07:24:00,899.899 INFO    ] 2026-08-29 07:24:00
[2026-08-29 07:24:01,089.089 INFO    ] 2026-08-29 07:24:01
[2026-08-29 07:24:01,118.118 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:24:01,257.257 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:24:01,261.261 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:24:01,409.409 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:24:01,416.416 INFO    ] time= 29/08/2026 07:24:01
[2026-08-29 07:24:01,480.480 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:24:01,535.535 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:24:01,609.609 INFO    ] No existing commands found in stream
[2026-08-29 07:24:06,620.620 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:24:06,623.623 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-08-29 07:24:10,962.962 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:24:10,963.963 INFO    ] Checking for system updates...
[2026-08-29 07:24:10,985.985 INFO    ] 200
[2026-08-29 07:24:10,986.986 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:24:11,015.015 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:24:11,017.017 INFO    ] No update needed
[2026-08-29 07:24:11,018.018 INFO    ] Checking for camera pi updates...
[2026-08-29 07:24:11,037.037 INFO    ] 200
[2026-08-29 07:24:11,039.039 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:24:11,061.061 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:24:11,155.155 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:24:11,156.156 INFO    ] No camera update needed
[2026-08-29 07:24:11,157.157 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:24:11,159.159 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:24:11,161.161 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:24:11,164.164 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:24:13,203.203 INFO    ] ================================================
[2026-08-29 07:24:13,218.218 INFO    ] Launching Daemon at Sat Aug 29 07:24:13 IST 2026
[2026-08-29 07:24:13,229.229 INFO    ] ================================================
[2026-08-29 07:24:13,601.601 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:24:13
[2026-08-29 07:24:13,917.917 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:24:14,060.060 INFO    ] Initializing speech engine...
[2026-08-29 07:24:14,065.065 INFO    ] 2026-08-29 07:24:14
[2026-08-29 07:24:14,262.262 INFO    ] 2026-08-29 07:24:14
[2026-08-29 07:24:14,305.305 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:24:14,525.525 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:24:14,534.534 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:24:14,669.669 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:24:14,686.686 INFO    ] time= 29/08/2026 07:24:14
[2026-08-29 07:24:14,762.762 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:24:14,805.805 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:24:14,863.863 INFO    ] No existing commands found in stream
[2026-08-29 07:24:19,884.884 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:24:19,887.887 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 07:24:22,417.417 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:24:22,418.418 INFO    ] Checking for system updates...
[2026-08-29 07:24:22,439.439 INFO    ] 200
[2026-08-29 07:24:22,440.440 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:24:22,470.470 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:24:22,471.471 INFO    ] No update needed
[2026-08-29 07:24:22,473.473 INFO    ] Checking for camera pi updates...
[2026-08-29 07:24:22,492.492 INFO    ] 200
[2026-08-29 07:24:22,494.494 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:24:22,517.517 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:24:22,628.628 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:24:22,629.629 INFO    ] No camera update needed
[2026-08-29 07:24:22,630.630 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:24:22,631.631 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:24:22,635.635 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:24:22,637.637 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:24:24,675.675 INFO    ] ================================================
[2026-08-29 07:24:24,690.690 INFO    ] Launching Daemon at Sat Aug 29 07:24:24 IST 2026
[2026-08-29 07:24:24,701.701 INFO    ] ================================================
[2026-08-29 07:24:25,227.227 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:24:25
[2026-08-29 07:24:25,830.830 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:24:26,111.111 INFO    ] Initializing speech engine...
[2026-08-29 07:24:26,117.117 INFO    ] 2026-08-29 07:24:26
[2026-08-29 07:24:26,379.379 INFO    ] 2026-08-29 07:24:26
[2026-08-29 07:24:26,434.434 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:24:26,576.576 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:24:26,598.598 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:24:26,723.723 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:24:26,737.737 INFO    ] time= 29/08/2026 07:24:26
[2026-08-29 07:24:26,741.741 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:24:26,747.747 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:24:26,813.813 INFO    ] No existing commands found in stream
[2026-08-29 07:24:31,829.829 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:24:31,832.832 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-08-29 07:24:35,548.548 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:24:35,550.550 INFO    ] Checking for system updates...
[2026-08-29 07:24:35,572.572 INFO    ] 200
[2026-08-29 07:24:35,573.573 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:24:35,603.603 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:24:35,605.605 INFO    ] No update needed
[2026-08-29 07:24:35,606.606 INFO    ] Checking for camera pi updates...
[2026-08-29 07:24:35,627.627 INFO    ] 200
[2026-08-29 07:24:35,629.629 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:24:35,652.652 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:24:35,749.749 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:24:35,750.750 INFO    ] No camera update needed
[2026-08-29 07:24:35,751.751 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:24:35,753.753 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:24:35,756.756 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:24:35,758.758 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:24:37,798.798 INFO    ] ================================================
[2026-08-29 07:24:37,813.813 INFO    ] Launching Daemon at Sat Aug 29 07:24:37 IST 2026
[2026-08-29 07:24:37,824.824 INFO    ] ================================================
[2026-08-29 07:24:38,174.174 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:24:38
[2026-08-29 07:24:38,488.488 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:24:38,690.690 INFO    ] Initializing speech engine...
[2026-08-29 07:24:38,700.700 INFO    ] 2026-08-29 07:24:38
[2026-08-29 07:24:38,953.953 INFO    ] 2026-08-29 07:24:38
[2026-08-29 07:24:39,013.013 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:24:39,175.175 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:24:39,182.182 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:24:39,310.310 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:24:39,315.315 INFO    ] time= 29/08/2026 07:24:39
[2026-08-29 07:24:39,321.321 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:24:39,377.377 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:24:39,484.484 INFO    ] No existing commands found in stream
[2026-08-29 07:24:44,515.515 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:24:44,517.517 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-08-29 07:24:45,753.753 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:24:45,754.754 INFO    ] Checking for system updates...
[2026-08-29 07:24:45,775.775 INFO    ] 200
[2026-08-29 07:24:45,776.776 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:24:45,806.806 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:24:45,807.807 INFO    ] No update needed
[2026-08-29 07:24:45,808.808 INFO    ] Checking for camera pi updates...
[2026-08-29 07:24:45,828.828 INFO    ] 200
[2026-08-29 07:24:45,830.830 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:24:45,871.871 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:24:45,985.985 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:24:45,987.987 INFO    ] No camera update needed
[2026-08-29 07:24:45,989.989 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:24:45,992.992 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:24:45,997.997 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:24:46,003.003 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:24:48,045.045 INFO    ] ================================================
[2026-08-29 07:24:48,061.061 INFO    ] Launching Daemon at Sat Aug 29 07:24:48 IST 2026
[2026-08-29 07:24:48,071.071 INFO    ] ================================================
[2026-08-29 07:24:48,667.667 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:24:48
[2026-08-29 07:24:49,125.125 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:24:49,286.286 INFO    ] Initializing speech engine...
[2026-08-29 07:24:49,294.294 INFO    ] 2026-08-29 07:24:49
[2026-08-29 07:24:49,546.546 INFO    ] 2026-08-29 07:24:49
[2026-08-29 07:24:49,581.581 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:24:49,754.754 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:24:49,777.777 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:24:49,906.906 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:24:49,915.915 INFO    ] time= 29/08/2026 07:24:49
[2026-08-29 07:24:49,921.921 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:24:49,967.967 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:24:50,087.087 INFO    ] No existing commands found in stream
[2026-08-29 07:24:55,117.117 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:24:55,120.120 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-08-29 07:24:56,823.823 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:24:56,825.825 INFO    ] Checking for system updates...
[2026-08-29 07:24:56,845.845 INFO    ] 200
[2026-08-29 07:24:56,847.847 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:24:56,879.879 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:24:56,881.881 INFO    ] No update needed
[2026-08-29 07:24:56,882.882 INFO    ] Checking for camera pi updates...
[2026-08-29 07:24:56,902.902 INFO    ] 200
[2026-08-29 07:24:56,903.903 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:24:56,930.930 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:24:57,012.012 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:24:57,015.015 INFO    ] No camera update needed
[2026-08-29 07:24:57,017.017 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:24:57,019.019 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:24:57,024.024 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:24:57,029.029 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:24:59,073.073 INFO    ] ================================================
[2026-08-29 07:24:59,087.087 INFO    ] Launching Daemon at Sat Aug 29 07:24:59 IST 2026
[2026-08-29 07:24:59,098.098 INFO    ] ================================================
[2026-08-29 07:24:59,761.761 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:24:59
[2026-08-29 07:25:00,197.197 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:25:00,344.344 INFO    ] Initializing speech engine...
[2026-08-29 07:25:00,355.355 INFO    ] 2026-08-29 07:25:00
[2026-08-29 07:25:00,590.590 INFO    ] 2026-08-29 07:25:00
[2026-08-29 07:25:00,675.675 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:25:00,835.835 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:25:00,841.841 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:25:00,976.976 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:25:01,018.018 INFO    ] time= 29/08/2026 07:25:00
[2026-08-29 07:25:01,073.073 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:25:01,114.114 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:25:01,172.172 INFO    ] No existing commands found in stream
[2026-08-29 07:25:06,185.185 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:25:06,188.188 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-08-29 07:25:09,386.386 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:25:09,388.388 INFO    ] Checking for system updates...
[2026-08-29 07:25:09,409.409 INFO    ] 200
[2026-08-29 07:25:09,410.410 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:25:09,441.441 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:25:09,442.442 INFO    ] No update needed
[2026-08-29 07:25:09,444.444 INFO    ] Checking for camera pi updates...
[2026-08-29 07:25:09,463.463 INFO    ] 200
[2026-08-29 07:25:09,465.465 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:25:09,489.489 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:25:09,594.594 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:25:09,596.596 INFO    ] No camera update needed
[2026-08-29 07:25:09,597.597 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:25:09,599.599 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:25:09,602.602 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:25:09,605.605 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:25:11,645.645 INFO    ] ================================================
[2026-08-29 07:25:11,660.660 INFO    ] Launching Daemon at Sat Aug 29 07:25:11 IST 2026
[2026-08-29 07:25:11,671.671 INFO    ] ================================================
[2026-08-29 07:25:12,033.033 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:25:12
[2026-08-29 07:25:12,372.372 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:25:12,524.524 INFO    ] Initializing speech engine...
[2026-08-29 07:25:12,529.529 INFO    ] 2026-08-29 07:25:12
[2026-08-29 07:25:12,775.775 INFO    ] 2026-08-29 07:25:12
[2026-08-29 07:25:12,837.837 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:25:13,067.067 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:25:13,077.077 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:25:13,213.213 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:25:13,256.256 INFO    ] time= 29/08/2026 07:25:13
[2026-08-29 07:25:13,316.316 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:25:13,352.352 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:25:13,406.406 INFO    ] No existing commands found in stream
[2026-08-29 07:25:18,415.415 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:25:18,418.418 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-08-29 07:25:20,083.083 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:25:20,084.084 INFO    ] Checking for system updates...
[2026-08-29 07:25:20,105.105 INFO    ] 200
[2026-08-29 07:25:20,107.107 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:25:20,139.139 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:25:20,140.140 INFO    ] No update needed
[2026-08-29 07:25:20,142.142 INFO    ] Checking for camera pi updates...
[2026-08-29 07:25:20,163.163 INFO    ] 200
[2026-08-29 07:25:20,165.165 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:25:20,189.189 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:25:20,276.276 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:25:20,278.278 INFO    ] No camera update needed
[2026-08-29 07:25:20,279.279 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:25:20,280.280 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:25:20,284.284 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:25:20,287.287 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:25:22,326.326 INFO    ] ================================================
[2026-08-29 07:25:22,341.341 INFO    ] Launching Daemon at Sat Aug 29 07:25:22 IST 2026
[2026-08-29 07:25:22,352.352 INFO    ] ================================================
[2026-08-29 07:25:22,858.858 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:25:22
[2026-08-29 07:25:23,453.453 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:25:23,721.721 INFO    ] Initializing speech engine...
[2026-08-29 07:25:23,730.730 INFO    ] 2026-08-29 07:25:23
[2026-08-29 07:25:23,977.977 INFO    ] 2026-08-29 07:25:23
[2026-08-29 07:25:24,013.013 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:25:24,185.185 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:25:24,197.197 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:25:24,339.339 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:25:24,347.347 INFO    ] time= 29/08/2026 07:25:24
[2026-08-29 07:25:24,353.353 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:25:24,400.400 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:25:24,536.536 INFO    ] No existing commands found in stream
[2026-08-29 07:25:29,556.556 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:25:29,558.558 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-08-29 07:25:30,419.419 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:25:30,422.422 INFO    ] Checking for system updates...
[2026-08-29 07:25:30,458.458 INFO    ] 200
[2026-08-29 07:25:30,461.461 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:25:30,517.517 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:25:30,520.520 INFO    ] No update needed
[2026-08-29 07:25:30,522.522 INFO    ] Checking for camera pi updates...
[2026-08-29 07:25:30,555.555 INFO    ] 200
[2026-08-29 07:25:30,558.558 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:25:30,598.598 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:25:30,692.692 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:25:30,694.694 INFO    ] No camera update needed
[2026-08-29 07:25:30,697.697 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:25:30,699.699 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:25:30,705.705 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:25:30,710.710 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:25:32,753.753 INFO    ] ================================================
[2026-08-29 07:25:32,769.769 INFO    ] Launching Daemon at Sat Aug 29 07:25:32 IST 2026
[2026-08-29 07:25:32,780.780 INFO    ] ================================================
[2026-08-29 07:25:33,389.389 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:25:33
[2026-08-29 07:25:33,993.993 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:25:34,273.273 INFO    ] Initializing speech engine...
[2026-08-29 07:25:34,278.278 INFO    ] 2026-08-29 07:25:34
[2026-08-29 07:25:34,527.527 INFO    ] 2026-08-29 07:25:34
[2026-08-29 07:25:34,562.562 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:25:34,739.739 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:25:34,752.752 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:25:34,897.897 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:25:34,905.905 INFO    ] time= 29/08/2026 07:25:34
[2026-08-29 07:25:34,927.927 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:25:34,929.929 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:25:34,980.980 INFO    ] No existing commands found in stream
[2026-08-29 07:25:39,995.995 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:25:39,998.998 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-08-29 07:25:43,055.055 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:25:43,056.056 INFO    ] Checking for system updates...
[2026-08-29 07:25:43,077.077 INFO    ] 200
[2026-08-29 07:25:43,078.078 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:25:43,109.109 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:25:43,110.110 INFO    ] No update needed
[2026-08-29 07:25:43,112.112 INFO    ] Checking for camera pi updates...
[2026-08-29 07:25:43,131.131 INFO    ] 200
[2026-08-29 07:25:43,133.133 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:25:43,156.156 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:25:43,234.234 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:25:43,235.235 INFO    ] No camera update needed
[2026-08-29 07:25:43,237.237 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:25:43,238.238 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:25:43,241.241 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:25:43,244.244 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:25:45,284.284 INFO    ] ================================================
[2026-08-29 07:25:45,299.299 INFO    ] Launching Daemon at Sat Aug 29 07:25:45 IST 2026
[2026-08-29 07:25:45,310.310 INFO    ] ================================================
[2026-08-29 07:25:45,656.656 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:25:45
[2026-08-29 07:25:45,994.994 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:25:46,146.146 INFO    ] Initializing speech engine...
[2026-08-29 07:25:46,154.154 INFO    ] 2026-08-29 07:25:46
[2026-08-29 07:25:46,422.422 INFO    ] 2026-08-29 07:25:46
[2026-08-29 07:25:46,488.488 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:25:46,659.659 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:25:46,711.711 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:25:46,869.869 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:25:46,930.930 INFO    ] time= 29/08/2026 07:25:46
[2026-08-29 07:25:46,980.980 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:25:47,006.006 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:25:47,127.127 INFO    ] No existing commands found in stream
[2026-08-29 07:25:52,159.159 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:25:52,162.162 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-08-29 07:25:54,650.650 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:25:54,651.651 INFO    ] Checking for system updates...
[2026-08-29 07:25:54,672.672 INFO    ] 200
[2026-08-29 07:25:54,674.674 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:25:54,704.704 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:25:54,705.705 INFO    ] No update needed
[2026-08-29 07:25:54,707.707 INFO    ] Checking for camera pi updates...
[2026-08-29 07:25:54,728.728 INFO    ] 200
[2026-08-29 07:25:54,731.731 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:25:54,772.772 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:25:54,863.863 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:25:54,865.865 INFO    ] No camera update needed
[2026-08-29 07:25:54,868.868 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:25:54,870.870 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:25:54,875.875 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:25:54,880.880 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:25:56,920.920 INFO    ] ================================================
[2026-08-29 07:25:56,935.935 INFO    ] Launching Daemon at Sat Aug 29 07:25:56 IST 2026
[2026-08-29 07:25:56,945.945 INFO    ] ================================================
[2026-08-29 07:25:57,527.527 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:25:57
[2026-08-29 07:25:57,999.999 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:25:58,143.143 INFO    ] Initializing speech engine...
[2026-08-29 07:25:58,147.147 INFO    ] 2026-08-29 07:25:58
[2026-08-29 07:25:58,352.352 INFO    ] 2026-08-29 07:25:58
[2026-08-29 07:25:58,380.380 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:25:58,503.503 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:25:58,566.566 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:25:58,703.703 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:25:58,767.767 INFO    ] time= 29/08/2026 07:25:58
[2026-08-29 07:25:58,794.794 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:25:58,800.800 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:25:58,865.865 INFO    ] No existing commands found in stream
[2026-08-29 07:26:03,876.876 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:26:03,879.879 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-08-29 07:26:07,459.459 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:26:07,461.461 INFO    ] Checking for system updates...
[2026-08-29 07:26:07,481.481 INFO    ] 200
[2026-08-29 07:26:07,483.483 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:26:07,512.512 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:26:07,514.514 INFO    ] No update needed
[2026-08-29 07:26:07,515.515 INFO    ] Checking for camera pi updates...
[2026-08-29 07:26:07,534.534 INFO    ] 200
[2026-08-29 07:26:07,535.535 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:26:07,558.558 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:26:07,756.756 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:26:07,759.759 INFO    ] No camera update needed
[2026-08-29 07:26:07,761.761 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:26:07,764.764 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:26:07,769.769 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:26:07,774.774 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:26:09,814.814 INFO    ] ================================================
[2026-08-29 07:26:09,830.830 INFO    ] Launching Daemon at Sat Aug 29 07:26:09 IST 2026
[2026-08-29 07:26:09,841.841 INFO    ] ================================================
[2026-08-29 07:26:10,415.415 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:26:10
[2026-08-29 07:26:10,844.844 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:26:10,982.982 INFO    ] Initializing speech engine...
[2026-08-29 07:26:10,992.992 INFO    ] 2026-08-29 07:26:10
[2026-08-29 07:26:11,185.185 INFO    ] 2026-08-29 07:26:11
[2026-08-29 07:26:11,298.298 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:26:11,482.482 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:26:11,491.491 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:26:11,628.628 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:26:11,698.698 INFO    ] time= 29/08/2026 07:26:11
[2026-08-29 07:26:11,758.758 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:26:11,765.765 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:26:11,876.876 INFO    ] No existing commands found in stream
[2026-08-29 07:26:16,903.903 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:26:16,906.906 INFO    ] Waiting 0.00 seconds before fallback handling...
[2026-08-29 07:26:17,244.244 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:26:17,246.246 INFO    ] Checking for system updates...
[2026-08-29 07:26:17,266.266 INFO    ] 200
[2026-08-29 07:26:17,268.268 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:26:17,298.298 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:26:17,299.299 INFO    ] No update needed
[2026-08-29 07:26:17,301.301 INFO    ] Checking for camera pi updates...
[2026-08-29 07:26:17,320.320 INFO    ] 200
[2026-08-29 07:26:17,322.322 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:26:17,345.345 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:26:17,424.424 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:26:17,426.426 INFO    ] No camera update needed
[2026-08-29 07:26:17,427.427 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:26:17,428.428 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:26:17,431.431 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:26:17,434.434 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:26:19,474.474 INFO    ] ================================================
[2026-08-29 07:26:19,490.490 INFO    ] Launching Daemon at Sat Aug 29 07:26:19 IST 2026
[2026-08-29 07:26:19,500.500 INFO    ] ================================================
[2026-08-29 07:26:19,833.833 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:26:19
[2026-08-29 07:26:20,148.148 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:26:20,280.280 INFO    ] Initializing speech engine...
[2026-08-29 07:26:20,283.283 INFO    ] 2026-08-29 07:26:20
[2026-08-29 07:26:20,476.476 INFO    ] 2026-08-29 07:26:20
[2026-08-29 07:26:20,521.521 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:26:20,681.681 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:26:20,685.685 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:26:20,841.841 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:26:20,897.897 INFO    ] time= 29/08/2026 07:26:20
[2026-08-29 07:26:20,905.905 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:26:20,971.971 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:26:21,081.081 INFO    ] No existing commands found in stream
[2026-08-29 07:26:26,090.090 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:26:26,093.093 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 07:26:28,424.424 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:26:28,426.426 INFO    ] Checking for system updates...
[2026-08-29 07:26:28,447.447 INFO    ] 200
[2026-08-29 07:26:28,448.448 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:26:28,480.480 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:26:28,482.482 INFO    ] No update needed
[2026-08-29 07:26:28,483.483 INFO    ] Checking for camera pi updates...
[2026-08-29 07:26:28,502.502 INFO    ] 200
[2026-08-29 07:26:28,504.504 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:26:28,529.529 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:26:28,643.643 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:26:28,644.644 INFO    ] No camera update needed
[2026-08-29 07:26:28,645.645 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:26:28,646.646 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:26:28,649.649 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:26:28,652.652 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:26:30,691.691 INFO    ] ================================================
[2026-08-29 07:26:30,706.706 INFO    ] Launching Daemon at Sat Aug 29 07:26:30 IST 2026
[2026-08-29 07:26:30,717.717 INFO    ] ================================================
[2026-08-29 07:26:31,053.053 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:26:31
[2026-08-29 07:26:31,624.624 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:26:31,940.940 INFO    ] Initializing speech engine...
[2026-08-29 07:26:31,950.950 INFO    ] 2026-08-29 07:26:31
[2026-08-29 07:26:32,233.233 INFO    ] 2026-08-29 07:26:32
[2026-08-29 07:26:32,277.277 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:26:32,494.494 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:26:32,501.501 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:26:32,636.636 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:26:32,649.649 INFO    ] time= 29/08/2026 07:26:32
[2026-08-29 07:26:32,652.652 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:26:32,656.656 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:26:32,760.760 INFO    ] No existing commands found in stream
[2026-08-29 07:26:37,770.770 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:26:37,773.773 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-08-29 07:26:41,957.957 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:26:41,958.958 INFO    ] Checking for system updates...
[2026-08-29 07:26:41,980.980 INFO    ] 200
[2026-08-29 07:26:41,981.981 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:26:42,011.011 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:26:42,012.012 INFO    ] No update needed
[2026-08-29 07:26:42,014.014 INFO    ] Checking for camera pi updates...
[2026-08-29 07:26:42,042.042 INFO    ] 200
[2026-08-29 07:26:42,045.045 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:26:42,085.085 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:26:42,187.187 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:26:42,189.189 INFO    ] No camera update needed
[2026-08-29 07:26:42,192.192 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:26:42,194.194 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:26:42,200.200 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:26:42,205.205 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:26:44,245.245 INFO    ] ================================================
[2026-08-29 07:26:44,259.259 INFO    ] Launching Daemon at Sat Aug 29 07:26:44 IST 2026
[2026-08-29 07:26:44,270.270 INFO    ] ================================================
[2026-08-29 07:26:44,837.837 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:26:44
[2026-08-29 07:26:45,296.296 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:26:45,434.434 INFO    ] Initializing speech engine...
[2026-08-29 07:26:45,441.441 INFO    ] 2026-08-29 07:26:45
[2026-08-29 07:26:45,648.648 INFO    ] 2026-08-29 07:26:45
[2026-08-29 07:26:45,676.676 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:26:45,841.841 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:26:45,847.847 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:26:45,980.980 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:26:45,999.999 INFO    ] time= 29/08/2026 07:26:45
[2026-08-29 07:26:46,028.028 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:26:46,034.034 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:26:46,133.133 INFO    ] No existing commands found in stream
[2026-08-29 07:26:51,149.149 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:26:51,152.152 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-08-29 07:26:53,211.211 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:26:53,212.212 INFO    ] Checking for system updates...
[2026-08-29 07:26:53,233.233 INFO    ] 200
[2026-08-29 07:26:53,235.235 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:26:53,268.268 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:26:53,269.269 INFO    ] No update needed
[2026-08-29 07:26:53,271.271 INFO    ] Checking for camera pi updates...
[2026-08-29 07:26:53,291.291 INFO    ] 200
[2026-08-29 07:26:53,293.293 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:26:53,318.318 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:26:53,413.413 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:26:53,414.414 INFO    ] No camera update needed
[2026-08-29 07:26:53,416.416 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:26:53,417.417 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:26:53,420.420 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:26:53,423.423 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:26:55,462.462 INFO    ] ================================================
[2026-08-29 07:26:55,478.478 INFO    ] Launching Daemon at Sat Aug 29 07:26:55 IST 2026
[2026-08-29 07:26:55,489.489 INFO    ] ================================================
[2026-08-29 07:26:55,819.819 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:26:55
[2026-08-29 07:26:56,297.297 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:26:56,562.562 INFO    ] Initializing speech engine...
[2026-08-29 07:26:56,576.576 INFO    ] 2026-08-29 07:26:56
[2026-08-29 07:26:56,831.831 INFO    ] 2026-08-29 07:26:56
[2026-08-29 07:26:56,868.868 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:26:57,043.043 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:26:57,055.055 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:26:57,168.168 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:26:57,173.173 INFO    ] time= 29/08/2026 07:26:57
[2026-08-29 07:26:57,191.191 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:26:57,214.214 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:26:57,285.285 INFO    ] No existing commands found in stream
[2026-08-29 07:27:02,294.294 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:27:02,297.297 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-08-29 07:27:02,904.904 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:27:02,907.907 INFO    ] Checking for system updates...
[2026-08-29 07:27:02,947.947 INFO    ] 200
[2026-08-29 07:27:02,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:27:03,011.011 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:27:03,014.014 INFO    ] No update needed
[2026-08-29 07:27:03,017.017 INFO    ] Checking for camera pi updates...
[2026-08-29 07:27:03,065.065 INFO    ] 200
[2026-08-29 07:27:03,069.069 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:27:03,152.152 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:27:03,248.248 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:27:03,251.251 INFO    ] No camera update needed
[2026-08-29 07:27:03,254.254 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:27:03,257.257 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:27:03,264.264 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:27:03,271.271 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:27:05,313.313 INFO    ] ================================================
[2026-08-29 07:27:05,328.328 INFO    ] Launching Daemon at Sat Aug 29 07:27:05 IST 2026
[2026-08-29 07:27:05,339.339 INFO    ] ================================================
[2026-08-29 07:27:05,694.694 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:27:05
[2026-08-29 07:27:06,010.010 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:27:06,154.154 INFO    ] Initializing speech engine...
[2026-08-29 07:27:06,158.158 INFO    ] 2026-08-29 07:27:06
[2026-08-29 07:27:06,395.395 INFO    ] 2026-08-29 07:27:06
[2026-08-29 07:27:06,450.450 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:27:06,596.596 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:27:06,618.618 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:27:06,793.793 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:27:06,838.838 INFO    ] time= 29/08/2026 07:27:06
[2026-08-29 07:27:06,845.845 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:27:06,863.863 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:27:06,973.973 INFO    ] No existing commands found in stream
[2026-08-29 07:27:12,000.000 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:27:12,003.003 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-08-29 07:27:16,027.027 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:27:16,029.029 INFO    ] Checking for system updates...
[2026-08-29 07:27:16,049.049 INFO    ] 200
[2026-08-29 07:27:16,050.050 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:27:16,080.080 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:27:16,082.082 INFO    ] No update needed
[2026-08-29 07:27:16,083.083 INFO    ] Checking for camera pi updates...
[2026-08-29 07:27:16,102.102 INFO    ] 200
[2026-08-29 07:27:16,104.104 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:27:16,126.126 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:27:16,207.207 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:27:16,209.209 INFO    ] No camera update needed
[2026-08-29 07:27:16,210.210 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:27:16,211.211 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:27:16,214.214 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:27:16,217.217 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:27:18,258.258 INFO    ] ================================================
[2026-08-29 07:27:18,273.273 INFO    ] Launching Daemon at Sat Aug 29 07:27:18 IST 2026
[2026-08-29 07:27:18,284.284 INFO    ] ================================================
[2026-08-29 07:27:18,783.783 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:27:18
[2026-08-29 07:27:19,365.365 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:27:19,633.633 INFO    ] Initializing speech engine...
[2026-08-29 07:27:19,645.645 INFO    ] 2026-08-29 07:27:19
[2026-08-29 07:27:19,893.893 INFO    ] 2026-08-29 07:27:19
[2026-08-29 07:27:19,927.927 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:27:20,105.105 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:27:20,117.117 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:27:20,231.231 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:27:20,250.250 INFO    ] time= 29/08/2026 07:27:20
[2026-08-29 07:27:20,273.273 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:27:20,278.278 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:27:20,349.349 INFO    ] No existing commands found in stream
[2026-08-29 07:27:25,385.385 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:27:25,387.387 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-08-29 07:27:27,188.188 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:27:27,189.189 INFO    ] Checking for system updates...
[2026-08-29 07:27:27,209.209 INFO    ] 200
[2026-08-29 07:27:27,211.211 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:27:27,240.240 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:27:27,242.242 INFO    ] No update needed
[2026-08-29 07:27:27,243.243 INFO    ] Checking for camera pi updates...
[2026-08-29 07:27:27,264.264 INFO    ] 200
[2026-08-29 07:27:27,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:27:27,288.288 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:27:27,385.385 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:27:27,387.387 INFO    ] No camera update needed
[2026-08-29 07:27:27,388.388 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:27:27,389.389 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:27:27,392.392 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:27:27,395.395 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:27:29,435.435 INFO    ] ================================================
[2026-08-29 07:27:29,450.450 INFO    ] Launching Daemon at Sat Aug 29 07:27:29 IST 2026
[2026-08-29 07:27:29,461.461 INFO    ] ================================================
[2026-08-29 07:27:29,805.805 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:27:29
[2026-08-29 07:27:30,116.116 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:27:30,249.249 INFO    ] Initializing speech engine...
[2026-08-29 07:27:30,261.261 INFO    ] 2026-08-29 07:27:30
[2026-08-29 07:27:30,470.470 INFO    ] 2026-08-29 07:27:30
[2026-08-29 07:27:30,500.500 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:27:30,624.624 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:27:30,682.682 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:27:30,819.819 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:27:30,881.881 INFO    ] time= 29/08/2026 07:27:30
[2026-08-29 07:27:30,919.919 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:27:30,921.921 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:27:30,992.992 INFO    ] No existing commands found in stream
[2026-08-29 07:27:36,003.003 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:27:36,006.006 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-08-29 07:27:39,819.819 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:27:39,821.821 INFO    ] Checking for system updates...
[2026-08-29 07:27:39,841.841 INFO    ] 200
[2026-08-29 07:27:39,843.843 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:27:39,872.872 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:27:39,874.874 INFO    ] No update needed
[2026-08-29 07:27:39,875.875 INFO    ] Checking for camera pi updates...
[2026-08-29 07:27:39,894.894 INFO    ] 200
[2026-08-29 07:27:39,895.895 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:27:39,918.918 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:27:39,997.997 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:27:39,998.998 INFO    ] No camera update needed
[2026-08-29 07:27:40,000.000 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:27:40,001.001 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:27:40,004.004 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:27:40,007.007 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:27:42,046.046 INFO    ] ================================================
[2026-08-29 07:27:42,061.061 INFO    ] Launching Daemon at Sat Aug 29 07:27:42 IST 2026
[2026-08-29 07:27:42,072.072 INFO    ] ================================================
[2026-08-29 07:27:42,400.400 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:27:42
[2026-08-29 07:27:42,713.713 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:27:42,846.846 INFO    ] Initializing speech engine...
[2026-08-29 07:27:42,851.851 INFO    ] 2026-08-29 07:27:42
[2026-08-29 07:27:43,081.081 INFO    ] 2026-08-29 07:27:43
[2026-08-29 07:27:43,111.111 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:27:43,209.209 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:27:43,245.245 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:27:43,345.345 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:27:43,349.349 INFO    ] time= 29/08/2026 07:27:43
[2026-08-29 07:27:43,361.361 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:27:43,405.405 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:27:43,488.488 INFO    ] No existing commands found in stream
[2026-08-29 07:27:48,522.522 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:27:48,525.525 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-08-29 07:27:52,162.162 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:27:52,164.164 INFO    ] Checking for system updates...
[2026-08-29 07:27:52,185.185 INFO    ] 200
[2026-08-29 07:27:52,186.186 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:27:52,218.218 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:27:52,219.219 INFO    ] No update needed
[2026-08-29 07:27:52,221.221 INFO    ] Checking for camera pi updates...
[2026-08-29 07:27:52,240.240 INFO    ] 200
[2026-08-29 07:27:52,241.241 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:27:52,264.264 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:27:52,388.388 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:27:52,391.391 INFO    ] No camera update needed
[2026-08-29 07:27:52,393.393 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:27:52,396.396 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:27:52,401.401 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:27:52,406.406 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:27:54,447.447 INFO    ] ================================================
[2026-08-29 07:27:54,462.462 INFO    ] Launching Daemon at Sat Aug 29 07:27:54 IST 2026
[2026-08-29 07:27:54,473.473 INFO    ] ================================================
[2026-08-29 07:27:55,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:27:55
[2026-08-29 07:27:55,546.546 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:27:55,677.677 INFO    ] Initializing speech engine...
[2026-08-29 07:27:55,680.680 INFO    ] 2026-08-29 07:27:55
[2026-08-29 07:27:55,895.895 INFO    ] 2026-08-29 07:27:55
[2026-08-29 07:27:55,928.928 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:27:56,102.102 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:27:56,108.108 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:27:56,219.219 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:27:56,222.222 INFO    ] time= 29/08/2026 07:27:56
[2026-08-29 07:27:56,232.232 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:27:56,237.237 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:27:56,344.344 INFO    ] No existing commands found in stream
[2026-08-29 07:28:01,356.356 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:28:01,358.358 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-08-29 07:28:02,304.304 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:28:02,308.308 INFO    ] Checking for system updates...
[2026-08-29 07:28:02,365.365 INFO    ] 200
[2026-08-29 07:28:02,369.369 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:28:02,443.443 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:28:02,446.446 INFO    ] No update needed
[2026-08-29 07:28:02,450.450 INFO    ] Checking for camera pi updates...
[2026-08-29 07:28:02,493.493 INFO    ] 200
[2026-08-29 07:28:02,496.496 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:28:02,545.545 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:28:02,626.626 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:28:02,628.628 INFO    ] No camera update needed
[2026-08-29 07:28:02,631.631 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:28:02,634.634 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:28:02,641.641 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:28:02,647.647 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:28:04,690.690 INFO    ] ================================================
[2026-08-29 07:28:04,705.705 INFO    ] Launching Daemon at Sat Aug 29 07:28:04 IST 2026
[2026-08-29 07:28:04,716.716 INFO    ] ================================================
[2026-08-29 07:28:05,112.112 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:28:05
[2026-08-29 07:28:05,509.509 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:28:05,769.769 INFO    ] Initializing speech engine...
[2026-08-29 07:28:05,775.775 INFO    ] 2026-08-29 07:28:05
[2026-08-29 07:28:06,070.070 INFO    ] 2026-08-29 07:28:06
[2026-08-29 07:28:06,109.109 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:28:06,307.307 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:28:06,312.312 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:28:06,423.423 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:28:06,430.430 INFO    ] time= 29/08/2026 07:28:06
[2026-08-29 07:28:06,452.452 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:28:06,458.458 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:28:06,568.568 INFO    ] No existing commands found in stream
[2026-08-29 07:28:11,596.596 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:28:11,599.599 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 07:28:13,892.892 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:28:13,894.894 INFO    ] Checking for system updates...
[2026-08-29 07:28:13,915.915 INFO    ] 200
[2026-08-29 07:28:13,916.916 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:28:13,946.946 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:28:13,948.948 INFO    ] No update needed
[2026-08-29 07:28:13,949.949 INFO    ] Checking for camera pi updates...
[2026-08-29 07:28:13,968.968 INFO    ] 200
[2026-08-29 07:28:13,969.969 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:28:13,993.993 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:28:14,170.170 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:28:14,171.171 INFO    ] No camera update needed
[2026-08-29 07:28:14,173.173 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:28:14,174.174 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:28:14,177.177 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:28:14,179.179 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:28:16,218.218 INFO    ] ================================================
[2026-08-29 07:28:16,233.233 INFO    ] Launching Daemon at Sat Aug 29 07:28:16 IST 2026
[2026-08-29 07:28:16,244.244 INFO    ] ================================================
[2026-08-29 07:28:16,576.576 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:28:16
[2026-08-29 07:28:17,003.003 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:28:17,304.304 INFO    ] Initializing speech engine...
[2026-08-29 07:28:17,314.314 INFO    ] 2026-08-29 07:28:17
[2026-08-29 07:28:17,592.592 INFO    ] 2026-08-29 07:28:17
[2026-08-29 07:28:17,647.647 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:28:17,874.874 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:28:17,885.885 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:28:18,019.019 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:28:18,065.065 INFO    ] time= 29/08/2026 07:28:18
[2026-08-29 07:28:18,119.119 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:28:18,155.155 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:28:18,214.214 INFO    ] No existing commands found in stream
[2026-08-29 07:28:23,239.239 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:28:23,243.243 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-08-29 07:28:25,137.137 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:28:25,139.139 INFO    ] Checking for system updates...
[2026-08-29 07:28:25,160.160 INFO    ] 200
[2026-08-29 07:28:25,162.162 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:28:25,191.191 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:28:25,193.193 INFO    ] No update needed
[2026-08-29 07:28:25,194.194 INFO    ] Checking for camera pi updates...
[2026-08-29 07:28:25,213.213 INFO    ] 200
[2026-08-29 07:28:25,214.214 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:28:25,239.239 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:28:25,321.321 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:28:25,323.323 INFO    ] No camera update needed
[2026-08-29 07:28:25,324.324 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:28:25,325.325 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:28:25,328.328 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:28:25,331.331 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:28:27,371.371 INFO    ] ================================================
[2026-08-29 07:28:27,386.386 INFO    ] Launching Daemon at Sat Aug 29 07:28:27 IST 2026
[2026-08-29 07:28:27,397.397 INFO    ] ================================================
[2026-08-29 07:28:27,747.747 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:28:27
[2026-08-29 07:28:28,063.063 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:28:28,203.203 INFO    ] Initializing speech engine...
[2026-08-29 07:28:28,212.212 INFO    ] 2026-08-29 07:28:28
[2026-08-29 07:28:28,457.457 INFO    ] 2026-08-29 07:28:28
[2026-08-29 07:28:28,492.492 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:28:28,665.665 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:28:28,676.676 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:28:28,787.787 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:28:28,820.820 INFO    ] time= 29/08/2026 07:28:28
[2026-08-29 07:28:28,828.828 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:28:28,837.837 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:28:28,907.907 INFO    ] No existing commands found in stream
[2026-08-29 07:28:33,942.942 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:28:33,945.945 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-08-29 07:28:37,850.850 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:28:37,852.852 INFO    ] Checking for system updates...
[2026-08-29 07:28:37,873.873 INFO    ] 200
[2026-08-29 07:28:37,874.874 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:28:37,904.904 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:28:37,905.905 INFO    ] No update needed
[2026-08-29 07:28:37,906.906 INFO    ] Checking for camera pi updates...
[2026-08-29 07:28:37,925.925 INFO    ] 200
[2026-08-29 07:28:37,927.927 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:28:37,949.949 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:28:38,060.060 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:28:38,062.062 INFO    ] No camera update needed
[2026-08-29 07:28:38,063.063 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:28:38,064.064 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:28:38,067.067 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:28:38,070.070 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:28:40,108.108 INFO    ] ================================================
[2026-08-29 07:28:40,123.123 INFO    ] Launching Daemon at Sat Aug 29 07:28:40 IST 2026
[2026-08-29 07:28:40,133.133 INFO    ] ================================================
[2026-08-29 07:28:40,730.730 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:28:40
[2026-08-29 07:28:41,367.367 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:28:41,635.635 INFO    ] Initializing speech engine...
[2026-08-29 07:28:41,644.644 INFO    ] 2026-08-29 07:28:41
[2026-08-29 07:28:41,890.890 INFO    ] 2026-08-29 07:28:41
[2026-08-29 07:28:41,926.926 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:28:42,099.099 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:28:42,111.111 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:28:42,250.250 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:28:42,259.259 INFO    ] time= 29/08/2026 07:28:42
[2026-08-29 07:28:42,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:28:42,316.316 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:28:42,439.439 INFO    ] No existing commands found in stream
[2026-08-29 07:28:47,463.463 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:28:47,466.466 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-08-29 07:28:49,834.834 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:28:49,835.835 INFO    ] Checking for system updates...
[2026-08-29 07:28:49,855.855 INFO    ] 200
[2026-08-29 07:28:49,857.857 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:28:49,886.886 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:28:49,887.887 INFO    ] No update needed
[2026-08-29 07:28:49,889.889 INFO    ] Checking for camera pi updates...
[2026-08-29 07:28:49,908.908 INFO    ] 200
[2026-08-29 07:28:49,909.909 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:28:49,932.932 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:28:50,033.033 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:28:50,034.034 INFO    ] No camera update needed
[2026-08-29 07:28:50,035.035 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:28:50,036.036 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:28:50,039.039 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:28:50,042.042 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:28:52,080.080 INFO    ] ================================================
[2026-08-29 07:28:52,095.095 INFO    ] Launching Daemon at Sat Aug 29 07:28:52 IST 2026
[2026-08-29 07:28:52,106.106 INFO    ] ================================================
[2026-08-29 07:28:52,444.444 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:28:52
[2026-08-29 07:28:52,788.788 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:28:52,939.939 INFO    ] Initializing speech engine...
[2026-08-29 07:28:52,945.945 INFO    ] 2026-08-29 07:28:52
[2026-08-29 07:28:53,152.152 INFO    ] 2026-08-29 07:28:53
[2026-08-29 07:28:53,181.181 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:28:53,313.313 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:28:53,367.367 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:28:53,509.509 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:28:53,571.571 INFO    ] time= 29/08/2026 07:28:53
[2026-08-29 07:28:53,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:28:53,601.601 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:28:53,666.666 INFO    ] No existing commands found in stream
[2026-08-29 07:28:58,677.677 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:28:58,681.681 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-08-29 07:28:59,808.808 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:28:59,810.810 INFO    ] Checking for system updates...
[2026-08-29 07:28:59,830.830 INFO    ] 200
[2026-08-29 07:28:59,832.832 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:28:59,866.866 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:28:59,867.867 INFO    ] No update needed
[2026-08-29 07:28:59,868.868 INFO    ] Checking for camera pi updates...
[2026-08-29 07:28:59,892.892 INFO    ] 200
[2026-08-29 07:28:59,893.893 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:28:59,919.919 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:29:00,012.012 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:29:00,014.014 INFO    ] No camera update needed
[2026-08-29 07:29:00,015.015 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:29:00,016.016 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:29:00,020.020 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:29:00,023.023 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:29:02,064.064 INFO    ] ================================================
[2026-08-29 07:29:02,086.086 INFO    ] Launching Daemon at Sat Aug 29 07:29:02 IST 2026
[2026-08-29 07:29:02,102.102 INFO    ] ================================================
[2026-08-29 07:29:02,867.867 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:29:02
[2026-08-29 07:29:03,627.627 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:29:03,939.939 INFO    ] Initializing speech engine...
[2026-08-29 07:29:03,952.952 INFO    ] 2026-08-29 07:29:03
[2026-08-29 07:29:04,240.240 INFO    ] 2026-08-29 07:29:04
[2026-08-29 07:29:04,287.287 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:29:04,514.514 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:29:04,524.524 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:29:04,665.665 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:29:04,736.736 INFO    ] time= 29/08/2026 07:29:04
[2026-08-29 07:29:04,796.796 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:29:04,805.805 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:29:04,929.929 INFO    ] No existing commands found in stream
[2026-08-29 07:29:09,955.955 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:29:09,958.958 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-08-29 07:29:13,059.059 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:29:13,061.061 INFO    ] Checking for system updates...
[2026-08-29 07:29:13,082.082 INFO    ] 200
[2026-08-29 07:29:13,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:29:13,113.113 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:29:13,115.115 INFO    ] No update needed
[2026-08-29 07:29:13,116.116 INFO    ] Checking for camera pi updates...
[2026-08-29 07:29:13,135.135 INFO    ] 200
[2026-08-29 07:29:13,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:29:13,162.162 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:29:13,219.219 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:29:13,221.221 INFO    ] No camera update needed
[2026-08-29 07:29:13,222.222 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:29:13,223.223 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:29:13,226.226 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:29:13,229.229 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:29:15,267.267 INFO    ] ================================================
[2026-08-29 07:29:15,282.282 INFO    ] Launching Daemon at Sat Aug 29 07:29:15 IST 2026
[2026-08-29 07:29:15,293.293 INFO    ] ================================================
[2026-08-29 07:29:15,646.646 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:29:15
[2026-08-29 07:29:15,962.962 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:29:16,099.099 INFO    ] Initializing speech engine...
[2026-08-29 07:29:16,107.107 INFO    ] 2026-08-29 07:29:16
[2026-08-29 07:29:16,313.313 INFO    ] 2026-08-29 07:29:16
[2026-08-29 07:29:16,356.356 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:29:16,518.518 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:29:16,526.526 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:29:16,700.700 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:29:16,726.726 INFO    ] time= 29/08/2026 07:29:16
[2026-08-29 07:29:16,741.741 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:29:16,751.751 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:29:16,863.863 INFO    ] No existing commands found in stream
[2026-08-29 07:29:21,885.885 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:29:21,888.888 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-08-29 07:29:23,350.350 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:29:23,351.351 INFO    ] Checking for system updates...
[2026-08-29 07:29:23,371.371 INFO    ] 200
[2026-08-29 07:29:23,373.373 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:29:23,403.403 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:29:23,404.404 INFO    ] No update needed
[2026-08-29 07:29:23,406.406 INFO    ] Checking for camera pi updates...
[2026-08-29 07:29:23,424.424 INFO    ] 200
[2026-08-29 07:29:23,426.426 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:29:23,449.449 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:29:23,557.557 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:29:23,559.559 INFO    ] No camera update needed
[2026-08-29 07:29:23,560.560 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:29:23,561.561 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:29:23,564.564 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:29:23,567.567 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:29:25,606.606 INFO    ] ================================================
[2026-08-29 07:29:25,621.621 INFO    ] Launching Daemon at Sat Aug 29 07:29:25 IST 2026
[2026-08-29 07:29:25,632.632 INFO    ] ================================================
[2026-08-29 07:29:25,993.993 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:29:25
[2026-08-29 07:29:26,337.337 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:29:26,488.488 INFO    ] Initializing speech engine...
[2026-08-29 07:29:26,494.494 INFO    ] 2026-08-29 07:29:26
[2026-08-29 07:29:26,703.703 INFO    ] 2026-08-29 07:29:26
[2026-08-29 07:29:26,731.731 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:29:26,854.854 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:29:26,913.913 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:29:27,056.056 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:29:27,120.120 INFO    ] time= 29/08/2026 07:29:27
[2026-08-29 07:29:27,172.172 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:29:27,180.180 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:29:27,307.307 INFO    ] No existing commands found in stream
[2026-08-29 07:29:32,325.325 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:29:32,328.328 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-08-29 07:29:35,230.230 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:29:35,232.232 INFO    ] Checking for system updates...
[2026-08-29 07:29:35,253.253 INFO    ] 200
[2026-08-29 07:29:35,254.254 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:29:35,286.286 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:29:35,288.288 INFO    ] No update needed
[2026-08-29 07:29:35,289.289 INFO    ] Checking for camera pi updates...
[2026-08-29 07:29:35,308.308 INFO    ] 200
[2026-08-29 07:29:35,310.310 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:29:35,333.333 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:29:35,403.403 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:29:35,404.404 INFO    ] No camera update needed
[2026-08-29 07:29:35,405.405 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:29:35,407.407 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:29:35,410.410 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:29:35,412.412 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:29:37,450.450 INFO    ] ================================================
[2026-08-29 07:29:37,466.466 INFO    ] Launching Daemon at Sat Aug 29 07:29:37 IST 2026
[2026-08-29 07:29:37,476.476 INFO    ] ================================================
[2026-08-29 07:29:37,841.841 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:29:37
[2026-08-29 07:29:38,153.153 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:29:38,295.295 INFO    ] Initializing speech engine...
[2026-08-29 07:29:38,300.300 INFO    ] 2026-08-29 07:29:38
[2026-08-29 07:29:38,541.541 INFO    ] 2026-08-29 07:29:38
[2026-08-29 07:29:38,577.577 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:29:38,749.749 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:29:38,761.761 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:29:38,873.873 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:29:38,890.890 INFO    ] time= 29/08/2026 07:29:38
[2026-08-29 07:29:38,911.911 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:29:38,919.919 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:29:38,986.986 INFO    ] No existing commands found in stream
[2026-08-29 07:29:43,999.999 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:29:44,001.001 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-08-29 07:29:47,725.725 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:29:47,726.726 INFO    ] Checking for system updates...
[2026-08-29 07:29:47,748.748 INFO    ] 200
[2026-08-29 07:29:47,749.749 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:29:47,781.781 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:29:47,783.783 INFO    ] No update needed
[2026-08-29 07:29:47,784.784 INFO    ] Checking for camera pi updates...
[2026-08-29 07:29:47,805.805 INFO    ] 200
[2026-08-29 07:29:47,806.806 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:29:47,829.829 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:29:47,904.904 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:29:47,906.906 INFO    ] No camera update needed
[2026-08-29 07:29:47,907.907 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:29:47,908.908 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:29:47,911.911 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:29:47,914.914 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:29:49,952.952 INFO    ] ================================================
[2026-08-29 07:29:49,967.967 INFO    ] Launching Daemon at Sat Aug 29 07:29:49 IST 2026
[2026-08-29 07:29:49,977.977 INFO    ] ================================================
[2026-08-29 07:29:50,341.341 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:29:50
[2026-08-29 07:29:50,653.653 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:29:50,784.784 INFO    ] Initializing speech engine...
[2026-08-29 07:29:50,787.787 INFO    ] 2026-08-29 07:29:50
[2026-08-29 07:29:51,004.004 INFO    ] 2026-08-29 07:29:50
[2026-08-29 07:29:51,084.084 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:29:51,240.240 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:29:51,248.248 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:29:51,385.385 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:29:51,406.406 INFO    ] time= 29/08/2026 07:29:51
[2026-08-29 07:29:51,471.471 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:29:51,521.521 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:29:51,583.583 INFO    ] No existing commands found in stream
[2026-08-29 07:29:56,596.596 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:29:56,599.599 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-08-29 07:29:59,217.217 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:29:59,218.218 INFO    ] Checking for system updates...
[2026-08-29 07:29:59,238.238 INFO    ] 200
[2026-08-29 07:29:59,240.240 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:29:59,269.269 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:29:59,270.270 INFO    ] No update needed
[2026-08-29 07:29:59,272.272 INFO    ] Checking for camera pi updates...
[2026-08-29 07:29:59,291.291 INFO    ] 200
[2026-08-29 07:29:59,292.292 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:29:59,315.315 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:29:59,370.370 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:29:59,371.371 INFO    ] No camera update needed
[2026-08-29 07:29:59,373.373 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:29:59,374.374 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:29:59,377.377 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:29:59,380.380 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:30:01,425.425 INFO    ] ================================================
[2026-08-29 07:30:01,511.511 INFO    ] Launching Daemon at Sat Aug 29 07:30:01 IST 2026
[2026-08-29 07:30:01,547.547 INFO    ] ================================================
[2026-08-29 07:30:02,762.762 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:30:02
[2026-08-29 07:30:03,437.437 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:30:03,853.853 INFO    ] Initializing speech engine...
[2026-08-29 07:30:03,865.865 INFO    ] 2026-08-29 07:30:03
[2026-08-29 07:30:04,163.163 INFO    ] 2026-08-29 07:30:04
[2026-08-29 07:30:04,201.201 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:30:04,423.423 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:30:04,432.432 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:30:04,564.564 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:30:04,596.596 INFO    ] time= 29/08/2026 07:30:04
[2026-08-29 07:30:04,656.656 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:30:04,697.697 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:30:04,824.824 INFO    ] No existing commands found in stream
[2026-08-29 07:30:09,857.857 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:30:09,860.860 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-08-29 07:30:10,422.422 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:30:10,424.424 INFO    ] Checking for system updates...
[2026-08-29 07:30:10,444.444 INFO    ] 200
[2026-08-29 07:30:10,446.446 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:30:10,475.475 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:30:10,477.477 INFO    ] No update needed
[2026-08-29 07:30:10,478.478 INFO    ] Checking for camera pi updates...
[2026-08-29 07:30:10,499.499 INFO    ] 200
[2026-08-29 07:30:10,500.500 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:30:10,525.525 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:30:10,625.625 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:30:10,627.627 INFO    ] No camera update needed
[2026-08-29 07:30:10,628.628 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:30:10,629.629 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:30:10,632.632 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:30:10,635.635 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:30:12,675.675 INFO    ] ================================================
[2026-08-29 07:30:12,690.690 INFO    ] Launching Daemon at Sat Aug 29 07:30:12 IST 2026
[2026-08-29 07:30:12,703.703 INFO    ] ================================================
[2026-08-29 07:30:13,248.248 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:30:13
[2026-08-29 07:30:13,869.869 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:30:14,148.148 INFO    ] Initializing speech engine...
[2026-08-29 07:30:14,165.165 INFO    ] 2026-08-29 07:30:14
[2026-08-29 07:30:14,433.433 INFO    ] 2026-08-29 07:30:14
[2026-08-29 07:30:14,474.474 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:30:14,666.666 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:30:14,680.680 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:30:14,831.831 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:30:14,840.840 INFO    ] time= 29/08/2026 07:30:14
[2026-08-29 07:30:14,846.846 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:30:14,873.873 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:30:15,014.014 INFO    ] No existing commands found in stream
[2026-08-29 07:30:20,050.050 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:30:20,054.054 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-08-29 07:30:23,863.863 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:30:23,865.865 INFO    ] Checking for system updates...
[2026-08-29 07:30:23,885.885 INFO    ] 200
[2026-08-29 07:30:23,886.886 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:30:23,921.921 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:30:23,923.923 INFO    ] No update needed
[2026-08-29 07:30:23,924.924 INFO    ] Checking for camera pi updates...
[2026-08-29 07:30:23,943.943 INFO    ] 200
[2026-08-29 07:30:23,944.944 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:30:23,967.967 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:30:24,159.159 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:30:24,162.162 INFO    ] No camera update needed
[2026-08-29 07:30:24,164.164 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:30:24,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:30:24,172.172 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:30:24,177.177 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:30:26,216.216 INFO    ] ================================================
[2026-08-29 07:30:26,231.231 INFO    ] Launching Daemon at Sat Aug 29 07:30:26 IST 2026
[2026-08-29 07:30:26,242.242 INFO    ] ================================================
[2026-08-29 07:30:26,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:30:26
[2026-08-29 07:30:27,299.299 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:30:27,444.444 INFO    ] Initializing speech engine...
[2026-08-29 07:30:27,448.448 INFO    ] 2026-08-29 07:30:27
[2026-08-29 07:30:27,654.654 INFO    ] 2026-08-29 07:30:27
[2026-08-29 07:30:27,683.683 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:30:27,806.806 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:30:27,869.869 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:30:28,006.006 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:30:28,073.073 INFO    ] time= 29/08/2026 07:30:28
[2026-08-29 07:30:28,097.097 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:30:28,104.104 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:30:28,171.171 INFO    ] No existing commands found in stream
[2026-08-29 07:30:33,180.180 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:30:33,183.183 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-08-29 07:30:34,321.321 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:30:34,323.323 INFO    ] Checking for system updates...
[2026-08-29 07:30:34,359.359 INFO    ] 200
[2026-08-29 07:30:34,361.361 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:30:34,417.417 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:30:34,420.420 INFO    ] No update needed
[2026-08-29 07:30:34,422.422 INFO    ] Checking for camera pi updates...
[2026-08-29 07:30:34,456.456 INFO    ] 200
[2026-08-29 07:30:34,459.459 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:30:34,504.504 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:30:34,581.581 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:30:34,583.583 INFO    ] No camera update needed
[2026-08-29 07:30:34,586.586 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:30:34,588.588 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:30:34,593.593 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:30:34,598.598 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:30:36,638.638 INFO    ] ================================================
[2026-08-29 07:30:36,653.653 INFO    ] Launching Daemon at Sat Aug 29 07:30:36 IST 2026
[2026-08-29 07:30:36,664.664 INFO    ] ================================================
[2026-08-29 07:30:37,009.009 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:30:37
[2026-08-29 07:30:37,321.321 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:30:37,452.452 INFO    ] Initializing speech engine...
[2026-08-29 07:30:37,456.456 INFO    ] 2026-08-29 07:30:37
[2026-08-29 07:30:37,686.686 INFO    ] 2026-08-29 07:30:37
[2026-08-29 07:30:37,716.716 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:30:37,847.847 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:30:37,849.849 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:30:38,007.007 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:30:38,060.060 INFO    ] time= 29/08/2026 07:30:38
[2026-08-29 07:30:38,101.101 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:30:38,144.144 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:30:38,233.233 INFO    ] No existing commands found in stream
[2026-08-29 07:30:43,244.244 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:30:43,247.247 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-08-29 07:30:46,979.979 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:30:46,981.981 INFO    ] Checking for system updates...
[2026-08-29 07:30:47,001.001 INFO    ] 200
[2026-08-29 07:30:47,003.003 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:30:47,033.033 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:30:47,034.034 INFO    ] No update needed
[2026-08-29 07:30:47,035.035 INFO    ] Checking for camera pi updates...
[2026-08-29 07:30:47,056.056 INFO    ] 200
[2026-08-29 07:30:47,058.058 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:30:47,082.082 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:30:47,161.161 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:30:47,163.163 INFO    ] No camera update needed
[2026-08-29 07:30:47,164.164 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:30:47,165.165 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:30:47,168.168 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:30:47,171.171 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:30:49,209.209 INFO    ] ================================================
[2026-08-29 07:30:49,225.225 INFO    ] Launching Daemon at Sat Aug 29 07:30:49 IST 2026
[2026-08-29 07:30:49,235.235 INFO    ] ================================================
[2026-08-29 07:30:49,612.612 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:30:49
[2026-08-29 07:30:49,946.946 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:30:50,097.097 INFO    ] Initializing speech engine...
[2026-08-29 07:30:50,103.103 INFO    ] 2026-08-29 07:30:50
[2026-08-29 07:30:50,352.352 INFO    ] 2026-08-29 07:30:50
[2026-08-29 07:30:50,421.421 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:30:50,646.646 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:30:50,656.656 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:30:50,789.789 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:30:50,847.847 INFO    ] time= 29/08/2026 07:30:50
[2026-08-29 07:30:50,907.907 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:30:50,927.927 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:30:51,053.053 INFO    ] No existing commands found in stream
[2026-08-29 07:30:56,080.080 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:30:56,082.082 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-08-29 07:30:58,176.176 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:30:58,178.178 INFO    ] Checking for system updates...
[2026-08-29 07:30:58,198.198 INFO    ] 200
[2026-08-29 07:30:58,200.200 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:30:58,233.233 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:30:58,234.234 INFO    ] No update needed
[2026-08-29 07:30:58,235.235 INFO    ] Checking for camera pi updates...
[2026-08-29 07:30:58,257.257 INFO    ] 200
[2026-08-29 07:30:58,259.259 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:30:58,281.281 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:30:58,362.362 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:30:58,364.364 INFO    ] No camera update needed
[2026-08-29 07:30:58,365.365 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:30:58,366.366 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:30:58,369.369 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:30:58,372.372 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:31:00,411.411 INFO    ] ================================================
[2026-08-29 07:31:00,426.426 INFO    ] Launching Daemon at Sat Aug 29 07:31:00 IST 2026
[2026-08-29 07:31:00,437.437 INFO    ] ================================================
[2026-08-29 07:31:01,035.035 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:31:01
[2026-08-29 07:31:01,760.760 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:31:02,059.059 INFO    ] Initializing speech engine...
[2026-08-29 07:31:02,086.086 INFO    ] 2026-08-29 07:31:02
[2026-08-29 07:31:02,396.396 INFO    ] 2026-08-29 07:31:02
[2026-08-29 07:31:02,440.440 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:31:02,617.617 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:31:02,634.634 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:31:02,819.819 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:31:02,829.829 INFO    ] time= 29/08/2026 07:31:02
[2026-08-29 07:31:02,834.834 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:31:02,840.840 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:31:02,914.914 INFO    ] No existing commands found in stream
[2026-08-29 07:31:07,925.925 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:31:07,928.928 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-08-29 07:31:12,096.096 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:31:12,097.097 INFO    ] Checking for system updates...
[2026-08-29 07:31:12,118.118 INFO    ] 200
[2026-08-29 07:31:12,119.119 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:31:12,150.150 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:31:12,152.152 INFO    ] No update needed
[2026-08-29 07:31:12,154.154 INFO    ] Checking for camera pi updates...
[2026-08-29 07:31:12,173.173 INFO    ] 200
[2026-08-29 07:31:12,175.175 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:31:12,198.198 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:31:12,278.278 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:31:12,281.281 INFO    ] No camera update needed
[2026-08-29 07:31:12,284.284 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:31:12,287.287 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:31:12,293.293 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:31:12,299.299 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:31:14,342.342 INFO    ] ================================================
[2026-08-29 07:31:14,357.357 INFO    ] Launching Daemon at Sat Aug 29 07:31:14 IST 2026
[2026-08-29 07:31:14,369.369 INFO    ] ================================================
[2026-08-29 07:31:14,938.938 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:31:14
[2026-08-29 07:31:15,437.437 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:31:15,578.578 INFO    ] Initializing speech engine...
[2026-08-29 07:31:15,587.587 INFO    ] 2026-08-29 07:31:15
[2026-08-29 07:31:15,808.808 INFO    ] 2026-08-29 07:31:15
[2026-08-29 07:31:15,842.842 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:31:15,989.989 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:31:15,996.996 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:31:16,121.121 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:31:16,138.138 INFO    ] time= 29/08/2026 07:31:16
[2026-08-29 07:31:16,182.182 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:31:16,226.226 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:31:16,304.304 INFO    ] No existing commands found in stream
[2026-08-29 07:31:21,319.319 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:31:21,322.322 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-08-29 07:31:22,493.493 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:31:22,494.494 INFO    ] Checking for system updates...
[2026-08-29 07:31:22,516.516 INFO    ] 200
[2026-08-29 07:31:22,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:31:22,550.550 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:31:22,551.551 INFO    ] No update needed
[2026-08-29 07:31:22,552.552 INFO    ] Checking for camera pi updates...
[2026-08-29 07:31:22,572.572 INFO    ] 200
[2026-08-29 07:31:22,574.574 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:31:22,601.601 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:31:22,696.696 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:31:22,699.699 INFO    ] No camera update needed
[2026-08-29 07:31:22,701.701 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:31:22,703.703 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:31:22,709.709 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:31:22,714.714 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:31:24,754.754 INFO    ] ================================================
[2026-08-29 07:31:24,770.770 INFO    ] Launching Daemon at Sat Aug 29 07:31:24 IST 2026
[2026-08-29 07:31:24,781.781 INFO    ] ================================================
[2026-08-29 07:31:25,360.360 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:31:25
[2026-08-29 07:31:25,846.846 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:31:25,988.988 INFO    ] Initializing speech engine...
[2026-08-29 07:31:25,994.994 INFO    ] 2026-08-29 07:31:25
[2026-08-29 07:31:26,197.197 INFO    ] 2026-08-29 07:31:26
[2026-08-29 07:31:26,226.226 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:31:26,387.387 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:31:26,395.395 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:31:26,547.547 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:31:26,596.596 INFO    ] time= 29/08/2026 07:31:26
[2026-08-29 07:31:26,602.602 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:31:26,620.620 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:31:26,737.737 INFO    ] No existing commands found in stream
[2026-08-29 07:31:31,762.762 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:31:31,765.765 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-08-29 07:31:33,150.150 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:31:33,153.153 INFO    ] Checking for system updates...
[2026-08-29 07:31:33,190.190 INFO    ] 200
[2026-08-29 07:31:33,193.193 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:31:33,254.254 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:31:33,257.257 INFO    ] No update needed
[2026-08-29 07:31:33,260.260 INFO    ] Checking for camera pi updates...
[2026-08-29 07:31:33,295.295 INFO    ] 200
[2026-08-29 07:31:33,298.298 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:31:33,340.340 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:31:33,445.445 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:31:33,448.448 INFO    ] No camera update needed
[2026-08-29 07:31:33,450.450 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:31:33,453.453 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:31:33,459.459 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:31:33,465.465 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:31:35,508.508 INFO    ] ================================================
[2026-08-29 07:31:35,524.524 INFO    ] Launching Daemon at Sat Aug 29 07:31:35 IST 2026
[2026-08-29 07:31:35,535.535 INFO    ] ================================================
[2026-08-29 07:31:35,893.893 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:31:35
[2026-08-29 07:31:36,213.213 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:31:36,355.355 INFO    ] Initializing speech engine...
[2026-08-29 07:31:36,361.361 INFO    ] 2026-08-29 07:31:36
[2026-08-29 07:31:36,603.603 INFO    ] 2026-08-29 07:31:36
[2026-08-29 07:31:36,663.663 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:31:36,825.825 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:31:36,833.833 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:31:37,019.019 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:31:37,034.034 INFO    ] time= 29/08/2026 07:31:37
[2026-08-29 07:31:37,055.055 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:31:37,081.081 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:31:37,177.177 INFO    ] No existing commands found in stream
[2026-08-29 07:31:42,197.197 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:31:42,200.200 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 07:31:43,449.449 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:31:43,451.451 INFO    ] Checking for system updates...
[2026-08-29 07:31:43,472.472 INFO    ] 200
[2026-08-29 07:31:43,474.474 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:31:43,504.504 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:31:43,505.505 INFO    ] No update needed
[2026-08-29 07:31:43,507.507 INFO    ] Checking for camera pi updates...
[2026-08-29 07:31:43,527.527 INFO    ] 200
[2026-08-29 07:31:43,528.528 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:31:43,552.552 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:31:43,647.647 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:31:43,649.649 INFO    ] No camera update needed
[2026-08-29 07:31:43,650.650 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:31:43,652.652 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:31:43,655.655 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:31:43,658.658 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:31:45,699.699 INFO    ] ================================================
[2026-08-29 07:31:45,715.715 INFO    ] Launching Daemon at Sat Aug 29 07:31:45 IST 2026
[2026-08-29 07:31:45,726.726 INFO    ] ================================================
[2026-08-29 07:31:46,272.272 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:31:46
[2026-08-29 07:31:46,962.962 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:31:47,278.278 INFO    ] Initializing speech engine...
[2026-08-29 07:31:47,290.290 INFO    ] 2026-08-29 07:31:47
[2026-08-29 07:31:47,604.604 INFO    ] 2026-08-29 07:31:47
[2026-08-29 07:31:47,689.689 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:31:47,846.846 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:31:47,858.858 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:31:47,992.992 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:31:48,047.047 INFO    ] time= 29/08/2026 07:31:48
[2026-08-29 07:31:48,097.097 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:31:48,120.120 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:31:48,191.191 INFO    ] No existing commands found in stream
[2026-08-29 07:31:53,234.234 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:31:53,237.237 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-08-29 07:31:53,674.674 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:31:53,675.675 INFO    ] Checking for system updates...
[2026-08-29 07:31:53,697.697 INFO    ] 200
[2026-08-29 07:31:53,698.698 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:31:53,728.728 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:31:53,729.729 INFO    ] No update needed
[2026-08-29 07:31:53,731.731 INFO    ] Checking for camera pi updates...
[2026-08-29 07:31:53,753.753 INFO    ] 200
[2026-08-29 07:31:53,754.754 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:31:53,777.777 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:31:53,858.858 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:31:53,859.859 INFO    ] No camera update needed
[2026-08-29 07:31:53,861.861 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:31:53,862.862 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:31:53,865.865 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:31:53,868.868 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:31:55,906.906 INFO    ] ================================================
[2026-08-29 07:31:55,922.922 INFO    ] Launching Daemon at Sat Aug 29 07:31:55 IST 2026
[2026-08-29 07:31:55,933.933 INFO    ] ================================================
[2026-08-29 07:31:56,419.419 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:31:56
[2026-08-29 07:31:57,008.008 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:31:57,281.281 INFO    ] Initializing speech engine...
[2026-08-29 07:31:57,297.297 INFO    ] 2026-08-29 07:31:57
[2026-08-29 07:31:57,575.575 INFO    ] 2026-08-29 07:31:57
[2026-08-29 07:31:57,610.610 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:31:57,763.763 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:31:57,771.771 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:31:57,927.927 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:31:57,937.937 INFO    ] time= 29/08/2026 07:31:57
[2026-08-29 07:31:57,941.941 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:31:57,946.946 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:31:58,014.014 INFO    ] No existing commands found in stream
[2026-08-29 07:32:03,024.024 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:32:03,028.028 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-08-29 07:32:03,957.957 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:32:03,960.960 INFO    ] Checking for system updates...
[2026-08-29 07:32:03,996.996 INFO    ] 200
[2026-08-29 07:32:03,998.998 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:32:04,058.058 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:32:04,060.060 INFO    ] No update needed
[2026-08-29 07:32:04,063.063 INFO    ] Checking for camera pi updates...
[2026-08-29 07:32:04,096.096 INFO    ] 200
[2026-08-29 07:32:04,098.098 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:32:04,139.139 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:32:04,221.221 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:32:04,224.224 INFO    ] No camera update needed
[2026-08-29 07:32:04,226.226 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:32:04,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:32:04,234.234 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:32:04,239.239 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:32:06,280.280 INFO    ] ================================================
[2026-08-29 07:32:06,296.296 INFO    ] Launching Daemon at Sat Aug 29 07:32:06 IST 2026
[2026-08-29 07:32:06,307.307 INFO    ] ================================================
[2026-08-29 07:32:06,741.741 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:32:06
[2026-08-29 07:32:07,328.328 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:32:07,586.586 INFO    ] Initializing speech engine...
[2026-08-29 07:32:07,594.594 INFO    ] 2026-08-29 07:32:07
[2026-08-29 07:32:07,889.889 INFO    ] 2026-08-29 07:32:07
[2026-08-29 07:32:07,928.928 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:32:08,125.125 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:32:08,130.130 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:32:08,262.262 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:32:08,273.273 INFO    ] time= 29/08/2026 07:32:08
[2026-08-29 07:32:08,278.278 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:32:08,298.298 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:32:08,398.398 INFO    ] No existing commands found in stream
[2026-08-29 07:32:13,409.409 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:32:13,411.411 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-08-29 07:32:15,265.265 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:32:15,266.266 INFO    ] Checking for system updates...
[2026-08-29 07:32:15,288.288 INFO    ] 200
[2026-08-29 07:32:15,289.289 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:32:15,321.321 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:32:15,323.323 INFO    ] No update needed
[2026-08-29 07:32:15,324.324 INFO    ] Checking for camera pi updates...
[2026-08-29 07:32:15,346.346 INFO    ] 200
[2026-08-29 07:32:15,347.347 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:32:15,371.371 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:32:15,449.449 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:32:15,451.451 INFO    ] No camera update needed
[2026-08-29 07:32:15,454.454 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:32:15,456.456 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:32:15,461.461 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:32:15,466.466 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:32:17,507.507 INFO    ] ================================================
[2026-08-29 07:32:17,523.523 INFO    ] Launching Daemon at Sat Aug 29 07:32:17 IST 2026
[2026-08-29 07:32:17,534.534 INFO    ] ================================================
[2026-08-29 07:32:18,100.100 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:32:18
[2026-08-29 07:32:18,591.591 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:32:18,725.725 INFO    ] Initializing speech engine...
[2026-08-29 07:32:18,728.728 INFO    ] 2026-08-29 07:32:18
[2026-08-29 07:32:18,958.958 INFO    ] 2026-08-29 07:32:18
[2026-08-29 07:32:18,988.988 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:32:19,121.121 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:32:19,173.173 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:32:19,329.329 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:32:19,396.396 INFO    ] time= 29/08/2026 07:32:19
[2026-08-29 07:32:19,432.432 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:32:19,438.438 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:32:19,514.514 INFO    ] No existing commands found in stream
[2026-08-29 07:32:24,525.525 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:32:24,528.528 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-08-29 07:32:28,740.740 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:32:28,741.741 INFO    ] Checking for system updates...
[2026-08-29 07:32:28,762.762 INFO    ] 200
[2026-08-29 07:32:28,764.764 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:32:28,796.796 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:32:28,798.798 INFO    ] No update needed
[2026-08-29 07:32:28,799.799 INFO    ] Checking for camera pi updates...
[2026-08-29 07:32:28,818.818 INFO    ] 200
[2026-08-29 07:32:28,819.819 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:32:28,843.843 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:32:29,024.024 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:32:29,026.026 INFO    ] No camera update needed
[2026-08-29 07:32:29,027.027 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:32:29,028.028 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:32:29,031.031 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:32:29,034.034 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:32:31,073.073 INFO    ] ================================================
[2026-08-29 07:32:31,088.088 INFO    ] Launching Daemon at Sat Aug 29 07:32:31 IST 2026
[2026-08-29 07:32:31,100.100 INFO    ] ================================================
[2026-08-29 07:32:31,431.431 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:32:31
[2026-08-29 07:32:31,744.744 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:32:31,880.880 INFO    ] Initializing speech engine...
[2026-08-29 07:32:31,892.892 INFO    ] 2026-08-29 07:32:31
[2026-08-29 07:32:32,144.144 INFO    ] 2026-08-29 07:32:32
[2026-08-29 07:32:32,189.189 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:32:32,359.359 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:32:32,367.367 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:32:32,523.523 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:32:32,551.551 INFO    ] time= 29/08/2026 07:32:32
[2026-08-29 07:32:32,611.611 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:32:32,686.686 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:32:32,749.749 INFO    ] No existing commands found in stream
[2026-08-29 07:32:37,762.762 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:32:37,765.765 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-08-29 07:32:41,689.689 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:32:41,690.690 INFO    ] Checking for system updates...
[2026-08-29 07:32:41,711.711 INFO    ] 200
[2026-08-29 07:32:41,712.712 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:32:41,742.742 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:32:41,744.744 INFO    ] No update needed
[2026-08-29 07:32:41,745.745 INFO    ] Checking for camera pi updates...
[2026-08-29 07:32:41,765.765 INFO    ] 200
[2026-08-29 07:32:41,767.767 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:32:41,790.790 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:32:41,868.868 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:32:41,869.869 INFO    ] No camera update needed
[2026-08-29 07:32:41,870.870 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:32:41,871.871 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:32:41,875.875 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:32:41,877.877 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:32:43,915.915 INFO    ] ================================================
[2026-08-29 07:32:43,930.930 INFO    ] Launching Daemon at Sat Aug 29 07:32:43 IST 2026
[2026-08-29 07:32:43,942.942 INFO    ] ================================================
[2026-08-29 07:32:44,313.313 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:32:44
[2026-08-29 07:32:44,651.651 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:32:44,805.805 INFO    ] Initializing speech engine...
[2026-08-29 07:32:44,811.811 INFO    ] 2026-08-29 07:32:44
[2026-08-29 07:32:45,009.009 INFO    ] 2026-08-29 07:32:45
[2026-08-29 07:32:45,063.063 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:32:45,283.283 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:32:45,293.293 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:32:45,428.428 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:32:45,499.499 INFO    ] time= 29/08/2026 07:32:45
[2026-08-29 07:32:45,557.557 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:32:45,575.575 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:32:45,689.689 INFO    ] No existing commands found in stream
[2026-08-29 07:32:50,717.717 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:32:50,720.720 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-08-29 07:32:53,477.477 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:32:53,478.478 INFO    ] Checking for system updates...
[2026-08-29 07:32:53,499.499 INFO    ] 200
[2026-08-29 07:32:53,500.500 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:32:53,532.532 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:32:53,533.533 INFO    ] No update needed
[2026-08-29 07:32:53,534.534 INFO    ] Checking for camera pi updates...
[2026-08-29 07:32:53,554.554 INFO    ] 200
[2026-08-29 07:32:53,555.555 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:32:53,577.577 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:32:53,675.675 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:32:53,676.676 INFO    ] No camera update needed
[2026-08-29 07:32:53,678.678 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:32:53,679.679 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:32:53,682.682 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:32:53,684.684 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:32:55,725.725 INFO    ] ================================================
[2026-08-29 07:32:55,740.740 INFO    ] Launching Daemon at Sat Aug 29 07:32:55 IST 2026
[2026-08-29 07:32:55,751.751 INFO    ] ================================================
[2026-08-29 07:32:56,082.082 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:32:56
[2026-08-29 07:32:56,400.400 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:32:56,545.545 INFO    ] Initializing speech engine...
[2026-08-29 07:32:56,550.550 INFO    ] 2026-08-29 07:32:56
[2026-08-29 07:32:56,752.752 INFO    ] 2026-08-29 07:32:56
[2026-08-29 07:32:56,782.782 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:32:56,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:32:56,940.940 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:32:57,115.115 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:32:57,142.142 INFO    ] time= 29/08/2026 07:32:57
[2026-08-29 07:32:57,157.157 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:32:57,167.167 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:32:57,285.285 INFO    ] No existing commands found in stream
[2026-08-29 07:33:02,305.305 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:33:02,308.308 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-08-29 07:33:04,535.535 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:33:04,538.538 INFO    ] Checking for system updates...
[2026-08-29 07:33:04,575.575 INFO    ] 200
[2026-08-29 07:33:04,578.578 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:33:04,633.633 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:33:04,636.636 INFO    ] No update needed
[2026-08-29 07:33:04,638.638 INFO    ] Checking for camera pi updates...
[2026-08-29 07:33:04,674.674 INFO    ] 200
[2026-08-29 07:33:04,676.676 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:33:04,718.718 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:33:04,819.819 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:33:04,822.822 INFO    ] No camera update needed
[2026-08-29 07:33:04,825.825 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:33:04,828.828 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:33:04,834.834 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:33:04,840.840 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:33:06,883.883 INFO    ] ================================================
[2026-08-29 07:33:06,899.899 INFO    ] Launching Daemon at Sat Aug 29 07:33:06 IST 2026
[2026-08-29 07:33:06,911.911 INFO    ] ================================================
[2026-08-29 07:33:07,242.242 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:33:07
[2026-08-29 07:33:07,558.558 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:33:07,695.695 INFO    ] Initializing speech engine...
[2026-08-29 07:33:07,699.699 INFO    ] 2026-08-29 07:33:07
[2026-08-29 07:33:07,910.910 INFO    ] 2026-08-29 07:33:07
[2026-08-29 07:33:07,939.939 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:33:08,097.097 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:33:08,101.101 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:33:08,261.261 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:33:08,315.315 INFO    ] time= 29/08/2026 07:33:08
[2026-08-29 07:33:08,338.338 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:33:08,396.396 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:33:08,503.503 INFO    ] No existing commands found in stream
[2026-08-29 07:33:13,512.512 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:33:13,515.515 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 07:33:15,653.653 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:33:15,655.655 INFO    ] Checking for system updates...
[2026-08-29 07:33:15,675.675 INFO    ] 200
[2026-08-29 07:33:15,676.676 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:33:15,709.709 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:33:15,710.710 INFO    ] No update needed
[2026-08-29 07:33:15,711.711 INFO    ] Checking for camera pi updates...
[2026-08-29 07:33:15,732.732 INFO    ] 200
[2026-08-29 07:33:15,733.733 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:33:15,757.757 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:33:15,841.841 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:33:15,842.842 INFO    ] No camera update needed
[2026-08-29 07:33:15,844.844 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:33:15,845.845 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:33:15,848.848 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:33:15,851.851 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:33:17,890.890 INFO    ] ================================================
[2026-08-29 07:33:17,907.907 INFO    ] Launching Daemon at Sat Aug 29 07:33:17 IST 2026
[2026-08-29 07:33:17,918.918 INFO    ] ================================================
[2026-08-29 07:33:18,316.316 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:33:18
[2026-08-29 07:33:19,007.007 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:33:19,314.314 INFO    ] Initializing speech engine...
[2026-08-29 07:33:19,325.325 INFO    ] 2026-08-29 07:33:19
[2026-08-29 07:33:19,609.609 INFO    ] 2026-08-29 07:33:19
[2026-08-29 07:33:19,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:33:19,894.894 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:33:19,905.905 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:33:20,044.044 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:33:20,079.079 INFO    ] time= 29/08/2026 07:33:20
[2026-08-29 07:33:20,139.139 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:33:20,182.182 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:33:20,244.244 INFO    ] No existing commands found in stream
[2026-08-29 07:33:25,269.269 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:33:25,273.273 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-08-29 07:33:29,240.240 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:33:29,241.241 INFO    ] Checking for system updates...
[2026-08-29 07:33:29,263.263 INFO    ] 200
[2026-08-29 07:33:29,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:33:29,295.295 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:33:29,297.297 INFO    ] No update needed
[2026-08-29 07:33:29,298.298 INFO    ] Checking for camera pi updates...
[2026-08-29 07:33:29,319.319 INFO    ] 200
[2026-08-29 07:33:29,321.321 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:33:29,346.346 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:33:29,422.422 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:33:29,423.423 INFO    ] No camera update needed
[2026-08-29 07:33:29,425.425 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:33:29,426.426 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:33:29,429.429 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:33:29,432.432 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:33:31,474.474 INFO    ] ================================================
[2026-08-29 07:33:31,489.489 INFO    ] Launching Daemon at Sat Aug 29 07:33:31 IST 2026
[2026-08-29 07:33:31,500.500 INFO    ] ================================================
[2026-08-29 07:33:32,092.092 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:33:32
[2026-08-29 07:33:32,714.714 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:33:32,989.989 INFO    ] Initializing speech engine...
[2026-08-29 07:33:33,006.006 INFO    ] 2026-08-29 07:33:32
[2026-08-29 07:33:33,276.276 INFO    ] 2026-08-29 07:33:33
[2026-08-29 07:33:33,311.311 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:33:33,491.491 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:33:33,497.497 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:33:33,618.618 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:33:33,623.623 INFO    ] time= 29/08/2026 07:33:33
[2026-08-29 07:33:33,642.642 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:33:33,665.665 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:33:33,753.753 INFO    ] No existing commands found in stream
[2026-08-29 07:33:38,768.768 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:33:38,771.771 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-08-29 07:33:41,842.842 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:33:41,844.844 INFO    ] Checking for system updates...
[2026-08-29 07:33:41,864.864 INFO    ] 200
[2026-08-29 07:33:41,866.866 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:33:41,899.899 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:33:41,900.900 INFO    ] No update needed
[2026-08-29 07:33:41,901.901 INFO    ] Checking for camera pi updates...
[2026-08-29 07:33:41,923.923 INFO    ] 200
[2026-08-29 07:33:41,924.924 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:33:41,950.950 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:33:42,030.030 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:33:42,032.032 INFO    ] No camera update needed
[2026-08-29 07:33:42,033.033 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:33:42,034.034 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:33:42,037.037 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:33:42,040.040 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:33:44,080.080 INFO    ] ================================================
[2026-08-29 07:33:44,095.095 INFO    ] Launching Daemon at Sat Aug 29 07:33:44 IST 2026
[2026-08-29 07:33:44,106.106 INFO    ] ================================================
[2026-08-29 07:33:44,460.460 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:33:44
[2026-08-29 07:33:45,013.013 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:33:45,267.267 INFO    ] Initializing speech engine...
[2026-08-29 07:33:45,273.273 INFO    ] 2026-08-29 07:33:45
[2026-08-29 07:33:45,571.571 INFO    ] 2026-08-29 07:33:45
[2026-08-29 07:33:45,606.606 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:33:45,756.756 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:33:45,762.762 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:33:45,918.918 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:33:45,929.929 INFO    ] time= 29/08/2026 07:33:45
[2026-08-29 07:33:45,936.936 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:33:45,959.959 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:33:46,011.011 INFO    ] No existing commands found in stream
[2026-08-29 07:33:51,022.022 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:33:51,025.025 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-08-29 07:33:53,917.917 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:33:53,919.919 INFO    ] Checking for system updates...
[2026-08-29 07:33:53,956.956 INFO    ] 200
[2026-08-29 07:33:53,958.958 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:33:54,013.013 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:33:54,015.015 INFO    ] No update needed
[2026-08-29 07:33:54,017.017 INFO    ] Checking for camera pi updates...
[2026-08-29 07:33:54,055.055 INFO    ] 200
[2026-08-29 07:33:54,057.057 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:33:54,102.102 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:33:54,187.187 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:33:54,189.189 INFO    ] No camera update needed
[2026-08-29 07:33:54,191.191 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:33:54,194.194 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:33:54,199.199 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:33:54,203.203 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:33:56,244.244 INFO    ] ================================================
[2026-08-29 07:33:56,260.260 INFO    ] Launching Daemon at Sat Aug 29 07:33:56 IST 2026
[2026-08-29 07:33:56,271.271 INFO    ] ================================================
[2026-08-29 07:33:56,824.824 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:33:56
[2026-08-29 07:33:57,164.164 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:33:57,420.420 INFO    ] Initializing speech engine...
[2026-08-29 07:33:57,427.427 INFO    ] 2026-08-29 07:33:57
[2026-08-29 07:33:57,727.727 INFO    ] 2026-08-29 07:33:57
[2026-08-29 07:33:57,763.763 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:33:57,911.911 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:33:57,917.917 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:33:58,074.074 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:33:58,086.086 INFO    ] time= 29/08/2026 07:33:58
[2026-08-29 07:33:58,090.090 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:33:58,095.095 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:33:58,155.155 INFO    ] No existing commands found in stream
[2026-08-29 07:34:03,174.174 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:34:03,178.178 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-08-29 07:34:05,630.630 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:34:05,632.632 INFO    ] Checking for system updates...
[2026-08-29 07:34:05,652.652 INFO    ] 200
[2026-08-29 07:34:05,654.654 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:34:05,686.686 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:34:05,688.688 INFO    ] No update needed
[2026-08-29 07:34:05,691.691 INFO    ] Checking for camera pi updates...
[2026-08-29 07:34:05,727.727 INFO    ] 200
[2026-08-29 07:34:05,729.729 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:34:05,777.777 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:34:05,856.856 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:34:05,859.859 INFO    ] No camera update needed
[2026-08-29 07:34:05,861.861 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:34:05,863.863 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:34:05,869.869 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:34:05,874.874 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:34:07,914.914 INFO    ] ================================================
[2026-08-29 07:34:07,929.929 INFO    ] Launching Daemon at Sat Aug 29 07:34:07 IST 2026
[2026-08-29 07:34:07,940.940 INFO    ] ================================================
[2026-08-29 07:34:08,510.510 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:34:08
[2026-08-29 07:34:08,966.966 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:34:09,106.106 INFO    ] Initializing speech engine...
[2026-08-29 07:34:09,117.117 INFO    ] 2026-08-29 07:34:09
[2026-08-29 07:34:09,331.331 INFO    ] 2026-08-29 07:34:09
[2026-08-29 07:34:09,362.362 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:34:09,492.492 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:34:09,550.550 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:34:09,699.699 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:34:09,755.755 INFO    ] time= 29/08/2026 07:34:09
[2026-08-29 07:34:09,804.804 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:34:09,806.806 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:34:09,880.880 INFO    ] No existing commands found in stream
[2026-08-29 07:34:14,891.891 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:34:14,894.894 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-08-29 07:34:17,283.283 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:34:17,285.285 INFO    ] Checking for system updates...
[2026-08-29 07:34:17,321.321 INFO    ] 200
[2026-08-29 07:34:17,324.324 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:34:17,377.377 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:34:17,379.379 INFO    ] No update needed
[2026-08-29 07:34:17,381.381 INFO    ] Checking for camera pi updates...
[2026-08-29 07:34:17,418.418 INFO    ] 200
[2026-08-29 07:34:17,420.420 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:34:17,465.465 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:34:17,547.547 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:34:17,549.549 INFO    ] No camera update needed
[2026-08-29 07:34:17,551.551 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:34:17,554.554 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:34:17,559.559 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:34:17,564.564 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:34:19,605.605 INFO    ] ================================================
[2026-08-29 07:34:19,621.621 INFO    ] Launching Daemon at Sat Aug 29 07:34:19 IST 2026
[2026-08-29 07:34:19,632.632 INFO    ] ================================================
[2026-08-29 07:34:20,001.001 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:34:19
[2026-08-29 07:34:20,336.336 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:34:20,482.482 INFO    ] Initializing speech engine...
[2026-08-29 07:34:20,492.492 INFO    ] 2026-08-29 07:34:20
[2026-08-29 07:34:20,704.704 INFO    ] 2026-08-29 07:34:20
[2026-08-29 07:34:20,733.733 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:34:20,858.858 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:34:20,900.900 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:34:21,068.068 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:34:21,132.132 INFO    ] time= 29/08/2026 07:34:21
[2026-08-29 07:34:21,155.155 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:34:21,162.162 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:34:21,229.229 INFO    ] No existing commands found in stream
[2026-08-29 07:34:26,240.240 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:34:26,243.243 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-08-29 07:34:28,979.979 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:34:28,982.982 INFO    ] Checking for system updates...
[2026-08-29 07:34:29,019.019 INFO    ] 200
[2026-08-29 07:34:29,021.021 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:34:29,077.077 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:34:29,079.079 INFO    ] No update needed
[2026-08-29 07:34:29,082.082 INFO    ] Checking for camera pi updates...
[2026-08-29 07:34:29,116.116 INFO    ] 200
[2026-08-29 07:34:29,119.119 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:34:29,159.159 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:34:29,255.255 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:34:29,258.258 INFO    ] No camera update needed
[2026-08-29 07:34:29,260.260 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:34:29,263.263 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:34:29,268.268 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:34:29,273.273 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:34:31,314.314 INFO    ] ================================================
[2026-08-29 07:34:31,329.329 INFO    ] Launching Daemon at Sat Aug 29 07:34:31 IST 2026
[2026-08-29 07:34:31,341.341 INFO    ] ================================================
[2026-08-29 07:34:31,922.922 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:34:31
[2026-08-29 07:34:32,459.459 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:34:32,750.750 INFO    ] Initializing speech engine...
[2026-08-29 07:34:32,758.758 INFO    ] 2026-08-29 07:34:32
[2026-08-29 07:34:33,008.008 INFO    ] 2026-08-29 07:34:33
[2026-08-29 07:34:33,041.041 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:34:33,220.220 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:34:33,226.226 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:34:33,379.379 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:34:33,389.389 INFO    ] time= 29/08/2026 07:34:33
[2026-08-29 07:34:33,396.396 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:34:33,418.418 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:34:33,499.499 INFO    ] No existing commands found in stream
[2026-08-29 07:34:38,529.529 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:34:38,532.532 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-08-29 07:34:39,667.667 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:34:39,669.669 INFO    ] Checking for system updates...
[2026-08-29 07:34:39,690.690 INFO    ] 200
[2026-08-29 07:34:39,692.692 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:34:39,721.721 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:34:39,723.723 INFO    ] No update needed
[2026-08-29 07:34:39,724.724 INFO    ] Checking for camera pi updates...
[2026-08-29 07:34:39,744.744 INFO    ] 200
[2026-08-29 07:34:39,745.745 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:34:39,771.771 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:34:39,856.856 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:34:39,857.857 INFO    ] No camera update needed
[2026-08-29 07:34:39,858.858 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:34:39,860.860 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:34:39,863.863 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:34:39,865.865 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:34:41,907.907 INFO    ] ================================================
[2026-08-29 07:34:41,922.922 INFO    ] Launching Daemon at Sat Aug 29 07:34:41 IST 2026
[2026-08-29 07:34:41,933.933 INFO    ] ================================================
[2026-08-29 07:34:42,291.291 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:34:42
[2026-08-29 07:34:42,608.608 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:34:42,744.744 INFO    ] Initializing speech engine...
[2026-08-29 07:34:42,747.747 INFO    ] 2026-08-29 07:34:42
[2026-08-29 07:34:42,975.975 INFO    ] 2026-08-29 07:34:42
[2026-08-29 07:34:43,005.005 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:34:43,144.144 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:34:43,175.175 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:34:43,324.324 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:34:43,331.331 INFO    ] time= 29/08/2026 07:34:43
[2026-08-29 07:34:43,350.350 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:34:43,374.374 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:34:43,468.468 INFO    ] No existing commands found in stream
[2026-08-29 07:34:48,499.499 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:34:48,502.502 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-08-29 07:34:52,244.244 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:34:52,245.245 INFO    ] Checking for system updates...
[2026-08-29 07:34:52,267.267 INFO    ] 200
[2026-08-29 07:34:52,268.268 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:34:52,300.300 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:34:52,301.301 INFO    ] No update needed
[2026-08-29 07:34:52,302.302 INFO    ] Checking for camera pi updates...
[2026-08-29 07:34:52,323.323 INFO    ] 200
[2026-08-29 07:34:52,324.324 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:34:52,347.347 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:34:52,426.426 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:34:52,427.427 INFO    ] No camera update needed
[2026-08-29 07:34:52,428.428 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:34:52,429.429 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:34:52,432.432 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:34:52,435.435 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:34:54,474.474 INFO    ] ================================================
[2026-08-29 07:34:54,490.490 INFO    ] Launching Daemon at Sat Aug 29 07:34:54 IST 2026
[2026-08-29 07:34:54,501.501 INFO    ] ================================================
[2026-08-29 07:34:54,882.882 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:34:54
[2026-08-29 07:34:55,216.216 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:34:55,367.367 INFO    ] Initializing speech engine...
[2026-08-29 07:34:55,372.372 INFO    ] 2026-08-29 07:34:55
[2026-08-29 07:34:55,597.597 INFO    ] 2026-08-29 07:34:55
[2026-08-29 07:34:55,659.659 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:34:55,811.811 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:34:55,817.817 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:34:55,949.949 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:34:56,008.008 INFO    ] time= 29/08/2026 07:34:55
[2026-08-29 07:34:56,078.078 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:34:56,088.088 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:34:56,209.209 INFO    ] No existing commands found in stream
[2026-08-29 07:35:01,235.235 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:35:01,238.238 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-08-29 07:35:02,240.240 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:35:02,243.243 INFO    ] Checking for system updates...
[2026-08-29 07:35:02,297.297 INFO    ] 200
[2026-08-29 07:35:02,300.300 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:35:02,368.368 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:35:02,372.372 INFO    ] No update needed
[2026-08-29 07:35:02,375.375 INFO    ] Checking for camera pi updates...
[2026-08-29 07:35:02,416.416 INFO    ] 200
[2026-08-29 07:35:02,419.419 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:35:02,470.470 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:35:02,704.704 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:35:02,707.707 INFO    ] No camera update needed
[2026-08-29 07:35:02,710.710 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:35:02,713.713 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:35:02,720.720 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:35:02,726.726 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:35:04,767.767 INFO    ] ================================================
[2026-08-29 07:35:04,783.783 INFO    ] Launching Daemon at Sat Aug 29 07:35:04 IST 2026
[2026-08-29 07:35:04,794.794 INFO    ] ================================================
[2026-08-29 07:35:05,258.258 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:35:05
[2026-08-29 07:35:05,590.590 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:35:05,740.740 INFO    ] Initializing speech engine...
[2026-08-29 07:35:05,745.745 INFO    ] 2026-08-29 07:35:05
[2026-08-29 07:35:05,951.951 INFO    ] 2026-08-29 07:35:05
[2026-08-29 07:35:05,980.980 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:35:06,129.129 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:35:06,136.136 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:35:06,296.296 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:35:06,340.340 INFO    ] time= 29/08/2026 07:35:06
[2026-08-29 07:35:06,347.347 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:35:06,368.368 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:35:06,425.425 INFO    ] No existing commands found in stream
[2026-08-29 07:35:11,456.456 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:35:11,460.460 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-08-29 07:35:13,696.696 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:35:13,697.697 INFO    ] Checking for system updates...
[2026-08-29 07:35:13,719.719 INFO    ] 200
[2026-08-29 07:35:13,720.720 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:35:13,752.752 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:35:13,754.754 INFO    ] No update needed
[2026-08-29 07:35:13,755.755 INFO    ] Checking for camera pi updates...
[2026-08-29 07:35:13,775.775 INFO    ] 200
[2026-08-29 07:35:13,776.776 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:35:13,800.800 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:35:13,894.894 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:35:13,896.896 INFO    ] No camera update needed
[2026-08-29 07:35:13,897.897 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:35:13,899.899 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:35:13,902.902 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:35:13,906.906 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:35:15,945.945 INFO    ] ================================================
[2026-08-29 07:35:15,960.960 INFO    ] Launching Daemon at Sat Aug 29 07:35:15 IST 2026
[2026-08-29 07:35:15,972.972 INFO    ] ================================================
[2026-08-29 07:35:16,300.300 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:35:16
[2026-08-29 07:35:16,611.611 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:35:16,745.745 INFO    ] Initializing speech engine...
[2026-08-29 07:35:16,753.753 INFO    ] 2026-08-29 07:35:16
[2026-08-29 07:35:16,976.976 INFO    ] 2026-08-29 07:35:16
[2026-08-29 07:35:17,006.006 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:35:17,178.178 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:35:17,185.185 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:35:17,329.329 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:35:17,334.334 INFO    ] time= 29/08/2026 07:35:17
[2026-08-29 07:35:17,353.353 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:35:17,384.384 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:35:17,488.488 INFO    ] No existing commands found in stream
[2026-08-29 07:35:22,511.511 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:35:22,514.514 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-08-29 07:35:26,750.750 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:35:26,752.752 INFO    ] Checking for system updates...
[2026-08-29 07:35:26,772.772 INFO    ] 200
[2026-08-29 07:35:26,774.774 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:35:26,804.804 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:35:26,805.805 INFO    ] No update needed
[2026-08-29 07:35:26,806.806 INFO    ] Checking for camera pi updates...
[2026-08-29 07:35:26,826.826 INFO    ] 200
[2026-08-29 07:35:26,827.827 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:35:26,852.852 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:35:26,931.931 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:35:26,933.933 INFO    ] No camera update needed
[2026-08-29 07:35:26,934.934 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:35:26,935.935 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:35:26,938.938 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:35:26,941.941 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:35:28,980.980 INFO    ] ================================================
[2026-08-29 07:35:29,996.996 INFO    ] Launching Daemon at Sat Aug 29 07:35:28 IST 2026
[2026-08-29 07:35:29,007.007 INFO    ] ================================================
[2026-08-29 07:35:29,484.484 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:35:29
[2026-08-29 07:35:30,069.069 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:35:30,344.344 INFO    ] Initializing speech engine...
[2026-08-29 07:35:30,352.352 INFO    ] 2026-08-29 07:35:30
[2026-08-29 07:35:30,616.616 INFO    ] 2026-08-29 07:35:30
[2026-08-29 07:35:30,651.651 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:35:30,827.827 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:35:30,846.846 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:35:30,978.978 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:35:30,986.986 INFO    ] time= 29/08/2026 07:35:30
[2026-08-29 07:35:30,991.991 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:35:31,012.012 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:35:31,111.111 INFO    ] No existing commands found in stream
[2026-08-29 07:35:36,123.123 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:35:36,125.125 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-08-29 07:35:37,224.224 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:35:37,226.226 INFO    ] Checking for system updates...
[2026-08-29 07:35:37,246.246 INFO    ] 200
[2026-08-29 07:35:37,247.247 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:35:37,283.283 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:35:37,285.285 INFO    ] No update needed
[2026-08-29 07:35:37,287.287 INFO    ] Checking for camera pi updates...
[2026-08-29 07:35:37,321.321 INFO    ] 200
[2026-08-29 07:35:37,324.324 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:35:37,365.365 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:35:37,473.473 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:35:37,475.475 INFO    ] No camera update needed
[2026-08-29 07:35:37,477.477 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:35:37,480.480 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:35:37,485.485 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:35:37,490.490 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:35:39,530.530 INFO    ] ================================================
[2026-08-29 07:35:39,545.545 INFO    ] Launching Daemon at Sat Aug 29 07:35:39 IST 2026
[2026-08-29 07:35:39,556.556 INFO    ] ================================================
[2026-08-29 07:35:40,120.120 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:35:40
[2026-08-29 07:35:40,561.561 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:35:40,784.784 INFO    ] Initializing speech engine...
[2026-08-29 07:35:40,799.799 INFO    ] 2026-08-29 07:35:40
[2026-08-29 07:35:41,054.054 INFO    ] 2026-08-29 07:35:41
[2026-08-29 07:35:41,089.089 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:35:41,265.265 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:35:41,278.278 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:35:41,390.390 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:35:41,409.409 INFO    ] time= 29/08/2026 07:35:41
[2026-08-29 07:35:41,432.432 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:35:41,438.438 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:35:41,506.506 INFO    ] No existing commands found in stream
[2026-08-29 07:35:46,518.518 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:35:46,521.521 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 07:35:48,346.346 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:35:48,348.348 INFO    ] Checking for system updates...
[2026-08-29 07:35:48,389.389 INFO    ] 200
[2026-08-29 07:35:48,392.392 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:35:48,447.447 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:35:48,449.449 INFO    ] No update needed
[2026-08-29 07:35:48,452.452 INFO    ] Checking for camera pi updates...
[2026-08-29 07:35:48,485.485 INFO    ] 200
[2026-08-29 07:35:48,488.488 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:35:48,528.528 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:35:48,614.614 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:35:48,616.616 INFO    ] No camera update needed
[2026-08-29 07:35:48,619.619 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:35:48,621.621 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:35:48,626.626 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:35:48,631.631 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:35:50,672.672 INFO    ] ================================================
[2026-08-29 07:35:50,687.687 INFO    ] Launching Daemon at Sat Aug 29 07:35:50 IST 2026
[2026-08-29 07:35:50,698.698 INFO    ] ================================================
[2026-08-29 07:35:51,025.025 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:35:51
[2026-08-29 07:35:51,372.372 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:35:51,643.643 INFO    ] Initializing speech engine...
[2026-08-29 07:35:51,652.652 INFO    ] 2026-08-29 07:35:51
[2026-08-29 07:35:51,913.913 INFO    ] 2026-08-29 07:35:51
[2026-08-29 07:35:51,948.948 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:35:52,139.139 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:35:52,161.161 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:35:52,279.279 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:35:52,287.287 INFO    ] time= 29/08/2026 07:35:52
[2026-08-29 07:35:52,332.332 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:35:52,353.353 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:35:52,462.462 INFO    ] No existing commands found in stream
[2026-08-29 07:35:57,493.493 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:35:57,505.505 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-08-29 07:35:58,005.005 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:35:58,007.007 INFO    ] Checking for system updates...
[2026-08-29 07:35:58,028.028 INFO    ] 200
[2026-08-29 07:35:58,029.029 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:35:58,066.066 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:35:58,069.069 INFO    ] No update needed
[2026-08-29 07:35:58,072.072 INFO    ] Checking for camera pi updates...
[2026-08-29 07:35:58,107.107 INFO    ] 200
[2026-08-29 07:35:58,110.110 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:35:58,151.151 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:35:58,231.231 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:35:58,234.234 INFO    ] No camera update needed
[2026-08-29 07:35:58,237.237 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:35:58,239.239 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:35:58,245.245 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:35:58,251.251 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:36:00,293.293 INFO    ] ================================================
[2026-08-29 07:36:00,308.308 INFO    ] Launching Daemon at Sat Aug 29 07:36:00 IST 2026
[2026-08-29 07:36:00,319.319 INFO    ] ================================================
[2026-08-29 07:36:00,888.888 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:36:00
[2026-08-29 07:36:01,337.337 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:36:01,466.466 INFO    ] Initializing speech engine...
[2026-08-29 07:36:01,471.471 INFO    ] 2026-08-29 07:36:01
[2026-08-29 07:36:01,783.783 INFO    ] 2026-08-29 07:36:01
[2026-08-29 07:36:01,861.861 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:36:02,025.025 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:36:02,029.029 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:36:02,183.183 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:36:02,195.195 INFO    ] time= 29/08/2026 07:36:02
[2026-08-29 07:36:02,200.200 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:36:02,227.227 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:36:02,281.281 INFO    ] No existing commands found in stream
[2026-08-29 07:36:07,296.296 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:36:07,299.299 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-08-29 07:36:10,345.345 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:36:10,347.347 INFO    ] Checking for system updates...
[2026-08-29 07:36:10,367.367 INFO    ] 200
[2026-08-29 07:36:10,368.368 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:36:10,398.398 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:36:10,400.400 INFO    ] No update needed
[2026-08-29 07:36:10,401.401 INFO    ] Checking for camera pi updates...
[2026-08-29 07:36:10,421.421 INFO    ] 200
[2026-08-29 07:36:10,422.422 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:36:10,446.446 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:36:10,527.527 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:36:10,528.528 INFO    ] No camera update needed
[2026-08-29 07:36:10,529.529 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:36:10,530.530 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:36:10,533.533 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:36:10,536.536 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:36:12,575.575 INFO    ] ================================================
[2026-08-29 07:36:12,590.590 INFO    ] Launching Daemon at Sat Aug 29 07:36:12 IST 2026
[2026-08-29 07:36:12,601.601 INFO    ] ================================================
[2026-08-29 07:36:13,082.082 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:36:13
[2026-08-29 07:36:13,685.685 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:36:13,960.960 INFO    ] Initializing speech engine...
[2026-08-29 07:36:13,969.969 INFO    ] 2026-08-29 07:36:13
[2026-08-29 07:36:14,226.226 INFO    ] 2026-08-29 07:36:14
[2026-08-29 07:36:14,286.286 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:36:14,508.508 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:36:14,517.517 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:36:14,652.652 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:36:14,686.686 INFO    ] time= 29/08/2026 07:36:14
[2026-08-29 07:36:14,746.746 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:36:14,782.782 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:36:14,837.837 INFO    ] No existing commands found in stream
[2026-08-29 07:36:19,850.850 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:36:19,853.853 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-08-29 07:36:21,768.768 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:36:21,770.770 INFO    ] Checking for system updates...
[2026-08-29 07:36:21,790.790 INFO    ] 200
[2026-08-29 07:36:21,791.791 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:36:21,823.823 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:36:21,825.825 INFO    ] No update needed
[2026-08-29 07:36:21,826.826 INFO    ] Checking for camera pi updates...
[2026-08-29 07:36:21,845.845 INFO    ] 200
[2026-08-29 07:36:21,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:36:21,869.869 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:36:21,948.948 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:36:21,949.949 INFO    ] No camera update needed
[2026-08-29 07:36:21,950.950 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:36:21,952.952 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:36:21,955.955 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:36:21,957.957 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:36:24,996.996 INFO    ] ================================================
[2026-08-29 07:36:24,011.011 INFO    ] Launching Daemon at Sat Aug 29 07:36:24 IST 2026
[2026-08-29 07:36:24,021.021 INFO    ] ================================================
[2026-08-29 07:36:24,386.386 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:36:24
[2026-08-29 07:36:24,704.704 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:36:24,838.838 INFO    ] Initializing speech engine...
[2026-08-29 07:36:24,852.852 INFO    ] 2026-08-29 07:36:24
[2026-08-29 07:36:25,059.059 INFO    ] 2026-08-29 07:36:25
[2026-08-29 07:36:25,138.138 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:36:25,285.285 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:36:25,294.294 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:36:25,426.426 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:36:25,453.453 INFO    ] time= 29/08/2026 07:36:25
[2026-08-29 07:36:25,507.507 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:36:25,558.558 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:36:25,614.614 INFO    ] No existing commands found in stream
[2026-08-29 07:36:30,626.626 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:36:30,629.629 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-08-29 07:36:33,121.121 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:36:33,124.124 INFO    ] Checking for system updates...
[2026-08-29 07:36:33,159.159 INFO    ] 200
[2026-08-29 07:36:33,162.162 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:36:33,216.216 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:36:33,218.218 INFO    ] No update needed
[2026-08-29 07:36:33,223.223 INFO    ] Checking for camera pi updates...
[2026-08-29 07:36:33,259.259 INFO    ] 200
[2026-08-29 07:36:33,262.262 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:36:33,303.303 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:36:33,404.404 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:36:33,406.406 INFO    ] No camera update needed
[2026-08-29 07:36:33,408.408 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:36:33,410.410 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:36:33,416.416 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:36:33,421.421 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:36:35,461.461 INFO    ] ================================================
[2026-08-29 07:36:35,476.476 INFO    ] Launching Daemon at Sat Aug 29 07:36:35 IST 2026
[2026-08-29 07:36:35,487.487 INFO    ] ================================================
[2026-08-29 07:36:35,946.946 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:36:35
[2026-08-29 07:36:36,533.533 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:36:36,779.779 INFO    ] Initializing speech engine...
[2026-08-29 07:36:36,788.788 INFO    ] 2026-08-29 07:36:36
[2026-08-29 07:36:37,082.082 INFO    ] 2026-08-29 07:36:37
[2026-08-29 07:36:37,120.120 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:36:37,310.310 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:36:37,317.317 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:36:37,446.446 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:36:37,452.452 INFO    ] time= 29/08/2026 07:36:37
[2026-08-29 07:36:37,473.473 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:36:37,494.494 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:36:37,574.574 INFO    ] No existing commands found in stream
[2026-08-29 07:36:42,587.587 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:36:42,589.589 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-08-29 07:36:43,078.078 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:36:43,080.080 INFO    ] Checking for system updates...
[2026-08-29 07:36:43,100.100 INFO    ] 200
[2026-08-29 07:36:43,101.101 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:36:43,132.132 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:36:43,133.133 INFO    ] No update needed
[2026-08-29 07:36:43,134.134 INFO    ] Checking for camera pi updates...
[2026-08-29 07:36:43,153.153 INFO    ] 200
[2026-08-29 07:36:43,155.155 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:36:43,179.179 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:36:43,378.378 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:36:43,381.381 INFO    ] No camera update needed
[2026-08-29 07:36:43,383.383 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:36:43,385.385 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:36:43,391.391 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:36:43,395.395 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:36:45,436.436 INFO    ] ================================================
[2026-08-29 07:36:45,451.451 INFO    ] Launching Daemon at Sat Aug 29 07:36:45 IST 2026
[2026-08-29 07:36:45,462.462 INFO    ] ================================================
[2026-08-29 07:36:46,054.054 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:36:46
[2026-08-29 07:36:46,563.563 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:36:46,841.841 INFO    ] Initializing speech engine...
[2026-08-29 07:36:46,847.847 INFO    ] 2026-08-29 07:36:46
[2026-08-29 07:36:47,095.095 INFO    ] 2026-08-29 07:36:47
[2026-08-29 07:36:47,160.160 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:36:47,382.382 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:36:47,391.391 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:36:47,527.527 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:36:47,571.571 INFO    ] time= 29/08/2026 07:36:47
[2026-08-29 07:36:47,631.631 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:36:47,660.660 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:36:47,714.714 INFO    ] No existing commands found in stream
[2026-08-29 07:36:52,724.724 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:36:52,727.727 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 07:36:54,309.309 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:36:54,310.310 INFO    ] Checking for system updates...
[2026-08-29 07:36:54,330.330 INFO    ] 200
[2026-08-29 07:36:54,332.332 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:36:54,361.361 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:36:54,363.363 INFO    ] No update needed
[2026-08-29 07:36:54,364.364 INFO    ] Checking for camera pi updates...
[2026-08-29 07:36:54,384.384 INFO    ] 200
[2026-08-29 07:36:54,385.385 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:36:54,681.681 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:36:54,784.784 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:36:54,786.786 INFO    ] No camera update needed
[2026-08-29 07:36:54,789.789 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:36:54,791.791 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:36:54,796.796 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:36:54,801.801 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:36:56,842.842 INFO    ] ================================================
[2026-08-29 07:36:56,857.857 INFO    ] Launching Daemon at Sat Aug 29 07:36:56 IST 2026
[2026-08-29 07:36:56,868.868 INFO    ] ================================================
[2026-08-29 07:36:57,438.438 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:36:57
[2026-08-29 07:36:57,810.810 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:36:57,954.954 INFO    ] Initializing speech engine...
[2026-08-29 07:36:57,959.959 INFO    ] 2026-08-29 07:36:57
[2026-08-29 07:36:58,165.165 INFO    ] 2026-08-29 07:36:58
[2026-08-29 07:36:58,216.216 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:36:58,377.377 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:36:58,386.386 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:36:58,551.551 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:36:58,592.592 INFO    ] time= 29/08/2026 07:36:58
[2026-08-29 07:36:58,598.598 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:36:58,619.619 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:36:58,719.719 INFO    ] No existing commands found in stream
[2026-08-29 07:37:03,747.747 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:37:03,749.749 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-08-29 07:37:07,675.675 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:37:07,677.677 INFO    ] Checking for system updates...
[2026-08-29 07:37:07,697.697 INFO    ] 200
[2026-08-29 07:37:07,699.699 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:37:07,729.729 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:37:07,730.730 INFO    ] No update needed
[2026-08-29 07:37:07,732.732 INFO    ] Checking for camera pi updates...
[2026-08-29 07:37:07,751.751 INFO    ] 200
[2026-08-29 07:37:07,752.752 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:37:07,779.779 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:37:07,872.872 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:37:07,874.874 INFO    ] No camera update needed
[2026-08-29 07:37:07,875.875 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:37:07,876.876 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:37:07,879.879 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:37:07,881.881 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:37:09,920.920 INFO    ] ================================================
[2026-08-29 07:37:10,042.042 INFO    ] Launching Daemon at Sat Aug 29 07:37:10 IST 2026
[2026-08-29 07:37:10,053.053 INFO    ] ================================================
[2026-08-29 07:37:10,410.410 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:37:10
[2026-08-29 07:37:10,738.738 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:37:10,887.887 INFO    ] Initializing speech engine...
[2026-08-29 07:37:10,892.892 INFO    ] 2026-08-29 07:37:10
[2026-08-29 07:37:11,101.101 INFO    ] 2026-08-29 07:37:11
[2026-08-29 07:37:11,129.129 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:37:11,282.282 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:37:11,320.320 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:37:11,455.455 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:37:11,474.474 INFO    ] time= 29/08/2026 07:37:11
[2026-08-29 07:37:11,484.484 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:37:11,510.510 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:37:11,619.619 INFO    ] No existing commands found in stream
[2026-08-29 07:37:16,655.655 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:37:16,658.658 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-08-29 07:37:17,604.604 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:37:17,605.605 INFO    ] Checking for system updates...
[2026-08-29 07:37:17,626.626 INFO    ] 200
[2026-08-29 07:37:17,627.627 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:37:17,657.657 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:37:17,659.659 INFO    ] No update needed
[2026-08-29 07:37:17,660.660 INFO    ] Checking for camera pi updates...
[2026-08-29 07:37:17,680.680 INFO    ] 200
[2026-08-29 07:37:17,682.682 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:37:17,707.707 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:37:17,815.815 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:37:17,816.816 INFO    ] No camera update needed
[2026-08-29 07:37:17,817.817 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:37:17,819.819 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:37:17,822.822 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:37:17,825.825 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:37:19,864.864 INFO    ] ================================================
[2026-08-29 07:37:19,879.879 INFO    ] Launching Daemon at Sat Aug 29 07:37:19 IST 2026
[2026-08-29 07:37:19,890.890 INFO    ] ================================================
[2026-08-29 07:37:20,243.243 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:37:20
[2026-08-29 07:37:20,556.556 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:37:20,690.690 INFO    ] Initializing speech engine...
[2026-08-29 07:37:20,702.702 INFO    ] 2026-08-29 07:37:20
[2026-08-29 07:37:20,910.910 INFO    ] 2026-08-29 07:37:20
[2026-08-29 07:37:20,939.939 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:37:21,085.085 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:37:21,093.093 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:37:21,256.256 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:37:21,296.296 INFO    ] time= 29/08/2026 07:37:21
[2026-08-29 07:37:21,302.302 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:37:21,321.321 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:37:21,430.430 INFO    ] No existing commands found in stream
[2026-08-29 07:37:26,454.454 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:37:26,457.457 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-08-29 07:37:27,784.784 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:37:27,786.786 INFO    ] Checking for system updates...
[2026-08-29 07:37:27,806.806 INFO    ] 200
[2026-08-29 07:37:27,807.807 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:37:27,839.839 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:37:27,840.840 INFO    ] No update needed
[2026-08-29 07:37:27,841.841 INFO    ] Checking for camera pi updates...
[2026-08-29 07:37:27,860.860 INFO    ] 200
[2026-08-29 07:37:27,862.862 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:37:27,887.887 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:37:27,963.963 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:37:27,964.964 INFO    ] No camera update needed
[2026-08-29 07:37:27,965.965 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:37:27,966.966 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:37:27,969.969 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:37:27,972.972 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:37:30,012.012 INFO    ] ================================================
[2026-08-29 07:37:30,027.027 INFO    ] Launching Daemon at Sat Aug 29 07:37:30 IST 2026
[2026-08-29 07:37:30,037.037 INFO    ] ================================================
[2026-08-29 07:37:30,366.366 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:37:30
[2026-08-29 07:37:30,678.678 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:37:30,821.821 INFO    ] Initializing speech engine...
[2026-08-29 07:37:30,827.827 INFO    ] 2026-08-29 07:37:30
[2026-08-29 07:37:31,031.031 INFO    ] 2026-08-29 07:37:31
[2026-08-29 07:37:31,059.059 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:37:31,181.181 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:37:31,223.223 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:37:31,372.372 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:37:31,429.429 INFO    ] time= 29/08/2026 07:37:31
[2026-08-29 07:37:31,463.463 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:37:31,473.473 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:37:31,549.549 INFO    ] No existing commands found in stream
[2026-08-29 07:37:36,564.564 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:37:36,567.567 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-08-29 07:37:38,501.501 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:37:38,503.503 INFO    ] Checking for system updates...
[2026-08-29 07:37:38,523.523 INFO    ] 200
[2026-08-29 07:37:38,525.525 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:37:38,555.555 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:37:38,557.557 INFO    ] No update needed
[2026-08-29 07:37:38,558.558 INFO    ] Checking for camera pi updates...
[2026-08-29 07:37:38,580.580 INFO    ] 200
[2026-08-29 07:37:38,581.581 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:37:38,604.604 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:37:38,713.713 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:37:38,714.714 INFO    ] No camera update needed
[2026-08-29 07:37:38,715.715 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:37:38,717.717 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:37:38,720.720 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:37:38,722.722 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:37:40,762.762 INFO    ] ================================================
[2026-08-29 07:37:40,778.778 INFO    ] Launching Daemon at Sat Aug 29 07:37:40 IST 2026
[2026-08-29 07:37:40,788.788 INFO    ] ================================================
[2026-08-29 07:37:41,152.152 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:37:41
[2026-08-29 07:37:41,464.464 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:37:41,596.596 INFO    ] Initializing speech engine...
[2026-08-29 07:37:41,608.608 INFO    ] 2026-08-29 07:37:41
[2026-08-29 07:37:41,810.810 INFO    ] 2026-08-29 07:37:41
[2026-08-29 07:37:41,892.892 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:37:42,043.043 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:37:42,052.052 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:37:42,187.187 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:37:42,194.194 INFO    ] time= 29/08/2026 07:37:42
[2026-08-29 07:37:42,243.243 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:37:42,292.292 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:37:42,374.374 INFO    ] No existing commands found in stream
[2026-08-29 07:37:47,385.385 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:37:47,388.388 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-08-29 07:37:50,598.598 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:37:50,600.600 INFO    ] Checking for system updates...
[2026-08-29 07:37:50,620.620 INFO    ] 200
[2026-08-29 07:37:50,621.621 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:37:50,653.653 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:37:50,654.654 INFO    ] No update needed
[2026-08-29 07:37:50,656.656 INFO    ] Checking for camera pi updates...
[2026-08-29 07:37:50,675.675 INFO    ] 200
[2026-08-29 07:37:50,676.676 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:37:50,698.698 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:37:50,796.796 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:37:50,798.798 INFO    ] No camera update needed
[2026-08-29 07:37:50,799.799 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:37:50,800.800 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:37:50,803.803 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:37:50,806.806 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:37:52,844.844 INFO    ] ================================================
[2026-08-29 07:37:52,859.859 INFO    ] Launching Daemon at Sat Aug 29 07:37:52 IST 2026
[2026-08-29 07:37:52,869.869 INFO    ] ================================================
[2026-08-29 07:37:53,199.199 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:37:53
[2026-08-29 07:37:53,513.513 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:37:53,743.743 INFO    ] Initializing speech engine...
[2026-08-29 07:37:53,751.751 INFO    ] 2026-08-29 07:37:53
[2026-08-29 07:37:54,041.041 INFO    ] 2026-08-29 07:37:54
[2026-08-29 07:37:54,079.079 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:37:54,271.271 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:37:54,285.285 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:37:54,409.409 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:37:54,424.424 INFO    ] time= 29/08/2026 07:37:54
[2026-08-29 07:37:54,450.450 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:37:54,459.459 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:37:54,534.534 INFO    ] No existing commands found in stream
[2026-08-29 07:37:59,546.546 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:37:59,549.549 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-08-29 07:38:01,237.237 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:38:01,239.239 INFO    ] Checking for system updates...
[2026-08-29 07:38:01,285.285 INFO    ] 200
[2026-08-29 07:38:01,288.288 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:38:01,382.382 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:38:01,386.386 INFO    ] No update needed
[2026-08-29 07:38:01,389.389 INFO    ] Checking for camera pi updates...
[2026-08-29 07:38:01,461.461 INFO    ] 200
[2026-08-29 07:38:01,466.466 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:38:01,532.532 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:38:01,660.660 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:38:01,664.664 INFO    ] No camera update needed
[2026-08-29 07:38:01,668.668 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:38:01,673.673 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:38:01,680.680 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:38:01,686.686 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:38:03,726.726 INFO    ] ================================================
[2026-08-29 07:38:03,741.741 INFO    ] Launching Daemon at Sat Aug 29 07:38:03 IST 2026
[2026-08-29 07:38:03,752.752 INFO    ] ================================================
[2026-08-29 07:38:04,332.332 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:38:04
[2026-08-29 07:38:04,695.695 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:38:04,920.920 INFO    ] Initializing speech engine...
[2026-08-29 07:38:04,936.936 INFO    ] 2026-08-29 07:38:04
[2026-08-29 07:38:05,215.215 INFO    ] 2026-08-29 07:38:05
[2026-08-29 07:38:05,253.253 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:38:05,449.449 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:38:05,463.463 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:38:05,619.619 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:38:05,628.628 INFO    ] time= 29/08/2026 07:38:05
[2026-08-29 07:38:05,633.633 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:38:05,640.640 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:38:05,710.710 INFO    ] No existing commands found in stream
[2026-08-29 07:38:10,724.724 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:38:10,727.727 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 07:38:12,836.836 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:38:12,839.839 INFO    ] Checking for system updates...
[2026-08-29 07:38:12,875.875 INFO    ] 200
[2026-08-29 07:38:12,878.878 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:38:12,932.932 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:38:12,935.935 INFO    ] No update needed
[2026-08-29 07:38:12,937.937 INFO    ] Checking for camera pi updates...
[2026-08-29 07:38:12,971.971 INFO    ] 200
[2026-08-29 07:38:12,974.974 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:38:13,018.018 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:38:13,117.117 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:38:13,120.120 INFO    ] No camera update needed
[2026-08-29 07:38:13,122.122 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:38:13,125.125 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:38:13,131.131 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:38:13,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:38:15,176.176 INFO    ] ================================================
[2026-08-29 07:38:15,192.192 INFO    ] Launching Daemon at Sat Aug 29 07:38:15 IST 2026
[2026-08-29 07:38:15,202.202 INFO    ] ================================================
[2026-08-29 07:38:15,552.552 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:38:15
[2026-08-29 07:38:15,894.894 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:38:16,150.150 INFO    ] Initializing speech engine...
[2026-08-29 07:38:16,156.156 INFO    ] 2026-08-29 07:38:16
[2026-08-29 07:38:16,445.445 INFO    ] 2026-08-29 07:38:16
[2026-08-29 07:38:16,484.484 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:38:16,673.673 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:38:16,679.679 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:38:16,811.811 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:38:16,816.816 INFO    ] time= 29/08/2026 07:38:16
[2026-08-29 07:38:16,831.831 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:38:16,857.857 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:38:16,939.939 INFO    ] No existing commands found in stream
[2026-08-29 07:38:21,954.954 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:38:21,957.957 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-08-29 07:38:25,241.241 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:38:25,244.244 INFO    ] Checking for system updates...
[2026-08-29 07:38:25,283.283 INFO    ] 200
[2026-08-29 07:38:25,285.285 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:38:25,343.343 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:38:25,346.346 INFO    ] No update needed
[2026-08-29 07:38:25,348.348 INFO    ] Checking for camera pi updates...
[2026-08-29 07:38:25,392.392 INFO    ] 200
[2026-08-29 07:38:25,394.394 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:38:25,453.453 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:38:25,538.538 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:38:25,541.541 INFO    ] No camera update needed
[2026-08-29 07:38:25,544.544 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:38:25,547.547 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:38:25,555.555 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:38:25,561.561 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:38:27,602.602 INFO    ] ================================================
[2026-08-29 07:38:27,618.618 INFO    ] Launching Daemon at Sat Aug 29 07:38:27 IST 2026
[2026-08-29 07:38:27,629.629 INFO    ] ================================================
[2026-08-29 07:38:28,171.171 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:38:28
[2026-08-29 07:38:28,483.483 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:38:28,616.616 INFO    ] Initializing speech engine...
[2026-08-29 07:38:28,624.624 INFO    ] 2026-08-29 07:38:28
[2026-08-29 07:38:28,846.846 INFO    ] 2026-08-29 07:38:28
[2026-08-29 07:38:28,877.877 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:38:29,007.007 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:38:29,050.050 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:38:29,212.212 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:38:29,264.264 INFO    ] time= 29/08/2026 07:38:29
[2026-08-29 07:38:29,297.297 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:38:29,320.320 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:38:29,395.395 INFO    ] No existing commands found in stream
[2026-08-29 07:38:34,405.405 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:38:34,408.408 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-08-29 07:38:37,747.747 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:38:37,749.749 INFO    ] Checking for system updates...
[2026-08-29 07:38:37,788.788 INFO    ] 200
[2026-08-29 07:38:37,790.790 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:38:37,842.842 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:38:37,844.844 INFO    ] No update needed
[2026-08-29 07:38:37,847.847 INFO    ] Checking for camera pi updates...
[2026-08-29 07:38:37,877.877 INFO    ] 200
[2026-08-29 07:38:37,878.878 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:38:37,903.903 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:38:37,983.983 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:38:37,984.984 INFO    ] No camera update needed
[2026-08-29 07:38:37,985.985 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:38:37,986.986 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:38:37,989.989 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:38:37,992.992 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:38:40,031.031 INFO    ] ================================================
[2026-08-29 07:38:40,054.054 INFO    ] Launching Daemon at Sat Aug 29 07:38:40 IST 2026
[2026-08-29 07:38:40,064.064 INFO    ] ================================================
[2026-08-29 07:38:40,413.413 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:38:40
[2026-08-29 07:38:40,730.730 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:38:40,863.863 INFO    ] Initializing speech engine...
[2026-08-29 07:38:40,868.868 INFO    ] 2026-08-29 07:38:40
[2026-08-29 07:38:41,096.096 INFO    ] 2026-08-29 07:38:41
[2026-08-29 07:38:41,127.127 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:38:41,251.251 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:38:41,256.256 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:38:41,375.375 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:38:41,397.397 INFO    ] time= 29/08/2026 07:38:41
[2026-08-29 07:38:41,446.446 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:38:41,506.506 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:38:41,577.577 INFO    ] No existing commands found in stream
[2026-08-29 07:38:46,590.590 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:38:46,593.593 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-08-29 07:38:48,594.594 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:38:48,596.596 INFO    ] Checking for system updates...
[2026-08-29 07:38:48,617.617 INFO    ] 200
[2026-08-29 07:38:48,618.618 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:38:48,649.649 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:38:48,650.650 INFO    ] No update needed
[2026-08-29 07:38:48,651.651 INFO    ] Checking for camera pi updates...
[2026-08-29 07:38:48,671.671 INFO    ] 200
[2026-08-29 07:38:48,673.673 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:38:48,696.696 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:38:48,859.859 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:38:48,860.860 INFO    ] No camera update needed
[2026-08-29 07:38:48,862.862 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:38:48,863.863 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:38:48,866.866 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:38:48,868.868 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:38:50,906.906 INFO    ] ================================================
[2026-08-29 07:38:50,921.921 INFO    ] Launching Daemon at Sat Aug 29 07:38:50 IST 2026
[2026-08-29 07:38:50,932.932 INFO    ] ================================================
[2026-08-29 07:38:51,284.284 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:38:51
[2026-08-29 07:38:51,601.601 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:38:51,745.745 INFO    ] Initializing speech engine...
[2026-08-29 07:38:51,750.750 INFO    ] 2026-08-29 07:38:51
[2026-08-29 07:38:51,938.938 INFO    ] 2026-08-29 07:38:51
[2026-08-29 07:38:51,988.988 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:38:52,210.210 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:38:52,219.219 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:38:52,350.350 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:38:52,377.377 INFO    ] time= 29/08/2026 07:38:52
[2026-08-29 07:38:52,437.437 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:38:52,484.484 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:38:52,538.538 INFO    ] No existing commands found in stream
[2026-08-29 07:38:57,550.550 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:38:57,553.553 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-08-29 07:39:00,305.305 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:39:00,307.307 INFO    ] Checking for system updates...
[2026-08-29 07:39:00,327.327 INFO    ] 200
[2026-08-29 07:39:00,328.328 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:39:00,361.361 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:39:00,363.363 INFO    ] No update needed
[2026-08-29 07:39:00,364.364 INFO    ] Checking for camera pi updates...
[2026-08-29 07:39:00,384.384 INFO    ] 200
[2026-08-29 07:39:00,385.385 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:39:00,410.410 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:39:00,516.516 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:39:00,518.518 INFO    ] No camera update needed
[2026-08-29 07:39:00,523.523 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:39:00,524.524 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:39:00,527.527 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:39:00,530.530 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:39:02,571.571 INFO    ] ================================================
[2026-08-29 07:39:02,587.587 INFO    ] Launching Daemon at Sat Aug 29 07:39:02 IST 2026
[2026-08-29 07:39:02,599.599 INFO    ] ================================================
[2026-08-29 07:39:03,190.190 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:39:03
[2026-08-29 07:39:03,797.797 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:39:04,073.073 INFO    ] Initializing speech engine...
[2026-08-29 07:39:04,084.084 INFO    ] 2026-08-29 07:39:04
[2026-08-29 07:39:04,337.337 INFO    ] 2026-08-29 07:39:04
[2026-08-29 07:39:04,399.399 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:39:04,588.588 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:39:04,592.592 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:39:04,724.724 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:39:04,733.733 INFO    ] time= 29/08/2026 07:39:04
[2026-08-29 07:39:04,738.738 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:39:04,753.753 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:39:04,845.845 INFO    ] No existing commands found in stream
[2026-08-29 07:39:09,866.866 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:39:09,869.869 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 07:39:12,128.128 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:39:12,129.129 INFO    ] Checking for system updates...
[2026-08-29 07:39:12,150.150 INFO    ] 200
[2026-08-29 07:39:12,151.151 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:39:12,181.181 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:39:12,183.183 INFO    ] No update needed
[2026-08-29 07:39:12,184.184 INFO    ] Checking for camera pi updates...
[2026-08-29 07:39:12,204.204 INFO    ] 200
[2026-08-29 07:39:12,206.206 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:39:12,229.229 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:39:12,321.321 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:39:12,323.323 INFO    ] No camera update needed
[2026-08-29 07:39:12,324.324 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:39:12,325.325 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:39:12,328.328 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:39:12,331.331 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:39:14,369.369 INFO    ] ================================================
[2026-08-29 07:39:14,384.384 INFO    ] Launching Daemon at Sat Aug 29 07:39:14 IST 2026
[2026-08-29 07:39:14,395.395 INFO    ] ================================================
[2026-08-29 07:39:14,723.723 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:39:14
[2026-08-29 07:39:15,036.036 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:39:15,168.168 INFO    ] Initializing speech engine...
[2026-08-29 07:39:15,181.181 INFO    ] 2026-08-29 07:39:15
[2026-08-29 07:39:15,391.391 INFO    ] 2026-08-29 07:39:15
[2026-08-29 07:39:15,419.419 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:39:15,544.544 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:39:15,603.603 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:39:15,756.756 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:39:15,811.811 INFO    ] time= 29/08/2026 07:39:15
[2026-08-29 07:39:15,846.846 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:39:15,891.891 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:39:15,999.999 INFO    ] No existing commands found in stream
[2026-08-29 07:39:21,013.013 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:39:21,016.016 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 07:39:24,580.580 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:39:24,582.582 INFO    ] Checking for system updates...
[2026-08-29 07:39:24,602.602 INFO    ] 200
[2026-08-29 07:39:24,604.604 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:39:24,636.636 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:39:24,637.637 INFO    ] No update needed
[2026-08-29 07:39:24,638.638 INFO    ] Checking for camera pi updates...
[2026-08-29 07:39:24,658.658 INFO    ] 200
[2026-08-29 07:39:24,660.660 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:39:24,682.682 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:39:24,763.763 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:39:24,764.764 INFO    ] No camera update needed
[2026-08-29 07:39:24,765.765 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:39:24,766.766 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:39:24,769.769 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:39:24,772.772 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:39:26,811.811 INFO    ] ================================================
[2026-08-29 07:39:26,827.827 INFO    ] Launching Daemon at Sat Aug 29 07:39:26 IST 2026
[2026-08-29 07:39:26,838.838 INFO    ] ================================================
[2026-08-29 07:39:27,182.182 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:39:27
[2026-08-29 07:39:27,629.629 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:39:27,903.903 INFO    ] Initializing speech engine...
[2026-08-29 07:39:27,913.913 INFO    ] 2026-08-29 07:39:27
[2026-08-29 07:39:28,162.162 INFO    ] 2026-08-29 07:39:28
[2026-08-29 07:39:28,197.197 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:39:28,373.373 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:39:28,386.386 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:39:28,532.532 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:39:28,539.539 INFO    ] time= 29/08/2026 07:39:28
[2026-08-29 07:39:28,544.544 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:39:28,552.552 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:39:28,676.676 INFO    ] No existing commands found in stream
[2026-08-29 07:39:33,701.701 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:39:33,704.704 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 07:39:35,795.795 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:39:35,798.798 INFO    ] Checking for system updates...
[2026-08-29 07:39:35,840.840 INFO    ] 200
[2026-08-29 07:39:35,843.843 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:39:35,903.903 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:39:35,906.906 INFO    ] No update needed
[2026-08-29 07:39:35,909.909 INFO    ] Checking for camera pi updates...
[2026-08-29 07:39:35,943.943 INFO    ] 200
[2026-08-29 07:39:35,946.946 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:39:35,986.986 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:39:36,145.145 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:39:36,148.148 INFO    ] No camera update needed
[2026-08-29 07:39:36,150.150 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:39:36,153.153 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:39:36,158.158 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:39:36,163.163 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:39:38,197.197 INFO    ] ================================================
[2026-08-29 07:39:38,213.213 INFO    ] Launching Daemon at Sat Aug 29 07:39:38 IST 2026
[2026-08-29 07:39:38,224.224 INFO    ] ================================================
[2026-08-29 07:39:38,810.810 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:39:38
[2026-08-29 07:39:39,408.408 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:39:39,698.698 INFO    ] Initializing speech engine...
[2026-08-29 07:39:39,705.705 INFO    ] 2026-08-29 07:39:39
[2026-08-29 07:39:39,995.995 INFO    ] 2026-08-29 07:39:39
[2026-08-29 07:39:40,032.032 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:39:42,328.328 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:39:42,364.364 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:39:45,580.580 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:39:45,583.583 INFO    ] time= 29/08/2026 07:39:45
[2026-08-29 07:39:45,586.586 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:39:45,588.588 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:39:45,875.875 INFO    ] No existing commands found in stream
[2026-08-29 07:39:50,884.884 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:39:50,885.885 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-08-29 07:39:53,577.577 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:39:53,578.578 INFO    ] Checking for system updates...
[2026-08-29 07:39:53,599.599 INFO    ] 200
[2026-08-29 07:39:53,600.600 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:39:53,632.632 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:39:53,634.634 INFO    ] No update needed
[2026-08-29 07:39:53,635.635 INFO    ] Checking for camera pi updates...
[2026-08-29 07:39:53,654.654 INFO    ] 200
[2026-08-29 07:39:53,656.656 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:39:53,679.679 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:39:53,770.770 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:39:53,771.771 INFO    ] No camera update needed
[2026-08-29 07:39:53,772.772 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:39:53,774.774 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:39:53,777.777 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:39:53,779.779 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:39:55,818.818 INFO    ] ================================================
[2026-08-29 07:39:55,833.833 INFO    ] Launching Daemon at Sat Aug 29 07:39:55 IST 2026
[2026-08-29 07:39:55,844.844 INFO    ] ================================================
[2026-08-29 07:39:56,334.334 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:39:56
[2026-08-29 07:39:56,934.934 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:39:57,213.213 INFO    ] Initializing speech engine...
[2026-08-29 07:39:57,219.219 INFO    ] 2026-08-29 07:39:57
[2026-08-29 07:39:57,467.467 INFO    ] 2026-08-29 07:39:57
[2026-08-29 07:39:57,504.504 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:39:57,676.676 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:39:57,687.687 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:39:57,831.831 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:39:57,839.839 INFO    ] time= 29/08/2026 07:39:57
[2026-08-29 07:39:57,845.845 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:39:57,898.898 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:39:58,002.002 INFO    ] No existing commands found in stream
[2026-08-29 07:40:03,032.032 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:40:03,035.035 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-08-29 07:40:08,385.385 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:40:08,386.386 INFO    ] Checking for system updates...
[2026-08-29 07:40:08,408.408 INFO    ] 200
[2026-08-29 07:40:08,409.409 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:40:08,441.441 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:40:08,443.443 INFO    ] No update needed
[2026-08-29 07:40:08,444.444 INFO    ] Checking for camera pi updates...
[2026-08-29 07:40:08,467.467 INFO    ] 200
[2026-08-29 07:40:08,469.469 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:40:08,492.492 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:40:08,607.607 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:40:08,609.609 INFO    ] No camera update needed
[2026-08-29 07:40:08,610.610 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:40:08,611.611 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:40:08,615.615 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:40:08,618.618 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:40:10,658.658 INFO    ] ================================================
[2026-08-29 07:40:10,673.673 INFO    ] Launching Daemon at Sat Aug 29 07:40:10 IST 2026
[2026-08-29 07:40:10,684.684 INFO    ] ================================================
[2026-08-29 07:40:11,249.249 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:40:11
[2026-08-29 07:40:11,849.849 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:40:12,127.127 INFO    ] Initializing speech engine...
[2026-08-29 07:40:12,134.134 INFO    ] 2026-08-29 07:40:12
[2026-08-29 07:40:12,395.395 INFO    ] 2026-08-29 07:40:12
[2026-08-29 07:40:12,449.449 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:40:12,617.617 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:40:12,674.674 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:40:12,812.812 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:40:12,860.860 INFO    ] time= 29/08/2026 07:40:12
[2026-08-29 07:40:12,924.924 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:40:12,945.945 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:40:13,002.002 INFO    ] No existing commands found in stream
[2026-08-29 07:40:18,014.014 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:40:18,017.017 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-08-29 07:40:20,751.751 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:40:20,753.753 INFO    ] Checking for system updates...
[2026-08-29 07:40:20,773.773 INFO    ] 200
[2026-08-29 07:40:20,774.774 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:40:20,809.809 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:40:20,810.810 INFO    ] No update needed
[2026-08-29 07:40:20,812.812 INFO    ] Checking for camera pi updates...
[2026-08-29 07:40:20,833.833 INFO    ] 200
[2026-08-29 07:40:20,834.834 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:40:20,870.870 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:40:20,945.945 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:40:20,947.947 INFO    ] No camera update needed
[2026-08-29 07:40:20,948.948 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:40:20,949.949 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:40:20,952.952 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:40:20,955.955 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:40:23,995.995 INFO    ] ================================================
[2026-08-29 07:40:23,010.010 INFO    ] Launching Daemon at Sat Aug 29 07:40:23 IST 2026
[2026-08-29 07:40:23,021.021 INFO    ] ================================================
[2026-08-29 07:40:23,354.354 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:40:23
[2026-08-29 07:40:23,666.666 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:40:23,863.863 INFO    ] Initializing speech engine...
[2026-08-29 07:40:23,877.877 INFO    ] 2026-08-29 07:40:23
[2026-08-29 07:40:24,142.142 INFO    ] 2026-08-29 07:40:24
[2026-08-29 07:40:24,178.178 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:40:24,356.356 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:40:24,368.368 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:40:24,513.513 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:40:24,520.520 INFO    ] time= 29/08/2026 07:40:24
[2026-08-29 07:40:24,527.527 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:40:24,584.584 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:40:24,686.686 INFO    ] No existing commands found in stream
[2026-08-29 07:40:29,711.711 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:40:29,714.714 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-08-29 07:40:33,326.326 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:40:33,329.329 INFO    ] Checking for system updates...
[2026-08-29 07:40:33,364.364 INFO    ] 200
[2026-08-29 07:40:33,367.367 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:40:33,427.427 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:40:33,429.429 INFO    ] No update needed
[2026-08-29 07:40:33,431.431 INFO    ] Checking for camera pi updates...
[2026-08-29 07:40:33,465.465 INFO    ] 200
[2026-08-29 07:40:33,468.468 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:40:33,513.513 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:40:33,633.633 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:40:33,635.635 INFO    ] No camera update needed
[2026-08-29 07:40:33,638.638 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:40:33,640.640 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:40:33,645.645 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:40:33,650.650 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:40:35,693.693 INFO    ] ================================================
[2026-08-29 07:40:35,708.708 INFO    ] Launching Daemon at Sat Aug 29 07:40:35 IST 2026
[2026-08-29 07:40:35,720.720 INFO    ] ================================================
[2026-08-29 07:40:36,064.064 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:40:36
[2026-08-29 07:40:36,403.403 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:40:36,555.555 INFO    ] Initializing speech engine...
[2026-08-29 07:40:36,560.560 INFO    ] 2026-08-29 07:40:36
[2026-08-29 07:40:36,769.769 INFO    ] 2026-08-29 07:40:36
[2026-08-29 07:40:36,800.800 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:40:36,985.985 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:40:36,989.989 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:40:37,138.138 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:40:37,196.196 INFO    ] time= 29/08/2026 07:40:37
[2026-08-29 07:40:37,219.219 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:40:37,226.226 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:40:37,294.294 INFO    ] No existing commands found in stream
[2026-08-29 07:40:42,304.304 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:40:42,307.307 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-08-29 07:40:44,547.547 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:40:44,548.548 INFO    ] Checking for system updates...
[2026-08-29 07:40:44,569.569 INFO    ] 200
[2026-08-29 07:40:44,570.570 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:40:44,603.603 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:40:44,604.604 INFO    ] No update needed
[2026-08-29 07:40:44,605.605 INFO    ] Checking for camera pi updates...
[2026-08-29 07:40:44,625.625 INFO    ] 200
[2026-08-29 07:40:44,627.627 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:40:44,650.650 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:40:44,730.730 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:40:44,731.731 INFO    ] No camera update needed
[2026-08-29 07:40:44,733.733 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:40:44,734.734 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:40:44,737.737 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:40:44,740.740 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:40:46,778.778 INFO    ] ================================================
[2026-08-29 07:40:46,794.794 INFO    ] Launching Daemon at Sat Aug 29 07:40:46 IST 2026
[2026-08-29 07:40:46,804.804 INFO    ] ================================================
[2026-08-29 07:40:47,158.158 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:40:47
[2026-08-29 07:40:47,496.496 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:40:47,646.646 INFO    ] Initializing speech engine...
[2026-08-29 07:40:47,652.652 INFO    ] 2026-08-29 07:40:47
[2026-08-29 07:40:47,862.862 INFO    ] 2026-08-29 07:40:47
[2026-08-29 07:40:47,892.892 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:40:48,025.025 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:40:48,079.079 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:40:48,211.211 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:40:48,267.267 INFO    ] time= 29/08/2026 07:40:48
[2026-08-29 07:40:48,311.311 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:40:48,313.313 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:40:48,386.386 INFO    ] No existing commands found in stream
[2026-08-29 07:40:53,400.400 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:40:53,404.404 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-08-29 07:40:56,981.981 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:40:56,983.983 INFO    ] Checking for system updates...
[2026-08-29 07:40:57,004.004 INFO    ] 200
[2026-08-29 07:40:57,005.005 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:40:57,035.035 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:40:57,037.037 INFO    ] No update needed
[2026-08-29 07:40:57,038.038 INFO    ] Checking for camera pi updates...
[2026-08-29 07:40:57,059.059 INFO    ] 200
[2026-08-29 07:40:57,060.060 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:40:57,083.083 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:40:57,297.297 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:40:57,298.298 INFO    ] No camera update needed
[2026-08-29 07:40:57,299.299 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:40:57,301.301 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:40:57,304.304 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:40:57,306.306 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:40:59,345.345 INFO    ] ================================================
[2026-08-29 07:40:59,361.361 INFO    ] Launching Daemon at Sat Aug 29 07:40:59 IST 2026
[2026-08-29 07:40:59,371.371 INFO    ] ================================================
[2026-08-29 07:40:59,702.702 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:40:59
[2026-08-29 07:41:00,019.019 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:41:00,158.158 INFO    ] Initializing speech engine...
[2026-08-29 07:41:00,168.168 INFO    ] 2026-08-29 07:41:00
[2026-08-29 07:41:00,374.374 INFO    ] 2026-08-29 07:41:00
[2026-08-29 07:41:00,401.401 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:41:00,524.524 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:41:00,567.567 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:41:00,721.721 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:41:00,784.784 INFO    ] time= 29/08/2026 07:41:00
[2026-08-29 07:41:00,816.816 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:41:00,823.823 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:41:00,890.890 INFO    ] No existing commands found in stream
[2026-08-29 07:41:05,900.900 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:41:05,903.903 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-08-29 07:41:09,062.062 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:41:09,064.064 INFO    ] Checking for system updates...
[2026-08-29 07:41:09,085.085 INFO    ] 200
[2026-08-29 07:41:09,087.087 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:41:09,116.116 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:41:09,118.118 INFO    ] No update needed
[2026-08-29 07:41:09,119.119 INFO    ] Checking for camera pi updates...
[2026-08-29 07:41:09,139.139 INFO    ] 200
[2026-08-29 07:41:09,141.141 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:41:09,164.164 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:41:09,239.239 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:41:09,240.240 INFO    ] No camera update needed
[2026-08-29 07:41:09,242.242 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:41:09,243.243 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:41:09,246.246 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:41:09,249.249 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:41:11,287.287 INFO    ] ================================================
[2026-08-29 07:41:11,304.304 INFO    ] Launching Daemon at Sat Aug 29 07:41:11 IST 2026
[2026-08-29 07:41:11,315.315 INFO    ] ================================================
[2026-08-29 07:41:11,658.658 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:41:11
[2026-08-29 07:41:11,975.975 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:41:12,190.190 INFO    ] Initializing speech engine...
[2026-08-29 07:41:12,199.199 INFO    ] 2026-08-29 07:41:12
[2026-08-29 07:41:12,498.498 INFO    ] 2026-08-29 07:41:12
[2026-08-29 07:41:12,537.537 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:41:12,681.681 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:41:12,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:41:12,842.842 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:41:12,853.853 INFO    ] time= 29/08/2026 07:41:12
[2026-08-29 07:41:12,858.858 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:41:12,863.863 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:41:12,935.935 INFO    ] No existing commands found in stream
[2026-08-29 07:41:17,946.946 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:41:17,948.948 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-08-29 07:41:21,045.045 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:41:21,053.053 INFO    ] Checking for system updates...
[2026-08-29 07:41:21,080.080 INFO    ] 200
[2026-08-29 07:41:21,082.082 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:41:21,115.115 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:41:21,116.116 INFO    ] No update needed
[2026-08-29 07:41:21,118.118 INFO    ] Checking for camera pi updates...
[2026-08-29 07:41:21,137.137 INFO    ] 200
[2026-08-29 07:41:21,138.138 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:41:21,161.161 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:41:21,259.259 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:41:21,261.261 INFO    ] No camera update needed
[2026-08-29 07:41:21,264.264 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:41:21,266.266 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:41:21,271.271 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:41:21,277.277 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:41:23,317.317 INFO    ] ================================================
[2026-08-29 07:41:23,333.333 INFO    ] Launching Daemon at Sat Aug 29 07:41:23 IST 2026
[2026-08-29 07:41:23,344.344 INFO    ] ================================================
[2026-08-29 07:41:23,989.989 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:41:23
[2026-08-29 07:41:24,496.496 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:41:24,640.640 INFO    ] Initializing speech engine...
[2026-08-29 07:41:24,650.650 INFO    ] 2026-08-29 07:41:24
[2026-08-29 07:41:24,857.857 INFO    ] 2026-08-29 07:41:24
[2026-08-29 07:41:24,886.886 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:41:25,068.068 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:41:25,081.081 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:41:25,248.248 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:41:25,258.258 INFO    ] time= 29/08/2026 07:41:25
[2026-08-29 07:41:25,268.268 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:41:25,312.312 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:41:25,432.432 INFO    ] No existing commands found in stream
[2026-08-29 07:41:30,463.463 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:41:30,466.466 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-08-29 07:41:32,656.656 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:41:32,659.659 INFO    ] Checking for system updates...
[2026-08-29 07:41:32,696.696 INFO    ] 200
[2026-08-29 07:41:32,698.698 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:41:32,759.759 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:41:32,762.762 INFO    ] No update needed
[2026-08-29 07:41:32,765.765 INFO    ] Checking for camera pi updates...
[2026-08-29 07:41:32,806.806 INFO    ] 200
[2026-08-29 07:41:32,809.809 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:41:32,858.858 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:41:33,010.010 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:41:33,012.012 INFO    ] No camera update needed
[2026-08-29 07:41:33,015.015 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:41:33,017.017 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:41:33,022.022 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:41:33,027.027 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:41:35,070.070 INFO    ] ================================================
[2026-08-29 07:41:35,085.085 INFO    ] Launching Daemon at Sat Aug 29 07:41:35 IST 2026
[2026-08-29 07:41:35,096.096 INFO    ] ================================================
[2026-08-29 07:41:35,687.687 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:41:35
[2026-08-29 07:41:36,289.289 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:41:36,449.449 INFO    ] Initializing speech engine...
[2026-08-29 07:41:36,463.463 INFO    ] 2026-08-29 07:41:36
[2026-08-29 07:41:36,682.682 INFO    ] 2026-08-29 07:41:36
[2026-08-29 07:41:36,712.712 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:41:36,845.845 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:41:36,903.903 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:41:37,053.053 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:41:37,089.089 INFO    ] time= 29/08/2026 07:41:37
[2026-08-29 07:41:37,138.138 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:41:37,160.160 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:41:37,236.236 INFO    ] No existing commands found in stream
[2026-08-29 07:41:42,247.247 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:41:42,288.288 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-08-29 07:41:44,378.378 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:41:44,380.380 INFO    ] Checking for system updates...
[2026-08-29 07:41:44,400.400 INFO    ] 200
[2026-08-29 07:41:44,401.401 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:41:44,435.435 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:41:44,436.436 INFO    ] No update needed
[2026-08-29 07:41:44,438.438 INFO    ] Checking for camera pi updates...
[2026-08-29 07:41:44,457.457 INFO    ] 200
[2026-08-29 07:41:44,458.458 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:41:44,484.484 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:41:44,559.559 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:41:44,560.560 INFO    ] No camera update needed
[2026-08-29 07:41:44,562.562 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:41:44,563.563 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:41:44,566.566 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:41:44,569.569 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:41:46,607.607 INFO    ] ================================================
[2026-08-29 07:41:46,622.622 INFO    ] Launching Daemon at Sat Aug 29 07:41:46 IST 2026
[2026-08-29 07:41:46,633.633 INFO    ] ================================================
[2026-08-29 07:41:47,011.011 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:41:47
[2026-08-29 07:41:47,347.347 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:41:47,499.499 INFO    ] Initializing speech engine...
[2026-08-29 07:41:47,504.504 INFO    ] 2026-08-29 07:41:47
[2026-08-29 07:41:47,718.718 INFO    ] 2026-08-29 07:41:47
[2026-08-29 07:41:47,805.805 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:41:47,959.959 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:41:47,970.970 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:41:48,107.107 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:41:48,154.154 INFO    ] time= 29/08/2026 07:41:48
[2026-08-29 07:41:48,220.220 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:41:48,246.246 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:41:48,303.303 INFO    ] No existing commands found in stream
[2026-08-29 07:41:53,315.315 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:41:53,325.325 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-08-29 07:41:57,134.134 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:41:57,135.135 INFO    ] Checking for system updates...
[2026-08-29 07:41:57,156.156 INFO    ] 200
[2026-08-29 07:41:57,158.158 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:41:57,190.190 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:41:57,191.191 INFO    ] No update needed
[2026-08-29 07:41:57,193.193 INFO    ] Checking for camera pi updates...
[2026-08-29 07:41:57,216.216 INFO    ] 200
[2026-08-29 07:41:57,217.217 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:41:57,243.243 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:41:57,330.330 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:41:57,332.332 INFO    ] No camera update needed
[2026-08-29 07:41:57,333.333 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:41:57,334.334 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:41:57,338.338 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:41:57,341.341 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:41:59,379.379 INFO    ] ================================================
[2026-08-29 07:41:59,395.395 INFO    ] Launching Daemon at Sat Aug 29 07:41:59 IST 2026
[2026-08-29 07:41:59,405.405 INFO    ] ================================================
[2026-08-29 07:41:59,743.743 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:41:59
[2026-08-29 07:42:00,058.058 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:42:00,196.196 INFO    ] Initializing speech engine...
[2026-08-29 07:42:00,205.205 INFO    ] 2026-08-29 07:42:00
[2026-08-29 07:42:00,411.411 INFO    ] 2026-08-29 07:42:00
[2026-08-29 07:42:00,440.440 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:42:00,565.565 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:42:00,613.613 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:42:00,782.782 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:42:00,826.826 INFO    ] time= 29/08/2026 07:42:00
[2026-08-29 07:42:00,889.889 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:42:00,919.919 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:42:01,045.045 INFO    ] No existing commands found in stream
[2026-08-29 07:42:06,058.058 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:42:06,061.061 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-08-29 07:42:10,298.298 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:42:10,300.300 INFO    ] Checking for system updates...
[2026-08-29 07:42:10,320.320 INFO    ] 200
[2026-08-29 07:42:10,322.322 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:42:10,356.356 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:42:10,357.357 INFO    ] No update needed
[2026-08-29 07:42:10,358.358 INFO    ] Checking for camera pi updates...
[2026-08-29 07:42:10,378.378 INFO    ] 200
[2026-08-29 07:42:10,380.380 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:42:10,403.403 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:42:10,523.523 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:42:10,525.525 INFO    ] No camera update needed
[2026-08-29 07:42:10,526.526 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:42:10,527.527 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:42:10,530.530 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:42:10,533.533 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:42:12,573.573 INFO    ] ================================================
[2026-08-29 07:42:12,588.588 INFO    ] Launching Daemon at Sat Aug 29 07:42:12 IST 2026
[2026-08-29 07:42:12,599.599 INFO    ] ================================================
[2026-08-29 07:42:12,962.962 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:42:12
[2026-08-29 07:42:13,278.278 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:42:13,422.422 INFO    ] Initializing speech engine...
[2026-08-29 07:42:13,428.428 INFO    ] 2026-08-29 07:42:13
[2026-08-29 07:42:13,634.634 INFO    ] 2026-08-29 07:42:13
[2026-08-29 07:42:13,714.714 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:42:13,861.861 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:42:13,870.870 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:42:14,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:42:14,018.018 INFO    ] time= 29/08/2026 07:42:14
[2026-08-29 07:42:14,073.073 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:42:14,117.117 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:42:14,186.186 INFO    ] No existing commands found in stream
[2026-08-29 07:42:19,198.198 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:42:19,201.201 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-08-29 07:42:22,326.326 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:42:22,328.328 INFO    ] Checking for system updates...
[2026-08-29 07:42:22,349.349 INFO    ] 200
[2026-08-29 07:42:22,351.351 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:42:22,382.382 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:42:22,384.384 INFO    ] No update needed
[2026-08-29 07:42:22,385.385 INFO    ] Checking for camera pi updates...
[2026-08-29 07:42:22,406.406 INFO    ] 200
[2026-08-29 07:42:22,407.407 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:42:22,433.433 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:42:22,545.545 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:42:22,547.547 INFO    ] No camera update needed
[2026-08-29 07:42:22,548.548 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:42:22,549.549 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:42:22,553.553 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:42:22,555.555 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:42:24,595.595 INFO    ] ================================================
[2026-08-29 07:42:24,610.610 INFO    ] Launching Daemon at Sat Aug 29 07:42:24 IST 2026
[2026-08-29 07:42:24,621.621 INFO    ] ================================================
[2026-08-29 07:42:24,954.954 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:42:24
[2026-08-29 07:42:25,381.381 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:42:25,656.656 INFO    ] Initializing speech engine...
[2026-08-29 07:42:25,665.665 INFO    ] 2026-08-29 07:42:25
[2026-08-29 07:42:25,920.920 INFO    ] 2026-08-29 07:42:25
[2026-08-29 07:42:25,979.979 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:42:26,152.152 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:42:26,204.204 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:42:26,332.332 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:42:26,355.355 INFO    ] time= 29/08/2026 07:42:26
[2026-08-29 07:42:26,410.410 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:42:26,454.454 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:42:26,551.551 INFO    ] No existing commands found in stream
[2026-08-29 07:42:31,563.563 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:42:31,566.566 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-08-29 07:42:35,369.369 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:42:35,372.372 INFO    ] Checking for system updates...
[2026-08-29 07:42:35,411.411 INFO    ] 200
[2026-08-29 07:42:35,415.415 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:42:35,468.468 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:42:35,470.470 INFO    ] No update needed
[2026-08-29 07:42:35,471.471 INFO    ] Checking for camera pi updates...
[2026-08-29 07:42:35,492.492 INFO    ] 200
[2026-08-29 07:42:35,494.494 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:42:35,517.517 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:42:35,592.592 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:42:35,593.593 INFO    ] No camera update needed
[2026-08-29 07:42:35,594.594 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:42:35,596.596 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:42:35,599.599 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:42:35,602.602 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:42:37,641.641 INFO    ] ================================================
[2026-08-29 07:42:37,657.657 INFO    ] Launching Daemon at Sat Aug 29 07:42:37 IST 2026
[2026-08-29 07:42:37,668.668 INFO    ] ================================================
[2026-08-29 07:42:38,019.019 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:42:38
[2026-08-29 07:42:38,334.334 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:42:38,477.477 INFO    ] Initializing speech engine...
[2026-08-29 07:42:38,482.482 INFO    ] 2026-08-29 07:42:38
[2026-08-29 07:42:38,711.711 INFO    ] 2026-08-29 07:42:38
[2026-08-29 07:42:38,766.766 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:42:38,926.926 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:42:38,934.934 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:42:39,092.092 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:42:39,133.133 INFO    ] time= 29/08/2026 07:42:39
[2026-08-29 07:42:39,139.139 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:42:39,158.158 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:42:39,273.273 INFO    ] No existing commands found in stream
[2026-08-29 07:42:44,294.294 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:42:44,297.297 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-08-29 07:42:45,267.267 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:42:45,268.268 INFO    ] Checking for system updates...
[2026-08-29 07:42:45,288.288 INFO    ] 200
[2026-08-29 07:42:45,290.290 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:42:45,320.320 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:42:45,321.321 INFO    ] No update needed
[2026-08-29 07:42:45,322.322 INFO    ] Checking for camera pi updates...
[2026-08-29 07:42:45,345.345 INFO    ] 200
[2026-08-29 07:42:45,346.346 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:42:45,370.370 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:42:45,459.459 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:42:45,460.460 INFO    ] No camera update needed
[2026-08-29 07:42:45,461.461 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:42:45,463.463 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:42:45,465.465 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:42:45,468.468 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:42:47,508.508 INFO    ] ================================================
[2026-08-29 07:42:47,523.523 INFO    ] Launching Daemon at Sat Aug 29 07:42:47 IST 2026
[2026-08-29 07:42:47,534.534 INFO    ] ================================================
[2026-08-29 07:42:47,907.907 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:42:47
[2026-08-29 07:42:48,241.241 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:42:48,393.393 INFO    ] Initializing speech engine...
[2026-08-29 07:42:48,396.396 INFO    ] 2026-08-29 07:42:48
[2026-08-29 07:42:48,604.604 INFO    ] 2026-08-29 07:42:48
[2026-08-29 07:42:48,633.633 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:42:48,755.755 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:42:48,817.817 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:42:48,956.956 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:42:49,015.015 INFO    ] time= 29/08/2026 07:42:48
[2026-08-29 07:42:49,047.047 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:42:49,049.049 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:42:49,119.119 INFO    ] No existing commands found in stream
[2026-08-29 07:42:54,130.130 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:42:54,133.133 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 07:42:57,743.743 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:42:57,745.745 INFO    ] Checking for system updates...
[2026-08-29 07:42:57,765.765 INFO    ] 200
[2026-08-29 07:42:57,767.767 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:42:57,797.797 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:42:57,799.799 INFO    ] No update needed
[2026-08-29 07:42:57,800.800 INFO    ] Checking for camera pi updates...
[2026-08-29 07:42:57,820.820 INFO    ] 200
[2026-08-29 07:42:57,821.821 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:42:57,846.846 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:42:57,996.996 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:42:57,998.998 INFO    ] No camera update needed
[2026-08-29 07:42:57,999.999 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:42:58,001.001 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:42:58,004.004 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:42:58,007.007 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:43:00,045.045 INFO    ] ================================================
[2026-08-29 07:43:00,060.060 INFO    ] Launching Daemon at Sat Aug 29 07:43:00 IST 2026
[2026-08-29 07:43:00,070.070 INFO    ] ================================================
[2026-08-29 07:43:00,543.543 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:43:00
[2026-08-29 07:43:01,129.129 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:43:01,402.402 INFO    ] Initializing speech engine...
[2026-08-29 07:43:01,411.411 INFO    ] 2026-08-29 07:43:01
[2026-08-29 07:43:01,676.676 INFO    ] 2026-08-29 07:43:01
[2026-08-29 07:43:01,730.730 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:43:01,904.904 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:43:01,908.908 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:43:02,056.056 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:43:02,060.060 INFO    ] time= 29/08/2026 07:43:02
[2026-08-29 07:43:02,064.064 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:43:02,082.082 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:43:02,139.139 INFO    ] No existing commands found in stream
[2026-08-29 07:43:07,149.149 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:43:07,152.152 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-08-29 07:43:08,470.470 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:43:08,471.471 INFO    ] Checking for system updates...
[2026-08-29 07:43:08,492.492 INFO    ] 200
[2026-08-29 07:43:08,493.493 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:43:08,523.523 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:43:08,524.524 INFO    ] No update needed
[2026-08-29 07:43:08,526.526 INFO    ] Checking for camera pi updates...
[2026-08-29 07:43:08,544.544 INFO    ] 200
[2026-08-29 07:43:08,546.546 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:43:08,569.569 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:43:08,674.674 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:43:08,675.675 INFO    ] No camera update needed
[2026-08-29 07:43:08,676.676 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:43:08,677.677 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:43:08,680.680 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:43:08,683.683 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:43:10,722.722 INFO    ] ================================================
[2026-08-29 07:43:10,737.737 INFO    ] Launching Daemon at Sat Aug 29 07:43:10 IST 2026
[2026-08-29 07:43:10,748.748 INFO    ] ================================================
[2026-08-29 07:43:11,114.114 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:43:11
[2026-08-29 07:43:11,428.428 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:43:11,701.701 INFO    ] Initializing speech engine...
[2026-08-29 07:43:11,711.711 INFO    ] 2026-08-29 07:43:11
[2026-08-29 07:43:11,976.976 INFO    ] 2026-08-29 07:43:11
[2026-08-29 07:43:12,011.011 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:43:12,203.203 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:43:12,208.208 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:43:12,339.339 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:43:12,346.346 INFO    ] time= 29/08/2026 07:43:12
[2026-08-29 07:43:12,351.351 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:43:12,388.388 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:43:12,471.471 INFO    ] No existing commands found in stream
[2026-08-29 07:43:17,483.483 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:43:17,484.484 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-08-29 07:43:21,678.678 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:43:21,680.680 INFO    ] Checking for system updates...
[2026-08-29 07:43:21,704.704 INFO    ] 200
[2026-08-29 07:43:21,706.706 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:43:21,739.739 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:43:21,740.740 INFO    ] No update needed
[2026-08-29 07:43:21,742.742 INFO    ] Checking for camera pi updates...
[2026-08-29 07:43:21,761.761 INFO    ] 200
[2026-08-29 07:43:21,763.763 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:43:21,786.786 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:43:21,871.871 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:43:21,873.873 INFO    ] No camera update needed
[2026-08-29 07:43:21,874.874 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:43:21,875.875 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:43:21,878.878 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:43:21,881.881 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:43:23,919.919 INFO    ] ================================================
[2026-08-29 07:43:23,935.935 INFO    ] Launching Daemon at Sat Aug 29 07:43:23 IST 2026
[2026-08-29 07:43:23,946.946 INFO    ] ================================================
[2026-08-29 07:43:24,275.275 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:43:24
[2026-08-29 07:43:24,590.590 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:43:24,743.743 INFO    ] Initializing speech engine...
[2026-08-29 07:43:24,747.747 INFO    ] 2026-08-29 07:43:24
[2026-08-29 07:43:25,021.021 INFO    ] 2026-08-29 07:43:25
[2026-08-29 07:43:25,074.074 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:43:25,296.296 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:43:25,306.306 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:43:25,441.441 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:43:25,502.502 INFO    ] time= 29/08/2026 07:43:25
[2026-08-29 07:43:25,567.567 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:43:25,576.576 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:43:25,697.697 INFO    ] No existing commands found in stream
[2026-08-29 07:43:30,728.728 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:43:30,731.731 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-08-29 07:43:34,992.992 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:43:34,995.995 INFO    ] Checking for system updates...
[2026-08-29 07:43:35,035.035 INFO    ] 200
[2026-08-29 07:43:35,038.038 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:43:35,091.091 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:43:35,094.094 INFO    ] No update needed
[2026-08-29 07:43:35,097.097 INFO    ] Checking for camera pi updates...
[2026-08-29 07:43:35,131.131 INFO    ] 200
[2026-08-29 07:43:35,134.134 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:43:35,176.176 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:43:35,264.264 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:43:35,266.266 INFO    ] No camera update needed
[2026-08-29 07:43:35,269.269 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:43:35,271.271 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:43:35,276.276 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:43:35,281.281 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:43:37,321.321 INFO    ] ================================================
[2026-08-29 07:43:37,336.336 INFO    ] Launching Daemon at Sat Aug 29 07:43:37 IST 2026
[2026-08-29 07:43:37,347.347 INFO    ] ================================================
[2026-08-29 07:43:37,679.679 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:43:37
[2026-08-29 07:43:38,014.014 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:43:38,272.272 INFO    ] Initializing speech engine...
[2026-08-29 07:43:38,292.292 INFO    ] 2026-08-29 07:43:38
[2026-08-29 07:43:38,561.561 INFO    ] 2026-08-29 07:43:38
[2026-08-29 07:43:38,599.599 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:43:38,791.791 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:43:38,805.805 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:43:38,927.927 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:43:38,932.932 INFO    ] time= 29/08/2026 07:43:38
[2026-08-29 07:43:38,952.952 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:43:38,976.976 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:43:39,054.054 INFO    ] No existing commands found in stream
[2026-08-29 07:43:44,066.066 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:43:44,069.069 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-08-29 07:43:45,138.138 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:43:45,139.139 INFO    ] Checking for system updates...
[2026-08-29 07:43:45,160.160 INFO    ] 200
[2026-08-29 07:43:45,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:43:45,192.192 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:43:45,193.193 INFO    ] No update needed
[2026-08-29 07:43:45,195.195 INFO    ] Checking for camera pi updates...
[2026-08-29 07:43:45,214.214 INFO    ] 200
[2026-08-29 07:43:45,215.215 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:43:45,238.238 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:43:45,325.325 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:43:45,326.326 INFO    ] No camera update needed
[2026-08-29 07:43:45,328.328 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:43:45,329.329 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:43:45,332.332 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:43:45,335.335 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:43:47,373.373 INFO    ] ================================================
[2026-08-29 07:43:47,388.388 INFO    ] Launching Daemon at Sat Aug 29 07:43:47 IST 2026
[2026-08-29 07:43:47,399.399 INFO    ] ================================================
[2026-08-29 07:43:47,771.771 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:43:47
[2026-08-29 07:43:48,087.087 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:43:48,314.314 INFO    ] Initializing speech engine...
[2026-08-29 07:43:48,320.320 INFO    ] 2026-08-29 07:43:48
[2026-08-29 07:43:48,582.582 INFO    ] 2026-08-29 07:43:48
[2026-08-29 07:43:48,635.635 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:43:48,803.803 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:43:48,849.849 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:43:49,000.000 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:43:49,022.022 INFO    ] time= 29/08/2026 07:43:49
[2026-08-29 07:43:49,077.077 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:43:49,131.131 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:43:49,243.243 INFO    ] No existing commands found in stream
[2026-08-29 07:43:54,275.275 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:43:54,278.278 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-08-29 07:43:55,335.335 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:43:55,337.337 INFO    ] Checking for system updates...
[2026-08-29 07:43:55,358.358 INFO    ] 200
[2026-08-29 07:43:55,360.360 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:43:55,390.390 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:43:55,391.391 INFO    ] No update needed
[2026-08-29 07:43:55,393.393 INFO    ] Checking for camera pi updates...
[2026-08-29 07:43:55,412.412 INFO    ] 200
[2026-08-29 07:43:55,413.413 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:43:55,436.436 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:43:55,521.521 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:43:55,526.526 INFO    ] No camera update needed
[2026-08-29 07:43:55,528.528 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:43:55,529.529 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:43:55,532.532 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:43:55,535.535 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:43:57,574.574 INFO    ] ================================================
[2026-08-29 07:43:57,589.589 INFO    ] Launching Daemon at Sat Aug 29 07:43:57 IST 2026
[2026-08-29 07:43:57,600.600 INFO    ] ================================================
[2026-08-29 07:43:57,970.970 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:43:57
[2026-08-29 07:43:58,285.285 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:43:58,431.431 INFO    ] Initializing speech engine...
[2026-08-29 07:43:58,434.434 INFO    ] 2026-08-29 07:43:58
[2026-08-29 07:43:58,637.637 INFO    ] 2026-08-29 07:43:58
[2026-08-29 07:43:58,664.664 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:43:58,786.786 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:43:58,848.848 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:43:58,977.977 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:43:59,044.044 INFO    ] time= 29/08/2026 07:43:58
[2026-08-29 07:43:59,073.073 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:43:59,077.077 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:43:59,150.150 INFO    ] No existing commands found in stream
[2026-08-29 07:44:04,159.159 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:44:04,161.161 INFO    ] Waiting 1.19 seconds before fallback handling...
[2026-08-29 07:44:05,710.710 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:44:05,711.711 INFO    ] Checking for system updates...
[2026-08-29 07:44:05,731.731 INFO    ] 200
[2026-08-29 07:44:05,733.733 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:44:05,762.762 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:44:05,764.764 INFO    ] No update needed
[2026-08-29 07:44:05,765.765 INFO    ] Checking for camera pi updates...
[2026-08-29 07:44:05,784.784 INFO    ] 200
[2026-08-29 07:44:05,785.785 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:44:05,811.811 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:44:05,898.898 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:44:05,900.900 INFO    ] No camera update needed
[2026-08-29 07:44:05,901.901 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:44:05,903.903 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:44:05,905.905 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:44:05,908.908 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:44:07,949.949 INFO    ] ================================================
[2026-08-29 07:44:07,965.965 INFO    ] Launching Daemon at Sat Aug 29 07:44:07 IST 2026
[2026-08-29 07:44:07,977.977 INFO    ] ================================================
[2026-08-29 07:44:08,312.312 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:44:08
[2026-08-29 07:44:08,625.625 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:44:08,772.772 INFO    ] Initializing speech engine...
[2026-08-29 07:44:08,774.774 INFO    ] 2026-08-29 07:44:08
[2026-08-29 07:44:09,009.009 INFO    ] 2026-08-29 07:44:08
[2026-08-29 07:44:09,045.045 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:44:09,194.194 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:44:09,200.200 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:44:09,350.350 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:44:09,360.360 INFO    ] time= 29/08/2026 07:44:09
[2026-08-29 07:44:09,367.367 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:44:09,389.389 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:44:09,447.447 INFO    ] No existing commands found in stream
[2026-08-29 07:44:14,473.473 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:44:14,476.476 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-08-29 07:44:16,203.203 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:44:16,205.205 INFO    ] Checking for system updates...
[2026-08-29 07:44:16,225.225 INFO    ] 200
[2026-08-29 07:44:16,226.226 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:44:16,259.259 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:44:16,260.260 INFO    ] No update needed
[2026-08-29 07:44:16,261.261 INFO    ] Checking for camera pi updates...
[2026-08-29 07:44:16,280.280 INFO    ] 200
[2026-08-29 07:44:16,282.282 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:44:16,305.305 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:44:16,399.399 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:44:16,401.401 INFO    ] No camera update needed
[2026-08-29 07:44:16,402.402 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:44:16,403.403 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:44:16,406.406 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:44:16,409.409 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:44:18,449.449 INFO    ] ================================================
[2026-08-29 07:44:18,465.465 INFO    ] Launching Daemon at Sat Aug 29 07:44:18 IST 2026
[2026-08-29 07:44:18,476.476 INFO    ] ================================================
[2026-08-29 07:44:18,922.922 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:44:18
[2026-08-29 07:44:19,509.509 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:44:19,794.794 INFO    ] Initializing speech engine...
[2026-08-29 07:44:19,804.804 INFO    ] 2026-08-29 07:44:19
[2026-08-29 07:44:20,068.068 INFO    ] 2026-08-29 07:44:20
[2026-08-29 07:44:20,106.106 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:44:20,299.299 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:44:20,306.306 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:44:20,435.435 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:44:20,442.442 INFO    ] time= 29/08/2026 07:44:20
[2026-08-29 07:44:20,447.447 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:44:20,466.466 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:44:20,566.566 INFO    ] No existing commands found in stream
[2026-08-29 07:44:25,576.576 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:44:25,579.579 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-08-29 07:44:29,447.447 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:44:29,448.448 INFO    ] Checking for system updates...
[2026-08-29 07:44:29,469.469 INFO    ] 200
[2026-08-29 07:44:29,470.470 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:44:29,500.500 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:44:29,501.501 INFO    ] No update needed
[2026-08-29 07:44:29,503.503 INFO    ] Checking for camera pi updates...
[2026-08-29 07:44:29,522.522 INFO    ] 200
[2026-08-29 07:44:29,523.523 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:44:29,546.546 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:44:29,653.653 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:44:29,654.654 INFO    ] No camera update needed
[2026-08-29 07:44:29,655.655 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:44:29,657.657 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:44:29,660.660 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:44:29,662.662 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:44:31,702.702 INFO    ] ================================================
[2026-08-29 07:44:31,717.717 INFO    ] Launching Daemon at Sat Aug 29 07:44:31 IST 2026
[2026-08-29 07:44:31,728.728 INFO    ] ================================================
[2026-08-29 07:44:32,192.192 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:44:32
[2026-08-29 07:44:32,807.807 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:44:33,073.073 INFO    ] Initializing speech engine...
[2026-08-29 07:44:33,087.087 INFO    ] 2026-08-29 07:44:33
[2026-08-29 07:44:33,378.378 INFO    ] 2026-08-29 07:44:33
[2026-08-29 07:44:33,411.411 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:44:33,588.588 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:44:33,603.603 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:44:33,746.746 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:44:33,754.754 INFO    ] time= 29/08/2026 07:44:33
[2026-08-29 07:44:33,762.762 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:44:33,782.782 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:44:33,902.902 INFO    ] No existing commands found in stream
[2026-08-29 07:44:38,927.927 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:44:38,929.929 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-08-29 07:44:40,867.867 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:44:40,868.868 INFO    ] Checking for system updates...
[2026-08-29 07:44:40,888.888 INFO    ] 200
[2026-08-29 07:44:40,890.890 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:44:40,919.919 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:44:40,920.920 INFO    ] No update needed
[2026-08-29 07:44:40,922.922 INFO    ] Checking for camera pi updates...
[2026-08-29 07:44:40,941.941 INFO    ] 200
[2026-08-29 07:44:40,942.942 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:44:40,965.965 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:44:41,058.058 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:44:41,059.059 INFO    ] No camera update needed
[2026-08-29 07:44:41,061.061 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:44:41,062.062 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:44:41,065.065 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:44:41,067.067 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:44:43,106.106 INFO    ] ================================================
[2026-08-29 07:44:43,121.121 INFO    ] Launching Daemon at Sat Aug 29 07:44:43 IST 2026
[2026-08-29 07:44:43,132.132 INFO    ] ================================================
[2026-08-29 07:44:43,497.497 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:44:43
[2026-08-29 07:44:43,836.836 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:44:43,989.989 INFO    ] Initializing speech engine...
[2026-08-29 07:44:43,999.999 INFO    ] 2026-08-29 07:44:43
[2026-08-29 07:44:44,269.269 INFO    ] 2026-08-29 07:44:44
[2026-08-29 07:44:44,312.312 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:44:44,534.534 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:44:44,544.544 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:44:44,678.678 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:44:44,715.715 INFO    ] time= 29/08/2026 07:44:44
[2026-08-29 07:44:44,791.791 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:44:44,813.813 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:44:44,894.894 INFO    ] No existing commands found in stream
[2026-08-29 07:44:49,932.932 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:44:49,935.935 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-08-29 07:44:50,824.824 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:44:50,826.826 INFO    ] Checking for system updates...
[2026-08-29 07:44:50,846.846 INFO    ] 200
[2026-08-29 07:44:50,848.848 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:44:50,882.882 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:44:50,883.883 INFO    ] No update needed
[2026-08-29 07:44:50,884.884 INFO    ] Checking for camera pi updates...
[2026-08-29 07:44:50,904.904 INFO    ] 200
[2026-08-29 07:44:50,905.905 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:44:50,929.929 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:44:51,021.021 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:44:51,023.023 INFO    ] No camera update needed
[2026-08-29 07:44:51,024.024 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:44:51,025.025 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:44:51,028.028 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:44:51,031.031 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:44:53,070.070 INFO    ] ================================================
[2026-08-29 07:44:53,085.085 INFO    ] Launching Daemon at Sat Aug 29 07:44:53 IST 2026
[2026-08-29 07:44:53,096.096 INFO    ] ================================================
[2026-08-29 07:44:53,439.439 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:44:53
[2026-08-29 07:44:53,756.756 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:44:53,889.889 INFO    ] Initializing speech engine...
[2026-08-29 07:44:53,901.901 INFO    ] 2026-08-29 07:44:53
[2026-08-29 07:44:54,109.109 INFO    ] 2026-08-29 07:44:54
[2026-08-29 07:44:54,138.138 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:44:54,261.261 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:44:54,304.304 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:44:54,462.462 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:44:54,526.526 INFO    ] time= 29/08/2026 07:44:54
[2026-08-29 07:44:54,554.554 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:44:54,560.560 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:44:54,626.626 INFO    ] No existing commands found in stream
[2026-08-29 07:44:59,636.636 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:44:59,639.639 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-08-29 07:45:01,662.662 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:45:01,663.663 INFO    ] Checking for system updates...
[2026-08-29 07:45:01,700.700 INFO    ] 200
[2026-08-29 07:45:01,703.703 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:45:01,957.957 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:45:01,972.972 INFO    ] No update needed
[2026-08-29 07:45:01,979.979 INFO    ] Checking for camera pi updates...
[2026-08-29 07:45:02,181.181 INFO    ] 200
[2026-08-29 07:45:02,186.186 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:45:02,358.358 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:45:02,634.634 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:45:02,637.637 INFO    ] No camera update needed
[2026-08-29 07:45:02,640.640 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:45:02,643.643 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:45:02,650.650 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:45:02,656.656 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:45:04,699.699 INFO    ] ================================================
[2026-08-29 07:45:04,714.714 INFO    ] Launching Daemon at Sat Aug 29 07:45:04 IST 2026
[2026-08-29 07:45:04,725.725 INFO    ] ================================================
[2026-08-29 07:45:05,100.100 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:45:05
[2026-08-29 07:45:05,430.430 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:45:05,676.676 INFO    ] Initializing speech engine...
[2026-08-29 07:45:05,683.683 INFO    ] 2026-08-29 07:45:05
[2026-08-29 07:45:05,960.960 INFO    ] 2026-08-29 07:45:05
[2026-08-29 07:45:05,996.996 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:45:06,171.171 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:45:06,184.184 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:45:06,328.328 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:45:06,335.335 INFO    ] time= 29/08/2026 07:45:06
[2026-08-29 07:45:06,339.339 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:45:06,345.345 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:45:06,410.410 INFO    ] No existing commands found in stream
[2026-08-29 07:45:11,423.423 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:45:11,425.425 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-08-29 07:45:13,968.968 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:45:13,970.970 INFO    ] Checking for system updates...
[2026-08-29 07:45:13,990.990 INFO    ] 200
[2026-08-29 07:45:13,992.992 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:45:14,023.023 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:45:14,025.025 INFO    ] No update needed
[2026-08-29 07:45:14,026.026 INFO    ] Checking for camera pi updates...
[2026-08-29 07:45:14,045.045 INFO    ] 200
[2026-08-29 07:45:14,047.047 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:45:14,077.077 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:45:14,184.184 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:45:14,186.186 INFO    ] No camera update needed
[2026-08-29 07:45:14,188.188 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:45:14,190.190 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:45:14,196.196 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:45:14,200.200 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:45:16,242.242 INFO    ] ================================================
[2026-08-29 07:45:16,256.256 INFO    ] Launching Daemon at Sat Aug 29 07:45:16 IST 2026
[2026-08-29 07:45:16,267.267 INFO    ] ================================================
[2026-08-29 07:45:16,848.848 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:45:16
[2026-08-29 07:45:17,330.330 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:45:17,567.567 INFO    ] Initializing speech engine...
[2026-08-29 07:45:17,574.574 INFO    ] 2026-08-29 07:45:17
[2026-08-29 07:45:17,845.845 INFO    ] 2026-08-29 07:45:17
[2026-08-29 07:45:17,900.900 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:45:18,125.125 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:45:18,134.134 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:45:18,270.270 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:45:18,335.335 INFO    ] time= 29/08/2026 07:45:18
[2026-08-29 07:45:18,398.398 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:45:18,405.405 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:45:18,533.533 INFO    ] No existing commands found in stream
[2026-08-29 07:45:23,561.561 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:45:23,564.564 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-08-29 07:45:26,450.450 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:45:26,452.452 INFO    ] Checking for system updates...
[2026-08-29 07:45:26,472.472 INFO    ] 200
[2026-08-29 07:45:26,474.474 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:45:26,504.504 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:45:26,505.505 INFO    ] No update needed
[2026-08-29 07:45:26,507.507 INFO    ] Checking for camera pi updates...
[2026-08-29 07:45:26,527.527 INFO    ] 200
[2026-08-29 07:45:26,528.528 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:45:26,551.551 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:45:26,639.639 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:45:26,641.641 INFO    ] No camera update needed
[2026-08-29 07:45:26,642.642 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:45:26,643.643 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:45:26,646.646 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:45:26,649.649 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:45:28,687.687 INFO    ] ================================================
[2026-08-29 07:45:28,702.702 INFO    ] Launching Daemon at Sat Aug 29 07:45:28 IST 2026
[2026-08-29 07:45:28,713.713 INFO    ] ================================================
[2026-08-29 07:45:29,046.046 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:45:29
[2026-08-29 07:45:29,361.361 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:45:29,504.504 INFO    ] Initializing speech engine...
[2026-08-29 07:45:29,509.509 INFO    ] 2026-08-29 07:45:29
[2026-08-29 07:45:29,696.696 INFO    ] 2026-08-29 07:45:29
[2026-08-29 07:45:29,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:45:29,896.896 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:45:29,907.907 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:45:30,016.016 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:45:30,022.022 INFO    ] time= 29/08/2026 07:45:30
[2026-08-29 07:45:30,040.040 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:45:30,063.063 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:45:30,131.131 INFO    ] No existing commands found in stream
[2026-08-29 07:45:35,144.144 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:45:35,147.147 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-08-29 07:45:38,884.884 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:45:38,885.885 INFO    ] Checking for system updates...
[2026-08-29 07:45:38,906.906 INFO    ] 200
[2026-08-29 07:45:38,907.907 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:45:38,937.937 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:45:38,938.938 INFO    ] No update needed
[2026-08-29 07:45:38,939.939 INFO    ] Checking for camera pi updates...
[2026-08-29 07:45:38,958.958 INFO    ] 200
[2026-08-29 07:45:38,960.960 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:45:38,983.983 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:45:39,071.071 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:45:39,073.073 INFO    ] No camera update needed
[2026-08-29 07:45:39,074.074 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:45:39,075.075 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:45:39,078.078 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:45:39,080.080 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:45:41,120.120 INFO    ] ================================================
[2026-08-29 07:45:41,136.136 INFO    ] Launching Daemon at Sat Aug 29 07:45:41 IST 2026
[2026-08-29 07:45:41,147.147 INFO    ] ================================================
[2026-08-29 07:45:41,767.767 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:45:41
[2026-08-29 07:45:42,394.394 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:45:42,669.669 INFO    ] Initializing speech engine...
[2026-08-29 07:45:42,675.675 INFO    ] 2026-08-29 07:45:42
[2026-08-29 07:45:42,927.927 INFO    ] 2026-08-29 07:45:42
[2026-08-29 07:45:42,989.989 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:45:43,131.131 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:45:43,143.143 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:45:43,282.282 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:45:43,291.291 INFO    ] time= 29/08/2026 07:45:43
[2026-08-29 07:45:43,297.297 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:45:43,343.343 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:45:43,459.459 INFO    ] No existing commands found in stream
[2026-08-29 07:45:48,490.490 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:45:48,493.493 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-08-29 07:45:51,688.688 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:45:51,689.689 INFO    ] Checking for system updates...
[2026-08-29 07:45:51,709.709 INFO    ] 200
[2026-08-29 07:45:51,711.711 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:45:51,741.741 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:45:51,742.742 INFO    ] No update needed
[2026-08-29 07:45:51,744.744 INFO    ] Checking for camera pi updates...
[2026-08-29 07:45:51,764.764 INFO    ] 200
[2026-08-29 07:45:51,765.765 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:45:51,788.788 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:45:51,865.865 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:45:51,867.867 INFO    ] No camera update needed
[2026-08-29 07:45:51,868.868 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:45:51,869.869 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:45:51,872.872 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:45:51,875.875 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:45:53,914.914 INFO    ] ================================================
[2026-08-29 07:45:53,929.929 INFO    ] Launching Daemon at Sat Aug 29 07:45:53 IST 2026
[2026-08-29 07:45:53,940.940 INFO    ] ================================================
[2026-08-29 07:45:54,289.289 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:45:54
[2026-08-29 07:45:54,598.598 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:45:54,767.767 INFO    ] Initializing speech engine...
[2026-08-29 07:45:54,773.773 INFO    ] 2026-08-29 07:45:54
[2026-08-29 07:45:55,068.068 INFO    ] 2026-08-29 07:45:55
[2026-08-29 07:45:55,106.106 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:45:55,248.248 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:45:55,256.256 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:45:55,405.405 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:45:55,414.414 INFO    ] time= 29/08/2026 07:45:55
[2026-08-29 07:45:55,419.419 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:45:55,425.425 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:45:55,495.495 INFO    ] No existing commands found in stream
[2026-08-29 07:46:00,505.505 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:46:00,508.508 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-08-29 07:46:01,338.338 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:46:01,339.339 INFO    ] Checking for system updates...
[2026-08-29 07:46:01,359.359 INFO    ] 200
[2026-08-29 07:46:01,360.360 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:46:01,393.393 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:46:01,394.394 INFO    ] No update needed
[2026-08-29 07:46:01,395.395 INFO    ] Checking for camera pi updates...
[2026-08-29 07:46:01,414.414 INFO    ] 200
[2026-08-29 07:46:01,416.416 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:46:01,440.440 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:46:01,798.798 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:46:01,800.800 INFO    ] No camera update needed
[2026-08-29 07:46:01,803.803 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:46:01,805.805 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:46:01,811.811 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:46:01,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:46:03,864.864 INFO    ] ================================================
[2026-08-29 07:46:03,879.879 INFO    ] Launching Daemon at Sat Aug 29 07:46:03 IST 2026
[2026-08-29 07:46:03,889.889 INFO    ] ================================================
[2026-08-29 07:46:04,424.424 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:46:04
[2026-08-29 07:46:04,746.746 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:46:04,898.898 INFO    ] Initializing speech engine...
[2026-08-29 07:46:04,904.904 INFO    ] 2026-08-29 07:46:04
[2026-08-29 07:46:05,090.090 INFO    ] 2026-08-29 07:46:05
[2026-08-29 07:46:05,111.111 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:46:05,249.249 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:46:05,252.252 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:46:05,387.387 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:46:05,396.396 INFO    ] time= 29/08/2026 07:46:05
[2026-08-29 07:46:05,412.412 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:46:05,418.418 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:46:05,506.506 INFO    ] No existing commands found in stream
[2026-08-29 07:46:10,533.533 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:46:10,536.536 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-08-29 07:46:14,472.472 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:46:14,474.474 INFO    ] Checking for system updates...
[2026-08-29 07:46:14,495.495 INFO    ] 200
[2026-08-29 07:46:14,496.496 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:46:14,526.526 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:46:14,527.527 INFO    ] No update needed
[2026-08-29 07:46:14,529.529 INFO    ] Checking for camera pi updates...
[2026-08-29 07:46:14,548.548 INFO    ] 200
[2026-08-29 07:46:14,550.550 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:46:14,573.573 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:46:14,671.671 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:46:14,673.673 INFO    ] No camera update needed
[2026-08-29 07:46:14,674.674 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:46:14,676.676 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:46:14,679.679 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:46:14,682.682 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:46:16,722.722 INFO    ] ================================================
[2026-08-29 07:46:16,738.738 INFO    ] Launching Daemon at Sat Aug 29 07:46:16 IST 2026
[2026-08-29 07:46:16,749.749 INFO    ] ================================================
[2026-08-29 07:46:17,315.315 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:46:17
[2026-08-29 07:46:17,986.986 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:46:18,286.286 INFO    ] Initializing speech engine...
[2026-08-29 07:46:18,296.296 INFO    ] 2026-08-29 07:46:18
[2026-08-29 07:46:18,576.576 INFO    ] 2026-08-29 07:46:18
[2026-08-29 07:46:18,634.634 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:46:18,863.863 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:46:18,873.873 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:46:19,010.010 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:46:19,063.063 INFO    ] time= 29/08/2026 07:46:19
[2026-08-29 07:46:19,123.123 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:46:19,152.152 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:46:19,207.207 INFO    ] No existing commands found in stream
[2026-08-29 07:46:24,220.220 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:46:24,223.223 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-08-29 07:46:25,785.785 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:46:25,787.787 INFO    ] Checking for system updates...
[2026-08-29 07:46:25,808.808 INFO    ] 200
[2026-08-29 07:46:25,809.809 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:46:25,841.841 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:46:25,843.843 INFO    ] No update needed
[2026-08-29 07:46:25,844.844 INFO    ] Checking for camera pi updates...
[2026-08-29 07:46:25,864.864 INFO    ] 200
[2026-08-29 07:46:25,865.865 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:46:25,892.892 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:46:25,998.998 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:46:25,999.999 INFO    ] No camera update needed
[2026-08-29 07:46:26,001.001 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:46:26,002.002 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:46:26,005.005 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:46:26,008.008 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:46:28,048.048 INFO    ] ================================================
[2026-08-29 07:46:28,063.063 INFO    ] Launching Daemon at Sat Aug 29 07:46:28 IST 2026
[2026-08-29 07:46:28,074.074 INFO    ] ================================================
[2026-08-29 07:46:28,436.436 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:46:28
[2026-08-29 07:46:28,750.750 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:46:28,882.882 INFO    ] Initializing speech engine...
[2026-08-29 07:46:28,886.886 INFO    ] 2026-08-29 07:46:28
[2026-08-29 07:46:29,078.078 INFO    ] 2026-08-29 07:46:29
[2026-08-29 07:46:29,154.154 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:46:29,328.328 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:46:29,338.338 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:46:29,490.490 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:46:29,497.497 INFO    ] time= 29/08/2026 07:46:29
[2026-08-29 07:46:29,521.521 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:46:29,575.575 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:46:29,647.647 INFO    ] No existing commands found in stream
[2026-08-29 07:46:34,659.659 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:46:34,661.661 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-08-29 07:46:36,529.529 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:46:36,530.530 INFO    ] Checking for system updates...
[2026-08-29 07:46:36,551.551 INFO    ] 200
[2026-08-29 07:46:36,553.553 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:46:36,583.583 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:46:36,584.584 INFO    ] No update needed
[2026-08-29 07:46:36,586.586 INFO    ] Checking for camera pi updates...
[2026-08-29 07:46:36,606.606 INFO    ] 200
[2026-08-29 07:46:36,608.608 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:46:36,633.633 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:46:36,683.683 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:46:36,685.685 INFO    ] No camera update needed
[2026-08-29 07:46:36,686.686 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:46:36,687.687 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:46:36,690.690 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:46:36,693.693 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:46:38,733.733 INFO    ] ================================================
[2026-08-29 07:46:38,748.748 INFO    ] Launching Daemon at Sat Aug 29 07:46:38 IST 2026
[2026-08-29 07:46:38,758.758 INFO    ] ================================================
[2026-08-29 07:46:39,104.104 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:46:39
[2026-08-29 07:46:39,418.418 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:46:39,562.562 INFO    ] Initializing speech engine...
[2026-08-29 07:46:39,567.567 INFO    ] 2026-08-29 07:46:39
[2026-08-29 07:46:39,772.772 INFO    ] 2026-08-29 07:46:39
[2026-08-29 07:46:39,800.800 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:46:39,922.922 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:46:39,965.965 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:46:40,121.121 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:46:40,183.183 INFO    ] time= 29/08/2026 07:46:40
[2026-08-29 07:46:40,215.215 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:46:40,217.217 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:46:40,288.288 INFO    ] No existing commands found in stream
[2026-08-29 07:46:45,298.298 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:46:45,301.301 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-08-29 07:46:46,603.603 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:46:46,604.604 INFO    ] Checking for system updates...
[2026-08-29 07:46:46,625.625 INFO    ] 200
[2026-08-29 07:46:46,626.626 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:46:46,656.656 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:46:46,657.657 INFO    ] No update needed
[2026-08-29 07:46:46,658.658 INFO    ] Checking for camera pi updates...
[2026-08-29 07:46:46,677.677 INFO    ] 200
[2026-08-29 07:46:46,679.679 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:46:46,701.701 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:46:46,814.814 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:46:46,816.816 INFO    ] No camera update needed
[2026-08-29 07:46:46,817.817 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:46:46,818.818 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:46:46,821.821 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:46:46,824.824 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:46:48,863.863 INFO    ] ================================================
[2026-08-29 07:46:48,878.878 INFO    ] Launching Daemon at Sat Aug 29 07:46:48 IST 2026
[2026-08-29 07:46:48,889.889 INFO    ] ================================================
[2026-08-29 07:46:49,282.282 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:46:49
[2026-08-29 07:46:49,888.888 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:46:50,165.165 INFO    ] Initializing speech engine...
[2026-08-29 07:46:50,175.175 INFO    ] 2026-08-29 07:46:50
[2026-08-29 07:46:50,424.424 INFO    ] 2026-08-29 07:46:50
[2026-08-29 07:46:50,460.460 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:46:50,631.631 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:46:50,644.644 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:46:50,788.788 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:46:50,794.794 INFO    ] time= 29/08/2026 07:46:50
[2026-08-29 07:46:50,800.800 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:46:50,846.846 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:46:50,972.972 INFO    ] No existing commands found in stream
[2026-08-29 07:46:55,997.997 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:46:56,000.000 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-08-29 07:46:56,741.741 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:46:56,742.742 INFO    ] Checking for system updates...
[2026-08-29 07:46:56,763.763 INFO    ] 200
[2026-08-29 07:46:56,764.764 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:46:56,795.795 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:46:56,796.796 INFO    ] No update needed
[2026-08-29 07:46:56,798.798 INFO    ] Checking for camera pi updates...
[2026-08-29 07:46:56,819.819 INFO    ] 200
[2026-08-29 07:46:56,821.821 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:46:56,862.862 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:46:56,945.945 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:46:56,947.947 INFO    ] No camera update needed
[2026-08-29 07:46:56,950.950 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:46:56,952.952 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:46:56,958.958 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:46:56,963.963 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:46:59,004.004 INFO    ] ================================================
[2026-08-29 07:46:59,020.020 INFO    ] Launching Daemon at Sat Aug 29 07:46:59 IST 2026
[2026-08-29 07:46:59,031.031 INFO    ] ================================================
[2026-08-29 07:46:59,619.619 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:46:59
[2026-08-29 07:47:00,095.095 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:47:00,234.234 INFO    ] Initializing speech engine...
[2026-08-29 07:47:00,248.248 INFO    ] 2026-08-29 07:47:00
[2026-08-29 07:47:00,469.469 INFO    ] 2026-08-29 07:47:00
[2026-08-29 07:47:00,499.499 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:47:00,632.632 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:47:00,675.675 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:47:00,825.825 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:47:00,868.868 INFO    ] time= 29/08/2026 07:47:00
[2026-08-29 07:47:00,912.912 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:47:00,952.952 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:47:01,054.054 INFO    ] No existing commands found in stream
[2026-08-29 07:47:06,079.079 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:47:06,082.082 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-08-29 07:47:07,975.975 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:47:07,977.977 INFO    ] Checking for system updates...
[2026-08-29 07:47:07,997.997 INFO    ] 200
[2026-08-29 07:47:07,998.998 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:47:08,028.028 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:47:08,030.030 INFO    ] No update needed
[2026-08-29 07:47:08,031.031 INFO    ] Checking for camera pi updates...
[2026-08-29 07:47:08,050.050 INFO    ] 200
[2026-08-29 07:47:08,052.052 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:47:08,075.075 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:47:08,252.252 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:47:08,254.254 INFO    ] No camera update needed
[2026-08-29 07:47:08,255.255 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:47:08,256.256 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:47:08,259.259 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:47:08,262.262 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:47:10,303.303 INFO    ] ================================================
[2026-08-29 07:47:10,318.318 INFO    ] Launching Daemon at Sat Aug 29 07:47:10 IST 2026
[2026-08-29 07:47:10,329.329 INFO    ] ================================================
[2026-08-29 07:47:10,675.675 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:47:10
[2026-08-29 07:47:10,987.987 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:47:11,118.118 INFO    ] Initializing speech engine...
[2026-08-29 07:47:11,122.122 INFO    ] 2026-08-29 07:47:11
[2026-08-29 07:47:11,340.340 INFO    ] 2026-08-29 07:47:11
[2026-08-29 07:47:11,371.371 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:47:11,479.479 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:47:11,514.514 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:47:11,685.685 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:47:11,691.691 INFO    ] time= 29/08/2026 07:47:11
[2026-08-29 07:47:11,713.713 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:47:11,739.739 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:47:11,848.848 INFO    ] No existing commands found in stream
[2026-08-29 07:47:16,861.861 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:47:16,864.864 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-08-29 07:47:19,721.721 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:47:19,723.723 INFO    ] Checking for system updates...
[2026-08-29 07:47:19,743.743 INFO    ] 200
[2026-08-29 07:47:19,745.745 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:47:19,774.774 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:47:19,776.776 INFO    ] No update needed
[2026-08-29 07:47:19,777.777 INFO    ] Checking for camera pi updates...
[2026-08-29 07:47:19,796.796 INFO    ] 200
[2026-08-29 07:47:19,797.797 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:47:19,824.824 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:47:19,882.882 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:47:19,885.885 INFO    ] No camera update needed
[2026-08-29 07:47:19,887.887 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:47:19,889.889 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:47:19,895.895 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:47:19,900.900 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:47:21,941.941 INFO    ] ================================================
[2026-08-29 07:47:21,956.956 INFO    ] Launching Daemon at Sat Aug 29 07:47:21 IST 2026
[2026-08-29 07:47:21,967.967 INFO    ] ================================================
[2026-08-29 07:47:22,609.609 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:47:22
[2026-08-29 07:47:23,062.062 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:47:23,208.208 INFO    ] Initializing speech engine...
[2026-08-29 07:47:23,218.218 INFO    ] 2026-08-29 07:47:23
[2026-08-29 07:47:23,426.426 INFO    ] 2026-08-29 07:47:23
[2026-08-29 07:47:23,457.457 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:47:23,643.643 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:47:23,646.646 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:47:23,777.777 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:47:23,843.843 INFO    ] time= 29/08/2026 07:47:23
[2026-08-29 07:47:23,877.877 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:47:23,884.884 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:47:23,950.950 INFO    ] No existing commands found in stream
[2026-08-29 07:47:28,961.961 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:47:28,964.964 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-08-29 07:47:32,590.590 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:47:32,594.594 INFO    ] Checking for system updates...
[2026-08-29 07:47:32,637.637 INFO    ] 200
[2026-08-29 07:47:32,640.640 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:47:32,696.696 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:47:32,699.699 INFO    ] No update needed
[2026-08-29 07:47:32,701.701 INFO    ] Checking for camera pi updates...
[2026-08-29 07:47:32,739.739 INFO    ] 200
[2026-08-29 07:47:32,741.741 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:47:32,788.788 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:47:32,892.892 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:47:32,894.894 INFO    ] No camera update needed
[2026-08-29 07:47:32,897.897 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:47:32,900.900 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:47:32,906.906 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:47:32,911.911 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:47:34,952.952 INFO    ] ================================================
[2026-08-29 07:47:34,968.968 INFO    ] Launching Daemon at Sat Aug 29 07:47:34 IST 2026
[2026-08-29 07:47:34,978.978 INFO    ] ================================================
[2026-08-29 07:47:35,563.563 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:47:35
[2026-08-29 07:47:36,166.166 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:47:36,437.437 INFO    ] Initializing speech engine...
[2026-08-29 07:47:36,449.449 INFO    ] 2026-08-29 07:47:36
[2026-08-29 07:47:36,746.746 INFO    ] 2026-08-29 07:47:36
[2026-08-29 07:47:36,801.801 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:47:36,965.965 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:47:36,972.972 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:47:37,124.124 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:47:37,176.176 INFO    ] time= 29/08/2026 07:47:37
[2026-08-29 07:47:37,182.182 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:47:37,200.200 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:47:37,323.323 INFO    ] No existing commands found in stream
[2026-08-29 07:47:42,344.344 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:47:42,347.347 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-08-29 07:47:43,697.697 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:47:43,698.698 INFO    ] Checking for system updates...
[2026-08-29 07:47:43,718.718 INFO    ] 200
[2026-08-29 07:47:43,720.720 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:47:43,749.749 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:47:43,751.751 INFO    ] No update needed
[2026-08-29 07:47:43,752.752 INFO    ] Checking for camera pi updates...
[2026-08-29 07:47:43,771.771 INFO    ] 200
[2026-08-29 07:47:43,773.773 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:47:43,796.796 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:47:43,855.855 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:47:43,856.856 INFO    ] No camera update needed
[2026-08-29 07:47:43,857.857 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:47:43,858.858 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:47:43,861.861 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:47:43,864.864 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:47:45,903.903 INFO    ] ================================================
[2026-08-29 07:47:45,918.918 INFO    ] Launching Daemon at Sat Aug 29 07:47:45 IST 2026
[2026-08-29 07:47:45,929.929 INFO    ] ================================================
[2026-08-29 07:47:46,310.310 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:47:46
[2026-08-29 07:47:46,648.648 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:47:46,799.799 INFO    ] Initializing speech engine...
[2026-08-29 07:47:46,805.805 INFO    ] 2026-08-29 07:47:46
[2026-08-29 07:47:47,012.012 INFO    ] 2026-08-29 07:47:46
[2026-08-29 07:47:47,041.041 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:47:47,194.194 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:47:47,202.202 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:47:47,372.372 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:47:47,405.405 INFO    ] time= 29/08/2026 07:47:47
[2026-08-29 07:47:47,411.411 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:47:47,430.430 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:47:47,547.547 INFO    ] No existing commands found in stream
[2026-08-29 07:47:52,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:47:52,577.577 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-08-29 07:47:54,842.842 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:47:54,844.844 INFO    ] Checking for system updates...
[2026-08-29 07:47:54,864.864 INFO    ] 200
[2026-08-29 07:47:54,866.866 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:47:54,896.896 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:47:54,898.898 INFO    ] No update needed
[2026-08-29 07:47:54,899.899 INFO    ] Checking for camera pi updates...
[2026-08-29 07:47:54,919.919 INFO    ] 200
[2026-08-29 07:47:54,921.921 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:47:54,960.960 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:47:55,056.056 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:47:55,059.059 INFO    ] No camera update needed
[2026-08-29 07:47:55,061.061 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:47:55,064.064 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:47:55,070.070 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:47:55,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:47:57,118.118 INFO    ] ================================================
[2026-08-29 07:47:57,133.133 INFO    ] Launching Daemon at Sat Aug 29 07:47:57 IST 2026
[2026-08-29 07:47:57,144.144 INFO    ] ================================================
[2026-08-29 07:47:57,726.726 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:47:57
[2026-08-29 07:47:58,198.198 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:47:58,336.336 INFO    ] Initializing speech engine...
[2026-08-29 07:47:58,344.344 INFO    ] 2026-08-29 07:47:58
[2026-08-29 07:47:58,551.551 INFO    ] 2026-08-29 07:47:58
[2026-08-29 07:47:58,581.581 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:47:58,703.703 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:47:58,765.765 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:47:58,932.932 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:47:58,956.956 INFO    ] time= 29/08/2026 07:47:58
[2026-08-29 07:47:59,015.015 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:47:59,060.060 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:47:59,138.138 INFO    ] No existing commands found in stream
[2026-08-29 07:48:04,151.151 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:48:04,154.154 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-08-29 07:48:07,661.661 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:48:07,663.663 INFO    ] Checking for system updates...
[2026-08-29 07:48:07,687.687 INFO    ] 200
[2026-08-29 07:48:07,688.688 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:48:07,718.718 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:48:07,719.719 INFO    ] No update needed
[2026-08-29 07:48:07,720.720 INFO    ] Checking for camera pi updates...
[2026-08-29 07:48:07,739.739 INFO    ] 200
[2026-08-29 07:48:07,741.741 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:48:07,763.763 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:48:07,848.848 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:48:07,849.849 INFO    ] No camera update needed
[2026-08-29 07:48:07,850.850 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:48:07,852.852 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:48:07,855.855 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:48:07,857.857 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:48:09,896.896 INFO    ] ================================================
[2026-08-29 07:48:09,911.911 INFO    ] Launching Daemon at Sat Aug 29 07:48:09 IST 2026
[2026-08-29 07:48:09,922.922 INFO    ] ================================================
[2026-08-29 07:48:10,259.259 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:48:10
[2026-08-29 07:48:10,572.572 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:48:10,701.701 INFO    ] Initializing speech engine...
[2026-08-29 07:48:10,706.706 INFO    ] 2026-08-29 07:48:10
[2026-08-29 07:48:10,924.924 INFO    ] 2026-08-29 07:48:10
[2026-08-29 07:48:10,955.955 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:48:11,115.115 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:48:11,122.122 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:48:11,278.278 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:48:11,326.326 INFO    ] time= 29/08/2026 07:48:11
[2026-08-29 07:48:11,333.333 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:48:11,351.351 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:48:11,480.480 INFO    ] No existing commands found in stream
[2026-08-29 07:48:16,496.496 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:48:16,499.499 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-08-29 07:48:19,108.108 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:48:19,109.109 INFO    ] Checking for system updates...
[2026-08-29 07:48:19,130.130 INFO    ] 200
[2026-08-29 07:48:19,131.131 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:48:19,161.161 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:48:19,163.163 INFO    ] No update needed
[2026-08-29 07:48:19,164.164 INFO    ] Checking for camera pi updates...
[2026-08-29 07:48:19,184.184 INFO    ] 200
[2026-08-29 07:48:19,185.185 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:48:19,207.207 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:48:19,316.316 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:48:19,317.317 INFO    ] No camera update needed
[2026-08-29 07:48:19,318.318 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:48:19,319.319 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:48:19,322.322 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:48:19,325.325 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:48:21,358.358 INFO    ] ================================================
[2026-08-29 07:48:21,373.373 INFO    ] Launching Daemon at Sat Aug 29 07:48:21 IST 2026
[2026-08-29 07:48:21,384.384 INFO    ] ================================================
[2026-08-29 07:48:21,769.769 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:48:21
[2026-08-29 07:48:22,102.102 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:48:22,239.239 INFO    ] Initializing speech engine...
[2026-08-29 07:48:22,248.248 INFO    ] 2026-08-29 07:48:22
[2026-08-29 07:48:22,457.457 INFO    ] 2026-08-29 07:48:22
[2026-08-29 07:48:22,504.504 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:48:22,730.730 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:48:22,739.739 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:48:22,876.876 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:48:22,924.924 INFO    ] time= 29/08/2026 07:48:22
[2026-08-29 07:48:22,984.984 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:48:23,015.015 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:48:23,070.070 INFO    ] No existing commands found in stream
[2026-08-29 07:48:28,083.083 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:48:28,086.086 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-08-29 07:48:30,575.575 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:48:30,577.577 INFO    ] Checking for system updates...
[2026-08-29 07:48:30,598.598 INFO    ] 200
[2026-08-29 07:48:30,599.599 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:48:30,631.631 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:48:30,633.633 INFO    ] No update needed
[2026-08-29 07:48:30,634.634 INFO    ] Checking for camera pi updates...
[2026-08-29 07:48:30,656.656 INFO    ] 200
[2026-08-29 07:48:30,657.657 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:48:30,680.680 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:48:30,784.784 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:48:30,786.786 INFO    ] No camera update needed
[2026-08-29 07:48:30,787.787 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:48:30,789.789 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:48:30,792.792 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:48:30,795.795 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:48:32,837.837 INFO    ] ================================================
[2026-08-29 07:48:32,854.854 INFO    ] Launching Daemon at Sat Aug 29 07:48:32 IST 2026
[2026-08-29 07:48:32,865.865 INFO    ] ================================================
[2026-08-29 07:48:33,504.504 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:48:33
[2026-08-29 07:48:34,160.160 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:48:34,434.434 INFO    ] Initializing speech engine...
[2026-08-29 07:48:34,440.440 INFO    ] 2026-08-29 07:48:34
[2026-08-29 07:48:34,686.686 INFO    ] 2026-08-29 07:48:34
[2026-08-29 07:48:34,753.753 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:48:34,895.895 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:48:34,907.907 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:48:35,049.049 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:48:35,058.058 INFO    ] time= 29/08/2026 07:48:35
[2026-08-29 07:48:35,064.064 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:48:35,105.105 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:48:35,226.226 INFO    ] No existing commands found in stream
[2026-08-29 07:48:40,256.256 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:48:40,259.259 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-08-29 07:48:42,256.256 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:48:42,258.258 INFO    ] Checking for system updates...
[2026-08-29 07:48:42,295.295 INFO    ] 200
[2026-08-29 07:48:42,298.298 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:48:42,350.350 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:48:42,353.353 INFO    ] No update needed
[2026-08-29 07:48:42,356.356 INFO    ] Checking for camera pi updates...
[2026-08-29 07:48:42,391.391 INFO    ] 200
[2026-08-29 07:48:42,394.394 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:48:42,435.435 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:48:42,530.530 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:48:42,533.533 INFO    ] No camera update needed
[2026-08-29 07:48:42,536.536 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:48:42,538.538 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:48:42,544.544 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:48:42,550.550 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:48:44,591.591 INFO    ] ================================================
[2026-08-29 07:48:44,610.610 INFO    ] Launching Daemon at Sat Aug 29 07:48:44 IST 2026
[2026-08-29 07:48:44,623.623 INFO    ] ================================================
[2026-08-29 07:48:45,188.188 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:48:45
[2026-08-29 07:48:45,532.532 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:48:45,662.662 INFO    ] Initializing speech engine...
[2026-08-29 07:48:45,665.665 INFO    ] 2026-08-29 07:48:45
[2026-08-29 07:48:45,859.859 INFO    ] 2026-08-29 07:48:45
[2026-08-29 07:48:45,902.902 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:48:46,077.077 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:48:46,095.095 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:48:46,221.221 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:48:46,229.229 INFO    ] time= 29/08/2026 07:48:46
[2026-08-29 07:48:46,236.236 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:48:46,287.287 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:48:46,414.414 INFO    ] No existing commands found in stream
[2026-08-29 07:48:51,437.437 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:48:51,440.440 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-08-29 07:48:53,678.678 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:48:53,679.679 INFO    ] Checking for system updates...
[2026-08-29 07:48:53,700.700 INFO    ] 200
[2026-08-29 07:48:53,701.701 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:48:53,731.731 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:48:53,733.733 INFO    ] No update needed
[2026-08-29 07:48:53,734.734 INFO    ] Checking for camera pi updates...
[2026-08-29 07:48:53,753.753 INFO    ] 200
[2026-08-29 07:48:53,755.755 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:48:53,779.779 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:48:53,874.874 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:48:53,875.875 INFO    ] No camera update needed
[2026-08-29 07:48:53,877.877 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:48:53,878.878 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:48:53,881.881 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:48:53,883.883 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:48:55,922.922 INFO    ] ================================================
[2026-08-29 07:48:55,937.937 INFO    ] Launching Daemon at Sat Aug 29 07:48:55 IST 2026
[2026-08-29 07:48:55,948.948 INFO    ] ================================================
[2026-08-29 07:48:56,484.484 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:48:56
[2026-08-29 07:48:57,069.069 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:48:57,322.322 INFO    ] Initializing speech engine...
[2026-08-29 07:48:57,329.329 INFO    ] 2026-08-29 07:48:57
[2026-08-29 07:48:57,619.619 INFO    ] 2026-08-29 07:48:57
[2026-08-29 07:48:57,657.657 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:48:57,848.848 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:48:57,862.862 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:48:57,986.986 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:48:57,990.990 INFO    ] time= 29/08/2026 07:48:57
[2026-08-29 07:48:58,009.009 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:48:58,031.031 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:48:58,112.112 INFO    ] No existing commands found in stream
[2026-08-29 07:49:03,124.124 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:49:03,128.128 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 07:49:06,517.517 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:49:06,518.518 INFO    ] Checking for system updates...
[2026-08-29 07:49:06,539.539 INFO    ] 200
[2026-08-29 07:49:06,540.540 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:49:06,570.570 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:49:06,571.571 INFO    ] No update needed
[2026-08-29 07:49:06,573.573 INFO    ] Checking for camera pi updates...
[2026-08-29 07:49:06,592.592 INFO    ] 200
[2026-08-29 07:49:06,594.594 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:49:06,617.617 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:49:06,713.713 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:49:06,714.714 INFO    ] No camera update needed
[2026-08-29 07:49:06,715.715 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:49:06,716.716 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:49:06,719.719 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:49:06,722.722 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:49:08,761.761 INFO    ] ================================================
[2026-08-29 07:49:08,776.776 INFO    ] Launching Daemon at Sat Aug 29 07:49:08 IST 2026
[2026-08-29 07:49:08,787.787 INFO    ] ================================================
[2026-08-29 07:49:09,175.175 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:49:09
[2026-08-29 07:49:09,503.503 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:49:09,651.651 INFO    ] Initializing speech engine...
[2026-08-29 07:49:09,656.656 INFO    ] 2026-08-29 07:49:09
[2026-08-29 07:49:09,864.864 INFO    ] 2026-08-29 07:49:09
[2026-08-29 07:49:09,894.894 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:49:10,018.018 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:49:10,077.077 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:49:10,258.258 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:49:10,288.288 INFO    ] time= 29/08/2026 07:49:10
[2026-08-29 07:49:10,348.348 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:49:10,377.377 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:49:10,481.481 INFO    ] No existing commands found in stream
[2026-08-29 07:49:15,506.506 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:49:15,510.510 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-08-29 07:49:18,267.267 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:49:18,268.268 INFO    ] Checking for system updates...
[2026-08-29 07:49:18,289.289 INFO    ] 200
[2026-08-29 07:49:18,291.291 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:49:18,328.328 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:49:18,330.330 INFO    ] No update needed
[2026-08-29 07:49:18,331.331 INFO    ] Checking for camera pi updates...
[2026-08-29 07:49:18,350.350 INFO    ] 200
[2026-08-29 07:49:18,352.352 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:49:18,376.376 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:49:18,552.552 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:49:18,555.555 INFO    ] No camera update needed
[2026-08-29 07:49:18,557.557 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:49:18,559.559 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:49:18,564.564 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:49:18,569.569 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:49:20,610.610 INFO    ] ================================================
[2026-08-29 07:49:20,626.626 INFO    ] Launching Daemon at Sat Aug 29 07:49:20 IST 2026
[2026-08-29 07:49:20,637.637 INFO    ] ================================================
[2026-08-29 07:49:21,218.218 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:49:21
[2026-08-29 07:49:21,555.555 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:49:21,733.733 INFO    ] Initializing speech engine...
[2026-08-29 07:49:21,742.742 INFO    ] 2026-08-29 07:49:21
[2026-08-29 07:49:21,991.991 INFO    ] 2026-08-29 07:49:21
[2026-08-29 07:49:22,060.060 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:49:22,281.281 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:49:22,290.290 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:49:22,422.422 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:49:22,459.459 INFO    ] time= 29/08/2026 07:49:22
[2026-08-29 07:49:22,513.513 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:49:22,556.556 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:49:22,611.611 INFO    ] No existing commands found in stream
[2026-08-29 07:49:27,623.623 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:49:27,626.626 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-08-29 07:49:29,152.152 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:49:29,153.153 INFO    ] Checking for system updates...
[2026-08-29 07:49:29,175.175 INFO    ] 200
[2026-08-29 07:49:29,176.176 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:49:29,206.206 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:49:29,207.207 INFO    ] No update needed
[2026-08-29 07:49:29,208.208 INFO    ] Checking for camera pi updates...
[2026-08-29 07:49:29,229.229 INFO    ] 200
[2026-08-29 07:49:29,230.230 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:49:29,269.269 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:49:29,403.403 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:49:29,405.405 INFO    ] No camera update needed
[2026-08-29 07:49:29,408.408 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:49:29,410.410 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:49:29,415.415 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:49:29,420.420 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:49:31,460.460 INFO    ] ================================================
[2026-08-29 07:49:31,475.475 INFO    ] Launching Daemon at Sat Aug 29 07:49:31 IST 2026
[2026-08-29 07:49:31,486.486 INFO    ] ================================================
[2026-08-29 07:49:32,088.088 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:49:32
[2026-08-29 07:49:32,624.624 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:49:32,901.901 INFO    ] Initializing speech engine...
[2026-08-29 07:49:32,909.909 INFO    ] 2026-08-29 07:49:32
[2026-08-29 07:49:33,184.184 INFO    ] 2026-08-29 07:49:33
[2026-08-29 07:49:33,219.219 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:49:33,395.395 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:49:33,408.408 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:49:33,522.522 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:49:33,528.528 INFO    ] time= 29/08/2026 07:49:33
[2026-08-29 07:49:33,546.546 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:49:33,566.566 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:49:33,639.639 INFO    ] No existing commands found in stream
[2026-08-29 07:49:38,652.652 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:49:38,655.655 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-08-29 07:49:41,981.981 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:49:41,982.982 INFO    ] Checking for system updates...
[2026-08-29 07:49:42,003.003 INFO    ] 200
[2026-08-29 07:49:42,004.004 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:49:42,034.034 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:49:42,035.035 INFO    ] No update needed
[2026-08-29 07:49:42,037.037 INFO    ] Checking for camera pi updates...
[2026-08-29 07:49:42,057.057 INFO    ] 200
[2026-08-29 07:49:42,058.058 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:49:42,081.081 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:49:42,181.181 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:49:42,182.182 INFO    ] No camera update needed
[2026-08-29 07:49:42,184.184 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:49:42,185.185 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:49:42,188.188 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:49:42,190.190 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:49:44,230.230 INFO    ] ================================================
[2026-08-29 07:49:44,245.245 INFO    ] Launching Daemon at Sat Aug 29 07:49:44 IST 2026
[2026-08-29 07:49:44,256.256 INFO    ] ================================================
[2026-08-29 07:49:44,578.578 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:49:44
[2026-08-29 07:49:44,890.890 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:49:45,025.025 INFO    ] Initializing speech engine...
[2026-08-29 07:49:45,038.038 INFO    ] 2026-08-29 07:49:45
[2026-08-29 07:49:45,228.228 INFO    ] 2026-08-29 07:49:45
[2026-08-29 07:49:45,282.282 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:49:45,440.440 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:49:45,460.460 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:49:45,623.623 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:49:45,631.631 INFO    ] time= 29/08/2026 07:49:45
[2026-08-29 07:49:45,687.687 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:49:45,753.753 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:49:45,840.840 INFO    ] No existing commands found in stream
[2026-08-29 07:49:50,853.853 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:49:50,856.856 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-08-29 07:49:54,177.177 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:49:54,178.178 INFO    ] Checking for system updates...
[2026-08-29 07:49:54,200.200 INFO    ] 200
[2026-08-29 07:49:54,201.201 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:49:54,230.230 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:49:54,232.232 INFO    ] No update needed
[2026-08-29 07:49:54,233.233 INFO    ] Checking for camera pi updates...
[2026-08-29 07:49:54,253.253 INFO    ] 200
[2026-08-29 07:49:54,255.255 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:49:54,299.299 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:49:54,409.409 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:49:54,411.411 INFO    ] No camera update needed
[2026-08-29 07:49:54,414.414 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:49:54,416.416 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:49:54,421.421 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:49:54,426.426 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:49:56,467.467 INFO    ] ================================================
[2026-08-29 07:49:56,483.483 INFO    ] Launching Daemon at Sat Aug 29 07:49:56 IST 2026
[2026-08-29 07:49:56,494.494 INFO    ] ================================================
[2026-08-29 07:49:57,064.064 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:49:57
[2026-08-29 07:49:57,477.477 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:49:57,619.619 INFO    ] Initializing speech engine...
[2026-08-29 07:49:57,628.628 INFO    ] 2026-08-29 07:49:57
[2026-08-29 07:49:57,843.843 INFO    ] 2026-08-29 07:49:57
[2026-08-29 07:49:57,874.874 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:49:58,025.025 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:49:58,046.046 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:49:58,177.177 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:49:58,184.184 INFO    ] time= 29/08/2026 07:49:58
[2026-08-29 07:49:58,201.201 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:49:58,232.232 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:49:58,346.346 INFO    ] No existing commands found in stream
[2026-08-29 07:50:03,366.366 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:50:03,369.369 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-08-29 07:50:07,897.897 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:50:07,898.898 INFO    ] Checking for system updates...
[2026-08-29 07:50:07,919.919 INFO    ] 200
[2026-08-29 07:50:07,921.921 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:50:07,951.951 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:50:07,952.952 INFO    ] No update needed
[2026-08-29 07:50:07,954.954 INFO    ] Checking for camera pi updates...
[2026-08-29 07:50:07,973.973 INFO    ] 200
[2026-08-29 07:50:07,974.974 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:50:07,999.999 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:50:08,091.091 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:50:08,093.093 INFO    ] No camera update needed
[2026-08-29 07:50:08,096.096 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:50:08,098.098 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:50:08,103.103 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:50:08,108.108 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:50:10,148.148 INFO    ] ================================================
[2026-08-29 07:50:10,164.164 INFO    ] Launching Daemon at Sat Aug 29 07:50:10 IST 2026
[2026-08-29 07:50:10,175.175 INFO    ] ================================================
[2026-08-29 07:50:10,757.757 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:50:10
[2026-08-29 07:50:11,257.257 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:50:11,407.407 INFO    ] Initializing speech engine...
[2026-08-29 07:50:11,412.412 INFO    ] 2026-08-29 07:50:11
[2026-08-29 07:50:11,619.619 INFO    ] 2026-08-29 07:50:11
[2026-08-29 07:50:11,647.647 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:50:11,769.769 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:50:11,802.802 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:50:11,981.981 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:50:12,040.040 INFO    ] time= 29/08/2026 07:50:11
[2026-08-29 07:50:12,066.066 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:50:12,068.068 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:50:12,135.135 INFO    ] No existing commands found in stream
[2026-08-29 07:50:17,147.147 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:50:17,150.150 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 07:50:19,526.526 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:50:19,528.528 INFO    ] Checking for system updates...
[2026-08-29 07:50:19,549.549 INFO    ] 200
[2026-08-29 07:50:19,551.551 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:50:19,582.582 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:50:19,584.584 INFO    ] No update needed
[2026-08-29 07:50:19,585.585 INFO    ] Checking for camera pi updates...
[2026-08-29 07:50:19,605.605 INFO    ] 200
[2026-08-29 07:50:19,607.607 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:50:19,633.633 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:50:19,735.735 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:50:19,737.737 INFO    ] No camera update needed
[2026-08-29 07:50:19,740.740 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:50:19,743.743 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:50:19,749.749 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:50:19,754.754 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:50:21,795.795 INFO    ] ================================================
[2026-08-29 07:50:21,811.811 INFO    ] Launching Daemon at Sat Aug 29 07:50:21 IST 2026
[2026-08-29 07:50:21,822.822 INFO    ] ================================================
[2026-08-29 07:50:22,395.395 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:50:22
[2026-08-29 07:50:22,895.895 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:50:23,025.025 INFO    ] Initializing speech engine...
[2026-08-29 07:50:23,038.038 INFO    ] 2026-08-29 07:50:23
[2026-08-29 07:50:23,272.272 INFO    ] 2026-08-29 07:50:23
[2026-08-29 07:50:23,343.343 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:50:23,489.489 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:50:23,509.509 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:50:23,687.687 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:50:23,731.731 INFO    ] time= 29/08/2026 07:50:23
[2026-08-29 07:50:23,738.738 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:50:23,760.760 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:50:23,868.868 INFO    ] No existing commands found in stream
[2026-08-29 07:50:28,891.891 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:50:28,894.894 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-08-29 07:50:33,153.153 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:50:33,156.156 INFO    ] Checking for system updates...
[2026-08-29 07:50:33,196.196 INFO    ] 200
[2026-08-29 07:50:33,198.198 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:50:33,252.252 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:50:33,254.254 INFO    ] No update needed
[2026-08-29 07:50:33,256.256 INFO    ] Checking for camera pi updates...
[2026-08-29 07:50:33,290.290 INFO    ] 200
[2026-08-29 07:50:33,293.293 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:50:33,336.336 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:50:33,422.422 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:50:33,425.425 INFO    ] No camera update needed
[2026-08-29 07:50:33,427.427 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:50:33,429.429 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:50:33,435.435 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:50:33,440.440 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:50:35,482.482 INFO    ] ================================================
[2026-08-29 07:50:35,498.498 INFO    ] Launching Daemon at Sat Aug 29 07:50:35 IST 2026
[2026-08-29 07:50:35,509.509 INFO    ] ================================================
[2026-08-29 07:50:35,868.868 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:50:35
[2026-08-29 07:50:36,250.250 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:50:36,532.532 INFO    ] Initializing speech engine...
[2026-08-29 07:50:36,541.541 INFO    ] 2026-08-29 07:50:36
[2026-08-29 07:50:36,804.804 INFO    ] 2026-08-29 07:50:36
[2026-08-29 07:50:36,840.840 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:50:37,032.032 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:50:37,039.039 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:50:37,168.168 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:50:37,175.175 INFO    ] time= 29/08/2026 07:50:37
[2026-08-29 07:50:37,194.194 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:50:37,216.216 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:50:37,298.298 INFO    ] No existing commands found in stream
[2026-08-29 07:50:42,311.311 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:50:42,314.314 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-08-29 07:50:44,499.499 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:50:44,500.500 INFO    ] Checking for system updates...
[2026-08-29 07:50:44,521.521 INFO    ] 200
[2026-08-29 07:50:44,522.522 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:50:44,552.552 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:50:44,553.553 INFO    ] No update needed
[2026-08-29 07:50:44,555.555 INFO    ] Checking for camera pi updates...
[2026-08-29 07:50:44,575.575 INFO    ] 200
[2026-08-29 07:50:44,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:50:44,615.615 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:50:44,697.697 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:50:44,699.699 INFO    ] No camera update needed
[2026-08-29 07:50:44,701.701 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:50:44,704.704 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:50:44,709.709 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:50:44,714.714 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:50:46,755.755 INFO    ] ================================================
[2026-08-29 07:50:46,770.770 INFO    ] Launching Daemon at Sat Aug 29 07:50:46 IST 2026
[2026-08-29 07:50:46,782.782 INFO    ] ================================================
[2026-08-29 07:50:47,353.353 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:50:47
[2026-08-29 07:50:47,832.832 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:50:47,974.974 INFO    ] Initializing speech engine...
[2026-08-29 07:50:47,979.979 INFO    ] 2026-08-29 07:50:47
[2026-08-29 07:50:48,190.190 INFO    ] 2026-08-29 07:50:48
[2026-08-29 07:50:48,219.219 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:50:48,348.348 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:50:48,391.391 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:50:48,552.552 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:50:48,615.615 INFO    ] time= 29/08/2026 07:50:48
[2026-08-29 07:50:48,653.653 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:50:48,659.659 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:50:48,755.755 INFO    ] No existing commands found in stream
[2026-08-29 07:50:53,768.768 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:50:53,771.771 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-08-29 07:50:56,931.931 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:50:56,933.933 INFO    ] Checking for system updates...
[2026-08-29 07:50:56,954.954 INFO    ] 200
[2026-08-29 07:50:56,956.956 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:50:56,986.986 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:50:56,987.987 INFO    ] No update needed
[2026-08-29 07:50:56,988.988 INFO    ] Checking for camera pi updates...
[2026-08-29 07:50:57,009.009 INFO    ] 200
[2026-08-29 07:50:57,011.011 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:50:57,036.036 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:50:57,122.122 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:50:57,123.123 INFO    ] No camera update needed
[2026-08-29 07:50:57,124.124 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:50:57,125.125 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:50:57,128.128 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:50:57,131.131 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:50:59,173.173 INFO    ] ================================================
[2026-08-29 07:50:59,189.189 INFO    ] Launching Daemon at Sat Aug 29 07:50:59 IST 2026
[2026-08-29 07:50:59,200.200 INFO    ] ================================================
[2026-08-29 07:50:59,544.544 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:50:59
[2026-08-29 07:50:59,872.872 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:51:00,019.019 INFO    ] Initializing speech engine...
[2026-08-29 07:51:00,025.025 INFO    ] 2026-08-29 07:51:00
[2026-08-29 07:51:00,231.231 INFO    ] 2026-08-29 07:51:00
[2026-08-29 07:51:00,259.259 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:51:00,382.382 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:51:00,445.445 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:51:00,576.576 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:51:00,637.637 INFO    ] time= 29/08/2026 07:51:00
[2026-08-29 07:51:00,666.666 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:51:00,677.677 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:51:00,748.748 INFO    ] No existing commands found in stream
[2026-08-29 07:51:05,759.759 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:51:05,762.762 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-08-29 07:51:06,833.833 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:51:06,835.835 INFO    ] Checking for system updates...
[2026-08-29 07:51:06,855.855 INFO    ] 200
[2026-08-29 07:51:06,857.857 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:51:06,889.889 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:51:06,890.890 INFO    ] No update needed
[2026-08-29 07:51:06,891.891 INFO    ] Checking for camera pi updates...
[2026-08-29 07:51:06,911.911 INFO    ] 200
[2026-08-29 07:51:06,912.912 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:51:06,935.935 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:51:07,023.023 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:51:07,024.024 INFO    ] No camera update needed
[2026-08-29 07:51:07,025.025 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:51:07,026.026 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:51:07,029.029 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:51:07,032.032 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:51:09,073.073 INFO    ] ================================================
[2026-08-29 07:51:09,088.088 INFO    ] Launching Daemon at Sat Aug 29 07:51:09 IST 2026
[2026-08-29 07:51:09,099.099 INFO    ] ================================================
[2026-08-29 07:51:09,603.603 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:51:09
[2026-08-29 07:51:10,244.244 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:51:10,535.535 INFO    ] Initializing speech engine...
[2026-08-29 07:51:10,544.544 INFO    ] 2026-08-29 07:51:10
[2026-08-29 07:51:10,810.810 INFO    ] 2026-08-29 07:51:10
[2026-08-29 07:51:10,865.865 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:51:11,089.089 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:51:11,098.098 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:51:11,231.231 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:51:11,258.258 INFO    ] time= 29/08/2026 07:51:11
[2026-08-29 07:51:11,328.328 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:51:11,368.368 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:51:11,420.420 INFO    ] No existing commands found in stream
[2026-08-29 07:51:16,433.433 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:51:16,436.436 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-08-29 07:51:20,620.620 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:51:20,622.622 INFO    ] Checking for system updates...
[2026-08-29 07:51:20,642.642 INFO    ] 200
[2026-08-29 07:51:20,644.644 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:51:20,675.675 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:51:20,677.677 INFO    ] No update needed
[2026-08-29 07:51:20,678.678 INFO    ] Checking for camera pi updates...
[2026-08-29 07:51:20,700.700 INFO    ] 200
[2026-08-29 07:51:20,701.701 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:51:20,726.726 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:51:20,900.900 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:51:20,901.901 INFO    ] No camera update needed
[2026-08-29 07:51:20,903.903 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:51:20,904.904 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:51:20,907.907 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:51:20,910.910 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:51:22,949.949 INFO    ] ================================================
[2026-08-29 07:51:22,966.966 INFO    ] Launching Daemon at Sat Aug 29 07:51:22 IST 2026
[2026-08-29 07:51:22,976.976 INFO    ] ================================================
[2026-08-29 07:51:23,333.333 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:51:23
[2026-08-29 07:51:23,646.646 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:51:23,778.778 INFO    ] Initializing speech engine...
[2026-08-29 07:51:23,783.783 INFO    ] 2026-08-29 07:51:23
[2026-08-29 07:51:24,008.008 INFO    ] 2026-08-29 07:51:23
[2026-08-29 07:51:24,027.027 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:51:24,167.167 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:51:24,212.212 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:51:24,361.361 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:51:24,404.404 INFO    ] time= 29/08/2026 07:51:24
[2026-08-29 07:51:24,444.444 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:51:24,499.499 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:51:24,583.583 INFO    ] No existing commands found in stream
[2026-08-29 07:51:29,608.608 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:51:29,611.611 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-08-29 07:51:31,213.213 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:51:31,214.214 INFO    ] Checking for system updates...
[2026-08-29 07:51:31,235.235 INFO    ] 200
[2026-08-29 07:51:31,236.236 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:51:31,268.268 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:51:31,269.269 INFO    ] No update needed
[2026-08-29 07:51:31,270.270 INFO    ] Checking for camera pi updates...
[2026-08-29 07:51:31,291.291 INFO    ] 200
[2026-08-29 07:51:31,293.293 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:51:31,315.315 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:51:31,412.412 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:51:31,414.414 INFO    ] No camera update needed
[2026-08-29 07:51:31,415.415 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:51:31,416.416 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:51:31,419.419 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:51:31,421.421 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:51:33,461.461 INFO    ] ================================================
[2026-08-29 07:51:33,477.477 INFO    ] Launching Daemon at Sat Aug 29 07:51:33 IST 2026
[2026-08-29 07:51:33,489.489 INFO    ] ================================================
[2026-08-29 07:51:34,059.059 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:51:34
[2026-08-29 07:51:34,654.654 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:51:34,930.930 INFO    ] Initializing speech engine...
[2026-08-29 07:51:34,936.936 INFO    ] 2026-08-29 07:51:34
[2026-08-29 07:51:35,206.206 INFO    ] 2026-08-29 07:51:35
[2026-08-29 07:51:35,262.262 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:51:35,485.485 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:51:35,494.494 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:51:35,627.627 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:51:35,669.669 INFO    ] time= 29/08/2026 07:51:35
[2026-08-29 07:51:35,729.729 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:51:35,764.764 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:51:35,843.843 INFO    ] No existing commands found in stream
[2026-08-29 07:51:40,880.880 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:51:40,884.884 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-08-29 07:51:43,466.466 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:51:43,468.468 INFO    ] Checking for system updates...
[2026-08-29 07:51:43,488.488 INFO    ] 200
[2026-08-29 07:51:43,490.490 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:51:43,520.520 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:51:43,521.521 INFO    ] No update needed
[2026-08-29 07:51:43,523.523 INFO    ] Checking for camera pi updates...
[2026-08-29 07:51:43,542.542 INFO    ] 200
[2026-08-29 07:51:43,543.543 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:51:43,567.567 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:51:43,674.674 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:51:43,675.675 INFO    ] No camera update needed
[2026-08-29 07:51:43,677.677 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:51:43,678.678 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:51:43,681.681 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:51:43,684.684 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:51:45,723.723 INFO    ] ================================================
[2026-08-29 07:51:45,739.739 INFO    ] Launching Daemon at Sat Aug 29 07:51:45 IST 2026
[2026-08-29 07:51:45,750.750 INFO    ] ================================================
[2026-08-29 07:51:46,104.104 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:51:46
[2026-08-29 07:51:46,437.437 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:51:46,703.703 INFO    ] Initializing speech engine...
[2026-08-29 07:51:46,719.719 INFO    ] 2026-08-29 07:51:46
[2026-08-29 07:51:46,986.986 INFO    ] 2026-08-29 07:51:46
[2026-08-29 07:51:47,023.023 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:51:47,213.213 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:51:47,227.227 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:51:47,347.347 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:51:47,352.352 INFO    ] time= 29/08/2026 07:51:47
[2026-08-29 07:51:47,372.372 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:51:47,393.393 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:51:47,472.472 INFO    ] No existing commands found in stream
[2026-08-29 07:51:52,485.485 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:51:52,487.487 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-08-29 07:51:53,123.123 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:51:53,124.124 INFO    ] Checking for system updates...
[2026-08-29 07:51:53,145.145 INFO    ] 200
[2026-08-29 07:51:53,147.147 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:51:53,176.176 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:51:53,177.177 INFO    ] No update needed
[2026-08-29 07:51:53,179.179 INFO    ] Checking for camera pi updates...
[2026-08-29 07:51:53,198.198 INFO    ] 200
[2026-08-29 07:51:53,200.200 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:51:53,224.224 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:51:53,306.306 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:51:53,308.308 INFO    ] No camera update needed
[2026-08-29 07:51:53,309.309 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:51:53,310.310 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:51:53,313.313 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:51:53,316.316 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:51:55,354.354 INFO    ] ================================================
[2026-08-29 07:51:55,370.370 INFO    ] Launching Daemon at Sat Aug 29 07:51:55 IST 2026
[2026-08-29 07:51:55,381.381 INFO    ] ================================================
[2026-08-29 07:51:55,895.895 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:51:55
[2026-08-29 07:51:56,533.533 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:51:56,820.820 INFO    ] Initializing speech engine...
[2026-08-29 07:51:56,829.829 INFO    ] 2026-08-29 07:51:56
[2026-08-29 07:51:57,102.102 INFO    ] 2026-08-29 07:51:57
[2026-08-29 07:51:57,157.157 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:51:57,379.379 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:51:57,388.388 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:51:57,521.521 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:51:57,548.548 INFO    ] time= 29/08/2026 07:51:57
[2026-08-29 07:51:57,607.607 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:51:57,655.655 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:51:57,718.718 INFO    ] No existing commands found in stream
[2026-08-29 07:52:02,750.750 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:52:02,754.754 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-08-29 07:52:06,864.864 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:52:06,866.866 INFO    ] Checking for system updates...
[2026-08-29 07:52:06,888.888 INFO    ] 200
[2026-08-29 07:52:06,889.889 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:52:06,922.922 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:52:06,924.924 INFO    ] No update needed
[2026-08-29 07:52:06,925.925 INFO    ] Checking for camera pi updates...
[2026-08-29 07:52:06,944.944 INFO    ] 200
[2026-08-29 07:52:06,946.946 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:52:06,969.969 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:52:07,046.046 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:52:07,047.047 INFO    ] No camera update needed
[2026-08-29 07:52:07,048.048 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:52:07,050.050 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:52:07,053.053 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:52:07,056.056 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:52:09,097.097 INFO    ] ================================================
[2026-08-29 07:52:09,113.113 INFO    ] Launching Daemon at Sat Aug 29 07:52:09 IST 2026
[2026-08-29 07:52:09,124.124 INFO    ] ================================================
[2026-08-29 07:52:09,665.665 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:52:09
[2026-08-29 07:52:10,257.257 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:52:10,531.531 INFO    ] Initializing speech engine...
[2026-08-29 07:52:10,540.540 INFO    ] 2026-08-29 07:52:10
[2026-08-29 07:52:10,792.792 INFO    ] 2026-08-29 07:52:10
[2026-08-29 07:52:10,827.827 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:52:11,003.003 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:52:11,015.015 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:52:11,163.163 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:52:11,170.170 INFO    ] time= 29/08/2026 07:52:11
[2026-08-29 07:52:11,178.178 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:52:11,190.190 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:52:11,315.315 INFO    ] No existing commands found in stream
[2026-08-29 07:52:16,345.345 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:52:16,348.348 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-08-29 07:52:19,279.279 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:52:19,280.280 INFO    ] Checking for system updates...
[2026-08-29 07:52:19,301.301 INFO    ] 200
[2026-08-29 07:52:19,302.302 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:52:19,334.334 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:52:19,336.336 INFO    ] No update needed
[2026-08-29 07:52:19,337.337 INFO    ] Checking for camera pi updates...
[2026-08-29 07:52:19,357.357 INFO    ] 200
[2026-08-29 07:52:19,358.358 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:52:19,381.381 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:52:19,464.464 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:52:19,465.465 INFO    ] No camera update needed
[2026-08-29 07:52:19,466.466 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:52:19,467.467 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:52:19,470.470 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:52:19,473.473 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:52:21,513.513 INFO    ] ================================================
[2026-08-29 07:52:21,529.529 INFO    ] Launching Daemon at Sat Aug 29 07:52:21 IST 2026
[2026-08-29 07:52:21,540.540 INFO    ] ================================================
[2026-08-29 07:52:22,091.091 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:52:22
[2026-08-29 07:52:22,747.747 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:52:23,050.050 INFO    ] Initializing speech engine...
[2026-08-29 07:52:23,062.062 INFO    ] 2026-08-29 07:52:23
[2026-08-29 07:52:23,348.348 INFO    ] 2026-08-29 07:52:23
[2026-08-29 07:52:23,393.393 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:52:23,619.619 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:52:23,628.628 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:52:23,765.765 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:52:23,772.772 INFO    ] time= 29/08/2026 07:52:23
[2026-08-29 07:52:23,842.842 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:52:23,892.892 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:52:23,957.957 INFO    ] No existing commands found in stream
[2026-08-29 07:52:28,970.970 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:52:28,973.973 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-08-29 07:52:33,323.323 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:52:33,326.326 INFO    ] Checking for system updates...
[2026-08-29 07:52:33,363.363 INFO    ] 200
[2026-08-29 07:52:33,366.366 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:52:33,425.425 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:52:33,428.428 INFO    ] No update needed
[2026-08-29 07:52:33,431.431 INFO    ] Checking for camera pi updates...
[2026-08-29 07:52:33,469.469 INFO    ] 200
[2026-08-29 07:52:33,471.471 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:52:33,518.518 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:52:33,603.603 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:52:33,606.606 INFO    ] No camera update needed
[2026-08-29 07:52:33,608.608 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:52:33,611.611 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:52:33,617.617 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:52:33,623.623 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:52:35,664.664 INFO    ] ================================================
[2026-08-29 07:52:35,680.680 INFO    ] Launching Daemon at Sat Aug 29 07:52:35 IST 2026
[2026-08-29 07:52:35,691.691 INFO    ] ================================================
[2026-08-29 07:52:36,040.040 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:52:36
[2026-08-29 07:52:36,376.376 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:52:36,528.528 INFO    ] Initializing speech engine...
[2026-08-29 07:52:36,534.534 INFO    ] 2026-08-29 07:52:36
[2026-08-29 07:52:36,745.745 INFO    ] 2026-08-29 07:52:36
[2026-08-29 07:52:36,775.775 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:52:36,949.949 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:52:36,970.970 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:52:37,108.108 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:52:37,129.129 INFO    ] time= 29/08/2026 07:52:37
[2026-08-29 07:52:37,157.157 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:52:37,168.168 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:52:37,267.267 INFO    ] No existing commands found in stream
[2026-08-29 07:52:42,282.282 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:52:42,285.285 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-08-29 07:52:44,008.008 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:52:44,009.009 INFO    ] Checking for system updates...
[2026-08-29 07:52:44,030.030 INFO    ] 200
[2026-08-29 07:52:44,031.031 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:52:44,063.063 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:52:44,065.065 INFO    ] No update needed
[2026-08-29 07:52:44,066.066 INFO    ] Checking for camera pi updates...
[2026-08-29 07:52:44,088.088 INFO    ] 200
[2026-08-29 07:52:44,090.090 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:52:44,113.113 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:52:44,240.240 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:52:44,241.241 INFO    ] No camera update needed
[2026-08-29 07:52:44,243.243 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:52:44,244.244 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:52:44,248.248 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:52:44,250.250 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:52:46,291.291 INFO    ] ================================================
[2026-08-29 07:52:46,307.307 INFO    ] Launching Daemon at Sat Aug 29 07:52:46 IST 2026
[2026-08-29 07:52:46,318.318 INFO    ] ================================================
[2026-08-29 07:52:46,651.651 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:52:46
[2026-08-29 07:52:46,963.963 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:52:47,093.093 INFO    ] Initializing speech engine...
[2026-08-29 07:52:47,098.098 INFO    ] 2026-08-29 07:52:47
[2026-08-29 07:52:47,317.317 INFO    ] 2026-08-29 07:52:47
[2026-08-29 07:52:47,346.346 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:52:47,451.451 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:52:47,458.458 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:52:47,627.627 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:52:47,661.661 INFO    ] time= 29/08/2026 07:52:47
[2026-08-29 07:52:47,677.677 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:52:47,685.685 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:52:47,797.797 INFO    ] No existing commands found in stream
[2026-08-29 07:52:52,822.822 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:52:52,825.825 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-08-29 07:52:53,988.988 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:52:53,989.989 INFO    ] Checking for system updates...
[2026-08-29 07:52:54,010.010 INFO    ] 200
[2026-08-29 07:52:54,011.011 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:52:54,041.041 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:52:54,042.042 INFO    ] No update needed
[2026-08-29 07:52:54,044.044 INFO    ] Checking for camera pi updates...
[2026-08-29 07:52:54,063.063 INFO    ] 200
[2026-08-29 07:52:54,064.064 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:52:54,099.099 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:52:54,187.187 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:52:54,190.190 INFO    ] No camera update needed
[2026-08-29 07:52:54,192.192 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:52:54,195.195 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:52:54,200.200 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:52:54,205.205 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:52:56,245.245 INFO    ] ================================================
[2026-08-29 07:52:56,261.261 INFO    ] Launching Daemon at Sat Aug 29 07:52:56 IST 2026
[2026-08-29 07:52:56,272.272 INFO    ] ================================================
[2026-08-29 07:52:56,898.898 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:52:56
[2026-08-29 07:52:57,386.386 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:52:57,531.531 INFO    ] Initializing speech engine...
[2026-08-29 07:52:57,542.542 INFO    ] 2026-08-29 07:52:57
[2026-08-29 07:52:57,749.749 INFO    ] 2026-08-29 07:52:57
[2026-08-29 07:52:57,777.777 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:52:57,900.900 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:52:57,964.964 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:52:58,109.109 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:52:58,171.171 INFO    ] time= 29/08/2026 07:52:58
[2026-08-29 07:52:58,195.195 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:52:58,202.202 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:52:58,269.269 INFO    ] No existing commands found in stream
[2026-08-29 07:53:03,279.279 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:53:03,282.282 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-08-29 07:53:06,384.384 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:53:06,385.385 INFO    ] Checking for system updates...
[2026-08-29 07:53:06,406.406 INFO    ] 200
[2026-08-29 07:53:06,407.407 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:53:06,440.440 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:53:06,442.442 INFO    ] No update needed
[2026-08-29 07:53:06,443.443 INFO    ] Checking for camera pi updates...
[2026-08-29 07:53:06,463.463 INFO    ] 200
[2026-08-29 07:53:06,465.465 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:53:06,488.488 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:53:06,566.566 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:53:06,568.568 INFO    ] No camera update needed
[2026-08-29 07:53:06,569.569 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:53:06,570.570 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:53:06,574.574 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:53:06,577.577 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:53:08,616.616 INFO    ] ================================================
[2026-08-29 07:53:08,632.632 INFO    ] Launching Daemon at Sat Aug 29 07:53:08 IST 2026
[2026-08-29 07:53:08,643.643 INFO    ] ================================================
[2026-08-29 07:53:09,005.005 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:53:09
[2026-08-29 07:53:09,343.343 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:53:09,605.605 INFO    ] Initializing speech engine...
[2026-08-29 07:53:09,612.612 INFO    ] 2026-08-29 07:53:09
[2026-08-29 07:53:09,906.906 INFO    ] 2026-08-29 07:53:09
[2026-08-29 07:53:09,944.944 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:53:10,139.139 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:53:10,146.146 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:53:10,298.298 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:53:10,320.320 INFO    ] time= 29/08/2026 07:53:10
[2026-08-29 07:53:10,329.329 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:53:10,335.335 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:53:10,408.408 INFO    ] No existing commands found in stream
[2026-08-29 07:53:15,421.421 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:53:15,424.424 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-08-29 07:53:16,002.002 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:53:16,004.004 INFO    ] Checking for system updates...
[2026-08-29 07:53:16,025.025 INFO    ] 200
[2026-08-29 07:53:16,026.026 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:53:16,061.061 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:53:16,063.063 INFO    ] No update needed
[2026-08-29 07:53:16,066.066 INFO    ] Checking for camera pi updates...
[2026-08-29 07:53:16,099.099 INFO    ] 200
[2026-08-29 07:53:16,102.102 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:53:16,143.143 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:53:16,243.243 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:53:16,245.245 INFO    ] No camera update needed
[2026-08-29 07:53:16,248.248 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:53:16,250.250 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:53:16,255.255 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:53:16,260.260 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:53:18,301.301 INFO    ] ================================================
[2026-08-29 07:53:18,316.316 INFO    ] Launching Daemon at Sat Aug 29 07:53:18 IST 2026
[2026-08-29 07:53:18,327.327 INFO    ] ================================================
[2026-08-29 07:53:18,904.904 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:53:18
[2026-08-29 07:53:19,465.465 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:53:19,719.719 INFO    ] Initializing speech engine...
[2026-08-29 07:53:19,742.742 INFO    ] 2026-08-29 07:53:19
[2026-08-29 07:53:19,998.998 INFO    ] 2026-08-29 07:53:19
[2026-08-29 07:53:20,033.033 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:53:20,190.190 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:53:20,199.199 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:53:20,337.337 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:53:20,344.344 INFO    ] time= 29/08/2026 07:53:20
[2026-08-29 07:53:20,368.368 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:53:20,375.375 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:53:20,488.488 INFO    ] No existing commands found in stream
[2026-08-29 07:53:25,519.519 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:53:25,522.522 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-08-29 07:53:26,257.257 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:53:26,258.258 INFO    ] Checking for system updates...
[2026-08-29 07:53:26,280.280 INFO    ] 200
[2026-08-29 07:53:26,282.282 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:53:26,315.315 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:53:26,316.316 INFO    ] No update needed
[2026-08-29 07:53:26,318.318 INFO    ] Checking for camera pi updates...
[2026-08-29 07:53:26,337.337 INFO    ] 200
[2026-08-29 07:53:26,339.339 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:53:26,362.362 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:53:26,569.569 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:53:26,571.571 INFO    ] No camera update needed
[2026-08-29 07:53:26,572.572 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:53:26,573.573 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:53:26,577.577 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:53:26,579.579 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:53:28,619.619 INFO    ] ================================================
[2026-08-29 07:53:28,634.634 INFO    ] Launching Daemon at Sat Aug 29 07:53:28 IST 2026
[2026-08-29 07:53:28,645.645 INFO    ] ================================================
[2026-08-29 07:53:29,177.177 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:53:29
[2026-08-29 07:53:29,765.765 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:53:30,017.017 INFO    ] Initializing speech engine...
[2026-08-29 07:53:30,040.040 INFO    ] 2026-08-29 07:53:30
[2026-08-29 07:53:30,297.297 INFO    ] 2026-08-29 07:53:30
[2026-08-29 07:53:30,335.335 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:53:30,511.511 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:53:30,524.524 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:53:30,670.670 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:53:30,677.677 INFO    ] time= 29/08/2026 07:53:30
[2026-08-29 07:53:30,685.685 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:53:30,715.715 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:53:30,821.821 INFO    ] No existing commands found in stream
[2026-08-29 07:53:35,846.846 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:53:35,855.855 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-08-29 07:53:37,556.556 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:53:37,557.557 INFO    ] Checking for system updates...
[2026-08-29 07:53:37,578.578 INFO    ] 200
[2026-08-29 07:53:37,580.580 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:53:37,609.609 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:53:37,611.611 INFO    ] No update needed
[2026-08-29 07:53:37,612.612 INFO    ] Checking for camera pi updates...
[2026-08-29 07:53:37,633.633 INFO    ] 200
[2026-08-29 07:53:37,634.634 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:53:37,658.658 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:53:37,735.735 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:53:37,736.736 INFO    ] No camera update needed
[2026-08-29 07:53:37,737.737 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:53:37,738.738 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:53:37,741.741 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:53:37,744.744 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:53:39,784.784 INFO    ] ================================================
[2026-08-29 07:53:39,799.799 INFO    ] Launching Daemon at Sat Aug 29 07:53:39 IST 2026
[2026-08-29 07:53:39,810.810 INFO    ] ================================================
[2026-08-29 07:53:40,196.196 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:53:40
[2026-08-29 07:53:40,540.540 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:53:40,690.690 INFO    ] Initializing speech engine...
[2026-08-29 07:53:40,696.696 INFO    ] 2026-08-29 07:53:40
[2026-08-29 07:53:40,903.903 INFO    ] 2026-08-29 07:53:40
[2026-08-29 07:53:40,932.932 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:53:41,055.055 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:53:41,087.087 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:53:41,248.248 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:53:41,311.311 INFO    ] time= 29/08/2026 07:53:41
[2026-08-29 07:53:41,344.344 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:53:41,350.350 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:53:41,458.458 INFO    ] No existing commands found in stream
[2026-08-29 07:53:46,469.469 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:53:46,473.473 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-08-29 07:53:47,245.245 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:53:47,246.246 INFO    ] Checking for system updates...
[2026-08-29 07:53:47,268.268 INFO    ] 200
[2026-08-29 07:53:47,269.269 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:53:47,301.301 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:53:47,302.302 INFO    ] No update needed
[2026-08-29 07:53:47,304.304 INFO    ] Checking for camera pi updates...
[2026-08-29 07:53:47,323.323 INFO    ] 200
[2026-08-29 07:53:47,324.324 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:53:47,349.349 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:53:47,427.427 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:53:47,429.429 INFO    ] No camera update needed
[2026-08-29 07:53:47,430.430 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:53:47,431.431 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:53:47,435.435 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:53:47,440.440 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:53:49,479.479 INFO    ] ================================================
[2026-08-29 07:53:49,496.496 INFO    ] Launching Daemon at Sat Aug 29 07:53:49 IST 2026
[2026-08-29 07:53:49,506.506 INFO    ] ================================================
[2026-08-29 07:53:50,074.074 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:53:50
[2026-08-29 07:53:50,619.619 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:53:50,900.900 INFO    ] Initializing speech engine...
[2026-08-29 07:53:50,906.906 INFO    ] 2026-08-29 07:53:50
[2026-08-29 07:53:51,225.225 INFO    ] 2026-08-29 07:53:51
[2026-08-29 07:53:51,257.257 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:53:51,413.413 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:53:51,421.421 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:53:51,560.560 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:53:51,571.571 INFO    ] time= 29/08/2026 07:53:51
[2026-08-29 07:53:51,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:53:51,601.601 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:53:51,653.653 INFO    ] No existing commands found in stream
[2026-08-29 07:53:56,688.688 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:53:56,697.697 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-08-29 07:53:58,201.201 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:53:58,203.203 INFO    ] Checking for system updates...
[2026-08-29 07:53:58,223.223 INFO    ] 200
[2026-08-29 07:53:58,225.225 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:53:58,255.255 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:53:58,256.256 INFO    ] No update needed
[2026-08-29 07:53:58,257.257 INFO    ] Checking for camera pi updates...
[2026-08-29 07:53:58,277.277 INFO    ] 200
[2026-08-29 07:53:58,278.278 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:53:58,301.301 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:53:58,352.352 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:53:58,354.354 INFO    ] No camera update needed
[2026-08-29 07:53:58,357.357 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:53:58,359.359 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:53:58,364.364 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:53:58,369.369 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:54:00,410.410 INFO    ] ================================================
[2026-08-29 07:54:00,425.425 INFO    ] Launching Daemon at Sat Aug 29 07:54:00 IST 2026
[2026-08-29 07:54:00,437.437 INFO    ] ================================================
[2026-08-29 07:54:01,005.005 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:54:01
[2026-08-29 07:54:01,530.530 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:54:01,668.668 INFO    ] Initializing speech engine...
[2026-08-29 07:54:01,676.676 INFO    ] 2026-08-29 07:54:01
[2026-08-29 07:54:01,871.871 INFO    ] 2026-08-29 07:54:01
[2026-08-29 07:54:01,997.997 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:54:02,201.201 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:54:02,232.232 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:54:02,368.368 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:54:02,372.372 INFO    ] time= 29/08/2026 07:54:02
[2026-08-29 07:54:02,384.384 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:54:02,389.389 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:54:02,440.440 INFO    ] No existing commands found in stream
[2026-08-29 07:54:07,466.466 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:54:07,469.469 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-08-29 07:54:10,999.999 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:54:11,000.000 INFO    ] Checking for system updates...
[2026-08-29 07:54:11,021.021 INFO    ] 200
[2026-08-29 07:54:11,022.022 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:54:11,052.052 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:54:11,053.053 INFO    ] No update needed
[2026-08-29 07:54:11,055.055 INFO    ] Checking for camera pi updates...
[2026-08-29 07:54:11,074.074 INFO    ] 200
[2026-08-29 07:54:11,075.075 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:54:11,100.100 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:54:11,198.198 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:54:11,200.200 INFO    ] No camera update needed
[2026-08-29 07:54:11,203.203 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:54:11,205.205 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:54:11,210.210 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:54:11,215.215 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:54:13,256.256 INFO    ] ================================================
[2026-08-29 07:54:13,271.271 INFO    ] Launching Daemon at Sat Aug 29 07:54:13 IST 2026
[2026-08-29 07:54:13,282.282 INFO    ] ================================================
[2026-08-29 07:54:13,915.915 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:54:13
[2026-08-29 07:54:14,347.347 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:54:14,497.497 INFO    ] Initializing speech engine...
[2026-08-29 07:54:14,517.517 INFO    ] 2026-08-29 07:54:14
[2026-08-29 07:54:14,766.766 INFO    ] 2026-08-29 07:54:14
[2026-08-29 07:54:14,802.802 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:54:14,977.977 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:54:14,989.989 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:54:15,134.134 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:54:15,142.142 INFO    ] time= 29/08/2026 07:54:15
[2026-08-29 07:54:15,148.148 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:54:15,175.175 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:54:15,300.300 INFO    ] No existing commands found in stream
[2026-08-29 07:54:20,330.330 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:54:20,333.333 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-08-29 07:54:20,821.821 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:54:20,823.823 INFO    ] Checking for system updates...
[2026-08-29 07:54:20,844.844 INFO    ] 200
[2026-08-29 07:54:20,845.845 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:54:20,877.877 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:54:20,878.878 INFO    ] No update needed
[2026-08-29 07:54:20,879.879 INFO    ] Checking for camera pi updates...
[2026-08-29 07:54:20,898.898 INFO    ] 200
[2026-08-29 07:54:20,900.900 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:54:20,924.924 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:54:21,055.055 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:54:21,057.057 INFO    ] No camera update needed
[2026-08-29 07:54:21,059.059 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:54:21,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:54:21,067.067 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:54:21,072.072 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:54:23,112.112 INFO    ] ================================================
[2026-08-29 07:54:23,128.128 INFO    ] Launching Daemon at Sat Aug 29 07:54:23 IST 2026
[2026-08-29 07:54:23,139.139 INFO    ] ================================================
[2026-08-29 07:54:24,265.265 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:54:23
[2026-08-29 07:54:24,588.588 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:54:24,794.794 INFO    ] Initializing speech engine...
[2026-08-29 07:54:24,797.797 INFO    ] 2026-08-29 07:54:24
[2026-08-29 07:54:25,004.004 INFO    ] 2026-08-29 07:54:24
[2026-08-29 07:54:25,033.033 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:54:25,215.215 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:54:25,219.219 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:54:25,351.351 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:54:25,414.414 INFO    ] time= 29/08/2026 07:54:25
[2026-08-29 07:54:25,445.445 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:54:25,452.452 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:54:25,519.519 INFO    ] No existing commands found in stream
[2026-08-29 07:54:30,528.528 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:54:30,531.531 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-08-29 07:54:31,133.133 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:54:31,134.134 INFO    ] Checking for system updates...
[2026-08-29 07:54:31,155.155 INFO    ] 200
[2026-08-29 07:54:31,156.156 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:54:31,188.188 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:54:31,189.189 INFO    ] No update needed
[2026-08-29 07:54:31,191.191 INFO    ] Checking for camera pi updates...
[2026-08-29 07:54:31,212.212 INFO    ] 200
[2026-08-29 07:54:31,213.213 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:54:31,238.238 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:54:31,364.364 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:54:31,365.365 INFO    ] No camera update needed
[2026-08-29 07:54:31,367.367 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:54:31,368.368 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:54:31,371.371 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:54:31,374.374 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:54:33,407.407 INFO    ] ================================================
[2026-08-29 07:54:33,424.424 INFO    ] Launching Daemon at Sat Aug 29 07:54:33 IST 2026
[2026-08-29 07:54:33,435.435 INFO    ] ================================================
[2026-08-29 07:54:34,009.009 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:54:34
[2026-08-29 07:54:34,629.629 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:54:34,928.928 INFO    ] Initializing speech engine...
[2026-08-29 07:54:34,937.937 INFO    ] 2026-08-29 07:54:34
[2026-08-29 07:54:35,220.220 INFO    ] 2026-08-29 07:54:35
[2026-08-29 07:54:35,265.265 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:54:35,487.487 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:54:35,496.496 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:54:35,656.656 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:54:35,665.665 INFO    ] time= 29/08/2026 07:54:35
[2026-08-29 07:54:35,671.671 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:54:35,685.685 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:54:35,763.763 INFO    ] No existing commands found in stream
[2026-08-29 07:54:40,798.798 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:54:40,801.801 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-08-29 07:54:41,870.870 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:54:41,871.871 INFO    ] Checking for system updates...
[2026-08-29 07:54:41,891.891 INFO    ] 200
[2026-08-29 07:54:41,893.893 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:54:41,925.925 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:54:41,926.926 INFO    ] No update needed
[2026-08-29 07:54:41,927.927 INFO    ] Checking for camera pi updates...
[2026-08-29 07:54:41,947.947 INFO    ] 200
[2026-08-29 07:54:41,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:54:41,973.973 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:54:42,058.058 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:54:42,060.060 INFO    ] No camera update needed
[2026-08-29 07:54:42,061.061 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:54:42,062.062 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:54:42,065.065 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:54:42,068.068 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:54:44,107.107 INFO    ] ================================================
[2026-08-29 07:54:44,123.123 INFO    ] Launching Daemon at Sat Aug 29 07:54:44 IST 2026
[2026-08-29 07:54:44,134.134 INFO    ] ================================================
[2026-08-29 07:54:44,716.716 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:54:44
[2026-08-29 07:54:45,318.318 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:54:45,578.578 INFO    ] Initializing speech engine...
[2026-08-29 07:54:45,587.587 INFO    ] 2026-08-29 07:54:45
[2026-08-29 07:54:45,864.864 INFO    ] 2026-08-29 07:54:45
[2026-08-29 07:54:45,900.900 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:54:46,079.079 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:54:46,105.105 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:54:47,497.497 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:54:47,499.499 INFO    ] time= 29/08/2026 07:54:47
[2026-08-29 07:54:47,502.502 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:54:47,505.505 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:54:47,563.563 INFO    ] No existing commands found in stream
[2026-08-29 07:54:52,573.573 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:54:52,575.575 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-08-29 07:54:53,115.115 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:54:53,116.116 INFO    ] Checking for system updates...
[2026-08-29 07:54:53,138.138 INFO    ] 200
[2026-08-29 07:54:53,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:54:53,169.169 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:54:53,170.170 INFO    ] No update needed
[2026-08-29 07:54:53,171.171 INFO    ] Checking for camera pi updates...
[2026-08-29 07:54:53,191.191 INFO    ] 200
[2026-08-29 07:54:53,192.192 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:54:53,215.215 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:54:53,293.293 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:54:53,294.294 INFO    ] No camera update needed
[2026-08-29 07:54:53,295.295 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:54:53,297.297 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:54:53,301.301 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:54:53,306.306 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:54:55,347.347 INFO    ] ================================================
[2026-08-29 07:54:55,363.363 INFO    ] Launching Daemon at Sat Aug 29 07:54:55 IST 2026
[2026-08-29 07:54:55,375.375 INFO    ] ================================================
[2026-08-29 07:54:56,026.026 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:54:56
[2026-08-29 07:54:56,487.487 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:54:56,631.631 INFO    ] Initializing speech engine...
[2026-08-29 07:54:56,637.637 INFO    ] 2026-08-29 07:54:56
[2026-08-29 07:54:56,839.839 INFO    ] 2026-08-29 07:54:56
[2026-08-29 07:54:56,868.868 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:54:56,989.989 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:54:57,032.032 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:54:57,182.182 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:54:57,238.238 INFO    ] time= 29/08/2026 07:54:57
[2026-08-29 07:54:57,280.280 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:54:57,287.287 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:54:57,354.354 INFO    ] No existing commands found in stream
[2026-08-29 07:55:02,364.364 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:55:02,368.368 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-08-29 07:55:05,566.566 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:55:05,567.567 INFO    ] Checking for system updates...
[2026-08-29 07:55:05,588.588 INFO    ] 200
[2026-08-29 07:55:05,589.589 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:55:05,619.619 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:55:05,620.620 INFO    ] No update needed
[2026-08-29 07:55:05,621.621 INFO    ] Checking for camera pi updates...
[2026-08-29 07:55:05,642.642 INFO    ] 200
[2026-08-29 07:55:05,643.643 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:55:05,667.667 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:55:05,743.743 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:55:05,744.744 INFO    ] No camera update needed
[2026-08-29 07:55:05,745.745 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:55:05,747.747 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:55:05,749.749 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:55:05,752.752 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:55:07,793.793 INFO    ] ================================================
[2026-08-29 07:55:07,808.808 INFO    ] Launching Daemon at Sat Aug 29 07:55:07 IST 2026
[2026-08-29 07:55:07,819.819 INFO    ] ================================================
[2026-08-29 07:55:08,188.188 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:55:08
[2026-08-29 07:55:08,501.501 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:55:08,638.638 INFO    ] Initializing speech engine...
[2026-08-29 07:55:08,651.651 INFO    ] 2026-08-29 07:55:08
[2026-08-29 07:55:08,868.868 INFO    ] 2026-08-29 07:55:08
[2026-08-29 07:55:08,898.898 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:55:09,029.029 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:55:09,053.053 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:55:09,203.203 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:55:09,246.246 INFO    ] time= 29/08/2026 07:55:09
[2026-08-29 07:55:09,288.288 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:55:09,326.326 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:55:09,425.425 INFO    ] No existing commands found in stream
[2026-08-29 07:55:14,434.434 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:55:14,437.437 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-08-29 07:55:17,704.704 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:55:17,706.706 INFO    ] Checking for system updates...
[2026-08-29 07:55:17,727.727 INFO    ] 200
[2026-08-29 07:55:17,728.728 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:55:17,758.758 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:55:17,759.759 INFO    ] No update needed
[2026-08-29 07:55:17,761.761 INFO    ] Checking for camera pi updates...
[2026-08-29 07:55:17,781.781 INFO    ] 200
[2026-08-29 07:55:17,783.783 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:55:17,811.811 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:55:17,920.920 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:55:17,923.923 INFO    ] No camera update needed
[2026-08-29 07:55:17,926.926 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:55:17,928.928 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:55:17,934.934 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:55:17,940.940 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:55:19,980.980 INFO    ] ================================================
[2026-08-29 07:55:20,996.996 INFO    ] Launching Daemon at Sat Aug 29 07:55:19 IST 2026
[2026-08-29 07:55:20,007.007 INFO    ] ================================================
[2026-08-29 07:55:20,573.573 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:55:20
[2026-08-29 07:55:21,054.054 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:55:21,188.188 INFO    ] Initializing speech engine...
[2026-08-29 07:55:21,191.191 INFO    ] 2026-08-29 07:55:21
[2026-08-29 07:55:21,441.441 INFO    ] 2026-08-29 07:55:21
[2026-08-29 07:55:21,478.478 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:55:21,671.671 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:55:21,678.678 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:55:21,785.785 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:55:21,791.791 INFO    ] time= 29/08/2026 07:55:21
[2026-08-29 07:55:21,813.813 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:55:21,819.819 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:55:21,872.872 INFO    ] No existing commands found in stream
[2026-08-29 07:55:26,884.884 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:55:26,887.887 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-08-29 07:55:30,151.151 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:55:30,153.153 INFO    ] Checking for system updates...
[2026-08-29 07:55:30,173.173 INFO    ] 200
[2026-08-29 07:55:30,174.174 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:55:30,204.204 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:55:30,205.205 INFO    ] No update needed
[2026-08-29 07:55:30,207.207 INFO    ] Checking for camera pi updates...
[2026-08-29 07:55:30,227.227 INFO    ] 200
[2026-08-29 07:55:30,228.228 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:55:30,251.251 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:55:30,347.347 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:55:30,349.349 INFO    ] No camera update needed
[2026-08-29 07:55:30,350.350 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:55:30,351.351 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:55:30,354.354 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:55:30,357.357 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:55:32,389.389 INFO    ] ================================================
[2026-08-29 07:55:32,398.398 INFO    ] Launching Daemon at Sat Aug 29 07:55:32 IST 2026
[2026-08-29 07:55:32,406.406 INFO    ] ================================================
[2026-08-29 07:55:32,979.979 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:55:32
[2026-08-29 07:55:33,576.576 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:55:33,833.833 INFO    ] Initializing speech engine...
[2026-08-29 07:55:33,848.848 INFO    ] 2026-08-29 07:55:33
[2026-08-29 07:55:34,130.130 INFO    ] 2026-08-29 07:55:34
[2026-08-29 07:55:34,170.170 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:55:34,361.361 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:55:34,368.368 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:55:34,499.499 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:55:34,506.506 INFO    ] time= 29/08/2026 07:55:34
[2026-08-29 07:55:34,527.527 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:55:34,548.548 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:55:34,630.630 INFO    ] No existing commands found in stream
[2026-08-29 07:55:39,648.648 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:55:39,651.651 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-08-29 07:55:42,013.013 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:55:42,015.015 INFO    ] Checking for system updates...
[2026-08-29 07:55:42,035.035 INFO    ] 200
[2026-08-29 07:55:42,037.037 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:55:42,068.068 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:55:42,070.070 INFO    ] No update needed
[2026-08-29 07:55:42,071.071 INFO    ] Checking for camera pi updates...
[2026-08-29 07:55:42,091.091 INFO    ] 200
[2026-08-29 07:55:42,093.093 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:55:42,117.117 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:55:42,292.292 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:55:42,293.293 INFO    ] No camera update needed
[2026-08-29 07:55:42,295.295 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:55:42,296.296 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:55:42,299.299 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:55:42,302.302 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:55:44,340.340 INFO    ] ================================================
[2026-08-29 07:55:44,356.356 INFO    ] Launching Daemon at Sat Aug 29 07:55:44 IST 2026
[2026-08-29 07:55:44,366.366 INFO    ] ================================================
[2026-08-29 07:55:44,724.724 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:55:44
[2026-08-29 07:55:45,224.224 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:55:45,480.480 INFO    ] Initializing speech engine...
[2026-08-29 07:55:45,505.505 INFO    ] 2026-08-29 07:55:45
[2026-08-29 07:55:45,780.780 INFO    ] 2026-08-29 07:55:45
[2026-08-29 07:55:45,818.818 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:55:46,011.011 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:55:46,018.018 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:55:46,150.150 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:55:46,156.156 INFO    ] time= 29/08/2026 07:55:46
[2026-08-29 07:55:46,170.170 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:55:46,196.196 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:55:46,278.278 INFO    ] No existing commands found in stream
[2026-08-29 07:55:51,288.288 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:55:51,291.291 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-08-29 07:55:55,017.017 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 07:55:55,019.019 INFO    ] Checking for system updates...
[2026-08-29 07:55:55,039.039 INFO    ] 200
[2026-08-29 07:55:55,040.040 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:55:55,072.072 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:55:55,073.073 INFO    ] No update needed
[2026-08-29 07:55:55,074.074 INFO    ] Checking for camera pi updates...
[2026-08-29 07:55:55,093.093 INFO    ] 200
[2026-08-29 07:55:55,095.095 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:55:55,118.118 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:55:55,221.221 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:55:55,222.222 INFO    ] No camera update needed
[2026-08-29 07:55:55,224.224 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:55:55,225.225 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:55:55,228.228 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:55:55,230.230 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:55:57,269.269 INFO    ] ================================================
[2026-08-29 07:55:57,284.284 INFO    ] Launching Daemon at Sat Aug 29 07:55:57 IST 2026
[2026-08-29 07:55:57,296.296 INFO    ] ================================================
[2026-08-29 07:55:57,650.650 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:55:57
[2026-08-29 07:55:57,984.984 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:55:58,122.122 INFO    ] Initializing speech engine...
[2026-08-29 07:55:58,135.135 INFO    ] 2026-08-29 07:55:58
[2026-08-29 07:55:58,346.346 INFO    ] 2026-08-29 07:55:58
[2026-08-29 07:55:58,375.375 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:55:58,498.498 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:55:58,562.562 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:55:58,693.693 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:55:58,748.748 INFO    ] time= 29/08/2026 07:55:58
[2026-08-29 07:55:58,791.791 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:55:58,793.793 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:55:58,864.864 INFO    ] No existing commands found in stream
[2026-08-29 07:56:03,875.875 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:56:03,878.878 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-08-29 07:56:07,214.214 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:56:07,216.216 INFO    ] Checking for system updates...
[2026-08-29 07:56:07,236.236 INFO    ] 200
[2026-08-29 07:56:07,238.238 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:56:07,270.270 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:56:07,272.272 INFO    ] No update needed
[2026-08-29 07:56:07,273.273 INFO    ] Checking for camera pi updates...
[2026-08-29 07:56:07,293.293 INFO    ] 200
[2026-08-29 07:56:07,295.295 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:56:07,318.318 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:56:07,397.397 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:56:07,398.398 INFO    ] No camera update needed
[2026-08-29 07:56:07,399.399 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:56:07,401.401 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:56:07,404.404 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:56:07,407.407 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:56:09,446.446 INFO    ] ================================================
[2026-08-29 07:56:09,461.461 INFO    ] Launching Daemon at Sat Aug 29 07:56:09 IST 2026
[2026-08-29 07:56:09,472.472 INFO    ] ================================================
[2026-08-29 07:56:09,800.800 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:56:09
[2026-08-29 07:56:10,260.260 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:56:10,516.516 INFO    ] Initializing speech engine...
[2026-08-29 07:56:10,522.522 INFO    ] 2026-08-29 07:56:10
[2026-08-29 07:56:10,818.818 INFO    ] 2026-08-29 07:56:10
[2026-08-29 07:56:10,854.854 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:56:11,005.005 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:56:11,012.012 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:56:11,161.161 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:56:11,171.171 INFO    ] time= 29/08/2026 07:56:11
[2026-08-29 07:56:11,176.176 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:56:11,181.181 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:56:11,247.247 INFO    ] No existing commands found in stream
[2026-08-29 07:56:16,261.261 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:56:16,264.264 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-08-29 07:56:17,195.195 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:56:17,197.197 INFO    ] Checking for system updates...
[2026-08-29 07:56:17,217.217 INFO    ] 200
[2026-08-29 07:56:17,219.219 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:56:17,251.251 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:56:17,253.253 INFO    ] No update needed
[2026-08-29 07:56:17,255.255 INFO    ] Checking for camera pi updates...
[2026-08-29 07:56:17,276.276 INFO    ] 200
[2026-08-29 07:56:17,277.277 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:56:17,303.303 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:56:17,404.404 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:56:17,405.405 INFO    ] No camera update needed
[2026-08-29 07:56:17,407.407 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:56:17,408.408 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:56:17,411.411 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:56:17,414.414 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:56:19,454.454 INFO    ] ================================================
[2026-08-29 07:56:19,469.469 INFO    ] Launching Daemon at Sat Aug 29 07:56:19 IST 2026
[2026-08-29 07:56:19,480.480 INFO    ] ================================================
[2026-08-29 07:56:19,819.819 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:56:19
[2026-08-29 07:56:20,237.237 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:56:20,541.541 INFO    ] Initializing speech engine...
[2026-08-29 07:56:20,548.548 INFO    ] 2026-08-29 07:56:20
[2026-08-29 07:56:20,821.821 INFO    ] 2026-08-29 07:56:20
[2026-08-29 07:56:20,883.883 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:56:21,112.112 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:56:21,122.122 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:56:21,258.258 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:56:21,285.285 INFO    ] time= 29/08/2026 07:56:21
[2026-08-29 07:56:21,346.346 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:56:21,396.396 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:56:21,450.450 INFO    ] No existing commands found in stream
[2026-08-29 07:56:26,463.463 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:56:26,466.466 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-08-29 07:56:29,566.566 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:56:29,568.568 INFO    ] Checking for system updates...
[2026-08-29 07:56:29,589.589 INFO    ] 200
[2026-08-29 07:56:29,591.591 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:56:29,622.622 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:56:29,624.624 INFO    ] No update needed
[2026-08-29 07:56:29,625.625 INFO    ] Checking for camera pi updates...
[2026-08-29 07:56:29,645.645 INFO    ] 200
[2026-08-29 07:56:29,646.646 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:56:29,669.669 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:56:29,776.776 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:56:29,778.778 INFO    ] No camera update needed
[2026-08-29 07:56:29,781.781 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:56:29,784.784 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:56:29,790.790 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:56:29,795.795 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:56:31,836.836 INFO    ] ================================================
[2026-08-29 07:56:31,851.851 INFO    ] Launching Daemon at Sat Aug 29 07:56:31 IST 2026
[2026-08-29 07:56:31,863.863 INFO    ] ================================================
[2026-08-29 07:56:32,466.466 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:56:32
[2026-08-29 07:56:32,997.997 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:56:33,267.267 INFO    ] Initializing speech engine...
[2026-08-29 07:56:33,290.290 INFO    ] 2026-08-29 07:56:33
[2026-08-29 07:56:33,541.541 INFO    ] 2026-08-29 07:56:33
[2026-08-29 07:56:33,576.576 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:56:33,756.756 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:56:33,769.769 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:56:33,916.916 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:56:33,921.921 INFO    ] time= 29/08/2026 07:56:33
[2026-08-29 07:56:33,927.927 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:56:33,948.948 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:56:34,076.076 INFO    ] No existing commands found in stream
[2026-08-29 07:56:39,106.106 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:56:39,109.109 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-08-29 07:56:40,834.834 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:56:40,835.835 INFO    ] Checking for system updates...
[2026-08-29 07:56:40,855.855 INFO    ] 200
[2026-08-29 07:56:40,857.857 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:56:40,886.886 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:56:40,888.888 INFO    ] No update needed
[2026-08-29 07:56:40,889.889 INFO    ] Checking for camera pi updates...
[2026-08-29 07:56:40,908.908 INFO    ] 200
[2026-08-29 07:56:40,909.909 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:56:40,934.934 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:56:41,011.011 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:56:41,013.013 INFO    ] No camera update needed
[2026-08-29 07:56:41,014.014 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:56:41,015.015 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:56:41,018.018 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:56:41,021.021 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:56:43,060.060 INFO    ] ================================================
[2026-08-29 07:56:43,075.075 INFO    ] Launching Daemon at Sat Aug 29 07:56:43 IST 2026
[2026-08-29 07:56:43,086.086 INFO    ] ================================================
[2026-08-29 07:56:43,436.436 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:56:43
[2026-08-29 07:56:43,752.752 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:56:43,891.891 INFO    ] Initializing speech engine...
[2026-08-29 07:56:43,898.898 INFO    ] 2026-08-29 07:56:43
[2026-08-29 07:56:44,096.096 INFO    ] 2026-08-29 07:56:44
[2026-08-29 07:56:44,176.176 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:56:44,326.326 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:56:44,330.330 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:56:44,464.464 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:56:44,524.524 INFO    ] time= 29/08/2026 07:56:44
[2026-08-29 07:56:44,591.591 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:56:44,597.597 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:56:44,716.716 INFO    ] No existing commands found in stream
[2026-08-29 07:56:49,747.747 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:56:49,750.750 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-08-29 07:56:53,829.829 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:56:53,830.830 INFO    ] Checking for system updates...
[2026-08-29 07:56:53,850.850 INFO    ] 200
[2026-08-29 07:56:53,852.852 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:56:53,881.881 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:56:53,883.883 INFO    ] No update needed
[2026-08-29 07:56:53,884.884 INFO    ] Checking for camera pi updates...
[2026-08-29 07:56:53,903.903 INFO    ] 200
[2026-08-29 07:56:53,904.904 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:56:53,929.929 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:56:54,027.027 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:56:54,029.029 INFO    ] No camera update needed
[2026-08-29 07:56:54,030.030 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:56:54,031.031 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:56:54,034.034 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:56:54,037.037 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:56:56,076.076 INFO    ] ================================================
[2026-08-29 07:56:56,091.091 INFO    ] Launching Daemon at Sat Aug 29 07:56:56 IST 2026
[2026-08-29 07:56:56,102.102 INFO    ] ================================================
[2026-08-29 07:56:56,435.435 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:56:56
[2026-08-29 07:56:56,746.746 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:56:56,876.876 INFO    ] Initializing speech engine...
[2026-08-29 07:56:56,880.880 INFO    ] 2026-08-29 07:56:56
[2026-08-29 07:56:57,107.107 INFO    ] 2026-08-29 07:56:57
[2026-08-29 07:56:57,137.137 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:56:57,267.267 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:56:57,284.284 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:56:57,432.432 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:56:57,476.476 INFO    ] time= 29/08/2026 07:56:57
[2026-08-29 07:56:57,508.508 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:56:57,558.558 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:56:57,655.655 INFO    ] No existing commands found in stream
[2026-08-29 07:57:02,664.664 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:57:02,667.667 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-08-29 07:57:03,281.281 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:57:03,285.285 INFO    ] Checking for system updates...
[2026-08-29 07:57:03,326.326 INFO    ] 200
[2026-08-29 07:57:03,329.329 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:57:03,382.382 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:57:03,385.385 INFO    ] No update needed
[2026-08-29 07:57:03,387.387 INFO    ] Checking for camera pi updates...
[2026-08-29 07:57:03,428.428 INFO    ] 200
[2026-08-29 07:57:03,430.430 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:57:03,471.471 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:57:03,567.567 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:57:03,569.569 INFO    ] No camera update needed
[2026-08-29 07:57:03,571.571 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:57:03,574.574 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:57:03,579.579 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:57:03,584.584 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:57:05,625.625 INFO    ] ================================================
[2026-08-29 07:57:05,640.640 INFO    ] Launching Daemon at Sat Aug 29 07:57:05 IST 2026
[2026-08-29 07:57:05,651.651 INFO    ] ================================================
[2026-08-29 07:57:06,140.140 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:57:06
[2026-08-29 07:57:06,752.752 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:57:07,021.021 INFO    ] Initializing speech engine...
[2026-08-29 07:57:07,040.040 INFO    ] 2026-08-29 07:57:07
[2026-08-29 07:57:07,303.303 INFO    ] 2026-08-29 07:57:07
[2026-08-29 07:57:07,342.342 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:57:07,534.534 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:57:07,546.546 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:57:07,668.668 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:57:07,674.674 INFO    ] time= 29/08/2026 07:57:07
[2026-08-29 07:57:07,694.694 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:57:07,715.715 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:57:07,795.795 INFO    ] No existing commands found in stream
[2026-08-29 07:57:12,808.808 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:57:12,810.810 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-08-29 07:57:14,088.088 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:57:14,089.089 INFO    ] Checking for system updates...
[2026-08-29 07:57:14,109.109 INFO    ] 200
[2026-08-29 07:57:14,110.110 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:57:14,140.140 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:57:14,141.141 INFO    ] No update needed
[2026-08-29 07:57:14,142.142 INFO    ] Checking for camera pi updates...
[2026-08-29 07:57:14,162.162 INFO    ] 200
[2026-08-29 07:57:14,163.163 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:57:14,186.186 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:57:14,260.260 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:57:14,262.262 INFO    ] No camera update needed
[2026-08-29 07:57:14,263.263 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:57:14,264.264 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:57:14,267.267 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:57:14,270.270 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:57:16,308.308 INFO    ] ================================================
[2026-08-29 07:57:16,323.323 INFO    ] Launching Daemon at Sat Aug 29 07:57:16 IST 2026
[2026-08-29 07:57:16,334.334 INFO    ] ================================================
[2026-08-29 07:57:16,673.673 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:57:16
[2026-08-29 07:57:16,987.987 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:57:17,137.137 INFO    ] Initializing speech engine...
[2026-08-29 07:57:17,153.153 INFO    ] 2026-08-29 07:57:17
[2026-08-29 07:57:17,410.410 INFO    ] 2026-08-29 07:57:17
[2026-08-29 07:57:17,444.444 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:57:17,622.622 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:57:17,634.634 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:57:17,780.780 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:57:17,789.789 INFO    ] time= 29/08/2026 07:57:17
[2026-08-29 07:57:17,795.795 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:57:17,807.807 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:57:17,927.927 INFO    ] No existing commands found in stream
[2026-08-29 07:57:22,952.952 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:57:22,954.954 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-08-29 07:57:23,533.533 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:57:23,534.534 INFO    ] Checking for system updates...
[2026-08-29 07:57:23,556.556 INFO    ] 200
[2026-08-29 07:57:23,558.558 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:57:23,587.587 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:57:23,589.589 INFO    ] No update needed
[2026-08-29 07:57:23,590.590 INFO    ] Checking for camera pi updates...
[2026-08-29 07:57:23,611.611 INFO    ] 200
[2026-08-29 07:57:23,612.612 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:57:23,635.635 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:57:23,716.716 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:57:23,718.718 INFO    ] No camera update needed
[2026-08-29 07:57:23,720.720 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:57:23,723.723 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:57:23,728.728 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:57:23,733.733 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:57:25,775.775 INFO    ] ================================================
[2026-08-29 07:57:25,790.790 INFO    ] Launching Daemon at Sat Aug 29 07:57:25 IST 2026
[2026-08-29 07:57:25,800.800 INFO    ] ================================================
[2026-08-29 07:57:26,391.391 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:57:26
[2026-08-29 07:57:26,873.873 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:57:27,024.024 INFO    ] Initializing speech engine...
[2026-08-29 07:57:27,028.028 INFO    ] 2026-08-29 07:57:27
[2026-08-29 07:57:27,231.231 INFO    ] 2026-08-29 07:57:27
[2026-08-29 07:57:27,260.260 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:57:27,389.389 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:57:27,454.454 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:57:27,629.629 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:57:27,660.660 INFO    ] time= 29/08/2026 07:57:27
[2026-08-29 07:57:27,715.715 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:57:27,763.763 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:57:27,881.881 INFO    ] No existing commands found in stream
[2026-08-29 07:57:32,917.917 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:57:32,920.920 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-08-29 07:57:35,303.303 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:57:35,306.306 INFO    ] Checking for system updates...
[2026-08-29 07:57:35,342.342 INFO    ] 200
[2026-08-29 07:57:35,345.345 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:57:35,398.398 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:57:35,400.400 INFO    ] No update needed
[2026-08-29 07:57:35,403.403 INFO    ] Checking for camera pi updates...
[2026-08-29 07:57:35,437.437 INFO    ] 200
[2026-08-29 07:57:35,440.440 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:57:35,481.481 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:57:35,578.578 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:57:35,581.581 INFO    ] No camera update needed
[2026-08-29 07:57:35,584.584 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:57:35,586.586 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:57:35,592.592 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:57:35,598.598 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:57:37,639.639 INFO    ] ================================================
[2026-08-29 07:57:37,654.654 INFO    ] Launching Daemon at Sat Aug 29 07:57:37 IST 2026
[2026-08-29 07:57:37,665.665 INFO    ] ================================================
[2026-08-29 07:57:38,146.146 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:57:38
[2026-08-29 07:57:38,478.478 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:57:38,627.627 INFO    ] Initializing speech engine...
[2026-08-29 07:57:38,633.633 INFO    ] 2026-08-29 07:57:38
[2026-08-29 07:57:38,875.875 INFO    ] 2026-08-29 07:57:38
[2026-08-29 07:57:38,931.931 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:57:39,094.094 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:57:39,103.103 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:57:39,268.268 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:57:39,302.302 INFO    ] time= 29/08/2026 07:57:39
[2026-08-29 07:57:39,308.308 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:57:39,327.327 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:57:39,442.442 INFO    ] No existing commands found in stream
[2026-08-29 07:57:44,467.467 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:57:44,470.470 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-08-29 07:57:45,308.308 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:57:45,310.310 INFO    ] Checking for system updates...
[2026-08-29 07:57:45,331.331 INFO    ] 200
[2026-08-29 07:57:45,333.333 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:57:45,363.363 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:57:45,364.364 INFO    ] No update needed
[2026-08-29 07:57:45,365.365 INFO    ] Checking for camera pi updates...
[2026-08-29 07:57:45,385.385 INFO    ] 200
[2026-08-29 07:57:45,386.386 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:57:45,409.409 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:57:45,600.600 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:57:45,601.601 INFO    ] No camera update needed
[2026-08-29 07:57:45,603.603 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:57:45,604.604 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:57:45,607.607 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:57:45,610.610 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:57:47,648.648 INFO    ] ================================================
[2026-08-29 07:57:47,664.664 INFO    ] Launching Daemon at Sat Aug 29 07:57:47 IST 2026
[2026-08-29 07:57:47,674.674 INFO    ] ================================================
[2026-08-29 07:57:47,996.996 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:57:47
[2026-08-29 07:57:48,307.307 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:57:48,444.444 INFO    ] Initializing speech engine...
[2026-08-29 07:57:48,454.454 INFO    ] 2026-08-29 07:57:48
[2026-08-29 07:57:48,658.658 INFO    ] 2026-08-29 07:57:48
[2026-08-29 07:57:48,687.687 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:57:48,811.811 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:57:48,874.874 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:57:49,013.013 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:57:49,077.077 INFO    ] time= 29/08/2026 07:57:49
[2026-08-29 07:57:49,106.106 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:57:49,112.112 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:57:49,181.181 INFO    ] No existing commands found in stream
[2026-08-29 07:57:54,190.190 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:57:54,193.193 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-08-29 07:57:57,326.326 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:57:57,328.328 INFO    ] Checking for system updates...
[2026-08-29 07:57:57,348.348 INFO    ] 200
[2026-08-29 07:57:57,349.349 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:57:57,381.381 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:57:57,383.383 INFO    ] No update needed
[2026-08-29 07:57:57,384.384 INFO    ] Checking for camera pi updates...
[2026-08-29 07:57:57,403.403 INFO    ] 200
[2026-08-29 07:57:57,405.405 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:57:57,429.429 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:57:57,510.510 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:57:57,511.511 INFO    ] No camera update needed
[2026-08-29 07:57:57,512.512 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:57:57,513.513 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:57:57,516.516 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:57:57,519.519 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:57:59,560.560 INFO    ] ================================================
[2026-08-29 07:57:59,575.575 INFO    ] Launching Daemon at Sat Aug 29 07:57:59 IST 2026
[2026-08-29 07:57:59,586.586 INFO    ] ================================================
[2026-08-29 07:57:59,917.917 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:57:59
[2026-08-29 07:58:00,232.232 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:58:00,388.388 INFO    ] Initializing speech engine...
[2026-08-29 07:58:00,401.401 INFO    ] 2026-08-29 07:58:00
[2026-08-29 07:58:00,679.679 INFO    ] 2026-08-29 07:58:00
[2026-08-29 07:58:00,724.724 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:58:00,944.944 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:58:00,955.955 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:58:01,087.087 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:58:01,150.150 INFO    ] time= 29/08/2026 07:58:01
[2026-08-29 07:58:01,215.215 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:58:01,224.224 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:58:01,338.338 INFO    ] No existing commands found in stream
[2026-08-29 07:58:06,361.361 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:58:06,365.365 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-08-29 07:58:08,909.909 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 07:58:08,911.911 INFO    ] Checking for system updates...
[2026-08-29 07:58:08,931.931 INFO    ] 200
[2026-08-29 07:58:08,933.933 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:58:08,963.963 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:58:08,965.965 INFO    ] No update needed
[2026-08-29 07:58:08,966.966 INFO    ] Checking for camera pi updates...
[2026-08-29 07:58:08,985.985 INFO    ] 200
[2026-08-29 07:58:08,987.987 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:58:09,010.010 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:58:09,135.135 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:58:09,138.138 INFO    ] No camera update needed
[2026-08-29 07:58:09,140.140 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:58:09,143.143 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:58:09,149.149 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:58:09,154.154 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:58:11,198.198 INFO    ] ================================================
[2026-08-29 07:58:11,213.213 INFO    ] Launching Daemon at Sat Aug 29 07:58:11 IST 2026
[2026-08-29 07:58:11,224.224 INFO    ] ================================================
[2026-08-29 07:58:11,867.867 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:58:11
[2026-08-29 07:58:12,361.361 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:58:12,511.511 INFO    ] Initializing speech engine...
[2026-08-29 07:58:12,517.517 INFO    ] 2026-08-29 07:58:12
[2026-08-29 07:58:12,753.753 INFO    ] 2026-08-29 07:58:12
[2026-08-29 07:58:12,809.809 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:58:12,976.976 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:58:12,985.985 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:58:13,163.163 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:58:13,182.182 INFO    ] time= 29/08/2026 07:58:13
[2026-08-29 07:58:13,204.204 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:58:13,230.230 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:58:13,331.331 INFO    ] No existing commands found in stream
[2026-08-29 07:58:18,347.347 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:58:18,351.351 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-08-29 07:58:19,136.136 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:58:19,138.138 INFO    ] Checking for system updates...
[2026-08-29 07:58:19,158.158 INFO    ] 200
[2026-08-29 07:58:19,160.160 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:58:19,190.190 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:58:19,192.192 INFO    ] No update needed
[2026-08-29 07:58:19,193.193 INFO    ] Checking for camera pi updates...
[2026-08-29 07:58:19,213.213 INFO    ] 200
[2026-08-29 07:58:19,214.214 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:58:19,237.237 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:58:19,318.318 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:58:19,320.320 INFO    ] No camera update needed
[2026-08-29 07:58:19,323.323 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:58:19,326.326 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:58:19,332.332 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:58:19,338.338 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:58:21,378.378 INFO    ] ================================================
[2026-08-29 07:58:21,394.394 INFO    ] Launching Daemon at Sat Aug 29 07:58:21 IST 2026
[2026-08-29 07:58:21,405.405 INFO    ] ================================================
[2026-08-29 07:58:22,051.051 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:58:22
[2026-08-29 07:58:22,547.547 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:58:22,826.826 INFO    ] Initializing speech engine...
[2026-08-29 07:58:22,833.833 INFO    ] 2026-08-29 07:58:22
[2026-08-29 07:58:23,149.149 INFO    ] 2026-08-29 07:58:23
[2026-08-29 07:58:23,180.180 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:58:23,388.388 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:58:23,394.394 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:58:23,526.526 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:58:23,533.533 INFO    ] time= 29/08/2026 07:58:23
[2026-08-29 07:58:23,603.603 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:58:23,660.660 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:58:23,721.721 INFO    ] No existing commands found in stream
[2026-08-29 07:58:28,741.741 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:58:28,745.745 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-08-29 07:58:32,935.935 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 07:58:32,938.938 INFO    ] Checking for system updates...
[2026-08-29 07:58:32,979.979 INFO    ] 200
[2026-08-29 07:58:32,981.981 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:58:33,036.036 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:58:33,039.039 INFO    ] No update needed
[2026-08-29 07:58:33,041.041 INFO    ] Checking for camera pi updates...
[2026-08-29 07:58:33,079.079 INFO    ] 200
[2026-08-29 07:58:33,082.082 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:58:33,125.125 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:58:33,215.215 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:58:33,217.217 INFO    ] No camera update needed
[2026-08-29 07:58:33,220.220 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:58:33,223.223 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:58:33,229.229 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:58:33,234.234 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:58:35,276.276 INFO    ] ================================================
[2026-08-29 07:58:35,292.292 INFO    ] Launching Daemon at Sat Aug 29 07:58:35 IST 2026
[2026-08-29 07:58:35,303.303 INFO    ] ================================================
[2026-08-29 07:58:35,674.674 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:58:35
[2026-08-29 07:58:36,011.011 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:58:36,151.151 INFO    ] Initializing speech engine...
[2026-08-29 07:58:36,165.165 INFO    ] 2026-08-29 07:58:36
[2026-08-29 07:58:36,374.374 INFO    ] 2026-08-29 07:58:36
[2026-08-29 07:58:36,412.412 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:58:36,578.578 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:58:36,585.585 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:58:36,776.776 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:58:36,783.783 INFO    ] time= 29/08/2026 07:58:36
[2026-08-29 07:58:36,804.804 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:58:36,831.831 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:58:36,937.937 INFO    ] No existing commands found in stream
[2026-08-29 07:58:41,958.958 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:58:41,961.961 INFO    ] Waiting 0.00 seconds before fallback handling...
[2026-08-29 07:58:42,343.343 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:58:42,345.345 INFO    ] Checking for system updates...
[2026-08-29 07:58:42,365.365 INFO    ] 200
[2026-08-29 07:58:42,367.367 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:58:42,398.398 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:58:42,399.399 INFO    ] No update needed
[2026-08-29 07:58:42,401.401 INFO    ] Checking for camera pi updates...
[2026-08-29 07:58:42,420.420 INFO    ] 200
[2026-08-29 07:58:42,421.421 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:58:42,446.446 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:58:42,540.540 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:58:42,542.542 INFO    ] No camera update needed
[2026-08-29 07:58:42,545.545 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:58:42,547.547 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:58:42,552.552 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:58:42,557.557 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:58:44,597.597 INFO    ] ================================================
[2026-08-29 07:58:44,612.612 INFO    ] Launching Daemon at Sat Aug 29 07:58:44 IST 2026
[2026-08-29 07:58:44,624.624 INFO    ] ================================================
[2026-08-29 07:58:45,210.210 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:58:45
[2026-08-29 07:58:45,703.703 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:58:45,847.847 INFO    ] Initializing speech engine...
[2026-08-29 07:58:45,852.852 INFO    ] 2026-08-29 07:58:45
[2026-08-29 07:58:46,049.049 INFO    ] 2026-08-29 07:58:46
[2026-08-29 07:58:46,128.128 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:58:46,403.403 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:58:46,445.445 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:58:46,584.584 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:58:46,593.593 INFO    ] time= 29/08/2026 07:58:46
[2026-08-29 07:58:46,603.603 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:58:46,671.671 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:58:46,794.794 INFO    ] No existing commands found in stream
[2026-08-29 07:58:51,805.805 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:58:51,808.808 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-08-29 07:58:53,096.096 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:58:53,097.097 INFO    ] Checking for system updates...
[2026-08-29 07:58:53,118.118 INFO    ] 200
[2026-08-29 07:58:53,119.119 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:58:53,151.151 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:58:53,153.153 INFO    ] No update needed
[2026-08-29 07:58:53,154.154 INFO    ] Checking for camera pi updates...
[2026-08-29 07:58:53,173.173 INFO    ] 200
[2026-08-29 07:58:53,174.174 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:58:53,197.197 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:58:53,298.298 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:58:53,300.300 INFO    ] No camera update needed
[2026-08-29 07:58:53,303.303 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:58:53,305.305 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:58:53,311.311 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:58:53,316.316 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:58:55,355.355 INFO    ] ================================================
[2026-08-29 07:58:55,371.371 INFO    ] Launching Daemon at Sat Aug 29 07:58:55 IST 2026
[2026-08-29 07:58:55,383.383 INFO    ] ================================================
[2026-08-29 07:58:55,971.971 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:58:55
[2026-08-29 07:58:56,478.478 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:58:56,617.617 INFO    ] Initializing speech engine...
[2026-08-29 07:58:56,627.627 INFO    ] 2026-08-29 07:58:56
[2026-08-29 07:58:56,832.832 INFO    ] 2026-08-29 07:58:56
[2026-08-29 07:58:56,860.860 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:58:56,987.987 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:58:57,045.045 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:58:57,181.181 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:58:57,249.249 INFO    ] time= 29/08/2026 07:58:57
[2026-08-29 07:58:57,272.272 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:58:57,279.279 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:58:57,344.344 INFO    ] No existing commands found in stream
[2026-08-29 07:59:02,354.354 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:59:02,357.357 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-08-29 07:59:05,405.405 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:59:05,406.406 INFO    ] Checking for system updates...
[2026-08-29 07:59:05,427.427 INFO    ] 200
[2026-08-29 07:59:05,428.428 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:59:05,458.458 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:59:05,459.459 INFO    ] No update needed
[2026-08-29 07:59:05,460.460 INFO    ] Checking for camera pi updates...
[2026-08-29 07:59:05,480.480 INFO    ] 200
[2026-08-29 07:59:05,481.481 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:59:05,506.506 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:59:05,587.587 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:59:05,588.588 INFO    ] No camera update needed
[2026-08-29 07:59:05,590.590 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:59:05,591.591 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:59:05,594.594 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:59:05,597.597 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:59:07,637.637 INFO    ] ================================================
[2026-08-29 07:59:07,653.653 INFO    ] Launching Daemon at Sat Aug 29 07:59:07 IST 2026
[2026-08-29 07:59:07,663.663 INFO    ] ================================================
[2026-08-29 07:59:08,028.028 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:59:08
[2026-08-29 07:59:08,364.364 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:59:08,513.513 INFO    ] Initializing speech engine...
[2026-08-29 07:59:08,519.519 INFO    ] 2026-08-29 07:59:08
[2026-08-29 07:59:08,726.726 INFO    ] 2026-08-29 07:59:08
[2026-08-29 07:59:08,754.754 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:59:08,902.902 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:59:08,961.961 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:59:09,144.144 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:59:09,196.196 INFO    ] time= 29/08/2026 07:59:09
[2026-08-29 07:59:09,255.255 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:59:09,281.281 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:59:09,392.392 INFO    ] No existing commands found in stream
[2026-08-29 07:59:14,429.429 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:59:14,432.432 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 07:59:16,356.356 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 07:59:16,358.358 INFO    ] Checking for system updates...
[2026-08-29 07:59:16,378.378 INFO    ] 200
[2026-08-29 07:59:16,380.380 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:59:16,410.410 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:59:16,412.412 INFO    ] No update needed
[2026-08-29 07:59:16,413.413 INFO    ] Checking for camera pi updates...
[2026-08-29 07:59:16,433.433 INFO    ] 200
[2026-08-29 07:59:16,434.434 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:59:16,458.458 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:59:16,564.564 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:59:16,566.566 INFO    ] No camera update needed
[2026-08-29 07:59:16,569.569 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:59:16,572.572 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:59:16,578.578 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:59:16,583.583 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:59:18,624.624 INFO    ] ================================================
[2026-08-29 07:59:18,864.864 INFO    ] Launching Daemon at Sat Aug 29 07:59:18 IST 2026
[2026-08-29 07:59:18,875.875 INFO    ] ================================================
[2026-08-29 07:59:19,526.526 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:59:19
[2026-08-29 07:59:19,880.880 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:59:20,031.031 INFO    ] Initializing speech engine...
[2026-08-29 07:59:20,036.036 INFO    ] 2026-08-29 07:59:20
[2026-08-29 07:59:20,243.243 INFO    ] 2026-08-29 07:59:20
[2026-08-29 07:59:20,274.274 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:59:20,397.397 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:59:20,450.450 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:59:20,601.601 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:59:20,669.669 INFO    ] time= 29/08/2026 07:59:20
[2026-08-29 07:59:20,693.693 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:59:20,700.700 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:59:20,812.812 INFO    ] No existing commands found in stream
[2026-08-29 07:59:25,822.822 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:59:25,825.825 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-08-29 07:59:28,633.633 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:59:28,635.635 INFO    ] Checking for system updates...
[2026-08-29 07:59:28,655.655 INFO    ] 200
[2026-08-29 07:59:28,657.657 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:59:28,688.688 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:59:28,690.690 INFO    ] No update needed
[2026-08-29 07:59:28,691.691 INFO    ] Checking for camera pi updates...
[2026-08-29 07:59:28,710.710 INFO    ] 200
[2026-08-29 07:59:28,712.712 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:59:28,735.735 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:59:28,809.809 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:59:28,811.811 INFO    ] No camera update needed
[2026-08-29 07:59:28,812.812 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:59:28,813.813 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:59:28,816.816 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:59:28,819.819 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:59:30,857.857 INFO    ] ================================================
[2026-08-29 07:59:30,871.871 INFO    ] Launching Daemon at Sat Aug 29 07:59:30 IST 2026
[2026-08-29 07:59:30,882.882 INFO    ] ================================================
[2026-08-29 07:59:31,235.235 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:59:31
[2026-08-29 07:59:31,573.573 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:59:31,854.854 INFO    ] Initializing speech engine...
[2026-08-29 07:59:31,877.877 INFO    ] 2026-08-29 07:59:31
[2026-08-29 07:59:32,181.181 INFO    ] 2026-08-29 07:59:32
[2026-08-29 07:59:32,221.221 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:59:32,373.373 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:59:32,381.381 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:59:32,536.536 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:59:32,573.573 INFO    ] time= 29/08/2026 07:59:32
[2026-08-29 07:59:32,583.583 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:59:32,606.606 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:59:32,699.699 INFO    ] No existing commands found in stream
[2026-08-29 07:59:37,734.734 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:59:37,737.737 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-08-29 07:59:41,418.418 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 07:59:41,420.420 INFO    ] Checking for system updates...
[2026-08-29 07:59:41,440.440 INFO    ] 200
[2026-08-29 07:59:41,441.441 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:59:41,471.471 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:59:41,472.472 INFO    ] No update needed
[2026-08-29 07:59:41,474.474 INFO    ] Checking for camera pi updates...
[2026-08-29 07:59:41,493.493 INFO    ] 200
[2026-08-29 07:59:41,494.494 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:59:41,517.517 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:59:41,616.616 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 07:59:41,617.617 INFO    ] No camera update needed
[2026-08-29 07:59:41,619.619 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:59:41,620.620 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:59:41,623.623 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:59:41,626.626 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:59:43,663.663 INFO    ] ================================================
[2026-08-29 07:59:43,678.678 INFO    ] Launching Daemon at Sat Aug 29 07:59:43 IST 2026
[2026-08-29 07:59:43,689.689 INFO    ] ================================================
[2026-08-29 07:59:44,031.031 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:59:44
[2026-08-29 07:59:44,499.499 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:59:44,758.758 INFO    ] Initializing speech engine...
[2026-08-29 07:59:44,764.764 INFO    ] 2026-08-29 07:59:44
[2026-08-29 07:59:45,059.059 INFO    ] 2026-08-29 07:59:45
[2026-08-29 07:59:45,097.097 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:59:45,290.290 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:59:45,296.296 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:59:45,429.429 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:59:45,433.433 INFO    ] time= 29/08/2026 07:59:45
[2026-08-29 07:59:45,454.454 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:59:45,475.475 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:59:45,556.556 INFO    ] No existing commands found in stream
[2026-08-29 07:59:50,569.569 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 07:59:50,572.572 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-08-29 07:59:52,931.931 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 07:59:52,933.933 INFO    ] Checking for system updates...
[2026-08-29 07:59:52,953.953 INFO    ] 200
[2026-08-29 07:59:52,955.955 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:59:52,985.985 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:59:52,986.986 INFO    ] No update needed
[2026-08-29 07:59:52,988.988 INFO    ] Checking for camera pi updates...
[2026-08-29 07:59:53,008.008 INFO    ] 200
[2026-08-29 07:59:53,009.009 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 07:59:53,033.033 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 07:59:53,224.224 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 07:59:53,225.225 INFO    ] No camera update needed
[2026-08-29 07:59:53,226.226 INFO    ] Script finished. Safe exiting...
[2026-08-29 07:59:53,227.227 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 07:59:53,230.230 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 07:59:53,233.233 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 07:59:55,272.272 INFO    ] ================================================
[2026-08-29 07:59:55,287.287 INFO    ] Launching Daemon at Sat Aug 29 07:59:55 IST 2026
[2026-08-29 07:59:55,298.298 INFO    ] ================================================
[2026-08-29 07:59:55,665.665 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 07:59:55
[2026-08-29 07:59:55,981.981 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 07:59:56,252.252 INFO    ] Initializing speech engine...
[2026-08-29 07:59:56,259.259 INFO    ] 2026-08-29 07:59:56
[2026-08-29 07:59:56,507.507 INFO    ] 2026-08-29 07:59:56
[2026-08-29 07:59:56,542.542 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 07:59:56,721.721 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 07:59:56,734.734 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 07:59:56,875.875 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 07:59:56,884.884 INFO    ] time= 29/08/2026 07:59:56
[2026-08-29 07:59:56,891.891 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 07:59:56,911.911 INFO    ] Checking for existing commands in stream...
[2026-08-29 07:59:57,045.045 INFO    ] No existing commands found in stream
[2026-08-29 08:00:02,075.075 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:00:02,078.078 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-08-29 08:00:03,284.284 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:00:03,288.288 INFO    ] Checking for system updates...
[2026-08-29 08:00:03,405.405 INFO    ] 200
[2026-08-29 08:00:03,408.408 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:00:03,655.655 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:00:03,659.659 INFO    ] No update needed
[2026-08-29 08:00:03,673.673 INFO    ] Checking for camera pi updates...
[2026-08-29 08:00:03,779.779 INFO    ] 200
[2026-08-29 08:00:03,785.785 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:00:03,910.910 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:00:04,689.689 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:00:04,693.693 INFO    ] No camera update needed
[2026-08-29 08:00:04,696.696 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:00:04,699.699 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:00:04,726.726 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:00:04,753.753 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:00:06,797.797 INFO    ] ================================================
[2026-08-29 08:00:06,812.812 INFO    ] Launching Daemon at Sat Aug 29 08:00:06 IST 2026
[2026-08-29 08:00:06,823.823 INFO    ] ================================================
[2026-08-29 08:00:07,417.417 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:00:07
[2026-08-29 08:00:08,023.023 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:00:08,292.292 INFO    ] Initializing speech engine...
[2026-08-29 08:00:08,296.296 INFO    ] 2026-08-29 08:00:08
[2026-08-29 08:00:08,495.495 INFO    ] 2026-08-29 08:00:08
[2026-08-29 08:00:08,536.536 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:00:08,757.757 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:00:08,766.766 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:00:08,928.928 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:00:08,979.979 INFO    ] time= 29/08/2026 08:00:08
[2026-08-29 08:00:09,034.034 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:00:09,077.077 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:00:09,138.138 INFO    ] No existing commands found in stream
[2026-08-29 08:00:14,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:00:14,153.153 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 08:00:16,665.665 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:00:16,666.666 INFO    ] Checking for system updates...
[2026-08-29 08:00:16,687.687 INFO    ] 200
[2026-08-29 08:00:16,689.689 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:00:16,721.721 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:00:16,722.722 INFO    ] No update needed
[2026-08-29 08:00:16,724.724 INFO    ] Checking for camera pi updates...
[2026-08-29 08:00:16,743.743 INFO    ] 200
[2026-08-29 08:00:16,744.744 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:00:16,767.767 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:00:16,853.853 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:00:16,855.855 INFO    ] No camera update needed
[2026-08-29 08:00:16,856.856 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:00:16,857.857 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:00:16,860.860 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:00:16,863.863 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:00:18,902.902 INFO    ] ================================================
[2026-08-29 08:00:18,917.917 INFO    ] Launching Daemon at Sat Aug 29 08:00:18 IST 2026
[2026-08-29 08:00:18,928.928 INFO    ] ================================================
[2026-08-29 08:00:19,287.287 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:00:19
[2026-08-29 08:00:19,602.602 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:00:19,745.745 INFO    ] Initializing speech engine...
[2026-08-29 08:00:19,750.750 INFO    ] 2026-08-29 08:00:19
[2026-08-29 08:00:19,953.953 INFO    ] 2026-08-29 08:00:19
[2026-08-29 08:00:19,981.981 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:00:20,164.164 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:00:20,167.167 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:00:20,302.302 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:00:20,366.366 INFO    ] time= 29/08/2026 08:00:20
[2026-08-29 08:00:20,393.393 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:00:20,400.400 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:00:20,466.466 INFO    ] No existing commands found in stream
[2026-08-29 08:00:25,480.480 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:00:25,483.483 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-08-29 08:00:26,763.763 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:00:26,765.765 INFO    ] Checking for system updates...
[2026-08-29 08:00:26,786.786 INFO    ] 200
[2026-08-29 08:00:26,787.787 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:00:26,817.817 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:00:26,818.818 INFO    ] No update needed
[2026-08-29 08:00:26,820.820 INFO    ] Checking for camera pi updates...
[2026-08-29 08:00:26,840.840 INFO    ] 200
[2026-08-29 08:00:26,841.841 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:00:26,864.864 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:00:26,941.941 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:00:26,943.943 INFO    ] No camera update needed
[2026-08-29 08:00:26,946.946 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:00:26,948.948 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:00:26,953.953 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:00:26,958.958 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:00:29,000.000 INFO    ] ================================================
[2026-08-29 08:00:29,015.015 INFO    ] Launching Daemon at Sat Aug 29 08:00:29 IST 2026
[2026-08-29 08:00:29,026.026 INFO    ] ================================================
[2026-08-29 08:00:29,594.594 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:00:29
[2026-08-29 08:00:30,093.093 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:00:30,344.344 INFO    ] Initializing speech engine...
[2026-08-29 08:00:30,356.356 INFO    ] 2026-08-29 08:00:30
[2026-08-29 08:00:30,625.625 INFO    ] 2026-08-29 08:00:30
[2026-08-29 08:00:30,660.660 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:00:30,840.840 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:00:30,853.853 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:00:30,964.964 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:00:30,970.970 INFO    ] time= 29/08/2026 08:00:30
[2026-08-29 08:00:30,989.989 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:00:31,009.009 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:00:31,085.085 INFO    ] No existing commands found in stream
[2026-08-29 08:00:36,097.097 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:00:36,100.100 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-08-29 08:00:36,968.968 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:00:36,969.969 INFO    ] Checking for system updates...
[2026-08-29 08:00:36,991.991 INFO    ] 200
[2026-08-29 08:00:36,992.992 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:00:37,022.022 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:00:37,024.024 INFO    ] No update needed
[2026-08-29 08:00:37,025.025 INFO    ] Checking for camera pi updates...
[2026-08-29 08:00:37,044.044 INFO    ] 200
[2026-08-29 08:00:37,045.045 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:00:37,070.070 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:00:37,177.177 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:00:37,178.178 INFO    ] No camera update needed
[2026-08-29 08:00:37,179.179 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:00:37,181.181 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:00:37,184.184 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:00:37,186.186 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:00:39,226.226 INFO    ] ================================================
[2026-08-29 08:00:39,241.241 INFO    ] Launching Daemon at Sat Aug 29 08:00:39 IST 2026
[2026-08-29 08:00:39,251.251 INFO    ] ================================================
[2026-08-29 08:00:39,798.798 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:00:39
[2026-08-29 08:00:40,416.416 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:00:40,725.725 INFO    ] Initializing speech engine...
[2026-08-29 08:00:40,736.736 INFO    ] 2026-08-29 08:00:40
[2026-08-29 08:00:41,045.045 INFO    ] 2026-08-29 08:00:41
[2026-08-29 08:00:41,135.135 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:00:41,288.288 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:00:41,295.295 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:00:41,428.428 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:00:41,463.463 INFO    ] time= 29/08/2026 08:00:41
[2026-08-29 08:00:41,523.523 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:00:41,561.561 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:00:41,616.616 INFO    ] No existing commands found in stream
[2026-08-29 08:00:46,628.628 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:00:46,631.631 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-08-29 08:00:47,432.432 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:00:47,434.434 INFO    ] Checking for system updates...
[2026-08-29 08:00:47,455.455 INFO    ] 200
[2026-08-29 08:00:47,456.456 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:00:47,486.486 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:00:47,488.488 INFO    ] No update needed
[2026-08-29 08:00:47,489.489 INFO    ] Checking for camera pi updates...
[2026-08-29 08:00:47,509.509 INFO    ] 200
[2026-08-29 08:00:47,510.510 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:00:47,536.536 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:00:47,620.620 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:00:47,622.622 INFO    ] No camera update needed
[2026-08-29 08:00:47,623.623 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:00:47,625.625 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:00:47,628.628 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:00:47,631.631 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:00:49,671.671 INFO    ] ================================================
[2026-08-29 08:00:49,687.687 INFO    ] Launching Daemon at Sat Aug 29 08:00:49 IST 2026
[2026-08-29 08:00:49,698.698 INFO    ] ================================================
[2026-08-29 08:00:50,043.043 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:00:50
[2026-08-29 08:00:50,356.356 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:00:50,487.487 INFO    ] Initializing speech engine...
[2026-08-29 08:00:50,490.490 INFO    ] 2026-08-29 08:00:50
[2026-08-29 08:00:50,694.694 INFO    ] 2026-08-29 08:00:50
[2026-08-29 08:00:50,729.729 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:00:50,883.883 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:00:50,893.893 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:00:51,046.046 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:00:51,068.068 INFO    ] time= 29/08/2026 08:00:51
[2026-08-29 08:00:51,107.107 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:00:51,175.175 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:00:51,257.257 INFO    ] No existing commands found in stream
[2026-08-29 08:00:56,268.268 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:00:56,271.271 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-08-29 08:00:59,144.144 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:00:59,145.145 INFO    ] Checking for system updates...
[2026-08-29 08:00:59,167.167 INFO    ] 200
[2026-08-29 08:00:59,168.168 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:00:59,198.198 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:00:59,200.200 INFO    ] No update needed
[2026-08-29 08:00:59,201.201 INFO    ] Checking for camera pi updates...
[2026-08-29 08:00:59,220.220 INFO    ] 200
[2026-08-29 08:00:59,221.221 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:00:59,245.245 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:00:59,352.352 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:00:59,353.353 INFO    ] No camera update needed
[2026-08-29 08:00:59,355.355 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:00:59,356.356 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:00:59,359.359 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:00:59,361.361 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:01:01,400.400 INFO    ] ================================================
[2026-08-29 08:01:01,417.417 INFO    ] Launching Daemon at Sat Aug 29 08:01:01 IST 2026
[2026-08-29 08:01:01,428.428 INFO    ] ================================================
[2026-08-29 08:01:01,802.802 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:01:01
[2026-08-29 08:01:02,360.360 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:01:02,694.694 INFO    ] Initializing speech engine...
[2026-08-29 08:01:02,709.709 INFO    ] 2026-08-29 08:01:02
[2026-08-29 08:01:03,058.058 INFO    ] 2026-08-29 08:01:03
[2026-08-29 08:01:03,132.132 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:01:03,313.313 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:01:03,318.318 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:01:03,460.460 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:01:03,485.485 INFO    ] time= 29/08/2026 08:01:03
[2026-08-29 08:01:03,512.512 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:01:03,556.556 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:01:03,663.663 INFO    ] No existing commands found in stream
[2026-08-29 08:01:08,674.674 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:01:08,678.678 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-08-29 08:01:11,319.319 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:01:11,322.322 INFO    ] Checking for system updates...
[2026-08-29 08:01:11,358.358 INFO    ] 200
[2026-08-29 08:01:11,360.360 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:01:11,413.413 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:01:11,415.415 INFO    ] No update needed
[2026-08-29 08:01:11,417.417 INFO    ] Checking for camera pi updates...
[2026-08-29 08:01:11,453.453 INFO    ] 200
[2026-08-29 08:01:11,455.455 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:01:11,497.497 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:01:11,611.611 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:01:11,613.613 INFO    ] No camera update needed
[2026-08-29 08:01:11,616.616 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:01:11,618.618 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:01:11,623.623 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:01:11,628.628 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:01:13,668.668 INFO    ] ================================================
[2026-08-29 08:01:13,684.684 INFO    ] Launching Daemon at Sat Aug 29 08:01:13 IST 2026
[2026-08-29 08:01:13,695.695 INFO    ] ================================================
[2026-08-29 08:01:14,028.028 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:01:14
[2026-08-29 08:01:14,600.600 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:01:14,855.855 INFO    ] Initializing speech engine...
[2026-08-29 08:01:14,864.864 INFO    ] 2026-08-29 08:01:14
[2026-08-29 08:01:15,155.155 INFO    ] 2026-08-29 08:01:15
[2026-08-29 08:01:15,195.195 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:01:15,388.388 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:01:15,405.405 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:01:15,526.526 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:01:15,533.533 INFO    ] time= 29/08/2026 08:01:15
[2026-08-29 08:01:15,554.554 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:01:15,575.575 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:01:15,668.668 INFO    ] No existing commands found in stream
[2026-08-29 08:01:20,678.678 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:01:20,680.680 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-08-29 08:01:22,714.714 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:01:22,717.717 INFO    ] Checking for system updates...
[2026-08-29 08:01:22,754.754 INFO    ] 200
[2026-08-29 08:01:22,757.757 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:01:22,816.816 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:01:22,819.819 INFO    ] No update needed
[2026-08-29 08:01:22,822.822 INFO    ] Checking for camera pi updates...
[2026-08-29 08:01:22,858.858 INFO    ] 200
[2026-08-29 08:01:22,860.860 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:01:22,907.907 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:01:23,003.003 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:01:23,006.006 INFO    ] No camera update needed
[2026-08-29 08:01:23,009.009 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:01:23,011.011 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:01:23,017.017 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:01:23,023.023 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:01:25,063.063 INFO    ] ================================================
[2026-08-29 08:01:25,079.079 INFO    ] Launching Daemon at Sat Aug 29 08:01:25 IST 2026
[2026-08-29 08:01:25,090.090 INFO    ] ================================================
[2026-08-29 08:01:25,429.429 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:01:25
[2026-08-29 08:01:25,741.741 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:01:25,884.884 INFO    ] Initializing speech engine...
[2026-08-29 08:01:25,888.888 INFO    ] 2026-08-29 08:01:25
[2026-08-29 08:01:26,093.093 INFO    ] 2026-08-29 08:01:26
[2026-08-29 08:01:26,123.123 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:01:26,245.245 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:01:26,308.308 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:01:26,445.445 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:01:26,504.504 INFO    ] time= 29/08/2026 08:01:26
[2026-08-29 08:01:26,532.532 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:01:26,586.586 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:01:26,686.686 INFO    ] No existing commands found in stream
[2026-08-29 08:01:31,703.703 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:01:31,706.706 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-08-29 08:01:33,548.548 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:01:33,550.550 INFO    ] Checking for system updates...
[2026-08-29 08:01:33,586.586 INFO    ] 200
[2026-08-29 08:01:33,589.589 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:01:33,647.647 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:01:33,650.650 INFO    ] No update needed
[2026-08-29 08:01:33,652.652 INFO    ] Checking for camera pi updates...
[2026-08-29 08:01:33,686.686 INFO    ] 200
[2026-08-29 08:01:33,688.688 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:01:33,729.729 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:01:33,823.823 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:01:33,826.826 INFO    ] No camera update needed
[2026-08-29 08:01:33,828.828 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:01:33,830.830 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:01:33,835.835 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:01:33,840.840 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:01:35,883.883 INFO    ] ================================================
[2026-08-29 08:01:35,899.899 INFO    ] Launching Daemon at Sat Aug 29 08:01:35 IST 2026
[2026-08-29 08:01:35,910.910 INFO    ] ================================================
[2026-08-29 08:01:36,526.526 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:01:36
[2026-08-29 08:01:37,112.112 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:01:37,382.382 INFO    ] Initializing speech engine...
[2026-08-29 08:01:37,391.391 INFO    ] 2026-08-29 08:01:37
[2026-08-29 08:01:37,637.637 INFO    ] 2026-08-29 08:01:37
[2026-08-29 08:01:37,672.672 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:01:37,925.925 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:01:37,934.934 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:01:38,068.068 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:01:38,084.084 INFO    ] time= 29/08/2026 08:01:38
[2026-08-29 08:01:38,139.139 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:01:38,182.182 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:01:38,253.253 INFO    ] No existing commands found in stream
[2026-08-29 08:01:43,264.264 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:01:43,267.267 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-08-29 08:01:46,307.307 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:01:46,309.309 INFO    ] Checking for system updates...
[2026-08-29 08:01:46,331.331 INFO    ] 200
[2026-08-29 08:01:46,332.332 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:01:46,372.372 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:01:46,373.373 INFO    ] No update needed
[2026-08-29 08:01:46,374.374 INFO    ] Checking for camera pi updates...
[2026-08-29 08:01:46,393.393 INFO    ] 200
[2026-08-29 08:01:46,395.395 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:01:46,417.417 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:01:46,480.480 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:01:46,481.481 INFO    ] No camera update needed
[2026-08-29 08:01:46,483.483 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:01:46,484.484 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:01:46,487.487 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:01:46,489.489 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:01:48,529.529 INFO    ] ================================================
[2026-08-29 08:01:48,545.545 INFO    ] Launching Daemon at Sat Aug 29 08:01:48 IST 2026
[2026-08-29 08:01:48,556.556 INFO    ] ================================================
[2026-08-29 08:01:48,949.949 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:01:48
[2026-08-29 08:01:49,286.286 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:01:49,538.538 INFO    ] Initializing speech engine...
[2026-08-29 08:01:49,552.552 INFO    ] 2026-08-29 08:01:49
[2026-08-29 08:01:49,841.841 INFO    ] 2026-08-29 08:01:49
[2026-08-29 08:01:49,952.952 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:01:50,107.107 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:01:50,117.117 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:01:50,251.251 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:01:50,309.309 INFO    ] time= 29/08/2026 08:01:50
[2026-08-29 08:01:50,380.380 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:01:50,389.389 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:01:50,506.506 INFO    ] No existing commands found in stream
[2026-08-29 08:01:55,537.537 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:01:55,540.540 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-08-29 08:01:57,867.867 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:01:57,869.869 INFO    ] Checking for system updates...
[2026-08-29 08:01:57,889.889 INFO    ] 200
[2026-08-29 08:01:57,891.891 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:01:57,921.921 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:01:57,923.923 INFO    ] No update needed
[2026-08-29 08:01:57,924.924 INFO    ] Checking for camera pi updates...
[2026-08-29 08:01:57,944.944 INFO    ] 200
[2026-08-29 08:01:57,945.945 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:01:57,970.970 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:01:58,168.168 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:01:58,169.169 INFO    ] No camera update needed
[2026-08-29 08:01:58,171.171 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:01:58,172.172 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:01:58,175.175 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:01:58,178.178 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:02:00,217.217 INFO    ] ================================================
[2026-08-29 08:02:00,232.232 INFO    ] Launching Daemon at Sat Aug 29 08:02:00 IST 2026
[2026-08-29 08:02:00,244.244 INFO    ] ================================================
[2026-08-29 08:02:00,592.592 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:02:00
[2026-08-29 08:02:00,905.905 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:02:01,037.037 INFO    ] Initializing speech engine...
[2026-08-29 08:02:01,041.041 INFO    ] 2026-08-29 08:02:01
[2026-08-29 08:02:01,247.247 INFO    ] 2026-08-29 08:02:01
[2026-08-29 08:02:01,283.283 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:02:01,426.426 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:02:01,429.429 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:02:01,586.586 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:02:01,596.596 INFO    ] time= 29/08/2026 08:02:01
[2026-08-29 08:02:01,601.601 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:02:01,624.624 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:02:01,682.682 INFO    ] No existing commands found in stream
[2026-08-29 08:02:06,709.709 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:02:06,712.712 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-08-29 08:02:07,962.962 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:02:07,964.964 INFO    ] Checking for system updates...
[2026-08-29 08:02:07,984.984 INFO    ] 200
[2026-08-29 08:02:07,985.985 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:02:08,015.015 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:02:08,017.017 INFO    ] No update needed
[2026-08-29 08:02:08,018.018 INFO    ] Checking for camera pi updates...
[2026-08-29 08:02:08,038.038 INFO    ] 200
[2026-08-29 08:02:08,040.040 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:02:08,065.065 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:02:08,160.160 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:02:08,161.161 INFO    ] No camera update needed
[2026-08-29 08:02:08,162.162 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:02:08,164.164 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:02:08,167.167 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:02:08,170.170 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:02:10,210.210 INFO    ] ================================================
[2026-08-29 08:02:10,225.225 INFO    ] Launching Daemon at Sat Aug 29 08:02:10 IST 2026
[2026-08-29 08:02:10,236.236 INFO    ] ================================================
[2026-08-29 08:02:10,598.598 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:02:10
[2026-08-29 08:02:10,929.929 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:02:11,080.080 INFO    ] Initializing speech engine...
[2026-08-29 08:02:11,085.085 INFO    ] 2026-08-29 08:02:11
[2026-08-29 08:02:11,295.295 INFO    ] 2026-08-29 08:02:11
[2026-08-29 08:02:11,323.323 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:02:11,497.497 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:02:11,501.501 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:02:11,644.644 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:02:11,653.653 INFO    ] time= 29/08/2026 08:02:11
[2026-08-29 08:02:11,679.679 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:02:11,687.687 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:02:11,789.789 INFO    ] No existing commands found in stream
[2026-08-29 08:02:16,807.807 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:02:16,810.810 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-08-29 08:02:21,134.134 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:02:21,135.135 INFO    ] Checking for system updates...
[2026-08-29 08:02:21,157.157 INFO    ] 200
[2026-08-29 08:02:21,158.158 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:02:21,191.191 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:02:21,193.193 INFO    ] No update needed
[2026-08-29 08:02:21,194.194 INFO    ] Checking for camera pi updates...
[2026-08-29 08:02:21,214.214 INFO    ] 200
[2026-08-29 08:02:21,215.215 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:02:21,240.240 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:02:21,326.326 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:02:21,328.328 INFO    ] No camera update needed
[2026-08-29 08:02:21,329.329 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:02:21,331.331 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:02:21,334.334 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:02:21,337.337 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:02:23,375.375 INFO    ] ================================================
[2026-08-29 08:02:23,391.391 INFO    ] Launching Daemon at Sat Aug 29 08:02:23 IST 2026
[2026-08-29 08:02:23,402.402 INFO    ] ================================================
[2026-08-29 08:02:23,769.769 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:02:23
[2026-08-29 08:02:24,123.123 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:02:24,382.382 INFO    ] Initializing speech engine...
[2026-08-29 08:02:24,406.406 INFO    ] 2026-08-29 08:02:24
[2026-08-29 08:02:24,675.675 INFO    ] 2026-08-29 08:02:24
[2026-08-29 08:02:24,712.712 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:02:24,904.904 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:02:24,918.918 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:02:25,040.040 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:02:25,045.045 INFO    ] time= 29/08/2026 08:02:25
[2026-08-29 08:02:25,064.064 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:02:25,086.086 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:02:25,174.174 INFO    ] No existing commands found in stream
[2026-08-29 08:02:30,186.186 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:02:30,188.188 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-08-29 08:02:32,466.466 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:02:32,469.469 INFO    ] Checking for system updates...
[2026-08-29 08:02:32,512.512 INFO    ] 200
[2026-08-29 08:02:32,515.515 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:02:32,574.574 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:02:32,577.577 INFO    ] No update needed
[2026-08-29 08:02:32,580.580 INFO    ] Checking for camera pi updates...
[2026-08-29 08:02:32,619.619 INFO    ] 200
[2026-08-29 08:02:32,622.622 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:02:32,677.677 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:02:32,797.797 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:02:32,800.800 INFO    ] No camera update needed
[2026-08-29 08:02:32,803.803 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:02:32,806.806 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:02:32,812.812 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:02:32,818.818 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:02:34,860.860 INFO    ] ================================================
[2026-08-29 08:02:34,876.876 INFO    ] Launching Daemon at Sat Aug 29 08:02:34 IST 2026
[2026-08-29 08:02:34,887.887 INFO    ] ================================================
[2026-08-29 08:02:35,469.469 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:02:35
[2026-08-29 08:02:35,815.815 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:02:36,076.076 INFO    ] Initializing speech engine...
[2026-08-29 08:02:36,084.084 INFO    ] 2026-08-29 08:02:36
[2026-08-29 08:02:36,341.341 INFO    ] 2026-08-29 08:02:36
[2026-08-29 08:02:36,372.372 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:02:36,536.536 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:02:36,548.548 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:02:36,690.690 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:02:36,698.698 INFO    ] time= 29/08/2026 08:02:36
[2026-08-29 08:02:36,705.705 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:02:36,756.756 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:02:36,875.875 INFO    ] No existing commands found in stream
[2026-08-29 08:02:41,905.905 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:02:41,907.907 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 08:02:43,666.666 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:02:43,668.668 INFO    ] Checking for system updates...
[2026-08-29 08:02:43,688.688 INFO    ] 200
[2026-08-29 08:02:43,689.689 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:02:43,721.721 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:02:43,723.723 INFO    ] No update needed
[2026-08-29 08:02:43,724.724 INFO    ] Checking for camera pi updates...
[2026-08-29 08:02:43,743.743 INFO    ] 200
[2026-08-29 08:02:43,745.745 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:02:43,769.769 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:02:43,869.869 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:02:43,872.872 INFO    ] No camera update needed
[2026-08-29 08:02:43,874.874 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:02:43,877.877 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:02:43,882.882 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:02:43,887.887 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:02:45,929.929 INFO    ] ================================================
[2026-08-29 08:02:45,945.945 INFO    ] Launching Daemon at Sat Aug 29 08:02:45 IST 2026
[2026-08-29 08:02:45,956.956 INFO    ] ================================================
[2026-08-29 08:02:46,523.523 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:02:46
[2026-08-29 08:02:47,027.027 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:02:47,170.170 INFO    ] Initializing speech engine...
[2026-08-29 08:02:47,175.175 INFO    ] 2026-08-29 08:02:47
[2026-08-29 08:02:47,380.380 INFO    ] 2026-08-29 08:02:47
[2026-08-29 08:02:47,409.409 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:02:47,555.555 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:02:47,562.562 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:02:47,730.730 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:02:47,766.766 INFO    ] time= 29/08/2026 08:02:47
[2026-08-29 08:02:47,772.772 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:02:47,793.793 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:02:47,892.892 INFO    ] No existing commands found in stream
[2026-08-29 08:02:52,914.914 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:02:52,917.917 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-08-29 08:02:54,401.401 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:02:54,403.403 INFO    ] Checking for system updates...
[2026-08-29 08:02:54,423.423 INFO    ] 200
[2026-08-29 08:02:54,425.425 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:02:54,456.456 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:02:54,458.458 INFO    ] No update needed
[2026-08-29 08:02:54,459.459 INFO    ] Checking for camera pi updates...
[2026-08-29 08:02:54,481.481 INFO    ] 200
[2026-08-29 08:02:54,483.483 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:02:54,506.506 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:02:54,584.584 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:02:54,586.586 INFO    ] No camera update needed
[2026-08-29 08:02:54,587.587 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:02:54,588.588 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:02:54,592.592 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:02:54,595.595 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:02:56,634.634 INFO    ] ================================================
[2026-08-29 08:02:56,651.651 INFO    ] Launching Daemon at Sat Aug 29 08:02:56 IST 2026
[2026-08-29 08:02:56,666.666 INFO    ] ================================================
[2026-08-29 08:02:57,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:02:57
[2026-08-29 08:02:57,359.359 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:02:57,504.504 INFO    ] Initializing speech engine...
[2026-08-29 08:02:57,509.509 INFO    ] 2026-08-29 08:02:57
[2026-08-29 08:02:57,764.764 INFO    ] 2026-08-29 08:02:57
[2026-08-29 08:02:57,794.794 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:02:57,984.984 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:02:58,035.035 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:02:58,181.181 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:02:58,202.202 INFO    ] time= 29/08/2026 08:02:58
[2026-08-29 08:02:58,262.262 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:02:58,314.314 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:02:58,425.425 INFO    ] No existing commands found in stream
[2026-08-29 08:03:03,453.453 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:03:03,455.455 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-08-29 08:03:05,508.508 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:03:05,509.509 INFO    ] Checking for system updates...
[2026-08-29 08:03:05,529.529 INFO    ] 200
[2026-08-29 08:03:05,531.531 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:03:05,562.562 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:03:05,564.564 INFO    ] No update needed
[2026-08-29 08:03:05,565.565 INFO    ] Checking for camera pi updates...
[2026-08-29 08:03:05,585.585 INFO    ] 200
[2026-08-29 08:03:05,587.587 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:03:05,610.610 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:03:05,708.708 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:03:05,710.710 INFO    ] No camera update needed
[2026-08-29 08:03:05,712.712 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:03:05,715.715 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:03:05,720.720 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:03:05,725.725 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:03:07,767.767 INFO    ] ================================================
[2026-08-29 08:03:07,781.781 INFO    ] Launching Daemon at Sat Aug 29 08:03:07 IST 2026
[2026-08-29 08:03:07,792.792 INFO    ] ================================================
[2026-08-29 08:03:08,443.443 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:03:08
[2026-08-29 08:03:08,917.917 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:03:09,120.120 INFO    ] Initializing speech engine...
[2026-08-29 08:03:09,130.130 INFO    ] 2026-08-29 08:03:09
[2026-08-29 08:03:09,406.406 INFO    ] 2026-08-29 08:03:09
[2026-08-29 08:03:09,467.467 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:03:09,694.694 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:03:09,703.703 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:03:09,841.841 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:03:09,884.884 INFO    ] time= 29/08/2026 08:03:09
[2026-08-29 08:03:09,938.938 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:03:09,978.978 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:03:10,041.041 INFO    ] No existing commands found in stream
[2026-08-29 08:03:15,070.070 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:03:15,073.073 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-08-29 08:03:15,969.969 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:03:15,971.971 INFO    ] Checking for system updates...
[2026-08-29 08:03:16,013.013 INFO    ] 200
[2026-08-29 08:03:16,016.016 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:03:16,069.069 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:03:16,072.072 INFO    ] No update needed
[2026-08-29 08:03:16,075.075 INFO    ] Checking for camera pi updates...
[2026-08-29 08:03:16,110.110 INFO    ] 200
[2026-08-29 08:03:16,113.113 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:03:16,159.159 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:03:17,052.052 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:03:17,055.055 INFO    ] No camera update needed
[2026-08-29 08:03:17,058.058 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:03:17,060.060 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:03:17,066.066 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:03:17,072.072 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:03:19,114.114 INFO    ] ================================================
[2026-08-29 08:03:19,129.129 INFO    ] Launching Daemon at Sat Aug 29 08:03:19 IST 2026
[2026-08-29 08:03:19,140.140 INFO    ] ================================================
[2026-08-29 08:03:19,502.502 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:03:19
[2026-08-29 08:03:19,818.818 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:03:19,963.963 INFO    ] Initializing speech engine...
[2026-08-29 08:03:19,969.969 INFO    ] 2026-08-29 08:03:19
[2026-08-29 08:03:20,216.216 INFO    ] 2026-08-29 08:03:20
[2026-08-29 08:03:20,275.275 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:03:20,424.424 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:03:20,429.429 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:03:20,555.555 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:03:20,589.589 INFO    ] time= 29/08/2026 08:03:20
[2026-08-29 08:03:20,643.643 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:03:20,702.702 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:03:20,760.760 INFO    ] No existing commands found in stream
[2026-08-29 08:03:25,772.772 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:03:25,775.775 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-08-29 08:03:28,984.984 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:03:28,986.986 INFO    ] Checking for system updates...
[2026-08-29 08:03:29,006.006 INFO    ] 200
[2026-08-29 08:03:29,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:03:29,037.037 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:03:29,038.038 INFO    ] No update needed
[2026-08-29 08:03:29,040.040 INFO    ] Checking for camera pi updates...
[2026-08-29 08:03:29,059.059 INFO    ] 200
[2026-08-29 08:03:29,060.060 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:03:29,083.083 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:03:29,190.190 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:03:29,192.192 INFO    ] No camera update needed
[2026-08-29 08:03:29,195.195 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:03:29,197.197 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:03:29,203.203 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:03:29,208.208 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:03:31,248.248 INFO    ] ================================================
[2026-08-29 08:03:31,263.263 INFO    ] Launching Daemon at Sat Aug 29 08:03:31 IST 2026
[2026-08-29 08:03:31,274.274 INFO    ] ================================================
[2026-08-29 08:03:31,848.848 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:03:31
[2026-08-29 08:03:32,388.388 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:03:32,670.670 INFO    ] Initializing speech engine...
[2026-08-29 08:03:32,680.680 INFO    ] 2026-08-29 08:03:32
[2026-08-29 08:03:32,991.991 INFO    ] 2026-08-29 08:03:32
[2026-08-29 08:03:33,020.020 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:03:33,160.160 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:03:33,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:03:33,318.318 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:03:33,328.328 INFO    ] time= 29/08/2026 08:03:33
[2026-08-29 08:03:33,333.333 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:03:33,353.353 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:03:33,461.461 INFO    ] No existing commands found in stream
[2026-08-29 08:03:38,472.472 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:03:38,475.475 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-08-29 08:03:41,045.045 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:03:41,047.047 INFO    ] Checking for system updates...
[2026-08-29 08:03:41,067.067 INFO    ] 200
[2026-08-29 08:03:41,068.068 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:03:41,100.100 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:03:41,102.102 INFO    ] No update needed
[2026-08-29 08:03:41,103.103 INFO    ] Checking for camera pi updates...
[2026-08-29 08:03:41,122.122 INFO    ] 200
[2026-08-29 08:03:41,124.124 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:03:41,147.147 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:03:41,225.225 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:03:41,226.226 INFO    ] No camera update needed
[2026-08-29 08:03:41,228.228 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:03:41,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:03:41,232.232 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:03:41,235.235 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:03:43,275.275 INFO    ] ================================================
[2026-08-29 08:03:43,290.290 INFO    ] Launching Daemon at Sat Aug 29 08:03:43 IST 2026
[2026-08-29 08:03:43,301.301 INFO    ] ================================================
[2026-08-29 08:03:43,648.648 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:03:43
[2026-08-29 08:03:43,971.971 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:03:44,116.116 INFO    ] Initializing speech engine...
[2026-08-29 08:03:44,120.120 INFO    ] 2026-08-29 08:03:44
[2026-08-29 08:03:44,325.325 INFO    ] 2026-08-29 08:03:44
[2026-08-29 08:03:44,354.354 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:03:44,477.477 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:03:44,535.535 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:03:44,674.674 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:03:44,737.737 INFO    ] time= 29/08/2026 08:03:44
[2026-08-29 08:03:44,769.769 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:03:44,776.776 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:03:44,843.843 INFO    ] No existing commands found in stream
[2026-08-29 08:03:49,852.852 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:03:49,855.855 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-08-29 08:03:54,096.096 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:03:54,097.097 INFO    ] Checking for system updates...
[2026-08-29 08:03:54,118.118 INFO    ] 200
[2026-08-29 08:03:54,119.119 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:03:54,149.149 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:03:54,150.150 INFO    ] No update needed
[2026-08-29 08:03:54,152.152 INFO    ] Checking for camera pi updates...
[2026-08-29 08:03:54,171.171 INFO    ] 200
[2026-08-29 08:03:54,172.172 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:03:54,195.195 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:03:54,275.275 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:03:54,276.276 INFO    ] No camera update needed
[2026-08-29 08:03:54,278.278 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:03:54,279.279 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:03:54,282.282 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:03:54,285.285 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:03:56,325.325 INFO    ] ================================================
[2026-08-29 08:03:56,340.340 INFO    ] Launching Daemon at Sat Aug 29 08:03:56 IST 2026
[2026-08-29 08:03:56,351.351 INFO    ] ================================================
[2026-08-29 08:03:56,728.728 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:03:56
[2026-08-29 08:03:57,054.054 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:03:57,209.209 INFO    ] Initializing speech engine...
[2026-08-29 08:03:57,214.214 INFO    ] 2026-08-29 08:03:57
[2026-08-29 08:03:57,424.424 INFO    ] 2026-08-29 08:03:57
[2026-08-29 08:03:57,455.455 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:03:57,590.590 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:03:57,591.591 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:03:57,714.714 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:03:57,746.746 INFO    ] time= 29/08/2026 08:03:57
[2026-08-29 08:03:57,753.753 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:03:57,762.762 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:03:57,855.855 INFO    ] No existing commands found in stream
[2026-08-29 08:04:02,885.885 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:04:02,888.888 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-08-29 08:04:06,092.092 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:04:06,094.094 INFO    ] Checking for system updates...
[2026-08-29 08:04:06,115.115 INFO    ] 200
[2026-08-29 08:04:06,116.116 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:04:06,146.146 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:04:06,148.148 INFO    ] No update needed
[2026-08-29 08:04:06,149.149 INFO    ] Checking for camera pi updates...
[2026-08-29 08:04:06,168.168 INFO    ] 200
[2026-08-29 08:04:06,170.170 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:04:06,195.195 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:04:06,274.274 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:04:06,276.276 INFO    ] No camera update needed
[2026-08-29 08:04:06,277.277 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:04:06,278.278 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:04:06,281.281 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:04:06,285.285 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:04:08,324.324 INFO    ] ================================================
[2026-08-29 08:04:08,339.339 INFO    ] Launching Daemon at Sat Aug 29 08:04:08 IST 2026
[2026-08-29 08:04:08,349.349 INFO    ] ================================================
[2026-08-29 08:04:08,916.916 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:04:08
[2026-08-29 08:04:09,473.473 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:04:09,616.616 INFO    ] Initializing speech engine...
[2026-08-29 08:04:09,620.620 INFO    ] 2026-08-29 08:04:09
[2026-08-29 08:04:09,827.827 INFO    ] 2026-08-29 08:04:09
[2026-08-29 08:04:09,855.855 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:04:09,977.977 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:04:10,016.016 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:04:10,178.178 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:04:10,246.246 INFO    ] time= 29/08/2026 08:04:10
[2026-08-29 08:04:10,273.273 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:04:10,280.280 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:04:10,348.348 INFO    ] No existing commands found in stream
[2026-08-29 08:04:15,361.361 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:04:15,364.364 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-08-29 08:04:16,528.528 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:04:16,529.529 INFO    ] Checking for system updates...
[2026-08-29 08:04:16,550.550 INFO    ] 200
[2026-08-29 08:04:16,551.551 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:04:16,581.581 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:04:16,583.583 INFO    ] No update needed
[2026-08-29 08:04:16,584.584 INFO    ] Checking for camera pi updates...
[2026-08-29 08:04:16,604.604 INFO    ] 200
[2026-08-29 08:04:16,605.605 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:04:16,629.629 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:04:21,892.892 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:04:21,895.895 INFO    ] No camera update needed
[2026-08-29 08:04:21,897.897 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:04:21,899.899 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:04:21,904.904 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:04:21,909.909 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:04:23,951.951 INFO    ] ================================================
[2026-08-29 08:04:23,965.965 INFO    ] Launching Daemon at Sat Aug 29 08:04:23 IST 2026
[2026-08-29 08:04:23,976.976 INFO    ] ================================================
[2026-08-29 08:04:24,311.311 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:04:24
[2026-08-29 08:04:24,624.624 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:04:24,762.762 INFO    ] Initializing speech engine...
[2026-08-29 08:04:24,769.769 INFO    ] 2026-08-29 08:04:24
[2026-08-29 08:04:24,994.994 INFO    ] 2026-08-29 08:04:24
[2026-08-29 08:04:25,024.024 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:04:25,156.156 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:04:25,195.195 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:04:25,336.336 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:04:25,369.369 INFO    ] time= 29/08/2026 08:04:25
[2026-08-29 08:04:25,410.410 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:04:25,460.460 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:04:25,551.551 INFO    ] No existing commands found in stream
[2026-08-29 08:04:30,562.562 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:04:30,565.565 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 08:04:34,018.018 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:04:34,021.021 INFO    ] Checking for system updates...
[2026-08-29 08:04:34,059.059 INFO    ] 200
[2026-08-29 08:04:34,062.062 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:04:34,119.119 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:04:34,121.121 INFO    ] No update needed
[2026-08-29 08:04:34,124.124 INFO    ] Checking for camera pi updates...
[2026-08-29 08:04:34,159.159 INFO    ] 200
[2026-08-29 08:04:34,162.162 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:04:34,210.210 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:04:34,317.317 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:04:34,320.320 INFO    ] No camera update needed
[2026-08-29 08:04:34,323.323 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:04:34,325.325 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:04:34,331.331 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:04:34,337.337 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:04:36,374.374 INFO    ] ================================================
[2026-08-29 08:04:36,390.390 INFO    ] Launching Daemon at Sat Aug 29 08:04:36 IST 2026
[2026-08-29 08:04:36,401.401 INFO    ] ================================================
[2026-08-29 08:04:37,101.101 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:04:37
[2026-08-29 08:04:37,775.775 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:04:38,040.040 INFO    ] Initializing speech engine...
[2026-08-29 08:04:38,046.046 INFO    ] 2026-08-29 08:04:38
[2026-08-29 08:04:38,343.343 INFO    ] 2026-08-29 08:04:38
[2026-08-29 08:04:38,382.382 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:04:38,584.584 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:04:38,599.599 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:04:38,726.726 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:04:38,730.730 INFO    ] time= 29/08/2026 08:04:38
[2026-08-29 08:04:38,753.753 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:04:38,770.770 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:04:38,839.839 INFO    ] No existing commands found in stream
[2026-08-29 08:04:43,854.854 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:04:43,857.857 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-08-29 08:04:46,672.672 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:04:46,673.673 INFO    ] Checking for system updates...
[2026-08-29 08:04:46,694.694 INFO    ] 200
[2026-08-29 08:04:46,695.695 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:04:46,725.725 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:04:46,726.726 INFO    ] No update needed
[2026-08-29 08:04:46,727.727 INFO    ] Checking for camera pi updates...
[2026-08-29 08:04:46,747.747 INFO    ] 200
[2026-08-29 08:04:46,748.748 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:04:46,771.771 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:04:46,845.845 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:04:46,846.846 INFO    ] No camera update needed
[2026-08-29 08:04:46,848.848 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:04:46,849.849 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:04:46,852.852 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:04:46,854.854 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:04:48,896.896 INFO    ] ================================================
[2026-08-29 08:04:48,912.912 INFO    ] Launching Daemon at Sat Aug 29 08:04:48 IST 2026
[2026-08-29 08:04:48,923.923 INFO    ] ================================================
[2026-08-29 08:04:49,279.279 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:04:49
[2026-08-29 08:04:49,591.591 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:04:49,735.735 INFO    ] Initializing speech engine...
[2026-08-29 08:04:49,740.740 INFO    ] 2026-08-29 08:04:49
[2026-08-29 08:04:49,963.963 INFO    ] 2026-08-29 08:04:49
[2026-08-29 08:04:49,998.998 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:04:50,177.177 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:04:50,191.191 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:04:50,336.336 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:04:50,343.343 INFO    ] time= 29/08/2026 08:04:50
[2026-08-29 08:04:50,350.350 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:04:50,397.397 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:04:50,528.528 INFO    ] No existing commands found in stream
[2026-08-29 08:04:55,553.553 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:04:55,556.556 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-08-29 08:04:57,697.697 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:04:57,699.699 INFO    ] Checking for system updates...
[2026-08-29 08:04:57,720.720 INFO    ] 200
[2026-08-29 08:04:57,721.721 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:04:57,751.751 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:04:57,753.753 INFO    ] No update needed
[2026-08-29 08:04:57,754.754 INFO    ] Checking for camera pi updates...
[2026-08-29 08:04:57,775.775 INFO    ] 200
[2026-08-29 08:04:57,777.777 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:04:57,800.800 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:04:57,968.968 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:04:57,970.970 INFO    ] No camera update needed
[2026-08-29 08:04:57,972.972 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:04:57,975.975 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:04:57,980.980 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:04:57,985.985 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:05:00,028.028 INFO    ] ================================================
[2026-08-29 08:05:00,043.043 INFO    ] Launching Daemon at Sat Aug 29 08:05:00 IST 2026
[2026-08-29 08:05:00,055.055 INFO    ] ================================================
[2026-08-29 08:05:00,710.710 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:05:00
[2026-08-29 08:05:01,455.455 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:05:02,287.287 INFO    ] Initializing speech engine...
[2026-08-29 08:05:02,304.304 INFO    ] 2026-08-29 08:05:02
[2026-08-29 08:05:02,570.570 INFO    ] 2026-08-29 08:05:02
[2026-08-29 08:05:02,610.610 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:05:03,067.067 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:05:03,077.077 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:05:03,522.522 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:05:03,549.549 INFO    ] time= 29/08/2026 08:05:03
[2026-08-29 08:05:03,562.562 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:05:03,566.566 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:05:03,678.678 INFO    ] No existing commands found in stream
[2026-08-29 08:05:08,707.707 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:05:08,710.710 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-08-29 08:05:09,282.282 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:05:09,286.286 INFO    ] Checking for system updates...
[2026-08-29 08:05:09,328.328 INFO    ] 200
[2026-08-29 08:05:09,330.330 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:05:09,387.387 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:05:09,390.390 INFO    ] No update needed
[2026-08-29 08:05:09,393.393 INFO    ] Checking for camera pi updates...
[2026-08-29 08:05:09,427.427 INFO    ] 200
[2026-08-29 08:05:09,429.429 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:05:09,469.469 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:05:09,646.646 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:05:09,648.648 INFO    ] No camera update needed
[2026-08-29 08:05:09,650.650 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:05:09,653.653 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:05:09,658.658 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:05:09,663.663 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:05:11,702.702 INFO    ] ================================================
[2026-08-29 08:05:11,718.718 INFO    ] Launching Daemon at Sat Aug 29 08:05:11 IST 2026
[2026-08-29 08:05:11,728.728 INFO    ] ================================================
[2026-08-29 08:05:12,096.096 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:05:12
[2026-08-29 08:05:12,530.530 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:05:12,822.822 INFO    ] Initializing speech engine...
[2026-08-29 08:05:12,830.830 INFO    ] 2026-08-29 08:05:12
[2026-08-29 08:05:13,109.109 INFO    ] 2026-08-29 08:05:13
[2026-08-29 08:05:13,161.161 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:05:13,351.351 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:05:13,390.390 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:05:13,529.529 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:05:13,551.551 INFO    ] time= 29/08/2026 08:05:13
[2026-08-29 08:05:13,611.611 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:05:13,664.664 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:05:13,720.720 INFO    ] No existing commands found in stream
[2026-08-29 08:05:18,733.733 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:05:18,736.736 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-08-29 08:05:20,114.114 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:05:20,116.116 INFO    ] Checking for system updates...
[2026-08-29 08:05:20,136.136 INFO    ] 200
[2026-08-29 08:05:20,138.138 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:05:20,170.170 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:05:20,171.171 INFO    ] No update needed
[2026-08-29 08:05:20,173.173 INFO    ] Checking for camera pi updates...
[2026-08-29 08:05:20,192.192 INFO    ] 200
[2026-08-29 08:05:20,193.193 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:05:20,216.216 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:05:20,299.299 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:05:20,300.300 INFO    ] No camera update needed
[2026-08-29 08:05:20,301.301 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:05:20,303.303 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:05:20,306.306 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:05:20,308.308 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:05:22,346.346 INFO    ] ================================================
[2026-08-29 08:05:22,361.361 INFO    ] Launching Daemon at Sat Aug 29 08:05:22 IST 2026
[2026-08-29 08:05:22,371.371 INFO    ] ================================================
[2026-08-29 08:05:22,705.705 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:05:22
[2026-08-29 08:05:23,158.158 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:05:23,427.427 INFO    ] Initializing speech engine...
[2026-08-29 08:05:23,437.437 INFO    ] 2026-08-29 08:05:23
[2026-08-29 08:05:23,683.683 INFO    ] 2026-08-29 08:05:23
[2026-08-29 08:05:23,719.719 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:05:23,891.891 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:05:23,902.902 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:05:24,044.044 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:05:24,053.053 INFO    ] time= 29/08/2026 08:05:24
[2026-08-29 08:05:24,060.060 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:05:24,106.106 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:05:24,221.221 INFO    ] No existing commands found in stream
[2026-08-29 08:05:29,246.246 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:05:29,248.248 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-08-29 08:05:31,644.644 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:05:31,646.646 INFO    ] Checking for system updates...
[2026-08-29 08:05:31,671.671 INFO    ] 200
[2026-08-29 08:05:31,673.673 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:05:31,712.712 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:05:31,714.714 INFO    ] No update needed
[2026-08-29 08:05:31,716.716 INFO    ] Checking for camera pi updates...
[2026-08-29 08:05:31,739.739 INFO    ] 200
[2026-08-29 08:05:31,742.742 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:05:31,787.787 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:05:31,917.917 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:05:31,919.919 INFO    ] No camera update needed
[2026-08-29 08:05:31,922.922 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:05:31,924.924 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:05:31,930.930 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:05:31,936.936 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:05:33,977.977 INFO    ] ================================================
[2026-08-29 08:05:33,993.993 INFO    ] Launching Daemon at Sat Aug 29 08:05:33 IST 2026
[2026-08-29 08:05:34,004.004 INFO    ] ================================================
[2026-08-29 08:05:34,570.570 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:05:34
[2026-08-29 08:05:35,026.026 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:05:35,160.160 INFO    ] Initializing speech engine...
[2026-08-29 08:05:35,169.169 INFO    ] 2026-08-29 08:05:35
[2026-08-29 08:05:35,451.451 INFO    ] 2026-08-29 08:05:35
[2026-08-29 08:05:35,490.490 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:05:35,668.668 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:05:35,680.680 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:05:35,825.825 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:05:35,833.833 INFO    ] time= 29/08/2026 08:05:35
[2026-08-29 08:05:35,840.840 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:05:35,871.871 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:05:36,009.009 INFO    ] No existing commands found in stream
[2026-08-29 08:05:41,034.034 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:05:41,037.037 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-08-29 08:05:44,843.843 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:05:44,845.845 INFO    ] Checking for system updates...
[2026-08-29 08:05:44,881.881 INFO    ] 200
[2026-08-29 08:05:44,884.884 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:05:44,938.938 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:05:44,941.941 INFO    ] No update needed
[2026-08-29 08:05:44,943.943 INFO    ] Checking for camera pi updates...
[2026-08-29 08:05:44,978.978 INFO    ] 200
[2026-08-29 08:05:44,980.980 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:05:45,021.021 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:05:45,115.115 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:05:45,118.118 INFO    ] No camera update needed
[2026-08-29 08:05:45,120.120 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:05:45,123.123 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:05:45,129.129 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:05:45,135.135 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:05:47,176.176 INFO    ] ================================================
[2026-08-29 08:05:47,191.191 INFO    ] Launching Daemon at Sat Aug 29 08:05:47 IST 2026
[2026-08-29 08:05:47,201.201 INFO    ] ================================================
[2026-08-29 08:05:47,781.781 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:05:47
[2026-08-29 08:05:48,147.147 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:05:48,282.282 INFO    ] Initializing speech engine...
[2026-08-29 08:05:48,287.287 INFO    ] 2026-08-29 08:05:48
[2026-08-29 08:05:48,514.514 INFO    ] 2026-08-29 08:05:48
[2026-08-29 08:05:48,544.544 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:05:48,685.685 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:05:48,742.742 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:05:48,882.882 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:05:48,928.928 INFO    ] time= 29/08/2026 08:05:48
[2026-08-29 08:05:48,966.966 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:05:48,988.988 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:05:49,065.065 INFO    ] No existing commands found in stream
[2026-08-29 08:05:54,074.074 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:05:54,077.077 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-08-29 08:05:56,582.582 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:05:56,583.583 INFO    ] Checking for system updates...
[2026-08-29 08:05:56,604.604 INFO    ] 200
[2026-08-29 08:05:56,605.605 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:05:56,639.639 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:05:56,640.640 INFO    ] No update needed
[2026-08-29 08:05:56,641.641 INFO    ] Checking for camera pi updates...
[2026-08-29 08:05:56,661.661 INFO    ] 200
[2026-08-29 08:05:56,663.663 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:05:56,685.685 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:05:56,775.775 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:05:56,776.776 INFO    ] No camera update needed
[2026-08-29 08:05:56,778.778 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:05:56,779.779 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:05:56,782.782 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:05:56,785.785 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:05:58,823.823 INFO    ] ================================================
[2026-08-29 08:05:58,837.837 INFO    ] Launching Daemon at Sat Aug 29 08:05:58 IST 2026
[2026-08-29 08:05:58,848.848 INFO    ] ================================================
[2026-08-29 08:05:59,196.196 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:05:59
[2026-08-29 08:05:59,512.512 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:05:59,644.644 INFO    ] Initializing speech engine...
[2026-08-29 08:05:59,652.652 INFO    ] 2026-08-29 08:05:59
[2026-08-29 08:05:59,858.858 INFO    ] 2026-08-29 08:05:59
[2026-08-29 08:05:59,876.876 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:06:00,021.021 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:06:00,069.069 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:06:00,238.238 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:06:00,275.275 INFO    ] time= 29/08/2026 08:06:00
[2026-08-29 08:06:00,339.339 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:06:00,369.369 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:06:00,498.498 INFO    ] No existing commands found in stream
[2026-08-29 08:06:05,515.515 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:06:05,517.517 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-08-29 08:06:06,768.768 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:06:06,769.769 INFO    ] Checking for system updates...
[2026-08-29 08:06:06,791.791 INFO    ] 200
[2026-08-29 08:06:06,793.793 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:06:06,825.825 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:06:06,826.826 INFO    ] No update needed
[2026-08-29 08:06:06,827.827 INFO    ] Checking for camera pi updates...
[2026-08-29 08:06:06,846.846 INFO    ] 200
[2026-08-29 08:06:06,848.848 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:06:06,871.871 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:06:07,068.068 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:06:07,070.070 INFO    ] No camera update needed
[2026-08-29 08:06:07,071.071 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:06:07,073.073 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:06:07,076.076 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:06:07,079.079 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:06:09,120.120 INFO    ] ================================================
[2026-08-29 08:06:09,136.136 INFO    ] Launching Daemon at Sat Aug 29 08:06:09 IST 2026
[2026-08-29 08:06:09,146.146 INFO    ] ================================================
[2026-08-29 08:06:09,741.741 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:06:09
[2026-08-29 08:06:10,331.331 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:06:10,601.601 INFO    ] Initializing speech engine...
[2026-08-29 08:06:10,613.613 INFO    ] 2026-08-29 08:06:10
[2026-08-29 08:06:10,870.870 INFO    ] 2026-08-29 08:06:10
[2026-08-29 08:06:10,937.937 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:06:11,084.084 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:06:11,089.089 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:06:11,211.211 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:06:11,217.217 INFO    ] time= 29/08/2026 08:06:11
[2026-08-29 08:06:11,235.235 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:06:11,255.255 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:06:11,330.330 INFO    ] No existing commands found in stream
[2026-08-29 08:06:16,342.342 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:06:16,345.345 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-08-29 08:06:20,291.291 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:06:20,293.293 INFO    ] Checking for system updates...
[2026-08-29 08:06:20,315.315 INFO    ] 200
[2026-08-29 08:06:20,316.316 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:06:20,349.349 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:06:20,350.350 INFO    ] No update needed
[2026-08-29 08:06:20,351.351 INFO    ] Checking for camera pi updates...
[2026-08-29 08:06:20,384.384 INFO    ] 200
[2026-08-29 08:06:20,386.386 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:06:20,431.431 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:06:20,541.541 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:06:20,544.544 INFO    ] No camera update needed
[2026-08-29 08:06:20,546.546 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:06:20,548.548 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:06:20,554.554 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:06:20,558.558 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:06:22,598.598 INFO    ] ================================================
[2026-08-29 08:06:22,613.613 INFO    ] Launching Daemon at Sat Aug 29 08:06:22 IST 2026
[2026-08-29 08:06:22,623.623 INFO    ] ================================================
[2026-08-29 08:06:23,193.193 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:06:23
[2026-08-29 08:06:23,641.641 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:06:23,773.773 INFO    ] Initializing speech engine...
[2026-08-29 08:06:23,776.776 INFO    ] 2026-08-29 08:06:23
[2026-08-29 08:06:23,974.974 INFO    ] 2026-08-29 08:06:23
[2026-08-29 08:06:24,012.012 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:06:24,171.171 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:06:24,219.219 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:06:24,380.380 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:06:24,422.422 INFO    ] time= 29/08/2026 08:06:24
[2026-08-29 08:06:24,465.465 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:06:24,488.488 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:06:24,564.564 INFO    ] No existing commands found in stream
[2026-08-29 08:06:29,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:06:29,577.577 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 08:06:31,897.897 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:06:31,900.900 INFO    ] Checking for system updates...
[2026-08-29 08:06:31,938.938 INFO    ] 200
[2026-08-29 08:06:31,941.941 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:06:32,012.012 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:06:32,015.015 INFO    ] No update needed
[2026-08-29 08:06:32,018.018 INFO    ] Checking for camera pi updates...
[2026-08-29 08:06:32,057.057 INFO    ] 200
[2026-08-29 08:06:32,060.060 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:06:32,105.105 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:06:32,200.200 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:06:32,202.202 INFO    ] No camera update needed
[2026-08-29 08:06:32,205.205 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:06:32,207.207 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:06:32,213.213 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:06:32,219.219 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:06:34,261.261 INFO    ] ================================================
[2026-08-29 08:06:34,277.277 INFO    ] Launching Daemon at Sat Aug 29 08:06:34 IST 2026
[2026-08-29 08:06:34,287.287 INFO    ] ================================================
[2026-08-29 08:06:34,862.862 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:06:34
[2026-08-29 08:06:35,228.228 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:06:35,362.362 INFO    ] Initializing speech engine...
[2026-08-29 08:06:35,365.365 INFO    ] 2026-08-29 08:06:35
[2026-08-29 08:06:35,595.595 INFO    ] 2026-08-29 08:06:35
[2026-08-29 08:06:35,625.625 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:06:35,752.752 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:06:35,760.760 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:06:35,922.922 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:06:35,982.982 INFO    ] time= 29/08/2026 08:06:35
[2026-08-29 08:06:35,994.994 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:06:36,012.012 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:06:36,098.098 INFO    ] No existing commands found in stream
[2026-08-29 08:06:41,129.129 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:06:41,132.132 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-08-29 08:06:41,590.590 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:06:41,592.592 INFO    ] Checking for system updates...
[2026-08-29 08:06:41,612.612 INFO    ] 200
[2026-08-29 08:06:41,613.613 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:06:41,643.643 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:06:41,644.644 INFO    ] No update needed
[2026-08-29 08:06:41,645.645 INFO    ] Checking for camera pi updates...
[2026-08-29 08:06:41,664.664 INFO    ] 200
[2026-08-29 08:06:41,666.666 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:06:41,688.688 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:06:41,794.794 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:06:41,796.796 INFO    ] No camera update needed
[2026-08-29 08:06:41,799.799 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:06:41,801.801 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:06:41,806.806 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:06:41,811.811 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:06:43,852.852 INFO    ] ================================================
[2026-08-29 08:06:43,867.867 INFO    ] Launching Daemon at Sat Aug 29 08:06:43 IST 2026
[2026-08-29 08:06:43,878.878 INFO    ] ================================================
[2026-08-29 08:06:44,446.446 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:06:44
[2026-08-29 08:06:44,968.968 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:06:45,280.280 INFO    ] Initializing speech engine...
[2026-08-29 08:06:45,292.292 INFO    ] 2026-08-29 08:06:45
[2026-08-29 08:06:45,576.576 INFO    ] 2026-08-29 08:06:45
[2026-08-29 08:06:45,623.623 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:06:45,854.854 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:06:45,864.864 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:06:46,004.004 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:06:46,039.039 INFO    ] time= 29/08/2026 08:06:46
[2026-08-29 08:06:46,110.110 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:06:46,143.143 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:06:46,200.200 INFO    ] No existing commands found in stream
[2026-08-29 08:06:51,211.211 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:06:51,214.214 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-08-29 08:06:51,953.953 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:06:51,955.955 INFO    ] Checking for system updates...
[2026-08-29 08:06:51,976.976 INFO    ] 200
[2026-08-29 08:06:51,978.978 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:06:52,009.009 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:06:52,010.010 INFO    ] No update needed
[2026-08-29 08:06:52,012.012 INFO    ] Checking for camera pi updates...
[2026-08-29 08:06:52,031.031 INFO    ] 200
[2026-08-29 08:06:52,033.033 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:06:52,057.057 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:06:52,159.159 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:06:52,160.160 INFO    ] No camera update needed
[2026-08-29 08:06:52,162.162 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:06:52,163.163 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:06:52,166.166 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:06:52,169.169 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:06:54,209.209 INFO    ] ================================================
[2026-08-29 08:06:54,225.225 INFO    ] Launching Daemon at Sat Aug 29 08:06:54 IST 2026
[2026-08-29 08:06:54,236.236 INFO    ] ================================================
[2026-08-29 08:06:54,604.604 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:06:54
[2026-08-29 08:06:54,921.921 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:06:55,064.064 INFO    ] Initializing speech engine...
[2026-08-29 08:06:55,070.070 INFO    ] 2026-08-29 08:06:55
[2026-08-29 08:06:55,256.256 INFO    ] 2026-08-29 08:06:55
[2026-08-29 08:06:55,315.315 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:06:55,483.483 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:06:55,540.540 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:06:55,680.680 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:06:55,727.727 INFO    ] time= 29/08/2026 08:06:55
[2026-08-29 08:06:55,787.787 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:06:55,814.814 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:06:55,866.866 INFO    ] No existing commands found in stream
[2026-08-29 08:07:00,878.878 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:07:00,880.880 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-08-29 08:07:05,031.031 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:07:05,032.032 INFO    ] Checking for system updates...
[2026-08-29 08:07:05,053.053 INFO    ] 200
[2026-08-29 08:07:05,054.054 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:07:05,086.086 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:07:05,087.087 INFO    ] No update needed
[2026-08-29 08:07:05,089.089 INFO    ] Checking for camera pi updates...
[2026-08-29 08:07:05,110.110 INFO    ] 200
[2026-08-29 08:07:05,112.112 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:07:05,135.135 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:07:05,212.212 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:07:05,213.213 INFO    ] No camera update needed
[2026-08-29 08:07:05,215.215 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:07:05,216.216 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:07:05,219.219 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:07:05,221.221 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:07:07,259.259 INFO    ] ================================================
[2026-08-29 08:07:07,275.275 INFO    ] Launching Daemon at Sat Aug 29 08:07:07 IST 2026
[2026-08-29 08:07:07,285.285 INFO    ] ================================================
[2026-08-29 08:07:07,642.642 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:07:07
[2026-08-29 08:07:08,106.106 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:07:08,398.398 INFO    ] Initializing speech engine...
[2026-08-29 08:07:08,415.415 INFO    ] 2026-08-29 08:07:08
[2026-08-29 08:07:08,698.698 INFO    ] 2026-08-29 08:07:08
[2026-08-29 08:07:08,753.753 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:07:08,985.985 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:07:08,992.992 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:07:09,125.125 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:07:09,171.171 INFO    ] time= 29/08/2026 08:07:09
[2026-08-29 08:07:09,236.236 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:07:09,261.261 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:07:09,317.317 INFO    ] No existing commands found in stream
[2026-08-29 08:07:14,330.330 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:07:14,333.333 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-08-29 08:07:18,361.361 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:07:18,362.362 INFO    ] Checking for system updates...
[2026-08-29 08:07:18,383.383 INFO    ] 200
[2026-08-29 08:07:18,384.384 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:07:18,414.414 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:07:18,416.416 INFO    ] No update needed
[2026-08-29 08:07:18,417.417 INFO    ] Checking for camera pi updates...
[2026-08-29 08:07:18,438.438 INFO    ] 200
[2026-08-29 08:07:18,439.439 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:07:18,466.466 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:07:18,590.590 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:07:18,591.591 INFO    ] No camera update needed
[2026-08-29 08:07:18,592.592 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:07:18,594.594 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:07:18,597.597 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:07:18,599.599 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:07:20,637.637 INFO    ] ================================================
[2026-08-29 08:07:20,652.652 INFO    ] Launching Daemon at Sat Aug 29 08:07:20 IST 2026
[2026-08-29 08:07:20,663.663 INFO    ] ================================================
[2026-08-29 08:07:21,203.203 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:07:21
[2026-08-29 08:07:21,809.809 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:07:22,083.083 INFO    ] Initializing speech engine...
[2026-08-29 08:07:22,088.088 INFO    ] 2026-08-29 08:07:22
[2026-08-29 08:07:22,335.335 INFO    ] 2026-08-29 08:07:22
[2026-08-29 08:07:22,370.370 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:07:22,542.542 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:07:22,553.553 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:07:22,664.664 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:07:22,682.682 INFO    ] time= 29/08/2026 08:07:22
[2026-08-29 08:07:22,701.701 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:07:22,710.710 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:07:22,777.777 INFO    ] No existing commands found in stream
[2026-08-29 08:07:27,789.789 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:07:27,792.792 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-08-29 08:07:28,723.723 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:07:28,725.725 INFO    ] Checking for system updates...
[2026-08-29 08:07:28,745.745 INFO    ] 200
[2026-08-29 08:07:28,747.747 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:07:28,776.776 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:07:28,777.777 INFO    ] No update needed
[2026-08-29 08:07:28,779.779 INFO    ] Checking for camera pi updates...
[2026-08-29 08:07:28,799.799 INFO    ] 200
[2026-08-29 08:07:28,801.801 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:07:28,824.824 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:07:28,921.921 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:07:28,923.923 INFO    ] No camera update needed
[2026-08-29 08:07:28,924.924 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:07:28,925.925 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:07:28,928.928 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:07:28,931.931 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:07:30,971.971 INFO    ] ================================================
[2026-08-29 08:07:30,986.986 INFO    ] Launching Daemon at Sat Aug 29 08:07:30 IST 2026
[2026-08-29 08:07:31,997.997 INFO    ] ================================================
[2026-08-29 08:07:31,524.524 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:07:31
[2026-08-29 08:07:32,139.139 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:07:32,413.413 INFO    ] Initializing speech engine...
[2026-08-29 08:07:32,432.432 INFO    ] 2026-08-29 08:07:32
[2026-08-29 08:07:32,705.705 INFO    ] 2026-08-29 08:07:32
[2026-08-29 08:07:32,745.745 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:07:32,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:07:32,940.940 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:07:33,063.063 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:07:33,082.082 INFO    ] time= 29/08/2026 08:07:33
[2026-08-29 08:07:33,104.104 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:07:33,110.110 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:07:33,215.215 INFO    ] No existing commands found in stream
[2026-08-29 08:07:38,250.250 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:07:38,253.253 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 08:07:41,604.604 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:07:41,605.605 INFO    ] Checking for system updates...
[2026-08-29 08:07:41,626.626 INFO    ] 200
[2026-08-29 08:07:41,627.627 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:07:41,665.665 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:07:41,668.668 INFO    ] No update needed
[2026-08-29 08:07:41,671.671 INFO    ] Checking for camera pi updates...
[2026-08-29 08:07:41,704.704 INFO    ] 200
[2026-08-29 08:07:41,707.707 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:07:41,749.749 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:07:41,828.828 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:07:41,830.830 INFO    ] No camera update needed
[2026-08-29 08:07:41,833.833 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:07:41,835.835 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:07:41,840.840 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:07:41,845.845 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:07:43,887.887 INFO    ] ================================================
[2026-08-29 08:07:43,902.902 INFO    ] Launching Daemon at Sat Aug 29 08:07:43 IST 2026
[2026-08-29 08:07:43,913.913 INFO    ] ================================================
[2026-08-29 08:07:44,479.479 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:07:44
[2026-08-29 08:07:44,930.930 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:07:45,072.072 INFO    ] Initializing speech engine...
[2026-08-29 08:07:45,077.077 INFO    ] 2026-08-29 08:07:45
[2026-08-29 08:07:45,280.280 INFO    ] 2026-08-29 08:07:45
[2026-08-29 08:07:45,307.307 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:07:45,429.429 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:07:45,492.492 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:07:45,625.625 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:07:45,687.687 INFO    ] time= 29/08/2026 08:07:45
[2026-08-29 08:07:45,719.719 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:07:45,725.725 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:07:45,791.791 INFO    ] No existing commands found in stream
[2026-08-29 08:07:50,801.801 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:07:50,804.804 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-08-29 08:07:54,999.999 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:07:55,001.001 INFO    ] Checking for system updates...
[2026-08-29 08:07:55,022.022 INFO    ] 200
[2026-08-29 08:07:55,023.023 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:07:55,053.053 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:07:55,054.054 INFO    ] No update needed
[2026-08-29 08:07:55,055.055 INFO    ] Checking for camera pi updates...
[2026-08-29 08:07:55,078.078 INFO    ] 200
[2026-08-29 08:07:55,080.080 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:07:55,104.104 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:07:55,185.185 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:07:55,187.187 INFO    ] No camera update needed
[2026-08-29 08:07:55,188.188 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:07:55,189.189 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:07:55,192.192 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:07:55,195.195 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:07:57,235.235 INFO    ] ================================================
[2026-08-29 08:07:57,250.250 INFO    ] Launching Daemon at Sat Aug 29 08:07:57 IST 2026
[2026-08-29 08:07:57,261.261 INFO    ] ================================================
[2026-08-29 08:07:57,622.622 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:07:57
[2026-08-29 08:07:57,968.968 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:07:58,116.116 INFO    ] Initializing speech engine...
[2026-08-29 08:07:58,127.127 INFO    ] 2026-08-29 08:07:58
[2026-08-29 08:07:58,339.339 INFO    ] 2026-08-29 08:07:58
[2026-08-29 08:07:58,369.369 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:07:58,495.495 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:07:58,553.553 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:07:58,695.695 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:07:58,763.763 INFO    ] time= 29/08/2026 08:07:58
[2026-08-29 08:07:58,791.791 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:07:58,798.798 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:07:58,866.866 INFO    ] No existing commands found in stream
[2026-08-29 08:08:03,881.881 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:08:03,884.884 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-08-29 08:08:07,269.269 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:08:07,271.271 INFO    ] Checking for system updates...
[2026-08-29 08:08:07,292.292 INFO    ] 200
[2026-08-29 08:08:07,293.293 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:08:07,326.326 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:08:07,327.327 INFO    ] No update needed
[2026-08-29 08:08:07,329.329 INFO    ] Checking for camera pi updates...
[2026-08-29 08:08:07,349.349 INFO    ] 200
[2026-08-29 08:08:07,350.350 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:08:07,375.375 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:08:07,449.449 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:08:07,451.451 INFO    ] No camera update needed
[2026-08-29 08:08:07,452.452 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:08:07,454.454 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:08:07,457.457 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:08:07,460.460 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:08:09,500.500 INFO    ] ================================================
[2026-08-29 08:08:09,515.515 INFO    ] Launching Daemon at Sat Aug 29 08:08:09 IST 2026
[2026-08-29 08:08:09,526.526 INFO    ] ================================================
[2026-08-29 08:08:09,882.882 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:08:09
[2026-08-29 08:08:10,542.542 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:08:10,842.842 INFO    ] Initializing speech engine...
[2026-08-29 08:08:10,848.848 INFO    ] 2026-08-29 08:08:10
[2026-08-29 08:08:11,124.124 INFO    ] 2026-08-29 08:08:11
[2026-08-29 08:08:11,177.177 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:08:11,403.403 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:08:11,413.413 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:08:11,547.547 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:08:11,595.595 INFO    ] time= 29/08/2026 08:08:11
[2026-08-29 08:08:11,660.660 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:08:11,686.686 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:08:11,813.813 INFO    ] No existing commands found in stream
[2026-08-29 08:08:16,839.839 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:08:16,842.842 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-08-29 08:08:18,199.199 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:08:18,200.200 INFO    ] Checking for system updates...
[2026-08-29 08:08:18,222.222 INFO    ] 200
[2026-08-29 08:08:18,224.224 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:08:18,254.254 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:08:18,255.255 INFO    ] No update needed
[2026-08-29 08:08:18,257.257 INFO    ] Checking for camera pi updates...
[2026-08-29 08:08:18,276.276 INFO    ] 200
[2026-08-29 08:08:18,278.278 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:08:18,301.301 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:08:18,501.501 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:08:18,503.503 INFO    ] No camera update needed
[2026-08-29 08:08:18,504.504 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:08:18,506.506 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:08:18,509.509 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:08:18,511.511 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:08:20,550.550 INFO    ] ================================================
[2026-08-29 08:08:20,565.565 INFO    ] Launching Daemon at Sat Aug 29 08:08:20 IST 2026
[2026-08-29 08:08:20,575.575 INFO    ] ================================================
[2026-08-29 08:08:20,921.921 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:08:20
[2026-08-29 08:08:21,236.236 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:08:21,380.380 INFO    ] Initializing speech engine...
[2026-08-29 08:08:21,386.386 INFO    ] 2026-08-29 08:08:21
[2026-08-29 08:08:21,591.591 INFO    ] 2026-08-29 08:08:21
[2026-08-29 08:08:21,620.620 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:08:21,745.745 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:08:21,798.798 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:08:21,980.980 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:08:22,017.017 INFO    ] time= 29/08/2026 08:08:21
[2026-08-29 08:08:22,046.046 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:08:22,100.100 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:08:22,213.213 INFO    ] No existing commands found in stream
[2026-08-29 08:08:27,234.234 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:08:27,236.236 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-08-29 08:08:31,408.408 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:08:31,411.411 INFO    ] Checking for system updates...
[2026-08-29 08:08:31,454.454 INFO    ] 200
[2026-08-29 08:08:31,457.457 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:08:31,521.521 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:08:31,523.523 INFO    ] No update needed
[2026-08-29 08:08:31,526.526 INFO    ] Checking for camera pi updates...
[2026-08-29 08:08:31,567.567 INFO    ] 200
[2026-08-29 08:08:31,570.570 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:08:31,613.613 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:08:31,717.717 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:08:31,720.720 INFO    ] No camera update needed
[2026-08-29 08:08:31,722.722 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:08:31,725.725 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:08:31,731.731 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:08:31,736.736 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:08:33,778.778 INFO    ] ================================================
[2026-08-29 08:08:33,793.793 INFO    ] Launching Daemon at Sat Aug 29 08:08:33 IST 2026
[2026-08-29 08:08:33,804.804 INFO    ] ================================================
[2026-08-29 08:08:34,287.287 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:08:34
[2026-08-29 08:08:34,600.600 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:08:34,732.732 INFO    ] Initializing speech engine...
[2026-08-29 08:08:34,735.735 INFO    ] 2026-08-29 08:08:34
[2026-08-29 08:08:34,962.962 INFO    ] 2026-08-29 08:08:34
[2026-08-29 08:08:34,994.994 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:08:35,145.145 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:08:35,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:08:35,349.349 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:08:35,404.404 INFO    ] time= 29/08/2026 08:08:35
[2026-08-29 08:08:35,420.420 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:08:35,426.426 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:08:35,551.551 INFO    ] No existing commands found in stream
[2026-08-29 08:08:40,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:08:40,576.576 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-08-29 08:08:42,690.690 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:08:42,691.691 INFO    ] Checking for system updates...
[2026-08-29 08:08:42,712.712 INFO    ] 200
[2026-08-29 08:08:42,713.713 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:08:42,744.744 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:08:42,745.745 INFO    ] No update needed
[2026-08-29 08:08:42,746.746 INFO    ] Checking for camera pi updates...
[2026-08-29 08:08:42,765.765 INFO    ] 200
[2026-08-29 08:08:42,767.767 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:08:42,790.790 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:08:42,879.879 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:08:42,880.880 INFO    ] No camera update needed
[2026-08-29 08:08:42,882.882 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:08:42,883.883 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:08:42,886.886 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:08:42,889.889 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:08:44,928.928 INFO    ] ================================================
[2026-08-29 08:08:44,943.943 INFO    ] Launching Daemon at Sat Aug 29 08:08:44 IST 2026
[2026-08-29 08:08:44,954.954 INFO    ] ================================================
[2026-08-29 08:08:45,275.275 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:08:45
[2026-08-29 08:08:45,587.587 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:08:45,722.722 INFO    ] Initializing speech engine...
[2026-08-29 08:08:45,725.725 INFO    ] 2026-08-29 08:08:45
[2026-08-29 08:08:45,969.969 INFO    ] 2026-08-29 08:08:45
[2026-08-29 08:08:45,994.994 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:08:46,152.152 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:08:46,160.160 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:08:46,309.309 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:08:46,320.320 INFO    ] time= 29/08/2026 08:08:46
[2026-08-29 08:08:46,328.328 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:08:46,351.351 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:08:46,404.404 INFO    ] No existing commands found in stream
[2026-08-29 08:08:51,415.415 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:08:51,418.418 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-08-29 08:08:54,518.518 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:08:54,520.520 INFO    ] Checking for system updates...
[2026-08-29 08:08:54,540.540 INFO    ] 200
[2026-08-29 08:08:54,542.542 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:08:54,573.573 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:08:54,574.574 INFO    ] No update needed
[2026-08-29 08:08:54,575.575 INFO    ] Checking for camera pi updates...
[2026-08-29 08:08:54,597.597 INFO    ] 200
[2026-08-29 08:08:54,598.598 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:08:54,625.625 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:08:54,727.727 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:08:54,728.728 INFO    ] No camera update needed
[2026-08-29 08:08:54,729.729 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:08:54,730.730 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:08:54,734.734 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:08:54,736.736 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:08:56,774.774 INFO    ] ================================================
[2026-08-29 08:08:56,789.789 INFO    ] Launching Daemon at Sat Aug 29 08:08:56 IST 2026
[2026-08-29 08:08:56,800.800 INFO    ] ================================================
[2026-08-29 08:08:57,198.198 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:08:57
[2026-08-29 08:08:57,536.536 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:08:57,691.691 INFO    ] Initializing speech engine...
[2026-08-29 08:08:57,696.696 INFO    ] 2026-08-29 08:08:57
[2026-08-29 08:08:57,906.906 INFO    ] 2026-08-29 08:08:57
[2026-08-29 08:08:57,961.961 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:08:58,171.171 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:08:58,184.184 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:08:58,317.317 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:08:58,382.382 INFO    ] time= 29/08/2026 08:08:58
[2026-08-29 08:08:58,442.442 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:08:58,451.451 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:08:58,567.567 INFO    ] No existing commands found in stream
[2026-08-29 08:09:03,595.595 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:09:03,599.599 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-08-29 08:09:04,403.403 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:09:04,406.406 INFO    ] Checking for system updates...
[2026-08-29 08:09:04,442.442 INFO    ] 200
[2026-08-29 08:09:04,445.445 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:09:04,499.499 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:09:04,502.502 INFO    ] No update needed
[2026-08-29 08:09:04,505.505 INFO    ] Checking for camera pi updates...
[2026-08-29 08:09:04,540.540 INFO    ] 200
[2026-08-29 08:09:04,542.542 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:09:04,585.585 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:09:04,672.672 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:09:04,675.675 INFO    ] No camera update needed
[2026-08-29 08:09:04,678.678 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:09:04,680.680 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:09:04,686.686 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:09:04,692.692 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:09:06,732.732 INFO    ] ================================================
[2026-08-29 08:09:06,748.748 INFO    ] Launching Daemon at Sat Aug 29 08:09:06 IST 2026
[2026-08-29 08:09:06,759.759 INFO    ] ================================================
[2026-08-29 08:09:07,298.298 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:09:07
[2026-08-29 08:09:07,883.883 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:09:08,164.164 INFO    ] Initializing speech engine...
[2026-08-29 08:09:08,173.173 INFO    ] 2026-08-29 08:09:08
[2026-08-29 08:09:08,439.439 INFO    ] 2026-08-29 08:09:08
[2026-08-29 08:09:08,475.475 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:09:08,618.618 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:09:08,625.625 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:09:08,774.774 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:09:08,783.783 INFO    ] time= 29/08/2026 08:09:08
[2026-08-29 08:09:08,787.787 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:09:08,792.792 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:09:08,862.862 INFO    ] No existing commands found in stream
[2026-08-29 08:09:13,872.872 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:09:13,875.875 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-08-29 08:09:17,271.271 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:09:17,273.273 INFO    ] Checking for system updates...
[2026-08-29 08:09:17,293.293 INFO    ] 200
[2026-08-29 08:09:17,295.295 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:09:17,325.325 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:09:17,326.326 INFO    ] No update needed
[2026-08-29 08:09:17,327.327 INFO    ] Checking for camera pi updates...
[2026-08-29 08:09:17,347.347 INFO    ] 200
[2026-08-29 08:09:17,348.348 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:09:17,371.371 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:09:17,446.446 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:09:17,447.447 INFO    ] No camera update needed
[2026-08-29 08:09:17,449.449 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:09:17,450.450 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:09:17,453.453 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:09:17,456.456 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:09:19,497.497 INFO    ] ================================================
[2026-08-29 08:09:19,512.512 INFO    ] Launching Daemon at Sat Aug 29 08:09:19 IST 2026
[2026-08-29 08:09:19,523.523 INFO    ] ================================================
[2026-08-29 08:09:19,899.899 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:09:19
[2026-08-29 08:09:20,221.221 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:09:20,365.365 INFO    ] Initializing speech engine...
[2026-08-29 08:09:20,370.370 INFO    ] 2026-08-29 08:09:20
[2026-08-29 08:09:20,574.574 INFO    ] 2026-08-29 08:09:20
[2026-08-29 08:09:20,604.604 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:09:20,725.725 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:09:20,788.788 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:09:20,925.925 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:09:20,992.992 INFO    ] time= 29/08/2026 08:09:20
[2026-08-29 08:09:21,016.016 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:09:21,023.023 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:09:21,088.088 INFO    ] No existing commands found in stream
[2026-08-29 08:09:26,098.098 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:09:26,101.101 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-08-29 08:09:29,970.970 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:09:29,971.971 INFO    ] Checking for system updates...
[2026-08-29 08:09:29,992.992 INFO    ] 200
[2026-08-29 08:09:29,993.993 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:09:30,023.023 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:09:30,025.025 INFO    ] No update needed
[2026-08-29 08:09:30,026.026 INFO    ] Checking for camera pi updates...
[2026-08-29 08:09:30,047.047 INFO    ] 200
[2026-08-29 08:09:30,048.048 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:09:30,071.071 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:09:30,146.146 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:09:30,147.147 INFO    ] No camera update needed
[2026-08-29 08:09:30,148.148 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:09:30,150.150 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:09:30,153.153 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:09:30,155.155 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:09:32,187.187 INFO    ] ================================================
[2026-08-29 08:09:32,196.196 INFO    ] Launching Daemon at Sat Aug 29 08:09:32 IST 2026
[2026-08-29 08:09:32,204.204 INFO    ] ================================================
[2026-08-29 08:09:32,749.749 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:09:32
[2026-08-29 08:09:33,372.372 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:09:33,659.659 INFO    ] Initializing speech engine...
[2026-08-29 08:09:33,668.668 INFO    ] 2026-08-29 08:09:33
[2026-08-29 08:09:33,929.929 INFO    ] 2026-08-29 08:09:33
[2026-08-29 08:09:33,964.964 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:09:34,159.159 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:09:34,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:09:34,273.273 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:09:34,279.279 INFO    ] time= 29/08/2026 08:09:34
[2026-08-29 08:09:34,301.301 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:09:34,307.307 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:09:34,359.359 INFO    ] No existing commands found in stream
[2026-08-29 08:09:39,371.371 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:09:39,374.374 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-08-29 08:09:40,050.050 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:09:40,051.051 INFO    ] Checking for system updates...
[2026-08-29 08:09:40,072.072 INFO    ] 200
[2026-08-29 08:09:40,073.073 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:09:40,102.102 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:09:40,104.104 INFO    ] No update needed
[2026-08-29 08:09:40,105.105 INFO    ] Checking for camera pi updates...
[2026-08-29 08:09:40,124.124 INFO    ] 200
[2026-08-29 08:09:40,126.126 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:09:40,154.154 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:09:40,257.257 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:09:40,259.259 INFO    ] No camera update needed
[2026-08-29 08:09:40,262.262 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:09:40,264.264 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:09:40,269.269 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:09:40,274.274 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:09:42,314.314 INFO    ] ================================================
[2026-08-29 08:09:42,330.330 INFO    ] Launching Daemon at Sat Aug 29 08:09:42 IST 2026
[2026-08-29 08:09:42,341.341 INFO    ] ================================================
[2026-08-29 08:09:42,983.983 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:09:42
[2026-08-29 08:09:43,464.464 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:09:43,615.615 INFO    ] Initializing speech engine...
[2026-08-29 08:09:43,621.621 INFO    ] 2026-08-29 08:09:43
[2026-08-29 08:09:43,828.828 INFO    ] 2026-08-29 08:09:43
[2026-08-29 08:09:43,857.857 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:09:44,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:09:44,049.049 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:09:44,195.195 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:09:44,248.248 INFO    ] time= 29/08/2026 08:09:44
[2026-08-29 08:09:44,270.270 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:09:44,277.277 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:09:44,343.343 INFO    ] No existing commands found in stream
[2026-08-29 08:09:49,354.354 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:09:49,357.357 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-08-29 08:09:51,313.313 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:09:51,314.314 INFO    ] Checking for system updates...
[2026-08-29 08:09:51,334.334 INFO    ] 200
[2026-08-29 08:09:51,336.336 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:09:51,366.366 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:09:51,367.367 INFO    ] No update needed
[2026-08-29 08:09:51,368.368 INFO    ] Checking for camera pi updates...
[2026-08-29 08:09:51,388.388 INFO    ] 200
[2026-08-29 08:09:51,389.389 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:09:51,412.412 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:09:51,517.517 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:09:51,518.518 INFO    ] No camera update needed
[2026-08-29 08:09:51,519.519 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:09:51,520.520 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:09:51,523.523 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:09:51,526.526 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:09:53,568.568 INFO    ] ================================================
[2026-08-29 08:09:53,584.584 INFO    ] Launching Daemon at Sat Aug 29 08:09:53 IST 2026
[2026-08-29 08:09:53,595.595 INFO    ] ================================================
[2026-08-29 08:09:53,966.966 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:09:53
[2026-08-29 08:09:54,278.278 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:09:54,416.416 INFO    ] Initializing speech engine...
[2026-08-29 08:09:54,426.426 INFO    ] 2026-08-29 08:09:54
[2026-08-29 08:09:54,619.619 INFO    ] 2026-08-29 08:09:54
[2026-08-29 08:09:54,697.697 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:09:54,845.845 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:09:54,855.855 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:09:54,986.986 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:09:55,023.023 INFO    ] time= 29/08/2026 08:09:54
[2026-08-29 08:09:55,077.077 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:09:55,120.120 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:09:55,174.174 INFO    ] No existing commands found in stream
[2026-08-29 08:10:00,186.186 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:10:00,189.189 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-08-29 08:10:01,805.805 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:10:01,809.809 INFO    ] Checking for system updates...
[2026-08-29 08:10:02,004.004 INFO    ] 200
[2026-08-29 08:10:02,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:10:02,246.246 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:10:02,249.249 INFO    ] No update needed
[2026-08-29 08:10:02,253.253 INFO    ] Checking for camera pi updates...
[2026-08-29 08:10:02,353.353 INFO    ] 200
[2026-08-29 08:10:02,356.356 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:10:02,507.507 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:10:02,777.777 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:10:02,780.780 INFO    ] No camera update needed
[2026-08-29 08:10:02,783.783 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:10:02,786.786 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:10:02,806.806 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:10:02,813.813 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:10:04,855.855 INFO    ] ================================================
[2026-08-29 08:10:04,872.872 INFO    ] Launching Daemon at Sat Aug 29 08:10:04 IST 2026
[2026-08-29 08:10:04,883.883 INFO    ] ================================================
[2026-08-29 08:10:05,206.206 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:10:05
[2026-08-29 08:10:05,526.526 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:10:05,762.762 INFO    ] Initializing speech engine...
[2026-08-29 08:10:05,785.785 INFO    ] 2026-08-29 08:10:05
[2026-08-29 08:10:06,040.040 INFO    ] 2026-08-29 08:10:06
[2026-08-29 08:10:06,082.082 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:10:06,248.248 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:10:06,272.272 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:10:06,402.402 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:10:06,410.410 INFO    ] time= 29/08/2026 08:10:06
[2026-08-29 08:10:06,416.416 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:10:06,463.463 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:10:06,576.576 INFO    ] No existing commands found in stream
[2026-08-29 08:10:11,606.606 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:10:11,609.609 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-08-29 08:10:14,971.971 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:10:14,974.974 INFO    ] Checking for system updates...
[2026-08-29 08:10:15,011.011 INFO    ] 200
[2026-08-29 08:10:15,014.014 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:10:15,068.068 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:10:15,070.070 INFO    ] No update needed
[2026-08-29 08:10:15,073.073 INFO    ] Checking for camera pi updates...
[2026-08-29 08:10:15,107.107 INFO    ] 200
[2026-08-29 08:10:15,109.109 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:10:15,149.149 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:10:15,228.228 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:10:15,231.231 INFO    ] No camera update needed
[2026-08-29 08:10:15,233.233 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:10:15,235.235 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:10:15,241.241 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:10:15,246.246 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:10:17,287.287 INFO    ] ================================================
[2026-08-29 08:10:17,302.302 INFO    ] Launching Daemon at Sat Aug 29 08:10:17 IST 2026
[2026-08-29 08:10:17,313.313 INFO    ] ================================================
[2026-08-29 08:10:17,667.667 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:10:17
[2026-08-29 08:10:17,983.983 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:10:18,193.193 INFO    ] Initializing speech engine...
[2026-08-29 08:10:18,201.201 INFO    ] 2026-08-29 08:10:18
[2026-08-29 08:10:18,460.460 INFO    ] 2026-08-29 08:10:18
[2026-08-29 08:10:18,491.491 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:10:18,675.675 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:10:18,688.688 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:10:18,811.811 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:10:18,817.817 INFO    ] time= 29/08/2026 08:10:18
[2026-08-29 08:10:18,836.836 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:10:18,860.860 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:10:18,939.939 INFO    ] No existing commands found in stream
[2026-08-29 08:10:23,951.951 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:10:23,954.954 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-08-29 08:10:27,621.621 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:10:27,622.622 INFO    ] Checking for system updates...
[2026-08-29 08:10:27,643.643 INFO    ] 200
[2026-08-29 08:10:27,644.644 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:10:27,674.674 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:10:27,675.675 INFO    ] No update needed
[2026-08-29 08:10:27,676.676 INFO    ] Checking for camera pi updates...
[2026-08-29 08:10:27,695.695 INFO    ] 200
[2026-08-29 08:10:27,697.697 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:10:27,719.719 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:10:27,885.885 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:10:27,887.887 INFO    ] No camera update needed
[2026-08-29 08:10:27,888.888 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:10:27,889.889 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:10:27,892.892 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:10:27,895.895 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:10:29,925.925 INFO    ] ================================================
[2026-08-29 08:10:29,933.933 INFO    ] Launching Daemon at Sat Aug 29 08:10:29 IST 2026
[2026-08-29 08:10:29,939.939 INFO    ] ================================================
[2026-08-29 08:10:30,292.292 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:10:30
[2026-08-29 08:10:30,650.650 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:10:30,930.930 INFO    ] Initializing speech engine...
[2026-08-29 08:10:30,937.937 INFO    ] 2026-08-29 08:10:30
[2026-08-29 08:10:31,196.196 INFO    ] 2026-08-29 08:10:31
[2026-08-29 08:10:31,252.252 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:10:31,473.473 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:10:31,482.482 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:10:31,615.615 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:10:31,652.652 INFO    ] time= 29/08/2026 08:10:31
[2026-08-29 08:10:31,712.712 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:10:31,750.750 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:10:31,802.802 INFO    ] No existing commands found in stream
[2026-08-29 08:10:36,814.814 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:10:36,817.817 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 08:10:38,598.598 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:10:38,600.600 INFO    ] Checking for system updates...
[2026-08-29 08:10:38,621.621 INFO    ] 200
[2026-08-29 08:10:38,622.622 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:10:38,655.655 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:10:38,656.656 INFO    ] No update needed
[2026-08-29 08:10:38,663.663 INFO    ] Checking for camera pi updates...
[2026-08-29 08:10:38,684.684 INFO    ] 200
[2026-08-29 08:10:38,686.686 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:10:38,712.712 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:10:38,791.791 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:10:38,793.793 INFO    ] No camera update needed
[2026-08-29 08:10:38,796.796 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:10:38,798.798 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:10:38,804.804 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:10:38,809.809 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:10:40,850.850 INFO    ] ================================================
[2026-08-29 08:10:40,866.866 INFO    ] Launching Daemon at Sat Aug 29 08:10:40 IST 2026
[2026-08-29 08:10:40,876.876 INFO    ] ================================================
[2026-08-29 08:10:41,506.506 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:10:41
[2026-08-29 08:10:41,966.966 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:10:42,115.115 INFO    ] Initializing speech engine...
[2026-08-29 08:10:42,121.121 INFO    ] 2026-08-29 08:10:42
[2026-08-29 08:10:42,327.327 INFO    ] 2026-08-29 08:10:42
[2026-08-29 08:10:42,355.355 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:10:42,478.478 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:10:42,541.541 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:10:42,700.700 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:10:42,748.748 INFO    ] time= 29/08/2026 08:10:42
[2026-08-29 08:10:42,770.770 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:10:42,777.777 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:10:42,842.842 INFO    ] No existing commands found in stream
[2026-08-29 08:10:47,853.853 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:10:47,856.856 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 08:10:50,240.240 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:10:50,241.241 INFO    ] Checking for system updates...
[2026-08-29 08:10:50,262.262 INFO    ] 200
[2026-08-29 08:10:50,264.264 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:10:50,296.296 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:10:50,297.297 INFO    ] No update needed
[2026-08-29 08:10:50,299.299 INFO    ] Checking for camera pi updates...
[2026-08-29 08:10:50,318.318 INFO    ] 200
[2026-08-29 08:10:50,319.319 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:10:50,350.350 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:10:50,432.432 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:10:50,434.434 INFO    ] No camera update needed
[2026-08-29 08:10:50,437.437 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:10:50,439.439 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:10:50,444.444 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:10:50,449.449 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:10:52,489.489 INFO    ] ================================================
[2026-08-29 08:10:52,504.504 INFO    ] Launching Daemon at Sat Aug 29 08:10:52 IST 2026
[2026-08-29 08:10:52,515.515 INFO    ] ================================================
[2026-08-29 08:10:53,083.083 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:10:53
[2026-08-29 08:10:53,576.576 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:10:53,707.707 INFO    ] Initializing speech engine...
[2026-08-29 08:10:53,712.712 INFO    ] 2026-08-29 08:10:53
[2026-08-29 08:10:53,961.961 INFO    ] 2026-08-29 08:10:53
[2026-08-29 08:10:54,000.000 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:10:54,188.188 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:10:54,194.194 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:10:54,321.321 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:10:54,328.328 INFO    ] time= 29/08/2026 08:10:54
[2026-08-29 08:10:54,334.334 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:10:54,354.354 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:10:54,451.451 INFO    ] No existing commands found in stream
[2026-08-29 08:10:59,463.463 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:10:59,466.466 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-08-29 08:11:01,511.511 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:11:01,513.513 INFO    ] Checking for system updates...
[2026-08-29 08:11:01,533.533 INFO    ] 200
[2026-08-29 08:11:01,534.534 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:11:01,564.564 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:11:01,565.565 INFO    ] No update needed
[2026-08-29 08:11:01,567.567 INFO    ] Checking for camera pi updates...
[2026-08-29 08:11:01,585.585 INFO    ] 200
[2026-08-29 08:11:01,587.587 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:11:01,609.609 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:11:01,783.783 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:11:01,784.784 INFO    ] No camera update needed
[2026-08-29 08:11:01,785.785 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:11:01,787.787 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:11:01,789.789 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:11:01,792.792 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:11:03,836.836 INFO    ] ================================================
[2026-08-29 08:11:03,851.851 INFO    ] Launching Daemon at Sat Aug 29 08:11:03 IST 2026
[2026-08-29 08:11:03,862.862 INFO    ] ================================================
[2026-08-29 08:11:04,443.443 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:11:04
[2026-08-29 08:11:05,040.040 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:11:05,312.312 INFO    ] Initializing speech engine...
[2026-08-29 08:11:05,321.321 INFO    ] 2026-08-29 08:11:05
[2026-08-29 08:11:05,550.550 INFO    ] 2026-08-29 08:11:05
[2026-08-29 08:11:05,578.578 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:11:05,702.702 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:11:05,735.735 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:11:05,865.865 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:11:05,901.901 INFO    ] time= 29/08/2026 08:11:05
[2026-08-29 08:11:05,952.952 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:11:05,997.997 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:11:06,071.071 INFO    ] No existing commands found in stream
[2026-08-29 08:11:11,082.082 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:11:11,085.085 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-08-29 08:11:15,189.189 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:11:15,191.191 INFO    ] Checking for system updates...
[2026-08-29 08:11:15,211.211 INFO    ] 200
[2026-08-29 08:11:15,212.212 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:11:15,242.242 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:11:15,244.244 INFO    ] No update needed
[2026-08-29 08:11:15,245.245 INFO    ] Checking for camera pi updates...
[2026-08-29 08:11:15,264.264 INFO    ] 200
[2026-08-29 08:11:15,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:11:15,288.288 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:11:15,382.382 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:11:15,383.383 INFO    ] No camera update needed
[2026-08-29 08:11:15,384.384 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:11:15,386.386 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:11:15,389.389 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:11:15,391.391 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:11:17,431.431 INFO    ] ================================================
[2026-08-29 08:11:17,447.447 INFO    ] Launching Daemon at Sat Aug 29 08:11:17 IST 2026
[2026-08-29 08:11:17,458.458 INFO    ] ================================================
[2026-08-29 08:11:18,001.001 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:11:17
[2026-08-29 08:11:18,584.584 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:11:18,860.860 INFO    ] Initializing speech engine...
[2026-08-29 08:11:18,870.870 INFO    ] 2026-08-29 08:11:18
[2026-08-29 08:11:19,120.120 INFO    ] 2026-08-29 08:11:19
[2026-08-29 08:11:19,187.187 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:11:19,332.332 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:11:19,344.344 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:11:19,472.472 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:11:19,491.491 INFO    ] time= 29/08/2026 08:11:19
[2026-08-29 08:11:19,499.499 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:11:19,507.507 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:11:19,574.574 INFO    ] No existing commands found in stream
[2026-08-29 08:11:24,594.594 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:11:24,597.597 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-08-29 08:11:25,298.298 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:11:25,299.299 INFO    ] Checking for system updates...
[2026-08-29 08:11:25,320.320 INFO    ] 200
[2026-08-29 08:11:25,321.321 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:11:25,351.351 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:11:25,353.353 INFO    ] No update needed
[2026-08-29 08:11:25,354.354 INFO    ] Checking for camera pi updates...
[2026-08-29 08:11:25,375.375 INFO    ] 200
[2026-08-29 08:11:25,376.376 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:11:25,399.399 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:11:25,474.474 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:11:25,476.476 INFO    ] No camera update needed
[2026-08-29 08:11:25,477.477 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:11:25,478.478 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:11:25,481.481 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:11:25,483.483 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:11:27,522.522 INFO    ] ================================================
[2026-08-29 08:11:27,537.537 INFO    ] Launching Daemon at Sat Aug 29 08:11:27 IST 2026
[2026-08-29 08:11:27,547.547 INFO    ] ================================================
[2026-08-29 08:11:27,904.904 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:11:27
[2026-08-29 08:11:28,237.237 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:11:28,515.515 INFO    ] Initializing speech engine...
[2026-08-29 08:11:28,523.523 INFO    ] 2026-08-29 08:11:28
[2026-08-29 08:11:28,806.806 INFO    ] 2026-08-29 08:11:28
[2026-08-29 08:11:28,851.851 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:11:29,016.016 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:11:29,044.044 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:11:29,156.156 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:11:29,162.162 INFO    ] time= 29/08/2026 08:11:29
[2026-08-29 08:11:29,193.193 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:11:29,231.231 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:11:29,342.342 INFO    ] No existing commands found in stream
[2026-08-29 08:11:34,367.367 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:11:34,370.370 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-08-29 08:11:37,713.713 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:11:37,716.716 INFO    ] Checking for system updates...
[2026-08-29 08:11:37,751.751 INFO    ] 200
[2026-08-29 08:11:37,753.753 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:11:37,805.805 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:11:37,808.808 INFO    ] No update needed
[2026-08-29 08:11:37,810.810 INFO    ] Checking for camera pi updates...
[2026-08-29 08:11:37,843.843 INFO    ] 200
[2026-08-29 08:11:37,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:11:37,899.899 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:11:37,987.987 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:11:37,989.989 INFO    ] No camera update needed
[2026-08-29 08:11:37,992.992 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:11:37,994.994 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:11:37,999.999 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:11:38,004.004 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:11:40,044.044 INFO    ] ================================================
[2026-08-29 08:11:40,059.059 INFO    ] Launching Daemon at Sat Aug 29 08:11:40 IST 2026
[2026-08-29 08:11:40,069.069 INFO    ] ================================================
[2026-08-29 08:11:40,416.416 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:11:40
[2026-08-29 08:11:40,730.730 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:11:40,871.871 INFO    ] Initializing speech engine...
[2026-08-29 08:11:40,877.877 INFO    ] 2026-08-29 08:11:40
[2026-08-29 08:11:41,080.080 INFO    ] 2026-08-29 08:11:41
[2026-08-29 08:11:41,109.109 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:11:41,250.250 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:11:41,293.293 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:11:41,429.429 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:11:41,497.497 INFO    ] time= 29/08/2026 08:11:41
[2026-08-29 08:11:41,520.520 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:11:41,522.522 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:11:41,611.611 INFO    ] No existing commands found in stream
[2026-08-29 08:11:46,623.623 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:11:46,626.626 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-08-29 08:11:48,817.817 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:11:48,818.818 INFO    ] Checking for system updates...
[2026-08-29 08:11:48,839.839 INFO    ] 200
[2026-08-29 08:11:48,840.840 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:11:48,872.872 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:11:48,873.873 INFO    ] No update needed
[2026-08-29 08:11:48,875.875 INFO    ] Checking for camera pi updates...
[2026-08-29 08:11:48,894.894 INFO    ] 200
[2026-08-29 08:11:48,895.895 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:11:48,918.918 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:11:48,995.995 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:11:48,997.997 INFO    ] No camera update needed
[2026-08-29 08:11:48,998.998 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:11:48,999.999 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:11:49,002.002 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:11:49,005.005 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:11:51,045.045 INFO    ] ================================================
[2026-08-29 08:11:51,060.060 INFO    ] Launching Daemon at Sat Aug 29 08:11:51 IST 2026
[2026-08-29 08:11:51,070.070 INFO    ] ================================================
[2026-08-29 08:11:51,527.527 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:11:51
[2026-08-29 08:11:52,110.110 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:11:52,366.366 INFO    ] Initializing speech engine...
[2026-08-29 08:11:52,379.379 INFO    ] 2026-08-29 08:11:52
[2026-08-29 08:11:52,660.660 INFO    ] 2026-08-29 08:11:52
[2026-08-29 08:11:52,697.697 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:11:52,886.886 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:11:52,893.893 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:11:53,019.019 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:11:53,025.025 INFO    ] time= 29/08/2026 08:11:53
[2026-08-29 08:11:53,032.032 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:11:53,052.052 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:11:53,148.148 INFO    ] No existing commands found in stream
[2026-08-29 08:11:58,159.159 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:11:58,162.162 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-08-29 08:11:59,780.780 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:11:59,782.782 INFO    ] Checking for system updates...
[2026-08-29 08:11:59,802.802 INFO    ] 200
[2026-08-29 08:11:59,804.804 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:11:59,836.836 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:11:59,837.837 INFO    ] No update needed
[2026-08-29 08:11:59,838.838 INFO    ] Checking for camera pi updates...
[2026-08-29 08:11:59,859.859 INFO    ] 200
[2026-08-29 08:11:59,861.861 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:11:59,887.887 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:11:59,964.964 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:11:59,965.965 INFO    ] No camera update needed
[2026-08-29 08:11:59,966.966 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:11:59,967.967 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:11:59,970.970 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:11:59,973.973 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:12:02,026.026 INFO    ] ================================================
[2026-08-29 08:12:02,047.047 INFO    ] Launching Daemon at Sat Aug 29 08:12:02 IST 2026
[2026-08-29 08:12:02,064.064 INFO    ] ================================================
[2026-08-29 08:12:02,736.736 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:12:02
[2026-08-29 08:12:03,394.394 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:12:03,706.706 INFO    ] Initializing speech engine...
[2026-08-29 08:12:03,716.716 INFO    ] 2026-08-29 08:12:03
[2026-08-29 08:12:03,986.986 INFO    ] 2026-08-29 08:12:03
[2026-08-29 08:12:04,022.022 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:12:04,167.167 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:12:04,175.175 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:12:04,324.324 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:12:04,334.334 INFO    ] time= 29/08/2026 08:12:04
[2026-08-29 08:12:04,340.340 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:12:04,363.363 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:12:04,415.415 INFO    ] No existing commands found in stream
[2026-08-29 08:12:09,427.427 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:12:09,430.430 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-08-29 08:12:11,679.679 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:12:11,681.681 INFO    ] Checking for system updates...
[2026-08-29 08:12:11,701.701 INFO    ] 200
[2026-08-29 08:12:11,703.703 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:12:11,733.733 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:12:11,735.735 INFO    ] No update needed
[2026-08-29 08:12:11,736.736 INFO    ] Checking for camera pi updates...
[2026-08-29 08:12:11,756.756 INFO    ] 200
[2026-08-29 08:12:11,757.757 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:12:11,781.781 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:12:11,876.876 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:12:11,879.879 INFO    ] No camera update needed
[2026-08-29 08:12:11,881.881 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:12:11,884.884 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:12:11,889.889 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:12:11,894.894 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:12:13,935.935 INFO    ] ================================================
[2026-08-29 08:12:13,951.951 INFO    ] Launching Daemon at Sat Aug 29 08:12:13 IST 2026
[2026-08-29 08:12:13,961.961 INFO    ] ================================================
[2026-08-29 08:12:14,602.602 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:12:14
[2026-08-29 08:12:15,114.114 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:12:15,265.265 INFO    ] Initializing speech engine...
[2026-08-29 08:12:15,271.271 INFO    ] 2026-08-29 08:12:15
[2026-08-29 08:12:15,477.477 INFO    ] 2026-08-29 08:12:15
[2026-08-29 08:12:15,506.506 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:12:15,630.630 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:12:15,688.688 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:12:15,850.850 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:12:15,898.898 INFO    ] time= 29/08/2026 08:12:15
[2026-08-29 08:12:15,920.920 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:12:15,927.927 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:12:15,994.994 INFO    ] No existing commands found in stream
[2026-08-29 08:12:21,009.009 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:12:21,012.012 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-08-29 08:12:22,748.748 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:12:22,750.750 INFO    ] Checking for system updates...
[2026-08-29 08:12:22,771.771 INFO    ] 200
[2026-08-29 08:12:22,773.773 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:12:22,804.804 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:12:22,806.806 INFO    ] No update needed
[2026-08-29 08:12:22,807.807 INFO    ] Checking for camera pi updates...
[2026-08-29 08:12:22,826.826 INFO    ] 200
[2026-08-29 08:12:22,827.827 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:12:22,851.851 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:12:22,950.950 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:12:22,951.951 INFO    ] No camera update needed
[2026-08-29 08:12:22,953.953 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:12:22,954.954 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:12:22,957.957 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:12:22,960.960 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:12:25,998.998 INFO    ] ================================================
[2026-08-29 08:12:25,014.014 INFO    ] Launching Daemon at Sat Aug 29 08:12:25 IST 2026
[2026-08-29 08:12:25,024.024 INFO    ] ================================================
[2026-08-29 08:12:25,677.677 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:12:25
[2026-08-29 08:12:26,335.335 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:12:26,533.533 INFO    ] Initializing speech engine...
[2026-08-29 08:12:26,545.545 INFO    ] 2026-08-29 08:12:26
[2026-08-29 08:12:26,756.756 INFO    ] 2026-08-29 08:12:26
[2026-08-29 08:12:26,784.784 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:12:26,911.911 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:12:26,969.969 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:12:27,099.099 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:12:27,160.160 INFO    ] time= 29/08/2026 08:12:27
[2026-08-29 08:12:27,192.192 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:12:27,202.202 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:12:27,287.287 INFO    ] No existing commands found in stream
[2026-08-29 08:12:32,300.300 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:12:32,301.301 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-08-29 08:12:33,116.116 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:12:33,119.119 INFO    ] Checking for system updates...
[2026-08-29 08:12:33,158.158 INFO    ] 200
[2026-08-29 08:12:33,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:12:33,221.221 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:12:33,224.224 INFO    ] No update needed
[2026-08-29 08:12:33,226.226 INFO    ] Checking for camera pi updates...
[2026-08-29 08:12:33,261.261 INFO    ] 200
[2026-08-29 08:12:33,264.264 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:12:33,305.305 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:12:33,385.385 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:12:33,387.387 INFO    ] No camera update needed
[2026-08-29 08:12:33,390.390 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:12:33,393.393 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:12:33,399.399 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:12:33,404.404 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:12:35,446.446 INFO    ] ================================================
[2026-08-29 08:12:35,462.462 INFO    ] Launching Daemon at Sat Aug 29 08:12:35 IST 2026
[2026-08-29 08:12:35,474.474 INFO    ] ================================================
[2026-08-29 08:12:36,038.038 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:12:36
[2026-08-29 08:12:36,693.693 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:12:36,995.995 INFO    ] Initializing speech engine...
[2026-08-29 08:12:37,003.003 INFO    ] 2026-08-29 08:12:36
[2026-08-29 08:12:37,277.277 INFO    ] 2026-08-29 08:12:37
[2026-08-29 08:12:37,333.333 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:12:37,562.562 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:12:37,572.572 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:12:37,711.711 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:12:37,756.756 INFO    ] time= 29/08/2026 08:12:37
[2026-08-29 08:12:37,820.820 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:12:37,846.846 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:12:37,906.906 INFO    ] No existing commands found in stream
[2026-08-29 08:12:42,918.918 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:12:42,921.921 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-08-29 08:12:45,004.004 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:12:45,005.005 INFO    ] Checking for system updates...
[2026-08-29 08:12:45,026.026 INFO    ] 200
[2026-08-29 08:12:45,027.027 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:12:45,061.061 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:12:45,063.063 INFO    ] No update needed
[2026-08-29 08:12:45,064.064 INFO    ] Checking for camera pi updates...
[2026-08-29 08:12:45,084.084 INFO    ] 200
[2026-08-29 08:12:45,085.085 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:12:45,108.108 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:12:45,182.182 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:12:45,183.183 INFO    ] No camera update needed
[2026-08-29 08:12:45,185.185 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:12:45,186.186 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:12:45,189.189 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:12:45,191.191 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:12:47,229.229 INFO    ] ================================================
[2026-08-29 08:12:47,244.244 INFO    ] Launching Daemon at Sat Aug 29 08:12:47 IST 2026
[2026-08-29 08:12:47,255.255 INFO    ] ================================================
[2026-08-29 08:12:47,611.611 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:12:47
[2026-08-29 08:12:47,923.923 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:12:48,078.078 INFO    ] Initializing speech engine...
[2026-08-29 08:12:48,096.096 INFO    ] 2026-08-29 08:12:48
[2026-08-29 08:12:48,343.343 INFO    ] 2026-08-29 08:12:48
[2026-08-29 08:12:48,377.377 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:12:48,549.549 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:12:48,562.562 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:12:48,703.703 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:12:48,710.710 INFO    ] time= 29/08/2026 08:12:48
[2026-08-29 08:12:48,717.717 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:12:48,758.758 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:12:48,877.877 INFO    ] No existing commands found in stream
[2026-08-29 08:12:53,907.907 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:12:53,910.910 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 08:12:57,686.686 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:12:57,688.688 INFO    ] Checking for system updates...
[2026-08-29 08:12:57,708.708 INFO    ] 200
[2026-08-29 08:12:57,709.709 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:12:57,739.739 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:12:57,740.740 INFO    ] No update needed
[2026-08-29 08:12:57,742.742 INFO    ] Checking for camera pi updates...
[2026-08-29 08:12:57,762.762 INFO    ] 200
[2026-08-29 08:12:57,763.763 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:12:57,788.788 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:12:57,894.894 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:12:57,895.895 INFO    ] No camera update needed
[2026-08-29 08:12:57,897.897 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:12:57,898.898 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:12:57,901.901 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:12:57,903.903 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:12:59,941.941 INFO    ] ================================================
[2026-08-29 08:12:59,957.957 INFO    ] Launching Daemon at Sat Aug 29 08:12:59 IST 2026
[2026-08-29 08:12:59,967.967 INFO    ] ================================================
[2026-08-29 08:13:00,515.515 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:13:00
[2026-08-29 08:13:01,100.100 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:13:01,372.372 INFO    ] Initializing speech engine...
[2026-08-29 08:13:01,381.381 INFO    ] 2026-08-29 08:13:01
[2026-08-29 08:13:01,632.632 INFO    ] 2026-08-29 08:13:01
[2026-08-29 08:13:01,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:13:01,867.867 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:13:01,871.871 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:13:01,984.984 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:13:01,987.987 INFO    ] time= 29/08/2026 08:13:01
[2026-08-29 08:13:01,991.991 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:13:01,994.994 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:13:02,051.051 INFO    ] No existing commands found in stream
[2026-08-29 08:13:07,062.062 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:13:07,065.065 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-08-29 08:13:09,636.636 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:13:09,638.638 INFO    ] Checking for system updates...
[2026-08-29 08:13:09,658.658 INFO    ] 200
[2026-08-29 08:13:09,660.660 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:13:09,691.691 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:13:09,692.692 INFO    ] No update needed
[2026-08-29 08:13:09,694.694 INFO    ] Checking for camera pi updates...
[2026-08-29 08:13:09,713.713 INFO    ] 200
[2026-08-29 08:13:09,715.715 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:13:09,737.737 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:13:09,813.813 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:13:09,815.815 INFO    ] No camera update needed
[2026-08-29 08:13:09,816.816 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:13:09,817.817 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:13:09,820.820 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:13:09,823.823 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:13:11,862.862 INFO    ] ================================================
[2026-08-29 08:13:11,877.877 INFO    ] Launching Daemon at Sat Aug 29 08:13:11 IST 2026
[2026-08-29 08:13:11,888.888 INFO    ] ================================================
[2026-08-29 08:13:12,227.227 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:13:12
[2026-08-29 08:13:12,699.699 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:13:12,968.968 INFO    ] Initializing speech engine...
[2026-08-29 08:13:12,977.977 INFO    ] 2026-08-29 08:13:12
[2026-08-29 08:13:13,237.237 INFO    ] 2026-08-29 08:13:13
[2026-08-29 08:13:13,292.292 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:13:13,513.513 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:13:13,522.522 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:13:13,653.653 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:13:13,695.695 INFO    ] time= 29/08/2026 08:13:13
[2026-08-29 08:13:13,744.744 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:13:13,785.785 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:13:13,841.841 INFO    ] No existing commands found in stream
[2026-08-29 08:13:18,853.853 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:13:18,856.856 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-08-29 08:13:22,546.546 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:13:22,547.547 INFO    ] Checking for system updates...
[2026-08-29 08:13:22,568.568 INFO    ] 200
[2026-08-29 08:13:22,569.569 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:13:22,601.601 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:13:22,603.603 INFO    ] No update needed
[2026-08-29 08:13:22,604.604 INFO    ] Checking for camera pi updates...
[2026-08-29 08:13:22,626.626 INFO    ] 200
[2026-08-29 08:13:22,627.627 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:13:22,651.651 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:13:22,725.725 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:13:22,726.726 INFO    ] No camera update needed
[2026-08-29 08:13:22,727.727 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:13:22,729.729 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:13:22,732.732 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:13:22,735.735 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:13:24,774.774 INFO    ] ================================================
[2026-08-29 08:13:24,789.789 INFO    ] Launching Daemon at Sat Aug 29 08:13:24 IST 2026
[2026-08-29 08:13:24,800.800 INFO    ] ================================================
[2026-08-29 08:13:25,357.357 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:13:25
[2026-08-29 08:13:26,008.008 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:13:26,307.307 INFO    ] Initializing speech engine...
[2026-08-29 08:13:26,316.316 INFO    ] 2026-08-29 08:13:26
[2026-08-29 08:13:26,584.584 INFO    ] 2026-08-29 08:13:26
[2026-08-29 08:13:26,636.636 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:13:26,801.801 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:13:26,845.845 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:13:27,001.001 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:13:27,049.049 INFO    ] time= 29/08/2026 08:13:27
[2026-08-29 08:13:27,093.093 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:13:27,135.135 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:13:27,194.194 INFO    ] No existing commands found in stream
[2026-08-29 08:13:32,203.203 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:13:32,205.205 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-08-29 08:13:35,698.698 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:13:35,701.701 INFO    ] Checking for system updates...
[2026-08-29 08:13:35,737.737 INFO    ] 200
[2026-08-29 08:13:35,739.739 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:13:35,792.792 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:13:35,794.794 INFO    ] No update needed
[2026-08-29 08:13:35,797.797 INFO    ] Checking for camera pi updates...
[2026-08-29 08:13:35,834.834 INFO    ] 200
[2026-08-29 08:13:35,836.836 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:13:35,877.877 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:13:35,981.981 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:13:35,984.984 INFO    ] No camera update needed
[2026-08-29 08:13:35,986.986 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:13:35,988.988 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:13:35,994.994 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:13:35,999.999 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:13:38,041.041 INFO    ] ================================================
[2026-08-29 08:13:38,056.056 INFO    ] Launching Daemon at Sat Aug 29 08:13:38 IST 2026
[2026-08-29 08:13:38,066.066 INFO    ] ================================================
[2026-08-29 08:13:38,649.649 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:13:38
[2026-08-29 08:13:38,982.982 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:13:39,121.121 INFO    ] Initializing speech engine...
[2026-08-29 08:13:39,131.131 INFO    ] 2026-08-29 08:13:39
[2026-08-29 08:13:39,335.335 INFO    ] 2026-08-29 08:13:39
[2026-08-29 08:13:39,363.363 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:13:39,506.506 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:13:39,515.515 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:13:39,684.684 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:13:39,715.715 INFO    ] time= 29/08/2026 08:13:39
[2026-08-29 08:13:39,720.720 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:13:39,738.738 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:13:39,845.845 INFO    ] No existing commands found in stream
[2026-08-29 08:13:44,875.875 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:13:44,878.878 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-08-29 08:13:47,114.114 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:13:47,116.116 INFO    ] Checking for system updates...
[2026-08-29 08:13:47,138.138 INFO    ] 200
[2026-08-29 08:13:47,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:13:47,169.169 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:13:47,170.170 INFO    ] No update needed
[2026-08-29 08:13:47,171.171 INFO    ] Checking for camera pi updates...
[2026-08-29 08:13:47,191.191 INFO    ] 200
[2026-08-29 08:13:47,192.192 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:13:47,215.215 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:13:47,292.292 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:13:47,293.293 INFO    ] No camera update needed
[2026-08-29 08:13:47,294.294 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:13:47,296.296 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:13:47,299.299 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:13:47,301.301 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:13:49,340.340 INFO    ] ================================================
[2026-08-29 08:13:49,356.356 INFO    ] Launching Daemon at Sat Aug 29 08:13:49 IST 2026
[2026-08-29 08:13:49,366.366 INFO    ] ================================================
[2026-08-29 08:13:49,741.741 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:13:49
[2026-08-29 08:13:50,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:13:50,231.231 INFO    ] Initializing speech engine...
[2026-08-29 08:13:50,235.235 INFO    ] 2026-08-29 08:13:50
[2026-08-29 08:13:50,441.441 INFO    ] 2026-08-29 08:13:50
[2026-08-29 08:13:50,469.469 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:13:50,592.592 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:13:50,641.641 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:13:50,789.789 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:13:50,829.829 INFO    ] time= 29/08/2026 08:13:50
[2026-08-29 08:13:50,896.896 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:13:50,909.909 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:13:51,022.022 INFO    ] No existing commands found in stream
[2026-08-29 08:13:56,053.053 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:13:56,056.056 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-08-29 08:13:59,832.832 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:13:59,834.834 INFO    ] Checking for system updates...
[2026-08-29 08:13:59,854.854 INFO    ] 200
[2026-08-29 08:13:59,856.856 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:13:59,886.886 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:13:59,887.887 INFO    ] No update needed
[2026-08-29 08:13:59,888.888 INFO    ] Checking for camera pi updates...
[2026-08-29 08:13:59,909.909 INFO    ] 200
[2026-08-29 08:13:59,910.910 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:13:59,936.936 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:14:00,030.030 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:14:00,031.031 INFO    ] No camera update needed
[2026-08-29 08:14:00,033.033 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:14:00,034.034 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:14:00,037.037 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:14:00,040.040 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:14:02,083.083 INFO    ] ================================================
[2026-08-29 08:14:02,103.103 INFO    ] Launching Daemon at Sat Aug 29 08:14:02 IST 2026
[2026-08-29 08:14:02,120.120 INFO    ] ================================================
[2026-08-29 08:14:02,768.768 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:14:02
[2026-08-29 08:14:03,432.432 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:14:03,706.706 INFO    ] Initializing speech engine...
[2026-08-29 08:14:03,715.715 INFO    ] 2026-08-29 08:14:03
[2026-08-29 08:14:03,963.963 INFO    ] 2026-08-29 08:14:03
[2026-08-29 08:14:03,998.998 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:14:04,171.171 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:14:04,183.183 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:14:04,324.324 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:14:04,331.331 INFO    ] time= 29/08/2026 08:14:04
[2026-08-29 08:14:04,340.340 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:14:04,384.384 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:14:04,490.490 INFO    ] No existing commands found in stream
[2026-08-29 08:14:09,515.515 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:14:09,518.518 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-08-29 08:14:12,007.007 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:14:12,009.009 INFO    ] Checking for system updates...
[2026-08-29 08:14:12,029.029 INFO    ] 200
[2026-08-29 08:14:12,031.031 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:14:12,062.062 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:14:12,064.064 INFO    ] No update needed
[2026-08-29 08:14:12,065.065 INFO    ] Checking for camera pi updates...
[2026-08-29 08:14:12,085.085 INFO    ] 200
[2026-08-29 08:14:12,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:14:12,109.109 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:14:12,159.159 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:14:12,160.160 INFO    ] No camera update needed
[2026-08-29 08:14:12,162.162 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:14:12,163.163 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:14:12,166.166 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:14:12,169.169 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:14:14,207.207 INFO    ] ================================================
[2026-08-29 08:14:14,222.222 INFO    ] Launching Daemon at Sat Aug 29 08:14:14 IST 2026
[2026-08-29 08:14:14,232.232 INFO    ] ================================================
[2026-08-29 08:14:14,566.566 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:14:14
[2026-08-29 08:14:15,281.281 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:14:15,536.536 INFO    ] Initializing speech engine...
[2026-08-29 08:14:15,558.558 INFO    ] 2026-08-29 08:14:15
[2026-08-29 08:14:15,815.815 INFO    ] 2026-08-29 08:14:15
[2026-08-29 08:14:15,854.854 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:14:16,030.030 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:14:16,043.043 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:14:16,186.186 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:14:16,195.195 INFO    ] time= 29/08/2026 08:14:16
[2026-08-29 08:14:16,201.201 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:14:16,227.227 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:14:16,352.352 INFO    ] No existing commands found in stream
[2026-08-29 08:14:21,376.376 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:14:21,378.378 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-08-29 08:14:23,777.777 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:14:23,779.779 INFO    ] Checking for system updates...
[2026-08-29 08:14:23,799.799 INFO    ] 200
[2026-08-29 08:14:23,801.801 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:14:23,831.831 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:14:23,832.832 INFO    ] No update needed
[2026-08-29 08:14:23,833.833 INFO    ] Checking for camera pi updates...
[2026-08-29 08:14:23,852.852 INFO    ] 200
[2026-08-29 08:14:23,854.854 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:14:23,882.882 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:14:23,959.959 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:14:23,960.960 INFO    ] No camera update needed
[2026-08-29 08:14:23,961.961 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:14:23,962.962 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:14:23,965.965 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:14:23,968.968 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:14:26,007.007 INFO    ] ================================================
[2026-08-29 08:14:26,023.023 INFO    ] Launching Daemon at Sat Aug 29 08:14:26 IST 2026
[2026-08-29 08:14:26,034.034 INFO    ] ================================================
[2026-08-29 08:14:26,520.520 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:14:26
[2026-08-29 08:14:27,105.105 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:14:27,379.379 INFO    ] Initializing speech engine...
[2026-08-29 08:14:27,386.386 INFO    ] 2026-08-29 08:14:27
[2026-08-29 08:14:27,647.647 INFO    ] 2026-08-29 08:14:27
[2026-08-29 08:14:27,676.676 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:14:27,842.842 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:14:27,853.853 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:14:27,954.954 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:14:27,957.957 INFO    ] time= 29/08/2026 08:14:27
[2026-08-29 08:14:27,959.959 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:14:27,961.961 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:14:28,012.012 INFO    ] No existing commands found in stream
[2026-08-29 08:14:33,021.021 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:14:33,023.023 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-08-29 08:14:35,467.467 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:14:35,468.468 INFO    ] Checking for system updates...
[2026-08-29 08:14:35,489.489 INFO    ] 200
[2026-08-29 08:14:35,490.490 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:14:35,522.522 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:14:35,523.523 INFO    ] No update needed
[2026-08-29 08:14:35,525.525 INFO    ] Checking for camera pi updates...
[2026-08-29 08:14:35,544.544 INFO    ] 200
[2026-08-29 08:14:35,545.545 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:14:35,568.568 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:14:35,753.753 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:14:35,754.754 INFO    ] No camera update needed
[2026-08-29 08:14:35,755.755 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:14:35,757.757 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:14:35,759.759 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:14:35,762.762 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:14:37,801.801 INFO    ] ================================================
[2026-08-29 08:14:37,817.817 INFO    ] Launching Daemon at Sat Aug 29 08:14:37 IST 2026
[2026-08-29 08:14:37,828.828 INFO    ] ================================================
[2026-08-29 08:14:38,196.196 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:14:38
[2026-08-29 08:14:38,660.660 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:14:38,960.960 INFO    ] Initializing speech engine...
[2026-08-29 08:14:38,972.972 INFO    ] 2026-08-29 08:14:38
[2026-08-29 08:14:39,277.277 INFO    ] 2026-08-29 08:14:39
[2026-08-29 08:14:39,365.365 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:14:39,497.497 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:14:39,500.500 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:14:39,658.658 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:14:39,675.675 INFO    ] time= 29/08/2026 08:14:39
[2026-08-29 08:14:39,730.730 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:14:39,784.784 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:14:39,847.847 INFO    ] No existing commands found in stream
[2026-08-29 08:14:44,866.866 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:14:44,874.874 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-08-29 08:14:48,452.452 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:14:48,454.454 INFO    ] Checking for system updates...
[2026-08-29 08:14:48,475.475 INFO    ] 200
[2026-08-29 08:14:48,476.476 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:14:48,506.506 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:14:48,508.508 INFO    ] No update needed
[2026-08-29 08:14:48,509.509 INFO    ] Checking for camera pi updates...
[2026-08-29 08:14:48,530.530 INFO    ] 200
[2026-08-29 08:14:48,532.532 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:14:48,559.559 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:14:48,635.635 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:14:48,636.636 INFO    ] No camera update needed
[2026-08-29 08:14:48,637.637 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:14:48,639.639 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:14:48,642.642 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:14:48,645.645 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:14:50,683.683 INFO    ] ================================================
[2026-08-29 08:14:50,698.698 INFO    ] Launching Daemon at Sat Aug 29 08:14:50 IST 2026
[2026-08-29 08:14:50,709.709 INFO    ] ================================================
[2026-08-29 08:14:51,076.076 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:14:51
[2026-08-29 08:14:51,386.386 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:14:51,627.627 INFO    ] Initializing speech engine...
[2026-08-29 08:14:51,650.650 INFO    ] 2026-08-29 08:14:51
[2026-08-29 08:14:51,907.907 INFO    ] 2026-08-29 08:14:51
[2026-08-29 08:14:51,944.944 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:14:52,117.117 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:14:52,132.132 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:14:52,275.275 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:14:52,284.284 INFO    ] time= 29/08/2026 08:14:52
[2026-08-29 08:14:52,292.292 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:14:52,322.322 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:14:52,442.442 INFO    ] No existing commands found in stream
[2026-08-29 08:14:57,472.472 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:14:57,475.475 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-08-29 08:15:01,403.403 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:15:01,404.404 INFO    ] Checking for system updates...
[2026-08-29 08:15:01,424.424 INFO    ] 200
[2026-08-29 08:15:01,426.426 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:15:01,455.455 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:15:01,457.457 INFO    ] No update needed
[2026-08-29 08:15:01,458.458 INFO    ] Checking for camera pi updates...
[2026-08-29 08:15:01,477.477 INFO    ] 200
[2026-08-29 08:15:01,479.479 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:15:01,511.511 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:15:01,708.708 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:15:01,724.724 INFO    ] No camera update needed
[2026-08-29 08:15:01,728.728 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:15:01,744.744 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:15:01,768.768 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:15:01,791.791 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:15:03,859.859 INFO    ] ================================================
[2026-08-29 08:15:03,874.874 INFO    ] Launching Daemon at Sat Aug 29 08:15:03 IST 2026
[2026-08-29 08:15:03,885.885 INFO    ] ================================================
[2026-08-29 08:15:04,464.464 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:15:04
[2026-08-29 08:15:04,850.850 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:15:05,066.066 INFO    ] Initializing speech engine...
[2026-08-29 08:15:05,076.076 INFO    ] 2026-08-29 08:15:05
[2026-08-29 08:15:05,344.344 INFO    ] 2026-08-29 08:15:05
[2026-08-29 08:15:05,380.380 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:15:05,525.525 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:15:05,532.532 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:15:05,683.683 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:15:05,693.693 INFO    ] time= 29/08/2026 08:15:05
[2026-08-29 08:15:05,698.698 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:15:05,712.712 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:15:05,773.773 INFO    ] No existing commands found in stream
[2026-08-29 08:15:10,785.785 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:15:10,788.788 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-08-29 08:15:12,170.170 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:15:12,171.171 INFO    ] Checking for system updates...
[2026-08-29 08:15:12,192.192 INFO    ] 200
[2026-08-29 08:15:12,193.193 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:15:12,223.223 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:15:12,224.224 INFO    ] No update needed
[2026-08-29 08:15:12,226.226 INFO    ] Checking for camera pi updates...
[2026-08-29 08:15:12,245.245 INFO    ] 200
[2026-08-29 08:15:12,246.246 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:15:12,269.269 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:15:12,394.394 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:15:12,396.396 INFO    ] No camera update needed
[2026-08-29 08:15:12,397.397 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:15:12,398.398 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:15:12,401.401 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:15:12,404.404 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:15:14,443.443 INFO    ] ================================================
[2026-08-29 08:15:14,459.459 INFO    ] Launching Daemon at Sat Aug 29 08:15:14 IST 2026
[2026-08-29 08:15:14,469.469 INFO    ] ================================================
[2026-08-29 08:15:14,799.799 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:15:14
[2026-08-29 08:15:15,119.119 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:15:15,371.371 INFO    ] Initializing speech engine...
[2026-08-29 08:15:15,393.393 INFO    ] 2026-08-29 08:15:15
[2026-08-29 08:15:15,649.649 INFO    ] 2026-08-29 08:15:15
[2026-08-29 08:15:15,683.683 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:15:15,860.860 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:15:15,873.873 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:15:16,013.013 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:15:16,026.026 INFO    ] time= 29/08/2026 08:15:16
[2026-08-29 08:15:16,034.034 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:15:16,054.054 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:15:16,185.185 INFO    ] No existing commands found in stream
[2026-08-29 08:15:21,205.205 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:15:21,207.207 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-08-29 08:15:21,589.589 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:15:21,590.590 INFO    ] Checking for system updates...
[2026-08-29 08:15:21,612.612 INFO    ] 200
[2026-08-29 08:15:21,614.614 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:15:21,644.644 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:15:21,645.645 INFO    ] No update needed
[2026-08-29 08:15:21,647.647 INFO    ] Checking for camera pi updates...
[2026-08-29 08:15:21,665.665 INFO    ] 200
[2026-08-29 08:15:21,667.667 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:15:21,690.690 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:15:21,784.784 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:15:21,785.785 INFO    ] No camera update needed
[2026-08-29 08:15:21,786.786 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:15:21,787.787 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:15:21,790.790 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:15:21,793.793 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:15:23,833.833 INFO    ] ================================================
[2026-08-29 08:15:23,849.849 INFO    ] Launching Daemon at Sat Aug 29 08:15:23 IST 2026
[2026-08-29 08:15:23,859.859 INFO    ] ================================================
[2026-08-29 08:15:24,377.377 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:15:24
[2026-08-29 08:15:24,960.960 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:15:25,222.222 INFO    ] Initializing speech engine...
[2026-08-29 08:15:25,238.238 INFO    ] 2026-08-29 08:15:25
[2026-08-29 08:15:25,494.494 INFO    ] 2026-08-29 08:15:25
[2026-08-29 08:15:25,536.536 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:15:25,706.706 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:15:25,718.718 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:15:25,830.830 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:15:25,835.835 INFO    ] time= 29/08/2026 08:15:25
[2026-08-29 08:15:25,854.854 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:15:25,877.877 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:15:25,947.947 INFO    ] No existing commands found in stream
[2026-08-29 08:15:30,959.959 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:15:30,962.962 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-08-29 08:15:33,964.964 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:15:33,967.967 INFO    ] Checking for system updates...
[2026-08-29 08:15:34,002.002 INFO    ] 200
[2026-08-29 08:15:34,005.005 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:15:34,064.064 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:15:34,066.066 INFO    ] No update needed
[2026-08-29 08:15:34,069.069 INFO    ] Checking for camera pi updates...
[2026-08-29 08:15:34,102.102 INFO    ] 200
[2026-08-29 08:15:34,105.105 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:15:34,145.145 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:15:34,261.261 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:15:34,263.263 INFO    ] No camera update needed
[2026-08-29 08:15:34,266.266 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:15:34,268.268 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:15:34,273.273 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:15:34,278.278 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:15:36,319.319 INFO    ] ================================================
[2026-08-29 08:15:36,336.336 INFO    ] Launching Daemon at Sat Aug 29 08:15:36 IST 2026
[2026-08-29 08:15:36,347.347 INFO    ] ================================================
[2026-08-29 08:15:36,914.914 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:15:36
[2026-08-29 08:15:37,498.498 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:15:37,761.761 INFO    ] Initializing speech engine...
[2026-08-29 08:15:37,779.779 INFO    ] 2026-08-29 08:15:37
[2026-08-29 08:15:38,028.028 INFO    ] 2026-08-29 08:15:38
[2026-08-29 08:15:38,063.063 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:15:38,236.236 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:15:38,247.247 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:15:38,359.359 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:15:38,377.377 INFO    ] time= 29/08/2026 08:15:38
[2026-08-29 08:15:38,397.397 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:15:38,405.405 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:15:38,466.466 INFO    ] No existing commands found in stream
[2026-08-29 08:15:43,476.476 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:15:43,479.479 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-08-29 08:15:44,649.649 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:15:44,652.652 INFO    ] Checking for system updates...
[2026-08-29 08:15:44,687.687 INFO    ] 200
[2026-08-29 08:15:44,690.690 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:15:44,743.743 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:15:44,746.746 INFO    ] No update needed
[2026-08-29 08:15:44,749.749 INFO    ] Checking for camera pi updates...
[2026-08-29 08:15:44,783.783 INFO    ] 200
[2026-08-29 08:15:44,785.785 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:15:44,829.829 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:15:44,928.928 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:15:44,931.931 INFO    ] No camera update needed
[2026-08-29 08:15:44,933.933 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:15:44,935.935 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:15:44,941.941 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:15:44,945.945 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:15:46,987.987 INFO    ] ================================================
[2026-08-29 08:15:47,003.003 INFO    ] Launching Daemon at Sat Aug 29 08:15:46 IST 2026
[2026-08-29 08:15:47,014.014 INFO    ] ================================================
[2026-08-29 08:15:47,518.518 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:15:47
[2026-08-29 08:15:48,118.118 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:15:48,399.399 INFO    ] Initializing speech engine...
[2026-08-29 08:15:48,406.406 INFO    ] 2026-08-29 08:15:48
[2026-08-29 08:15:48,667.667 INFO    ] 2026-08-29 08:15:48
[2026-08-29 08:15:48,722.722 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:15:48,891.891 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:15:48,949.949 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:15:49,088.088 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:15:49,121.121 INFO    ] time= 29/08/2026 08:15:49
[2026-08-29 08:15:49,175.175 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:15:49,223.223 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:15:49,284.284 INFO    ] No existing commands found in stream
[2026-08-29 08:15:54,304.304 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:15:54,306.306 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-08-29 08:15:55,221.221 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:15:55,223.223 INFO    ] Checking for system updates...
[2026-08-29 08:15:55,243.243 INFO    ] 200
[2026-08-29 08:15:55,245.245 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:15:55,274.274 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:15:55,276.276 INFO    ] No update needed
[2026-08-29 08:15:55,277.277 INFO    ] Checking for camera pi updates...
[2026-08-29 08:15:55,297.297 INFO    ] 200
[2026-08-29 08:15:55,298.298 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:15:55,323.323 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:15:55,435.435 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:15:55,436.436 INFO    ] No camera update needed
[2026-08-29 08:15:55,438.438 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:15:55,439.439 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:15:55,442.442 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:15:55,445.445 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:15:57,485.485 INFO    ] ================================================
[2026-08-29 08:15:57,500.500 INFO    ] Launching Daemon at Sat Aug 29 08:15:57 IST 2026
[2026-08-29 08:15:57,511.511 INFO    ] ================================================
[2026-08-29 08:15:57,860.860 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:15:57
[2026-08-29 08:15:58,272.272 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:15:58,519.519 INFO    ] Initializing speech engine...
[2026-08-29 08:15:58,525.525 INFO    ] 2026-08-29 08:15:58
[2026-08-29 08:15:58,801.801 INFO    ] 2026-08-29 08:15:58
[2026-08-29 08:15:58,838.838 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:15:59,016.016 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:15:59,028.028 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:15:59,141.141 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:15:59,160.160 INFO    ] time= 29/08/2026 08:15:59
[2026-08-29 08:15:59,180.180 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:15:59,188.188 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:15:59,257.257 INFO    ] No existing commands found in stream
[2026-08-29 08:16:04,270.270 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:16:04,272.272 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-08-29 08:16:06,454.454 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:16:06,456.456 INFO    ] Checking for system updates...
[2026-08-29 08:16:06,476.476 INFO    ] 200
[2026-08-29 08:16:06,477.477 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:16:06,512.512 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:16:06,514.514 INFO    ] No update needed
[2026-08-29 08:16:06,515.515 INFO    ] Checking for camera pi updates...
[2026-08-29 08:16:06,535.535 INFO    ] 200
[2026-08-29 08:16:06,537.537 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:16:06,560.560 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:16:06,659.659 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:16:06,662.662 INFO    ] No camera update needed
[2026-08-29 08:16:06,664.664 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:16:06,667.667 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:16:06,672.672 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:16:06,677.677 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:16:08,719.719 INFO    ] ================================================
[2026-08-29 08:16:08,735.735 INFO    ] Launching Daemon at Sat Aug 29 08:16:08 IST 2026
[2026-08-29 08:16:08,746.746 INFO    ] ================================================
[2026-08-29 08:16:09,405.405 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:16:09
[2026-08-29 08:16:09,928.928 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:16:10,083.083 INFO    ] Initializing speech engine...
[2026-08-29 08:16:10,087.087 INFO    ] 2026-08-29 08:16:10
[2026-08-29 08:16:10,321.321 INFO    ] 2026-08-29 08:16:10
[2026-08-29 08:16:10,376.376 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:16:10,541.541 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:16:10,549.549 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:16:10,724.724 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:16:10,751.751 INFO    ] time= 29/08/2026 08:16:10
[2026-08-29 08:16:10,758.758 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:16:10,779.779 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:16:10,899.899 INFO    ] No existing commands found in stream
[2026-08-29 08:16:15,920.920 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:16:15,924.924 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-08-29 08:16:17,449.449 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:16:17,450.450 INFO    ] Checking for system updates...
[2026-08-29 08:16:17,471.471 INFO    ] 200
[2026-08-29 08:16:17,472.472 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:16:17,502.502 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:16:17,504.504 INFO    ] No update needed
[2026-08-29 08:16:17,505.505 INFO    ] Checking for camera pi updates...
[2026-08-29 08:16:17,525.525 INFO    ] 200
[2026-08-29 08:16:17,527.527 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:16:17,551.551 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:16:17,641.641 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:16:17,643.643 INFO    ] No camera update needed
[2026-08-29 08:16:17,644.644 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:16:17,645.645 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:16:17,648.648 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:16:17,651.651 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:16:19,690.690 INFO    ] ================================================
[2026-08-29 08:16:19,706.706 INFO    ] Launching Daemon at Sat Aug 29 08:16:19 IST 2026
[2026-08-29 08:16:19,717.717 INFO    ] ================================================
[2026-08-29 08:16:20,079.079 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:16:20
[2026-08-29 08:16:20,426.426 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:16:20,681.681 INFO    ] Initializing speech engine...
[2026-08-29 08:16:20,704.704 INFO    ] 2026-08-29 08:16:20
[2026-08-29 08:16:20,959.959 INFO    ] 2026-08-29 08:16:20
[2026-08-29 08:16:20,995.995 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:16:21,174.174 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:16:21,186.186 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:16:21,331.331 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:16:21,340.340 INFO    ] time= 29/08/2026 08:16:21
[2026-08-29 08:16:21,347.347 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:16:21,399.399 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:16:21,506.506 INFO    ] No existing commands found in stream
[2026-08-29 08:16:26,531.531 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:16:26,534.534 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-08-29 08:16:28,414.414 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:16:28,415.415 INFO    ] Checking for system updates...
[2026-08-29 08:16:28,436.436 INFO    ] 200
[2026-08-29 08:16:28,437.437 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:16:28,468.468 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:16:28,470.470 INFO    ] No update needed
[2026-08-29 08:16:28,471.471 INFO    ] Checking for camera pi updates...
[2026-08-29 08:16:28,490.490 INFO    ] 200
[2026-08-29 08:16:28,492.492 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:16:28,515.515 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:16:28,622.622 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:16:28,623.623 INFO    ] No camera update needed
[2026-08-29 08:16:28,624.624 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:16:28,626.626 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:16:28,629.629 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:16:28,631.631 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:16:30,673.673 INFO    ] ================================================
[2026-08-29 08:16:30,688.688 INFO    ] Launching Daemon at Sat Aug 29 08:16:30 IST 2026
[2026-08-29 08:16:30,699.699 INFO    ] ================================================
[2026-08-29 08:16:31,071.071 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:16:31
[2026-08-29 08:16:31,388.388 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:16:31,532.532 INFO    ] Initializing speech engine...
[2026-08-29 08:16:31,537.537 INFO    ] 2026-08-29 08:16:31
[2026-08-29 08:16:31,742.742 INFO    ] 2026-08-29 08:16:31
[2026-08-29 08:16:31,787.787 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:16:31,930.930 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:16:31,951.951 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:16:32,131.131 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:16:32,187.187 INFO    ] time= 29/08/2026 08:16:32
[2026-08-29 08:16:32,194.194 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:16:32,216.216 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:16:32,325.325 INFO    ] No existing commands found in stream
[2026-08-29 08:16:37,351.351 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:16:37,355.355 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-08-29 08:16:39,428.428 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:16:39,429.429 INFO    ] Checking for system updates...
[2026-08-29 08:16:39,450.450 INFO    ] 200
[2026-08-29 08:16:39,451.451 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:16:39,481.481 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:16:39,483.483 INFO    ] No update needed
[2026-08-29 08:16:39,484.484 INFO    ] Checking for camera pi updates...
[2026-08-29 08:16:39,505.505 INFO    ] 200
[2026-08-29 08:16:39,506.506 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:16:39,531.531 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:16:39,734.734 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:16:39,736.736 INFO    ] No camera update needed
[2026-08-29 08:16:39,737.737 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:16:39,738.738 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:16:39,741.741 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:16:39,744.744 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:16:41,785.785 INFO    ] ================================================
[2026-08-29 08:16:41,800.800 INFO    ] Launching Daemon at Sat Aug 29 08:16:41 IST 2026
[2026-08-29 08:16:41,811.811 INFO    ] ================================================
[2026-08-29 08:16:42,160.160 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:16:42
[2026-08-29 08:16:42,701.701 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:16:43,004.004 INFO    ] Initializing speech engine...
[2026-08-29 08:16:43,014.014 INFO    ] 2026-08-29 08:16:43
[2026-08-29 08:16:43,286.286 INFO    ] 2026-08-29 08:16:43
[2026-08-29 08:16:43,322.322 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:16:43,577.577 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:16:43,587.587 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:16:43,727.727 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:16:43,788.788 INFO    ] time= 29/08/2026 08:16:43
[2026-08-29 08:16:43,853.853 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:16:43,866.866 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:16:43,995.995 INFO    ] No existing commands found in stream
[2026-08-29 08:16:49,027.027 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:16:49,030.030 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-08-29 08:16:51,312.312 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:16:51,315.315 INFO    ] Checking for system updates...
[2026-08-29 08:16:51,352.352 INFO    ] 200
[2026-08-29 08:16:51,355.355 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:16:51,409.409 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:16:51,412.412 INFO    ] No update needed
[2026-08-29 08:16:51,415.415 INFO    ] Checking for camera pi updates...
[2026-08-29 08:16:51,453.453 INFO    ] 200
[2026-08-29 08:16:51,456.456 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:16:51,503.503 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:16:51,589.589 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:16:51,592.592 INFO    ] No camera update needed
[2026-08-29 08:16:51,595.595 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:16:51,597.597 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:16:51,603.603 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:16:51,608.608 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:16:53,649.649 INFO    ] ================================================
[2026-08-29 08:16:53,665.665 INFO    ] Launching Daemon at Sat Aug 29 08:16:53 IST 2026
[2026-08-29 08:16:53,676.676 INFO    ] ================================================
[2026-08-29 08:16:54,289.289 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:16:54
[2026-08-29 08:16:54,840.840 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:16:55,121.121 INFO    ] Initializing speech engine...
[2026-08-29 08:16:55,126.126 INFO    ] 2026-08-29 08:16:55
[2026-08-29 08:16:55,389.389 INFO    ] 2026-08-29 08:16:55
[2026-08-29 08:16:55,420.420 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:16:55,597.597 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:16:55,614.614 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:16:55,711.711 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:16:55,718.718 INFO    ] time= 29/08/2026 08:16:55
[2026-08-29 08:16:55,736.736 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:16:55,759.759 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:16:55,830.830 INFO    ] No existing commands found in stream
[2026-08-29 08:17:00,866.866 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:17:00,869.869 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 08:17:01,869.869 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:17:01,873.873 INFO    ] Checking for system updates...
[2026-08-29 08:17:01,953.953 INFO    ] 200
[2026-08-29 08:17:01,956.956 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:17:02,049.049 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:17:02,052.052 INFO    ] No update needed
[2026-08-29 08:17:02,056.056 INFO    ] Checking for camera pi updates...
[2026-08-29 08:17:02,105.105 INFO    ] 200
[2026-08-29 08:17:02,108.108 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:17:02,154.154 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:17:02,251.251 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:17:02,254.254 INFO    ] No camera update needed
[2026-08-29 08:17:02,257.257 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:17:02,260.260 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:17:02,267.267 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:17:02,273.273 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:17:04,315.315 INFO    ] ================================================
[2026-08-29 08:17:04,330.330 INFO    ] Launching Daemon at Sat Aug 29 08:17:04 IST 2026
[2026-08-29 08:17:04,341.341 INFO    ] ================================================
[2026-08-29 08:17:04,879.879 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:17:04
[2026-08-29 08:17:05,322.322 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:17:05,583.583 INFO    ] Initializing speech engine...
[2026-08-29 08:17:05,589.589 INFO    ] 2026-08-29 08:17:05
[2026-08-29 08:17:05,879.879 INFO    ] 2026-08-29 08:17:05
[2026-08-29 08:17:05,917.917 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:17:06,111.111 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:17:06,126.126 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:17:06,247.247 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:17:06,256.256 INFO    ] time= 29/08/2026 08:17:06
[2026-08-29 08:17:06,275.275 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:17:06,295.295 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:17:06,384.384 INFO    ] No existing commands found in stream
[2026-08-29 08:17:11,394.394 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:17:11,397.397 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-08-29 08:17:15,795.795 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:17:15,797.797 INFO    ] Checking for system updates...
[2026-08-29 08:17:15,818.818 INFO    ] 200
[2026-08-29 08:17:15,820.820 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:17:15,850.850 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:17:15,851.851 INFO    ] No update needed
[2026-08-29 08:17:15,853.853 INFO    ] Checking for camera pi updates...
[2026-08-29 08:17:15,873.873 INFO    ] 200
[2026-08-29 08:17:15,874.874 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:17:15,898.898 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:17:15,945.945 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:17:15,947.947 INFO    ] No camera update needed
[2026-08-29 08:17:15,948.948 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:17:15,949.949 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:17:15,953.953 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:17:15,956.956 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:17:18,997.997 INFO    ] ================================================
[2026-08-29 08:17:18,012.012 INFO    ] Launching Daemon at Sat Aug 29 08:17:18 IST 2026
[2026-08-29 08:17:18,023.023 INFO    ] ================================================
[2026-08-29 08:17:18,397.397 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:17:18
[2026-08-29 08:17:18,710.710 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:17:18,896.896 INFO    ] Initializing speech engine...
[2026-08-29 08:17:18,911.911 INFO    ] 2026-08-29 08:17:18
[2026-08-29 08:17:19,185.185 INFO    ] 2026-08-29 08:17:19
[2026-08-29 08:17:19,248.248 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:17:19,406.406 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:17:19,420.420 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:17:19,544.544 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:17:19,549.549 INFO    ] time= 29/08/2026 08:17:19
[2026-08-29 08:17:19,570.570 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:17:19,594.594 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:17:19,672.672 INFO    ] No existing commands found in stream
[2026-08-29 08:17:24,685.685 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:17:24,688.688 INFO    ] Waiting 2.66 seconds before fallback handling...
[2026-08-29 08:17:27,670.670 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:17:27,672.672 INFO    ] Checking for system updates...
[2026-08-29 08:17:27,693.693 INFO    ] 200
[2026-08-29 08:17:27,694.694 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:17:27,726.726 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:17:27,727.727 INFO    ] No update needed
[2026-08-29 08:17:27,728.728 INFO    ] Checking for camera pi updates...
[2026-08-29 08:17:27,747.747 INFO    ] 200
[2026-08-29 08:17:27,749.749 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:17:27,771.771 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:17:27,857.857 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:17:27,858.858 INFO    ] No camera update needed
[2026-08-29 08:17:27,860.860 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:17:27,861.861 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:17:27,864.864 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:17:27,866.866 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:17:29,905.905 INFO    ] ================================================
[2026-08-29 08:17:29,920.920 INFO    ] Launching Daemon at Sat Aug 29 08:17:29 IST 2026
[2026-08-29 08:17:29,930.930 INFO    ] ================================================
[2026-08-29 08:17:30,280.280 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:17:30
[2026-08-29 08:17:30,594.594 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:17:30,798.798 INFO    ] Initializing speech engine...
[2026-08-29 08:17:30,823.823 INFO    ] 2026-08-29 08:17:30
[2026-08-29 08:17:31,095.095 INFO    ] 2026-08-29 08:17:31
[2026-08-29 08:17:31,130.130 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:17:31,322.322 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:17:31,328.328 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:17:31,439.439 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:17:31,461.461 INFO    ] time= 29/08/2026 08:17:31
[2026-08-29 08:17:31,467.467 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:17:31,474.474 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:17:31,543.543 INFO    ] No existing commands found in stream
[2026-08-29 08:17:36,573.573 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:17:36,576.576 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-08-29 08:17:40,729.729 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:17:40,731.731 INFO    ] Checking for system updates...
[2026-08-29 08:17:40,754.754 INFO    ] 200
[2026-08-29 08:17:40,756.756 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:17:40,810.810 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:17:40,812.812 INFO    ] No update needed
[2026-08-29 08:17:40,815.815 INFO    ] Checking for camera pi updates...
[2026-08-29 08:17:40,852.852 INFO    ] 200
[2026-08-29 08:17:40,854.854 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:17:40,899.899 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:17:40,985.985 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:17:40,987.987 INFO    ] No camera update needed
[2026-08-29 08:17:40,990.990 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:17:40,992.992 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:17:40,997.997 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:17:41,002.002 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:17:43,041.041 INFO    ] ================================================
[2026-08-29 08:17:43,057.057 INFO    ] Launching Daemon at Sat Aug 29 08:17:43 IST 2026
[2026-08-29 08:17:43,067.067 INFO    ] ================================================
[2026-08-29 08:17:43,651.651 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:17:43
[2026-08-29 08:17:44,069.069 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:17:44,210.210 INFO    ] Initializing speech engine...
[2026-08-29 08:17:44,221.221 INFO    ] 2026-08-29 08:17:44
[2026-08-29 08:17:44,434.434 INFO    ] 2026-08-29 08:17:44
[2026-08-29 08:17:44,464.464 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:17:44,597.597 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:17:44,654.654 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:17:44,805.805 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:17:44,847.847 INFO    ] time= 29/08/2026 08:17:44
[2026-08-29 08:17:44,890.890 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:17:44,913.913 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:17:44,988.988 INFO    ] No existing commands found in stream
[2026-08-29 08:17:49,999.999 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:17:50,002.002 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-08-29 08:17:55,246.246 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:17:55,249.249 INFO    ] Checking for system updates...
[2026-08-29 08:17:55,284.284 INFO    ] 200
[2026-08-29 08:17:55,287.287 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:17:55,343.343 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:17:55,345.345 INFO    ] No update needed
[2026-08-29 08:17:55,348.348 INFO    ] Checking for camera pi updates...
[2026-08-29 08:17:55,382.382 INFO    ] 200
[2026-08-29 08:17:55,385.385 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:17:55,425.425 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:17:55,533.533 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:17:55,535.535 INFO    ] No camera update needed
[2026-08-29 08:17:55,537.537 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:17:55,540.540 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:17:55,545.545 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:17:55,550.550 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:17:57,583.583 INFO    ] ================================================
[2026-08-29 08:17:57,598.598 INFO    ] Launching Daemon at Sat Aug 29 08:17:57 IST 2026
[2026-08-29 08:17:57,609.609 INFO    ] ================================================
[2026-08-29 08:17:57,968.968 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:17:57
[2026-08-29 08:17:58,638.638 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:17:58,941.941 INFO    ] Initializing speech engine...
[2026-08-29 08:17:58,950.950 INFO    ] 2026-08-29 08:17:58
[2026-08-29 08:17:59,225.225 INFO    ] 2026-08-29 08:17:59
[2026-08-29 08:17:59,276.276 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:17:59,505.505 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:17:59,514.514 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:17:59,650.650 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:17:59,704.704 INFO    ] time= 29/08/2026 08:17:59
[2026-08-29 08:17:59,735.735 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:17:59,739.739 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:17:59,826.826 INFO    ] No existing commands found in stream
[2026-08-29 08:18:04,860.860 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:18:04,863.863 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 08:18:07,230.230 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:18:07,232.232 INFO    ] Checking for system updates...
[2026-08-29 08:18:07,254.254 INFO    ] 200
[2026-08-29 08:18:07,255.255 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:18:07,285.285 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:18:07,287.287 INFO    ] No update needed
[2026-08-29 08:18:07,288.288 INFO    ] Checking for camera pi updates...
[2026-08-29 08:18:07,309.309 INFO    ] 200
[2026-08-29 08:18:07,311.311 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:18:07,335.335 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:18:07,386.386 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:18:07,387.387 INFO    ] No camera update needed
[2026-08-29 08:18:07,389.389 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:18:07,390.390 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:18:07,393.393 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:18:07,396.396 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:18:09,434.434 INFO    ] ================================================
[2026-08-29 08:18:09,448.448 INFO    ] Launching Daemon at Sat Aug 29 08:18:09 IST 2026
[2026-08-29 08:18:09,459.459 INFO    ] ================================================
[2026-08-29 08:18:09,807.807 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:18:09
[2026-08-29 08:18:10,119.119 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:18:10,262.262 INFO    ] Initializing speech engine...
[2026-08-29 08:18:10,268.268 INFO    ] 2026-08-29 08:18:10
[2026-08-29 08:18:10,473.473 INFO    ] 2026-08-29 08:18:10
[2026-08-29 08:18:10,511.511 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:18:10,675.675 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:18:10,683.683 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:18:10,843.843 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:18:10,887.887 INFO    ] time= 29/08/2026 08:18:10
[2026-08-29 08:18:10,893.893 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:18:10,914.914 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:18:11,018.018 INFO    ] No existing commands found in stream
[2026-08-29 08:18:16,048.048 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:18:16,051.051 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-08-29 08:18:19,160.160 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:18:19,161.161 INFO    ] Checking for system updates...
[2026-08-29 08:18:19,182.182 INFO    ] 200
[2026-08-29 08:18:19,184.184 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:18:19,214.214 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:18:19,215.215 INFO    ] No update needed
[2026-08-29 08:18:19,216.216 INFO    ] Checking for camera pi updates...
[2026-08-29 08:18:19,236.236 INFO    ] 200
[2026-08-29 08:18:19,238.238 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:18:19,260.260 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:18:19,341.341 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:18:19,344.344 INFO    ] No camera update needed
[2026-08-29 08:18:19,346.346 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:18:19,348.348 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:18:19,354.354 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:18:19,358.358 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:18:21,400.400 INFO    ] ================================================
[2026-08-29 08:18:21,415.415 INFO    ] Launching Daemon at Sat Aug 29 08:18:21 IST 2026
[2026-08-29 08:18:21,425.425 INFO    ] ================================================
[2026-08-29 08:18:21,990.990 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:18:21
[2026-08-29 08:18:22,487.487 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:18:22,756.756 INFO    ] Initializing speech engine...
[2026-08-29 08:18:22,764.764 INFO    ] 2026-08-29 08:18:22
[2026-08-29 08:18:23,011.011 INFO    ] 2026-08-29 08:18:23
[2026-08-29 08:18:23,046.046 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:18:23,219.219 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:18:23,232.232 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:18:23,358.358 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:18:23,378.378 INFO    ] time= 29/08/2026 08:18:23
[2026-08-29 08:18:23,387.387 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:18:23,393.393 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:18:23,457.457 INFO    ] No existing commands found in stream
[2026-08-29 08:18:28,469.469 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:18:28,472.472 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-08-29 08:18:32,777.777 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:18:32,779.779 INFO    ] Checking for system updates...
[2026-08-29 08:18:32,815.815 INFO    ] 200
[2026-08-29 08:18:32,818.818 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:18:32,878.878 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:18:32,880.880 INFO    ] No update needed
[2026-08-29 08:18:32,883.883 INFO    ] Checking for camera pi updates...
[2026-08-29 08:18:32,920.920 INFO    ] 200
[2026-08-29 08:18:32,922.922 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:18:32,963.963 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:18:33,044.044 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:18:33,046.046 INFO    ] No camera update needed
[2026-08-29 08:18:33,048.048 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:18:33,050.050 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:18:33,056.056 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:18:33,061.061 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:18:35,102.102 INFO    ] ================================================
[2026-08-29 08:18:35,117.117 INFO    ] Launching Daemon at Sat Aug 29 08:18:35 IST 2026
[2026-08-29 08:18:35,127.127 INFO    ] ================================================
[2026-08-29 08:18:35,506.506 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:18:35
[2026-08-29 08:18:35,844.844 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:18:36,126.126 INFO    ] Initializing speech engine...
[2026-08-29 08:18:36,132.132 INFO    ] 2026-08-29 08:18:36
[2026-08-29 08:18:36,378.378 INFO    ] 2026-08-29 08:18:36
[2026-08-29 08:18:36,415.415 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:18:36,589.589 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:18:36,601.601 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:18:36,743.743 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:18:36,751.751 INFO    ] time= 29/08/2026 08:18:36
[2026-08-29 08:18:36,760.760 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:18:36,820.820 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:18:36,925.925 INFO    ] No existing commands found in stream
[2026-08-29 08:18:41,956.956 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:18:41,959.959 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 08:18:44,241.241 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:18:44,243.243 INFO    ] Checking for system updates...
[2026-08-29 08:18:44,264.264 INFO    ] 200
[2026-08-29 08:18:44,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:18:44,297.297 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:18:44,298.298 INFO    ] No update needed
[2026-08-29 08:18:44,299.299 INFO    ] Checking for camera pi updates...
[2026-08-29 08:18:44,318.318 INFO    ] 200
[2026-08-29 08:18:44,320.320 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:18:44,343.343 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:18:44,542.542 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:18:44,544.544 INFO    ] No camera update needed
[2026-08-29 08:18:44,547.547 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:18:44,549.549 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:18:44,554.554 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:18:44,559.559 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:18:46,599.599 INFO    ] ================================================
[2026-08-29 08:18:46,614.614 INFO    ] Launching Daemon at Sat Aug 29 08:18:46 IST 2026
[2026-08-29 08:18:46,624.624 INFO    ] ================================================
[2026-08-29 08:18:47,273.273 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:18:47
[2026-08-29 08:18:47,782.782 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:18:47,934.934 INFO    ] Initializing speech engine...
[2026-08-29 08:18:47,939.939 INFO    ] 2026-08-29 08:18:47
[2026-08-29 08:18:48,145.145 INFO    ] 2026-08-29 08:18:48
[2026-08-29 08:18:48,175.175 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:18:48,298.298 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:18:48,360.360 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:18:48,499.499 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:18:48,554.554 INFO    ] time= 29/08/2026 08:18:48
[2026-08-29 08:18:48,610.610 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:18:48,653.653 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:18:48,784.784 INFO    ] No existing commands found in stream
[2026-08-29 08:18:53,810.810 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:18:53,814.814 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-08-29 08:18:57,096.096 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:18:57,098.098 INFO    ] Checking for system updates...
[2026-08-29 08:18:57,134.134 INFO    ] 200
[2026-08-29 08:18:57,136.136 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:18:57,194.194 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:18:57,196.196 INFO    ] No update needed
[2026-08-29 08:18:57,197.197 INFO    ] Checking for camera pi updates...
[2026-08-29 08:18:57,216.216 INFO    ] 200
[2026-08-29 08:18:57,218.218 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:18:57,241.241 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:18:57,318.318 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:18:57,319.319 INFO    ] No camera update needed
[2026-08-29 08:18:57,321.321 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:18:57,322.322 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:18:57,325.325 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:18:57,327.327 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:18:59,365.365 INFO    ] ================================================
[2026-08-29 08:18:59,380.380 INFO    ] Launching Daemon at Sat Aug 29 08:18:59 IST 2026
[2026-08-29 08:18:59,391.391 INFO    ] ================================================
[2026-08-29 08:18:59,751.751 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:18:59
[2026-08-29 08:19:00,064.064 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:19:00,196.196 INFO    ] Initializing speech engine...
[2026-08-29 08:19:00,201.201 INFO    ] 2026-08-29 08:19:00
[2026-08-29 08:19:00,428.428 INFO    ] 2026-08-29 08:19:00
[2026-08-29 08:19:00,459.459 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:19:00,585.585 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:19:00,589.589 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:19:00,746.746 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:19:00,790.790 INFO    ] time= 29/08/2026 08:19:00
[2026-08-29 08:19:00,817.817 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:19:00,823.823 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:19:00,908.908 INFO    ] No existing commands found in stream
[2026-08-29 08:19:05,940.940 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:19:05,943.943 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-08-29 08:19:06,483.483 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:19:06,486.486 INFO    ] Checking for system updates...
[2026-08-29 08:19:06,521.521 INFO    ] 200
[2026-08-29 08:19:06,524.524 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:19:06,584.584 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:19:06,586.586 INFO    ] No update needed
[2026-08-29 08:19:06,588.588 INFO    ] Checking for camera pi updates...
[2026-08-29 08:19:06,623.623 INFO    ] 200
[2026-08-29 08:19:06,625.625 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:19:06,669.669 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:19:06,777.777 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:19:06,780.780 INFO    ] No camera update needed
[2026-08-29 08:19:06,782.782 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:19:06,784.784 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:19:06,790.790 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:19:06,795.795 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:19:08,835.835 INFO    ] ================================================
[2026-08-29 08:19:08,851.851 INFO    ] Launching Daemon at Sat Aug 29 08:19:08 IST 2026
[2026-08-29 08:19:08,862.862 INFO    ] ================================================
[2026-08-29 08:19:09,432.432 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:19:09
[2026-08-29 08:19:09,776.776 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:19:09,914.914 INFO    ] Initializing speech engine...
[2026-08-29 08:19:09,922.922 INFO    ] 2026-08-29 08:19:09
[2026-08-29 08:19:10,128.128 INFO    ] 2026-08-29 08:19:10
[2026-08-29 08:19:10,158.158 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:19:10,280.280 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:19:10,288.288 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:19:10,440.440 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:19:10,490.490 INFO    ] time= 29/08/2026 08:19:10
[2026-08-29 08:19:10,497.497 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:19:10,515.515 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:19:10,634.634 INFO    ] No existing commands found in stream
[2026-08-29 08:19:15,656.656 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:19:15,659.659 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-08-29 08:19:18,894.894 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:19:18,896.896 INFO    ] Checking for system updates...
[2026-08-29 08:19:18,917.917 INFO    ] 200
[2026-08-29 08:19:18,918.918 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:19:18,951.951 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:19:18,952.952 INFO    ] No update needed
[2026-08-29 08:19:18,954.954 INFO    ] Checking for camera pi updates...
[2026-08-29 08:19:18,977.977 INFO    ] 200
[2026-08-29 08:19:18,979.979 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:19:19,002.002 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:19:19,095.095 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:19:19,096.096 INFO    ] No camera update needed
[2026-08-29 08:19:19,098.098 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:19:19,099.099 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:19:19,102.102 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:19:19,105.105 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:19:21,147.147 INFO    ] ================================================
[2026-08-29 08:19:21,162.162 INFO    ] Launching Daemon at Sat Aug 29 08:19:21 IST 2026
[2026-08-29 08:19:21,173.173 INFO    ] ================================================
[2026-08-29 08:19:21,529.529 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:19:21
[2026-08-29 08:19:21,861.861 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:19:22,010.010 INFO    ] Initializing speech engine...
[2026-08-29 08:19:22,015.015 INFO    ] 2026-08-29 08:19:22
[2026-08-29 08:19:22,205.205 INFO    ] 2026-08-29 08:19:22
[2026-08-29 08:19:22,237.237 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:19:22,384.384 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:19:22,416.416 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:19:22,567.567 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:19:22,569.569 INFO    ] time= 29/08/2026 08:19:22
[2026-08-29 08:19:22,596.596 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:19:22,658.658 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:19:22,750.750 INFO    ] No existing commands found in stream
[2026-08-29 08:19:27,761.761 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:19:27,764.764 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-08-29 08:19:29,646.646 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:19:29,648.648 INFO    ] Checking for system updates...
[2026-08-29 08:19:29,670.670 INFO    ] 200
[2026-08-29 08:19:29,672.672 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:19:29,704.704 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:19:29,705.705 INFO    ] No update needed
[2026-08-29 08:19:29,707.707 INFO    ] Checking for camera pi updates...
[2026-08-29 08:19:29,727.727 INFO    ] 200
[2026-08-29 08:19:29,728.728 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:19:29,751.751 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:19:29,827.827 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:19:29,828.828 INFO    ] No camera update needed
[2026-08-29 08:19:29,830.830 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:19:29,831.831 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:19:29,834.834 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:19:29,837.837 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:19:31,872.872 INFO    ] ================================================
[2026-08-29 08:19:31,882.882 INFO    ] Launching Daemon at Sat Aug 29 08:19:31 IST 2026
[2026-08-29 08:19:31,888.888 INFO    ] ================================================
[2026-08-29 08:19:32,510.510 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:19:32
[2026-08-29 08:19:33,102.102 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:19:33,378.378 INFO    ] Initializing speech engine...
[2026-08-29 08:19:33,385.385 INFO    ] 2026-08-29 08:19:33
[2026-08-29 08:19:33,647.647 INFO    ] 2026-08-29 08:19:33
[2026-08-29 08:19:33,701.701 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:19:33,845.845 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:19:33,868.868 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:19:33,997.997 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:19:34,005.005 INFO    ] time= 29/08/2026 08:19:33
[2026-08-29 08:19:34,011.011 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:19:34,042.042 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:19:34,147.147 INFO    ] No existing commands found in stream
[2026-08-29 08:19:39,172.172 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:19:39,175.175 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 08:19:40,122.122 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:19:40,124.124 INFO    ] Checking for system updates...
[2026-08-29 08:19:40,145.145 INFO    ] 200
[2026-08-29 08:19:40,147.147 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:19:40,179.179 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:19:40,180.180 INFO    ] No update needed
[2026-08-29 08:19:40,181.181 INFO    ] Checking for camera pi updates...
[2026-08-29 08:19:40,202.202 INFO    ] 200
[2026-08-29 08:19:40,203.203 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:19:40,227.227 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:19:40,313.313 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:19:40,316.316 INFO    ] No camera update needed
[2026-08-29 08:19:40,318.318 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:19:40,321.321 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:19:40,327.327 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:19:40,333.333 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:19:42,378.378 INFO    ] ================================================
[2026-08-29 08:19:42,393.393 INFO    ] Launching Daemon at Sat Aug 29 08:19:42 IST 2026
[2026-08-29 08:19:42,404.404 INFO    ] ================================================
[2026-08-29 08:19:43,053.053 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:19:43
[2026-08-29 08:19:43,530.530 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:19:43,663.663 INFO    ] Initializing speech engine...
[2026-08-29 08:19:43,676.676 INFO    ] 2026-08-29 08:19:43
[2026-08-29 08:19:43,886.886 INFO    ] 2026-08-29 08:19:43
[2026-08-29 08:19:43,965.965 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:19:44,118.118 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:19:44,127.127 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:19:44,263.263 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:19:44,333.333 INFO    ] time= 29/08/2026 08:19:44
[2026-08-29 08:19:44,387.387 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:19:44,398.398 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:19:44,513.513 INFO    ] No existing commands found in stream
[2026-08-29 08:19:49,544.544 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:19:49,546.546 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-08-29 08:19:52,696.696 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:19:52,697.697 INFO    ] Checking for system updates...
[2026-08-29 08:19:52,718.718 INFO    ] 200
[2026-08-29 08:19:52,719.719 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:19:52,750.750 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:19:52,751.751 INFO    ] No update needed
[2026-08-29 08:19:52,753.753 INFO    ] Checking for camera pi updates...
[2026-08-29 08:19:52,774.774 INFO    ] 200
[2026-08-29 08:19:52,775.775 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:19:52,798.798 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:19:52,877.877 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:19:52,879.879 INFO    ] No camera update needed
[2026-08-29 08:19:52,880.880 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:19:52,881.881 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:19:52,884.884 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:19:52,887.887 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:19:54,926.926 INFO    ] ================================================
[2026-08-29 08:19:54,941.941 INFO    ] Launching Daemon at Sat Aug 29 08:19:54 IST 2026
[2026-08-29 08:19:54,952.952 INFO    ] ================================================
[2026-08-29 08:19:55,316.316 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:19:55
[2026-08-29 08:19:55,655.655 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:19:55,801.801 INFO    ] Initializing speech engine...
[2026-08-29 08:19:55,810.810 INFO    ] 2026-08-29 08:19:55
[2026-08-29 08:19:56,020.020 INFO    ] 2026-08-29 08:19:56
[2026-08-29 08:19:56,049.049 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:19:56,192.192 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:19:56,238.238 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:19:56,409.409 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:19:56,446.446 INFO    ] time= 29/08/2026 08:19:56
[2026-08-29 08:19:56,511.511 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:19:56,566.566 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:19:56,653.653 INFO    ] No existing commands found in stream
[2026-08-29 08:20:01,666.666 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:20:01,671.671 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-08-29 08:20:08,835.835 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:20:08,838.838 INFO    ] Checking for system updates...
[2026-08-29 08:20:08,875.875 INFO    ] 200
[2026-08-29 08:20:08,877.877 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:20:08,937.937 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:20:08,939.939 INFO    ] No update needed
[2026-08-29 08:20:08,944.944 INFO    ] Checking for camera pi updates...
[2026-08-29 08:20:08,980.980 INFO    ] 200
[2026-08-29 08:20:08,983.983 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:20:09,027.027 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:20:09,144.144 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:20:09,146.146 INFO    ] No camera update needed
[2026-08-29 08:20:09,148.148 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:20:09,150.150 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:20:09,156.156 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:20:09,161.161 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:20:11,202.202 INFO    ] ================================================
[2026-08-29 08:20:11,216.216 INFO    ] Launching Daemon at Sat Aug 29 08:20:11 IST 2026
[2026-08-29 08:20:11,227.227 INFO    ] ================================================
[2026-08-29 08:20:11,604.604 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:20:11
[2026-08-29 08:20:11,922.922 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:20:12,065.065 INFO    ] Initializing speech engine...
[2026-08-29 08:20:12,071.071 INFO    ] 2026-08-29 08:20:12
[2026-08-29 08:20:12,273.273 INFO    ] 2026-08-29 08:20:12
[2026-08-29 08:20:12,301.301 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:20:12,484.484 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:20:12,494.494 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:20:12,623.623 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:20:12,693.693 INFO    ] time= 29/08/2026 08:20:12
[2026-08-29 08:20:12,717.717 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:20:12,724.724 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:20:12,790.790 INFO    ] No existing commands found in stream
[2026-08-29 08:20:17,805.805 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:20:17,807.807 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-08-29 08:20:19,432.432 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:20:19,433.433 INFO    ] Checking for system updates...
[2026-08-29 08:20:19,455.455 INFO    ] 200
[2026-08-29 08:20:19,456.456 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:20:19,488.488 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:20:19,490.490 INFO    ] No update needed
[2026-08-29 08:20:19,491.491 INFO    ] Checking for camera pi updates...
[2026-08-29 08:20:19,513.513 INFO    ] 200
[2026-08-29 08:20:19,515.515 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:20:19,539.539 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:20:19,627.627 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:20:19,629.629 INFO    ] No camera update needed
[2026-08-29 08:20:19,630.630 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:20:19,631.631 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:20:19,635.635 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:20:19,638.638 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:20:21,677.677 INFO    ] ================================================
[2026-08-29 08:20:21,693.693 INFO    ] Launching Daemon at Sat Aug 29 08:20:21 IST 2026
[2026-08-29 08:20:21,703.703 INFO    ] ================================================
[2026-08-29 08:20:22,293.293 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:20:22
[2026-08-29 08:20:22,909.909 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:20:23,207.207 INFO    ] Initializing speech engine...
[2026-08-29 08:20:23,214.214 INFO    ] 2026-08-29 08:20:23
[2026-08-29 08:20:23,489.489 INFO    ] 2026-08-29 08:20:23
[2026-08-29 08:20:23,546.546 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:20:23,730.730 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:20:23,742.742 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:20:23,869.869 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:20:23,926.926 INFO    ] time= 29/08/2026 08:20:23
[2026-08-29 08:20:23,973.973 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:20:24,022.022 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:20:24,111.111 INFO    ] No existing commands found in stream
[2026-08-29 08:20:29,123.123 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:20:29,126.126 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-08-29 08:20:31,205.205 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:20:31,206.206 INFO    ] Checking for system updates...
[2026-08-29 08:20:31,227.227 INFO    ] 200
[2026-08-29 08:20:31,229.229 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:20:31,258.258 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:20:31,260.260 INFO    ] No update needed
[2026-08-29 08:20:31,261.261 INFO    ] Checking for camera pi updates...
[2026-08-29 08:20:31,280.280 INFO    ] 200
[2026-08-29 08:20:31,282.282 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:20:31,305.305 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:20:31,392.392 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:20:31,394.394 INFO    ] No camera update needed
[2026-08-29 08:20:31,395.395 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:20:31,396.396 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:20:31,399.399 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:20:31,402.402 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:20:33,440.440 INFO    ] ================================================
[2026-08-29 08:20:33,456.456 INFO    ] Launching Daemon at Sat Aug 29 08:20:33 IST 2026
[2026-08-29 08:20:33,466.466 INFO    ] ================================================
[2026-08-29 08:20:34,114.114 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:20:34
[2026-08-29 08:20:34,708.708 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:20:34,860.860 INFO    ] Initializing speech engine...
[2026-08-29 08:20:34,866.866 INFO    ] 2026-08-29 08:20:34
[2026-08-29 08:20:35,108.108 INFO    ] 2026-08-29 08:20:35
[2026-08-29 08:20:35,166.166 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:20:35,334.334 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:20:35,339.339 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:20:35,508.508 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:20:35,539.539 INFO    ] time= 29/08/2026 08:20:35
[2026-08-29 08:20:35,561.561 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:20:35,590.590 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:20:35,694.694 INFO    ] No existing commands found in stream
[2026-08-29 08:20:40,709.709 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:20:40,713.713 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-08-29 08:20:44,412.412 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:20:44,414.414 INFO    ] Checking for system updates...
[2026-08-29 08:20:44,436.436 INFO    ] 200
[2026-08-29 08:20:44,438.438 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:20:44,471.471 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:20:44,472.472 INFO    ] No update needed
[2026-08-29 08:20:44,474.474 INFO    ] Checking for camera pi updates...
[2026-08-29 08:20:44,494.494 INFO    ] 200
[2026-08-29 08:20:44,495.495 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:20:44,519.519 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:20:44,594.594 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:20:44,596.596 INFO    ] No camera update needed
[2026-08-29 08:20:44,597.597 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:20:44,598.598 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:20:44,601.601 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:20:44,604.604 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:20:46,644.644 INFO    ] ================================================
[2026-08-29 08:20:46,660.660 INFO    ] Launching Daemon at Sat Aug 29 08:20:46 IST 2026
[2026-08-29 08:20:46,670.670 INFO    ] ================================================
[2026-08-29 08:20:47,188.188 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:20:47
[2026-08-29 08:20:47,788.788 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:20:48,062.062 INFO    ] Initializing speech engine...
[2026-08-29 08:20:48,072.072 INFO    ] 2026-08-29 08:20:48
[2026-08-29 08:20:48,335.335 INFO    ] 2026-08-29 08:20:48
[2026-08-29 08:20:48,388.388 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:20:48,611.611 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:20:48,620.620 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:20:48,754.754 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:20:48,779.779 INFO    ] time= 29/08/2026 08:20:48
[2026-08-29 08:20:48,782.782 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:20:48,832.832 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:20:48,910.910 INFO    ] No existing commands found in stream
[2026-08-29 08:20:53,926.926 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:20:53,929.929 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 08:20:57,799.799 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:20:57,800.800 INFO    ] Checking for system updates...
[2026-08-29 08:20:57,823.823 INFO    ] 200
[2026-08-29 08:20:57,825.825 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:20:57,860.860 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:20:57,861.861 INFO    ] No update needed
[2026-08-29 08:20:57,863.863 INFO    ] Checking for camera pi updates...
[2026-08-29 08:20:57,885.885 INFO    ] 200
[2026-08-29 08:20:57,886.886 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:20:57,910.910 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:20:58,088.088 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:20:58,090.090 INFO    ] No camera update needed
[2026-08-29 08:20:58,094.094 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:20:58,096.096 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:20:58,102.102 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:20:58,108.108 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:21:00,141.141 INFO    ] ================================================
[2026-08-29 08:21:00,152.152 INFO    ] Launching Daemon at Sat Aug 29 08:21:00 IST 2026
[2026-08-29 08:21:00,163.163 INFO    ] ================================================
[2026-08-29 08:21:00,779.779 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:21:00
[2026-08-29 08:21:01,397.397 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:21:01,896.896 INFO    ] Initializing speech engine...
[2026-08-29 08:21:01,901.901 INFO    ] 2026-08-29 08:21:01
[2026-08-29 08:21:02,342.342 INFO    ] 2026-08-29 08:21:02
[2026-08-29 08:21:02,388.388 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:21:02,572.572 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:21:02,580.580 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:21:02,702.702 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:21:02,753.753 INFO    ] time= 29/08/2026 08:21:02
[2026-08-29 08:21:02,808.808 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:21:02,843.843 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:21:02,898.898 INFO    ] No existing commands found in stream
[2026-08-29 08:21:07,911.911 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:21:07,914.914 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-08-29 08:21:10,148.148 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:21:10,150.150 INFO    ] Checking for system updates...
[2026-08-29 08:21:10,172.172 INFO    ] 200
[2026-08-29 08:21:10,173.173 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:21:10,203.203 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:21:10,204.204 INFO    ] No update needed
[2026-08-29 08:21:10,205.205 INFO    ] Checking for camera pi updates...
[2026-08-29 08:21:10,225.225 INFO    ] 200
[2026-08-29 08:21:10,226.226 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:21:10,250.250 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:21:10,349.349 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:21:10,351.351 INFO    ] No camera update needed
[2026-08-29 08:21:10,352.352 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:21:10,353.353 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:21:10,356.356 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:21:10,359.359 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:21:12,398.398 INFO    ] ================================================
[2026-08-29 08:21:12,414.414 INFO    ] Launching Daemon at Sat Aug 29 08:21:12 IST 2026
[2026-08-29 08:21:12,425.425 INFO    ] ================================================
[2026-08-29 08:21:12,798.798 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:21:12
[2026-08-29 08:21:13,116.116 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:21:13,256.256 INFO    ] Initializing speech engine...
[2026-08-29 08:21:13,269.269 INFO    ] 2026-08-29 08:21:13
[2026-08-29 08:21:13,490.490 INFO    ] 2026-08-29 08:21:13
[2026-08-29 08:21:13,521.521 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:21:13,654.654 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:21:13,663.663 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:21:13,814.814 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:21:13,865.865 INFO    ] time= 29/08/2026 08:21:13
[2026-08-29 08:21:13,892.892 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:21:13,954.954 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:21:14,056.056 INFO    ] No existing commands found in stream
[2026-08-29 08:21:19,067.067 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:21:19,070.070 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-08-29 08:21:20,868.868 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:21:20,870.870 INFO    ] Checking for system updates...
[2026-08-29 08:21:20,892.892 INFO    ] 200
[2026-08-29 08:21:20,893.893 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:21:20,925.925 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:21:20,927.927 INFO    ] No update needed
[2026-08-29 08:21:20,928.928 INFO    ] Checking for camera pi updates...
[2026-08-29 08:21:20,947.947 INFO    ] 200
[2026-08-29 08:21:20,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:21:20,972.972 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:21:21,056.056 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:21:21,058.058 INFO    ] No camera update needed
[2026-08-29 08:21:21,061.061 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:21:21,063.063 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:21:21,068.068 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:21:21,074.074 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:21:23,113.113 INFO    ] ================================================
[2026-08-29 08:21:23,129.129 INFO    ] Launching Daemon at Sat Aug 29 08:21:23 IST 2026
[2026-08-29 08:21:23,140.140 INFO    ] ================================================
[2026-08-29 08:21:23,808.808 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:21:23
[2026-08-29 08:21:24,321.321 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:21:24,474.474 INFO    ] Initializing speech engine...
[2026-08-29 08:21:24,480.480 INFO    ] 2026-08-29 08:21:24
[2026-08-29 08:21:24,692.692 INFO    ] 2026-08-29 08:21:24
[2026-08-29 08:21:24,721.721 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:21:24,845.845 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:21:24,909.909 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:21:25,050.050 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:21:25,119.119 INFO    ] time= 29/08/2026 08:21:25
[2026-08-29 08:21:25,142.142 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:21:25,149.149 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:21:25,216.216 INFO    ] No existing commands found in stream
[2026-08-29 08:21:30,227.227 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:21:30,230.230 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-08-29 08:21:31,074.074 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:21:31,076.076 INFO    ] Checking for system updates...
[2026-08-29 08:21:31,098.098 INFO    ] 200
[2026-08-29 08:21:31,099.099 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:21:31,129.129 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:21:31,130.130 INFO    ] No update needed
[2026-08-29 08:21:31,132.132 INFO    ] Checking for camera pi updates...
[2026-08-29 08:21:31,151.151 INFO    ] 200
[2026-08-29 08:21:31,153.153 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:21:31,175.175 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:21:31,251.251 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:21:31,253.253 INFO    ] No camera update needed
[2026-08-29 08:21:31,254.254 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:21:31,255.255 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:21:31,258.258 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:21:31,261.261 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:21:33,301.301 INFO    ] ================================================
[2026-08-29 08:21:33,316.316 INFO    ] Launching Daemon at Sat Aug 29 08:21:33 IST 2026
[2026-08-29 08:21:33,327.327 INFO    ] ================================================
[2026-08-29 08:21:33,993.993 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:21:33
[2026-08-29 08:21:34,680.680 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:21:34,991.991 INFO    ] Initializing speech engine...
[2026-08-29 08:21:35,006.006 INFO    ] 2026-08-29 08:21:34
[2026-08-29 08:21:35,318.318 INFO    ] 2026-08-29 08:21:35
[2026-08-29 08:21:35,373.373 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:21:35,525.525 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:21:35,583.583 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:21:35,721.721 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:21:35,785.785 INFO    ] time= 29/08/2026 08:21:35
[2026-08-29 08:21:35,812.812 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:21:35,819.819 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:21:35,921.921 INFO    ] No existing commands found in stream
[2026-08-29 08:21:40,935.935 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:21:40,938.938 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 08:21:42,204.204 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:21:42,205.205 INFO    ] Checking for system updates...
[2026-08-29 08:21:42,226.226 INFO    ] 200
[2026-08-29 08:21:42,228.228 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:21:42,258.258 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:21:42,259.259 INFO    ] No update needed
[2026-08-29 08:21:42,260.260 INFO    ] Checking for camera pi updates...
[2026-08-29 08:21:42,280.280 INFO    ] 200
[2026-08-29 08:21:42,281.281 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:21:42,307.307 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:21:42,386.386 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:21:42,389.389 INFO    ] No camera update needed
[2026-08-29 08:21:42,391.391 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:21:42,393.393 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:21:42,398.398 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:21:42,403.403 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:21:44,444.444 INFO    ] ================================================
[2026-08-29 08:21:44,459.459 INFO    ] Launching Daemon at Sat Aug 29 08:21:44 IST 2026
[2026-08-29 08:21:44,470.470 INFO    ] ================================================
[2026-08-29 08:21:45,139.139 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:21:45
[2026-08-29 08:21:45,630.630 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:21:45,779.779 INFO    ] Initializing speech engine...
[2026-08-29 08:21:45,789.789 INFO    ] 2026-08-29 08:21:45
[2026-08-29 08:21:46,000.000 INFO    ] 2026-08-29 08:21:45
[2026-08-29 08:21:46,029.029 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:21:46,166.166 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:21:46,214.214 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:21:46,352.352 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:21:46,420.420 INFO    ] time= 29/08/2026 08:21:46
[2026-08-29 08:21:46,444.444 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:21:46,450.450 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:21:46,518.518 INFO    ] No existing commands found in stream
[2026-08-29 08:21:51,528.528 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:21:51,531.531 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-08-29 08:21:55,205.205 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:21:55,207.207 INFO    ] Checking for system updates...
[2026-08-29 08:21:55,229.229 INFO    ] 200
[2026-08-29 08:21:55,230.230 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:21:55,260.260 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:21:55,262.262 INFO    ] No update needed
[2026-08-29 08:21:55,263.263 INFO    ] Checking for camera pi updates...
[2026-08-29 08:21:55,283.283 INFO    ] 200
[2026-08-29 08:21:55,285.285 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:21:55,312.312 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:21:55,416.416 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:21:55,417.417 INFO    ] No camera update needed
[2026-08-29 08:21:55,418.418 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:21:55,419.419 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:21:55,423.423 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:21:55,425.425 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:21:57,465.465 INFO    ] ================================================
[2026-08-29 08:21:57,481.481 INFO    ] Launching Daemon at Sat Aug 29 08:21:57 IST 2026
[2026-08-29 08:21:57,492.492 INFO    ] ================================================
[2026-08-29 08:21:57,849.849 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:21:57
[2026-08-29 08:21:58,183.183 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:21:58,441.441 INFO    ] Initializing speech engine...
[2026-08-29 08:21:58,447.447 INFO    ] 2026-08-29 08:21:58
[2026-08-29 08:21:58,747.747 INFO    ] 2026-08-29 08:21:58
[2026-08-29 08:21:58,773.773 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:21:58,935.935 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:21:58,944.944 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:21:59,098.098 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:21:59,108.108 INFO    ] time= 29/08/2026 08:21:59
[2026-08-29 08:21:59,113.113 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:21:59,137.137 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:21:59,190.190 INFO    ] No existing commands found in stream
[2026-08-29 08:22:04,201.201 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:22:04,204.204 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-08-29 08:22:08,156.156 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:22:08,158.158 INFO    ] Checking for system updates...
[2026-08-29 08:22:08,180.180 INFO    ] 200
[2026-08-29 08:22:08,182.182 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:22:08,214.214 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:22:08,216.216 INFO    ] No update needed
[2026-08-29 08:22:08,217.217 INFO    ] Checking for camera pi updates...
[2026-08-29 08:22:08,245.245 INFO    ] 200
[2026-08-29 08:22:08,247.247 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:22:08,293.293 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:22:08,370.370 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:22:08,373.373 INFO    ] No camera update needed
[2026-08-29 08:22:08,375.375 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:22:08,377.377 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:22:08,383.383 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:22:08,387.387 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:22:10,429.429 INFO    ] ================================================
[2026-08-29 08:22:10,445.445 INFO    ] Launching Daemon at Sat Aug 29 08:22:10 IST 2026
[2026-08-29 08:22:10,455.455 INFO    ] ================================================
[2026-08-29 08:22:11,039.039 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:22:11
[2026-08-29 08:22:11,504.504 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:22:11,635.635 INFO    ] Initializing speech engine...
[2026-08-29 08:22:11,639.639 INFO    ] 2026-08-29 08:22:11
[2026-08-29 08:22:11,863.863 INFO    ] 2026-08-29 08:22:11
[2026-08-29 08:22:11,891.891 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:22:12,015.015 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:22:12,047.047 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:22:12,171.171 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:22:12,217.217 INFO    ] time= 29/08/2026 08:22:12
[2026-08-29 08:22:12,269.269 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:22:12,322.322 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:22:12,455.455 INFO    ] No existing commands found in stream
[2026-08-29 08:22:17,480.480 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:22:17,489.489 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-08-29 08:22:18,155.155 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:22:18,157.157 INFO    ] Checking for system updates...
[2026-08-29 08:22:18,178.178 INFO    ] 200
[2026-08-29 08:22:18,179.179 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:22:18,210.210 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:22:18,211.211 INFO    ] No update needed
[2026-08-29 08:22:18,212.212 INFO    ] Checking for camera pi updates...
[2026-08-29 08:22:18,232.232 INFO    ] 200
[2026-08-29 08:22:18,233.233 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:22:18,257.257 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:22:18,342.342 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:22:18,343.343 INFO    ] No camera update needed
[2026-08-29 08:22:18,344.344 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:22:18,346.346 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:22:18,349.349 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:22:18,351.351 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:22:20,392.392 INFO    ] ================================================
[2026-08-29 08:22:20,407.407 INFO    ] Launching Daemon at Sat Aug 29 08:22:20 IST 2026
[2026-08-29 08:22:20,419.419 INFO    ] ================================================
[2026-08-29 08:22:20,751.751 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:22:20
[2026-08-29 08:22:21,069.069 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:22:21,218.218 INFO    ] Initializing speech engine...
[2026-08-29 08:22:21,229.229 INFO    ] 2026-08-29 08:22:21
[2026-08-29 08:22:21,497.497 INFO    ] 2026-08-29 08:22:21
[2026-08-29 08:22:21,536.536 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:22:21,688.688 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:22:21,694.694 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:22:21,855.855 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:22:21,859.859 INFO    ] time= 29/08/2026 08:22:21
[2026-08-29 08:22:21,870.870 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:22:21,875.875 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:22:21,947.947 INFO    ] No existing commands found in stream
[2026-08-29 08:22:26,959.959 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:22:26,962.962 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-08-29 08:22:30,139.139 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:22:30,141.141 INFO    ] Checking for system updates...
[2026-08-29 08:22:30,161.161 INFO    ] 200
[2026-08-29 08:22:30,163.163 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:22:30,193.193 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:22:30,195.195 INFO    ] No update needed
[2026-08-29 08:22:30,196.196 INFO    ] Checking for camera pi updates...
[2026-08-29 08:22:30,217.217 INFO    ] 200
[2026-08-29 08:22:30,219.219 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:22:30,243.243 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:22:30,335.335 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:22:30,336.336 INFO    ] No camera update needed
[2026-08-29 08:22:30,337.337 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:22:30,338.338 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:22:30,341.341 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:22:30,344.344 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:22:32,384.384 INFO    ] ================================================
[2026-08-29 08:22:32,401.401 INFO    ] Launching Daemon at Sat Aug 29 08:22:32 IST 2026
[2026-08-29 08:22:32,413.413 INFO    ] ================================================
[2026-08-29 08:22:33,027.027 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:22:33
[2026-08-29 08:22:33,630.630 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:22:33,946.946 INFO    ] Initializing speech engine...
[2026-08-29 08:22:33,955.955 INFO    ] 2026-08-29 08:22:33
[2026-08-29 08:22:34,257.257 INFO    ] 2026-08-29 08:22:34
[2026-08-29 08:22:34,296.296 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:22:34,781.781 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:22:34,788.788 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:22:34,946.946 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:22:34,995.995 INFO    ] time= 29/08/2026 08:22:34
[2026-08-29 08:22:35,050.050 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:22:35,081.081 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:22:35,197.197 INFO    ] No existing commands found in stream
[2026-08-29 08:22:40,216.216 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:22:40,219.219 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-08-29 08:22:40,619.619 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:22:40,621.621 INFO    ] Checking for system updates...
[2026-08-29 08:22:40,644.644 INFO    ] 200
[2026-08-29 08:22:40,645.645 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:22:40,675.675 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:22:40,677.677 INFO    ] No update needed
[2026-08-29 08:22:40,678.678 INFO    ] Checking for camera pi updates...
[2026-08-29 08:22:40,699.699 INFO    ] 200
[2026-08-29 08:22:40,700.700 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:22:40,725.725 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:22:40,815.815 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:22:40,817.817 INFO    ] No camera update needed
[2026-08-29 08:22:40,818.818 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:22:40,819.819 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:22:40,823.823 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:22:40,826.826 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:22:42,866.866 INFO    ] ================================================
[2026-08-29 08:22:42,882.882 INFO    ] Launching Daemon at Sat Aug 29 08:22:42 IST 2026
[2026-08-29 08:22:42,893.893 INFO    ] ================================================
[2026-08-29 08:22:43,267.267 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:22:43
[2026-08-29 08:22:43,584.584 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:22:43,728.728 INFO    ] Initializing speech engine...
[2026-08-29 08:22:43,740.740 INFO    ] 2026-08-29 08:22:43
[2026-08-29 08:22:43,956.956 INFO    ] 2026-08-29 08:22:43
[2026-08-29 08:22:43,987.987 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:22:44,121.121 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:22:44,164.164 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:22:44,332.332 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:22:44,364.364 INFO    ] time= 29/08/2026 08:22:44
[2026-08-29 08:22:44,417.417 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:22:44,442.442 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:22:44,519.519 INFO    ] No existing commands found in stream
[2026-08-29 08:22:49,529.529 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:22:49,532.532 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-08-29 08:22:51,075.075 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:22:51,076.076 INFO    ] Checking for system updates...
[2026-08-29 08:22:51,097.097 INFO    ] 200
[2026-08-29 08:22:51,099.099 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:22:51,129.129 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:22:51,130.130 INFO    ] No update needed
[2026-08-29 08:22:51,132.132 INFO    ] Checking for camera pi updates...
[2026-08-29 08:22:51,153.153 INFO    ] 200
[2026-08-29 08:22:51,154.154 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:22:51,181.181 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:22:51,257.257 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:22:51,258.258 INFO    ] No camera update needed
[2026-08-29 08:22:51,260.260 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:22:51,261.261 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:22:51,264.264 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:22:51,267.267 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:22:53,308.308 INFO    ] ================================================
[2026-08-29 08:22:53,324.324 INFO    ] Launching Daemon at Sat Aug 29 08:22:53 IST 2026
[2026-08-29 08:22:53,335.335 INFO    ] ================================================
[2026-08-29 08:22:53,848.848 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:22:53
[2026-08-29 08:22:54,522.522 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:22:54,841.841 INFO    ] Initializing speech engine...
[2026-08-29 08:22:54,846.846 INFO    ] 2026-08-29 08:22:54
[2026-08-29 08:22:55,139.139 INFO    ] 2026-08-29 08:22:55
[2026-08-29 08:22:55,178.178 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:22:55,405.405 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:22:55,415.415 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:22:55,555.555 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:22:55,595.595 INFO    ] time= 29/08/2026 08:22:55
[2026-08-29 08:22:55,655.655 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:22:55,692.692 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:22:55,748.748 INFO    ] No existing commands found in stream
[2026-08-29 08:23:00,761.761 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:23:00,765.765 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-08-29 08:23:04,309.309 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:23:04,312.312 INFO    ] Checking for system updates...
[2026-08-29 08:23:04,355.355 INFO    ] 200
[2026-08-29 08:23:04,357.357 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:23:04,416.416 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:23:04,418.418 INFO    ] No update needed
[2026-08-29 08:23:04,421.421 INFO    ] Checking for camera pi updates...
[2026-08-29 08:23:04,456.456 INFO    ] 200
[2026-08-29 08:23:04,459.459 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:23:04,501.501 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:23:04,588.588 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:23:04,591.591 INFO    ] No camera update needed
[2026-08-29 08:23:04,594.594 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:23:04,597.597 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:23:04,603.603 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:23:04,609.609 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:23:06,651.651 INFO    ] ================================================
[2026-08-29 08:23:06,666.666 INFO    ] Launching Daemon at Sat Aug 29 08:23:06 IST 2026
[2026-08-29 08:23:06,677.677 INFO    ] ================================================
[2026-08-29 08:23:07,040.040 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:23:07
[2026-08-29 08:23:07,575.575 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:23:07,854.854 INFO    ] Initializing speech engine...
[2026-08-29 08:23:07,864.864 INFO    ] 2026-08-29 08:23:07
[2026-08-29 08:23:08,124.124 INFO    ] 2026-08-29 08:23:08
[2026-08-29 08:23:08,178.178 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:23:08,345.345 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:23:08,386.386 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:23:08,546.546 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:23:08,610.610 INFO    ] time= 29/08/2026 08:23:08
[2026-08-29 08:23:08,673.673 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:23:08,680.680 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:23:08,823.823 INFO    ] No existing commands found in stream
[2026-08-29 08:23:13,838.838 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:23:13,841.841 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-08-29 08:23:15,133.133 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:23:15,135.135 INFO    ] Checking for system updates...
[2026-08-29 08:23:15,155.155 INFO    ] 200
[2026-08-29 08:23:15,156.156 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:23:15,189.189 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:23:15,190.190 INFO    ] No update needed
[2026-08-29 08:23:15,192.192 INFO    ] Checking for camera pi updates...
[2026-08-29 08:23:15,211.211 INFO    ] 200
[2026-08-29 08:23:15,213.213 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:23:15,236.236 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:23:15,284.284 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:23:15,286.286 INFO    ] No camera update needed
[2026-08-29 08:23:15,287.287 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:23:15,288.288 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:23:15,291.291 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:23:15,294.294 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:23:17,334.334 INFO    ] ================================================
[2026-08-29 08:23:17,350.350 INFO    ] Launching Daemon at Sat Aug 29 08:23:17 IST 2026
[2026-08-29 08:23:17,360.360 INFO    ] ================================================
[2026-08-29 08:23:17,694.694 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:23:17
[2026-08-29 08:23:18,016.016 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:23:18,295.295 INFO    ] Initializing speech engine...
[2026-08-29 08:23:18,300.300 INFO    ] 2026-08-29 08:23:18
[2026-08-29 08:23:18,550.550 INFO    ] 2026-08-29 08:23:18
[2026-08-29 08:23:18,585.585 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:23:18,758.758 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:23:18,770.770 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:23:18,911.911 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:23:18,919.919 INFO    ] time= 29/08/2026 08:23:18
[2026-08-29 08:23:18,927.927 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:23:18,975.975 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:23:19,083.083 INFO    ] No existing commands found in stream
[2026-08-29 08:23:24,113.113 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:23:24,116.116 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 08:23:26,388.388 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:23:26,390.390 INFO    ] Checking for system updates...
[2026-08-29 08:23:26,411.411 INFO    ] 200
[2026-08-29 08:23:26,412.412 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:23:26,448.448 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:23:26,449.449 INFO    ] No update needed
[2026-08-29 08:23:26,450.450 INFO    ] Checking for camera pi updates...
[2026-08-29 08:23:26,471.471 INFO    ] 200
[2026-08-29 08:23:26,472.472 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:23:26,496.496 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:23:26,579.579 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:23:26,580.580 INFO    ] No camera update needed
[2026-08-29 08:23:26,581.581 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:23:26,583.583 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:23:26,586.586 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:23:26,588.588 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:23:28,631.631 INFO    ] ================================================
[2026-08-29 08:23:28,647.647 INFO    ] Launching Daemon at Sat Aug 29 08:23:28 IST 2026
[2026-08-29 08:23:28,658.658 INFO    ] ================================================
[2026-08-29 08:23:29,029.029 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:23:29
[2026-08-29 08:23:29,371.371 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:23:29,524.524 INFO    ] Initializing speech engine...
[2026-08-29 08:23:29,529.529 INFO    ] 2026-08-29 08:23:29
[2026-08-29 08:23:29,737.737 INFO    ] 2026-08-29 08:23:29
[2026-08-29 08:23:29,766.766 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:23:29,899.899 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:23:29,952.952 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:23:30,136.136 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:23:30,160.160 INFO    ] time= 29/08/2026 08:23:30
[2026-08-29 08:23:30,215.215 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:23:30,264.264 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:23:30,359.359 INFO    ] No existing commands found in stream
[2026-08-29 08:23:35,379.379 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:23:35,382.382 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-08-29 08:23:39,133.133 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:23:39,136.136 INFO    ] Checking for system updates...
[2026-08-29 08:23:39,173.173 INFO    ] 200
[2026-08-29 08:23:39,176.176 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:23:39,211.211 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:23:39,213.213 INFO    ] No update needed
[2026-08-29 08:23:39,214.214 INFO    ] Checking for camera pi updates...
[2026-08-29 08:23:39,233.233 INFO    ] 200
[2026-08-29 08:23:39,234.234 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:23:39,259.259 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:23:39,336.336 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:23:39,337.337 INFO    ] No camera update needed
[2026-08-29 08:23:39,339.339 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:23:39,340.340 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:23:39,343.343 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:23:39,346.346 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:23:41,384.384 INFO    ] ================================================
[2026-08-29 08:23:41,399.399 INFO    ] Launching Daemon at Sat Aug 29 08:23:41 IST 2026
[2026-08-29 08:23:41,410.410 INFO    ] ================================================
[2026-08-29 08:23:41,750.750 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:23:41
[2026-08-29 08:23:42,063.063 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:23:42,194.194 INFO    ] Initializing speech engine...
[2026-08-29 08:23:42,198.198 INFO    ] 2026-08-29 08:23:42
[2026-08-29 08:23:42,392.392 INFO    ] 2026-08-29 08:23:42
[2026-08-29 08:23:42,438.438 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:23:42,562.562 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:23:42,566.566 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:23:42,684.684 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:23:42,701.701 INFO    ] time= 29/08/2026 08:23:42
[2026-08-29 08:23:42,705.705 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:23:42,710.710 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:23:42,800.800 INFO    ] No existing commands found in stream
[2026-08-29 08:23:47,830.830 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:23:47,833.833 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-08-29 08:23:50,624.624 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:23:50,626.626 INFO    ] Checking for system updates...
[2026-08-29 08:23:50,648.648 INFO    ] 200
[2026-08-29 08:23:50,649.649 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:23:50,679.679 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:23:50,681.681 INFO    ] No update needed
[2026-08-29 08:23:50,682.682 INFO    ] Checking for camera pi updates...
[2026-08-29 08:23:50,701.701 INFO    ] 200
[2026-08-29 08:23:50,703.703 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:23:50,728.728 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:23:50,830.830 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:23:50,831.831 INFO    ] No camera update needed
[2026-08-29 08:23:50,832.832 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:23:50,834.834 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:23:50,836.836 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:23:50,839.839 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:23:52,877.877 INFO    ] ================================================
[2026-08-29 08:23:52,893.893 INFO    ] Launching Daemon at Sat Aug 29 08:23:52 IST 2026
[2026-08-29 08:23:52,903.903 INFO    ] ================================================
[2026-08-29 08:23:53,436.436 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:23:53
[2026-08-29 08:23:54,038.038 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:23:54,316.316 INFO    ] Initializing speech engine...
[2026-08-29 08:23:54,323.323 INFO    ] 2026-08-29 08:23:54
[2026-08-29 08:23:54,584.584 INFO    ] 2026-08-29 08:23:54
[2026-08-29 08:23:54,638.638 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:23:54,805.805 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:23:54,862.862 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:23:55,001.001 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:23:55,022.022 INFO    ] time= 29/08/2026 08:23:55
[2026-08-29 08:23:55,082.082 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:23:55,134.134 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:23:55,188.188 INFO    ] No existing commands found in stream
[2026-08-29 08:24:00,200.200 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:24:00,203.203 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-08-29 08:24:03,170.170 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:24:03,173.173 INFO    ] Checking for system updates...
[2026-08-29 08:24:03,209.209 INFO    ] 200
[2026-08-29 08:24:03,211.211 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:24:03,274.274 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:24:03,277.277 INFO    ] No update needed
[2026-08-29 08:24:03,279.279 INFO    ] Checking for camera pi updates...
[2026-08-29 08:24:03,316.316 INFO    ] 200
[2026-08-29 08:24:03,319.319 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:24:03,359.359 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:24:03,462.462 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:24:03,464.464 INFO    ] No camera update needed
[2026-08-29 08:24:03,467.467 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:24:03,469.469 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:24:03,474.474 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:24:03,479.479 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:24:05,522.522 INFO    ] ================================================
[2026-08-29 08:24:05,537.537 INFO    ] Launching Daemon at Sat Aug 29 08:24:05 IST 2026
[2026-08-29 08:24:05,548.548 INFO    ] ================================================
[2026-08-29 08:24:05,906.906 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:24:05
[2026-08-29 08:24:06,431.431 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:24:06,701.701 INFO    ] Initializing speech engine...
[2026-08-29 08:24:06,710.710 INFO    ] 2026-08-29 08:24:06
[2026-08-29 08:24:06,962.962 INFO    ] 2026-08-29 08:24:06
[2026-08-29 08:24:07,021.021 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:24:07,162.162 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:24:07,174.174 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:24:07,316.316 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:24:07,325.325 INFO    ] time= 29/08/2026 08:24:07
[2026-08-29 08:24:07,333.333 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:24:07,387.387 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:24:07,504.504 INFO    ] No existing commands found in stream
[2026-08-29 08:24:12,529.529 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:24:12,532.532 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-08-29 08:24:16,330.330 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:24:16,331.331 INFO    ] Checking for system updates...
[2026-08-29 08:24:16,352.352 INFO    ] 200
[2026-08-29 08:24:16,354.354 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:24:16,384.384 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:24:16,386.386 INFO    ] No update needed
[2026-08-29 08:24:16,387.387 INFO    ] Checking for camera pi updates...
[2026-08-29 08:24:16,407.407 INFO    ] 200
[2026-08-29 08:24:16,408.408 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:24:16,433.433 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:24:16,532.532 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:24:16,533.533 INFO    ] No camera update needed
[2026-08-29 08:24:16,535.535 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:24:16,536.536 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:24:16,539.539 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:24:16,542.542 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:24:18,583.583 INFO    ] ================================================
[2026-08-29 08:24:18,601.601 INFO    ] Launching Daemon at Sat Aug 29 08:24:18 IST 2026
[2026-08-29 08:24:18,613.613 INFO    ] ================================================
[2026-08-29 08:24:19,222.222 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:24:19
[2026-08-29 08:24:19,846.846 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:24:20,186.186 INFO    ] Initializing speech engine...
[2026-08-29 08:24:20,193.193 INFO    ] 2026-08-29 08:24:20
[2026-08-29 08:24:20,521.521 INFO    ] 2026-08-29 08:24:20
[2026-08-29 08:24:20,613.613 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:24:20,779.779 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:24:20,785.785 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:24:20,919.919 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:24:20,941.941 INFO    ] time= 29/08/2026 08:24:20
[2026-08-29 08:24:21,002.002 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:24:21,017.017 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:24:21,086.086 INFO    ] No existing commands found in stream
[2026-08-29 08:24:26,102.102 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:24:26,105.105 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-08-29 08:24:29,791.791 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:24:29,792.792 INFO    ] Checking for system updates...
[2026-08-29 08:24:29,814.814 INFO    ] 200
[2026-08-29 08:24:29,815.815 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:24:29,845.845 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:24:29,846.846 INFO    ] No update needed
[2026-08-29 08:24:29,847.847 INFO    ] Checking for camera pi updates...
[2026-08-29 08:24:29,868.868 INFO    ] 200
[2026-08-29 08:24:29,869.869 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:24:29,893.893 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:24:29,974.974 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:24:29,976.976 INFO    ] No camera update needed
[2026-08-29 08:24:29,979.979 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:24:29,981.981 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:24:29,986.986 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:24:29,991.991 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:24:32,033.033 INFO    ] ================================================
[2026-08-29 08:24:32,049.049 INFO    ] Launching Daemon at Sat Aug 29 08:24:32 IST 2026
[2026-08-29 08:24:32,060.060 INFO    ] ================================================
[2026-08-29 08:24:32,688.688 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:24:32
[2026-08-29 08:24:33,132.132 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:24:33,277.277 INFO    ] Initializing speech engine...
[2026-08-29 08:24:33,282.282 INFO    ] 2026-08-29 08:24:33
[2026-08-29 08:24:33,523.523 INFO    ] 2026-08-29 08:24:33
[2026-08-29 08:24:33,578.578 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:24:33,742.742 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:24:33,750.750 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:24:33,899.899 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:24:33,948.948 INFO    ] time= 29/08/2026 08:24:33
[2026-08-29 08:24:33,954.954 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:24:33,972.972 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:24:34,079.079 INFO    ] No existing commands found in stream
[2026-08-29 08:24:39,110.110 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:24:39,113.113 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-08-29 08:24:40,838.838 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:24:40,840.840 INFO    ] Checking for system updates...
[2026-08-29 08:24:40,861.861 INFO    ] 200
[2026-08-29 08:24:40,863.863 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:24:40,893.893 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:24:40,894.894 INFO    ] No update needed
[2026-08-29 08:24:40,896.896 INFO    ] Checking for camera pi updates...
[2026-08-29 08:24:40,915.915 INFO    ] 200
[2026-08-29 08:24:40,917.917 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:24:40,941.941 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:24:41,063.063 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:24:41,064.064 INFO    ] No camera update needed
[2026-08-29 08:24:41,066.066 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:24:41,067.067 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:24:41,070.070 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:24:41,073.073 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:24:43,115.115 INFO    ] ================================================
[2026-08-29 08:24:43,131.131 INFO    ] Launching Daemon at Sat Aug 29 08:24:43 IST 2026
[2026-08-29 08:24:43,141.141 INFO    ] ================================================
[2026-08-29 08:24:43,508.508 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:24:43
[2026-08-29 08:24:43,827.827 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:24:43,972.972 INFO    ] Initializing speech engine...
[2026-08-29 08:24:43,978.978 INFO    ] 2026-08-29 08:24:43
[2026-08-29 08:24:44,180.180 INFO    ] 2026-08-29 08:24:44
[2026-08-29 08:24:44,208.208 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:24:44,330.330 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:24:44,373.373 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:24:44,536.536 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:24:44,598.598 INFO    ] time= 29/08/2026 08:24:44
[2026-08-29 08:24:44,621.621 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:24:44,628.628 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:24:44,695.695 INFO    ] No existing commands found in stream
[2026-08-29 08:24:49,709.709 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:24:49,712.712 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-08-29 08:24:50,352.352 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:24:50,354.354 INFO    ] Checking for system updates...
[2026-08-29 08:24:50,375.375 INFO    ] 200
[2026-08-29 08:24:50,376.376 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:24:50,408.408 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:24:50,410.410 INFO    ] No update needed
[2026-08-29 08:24:50,411.411 INFO    ] Checking for camera pi updates...
[2026-08-29 08:24:50,432.432 INFO    ] 200
[2026-08-29 08:24:50,434.434 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:24:50,457.457 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:24:50,538.538 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:24:50,540.540 INFO    ] No camera update needed
[2026-08-29 08:24:50,542.542 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:24:50,543.543 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:24:50,546.546 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:24:50,549.549 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:24:52,588.588 INFO    ] ================================================
[2026-08-29 08:24:52,605.605 INFO    ] Launching Daemon at Sat Aug 29 08:24:52 IST 2026
[2026-08-29 08:24:52,616.616 INFO    ] ================================================
[2026-08-29 08:24:52,976.976 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:24:52
[2026-08-29 08:24:53,287.287 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:24:53,424.424 INFO    ] Initializing speech engine...
[2026-08-29 08:24:53,434.434 INFO    ] 2026-08-29 08:24:53
[2026-08-29 08:24:53,637.637 INFO    ] 2026-08-29 08:24:53
[2026-08-29 08:24:53,665.665 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:24:53,787.787 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:24:53,849.849 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:24:54,006.006 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:24:54,054.054 INFO    ] time= 29/08/2026 08:24:54
[2026-08-29 08:24:54,075.075 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:24:54,082.082 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:24:54,149.149 INFO    ] No existing commands found in stream
[2026-08-29 08:24:59,158.158 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:24:59,161.161 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-08-29 08:24:59,765.765 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:24:59,766.766 INFO    ] Checking for system updates...
[2026-08-29 08:24:59,787.787 INFO    ] 200
[2026-08-29 08:24:59,789.789 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:24:59,821.821 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:24:59,822.822 INFO    ] No update needed
[2026-08-29 08:24:59,823.823 INFO    ] Checking for camera pi updates...
[2026-08-29 08:24:59,843.843 INFO    ] 200
[2026-08-29 08:24:59,844.844 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:24:59,869.869 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:24:59,962.962 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:24:59,964.964 INFO    ] No camera update needed
[2026-08-29 08:24:59,965.965 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:24:59,966.966 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:24:59,969.969 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:24:59,971.971 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:25:02,018.018 INFO    ] ================================================
[2026-08-29 08:25:02,038.038 INFO    ] Launching Daemon at Sat Aug 29 08:25:02 IST 2026
[2026-08-29 08:25:02,051.051 INFO    ] ================================================
[2026-08-29 08:25:02,697.697 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:25:02
[2026-08-29 08:25:03,418.418 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:25:03,731.731 INFO    ] Initializing speech engine...
[2026-08-29 08:25:03,743.743 INFO    ] 2026-08-29 08:25:03
[2026-08-29 08:25:04,061.061 INFO    ] 2026-08-29 08:25:04
[2026-08-29 08:25:04,146.146 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:25:04,302.302 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:25:04,308.308 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:25:04,444.444 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:25:04,487.487 INFO    ] time= 29/08/2026 08:25:04
[2026-08-29 08:25:04,542.542 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:25:04,545.545 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:25:04,625.625 INFO    ] No existing commands found in stream
[2026-08-29 08:25:09,656.656 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:25:09,659.659 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-08-29 08:25:11,014.014 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:25:11,015.015 INFO    ] Checking for system updates...
[2026-08-29 08:25:11,036.036 INFO    ] 200
[2026-08-29 08:25:11,037.037 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:25:11,070.070 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:25:11,071.071 INFO    ] No update needed
[2026-08-29 08:25:11,073.073 INFO    ] Checking for camera pi updates...
[2026-08-29 08:25:11,095.095 INFO    ] 200
[2026-08-29 08:25:11,096.096 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:25:11,121.121 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:25:11,328.328 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:25:11,329.329 INFO    ] No camera update needed
[2026-08-29 08:25:11,331.331 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:25:11,332.332 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:25:11,335.335 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:25:11,338.338 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:25:13,377.377 INFO    ] ================================================
[2026-08-29 08:25:13,394.394 INFO    ] Launching Daemon at Sat Aug 29 08:25:13 IST 2026
[2026-08-29 08:25:13,406.406 INFO    ] ================================================
[2026-08-29 08:25:13,759.759 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:25:13
[2026-08-29 08:25:14,237.237 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:25:14,486.486 INFO    ] Initializing speech engine...
[2026-08-29 08:25:14,498.498 INFO    ] 2026-08-29 08:25:14
[2026-08-29 08:25:14,760.760 INFO    ] 2026-08-29 08:25:14
[2026-08-29 08:25:14,796.796 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:25:14,967.967 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:25:14,979.979 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:25:15,091.091 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:25:15,109.109 INFO    ] time= 29/08/2026 08:25:15
[2026-08-29 08:25:15,129.129 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:25:15,137.137 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:25:15,207.207 INFO    ] No existing commands found in stream
[2026-08-29 08:25:20,242.242 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:25:20,245.245 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-08-29 08:25:22,946.946 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:25:22,947.947 INFO    ] Checking for system updates...
[2026-08-29 08:25:22,969.969 INFO    ] 200
[2026-08-29 08:25:22,970.970 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:25:23,000.000 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:25:23,001.001 INFO    ] No update needed
[2026-08-29 08:25:23,003.003 INFO    ] Checking for camera pi updates...
[2026-08-29 08:25:23,026.026 INFO    ] 200
[2026-08-29 08:25:23,027.027 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:25:23,052.052 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:25:23,150.150 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:25:23,151.151 INFO    ] No camera update needed
[2026-08-29 08:25:23,152.152 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:25:23,154.154 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:25:23,156.156 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:25:23,159.159 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:25:25,199.199 INFO    ] ================================================
[2026-08-29 08:25:25,215.215 INFO    ] Launching Daemon at Sat Aug 29 08:25:25 IST 2026
[2026-08-29 08:25:25,226.226 INFO    ] ================================================
[2026-08-29 08:25:25,598.598 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:25:25
[2026-08-29 08:25:25,911.911 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:25:26,049.049 INFO    ] Initializing speech engine...
[2026-08-29 08:25:26,056.056 INFO    ] 2026-08-29 08:25:26
[2026-08-29 08:25:26,262.262 INFO    ] 2026-08-29 08:25:26
[2026-08-29 08:25:26,290.290 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:25:26,418.418 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:25:26,476.476 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:25:26,614.614 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:25:26,678.678 INFO    ] time= 29/08/2026 08:25:26
[2026-08-29 08:25:26,707.707 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:25:26,713.713 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:25:26,779.779 INFO    ] No existing commands found in stream
[2026-08-29 08:25:31,789.789 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:25:31,792.792 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-08-29 08:25:33,514.514 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:25:33,517.517 INFO    ] Checking for system updates...
[2026-08-29 08:25:33,553.553 INFO    ] 200
[2026-08-29 08:25:33,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:25:33,618.618 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:25:33,621.621 INFO    ] No update needed
[2026-08-29 08:25:33,624.624 INFO    ] Checking for camera pi updates...
[2026-08-29 08:25:33,659.659 INFO    ] 200
[2026-08-29 08:25:33,662.662 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:25:33,704.704 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:25:33,821.821 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:25:33,824.824 INFO    ] No camera update needed
[2026-08-29 08:25:33,827.827 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:25:33,829.829 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:25:33,836.836 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:25:33,842.842 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:25:35,883.883 INFO    ] ================================================
[2026-08-29 08:25:35,899.899 INFO    ] Launching Daemon at Sat Aug 29 08:25:35 IST 2026
[2026-08-29 08:25:35,910.910 INFO    ] ================================================
[2026-08-29 08:25:36,477.477 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:25:36
[2026-08-29 08:25:37,096.096 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:25:37,409.409 INFO    ] Initializing speech engine...
[2026-08-29 08:25:37,424.424 INFO    ] 2026-08-29 08:25:37
[2026-08-29 08:25:37,752.752 INFO    ] 2026-08-29 08:25:37
[2026-08-29 08:25:37,838.838 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:25:37,994.994 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:25:37,999.999 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:25:38,132.132 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:25:38,148.148 INFO    ] time= 29/08/2026 08:25:38
[2026-08-29 08:25:38,202.202 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:25:38,262.262 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:25:38,322.322 INFO    ] No existing commands found in stream
[2026-08-29 08:25:43,334.334 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:25:43,337.337 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-08-29 08:25:46,766.766 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:25:46,768.768 INFO    ] Checking for system updates...
[2026-08-29 08:25:46,788.788 INFO    ] 200
[2026-08-29 08:25:46,790.790 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:25:46,819.819 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:25:46,821.821 INFO    ] No update needed
[2026-08-29 08:25:46,822.822 INFO    ] Checking for camera pi updates...
[2026-08-29 08:25:46,841.841 INFO    ] 200
[2026-08-29 08:25:46,843.843 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:25:46,866.866 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:25:46,943.943 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:25:46,944.944 INFO    ] No camera update needed
[2026-08-29 08:25:46,945.945 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:25:46,947.947 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:25:46,949.949 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:25:46,952.952 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:25:48,990.990 INFO    ] ================================================
[2026-08-29 08:25:49,006.006 INFO    ] Launching Daemon at Sat Aug 29 08:25:49 IST 2026
[2026-08-29 08:25:49,018.018 INFO    ] ================================================
[2026-08-29 08:25:49,375.375 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:25:49
[2026-08-29 08:25:49,691.691 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:25:49,961.961 INFO    ] Initializing speech engine...
[2026-08-29 08:25:49,969.969 INFO    ] 2026-08-29 08:25:49
[2026-08-29 08:25:50,218.218 INFO    ] 2026-08-29 08:25:50
[2026-08-29 08:25:50,254.254 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:25:50,447.447 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:25:50,471.471 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:25:50,591.591 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:25:50,653.653 INFO    ] time= 29/08/2026 08:25:50
[2026-08-29 08:25:50,659.659 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:25:50,724.724 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:25:50,790.790 INFO    ] No existing commands found in stream
[2026-08-29 08:25:55,811.811 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:25:55,814.814 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-08-29 08:25:57,567.567 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:25:57,569.569 INFO    ] Checking for system updates...
[2026-08-29 08:25:57,591.591 INFO    ] 200
[2026-08-29 08:25:57,592.592 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:25:57,624.624 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:25:57,625.625 INFO    ] No update needed
[2026-08-29 08:25:57,627.627 INFO    ] Checking for camera pi updates...
[2026-08-29 08:25:57,646.646 INFO    ] 200
[2026-08-29 08:25:57,647.647 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:25:57,670.670 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:25:57,772.772 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:25:57,773.773 INFO    ] No camera update needed
[2026-08-29 08:25:57,775.775 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:25:57,776.776 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:25:57,779.779 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:25:57,781.781 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:25:59,820.820 INFO    ] ================================================
[2026-08-29 08:25:59,835.835 INFO    ] Launching Daemon at Sat Aug 29 08:25:59 IST 2026
[2026-08-29 08:25:59,846.846 INFO    ] ================================================
[2026-08-29 08:26:00,214.214 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:26:00
[2026-08-29 08:26:00,681.681 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:26:00,938.938 INFO    ] Initializing speech engine...
[2026-08-29 08:26:00,945.945 INFO    ] 2026-08-29 08:26:00
[2026-08-29 08:26:01,302.302 INFO    ] 2026-08-29 08:26:01
[2026-08-29 08:26:01,385.385 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:26:01,529.529 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:26:01,534.534 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:26:01,658.658 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:26:01,662.662 INFO    ] time= 29/08/2026 08:26:01
[2026-08-29 08:26:01,685.685 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:26:01,703.703 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:26:01,781.781 INFO    ] No existing commands found in stream
[2026-08-29 08:26:06,794.794 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:26:06,797.797 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-08-29 08:26:09,662.662 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:26:09,664.664 INFO    ] Checking for system updates...
[2026-08-29 08:26:09,684.684 INFO    ] 200
[2026-08-29 08:26:09,686.686 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:26:09,716.716 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:26:09,717.717 INFO    ] No update needed
[2026-08-29 08:26:09,718.718 INFO    ] Checking for camera pi updates...
[2026-08-29 08:26:09,737.737 INFO    ] 200
[2026-08-29 08:26:09,738.738 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:26:09,771.771 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:26:09,878.878 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:26:09,881.881 INFO    ] No camera update needed
[2026-08-29 08:26:09,883.883 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:26:09,886.886 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:26:09,891.891 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:26:09,896.896 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:26:11,937.937 INFO    ] ================================================
[2026-08-29 08:26:11,953.953 INFO    ] Launching Daemon at Sat Aug 29 08:26:11 IST 2026
[2026-08-29 08:26:11,964.964 INFO    ] ================================================
[2026-08-29 08:26:12,581.581 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:26:12
[2026-08-29 08:26:13,078.078 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:26:13,329.329 INFO    ] Initializing speech engine...
[2026-08-29 08:26:13,352.352 INFO    ] 2026-08-29 08:26:13
[2026-08-29 08:26:13,607.607 INFO    ] 2026-08-29 08:26:13
[2026-08-29 08:26:13,642.642 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:26:13,818.818 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:26:13,831.831 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:26:13,977.977 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:26:13,985.985 INFO    ] time= 29/08/2026 08:26:13
[2026-08-29 08:26:13,991.991 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:26:14,017.017 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:26:14,142.142 INFO    ] No existing commands found in stream
[2026-08-29 08:26:19,167.167 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:26:19,170.170 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-08-29 08:26:20,605.605 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:26:20,606.606 INFO    ] Checking for system updates...
[2026-08-29 08:26:20,626.626 INFO    ] 200
[2026-08-29 08:26:20,628.628 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:26:20,660.660 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:26:20,661.661 INFO    ] No update needed
[2026-08-29 08:26:20,663.663 INFO    ] Checking for camera pi updates...
[2026-08-29 08:26:20,682.682 INFO    ] 200
[2026-08-29 08:26:20,683.683 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:26:20,708.708 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:26:20,782.782 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:26:20,783.783 INFO    ] No camera update needed
[2026-08-29 08:26:20,784.784 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:26:20,786.786 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:26:20,788.788 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:26:20,791.791 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:26:22,829.829 INFO    ] ================================================
[2026-08-29 08:26:22,845.845 INFO    ] Launching Daemon at Sat Aug 29 08:26:22 IST 2026
[2026-08-29 08:26:22,856.856 INFO    ] ================================================
[2026-08-29 08:26:23,202.202 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:26:23
[2026-08-29 08:26:23,786.786 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:26:24,093.093 INFO    ] Initializing speech engine...
[2026-08-29 08:26:24,100.100 INFO    ] 2026-08-29 08:26:24
[2026-08-29 08:26:24,369.369 INFO    ] 2026-08-29 08:26:24
[2026-08-29 08:26:24,431.431 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:26:24,662.662 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:26:24,672.672 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:26:24,827.827 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:26:24,887.887 INFO    ] time= 29/08/2026 08:26:24
[2026-08-29 08:26:24,943.943 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:26:24,950.950 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:26:25,070.070 INFO    ] No existing commands found in stream
[2026-08-29 08:26:30,101.101 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:26:30,105.105 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-08-29 08:26:32,966.966 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:26:32,969.969 INFO    ] Checking for system updates...
[2026-08-29 08:26:33,012.012 INFO    ] 200
[2026-08-29 08:26:33,015.015 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:26:33,068.068 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:26:33,070.070 INFO    ] No update needed
[2026-08-29 08:26:33,072.072 INFO    ] Checking for camera pi updates...
[2026-08-29 08:26:33,106.106 INFO    ] 200
[2026-08-29 08:26:33,109.109 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:26:33,154.154 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:26:33,242.242 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:26:33,245.245 INFO    ] No camera update needed
[2026-08-29 08:26:33,247.247 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:26:33,249.249 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:26:33,254.254 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:26:33,259.259 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:26:35,300.300 INFO    ] ================================================
[2026-08-29 08:26:35,316.316 INFO    ] Launching Daemon at Sat Aug 29 08:26:35 IST 2026
[2026-08-29 08:26:35,327.327 INFO    ] ================================================
[2026-08-29 08:26:35,673.673 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:26:35
[2026-08-29 08:26:35,989.989 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:26:36,250.250 INFO    ] Initializing speech engine...
[2026-08-29 08:26:36,275.275 INFO    ] 2026-08-29 08:26:36
[2026-08-29 08:26:36,546.546 INFO    ] 2026-08-29 08:26:36
[2026-08-29 08:26:36,582.582 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:26:36,749.749 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:26:36,774.774 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:26:36,904.904 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:26:36,912.912 INFO    ] time= 29/08/2026 08:26:36
[2026-08-29 08:26:36,919.919 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:26:36,955.955 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:26:37,092.092 INFO    ] No existing commands found in stream
[2026-08-29 08:26:42,120.120 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:26:42,124.124 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-08-29 08:26:45,964.964 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:26:45,965.965 INFO    ] Checking for system updates...
[2026-08-29 08:26:45,990.990 INFO    ] 200
[2026-08-29 08:26:45,991.991 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:26:46,021.021 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:26:46,023.023 INFO    ] No update needed
[2026-08-29 08:26:46,024.024 INFO    ] Checking for camera pi updates...
[2026-08-29 08:26:46,047.047 INFO    ] 200
[2026-08-29 08:26:46,049.049 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:26:46,077.077 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:26:46,174.174 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:26:46,177.177 INFO    ] No camera update needed
[2026-08-29 08:26:46,180.180 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:26:46,183.183 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:26:46,189.189 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:26:46,194.194 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:26:48,235.235 INFO    ] ================================================
[2026-08-29 08:26:48,250.250 INFO    ] Launching Daemon at Sat Aug 29 08:26:48 IST 2026
[2026-08-29 08:26:48,261.261 INFO    ] ================================================
[2026-08-29 08:26:48,829.829 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:26:48
[2026-08-29 08:26:49,314.314 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:26:49,447.447 INFO    ] Initializing speech engine...
[2026-08-29 08:26:49,450.450 INFO    ] 2026-08-29 08:26:49
[2026-08-29 08:26:49,665.665 INFO    ] 2026-08-29 08:26:49
[2026-08-29 08:26:49,693.693 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:26:49,843.843 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:26:49,882.882 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:26:50,037.037 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:26:50,057.057 INFO    ] time= 29/08/2026 08:26:50
[2026-08-29 08:26:50,098.098 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:26:50,140.140 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:26:50,239.239 INFO    ] No existing commands found in stream
[2026-08-29 08:26:55,248.248 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:26:55,250.250 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-08-29 08:26:57,234.234 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:26:57,236.236 INFO    ] Checking for system updates...
[2026-08-29 08:26:57,258.258 INFO    ] 200
[2026-08-29 08:26:57,260.260 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:26:57,290.290 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:26:57,291.291 INFO    ] No update needed
[2026-08-29 08:26:57,293.293 INFO    ] Checking for camera pi updates...
[2026-08-29 08:26:57,312.312 INFO    ] 200
[2026-08-29 08:26:57,314.314 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:26:57,337.337 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:26:57,431.431 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:26:57,432.432 INFO    ] No camera update needed
[2026-08-29 08:26:57,434.434 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:26:57,435.435 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:26:57,438.438 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:26:57,441.441 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:26:59,480.480 INFO    ] ================================================
[2026-08-29 08:26:59,495.495 INFO    ] Launching Daemon at Sat Aug 29 08:26:59 IST 2026
[2026-08-29 08:26:59,506.506 INFO    ] ================================================
[2026-08-29 08:26:59,863.863 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:26:59
[2026-08-29 08:27:00,174.174 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:27:00,307.307 INFO    ] Initializing speech engine...
[2026-08-29 08:27:00,320.320 INFO    ] 2026-08-29 08:27:00
[2026-08-29 08:27:00,557.557 INFO    ] 2026-08-29 08:27:00
[2026-08-29 08:27:00,622.622 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:27:00,757.757 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:27:00,776.776 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:27:00,946.946 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:27:00,999.999 INFO    ] time= 29/08/2026 08:27:00
[2026-08-29 08:27:01,006.006 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:27:01,023.023 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:27:01,121.121 INFO    ] No existing commands found in stream
[2026-08-29 08:27:06,143.143 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:27:06,146.146 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-08-29 08:27:08,517.517 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:27:08,519.519 INFO    ] Checking for system updates...
[2026-08-29 08:27:08,539.539 INFO    ] 200
[2026-08-29 08:27:08,540.540 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:27:08,571.571 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:27:08,572.572 INFO    ] No update needed
[2026-08-29 08:27:08,573.573 INFO    ] Checking for camera pi updates...
[2026-08-29 08:27:08,593.593 INFO    ] 200
[2026-08-29 08:27:08,595.595 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:27:08,619.619 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:27:08,718.718 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:27:08,719.719 INFO    ] No camera update needed
[2026-08-29 08:27:08,720.720 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:27:08,721.721 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:27:08,724.724 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:27:08,727.727 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:27:10,766.766 INFO    ] ================================================
[2026-08-29 08:27:10,780.780 INFO    ] Launching Daemon at Sat Aug 29 08:27:10 IST 2026
[2026-08-29 08:27:10,791.791 INFO    ] ================================================
[2026-08-29 08:27:11,125.125 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:27:11
[2026-08-29 08:27:11,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:27:11,575.575 INFO    ] Initializing speech engine...
[2026-08-29 08:27:11,588.588 INFO    ] 2026-08-29 08:27:11
[2026-08-29 08:27:11,805.805 INFO    ] 2026-08-29 08:27:11
[2026-08-29 08:27:11,835.835 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:27:11,966.966 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:27:12,019.019 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:27:12,176.176 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:27:12,233.233 INFO    ] time= 29/08/2026 08:27:12
[2026-08-29 08:27:12,261.261 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:27:12,279.279 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:27:12,354.354 INFO    ] No existing commands found in stream
[2026-08-29 08:27:17,364.364 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:27:17,367.367 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-08-29 08:27:17,991.991 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:27:17,993.993 INFO    ] Checking for system updates...
[2026-08-29 08:27:18,013.013 INFO    ] 200
[2026-08-29 08:27:18,014.014 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:27:18,044.044 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:27:18,046.046 INFO    ] No update needed
[2026-08-29 08:27:18,047.047 INFO    ] Checking for camera pi updates...
[2026-08-29 08:27:18,066.066 INFO    ] 200
[2026-08-29 08:27:18,067.067 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:27:18,090.090 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:27:18,264.264 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:27:18,266.266 INFO    ] No camera update needed
[2026-08-29 08:27:18,267.267 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:27:18,268.268 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:27:18,271.271 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:27:18,274.274 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:27:20,313.313 INFO    ] ================================================
[2026-08-29 08:27:20,329.329 INFO    ] Launching Daemon at Sat Aug 29 08:27:20 IST 2026
[2026-08-29 08:27:20,339.339 INFO    ] ================================================
[2026-08-29 08:27:20,664.664 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:27:20
[2026-08-29 08:27:20,976.976 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:27:21,108.108 INFO    ] Initializing speech engine...
[2026-08-29 08:27:21,112.112 INFO    ] 2026-08-29 08:27:21
[2026-08-29 08:27:21,366.366 INFO    ] 2026-08-29 08:27:21
[2026-08-29 08:27:21,404.404 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:27:21,597.597 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:27:21,604.604 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:27:21,715.715 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:27:21,737.737 INFO    ] time= 29/08/2026 08:27:21
[2026-08-29 08:27:21,742.742 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:27:21,749.749 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:27:21,843.843 INFO    ] No existing commands found in stream
[2026-08-29 08:27:26,873.873 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:27:26,876.876 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-08-29 08:27:28,838.838 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:27:28,840.840 INFO    ] Checking for system updates...
[2026-08-29 08:27:28,860.860 INFO    ] 200
[2026-08-29 08:27:28,861.861 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:27:28,892.892 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:27:28,894.894 INFO    ] No update needed
[2026-08-29 08:27:28,895.895 INFO    ] Checking for camera pi updates...
[2026-08-29 08:27:28,914.914 INFO    ] 200
[2026-08-29 08:27:28,916.916 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:27:28,940.940 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:27:29,057.057 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:27:29,058.058 INFO    ] No camera update needed
[2026-08-29 08:27:29,060.060 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:27:29,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:27:29,064.064 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:27:29,066.066 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:27:31,104.104 INFO    ] ================================================
[2026-08-29 08:27:31,119.119 INFO    ] Launching Daemon at Sat Aug 29 08:27:31 IST 2026
[2026-08-29 08:27:31,130.130 INFO    ] ================================================
[2026-08-29 08:27:31,493.493 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:27:31
[2026-08-29 08:27:31,828.828 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:27:31,978.978 INFO    ] Initializing speech engine...
[2026-08-29 08:27:31,983.983 INFO    ] 2026-08-29 08:27:31
[2026-08-29 08:27:32,201.201 INFO    ] 2026-08-29 08:27:32
[2026-08-29 08:27:32,262.262 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:27:32,418.418 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:27:32,424.424 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:27:32,558.558 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:27:32,595.595 INFO    ] time= 29/08/2026 08:27:32
[2026-08-29 08:27:32,656.656 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:27:32,696.696 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:27:32,754.754 INFO    ] No existing commands found in stream
[2026-08-29 08:27:37,766.766 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:27:37,769.769 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 08:27:39,219.219 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:27:39,221.221 INFO    ] Checking for system updates...
[2026-08-29 08:27:39,260.260 INFO    ] 200
[2026-08-29 08:27:39,263.263 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:27:39,314.314 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:27:39,315.315 INFO    ] No update needed
[2026-08-29 08:27:39,316.316 INFO    ] Checking for camera pi updates...
[2026-08-29 08:27:39,335.335 INFO    ] 200
[2026-08-29 08:27:39,337.337 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:27:39,362.362 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:27:39,437.437 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:27:39,439.439 INFO    ] No camera update needed
[2026-08-29 08:27:39,440.440 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:27:39,441.441 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:27:39,444.444 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:27:39,447.447 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:27:41,485.485 INFO    ] ================================================
[2026-08-29 08:27:41,500.500 INFO    ] Launching Daemon at Sat Aug 29 08:27:41 IST 2026
[2026-08-29 08:27:41,511.511 INFO    ] ================================================
[2026-08-29 08:27:42,060.060 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:27:42
[2026-08-29 08:27:42,654.654 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:27:42,911.911 INFO    ] Initializing speech engine...
[2026-08-29 08:27:42,917.917 INFO    ] 2026-08-29 08:27:42
[2026-08-29 08:27:43,213.213 INFO    ] 2026-08-29 08:27:43
[2026-08-29 08:27:43,250.250 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:27:43,441.441 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:27:43,450.450 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:27:43,581.581 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:27:43,587.587 INFO    ] time= 29/08/2026 08:27:43
[2026-08-29 08:27:43,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:27:43,608.608 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:27:43,713.713 INFO    ] No existing commands found in stream
[2026-08-29 08:27:48,723.723 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:27:48,726.726 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-08-29 08:27:51,127.127 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:27:51,129.129 INFO    ] Checking for system updates...
[2026-08-29 08:27:51,149.149 INFO    ] 200
[2026-08-29 08:27:51,151.151 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:27:51,181.181 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:27:51,182.182 INFO    ] No update needed
[2026-08-29 08:27:51,184.184 INFO    ] Checking for camera pi updates...
[2026-08-29 08:27:51,203.203 INFO    ] 200
[2026-08-29 08:27:51,205.205 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:27:51,228.228 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:27:51,303.303 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:27:51,304.304 INFO    ] No camera update needed
[2026-08-29 08:27:51,306.306 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:27:51,307.307 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:27:51,310.310 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:27:51,313.313 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:27:53,352.352 INFO    ] ================================================
[2026-08-29 08:27:53,367.367 INFO    ] Launching Daemon at Sat Aug 29 08:27:53 IST 2026
[2026-08-29 08:27:53,377.377 INFO    ] ================================================
[2026-08-29 08:27:53,761.761 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:27:53
[2026-08-29 08:27:54,094.094 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:27:54,245.245 INFO    ] Initializing speech engine...
[2026-08-29 08:27:54,250.250 INFO    ] 2026-08-29 08:27:54
[2026-08-29 08:27:54,459.459 INFO    ] 2026-08-29 08:27:54
[2026-08-29 08:27:54,488.488 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:27:54,627.627 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:27:54,675.675 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:27:54,807.807 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:27:54,863.863 INFO    ] time= 29/08/2026 08:27:54
[2026-08-29 08:27:54,898.898 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:27:54,909.909 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:27:54,981.981 INFO    ] No existing commands found in stream
[2026-08-29 08:27:59,991.991 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:27:59,994.994 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-08-29 08:28:03,383.383 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:28:03,387.387 INFO    ] Checking for system updates...
[2026-08-29 08:28:03,428.428 INFO    ] 200
[2026-08-29 08:28:03,432.432 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:28:03,496.496 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:28:03,498.498 INFO    ] No update needed
[2026-08-29 08:28:03,501.501 INFO    ] Checking for camera pi updates...
[2026-08-29 08:28:03,548.548 INFO    ] 200
[2026-08-29 08:28:03,550.550 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:28:03,597.597 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:28:03,703.703 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:28:03,706.706 INFO    ] No camera update needed
[2026-08-29 08:28:03,709.709 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:28:03,712.712 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:28:03,719.719 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:28:03,725.725 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:28:05,765.765 INFO    ] ================================================
[2026-08-29 08:28:05,781.781 INFO    ] Launching Daemon at Sat Aug 29 08:28:05 IST 2026
[2026-08-29 08:28:05,791.791 INFO    ] ================================================
[2026-08-29 08:28:06,121.121 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:28:06
[2026-08-29 08:28:06,432.432 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:28:06,562.562 INFO    ] Initializing speech engine...
[2026-08-29 08:28:06,566.566 INFO    ] 2026-08-29 08:28:06
[2026-08-29 08:28:06,764.764 INFO    ] 2026-08-29 08:28:06
[2026-08-29 08:28:06,824.824 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:28:07,002.002 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:28:07,011.011 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:28:07,147.147 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:28:07,169.169 INFO    ] time= 29/08/2026 08:28:07
[2026-08-29 08:28:07,228.228 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:28:07,277.277 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:28:07,336.336 INFO    ] No existing commands found in stream
[2026-08-29 08:28:12,348.348 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:28:12,350.350 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-08-29 08:28:15,513.513 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:28:15,514.514 INFO    ] Checking for system updates...
[2026-08-29 08:28:15,534.534 INFO    ] 200
[2026-08-29 08:28:15,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:28:15,566.566 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:28:15,567.567 INFO    ] No update needed
[2026-08-29 08:28:15,568.568 INFO    ] Checking for camera pi updates...
[2026-08-29 08:28:15,588.588 INFO    ] 200
[2026-08-29 08:28:15,590.590 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:28:15,613.613 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:28:15,712.712 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:28:15,714.714 INFO    ] No camera update needed
[2026-08-29 08:28:15,717.717 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:28:15,719.719 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:28:15,724.724 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:28:15,729.729 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:28:17,769.769 INFO    ] ================================================
[2026-08-29 08:28:17,785.785 INFO    ] Launching Daemon at Sat Aug 29 08:28:17 IST 2026
[2026-08-29 08:28:17,795.795 INFO    ] ================================================
[2026-08-29 08:28:18,362.362 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:28:18
[2026-08-29 08:28:18,888.888 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:28:19,038.038 INFO    ] Initializing speech engine...
[2026-08-29 08:28:19,045.045 INFO    ] 2026-08-29 08:28:19
[2026-08-29 08:28:19,327.327 INFO    ] 2026-08-29 08:28:19
[2026-08-29 08:28:19,371.371 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:28:19,593.593 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:28:19,603.603 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:28:19,739.739 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:28:19,794.794 INFO    ] time= 29/08/2026 08:28:19
[2026-08-29 08:28:19,859.859 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:28:19,875.875 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:28:20,011.011 INFO    ] No existing commands found in stream
[2026-08-29 08:28:25,033.033 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:28:25,036.036 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-08-29 08:28:28,639.639 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:28:28,640.640 INFO    ] Checking for system updates...
[2026-08-29 08:28:28,660.660 INFO    ] 200
[2026-08-29 08:28:28,662.662 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:28:28,693.693 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:28:28,695.695 INFO    ] No update needed
[2026-08-29 08:28:28,696.696 INFO    ] Checking for camera pi updates...
[2026-08-29 08:28:28,715.715 INFO    ] 200
[2026-08-29 08:28:28,716.716 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:28:28,742.742 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:28:28,797.797 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:28:28,800.800 INFO    ] No camera update needed
[2026-08-29 08:28:28,802.802 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:28:28,804.804 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:28:28,809.809 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:28:28,814.814 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:28:30,855.855 INFO    ] ================================================
[2026-08-29 08:28:30,870.870 INFO    ] Launching Daemon at Sat Aug 29 08:28:30 IST 2026
[2026-08-29 08:28:30,880.880 INFO    ] ================================================
[2026-08-29 08:28:31,519.519 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:28:31
[2026-08-29 08:28:32,031.031 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:28:32,326.326 INFO    ] Initializing speech engine...
[2026-08-29 08:28:32,336.336 INFO    ] 2026-08-29 08:28:32
[2026-08-29 08:28:32,619.619 INFO    ] 2026-08-29 08:28:32
[2026-08-29 08:28:32,666.666 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:28:32,842.842 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:28:32,868.868 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:28:33,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:28:33,011.011 INFO    ] time= 29/08/2026 08:28:33
[2026-08-29 08:28:33,016.016 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:28:33,024.024 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:28:33,122.122 INFO    ] No existing commands found in stream
[2026-08-29 08:28:38,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:28:38,153.153 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 08:28:40,075.075 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:28:40,077.077 INFO    ] Checking for system updates...
[2026-08-29 08:28:40,097.097 INFO    ] 200
[2026-08-29 08:28:40,099.099 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:28:40,129.129 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:28:40,131.131 INFO    ] No update needed
[2026-08-29 08:28:40,132.132 INFO    ] Checking for camera pi updates...
[2026-08-29 08:28:40,152.152 INFO    ] 200
[2026-08-29 08:28:40,153.153 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:28:40,176.176 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:28:40,270.270 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:28:40,272.272 INFO    ] No camera update needed
[2026-08-29 08:28:40,275.275 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:28:40,278.278 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:28:40,283.283 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:28:40,289.289 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:28:42,331.331 INFO    ] ================================================
[2026-08-29 08:28:42,346.346 INFO    ] Launching Daemon at Sat Aug 29 08:28:42 IST 2026
[2026-08-29 08:28:42,357.357 INFO    ] ================================================
[2026-08-29 08:28:42,946.946 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:28:42
[2026-08-29 08:28:43,415.415 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:28:43,558.558 INFO    ] Initializing speech engine...
[2026-08-29 08:28:43,567.567 INFO    ] 2026-08-29 08:28:43
[2026-08-29 08:28:43,839.839 INFO    ] 2026-08-29 08:28:43
[2026-08-29 08:28:43,874.874 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:28:44,064.064 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:28:44,070.070 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:28:44,201.201 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:28:44,207.207 INFO    ] time= 29/08/2026 08:28:44
[2026-08-29 08:28:44,221.221 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:28:44,246.246 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:28:44,329.329 INFO    ] No existing commands found in stream
[2026-08-29 08:28:49,341.341 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:28:49,344.344 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-08-29 08:28:49,921.921 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:28:49,923.923 INFO    ] Checking for system updates...
[2026-08-29 08:28:49,944.944 INFO    ] 200
[2026-08-29 08:28:49,945.945 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:28:49,976.976 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:28:49,977.977 INFO    ] No update needed
[2026-08-29 08:28:49,978.978 INFO    ] Checking for camera pi updates...
[2026-08-29 08:28:49,998.998 INFO    ] 200
[2026-08-29 08:28:49,999.999 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:28:50,024.024 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:28:50,119.119 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:28:50,120.120 INFO    ] No camera update needed
[2026-08-29 08:28:50,122.122 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:28:50,123.123 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:28:50,126.126 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:28:50,129.129 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:28:52,168.168 INFO    ] ================================================
[2026-08-29 08:28:52,183.183 INFO    ] Launching Daemon at Sat Aug 29 08:28:52 IST 2026
[2026-08-29 08:28:52,193.193 INFO    ] ================================================
[2026-08-29 08:28:52,555.555 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:28:52
[2026-08-29 08:28:52,873.873 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:28:53,011.011 INFO    ] Initializing speech engine...
[2026-08-29 08:28:53,022.022 INFO    ] 2026-08-29 08:28:53
[2026-08-29 08:28:53,223.223 INFO    ] 2026-08-29 08:28:53
[2026-08-29 08:28:53,303.303 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:28:53,450.450 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:28:53,459.459 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:28:53,593.593 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:28:53,645.645 INFO    ] time= 29/08/2026 08:28:53
[2026-08-29 08:28:53,699.699 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:28:53,728.728 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:28:53,778.778 INFO    ] No existing commands found in stream
[2026-08-29 08:28:58,791.791 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:28:58,794.794 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-08-29 08:29:02,876.876 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:29:02,879.879 INFO    ] Checking for system updates...
[2026-08-29 08:29:02,921.921 INFO    ] 200
[2026-08-29 08:29:02,924.924 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:29:02,990.990 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:29:02,993.993 INFO    ] No update needed
[2026-08-29 08:29:02,997.997 INFO    ] Checking for camera pi updates...
[2026-08-29 08:29:03,037.037 INFO    ] 200
[2026-08-29 08:29:03,040.040 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:29:03,095.095 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:29:03,164.164 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:29:03,168.168 INFO    ] No camera update needed
[2026-08-29 08:29:03,171.171 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:29:03,175.175 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:29:03,183.183 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:29:03,190.190 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:29:05,231.231 INFO    ] ================================================
[2026-08-29 08:29:05,246.246 INFO    ] Launching Daemon at Sat Aug 29 08:29:05 IST 2026
[2026-08-29 08:29:05,257.257 INFO    ] ================================================
[2026-08-29 08:29:05,750.750 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:29:05
[2026-08-29 08:29:06,400.400 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:29:06,718.718 INFO    ] Initializing speech engine...
[2026-08-29 08:29:06,727.727 INFO    ] 2026-08-29 08:29:06
[2026-08-29 08:29:06,982.982 INFO    ] 2026-08-29 08:29:06
[2026-08-29 08:29:07,026.026 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:29:07,276.276 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:29:07,286.286 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:29:07,421.421 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:29:07,486.486 INFO    ] time= 29/08/2026 08:29:07
[2026-08-29 08:29:07,550.550 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:29:07,557.557 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:29:07,678.678 INFO    ] No existing commands found in stream
[2026-08-29 08:29:12,708.708 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:29:12,711.711 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-08-29 08:29:16,939.939 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:29:16,940.940 INFO    ] Checking for system updates...
[2026-08-29 08:29:16,961.961 INFO    ] 200
[2026-08-29 08:29:16,963.963 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:29:16,993.993 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:29:16,995.995 INFO    ] No update needed
[2026-08-29 08:29:16,996.996 INFO    ] Checking for camera pi updates...
[2026-08-29 08:29:17,016.016 INFO    ] 200
[2026-08-29 08:29:17,017.017 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:29:17,040.040 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:29:17,140.140 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:29:17,143.143 INFO    ] No camera update needed
[2026-08-29 08:29:17,145.145 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:29:17,148.148 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:29:17,154.154 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:29:17,159.159 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:29:19,201.201 INFO    ] ================================================
[2026-08-29 08:29:19,217.217 INFO    ] Launching Daemon at Sat Aug 29 08:29:19 IST 2026
[2026-08-29 08:29:19,228.228 INFO    ] ================================================
[2026-08-29 08:29:19,815.815 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:29:19
[2026-08-29 08:29:20,306.306 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:29:20,502.502 INFO    ] Initializing speech engine...
[2026-08-29 08:29:20,518.518 INFO    ] 2026-08-29 08:29:20
[2026-08-29 08:29:20,771.771 INFO    ] 2026-08-29 08:29:20
[2026-08-29 08:29:20,807.807 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:29:20,988.988 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:29:21,006.006 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:29:21,131.131 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:29:21,139.139 INFO    ] time= 29/08/2026 08:29:21
[2026-08-29 08:29:21,147.147 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:29:21,187.187 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:29:21,244.244 INFO    ] No existing commands found in stream
[2026-08-29 08:29:26,254.254 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:29:26,257.257 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-08-29 08:29:28,145.145 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:29:28,146.146 INFO    ] Checking for system updates...
[2026-08-29 08:29:28,167.167 INFO    ] 200
[2026-08-29 08:29:28,168.168 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:29:28,201.201 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:29:28,202.202 INFO    ] No update needed
[2026-08-29 08:29:28,203.203 INFO    ] Checking for camera pi updates...
[2026-08-29 08:29:28,224.224 INFO    ] 200
[2026-08-29 08:29:28,225.225 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:29:28,249.249 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:29:28,435.435 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:29:28,437.437 INFO    ] No camera update needed
[2026-08-29 08:29:28,439.439 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:29:28,442.442 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:29:28,447.447 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:29:28,452.452 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:29:30,494.494 INFO    ] ================================================
[2026-08-29 08:29:30,509.509 INFO    ] Launching Daemon at Sat Aug 29 08:29:30 IST 2026
[2026-08-29 08:29:30,521.521 INFO    ] ================================================
[2026-08-29 08:29:31,094.094 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:29:31
[2026-08-29 08:29:31,541.541 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:29:31,674.674 INFO    ] Initializing speech engine...
[2026-08-29 08:29:31,686.686 INFO    ] 2026-08-29 08:29:31
[2026-08-29 08:29:31,895.895 INFO    ] 2026-08-29 08:29:31
[2026-08-29 08:29:31,928.928 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:29:32,064.064 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:29:32,069.069 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:29:32,242.242 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:29:32,281.281 INFO    ] time= 29/08/2026 08:29:32
[2026-08-29 08:29:32,287.287 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:29:32,307.307 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:29:32,413.413 INFO    ] No existing commands found in stream
[2026-08-29 08:29:37,431.431 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:29:37,434.434 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-08-29 08:29:40,083.083 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:29:40,084.084 INFO    ] Checking for system updates...
[2026-08-29 08:29:40,105.105 INFO    ] 200
[2026-08-29 08:29:40,106.106 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:29:40,137.137 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:29:40,139.139 INFO    ] No update needed
[2026-08-29 08:29:40,140.140 INFO    ] Checking for camera pi updates...
[2026-08-29 08:29:40,160.160 INFO    ] 200
[2026-08-29 08:29:40,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:29:40,184.184 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:29:40,287.287 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:29:40,289.289 INFO    ] No camera update needed
[2026-08-29 08:29:40,290.290 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:29:40,291.291 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:29:40,294.294 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:29:40,297.297 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:29:42,336.336 INFO    ] ================================================
[2026-08-29 08:29:42,352.352 INFO    ] Launching Daemon at Sat Aug 29 08:29:42 IST 2026
[2026-08-29 08:29:42,363.363 INFO    ] ================================================
[2026-08-29 08:29:42,718.718 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:29:42
[2026-08-29 08:29:43,051.051 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:29:43,195.195 INFO    ] Initializing speech engine...
[2026-08-29 08:29:43,205.205 INFO    ] 2026-08-29 08:29:43
[2026-08-29 08:29:43,413.413 INFO    ] 2026-08-29 08:29:43
[2026-08-29 08:29:43,442.442 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:29:43,574.574 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:29:43,626.626 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:29:43,764.764 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:29:43,823.823 INFO    ] time= 29/08/2026 08:29:43
[2026-08-29 08:29:43,854.854 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:29:43,856.856 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:29:43,927.927 INFO    ] No existing commands found in stream
[2026-08-29 08:29:48,938.938 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:29:48,941.941 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-08-29 08:29:52,200.200 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:29:52,202.202 INFO    ] Checking for system updates...
[2026-08-29 08:29:52,222.222 INFO    ] 200
[2026-08-29 08:29:52,224.224 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:29:52,254.254 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:29:52,256.256 INFO    ] No update needed
[2026-08-29 08:29:52,257.257 INFO    ] Checking for camera pi updates...
[2026-08-29 08:29:52,277.277 INFO    ] 200
[2026-08-29 08:29:52,278.278 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:29:52,302.302 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:29:52,383.383 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:29:52,384.384 INFO    ] No camera update needed
[2026-08-29 08:29:52,385.385 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:29:52,387.387 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:29:52,390.390 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:29:52,393.393 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:29:54,432.432 INFO    ] ================================================
[2026-08-29 08:29:54,447.447 INFO    ] Launching Daemon at Sat Aug 29 08:29:54 IST 2026
[2026-08-29 08:29:54,458.458 INFO    ] ================================================
[2026-08-29 08:29:54,794.794 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:29:54
[2026-08-29 08:29:55,114.114 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:29:55,252.252 INFO    ] Initializing speech engine...
[2026-08-29 08:29:55,261.261 INFO    ] 2026-08-29 08:29:55
[2026-08-29 08:29:55,478.478 INFO    ] 2026-08-29 08:29:55
[2026-08-29 08:29:55,559.559 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:29:55,713.713 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:29:55,718.718 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:29:55,847.847 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:29:55,884.884 INFO    ] time= 29/08/2026 08:29:55
[2026-08-29 08:29:55,943.943 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:29:55,980.980 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:29:56,097.097 INFO    ] No existing commands found in stream
[2026-08-29 08:30:01,124.124 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:30:01,127.127 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 08:30:01,650.650 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:30:01,651.651 INFO    ] Checking for system updates...
[2026-08-29 08:30:01,672.672 INFO    ] 200
[2026-08-29 08:30:01,673.673 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:30:01,907.907 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:30:01,911.911 INFO    ] No update needed
[2026-08-29 08:30:01,925.925 INFO    ] Checking for camera pi updates...
[2026-08-29 08:30:02,346.346 INFO    ] 200
[2026-08-29 08:30:02,349.349 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:30:02,633.633 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:30:02,983.983 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:30:02,986.986 INFO    ] No camera update needed
[2026-08-29 08:30:02,989.989 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:30:02,992.992 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:30:02,999.999 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:30:03,006.006 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:30:05,050.050 INFO    ] ================================================
[2026-08-29 08:30:05,066.066 INFO    ] Launching Daemon at Sat Aug 29 08:30:05 IST 2026
[2026-08-29 08:30:05,077.077 INFO    ] ================================================
[2026-08-29 08:30:05,457.457 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:30:05
[2026-08-29 08:30:05,823.823 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:30:06,126.126 INFO    ] Initializing speech engine...
[2026-08-29 08:30:06,140.140 INFO    ] 2026-08-29 08:30:06
[2026-08-29 08:30:06,410.410 INFO    ] 2026-08-29 08:30:06
[2026-08-29 08:30:06,466.466 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:30:06,689.689 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:30:06,699.699 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:30:06,835.835 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:30:06,879.879 INFO    ] time= 29/08/2026 08:30:06
[2026-08-29 08:30:06,945.945 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:30:06,971.971 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:30:07,093.093 INFO    ] No existing commands found in stream
[2026-08-29 08:30:12,124.124 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:30:12,128.128 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-08-29 08:30:13,755.755 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:30:13,757.757 INFO    ] Checking for system updates...
[2026-08-29 08:30:13,778.778 INFO    ] 200
[2026-08-29 08:30:13,779.779 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:30:13,809.809 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:30:13,811.811 INFO    ] No update needed
[2026-08-29 08:30:13,812.812 INFO    ] Checking for camera pi updates...
[2026-08-29 08:30:13,832.832 INFO    ] 200
[2026-08-29 08:30:13,834.834 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:30:13,893.893 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:30:13,978.978 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:30:13,981.981 INFO    ] No camera update needed
[2026-08-29 08:30:13,984.984 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:30:13,987.987 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:30:13,993.993 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:30:13,999.999 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:30:16,041.041 INFO    ] ================================================
[2026-08-29 08:30:16,057.057 INFO    ] Launching Daemon at Sat Aug 29 08:30:16 IST 2026
[2026-08-29 08:30:16,067.067 INFO    ] ================================================
[2026-08-29 08:30:16,723.723 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:30:16
[2026-08-29 08:30:17,184.184 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:30:17,337.337 INFO    ] Initializing speech engine...
[2026-08-29 08:30:17,343.343 INFO    ] 2026-08-29 08:30:17
[2026-08-29 08:30:17,551.551 INFO    ] 2026-08-29 08:30:17
[2026-08-29 08:30:17,591.591 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:30:17,760.760 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:30:17,769.769 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:30:17,930.930 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:30:17,975.975 INFO    ] time= 29/08/2026 08:30:17
[2026-08-29 08:30:17,993.993 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:30:18,000.000 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:30:18,119.119 INFO    ] No existing commands found in stream
[2026-08-29 08:30:23,143.143 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:30:23,145.145 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-08-29 08:30:26,951.951 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:30:26,953.953 INFO    ] Checking for system updates...
[2026-08-29 08:30:26,974.974 INFO    ] 200
[2026-08-29 08:30:26,975.975 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:30:27,005.005 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:30:27,007.007 INFO    ] No update needed
[2026-08-29 08:30:27,008.008 INFO    ] Checking for camera pi updates...
[2026-08-29 08:30:27,027.027 INFO    ] 200
[2026-08-29 08:30:27,028.028 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:30:27,053.053 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:30:27,145.145 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:30:27,146.146 INFO    ] No camera update needed
[2026-08-29 08:30:27,147.147 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:30:27,148.148 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:30:27,151.151 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:30:27,154.154 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:30:29,193.193 INFO    ] ================================================
[2026-08-29 08:30:29,208.208 INFO    ] Launching Daemon at Sat Aug 29 08:30:29 IST 2026
[2026-08-29 08:30:29,219.219 INFO    ] ================================================
[2026-08-29 08:30:29,587.587 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:30:29
[2026-08-29 08:30:29,927.927 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:30:30,083.083 INFO    ] Initializing speech engine...
[2026-08-29 08:30:30,087.087 INFO    ] 2026-08-29 08:30:30
[2026-08-29 08:30:30,298.298 INFO    ] 2026-08-29 08:30:30
[2026-08-29 08:30:30,327.327 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:30:30,453.453 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:30:30,491.491 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:30:30,648.648 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:30:30,677.677 INFO    ] time= 29/08/2026 08:30:30
[2026-08-29 08:30:30,731.731 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:30:30,754.754 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:30:30,828.828 INFO    ] No existing commands found in stream
[2026-08-29 08:30:35,843.843 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:30:35,846.846 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-08-29 08:30:39,526.526 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:30:39,528.528 INFO    ] Checking for system updates...
[2026-08-29 08:30:39,549.549 INFO    ] 200
[2026-08-29 08:30:39,550.550 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:30:39,581.581 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:30:39,582.582 INFO    ] No update needed
[2026-08-29 08:30:39,584.584 INFO    ] Checking for camera pi updates...
[2026-08-29 08:30:39,604.604 INFO    ] 200
[2026-08-29 08:30:39,605.605 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:30:39,628.628 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:30:39,731.731 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:30:39,732.732 INFO    ] No camera update needed
[2026-08-29 08:30:39,734.734 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:30:39,735.735 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:30:39,738.738 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:30:39,741.741 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:30:41,783.783 INFO    ] ================================================
[2026-08-29 08:30:41,799.799 INFO    ] Launching Daemon at Sat Aug 29 08:30:41 IST 2026
[2026-08-29 08:30:41,810.810 INFO    ] ================================================
[2026-08-29 08:30:42,146.146 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:30:42
[2026-08-29 08:30:42,465.465 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:30:42,604.604 INFO    ] Initializing speech engine...
[2026-08-29 08:30:42,613.613 INFO    ] 2026-08-29 08:30:42
[2026-08-29 08:30:42,818.818 INFO    ] 2026-08-29 08:30:42
[2026-08-29 08:30:42,845.845 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:30:42,974.974 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:30:42,983.983 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:30:43,154.154 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:30:43,186.186 INFO    ] time= 29/08/2026 08:30:43
[2026-08-29 08:30:43,192.192 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:30:43,212.212 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:30:43,331.331 INFO    ] No existing commands found in stream
[2026-08-29 08:30:48,353.353 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:30:48,355.355 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-08-29 08:30:49,589.589 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:30:49,590.590 INFO    ] Checking for system updates...
[2026-08-29 08:30:49,611.611 INFO    ] 200
[2026-08-29 08:30:49,613.613 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:30:49,643.643 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:30:49,645.645 INFO    ] No update needed
[2026-08-29 08:30:49,646.646 INFO    ] Checking for camera pi updates...
[2026-08-29 08:30:49,667.667 INFO    ] 200
[2026-08-29 08:30:49,668.668 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:30:49,693.693 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:30:49,778.778 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:30:49,780.780 INFO    ] No camera update needed
[2026-08-29 08:30:49,781.781 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:30:49,783.783 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:30:49,786.786 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:30:49,789.789 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:30:51,829.829 INFO    ] ================================================
[2026-08-29 08:30:51,845.845 INFO    ] Launching Daemon at Sat Aug 29 08:30:51 IST 2026
[2026-08-29 08:30:51,856.856 INFO    ] ================================================
[2026-08-29 08:30:52,202.202 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:30:52
[2026-08-29 08:30:52,515.515 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:30:52,654.654 INFO    ] Initializing speech engine...
[2026-08-29 08:30:52,662.662 INFO    ] 2026-08-29 08:30:52
[2026-08-29 08:30:52,872.872 INFO    ] 2026-08-29 08:30:52
[2026-08-29 08:30:52,901.901 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:30:53,027.027 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:30:53,091.091 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:30:53,230.230 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:30:53,296.296 INFO    ] time= 29/08/2026 08:30:53
[2026-08-29 08:30:53,325.325 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:30:53,327.327 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:30:53,400.400 INFO    ] No existing commands found in stream
[2026-08-29 08:30:58,409.409 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:30:58,412.412 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-08-29 08:30:59,453.453 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:30:59,454.454 INFO    ] Checking for system updates...
[2026-08-29 08:30:59,475.475 INFO    ] 200
[2026-08-29 08:30:59,476.476 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:30:59,507.507 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:30:59,509.509 INFO    ] No update needed
[2026-08-29 08:30:59,510.510 INFO    ] Checking for camera pi updates...
[2026-08-29 08:30:59,529.529 INFO    ] 200
[2026-08-29 08:30:59,531.531 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:30:59,555.555 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:30:59,652.652 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:30:59,653.653 INFO    ] No camera update needed
[2026-08-29 08:30:59,655.655 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:30:59,656.656 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:30:59,659.659 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:30:59,662.662 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:31:01,718.718 INFO    ] ================================================
[2026-08-29 08:31:01,743.743 INFO    ] Launching Daemon at Sat Aug 29 08:31:01 IST 2026
[2026-08-29 08:31:01,775.775 INFO    ] ================================================
[2026-08-29 08:31:02,441.441 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:31:02
[2026-08-29 08:31:03,126.126 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:31:03,423.423 INFO    ] Initializing speech engine...
[2026-08-29 08:31:03,438.438 INFO    ] 2026-08-29 08:31:03
[2026-08-29 08:31:03,702.702 INFO    ] 2026-08-29 08:31:03
[2026-08-29 08:31:03,738.738 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:31:03,884.884 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:31:03,891.891 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:31:04,040.040 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:31:04,049.049 INFO    ] time= 29/08/2026 08:31:04
[2026-08-29 08:31:04,054.054 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:31:04,059.059 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:31:04,131.131 INFO    ] No existing commands found in stream
[2026-08-29 08:31:09,141.141 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:31:09,144.144 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-08-29 08:31:12,938.938 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:31:12,939.939 INFO    ] Checking for system updates...
[2026-08-29 08:31:12,959.959 INFO    ] 200
[2026-08-29 08:31:12,961.961 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:31:12,993.993 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:31:12,994.994 INFO    ] No update needed
[2026-08-29 08:31:12,996.996 INFO    ] Checking for camera pi updates...
[2026-08-29 08:31:13,015.015 INFO    ] 200
[2026-08-29 08:31:13,016.016 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:31:13,041.041 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:31:13,145.145 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:31:13,148.148 INFO    ] No camera update needed
[2026-08-29 08:31:13,150.150 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:31:13,152.152 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:31:13,157.157 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:31:13,162.162 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:31:15,202.202 INFO    ] ================================================
[2026-08-29 08:31:15,217.217 INFO    ] Launching Daemon at Sat Aug 29 08:31:15 IST 2026
[2026-08-29 08:31:15,228.228 INFO    ] ================================================
[2026-08-29 08:31:15,803.803 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:31:15
[2026-08-29 08:31:16,314.314 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:31:16,466.466 INFO    ] Initializing speech engine...
[2026-08-29 08:31:16,470.470 INFO    ] 2026-08-29 08:31:16
[2026-08-29 08:31:16,676.676 INFO    ] 2026-08-29 08:31:16
[2026-08-29 08:31:16,705.705 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:31:16,827.827 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:31:16,880.880 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:31:17,026.026 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:31:17,089.089 INFO    ] time= 29/08/2026 08:31:17
[2026-08-29 08:31:17,125.125 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:31:17,167.167 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:31:17,272.272 INFO    ] No existing commands found in stream
[2026-08-29 08:31:22,303.303 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:31:22,306.306 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-08-29 08:31:23,666.666 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:31:23,667.667 INFO    ] Checking for system updates...
[2026-08-29 08:31:23,687.687 INFO    ] 200
[2026-08-29 08:31:23,689.689 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:31:23,719.719 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:31:23,720.720 INFO    ] No update needed
[2026-08-29 08:31:23,722.722 INFO    ] Checking for camera pi updates...
[2026-08-29 08:31:23,744.744 INFO    ] 200
[2026-08-29 08:31:23,746.746 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:31:23,769.769 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:31:23,870.870 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:31:23,872.872 INFO    ] No camera update needed
[2026-08-29 08:31:23,873.873 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:31:23,878.878 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:31:23,881.881 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:31:23,884.884 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:31:25,923.923 INFO    ] ================================================
[2026-08-29 08:31:25,938.938 INFO    ] Launching Daemon at Sat Aug 29 08:31:25 IST 2026
[2026-08-29 08:31:25,949.949 INFO    ] ================================================
[2026-08-29 08:31:26,293.293 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:31:26
[2026-08-29 08:31:26,606.606 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:31:26,737.737 INFO    ] Initializing speech engine...
[2026-08-29 08:31:26,740.740 INFO    ] 2026-08-29 08:31:26
[2026-08-29 08:31:26,943.943 INFO    ] 2026-08-29 08:31:26
[2026-08-29 08:31:26,987.987 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:31:27,205.205 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:31:27,215.215 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:31:27,347.347 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:31:27,368.368 INFO    ] time= 29/08/2026 08:31:27
[2026-08-29 08:31:27,428.428 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:31:27,479.479 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:31:27,537.537 INFO    ] No existing commands found in stream
[2026-08-29 08:31:32,544.544 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:31:32,547.547 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-08-29 08:31:36,899.899 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:31:36,902.902 INFO    ] Checking for system updates...
[2026-08-29 08:31:36,937.937 INFO    ] 200
[2026-08-29 08:31:36,940.940 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:31:36,992.992 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:31:36,994.994 INFO    ] No update needed
[2026-08-29 08:31:36,997.997 INFO    ] Checking for camera pi updates...
[2026-08-29 08:31:37,030.030 INFO    ] 200
[2026-08-29 08:31:37,033.033 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:31:37,078.078 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:31:37,164.164 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:31:37,166.166 INFO    ] No camera update needed
[2026-08-29 08:31:37,168.168 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:31:37,171.171 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:31:37,176.176 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:31:37,181.181 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:31:39,222.222 INFO    ] ================================================
[2026-08-29 08:31:39,237.237 INFO    ] Launching Daemon at Sat Aug 29 08:31:39 IST 2026
[2026-08-29 08:31:39,248.248 INFO    ] ================================================
[2026-08-29 08:31:39,595.595 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:31:39
[2026-08-29 08:31:39,906.906 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:31:40,125.125 INFO    ] Initializing speech engine...
[2026-08-29 08:31:40,134.134 INFO    ] 2026-08-29 08:31:40
[2026-08-29 08:31:40,386.386 INFO    ] 2026-08-29 08:31:40
[2026-08-29 08:31:40,443.443 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:31:40,609.609 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:31:40,642.642 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:31:40,810.810 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:31:40,832.832 INFO    ] time= 29/08/2026 08:31:40
[2026-08-29 08:31:40,901.901 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:31:40,944.944 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:31:41,001.001 INFO    ] No existing commands found in stream
[2026-08-29 08:31:46,013.013 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:31:46,015.015 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 08:31:48,552.552 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:31:48,554.554 INFO    ] Checking for system updates...
[2026-08-29 08:31:48,574.574 INFO    ] 200
[2026-08-29 08:31:48,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:31:48,608.608 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:31:48,609.609 INFO    ] No update needed
[2026-08-29 08:31:48,610.610 INFO    ] Checking for camera pi updates...
[2026-08-29 08:31:48,629.629 INFO    ] 200
[2026-08-29 08:31:48,630.630 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:31:48,654.654 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:31:48,732.732 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:31:48,733.733 INFO    ] No camera update needed
[2026-08-29 08:31:48,735.735 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:31:48,736.736 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:31:48,739.739 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:31:48,741.741 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:31:50,780.780 INFO    ] ================================================
[2026-08-29 08:31:50,795.795 INFO    ] Launching Daemon at Sat Aug 29 08:31:50 IST 2026
[2026-08-29 08:31:50,806.806 INFO    ] ================================================
[2026-08-29 08:31:51,152.152 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:31:51
[2026-08-29 08:31:51,463.463 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:31:51,648.648 INFO    ] Initializing speech engine...
[2026-08-29 08:31:51,657.657 INFO    ] 2026-08-29 08:31:51
[2026-08-29 08:31:51,918.918 INFO    ] 2026-08-29 08:31:51
[2026-08-29 08:31:51,973.973 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:31:52,124.124 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:31:52,139.139 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:31:52,267.267 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:31:52,275.275 INFO    ] time= 29/08/2026 08:31:52
[2026-08-29 08:31:52,281.281 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:31:52,322.322 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:31:52,440.440 INFO    ] No existing commands found in stream
[2026-08-29 08:31:57,465.465 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:31:57,468.468 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-08-29 08:31:58,343.343 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:31:58,345.345 INFO    ] Checking for system updates...
[2026-08-29 08:31:58,365.365 INFO    ] 200
[2026-08-29 08:31:58,367.367 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:31:58,399.399 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:31:58,400.400 INFO    ] No update needed
[2026-08-29 08:31:58,401.401 INFO    ] Checking for camera pi updates...
[2026-08-29 08:31:58,421.421 INFO    ] 200
[2026-08-29 08:31:58,422.422 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:31:58,448.448 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:31:58,535.535 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:31:58,536.536 INFO    ] No camera update needed
[2026-08-29 08:31:58,538.538 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:31:58,539.539 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:31:58,542.542 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:31:58,545.545 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:32:00,583.583 INFO    ] ================================================
[2026-08-29 08:32:00,599.599 INFO    ] Launching Daemon at Sat Aug 29 08:32:00 IST 2026
[2026-08-29 08:32:00,609.609 INFO    ] ================================================
[2026-08-29 08:32:00,953.953 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:32:00
[2026-08-29 08:32:01,264.264 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:32:01,852.852 INFO    ] Initializing speech engine...
[2026-08-29 08:32:01,859.859 INFO    ] 2026-08-29 08:32:01
[2026-08-29 08:32:02,272.272 INFO    ] 2026-08-29 08:32:02
[2026-08-29 08:32:02,311.311 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:32:02,450.450 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:32:02,468.468 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:32:02,621.621 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:32:02,654.654 INFO    ] time= 29/08/2026 08:32:02
[2026-08-29 08:32:02,667.667 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:32:02,679.679 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:32:02,767.767 INFO    ] No existing commands found in stream
[2026-08-29 08:32:07,791.791 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:32:07,794.794 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-08-29 08:32:10,770.770 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:32:10,773.773 INFO    ] Checking for system updates...
[2026-08-29 08:32:10,812.812 INFO    ] 200
[2026-08-29 08:32:10,815.815 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:32:10,874.874 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:32:10,877.877 INFO    ] No update needed
[2026-08-29 08:32:10,880.880 INFO    ] Checking for camera pi updates...
[2026-08-29 08:32:10,918.918 INFO    ] 200
[2026-08-29 08:32:10,921.921 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:32:10,970.970 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:32:11,070.070 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:32:11,073.073 INFO    ] No camera update needed
[2026-08-29 08:32:11,076.076 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:32:11,078.078 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:32:11,084.084 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:32:11,090.090 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:32:13,131.131 INFO    ] ================================================
[2026-08-29 08:32:13,147.147 INFO    ] Launching Daemon at Sat Aug 29 08:32:13 IST 2026
[2026-08-29 08:32:13,157.157 INFO    ] ================================================
[2026-08-29 08:32:13,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:32:13
[2026-08-29 08:32:14,001.001 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:32:14,138.138 INFO    ] Initializing speech engine...
[2026-08-29 08:32:14,146.146 INFO    ] 2026-08-29 08:32:14
[2026-08-29 08:32:14,354.354 INFO    ] 2026-08-29 08:32:14
[2026-08-29 08:32:14,402.402 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:32:14,573.573 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:32:14,579.579 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:32:14,744.744 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:32:14,778.778 INFO    ] time= 29/08/2026 08:32:14
[2026-08-29 08:32:14,784.784 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:32:14,801.801 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:32:14,924.924 INFO    ] No existing commands found in stream
[2026-08-29 08:32:19,943.943 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:32:19,946.946 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-08-29 08:32:22,162.162 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:32:22,164.164 INFO    ] Checking for system updates...
[2026-08-29 08:32:22,185.185 INFO    ] 200
[2026-08-29 08:32:22,186.186 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:32:22,216.216 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:32:22,218.218 INFO    ] No update needed
[2026-08-29 08:32:22,219.219 INFO    ] Checking for camera pi updates...
[2026-08-29 08:32:22,239.239 INFO    ] 200
[2026-08-29 08:32:22,241.241 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:32:22,264.264 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:32:22,369.369 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:32:22,370.370 INFO    ] No camera update needed
[2026-08-29 08:32:22,371.371 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:32:22,373.373 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:32:22,375.375 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:32:22,378.378 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:32:24,417.417 INFO    ] ================================================
[2026-08-29 08:32:24,437.437 INFO    ] Launching Daemon at Sat Aug 29 08:32:24 IST 2026
[2026-08-29 08:32:24,460.460 INFO    ] ================================================
[2026-08-29 08:32:24,907.907 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:32:24
[2026-08-29 08:32:25,501.501 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:32:25,763.763 INFO    ] Initializing speech engine...
[2026-08-29 08:32:25,782.782 INFO    ] 2026-08-29 08:32:25
[2026-08-29 08:32:26,039.039 INFO    ] 2026-08-29 08:32:26
[2026-08-29 08:32:26,100.100 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:32:26,323.323 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:32:26,332.332 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:32:26,465.465 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:32:26,492.492 INFO    ] time= 29/08/2026 08:32:26
[2026-08-29 08:32:26,562.562 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:32:26,599.599 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:32:26,675.675 INFO    ] No existing commands found in stream
[2026-08-29 08:32:31,703.703 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:32:31,705.705 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-08-29 08:32:33,951.951 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:32:33,953.953 INFO    ] Checking for system updates...
[2026-08-29 08:32:33,989.989 INFO    ] 200
[2026-08-29 08:32:33,992.992 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:32:34,050.050 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:32:34,053.053 INFO    ] No update needed
[2026-08-29 08:32:34,056.056 INFO    ] Checking for camera pi updates...
[2026-08-29 08:32:34,092.092 INFO    ] 200
[2026-08-29 08:32:34,095.095 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:32:34,135.135 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:32:34,240.240 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:32:34,243.243 INFO    ] No camera update needed
[2026-08-29 08:32:34,245.245 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:32:34,247.247 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:32:34,252.252 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:32:34,257.257 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:32:36,300.300 INFO    ] ================================================
[2026-08-29 08:32:36,315.315 INFO    ] Launching Daemon at Sat Aug 29 08:32:36 IST 2026
[2026-08-29 08:32:36,326.326 INFO    ] ================================================
[2026-08-29 08:32:36,757.757 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:32:36
[2026-08-29 08:32:37,346.346 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:32:37,604.604 INFO    ] Initializing speech engine...
[2026-08-29 08:32:37,611.611 INFO    ] 2026-08-29 08:32:37
[2026-08-29 08:32:37,903.903 INFO    ] 2026-08-29 08:32:37
[2026-08-29 08:32:37,938.938 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:32:38,085.085 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:32:38,094.094 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:32:38,243.243 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:32:38,254.254 INFO    ] time= 29/08/2026 08:32:38
[2026-08-29 08:32:38,259.259 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:32:38,282.282 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:32:38,334.334 INFO    ] No existing commands found in stream
[2026-08-29 08:32:43,344.344 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:32:43,347.347 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-08-29 08:32:46,755.755 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:32:46,756.756 INFO    ] Checking for system updates...
[2026-08-29 08:32:46,777.777 INFO    ] 200
[2026-08-29 08:32:46,778.778 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:32:46,807.807 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:32:46,809.809 INFO    ] No update needed
[2026-08-29 08:32:46,810.810 INFO    ] Checking for camera pi updates...
[2026-08-29 08:32:46,829.829 INFO    ] 200
[2026-08-29 08:32:46,830.830 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:32:46,855.855 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:32:46,932.932 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:32:46,934.934 INFO    ] No camera update needed
[2026-08-29 08:32:46,935.935 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:32:46,936.936 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:32:46,939.939 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:32:46,943.943 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:32:48,983.983 INFO    ] ================================================
[2026-08-29 08:32:49,998.998 INFO    ] Launching Daemon at Sat Aug 29 08:32:48 IST 2026
[2026-08-29 08:32:49,009.009 INFO    ] ================================================
[2026-08-29 08:32:49,578.578 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:32:49
[2026-08-29 08:32:50,074.074 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:32:50,210.210 INFO    ] Initializing speech engine...
[2026-08-29 08:32:50,224.224 INFO    ] 2026-08-29 08:32:50
[2026-08-29 08:32:50,442.442 INFO    ] 2026-08-29 08:32:50
[2026-08-29 08:32:50,472.472 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:32:50,600.600 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:32:50,648.648 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:32:50,795.795 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:32:50,852.852 INFO    ] time= 29/08/2026 08:32:50
[2026-08-29 08:32:50,887.887 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:32:50,898.898 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:32:50,970.970 INFO    ] No existing commands found in stream
[2026-08-29 08:32:55,981.981 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:32:55,984.984 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-08-29 08:32:56,629.629 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:32:56,631.631 INFO    ] Checking for system updates...
[2026-08-29 08:32:56,652.652 INFO    ] 200
[2026-08-29 08:32:56,653.653 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:32:56,686.686 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:32:56,688.688 INFO    ] No update needed
[2026-08-29 08:32:56,689.689 INFO    ] Checking for camera pi updates...
[2026-08-29 08:32:56,708.708 INFO    ] 200
[2026-08-29 08:32:56,709.709 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:32:56,732.732 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:32:56,823.823 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:32:56,824.824 INFO    ] No camera update needed
[2026-08-29 08:32:56,825.825 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:32:56,827.827 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:32:56,829.829 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:32:56,832.832 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:32:58,870.870 INFO    ] ================================================
[2026-08-29 08:32:58,886.886 INFO    ] Launching Daemon at Sat Aug 29 08:32:58 IST 2026
[2026-08-29 08:32:58,897.897 INFO    ] ================================================
[2026-08-29 08:32:59,233.233 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:32:59
[2026-08-29 08:32:59,546.546 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:32:59,731.731 INFO    ] Initializing speech engine...
[2026-08-29 08:32:59,741.741 INFO    ] 2026-08-29 08:32:59
[2026-08-29 08:32:59,988.988 INFO    ] 2026-08-29 08:32:59
[2026-08-29 08:33:00,023.023 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:33:00,196.196 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:33:00,220.220 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:33:00,350.350 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:33:00,359.359 INFO    ] time= 29/08/2026 08:33:00
[2026-08-29 08:33:00,366.366 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:33:00,414.414 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:33:00,558.558 INFO    ] No existing commands found in stream
[2026-08-29 08:33:05,570.570 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:33:05,573.573 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-08-29 08:33:07,441.441 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:33:07,443.443 INFO    ] Checking for system updates...
[2026-08-29 08:33:07,463.463 INFO    ] 200
[2026-08-29 08:33:07,465.465 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:33:07,495.495 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:33:07,496.496 INFO    ] No update needed
[2026-08-29 08:33:07,497.497 INFO    ] Checking for camera pi updates...
[2026-08-29 08:33:07,517.517 INFO    ] 200
[2026-08-29 08:33:07,518.518 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:33:07,541.541 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:33:07,620.620 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:33:07,621.621 INFO    ] No camera update needed
[2026-08-29 08:33:07,623.623 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:33:07,624.624 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:33:07,627.627 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:33:07,630.630 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:33:09,669.669 INFO    ] ================================================
[2026-08-29 08:33:09,685.685 INFO    ] Launching Daemon at Sat Aug 29 08:33:09 IST 2026
[2026-08-29 08:33:09,696.696 INFO    ] ================================================
[2026-08-29 08:33:10,309.309 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:33:10
[2026-08-29 08:33:10,973.973 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:33:11,238.238 INFO    ] Initializing speech engine...
[2026-08-29 08:33:11,254.254 INFO    ] 2026-08-29 08:33:11
[2026-08-29 08:33:11,510.510 INFO    ] 2026-08-29 08:33:11
[2026-08-29 08:33:11,551.551 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:33:11,718.718 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:33:11,743.743 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:33:11,872.872 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:33:11,880.880 INFO    ] time= 29/08/2026 08:33:11
[2026-08-29 08:33:11,887.887 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:33:11,938.938 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:33:12,038.038 INFO    ] No existing commands found in stream
[2026-08-29 08:33:17,069.069 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:33:17,081.081 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-08-29 08:33:18,662.662 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:33:18,663.663 INFO    ] Checking for system updates...
[2026-08-29 08:33:18,685.685 INFO    ] 200
[2026-08-29 08:33:18,686.686 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:33:18,723.723 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:33:18,725.725 INFO    ] No update needed
[2026-08-29 08:33:18,728.728 INFO    ] Checking for camera pi updates...
[2026-08-29 08:33:18,761.761 INFO    ] 200
[2026-08-29 08:33:18,764.764 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:33:18,809.809 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:33:18,889.889 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:33:18,891.891 INFO    ] No camera update needed
[2026-08-29 08:33:18,894.894 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:33:18,896.896 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:33:18,902.902 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:33:18,907.907 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:33:20,946.946 INFO    ] ================================================
[2026-08-29 08:33:20,965.965 INFO    ] Launching Daemon at Sat Aug 29 08:33:20 IST 2026
[2026-08-29 08:33:20,976.976 INFO    ] ================================================
[2026-08-29 08:33:21,541.541 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:33:21
[2026-08-29 08:33:22,037.037 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:33:22,288.288 INFO    ] Initializing speech engine...
[2026-08-29 08:33:22,311.311 INFO    ] 2026-08-29 08:33:22
[2026-08-29 08:33:22,563.563 INFO    ] 2026-08-29 08:33:22
[2026-08-29 08:33:22,598.598 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:33:22,770.770 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:33:22,782.782 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:33:22,922.922 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:33:22,929.929 INFO    ] time= 29/08/2026 08:33:22
[2026-08-29 08:33:22,933.933 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:33:22,939.939 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:33:23,003.003 INFO    ] No existing commands found in stream
[2026-08-29 08:33:28,016.016 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:33:28,018.018 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-08-29 08:33:28,854.854 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:33:28,856.856 INFO    ] Checking for system updates...
[2026-08-29 08:33:28,877.877 INFO    ] 200
[2026-08-29 08:33:28,879.879 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:33:28,909.909 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:33:28,910.910 INFO    ] No update needed
[2026-08-29 08:33:28,911.911 INFO    ] Checking for camera pi updates...
[2026-08-29 08:33:28,931.931 INFO    ] 200
[2026-08-29 08:33:28,932.932 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:33:28,955.955 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:33:29,051.051 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:33:29,052.052 INFO    ] No camera update needed
[2026-08-29 08:33:29,054.054 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:33:29,055.055 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:33:29,058.058 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:33:29,060.060 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:33:31,102.102 INFO    ] ================================================
[2026-08-29 08:33:31,117.117 INFO    ] Launching Daemon at Sat Aug 29 08:33:31 IST 2026
[2026-08-29 08:33:31,128.128 INFO    ] ================================================
[2026-08-29 08:33:31,474.474 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:33:31
[2026-08-29 08:33:32,069.069 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:33:32,350.350 INFO    ] Initializing speech engine...
[2026-08-29 08:33:32,365.365 INFO    ] 2026-08-29 08:33:32
[2026-08-29 08:33:32,644.644 INFO    ] 2026-08-29 08:33:32
[2026-08-29 08:33:32,690.690 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:33:32,861.861 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:33:32,870.870 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:33:33,017.017 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:33:33,029.029 INFO    ] time= 29/08/2026 08:33:33
[2026-08-29 08:33:33,035.035 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:33:33,049.049 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:33:33,110.110 INFO    ] No existing commands found in stream
[2026-08-29 08:33:38,122.122 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:33:38,125.125 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-08-29 08:33:42,381.381 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:33:42,382.382 INFO    ] Checking for system updates...
[2026-08-29 08:33:42,404.404 INFO    ] 200
[2026-08-29 08:33:42,405.405 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:33:42,437.437 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:33:42,439.439 INFO    ] No update needed
[2026-08-29 08:33:42,440.440 INFO    ] Checking for camera pi updates...
[2026-08-29 08:33:42,459.459 INFO    ] 200
[2026-08-29 08:33:42,460.460 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:33:42,483.483 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:33:42,686.686 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:33:42,687.687 INFO    ] No camera update needed
[2026-08-29 08:33:42,688.688 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:33:42,690.690 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:33:42,693.693 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:33:42,695.695 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:33:44,734.734 INFO    ] ================================================
[2026-08-29 08:33:44,750.750 INFO    ] Launching Daemon at Sat Aug 29 08:33:44 IST 2026
[2026-08-29 08:33:44,761.761 INFO    ] ================================================
[2026-08-29 08:33:45,097.097 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:33:45
[2026-08-29 08:33:45,653.653 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:33:45,923.923 INFO    ] Initializing speech engine...
[2026-08-29 08:33:45,929.929 INFO    ] 2026-08-29 08:33:45
[2026-08-29 08:33:46,178.178 INFO    ] 2026-08-29 08:33:46
[2026-08-29 08:33:46,213.213 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:33:46,385.385 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:33:46,398.398 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:33:46,538.538 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:33:46,547.547 INFO    ] time= 29/08/2026 08:33:46
[2026-08-29 08:33:46,553.553 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:33:46,595.595 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:33:46,715.715 INFO    ] No existing commands found in stream
[2026-08-29 08:33:51,740.740 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:33:51,743.743 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-08-29 08:33:52,751.751 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:33:52,752.752 INFO    ] Checking for system updates...
[2026-08-29 08:33:52,773.773 INFO    ] 200
[2026-08-29 08:33:52,774.774 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:33:52,806.806 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:33:52,807.807 INFO    ] No update needed
[2026-08-29 08:33:52,808.808 INFO    ] Checking for camera pi updates...
[2026-08-29 08:33:52,827.827 INFO    ] 200
[2026-08-29 08:33:52,829.829 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:33:52,851.851 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:33:52,935.935 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:33:52,936.936 INFO    ] No camera update needed
[2026-08-29 08:33:52,938.938 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:33:52,939.939 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:33:52,942.942 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:33:52,945.945 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:33:54,984.984 INFO    ] ================================================
[2026-08-29 08:33:55,999.999 INFO    ] Launching Daemon at Sat Aug 29 08:33:54 IST 2026
[2026-08-29 08:33:55,010.010 INFO    ] ================================================
[2026-08-29 08:33:55,370.370 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:33:55
[2026-08-29 08:33:55,687.687 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:33:55,820.820 INFO    ] Initializing speech engine...
[2026-08-29 08:33:55,833.833 INFO    ] 2026-08-29 08:33:55
[2026-08-29 08:33:56,087.087 INFO    ] 2026-08-29 08:33:56
[2026-08-29 08:33:56,114.114 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:33:56,236.236 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:33:56,299.299 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:33:56,434.434 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:33:56,495.495 INFO    ] time= 29/08/2026 08:33:56
[2026-08-29 08:33:56,527.527 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:33:56,534.534 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:33:56,601.601 INFO    ] No existing commands found in stream
[2026-08-29 08:34:01,615.615 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:34:01,618.618 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-08-29 08:34:03,768.768 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:34:03,770.770 INFO    ] Checking for system updates...
[2026-08-29 08:34:03,807.807 INFO    ] 200
[2026-08-29 08:34:03,810.810 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:34:03,870.870 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:34:03,873.873 INFO    ] No update needed
[2026-08-29 08:34:03,876.876 INFO    ] Checking for camera pi updates...
[2026-08-29 08:34:03,910.910 INFO    ] 200
[2026-08-29 08:34:03,912.912 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:34:03,958.958 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:34:04,041.041 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:34:04,044.044 INFO    ] No camera update needed
[2026-08-29 08:34:04,046.046 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:34:04,049.049 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:34:04,054.054 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:34:04,059.059 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:34:06,107.107 INFO    ] ================================================
[2026-08-29 08:34:06,121.121 INFO    ] Launching Daemon at Sat Aug 29 08:34:06 IST 2026
[2026-08-29 08:34:06,132.132 INFO    ] ================================================
[2026-08-29 08:34:06,581.581 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:34:06
[2026-08-29 08:34:07,171.171 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:34:07,444.444 INFO    ] Initializing speech engine...
[2026-08-29 08:34:07,450.450 INFO    ] 2026-08-29 08:34:07
[2026-08-29 08:34:07,696.696 INFO    ] 2026-08-29 08:34:07
[2026-08-29 08:34:07,730.730 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:34:07,901.901 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:34:07,913.913 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:34:08,054.054 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:34:08,061.061 INFO    ] time= 29/08/2026 08:34:08
[2026-08-29 08:34:08,066.066 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:34:08,071.071 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:34:08,138.138 INFO    ] No existing commands found in stream
[2026-08-29 08:34:13,173.173 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:34:13,176.176 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-08-29 08:34:14,941.941 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:34:14,943.943 INFO    ] Checking for system updates...
[2026-08-29 08:34:14,965.965 INFO    ] 200
[2026-08-29 08:34:14,967.967 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:34:14,997.997 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:34:14,999.999 INFO    ] No update needed
[2026-08-29 08:34:15,000.000 INFO    ] Checking for camera pi updates...
[2026-08-29 08:34:15,020.020 INFO    ] 200
[2026-08-29 08:34:15,021.021 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:34:15,044.044 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:34:15,164.164 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:34:15,166.166 INFO    ] No camera update needed
[2026-08-29 08:34:15,167.167 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:34:15,169.169 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:34:15,172.172 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:34:15,175.175 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:34:17,215.215 INFO    ] ================================================
[2026-08-29 08:34:17,230.230 INFO    ] Launching Daemon at Sat Aug 29 08:34:17 IST 2026
[2026-08-29 08:34:17,241.241 INFO    ] ================================================
[2026-08-29 08:34:17,708.708 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:34:17
[2026-08-29 08:34:18,295.295 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:34:18,580.580 INFO    ] Initializing speech engine...
[2026-08-29 08:34:18,589.589 INFO    ] 2026-08-29 08:34:18
[2026-08-29 08:34:18,848.848 INFO    ] 2026-08-29 08:34:18
[2026-08-29 08:34:18,883.883 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:34:19,052.052 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:34:19,064.064 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:34:19,193.193 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:34:19,214.214 INFO    ] time= 29/08/2026 08:34:19
[2026-08-29 08:34:19,222.222 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:34:19,230.230 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:34:19,295.295 INFO    ] No existing commands found in stream
[2026-08-29 08:34:24,307.307 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:34:24,310.310 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-08-29 08:34:27,001.001 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:34:27,002.002 INFO    ] Checking for system updates...
[2026-08-29 08:34:27,024.024 INFO    ] 200
[2026-08-29 08:34:27,025.025 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:34:27,055.055 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:34:27,056.056 INFO    ] No update needed
[2026-08-29 08:34:27,057.057 INFO    ] Checking for camera pi updates...
[2026-08-29 08:34:27,077.077 INFO    ] 200
[2026-08-29 08:34:27,078.078 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:34:27,103.103 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:34:27,216.216 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:34:27,218.218 INFO    ] No camera update needed
[2026-08-29 08:34:27,219.219 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:34:27,220.220 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:34:27,223.223 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:34:27,226.226 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:34:29,265.265 INFO    ] ================================================
[2026-08-29 08:34:29,280.280 INFO    ] Launching Daemon at Sat Aug 29 08:34:29 IST 2026
[2026-08-29 08:34:29,291.291 INFO    ] ================================================
[2026-08-29 08:34:29,631.631 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:34:29
[2026-08-29 08:34:29,961.961 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:34:30,100.100 INFO    ] Initializing speech engine...
[2026-08-29 08:34:30,108.108 INFO    ] 2026-08-29 08:34:30
[2026-08-29 08:34:30,363.363 INFO    ] 2026-08-29 08:34:30
[2026-08-29 08:34:30,399.399 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:34:30,571.571 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:34:30,582.582 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:34:30,693.693 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:34:30,716.716 INFO    ] time= 29/08/2026 08:34:30
[2026-08-29 08:34:30,736.736 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:34:30,743.743 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:34:30,809.809 INFO    ] No existing commands found in stream
[2026-08-29 08:34:35,824.824 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:34:35,827.827 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-08-29 08:34:40,061.061 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:34:40,063.063 INFO    ] Checking for system updates...
[2026-08-29 08:34:40,085.085 INFO    ] 200
[2026-08-29 08:34:40,087.087 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:34:40,122.122 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:34:40,124.124 INFO    ] No update needed
[2026-08-29 08:34:40,125.125 INFO    ] Checking for camera pi updates...
[2026-08-29 08:34:40,147.147 INFO    ] 200
[2026-08-29 08:34:40,148.148 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:34:40,171.171 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:34:40,248.248 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:34:40,250.250 INFO    ] No camera update needed
[2026-08-29 08:34:40,251.251 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:34:40,253.253 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:34:40,256.256 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:34:40,259.259 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:34:42,299.299 INFO    ] ================================================
[2026-08-29 08:34:42,315.315 INFO    ] Launching Daemon at Sat Aug 29 08:34:42 IST 2026
[2026-08-29 08:34:42,326.326 INFO    ] ================================================
[2026-08-29 08:34:42,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:34:42
[2026-08-29 08:34:43,167.167 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:34:43,418.418 INFO    ] Initializing speech engine...
[2026-08-29 08:34:43,432.432 INFO    ] 2026-08-29 08:34:43
[2026-08-29 08:34:43,699.699 INFO    ] 2026-08-29 08:34:43
[2026-08-29 08:34:43,735.735 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:34:43,911.911 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:34:43,923.923 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:34:44,037.037 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:34:44,056.056 INFO    ] time= 29/08/2026 08:34:44
[2026-08-29 08:34:44,079.079 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:34:44,084.084 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:34:44,153.153 INFO    ] No existing commands found in stream
[2026-08-29 08:34:49,165.165 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:34:49,168.168 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-08-29 08:34:49,795.795 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:34:49,796.796 INFO    ] Checking for system updates...
[2026-08-29 08:34:49,817.817 INFO    ] 200
[2026-08-29 08:34:49,818.818 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:34:49,849.849 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:34:49,850.850 INFO    ] No update needed
[2026-08-29 08:34:49,851.851 INFO    ] Checking for camera pi updates...
[2026-08-29 08:34:49,873.873 INFO    ] 200
[2026-08-29 08:34:49,874.874 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:34:49,898.898 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:34:49,995.995 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:34:49,997.997 INFO    ] No camera update needed
[2026-08-29 08:34:49,998.998 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:34:49,999.999 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:34:50,002.002 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:34:50,005.005 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:34:52,043.043 INFO    ] ================================================
[2026-08-29 08:34:52,059.059 INFO    ] Launching Daemon at Sat Aug 29 08:34:52 IST 2026
[2026-08-29 08:34:52,070.070 INFO    ] ================================================
[2026-08-29 08:34:52,428.428 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:34:52
[2026-08-29 08:34:52,738.738 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:34:52,871.871 INFO    ] Initializing speech engine...
[2026-08-29 08:34:52,875.875 INFO    ] 2026-08-29 08:34:52
[2026-08-29 08:34:53,077.077 INFO    ] 2026-08-29 08:34:53
[2026-08-29 08:34:53,109.109 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:34:53,272.272 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:34:53,310.310 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:34:53,480.480 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:34:53,522.522 INFO    ] time= 29/08/2026 08:34:53
[2026-08-29 08:34:53,563.563 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:34:53,591.591 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:34:53,662.662 INFO    ] No existing commands found in stream
[2026-08-29 08:34:58,673.673 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:34:58,675.675 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-08-29 08:35:02,078.078 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:35:02,107.107 INFO    ] Checking for system updates...
[2026-08-29 08:35:02,221.221 INFO    ] 200
[2026-08-29 08:35:02,224.224 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:35:02,431.431 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:35:02,434.434 INFO    ] No update needed
[2026-08-29 08:35:02,436.436 INFO    ] Checking for camera pi updates...
[2026-08-29 08:35:02,514.514 INFO    ] 200
[2026-08-29 08:35:02,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:35:02,633.633 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:35:02,783.783 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:35:02,786.786 INFO    ] No camera update needed
[2026-08-29 08:35:02,789.789 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:35:02,792.792 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:35:02,798.798 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:35:02,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:35:04,848.848 INFO    ] ================================================
[2026-08-29 08:35:04,864.864 INFO    ] Launching Daemon at Sat Aug 29 08:35:04 IST 2026
[2026-08-29 08:35:04,875.875 INFO    ] ================================================
[2026-08-29 08:35:05,379.379 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:35:05
[2026-08-29 08:35:05,725.725 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:35:05,877.877 INFO    ] Initializing speech engine...
[2026-08-29 08:35:05,882.882 INFO    ] 2026-08-29 08:35:05
[2026-08-29 08:35:06,091.091 INFO    ] 2026-08-29 08:35:06
[2026-08-29 08:35:06,121.121 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:35:06,259.259 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:35:06,307.307 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:35:06,445.445 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:35:06,499.499 INFO    ] time= 29/08/2026 08:35:06
[2026-08-29 08:35:06,537.537 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:35:06,544.544 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:35:06,609.609 INFO    ] No existing commands found in stream
[2026-08-29 08:35:11,620.620 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:35:11,624.624 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-08-29 08:35:12,769.769 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:35:12,771.771 INFO    ] Checking for system updates...
[2026-08-29 08:35:12,792.792 INFO    ] 200
[2026-08-29 08:35:12,794.794 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:35:12,825.825 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:35:12,826.826 INFO    ] No update needed
[2026-08-29 08:35:12,828.828 INFO    ] Checking for camera pi updates...
[2026-08-29 08:35:12,849.849 INFO    ] 200
[2026-08-29 08:35:12,850.850 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:35:12,886.886 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:35:12,971.971 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:35:12,974.974 INFO    ] No camera update needed
[2026-08-29 08:35:12,976.976 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:35:12,979.979 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:35:12,984.984 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:35:12,989.989 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:35:15,029.029 INFO    ] ================================================
[2026-08-29 08:35:15,045.045 INFO    ] Launching Daemon at Sat Aug 29 08:35:15 IST 2026
[2026-08-29 08:35:15,056.056 INFO    ] ================================================
[2026-08-29 08:35:15,630.630 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:35:15
[2026-08-29 08:35:16,133.133 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:35:16,405.405 INFO    ] Initializing speech engine...
[2026-08-29 08:35:16,414.414 INFO    ] 2026-08-29 08:35:16
[2026-08-29 08:35:16,664.664 INFO    ] 2026-08-29 08:35:16
[2026-08-29 08:35:16,699.699 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:35:16,876.876 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:35:16,888.888 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:35:17,033.033 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:35:17,041.041 INFO    ] time= 29/08/2026 08:35:17
[2026-08-29 08:35:17,048.048 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:35:17,060.060 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:35:17,190.190 INFO    ] No existing commands found in stream
[2026-08-29 08:35:22,210.210 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:35:22,213.213 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-08-29 08:35:25,963.963 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:35:25,964.964 INFO    ] Checking for system updates...
[2026-08-29 08:35:25,990.990 INFO    ] 200
[2026-08-29 08:35:25,993.993 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:35:26,056.056 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:35:26,060.060 INFO    ] No update needed
[2026-08-29 08:35:26,063.063 INFO    ] Checking for camera pi updates...
[2026-08-29 08:35:26,106.106 INFO    ] 200
[2026-08-29 08:35:26,109.109 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:35:26,150.150 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:35:26,241.241 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:35:26,244.244 INFO    ] No camera update needed
[2026-08-29 08:35:26,247.247 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:35:26,250.250 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:35:26,256.256 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:35:26,262.262 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:35:28,305.305 INFO    ] ================================================
[2026-08-29 08:35:28,321.321 INFO    ] Launching Daemon at Sat Aug 29 08:35:28 IST 2026
[2026-08-29 08:35:28,331.331 INFO    ] ================================================
[2026-08-29 08:35:28,995.995 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:35:28
[2026-08-29 08:35:29,394.394 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:35:29,546.546 INFO    ] Initializing speech engine...
[2026-08-29 08:35:29,553.553 INFO    ] 2026-08-29 08:35:29
[2026-08-29 08:35:29,761.761 INFO    ] 2026-08-29 08:35:29
[2026-08-29 08:35:29,789.789 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:35:29,924.924 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:35:29,977.977 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:35:30,131.131 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:35:30,196.196 INFO    ] time= 29/08/2026 08:35:30
[2026-08-29 08:35:30,251.251 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:35:30,290.290 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:35:30,408.408 INFO    ] No existing commands found in stream
[2026-08-29 08:35:35,434.434 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:35:35,437.437 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-08-29 08:35:37,993.993 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:35:37,997.997 INFO    ] Checking for system updates...
[2026-08-29 08:35:38,039.039 INFO    ] 200
[2026-08-29 08:35:38,042.042 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:35:38,105.105 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:35:38,108.108 INFO    ] No update needed
[2026-08-29 08:35:38,111.111 INFO    ] Checking for camera pi updates...
[2026-08-29 08:35:38,150.150 INFO    ] 200
[2026-08-29 08:35:38,152.152 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:35:38,200.200 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:35:38,280.280 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:35:38,283.283 INFO    ] No camera update needed
[2026-08-29 08:35:38,286.286 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:35:38,288.288 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:35:38,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:35:38,301.301 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:35:40,343.343 INFO    ] ================================================
[2026-08-29 08:35:40,358.358 INFO    ] Launching Daemon at Sat Aug 29 08:35:40 IST 2026
[2026-08-29 08:35:40,369.369 INFO    ] ================================================
[2026-08-29 08:35:40,729.729 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:35:40
[2026-08-29 08:35:41,042.042 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:35:41,173.173 INFO    ] Initializing speech engine...
[2026-08-29 08:35:41,180.180 INFO    ] 2026-08-29 08:35:41
[2026-08-29 08:35:41,393.393 INFO    ] 2026-08-29 08:35:41
[2026-08-29 08:35:41,478.478 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:35:41,628.628 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:35:41,637.637 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:35:41,774.774 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:35:41,796.796 INFO    ] time= 29/08/2026 08:35:41
[2026-08-29 08:35:41,860.860 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:35:41,910.910 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:35:42,025.025 INFO    ] No existing commands found in stream
[2026-08-29 08:35:47,047.047 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:35:47,049.049 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-08-29 08:35:51,242.242 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:35:51,243.243 INFO    ] Checking for system updates...
[2026-08-29 08:35:51,265.265 INFO    ] 200
[2026-08-29 08:35:51,267.267 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:35:51,299.299 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:35:51,300.300 INFO    ] No update needed
[2026-08-29 08:35:51,302.302 INFO    ] Checking for camera pi updates...
[2026-08-29 08:35:51,323.323 INFO    ] 200
[2026-08-29 08:35:51,324.324 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:35:51,347.347 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:35:51,533.533 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:35:51,534.534 INFO    ] No camera update needed
[2026-08-29 08:35:51,535.535 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:35:51,536.536 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:35:51,539.539 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:35:51,542.542 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:35:53,581.581 INFO    ] ================================================
[2026-08-29 08:35:53,597.597 INFO    ] Launching Daemon at Sat Aug 29 08:35:53 IST 2026
[2026-08-29 08:35:53,608.608 INFO    ] ================================================
[2026-08-29 08:35:53,973.973 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:35:53
[2026-08-29 08:35:54,313.313 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:35:54,459.459 INFO    ] Initializing speech engine...
[2026-08-29 08:35:54,468.468 INFO    ] 2026-08-29 08:35:54
[2026-08-29 08:35:54,679.679 INFO    ] 2026-08-29 08:35:54
[2026-08-29 08:35:54,708.708 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:35:54,840.840 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:35:54,894.894 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:35:55,039.039 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:35:55,101.101 INFO    ] time= 29/08/2026 08:35:55
[2026-08-29 08:35:55,125.125 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:35:55,132.132 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:35:55,199.199 INFO    ] No existing commands found in stream
[2026-08-29 08:36:00,214.214 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:36:00,217.217 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-08-29 08:36:04,524.524 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:36:04,527.527 INFO    ] Checking for system updates...
[2026-08-29 08:36:04,566.566 INFO    ] 200
[2026-08-29 08:36:04,569.569 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:36:04,621.621 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:36:04,624.624 INFO    ] No update needed
[2026-08-29 08:36:04,626.626 INFO    ] Checking for camera pi updates...
[2026-08-29 08:36:04,659.659 INFO    ] 200
[2026-08-29 08:36:04,662.662 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:36:04,703.703 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:36:04,775.775 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:36:04,777.777 INFO    ] No camera update needed
[2026-08-29 08:36:04,780.780 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:36:04,782.782 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:36:04,787.787 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:36:04,793.793 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:36:06,835.835 INFO    ] ================================================
[2026-08-29 08:36:06,852.852 INFO    ] Launching Daemon at Sat Aug 29 08:36:06 IST 2026
[2026-08-29 08:36:06,866.866 INFO    ] ================================================
[2026-08-29 08:36:07,404.404 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:36:07
[2026-08-29 08:36:08,003.003 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:36:08,281.281 INFO    ] Initializing speech engine...
[2026-08-29 08:36:08,288.288 INFO    ] 2026-08-29 08:36:08
[2026-08-29 08:36:08,541.541 INFO    ] 2026-08-29 08:36:08
[2026-08-29 08:36:08,600.600 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:36:08,824.824 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:36:08,834.834 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:36:08,967.967 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:36:08,994.994 INFO    ] time= 29/08/2026 08:36:08
[2026-08-29 08:36:09,048.048 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:36:09,100.100 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:36:09,153.153 INFO    ] No existing commands found in stream
[2026-08-29 08:36:14,165.165 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:36:14,167.167 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-08-29 08:36:17,737.737 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:36:17,739.739 INFO    ] Checking for system updates...
[2026-08-29 08:36:17,759.759 INFO    ] 200
[2026-08-29 08:36:17,760.760 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:36:17,795.795 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:36:17,796.796 INFO    ] No update needed
[2026-08-29 08:36:17,798.798 INFO    ] Checking for camera pi updates...
[2026-08-29 08:36:17,817.817 INFO    ] 200
[2026-08-29 08:36:17,818.818 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:36:17,841.841 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:36:17,931.931 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:36:17,932.932 INFO    ] No camera update needed
[2026-08-29 08:36:17,934.934 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:36:17,935.935 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:36:17,938.938 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:36:17,941.941 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:36:19,979.979 INFO    ] ================================================
[2026-08-29 08:36:20,995.995 INFO    ] Launching Daemon at Sat Aug 29 08:36:19 IST 2026
[2026-08-29 08:36:20,005.005 INFO    ] ================================================
[2026-08-29 08:36:20,364.364 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:36:20
[2026-08-29 08:36:20,676.676 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:36:20,816.816 INFO    ] Initializing speech engine...
[2026-08-29 08:36:20,825.825 INFO    ] 2026-08-29 08:36:20
[2026-08-29 08:36:21,043.043 INFO    ] 2026-08-29 08:36:21
[2026-08-29 08:36:21,073.073 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:36:21,204.204 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:36:21,262.262 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:36:21,413.413 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:36:21,465.465 INFO    ] time= 29/08/2026 08:36:21
[2026-08-29 08:36:21,504.504 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:36:21,521.521 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:36:21,597.597 INFO    ] No existing commands found in stream
[2026-08-29 08:36:26,607.607 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:36:26,610.610 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-08-29 08:36:30,501.501 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:36:30,503.503 INFO    ] Checking for system updates...
[2026-08-29 08:36:30,524.524 INFO    ] 200
[2026-08-29 08:36:30,526.526 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:36:30,557.557 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:36:30,559.559 INFO    ] No update needed
[2026-08-29 08:36:30,560.560 INFO    ] Checking for camera pi updates...
[2026-08-29 08:36:30,580.580 INFO    ] 200
[2026-08-29 08:36:30,581.581 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:36:30,604.604 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:36:30,697.697 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:36:30,699.699 INFO    ] No camera update needed
[2026-08-29 08:36:30,700.700 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:36:30,701.701 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:36:30,704.704 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:36:30,707.707 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:36:32,745.745 INFO    ] ================================================
[2026-08-29 08:36:32,761.761 INFO    ] Launching Daemon at Sat Aug 29 08:36:32 IST 2026
[2026-08-29 08:36:32,773.773 INFO    ] ================================================
[2026-08-29 08:36:33,377.377 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:36:33
[2026-08-29 08:36:33,964.964 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:36:34,217.217 INFO    ] Initializing speech engine...
[2026-08-29 08:36:34,226.226 INFO    ] 2026-08-29 08:36:34
[2026-08-29 08:36:34,516.516 INFO    ] 2026-08-29 08:36:34
[2026-08-29 08:36:34,540.540 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:36:34,697.697 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:36:34,705.705 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:36:34,852.852 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:36:34,861.861 INFO    ] time= 29/08/2026 08:36:34
[2026-08-29 08:36:34,865.865 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:36:34,870.870 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:36:34,935.935 INFO    ] No existing commands found in stream
[2026-08-29 08:36:39,948.948 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:36:39,951.951 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-08-29 08:36:44,200.200 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:36:44,201.201 INFO    ] Checking for system updates...
[2026-08-29 08:36:44,223.223 INFO    ] 200
[2026-08-29 08:36:44,224.224 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:36:44,263.263 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:36:44,265.265 INFO    ] No update needed
[2026-08-29 08:36:44,267.267 INFO    ] Checking for camera pi updates...
[2026-08-29 08:36:44,301.301 INFO    ] 200
[2026-08-29 08:36:44,303.303 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:36:44,343.343 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:36:44,423.423 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:36:44,425.425 INFO    ] No camera update needed
[2026-08-29 08:36:44,428.428 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:36:44,430.430 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:36:44,435.435 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:36:44,440.440 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:36:46,480.480 INFO    ] ================================================
[2026-08-29 08:36:46,496.496 INFO    ] Launching Daemon at Sat Aug 29 08:36:46 IST 2026
[2026-08-29 08:36:46,506.506 INFO    ] ================================================
[2026-08-29 08:36:47,143.143 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:36:47
[2026-08-29 08:36:47,593.593 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:36:47,742.742 INFO    ] Initializing speech engine...
[2026-08-29 08:36:47,746.746 INFO    ] 2026-08-29 08:36:47
[2026-08-29 08:36:47,954.954 INFO    ] 2026-08-29 08:36:47
[2026-08-29 08:36:47,984.984 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:36:48,146.146 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:36:48,154.154 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:36:48,323.323 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:36:48,357.357 INFO    ] time= 29/08/2026 08:36:48
[2026-08-29 08:36:48,375.375 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:36:48,404.404 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:36:48,511.511 INFO    ] No existing commands found in stream
[2026-08-29 08:36:53,532.532 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:36:53,535.535 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-08-29 08:36:54,699.699 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:36:54,701.701 INFO    ] Checking for system updates...
[2026-08-29 08:36:54,723.723 INFO    ] 200
[2026-08-29 08:36:54,724.724 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:36:54,765.765 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:36:54,768.768 INFO    ] No update needed
[2026-08-29 08:36:54,770.770 INFO    ] Checking for camera pi updates...
[2026-08-29 08:36:54,804.804 INFO    ] 200
[2026-08-29 08:36:54,807.807 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:36:54,853.853 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:36:54,937.937 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:36:54,940.940 INFO    ] No camera update needed
[2026-08-29 08:36:54,943.943 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:36:54,945.945 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:36:54,951.951 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:36:54,957.957 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:36:57,999.999 INFO    ] ================================================
[2026-08-29 08:36:57,016.016 INFO    ] Launching Daemon at Sat Aug 29 08:36:57 IST 2026
[2026-08-29 08:36:57,028.028 INFO    ] ================================================
[2026-08-29 08:36:57,652.652 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:36:57
[2026-08-29 08:36:58,089.089 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:36:58,379.379 INFO    ] Initializing speech engine...
[2026-08-29 08:36:58,389.389 INFO    ] 2026-08-29 08:36:58
[2026-08-29 08:36:58,651.651 INFO    ] 2026-08-29 08:36:58
[2026-08-29 08:36:58,688.688 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:36:58,870.870 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:36:58,883.883 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:36:59,028.028 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:36:59,042.042 INFO    ] time= 29/08/2026 08:36:59
[2026-08-29 08:36:59,047.047 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:36:59,053.053 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:36:59,120.120 INFO    ] No existing commands found in stream
[2026-08-29 08:37:04,133.133 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:37:04,135.135 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-08-29 08:37:11,166.166 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:37:11,168.168 INFO    ] Checking for system updates...
[2026-08-29 08:37:11,189.189 INFO    ] 200
[2026-08-29 08:37:11,190.190 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:37:11,222.222 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:37:11,224.224 INFO    ] No update needed
[2026-08-29 08:37:11,225.225 INFO    ] Checking for camera pi updates...
[2026-08-29 08:37:11,244.244 INFO    ] 200
[2026-08-29 08:37:11,245.245 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:37:11,268.268 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:37:11,367.367 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:37:11,369.369 INFO    ] No camera update needed
[2026-08-29 08:37:11,372.372 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:37:11,374.374 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:37:11,379.379 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:37:11,384.384 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:37:13,424.424 INFO    ] ================================================
[2026-08-29 08:37:13,440.440 INFO    ] Launching Daemon at Sat Aug 29 08:37:13 IST 2026
[2026-08-29 08:37:13,452.452 INFO    ] ================================================
[2026-08-29 08:37:14,055.055 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:37:14
[2026-08-29 08:37:14,510.510 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:37:14,787.787 INFO    ] Initializing speech engine...
[2026-08-29 08:37:14,793.793 INFO    ] 2026-08-29 08:37:14
[2026-08-29 08:37:15,041.041 INFO    ] 2026-08-29 08:37:15
[2026-08-29 08:37:15,076.076 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:37:15,812.812 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:37:15,845.845 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:37:16,537.537 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:37:16,546.546 INFO    ] time= 29/08/2026 08:37:16
[2026-08-29 08:37:16,554.554 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:37:16,562.562 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:37:16,616.616 INFO    ] No existing commands found in stream
[2026-08-29 08:37:21,626.626 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:37:21,629.629 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-08-29 08:37:25,431.431 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:37:25,433.433 INFO    ] Checking for system updates...
[2026-08-29 08:37:25,453.453 INFO    ] 200
[2026-08-29 08:37:25,454.454 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:37:25,484.484 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:37:25,485.485 INFO    ] No update needed
[2026-08-29 08:37:25,486.486 INFO    ] Checking for camera pi updates...
[2026-08-29 08:37:25,506.506 INFO    ] 200
[2026-08-29 08:37:25,507.507 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:37:25,530.530 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:37:25,645.645 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:37:25,647.647 INFO    ] No camera update needed
[2026-08-29 08:37:25,649.649 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:37:25,652.652 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:37:25,657.657 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:37:25,662.662 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:37:27,703.703 INFO    ] ================================================
[2026-08-29 08:37:27,719.719 INFO    ] Launching Daemon at Sat Aug 29 08:37:27 IST 2026
[2026-08-29 08:37:27,730.730 INFO    ] ================================================
[2026-08-29 08:37:28,302.302 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:37:28
[2026-08-29 08:37:28,781.781 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:37:28,918.918 INFO    ] Initializing speech engine...
[2026-08-29 08:37:28,926.926 INFO    ] 2026-08-29 08:37:28
[2026-08-29 08:37:29,124.124 INFO    ] 2026-08-29 08:37:29
[2026-08-29 08:37:29,191.191 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:37:29,356.356 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:37:29,369.369 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:37:29,496.496 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:37:29,503.503 INFO    ] time= 29/08/2026 08:37:29
[2026-08-29 08:37:29,524.524 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:37:29,545.545 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:37:29,632.632 INFO    ] No existing commands found in stream
[2026-08-29 08:37:34,645.645 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:37:34,648.648 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-08-29 08:37:35,639.639 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:37:35,640.640 INFO    ] Checking for system updates...
[2026-08-29 08:37:35,661.661 INFO    ] 200
[2026-08-29 08:37:35,662.662 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:37:35,695.695 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:37:35,696.696 INFO    ] No update needed
[2026-08-29 08:37:35,697.697 INFO    ] Checking for camera pi updates...
[2026-08-29 08:37:35,716.716 INFO    ] 200
[2026-08-29 08:37:35,717.717 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:37:35,742.742 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:37:35,838.838 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:37:35,840.840 INFO    ] No camera update needed
[2026-08-29 08:37:35,841.841 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:37:35,842.842 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:37:35,845.845 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:37:35,848.848 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:37:37,886.886 INFO    ] ================================================
[2026-08-29 08:37:37,902.902 INFO    ] Launching Daemon at Sat Aug 29 08:37:37 IST 2026
[2026-08-29 08:37:37,914.914 INFO    ] ================================================
[2026-08-29 08:37:38,581.581 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:37:38
[2026-08-29 08:37:39,270.270 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:37:39,578.578 INFO    ] Initializing speech engine...
[2026-08-29 08:37:39,587.587 INFO    ] 2026-08-29 08:37:39
[2026-08-29 08:37:39,907.907 INFO    ] 2026-08-29 08:37:39
[2026-08-29 08:37:39,992.992 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:37:40,149.149 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:37:40,155.155 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:37:40,288.288 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:37:40,354.354 INFO    ] time= 29/08/2026 08:37:40
[2026-08-29 08:37:40,414.414 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:37:40,424.424 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:37:40,525.525 INFO    ] No existing commands found in stream
[2026-08-29 08:37:45,560.560 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:37:45,564.564 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-08-29 08:37:49,373.373 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:37:49,375.375 INFO    ] Checking for system updates...
[2026-08-29 08:37:49,396.396 INFO    ] 200
[2026-08-29 08:37:49,397.397 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:37:49,430.430 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:37:49,431.431 INFO    ] No update needed
[2026-08-29 08:37:49,433.433 INFO    ] Checking for camera pi updates...
[2026-08-29 08:37:49,456.456 INFO    ] 200
[2026-08-29 08:37:49,458.458 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:37:49,484.484 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:37:49,560.560 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:37:49,562.562 INFO    ] No camera update needed
[2026-08-29 08:37:49,564.564 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:37:49,565.565 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:37:49,568.568 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:37:49,571.571 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:37:51,610.610 INFO    ] ================================================
[2026-08-29 08:37:51,626.626 INFO    ] Launching Daemon at Sat Aug 29 08:37:51 IST 2026
[2026-08-29 08:37:51,637.637 INFO    ] ================================================
[2026-08-29 08:37:51,978.978 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:37:51
[2026-08-29 08:37:52,290.290 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:37:52,515.515 INFO    ] Initializing speech engine...
[2026-08-29 08:37:52,524.524 INFO    ] 2026-08-29 08:37:52
[2026-08-29 08:37:52,770.770 INFO    ] 2026-08-29 08:37:52
[2026-08-29 08:37:52,810.810 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:37:53,003.003 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:37:53,018.018 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:37:53,143.143 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:37:53,150.150 INFO    ] time= 29/08/2026 08:37:53
[2026-08-29 08:37:53,171.171 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:37:53,194.194 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:37:53,279.279 INFO    ] No existing commands found in stream
[2026-08-29 08:37:58,292.292 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:37:58,295.295 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 08:38:00,685.685 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:38:00,687.687 INFO    ] Checking for system updates...
[2026-08-29 08:38:00,710.710 INFO    ] 200
[2026-08-29 08:38:00,712.712 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:38:00,742.742 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:38:00,744.744 INFO    ] No update needed
[2026-08-29 08:38:00,745.745 INFO    ] Checking for camera pi updates...
[2026-08-29 08:38:00,765.765 INFO    ] 200
[2026-08-29 08:38:00,766.766 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:38:00,789.789 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:38:00,997.997 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:38:00,998.998 INFO    ] No camera update needed
[2026-08-29 08:38:01,000.000 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:38:01,001.001 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:38:01,004.004 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:38:01,007.007 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:38:03,065.065 INFO    ] ================================================
[2026-08-29 08:38:03,087.087 INFO    ] Launching Daemon at Sat Aug 29 08:38:03 IST 2026
[2026-08-29 08:38:03,099.099 INFO    ] ================================================
[2026-08-29 08:38:03,708.708 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:38:03
[2026-08-29 08:38:04,295.295 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:38:04,543.543 INFO    ] Initializing speech engine...
[2026-08-29 08:38:04,549.549 INFO    ] 2026-08-29 08:38:04
[2026-08-29 08:38:04,822.822 INFO    ] 2026-08-29 08:38:04
[2026-08-29 08:38:04,862.862 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:38:05,039.039 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:38:05,053.053 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:38:05,178.178 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:38:05,181.181 INFO    ] time= 29/08/2026 08:38:05
[2026-08-29 08:38:05,215.215 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:38:05,219.219 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:38:05,294.294 INFO    ] No existing commands found in stream
[2026-08-29 08:38:10,308.308 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:38:10,311.311 INFO    ] Waiting 3.71 seconds before fallback handling...
[2026-08-29 08:38:14,398.398 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:38:14,399.399 INFO    ] Checking for system updates...
[2026-08-29 08:38:14,421.421 INFO    ] 200
[2026-08-29 08:38:14,423.423 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:38:14,453.453 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:38:14,454.454 INFO    ] No update needed
[2026-08-29 08:38:14,456.456 INFO    ] Checking for camera pi updates...
[2026-08-29 08:38:14,478.478 INFO    ] 200
[2026-08-29 08:38:14,479.479 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:38:14,504.504 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:38:14,558.558 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:38:14,559.559 INFO    ] No camera update needed
[2026-08-29 08:38:14,560.560 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:38:14,561.561 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:38:14,564.564 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:38:14,567.567 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:38:16,607.607 INFO    ] ================================================
[2026-08-29 08:38:16,623.623 INFO    ] Launching Daemon at Sat Aug 29 08:38:16 IST 2026
[2026-08-29 08:38:16,634.634 INFO    ] ================================================
[2026-08-29 08:38:17,001.001 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:38:16
[2026-08-29 08:38:17,312.312 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:38:17,453.453 INFO    ] Initializing speech engine...
[2026-08-29 08:38:17,459.459 INFO    ] 2026-08-29 08:38:17
[2026-08-29 08:38:17,660.660 INFO    ] 2026-08-29 08:38:17
[2026-08-29 08:38:17,692.692 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:38:17,807.807 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:38:17,824.824 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:38:18,007.007 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:38:18,014.014 INFO    ] time= 29/08/2026 08:38:18
[2026-08-29 08:38:18,035.035 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:38:18,061.061 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:38:18,159.159 INFO    ] No existing commands found in stream
[2026-08-29 08:38:23,180.180 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:38:23,183.183 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 08:38:26,156.156 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:38:26,158.158 INFO    ] Checking for system updates...
[2026-08-29 08:38:26,179.179 INFO    ] 200
[2026-08-29 08:38:26,180.180 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:38:26,212.212 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:38:26,214.214 INFO    ] No update needed
[2026-08-29 08:38:26,215.215 INFO    ] Checking for camera pi updates...
[2026-08-29 08:38:26,234.234 INFO    ] 200
[2026-08-29 08:38:26,235.235 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:38:26,258.258 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:38:26,347.347 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:38:26,348.348 INFO    ] No camera update needed
[2026-08-29 08:38:26,349.349 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:38:26,351.351 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:38:26,354.354 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:38:26,356.356 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:38:28,390.390 INFO    ] ================================================
[2026-08-29 08:38:28,406.406 INFO    ] Launching Daemon at Sat Aug 29 08:38:28 IST 2026
[2026-08-29 08:38:28,422.422 INFO    ] ================================================
[2026-08-29 08:38:29,030.030 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:38:29
[2026-08-29 08:38:29,624.624 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:38:29,886.886 INFO    ] Initializing speech engine...
[2026-08-29 08:38:29,892.892 INFO    ] 2026-08-29 08:38:29
[2026-08-29 08:38:30,195.195 INFO    ] 2026-08-29 08:38:30
[2026-08-29 08:38:30,235.235 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:38:30,432.432 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:38:30,438.438 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:38:30,550.550 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:38:30,557.557 INFO    ] time= 29/08/2026 08:38:30
[2026-08-29 08:38:30,573.573 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:38:30,577.577 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:38:30,639.639 INFO    ] No existing commands found in stream
[2026-08-29 08:38:35,658.658 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:38:35,661.661 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-08-29 08:38:36,406.406 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:38:36,408.408 INFO    ] Checking for system updates...
[2026-08-29 08:38:36,429.429 INFO    ] 200
[2026-08-29 08:38:36,431.431 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:38:36,461.461 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:38:36,462.462 INFO    ] No update needed
[2026-08-29 08:38:36,463.463 INFO    ] Checking for camera pi updates...
[2026-08-29 08:38:36,483.483 INFO    ] 200
[2026-08-29 08:38:36,484.484 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:38:36,511.511 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:38:36,617.617 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:38:36,619.619 INFO    ] No camera update needed
[2026-08-29 08:38:36,620.620 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:38:36,621.621 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:38:36,624.624 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:38:36,627.627 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:38:38,665.665 INFO    ] ================================================
[2026-08-29 08:38:38,681.681 INFO    ] Launching Daemon at Sat Aug 29 08:38:38 IST 2026
[2026-08-29 08:38:38,692.692 INFO    ] ================================================
[2026-08-29 08:38:39,059.059 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:38:39
[2026-08-29 08:38:39,408.408 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:38:39,670.670 INFO    ] Initializing speech engine...
[2026-08-29 08:38:39,676.676 INFO    ] 2026-08-29 08:38:39
[2026-08-29 08:38:39,967.967 INFO    ] 2026-08-29 08:38:39
[2026-08-29 08:38:40,036.036 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:38:40,222.222 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:38:40,265.265 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:38:40,406.406 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:38:40,456.456 INFO    ] time= 29/08/2026 08:38:40
[2026-08-29 08:38:40,522.522 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:38:40,540.540 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:38:40,671.671 INFO    ] No existing commands found in stream
[2026-08-29 08:38:45,699.699 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:38:45,708.708 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-08-29 08:38:50,061.061 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:38:50,063.063 INFO    ] Checking for system updates...
[2026-08-29 08:38:50,084.084 INFO    ] 200
[2026-08-29 08:38:50,085.085 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:38:50,116.116 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:38:50,117.117 INFO    ] No update needed
[2026-08-29 08:38:50,118.118 INFO    ] Checking for camera pi updates...
[2026-08-29 08:38:50,139.139 INFO    ] 200
[2026-08-29 08:38:50,140.140 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:38:50,164.164 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:38:50,259.259 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:38:50,260.260 INFO    ] No camera update needed
[2026-08-29 08:38:50,262.262 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:38:50,263.263 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:38:50,266.266 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:38:50,269.269 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:38:52,308.308 INFO    ] ================================================
[2026-08-29 08:38:52,324.324 INFO    ] Launching Daemon at Sat Aug 29 08:38:52 IST 2026
[2026-08-29 08:38:52,335.335 INFO    ] ================================================
[2026-08-29 08:38:52,692.692 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:38:52
[2026-08-29 08:38:53,033.033 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:38:53,179.179 INFO    ] Initializing speech engine...
[2026-08-29 08:38:53,189.189 INFO    ] 2026-08-29 08:38:53
[2026-08-29 08:38:53,397.397 INFO    ] 2026-08-29 08:38:53
[2026-08-29 08:38:53,427.427 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:38:53,549.549 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:38:53,612.612 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:38:53,742.742 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:38:53,800.800 INFO    ] time= 29/08/2026 08:38:53
[2026-08-29 08:38:53,855.855 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:38:53,887.887 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:38:54,022.022 INFO    ] No existing commands found in stream
[2026-08-29 08:38:59,048.048 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:38:59,051.051 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-08-29 08:38:59,803.803 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:38:59,804.804 INFO    ] Checking for system updates...
[2026-08-29 08:38:59,824.824 INFO    ] 200
[2026-08-29 08:38:59,826.826 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:38:59,856.856 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:38:59,858.858 INFO    ] No update needed
[2026-08-29 08:38:59,859.859 INFO    ] Checking for camera pi updates...
[2026-08-29 08:38:59,879.879 INFO    ] 200
[2026-08-29 08:38:59,881.881 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:38:59,903.903 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:39:00,001.001 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:39:00,002.002 INFO    ] No camera update needed
[2026-08-29 08:39:00,004.004 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:39:00,005.005 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:39:00,008.008 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:39:00,010.010 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:39:02,053.053 INFO    ] ================================================
[2026-08-29 08:39:02,071.071 INFO    ] Launching Daemon at Sat Aug 29 08:39:02 IST 2026
[2026-08-29 08:39:02,090.090 INFO    ] ================================================
[2026-08-29 08:39:02,753.753 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:39:02
[2026-08-29 08:39:03,419.419 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:39:03,699.699 INFO    ] Initializing speech engine...
[2026-08-29 08:39:03,707.707 INFO    ] 2026-08-29 08:39:03
[2026-08-29 08:39:03,968.968 INFO    ] 2026-08-29 08:39:03
[2026-08-29 08:39:03,997.997 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:39:04,170.170 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:39:04,183.183 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:39:04,329.329 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:39:04,334.334 INFO    ] time= 29/08/2026 08:39:04
[2026-08-29 08:39:04,340.340 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:39:04,376.376 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:39:04,514.514 INFO    ] No existing commands found in stream
[2026-08-29 08:39:09,544.544 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:39:09,546.546 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-08-29 08:39:13,235.235 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:39:13,236.236 INFO    ] Checking for system updates...
[2026-08-29 08:39:13,257.257 INFO    ] 200
[2026-08-29 08:39:13,258.258 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:39:13,288.288 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:39:13,290.290 INFO    ] No update needed
[2026-08-29 08:39:13,291.291 INFO    ] Checking for camera pi updates...
[2026-08-29 08:39:13,312.312 INFO    ] 200
[2026-08-29 08:39:13,313.313 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:39:13,337.337 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:39:13,703.703 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:39:13,704.704 INFO    ] No camera update needed
[2026-08-29 08:39:13,705.705 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:39:13,707.707 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:39:13,710.710 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:39:13,714.714 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:39:15,758.758 INFO    ] ================================================
[2026-08-29 08:39:15,775.775 INFO    ] Launching Daemon at Sat Aug 29 08:39:15 IST 2026
[2026-08-29 08:39:15,786.786 INFO    ] ================================================
[2026-08-29 08:39:16,229.229 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:39:16
[2026-08-29 08:39:16,814.814 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:39:17,086.086 INFO    ] Initializing speech engine...
[2026-08-29 08:39:17,096.096 INFO    ] 2026-08-29 08:39:17
[2026-08-29 08:39:17,346.346 INFO    ] 2026-08-29 08:39:17
[2026-08-29 08:39:17,381.381 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:39:17,556.556 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:39:17,569.569 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:39:17,711.711 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:39:17,720.720 INFO    ] time= 29/08/2026 08:39:17
[2026-08-29 08:39:17,725.725 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:39:17,731.731 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:39:17,797.797 INFO    ] No existing commands found in stream
[2026-08-29 08:39:22,809.809 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:39:22,812.812 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-08-29 08:39:23,810.810 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:39:23,811.811 INFO    ] Checking for system updates...
[2026-08-29 08:39:23,833.833 INFO    ] 200
[2026-08-29 08:39:23,834.834 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:39:23,869.869 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:39:23,870.870 INFO    ] No update needed
[2026-08-29 08:39:23,871.871 INFO    ] Checking for camera pi updates...
[2026-08-29 08:39:23,890.890 INFO    ] 200
[2026-08-29 08:39:23,891.891 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:39:23,915.915 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:39:23,994.994 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:39:23,995.995 INFO    ] No camera update needed
[2026-08-29 08:39:23,996.996 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:39:23,998.998 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:39:24,000.000 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:39:24,003.003 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:39:26,041.041 INFO    ] ================================================
[2026-08-29 08:39:26,057.057 INFO    ] Launching Daemon at Sat Aug 29 08:39:26 IST 2026
[2026-08-29 08:39:26,068.068 INFO    ] ================================================
[2026-08-29 08:39:26,601.601 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:39:26
[2026-08-29 08:39:27,186.186 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:39:27,456.456 INFO    ] Initializing speech engine...
[2026-08-29 08:39:27,465.465 INFO    ] 2026-08-29 08:39:27
[2026-08-29 08:39:27,717.717 INFO    ] 2026-08-29 08:39:27
[2026-08-29 08:39:27,784.784 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:39:27,938.938 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:39:27,954.954 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:39:28,087.087 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:39:28,095.095 INFO    ] time= 29/08/2026 08:39:28
[2026-08-29 08:39:28,104.104 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:39:28,143.143 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:39:28,276.276 INFO    ] No existing commands found in stream
[2026-08-29 08:39:33,306.306 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:39:33,309.309 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-08-29 08:39:36,318.318 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:39:36,319.319 INFO    ] Checking for system updates...
[2026-08-29 08:39:36,340.340 INFO    ] 200
[2026-08-29 08:39:36,341.341 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:39:36,370.370 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:39:36,372.372 INFO    ] No update needed
[2026-08-29 08:39:36,373.373 INFO    ] Checking for camera pi updates...
[2026-08-29 08:39:36,392.392 INFO    ] 200
[2026-08-29 08:39:36,394.394 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:39:36,426.426 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:39:36,532.532 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:39:36,533.533 INFO    ] No camera update needed
[2026-08-29 08:39:36,534.534 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:39:36,536.536 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:39:36,539.539 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:39:36,541.541 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:39:38,580.580 INFO    ] ================================================
[2026-08-29 08:39:38,595.595 INFO    ] Launching Daemon at Sat Aug 29 08:39:38 IST 2026
[2026-08-29 08:39:38,606.606 INFO    ] ================================================
[2026-08-29 08:39:39,171.171 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:39:39
[2026-08-29 08:39:39,755.755 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:39:39,999.999 INFO    ] Initializing speech engine...
[2026-08-29 08:39:40,007.007 INFO    ] 2026-08-29 08:39:40
[2026-08-29 08:39:40,279.279 INFO    ] 2026-08-29 08:39:40
[2026-08-29 08:39:40,313.313 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:39:40,485.485 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:39:40,497.497 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:39:40,638.638 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:39:40,677.677 INFO    ] time= 29/08/2026 08:39:40
[2026-08-29 08:39:40,709.709 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:39:40,713.713 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:39:40,804.804 INFO    ] No existing commands found in stream
[2026-08-29 08:39:45,835.835 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:39:45,837.837 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-08-29 08:39:49,324.324 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:39:49,326.326 INFO    ] Checking for system updates...
[2026-08-29 08:39:49,346.346 INFO    ] 200
[2026-08-29 08:39:49,347.347 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:39:49,377.377 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:39:49,378.378 INFO    ] No update needed
[2026-08-29 08:39:49,379.379 INFO    ] Checking for camera pi updates...
[2026-08-29 08:39:49,401.401 INFO    ] 200
[2026-08-29 08:39:49,402.402 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:39:49,426.426 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:39:49,503.503 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:39:49,505.505 INFO    ] No camera update needed
[2026-08-29 08:39:49,506.506 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:39:49,507.507 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:39:49,510.510 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:39:49,513.513 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:39:51,551.551 INFO    ] ================================================
[2026-08-29 08:39:51,566.566 INFO    ] Launching Daemon at Sat Aug 29 08:39:51 IST 2026
[2026-08-29 08:39:51,577.577 INFO    ] ================================================
[2026-08-29 08:39:52,293.293 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:39:52
[2026-08-29 08:39:52,893.893 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:39:53,171.171 INFO    ] Initializing speech engine...
[2026-08-29 08:39:53,178.178 INFO    ] 2026-08-29 08:39:53
[2026-08-29 08:39:53,438.438 INFO    ] 2026-08-29 08:39:53
[2026-08-29 08:39:53,492.492 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:39:53,714.714 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:39:53,723.723 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:39:53,854.854 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:39:53,897.897 INFO    ] time= 29/08/2026 08:39:53
[2026-08-29 08:39:53,956.956 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:39:53,987.987 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:39:54,037.037 INFO    ] No existing commands found in stream
[2026-08-29 08:39:59,049.049 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:39:59,052.052 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 08:40:00,821.821 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:40:00,823.823 INFO    ] Checking for system updates...
[2026-08-29 08:40:00,845.845 INFO    ] 200
[2026-08-29 08:40:00,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:40:00,876.876 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:40:00,878.878 INFO    ] No update needed
[2026-08-29 08:40:00,879.879 INFO    ] Checking for camera pi updates...
[2026-08-29 08:40:00,899.899 INFO    ] 200
[2026-08-29 08:40:00,901.901 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:40:00,924.924 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:40:01,023.023 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:40:01,024.024 INFO    ] No camera update needed
[2026-08-29 08:40:01,025.025 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:40:01,027.027 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:40:01,030.030 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:40:01,032.032 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:40:03,082.082 INFO    ] ================================================
[2026-08-29 08:40:03,106.106 INFO    ] Launching Daemon at Sat Aug 29 08:40:03 IST 2026
[2026-08-29 08:40:03,120.120 INFO    ] ================================================
[2026-08-29 08:40:03,739.739 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:40:03
[2026-08-29 08:40:04,341.341 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:40:04,601.601 INFO    ] Initializing speech engine...
[2026-08-29 08:40:04,610.610 INFO    ] 2026-08-29 08:40:04
[2026-08-29 08:40:04,836.836 INFO    ] 2026-08-29 08:40:04
[2026-08-29 08:40:04,903.903 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:40:05,166.166 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:40:05,179.179 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:40:05,333.333 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:40:05,344.344 INFO    ] time= 29/08/2026 08:40:05
[2026-08-29 08:40:05,384.384 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:40:05,423.423 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:40:05,501.501 INFO    ] No existing commands found in stream
[2026-08-29 08:40:10,512.512 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:40:10,515.515 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-08-29 08:40:13,105.105 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:40:13,106.106 INFO    ] Checking for system updates...
[2026-08-29 08:40:13,127.127 INFO    ] 200
[2026-08-29 08:40:13,128.128 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:40:13,162.162 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:40:13,163.163 INFO    ] No update needed
[2026-08-29 08:40:13,164.164 INFO    ] Checking for camera pi updates...
[2026-08-29 08:40:13,184.184 INFO    ] 200
[2026-08-29 08:40:13,185.185 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:40:13,208.208 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:40:13,306.306 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:40:13,307.307 INFO    ] No camera update needed
[2026-08-29 08:40:13,309.309 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:40:13,310.310 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:40:13,313.313 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:40:13,316.316 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:40:15,354.354 INFO    ] ================================================
[2026-08-29 08:40:15,369.369 INFO    ] Launching Daemon at Sat Aug 29 08:40:15 IST 2026
[2026-08-29 08:40:15,380.380 INFO    ] ================================================
[2026-08-29 08:40:15,766.766 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:40:15
[2026-08-29 08:40:16,112.112 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:40:16,375.375 INFO    ] Initializing speech engine...
[2026-08-29 08:40:16,387.387 INFO    ] 2026-08-29 08:40:16
[2026-08-29 08:40:16,701.701 INFO    ] 2026-08-29 08:40:16
[2026-08-29 08:40:16,786.786 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:40:16,939.939 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:40:16,959.959 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:40:17,097.097 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:40:17,148.148 INFO    ] time= 29/08/2026 08:40:17
[2026-08-29 08:40:17,151.151 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:40:17,155.155 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:40:17,245.245 INFO    ] No existing commands found in stream
[2026-08-29 08:40:22,256.256 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:40:22,259.259 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-08-29 08:40:22,637.637 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:40:22,639.639 INFO    ] Checking for system updates...
[2026-08-29 08:40:22,660.660 INFO    ] 200
[2026-08-29 08:40:22,661.661 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:40:22,692.692 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:40:22,693.693 INFO    ] No update needed
[2026-08-29 08:40:22,695.695 INFO    ] Checking for camera pi updates...
[2026-08-29 08:40:22,716.716 INFO    ] 200
[2026-08-29 08:40:22,717.717 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:40:22,741.741 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:40:22,823.823 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:40:22,824.824 INFO    ] No camera update needed
[2026-08-29 08:40:22,826.826 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:40:22,827.827 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:40:22,830.830 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:40:22,833.833 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:40:24,863.863 INFO    ] ================================================
[2026-08-29 08:40:24,872.872 INFO    ] Launching Daemon at Sat Aug 29 08:40:24 IST 2026
[2026-08-29 08:40:24,878.878 INFO    ] ================================================
[2026-08-29 08:40:25,416.416 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:40:25
[2026-08-29 08:40:26,017.017 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:40:26,285.285 INFO    ] Initializing speech engine...
[2026-08-29 08:40:26,300.300 INFO    ] 2026-08-29 08:40:26
[2026-08-29 08:40:26,596.596 INFO    ] 2026-08-29 08:40:26
[2026-08-29 08:40:26,622.622 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:40:26,788.788 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:40:26,796.796 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:40:26,952.952 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:40:26,962.962 INFO    ] time= 29/08/2026 08:40:26
[2026-08-29 08:40:26,968.968 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:40:26,992.992 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:40:27,047.047 INFO    ] No existing commands found in stream
[2026-08-29 08:40:32,057.057 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:40:32,060.060 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-08-29 08:40:35,563.563 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:40:35,564.564 INFO    ] Checking for system updates...
[2026-08-29 08:40:35,586.586 INFO    ] 200
[2026-08-29 08:40:35,587.587 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:40:35,617.617 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:40:35,618.618 INFO    ] No update needed
[2026-08-29 08:40:35,620.620 INFO    ] Checking for camera pi updates...
[2026-08-29 08:40:35,639.639 INFO    ] 200
[2026-08-29 08:40:35,640.640 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:40:35,665.665 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:40:35,770.770 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:40:35,771.771 INFO    ] No camera update needed
[2026-08-29 08:40:35,772.772 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:40:35,774.774 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:40:35,777.777 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:40:35,779.779 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:40:37,818.818 INFO    ] ================================================
[2026-08-29 08:40:37,834.834 INFO    ] Launching Daemon at Sat Aug 29 08:40:37 IST 2026
[2026-08-29 08:40:37,845.845 INFO    ] ================================================
[2026-08-29 08:40:38,182.182 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:40:38
[2026-08-29 08:40:38,496.496 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:40:38,703.703 INFO    ] Initializing speech engine...
[2026-08-29 08:40:38,710.710 INFO    ] 2026-08-29 08:40:38
[2026-08-29 08:40:39,009.009 INFO    ] 2026-08-29 08:40:38
[2026-08-29 08:40:39,049.049 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:40:39,204.204 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:40:39,212.212 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:40:39,367.367 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:40:39,379.379 INFO    ] time= 29/08/2026 08:40:39
[2026-08-29 08:40:39,383.383 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:40:39,388.388 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:40:39,461.461 INFO    ] No existing commands found in stream
[2026-08-29 08:40:44,473.473 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:40:44,475.475 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-08-29 08:40:46,058.058 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:40:46,059.059 INFO    ] Checking for system updates...
[2026-08-29 08:40:46,080.080 INFO    ] 200
[2026-08-29 08:40:46,082.082 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:40:46,112.112 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:40:46,114.114 INFO    ] No update needed
[2026-08-29 08:40:46,115.115 INFO    ] Checking for camera pi updates...
[2026-08-29 08:40:46,135.135 INFO    ] 200
[2026-08-29 08:40:46,136.136 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:40:46,159.159 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:40:46,235.235 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:40:46,237.237 INFO    ] No camera update needed
[2026-08-29 08:40:46,238.238 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:40:46,239.239 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:40:46,243.243 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:40:46,246.246 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:40:48,286.286 INFO    ] ================================================
[2026-08-29 08:40:48,301.301 INFO    ] Launching Daemon at Sat Aug 29 08:40:48 IST 2026
[2026-08-29 08:40:48,312.312 INFO    ] ================================================
[2026-08-29 08:40:48,697.697 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:40:48
[2026-08-29 08:40:49,044.044 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:40:49,200.200 INFO    ] Initializing speech engine...
[2026-08-29 08:40:49,206.206 INFO    ] 2026-08-29 08:40:49
[2026-08-29 08:40:49,419.419 INFO    ] 2026-08-29 08:40:49
[2026-08-29 08:40:49,448.448 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:40:49,584.584 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:40:49,638.638 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:40:49,771.771 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:40:49,827.827 INFO    ] time= 29/08/2026 08:40:49
[2026-08-29 08:40:49,872.872 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:40:49,879.879 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:40:49,946.946 INFO    ] No existing commands found in stream
[2026-08-29 08:40:54,961.961 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:40:54,965.965 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-08-29 08:40:59,120.120 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:40:59,124.124 INFO    ] Checking for system updates...
[2026-08-29 08:40:59,161.161 INFO    ] 200
[2026-08-29 08:40:59,164.164 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:40:59,218.218 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:40:59,221.221 INFO    ] No update needed
[2026-08-29 08:40:59,224.224 INFO    ] Checking for camera pi updates...
[2026-08-29 08:40:59,259.259 INFO    ] 200
[2026-08-29 08:40:59,263.263 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:40:59,310.310 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:40:59,399.399 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:40:59,401.401 INFO    ] No camera update needed
[2026-08-29 08:40:59,402.402 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:40:59,404.404 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:40:59,407.407 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:40:59,410.410 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:41:01,449.449 INFO    ] ================================================
[2026-08-29 08:41:01,464.464 INFO    ] Launching Daemon at Sat Aug 29 08:41:01 IST 2026
[2026-08-29 08:41:01,475.475 INFO    ] ================================================
[2026-08-29 08:41:02,179.179 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:41:02
[2026-08-29 08:41:02,844.844 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:41:03,199.199 INFO    ] Initializing speech engine...
[2026-08-29 08:41:03,207.207 INFO    ] 2026-08-29 08:41:03
[2026-08-29 08:41:03,518.518 INFO    ] 2026-08-29 08:41:03
[2026-08-29 08:41:03,563.563 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:41:03,737.737 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:41:03,761.761 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:41:03,896.896 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:41:03,905.905 INFO    ] time= 29/08/2026 08:41:03
[2026-08-29 08:41:03,913.913 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:41:03,974.974 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:41:04,089.089 INFO    ] No existing commands found in stream
[2026-08-29 08:41:09,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:41:09,125.125 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-08-29 08:41:10,066.066 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:41:10,068.068 INFO    ] Checking for system updates...
[2026-08-29 08:41:10,089.089 INFO    ] 200
[2026-08-29 08:41:10,090.090 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:41:10,120.120 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:41:10,121.121 INFO    ] No update needed
[2026-08-29 08:41:10,122.122 INFO    ] Checking for camera pi updates...
[2026-08-29 08:41:10,144.144 INFO    ] 200
[2026-08-29 08:41:10,145.145 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:41:10,168.168 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:41:10,269.269 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:41:10,270.270 INFO    ] No camera update needed
[2026-08-29 08:41:10,272.272 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:41:10,273.273 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:41:10,276.276 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:41:10,278.278 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:41:12,318.318 INFO    ] ================================================
[2026-08-29 08:41:12,333.333 INFO    ] Launching Daemon at Sat Aug 29 08:41:12 IST 2026
[2026-08-29 08:41:12,344.344 INFO    ] ================================================
[2026-08-29 08:41:12,672.672 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:41:12
[2026-08-29 08:41:12,985.985 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:41:13,116.116 INFO    ] Initializing speech engine...
[2026-08-29 08:41:13,120.120 INFO    ] 2026-08-29 08:41:13
[2026-08-29 08:41:13,339.339 INFO    ] 2026-08-29 08:41:13
[2026-08-29 08:41:13,388.388 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:41:13,555.555 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:41:13,563.563 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:41:13,725.725 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:41:13,766.766 INFO    ] time= 29/08/2026 08:41:13
[2026-08-29 08:41:13,773.773 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:41:13,790.790 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:41:13,899.899 INFO    ] No existing commands found in stream
[2026-08-29 08:41:18,919.919 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:41:18,922.922 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-08-29 08:41:21,723.723 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:41:21,724.724 INFO    ] Checking for system updates...
[2026-08-29 08:41:21,745.745 INFO    ] 200
[2026-08-29 08:41:21,746.746 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:41:21,776.776 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:41:21,778.778 INFO    ] No update needed
[2026-08-29 08:41:21,779.779 INFO    ] Checking for camera pi updates...
[2026-08-29 08:41:21,799.799 INFO    ] 200
[2026-08-29 08:41:21,800.800 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:41:21,825.825 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:41:21,947.947 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:41:21,950.950 INFO    ] No camera update needed
[2026-08-29 08:41:21,953.953 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:41:21,956.956 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:41:21,962.962 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:41:21,968.968 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:41:24,009.009 INFO    ] ================================================
[2026-08-29 08:41:24,025.025 INFO    ] Launching Daemon at Sat Aug 29 08:41:24 IST 2026
[2026-08-29 08:41:24,035.035 INFO    ] ================================================
[2026-08-29 08:41:24,620.620 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:41:24
[2026-08-29 08:41:25,095.095 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:41:25,229.229 INFO    ] Initializing speech engine...
[2026-08-29 08:41:25,241.241 INFO    ] 2026-08-29 08:41:25
[2026-08-29 08:41:25,448.448 INFO    ] 2026-08-29 08:41:25
[2026-08-29 08:41:25,477.477 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:41:25,597.597 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:41:25,637.637 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:41:25,823.823 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:41:25,856.856 INFO    ] time= 29/08/2026 08:41:25
[2026-08-29 08:41:25,910.910 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:41:25,975.975 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:41:26,036.036 INFO    ] No existing commands found in stream
[2026-08-29 08:41:31,046.046 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:41:31,049.049 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 08:41:32,487.487 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:41:32,491.491 INFO    ] Checking for system updates...
[2026-08-29 08:41:32,541.541 INFO    ] 200
[2026-08-29 08:41:32,543.543 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:41:32,595.595 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:41:32,598.598 INFO    ] No update needed
[2026-08-29 08:41:32,600.600 INFO    ] Checking for camera pi updates...
[2026-08-29 08:41:32,635.635 INFO    ] 200
[2026-08-29 08:41:32,637.637 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:41:32,684.684 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:41:32,798.798 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:41:32,801.801 INFO    ] No camera update needed
[2026-08-29 08:41:32,803.803 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:41:32,806.806 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:41:32,811.811 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:41:32,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:41:34,857.857 INFO    ] ================================================
[2026-08-29 08:41:34,873.873 INFO    ] Launching Daemon at Sat Aug 29 08:41:34 IST 2026
[2026-08-29 08:41:34,883.883 INFO    ] ================================================
[2026-08-29 08:41:35,446.446 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:41:35
[2026-08-29 08:41:35,787.787 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:41:36,041.041 INFO    ] Initializing speech engine...
[2026-08-29 08:41:36,048.048 INFO    ] 2026-08-29 08:41:36
[2026-08-29 08:41:36,341.341 INFO    ] 2026-08-29 08:41:36
[2026-08-29 08:41:36,387.387 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:41:36,611.611 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:41:36,621.621 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:41:36,758.758 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:41:36,813.813 INFO    ] time= 29/08/2026 08:41:36
[2026-08-29 08:41:36,869.869 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:41:36,894.894 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:41:37,012.012 INFO    ] No existing commands found in stream
[2026-08-29 08:41:42,043.043 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:41:42,047.047 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 08:41:43,972.972 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:41:43,973.973 INFO    ] Checking for system updates...
[2026-08-29 08:41:43,994.994 INFO    ] 200
[2026-08-29 08:41:43,995.995 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:41:44,030.030 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:41:44,032.032 INFO    ] No update needed
[2026-08-29 08:41:44,033.033 INFO    ] Checking for camera pi updates...
[2026-08-29 08:41:44,053.053 INFO    ] 200
[2026-08-29 08:41:44,054.054 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:41:44,077.077 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:41:44,170.170 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:41:44,171.171 INFO    ] No camera update needed
[2026-08-29 08:41:44,173.173 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:41:44,174.174 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:41:44,177.177 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:41:44,180.180 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:41:46,218.218 INFO    ] ================================================
[2026-08-29 08:41:46,234.234 INFO    ] Launching Daemon at Sat Aug 29 08:41:46 IST 2026
[2026-08-29 08:41:46,244.244 INFO    ] ================================================
[2026-08-29 08:41:46,860.860 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:41:46
[2026-08-29 08:41:47,546.546 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:41:47,794.794 INFO    ] Initializing speech engine...
[2026-08-29 08:41:47,806.806 INFO    ] 2026-08-29 08:41:47
[2026-08-29 08:41:48,067.067 INFO    ] 2026-08-29 08:41:48
[2026-08-29 08:41:48,102.102 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:41:48,275.275 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:41:48,298.298 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:41:48,426.426 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:41:48,435.435 INFO    ] time= 29/08/2026 08:41:48
[2026-08-29 08:41:48,439.439 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:41:48,445.445 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:41:48,509.509 INFO    ] No existing commands found in stream
[2026-08-29 08:41:53,522.522 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:41:53,525.525 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-08-29 08:41:57,133.133 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:41:57,134.134 INFO    ] Checking for system updates...
[2026-08-29 08:41:57,155.155 INFO    ] 200
[2026-08-29 08:41:57,156.156 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:41:57,186.186 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:41:57,187.187 INFO    ] No update needed
[2026-08-29 08:41:57,189.189 INFO    ] Checking for camera pi updates...
[2026-08-29 08:41:57,208.208 INFO    ] 200
[2026-08-29 08:41:57,209.209 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:41:57,232.232 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:41:57,331.331 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:41:57,335.335 INFO    ] No camera update needed
[2026-08-29 08:41:57,338.338 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:41:57,340.340 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:41:57,346.346 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:41:57,351.351 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:41:59,394.394 INFO    ] ================================================
[2026-08-29 08:41:59,409.409 INFO    ] Launching Daemon at Sat Aug 29 08:41:59 IST 2026
[2026-08-29 08:41:59,420.420 INFO    ] ================================================
[2026-08-29 08:41:59,993.993 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:41:59
[2026-08-29 08:42:00,527.527 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:42:00,767.767 INFO    ] Initializing speech engine...
[2026-08-29 08:42:00,775.775 INFO    ] 2026-08-29 08:42:00
[2026-08-29 08:42:01,026.026 INFO    ] 2026-08-29 08:42:01
[2026-08-29 08:42:01,067.067 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:42:01,236.236 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:42:01,248.248 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:42:01,404.404 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:42:01,412.412 INFO    ] time= 29/08/2026 08:42:01
[2026-08-29 08:42:01,453.453 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:42:01,496.496 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:42:01,572.572 INFO    ] No existing commands found in stream
[2026-08-29 08:42:06,583.583 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:42:06,585.585 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-08-29 08:42:07,388.388 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:42:07,389.389 INFO    ] Checking for system updates...
[2026-08-29 08:42:07,412.412 INFO    ] 200
[2026-08-29 08:42:07,413.413 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:42:07,444.444 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:42:07,445.445 INFO    ] No update needed
[2026-08-29 08:42:07,446.446 INFO    ] Checking for camera pi updates...
[2026-08-29 08:42:07,466.466 INFO    ] 200
[2026-08-29 08:42:07,468.468 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:42:07,490.490 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:42:07,665.665 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:42:07,666.666 INFO    ] No camera update needed
[2026-08-29 08:42:07,668.668 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:42:07,669.669 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:42:07,672.672 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:42:07,675.675 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:42:09,714.714 INFO    ] ================================================
[2026-08-29 08:42:09,729.729 INFO    ] Launching Daemon at Sat Aug 29 08:42:09 IST 2026
[2026-08-29 08:42:09,739.739 INFO    ] ================================================
[2026-08-29 08:42:10,090.090 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:42:10
[2026-08-29 08:42:10,406.406 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:42:10,547.547 INFO    ] Initializing speech engine...
[2026-08-29 08:42:10,555.555 INFO    ] 2026-08-29 08:42:10
[2026-08-29 08:42:10,770.770 INFO    ] 2026-08-29 08:42:10
[2026-08-29 08:42:10,800.800 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:42:10,932.932 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:42:10,975.975 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:42:11,140.140 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:42:11,182.182 INFO    ] time= 29/08/2026 08:42:11
[2026-08-29 08:42:11,224.224 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:42:11,247.247 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:42:11,323.323 INFO    ] No existing commands found in stream
[2026-08-29 08:42:16,334.334 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:42:16,336.336 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-08-29 08:42:19,260.260 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:42:19,261.261 INFO    ] Checking for system updates...
[2026-08-29 08:42:19,283.283 INFO    ] 200
[2026-08-29 08:42:19,284.284 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:42:19,314.314 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:42:19,315.315 INFO    ] No update needed
[2026-08-29 08:42:19,317.317 INFO    ] Checking for camera pi updates...
[2026-08-29 08:42:19,336.336 INFO    ] 200
[2026-08-29 08:42:19,337.337 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:42:19,360.360 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:42:19,452.452 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:42:19,454.454 INFO    ] No camera update needed
[2026-08-29 08:42:19,455.455 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:42:19,456.456 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:42:19,459.459 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:42:19,462.462 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:42:21,491.491 INFO    ] ================================================
[2026-08-29 08:42:21,500.500 INFO    ] Launching Daemon at Sat Aug 29 08:42:21 IST 2026
[2026-08-29 08:42:21,505.505 INFO    ] ================================================
[2026-08-29 08:42:22,113.113 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:42:22
[2026-08-29 08:42:22,775.775 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:42:23,085.085 INFO    ] Initializing speech engine...
[2026-08-29 08:42:23,091.091 INFO    ] 2026-08-29 08:42:23
[2026-08-29 08:42:23,374.374 INFO    ] 2026-08-29 08:42:23
[2026-08-29 08:42:23,463.463 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:42:23,645.645 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:42:23,655.655 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:42:23,787.787 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:42:23,845.845 INFO    ] time= 29/08/2026 08:42:23
[2026-08-29 08:42:23,885.885 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:42:23,922.922 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:42:23,979.979 INFO    ] No existing commands found in stream
[2026-08-29 08:42:28,993.993 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:42:28,996.996 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-08-29 08:42:31,695.695 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:42:31,698.698 INFO    ] Checking for system updates...
[2026-08-29 08:42:31,737.737 INFO    ] 200
[2026-08-29 08:42:31,740.740 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:42:31,799.799 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:42:31,802.802 INFO    ] No update needed
[2026-08-29 08:42:31,805.805 INFO    ] Checking for camera pi updates...
[2026-08-29 08:42:31,845.845 INFO    ] 200
[2026-08-29 08:42:31,848.848 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:42:31,897.897 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:42:32,005.005 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:42:32,007.007 INFO    ] No camera update needed
[2026-08-29 08:42:32,010.010 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:42:32,012.012 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:42:32,019.019 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:42:32,024.024 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:42:34,064.064 INFO    ] ================================================
[2026-08-29 08:42:34,080.080 INFO    ] Launching Daemon at Sat Aug 29 08:42:34 IST 2026
[2026-08-29 08:42:34,091.091 INFO    ] ================================================
[2026-08-29 08:42:34,657.657 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:42:34
[2026-08-29 08:42:34,968.968 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:42:35,104.104 INFO    ] Initializing speech engine...
[2026-08-29 08:42:35,117.117 INFO    ] 2026-08-29 08:42:35
[2026-08-29 08:42:35,334.334 INFO    ] 2026-08-29 08:42:35
[2026-08-29 08:42:35,364.364 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:42:35,498.498 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:42:35,530.530 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:42:35,675.675 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:42:35,709.709 INFO    ] time= 29/08/2026 08:42:35
[2026-08-29 08:42:35,754.754 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:42:35,792.792 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:42:35,888.888 INFO    ] No existing commands found in stream
[2026-08-29 08:42:40,899.899 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:42:40,902.902 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-08-29 08:42:41,750.750 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:42:41,752.752 INFO    ] Checking for system updates...
[2026-08-29 08:42:41,772.772 INFO    ] 200
[2026-08-29 08:42:41,773.773 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:42:41,805.805 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:42:41,807.807 INFO    ] No update needed
[2026-08-29 08:42:41,808.808 INFO    ] Checking for camera pi updates...
[2026-08-29 08:42:41,827.827 INFO    ] 200
[2026-08-29 08:42:41,828.828 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:42:41,853.853 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:42:41,914.914 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:42:41,915.915 INFO    ] No camera update needed
[2026-08-29 08:42:41,917.917 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:42:41,918.918 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:42:41,921.921 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:42:41,923.923 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:42:43,964.964 INFO    ] ================================================
[2026-08-29 08:42:43,980.980 INFO    ] Launching Daemon at Sat Aug 29 08:42:43 IST 2026
[2026-08-29 08:42:43,990.990 INFO    ] ================================================
[2026-08-29 08:42:44,363.363 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:42:44
[2026-08-29 08:42:44,697.697 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:42:44,847.847 INFO    ] Initializing speech engine...
[2026-08-29 08:42:44,853.853 INFO    ] 2026-08-29 08:42:44
[2026-08-29 08:42:45,059.059 INFO    ] 2026-08-29 08:42:45
[2026-08-29 08:42:45,089.089 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:42:45,238.238 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:42:45,277.277 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:42:45,411.411 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:42:45,482.482 INFO    ] time= 29/08/2026 08:42:45
[2026-08-29 08:42:45,507.507 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:42:45,514.514 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:42:45,581.581 INFO    ] No existing commands found in stream
[2026-08-29 08:42:50,590.590 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:42:50,594.594 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 08:42:51,861.861 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:42:51,863.863 INFO    ] Checking for system updates...
[2026-08-29 08:42:51,883.883 INFO    ] 200
[2026-08-29 08:42:51,885.885 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:42:51,917.917 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:42:51,919.919 INFO    ] No update needed
[2026-08-29 08:42:51,920.920 INFO    ] Checking for camera pi updates...
[2026-08-29 08:42:51,940.940 INFO    ] 200
[2026-08-29 08:42:51,941.941 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:42:51,965.965 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:42:52,019.019 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:42:52,020.020 INFO    ] No camera update needed
[2026-08-29 08:42:52,021.021 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:42:52,023.023 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:42:52,026.026 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:42:52,029.029 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:42:54,069.069 INFO    ] ================================================
[2026-08-29 08:42:54,085.085 INFO    ] Launching Daemon at Sat Aug 29 08:42:54 IST 2026
[2026-08-29 08:42:54,096.096 INFO    ] ================================================
[2026-08-29 08:42:54,597.597 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:42:54
[2026-08-29 08:42:55,180.180 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:42:55,449.449 INFO    ] Initializing speech engine...
[2026-08-29 08:42:55,460.460 INFO    ] 2026-08-29 08:42:55
[2026-08-29 08:42:55,727.727 INFO    ] 2026-08-29 08:42:55
[2026-08-29 08:42:55,764.764 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:42:55,907.907 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:42:55,914.914 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:42:56,063.063 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:42:56,073.073 INFO    ] time= 29/08/2026 08:42:56
[2026-08-29 08:42:56,077.077 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:42:56,081.081 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:42:56,151.151 INFO    ] No existing commands found in stream
[2026-08-29 08:43:01,161.161 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:43:01,164.164 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-08-29 08:43:03,453.453 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:43:03,456.456 INFO    ] Checking for system updates...
[2026-08-29 08:43:03,492.492 INFO    ] 200
[2026-08-29 08:43:03,494.494 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:43:03,552.552 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:43:03,555.555 INFO    ] No update needed
[2026-08-29 08:43:03,557.557 INFO    ] Checking for camera pi updates...
[2026-08-29 08:43:03,593.593 INFO    ] 200
[2026-08-29 08:43:03,596.596 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:43:03,635.635 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:43:03,750.750 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:43:03,752.752 INFO    ] No camera update needed
[2026-08-29 08:43:03,755.755 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:43:03,757.757 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:43:03,762.762 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:43:03,767.767 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:43:05,810.810 INFO    ] ================================================
[2026-08-29 08:43:05,826.826 INFO    ] Launching Daemon at Sat Aug 29 08:43:05 IST 2026
[2026-08-29 08:43:05,837.837 INFO    ] ================================================
[2026-08-29 08:43:06,284.284 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:43:06
[2026-08-29 08:43:06,884.884 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:43:07,142.142 INFO    ] Initializing speech engine...
[2026-08-29 08:43:07,151.151 INFO    ] 2026-08-29 08:43:07
[2026-08-29 08:43:07,444.444 INFO    ] 2026-08-29 08:43:07
[2026-08-29 08:43:07,482.482 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:43:07,625.625 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:43:07,633.633 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:43:07,782.782 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:43:07,793.793 INFO    ] time= 29/08/2026 08:43:07
[2026-08-29 08:43:07,798.798 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:43:07,820.820 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:43:07,875.875 INFO    ] No existing commands found in stream
[2026-08-29 08:43:12,888.888 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:43:12,890.890 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-08-29 08:43:14,933.933 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:43:14,935.935 INFO    ] Checking for system updates...
[2026-08-29 08:43:14,956.956 INFO    ] 200
[2026-08-29 08:43:14,958.958 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:43:14,988.988 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:43:14,989.989 INFO    ] No update needed
[2026-08-29 08:43:14,990.990 INFO    ] Checking for camera pi updates...
[2026-08-29 08:43:15,027.027 INFO    ] 200
[2026-08-29 08:43:15,029.029 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:43:15,069.069 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:43:15,152.152 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:43:15,154.154 INFO    ] No camera update needed
[2026-08-29 08:43:15,157.157 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:43:15,159.159 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:43:15,165.165 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:43:15,170.170 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:43:17,210.210 INFO    ] ================================================
[2026-08-29 08:43:17,226.226 INFO    ] Launching Daemon at Sat Aug 29 08:43:17 IST 2026
[2026-08-29 08:43:17,237.237 INFO    ] ================================================
[2026-08-29 08:43:17,876.876 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:43:17
[2026-08-29 08:43:18,330.330 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:43:18,476.476 INFO    ] Initializing speech engine...
[2026-08-29 08:43:18,486.486 INFO    ] 2026-08-29 08:43:18
[2026-08-29 08:43:18,695.695 INFO    ] 2026-08-29 08:43:18
[2026-08-29 08:43:18,724.724 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:43:18,848.848 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:43:18,886.886 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:43:19,064.064 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:43:19,122.122 INFO    ] time= 29/08/2026 08:43:19
[2026-08-29 08:43:19,146.146 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:43:19,153.153 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:43:19,220.220 INFO    ] No existing commands found in stream
[2026-08-29 08:43:24,235.235 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:43:24,238.238 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-08-29 08:43:25,616.616 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:43:25,618.618 INFO    ] Checking for system updates...
[2026-08-29 08:43:25,638.638 INFO    ] 200
[2026-08-29 08:43:25,640.640 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:43:25,670.670 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:43:25,672.672 INFO    ] No update needed
[2026-08-29 08:43:25,673.673 INFO    ] Checking for camera pi updates...
[2026-08-29 08:43:25,693.693 INFO    ] 200
[2026-08-29 08:43:25,694.694 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:43:25,717.717 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:43:25,814.814 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:43:25,815.815 INFO    ] No camera update needed
[2026-08-29 08:43:25,817.817 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:43:25,818.818 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:43:25,821.821 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:43:25,824.824 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:43:27,863.863 INFO    ] ================================================
[2026-08-29 08:43:27,879.879 INFO    ] Launching Daemon at Sat Aug 29 08:43:27 IST 2026
[2026-08-29 08:43:27,890.890 INFO    ] ================================================
[2026-08-29 08:43:28,477.477 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:43:28
[2026-08-29 08:43:29,133.133 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:43:29,431.431 INFO    ] Initializing speech engine...
[2026-08-29 08:43:29,445.445 INFO    ] 2026-08-29 08:43:29
[2026-08-29 08:43:29,729.729 INFO    ] 2026-08-29 08:43:29
[2026-08-29 08:43:29,768.768 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:43:29,987.987 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:43:29,996.996 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:43:30,128.128 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:43:30,186.186 INFO    ] time= 29/08/2026 08:43:30
[2026-08-29 08:43:30,257.257 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:43:30,266.266 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:43:30,407.407 INFO    ] No existing commands found in stream
[2026-08-29 08:43:35,425.425 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:43:35,428.428 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-08-29 08:43:37,774.774 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:43:37,779.779 INFO    ] Checking for system updates...
[2026-08-29 08:43:37,817.817 INFO    ] 200
[2026-08-29 08:43:37,820.820 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:43:37,874.874 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:43:37,877.877 INFO    ] No update needed
[2026-08-29 08:43:37,879.879 INFO    ] Checking for camera pi updates...
[2026-08-29 08:43:37,917.917 INFO    ] 200
[2026-08-29 08:43:37,920.920 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:43:37,965.965 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:43:38,056.056 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:43:38,058.058 INFO    ] No camera update needed
[2026-08-29 08:43:38,060.060 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:43:38,063.063 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:43:38,068.068 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:43:38,073.073 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:43:40,113.113 INFO    ] ================================================
[2026-08-29 08:43:40,129.129 INFO    ] Launching Daemon at Sat Aug 29 08:43:40 IST 2026
[2026-08-29 08:43:40,140.140 INFO    ] ================================================
[2026-08-29 08:43:40,661.661 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:43:40
[2026-08-29 08:43:40,973.973 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:43:41,106.106 INFO    ] Initializing speech engine...
[2026-08-29 08:43:41,118.118 INFO    ] 2026-08-29 08:43:41
[2026-08-29 08:43:41,327.327 INFO    ] 2026-08-29 08:43:41
[2026-08-29 08:43:41,356.356 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:43:41,479.479 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:43:41,541.541 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:43:41,678.678 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:43:41,729.729 INFO    ] time= 29/08/2026 08:43:41
[2026-08-29 08:43:41,773.773 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:43:41,784.784 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:43:41,860.860 INFO    ] No existing commands found in stream
[2026-08-29 08:43:46,870.870 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:43:46,873.873 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-08-29 08:43:47,551.551 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:43:47,552.552 INFO    ] Checking for system updates...
[2026-08-29 08:43:47,573.573 INFO    ] 200
[2026-08-29 08:43:47,574.574 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:43:47,606.606 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:43:47,607.607 INFO    ] No update needed
[2026-08-29 08:43:47,608.608 INFO    ] Checking for camera pi updates...
[2026-08-29 08:43:47,628.628 INFO    ] 200
[2026-08-29 08:43:47,629.629 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:43:47,654.654 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:43:47,754.754 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:43:47,755.755 INFO    ] No camera update needed
[2026-08-29 08:43:47,756.756 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:43:47,757.757 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:43:47,760.760 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:43:47,763.763 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:43:49,802.802 INFO    ] ================================================
[2026-08-29 08:43:49,818.818 INFO    ] Launching Daemon at Sat Aug 29 08:43:49 IST 2026
[2026-08-29 08:43:49,829.829 INFO    ] ================================================
[2026-08-29 08:43:50,175.175 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:43:50
[2026-08-29 08:43:50,491.491 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:43:50,625.625 INFO    ] Initializing speech engine...
[2026-08-29 08:43:50,630.630 INFO    ] 2026-08-29 08:43:50
[2026-08-29 08:43:50,855.855 INFO    ] 2026-08-29 08:43:50
[2026-08-29 08:43:50,886.886 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:43:51,013.013 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:43:51,057.057 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:43:51,217.217 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:43:51,264.264 INFO    ] time= 29/08/2026 08:43:51
[2026-08-29 08:43:51,301.301 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:43:51,323.323 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:43:51,396.396 INFO    ] No existing commands found in stream
[2026-08-29 08:43:56,407.407 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:43:56,410.410 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-08-29 08:44:00,639.639 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:44:00,641.641 INFO    ] Checking for system updates...
[2026-08-29 08:44:00,661.661 INFO    ] 200
[2026-08-29 08:44:00,663.663 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:44:00,692.692 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:44:00,694.694 INFO    ] No update needed
[2026-08-29 08:44:00,695.695 INFO    ] Checking for camera pi updates...
[2026-08-29 08:44:00,714.714 INFO    ] 200
[2026-08-29 08:44:00,716.716 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:44:00,738.738 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:44:00,844.844 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:44:00,845.845 INFO    ] No camera update needed
[2026-08-29 08:44:00,846.846 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:44:00,847.847 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:44:00,850.850 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:44:00,854.854 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:44:02,897.897 INFO    ] ================================================
[2026-08-29 08:44:02,913.913 INFO    ] Launching Daemon at Sat Aug 29 08:44:02 IST 2026
[2026-08-29 08:44:02,924.924 INFO    ] ================================================
[2026-08-29 08:44:03,491.491 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:44:03
[2026-08-29 08:44:04,077.077 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:44:04,322.322 INFO    ] Initializing speech engine...
[2026-08-29 08:44:04,336.336 INFO    ] 2026-08-29 08:44:04
[2026-08-29 08:44:04,555.555 INFO    ] 2026-08-29 08:44:04
[2026-08-29 08:44:04,585.585 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:44:04,718.718 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:44:04,760.760 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:44:04,890.890 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:44:04,929.929 INFO    ] time= 29/08/2026 08:44:04
[2026-08-29 08:44:04,965.965 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:44:05,012.012 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:44:05,110.110 INFO    ] No existing commands found in stream
[2026-08-29 08:44:10,120.120 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:44:10,123.123 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-08-29 08:44:10,505.505 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:44:10,506.506 INFO    ] Checking for system updates...
[2026-08-29 08:44:10,526.526 INFO    ] 200
[2026-08-29 08:44:10,528.528 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:44:10,558.558 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:44:10,559.559 INFO    ] No update needed
[2026-08-29 08:44:10,560.560 INFO    ] Checking for camera pi updates...
[2026-08-29 08:44:10,580.580 INFO    ] 200
[2026-08-29 08:44:10,582.582 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:44:10,605.605 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:44:10,788.788 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:44:10,790.790 INFO    ] No camera update needed
[2026-08-29 08:44:10,791.791 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:44:10,792.792 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:44:10,795.795 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:44:10,798.798 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:44:12,837.837 INFO    ] ================================================
[2026-08-29 08:44:12,853.853 INFO    ] Launching Daemon at Sat Aug 29 08:44:12 IST 2026
[2026-08-29 08:44:12,864.864 INFO    ] ================================================
[2026-08-29 08:44:13,199.199 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:44:13
[2026-08-29 08:44:13,511.511 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:44:13,641.641 INFO    ] Initializing speech engine...
[2026-08-29 08:44:13,645.645 INFO    ] 2026-08-29 08:44:13
[2026-08-29 08:44:13,868.868 INFO    ] 2026-08-29 08:44:13
[2026-08-29 08:44:13,896.896 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:44:14,020.020 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:44:14,063.063 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:44:14,216.216 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:44:14,283.283 INFO    ] time= 29/08/2026 08:44:14
[2026-08-29 08:44:14,316.316 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:44:14,318.318 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:44:14,389.389 INFO    ] No existing commands found in stream
[2026-08-29 08:44:19,400.400 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:44:19,403.403 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-08-29 08:44:21,365.365 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:44:21,366.366 INFO    ] Checking for system updates...
[2026-08-29 08:44:21,387.387 INFO    ] 200
[2026-08-29 08:44:21,389.389 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:44:21,419.419 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:44:21,420.420 INFO    ] No update needed
[2026-08-29 08:44:21,421.421 INFO    ] Checking for camera pi updates...
[2026-08-29 08:44:21,442.442 INFO    ] 200
[2026-08-29 08:44:21,443.443 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:44:21,466.466 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:44:21,562.562 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:44:21,563.563 INFO    ] No camera update needed
[2026-08-29 08:44:21,564.564 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:44:21,565.565 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:44:21,568.568 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:44:21,571.571 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:44:23,611.611 INFO    ] ================================================
[2026-08-29 08:44:23,626.626 INFO    ] Launching Daemon at Sat Aug 29 08:44:23 IST 2026
[2026-08-29 08:44:23,638.638 INFO    ] ================================================
[2026-08-29 08:44:23,995.995 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:44:23
[2026-08-29 08:44:24,329.329 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:44:24,481.481 INFO    ] Initializing speech engine...
[2026-08-29 08:44:24,487.487 INFO    ] 2026-08-29 08:44:24
[2026-08-29 08:44:24,696.696 INFO    ] 2026-08-29 08:44:24
[2026-08-29 08:44:24,725.725 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:44:24,849.849 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:44:24,913.913 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:44:25,047.047 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:44:25,108.108 INFO    ] time= 29/08/2026 08:44:25
[2026-08-29 08:44:25,143.143 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:44:25,149.149 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:44:25,220.220 INFO    ] No existing commands found in stream
[2026-08-29 08:44:30,231.231 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:44:30,235.235 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-08-29 08:44:31,247.247 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:44:31,249.249 INFO    ] Checking for system updates...
[2026-08-29 08:44:31,272.272 INFO    ] 200
[2026-08-29 08:44:31,274.274 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:44:31,308.308 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:44:31,309.309 INFO    ] No update needed
[2026-08-29 08:44:31,311.311 INFO    ] Checking for camera pi updates...
[2026-08-29 08:44:31,336.336 INFO    ] 200
[2026-08-29 08:44:31,339.339 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:44:31,383.383 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:44:31,483.483 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:44:31,486.486 INFO    ] No camera update needed
[2026-08-29 08:44:31,489.489 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:44:31,491.491 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:44:31,497.497 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:44:31,503.503 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:44:33,545.545 INFO    ] ================================================
[2026-08-29 08:44:33,561.561 INFO    ] Launching Daemon at Sat Aug 29 08:44:33 IST 2026
[2026-08-29 08:44:33,572.572 INFO    ] ================================================
[2026-08-29 08:44:34,146.146 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:44:34
[2026-08-29 08:44:34,607.607 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:44:34,749.749 INFO    ] Initializing speech engine...
[2026-08-29 08:44:34,759.759 INFO    ] 2026-08-29 08:44:34
[2026-08-29 08:44:34,974.974 INFO    ] 2026-08-29 08:44:34
[2026-08-29 08:44:35,004.004 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:44:35,101.101 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:44:35,137.137 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:44:35,293.293 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:44:35,344.344 INFO    ] time= 29/08/2026 08:44:35
[2026-08-29 08:44:35,386.386 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:44:35,425.425 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:44:35,515.515 INFO    ] No existing commands found in stream
[2026-08-29 08:44:40,533.533 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:44:40,537.537 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-08-29 08:44:44,826.826 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:44:44,827.827 INFO    ] Checking for system updates...
[2026-08-29 08:44:44,848.848 INFO    ] 200
[2026-08-29 08:44:44,849.849 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:44:44,879.879 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:44:44,881.881 INFO    ] No update needed
[2026-08-29 08:44:44,882.882 INFO    ] Checking for camera pi updates...
[2026-08-29 08:44:44,901.901 INFO    ] 200
[2026-08-29 08:44:44,902.902 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:44:44,929.929 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:44:45,005.005 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:44:45,006.006 INFO    ] No camera update needed
[2026-08-29 08:44:45,008.008 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:44:45,009.009 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:44:45,012.012 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:44:45,015.015 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:44:47,055.055 INFO    ] ================================================
[2026-08-29 08:44:47,071.071 INFO    ] Launching Daemon at Sat Aug 29 08:44:47 IST 2026
[2026-08-29 08:44:47,082.082 INFO    ] ================================================
[2026-08-29 08:44:47,545.545 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:44:47
[2026-08-29 08:44:48,136.136 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:44:48,388.388 INFO    ] Initializing speech engine...
[2026-08-29 08:44:48,402.402 INFO    ] 2026-08-29 08:44:48
[2026-08-29 08:44:48,670.670 INFO    ] 2026-08-29 08:44:48
[2026-08-29 08:44:48,705.705 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:44:48,879.879 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:44:48,894.894 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:44:49,038.038 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:44:49,045.045 INFO    ] time= 29/08/2026 08:44:49
[2026-08-29 08:44:49,050.050 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:44:49,057.057 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:44:49,124.124 INFO    ] No existing commands found in stream
[2026-08-29 08:44:54,155.155 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:44:54,157.157 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-08-29 08:44:55,276.276 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:44:55,277.277 INFO    ] Checking for system updates...
[2026-08-29 08:44:55,298.298 INFO    ] 200
[2026-08-29 08:44:55,299.299 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:44:55,331.331 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:44:55,332.332 INFO    ] No update needed
[2026-08-29 08:44:55,334.334 INFO    ] Checking for camera pi updates...
[2026-08-29 08:44:55,353.353 INFO    ] 200
[2026-08-29 08:44:55,354.354 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:44:55,379.379 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:44:55,473.473 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:44:55,476.476 INFO    ] No camera update needed
[2026-08-29 08:44:55,478.478 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:44:55,480.480 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:44:55,486.486 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:44:55,490.490 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:44:57,532.532 INFO    ] ================================================
[2026-08-29 08:44:57,548.548 INFO    ] Launching Daemon at Sat Aug 29 08:44:57 IST 2026
[2026-08-29 08:44:57,559.559 INFO    ] ================================================
[2026-08-29 08:44:58,209.209 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:44:58
[2026-08-29 08:44:58,673.673 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:44:58,824.824 INFO    ] Initializing speech engine...
[2026-08-29 08:44:58,830.830 INFO    ] 2026-08-29 08:44:58
[2026-08-29 08:44:59,039.039 INFO    ] 2026-08-29 08:44:59
[2026-08-29 08:44:59,067.067 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:44:59,193.193 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:44:59,246.246 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:44:59,407.407 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:44:59,467.467 INFO    ] time= 29/08/2026 08:44:59
[2026-08-29 08:44:59,489.489 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:44:59,496.496 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:44:59,563.563 INFO    ] No existing commands found in stream
[2026-08-29 08:45:04,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:45:04,577.577 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-08-29 08:45:06,470.470 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:45:06,472.472 INFO    ] Checking for system updates...
[2026-08-29 08:45:06,493.493 INFO    ] 200
[2026-08-29 08:45:06,494.494 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:45:06,525.525 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:45:06,526.526 INFO    ] No update needed
[2026-08-29 08:45:06,528.528 INFO    ] Checking for camera pi updates...
[2026-08-29 08:45:06,561.561 INFO    ] 200
[2026-08-29 08:45:06,564.564 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:45:06,606.606 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:45:06,707.707 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:45:06,710.710 INFO    ] No camera update needed
[2026-08-29 08:45:06,712.712 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:45:06,715.715 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:45:06,720.720 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:45:06,725.725 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:45:08,765.765 INFO    ] ================================================
[2026-08-29 08:45:08,781.781 INFO    ] Launching Daemon at Sat Aug 29 08:45:08 IST 2026
[2026-08-29 08:45:08,791.791 INFO    ] ================================================
[2026-08-29 08:45:09,363.363 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:45:09
[2026-08-29 08:45:09,719.719 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:45:09,852.852 INFO    ] Initializing speech engine...
[2026-08-29 08:45:09,864.864 INFO    ] 2026-08-29 08:45:09
[2026-08-29 08:45:10,071.071 INFO    ] 2026-08-29 08:45:10
[2026-08-29 08:45:10,100.100 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:45:10,227.227 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:45:10,285.285 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:45:10,466.466 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:45:10,493.493 INFO    ] time= 29/08/2026 08:45:10
[2026-08-29 08:45:10,550.550 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:45:10,610.610 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:45:10,678.678 INFO    ] No existing commands found in stream
[2026-08-29 08:45:15,687.687 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:45:15,690.690 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-08-29 08:45:19,977.977 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:45:19,979.979 INFO    ] Checking for system updates...
[2026-08-29 08:45:19,999.999 INFO    ] 200
[2026-08-29 08:45:20,001.001 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:45:20,033.033 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:45:20,034.034 INFO    ] No update needed
[2026-08-29 08:45:20,036.036 INFO    ] Checking for camera pi updates...
[2026-08-29 08:45:20,055.055 INFO    ] 200
[2026-08-29 08:45:20,057.057 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:45:20,081.081 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:45:20,171.171 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:45:20,172.172 INFO    ] No camera update needed
[2026-08-29 08:45:20,174.174 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:45:20,175.175 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:45:20,178.178 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:45:20,181.181 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:45:22,221.221 INFO    ] ================================================
[2026-08-29 08:45:22,237.237 INFO    ] Launching Daemon at Sat Aug 29 08:45:22 IST 2026
[2026-08-29 08:45:22,249.249 INFO    ] ================================================
[2026-08-29 08:45:22,579.579 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:45:22
[2026-08-29 08:45:22,890.890 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:45:23,027.027 INFO    ] Initializing speech engine...
[2026-08-29 08:45:23,036.036 INFO    ] 2026-08-29 08:45:23
[2026-08-29 08:45:23,251.251 INFO    ] 2026-08-29 08:45:23
[2026-08-29 08:45:23,318.318 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:45:23,471.471 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:45:23,477.477 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:45:23,610.610 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:45:23,652.652 INFO    ] time= 29/08/2026 08:45:23
[2026-08-29 08:45:23,701.701 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:45:23,746.746 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:45:23,808.808 INFO    ] No existing commands found in stream
[2026-08-29 08:45:28,837.837 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:45:28,840.840 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-08-29 08:45:29,426.426 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:45:29,427.427 INFO    ] Checking for system updates...
[2026-08-29 08:45:29,448.448 INFO    ] 200
[2026-08-29 08:45:29,449.449 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:45:29,479.479 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:45:29,481.481 INFO    ] No update needed
[2026-08-29 08:45:29,482.482 INFO    ] Checking for camera pi updates...
[2026-08-29 08:45:29,501.501 INFO    ] 200
[2026-08-29 08:45:29,502.502 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:45:29,528.528 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:45:29,603.603 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:45:29,604.604 INFO    ] No camera update needed
[2026-08-29 08:45:29,605.605 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:45:29,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:45:29,609.609 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:45:29,612.612 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:45:31,650.650 INFO    ] ================================================
[2026-08-29 08:45:31,666.666 INFO    ] Launching Daemon at Sat Aug 29 08:45:31 IST 2026
[2026-08-29 08:45:31,677.677 INFO    ] ================================================
[2026-08-29 08:45:32,013.013 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:45:32
[2026-08-29 08:45:32,329.329 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:45:32,618.618 INFO    ] Initializing speech engine...
[2026-08-29 08:45:32,627.627 INFO    ] 2026-08-29 08:45:32
[2026-08-29 08:45:32,900.900 INFO    ] 2026-08-29 08:45:32
[2026-08-29 08:45:32,959.959 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:45:33,140.140 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:45:33,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:45:33,355.355 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:45:33,382.382 INFO    ] time= 29/08/2026 08:45:33
[2026-08-29 08:45:33,438.438 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:45:33,489.489 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:45:33,552.552 INFO    ] No existing commands found in stream
[2026-08-29 08:45:38,560.560 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:45:38,563.563 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-08-29 08:45:41,735.735 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:45:41,736.736 INFO    ] Checking for system updates...
[2026-08-29 08:45:41,757.757 INFO    ] 200
[2026-08-29 08:45:41,759.759 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:45:41,789.789 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:45:41,790.790 INFO    ] No update needed
[2026-08-29 08:45:41,791.791 INFO    ] Checking for camera pi updates...
[2026-08-29 08:45:41,810.810 INFO    ] 200
[2026-08-29 08:45:41,812.812 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:45:41,836.836 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:45:41,920.920 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:45:41,921.921 INFO    ] No camera update needed
[2026-08-29 08:45:41,922.922 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:45:41,924.924 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:45:41,927.927 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:45:41,929.929 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:45:43,968.968 INFO    ] ================================================
[2026-08-29 08:45:43,984.984 INFO    ] Launching Daemon at Sat Aug 29 08:45:43 IST 2026
[2026-08-29 08:45:44,995.995 INFO    ] ================================================
[2026-08-29 08:45:44,470.470 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:45:44
[2026-08-29 08:45:45,053.053 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:45:45,346.346 INFO    ] Initializing speech engine...
[2026-08-29 08:45:45,360.360 INFO    ] 2026-08-29 08:45:45
[2026-08-29 08:45:45,624.624 INFO    ] 2026-08-29 08:45:45
[2026-08-29 08:45:45,673.673 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:45:45,825.825 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:45:45,844.844 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:45:45,974.974 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:45:45,983.983 INFO    ] time= 29/08/2026 08:45:45
[2026-08-29 08:45:46,036.036 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:45:46,052.052 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:45:46,173.173 INFO    ] No existing commands found in stream
[2026-08-29 08:45:51,187.187 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:45:51,190.190 INFO    ] Waiting 2.42 seconds before fallback handling...
[2026-08-29 08:45:53,999.999 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:45:54,001.001 INFO    ] Checking for system updates...
[2026-08-29 08:45:54,024.024 INFO    ] 200
[2026-08-29 08:45:54,025.025 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:45:54,054.054 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:45:54,056.056 INFO    ] No update needed
[2026-08-29 08:45:54,057.057 INFO    ] Checking for camera pi updates...
[2026-08-29 08:45:54,076.076 INFO    ] 200
[2026-08-29 08:45:54,078.078 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:45:54,103.103 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:45:54,181.181 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:45:54,183.183 INFO    ] No camera update needed
[2026-08-29 08:45:54,184.184 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:45:54,185.185 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:45:54,188.188 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:45:54,191.191 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:45:56,230.230 INFO    ] ================================================
[2026-08-29 08:45:56,246.246 INFO    ] Launching Daemon at Sat Aug 29 08:45:56 IST 2026
[2026-08-29 08:45:56,257.257 INFO    ] ================================================
[2026-08-29 08:45:56,593.593 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:45:56
[2026-08-29 08:45:56,904.904 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:45:57,035.035 INFO    ] Initializing speech engine...
[2026-08-29 08:45:57,048.048 INFO    ] 2026-08-29 08:45:57
[2026-08-29 08:45:57,238.238 INFO    ] 2026-08-29 08:45:57
[2026-08-29 08:45:57,347.347 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:45:57,492.492 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:45:57,502.502 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:45:57,634.634 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:45:57,676.676 INFO    ] time= 29/08/2026 08:45:57
[2026-08-29 08:45:57,735.735 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:45:57,769.769 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:45:57,825.825 INFO    ] No existing commands found in stream
[2026-08-29 08:46:02,834.834 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:46:02,837.837 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-08-29 08:46:04,204.204 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:46:04,206.206 INFO    ] Checking for system updates...
[2026-08-29 08:46:04,235.235 INFO    ] 200
[2026-08-29 08:46:04,237.237 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:46:04,266.266 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:46:04,267.267 INFO    ] No update needed
[2026-08-29 08:46:04,268.268 INFO    ] Checking for camera pi updates...
[2026-08-29 08:46:04,290.290 INFO    ] 200
[2026-08-29 08:46:04,291.291 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:46:04,314.314 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:46:04,414.414 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:46:04,416.416 INFO    ] No camera update needed
[2026-08-29 08:46:04,417.417 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:46:04,418.418 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:46:04,421.421 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:46:04,424.424 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:46:06,463.463 INFO    ] ================================================
[2026-08-29 08:46:06,479.479 INFO    ] Launching Daemon at Sat Aug 29 08:46:06 IST 2026
[2026-08-29 08:46:06,489.489 INFO    ] ================================================
[2026-08-29 08:46:07,014.014 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:46:07
[2026-08-29 08:46:07,619.619 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:46:07,886.886 INFO    ] Initializing speech engine...
[2026-08-29 08:46:07,906.906 INFO    ] 2026-08-29 08:46:07
[2026-08-29 08:46:08,185.185 INFO    ] 2026-08-29 08:46:08
[2026-08-29 08:46:08,223.223 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:46:08,419.419 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:46:08,426.426 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:46:08,558.558 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:46:08,565.565 INFO    ] time= 29/08/2026 08:46:08
[2026-08-29 08:46:08,584.584 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:46:08,607.607 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:46:08,690.690 INFO    ] No existing commands found in stream
[2026-08-29 08:46:13,699.699 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:46:13,703.703 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-08-29 08:46:15,890.890 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:46:15,892.892 INFO    ] Checking for system updates...
[2026-08-29 08:46:15,913.913 INFO    ] 200
[2026-08-29 08:46:15,915.915 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:46:15,946.946 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:46:15,948.948 INFO    ] No update needed
[2026-08-29 08:46:15,949.949 INFO    ] Checking for camera pi updates...
[2026-08-29 08:46:15,968.968 INFO    ] 200
[2026-08-29 08:46:15,969.969 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:46:15,993.993 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:46:16,181.181 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:46:16,184.184 INFO    ] No camera update needed
[2026-08-29 08:46:16,186.186 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:46:16,188.188 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:46:16,194.194 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:46:16,199.199 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:46:18,239.239 INFO    ] ================================================
[2026-08-29 08:46:18,254.254 INFO    ] Launching Daemon at Sat Aug 29 08:46:18 IST 2026
[2026-08-29 08:46:18,265.265 INFO    ] ================================================
[2026-08-29 08:46:18,853.853 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:46:18
[2026-08-29 08:46:19,313.313 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:46:19,457.457 INFO    ] Initializing speech engine...
[2026-08-29 08:46:19,463.463 INFO    ] 2026-08-29 08:46:19
[2026-08-29 08:46:19,666.666 INFO    ] 2026-08-29 08:46:19
[2026-08-29 08:46:19,695.695 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:46:19,823.823 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:46:19,880.880 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:46:20,016.016 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:46:20,082.082 INFO    ] time= 29/08/2026 08:46:20
[2026-08-29 08:46:20,109.109 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:46:20,116.116 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:46:20,184.184 INFO    ] No existing commands found in stream
[2026-08-29 08:46:25,193.193 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:46:25,196.196 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-08-29 08:46:26,473.473 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:46:26,474.474 INFO    ] Checking for system updates...
[2026-08-29 08:46:26,495.495 INFO    ] 200
[2026-08-29 08:46:26,496.496 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:46:26,526.526 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:46:26,527.527 INFO    ] No update needed
[2026-08-29 08:46:26,529.529 INFO    ] Checking for camera pi updates...
[2026-08-29 08:46:26,549.549 INFO    ] 200
[2026-08-29 08:46:26,550.550 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:46:26,574.574 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:46:26,686.686 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:46:26,688.688 INFO    ] No camera update needed
[2026-08-29 08:46:26,689.689 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:46:26,690.690 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:46:26,693.693 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:46:26,696.696 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:46:28,735.735 INFO    ] ================================================
[2026-08-29 08:46:28,750.750 INFO    ] Launching Daemon at Sat Aug 29 08:46:28 IST 2026
[2026-08-29 08:46:28,761.761 INFO    ] ================================================
[2026-08-29 08:46:29,124.124 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:46:29
[2026-08-29 08:46:29,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:46:29,585.585 INFO    ] Initializing speech engine...
[2026-08-29 08:46:29,590.590 INFO    ] 2026-08-29 08:46:29
[2026-08-29 08:46:29,802.802 INFO    ] 2026-08-29 08:46:29
[2026-08-29 08:46:29,839.839 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:46:30,009.009 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:46:30,022.022 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:46:30,131.131 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:46:30,136.136 INFO    ] time= 29/08/2026 08:46:30
[2026-08-29 08:46:30,155.155 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:46:30,176.176 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:46:30,250.250 INFO    ] No existing commands found in stream
[2026-08-29 08:46:35,291.291 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:46:35,294.294 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-08-29 08:46:39,075.075 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:46:39,076.076 INFO    ] Checking for system updates...
[2026-08-29 08:46:39,098.098 INFO    ] 200
[2026-08-29 08:46:39,099.099 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:46:39,129.129 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:46:39,130.130 INFO    ] No update needed
[2026-08-29 08:46:39,132.132 INFO    ] Checking for camera pi updates...
[2026-08-29 08:46:39,152.152 INFO    ] 200
[2026-08-29 08:46:39,153.153 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:46:39,176.176 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:46:39,261.261 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:46:39,263.263 INFO    ] No camera update needed
[2026-08-29 08:46:39,264.264 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:46:39,265.265 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:46:39,268.268 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:46:39,271.271 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:46:41,310.310 INFO    ] ================================================
[2026-08-29 08:46:41,325.325 INFO    ] Launching Daemon at Sat Aug 29 08:46:41 IST 2026
[2026-08-29 08:46:41,335.335 INFO    ] ================================================
[2026-08-29 08:46:41,664.664 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:46:41
[2026-08-29 08:46:41,980.980 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:46:42,118.118 INFO    ] Initializing speech engine...
[2026-08-29 08:46:42,131.131 INFO    ] 2026-08-29 08:46:42
[2026-08-29 08:46:42,392.392 INFO    ] 2026-08-29 08:46:42
[2026-08-29 08:46:42,430.430 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:46:42,621.621 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:46:42,627.627 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:46:42,756.756 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:46:42,762.762 INFO    ] time= 29/08/2026 08:46:42
[2026-08-29 08:46:42,767.767 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:46:42,788.788 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:46:42,886.886 INFO    ] No existing commands found in stream
[2026-08-29 08:46:47,897.897 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:46:47,899.899 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-08-29 08:46:50,089.089 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:46:50,090.090 INFO    ] Checking for system updates...
[2026-08-29 08:46:50,111.111 INFO    ] 200
[2026-08-29 08:46:50,113.113 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:46:50,145.145 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:46:50,146.146 INFO    ] No update needed
[2026-08-29 08:46:50,147.147 INFO    ] Checking for camera pi updates...
[2026-08-29 08:46:50,167.167 INFO    ] 200
[2026-08-29 08:46:50,169.169 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:46:50,192.192 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:46:50,269.269 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:46:50,270.270 INFO    ] No camera update needed
[2026-08-29 08:46:50,271.271 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:46:50,273.273 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:46:50,276.276 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:46:50,279.279 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:46:52,317.317 INFO    ] ================================================
[2026-08-29 08:46:52,333.333 INFO    ] Launching Daemon at Sat Aug 29 08:46:52 IST 2026
[2026-08-29 08:46:52,343.343 INFO    ] ================================================
[2026-08-29 08:46:52,687.687 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:46:52
[2026-08-29 08:46:53,005.005 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:46:53,143.143 INFO    ] Initializing speech engine...
[2026-08-29 08:46:53,156.156 INFO    ] 2026-08-29 08:46:53
[2026-08-29 08:46:53,373.373 INFO    ] 2026-08-29 08:46:53
[2026-08-29 08:46:53,404.404 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:46:53,534.534 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:46:53,577.577 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:46:53,742.742 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:46:53,794.794 INFO    ] time= 29/08/2026 08:46:53
[2026-08-29 08:46:53,838.838 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:46:53,849.849 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:46:53,926.926 INFO    ] No existing commands found in stream
[2026-08-29 08:46:58,935.935 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:46:58,938.938 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-08-29 08:47:03,259.259 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:47:03,261.261 INFO    ] Checking for system updates...
[2026-08-29 08:47:03,301.301 INFO    ] 200
[2026-08-29 08:47:03,304.304 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:47:03,357.357 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:47:03,359.359 INFO    ] No update needed
[2026-08-29 08:47:03,361.361 INFO    ] Checking for camera pi updates...
[2026-08-29 08:47:03,395.395 INFO    ] 200
[2026-08-29 08:47:03,397.397 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:47:03,438.438 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:47:03,519.519 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:47:03,521.521 INFO    ] No camera update needed
[2026-08-29 08:47:03,524.524 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:47:03,526.526 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:47:03,531.531 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:47:03,536.536 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:47:05,576.576 INFO    ] ================================================
[2026-08-29 08:47:05,591.591 INFO    ] Launching Daemon at Sat Aug 29 08:47:05 IST 2026
[2026-08-29 08:47:05,602.602 INFO    ] ================================================
[2026-08-29 08:47:06,109.109 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:47:06
[2026-08-29 08:47:06,770.770 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:47:07,073.073 INFO    ] Initializing speech engine...
[2026-08-29 08:47:07,085.085 INFO    ] 2026-08-29 08:47:07
[2026-08-29 08:47:07,365.365 INFO    ] 2026-08-29 08:47:07
[2026-08-29 08:47:07,410.410 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:47:07,653.653 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:47:07,665.665 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:47:07,803.803 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:47:07,857.857 INFO    ] time= 29/08/2026 08:47:07
[2026-08-29 08:47:07,933.933 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:47:07,946.946 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:47:08,060.060 INFO    ] No existing commands found in stream
[2026-08-29 08:47:13,090.090 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:47:13,094.094 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-08-29 08:47:14,879.879 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:47:14,881.881 INFO    ] Checking for system updates...
[2026-08-29 08:47:14,903.903 INFO    ] 200
[2026-08-29 08:47:14,904.904 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:47:14,936.936 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:47:14,938.938 INFO    ] No update needed
[2026-08-29 08:47:14,939.939 INFO    ] Checking for camera pi updates...
[2026-08-29 08:47:14,960.960 INFO    ] 200
[2026-08-29 08:47:14,961.961 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:47:14,984.984 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:47:15,054.054 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:47:15,055.055 INFO    ] No camera update needed
[2026-08-29 08:47:15,056.056 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:47:15,058.058 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:47:15,060.060 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:47:15,063.063 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:47:17,102.102 INFO    ] ================================================
[2026-08-29 08:47:17,118.118 INFO    ] Launching Daemon at Sat Aug 29 08:47:17 IST 2026
[2026-08-29 08:47:17,129.129 INFO    ] ================================================
[2026-08-29 08:47:17,585.585 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:47:17
[2026-08-29 08:47:18,169.169 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:47:18,439.439 INFO    ] Initializing speech engine...
[2026-08-29 08:47:18,447.447 INFO    ] 2026-08-29 08:47:18
[2026-08-29 08:47:18,700.700 INFO    ] 2026-08-29 08:47:18
[2026-08-29 08:47:18,736.736 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:47:18,911.911 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:47:18,923.923 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:47:19,034.034 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:47:19,040.040 INFO    ] time= 29/08/2026 08:47:19
[2026-08-29 08:47:19,058.058 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:47:19,078.078 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:47:19,155.155 INFO    ] No existing commands found in stream
[2026-08-29 08:47:24,175.175 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:47:24,177.177 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-08-29 08:47:24,854.854 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:47:24,856.856 INFO    ] Checking for system updates...
[2026-08-29 08:47:24,876.876 INFO    ] 200
[2026-08-29 08:47:24,877.877 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:47:24,907.907 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:47:24,908.908 INFO    ] No update needed
[2026-08-29 08:47:24,909.909 INFO    ] Checking for camera pi updates...
[2026-08-29 08:47:24,930.930 INFO    ] 200
[2026-08-29 08:47:24,931.931 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:47:24,958.958 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:47:25,033.033 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:47:25,034.034 INFO    ] No camera update needed
[2026-08-29 08:47:25,035.035 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:47:25,036.036 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:47:25,039.039 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:47:25,042.042 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:47:27,082.082 INFO    ] ================================================
[2026-08-29 08:47:27,097.097 INFO    ] Launching Daemon at Sat Aug 29 08:47:27 IST 2026
[2026-08-29 08:47:27,107.107 INFO    ] ================================================
[2026-08-29 08:47:27,459.459 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:47:27
[2026-08-29 08:47:27,799.799 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:47:27,951.951 INFO    ] Initializing speech engine...
[2026-08-29 08:47:27,956.956 INFO    ] 2026-08-29 08:47:27
[2026-08-29 08:47:28,166.166 INFO    ] 2026-08-29 08:47:28
[2026-08-29 08:47:28,196.196 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:47:28,319.319 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:47:28,357.357 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:47:28,520.520 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:47:28,583.583 INFO    ] time= 29/08/2026 08:47:28
[2026-08-29 08:47:28,616.616 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:47:28,623.623 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:47:28,691.691 INFO    ] No existing commands found in stream
[2026-08-29 08:47:33,700.700 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:47:33,704.704 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-08-29 08:47:34,547.547 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:47:34,548.548 INFO    ] Checking for system updates...
[2026-08-29 08:47:34,573.573 INFO    ] 200
[2026-08-29 08:47:34,574.574 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:47:34,606.606 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:47:34,607.607 INFO    ] No update needed
[2026-08-29 08:47:34,609.609 INFO    ] Checking for camera pi updates...
[2026-08-29 08:47:34,627.627 INFO    ] 200
[2026-08-29 08:47:34,629.629 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:47:34,651.651 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:47:34,740.740 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:47:34,741.741 INFO    ] No camera update needed
[2026-08-29 08:47:34,743.743 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:47:34,744.744 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:47:34,747.747 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:47:34,749.749 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:47:36,787.787 INFO    ] ================================================
[2026-08-29 08:47:36,802.802 INFO    ] Launching Daemon at Sat Aug 29 08:47:36 IST 2026
[2026-08-29 08:47:36,813.813 INFO    ] ================================================
[2026-08-29 08:47:37,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:47:37
[2026-08-29 08:47:37,482.482 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:47:37,626.626 INFO    ] Initializing speech engine...
[2026-08-29 08:47:37,630.630 INFO    ] 2026-08-29 08:47:37
[2026-08-29 08:47:37,820.820 INFO    ] 2026-08-29 08:47:37
[2026-08-29 08:47:37,879.879 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:47:38,045.045 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:47:38,091.091 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:47:38,242.242 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:47:38,279.279 INFO    ] time= 29/08/2026 08:47:38
[2026-08-29 08:47:38,333.333 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:47:38,375.375 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:47:38,433.433 INFO    ] No existing commands found in stream
[2026-08-29 08:47:43,444.444 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:47:43,447.447 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-08-29 08:47:45,945.945 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:47:45,946.946 INFO    ] Checking for system updates...
[2026-08-29 08:47:45,968.968 INFO    ] 200
[2026-08-29 08:47:45,970.970 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:47:46,002.002 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:47:46,004.004 INFO    ] No update needed
[2026-08-29 08:47:46,005.005 INFO    ] Checking for camera pi updates...
[2026-08-29 08:47:46,024.024 INFO    ] 200
[2026-08-29 08:47:46,026.026 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:47:46,050.050 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:47:46,143.143 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:47:46,145.145 INFO    ] No camera update needed
[2026-08-29 08:47:46,147.147 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:47:46,150.150 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:47:46,155.155 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:47:46,160.160 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:47:48,203.203 INFO    ] ================================================
[2026-08-29 08:47:48,219.219 INFO    ] Launching Daemon at Sat Aug 29 08:47:48 IST 2026
[2026-08-29 08:47:48,230.230 INFO    ] ================================================
[2026-08-29 08:47:48,873.873 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:47:48
[2026-08-29 08:47:49,373.373 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:47:49,523.523 INFO    ] Initializing speech engine...
[2026-08-29 08:47:49,528.528 INFO    ] 2026-08-29 08:47:49
[2026-08-29 08:47:49,724.724 INFO    ] 2026-08-29 08:47:49
[2026-08-29 08:47:49,779.779 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:47:50,003.003 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:47:50,012.012 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:47:50,148.148 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:47:50,219.219 INFO    ] time= 29/08/2026 08:47:50
[2026-08-29 08:47:50,275.275 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:47:50,282.282 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:47:50,403.403 INFO    ] No existing commands found in stream
[2026-08-29 08:47:55,434.434 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:47:55,437.437 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-08-29 08:47:57,320.320 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:47:57,322.322 INFO    ] Checking for system updates...
[2026-08-29 08:47:57,342.342 INFO    ] 200
[2026-08-29 08:47:57,344.344 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:47:57,374.374 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:47:57,375.375 INFO    ] No update needed
[2026-08-29 08:47:57,376.376 INFO    ] Checking for camera pi updates...
[2026-08-29 08:47:57,396.396 INFO    ] 200
[2026-08-29 08:47:57,397.397 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:47:57,422.422 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:47:57,504.504 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:47:57,507.507 INFO    ] No camera update needed
[2026-08-29 08:47:57,509.509 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:47:57,511.511 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:47:57,517.517 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:47:57,522.522 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:47:59,562.562 INFO    ] ================================================
[2026-08-29 08:47:59,578.578 INFO    ] Launching Daemon at Sat Aug 29 08:47:59 IST 2026
[2026-08-29 08:47:59,589.589 INFO    ] ================================================
[2026-08-29 08:48:00,157.157 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:48:00
[2026-08-29 08:48:00,585.585 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:48:00,835.835 INFO    ] Initializing speech engine...
[2026-08-29 08:48:00,843.843 INFO    ] 2026-08-29 08:48:00
[2026-08-29 08:48:01,089.089 INFO    ] 2026-08-29 08:48:01
[2026-08-29 08:48:01,125.125 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:48:01,297.297 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:48:01,310.310 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:48:01,451.451 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:48:01,458.458 INFO    ] time= 29/08/2026 08:48:01
[2026-08-29 08:48:01,465.465 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:48:01,511.511 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:48:01,641.641 INFO    ] No existing commands found in stream
[2026-08-29 08:48:06,665.665 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:48:06,668.668 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-08-29 08:48:10,149.149 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:48:10,151.151 INFO    ] Checking for system updates...
[2026-08-29 08:48:10,172.172 INFO    ] 200
[2026-08-29 08:48:10,174.174 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:48:10,206.206 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:48:10,207.207 INFO    ] No update needed
[2026-08-29 08:48:10,208.208 INFO    ] Checking for camera pi updates...
[2026-08-29 08:48:10,227.227 INFO    ] 200
[2026-08-29 08:48:10,229.229 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:48:10,255.255 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:48:10,337.337 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:48:10,338.338 INFO    ] No camera update needed
[2026-08-29 08:48:10,339.339 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:48:10,340.340 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:48:10,343.343 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:48:10,346.346 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:48:12,385.385 INFO    ] ================================================
[2026-08-29 08:48:12,400.400 INFO    ] Launching Daemon at Sat Aug 29 08:48:12 IST 2026
[2026-08-29 08:48:12,411.411 INFO    ] ================================================
[2026-08-29 08:48:12,746.746 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:48:12
[2026-08-29 08:48:13,059.059 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:48:13,282.282 INFO    ] Initializing speech engine...
[2026-08-29 08:48:13,291.291 INFO    ] 2026-08-29 08:48:13
[2026-08-29 08:48:13,538.538 INFO    ] 2026-08-29 08:48:13
[2026-08-29 08:48:13,573.573 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:48:13,746.746 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:48:13,757.757 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:48:13,868.868 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:48:13,891.891 INFO    ] time= 29/08/2026 08:48:13
[2026-08-29 08:48:13,909.909 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:48:13,914.914 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:48:13,982.982 INFO    ] No existing commands found in stream
[2026-08-29 08:48:18,994.994 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:48:18,997.997 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-08-29 08:48:20,305.305 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:48:20,307.307 INFO    ] Checking for system updates...
[2026-08-29 08:48:20,327.327 INFO    ] 200
[2026-08-29 08:48:20,328.328 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:48:20,363.363 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:48:20,364.364 INFO    ] No update needed
[2026-08-29 08:48:20,365.365 INFO    ] Checking for camera pi updates...
[2026-08-29 08:48:20,384.384 INFO    ] 200
[2026-08-29 08:48:20,386.386 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:48:20,408.408 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:48:20,587.587 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:48:20,589.589 INFO    ] No camera update needed
[2026-08-29 08:48:20,592.592 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:48:20,594.594 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:48:20,599.599 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:48:20,604.604 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:48:22,646.646 INFO    ] ================================================
[2026-08-29 08:48:22,662.662 INFO    ] Launching Daemon at Sat Aug 29 08:48:22 IST 2026
[2026-08-29 08:48:22,674.674 INFO    ] ================================================
[2026-08-29 08:48:23,247.247 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:48:23
[2026-08-29 08:48:23,680.680 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:48:23,824.824 INFO    ] Initializing speech engine...
[2026-08-29 08:48:23,828.828 INFO    ] 2026-08-29 08:48:23
[2026-08-29 08:48:24,055.055 INFO    ] 2026-08-29 08:48:24
[2026-08-29 08:48:24,109.109 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:48:24,271.271 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:48:24,279.279 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:48:24,443.443 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:48:24,478.478 INFO    ] time= 29/08/2026 08:48:24
[2026-08-29 08:48:24,484.484 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:48:24,502.502 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:48:24,607.607 INFO    ] No existing commands found in stream
[2026-08-29 08:48:29,633.633 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:48:29,635.635 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-08-29 08:48:32,447.447 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:48:32,450.450 INFO    ] Checking for system updates...
[2026-08-29 08:48:32,497.497 INFO    ] 200
[2026-08-29 08:48:32,499.499 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:48:32,558.558 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:48:32,561.561 INFO    ] No update needed
[2026-08-29 08:48:32,564.564 INFO    ] Checking for camera pi updates...
[2026-08-29 08:48:32,604.604 INFO    ] 200
[2026-08-29 08:48:32,607.607 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:48:32,649.649 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:48:32,802.802 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:48:32,804.804 INFO    ] No camera update needed
[2026-08-29 08:48:32,807.807 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:48:32,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:48:32,816.816 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:48:32,821.821 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:48:34,863.863 INFO    ] ================================================
[2026-08-29 08:48:34,879.879 INFO    ] Launching Daemon at Sat Aug 29 08:48:34 IST 2026
[2026-08-29 08:48:34,890.890 INFO    ] ================================================
[2026-08-29 08:48:35,387.387 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:48:35
[2026-08-29 08:48:35,699.699 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:48:35,842.842 INFO    ] Initializing speech engine...
[2026-08-29 08:48:35,848.848 INFO    ] 2026-08-29 08:48:35
[2026-08-29 08:48:36,037.037 INFO    ] 2026-08-29 08:48:36
[2026-08-29 08:48:36,072.072 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:48:36,244.244 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:48:36,256.256 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:48:36,399.399 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:48:36,407.407 INFO    ] time= 29/08/2026 08:48:36
[2026-08-29 08:48:36,415.415 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:48:36,459.459 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:48:36,570.570 INFO    ] No existing commands found in stream
[2026-08-29 08:48:41,595.595 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:48:41,598.598 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-08-29 08:48:42,768.768 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:48:42,770.770 INFO    ] Checking for system updates...
[2026-08-29 08:48:42,790.790 INFO    ] 200
[2026-08-29 08:48:42,791.791 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:48:42,825.825 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:48:42,826.826 INFO    ] No update needed
[2026-08-29 08:48:42,828.828 INFO    ] Checking for camera pi updates...
[2026-08-29 08:48:42,848.848 INFO    ] 200
[2026-08-29 08:48:42,849.849 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:48:42,872.872 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:48:42,970.970 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:48:42,972.972 INFO    ] No camera update needed
[2026-08-29 08:48:42,973.973 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:48:42,974.974 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:48:42,977.977 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:48:42,980.980 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:48:45,019.019 INFO    ] ================================================
[2026-08-29 08:48:45,034.034 INFO    ] Launching Daemon at Sat Aug 29 08:48:45 IST 2026
[2026-08-29 08:48:45,045.045 INFO    ] ================================================
[2026-08-29 08:48:45,435.435 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:48:45
[2026-08-29 08:48:46,081.081 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:48:46,395.395 INFO    ] Initializing speech engine...
[2026-08-29 08:48:46,402.402 INFO    ] 2026-08-29 08:48:46
[2026-08-29 08:48:46,681.681 INFO    ] 2026-08-29 08:48:46
[2026-08-29 08:48:46,727.727 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:48:46,949.949 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:48:46,959.959 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:48:47,095.095 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:48:47,165.165 INFO    ] time= 29/08/2026 08:48:47
[2026-08-29 08:48:47,223.223 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:48:47,242.242 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:48:47,352.352 INFO    ] No existing commands found in stream
[2026-08-29 08:48:52,385.385 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:48:52,388.388 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-08-29 08:48:54,058.058 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:48:54,060.060 INFO    ] Checking for system updates...
[2026-08-29 08:48:54,081.081 INFO    ] 200
[2026-08-29 08:48:54,088.088 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:48:54,126.126 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:48:54,127.127 INFO    ] No update needed
[2026-08-29 08:48:54,129.129 INFO    ] Checking for camera pi updates...
[2026-08-29 08:48:54,148.148 INFO    ] 200
[2026-08-29 08:48:54,149.149 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:48:54,178.178 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:48:54,261.261 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:48:54,264.264 INFO    ] No camera update needed
[2026-08-29 08:48:54,266.266 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:48:54,269.269 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:48:54,275.275 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:48:54,281.281 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:48:56,322.322 INFO    ] ================================================
[2026-08-29 08:48:56,337.337 INFO    ] Launching Daemon at Sat Aug 29 08:48:56 IST 2026
[2026-08-29 08:48:56,348.348 INFO    ] ================================================
[2026-08-29 08:48:56,946.946 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:48:56
[2026-08-29 08:48:57,431.431 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:48:57,575.575 INFO    ] Initializing speech engine...
[2026-08-29 08:48:57,580.580 INFO    ] 2026-08-29 08:48:57
[2026-08-29 08:48:57,811.811 INFO    ] 2026-08-29 08:48:57
[2026-08-29 08:48:57,846.846 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:48:58,019.019 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:48:58,031.031 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:48:58,171.171 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:48:58,179.179 INFO    ] time= 29/08/2026 08:48:58
[2026-08-29 08:48:58,188.188 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:48:58,229.229 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:48:58,348.348 INFO    ] No existing commands found in stream
[2026-08-29 08:49:03,384.384 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:49:03,388.388 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-08-29 08:49:05,137.137 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:49:05,139.139 INFO    ] Checking for system updates...
[2026-08-29 08:49:05,159.159 INFO    ] 200
[2026-08-29 08:49:05,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:49:05,197.197 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:49:05,198.198 INFO    ] No update needed
[2026-08-29 08:49:05,200.200 INFO    ] Checking for camera pi updates...
[2026-08-29 08:49:05,219.219 INFO    ] 200
[2026-08-29 08:49:05,220.220 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:49:05,245.245 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:49:05,321.321 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:49:05,323.323 INFO    ] No camera update needed
[2026-08-29 08:49:05,324.324 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:49:05,325.325 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:49:05,328.328 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:49:05,331.331 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:49:07,370.370 INFO    ] ================================================
[2026-08-29 08:49:07,385.385 INFO    ] Launching Daemon at Sat Aug 29 08:49:07 IST 2026
[2026-08-29 08:49:07,395.395 INFO    ] ================================================
[2026-08-29 08:49:08,003.003 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:49:08
[2026-08-29 08:49:08,668.668 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:49:08,975.975 INFO    ] Initializing speech engine...
[2026-08-29 08:49:08,989.989 INFO    ] 2026-08-29 08:49:08
[2026-08-29 08:49:09,269.269 INFO    ] 2026-08-29 08:49:09
[2026-08-29 08:49:09,315.315 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:49:09,535.535 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:49:09,545.545 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:49:09,681.681 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:49:09,732.732 INFO    ] time= 29/08/2026 08:49:09
[2026-08-29 08:49:09,802.802 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:49:09,817.817 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:49:09,948.948 INFO    ] No existing commands found in stream
[2026-08-29 08:49:14,975.975 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:49:14,978.978 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-08-29 08:49:16,472.472 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:49:16,474.474 INFO    ] Checking for system updates...
[2026-08-29 08:49:16,494.494 INFO    ] 200
[2026-08-29 08:49:16,496.496 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:49:16,528.528 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:49:16,530.530 INFO    ] No update needed
[2026-08-29 08:49:16,531.531 INFO    ] Checking for camera pi updates...
[2026-08-29 08:49:16,553.553 INFO    ] 200
[2026-08-29 08:49:16,555.555 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:49:16,578.578 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:49:16,660.660 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:49:16,662.662 INFO    ] No camera update needed
[2026-08-29 08:49:16,663.663 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:49:16,665.665 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:49:16,668.668 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:49:16,671.671 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:49:18,710.710 INFO    ] ================================================
[2026-08-29 08:49:18,725.725 INFO    ] Launching Daemon at Sat Aug 29 08:49:18 IST 2026
[2026-08-29 08:49:18,737.737 INFO    ] ================================================
[2026-08-29 08:49:19,122.122 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:49:19
[2026-08-29 08:49:19,465.465 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:49:19,620.620 INFO    ] Initializing speech engine...
[2026-08-29 08:49:19,626.626 INFO    ] 2026-08-29 08:49:19
[2026-08-29 08:49:19,842.842 INFO    ] 2026-08-29 08:49:19
[2026-08-29 08:49:19,895.895 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:49:20,121.121 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:49:20,130.130 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:49:20,263.263 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:49:20,311.311 INFO    ] time= 29/08/2026 08:49:20
[2026-08-29 08:49:20,367.367 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:49:20,401.401 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:49:20,454.454 INFO    ] No existing commands found in stream
[2026-08-29 08:49:25,467.467 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:49:25,470.470 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-08-29 08:49:28,861.861 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:49:28,863.863 INFO    ] Checking for system updates...
[2026-08-29 08:49:28,884.884 INFO    ] 200
[2026-08-29 08:49:28,885.885 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:49:28,915.915 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:49:28,916.916 INFO    ] No update needed
[2026-08-29 08:49:28,918.918 INFO    ] Checking for camera pi updates...
[2026-08-29 08:49:28,937.937 INFO    ] 200
[2026-08-29 08:49:28,939.939 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:49:28,964.964 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:49:29,046.046 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:49:29,047.047 INFO    ] No camera update needed
[2026-08-29 08:49:29,049.049 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:49:29,050.050 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:49:29,053.053 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:49:29,056.056 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:49:31,097.097 INFO    ] ================================================
[2026-08-29 08:49:31,119.119 INFO    ] Launching Daemon at Sat Aug 29 08:49:31 IST 2026
[2026-08-29 08:49:31,130.130 INFO    ] ================================================
[2026-08-29 08:49:31,462.462 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:49:31
[2026-08-29 08:49:31,775.775 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:49:31,977.977 INFO    ] Initializing speech engine...
[2026-08-29 08:49:31,985.985 INFO    ] 2026-08-29 08:49:31
[2026-08-29 08:49:32,249.249 INFO    ] 2026-08-29 08:49:32
[2026-08-29 08:49:32,286.286 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:49:32,465.465 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:49:32,474.474 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:49:32,632.632 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:49:32,642.642 INFO    ] time= 29/08/2026 08:49:32
[2026-08-29 08:49:32,651.651 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:49:32,704.704 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:49:32,819.819 INFO    ] No existing commands found in stream
[2026-08-29 08:49:37,845.845 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:49:37,848.848 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 08:49:43,068.068 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:49:43,069.069 INFO    ] Checking for system updates...
[2026-08-29 08:49:43,092.092 INFO    ] 200
[2026-08-29 08:49:43,094.094 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:49:43,131.131 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:49:43,133.133 INFO    ] No update needed
[2026-08-29 08:49:43,135.135 INFO    ] Checking for camera pi updates...
[2026-08-29 08:49:43,159.159 INFO    ] 200
[2026-08-29 08:49:43,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:49:43,189.189 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:49:43,275.275 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:49:43,277.277 INFO    ] No camera update needed
[2026-08-29 08:49:43,279.279 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:49:43,282.282 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:49:43,288.288 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:49:43,293.293 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:49:45,333.333 INFO    ] ================================================
[2026-08-29 08:49:45,348.348 INFO    ] Launching Daemon at Sat Aug 29 08:49:45 IST 2026
[2026-08-29 08:49:45,358.358 INFO    ] ================================================
[2026-08-29 08:49:45,922.922 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:49:45
[2026-08-29 08:49:46,419.419 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:49:46,556.556 INFO    ] Initializing speech engine...
[2026-08-29 08:49:46,566.566 INFO    ] 2026-08-29 08:49:46
[2026-08-29 08:49:46,772.772 INFO    ] 2026-08-29 08:49:46
[2026-08-29 08:49:46,800.800 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:49:46,924.924 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:49:46,986.986 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:49:47,118.118 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:49:47,174.174 INFO    ] time= 29/08/2026 08:49:47
[2026-08-29 08:49:47,214.214 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:49:47,219.219 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:49:47,290.290 INFO    ] No existing commands found in stream
[2026-08-29 08:49:52,301.301 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:49:52,304.304 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-08-29 08:49:54,171.171 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:49:54,173.173 INFO    ] Checking for system updates...
[2026-08-29 08:49:54,194.194 INFO    ] 200
[2026-08-29 08:49:54,196.196 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:49:54,228.228 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:49:54,229.229 INFO    ] No update needed
[2026-08-29 08:49:54,230.230 INFO    ] Checking for camera pi updates...
[2026-08-29 08:49:54,250.250 INFO    ] 200
[2026-08-29 08:49:54,251.251 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:49:54,275.275 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:49:54,374.374 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:49:54,376.376 INFO    ] No camera update needed
[2026-08-29 08:49:54,377.377 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:49:54,378.378 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:49:54,381.381 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:49:54,384.384 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:49:56,424.424 INFO    ] ================================================
[2026-08-29 08:49:56,439.439 INFO    ] Launching Daemon at Sat Aug 29 08:49:56 IST 2026
[2026-08-29 08:49:56,449.449 INFO    ] ================================================
[2026-08-29 08:49:56,784.784 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:49:56
[2026-08-29 08:49:57,101.101 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:49:57,244.244 INFO    ] Initializing speech engine...
[2026-08-29 08:49:57,249.249 INFO    ] 2026-08-29 08:49:57
[2026-08-29 08:49:57,490.490 INFO    ] 2026-08-29 08:49:57
[2026-08-29 08:49:57,550.550 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:49:57,712.712 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:49:57,721.721 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:49:57,882.882 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:49:57,919.919 INFO    ] time= 29/08/2026 08:49:57
[2026-08-29 08:49:57,925.925 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:49:57,947.947 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:49:58,060.060 INFO    ] No existing commands found in stream
[2026-08-29 08:50:03,085.085 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:50:03,090.090 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-08-29 08:50:09,271.271 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:50:09,274.274 INFO    ] Checking for system updates...
[2026-08-29 08:50:09,309.309 INFO    ] 200
[2026-08-29 08:50:09,312.312 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:50:09,376.376 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:50:09,378.378 INFO    ] No update needed
[2026-08-29 08:50:09,381.381 INFO    ] Checking for camera pi updates...
[2026-08-29 08:50:09,418.418 INFO    ] 200
[2026-08-29 08:50:09,421.421 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:50:09,468.468 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:50:09,556.556 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:50:09,559.559 INFO    ] No camera update needed
[2026-08-29 08:50:09,561.561 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:50:09,563.563 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:50:09,569.569 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:50:09,574.574 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:50:11,615.615 INFO    ] ================================================
[2026-08-29 08:50:11,630.630 INFO    ] Launching Daemon at Sat Aug 29 08:50:11 IST 2026
[2026-08-29 08:50:11,640.640 INFO    ] ================================================
[2026-08-29 08:50:12,002.002 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:50:12
[2026-08-29 08:50:12,314.314 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:50:12,541.541 INFO    ] Initializing speech engine...
[2026-08-29 08:50:12,547.547 INFO    ] 2026-08-29 08:50:12
[2026-08-29 08:50:12,821.821 INFO    ] 2026-08-29 08:50:12
[2026-08-29 08:50:12,856.856 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:50:13,031.031 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:50:13,044.044 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:50:13,188.188 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:50:13,197.197 INFO    ] time= 29/08/2026 08:50:13
[2026-08-29 08:50:13,203.203 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:50:13,244.244 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:50:13,354.354 INFO    ] No existing commands found in stream
[2026-08-29 08:50:18,379.379 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:50:18,382.382 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-08-29 08:50:20,993.993 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:50:20,994.994 INFO    ] Checking for system updates...
[2026-08-29 08:50:21,015.015 INFO    ] 200
[2026-08-29 08:50:21,016.016 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:50:21,046.046 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:50:21,047.047 INFO    ] No update needed
[2026-08-29 08:50:21,049.049 INFO    ] Checking for camera pi updates...
[2026-08-29 08:50:21,068.068 INFO    ] 200
[2026-08-29 08:50:21,070.070 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:50:21,093.093 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:50:21,177.177 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:50:21,178.178 INFO    ] No camera update needed
[2026-08-29 08:50:21,179.179 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:50:21,181.181 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:50:21,184.184 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:50:21,187.187 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:50:23,226.226 INFO    ] ================================================
[2026-08-29 08:50:23,241.241 INFO    ] Launching Daemon at Sat Aug 29 08:50:23 IST 2026
[2026-08-29 08:50:23,251.251 INFO    ] ================================================
[2026-08-29 08:50:23,596.596 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:50:23
[2026-08-29 08:50:23,907.907 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:50:24,042.042 INFO    ] Initializing speech engine...
[2026-08-29 08:50:24,055.055 INFO    ] 2026-08-29 08:50:24
[2026-08-29 08:50:24,272.272 INFO    ] 2026-08-29 08:50:24
[2026-08-29 08:50:24,301.301 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:50:24,431.431 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:50:24,502.502 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:50:24,642.642 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:50:24,703.703 INFO    ] time= 29/08/2026 08:50:24
[2026-08-29 08:50:24,730.730 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:50:24,747.747 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:50:24,823.823 INFO    ] No existing commands found in stream
[2026-08-29 08:50:29,832.832 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:50:29,835.835 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-08-29 08:50:34,041.041 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:50:34,043.043 INFO    ] Checking for system updates...
[2026-08-29 08:50:34,079.079 INFO    ] 200
[2026-08-29 08:50:34,082.082 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:50:34,135.135 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:50:34,137.137 INFO    ] No update needed
[2026-08-29 08:50:34,139.139 INFO    ] Checking for camera pi updates...
[2026-08-29 08:50:34,173.173 INFO    ] 200
[2026-08-29 08:50:34,175.175 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:50:34,217.217 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:50:34,302.302 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:50:34,305.305 INFO    ] No camera update needed
[2026-08-29 08:50:34,307.307 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:50:34,309.309 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:50:34,314.314 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:50:34,319.319 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:50:36,360.360 INFO    ] ================================================
[2026-08-29 08:50:36,376.376 INFO    ] Launching Daemon at Sat Aug 29 08:50:36 IST 2026
[2026-08-29 08:50:36,387.387 INFO    ] ================================================
[2026-08-29 08:50:36,953.953 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:50:36
[2026-08-29 08:50:37,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:50:37,840.840 INFO    ] Initializing speech engine...
[2026-08-29 08:50:37,846.846 INFO    ] 2026-08-29 08:50:37
[2026-08-29 08:50:38,098.098 INFO    ] 2026-08-29 08:50:38
[2026-08-29 08:50:38,156.156 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:50:38,299.299 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:50:38,311.311 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:50:39,441.441 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:50:39,469.469 INFO    ] time= 29/08/2026 08:50:39
[2026-08-29 08:50:39,475.475 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:50:39,480.480 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:50:39,529.529 INFO    ] No existing commands found in stream
[2026-08-29 08:50:44,534.534 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:50:44,537.537 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 08:50:46,161.161 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:50:46,163.163 INFO    ] Checking for system updates...
[2026-08-29 08:50:46,183.183 INFO    ] 200
[2026-08-29 08:50:46,185.185 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:50:46,215.215 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:50:46,216.216 INFO    ] No update needed
[2026-08-29 08:50:46,218.218 INFO    ] Checking for camera pi updates...
[2026-08-29 08:50:46,247.247 INFO    ] 200
[2026-08-29 08:50:46,250.250 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:50:46,291.291 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:50:46,397.397 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:50:46,400.400 INFO    ] No camera update needed
[2026-08-29 08:50:46,402.402 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:50:46,404.404 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:50:46,410.410 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:50:46,415.415 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:50:48,457.457 INFO    ] ================================================
[2026-08-29 08:50:48,473.473 INFO    ] Launching Daemon at Sat Aug 29 08:50:48 IST 2026
[2026-08-29 08:50:48,483.483 INFO    ] ================================================
[2026-08-29 08:50:49,108.108 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:50:49
[2026-08-29 08:50:49,561.561 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:50:49,764.764 INFO    ] Initializing speech engine...
[2026-08-29 08:50:49,773.773 INFO    ] 2026-08-29 08:50:49
[2026-08-29 08:50:50,044.044 INFO    ] 2026-08-29 08:50:50
[2026-08-29 08:50:50,105.105 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:50:50,334.334 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:50:50,342.342 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:50:50,479.479 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:50:50,532.532 INFO    ] time= 29/08/2026 08:50:50
[2026-08-29 08:50:50,592.592 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:50:50,618.618 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:50:50,677.677 INFO    ] No existing commands found in stream
[2026-08-29 08:50:55,689.689 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:50:55,693.693 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-08-29 08:50:57,116.116 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:50:57,118.118 INFO    ] Checking for system updates...
[2026-08-29 08:50:57,138.138 INFO    ] 200
[2026-08-29 08:50:57,140.140 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:50:57,171.171 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:50:57,173.173 INFO    ] No update needed
[2026-08-29 08:50:57,174.174 INFO    ] Checking for camera pi updates...
[2026-08-29 08:50:57,196.196 INFO    ] 200
[2026-08-29 08:50:57,197.197 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:50:57,221.221 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:50:57,320.320 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:50:57,322.322 INFO    ] No camera update needed
[2026-08-29 08:50:57,323.323 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:50:57,325.325 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:50:57,328.328 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:50:57,331.331 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:50:59,368.368 INFO    ] ================================================
[2026-08-29 08:50:59,384.384 INFO    ] Launching Daemon at Sat Aug 29 08:50:59 IST 2026
[2026-08-29 08:50:59,394.394 INFO    ] ================================================
[2026-08-29 08:50:59,753.753 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:50:59
[2026-08-29 08:51:00,084.084 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:51:00,227.227 INFO    ] Initializing speech engine...
[2026-08-29 08:51:00,239.239 INFO    ] 2026-08-29 08:51:00
[2026-08-29 08:51:00,448.448 INFO    ] 2026-08-29 08:51:00
[2026-08-29 08:51:00,476.476 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:51:00,601.601 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:51:00,664.664 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:51:00,840.840 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:51:00,864.864 INFO    ] time= 29/08/2026 08:51:00
[2026-08-29 08:51:00,919.919 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:51:00,974.974 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:51:01,171.171 INFO    ] No existing commands found in stream
[2026-08-29 08:51:06,189.189 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:51:06,193.193 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-08-29 08:51:07,552.552 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:51:07,554.554 INFO    ] Checking for system updates...
[2026-08-29 08:51:07,574.574 INFO    ] 200
[2026-08-29 08:51:07,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:51:07,605.605 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:51:07,607.607 INFO    ] No update needed
[2026-08-29 08:51:07,608.608 INFO    ] Checking for camera pi updates...
[2026-08-29 08:51:07,627.627 INFO    ] 200
[2026-08-29 08:51:07,628.628 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:51:07,653.653 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:51:07,755.755 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:51:07,756.756 INFO    ] No camera update needed
[2026-08-29 08:51:07,757.757 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:51:07,758.758 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:51:07,761.761 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:51:07,764.764 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:51:09,803.803 INFO    ] ================================================
[2026-08-29 08:51:09,819.819 INFO    ] Launching Daemon at Sat Aug 29 08:51:09 IST 2026
[2026-08-29 08:51:09,830.830 INFO    ] ================================================
[2026-08-29 08:51:10,192.192 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:51:10
[2026-08-29 08:51:10,503.503 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:51:10,640.640 INFO    ] Initializing speech engine...
[2026-08-29 08:51:10,650.650 INFO    ] 2026-08-29 08:51:10
[2026-08-29 08:51:10,854.854 INFO    ] 2026-08-29 08:51:10
[2026-08-29 08:51:10,884.884 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:51:11,055.055 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:51:11,075.075 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:51:11,209.209 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:51:11,228.228 INFO    ] time= 29/08/2026 08:51:11
[2026-08-29 08:51:11,240.240 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:51:11,264.264 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:51:11,367.367 INFO    ] No existing commands found in stream
[2026-08-29 08:51:16,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:51:16,384.384 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-08-29 08:51:18,251.251 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:51:18,253.253 INFO    ] Checking for system updates...
[2026-08-29 08:51:18,273.273 INFO    ] 200
[2026-08-29 08:51:18,274.274 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:51:18,305.305 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:51:18,306.306 INFO    ] No update needed
[2026-08-29 08:51:18,308.308 INFO    ] Checking for camera pi updates...
[2026-08-29 08:51:18,328.328 INFO    ] 200
[2026-08-29 08:51:18,329.329 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:51:18,353.353 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:51:18,453.453 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:51:18,455.455 INFO    ] No camera update needed
[2026-08-29 08:51:18,457.457 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:51:18,459.459 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:51:18,465.465 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:51:18,469.469 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:51:20,509.509 INFO    ] ================================================
[2026-08-29 08:51:20,525.525 INFO    ] Launching Daemon at Sat Aug 29 08:51:20 IST 2026
[2026-08-29 08:51:20,536.536 INFO    ] ================================================
[2026-08-29 08:51:21,103.103 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:51:21
[2026-08-29 08:51:21,618.618 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:51:21,761.761 INFO    ] Initializing speech engine...
[2026-08-29 08:51:21,766.766 INFO    ] 2026-08-29 08:51:21
[2026-08-29 08:51:21,972.972 INFO    ] 2026-08-29 08:51:21
[2026-08-29 08:51:22,001.001 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:51:22,160.160 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:51:22,189.189 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:51:22,320.320 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:51:22,375.375 INFO    ] time= 29/08/2026 08:51:22
[2026-08-29 08:51:22,411.411 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:51:22,421.421 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:51:22,494.494 INFO    ] No existing commands found in stream
[2026-08-29 08:51:27,503.503 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:51:27,506.506 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 08:51:29,872.872 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:51:29,874.874 INFO    ] Checking for system updates...
[2026-08-29 08:51:29,895.895 INFO    ] 200
[2026-08-29 08:51:29,896.896 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:51:29,925.925 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:51:29,927.927 INFO    ] No update needed
[2026-08-29 08:51:29,928.928 INFO    ] Checking for camera pi updates...
[2026-08-29 08:51:29,948.948 INFO    ] 200
[2026-08-29 08:51:29,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:51:29,973.973 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:51:30,053.053 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:51:30,056.056 INFO    ] No camera update needed
[2026-08-29 08:51:30,058.058 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:51:30,060.060 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:51:30,065.065 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:51:30,070.070 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:51:32,112.112 INFO    ] ================================================
[2026-08-29 08:51:32,130.130 INFO    ] Launching Daemon at Sat Aug 29 08:51:32 IST 2026
[2026-08-29 08:51:32,143.143 INFO    ] ================================================
[2026-08-29 08:51:32,745.745 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:51:32
[2026-08-29 08:51:33,256.256 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:51:33,389.389 INFO    ] Initializing speech engine...
[2026-08-29 08:51:33,394.394 INFO    ] 2026-08-29 08:51:33
[2026-08-29 08:51:33,622.622 INFO    ] 2026-08-29 08:51:33
[2026-08-29 08:51:33,652.652 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:51:33,782.782 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:51:33,811.811 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:51:33,951.951 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:51:33,996.996 INFO    ] time= 29/08/2026 08:51:33
[2026-08-29 08:51:34,057.057 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:51:34,092.092 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:51:34,178.178 INFO    ] No existing commands found in stream
[2026-08-29 08:51:39,188.188 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:51:39,191.191 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 08:51:44,476.476 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:51:44,478.478 INFO    ] Checking for system updates...
[2026-08-29 08:51:44,515.515 INFO    ] 200
[2026-08-29 08:51:44,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:51:44,570.570 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:51:44,573.573 INFO    ] No update needed
[2026-08-29 08:51:44,575.575 INFO    ] Checking for camera pi updates...
[2026-08-29 08:51:44,614.614 INFO    ] 200
[2026-08-29 08:51:44,617.617 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:51:44,645.645 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:51:44,733.733 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:51:44,735.735 INFO    ] No camera update needed
[2026-08-29 08:51:44,736.736 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:51:44,737.737 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:51:44,741.741 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:51:44,744.744 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:51:46,784.784 INFO    ] ================================================
[2026-08-29 08:51:46,800.800 INFO    ] Launching Daemon at Sat Aug 29 08:51:46 IST 2026
[2026-08-29 08:51:46,812.812 INFO    ] ================================================
[2026-08-29 08:51:47,395.395 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:51:47
[2026-08-29 08:51:48,057.057 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:51:48,358.358 INFO    ] Initializing speech engine...
[2026-08-29 08:51:48,370.370 INFO    ] 2026-08-29 08:51:48
[2026-08-29 08:51:48,685.685 INFO    ] 2026-08-29 08:51:48
[2026-08-29 08:51:48,768.768 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:51:48,924.924 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:51:48,929.929 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:51:49,064.064 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:51:49,115.115 INFO    ] time= 29/08/2026 08:51:49
[2026-08-29 08:51:49,164.164 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:51:49,198.198 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:51:49,289.289 INFO    ] No existing commands found in stream
[2026-08-29 08:51:54,320.320 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:51:54,323.323 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-08-29 08:51:55,702.702 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:51:55,704.704 INFO    ] Checking for system updates...
[2026-08-29 08:51:55,724.724 INFO    ] 200
[2026-08-29 08:51:55,726.726 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:51:55,756.756 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:51:55,757.757 INFO    ] No update needed
[2026-08-29 08:51:55,759.759 INFO    ] Checking for camera pi updates...
[2026-08-29 08:51:55,779.779 INFO    ] 200
[2026-08-29 08:51:55,781.781 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:51:55,806.806 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:51:55,882.882 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:51:55,883.883 INFO    ] No camera update needed
[2026-08-29 08:51:55,885.885 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:51:55,886.886 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:51:55,889.889 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:51:55,892.892 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:51:57,932.932 INFO    ] ================================================
[2026-08-29 08:51:57,948.948 INFO    ] Launching Daemon at Sat Aug 29 08:51:57 IST 2026
[2026-08-29 08:51:57,960.960 INFO    ] ================================================
[2026-08-29 08:51:58,358.358 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:51:58
[2026-08-29 08:51:58,674.674 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:51:58,818.818 INFO    ] Initializing speech engine...
[2026-08-29 08:51:58,823.823 INFO    ] 2026-08-29 08:51:58
[2026-08-29 08:51:59,028.028 INFO    ] 2026-08-29 08:51:59
[2026-08-29 08:51:59,056.056 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:51:59,178.178 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:51:59,241.241 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:51:59,386.386 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:51:59,422.422 INFO    ] time= 29/08/2026 08:51:59
[2026-08-29 08:51:59,482.482 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:51:59,512.512 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:51:59,634.634 INFO    ] No existing commands found in stream
[2026-08-29 08:52:04,660.660 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:52:04,663.663 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 08:52:06,694.694 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:52:06,696.696 INFO    ] Checking for system updates...
[2026-08-29 08:52:06,718.718 INFO    ] 200
[2026-08-29 08:52:06,719.719 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:52:06,749.749 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:52:06,750.750 INFO    ] No update needed
[2026-08-29 08:52:06,751.751 INFO    ] Checking for camera pi updates...
[2026-08-29 08:52:06,771.771 INFO    ] 200
[2026-08-29 08:52:06,773.773 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:52:06,797.797 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:52:06,878.878 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:52:06,880.880 INFO    ] No camera update needed
[2026-08-29 08:52:06,881.881 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:52:06,882.882 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:52:06,885.885 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:52:06,888.888 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:52:08,926.926 INFO    ] ================================================
[2026-08-29 08:52:08,941.941 INFO    ] Launching Daemon at Sat Aug 29 08:52:08 IST 2026
[2026-08-29 08:52:08,952.952 INFO    ] ================================================
[2026-08-29 08:52:09,319.319 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:52:09
[2026-08-29 08:52:09,630.630 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:52:09,811.811 INFO    ] Initializing speech engine...
[2026-08-29 08:52:09,820.820 INFO    ] 2026-08-29 08:52:09
[2026-08-29 08:52:10,072.072 INFO    ] 2026-08-29 08:52:10
[2026-08-29 08:52:10,106.106 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:52:10,283.283 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:52:10,295.295 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:52:10,441.441 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:52:10,449.449 INFO    ] time= 29/08/2026 08:52:10
[2026-08-29 08:52:10,455.455 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:52:10,507.507 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:52:10,633.633 INFO    ] No existing commands found in stream
[2026-08-29 08:52:15,658.658 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:52:15,660.660 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-08-29 08:52:16,891.891 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:52:16,893.893 INFO    ] Checking for system updates...
[2026-08-29 08:52:16,913.913 INFO    ] 200
[2026-08-29 08:52:16,915.915 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:52:16,945.945 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:52:16,946.946 INFO    ] No update needed
[2026-08-29 08:52:16,947.947 INFO    ] Checking for camera pi updates...
[2026-08-29 08:52:16,967.967 INFO    ] 200
[2026-08-29 08:52:16,968.968 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:52:16,991.991 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:52:17,078.078 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:52:17,081.081 INFO    ] No camera update needed
[2026-08-29 08:52:17,083.083 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:52:17,085.085 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:52:17,090.090 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:52:17,096.096 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:52:19,135.135 INFO    ] ================================================
[2026-08-29 08:52:19,151.151 INFO    ] Launching Daemon at Sat Aug 29 08:52:19 IST 2026
[2026-08-29 08:52:19,162.162 INFO    ] ================================================
[2026-08-29 08:52:19,729.729 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:52:19
[2026-08-29 08:52:20,229.229 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:52:20,367.367 INFO    ] Initializing speech engine...
[2026-08-29 08:52:20,377.377 INFO    ] 2026-08-29 08:52:20
[2026-08-29 08:52:20,582.582 INFO    ] 2026-08-29 08:52:20
[2026-08-29 08:52:20,610.610 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:52:20,734.734 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:52:20,797.797 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:52:20,938.938 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:52:21,005.005 INFO    ] time= 29/08/2026 08:52:20
[2026-08-29 08:52:21,029.029 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:52:21,036.036 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:52:21,104.104 INFO    ] No existing commands found in stream
[2026-08-29 08:52:26,113.113 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:52:26,115.115 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-08-29 08:52:29,517.517 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:52:29,519.519 INFO    ] Checking for system updates...
[2026-08-29 08:52:29,540.540 INFO    ] 200
[2026-08-29 08:52:29,541.541 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:52:29,571.571 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:52:29,573.573 INFO    ] No update needed
[2026-08-29 08:52:29,574.574 INFO    ] Checking for camera pi updates...
[2026-08-29 08:52:29,594.594 INFO    ] 200
[2026-08-29 08:52:29,595.595 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:52:29,618.618 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:52:29,716.716 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:52:29,717.717 INFO    ] No camera update needed
[2026-08-29 08:52:29,719.719 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:52:29,720.720 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:52:29,723.723 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:52:29,725.725 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:52:31,766.766 INFO    ] ================================================
[2026-08-29 08:52:31,784.784 INFO    ] Launching Daemon at Sat Aug 29 08:52:31 IST 2026
[2026-08-29 08:52:31,796.796 INFO    ] ================================================
[2026-08-29 08:52:32,324.324 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:52:32
[2026-08-29 08:52:32,942.942 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:52:33,215.215 INFO    ] Initializing speech engine...
[2026-08-29 08:52:33,222.222 INFO    ] 2026-08-29 08:52:33
[2026-08-29 08:52:33,466.466 INFO    ] 2026-08-29 08:52:33
[2026-08-29 08:52:33,501.501 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:52:33,672.672 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:52:33,684.684 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:52:33,828.828 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:52:33,832.832 INFO    ] time= 29/08/2026 08:52:33
[2026-08-29 08:52:33,838.838 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:52:33,870.870 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:52:33,993.993 INFO    ] No existing commands found in stream
[2026-08-29 08:52:39,018.018 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:52:39,020.020 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-08-29 08:52:40,987.987 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:52:40,988.988 INFO    ] Checking for system updates...
[2026-08-29 08:52:41,008.008 INFO    ] 200
[2026-08-29 08:52:41,010.010 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:52:41,039.039 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:52:41,041.041 INFO    ] No update needed
[2026-08-29 08:52:41,042.042 INFO    ] Checking for camera pi updates...
[2026-08-29 08:52:41,062.062 INFO    ] 200
[2026-08-29 08:52:41,063.063 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:52:41,088.088 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:52:41,262.262 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:52:41,263.263 INFO    ] No camera update needed
[2026-08-29 08:52:41,265.265 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:52:41,266.266 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:52:41,269.269 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:52:41,272.272 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:52:43,310.310 INFO    ] ================================================
[2026-08-29 08:52:43,326.326 INFO    ] Launching Daemon at Sat Aug 29 08:52:43 IST 2026
[2026-08-29 08:52:43,338.338 INFO    ] ================================================
[2026-08-29 08:52:43,686.686 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:52:43
[2026-08-29 08:52:44,016.016 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:52:44,167.167 INFO    ] Initializing speech engine...
[2026-08-29 08:52:44,173.173 INFO    ] 2026-08-29 08:52:44
[2026-08-29 08:52:44,377.377 INFO    ] 2026-08-29 08:52:44
[2026-08-29 08:52:44,406.406 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:52:44,569.569 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:52:44,593.593 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:52:44,722.722 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:52:44,783.783 INFO    ] time= 29/08/2026 08:52:44
[2026-08-29 08:52:44,817.817 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:52:44,822.822 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:52:44,894.894 INFO    ] No existing commands found in stream
[2026-08-29 08:52:49,903.903 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:52:49,906.906 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-08-29 08:52:51,435.435 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:52:51,436.436 INFO    ] Checking for system updates...
[2026-08-29 08:52:51,458.458 INFO    ] 200
[2026-08-29 08:52:51,459.459 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:52:51,491.491 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:52:51,493.493 INFO    ] No update needed
[2026-08-29 08:52:51,494.494 INFO    ] Checking for camera pi updates...
[2026-08-29 08:52:51,513.513 INFO    ] 200
[2026-08-29 08:52:51,515.515 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:52:51,539.539 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:52:51,620.620 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:52:51,621.621 INFO    ] No camera update needed
[2026-08-29 08:52:51,623.623 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:52:51,624.624 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:52:51,627.627 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:52:51,630.630 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:52:53,668.668 INFO    ] ================================================
[2026-08-29 08:52:53,684.684 INFO    ] Launching Daemon at Sat Aug 29 08:52:53 IST 2026
[2026-08-29 08:52:53,695.695 INFO    ] ================================================
[2026-08-29 08:52:54,056.056 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:52:54
[2026-08-29 08:52:54,368.368 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:52:54,506.506 INFO    ] Initializing speech engine...
[2026-08-29 08:52:54,515.515 INFO    ] 2026-08-29 08:52:54
[2026-08-29 08:52:54,710.710 INFO    ] 2026-08-29 08:52:54
[2026-08-29 08:52:54,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:52:54,925.925 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:52:54,938.938 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:52:55,048.048 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:52:55,066.066 INFO    ] time= 29/08/2026 08:52:55
[2026-08-29 08:52:55,092.092 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:52:55,098.098 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:52:55,165.165 INFO    ] No existing commands found in stream
[2026-08-29 08:53:00,190.190 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:53:00,193.193 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-08-29 08:53:04,412.412 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:53:04,415.415 INFO    ] Checking for system updates...
[2026-08-29 08:53:04,450.450 INFO    ] 200
[2026-08-29 08:53:04,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:53:04,509.509 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:53:04,511.511 INFO    ] No update needed
[2026-08-29 08:53:04,514.514 INFO    ] Checking for camera pi updates...
[2026-08-29 08:53:04,547.547 INFO    ] 200
[2026-08-29 08:53:04,549.549 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:53:04,600.600 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:53:04,656.656 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:53:04,657.657 INFO    ] No camera update needed
[2026-08-29 08:53:04,658.658 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:53:04,660.660 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:53:04,663.663 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:53:04,665.665 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:53:06,703.703 INFO    ] ================================================
[2026-08-29 08:53:06,719.719 INFO    ] Launching Daemon at Sat Aug 29 08:53:06 IST 2026
[2026-08-29 08:53:06,730.730 INFO    ] ================================================
[2026-08-29 08:53:07,088.088 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:53:07
[2026-08-29 08:53:07,401.401 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:53:07,537.537 INFO    ] Initializing speech engine...
[2026-08-29 08:53:07,548.548 INFO    ] 2026-08-29 08:53:07
[2026-08-29 08:53:07,750.750 INFO    ] 2026-08-29 08:53:07
[2026-08-29 08:53:07,778.778 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:53:07,900.900 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:53:07,963.963 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:53:08,100.100 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:53:08,167.167 INFO    ] time= 29/08/2026 08:53:08
[2026-08-29 08:53:08,192.192 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:53:08,193.193 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:53:08,293.293 INFO    ] No existing commands found in stream
[2026-08-29 08:53:13,303.303 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:53:13,306.306 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-08-29 08:53:15,719.719 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:53:15,720.720 INFO    ] Checking for system updates...
[2026-08-29 08:53:15,741.741 INFO    ] 200
[2026-08-29 08:53:15,742.742 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:53:15,772.772 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:53:15,774.774 INFO    ] No update needed
[2026-08-29 08:53:15,775.775 INFO    ] Checking for camera pi updates...
[2026-08-29 08:53:15,796.796 INFO    ] 200
[2026-08-29 08:53:15,797.797 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:53:15,823.823 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:53:15,908.908 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:53:15,910.910 INFO    ] No camera update needed
[2026-08-29 08:53:15,911.911 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:53:15,913.913 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:53:15,916.916 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:53:15,918.918 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:53:17,957.957 INFO    ] ================================================
[2026-08-29 08:53:17,973.973 INFO    ] Launching Daemon at Sat Aug 29 08:53:17 IST 2026
[2026-08-29 08:53:17,984.984 INFO    ] ================================================
[2026-08-29 08:53:18,366.366 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:53:18
[2026-08-29 08:53:18,693.693 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:53:18,836.836 INFO    ] Initializing speech engine...
[2026-08-29 08:53:18,841.841 INFO    ] 2026-08-29 08:53:18
[2026-08-29 08:53:19,045.045 INFO    ] 2026-08-29 08:53:19
[2026-08-29 08:53:19,075.075 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:53:19,198.198 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:53:19,256.256 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:53:19,393.393 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:53:19,454.454 INFO    ] time= 29/08/2026 08:53:19
[2026-08-29 08:53:19,488.488 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:53:19,494.494 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:53:19,566.566 INFO    ] No existing commands found in stream
[2026-08-29 08:53:24,575.575 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:53:24,577.577 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-08-29 08:53:27,852.852 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:53:27,853.853 INFO    ] Checking for system updates...
[2026-08-29 08:53:27,874.874 INFO    ] 200
[2026-08-29 08:53:27,875.875 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:53:27,907.907 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:53:27,908.908 INFO    ] No update needed
[2026-08-29 08:53:27,909.909 INFO    ] Checking for camera pi updates...
[2026-08-29 08:53:27,929.929 INFO    ] 200
[2026-08-29 08:53:27,931.931 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:53:27,954.954 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:53:28,029.029 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:53:28,031.031 INFO    ] No camera update needed
[2026-08-29 08:53:28,032.032 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:53:28,033.033 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:53:28,036.036 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:53:28,039.039 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:53:30,078.078 INFO    ] ================================================
[2026-08-29 08:53:30,093.093 INFO    ] Launching Daemon at Sat Aug 29 08:53:30 IST 2026
[2026-08-29 08:53:30,103.103 INFO    ] ================================================
[2026-08-29 08:53:30,471.471 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:53:30
[2026-08-29 08:53:30,787.787 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:53:30,928.928 INFO    ] Initializing speech engine...
[2026-08-29 08:53:30,939.939 INFO    ] 2026-08-29 08:53:30
[2026-08-29 08:53:31,154.154 INFO    ] 2026-08-29 08:53:31
[2026-08-29 08:53:31,184.184 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:53:31,315.315 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:53:31,374.374 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:53:31,584.584 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:53:31,625.625 INFO    ] time= 29/08/2026 08:53:31
[2026-08-29 08:53:31,685.685 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:53:31,745.745 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:53:31,826.826 INFO    ] No existing commands found in stream
[2026-08-29 08:53:36,863.863 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:53:36,865.865 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-08-29 08:53:39,758.758 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:53:39,761.761 INFO    ] Checking for system updates...
[2026-08-29 08:53:39,800.800 INFO    ] 200
[2026-08-29 08:53:39,802.802 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:53:39,855.855 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:53:39,858.858 INFO    ] No update needed
[2026-08-29 08:53:39,860.860 INFO    ] Checking for camera pi updates...
[2026-08-29 08:53:39,897.897 INFO    ] 200
[2026-08-29 08:53:39,899.899 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:53:39,939.939 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:53:40,030.030 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:53:40,033.033 INFO    ] No camera update needed
[2026-08-29 08:53:40,035.035 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:53:40,037.037 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:53:40,042.042 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:53:40,047.047 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:53:42,088.088 INFO    ] ================================================
[2026-08-29 08:53:42,104.104 INFO    ] Launching Daemon at Sat Aug 29 08:53:42 IST 2026
[2026-08-29 08:53:42,114.114 INFO    ] ================================================
[2026-08-29 08:53:42,692.692 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:53:42
[2026-08-29 08:53:43,362.362 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:53:43,668.668 INFO    ] Initializing speech engine...
[2026-08-29 08:53:43,678.678 INFO    ] 2026-08-29 08:53:43
[2026-08-29 08:53:43,957.957 INFO    ] 2026-08-29 08:53:43
[2026-08-29 08:53:44,013.013 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:53:44,223.223 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:53:44,233.233 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:53:44,368.368 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:53:44,419.419 INFO    ] time= 29/08/2026 08:53:44
[2026-08-29 08:53:44,469.469 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:53:44,502.502 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:53:44,581.581 INFO    ] No existing commands found in stream
[2026-08-29 08:53:49,618.618 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:53:49,622.622 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-08-29 08:53:51,022.022 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:53:51,024.024 INFO    ] Checking for system updates...
[2026-08-29 08:53:51,045.045 INFO    ] 200
[2026-08-29 08:53:51,046.046 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:53:51,076.076 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:53:51,078.078 INFO    ] No update needed
[2026-08-29 08:53:51,080.080 INFO    ] Checking for camera pi updates...
[2026-08-29 08:53:51,100.100 INFO    ] 200
[2026-08-29 08:53:51,102.102 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:53:51,126.126 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:53:51,245.245 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:53:51,247.247 INFO    ] No camera update needed
[2026-08-29 08:53:51,248.248 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:53:51,249.249 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:53:51,253.253 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:53:51,256.256 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:53:53,295.295 INFO    ] ================================================
[2026-08-29 08:53:53,310.310 INFO    ] Launching Daemon at Sat Aug 29 08:53:53 IST 2026
[2026-08-29 08:53:53,322.322 INFO    ] ================================================
[2026-08-29 08:53:53,689.689 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:53:53
[2026-08-29 08:53:54,032.032 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:53:54,242.242 INFO    ] Initializing speech engine...
[2026-08-29 08:53:54,253.253 INFO    ] 2026-08-29 08:53:54
[2026-08-29 08:53:54,520.520 INFO    ] 2026-08-29 08:53:54
[2026-08-29 08:53:54,572.572 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:53:54,725.725 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:53:54,741.741 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:53:54,873.873 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:53:54,877.877 INFO    ] time= 29/08/2026 08:53:54
[2026-08-29 08:53:54,884.884 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:53:54,925.925 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:53:55,053.053 INFO    ] No existing commands found in stream
[2026-08-29 08:54:00,083.083 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:54:00,086.086 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-08-29 08:54:01,353.353 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:54:01,354.354 INFO    ] Checking for system updates...
[2026-08-29 08:54:01,375.375 INFO    ] 200
[2026-08-29 08:54:01,376.376 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:54:01,406.406 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:54:01,407.407 INFO    ] No update needed
[2026-08-29 08:54:01,409.409 INFO    ] Checking for camera pi updates...
[2026-08-29 08:54:01,429.429 INFO    ] 200
[2026-08-29 08:54:01,430.430 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:54:01,455.455 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:54:01,518.518 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:54:01,519.519 INFO    ] No camera update needed
[2026-08-29 08:54:01,520.520 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:54:01,522.522 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:54:01,525.525 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:54:01,528.528 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:54:03,568.568 INFO    ] ================================================
[2026-08-29 08:54:03,584.584 INFO    ] Launching Daemon at Sat Aug 29 08:54:03 IST 2026
[2026-08-29 08:54:03,594.594 INFO    ] ================================================
[2026-08-29 08:54:04,239.239 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:54:04
[2026-08-29 08:54:04,835.835 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:54:05,104.104 INFO    ] Initializing speech engine...
[2026-08-29 08:54:05,113.113 INFO    ] 2026-08-29 08:54:05
[2026-08-29 08:54:05,359.359 INFO    ] 2026-08-29 08:54:05
[2026-08-29 08:54:05,394.394 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:54:05,544.544 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:54:05,548.548 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:54:05,679.679 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:54:05,688.688 INFO    ] time= 29/08/2026 08:54:05
[2026-08-29 08:54:05,693.693 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:54:05,707.707 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:54:05,795.795 INFO    ] No existing commands found in stream
[2026-08-29 08:54:10,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:54:10,823.823 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-08-29 08:54:15,111.111 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:54:15,112.112 INFO    ] Checking for system updates...
[2026-08-29 08:54:15,133.133 INFO    ] 200
[2026-08-29 08:54:15,134.134 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:54:15,167.167 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:54:15,168.168 INFO    ] No update needed
[2026-08-29 08:54:15,169.169 INFO    ] Checking for camera pi updates...
[2026-08-29 08:54:15,188.188 INFO    ] 200
[2026-08-29 08:54:15,190.190 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:54:15,212.212 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:54:15,303.303 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:54:15,304.304 INFO    ] No camera update needed
[2026-08-29 08:54:15,305.305 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:54:15,306.306 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:54:15,309.309 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:54:15,312.312 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:54:17,351.351 INFO    ] ================================================
[2026-08-29 08:54:17,366.366 INFO    ] Launching Daemon at Sat Aug 29 08:54:17 IST 2026
[2026-08-29 08:54:17,377.377 INFO    ] ================================================
[2026-08-29 08:54:17,707.707 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:54:17
[2026-08-29 08:54:18,024.024 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:54:18,162.162 INFO    ] Initializing speech engine...
[2026-08-29 08:54:18,169.169 INFO    ] 2026-08-29 08:54:18
[2026-08-29 08:54:18,371.371 INFO    ] 2026-08-29 08:54:18
[2026-08-29 08:54:18,407.407 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:54:18,579.579 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:54:18,602.602 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:54:18,732.732 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:54:18,740.740 INFO    ] time= 29/08/2026 08:54:18
[2026-08-29 08:54:18,748.748 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:54:18,792.792 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:54:18,924.924 INFO    ] No existing commands found in stream
[2026-08-29 08:54:23,947.947 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:54:23,950.950 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-08-29 08:54:26,042.042 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:54:26,044.044 INFO    ] Checking for system updates...
[2026-08-29 08:54:26,064.064 INFO    ] 200
[2026-08-29 08:54:26,065.065 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:54:26,096.096 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:54:26,097.097 INFO    ] No update needed
[2026-08-29 08:54:26,098.098 INFO    ] Checking for camera pi updates...
[2026-08-29 08:54:26,118.118 INFO    ] 200
[2026-08-29 08:54:26,120.120 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:54:26,142.142 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:54:26,232.232 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:54:26,233.233 INFO    ] No camera update needed
[2026-08-29 08:54:26,234.234 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:54:26,235.235 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:54:26,238.238 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:54:26,241.241 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:54:28,281.281 INFO    ] ================================================
[2026-08-29 08:54:28,296.296 INFO    ] Launching Daemon at Sat Aug 29 08:54:28 IST 2026
[2026-08-29 08:54:28,307.307 INFO    ] ================================================
[2026-08-29 08:54:28,642.642 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:54:28
[2026-08-29 08:54:28,955.955 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:54:29,089.089 INFO    ] Initializing speech engine...
[2026-08-29 08:54:29,103.103 INFO    ] 2026-08-29 08:54:29
[2026-08-29 08:54:29,337.337 INFO    ] 2026-08-29 08:54:29
[2026-08-29 08:54:29,372.372 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:54:29,547.547 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:54:29,559.559 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:54:29,689.689 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:54:29,712.712 INFO    ] time= 29/08/2026 08:54:29
[2026-08-29 08:54:29,717.717 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:54:29,723.723 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:54:29,791.791 INFO    ] No existing commands found in stream
[2026-08-29 08:54:34,816.816 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:54:34,819.819 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-08-29 08:54:37,756.756 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:54:37,757.757 INFO    ] Checking for system updates...
[2026-08-29 08:54:37,777.777 INFO    ] 200
[2026-08-29 08:54:37,779.779 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:54:37,809.809 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:54:37,810.810 INFO    ] No update needed
[2026-08-29 08:54:37,811.811 INFO    ] Checking for camera pi updates...
[2026-08-29 08:54:37,832.832 INFO    ] 200
[2026-08-29 08:54:37,833.833 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:54:37,856.856 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:54:37,934.934 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:54:37,936.936 INFO    ] No camera update needed
[2026-08-29 08:54:37,939.939 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:54:37,941.941 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:54:37,946.946 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:54:37,951.951 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:54:39,992.992 INFO    ] ================================================
[2026-08-29 08:54:40,007.007 INFO    ] Launching Daemon at Sat Aug 29 08:54:40 IST 2026
[2026-08-29 08:54:40,018.018 INFO    ] ================================================
[2026-08-29 08:54:40,600.600 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:54:40
[2026-08-29 08:54:41,122.122 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:54:41,266.266 INFO    ] Initializing speech engine...
[2026-08-29 08:54:41,271.271 INFO    ] 2026-08-29 08:54:41
[2026-08-29 08:54:41,474.474 INFO    ] 2026-08-29 08:54:41
[2026-08-29 08:54:41,503.503 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:54:41,625.625 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:54:41,657.657 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:54:41,817.817 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:54:41,869.869 INFO    ] time= 29/08/2026 08:54:41
[2026-08-29 08:54:41,908.908 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:54:41,918.918 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:54:41,990.990 INFO    ] No existing commands found in stream
[2026-08-29 08:54:46,999.999 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:54:47,002.002 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-08-29 08:54:48,668.668 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:54:48,670.670 INFO    ] Checking for system updates...
[2026-08-29 08:54:48,711.711 INFO    ] 200
[2026-08-29 08:54:48,713.713 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:54:48,765.765 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:54:48,768.768 INFO    ] No update needed
[2026-08-29 08:54:48,772.772 INFO    ] Checking for camera pi updates...
[2026-08-29 08:54:48,807.807 INFO    ] 200
[2026-08-29 08:54:48,809.809 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:54:48,851.851 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:54:49,026.026 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:54:49,027.027 INFO    ] No camera update needed
[2026-08-29 08:54:49,029.029 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:54:49,030.030 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:54:49,033.033 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:54:49,036.036 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:54:51,076.076 INFO    ] ================================================
[2026-08-29 08:54:51,091.091 INFO    ] Launching Daemon at Sat Aug 29 08:54:51 IST 2026
[2026-08-29 08:54:51,102.102 INFO    ] ================================================
[2026-08-29 08:54:51,442.442 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:54:51
[2026-08-29 08:54:51,931.931 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:54:52,234.234 INFO    ] Initializing speech engine...
[2026-08-29 08:54:52,247.247 INFO    ] 2026-08-29 08:54:52
[2026-08-29 08:54:52,534.534 INFO    ] 2026-08-29 08:54:52
[2026-08-29 08:54:52,574.574 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:54:52,798.798 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:54:52,804.804 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:54:52,938.938 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:54:52,978.978 INFO    ] time= 29/08/2026 08:54:52
[2026-08-29 08:54:53,038.038 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:54:53,070.070 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:54:53,126.126 INFO    ] No existing commands found in stream
[2026-08-29 08:54:58,139.139 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:54:58,142.142 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-08-29 08:55:00,403.403 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:55:00,405.405 INFO    ] Checking for system updates...
[2026-08-29 08:55:00,426.426 INFO    ] 200
[2026-08-29 08:55:00,427.427 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:55:00,457.457 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:55:00,459.459 INFO    ] No update needed
[2026-08-29 08:55:00,460.460 INFO    ] Checking for camera pi updates...
[2026-08-29 08:55:00,481.481 INFO    ] 200
[2026-08-29 08:55:00,482.482 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:55:00,506.506 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:55:00,602.602 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:55:00,603.603 INFO    ] No camera update needed
[2026-08-29 08:55:00,605.605 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:55:00,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:55:00,609.609 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:55:00,612.612 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:55:02,661.661 INFO    ] ================================================
[2026-08-29 08:55:02,681.681 INFO    ] Launching Daemon at Sat Aug 29 08:55:02 IST 2026
[2026-08-29 08:55:02,695.695 INFO    ] ================================================
[2026-08-29 08:55:03,346.346 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:55:03
[2026-08-29 08:55:03,960.960 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:55:04,208.208 INFO    ] Initializing speech engine...
[2026-08-29 08:55:04,232.232 INFO    ] 2026-08-29 08:55:04
[2026-08-29 08:55:04,497.497 INFO    ] 2026-08-29 08:55:04
[2026-08-29 08:55:04,532.532 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:55:04,707.707 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:55:04,730.730 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:55:04,866.866 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:55:04,874.874 INFO    ] time= 29/08/2026 08:55:04
[2026-08-29 08:55:04,879.879 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:55:04,884.884 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:55:04,948.948 INFO    ] No existing commands found in stream
[2026-08-29 08:55:09,961.961 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:55:09,964.964 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-08-29 08:55:11,126.126 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:55:11,127.127 INFO    ] Checking for system updates...
[2026-08-29 08:55:11,149.149 INFO    ] 200
[2026-08-29 08:55:11,150.150 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:55:11,180.180 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:55:11,181.181 INFO    ] No update needed
[2026-08-29 08:55:11,183.183 INFO    ] Checking for camera pi updates...
[2026-08-29 08:55:11,202.202 INFO    ] 200
[2026-08-29 08:55:11,204.204 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:55:11,226.226 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:55:11,333.333 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:55:11,335.335 INFO    ] No camera update needed
[2026-08-29 08:55:11,337.337 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:55:11,340.340 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:55:11,345.345 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:55:11,350.350 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:55:13,393.393 INFO    ] ================================================
[2026-08-29 08:55:13,409.409 INFO    ] Launching Daemon at Sat Aug 29 08:55:13 IST 2026
[2026-08-29 08:55:13,421.421 INFO    ] ================================================
[2026-08-29 08:55:14,070.070 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:55:14
[2026-08-29 08:55:14,535.535 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:55:14,680.680 INFO    ] Initializing speech engine...
[2026-08-29 08:55:14,690.690 INFO    ] 2026-08-29 08:55:14
[2026-08-29 08:55:14,897.897 INFO    ] 2026-08-29 08:55:14
[2026-08-29 08:55:14,926.926 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:55:15,048.048 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:55:15,111.111 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:55:15,248.248 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:55:15,307.307 INFO    ] time= 29/08/2026 08:55:15
[2026-08-29 08:55:15,348.348 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:55:15,356.356 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:55:15,488.488 INFO    ] No existing commands found in stream
[2026-08-29 08:55:20,505.505 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:55:20,508.508 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-08-29 08:55:21,532.532 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:55:21,533.533 INFO    ] Checking for system updates...
[2026-08-29 08:55:21,554.554 INFO    ] 200
[2026-08-29 08:55:21,555.555 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:55:21,588.588 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:55:21,589.589 INFO    ] No update needed
[2026-08-29 08:55:21,590.590 INFO    ] Checking for camera pi updates...
[2026-08-29 08:55:21,611.611 INFO    ] 200
[2026-08-29 08:55:21,613.613 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:55:21,636.636 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:55:21,719.719 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:55:21,720.720 INFO    ] No camera update needed
[2026-08-29 08:55:21,722.722 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:55:21,723.723 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:55:21,726.726 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:55:21,729.729 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:55:23,768.768 INFO    ] ================================================
[2026-08-29 08:55:23,784.784 INFO    ] Launching Daemon at Sat Aug 29 08:55:23 IST 2026
[2026-08-29 08:55:23,796.796 INFO    ] ================================================
[2026-08-29 08:55:24,163.163 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:55:24
[2026-08-29 08:55:24,481.481 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:55:24,614.614 INFO    ] Initializing speech engine...
[2026-08-29 08:55:24,618.618 INFO    ] 2026-08-29 08:55:24
[2026-08-29 08:55:24,850.850 INFO    ] 2026-08-29 08:55:24
[2026-08-29 08:55:24,880.880 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:55:25,040.040 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:55:25,048.048 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:55:25,215.215 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:55:25,270.270 INFO    ] time= 29/08/2026 08:55:25
[2026-08-29 08:55:25,283.283 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:55:25,299.299 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:55:25,410.410 INFO    ] No existing commands found in stream
[2026-08-29 08:55:30,427.427 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:55:30,430.430 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 08:55:32,320.320 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:55:32,323.323 INFO    ] Checking for system updates...
[2026-08-29 08:55:32,363.363 INFO    ] 200
[2026-08-29 08:55:32,366.366 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:55:32,432.432 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:55:32,434.434 INFO    ] No update needed
[2026-08-29 08:55:32,437.437 INFO    ] Checking for camera pi updates...
[2026-08-29 08:55:32,477.477 INFO    ] 200
[2026-08-29 08:55:32,479.479 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:55:32,528.528 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:55:32,649.649 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:55:32,652.652 INFO    ] No camera update needed
[2026-08-29 08:55:32,654.654 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:55:32,657.657 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:55:32,663.663 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:55:32,669.669 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:55:34,710.710 INFO    ] ================================================
[2026-08-29 08:55:34,726.726 INFO    ] Launching Daemon at Sat Aug 29 08:55:34 IST 2026
[2026-08-29 08:55:34,737.737 INFO    ] ================================================
[2026-08-29 08:55:35,308.308 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:55:35
[2026-08-29 08:55:35,812.812 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:55:36,065.065 INFO    ] Initializing speech engine...
[2026-08-29 08:55:36,070.070 INFO    ] 2026-08-29 08:55:36
[2026-08-29 08:55:36,368.368 INFO    ] 2026-08-29 08:55:36
[2026-08-29 08:55:36,404.404 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:55:36,553.553 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:55:36,561.561 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:55:36,710.710 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:55:36,719.719 INFO    ] time= 29/08/2026 08:55:36
[2026-08-29 08:55:36,724.724 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:55:36,728.728 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:55:36,794.794 INFO    ] No existing commands found in stream
[2026-08-29 08:55:41,808.808 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:55:41,810.810 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 08:55:42,442.442 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:55:42,443.443 INFO    ] Checking for system updates...
[2026-08-29 08:55:42,463.463 INFO    ] 200
[2026-08-29 08:55:42,465.465 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:55:42,494.494 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:55:42,495.495 INFO    ] No update needed
[2026-08-29 08:55:42,497.497 INFO    ] Checking for camera pi updates...
[2026-08-29 08:55:42,515.515 INFO    ] 200
[2026-08-29 08:55:42,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:55:42,542.542 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:55:42,652.652 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:55:42,654.654 INFO    ] No camera update needed
[2026-08-29 08:55:42,655.655 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:55:42,656.656 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:55:42,659.659 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:55:42,661.661 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:55:44,701.701 INFO    ] ================================================
[2026-08-29 08:55:44,717.717 INFO    ] Launching Daemon at Sat Aug 29 08:55:44 IST 2026
[2026-08-29 08:55:44,729.729 INFO    ] ================================================
[2026-08-29 08:55:45,088.088 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:55:45
[2026-08-29 08:55:45,404.404 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:55:45,548.548 INFO    ] Initializing speech engine...
[2026-08-29 08:55:45,552.552 INFO    ] 2026-08-29 08:55:45
[2026-08-29 08:55:45,744.744 INFO    ] 2026-08-29 08:55:45
[2026-08-29 08:55:45,825.825 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:55:45,971.971 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:55:45,980.980 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:55:46,114.114 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:55:46,148.148 INFO    ] time= 29/08/2026 08:55:46
[2026-08-29 08:55:46,207.207 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:55:46,245.245 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:55:46,314.314 INFO    ] No existing commands found in stream
[2026-08-29 08:55:51,350.350 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:55:51,353.353 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 08:55:52,515.515 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:55:52,516.516 INFO    ] Checking for system updates...
[2026-08-29 08:55:52,537.537 INFO    ] 200
[2026-08-29 08:55:52,538.538 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:55:52,572.572 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:55:52,574.574 INFO    ] No update needed
[2026-08-29 08:55:52,575.575 INFO    ] Checking for camera pi updates...
[2026-08-29 08:55:52,594.594 INFO    ] 200
[2026-08-29 08:55:52,596.596 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:55:52,619.619 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:55:52,718.718 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:55:52,721.721 INFO    ] No camera update needed
[2026-08-29 08:55:52,724.724 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:55:52,727.727 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:55:52,733.733 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:55:52,738.738 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:55:54,780.780 INFO    ] ================================================
[2026-08-29 08:55:54,796.796 INFO    ] Launching Daemon at Sat Aug 29 08:55:54 IST 2026
[2026-08-29 08:55:54,807.807 INFO    ] ================================================
[2026-08-29 08:55:55,458.458 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:55:55
[2026-08-29 08:55:56,027.027 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:55:56,334.334 INFO    ] Initializing speech engine...
[2026-08-29 08:55:56,347.347 INFO    ] 2026-08-29 08:55:56
[2026-08-29 08:55:56,620.620 INFO    ] 2026-08-29 08:55:56
[2026-08-29 08:55:56,677.677 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:55:56,903.903 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:55:56,914.914 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:55:57,048.048 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:55:57,080.080 INFO    ] time= 29/08/2026 08:55:57
[2026-08-29 08:55:57,135.135 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:55:57,185.185 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:55:57,243.243 INFO    ] No existing commands found in stream
[2026-08-29 08:56:02,255.255 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:56:02,259.259 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 08:56:04,636.636 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:56:04,639.639 INFO    ] Checking for system updates...
[2026-08-29 08:56:04,676.676 INFO    ] 200
[2026-08-29 08:56:04,679.679 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:56:04,733.733 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:56:04,735.735 INFO    ] No update needed
[2026-08-29 08:56:04,738.738 INFO    ] Checking for camera pi updates...
[2026-08-29 08:56:04,773.773 INFO    ] 200
[2026-08-29 08:56:04,776.776 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:56:04,821.821 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:56:04,935.935 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:56:04,937.937 INFO    ] No camera update needed
[2026-08-29 08:56:04,940.940 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:56:04,942.942 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:56:04,947.947 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:56:04,952.952 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:56:06,993.993 INFO    ] ================================================
[2026-08-29 08:56:07,010.010 INFO    ] Launching Daemon at Sat Aug 29 08:56:07 IST 2026
[2026-08-29 08:56:07,021.021 INFO    ] ================================================
[2026-08-29 08:56:07,360.360 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:56:07
[2026-08-29 08:56:07,675.675 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:56:07,808.808 INFO    ] Initializing speech engine...
[2026-08-29 08:56:07,811.811 INFO    ] 2026-08-29 08:56:07
[2026-08-29 08:56:08,039.039 INFO    ] 2026-08-29 08:56:08
[2026-08-29 08:56:08,070.070 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:56:08,208.208 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:56:08,271.271 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:56:08,397.397 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:56:08,446.446 INFO    ] time= 29/08/2026 08:56:08
[2026-08-29 08:56:08,491.491 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:56:08,545.545 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:56:08,653.653 INFO    ] No existing commands found in stream
[2026-08-29 08:56:13,678.678 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:56:13,681.681 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-08-29 08:56:14,653.653 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:56:14,655.655 INFO    ] Checking for system updates...
[2026-08-29 08:56:14,676.676 INFO    ] 200
[2026-08-29 08:56:14,677.677 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:56:14,707.707 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:56:14,708.708 INFO    ] No update needed
[2026-08-29 08:56:14,710.710 INFO    ] Checking for camera pi updates...
[2026-08-29 08:56:14,729.729 INFO    ] 200
[2026-08-29 08:56:14,731.731 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:56:14,756.756 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:56:14,839.839 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:56:14,841.841 INFO    ] No camera update needed
[2026-08-29 08:56:14,842.842 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:56:14,843.843 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:56:14,847.847 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:56:14,849.849 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:56:16,890.890 INFO    ] ================================================
[2026-08-29 08:56:16,905.905 INFO    ] Launching Daemon at Sat Aug 29 08:56:16 IST 2026
[2026-08-29 08:56:16,917.917 INFO    ] ================================================
[2026-08-29 08:56:17,274.274 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:56:17
[2026-08-29 08:56:17,587.587 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:56:17,723.723 INFO    ] Initializing speech engine...
[2026-08-29 08:56:17,733.733 INFO    ] 2026-08-29 08:56:17
[2026-08-29 08:56:17,939.939 INFO    ] 2026-08-29 08:56:17
[2026-08-29 08:56:17,968.968 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:56:18,088.088 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:56:18,143.143 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:56:18,291.291 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:56:18,358.358 INFO    ] time= 29/08/2026 08:56:18
[2026-08-29 08:56:18,385.385 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:56:18,392.392 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:56:18,459.459 INFO    ] No existing commands found in stream
[2026-08-29 08:56:23,468.468 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:56:23,470.470 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-08-29 08:56:24,922.922 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:56:24,923.923 INFO    ] Checking for system updates...
[2026-08-29 08:56:24,944.944 INFO    ] 200
[2026-08-29 08:56:24,945.945 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:56:24,975.975 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:56:24,976.976 INFO    ] No update needed
[2026-08-29 08:56:24,977.977 INFO    ] Checking for camera pi updates...
[2026-08-29 08:56:24,996.996 INFO    ] 200
[2026-08-29 08:56:24,997.997 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:56:25,022.022 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:56:25,108.108 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:56:25,110.110 INFO    ] No camera update needed
[2026-08-29 08:56:25,111.111 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:56:25,112.112 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:56:25,115.115 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:56:25,118.118 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:56:27,156.156 INFO    ] ================================================
[2026-08-29 08:56:27,173.173 INFO    ] Launching Daemon at Sat Aug 29 08:56:27 IST 2026
[2026-08-29 08:56:27,184.184 INFO    ] ================================================
[2026-08-29 08:56:27,532.532 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:56:27
[2026-08-29 08:56:27,849.849 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:56:28,117.117 INFO    ] Initializing speech engine...
[2026-08-29 08:56:28,125.125 INFO    ] 2026-08-29 08:56:28
[2026-08-29 08:56:28,381.381 INFO    ] 2026-08-29 08:56:28
[2026-08-29 08:56:28,441.441 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:56:28,607.607 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:56:28,648.648 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:56:28,811.811 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:56:28,833.833 INFO    ] time= 29/08/2026 08:56:28
[2026-08-29 08:56:28,892.892 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:56:28,946.946 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:56:29,000.000 INFO    ] No existing commands found in stream
[2026-08-29 08:56:34,012.012 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:56:34,015.015 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 08:56:35,921.921 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:56:35,922.922 INFO    ] Checking for system updates...
[2026-08-29 08:56:35,942.942 INFO    ] 200
[2026-08-29 08:56:35,944.944 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:56:35,974.974 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:56:35,978.978 INFO    ] No update needed
[2026-08-29 08:56:35,980.980 INFO    ] Checking for camera pi updates...
[2026-08-29 08:56:36,002.002 INFO    ] 200
[2026-08-29 08:56:36,003.003 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:56:36,030.030 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:56:36,116.116 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:56:36,117.117 INFO    ] No camera update needed
[2026-08-29 08:56:36,118.118 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:56:36,119.119 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:56:36,122.122 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:56:36,125.125 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:56:38,164.164 INFO    ] ================================================
[2026-08-29 08:56:38,180.180 INFO    ] Launching Daemon at Sat Aug 29 08:56:38 IST 2026
[2026-08-29 08:56:38,191.191 INFO    ] ================================================
[2026-08-29 08:56:38,545.545 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:56:38
[2026-08-29 08:56:38,957.957 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:56:39,231.231 INFO    ] Initializing speech engine...
[2026-08-29 08:56:39,238.238 INFO    ] 2026-08-29 08:56:39
[2026-08-29 08:56:39,496.496 INFO    ] 2026-08-29 08:56:39
[2026-08-29 08:56:39,552.552 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:56:39,716.716 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:56:39,744.744 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:56:39,919.919 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:56:39,936.936 INFO    ] time= 29/08/2026 08:56:39
[2026-08-29 08:56:39,990.990 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:56:40,044.044 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:56:40,109.109 INFO    ] No existing commands found in stream
[2026-08-29 08:56:45,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:56:45,124.124 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-08-29 08:56:45,949.949 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:56:45,950.950 INFO    ] Checking for system updates...
[2026-08-29 08:56:45,971.971 INFO    ] 200
[2026-08-29 08:56:45,972.972 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:56:46,002.002 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:56:46,003.003 INFO    ] No update needed
[2026-08-29 08:56:46,005.005 INFO    ] Checking for camera pi updates...
[2026-08-29 08:56:46,024.024 INFO    ] 200
[2026-08-29 08:56:46,028.028 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:56:46,055.055 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:56:46,158.158 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:56:46,160.160 INFO    ] No camera update needed
[2026-08-29 08:56:46,162.162 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:56:46,165.165 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:56:46,170.170 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:56:46,175.175 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:56:48,214.214 INFO    ] ================================================
[2026-08-29 08:56:48,230.230 INFO    ] Launching Daemon at Sat Aug 29 08:56:48 IST 2026
[2026-08-29 08:56:48,241.241 INFO    ] ================================================
[2026-08-29 08:56:48,808.808 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:56:48
[2026-08-29 08:56:49,271.271 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:56:49,404.404 INFO    ] Initializing speech engine...
[2026-08-29 08:56:49,416.416 INFO    ] 2026-08-29 08:56:49
[2026-08-29 08:56:49,624.624 INFO    ] 2026-08-29 08:56:49
[2026-08-29 08:56:49,653.653 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:56:49,776.776 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:56:49,840.840 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:56:49,972.972 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:56:50,022.022 INFO    ] time= 29/08/2026 08:56:49
[2026-08-29 08:56:50,063.063 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:56:50,073.073 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:56:50,146.146 INFO    ] No existing commands found in stream
[2026-08-29 08:56:55,154.154 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:56:55,157.157 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-08-29 08:56:56,696.696 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:56:56,697.697 INFO    ] Checking for system updates...
[2026-08-29 08:56:56,718.718 INFO    ] 200
[2026-08-29 08:56:56,720.720 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:56:56,750.750 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:56:56,751.751 INFO    ] No update needed
[2026-08-29 08:56:56,752.752 INFO    ] Checking for camera pi updates...
[2026-08-29 08:56:56,771.771 INFO    ] 200
[2026-08-29 08:56:56,773.773 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:56:56,796.796 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:56:56,947.947 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:56:56,948.948 INFO    ] No camera update needed
[2026-08-29 08:56:56,950.950 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:56:56,951.951 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:56:56,954.954 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:56:56,956.956 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:56:59,995.995 INFO    ] ================================================
[2026-08-29 08:56:59,010.010 INFO    ] Launching Daemon at Sat Aug 29 08:56:59 IST 2026
[2026-08-29 08:56:59,021.021 INFO    ] ================================================
[2026-08-29 08:56:59,383.383 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:56:59
[2026-08-29 08:56:59,971.971 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:57:00,240.240 INFO    ] Initializing speech engine...
[2026-08-29 08:57:00,247.247 INFO    ] 2026-08-29 08:57:00
[2026-08-29 08:57:00,495.495 INFO    ] 2026-08-29 08:57:00
[2026-08-29 08:57:00,529.529 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:57:00,700.700 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:57:00,713.713 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:57:00,854.854 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:57:00,861.861 INFO    ] time= 29/08/2026 08:57:00
[2026-08-29 08:57:00,868.868 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:57:00,898.898 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:57:01,029.029 INFO    ] No existing commands found in stream
[2026-08-29 08:57:06,059.059 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:57:06,062.062 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-08-29 08:57:09,385.385 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:57:09,386.386 INFO    ] Checking for system updates...
[2026-08-29 08:57:09,408.408 INFO    ] 200
[2026-08-29 08:57:09,409.409 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:57:09,440.440 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:57:09,441.441 INFO    ] No update needed
[2026-08-29 08:57:09,442.442 INFO    ] Checking for camera pi updates...
[2026-08-29 08:57:09,464.464 INFO    ] 200
[2026-08-29 08:57:09,465.465 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:57:09,490.490 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:57:09,592.592 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:57:09,594.594 INFO    ] No camera update needed
[2026-08-29 08:57:09,595.595 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:57:09,596.596 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:57:09,599.599 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:57:09,602.602 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:57:11,640.640 INFO    ] ================================================
[2026-08-29 08:57:11,655.655 INFO    ] Launching Daemon at Sat Aug 29 08:57:11 IST 2026
[2026-08-29 08:57:11,667.667 INFO    ] ================================================
[2026-08-29 08:57:12,025.025 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:57:12
[2026-08-29 08:57:12,362.362 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:57:12,501.501 INFO    ] Initializing speech engine...
[2026-08-29 08:57:12,509.509 INFO    ] 2026-08-29 08:57:12
[2026-08-29 08:57:12,724.724 INFO    ] 2026-08-29 08:57:12
[2026-08-29 08:57:12,754.754 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:57:12,876.876 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:57:12,940.940 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:57:13,075.075 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:57:13,144.144 INFO    ] time= 29/08/2026 08:57:13
[2026-08-29 08:57:13,169.169 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:57:13,176.176 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:57:13,304.304 INFO    ] No existing commands found in stream
[2026-08-29 08:57:18,314.314 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:57:18,317.317 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-08-29 08:57:20,403.403 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:57:20,404.404 INFO    ] Checking for system updates...
[2026-08-29 08:57:20,426.426 INFO    ] 200
[2026-08-29 08:57:20,427.427 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:57:20,457.457 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:57:20,459.459 INFO    ] No update needed
[2026-08-29 08:57:20,460.460 INFO    ] Checking for camera pi updates...
[2026-08-29 08:57:20,479.479 INFO    ] 200
[2026-08-29 08:57:20,480.480 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:57:20,503.503 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:57:20,612.612 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:57:20,614.614 INFO    ] No camera update needed
[2026-08-29 08:57:20,615.615 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:57:20,616.616 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:57:20,619.619 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:57:20,622.622 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:57:22,660.660 INFO    ] ================================================
[2026-08-29 08:57:22,676.676 INFO    ] Launching Daemon at Sat Aug 29 08:57:22 IST 2026
[2026-08-29 08:57:22,686.686 INFO    ] ================================================
[2026-08-29 08:57:23,046.046 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:57:23
[2026-08-29 08:57:23,359.359 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:57:23,490.490 INFO    ] Initializing speech engine...
[2026-08-29 08:57:23,494.494 INFO    ] 2026-08-29 08:57:23
[2026-08-29 08:57:23,701.701 INFO    ] 2026-08-29 08:57:23
[2026-08-29 08:57:23,736.736 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:57:23,961.961 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:57:23,970.970 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:57:24,108.108 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:57:24,129.129 INFO    ] time= 29/08/2026 08:57:24
[2026-08-29 08:57:24,179.179 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:57:24,244.244 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:57:24,296.296 INFO    ] No existing commands found in stream
[2026-08-29 08:57:29,307.307 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:57:29,310.310 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 08:57:32,006.006 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:57:32,009.009 INFO    ] Checking for system updates...
[2026-08-29 08:57:32,047.047 INFO    ] 200
[2026-08-29 08:57:32,050.050 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:57:32,111.111 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:57:32,114.114 INFO    ] No update needed
[2026-08-29 08:57:32,117.117 INFO    ] Checking for camera pi updates...
[2026-08-29 08:57:32,156.156 INFO    ] 200
[2026-08-29 08:57:32,159.159 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:57:32,210.210 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:57:32,329.329 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:57:32,331.331 INFO    ] No camera update needed
[2026-08-29 08:57:32,334.334 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:57:32,336.336 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:57:32,342.342 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:57:32,348.348 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:57:34,388.388 INFO    ] ================================================
[2026-08-29 08:57:34,404.404 INFO    ] Launching Daemon at Sat Aug 29 08:57:34 IST 2026
[2026-08-29 08:57:34,415.415 INFO    ] ================================================
[2026-08-29 08:57:34,961.961 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:57:34
[2026-08-29 08:57:35,295.295 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:57:35,446.446 INFO    ] Initializing speech engine...
[2026-08-29 08:57:35,452.452 INFO    ] 2026-08-29 08:57:35
[2026-08-29 08:57:35,661.661 INFO    ] 2026-08-29 08:57:35
[2026-08-29 08:57:35,690.690 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:57:35,818.818 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:57:35,876.876 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:57:36,008.008 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:57:36,054.054 INFO    ] time= 29/08/2026 08:57:36
[2026-08-29 08:57:36,099.099 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:57:36,110.110 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:57:36,183.183 INFO    ] No existing commands found in stream
[2026-08-29 08:57:41,197.197 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:57:41,200.200 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-08-29 08:57:45,279.279 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:57:45,281.281 INFO    ] Checking for system updates...
[2026-08-29 08:57:45,303.303 INFO    ] 200
[2026-08-29 08:57:45,305.305 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:57:45,339.339 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:57:45,341.341 INFO    ] No update needed
[2026-08-29 08:57:45,342.342 INFO    ] Checking for camera pi updates...
[2026-08-29 08:57:45,363.363 INFO    ] 200
[2026-08-29 08:57:45,364.364 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:57:45,387.387 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:57:45,466.466 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:57:45,468.468 INFO    ] No camera update needed
[2026-08-29 08:57:45,469.469 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:57:45,470.470 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:57:45,474.474 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:57:45,477.477 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:57:47,515.515 INFO    ] ================================================
[2026-08-29 08:57:47,530.530 INFO    ] Launching Daemon at Sat Aug 29 08:57:47 IST 2026
[2026-08-29 08:57:47,541.541 INFO    ] ================================================
[2026-08-29 08:57:48,020.020 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:57:48
[2026-08-29 08:57:48,605.605 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:57:48,856.856 INFO    ] Initializing speech engine...
[2026-08-29 08:57:48,864.864 INFO    ] 2026-08-29 08:57:48
[2026-08-29 08:57:49,153.153 INFO    ] 2026-08-29 08:57:49
[2026-08-29 08:57:49,192.192 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:57:49,385.385 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:57:49,400.400 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:57:49,520.520 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:57:49,527.527 INFO    ] time= 29/08/2026 08:57:49
[2026-08-29 08:57:49,547.547 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:57:49,568.568 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:57:49,650.650 INFO    ] No existing commands found in stream
[2026-08-29 08:57:54,662.662 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:57:54,665.665 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-08-29 08:57:58,866.866 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 08:57:58,867.867 INFO    ] Checking for system updates...
[2026-08-29 08:57:58,889.889 INFO    ] 200
[2026-08-29 08:57:58,890.890 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:57:58,922.922 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:57:58,923.923 INFO    ] No update needed
[2026-08-29 08:57:58,924.924 INFO    ] Checking for camera pi updates...
[2026-08-29 08:57:58,943.943 INFO    ] 200
[2026-08-29 08:57:58,945.945 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:57:58,967.967 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:57:59,059.059 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:57:59,060.060 INFO    ] No camera update needed
[2026-08-29 08:57:59,061.061 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:57:59,062.062 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:57:59,065.065 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:57:59,068.068 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:58:01,106.106 INFO    ] ================================================
[2026-08-29 08:58:01,122.122 INFO    ] Launching Daemon at Sat Aug 29 08:58:01 IST 2026
[2026-08-29 08:58:01,133.133 INFO    ] ================================================
[2026-08-29 08:58:01,697.697 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:58:01
[2026-08-29 08:58:02,356.356 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:58:02,662.662 INFO    ] Initializing speech engine...
[2026-08-29 08:58:02,679.679 INFO    ] 2026-08-29 08:58:02
[2026-08-29 08:58:03,023.023 INFO    ] 2026-08-29 08:58:03
[2026-08-29 08:58:03,099.099 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:58:03,251.251 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:58:03,264.264 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:58:03,404.404 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:58:03,412.412 INFO    ] time= 29/08/2026 08:58:03
[2026-08-29 08:58:03,416.416 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:58:03,423.423 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:58:03,485.485 INFO    ] No existing commands found in stream
[2026-08-29 08:58:08,498.498 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:58:08,501.501 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-08-29 08:58:09,870.870 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 08:58:09,871.871 INFO    ] Checking for system updates...
[2026-08-29 08:58:09,892.892 INFO    ] 200
[2026-08-29 08:58:09,894.894 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:58:09,924.924 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:58:09,925.925 INFO    ] No update needed
[2026-08-29 08:58:09,926.926 INFO    ] Checking for camera pi updates...
[2026-08-29 08:58:09,945.945 INFO    ] 200
[2026-08-29 08:58:09,946.946 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:58:09,969.969 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:58:10,066.066 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:58:10,068.068 INFO    ] No camera update needed
[2026-08-29 08:58:10,069.069 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:58:10,070.070 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:58:10,073.073 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:58:10,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:58:12,116.116 INFO    ] ================================================
[2026-08-29 08:58:12,132.132 INFO    ] Launching Daemon at Sat Aug 29 08:58:12 IST 2026
[2026-08-29 08:58:12,143.143 INFO    ] ================================================
[2026-08-29 08:58:12,503.503 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:58:12
[2026-08-29 08:58:12,820.820 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:58:12,953.953 INFO    ] Initializing speech engine...
[2026-08-29 08:58:12,958.958 INFO    ] 2026-08-29 08:58:12
[2026-08-29 08:58:13,186.186 INFO    ] 2026-08-29 08:58:13
[2026-08-29 08:58:13,216.216 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:58:13,348.348 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:58:13,396.396 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:58:13,554.554 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:58:13,581.581 INFO    ] time= 29/08/2026 08:58:13
[2026-08-29 08:58:13,636.636 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:58:13,661.661 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:58:13,737.737 INFO    ] No existing commands found in stream
[2026-08-29 08:58:18,748.748 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:58:18,750.750 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-08-29 08:58:20,600.600 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:58:20,601.601 INFO    ] Checking for system updates...
[2026-08-29 08:58:20,622.622 INFO    ] 200
[2026-08-29 08:58:20,623.623 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:58:20,653.653 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:58:20,654.654 INFO    ] No update needed
[2026-08-29 08:58:20,656.656 INFO    ] Checking for camera pi updates...
[2026-08-29 08:58:20,677.677 INFO    ] 200
[2026-08-29 08:58:20,678.678 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:58:20,701.701 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:58:20,791.791 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:58:20,793.793 INFO    ] No camera update needed
[2026-08-29 08:58:20,794.794 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:58:20,795.795 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:58:20,798.798 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:58:20,801.801 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:58:22,839.839 INFO    ] ================================================
[2026-08-29 08:58:22,855.855 INFO    ] Launching Daemon at Sat Aug 29 08:58:22 IST 2026
[2026-08-29 08:58:22,866.866 INFO    ] ================================================
[2026-08-29 08:58:23,213.213 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:58:23
[2026-08-29 08:58:23,546.546 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:58:23,697.697 INFO    ] Initializing speech engine...
[2026-08-29 08:58:23,702.702 INFO    ] 2026-08-29 08:58:23
[2026-08-29 08:58:23,912.912 INFO    ] 2026-08-29 08:58:23
[2026-08-29 08:58:23,941.941 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:58:24,065.065 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:58:24,119.119 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:58:24,284.284 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:58:24,332.332 INFO    ] time= 29/08/2026 08:58:24
[2026-08-29 08:58:24,392.392 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:58:24,420.420 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:58:24,551.551 INFO    ] No existing commands found in stream
[2026-08-29 08:58:29,568.568 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:58:29,571.571 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-08-29 08:58:31,285.285 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 08:58:31,287.287 INFO    ] Checking for system updates...
[2026-08-29 08:58:31,308.308 INFO    ] 200
[2026-08-29 08:58:31,309.309 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:58:31,342.342 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:58:31,344.344 INFO    ] No update needed
[2026-08-29 08:58:31,345.345 INFO    ] Checking for camera pi updates...
[2026-08-29 08:58:31,364.364 INFO    ] 200
[2026-08-29 08:58:31,365.365 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:58:31,388.388 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:58:31,467.467 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:58:31,469.469 INFO    ] No camera update needed
[2026-08-29 08:58:31,471.471 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:58:31,473.473 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:58:31,477.477 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:58:31,481.481 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:58:33,522.522 INFO    ] ================================================
[2026-08-29 08:58:33,537.537 INFO    ] Launching Daemon at Sat Aug 29 08:58:33 IST 2026
[2026-08-29 08:58:33,548.548 INFO    ] ================================================
[2026-08-29 08:58:34,128.128 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:58:34
[2026-08-29 08:58:34,588.588 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:58:34,730.730 INFO    ] Initializing speech engine...
[2026-08-29 08:58:34,737.737 INFO    ] 2026-08-29 08:58:34
[2026-08-29 08:58:34,955.955 INFO    ] 2026-08-29 08:58:34
[2026-08-29 08:58:34,985.985 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:58:35,124.124 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:58:35,135.135 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:58:35,298.298 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:58:35,327.327 INFO    ] time= 29/08/2026 08:58:35
[2026-08-29 08:58:35,362.362 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:58:35,368.368 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:58:35,463.463 INFO    ] No existing commands found in stream
[2026-08-29 08:58:40,494.494 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:58:40,497.497 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-08-29 08:58:43,144.144 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:58:43,145.145 INFO    ] Checking for system updates...
[2026-08-29 08:58:43,166.166 INFO    ] 200
[2026-08-29 08:58:43,167.167 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:58:43,202.202 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:58:43,205.205 INFO    ] No update needed
[2026-08-29 08:58:43,207.207 INFO    ] Checking for camera pi updates...
[2026-08-29 08:58:43,243.243 INFO    ] 200
[2026-08-29 08:58:43,246.246 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:58:43,286.286 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:58:43,373.373 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:58:43,375.375 INFO    ] No camera update needed
[2026-08-29 08:58:43,378.378 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:58:43,380.380 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:58:43,385.385 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:58:43,390.390 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:58:45,429.429 INFO    ] ================================================
[2026-08-29 08:58:45,445.445 INFO    ] Launching Daemon at Sat Aug 29 08:58:45 IST 2026
[2026-08-29 08:58:45,456.456 INFO    ] ================================================
[2026-08-29 08:58:46,028.028 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:58:46
[2026-08-29 08:58:46,482.482 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:58:46,614.614 INFO    ] Initializing speech engine...
[2026-08-29 08:58:46,619.619 INFO    ] 2026-08-29 08:58:46
[2026-08-29 08:58:46,884.884 INFO    ] 2026-08-29 08:58:46
[2026-08-29 08:58:46,919.919 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:58:47,098.098 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:58:47,111.111 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:58:47,255.255 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:58:47,263.263 INFO    ] time= 29/08/2026 08:58:47
[2026-08-29 08:58:47,271.271 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:58:47,316.316 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:58:47,433.433 INFO    ] No existing commands found in stream
[2026-08-29 08:58:52,463.463 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:58:52,466.466 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-08-29 08:58:54,566.566 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:58:54,568.568 INFO    ] Checking for system updates...
[2026-08-29 08:58:54,589.589 INFO    ] 200
[2026-08-29 08:58:54,590.590 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:58:54,622.622 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:58:54,623.623 INFO    ] No update needed
[2026-08-29 08:58:54,625.625 INFO    ] Checking for camera pi updates...
[2026-08-29 08:58:54,646.646 INFO    ] 200
[2026-08-29 08:58:54,648.648 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:58:54,670.670 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:58:54,771.771 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:58:54,773.773 INFO    ] No camera update needed
[2026-08-29 08:58:54,774.774 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:58:54,775.775 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:58:54,778.778 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:58:54,781.781 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:58:56,821.821 INFO    ] ================================================
[2026-08-29 08:58:56,836.836 INFO    ] Launching Daemon at Sat Aug 29 08:58:56 IST 2026
[2026-08-29 08:58:56,847.847 INFO    ] ================================================
[2026-08-29 08:58:57,312.312 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:58:57
[2026-08-29 08:58:57,901.901 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:58:58,172.172 INFO    ] Initializing speech engine...
[2026-08-29 08:58:58,181.181 INFO    ] 2026-08-29 08:58:58
[2026-08-29 08:58:58,434.434 INFO    ] 2026-08-29 08:58:58
[2026-08-29 08:58:58,470.470 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:58:58,668.668 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:58:58,696.696 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:58:58,874.874 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:58:58,901.901 INFO    ] time= 29/08/2026 08:58:58
[2026-08-29 08:58:58,965.965 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:58:59,012.012 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:58:59,074.074 INFO    ] No existing commands found in stream
[2026-08-29 08:59:04,094.094 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:59:04,096.096 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-08-29 08:59:04,439.439 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:59:04,440.440 INFO    ] Checking for system updates...
[2026-08-29 08:59:04,461.461 INFO    ] 200
[2026-08-29 08:59:04,462.462 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:59:04,492.492 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:59:04,493.493 INFO    ] No update needed
[2026-08-29 08:59:04,494.494 INFO    ] Checking for camera pi updates...
[2026-08-29 08:59:04,516.516 INFO    ] 200
[2026-08-29 08:59:04,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:59:04,540.540 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:59:04,625.625 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:59:04,626.626 INFO    ] No camera update needed
[2026-08-29 08:59:04,627.627 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:59:04,628.628 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:59:04,631.631 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:59:04,634.634 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:59:06,674.674 INFO    ] ================================================
[2026-08-29 08:59:06,690.690 INFO    ] Launching Daemon at Sat Aug 29 08:59:06 IST 2026
[2026-08-29 08:59:06,701.701 INFO    ] ================================================
[2026-08-29 08:59:07,256.256 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:59:07
[2026-08-29 08:59:07,842.842 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:59:08,110.110 INFO    ] Initializing speech engine...
[2026-08-29 08:59:08,122.122 INFO    ] 2026-08-29 08:59:08
[2026-08-29 08:59:08,373.373 INFO    ] 2026-08-29 08:59:08
[2026-08-29 08:59:08,408.408 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:59:08,585.585 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:59:08,596.596 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:59:08,739.739 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:59:08,749.749 INFO    ] time= 29/08/2026 08:59:08
[2026-08-29 08:59:08,753.753 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:59:08,759.759 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:59:08,827.827 INFO    ] No existing commands found in stream
[2026-08-29 08:59:13,862.862 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:59:13,865.865 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-08-29 08:59:16,668.668 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:59:16,671.671 INFO    ] Checking for system updates...
[2026-08-29 08:59:16,714.714 INFO    ] 200
[2026-08-29 08:59:16,722.722 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:59:16,781.781 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:59:16,783.783 INFO    ] No update needed
[2026-08-29 08:59:16,786.786 INFO    ] Checking for camera pi updates...
[2026-08-29 08:59:16,820.820 INFO    ] 200
[2026-08-29 08:59:16,823.823 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:59:16,863.863 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:59:16,982.982 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:59:16,985.985 INFO    ] No camera update needed
[2026-08-29 08:59:16,987.987 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:59:16,990.990 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:59:16,995.995 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:59:17,000.000 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:59:19,042.042 INFO    ] ================================================
[2026-08-29 08:59:19,057.057 INFO    ] Launching Daemon at Sat Aug 29 08:59:19 IST 2026
[2026-08-29 08:59:19,068.068 INFO    ] ================================================
[2026-08-29 08:59:19,597.597 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:59:19
[2026-08-29 08:59:20,190.190 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:59:20,462.462 INFO    ] Initializing speech engine...
[2026-08-29 08:59:20,477.477 INFO    ] 2026-08-29 08:59:20
[2026-08-29 08:59:20,749.749 INFO    ] 2026-08-29 08:59:20
[2026-08-29 08:59:20,787.787 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:59:20,970.970 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:59:21,006.006 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:59:21,132.132 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:59:21,136.136 INFO    ] time= 29/08/2026 08:59:21
[2026-08-29 08:59:21,141.141 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:59:21,164.164 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:59:21,220.220 INFO    ] No existing commands found in stream
[2026-08-29 08:59:26,233.233 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:59:26,235.235 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-08-29 08:59:28,528.528 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 08:59:28,529.529 INFO    ] Checking for system updates...
[2026-08-29 08:59:28,550.550 INFO    ] 200
[2026-08-29 08:59:28,551.551 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:59:28,581.581 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:59:28,582.582 INFO    ] No update needed
[2026-08-29 08:59:28,584.584 INFO    ] Checking for camera pi updates...
[2026-08-29 08:59:28,603.603 INFO    ] 200
[2026-08-29 08:59:28,604.604 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:59:28,628.628 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:59:28,721.721 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:59:28,723.723 INFO    ] No camera update needed
[2026-08-29 08:59:28,726.726 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:59:28,728.728 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:59:28,733.733 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:59:28,738.738 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:59:30,780.780 INFO    ] ================================================
[2026-08-29 08:59:30,795.795 INFO    ] Launching Daemon at Sat Aug 29 08:59:30 IST 2026
[2026-08-29 08:59:30,806.806 INFO    ] ================================================
[2026-08-29 08:59:31,394.394 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:59:31
[2026-08-29 08:59:31,944.944 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:59:32,219.219 INFO    ] Initializing speech engine...
[2026-08-29 08:59:32,233.233 INFO    ] 2026-08-29 08:59:32
[2026-08-29 08:59:32,499.499 INFO    ] 2026-08-29 08:59:32
[2026-08-29 08:59:32,537.537 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:59:32,691.691 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:59:32,699.699 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:59:32,848.848 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:59:32,860.860 INFO    ] time= 29/08/2026 08:59:32
[2026-08-29 08:59:32,865.865 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:59:32,887.887 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:59:32,939.939 INFO    ] No existing commands found in stream
[2026-08-29 08:59:37,952.952 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:59:37,955.955 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-08-29 08:59:40,590.590 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 08:59:40,593.593 INFO    ] Checking for system updates...
[2026-08-29 08:59:40,633.633 INFO    ] 200
[2026-08-29 08:59:40,635.635 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:59:40,687.687 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:59:40,689.689 INFO    ] No update needed
[2026-08-29 08:59:40,692.692 INFO    ] Checking for camera pi updates...
[2026-08-29 08:59:40,725.725 INFO    ] 200
[2026-08-29 08:59:40,728.728 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:59:40,768.768 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:59:40,867.867 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 08:59:40,869.869 INFO    ] No camera update needed
[2026-08-29 08:59:40,871.871 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:59:40,874.874 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:59:40,879.879 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:59:40,884.884 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:59:42,924.924 INFO    ] ================================================
[2026-08-29 08:59:42,939.939 INFO    ] Launching Daemon at Sat Aug 29 08:59:42 IST 2026
[2026-08-29 08:59:42,950.950 INFO    ] ================================================
[2026-08-29 08:59:43,326.326 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:59:43
[2026-08-29 08:59:43,661.661 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:59:43,814.814 INFO    ] Initializing speech engine...
[2026-08-29 08:59:43,818.818 INFO    ] 2026-08-29 08:59:43
[2026-08-29 08:59:44,042.042 INFO    ] 2026-08-29 08:59:44
[2026-08-29 08:59:44,123.123 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:59:44,279.279 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:59:44,284.284 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:59:44,418.418 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:59:44,483.483 INFO    ] time= 29/08/2026 08:59:44
[2026-08-29 08:59:44,543.543 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:59:44,553.553 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:59:44,679.679 INFO    ] No existing commands found in stream
[2026-08-29 08:59:49,707.707 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 08:59:49,710.710 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-08-29 08:59:53,300.300 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 08:59:53,302.302 INFO    ] Checking for system updates...
[2026-08-29 08:59:53,323.323 INFO    ] 200
[2026-08-29 08:59:53,324.324 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:59:53,356.356 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:59:53,357.357 INFO    ] No update needed
[2026-08-29 08:59:53,359.359 INFO    ] Checking for camera pi updates...
[2026-08-29 08:59:53,382.382 INFO    ] 200
[2026-08-29 08:59:53,383.383 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 08:59:53,409.409 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 08:59:53,505.505 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 08:59:53,507.507 INFO    ] No camera update needed
[2026-08-29 08:59:53,508.508 INFO    ] Script finished. Safe exiting...
[2026-08-29 08:59:53,509.509 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 08:59:53,513.513 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 08:59:53,516.516 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 08:59:55,555.555 INFO    ] ================================================
[2026-08-29 08:59:55,570.570 INFO    ] Launching Daemon at Sat Aug 29 08:59:55 IST 2026
[2026-08-29 08:59:55,580.580 INFO    ] ================================================
[2026-08-29 08:59:55,910.910 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 08:59:55
[2026-08-29 08:59:56,228.228 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 08:59:56,372.372 INFO    ] Initializing speech engine...
[2026-08-29 08:59:56,377.377 INFO    ] 2026-08-29 08:59:56
[2026-08-29 08:59:56,620.620 INFO    ] 2026-08-29 08:59:56
[2026-08-29 08:59:56,679.679 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 08:59:56,843.843 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 08:59:56,851.851 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 08:59:57,053.053 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 08:59:57,060.060 INFO    ] time= 29/08/2026 08:59:57
[2026-08-29 08:59:57,078.078 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 08:59:57,090.090 INFO    ] Checking for existing commands in stream...
[2026-08-29 08:59:57,214.214 INFO    ] No existing commands found in stream
[2026-08-29 09:00:02,230.230 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:00:02,234.234 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-08-29 09:00:06,353.353 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:00:06,356.356 INFO    ] Checking for system updates...
[2026-08-29 09:00:06,397.397 INFO    ] 200
[2026-08-29 09:00:06,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:00:06,454.454 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:00:06,456.456 INFO    ] No update needed
[2026-08-29 09:00:06,459.459 INFO    ] Checking for camera pi updates...
[2026-08-29 09:00:06,497.497 INFO    ] 200
[2026-08-29 09:00:06,500.500 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:00:06,545.545 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:00:07,045.045 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:00:07,048.048 INFO    ] No camera update needed
[2026-08-29 09:00:07,051.051 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:00:07,053.053 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:00:07,059.059 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:00:07,065.065 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:00:09,106.106 INFO    ] ================================================
[2026-08-29 09:00:09,122.122 INFO    ] Launching Daemon at Sat Aug 29 09:00:09 IST 2026
[2026-08-29 09:00:09,132.132 INFO    ] ================================================
[2026-08-29 09:00:09,707.707 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:00:09
[2026-08-29 09:00:10,299.299 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:00:10,605.605 INFO    ] Initializing speech engine...
[2026-08-29 09:00:10,616.616 INFO    ] 2026-08-29 09:00:10
[2026-08-29 09:00:10,927.927 INFO    ] 2026-08-29 09:00:10
[2026-08-29 09:00:11,017.017 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:00:11,179.179 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:00:11,185.185 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:00:11,320.320 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:00:11,368.368 INFO    ] time= 29/08/2026 09:00:11
[2026-08-29 09:00:11,418.418 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:00:11,461.461 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:00:11,522.522 INFO    ] No existing commands found in stream
[2026-08-29 09:00:16,548.548 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:00:16,552.552 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-08-29 09:00:17,079.079 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:00:17,080.080 INFO    ] Checking for system updates...
[2026-08-29 09:00:17,101.101 INFO    ] 200
[2026-08-29 09:00:17,102.102 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:00:17,133.133 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:00:17,135.135 INFO    ] No update needed
[2026-08-29 09:00:17,136.136 INFO    ] Checking for camera pi updates...
[2026-08-29 09:00:17,156.156 INFO    ] 200
[2026-08-29 09:00:17,157.157 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:00:17,182.182 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:00:17,262.262 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:00:17,264.264 INFO    ] No camera update needed
[2026-08-29 09:00:17,265.265 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:00:17,266.266 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:00:17,269.269 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:00:17,272.272 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:00:19,311.311 INFO    ] ================================================
[2026-08-29 09:00:19,326.326 INFO    ] Launching Daemon at Sat Aug 29 09:00:19 IST 2026
[2026-08-29 09:00:19,337.337 INFO    ] ================================================
[2026-08-29 09:00:19,680.680 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:00:19
[2026-08-29 09:00:20,018.018 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:00:20,168.168 INFO    ] Initializing speech engine...
[2026-08-29 09:00:20,174.174 INFO    ] 2026-08-29 09:00:20
[2026-08-29 09:00:20,417.417 INFO    ] 2026-08-29 09:00:20
[2026-08-29 09:00:20,473.473 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:00:20,639.639 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:00:20,645.645 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:00:20,827.827 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:00:20,848.848 INFO    ] time= 29/08/2026 09:00:20
[2026-08-29 09:00:20,864.864 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:00:20,879.879 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:00:21,001.001 INFO    ] No existing commands found in stream
[2026-08-29 09:00:26,023.023 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:00:26,026.026 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-08-29 09:00:27,462.462 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:00:27,464.464 INFO    ] Checking for system updates...
[2026-08-29 09:00:27,484.484 INFO    ] 200
[2026-08-29 09:00:27,486.486 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:00:27,515.515 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:00:27,517.517 INFO    ] No update needed
[2026-08-29 09:00:27,518.518 INFO    ] Checking for camera pi updates...
[2026-08-29 09:00:27,537.537 INFO    ] 200
[2026-08-29 09:00:27,538.538 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:00:27,561.561 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:00:27,659.659 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:00:27,661.661 INFO    ] No camera update needed
[2026-08-29 09:00:27,662.662 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:00:27,663.663 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:00:27,666.666 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:00:27,669.669 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:00:29,708.708 INFO    ] ================================================
[2026-08-29 09:00:29,723.723 INFO    ] Launching Daemon at Sat Aug 29 09:00:29 IST 2026
[2026-08-29 09:00:29,733.733 INFO    ] ================================================
[2026-08-29 09:00:30,091.091 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:00:30
[2026-08-29 09:00:30,405.405 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:00:30,537.537 INFO    ] Initializing speech engine...
[2026-08-29 09:00:30,541.541 INFO    ] 2026-08-29 09:00:30
[2026-08-29 09:00:30,760.760 INFO    ] 2026-08-29 09:00:30
[2026-08-29 09:00:30,789.789 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:00:30,912.912 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:00:30,951.951 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:00:31,115.115 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:00:31,167.167 INFO    ] time= 29/08/2026 09:00:31
[2026-08-29 09:00:31,207.207 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:00:31,213.213 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:00:31,284.284 INFO    ] No existing commands found in stream
[2026-08-29 09:00:36,295.295 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:00:36,298.298 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 09:00:36,911.911 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:00:36,913.913 INFO    ] Checking for system updates...
[2026-08-29 09:00:36,950.950 INFO    ] 200
[2026-08-29 09:00:36,953.953 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:00:37,019.019 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:00:37,022.022 INFO    ] No update needed
[2026-08-29 09:00:37,025.025 INFO    ] Checking for camera pi updates...
[2026-08-29 09:00:37,071.071 INFO    ] 200
[2026-08-29 09:00:37,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:00:37,145.145 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:00:37,239.239 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:00:37,242.242 INFO    ] No camera update needed
[2026-08-29 09:00:37,245.245 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:00:37,247.247 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:00:37,254.254 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:00:37,259.259 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:00:39,301.301 INFO    ] ================================================
[2026-08-29 09:00:39,317.317 INFO    ] Launching Daemon at Sat Aug 29 09:00:39 IST 2026
[2026-08-29 09:00:39,328.328 INFO    ] ================================================
[2026-08-29 09:00:39,696.696 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:00:39
[2026-08-29 09:00:40,012.012 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:00:40,205.205 INFO    ] Initializing speech engine...
[2026-08-29 09:00:40,210.210 INFO    ] 2026-08-29 09:00:40
[2026-08-29 09:00:40,473.473 INFO    ] 2026-08-29 09:00:40
[2026-08-29 09:00:40,526.526 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:00:40,692.692 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:00:40,749.749 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:00:40,888.888 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:00:40,909.909 INFO    ] time= 29/08/2026 09:00:40
[2026-08-29 09:00:40,959.959 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:00:41,008.008 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:00:41,071.071 INFO    ] No existing commands found in stream
[2026-08-29 09:00:46,084.084 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:00:46,086.086 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-08-29 09:00:46,923.923 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:00:46,925.925 INFO    ] Checking for system updates...
[2026-08-29 09:00:46,946.946 INFO    ] 200
[2026-08-29 09:00:46,948.948 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:00:46,980.980 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:00:46,981.981 INFO    ] No update needed
[2026-08-29 09:00:46,983.983 INFO    ] Checking for camera pi updates...
[2026-08-29 09:00:47,002.002 INFO    ] 200
[2026-08-29 09:00:47,003.003 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:00:47,026.026 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:00:47,185.185 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:00:47,188.188 INFO    ] No camera update needed
[2026-08-29 09:00:47,194.194 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:00:47,196.196 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:00:47,202.202 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:00:47,208.208 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:00:49,248.248 INFO    ] ================================================
[2026-08-29 09:00:49,263.263 INFO    ] Launching Daemon at Sat Aug 29 09:00:49 IST 2026
[2026-08-29 09:00:49,274.274 INFO    ] ================================================
[2026-08-29 09:00:49,915.915 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:00:49
[2026-08-29 09:00:50,343.343 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:00:50,483.483 INFO    ] Initializing speech engine...
[2026-08-29 09:00:50,496.496 INFO    ] 2026-08-29 09:00:50
[2026-08-29 09:00:50,724.724 INFO    ] 2026-08-29 09:00:50
[2026-08-29 09:00:50,811.811 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:00:50,964.964 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:00:50,974.974 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:00:51,112.112 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:00:51,162.162 INFO    ] time= 29/08/2026 09:00:51
[2026-08-29 09:00:51,227.227 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:00:51,250.250 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:00:51,374.374 INFO    ] No existing commands found in stream
[2026-08-29 09:00:56,405.405 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:00:56,408.408 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-08-29 09:00:56,969.969 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:00:56,970.970 INFO    ] Checking for system updates...
[2026-08-29 09:00:56,991.991 INFO    ] 200
[2026-08-29 09:00:56,992.992 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:00:57,025.025 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:00:57,026.026 INFO    ] No update needed
[2026-08-29 09:00:57,027.027 INFO    ] Checking for camera pi updates...
[2026-08-29 09:00:57,046.046 INFO    ] 200
[2026-08-29 09:00:57,047.047 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:00:57,077.077 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:00:57,154.154 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:00:57,157.157 INFO    ] No camera update needed
[2026-08-29 09:00:57,160.160 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:00:57,162.162 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:00:57,168.168 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:00:57,174.174 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:00:59,216.216 INFO    ] ================================================
[2026-08-29 09:00:59,231.231 INFO    ] Launching Daemon at Sat Aug 29 09:00:59 IST 2026
[2026-08-29 09:00:59,242.242 INFO    ] ================================================
[2026-08-29 09:00:59,825.825 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:00:59
[2026-08-29 09:01:00,316.316 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:01:00,450.450 INFO    ] Initializing speech engine...
[2026-08-29 09:01:00,464.464 INFO    ] 2026-08-29 09:01:00
[2026-08-29 09:01:00,669.669 INFO    ] 2026-08-29 09:01:00
[2026-08-29 09:01:00,697.697 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:01:00,819.819 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:01:00,882.882 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:01:01,020.020 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:01:01,073.073 INFO    ] time= 29/08/2026 09:01:01
[2026-08-29 09:01:01,107.107 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:01:01,113.113 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:01:01,183.183 INFO    ] No existing commands found in stream
[2026-08-29 09:01:06,193.193 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:01:06,196.196 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 09:01:08,118.118 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:01:08,120.120 INFO    ] Checking for system updates...
[2026-08-29 09:01:08,141.141 INFO    ] 200
[2026-08-29 09:01:08,142.142 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:01:08,174.174 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:01:08,175.175 INFO    ] No update needed
[2026-08-29 09:01:08,176.176 INFO    ] Checking for camera pi updates...
[2026-08-29 09:01:08,197.197 INFO    ] 200
[2026-08-29 09:01:08,198.198 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:01:08,221.221 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:01:08,415.415 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:01:08,416.416 INFO    ] No camera update needed
[2026-08-29 09:01:08,418.418 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:01:08,419.419 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:01:08,422.422 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:01:08,425.425 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:01:10,466.466 INFO    ] ================================================
[2026-08-29 09:01:10,481.481 INFO    ] Launching Daemon at Sat Aug 29 09:01:10 IST 2026
[2026-08-29 09:01:10,492.492 INFO    ] ================================================
[2026-08-29 09:01:10,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:01:10
[2026-08-29 09:01:11,168.168 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:01:11,317.317 INFO    ] Initializing speech engine...
[2026-08-29 09:01:11,322.322 INFO    ] 2026-08-29 09:01:11
[2026-08-29 09:01:11,527.527 INFO    ] 2026-08-29 09:01:11
[2026-08-29 09:01:11,556.556 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:01:11,699.699 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:01:11,705.705 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:01:11,863.863 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:01:11,906.906 INFO    ] time= 29/08/2026 09:01:11
[2026-08-29 09:01:11,913.913 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:01:11,934.934 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:01:12,057.057 INFO    ] No existing commands found in stream
[2026-08-29 09:01:17,073.073 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:01:17,076.076 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-08-29 09:01:18,621.621 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:01:18,623.623 INFO    ] Checking for system updates...
[2026-08-29 09:01:18,644.644 INFO    ] 200
[2026-08-29 09:01:18,646.646 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:01:18,675.675 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:01:18,677.677 INFO    ] No update needed
[2026-08-29 09:01:18,678.678 INFO    ] Checking for camera pi updates...
[2026-08-29 09:01:18,697.697 INFO    ] 200
[2026-08-29 09:01:18,698.698 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:01:18,721.721 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:01:18,798.798 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:01:18,799.799 INFO    ] No camera update needed
[2026-08-29 09:01:18,800.800 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:01:18,801.801 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:01:18,805.805 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:01:18,807.807 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:01:20,846.846 INFO    ] ================================================
[2026-08-29 09:01:20,860.860 INFO    ] Launching Daemon at Sat Aug 29 09:01:20 IST 2026
[2026-08-29 09:01:20,871.871 INFO    ] ================================================
[2026-08-29 09:01:21,411.411 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:01:21
[2026-08-29 09:01:21,996.996 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:01:22,266.266 INFO    ] Initializing speech engine...
[2026-08-29 09:01:22,281.281 INFO    ] 2026-08-29 09:01:22
[2026-08-29 09:01:22,551.551 INFO    ] 2026-08-29 09:01:22
[2026-08-29 09:01:22,588.588 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:01:22,781.781 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:01:22,795.795 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:01:22,916.916 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:01:22,922.922 INFO    ] time= 29/08/2026 09:01:22
[2026-08-29 09:01:22,942.942 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:01:22,964.964 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:01:23,044.044 INFO    ] No existing commands found in stream
[2026-08-29 09:01:28,054.054 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:01:28,057.057 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-08-29 09:01:28,787.787 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:01:28,789.789 INFO    ] Checking for system updates...
[2026-08-29 09:01:28,809.809 INFO    ] 200
[2026-08-29 09:01:28,810.810 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:01:28,840.840 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:01:28,841.841 INFO    ] No update needed
[2026-08-29 09:01:28,843.843 INFO    ] Checking for camera pi updates...
[2026-08-29 09:01:28,862.862 INFO    ] 200
[2026-08-29 09:01:28,864.864 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:01:28,887.887 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:01:28,978.978 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:01:28,981.981 INFO    ] No camera update needed
[2026-08-29 09:01:28,983.983 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:01:28,985.985 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:01:28,990.990 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:01:28,996.996 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:01:31,036.036 INFO    ] ================================================
[2026-08-29 09:01:31,051.051 INFO    ] Launching Daemon at Sat Aug 29 09:01:31 IST 2026
[2026-08-29 09:01:31,061.061 INFO    ] ================================================
[2026-08-29 09:01:31,628.628 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:01:31
[2026-08-29 09:01:32,170.170 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:01:32,435.435 INFO    ] Initializing speech engine...
[2026-08-29 09:01:32,450.450 INFO    ] 2026-08-29 09:01:32
[2026-08-29 09:01:32,739.739 INFO    ] 2026-08-29 09:01:32
[2026-08-29 09:01:32,784.784 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:01:32,958.958 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:01:32,972.972 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:01:33,125.125 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:01:33,135.135 INFO    ] time= 29/08/2026 09:01:33
[2026-08-29 09:01:33,145.145 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:01:33,196.196 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:01:33,307.307 INFO    ] No existing commands found in stream
[2026-08-29 09:01:38,338.338 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:01:38,341.341 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-08-29 09:01:40,491.491 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:01:40,494.494 INFO    ] Checking for system updates...
[2026-08-29 09:01:40,531.531 INFO    ] 200
[2026-08-29 09:01:40,534.534 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:01:40,594.594 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:01:40,597.597 INFO    ] No update needed
[2026-08-29 09:01:40,599.599 INFO    ] Checking for camera pi updates...
[2026-08-29 09:01:40,636.636 INFO    ] 200
[2026-08-29 09:01:40,639.639 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:01:40,685.685 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:01:40,738.738 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:01:40,740.740 INFO    ] No camera update needed
[2026-08-29 09:01:40,743.743 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:01:40,746.746 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:01:40,752.752 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:01:40,757.757 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:01:42,799.799 INFO    ] ================================================
[2026-08-29 09:01:42,814.814 INFO    ] Launching Daemon at Sat Aug 29 09:01:42 IST 2026
[2026-08-29 09:01:42,825.825 INFO    ] ================================================
[2026-08-29 09:01:43,175.175 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:01:43
[2026-08-29 09:01:43,488.488 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:01:43,631.631 INFO    ] Initializing speech engine...
[2026-08-29 09:01:43,636.636 INFO    ] 2026-08-29 09:01:43
[2026-08-29 09:01:43,842.842 INFO    ] 2026-08-29 09:01:43
[2026-08-29 09:01:43,870.870 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:01:44,180.180 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:01:44,249.249 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:01:44,373.373 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:01:44,395.395 INFO    ] time= 29/08/2026 09:01:44
[2026-08-29 09:01:44,402.402 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:01:44,404.404 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:01:44,475.475 INFO    ] No existing commands found in stream
[2026-08-29 09:01:49,485.485 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:01:49,487.487 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-08-29 09:01:51,706.706 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:01:51,708.708 INFO    ] Checking for system updates...
[2026-08-29 09:01:51,729.729 INFO    ] 200
[2026-08-29 09:01:51,731.731 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:01:51,764.764 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:01:51,766.766 INFO    ] No update needed
[2026-08-29 09:01:51,767.767 INFO    ] Checking for camera pi updates...
[2026-08-29 09:01:51,786.786 INFO    ] 200
[2026-08-29 09:01:51,788.788 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:01:51,811.811 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:01:51,905.905 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:01:51,907.907 INFO    ] No camera update needed
[2026-08-29 09:01:51,908.908 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:01:51,910.910 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:01:51,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:01:51,916.916 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:01:53,956.956 INFO    ] ================================================
[2026-08-29 09:01:53,971.971 INFO    ] Launching Daemon at Sat Aug 29 09:01:53 IST 2026
[2026-08-29 09:01:53,981.981 INFO    ] ================================================
[2026-08-29 09:01:54,329.329 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:01:54
[2026-08-29 09:01:54,645.645 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:01:54,788.788 INFO    ] Initializing speech engine...
[2026-08-29 09:01:54,793.793 INFO    ] 2026-08-29 09:01:54
[2026-08-29 09:01:55,047.047 INFO    ] 2026-08-29 09:01:54
[2026-08-29 09:01:55,103.103 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:01:55,271.271 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:01:55,277.277 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:01:55,441.441 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:01:55,479.479 INFO    ] time= 29/08/2026 09:01:55
[2026-08-29 09:01:55,486.486 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:01:55,503.503 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:01:55,605.605 INFO    ] No existing commands found in stream
[2026-08-29 09:02:00,627.627 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:02:00,629.629 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-08-29 09:02:04,412.412 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:02:04,415.415 INFO    ] Checking for system updates...
[2026-08-29 09:02:04,450.450 INFO    ] 200
[2026-08-29 09:02:04,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:02:04,506.506 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:02:04,509.509 INFO    ] No update needed
[2026-08-29 09:02:04,511.511 INFO    ] Checking for camera pi updates...
[2026-08-29 09:02:04,544.544 INFO    ] 200
[2026-08-29 09:02:04,547.547 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:02:04,590.590 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:02:04,682.682 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:02:04,685.685 INFO    ] No camera update needed
[2026-08-29 09:02:04,687.687 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:02:04,689.689 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:02:04,695.695 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:02:04,699.699 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:02:06,741.741 INFO    ] ================================================
[2026-08-29 09:02:06,756.756 INFO    ] Launching Daemon at Sat Aug 29 09:02:06 IST 2026
[2026-08-29 09:02:06,767.767 INFO    ] ================================================
[2026-08-29 09:02:07,458.458 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:02:07
[2026-08-29 09:02:08,118.118 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:02:08,417.417 INFO    ] Initializing speech engine...
[2026-08-29 09:02:08,423.423 INFO    ] 2026-08-29 09:02:08
[2026-08-29 09:02:08,710.710 INFO    ] 2026-08-29 09:02:08
[2026-08-29 09:02:08,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:02:08,975.975 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:02:08,985.985 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:02:09,118.118 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:02:09,167.167 INFO    ] time= 29/08/2026 09:02:09
[2026-08-29 09:02:09,237.237 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:02:09,257.257 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:02:09,310.310 INFO    ] No existing commands found in stream
[2026-08-29 09:02:14,322.322 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:02:14,325.325 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-08-29 09:02:17,869.869 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:02:17,872.872 INFO    ] Checking for system updates...
[2026-08-29 09:02:17,893.893 INFO    ] 200
[2026-08-29 09:02:17,894.894 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:02:17,924.924 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:02:17,926.926 INFO    ] No update needed
[2026-08-29 09:02:17,927.927 INFO    ] Checking for camera pi updates...
[2026-08-29 09:02:17,946.946 INFO    ] 200
[2026-08-29 09:02:17,948.948 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:02:17,970.970 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:02:18,065.065 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:02:18,073.073 INFO    ] No camera update needed
[2026-08-29 09:02:18,075.075 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:02:18,077.077 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:02:18,080.080 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:02:18,083.083 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:02:20,122.122 INFO    ] ================================================
[2026-08-29 09:02:20,137.137 INFO    ] Launching Daemon at Sat Aug 29 09:02:20 IST 2026
[2026-08-29 09:02:20,148.148 INFO    ] ================================================
[2026-08-29 09:02:20,493.493 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:02:20
[2026-08-29 09:02:20,805.805 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:02:20,937.937 INFO    ] Initializing speech engine...
[2026-08-29 09:02:20,941.941 INFO    ] 2026-08-29 09:02:20
[2026-08-29 09:02:21,169.169 INFO    ] 2026-08-29 09:02:21
[2026-08-29 09:02:21,199.199 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:02:21,330.330 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:02:21,383.383 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:02:21,556.556 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:02:21,600.600 INFO    ] time= 29/08/2026 09:02:21
[2026-08-29 09:02:21,631.631 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:02:21,697.697 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:02:21,803.803 INFO    ] No existing commands found in stream
[2026-08-29 09:02:26,817.817 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:02:26,819.819 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-08-29 09:02:27,668.668 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:02:27,669.669 INFO    ] Checking for system updates...
[2026-08-29 09:02:27,689.689 INFO    ] 200
[2026-08-29 09:02:27,691.691 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:02:27,721.721 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:02:27,722.722 INFO    ] No update needed
[2026-08-29 09:02:27,723.723 INFO    ] Checking for camera pi updates...
[2026-08-29 09:02:27,745.745 INFO    ] 200
[2026-08-29 09:02:27,746.746 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:02:27,769.769 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:02:27,849.849 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:02:27,850.850 INFO    ] No camera update needed
[2026-08-29 09:02:27,852.852 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:02:27,853.853 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:02:27,856.856 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:02:27,858.858 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:02:29,897.897 INFO    ] ================================================
[2026-08-29 09:02:29,916.916 INFO    ] Launching Daemon at Sat Aug 29 09:02:29 IST 2026
[2026-08-29 09:02:29,927.927 INFO    ] ================================================
[2026-08-29 09:02:30,310.310 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:02:30
[2026-08-29 09:02:30,643.643 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:02:30,788.788 INFO    ] Initializing speech engine...
[2026-08-29 09:02:30,799.799 INFO    ] 2026-08-29 09:02:30
[2026-08-29 09:02:31,008.008 INFO    ] 2026-08-29 09:02:30
[2026-08-29 09:02:31,037.037 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:02:31,182.182 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:02:31,226.226 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:02:31,361.361 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:02:31,424.424 INFO    ] time= 29/08/2026 09:02:31
[2026-08-29 09:02:31,458.458 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:02:31,464.464 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:02:31,530.530 INFO    ] No existing commands found in stream
[2026-08-29 09:02:36,541.541 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:02:36,545.545 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-08-29 09:02:39,309.309 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:02:39,311.311 INFO    ] Checking for system updates...
[2026-08-29 09:02:39,331.331 INFO    ] 200
[2026-08-29 09:02:39,333.333 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:02:39,363.363 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:02:39,365.365 INFO    ] No update needed
[2026-08-29 09:02:39,366.366 INFO    ] Checking for camera pi updates...
[2026-08-29 09:02:39,386.386 INFO    ] 200
[2026-08-29 09:02:39,387.387 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:02:39,410.410 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:02:39,486.486 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:02:39,487.487 INFO    ] No camera update needed
[2026-08-29 09:02:39,488.488 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:02:39,490.490 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:02:39,493.493 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:02:39,496.496 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:02:41,529.529 INFO    ] ================================================
[2026-08-29 09:02:41,551.551 INFO    ] Launching Daemon at Sat Aug 29 09:02:41 IST 2026
[2026-08-29 09:02:41,563.563 INFO    ] ================================================
[2026-08-29 09:02:42,144.144 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:02:42
[2026-08-29 09:02:42,806.806 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:02:43,125.125 INFO    ] Initializing speech engine...
[2026-08-29 09:02:43,137.137 INFO    ] 2026-08-29 09:02:43
[2026-08-29 09:02:43,419.419 INFO    ] 2026-08-29 09:02:43
[2026-08-29 09:02:43,463.463 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:02:44,727.727 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:02:44,734.734 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:02:45,093.093 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:02:45,119.119 INFO    ] time= 29/08/2026 09:02:45
[2026-08-29 09:02:45,122.122 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:02:45,125.125 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:02:45,194.194 INFO    ] No existing commands found in stream
[2026-08-29 09:02:50,203.203 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:02:50,205.205 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-08-29 09:02:54,331.331 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:02:54,333.333 INFO    ] Checking for system updates...
[2026-08-29 09:02:54,354.354 INFO    ] 200
[2026-08-29 09:02:54,355.355 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:02:54,385.385 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:02:54,387.387 INFO    ] No update needed
[2026-08-29 09:02:54,388.388 INFO    ] Checking for camera pi updates...
[2026-08-29 09:02:54,407.407 INFO    ] 200
[2026-08-29 09:02:54,409.409 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:02:54,432.432 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:02:54,523.523 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:02:54,526.526 INFO    ] No camera update needed
[2026-08-29 09:02:54,528.528 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:02:54,531.531 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:02:54,537.537 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:02:54,542.542 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:02:56,583.583 INFO    ] ================================================
[2026-08-29 09:02:56,598.598 INFO    ] Launching Daemon at Sat Aug 29 09:02:56 IST 2026
[2026-08-29 09:02:56,609.609 INFO    ] ================================================
[2026-08-29 09:02:57,251.251 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:02:57
[2026-08-29 09:02:57,717.717 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:02:58,018.018 INFO    ] Initializing speech engine...
[2026-08-29 09:02:58,031.031 INFO    ] 2026-08-29 09:02:58
[2026-08-29 09:02:58,300.300 INFO    ] 2026-08-29 09:02:58
[2026-08-29 09:02:58,354.354 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:02:58,575.575 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:02:58,585.585 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:02:58,720.720 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:02:58,780.780 INFO    ] time= 29/08/2026 09:02:58
[2026-08-29 09:02:58,835.835 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:02:58,854.854 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:02:58,911.911 INFO    ] No existing commands found in stream
[2026-08-29 09:03:03,938.938 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:03:03,941.941 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-08-29 09:03:04,887.887 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:03:04,889.889 INFO    ] Checking for system updates...
[2026-08-29 09:03:04,910.910 INFO    ] 200
[2026-08-29 09:03:04,911.911 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:03:04,942.942 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:03:04,943.943 INFO    ] No update needed
[2026-08-29 09:03:04,945.945 INFO    ] Checking for camera pi updates...
[2026-08-29 09:03:04,963.963 INFO    ] 200
[2026-08-29 09:03:04,965.965 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:03:04,988.988 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:03:05,076.076 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:03:05,077.077 INFO    ] No camera update needed
[2026-08-29 09:03:05,079.079 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:03:05,080.080 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:03:05,083.083 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:03:05,086.086 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:03:07,124.124 INFO    ] ================================================
[2026-08-29 09:03:07,139.139 INFO    ] Launching Daemon at Sat Aug 29 09:03:07 IST 2026
[2026-08-29 09:03:07,150.150 INFO    ] ================================================
[2026-08-29 09:03:07,523.523 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:03:07
[2026-08-29 09:03:07,855.855 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:03:07,993.993 INFO    ] Initializing speech engine...
[2026-08-29 09:03:08,002.002 INFO    ] 2026-08-29 09:03:07
[2026-08-29 09:03:08,208.208 INFO    ] 2026-08-29 09:03:08
[2026-08-29 09:03:08,246.246 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:03:08,422.422 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:03:08,446.446 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:03:08,580.580 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:03:08,584.584 INFO    ] time= 29/08/2026 09:03:08
[2026-08-29 09:03:08,592.592 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:03:08,653.653 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:03:08,760.760 INFO    ] No existing commands found in stream
[2026-08-29 09:03:13,786.786 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:03:13,789.789 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-08-29 09:03:17,070.070 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:03:17,072.072 INFO    ] Checking for system updates...
[2026-08-29 09:03:17,092.092 INFO    ] 200
[2026-08-29 09:03:17,094.094 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:03:17,124.124 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:03:17,125.125 INFO    ] No update needed
[2026-08-29 09:03:17,126.126 INFO    ] Checking for camera pi updates...
[2026-08-29 09:03:17,145.145 INFO    ] 200
[2026-08-29 09:03:17,147.147 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:03:17,172.172 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:03:17,345.345 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:03:17,346.346 INFO    ] No camera update needed
[2026-08-29 09:03:17,347.347 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:03:17,348.348 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:03:17,351.351 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:03:17,354.354 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:03:19,392.392 INFO    ] ================================================
[2026-08-29 09:03:19,407.407 INFO    ] Launching Daemon at Sat Aug 29 09:03:19 IST 2026
[2026-08-29 09:03:19,418.418 INFO    ] ================================================
[2026-08-29 09:03:19,771.771 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:03:19
[2026-08-29 09:03:20,262.262 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:03:20,534.534 INFO    ] Initializing speech engine...
[2026-08-29 09:03:20,542.542 INFO    ] 2026-08-29 09:03:20
[2026-08-29 09:03:20,796.796 INFO    ] 2026-08-29 09:03:20
[2026-08-29 09:03:20,831.831 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:03:21,008.008 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:03:21,020.020 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:03:21,167.167 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:03:21,175.175 INFO    ] time= 29/08/2026 09:03:21
[2026-08-29 09:03:21,181.181 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:03:21,203.203 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:03:21,324.324 INFO    ] No existing commands found in stream
[2026-08-29 09:03:26,354.354 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:03:26,357.357 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 09:03:30,118.118 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:03:30,120.120 INFO    ] Checking for system updates...
[2026-08-29 09:03:30,143.143 INFO    ] 200
[2026-08-29 09:03:30,144.144 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:03:30,174.174 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:03:30,175.175 INFO    ] No update needed
[2026-08-29 09:03:30,176.176 INFO    ] Checking for camera pi updates...
[2026-08-29 09:03:30,195.195 INFO    ] 200
[2026-08-29 09:03:30,196.196 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:03:30,219.219 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:03:30,316.316 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:03:30,318.318 INFO    ] No camera update needed
[2026-08-29 09:03:30,319.319 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:03:30,320.320 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:03:30,324.324 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:03:30,326.326 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:03:32,365.365 INFO    ] ================================================
[2026-08-29 09:03:32,381.381 INFO    ] Launching Daemon at Sat Aug 29 09:03:32 IST 2026
[2026-08-29 09:03:32,393.393 INFO    ] ================================================
[2026-08-29 09:03:33,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:03:33
[2026-08-29 09:03:33,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:03:33,949.949 INFO    ] Initializing speech engine...
[2026-08-29 09:03:33,958.958 INFO    ] 2026-08-29 09:03:33
[2026-08-29 09:03:34,209.209 INFO    ] 2026-08-29 09:03:34
[2026-08-29 09:03:34,244.244 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:03:34,422.422 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:03:34,436.436 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:03:34,565.565 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:03:34,588.588 INFO    ] time= 29/08/2026 09:03:34
[2026-08-29 09:03:34,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:03:34,601.601 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:03:34,666.666 INFO    ] No existing commands found in stream
[2026-08-29 09:03:39,678.678 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:03:39,681.681 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-08-29 09:03:43,019.019 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:03:43,022.022 INFO    ] Checking for system updates...
[2026-08-29 09:03:43,057.057 INFO    ] 200
[2026-08-29 09:03:43,060.060 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:03:43,112.112 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:03:43,114.114 INFO    ] No update needed
[2026-08-29 09:03:43,117.117 INFO    ] Checking for camera pi updates...
[2026-08-29 09:03:43,150.150 INFO    ] 200
[2026-08-29 09:03:43,153.153 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:03:43,193.193 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:03:43,277.277 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:03:43,279.279 INFO    ] No camera update needed
[2026-08-29 09:03:43,281.281 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:03:43,285.285 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:03:43,290.290 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:03:43,296.296 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:03:45,337.337 INFO    ] ================================================
[2026-08-29 09:03:45,352.352 INFO    ] Launching Daemon at Sat Aug 29 09:03:45 IST 2026
[2026-08-29 09:03:45,362.362 INFO    ] ================================================
[2026-08-29 09:03:46,007.007 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:03:46
[2026-08-29 09:03:46,344.344 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:03:46,501.501 INFO    ] Initializing speech engine...
[2026-08-29 09:03:46,506.506 INFO    ] 2026-08-29 09:03:46
[2026-08-29 09:03:46,710.710 INFO    ] 2026-08-29 09:03:46
[2026-08-29 09:03:46,739.739 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:03:46,872.872 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:03:46,925.925 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:03:47,062.062 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:03:47,121.121 INFO    ] time= 29/08/2026 09:03:47
[2026-08-29 09:03:47,153.153 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:03:47,156.156 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:03:47,226.226 INFO    ] No existing commands found in stream
[2026-08-29 09:03:52,237.237 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:03:52,240.240 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-08-29 09:03:53,025.025 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:03:53,027.027 INFO    ] Checking for system updates...
[2026-08-29 09:03:53,047.047 INFO    ] 200
[2026-08-29 09:03:53,049.049 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:03:53,081.081 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:03:53,083.083 INFO    ] No update needed
[2026-08-29 09:03:53,084.084 INFO    ] Checking for camera pi updates...
[2026-08-29 09:03:53,104.104 INFO    ] 200
[2026-08-29 09:03:53,106.106 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:03:53,129.129 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:03:53,230.230 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:03:53,231.231 INFO    ] No camera update needed
[2026-08-29 09:03:53,232.232 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:03:53,234.234 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:03:53,237.237 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:03:53,240.240 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:03:55,279.279 INFO    ] ================================================
[2026-08-29 09:03:55,295.295 INFO    ] Launching Daemon at Sat Aug 29 09:03:55 IST 2026
[2026-08-29 09:03:55,305.305 INFO    ] ================================================
[2026-08-29 09:03:55,639.639 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:03:55
[2026-08-29 09:03:55,949.949 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:03:56,080.080 INFO    ] Initializing speech engine...
[2026-08-29 09:03:56,084.084 INFO    ] 2026-08-29 09:03:56
[2026-08-29 09:03:56,282.282 INFO    ] 2026-08-29 09:03:56
[2026-08-29 09:03:56,313.313 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:03:56,491.491 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:03:56,507.507 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:03:56,638.638 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:03:56,646.646 INFO    ] time= 29/08/2026 09:03:56
[2026-08-29 09:03:56,653.653 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:03:56,699.699 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:03:56,830.830 INFO    ] No existing commands found in stream
[2026-08-29 09:04:01,854.854 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:04:01,857.857 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-08-29 09:04:04,440.440 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:04:04,443.443 INFO    ] Checking for system updates...
[2026-08-29 09:04:04,478.478 INFO    ] 200
[2026-08-29 09:04:04,481.481 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:04:04,538.538 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:04:04,541.541 INFO    ] No update needed
[2026-08-29 09:04:04,544.544 INFO    ] Checking for camera pi updates...
[2026-08-29 09:04:04,577.577 INFO    ] 200
[2026-08-29 09:04:04,580.580 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:04:04,620.620 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:04:04,701.701 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:04:04,703.703 INFO    ] No camera update needed
[2026-08-29 09:04:04,704.704 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:04:04,705.705 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:04:04,708.708 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:04:04,711.711 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:04:06,750.750 INFO    ] ================================================
[2026-08-29 09:04:06,765.765 INFO    ] Launching Daemon at Sat Aug 29 09:04:06 IST 2026
[2026-08-29 09:04:06,776.776 INFO    ] ================================================
[2026-08-29 09:04:07,362.362 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:04:07
[2026-08-29 09:04:07,984.984 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:04:08,276.276 INFO    ] Initializing speech engine...
[2026-08-29 09:04:08,282.282 INFO    ] 2026-08-29 09:04:08
[2026-08-29 09:04:08,567.567 INFO    ] 2026-08-29 09:04:08
[2026-08-29 09:04:08,602.602 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:04:08,775.775 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:04:08,787.787 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:04:08,927.927 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:04:08,936.936 INFO    ] time= 29/08/2026 09:04:08
[2026-08-29 09:04:08,942.942 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:04:08,992.992 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:04:09,128.128 INFO    ] No existing commands found in stream
[2026-08-29 09:04:14,143.143 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:04:14,146.146 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-08-29 09:04:16,271.271 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:04:16,273.273 INFO    ] Checking for system updates...
[2026-08-29 09:04:16,293.293 INFO    ] 200
[2026-08-29 09:04:16,295.295 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:04:16,324.324 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:04:16,326.326 INFO    ] No update needed
[2026-08-29 09:04:16,327.327 INFO    ] Checking for camera pi updates...
[2026-08-29 09:04:16,346.346 INFO    ] 200
[2026-08-29 09:04:16,348.348 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:04:16,379.379 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:04:16,465.465 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:04:16,467.467 INFO    ] No camera update needed
[2026-08-29 09:04:16,469.469 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:04:16,472.472 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:04:16,477.477 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:04:16,482.482 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:04:18,523.523 INFO    ] ================================================
[2026-08-29 09:04:18,538.538 INFO    ] Launching Daemon at Sat Aug 29 09:04:18 IST 2026
[2026-08-29 09:04:18,549.549 INFO    ] ================================================
[2026-08-29 09:04:19,117.117 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:04:19
[2026-08-29 09:04:19,603.603 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:04:19,734.734 INFO    ] Initializing speech engine...
[2026-08-29 09:04:19,739.739 INFO    ] 2026-08-29 09:04:19
[2026-08-29 09:04:19,982.982 INFO    ] 2026-08-29 09:04:19
[2026-08-29 09:04:20,019.019 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:04:20,214.214 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:04:20,228.228 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:04:20,369.369 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:04:20,378.378 INFO    ] time= 29/08/2026 09:04:20
[2026-08-29 09:04:20,384.384 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:04:20,435.435 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:04:20,549.549 INFO    ] No existing commands found in stream
[2026-08-29 09:04:25,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:04:25,576.576 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-08-29 09:04:28,167.167 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:04:28,168.168 INFO    ] Checking for system updates...
[2026-08-29 09:04:28,188.188 INFO    ] 200
[2026-08-29 09:04:28,190.190 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:04:28,220.220 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:04:28,221.221 INFO    ] No update needed
[2026-08-29 09:04:28,222.222 INFO    ] Checking for camera pi updates...
[2026-08-29 09:04:28,242.242 INFO    ] 200
[2026-08-29 09:04:28,243.243 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:04:28,270.270 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:04:28,368.368 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:04:28,371.371 INFO    ] No camera update needed
[2026-08-29 09:04:28,373.373 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:04:28,375.375 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:04:28,381.381 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:04:28,385.385 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:04:30,425.425 INFO    ] ================================================
[2026-08-29 09:04:30,440.440 INFO    ] Launching Daemon at Sat Aug 29 09:04:30 IST 2026
[2026-08-29 09:04:30,451.451 INFO    ] ================================================
[2026-08-29 09:04:31,036.036 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:04:31
[2026-08-29 09:04:31,482.482 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:04:31,774.774 INFO    ] Initializing speech engine...
[2026-08-29 09:04:31,784.784 INFO    ] 2026-08-29 09:04:31
[2026-08-29 09:04:32,061.061 INFO    ] 2026-08-29 09:04:32
[2026-08-29 09:04:32,125.125 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:04:32,359.359 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:04:32,369.369 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:04:32,507.507 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:04:32,535.535 INFO    ] time= 29/08/2026 09:04:32
[2026-08-29 09:04:32,598.598 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:04:32,656.656 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:04:32,751.751 INFO    ] No existing commands found in stream
[2026-08-29 09:04:37,784.784 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:04:37,787.787 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-08-29 09:04:41,520.520 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:04:41,522.522 INFO    ] Checking for system updates...
[2026-08-29 09:04:41,542.542 INFO    ] 200
[2026-08-29 09:04:41,544.544 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:04:41,574.574 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:04:41,575.575 INFO    ] No update needed
[2026-08-29 09:04:41,576.576 INFO    ] Checking for camera pi updates...
[2026-08-29 09:04:41,595.595 INFO    ] 200
[2026-08-29 09:04:41,596.596 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:04:41,619.619 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:04:41,707.707 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:04:41,710.710 INFO    ] No camera update needed
[2026-08-29 09:04:41,712.712 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:04:41,715.715 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:04:41,720.720 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:04:41,725.725 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:04:43,770.770 INFO    ] ================================================
[2026-08-29 09:04:43,787.787 INFO    ] Launching Daemon at Sat Aug 29 09:04:43 IST 2026
[2026-08-29 09:04:43,799.799 INFO    ] ================================================
[2026-08-29 09:04:44,453.453 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:04:44
[2026-08-29 09:04:45,002.002 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:04:45,280.280 INFO    ] Initializing speech engine...
[2026-08-29 09:04:45,294.294 INFO    ] 2026-08-29 09:04:45
[2026-08-29 09:04:45,568.568 INFO    ] 2026-08-29 09:04:45
[2026-08-29 09:04:45,607.607 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:04:45,789.789 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:04:45,796.796 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:04:45,919.919 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:04:45,927.927 INFO    ] time= 29/08/2026 09:04:45
[2026-08-29 09:04:45,945.945 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:04:45,965.965 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:04:46,040.040 INFO    ] No existing commands found in stream
[2026-08-29 09:04:51,052.052 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:04:51,054.054 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-08-29 09:04:52,691.691 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:04:52,694.694 INFO    ] Checking for system updates...
[2026-08-29 09:04:52,730.730 INFO    ] 200
[2026-08-29 09:04:52,733.733 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:04:52,793.793 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:04:52,796.796 INFO    ] No update needed
[2026-08-29 09:04:52,798.798 INFO    ] Checking for camera pi updates...
[2026-08-29 09:04:52,832.832 INFO    ] 200
[2026-08-29 09:04:52,835.835 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:04:52,876.876 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:04:52,948.948 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:04:52,950.950 INFO    ] No camera update needed
[2026-08-29 09:04:52,953.953 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:04:52,955.955 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:04:52,960.960 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:04:52,965.965 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:04:55,007.007 INFO    ] ================================================
[2026-08-29 09:04:55,022.022 INFO    ] Launching Daemon at Sat Aug 29 09:04:55 IST 2026
[2026-08-29 09:04:55,033.033 INFO    ] ================================================
[2026-08-29 09:04:55,707.707 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:04:55
[2026-08-29 09:04:56,049.049 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:04:56,201.201 INFO    ] Initializing speech engine...
[2026-08-29 09:04:56,207.207 INFO    ] 2026-08-29 09:04:56
[2026-08-29 09:04:56,437.437 INFO    ] 2026-08-29 09:04:56
[2026-08-29 09:04:56,522.522 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:04:56,678.678 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:04:56,685.685 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:04:56,819.819 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:04:56,879.879 INFO    ] time= 29/08/2026 09:04:56
[2026-08-29 09:04:56,948.948 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:04:56,955.955 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:04:57,076.076 INFO    ] No existing commands found in stream
[2026-08-29 09:05:02,105.105 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:05:02,109.109 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 09:05:03,609.609 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:05:03,612.612 INFO    ] Checking for system updates...
[2026-08-29 09:05:03,650.650 INFO    ] 200
[2026-08-29 09:05:03,652.652 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:05:03,708.708 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:05:03,711.711 INFO    ] No update needed
[2026-08-29 09:05:03,714.714 INFO    ] Checking for camera pi updates...
[2026-08-29 09:05:03,747.747 INFO    ] 200
[2026-08-29 09:05:03,750.750 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:05:03,808.808 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:05:03,899.899 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:05:03,902.902 INFO    ] No camera update needed
[2026-08-29 09:05:03,905.905 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:05:03,907.907 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:05:03,912.912 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:05:03,918.918 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:05:05,958.958 INFO    ] ================================================
[2026-08-29 09:05:05,984.984 INFO    ] Launching Daemon at Sat Aug 29 09:05:05 IST 2026
[2026-08-29 09:05:06,997.997 INFO    ] ================================================
[2026-08-29 09:05:06,542.542 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:05:06
[2026-08-29 09:05:07,144.144 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:05:07,424.424 INFO    ] Initializing speech engine...
[2026-08-29 09:05:07,431.431 INFO    ] 2026-08-29 09:05:07
[2026-08-29 09:05:07,692.692 INFO    ] 2026-08-29 09:05:07
[2026-08-29 09:05:07,745.745 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:05:07,970.970 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:05:07,979.979 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:05:08,110.110 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:05:08,132.132 INFO    ] time= 29/08/2026 09:05:08
[2026-08-29 09:05:08,191.191 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:05:08,245.245 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:05:08,302.302 INFO    ] No existing commands found in stream
[2026-08-29 09:05:13,313.313 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:05:13,316.316 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-08-29 09:05:15,894.894 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:05:15,896.896 INFO    ] Checking for system updates...
[2026-08-29 09:05:15,922.922 INFO    ] 200
[2026-08-29 09:05:15,923.923 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:05:15,953.953 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:05:15,954.954 INFO    ] No update needed
[2026-08-29 09:05:15,956.956 INFO    ] Checking for camera pi updates...
[2026-08-29 09:05:15,977.977 INFO    ] 200
[2026-08-29 09:05:15,978.978 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:05:16,005.005 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:05:16,092.092 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:05:16,094.094 INFO    ] No camera update needed
[2026-08-29 09:05:16,095.095 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:05:16,096.096 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:05:16,099.099 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:05:16,102.102 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:05:18,141.141 INFO    ] ================================================
[2026-08-29 09:05:18,157.157 INFO    ] Launching Daemon at Sat Aug 29 09:05:18 IST 2026
[2026-08-29 09:05:18,167.167 INFO    ] ================================================
[2026-08-29 09:05:18,517.517 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:05:18
[2026-08-29 09:05:18,832.832 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:05:19,103.103 INFO    ] Initializing speech engine...
[2026-08-29 09:05:19,112.112 INFO    ] 2026-08-29 09:05:19
[2026-08-29 09:05:19,379.379 INFO    ] 2026-08-29 09:05:19
[2026-08-29 09:05:19,439.439 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:05:19,594.594 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:05:19,608.608 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:05:19,738.738 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:05:19,762.762 INFO    ] time= 29/08/2026 09:05:19
[2026-08-29 09:05:19,767.767 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:05:19,774.774 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:05:19,841.841 INFO    ] No existing commands found in stream
[2026-08-29 09:05:24,859.859 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:05:24,862.862 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-08-29 09:05:27,996.996 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:05:27,997.997 INFO    ] Checking for system updates...
[2026-08-29 09:05:28,018.018 INFO    ] 200
[2026-08-29 09:05:28,019.019 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:05:28,048.048 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:05:28,050.050 INFO    ] No update needed
[2026-08-29 09:05:28,051.051 INFO    ] Checking for camera pi updates...
[2026-08-29 09:05:28,070.070 INFO    ] 200
[2026-08-29 09:05:28,071.071 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:05:28,094.094 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:05:28,270.270 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:05:28,272.272 INFO    ] No camera update needed
[2026-08-29 09:05:28,273.273 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:05:28,274.274 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:05:28,277.277 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:05:28,280.280 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:05:30,319.319 INFO    ] ================================================
[2026-08-29 09:05:30,334.334 INFO    ] Launching Daemon at Sat Aug 29 09:05:30 IST 2026
[2026-08-29 09:05:30,345.345 INFO    ] ================================================
[2026-08-29 09:05:30,685.685 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:05:30
[2026-08-29 09:05:30,996.996 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:05:31,158.158 INFO    ] Initializing speech engine...
[2026-08-29 09:05:31,166.166 INFO    ] 2026-08-29 09:05:31
[2026-08-29 09:05:31,463.463 INFO    ] 2026-08-29 09:05:31
[2026-08-29 09:05:31,499.499 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:05:31,677.677 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:05:31,684.684 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:05:31,837.837 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:05:31,846.846 INFO    ] time= 29/08/2026 09:05:31
[2026-08-29 09:05:31,851.851 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:05:31,858.858 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:05:31,942.942 INFO    ] No existing commands found in stream
[2026-08-29 09:05:36,979.979 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:05:36,981.981 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-08-29 09:05:40,939.939 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:05:40,942.942 INFO    ] Checking for system updates...
[2026-08-29 09:05:40,977.977 INFO    ] 200
[2026-08-29 09:05:40,979.979 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:05:41,036.036 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:05:41,038.038 INFO    ] No update needed
[2026-08-29 09:05:41,040.040 INFO    ] Checking for camera pi updates...
[2026-08-29 09:05:41,074.074 INFO    ] 200
[2026-08-29 09:05:41,076.076 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:05:41,116.116 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:05:41,202.202 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:05:41,204.204 INFO    ] No camera update needed
[2026-08-29 09:05:41,206.206 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:05:41,209.209 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:05:41,214.214 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:05:41,219.219 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:05:43,259.259 INFO    ] ================================================
[2026-08-29 09:05:43,274.274 INFO    ] Launching Daemon at Sat Aug 29 09:05:43 IST 2026
[2026-08-29 09:05:43,285.285 INFO    ] ================================================
[2026-08-29 09:05:43,651.651 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:05:43
[2026-08-29 09:05:43,963.963 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:05:44,176.176 INFO    ] Initializing speech engine...
[2026-08-29 09:05:44,190.190 INFO    ] 2026-08-29 09:05:44
[2026-08-29 09:05:44,465.465 INFO    ] 2026-08-29 09:05:44
[2026-08-29 09:05:44,501.501 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:05:44,674.674 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:05:44,698.698 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:05:44,828.828 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:05:44,836.836 INFO    ] time= 29/08/2026 09:05:44
[2026-08-29 09:05:44,843.843 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:05:44,868.868 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:05:44,985.985 INFO    ] No existing commands found in stream
[2026-08-29 09:05:50,015.015 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:05:50,018.018 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-08-29 09:05:51,180.180 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:05:51,181.181 INFO    ] Checking for system updates...
[2026-08-29 09:05:51,202.202 INFO    ] 200
[2026-08-29 09:05:51,203.203 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:05:51,237.237 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:05:51,239.239 INFO    ] No update needed
[2026-08-29 09:05:51,240.240 INFO    ] Checking for camera pi updates...
[2026-08-29 09:05:51,260.260 INFO    ] 200
[2026-08-29 09:05:51,261.261 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:05:51,285.285 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:05:51,395.395 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:05:51,396.396 INFO    ] No camera update needed
[2026-08-29 09:05:51,397.397 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:05:51,399.399 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:05:51,402.402 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:05:51,405.405 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:05:53,443.443 INFO    ] ================================================
[2026-08-29 09:05:53,458.458 INFO    ] Launching Daemon at Sat Aug 29 09:05:53 IST 2026
[2026-08-29 09:05:53,469.469 INFO    ] ================================================
[2026-08-29 09:05:53,799.799 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:05:53
[2026-08-29 09:05:54,221.221 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:05:54,497.497 INFO    ] Initializing speech engine...
[2026-08-29 09:05:54,503.503 INFO    ] 2026-08-29 09:05:54
[2026-08-29 09:05:54,748.748 INFO    ] 2026-08-29 09:05:54
[2026-08-29 09:05:54,784.784 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:05:54,953.953 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:05:54,959.959 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:05:55,109.109 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:05:55,117.117 INFO    ] time= 29/08/2026 09:05:55
[2026-08-29 09:05:55,124.124 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:05:55,144.144 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:05:55,279.279 INFO    ] No existing commands found in stream
[2026-08-29 09:06:00,309.309 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:06:00,312.312 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-08-29 09:06:03,911.911 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:06:03,914.914 INFO    ] Checking for system updates...
[2026-08-29 09:06:03,949.949 INFO    ] 200
[2026-08-29 09:06:03,952.952 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:06:04,005.005 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:06:04,008.008 INFO    ] No update needed
[2026-08-29 09:06:04,010.010 INFO    ] Checking for camera pi updates...
[2026-08-29 09:06:04,062.062 INFO    ] 200
[2026-08-29 09:06:04,064.064 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:06:04,109.109 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:06:04,191.191 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:06:04,194.194 INFO    ] No camera update needed
[2026-08-29 09:06:04,196.196 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:06:04,198.198 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:06:04,204.204 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:06:04,208.208 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:06:06,249.249 INFO    ] ================================================
[2026-08-29 09:06:06,265.265 INFO    ] Launching Daemon at Sat Aug 29 09:06:06 IST 2026
[2026-08-29 09:06:06,275.275 INFO    ] ================================================
[2026-08-29 09:06:06,650.650 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:06:06
[2026-08-29 09:06:06,985.985 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:06:07,134.134 INFO    ] Initializing speech engine...
[2026-08-29 09:06:07,140.140 INFO    ] 2026-08-29 09:06:07
[2026-08-29 09:06:07,379.379 INFO    ] 2026-08-29 09:06:07
[2026-08-29 09:06:07,435.435 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:06:07,600.600 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:06:07,606.606 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:06:07,767.767 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:06:07,805.805 INFO    ] time= 29/08/2026 09:06:07
[2026-08-29 09:06:07,812.812 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:06:07,833.833 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:06:07,942.942 INFO    ] No existing commands found in stream
[2026-08-29 09:06:12,969.969 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:06:12,973.973 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-08-29 09:06:17,272.272 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:06:17,274.274 INFO    ] Checking for system updates...
[2026-08-29 09:06:17,295.295 INFO    ] 200
[2026-08-29 09:06:17,296.296 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:06:17,328.328 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:06:17,330.330 INFO    ] No update needed
[2026-08-29 09:06:17,331.331 INFO    ] Checking for camera pi updates...
[2026-08-29 09:06:17,351.351 INFO    ] 200
[2026-08-29 09:06:17,352.352 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:06:17,375.375 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:06:17,457.457 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:06:17,458.458 INFO    ] No camera update needed
[2026-08-29 09:06:17,459.459 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:06:17,460.460 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:06:17,464.464 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:06:17,466.466 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:06:19,507.507 INFO    ] ================================================
[2026-08-29 09:06:19,522.522 INFO    ] Launching Daemon at Sat Aug 29 09:06:19 IST 2026
[2026-08-29 09:06:19,533.533 INFO    ] ================================================
[2026-08-29 09:06:20,025.025 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:06:20
[2026-08-29 09:06:20,610.610 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:06:20,863.863 INFO    ] Initializing speech engine...
[2026-08-29 09:06:20,875.875 INFO    ] 2026-08-29 09:06:20
[2026-08-29 09:06:21,141.141 INFO    ] 2026-08-29 09:06:21
[2026-08-29 09:06:21,177.177 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:06:21,313.313 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:06:21,318.318 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:06:21,458.458 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:06:21,464.464 INFO    ] time= 29/08/2026 09:06:21
[2026-08-29 09:06:21,468.468 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:06:21,488.488 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:06:21,536.536 INFO    ] No existing commands found in stream
[2026-08-29 09:06:26,548.548 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:06:26,551.551 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-08-29 09:06:28,245.245 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:06:28,246.246 INFO    ] Checking for system updates...
[2026-08-29 09:06:28,267.267 INFO    ] 200
[2026-08-29 09:06:28,268.268 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:06:28,298.298 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:06:28,299.299 INFO    ] No update needed
[2026-08-29 09:06:28,301.301 INFO    ] Checking for camera pi updates...
[2026-08-29 09:06:28,322.322 INFO    ] 200
[2026-08-29 09:06:28,323.323 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:06:28,346.346 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:06:28,424.424 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:06:28,425.425 INFO    ] No camera update needed
[2026-08-29 09:06:28,426.426 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:06:28,427.427 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:06:28,430.430 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:06:28,433.433 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:06:30,472.472 INFO    ] ================================================
[2026-08-29 09:06:30,488.488 INFO    ] Launching Daemon at Sat Aug 29 09:06:30 IST 2026
[2026-08-29 09:06:30,499.499 INFO    ] ================================================
[2026-08-29 09:06:30,862.862 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:06:30
[2026-08-29 09:06:31,193.193 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:06:31,515.515 INFO    ] Initializing speech engine...
[2026-08-29 09:06:31,531.531 INFO    ] 2026-08-29 09:06:31
[2026-08-29 09:06:31,830.830 INFO    ] 2026-08-29 09:06:31
[2026-08-29 09:06:31,888.888 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:06:32,115.115 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:06:32,124.124 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:06:32,269.269 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:06:32,295.295 INFO    ] time= 29/08/2026 09:06:32
[2026-08-29 09:06:32,364.364 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:06:32,405.405 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:06:32,448.448 INFO    ] No existing commands found in stream
[2026-08-29 09:06:37,458.458 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:06:37,460.460 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-08-29 09:06:37,866.866 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:06:37,869.869 INFO    ] Checking for system updates...
[2026-08-29 09:06:37,905.905 INFO    ] 200
[2026-08-29 09:06:37,907.907 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:06:37,959.959 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:06:37,962.962 INFO    ] No update needed
[2026-08-29 09:06:37,964.964 INFO    ] Checking for camera pi updates...
[2026-08-29 09:06:37,997.997 INFO    ] 200
[2026-08-29 09:06:38,000.000 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:06:38,040.040 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:06:38,127.127 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:06:38,129.129 INFO    ] No camera update needed
[2026-08-29 09:06:38,132.132 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:06:38,134.134 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:06:38,139.139 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:06:38,144.144 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:06:40,183.183 INFO    ] ================================================
[2026-08-29 09:06:40,198.198 INFO    ] Launching Daemon at Sat Aug 29 09:06:40 IST 2026
[2026-08-29 09:06:40,209.209 INFO    ] ================================================
[2026-08-29 09:06:40,778.778 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:06:40
[2026-08-29 09:06:41,147.147 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:06:41,291.291 INFO    ] Initializing speech engine...
[2026-08-29 09:06:41,296.296 INFO    ] 2026-08-29 09:06:41
[2026-08-29 09:06:41,510.510 INFO    ] 2026-08-29 09:06:41
[2026-08-29 09:06:41,591.591 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:06:41,748.748 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:06:41,757.757 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:06:41,892.892 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:06:41,914.914 INFO    ] time= 29/08/2026 09:06:41
[2026-08-29 09:06:41,973.973 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:06:42,022.022 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:06:42,089.089 INFO    ] No existing commands found in stream
[2026-08-29 09:06:47,101.101 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:06:47,104.104 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-08-29 09:06:49,667.667 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:06:49,668.668 INFO    ] Checking for system updates...
[2026-08-29 09:06:49,690.690 INFO    ] 200
[2026-08-29 09:06:49,691.691 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:06:49,721.721 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:06:49,723.723 INFO    ] No update needed
[2026-08-29 09:06:49,724.724 INFO    ] Checking for camera pi updates...
[2026-08-29 09:06:49,743.743 INFO    ] 200
[2026-08-29 09:06:49,744.744 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:06:49,773.773 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:06:49,854.854 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:06:49,855.855 INFO    ] No camera update needed
[2026-08-29 09:06:49,857.857 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:06:49,858.858 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:06:49,861.861 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:06:49,864.864 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:06:51,903.903 INFO    ] ================================================
[2026-08-29 09:06:51,919.919 INFO    ] Launching Daemon at Sat Aug 29 09:06:51 IST 2026
[2026-08-29 09:06:51,930.930 INFO    ] ================================================
[2026-08-29 09:06:52,415.415 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:06:52
[2026-08-29 09:06:53,027.027 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:06:53,286.286 INFO    ] Initializing speech engine...
[2026-08-29 09:06:53,305.305 INFO    ] 2026-08-29 09:06:53
[2026-08-29 09:06:53,554.554 INFO    ] 2026-08-29 09:06:53
[2026-08-29 09:06:53,589.589 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:06:53,761.761 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:06:53,773.773 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:06:53,915.915 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:06:53,923.923 INFO    ] time= 29/08/2026 09:06:53
[2026-08-29 09:06:53,930.930 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:06:53,956.956 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:06:54,096.096 INFO    ] No existing commands found in stream
[2026-08-29 09:06:59,127.127 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:06:59,129.129 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-08-29 09:07:01,283.283 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:07:01,285.285 INFO    ] Checking for system updates...
[2026-08-29 09:07:01,307.307 INFO    ] 200
[2026-08-29 09:07:01,308.308 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:07:01,341.341 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:07:01,342.342 INFO    ] No update needed
[2026-08-29 09:07:01,344.344 INFO    ] Checking for camera pi updates...
[2026-08-29 09:07:01,363.363 INFO    ] 200
[2026-08-29 09:07:01,365.365 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:07:01,393.393 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:07:01,498.498 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:07:01,499.499 INFO    ] No camera update needed
[2026-08-29 09:07:01,500.500 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:07:01,501.501 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:07:01,504.504 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:07:01,507.507 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:07:03,550.550 INFO    ] ================================================
[2026-08-29 09:07:03,566.566 INFO    ] Launching Daemon at Sat Aug 29 09:07:03 IST 2026
[2026-08-29 09:07:03,577.577 INFO    ] ================================================
[2026-08-29 09:07:04,211.211 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:07:04
[2026-08-29 09:07:04,883.883 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:07:05,187.187 INFO    ] Initializing speech engine...
[2026-08-29 09:07:05,195.195 INFO    ] 2026-08-29 09:07:05
[2026-08-29 09:07:05,500.500 INFO    ] 2026-08-29 09:07:05
[2026-08-29 09:07:05,558.558 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:07:05,724.724 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:07:05,729.729 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:07:05,904.904 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:07:05,929.929 INFO    ] time= 29/08/2026 09:07:05
[2026-08-29 09:07:05,946.946 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:07:05,956.956 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:07:06,079.079 INFO    ] No existing commands found in stream
[2026-08-29 09:07:11,095.095 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:07:11,099.099 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-08-29 09:07:12,134.134 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:07:12,135.135 INFO    ] Checking for system updates...
[2026-08-29 09:07:12,157.157 INFO    ] 200
[2026-08-29 09:07:12,158.158 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:07:12,190.190 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:07:12,191.191 INFO    ] No update needed
[2026-08-29 09:07:12,193.193 INFO    ] Checking for camera pi updates...
[2026-08-29 09:07:12,212.212 INFO    ] 200
[2026-08-29 09:07:12,214.214 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:07:12,237.237 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:07:12,319.319 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:07:12,322.322 INFO    ] No camera update needed
[2026-08-29 09:07:12,324.324 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:07:12,327.327 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:07:12,332.332 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:07:12,337.337 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:07:14,377.377 INFO    ] ================================================
[2026-08-29 09:07:14,394.394 INFO    ] Launching Daemon at Sat Aug 29 09:07:14 IST 2026
[2026-08-29 09:07:14,404.404 INFO    ] ================================================
[2026-08-29 09:07:15,068.068 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:07:15
[2026-08-29 09:07:15,571.571 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:07:15,723.723 INFO    ] Initializing speech engine...
[2026-08-29 09:07:15,729.729 INFO    ] 2026-08-29 09:07:15
[2026-08-29 09:07:15,918.918 INFO    ] 2026-08-29 09:07:15
[2026-08-29 09:07:15,955.955 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:07:16,100.100 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:07:16,158.158 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:07:16,297.297 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:07:16,364.364 INFO    ] time= 29/08/2026 09:07:16
[2026-08-29 09:07:16,390.390 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:07:16,398.398 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:07:16,464.464 INFO    ] No existing commands found in stream
[2026-08-29 09:07:21,478.478 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:07:21,481.481 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 09:07:25,111.111 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:07:25,113.113 INFO    ] Checking for system updates...
[2026-08-29 09:07:25,134.134 INFO    ] 200
[2026-08-29 09:07:25,135.135 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:07:25,165.165 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:07:25,167.167 INFO    ] No update needed
[2026-08-29 09:07:25,168.168 INFO    ] Checking for camera pi updates...
[2026-08-29 09:07:25,189.189 INFO    ] 200
[2026-08-29 09:07:25,190.190 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:07:25,213.213 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:07:25,302.302 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:07:25,304.304 INFO    ] No camera update needed
[2026-08-29 09:07:25,307.307 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:07:25,309.309 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:07:25,314.314 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:07:25,319.319 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:07:27,361.361 INFO    ] ================================================
[2026-08-29 09:07:27,376.376 INFO    ] Launching Daemon at Sat Aug 29 09:07:27 IST 2026
[2026-08-29 09:07:27,388.388 INFO    ] ================================================
[2026-08-29 09:07:27,973.973 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:07:27
[2026-08-29 09:07:28,509.509 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:07:28,663.663 INFO    ] Initializing speech engine...
[2026-08-29 09:07:28,667.667 INFO    ] 2026-08-29 09:07:28
[2026-08-29 09:07:28,876.876 INFO    ] 2026-08-29 09:07:28
[2026-08-29 09:07:28,905.905 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:07:29,029.029 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:07:29,067.067 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:07:29,236.236 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:07:29,288.288 INFO    ] time= 29/08/2026 09:07:29
[2026-08-29 09:07:29,348.348 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:07:29,403.403 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:07:29,541.541 INFO    ] No existing commands found in stream
[2026-08-29 09:07:34,573.573 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:07:34,576.576 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-08-29 09:07:36,760.760 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:07:36,762.762 INFO    ] Checking for system updates...
[2026-08-29 09:07:36,784.784 INFO    ] 200
[2026-08-29 09:07:36,785.785 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:07:36,816.816 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:07:36,817.817 INFO    ] No update needed
[2026-08-29 09:07:36,818.818 INFO    ] Checking for camera pi updates...
[2026-08-29 09:07:36,840.840 INFO    ] 200
[2026-08-29 09:07:36,841.841 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:07:36,869.869 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:07:36,941.941 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:07:36,943.943 INFO    ] No camera update needed
[2026-08-29 09:07:36,944.944 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:07:36,946.946 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:07:36,949.949 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:07:36,952.952 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:07:38,990.990 INFO    ] ================================================
[2026-08-29 09:07:39,005.005 INFO    ] Launching Daemon at Sat Aug 29 09:07:38 IST 2026
[2026-08-29 09:07:39,016.016 INFO    ] ================================================
[2026-08-29 09:07:39,555.555 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:07:39
[2026-08-29 09:07:40,137.137 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:07:40,386.386 INFO    ] Initializing speech engine...
[2026-08-29 09:07:40,398.398 INFO    ] 2026-08-29 09:07:40
[2026-08-29 09:07:40,669.669 INFO    ] 2026-08-29 09:07:40
[2026-08-29 09:07:40,704.704 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:07:40,880.880 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:07:40,893.893 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:07:41,035.035 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:07:41,043.043 INFO    ] time= 29/08/2026 09:07:41
[2026-08-29 09:07:41,047.047 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:07:41,053.053 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:07:41,119.119 INFO    ] No existing commands found in stream
[2026-08-29 09:07:46,132.132 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:07:46,135.135 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-08-29 09:07:50,029.029 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:07:50,031.031 INFO    ] Checking for system updates...
[2026-08-29 09:07:50,051.051 INFO    ] 200
[2026-08-29 09:07:50,053.053 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:07:50,085.085 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:07:50,086.086 INFO    ] No update needed
[2026-08-29 09:07:50,088.088 INFO    ] Checking for camera pi updates...
[2026-08-29 09:07:50,108.108 INFO    ] 200
[2026-08-29 09:07:50,109.109 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:07:50,132.132 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:07:50,215.215 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:07:50,217.217 INFO    ] No camera update needed
[2026-08-29 09:07:50,218.218 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:07:50,219.219 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:07:50,222.222 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:07:50,225.225 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:07:52,265.265 INFO    ] ================================================
[2026-08-29 09:07:52,280.280 INFO    ] Launching Daemon at Sat Aug 29 09:07:52 IST 2026
[2026-08-29 09:07:52,291.291 INFO    ] ================================================
[2026-08-29 09:07:52,680.680 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:07:52
[2026-08-29 09:07:53,019.019 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:07:53,329.329 INFO    ] Initializing speech engine...
[2026-08-29 09:07:53,343.343 INFO    ] 2026-08-29 09:07:53
[2026-08-29 09:07:53,634.634 INFO    ] 2026-08-29 09:07:53
[2026-08-29 09:07:53,672.672 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:07:53,898.898 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:07:53,909.909 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:07:54,047.047 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:07:54,113.113 INFO    ] time= 29/08/2026 09:07:54
[2026-08-29 09:07:54,162.162 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:07:54,184.184 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:07:54,244.244 INFO    ] No existing commands found in stream
[2026-08-29 09:07:59,263.263 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:07:59,266.266 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 09:07:59,775.775 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:07:59,778.778 INFO    ] Checking for system updates...
[2026-08-29 09:07:59,819.819 INFO    ] 200
[2026-08-29 09:07:59,822.822 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:07:59,875.875 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:07:59,877.877 INFO    ] No update needed
[2026-08-29 09:07:59,879.879 INFO    ] Checking for camera pi updates...
[2026-08-29 09:07:59,913.913 INFO    ] 200
[2026-08-29 09:07:59,915.915 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:07:59,960.960 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:08:00,044.044 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:08:00,046.046 INFO    ] No camera update needed
[2026-08-29 09:08:00,049.049 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:08:00,051.051 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:08:00,056.056 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:08:00,061.061 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:08:02,105.105 INFO    ] ================================================
[2026-08-29 09:08:02,126.126 INFO    ] Launching Daemon at Sat Aug 29 09:08:02 IST 2026
[2026-08-29 09:08:02,141.141 INFO    ] ================================================
[2026-08-29 09:08:02,750.750 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:08:02
[2026-08-29 09:08:03,445.445 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:08:03,744.744 INFO    ] Initializing speech engine...
[2026-08-29 09:08:03,751.751 INFO    ] 2026-08-29 09:08:03
[2026-08-29 09:08:04,025.025 INFO    ] 2026-08-29 09:08:04
[2026-08-29 09:08:04,088.088 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:08:04,317.317 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:08:04,326.326 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:08:04,464.464 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:08:04,516.516 INFO    ] time= 29/08/2026 09:08:04
[2026-08-29 09:08:04,569.569 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:08:04,611.611 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:08:04,676.676 INFO    ] No existing commands found in stream
[2026-08-29 09:08:09,688.688 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:08:09,691.691 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-08-29 09:08:10,976.976 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:08:10,978.978 INFO    ] Checking for system updates...
[2026-08-29 09:08:10,998.998 INFO    ] 200
[2026-08-29 09:08:10,999.999 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:08:11,029.029 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:08:11,031.031 INFO    ] No update needed
[2026-08-29 09:08:11,032.032 INFO    ] Checking for camera pi updates...
[2026-08-29 09:08:11,053.053 INFO    ] 200
[2026-08-29 09:08:11,054.054 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:08:11,078.078 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:08:11,214.214 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:08:11,215.215 INFO    ] No camera update needed
[2026-08-29 09:08:11,217.217 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:08:11,218.218 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:08:11,221.221 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:08:11,223.223 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:08:13,262.262 INFO    ] ================================================
[2026-08-29 09:08:13,276.276 INFO    ] Launching Daemon at Sat Aug 29 09:08:13 IST 2026
[2026-08-29 09:08:13,287.287 INFO    ] ================================================
[2026-08-29 09:08:13,636.636 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:08:13
[2026-08-29 09:08:13,947.947 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:08:14,169.169 INFO    ] Initializing speech engine...
[2026-08-29 09:08:14,187.187 INFO    ] 2026-08-29 09:08:14
[2026-08-29 09:08:14,440.440 INFO    ] 2026-08-29 09:08:14
[2026-08-29 09:08:14,474.474 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:08:14,638.638 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:08:14,641.641 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:08:14,771.771 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:08:14,778.778 INFO    ] time= 29/08/2026 09:08:14
[2026-08-29 09:08:14,783.783 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:08:14,801.801 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:08:14,891.891 INFO    ] No existing commands found in stream
[2026-08-29 09:08:19,903.903 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:08:19,906.906 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-08-29 09:08:21,850.850 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:08:21,852.852 INFO    ] Checking for system updates...
[2026-08-29 09:08:21,872.872 INFO    ] 200
[2026-08-29 09:08:21,874.874 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:08:21,904.904 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:08:21,905.905 INFO    ] No update needed
[2026-08-29 09:08:21,906.906 INFO    ] Checking for camera pi updates...
[2026-08-29 09:08:21,927.927 INFO    ] 200
[2026-08-29 09:08:21,928.928 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:08:21,951.951 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:08:22,040.040 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:08:22,042.042 INFO    ] No camera update needed
[2026-08-29 09:08:22,045.045 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:08:22,047.047 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:08:22,052.052 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:08:22,057.057 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:08:24,097.097 INFO    ] ================================================
[2026-08-29 09:08:24,113.113 INFO    ] Launching Daemon at Sat Aug 29 09:08:24 IST 2026
[2026-08-29 09:08:24,123.123 INFO    ] ================================================
[2026-08-29 09:08:24,773.773 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:08:24
[2026-08-29 09:08:25,269.269 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:08:25,421.421 INFO    ] Initializing speech engine...
[2026-08-29 09:08:25,425.425 INFO    ] 2026-08-29 09:08:25
[2026-08-29 09:08:25,633.633 INFO    ] 2026-08-29 09:08:25
[2026-08-29 09:08:25,662.662 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:08:25,804.804 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:08:25,847.847 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:08:25,985.985 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:08:26,045.045 INFO    ] time= 29/08/2026 09:08:25
[2026-08-29 09:08:26,100.100 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:08:26,132.132 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:08:26,264.264 INFO    ] No existing commands found in stream
[2026-08-29 09:08:31,295.295 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:08:31,298.298 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-08-29 09:08:32,927.927 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:08:32,930.930 INFO    ] Checking for system updates...
[2026-08-29 09:08:32,969.969 INFO    ] 200
[2026-08-29 09:08:32,972.972 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:08:33,025.025 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:08:33,027.027 INFO    ] No update needed
[2026-08-29 09:08:33,029.029 INFO    ] Checking for camera pi updates...
[2026-08-29 09:08:33,064.064 INFO    ] 200
[2026-08-29 09:08:33,066.066 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:08:33,107.107 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:08:33,196.196 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:08:33,199.199 INFO    ] No camera update needed
[2026-08-29 09:08:33,202.202 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:08:33,205.205 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:08:33,211.211 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:08:33,216.216 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:08:35,258.258 INFO    ] ================================================
[2026-08-29 09:08:35,274.274 INFO    ] Launching Daemon at Sat Aug 29 09:08:35 IST 2026
[2026-08-29 09:08:35,285.285 INFO    ] ================================================
[2026-08-29 09:08:35,618.618 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:08:35
[2026-08-29 09:08:35,935.935 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:08:36,161.161 INFO    ] Initializing speech engine...
[2026-08-29 09:08:36,170.170 INFO    ] 2026-08-29 09:08:36
[2026-08-29 09:08:36,425.425 INFO    ] 2026-08-29 09:08:36
[2026-08-29 09:08:36,461.461 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:08:36,715.715 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:08:36,724.724 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:08:36,831.831 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:08:36,862.862 INFO    ] time= 29/08/2026 09:08:36
[2026-08-29 09:08:36,867.867 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:08:36,932.932 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:08:37,000.000 INFO    ] No existing commands found in stream
[2026-08-29 09:08:42,021.021 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:08:42,024.024 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-08-29 09:08:45,768.768 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:08:45,769.769 INFO    ] Checking for system updates...
[2026-08-29 09:08:45,790.790 INFO    ] 200
[2026-08-29 09:08:45,792.792 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:08:45,822.822 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:08:45,823.823 INFO    ] No update needed
[2026-08-29 09:08:45,825.825 INFO    ] Checking for camera pi updates...
[2026-08-29 09:08:45,845.845 INFO    ] 200
[2026-08-29 09:08:45,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:08:45,870.870 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:08:45,945.945 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:08:45,946.946 INFO    ] No camera update needed
[2026-08-29 09:08:45,947.947 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:08:45,948.948 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:08:45,951.951 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:08:45,954.954 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:08:47,993.993 INFO    ] ================================================
[2026-08-29 09:08:48,008.008 INFO    ] Launching Daemon at Sat Aug 29 09:08:48 IST 2026
[2026-08-29 09:08:48,019.019 INFO    ] ================================================
[2026-08-29 09:08:48,369.369 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:08:48
[2026-08-29 09:08:48,686.686 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:08:48,830.830 INFO    ] Initializing speech engine...
[2026-08-29 09:08:48,836.836 INFO    ] 2026-08-29 09:08:48
[2026-08-29 09:08:49,075.075 INFO    ] 2026-08-29 09:08:49
[2026-08-29 09:08:49,129.129 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:08:49,292.292 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:08:49,299.299 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:08:49,464.464 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:08:49,499.499 INFO    ] time= 29/08/2026 09:08:49
[2026-08-29 09:08:49,505.505 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:08:49,527.527 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:08:49,634.634 INFO    ] No existing commands found in stream
[2026-08-29 09:08:54,663.663 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:08:54,665.665 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-08-29 09:08:57,171.171 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:08:57,173.173 INFO    ] Checking for system updates...
[2026-08-29 09:08:57,193.193 INFO    ] 200
[2026-08-29 09:08:57,195.195 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:08:57,227.227 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:08:57,228.228 INFO    ] No update needed
[2026-08-29 09:08:57,229.229 INFO    ] Checking for camera pi updates...
[2026-08-29 09:08:57,249.249 INFO    ] 200
[2026-08-29 09:08:57,250.250 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:08:57,278.278 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:08:57,358.358 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:08:57,360.360 INFO    ] No camera update needed
[2026-08-29 09:08:57,363.363 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:08:57,365.365 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:08:57,371.371 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:08:57,376.376 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:08:59,419.419 INFO    ] ================================================
[2026-08-29 09:08:59,434.434 INFO    ] Launching Daemon at Sat Aug 29 09:08:59 IST 2026
[2026-08-29 09:08:59,445.445 INFO    ] ================================================
[2026-08-29 09:09:00,089.089 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:09:00
[2026-08-29 09:09:00,580.580 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:09:00,723.723 INFO    ] Initializing speech engine...
[2026-08-29 09:09:00,733.733 INFO    ] 2026-08-29 09:09:00
[2026-08-29 09:09:00,967.967 INFO    ] 2026-08-29 09:09:00
[2026-08-29 09:09:01,021.021 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:09:01,182.182 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:09:01,189.189 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:09:01,367.367 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:09:01,390.390 INFO    ] time= 29/08/2026 09:09:01
[2026-08-29 09:09:01,406.406 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:09:01,415.415 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:09:01,485.485 INFO    ] No existing commands found in stream
[2026-08-29 09:09:06,495.495 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:09:06,498.498 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-08-29 09:09:10,320.320 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:09:10,322.322 INFO    ] Checking for system updates...
[2026-08-29 09:09:10,342.342 INFO    ] 200
[2026-08-29 09:09:10,344.344 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:09:10,374.374 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:09:10,375.375 INFO    ] No update needed
[2026-08-29 09:09:10,377.377 INFO    ] Checking for camera pi updates...
[2026-08-29 09:09:10,396.396 INFO    ] 200
[2026-08-29 09:09:10,397.397 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:09:10,422.422 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:09:10,521.521 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:09:10,522.522 INFO    ] No camera update needed
[2026-08-29 09:09:10,523.523 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:09:10,525.525 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:09:10,528.528 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:09:10,530.530 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:09:12,569.569 INFO    ] ================================================
[2026-08-29 09:09:12,585.585 INFO    ] Launching Daemon at Sat Aug 29 09:09:12 IST 2026
[2026-08-29 09:09:12,596.596 INFO    ] ================================================
[2026-08-29 09:09:13,145.145 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:09:13
[2026-08-29 09:09:13,745.745 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:09:14,023.023 INFO    ] Initializing speech engine...
[2026-08-29 09:09:14,029.029 INFO    ] 2026-08-29 09:09:14
[2026-08-29 09:09:14,277.277 INFO    ] 2026-08-29 09:09:14
[2026-08-29 09:09:14,344.344 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:09:14,507.507 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:09:14,530.530 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:09:14,649.649 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:09:14,694.694 INFO    ] time= 29/08/2026 09:09:14
[2026-08-29 09:09:14,715.715 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:09:14,761.761 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:09:14,848.848 INFO    ] No existing commands found in stream
[2026-08-29 09:09:19,870.870 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:09:19,873.873 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-08-29 09:09:21,483.483 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:09:21,486.486 INFO    ] Checking for system updates...
[2026-08-29 09:09:21,525.525 INFO    ] 200
[2026-08-29 09:09:21,528.528 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:09:21,587.587 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:09:21,589.589 INFO    ] No update needed
[2026-08-29 09:09:21,591.591 INFO    ] Checking for camera pi updates...
[2026-08-29 09:09:21,628.628 INFO    ] 200
[2026-08-29 09:09:21,631.631 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:09:21,676.676 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:09:21,787.787 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:09:21,789.789 INFO    ] No camera update needed
[2026-08-29 09:09:21,791.791 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:09:21,794.794 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:09:21,799.799 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:09:21,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:09:23,846.846 INFO    ] ================================================
[2026-08-29 09:09:23,861.861 INFO    ] Launching Daemon at Sat Aug 29 09:09:23 IST 2026
[2026-08-29 09:09:23,872.872 INFO    ] ================================================
[2026-08-29 09:09:24,514.514 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:09:24
[2026-08-29 09:09:24,850.850 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:09:25,077.077 INFO    ] Initializing speech engine...
[2026-08-29 09:09:25,085.085 INFO    ] 2026-08-29 09:09:25
[2026-08-29 09:09:25,348.348 INFO    ] 2026-08-29 09:09:25
[2026-08-29 09:09:25,398.398 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:09:25,622.622 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:09:25,631.631 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:09:25,764.764 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:09:25,802.802 INFO    ] time= 29/08/2026 09:09:25
[2026-08-29 09:09:25,866.866 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:09:25,900.900 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:09:25,957.957 INFO    ] No existing commands found in stream
[2026-08-29 09:09:30,969.969 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:09:30,972.972 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-08-29 09:09:32,389.389 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:09:32,392.392 INFO    ] Checking for system updates...
[2026-08-29 09:09:32,434.434 INFO    ] 200
[2026-08-29 09:09:32,437.437 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:09:32,506.506 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:09:32,508.508 INFO    ] No update needed
[2026-08-29 09:09:32,511.511 INFO    ] Checking for camera pi updates...
[2026-08-29 09:09:32,552.552 INFO    ] 200
[2026-08-29 09:09:32,554.554 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:09:32,602.602 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:09:32,685.685 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:09:32,687.687 INFO    ] No camera update needed
[2026-08-29 09:09:32,690.690 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:09:32,692.692 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:09:32,697.697 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:09:32,702.702 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:09:34,743.743 INFO    ] ================================================
[2026-08-29 09:09:34,759.759 INFO    ] Launching Daemon at Sat Aug 29 09:09:34 IST 2026
[2026-08-29 09:09:34,770.770 INFO    ] ================================================
[2026-08-29 09:09:35,234.234 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:09:35
[2026-08-29 09:09:35,552.552 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:09:35,691.691 INFO    ] Initializing speech engine...
[2026-08-29 09:09:35,700.700 INFO    ] 2026-08-29 09:09:35
[2026-08-29 09:09:35,904.904 INFO    ] 2026-08-29 09:09:35
[2026-08-29 09:09:35,934.934 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:09:36,056.056 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:09:36,118.118 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:09:36,254.254 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:09:36,323.323 INFO    ] time= 29/08/2026 09:09:36
[2026-08-29 09:09:36,346.346 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:09:36,353.353 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:09:36,419.419 INFO    ] No existing commands found in stream
[2026-08-29 09:09:41,429.429 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:09:41,432.432 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-08-29 09:09:44,606.606 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:09:44,607.607 INFO    ] Checking for system updates...
[2026-08-29 09:09:44,628.628 INFO    ] 200
[2026-08-29 09:09:44,629.629 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:09:44,661.661 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:09:44,663.663 INFO    ] No update needed
[2026-08-29 09:09:44,664.664 INFO    ] Checking for camera pi updates...
[2026-08-29 09:09:44,684.684 INFO    ] 200
[2026-08-29 09:09:44,685.685 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:09:44,708.708 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:09:44,895.895 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:09:44,897.897 INFO    ] No camera update needed
[2026-08-29 09:09:44,898.898 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:09:44,899.899 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:09:44,902.902 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:09:44,905.905 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:09:46,945.945 INFO    ] ================================================
[2026-08-29 09:09:46,959.959 INFO    ] Launching Daemon at Sat Aug 29 09:09:46 IST 2026
[2026-08-29 09:09:46,970.970 INFO    ] ================================================
[2026-08-29 09:09:47,333.333 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:09:47
[2026-08-29 09:09:47,652.652 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:09:47,787.787 INFO    ] Initializing speech engine...
[2026-08-29 09:09:47,792.792 INFO    ] 2026-08-29 09:09:47
[2026-08-29 09:09:48,021.021 INFO    ] 2026-08-29 09:09:47
[2026-08-29 09:09:48,052.052 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:09:48,183.183 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:09:48,189.189 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:09:48,344.344 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:09:48,399.399 INFO    ] time= 29/08/2026 09:09:48
[2026-08-29 09:09:48,417.417 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:09:48,423.423 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:09:48,508.508 INFO    ] No existing commands found in stream
[2026-08-29 09:09:53,533.533 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:09:53,536.536 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-08-29 09:09:54,263.263 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:09:54,264.264 INFO    ] Checking for system updates...
[2026-08-29 09:09:54,285.285 INFO    ] 200
[2026-08-29 09:09:54,287.287 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:09:54,319.319 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:09:54,320.320 INFO    ] No update needed
[2026-08-29 09:09:54,321.321 INFO    ] Checking for camera pi updates...
[2026-08-29 09:09:54,342.342 INFO    ] 200
[2026-08-29 09:09:54,343.343 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:09:54,367.367 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:09:54,464.464 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:09:54,465.465 INFO    ] No camera update needed
[2026-08-29 09:09:54,466.466 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:09:54,468.468 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:09:54,471.471 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:09:54,473.473 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:09:56,512.512 INFO    ] ================================================
[2026-08-29 09:09:56,528.528 INFO    ] Launching Daemon at Sat Aug 29 09:09:56 IST 2026
[2026-08-29 09:09:56,539.539 INFO    ] ================================================
[2026-08-29 09:09:56,910.910 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:09:56
[2026-08-29 09:09:57,226.226 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:09:57,359.359 INFO    ] Initializing speech engine...
[2026-08-29 09:09:57,362.362 INFO    ] 2026-08-29 09:09:57
[2026-08-29 09:09:57,561.561 INFO    ] 2026-08-29 09:09:57
[2026-08-29 09:09:57,626.626 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:09:57,785.785 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:09:57,799.799 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:09:57,925.925 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:09:57,946.946 INFO    ] time= 29/08/2026 09:09:57
[2026-08-29 09:09:57,968.968 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:09:57,977.977 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:09:58,053.053 INFO    ] No existing commands found in stream
[2026-08-29 09:10:03,065.065 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:10:03,069.069 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-08-29 09:10:08,024.024 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:10:08,025.025 INFO    ] Checking for system updates...
[2026-08-29 09:10:08,047.047 INFO    ] 200
[2026-08-29 09:10:08,049.049 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:10:08,083.083 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:10:08,085.085 INFO    ] No update needed
[2026-08-29 09:10:08,086.086 INFO    ] Checking for camera pi updates...
[2026-08-29 09:10:08,107.107 INFO    ] 200
[2026-08-29 09:10:08,109.109 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:10:08,134.134 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:10:08,215.215 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:10:08,218.218 INFO    ] No camera update needed
[2026-08-29 09:10:08,221.221 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:10:08,225.225 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:10:08,233.233 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:10:08,239.239 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:10:10,281.281 INFO    ] ================================================
[2026-08-29 09:10:10,296.296 INFO    ] Launching Daemon at Sat Aug 29 09:10:10 IST 2026
[2026-08-29 09:10:10,307.307 INFO    ] ================================================
[2026-08-29 09:10:10,875.875 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:10:10
[2026-08-29 09:10:11,391.391 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:10:11,537.537 INFO    ] Initializing speech engine...
[2026-08-29 09:10:11,542.542 INFO    ] 2026-08-29 09:10:11
[2026-08-29 09:10:11,745.745 INFO    ] 2026-08-29 09:10:11
[2026-08-29 09:10:11,772.772 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:10:11,904.904 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:10:11,911.911 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:10:12,067.067 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:10:12,118.118 INFO    ] time= 29/08/2026 09:10:12
[2026-08-29 09:10:12,125.125 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:10:12,144.144 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:10:12,248.248 INFO    ] No existing commands found in stream
[2026-08-29 09:10:17,274.274 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:10:17,276.276 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-08-29 09:10:18,147.147 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:10:18,149.149 INFO    ] Checking for system updates...
[2026-08-29 09:10:18,170.170 INFO    ] 200
[2026-08-29 09:10:18,172.172 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:10:18,204.204 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:10:18,206.206 INFO    ] No update needed
[2026-08-29 09:10:18,207.207 INFO    ] Checking for camera pi updates...
[2026-08-29 09:10:18,227.227 INFO    ] 200
[2026-08-29 09:10:18,229.229 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:10:18,253.253 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:10:18,340.340 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:10:18,341.341 INFO    ] No camera update needed
[2026-08-29 09:10:18,343.343 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:10:18,344.344 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:10:18,347.347 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:10:18,350.350 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:10:20,389.389 INFO    ] ================================================
[2026-08-29 09:10:20,405.405 INFO    ] Launching Daemon at Sat Aug 29 09:10:20 IST 2026
[2026-08-29 09:10:20,416.416 INFO    ] ================================================
[2026-08-29 09:10:20,787.787 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:10:20
[2026-08-29 09:10:21,105.105 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:10:21,237.237 INFO    ] Initializing speech engine...
[2026-08-29 09:10:21,241.241 INFO    ] 2026-08-29 09:10:21
[2026-08-29 09:10:21,459.459 INFO    ] 2026-08-29 09:10:21
[2026-08-29 09:10:21,488.488 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:10:21,610.610 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:10:21,659.659 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:10:21,813.813 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:10:21,880.880 INFO    ] time= 29/08/2026 09:10:21
[2026-08-29 09:10:21,904.904 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:10:21,910.910 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:10:21,976.976 INFO    ] No existing commands found in stream
[2026-08-29 09:10:26,987.987 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:10:26,990.990 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-08-29 09:10:31,028.028 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:10:31,030.030 INFO    ] Checking for system updates...
[2026-08-29 09:10:31,051.051 INFO    ] 200
[2026-08-29 09:10:31,053.053 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:10:31,083.083 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:10:31,085.085 INFO    ] No update needed
[2026-08-29 09:10:31,086.086 INFO    ] Checking for camera pi updates...
[2026-08-29 09:10:31,108.108 INFO    ] 200
[2026-08-29 09:10:31,110.110 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:10:31,132.132 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:10:31,215.215 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:10:31,216.216 INFO    ] No camera update needed
[2026-08-29 09:10:31,217.217 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:10:31,219.219 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:10:31,221.221 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:10:31,224.224 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:10:33,265.265 INFO    ] ================================================
[2026-08-29 09:10:33,280.280 INFO    ] Launching Daemon at Sat Aug 29 09:10:33 IST 2026
[2026-08-29 09:10:33,291.291 INFO    ] ================================================
[2026-08-29 09:10:33,956.956 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:10:33
[2026-08-29 09:10:34,643.643 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:10:34,950.950 INFO    ] Initializing speech engine...
[2026-08-29 09:10:34,964.964 INFO    ] 2026-08-29 09:10:34
[2026-08-29 09:10:35,239.239 INFO    ] 2026-08-29 09:10:35
[2026-08-29 09:10:35,296.296 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:10:35,487.487 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:10:35,550.550 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:10:35,694.694 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:10:35,757.757 INFO    ] time= 29/08/2026 09:10:35
[2026-08-29 09:10:35,781.781 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:10:35,787.787 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:10:35,892.892 INFO    ] No existing commands found in stream
[2026-08-29 09:10:40,903.903 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:10:40,906.906 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-08-29 09:10:43,627.627 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:10:43,629.629 INFO    ] Checking for system updates...
[2026-08-29 09:10:43,651.651 INFO    ] 200
[2026-08-29 09:10:43,652.652 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:10:43,685.685 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:10:43,686.686 INFO    ] No update needed
[2026-08-29 09:10:43,688.688 INFO    ] Checking for camera pi updates...
[2026-08-29 09:10:43,707.707 INFO    ] 200
[2026-08-29 09:10:43,709.709 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:10:43,732.732 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:10:43,814.814 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:10:43,815.815 INFO    ] No camera update needed
[2026-08-29 09:10:43,817.817 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:10:43,818.818 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:10:43,821.821 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:10:43,824.824 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:10:45,865.865 INFO    ] ================================================
[2026-08-29 09:10:45,881.881 INFO    ] Launching Daemon at Sat Aug 29 09:10:45 IST 2026
[2026-08-29 09:10:45,892.892 INFO    ] ================================================
[2026-08-29 09:10:46,264.264 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:10:46
[2026-08-29 09:10:46,603.603 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:10:46,756.756 INFO    ] Initializing speech engine...
[2026-08-29 09:10:46,760.760 INFO    ] 2026-08-29 09:10:46
[2026-08-29 09:10:46,966.966 INFO    ] 2026-08-29 09:10:46
[2026-08-29 09:10:46,995.995 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:10:47,117.117 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:10:47,180.180 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:10:47,318.318 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:10:47,382.382 INFO    ] time= 29/08/2026 09:10:47
[2026-08-29 09:10:47,408.408 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:10:47,415.415 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:10:47,481.481 INFO    ] No existing commands found in stream
[2026-08-29 09:10:52,492.492 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:10:52,495.495 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-08-29 09:10:54,379.379 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:10:54,380.380 INFO    ] Checking for system updates...
[2026-08-29 09:10:54,403.403 INFO    ] 200
[2026-08-29 09:10:54,404.404 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:10:54,437.437 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:10:54,438.438 INFO    ] No update needed
[2026-08-29 09:10:54,439.439 INFO    ] Checking for camera pi updates...
[2026-08-29 09:10:54,462.462 INFO    ] 200
[2026-08-29 09:10:54,464.464 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:10:54,489.489 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:10:54,607.607 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:10:54,609.609 INFO    ] No camera update needed
[2026-08-29 09:10:54,610.610 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:10:54,611.611 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:10:54,615.615 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:10:54,617.617 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:10:56,657.657 INFO    ] ================================================
[2026-08-29 09:10:56,673.673 INFO    ] Launching Daemon at Sat Aug 29 09:10:56 IST 2026
[2026-08-29 09:10:56,685.685 INFO    ] ================================================
[2026-08-29 09:10:57,040.040 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:10:57
[2026-08-29 09:10:57,381.381 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:10:57,533.533 INFO    ] Initializing speech engine...
[2026-08-29 09:10:57,539.539 INFO    ] 2026-08-29 09:10:57
[2026-08-29 09:10:57,760.760 INFO    ] 2026-08-29 09:10:57
[2026-08-29 09:10:57,800.800 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:10:57,980.980 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:10:57,993.993 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:10:58,138.138 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:10:58,147.147 INFO    ] time= 29/08/2026 09:10:58
[2026-08-29 09:10:58,156.156 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:10:58,220.220 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:10:58,332.332 INFO    ] No existing commands found in stream
[2026-08-29 09:11:03,363.363 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:11:03,366.366 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-08-29 09:11:04,935.935 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:11:04,937.937 INFO    ] Checking for system updates...
[2026-08-29 09:11:04,957.957 INFO    ] 200
[2026-08-29 09:11:04,959.959 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:11:04,993.993 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:11:04,994.994 INFO    ] No update needed
[2026-08-29 09:11:04,995.995 INFO    ] Checking for camera pi updates...
[2026-08-29 09:11:05,014.014 INFO    ] 200
[2026-08-29 09:11:05,015.015 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:11:05,038.038 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:11:05,120.120 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:11:05,121.121 INFO    ] No camera update needed
[2026-08-29 09:11:05,123.123 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:11:05,124.124 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:11:05,127.127 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:11:05,129.129 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:11:07,170.170 INFO    ] ================================================
[2026-08-29 09:11:07,185.185 INFO    ] Launching Daemon at Sat Aug 29 09:11:07 IST 2026
[2026-08-29 09:11:07,196.196 INFO    ] ================================================
[2026-08-29 09:11:07,550.550 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:11:07
[2026-08-29 09:11:07,860.860 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:11:08,113.113 INFO    ] Initializing speech engine...
[2026-08-29 09:11:08,122.122 INFO    ] 2026-08-29 09:11:08
[2026-08-29 09:11:08,375.375 INFO    ] 2026-08-29 09:11:08
[2026-08-29 09:11:08,433.433 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:11:08,575.575 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:11:08,598.598 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:11:08,728.728 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:11:08,735.735 INFO    ] time= 29/08/2026 09:11:08
[2026-08-29 09:11:08,742.742 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:11:08,788.788 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:11:08,920.920 INFO    ] No existing commands found in stream
[2026-08-29 09:11:13,941.941 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:11:13,944.944 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-08-29 09:11:14,692.692 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:11:14,693.693 INFO    ] Checking for system updates...
[2026-08-29 09:11:14,714.714 INFO    ] 200
[2026-08-29 09:11:14,715.715 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:11:14,746.746 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:11:14,747.747 INFO    ] No update needed
[2026-08-29 09:11:14,748.748 INFO    ] Checking for camera pi updates...
[2026-08-29 09:11:14,767.767 INFO    ] 200
[2026-08-29 09:11:14,768.768 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:11:14,791.791 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:11:14,881.881 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:11:14,882.882 INFO    ] No camera update needed
[2026-08-29 09:11:14,883.883 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:11:14,885.885 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:11:14,888.888 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:11:14,890.890 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:11:16,929.929 INFO    ] ================================================
[2026-08-29 09:11:16,945.945 INFO    ] Launching Daemon at Sat Aug 29 09:11:16 IST 2026
[2026-08-29 09:11:16,956.956 INFO    ] ================================================
[2026-08-29 09:11:17,321.321 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:11:17
[2026-08-29 09:11:17,633.633 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:11:17,767.767 INFO    ] Initializing speech engine...
[2026-08-29 09:11:17,770.770 INFO    ] 2026-08-29 09:11:17
[2026-08-29 09:11:17,998.998 INFO    ] 2026-08-29 09:11:17
[2026-08-29 09:11:18,029.029 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:11:18,160.160 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:11:18,203.203 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:11:18,372.372 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:11:18,430.430 INFO    ] time= 29/08/2026 09:11:18
[2026-08-29 09:11:18,464.464 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:11:18,476.476 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:11:18,551.551 INFO    ] No existing commands found in stream
[2026-08-29 09:11:23,562.562 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:11:23,565.565 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-08-29 09:11:27,233.233 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:11:27,235.235 INFO    ] Checking for system updates...
[2026-08-29 09:11:27,255.255 INFO    ] 200
[2026-08-29 09:11:27,256.256 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:11:27,286.286 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:11:27,287.287 INFO    ] No update needed
[2026-08-29 09:11:27,288.288 INFO    ] Checking for camera pi updates...
[2026-08-29 09:11:27,307.307 INFO    ] 200
[2026-08-29 09:11:27,308.308 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:11:27,332.332 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:11:27,413.413 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:11:27,415.415 INFO    ] No camera update needed
[2026-08-29 09:11:27,418.418 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:11:27,420.420 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:11:27,425.425 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:11:27,430.430 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:11:29,469.469 INFO    ] ================================================
[2026-08-29 09:11:29,485.485 INFO    ] Launching Daemon at Sat Aug 29 09:11:29 IST 2026
[2026-08-29 09:11:29,496.496 INFO    ] ================================================
[2026-08-29 09:11:30,064.064 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:11:30
[2026-08-29 09:11:30,570.570 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:11:30,707.707 INFO    ] Initializing speech engine...
[2026-08-29 09:11:30,720.720 INFO    ] 2026-08-29 09:11:30
[2026-08-29 09:11:30,941.941 INFO    ] 2026-08-29 09:11:30
[2026-08-29 09:11:30,972.972 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:11:31,103.103 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:11:31,169.169 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:11:31,263.263 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:11:31,311.311 INFO    ] time= 29/08/2026 09:11:31
[2026-08-29 09:11:31,331.331 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:11:31,391.391 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:11:31,491.491 INFO    ] No existing commands found in stream
[2026-08-29 09:11:36,502.502 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:11:36,504.504 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-08-29 09:11:37,581.581 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:11:37,583.583 INFO    ] Checking for system updates...
[2026-08-29 09:11:37,604.604 INFO    ] 200
[2026-08-29 09:11:37,605.605 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:11:37,635.635 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:11:37,636.636 INFO    ] No update needed
[2026-08-29 09:11:37,637.637 INFO    ] Checking for camera pi updates...
[2026-08-29 09:11:37,658.658 INFO    ] 200
[2026-08-29 09:11:37,659.659 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:11:37,682.682 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:11:37,783.783 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:11:37,784.784 INFO    ] No camera update needed
[2026-08-29 09:11:37,786.786 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:11:37,787.787 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:11:37,790.790 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:11:37,793.793 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:11:39,830.830 INFO    ] ================================================
[2026-08-29 09:11:39,845.845 INFO    ] Launching Daemon at Sat Aug 29 09:11:39 IST 2026
[2026-08-29 09:11:39,856.856 INFO    ] ================================================
[2026-08-29 09:11:40,423.423 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:11:40
[2026-08-29 09:11:41,010.010 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:11:41,283.283 INFO    ] Initializing speech engine...
[2026-08-29 09:11:41,291.291 INFO    ] 2026-08-29 09:11:41
[2026-08-29 09:11:41,541.541 INFO    ] 2026-08-29 09:11:41
[2026-08-29 09:11:41,576.576 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:11:41,753.753 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:11:41,766.766 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:11:41,911.911 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:11:41,919.919 INFO    ] time= 29/08/2026 09:11:41
[2026-08-29 09:11:41,926.926 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:11:41,973.973 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:11:42,094.094 INFO    ] No existing commands found in stream
[2026-08-29 09:11:47,124.124 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:11:47,127.127 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-08-29 09:11:49,812.812 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:11:49,814.814 INFO    ] Checking for system updates...
[2026-08-29 09:11:49,834.834 INFO    ] 200
[2026-08-29 09:11:49,835.835 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:11:49,865.865 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:11:49,866.866 INFO    ] No update needed
[2026-08-29 09:11:49,867.867 INFO    ] Checking for camera pi updates...
[2026-08-29 09:11:49,886.886 INFO    ] 200
[2026-08-29 09:11:49,888.888 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:11:49,911.911 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:11:50,091.091 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:11:50,093.093 INFO    ] No camera update needed
[2026-08-29 09:11:50,096.096 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:11:50,098.098 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:11:50,103.103 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:11:50,108.108 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:11:52,147.147 INFO    ] ================================================
[2026-08-29 09:11:52,162.162 INFO    ] Launching Daemon at Sat Aug 29 09:11:52 IST 2026
[2026-08-29 09:11:52,173.173 INFO    ] ================================================
[2026-08-29 09:11:52,742.742 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:11:52
[2026-08-29 09:11:53,157.157 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:11:53,307.307 INFO    ] Initializing speech engine...
[2026-08-29 09:11:53,313.313 INFO    ] 2026-08-29 09:11:53
[2026-08-29 09:11:53,519.519 INFO    ] 2026-08-29 09:11:53
[2026-08-29 09:11:53,547.547 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:11:53,670.670 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:11:53,733.733 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:11:53,870.870 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:11:53,935.935 INFO    ] time= 29/08/2026 09:11:53
[2026-08-29 09:11:53,962.962 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:11:53,969.969 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:11:54,034.034 INFO    ] No existing commands found in stream
[2026-08-29 09:11:59,045.045 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:11:59,048.048 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-08-29 09:12:03,464.464 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:12:03,467.467 INFO    ] Checking for system updates...
[2026-08-29 09:12:03,503.503 INFO    ] 200
[2026-08-29 09:12:03,506.506 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:12:03,560.560 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:12:03,563.563 INFO    ] No update needed
[2026-08-29 09:12:03,565.565 INFO    ] Checking for camera pi updates...
[2026-08-29 09:12:03,602.602 INFO    ] 200
[2026-08-29 09:12:03,605.605 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:12:03,646.646 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:12:03,755.755 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:12:03,758.758 INFO    ] No camera update needed
[2026-08-29 09:12:03,760.760 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:12:03,762.762 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:12:03,768.768 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:12:03,772.772 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:12:05,812.812 INFO    ] ================================================
[2026-08-29 09:12:05,827.827 INFO    ] Launching Daemon at Sat Aug 29 09:12:05 IST 2026
[2026-08-29 09:12:05,838.838 INFO    ] ================================================
[2026-08-29 09:12:06,366.366 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:12:06
[2026-08-29 09:12:06,951.951 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:12:07,209.209 INFO    ] Initializing speech engine...
[2026-08-29 09:12:07,227.227 INFO    ] 2026-08-29 09:12:07
[2026-08-29 09:12:07,475.475 INFO    ] 2026-08-29 09:12:07
[2026-08-29 09:12:07,510.510 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:12:07,681.681 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:12:07,694.694 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:12:07,830.830 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:12:07,843.843 INFO    ] time= 29/08/2026 09:12:07
[2026-08-29 09:12:07,848.848 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:12:07,853.853 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:12:07,920.920 INFO    ] No existing commands found in stream
[2026-08-29 09:12:12,935.935 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:12:12,938.938 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 09:12:15,305.305 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:12:15,307.307 INFO    ] Checking for system updates...
[2026-08-29 09:12:15,327.327 INFO    ] 200
[2026-08-29 09:12:15,329.329 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:12:15,363.363 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:12:15,365.365 INFO    ] No update needed
[2026-08-29 09:12:15,366.366 INFO    ] Checking for camera pi updates...
[2026-08-29 09:12:15,385.385 INFO    ] 200
[2026-08-29 09:12:15,386.386 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:12:15,409.409 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:12:15,498.498 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:12:15,500.500 INFO    ] No camera update needed
[2026-08-29 09:12:15,501.501 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:12:15,502.502 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:12:15,505.505 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:12:15,508.508 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:12:17,546.546 INFO    ] ================================================
[2026-08-29 09:12:17,561.561 INFO    ] Launching Daemon at Sat Aug 29 09:12:17 IST 2026
[2026-08-29 09:12:17,572.572 INFO    ] ================================================
[2026-08-29 09:12:17,920.920 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:12:17
[2026-08-29 09:12:18,233.233 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:12:18,468.468 INFO    ] Initializing speech engine...
[2026-08-29 09:12:18,476.476 INFO    ] 2026-08-29 09:12:18
[2026-08-29 09:12:18,735.735 INFO    ] 2026-08-29 09:12:18
[2026-08-29 09:12:18,789.789 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:12:18,940.940 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:12:18,960.960 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:12:19,086.086 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:12:19,092.092 INFO    ] time= 29/08/2026 09:12:19
[2026-08-29 09:12:19,098.098 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:12:19,143.143 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:12:19,257.257 INFO    ] No existing commands found in stream
[2026-08-29 09:12:24,283.283 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:12:24,286.286 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-08-29 09:12:25,338.338 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:12:25,340.340 INFO    ] Checking for system updates...
[2026-08-29 09:12:25,361.361 INFO    ] 200
[2026-08-29 09:12:25,363.363 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:12:25,394.394 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:12:25,395.395 INFO    ] No update needed
[2026-08-29 09:12:25,396.396 INFO    ] Checking for camera pi updates...
[2026-08-29 09:12:25,415.415 INFO    ] 200
[2026-08-29 09:12:25,416.416 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:12:25,439.439 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:12:25,513.513 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:12:25,515.515 INFO    ] No camera update needed
[2026-08-29 09:12:25,516.516 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:12:25,517.517 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:12:25,520.520 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:12:25,523.523 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:12:27,561.561 INFO    ] ================================================
[2026-08-29 09:12:27,576.576 INFO    ] Launching Daemon at Sat Aug 29 09:12:27 IST 2026
[2026-08-29 09:12:27,587.587 INFO    ] ================================================
[2026-08-29 09:12:27,957.957 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:12:27
[2026-08-29 09:12:28,274.274 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:12:28,408.408 INFO    ] Initializing speech engine...
[2026-08-29 09:12:28,412.412 INFO    ] 2026-08-29 09:12:28
[2026-08-29 09:12:28,608.608 INFO    ] 2026-08-29 09:12:28
[2026-08-29 09:12:28,653.653 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:12:28,813.813 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:12:28,853.853 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:12:28,997.997 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:12:29,032.032 INFO    ] time= 29/08/2026 09:12:29
[2026-08-29 09:12:29,047.047 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:12:29,106.106 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:12:29,188.188 INFO    ] No existing commands found in stream
[2026-08-29 09:12:34,223.223 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:12:34,226.226 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-08-29 09:12:38,309.309 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:12:38,310.310 INFO    ] Checking for system updates...
[2026-08-29 09:12:38,332.332 INFO    ] 200
[2026-08-29 09:12:38,334.334 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:12:38,363.363 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:12:38,365.365 INFO    ] No update needed
[2026-08-29 09:12:38,366.366 INFO    ] Checking for camera pi updates...
[2026-08-29 09:12:38,386.386 INFO    ] 200
[2026-08-29 09:12:38,388.388 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:12:38,412.412 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:12:38,494.494 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:12:38,497.497 INFO    ] No camera update needed
[2026-08-29 09:12:38,499.499 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:12:38,501.501 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:12:38,507.507 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:12:38,512.512 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:12:40,552.552 INFO    ] ================================================
[2026-08-29 09:12:40,568.568 INFO    ] Launching Daemon at Sat Aug 29 09:12:40 IST 2026
[2026-08-29 09:12:40,579.579 INFO    ] ================================================
[2026-08-29 09:12:41,206.206 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:12:41
[2026-08-29 09:12:41,685.685 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:12:41,841.841 INFO    ] Initializing speech engine...
[2026-08-29 09:12:41,845.845 INFO    ] 2026-08-29 09:12:41
[2026-08-29 09:12:42,054.054 INFO    ] 2026-08-29 09:12:42
[2026-08-29 09:12:42,085.085 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:12:42,230.230 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:12:42,274.274 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:12:42,407.407 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:12:42,458.458 INFO    ] time= 29/08/2026 09:12:42
[2026-08-29 09:12:42,503.503 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:12:42,514.514 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:12:42,580.580 INFO    ] No existing commands found in stream
[2026-08-29 09:12:47,592.592 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:12:47,595.595 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-08-29 09:12:50,633.633 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:12:50,634.634 INFO    ] Checking for system updates...
[2026-08-29 09:12:50,656.656 INFO    ] 200
[2026-08-29 09:12:50,658.658 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:12:50,688.688 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:12:50,689.689 INFO    ] No update needed
[2026-08-29 09:12:50,691.691 INFO    ] Checking for camera pi updates...
[2026-08-29 09:12:50,723.723 INFO    ] 200
[2026-08-29 09:12:50,724.724 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:12:50,750.750 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:12:50,828.828 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:12:50,830.830 INFO    ] No camera update needed
[2026-08-29 09:12:50,831.831 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:12:50,833.833 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:12:50,836.836 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:12:50,839.839 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:12:52,878.878 INFO    ] ================================================
[2026-08-29 09:12:52,894.894 INFO    ] Launching Daemon at Sat Aug 29 09:12:52 IST 2026
[2026-08-29 09:12:52,904.904 INFO    ] ================================================
[2026-08-29 09:12:53,276.276 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:12:53
[2026-08-29 09:12:53,617.617 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:12:53,768.768 INFO    ] Initializing speech engine...
[2026-08-29 09:12:53,773.773 INFO    ] 2026-08-29 09:12:53
[2026-08-29 09:12:54,070.070 INFO    ] 2026-08-29 09:12:54
[2026-08-29 09:12:54,108.108 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:12:54,329.329 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:12:54,339.339 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:12:54,479.479 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:12:54,549.549 INFO    ] time= 29/08/2026 09:12:54
[2026-08-29 09:12:54,601.601 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:12:54,620.620 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:12:54,735.735 INFO    ] No existing commands found in stream
[2026-08-29 09:12:59,763.763 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:12:59,766.766 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-08-29 09:13:03,856.856 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:13:03,860.860 INFO    ] Checking for system updates...
[2026-08-29 09:13:03,898.898 INFO    ] 200
[2026-08-29 09:13:03,901.901 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:13:03,955.955 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:13:03,958.958 INFO    ] No update needed
[2026-08-29 09:13:03,960.960 INFO    ] Checking for camera pi updates...
[2026-08-29 09:13:03,995.995 INFO    ] 200
[2026-08-29 09:13:03,998.998 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:13:04,039.039 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:13:04,136.136 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:13:04,138.138 INFO    ] No camera update needed
[2026-08-29 09:13:04,141.141 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:13:04,144.144 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:13:04,150.150 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:13:04,156.156 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:13:06,197.197 INFO    ] ================================================
[2026-08-29 09:13:06,212.212 INFO    ] Launching Daemon at Sat Aug 29 09:13:06 IST 2026
[2026-08-29 09:13:06,223.223 INFO    ] ================================================
[2026-08-29 09:13:06,544.544 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:13:06
[2026-08-29 09:13:07,119.119 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:13:07,431.431 INFO    ] Initializing speech engine...
[2026-08-29 09:13:07,442.442 INFO    ] 2026-08-29 09:13:07
[2026-08-29 09:13:07,721.721 INFO    ] 2026-08-29 09:13:07
[2026-08-29 09:13:07,756.756 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:13:07,983.983 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:13:07,992.992 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:13:08,127.127 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:13:08,175.175 INFO    ] time= 29/08/2026 09:13:08
[2026-08-29 09:13:08,234.234 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:13:08,264.264 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:13:08,325.325 INFO    ] No existing commands found in stream
[2026-08-29 09:13:13,334.334 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:13:13,337.337 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-08-29 09:13:16,372.372 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:13:16,374.374 INFO    ] Checking for system updates...
[2026-08-29 09:13:16,396.396 INFO    ] 200
[2026-08-29 09:13:16,398.398 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:13:16,430.430 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:13:16,431.431 INFO    ] No update needed
[2026-08-29 09:13:16,433.433 INFO    ] Checking for camera pi updates...
[2026-08-29 09:13:16,453.453 INFO    ] 200
[2026-08-29 09:13:16,455.455 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:13:16,477.477 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:13:16,563.563 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:13:16,565.565 INFO    ] No camera update needed
[2026-08-29 09:13:16,568.568 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:13:16,570.570 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:13:16,575.575 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:13:16,580.580 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:13:18,620.620 INFO    ] ================================================
[2026-08-29 09:13:18,635.635 INFO    ] Launching Daemon at Sat Aug 29 09:13:18 IST 2026
[2026-08-29 09:13:18,646.646 INFO    ] ================================================
[2026-08-29 09:13:19,229.229 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:13:19
[2026-08-29 09:13:19,726.726 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:13:19,871.871 INFO    ] Initializing speech engine...
[2026-08-29 09:13:19,876.876 INFO    ] 2026-08-29 09:13:19
[2026-08-29 09:13:20,098.098 INFO    ] 2026-08-29 09:13:20
[2026-08-29 09:13:20,133.133 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:13:20,306.306 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:13:20,318.318 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:13:20,462.462 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:13:20,467.467 INFO    ] time= 29/08/2026 09:13:20
[2026-08-29 09:13:20,474.474 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:13:20,514.514 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:13:20,632.632 INFO    ] No existing commands found in stream
[2026-08-29 09:13:25,663.663 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:13:25,665.665 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-08-29 09:13:27,501.501 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:13:27,502.502 INFO    ] Checking for system updates...
[2026-08-29 09:13:27,524.524 INFO    ] 200
[2026-08-29 09:13:27,525.525 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:13:27,560.560 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:13:27,561.561 INFO    ] No update needed
[2026-08-29 09:13:27,562.562 INFO    ] Checking for camera pi updates...
[2026-08-29 09:13:27,581.581 INFO    ] 200
[2026-08-29 09:13:27,583.583 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:13:27,608.608 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:13:27,710.710 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:13:27,711.711 INFO    ] No camera update needed
[2026-08-29 09:13:27,713.713 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:13:27,714.714 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:13:27,717.717 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:13:27,719.719 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:13:29,760.760 INFO    ] ================================================
[2026-08-29 09:13:29,775.775 INFO    ] Launching Daemon at Sat Aug 29 09:13:29 IST 2026
[2026-08-29 09:13:29,785.785 INFO    ] ================================================
[2026-08-29 09:13:30,287.287 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:13:30
[2026-08-29 09:13:30,878.878 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:13:31,154.154 INFO    ] Initializing speech engine...
[2026-08-29 09:13:31,163.163 INFO    ] 2026-08-29 09:13:31
[2026-08-29 09:13:31,413.413 INFO    ] 2026-08-29 09:13:31
[2026-08-29 09:13:31,448.448 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:13:31,625.625 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:13:31,638.638 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:13:31,750.750 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:13:31,769.769 INFO    ] time= 29/08/2026 09:13:31
[2026-08-29 09:13:31,789.789 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:13:31,796.796 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:13:31,866.866 INFO    ] No existing commands found in stream
[2026-08-29 09:13:36,878.878 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:13:36,880.880 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-08-29 09:13:40,161.161 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:13:40,163.163 INFO    ] Checking for system updates...
[2026-08-29 09:13:40,204.204 INFO    ] 200
[2026-08-29 09:13:40,206.206 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:13:40,259.259 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:13:40,262.262 INFO    ] No update needed
[2026-08-29 09:13:40,264.264 INFO    ] Checking for camera pi updates...
[2026-08-29 09:13:40,298.298 INFO    ] 200
[2026-08-29 09:13:40,301.301 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:13:40,341.341 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:13:40,420.420 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:13:40,423.423 INFO    ] No camera update needed
[2026-08-29 09:13:40,426.426 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:13:40,429.429 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:13:40,435.435 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:13:40,441.441 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:13:42,481.481 INFO    ] ================================================
[2026-08-29 09:13:42,496.496 INFO    ] Launching Daemon at Sat Aug 29 09:13:42 IST 2026
[2026-08-29 09:13:42,507.507 INFO    ] ================================================
[2026-08-29 09:13:42,908.908 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:13:42
[2026-08-29 09:13:43,225.225 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:13:43,364.364 INFO    ] Initializing speech engine...
[2026-08-29 09:13:43,374.374 INFO    ] 2026-08-29 09:13:43
[2026-08-29 09:13:43,580.580 INFO    ] 2026-08-29 09:13:43
[2026-08-29 09:13:43,608.608 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:13:43,730.730 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:13:43,795.795 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:13:43,926.926 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:13:43,977.977 INFO    ] time= 29/08/2026 09:13:43
[2026-08-29 09:13:44,026.026 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:13:44,028.028 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:13:44,099.099 INFO    ] No existing commands found in stream
[2026-08-29 09:13:49,109.109 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:13:49,112.112 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-08-29 09:13:50,001.001 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:13:50,003.003 INFO    ] Checking for system updates...
[2026-08-29 09:13:50,046.046 INFO    ] 200
[2026-08-29 09:13:50,049.049 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:13:50,101.101 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:13:50,104.104 INFO    ] No update needed
[2026-08-29 09:13:50,106.106 INFO    ] Checking for camera pi updates...
[2026-08-29 09:13:50,150.150 INFO    ] 200
[2026-08-29 09:13:50,155.155 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:13:50,197.197 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:13:50,279.279 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:13:50,281.281 INFO    ] No camera update needed
[2026-08-29 09:13:50,284.284 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:13:50,286.286 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:13:50,292.292 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:13:50,298.298 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:13:52,338.338 INFO    ] ================================================
[2026-08-29 09:13:52,353.353 INFO    ] Launching Daemon at Sat Aug 29 09:13:52 IST 2026
[2026-08-29 09:13:52,364.364 INFO    ] ================================================
[2026-08-29 09:13:52,934.934 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:13:52
[2026-08-29 09:13:53,466.466 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:13:53,619.619 INFO    ] Initializing speech engine...
[2026-08-29 09:13:53,629.629 INFO    ] 2026-08-29 09:13:53
[2026-08-29 09:13:53,929.929 INFO    ] 2026-08-29 09:13:53
[2026-08-29 09:13:53,966.966 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:13:54,135.135 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:13:54,141.141 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:13:54,316.316 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:13:54,327.327 INFO    ] time= 29/08/2026 09:13:54
[2026-08-29 09:13:54,333.333 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:13:54,358.358 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:13:54,410.410 INFO    ] No existing commands found in stream
[2026-08-29 09:13:59,421.421 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:13:59,424.424 INFO    ] Waiting 3.71 seconds before fallback handling...
[2026-08-29 09:14:03,555.555 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:14:03,557.557 INFO    ] Checking for system updates...
[2026-08-29 09:14:03,594.594 INFO    ] 200
[2026-08-29 09:14:03,596.596 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:14:03,656.656 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:14:03,658.658 INFO    ] No update needed
[2026-08-29 09:14:03,661.661 INFO    ] Checking for camera pi updates...
[2026-08-29 09:14:03,695.695 INFO    ] 200
[2026-08-29 09:14:03,697.697 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:14:03,740.740 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:14:03,824.824 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:14:03,827.827 INFO    ] No camera update needed
[2026-08-29 09:14:03,829.829 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:14:03,832.832 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:14:03,838.838 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:14:03,844.844 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:14:05,887.887 INFO    ] ================================================
[2026-08-29 09:14:05,902.902 INFO    ] Launching Daemon at Sat Aug 29 09:14:05 IST 2026
[2026-08-29 09:14:05,913.913 INFO    ] ================================================
[2026-08-29 09:14:06,471.471 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:14:06
[2026-08-29 09:14:07,061.061 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:14:07,331.331 INFO    ] Initializing speech engine...
[2026-08-29 09:14:07,340.340 INFO    ] 2026-08-29 09:14:07
[2026-08-29 09:14:07,589.589 INFO    ] 2026-08-29 09:14:07
[2026-08-29 09:14:07,628.628 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:14:07,800.800 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:14:07,811.811 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:14:07,953.953 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:14:07,960.960 INFO    ] time= 29/08/2026 09:14:07
[2026-08-29 09:14:07,967.967 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:14:07,989.989 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:14:08,108.108 INFO    ] No existing commands found in stream
[2026-08-29 09:14:13,139.139 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:14:13,141.141 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-08-29 09:14:15,514.514 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:14:15,515.515 INFO    ] Checking for system updates...
[2026-08-29 09:14:15,537.537 INFO    ] 200
[2026-08-29 09:14:15,538.538 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:14:15,568.568 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:14:15,569.569 INFO    ] No update needed
[2026-08-29 09:14:15,570.570 INFO    ] Checking for camera pi updates...
[2026-08-29 09:14:15,589.589 INFO    ] 200
[2026-08-29 09:14:15,591.591 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:14:15,631.631 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:14:15,720.720 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:14:15,722.722 INFO    ] No camera update needed
[2026-08-29 09:14:15,725.725 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:14:15,727.727 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:14:15,732.732 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:14:15,737.737 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:14:17,779.779 INFO    ] ================================================
[2026-08-29 09:14:17,794.794 INFO    ] Launching Daemon at Sat Aug 29 09:14:17 IST 2026
[2026-08-29 09:14:17,805.805 INFO    ] ================================================
[2026-08-29 09:14:18,388.388 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:14:18
[2026-08-29 09:14:18,865.865 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:14:19,002.002 INFO    ] Initializing speech engine...
[2026-08-29 09:14:19,010.010 INFO    ] 2026-08-29 09:14:19
[2026-08-29 09:14:19,236.236 INFO    ] 2026-08-29 09:14:19
[2026-08-29 09:14:19,268.268 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:14:19,381.381 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:14:19,404.404 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:14:19,571.571 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:14:19,626.626 INFO    ] time= 29/08/2026 09:14:19
[2026-08-29 09:14:19,647.647 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:14:19,665.665 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:14:19,766.766 INFO    ] No existing commands found in stream
[2026-08-29 09:14:24,795.795 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:14:24,797.797 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-08-29 09:14:27,034.034 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:14:27,036.036 INFO    ] Checking for system updates...
[2026-08-29 09:14:27,056.056 INFO    ] 200
[2026-08-29 09:14:27,058.058 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:14:27,088.088 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:14:27,089.089 INFO    ] No update needed
[2026-08-29 09:14:27,091.091 INFO    ] Checking for camera pi updates...
[2026-08-29 09:14:27,110.110 INFO    ] 200
[2026-08-29 09:14:27,112.112 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:14:27,135.135 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:14:27,229.229 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:14:27,230.230 INFO    ] No camera update needed
[2026-08-29 09:14:27,232.232 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:14:27,233.233 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:14:27,237.237 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:14:27,240.240 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:14:29,279.279 INFO    ] ================================================
[2026-08-29 09:14:29,295.295 INFO    ] Launching Daemon at Sat Aug 29 09:14:29 IST 2026
[2026-08-29 09:14:29,307.307 INFO    ] ================================================
[2026-08-29 09:14:29,654.654 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:14:29
[2026-08-29 09:14:29,971.971 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:14:30,110.110 INFO    ] Initializing speech engine...
[2026-08-29 09:14:30,120.120 INFO    ] 2026-08-29 09:14:30
[2026-08-29 09:14:30,324.324 INFO    ] 2026-08-29 09:14:30
[2026-08-29 09:14:30,352.352 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:14:30,464.464 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:14:30,508.508 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:14:30,658.658 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:14:30,676.676 INFO    ] time= 29/08/2026 09:14:30
[2026-08-29 09:14:30,685.685 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:14:30,710.710 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:14:30,814.814 INFO    ] No existing commands found in stream
[2026-08-29 09:14:35,827.827 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:14:35,830.830 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-08-29 09:14:37,944.944 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:14:37,946.946 INFO    ] Checking for system updates...
[2026-08-29 09:14:37,967.967 INFO    ] 200
[2026-08-29 09:14:37,968.968 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:14:38,001.001 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:14:38,002.002 INFO    ] No update needed
[2026-08-29 09:14:38,004.004 INFO    ] Checking for camera pi updates...
[2026-08-29 09:14:38,024.024 INFO    ] 200
[2026-08-29 09:14:38,025.025 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:14:38,048.048 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:14:38,143.143 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:14:38,144.144 INFO    ] No camera update needed
[2026-08-29 09:14:38,146.146 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:14:38,147.147 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:14:38,150.150 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:14:38,153.153 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:14:40,193.193 INFO    ] ================================================
[2026-08-29 09:14:40,209.209 INFO    ] Launching Daemon at Sat Aug 29 09:14:40 IST 2026
[2026-08-29 09:14:40,220.220 INFO    ] ================================================
[2026-08-29 09:14:40,560.560 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:14:40
[2026-08-29 09:14:40,877.877 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:14:41,126.126 INFO    ] Initializing speech engine...
[2026-08-29 09:14:41,136.136 INFO    ] 2026-08-29 09:14:41
[2026-08-29 09:14:41,403.403 INFO    ] 2026-08-29 09:14:41
[2026-08-29 09:14:41,456.456 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:14:41,620.620 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:14:41,668.668 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:14:41,819.819 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:14:41,836.836 INFO    ] time= 29/08/2026 09:14:41
[2026-08-29 09:14:41,885.885 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:14:41,934.934 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:14:42,003.003 INFO    ] No existing commands found in stream
[2026-08-29 09:14:47,014.014 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:14:47,017.017 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-08-29 09:14:49,477.477 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:14:49,479.479 INFO    ] Checking for system updates...
[2026-08-29 09:14:49,499.499 INFO    ] 200
[2026-08-29 09:14:49,500.500 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:14:49,533.533 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:14:49,535.535 INFO    ] No update needed
[2026-08-29 09:14:49,536.536 INFO    ] Checking for camera pi updates...
[2026-08-29 09:14:49,555.555 INFO    ] 200
[2026-08-29 09:14:49,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:14:49,578.578 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:14:49,629.629 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:14:49,631.631 INFO    ] No camera update needed
[2026-08-29 09:14:49,632.632 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:14:49,633.633 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:14:49,636.636 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:14:49,639.639 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:14:51,676.676 INFO    ] ================================================
[2026-08-29 09:14:51,692.692 INFO    ] Launching Daemon at Sat Aug 29 09:14:51 IST 2026
[2026-08-29 09:14:51,703.703 INFO    ] ================================================
[2026-08-29 09:14:52,086.086 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:14:52
[2026-08-29 09:14:52,435.435 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:14:52,587.587 INFO    ] Initializing speech engine...
[2026-08-29 09:14:52,594.594 INFO    ] 2026-08-29 09:14:52
[2026-08-29 09:14:52,802.802 INFO    ] 2026-08-29 09:14:52
[2026-08-29 09:14:52,831.831 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:14:52,965.965 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:14:53,026.026 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:14:53,182.182 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:14:53,228.228 INFO    ] time= 29/08/2026 09:14:53
[2026-08-29 09:14:53,283.283 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:14:53,325.325 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:14:53,444.444 INFO    ] No existing commands found in stream
[2026-08-29 09:14:58,470.470 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:14:58,473.473 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-08-29 09:15:02,663.663 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:15:02,666.666 INFO    ] Checking for system updates...
[2026-08-29 09:15:02,709.709 INFO    ] 200
[2026-08-29 09:15:02,713.713 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:15:02,789.789 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:15:02,792.792 INFO    ] No update needed
[2026-08-29 09:15:02,795.795 INFO    ] Checking for camera pi updates...
[2026-08-29 09:15:02,834.834 INFO    ] 200
[2026-08-29 09:15:02,837.837 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:15:02,886.886 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:15:02,998.998 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:15:03,001.001 INFO    ] No camera update needed
[2026-08-29 09:15:03,004.004 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:15:03,007.007 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:15:03,013.013 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:15:03,019.019 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:15:05,063.063 INFO    ] ================================================
[2026-08-29 09:15:05,079.079 INFO    ] Launching Daemon at Sat Aug 29 09:15:05 IST 2026
[2026-08-29 09:15:05,090.090 INFO    ] ================================================
[2026-08-29 09:15:05,458.458 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:15:05
[2026-08-29 09:15:05,771.771 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:15:05,902.902 INFO    ] Initializing speech engine...
[2026-08-29 09:15:05,907.907 INFO    ] 2026-08-29 09:15:05
[2026-08-29 09:15:06,111.111 INFO    ] 2026-08-29 09:15:06
[2026-08-29 09:15:06,155.155 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:15:06,382.382 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:15:06,391.391 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:15:06,529.529 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:15:06,551.551 INFO    ] time= 29/08/2026 09:15:06
[2026-08-29 09:15:06,611.611 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:15:06,657.657 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:15:06,736.736 INFO    ] No existing commands found in stream
[2026-08-29 09:15:11,748.748 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:15:11,751.751 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-08-29 09:15:14,978.978 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:15:14,980.980 INFO    ] Checking for system updates...
[2026-08-29 09:15:15,001.001 INFO    ] 200
[2026-08-29 09:15:15,002.002 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:15:15,033.033 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:15:15,034.034 INFO    ] No update needed
[2026-08-29 09:15:15,035.035 INFO    ] Checking for camera pi updates...
[2026-08-29 09:15:15,056.056 INFO    ] 200
[2026-08-29 09:15:15,057.057 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:15:15,081.081 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:15:15,162.162 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:15:15,163.163 INFO    ] No camera update needed
[2026-08-29 09:15:15,164.164 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:15:15,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:15:15,168.168 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:15:15,171.171 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:15:17,210.210 INFO    ] ================================================
[2026-08-29 09:15:17,225.225 INFO    ] Launching Daemon at Sat Aug 29 09:15:17 IST 2026
[2026-08-29 09:15:17,237.237 INFO    ] ================================================
[2026-08-29 09:15:17,672.672 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:15:17
[2026-08-29 09:15:18,260.260 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:15:18,518.518 INFO    ] Initializing speech engine...
[2026-08-29 09:15:18,527.527 INFO    ] 2026-08-29 09:15:18
[2026-08-29 09:15:18,822.822 INFO    ] 2026-08-29 09:15:18
[2026-08-29 09:15:18,860.860 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:15:19,056.056 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:15:19,062.062 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:15:19,196.196 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:15:19,203.203 INFO    ] time= 29/08/2026 09:15:19
[2026-08-29 09:15:19,224.224 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:15:19,244.244 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:15:19,328.328 INFO    ] No existing commands found in stream
[2026-08-29 09:15:24,340.340 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:15:24,343.343 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-08-29 09:15:28,644.644 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:15:28,646.646 INFO    ] Checking for system updates...
[2026-08-29 09:15:28,666.666 INFO    ] 200
[2026-08-29 09:15:28,667.667 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:15:28,698.698 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:15:28,699.699 INFO    ] No update needed
[2026-08-29 09:15:28,700.700 INFO    ] Checking for camera pi updates...
[2026-08-29 09:15:28,721.721 INFO    ] 200
[2026-08-29 09:15:28,723.723 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:15:28,765.765 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:15:28,849.849 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:15:28,851.851 INFO    ] No camera update needed
[2026-08-29 09:15:28,853.853 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:15:28,856.856 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:15:28,861.861 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:15:28,866.866 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:15:30,906.906 INFO    ] ================================================
[2026-08-29 09:15:30,921.921 INFO    ] Launching Daemon at Sat Aug 29 09:15:30 IST 2026
[2026-08-29 09:15:30,932.932 INFO    ] ================================================
[2026-08-29 09:15:31,520.520 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:15:31
[2026-08-29 09:15:32,087.087 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:15:32,371.371 INFO    ] Initializing speech engine...
[2026-08-29 09:15:32,381.381 INFO    ] 2026-08-29 09:15:32
[2026-08-29 09:15:32,671.671 INFO    ] 2026-08-29 09:15:32
[2026-08-29 09:15:32,722.722 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:15:32,877.877 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:15:32,885.885 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:15:33,021.021 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:15:33,031.031 INFO    ] time= 29/08/2026 09:15:33
[2026-08-29 09:15:33,038.038 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:15:33,058.058 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:15:33,157.157 INFO    ] No existing commands found in stream
[2026-08-29 09:15:38,180.180 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:15:38,183.183 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-08-29 09:15:41,070.070 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:15:41,072.072 INFO    ] Checking for system updates...
[2026-08-29 09:15:41,093.093 INFO    ] 200
[2026-08-29 09:15:41,094.094 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:15:41,125.125 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:15:41,127.127 INFO    ] No update needed
[2026-08-29 09:15:41,129.129 INFO    ] Checking for camera pi updates...
[2026-08-29 09:15:41,164.164 INFO    ] 200
[2026-08-29 09:15:41,167.167 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:15:41,208.208 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:15:41,292.292 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:15:41,295.295 INFO    ] No camera update needed
[2026-08-29 09:15:41,297.297 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:15:41,300.300 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:15:41,306.306 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:15:41,312.312 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:15:43,353.353 INFO    ] ================================================
[2026-08-29 09:15:43,370.370 INFO    ] Launching Daemon at Sat Aug 29 09:15:43 IST 2026
[2026-08-29 09:15:43,381.381 INFO    ] ================================================
[2026-08-29 09:15:44,026.026 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:15:44
[2026-08-29 09:15:44,476.476 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:15:44,630.630 INFO    ] Initializing speech engine...
[2026-08-29 09:15:44,633.633 INFO    ] 2026-08-29 09:15:44
[2026-08-29 09:15:44,840.840 INFO    ] 2026-08-29 09:15:44
[2026-08-29 09:15:44,870.870 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:15:45,054.054 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:15:45,068.068 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:15:45,198.198 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:15:45,266.266 INFO    ] time= 29/08/2026 09:15:45
[2026-08-29 09:15:45,290.290 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:15:45,297.297 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:15:45,363.363 INFO    ] No existing commands found in stream
[2026-08-29 09:15:50,372.372 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:15:50,376.376 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-08-29 09:15:53,302.302 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:15:53,304.304 INFO    ] Checking for system updates...
[2026-08-29 09:15:53,325.325 INFO    ] 200
[2026-08-29 09:15:53,326.326 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:15:53,358.358 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:15:53,360.360 INFO    ] No update needed
[2026-08-29 09:15:53,361.361 INFO    ] Checking for camera pi updates...
[2026-08-29 09:15:53,384.384 INFO    ] 200
[2026-08-29 09:15:53,386.386 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:15:53,409.409 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:15:53,506.506 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:15:53,507.507 INFO    ] No camera update needed
[2026-08-29 09:15:53,509.509 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:15:53,510.510 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:15:53,513.513 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:15:53,516.516 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:15:55,556.556 INFO    ] ================================================
[2026-08-29 09:15:55,572.572 INFO    ] Launching Daemon at Sat Aug 29 09:15:55 IST 2026
[2026-08-29 09:15:55,584.584 INFO    ] ================================================
[2026-08-29 09:15:55,938.938 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:15:55
[2026-08-29 09:15:56,251.251 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:15:56,389.389 INFO    ] Initializing speech engine...
[2026-08-29 09:15:56,399.399 INFO    ] 2026-08-29 09:15:56
[2026-08-29 09:15:56,640.640 INFO    ] 2026-08-29 09:15:56
[2026-08-29 09:15:56,705.705 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:15:56,852.852 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:15:56,875.875 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:15:57,041.041 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:15:57,076.076 INFO    ] time= 29/08/2026 09:15:57
[2026-08-29 09:15:57,093.093 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:15:57,102.102 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:15:57,215.215 INFO    ] No existing commands found in stream
[2026-08-29 09:16:02,240.240 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:16:02,243.243 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-08-29 09:16:04,478.478 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:16:04,481.481 INFO    ] Checking for system updates...
[2026-08-29 09:16:04,517.517 INFO    ] 200
[2026-08-29 09:16:04,519.519 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:16:04,571.571 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:16:04,574.574 INFO    ] No update needed
[2026-08-29 09:16:04,576.576 INFO    ] Checking for camera pi updates...
[2026-08-29 09:16:04,610.610 INFO    ] 200
[2026-08-29 09:16:04,612.612 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:16:04,653.653 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:16:04,745.745 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:16:04,747.747 INFO    ] No camera update needed
[2026-08-29 09:16:04,750.750 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:16:04,752.752 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:16:04,757.757 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:16:04,762.762 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:16:06,804.804 INFO    ] ================================================
[2026-08-29 09:16:06,820.820 INFO    ] Launching Daemon at Sat Aug 29 09:16:06 IST 2026
[2026-08-29 09:16:06,831.831 INFO    ] ================================================
[2026-08-29 09:16:07,211.211 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:16:07
[2026-08-29 09:16:07,555.555 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:16:07,707.707 INFO    ] Initializing speech engine...
[2026-08-29 09:16:07,713.713 INFO    ] 2026-08-29 09:16:07
[2026-08-29 09:16:07,922.922 INFO    ] 2026-08-29 09:16:07
[2026-08-29 09:16:07,951.951 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:16:08,109.109 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:16:08,138.138 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:16:08,273.273 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:16:08,337.337 INFO    ] time= 29/08/2026 09:16:08
[2026-08-29 09:16:08,365.365 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:16:08,372.372 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:16:08,439.439 INFO    ] No existing commands found in stream
[2026-08-29 09:16:13,464.464 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:16:13,467.467 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 09:16:15,220.220 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:16:15,222.222 INFO    ] Checking for system updates...
[2026-08-29 09:16:15,243.243 INFO    ] 200
[2026-08-29 09:16:15,245.245 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:16:15,275.275 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:16:15,276.276 INFO    ] No update needed
[2026-08-29 09:16:15,278.278 INFO    ] Checking for camera pi updates...
[2026-08-29 09:16:15,299.299 INFO    ] 200
[2026-08-29 09:16:15,300.300 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:16:15,323.323 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:16:15,500.500 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:16:15,501.501 INFO    ] No camera update needed
[2026-08-29 09:16:15,503.503 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:16:15,504.504 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:16:15,507.507 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:16:15,510.510 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:16:17,553.553 INFO    ] ================================================
[2026-08-29 09:16:17,568.568 INFO    ] Launching Daemon at Sat Aug 29 09:16:17 IST 2026
[2026-08-29 09:16:17,579.579 INFO    ] ================================================
[2026-08-29 09:16:17,913.913 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:16:17
[2026-08-29 09:16:18,225.225 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:16:18,359.359 INFO    ] Initializing speech engine...
[2026-08-29 09:16:18,364.364 INFO    ] 2026-08-29 09:16:18
[2026-08-29 09:16:18,597.597 INFO    ] 2026-08-29 09:16:18
[2026-08-29 09:16:18,633.633 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:16:18,783.783 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:16:18,790.790 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:16:18,922.922 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:16:18,948.948 INFO    ] time= 29/08/2026 09:16:18
[2026-08-29 09:16:18,958.958 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:16:18,964.964 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:16:19,030.030 INFO    ] No existing commands found in stream
[2026-08-29 09:16:24,044.044 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:16:24,046.046 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-08-29 09:16:25,373.373 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:16:25,374.374 INFO    ] Checking for system updates...
[2026-08-29 09:16:25,396.396 INFO    ] 200
[2026-08-29 09:16:25,397.397 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:16:25,427.427 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:16:25,428.428 INFO    ] No update needed
[2026-08-29 09:16:25,429.429 INFO    ] Checking for camera pi updates...
[2026-08-29 09:16:25,451.451 INFO    ] 200
[2026-08-29 09:16:25,452.452 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:16:25,475.475 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:16:25,562.562 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:16:25,564.564 INFO    ] No camera update needed
[2026-08-29 09:16:25,566.566 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:16:25,569.569 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:16:25,574.574 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:16:25,579.579 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:16:27,619.619 INFO    ] ================================================
[2026-08-29 09:16:27,634.634 INFO    ] Launching Daemon at Sat Aug 29 09:16:27 IST 2026
[2026-08-29 09:16:27,645.645 INFO    ] ================================================
[2026-08-29 09:16:28,296.296 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:16:28
[2026-08-29 09:16:28,784.784 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:16:28,918.918 INFO    ] Initializing speech engine...
[2026-08-29 09:16:28,922.922 INFO    ] 2026-08-29 09:16:28
[2026-08-29 09:16:29,120.120 INFO    ] 2026-08-29 09:16:29
[2026-08-29 09:16:29,156.156 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:16:29,349.349 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:16:29,359.359 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:16:29,491.491 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:16:29,499.499 INFO    ] time= 29/08/2026 09:16:29
[2026-08-29 09:16:29,504.504 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:16:29,524.524 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:16:29,613.613 INFO    ] No existing commands found in stream
[2026-08-29 09:16:34,636.636 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:16:34,639.639 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 09:16:38,376.376 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:16:38,378.378 INFO    ] Checking for system updates...
[2026-08-29 09:16:38,398.398 INFO    ] 200
[2026-08-29 09:16:38,399.399 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:16:38,430.430 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:16:38,431.431 INFO    ] No update needed
[2026-08-29 09:16:38,432.432 INFO    ] Checking for camera pi updates...
[2026-08-29 09:16:38,452.452 INFO    ] 200
[2026-08-29 09:16:38,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:16:38,476.476 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:16:38,556.556 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:16:38,557.557 INFO    ] No camera update needed
[2026-08-29 09:16:38,559.559 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:16:38,560.560 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:16:38,563.563 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:16:38,565.565 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:16:40,604.604 INFO    ] ================================================
[2026-08-29 09:16:40,619.619 INFO    ] Launching Daemon at Sat Aug 29 09:16:40 IST 2026
[2026-08-29 09:16:40,630.630 INFO    ] ================================================
[2026-08-29 09:16:41,159.159 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:16:41
[2026-08-29 09:16:41,744.744 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:16:42,042.042 INFO    ] Initializing speech engine...
[2026-08-29 09:16:42,049.049 INFO    ] 2026-08-29 09:16:42
[2026-08-29 09:16:42,341.341 INFO    ] 2026-08-29 09:16:42
[2026-08-29 09:16:42,388.388 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:16:42,617.617 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:16:42,627.627 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:16:42,766.766 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:16:42,834.834 INFO    ] time= 29/08/2026 09:16:42
[2026-08-29 09:16:42,883.883 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:16:42,905.905 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:16:43,024.024 INFO    ] No existing commands found in stream
[2026-08-29 09:16:48,055.055 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:16:48,059.059 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 09:16:51,657.657 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:16:51,659.659 INFO    ] Checking for system updates...
[2026-08-29 09:16:51,679.679 INFO    ] 200
[2026-08-29 09:16:51,681.681 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:16:51,715.715 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:16:51,716.716 INFO    ] No update needed
[2026-08-29 09:16:51,717.717 INFO    ] Checking for camera pi updates...
[2026-08-29 09:16:51,736.736 INFO    ] 200
[2026-08-29 09:16:51,738.738 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:16:51,761.761 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:16:51,837.837 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:16:51,839.839 INFO    ] No camera update needed
[2026-08-29 09:16:51,840.840 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:16:51,841.841 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:16:51,844.844 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:16:51,847.847 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:16:53,885.885 INFO    ] ================================================
[2026-08-29 09:16:53,900.900 INFO    ] Launching Daemon at Sat Aug 29 09:16:53 IST 2026
[2026-08-29 09:16:53,911.911 INFO    ] ================================================
[2026-08-29 09:16:54,478.478 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:16:54
[2026-08-29 09:16:55,157.157 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:16:55,463.463 INFO    ] Initializing speech engine...
[2026-08-29 09:16:55,477.477 INFO    ] 2026-08-29 09:16:55
[2026-08-29 09:16:55,792.792 INFO    ] 2026-08-29 09:16:55
[2026-08-29 09:16:55,870.870 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:16:56,026.026 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:16:56,033.033 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:16:56,185.185 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:16:56,192.192 INFO    ] time= 29/08/2026 09:16:56
[2026-08-29 09:16:56,220.220 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:16:56,270.270 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:16:56,345.345 INFO    ] No existing commands found in stream
[2026-08-29 09:17:01,366.366 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:17:01,369.369 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-08-29 09:17:04,301.301 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:17:04,304.304 INFO    ] Checking for system updates...
[2026-08-29 09:17:04,339.339 INFO    ] 200
[2026-08-29 09:17:04,342.342 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:17:04,395.395 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:17:04,397.397 INFO    ] No update needed
[2026-08-29 09:17:04,400.400 INFO    ] Checking for camera pi updates...
[2026-08-29 09:17:04,433.433 INFO    ] 200
[2026-08-29 09:17:04,436.436 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:17:04,485.485 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:17:04,573.573 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:17:04,575.575 INFO    ] No camera update needed
[2026-08-29 09:17:04,577.577 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:17:04,580.580 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:17:04,585.585 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:17:04,590.590 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:17:06,630.630 INFO    ] ================================================
[2026-08-29 09:17:06,645.645 INFO    ] Launching Daemon at Sat Aug 29 09:17:06 IST 2026
[2026-08-29 09:17:06,657.657 INFO    ] ================================================
[2026-08-29 09:17:07,010.010 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:17:07
[2026-08-29 09:17:07,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:17:07,898.898 INFO    ] Initializing speech engine...
[2026-08-29 09:17:07,910.910 INFO    ] 2026-08-29 09:17:07
[2026-08-29 09:17:08,180.180 INFO    ] 2026-08-29 09:17:08
[2026-08-29 09:17:08,220.220 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:17:08,423.423 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:17:08,429.429 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:17:08,553.553 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:17:08,560.560 INFO    ] time= 29/08/2026 09:17:08
[2026-08-29 09:17:08,571.571 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:17:08,589.589 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:17:08,642.642 INFO    ] No existing commands found in stream
[2026-08-29 09:17:13,654.654 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:17:13,656.656 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-08-29 09:17:14,066.066 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:17:14,068.068 INFO    ] Checking for system updates...
[2026-08-29 09:17:14,089.089 INFO    ] 200
[2026-08-29 09:17:14,090.090 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:17:14,154.154 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:17:14,156.156 INFO    ] No update needed
[2026-08-29 09:17:14,159.159 INFO    ] Checking for camera pi updates...
[2026-08-29 09:17:14,193.193 INFO    ] 200
[2026-08-29 09:17:14,196.196 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:17:14,240.240 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:17:14,345.345 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:17:14,347.347 INFO    ] No camera update needed
[2026-08-29 09:17:14,349.349 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:17:14,352.352 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:17:14,357.357 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:17:14,362.362 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:17:16,402.402 INFO    ] ================================================
[2026-08-29 09:17:16,418.418 INFO    ] Launching Daemon at Sat Aug 29 09:17:16 IST 2026
[2026-08-29 09:17:16,428.428 INFO    ] ================================================
[2026-08-29 09:17:16,995.995 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:17:16
[2026-08-29 09:17:17,427.427 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:17:17,583.583 INFO    ] Initializing speech engine...
[2026-08-29 09:17:17,595.595 INFO    ] 2026-08-29 09:17:17
[2026-08-29 09:17:17,844.844 INFO    ] 2026-08-29 09:17:17
[2026-08-29 09:17:17,879.879 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:17:18,052.052 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:17:18,063.063 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:17:18,190.190 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:17:18,210.210 INFO    ] time= 29/08/2026 09:17:18
[2026-08-29 09:17:18,218.218 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:17:18,224.224 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:17:18,292.292 INFO    ] No existing commands found in stream
[2026-08-29 09:17:23,322.322 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:17:23,325.325 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-08-29 09:17:24,718.718 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:17:24,721.721 INFO    ] Checking for system updates...
[2026-08-29 09:17:24,757.757 INFO    ] 200
[2026-08-29 09:17:24,759.759 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:17:24,817.817 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:17:24,818.818 INFO    ] No update needed
[2026-08-29 09:17:24,820.820 INFO    ] Checking for camera pi updates...
[2026-08-29 09:17:24,839.839 INFO    ] 200
[2026-08-29 09:17:24,840.840 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:17:24,865.865 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:17:24,945.945 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:17:24,947.947 INFO    ] No camera update needed
[2026-08-29 09:17:24,950.950 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:17:24,952.952 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:17:24,957.957 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:17:24,962.962 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:17:27,003.003 INFO    ] ================================================
[2026-08-29 09:17:27,018.018 INFO    ] Launching Daemon at Sat Aug 29 09:17:27 IST 2026
[2026-08-29 09:17:27,028.028 INFO    ] ================================================
[2026-08-29 09:17:27,386.386 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:17:27
[2026-08-29 09:17:27,698.698 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:17:27,830.830 INFO    ] Initializing speech engine...
[2026-08-29 09:17:27,835.835 INFO    ] 2026-08-29 09:17:27
[2026-08-29 09:17:28,044.044 INFO    ] 2026-08-29 09:17:28
[2026-08-29 09:17:28,072.072 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:17:28,195.195 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:17:28,199.199 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:17:28,375.375 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:17:28,383.383 INFO    ] time= 29/08/2026 09:17:28
[2026-08-29 09:17:28,403.403 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:17:28,410.410 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:17:28,538.538 INFO    ] No existing commands found in stream
[2026-08-29 09:17:33,563.563 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:17:33,566.566 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-08-29 09:17:37,048.048 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:17:37,051.051 INFO    ] Checking for system updates...
[2026-08-29 09:17:37,096.096 INFO    ] 200
[2026-08-29 09:17:37,098.098 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:17:37,164.164 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:17:37,167.167 INFO    ] No update needed
[2026-08-29 09:17:37,170.170 INFO    ] Checking for camera pi updates...
[2026-08-29 09:17:37,234.234 INFO    ] 200
[2026-08-29 09:17:37,236.236 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:17:37,284.284 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:17:37,373.373 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:17:37,375.375 INFO    ] No camera update needed
[2026-08-29 09:17:37,377.377 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:17:37,380.380 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:17:37,385.385 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:17:37,390.390 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:17:39,423.423 INFO    ] ================================================
[2026-08-29 09:17:39,432.432 INFO    ] Launching Daemon at Sat Aug 29 09:17:39 IST 2026
[2026-08-29 09:17:39,438.438 INFO    ] ================================================
[2026-08-29 09:17:40,002.002 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:17:39
[2026-08-29 09:17:40,591.591 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:17:40,850.850 INFO    ] Initializing speech engine...
[2026-08-29 09:17:40,857.857 INFO    ] 2026-08-29 09:17:40
[2026-08-29 09:17:41,156.156 INFO    ] 2026-08-29 09:17:41
[2026-08-29 09:17:41,181.181 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:17:41,341.341 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:17:41,348.348 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:17:41,498.498 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:17:41,509.509 INFO    ] time= 29/08/2026 09:17:41
[2026-08-29 09:17:41,517.517 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:17:41,521.521 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:17:41,591.591 INFO    ] No existing commands found in stream
[2026-08-29 09:17:46,605.605 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:17:46,607.607 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-08-29 09:17:47,306.306 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:17:47,307.307 INFO    ] Checking for system updates...
[2026-08-29 09:17:47,327.327 INFO    ] 200
[2026-08-29 09:17:47,329.329 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:17:47,365.365 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:17:47,366.366 INFO    ] No update needed
[2026-08-29 09:17:47,367.367 INFO    ] Checking for camera pi updates...
[2026-08-29 09:17:47,387.387 INFO    ] 200
[2026-08-29 09:17:47,388.388 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:17:47,412.412 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:17:47,507.507 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:17:47,510.510 INFO    ] No camera update needed
[2026-08-29 09:17:47,512.512 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:17:47,514.514 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:17:47,520.520 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:17:47,525.525 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:17:49,565.565 INFO    ] ================================================
[2026-08-29 09:17:49,580.580 INFO    ] Launching Daemon at Sat Aug 29 09:17:49 IST 2026
[2026-08-29 09:17:49,591.591 INFO    ] ================================================
[2026-08-29 09:17:50,259.259 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:17:50
[2026-08-29 09:17:50,744.744 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:17:50,885.885 INFO    ] Initializing speech engine...
[2026-08-29 09:17:50,900.900 INFO    ] 2026-08-29 09:17:50
[2026-08-29 09:17:51,109.109 INFO    ] 2026-08-29 09:17:51
[2026-08-29 09:17:51,139.139 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:17:51,298.298 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:17:51,305.305 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:17:51,482.482 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:17:51,509.509 INFO    ] time= 29/08/2026 09:17:51
[2026-08-29 09:17:51,525.525 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:17:51,557.557 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:17:51,664.664 INFO    ] No existing commands found in stream
[2026-08-29 09:17:56,685.685 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:17:56,688.688 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-08-29 09:17:59,860.860 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:17:59,862.862 INFO    ] Checking for system updates...
[2026-08-29 09:17:59,884.884 INFO    ] 200
[2026-08-29 09:17:59,886.886 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:17:59,916.916 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:17:59,917.917 INFO    ] No update needed
[2026-08-29 09:17:59,918.918 INFO    ] Checking for camera pi updates...
[2026-08-29 09:17:59,938.938 INFO    ] 200
[2026-08-29 09:17:59,939.939 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:17:59,963.963 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:18:00,056.056 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:18:00,058.058 INFO    ] No camera update needed
[2026-08-29 09:18:00,061.061 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:18:00,064.064 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:18:00,070.070 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:18:00,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:18:02,121.121 INFO    ] ================================================
[2026-08-29 09:18:02,141.141 INFO    ] Launching Daemon at Sat Aug 29 09:18:02 IST 2026
[2026-08-29 09:18:02,157.157 INFO    ] ================================================
[2026-08-29 09:18:02,813.813 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:18:02
[2026-08-29 09:18:03,456.456 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:18:03,768.768 INFO    ] Initializing speech engine...
[2026-08-29 09:18:03,778.778 INFO    ] 2026-08-29 09:18:03
[2026-08-29 09:18:04,057.057 INFO    ] 2026-08-29 09:18:04
[2026-08-29 09:18:04,116.116 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:18:04,347.347 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:18:04,358.358 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:18:04,495.495 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:18:04,544.544 INFO    ] time= 29/08/2026 09:18:04
[2026-08-29 09:18:04,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:18:04,637.637 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:18:04,688.688 INFO    ] No existing commands found in stream
[2026-08-29 09:18:09,701.701 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:18:09,705.705 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-08-29 09:18:11,184.184 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:18:11,186.186 INFO    ] Checking for system updates...
[2026-08-29 09:18:11,206.206 INFO    ] 200
[2026-08-29 09:18:11,208.208 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:18:11,237.237 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:18:11,239.239 INFO    ] No update needed
[2026-08-29 09:18:11,240.240 INFO    ] Checking for camera pi updates...
[2026-08-29 09:18:11,261.261 INFO    ] 200
[2026-08-29 09:18:11,263.263 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:18:11,285.285 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:18:11,371.371 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:18:11,373.373 INFO    ] No camera update needed
[2026-08-29 09:18:11,374.374 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:18:11,375.375 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:18:11,378.378 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:18:11,381.381 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:18:13,419.419 INFO    ] ================================================
[2026-08-29 09:18:13,435.435 INFO    ] Launching Daemon at Sat Aug 29 09:18:13 IST 2026
[2026-08-29 09:18:13,445.445 INFO    ] ================================================
[2026-08-29 09:18:13,785.785 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:18:13
[2026-08-29 09:18:14,102.102 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:18:14,241.241 INFO    ] Initializing speech engine...
[2026-08-29 09:18:14,249.249 INFO    ] 2026-08-29 09:18:14
[2026-08-29 09:18:14,458.458 INFO    ] 2026-08-29 09:18:14
[2026-08-29 09:18:14,486.486 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:18:14,609.609 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:18:14,672.672 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:18:14,808.808 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:18:14,864.864 INFO    ] time= 29/08/2026 09:18:14
[2026-08-29 09:18:14,907.907 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:18:14,952.952 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:18:15,049.049 INFO    ] No existing commands found in stream
[2026-08-29 09:18:20,085.085 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:18:20,087.087 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-08-29 09:18:21,201.201 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:18:21,202.202 INFO    ] Checking for system updates...
[2026-08-29 09:18:21,223.223 INFO    ] 200
[2026-08-29 09:18:21,224.224 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:18:21,256.256 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:18:21,258.258 INFO    ] No update needed
[2026-08-29 09:18:21,259.259 INFO    ] Checking for camera pi updates...
[2026-08-29 09:18:21,280.280 INFO    ] 200
[2026-08-29 09:18:21,281.281 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:18:21,305.305 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:18:21,499.499 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:18:21,500.500 INFO    ] No camera update needed
[2026-08-29 09:18:21,501.501 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:18:21,503.503 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:18:21,505.505 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:18:21,508.508 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:18:23,546.546 INFO    ] ================================================
[2026-08-29 09:18:23,562.562 INFO    ] Launching Daemon at Sat Aug 29 09:18:23 IST 2026
[2026-08-29 09:18:23,573.573 INFO    ] ================================================
[2026-08-29 09:18:23,905.905 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:18:23
[2026-08-29 09:18:24,224.224 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:18:24,485.485 INFO    ] Initializing speech engine...
[2026-08-29 09:18:24,498.498 INFO    ] 2026-08-29 09:18:24
[2026-08-29 09:18:24,791.791 INFO    ] 2026-08-29 09:18:24
[2026-08-29 09:18:24,829.829 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:18:25,027.027 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:18:25,034.034 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:18:25,169.169 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:18:25,176.176 INFO    ] time= 29/08/2026 09:18:25
[2026-08-29 09:18:25,198.198 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:18:25,220.220 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:18:25,303.303 INFO    ] No existing commands found in stream
[2026-08-29 09:18:30,316.316 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:18:30,318.318 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-08-29 09:18:31,750.750 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:18:31,753.753 INFO    ] Checking for system updates...
[2026-08-29 09:18:31,796.796 INFO    ] 200
[2026-08-29 09:18:31,799.799 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:18:31,861.861 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:18:31,863.863 INFO    ] No update needed
[2026-08-29 09:18:31,866.866 INFO    ] Checking for camera pi updates...
[2026-08-29 09:18:31,902.902 INFO    ] 200
[2026-08-29 09:18:31,904.904 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:18:31,953.953 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:18:32,083.083 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:18:32,085.085 INFO    ] No camera update needed
[2026-08-29 09:18:32,088.088 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:18:32,091.091 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:18:32,098.098 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:18:32,104.104 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:18:34,146.146 INFO    ] ================================================
[2026-08-29 09:18:34,162.162 INFO    ] Launching Daemon at Sat Aug 29 09:18:34 IST 2026
[2026-08-29 09:18:34,173.173 INFO    ] ================================================
[2026-08-29 09:18:34,764.764 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:18:34
[2026-08-29 09:18:35,112.112 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:18:35,269.269 INFO    ] Initializing speech engine...
[2026-08-29 09:18:35,277.277 INFO    ] 2026-08-29 09:18:35
[2026-08-29 09:18:35,580.580 INFO    ] 2026-08-29 09:18:35
[2026-08-29 09:18:35,616.616 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:18:35,791.791 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:18:35,821.821 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:18:35,935.935 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:18:35,941.941 INFO    ] time= 29/08/2026 09:18:35
[2026-08-29 09:18:35,964.964 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:18:35,970.970 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:18:36,027.027 INFO    ] No existing commands found in stream
[2026-08-29 09:18:41,045.045 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:18:41,047.047 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-08-29 09:18:44,609.609 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:18:44,610.610 INFO    ] Checking for system updates...
[2026-08-29 09:18:44,632.632 INFO    ] 200
[2026-08-29 09:18:44,634.634 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:18:44,663.663 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:18:44,665.665 INFO    ] No update needed
[2026-08-29 09:18:44,666.666 INFO    ] Checking for camera pi updates...
[2026-08-29 09:18:44,685.685 INFO    ] 200
[2026-08-29 09:18:44,686.686 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:18:44,711.711 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:18:44,801.801 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:18:44,803.803 INFO    ] No camera update needed
[2026-08-29 09:18:44,804.804 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:18:44,805.805 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:18:44,808.808 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:18:44,811.811 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:18:46,850.850 INFO    ] ================================================
[2026-08-29 09:18:46,866.866 INFO    ] Launching Daemon at Sat Aug 29 09:18:46 IST 2026
[2026-08-29 09:18:46,877.877 INFO    ] ================================================
[2026-08-29 09:18:47,248.248 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:18:47
[2026-08-29 09:18:47,624.624 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:18:47,901.901 INFO    ] Initializing speech engine...
[2026-08-29 09:18:47,910.910 INFO    ] 2026-08-29 09:18:47
[2026-08-29 09:18:48,161.161 INFO    ] 2026-08-29 09:18:48
[2026-08-29 09:18:48,197.197 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:18:48,370.370 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:18:48,382.382 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:18:48,523.523 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:18:48,531.531 INFO    ] time= 29/08/2026 09:18:48
[2026-08-29 09:18:48,539.539 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:18:48,585.585 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:18:48,704.704 INFO    ] No existing commands found in stream
[2026-08-29 09:18:53,734.734 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:18:53,737.737 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-08-29 09:18:57,669.669 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:18:57,671.671 INFO    ] Checking for system updates...
[2026-08-29 09:18:57,691.691 INFO    ] 200
[2026-08-29 09:18:57,692.692 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:18:57,722.722 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:18:57,723.723 INFO    ] No update needed
[2026-08-29 09:18:57,725.725 INFO    ] Checking for camera pi updates...
[2026-08-29 09:18:57,744.744 INFO    ] 200
[2026-08-29 09:18:57,746.746 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:18:57,770.770 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:18:57,867.867 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:18:57,869.869 INFO    ] No camera update needed
[2026-08-29 09:18:57,870.870 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:18:57,871.871 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:18:57,874.874 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:18:57,877.877 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:18:59,916.916 INFO    ] ================================================
[2026-08-29 09:18:59,933.933 INFO    ] Launching Daemon at Sat Aug 29 09:18:59 IST 2026
[2026-08-29 09:18:59,944.944 INFO    ] ================================================
[2026-08-29 09:19:00,524.524 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:19:00
[2026-08-29 09:19:01,135.135 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:19:01,415.415 INFO    ] Initializing speech engine...
[2026-08-29 09:19:01,423.423 INFO    ] 2026-08-29 09:19:01
[2026-08-29 09:19:01,803.803 INFO    ] 2026-08-29 09:19:01
[2026-08-29 09:19:01,851.851 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:19:02,076.076 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:19:02,079.079 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:19:02,224.224 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:19:02,232.232 INFO    ] time= 29/08/2026 09:19:02
[2026-08-29 09:19:02,248.248 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:19:02,276.276 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:19:02,361.361 INFO    ] No existing commands found in stream
[2026-08-29 09:19:07,374.374 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:19:07,377.377 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-08-29 09:19:11,254.254 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:19:11,256.256 INFO    ] Checking for system updates...
[2026-08-29 09:19:11,279.279 INFO    ] 200
[2026-08-29 09:19:11,280.280 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:19:11,310.310 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:19:11,311.311 INFO    ] No update needed
[2026-08-29 09:19:11,313.313 INFO    ] Checking for camera pi updates...
[2026-08-29 09:19:11,334.334 INFO    ] 200
[2026-08-29 09:19:11,335.335 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:19:11,357.357 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:19:11,443.443 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:19:11,444.444 INFO    ] No camera update needed
[2026-08-29 09:19:11,446.446 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:19:11,447.447 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:19:11,450.450 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:19:11,453.453 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:19:13,491.491 INFO    ] ================================================
[2026-08-29 09:19:13,506.506 INFO    ] Launching Daemon at Sat Aug 29 09:19:13 IST 2026
[2026-08-29 09:19:13,518.518 INFO    ] ================================================
[2026-08-29 09:19:14,057.057 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:19:14
[2026-08-29 09:19:14,659.659 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:19:14,933.933 INFO    ] Initializing speech engine...
[2026-08-29 09:19:14,942.942 INFO    ] 2026-08-29 09:19:14
[2026-08-29 09:19:15,193.193 INFO    ] 2026-08-29 09:19:15
[2026-08-29 09:19:15,228.228 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:19:15,401.401 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:19:15,414.414 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:19:15,555.555 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:19:15,564.564 INFO    ] time= 29/08/2026 09:19:15
[2026-08-29 09:19:15,570.570 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:19:15,602.602 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:19:15,730.730 INFO    ] No existing commands found in stream
[2026-08-29 09:19:20,761.761 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:19:20,764.764 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-08-29 09:19:23,030.030 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:19:23,031.031 INFO    ] Checking for system updates...
[2026-08-29 09:19:23,052.052 INFO    ] 200
[2026-08-29 09:19:23,054.054 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:19:23,084.084 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:19:23,085.085 INFO    ] No update needed
[2026-08-29 09:19:23,086.086 INFO    ] Checking for camera pi updates...
[2026-08-29 09:19:23,108.108 INFO    ] 200
[2026-08-29 09:19:23,109.109 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:19:23,134.134 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:19:23,210.210 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:19:23,211.211 INFO    ] No camera update needed
[2026-08-29 09:19:23,213.213 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:19:23,214.214 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:19:23,217.217 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:19:23,220.220 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:19:25,260.260 INFO    ] ================================================
[2026-08-29 09:19:25,276.276 INFO    ] Launching Daemon at Sat Aug 29 09:19:25 IST 2026
[2026-08-29 09:19:25,288.288 INFO    ] ================================================
[2026-08-29 09:19:25,614.614 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:19:25
[2026-08-29 09:19:25,926.926 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:19:26,059.059 INFO    ] Initializing speech engine...
[2026-08-29 09:19:26,064.064 INFO    ] 2026-08-29 09:19:26
[2026-08-29 09:19:26,293.293 INFO    ] 2026-08-29 09:19:26
[2026-08-29 09:19:26,317.317 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:19:26,472.472 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:19:26,489.489 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:19:26,656.656 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:19:26,711.711 INFO    ] time= 29/08/2026 09:19:26
[2026-08-29 09:19:26,732.732 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:19:26,749.749 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:19:26,802.802 INFO    ] No existing commands found in stream
[2026-08-29 09:19:31,827.827 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:19:31,828.828 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-08-29 09:19:32,478.478 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:19:32,481.481 INFO    ] Checking for system updates...
[2026-08-29 09:19:32,519.519 INFO    ] 200
[2026-08-29 09:19:32,522.522 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:19:32,581.581 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:19:32,584.584 INFO    ] No update needed
[2026-08-29 09:19:32,587.587 INFO    ] Checking for camera pi updates...
[2026-08-29 09:19:32,627.627 INFO    ] 200
[2026-08-29 09:19:32,631.631 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:19:32,698.698 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:19:32,793.793 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:19:32,795.795 INFO    ] No camera update needed
[2026-08-29 09:19:32,797.797 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:19:32,800.800 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:19:32,805.805 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:19:32,810.810 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:19:34,850.850 INFO    ] ================================================
[2026-08-29 09:19:34,866.866 INFO    ] Launching Daemon at Sat Aug 29 09:19:34 IST 2026
[2026-08-29 09:19:34,877.877 INFO    ] ================================================
[2026-08-29 09:19:35,302.302 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:19:35
[2026-08-29 09:19:35,621.621 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:19:35,758.758 INFO    ] Initializing speech engine...
[2026-08-29 09:19:35,762.762 INFO    ] 2026-08-29 09:19:35
[2026-08-29 09:19:35,954.954 INFO    ] 2026-08-29 09:19:35
[2026-08-29 09:19:36,000.000 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:19:36,160.160 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:19:36,164.164 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:19:36,321.321 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:19:36,367.367 INFO    ] time= 29/08/2026 09:19:36
[2026-08-29 09:19:36,381.381 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:19:36,447.447 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:19:36,563.563 INFO    ] No existing commands found in stream
[2026-08-29 09:19:41,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:19:41,577.577 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-08-29 09:19:43,641.641 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:19:43,644.644 INFO    ] Checking for system updates...
[2026-08-29 09:19:43,680.680 INFO    ] 200
[2026-08-29 09:19:43,682.682 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:19:43,743.743 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:19:43,746.746 INFO    ] No update needed
[2026-08-29 09:19:43,748.748 INFO    ] Checking for camera pi updates...
[2026-08-29 09:19:43,782.782 INFO    ] 200
[2026-08-29 09:19:43,785.785 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:19:43,825.825 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:19:43,931.931 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:19:43,934.934 INFO    ] No camera update needed
[2026-08-29 09:19:43,936.936 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:19:43,939.939 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:19:43,944.944 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:19:43,949.949 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:19:45,989.989 INFO    ] ================================================
[2026-08-29 09:19:46,004.004 INFO    ] Launching Daemon at Sat Aug 29 09:19:45 IST 2026
[2026-08-29 09:19:46,016.016 INFO    ] ================================================
[2026-08-29 09:19:46,550.550 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:19:46
[2026-08-29 09:19:47,153.153 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:19:47,415.415 INFO    ] Initializing speech engine...
[2026-08-29 09:19:47,432.432 INFO    ] 2026-08-29 09:19:47
[2026-08-29 09:19:47,688.688 INFO    ] 2026-08-29 09:19:47
[2026-08-29 09:19:47,723.723 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:19:47,897.897 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:19:47,909.909 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:19:48,037.037 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:19:48,060.060 INFO    ] time= 29/08/2026 09:19:48
[2026-08-29 09:19:48,065.065 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:19:48,072.072 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:19:48,135.135 INFO    ] No existing commands found in stream
[2026-08-29 09:19:53,148.148 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:19:53,151.151 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-08-29 09:19:56,601.601 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:19:56,603.603 INFO    ] Checking for system updates...
[2026-08-29 09:19:56,624.624 INFO    ] 200
[2026-08-29 09:19:56,626.626 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:19:56,655.655 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:19:56,656.656 INFO    ] No update needed
[2026-08-29 09:19:56,658.658 INFO    ] Checking for camera pi updates...
[2026-08-29 09:19:56,677.677 INFO    ] 200
[2026-08-29 09:19:56,678.678 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:19:56,701.701 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:19:56,789.789 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:19:56,791.791 INFO    ] No camera update needed
[2026-08-29 09:19:56,792.792 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:19:56,793.793 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:19:56,797.797 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:19:56,799.799 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:19:58,838.838 INFO    ] ================================================
[2026-08-29 09:19:58,854.854 INFO    ] Launching Daemon at Sat Aug 29 09:19:58 IST 2026
[2026-08-29 09:19:58,868.868 INFO    ] ================================================
[2026-08-29 09:19:59,530.530 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:19:59
[2026-08-29 09:20:00,223.223 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:20:00,531.531 INFO    ] Initializing speech engine...
[2026-08-29 09:20:00,545.545 INFO    ] 2026-08-29 09:20:00
[2026-08-29 09:20:00,819.819 INFO    ] 2026-08-29 09:20:00
[2026-08-29 09:20:00,885.885 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:20:01,135.135 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:20:01,145.145 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:20:01,301.301 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:20:01,309.309 INFO    ] time= 29/08/2026 09:20:01
[2026-08-29 09:20:01,358.358 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:20:01,402.402 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:20:01,478.478 INFO    ] No existing commands found in stream
[2026-08-29 09:20:06,509.509 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:20:06,512.512 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-08-29 09:20:08,306.306 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:20:08,308.308 INFO    ] Checking for system updates...
[2026-08-29 09:20:08,328.328 INFO    ] 200
[2026-08-29 09:20:08,329.329 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:20:08,361.361 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:20:08,363.363 INFO    ] No update needed
[2026-08-29 09:20:08,364.364 INFO    ] Checking for camera pi updates...
[2026-08-29 09:20:08,383.383 INFO    ] 200
[2026-08-29 09:20:08,384.384 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:20:08,409.409 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:20:08,454.454 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:20:08,455.455 INFO    ] No camera update needed
[2026-08-29 09:20:08,456.456 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:20:08,457.457 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:20:08,460.460 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:20:08,463.463 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:20:10,501.501 INFO    ] ================================================
[2026-08-29 09:20:10,517.517 INFO    ] Launching Daemon at Sat Aug 29 09:20:10 IST 2026
[2026-08-29 09:20:10,529.529 INFO    ] ================================================
[2026-08-29 09:20:11,060.060 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:20:11
[2026-08-29 09:20:11,661.661 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:20:11,940.940 INFO    ] Initializing speech engine...
[2026-08-29 09:20:11,947.947 INFO    ] 2026-08-29 09:20:11
[2026-08-29 09:20:12,209.209 INFO    ] 2026-08-29 09:20:12
[2026-08-29 09:20:12,264.264 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:20:12,487.487 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:20:12,496.496 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:20:12,628.628 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:20:12,680.680 INFO    ] time= 29/08/2026 09:20:12
[2026-08-29 09:20:12,735.735 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:20:12,765.765 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:20:12,813.813 INFO    ] No existing commands found in stream
[2026-08-29 09:20:17,825.825 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:20:17,828.828 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 09:20:21,281.281 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:20:21,283.283 INFO    ] Checking for system updates...
[2026-08-29 09:20:21,305.305 INFO    ] 200
[2026-08-29 09:20:21,306.306 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:20:21,346.346 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:20:21,349.349 INFO    ] No update needed
[2026-08-29 09:20:21,351.351 INFO    ] Checking for camera pi updates...
[2026-08-29 09:20:21,385.385 INFO    ] 200
[2026-08-29 09:20:21,387.387 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:20:21,433.433 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:20:21,519.519 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:20:21,521.521 INFO    ] No camera update needed
[2026-08-29 09:20:21,524.524 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:20:21,526.526 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:20:21,531.531 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:20:21,536.536 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:20:23,580.580 INFO    ] ================================================
[2026-08-29 09:20:23,596.596 INFO    ] Launching Daemon at Sat Aug 29 09:20:23 IST 2026
[2026-08-29 09:20:23,607.607 INFO    ] ================================================
[2026-08-29 09:20:24,187.187 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:20:24
[2026-08-29 09:20:24,629.629 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:20:24,762.762 INFO    ] Initializing speech engine...
[2026-08-29 09:20:24,776.776 INFO    ] 2026-08-29 09:20:24
[2026-08-29 09:20:24,959.959 INFO    ] 2026-08-29 09:20:24
[2026-08-29 09:20:25,000.000 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:20:25,167.167 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:20:25,180.180 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:20:25,319.319 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:20:25,328.328 INFO    ] time= 29/08/2026 09:20:25
[2026-08-29 09:20:25,332.332 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:20:25,340.340 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:20:25,406.406 INFO    ] No existing commands found in stream
[2026-08-29 09:20:30,426.426 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:20:30,429.429 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 09:20:33,945.945 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:20:33,947.947 INFO    ] Checking for system updates...
[2026-08-29 09:20:33,983.983 INFO    ] 200
[2026-08-29 09:20:33,986.986 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:20:34,038.038 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:20:34,040.040 INFO    ] No update needed
[2026-08-29 09:20:34,043.043 INFO    ] Checking for camera pi updates...
[2026-08-29 09:20:34,076.076 INFO    ] 200
[2026-08-29 09:20:34,079.079 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:20:34,125.125 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:20:34,229.229 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:20:34,232.232 INFO    ] No camera update needed
[2026-08-29 09:20:34,234.234 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:20:34,237.237 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:20:34,242.242 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:20:34,247.247 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:20:36,287.287 INFO    ] ================================================
[2026-08-29 09:20:36,304.304 INFO    ] Launching Daemon at Sat Aug 29 09:20:36 IST 2026
[2026-08-29 09:20:36,315.315 INFO    ] ================================================
[2026-08-29 09:20:36,988.988 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:20:36
[2026-08-29 09:20:37,671.671 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:20:37,980.980 INFO    ] Initializing speech engine...
[2026-08-29 09:20:37,995.995 INFO    ] 2026-08-29 09:20:37
[2026-08-29 09:20:38,304.304 INFO    ] 2026-08-29 09:20:38
[2026-08-29 09:20:38,387.387 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:20:38,535.535 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:20:38,545.545 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:20:38,649.649 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:20:38,651.651 INFO    ] time= 29/08/2026 09:20:38
[2026-08-29 09:20:38,688.688 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:20:38,705.705 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:20:38,788.788 INFO    ] No existing commands found in stream
[2026-08-29 09:20:43,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:20:43,824.824 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-08-29 09:20:44,612.612 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:20:44,613.613 INFO    ] Checking for system updates...
[2026-08-29 09:20:44,635.635 INFO    ] 200
[2026-08-29 09:20:44,636.636 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:20:44,666.666 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:20:44,667.667 INFO    ] No update needed
[2026-08-29 09:20:44,669.669 INFO    ] Checking for camera pi updates...
[2026-08-29 09:20:44,688.688 INFO    ] 200
[2026-08-29 09:20:44,689.689 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:20:44,714.714 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:20:44,801.801 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:20:44,803.803 INFO    ] No camera update needed
[2026-08-29 09:20:44,804.804 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:20:44,805.805 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:20:44,808.808 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:20:44,811.811 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:20:46,849.849 INFO    ] ================================================
[2026-08-29 09:20:46,865.865 INFO    ] Launching Daemon at Sat Aug 29 09:20:46 IST 2026
[2026-08-29 09:20:46,876.876 INFO    ] ================================================
[2026-08-29 09:20:47,384.384 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:20:47
[2026-08-29 09:20:47,989.989 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:20:48,266.266 INFO    ] Initializing speech engine...
[2026-08-29 09:20:48,276.276 INFO    ] 2026-08-29 09:20:48
[2026-08-29 09:20:48,552.552 INFO    ] 2026-08-29 09:20:48
[2026-08-29 09:20:48,595.595 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:20:48,814.814 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:20:48,824.824 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:20:48,958.958 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:20:49,024.024 INFO    ] time= 29/08/2026 09:20:48
[2026-08-29 09:20:49,083.083 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:20:49,092.092 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:20:49,212.212 INFO    ] No existing commands found in stream
[2026-08-29 09:20:54,242.242 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:20:54,245.245 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 09:20:56,763.763 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:20:56,764.764 INFO    ] Checking for system updates...
[2026-08-29 09:20:56,784.784 INFO    ] 200
[2026-08-29 09:20:56,786.786 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:20:56,816.816 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:20:56,817.817 INFO    ] No update needed
[2026-08-29 09:20:56,818.818 INFO    ] Checking for camera pi updates...
[2026-08-29 09:20:56,849.849 INFO    ] 200
[2026-08-29 09:20:56,852.852 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:20:56,897.897 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:20:57,004.004 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:20:57,006.006 INFO    ] No camera update needed
[2026-08-29 09:20:57,009.009 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:20:57,011.011 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:20:57,016.016 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:20:57,021.021 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:20:59,063.063 INFO    ] ================================================
[2026-08-29 09:20:59,079.079 INFO    ] Launching Daemon at Sat Aug 29 09:20:59 IST 2026
[2026-08-29 09:20:59,091.091 INFO    ] ================================================
[2026-08-29 09:20:59,663.663 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:20:59
[2026-08-29 09:21:00,115.115 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:21:00,259.259 INFO    ] Initializing speech engine...
[2026-08-29 09:21:00,265.265 INFO    ] 2026-08-29 09:21:00
[2026-08-29 09:21:00,468.468 INFO    ] 2026-08-29 09:21:00
[2026-08-29 09:21:00,496.496 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:21:00,669.669 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:21:00,685.685 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:21:00,818.818 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:21:00,826.826 INFO    ] time= 29/08/2026 09:21:00
[2026-08-29 09:21:00,854.854 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:21:00,861.861 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:21:00,963.963 INFO    ] No existing commands found in stream
[2026-08-29 09:21:05,975.975 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:21:05,978.978 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-08-29 09:21:08,925.925 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:21:08,926.926 INFO    ] Checking for system updates...
[2026-08-29 09:21:08,947.947 INFO    ] 200
[2026-08-29 09:21:08,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:21:08,981.981 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:21:08,982.982 INFO    ] No update needed
[2026-08-29 09:21:08,984.984 INFO    ] Checking for camera pi updates...
[2026-08-29 09:21:09,003.003 INFO    ] 200
[2026-08-29 09:21:09,004.004 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:21:09,027.027 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:21:09,145.145 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:21:09,147.147 INFO    ] No camera update needed
[2026-08-29 09:21:09,149.149 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:21:09,152.152 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:21:09,157.157 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:21:09,162.162 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:21:11,203.203 INFO    ] ================================================
[2026-08-29 09:21:11,219.219 INFO    ] Launching Daemon at Sat Aug 29 09:21:11 IST 2026
[2026-08-29 09:21:11,230.230 INFO    ] ================================================
[2026-08-29 09:21:11,816.816 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:21:11
[2026-08-29 09:21:12,305.305 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:21:12,455.455 INFO    ] Initializing speech engine...
[2026-08-29 09:21:12,460.460 INFO    ] 2026-08-29 09:21:12
[2026-08-29 09:21:12,667.667 INFO    ] 2026-08-29 09:21:12
[2026-08-29 09:21:12,695.695 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:21:12,830.830 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:21:12,836.836 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:21:12,961.961 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:21:12,966.966 INFO    ] time= 29/08/2026 09:21:12
[2026-08-29 09:21:13,014.014 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:21:13,067.067 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:21:13,155.155 INFO    ] No existing commands found in stream
[2026-08-29 09:21:18,173.173 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:21:18,177.177 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-08-29 09:21:20,370.370 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:21:20,373.373 INFO    ] Checking for system updates...
[2026-08-29 09:21:20,410.410 INFO    ] 200
[2026-08-29 09:21:20,413.413 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:21:20,466.466 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:21:20,468.468 INFO    ] No update needed
[2026-08-29 09:21:20,471.471 INFO    ] Checking for camera pi updates...
[2026-08-29 09:21:20,510.510 INFO    ] 200
[2026-08-29 09:21:20,513.513 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:21:20,559.559 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:21:20,657.657 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:21:20,660.660 INFO    ] No camera update needed
[2026-08-29 09:21:20,663.663 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:21:20,665.665 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:21:20,671.671 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:21:20,677.677 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:21:22,718.718 INFO    ] ================================================
[2026-08-29 09:21:22,734.734 INFO    ] Launching Daemon at Sat Aug 29 09:21:22 IST 2026
[2026-08-29 09:21:22,745.745 INFO    ] ================================================
[2026-08-29 09:21:23,336.336 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:21:23
[2026-08-29 09:21:23,684.684 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:21:23,835.835 INFO    ] Initializing speech engine...
[2026-08-29 09:21:23,841.841 INFO    ] 2026-08-29 09:21:23
[2026-08-29 09:21:24,088.088 INFO    ] 2026-08-29 09:21:24
[2026-08-29 09:21:24,154.154 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:21:24,327.327 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:21:24,383.383 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:21:24,531.531 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:21:24,574.574 INFO    ] time= 29/08/2026 09:21:24
[2026-08-29 09:21:24,629.629 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:21:24,667.667 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:21:24,725.725 INFO    ] No existing commands found in stream
[2026-08-29 09:21:29,738.738 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:21:29,741.741 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-08-29 09:21:32,753.753 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:21:32,757.757 INFO    ] Checking for system updates...
[2026-08-29 09:21:32,797.797 INFO    ] 200
[2026-08-29 09:21:32,800.800 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:21:32,862.862 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:21:32,865.865 INFO    ] No update needed
[2026-08-29 09:21:32,868.868 INFO    ] Checking for camera pi updates...
[2026-08-29 09:21:32,914.914 INFO    ] 200
[2026-08-29 09:21:32,917.917 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:21:32,964.964 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:21:33,055.055 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:21:33,057.057 INFO    ] No camera update needed
[2026-08-29 09:21:33,060.060 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:21:33,062.062 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:21:33,067.067 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:21:33,072.072 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:21:35,113.113 INFO    ] ================================================
[2026-08-29 09:21:35,129.129 INFO    ] Launching Daemon at Sat Aug 29 09:21:35 IST 2026
[2026-08-29 09:21:35,140.140 INFO    ] ================================================
[2026-08-29 09:21:35,602.602 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:21:35
[2026-08-29 09:21:35,917.917 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:21:36,147.147 INFO    ] Initializing speech engine...
[2026-08-29 09:21:36,156.156 INFO    ] 2026-08-29 09:21:36
[2026-08-29 09:21:36,412.412 INFO    ] 2026-08-29 09:21:36
[2026-08-29 09:21:36,448.448 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:21:36,626.626 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:21:36,638.638 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:21:36,783.783 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:21:36,792.792 INFO    ] time= 29/08/2026 09:21:36
[2026-08-29 09:21:36,798.798 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:21:36,849.849 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:21:36,977.977 INFO    ] No existing commands found in stream
[2026-08-29 09:21:42,002.002 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:21:42,005.005 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-08-29 09:21:42,997.997 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:21:43,000.000 INFO    ] Checking for system updates...
[2026-08-29 09:21:43,040.040 INFO    ] 200
[2026-08-29 09:21:43,042.042 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:21:43,096.096 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:21:43,099.099 INFO    ] No update needed
[2026-08-29 09:21:43,101.101 INFO    ] Checking for camera pi updates...
[2026-08-29 09:21:43,135.135 INFO    ] 200
[2026-08-29 09:21:43,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:21:43,178.178 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:21:43,262.262 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:21:43,265.265 INFO    ] No camera update needed
[2026-08-29 09:21:43,268.268 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:21:43,271.271 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:21:43,277.277 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:21:43,283.283 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:21:45,326.326 INFO    ] ================================================
[2026-08-29 09:21:45,343.343 INFO    ] Launching Daemon at Sat Aug 29 09:21:45 IST 2026
[2026-08-29 09:21:45,354.354 INFO    ] ================================================
[2026-08-29 09:21:45,695.695 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:21:45
[2026-08-29 09:21:46,010.010 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:21:46,154.154 INFO    ] Initializing speech engine...
[2026-08-29 09:21:46,159.159 INFO    ] 2026-08-29 09:21:46
[2026-08-29 09:21:46,382.382 INFO    ] 2026-08-29 09:21:46
[2026-08-29 09:21:46,461.461 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:21:46,614.614 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:21:46,624.624 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:21:46,755.755 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:21:46,792.792 INFO    ] time= 29/08/2026 09:21:46
[2026-08-29 09:21:46,841.841 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:21:46,888.888 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:21:46,942.942 INFO    ] No existing commands found in stream
[2026-08-29 09:21:51,954.954 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:21:51,957.957 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-08-29 09:21:52,726.726 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:21:52,728.728 INFO    ] Checking for system updates...
[2026-08-29 09:21:52,748.748 INFO    ] 200
[2026-08-29 09:21:52,749.749 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:21:52,779.779 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:21:52,781.781 INFO    ] No update needed
[2026-08-29 09:21:52,782.782 INFO    ] Checking for camera pi updates...
[2026-08-29 09:21:52,801.801 INFO    ] 200
[2026-08-29 09:21:52,803.803 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:21:52,841.841 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:21:52,946.946 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:21:52,948.948 INFO    ] No camera update needed
[2026-08-29 09:21:52,950.950 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:21:52,953.953 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:21:52,958.958 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:21:52,963.963 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:21:55,003.003 INFO    ] ================================================
[2026-08-29 09:21:55,020.020 INFO    ] Launching Daemon at Sat Aug 29 09:21:55 IST 2026
[2026-08-29 09:21:55,031.031 INFO    ] ================================================
[2026-08-29 09:21:55,605.605 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:21:55
[2026-08-29 09:21:56,108.108 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:21:56,380.380 INFO    ] Initializing speech engine...
[2026-08-29 09:21:56,390.390 INFO    ] 2026-08-29 09:21:56
[2026-08-29 09:21:56,636.636 INFO    ] 2026-08-29 09:21:56
[2026-08-29 09:21:56,672.672 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:21:56,848.848 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:21:56,860.860 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:21:57,005.005 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:21:57,013.013 INFO    ] time= 29/08/2026 09:21:57
[2026-08-29 09:21:57,020.020 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:21:57,052.052 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:21:57,171.171 INFO    ] No existing commands found in stream
[2026-08-29 09:22:02,194.194 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:22:02,198.198 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-08-29 09:22:02,987.987 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:22:02,990.990 INFO    ] Checking for system updates...
[2026-08-29 09:22:03,043.043 INFO    ] 200
[2026-08-29 09:22:03,046.046 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:22:03,119.119 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:22:03,122.122 INFO    ] No update needed
[2026-08-29 09:22:03,125.125 INFO    ] Checking for camera pi updates...
[2026-08-29 09:22:03,165.165 INFO    ] 200
[2026-08-29 09:22:03,168.168 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:22:03,219.219 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:22:03,325.325 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:22:03,328.328 INFO    ] No camera update needed
[2026-08-29 09:22:03,331.331 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:22:03,334.334 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:22:03,341.341 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:22:03,347.347 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:22:05,388.388 INFO    ] ================================================
[2026-08-29 09:22:05,404.404 INFO    ] Launching Daemon at Sat Aug 29 09:22:05 IST 2026
[2026-08-29 09:22:05,415.415 INFO    ] ================================================
[2026-08-29 09:22:05,760.760 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:22:05
[2026-08-29 09:22:06,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:22:06,220.220 INFO    ] Initializing speech engine...
[2026-08-29 09:22:06,225.225 INFO    ] 2026-08-29 09:22:06
[2026-08-29 09:22:06,430.430 INFO    ] 2026-08-29 09:22:06
[2026-08-29 09:22:06,465.465 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:22:06,649.649 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:22:06,670.670 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:22:06,806.806 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:22:06,832.832 INFO    ] time= 29/08/2026 09:22:06
[2026-08-29 09:22:06,838.838 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:22:06,845.845 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:22:06,941.941 INFO    ] No existing commands found in stream
[2026-08-29 09:22:11,955.955 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:22:11,958.958 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-08-29 09:22:16,098.098 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:22:16,099.099 INFO    ] Checking for system updates...
[2026-08-29 09:22:16,119.119 INFO    ] 200
[2026-08-29 09:22:16,121.121 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:22:16,150.150 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:22:16,152.152 INFO    ] No update needed
[2026-08-29 09:22:16,153.153 INFO    ] Checking for camera pi updates...
[2026-08-29 09:22:16,172.172 INFO    ] 200
[2026-08-29 09:22:16,173.173 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:22:16,198.198 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:22:16,278.278 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:22:16,279.279 INFO    ] No camera update needed
[2026-08-29 09:22:16,280.280 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:22:16,281.281 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:22:16,285.285 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:22:16,287.287 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:22:18,327.327 INFO    ] ================================================
[2026-08-29 09:22:18,343.343 INFO    ] Launching Daemon at Sat Aug 29 09:22:18 IST 2026
[2026-08-29 09:22:18,355.355 INFO    ] ================================================
[2026-08-29 09:22:18,825.825 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:22:18
[2026-08-29 09:22:19,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:22:19,741.741 INFO    ] Initializing speech engine...
[2026-08-29 09:22:19,749.749 INFO    ] 2026-08-29 09:22:19
[2026-08-29 09:22:20,018.018 INFO    ] 2026-08-29 09:22:20
[2026-08-29 09:22:20,053.053 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:22:20,247.247 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:22:20,297.297 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:22:20,457.457 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:22:20,514.514 INFO    ] time= 29/08/2026 09:22:20
[2026-08-29 09:22:20,574.574 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:22:20,595.595 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:22:20,653.653 INFO    ] No existing commands found in stream
[2026-08-29 09:22:25,666.666 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:22:25,669.669 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-08-29 09:22:26,303.303 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:22:26,305.305 INFO    ] Checking for system updates...
[2026-08-29 09:22:26,326.326 INFO    ] 200
[2026-08-29 09:22:26,328.328 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:22:26,360.360 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:22:26,361.361 INFO    ] No update needed
[2026-08-29 09:22:26,363.363 INFO    ] Checking for camera pi updates...
[2026-08-29 09:22:26,384.384 INFO    ] 200
[2026-08-29 09:22:26,385.385 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:22:26,412.412 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:22:26,497.497 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:22:26,499.499 INFO    ] No camera update needed
[2026-08-29 09:22:26,500.500 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:22:26,502.502 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:22:26,505.505 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:22:26,508.508 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:22:28,546.546 INFO    ] ================================================
[2026-08-29 09:22:28,562.562 INFO    ] Launching Daemon at Sat Aug 29 09:22:28 IST 2026
[2026-08-29 09:22:28,573.573 INFO    ] ================================================
[2026-08-29 09:22:28,928.928 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:22:28
[2026-08-29 09:22:29,255.255 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:22:29,509.509 INFO    ] Initializing speech engine...
[2026-08-29 09:22:29,516.516 INFO    ] 2026-08-29 09:22:29
[2026-08-29 09:22:29,805.805 INFO    ] 2026-08-29 09:22:29
[2026-08-29 09:22:29,842.842 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:22:30,034.034 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:22:30,050.050 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:22:30,171.171 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:22:30,192.192 INFO    ] time= 29/08/2026 09:22:30
[2026-08-29 09:22:30,214.214 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:22:30,221.221 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:22:30,298.298 INFO    ] No existing commands found in stream
[2026-08-29 09:22:35,310.310 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:22:35,312.312 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-08-29 09:22:36,584.584 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:22:36,586.586 INFO    ] Checking for system updates...
[2026-08-29 09:22:36,607.607 INFO    ] 200
[2026-08-29 09:22:36,609.609 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:22:36,639.639 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:22:36,640.640 INFO    ] No update needed
[2026-08-29 09:22:36,642.642 INFO    ] Checking for camera pi updates...
[2026-08-29 09:22:36,662.662 INFO    ] 200
[2026-08-29 09:22:36,664.664 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:22:36,688.688 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:22:36,869.869 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:22:36,871.871 INFO    ] No camera update needed
[2026-08-29 09:22:36,872.872 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:22:36,873.873 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:22:36,876.876 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:22:36,879.879 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:22:38,919.919 INFO    ] ================================================
[2026-08-29 09:22:38,935.935 INFO    ] Launching Daemon at Sat Aug 29 09:22:38 IST 2026
[2026-08-29 09:22:38,946.946 INFO    ] ================================================
[2026-08-29 09:22:39,317.317 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:22:39
[2026-08-29 09:22:39,633.633 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:22:39,831.831 INFO    ] Initializing speech engine...
[2026-08-29 09:22:39,840.840 INFO    ] 2026-08-29 09:22:39
[2026-08-29 09:22:40,101.101 INFO    ] 2026-08-29 09:22:40
[2026-08-29 09:22:40,155.155 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:22:40,376.376 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:22:40,386.386 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:22:40,519.519 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:22:40,559.559 INFO    ] time= 29/08/2026 09:22:40
[2026-08-29 09:22:40,618.618 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:22:40,650.650 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:22:40,702.702 INFO    ] No existing commands found in stream
[2026-08-29 09:22:45,714.714 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:22:45,717.717 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-08-29 09:22:46,604.604 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:22:46,605.605 INFO    ] Checking for system updates...
[2026-08-29 09:22:46,626.626 INFO    ] 200
[2026-08-29 09:22:46,627.627 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:22:46,657.657 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:22:46,658.658 INFO    ] No update needed
[2026-08-29 09:22:46,659.659 INFO    ] Checking for camera pi updates...
[2026-08-29 09:22:46,678.678 INFO    ] 200
[2026-08-29 09:22:46,679.679 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:22:46,702.702 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:22:46,802.802 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:22:46,804.804 INFO    ] No camera update needed
[2026-08-29 09:22:46,805.805 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:22:46,806.806 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:22:46,809.809 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:22:46,812.812 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:22:48,851.851 INFO    ] ================================================
[2026-08-29 09:22:48,867.867 INFO    ] Launching Daemon at Sat Aug 29 09:22:48 IST 2026
[2026-08-29 09:22:48,878.878 INFO    ] ================================================
[2026-08-29 09:22:49,219.219 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:22:49
[2026-08-29 09:22:49,733.733 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:22:49,985.985 INFO    ] Initializing speech engine...
[2026-08-29 09:22:50,008.008 INFO    ] 2026-08-29 09:22:49
[2026-08-29 09:22:50,264.264 INFO    ] 2026-08-29 09:22:50
[2026-08-29 09:22:50,299.299 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:22:50,476.476 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:22:50,488.488 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:22:50,633.633 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:22:50,641.641 INFO    ] time= 29/08/2026 09:22:50
[2026-08-29 09:22:50,645.645 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:22:50,651.651 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:22:50,717.717 INFO    ] No existing commands found in stream
[2026-08-29 09:22:55,730.730 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:22:55,733.733 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-08-29 09:22:57,157.157 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:22:57,159.159 INFO    ] Checking for system updates...
[2026-08-29 09:22:57,180.180 INFO    ] 200
[2026-08-29 09:22:57,182.182 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:22:57,214.214 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:22:57,215.215 INFO    ] No update needed
[2026-08-29 09:22:57,217.217 INFO    ] Checking for camera pi updates...
[2026-08-29 09:22:57,239.239 INFO    ] 200
[2026-08-29 09:22:57,240.240 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:22:57,264.264 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:22:57,374.374 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:22:57,375.375 INFO    ] No camera update needed
[2026-08-29 09:22:57,377.377 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:22:57,378.378 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:22:57,381.381 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:22:57,384.384 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:22:59,424.424 INFO    ] ================================================
[2026-08-29 09:22:59,440.440 INFO    ] Launching Daemon at Sat Aug 29 09:22:59 IST 2026
[2026-08-29 09:22:59,451.451 INFO    ] ================================================
[2026-08-29 09:22:59,799.799 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:22:59
[2026-08-29 09:23:00,211.211 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:23:00,479.479 INFO    ] Initializing speech engine...
[2026-08-29 09:23:00,495.495 INFO    ] 2026-08-29 09:23:00
[2026-08-29 09:23:00,768.768 INFO    ] 2026-08-29 09:23:00
[2026-08-29 09:23:00,813.813 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:23:00,999.999 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:23:01,012.012 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:23:01,162.162 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:23:01,171.171 INFO    ] time= 29/08/2026 09:23:01
[2026-08-29 09:23:01,180.180 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:23:01,236.236 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:23:01,358.358 INFO    ] No existing commands found in stream
[2026-08-29 09:23:06,384.384 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:23:06,387.387 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-08-29 09:23:07,322.322 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:23:07,324.324 INFO    ] Checking for system updates...
[2026-08-29 09:23:07,345.345 INFO    ] 200
[2026-08-29 09:23:07,346.346 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:23:07,376.376 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:23:07,377.377 INFO    ] No update needed
[2026-08-29 09:23:07,378.378 INFO    ] Checking for camera pi updates...
[2026-08-29 09:23:07,397.397 INFO    ] 200
[2026-08-29 09:23:07,398.398 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:23:07,421.421 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:23:07,496.496 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:23:07,498.498 INFO    ] No camera update needed
[2026-08-29 09:23:07,499.499 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:23:07,500.500 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:23:07,503.503 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:23:07,506.506 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:23:09,544.544 INFO    ] ================================================
[2026-08-29 09:23:09,559.559 INFO    ] Launching Daemon at Sat Aug 29 09:23:09 IST 2026
[2026-08-29 09:23:09,570.570 INFO    ] ================================================
[2026-08-29 09:23:09,905.905 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:23:09
[2026-08-29 09:23:10,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:23:10,348.348 INFO    ] Initializing speech engine...
[2026-08-29 09:23:10,352.352 INFO    ] 2026-08-29 09:23:10
[2026-08-29 09:23:10,574.574 INFO    ] 2026-08-29 09:23:10
[2026-08-29 09:23:10,650.650 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:23:10,812.812 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:23:10,821.821 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:23:10,959.959 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:23:10,998.998 INFO    ] time= 29/08/2026 09:23:10
[2026-08-29 09:23:11,048.048 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:23:11,094.094 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:23:11,149.149 INFO    ] No existing commands found in stream
[2026-08-29 09:23:16,161.161 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:23:16,164.164 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-08-29 09:23:19,541.541 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:23:19,543.543 INFO    ] Checking for system updates...
[2026-08-29 09:23:19,564.564 INFO    ] 200
[2026-08-29 09:23:19,565.565 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:23:19,597.597 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:23:19,598.598 INFO    ] No update needed
[2026-08-29 09:23:19,600.600 INFO    ] Checking for camera pi updates...
[2026-08-29 09:23:19,622.622 INFO    ] 200
[2026-08-29 09:23:19,623.623 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:23:19,648.648 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:23:19,751.751 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:23:19,752.752 INFO    ] No camera update needed
[2026-08-29 09:23:19,753.753 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:23:19,755.755 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:23:19,758.758 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:23:19,761.761 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:23:21,801.801 INFO    ] ================================================
[2026-08-29 09:23:21,817.817 INFO    ] Launching Daemon at Sat Aug 29 09:23:21 IST 2026
[2026-08-29 09:23:21,828.828 INFO    ] ================================================
[2026-08-29 09:23:22,188.188 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:23:22
[2026-08-29 09:23:22,527.527 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:23:22,679.679 INFO    ] Initializing speech engine...
[2026-08-29 09:23:22,684.684 INFO    ] 2026-08-29 09:23:22
[2026-08-29 09:23:22,892.892 INFO    ] 2026-08-29 09:23:22
[2026-08-29 09:23:22,921.921 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:23:23,043.043 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:23:23,076.076 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:23:23,236.236 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:23:23,293.293 INFO    ] time= 29/08/2026 09:23:23
[2026-08-29 09:23:23,331.331 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:23:23,340.340 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:23:23,412.412 INFO    ] No existing commands found in stream
[2026-08-29 09:23:28,427.427 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:23:28,430.430 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-08-29 09:23:29,868.868 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:23:29,869.869 INFO    ] Checking for system updates...
[2026-08-29 09:23:29,891.891 INFO    ] 200
[2026-08-29 09:23:29,893.893 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:23:29,924.924 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:23:29,926.926 INFO    ] No update needed
[2026-08-29 09:23:29,927.927 INFO    ] Checking for camera pi updates...
[2026-08-29 09:23:29,946.946 INFO    ] 200
[2026-08-29 09:23:29,948.948 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:23:29,971.971 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:23:30,050.050 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:23:30,051.051 INFO    ] No camera update needed
[2026-08-29 09:23:30,053.053 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:23:30,054.054 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:23:30,057.057 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:23:30,060.060 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:23:32,101.101 INFO    ] ================================================
[2026-08-29 09:23:32,118.118 INFO    ] Launching Daemon at Sat Aug 29 09:23:32 IST 2026
[2026-08-29 09:23:32,131.131 INFO    ] ================================================
[2026-08-29 09:23:32,739.739 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:23:32
[2026-08-29 09:23:33,339.339 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:23:33,611.611 INFO    ] Initializing speech engine...
[2026-08-29 09:23:33,625.625 INFO    ] 2026-08-29 09:23:33
[2026-08-29 09:23:33,884.884 INFO    ] 2026-08-29 09:23:33
[2026-08-29 09:23:33,938.938 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:23:34,165.165 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:23:34,174.174 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:23:34,306.306 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:23:34,353.353 INFO    ] time= 29/08/2026 09:23:34
[2026-08-29 09:23:34,417.417 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:23:34,441.441 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:23:34,496.496 INFO    ] No existing commands found in stream
[2026-08-29 09:23:39,508.508 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:23:39,511.511 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-08-29 09:23:39,873.873 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:23:39,874.874 INFO    ] Checking for system updates...
[2026-08-29 09:23:39,895.895 INFO    ] 200
[2026-08-29 09:23:39,903.903 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:23:39,935.935 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:23:39,936.936 INFO    ] No update needed
[2026-08-29 09:23:39,937.937 INFO    ] Checking for camera pi updates...
[2026-08-29 09:23:39,956.956 INFO    ] 200
[2026-08-29 09:23:39,958.958 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:23:39,980.980 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:23:40,076.076 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:23:40,078.078 INFO    ] No camera update needed
[2026-08-29 09:23:40,080.080 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:23:40,083.083 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:23:40,088.088 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:23:40,093.093 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:23:42,136.136 INFO    ] ================================================
[2026-08-29 09:23:42,152.152 INFO    ] Launching Daemon at Sat Aug 29 09:23:42 IST 2026
[2026-08-29 09:23:42,164.164 INFO    ] ================================================
[2026-08-29 09:23:42,820.820 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:23:42
[2026-08-29 09:23:43,495.495 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:23:43,803.803 INFO    ] Initializing speech engine...
[2026-08-29 09:23:43,811.811 INFO    ] 2026-08-29 09:23:43
[2026-08-29 09:23:44,084.084 INFO    ] 2026-08-29 09:23:44
[2026-08-29 09:23:44,119.119 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:23:44,292.292 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:23:44,317.317 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:23:44,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:23:44,459.459 INFO    ] time= 29/08/2026 09:23:44
[2026-08-29 09:23:44,468.468 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:23:44,532.532 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:23:44,643.643 INFO    ] No existing commands found in stream
[2026-08-29 09:23:49,674.674 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:23:49,677.677 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-08-29 09:23:50,622.622 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:23:50,623.623 INFO    ] Checking for system updates...
[2026-08-29 09:23:50,644.644 INFO    ] 200
[2026-08-29 09:23:50,645.645 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:23:50,677.677 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:23:50,679.679 INFO    ] No update needed
[2026-08-29 09:23:50,680.680 INFO    ] Checking for camera pi updates...
[2026-08-29 09:23:50,703.703 INFO    ] 200
[2026-08-29 09:23:50,704.704 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:23:50,727.727 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:23:50,826.826 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:23:50,828.828 INFO    ] No camera update needed
[2026-08-29 09:23:50,829.829 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:23:50,830.830 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:23:50,833.833 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:23:50,836.836 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:23:52,875.875 INFO    ] ================================================
[2026-08-29 09:23:52,891.891 INFO    ] Launching Daemon at Sat Aug 29 09:23:52 IST 2026
[2026-08-29 09:23:52,902.902 INFO    ] ================================================
[2026-08-29 09:23:53,253.253 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:23:53
[2026-08-29 09:23:53,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:23:53,698.698 INFO    ] Initializing speech engine...
[2026-08-29 09:23:53,703.703 INFO    ] 2026-08-29 09:23:53
[2026-08-29 09:23:53,932.932 INFO    ] 2026-08-29 09:23:53
[2026-08-29 09:23:53,997.997 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:23:54,196.196 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:23:54,207.207 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:23:54,360.360 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:23:54,377.377 INFO    ] time= 29/08/2026 09:23:54
[2026-08-29 09:23:54,426.426 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:23:54,480.480 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:23:54,564.564 INFO    ] No existing commands found in stream
[2026-08-29 09:23:59,578.578 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:23:59,580.580 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-08-29 09:24:02,886.886 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:24:02,890.890 INFO    ] Checking for system updates...
[2026-08-29 09:24:02,936.936 INFO    ] 200
[2026-08-29 09:24:02,940.940 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:24:03,006.006 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:24:03,010.010 INFO    ] No update needed
[2026-08-29 09:24:03,014.014 INFO    ] Checking for camera pi updates...
[2026-08-29 09:24:03,062.062 INFO    ] 200
[2026-08-29 09:24:03,065.065 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:24:03,118.118 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:24:03,270.270 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:24:03,273.273 INFO    ] No camera update needed
[2026-08-29 09:24:03,276.276 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:24:03,279.279 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:24:03,286.286 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:24:03,291.291 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:24:05,333.333 INFO    ] ================================================
[2026-08-29 09:24:05,349.349 INFO    ] Launching Daemon at Sat Aug 29 09:24:05 IST 2026
[2026-08-29 09:24:05,360.360 INFO    ] ================================================
[2026-08-29 09:24:05,732.732 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:24:05
[2026-08-29 09:24:06,048.048 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:24:06,193.193 INFO    ] Initializing speech engine...
[2026-08-29 09:24:06,198.198 INFO    ] 2026-08-29 09:24:06
[2026-08-29 09:24:06,429.429 INFO    ] 2026-08-29 09:24:06
[2026-08-29 09:24:06,467.467 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:24:06,663.663 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:24:06,686.686 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:24:06,864.864 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:24:06,890.890 INFO    ] time= 29/08/2026 09:24:06
[2026-08-29 09:24:06,950.950 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:24:06,997.997 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:24:07,051.051 INFO    ] No existing commands found in stream
[2026-08-29 09:24:12,063.063 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:24:12,066.066 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-08-29 09:24:12,519.519 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:24:12,521.521 INFO    ] Checking for system updates...
[2026-08-29 09:24:12,541.541 INFO    ] 200
[2026-08-29 09:24:12,543.543 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:24:12,572.572 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:24:12,573.573 INFO    ] No update needed
[2026-08-29 09:24:12,575.575 INFO    ] Checking for camera pi updates...
[2026-08-29 09:24:12,596.596 INFO    ] 200
[2026-08-29 09:24:12,597.597 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:24:12,620.620 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:24:12,705.705 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:24:12,706.706 INFO    ] No camera update needed
[2026-08-29 09:24:12,707.707 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:24:12,708.708 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:24:12,711.711 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:24:12,714.714 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:24:14,754.754 INFO    ] ================================================
[2026-08-29 09:24:14,770.770 INFO    ] Launching Daemon at Sat Aug 29 09:24:14 IST 2026
[2026-08-29 09:24:14,781.781 INFO    ] ================================================
[2026-08-29 09:24:15,153.153 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:24:15
[2026-08-29 09:24:15,467.467 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:24:15,604.604 INFO    ] Initializing speech engine...
[2026-08-29 09:24:15,613.613 INFO    ] 2026-08-29 09:24:15
[2026-08-29 09:24:15,816.816 INFO    ] 2026-08-29 09:24:15
[2026-08-29 09:24:15,856.856 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:24:16,018.018 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:24:16,027.027 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:24:16,192.192 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:24:16,225.225 INFO    ] time= 29/08/2026 09:24:16
[2026-08-29 09:24:16,231.231 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:24:16,249.249 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:24:16,360.360 INFO    ] No existing commands found in stream
[2026-08-29 09:24:21,387.387 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:24:21,390.390 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-08-29 09:24:22,592.592 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:24:22,594.594 INFO    ] Checking for system updates...
[2026-08-29 09:24:22,614.614 INFO    ] 200
[2026-08-29 09:24:22,615.615 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:24:22,647.647 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:24:22,649.649 INFO    ] No update needed
[2026-08-29 09:24:22,650.650 INFO    ] Checking for camera pi updates...
[2026-08-29 09:24:22,669.669 INFO    ] 200
[2026-08-29 09:24:22,671.671 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:24:22,696.696 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:24:22,800.800 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:24:22,802.802 INFO    ] No camera update needed
[2026-08-29 09:24:22,803.803 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:24:22,805.805 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:24:22,808.808 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:24:22,811.811 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:24:24,851.851 INFO    ] ================================================
[2026-08-29 09:24:24,866.866 INFO    ] Launching Daemon at Sat Aug 29 09:24:24 IST 2026
[2026-08-29 09:24:24,876.876 INFO    ] ================================================
[2026-08-29 09:24:25,482.482 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:24:25
[2026-08-29 09:24:26,157.157 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:24:26,463.463 INFO    ] Initializing speech engine...
[2026-08-29 09:24:26,472.472 INFO    ] 2026-08-29 09:24:26
[2026-08-29 09:24:26,748.748 INFO    ] 2026-08-29 09:24:26
[2026-08-29 09:24:26,807.807 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:24:27,035.035 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:24:27,045.045 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:24:27,181.181 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:24:27,203.203 INFO    ] time= 29/08/2026 09:24:27
[2026-08-29 09:24:27,263.263 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:24:27,313.313 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:24:27,372.372 INFO    ] No existing commands found in stream
[2026-08-29 09:24:32,385.385 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:24:32,388.388 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-08-29 09:24:33,668.668 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:24:33,670.670 INFO    ] Checking for system updates...
[2026-08-29 09:24:33,707.707 INFO    ] 200
[2026-08-29 09:24:33,709.709 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:24:33,768.768 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:24:33,771.771 INFO    ] No update needed
[2026-08-29 09:24:33,773.773 INFO    ] Checking for camera pi updates...
[2026-08-29 09:24:33,810.810 INFO    ] 200
[2026-08-29 09:24:33,812.812 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:24:33,853.853 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:24:33,935.935 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:24:33,938.938 INFO    ] No camera update needed
[2026-08-29 09:24:33,940.940 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:24:33,942.942 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:24:33,947.947 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:24:33,952.952 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:24:35,987.987 INFO    ] ================================================
[2026-08-29 09:24:35,995.995 INFO    ] Launching Daemon at Sat Aug 29 09:24:35 IST 2026
[2026-08-29 09:24:36,001.001 INFO    ] ================================================
[2026-08-29 09:24:36,333.333 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:24:36
[2026-08-29 09:24:36,729.729 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:24:37,033.033 INFO    ] Initializing speech engine...
[2026-08-29 09:24:37,041.041 INFO    ] 2026-08-29 09:24:37
[2026-08-29 09:24:37,322.322 INFO    ] 2026-08-29 09:24:37
[2026-08-29 09:24:37,380.380 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:24:37,867.867 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:24:37,886.886 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:24:40,061.061 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:24:40,068.068 INFO    ] time= 29/08/2026 09:24:40
[2026-08-29 09:24:40,071.071 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:24:40,084.084 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:24:40,173.173 INFO    ] No existing commands found in stream
[2026-08-29 09:24:45,188.188 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:24:45,191.191 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-08-29 09:24:49,291.291 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:24:49,293.293 INFO    ] Checking for system updates...
[2026-08-29 09:24:49,313.313 INFO    ] 200
[2026-08-29 09:24:49,315.315 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:24:49,346.346 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:24:49,348.348 INFO    ] No update needed
[2026-08-29 09:24:49,349.349 INFO    ] Checking for camera pi updates...
[2026-08-29 09:24:49,371.371 INFO    ] 200
[2026-08-29 09:24:49,372.372 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:24:49,395.395 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:24:49,550.550 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:24:49,551.551 INFO    ] No camera update needed
[2026-08-29 09:24:49,553.553 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:24:49,554.554 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:24:49,557.557 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:24:49,560.560 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:24:51,598.598 INFO    ] ================================================
[2026-08-29 09:24:51,613.613 INFO    ] Launching Daemon at Sat Aug 29 09:24:51 IST 2026
[2026-08-29 09:24:51,624.624 INFO    ] ================================================
[2026-08-29 09:24:51,979.979 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:24:51
[2026-08-29 09:24:52,289.289 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:24:52,429.429 INFO    ] Initializing speech engine...
[2026-08-29 09:24:52,436.436 INFO    ] 2026-08-29 09:24:52
[2026-08-29 09:24:52,641.641 INFO    ] 2026-08-29 09:24:52
[2026-08-29 09:24:52,670.670 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:24:52,792.792 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:24:52,854.854 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:24:52,991.991 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:24:53,055.055 INFO    ] time= 29/08/2026 09:24:52
[2026-08-29 09:24:53,082.082 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:24:53,084.084 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:24:53,155.155 INFO    ] No existing commands found in stream
[2026-08-29 09:24:58,164.164 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:24:58,167.167 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-08-29 09:25:00,524.524 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:25:00,526.526 INFO    ] Checking for system updates...
[2026-08-29 09:25:00,547.547 INFO    ] 200
[2026-08-29 09:25:00,548.548 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:25:00,578.578 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:25:00,579.579 INFO    ] No update needed
[2026-08-29 09:25:00,580.580 INFO    ] Checking for camera pi updates...
[2026-08-29 09:25:00,600.600 INFO    ] 200
[2026-08-29 09:25:00,602.602 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:25:00,625.625 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:25:00,719.719 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:25:00,720.720 INFO    ] No camera update needed
[2026-08-29 09:25:00,721.721 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:25:00,723.723 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:25:00,726.726 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:25:00,728.728 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:25:02,798.798 INFO    ] ================================================
[2026-08-29 09:25:02,817.817 INFO    ] Launching Daemon at Sat Aug 29 09:25:02 IST 2026
[2026-08-29 09:25:02,831.831 INFO    ] ================================================
[2026-08-29 09:25:03,474.474 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:25:03
[2026-08-29 09:25:04,083.083 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:25:04,352.352 INFO    ] Initializing speech engine...
[2026-08-29 09:25:04,364.364 INFO    ] 2026-08-29 09:25:04
[2026-08-29 09:25:04,626.626 INFO    ] 2026-08-29 09:25:04
[2026-08-29 09:25:04,661.661 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:25:04,845.845 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:25:04,848.848 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:25:04,971.971 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:25:05,005.005 INFO    ] time= 29/08/2026 09:25:04
[2026-08-29 09:25:05,041.041 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:25:05,051.051 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:25:05,130.130 INFO    ] No existing commands found in stream
[2026-08-29 09:25:10,163.163 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:25:10,166.166 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-08-29 09:25:12,598.598 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:25:12,599.599 INFO    ] Checking for system updates...
[2026-08-29 09:25:12,619.619 INFO    ] 200
[2026-08-29 09:25:12,621.621 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:25:12,650.650 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:25:12,652.652 INFO    ] No update needed
[2026-08-29 09:25:12,653.653 INFO    ] Checking for camera pi updates...
[2026-08-29 09:25:12,672.672 INFO    ] 200
[2026-08-29 09:25:12,673.673 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:25:12,697.697 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:25:12,778.778 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:25:12,780.780 INFO    ] No camera update needed
[2026-08-29 09:25:12,783.783 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:25:12,785.785 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:25:12,792.792 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:25:12,797.797 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:25:14,836.836 INFO    ] ================================================
[2026-08-29 09:25:14,851.851 INFO    ] Launching Daemon at Sat Aug 29 09:25:14 IST 2026
[2026-08-29 09:25:14,862.862 INFO    ] ================================================
[2026-08-29 09:25:15,439.439 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:25:15
[2026-08-29 09:25:15,945.945 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:25:16,136.136 INFO    ] Initializing speech engine...
[2026-08-29 09:25:16,144.144 INFO    ] 2026-08-29 09:25:16
[2026-08-29 09:25:16,400.400 INFO    ] 2026-08-29 09:25:16
[2026-08-29 09:25:16,460.460 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:25:16,601.601 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:25:16,613.613 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:25:16,754.754 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:25:16,762.762 INFO    ] time= 29/08/2026 09:25:16
[2026-08-29 09:25:16,770.770 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:25:16,820.820 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:25:16,924.924 INFO    ] No existing commands found in stream
[2026-08-29 09:25:21,955.955 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:25:21,957.957 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-08-29 09:25:26,253.253 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:25:26,255.255 INFO    ] Checking for system updates...
[2026-08-29 09:25:26,275.275 INFO    ] 200
[2026-08-29 09:25:26,277.277 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:25:26,308.308 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:25:26,309.309 INFO    ] No update needed
[2026-08-29 09:25:26,311.311 INFO    ] Checking for camera pi updates...
[2026-08-29 09:25:26,333.333 INFO    ] 200
[2026-08-29 09:25:26,334.334 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:25:26,357.357 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:25:26,431.431 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:25:26,433.433 INFO    ] No camera update needed
[2026-08-29 09:25:26,434.434 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:25:26,435.435 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:25:26,438.438 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:25:26,441.441 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:25:28,482.482 INFO    ] ================================================
[2026-08-29 09:25:28,497.497 INFO    ] Launching Daemon at Sat Aug 29 09:25:28 IST 2026
[2026-08-29 09:25:28,507.507 INFO    ] ================================================
[2026-08-29 09:25:28,868.868 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:25:28
[2026-08-29 09:25:29,180.180 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:25:29,400.400 INFO    ] Initializing speech engine...
[2026-08-29 09:25:29,406.406 INFO    ] 2026-08-29 09:25:29
[2026-08-29 09:25:29,666.666 INFO    ] 2026-08-29 09:25:29
[2026-08-29 09:25:29,702.702 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:25:29,889.889 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:25:29,896.896 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:25:30,043.043 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:25:30,064.064 INFO    ] time= 29/08/2026 09:25:30
[2026-08-29 09:25:30,073.073 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:25:30,079.079 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:25:30,149.149 INFO    ] No existing commands found in stream
[2026-08-29 09:25:35,162.162 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:25:35,165.165 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-08-29 09:25:36,840.840 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:25:36,842.842 INFO    ] Checking for system updates...
[2026-08-29 09:25:36,863.863 INFO    ] 200
[2026-08-29 09:25:36,865.865 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:25:36,894.894 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:25:36,896.896 INFO    ] No update needed
[2026-08-29 09:25:36,897.897 INFO    ] Checking for camera pi updates...
[2026-08-29 09:25:36,918.918 INFO    ] 200
[2026-08-29 09:25:36,919.919 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:25:36,944.944 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:25:37,020.020 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:25:37,021.021 INFO    ] No camera update needed
[2026-08-29 09:25:37,023.023 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:25:37,024.024 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:25:37,027.027 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:25:37,030.030 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:25:39,068.068 INFO    ] ================================================
[2026-08-29 09:25:39,083.083 INFO    ] Launching Daemon at Sat Aug 29 09:25:39 IST 2026
[2026-08-29 09:25:39,094.094 INFO    ] ================================================
[2026-08-29 09:25:39,606.606 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:25:39
[2026-08-29 09:25:40,205.205 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:25:40,482.482 INFO    ] Initializing speech engine...
[2026-08-29 09:25:40,489.489 INFO    ] 2026-08-29 09:25:40
[2026-08-29 09:25:40,741.741 INFO    ] 2026-08-29 09:25:40
[2026-08-29 09:25:40,801.801 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:25:40,968.968 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:25:41,023.023 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:25:41,164.164 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:25:41,190.190 INFO    ] time= 29/08/2026 09:25:41
[2026-08-29 09:25:41,244.244 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:25:41,297.297 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:25:41,349.349 INFO    ] No existing commands found in stream
[2026-08-29 09:25:46,361.361 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:25:46,364.364 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-08-29 09:25:50,364.364 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:25:50,365.365 INFO    ] Checking for system updates...
[2026-08-29 09:25:50,386.386 INFO    ] 200
[2026-08-29 09:25:50,387.387 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:25:50,419.419 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:25:50,420.420 INFO    ] No update needed
[2026-08-29 09:25:50,421.421 INFO    ] Checking for camera pi updates...
[2026-08-29 09:25:50,441.441 INFO    ] 200
[2026-08-29 09:25:50,443.443 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:25:50,466.466 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:25:50,557.557 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:25:50,559.559 INFO    ] No camera update needed
[2026-08-29 09:25:50,560.560 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:25:50,561.561 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:25:50,564.564 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:25:50,567.567 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:25:52,605.605 INFO    ] ================================================
[2026-08-29 09:25:52,620.620 INFO    ] Launching Daemon at Sat Aug 29 09:25:52 IST 2026
[2026-08-29 09:25:52,630.630 INFO    ] ================================================
[2026-08-29 09:25:52,954.954 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:25:52
[2026-08-29 09:25:53,272.272 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:25:53,545.545 INFO    ] Initializing speech engine...
[2026-08-29 09:25:53,555.555 INFO    ] 2026-08-29 09:25:53
[2026-08-29 09:25:53,805.805 INFO    ] 2026-08-29 09:25:53
[2026-08-29 09:25:53,838.838 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:25:54,017.017 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:25:54,028.028 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:25:54,140.140 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:25:54,145.145 INFO    ] time= 29/08/2026 09:25:54
[2026-08-29 09:25:54,164.164 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:25:54,183.183 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:25:54,256.256 INFO    ] No existing commands found in stream
[2026-08-29 09:25:59,268.268 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:25:59,271.271 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-08-29 09:26:01,089.089 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:26:01,090.090 INFO    ] Checking for system updates...
[2026-08-29 09:26:01,110.110 INFO    ] 200
[2026-08-29 09:26:01,112.112 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:26:01,143.143 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:26:01,144.144 INFO    ] No update needed
[2026-08-29 09:26:01,145.145 INFO    ] Checking for camera pi updates...
[2026-08-29 09:26:01,165.165 INFO    ] 200
[2026-08-29 09:26:01,166.166 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:26:01,190.190 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:26:01,267.267 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:26:01,268.268 INFO    ] No camera update needed
[2026-08-29 09:26:01,270.270 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:26:01,271.271 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:26:01,275.275 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:26:01,277.277 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:26:03,322.322 INFO    ] ================================================
[2026-08-29 09:26:03,337.337 INFO    ] Launching Daemon at Sat Aug 29 09:26:03 IST 2026
[2026-08-29 09:26:03,348.348 INFO    ] ================================================
[2026-08-29 09:26:03,970.970 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:26:03
[2026-08-29 09:26:04,616.616 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:26:04,786.786 INFO    ] Initializing speech engine...
[2026-08-29 09:26:04,792.792 INFO    ] 2026-08-29 09:26:04
[2026-08-29 09:26:05,001.001 INFO    ] 2026-08-29 09:26:04
[2026-08-29 09:26:05,030.030 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:26:05,155.155 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:26:05,219.219 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:26:05,360.360 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:26:05,430.430 INFO    ] time= 29/08/2026 09:26:05
[2026-08-29 09:26:05,485.485 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:26:05,504.504 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:26:05,621.621 INFO    ] No existing commands found in stream
[2026-08-29 09:26:10,647.647 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:26:10,650.650 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-08-29 09:26:11,328.328 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:26:11,330.330 INFO    ] Checking for system updates...
[2026-08-29 09:26:11,351.351 INFO    ] 200
[2026-08-29 09:26:11,352.352 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:26:11,382.382 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:26:11,383.383 INFO    ] No update needed
[2026-08-29 09:26:11,385.385 INFO    ] Checking for camera pi updates...
[2026-08-29 09:26:11,405.405 INFO    ] 200
[2026-08-29 09:26:11,406.406 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:26:11,431.431 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:26:11,510.510 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:26:11,511.511 INFO    ] No camera update needed
[2026-08-29 09:26:11,513.513 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:26:11,514.514 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:26:11,517.517 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:26:11,520.520 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:26:13,559.559 INFO    ] ================================================
[2026-08-29 09:26:13,574.574 INFO    ] Launching Daemon at Sat Aug 29 09:26:13 IST 2026
[2026-08-29 09:26:13,585.585 INFO    ] ================================================
[2026-08-29 09:26:14,065.065 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:26:14
[2026-08-29 09:26:14,687.687 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:26:14,981.981 INFO    ] Initializing speech engine...
[2026-08-29 09:26:14,991.991 INFO    ] 2026-08-29 09:26:14
[2026-08-29 09:26:15,263.263 INFO    ] 2026-08-29 09:26:15
[2026-08-29 09:26:15,331.331 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:26:15,470.470 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:26:15,481.481 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:26:15,620.620 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:26:15,642.642 INFO    ] time= 29/08/2026 09:26:15
[2026-08-29 09:26:15,648.648 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:26:15,653.653 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:26:15,727.727 INFO    ] No existing commands found in stream
[2026-08-29 09:26:20,740.740 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:26:20,743.743 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-08-29 09:26:23,823.823 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:26:23,824.824 INFO    ] Checking for system updates...
[2026-08-29 09:26:23,844.844 INFO    ] 200
[2026-08-29 09:26:23,845.845 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:26:23,879.879 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:26:23,880.880 INFO    ] No update needed
[2026-08-29 09:26:23,881.881 INFO    ] Checking for camera pi updates...
[2026-08-29 09:26:23,900.900 INFO    ] 200
[2026-08-29 09:26:23,901.901 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:26:23,924.924 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:26:23,996.996 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:26:23,997.997 INFO    ] No camera update needed
[2026-08-29 09:26:23,999.999 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:26:24,000.000 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:26:24,003.003 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:26:24,005.005 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:26:26,043.043 INFO    ] ================================================
[2026-08-29 09:26:26,059.059 INFO    ] Launching Daemon at Sat Aug 29 09:26:26 IST 2026
[2026-08-29 09:26:26,071.071 INFO    ] ================================================
[2026-08-29 09:26:26,658.658 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:26:26
[2026-08-29 09:26:27,163.163 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:26:27,301.301 INFO    ] Initializing speech engine...
[2026-08-29 09:26:27,312.312 INFO    ] 2026-08-29 09:26:27
[2026-08-29 09:26:27,515.515 INFO    ] 2026-08-29 09:26:27
[2026-08-29 09:26:27,544.544 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:26:27,665.665 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:26:27,710.710 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:26:27,860.860 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:26:27,922.922 INFO    ] time= 29/08/2026 09:26:27
[2026-08-29 09:26:27,956.956 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:26:27,961.961 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:26:28,032.032 INFO    ] No existing commands found in stream
[2026-08-29 09:26:33,043.043 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:26:33,046.046 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-08-29 09:26:33,557.557 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:26:33,559.559 INFO    ] Checking for system updates...
[2026-08-29 09:26:33,597.597 INFO    ] 200
[2026-08-29 09:26:33,600.600 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:26:33,651.651 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:26:33,654.654 INFO    ] No update needed
[2026-08-29 09:26:33,656.656 INFO    ] Checking for camera pi updates...
[2026-08-29 09:26:33,692.692 INFO    ] 200
[2026-08-29 09:26:33,695.695 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:26:33,735.735 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:26:33,818.818 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:26:33,821.821 INFO    ] No camera update needed
[2026-08-29 09:26:33,823.823 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:26:33,826.826 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:26:33,831.831 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:26:33,836.836 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:26:35,877.877 INFO    ] ================================================
[2026-08-29 09:26:35,893.893 INFO    ] Launching Daemon at Sat Aug 29 09:26:35 IST 2026
[2026-08-29 09:26:35,903.903 INFO    ] ================================================
[2026-08-29 09:26:36,226.226 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:26:36
[2026-08-29 09:26:36,738.738 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:26:37,022.022 INFO    ] Initializing speech engine...
[2026-08-29 09:26:37,032.032 INFO    ] 2026-08-29 09:26:37
[2026-08-29 09:26:37,294.294 INFO    ] 2026-08-29 09:26:37
[2026-08-29 09:26:37,330.330 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:26:37,519.519 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:26:37,535.535 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:26:37,655.655 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:26:37,660.660 INFO    ] time= 29/08/2026 09:26:37
[2026-08-29 09:26:37,675.675 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:26:37,689.689 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:26:37,780.780 INFO    ] No existing commands found in stream
[2026-08-29 09:26:42,799.799 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:26:42,802.802 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-08-29 09:26:46,228.228 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:26:46,229.229 INFO    ] Checking for system updates...
[2026-08-29 09:26:46,249.249 INFO    ] 200
[2026-08-29 09:26:46,251.251 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:26:46,281.281 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:26:46,282.282 INFO    ] No update needed
[2026-08-29 09:26:46,283.283 INFO    ] Checking for camera pi updates...
[2026-08-29 09:26:46,305.305 INFO    ] 200
[2026-08-29 09:26:46,306.306 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:26:46,330.330 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:26:46,414.414 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:26:46,415.415 INFO    ] No camera update needed
[2026-08-29 09:26:46,416.416 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:26:46,418.418 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:26:46,421.421 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:26:46,423.423 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:26:48,463.463 INFO    ] ================================================
[2026-08-29 09:26:48,479.479 INFO    ] Launching Daemon at Sat Aug 29 09:26:48 IST 2026
[2026-08-29 09:26:48,490.490 INFO    ] ================================================
[2026-08-29 09:26:48,824.824 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:26:48
[2026-08-29 09:26:49,141.141 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:26:49,282.282 INFO    ] Initializing speech engine...
[2026-08-29 09:26:49,293.293 INFO    ] 2026-08-29 09:26:49
[2026-08-29 09:26:49,508.508 INFO    ] 2026-08-29 09:26:49
[2026-08-29 09:26:49,542.542 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:26:49,722.722 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:26:49,727.727 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:26:49,899.899 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:26:49,947.947 INFO    ] time= 29/08/2026 09:26:49
[2026-08-29 09:26:49,954.954 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:26:49,971.971 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:26:50,066.066 INFO    ] No existing commands found in stream
[2026-08-29 09:26:55,092.092 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:26:55,095.095 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-08-29 09:26:57,498.498 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:26:57,499.499 INFO    ] Checking for system updates...
[2026-08-29 09:26:57,519.519 INFO    ] 200
[2026-08-29 09:26:57,521.521 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:26:57,553.553 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:26:57,554.554 INFO    ] No update needed
[2026-08-29 09:26:57,555.555 INFO    ] Checking for camera pi updates...
[2026-08-29 09:26:57,575.575 INFO    ] 200
[2026-08-29 09:26:57,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:26:57,599.599 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:26:57,805.805 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:26:57,806.806 INFO    ] No camera update needed
[2026-08-29 09:26:57,808.808 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:26:57,809.809 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:26:57,812.812 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:26:57,815.815 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:26:59,854.854 INFO    ] ================================================
[2026-08-29 09:26:59,869.869 INFO    ] Launching Daemon at Sat Aug 29 09:26:59 IST 2026
[2026-08-29 09:26:59,880.880 INFO    ] ================================================
[2026-08-29 09:27:00,243.243 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:27:00
[2026-08-29 09:27:00,573.573 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:27:00,718.718 INFO    ] Initializing speech engine...
[2026-08-29 09:27:00,728.728 INFO    ] 2026-08-29 09:27:00
[2026-08-29 09:27:00,954.954 INFO    ] 2026-08-29 09:27:00
[2026-08-29 09:27:01,042.042 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:27:01,206.206 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:27:01,209.209 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:27:01,328.328 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:27:01,332.332 INFO    ] time= 29/08/2026 09:27:01
[2026-08-29 09:27:01,335.335 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:27:01,338.338 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:27:01,394.394 INFO    ] No existing commands found in stream
[2026-08-29 09:27:06,404.404 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:27:06,407.407 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-08-29 09:27:10,370.370 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:27:10,372.372 INFO    ] Checking for system updates...
[2026-08-29 09:27:10,392.392 INFO    ] 200
[2026-08-29 09:27:10,393.393 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:27:10,425.425 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:27:10,427.427 INFO    ] No update needed
[2026-08-29 09:27:10,428.428 INFO    ] Checking for camera pi updates...
[2026-08-29 09:27:10,447.447 INFO    ] 200
[2026-08-29 09:27:10,448.448 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:27:10,471.471 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:27:10,564.564 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:27:10,567.567 INFO    ] No camera update needed
[2026-08-29 09:27:10,569.569 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:27:10,571.571 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:27:10,576.576 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:27:10,581.581 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:27:12,622.622 INFO    ] ================================================
[2026-08-29 09:27:12,638.638 INFO    ] Launching Daemon at Sat Aug 29 09:27:12 IST 2026
[2026-08-29 09:27:12,650.650 INFO    ] ================================================
[2026-08-29 09:27:13,233.233 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:27:13
[2026-08-29 09:27:13,695.695 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:27:13,829.829 INFO    ] Initializing speech engine...
[2026-08-29 09:27:13,833.833 INFO    ] 2026-08-29 09:27:13
[2026-08-29 09:27:14,044.044 INFO    ] 2026-08-29 09:27:14
[2026-08-29 09:27:14,087.087 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:27:14,308.308 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:27:14,316.316 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:27:14,449.449 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:27:14,481.481 INFO    ] time= 29/08/2026 09:27:14
[2026-08-29 09:27:14,535.535 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:27:14,582.582 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:27:14,635.635 INFO    ] No existing commands found in stream
[2026-08-29 09:27:19,647.647 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:27:19,650.650 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-08-29 09:27:22,894.894 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:27:22,896.896 INFO    ] Checking for system updates...
[2026-08-29 09:27:22,916.916 INFO    ] 200
[2026-08-29 09:27:22,918.918 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:27:22,947.947 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:27:22,949.949 INFO    ] No update needed
[2026-08-29 09:27:22,950.950 INFO    ] Checking for camera pi updates...
[2026-08-29 09:27:22,970.970 INFO    ] 200
[2026-08-29 09:27:22,972.972 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:27:22,996.996 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:27:23,090.090 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:27:23,092.092 INFO    ] No camera update needed
[2026-08-29 09:27:23,093.093 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:27:23,094.094 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:27:23,098.098 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:27:23,100.100 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:27:25,139.139 INFO    ] ================================================
[2026-08-29 09:27:25,154.154 INFO    ] Launching Daemon at Sat Aug 29 09:27:25 IST 2026
[2026-08-29 09:27:25,166.166 INFO    ] ================================================
[2026-08-29 09:27:25,492.492 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:27:25
[2026-08-29 09:27:25,804.804 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:27:26,019.019 INFO    ] Initializing speech engine...
[2026-08-29 09:27:26,041.041 INFO    ] 2026-08-29 09:27:26
[2026-08-29 09:27:26,292.292 INFO    ] 2026-08-29 09:27:26
[2026-08-29 09:27:26,329.329 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:27:26,501.501 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:27:26,514.514 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:27:26,650.650 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:27:26,663.663 INFO    ] time= 29/08/2026 09:27:26
[2026-08-29 09:27:26,667.667 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:27:26,673.673 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:27:26,739.739 INFO    ] No existing commands found in stream
[2026-08-29 09:27:31,773.773 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:27:31,775.775 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-08-29 09:27:33,061.061 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:27:33,064.064 INFO    ] Checking for system updates...
[2026-08-29 09:27:33,099.099 INFO    ] 200
[2026-08-29 09:27:33,102.102 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:27:33,159.159 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:27:33,161.161 INFO    ] No update needed
[2026-08-29 09:27:33,163.163 INFO    ] Checking for camera pi updates...
[2026-08-29 09:27:33,197.197 INFO    ] 200
[2026-08-29 09:27:33,199.199 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:27:33,239.239 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:27:33,339.339 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:27:33,342.342 INFO    ] No camera update needed
[2026-08-29 09:27:33,344.344 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:27:33,346.346 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:27:33,351.351 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:27:33,356.356 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:27:35,398.398 INFO    ] ================================================
[2026-08-29 09:27:35,413.413 INFO    ] Launching Daemon at Sat Aug 29 09:27:35 IST 2026
[2026-08-29 09:27:35,424.424 INFO    ] ================================================
[2026-08-29 09:27:35,802.802 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:27:35
[2026-08-29 09:27:36,134.134 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:27:36,282.282 INFO    ] Initializing speech engine...
[2026-08-29 09:27:36,287.287 INFO    ] 2026-08-29 09:27:36
[2026-08-29 09:27:36,513.513 INFO    ] 2026-08-29 09:27:36
[2026-08-29 09:27:36,560.560 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:27:36,704.704 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:27:36,713.713 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:27:36,846.846 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:27:36,863.863 INFO    ] time= 29/08/2026 09:27:36
[2026-08-29 09:27:36,928.928 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:27:36,977.977 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:27:37,033.033 INFO    ] No existing commands found in stream
[2026-08-29 09:27:42,046.046 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:27:42,049.049 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-08-29 09:27:42,916.916 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:27:42,919.919 INFO    ] Checking for system updates...
[2026-08-29 09:27:42,955.955 INFO    ] 200
[2026-08-29 09:27:42,957.957 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:27:43,015.015 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:27:43,018.018 INFO    ] No update needed
[2026-08-29 09:27:43,020.020 INFO    ] Checking for camera pi updates...
[2026-08-29 09:27:43,057.057 INFO    ] 200
[2026-08-29 09:27:43,059.059 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:27:43,104.104 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:27:43,184.184 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:27:43,187.187 INFO    ] No camera update needed
[2026-08-29 09:27:43,190.190 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:27:43,192.192 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:27:43,198.198 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:27:43,204.204 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:27:45,244.244 INFO    ] ================================================
[2026-08-29 09:27:45,260.260 INFO    ] Launching Daemon at Sat Aug 29 09:27:45 IST 2026
[2026-08-29 09:27:45,272.272 INFO    ] ================================================
[2026-08-29 09:27:45,784.784 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:27:45
[2026-08-29 09:27:46,380.380 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:27:46,653.653 INFO    ] Initializing speech engine...
[2026-08-29 09:27:46,662.662 INFO    ] 2026-08-29 09:27:46
[2026-08-29 09:27:46,911.911 INFO    ] 2026-08-29 09:27:46
[2026-08-29 09:27:46,947.947 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:27:47,139.139 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:27:47,148.148 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:27:47,273.273 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:27:47,282.282 INFO    ] time= 29/08/2026 09:27:47
[2026-08-29 09:27:47,288.288 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:27:47,336.336 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:27:47,466.466 INFO    ] No existing commands found in stream
[2026-08-29 09:27:52,488.488 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:27:52,491.491 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-08-29 09:27:52,954.954 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:27:52,955.955 INFO    ] Checking for system updates...
[2026-08-29 09:27:52,976.976 INFO    ] 200
[2026-08-29 09:27:52,977.977 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:27:53,007.007 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:27:53,008.008 INFO    ] No update needed
[2026-08-29 09:27:53,009.009 INFO    ] Checking for camera pi updates...
[2026-08-29 09:27:53,029.029 INFO    ] 200
[2026-08-29 09:27:53,030.030 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:27:53,054.054 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:27:53,136.136 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:27:53,137.137 INFO    ] No camera update needed
[2026-08-29 09:27:53,138.138 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:27:53,140.140 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:27:53,143.143 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:27:53,146.146 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:27:55,188.188 INFO    ] ================================================
[2026-08-29 09:27:55,204.204 INFO    ] Launching Daemon at Sat Aug 29 09:27:55 IST 2026
[2026-08-29 09:27:55,215.215 INFO    ] ================================================
[2026-08-29 09:27:55,542.542 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:27:55
[2026-08-29 09:27:55,854.854 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:27:55,993.993 INFO    ] Initializing speech engine...
[2026-08-29 09:27:56,006.006 INFO    ] 2026-08-29 09:27:55
[2026-08-29 09:27:56,205.205 INFO    ] 2026-08-29 09:27:56
[2026-08-29 09:27:56,249.249 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:27:56,468.468 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:27:56,478.478 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:27:56,609.609 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:27:56,631.631 INFO    ] time= 29/08/2026 09:27:56
[2026-08-29 09:27:56,685.685 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:27:56,741.741 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:27:56,792.792 INFO    ] No existing commands found in stream
[2026-08-29 09:28:01,804.804 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:28:01,807.807 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-08-29 09:28:02,770.770 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:28:02,773.773 INFO    ] Checking for system updates...
[2026-08-29 09:28:02,816.816 INFO    ] 200
[2026-08-29 09:28:02,818.818 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:28:02,877.877 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:28:02,879.879 INFO    ] No update needed
[2026-08-29 09:28:02,883.883 INFO    ] Checking for camera pi updates...
[2026-08-29 09:28:02,925.925 INFO    ] 200
[2026-08-29 09:28:02,928.928 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:28:02,967.967 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:28:03,078.078 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:28:03,080.080 INFO    ] No camera update needed
[2026-08-29 09:28:03,082.082 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:28:03,085.085 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:28:03,090.090 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:28:03,095.095 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:28:05,135.135 INFO    ] ================================================
[2026-08-29 09:28:05,151.151 INFO    ] Launching Daemon at Sat Aug 29 09:28:05 IST 2026
[2026-08-29 09:28:05,162.162 INFO    ] ================================================
[2026-08-29 09:28:05,548.548 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:28:05
[2026-08-29 09:28:05,879.879 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:28:06,066.066 INFO    ] Initializing speech engine...
[2026-08-29 09:28:06,088.088 INFO    ] 2026-08-29 09:28:06
[2026-08-29 09:28:06,343.343 INFO    ] 2026-08-29 09:28:06
[2026-08-29 09:28:06,379.379 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:28:06,561.561 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:28:06,579.579 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:28:06,704.704 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:28:06,712.712 INFO    ] time= 29/08/2026 09:28:06
[2026-08-29 09:28:06,718.718 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:28:06,759.759 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:28:06,903.903 INFO    ] No existing commands found in stream
[2026-08-29 09:28:11,919.919 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:28:11,922.922 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-08-29 09:28:14,567.567 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:28:14,568.568 INFO    ] Checking for system updates...
[2026-08-29 09:28:14,588.588 INFO    ] 200
[2026-08-29 09:28:14,590.590 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:28:14,620.620 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:28:14,622.622 INFO    ] No update needed
[2026-08-29 09:28:14,623.623 INFO    ] Checking for camera pi updates...
[2026-08-29 09:28:14,642.642 INFO    ] 200
[2026-08-29 09:28:14,644.644 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:28:14,667.667 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:28:14,769.769 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:28:14,770.770 INFO    ] No camera update needed
[2026-08-29 09:28:14,771.771 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:28:14,773.773 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:28:14,775.775 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:28:14,778.778 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:28:16,824.824 INFO    ] ================================================
[2026-08-29 09:28:16,840.840 INFO    ] Launching Daemon at Sat Aug 29 09:28:16 IST 2026
[2026-08-29 09:28:16,852.852 INFO    ] ================================================
[2026-08-29 09:28:17,223.223 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:28:17
[2026-08-29 09:28:17,552.552 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:28:17,690.690 INFO    ] Initializing speech engine...
[2026-08-29 09:28:17,708.708 INFO    ] 2026-08-29 09:28:17
[2026-08-29 09:28:17,970.970 INFO    ] 2026-08-29 09:28:17
[2026-08-29 09:28:18,011.011 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:28:18,179.179 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:28:18,191.191 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:28:18,336.336 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:28:18,341.341 INFO    ] time= 29/08/2026 09:28:18
[2026-08-29 09:28:18,348.348 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:28:18,393.393 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:28:18,523.523 INFO    ] No existing commands found in stream
[2026-08-29 09:28:23,547.547 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:28:23,550.550 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-08-29 09:28:25,163.163 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:28:25,165.165 INFO    ] Checking for system updates...
[2026-08-29 09:28:25,185.185 INFO    ] 200
[2026-08-29 09:28:25,186.186 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:28:25,218.218 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:28:25,219.219 INFO    ] No update needed
[2026-08-29 09:28:25,221.221 INFO    ] Checking for camera pi updates...
[2026-08-29 09:28:25,244.244 INFO    ] 200
[2026-08-29 09:28:25,246.246 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:28:25,270.270 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:28:25,369.369 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:28:25,371.371 INFO    ] No camera update needed
[2026-08-29 09:28:25,372.372 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:28:25,373.373 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:28:25,376.376 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:28:25,379.379 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:28:27,419.419 INFO    ] ================================================
[2026-08-29 09:28:27,435.435 INFO    ] Launching Daemon at Sat Aug 29 09:28:27 IST 2026
[2026-08-29 09:28:27,446.446 INFO    ] ================================================
[2026-08-29 09:28:27,811.811 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:28:27
[2026-08-29 09:28:28,128.128 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:28:28,271.271 INFO    ] Initializing speech engine...
[2026-08-29 09:28:28,276.276 INFO    ] 2026-08-29 09:28:28
[2026-08-29 09:28:28,483.483 INFO    ] 2026-08-29 09:28:28
[2026-08-29 09:28:28,511.511 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:28:28,634.634 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:28:28,697.697 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:28:28,831.831 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:28:28,898.898 INFO    ] time= 29/08/2026 09:28:28
[2026-08-29 09:28:28,929.929 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:28:28,935.935 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:28:29,001.001 INFO    ] No existing commands found in stream
[2026-08-29 09:28:34,012.012 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:28:34,015.015 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-08-29 09:28:34,568.568 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:28:34,570.570 INFO    ] Checking for system updates...
[2026-08-29 09:28:34,606.606 INFO    ] 200
[2026-08-29 09:28:34,608.608 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:28:34,661.661 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:28:34,664.664 INFO    ] No update needed
[2026-08-29 09:28:34,666.666 INFO    ] Checking for camera pi updates...
[2026-08-29 09:28:34,700.700 INFO    ] 200
[2026-08-29 09:28:34,703.703 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:28:34,743.743 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:28:34,821.821 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:28:34,824.824 INFO    ] No camera update needed
[2026-08-29 09:28:34,826.826 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:28:34,829.829 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:28:34,834.834 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:28:34,839.839 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:28:36,883.883 INFO    ] ================================================
[2026-08-29 09:28:36,899.899 INFO    ] Launching Daemon at Sat Aug 29 09:28:36 IST 2026
[2026-08-29 09:28:36,910.910 INFO    ] ================================================
[2026-08-29 09:28:37,277.277 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:28:37
[2026-08-29 09:28:37,610.610 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:28:37,866.866 INFO    ] Initializing speech engine...
[2026-08-29 09:28:37,880.880 INFO    ] 2026-08-29 09:28:37
[2026-08-29 09:28:38,148.148 INFO    ] 2026-08-29 09:28:38
[2026-08-29 09:28:38,204.204 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:28:38,435.435 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:28:38,445.445 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:28:38,586.586 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:28:38,642.642 INFO    ] time= 29/08/2026 09:28:38
[2026-08-29 09:28:38,697.697 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:28:38,723.723 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:28:38,789.789 INFO    ] No existing commands found in stream
[2026-08-29 09:28:43,825.825 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:28:43,828.828 INFO    ] Waiting 2.52 seconds before fallback handling...
[2026-08-29 09:28:46,726.726 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:28:46,728.728 INFO    ] Checking for system updates...
[2026-08-29 09:28:46,748.748 INFO    ] 200
[2026-08-29 09:28:46,750.750 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:28:46,781.781 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:28:46,783.783 INFO    ] No update needed
[2026-08-29 09:28:46,784.784 INFO    ] Checking for camera pi updates...
[2026-08-29 09:28:46,803.803 INFO    ] 200
[2026-08-29 09:28:46,804.804 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:28:46,827.827 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:28:46,893.893 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:28:46,895.895 INFO    ] No camera update needed
[2026-08-29 09:28:46,896.896 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:28:46,897.897 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:28:46,900.900 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:28:46,903.903 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:28:48,943.943 INFO    ] ================================================
[2026-08-29 09:28:48,958.958 INFO    ] Launching Daemon at Sat Aug 29 09:28:48 IST 2026
[2026-08-29 09:28:48,969.969 INFO    ] ================================================
[2026-08-29 09:28:49,319.319 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:28:49
[2026-08-29 09:28:49,630.630 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:28:49,762.762 INFO    ] Initializing speech engine...
[2026-08-29 09:28:49,765.765 INFO    ] 2026-08-29 09:28:49
[2026-08-29 09:28:49,983.983 INFO    ] 2026-08-29 09:28:49
[2026-08-29 09:28:50,012.012 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:28:50,137.137 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:28:50,199.199 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:28:50,339.339 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:28:50,393.393 INFO    ] time= 29/08/2026 09:28:50
[2026-08-29 09:28:50,427.427 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:28:50,432.432 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:28:50,506.506 INFO    ] No existing commands found in stream
[2026-08-29 09:28:55,515.515 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:28:55,517.517 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-08-29 09:28:58,425.425 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:28:58,426.426 INFO    ] Checking for system updates...
[2026-08-29 09:28:58,446.446 INFO    ] 200
[2026-08-29 09:28:58,448.448 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:28:58,478.478 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:28:58,480.480 INFO    ] No update needed
[2026-08-29 09:28:58,481.481 INFO    ] Checking for camera pi updates...
[2026-08-29 09:28:58,500.500 INFO    ] 200
[2026-08-29 09:28:58,501.501 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:28:58,524.524 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:28:58,611.611 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:28:58,614.614 INFO    ] No camera update needed
[2026-08-29 09:28:58,616.616 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:28:58,618.618 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:28:58,623.623 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:28:58,628.628 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:29:00,668.668 INFO    ] ================================================
[2026-08-29 09:29:00,683.683 INFO    ] Launching Daemon at Sat Aug 29 09:29:00 IST 2026
[2026-08-29 09:29:00,693.693 INFO    ] ================================================
[2026-08-29 09:29:01,340.340 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:29:01
[2026-08-29 09:29:01,832.832 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:29:02,021.021 INFO    ] Initializing speech engine...
[2026-08-29 09:29:02,025.025 INFO    ] 2026-08-29 09:29:02
[2026-08-29 09:29:02,469.469 INFO    ] 2026-08-29 09:29:02
[2026-08-29 09:29:02,517.517 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:29:02,689.689 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:29:02,704.704 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:29:02,853.853 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:29:02,860.860 INFO    ] time= 29/08/2026 09:29:02
[2026-08-29 09:29:02,882.882 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:29:02,908.908 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:29:03,000.000 INFO    ] No existing commands found in stream
[2026-08-29 09:29:08,016.016 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:29:08,019.019 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-08-29 09:29:11,722.722 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:29:11,723.723 INFO    ] Checking for system updates...
[2026-08-29 09:29:11,744.744 INFO    ] 200
[2026-08-29 09:29:11,746.746 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:29:11,775.775 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:29:11,777.777 INFO    ] No update needed
[2026-08-29 09:29:11,778.778 INFO    ] Checking for camera pi updates...
[2026-08-29 09:29:11,797.797 INFO    ] 200
[2026-08-29 09:29:11,798.798 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:29:11,823.823 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:29:11,922.922 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:29:11,924.924 INFO    ] No camera update needed
[2026-08-29 09:29:11,925.925 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:29:11,926.926 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:29:11,929.929 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:29:11,932.932 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:29:13,971.971 INFO    ] ================================================
[2026-08-29 09:29:13,986.986 INFO    ] Launching Daemon at Sat Aug 29 09:29:13 IST 2026
[2026-08-29 09:29:14,997.997 INFO    ] ================================================
[2026-08-29 09:29:14,333.333 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:29:14
[2026-08-29 09:29:14,653.653 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:29:14,792.792 INFO    ] Initializing speech engine...
[2026-08-29 09:29:14,802.802 INFO    ] 2026-08-29 09:29:14
[2026-08-29 09:29:15,006.006 INFO    ] 2026-08-29 09:29:14
[2026-08-29 09:29:15,034.034 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:29:15,203.203 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:29:15,227.227 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:29:15,363.363 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:29:15,427.427 INFO    ] time= 29/08/2026 09:29:15
[2026-08-29 09:29:15,454.454 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:29:15,461.461 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:29:15,528.528 INFO    ] No existing commands found in stream
[2026-08-29 09:29:20,538.538 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:29:20,541.541 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-08-29 09:29:23,225.225 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:29:23,227.227 INFO    ] Checking for system updates...
[2026-08-29 09:29:23,247.247 INFO    ] 200
[2026-08-29 09:29:23,249.249 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:29:23,281.281 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:29:23,282.282 INFO    ] No update needed
[2026-08-29 09:29:23,283.283 INFO    ] Checking for camera pi updates...
[2026-08-29 09:29:23,304.304 INFO    ] 200
[2026-08-29 09:29:23,306.306 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:29:23,330.330 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:29:23,422.422 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:29:23,424.424 INFO    ] No camera update needed
[2026-08-29 09:29:23,425.425 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:29:23,426.426 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:29:23,429.429 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:29:23,431.431 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:29:25,474.474 INFO    ] ================================================
[2026-08-29 09:29:25,490.490 INFO    ] Launching Daemon at Sat Aug 29 09:29:25 IST 2026
[2026-08-29 09:29:25,500.500 INFO    ] ================================================
[2026-08-29 09:29:25,975.975 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:29:25
[2026-08-29 09:29:26,563.563 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:29:26,838.838 INFO    ] Initializing speech engine...
[2026-08-29 09:29:26,844.844 INFO    ] 2026-08-29 09:29:26
[2026-08-29 09:29:27,089.089 INFO    ] 2026-08-29 09:29:27
[2026-08-29 09:29:27,154.154 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:29:27,296.296 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:29:27,320.320 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:29:27,449.449 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:29:27,457.457 INFO    ] time= 29/08/2026 09:29:27
[2026-08-29 09:29:27,464.464 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:29:27,494.494 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:29:27,616.616 INFO    ] No existing commands found in stream
[2026-08-29 09:29:32,645.645 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:29:32,647.647 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-08-29 09:29:35,084.084 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:29:35,087.087 INFO    ] Checking for system updates...
[2026-08-29 09:29:35,129.129 INFO    ] 200
[2026-08-29 09:29:35,132.132 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:29:35,190.190 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:29:35,193.193 INFO    ] No update needed
[2026-08-29 09:29:35,195.195 INFO    ] Checking for camera pi updates...
[2026-08-29 09:29:35,229.229 INFO    ] 200
[2026-08-29 09:29:35,231.231 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:29:35,271.271 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:29:35,367.367 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:29:35,369.369 INFO    ] No camera update needed
[2026-08-29 09:29:35,372.372 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:29:35,374.374 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:29:35,379.379 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:29:35,384.384 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:29:37,428.428 INFO    ] ================================================
[2026-08-29 09:29:37,443.443 INFO    ] Launching Daemon at Sat Aug 29 09:29:37 IST 2026
[2026-08-29 09:29:37,453.453 INFO    ] ================================================
[2026-08-29 09:29:38,000.000 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:29:37
[2026-08-29 09:29:38,615.615 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:29:38,888.888 INFO    ] Initializing speech engine...
[2026-08-29 09:29:38,896.896 INFO    ] 2026-08-29 09:29:38
[2026-08-29 09:29:39,152.152 INFO    ] 2026-08-29 09:29:39
[2026-08-29 09:29:39,183.183 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:29:39,356.356 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:29:39,372.372 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:29:39,501.501 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:29:39,509.509 INFO    ] time= 29/08/2026 09:29:39
[2026-08-29 09:29:39,517.517 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:29:39,556.556 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:29:39,666.666 INFO    ] No existing commands found in stream
[2026-08-29 09:29:44,696.696 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:29:44,699.699 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-08-29 09:29:45,978.978 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:29:45,979.979 INFO    ] Checking for system updates...
[2026-08-29 09:29:46,000.000 INFO    ] 200
[2026-08-29 09:29:46,001.001 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:29:46,033.033 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:29:46,035.035 INFO    ] No update needed
[2026-08-29 09:29:46,036.036 INFO    ] Checking for camera pi updates...
[2026-08-29 09:29:46,057.057 INFO    ] 200
[2026-08-29 09:29:46,058.058 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:29:46,083.083 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:29:46,179.179 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:29:46,181.181 INFO    ] No camera update needed
[2026-08-29 09:29:46,182.182 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:29:46,183.183 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:29:46,186.186 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:29:46,189.189 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:29:48,231.231 INFO    ] ================================================
[2026-08-29 09:29:48,250.250 INFO    ] Launching Daemon at Sat Aug 29 09:29:48 IST 2026
[2026-08-29 09:29:48,261.261 INFO    ] ================================================
[2026-08-29 09:29:48,619.619 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:29:48
[2026-08-29 09:29:48,930.930 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:29:49,063.063 INFO    ] Initializing speech engine...
[2026-08-29 09:29:49,066.066 INFO    ] 2026-08-29 09:29:49
[2026-08-29 09:29:49,262.262 INFO    ] 2026-08-29 09:29:49
[2026-08-29 09:29:49,303.303 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:29:49,425.425 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:29:49,460.460 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:29:49,614.614 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:29:49,670.670 INFO    ] time= 29/08/2026 09:29:49
[2026-08-29 09:29:49,711.711 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:29:49,753.753 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:29:49,850.850 INFO    ] No existing commands found in stream
[2026-08-29 09:29:54,861.861 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:29:54,864.864 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-08-29 09:29:58,433.433 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:29:58,434.434 INFO    ] Checking for system updates...
[2026-08-29 09:29:58,454.454 INFO    ] 200
[2026-08-29 09:29:58,456.456 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:29:58,485.485 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:29:58,487.487 INFO    ] No update needed
[2026-08-29 09:29:58,488.488 INFO    ] Checking for camera pi updates...
[2026-08-29 09:29:58,508.508 INFO    ] 200
[2026-08-29 09:29:58,509.509 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:29:58,531.531 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:29:58,618.618 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:29:58,619.619 INFO    ] No camera update needed
[2026-08-29 09:29:58,621.621 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:29:58,622.622 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:29:58,625.625 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:29:58,627.627 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:30:00,665.665 INFO    ] ================================================
[2026-08-29 09:30:00,680.680 INFO    ] Launching Daemon at Sat Aug 29 09:30:00 IST 2026
[2026-08-29 09:30:00,690.690 INFO    ] ================================================
[2026-08-29 09:30:01,039.039 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:30:01
[2026-08-29 09:30:01,350.350 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:30:01,480.480 INFO    ] Initializing speech engine...
[2026-08-29 09:30:01,484.484 INFO    ] 2026-08-29 09:30:01
[2026-08-29 09:30:01,738.738 INFO    ] 2026-08-29 09:30:01
[2026-08-29 09:30:01,797.797 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:30:01,949.949 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:30:01,969.969 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:30:02,119.119 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:30:02,154.154 INFO    ] time= 29/08/2026 09:30:02
[2026-08-29 09:30:02,168.168 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:30:02,205.205 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:30:02,320.320 INFO    ] No existing commands found in stream
[2026-08-29 09:30:07,370.370 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:30:07,373.373 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-08-29 09:30:08,928.928 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:30:08,929.929 INFO    ] Checking for system updates...
[2026-08-29 09:30:08,950.950 INFO    ] 200
[2026-08-29 09:30:08,951.951 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:30:08,985.985 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:30:08,986.986 INFO    ] No update needed
[2026-08-29 09:30:08,987.987 INFO    ] Checking for camera pi updates...
[2026-08-29 09:30:09,006.006 INFO    ] 200
[2026-08-29 09:30:09,008.008 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:30:09,033.033 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:30:09,109.109 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:30:09,110.110 INFO    ] No camera update needed
[2026-08-29 09:30:09,111.111 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:30:09,113.113 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:30:09,116.116 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:30:09,118.118 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:30:11,158.158 INFO    ] ================================================
[2026-08-29 09:30:11,173.173 INFO    ] Launching Daemon at Sat Aug 29 09:30:11 IST 2026
[2026-08-29 09:30:11,184.184 INFO    ] ================================================
[2026-08-29 09:30:11,705.705 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:30:11
[2026-08-29 09:30:12,344.344 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:30:12,641.641 INFO    ] Initializing speech engine...
[2026-08-29 09:30:12,649.649 INFO    ] 2026-08-29 09:30:12
[2026-08-29 09:30:12,917.917 INFO    ] 2026-08-29 09:30:12
[2026-08-29 09:30:12,974.974 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:30:13,200.200 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:30:13,205.205 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:30:13,339.339 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:30:13,393.393 INFO    ] time= 29/08/2026 09:30:13
[2026-08-29 09:30:13,453.453 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:30:13,476.476 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:30:13,532.532 INFO    ] No existing commands found in stream
[2026-08-29 09:30:18,544.544 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:30:18,547.547 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-08-29 09:30:20,425.425 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:30:20,426.426 INFO    ] Checking for system updates...
[2026-08-29 09:30:20,448.448 INFO    ] 200
[2026-08-29 09:30:20,449.449 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:30:20,509.509 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:30:20,510.510 INFO    ] No update needed
[2026-08-29 09:30:20,512.512 INFO    ] Checking for camera pi updates...
[2026-08-29 09:30:20,531.531 INFO    ] 200
[2026-08-29 09:30:20,533.533 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:30:20,557.557 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:30:20,635.635 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:30:20,636.636 INFO    ] No camera update needed
[2026-08-29 09:30:20,637.637 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:30:20,638.638 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:30:20,641.641 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:30:20,644.644 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:30:22,682.682 INFO    ] ================================================
[2026-08-29 09:30:22,698.698 INFO    ] Launching Daemon at Sat Aug 29 09:30:22 IST 2026
[2026-08-29 09:30:22,709.709 INFO    ] ================================================
[2026-08-29 09:30:23,043.043 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:30:23
[2026-08-29 09:30:23,355.355 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:30:23,500.500 INFO    ] Initializing speech engine...
[2026-08-29 09:30:23,505.505 INFO    ] 2026-08-29 09:30:23
[2026-08-29 09:30:23,702.702 INFO    ] 2026-08-29 09:30:23
[2026-08-29 09:30:23,785.785 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:30:23,939.939 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:30:23,949.949 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:30:24,098.098 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:30:24,105.105 INFO    ] time= 29/08/2026 09:30:24
[2026-08-29 09:30:24,165.165 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:30:24,203.203 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:30:24,275.275 INFO    ] No existing commands found in stream
[2026-08-29 09:30:29,288.288 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:30:29,291.291 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-08-29 09:30:30,034.034 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:30:30,036.036 INFO    ] Checking for system updates...
[2026-08-29 09:30:30,056.056 INFO    ] 200
[2026-08-29 09:30:30,057.057 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:30:30,089.089 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:30:30,090.090 INFO    ] No update needed
[2026-08-29 09:30:30,092.092 INFO    ] Checking for camera pi updates...
[2026-08-29 09:30:30,112.112 INFO    ] 200
[2026-08-29 09:30:30,114.114 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:30:30,137.137 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:30:30,249.249 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:30:30,251.251 INFO    ] No camera update needed
[2026-08-29 09:30:30,252.252 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:30:30,254.254 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:30:30,257.257 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:30:30,259.259 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:30:32,297.297 INFO    ] ================================================
[2026-08-29 09:30:32,313.313 INFO    ] Launching Daemon at Sat Aug 29 09:30:32 IST 2026
[2026-08-29 09:30:32,324.324 INFO    ] ================================================
[2026-08-29 09:30:32,848.848 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:30:32
[2026-08-29 09:30:33,467.467 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:30:33,736.736 INFO    ] Initializing speech engine...
[2026-08-29 09:30:33,751.751 INFO    ] 2026-08-29 09:30:33
[2026-08-29 09:30:34,017.017 INFO    ] 2026-08-29 09:30:34
[2026-08-29 09:30:34,051.051 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:30:34,223.223 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:30:34,236.236 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:30:34,376.376 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:30:34,383.383 INFO    ] time= 29/08/2026 09:30:34
[2026-08-29 09:30:34,390.390 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:30:34,415.415 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:30:34,524.524 INFO    ] No existing commands found in stream
[2026-08-29 09:30:39,549.549 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:30:39,552.552 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-08-29 09:30:41,123.123 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:30:41,124.124 INFO    ] Checking for system updates...
[2026-08-29 09:30:41,145.145 INFO    ] 200
[2026-08-29 09:30:41,146.146 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:30:41,178.178 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:30:41,179.179 INFO    ] No update needed
[2026-08-29 09:30:41,181.181 INFO    ] Checking for camera pi updates...
[2026-08-29 09:30:41,201.201 INFO    ] 200
[2026-08-29 09:30:41,202.202 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:30:41,225.225 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:30:41,328.328 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:30:41,330.330 INFO    ] No camera update needed
[2026-08-29 09:30:41,332.332 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:30:41,335.335 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:30:41,340.340 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:30:41,345.345 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:30:43,387.387 INFO    ] ================================================
[2026-08-29 09:30:43,403.403 INFO    ] Launching Daemon at Sat Aug 29 09:30:43 IST 2026
[2026-08-29 09:30:43,414.414 INFO    ] ================================================
[2026-08-29 09:30:43,985.985 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:30:43
[2026-08-29 09:30:44,504.504 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:30:44,648.648 INFO    ] Initializing speech engine...
[2026-08-29 09:30:44,653.653 INFO    ] 2026-08-29 09:30:44
[2026-08-29 09:30:44,894.894 INFO    ] 2026-08-29 09:30:44
[2026-08-29 09:30:44,955.955 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:30:45,121.121 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:30:45,130.130 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:30:45,299.299 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:30:45,336.336 INFO    ] time= 29/08/2026 09:30:45
[2026-08-29 09:30:45,342.342 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:30:45,361.361 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:30:45,470.470 INFO    ] No existing commands found in stream
[2026-08-29 09:30:50,503.503 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:30:50,506.506 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-08-29 09:30:51,231.231 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:30:51,233.233 INFO    ] Checking for system updates...
[2026-08-29 09:30:51,253.253 INFO    ] 200
[2026-08-29 09:30:51,255.255 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:30:51,287.287 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:30:51,288.288 INFO    ] No update needed
[2026-08-29 09:30:51,289.289 INFO    ] Checking for camera pi updates...
[2026-08-29 09:30:51,309.309 INFO    ] 200
[2026-08-29 09:30:51,311.311 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:30:51,333.333 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:30:51,415.415 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:30:51,417.417 INFO    ] No camera update needed
[2026-08-29 09:30:51,419.419 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:30:51,421.421 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:30:51,427.427 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:30:51,432.432 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:30:53,474.474 INFO    ] ================================================
[2026-08-29 09:30:53,489.489 INFO    ] Launching Daemon at Sat Aug 29 09:30:53 IST 2026
[2026-08-29 09:30:53,500.500 INFO    ] ================================================
[2026-08-29 09:30:54,085.085 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:30:54
[2026-08-29 09:30:54,627.627 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:30:54,772.772 INFO    ] Initializing speech engine...
[2026-08-29 09:30:54,781.781 INFO    ] 2026-08-29 09:30:54
[2026-08-29 09:30:54,990.990 INFO    ] 2026-08-29 09:30:54
[2026-08-29 09:30:55,019.019 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:30:55,158.158 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:30:55,206.206 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:30:55,345.345 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:30:55,411.411 INFO    ] time= 29/08/2026 09:30:55
[2026-08-29 09:30:55,436.436 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:30:55,443.443 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:30:55,510.510 INFO    ] No existing commands found in stream
[2026-08-29 09:31:00,525.525 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:31:00,528.528 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-08-29 09:31:04,616.616 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:31:04,619.619 INFO    ] Checking for system updates...
[2026-08-29 09:31:04,662.662 INFO    ] 200
[2026-08-29 09:31:04,665.665 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:31:04,746.746 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:31:04,749.749 INFO    ] No update needed
[2026-08-29 09:31:04,753.753 INFO    ] Checking for camera pi updates...
[2026-08-29 09:31:04,800.800 INFO    ] 200
[2026-08-29 09:31:04,803.803 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:31:04,853.853 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:31:04,952.952 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:31:04,955.955 INFO    ] No camera update needed
[2026-08-29 09:31:04,958.958 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:31:04,960.960 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:31:04,967.967 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:31:04,973.973 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:31:07,014.014 INFO    ] ================================================
[2026-08-29 09:31:07,030.030 INFO    ] Launching Daemon at Sat Aug 29 09:31:07 IST 2026
[2026-08-29 09:31:07,041.041 INFO    ] ================================================
[2026-08-29 09:31:07,433.433 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:31:07
[2026-08-29 09:31:07,772.772 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:31:07,919.919 INFO    ] Initializing speech engine...
[2026-08-29 09:31:07,930.930 INFO    ] 2026-08-29 09:31:07
[2026-08-29 09:31:08,125.125 INFO    ] 2026-08-29 09:31:08
[2026-08-29 09:31:08,182.182 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:31:08,414.414 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:31:08,423.423 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:31:08,565.565 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:31:08,626.626 INFO    ] time= 29/08/2026 09:31:08
[2026-08-29 09:31:08,681.681 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:31:08,703.703 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:31:08,820.820 INFO    ] No existing commands found in stream
[2026-08-29 09:31:13,848.848 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:31:13,852.852 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-08-29 09:31:15,236.236 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:31:15,237.237 INFO    ] Checking for system updates...
[2026-08-29 09:31:15,259.259 INFO    ] 200
[2026-08-29 09:31:15,261.261 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:31:15,296.296 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:31:15,297.297 INFO    ] No update needed
[2026-08-29 09:31:15,299.299 INFO    ] Checking for camera pi updates...
[2026-08-29 09:31:15,318.318 INFO    ] 200
[2026-08-29 09:31:15,320.320 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:31:15,345.345 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:31:15,524.524 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:31:15,526.526 INFO    ] No camera update needed
[2026-08-29 09:31:15,527.527 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:31:15,528.528 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:31:15,531.531 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:31:15,534.534 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:31:17,573.573 INFO    ] ================================================
[2026-08-29 09:31:17,588.588 INFO    ] Launching Daemon at Sat Aug 29 09:31:17 IST 2026
[2026-08-29 09:31:17,599.599 INFO    ] ================================================
[2026-08-29 09:31:17,984.984 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:31:17
[2026-08-29 09:31:18,321.321 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:31:18,461.461 INFO    ] Initializing speech engine...
[2026-08-29 09:31:18,474.474 INFO    ] 2026-08-29 09:31:18
[2026-08-29 09:31:18,685.685 INFO    ] 2026-08-29 09:31:18
[2026-08-29 09:31:18,715.715 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:31:18,858.858 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:31:18,928.928 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:31:19,121.121 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:31:19,162.162 INFO    ] time= 29/08/2026 09:31:19
[2026-08-29 09:31:19,217.217 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:31:19,256.256 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:31:19,390.390 INFO    ] No existing commands found in stream
[2026-08-29 09:31:24,413.413 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:31:24,416.416 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 09:31:27,843.843 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:31:27,845.845 INFO    ] Checking for system updates...
[2026-08-29 09:31:27,865.865 INFO    ] 200
[2026-08-29 09:31:27,867.867 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:31:27,899.899 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:31:27,900.900 INFO    ] No update needed
[2026-08-29 09:31:27,901.901 INFO    ] Checking for camera pi updates...
[2026-08-29 09:31:27,922.922 INFO    ] 200
[2026-08-29 09:31:27,924.924 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:31:27,946.946 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:31:28,044.044 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:31:28,045.045 INFO    ] No camera update needed
[2026-08-29 09:31:28,047.047 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:31:28,048.048 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:31:28,051.051 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:31:28,054.054 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:31:30,093.093 INFO    ] ================================================
[2026-08-29 09:31:30,108.108 INFO    ] Launching Daemon at Sat Aug 29 09:31:30 IST 2026
[2026-08-29 09:31:30,119.119 INFO    ] ================================================
[2026-08-29 09:31:30,514.514 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:31:30
[2026-08-29 09:31:30,887.887 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:31:31,194.194 INFO    ] Initializing speech engine...
[2026-08-29 09:31:31,208.208 INFO    ] 2026-08-29 09:31:31
[2026-08-29 09:31:31,523.523 INFO    ] 2026-08-29 09:31:31
[2026-08-29 09:31:31,607.607 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:31:31,758.758 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:31:31,769.769 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:31:31,915.915 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:31:31,989.989 INFO    ] time= 29/08/2026 09:31:31
[2026-08-29 09:31:32,053.053 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:31:32,090.090 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:31:32,218.218 INFO    ] No existing commands found in stream
[2026-08-29 09:31:37,247.247 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:31:37,250.250 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-08-29 09:31:41,640.640 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:31:41,641.641 INFO    ] Checking for system updates...
[2026-08-29 09:31:41,662.662 INFO    ] 200
[2026-08-29 09:31:41,663.663 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:31:41,693.693 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:31:41,694.694 INFO    ] No update needed
[2026-08-29 09:31:41,696.696 INFO    ] Checking for camera pi updates...
[2026-08-29 09:31:41,716.716 INFO    ] 200
[2026-08-29 09:31:41,717.717 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:31:41,745.745 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:31:41,836.836 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:31:41,839.839 INFO    ] No camera update needed
[2026-08-29 09:31:41,842.842 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:31:41,844.844 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:31:41,850.850 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:31:41,856.856 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:31:43,898.898 INFO    ] ================================================
[2026-08-29 09:31:43,914.914 INFO    ] Launching Daemon at Sat Aug 29 09:31:43 IST 2026
[2026-08-29 09:31:43,926.926 INFO    ] ================================================
[2026-08-29 09:31:44,528.528 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:31:44
[2026-08-29 09:31:45,112.112 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:31:45,417.417 INFO    ] Initializing speech engine...
[2026-08-29 09:31:45,426.426 INFO    ] 2026-08-29 09:31:45
[2026-08-29 09:31:45,716.716 INFO    ] 2026-08-29 09:31:45
[2026-08-29 09:31:45,750.750 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:31:45,932.932 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:31:45,946.946 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:31:46,098.098 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:31:46,107.107 INFO    ] time= 29/08/2026 09:31:46
[2026-08-29 09:31:46,114.114 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:31:46,136.136 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:31:46,254.254 INFO    ] No existing commands found in stream
[2026-08-29 09:31:51,279.279 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:31:51,281.281 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-08-29 09:31:53,731.731 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:31:53,733.733 INFO    ] Checking for system updates...
[2026-08-29 09:31:53,753.753 INFO    ] 200
[2026-08-29 09:31:53,755.755 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:31:53,785.785 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:31:53,786.786 INFO    ] No update needed
[2026-08-29 09:31:53,787.787 INFO    ] Checking for camera pi updates...
[2026-08-29 09:31:53,808.808 INFO    ] 200
[2026-08-29 09:31:53,809.809 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:31:53,832.832 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:31:53,927.927 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:31:53,929.929 INFO    ] No camera update needed
[2026-08-29 09:31:53,930.930 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:31:53,931.931 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:31:53,934.934 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:31:53,937.937 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:31:55,976.976 INFO    ] ================================================
[2026-08-29 09:31:55,992.992 INFO    ] Launching Daemon at Sat Aug 29 09:31:55 IST 2026
[2026-08-29 09:31:56,003.003 INFO    ] ================================================
[2026-08-29 09:31:56,377.377 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:31:56
[2026-08-29 09:31:56,941.941 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:31:57,218.218 INFO    ] Initializing speech engine...
[2026-08-29 09:31:57,227.227 INFO    ] 2026-08-29 09:31:57
[2026-08-29 09:31:57,483.483 INFO    ] 2026-08-29 09:31:57
[2026-08-29 09:31:57,543.543 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:31:57,706.706 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:31:57,714.714 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:31:57,845.845 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:31:57,851.851 INFO    ] time= 29/08/2026 09:31:57
[2026-08-29 09:31:57,902.902 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:31:57,918.918 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:31:58,045.045 INFO    ] No existing commands found in stream
[2026-08-29 09:32:03,055.055 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:32:03,058.058 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-08-29 09:32:04,617.617 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:32:04,620.620 INFO    ] Checking for system updates...
[2026-08-29 09:32:04,657.657 INFO    ] 200
[2026-08-29 09:32:04,660.660 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:32:04,713.713 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:32:04,716.716 INFO    ] No update needed
[2026-08-29 09:32:04,719.719 INFO    ] Checking for camera pi updates...
[2026-08-29 09:32:04,757.757 INFO    ] 200
[2026-08-29 09:32:04,760.760 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:32:04,807.807 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:32:04,882.882 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:32:04,884.884 INFO    ] No camera update needed
[2026-08-29 09:32:04,885.885 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:32:04,887.887 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:32:04,890.890 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:32:04,893.893 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:32:06,933.933 INFO    ] ================================================
[2026-08-29 09:32:06,948.948 INFO    ] Launching Daemon at Sat Aug 29 09:32:06 IST 2026
[2026-08-29 09:32:06,959.959 INFO    ] ================================================
[2026-08-29 09:32:07,306.306 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:32:07
[2026-08-29 09:32:07,620.620 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:32:07,882.882 INFO    ] Initializing speech engine...
[2026-08-29 09:32:07,891.891 INFO    ] 2026-08-29 09:32:07
[2026-08-29 09:32:08,142.142 INFO    ] 2026-08-29 09:32:08
[2026-08-29 09:32:08,177.177 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:32:08,376.376 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:32:08,404.404 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:32:08,557.557 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:32:08,590.590 INFO    ] time= 29/08/2026 09:32:08
[2026-08-29 09:32:08,611.611 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:32:08,671.671 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:32:08,742.742 INFO    ] No existing commands found in stream
[2026-08-29 09:32:13,753.753 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:32:13,756.756 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-08-29 09:32:16,268.268 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:32:16,269.269 INFO    ] Checking for system updates...
[2026-08-29 09:32:16,290.290 INFO    ] 200
[2026-08-29 09:32:16,291.291 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:32:16,324.324 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:32:16,325.325 INFO    ] No update needed
[2026-08-29 09:32:16,327.327 INFO    ] Checking for camera pi updates...
[2026-08-29 09:32:16,347.347 INFO    ] 200
[2026-08-29 09:32:16,348.348 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:32:16,372.372 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:32:16,447.447 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:32:16,448.448 INFO    ] No camera update needed
[2026-08-29 09:32:16,450.450 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:32:16,451.451 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:32:16,454.454 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:32:16,456.456 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:32:18,495.495 INFO    ] ================================================
[2026-08-29 09:32:18,515.515 INFO    ] Launching Daemon at Sat Aug 29 09:32:18 IST 2026
[2026-08-29 09:32:18,526.526 INFO    ] ================================================
[2026-08-29 09:32:18,879.879 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:32:18
[2026-08-29 09:32:19,195.195 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:32:19,329.329 INFO    ] Initializing speech engine...
[2026-08-29 09:32:19,334.334 INFO    ] 2026-08-29 09:32:19
[2026-08-29 09:32:19,544.544 INFO    ] 2026-08-29 09:32:19
[2026-08-29 09:32:19,580.580 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:32:19,727.727 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:32:19,734.734 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:32:19,877.877 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:32:19,886.886 INFO    ] time= 29/08/2026 09:32:19
[2026-08-29 09:32:19,891.891 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:32:19,911.911 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:32:19,957.957 INFO    ] No existing commands found in stream
[2026-08-29 09:32:24,968.968 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:32:24,970.970 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-08-29 09:32:28,021.021 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:32:28,022.022 INFO    ] Checking for system updates...
[2026-08-29 09:32:28,043.043 INFO    ] 200
[2026-08-29 09:32:28,044.044 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:32:28,075.075 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:32:28,076.076 INFO    ] No update needed
[2026-08-29 09:32:28,077.077 INFO    ] Checking for camera pi updates...
[2026-08-29 09:32:28,099.099 INFO    ] 200
[2026-08-29 09:32:28,100.100 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:32:28,125.125 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:32:28,222.222 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:32:28,224.224 INFO    ] No camera update needed
[2026-08-29 09:32:28,225.225 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:32:28,226.226 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:32:28,229.229 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:32:28,232.232 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:32:30,271.271 INFO    ] ================================================
[2026-08-29 09:32:30,286.286 INFO    ] Launching Daemon at Sat Aug 29 09:32:30 IST 2026
[2026-08-29 09:32:30,297.297 INFO    ] ================================================
[2026-08-29 09:32:30,662.662 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:32:30
[2026-08-29 09:32:30,978.978 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:32:31,112.112 INFO    ] Initializing speech engine...
[2026-08-29 09:32:31,116.116 INFO    ] 2026-08-29 09:32:31
[2026-08-29 09:32:31,311.311 INFO    ] 2026-08-29 09:32:31
[2026-08-29 09:32:31,364.364 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:32:31,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:32:31,595.595 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:32:31,745.745 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:32:31,762.762 INFO    ] time= 29/08/2026 09:32:31
[2026-08-29 09:32:31,838.838 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:32:31,883.883 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:32:31,943.943 INFO    ] No existing commands found in stream
[2026-08-29 09:32:36,955.955 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:32:36,958.958 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-08-29 09:32:39,202.202 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:32:39,205.205 INFO    ] Checking for system updates...
[2026-08-29 09:32:39,240.240 INFO    ] 200
[2026-08-29 09:32:39,243.243 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:32:39,295.295 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:32:39,297.297 INFO    ] No update needed
[2026-08-29 09:32:39,300.300 INFO    ] Checking for camera pi updates...
[2026-08-29 09:32:39,334.334 INFO    ] 200
[2026-08-29 09:32:39,336.336 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:32:39,376.376 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:32:39,452.452 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:32:39,454.454 INFO    ] No camera update needed
[2026-08-29 09:32:39,455.455 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:32:39,456.456 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:32:39,459.459 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:32:39,462.462 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:32:41,501.501 INFO    ] ================================================
[2026-08-29 09:32:41,517.517 INFO    ] Launching Daemon at Sat Aug 29 09:32:41 IST 2026
[2026-08-29 09:32:41,528.528 INFO    ] ================================================
[2026-08-29 09:32:41,896.896 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:32:41
[2026-08-29 09:32:42,212.212 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:32:42,348.348 INFO    ] Initializing speech engine...
[2026-08-29 09:32:42,362.362 INFO    ] 2026-08-29 09:32:42
[2026-08-29 09:32:42,580.580 INFO    ] 2026-08-29 09:32:42
[2026-08-29 09:32:42,610.610 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:32:42,748.748 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:32:42,810.810 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:32:42,951.951 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:32:42,997.997 INFO    ] time= 29/08/2026 09:32:42
[2026-08-29 09:32:43,035.035 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:32:43,058.058 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:32:43,134.134 INFO    ] No existing commands found in stream
[2026-08-29 09:32:48,143.143 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:32:48,146.146 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-08-29 09:32:50,571.571 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:32:50,572.572 INFO    ] Checking for system updates...
[2026-08-29 09:32:50,593.593 INFO    ] 200
[2026-08-29 09:32:50,594.594 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:32:50,627.627 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:32:50,628.628 INFO    ] No update needed
[2026-08-29 09:32:50,630.630 INFO    ] Checking for camera pi updates...
[2026-08-29 09:32:50,650.650 INFO    ] 200
[2026-08-29 09:32:50,651.651 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:32:50,676.676 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:32:50,758.758 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:32:50,760.760 INFO    ] No camera update needed
[2026-08-29 09:32:50,761.761 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:32:50,762.762 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:32:50,765.765 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:32:50,768.768 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:32:52,806.806 INFO    ] ================================================
[2026-08-29 09:32:52,821.821 INFO    ] Launching Daemon at Sat Aug 29 09:32:52 IST 2026
[2026-08-29 09:32:52,831.831 INFO    ] ================================================
[2026-08-29 09:32:53,179.179 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:32:53
[2026-08-29 09:32:53,496.496 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:32:53,756.756 INFO    ] Initializing speech engine...
[2026-08-29 09:32:53,763.763 INFO    ] 2026-08-29 09:32:53
[2026-08-29 09:32:54,011.011 INFO    ] 2026-08-29 09:32:54
[2026-08-29 09:32:54,047.047 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:32:54,218.218 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:32:54,231.231 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:32:54,373.373 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:32:54,382.382 INFO    ] time= 29/08/2026 09:32:54
[2026-08-29 09:32:54,388.388 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:32:54,419.419 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:32:54,547.547 INFO    ] No existing commands found in stream
[2026-08-29 09:32:59,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:32:59,577.577 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-08-29 09:33:03,560.560 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:33:03,563.563 INFO    ] Checking for system updates...
[2026-08-29 09:33:03,600.600 INFO    ] 200
[2026-08-29 09:33:03,603.603 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:33:03,657.657 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:33:03,660.660 INFO    ] No update needed
[2026-08-29 09:33:03,662.662 INFO    ] Checking for camera pi updates...
[2026-08-29 09:33:03,697.697 INFO    ] 200
[2026-08-29 09:33:03,700.700 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:33:03,742.742 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:33:03,847.847 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:33:03,850.850 INFO    ] No camera update needed
[2026-08-29 09:33:03,852.852 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:33:03,855.855 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:33:03,860.860 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:33:03,865.865 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:33:05,905.905 INFO    ] ================================================
[2026-08-29 09:33:05,920.920 INFO    ] Launching Daemon at Sat Aug 29 09:33:05 IST 2026
[2026-08-29 09:33:05,931.931 INFO    ] ================================================
[2026-08-29 09:33:06,420.420 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:33:06
[2026-08-29 09:33:07,010.010 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:33:07,287.287 INFO    ] Initializing speech engine...
[2026-08-29 09:33:07,294.294 INFO    ] 2026-08-29 09:33:07
[2026-08-29 09:33:07,550.550 INFO    ] 2026-08-29 09:33:07
[2026-08-29 09:33:07,585.585 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:33:07,754.754 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:33:07,766.766 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:33:07,911.911 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:33:07,920.920 INFO    ] time= 29/08/2026 09:33:07
[2026-08-29 09:33:07,924.924 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:33:07,930.930 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:33:08,004.004 INFO    ] No existing commands found in stream
[2026-08-29 09:33:13,040.040 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:33:13,043.043 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-08-29 09:33:15,127.127 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:33:15,129.129 INFO    ] Checking for system updates...
[2026-08-29 09:33:15,151.151 INFO    ] 200
[2026-08-29 09:33:15,153.153 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:33:15,183.183 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:33:15,184.184 INFO    ] No update needed
[2026-08-29 09:33:15,185.185 INFO    ] Checking for camera pi updates...
[2026-08-29 09:33:15,204.204 INFO    ] 200
[2026-08-29 09:33:15,206.206 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:33:15,232.232 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:33:15,311.311 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:33:15,313.313 INFO    ] No camera update needed
[2026-08-29 09:33:15,314.314 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:33:15,315.315 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:33:15,318.318 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:33:15,321.321 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:33:17,362.362 INFO    ] ================================================
[2026-08-29 09:33:17,378.378 INFO    ] Launching Daemon at Sat Aug 29 09:33:17 IST 2026
[2026-08-29 09:33:17,388.388 INFO    ] ================================================
[2026-08-29 09:33:17,750.750 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:33:17
[2026-08-29 09:33:18,060.060 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:33:18,204.204 INFO    ] Initializing speech engine...
[2026-08-29 09:33:18,208.208 INFO    ] 2026-08-29 09:33:18
[2026-08-29 09:33:18,415.415 INFO    ] 2026-08-29 09:33:18
[2026-08-29 09:33:18,443.443 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:33:18,567.567 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:33:18,630.630 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:33:18,795.795 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:33:18,814.814 INFO    ] time= 29/08/2026 09:33:18
[2026-08-29 09:33:18,869.869 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:33:18,919.919 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:33:19,009.009 INFO    ] No existing commands found in stream
[2026-08-29 09:33:24,020.020 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:33:24,022.022 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-08-29 09:33:27,139.139 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:33:27,140.140 INFO    ] Checking for system updates...
[2026-08-29 09:33:27,163.163 INFO    ] 200
[2026-08-29 09:33:27,164.164 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:33:27,194.194 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:33:27,195.195 INFO    ] No update needed
[2026-08-29 09:33:27,197.197 INFO    ] Checking for camera pi updates...
[2026-08-29 09:33:27,223.223 INFO    ] 200
[2026-08-29 09:33:27,226.226 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:33:27,266.266 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:33:27,470.470 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:33:27,473.473 INFO    ] No camera update needed
[2026-08-29 09:33:27,475.475 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:33:27,478.478 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:33:27,483.483 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:33:27,488.488 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:33:29,530.530 INFO    ] ================================================
[2026-08-29 09:33:29,545.545 INFO    ] Launching Daemon at Sat Aug 29 09:33:29 IST 2026
[2026-08-29 09:33:29,562.562 INFO    ] ================================================
[2026-08-29 09:33:30,127.127 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:33:30
[2026-08-29 09:33:30,536.536 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:33:30,794.794 INFO    ] Initializing speech engine...
[2026-08-29 09:33:30,800.800 INFO    ] 2026-08-29 09:33:30
[2026-08-29 09:33:31,094.094 INFO    ] 2026-08-29 09:33:31
[2026-08-29 09:33:31,119.119 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:33:31,285.285 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:33:31,297.297 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:33:31,439.439 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:33:31,455.455 INFO    ] time= 29/08/2026 09:33:31
[2026-08-29 09:33:31,465.465 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:33:31,485.485 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:33:31,553.553 INFO    ] No existing commands found in stream
[2026-08-29 09:33:36,566.566 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:33:36,570.570 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-08-29 09:33:37,843.843 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:33:37,845.845 INFO    ] Checking for system updates...
[2026-08-29 09:33:37,867.867 INFO    ] 200
[2026-08-29 09:33:37,868.868 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:33:37,898.898 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:33:37,900.900 INFO    ] No update needed
[2026-08-29 09:33:37,901.901 INFO    ] Checking for camera pi updates...
[2026-08-29 09:33:37,921.921 INFO    ] 200
[2026-08-29 09:33:37,922.922 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:33:37,946.946 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:33:38,029.029 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:33:38,030.030 INFO    ] No camera update needed
[2026-08-29 09:33:38,032.032 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:33:38,033.033 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:33:38,036.036 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:33:38,039.039 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:33:40,078.078 INFO    ] ================================================
[2026-08-29 09:33:40,093.093 INFO    ] Launching Daemon at Sat Aug 29 09:33:40 IST 2026
[2026-08-29 09:33:40,104.104 INFO    ] ================================================
[2026-08-29 09:33:40,451.451 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:33:40
[2026-08-29 09:33:40,762.762 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:33:40,893.893 INFO    ] Initializing speech engine...
[2026-08-29 09:33:40,897.897 INFO    ] 2026-08-29 09:33:40
[2026-08-29 09:33:41,115.115 INFO    ] 2026-08-29 09:33:41
[2026-08-29 09:33:41,143.143 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:33:41,338.338 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:33:41,344.344 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:33:41,510.510 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:33:41,570.570 INFO    ] time= 29/08/2026 09:33:41
[2026-08-29 09:33:41,609.609 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:33:41,653.653 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:33:41,763.763 INFO    ] No existing commands found in stream
[2026-08-29 09:33:46,805.805 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:33:46,807.807 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-08-29 09:33:50,831.831 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:33:50,833.833 INFO    ] Checking for system updates...
[2026-08-29 09:33:50,853.853 INFO    ] 200
[2026-08-29 09:33:50,855.855 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:33:50,884.884 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:33:50,885.885 INFO    ] No update needed
[2026-08-29 09:33:50,887.887 INFO    ] Checking for camera pi updates...
[2026-08-29 09:33:50,909.909 INFO    ] 200
[2026-08-29 09:33:50,911.911 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:33:50,934.934 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:33:51,015.015 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:33:51,016.016 INFO    ] No camera update needed
[2026-08-29 09:33:51,018.018 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:33:51,019.019 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:33:51,022.022 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:33:51,024.024 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:33:53,065.065 INFO    ] ================================================
[2026-08-29 09:33:53,080.080 INFO    ] Launching Daemon at Sat Aug 29 09:33:53 IST 2026
[2026-08-29 09:33:53,091.091 INFO    ] ================================================
[2026-08-29 09:33:53,457.457 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:33:53
[2026-08-29 09:33:53,777.777 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:33:53,987.987 INFO    ] Initializing speech engine...
[2026-08-29 09:33:53,995.995 INFO    ] 2026-08-29 09:33:53
[2026-08-29 09:33:54,296.296 INFO    ] 2026-08-29 09:33:54
[2026-08-29 09:33:54,335.335 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:33:54,536.536 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:33:54,549.549 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:33:54,672.672 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:33:54,679.679 INFO    ] time= 29/08/2026 09:33:54
[2026-08-29 09:33:54,684.684 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:33:54,704.704 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:33:54,806.806 INFO    ] No existing commands found in stream
[2026-08-29 09:33:59,818.818 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:33:59,821.821 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-08-29 09:34:01,867.867 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:34:01,871.871 INFO    ] Checking for system updates...
[2026-08-29 09:34:01,918.918 INFO    ] 200
[2026-08-29 09:34:01,921.921 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:34:01,988.988 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:34:01,991.991 INFO    ] No update needed
[2026-08-29 09:34:01,995.995 INFO    ] Checking for camera pi updates...
[2026-08-29 09:34:02,044.044 INFO    ] 200
[2026-08-29 09:34:02,046.046 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:34:02,095.095 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:34:02,250.250 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:34:02,253.253 INFO    ] No camera update needed
[2026-08-29 09:34:02,256.256 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:34:02,258.258 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:34:02,265.265 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:34:02,271.271 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:34:04,312.312 INFO    ] ================================================
[2026-08-29 09:34:04,327.327 INFO    ] Launching Daemon at Sat Aug 29 09:34:04 IST 2026
[2026-08-29 09:34:04,338.338 INFO    ] ================================================
[2026-08-29 09:34:04,681.681 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:34:04
[2026-08-29 09:34:04,992.992 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:34:05,124.124 INFO    ] Initializing speech engine...
[2026-08-29 09:34:05,127.127 INFO    ] 2026-08-29 09:34:05
[2026-08-29 09:34:05,319.319 INFO    ] 2026-08-29 09:34:05
[2026-08-29 09:34:05,352.352 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:34:05,523.523 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:34:05,536.536 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:34:05,681.681 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:34:05,689.689 INFO    ] time= 29/08/2026 09:34:05
[2026-08-29 09:34:05,697.697 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:34:05,732.732 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:34:05,848.848 INFO    ] No existing commands found in stream
[2026-08-29 09:34:10,873.873 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:34:10,876.876 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-08-29 09:34:12,711.711 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:34:12,712.712 INFO    ] Checking for system updates...
[2026-08-29 09:34:12,733.733 INFO    ] 200
[2026-08-29 09:34:12,734.734 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:34:12,765.765 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:34:12,767.767 INFO    ] No update needed
[2026-08-29 09:34:12,768.768 INFO    ] Checking for camera pi updates...
[2026-08-29 09:34:12,787.787 INFO    ] 200
[2026-08-29 09:34:12,789.789 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:34:12,813.813 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:34:12,894.894 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:34:12,895.895 INFO    ] No camera update needed
[2026-08-29 09:34:12,896.896 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:34:12,897.897 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:34:12,900.900 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:34:12,905.905 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:34:14,946.946 INFO    ] ================================================
[2026-08-29 09:34:14,961.961 INFO    ] Launching Daemon at Sat Aug 29 09:34:14 IST 2026
[2026-08-29 09:34:14,971.971 INFO    ] ================================================
[2026-08-29 09:34:15,540.540 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:34:15
[2026-08-29 09:34:16,035.035 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:34:16,226.226 INFO    ] Initializing speech engine...
[2026-08-29 09:34:16,235.235 INFO    ] 2026-08-29 09:34:16
[2026-08-29 09:34:16,484.484 INFO    ] 2026-08-29 09:34:16
[2026-08-29 09:34:16,519.519 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:34:16,696.696 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:34:16,709.709 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:34:16,847.847 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:34:16,861.861 INFO    ] time= 29/08/2026 09:34:16
[2026-08-29 09:34:16,868.868 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:34:16,914.914 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:34:17,051.051 INFO    ] No existing commands found in stream
[2026-08-29 09:34:22,073.073 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:34:22,076.076 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-08-29 09:34:22,870.870 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:34:22,871.871 INFO    ] Checking for system updates...
[2026-08-29 09:34:22,892.892 INFO    ] 200
[2026-08-29 09:34:22,893.893 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:34:22,925.925 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:34:22,926.926 INFO    ] No update needed
[2026-08-29 09:34:22,927.927 INFO    ] Checking for camera pi updates...
[2026-08-29 09:34:22,946.946 INFO    ] 200
[2026-08-29 09:34:22,948.948 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:34:22,971.971 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:34:23,053.053 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:34:23,055.055 INFO    ] No camera update needed
[2026-08-29 09:34:23,056.056 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:34:23,057.057 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:34:23,060.060 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:34:23,063.063 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:34:25,102.102 INFO    ] ================================================
[2026-08-29 09:34:25,117.117 INFO    ] Launching Daemon at Sat Aug 29 09:34:25 IST 2026
[2026-08-29 09:34:25,128.128 INFO    ] ================================================
[2026-08-29 09:34:25,610.610 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:34:25
[2026-08-29 09:34:26,211.211 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:34:26,496.496 INFO    ] Initializing speech engine...
[2026-08-29 09:34:26,506.506 INFO    ] 2026-08-29 09:34:26
[2026-08-29 09:34:26,773.773 INFO    ] 2026-08-29 09:34:26
[2026-08-29 09:34:26,810.810 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:34:27,005.005 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:34:27,019.019 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:34:27,139.139 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:34:27,146.146 INFO    ] time= 29/08/2026 09:34:27
[2026-08-29 09:34:27,172.172 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:34:27,191.191 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:34:27,268.268 INFO    ] No existing commands found in stream
[2026-08-29 09:34:32,281.281 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:34:32,284.284 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-08-29 09:34:33,081.081 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:34:33,084.084 INFO    ] Checking for system updates...
[2026-08-29 09:34:33,122.122 INFO    ] 200
[2026-08-29 09:34:33,124.124 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:34:33,178.178 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:34:33,180.180 INFO    ] No update needed
[2026-08-29 09:34:33,182.182 INFO    ] Checking for camera pi updates...
[2026-08-29 09:34:33,216.216 INFO    ] 200
[2026-08-29 09:34:33,219.219 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:34:33,259.259 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:34:33,354.354 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:34:33,356.356 INFO    ] No camera update needed
[2026-08-29 09:34:33,359.359 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:34:33,361.361 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:34:33,366.366 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:34:33,371.371 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:34:35,411.411 INFO    ] ================================================
[2026-08-29 09:34:35,426.426 INFO    ] Launching Daemon at Sat Aug 29 09:34:35 IST 2026
[2026-08-29 09:34:35,437.437 INFO    ] ================================================
[2026-08-29 09:34:35,773.773 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:34:35
[2026-08-29 09:34:36,085.085 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:34:36,217.217 INFO    ] Initializing speech engine...
[2026-08-29 09:34:36,230.230 INFO    ] 2026-08-29 09:34:36
[2026-08-29 09:34:36,424.424 INFO    ] 2026-08-29 09:34:36
[2026-08-29 09:34:36,460.460 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:34:36,641.641 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:34:36,653.653 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:34:36,797.797 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:34:36,805.805 INFO    ] time= 29/08/2026 09:34:36
[2026-08-29 09:34:36,812.812 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:34:36,824.824 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:34:36,963.963 INFO    ] No existing commands found in stream
[2026-08-29 09:34:41,993.993 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:34:41,996.996 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-08-29 09:34:43,082.082 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:34:43,083.083 INFO    ] Checking for system updates...
[2026-08-29 09:34:43,104.104 INFO    ] 200
[2026-08-29 09:34:43,105.105 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:34:43,135.135 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:34:43,136.136 INFO    ] No update needed
[2026-08-29 09:34:43,137.137 INFO    ] Checking for camera pi updates...
[2026-08-29 09:34:43,156.156 INFO    ] 200
[2026-08-29 09:34:43,157.157 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:34:43,183.183 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:34:43,282.282 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:34:43,284.284 INFO    ] No camera update needed
[2026-08-29 09:34:43,285.285 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:34:43,286.286 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:34:43,289.289 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:34:43,292.292 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:34:45,330.330 INFO    ] ================================================
[2026-08-29 09:34:45,346.346 INFO    ] Launching Daemon at Sat Aug 29 09:34:45 IST 2026
[2026-08-29 09:34:45,356.356 INFO    ] ================================================
[2026-08-29 09:34:45,687.687 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:34:45
[2026-08-29 09:34:46,002.002 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:34:46,137.137 INFO    ] Initializing speech engine...
[2026-08-29 09:34:46,149.149 INFO    ] 2026-08-29 09:34:46
[2026-08-29 09:34:46,377.377 INFO    ] 2026-08-29 09:34:46
[2026-08-29 09:34:46,413.413 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:34:46,595.595 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:34:46,610.610 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:34:46,734.734 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:34:46,748.748 INFO    ] time= 29/08/2026 09:34:46
[2026-08-29 09:34:46,756.756 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:34:46,801.801 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:34:46,927.927 INFO    ] No existing commands found in stream
[2026-08-29 09:34:51,953.953 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:34:51,955.955 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-08-29 09:34:55,308.308 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:34:55,309.309 INFO    ] Checking for system updates...
[2026-08-29 09:34:55,331.331 INFO    ] 200
[2026-08-29 09:34:55,333.333 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:34:55,362.362 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:34:55,363.363 INFO    ] No update needed
[2026-08-29 09:34:55,365.365 INFO    ] Checking for camera pi updates...
[2026-08-29 09:34:55,385.385 INFO    ] 200
[2026-08-29 09:34:55,386.386 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:34:55,409.409 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:34:55,538.538 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:34:55,539.539 INFO    ] No camera update needed
[2026-08-29 09:34:55,540.540 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:34:55,541.541 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:34:55,545.545 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:34:55,547.547 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:34:57,587.587 INFO    ] ================================================
[2026-08-29 09:34:57,602.602 INFO    ] Launching Daemon at Sat Aug 29 09:34:57 IST 2026
[2026-08-29 09:34:57,613.613 INFO    ] ================================================
[2026-08-29 09:34:58,083.083 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:34:58
[2026-08-29 09:34:58,669.669 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:34:58,941.941 INFO    ] Initializing speech engine...
[2026-08-29 09:34:58,950.950 INFO    ] 2026-08-29 09:34:58
[2026-08-29 09:34:59,200.200 INFO    ] 2026-08-29 09:34:59
[2026-08-29 09:34:59,234.234 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:34:59,420.420 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:34:59,435.435 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:34:59,578.578 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:34:59,586.586 INFO    ] time= 29/08/2026 09:34:59
[2026-08-29 09:34:59,590.590 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:34:59,596.596 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:34:59,662.662 INFO    ] No existing commands found in stream
[2026-08-29 09:35:04,674.674 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:35:04,677.677 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-08-29 09:35:06,705.705 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:35:06,706.706 INFO    ] Checking for system updates...
[2026-08-29 09:35:06,726.726 INFO    ] 200
[2026-08-29 09:35:06,728.728 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:35:06,759.759 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:35:06,760.760 INFO    ] No update needed
[2026-08-29 09:35:06,761.761 INFO    ] Checking for camera pi updates...
[2026-08-29 09:35:06,798.798 INFO    ] 200
[2026-08-29 09:35:06,800.800 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:35:06,841.841 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:35:06,921.921 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:35:06,924.924 INFO    ] No camera update needed
[2026-08-29 09:35:06,927.927 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:35:06,930.930 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:35:06,936.936 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:35:06,943.943 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:35:08,989.989 INFO    ] ================================================
[2026-08-29 09:35:09,005.005 INFO    ] Launching Daemon at Sat Aug 29 09:35:08 IST 2026
[2026-08-29 09:35:09,015.015 INFO    ] ================================================
[2026-08-29 09:35:09,581.581 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:35:09
[2026-08-29 09:35:10,038.038 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:35:10,173.173 INFO    ] Initializing speech engine...
[2026-08-29 09:35:10,176.176 INFO    ] 2026-08-29 09:35:10
[2026-08-29 09:35:10,456.456 INFO    ] 2026-08-29 09:35:10
[2026-08-29 09:35:10,495.495 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:35:10,678.678 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:35:10,697.697 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:35:10,810.810 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:35:10,816.816 INFO    ] time= 29/08/2026 09:35:10
[2026-08-29 09:35:10,835.835 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:35:10,845.845 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:35:10,895.895 INFO    ] No existing commands found in stream
[2026-08-29 09:35:15,906.906 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:35:15,908.908 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-08-29 09:35:19,530.530 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:35:19,531.531 INFO    ] Checking for system updates...
[2026-08-29 09:35:19,553.553 INFO    ] 200
[2026-08-29 09:35:19,555.555 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:35:19,584.584 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:35:19,586.586 INFO    ] No update needed
[2026-08-29 09:35:19,587.587 INFO    ] Checking for camera pi updates...
[2026-08-29 09:35:19,607.607 INFO    ] 200
[2026-08-29 09:35:19,609.609 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:35:19,631.631 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:35:19,717.717 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:35:19,719.719 INFO    ] No camera update needed
[2026-08-29 09:35:19,720.720 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:35:19,721.721 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:35:19,724.724 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:35:19,727.727 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:35:21,766.766 INFO    ] ================================================
[2026-08-29 09:35:21,780.780 INFO    ] Launching Daemon at Sat Aug 29 09:35:21 IST 2026
[2026-08-29 09:35:21,791.791 INFO    ] ================================================
[2026-08-29 09:35:22,115.115 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:35:22
[2026-08-29 09:35:22,427.427 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:35:22,569.569 INFO    ] Initializing speech engine...
[2026-08-29 09:35:22,574.574 INFO    ] 2026-08-29 09:35:22
[2026-08-29 09:35:22,799.799 INFO    ] 2026-08-29 09:35:22
[2026-08-29 09:35:22,834.834 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:35:23,006.006 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:35:23,018.018 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:35:23,161.161 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:35:23,168.168 INFO    ] time= 29/08/2026 09:35:23
[2026-08-29 09:35:23,177.177 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:35:23,222.222 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:35:23,357.357 INFO    ] No existing commands found in stream
[2026-08-29 09:35:28,378.378 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:35:28,381.381 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-08-29 09:35:30,233.233 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:35:30,234.234 INFO    ] Checking for system updates...
[2026-08-29 09:35:30,256.256 INFO    ] 200
[2026-08-29 09:35:30,257.257 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:35:30,289.289 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:35:30,290.290 INFO    ] No update needed
[2026-08-29 09:35:30,292.292 INFO    ] Checking for camera pi updates...
[2026-08-29 09:35:30,311.311 INFO    ] 200
[2026-08-29 09:35:30,313.313 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:35:30,335.335 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:35:30,544.544 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:35:30,545.545 INFO    ] No camera update needed
[2026-08-29 09:35:30,546.546 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:35:30,547.547 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:35:30,550.550 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:35:30,553.553 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:35:32,586.586 INFO    ] ================================================
[2026-08-29 09:35:32,602.602 INFO    ] Launching Daemon at Sat Aug 29 09:35:32 IST 2026
[2026-08-29 09:35:32,613.613 INFO    ] ================================================
[2026-08-29 09:35:33,229.229 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:35:33
[2026-08-29 09:35:33,815.815 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:35:34,082.082 INFO    ] Initializing speech engine...
[2026-08-29 09:35:34,095.095 INFO    ] 2026-08-29 09:35:34
[2026-08-29 09:35:34,346.346 INFO    ] 2026-08-29 09:35:34
[2026-08-29 09:35:34,381.381 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:35:34,558.558 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:35:34,571.571 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:35:34,701.701 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:35:34,721.721 INFO    ] time= 29/08/2026 09:35:34
[2026-08-29 09:35:34,729.729 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:35:34,736.736 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:35:34,804.804 INFO    ] No existing commands found in stream
[2026-08-29 09:35:39,819.819 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:35:39,822.822 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-08-29 09:35:41,267.267 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:35:41,269.269 INFO    ] Checking for system updates...
[2026-08-29 09:35:41,289.289 INFO    ] 200
[2026-08-29 09:35:41,290.290 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:35:41,323.323 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:35:41,324.324 INFO    ] No update needed
[2026-08-29 09:35:41,325.325 INFO    ] Checking for camera pi updates...
[2026-08-29 09:35:41,344.344 INFO    ] 200
[2026-08-29 09:35:41,345.345 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:35:41,370.370 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:35:41,445.445 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:35:41,446.446 INFO    ] No camera update needed
[2026-08-29 09:35:41,447.447 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:35:41,448.448 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:35:41,451.451 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:35:41,454.454 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:35:43,493.493 INFO    ] ================================================
[2026-08-29 09:35:43,508.508 INFO    ] Launching Daemon at Sat Aug 29 09:35:43 IST 2026
[2026-08-29 09:35:43,519.519 INFO    ] ================================================
[2026-08-29 09:35:44,170.170 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:35:44
[2026-08-29 09:35:44,844.844 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:35:45,156.156 INFO    ] Initializing speech engine...
[2026-08-29 09:35:45,168.168 INFO    ] 2026-08-29 09:35:45
[2026-08-29 09:35:45,392.392 INFO    ] 2026-08-29 09:35:45
[2026-08-29 09:35:45,474.474 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:35:45,634.634 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:35:45,641.641 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:35:45,776.776 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:35:45,787.787 INFO    ] time= 29/08/2026 09:35:45
[2026-08-29 09:35:45,842.842 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:35:45,902.902 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:35:46,042.042 INFO    ] No existing commands found in stream
[2026-08-29 09:35:51,073.073 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:35:51,077.077 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-08-29 09:35:54,610.610 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:35:54,613.613 INFO    ] Checking for system updates...
[2026-08-29 09:35:54,658.658 INFO    ] 200
[2026-08-29 09:35:54,661.661 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:35:54,737.737 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:35:54,741.741 INFO    ] No update needed
[2026-08-29 09:35:54,744.744 INFO    ] Checking for camera pi updates...
[2026-08-29 09:35:54,795.795 INFO    ] 200
[2026-08-29 09:35:54,799.799 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:35:54,845.845 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:35:54,945.945 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:35:54,948.948 INFO    ] No camera update needed
[2026-08-29 09:35:54,951.951 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:35:54,954.954 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:35:54,974.974 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:35:54,980.980 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:35:57,023.023 INFO    ] ================================================
[2026-08-29 09:35:57,039.039 INFO    ] Launching Daemon at Sat Aug 29 09:35:57 IST 2026
[2026-08-29 09:35:57,051.051 INFO    ] ================================================
[2026-08-29 09:35:57,670.670 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:35:57
[2026-08-29 09:35:58,319.319 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:35:58,635.635 INFO    ] Initializing speech engine...
[2026-08-29 09:35:58,647.647 INFO    ] 2026-08-29 09:35:58
[2026-08-29 09:35:58,962.962 INFO    ] 2026-08-29 09:35:58
[2026-08-29 09:35:59,053.053 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:36:00,266.266 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:36:00,288.288 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:36:00,659.659 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:36:00,701.701 INFO    ] time= 29/08/2026 09:36:00
[2026-08-29 09:36:00,746.746 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:36:00,759.759 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:36:00,872.872 INFO    ] No existing commands found in stream
[2026-08-29 09:36:05,895.895 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:36:05,898.898 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-08-29 09:36:07,827.827 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:36:07,830.830 INFO    ] Checking for system updates...
[2026-08-29 09:36:07,870.870 INFO    ] 200
[2026-08-29 09:36:07,873.873 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:36:07,925.925 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:36:07,928.928 INFO    ] No update needed
[2026-08-29 09:36:07,930.930 INFO    ] Checking for camera pi updates...
[2026-08-29 09:36:07,964.964 INFO    ] 200
[2026-08-29 09:36:07,967.967 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:36:08,007.007 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:36:08,096.096 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:36:08,099.099 INFO    ] No camera update needed
[2026-08-29 09:36:08,101.101 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:36:08,104.104 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:36:08,109.109 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:36:08,114.114 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:36:10,154.154 INFO    ] ================================================
[2026-08-29 09:36:10,169.169 INFO    ] Launching Daemon at Sat Aug 29 09:36:10 IST 2026
[2026-08-29 09:36:10,180.180 INFO    ] ================================================
[2026-08-29 09:36:10,646.646 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:36:10
[2026-08-29 09:36:10,960.960 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:36:11,096.096 INFO    ] Initializing speech engine...
[2026-08-29 09:36:11,109.109 INFO    ] 2026-08-29 09:36:11
[2026-08-29 09:36:11,328.328 INFO    ] 2026-08-29 09:36:11
[2026-08-29 09:36:11,359.359 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:36:11,491.491 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:36:11,546.546 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:36:11,705.705 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:36:11,760.760 INFO    ] time= 29/08/2026 09:36:11
[2026-08-29 09:36:11,797.797 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:36:11,833.833 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:36:11,950.950 INFO    ] No existing commands found in stream
[2026-08-29 09:36:16,981.981 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:36:16,989.989 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-08-29 09:36:18,997.997 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:36:18,998.998 INFO    ] Checking for system updates...
[2026-08-29 09:36:19,020.020 INFO    ] 200
[2026-08-29 09:36:19,021.021 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:36:19,051.051 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:36:19,053.053 INFO    ] No update needed
[2026-08-29 09:36:19,054.054 INFO    ] Checking for camera pi updates...
[2026-08-29 09:36:19,075.075 INFO    ] 200
[2026-08-29 09:36:19,076.076 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:36:19,099.099 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:36:19,173.173 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:36:19,174.174 INFO    ] No camera update needed
[2026-08-29 09:36:19,176.176 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:36:19,177.177 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:36:19,180.180 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:36:19,182.182 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:36:21,221.221 INFO    ] ================================================
[2026-08-29 09:36:21,236.236 INFO    ] Launching Daemon at Sat Aug 29 09:36:21 IST 2026
[2026-08-29 09:36:21,247.247 INFO    ] ================================================
[2026-08-29 09:36:21,575.575 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:36:21
[2026-08-29 09:36:21,886.886 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:36:22,040.040 INFO    ] Initializing speech engine...
[2026-08-29 09:36:22,053.053 INFO    ] 2026-08-29 09:36:22
[2026-08-29 09:36:22,306.306 INFO    ] 2026-08-29 09:36:22
[2026-08-29 09:36:22,364.364 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:36:22,511.511 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:36:22,523.523 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:36:22,664.664 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:36:22,677.677 INFO    ] time= 29/08/2026 09:36:22
[2026-08-29 09:36:22,682.682 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:36:22,688.688 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:36:22,754.754 INFO    ] No existing commands found in stream
[2026-08-29 09:36:27,767.767 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:36:27,769.769 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-08-29 09:36:31,657.657 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:36:31,658.658 INFO    ] Checking for system updates...
[2026-08-29 09:36:31,680.680 INFO    ] 200
[2026-08-29 09:36:31,681.681 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:36:31,726.726 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:36:31,727.727 INFO    ] No update needed
[2026-08-29 09:36:31,729.729 INFO    ] Checking for camera pi updates...
[2026-08-29 09:36:31,753.753 INFO    ] 200
[2026-08-29 09:36:31,754.754 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:36:31,784.784 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:36:31,904.904 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:36:31,907.907 INFO    ] No camera update needed
[2026-08-29 09:36:31,910.910 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:36:31,912.912 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:36:31,919.919 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:36:31,925.925 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:36:33,969.969 INFO    ] ================================================
[2026-08-29 09:36:33,984.984 INFO    ] Launching Daemon at Sat Aug 29 09:36:33 IST 2026
[2026-08-29 09:36:34,995.995 INFO    ] ================================================
[2026-08-29 09:36:34,591.591 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:36:34
[2026-08-29 09:36:34,975.975 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:36:35,120.120 INFO    ] Initializing speech engine...
[2026-08-29 09:36:35,125.125 INFO    ] 2026-08-29 09:36:35
[2026-08-29 09:36:35,329.329 INFO    ] 2026-08-29 09:36:35
[2026-08-29 09:36:35,357.357 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:36:35,491.491 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:36:35,543.543 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:36:35,645.645 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:36:35,647.647 INFO    ] time= 29/08/2026 09:36:35
[2026-08-29 09:36:35,648.648 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:36:35,649.649 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:36:35,733.733 INFO    ] No existing commands found in stream
[2026-08-29 09:36:40,766.766 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:36:40,768.768 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-08-29 09:36:41,474.474 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:36:41,476.476 INFO    ] Checking for system updates...
[2026-08-29 09:36:41,496.496 INFO    ] 200
[2026-08-29 09:36:41,498.498 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:36:41,530.530 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:36:41,531.531 INFO    ] No update needed
[2026-08-29 09:36:41,532.532 INFO    ] Checking for camera pi updates...
[2026-08-29 09:36:41,551.551 INFO    ] 200
[2026-08-29 09:36:41,553.553 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:36:41,577.577 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:36:41,684.684 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:36:41,685.685 INFO    ] No camera update needed
[2026-08-29 09:36:41,687.687 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:36:41,688.688 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:36:41,691.691 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:36:41,693.693 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:36:43,732.732 INFO    ] ================================================
[2026-08-29 09:36:43,747.747 INFO    ] Launching Daemon at Sat Aug 29 09:36:43 IST 2026
[2026-08-29 09:36:43,758.758 INFO    ] ================================================
[2026-08-29 09:36:44,146.146 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:36:44
[2026-08-29 09:36:44,487.487 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:36:44,781.781 INFO    ] Initializing speech engine...
[2026-08-29 09:36:44,788.788 INFO    ] 2026-08-29 09:36:44
[2026-08-29 09:36:45,065.065 INFO    ] 2026-08-29 09:36:45
[2026-08-29 09:36:45,121.121 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:36:45,353.353 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:36:45,363.363 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:36:45,500.500 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:36:45,527.527 INFO    ] time= 29/08/2026 09:36:45
[2026-08-29 09:36:45,583.583 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:36:45,633.633 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:36:45,694.694 INFO    ] No existing commands found in stream
[2026-08-29 09:36:50,707.707 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:36:50,710.710 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-08-29 09:36:54,755.755 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:36:54,756.756 INFO    ] Checking for system updates...
[2026-08-29 09:36:54,777.777 INFO    ] 200
[2026-08-29 09:36:54,779.779 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:36:54,809.809 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:36:54,810.810 INFO    ] No update needed
[2026-08-29 09:36:54,812.812 INFO    ] Checking for camera pi updates...
[2026-08-29 09:36:54,832.832 INFO    ] 200
[2026-08-29 09:36:54,834.834 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:36:54,857.857 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:36:54,960.960 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:36:54,963.963 INFO    ] No camera update needed
[2026-08-29 09:36:54,965.965 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:36:54,968.968 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:36:54,974.974 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:36:54,980.980 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:36:57,020.020 INFO    ] ================================================
[2026-08-29 09:36:57,035.035 INFO    ] Launching Daemon at Sat Aug 29 09:36:57 IST 2026
[2026-08-29 09:36:57,046.046 INFO    ] ================================================
[2026-08-29 09:36:57,633.633 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:36:57
[2026-08-29 09:36:58,166.166 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:36:58,319.319 INFO    ] Initializing speech engine...
[2026-08-29 09:36:58,325.325 INFO    ] 2026-08-29 09:36:58
[2026-08-29 09:36:58,536.536 INFO    ] 2026-08-29 09:36:58
[2026-08-29 09:36:58,565.565 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:36:58,690.690 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:36:58,754.754 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:36:58,903.903 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:36:58,967.967 INFO    ] time= 29/08/2026 09:36:58
[2026-08-29 09:36:58,990.990 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:36:58,997.997 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:36:59,065.065 INFO    ] No existing commands found in stream
[2026-08-29 09:37:04,080.080 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:37:04,083.083 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 09:37:07,547.547 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:37:07,549.549 INFO    ] Checking for system updates...
[2026-08-29 09:37:07,571.571 INFO    ] 200
[2026-08-29 09:37:07,572.572 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:37:07,604.604 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:37:07,606.606 INFO    ] No update needed
[2026-08-29 09:37:07,607.607 INFO    ] Checking for camera pi updates...
[2026-08-29 09:37:07,626.626 INFO    ] 200
[2026-08-29 09:37:07,627.627 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:37:07,650.650 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:37:07,777.777 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:37:07,778.778 INFO    ] No camera update needed
[2026-08-29 09:37:07,779.779 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:37:07,780.780 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:37:07,784.784 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:37:07,786.786 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:37:09,824.824 INFO    ] ================================================
[2026-08-29 09:37:09,840.840 INFO    ] Launching Daemon at Sat Aug 29 09:37:09 IST 2026
[2026-08-29 09:37:09,850.850 INFO    ] ================================================
[2026-08-29 09:37:10,215.215 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:37:10
[2026-08-29 09:37:10,529.529 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:37:10,662.662 INFO    ] Initializing speech engine...
[2026-08-29 09:37:10,666.666 INFO    ] 2026-08-29 09:37:10
[2026-08-29 09:37:10,884.884 INFO    ] 2026-08-29 09:37:10
[2026-08-29 09:37:10,973.973 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:37:11,148.148 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:37:11,153.153 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:37:11,312.312 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:37:11,329.329 INFO    ] time= 29/08/2026 09:37:11
[2026-08-29 09:37:11,388.388 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:37:11,453.453 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:37:11,523.523 INFO    ] No existing commands found in stream
[2026-08-29 09:37:16,535.535 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:37:16,538.538 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-08-29 09:37:19,298.298 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:37:19,299.299 INFO    ] Checking for system updates...
[2026-08-29 09:37:19,320.320 INFO    ] 200
[2026-08-29 09:37:19,321.321 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:37:19,351.351 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:37:19,353.353 INFO    ] No update needed
[2026-08-29 09:37:19,354.354 INFO    ] Checking for camera pi updates...
[2026-08-29 09:37:19,375.375 INFO    ] 200
[2026-08-29 09:37:19,377.377 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:37:19,400.400 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:37:19,490.490 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:37:19,492.492 INFO    ] No camera update needed
[2026-08-29 09:37:19,493.493 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:37:19,495.495 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:37:19,498.498 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:37:19,500.500 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:37:21,538.538 INFO    ] ================================================
[2026-08-29 09:37:21,554.554 INFO    ] Launching Daemon at Sat Aug 29 09:37:21 IST 2026
[2026-08-29 09:37:21,564.564 INFO    ] ================================================
[2026-08-29 09:37:21,937.937 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:37:21
[2026-08-29 09:37:22,251.251 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:37:22,462.462 INFO    ] Initializing speech engine...
[2026-08-29 09:37:22,471.471 INFO    ] 2026-08-29 09:37:22
[2026-08-29 09:37:22,746.746 INFO    ] 2026-08-29 09:37:22
[2026-08-29 09:37:22,788.788 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:37:23,008.008 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:37:23,017.017 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:37:23,152.152 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:37:23,217.217 INFO    ] time= 29/08/2026 09:37:23
[2026-08-29 09:37:23,271.271 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:37:23,285.285 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:37:23,405.405 INFO    ] No existing commands found in stream
[2026-08-29 09:37:28,431.431 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:37:28,434.434 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 09:37:30,946.946 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:37:30,947.947 INFO    ] Checking for system updates...
[2026-08-29 09:37:30,967.967 INFO    ] 200
[2026-08-29 09:37:30,969.969 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:37:30,999.999 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:37:31,000.000 INFO    ] No update needed
[2026-08-29 09:37:31,002.002 INFO    ] Checking for camera pi updates...
[2026-08-29 09:37:31,024.024 INFO    ] 200
[2026-08-29 09:37:31,025.025 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:37:31,048.048 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:37:31,129.129 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:37:31,131.131 INFO    ] No camera update needed
[2026-08-29 09:37:31,132.132 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:37:31,133.133 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:37:31,136.136 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:37:31,139.139 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:37:33,172.172 INFO    ] ================================================
[2026-08-29 09:37:33,187.187 INFO    ] Launching Daemon at Sat Aug 29 09:37:33 IST 2026
[2026-08-29 09:37:33,199.199 INFO    ] ================================================
[2026-08-29 09:37:33,795.795 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:37:33
[2026-08-29 09:37:34,400.400 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:37:34,679.679 INFO    ] Initializing speech engine...
[2026-08-29 09:37:34,687.687 INFO    ] 2026-08-29 09:37:34
[2026-08-29 09:37:34,949.949 INFO    ] 2026-08-29 09:37:34
[2026-08-29 09:37:35,004.004 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:37:35,226.226 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:37:35,235.235 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:37:35,366.366 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:37:35,409.409 INFO    ] time= 29/08/2026 09:37:35
[2026-08-29 09:37:35,464.464 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:37:35,467.467 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:37:35,546.546 INFO    ] No existing commands found in stream
[2026-08-29 09:37:40,576.576 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:37:40,579.579 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-08-29 09:37:42,159.159 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:37:42,161.161 INFO    ] Checking for system updates...
[2026-08-29 09:37:42,197.197 INFO    ] 200
[2026-08-29 09:37:42,200.200 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:37:42,260.260 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:37:42,262.262 INFO    ] No update needed
[2026-08-29 09:37:42,265.265 INFO    ] Checking for camera pi updates...
[2026-08-29 09:37:42,314.314 INFO    ] 200
[2026-08-29 09:37:42,317.317 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:37:42,360.360 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:37:42,457.457 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:37:42,460.460 INFO    ] No camera update needed
[2026-08-29 09:37:42,463.463 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:37:42,466.466 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:37:42,472.472 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:37:42,478.478 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:37:44,520.520 INFO    ] ================================================
[2026-08-29 09:37:44,536.536 INFO    ] Launching Daemon at Sat Aug 29 09:37:44 IST 2026
[2026-08-29 09:37:44,547.547 INFO    ] ================================================
[2026-08-29 09:37:45,119.119 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:37:45
[2026-08-29 09:37:45,474.474 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:37:45,603.603 INFO    ] Initializing speech engine...
[2026-08-29 09:37:45,608.608 INFO    ] 2026-08-29 09:37:45
[2026-08-29 09:37:45,827.827 INFO    ] 2026-08-29 09:37:45
[2026-08-29 09:37:45,856.856 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:37:46,042.042 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:37:46,045.045 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:37:46,180.180 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:37:46,247.247 INFO    ] time= 29/08/2026 09:37:46
[2026-08-29 09:37:46,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:37:46,277.277 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:37:46,349.349 INFO    ] No existing commands found in stream
[2026-08-29 09:37:51,359.359 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:37:51,362.362 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-08-29 09:37:54,408.408 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:37:54,410.410 INFO    ] Checking for system updates...
[2026-08-29 09:37:54,430.430 INFO    ] 200
[2026-08-29 09:37:54,431.431 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:37:54,465.465 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:37:54,466.466 INFO    ] No update needed
[2026-08-29 09:37:54,467.467 INFO    ] Checking for camera pi updates...
[2026-08-29 09:37:54,486.486 INFO    ] 200
[2026-08-29 09:37:54,488.488 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:37:54,510.510 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:37:54,589.589 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:37:54,590.590 INFO    ] No camera update needed
[2026-08-29 09:37:54,592.592 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:37:54,593.593 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:37:54,596.596 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:37:54,598.598 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:37:56,636.636 INFO    ] ================================================
[2026-08-29 09:37:56,652.652 INFO    ] Launching Daemon at Sat Aug 29 09:37:56 IST 2026
[2026-08-29 09:37:56,663.663 INFO    ] ================================================
[2026-08-29 09:37:57,009.009 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:37:57
[2026-08-29 09:37:57,321.321 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:37:57,506.506 INFO    ] Initializing speech engine...
[2026-08-29 09:37:57,519.519 INFO    ] 2026-08-29 09:37:57
[2026-08-29 09:37:57,815.815 INFO    ] 2026-08-29 09:37:57
[2026-08-29 09:37:57,854.854 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:37:58,055.055 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:37:58,070.070 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:37:58,200.200 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:37:58,221.221 INFO    ] time= 29/08/2026 09:37:58
[2026-08-29 09:37:58,244.244 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:37:58,251.251 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:37:58,331.331 INFO    ] No existing commands found in stream
[2026-08-29 09:38:03,341.341 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:38:03,344.344 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-08-29 09:38:07,685.685 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:38:07,686.686 INFO    ] Checking for system updates...
[2026-08-29 09:38:07,707.707 INFO    ] 200
[2026-08-29 09:38:07,708.708 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:38:07,740.740 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:38:07,742.742 INFO    ] No update needed
[2026-08-29 09:38:07,743.743 INFO    ] Checking for camera pi updates...
[2026-08-29 09:38:07,762.762 INFO    ] 200
[2026-08-29 09:38:07,764.764 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:38:07,789.789 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:38:07,887.887 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:38:07,889.889 INFO    ] No camera update needed
[2026-08-29 09:38:07,890.890 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:38:07,891.891 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:38:07,894.894 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:38:07,897.897 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:38:09,936.936 INFO    ] ================================================
[2026-08-29 09:38:09,951.951 INFO    ] Launching Daemon at Sat Aug 29 09:38:09 IST 2026
[2026-08-29 09:38:09,962.962 INFO    ] ================================================
[2026-08-29 09:38:10,320.320 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:38:10
[2026-08-29 09:38:10,633.633 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:38:10,767.767 INFO    ] Initializing speech engine...
[2026-08-29 09:38:10,770.770 INFO    ] 2026-08-29 09:38:10
[2026-08-29 09:38:10,994.994 INFO    ] 2026-08-29 09:38:10
[2026-08-29 09:38:11,074.074 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:38:11,267.267 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:38:11,277.277 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:38:11,434.434 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:38:11,442.442 INFO    ] time= 29/08/2026 09:38:11
[2026-08-29 09:38:11,502.502 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:38:11,546.546 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:38:11,618.618 INFO    ] No existing commands found in stream
[2026-08-29 09:38:16,630.630 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:38:16,633.633 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 09:38:18,076.076 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:38:18,078.078 INFO    ] Checking for system updates...
[2026-08-29 09:38:18,100.100 INFO    ] 200
[2026-08-29 09:38:18,102.102 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:38:18,135.135 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:38:18,136.136 INFO    ] No update needed
[2026-08-29 09:38:18,138.138 INFO    ] Checking for camera pi updates...
[2026-08-29 09:38:18,160.160 INFO    ] 200
[2026-08-29 09:38:18,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:38:18,186.186 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:38:18,279.279 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:38:18,281.281 INFO    ] No camera update needed
[2026-08-29 09:38:18,282.282 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:38:18,284.284 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:38:18,287.287 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:38:18,290.290 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:38:20,329.329 INFO    ] ================================================
[2026-08-29 09:38:20,345.345 INFO    ] Launching Daemon at Sat Aug 29 09:38:20 IST 2026
[2026-08-29 09:38:20,356.356 INFO    ] ================================================
[2026-08-29 09:38:20,728.728 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:38:20
[2026-08-29 09:38:21,041.041 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:38:21,183.183 INFO    ] Initializing speech engine...
[2026-08-29 09:38:21,188.188 INFO    ] 2026-08-29 09:38:21
[2026-08-29 09:38:21,387.387 INFO    ] 2026-08-29 09:38:21
[2026-08-29 09:38:21,467.467 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:38:21,621.621 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:38:21,630.630 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:38:21,763.763 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:38:21,789.789 INFO    ] time= 29/08/2026 09:38:21
[2026-08-29 09:38:21,854.854 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:38:21,900.900 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:38:21,956.956 INFO    ] No existing commands found in stream
[2026-08-29 09:38:26,967.967 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:38:26,977.977 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-08-29 09:38:30,458.458 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:38:30,460.460 INFO    ] Checking for system updates...
[2026-08-29 09:38:30,496.496 INFO    ] 200
[2026-08-29 09:38:30,498.498 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:38:30,552.552 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:38:30,555.555 INFO    ] No update needed
[2026-08-29 09:38:30,557.557 INFO    ] Checking for camera pi updates...
[2026-08-29 09:38:30,590.590 INFO    ] 200
[2026-08-29 09:38:30,593.593 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:38:30,634.634 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:38:30,716.716 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:38:30,718.718 INFO    ] No camera update needed
[2026-08-29 09:38:30,720.720 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:38:30,723.723 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:38:30,728.728 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:38:30,733.733 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:38:32,767.767 INFO    ] ================================================
[2026-08-29 09:38:32,783.783 INFO    ] Launching Daemon at Sat Aug 29 09:38:32 IST 2026
[2026-08-29 09:38:32,794.794 INFO    ] ================================================
[2026-08-29 09:38:33,382.382 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:38:33
[2026-08-29 09:38:33,999.999 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:38:34,284.284 INFO    ] Initializing speech engine...
[2026-08-29 09:38:34,294.294 INFO    ] 2026-08-29 09:38:34
[2026-08-29 09:38:34,558.558 INFO    ] 2026-08-29 09:38:34
[2026-08-29 09:38:34,612.612 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:38:34,839.839 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:38:34,848.848 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:38:34,988.988 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:38:35,027.027 INFO    ] time= 29/08/2026 09:38:34
[2026-08-29 09:38:35,081.081 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:38:35,122.122 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:38:35,209.209 INFO    ] No existing commands found in stream
[2026-08-29 09:38:40,235.235 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:38:40,238.238 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-08-29 09:38:43,807.807 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:38:43,808.808 INFO    ] Checking for system updates...
[2026-08-29 09:38:43,828.828 INFO    ] 200
[2026-08-29 09:38:43,830.830 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:38:43,862.862 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:38:43,864.864 INFO    ] No update needed
[2026-08-29 09:38:43,865.865 INFO    ] Checking for camera pi updates...
[2026-08-29 09:38:43,884.884 INFO    ] 200
[2026-08-29 09:38:43,886.886 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:38:43,910.910 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:38:43,990.990 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:38:43,992.992 INFO    ] No camera update needed
[2026-08-29 09:38:43,993.993 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:38:43,994.994 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:38:43,997.997 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:38:44,000.000 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:38:46,039.039 INFO    ] ================================================
[2026-08-29 09:38:46,054.054 INFO    ] Launching Daemon at Sat Aug 29 09:38:46 IST 2026
[2026-08-29 09:38:46,065.065 INFO    ] ================================================
[2026-08-29 09:38:46,418.418 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:38:46
[2026-08-29 09:38:46,995.995 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:38:47,271.271 INFO    ] Initializing speech engine...
[2026-08-29 09:38:47,279.279 INFO    ] 2026-08-29 09:38:47
[2026-08-29 09:38:47,538.538 INFO    ] 2026-08-29 09:38:47
[2026-08-29 09:38:47,592.592 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:38:47,812.812 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:38:47,821.821 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:38:47,954.954 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:38:47,996.996 INFO    ] time= 29/08/2026 09:38:47
[2026-08-29 09:38:48,050.050 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:38:48,087.087 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:38:48,139.139 INFO    ] No existing commands found in stream
[2026-08-29 09:38:53,151.151 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:38:53,154.154 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-08-29 09:38:57,402.402 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:38:57,403.403 INFO    ] Checking for system updates...
[2026-08-29 09:38:57,424.424 INFO    ] 200
[2026-08-29 09:38:57,425.425 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:38:57,455.455 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:38:57,456.456 INFO    ] No update needed
[2026-08-29 09:38:57,458.458 INFO    ] Checking for camera pi updates...
[2026-08-29 09:38:57,478.478 INFO    ] 200
[2026-08-29 09:38:57,480.480 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:38:57,503.503 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:38:57,607.607 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:38:57,608.608 INFO    ] No camera update needed
[2026-08-29 09:38:57,614.614 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:38:57,615.615 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:38:57,619.619 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:38:57,622.622 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:38:59,662.662 INFO    ] ================================================
[2026-08-29 09:38:59,678.678 INFO    ] Launching Daemon at Sat Aug 29 09:38:59 IST 2026
[2026-08-29 09:38:59,688.688 INFO    ] ================================================
[2026-08-29 09:39:00,363.363 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:39:00
[2026-08-29 09:39:00,907.907 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:39:01,060.060 INFO    ] Initializing speech engine...
[2026-08-29 09:39:01,066.066 INFO    ] 2026-08-29 09:39:01
[2026-08-29 09:39:01,302.302 INFO    ] 2026-08-29 09:39:01
[2026-08-29 09:39:01,345.345 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:39:01,508.508 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:39:01,558.558 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:39:01,675.675 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:39:01,679.679 INFO    ] time= 29/08/2026 09:39:01
[2026-08-29 09:39:01,683.683 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:39:01,686.686 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:39:01,742.742 INFO    ] No existing commands found in stream
[2026-08-29 09:39:06,752.752 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:39:06,755.755 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-08-29 09:39:07,766.766 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:39:07,768.768 INFO    ] Checking for system updates...
[2026-08-29 09:39:07,789.789 INFO    ] 200
[2026-08-29 09:39:07,790.790 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:39:07,820.820 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:39:07,821.821 INFO    ] No update needed
[2026-08-29 09:39:07,822.822 INFO    ] Checking for camera pi updates...
[2026-08-29 09:39:07,844.844 INFO    ] 200
[2026-08-29 09:39:07,845.845 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:39:07,870.870 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:39:07,961.961 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:39:07,963.963 INFO    ] No camera update needed
[2026-08-29 09:39:07,964.964 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:39:07,965.965 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:39:07,968.968 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:39:07,971.971 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:39:10,008.008 INFO    ] ================================================
[2026-08-29 09:39:10,024.024 INFO    ] Launching Daemon at Sat Aug 29 09:39:10 IST 2026
[2026-08-29 09:39:10,034.034 INFO    ] ================================================
[2026-08-29 09:39:10,405.405 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:39:10
[2026-08-29 09:39:10,721.721 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:39:10,857.857 INFO    ] Initializing speech engine...
[2026-08-29 09:39:10,869.869 INFO    ] 2026-08-29 09:39:10
[2026-08-29 09:39:11,106.106 INFO    ] 2026-08-29 09:39:11
[2026-08-29 09:39:11,155.155 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:39:11,326.326 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:39:11,335.335 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:39:11,495.495 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:39:11,537.537 INFO    ] time= 29/08/2026 09:39:11
[2026-08-29 09:39:11,554.554 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:39:11,562.562 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:39:11,675.675 INFO    ] No existing commands found in stream
[2026-08-29 09:39:16,700.700 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:39:16,703.703 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-08-29 09:39:20,850.850 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:39:20,851.851 INFO    ] Checking for system updates...
[2026-08-29 09:39:20,873.873 INFO    ] 200
[2026-08-29 09:39:20,875.875 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:39:20,905.905 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:39:20,906.906 INFO    ] No update needed
[2026-08-29 09:39:20,907.907 INFO    ] Checking for camera pi updates...
[2026-08-29 09:39:20,927.927 INFO    ] 200
[2026-08-29 09:39:20,928.928 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:39:20,953.953 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:39:21,045.045 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:39:21,047.047 INFO    ] No camera update needed
[2026-08-29 09:39:21,050.050 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:39:21,052.052 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:39:21,058.058 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:39:21,063.063 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:39:23,104.104 INFO    ] ================================================
[2026-08-29 09:39:23,120.120 INFO    ] Launching Daemon at Sat Aug 29 09:39:23 IST 2026
[2026-08-29 09:39:23,130.130 INFO    ] ================================================
[2026-08-29 09:39:23,718.718 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:39:23
[2026-08-29 09:39:24,201.201 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:39:24,336.336 INFO    ] Initializing speech engine...
[2026-08-29 09:39:24,341.341 INFO    ] 2026-08-29 09:39:24
[2026-08-29 09:39:24,542.542 INFO    ] 2026-08-29 09:39:24
[2026-08-29 09:39:24,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:39:24,827.827 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:39:24,836.836 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:39:24,969.969 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:39:24,996.996 INFO    ] time= 29/08/2026 09:39:24
[2026-08-29 09:39:25,055.055 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:39:25,101.101 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:39:25,155.155 INFO    ] No existing commands found in stream
[2026-08-29 09:39:30,167.167 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:39:30,170.170 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-08-29 09:39:34,143.143 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:39:34,146.146 INFO    ] Checking for system updates...
[2026-08-29 09:39:34,182.182 INFO    ] 200
[2026-08-29 09:39:34,184.184 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:39:34,245.245 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:39:34,248.248 INFO    ] No update needed
[2026-08-29 09:39:34,250.250 INFO    ] Checking for camera pi updates...
[2026-08-29 09:39:34,285.285 INFO    ] 200
[2026-08-29 09:39:34,288.288 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:39:34,330.330 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:39:34,411.411 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:39:34,414.414 INFO    ] No camera update needed
[2026-08-29 09:39:34,416.416 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:39:34,419.419 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:39:34,426.426 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:39:34,432.432 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:39:36,474.474 INFO    ] ================================================
[2026-08-29 09:39:36,490.490 INFO    ] Launching Daemon at Sat Aug 29 09:39:36 IST 2026
[2026-08-29 09:39:36,501.501 INFO    ] ================================================
[2026-08-29 09:39:36,850.850 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:39:36
[2026-08-29 09:39:37,167.167 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:39:37,349.349 INFO    ] Initializing speech engine...
[2026-08-29 09:39:37,359.359 INFO    ] 2026-08-29 09:39:37
[2026-08-29 09:39:37,608.608 INFO    ] 2026-08-29 09:39:37
[2026-08-29 09:39:37,675.675 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:39:37,833.833 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:39:37,848.848 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:39:37,976.976 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:39:37,982.982 INFO    ] time= 29/08/2026 09:39:37
[2026-08-29 09:39:38,005.005 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:39:38,027.027 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:39:38,113.113 INFO    ] No existing commands found in stream
[2026-08-29 09:39:43,125.125 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:39:43,128.128 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-08-29 09:39:44,390.390 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:39:44,393.393 INFO    ] Checking for system updates...
[2026-08-29 09:39:44,429.429 INFO    ] 200
[2026-08-29 09:39:44,432.432 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:39:44,494.494 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:39:44,497.497 INFO    ] No update needed
[2026-08-29 09:39:44,499.499 INFO    ] Checking for camera pi updates...
[2026-08-29 09:39:44,538.538 INFO    ] 200
[2026-08-29 09:39:44,540.540 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:39:44,588.588 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:39:44,768.768 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:39:44,771.771 INFO    ] No camera update needed
[2026-08-29 09:39:44,773.773 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:39:44,776.776 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:39:44,781.781 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:39:44,786.786 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:39:46,828.828 INFO    ] ================================================
[2026-08-29 09:39:46,843.843 INFO    ] Launching Daemon at Sat Aug 29 09:39:46 IST 2026
[2026-08-29 09:39:46,857.857 INFO    ] ================================================
[2026-08-29 09:39:47,210.210 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:39:47
[2026-08-29 09:39:47,522.522 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:39:47,660.660 INFO    ] Initializing speech engine...
[2026-08-29 09:39:47,670.670 INFO    ] 2026-08-29 09:39:47
[2026-08-29 09:39:47,891.891 INFO    ] 2026-08-29 09:39:47
[2026-08-29 09:39:47,945.945 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:39:48,113.113 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:39:48,120.120 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:39:48,288.288 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:39:48,324.324 INFO    ] time= 29/08/2026 09:39:48
[2026-08-29 09:39:48,330.330 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:39:48,348.348 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:39:48,500.500 INFO    ] No existing commands found in stream
[2026-08-29 09:39:53,527.527 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:39:53,530.530 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-08-29 09:39:57,094.094 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:39:57,095.095 INFO    ] Checking for system updates...
[2026-08-29 09:39:57,115.115 INFO    ] 200
[2026-08-29 09:39:57,117.117 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:39:57,149.149 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:39:57,151.151 INFO    ] No update needed
[2026-08-29 09:39:57,152.152 INFO    ] Checking for camera pi updates...
[2026-08-29 09:39:57,172.172 INFO    ] 200
[2026-08-29 09:39:57,174.174 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:39:57,196.196 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:39:57,277.277 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:39:57,279.279 INFO    ] No camera update needed
[2026-08-29 09:39:57,280.280 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:39:57,281.281 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:39:57,284.284 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:39:57,287.287 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:39:59,318.318 INFO    ] ================================================
[2026-08-29 09:39:59,326.326 INFO    ] Launching Daemon at Sat Aug 29 09:39:59 IST 2026
[2026-08-29 09:39:59,332.332 INFO    ] ================================================
[2026-08-29 09:39:59,907.907 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:39:59
[2026-08-29 09:40:00,507.507 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:40:00,812.812 INFO    ] Initializing speech engine...
[2026-08-29 09:40:00,821.821 INFO    ] 2026-08-29 09:40:00
[2026-08-29 09:40:01,100.100 INFO    ] 2026-08-29 09:40:01
[2026-08-29 09:40:01,152.152 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:40:01,372.372 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:40:01,409.409 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:40:01,674.674 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:40:01,677.677 INFO    ] time= 29/08/2026 09:40:01
[2026-08-29 09:40:01,680.680 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:40:01,740.740 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:40:01,810.810 INFO    ] No existing commands found in stream
[2026-08-29 09:40:06,902.902 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:40:06,904.904 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-08-29 09:40:10,698.698 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:40:10,700.700 INFO    ] Checking for system updates...
[2026-08-29 09:40:10,721.721 INFO    ] 200
[2026-08-29 09:40:10,723.723 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:40:10,753.753 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:40:10,754.754 INFO    ] No update needed
[2026-08-29 09:40:10,756.756 INFO    ] Checking for camera pi updates...
[2026-08-29 09:40:10,776.776 INFO    ] 200
[2026-08-29 09:40:10,777.777 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:40:10,800.800 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:40:10,907.907 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:40:10,908.908 INFO    ] No camera update needed
[2026-08-29 09:40:10,910.910 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:40:10,911.911 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:40:10,914.914 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:40:10,916.916 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:40:12,955.955 INFO    ] ================================================
[2026-08-29 09:40:12,970.970 INFO    ] Launching Daemon at Sat Aug 29 09:40:12 IST 2026
[2026-08-29 09:40:12,981.981 INFO    ] ================================================
[2026-08-29 09:40:13,335.335 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:40:13
[2026-08-29 09:40:13,648.648 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:40:13,779.779 INFO    ] Initializing speech engine...
[2026-08-29 09:40:13,784.784 INFO    ] 2026-08-29 09:40:13
[2026-08-29 09:40:14,002.002 INFO    ] 2026-08-29 09:40:13
[2026-08-29 09:40:14,031.031 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:40:14,154.154 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:40:14,217.217 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:40:14,389.389 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:40:14,413.413 INFO    ] time= 29/08/2026 09:40:14
[2026-08-29 09:40:14,466.466 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:40:14,510.510 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:40:14,613.613 INFO    ] No existing commands found in stream
[2026-08-29 09:40:19,628.628 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:40:19,631.631 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 09:40:21,653.653 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:40:21,654.654 INFO    ] Checking for system updates...
[2026-08-29 09:40:21,674.674 INFO    ] 200
[2026-08-29 09:40:21,676.676 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:40:21,708.708 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:40:21,709.709 INFO    ] No update needed
[2026-08-29 09:40:21,711.711 INFO    ] Checking for camera pi updates...
[2026-08-29 09:40:21,731.731 INFO    ] 200
[2026-08-29 09:40:21,733.733 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:40:21,756.756 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:40:21,862.862 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:40:21,864.864 INFO    ] No camera update needed
[2026-08-29 09:40:21,867.867 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:40:21,869.869 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:40:21,874.874 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:40:21,879.879 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:40:23,921.921 INFO    ] ================================================
[2026-08-29 09:40:23,937.937 INFO    ] Launching Daemon at Sat Aug 29 09:40:23 IST 2026
[2026-08-29 09:40:23,948.948 INFO    ] ================================================
[2026-08-29 09:40:24,531.531 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:40:24
[2026-08-29 09:40:25,017.017 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:40:25,161.161 INFO    ] Initializing speech engine...
[2026-08-29 09:40:25,166.166 INFO    ] 2026-08-29 09:40:25
[2026-08-29 09:40:25,371.371 INFO    ] 2026-08-29 09:40:25
[2026-08-29 09:40:25,448.448 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:40:25,602.602 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:40:25,608.608 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:40:25,740.740 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:40:25,790.790 INFO    ] time= 29/08/2026 09:40:25
[2026-08-29 09:40:25,849.849 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:40:25,871.871 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:40:26,000.000 INFO    ] No existing commands found in stream
[2026-08-29 09:40:31,028.028 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:40:31,031.031 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-08-29 09:40:34,988.988 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:40:34,989.989 INFO    ] Checking for system updates...
[2026-08-29 09:40:35,011.011 INFO    ] 200
[2026-08-29 09:40:35,012.012 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:40:35,042.042 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:40:35,044.044 INFO    ] No update needed
[2026-08-29 09:40:35,045.045 INFO    ] Checking for camera pi updates...
[2026-08-29 09:40:35,064.064 INFO    ] 200
[2026-08-29 09:40:35,066.066 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:40:35,088.088 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:40:35,166.166 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:40:35,167.167 INFO    ] No camera update needed
[2026-08-29 09:40:35,169.169 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:40:35,170.170 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:40:35,173.173 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:40:35,176.176 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:40:37,216.216 INFO    ] ================================================
[2026-08-29 09:40:37,231.231 INFO    ] Launching Daemon at Sat Aug 29 09:40:37 IST 2026
[2026-08-29 09:40:37,242.242 INFO    ] ================================================
[2026-08-29 09:40:37,745.745 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:40:37
[2026-08-29 09:40:38,329.329 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:40:38,600.600 INFO    ] Initializing speech engine...
[2026-08-29 09:40:38,608.608 INFO    ] 2026-08-29 09:40:38
[2026-08-29 09:40:38,859.859 INFO    ] 2026-08-29 09:40:38
[2026-08-29 09:40:38,893.893 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:40:39,070.070 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:40:39,082.082 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:40:39,227.227 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:40:39,236.236 INFO    ] time= 29/08/2026 09:40:39
[2026-08-29 09:40:39,242.242 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:40:39,247.247 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:40:39,386.386 INFO    ] No existing commands found in stream
[2026-08-29 09:40:44,405.405 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:40:44,408.408 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-08-29 09:40:47,672.672 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:40:47,674.674 INFO    ] Checking for system updates...
[2026-08-29 09:40:47,696.696 INFO    ] 200
[2026-08-29 09:40:47,697.697 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:40:47,729.729 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:40:47,730.730 INFO    ] No update needed
[2026-08-29 09:40:47,731.731 INFO    ] Checking for camera pi updates...
[2026-08-29 09:40:47,751.751 INFO    ] 200
[2026-08-29 09:40:47,752.752 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:40:47,779.779 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:40:47,872.872 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:40:47,873.873 INFO    ] No camera update needed
[2026-08-29 09:40:47,874.874 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:40:47,876.876 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:40:47,879.879 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:40:47,881.881 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:40:49,922.922 INFO    ] ================================================
[2026-08-29 09:40:49,937.937 INFO    ] Launching Daemon at Sat Aug 29 09:40:49 IST 2026
[2026-08-29 09:40:49,947.947 INFO    ] ================================================
[2026-08-29 09:40:50,294.294 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:40:50
[2026-08-29 09:40:50,633.633 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:40:50,785.785 INFO    ] Initializing speech engine...
[2026-08-29 09:40:50,790.790 INFO    ] 2026-08-29 09:40:50
[2026-08-29 09:40:51,001.001 INFO    ] 2026-08-29 09:40:50
[2026-08-29 09:40:51,031.031 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:40:51,156.156 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:40:51,194.194 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:40:51,362.362 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:40:51,429.429 INFO    ] time= 29/08/2026 09:40:51
[2026-08-29 09:40:51,454.454 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:40:51,461.461 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:40:51,528.528 INFO    ] No existing commands found in stream
[2026-08-29 09:40:56,539.539 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:40:56,543.543 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-08-29 09:41:00,906.906 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:41:00,908.908 INFO    ] Checking for system updates...
[2026-08-29 09:41:00,928.928 INFO    ] 200
[2026-08-29 09:41:00,929.929 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:41:00,959.959 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:41:00,961.961 INFO    ] No update needed
[2026-08-29 09:41:00,962.962 INFO    ] Checking for camera pi updates...
[2026-08-29 09:41:00,982.982 INFO    ] 200
[2026-08-29 09:41:00,983.983 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:41:01,008.008 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:41:01,082.082 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:41:01,083.083 INFO    ] No camera update needed
[2026-08-29 09:41:01,085.085 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:41:01,086.086 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:41:01,089.089 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:41:01,092.092 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:41:03,132.132 INFO    ] ================================================
[2026-08-29 09:41:03,148.148 INFO    ] Launching Daemon at Sat Aug 29 09:41:03 IST 2026
[2026-08-29 09:41:03,159.159 INFO    ] ================================================
[2026-08-29 09:41:03,737.737 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:41:03
[2026-08-29 09:41:04,325.325 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:41:04,580.580 INFO    ] Initializing speech engine...
[2026-08-29 09:41:04,588.588 INFO    ] 2026-08-29 09:41:04
[2026-08-29 09:41:04,884.884 INFO    ] 2026-08-29 09:41:04
[2026-08-29 09:41:04,910.910 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:41:05,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:41:05,073.073 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:41:05,220.220 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:41:05,224.224 INFO    ] time= 29/08/2026 09:41:05
[2026-08-29 09:41:05,233.233 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:41:05,250.250 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:41:05,329.329 INFO    ] No existing commands found in stream
[2026-08-29 09:41:10,363.363 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:41:10,366.366 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-08-29 09:41:12,774.774 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:41:12,776.776 INFO    ] Checking for system updates...
[2026-08-29 09:41:12,796.796 INFO    ] 200
[2026-08-29 09:41:12,797.797 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:41:12,827.827 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:41:12,828.828 INFO    ] No update needed
[2026-08-29 09:41:12,829.829 INFO    ] Checking for camera pi updates...
[2026-08-29 09:41:12,848.848 INFO    ] 200
[2026-08-29 09:41:12,850.850 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:41:12,874.874 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:41:12,951.951 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:41:12,952.952 INFO    ] No camera update needed
[2026-08-29 09:41:12,953.953 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:41:12,954.954 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:41:12,957.957 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:41:12,960.960 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:41:15,998.998 INFO    ] ================================================
[2026-08-29 09:41:15,013.013 INFO    ] Launching Daemon at Sat Aug 29 09:41:15 IST 2026
[2026-08-29 09:41:15,024.024 INFO    ] ================================================
[2026-08-29 09:41:15,388.388 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:41:15
[2026-08-29 09:41:15,701.701 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:41:15,833.833 INFO    ] Initializing speech engine...
[2026-08-29 09:41:15,836.836 INFO    ] 2026-08-29 09:41:15
[2026-08-29 09:41:16,039.039 INFO    ] 2026-08-29 09:41:16
[2026-08-29 09:41:16,075.075 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:41:16,277.277 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:41:16,333.333 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:41:16,480.480 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:41:16,525.525 INFO    ] time= 29/08/2026 09:41:16
[2026-08-29 09:41:16,584.584 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:41:16,616.616 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:41:16,749.749 INFO    ] No existing commands found in stream
[2026-08-29 09:41:21,772.772 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:41:21,775.775 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-08-29 09:41:25,144.144 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:41:25,145.145 INFO    ] Checking for system updates...
[2026-08-29 09:41:25,166.166 INFO    ] 200
[2026-08-29 09:41:25,167.167 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:41:25,198.198 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:41:25,199.199 INFO    ] No update needed
[2026-08-29 09:41:25,201.201 INFO    ] Checking for camera pi updates...
[2026-08-29 09:41:25,221.221 INFO    ] 200
[2026-08-29 09:41:25,223.223 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:41:25,246.246 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:41:25,329.329 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:41:25,332.332 INFO    ] No camera update needed
[2026-08-29 09:41:25,335.335 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:41:25,337.337 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:41:25,343.343 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:41:25,349.349 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:41:27,391.391 INFO    ] ================================================
[2026-08-29 09:41:27,407.407 INFO    ] Launching Daemon at Sat Aug 29 09:41:27 IST 2026
[2026-08-29 09:41:27,418.418 INFO    ] ================================================
[2026-08-29 09:41:27,997.997 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:41:27
[2026-08-29 09:41:28,498.498 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:41:28,765.765 INFO    ] Initializing speech engine...
[2026-08-29 09:41:28,776.776 INFO    ] 2026-08-29 09:41:28
[2026-08-29 09:41:29,028.028 INFO    ] 2026-08-29 09:41:29
[2026-08-29 09:41:29,070.070 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:41:29,240.240 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:41:29,252.252 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:41:29,396.396 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:41:29,405.405 INFO    ] time= 29/08/2026 09:41:29
[2026-08-29 09:41:29,413.413 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:41:29,443.443 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:41:29,570.570 INFO    ] No existing commands found in stream
[2026-08-29 09:41:34,600.600 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:41:34,603.603 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-08-29 09:41:38,833.833 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:41:38,834.834 INFO    ] Checking for system updates...
[2026-08-29 09:41:38,856.856 INFO    ] 200
[2026-08-29 09:41:38,858.858 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:41:38,888.888 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:41:38,889.889 INFO    ] No update needed
[2026-08-29 09:41:38,890.890 INFO    ] Checking for camera pi updates...
[2026-08-29 09:41:38,911.911 INFO    ] 200
[2026-08-29 09:41:38,912.912 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:41:38,935.935 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:41:39,022.022 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:41:39,024.024 INFO    ] No camera update needed
[2026-08-29 09:41:39,025.025 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:41:39,026.026 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:41:39,029.029 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:41:39,032.032 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:41:41,071.071 INFO    ] ================================================
[2026-08-29 09:41:41,087.087 INFO    ] Launching Daemon at Sat Aug 29 09:41:41 IST 2026
[2026-08-29 09:41:41,098.098 INFO    ] ================================================
[2026-08-29 09:41:41,473.473 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:41:41
[2026-08-29 09:41:41,788.788 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:41:41,927.927 INFO    ] Initializing speech engine...
[2026-08-29 09:41:41,937.937 INFO    ] 2026-08-29 09:41:41
[2026-08-29 09:41:42,148.148 INFO    ] 2026-08-29 09:41:42
[2026-08-29 09:41:42,225.225 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:41:42,378.378 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:41:42,387.387 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:41:42,522.522 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:41:42,587.587 INFO    ] time= 29/08/2026 09:41:42
[2026-08-29 09:41:42,646.646 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:41:42,655.655 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:41:42,780.780 INFO    ] No existing commands found in stream
[2026-08-29 09:41:47,808.808 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:41:47,810.810 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-08-29 09:41:51,346.346 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:41:51,347.347 INFO    ] Checking for system updates...
[2026-08-29 09:41:51,368.368 INFO    ] 200
[2026-08-29 09:41:51,369.369 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:41:51,398.398 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:41:51,400.400 INFO    ] No update needed
[2026-08-29 09:41:51,401.401 INFO    ] Checking for camera pi updates...
[2026-08-29 09:41:51,420.420 INFO    ] 200
[2026-08-29 09:41:51,422.422 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:41:51,445.445 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:41:51,619.619 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:41:51,621.621 INFO    ] No camera update needed
[2026-08-29 09:41:51,622.622 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:41:51,623.623 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:41:51,626.626 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:41:51,629.629 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:41:53,667.667 INFO    ] ================================================
[2026-08-29 09:41:53,683.683 INFO    ] Launching Daemon at Sat Aug 29 09:41:53 IST 2026
[2026-08-29 09:41:53,694.694 INFO    ] ================================================
[2026-08-29 09:41:54,059.059 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:41:54
[2026-08-29 09:41:54,403.403 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:41:54,558.558 INFO    ] Initializing speech engine...
[2026-08-29 09:41:54,566.566 INFO    ] 2026-08-29 09:41:54
[2026-08-29 09:41:54,768.768 INFO    ] 2026-08-29 09:41:54
[2026-08-29 09:41:54,797.797 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:41:54,924.924 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:41:54,981.981 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:41:55,118.118 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:41:55,172.172 INFO    ] time= 29/08/2026 09:41:55
[2026-08-29 09:41:55,201.201 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:41:55,216.216 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:41:55,284.284 INFO    ] No existing commands found in stream
[2026-08-29 09:42:00,299.299 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:42:00,302.302 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-08-29 09:42:01,680.680 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:42:01,684.684 INFO    ] Checking for system updates...
[2026-08-29 09:42:01,738.738 INFO    ] 200
[2026-08-29 09:42:01,741.741 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:42:01,808.808 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:42:01,811.811 INFO    ] No update needed
[2026-08-29 09:42:01,814.814 INFO    ] Checking for camera pi updates...
[2026-08-29 09:42:01,853.853 INFO    ] 200
[2026-08-29 09:42:01,855.855 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:42:01,903.903 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:42:01,994.994 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:42:01,997.997 INFO    ] No camera update needed
[2026-08-29 09:42:02,001.001 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:42:02,004.004 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:42:02,013.013 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:42:02,019.019 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:42:04,061.061 INFO    ] ================================================
[2026-08-29 09:42:04,077.077 INFO    ] Launching Daemon at Sat Aug 29 09:42:04 IST 2026
[2026-08-29 09:42:04,088.088 INFO    ] ================================================
[2026-08-29 09:42:04,604.604 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:42:04
[2026-08-29 09:42:04,916.916 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:42:05,058.058 INFO    ] Initializing speech engine...
[2026-08-29 09:42:05,064.064 INFO    ] 2026-08-29 09:42:05
[2026-08-29 09:42:05,252.252 INFO    ] 2026-08-29 09:42:05
[2026-08-29 09:42:05,309.309 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:42:05,453.453 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:42:05,466.466 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:42:05,611.611 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:42:05,620.620 INFO    ] time= 29/08/2026 09:42:05
[2026-08-29 09:42:05,626.626 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:42:05,672.672 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:42:05,792.792 INFO    ] No existing commands found in stream
[2026-08-29 09:42:10,817.817 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:42:10,819.819 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 09:42:14,422.422 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:42:14,423.423 INFO    ] Checking for system updates...
[2026-08-29 09:42:14,444.444 INFO    ] 200
[2026-08-29 09:42:14,445.445 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:42:14,479.479 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:42:14,481.481 INFO    ] No update needed
[2026-08-29 09:42:14,482.482 INFO    ] Checking for camera pi updates...
[2026-08-29 09:42:14,501.501 INFO    ] 200
[2026-08-29 09:42:14,503.503 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:42:14,528.528 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:42:14,607.607 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:42:14,609.609 INFO    ] No camera update needed
[2026-08-29 09:42:14,610.610 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:42:14,611.611 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:42:14,614.614 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:42:14,617.617 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:42:16,656.656 INFO    ] ================================================
[2026-08-29 09:42:16,671.671 INFO    ] Launching Daemon at Sat Aug 29 09:42:16 IST 2026
[2026-08-29 09:42:16,682.682 INFO    ] ================================================
[2026-08-29 09:42:17,042.042 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:42:17
[2026-08-29 09:42:17,425.425 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:42:17,745.745 INFO    ] Initializing speech engine...
[2026-08-29 09:42:17,757.757 INFO    ] 2026-08-29 09:42:17
[2026-08-29 09:42:18,076.076 INFO    ] 2026-08-29 09:42:18
[2026-08-29 09:42:18,165.165 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:42:18,325.325 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:42:18,333.333 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:42:18,470.470 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:42:18,542.542 INFO    ] time= 29/08/2026 09:42:18
[2026-08-29 09:42:18,592.592 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:42:18,610.610 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:42:18,734.734 INFO    ] No existing commands found in stream
[2026-08-29 09:42:23,760.760 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:42:23,764.764 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-08-29 09:42:26,586.586 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:42:26,588.588 INFO    ] Checking for system updates...
[2026-08-29 09:42:26,609.609 INFO    ] 200
[2026-08-29 09:42:26,610.610 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:42:26,640.640 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:42:26,642.642 INFO    ] No update needed
[2026-08-29 09:42:26,644.644 INFO    ] Checking for camera pi updates...
[2026-08-29 09:42:26,663.663 INFO    ] 200
[2026-08-29 09:42:26,665.665 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:42:26,688.688 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:42:26,785.785 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:42:26,787.787 INFO    ] No camera update needed
[2026-08-29 09:42:26,788.788 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:42:26,790.790 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:42:26,793.793 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:42:26,796.796 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:42:28,838.838 INFO    ] ================================================
[2026-08-29 09:42:28,856.856 INFO    ] Launching Daemon at Sat Aug 29 09:42:28 IST 2026
[2026-08-29 09:42:28,868.868 INFO    ] ================================================
[2026-08-29 09:42:29,230.230 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:42:29
[2026-08-29 09:42:29,809.809 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:42:30,091.091 INFO    ] Initializing speech engine...
[2026-08-29 09:42:30,100.100 INFO    ] 2026-08-29 09:42:30
[2026-08-29 09:42:30,359.359 INFO    ] 2026-08-29 09:42:30
[2026-08-29 09:42:30,414.414 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:42:30,565.565 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:42:30,584.584 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:42:30,765.765 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:42:30,784.784 INFO    ] time= 29/08/2026 09:42:30
[2026-08-29 09:42:30,823.823 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:42:30,883.883 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:42:30,968.968 INFO    ] No existing commands found in stream
[2026-08-29 09:42:35,980.980 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:42:35,983.983 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-08-29 09:42:39,582.582 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:42:39,583.583 INFO    ] Checking for system updates...
[2026-08-29 09:42:39,604.604 INFO    ] 200
[2026-08-29 09:42:39,605.605 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:42:39,637.637 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:42:39,639.639 INFO    ] No update needed
[2026-08-29 09:42:39,640.640 INFO    ] Checking for camera pi updates...
[2026-08-29 09:42:39,673.673 INFO    ] 200
[2026-08-29 09:42:39,675.675 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:42:39,715.715 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:42:39,808.808 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:42:39,811.811 INFO    ] No camera update needed
[2026-08-29 09:42:39,813.813 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:42:39,816.816 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:42:39,821.821 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:42:39,826.826 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:42:41,866.866 INFO    ] ================================================
[2026-08-29 09:42:41,882.882 INFO    ] Launching Daemon at Sat Aug 29 09:42:41 IST 2026
[2026-08-29 09:42:41,893.893 INFO    ] ================================================
[2026-08-29 09:42:42,474.474 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:42:42
[2026-08-29 09:42:42,984.984 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:42:43,247.247 INFO    ] Initializing speech engine...
[2026-08-29 09:42:43,257.257 INFO    ] 2026-08-29 09:42:43
[2026-08-29 09:42:43,557.557 INFO    ] 2026-08-29 09:42:43
[2026-08-29 09:42:43,583.583 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:42:43,767.767 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:42:43,785.785 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:42:43,941.941 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:42:43,997.997 INFO    ] time= 29/08/2026 09:42:43
[2026-08-29 09:42:44,013.013 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:42:44,060.060 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:42:44,159.159 INFO    ] No existing commands found in stream
[2026-08-29 09:42:49,171.171 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:42:49,174.174 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-08-29 09:42:51,236.236 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:42:51,237.237 INFO    ] Checking for system updates...
[2026-08-29 09:42:51,259.259 INFO    ] 200
[2026-08-29 09:42:51,260.260 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:42:51,291.291 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:42:51,292.292 INFO    ] No update needed
[2026-08-29 09:42:51,294.294 INFO    ] Checking for camera pi updates...
[2026-08-29 09:42:51,313.313 INFO    ] 200
[2026-08-29 09:42:51,314.314 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:42:51,337.337 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:42:51,414.414 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:42:51,415.415 INFO    ] No camera update needed
[2026-08-29 09:42:51,417.417 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:42:51,418.418 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:42:51,421.421 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:42:51,424.424 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:42:53,462.462 INFO    ] ================================================
[2026-08-29 09:42:53,478.478 INFO    ] Launching Daemon at Sat Aug 29 09:42:53 IST 2026
[2026-08-29 09:42:53,488.488 INFO    ] ================================================
[2026-08-29 09:42:53,870.870 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:42:53
[2026-08-29 09:42:54,215.215 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:42:54,368.368 INFO    ] Initializing speech engine...
[2026-08-29 09:42:54,374.374 INFO    ] 2026-08-29 09:42:54
[2026-08-29 09:42:54,587.587 INFO    ] 2026-08-29 09:42:54
[2026-08-29 09:42:54,617.617 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:42:54,760.760 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:42:54,820.820 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:42:54,988.988 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:42:55,049.049 INFO    ] time= 29/08/2026 09:42:55
[2026-08-29 09:42:55,093.093 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:42:55,152.152 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:42:55,272.272 INFO    ] No existing commands found in stream
[2026-08-29 09:43:00,297.297 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:43:00,311.311 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-08-29 09:43:02,839.839 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:43:02,843.843 INFO    ] Checking for system updates...
[2026-08-29 09:43:02,881.881 INFO    ] 200
[2026-08-29 09:43:02,884.884 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:43:02,958.958 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:43:02,960.960 INFO    ] No update needed
[2026-08-29 09:43:02,963.963 INFO    ] Checking for camera pi updates...
[2026-08-29 09:43:02,997.997 INFO    ] 200
[2026-08-29 09:43:02,999.999 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:43:03,045.045 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:43:03,144.144 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:43:03,146.146 INFO    ] No camera update needed
[2026-08-29 09:43:03,149.149 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:43:03,151.151 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:43:03,156.156 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:43:03,161.161 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:43:05,201.201 INFO    ] ================================================
[2026-08-29 09:43:05,216.216 INFO    ] Launching Daemon at Sat Aug 29 09:43:05 IST 2026
[2026-08-29 09:43:05,227.227 INFO    ] ================================================
[2026-08-29 09:43:05,554.554 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:43:05
[2026-08-29 09:43:05,867.867 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:43:06,056.056 INFO    ] Initializing speech engine...
[2026-08-29 09:43:06,069.069 INFO    ] 2026-08-29 09:43:06
[2026-08-29 09:43:06,360.360 INFO    ] 2026-08-29 09:43:06
[2026-08-29 09:43:06,399.399 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:43:06,597.597 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:43:06,603.603 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:43:06,714.714 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:43:06,719.719 INFO    ] time= 29/08/2026 09:43:06
[2026-08-29 09:43:06,742.742 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:43:06,750.750 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:43:06,822.822 INFO    ] No existing commands found in stream
[2026-08-29 09:43:11,853.853 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:43:11,856.856 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-08-29 09:43:13,269.269 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:43:13,270.270 INFO    ] Checking for system updates...
[2026-08-29 09:43:13,291.291 INFO    ] 200
[2026-08-29 09:43:13,292.292 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:43:13,322.322 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:43:13,323.323 INFO    ] No update needed
[2026-08-29 09:43:13,325.325 INFO    ] Checking for camera pi updates...
[2026-08-29 09:43:13,344.344 INFO    ] 200
[2026-08-29 09:43:13,345.345 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:43:13,370.370 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:43:13,464.464 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:43:13,465.465 INFO    ] No camera update needed
[2026-08-29 09:43:13,467.467 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:43:13,468.468 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:43:13,471.471 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:43:13,473.473 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:43:15,511.511 INFO    ] ================================================
[2026-08-29 09:43:15,527.527 INFO    ] Launching Daemon at Sat Aug 29 09:43:15 IST 2026
[2026-08-29 09:43:15,538.538 INFO    ] ================================================
[2026-08-29 09:43:15,891.891 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:43:15
[2026-08-29 09:43:16,203.203 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:43:16,341.341 INFO    ] Initializing speech engine...
[2026-08-29 09:43:16,351.351 INFO    ] 2026-08-29 09:43:16
[2026-08-29 09:43:16,558.558 INFO    ] 2026-08-29 09:43:16
[2026-08-29 09:43:16,586.586 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:43:16,711.711 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:43:16,769.769 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:43:16,912.912 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:43:17,003.003 INFO    ] time= 29/08/2026 09:43:16
[2026-08-29 09:43:17,005.005 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:43:17,012.012 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:43:17,093.093 INFO    ] No existing commands found in stream
[2026-08-29 09:43:22,105.105 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:43:22,267.267 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-08-29 09:43:24,499.499 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:43:24,501.501 INFO    ] Checking for system updates...
[2026-08-29 09:43:24,521.521 INFO    ] 200
[2026-08-29 09:43:24,523.523 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:43:24,552.552 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:43:24,553.553 INFO    ] No update needed
[2026-08-29 09:43:24,555.555 INFO    ] Checking for camera pi updates...
[2026-08-29 09:43:24,577.577 INFO    ] 200
[2026-08-29 09:43:24,578.578 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:43:24,601.601 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:43:24,676.676 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:43:24,677.677 INFO    ] No camera update needed
[2026-08-29 09:43:24,678.678 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:43:24,680.680 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:43:24,683.683 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:43:24,685.685 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:43:26,723.723 INFO    ] ================================================
[2026-08-29 09:43:26,739.739 INFO    ] Launching Daemon at Sat Aug 29 09:43:26 IST 2026
[2026-08-29 09:43:26,749.749 INFO    ] ================================================
[2026-08-29 09:43:27,149.149 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:43:27
[2026-08-29 09:43:27,495.495 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:43:27,643.643 INFO    ] Initializing speech engine...
[2026-08-29 09:43:27,654.654 INFO    ] 2026-08-29 09:43:27
[2026-08-29 09:43:27,865.865 INFO    ] 2026-08-29 09:43:27
[2026-08-29 09:43:27,894.894 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:43:28,019.019 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:43:28,082.082 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:43:28,219.219 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:43:28,292.292 INFO    ] time= 29/08/2026 09:43:28
[2026-08-29 09:43:28,318.318 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:43:28,320.320 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:43:28,392.392 INFO    ] No existing commands found in stream
[2026-08-29 09:43:33,402.402 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:43:33,405.405 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-08-29 09:43:36,494.494 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:43:36,495.495 INFO    ] Checking for system updates...
[2026-08-29 09:43:36,515.515 INFO    ] 200
[2026-08-29 09:43:36,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:43:36,563.563 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:43:36,565.565 INFO    ] No update needed
[2026-08-29 09:43:36,567.567 INFO    ] Checking for camera pi updates...
[2026-08-29 09:43:36,610.610 INFO    ] 200
[2026-08-29 09:43:36,612.612 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:43:36,657.657 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:43:36,736.736 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:43:36,739.739 INFO    ] No camera update needed
[2026-08-29 09:43:36,741.741 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:43:36,743.743 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:43:36,749.749 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:43:36,754.754 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:43:38,793.793 INFO    ] ================================================
[2026-08-29 09:43:38,819.819 INFO    ] Launching Daemon at Sat Aug 29 09:43:38 IST 2026
[2026-08-29 09:43:38,829.829 INFO    ] ================================================
[2026-08-29 09:43:39,405.405 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:43:39
[2026-08-29 09:43:39,841.841 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:43:39,985.985 INFO    ] Initializing speech engine...
[2026-08-29 09:43:39,990.990 INFO    ] 2026-08-29 09:43:39
[2026-08-29 09:43:40,194.194 INFO    ] 2026-08-29 09:43:40
[2026-08-29 09:43:40,222.222 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:43:40,404.404 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:43:40,408.408 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:43:40,535.535 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:43:40,601.601 INFO    ] time= 29/08/2026 09:43:40
[2026-08-29 09:43:40,634.634 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:43:40,640.640 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:43:40,745.745 INFO    ] No existing commands found in stream
[2026-08-29 09:43:45,757.757 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:43:45,760.760 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-08-29 09:43:46,141.141 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:43:46,142.142 INFO    ] Checking for system updates...
[2026-08-29 09:43:46,163.163 INFO    ] 200
[2026-08-29 09:43:46,164.164 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:43:46,194.194 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:43:46,195.195 INFO    ] No update needed
[2026-08-29 09:43:46,197.197 INFO    ] Checking for camera pi updates...
[2026-08-29 09:43:46,216.216 INFO    ] 200
[2026-08-29 09:43:46,217.217 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:43:46,241.241 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:43:46,318.318 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:43:46,319.319 INFO    ] No camera update needed
[2026-08-29 09:43:46,320.320 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:43:46,321.321 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:43:46,324.324 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:43:46,327.327 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:43:48,368.368 INFO    ] ================================================
[2026-08-29 09:43:48,384.384 INFO    ] Launching Daemon at Sat Aug 29 09:43:48 IST 2026
[2026-08-29 09:43:48,395.395 INFO    ] ================================================
[2026-08-29 09:43:48,764.764 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:43:48
[2026-08-29 09:43:49,079.079 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:43:49,224.224 INFO    ] Initializing speech engine...
[2026-08-29 09:43:49,229.229 INFO    ] 2026-08-29 09:43:49
[2026-08-29 09:43:49,472.472 INFO    ] 2026-08-29 09:43:49
[2026-08-29 09:43:49,507.507 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:43:49,678.678 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:43:49,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:43:49,831.831 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:43:49,841.841 INFO    ] time= 29/08/2026 09:43:49
[2026-08-29 09:43:49,848.848 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:43:49,893.893 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:43:50,024.024 INFO    ] No existing commands found in stream
[2026-08-29 09:43:55,046.046 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:43:55,049.049 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-08-29 09:43:56,343.343 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:43:56,344.344 INFO    ] Checking for system updates...
[2026-08-29 09:43:56,365.365 INFO    ] 200
[2026-08-29 09:43:56,366.366 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:43:56,399.399 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:43:56,400.400 INFO    ] No update needed
[2026-08-29 09:43:56,401.401 INFO    ] Checking for camera pi updates...
[2026-08-29 09:43:56,422.422 INFO    ] 200
[2026-08-29 09:43:56,423.423 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:43:56,446.446 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:43:56,632.632 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:43:56,633.633 INFO    ] No camera update needed
[2026-08-29 09:43:56,635.635 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:43:56,636.636 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:43:56,639.639 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:43:56,642.642 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:43:58,681.681 INFO    ] ================================================
[2026-08-29 09:43:58,696.696 INFO    ] Launching Daemon at Sat Aug 29 09:43:58 IST 2026
[2026-08-29 09:43:58,706.706 INFO    ] ================================================
[2026-08-29 09:43:59,059.059 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:43:59
[2026-08-29 09:43:59,611.611 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:43:59,883.883 INFO    ] Initializing speech engine...
[2026-08-29 09:43:59,891.891 INFO    ] 2026-08-29 09:43:59
[2026-08-29 09:44:00,138.138 INFO    ] 2026-08-29 09:44:00
[2026-08-29 09:44:00,173.173 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:44:00,344.344 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:44:00,356.356 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:44:00,500.500 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:44:00,505.505 INFO    ] time= 29/08/2026 09:44:00
[2026-08-29 09:44:00,511.511 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:44:00,558.558 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:44:00,684.684 INFO    ] No existing commands found in stream
[2026-08-29 09:44:05,712.712 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:44:05,715.715 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-08-29 09:44:08,053.053 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:44:08,054.054 INFO    ] Checking for system updates...
[2026-08-29 09:44:08,074.074 INFO    ] 200
[2026-08-29 09:44:08,076.076 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:44:08,106.106 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:44:08,107.107 INFO    ] No update needed
[2026-08-29 09:44:08,108.108 INFO    ] Checking for camera pi updates...
[2026-08-29 09:44:08,129.129 INFO    ] 200
[2026-08-29 09:44:08,130.130 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:44:08,155.155 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:44:08,234.234 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:44:08,235.235 INFO    ] No camera update needed
[2026-08-29 09:44:08,236.236 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:44:08,237.237 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:44:08,240.240 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:44:08,243.243 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:44:10,281.281 INFO    ] ================================================
[2026-08-29 09:44:10,297.297 INFO    ] Launching Daemon at Sat Aug 29 09:44:10 IST 2026
[2026-08-29 09:44:10,309.309 INFO    ] ================================================
[2026-08-29 09:44:10,634.634 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:44:10
[2026-08-29 09:44:10,947.947 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:44:11,080.080 INFO    ] Initializing speech engine...
[2026-08-29 09:44:11,084.084 INFO    ] 2026-08-29 09:44:11
[2026-08-29 09:44:11,292.292 INFO    ] 2026-08-29 09:44:11
[2026-08-29 09:44:11,331.331 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:44:11,494.494 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:44:11,507.507 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:44:11,634.634 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:44:11,641.641 INFO    ] time= 29/08/2026 09:44:11
[2026-08-29 09:44:11,661.661 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:44:11,684.684 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:44:11,768.768 INFO    ] No existing commands found in stream
[2026-08-29 09:44:16,777.777 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:44:16,780.780 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-08-29 09:44:17,882.882 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:44:17,883.883 INFO    ] Checking for system updates...
[2026-08-29 09:44:17,905.905 INFO    ] 200
[2026-08-29 09:44:17,906.906 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:44:17,938.938 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:44:17,939.939 INFO    ] No update needed
[2026-08-29 09:44:17,941.941 INFO    ] Checking for camera pi updates...
[2026-08-29 09:44:17,962.962 INFO    ] 200
[2026-08-29 09:44:17,964.964 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:44:17,987.987 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:44:18,063.063 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:44:18,065.065 INFO    ] No camera update needed
[2026-08-29 09:44:18,066.066 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:44:18,067.067 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:44:18,070.070 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:44:18,073.073 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:44:20,111.111 INFO    ] ================================================
[2026-08-29 09:44:20,126.126 INFO    ] Launching Daemon at Sat Aug 29 09:44:20 IST 2026
[2026-08-29 09:44:20,136.136 INFO    ] ================================================
[2026-08-29 09:44:20,508.508 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:44:20
[2026-08-29 09:44:20,825.825 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:44:20,963.963 INFO    ] Initializing speech engine...
[2026-08-29 09:44:20,973.973 INFO    ] 2026-08-29 09:44:20
[2026-08-29 09:44:21,167.167 INFO    ] 2026-08-29 09:44:21
[2026-08-29 09:44:21,247.247 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:44:21,395.395 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:44:21,404.404 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:44:21,539.539 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:44:21,583.583 INFO    ] time= 29/08/2026 09:44:21
[2026-08-29 09:44:21,643.643 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:44:21,671.671 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:44:21,786.786 INFO    ] No existing commands found in stream
[2026-08-29 09:44:26,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:44:26,816.816 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-08-29 09:44:27,747.747 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:44:27,749.749 INFO    ] Checking for system updates...
[2026-08-29 09:44:27,769.769 INFO    ] 200
[2026-08-29 09:44:27,770.770 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:44:27,803.803 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:44:27,805.805 INFO    ] No update needed
[2026-08-29 09:44:27,806.806 INFO    ] Checking for camera pi updates...
[2026-08-29 09:44:27,825.825 INFO    ] 200
[2026-08-29 09:44:27,827.827 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:44:27,849.849 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:44:27,919.919 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:44:27,922.922 INFO    ] No camera update needed
[2026-08-29 09:44:27,924.924 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:44:27,927.927 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:44:27,932.932 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:44:27,937.937 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:44:29,976.976 INFO    ] ================================================
[2026-08-29 09:44:29,991.991 INFO    ] Launching Daemon at Sat Aug 29 09:44:29 IST 2026
[2026-08-29 09:44:30,002.002 INFO    ] ================================================
[2026-08-29 09:44:30,675.675 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:44:30
[2026-08-29 09:44:31,144.144 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:44:31,439.439 INFO    ] Initializing speech engine...
[2026-08-29 09:44:31,454.454 INFO    ] 2026-08-29 09:44:31
[2026-08-29 09:44:31,764.764 INFO    ] 2026-08-29 09:44:31
[2026-08-29 09:44:31,884.884 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:44:32,049.049 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:44:32,072.072 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:44:32,194.194 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:44:32,255.255 INFO    ] time= 29/08/2026 09:44:32
[2026-08-29 09:44:32,330.330 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:44:32,347.347 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:44:32,489.489 INFO    ] No existing commands found in stream
[2026-08-29 09:44:37,516.516 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:44:37,519.519 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-08-29 09:44:39,157.157 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:44:39,160.160 INFO    ] Checking for system updates...
[2026-08-29 09:44:39,201.201 INFO    ] 200
[2026-08-29 09:44:39,204.204 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:44:39,265.265 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:44:39,269.269 INFO    ] No update needed
[2026-08-29 09:44:39,272.272 INFO    ] Checking for camera pi updates...
[2026-08-29 09:44:39,310.310 INFO    ] 200
[2026-08-29 09:44:39,314.314 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:44:39,367.367 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:44:39,463.463 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:44:39,466.466 INFO    ] No camera update needed
[2026-08-29 09:44:39,469.469 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:44:39,472.472 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:44:39,479.479 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:44:39,485.485 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:44:41,526.526 INFO    ] ================================================
[2026-08-29 09:44:41,541.541 INFO    ] Launching Daemon at Sat Aug 29 09:44:41 IST 2026
[2026-08-29 09:44:41,551.551 INFO    ] ================================================
[2026-08-29 09:44:42,060.060 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:44:42
[2026-08-29 09:44:42,373.373 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:44:42,504.504 INFO    ] Initializing speech engine...
[2026-08-29 09:44:42,511.511 INFO    ] 2026-08-29 09:44:42
[2026-08-29 09:44:42,703.703 INFO    ] 2026-08-29 09:44:42
[2026-08-29 09:44:42,739.739 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:44:42,915.915 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:44:42,929.929 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:44:43,058.058 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:44:43,078.078 INFO    ] time= 29/08/2026 09:44:43
[2026-08-29 09:44:43,086.086 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:44:43,093.093 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:44:43,172.172 INFO    ] No existing commands found in stream
[2026-08-29 09:44:48,207.207 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:44:48,210.210 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-08-29 09:44:51,068.068 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:44:51,070.070 INFO    ] Checking for system updates...
[2026-08-29 09:44:51,091.091 INFO    ] 200
[2026-08-29 09:44:51,092.092 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:44:51,122.122 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:44:51,124.124 INFO    ] No update needed
[2026-08-29 09:44:51,125.125 INFO    ] Checking for camera pi updates...
[2026-08-29 09:44:51,144.144 INFO    ] 200
[2026-08-29 09:44:51,145.145 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:44:51,171.171 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:44:51,263.263 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:44:51,264.264 INFO    ] No camera update needed
[2026-08-29 09:44:51,265.265 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:44:51,266.266 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:44:51,269.269 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:44:51,272.272 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:44:53,311.311 INFO    ] ================================================
[2026-08-29 09:44:53,326.326 INFO    ] Launching Daemon at Sat Aug 29 09:44:53 IST 2026
[2026-08-29 09:44:53,336.336 INFO    ] ================================================
[2026-08-29 09:44:53,686.686 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:44:53
[2026-08-29 09:44:54,003.003 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:44:54,141.141 INFO    ] Initializing speech engine...
[2026-08-29 09:44:54,151.151 INFO    ] 2026-08-29 09:44:54
[2026-08-29 09:44:54,356.356 INFO    ] 2026-08-29 09:44:54
[2026-08-29 09:44:54,385.385 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:44:54,518.518 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:44:54,552.552 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:44:54,696.696 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:44:54,704.704 INFO    ] time= 29/08/2026 09:44:54
[2026-08-29 09:44:54,712.712 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:44:54,761.761 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:44:54,856.856 INFO    ] No existing commands found in stream
[2026-08-29 09:44:59,886.886 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:44:59,895.895 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-08-29 09:45:01,725.725 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:45:01,727.727 INFO    ] Checking for system updates...
[2026-08-29 09:45:01,747.747 INFO    ] 200
[2026-08-29 09:45:01,749.749 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:45:01,779.779 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:45:01,781.781 INFO    ] No update needed
[2026-08-29 09:45:01,782.782 INFO    ] Checking for camera pi updates...
[2026-08-29 09:45:01,802.802 INFO    ] 200
[2026-08-29 09:45:01,804.804 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:45:01,827.827 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:45:02,229.229 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:45:02,246.246 INFO    ] No camera update needed
[2026-08-29 09:45:02,259.259 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:45:02,280.280 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:45:02,310.310 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:45:02,338.338 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:45:04,402.402 INFO    ] ================================================
[2026-08-29 09:45:04,417.417 INFO    ] Launching Daemon at Sat Aug 29 09:45:04 IST 2026
[2026-08-29 09:45:04,428.428 INFO    ] ================================================
[2026-08-29 09:45:05,002.002 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:45:04
[2026-08-29 09:45:05,357.357 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:45:05,505.505 INFO    ] Initializing speech engine...
[2026-08-29 09:45:05,510.510 INFO    ] 2026-08-29 09:45:05
[2026-08-29 09:45:05,725.725 INFO    ] 2026-08-29 09:45:05
[2026-08-29 09:45:05,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:45:05,886.886 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:45:05,935.935 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:45:06,100.100 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:45:06,168.168 INFO    ] time= 29/08/2026 09:45:06
[2026-08-29 09:45:06,191.191 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:45:06,202.202 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:45:06,278.278 INFO    ] No existing commands found in stream
[2026-08-29 09:45:11,288.288 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:45:11,291.291 INFO    ] Waiting 2.52 seconds before fallback handling...
[2026-08-29 09:45:15,195.195 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:45:15,198.198 INFO    ] Checking for system updates...
[2026-08-29 09:45:15,234.234 INFO    ] 200
[2026-08-29 09:45:15,236.236 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:45:15,289.289 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:45:15,291.291 INFO    ] No update needed
[2026-08-29 09:45:15,294.294 INFO    ] Checking for camera pi updates...
[2026-08-29 09:45:15,326.326 INFO    ] 200
[2026-08-29 09:45:15,327.327 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:45:15,354.354 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:45:15,405.405 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:45:15,407.407 INFO    ] No camera update needed
[2026-08-29 09:45:15,410.410 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:45:15,413.413 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:45:15,419.419 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:45:15,424.424 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:45:17,466.466 INFO    ] ================================================
[2026-08-29 09:45:17,481.481 INFO    ] Launching Daemon at Sat Aug 29 09:45:17 IST 2026
[2026-08-29 09:45:17,493.493 INFO    ] ================================================
[2026-08-29 09:45:18,083.083 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:45:18
[2026-08-29 09:45:18,500.500 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:45:18,629.629 INFO    ] Initializing speech engine...
[2026-08-29 09:45:18,633.633 INFO    ] 2026-08-29 09:45:18
[2026-08-29 09:45:18,853.853 INFO    ] 2026-08-29 09:45:18
[2026-08-29 09:45:18,882.882 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:45:19,005.005 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:45:19,054.054 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:45:20,199.199 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:45:20,218.218 INFO    ] time= 29/08/2026 09:45:20
[2026-08-29 09:45:20,221.221 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:45:20,273.273 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:45:20,329.329 INFO    ] No existing commands found in stream
[2026-08-29 09:45:25,340.340 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:45:25,343.343 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-08-29 09:45:28,608.608 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:45:28,610.610 INFO    ] Checking for system updates...
[2026-08-29 09:45:28,633.633 INFO    ] 200
[2026-08-29 09:45:28,634.634 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:45:28,664.664 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:45:28,665.665 INFO    ] No update needed
[2026-08-29 09:45:28,667.667 INFO    ] Checking for camera pi updates...
[2026-08-29 09:45:28,686.686 INFO    ] 200
[2026-08-29 09:45:28,687.687 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:45:28,710.710 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:45:28,801.801 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:45:28,803.803 INFO    ] No camera update needed
[2026-08-29 09:45:28,804.804 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:45:28,805.805 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:45:28,808.808 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:45:28,811.811 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:45:30,849.849 INFO    ] ================================================
[2026-08-29 09:45:30,865.865 INFO    ] Launching Daemon at Sat Aug 29 09:45:30 IST 2026
[2026-08-29 09:45:30,876.876 INFO    ] ================================================
[2026-08-29 09:45:31,217.217 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:45:31
[2026-08-29 09:45:31,546.546 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:45:31,695.695 INFO    ] Initializing speech engine...
[2026-08-29 09:45:31,701.701 INFO    ] 2026-08-29 09:45:31
[2026-08-29 09:45:31,910.910 INFO    ] 2026-08-29 09:45:31
[2026-08-29 09:45:31,939.939 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:45:32,084.084 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:45:32,157.157 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:45:32,328.328 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:45:32,389.389 INFO    ] time= 29/08/2026 09:45:32
[2026-08-29 09:45:32,441.441 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:45:32,482.482 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:45:32,589.589 INFO    ] No existing commands found in stream
[2026-08-29 09:45:37,613.613 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:45:37,616.616 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-08-29 09:45:40,410.410 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:45:40,411.411 INFO    ] Checking for system updates...
[2026-08-29 09:45:40,433.433 INFO    ] 200
[2026-08-29 09:45:40,434.434 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:45:40,465.465 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:45:40,466.466 INFO    ] No update needed
[2026-08-29 09:45:40,468.468 INFO    ] Checking for camera pi updates...
[2026-08-29 09:45:40,487.487 INFO    ] 200
[2026-08-29 09:45:40,488.488 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:45:40,512.512 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:45:40,589.589 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:45:40,591.591 INFO    ] No camera update needed
[2026-08-29 09:45:40,592.592 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:45:40,593.593 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:45:40,596.596 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:45:40,599.599 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:45:42,637.637 INFO    ] ================================================
[2026-08-29 09:45:42,653.653 INFO    ] Launching Daemon at Sat Aug 29 09:45:42 IST 2026
[2026-08-29 09:45:42,664.664 INFO    ] ================================================
[2026-08-29 09:45:43,260.260 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:45:43
[2026-08-29 09:45:43,912.912 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:45:44,207.207 INFO    ] Initializing speech engine...
[2026-08-29 09:45:44,215.215 INFO    ] 2026-08-29 09:45:44
[2026-08-29 09:45:44,483.483 INFO    ] 2026-08-29 09:45:44
[2026-08-29 09:45:44,518.518 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:45:44,711.711 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:45:44,720.720 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:45:44,914.914 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:45:44,920.920 INFO    ] time= 29/08/2026 09:45:44
[2026-08-29 09:45:44,975.975 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:45:45,040.040 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:45:45,108.108 INFO    ] No existing commands found in stream
[2026-08-29 09:45:50,120.120 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:45:50,124.124 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-08-29 09:45:51,873.873 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:45:51,875.875 INFO    ] Checking for system updates...
[2026-08-29 09:45:51,895.895 INFO    ] 200
[2026-08-29 09:45:51,897.897 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:45:51,926.926 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:45:51,928.928 INFO    ] No update needed
[2026-08-29 09:45:51,929.929 INFO    ] Checking for camera pi updates...
[2026-08-29 09:45:51,949.949 INFO    ] 200
[2026-08-29 09:45:51,950.950 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:45:51,975.975 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:45:52,050.050 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:45:52,052.052 INFO    ] No camera update needed
[2026-08-29 09:45:52,053.053 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:45:52,054.054 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:45:52,057.057 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:45:52,060.060 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:45:54,101.101 INFO    ] ================================================
[2026-08-29 09:45:54,117.117 INFO    ] Launching Daemon at Sat Aug 29 09:45:54 IST 2026
[2026-08-29 09:45:54,128.128 INFO    ] ================================================
[2026-08-29 09:45:54,644.644 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:45:54
[2026-08-29 09:45:55,229.229 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:45:55,498.498 INFO    ] Initializing speech engine...
[2026-08-29 09:45:55,507.507 INFO    ] 2026-08-29 09:45:55
[2026-08-29 09:45:55,753.753 INFO    ] 2026-08-29 09:45:55
[2026-08-29 09:45:55,788.788 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:45:55,959.959 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:45:55,971.971 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:45:56,112.112 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:45:56,119.119 INFO    ] time= 29/08/2026 09:45:56
[2026-08-29 09:45:56,123.123 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:45:56,129.129 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:45:56,194.194 INFO    ] No existing commands found in stream
[2026-08-29 09:46:01,206.206 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:46:01,209.209 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-08-29 09:46:02,468.468 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:46:02,471.471 INFO    ] Checking for system updates...
[2026-08-29 09:46:02,519.519 INFO    ] 200
[2026-08-29 09:46:02,523.523 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:46:02,598.598 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:46:02,601.601 INFO    ] No update needed
[2026-08-29 09:46:02,604.604 INFO    ] Checking for camera pi updates...
[2026-08-29 09:46:02,642.642 INFO    ] 200
[2026-08-29 09:46:02,645.645 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:46:02,694.694 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:46:02,927.927 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:46:02,930.930 INFO    ] No camera update needed
[2026-08-29 09:46:02,933.933 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:46:02,936.936 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:46:02,943.943 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:46:02,949.949 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:46:04,989.989 INFO    ] ================================================
[2026-08-29 09:46:05,005.005 INFO    ] Launching Daemon at Sat Aug 29 09:46:04 IST 2026
[2026-08-29 09:46:05,016.016 INFO    ] ================================================
[2026-08-29 09:46:05,343.343 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:46:05
[2026-08-29 09:46:05,654.654 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:46:05,785.785 INFO    ] Initializing speech engine...
[2026-08-29 09:46:05,789.789 INFO    ] 2026-08-29 09:46:05
[2026-08-29 09:46:06,072.072 INFO    ] 2026-08-29 09:46:06
[2026-08-29 09:46:06,108.108 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:46:06,281.281 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:46:06,293.293 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:46:06,434.434 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:46:06,442.442 INFO    ] time= 29/08/2026 09:46:06
[2026-08-29 09:46:06,446.446 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:46:06,453.453 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:46:06,517.517 INFO    ] No existing commands found in stream
[2026-08-29 09:46:11,529.529 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:46:11,532.532 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-08-29 09:46:14,294.294 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:46:14,296.296 INFO    ] Checking for system updates...
[2026-08-29 09:46:14,316.316 INFO    ] 200
[2026-08-29 09:46:14,317.317 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:46:14,346.346 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:46:14,348.348 INFO    ] No update needed
[2026-08-29 09:46:14,349.349 INFO    ] Checking for camera pi updates...
[2026-08-29 09:46:14,368.368 INFO    ] 200
[2026-08-29 09:46:14,369.369 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:46:14,394.394 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:46:14,458.458 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:46:14,459.459 INFO    ] No camera update needed
[2026-08-29 09:46:14,461.461 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:46:14,462.462 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:46:14,465.465 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:46:14,467.467 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:46:16,506.506 INFO    ] ================================================
[2026-08-29 09:46:16,522.522 INFO    ] Launching Daemon at Sat Aug 29 09:46:16 IST 2026
[2026-08-29 09:46:16,534.534 INFO    ] ================================================
[2026-08-29 09:46:16,884.884 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:46:16
[2026-08-29 09:46:17,202.202 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:46:17,341.341 INFO    ] Initializing speech engine...
[2026-08-29 09:46:17,348.348 INFO    ] 2026-08-29 09:46:17
[2026-08-29 09:46:17,553.553 INFO    ] 2026-08-29 09:46:17
[2026-08-29 09:46:17,615.615 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:46:17,767.767 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:46:17,773.773 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:46:17,905.905 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:46:17,922.922 INFO    ] time= 29/08/2026 09:46:17
[2026-08-29 09:46:17,976.976 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:46:18,035.035 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:46:18,094.094 INFO    ] No existing commands found in stream
[2026-08-29 09:46:23,106.106 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:46:23,109.109 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-08-29 09:46:25,807.807 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:46:25,808.808 INFO    ] Checking for system updates...
[2026-08-29 09:46:25,829.829 INFO    ] 200
[2026-08-29 09:46:25,831.831 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:46:25,861.861 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:46:25,863.863 INFO    ] No update needed
[2026-08-29 09:46:25,864.864 INFO    ] Checking for camera pi updates...
[2026-08-29 09:46:25,884.884 INFO    ] 200
[2026-08-29 09:46:25,885.885 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:46:25,908.908 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:46:26,012.012 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:46:26,014.014 INFO    ] No camera update needed
[2026-08-29 09:46:26,015.015 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:46:26,016.016 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:46:26,019.019 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:46:26,022.022 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:46:28,062.062 INFO    ] ================================================
[2026-08-29 09:46:28,078.078 INFO    ] Launching Daemon at Sat Aug 29 09:46:28 IST 2026
[2026-08-29 09:46:28,089.089 INFO    ] ================================================
[2026-08-29 09:46:28,435.435 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:46:28
[2026-08-29 09:46:28,747.747 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:46:28,890.890 INFO    ] Initializing speech engine...
[2026-08-29 09:46:28,895.895 INFO    ] 2026-08-29 09:46:28
[2026-08-29 09:46:29,102.102 INFO    ] 2026-08-29 09:46:29
[2026-08-29 09:46:29,130.130 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:46:29,254.254 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:46:29,317.317 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:46:29,449.449 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:46:29,510.510 INFO    ] time= 29/08/2026 09:46:29
[2026-08-29 09:46:29,540.540 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:46:29,551.551 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:46:29,623.623 INFO    ] No existing commands found in stream
[2026-08-29 09:46:34,632.632 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:46:34,635.635 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-08-29 09:46:35,297.297 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:46:35,298.298 INFO    ] Checking for system updates...
[2026-08-29 09:46:35,319.319 INFO    ] 200
[2026-08-29 09:46:35,320.320 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:46:35,351.351 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:46:35,352.352 INFO    ] No update needed
[2026-08-29 09:46:35,353.353 INFO    ] Checking for camera pi updates...
[2026-08-29 09:46:35,372.372 INFO    ] 200
[2026-08-29 09:46:35,374.374 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:46:35,398.398 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:46:35,478.478 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:46:35,480.480 INFO    ] No camera update needed
[2026-08-29 09:46:35,483.483 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:46:35,485.485 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:46:35,491.491 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:46:35,495.495 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:46:37,535.535 INFO    ] ================================================
[2026-08-29 09:46:37,551.551 INFO    ] Launching Daemon at Sat Aug 29 09:46:37 IST 2026
[2026-08-29 09:46:37,562.562 INFO    ] ================================================
[2026-08-29 09:46:38,210.210 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:46:38
[2026-08-29 09:46:38,685.685 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:46:38,836.836 INFO    ] Initializing speech engine...
[2026-08-29 09:46:38,842.842 INFO    ] 2026-08-29 09:46:38
[2026-08-29 09:46:39,048.048 INFO    ] 2026-08-29 09:46:39
[2026-08-29 09:46:39,077.077 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:46:39,205.205 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:46:39,263.263 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:46:39,396.396 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:46:39,466.466 INFO    ] time= 29/08/2026 09:46:39
[2026-08-29 09:46:39,491.491 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:46:39,497.497 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:46:39,564.564 INFO    ] No existing commands found in stream
[2026-08-29 09:46:44,573.573 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:46:44,576.576 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-08-29 09:46:46,181.181 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:46:46,183.183 INFO    ] Checking for system updates...
[2026-08-29 09:46:46,203.203 INFO    ] 200
[2026-08-29 09:46:46,204.204 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:46:46,234.234 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:46:46,235.235 INFO    ] No update needed
[2026-08-29 09:46:46,237.237 INFO    ] Checking for camera pi updates...
[2026-08-29 09:46:46,256.256 INFO    ] 200
[2026-08-29 09:46:46,257.257 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:46:46,279.279 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:46:46,384.384 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:46:46,386.386 INFO    ] No camera update needed
[2026-08-29 09:46:46,387.387 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:46:46,388.388 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:46:46,391.391 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:46:46,394.394 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:46:48,432.432 INFO    ] ================================================
[2026-08-29 09:46:48,447.447 INFO    ] Launching Daemon at Sat Aug 29 09:46:48 IST 2026
[2026-08-29 09:46:48,457.457 INFO    ] ================================================
[2026-08-29 09:46:49,002.002 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:46:48
[2026-08-29 09:46:49,586.586 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:46:49,854.854 INFO    ] Initializing speech engine...
[2026-08-29 09:46:49,863.863 INFO    ] 2026-08-29 09:46:49
[2026-08-29 09:46:50,116.116 INFO    ] 2026-08-29 09:46:50
[2026-08-29 09:46:50,173.173 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:46:50,316.316 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:46:50,340.340 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:46:50,471.471 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:46:50,477.477 INFO    ] time= 29/08/2026 09:46:50
[2026-08-29 09:46:50,483.483 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:46:50,502.502 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:46:50,618.618 INFO    ] No existing commands found in stream
[2026-08-29 09:46:55,648.648 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:46:55,651.651 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-08-29 09:46:57,252.252 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:46:57,254.254 INFO    ] Checking for system updates...
[2026-08-29 09:46:57,277.277 INFO    ] 200
[2026-08-29 09:46:57,278.278 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:46:57,311.311 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:46:57,312.312 INFO    ] No update needed
[2026-08-29 09:46:57,314.314 INFO    ] Checking for camera pi updates...
[2026-08-29 09:46:57,334.334 INFO    ] 200
[2026-08-29 09:46:57,335.335 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:46:57,358.358 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:46:57,440.440 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:46:57,441.441 INFO    ] No camera update needed
[2026-08-29 09:46:57,443.443 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:46:57,444.444 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:46:57,447.447 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:46:57,450.450 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:46:59,488.488 INFO    ] ================================================
[2026-08-29 09:46:59,504.504 INFO    ] Launching Daemon at Sat Aug 29 09:46:59 IST 2026
[2026-08-29 09:46:59,516.516 INFO    ] ================================================
[2026-08-29 09:47:00,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:47:00
[2026-08-29 09:47:00,764.764 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:47:01,044.044 INFO    ] Initializing speech engine...
[2026-08-29 09:47:01,050.050 INFO    ] 2026-08-29 09:47:01
[2026-08-29 09:47:01,574.574 INFO    ] 2026-08-29 09:47:01
[2026-08-29 09:47:01,621.621 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:47:01,843.843 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:47:01,849.849 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:47:02,034.034 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:47:02,089.089 INFO    ] time= 29/08/2026 09:47:02
[2026-08-29 09:47:02,097.097 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:47:02,125.125 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:47:02,271.271 INFO    ] No existing commands found in stream
[2026-08-29 09:47:07,297.297 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:47:07,300.300 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-08-29 09:47:08,342.342 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:47:08,343.343 INFO    ] Checking for system updates...
[2026-08-29 09:47:08,364.364 INFO    ] 200
[2026-08-29 09:47:08,366.366 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:47:08,398.398 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:47:08,400.400 INFO    ] No update needed
[2026-08-29 09:47:08,401.401 INFO    ] Checking for camera pi updates...
[2026-08-29 09:47:08,423.423 INFO    ] 200
[2026-08-29 09:47:08,425.425 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:47:08,448.448 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:47:08,583.583 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:47:08,584.584 INFO    ] No camera update needed
[2026-08-29 09:47:08,586.586 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:47:08,587.587 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:47:08,590.590 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:47:08,593.593 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:47:10,634.634 INFO    ] ================================================
[2026-08-29 09:47:10,651.651 INFO    ] Launching Daemon at Sat Aug 29 09:47:10 IST 2026
[2026-08-29 09:47:10,662.662 INFO    ] ================================================
[2026-08-29 09:47:11,169.169 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:47:11
[2026-08-29 09:47:11,755.755 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:47:12,014.014 INFO    ] Initializing speech engine...
[2026-08-29 09:47:12,022.022 INFO    ] 2026-08-29 09:47:12
[2026-08-29 09:47:12,320.320 INFO    ] 2026-08-29 09:47:12
[2026-08-29 09:47:12,356.356 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:47:12,533.533 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:47:12,539.539 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:47:12,676.676 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:47:12,698.698 INFO    ] time= 29/08/2026 09:47:12
[2026-08-29 09:47:12,704.704 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:47:12,710.710 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:47:12,782.782 INFO    ] No existing commands found in stream
[2026-08-29 09:47:17,817.817 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:47:17,820.820 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-08-29 09:47:19,475.475 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:47:19,477.477 INFO    ] Checking for system updates...
[2026-08-29 09:47:19,497.497 INFO    ] 200
[2026-08-29 09:47:19,499.499 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:47:19,531.531 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:47:19,532.532 INFO    ] No update needed
[2026-08-29 09:47:19,534.534 INFO    ] Checking for camera pi updates...
[2026-08-29 09:47:19,558.558 INFO    ] 200
[2026-08-29 09:47:19,560.560 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:47:19,583.583 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:47:19,658.658 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:47:19,660.660 INFO    ] No camera update needed
[2026-08-29 09:47:19,661.661 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:47:19,662.662 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:47:19,665.665 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:47:19,668.668 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:47:21,708.708 INFO    ] ================================================
[2026-08-29 09:47:21,724.724 INFO    ] Launching Daemon at Sat Aug 29 09:47:21 IST 2026
[2026-08-29 09:47:21,736.736 INFO    ] ================================================
[2026-08-29 09:47:22,093.093 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:47:22
[2026-08-29 09:47:22,406.406 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:47:22,619.619 INFO    ] Initializing speech engine...
[2026-08-29 09:47:22,641.641 INFO    ] 2026-08-29 09:47:22
[2026-08-29 09:47:22,902.902 INFO    ] 2026-08-29 09:47:22
[2026-08-29 09:47:22,938.938 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:47:23,113.113 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:47:23,127.127 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:47:23,271.271 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:47:23,280.280 INFO    ] time= 29/08/2026 09:47:23
[2026-08-29 09:47:23,286.286 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:47:23,317.317 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:47:23,435.435 INFO    ] No existing commands found in stream
[2026-08-29 09:47:28,465.465 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:47:28,468.468 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-08-29 09:47:31,509.509 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:47:31,512.512 INFO    ] Checking for system updates...
[2026-08-29 09:47:31,555.555 INFO    ] 200
[2026-08-29 09:47:31,558.558 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:47:31,617.617 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:47:31,620.620 INFO    ] No update needed
[2026-08-29 09:47:31,624.624 INFO    ] Checking for camera pi updates...
[2026-08-29 09:47:31,661.661 INFO    ] 200
[2026-08-29 09:47:31,665.665 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:47:31,710.710 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:47:31,836.836 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:47:31,839.839 INFO    ] No camera update needed
[2026-08-29 09:47:31,842.842 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:47:31,845.845 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:47:31,853.853 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:47:31,860.860 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:47:33,904.904 INFO    ] ================================================
[2026-08-29 09:47:33,919.919 INFO    ] Launching Daemon at Sat Aug 29 09:47:33 IST 2026
[2026-08-29 09:47:33,930.930 INFO    ] ================================================
[2026-08-29 09:47:34,442.442 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:47:34
[2026-08-29 09:47:34,947.947 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:47:35,229.229 INFO    ] Initializing speech engine...
[2026-08-29 09:47:35,236.236 INFO    ] 2026-08-29 09:47:35
[2026-08-29 09:47:35,499.499 INFO    ] 2026-08-29 09:47:35
[2026-08-29 09:47:35,555.555 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:47:35,780.780 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:47:35,786.786 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:47:35,919.919 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:47:35,946.946 INFO    ] time= 29/08/2026 09:47:35
[2026-08-29 09:47:36,011.011 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:47:36,054.054 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:47:36,140.140 INFO    ] No existing commands found in stream
[2026-08-29 09:47:41,177.177 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:47:41,180.180 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-08-29 09:47:44,111.111 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:47:44,114.114 INFO    ] Checking for system updates...
[2026-08-29 09:47:44,154.154 INFO    ] 200
[2026-08-29 09:47:44,157.157 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:47:44,209.209 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:47:44,211.211 INFO    ] No update needed
[2026-08-29 09:47:44,214.214 INFO    ] Checking for camera pi updates...
[2026-08-29 09:47:44,247.247 INFO    ] 200
[2026-08-29 09:47:44,249.249 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:47:44,290.290 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:47:44,389.389 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:47:44,391.391 INFO    ] No camera update needed
[2026-08-29 09:47:44,394.394 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:47:44,396.396 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:47:44,402.402 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:47:44,407.407 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:47:46,448.448 INFO    ] ================================================
[2026-08-29 09:47:46,464.464 INFO    ] Launching Daemon at Sat Aug 29 09:47:46 IST 2026
[2026-08-29 09:47:46,475.475 INFO    ] ================================================
[2026-08-29 09:47:46,831.831 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:47:46
[2026-08-29 09:47:47,142.142 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:47:47,275.275 INFO    ] Initializing speech engine...
[2026-08-29 09:47:47,287.287 INFO    ] 2026-08-29 09:47:47
[2026-08-29 09:47:47,471.471 INFO    ] 2026-08-29 09:47:47
[2026-08-29 09:47:47,506.506 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:47:47,678.678 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:47:47,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:47:47,831.831 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:47:47,838.838 INFO    ] time= 29/08/2026 09:47:47
[2026-08-29 09:47:47,842.842 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:47:47,850.850 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:47:47,935.935 INFO    ] No existing commands found in stream
[2026-08-29 09:47:52,971.971 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:47:52,974.974 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-08-29 09:47:56,818.818 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:47:56,819.819 INFO    ] Checking for system updates...
[2026-08-29 09:47:56,842.842 INFO    ] 200
[2026-08-29 09:47:56,844.844 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:47:56,901.901 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:47:56,904.904 INFO    ] No update needed
[2026-08-29 09:47:56,906.906 INFO    ] Checking for camera pi updates...
[2026-08-29 09:47:56,944.944 INFO    ] 200
[2026-08-29 09:47:56,946.946 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:47:56,987.987 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:47:57,086.086 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:47:57,088.088 INFO    ] No camera update needed
[2026-08-29 09:47:57,091.091 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:47:57,093.093 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:47:57,098.098 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:47:57,103.103 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:47:59,145.145 INFO    ] ================================================
[2026-08-29 09:47:59,161.161 INFO    ] Launching Daemon at Sat Aug 29 09:47:59 IST 2026
[2026-08-29 09:47:59,171.171 INFO    ] ================================================
[2026-08-29 09:47:59,767.767 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:47:59
[2026-08-29 09:48:00,196.196 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:48:00,347.347 INFO    ] Initializing speech engine...
[2026-08-29 09:48:00,352.352 INFO    ] 2026-08-29 09:48:00
[2026-08-29 09:48:00,569.569 INFO    ] 2026-08-29 09:48:00
[2026-08-29 09:48:00,600.600 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:48:00,735.735 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:48:00,762.762 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:48:00,920.920 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:48:00,952.952 INFO    ] time= 29/08/2026 09:48:00
[2026-08-29 09:48:00,998.998 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:48:01,036.036 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:48:01,137.137 INFO    ] No existing commands found in stream
[2026-08-29 09:48:06,147.147 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:48:06,150.150 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-08-29 09:48:08,914.914 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:48:08,916.916 INFO    ] Checking for system updates...
[2026-08-29 09:48:08,936.936 INFO    ] 200
[2026-08-29 09:48:08,938.938 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:48:08,968.968 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:48:08,969.969 INFO    ] No update needed
[2026-08-29 09:48:08,971.971 INFO    ] Checking for camera pi updates...
[2026-08-29 09:48:08,990.990 INFO    ] 200
[2026-08-29 09:48:08,991.991 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:48:09,014.014 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:48:09,212.212 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:48:09,213.213 INFO    ] No camera update needed
[2026-08-29 09:48:09,215.215 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:48:09,216.216 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:48:09,219.219 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:48:09,222.222 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:48:11,260.260 INFO    ] ================================================
[2026-08-29 09:48:11,276.276 INFO    ] Launching Daemon at Sat Aug 29 09:48:11 IST 2026
[2026-08-29 09:48:11,289.289 INFO    ] ================================================
[2026-08-29 09:48:11,768.768 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:48:11
[2026-08-29 09:48:12,368.368 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:48:12,649.649 INFO    ] Initializing speech engine...
[2026-08-29 09:48:12,657.657 INFO    ] 2026-08-29 09:48:12
[2026-08-29 09:48:12,916.916 INFO    ] 2026-08-29 09:48:12
[2026-08-29 09:48:12,947.947 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:48:13,114.114 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:48:13,138.138 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:48:13,269.269 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:48:13,277.277 INFO    ] time= 29/08/2026 09:48:13
[2026-08-29 09:48:13,286.286 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:48:13,320.320 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:48:13,450.450 INFO    ] No existing commands found in stream
[2026-08-29 09:48:18,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:48:18,477.477 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-08-29 09:48:20,915.915 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:48:20,917.917 INFO    ] Checking for system updates...
[2026-08-29 09:48:20,937.937 INFO    ] 200
[2026-08-29 09:48:20,938.938 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:48:20,971.971 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:48:20,972.972 INFO    ] No update needed
[2026-08-29 09:48:20,974.974 INFO    ] Checking for camera pi updates...
[2026-08-29 09:48:20,994.994 INFO    ] 200
[2026-08-29 09:48:20,996.996 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:48:21,021.021 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:48:21,118.118 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:48:21,120.120 INFO    ] No camera update needed
[2026-08-29 09:48:21,121.121 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:48:21,122.122 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:48:21,125.125 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:48:21,128.128 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:48:23,169.169 INFO    ] ================================================
[2026-08-29 09:48:23,185.185 INFO    ] Launching Daemon at Sat Aug 29 09:48:23 IST 2026
[2026-08-29 09:48:23,196.196 INFO    ] ================================================
[2026-08-29 09:48:23,537.537 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:48:23
[2026-08-29 09:48:23,849.849 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:48:23,991.991 INFO    ] Initializing speech engine...
[2026-08-29 09:48:23,996.996 INFO    ] 2026-08-29 09:48:23
[2026-08-29 09:48:24,201.201 INFO    ] 2026-08-29 09:48:24
[2026-08-29 09:48:24,230.230 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:48:24,357.357 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:48:24,362.362 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:48:24,507.507 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:48:24,510.510 INFO    ] time= 29/08/2026 09:48:24
[2026-08-29 09:48:24,567.567 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:48:24,574.574 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:48:24,703.703 INFO    ] No existing commands found in stream
[2026-08-29 09:48:29,733.733 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:48:29,736.736 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 09:48:31,249.249 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:48:31,251.251 INFO    ] Checking for system updates...
[2026-08-29 09:48:31,271.271 INFO    ] 200
[2026-08-29 09:48:31,273.273 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:48:31,303.303 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:48:31,304.304 INFO    ] No update needed
[2026-08-29 09:48:31,306.306 INFO    ] Checking for camera pi updates...
[2026-08-29 09:48:31,325.325 INFO    ] 200
[2026-08-29 09:48:31,327.327 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:48:31,350.350 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:48:31,425.425 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:48:31,426.426 INFO    ] No camera update needed
[2026-08-29 09:48:31,428.428 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:48:31,429.429 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:48:31,432.432 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:48:31,434.434 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:48:33,468.468 INFO    ] ================================================
[2026-08-29 09:48:33,484.484 INFO    ] Launching Daemon at Sat Aug 29 09:48:33 IST 2026
[2026-08-29 09:48:33,495.495 INFO    ] ================================================
[2026-08-29 09:48:34,070.070 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:48:34
[2026-08-29 09:48:34,671.671 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:48:34,935.935 INFO    ] Initializing speech engine...
[2026-08-29 09:48:34,942.942 INFO    ] 2026-08-29 09:48:34
[2026-08-29 09:48:35,244.244 INFO    ] 2026-08-29 09:48:35
[2026-08-29 09:48:35,283.283 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:48:35,487.487 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:48:35,494.494 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:48:35,665.665 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:48:35,677.677 INFO    ] time= 29/08/2026 09:48:35
[2026-08-29 09:48:35,683.683 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:48:35,690.690 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:48:35,764.764 INFO    ] No existing commands found in stream
[2026-08-29 09:48:40,776.776 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:48:40,779.779 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-08-29 09:48:42,762.762 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:48:42,764.764 INFO    ] Checking for system updates...
[2026-08-29 09:48:42,784.784 INFO    ] 200
[2026-08-29 09:48:42,786.786 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:48:42,815.815 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:48:42,816.816 INFO    ] No update needed
[2026-08-29 09:48:42,818.818 INFO    ] Checking for camera pi updates...
[2026-08-29 09:48:42,838.838 INFO    ] 200
[2026-08-29 09:48:42,840.840 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:48:42,864.864 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:48:42,957.957 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:48:42,958.958 INFO    ] No camera update needed
[2026-08-29 09:48:42,960.960 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:48:42,961.961 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:48:42,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:48:42,966.966 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:48:45,006.006 INFO    ] ================================================
[2026-08-29 09:48:45,021.021 INFO    ] Launching Daemon at Sat Aug 29 09:48:45 IST 2026
[2026-08-29 09:48:45,032.032 INFO    ] ================================================
[2026-08-29 09:48:45,388.388 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:48:45
[2026-08-29 09:48:45,809.809 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:48:46,122.122 INFO    ] Initializing speech engine...
[2026-08-29 09:48:46,129.129 INFO    ] 2026-08-29 09:48:46
[2026-08-29 09:48:46,406.406 INFO    ] 2026-08-29 09:48:46
[2026-08-29 09:48:46,466.466 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:48:46,697.697 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:48:46,707.707 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:48:46,845.845 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:48:46,893.893 INFO    ] time= 29/08/2026 09:48:46
[2026-08-29 09:48:46,958.958 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:48:46,985.985 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:48:47,043.043 INFO    ] No existing commands found in stream
[2026-08-29 09:48:52,056.056 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:48:52,059.059 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-08-29 09:48:54,989.989 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:48:54,990.990 INFO    ] Checking for system updates...
[2026-08-29 09:48:55,013.013 INFO    ] 200
[2026-08-29 09:48:55,014.014 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:48:55,047.047 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:48:55,049.049 INFO    ] No update needed
[2026-08-29 09:48:55,050.050 INFO    ] Checking for camera pi updates...
[2026-08-29 09:48:55,071.071 INFO    ] 200
[2026-08-29 09:48:55,072.072 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:48:55,097.097 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:48:55,191.191 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:48:55,192.192 INFO    ] No camera update needed
[2026-08-29 09:48:55,194.194 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:48:55,195.195 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:48:55,198.198 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:48:55,201.201 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:48:57,239.239 INFO    ] ================================================
[2026-08-29 09:48:57,255.255 INFO    ] Launching Daemon at Sat Aug 29 09:48:57 IST 2026
[2026-08-29 09:48:57,266.266 INFO    ] ================================================
[2026-08-29 09:48:57,597.597 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:48:57
[2026-08-29 09:48:58,143.143 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:48:58,421.421 INFO    ] Initializing speech engine...
[2026-08-29 09:48:58,428.428 INFO    ] 2026-08-29 09:48:58
[2026-08-29 09:48:58,688.688 INFO    ] 2026-08-29 09:48:58
[2026-08-29 09:48:58,743.743 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:48:58,965.965 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:48:58,974.974 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:48:59,109.109 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:48:59,153.153 INFO    ] time= 29/08/2026 09:48:59
[2026-08-29 09:48:59,207.207 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:48:59,239.239 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:48:59,372.372 INFO    ] No existing commands found in stream
[2026-08-29 09:49:04,397.397 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:49:04,400.400 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-08-29 09:49:06,073.073 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:49:06,074.074 INFO    ] Checking for system updates...
[2026-08-29 09:49:06,095.095 INFO    ] 200
[2026-08-29 09:49:06,096.096 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:49:06,126.126 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:49:06,128.128 INFO    ] No update needed
[2026-08-29 09:49:06,129.129 INFO    ] Checking for camera pi updates...
[2026-08-29 09:49:06,149.149 INFO    ] 200
[2026-08-29 09:49:06,150.150 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:49:06,173.173 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:49:06,259.259 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:49:06,261.261 INFO    ] No camera update needed
[2026-08-29 09:49:06,262.262 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:49:06,264.264 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:49:06,267.267 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:49:06,270.270 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:49:08,309.309 INFO    ] ================================================
[2026-08-29 09:49:08,325.325 INFO    ] Launching Daemon at Sat Aug 29 09:49:08 IST 2026
[2026-08-29 09:49:08,336.336 INFO    ] ================================================
[2026-08-29 09:49:08,797.797 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:49:08
[2026-08-29 09:49:09,398.398 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:49:09,675.675 INFO    ] Initializing speech engine...
[2026-08-29 09:49:09,682.682 INFO    ] 2026-08-29 09:49:09
[2026-08-29 09:49:09,943.943 INFO    ] 2026-08-29 09:49:09
[2026-08-29 09:49:10,008.008 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:49:10,167.167 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:49:10,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:49:10,307.307 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:49:10,328.328 INFO    ] time= 29/08/2026 09:49:10
[2026-08-29 09:49:10,350.350 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:49:10,358.358 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:49:10,435.435 INFO    ] No existing commands found in stream
[2026-08-29 09:49:15,448.448 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:49:15,451.451 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 09:49:19,053.053 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:49:19,054.054 INFO    ] Checking for system updates...
[2026-08-29 09:49:19,075.075 INFO    ] 200
[2026-08-29 09:49:19,076.076 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:49:19,106.106 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:49:19,108.108 INFO    ] No update needed
[2026-08-29 09:49:19,109.109 INFO    ] Checking for camera pi updates...
[2026-08-29 09:49:19,129.129 INFO    ] 200
[2026-08-29 09:49:19,130.130 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:49:19,153.153 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:49:19,233.233 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:49:19,234.234 INFO    ] No camera update needed
[2026-08-29 09:49:19,235.235 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:49:19,237.237 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:49:19,240.240 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:49:19,243.243 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:49:21,283.283 INFO    ] ================================================
[2026-08-29 09:49:21,299.299 INFO    ] Launching Daemon at Sat Aug 29 09:49:21 IST 2026
[2026-08-29 09:49:21,310.310 INFO    ] ================================================
[2026-08-29 09:49:21,657.657 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:49:21
[2026-08-29 09:49:21,968.968 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:49:22,100.100 INFO    ] Initializing speech engine...
[2026-08-29 09:49:22,113.113 INFO    ] 2026-08-29 09:49:22
[2026-08-29 09:49:22,321.321 INFO    ] 2026-08-29 09:49:22
[2026-08-29 09:49:22,349.349 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:49:22,476.476 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:49:22,535.535 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:49:22,704.704 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:49:22,751.751 INFO    ] time= 29/08/2026 09:49:22
[2026-08-29 09:49:22,778.778 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:49:22,842.842 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:49:22,959.959 INFO    ] No existing commands found in stream
[2026-08-29 09:49:27,994.994 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:49:27,997.997 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-08-29 09:49:31,994.994 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:49:31,995.995 INFO    ] Checking for system updates...
[2026-08-29 09:49:32,016.016 INFO    ] 200
[2026-08-29 09:49:32,017.017 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:49:32,057.057 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:49:32,059.059 INFO    ] No update needed
[2026-08-29 09:49:32,061.061 INFO    ] Checking for camera pi updates...
[2026-08-29 09:49:32,087.087 INFO    ] 200
[2026-08-29 09:49:32,089.089 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:49:32,116.116 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:49:32,212.212 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:49:32,215.215 INFO    ] No camera update needed
[2026-08-29 09:49:32,218.218 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:49:32,220.220 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:49:32,226.226 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:49:32,232.232 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:49:34,273.273 INFO    ] ================================================
[2026-08-29 09:49:34,290.290 INFO    ] Launching Daemon at Sat Aug 29 09:49:34 IST 2026
[2026-08-29 09:49:34,301.301 INFO    ] ================================================
[2026-08-29 09:49:34,910.910 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:49:34
[2026-08-29 09:49:35,404.404 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:49:35,612.612 INFO    ] Initializing speech engine...
[2026-08-29 09:49:35,619.619 INFO    ] 2026-08-29 09:49:35
[2026-08-29 09:49:35,881.881 INFO    ] 2026-08-29 09:49:35
[2026-08-29 09:49:35,935.935 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:49:36,156.156 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:49:36,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:49:36,300.300 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:49:36,345.345 INFO    ] time= 29/08/2026 09:49:36
[2026-08-29 09:49:36,399.399 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:49:36,431.431 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:49:36,548.548 INFO    ] No existing commands found in stream
[2026-08-29 09:49:41,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:49:41,577.577 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-08-29 09:49:43,822.822 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:49:43,824.824 INFO    ] Checking for system updates...
[2026-08-29 09:49:43,864.864 INFO    ] 200
[2026-08-29 09:49:43,867.867 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:49:43,921.921 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:49:43,924.924 INFO    ] No update needed
[2026-08-29 09:49:43,926.926 INFO    ] Checking for camera pi updates...
[2026-08-29 09:49:43,959.959 INFO    ] 200
[2026-08-29 09:49:43,962.962 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:49:44,002.002 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:49:44,105.105 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:49:44,107.107 INFO    ] No camera update needed
[2026-08-29 09:49:44,109.109 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:49:44,112.112 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:49:44,117.117 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:49:44,122.122 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:49:46,162.162 INFO    ] ================================================
[2026-08-29 09:49:46,178.178 INFO    ] Launching Daemon at Sat Aug 29 09:49:46 IST 2026
[2026-08-29 09:49:46,189.189 INFO    ] ================================================
[2026-08-29 09:49:46,575.575 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:49:46
[2026-08-29 09:49:46,914.914 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:49:47,065.065 INFO    ] Initializing speech engine...
[2026-08-29 09:49:47,071.071 INFO    ] 2026-08-29 09:49:47
[2026-08-29 09:49:47,288.288 INFO    ] 2026-08-29 09:49:47
[2026-08-29 09:49:47,318.318 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:49:47,512.512 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:49:47,514.514 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:49:47,665.665 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:49:47,728.728 INFO    ] time= 29/08/2026 09:49:47
[2026-08-29 09:49:47,767.767 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:49:47,769.769 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:49:47,847.847 INFO    ] No existing commands found in stream
[2026-08-29 09:49:52,856.856 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:49:52,859.859 INFO    ] Waiting 3.71 seconds before fallback handling...
[2026-08-29 09:49:56,936.936 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:49:56,938.938 INFO    ] Checking for system updates...
[2026-08-29 09:49:56,959.959 INFO    ] 200
[2026-08-29 09:49:56,961.961 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:49:56,990.990 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:49:56,992.992 INFO    ] No update needed
[2026-08-29 09:49:56,993.993 INFO    ] Checking for camera pi updates...
[2026-08-29 09:49:57,012.012 INFO    ] 200
[2026-08-29 09:49:57,013.013 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:49:57,038.038 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:49:57,115.115 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:49:57,116.116 INFO    ] No camera update needed
[2026-08-29 09:49:57,117.117 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:49:57,119.119 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:49:57,121.121 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:49:57,124.124 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:49:59,163.163 INFO    ] ================================================
[2026-08-29 09:49:59,180.180 INFO    ] Launching Daemon at Sat Aug 29 09:49:59 IST 2026
[2026-08-29 09:49:59,191.191 INFO    ] ================================================
[2026-08-29 09:49:59,552.552 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:49:59
[2026-08-29 09:49:59,891.891 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:50:00,038.038 INFO    ] Initializing speech engine...
[2026-08-29 09:50:00,041.041 INFO    ] 2026-08-29 09:50:00
[2026-08-29 09:50:00,286.286 INFO    ] 2026-08-29 09:50:00
[2026-08-29 09:50:00,345.345 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:50:00,511.511 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:50:00,518.518 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:50:00,693.693 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:50:00,716.716 INFO    ] time= 29/08/2026 09:50:00
[2026-08-29 09:50:00,731.731 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:50:00,740.740 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:50:00,845.845 INFO    ] No existing commands found in stream
[2026-08-29 09:50:05,870.870 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:50:05,873.873 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-08-29 09:50:07,965.965 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:50:07,967.967 INFO    ] Checking for system updates...
[2026-08-29 09:50:07,987.987 INFO    ] 200
[2026-08-29 09:50:07,988.988 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:50:08,018.018 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:50:08,020.020 INFO    ] No update needed
[2026-08-29 09:50:08,021.021 INFO    ] Checking for camera pi updates...
[2026-08-29 09:50:08,041.041 INFO    ] 200
[2026-08-29 09:50:08,043.043 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:50:08,066.066 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:50:08,152.152 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:50:08,153.153 INFO    ] No camera update needed
[2026-08-29 09:50:08,155.155 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:50:08,156.156 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:50:08,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:50:08,161.161 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:50:10,201.201 INFO    ] ================================================
[2026-08-29 09:50:10,217.217 INFO    ] Launching Daemon at Sat Aug 29 09:50:10 IST 2026
[2026-08-29 09:50:10,229.229 INFO    ] ================================================
[2026-08-29 09:50:10,583.583 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:50:10
[2026-08-29 09:50:10,896.896 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:50:11,102.102 INFO    ] Initializing speech engine...
[2026-08-29 09:50:11,109.109 INFO    ] 2026-08-29 09:50:11
[2026-08-29 09:50:11,371.371 INFO    ] 2026-08-29 09:50:11
[2026-08-29 09:50:11,402.402 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:50:11,590.590 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:50:11,634.634 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:50:11,790.790 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:50:11,812.812 INFO    ] time= 29/08/2026 09:50:11
[2026-08-29 09:50:11,876.876 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:50:11,924.924 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:50:11,977.977 INFO    ] No existing commands found in stream
[2026-08-29 09:50:16,989.989 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:50:16,991.991 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-08-29 09:50:20,914.914 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:50:20,916.916 INFO    ] Checking for system updates...
[2026-08-29 09:50:20,938.938 INFO    ] 200
[2026-08-29 09:50:20,939.939 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:50:20,970.970 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:50:20,972.972 INFO    ] No update needed
[2026-08-29 09:50:20,973.973 INFO    ] Checking for camera pi updates...
[2026-08-29 09:50:21,002.002 INFO    ] 200
[2026-08-29 09:50:21,003.003 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:50:21,026.026 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:50:21,214.214 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:50:21,215.215 INFO    ] No camera update needed
[2026-08-29 09:50:21,217.217 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:50:21,218.218 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:50:21,221.221 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:50:21,224.224 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:50:23,263.263 INFO    ] ================================================
[2026-08-29 09:50:23,279.279 INFO    ] Launching Daemon at Sat Aug 29 09:50:23 IST 2026
[2026-08-29 09:50:23,291.291 INFO    ] ================================================
[2026-08-29 09:50:23,639.639 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:50:23
[2026-08-29 09:50:23,950.950 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:50:24,088.088 INFO    ] Initializing speech engine...
[2026-08-29 09:50:24,098.098 INFO    ] 2026-08-29 09:50:24
[2026-08-29 09:50:24,305.305 INFO    ] 2026-08-29 09:50:24
[2026-08-29 09:50:24,334.334 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:50:24,510.510 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:50:24,522.522 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:50:24,670.670 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:50:24,697.697 INFO    ] time= 29/08/2026 09:50:24
[2026-08-29 09:50:24,705.705 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:50:24,712.712 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:50:24,814.814 INFO    ] No existing commands found in stream
[2026-08-29 09:50:29,830.830 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:50:29,833.833 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-08-29 09:50:31,132.132 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:50:31,134.134 INFO    ] Checking for system updates...
[2026-08-29 09:50:31,154.154 INFO    ] 200
[2026-08-29 09:50:31,156.156 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:50:31,186.186 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:50:31,187.187 INFO    ] No update needed
[2026-08-29 09:50:31,188.188 INFO    ] Checking for camera pi updates...
[2026-08-29 09:50:31,208.208 INFO    ] 200
[2026-08-29 09:50:31,210.210 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:50:31,235.235 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:50:31,320.320 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:50:31,321.321 INFO    ] No camera update needed
[2026-08-29 09:50:31,323.323 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:50:31,324.324 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:50:31,327.327 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:50:31,330.330 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:50:33,362.362 INFO    ] ================================================
[2026-08-29 09:50:33,378.378 INFO    ] Launching Daemon at Sat Aug 29 09:50:33 IST 2026
[2026-08-29 09:50:33,389.389 INFO    ] ================================================
[2026-08-29 09:50:33,976.976 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:50:33
[2026-08-29 09:50:34,582.582 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:50:34,857.857 INFO    ] Initializing speech engine...
[2026-08-29 09:50:34,867.867 INFO    ] 2026-08-29 09:50:34
[2026-08-29 09:50:35,117.117 INFO    ] 2026-08-29 09:50:35
[2026-08-29 09:50:35,183.183 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:50:35,406.406 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:50:35,416.416 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:50:35,524.524 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:50:35,586.586 INFO    ] time= 29/08/2026 09:50:35
[2026-08-29 09:50:35,590.590 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:50:35,600.600 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:50:35,696.696 INFO    ] No existing commands found in stream
[2026-08-29 09:50:40,724.724 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:50:40,727.727 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-08-29 09:50:44,013.013 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:50:44,014.014 INFO    ] Checking for system updates...
[2026-08-29 09:50:44,035.035 INFO    ] 200
[2026-08-29 09:50:44,036.036 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:50:44,072.072 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:50:44,074.074 INFO    ] No update needed
[2026-08-29 09:50:44,075.075 INFO    ] Checking for camera pi updates...
[2026-08-29 09:50:44,095.095 INFO    ] 200
[2026-08-29 09:50:44,096.096 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:50:44,119.119 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:50:44,200.200 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:50:44,201.201 INFO    ] No camera update needed
[2026-08-29 09:50:44,202.202 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:50:44,204.204 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:50:44,207.207 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:50:44,209.209 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:50:46,247.247 INFO    ] ================================================
[2026-08-29 09:50:46,262.262 INFO    ] Launching Daemon at Sat Aug 29 09:50:46 IST 2026
[2026-08-29 09:50:46,274.274 INFO    ] ================================================
[2026-08-29 09:50:46,675.675 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:50:46
[2026-08-29 09:50:47,015.015 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:50:47,170.170 INFO    ] Initializing speech engine...
[2026-08-29 09:50:47,174.174 INFO    ] 2026-08-29 09:50:47
[2026-08-29 09:50:47,381.381 INFO    ] 2026-08-29 09:50:47
[2026-08-29 09:50:47,427.427 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:50:47,589.589 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:50:47,598.598 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:50:47,766.766 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:50:47,799.799 INFO    ] time= 29/08/2026 09:50:47
[2026-08-29 09:50:47,820.820 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:50:47,846.846 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:50:47,953.953 INFO    ] No existing commands found in stream
[2026-08-29 09:50:52,973.973 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:50:52,976.976 INFO    ] Waiting 2.52 seconds before fallback handling...
[2026-08-29 09:50:55,946.946 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:50:55,948.948 INFO    ] Checking for system updates...
[2026-08-29 09:50:55,968.968 INFO    ] 200
[2026-08-29 09:50:55,970.970 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:50:56,002.002 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:50:56,004.004 INFO    ] No update needed
[2026-08-29 09:50:56,005.005 INFO    ] Checking for camera pi updates...
[2026-08-29 09:50:56,025.025 INFO    ] 200
[2026-08-29 09:50:56,026.026 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:50:56,049.049 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:50:56,136.136 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:50:56,139.139 INFO    ] No camera update needed
[2026-08-29 09:50:56,140.140 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:50:56,141.141 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:50:56,145.145 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:50:56,147.147 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:50:58,185.185 INFO    ] ================================================
[2026-08-29 09:50:58,201.201 INFO    ] Launching Daemon at Sat Aug 29 09:50:58 IST 2026
[2026-08-29 09:50:58,212.212 INFO    ] ================================================
[2026-08-29 09:50:58,731.731 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:50:58
[2026-08-29 09:50:59,315.315 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:50:59,584.584 INFO    ] Initializing speech engine...
[2026-08-29 09:50:59,592.592 INFO    ] 2026-08-29 09:50:59
[2026-08-29 09:50:59,839.839 INFO    ] 2026-08-29 09:50:59
[2026-08-29 09:50:59,875.875 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:51:00,128.128 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:51:00,137.137 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:51:00,269.269 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:51:00,301.301 INFO    ] time= 29/08/2026 09:51:00
[2026-08-29 09:51:00,366.366 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:51:00,404.404 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:51:00,459.459 INFO    ] No existing commands found in stream
[2026-08-29 09:51:05,471.471 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:51:05,474.474 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-08-29 09:51:09,466.466 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:51:09,467.467 INFO    ] Checking for system updates...
[2026-08-29 09:51:09,487.487 INFO    ] 200
[2026-08-29 09:51:09,489.489 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:51:09,521.521 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:51:09,523.523 INFO    ] No update needed
[2026-08-29 09:51:09,524.524 INFO    ] Checking for camera pi updates...
[2026-08-29 09:51:09,544.544 INFO    ] 200
[2026-08-29 09:51:09,546.546 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:51:09,569.569 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:51:09,659.659 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:51:09,660.660 INFO    ] No camera update needed
[2026-08-29 09:51:09,661.661 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:51:09,663.663 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:51:09,666.666 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:51:09,669.669 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:51:11,708.708 INFO    ] ================================================
[2026-08-29 09:51:11,724.724 INFO    ] Launching Daemon at Sat Aug 29 09:51:11 IST 2026
[2026-08-29 09:51:11,735.735 INFO    ] ================================================
[2026-08-29 09:51:12,060.060 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:51:12
[2026-08-29 09:51:12,373.373 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:51:12,508.508 INFO    ] Initializing speech engine...
[2026-08-29 09:51:12,516.516 INFO    ] 2026-08-29 09:51:12
[2026-08-29 09:51:12,741.741 INFO    ] 2026-08-29 09:51:12
[2026-08-29 09:51:12,772.772 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:51:12,905.905 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:51:12,932.932 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:51:13,074.074 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:51:13,120.120 INFO    ] time= 29/08/2026 09:51:13
[2026-08-29 09:51:13,155.155 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:51:13,204.204 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:51:13,302.302 INFO    ] No existing commands found in stream
[2026-08-29 09:51:18,313.313 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:51:18,315.315 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-08-29 09:51:20,143.143 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:51:20,144.144 INFO    ] Checking for system updates...
[2026-08-29 09:51:20,166.166 INFO    ] 200
[2026-08-29 09:51:20,167.167 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:51:20,199.199 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:51:20,201.201 INFO    ] No update needed
[2026-08-29 09:51:20,202.202 INFO    ] Checking for camera pi updates...
[2026-08-29 09:51:20,222.222 INFO    ] 200
[2026-08-29 09:51:20,223.223 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:51:20,248.248 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:51:20,387.387 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:51:20,388.388 INFO    ] No camera update needed
[2026-08-29 09:51:20,390.390 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:51:20,391.391 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:51:20,394.394 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:51:20,396.396 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:51:22,435.435 INFO    ] ================================================
[2026-08-29 09:51:22,451.451 INFO    ] Launching Daemon at Sat Aug 29 09:51:22 IST 2026
[2026-08-29 09:51:22,462.462 INFO    ] ================================================
[2026-08-29 09:51:22,793.793 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:51:22
[2026-08-29 09:51:23,107.107 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:51:23,251.251 INFO    ] Initializing speech engine...
[2026-08-29 09:51:23,257.257 INFO    ] 2026-08-29 09:51:23
[2026-08-29 09:51:23,465.465 INFO    ] 2026-08-29 09:51:23
[2026-08-29 09:51:23,494.494 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:51:23,662.662 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:51:23,667.667 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:51:23,789.789 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:51:23,791.791 INFO    ] time= 29/08/2026 09:51:23
[2026-08-29 09:51:23,840.840 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:51:23,877.877 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:51:23,935.935 INFO    ] No existing commands found in stream
[2026-08-29 09:51:28,950.950 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:51:28,953.953 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-08-29 09:51:32,646.646 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:51:32,649.649 INFO    ] Checking for system updates...
[2026-08-29 09:51:32,686.686 INFO    ] 200
[2026-08-29 09:51:32,688.688 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:51:32,749.749 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:51:32,752.752 INFO    ] No update needed
[2026-08-29 09:51:32,755.755 INFO    ] Checking for camera pi updates...
[2026-08-29 09:51:32,791.791 INFO    ] 200
[2026-08-29 09:51:32,794.794 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:51:32,835.835 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:51:32,917.917 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:51:32,920.920 INFO    ] No camera update needed
[2026-08-29 09:51:32,923.923 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:51:32,925.925 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:51:32,932.932 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:51:32,937.937 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:51:34,978.978 INFO    ] ================================================
[2026-08-29 09:51:34,994.994 INFO    ] Launching Daemon at Sat Aug 29 09:51:34 IST 2026
[2026-08-29 09:51:35,005.005 INFO    ] ================================================
[2026-08-29 09:51:35,398.398 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:51:35
[2026-08-29 09:51:35,709.709 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:51:35,901.901 INFO    ] Initializing speech engine...
[2026-08-29 09:51:35,910.910 INFO    ] 2026-08-29 09:51:35
[2026-08-29 09:51:36,157.157 INFO    ] 2026-08-29 09:51:36
[2026-08-29 09:51:36,192.192 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:51:36,391.391 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:51:36,446.446 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:51:36,589.589 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:51:36,660.660 INFO    ] time= 29/08/2026 09:51:36
[2026-08-29 09:51:36,704.704 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:51:36,722.722 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:51:36,772.772 INFO    ] No existing commands found in stream
[2026-08-29 09:51:41,784.784 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:51:41,787.787 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-08-29 09:51:43,152.152 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:51:43,154.154 INFO    ] Checking for system updates...
[2026-08-29 09:51:43,195.195 INFO    ] 200
[2026-08-29 09:51:43,197.197 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:51:43,249.249 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:51:43,252.252 INFO    ] No update needed
[2026-08-29 09:51:43,254.254 INFO    ] Checking for camera pi updates...
[2026-08-29 09:51:43,292.292 INFO    ] 200
[2026-08-29 09:51:43,295.295 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:51:43,341.341 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:51:43,426.426 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:51:43,429.429 INFO    ] No camera update needed
[2026-08-29 09:51:43,431.431 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:51:43,433.433 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:51:43,439.439 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:51:43,444.444 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:51:45,486.486 INFO    ] ================================================
[2026-08-29 09:51:45,502.502 INFO    ] Launching Daemon at Sat Aug 29 09:51:45 IST 2026
[2026-08-29 09:51:45,513.513 INFO    ] ================================================
[2026-08-29 09:51:45,912.912 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:51:45
[2026-08-29 09:51:46,501.501 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:51:46,772.772 INFO    ] Initializing speech engine...
[2026-08-29 09:51:46,780.780 INFO    ] 2026-08-29 09:51:46
[2026-08-29 09:51:47,031.031 INFO    ] 2026-08-29 09:51:47
[2026-08-29 09:51:47,065.065 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:51:47,240.240 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:51:47,255.255 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:51:47,400.400 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:51:47,409.409 INFO    ] time= 29/08/2026 09:51:47
[2026-08-29 09:51:47,417.417 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:51:47,456.456 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:51:47,595.595 INFO    ] No existing commands found in stream
[2026-08-29 09:51:52,620.620 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:51:52,623.623 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-08-29 09:51:56,686.686 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:51:56,687.687 INFO    ] Checking for system updates...
[2026-08-29 09:51:56,708.708 INFO    ] 200
[2026-08-29 09:51:56,709.709 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:51:56,740.740 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:51:56,741.741 INFO    ] No update needed
[2026-08-29 09:51:56,743.743 INFO    ] Checking for camera pi updates...
[2026-08-29 09:51:56,764.764 INFO    ] 200
[2026-08-29 09:51:56,765.765 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:51:56,796.796 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:51:56,877.877 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:51:56,880.880 INFO    ] No camera update needed
[2026-08-29 09:51:56,883.883 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:51:56,886.886 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:51:56,892.892 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:51:56,898.898 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:51:58,939.939 INFO    ] ================================================
[2026-08-29 09:51:58,956.956 INFO    ] Launching Daemon at Sat Aug 29 09:51:58 IST 2026
[2026-08-29 09:51:58,968.968 INFO    ] ================================================
[2026-08-29 09:51:59,552.552 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:51:59
[2026-08-29 09:52:00,042.042 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:52:00,231.231 INFO    ] Initializing speech engine...
[2026-08-29 09:52:00,254.254 INFO    ] 2026-08-29 09:52:00
[2026-08-29 09:52:00,509.509 INFO    ] 2026-08-29 09:52:00
[2026-08-29 09:52:00,545.545 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:52:00,718.718 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:52:00,730.730 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:52:00,871.871 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:52:00,879.879 INFO    ] time= 29/08/2026 09:52:00
[2026-08-29 09:52:00,886.886 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:52:00,932.932 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:52:01,054.054 INFO    ] No existing commands found in stream
[2026-08-29 09:52:06,084.084 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:52:06,087.087 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-08-29 09:52:07,288.288 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:52:07,289.289 INFO    ] Checking for system updates...
[2026-08-29 09:52:07,309.309 INFO    ] 200
[2026-08-29 09:52:07,311.311 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:52:07,340.340 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:52:07,342.342 INFO    ] No update needed
[2026-08-29 09:52:07,343.343 INFO    ] Checking for camera pi updates...
[2026-08-29 09:52:07,364.364 INFO    ] 200
[2026-08-29 09:52:07,365.365 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:52:07,388.388 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:52:07,477.477 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:52:07,479.479 INFO    ] No camera update needed
[2026-08-29 09:52:07,480.480 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:52:07,481.481 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:52:07,485.485 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:52:07,487.487 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:52:09,527.527 INFO    ] ================================================
[2026-08-29 09:52:09,544.544 INFO    ] Launching Daemon at Sat Aug 29 09:52:09 IST 2026
[2026-08-29 09:52:09,555.555 INFO    ] ================================================
[2026-08-29 09:52:09,904.904 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:52:09
[2026-08-29 09:52:10,222.222 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:52:10,363.363 INFO    ] Initializing speech engine...
[2026-08-29 09:52:10,372.372 INFO    ] 2026-08-29 09:52:10
[2026-08-29 09:52:10,569.569 INFO    ] 2026-08-29 09:52:10
[2026-08-29 09:52:10,644.644 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:52:10,797.797 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:52:10,806.806 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:52:10,938.938 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:52:10,955.955 INFO    ] time= 29/08/2026 09:52:10
[2026-08-29 09:52:11,009.009 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:52:11,072.072 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:52:11,184.184 INFO    ] No existing commands found in stream
[2026-08-29 09:52:16,211.211 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:52:16,214.214 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-08-29 09:52:19,904.904 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:52:19,905.905 INFO    ] Checking for system updates...
[2026-08-29 09:52:19,927.927 INFO    ] 200
[2026-08-29 09:52:19,928.928 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:52:19,958.958 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:52:19,959.959 INFO    ] No update needed
[2026-08-29 09:52:19,960.960 INFO    ] Checking for camera pi updates...
[2026-08-29 09:52:19,981.981 INFO    ] 200
[2026-08-29 09:52:19,982.982 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:52:20,007.007 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:52:20,085.085 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:52:20,086.086 INFO    ] No camera update needed
[2026-08-29 09:52:20,088.088 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:52:20,090.090 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:52:20,096.096 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:52:20,100.100 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:52:22,140.140 INFO    ] ================================================
[2026-08-29 09:52:22,157.157 INFO    ] Launching Daemon at Sat Aug 29 09:52:22 IST 2026
[2026-08-29 09:52:22,168.168 INFO    ] ================================================
[2026-08-29 09:52:22,739.739 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:52:22
[2026-08-29 09:52:23,243.243 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:52:23,491.491 INFO    ] Initializing speech engine...
[2026-08-29 09:52:23,500.500 INFO    ] 2026-08-29 09:52:23
[2026-08-29 09:52:23,793.793 INFO    ] 2026-08-29 09:52:23
[2026-08-29 09:52:23,854.854 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:52:24,031.031 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:52:24,054.054 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:52:24,238.238 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:52:24,265.265 INFO    ] time= 29/08/2026 09:52:24
[2026-08-29 09:52:24,314.314 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:52:24,373.373 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:52:24,430.430 INFO    ] No existing commands found in stream
[2026-08-29 09:52:29,441.441 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:52:29,444.444 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-08-29 09:52:31,354.354 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:52:31,356.356 INFO    ] Checking for system updates...
[2026-08-29 09:52:31,379.379 INFO    ] 200
[2026-08-29 09:52:31,381.381 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:52:31,447.447 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:52:31,450.450 INFO    ] No update needed
[2026-08-29 09:52:31,454.454 INFO    ] Checking for camera pi updates...
[2026-08-29 09:52:31,490.490 INFO    ] 200
[2026-08-29 09:52:31,494.494 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:52:31,538.538 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:52:31,740.740 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:52:31,744.744 INFO    ] No camera update needed
[2026-08-29 09:52:31,747.747 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:52:31,751.751 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:52:31,758.758 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:52:31,768.768 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:52:33,810.810 INFO    ] ================================================
[2026-08-29 09:52:33,826.826 INFO    ] Launching Daemon at Sat Aug 29 09:52:33 IST 2026
[2026-08-29 09:52:33,837.837 INFO    ] ================================================
[2026-08-29 09:52:34,410.410 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:52:34
[2026-08-29 09:52:34,772.772 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:52:34,910.910 INFO    ] Initializing speech engine...
[2026-08-29 09:52:34,917.917 INFO    ] 2026-08-29 09:52:34
[2026-08-29 09:52:35,125.125 INFO    ] 2026-08-29 09:52:35
[2026-08-29 09:52:35,155.155 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:52:35,278.278 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:52:35,341.341 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:52:35,473.473 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:52:35,535.535 INFO    ] time= 29/08/2026 09:52:35
[2026-08-29 09:52:35,572.572 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:52:35,574.574 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:52:35,647.647 INFO    ] No existing commands found in stream
[2026-08-29 09:52:40,651.651 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:52:40,654.654 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-08-29 09:52:42,508.508 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:52:42,509.509 INFO    ] Checking for system updates...
[2026-08-29 09:52:42,530.530 INFO    ] 200
[2026-08-29 09:52:42,531.531 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:52:42,561.561 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:52:42,562.562 INFO    ] No update needed
[2026-08-29 09:52:42,564.564 INFO    ] Checking for camera pi updates...
[2026-08-29 09:52:42,583.583 INFO    ] 200
[2026-08-29 09:52:42,585.585 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:52:42,609.609 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:52:42,726.726 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:52:42,728.728 INFO    ] No camera update needed
[2026-08-29 09:52:42,729.729 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:52:42,730.730 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:52:42,734.734 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:52:42,738.738 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:52:44,769.769 INFO    ] ================================================
[2026-08-29 09:52:44,778.778 INFO    ] Launching Daemon at Sat Aug 29 09:52:44 IST 2026
[2026-08-29 09:52:44,784.784 INFO    ] ================================================
[2026-08-29 09:52:45,134.134 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:52:45
[2026-08-29 09:52:45,450.450 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:52:45,700.700 INFO    ] Initializing speech engine...
[2026-08-29 09:52:45,713.713 INFO    ] 2026-08-29 09:52:45
[2026-08-29 09:52:45,985.985 INFO    ] 2026-08-29 09:52:45
[2026-08-29 09:52:46,039.039 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:52:46,268.268 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:52:46,279.279 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:52:46,417.417 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:52:46,444.444 INFO    ] time= 29/08/2026 09:52:46
[2026-08-29 09:52:46,514.514 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:52:46,556.556 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:52:46,614.614 INFO    ] No existing commands found in stream
[2026-08-29 09:52:51,627.627 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:52:51,630.630 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-08-29 09:52:53,147.147 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:52:53,149.149 INFO    ] Checking for system updates...
[2026-08-29 09:52:53,169.169 INFO    ] 200
[2026-08-29 09:52:53,171.171 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:52:53,203.203 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:52:53,204.204 INFO    ] No update needed
[2026-08-29 09:52:53,205.205 INFO    ] Checking for camera pi updates...
[2026-08-29 09:52:53,225.225 INFO    ] 200
[2026-08-29 09:52:53,227.227 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:52:53,249.249 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:52:53,337.337 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:52:53,338.338 INFO    ] No camera update needed
[2026-08-29 09:52:53,340.340 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:52:53,341.341 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:52:53,344.344 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:52:53,346.346 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:52:55,387.387 INFO    ] ================================================
[2026-08-29 09:52:55,403.403 INFO    ] Launching Daemon at Sat Aug 29 09:52:55 IST 2026
[2026-08-29 09:52:55,414.414 INFO    ] ================================================
[2026-08-29 09:52:55,744.744 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:52:55
[2026-08-29 09:52:56,058.058 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:52:56,195.195 INFO    ] Initializing speech engine...
[2026-08-29 09:52:56,203.203 INFO    ] 2026-08-29 09:52:56
[2026-08-29 09:52:56,411.411 INFO    ] 2026-08-29 09:52:56
[2026-08-29 09:52:56,440.440 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:52:56,625.625 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:52:56,629.629 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:52:56,805.805 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:52:56,838.838 INFO    ] time= 29/08/2026 09:52:56
[2026-08-29 09:52:56,895.895 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:52:56,950.950 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:52:57,034.034 INFO    ] No existing commands found in stream
[2026-08-29 09:53:02,044.044 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:53:02,047.047 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-08-29 09:53:05,313.313 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:53:05,314.314 INFO    ] Checking for system updates...
[2026-08-29 09:53:05,335.335 INFO    ] 200
[2026-08-29 09:53:05,336.336 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:53:05,366.366 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:53:05,367.367 INFO    ] No update needed
[2026-08-29 09:53:05,368.368 INFO    ] Checking for camera pi updates...
[2026-08-29 09:53:05,397.397 INFO    ] 200
[2026-08-29 09:53:05,399.399 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:53:05,439.439 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:53:05,519.519 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:53:05,521.521 INFO    ] No camera update needed
[2026-08-29 09:53:05,524.524 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:53:05,526.526 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:53:05,531.531 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:53:05,536.536 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:53:07,576.576 INFO    ] ================================================
[2026-08-29 09:53:07,592.592 INFO    ] Launching Daemon at Sat Aug 29 09:53:07 IST 2026
[2026-08-29 09:53:07,603.603 INFO    ] ================================================
[2026-08-29 09:53:08,171.171 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:53:08
[2026-08-29 09:53:08,640.640 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:53:08,771.771 INFO    ] Initializing speech engine...
[2026-08-29 09:53:08,775.775 INFO    ] 2026-08-29 09:53:08
[2026-08-29 09:53:09,003.003 INFO    ] 2026-08-29 09:53:08
[2026-08-29 09:53:09,033.033 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:53:09,217.217 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:53:09,224.224 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:53:09,368.368 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:53:09,374.374 INFO    ] time= 29/08/2026 09:53:09
[2026-08-29 09:53:09,393.393 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:53:09,422.422 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:53:09,541.541 INFO    ] No existing commands found in stream
[2026-08-29 09:53:14,556.556 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:53:14,559.559 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-08-29 09:53:17,670.670 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:53:17,671.671 INFO    ] Checking for system updates...
[2026-08-29 09:53:17,693.693 INFO    ] 200
[2026-08-29 09:53:17,694.694 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:53:17,725.725 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:53:17,726.726 INFO    ] No update needed
[2026-08-29 09:53:17,727.727 INFO    ] Checking for camera pi updates...
[2026-08-29 09:53:17,748.748 INFO    ] 200
[2026-08-29 09:53:17,749.749 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:53:17,773.773 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:53:17,882.882 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:53:17,884.884 INFO    ] No camera update needed
[2026-08-29 09:53:17,885.885 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:53:17,886.886 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:53:17,889.889 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:53:17,892.892 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:53:19,932.932 INFO    ] ================================================
[2026-08-29 09:53:19,949.949 INFO    ] Launching Daemon at Sat Aug 29 09:53:19 IST 2026
[2026-08-29 09:53:19,960.960 INFO    ] ================================================
[2026-08-29 09:53:20,473.473 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:53:20
[2026-08-29 09:53:21,073.073 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:53:21,356.356 INFO    ] Initializing speech engine...
[2026-08-29 09:53:21,361.361 INFO    ] 2026-08-29 09:53:21
[2026-08-29 09:53:21,620.620 INFO    ] 2026-08-29 09:53:21
[2026-08-29 09:53:21,680.680 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:53:21,827.827 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:53:21,839.839 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:53:21,984.984 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:53:21,991.991 INFO    ] time= 29/08/2026 09:53:21
[2026-08-29 09:53:21,998.998 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:53:22,025.025 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:53:22,156.156 INFO    ] No existing commands found in stream
[2026-08-29 09:53:27,181.181 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:53:27,184.184 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-08-29 09:53:29,630.630 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:53:29,631.631 INFO    ] Checking for system updates...
[2026-08-29 09:53:29,654.654 INFO    ] 200
[2026-08-29 09:53:29,655.655 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:53:29,686.686 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:53:29,688.688 INFO    ] No update needed
[2026-08-29 09:53:29,689.689 INFO    ] Checking for camera pi updates...
[2026-08-29 09:53:29,708.708 INFO    ] 200
[2026-08-29 09:53:29,709.709 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:53:29,732.732 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:53:29,810.810 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:53:29,811.811 INFO    ] No camera update needed
[2026-08-29 09:53:29,812.812 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:53:29,813.813 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:53:29,816.816 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:53:29,819.819 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:53:31,860.860 INFO    ] ================================================
[2026-08-29 09:53:31,876.876 INFO    ] Launching Daemon at Sat Aug 29 09:53:31 IST 2026
[2026-08-29 09:53:31,888.888 INFO    ] ================================================
[2026-08-29 09:53:32,493.493 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:53:32
[2026-08-29 09:53:33,090.090 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:53:33,367.367 INFO    ] Initializing speech engine...
[2026-08-29 09:53:33,375.375 INFO    ] 2026-08-29 09:53:33
[2026-08-29 09:53:33,621.621 INFO    ] 2026-08-29 09:53:33
[2026-08-29 09:53:33,654.654 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:53:33,850.850 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:53:33,863.863 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:53:33,986.986 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:53:33,992.992 INFO    ] time= 29/08/2026 09:53:33
[2026-08-29 09:53:34,013.013 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:53:34,039.039 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:53:34,117.117 INFO    ] No existing commands found in stream
[2026-08-29 09:53:39,130.130 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:53:39,132.132 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 09:53:40,360.360 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:53:40,361.361 INFO    ] Checking for system updates...
[2026-08-29 09:53:40,381.381 INFO    ] 200
[2026-08-29 09:53:40,383.383 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:53:40,415.415 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:53:40,416.416 INFO    ] No update needed
[2026-08-29 09:53:40,418.418 INFO    ] Checking for camera pi updates...
[2026-08-29 09:53:40,437.437 INFO    ] 200
[2026-08-29 09:53:40,438.438 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:53:40,461.461 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:53:40,563.563 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:53:40,564.564 INFO    ] No camera update needed
[2026-08-29 09:53:40,565.565 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:53:40,567.567 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:53:40,569.569 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:53:40,572.572 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:53:42,612.612 INFO    ] ================================================
[2026-08-29 09:53:42,628.628 INFO    ] Launching Daemon at Sat Aug 29 09:53:42 IST 2026
[2026-08-29 09:53:42,639.639 INFO    ] ================================================
[2026-08-29 09:53:43,282.282 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:53:43
[2026-08-29 09:53:43,941.941 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:53:44,244.244 INFO    ] Initializing speech engine...
[2026-08-29 09:53:44,252.252 INFO    ] 2026-08-29 09:53:44
[2026-08-29 09:53:44,522.522 INFO    ] 2026-08-29 09:53:44
[2026-08-29 09:53:44,558.558 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:53:44,729.729 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:53:44,754.754 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:53:44,887.887 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:53:44,897.897 INFO    ] time= 29/08/2026 09:53:44
[2026-08-29 09:53:44,904.904 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:53:44,961.961 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:53:45,083.083 INFO    ] No existing commands found in stream
[2026-08-29 09:53:50,111.111 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:53:50,114.114 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-08-29 09:53:51,290.290 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:53:51,292.292 INFO    ] Checking for system updates...
[2026-08-29 09:53:51,313.313 INFO    ] 200
[2026-08-29 09:53:51,315.315 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:53:51,347.347 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:53:51,348.348 INFO    ] No update needed
[2026-08-29 09:53:51,349.349 INFO    ] Checking for camera pi updates...
[2026-08-29 09:53:51,368.368 INFO    ] 200
[2026-08-29 09:53:51,370.370 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:53:51,394.394 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:53:51,493.493 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:53:51,494.494 INFO    ] No camera update needed
[2026-08-29 09:53:51,496.496 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:53:51,497.497 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:53:51,500.500 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:53:51,502.502 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:53:53,541.541 INFO    ] ================================================
[2026-08-29 09:53:53,557.557 INFO    ] Launching Daemon at Sat Aug 29 09:53:53 IST 2026
[2026-08-29 09:53:53,568.568 INFO    ] ================================================
[2026-08-29 09:53:53,910.910 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:53:53
[2026-08-29 09:53:54,223.223 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:53:54,353.353 INFO    ] Initializing speech engine...
[2026-08-29 09:53:54,358.358 INFO    ] 2026-08-29 09:53:54
[2026-08-29 09:53:54,576.576 INFO    ] 2026-08-29 09:53:54
[2026-08-29 09:53:54,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:53:54,728.728 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:53:54,766.766 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:53:54,923.923 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:53:54,954.954 INFO    ] time= 29/08/2026 09:53:54
[2026-08-29 09:53:55,004.004 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:53:55,025.025 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:53:55,097.097 INFO    ] No existing commands found in stream
[2026-08-29 09:54:00,107.107 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:54:00,110.110 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-08-29 09:54:03,028.028 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:54:03,031.031 INFO    ] Checking for system updates...
[2026-08-29 09:54:03,078.078 INFO    ] 200
[2026-08-29 09:54:03,080.080 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:54:03,144.144 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:54:03,148.148 INFO    ] No update needed
[2026-08-29 09:54:03,152.152 INFO    ] Checking for camera pi updates...
[2026-08-29 09:54:03,208.208 INFO    ] 200
[2026-08-29 09:54:03,212.212 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:54:03,277.277 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:54:03,361.361 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:54:03,363.363 INFO    ] No camera update needed
[2026-08-29 09:54:03,366.366 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:54:03,369.369 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:54:03,376.376 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:54:03,383.383 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:54:05,424.424 INFO    ] ================================================
[2026-08-29 09:54:05,439.439 INFO    ] Launching Daemon at Sat Aug 29 09:54:05 IST 2026
[2026-08-29 09:54:05,451.451 INFO    ] ================================================
[2026-08-29 09:54:05,780.780 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:54:05
[2026-08-29 09:54:06,091.091 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:54:06,224.224 INFO    ] Initializing speech engine...
[2026-08-29 09:54:06,229.229 INFO    ] 2026-08-29 09:54:06
[2026-08-29 09:54:06,457.457 INFO    ] 2026-08-29 09:54:06
[2026-08-29 09:54:06,487.487 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:54:06,649.649 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:54:06,700.700 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:54:06,836.836 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:54:06,853.853 INFO    ] time= 29/08/2026 09:54:06
[2026-08-29 09:54:06,915.915 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:54:06,957.957 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:54:07,046.046 INFO    ] No existing commands found in stream
[2026-08-29 09:54:12,071.071 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:54:12,074.074 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-08-29 09:54:15,008.008 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:54:15,009.009 INFO    ] Checking for system updates...
[2026-08-29 09:54:15,031.031 INFO    ] 200
[2026-08-29 09:54:15,033.033 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:54:15,063.063 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:54:15,064.064 INFO    ] No update needed
[2026-08-29 09:54:15,066.066 INFO    ] Checking for camera pi updates...
[2026-08-29 09:54:15,085.085 INFO    ] 200
[2026-08-29 09:54:15,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:54:15,112.112 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:54:15,209.209 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:54:15,210.210 INFO    ] No camera update needed
[2026-08-29 09:54:15,212.212 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:54:15,213.213 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:54:15,216.216 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:54:15,219.219 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:54:17,257.257 INFO    ] ================================================
[2026-08-29 09:54:17,272.272 INFO    ] Launching Daemon at Sat Aug 29 09:54:17 IST 2026
[2026-08-29 09:54:17,283.283 INFO    ] ================================================
[2026-08-29 09:54:17,646.646 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:54:17
[2026-08-29 09:54:17,983.983 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:54:18,164.164 INFO    ] Initializing speech engine...
[2026-08-29 09:54:18,177.177 INFO    ] 2026-08-29 09:54:18
[2026-08-29 09:54:18,467.467 INFO    ] 2026-08-29 09:54:18
[2026-08-29 09:54:18,511.511 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:54:18,733.733 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:54:18,742.742 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:54:18,875.875 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:54:18,882.882 INFO    ] time= 29/08/2026 09:54:18
[2026-08-29 09:54:18,937.937 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:54:18,996.996 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:54:19,075.075 INFO    ] No existing commands found in stream
[2026-08-29 09:54:24,108.108 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:54:24,111.111 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 09:54:27,155.155 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:54:27,236.236 INFO    ] Checking for system updates...
[2026-08-29 09:54:27,258.258 INFO    ] 200
[2026-08-29 09:54:27,260.260 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:54:27,289.289 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:54:27,291.291 INFO    ] No update needed
[2026-08-29 09:54:27,292.292 INFO    ] Checking for camera pi updates...
[2026-08-29 09:54:27,315.315 INFO    ] 200
[2026-08-29 09:54:27,316.316 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:54:27,340.340 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:54:27,434.434 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:54:27,436.436 INFO    ] No camera update needed
[2026-08-29 09:54:27,437.437 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:54:27,438.438 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:54:27,441.441 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:54:27,444.444 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:54:29,482.482 INFO    ] ================================================
[2026-08-29 09:54:29,497.497 INFO    ] Launching Daemon at Sat Aug 29 09:54:29 IST 2026
[2026-08-29 09:54:29,509.509 INFO    ] ================================================
[2026-08-29 09:54:29,867.867 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:54:29
[2026-08-29 09:54:30,179.179 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:54:30,363.363 INFO    ] Initializing speech engine...
[2026-08-29 09:54:30,371.371 INFO    ] 2026-08-29 09:54:30
[2026-08-29 09:54:30,627.627 INFO    ] 2026-08-29 09:54:30
[2026-08-29 09:54:30,657.657 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:54:30,901.901 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:54:30,910.910 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:54:31,042.042 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:54:31,064.064 INFO    ] time= 29/08/2026 09:54:31
[2026-08-29 09:54:31,128.128 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:54:31,174.174 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:54:31,285.285 INFO    ] No existing commands found in stream
[2026-08-29 09:54:36,312.312 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:54:36,315.315 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-08-29 09:54:36,843.843 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:54:36,845.845 INFO    ] Checking for system updates...
[2026-08-29 09:54:36,867.867 INFO    ] 200
[2026-08-29 09:54:36,868.868 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:54:36,898.898 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:54:36,899.899 INFO    ] No update needed
[2026-08-29 09:54:36,901.901 INFO    ] Checking for camera pi updates...
[2026-08-29 09:54:36,921.921 INFO    ] 200
[2026-08-29 09:54:36,923.923 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:54:36,946.946 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:54:37,140.140 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:54:37,141.141 INFO    ] No camera update needed
[2026-08-29 09:54:37,143.143 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:54:37,144.144 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:54:37,147.147 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:54:37,150.150 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:54:39,188.188 INFO    ] ================================================
[2026-08-29 09:54:39,203.203 INFO    ] Launching Daemon at Sat Aug 29 09:54:39 IST 2026
[2026-08-29 09:54:39,214.214 INFO    ] ================================================
[2026-08-29 09:54:39,607.607 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:54:39
[2026-08-29 09:54:39,949.949 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:54:40,101.101 INFO    ] Initializing speech engine...
[2026-08-29 09:54:40,107.107 INFO    ] 2026-08-29 09:54:40
[2026-08-29 09:54:40,302.302 INFO    ] 2026-08-29 09:54:40
[2026-08-29 09:54:40,364.364 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:54:40,590.590 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:54:40,599.599 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:54:40,735.735 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:54:40,777.777 INFO    ] time= 29/08/2026 09:54:40
[2026-08-29 09:54:40,837.837 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:54:40,877.877 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:54:41,002.002 INFO    ] No existing commands found in stream
[2026-08-29 09:54:46,038.038 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:54:46,041.041 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-08-29 09:54:47,844.844 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:54:47,846.846 INFO    ] Checking for system updates...
[2026-08-29 09:54:47,868.868 INFO    ] 200
[2026-08-29 09:54:47,869.869 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:54:47,902.902 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:54:47,904.904 INFO    ] No update needed
[2026-08-29 09:54:47,905.905 INFO    ] Checking for camera pi updates...
[2026-08-29 09:54:47,925.925 INFO    ] 200
[2026-08-29 09:54:47,926.926 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:54:47,949.949 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:54:48,043.043 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:54:48,045.045 INFO    ] No camera update needed
[2026-08-29 09:54:48,046.046 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:54:48,047.047 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:54:48,051.051 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:54:48,054.054 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:54:50,093.093 INFO    ] ================================================
[2026-08-29 09:54:50,109.109 INFO    ] Launching Daemon at Sat Aug 29 09:54:50 IST 2026
[2026-08-29 09:54:50,120.120 INFO    ] ================================================
[2026-08-29 09:54:50,483.483 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:54:50
[2026-08-29 09:54:50,795.795 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:54:50,937.937 INFO    ] Initializing speech engine...
[2026-08-29 09:54:50,942.942 INFO    ] 2026-08-29 09:54:50
[2026-08-29 09:54:51,161.161 INFO    ] 2026-08-29 09:54:51
[2026-08-29 09:54:51,197.197 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:54:51,368.368 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:54:51,381.381 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:54:51,529.529 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:54:51,534.534 INFO    ] time= 29/08/2026 09:54:51
[2026-08-29 09:54:51,540.540 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:54:51,561.561 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:54:51,684.684 INFO    ] No existing commands found in stream
[2026-08-29 09:54:56,714.714 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:54:56,717.717 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-08-29 09:54:57,369.369 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:54:57,370.370 INFO    ] Checking for system updates...
[2026-08-29 09:54:57,391.391 INFO    ] 200
[2026-08-29 09:54:57,392.392 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:54:57,429.429 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:54:57,431.431 INFO    ] No update needed
[2026-08-29 09:54:57,432.432 INFO    ] Checking for camera pi updates...
[2026-08-29 09:54:57,494.494 INFO    ] 200
[2026-08-29 09:54:57,497.497 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:54:57,566.566 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:54:57,671.671 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:54:57,674.674 INFO    ] No camera update needed
[2026-08-29 09:54:57,676.676 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:54:57,678.678 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:54:57,683.683 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:54:57,688.688 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:54:59,729.729 INFO    ] ================================================
[2026-08-29 09:54:59,745.745 INFO    ] Launching Daemon at Sat Aug 29 09:54:59 IST 2026
[2026-08-29 09:54:59,756.756 INFO    ] ================================================
[2026-08-29 09:55:00,346.346 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:55:00
[2026-08-29 09:55:00,764.764 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:55:00,897.897 INFO    ] Initializing speech engine...
[2026-08-29 09:55:00,911.911 INFO    ] 2026-08-29 09:55:00
[2026-08-29 09:55:01,159.159 INFO    ] 2026-08-29 09:55:01
[2026-08-29 09:55:01,213.213 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:55:01,378.378 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:55:01,384.384 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:55:01,542.542 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:55:01,580.580 INFO    ] time= 29/08/2026 09:55:01
[2026-08-29 09:55:01,586.586 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:55:01,604.604 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:55:01,708.708 INFO    ] No existing commands found in stream
[2026-08-29 09:55:06,739.739 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:55:06,742.742 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-08-29 09:55:07,208.208 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:55:07,210.210 INFO    ] Checking for system updates...
[2026-08-29 09:55:07,250.250 INFO    ] 200
[2026-08-29 09:55:07,252.252 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:55:07,306.306 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:55:07,308.308 INFO    ] No update needed
[2026-08-29 09:55:07,311.311 INFO    ] Checking for camera pi updates...
[2026-08-29 09:55:07,344.344 INFO    ] 200
[2026-08-29 09:55:07,346.346 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:55:07,394.394 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:55:07,473.473 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:55:07,476.476 INFO    ] No camera update needed
[2026-08-29 09:55:07,479.479 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:55:07,482.482 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:55:07,487.487 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:55:07,493.493 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:55:09,532.532 INFO    ] ================================================
[2026-08-29 09:55:09,547.547 INFO    ] Launching Daemon at Sat Aug 29 09:55:09 IST 2026
[2026-08-29 09:55:09,558.558 INFO    ] ================================================
[2026-08-29 09:55:10,037.037 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:55:10
[2026-08-29 09:55:10,636.636 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:55:10,911.911 INFO    ] Initializing speech engine...
[2026-08-29 09:55:10,920.920 INFO    ] 2026-08-29 09:55:10
[2026-08-29 09:55:11,170.170 INFO    ] 2026-08-29 09:55:11
[2026-08-29 09:55:11,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:55:11,379.379 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:55:11,392.392 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:55:11,532.532 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:55:11,540.540 INFO    ] time= 29/08/2026 09:55:11
[2026-08-29 09:55:11,549.549 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:55:11,599.599 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:55:11,715.715 INFO    ] No existing commands found in stream
[2026-08-29 09:55:16,745.745 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:55:16,748.748 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-08-29 09:55:17,700.700 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:55:17,701.701 INFO    ] Checking for system updates...
[2026-08-29 09:55:17,722.722 INFO    ] 200
[2026-08-29 09:55:17,723.723 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:55:17,755.755 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:55:17,756.756 INFO    ] No update needed
[2026-08-29 09:55:17,758.758 INFO    ] Checking for camera pi updates...
[2026-08-29 09:55:17,778.778 INFO    ] 200
[2026-08-29 09:55:17,779.779 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:55:17,804.804 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:55:17,910.910 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:55:17,911.911 INFO    ] No camera update needed
[2026-08-29 09:55:17,912.912 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:55:17,914.914 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:55:17,917.917 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:55:17,919.919 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:55:19,960.960 INFO    ] ================================================
[2026-08-29 09:55:19,975.975 INFO    ] Launching Daemon at Sat Aug 29 09:55:19 IST 2026
[2026-08-29 09:55:19,986.986 INFO    ] ================================================
[2026-08-29 09:55:20,348.348 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:55:20
[2026-08-29 09:55:20,665.665 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:55:20,860.860 INFO    ] Initializing speech engine...
[2026-08-29 09:55:20,881.881 INFO    ] 2026-08-29 09:55:20
[2026-08-29 09:55:21,138.138 INFO    ] 2026-08-29 09:55:21
[2026-08-29 09:55:21,175.175 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:55:21,347.347 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:55:21,360.360 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:55:21,501.501 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:55:21,509.509 INFO    ] time= 29/08/2026 09:55:21
[2026-08-29 09:55:21,518.518 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:55:21,559.559 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:55:21,679.679 INFO    ] No existing commands found in stream
[2026-08-29 09:55:26,709.709 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:55:26,712.712 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-08-29 09:55:27,971.971 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:55:27,973.973 INFO    ] Checking for system updates...
[2026-08-29 09:55:27,993.993 INFO    ] 200
[2026-08-29 09:55:27,995.995 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:55:28,027.027 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:55:28,028.028 INFO    ] No update needed
[2026-08-29 09:55:28,030.030 INFO    ] Checking for camera pi updates...
[2026-08-29 09:55:28,052.052 INFO    ] 200
[2026-08-29 09:55:28,053.053 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:55:28,078.078 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:55:28,159.159 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:55:28,161.161 INFO    ] No camera update needed
[2026-08-29 09:55:28,162.162 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:55:28,164.164 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:55:28,167.167 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:55:28,170.170 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:55:30,209.209 INFO    ] ================================================
[2026-08-29 09:55:30,224.224 INFO    ] Launching Daemon at Sat Aug 29 09:55:30 IST 2026
[2026-08-29 09:55:30,236.236 INFO    ] ================================================
[2026-08-29 09:55:30,605.605 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:55:30
[2026-08-29 09:55:30,940.940 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:55:31,143.143 INFO    ] Initializing speech engine...
[2026-08-29 09:55:31,160.160 INFO    ] 2026-08-29 09:55:31
[2026-08-29 09:55:31,429.429 INFO    ] 2026-08-29 09:55:31
[2026-08-29 09:55:31,463.463 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:55:31,605.605 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:55:31,612.612 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:55:31,743.743 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:55:31,751.751 INFO    ] time= 29/08/2026 09:55:31
[2026-08-29 09:55:31,757.757 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:55:31,776.776 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:55:31,877.877 INFO    ] No existing commands found in stream
[2026-08-29 09:55:36,895.895 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:55:36,897.897 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-08-29 09:55:40,096.096 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:55:40,097.097 INFO    ] Checking for system updates...
[2026-08-29 09:55:40,118.118 INFO    ] 200
[2026-08-29 09:55:40,119.119 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:55:40,151.151 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:55:40,153.153 INFO    ] No update needed
[2026-08-29 09:55:40,154.154 INFO    ] Checking for camera pi updates...
[2026-08-29 09:55:40,178.178 INFO    ] 200
[2026-08-29 09:55:40,180.180 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:55:40,205.205 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:55:40,303.303 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:55:40,304.304 INFO    ] No camera update needed
[2026-08-29 09:55:40,306.306 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:55:40,307.307 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:55:40,310.310 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:55:40,313.313 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:55:42,351.351 INFO    ] ================================================
[2026-08-29 09:55:42,367.367 INFO    ] Launching Daemon at Sat Aug 29 09:55:42 IST 2026
[2026-08-29 09:55:42,379.379 INFO    ] ================================================
[2026-08-29 09:55:42,832.832 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:55:42
[2026-08-29 09:55:43,432.432 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:55:43,710.710 INFO    ] Initializing speech engine...
[2026-08-29 09:55:43,716.716 INFO    ] 2026-08-29 09:55:43
[2026-08-29 09:55:43,964.964 INFO    ] 2026-08-29 09:55:43
[2026-08-29 09:55:44,000.000 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:55:44,192.192 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:55:44,242.242 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:55:44,395.395 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:55:44,437.437 INFO    ] time= 29/08/2026 09:55:44
[2026-08-29 09:55:44,481.481 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:55:44,529.529 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:55:44,653.653 INFO    ] No existing commands found in stream
[2026-08-29 09:55:49,678.678 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:55:49,681.681 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-08-29 09:55:51,794.794 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:55:51,797.797 INFO    ] Checking for system updates...
[2026-08-29 09:55:51,845.845 INFO    ] 200
[2026-08-29 09:55:51,848.848 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:55:51,907.907 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:55:51,910.910 INFO    ] No update needed
[2026-08-29 09:55:51,914.914 INFO    ] Checking for camera pi updates...
[2026-08-29 09:55:51,955.955 INFO    ] 200
[2026-08-29 09:55:51,958.958 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:55:52,019.019 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:55:52,099.099 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:55:52,101.101 INFO    ] No camera update needed
[2026-08-29 09:55:52,104.104 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:55:52,107.107 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:55:52,113.113 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:55:52,119.119 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:55:54,161.161 INFO    ] ================================================
[2026-08-29 09:55:54,176.176 INFO    ] Launching Daemon at Sat Aug 29 09:55:54 IST 2026
[2026-08-29 09:55:54,187.187 INFO    ] ================================================
[2026-08-29 09:55:54,559.559 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:55:54
[2026-08-29 09:55:54,875.875 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:55:55,010.010 INFO    ] Initializing speech engine...
[2026-08-29 09:55:55,020.020 INFO    ] 2026-08-29 09:55:55
[2026-08-29 09:55:55,236.236 INFO    ] 2026-08-29 09:55:55
[2026-08-29 09:55:55,274.274 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:55:55,395.395 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:55:55,445.445 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:55:55,595.595 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:55:55,656.656 INFO    ] time= 29/08/2026 09:55:55
[2026-08-29 09:55:55,689.689 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:55:55,695.695 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:55:55,763.763 INFO    ] No existing commands found in stream
[2026-08-29 09:56:00,772.772 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:56:00,775.775 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-08-29 09:56:03,049.049 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:56:03,052.052 INFO    ] Checking for system updates...
[2026-08-29 09:56:03,088.088 INFO    ] 200
[2026-08-29 09:56:03,090.090 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:56:03,148.148 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:56:03,151.151 INFO    ] No update needed
[2026-08-29 09:56:03,153.153 INFO    ] Checking for camera pi updates...
[2026-08-29 09:56:03,191.191 INFO    ] 200
[2026-08-29 09:56:03,194.194 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:56:03,234.234 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:56:03,344.344 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:56:03,346.346 INFO    ] No camera update needed
[2026-08-29 09:56:03,349.349 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:56:03,351.351 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:56:03,356.356 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:56:03,361.361 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:56:05,402.402 INFO    ] ================================================
[2026-08-29 09:56:05,417.417 INFO    ] Launching Daemon at Sat Aug 29 09:56:05 IST 2026
[2026-08-29 09:56:05,427.427 INFO    ] ================================================
[2026-08-29 09:56:05,794.794 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:56:05
[2026-08-29 09:56:06,426.426 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:56:06,728.728 INFO    ] Initializing speech engine...
[2026-08-29 09:56:06,735.735 INFO    ] 2026-08-29 09:56:06
[2026-08-29 09:56:07,024.024 INFO    ] 2026-08-29 09:56:07
[2026-08-29 09:56:07,063.063 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:56:07,284.284 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:56:07,293.293 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:56:07,429.429 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:56:07,494.494 INFO    ] time= 29/08/2026 09:56:07
[2026-08-29 09:56:07,556.556 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:56:07,563.563 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:56:07,705.705 INFO    ] No existing commands found in stream
[2026-08-29 09:56:12,750.750 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:56:12,755.755 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-08-29 09:56:14,011.011 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:56:14,012.012 INFO    ] Checking for system updates...
[2026-08-29 09:56:14,034.034 INFO    ] 200
[2026-08-29 09:56:14,036.036 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:56:14,066.066 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:56:14,067.067 INFO    ] No update needed
[2026-08-29 09:56:14,069.069 INFO    ] Checking for camera pi updates...
[2026-08-29 09:56:14,089.089 INFO    ] 200
[2026-08-29 09:56:14,090.090 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:56:14,116.116 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:56:14,214.214 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:56:14,215.215 INFO    ] No camera update needed
[2026-08-29 09:56:14,217.217 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:56:14,218.218 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:56:14,221.221 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:56:14,224.224 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:56:16,263.263 INFO    ] ================================================
[2026-08-29 09:56:16,279.279 INFO    ] Launching Daemon at Sat Aug 29 09:56:16 IST 2026
[2026-08-29 09:56:16,289.289 INFO    ] ================================================
[2026-08-29 09:56:16,661.661 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:56:16
[2026-08-29 09:56:16,986.986 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:56:17,139.139 INFO    ] Initializing speech engine...
[2026-08-29 09:56:17,143.143 INFO    ] 2026-08-29 09:56:17
[2026-08-29 09:56:17,379.379 INFO    ] 2026-08-29 09:56:17
[2026-08-29 09:56:17,435.435 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:56:17,603.603 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:56:17,608.608 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:56:17,794.794 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:56:17,812.812 INFO    ] time= 29/08/2026 09:56:17
[2026-08-29 09:56:17,830.830 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:56:17,862.862 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:56:17,968.968 INFO    ] No existing commands found in stream
[2026-08-29 09:56:22,988.988 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:56:22,991.991 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-08-29 09:56:26,769.769 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:56:26,771.771 INFO    ] Checking for system updates...
[2026-08-29 09:56:26,791.791 INFO    ] 200
[2026-08-29 09:56:26,793.793 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:56:26,822.822 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:56:26,824.824 INFO    ] No update needed
[2026-08-29 09:56:26,825.825 INFO    ] Checking for camera pi updates...
[2026-08-29 09:56:26,845.845 INFO    ] 200
[2026-08-29 09:56:26,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:56:26,871.871 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:56:26,948.948 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:56:26,950.950 INFO    ] No camera update needed
[2026-08-29 09:56:26,951.951 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:56:26,952.952 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:56:26,955.955 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:56:26,958.958 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:56:29,996.996 INFO    ] ================================================
[2026-08-29 09:56:29,011.011 INFO    ] Launching Daemon at Sat Aug 29 09:56:29 IST 2026
[2026-08-29 09:56:29,022.022 INFO    ] ================================================
[2026-08-29 09:56:29,374.374 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:56:29
[2026-08-29 09:56:29,685.685 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:56:29,827.827 INFO    ] Initializing speech engine...
[2026-08-29 09:56:29,833.833 INFO    ] 2026-08-29 09:56:29
[2026-08-29 09:56:30,034.034 INFO    ] 2026-08-29 09:56:30
[2026-08-29 09:56:30,063.063 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:56:30,237.237 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:56:30,263.263 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:56:30,420.420 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:56:30,427.427 INFO    ] time= 29/08/2026 09:56:30
[2026-08-29 09:56:30,434.434 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:56:30,490.490 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:56:30,603.603 INFO    ] No existing commands found in stream
[2026-08-29 09:56:35,634.634 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:56:35,637.637 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-08-29 09:56:36,792.792 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:56:36,794.794 INFO    ] Checking for system updates...
[2026-08-29 09:56:36,814.814 INFO    ] 200
[2026-08-29 09:56:36,815.815 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:56:36,845.845 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:56:36,846.846 INFO    ] No update needed
[2026-08-29 09:56:36,848.848 INFO    ] Checking for camera pi updates...
[2026-08-29 09:56:36,868.868 INFO    ] 200
[2026-08-29 09:56:36,869.869 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:56:36,894.894 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:56:36,971.971 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:56:36,972.972 INFO    ] No camera update needed
[2026-08-29 09:56:36,974.974 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:56:36,975.975 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:56:36,978.978 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:56:36,980.980 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:56:39,019.019 INFO    ] ================================================
[2026-08-29 09:56:39,035.035 INFO    ] Launching Daemon at Sat Aug 29 09:56:39 IST 2026
[2026-08-29 09:56:39,045.045 INFO    ] ================================================
[2026-08-29 09:56:39,428.428 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:56:39
[2026-08-29 09:56:39,763.763 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:56:39,972.972 INFO    ] Initializing speech engine...
[2026-08-29 09:56:39,985.985 INFO    ] 2026-08-29 09:56:39
[2026-08-29 09:56:40,252.252 INFO    ] 2026-08-29 09:56:40
[2026-08-29 09:56:40,288.288 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:56:40,487.487 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:56:40,532.532 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:56:40,691.691 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:56:40,718.718 INFO    ] time= 29/08/2026 09:56:40
[2026-08-29 09:56:40,772.772 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:56:40,816.816 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:56:40,884.884 INFO    ] No existing commands found in stream
[2026-08-29 09:56:45,896.896 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:56:45,898.898 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-08-29 09:56:48,748.748 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:56:48,749.749 INFO    ] Checking for system updates...
[2026-08-29 09:56:48,770.770 INFO    ] 200
[2026-08-29 09:56:48,771.771 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:56:48,800.800 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:56:48,802.802 INFO    ] No update needed
[2026-08-29 09:56:48,803.803 INFO    ] Checking for camera pi updates...
[2026-08-29 09:56:48,822.822 INFO    ] 200
[2026-08-29 09:56:48,824.824 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:56:48,846.846 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:56:49,040.040 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:56:49,041.041 INFO    ] No camera update needed
[2026-08-29 09:56:49,043.043 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:56:49,044.044 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:56:49,047.047 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:56:49,049.049 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:56:51,087.087 INFO    ] ================================================
[2026-08-29 09:56:51,102.102 INFO    ] Launching Daemon at Sat Aug 29 09:56:51 IST 2026
[2026-08-29 09:56:51,113.113 INFO    ] ================================================
[2026-08-29 09:56:51,493.493 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:56:51
[2026-08-29 09:56:51,830.830 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:56:51,982.982 INFO    ] Initializing speech engine...
[2026-08-29 09:56:51,986.986 INFO    ] 2026-08-29 09:56:51
[2026-08-29 09:56:52,191.191 INFO    ] 2026-08-29 09:56:52
[2026-08-29 09:56:52,220.220 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:56:52,359.359 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:56:52,407.407 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:56:52,537.537 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:56:52,598.598 INFO    ] time= 29/08/2026 09:56:52
[2026-08-29 09:56:52,635.635 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:56:52,642.642 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:56:52,709.709 INFO    ] No existing commands found in stream
[2026-08-29 09:56:57,724.724 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:56:57,727.727 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-08-29 09:57:00,594.594 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:57:00,596.596 INFO    ] Checking for system updates...
[2026-08-29 09:57:00,617.617 INFO    ] 200
[2026-08-29 09:57:00,619.619 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:57:00,651.651 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:57:00,653.653 INFO    ] No update needed
[2026-08-29 09:57:00,654.654 INFO    ] Checking for camera pi updates...
[2026-08-29 09:57:00,675.675 INFO    ] 200
[2026-08-29 09:57:00,676.676 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:57:00,702.702 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:57:00,843.843 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:57:00,845.845 INFO    ] No camera update needed
[2026-08-29 09:57:00,846.846 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:57:00,847.847 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:57:00,851.851 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:57:00,854.854 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:57:02,904.904 INFO    ] ================================================
[2026-08-29 09:57:02,923.923 INFO    ] Launching Daemon at Sat Aug 29 09:57:02 IST 2026
[2026-08-29 09:57:02,939.939 INFO    ] ================================================
[2026-08-29 09:57:03,616.616 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:57:03
[2026-08-29 09:57:04,200.200 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:57:04,461.461 INFO    ] Initializing speech engine...
[2026-08-29 09:57:04,475.475 INFO    ] 2026-08-29 09:57:04
[2026-08-29 09:57:04,731.731 INFO    ] 2026-08-29 09:57:04
[2026-08-29 09:57:04,765.765 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:57:04,942.942 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:57:04,955.955 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:57:05,103.103 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:57:05,107.107 INFO    ] time= 29/08/2026 09:57:05
[2026-08-29 09:57:05,113.113 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:57:05,134.134 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:57:05,267.267 INFO    ] No existing commands found in stream
[2026-08-29 09:57:10,276.276 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:57:10,279.279 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-08-29 09:57:14,378.378 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:57:14,380.380 INFO    ] Checking for system updates...
[2026-08-29 09:57:14,401.401 INFO    ] 200
[2026-08-29 09:57:14,402.402 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:57:14,432.432 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:57:14,433.433 INFO    ] No update needed
[2026-08-29 09:57:14,434.434 INFO    ] Checking for camera pi updates...
[2026-08-29 09:57:14,453.453 INFO    ] 200
[2026-08-29 09:57:14,455.455 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:57:14,477.477 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:57:14,588.588 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:57:14,590.590 INFO    ] No camera update needed
[2026-08-29 09:57:14,591.591 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:57:14,592.592 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:57:14,595.595 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:57:14,598.598 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:57:16,639.639 INFO    ] ================================================
[2026-08-29 09:57:16,654.654 INFO    ] Launching Daemon at Sat Aug 29 09:57:16 IST 2026
[2026-08-29 09:57:16,665.665 INFO    ] ================================================
[2026-08-29 09:57:17,004.004 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:57:17
[2026-08-29 09:57:17,571.571 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:57:17,842.842 INFO    ] Initializing speech engine...
[2026-08-29 09:57:17,851.851 INFO    ] 2026-08-29 09:57:17
[2026-08-29 09:57:18,101.101 INFO    ] 2026-08-29 09:57:18
[2026-08-29 09:57:18,135.135 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:57:18,312.312 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:57:18,324.324 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:57:18,469.469 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:57:18,477.477 INFO    ] time= 29/08/2026 09:57:18
[2026-08-29 09:57:18,485.485 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:57:18,519.519 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:57:18,659.659 INFO    ] No existing commands found in stream
[2026-08-29 09:57:23,684.684 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:57:23,687.687 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-08-29 09:57:25,060.060 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:57:25,061.061 INFO    ] Checking for system updates...
[2026-08-29 09:57:25,082.082 INFO    ] 200
[2026-08-29 09:57:25,084.084 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:57:25,116.116 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:57:25,117.117 INFO    ] No update needed
[2026-08-29 09:57:25,119.119 INFO    ] Checking for camera pi updates...
[2026-08-29 09:57:25,139.139 INFO    ] 200
[2026-08-29 09:57:25,141.141 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:57:25,168.168 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:57:25,266.266 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:57:25,268.268 INFO    ] No camera update needed
[2026-08-29 09:57:25,269.269 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:57:25,270.270 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:57:25,274.274 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:57:25,277.277 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:57:27,314.314 INFO    ] ================================================
[2026-08-29 09:57:27,330.330 INFO    ] Launching Daemon at Sat Aug 29 09:57:27 IST 2026
[2026-08-29 09:57:27,340.340 INFO    ] ================================================
[2026-08-29 09:57:27,703.703 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:57:27
[2026-08-29 09:57:28,017.017 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:57:28,157.157 INFO    ] Initializing speech engine...
[2026-08-29 09:57:28,166.166 INFO    ] 2026-08-29 09:57:28
[2026-08-29 09:57:28,374.374 INFO    ] 2026-08-29 09:57:28
[2026-08-29 09:57:28,403.403 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:57:28,588.588 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:57:28,598.598 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:57:28,776.776 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:57:28,816.816 INFO    ] time= 29/08/2026 09:57:28
[2026-08-29 09:57:28,821.821 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:57:28,828.828 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:57:28,895.895 INFO    ] No existing commands found in stream
[2026-08-29 09:57:33,904.904 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:57:33,907.907 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-08-29 09:57:36,553.553 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:57:36,555.555 INFO    ] Checking for system updates...
[2026-08-29 09:57:36,575.575 INFO    ] 200
[2026-08-29 09:57:36,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:57:36,608.608 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:57:36,609.609 INFO    ] No update needed
[2026-08-29 09:57:36,611.611 INFO    ] Checking for camera pi updates...
[2026-08-29 09:57:36,630.630 INFO    ] 200
[2026-08-29 09:57:36,631.631 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:57:36,655.655 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:57:36,753.753 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:57:36,756.756 INFO    ] No camera update needed
[2026-08-29 09:57:36,758.758 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:57:36,760.760 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:57:36,766.766 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:57:36,771.771 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:57:38,813.813 INFO    ] ================================================
[2026-08-29 09:57:38,828.828 INFO    ] Launching Daemon at Sat Aug 29 09:57:38 IST 2026
[2026-08-29 09:57:38,838.838 INFO    ] ================================================
[2026-08-29 09:57:39,421.421 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:57:39
[2026-08-29 09:57:39,925.925 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:57:40,118.118 INFO    ] Initializing speech engine...
[2026-08-29 09:57:40,129.129 INFO    ] 2026-08-29 09:57:40
[2026-08-29 09:57:40,379.379 INFO    ] 2026-08-29 09:57:40
[2026-08-29 09:57:40,414.414 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:57:40,607.607 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:57:40,652.652 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:57:40,809.809 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:57:40,861.861 INFO    ] time= 29/08/2026 09:57:40
[2026-08-29 09:57:40,916.916 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:57:40,944.944 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:57:41,060.060 INFO    ] No existing commands found in stream
[2026-08-29 09:57:46,093.093 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:57:46,095.095 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-08-29 09:57:46,869.869 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:57:46,871.871 INFO    ] Checking for system updates...
[2026-08-29 09:57:46,892.892 INFO    ] 200
[2026-08-29 09:57:46,894.894 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:57:46,926.926 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:57:46,927.927 INFO    ] No update needed
[2026-08-29 09:57:46,928.928 INFO    ] Checking for camera pi updates...
[2026-08-29 09:57:46,948.948 INFO    ] 200
[2026-08-29 09:57:46,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:57:46,971.971 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:57:47,055.055 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:57:47,057.057 INFO    ] No camera update needed
[2026-08-29 09:57:47,059.059 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:57:47,062.062 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:57:47,067.067 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:57:47,072.072 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:57:49,112.112 INFO    ] ================================================
[2026-08-29 09:57:49,128.128 INFO    ] Launching Daemon at Sat Aug 29 09:57:49 IST 2026
[2026-08-29 09:57:49,138.138 INFO    ] ================================================
[2026-08-29 09:57:49,720.720 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:57:49
[2026-08-29 09:57:50,219.219 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:57:50,418.418 INFO    ] Initializing speech engine...
[2026-08-29 09:57:50,428.428 INFO    ] 2026-08-29 09:57:50
[2026-08-29 09:57:50,689.689 INFO    ] 2026-08-29 09:57:50
[2026-08-29 09:57:50,720.720 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:57:50,911.911 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:57:50,968.968 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:57:51,109.109 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:57:51,174.174 INFO    ] time= 29/08/2026 09:57:51
[2026-08-29 09:57:51,230.230 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:57:51,242.242 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:57:51,372.372 INFO    ] No existing commands found in stream
[2026-08-29 09:57:56,396.396 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:57:56,399.399 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-08-29 09:57:56,909.909 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:57:56,911.911 INFO    ] Checking for system updates...
[2026-08-29 09:57:56,931.931 INFO    ] 200
[2026-08-29 09:57:56,933.933 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:57:56,962.962 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:57:56,963.963 INFO    ] No update needed
[2026-08-29 09:57:56,965.965 INFO    ] Checking for camera pi updates...
[2026-08-29 09:57:56,984.984 INFO    ] 200
[2026-08-29 09:57:56,985.985 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:57:57,009.009 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:57:57,103.103 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:57:57,105.105 INFO    ] No camera update needed
[2026-08-29 09:57:57,106.106 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:57:57,107.107 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:57:57,111.111 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:57:57,114.114 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:57:59,153.153 INFO    ] ================================================
[2026-08-29 09:57:59,167.167 INFO    ] Launching Daemon at Sat Aug 29 09:57:59 IST 2026
[2026-08-29 09:57:59,178.178 INFO    ] ================================================
[2026-08-29 09:57:59,549.549 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:57:59
[2026-08-29 09:57:59,867.867 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:58:00,006.006 INFO    ] Initializing speech engine...
[2026-08-29 09:58:00,016.016 INFO    ] 2026-08-29 09:58:00
[2026-08-29 09:58:00,219.219 INFO    ] 2026-08-29 09:58:00
[2026-08-29 09:58:00,248.248 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:58:00,433.433 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:58:00,436.436 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:58:00,572.572 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:58:00,636.636 INFO    ] time= 29/08/2026 09:58:00
[2026-08-29 09:58:00,663.663 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:58:00,670.670 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:58:00,737.737 INFO    ] No existing commands found in stream
[2026-08-29 09:58:05,751.751 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:58:05,754.754 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-08-29 09:58:08,521.521 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 09:58:08,523.523 INFO    ] Checking for system updates...
[2026-08-29 09:58:08,545.545 INFO    ] 200
[2026-08-29 09:58:08,546.546 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:58:08,577.577 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:58:08,578.578 INFO    ] No update needed
[2026-08-29 09:58:08,579.579 INFO    ] Checking for camera pi updates...
[2026-08-29 09:58:08,599.599 INFO    ] 200
[2026-08-29 09:58:08,600.600 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:58:08,625.625 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:58:08,729.729 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:58:08,730.730 INFO    ] No camera update needed
[2026-08-29 09:58:08,731.731 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:58:08,733.733 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:58:08,736.736 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:58:08,742.742 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:58:10,782.782 INFO    ] ================================================
[2026-08-29 09:58:10,797.797 INFO    ] Launching Daemon at Sat Aug 29 09:58:10 IST 2026
[2026-08-29 09:58:10,807.807 INFO    ] ================================================
[2026-08-29 09:58:11,178.178 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:58:11
[2026-08-29 09:58:11,495.495 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:58:11,633.633 INFO    ] Initializing speech engine...
[2026-08-29 09:58:11,641.641 INFO    ] 2026-08-29 09:58:11
[2026-08-29 09:58:11,831.831 INFO    ] 2026-08-29 09:58:11
[2026-08-29 09:58:11,911.911 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:58:12,087.087 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:58:12,091.091 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:58:12,278.278 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:58:12,326.326 INFO    ] time= 29/08/2026 09:58:12
[2026-08-29 09:58:12,332.332 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:58:12,354.354 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:58:12,479.479 INFO    ] No existing commands found in stream
[2026-08-29 09:58:17,495.495 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:58:17,498.498 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 09:58:19,521.521 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 09:58:19,522.522 INFO    ] Checking for system updates...
[2026-08-29 09:58:19,544.544 INFO    ] 200
[2026-08-29 09:58:19,545.545 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:58:19,576.576 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:58:19,577.577 INFO    ] No update needed
[2026-08-29 09:58:19,578.578 INFO    ] Checking for camera pi updates...
[2026-08-29 09:58:19,597.597 INFO    ] 200
[2026-08-29 09:58:19,598.598 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:58:19,621.621 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:58:19,708.708 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:58:19,711.711 INFO    ] No camera update needed
[2026-08-29 09:58:19,713.713 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:58:19,716.716 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:58:19,721.721 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:58:19,726.726 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:58:21,766.766 INFO    ] ================================================
[2026-08-29 09:58:21,781.781 INFO    ] Launching Daemon at Sat Aug 29 09:58:21 IST 2026
[2026-08-29 09:58:21,793.793 INFO    ] ================================================
[2026-08-29 09:58:22,466.466 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:58:22
[2026-08-29 09:58:22,915.915 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:58:23,070.070 INFO    ] Initializing speech engine...
[2026-08-29 09:58:23,075.075 INFO    ] 2026-08-29 09:58:23
[2026-08-29 09:58:23,281.281 INFO    ] 2026-08-29 09:58:23
[2026-08-29 09:58:23,310.310 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:58:23,473.473 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:58:23,518.518 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:58:23,677.677 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:58:23,741.741 INFO    ] time= 29/08/2026 09:58:23
[2026-08-29 09:58:23,783.783 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:58:23,838.838 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:58:23,938.938 INFO    ] No existing commands found in stream
[2026-08-29 09:58:28,966.966 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:58:28,969.969 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-08-29 09:58:30,438.438 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:58:30,439.439 INFO    ] Checking for system updates...
[2026-08-29 09:58:30,459.459 INFO    ] 200
[2026-08-29 09:58:30,461.461 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:58:30,491.491 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:58:30,493.493 INFO    ] No update needed
[2026-08-29 09:58:30,494.494 INFO    ] Checking for camera pi updates...
[2026-08-29 09:58:30,515.515 INFO    ] 200
[2026-08-29 09:58:30,516.516 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:58:30,541.541 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:58:30,634.634 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:58:30,635.635 INFO    ] No camera update needed
[2026-08-29 09:58:30,636.636 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:58:30,638.638 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:58:30,640.640 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:58:30,643.643 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:58:32,682.682 INFO    ] ================================================
[2026-08-29 09:58:32,698.698 INFO    ] Launching Daemon at Sat Aug 29 09:58:32 IST 2026
[2026-08-29 09:58:32,709.709 INFO    ] ================================================
[2026-08-29 09:58:33,293.293 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:58:33
[2026-08-29 09:58:33,882.882 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:58:34,152.152 INFO    ] Initializing speech engine...
[2026-08-29 09:58:34,160.160 INFO    ] 2026-08-29 09:58:34
[2026-08-29 09:58:34,409.409 INFO    ] 2026-08-29 09:58:34
[2026-08-29 09:58:34,444.444 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:58:34,615.615 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:58:34,628.628 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:58:34,769.769 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:58:34,778.778 INFO    ] time= 29/08/2026 09:58:34
[2026-08-29 09:58:34,784.784 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:58:34,815.815 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:58:34,936.936 INFO    ] No existing commands found in stream
[2026-08-29 09:58:39,961.961 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:58:39,964.964 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-08-29 09:58:42,444.444 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:58:42,445.445 INFO    ] Checking for system updates...
[2026-08-29 09:58:42,467.467 INFO    ] 200
[2026-08-29 09:58:42,468.468 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:58:42,498.498 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:58:42,500.500 INFO    ] No update needed
[2026-08-29 09:58:42,501.501 INFO    ] Checking for camera pi updates...
[2026-08-29 09:58:42,520.520 INFO    ] 200
[2026-08-29 09:58:42,521.521 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:58:42,546.546 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:58:42,646.646 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:58:42,648.648 INFO    ] No camera update needed
[2026-08-29 09:58:42,651.651 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:58:42,653.653 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:58:42,658.658 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:58:42,663.663 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:58:44,703.703 INFO    ] ================================================
[2026-08-29 09:58:44,718.718 INFO    ] Launching Daemon at Sat Aug 29 09:58:44 IST 2026
[2026-08-29 09:58:44,729.729 INFO    ] ================================================
[2026-08-29 09:58:45,314.314 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:58:45
[2026-08-29 09:58:45,805.805 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:58:45,938.938 INFO    ] Initializing speech engine...
[2026-08-29 09:58:45,943.943 INFO    ] 2026-08-29 09:58:45
[2026-08-29 09:58:46,158.158 INFO    ] 2026-08-29 09:58:46
[2026-08-29 09:58:46,187.187 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:58:46,345.345 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:58:46,379.379 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:58:46,513.513 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:58:46,556.556 INFO    ] time= 29/08/2026 09:58:46
[2026-08-29 09:58:46,610.610 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:58:46,641.641 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:58:46,778.778 INFO    ] No existing commands found in stream
[2026-08-29 09:58:51,791.791 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:58:51,794.794 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-08-29 09:58:55,609.609 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:58:55,611.611 INFO    ] Checking for system updates...
[2026-08-29 09:58:55,631.631 INFO    ] 200
[2026-08-29 09:58:55,633.633 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:58:55,663.663 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:58:55,664.664 INFO    ] No update needed
[2026-08-29 09:58:55,666.666 INFO    ] Checking for camera pi updates...
[2026-08-29 09:58:55,685.685 INFO    ] 200
[2026-08-29 09:58:55,686.686 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:58:55,709.709 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:58:55,894.894 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:58:55,896.896 INFO    ] No camera update needed
[2026-08-29 09:58:55,899.899 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:58:55,901.901 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:58:55,906.906 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:58:55,911.911 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:58:57,951.951 INFO    ] ================================================
[2026-08-29 09:58:57,966.966 INFO    ] Launching Daemon at Sat Aug 29 09:58:57 IST 2026
[2026-08-29 09:58:57,976.976 INFO    ] ================================================
[2026-08-29 09:58:58,569.569 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:58:58
[2026-08-29 09:58:58,993.993 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:58:59,138.138 INFO    ] Initializing speech engine...
[2026-08-29 09:58:59,144.144 INFO    ] 2026-08-29 09:58:59
[2026-08-29 09:58:59,348.348 INFO    ] 2026-08-29 09:58:59
[2026-08-29 09:58:59,376.376 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:58:59,560.560 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:58:59,570.570 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:58:59,763.763 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:58:59,788.788 INFO    ] time= 29/08/2026 09:58:59
[2026-08-29 09:58:59,794.794 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:58:59,795.795 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:58:59,861.861 INFO    ] No existing commands found in stream
[2026-08-29 09:59:04,871.871 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:59:04,874.874 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-08-29 09:59:08,836.836 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:59:08,837.837 INFO    ] Checking for system updates...
[2026-08-29 09:59:08,859.859 INFO    ] 200
[2026-08-29 09:59:08,860.860 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:59:08,895.895 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:59:08,896.896 INFO    ] No update needed
[2026-08-29 09:59:08,898.898 INFO    ] Checking for camera pi updates...
[2026-08-29 09:59:08,920.920 INFO    ] 200
[2026-08-29 09:59:08,921.921 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:59:08,946.946 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:59:09,034.034 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:59:09,035.035 INFO    ] No camera update needed
[2026-08-29 09:59:09,037.037 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:59:09,038.038 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:59:09,041.041 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:59:09,044.044 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:59:11,085.085 INFO    ] ================================================
[2026-08-29 09:59:11,100.100 INFO    ] Launching Daemon at Sat Aug 29 09:59:11 IST 2026
[2026-08-29 09:59:11,111.111 INFO    ] ================================================
[2026-08-29 09:59:11,663.663 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:59:11
[2026-08-29 09:59:12,251.251 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:59:12,506.506 INFO    ] Initializing speech engine...
[2026-08-29 09:59:12,515.515 INFO    ] 2026-08-29 09:59:12
[2026-08-29 09:59:12,804.804 INFO    ] 2026-08-29 09:59:12
[2026-08-29 09:59:12,844.844 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:59:13,037.037 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:59:13,051.051 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:59:13,214.214 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:59:13,219.219 INFO    ] time= 29/08/2026 09:59:13
[2026-08-29 09:59:13,226.226 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:59:13,264.264 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:59:13,387.387 INFO    ] No existing commands found in stream
[2026-08-29 09:59:18,417.417 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:59:18,419.419 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-08-29 09:59:21,033.033 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 09:59:21,034.034 INFO    ] Checking for system updates...
[2026-08-29 09:59:21,055.055 INFO    ] 200
[2026-08-29 09:59:21,056.056 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:59:21,092.092 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:59:21,095.095 INFO    ] No update needed
[2026-08-29 09:59:21,098.098 INFO    ] Checking for camera pi updates...
[2026-08-29 09:59:21,135.135 INFO    ] 200
[2026-08-29 09:59:21,138.138 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:59:21,182.182 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:59:21,287.287 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:59:21,290.290 INFO    ] No camera update needed
[2026-08-29 09:59:21,292.292 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:59:21,294.294 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:59:21,300.300 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:59:21,305.305 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:59:23,344.344 INFO    ] ================================================
[2026-08-29 09:59:23,359.359 INFO    ] Launching Daemon at Sat Aug 29 09:59:23 IST 2026
[2026-08-29 09:59:23,370.370 INFO    ] ================================================
[2026-08-29 09:59:23,979.979 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:59:23
[2026-08-29 09:59:24,425.425 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:59:24,576.576 INFO    ] Initializing speech engine...
[2026-08-29 09:59:24,580.580 INFO    ] 2026-08-29 09:59:24
[2026-08-29 09:59:24,788.788 INFO    ] 2026-08-29 09:59:24
[2026-08-29 09:59:24,817.817 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:59:24,939.939 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:59:25,002.002 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:59:25,137.137 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:59:25,207.207 INFO    ] time= 29/08/2026 09:59:25
[2026-08-29 09:59:25,231.231 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:59:25,238.238 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:59:25,304.304 INFO    ] No existing commands found in stream
[2026-08-29 09:59:30,319.319 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:59:30,322.322 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-08-29 09:59:32,716.716 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 09:59:32,719.719 INFO    ] Checking for system updates...
[2026-08-29 09:59:32,756.756 INFO    ] 200
[2026-08-29 09:59:32,758.758 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:59:32,811.811 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:59:32,814.814 INFO    ] No update needed
[2026-08-29 09:59:32,816.816 INFO    ] Checking for camera pi updates...
[2026-08-29 09:59:32,851.851 INFO    ] 200
[2026-08-29 09:59:32,854.854 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:59:32,899.899 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:59:33,012.012 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:59:33,015.015 INFO    ] No camera update needed
[2026-08-29 09:59:33,018.018 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:59:33,020.020 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:59:33,026.026 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:59:33,032.032 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:59:35,072.072 INFO    ] ================================================
[2026-08-29 09:59:35,087.087 INFO    ] Launching Daemon at Sat Aug 29 09:59:35 IST 2026
[2026-08-29 09:59:35,098.098 INFO    ] ================================================
[2026-08-29 09:59:35,476.476 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:59:35
[2026-08-29 09:59:36,059.059 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:59:36,326.326 INFO    ] Initializing speech engine...
[2026-08-29 09:59:36,335.335 INFO    ] 2026-08-29 09:59:36
[2026-08-29 09:59:36,596.596 INFO    ] 2026-08-29 09:59:36
[2026-08-29 09:59:36,652.652 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:59:36,873.873 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:59:36,883.883 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:59:37,015.015 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:59:37,042.042 INFO    ] time= 29/08/2026 09:59:37
[2026-08-29 09:59:37,091.091 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:59:37,140.140 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:59:37,274.274 INFO    ] No existing commands found in stream
[2026-08-29 09:59:42,299.299 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:59:42,301.301 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-08-29 09:59:45,345.345 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 09:59:45,347.347 INFO    ] Checking for system updates...
[2026-08-29 09:59:45,388.388 INFO    ] 200
[2026-08-29 09:59:45,391.391 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:59:45,443.443 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 09:59:45,446.446 INFO    ] No update needed
[2026-08-29 09:59:45,448.448 INFO    ] Checking for camera pi updates...
[2026-08-29 09:59:45,484.484 INFO    ] 200
[2026-08-29 09:59:45,487.487 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:59:45,528.528 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:59:45,608.608 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:59:45,611.611 INFO    ] No camera update needed
[2026-08-29 09:59:45,613.613 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:59:45,615.615 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:59:45,620.620 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:59:45,625.625 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:59:47,667.667 INFO    ] ================================================
[2026-08-29 09:59:47,682.682 INFO    ] Launching Daemon at Sat Aug 29 09:59:47 IST 2026
[2026-08-29 09:59:47,693.693 INFO    ] ================================================
[2026-08-29 09:59:48,027.027 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:59:48
[2026-08-29 09:59:48,339.339 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 09:59:48,476.476 INFO    ] Initializing speech engine...
[2026-08-29 09:59:48,485.485 INFO    ] 2026-08-29 09:59:48
[2026-08-29 09:59:48,690.690 INFO    ] 2026-08-29 09:59:48
[2026-08-29 09:59:48,718.718 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 09:59:48,840.840 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 09:59:48,873.873 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 09:59:49,037.037 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 09:59:49,103.103 INFO    ] time= 29/08/2026 09:59:49
[2026-08-29 09:59:49,130.130 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 09:59:49,131.131 INFO    ] Checking for existing commands in stream...
[2026-08-29 09:59:49,201.201 INFO    ] No existing commands found in stream
[2026-08-29 09:59:54,212.212 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 09:59:54,215.215 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-08-29 09:59:56,816.816 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 09:59:56,817.817 INFO    ] Checking for system updates...
[2026-08-29 09:59:56,839.839 INFO    ] 200
[2026-08-29 09:59:56,840.840 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:59:56,870.870 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:59:56,871.871 INFO    ] No update needed
[2026-08-29 09:59:56,873.873 INFO    ] Checking for camera pi updates...
[2026-08-29 09:59:56,892.892 INFO    ] 200
[2026-08-29 09:59:56,893.893 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 09:59:56,917.917 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 09:59:56,972.972 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 09:59:56,973.973 INFO    ] No camera update needed
[2026-08-29 09:59:56,975.975 INFO    ] Script finished. Safe exiting...
[2026-08-29 09:59:56,976.976 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 09:59:56,979.979 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 09:59:56,984.984 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 09:59:59,025.025 INFO    ] ================================================
[2026-08-29 09:59:59,040.040 INFO    ] Launching Daemon at Sat Aug 29 09:59:59 IST 2026
[2026-08-29 09:59:59,051.051 INFO    ] ================================================
[2026-08-29 09:59:59,644.644 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 09:59:59
[2026-08-29 10:00:00,187.187 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:00:00,325.325 INFO    ] Initializing speech engine...
[2026-08-29 10:00:00,335.335 INFO    ] 2026-08-29 10:00:00
[2026-08-29 10:00:00,539.539 INFO    ] 2026-08-29 10:00:00
[2026-08-29 10:00:00,569.569 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:00:00,695.695 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:00:00,700.700 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:00:00,852.852 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:00:00,898.898 INFO    ] time= 29/08/2026 10:00:00
[2026-08-29 10:00:00,904.904 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:00:00,919.919 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:00:01,023.023 INFO    ] No existing commands found in stream
[2026-08-29 10:00:06,059.059 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:00:06,083.083 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-08-29 10:00:10,431.431 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:00:10,433.433 INFO    ] Checking for system updates...
[2026-08-29 10:00:10,453.453 INFO    ] 200
[2026-08-29 10:00:10,455.455 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:00:10,485.485 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:00:10,486.486 INFO    ] No update needed
[2026-08-29 10:00:10,487.487 INFO    ] Checking for camera pi updates...
[2026-08-29 10:00:10,509.509 INFO    ] 200
[2026-08-29 10:00:10,510.510 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:00:10,533.533 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:00:10,629.629 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:00:10,636.636 INFO    ] No camera update needed
[2026-08-29 10:00:10,638.638 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:00:10,639.639 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:00:10,642.642 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:00:10,645.645 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:00:12,684.684 INFO    ] ================================================
[2026-08-29 10:00:12,700.700 INFO    ] Launching Daemon at Sat Aug 29 10:00:12 IST 2026
[2026-08-29 10:00:12,711.711 INFO    ] ================================================
[2026-08-29 10:00:13,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:00:13
[2026-08-29 10:00:13,359.359 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:00:13,497.497 INFO    ] Initializing speech engine...
[2026-08-29 10:00:13,507.507 INFO    ] 2026-08-29 10:00:13
[2026-08-29 10:00:13,747.747 INFO    ] 2026-08-29 10:00:13
[2026-08-29 10:00:13,815.815 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:00:14,037.037 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:00:14,046.046 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:00:14,178.178 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:00:14,221.221 INFO    ] time= 29/08/2026 10:00:14
[2026-08-29 10:00:14,291.291 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:00:14,314.314 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:00:14,425.425 INFO    ] No existing commands found in stream
[2026-08-29 10:00:19,447.447 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:00:19,450.450 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-08-29 10:00:23,578.578 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:00:23,580.580 INFO    ] Checking for system updates...
[2026-08-29 10:00:23,601.601 INFO    ] 200
[2026-08-29 10:00:23,603.603 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:00:23,633.633 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:00:23,635.635 INFO    ] No update needed
[2026-08-29 10:00:23,636.636 INFO    ] Checking for camera pi updates...
[2026-08-29 10:00:23,655.655 INFO    ] 200
[2026-08-29 10:00:23,656.656 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:00:23,681.681 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:00:23,762.762 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:00:23,763.763 INFO    ] No camera update needed
[2026-08-29 10:00:23,765.765 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:00:23,766.766 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:00:23,769.769 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:00:23,771.771 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:00:25,813.813 INFO    ] ================================================
[2026-08-29 10:00:25,828.828 INFO    ] Launching Daemon at Sat Aug 29 10:00:25 IST 2026
[2026-08-29 10:00:25,839.839 INFO    ] ================================================
[2026-08-29 10:00:26,173.173 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:00:26
[2026-08-29 10:00:26,530.530 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:00:26,792.792 INFO    ] Initializing speech engine...
[2026-08-29 10:00:26,817.817 INFO    ] 2026-08-29 10:00:26
[2026-08-29 10:00:27,089.089 INFO    ] 2026-08-29 10:00:27
[2026-08-29 10:00:27,123.123 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:00:27,318.318 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:00:27,329.329 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:00:27,460.460 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:00:27,467.467 INFO    ] time= 29/08/2026 10:00:27
[2026-08-29 10:00:27,471.471 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:00:27,486.486 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:00:27,592.592 INFO    ] No existing commands found in stream
[2026-08-29 10:00:32,603.603 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:00:32,606.606 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-08-29 10:00:34,374.374 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:00:34,376.376 INFO    ] Checking for system updates...
[2026-08-29 10:00:34,412.412 INFO    ] 200
[2026-08-29 10:00:34,415.415 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:00:34,468.468 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:00:34,470.470 INFO    ] No update needed
[2026-08-29 10:00:34,473.473 INFO    ] Checking for camera pi updates...
[2026-08-29 10:00:34,506.506 INFO    ] 200
[2026-08-29 10:00:34,508.508 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:00:34,549.549 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:00:34,630.630 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:00:34,633.633 INFO    ] No camera update needed
[2026-08-29 10:00:34,636.636 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:00:34,638.638 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:00:34,643.643 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:00:34,648.648 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:00:36,688.688 INFO    ] ================================================
[2026-08-29 10:00:36,704.704 INFO    ] Launching Daemon at Sat Aug 29 10:00:36 IST 2026
[2026-08-29 10:00:36,715.715 INFO    ] ================================================
[2026-08-29 10:00:37,051.051 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:00:37
[2026-08-29 10:00:37,363.363 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:00:37,496.496 INFO    ] Initializing speech engine...
[2026-08-29 10:00:37,499.499 INFO    ] 2026-08-29 10:00:37
[2026-08-29 10:00:37,728.728 INFO    ] 2026-08-29 10:00:37
[2026-08-29 10:00:37,759.759 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:00:37,892.892 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:00:37,950.950 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:00:38,067.067 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:00:38,123.123 INFO    ] time= 29/08/2026 10:00:38
[2026-08-29 10:00:38,153.153 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:00:38,190.190 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:00:38,303.303 INFO    ] No existing commands found in stream
[2026-08-29 10:00:43,318.318 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:00:43,320.320 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-08-29 10:00:46,500.500 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:00:46,502.502 INFO    ] Checking for system updates...
[2026-08-29 10:00:46,563.563 INFO    ] 200
[2026-08-29 10:00:46,565.565 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:00:46,594.594 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:00:46,595.595 INFO    ] No update needed
[2026-08-29 10:00:46,597.597 INFO    ] Checking for camera pi updates...
[2026-08-29 10:00:46,631.631 INFO    ] 200
[2026-08-29 10:00:46,634.634 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:00:46,675.675 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:00:46,773.773 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:00:46,775.775 INFO    ] No camera update needed
[2026-08-29 10:00:46,778.778 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:00:46,780.780 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:00:46,785.785 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:00:46,790.790 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:00:48,830.830 INFO    ] ================================================
[2026-08-29 10:00:48,845.845 INFO    ] Launching Daemon at Sat Aug 29 10:00:48 IST 2026
[2026-08-29 10:00:48,855.855 INFO    ] ================================================
[2026-08-29 10:00:49,427.427 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:00:49
[2026-08-29 10:00:49,886.886 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:00:50,112.112 INFO    ] Initializing speech engine...
[2026-08-29 10:00:50,121.121 INFO    ] 2026-08-29 10:00:50
[2026-08-29 10:00:50,370.370 INFO    ] 2026-08-29 10:00:50
[2026-08-29 10:00:50,436.436 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:00:50,599.599 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:00:50,622.622 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:00:50,739.739 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:00:50,785.785 INFO    ] time= 29/08/2026 10:00:50
[2026-08-29 10:00:50,806.806 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:00:50,827.827 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:00:50,936.936 INFO    ] No existing commands found in stream
[2026-08-29 10:00:55,946.946 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:00:55,949.949 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-08-29 10:00:58,045.045 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:00:58,046.046 INFO    ] Checking for system updates...
[2026-08-29 10:00:58,067.067 INFO    ] 200
[2026-08-29 10:00:58,069.069 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:00:58,101.101 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:00:58,103.103 INFO    ] No update needed
[2026-08-29 10:00:58,104.104 INFO    ] Checking for camera pi updates...
[2026-08-29 10:00:58,123.123 INFO    ] 200
[2026-08-29 10:00:58,125.125 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:00:58,148.148 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:00:58,328.328 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:00:58,329.329 INFO    ] No camera update needed
[2026-08-29 10:00:58,331.331 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:00:58,332.332 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:00:58,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:00:58,339.339 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:01:00,379.379 INFO    ] ================================================
[2026-08-29 10:01:00,394.394 INFO    ] Launching Daemon at Sat Aug 29 10:01:00 IST 2026
[2026-08-29 10:01:00,404.404 INFO    ] ================================================
[2026-08-29 10:01:00,779.779 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:01:00
[2026-08-29 10:01:01,324.324 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:01:01,816.816 INFO    ] Initializing speech engine...
[2026-08-29 10:01:01,819.819 INFO    ] 2026-08-29 10:01:01
[2026-08-29 10:01:02,166.166 INFO    ] 2026-08-29 10:01:02
[2026-08-29 10:01:02,255.255 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:01:02,460.460 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:01:02,472.472 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:01:02,638.638 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:01:02,673.673 INFO    ] time= 29/08/2026 10:01:02
[2026-08-29 10:01:02,693.693 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:01:02,759.759 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:01:02,839.839 INFO    ] No existing commands found in stream
[2026-08-29 10:01:07,853.853 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:01:07,856.856 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-08-29 10:01:09,113.113 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:01:09,115.115 INFO    ] Checking for system updates...
[2026-08-29 10:01:09,177.177 INFO    ] 200
[2026-08-29 10:01:09,180.180 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:01:09,239.239 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:01:09,241.241 INFO    ] No update needed
[2026-08-29 10:01:09,243.243 INFO    ] Checking for camera pi updates...
[2026-08-29 10:01:09,277.277 INFO    ] 200
[2026-08-29 10:01:09,280.280 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:01:09,320.320 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:01:09,423.423 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:01:09,426.426 INFO    ] No camera update needed
[2026-08-29 10:01:09,428.428 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:01:09,430.430 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:01:09,435.435 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:01:09,440.440 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:01:11,481.481 INFO    ] ================================================
[2026-08-29 10:01:11,497.497 INFO    ] Launching Daemon at Sat Aug 29 10:01:11 IST 2026
[2026-08-29 10:01:11,507.507 INFO    ] ================================================
[2026-08-29 10:01:11,892.892 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:01:11
[2026-08-29 10:01:12,476.476 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:01:12,724.724 INFO    ] Initializing speech engine...
[2026-08-29 10:01:12,739.739 INFO    ] 2026-08-29 10:01:12
[2026-08-29 10:01:13,005.005 INFO    ] 2026-08-29 10:01:12
[2026-08-29 10:01:13,040.040 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:01:13,215.215 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:01:13,230.230 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:01:13,372.372 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:01:13,381.381 INFO    ] time= 29/08/2026 10:01:13
[2026-08-29 10:01:13,387.387 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:01:13,408.408 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:01:13,516.516 INFO    ] No existing commands found in stream
[2026-08-29 10:01:18,541.541 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:01:18,543.543 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-08-29 10:01:22,498.498 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:01:22,500.500 INFO    ] Checking for system updates...
[2026-08-29 10:01:22,521.521 INFO    ] 200
[2026-08-29 10:01:22,522.522 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:01:22,553.553 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:01:22,554.554 INFO    ] No update needed
[2026-08-29 10:01:22,555.555 INFO    ] Checking for camera pi updates...
[2026-08-29 10:01:22,575.575 INFO    ] 200
[2026-08-29 10:01:22,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:01:22,599.599 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:01:22,695.695 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:01:22,698.698 INFO    ] No camera update needed
[2026-08-29 10:01:22,700.700 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:01:22,703.703 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:01:22,709.709 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:01:22,715.715 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:01:24,756.756 INFO    ] ================================================
[2026-08-29 10:01:24,771.771 INFO    ] Launching Daemon at Sat Aug 29 10:01:24 IST 2026
[2026-08-29 10:01:24,782.782 INFO    ] ================================================
[2026-08-29 10:01:25,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:01:25
[2026-08-29 10:01:25,855.855 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:01:25,997.997 INFO    ] Initializing speech engine...
[2026-08-29 10:01:26,001.001 INFO    ] 2026-08-29 10:01:25
[2026-08-29 10:01:26,248.248 INFO    ] 2026-08-29 10:01:26
[2026-08-29 10:01:26,302.302 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:01:26,467.467 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:01:26,472.472 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:01:26,647.647 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:01:26,670.670 INFO    ] time= 29/08/2026 10:01:26
[2026-08-29 10:01:26,676.676 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:01:26,694.694 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:01:26,814.814 INFO    ] No existing commands found in stream
[2026-08-29 10:01:31,834.834 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:01:31,838.838 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-08-29 10:01:32,894.894 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:01:32,897.897 INFO    ] Checking for system updates...
[2026-08-29 10:01:32,934.934 INFO    ] 200
[2026-08-29 10:01:32,937.937 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:01:32,996.996 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:01:32,999.999 INFO    ] No update needed
[2026-08-29 10:01:33,006.006 INFO    ] Checking for camera pi updates...
[2026-08-29 10:01:33,041.041 INFO    ] 200
[2026-08-29 10:01:33,044.044 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:01:33,085.085 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:01:33,166.166 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:01:33,169.169 INFO    ] No camera update needed
[2026-08-29 10:01:33,172.172 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:01:33,174.174 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:01:33,180.180 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:01:33,186.186 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:01:35,228.228 INFO    ] ================================================
[2026-08-29 10:01:35,244.244 INFO    ] Launching Daemon at Sat Aug 29 10:01:35 IST 2026
[2026-08-29 10:01:35,255.255 INFO    ] ================================================
[2026-08-29 10:01:35,594.594 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:01:35
[2026-08-29 10:01:35,933.933 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:01:36,085.085 INFO    ] Initializing speech engine...
[2026-08-29 10:01:36,088.088 INFO    ] 2026-08-29 10:01:36
[2026-08-29 10:01:36,292.292 INFO    ] 2026-08-29 10:01:36
[2026-08-29 10:01:36,321.321 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:01:36,444.444 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:01:36,487.487 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:01:36,639.639 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:01:36,706.706 INFO    ] time= 29/08/2026 10:01:36
[2026-08-29 10:01:36,739.739 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:01:36,746.746 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:01:36,813.813 INFO    ] No existing commands found in stream
[2026-08-29 10:01:41,822.822 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:01:41,825.825 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-08-29 10:01:48,434.434 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:01:48,435.435 INFO    ] Checking for system updates...
[2026-08-29 10:01:48,456.456 INFO    ] 200
[2026-08-29 10:01:48,457.457 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:01:48,487.487 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:01:48,489.489 INFO    ] No update needed
[2026-08-29 10:01:48,490.490 INFO    ] Checking for camera pi updates...
[2026-08-29 10:01:48,510.510 INFO    ] 200
[2026-08-29 10:01:48,511.511 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:01:48,536.536 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:01:48,623.623 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:01:48,626.626 INFO    ] No camera update needed
[2026-08-29 10:01:48,628.628 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:01:48,631.631 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:01:48,637.637 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:01:48,643.643 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:01:50,684.684 INFO    ] ================================================
[2026-08-29 10:01:50,699.699 INFO    ] Launching Daemon at Sat Aug 29 10:01:50 IST 2026
[2026-08-29 10:01:50,710.710 INFO    ] ================================================
[2026-08-29 10:01:51,295.295 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:01:51
[2026-08-29 10:01:51,748.748 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:01:51,892.892 INFO    ] Initializing speech engine...
[2026-08-29 10:01:51,897.897 INFO    ] 2026-08-29 10:01:51
[2026-08-29 10:01:52,084.084 INFO    ] 2026-08-29 10:01:52
[2026-08-29 10:01:52,142.142 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:01:52,494.494 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:01:52,542.542 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:01:52,677.677 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:01:52,683.683 INFO    ] time= 29/08/2026 10:01:52
[2026-08-29 10:01:52,689.689 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:01:52,711.711 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:01:52,821.821 INFO    ] No existing commands found in stream
[2026-08-29 10:01:57,857.857 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:01:57,860.860 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-08-29 10:01:59,765.765 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:01:59,767.767 INFO    ] Checking for system updates...
[2026-08-29 10:01:59,787.787 INFO    ] 200
[2026-08-29 10:01:59,788.788 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:01:59,820.820 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:01:59,822.822 INFO    ] No update needed
[2026-08-29 10:01:59,823.823 INFO    ] Checking for camera pi updates...
[2026-08-29 10:01:59,842.842 INFO    ] 200
[2026-08-29 10:01:59,844.844 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:01:59,866.866 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:01:59,962.962 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:01:59,963.963 INFO    ] No camera update needed
[2026-08-29 10:01:59,965.965 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:01:59,966.966 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:01:59,969.969 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:01:59,972.972 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:02:02,013.013 INFO    ] ================================================
[2026-08-29 10:02:02,036.036 INFO    ] Launching Daemon at Sat Aug 29 10:02:02 IST 2026
[2026-08-29 10:02:02,055.055 INFO    ] ================================================
[2026-08-29 10:02:02,712.712 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:02:02
[2026-08-29 10:02:03,377.377 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:02:03,652.652 INFO    ] Initializing speech engine...
[2026-08-29 10:02:03,662.662 INFO    ] 2026-08-29 10:02:03
[2026-08-29 10:02:03,926.926 INFO    ] 2026-08-29 10:02:03
[2026-08-29 10:02:03,981.981 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:02:04,151.151 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:02:04,201.201 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:02:04,346.346 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:02:04,384.384 INFO    ] time= 29/08/2026 10:02:04
[2026-08-29 10:02:04,433.433 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:02:04,446.446 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:02:04,508.508 INFO    ] No existing commands found in stream
[2026-08-29 10:02:09,517.517 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:02:09,520.520 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-08-29 10:02:11,525.525 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:02:11,526.526 INFO    ] Checking for system updates...
[2026-08-29 10:02:11,547.547 INFO    ] 200
[2026-08-29 10:02:11,548.548 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:02:11,578.578 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:02:11,580.580 INFO    ] No update needed
[2026-08-29 10:02:11,581.581 INFO    ] Checking for camera pi updates...
[2026-08-29 10:02:11,600.600 INFO    ] 200
[2026-08-29 10:02:11,602.602 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:02:11,627.627 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:02:11,735.735 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:02:11,736.736 INFO    ] No camera update needed
[2026-08-29 10:02:11,737.737 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:02:11,738.738 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:02:11,741.741 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:02:11,744.744 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:02:13,783.783 INFO    ] ================================================
[2026-08-29 10:02:13,798.798 INFO    ] Launching Daemon at Sat Aug 29 10:02:13 IST 2026
[2026-08-29 10:02:13,809.809 INFO    ] ================================================
[2026-08-29 10:02:14,145.145 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:02:14
[2026-08-29 10:02:14,456.456 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:02:14,640.640 INFO    ] Initializing speech engine...
[2026-08-29 10:02:14,648.648 INFO    ] 2026-08-29 10:02:14
[2026-08-29 10:02:14,900.900 INFO    ] 2026-08-29 10:02:14
[2026-08-29 10:02:14,935.935 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:02:15,112.112 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:02:15,124.124 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:02:15,271.271 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:02:15,277.277 INFO    ] time= 29/08/2026 10:02:15
[2026-08-29 10:02:15,283.283 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:02:15,329.329 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:02:15,468.468 INFO    ] No existing commands found in stream
[2026-08-29 10:02:20,488.488 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:02:20,491.491 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-08-29 10:02:22,593.593 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:02:22,594.594 INFO    ] Checking for system updates...
[2026-08-29 10:02:22,615.615 INFO    ] 200
[2026-08-29 10:02:22,616.616 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:02:22,645.645 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:02:22,646.646 INFO    ] No update needed
[2026-08-29 10:02:22,648.648 INFO    ] Checking for camera pi updates...
[2026-08-29 10:02:22,668.668 INFO    ] 200
[2026-08-29 10:02:22,669.669 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:02:22,691.691 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:02:22,806.806 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:02:22,808.808 INFO    ] No camera update needed
[2026-08-29 10:02:22,809.809 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:02:22,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:02:22,813.813 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:02:22,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:02:24,855.855 INFO    ] ================================================
[2026-08-29 10:02:24,870.870 INFO    ] Launching Daemon at Sat Aug 29 10:02:24 IST 2026
[2026-08-29 10:02:24,882.882 INFO    ] ================================================
[2026-08-29 10:02:25,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:02:25
[2026-08-29 10:02:25,957.957 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:02:26,230.230 INFO    ] Initializing speech engine...
[2026-08-29 10:02:26,240.240 INFO    ] 2026-08-29 10:02:26
[2026-08-29 10:02:26,486.486 INFO    ] 2026-08-29 10:02:26
[2026-08-29 10:02:26,521.521 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:02:26,675.675 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:02:26,678.678 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:02:26,818.818 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:02:26,825.825 INFO    ] time= 29/08/2026 10:02:26
[2026-08-29 10:02:26,843.843 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:02:26,863.863 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:02:26,937.937 INFO    ] No existing commands found in stream
[2026-08-29 10:02:31,944.944 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:02:31,947.947 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-08-29 10:02:33,142.142 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:02:33,145.145 INFO    ] Checking for system updates...
[2026-08-29 10:02:33,183.183 INFO    ] 200
[2026-08-29 10:02:33,185.185 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:02:33,237.237 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:02:33,239.239 INFO    ] No update needed
[2026-08-29 10:02:33,241.241 INFO    ] Checking for camera pi updates...
[2026-08-29 10:02:33,277.277 INFO    ] 200
[2026-08-29 10:02:33,279.279 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:02:33,319.319 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:02:33,430.430 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:02:33,433.433 INFO    ] No camera update needed
[2026-08-29 10:02:33,435.435 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:02:33,438.438 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:02:33,443.443 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:02:33,448.448 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:02:35,489.489 INFO    ] ================================================
[2026-08-29 10:02:35,505.505 INFO    ] Launching Daemon at Sat Aug 29 10:02:35 IST 2026
[2026-08-29 10:02:35,515.515 INFO    ] ================================================
[2026-08-29 10:02:35,913.913 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:02:35
[2026-08-29 10:02:36,515.515 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:02:36,792.792 INFO    ] Initializing speech engine...
[2026-08-29 10:02:36,799.799 INFO    ] 2026-08-29 10:02:36
[2026-08-29 10:02:37,061.061 INFO    ] 2026-08-29 10:02:37
[2026-08-29 10:02:37,091.091 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:02:37,281.281 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:02:37,322.322 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:02:37,479.479 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:02:37,521.521 INFO    ] time= 29/08/2026 10:02:37
[2026-08-29 10:02:37,570.570 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:02:37,613.613 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:02:37,668.668 INFO    ] No existing commands found in stream
[2026-08-29 10:02:42,680.680 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:02:42,683.683 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-08-29 10:02:46,862.862 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:02:46,863.863 INFO    ] Checking for system updates...
[2026-08-29 10:02:46,884.884 INFO    ] 200
[2026-08-29 10:02:46,886.886 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:02:46,917.917 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:02:46,918.918 INFO    ] No update needed
[2026-08-29 10:02:46,919.919 INFO    ] Checking for camera pi updates...
[2026-08-29 10:02:46,939.939 INFO    ] 200
[2026-08-29 10:02:46,941.941 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:02:46,964.964 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:02:47,056.056 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:02:47,057.057 INFO    ] No camera update needed
[2026-08-29 10:02:47,059.059 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:02:47,060.060 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:02:47,063.063 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:02:47,066.066 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:02:49,105.105 INFO    ] ================================================
[2026-08-29 10:02:49,120.120 INFO    ] Launching Daemon at Sat Aug 29 10:02:49 IST 2026
[2026-08-29 10:02:49,131.131 INFO    ] ================================================
[2026-08-29 10:02:49,465.465 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:02:49
[2026-08-29 10:02:49,778.778 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:02:49,913.913 INFO    ] Initializing speech engine...
[2026-08-29 10:02:49,920.920 INFO    ] 2026-08-29 10:02:49
[2026-08-29 10:02:50,154.154 INFO    ] 2026-08-29 10:02:50
[2026-08-29 10:02:50,191.191 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:02:50,380.380 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:02:50,394.394 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:02:50,546.546 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:02:50,553.553 INFO    ] time= 29/08/2026 10:02:50
[2026-08-29 10:02:50,560.560 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:02:50,591.591 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:02:50,679.679 INFO    ] No existing commands found in stream
[2026-08-29 10:02:55,688.688 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:02:55,691.691 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 10:02:59,309.309 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:02:59,310.310 INFO    ] Checking for system updates...
[2026-08-29 10:02:59,330.330 INFO    ] 200
[2026-08-29 10:02:59,332.332 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:02:59,362.362 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:02:59,363.363 INFO    ] No update needed
[2026-08-29 10:02:59,364.364 INFO    ] Checking for camera pi updates...
[2026-08-29 10:02:59,386.386 INFO    ] 200
[2026-08-29 10:02:59,387.387 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:02:59,413.413 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:02:59,590.590 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:02:59,591.591 INFO    ] No camera update needed
[2026-08-29 10:02:59,593.593 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:02:59,594.594 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:02:59,597.597 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:02:59,599.599 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:03:01,641.641 INFO    ] ================================================
[2026-08-29 10:03:01,658.658 INFO    ] Launching Daemon at Sat Aug 29 10:03:01 IST 2026
[2026-08-29 10:03:01,671.671 INFO    ] ================================================
[2026-08-29 10:03:02,314.314 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:03:02
[2026-08-29 10:03:03,004.004 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:03:03,278.278 INFO    ] Initializing speech engine...
[2026-08-29 10:03:03,287.287 INFO    ] 2026-08-29 10:03:03
[2026-08-29 10:03:03,551.551 INFO    ] 2026-08-29 10:03:03
[2026-08-29 10:03:03,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:03:03,826.826 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:03:03,836.836 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:03:03,970.970 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:03:04,025.025 INFO    ] time= 29/08/2026 10:03:03
[2026-08-29 10:03:04,074.074 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:03:04,101.101 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:03:04,155.155 INFO    ] No existing commands found in stream
[2026-08-29 10:03:09,167.167 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:03:09,170.170 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-08-29 10:03:10,358.358 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:03:10,359.359 INFO    ] Checking for system updates...
[2026-08-29 10:03:10,380.380 INFO    ] 200
[2026-08-29 10:03:10,381.381 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:03:10,416.416 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:03:10,417.417 INFO    ] No update needed
[2026-08-29 10:03:10,418.418 INFO    ] Checking for camera pi updates...
[2026-08-29 10:03:10,437.437 INFO    ] 200
[2026-08-29 10:03:10,438.438 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:03:10,464.464 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:03:10,551.551 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:03:10,553.553 INFO    ] No camera update needed
[2026-08-29 10:03:10,554.554 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:03:10,555.555 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:03:10,558.558 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:03:10,561.561 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:03:12,599.599 INFO    ] ================================================
[2026-08-29 10:03:12,615.615 INFO    ] Launching Daemon at Sat Aug 29 10:03:12 IST 2026
[2026-08-29 10:03:12,626.626 INFO    ] ================================================
[2026-08-29 10:03:12,971.971 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:03:12
[2026-08-29 10:03:13,284.284 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:03:13,420.420 INFO    ] Initializing speech engine...
[2026-08-29 10:03:13,433.433 INFO    ] 2026-08-29 10:03:13
[2026-08-29 10:03:13,649.649 INFO    ] 2026-08-29 10:03:13
[2026-08-29 10:03:13,692.692 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:03:13,834.834 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:03:13,841.841 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:03:13,965.965 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:03:13,981.981 INFO    ] time= 29/08/2026 10:03:13
[2026-08-29 10:03:14,041.041 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:03:14,095.095 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:03:14,169.169 INFO    ] No existing commands found in stream
[2026-08-29 10:03:19,181.181 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:03:19,184.184 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-08-29 10:03:23,247.247 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:03:23,248.248 INFO    ] Checking for system updates...
[2026-08-29 10:03:23,271.271 INFO    ] 200
[2026-08-29 10:03:23,272.272 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:03:23,313.313 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:03:23,315.315 INFO    ] No update needed
[2026-08-29 10:03:23,317.317 INFO    ] Checking for camera pi updates...
[2026-08-29 10:03:23,338.338 INFO    ] 200
[2026-08-29 10:03:23,340.340 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:03:23,376.376 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:03:23,481.481 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:03:23,484.484 INFO    ] No camera update needed
[2026-08-29 10:03:23,487.487 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:03:23,489.489 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:03:23,495.495 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:03:23,501.501 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:03:25,543.543 INFO    ] ================================================
[2026-08-29 10:03:25,560.560 INFO    ] Launching Daemon at Sat Aug 29 10:03:25 IST 2026
[2026-08-29 10:03:25,571.571 INFO    ] ================================================
[2026-08-29 10:03:26,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:03:26
[2026-08-29 10:03:26,642.642 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:03:26,889.889 INFO    ] Initializing speech engine...
[2026-08-29 10:03:26,896.896 INFO    ] 2026-08-29 10:03:26
[2026-08-29 10:03:27,156.156 INFO    ] 2026-08-29 10:03:27
[2026-08-29 10:03:27,191.191 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:03:32,375.375 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:03:32,377.377 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:03:33,499.499 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:03:33,502.502 INFO    ] time= 29/08/2026 10:03:33
[2026-08-29 10:03:33,505.505 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:03:33,507.507 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:03:33,558.558 INFO    ] No existing commands found in stream
[2026-08-29 10:03:38,567.567 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:03:38,570.570 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-08-29 10:03:42,320.320 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:03:42,323.323 INFO    ] Checking for system updates...
[2026-08-29 10:03:42,360.360 INFO    ] 200
[2026-08-29 10:03:42,363.363 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:03:42,414.414 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:03:42,416.416 INFO    ] No update needed
[2026-08-29 10:03:42,417.417 INFO    ] Checking for camera pi updates...
[2026-08-29 10:03:42,437.437 INFO    ] 200
[2026-08-29 10:03:42,438.438 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:03:42,461.461 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:03:42,559.559 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:03:42,560.560 INFO    ] No camera update needed
[2026-08-29 10:03:42,562.562 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:03:42,563.563 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:03:42,566.566 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:03:42,569.569 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:03:44,609.609 INFO    ] ================================================
[2026-08-29 10:03:44,625.625 INFO    ] Launching Daemon at Sat Aug 29 10:03:44 IST 2026
[2026-08-29 10:03:44,636.636 INFO    ] ================================================
[2026-08-29 10:03:45,219.219 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:03:45
[2026-08-29 10:03:45,812.812 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:03:46,062.062 INFO    ] Initializing speech engine...
[2026-08-29 10:03:46,068.068 INFO    ] 2026-08-29 10:03:46
[2026-08-29 10:03:46,341.341 INFO    ] 2026-08-29 10:03:46
[2026-08-29 10:03:46,365.365 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:03:46,501.501 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:03:46,505.505 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:03:46,640.640 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:03:46,649.649 INFO    ] time= 29/08/2026 10:03:46
[2026-08-29 10:03:46,654.654 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:03:46,668.668 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:03:46,752.752 INFO    ] No existing commands found in stream
[2026-08-29 10:03:51,784.784 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:03:51,786.786 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-08-29 10:03:55,626.626 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:03:55,627.627 INFO    ] Checking for system updates...
[2026-08-29 10:03:55,649.649 INFO    ] 200
[2026-08-29 10:03:55,650.650 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:03:55,679.679 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:03:55,681.681 INFO    ] No update needed
[2026-08-29 10:03:55,682.682 INFO    ] Checking for camera pi updates...
[2026-08-29 10:03:55,703.703 INFO    ] 200
[2026-08-29 10:03:55,704.704 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:03:55,727.727 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:03:55,829.829 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:03:55,830.830 INFO    ] No camera update needed
[2026-08-29 10:03:55,831.831 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:03:55,833.833 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:03:55,836.836 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:03:55,838.838 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:03:57,876.876 INFO    ] ================================================
[2026-08-29 10:03:57,891.891 INFO    ] Launching Daemon at Sat Aug 29 10:03:57 IST 2026
[2026-08-29 10:03:57,902.902 INFO    ] ================================================
[2026-08-29 10:03:58,393.393 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:03:58
[2026-08-29 10:03:58,991.991 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:03:59,266.266 INFO    ] Initializing speech engine...
[2026-08-29 10:03:59,276.276 INFO    ] 2026-08-29 10:03:59
[2026-08-29 10:03:59,537.537 INFO    ] 2026-08-29 10:03:59
[2026-08-29 10:03:59,591.591 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:03:59,813.813 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:03:59,822.822 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:03:59,958.958 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:04:00,006.006 INFO    ] time= 29/08/2026 10:03:59
[2026-08-29 10:04:00,055.055 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:04:00,093.093 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:04:00,216.216 INFO    ] No existing commands found in stream
[2026-08-29 10:04:05,246.246 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:04:05,249.249 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-08-29 10:04:06,273.273 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:04:06,276.276 INFO    ] Checking for system updates...
[2026-08-29 10:04:06,316.316 INFO    ] 200
[2026-08-29 10:04:06,319.319 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:04:06,374.374 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:04:06,376.376 INFO    ] No update needed
[2026-08-29 10:04:06,379.379 INFO    ] Checking for camera pi updates...
[2026-08-29 10:04:06,415.415 INFO    ] 200
[2026-08-29 10:04:06,417.417 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:04:06,458.458 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:04:06,544.544 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:04:06,546.546 INFO    ] No camera update needed
[2026-08-29 10:04:06,549.549 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:04:06,551.551 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:04:06,557.557 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:04:06,562.562 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:04:08,603.603 INFO    ] ================================================
[2026-08-29 10:04:08,618.618 INFO    ] Launching Daemon at Sat Aug 29 10:04:08 IST 2026
[2026-08-29 10:04:08,629.629 INFO    ] ================================================
[2026-08-29 10:04:09,179.179 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:04:09
[2026-08-29 10:04:09,496.496 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:04:09,642.642 INFO    ] Initializing speech engine...
[2026-08-29 10:04:09,647.647 INFO    ] 2026-08-29 10:04:09
[2026-08-29 10:04:09,851.851 INFO    ] 2026-08-29 10:04:09
[2026-08-29 10:04:09,880.880 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:04:10,012.012 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:04:10,059.059 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:04:10,192.192 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:04:10,209.209 INFO    ] time= 29/08/2026 10:04:10
[2026-08-29 10:04:10,218.218 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:04:10,244.244 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:04:10,349.349 INFO    ] No existing commands found in stream
[2026-08-29 10:04:15,362.362 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:04:15,365.365 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 10:04:16,622.622 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:04:16,624.624 INFO    ] Checking for system updates...
[2026-08-29 10:04:16,644.644 INFO    ] 200
[2026-08-29 10:04:16,645.645 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:04:16,677.677 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:04:16,679.679 INFO    ] No update needed
[2026-08-29 10:04:16,680.680 INFO    ] Checking for camera pi updates...
[2026-08-29 10:04:16,699.699 INFO    ] 200
[2026-08-29 10:04:16,700.700 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:04:16,724.724 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:04:16,815.815 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:04:16,817.817 INFO    ] No camera update needed
[2026-08-29 10:04:16,818.818 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:04:16,819.819 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:04:16,822.822 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:04:16,825.825 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:04:18,864.864 INFO    ] ================================================
[2026-08-29 10:04:18,879.879 INFO    ] Launching Daemon at Sat Aug 29 10:04:18 IST 2026
[2026-08-29 10:04:18,890.890 INFO    ] ================================================
[2026-08-29 10:04:19,263.263 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:04:19
[2026-08-29 10:04:19,577.577 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:04:19,722.722 INFO    ] Initializing speech engine...
[2026-08-29 10:04:19,730.730 INFO    ] 2026-08-29 10:04:19
[2026-08-29 10:04:19,951.951 INFO    ] 2026-08-29 10:04:19
[2026-08-29 10:04:19,983.983 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:04:20,116.116 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:04:20,160.160 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:04:20,329.329 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:04:20,391.391 INFO    ] time= 29/08/2026 10:04:20
[2026-08-29 10:04:20,421.421 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:04:20,446.446 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:04:20,511.511 INFO    ] No existing commands found in stream
[2026-08-29 10:04:25,522.522 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:04:25,525.525 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-08-29 10:04:29,452.452 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:04:29,454.454 INFO    ] Checking for system updates...
[2026-08-29 10:04:29,474.474 INFO    ] 200
[2026-08-29 10:04:29,475.475 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:04:29,508.508 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:04:29,509.509 INFO    ] No update needed
[2026-08-29 10:04:29,510.510 INFO    ] Checking for camera pi updates...
[2026-08-29 10:04:29,531.531 INFO    ] 200
[2026-08-29 10:04:29,532.532 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:04:29,555.555 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:04:29,630.630 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:04:29,631.631 INFO    ] No camera update needed
[2026-08-29 10:04:29,633.633 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:04:29,634.634 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:04:29,637.637 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:04:29,639.639 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:04:31,675.675 INFO    ] ================================================
[2026-08-29 10:04:31,684.684 INFO    ] Launching Daemon at Sat Aug 29 10:04:31 IST 2026
[2026-08-29 10:04:31,691.691 INFO    ] ================================================
[2026-08-29 10:04:32,274.274 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:04:32
[2026-08-29 10:04:32,873.873 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:04:33,148.148 INFO    ] Initializing speech engine...
[2026-08-29 10:04:33,155.155 INFO    ] 2026-08-29 10:04:33
[2026-08-29 10:04:33,414.414 INFO    ] 2026-08-29 10:04:33
[2026-08-29 10:04:33,466.466 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:04:33,631.631 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:04:33,675.675 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:04:33,831.831 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:04:33,853.853 INFO    ] time= 29/08/2026 10:04:33
[2026-08-29 10:04:33,918.918 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:04:33,965.965 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:04:34,083.083 INFO    ] No existing commands found in stream
[2026-08-29 10:04:39,105.105 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:04:39,107.107 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-08-29 10:04:42,851.851 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:04:42,853.853 INFO    ] Checking for system updates...
[2026-08-29 10:04:42,875.875 INFO    ] 200
[2026-08-29 10:04:42,876.876 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:04:42,909.909 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:04:42,910.910 INFO    ] No update needed
[2026-08-29 10:04:42,912.912 INFO    ] Checking for camera pi updates...
[2026-08-29 10:04:42,931.931 INFO    ] 200
[2026-08-29 10:04:42,933.933 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:04:42,957.957 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:04:43,036.036 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:04:43,037.037 INFO    ] No camera update needed
[2026-08-29 10:04:43,038.038 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:04:43,040.040 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:04:43,043.043 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:04:43,045.045 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:04:45,085.085 INFO    ] ================================================
[2026-08-29 10:04:45,100.100 INFO    ] Launching Daemon at Sat Aug 29 10:04:45 IST 2026
[2026-08-29 10:04:45,111.111 INFO    ] ================================================
[2026-08-29 10:04:45,445.445 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:04:45
[2026-08-29 10:04:45,775.775 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:04:46,050.050 INFO    ] Initializing speech engine...
[2026-08-29 10:04:46,059.059 INFO    ] 2026-08-29 10:04:46
[2026-08-29 10:04:46,324.324 INFO    ] 2026-08-29 10:04:46
[2026-08-29 10:04:46,376.376 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:04:46,519.519 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:04:46,531.531 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:04:46,675.675 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:04:46,680.680 INFO    ] time= 29/08/2026 10:04:46
[2026-08-29 10:04:46,686.686 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:04:46,743.743 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:04:46,856.856 INFO    ] No existing commands found in stream
[2026-08-29 10:04:51,886.886 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:04:51,889.889 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-08-29 10:04:52,396.396 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:04:52,397.397 INFO    ] Checking for system updates...
[2026-08-29 10:04:52,418.418 INFO    ] 200
[2026-08-29 10:04:52,419.419 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:04:52,448.448 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:04:52,450.450 INFO    ] No update needed
[2026-08-29 10:04:52,451.451 INFO    ] Checking for camera pi updates...
[2026-08-29 10:04:52,472.472 INFO    ] 200
[2026-08-29 10:04:52,474.474 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:04:52,496.496 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:04:52,595.595 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:04:52,597.597 INFO    ] No camera update needed
[2026-08-29 10:04:52,598.598 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:04:52,599.599 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:04:52,602.602 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:04:52,605.605 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:04:54,643.643 INFO    ] ================================================
[2026-08-29 10:04:54,659.659 INFO    ] Launching Daemon at Sat Aug 29 10:04:54 IST 2026
[2026-08-29 10:04:54,670.670 INFO    ] ================================================
[2026-08-29 10:04:55,030.030 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:04:55
[2026-08-29 10:04:55,372.372 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:04:55,514.514 INFO    ] Initializing speech engine...
[2026-08-29 10:04:55,519.519 INFO    ] 2026-08-29 10:04:55
[2026-08-29 10:04:55,734.734 INFO    ] 2026-08-29 10:04:55
[2026-08-29 10:04:55,812.812 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:04:55,959.959 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:04:55,968.968 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:04:56,100.100 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:04:56,121.121 INFO    ] time= 29/08/2026 10:04:56
[2026-08-29 10:04:56,186.186 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:04:56,233.233 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:04:56,285.285 INFO    ] No existing commands found in stream
[2026-08-29 10:05:01,297.297 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:05:01,306.306 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-08-29 10:05:01,712.712 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:05:01,714.714 INFO    ] Checking for system updates...
[2026-08-29 10:05:01,738.738 INFO    ] 200
[2026-08-29 10:05:01,739.739 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:05:01,769.769 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:05:01,770.770 INFO    ] No update needed
[2026-08-29 10:05:01,771.771 INFO    ] Checking for camera pi updates...
[2026-08-29 10:05:01,792.792 INFO    ] 200
[2026-08-29 10:05:01,793.793 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:05:01,818.818 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:05:02,062.062 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:05:02,066.066 INFO    ] No camera update needed
[2026-08-29 10:05:02,084.084 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:05:02,087.087 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:05:02,096.096 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:05:02,115.115 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:05:04,160.160 INFO    ] ================================================
[2026-08-29 10:05:04,175.175 INFO    ] Launching Daemon at Sat Aug 29 10:05:04 IST 2026
[2026-08-29 10:05:04,186.186 INFO    ] ================================================
[2026-08-29 10:05:04,752.752 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:05:04
[2026-08-29 10:05:05,143.143 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:05:05,351.351 INFO    ] Initializing speech engine...
[2026-08-29 10:05:05,360.360 INFO    ] 2026-08-29 10:05:05
[2026-08-29 10:05:05,614.614 INFO    ] 2026-08-29 10:05:05
[2026-08-29 10:05:05,649.649 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:05:05,837.837 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:05:05,855.855 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:05:05,984.984 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:05:05,992.992 INFO    ] time= 29/08/2026 10:05:05
[2026-08-29 10:05:05,999.999 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:05:06,025.025 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:05:06,147.147 INFO    ] No existing commands found in stream
[2026-08-29 10:05:11,172.172 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:05:11,175.175 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-08-29 10:05:12,378.378 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:05:12,380.380 INFO    ] Checking for system updates...
[2026-08-29 10:05:12,401.401 INFO    ] 200
[2026-08-29 10:05:12,403.403 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:05:12,435.435 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:05:12,436.436 INFO    ] No update needed
[2026-08-29 10:05:12,437.437 INFO    ] Checking for camera pi updates...
[2026-08-29 10:05:12,456.456 INFO    ] 200
[2026-08-29 10:05:12,458.458 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:05:12,483.483 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:05:12,571.571 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:05:12,572.572 INFO    ] No camera update needed
[2026-08-29 10:05:12,574.574 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:05:12,575.575 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:05:12,578.578 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:05:12,580.580 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:05:14,620.620 INFO    ] ================================================
[2026-08-29 10:05:14,635.635 INFO    ] Launching Daemon at Sat Aug 29 10:05:14 IST 2026
[2026-08-29 10:05:14,646.646 INFO    ] ================================================
[2026-08-29 10:05:14,990.990 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:05:14
[2026-08-29 10:05:15,311.311 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:05:15,585.585 INFO    ] Initializing speech engine...
[2026-08-29 10:05:15,594.594 INFO    ] 2026-08-29 10:05:15
[2026-08-29 10:05:15,857.857 INFO    ] 2026-08-29 10:05:15
[2026-08-29 10:05:15,911.911 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:05:16,133.133 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:05:16,143.143 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:05:16,275.275 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:05:16,296.296 INFO    ] time= 29/08/2026 10:05:16
[2026-08-29 10:05:16,350.350 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:05:16,400.400 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:05:16,460.460 INFO    ] No existing commands found in stream
[2026-08-29 10:05:21,471.471 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:05:21,473.473 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-08-29 10:05:23,850.850 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:05:23,851.851 INFO    ] Checking for system updates...
[2026-08-29 10:05:23,873.873 INFO    ] 200
[2026-08-29 10:05:23,874.874 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:05:23,907.907 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:05:23,908.908 INFO    ] No update needed
[2026-08-29 10:05:23,909.909 INFO    ] Checking for camera pi updates...
[2026-08-29 10:05:23,929.929 INFO    ] 200
[2026-08-29 10:05:23,931.931 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:05:23,954.954 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:05:23,999.999 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:05:24,000.000 INFO    ] No camera update needed
[2026-08-29 10:05:24,001.001 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:05:24,002.002 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:05:24,005.005 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:05:24,008.008 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:05:26,047.047 INFO    ] ================================================
[2026-08-29 10:05:26,063.063 INFO    ] Launching Daemon at Sat Aug 29 10:05:26 IST 2026
[2026-08-29 10:05:26,074.074 INFO    ] ================================================
[2026-08-29 10:05:26,645.645 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:05:26
[2026-08-29 10:05:27,325.325 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:05:27,633.633 INFO    ] Initializing speech engine...
[2026-08-29 10:05:27,639.639 INFO    ] 2026-08-29 10:05:27
[2026-08-29 10:05:27,927.927 INFO    ] 2026-08-29 10:05:27
[2026-08-29 10:05:27,973.973 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:05:28,200.200 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:05:28,205.205 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:05:28,338.338 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:05:28,375.375 INFO    ] time= 29/08/2026 10:05:28
[2026-08-29 10:05:28,435.435 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:05:28,473.473 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:05:28,603.603 INFO    ] No existing commands found in stream
[2026-08-29 10:05:33,631.631 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:05:33,635.635 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-08-29 10:05:34,866.866 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:05:34,869.869 INFO    ] Checking for system updates...
[2026-08-29 10:05:34,910.910 INFO    ] 200
[2026-08-29 10:05:34,913.913 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:05:34,973.973 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:05:34,976.976 INFO    ] No update needed
[2026-08-29 10:05:34,979.979 INFO    ] Checking for camera pi updates...
[2026-08-29 10:05:35,018.018 INFO    ] 200
[2026-08-29 10:05:35,021.021 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:05:35,069.069 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:05:35,148.148 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:05:35,151.151 INFO    ] No camera update needed
[2026-08-29 10:05:35,154.154 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:05:35,157.157 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:05:35,163.163 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:05:35,168.168 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:05:37,209.209 INFO    ] ================================================
[2026-08-29 10:05:37,224.224 INFO    ] Launching Daemon at Sat Aug 29 10:05:37 IST 2026
[2026-08-29 10:05:37,235.235 INFO    ] ================================================
[2026-08-29 10:05:37,586.586 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:05:37
[2026-08-29 10:05:37,924.924 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:05:38,077.077 INFO    ] Initializing speech engine...
[2026-08-29 10:05:38,083.083 INFO    ] 2026-08-29 10:05:38
[2026-08-29 10:05:38,290.290 INFO    ] 2026-08-29 10:05:38
[2026-08-29 10:05:38,319.319 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:05:38,442.442 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:05:38,504.504 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:05:38,640.640 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:05:38,707.707 INFO    ] time= 29/08/2026 10:05:38
[2026-08-29 10:05:38,734.734 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:05:38,741.741 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:05:38,807.807 INFO    ] No existing commands found in stream
[2026-08-29 10:05:43,818.818 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:05:43,821.821 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-08-29 10:05:47,162.162 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:05:47,166.166 INFO    ] Checking for system updates...
[2026-08-29 10:05:47,238.238 INFO    ] 200
[2026-08-29 10:05:47,240.240 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 10:05:47,243.243 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-08-29 10:05:47,246.246 INFO    ] Checking for camera pi updates...
[2026-08-29 10:05:47,287.287 INFO    ] 200
[2026-08-29 10:05:47,290.290 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 10:05:47,292.292 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-08-29 10:05:47,295.295 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:05:47,297.297 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:05:47,302.302 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:05:47,307.307 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:05:49,348.348 INFO    ] ================================================
[2026-08-29 10:05:49,364.364 INFO    ] Launching Daemon at Sat Aug 29 10:05:49 IST 2026
[2026-08-29 10:05:49,375.375 INFO    ] ================================================
[2026-08-29 10:05:49,809.809 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:05:49
[2026-08-29 10:05:50,151.151 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:05:50,305.305 INFO    ] Initializing speech engine...
[2026-08-29 10:05:50,311.311 INFO    ] 2026-08-29 10:05:50
[2026-08-29 10:05:50,500.500 INFO    ] 2026-08-29 10:05:50
[2026-08-29 10:05:50,568.568 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:05:50,729.729 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:05:50,749.749 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:05:50,879.879 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:05:50,888.888 INFO    ] time= 29/08/2026 10:05:50
[2026-08-29 10:05:50,896.896 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:05:50,931.931 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:05:51,051.051 INFO    ] No existing commands found in stream
[2026-08-29 10:05:56,073.073 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:05:56,077.077 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-08-29 10:05:58,351.351 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:05:58,353.353 INFO    ] Checking for system updates...
[2026-08-29 10:05:58,375.375 INFO    ] 200
[2026-08-29 10:05:58,376.376 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:05:58,409.409 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:05:58,410.410 INFO    ] No update needed
[2026-08-29 10:05:58,412.412 INFO    ] Checking for camera pi updates...
[2026-08-29 10:05:58,432.432 INFO    ] 200
[2026-08-29 10:05:58,434.434 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:05:58,458.458 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:05:58,538.538 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:05:58,541.541 INFO    ] No camera update needed
[2026-08-29 10:05:58,543.543 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:05:58,546.546 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:05:58,551.551 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:05:58,556.556 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:06:00,595.595 INFO    ] ================================================
[2026-08-29 10:06:00,611.611 INFO    ] Launching Daemon at Sat Aug 29 10:06:00 IST 2026
[2026-08-29 10:06:00,622.622 INFO    ] ================================================
[2026-08-29 10:06:01,397.397 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:06:01
[2026-08-29 10:06:02,118.118 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:06:02,505.505 INFO    ] Initializing speech engine...
[2026-08-29 10:06:02,518.518 INFO    ] 2026-08-29 10:06:02
[2026-08-29 10:06:02,829.829 INFO    ] 2026-08-29 10:06:02
[2026-08-29 10:06:02,886.886 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:06:03,087.087 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:06:03,090.090 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:06:03,257.257 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:06:03,300.300 INFO    ] time= 29/08/2026 10:06:03
[2026-08-29 10:06:03,354.354 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:06:03,395.395 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:06:03,495.495 INFO    ] No existing commands found in stream
[2026-08-29 10:06:08,527.527 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:06:08,530.530 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-08-29 10:06:12,310.310 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:06:12,312.312 INFO    ] Checking for system updates...
[2026-08-29 10:06:12,333.333 INFO    ] 200
[2026-08-29 10:06:12,334.334 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:06:12,364.364 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:06:12,366.366 INFO    ] No update needed
[2026-08-29 10:06:12,367.367 INFO    ] Checking for camera pi updates...
[2026-08-29 10:06:12,386.386 INFO    ] 200
[2026-08-29 10:06:12,388.388 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:06:12,413.413 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:06:12,496.496 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:06:12,497.497 INFO    ] No camera update needed
[2026-08-29 10:06:12,498.498 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:06:12,500.500 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:06:12,503.503 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:06:12,506.506 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:06:14,544.544 INFO    ] ================================================
[2026-08-29 10:06:14,559.559 INFO    ] Launching Daemon at Sat Aug 29 10:06:14 IST 2026
[2026-08-29 10:06:14,571.571 INFO    ] ================================================
[2026-08-29 10:06:14,925.925 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:06:14
[2026-08-29 10:06:15,273.273 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:06:15,553.553 INFO    ] Initializing speech engine...
[2026-08-29 10:06:15,559.559 INFO    ] 2026-08-29 10:06:15
[2026-08-29 10:06:15,819.819 INFO    ] 2026-08-29 10:06:15
[2026-08-29 10:06:15,874.874 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:06:16,097.097 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:06:16,106.106 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:06:16,240.240 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:06:16,310.310 INFO    ] time= 29/08/2026 10:06:16
[2026-08-29 10:06:16,367.367 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:06:16,374.374 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:06:16,504.504 INFO    ] No existing commands found in stream
[2026-08-29 10:06:21,528.528 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:06:21,531.531 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-08-29 10:06:23,538.538 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:06:23,539.539 INFO    ] Checking for system updates...
[2026-08-29 10:06:23,560.560 INFO    ] 200
[2026-08-29 10:06:23,561.561 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:06:23,594.594 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:06:23,596.596 INFO    ] No update needed
[2026-08-29 10:06:23,597.597 INFO    ] Checking for camera pi updates...
[2026-08-29 10:06:23,620.620 INFO    ] 200
[2026-08-29 10:06:23,622.622 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:06:23,648.648 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:06:23,733.733 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:06:23,735.735 INFO    ] No camera update needed
[2026-08-29 10:06:23,736.736 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:06:23,737.737 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:06:23,741.741 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:06:23,744.744 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:06:25,786.786 INFO    ] ================================================
[2026-08-29 10:06:25,802.802 INFO    ] Launching Daemon at Sat Aug 29 10:06:25 IST 2026
[2026-08-29 10:06:25,813.813 INFO    ] ================================================
[2026-08-29 10:06:26,182.182 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:06:26
[2026-08-29 10:06:26,524.524 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:06:26,670.670 INFO    ] Initializing speech engine...
[2026-08-29 10:06:26,681.681 INFO    ] 2026-08-29 10:06:26
[2026-08-29 10:06:26,890.890 INFO    ] 2026-08-29 10:06:26
[2026-08-29 10:06:26,919.919 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:06:27,105.105 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:06:27,115.115 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:06:27,247.247 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:06:27,315.315 INFO    ] time= 29/08/2026 10:06:27
[2026-08-29 10:06:27,339.339 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:06:27,346.346 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:06:27,417.417 INFO    ] No existing commands found in stream
[2026-08-29 10:06:32,433.433 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:06:32,436.436 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-08-29 10:06:35,856.856 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:06:35,858.858 INFO    ] Checking for system updates...
[2026-08-29 10:06:35,879.879 INFO    ] 200
[2026-08-29 10:06:35,881.881 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:06:35,913.913 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:06:35,915.915 INFO    ] No update needed
[2026-08-29 10:06:35,916.916 INFO    ] Checking for camera pi updates...
[2026-08-29 10:06:35,936.936 INFO    ] 200
[2026-08-29 10:06:35,938.938 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:06:35,960.960 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:06:36,072.072 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:06:36,073.073 INFO    ] No camera update needed
[2026-08-29 10:06:36,074.074 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:06:36,076.076 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:06:36,078.078 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:06:36,081.081 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:06:38,119.119 INFO    ] ================================================
[2026-08-29 10:06:38,135.135 INFO    ] Launching Daemon at Sat Aug 29 10:06:38 IST 2026
[2026-08-29 10:06:38,146.146 INFO    ] ================================================
[2026-08-29 10:06:38,638.638 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:06:38
[2026-08-29 10:06:39,227.227 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:06:39,487.487 INFO    ] Initializing speech engine...
[2026-08-29 10:06:39,501.501 INFO    ] 2026-08-29 10:06:39
[2026-08-29 10:06:39,756.756 INFO    ] 2026-08-29 10:06:39
[2026-08-29 10:06:39,790.790 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:06:39,967.967 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:06:39,981.981 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:06:40,126.126 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:06:40,135.135 INFO    ] time= 29/08/2026 10:06:40
[2026-08-29 10:06:40,141.141 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:06:40,162.162 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:06:40,294.294 INFO    ] No existing commands found in stream
[2026-08-29 10:06:45,324.324 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:06:45,327.327 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 10:06:48,807.807 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:06:48,809.809 INFO    ] Checking for system updates...
[2026-08-29 10:06:48,829.829 INFO    ] 200
[2026-08-29 10:06:48,831.831 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:06:48,860.860 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:06:48,861.861 INFO    ] No update needed
[2026-08-29 10:06:48,863.863 INFO    ] Checking for camera pi updates...
[2026-08-29 10:06:48,883.883 INFO    ] 200
[2026-08-29 10:06:48,884.884 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:06:48,907.907 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:06:48,990.990 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:06:48,992.992 INFO    ] No camera update needed
[2026-08-29 10:06:48,993.993 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:06:48,994.994 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:06:48,997.997 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:06:49,000.000 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:06:51,042.042 INFO    ] ================================================
[2026-08-29 10:06:51,058.058 INFO    ] Launching Daemon at Sat Aug 29 10:06:51 IST 2026
[2026-08-29 10:06:51,069.069 INFO    ] ================================================
[2026-08-29 10:06:51,438.438 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:06:51
[2026-08-29 10:06:51,755.755 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:06:51,893.893 INFO    ] Initializing speech engine...
[2026-08-29 10:06:51,903.903 INFO    ] 2026-08-29 10:06:51
[2026-08-29 10:06:52,112.112 INFO    ] 2026-08-29 10:06:52
[2026-08-29 10:06:52,141.141 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:06:52,267.267 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:06:52,325.325 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:06:52,491.491 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:06:52,520.520 INFO    ] time= 29/08/2026 10:06:52
[2026-08-29 10:06:52,574.574 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:06:52,633.633 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:06:52,700.700 INFO    ] No existing commands found in stream
[2026-08-29 10:06:57,710.710 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:06:57,713.713 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-08-29 10:07:02,785.785 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:07:02,788.788 INFO    ] Checking for system updates...
[2026-08-29 10:07:02,832.832 INFO    ] 200
[2026-08-29 10:07:02,836.836 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:07:02,910.910 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:07:02,913.913 INFO    ] No update needed
[2026-08-29 10:07:02,916.916 INFO    ] Checking for camera pi updates...
[2026-08-29 10:07:02,966.966 INFO    ] 200
[2026-08-29 10:07:02,969.969 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:07:03,027.027 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:07:03,171.171 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:07:03,175.175 INFO    ] No camera update needed
[2026-08-29 10:07:03,178.178 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:07:03,182.182 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:07:03,189.189 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:07:03,196.196 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:07:05,238.238 INFO    ] ================================================
[2026-08-29 10:07:05,253.253 INFO    ] Launching Daemon at Sat Aug 29 10:07:05 IST 2026
[2026-08-29 10:07:05,264.264 INFO    ] ================================================
[2026-08-29 10:07:05,641.641 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:07:05
[2026-08-29 10:07:05,979.979 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:07:06,255.255 INFO    ] Initializing speech engine...
[2026-08-29 10:07:06,265.265 INFO    ] 2026-08-29 10:07:06
[2026-08-29 10:07:06,529.529 INFO    ] 2026-08-29 10:07:06
[2026-08-29 10:07:06,583.583 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:07:06,748.748 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:07:06,761.761 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:07:06,901.901 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:07:06,909.909 INFO    ] time= 29/08/2026 10:07:06
[2026-08-29 10:07:06,916.916 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:07:06,962.962 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:07:07,084.084 INFO    ] No existing commands found in stream
[2026-08-29 10:07:12,110.110 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:07:12,112.112 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-08-29 10:07:17,047.047 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:07:17,049.049 INFO    ] Checking for system updates...
[2026-08-29 10:07:17,069.069 INFO    ] 200
[2026-08-29 10:07:17,070.070 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:07:17,103.103 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:07:17,104.104 INFO    ] No update needed
[2026-08-29 10:07:17,105.105 INFO    ] Checking for camera pi updates...
[2026-08-29 10:07:17,126.126 INFO    ] 200
[2026-08-29 10:07:17,127.127 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:07:17,151.151 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:07:17,338.338 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:07:17,339.339 INFO    ] No camera update needed
[2026-08-29 10:07:17,340.340 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:07:17,341.341 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:07:17,344.344 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:07:17,347.347 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:07:19,378.378 INFO    ] ================================================
[2026-08-29 10:07:19,386.386 INFO    ] Launching Daemon at Sat Aug 29 10:07:19 IST 2026
[2026-08-29 10:07:19,392.392 INFO    ] ================================================
[2026-08-29 10:07:19,984.984 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:07:19
[2026-08-29 10:07:20,666.666 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:07:20,949.949 INFO    ] Initializing speech engine...
[2026-08-29 10:07:20,957.957 INFO    ] 2026-08-29 10:07:20
[2026-08-29 10:07:21,221.221 INFO    ] 2026-08-29 10:07:21
[2026-08-29 10:07:21,256.256 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:07:21,453.453 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:07:21,458.458 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:07:21,593.593 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:07:21,599.599 INFO    ] time= 29/08/2026 10:07:21
[2026-08-29 10:07:21,617.617 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:07:21,639.639 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:07:21,721.721 INFO    ] No existing commands found in stream
[2026-08-29 10:07:26,732.732 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:07:26,735.735 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-08-29 10:07:29,943.943 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:07:29,945.945 INFO    ] Checking for system updates...
[2026-08-29 10:07:29,965.965 INFO    ] 200
[2026-08-29 10:07:29,966.966 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:07:29,996.996 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:07:29,997.997 INFO    ] No update needed
[2026-08-29 10:07:29,999.999 INFO    ] Checking for camera pi updates...
[2026-08-29 10:07:30,019.019 INFO    ] 200
[2026-08-29 10:07:30,020.020 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:07:30,043.043 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:07:30,134.134 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:07:30,136.136 INFO    ] No camera update needed
[2026-08-29 10:07:30,137.137 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:07:30,138.138 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:07:30,141.141 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:07:30,144.144 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:07:32,176.176 INFO    ] ================================================
[2026-08-29 10:07:32,185.185 INFO    ] Launching Daemon at Sat Aug 29 10:07:32 IST 2026
[2026-08-29 10:07:32,192.192 INFO    ] ================================================
[2026-08-29 10:07:32,728.728 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:07:32
[2026-08-29 10:07:33,340.340 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:07:33,611.611 INFO    ] Initializing speech engine...
[2026-08-29 10:07:33,620.620 INFO    ] 2026-08-29 10:07:33
[2026-08-29 10:07:33,870.870 INFO    ] 2026-08-29 10:07:33
[2026-08-29 10:07:33,905.905 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:07:34,081.081 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:07:34,092.092 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:07:34,206.206 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:07:34,210.210 INFO    ] time= 29/08/2026 10:07:34
[2026-08-29 10:07:34,228.228 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:07:34,249.249 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:07:34,322.322 INFO    ] No existing commands found in stream
[2026-08-29 10:07:39,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:07:39,338.338 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-08-29 10:07:41,138.138 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:07:41,140.140 INFO    ] Checking for system updates...
[2026-08-29 10:07:41,160.160 INFO    ] 200
[2026-08-29 10:07:41,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:07:41,192.192 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:07:41,193.193 INFO    ] No update needed
[2026-08-29 10:07:41,194.194 INFO    ] Checking for camera pi updates...
[2026-08-29 10:07:41,215.215 INFO    ] 200
[2026-08-29 10:07:41,216.216 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:07:41,239.239 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:07:41,324.324 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:07:41,325.325 INFO    ] No camera update needed
[2026-08-29 10:07:41,326.326 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:07:41,327.327 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:07:41,330.330 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:07:41,333.333 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:07:43,372.372 INFO    ] ================================================
[2026-08-29 10:07:43,387.387 INFO    ] Launching Daemon at Sat Aug 29 10:07:43 IST 2026
[2026-08-29 10:07:43,398.398 INFO    ] ================================================
[2026-08-29 10:07:43,963.963 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:07:43
[2026-08-29 10:07:44,546.546 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:07:44,796.796 INFO    ] Initializing speech engine...
[2026-08-29 10:07:44,808.808 INFO    ] 2026-08-29 10:07:44
[2026-08-29 10:07:45,075.075 INFO    ] 2026-08-29 10:07:45
[2026-08-29 10:07:45,109.109 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:07:45,288.288 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:07:45,300.300 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:07:45,447.447 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:07:45,452.452 INFO    ] time= 29/08/2026 10:07:45
[2026-08-29 10:07:45,459.459 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:07:45,489.489 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:07:45,611.611 INFO    ] No existing commands found in stream
[2026-08-29 10:07:50,636.636 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:07:50,639.639 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-08-29 10:07:53,956.956 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:07:53,958.958 INFO    ] Checking for system updates...
[2026-08-29 10:07:53,978.978 INFO    ] 200
[2026-08-29 10:07:53,979.979 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:07:54,011.011 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:07:54,013.013 INFO    ] No update needed
[2026-08-29 10:07:54,014.014 INFO    ] Checking for camera pi updates...
[2026-08-29 10:07:54,034.034 INFO    ] 200
[2026-08-29 10:07:54,036.036 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:07:54,060.060 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:07:54,139.139 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:07:54,140.140 INFO    ] No camera update needed
[2026-08-29 10:07:54,141.141 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:07:54,143.143 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:07:54,145.145 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:07:54,148.148 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:07:56,187.187 INFO    ] ================================================
[2026-08-29 10:07:56,202.202 INFO    ] Launching Daemon at Sat Aug 29 10:07:56 IST 2026
[2026-08-29 10:07:56,213.213 INFO    ] ================================================
[2026-08-29 10:07:56,547.547 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:07:56
[2026-08-29 10:07:56,863.863 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:07:57,007.007 INFO    ] Initializing speech engine...
[2026-08-29 10:07:57,017.017 INFO    ] 2026-08-29 10:07:57
[2026-08-29 10:07:57,226.226 INFO    ] 2026-08-29 10:07:57
[2026-08-29 10:07:57,255.255 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:07:57,397.397 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:07:57,440.440 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:07:57,576.576 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:07:57,637.637 INFO    ] time= 29/08/2026 10:07:57
[2026-08-29 10:07:57,669.669 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:07:57,676.676 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:07:57,743.743 INFO    ] No existing commands found in stream
[2026-08-29 10:08:02,758.758 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:08:02,762.762 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-08-29 10:08:05,463.463 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:08:05,464.464 INFO    ] Checking for system updates...
[2026-08-29 10:08:05,485.485 INFO    ] 200
[2026-08-29 10:08:05,487.487 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:08:05,519.519 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:08:05,520.520 INFO    ] No update needed
[2026-08-29 10:08:05,521.521 INFO    ] Checking for camera pi updates...
[2026-08-29 10:08:05,541.541 INFO    ] 200
[2026-08-29 10:08:05,543.543 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:08:05,566.566 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:08:05,650.650 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:08:05,653.653 INFO    ] No camera update needed
[2026-08-29 10:08:05,655.655 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:08:05,657.657 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:08:05,663.663 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:08:05,667.667 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:08:07,707.707 INFO    ] ================================================
[2026-08-29 10:08:07,722.722 INFO    ] Launching Daemon at Sat Aug 29 10:08:07 IST 2026
[2026-08-29 10:08:07,733.733 INFO    ] ================================================
[2026-08-29 10:08:08,301.301 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:08:08
[2026-08-29 10:08:08,786.786 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:08:08,930.930 INFO    ] Initializing speech engine...
[2026-08-29 10:08:08,935.935 INFO    ] 2026-08-29 10:08:08
[2026-08-29 10:08:09,140.140 INFO    ] 2026-08-29 10:08:09
[2026-08-29 10:08:09,169.169 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:08:09,333.333 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:08:09,338.338 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:08:09,502.502 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:08:09,541.541 INFO    ] time= 29/08/2026 10:08:09
[2026-08-29 10:08:09,547.547 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:08:09,568.568 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:08:09,666.666 INFO    ] No existing commands found in stream
[2026-08-29 10:08:14,688.688 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:08:14,691.691 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-08-29 10:08:16,567.567 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:08:16,569.569 INFO    ] Checking for system updates...
[2026-08-29 10:08:16,589.589 INFO    ] 200
[2026-08-29 10:08:16,591.591 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:08:16,624.624 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:08:16,625.625 INFO    ] No update needed
[2026-08-29 10:08:16,626.626 INFO    ] Checking for camera pi updates...
[2026-08-29 10:08:16,645.645 INFO    ] 200
[2026-08-29 10:08:16,647.647 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:08:16,672.672 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:08:16,751.751 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:08:16,752.752 INFO    ] No camera update needed
[2026-08-29 10:08:16,754.754 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:08:16,755.755 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:08:16,758.758 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:08:16,761.761 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:08:18,793.793 INFO    ] ================================================
[2026-08-29 10:08:18,802.802 INFO    ] Launching Daemon at Sat Aug 29 10:08:18 IST 2026
[2026-08-29 10:08:18,808.808 INFO    ] ================================================
[2026-08-29 10:08:19,348.348 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:08:19
[2026-08-29 10:08:19,946.946 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:08:20,224.224 INFO    ] Initializing speech engine...
[2026-08-29 10:08:20,230.230 INFO    ] 2026-08-29 10:08:20
[2026-08-29 10:08:20,493.493 INFO    ] 2026-08-29 10:08:20
[2026-08-29 10:08:20,545.545 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:08:20,713.713 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:08:20,772.772 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:08:20,910.910 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:08:20,947.947 INFO    ] time= 29/08/2026 10:08:20
[2026-08-29 10:08:21,007.007 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:08:21,009.009 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:08:21,096.096 INFO    ] No existing commands found in stream
[2026-08-29 10:08:26,108.108 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:08:26,110.110 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-08-29 10:08:27,747.747 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:08:27,749.749 INFO    ] Checking for system updates...
[2026-08-29 10:08:27,770.770 INFO    ] 200
[2026-08-29 10:08:27,772.772 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:08:27,802.802 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:08:27,803.803 INFO    ] No update needed
[2026-08-29 10:08:27,804.804 INFO    ] Checking for camera pi updates...
[2026-08-29 10:08:27,825.825 INFO    ] 200
[2026-08-29 10:08:27,826.826 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:08:27,849.849 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:08:27,951.951 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:08:27,952.952 INFO    ] No camera update needed
[2026-08-29 10:08:27,954.954 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:08:27,955.955 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:08:27,958.958 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:08:27,960.960 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:08:30,999.999 INFO    ] ================================================
[2026-08-29 10:08:30,015.015 INFO    ] Launching Daemon at Sat Aug 29 10:08:30 IST 2026
[2026-08-29 10:08:30,025.025 INFO    ] ================================================
[2026-08-29 10:08:30,348.348 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:08:30
[2026-08-29 10:08:30,668.668 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:08:30,968.968 INFO    ] Initializing speech engine...
[2026-08-29 10:08:30,980.980 INFO    ] 2026-08-29 10:08:30
[2026-08-29 10:08:31,254.254 INFO    ] 2026-08-29 10:08:31
[2026-08-29 10:08:31,314.314 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:08:31,547.547 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:08:31,553.553 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:08:31,688.688 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:08:31,726.726 INFO    ] time= 29/08/2026 10:08:31
[2026-08-29 10:08:31,780.780 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:08:31,831.831 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:08:31,960.960 INFO    ] No existing commands found in stream
[2026-08-29 10:08:36,988.988 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:08:36,991.991 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 10:08:39,316.316 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:08:39,318.318 INFO    ] Checking for system updates...
[2026-08-29 10:08:39,340.340 INFO    ] 200
[2026-08-29 10:08:39,341.341 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:08:39,373.373 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:08:39,374.374 INFO    ] No update needed
[2026-08-29 10:08:39,376.376 INFO    ] Checking for camera pi updates...
[2026-08-29 10:08:39,395.395 INFO    ] 200
[2026-08-29 10:08:39,397.397 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:08:39,420.420 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:08:39,497.497 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:08:39,499.499 INFO    ] No camera update needed
[2026-08-29 10:08:39,500.500 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:08:39,502.502 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:08:39,505.505 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:08:39,508.508 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:08:41,547.547 INFO    ] ================================================
[2026-08-29 10:08:41,562.562 INFO    ] Launching Daemon at Sat Aug 29 10:08:41 IST 2026
[2026-08-29 10:08:41,573.573 INFO    ] ================================================
[2026-08-29 10:08:41,896.896 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:08:41
[2026-08-29 10:08:42,213.213 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:08:42,349.349 INFO    ] Initializing speech engine...
[2026-08-29 10:08:42,354.354 INFO    ] 2026-08-29 10:08:42
[2026-08-29 10:08:42,584.584 INFO    ] 2026-08-29 10:08:42
[2026-08-29 10:08:42,615.615 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:08:42,747.747 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:08:42,801.801 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:08:42,967.967 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:08:43,031.031 INFO    ] time= 29/08/2026 10:08:42
[2026-08-29 10:08:43,056.056 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:08:43,068.068 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:08:43,144.144 INFO    ] No existing commands found in stream
[2026-08-29 10:08:48,155.155 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:08:48,158.158 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-08-29 10:08:49,736.736 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:08:49,738.738 INFO    ] Checking for system updates...
[2026-08-29 10:08:49,758.758 INFO    ] 200
[2026-08-29 10:08:49,759.759 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:08:49,790.790 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:08:49,791.791 INFO    ] No update needed
[2026-08-29 10:08:49,793.793 INFO    ] Checking for camera pi updates...
[2026-08-29 10:08:49,812.812 INFO    ] 200
[2026-08-29 10:08:49,813.813 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:08:49,836.836 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:08:49,911.911 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:08:49,913.913 INFO    ] No camera update needed
[2026-08-29 10:08:49,914.914 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:08:49,915.915 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:08:49,918.918 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:08:49,921.921 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:08:51,959.959 INFO    ] ================================================
[2026-08-29 10:08:51,975.975 INFO    ] Launching Daemon at Sat Aug 29 10:08:51 IST 2026
[2026-08-29 10:08:51,986.986 INFO    ] ================================================
[2026-08-29 10:08:52,353.353 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:08:52
[2026-08-29 10:08:52,692.692 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:08:52,843.843 INFO    ] Initializing speech engine...
[2026-08-29 10:08:52,848.848 INFO    ] 2026-08-29 10:08:52
[2026-08-29 10:08:53,056.056 INFO    ] 2026-08-29 10:08:53
[2026-08-29 10:08:53,085.085 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:08:53,207.207 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:08:53,255.255 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:08:53,404.404 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:08:53,471.471 INFO    ] time= 29/08/2026 10:08:53
[2026-08-29 10:08:53,498.498 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:08:53,505.505 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:08:53,602.602 INFO    ] No existing commands found in stream
[2026-08-29 10:08:58,613.613 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:08:58,616.616 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-08-29 10:09:02,830.830 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:09:02,838.838 INFO    ] Checking for system updates...
[2026-08-29 10:09:02,887.887 INFO    ] 200
[2026-08-29 10:09:02,891.891 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:09:02,950.950 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:09:02,954.954 INFO    ] No update needed
[2026-08-29 10:09:02,958.958 INFO    ] Checking for camera pi updates...
[2026-08-29 10:09:03,005.005 INFO    ] 200
[2026-08-29 10:09:03,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:09:03,064.064 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:09:03,165.165 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:09:03,168.168 INFO    ] No camera update needed
[2026-08-29 10:09:03,170.170 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:09:03,172.172 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:09:03,178.178 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:09:03,183.183 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:09:05,224.224 INFO    ] ================================================
[2026-08-29 10:09:05,240.240 INFO    ] Launching Daemon at Sat Aug 29 10:09:05 IST 2026
[2026-08-29 10:09:05,252.252 INFO    ] ================================================
[2026-08-29 10:09:05,604.604 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:09:05
[2026-08-29 10:09:05,939.939 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:09:06,087.087 INFO    ] Initializing speech engine...
[2026-08-29 10:09:06,098.098 INFO    ] 2026-08-29 10:09:06
[2026-08-29 10:09:06,296.296 INFO    ] 2026-08-29 10:09:06
[2026-08-29 10:09:06,388.388 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:09:06,539.539 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:09:06,545.545 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:09:06,680.680 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:09:06,710.710 INFO    ] time= 29/08/2026 10:09:06
[2026-08-29 10:09:06,754.754 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:09:06,809.809 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:09:06,867.867 INFO    ] No existing commands found in stream
[2026-08-29 10:09:11,880.880 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:09:11,883.883 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-08-29 10:09:14,352.352 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:09:14,354.354 INFO    ] Checking for system updates...
[2026-08-29 10:09:14,374.374 INFO    ] 200
[2026-08-29 10:09:14,376.376 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:09:14,408.408 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:09:14,409.409 INFO    ] No update needed
[2026-08-29 10:09:14,410.410 INFO    ] Checking for camera pi updates...
[2026-08-29 10:09:14,431.431 INFO    ] 200
[2026-08-29 10:09:14,432.432 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:09:14,455.455 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:09:14,623.623 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:09:14,625.625 INFO    ] No camera update needed
[2026-08-29 10:09:14,626.626 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:09:14,627.627 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:09:14,630.630 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:09:14,633.633 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:09:16,672.672 INFO    ] ================================================
[2026-08-29 10:09:16,688.688 INFO    ] Launching Daemon at Sat Aug 29 10:09:16 IST 2026
[2026-08-29 10:09:16,699.699 INFO    ] ================================================
[2026-08-29 10:09:17,052.052 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:09:17
[2026-08-29 10:09:17,365.365 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:09:17,507.507 INFO    ] Initializing speech engine...
[2026-08-29 10:09:17,512.512 INFO    ] 2026-08-29 10:09:17
[2026-08-29 10:09:17,712.712 INFO    ] 2026-08-29 10:09:17
[2026-08-29 10:09:17,791.791 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:09:17,945.945 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:09:17,949.949 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:09:18,082.082 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:09:18,141.141 INFO    ] time= 29/08/2026 10:09:18
[2026-08-29 10:09:18,195.195 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:09:18,215.215 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:09:18,267.267 INFO    ] No existing commands found in stream
[2026-08-29 10:09:23,279.279 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:09:23,282.282 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-08-29 10:09:26,039.039 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:09:26,040.040 INFO    ] Checking for system updates...
[2026-08-29 10:09:26,062.062 INFO    ] 200
[2026-08-29 10:09:26,063.063 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:09:26,093.093 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:09:26,094.094 INFO    ] No update needed
[2026-08-29 10:09:26,096.096 INFO    ] Checking for camera pi updates...
[2026-08-29 10:09:26,115.115 INFO    ] 200
[2026-08-29 10:09:26,116.116 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:09:26,143.143 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:09:26,337.337 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:09:26,339.339 INFO    ] No camera update needed
[2026-08-29 10:09:26,340.340 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:09:26,341.341 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:09:26,344.344 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:09:26,347.347 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:09:28,387.387 INFO    ] ================================================
[2026-08-29 10:09:28,403.403 INFO    ] Launching Daemon at Sat Aug 29 10:09:28 IST 2026
[2026-08-29 10:09:28,415.415 INFO    ] ================================================
[2026-08-29 10:09:28,787.787 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:09:28
[2026-08-29 10:09:29,104.104 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:09:29,243.243 INFO    ] Initializing speech engine...
[2026-08-29 10:09:29,254.254 INFO    ] 2026-08-29 10:09:29
[2026-08-29 10:09:29,458.458 INFO    ] 2026-08-29 10:09:29
[2026-08-29 10:09:29,486.486 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:09:29,668.668 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:09:29,671.671 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:09:29,806.806 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:09:29,872.872 INFO    ] time= 29/08/2026 10:09:29
[2026-08-29 10:09:29,896.896 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:09:29,902.902 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:09:29,968.968 INFO    ] No existing commands found in stream
[2026-08-29 10:09:34,974.974 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:09:34,977.977 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-08-29 10:09:38,863.863 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:09:38,864.864 INFO    ] Checking for system updates...
[2026-08-29 10:09:38,886.886 INFO    ] 200
[2026-08-29 10:09:38,887.887 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:09:38,917.917 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:09:38,919.919 INFO    ] No update needed
[2026-08-29 10:09:38,920.920 INFO    ] Checking for camera pi updates...
[2026-08-29 10:09:38,939.939 INFO    ] 200
[2026-08-29 10:09:38,940.940 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:09:38,963.963 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:09:39,063.063 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:09:39,064.064 INFO    ] No camera update needed
[2026-08-29 10:09:39,065.065 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:09:39,066.066 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:09:39,069.069 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:09:39,072.072 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:09:41,111.111 INFO    ] ================================================
[2026-08-29 10:09:41,127.127 INFO    ] Launching Daemon at Sat Aug 29 10:09:41 IST 2026
[2026-08-29 10:09:41,138.138 INFO    ] ================================================
[2026-08-29 10:09:41,514.514 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:09:41
[2026-08-29 10:09:41,831.831 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:09:41,963.963 INFO    ] Initializing speech engine...
[2026-08-29 10:09:41,966.966 INFO    ] 2026-08-29 10:09:41
[2026-08-29 10:09:42,169.169 INFO    ] 2026-08-29 10:09:42
[2026-08-29 10:09:42,206.206 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:09:42,377.377 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:09:42,389.389 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:09:42,530.530 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:09:42,539.539 INFO    ] time= 29/08/2026 10:09:42
[2026-08-29 10:09:42,545.545 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:09:42,591.591 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:09:42,714.714 INFO    ] No existing commands found in stream
[2026-08-29 10:09:47,744.744 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:09:47,747.747 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-08-29 10:09:49,250.250 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:09:49,251.251 INFO    ] Checking for system updates...
[2026-08-29 10:09:49,272.272 INFO    ] 200
[2026-08-29 10:09:49,274.274 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:09:49,304.304 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:09:49,305.305 INFO    ] No update needed
[2026-08-29 10:09:49,306.306 INFO    ] Checking for camera pi updates...
[2026-08-29 10:09:49,329.329 INFO    ] 200
[2026-08-29 10:09:49,331.331 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:09:49,355.355 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:09:49,436.436 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:09:49,437.437 INFO    ] No camera update needed
[2026-08-29 10:09:49,439.439 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:09:49,440.440 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:09:49,443.443 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:09:49,446.446 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:09:51,487.487 INFO    ] ================================================
[2026-08-29 10:09:51,504.504 INFO    ] Launching Daemon at Sat Aug 29 10:09:51 IST 2026
[2026-08-29 10:09:51,514.514 INFO    ] ================================================
[2026-08-29 10:09:51,867.867 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:09:51
[2026-08-29 10:09:52,208.208 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:09:52,360.360 INFO    ] Initializing speech engine...
[2026-08-29 10:09:52,366.366 INFO    ] 2026-08-29 10:09:52
[2026-08-29 10:09:52,577.577 INFO    ] 2026-08-29 10:09:52
[2026-08-29 10:09:52,607.607 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:09:52,733.733 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:09:52,796.796 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:09:53,006.006 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:09:53,030.030 INFO    ] time= 29/08/2026 10:09:53
[2026-08-29 10:09:53,037.037 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:09:53,038.038 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:09:53,105.105 INFO    ] No existing commands found in stream
[2026-08-29 10:09:58,116.116 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:09:58,119.119 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-08-29 10:09:59,519.519 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:09:59,520.520 INFO    ] Checking for system updates...
[2026-08-29 10:09:59,541.541 INFO    ] 200
[2026-08-29 10:09:59,542.542 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:09:59,574.574 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:09:59,576.576 INFO    ] No update needed
[2026-08-29 10:09:59,577.577 INFO    ] Checking for camera pi updates...
[2026-08-29 10:09:59,596.596 INFO    ] 200
[2026-08-29 10:09:59,598.598 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:09:59,621.621 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:09:59,696.696 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:09:59,697.697 INFO    ] No camera update needed
[2026-08-29 10:09:59,699.699 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:09:59,700.700 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:09:59,703.703 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:09:59,706.706 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:10:01,755.755 INFO    ] ================================================
[2026-08-29 10:10:01,824.824 INFO    ] Launching Daemon at Sat Aug 29 10:10:01 IST 2026
[2026-08-29 10:10:01,868.868 INFO    ] ================================================
[2026-08-29 10:10:02,669.669 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:10:02
[2026-08-29 10:10:03,367.367 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:10:03,673.673 INFO    ] Initializing speech engine...
[2026-08-29 10:10:03,678.678 INFO    ] 2026-08-29 10:10:03
[2026-08-29 10:10:03,958.958 INFO    ] 2026-08-29 10:10:03
[2026-08-29 10:10:03,994.994 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:10:04,167.167 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:10:04,185.185 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:10:04,323.323 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:10:04,328.328 INFO    ] time= 29/08/2026 10:10:04
[2026-08-29 10:10:04,336.336 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:10:04,375.375 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:10:04,454.454 INFO    ] No existing commands found in stream
[2026-08-29 10:10:09,491.491 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:10:09,494.494 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-08-29 10:10:11,396.396 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:10:11,397.397 INFO    ] Checking for system updates...
[2026-08-29 10:10:11,417.417 INFO    ] 200
[2026-08-29 10:10:11,419.419 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:10:11,453.453 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:10:11,455.455 INFO    ] No update needed
[2026-08-29 10:10:11,456.456 INFO    ] Checking for camera pi updates...
[2026-08-29 10:10:11,476.476 INFO    ] 200
[2026-08-29 10:10:11,478.478 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:10:11,501.501 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:10:11,612.612 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:10:11,613.613 INFO    ] No camera update needed
[2026-08-29 10:10:11,614.614 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:10:11,615.615 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:10:11,618.618 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:10:11,621.621 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:10:13,659.659 INFO    ] ================================================
[2026-08-29 10:10:13,675.675 INFO    ] Launching Daemon at Sat Aug 29 10:10:13 IST 2026
[2026-08-29 10:10:13,687.687 INFO    ] ================================================
[2026-08-29 10:10:14,026.026 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:10:14
[2026-08-29 10:10:14,339.339 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:10:14,472.472 INFO    ] Initializing speech engine...
[2026-08-29 10:10:14,484.484 INFO    ] 2026-08-29 10:10:14
[2026-08-29 10:10:14,709.709 INFO    ] 2026-08-29 10:10:14
[2026-08-29 10:10:14,745.745 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:10:14,946.946 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:10:14,973.973 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:10:15,111.111 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:10:15,156.156 INFO    ] time= 29/08/2026 10:10:15
[2026-08-29 10:10:15,182.182 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:10:15,247.247 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:10:15,321.321 INFO    ] No existing commands found in stream
[2026-08-29 10:10:20,332.332 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:10:20,335.335 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-08-29 10:10:23,558.558 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:10:23,560.560 INFO    ] Checking for system updates...
[2026-08-29 10:10:23,582.582 INFO    ] 200
[2026-08-29 10:10:23,583.583 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:10:23,613.613 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:10:23,614.614 INFO    ] No update needed
[2026-08-29 10:10:23,616.616 INFO    ] Checking for camera pi updates...
[2026-08-29 10:10:23,635.635 INFO    ] 200
[2026-08-29 10:10:23,636.636 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:10:23,660.660 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:10:23,736.736 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:10:23,738.738 INFO    ] No camera update needed
[2026-08-29 10:10:23,739.739 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:10:23,740.740 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:10:23,743.743 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:10:23,746.746 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:10:25,785.785 INFO    ] ================================================
[2026-08-29 10:10:25,801.801 INFO    ] Launching Daemon at Sat Aug 29 10:10:25 IST 2026
[2026-08-29 10:10:25,813.813 INFO    ] ================================================
[2026-08-29 10:10:26,385.385 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:10:26
[2026-08-29 10:10:26,993.993 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:10:27,271.271 INFO    ] Initializing speech engine...
[2026-08-29 10:10:27,277.277 INFO    ] 2026-08-29 10:10:27
[2026-08-29 10:10:27,526.526 INFO    ] 2026-08-29 10:10:27
[2026-08-29 10:10:27,562.562 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:10:27,738.738 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:10:27,750.750 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:10:27,892.892 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:10:27,898.898 INFO    ] time= 29/08/2026 10:10:27
[2026-08-29 10:10:27,906.906 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:10:27,941.941 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:10:28,078.078 INFO    ] No existing commands found in stream
[2026-08-29 10:10:33,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:10:33,107.107 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-08-29 10:10:34,841.841 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:10:34,844.844 INFO    ] Checking for system updates...
[2026-08-29 10:10:34,880.880 INFO    ] 200
[2026-08-29 10:10:34,883.883 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:10:34,948.948 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:10:34,950.950 INFO    ] No update needed
[2026-08-29 10:10:34,953.953 INFO    ] Checking for camera pi updates...
[2026-08-29 10:10:34,987.987 INFO    ] 200
[2026-08-29 10:10:34,989.989 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:10:35,035.035 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:10:35,124.124 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:10:35,126.126 INFO    ] No camera update needed
[2026-08-29 10:10:35,127.127 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:10:35,128.128 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:10:35,132.132 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:10:35,134.134 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:10:37,175.175 INFO    ] ================================================
[2026-08-29 10:10:37,191.191 INFO    ] Launching Daemon at Sat Aug 29 10:10:37 IST 2026
[2026-08-29 10:10:37,202.202 INFO    ] ================================================
[2026-08-29 10:10:37,560.560 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:10:37
[2026-08-29 10:10:37,898.898 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:10:38,050.050 INFO    ] Initializing speech engine...
[2026-08-29 10:10:38,056.056 INFO    ] 2026-08-29 10:10:38
[2026-08-29 10:10:38,264.264 INFO    ] 2026-08-29 10:10:38
[2026-08-29 10:10:38,294.294 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:10:38,429.429 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:10:38,483.483 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:10:38,636.636 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:10:38,702.702 INFO    ] time= 29/08/2026 10:10:38
[2026-08-29 10:10:38,736.736 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:10:38,806.806 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:10:38,914.914 INFO    ] No existing commands found in stream
[2026-08-29 10:10:43,930.930 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:10:43,933.933 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-08-29 10:10:45,118.118 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:10:45,119.119 INFO    ] Checking for system updates...
[2026-08-29 10:10:45,140.140 INFO    ] 200
[2026-08-29 10:10:45,141.141 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:10:45,172.172 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:10:45,173.173 INFO    ] No update needed
[2026-08-29 10:10:45,175.175 INFO    ] Checking for camera pi updates...
[2026-08-29 10:10:45,195.195 INFO    ] 200
[2026-08-29 10:10:45,197.197 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:10:45,223.223 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:10:45,309.309 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:10:45,310.310 INFO    ] No camera update needed
[2026-08-29 10:10:45,312.312 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:10:45,313.313 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:10:45,316.316 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:10:45,319.319 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:10:47,360.360 INFO    ] ================================================
[2026-08-29 10:10:47,376.376 INFO    ] Launching Daemon at Sat Aug 29 10:10:47 IST 2026
[2026-08-29 10:10:47,387.387 INFO    ] ================================================
[2026-08-29 10:10:47,954.954 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:10:47
[2026-08-29 10:10:48,591.591 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:10:48,909.909 INFO    ] Initializing speech engine...
[2026-08-29 10:10:48,916.916 INFO    ] 2026-08-29 10:10:48
[2026-08-29 10:10:49,196.196 INFO    ] 2026-08-29 10:10:49
[2026-08-29 10:10:49,220.220 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:10:49,377.377 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:10:49,414.414 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:10:49,536.536 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:10:49,555.555 INFO    ] time= 29/08/2026 10:10:49
[2026-08-29 10:10:49,574.574 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:10:49,582.582 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:10:49,653.653 INFO    ] No existing commands found in stream
[2026-08-29 10:10:54,688.688 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:10:54,691.691 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-08-29 10:10:58,219.219 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:10:58,220.220 INFO    ] Checking for system updates...
[2026-08-29 10:10:58,242.242 INFO    ] 200
[2026-08-29 10:10:58,243.243 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:10:58,273.273 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:10:58,275.275 INFO    ] No update needed
[2026-08-29 10:10:58,276.276 INFO    ] Checking for camera pi updates...
[2026-08-29 10:10:58,295.295 INFO    ] 200
[2026-08-29 10:10:58,296.296 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:10:58,321.321 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:10:58,396.396 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:10:58,397.397 INFO    ] No camera update needed
[2026-08-29 10:10:58,399.399 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:10:58,400.400 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:10:58,403.403 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:10:58,406.406 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:11:00,446.446 INFO    ] ================================================
[2026-08-29 10:11:00,461.461 INFO    ] Launching Daemon at Sat Aug 29 10:11:00 IST 2026
[2026-08-29 10:11:00,473.473 INFO    ] ================================================
[2026-08-29 10:11:01,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:11:01
[2026-08-29 10:11:01,844.844 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:11:02,187.187 INFO    ] Initializing speech engine...
[2026-08-29 10:11:02,201.201 INFO    ] 2026-08-29 10:11:02
[2026-08-29 10:11:02,483.483 INFO    ] 2026-08-29 10:11:02
[2026-08-29 10:11:02,546.546 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:11:02,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:11:02,707.707 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:11:02,867.867 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:11:02,875.875 INFO    ] time= 29/08/2026 10:11:02
[2026-08-29 10:11:02,881.881 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:11:02,906.906 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:11:03,039.039 INFO    ] No existing commands found in stream
[2026-08-29 10:11:08,075.075 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:11:08,078.078 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-08-29 10:11:10,730.730 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:11:10,731.731 INFO    ] Checking for system updates...
[2026-08-29 10:11:10,752.752 INFO    ] 200
[2026-08-29 10:11:10,753.753 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:11:10,785.785 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:11:10,786.786 INFO    ] No update needed
[2026-08-29 10:11:10,788.788 INFO    ] Checking for camera pi updates...
[2026-08-29 10:11:10,810.810 INFO    ] 200
[2026-08-29 10:11:10,812.812 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:11:10,834.834 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:11:10,927.927 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:11:10,928.928 INFO    ] No camera update needed
[2026-08-29 10:11:10,930.930 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:11:10,931.931 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:11:10,934.934 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:11:10,936.936 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:11:12,975.975 INFO    ] ================================================
[2026-08-29 10:11:12,990.990 INFO    ] Launching Daemon at Sat Aug 29 10:11:12 IST 2026
[2026-08-29 10:11:13,001.001 INFO    ] ================================================
[2026-08-29 10:11:13,354.354 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:11:13
[2026-08-29 10:11:13,667.667 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:11:13,799.799 INFO    ] Initializing speech engine...
[2026-08-29 10:11:13,804.804 INFO    ] 2026-08-29 10:11:13
[2026-08-29 10:11:14,034.034 INFO    ] 2026-08-29 10:11:13
[2026-08-29 10:11:14,064.064 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:11:14,237.237 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:11:14,266.266 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:11:14,414.414 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:11:14,486.486 INFO    ] time= 29/08/2026 10:11:14
[2026-08-29 10:11:14,512.512 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:11:14,519.519 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:11:14,589.589 INFO    ] No existing commands found in stream
[2026-08-29 10:11:19,600.600 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:11:19,603.603 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-08-29 10:11:23,217.217 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:11:23,218.218 INFO    ] Checking for system updates...
[2026-08-29 10:11:23,239.239 INFO    ] 200
[2026-08-29 10:11:23,240.240 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:11:23,275.275 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:11:23,277.277 INFO    ] No update needed
[2026-08-29 10:11:23,278.278 INFO    ] Checking for camera pi updates...
[2026-08-29 10:11:23,297.297 INFO    ] 200
[2026-08-29 10:11:23,299.299 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:11:23,324.324 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:11:23,407.407 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:11:23,408.408 INFO    ] No camera update needed
[2026-08-29 10:11:23,409.409 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:11:23,410.410 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:11:23,413.413 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:11:23,416.416 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:11:25,455.455 INFO    ] ================================================
[2026-08-29 10:11:25,470.470 INFO    ] Launching Daemon at Sat Aug 29 10:11:25 IST 2026
[2026-08-29 10:11:25,481.481 INFO    ] ================================================
[2026-08-29 10:11:25,844.844 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:11:25
[2026-08-29 10:11:26,161.161 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:11:26,300.300 INFO    ] Initializing speech engine...
[2026-08-29 10:11:26,314.314 INFO    ] 2026-08-29 10:11:26
[2026-08-29 10:11:26,534.534 INFO    ] 2026-08-29 10:11:26
[2026-08-29 10:11:26,565.565 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:11:26,666.666 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:11:26,702.702 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:11:26,825.825 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:11:26,832.832 INFO    ] time= 29/08/2026 10:11:26
[2026-08-29 10:11:26,856.856 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:11:26,880.880 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:11:26,996.996 INFO    ] No existing commands found in stream
[2026-08-29 10:11:32,013.013 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:11:32,015.015 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 10:11:35,529.529 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:11:35,530.530 INFO    ] Checking for system updates...
[2026-08-29 10:11:35,551.551 INFO    ] 200
[2026-08-29 10:11:35,553.553 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:11:35,582.582 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:11:35,584.584 INFO    ] No update needed
[2026-08-29 10:11:35,585.585 INFO    ] Checking for camera pi updates...
[2026-08-29 10:11:35,605.605 INFO    ] 200
[2026-08-29 10:11:35,607.607 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:11:35,629.629 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:11:35,737.737 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:11:35,740.740 INFO    ] No camera update needed
[2026-08-29 10:11:35,742.742 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:11:35,744.744 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:11:35,750.750 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:11:35,755.755 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:11:37,794.794 INFO    ] ================================================
[2026-08-29 10:11:37,809.809 INFO    ] Launching Daemon at Sat Aug 29 10:11:37 IST 2026
[2026-08-29 10:11:37,820.820 INFO    ] ================================================
[2026-08-29 10:11:38,478.478 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:11:38
[2026-08-29 10:11:38,993.993 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:11:39,140.140 INFO    ] Initializing speech engine...
[2026-08-29 10:11:39,150.150 INFO    ] 2026-08-29 10:11:39
[2026-08-29 10:11:39,362.362 INFO    ] 2026-08-29 10:11:39
[2026-08-29 10:11:39,391.391 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:11:39,526.526 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:11:39,580.580 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:11:39,717.717 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:11:39,784.784 INFO    ] time= 29/08/2026 10:11:39
[2026-08-29 10:11:39,813.813 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:11:39,820.820 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:11:39,889.889 INFO    ] No existing commands found in stream
[2026-08-29 10:11:44,903.903 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:11:44,906.906 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-08-29 10:11:46,010.010 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:11:46,014.014 INFO    ] Checking for system updates...
[2026-08-29 10:11:46,054.054 INFO    ] 200
[2026-08-29 10:11:46,057.057 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:11:46,116.116 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:11:46,118.118 INFO    ] No update needed
[2026-08-29 10:11:46,121.121 INFO    ] Checking for camera pi updates...
[2026-08-29 10:11:46,155.155 INFO    ] 200
[2026-08-29 10:11:46,158.158 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:11:46,204.204 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:11:46,295.295 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:11:46,298.298 INFO    ] No camera update needed
[2026-08-29 10:11:46,300.300 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:11:46,302.302 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:11:46,307.307 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:11:46,312.312 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:11:48,352.352 INFO    ] ================================================
[2026-08-29 10:11:48,367.367 INFO    ] Launching Daemon at Sat Aug 29 10:11:48 IST 2026
[2026-08-29 10:11:48,378.378 INFO    ] ================================================
[2026-08-29 10:11:48,731.731 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:11:48
[2026-08-29 10:11:49,043.043 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:11:49,179.179 INFO    ] Initializing speech engine...
[2026-08-29 10:11:49,193.193 INFO    ] 2026-08-29 10:11:49
[2026-08-29 10:11:49,395.395 INFO    ] 2026-08-29 10:11:49
[2026-08-29 10:11:49,424.424 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:11:49,533.533 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:11:49,534.534 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:11:49,639.639 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:11:49,640.640 INFO    ] time= 29/08/2026 10:11:49
[2026-08-29 10:11:49,642.642 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:11:49,646.646 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:11:49,749.749 INFO    ] No existing commands found in stream
[2026-08-29 10:11:54,758.758 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:11:54,761.761 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-08-29 10:11:55,213.213 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:11:55,214.214 INFO    ] Checking for system updates...
[2026-08-29 10:11:55,235.235 INFO    ] 200
[2026-08-29 10:11:55,236.236 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:11:55,268.268 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:11:55,269.269 INFO    ] No update needed
[2026-08-29 10:11:55,271.271 INFO    ] Checking for camera pi updates...
[2026-08-29 10:11:55,291.291 INFO    ] 200
[2026-08-29 10:11:55,293.293 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:11:55,315.315 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:11:55,413.413 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:11:55,414.414 INFO    ] No camera update needed
[2026-08-29 10:11:55,416.416 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:11:55,417.417 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:11:55,420.420 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:11:55,422.422 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:11:57,462.462 INFO    ] ================================================
[2026-08-29 10:11:57,477.477 INFO    ] Launching Daemon at Sat Aug 29 10:11:57 IST 2026
[2026-08-29 10:11:57,488.488 INFO    ] ================================================
[2026-08-29 10:11:57,847.847 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:11:57
[2026-08-29 10:11:58,187.187 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:11:58,338.338 INFO    ] Initializing speech engine...
[2026-08-29 10:11:58,345.345 INFO    ] 2026-08-29 10:11:58
[2026-08-29 10:11:58,553.553 INFO    ] 2026-08-29 10:11:58
[2026-08-29 10:11:58,581.581 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:11:58,704.704 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:11:58,767.767 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:11:58,912.912 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:11:58,968.968 INFO    ] time= 29/08/2026 10:11:58
[2026-08-29 10:11:59,010.010 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:11:59,064.064 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:11:59,165.165 INFO    ] No existing commands found in stream
[2026-08-29 10:12:04,189.189 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:12:04,192.192 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-08-29 10:12:07,871.871 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:12:07,873.873 INFO    ] Checking for system updates...
[2026-08-29 10:12:07,894.894 INFO    ] 200
[2026-08-29 10:12:07,895.895 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:12:07,928.928 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:12:07,929.929 INFO    ] No update needed
[2026-08-29 10:12:07,930.930 INFO    ] Checking for camera pi updates...
[2026-08-29 10:12:07,952.952 INFO    ] 200
[2026-08-29 10:12:07,953.953 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:12:07,977.977 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:12:08,070.070 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:12:08,071.071 INFO    ] No camera update needed
[2026-08-29 10:12:08,073.073 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:12:08,074.074 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:12:08,077.077 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:12:08,080.080 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:12:10,121.121 INFO    ] ================================================
[2026-08-29 10:12:10,137.137 INFO    ] Launching Daemon at Sat Aug 29 10:12:10 IST 2026
[2026-08-29 10:12:10,150.150 INFO    ] ================================================
[2026-08-29 10:12:10,740.740 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:12:10
[2026-08-29 10:12:11,402.402 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:12:11,704.704 INFO    ] Initializing speech engine...
[2026-08-29 10:12:11,710.710 INFO    ] 2026-08-29 10:12:11
[2026-08-29 10:12:11,986.986 INFO    ] 2026-08-29 10:12:11
[2026-08-29 10:12:12,041.041 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:12:12,263.263 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:12:12,272.272 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:12:12,425.425 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:12:12,485.485 INFO    ] time= 29/08/2026 10:12:12
[2026-08-29 10:12:12,538.538 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:12:12,556.556 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:12:12,661.661 INFO    ] No existing commands found in stream
[2026-08-29 10:12:17,693.693 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:12:17,696.696 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-08-29 10:12:21,696.696 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:12:21,698.698 INFO    ] Checking for system updates...
[2026-08-29 10:12:21,719.719 INFO    ] 200
[2026-08-29 10:12:21,720.720 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:12:21,750.750 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:12:21,752.752 INFO    ] No update needed
[2026-08-29 10:12:21,753.753 INFO    ] Checking for camera pi updates...
[2026-08-29 10:12:21,774.774 INFO    ] 200
[2026-08-29 10:12:21,775.775 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:12:21,801.801 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:12:21,865.865 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:12:21,866.866 INFO    ] No camera update needed
[2026-08-29 10:12:21,868.868 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:12:21,869.869 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:12:21,872.872 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:12:21,875.875 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:12:23,915.915 INFO    ] ================================================
[2026-08-29 10:12:23,932.932 INFO    ] Launching Daemon at Sat Aug 29 10:12:23 IST 2026
[2026-08-29 10:12:23,946.946 INFO    ] ================================================
[2026-08-29 10:12:24,552.552 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:12:24
[2026-08-29 10:12:25,205.205 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:12:25,503.503 INFO    ] Initializing speech engine...
[2026-08-29 10:12:25,510.510 INFO    ] 2026-08-29 10:12:25
[2026-08-29 10:12:25,782.782 INFO    ] 2026-08-29 10:12:25
[2026-08-29 10:12:25,834.834 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:12:25,979.979 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:12:25,991.991 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:12:26,139.139 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:12:26,147.147 INFO    ] time= 29/08/2026 10:12:26
[2026-08-29 10:12:26,153.153 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:12:26,159.159 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:12:26,298.298 INFO    ] No existing commands found in stream
[2026-08-29 10:12:31,329.329 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:12:31,331.331 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-08-29 10:12:35,217.217 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:12:35,219.219 INFO    ] Checking for system updates...
[2026-08-29 10:12:35,239.239 INFO    ] 200
[2026-08-29 10:12:35,241.241 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:12:35,273.273 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:12:35,274.274 INFO    ] No update needed
[2026-08-29 10:12:35,275.275 INFO    ] Checking for camera pi updates...
[2026-08-29 10:12:35,294.294 INFO    ] 200
[2026-08-29 10:12:35,296.296 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:12:35,331.331 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:12:35,437.437 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:12:35,439.439 INFO    ] No camera update needed
[2026-08-29 10:12:35,441.441 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:12:35,444.444 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:12:35,449.449 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:12:35,454.454 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:12:37,494.494 INFO    ] ================================================
[2026-08-29 10:12:37,509.509 INFO    ] Launching Daemon at Sat Aug 29 10:12:37 IST 2026
[2026-08-29 10:12:37,520.520 INFO    ] ================================================
[2026-08-29 10:12:38,172.172 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:12:38
[2026-08-29 10:12:38,536.536 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:12:38,686.686 INFO    ] Initializing speech engine...
[2026-08-29 10:12:38,692.692 INFO    ] 2026-08-29 10:12:38
[2026-08-29 10:12:38,904.904 INFO    ] 2026-08-29 10:12:38
[2026-08-29 10:12:38,971.971 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:12:39,124.124 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:12:39,145.145 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:12:39,344.344 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:12:39,387.387 INFO    ] time= 29/08/2026 10:12:39
[2026-08-29 10:12:39,404.404 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:12:39,424.424 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:12:39,547.547 INFO    ] No existing commands found in stream
[2026-08-29 10:12:44,579.579 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:12:44,582.582 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-08-29 10:12:45,223.223 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:12:45,224.224 INFO    ] Checking for system updates...
[2026-08-29 10:12:45,245.245 INFO    ] 200
[2026-08-29 10:12:45,246.246 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:12:45,276.276 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:12:45,278.278 INFO    ] No update needed
[2026-08-29 10:12:45,279.279 INFO    ] Checking for camera pi updates...
[2026-08-29 10:12:45,298.298 INFO    ] 200
[2026-08-29 10:12:45,300.300 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:12:45,323.323 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:12:45,404.404 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:12:45,405.405 INFO    ] No camera update needed
[2026-08-29 10:12:45,407.407 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:12:45,408.408 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:12:45,411.411 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:12:45,414.414 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:12:47,453.453 INFO    ] ================================================
[2026-08-29 10:12:47,468.468 INFO    ] Launching Daemon at Sat Aug 29 10:12:47 IST 2026
[2026-08-29 10:12:47,479.479 INFO    ] ================================================
[2026-08-29 10:12:47,996.996 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:12:47
[2026-08-29 10:12:48,581.581 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:12:48,850.850 INFO    ] Initializing speech engine...
[2026-08-29 10:12:48,861.861 INFO    ] 2026-08-29 10:12:48
[2026-08-29 10:12:49,106.106 INFO    ] 2026-08-29 10:12:49
[2026-08-29 10:12:49,172.172 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:12:49,336.336 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:12:49,358.358 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:12:49,536.536 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:12:49,583.583 INFO    ] time= 29/08/2026 10:12:49
[2026-08-29 10:12:49,632.632 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:12:49,670.670 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:12:49,735.735 INFO    ] No existing commands found in stream
[2026-08-29 10:12:54,770.770 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:12:54,773.773 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-08-29 10:12:57,954.954 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:12:57,956.956 INFO    ] Checking for system updates...
[2026-08-29 10:12:57,977.977 INFO    ] 200
[2026-08-29 10:12:57,979.979 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:12:58,008.008 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:12:58,009.009 INFO    ] No update needed
[2026-08-29 10:12:58,010.010 INFO    ] Checking for camera pi updates...
[2026-08-29 10:12:58,030.030 INFO    ] 200
[2026-08-29 10:12:58,031.031 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:12:58,058.058 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:12:58,119.119 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:12:58,120.120 INFO    ] No camera update needed
[2026-08-29 10:12:58,122.122 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:12:58,123.123 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:12:58,127.127 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:12:58,130.130 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:13:00,170.170 INFO    ] ================================================
[2026-08-29 10:13:00,185.185 INFO    ] Launching Daemon at Sat Aug 29 10:13:00 IST 2026
[2026-08-29 10:13:00,195.195 INFO    ] ================================================
[2026-08-29 10:13:00,577.577 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:13:00
[2026-08-29 10:13:00,913.913 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:13:01,067.067 INFO    ] Initializing speech engine...
[2026-08-29 10:13:01,072.072 INFO    ] 2026-08-29 10:13:01
[2026-08-29 10:13:01,278.278 INFO    ] 2026-08-29 10:13:01
[2026-08-29 10:13:01,307.307 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:13:01,483.483 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:13:01,486.486 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:13:01,651.651 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:13:01,655.655 INFO    ] time= 29/08/2026 10:13:01
[2026-08-29 10:13:01,659.659 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:13:01,677.677 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:13:01,750.750 INFO    ] No existing commands found in stream
[2026-08-29 10:13:06,760.760 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:13:06,763.763 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-08-29 10:13:08,177.177 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:13:08,179.179 INFO    ] Checking for system updates...
[2026-08-29 10:13:08,199.199 INFO    ] 200
[2026-08-29 10:13:08,201.201 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:13:08,231.231 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:13:08,232.232 INFO    ] No update needed
[2026-08-29 10:13:08,234.234 INFO    ] Checking for camera pi updates...
[2026-08-29 10:13:08,253.253 INFO    ] 200
[2026-08-29 10:13:08,255.255 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:13:08,278.278 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:13:08,384.384 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:13:08,386.386 INFO    ] No camera update needed
[2026-08-29 10:13:08,387.387 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:13:08,388.388 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:13:08,391.391 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:13:08,394.394 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:13:10,434.434 INFO    ] ================================================
[2026-08-29 10:13:10,449.449 INFO    ] Launching Daemon at Sat Aug 29 10:13:10 IST 2026
[2026-08-29 10:13:10,459.459 INFO    ] ================================================
[2026-08-29 10:13:10,937.937 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:13:10
[2026-08-29 10:13:11,601.601 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:13:11,905.905 INFO    ] Initializing speech engine...
[2026-08-29 10:13:11,918.918 INFO    ] 2026-08-29 10:13:11
[2026-08-29 10:13:12,189.189 INFO    ] 2026-08-29 10:13:12
[2026-08-29 10:13:12,245.245 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:13:12,472.472 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:13:12,481.481 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:13:12,619.619 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:13:12,635.635 INFO    ] time= 29/08/2026 10:13:12
[2026-08-29 10:13:12,695.695 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:13:12,754.754 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:13:12,818.818 INFO    ] No existing commands found in stream
[2026-08-29 10:13:17,837.837 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:13:17,840.840 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 10:13:19,327.327 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:13:19,328.328 INFO    ] Checking for system updates...
[2026-08-29 10:13:19,349.349 INFO    ] 200
[2026-08-29 10:13:19,350.350 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:13:19,380.380 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:13:19,381.381 INFO    ] No update needed
[2026-08-29 10:13:19,382.382 INFO    ] Checking for camera pi updates...
[2026-08-29 10:13:19,404.404 INFO    ] 200
[2026-08-29 10:13:19,405.405 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:13:19,428.428 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:13:19,503.503 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:13:19,504.504 INFO    ] No camera update needed
[2026-08-29 10:13:19,506.506 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:13:19,507.507 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:13:19,510.510 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:13:19,512.512 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:13:21,550.550 INFO    ] ================================================
[2026-08-29 10:13:21,565.565 INFO    ] Launching Daemon at Sat Aug 29 10:13:21 IST 2026
[2026-08-29 10:13:21,576.576 INFO    ] ================================================
[2026-08-29 10:13:21,918.918 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:13:21
[2026-08-29 10:13:22,261.261 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:13:22,511.511 INFO    ] Initializing speech engine...
[2026-08-29 10:13:22,523.523 INFO    ] 2026-08-29 10:13:22
[2026-08-29 10:13:22,788.788 INFO    ] 2026-08-29 10:13:22
[2026-08-29 10:13:22,824.824 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:13:23,003.003 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:13:23,015.015 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:13:23,143.143 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:13:23,167.167 INFO    ] time= 29/08/2026 10:13:23
[2026-08-29 10:13:23,172.172 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:13:23,179.179 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:13:23,246.246 INFO    ] No existing commands found in stream
[2026-08-29 10:13:28,261.261 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:13:28,264.264 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-08-29 10:13:29,271.271 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:13:29,273.273 INFO    ] Checking for system updates...
[2026-08-29 10:13:29,293.293 INFO    ] 200
[2026-08-29 10:13:29,295.295 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:13:29,325.325 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:13:29,327.327 INFO    ] No update needed
[2026-08-29 10:13:29,328.328 INFO    ] Checking for camera pi updates...
[2026-08-29 10:13:29,349.349 INFO    ] 200
[2026-08-29 10:13:29,350.350 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:13:29,376.376 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:13:29,473.473 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:13:29,474.474 INFO    ] No camera update needed
[2026-08-29 10:13:29,475.475 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:13:29,477.477 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:13:29,480.480 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:13:29,483.483 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:13:31,524.524 INFO    ] ================================================
[2026-08-29 10:13:31,541.541 INFO    ] Launching Daemon at Sat Aug 29 10:13:31 IST 2026
[2026-08-29 10:13:31,552.552 INFO    ] ================================================
[2026-08-29 10:13:32,135.135 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:13:32
[2026-08-29 10:13:32,765.765 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:13:33,040.040 INFO    ] Initializing speech engine...
[2026-08-29 10:13:33,055.055 INFO    ] 2026-08-29 10:13:33
[2026-08-29 10:13:33,328.328 INFO    ] 2026-08-29 10:13:33
[2026-08-29 10:13:33,365.365 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:13:33,558.558 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:13:33,574.574 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:13:33,696.696 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:13:33,701.701 INFO    ] time= 29/08/2026 10:13:33
[2026-08-29 10:13:33,720.720 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:13:33,741.741 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:13:33,824.824 INFO    ] No existing commands found in stream
[2026-08-29 10:13:38,837.837 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:13:38,840.840 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-08-29 10:13:41,363.363 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:13:41,365.365 INFO    ] Checking for system updates...
[2026-08-29 10:13:41,385.385 INFO    ] 200
[2026-08-29 10:13:41,386.386 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:13:41,416.416 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:13:41,417.417 INFO    ] No update needed
[2026-08-29 10:13:41,419.419 INFO    ] Checking for camera pi updates...
[2026-08-29 10:13:41,438.438 INFO    ] 200
[2026-08-29 10:13:41,439.439 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:13:41,462.462 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:13:41,663.663 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:13:41,665.665 INFO    ] No camera update needed
[2026-08-29 10:13:41,666.666 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:13:41,667.667 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:13:41,670.670 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:13:41,673.673 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:13:43,714.714 INFO    ] ================================================
[2026-08-29 10:13:43,729.729 INFO    ] Launching Daemon at Sat Aug 29 10:13:43 IST 2026
[2026-08-29 10:13:43,740.740 INFO    ] ================================================
[2026-08-29 10:13:44,089.089 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:13:44
[2026-08-29 10:13:44,401.401 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:13:44,531.531 INFO    ] Initializing speech engine...
[2026-08-29 10:13:44,536.536 INFO    ] 2026-08-29 10:13:44
[2026-08-29 10:13:44,771.771 INFO    ] 2026-08-29 10:13:44
[2026-08-29 10:13:44,806.806 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:13:44,983.983 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:13:44,996.996 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:13:45,140.140 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:13:45,146.146 INFO    ] time= 29/08/2026 10:13:45
[2026-08-29 10:13:45,153.153 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:13:45,194.194 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:13:45,300.300 INFO    ] No existing commands found in stream
[2026-08-29 10:13:50,325.325 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:13:50,327.327 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-08-29 10:13:53,809.809 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:13:53,810.810 INFO    ] Checking for system updates...
[2026-08-29 10:13:53,831.831 INFO    ] 200
[2026-08-29 10:13:53,832.832 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:13:53,862.862 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:13:53,863.863 INFO    ] No update needed
[2026-08-29 10:13:53,865.865 INFO    ] Checking for camera pi updates...
[2026-08-29 10:13:53,884.884 INFO    ] 200
[2026-08-29 10:13:53,885.885 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:13:53,908.908 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:13:54,009.009 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:13:54,010.010 INFO    ] No camera update needed
[2026-08-29 10:13:54,012.012 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:13:54,013.013 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:13:54,016.016 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:13:54,019.019 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:13:56,058.058 INFO    ] ================================================
[2026-08-29 10:13:56,073.073 INFO    ] Launching Daemon at Sat Aug 29 10:13:56 IST 2026
[2026-08-29 10:13:56,084.084 INFO    ] ================================================
[2026-08-29 10:13:56,450.450 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:13:56
[2026-08-29 10:13:56,766.766 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:13:56,899.899 INFO    ] Initializing speech engine...
[2026-08-29 10:13:56,912.912 INFO    ] 2026-08-29 10:13:56
[2026-08-29 10:13:57,121.121 INFO    ] 2026-08-29 10:13:57
[2026-08-29 10:13:57,149.149 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:13:57,274.274 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:13:57,337.337 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:13:57,507.507 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:13:57,554.554 INFO    ] time= 29/08/2026 10:13:57
[2026-08-29 10:13:57,582.582 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:13:57,643.643 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:13:57,754.754 INFO    ] No existing commands found in stream
[2026-08-29 10:14:02,764.764 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:14:02,767.767 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-08-29 10:14:06,158.158 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:14:06,161.161 INFO    ] Checking for system updates...
[2026-08-29 10:14:06,196.196 INFO    ] 200
[2026-08-29 10:14:06,199.199 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:14:06,256.256 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:14:06,258.258 INFO    ] No update needed
[2026-08-29 10:14:06,261.261 INFO    ] Checking for camera pi updates...
[2026-08-29 10:14:06,294.294 INFO    ] 200
[2026-08-29 10:14:06,296.296 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:14:06,337.337 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:14:06,431.431 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:14:06,434.434 INFO    ] No camera update needed
[2026-08-29 10:14:06,436.436 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:14:06,438.438 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:14:06,444.444 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:14:06,448.448 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:14:08,488.488 INFO    ] ================================================
[2026-08-29 10:14:08,503.503 INFO    ] Launching Daemon at Sat Aug 29 10:14:08 IST 2026
[2026-08-29 10:14:08,514.514 INFO    ] ================================================
[2026-08-29 10:14:09,094.094 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:14:09
[2026-08-29 10:14:09,406.406 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:14:09,536.536 INFO    ] Initializing speech engine...
[2026-08-29 10:14:09,540.540 INFO    ] 2026-08-29 10:14:09
[2026-08-29 10:14:09,757.757 INFO    ] 2026-08-29 10:14:09
[2026-08-29 10:14:09,786.786 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:14:09,910.910 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:14:09,973.973 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:14:10,105.105 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:14:10,156.156 INFO    ] time= 29/08/2026 10:14:10
[2026-08-29 10:14:10,200.200 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:14:10,206.206 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:14:10,278.278 INFO    ] No existing commands found in stream
[2026-08-29 10:14:15,288.288 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:14:15,290.290 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-08-29 10:14:19,518.518 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:14:19,519.519 INFO    ] Checking for system updates...
[2026-08-29 10:14:19,540.540 INFO    ] 200
[2026-08-29 10:14:19,541.541 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:14:19,572.572 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:14:19,573.573 INFO    ] No update needed
[2026-08-29 10:14:19,574.574 INFO    ] Checking for camera pi updates...
[2026-08-29 10:14:19,596.596 INFO    ] 200
[2026-08-29 10:14:19,597.597 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:14:19,622.622 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:14:19,696.696 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:14:19,698.698 INFO    ] No camera update needed
[2026-08-29 10:14:19,699.699 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:14:19,700.700 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:14:19,703.703 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:14:19,706.706 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:14:21,745.745 INFO    ] ================================================
[2026-08-29 10:14:21,761.761 INFO    ] Launching Daemon at Sat Aug 29 10:14:21 IST 2026
[2026-08-29 10:14:21,772.772 INFO    ] ================================================
[2026-08-29 10:14:22,129.129 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:14:22
[2026-08-29 10:14:22,686.686 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:14:22,938.938 INFO    ] Initializing speech engine...
[2026-08-29 10:14:22,961.961 INFO    ] 2026-08-29 10:14:22
[2026-08-29 10:14:23,221.221 INFO    ] 2026-08-29 10:14:23
[2026-08-29 10:14:23,256.256 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:14:23,441.441 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:14:23,458.458 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:14:23,593.593 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:14:23,598.598 INFO    ] time= 29/08/2026 10:14:23
[2026-08-29 10:14:23,604.604 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:14:23,630.630 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:14:23,757.757 INFO    ] No existing commands found in stream
[2026-08-29 10:14:28,782.782 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:14:28,785.785 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 10:14:31,476.476 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:14:31,479.479 INFO    ] Checking for system updates...
[2026-08-29 10:14:31,523.523 INFO    ] 200
[2026-08-29 10:14:31,526.526 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:14:31,587.587 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:14:31,589.589 INFO    ] No update needed
[2026-08-29 10:14:31,592.592 INFO    ] Checking for camera pi updates...
[2026-08-29 10:14:31,628.628 INFO    ] 200
[2026-08-29 10:14:31,630.630 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:14:31,673.673 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:14:31,784.784 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:14:31,786.786 INFO    ] No camera update needed
[2026-08-29 10:14:31,789.789 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:14:31,791.791 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:14:31,798.798 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:14:31,803.803 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:14:33,844.844 INFO    ] ================================================
[2026-08-29 10:14:33,860.860 INFO    ] Launching Daemon at Sat Aug 29 10:14:33 IST 2026
[2026-08-29 10:14:33,871.871 INFO    ] ================================================
[2026-08-29 10:14:34,492.492 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:14:34
[2026-08-29 10:14:34,828.828 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:14:34,975.975 INFO    ] Initializing speech engine...
[2026-08-29 10:14:34,981.981 INFO    ] 2026-08-29 10:14:34
[2026-08-29 10:14:35,190.190 INFO    ] 2026-08-29 10:14:35
[2026-08-29 10:14:35,219.219 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:14:35,367.367 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:14:35,404.404 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:14:35,538.538 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:14:35,564.564 INFO    ] time= 29/08/2026 10:14:35
[2026-08-29 10:14:35,616.616 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:14:35,640.640 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:14:35,711.711 INFO    ] No existing commands found in stream
[2026-08-29 10:14:40,722.722 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:14:40,725.725 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-08-29 10:14:42,387.387 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:14:42,389.389 INFO    ] Checking for system updates...
[2026-08-29 10:14:42,410.410 INFO    ] 200
[2026-08-29 10:14:42,412.412 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:14:42,442.442 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:14:42,444.444 INFO    ] No update needed
[2026-08-29 10:14:42,445.445 INFO    ] Checking for camera pi updates...
[2026-08-29 10:14:42,464.464 INFO    ] 200
[2026-08-29 10:14:42,466.466 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:14:42,498.498 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:14:42,589.589 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:14:42,592.592 INFO    ] No camera update needed
[2026-08-29 10:14:42,595.595 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:14:42,597.597 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:14:42,603.603 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:14:42,608.608 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:14:44,649.649 INFO    ] ================================================
[2026-08-29 10:14:44,665.665 INFO    ] Launching Daemon at Sat Aug 29 10:14:44 IST 2026
[2026-08-29 10:14:44,676.676 INFO    ] ================================================
[2026-08-29 10:14:45,257.257 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:14:45
[2026-08-29 10:14:45,739.739 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:14:45,873.873 INFO    ] Initializing speech engine...
[2026-08-29 10:14:45,885.885 INFO    ] 2026-08-29 10:14:45
[2026-08-29 10:14:46,090.090 INFO    ] 2026-08-29 10:14:46
[2026-08-29 10:14:46,174.174 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:14:46,319.319 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:14:46,322.322 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:14:46,466.466 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:14:46,514.514 INFO    ] time= 29/08/2026 10:14:46
[2026-08-29 10:14:46,562.562 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:14:46,600.600 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:14:46,670.670 INFO    ] No existing commands found in stream
[2026-08-29 10:14:51,706.706 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:14:51,708.708 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-08-29 10:14:53,210.210 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:14:53,211.211 INFO    ] Checking for system updates...
[2026-08-29 10:14:53,232.232 INFO    ] 200
[2026-08-29 10:14:53,233.233 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:14:53,262.262 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:14:53,264.264 INFO    ] No update needed
[2026-08-29 10:14:53,265.265 INFO    ] Checking for camera pi updates...
[2026-08-29 10:14:53,284.284 INFO    ] 200
[2026-08-29 10:14:53,286.286 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:14:53,310.310 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:14:53,385.385 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:14:53,386.386 INFO    ] No camera update needed
[2026-08-29 10:14:53,387.387 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:14:53,388.388 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:14:53,391.391 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:14:53,394.394 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:14:55,433.433 INFO    ] ================================================
[2026-08-29 10:14:55,449.449 INFO    ] Launching Daemon at Sat Aug 29 10:14:55 IST 2026
[2026-08-29 10:14:55,459.459 INFO    ] ================================================
[2026-08-29 10:14:55,818.818 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:14:55
[2026-08-29 10:14:56,151.151 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:14:56,290.290 INFO    ] Initializing speech engine...
[2026-08-29 10:14:56,303.303 INFO    ] 2026-08-29 10:14:56
[2026-08-29 10:14:56,514.514 INFO    ] 2026-08-29 10:14:56
[2026-08-29 10:14:56,543.543 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:14:56,708.708 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:14:56,734.734 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:14:56,888.888 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:14:56,944.944 INFO    ] time= 29/08/2026 10:14:56
[2026-08-29 10:14:56,966.966 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:14:56,973.973 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:14:57,041.041 INFO    ] No existing commands found in stream
[2026-08-29 10:15:02,051.051 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:15:02,057.057 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-08-29 10:15:03,532.532 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:15:03,535.535 INFO    ] Checking for system updates...
[2026-08-29 10:15:03,578.578 INFO    ] 200
[2026-08-29 10:15:03,580.580 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:15:03,641.641 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:15:03,644.644 INFO    ] No update needed
[2026-08-29 10:15:03,646.646 INFO    ] Checking for camera pi updates...
[2026-08-29 10:15:03,685.685 INFO    ] 200
[2026-08-29 10:15:03,688.688 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:15:03,747.747 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:15:03,857.857 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:15:03,860.860 INFO    ] No camera update needed
[2026-08-29 10:15:03,863.863 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:15:03,866.866 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:15:03,873.873 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:15:03,879.879 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:15:05,921.921 INFO    ] ================================================
[2026-08-29 10:15:05,938.938 INFO    ] Launching Daemon at Sat Aug 29 10:15:05 IST 2026
[2026-08-29 10:15:05,949.949 INFO    ] ================================================
[2026-08-29 10:15:06,302.302 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:15:06
[2026-08-29 10:15:06,618.618 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:15:06,750.750 INFO    ] Initializing speech engine...
[2026-08-29 10:15:06,753.753 INFO    ] 2026-08-29 10:15:06
[2026-08-29 10:15:06,970.970 INFO    ] 2026-08-29 10:15:06
[2026-08-29 10:15:06,998.998 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:15:07,182.182 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:15:07,186.186 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:15:07,304.304 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:15:07,307.307 INFO    ] time= 29/08/2026 10:15:07
[2026-08-29 10:15:07,309.309 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:15:07,384.384 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:15:07,510.510 INFO    ] No existing commands found in stream
[2026-08-29 10:15:12,541.541 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:15:12,544.544 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-08-29 10:15:13,500.500 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:15:13,502.502 INFO    ] Checking for system updates...
[2026-08-29 10:15:13,522.522 INFO    ] 200
[2026-08-29 10:15:13,523.523 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:15:13,554.554 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:15:13,555.555 INFO    ] No update needed
[2026-08-29 10:15:13,556.556 INFO    ] Checking for camera pi updates...
[2026-08-29 10:15:13,579.579 INFO    ] 200
[2026-08-29 10:15:13,580.580 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:15:13,604.604 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:15:13,685.685 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:15:13,686.686 INFO    ] No camera update needed
[2026-08-29 10:15:13,687.687 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:15:13,689.689 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:15:13,691.691 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:15:13,694.694 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:15:15,733.733 INFO    ] ================================================
[2026-08-29 10:15:15,749.749 INFO    ] Launching Daemon at Sat Aug 29 10:15:15 IST 2026
[2026-08-29 10:15:15,760.760 INFO    ] ================================================
[2026-08-29 10:15:16,299.299 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:15:16
[2026-08-29 10:15:16,891.891 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:15:17,162.162 INFO    ] Initializing speech engine...
[2026-08-29 10:15:17,171.171 INFO    ] 2026-08-29 10:15:17
[2026-08-29 10:15:17,419.419 INFO    ] 2026-08-29 10:15:17
[2026-08-29 10:15:17,460.460 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:15:17,632.632 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:15:17,644.644 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:15:17,785.785 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:15:17,792.792 INFO    ] time= 29/08/2026 10:15:17
[2026-08-29 10:15:17,797.797 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:15:17,805.805 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:15:17,951.951 INFO    ] No existing commands found in stream
[2026-08-29 10:15:22,982.982 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:15:22,985.985 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 10:15:25,656.656 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:15:25,658.658 INFO    ] Checking for system updates...
[2026-08-29 10:15:25,679.679 INFO    ] 200
[2026-08-29 10:15:25,680.680 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:15:25,710.710 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:15:25,711.711 INFO    ] No update needed
[2026-08-29 10:15:25,713.713 INFO    ] Checking for camera pi updates...
[2026-08-29 10:15:25,733.733 INFO    ] 200
[2026-08-29 10:15:25,734.734 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:15:25,757.757 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:15:25,838.838 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:15:25,839.839 INFO    ] No camera update needed
[2026-08-29 10:15:25,840.840 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:15:25,842.842 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:15:25,845.845 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:15:25,848.848 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:15:27,889.889 INFO    ] ================================================
[2026-08-29 10:15:27,905.905 INFO    ] Launching Daemon at Sat Aug 29 10:15:27 IST 2026
[2026-08-29 10:15:27,916.916 INFO    ] ================================================
[2026-08-29 10:15:28,256.256 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:15:28
[2026-08-29 10:15:28,568.568 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:15:28,699.699 INFO    ] Initializing speech engine...
[2026-08-29 10:15:28,704.704 INFO    ] 2026-08-29 10:15:28
[2026-08-29 10:15:28,900.900 INFO    ] 2026-08-29 10:15:28
[2026-08-29 10:15:28,976.976 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:15:29,139.139 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:15:29,145.145 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:15:29,283.283 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:15:29,338.338 INFO    ] time= 29/08/2026 10:15:29
[2026-08-29 10:15:29,393.393 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:15:29,419.419 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:15:29,472.472 INFO    ] No existing commands found in stream
[2026-08-29 10:15:34,484.484 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:15:34,487.487 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-08-29 10:15:37,488.488 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:15:37,490.490 INFO    ] Checking for system updates...
[2026-08-29 10:15:37,510.510 INFO    ] 200
[2026-08-29 10:15:37,511.511 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:15:37,543.543 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:15:37,544.544 INFO    ] No update needed
[2026-08-29 10:15:37,545.545 INFO    ] Checking for camera pi updates...
[2026-08-29 10:15:37,564.564 INFO    ] 200
[2026-08-29 10:15:37,566.566 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:15:37,588.588 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:15:37,676.676 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:15:37,677.677 INFO    ] No camera update needed
[2026-08-29 10:15:37,679.679 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:15:37,680.680 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:15:37,683.683 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:15:37,685.685 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:15:39,725.725 INFO    ] ================================================
[2026-08-29 10:15:39,741.741 INFO    ] Launching Daemon at Sat Aug 29 10:15:39 IST 2026
[2026-08-29 10:15:39,752.752 INFO    ] ================================================
[2026-08-29 10:15:40,089.089 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:15:40
[2026-08-29 10:15:40,400.400 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:15:40,541.541 INFO    ] Initializing speech engine...
[2026-08-29 10:15:40,548.548 INFO    ] 2026-08-29 10:15:40
[2026-08-29 10:15:40,783.783 INFO    ] 2026-08-29 10:15:40
[2026-08-29 10:15:40,818.818 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:15:40,989.989 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:15:41,001.001 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:15:41,143.143 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:15:41,150.150 INFO    ] time= 29/08/2026 10:15:41
[2026-08-29 10:15:41,158.158 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:15:41,203.203 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:15:41,340.340 INFO    ] No existing commands found in stream
[2026-08-29 10:15:46,360.360 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:15:46,363.363 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 10:15:47,979.979 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:15:47,982.982 INFO    ] Checking for system updates...
[2026-08-29 10:15:48,018.018 INFO    ] 200
[2026-08-29 10:15:48,021.021 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:15:48,073.073 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:15:48,075.075 INFO    ] No update needed
[2026-08-29 10:15:48,077.077 INFO    ] Checking for camera pi updates...
[2026-08-29 10:15:48,115.115 INFO    ] 200
[2026-08-29 10:15:48,117.117 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:15:48,157.157 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:15:48,332.332 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:15:48,335.335 INFO    ] No camera update needed
[2026-08-29 10:15:48,337.337 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:15:48,340.340 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:15:48,346.346 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:15:48,352.352 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:15:50,394.394 INFO    ] ================================================
[2026-08-29 10:15:50,409.409 INFO    ] Launching Daemon at Sat Aug 29 10:15:50 IST 2026
[2026-08-29 10:15:50,420.420 INFO    ] ================================================
[2026-08-29 10:15:51,001.001 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:15:50
[2026-08-29 10:15:51,604.604 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:15:51,877.877 INFO    ] Initializing speech engine...
[2026-08-29 10:15:51,895.895 INFO    ] 2026-08-29 10:15:51
[2026-08-29 10:15:52,170.170 INFO    ] 2026-08-29 10:15:52
[2026-08-29 10:15:52,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:15:52,400.400 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:15:52,406.406 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:15:52,543.543 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:15:52,564.564 INFO    ] time= 29/08/2026 10:15:52
[2026-08-29 10:15:52,586.586 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:15:52,593.593 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:15:52,673.673 INFO    ] No existing commands found in stream
[2026-08-29 10:15:57,683.683 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:15:57,686.686 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-08-29 10:16:01,953.953 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:16:01,957.957 INFO    ] Checking for system updates...
[2026-08-29 10:16:02,001.001 INFO    ] 200
[2026-08-29 10:16:02,004.004 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:16:02,066.066 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:16:02,069.069 INFO    ] No update needed
[2026-08-29 10:16:02,072.072 INFO    ] Checking for camera pi updates...
[2026-08-29 10:16:02,116.116 INFO    ] 200
[2026-08-29 10:16:02,120.120 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:16:02,175.175 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:16:02,316.316 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:16:02,319.319 INFO    ] No camera update needed
[2026-08-29 10:16:02,322.322 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:16:02,325.325 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:16:02,331.331 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:16:02,337.337 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:16:04,378.378 INFO    ] ================================================
[2026-08-29 10:16:04,394.394 INFO    ] Launching Daemon at Sat Aug 29 10:16:04 IST 2026
[2026-08-29 10:16:04,405.405 INFO    ] ================================================
[2026-08-29 10:16:04,813.813 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:16:04
[2026-08-29 10:16:05,149.149 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:16:05,304.304 INFO    ] Initializing speech engine...
[2026-08-29 10:16:05,308.308 INFO    ] 2026-08-29 10:16:05
[2026-08-29 10:16:05,515.515 INFO    ] 2026-08-29 10:16:05
[2026-08-29 10:16:05,543.543 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:16:05,670.670 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:16:05,729.729 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:16:05,882.882 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:16:05,936.936 INFO    ] time= 29/08/2026 10:16:05
[2026-08-29 10:16:05,958.958 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:16:05,965.965 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:16:06,032.032 INFO    ] No existing commands found in stream
[2026-08-29 10:16:11,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:16:11,045.045 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-08-29 10:16:13,324.324 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:16:13,325.325 INFO    ] Checking for system updates...
[2026-08-29 10:16:13,346.346 INFO    ] 200
[2026-08-29 10:16:13,347.347 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:16:13,378.378 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:16:13,379.379 INFO    ] No update needed
[2026-08-29 10:16:13,380.380 INFO    ] Checking for camera pi updates...
[2026-08-29 10:16:13,400.400 INFO    ] 200
[2026-08-29 10:16:13,402.402 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:16:13,425.425 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:16:13,514.514 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:16:13,515.515 INFO    ] No camera update needed
[2026-08-29 10:16:13,516.516 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:16:13,518.518 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:16:13,521.521 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:16:13,524.524 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:16:15,564.564 INFO    ] ================================================
[2026-08-29 10:16:15,580.580 INFO    ] Launching Daemon at Sat Aug 29 10:16:15 IST 2026
[2026-08-29 10:16:15,591.591 INFO    ] ================================================
[2026-08-29 10:16:15,956.956 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:16:15
[2026-08-29 10:16:16,292.292 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:16:16,431.431 INFO    ] Initializing speech engine...
[2026-08-29 10:16:16,435.435 INFO    ] 2026-08-29 10:16:16
[2026-08-29 10:16:16,658.658 INFO    ] 2026-08-29 10:16:16
[2026-08-29 10:16:16,687.687 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:16:16,812.812 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:16:16,845.845 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:16:17,030.030 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:16:17,079.079 INFO    ] time= 29/08/2026 10:16:17
[2026-08-29 10:16:17,141.141 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:16:17,181.181 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:16:17,296.296 INFO    ] No existing commands found in stream
[2026-08-29 10:16:22,320.320 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:16:22,323.323 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-08-29 10:16:25,961.961 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:16:25,962.962 INFO    ] Checking for system updates...
[2026-08-29 10:16:25,983.983 INFO    ] 200
[2026-08-29 10:16:25,984.984 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:16:26,014.014 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:16:26,015.015 INFO    ] No update needed
[2026-08-29 10:16:26,016.016 INFO    ] Checking for camera pi updates...
[2026-08-29 10:16:26,036.036 INFO    ] 200
[2026-08-29 10:16:26,037.037 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:16:26,060.060 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:16:26,151.151 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:16:26,152.152 INFO    ] No camera update needed
[2026-08-29 10:16:26,154.154 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:16:26,155.155 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:16:26,158.158 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:16:26,161.161 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:16:28,192.192 INFO    ] ================================================
[2026-08-29 10:16:28,201.201 INFO    ] Launching Daemon at Sat Aug 29 10:16:28 IST 2026
[2026-08-29 10:16:28,207.207 INFO    ] ================================================
[2026-08-29 10:16:28,785.785 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:16:28
[2026-08-29 10:16:29,371.371 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:16:29,645.645 INFO    ] Initializing speech engine...
[2026-08-29 10:16:29,652.652 INFO    ] 2026-08-29 10:16:29
[2026-08-29 10:16:29,897.897 INFO    ] 2026-08-29 10:16:29
[2026-08-29 10:16:29,933.933 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:16:30,107.107 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:16:30,119.119 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:16:30,262.262 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:16:30,267.267 INFO    ] time= 29/08/2026 10:16:30
[2026-08-29 10:16:30,273.273 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:16:30,318.318 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:16:30,437.437 INFO    ] No existing commands found in stream
[2026-08-29 10:16:35,462.462 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:16:35,465.465 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-08-29 10:16:36,381.381 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:16:36,383.383 INFO    ] Checking for system updates...
[2026-08-29 10:16:36,404.404 INFO    ] 200
[2026-08-29 10:16:36,406.406 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:16:36,436.436 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:16:36,437.437 INFO    ] No update needed
[2026-08-29 10:16:36,439.439 INFO    ] Checking for camera pi updates...
[2026-08-29 10:16:36,471.471 INFO    ] 200
[2026-08-29 10:16:36,474.474 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:16:36,515.515 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:16:36,613.613 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:16:36,616.616 INFO    ] No camera update needed
[2026-08-29 10:16:36,618.618 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:16:36,620.620 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:16:36,626.626 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:16:36,631.631 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:16:38,672.672 INFO    ] ================================================
[2026-08-29 10:16:38,687.687 INFO    ] Launching Daemon at Sat Aug 29 10:16:38 IST 2026
[2026-08-29 10:16:38,698.698 INFO    ] ================================================
[2026-08-29 10:16:39,265.265 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:16:39
[2026-08-29 10:16:39,720.720 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:16:39,864.864 INFO    ] Initializing speech engine...
[2026-08-29 10:16:39,869.869 INFO    ] 2026-08-29 10:16:39
[2026-08-29 10:16:40,074.074 INFO    ] 2026-08-29 10:16:40
[2026-08-29 10:16:40,102.102 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:16:40,227.227 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:16:40,266.266 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:16:40,424.424 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:16:40,481.481 INFO    ] time= 29/08/2026 10:16:40
[2026-08-29 10:16:40,521.521 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:16:40,526.526 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:16:40,601.601 INFO    ] No existing commands found in stream
[2026-08-29 10:16:45,612.612 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:16:45,615.615 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-08-29 10:16:48,016.016 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:16:48,017.017 INFO    ] Checking for system updates...
[2026-08-29 10:16:48,038.038 INFO    ] 200
[2026-08-29 10:16:48,039.039 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:16:48,070.070 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:16:48,071.071 INFO    ] No update needed
[2026-08-29 10:16:48,073.073 INFO    ] Checking for camera pi updates...
[2026-08-29 10:16:48,091.091 INFO    ] 200
[2026-08-29 10:16:48,093.093 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:16:48,116.116 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:16:48,194.194 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:16:48,202.202 INFO    ] No camera update needed
[2026-08-29 10:16:48,203.203 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:16:48,205.205 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:16:48,207.207 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:16:48,210.210 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:16:50,248.248 INFO    ] ================================================
[2026-08-29 10:16:50,264.264 INFO    ] Launching Daemon at Sat Aug 29 10:16:50 IST 2026
[2026-08-29 10:16:50,275.275 INFO    ] ================================================
[2026-08-29 10:16:50,621.621 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:16:50
[2026-08-29 10:16:50,956.956 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:16:51,095.095 INFO    ] Initializing speech engine...
[2026-08-29 10:16:51,108.108 INFO    ] 2026-08-29 10:16:51
[2026-08-29 10:16:51,320.320 INFO    ] 2026-08-29 10:16:51
[2026-08-29 10:16:51,351.351 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:16:51,474.474 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:16:51,534.534 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:16:51,670.670 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:16:51,732.732 INFO    ] time= 29/08/2026 10:16:51
[2026-08-29 10:16:51,762.762 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:16:51,772.772 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:16:51,845.845 INFO    ] No existing commands found in stream
[2026-08-29 10:16:56,855.855 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:16:56,858.858 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-08-29 10:16:58,443.443 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:16:58,444.444 INFO    ] Checking for system updates...
[2026-08-29 10:16:58,465.465 INFO    ] 200
[2026-08-29 10:16:58,467.467 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:16:58,497.497 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:16:58,499.499 INFO    ] No update needed
[2026-08-29 10:16:58,500.500 INFO    ] Checking for camera pi updates...
[2026-08-29 10:16:58,520.520 INFO    ] 200
[2026-08-29 10:16:58,521.521 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:16:58,545.545 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:16:58,635.635 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:16:58,636.636 INFO    ] No camera update needed
[2026-08-29 10:16:58,638.638 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:16:58,639.639 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:16:58,643.643 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:16:58,646.646 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:17:00,686.686 INFO    ] ================================================
[2026-08-29 10:17:00,702.702 INFO    ] Launching Daemon at Sat Aug 29 10:17:00 IST 2026
[2026-08-29 10:17:00,714.714 INFO    ] ================================================
[2026-08-29 10:17:01,309.309 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:17:01
[2026-08-29 10:17:02,022.022 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:17:02,320.320 INFO    ] Initializing speech engine...
[2026-08-29 10:17:02,341.341 INFO    ] 2026-08-29 10:17:02
[2026-08-29 10:17:02,625.625 INFO    ] 2026-08-29 10:17:02
[2026-08-29 10:17:02,686.686 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:17:02,858.858 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:17:02,875.875 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:17:03,038.038 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:17:03,045.045 INFO    ] time= 29/08/2026 10:17:03
[2026-08-29 10:17:03,054.054 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:17:03,105.105 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:17:03,242.242 INFO    ] No existing commands found in stream
[2026-08-29 10:17:08,269.269 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:17:08,272.272 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 10:17:11,792.792 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:17:11,793.793 INFO    ] Checking for system updates...
[2026-08-29 10:17:11,814.814 INFO    ] 200
[2026-08-29 10:17:11,816.816 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:17:11,846.846 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:17:11,848.848 INFO    ] No update needed
[2026-08-29 10:17:11,849.849 INFO    ] Checking for camera pi updates...
[2026-08-29 10:17:11,869.869 INFO    ] 200
[2026-08-29 10:17:11,870.870 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:17:11,894.894 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:17:11,978.978 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:17:11,981.981 INFO    ] No camera update needed
[2026-08-29 10:17:11,984.984 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:17:11,987.987 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:17:11,993.993 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:17:11,998.998 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:17:14,041.041 INFO    ] ================================================
[2026-08-29 10:17:14,057.057 INFO    ] Launching Daemon at Sat Aug 29 10:17:14 IST 2026
[2026-08-29 10:17:14,068.068 INFO    ] ================================================
[2026-08-29 10:17:14,638.638 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:17:14
[2026-08-29 10:17:15,105.105 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:17:15,234.234 INFO    ] Initializing speech engine...
[2026-08-29 10:17:15,239.239 INFO    ] 2026-08-29 10:17:15
[2026-08-29 10:17:15,457.457 INFO    ] 2026-08-29 10:17:15
[2026-08-29 10:17:15,486.486 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:17:15,610.610 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:17:15,674.674 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:17:15,813.813 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:17:15,877.877 INFO    ] time= 29/08/2026 10:17:15
[2026-08-29 10:17:15,906.906 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:17:15,913.913 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:17:15,979.979 INFO    ] No existing commands found in stream
[2026-08-29 10:17:20,989.989 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:17:20,992.992 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-08-29 10:17:24,675.675 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:17:24,676.676 INFO    ] Checking for system updates...
[2026-08-29 10:17:24,696.696 INFO    ] 200
[2026-08-29 10:17:24,697.697 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:17:24,727.727 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:17:24,729.729 INFO    ] No update needed
[2026-08-29 10:17:24,730.730 INFO    ] Checking for camera pi updates...
[2026-08-29 10:17:24,749.749 INFO    ] 200
[2026-08-29 10:17:24,751.751 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:17:24,774.774 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:17:24,858.858 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:17:24,859.859 INFO    ] No camera update needed
[2026-08-29 10:17:24,860.860 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:17:24,862.862 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:17:24,865.865 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:17:24,867.867 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:17:26,908.908 INFO    ] ================================================
[2026-08-29 10:17:26,924.924 INFO    ] Launching Daemon at Sat Aug 29 10:17:26 IST 2026
[2026-08-29 10:17:26,935.935 INFO    ] ================================================
[2026-08-29 10:17:27,318.318 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:17:27
[2026-08-29 10:17:27,654.654 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:17:27,805.805 INFO    ] Initializing speech engine...
[2026-08-29 10:17:27,811.811 INFO    ] 2026-08-29 10:17:27
[2026-08-29 10:17:28,019.019 INFO    ] 2026-08-29 10:17:27
[2026-08-29 10:17:28,048.048 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:17:28,230.230 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:17:28,234.234 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:17:28,371.371 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:17:28,437.437 INFO    ] time= 29/08/2026 10:17:28
[2026-08-29 10:17:28,498.498 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:17:28,532.532 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:17:28,678.678 INFO    ] No existing commands found in stream
[2026-08-29 10:17:33,701.701 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:17:33,705.705 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-08-29 10:17:42,284.284 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:17:42,287.287 INFO    ] Checking for system updates...
[2026-08-29 10:17:42,325.325 INFO    ] 200
[2026-08-29 10:17:42,327.327 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:17:42,400.400 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:17:42,403.403 INFO    ] No update needed
[2026-08-29 10:17:42,406.406 INFO    ] Checking for camera pi updates...
[2026-08-29 10:17:42,433.433 INFO    ] 200
[2026-08-29 10:17:42,435.435 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:17:42,467.467 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:17:42,557.557 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:17:42,560.560 INFO    ] No camera update needed
[2026-08-29 10:17:42,562.562 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:17:42,565.565 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:17:42,570.570 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:17:42,575.575 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:17:44,617.617 INFO    ] ================================================
[2026-08-29 10:17:44,632.632 INFO    ] Launching Daemon at Sat Aug 29 10:17:44 IST 2026
[2026-08-29 10:17:44,643.643 INFO    ] ================================================
[2026-08-29 10:17:45,302.302 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:17:45
[2026-08-29 10:17:45,972.972 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:17:46,277.277 INFO    ] Initializing speech engine...
[2026-08-29 10:17:46,290.290 INFO    ] 2026-08-29 10:17:46
[2026-08-29 10:17:46,575.575 INFO    ] 2026-08-29 10:17:46
[2026-08-29 10:17:46,615.615 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:17:46,836.836 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:17:46,845.845 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:17:46,980.980 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:17:47,036.036 INFO    ] time= 29/08/2026 10:17:46
[2026-08-29 10:17:47,086.086 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:17:47,115.115 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:17:47,173.173 INFO    ] No existing commands found in stream
[2026-08-29 10:17:52,203.203 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:17:52,207.207 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-08-29 10:17:53,554.554 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:17:53,555.555 INFO    ] Checking for system updates...
[2026-08-29 10:17:53,576.576 INFO    ] 200
[2026-08-29 10:17:53,578.578 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:17:53,608.608 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:17:53,610.610 INFO    ] No update needed
[2026-08-29 10:17:53,611.611 INFO    ] Checking for camera pi updates...
[2026-08-29 10:17:53,631.631 INFO    ] 200
[2026-08-29 10:17:53,632.632 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:17:53,657.657 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:17:53,832.832 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:17:53,834.834 INFO    ] No camera update needed
[2026-08-29 10:17:53,835.835 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:17:53,836.836 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:17:53,839.839 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:17:53,842.842 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:17:55,883.883 INFO    ] ================================================
[2026-08-29 10:17:55,899.899 INFO    ] Launching Daemon at Sat Aug 29 10:17:55 IST 2026
[2026-08-29 10:17:55,910.910 INFO    ] ================================================
[2026-08-29 10:17:56,238.238 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:17:56
[2026-08-29 10:17:56,551.551 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:17:56,682.682 INFO    ] Initializing speech engine...
[2026-08-29 10:17:56,686.686 INFO    ] 2026-08-29 10:17:56
[2026-08-29 10:17:56,888.888 INFO    ] 2026-08-29 10:17:56
[2026-08-29 10:17:56,925.925 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:17:57,151.151 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:17:57,160.160 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:17:57,295.295 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:17:57,337.337 INFO    ] time= 29/08/2026 10:17:57
[2026-08-29 10:17:57,381.381 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:17:57,432.432 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:17:57,488.488 INFO    ] No existing commands found in stream
[2026-08-29 10:18:02,501.501 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:18:02,504.504 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-08-29 10:18:05,461.461 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:18:05,462.462 INFO    ] Checking for system updates...
[2026-08-29 10:18:05,484.484 INFO    ] 200
[2026-08-29 10:18:05,485.485 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:18:05,515.515 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:18:05,516.516 INFO    ] No update needed
[2026-08-29 10:18:05,518.518 INFO    ] Checking for camera pi updates...
[2026-08-29 10:18:05,537.537 INFO    ] 200
[2026-08-29 10:18:05,538.538 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:18:05,561.561 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:18:05,636.636 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:18:05,637.637 INFO    ] No camera update needed
[2026-08-29 10:18:05,638.638 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:18:05,640.640 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:18:05,643.643 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:18:05,645.645 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:18:07,685.685 INFO    ] ================================================
[2026-08-29 10:18:07,701.701 INFO    ] Launching Daemon at Sat Aug 29 10:18:07 IST 2026
[2026-08-29 10:18:07,713.713 INFO    ] ================================================
[2026-08-29 10:18:08,061.061 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:18:08
[2026-08-29 10:18:08,444.444 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:18:08,721.721 INFO    ] Initializing speech engine...
[2026-08-29 10:18:08,731.731 INFO    ] 2026-08-29 10:18:08
[2026-08-29 10:18:08,976.976 INFO    ] 2026-08-29 10:18:08
[2026-08-29 10:18:09,012.012 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:18:09,207.207 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:18:09,215.215 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:18:09,340.340 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:18:09,348.348 INFO    ] time= 29/08/2026 10:18:09
[2026-08-29 10:18:09,355.355 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:18:09,410.410 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:18:09,515.515 INFO    ] No existing commands found in stream
[2026-08-29 10:18:14,545.545 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:18:14,547.547 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 10:18:15,122.122 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:18:15,123.123 INFO    ] Checking for system updates...
[2026-08-29 10:18:15,145.145 INFO    ] 200
[2026-08-29 10:18:15,146.146 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:18:15,176.176 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:18:15,177.177 INFO    ] No update needed
[2026-08-29 10:18:15,179.179 INFO    ] Checking for camera pi updates...
[2026-08-29 10:18:15,198.198 INFO    ] 200
[2026-08-29 10:18:15,200.200 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:18:15,224.224 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:18:15,302.302 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:18:15,305.305 INFO    ] No camera update needed
[2026-08-29 10:18:15,307.307 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:18:15,309.309 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:18:15,314.314 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:18:15,319.319 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:18:17,361.361 INFO    ] ================================================
[2026-08-29 10:18:17,377.377 INFO    ] Launching Daemon at Sat Aug 29 10:18:17 IST 2026
[2026-08-29 10:18:17,389.389 INFO    ] ================================================
[2026-08-29 10:18:17,960.960 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:18:17
[2026-08-29 10:18:18,478.478 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:18:18,629.629 INFO    ] Initializing speech engine...
[2026-08-29 10:18:18,651.651 INFO    ] 2026-08-29 10:18:18
[2026-08-29 10:18:18,908.908 INFO    ] 2026-08-29 10:18:18
[2026-08-29 10:18:18,943.943 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:18:19,119.119 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:18:19,132.132 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:18:19,279.279 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:18:19,285.285 INFO    ] time= 29/08/2026 10:18:19
[2026-08-29 10:18:19,291.291 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:18:19,316.316 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:18:19,429.429 INFO    ] No existing commands found in stream
[2026-08-29 10:18:24,454.454 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:18:24,457.457 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-08-29 10:18:24,913.913 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:18:24,914.914 INFO    ] Checking for system updates...
[2026-08-29 10:18:24,934.934 INFO    ] 200
[2026-08-29 10:18:24,936.936 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:18:24,966.966 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:18:24,968.968 INFO    ] No update needed
[2026-08-29 10:18:24,969.969 INFO    ] Checking for camera pi updates...
[2026-08-29 10:18:24,989.989 INFO    ] 200
[2026-08-29 10:18:24,991.991 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:18:25,014.014 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:18:25,102.102 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:18:25,103.103 INFO    ] No camera update needed
[2026-08-29 10:18:25,104.104 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:18:25,105.105 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:18:25,108.108 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:18:25,111.111 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:18:27,152.152 INFO    ] ================================================
[2026-08-29 10:18:27,168.168 INFO    ] Launching Daemon at Sat Aug 29 10:18:27 IST 2026
[2026-08-29 10:18:27,180.180 INFO    ] ================================================
[2026-08-29 10:18:27,539.539 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:18:27
[2026-08-29 10:18:28,009.009 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:18:28,280.280 INFO    ] Initializing speech engine...
[2026-08-29 10:18:28,290.290 INFO    ] 2026-08-29 10:18:28
[2026-08-29 10:18:28,542.542 INFO    ] 2026-08-29 10:18:28
[2026-08-29 10:18:28,577.577 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:18:28,756.756 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:18:28,769.769 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:18:28,910.910 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:18:28,918.918 INFO    ] time= 29/08/2026 10:18:28
[2026-08-29 10:18:28,924.924 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:18:28,975.975 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:18:29,094.094 INFO    ] No existing commands found in stream
[2026-08-29 10:18:34,124.124 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:18:34,127.127 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-08-29 10:18:34,967.967 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:18:34,969.969 INFO    ] Checking for system updates...
[2026-08-29 10:18:34,989.989 INFO    ] 200
[2026-08-29 10:18:34,990.990 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:18:35,023.023 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:18:35,024.024 INFO    ] No update needed
[2026-08-29 10:18:35,025.025 INFO    ] Checking for camera pi updates...
[2026-08-29 10:18:35,044.044 INFO    ] 200
[2026-08-29 10:18:35,046.046 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:18:35,069.069 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:18:35,166.166 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:18:35,168.168 INFO    ] No camera update needed
[2026-08-29 10:18:35,170.170 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:18:35,173.173 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:18:35,178.178 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:18:35,183.183 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:18:37,223.223 INFO    ] ================================================
[2026-08-29 10:18:37,238.238 INFO    ] Launching Daemon at Sat Aug 29 10:18:37 IST 2026
[2026-08-29 10:18:37,253.253 INFO    ] ================================================
[2026-08-29 10:18:37,820.820 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:18:37
[2026-08-29 10:18:38,294.294 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:18:38,436.436 INFO    ] Initializing speech engine...
[2026-08-29 10:18:38,441.441 INFO    ] 2026-08-29 10:18:38
[2026-08-29 10:18:38,668.668 INFO    ] 2026-08-29 10:18:38
[2026-08-29 10:18:38,703.703 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:18:38,874.874 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:18:38,886.886 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:18:39,030.030 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:18:39,035.035 INFO    ] time= 29/08/2026 10:18:39
[2026-08-29 10:18:39,041.041 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:18:39,062.062 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:18:39,198.198 INFO    ] No existing commands found in stream
[2026-08-29 10:18:44,228.228 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:18:44,230.230 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-08-29 10:18:47,446.446 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:18:47,448.448 INFO    ] Checking for system updates...
[2026-08-29 10:18:47,468.468 INFO    ] 200
[2026-08-29 10:18:47,469.469 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:18:47,502.502 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:18:47,504.504 INFO    ] No update needed
[2026-08-29 10:18:47,505.505 INFO    ] Checking for camera pi updates...
[2026-08-29 10:18:47,524.524 INFO    ] 200
[2026-08-29 10:18:47,526.526 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:18:47,550.550 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:18:47,629.629 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:18:47,630.630 INFO    ] No camera update needed
[2026-08-29 10:18:47,632.632 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:18:47,633.633 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:18:47,636.636 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:18:47,638.638 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:18:49,679.679 INFO    ] ================================================
[2026-08-29 10:18:49,695.695 INFO    ] Launching Daemon at Sat Aug 29 10:18:49 IST 2026
[2026-08-29 10:18:49,706.706 INFO    ] ================================================
[2026-08-29 10:18:50,050.050 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:18:50
[2026-08-29 10:18:50,364.364 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:18:50,494.494 INFO    ] Initializing speech engine...
[2026-08-29 10:18:50,498.498 INFO    ] 2026-08-29 10:18:50
[2026-08-29 10:18:50,755.755 INFO    ] 2026-08-29 10:18:50
[2026-08-29 10:18:50,810.810 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:18:50,972.972 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:18:50,979.979 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:18:51,142.142 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:18:51,177.177 INFO    ] time= 29/08/2026 10:18:51
[2026-08-29 10:18:51,184.184 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:18:51,198.198 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:18:51,296.296 INFO    ] No existing commands found in stream
[2026-08-29 10:18:56,318.318 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:18:56,320.320 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-08-29 10:19:00,153.153 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:19:00,156.156 INFO    ] Checking for system updates...
[2026-08-29 10:19:00,214.214 INFO    ] 200
[2026-08-29 10:19:00,216.216 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 10:19:00,219.219 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-08-29 10:19:00,222.222 INFO    ] Checking for camera pi updates...
[2026-08-29 10:19:00,266.266 INFO    ] 200
[2026-08-29 10:19:00,269.269 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 10:19:00,271.271 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-08-29 10:19:00,274.274 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:19:00,277.277 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:19:00,283.283 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:19:00,288.288 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:19:02,354.354 INFO    ] ================================================
[2026-08-29 10:19:02,385.385 INFO    ] Launching Daemon at Sat Aug 29 10:19:02 IST 2026
[2026-08-29 10:19:02,400.400 INFO    ] ================================================
[2026-08-29 10:19:03,058.058 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:19:03
[2026-08-29 10:19:03,642.642 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:19:03,911.911 INFO    ] Initializing speech engine...
[2026-08-29 10:19:03,920.920 INFO    ] 2026-08-29 10:19:03
[2026-08-29 10:19:04,174.174 INFO    ] 2026-08-29 10:19:04
[2026-08-29 10:19:04,233.233 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:19:04,375.375 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:19:04,388.388 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:19:04,530.530 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:19:04,536.536 INFO    ] time= 29/08/2026 10:19:04
[2026-08-29 10:19:04,542.542 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:19:04,567.567 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:19:04,692.692 INFO    ] No existing commands found in stream
[2026-08-29 10:19:09,717.717 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:19:09,720.720 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-08-29 10:19:11,628.628 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:19:11,629.629 INFO    ] Checking for system updates...
[2026-08-29 10:19:11,650.650 INFO    ] 200
[2026-08-29 10:19:11,651.651 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:19:11,680.680 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:19:11,682.682 INFO    ] No update needed
[2026-08-29 10:19:11,683.683 INFO    ] Checking for camera pi updates...
[2026-08-29 10:19:11,703.703 INFO    ] 200
[2026-08-29 10:19:11,705.705 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:19:11,731.731 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:19:11,834.834 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:19:11,836.836 INFO    ] No camera update needed
[2026-08-29 10:19:11,838.838 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:19:11,841.841 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:19:11,846.846 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:19:11,851.851 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:19:13,893.893 INFO    ] ================================================
[2026-08-29 10:19:13,909.909 INFO    ] Launching Daemon at Sat Aug 29 10:19:13 IST 2026
[2026-08-29 10:19:13,921.921 INFO    ] ================================================
[2026-08-29 10:19:14,506.506 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:19:14
[2026-08-29 10:19:15,002.002 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:19:15,141.141 INFO    ] Initializing speech engine...
[2026-08-29 10:19:15,151.151 INFO    ] 2026-08-29 10:19:15
[2026-08-29 10:19:15,355.355 INFO    ] 2026-08-29 10:19:15
[2026-08-29 10:19:15,384.384 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:19:15,543.543 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:19:15,550.550 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:19:15,710.710 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:19:15,750.750 INFO    ] time= 29/08/2026 10:19:15
[2026-08-29 10:19:15,756.756 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:19:15,776.776 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:19:15,885.885 INFO    ] No existing commands found in stream
[2026-08-29 10:19:20,912.912 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:19:20,915.915 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-08-29 10:19:22,194.194 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:19:22,195.195 INFO    ] Checking for system updates...
[2026-08-29 10:19:22,216.216 INFO    ] 200
[2026-08-29 10:19:22,218.218 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:19:22,248.248 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:19:22,249.249 INFO    ] No update needed
[2026-08-29 10:19:22,251.251 INFO    ] Checking for camera pi updates...
[2026-08-29 10:19:22,271.271 INFO    ] 200
[2026-08-29 10:19:22,273.273 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:19:22,298.298 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:19:22,377.377 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:19:22,378.378 INFO    ] No camera update needed
[2026-08-29 10:19:22,379.379 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:19:22,381.381 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:19:22,384.384 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:19:22,387.387 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:19:24,428.428 INFO    ] ================================================
[2026-08-29 10:19:24,444.444 INFO    ] Launching Daemon at Sat Aug 29 10:19:24 IST 2026
[2026-08-29 10:19:24,455.455 INFO    ] ================================================
[2026-08-29 10:19:24,819.819 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:19:24
[2026-08-29 10:19:25,158.158 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:19:25,310.310 INFO    ] Initializing speech engine...
[2026-08-29 10:19:25,316.316 INFO    ] 2026-08-29 10:19:25
[2026-08-29 10:19:25,523.523 INFO    ] 2026-08-29 10:19:25
[2026-08-29 10:19:25,552.552 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:19:25,673.673 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:19:25,713.713 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:19:25,876.876 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:19:25,943.943 INFO    ] time= 29/08/2026 10:19:25
[2026-08-29 10:19:25,967.967 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:19:25,974.974 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:19:26,041.041 INFO    ] No existing commands found in stream
[2026-08-29 10:19:31,051.051 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:19:31,054.054 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-08-29 10:19:32,066.066 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:19:32,069.069 INFO    ] Checking for system updates...
[2026-08-29 10:19:32,113.113 INFO    ] 200
[2026-08-29 10:19:32,115.115 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:19:32,172.172 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:19:32,175.175 INFO    ] No update needed
[2026-08-29 10:19:32,178.178 INFO    ] Checking for camera pi updates...
[2026-08-29 10:19:32,211.211 INFO    ] 200
[2026-08-29 10:19:32,215.215 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:19:32,266.266 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:19:32,402.402 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:19:32,405.405 INFO    ] No camera update needed
[2026-08-29 10:19:32,407.407 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:19:32,409.409 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:19:32,415.415 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:19:32,420.420 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:19:34,461.461 INFO    ] ================================================
[2026-08-29 10:19:34,477.477 INFO    ] Launching Daemon at Sat Aug 29 10:19:34 IST 2026
[2026-08-29 10:19:34,488.488 INFO    ] ================================================
[2026-08-29 10:19:34,945.945 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:19:34
[2026-08-29 10:19:35,283.283 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:19:35,433.433 INFO    ] Initializing speech engine...
[2026-08-29 10:19:35,438.438 INFO    ] 2026-08-29 10:19:35
[2026-08-29 10:19:35,699.699 INFO    ] 2026-08-29 10:19:35
[2026-08-29 10:19:35,757.757 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:19:35,981.981 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:19:35,991.991 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:19:36,127.127 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:19:36,178.178 INFO    ] time= 29/08/2026 10:19:36
[2026-08-29 10:19:36,243.243 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:19:36,261.261 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:19:36,327.327 INFO    ] No existing commands found in stream
[2026-08-29 10:19:41,363.363 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:19:41,366.366 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-08-29 10:19:42,400.400 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:19:42,402.402 INFO    ] Checking for system updates...
[2026-08-29 10:19:42,423.423 INFO    ] 200
[2026-08-29 10:19:42,424.424 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:19:42,454.454 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:19:42,456.456 INFO    ] No update needed
[2026-08-29 10:19:42,457.457 INFO    ] Checking for camera pi updates...
[2026-08-29 10:19:42,477.477 INFO    ] 200
[2026-08-29 10:19:42,478.478 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:19:42,503.503 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:19:42,598.598 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:19:42,599.599 INFO    ] No camera update needed
[2026-08-29 10:19:42,601.601 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:19:42,602.602 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:19:42,605.605 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:19:42,608.608 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:19:44,648.648 INFO    ] ================================================
[2026-08-29 10:19:44,664.664 INFO    ] Launching Daemon at Sat Aug 29 10:19:44 IST 2026
[2026-08-29 10:19:44,676.676 INFO    ] ================================================
[2026-08-29 10:19:45,048.048 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:19:45
[2026-08-29 10:19:45,384.384 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:19:45,633.633 INFO    ] Initializing speech engine...
[2026-08-29 10:19:45,642.642 INFO    ] 2026-08-29 10:19:45
[2026-08-29 10:19:45,919.919 INFO    ] 2026-08-29 10:19:45
[2026-08-29 10:19:45,975.975 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:19:46,197.197 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:19:46,207.207 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:19:46,341.341 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:19:46,389.389 INFO    ] time= 29/08/2026 10:19:46
[2026-08-29 10:19:46,438.438 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:19:46,476.476 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:19:46,530.530 INFO    ] No existing commands found in stream
[2026-08-29 10:19:51,543.543 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:19:51,546.546 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-08-29 10:19:52,521.521 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:19:52,523.523 INFO    ] Checking for system updates...
[2026-08-29 10:19:52,543.543 INFO    ] 200
[2026-08-29 10:19:52,545.545 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:19:52,575.575 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:19:52,577.577 INFO    ] No update needed
[2026-08-29 10:19:52,578.578 INFO    ] Checking for camera pi updates...
[2026-08-29 10:19:52,598.598 INFO    ] 200
[2026-08-29 10:19:52,599.599 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:19:52,626.626 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:19:52,710.710 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:19:52,711.711 INFO    ] No camera update needed
[2026-08-29 10:19:52,713.713 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:19:52,714.714 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:19:52,717.717 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:19:52,720.720 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:19:54,760.760 INFO    ] ================================================
[2026-08-29 10:19:54,776.776 INFO    ] Launching Daemon at Sat Aug 29 10:19:54 IST 2026
[2026-08-29 10:19:54,787.787 INFO    ] ================================================
[2026-08-29 10:19:55,228.228 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:19:55
[2026-08-29 10:19:55,908.908 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:19:56,225.225 INFO    ] Initializing speech engine...
[2026-08-29 10:19:56,233.233 INFO    ] 2026-08-29 10:19:56
[2026-08-29 10:19:56,523.523 INFO    ] 2026-08-29 10:19:56
[2026-08-29 10:19:56,635.635 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:19:56,794.794 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:19:56,801.801 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:19:56,937.937 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:19:56,992.992 INFO    ] time= 29/08/2026 10:19:56
[2026-08-29 10:19:57,052.052 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:19:57,074.074 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:19:57,144.144 INFO    ] No existing commands found in stream
[2026-08-29 10:20:02,182.182 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:20:02,188.188 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-08-29 10:20:07,510.510 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:20:07,513.513 INFO    ] Checking for system updates...
[2026-08-29 10:20:07,552.552 INFO    ] 200
[2026-08-29 10:20:07,555.555 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:20:07,609.609 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:20:07,612.612 INFO    ] No update needed
[2026-08-29 10:20:07,615.615 INFO    ] Checking for camera pi updates...
[2026-08-29 10:20:07,650.650 INFO    ] 200
[2026-08-29 10:20:07,653.653 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:20:07,700.700 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:20:07,815.815 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:20:07,818.818 INFO    ] No camera update needed
[2026-08-29 10:20:07,821.821 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:20:07,824.824 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:20:07,830.830 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:20:07,836.836 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:20:09,880.880 INFO    ] ================================================
[2026-08-29 10:20:09,895.895 INFO    ] Launching Daemon at Sat Aug 29 10:20:09 IST 2026
[2026-08-29 10:20:09,906.906 INFO    ] ================================================
[2026-08-29 10:20:10,429.429 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:20:10
[2026-08-29 10:20:11,015.015 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:20:11,268.268 INFO    ] Initializing speech engine...
[2026-08-29 10:20:11,280.280 INFO    ] 2026-08-29 10:20:11
[2026-08-29 10:20:11,547.547 INFO    ] 2026-08-29 10:20:11
[2026-08-29 10:20:11,582.582 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:20:11,758.758 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:20:11,771.771 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:20:11,917.917 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:20:11,925.925 INFO    ] time= 29/08/2026 10:20:11
[2026-08-29 10:20:11,932.932 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:20:11,953.953 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:20:12,080.080 INFO    ] No existing commands found in stream
[2026-08-29 10:20:17,105.105 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:20:17,108.108 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-08-29 10:20:20,080.080 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:20:20,081.081 INFO    ] Checking for system updates...
[2026-08-29 10:20:20,102.102 INFO    ] 200
[2026-08-29 10:20:20,103.103 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:20:20,133.133 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:20:20,134.134 INFO    ] No update needed
[2026-08-29 10:20:20,136.136 INFO    ] Checking for camera pi updates...
[2026-08-29 10:20:20,155.155 INFO    ] 200
[2026-08-29 10:20:20,156.156 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:20:20,184.184 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:20:20,290.290 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:20:20,292.292 INFO    ] No camera update needed
[2026-08-29 10:20:20,293.293 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:20:20,294.294 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:20:20,297.297 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:20:20,300.300 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:20:22,339.339 INFO    ] ================================================
[2026-08-29 10:20:22,355.355 INFO    ] Launching Daemon at Sat Aug 29 10:20:22 IST 2026
[2026-08-29 10:20:22,365.365 INFO    ] ================================================
[2026-08-29 10:20:22,723.723 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:20:22
[2026-08-29 10:20:23,064.064 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:20:23,217.217 INFO    ] Initializing speech engine...
[2026-08-29 10:20:23,223.223 INFO    ] 2026-08-29 10:20:23
[2026-08-29 10:20:23,431.431 INFO    ] 2026-08-29 10:20:23
[2026-08-29 10:20:23,461.461 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:20:23,583.583 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:20:23,621.621 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:20:23,776.776 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:20:23,822.822 INFO    ] time= 29/08/2026 10:20:23
[2026-08-29 10:20:23,856.856 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:20:23,877.877 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:20:23,947.947 INFO    ] No existing commands found in stream
[2026-08-29 10:20:28,958.958 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:20:28,960.960 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-08-29 10:20:29,526.526 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:20:29,527.527 INFO    ] Checking for system updates...
[2026-08-29 10:20:29,548.548 INFO    ] 200
[2026-08-29 10:20:29,549.549 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:20:29,581.581 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:20:29,583.583 INFO    ] No update needed
[2026-08-29 10:20:29,584.584 INFO    ] Checking for camera pi updates...
[2026-08-29 10:20:29,604.604 INFO    ] 200
[2026-08-29 10:20:29,605.605 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:20:29,628.628 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:20:29,703.703 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:20:29,705.705 INFO    ] No camera update needed
[2026-08-29 10:20:29,706.706 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:20:29,707.707 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:20:29,710.710 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:20:29,713.713 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:20:31,745.745 INFO    ] ================================================
[2026-08-29 10:20:31,755.755 INFO    ] Launching Daemon at Sat Aug 29 10:20:31 IST 2026
[2026-08-29 10:20:31,762.762 INFO    ] ================================================
[2026-08-29 10:20:32,384.384 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:20:32
[2026-08-29 10:20:32,991.991 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:20:33,272.272 INFO    ] Initializing speech engine...
[2026-08-29 10:20:33,279.279 INFO    ] 2026-08-29 10:20:33
[2026-08-29 10:20:33,529.529 INFO    ] 2026-08-29 10:20:33
[2026-08-29 10:20:33,564.564 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:20:33,741.741 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:20:33,753.753 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:20:33,865.865 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:20:33,870.870 INFO    ] time= 29/08/2026 10:20:33
[2026-08-29 10:20:33,889.889 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:20:33,908.908 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:20:33,984.984 INFO    ] No existing commands found in stream
[2026-08-29 10:20:38,996.996 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:20:38,999.999 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 10:20:42,371.371 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:20:42,372.372 INFO    ] Checking for system updates...
[2026-08-29 10:20:42,393.393 INFO    ] 200
[2026-08-29 10:20:42,394.394 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:20:42,424.424 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:20:42,426.426 INFO    ] No update needed
[2026-08-29 10:20:42,427.427 INFO    ] Checking for camera pi updates...
[2026-08-29 10:20:42,446.446 INFO    ] 200
[2026-08-29 10:20:42,447.447 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:20:42,470.470 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:20:42,551.551 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:20:42,553.553 INFO    ] No camera update needed
[2026-08-29 10:20:42,554.554 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:20:42,555.555 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:20:42,558.558 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:20:42,560.560 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:20:44,591.591 INFO    ] ================================================
[2026-08-29 10:20:44,607.607 INFO    ] Launching Daemon at Sat Aug 29 10:20:44 IST 2026
[2026-08-29 10:20:44,617.617 INFO    ] ================================================
[2026-08-29 10:20:44,972.972 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:20:44
[2026-08-29 10:20:45,503.503 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:20:45,749.749 INFO    ] Initializing speech engine...
[2026-08-29 10:20:45,755.755 INFO    ] 2026-08-29 10:20:45
[2026-08-29 10:20:46,033.033 INFO    ] 2026-08-29 10:20:46
[2026-08-29 10:20:46,068.068 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:20:46,245.245 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:20:46,257.257 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:20:46,402.402 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:20:46,410.410 INFO    ] time= 29/08/2026 10:20:46
[2026-08-29 10:20:46,414.414 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:20:46,420.420 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:20:46,486.486 INFO    ] No existing commands found in stream
[2026-08-29 10:20:51,498.498 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:20:51,501.501 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-08-29 10:20:55,434.434 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:20:55,435.435 INFO    ] Checking for system updates...
[2026-08-29 10:20:55,455.455 INFO    ] 200
[2026-08-29 10:20:55,457.457 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:20:55,486.486 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:20:55,488.488 INFO    ] No update needed
[2026-08-29 10:20:55,489.489 INFO    ] Checking for camera pi updates...
[2026-08-29 10:20:55,512.512 INFO    ] 200
[2026-08-29 10:20:55,513.513 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:20:55,536.536 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:20:55,613.613 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:20:55,614.614 INFO    ] No camera update needed
[2026-08-29 10:20:55,616.616 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:20:55,617.617 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:20:55,620.620 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:20:55,622.622 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:20:57,662.662 INFO    ] ================================================
[2026-08-29 10:20:57,677.677 INFO    ] Launching Daemon at Sat Aug 29 10:20:57 IST 2026
[2026-08-29 10:20:57,688.688 INFO    ] ================================================
[2026-08-29 10:20:58,060.060 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:20:58
[2026-08-29 10:20:58,401.401 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:20:58,547.547 INFO    ] Initializing speech engine...
[2026-08-29 10:20:58,558.558 INFO    ] 2026-08-29 10:20:58
[2026-08-29 10:20:58,766.766 INFO    ] 2026-08-29 10:20:58
[2026-08-29 10:20:58,796.796 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:20:58,911.911 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:20:58,919.919 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:20:59,110.110 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:20:59,117.117 INFO    ] time= 29/08/2026 10:20:59
[2026-08-29 10:20:59,135.135 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:20:59,164.164 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:20:59,270.270 INFO    ] No existing commands found in stream
[2026-08-29 10:21:04,295.295 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:21:04,298.298 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 10:21:08,081.081 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:21:08,083.083 INFO    ] Checking for system updates...
[2026-08-29 10:21:08,104.104 INFO    ] 200
[2026-08-29 10:21:08,105.105 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:21:08,136.136 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:21:08,137.137 INFO    ] No update needed
[2026-08-29 10:21:08,139.139 INFO    ] Checking for camera pi updates...
[2026-08-29 10:21:08,158.158 INFO    ] 200
[2026-08-29 10:21:08,160.160 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:21:08,183.183 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:21:08,278.278 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:21:08,280.280 INFO    ] No camera update needed
[2026-08-29 10:21:08,281.281 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:21:08,282.282 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:21:08,286.286 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:21:08,289.289 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:21:10,328.328 INFO    ] ================================================
[2026-08-29 10:21:10,343.343 INFO    ] Launching Daemon at Sat Aug 29 10:21:10 IST 2026
[2026-08-29 10:21:10,353.353 INFO    ] ================================================
[2026-08-29 10:21:10,696.696 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:21:10
[2026-08-29 10:21:11,145.145 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:21:11,397.397 INFO    ] Initializing speech engine...
[2026-08-29 10:21:11,411.411 INFO    ] 2026-08-29 10:21:11
[2026-08-29 10:21:11,679.679 INFO    ] 2026-08-29 10:21:11
[2026-08-29 10:21:11,714.714 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:21:11,891.891 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:21:11,903.903 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:21:12,052.052 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:21:12,057.057 INFO    ] time= 29/08/2026 10:21:12
[2026-08-29 10:21:12,063.063 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:21:12,114.114 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:21:12,235.235 INFO    ] No existing commands found in stream
[2026-08-29 10:21:17,261.261 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:21:17,264.264 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-08-29 10:21:21,054.054 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:21:21,056.056 INFO    ] Checking for system updates...
[2026-08-29 10:21:21,076.076 INFO    ] 200
[2026-08-29 10:21:21,077.077 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:21:21,107.107 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:21:21,108.108 INFO    ] No update needed
[2026-08-29 10:21:21,110.110 INFO    ] Checking for camera pi updates...
[2026-08-29 10:21:21,132.132 INFO    ] 200
[2026-08-29 10:21:21,134.134 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:21:21,156.156 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:21:21,234.234 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:21:21,235.235 INFO    ] No camera update needed
[2026-08-29 10:21:21,236.236 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:21:21,237.237 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:21:21,240.240 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:21:21,243.243 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:21:23,282.282 INFO    ] ================================================
[2026-08-29 10:21:23,297.297 INFO    ] Launching Daemon at Sat Aug 29 10:21:23 IST 2026
[2026-08-29 10:21:23,308.308 INFO    ] ================================================
[2026-08-29 10:21:23,811.811 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:21:23
[2026-08-29 10:21:24,395.395 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:21:24,686.686 INFO    ] Initializing speech engine...
[2026-08-29 10:21:24,710.710 INFO    ] 2026-08-29 10:21:24
[2026-08-29 10:21:24,986.986 INFO    ] 2026-08-29 10:21:24
[2026-08-29 10:21:25,031.031 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:21:25,232.232 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:21:25,293.293 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:21:25,437.437 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:21:25,460.460 INFO    ] time= 29/08/2026 10:21:25
[2026-08-29 10:21:25,514.514 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:21:25,575.575 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:21:25,649.649 INFO    ] No existing commands found in stream
[2026-08-29 10:21:30,688.688 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:21:30,691.691 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-08-29 10:21:31,761.761 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:21:31,765.765 INFO    ] Checking for system updates...
[2026-08-29 10:21:31,811.811 INFO    ] 200
[2026-08-29 10:21:31,815.815 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:21:31,874.874 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:21:31,877.877 INFO    ] No update needed
[2026-08-29 10:21:31,881.881 INFO    ] Checking for camera pi updates...
[2026-08-29 10:21:31,921.921 INFO    ] 200
[2026-08-29 10:21:31,924.924 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:21:31,972.972 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:21:32,101.101 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:21:32,104.104 INFO    ] No camera update needed
[2026-08-29 10:21:32,108.108 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:21:32,111.111 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:21:32,118.118 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:21:32,125.125 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:21:34,165.165 INFO    ] ================================================
[2026-08-29 10:21:34,181.181 INFO    ] Launching Daemon at Sat Aug 29 10:21:34 IST 2026
[2026-08-29 10:21:34,191.191 INFO    ] ================================================
[2026-08-29 10:21:34,768.768 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:21:34
[2026-08-29 10:21:35,107.107 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:21:35,383.383 INFO    ] Initializing speech engine...
[2026-08-29 10:21:35,392.392 INFO    ] 2026-08-29 10:21:35
[2026-08-29 10:21:35,640.640 INFO    ] 2026-08-29 10:21:35
[2026-08-29 10:21:35,676.676 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:21:35,848.848 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:21:35,860.860 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:21:36,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:21:36,010.010 INFO    ] time= 29/08/2026 10:21:36
[2026-08-29 10:21:36,017.017 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:21:36,059.059 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:21:36,183.183 INFO    ] No existing commands found in stream
[2026-08-29 10:21:41,208.208 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:21:41,210.210 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 10:21:43,886.886 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:21:43,887.887 INFO    ] Checking for system updates...
[2026-08-29 10:21:43,908.908 INFO    ] 200
[2026-08-29 10:21:43,909.909 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:21:43,940.940 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:21:43,942.942 INFO    ] No update needed
[2026-08-29 10:21:43,943.943 INFO    ] Checking for camera pi updates...
[2026-08-29 10:21:43,965.965 INFO    ] 200
[2026-08-29 10:21:43,966.966 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:21:43,990.990 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:21:44,070.070 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:21:44,072.072 INFO    ] No camera update needed
[2026-08-29 10:21:44,073.073 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:21:44,074.074 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:21:44,077.077 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:21:44,080.080 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:21:46,118.118 INFO    ] ================================================
[2026-08-29 10:21:46,133.133 INFO    ] Launching Daemon at Sat Aug 29 10:21:46 IST 2026
[2026-08-29 10:21:46,144.144 INFO    ] ================================================
[2026-08-29 10:21:46,812.812 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:21:46
[2026-08-29 10:21:47,410.410 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:21:47,681.681 INFO    ] Initializing speech engine...
[2026-08-29 10:21:47,690.690 INFO    ] 2026-08-29 10:21:47
[2026-08-29 10:21:47,939.939 INFO    ] 2026-08-29 10:21:47
[2026-08-29 10:21:47,974.974 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:21:48,152.152 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:21:48,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:21:48,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:21:48,282.282 INFO    ] time= 29/08/2026 10:21:48
[2026-08-29 10:21:48,300.300 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:21:48,320.320 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:21:48,394.394 INFO    ] No existing commands found in stream
[2026-08-29 10:21:53,406.406 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:21:53,409.409 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 10:21:55,733.733 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:21:55,735.735 INFO    ] Checking for system updates...
[2026-08-29 10:21:55,755.755 INFO    ] 200
[2026-08-29 10:21:55,756.756 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:21:55,789.789 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:21:55,790.790 INFO    ] No update needed
[2026-08-29 10:21:55,791.791 INFO    ] Checking for camera pi updates...
[2026-08-29 10:21:55,812.812 INFO    ] 200
[2026-08-29 10:21:55,814.814 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:21:55,838.838 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:21:55,928.928 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:21:55,929.929 INFO    ] No camera update needed
[2026-08-29 10:21:55,930.930 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:21:55,932.932 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:21:55,935.935 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:21:55,937.937 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:21:57,976.976 INFO    ] ================================================
[2026-08-29 10:21:57,991.991 INFO    ] Launching Daemon at Sat Aug 29 10:21:57 IST 2026
[2026-08-29 10:21:58,002.002 INFO    ] ================================================
[2026-08-29 10:21:58,357.357 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:21:58
[2026-08-29 10:21:58,674.674 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:21:58,818.818 INFO    ] Initializing speech engine...
[2026-08-29 10:21:58,823.823 INFO    ] 2026-08-29 10:21:58
[2026-08-29 10:21:59,028.028 INFO    ] 2026-08-29 10:21:59
[2026-08-29 10:21:59,056.056 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:21:59,238.238 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:21:59,242.242 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:21:59,370.370 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:21:59,431.431 INFO    ] time= 29/08/2026 10:21:59
[2026-08-29 10:21:59,465.465 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:21:59,470.470 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:21:59,542.542 INFO    ] No existing commands found in stream
[2026-08-29 10:22:04,551.551 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:22:04,554.554 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-08-29 10:22:06,056.056 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:22:06,059.059 INFO    ] Checking for system updates...
[2026-08-29 10:22:06,095.095 INFO    ] 200
[2026-08-29 10:22:06,098.098 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:22:06,152.152 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:22:06,155.155 INFO    ] No update needed
[2026-08-29 10:22:06,157.157 INFO    ] Checking for camera pi updates...
[2026-08-29 10:22:06,192.192 INFO    ] 200
[2026-08-29 10:22:06,194.194 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:22:06,242.242 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:22:06,439.439 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:22:06,442.442 INFO    ] No camera update needed
[2026-08-29 10:22:06,444.444 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:22:06,446.446 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:22:06,452.452 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:22:06,457.457 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:22:08,496.496 INFO    ] ================================================
[2026-08-29 10:22:08,511.511 INFO    ] Launching Daemon at Sat Aug 29 10:22:08 IST 2026
[2026-08-29 10:22:08,521.521 INFO    ] ================================================
[2026-08-29 10:22:09,077.077 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:22:09
[2026-08-29 10:22:09,452.452 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:22:09,748.748 INFO    ] Initializing speech engine...
[2026-08-29 10:22:09,752.752 INFO    ] 2026-08-29 10:22:09
[2026-08-29 10:22:10,016.016 INFO    ] 2026-08-29 10:22:10
[2026-08-29 10:22:10,061.061 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:22:10,313.313 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:22:10,324.324 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:22:10,459.459 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:22:10,520.520 INFO    ] time= 29/08/2026 10:22:10
[2026-08-29 10:22:10,574.574 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:22:10,592.592 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:22:10,650.650 INFO    ] No existing commands found in stream
[2026-08-29 10:22:15,661.661 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:22:15,663.663 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-08-29 10:22:18,493.493 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:22:18,496.496 INFO    ] Checking for system updates...
[2026-08-29 10:22:18,538.538 INFO    ] 200
[2026-08-29 10:22:18,541.541 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:22:18,602.602 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:22:18,605.605 INFO    ] No update needed
[2026-08-29 10:22:18,608.608 INFO    ] Checking for camera pi updates...
[2026-08-29 10:22:18,641.641 INFO    ] 200
[2026-08-29 10:22:18,644.644 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:22:18,684.684 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:22:18,783.783 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:22:18,786.786 INFO    ] No camera update needed
[2026-08-29 10:22:18,788.788 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:22:18,790.790 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:22:18,796.796 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:22:18,800.800 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:22:20,841.841 INFO    ] ================================================
[2026-08-29 10:22:20,856.856 INFO    ] Launching Daemon at Sat Aug 29 10:22:20 IST 2026
[2026-08-29 10:22:20,867.867 INFO    ] ================================================
[2026-08-29 10:22:21,214.214 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:22:21
[2026-08-29 10:22:21,550.550 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:22:21,852.852 INFO    ] Initializing speech engine...
[2026-08-29 10:22:21,864.864 INFO    ] 2026-08-29 10:22:21
[2026-08-29 10:22:22,149.149 INFO    ] 2026-08-29 10:22:22
[2026-08-29 10:22:22,189.189 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:22:22,408.408 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:22:22,418.418 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:22:22,552.552 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:22:22,588.588 INFO    ] time= 29/08/2026 10:22:22
[2026-08-29 10:22:22,637.637 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:22:22,684.684 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:22:22,739.739 INFO    ] No existing commands found in stream
[2026-08-29 10:22:27,752.752 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:22:27,755.755 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-08-29 10:22:28,686.686 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:22:28,687.687 INFO    ] Checking for system updates...
[2026-08-29 10:22:28,708.708 INFO    ] 200
[2026-08-29 10:22:28,709.709 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:22:28,742.742 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:22:28,743.743 INFO    ] No update needed
[2026-08-29 10:22:28,744.744 INFO    ] Checking for camera pi updates...
[2026-08-29 10:22:28,763.763 INFO    ] 200
[2026-08-29 10:22:28,765.765 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:22:28,789.789 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:22:28,885.885 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:22:28,887.887 INFO    ] No camera update needed
[2026-08-29 10:22:28,890.890 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:22:28,892.892 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:22:28,897.897 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:22:28,903.903 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:22:30,943.943 INFO    ] ================================================
[2026-08-29 10:22:30,958.958 INFO    ] Launching Daemon at Sat Aug 29 10:22:30 IST 2026
[2026-08-29 10:22:30,969.969 INFO    ] ================================================
[2026-08-29 10:22:31,656.656 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:22:31
[2026-08-29 10:22:32,282.282 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:22:32,605.605 INFO    ] Initializing speech engine...
[2026-08-29 10:22:32,619.619 INFO    ] 2026-08-29 10:22:32
[2026-08-29 10:22:32,887.887 INFO    ] 2026-08-29 10:22:32
[2026-08-29 10:22:32,930.930 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:22:33,149.149 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:22:33,158.158 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:22:33,289.289 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:22:33,336.336 INFO    ] time= 29/08/2026 10:22:33
[2026-08-29 10:22:33,396.396 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:22:33,422.422 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:22:33,475.475 INFO    ] No existing commands found in stream
[2026-08-29 10:22:38,487.487 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:22:38,489.489 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-08-29 10:22:39,207.207 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:22:39,208.208 INFO    ] Checking for system updates...
[2026-08-29 10:22:39,229.229 INFO    ] 200
[2026-08-29 10:22:39,231.231 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:22:39,261.261 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:22:39,262.262 INFO    ] No update needed
[2026-08-29 10:22:39,263.263 INFO    ] Checking for camera pi updates...
[2026-08-29 10:22:39,283.283 INFO    ] 200
[2026-08-29 10:22:39,284.284 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:22:39,307.307 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:22:39,430.430 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:22:39,432.432 INFO    ] No camera update needed
[2026-08-29 10:22:39,433.433 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:22:39,434.434 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:22:39,437.437 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:22:39,440.440 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:22:41,478.478 INFO    ] ================================================
[2026-08-29 10:22:41,493.493 INFO    ] Launching Daemon at Sat Aug 29 10:22:41 IST 2026
[2026-08-29 10:22:41,504.504 INFO    ] ================================================
[2026-08-29 10:22:41,894.894 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:22:41
[2026-08-29 10:22:42,478.478 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:22:42,749.749 INFO    ] Initializing speech engine...
[2026-08-29 10:22:42,757.757 INFO    ] 2026-08-29 10:22:42
[2026-08-29 10:22:43,008.008 INFO    ] 2026-08-29 10:22:43
[2026-08-29 10:22:43,044.044 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:22:43,218.218 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:22:43,231.231 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:22:43,376.376 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:22:43,384.384 INFO    ] time= 29/08/2026 10:22:43
[2026-08-29 10:22:43,391.391 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:22:43,412.412 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:22:43,533.533 INFO    ] No existing commands found in stream
[2026-08-29 10:22:48,563.563 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:22:48,566.566 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-08-29 10:22:51,994.994 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:22:51,996.996 INFO    ] Checking for system updates...
[2026-08-29 10:22:52,017.017 INFO    ] 200
[2026-08-29 10:22:52,019.019 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:22:52,049.049 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:22:52,050.050 INFO    ] No update needed
[2026-08-29 10:22:52,051.051 INFO    ] Checking for camera pi updates...
[2026-08-29 10:22:52,071.071 INFO    ] 200
[2026-08-29 10:22:52,072.072 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:22:52,096.096 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:22:52,171.171 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:22:52,172.172 INFO    ] No camera update needed
[2026-08-29 10:22:52,174.174 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:22:52,175.175 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:22:52,178.178 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:22:52,180.180 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:22:54,218.218 INFO    ] ================================================
[2026-08-29 10:22:54,233.233 INFO    ] Launching Daemon at Sat Aug 29 10:22:54 IST 2026
[2026-08-29 10:22:54,244.244 INFO    ] ================================================
[2026-08-29 10:22:54,584.584 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:22:54
[2026-08-29 10:22:54,902.902 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:22:55,145.145 INFO    ] Initializing speech engine...
[2026-08-29 10:22:55,154.154 INFO    ] 2026-08-29 10:22:55
[2026-08-29 10:22:55,415.415 INFO    ] 2026-08-29 10:22:55
[2026-08-29 10:22:55,466.466 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:22:55,689.689 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:22:55,698.698 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:22:55,831.831 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:22:55,883.883 INFO    ] time= 29/08/2026 10:22:55
[2026-08-29 10:22:55,927.927 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:22:55,963.963 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:22:56,081.081 INFO    ] No existing commands found in stream
[2026-08-29 10:23:01,111.111 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:23:01,114.114 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-08-29 10:23:02,183.183 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:23:02,187.187 INFO    ] Checking for system updates...
[2026-08-29 10:23:02,237.237 INFO    ] 200
[2026-08-29 10:23:02,241.241 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:23:02,354.354 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:23:02,357.357 INFO    ] No update needed
[2026-08-29 10:23:02,361.361 INFO    ] Checking for camera pi updates...
[2026-08-29 10:23:02,430.430 INFO    ] 200
[2026-08-29 10:23:02,434.434 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:23:02,492.492 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:23:02,597.597 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:23:02,600.600 INFO    ] No camera update needed
[2026-08-29 10:23:02,604.604 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:23:02,608.608 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:23:02,617.617 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:23:02,624.624 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:23:04,667.667 INFO    ] ================================================
[2026-08-29 10:23:04,682.682 INFO    ] Launching Daemon at Sat Aug 29 10:23:04 IST 2026
[2026-08-29 10:23:04,693.693 INFO    ] ================================================
[2026-08-29 10:23:05,188.188 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:23:05
[2026-08-29 10:23:05,523.523 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:23:05,665.665 INFO    ] Initializing speech engine...
[2026-08-29 10:23:05,670.670 INFO    ] 2026-08-29 10:23:05
[2026-08-29 10:23:05,903.903 INFO    ] 2026-08-29 10:23:05
[2026-08-29 10:23:05,956.956 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:23:06,088.088 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:23:06,106.106 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:23:06,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:23:06,324.324 INFO    ] time= 29/08/2026 10:23:06
[2026-08-29 10:23:06,331.331 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:23:06,349.349 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:23:06,465.465 INFO    ] No existing commands found in stream
[2026-08-29 10:23:11,489.489 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:23:11,492.492 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-08-29 10:23:13,824.824 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:23:13,825.825 INFO    ] Checking for system updates...
[2026-08-29 10:23:13,845.845 INFO    ] 200
[2026-08-29 10:23:13,847.847 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:23:13,877.877 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:23:13,878.878 INFO    ] No update needed
[2026-08-29 10:23:13,879.879 INFO    ] Checking for camera pi updates...
[2026-08-29 10:23:13,898.898 INFO    ] 200
[2026-08-29 10:23:13,899.899 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:23:13,923.923 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:23:14,011.011 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:23:14,014.014 INFO    ] No camera update needed
[2026-08-29 10:23:14,016.016 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:23:14,019.019 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:23:14,024.024 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:23:14,029.029 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:23:16,068.068 INFO    ] ================================================
[2026-08-29 10:23:16,083.083 INFO    ] Launching Daemon at Sat Aug 29 10:23:16 IST 2026
[2026-08-29 10:23:16,094.094 INFO    ] ================================================
[2026-08-29 10:23:16,679.679 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:23:16
[2026-08-29 10:23:17,168.168 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:23:17,311.311 INFO    ] Initializing speech engine...
[2026-08-29 10:23:17,317.317 INFO    ] 2026-08-29 10:23:17
[2026-08-29 10:23:17,522.522 INFO    ] 2026-08-29 10:23:17
[2026-08-29 10:23:17,559.559 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:23:17,723.723 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:23:17,728.728 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:23:17,883.883 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:23:17,928.928 INFO    ] time= 29/08/2026 10:23:17
[2026-08-29 10:23:17,934.934 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:23:17,951.951 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:23:18,068.068 INFO    ] No existing commands found in stream
[2026-08-29 10:23:23,092.092 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:23:23,095.095 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-08-29 10:23:27,675.675 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:23:27,676.676 INFO    ] Checking for system updates...
[2026-08-29 10:23:27,697.697 INFO    ] 200
[2026-08-29 10:23:27,698.698 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:23:27,731.731 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:23:27,733.733 INFO    ] No update needed
[2026-08-29 10:23:27,734.734 INFO    ] Checking for camera pi updates...
[2026-08-29 10:23:27,756.756 INFO    ] 200
[2026-08-29 10:23:27,757.757 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:23:27,783.783 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:23:27,860.860 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:23:27,861.861 INFO    ] No camera update needed
[2026-08-29 10:23:27,863.863 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:23:27,864.864 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:23:27,867.867 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:23:27,870.870 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:23:29,909.909 INFO    ] ================================================
[2026-08-29 10:23:29,924.924 INFO    ] Launching Daemon at Sat Aug 29 10:23:29 IST 2026
[2026-08-29 10:23:29,935.935 INFO    ] ================================================
[2026-08-29 10:23:30,283.283 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:23:30
[2026-08-29 10:23:30,597.597 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:23:30,734.734 INFO    ] Initializing speech engine...
[2026-08-29 10:23:30,745.745 INFO    ] 2026-08-29 10:23:30
[2026-08-29 10:23:30,931.931 INFO    ] 2026-08-29 10:23:30
[2026-08-29 10:23:30,969.969 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:23:31,198.198 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:23:31,207.207 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:23:31,345.345 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:23:31,382.382 INFO    ] time= 29/08/2026 10:23:31
[2026-08-29 10:23:31,436.436 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:23:31,489.489 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:23:31,546.546 INFO    ] No existing commands found in stream
[2026-08-29 10:23:36,557.557 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:23:36,560.560 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-08-29 10:23:39,648.648 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:23:39,650.650 INFO    ] Checking for system updates...
[2026-08-29 10:23:39,670.670 INFO    ] 200
[2026-08-29 10:23:39,671.671 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:23:39,704.704 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:23:39,705.705 INFO    ] No update needed
[2026-08-29 10:23:39,706.706 INFO    ] Checking for camera pi updates...
[2026-08-29 10:23:39,727.727 INFO    ] 200
[2026-08-29 10:23:39,729.729 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:23:39,753.753 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:23:39,853.853 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:23:39,854.854 INFO    ] No camera update needed
[2026-08-29 10:23:39,856.856 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:23:39,857.857 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:23:39,860.860 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:23:39,862.862 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:23:41,893.893 INFO    ] ================================================
[2026-08-29 10:23:41,903.903 INFO    ] Launching Daemon at Sat Aug 29 10:23:41 IST 2026
[2026-08-29 10:23:41,909.909 INFO    ] ================================================
[2026-08-29 10:23:42,475.475 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:23:42
[2026-08-29 10:23:43,077.077 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:23:43,345.345 INFO    ] Initializing speech engine...
[2026-08-29 10:23:43,354.354 INFO    ] 2026-08-29 10:23:43
[2026-08-29 10:23:43,600.600 INFO    ] 2026-08-29 10:23:43
[2026-08-29 10:23:43,635.635 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:23:43,806.806 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:23:43,818.818 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:23:43,958.958 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:23:43,966.966 INFO    ] time= 29/08/2026 10:23:43
[2026-08-29 10:23:43,973.973 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:23:43,995.995 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:23:44,127.127 INFO    ] No existing commands found in stream
[2026-08-29 10:23:49,157.157 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:23:49,160.160 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-08-29 10:23:50,625.625 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:23:50,626.626 INFO    ] Checking for system updates...
[2026-08-29 10:23:50,647.647 INFO    ] 200
[2026-08-29 10:23:50,648.648 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:23:50,678.678 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:23:50,680.680 INFO    ] No update needed
[2026-08-29 10:23:50,681.681 INFO    ] Checking for camera pi updates...
[2026-08-29 10:23:50,703.703 INFO    ] 200
[2026-08-29 10:23:50,704.704 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:23:50,732.732 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:23:50,822.822 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:23:50,823.823 INFO    ] No camera update needed
[2026-08-29 10:23:50,825.825 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:23:50,826.826 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:23:50,829.829 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:23:50,832.832 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:23:52,873.873 INFO    ] ================================================
[2026-08-29 10:23:52,888.888 INFO    ] Launching Daemon at Sat Aug 29 10:23:52 IST 2026
[2026-08-29 10:23:52,899.899 INFO    ] ================================================
[2026-08-29 10:23:53,341.341 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:23:53
[2026-08-29 10:23:53,943.943 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:23:54,203.203 INFO    ] Initializing speech engine...
[2026-08-29 10:23:54,216.216 INFO    ] 2026-08-29 10:23:54
[2026-08-29 10:23:54,505.505 INFO    ] 2026-08-29 10:23:54
[2026-08-29 10:23:54,544.544 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:23:54,688.688 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:23:54,697.697 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:23:54,851.851 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:23:54,861.861 INFO    ] time= 29/08/2026 10:23:54
[2026-08-29 10:23:54,868.868 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:23:54,890.890 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:23:54,943.943 INFO    ] No existing commands found in stream
[2026-08-29 10:23:59,954.954 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:23:59,957.957 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-08-29 10:24:02,260.260 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:24:02,266.266 INFO    ] Checking for system updates...
[2026-08-29 10:24:02,310.310 INFO    ] 200
[2026-08-29 10:24:02,313.313 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:24:02,372.372 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:24:02,376.376 INFO    ] No update needed
[2026-08-29 10:24:02,378.378 INFO    ] Checking for camera pi updates...
[2026-08-29 10:24:02,425.425 INFO    ] 200
[2026-08-29 10:24:02,429.429 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:24:02,481.481 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:24:02,602.602 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:24:02,606.606 INFO    ] No camera update needed
[2026-08-29 10:24:02,610.610 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:24:02,614.614 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:24:02,623.623 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:24:02,630.630 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:24:04,673.673 INFO    ] ================================================
[2026-08-29 10:24:04,688.688 INFO    ] Launching Daemon at Sat Aug 29 10:24:04 IST 2026
[2026-08-29 10:24:04,699.699 INFO    ] ================================================
[2026-08-29 10:24:05,161.161 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:24:05
[2026-08-29 10:24:05,480.480 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:24:05,691.691 INFO    ] Initializing speech engine...
[2026-08-29 10:24:05,700.700 INFO    ] 2026-08-29 10:24:05
[2026-08-29 10:24:05,953.953 INFO    ] 2026-08-29 10:24:05
[2026-08-29 10:24:06,012.012 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:24:06,232.232 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:24:06,242.242 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:24:06,374.374 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:24:06,416.416 INFO    ] time= 29/08/2026 10:24:06
[2026-08-29 10:24:06,483.483 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:24:06,508.508 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:24:06,594.594 INFO    ] No existing commands found in stream
[2026-08-29 10:24:11,632.632 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:24:11,634.634 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-08-29 10:24:12,481.481 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:24:12,483.483 INFO    ] Checking for system updates...
[2026-08-29 10:24:12,503.503 INFO    ] 200
[2026-08-29 10:24:12,505.505 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:24:12,535.535 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:24:12,536.536 INFO    ] No update needed
[2026-08-29 10:24:12,537.537 INFO    ] Checking for camera pi updates...
[2026-08-29 10:24:12,559.559 INFO    ] 200
[2026-08-29 10:24:12,560.560 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:24:12,586.586 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:24:12,791.791 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:24:12,793.793 INFO    ] No camera update needed
[2026-08-29 10:24:12,796.796 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:24:12,798.798 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:24:12,803.803 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:24:12,808.808 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:24:14,849.849 INFO    ] ================================================
[2026-08-29 10:24:14,864.864 INFO    ] Launching Daemon at Sat Aug 29 10:24:14 IST 2026
[2026-08-29 10:24:14,875.875 INFO    ] ================================================
[2026-08-29 10:24:15,440.440 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:24:15
[2026-08-29 10:24:15,941.941 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:24:16,077.077 INFO    ] Initializing speech engine...
[2026-08-29 10:24:16,090.090 INFO    ] 2026-08-29 10:24:16
[2026-08-29 10:24:16,308.308 INFO    ] 2026-08-29 10:24:16
[2026-08-29 10:24:16,344.344 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:24:16,532.532 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:24:16,537.537 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:24:16,662.662 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:24:16,668.668 INFO    ] time= 29/08/2026 10:24:16
[2026-08-29 10:24:16,702.702 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:24:16,710.710 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:24:16,786.786 INFO    ] No existing commands found in stream
[2026-08-29 10:24:21,799.799 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:24:21,801.801 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-08-29 10:24:24,532.532 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:24:24,534.534 INFO    ] Checking for system updates...
[2026-08-29 10:24:24,555.555 INFO    ] 200
[2026-08-29 10:24:24,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:24:24,587.587 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:24:24,588.588 INFO    ] No update needed
[2026-08-29 10:24:24,590.590 INFO    ] Checking for camera pi updates...
[2026-08-29 10:24:24,609.609 INFO    ] 200
[2026-08-29 10:24:24,610.610 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:24:24,634.634 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:24:24,736.736 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:24:24,739.739 INFO    ] No camera update needed
[2026-08-29 10:24:24,741.741 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:24:24,743.743 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:24:24,748.748 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:24:24,753.753 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:24:26,794.794 INFO    ] ================================================
[2026-08-29 10:24:26,809.809 INFO    ] Launching Daemon at Sat Aug 29 10:24:26 IST 2026
[2026-08-29 10:24:26,820.820 INFO    ] ================================================
[2026-08-29 10:24:27,407.407 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:24:27
[2026-08-29 10:24:27,902.902 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:24:28,050.050 INFO    ] Initializing speech engine...
[2026-08-29 10:24:28,055.055 INFO    ] 2026-08-29 10:24:28
[2026-08-29 10:24:28,265.265 INFO    ] 2026-08-29 10:24:28
[2026-08-29 10:24:28,294.294 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:24:28,418.418 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:24:28,462.462 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:24:28,578.578 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:24:28,581.581 INFO    ] time= 29/08/2026 10:24:28
[2026-08-29 10:24:28,587.587 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:24:28,595.595 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:24:28,658.658 INFO    ] No existing commands found in stream
[2026-08-29 10:24:33,668.668 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:24:33,671.671 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-08-29 10:24:36,785.785 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:24:36,787.787 INFO    ] Checking for system updates...
[2026-08-29 10:24:36,807.807 INFO    ] 200
[2026-08-29 10:24:36,809.809 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:24:36,841.841 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:24:36,842.842 INFO    ] No update needed
[2026-08-29 10:24:36,844.844 INFO    ] Checking for camera pi updates...
[2026-08-29 10:24:36,865.865 INFO    ] 200
[2026-08-29 10:24:36,867.867 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:24:36,890.890 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:24:36,991.991 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:24:36,993.993 INFO    ] No camera update needed
[2026-08-29 10:24:36,994.994 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:24:36,996.996 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:24:36,999.999 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:24:37,001.001 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:24:39,041.041 INFO    ] ================================================
[2026-08-29 10:24:39,056.056 INFO    ] Launching Daemon at Sat Aug 29 10:24:39 IST 2026
[2026-08-29 10:24:39,066.066 INFO    ] ================================================
[2026-08-29 10:24:39,455.455 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:24:39
[2026-08-29 10:24:40,040.040 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:24:40,315.315 INFO    ] Initializing speech engine...
[2026-08-29 10:24:40,325.325 INFO    ] 2026-08-29 10:24:40
[2026-08-29 10:24:40,575.575 INFO    ] 2026-08-29 10:24:40
[2026-08-29 10:24:40,619.619 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:24:40,792.792 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:24:40,805.805 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:24:40,929.929 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:24:40,949.949 INFO    ] time= 29/08/2026 10:24:40
[2026-08-29 10:24:40,958.958 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:24:40,964.964 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:24:41,061.061 INFO    ] No existing commands found in stream
[2026-08-29 10:24:46,091.091 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:24:46,095.095 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-08-29 10:24:47,278.278 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:24:47,279.279 INFO    ] Checking for system updates...
[2026-08-29 10:24:47,300.300 INFO    ] 200
[2026-08-29 10:24:47,302.302 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:24:47,332.332 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:24:47,334.334 INFO    ] No update needed
[2026-08-29 10:24:47,336.336 INFO    ] Checking for camera pi updates...
[2026-08-29 10:24:47,355.355 INFO    ] 200
[2026-08-29 10:24:47,357.357 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:24:47,380.380 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:24:47,484.484 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:24:47,485.485 INFO    ] No camera update needed
[2026-08-29 10:24:47,487.487 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:24:47,488.488 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:24:47,491.491 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:24:47,494.494 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:24:49,533.533 INFO    ] ================================================
[2026-08-29 10:24:49,548.548 INFO    ] Launching Daemon at Sat Aug 29 10:24:49 IST 2026
[2026-08-29 10:24:49,559.559 INFO    ] ================================================
[2026-08-29 10:24:49,923.923 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:24:49
[2026-08-29 10:24:50,253.253 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:24:50,403.403 INFO    ] Initializing speech engine...
[2026-08-29 10:24:50,408.408 INFO    ] 2026-08-29 10:24:50
[2026-08-29 10:24:50,606.606 INFO    ] 2026-08-29 10:24:50
[2026-08-29 10:24:50,684.684 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:24:50,831.831 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:24:50,840.840 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:24:50,972.972 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:24:50,994.994 INFO    ] time= 29/08/2026 10:24:50
[2026-08-29 10:24:51,053.053 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:24:51,102.102 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:24:51,160.160 INFO    ] No existing commands found in stream
[2026-08-29 10:24:56,172.172 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:24:56,175.175 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-08-29 10:24:59,846.846 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:24:59,847.847 INFO    ] Checking for system updates...
[2026-08-29 10:24:59,868.868 INFO    ] 200
[2026-08-29 10:24:59,870.870 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:24:59,899.899 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:24:59,901.901 INFO    ] No update needed
[2026-08-29 10:24:59,902.902 INFO    ] Checking for camera pi updates...
[2026-08-29 10:24:59,924.924 INFO    ] 200
[2026-08-29 10:24:59,925.925 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:24:59,949.949 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:25:00,024.024 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:25:00,025.025 INFO    ] No camera update needed
[2026-08-29 10:25:00,026.026 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:25:00,028.028 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:25:00,030.030 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:25:00,033.033 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:25:02,094.094 INFO    ] ================================================
[2026-08-29 10:25:02,132.132 INFO    ] Launching Daemon at Sat Aug 29 10:25:02 IST 2026
[2026-08-29 10:25:02,215.215 INFO    ] ================================================
[2026-08-29 10:25:02,895.895 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:25:02
[2026-08-29 10:25:03,576.576 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:25:03,860.860 INFO    ] Initializing speech engine...
[2026-08-29 10:25:03,869.869 INFO    ] 2026-08-29 10:25:03
[2026-08-29 10:25:04,130.130 INFO    ] 2026-08-29 10:25:04
[2026-08-29 10:25:04,183.183 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:25:04,326.326 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:25:04,337.337 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:25:04,445.445 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:25:04,452.452 INFO    ] time= 29/08/2026 10:25:04
[2026-08-29 10:25:04,470.470 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:25:04,489.489 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:25:04,561.561 INFO    ] No existing commands found in stream
[2026-08-29 10:25:09,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:25:09,577.577 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-08-29 10:25:11,713.713 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:25:11,714.714 INFO    ] Checking for system updates...
[2026-08-29 10:25:11,735.735 INFO    ] 200
[2026-08-29 10:25:11,736.736 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:25:11,768.768 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:25:11,769.769 INFO    ] No update needed
[2026-08-29 10:25:11,771.771 INFO    ] Checking for camera pi updates...
[2026-08-29 10:25:11,791.791 INFO    ] 200
[2026-08-29 10:25:11,793.793 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:25:11,816.816 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:25:11,899.899 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:25:11,901.901 INFO    ] No camera update needed
[2026-08-29 10:25:11,904.904 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:25:11,906.906 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:25:11,911.911 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:25:11,916.916 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:25:13,958.958 INFO    ] ================================================
[2026-08-29 10:25:13,973.973 INFO    ] Launching Daemon at Sat Aug 29 10:25:13 IST 2026
[2026-08-29 10:25:13,983.983 INFO    ] ================================================
[2026-08-29 10:25:14,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:25:14
[2026-08-29 10:25:15,064.064 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:25:15,196.196 INFO    ] Initializing speech engine...
[2026-08-29 10:25:15,199.199 INFO    ] 2026-08-29 10:25:15
[2026-08-29 10:25:15,429.429 INFO    ] 2026-08-29 10:25:15
[2026-08-29 10:25:15,460.460 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:25:15,624.624 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:25:15,630.630 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:25:15,774.774 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:25:15,781.781 INFO    ] time= 29/08/2026 10:25:15
[2026-08-29 10:25:15,801.801 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:25:15,807.807 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:25:15,914.914 INFO    ] No existing commands found in stream
[2026-08-29 10:25:20,937.937 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:25:20,939.939 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-08-29 10:25:25,604.604 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:25:25,607.607 INFO    ] Checking for system updates...
[2026-08-29 10:25:25,644.644 INFO    ] 200
[2026-08-29 10:25:25,646.646 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:25:25,705.705 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:25:25,707.707 INFO    ] No update needed
[2026-08-29 10:25:25,710.710 INFO    ] Checking for camera pi updates...
[2026-08-29 10:25:25,741.741 INFO    ] 200
[2026-08-29 10:25:25,742.742 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:25:25,765.765 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:25:25,867.867 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:25:25,869.869 INFO    ] No camera update needed
[2026-08-29 10:25:25,870.870 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:25:25,871.871 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:25:25,874.874 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:25:25,877.877 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:25:27,914.914 INFO    ] ================================================
[2026-08-29 10:25:27,930.930 INFO    ] Launching Daemon at Sat Aug 29 10:25:27 IST 2026
[2026-08-29 10:25:27,940.940 INFO    ] ================================================
[2026-08-29 10:25:28,268.268 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:25:28
[2026-08-29 10:25:28,580.580 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:25:28,725.725 INFO    ] Initializing speech engine...
[2026-08-29 10:25:28,729.729 INFO    ] 2026-08-29 10:25:28
[2026-08-29 10:25:28,933.933 INFO    ] 2026-08-29 10:25:28
[2026-08-29 10:25:28,962.962 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:25:29,087.087 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:25:29,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:25:29,291.291 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:25:29,359.359 INFO    ] time= 29/08/2026 10:25:29
[2026-08-29 10:25:29,383.383 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:25:29,390.390 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:25:29,459.459 INFO    ] No existing commands found in stream
[2026-08-29 10:25:34,473.473 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:25:34,476.476 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-08-29 10:25:37,571.571 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:25:37,572.572 INFO    ] Checking for system updates...
[2026-08-29 10:25:37,594.594 INFO    ] 200
[2026-08-29 10:25:37,596.596 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:25:37,625.625 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:25:37,627.627 INFO    ] No update needed
[2026-08-29 10:25:37,628.628 INFO    ] Checking for camera pi updates...
[2026-08-29 10:25:37,647.647 INFO    ] 200
[2026-08-29 10:25:37,648.648 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:25:37,671.671 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:25:37,755.755 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:25:37,756.756 INFO    ] No camera update needed
[2026-08-29 10:25:37,757.757 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:25:37,759.759 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:25:37,762.762 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:25:37,764.764 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:25:39,804.804 INFO    ] ================================================
[2026-08-29 10:25:39,820.820 INFO    ] Launching Daemon at Sat Aug 29 10:25:39 IST 2026
[2026-08-29 10:25:39,832.832 INFO    ] ================================================
[2026-08-29 10:25:40,209.209 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:25:40
[2026-08-29 10:25:40,549.549 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:25:40,692.692 INFO    ] Initializing speech engine...
[2026-08-29 10:25:40,696.696 INFO    ] 2026-08-29 10:25:40
[2026-08-29 10:25:40,917.917 INFO    ] 2026-08-29 10:25:40
[2026-08-29 10:25:40,946.946 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:25:41,069.069 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:25:41,132.132 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:25:41,270.270 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:25:41,330.330 INFO    ] time= 29/08/2026 10:25:41
[2026-08-29 10:25:41,363.363 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:25:41,369.369 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:25:41,436.436 INFO    ] No existing commands found in stream
[2026-08-29 10:25:46,446.446 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:25:46,449.449 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-08-29 10:25:47,188.188 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:25:47,190.190 INFO    ] Checking for system updates...
[2026-08-29 10:25:47,226.226 INFO    ] 200
[2026-08-29 10:25:47,229.229 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:25:47,281.281 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:25:47,283.283 INFO    ] No update needed
[2026-08-29 10:25:47,286.286 INFO    ] Checking for camera pi updates...
[2026-08-29 10:25:47,320.320 INFO    ] 200
[2026-08-29 10:25:47,322.322 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:25:47,363.363 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:25:47,450.450 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:25:47,452.452 INFO    ] No camera update needed
[2026-08-29 10:25:47,455.455 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:25:47,457.457 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:25:47,462.462 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:25:47,467.467 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:25:49,507.507 INFO    ] ================================================
[2026-08-29 10:25:49,523.523 INFO    ] Launching Daemon at Sat Aug 29 10:25:49 IST 2026
[2026-08-29 10:25:49,535.535 INFO    ] ================================================
[2026-08-29 10:25:49,928.928 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:25:49
[2026-08-29 10:25:50,263.263 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:25:50,395.395 INFO    ] Initializing speech engine...
[2026-08-29 10:25:50,403.403 INFO    ] 2026-08-29 10:25:50
[2026-08-29 10:25:50,602.602 INFO    ] 2026-08-29 10:25:50
[2026-08-29 10:25:50,686.686 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:25:50,836.836 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:25:50,845.845 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:25:50,980.980 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:25:51,023.023 INFO    ] time= 29/08/2026 10:25:50
[2026-08-29 10:25:51,093.093 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:25:51,118.118 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:25:51,176.176 INFO    ] No existing commands found in stream
[2026-08-29 10:25:56,188.188 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:25:56,190.190 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-08-29 10:25:58,564.564 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:25:58,566.566 INFO    ] Checking for system updates...
[2026-08-29 10:25:58,586.586 INFO    ] 200
[2026-08-29 10:25:58,587.587 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:25:58,617.617 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:25:58,618.618 INFO    ] No update needed
[2026-08-29 10:25:58,620.620 INFO    ] Checking for camera pi updates...
[2026-08-29 10:25:58,643.643 INFO    ] 200
[2026-08-29 10:25:58,644.644 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:25:58,668.668 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:25:58,766.766 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:25:58,767.767 INFO    ] No camera update needed
[2026-08-29 10:25:58,768.768 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:25:58,769.769 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:25:58,772.772 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:25:58,775.775 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:26:00,813.813 INFO    ] ================================================
[2026-08-29 10:26:00,829.829 INFO    ] Launching Daemon at Sat Aug 29 10:26:00 IST 2026
[2026-08-29 10:26:00,841.841 INFO    ] ================================================
[2026-08-29 10:26:01,382.382 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:26:01
[2026-08-29 10:26:02,049.049 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:26:02,454.454 INFO    ] Initializing speech engine...
[2026-08-29 10:26:02,459.459 INFO    ] 2026-08-29 10:26:02
[2026-08-29 10:26:02,742.742 INFO    ] 2026-08-29 10:26:02
[2026-08-29 10:26:02,781.781 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:26:03,024.024 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:26:03,033.033 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:26:03,147.147 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:26:03,151.151 INFO    ] time= 29/08/2026 10:26:03
[2026-08-29 10:26:03,195.195 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:26:03,211.211 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:26:03,345.345 INFO    ] No existing commands found in stream
[2026-08-29 10:26:08,363.363 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:26:08,366.366 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-08-29 10:26:08,729.729 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:26:08,731.731 INFO    ] Checking for system updates...
[2026-08-29 10:26:08,751.751 INFO    ] 200
[2026-08-29 10:26:08,753.753 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:26:08,782.782 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:26:08,784.784 INFO    ] No update needed
[2026-08-29 10:26:08,785.785 INFO    ] Checking for camera pi updates...
[2026-08-29 10:26:08,804.804 INFO    ] 200
[2026-08-29 10:26:08,805.805 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:26:08,830.830 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:26:08,891.891 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:26:08,892.892 INFO    ] No camera update needed
[2026-08-29 10:26:08,894.894 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:26:08,895.895 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:26:08,898.898 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:26:08,900.900 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:26:10,939.939 INFO    ] ================================================
[2026-08-29 10:26:10,954.954 INFO    ] Launching Daemon at Sat Aug 29 10:26:10 IST 2026
[2026-08-29 10:26:10,966.966 INFO    ] ================================================
[2026-08-29 10:26:11,300.300 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:26:11
[2026-08-29 10:26:11,611.611 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:26:11,762.762 INFO    ] Initializing speech engine...
[2026-08-29 10:26:11,776.776 INFO    ] 2026-08-29 10:26:11
[2026-08-29 10:26:12,029.029 INFO    ] 2026-08-29 10:26:12
[2026-08-29 10:26:12,064.064 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:26:12,236.236 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:26:12,259.259 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:26:12,388.388 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:26:12,395.395 INFO    ] time= 29/08/2026 10:26:12
[2026-08-29 10:26:12,402.402 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:26:12,422.422 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:26:12,542.542 INFO    ] No existing commands found in stream
[2026-08-29 10:26:17,572.572 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:26:17,575.575 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 10:26:20,233.233 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:26:20,234.234 INFO    ] Checking for system updates...
[2026-08-29 10:26:20,255.255 INFO    ] 200
[2026-08-29 10:26:20,256.256 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:26:20,286.286 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:26:20,287.287 INFO    ] No update needed
[2026-08-29 10:26:20,289.289 INFO    ] Checking for camera pi updates...
[2026-08-29 10:26:20,308.308 INFO    ] 200
[2026-08-29 10:26:20,309.309 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:26:20,332.332 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:26:20,524.524 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:26:20,527.527 INFO    ] No camera update needed
[2026-08-29 10:26:20,529.529 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:26:20,531.531 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:26:20,536.536 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:26:20,541.541 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:26:22,584.584 INFO    ] ================================================
[2026-08-29 10:26:22,600.600 INFO    ] Launching Daemon at Sat Aug 29 10:26:22 IST 2026
[2026-08-29 10:26:22,611.611 INFO    ] ================================================
[2026-08-29 10:26:23,186.186 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:26:23
[2026-08-29 10:26:23,616.616 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:26:23,848.848 INFO    ] Initializing speech engine...
[2026-08-29 10:26:23,861.861 INFO    ] 2026-08-29 10:26:23
[2026-08-29 10:26:24,128.128 INFO    ] 2026-08-29 10:26:24
[2026-08-29 10:26:24,163.163 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:26:24,341.341 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:26:24,354.354 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:26:24,501.501 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:26:24,509.509 INFO    ] time= 29/08/2026 10:26:24
[2026-08-29 10:26:24,516.516 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:26:24,563.563 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:26:24,698.698 INFO    ] No existing commands found in stream
[2026-08-29 10:26:29,723.723 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:26:29,726.726 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-08-29 10:26:30,183.183 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:26:30,186.186 INFO    ] Checking for system updates...
[2026-08-29 10:26:30,221.221 INFO    ] 200
[2026-08-29 10:26:30,224.224 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:26:30,283.283 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:26:30,286.286 INFO    ] No update needed
[2026-08-29 10:26:30,288.288 INFO    ] Checking for camera pi updates...
[2026-08-29 10:26:30,325.325 INFO    ] 200
[2026-08-29 10:26:30,328.328 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:26:30,367.367 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:26:30,464.464 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:26:30,466.466 INFO    ] No camera update needed
[2026-08-29 10:26:30,468.468 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:26:30,471.471 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:26:30,476.476 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:26:30,481.481 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:26:32,523.523 INFO    ] ================================================
[2026-08-29 10:26:32,540.540 INFO    ] Launching Daemon at Sat Aug 29 10:26:32 IST 2026
[2026-08-29 10:26:32,551.551 INFO    ] ================================================
[2026-08-29 10:26:33,187.187 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:26:33
[2026-08-29 10:26:33,799.799 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:26:34,055.055 INFO    ] Initializing speech engine...
[2026-08-29 10:26:34,061.061 INFO    ] 2026-08-29 10:26:34
[2026-08-29 10:26:34,359.359 INFO    ] 2026-08-29 10:26:34
[2026-08-29 10:26:34,386.386 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:26:34,599.599 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:26:34,606.606 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:26:34,719.719 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:26:34,741.741 INFO    ] time= 29/08/2026 10:26:34
[2026-08-29 10:26:34,747.747 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:26:34,754.754 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:26:34,808.808 INFO    ] No existing commands found in stream
[2026-08-29 10:26:39,819.819 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:26:39,822.822 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-08-29 10:26:41,420.420 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:26:41,421.421 INFO    ] Checking for system updates...
[2026-08-29 10:26:41,443.443 INFO    ] 200
[2026-08-29 10:26:41,444.444 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:26:41,475.475 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:26:41,476.476 INFO    ] No update needed
[2026-08-29 10:26:41,477.477 INFO    ] Checking for camera pi updates...
[2026-08-29 10:26:41,497.497 INFO    ] 200
[2026-08-29 10:26:41,498.498 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:26:41,521.521 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:26:41,605.605 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:26:41,608.608 INFO    ] No camera update needed
[2026-08-29 10:26:41,611.611 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:26:41,614.614 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:26:41,621.621 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:26:41,627.627 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:26:43,669.669 INFO    ] ================================================
[2026-08-29 10:26:43,685.685 INFO    ] Launching Daemon at Sat Aug 29 10:26:43 IST 2026
[2026-08-29 10:26:43,696.696 INFO    ] ================================================
[2026-08-29 10:26:44,345.345 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:26:44
[2026-08-29 10:26:44,821.821 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:26:44,967.967 INFO    ] Initializing speech engine...
[2026-08-29 10:26:44,977.977 INFO    ] 2026-08-29 10:26:44
[2026-08-29 10:26:45,193.193 INFO    ] 2026-08-29 10:26:45
[2026-08-29 10:26:45,252.252 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:26:45,413.413 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:26:45,419.419 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:26:45,556.556 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:26:45,602.602 INFO    ] time= 29/08/2026 10:26:45
[2026-08-29 10:26:45,663.663 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:26:45,695.695 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:26:45,751.751 INFO    ] No existing commands found in stream
[2026-08-29 10:26:50,764.764 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:26:50,767.767 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-08-29 10:26:54,171.171 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:26:54,173.173 INFO    ] Checking for system updates...
[2026-08-29 10:26:54,195.195 INFO    ] 200
[2026-08-29 10:26:54,196.196 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:26:54,227.227 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:26:54,228.228 INFO    ] No update needed
[2026-08-29 10:26:54,230.230 INFO    ] Checking for camera pi updates...
[2026-08-29 10:26:54,249.249 INFO    ] 200
[2026-08-29 10:26:54,251.251 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:26:54,274.274 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:26:54,350.350 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:26:54,351.351 INFO    ] No camera update needed
[2026-08-29 10:26:54,353.353 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:26:54,354.354 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:26:54,357.357 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:26:54,360.360 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:26:56,399.399 INFO    ] ================================================
[2026-08-29 10:26:56,414.414 INFO    ] Launching Daemon at Sat Aug 29 10:26:56 IST 2026
[2026-08-29 10:26:56,425.425 INFO    ] ================================================
[2026-08-29 10:26:56,791.791 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:26:56
[2026-08-29 10:26:57,102.102 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:26:57,235.235 INFO    ] Initializing speech engine...
[2026-08-29 10:26:57,240.240 INFO    ] 2026-08-29 10:26:57
[2026-08-29 10:26:57,469.469 INFO    ] 2026-08-29 10:26:57
[2026-08-29 10:26:57,500.500 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:26:57,632.632 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:26:57,665.665 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:26:57,815.815 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:26:57,844.844 INFO    ] time= 29/08/2026 10:26:57
[2026-08-29 10:26:57,906.906 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:26:57,940.940 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:26:58,026.026 INFO    ] No existing commands found in stream
[2026-08-29 10:27:03,034.034 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:27:03,038.038 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-08-29 10:27:04,023.023 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:27:04,026.026 INFO    ] Checking for system updates...
[2026-08-29 10:27:04,062.062 INFO    ] 200
[2026-08-29 10:27:04,065.065 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:27:04,127.127 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:27:04,130.130 INFO    ] No update needed
[2026-08-29 10:27:04,133.133 INFO    ] Checking for camera pi updates...
[2026-08-29 10:27:04,173.173 INFO    ] 200
[2026-08-29 10:27:04,176.176 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:27:04,224.224 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:27:04,330.330 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:27:04,333.333 INFO    ] No camera update needed
[2026-08-29 10:27:04,336.336 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:27:04,338.338 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:27:04,345.345 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:27:04,351.351 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:27:06,392.392 INFO    ] ================================================
[2026-08-29 10:27:06,411.411 INFO    ] Launching Daemon at Sat Aug 29 10:27:06 IST 2026
[2026-08-29 10:27:06,424.424 INFO    ] ================================================
[2026-08-29 10:27:07,041.041 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:27:07
[2026-08-29 10:27:07,636.636 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:27:07,889.889 INFO    ] Initializing speech engine...
[2026-08-29 10:27:07,912.912 INFO    ] 2026-08-29 10:27:07
[2026-08-29 10:27:08,172.172 INFO    ] 2026-08-29 10:27:08
[2026-08-29 10:27:08,209.209 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:27:08,384.384 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:27:08,396.396 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:27:08,509.509 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:27:08,516.516 INFO    ] time= 29/08/2026 10:27:08
[2026-08-29 10:27:08,530.530 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:27:08,554.554 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:27:08,628.628 INFO    ] No existing commands found in stream
[2026-08-29 10:27:13,641.641 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:27:13,644.644 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 10:27:15,577.577 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:27:15,579.579 INFO    ] Checking for system updates...
[2026-08-29 10:27:15,599.599 INFO    ] 200
[2026-08-29 10:27:15,600.600 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:27:15,631.631 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:27:15,633.633 INFO    ] No update needed
[2026-08-29 10:27:15,634.634 INFO    ] Checking for camera pi updates...
[2026-08-29 10:27:15,653.653 INFO    ] 200
[2026-08-29 10:27:15,654.654 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:27:15,682.682 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:27:15,770.770 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:27:15,772.772 INFO    ] No camera update needed
[2026-08-29 10:27:15,773.773 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:27:15,774.774 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:27:15,777.777 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:27:15,780.780 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:27:17,820.820 INFO    ] ================================================
[2026-08-29 10:27:17,835.835 INFO    ] Launching Daemon at Sat Aug 29 10:27:17 IST 2026
[2026-08-29 10:27:17,846.846 INFO    ] ================================================
[2026-08-29 10:27:18,182.182 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:27:18
[2026-08-29 10:27:18,500.500 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:27:18,679.679 INFO    ] Initializing speech engine...
[2026-08-29 10:27:18,688.688 INFO    ] 2026-08-29 10:27:18
[2026-08-29 10:27:18,937.937 INFO    ] 2026-08-29 10:27:18
[2026-08-29 10:27:19,005.005 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:27:19,226.226 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:27:19,236.236 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:27:19,372.372 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:27:19,442.442 INFO    ] time= 29/08/2026 10:27:19
[2026-08-29 10:27:19,496.496 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:27:19,506.506 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:27:19,637.637 INFO    ] No existing commands found in stream
[2026-08-29 10:27:24,661.661 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:27:24,664.664 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 10:27:25,293.293 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:27:25,294.294 INFO    ] Checking for system updates...
[2026-08-29 10:27:25,316.316 INFO    ] 200
[2026-08-29 10:27:25,318.318 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:27:25,349.349 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:27:25,350.350 INFO    ] No update needed
[2026-08-29 10:27:25,352.352 INFO    ] Checking for camera pi updates...
[2026-08-29 10:27:25,372.372 INFO    ] 200
[2026-08-29 10:27:25,373.373 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:27:25,397.397 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:27:25,498.498 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:27:25,500.500 INFO    ] No camera update needed
[2026-08-29 10:27:25,501.501 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:27:25,503.503 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:27:25,506.506 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:27:25,509.509 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:27:27,551.551 INFO    ] ================================================
[2026-08-29 10:27:27,567.567 INFO    ] Launching Daemon at Sat Aug 29 10:27:27 IST 2026
[2026-08-29 10:27:27,578.578 INFO    ] ================================================
[2026-08-29 10:27:27,940.940 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:27:27
[2026-08-29 10:27:28,252.252 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:27:28,389.389 INFO    ] Initializing speech engine...
[2026-08-29 10:27:28,399.399 INFO    ] 2026-08-29 10:27:28
[2026-08-29 10:27:28,603.603 INFO    ] 2026-08-29 10:27:28
[2026-08-29 10:27:28,631.631 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:27:28,744.744 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:27:28,750.750 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:27:28,920.920 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:27:28,946.946 INFO    ] time= 29/08/2026 10:27:28
[2026-08-29 10:27:28,951.951 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:27:28,969.969 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:27:29,085.085 INFO    ] No existing commands found in stream
[2026-08-29 10:27:34,107.107 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:27:34,109.109 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-08-29 10:27:37,204.204 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:27:37,205.205 INFO    ] Checking for system updates...
[2026-08-29 10:27:37,226.226 INFO    ] 200
[2026-08-29 10:27:37,227.227 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:27:37,257.257 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:27:37,259.259 INFO    ] No update needed
[2026-08-29 10:27:37,260.260 INFO    ] Checking for camera pi updates...
[2026-08-29 10:27:37,291.291 INFO    ] 200
[2026-08-29 10:27:37,293.293 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:27:37,333.333 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:27:37,416.416 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:27:37,419.419 INFO    ] No camera update needed
[2026-08-29 10:27:37,421.421 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:27:37,423.423 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:27:37,429.429 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:27:37,433.433 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:27:39,475.475 INFO    ] ================================================
[2026-08-29 10:27:39,491.491 INFO    ] Launching Daemon at Sat Aug 29 10:27:39 IST 2026
[2026-08-29 10:27:39,501.501 INFO    ] ================================================
[2026-08-29 10:27:40,178.178 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:27:40
[2026-08-29 10:27:40,630.630 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:27:40,785.785 INFO    ] Initializing speech engine...
[2026-08-29 10:27:40,792.792 INFO    ] 2026-08-29 10:27:40
[2026-08-29 10:27:41,005.005 INFO    ] 2026-08-29 10:27:40
[2026-08-29 10:27:41,090.090 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:27:41,242.242 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:27:41,252.252 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:27:41,386.386 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:27:41,429.429 INFO    ] time= 29/08/2026 10:27:41
[2026-08-29 10:27:41,494.494 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:27:41,524.524 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:27:41,582.582 INFO    ] No existing commands found in stream
[2026-08-29 10:27:46,607.607 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:27:46,611.611 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 10:27:47,100.100 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:27:47,103.103 INFO    ] Checking for system updates...
[2026-08-29 10:27:47,143.143 INFO    ] 200
[2026-08-29 10:27:47,145.145 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:27:47,198.198 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:27:47,200.200 INFO    ] No update needed
[2026-08-29 10:27:47,202.202 INFO    ] Checking for camera pi updates...
[2026-08-29 10:27:47,240.240 INFO    ] 200
[2026-08-29 10:27:47,243.243 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:27:47,283.283 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:27:47,366.366 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:27:47,368.368 INFO    ] No camera update needed
[2026-08-29 10:27:47,371.371 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:27:47,373.373 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:27:47,378.378 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:27:47,383.383 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:27:49,424.424 INFO    ] ================================================
[2026-08-29 10:27:49,439.439 INFO    ] Launching Daemon at Sat Aug 29 10:27:49 IST 2026
[2026-08-29 10:27:49,450.450 INFO    ] ================================================
[2026-08-29 10:27:49,804.804 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:27:49
[2026-08-29 10:27:50,119.119 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:27:50,260.260 INFO    ] Initializing speech engine...
[2026-08-29 10:27:50,271.271 INFO    ] 2026-08-29 10:27:50
[2026-08-29 10:27:50,477.477 INFO    ] 2026-08-29 10:27:50
[2026-08-29 10:27:50,505.505 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:27:50,632.632 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:27:50,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:27:50,828.828 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:27:50,890.890 INFO    ] time= 29/08/2026 10:27:50
[2026-08-29 10:27:50,925.925 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:27:50,930.930 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:27:51,003.003 INFO    ] No existing commands found in stream
[2026-08-29 10:27:56,012.012 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:27:56,014.014 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-08-29 10:27:59,682.682 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:27:59,684.684 INFO    ] Checking for system updates...
[2026-08-29 10:27:59,704.704 INFO    ] 200
[2026-08-29 10:27:59,706.706 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:27:59,737.737 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:27:59,739.739 INFO    ] No update needed
[2026-08-29 10:27:59,740.740 INFO    ] Checking for camera pi updates...
[2026-08-29 10:27:59,760.760 INFO    ] 200
[2026-08-29 10:27:59,761.761 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:27:59,784.784 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:27:59,835.835 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:27:59,836.836 INFO    ] No camera update needed
[2026-08-29 10:27:59,838.838 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:27:59,839.839 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:27:59,842.842 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:27:59,845.845 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:28:01,887.887 INFO    ] ================================================
[2026-08-29 10:28:01,908.908 INFO    ] Launching Daemon at Sat Aug 29 10:28:01 IST 2026
[2026-08-29 10:28:01,924.924 INFO    ] ================================================
[2026-08-29 10:28:02,559.559 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:28:02
[2026-08-29 10:28:03,234.234 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:28:03,515.515 INFO    ] Initializing speech engine...
[2026-08-29 10:28:03,524.524 INFO    ] 2026-08-29 10:28:03
[2026-08-29 10:28:03,771.771 INFO    ] 2026-08-29 10:28:03
[2026-08-29 10:28:03,808.808 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:28:03,981.981 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:28:03,993.993 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:28:04,134.134 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:28:04,143.143 INFO    ] time= 29/08/2026 10:28:04
[2026-08-29 10:28:04,147.147 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:28:04,152.152 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:28:04,217.217 INFO    ] No existing commands found in stream
[2026-08-29 10:28:09,229.229 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:28:09,232.232 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-08-29 10:28:10,806.806 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:28:10,807.807 INFO    ] Checking for system updates...
[2026-08-29 10:28:10,828.828 INFO    ] 200
[2026-08-29 10:28:10,829.829 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:28:10,860.860 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:28:10,861.861 INFO    ] No update needed
[2026-08-29 10:28:10,862.862 INFO    ] Checking for camera pi updates...
[2026-08-29 10:28:10,882.882 INFO    ] 200
[2026-08-29 10:28:10,883.883 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:28:10,907.907 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:28:10,979.979 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:28:10,981.981 INFO    ] No camera update needed
[2026-08-29 10:28:10,982.982 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:28:10,983.983 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:28:10,986.986 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:28:10,989.989 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:28:13,030.030 INFO    ] ================================================
[2026-08-29 10:28:13,047.047 INFO    ] Launching Daemon at Sat Aug 29 10:28:13 IST 2026
[2026-08-29 10:28:13,058.058 INFO    ] ================================================
[2026-08-29 10:28:13,430.430 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:28:13
[2026-08-29 10:28:13,773.773 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:28:13,928.928 INFO    ] Initializing speech engine...
[2026-08-29 10:28:13,933.933 INFO    ] 2026-08-29 10:28:13
[2026-08-29 10:28:14,139.139 INFO    ] 2026-08-29 10:28:14
[2026-08-29 10:28:14,167.167 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:28:14,306.306 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:28:14,353.353 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:28:14,501.501 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:28:14,559.559 INFO    ] time= 29/08/2026 10:28:14
[2026-08-29 10:28:14,581.581 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:28:14,588.588 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:28:14,656.656 INFO    ] No existing commands found in stream
[2026-08-29 10:28:19,670.670 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:28:19,674.674 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-08-29 10:28:20,437.437 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:28:20,438.438 INFO    ] Checking for system updates...
[2026-08-29 10:28:20,459.459 INFO    ] 200
[2026-08-29 10:28:20,461.461 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:28:20,494.494 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:28:20,495.495 INFO    ] No update needed
[2026-08-29 10:28:20,497.497 INFO    ] Checking for camera pi updates...
[2026-08-29 10:28:20,516.516 INFO    ] 200
[2026-08-29 10:28:20,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:28:20,541.541 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:28:20,641.641 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:28:20,643.643 INFO    ] No camera update needed
[2026-08-29 10:28:20,644.644 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:28:20,646.646 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:28:20,650.650 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:28:20,653.653 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:28:22,694.694 INFO    ] ================================================
[2026-08-29 10:28:22,710.710 INFO    ] Launching Daemon at Sat Aug 29 10:28:22 IST 2026
[2026-08-29 10:28:22,721.721 INFO    ] ================================================
[2026-08-29 10:28:23,068.068 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:28:23
[2026-08-29 10:28:23,411.411 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:28:23,565.565 INFO    ] Initializing speech engine...
[2026-08-29 10:28:23,570.570 INFO    ] 2026-08-29 10:28:23
[2026-08-29 10:28:23,779.779 INFO    ] 2026-08-29 10:28:23
[2026-08-29 10:28:23,808.808 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:28:23,932.932 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:28:23,965.965 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:28:24,127.127 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:28:24,184.184 INFO    ] time= 29/08/2026 10:28:24
[2026-08-29 10:28:24,227.227 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:28:24,234.234 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:28:24,301.301 INFO    ] No existing commands found in stream
[2026-08-29 10:28:29,312.312 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:28:29,315.315 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 10:28:32,381.381 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:28:32,385.385 INFO    ] Checking for system updates...
[2026-08-29 10:28:32,425.425 INFO    ] 200
[2026-08-29 10:28:32,431.431 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:28:32,495.495 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:28:32,498.498 INFO    ] No update needed
[2026-08-29 10:28:32,501.501 INFO    ] Checking for camera pi updates...
[2026-08-29 10:28:32,540.540 INFO    ] 200
[2026-08-29 10:28:32,543.543 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:28:32,596.596 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:28:32,784.784 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:28:32,787.787 INFO    ] No camera update needed
[2026-08-29 10:28:32,789.789 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:28:32,791.791 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:28:32,796.796 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:28:32,801.801 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:28:34,843.843 INFO    ] ================================================
[2026-08-29 10:28:34,859.859 INFO    ] Launching Daemon at Sat Aug 29 10:28:34 IST 2026
[2026-08-29 10:28:34,870.870 INFO    ] ================================================
[2026-08-29 10:28:35,301.301 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:28:35
[2026-08-29 10:28:35,613.613 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:28:35,743.743 INFO    ] Initializing speech engine...
[2026-08-29 10:28:35,747.747 INFO    ] 2026-08-29 10:28:35
[2026-08-29 10:28:35,941.941 INFO    ] 2026-08-29 10:28:35
[2026-08-29 10:28:35,995.995 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:28:36,213.213 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:28:36,222.222 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:28:36,355.355 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:28:36,382.382 INFO    ] time= 29/08/2026 10:28:36
[2026-08-29 10:28:36,441.441 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:28:36,487.487 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:28:36,538.538 INFO    ] No existing commands found in stream
[2026-08-29 10:28:41,550.550 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:28:41,553.553 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 10:28:44,412.412 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:28:44,413.413 INFO    ] Checking for system updates...
[2026-08-29 10:28:44,436.436 INFO    ] 200
[2026-08-29 10:28:44,437.437 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:28:44,470.470 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:28:44,471.471 INFO    ] No update needed
[2026-08-29 10:28:44,473.473 INFO    ] Checking for camera pi updates...
[2026-08-29 10:28:44,493.493 INFO    ] 200
[2026-08-29 10:28:44,494.494 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:28:44,517.517 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:28:44,616.616 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:28:44,618.618 INFO    ] No camera update needed
[2026-08-29 10:28:44,619.619 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:28:44,621.621 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:28:44,624.624 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:28:44,627.627 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:28:46,668.668 INFO    ] ================================================
[2026-08-29 10:28:46,684.684 INFO    ] Launching Daemon at Sat Aug 29 10:28:46 IST 2026
[2026-08-29 10:28:46,696.696 INFO    ] ================================================
[2026-08-29 10:28:47,057.057 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:28:47
[2026-08-29 10:28:47,369.369 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:28:47,513.513 INFO    ] Initializing speech engine...
[2026-08-29 10:28:47,517.517 INFO    ] 2026-08-29 10:28:47
[2026-08-29 10:28:47,723.723 INFO    ] 2026-08-29 10:28:47
[2026-08-29 10:28:47,756.756 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:28:47,922.922 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:28:47,929.929 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:28:48,104.104 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:28:48,136.136 INFO    ] time= 29/08/2026 10:28:48
[2026-08-29 10:28:48,151.151 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:28:48,160.160 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:28:48,276.276 INFO    ] No existing commands found in stream
[2026-08-29 10:28:53,296.296 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:28:53,298.298 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-08-29 10:28:53,784.784 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:28:53,786.786 INFO    ] Checking for system updates...
[2026-08-29 10:28:53,806.806 INFO    ] 200
[2026-08-29 10:28:53,807.807 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:28:53,837.837 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:28:53,838.838 INFO    ] No update needed
[2026-08-29 10:28:53,839.839 INFO    ] Checking for camera pi updates...
[2026-08-29 10:28:53,859.859 INFO    ] 200
[2026-08-29 10:28:53,860.860 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:28:53,883.883 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:28:53,965.965 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:28:53,966.966 INFO    ] No camera update needed
[2026-08-29 10:28:53,967.967 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:28:53,968.968 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:28:53,971.971 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:28:53,974.974 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:28:56,014.014 INFO    ] ================================================
[2026-08-29 10:28:56,030.030 INFO    ] Launching Daemon at Sat Aug 29 10:28:56 IST 2026
[2026-08-29 10:28:56,041.041 INFO    ] ================================================
[2026-08-29 10:28:56,388.388 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:28:56
[2026-08-29 10:28:56,709.709 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:28:56,861.861 INFO    ] Initializing speech engine...
[2026-08-29 10:28:56,877.877 INFO    ] 2026-08-29 10:28:56
[2026-08-29 10:28:57,128.128 INFO    ] 2026-08-29 10:28:57
[2026-08-29 10:28:57,163.163 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:28:57,334.334 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:28:57,347.347 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:28:57,488.488 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:28:57,496.496 INFO    ] time= 29/08/2026 10:28:57
[2026-08-29 10:28:57,503.503 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:28:57,549.549 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:28:57,672.672 INFO    ] No existing commands found in stream
[2026-08-29 10:29:02,703.703 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:29:02,706.706 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-08-29 10:29:03,272.272 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:29:03,274.274 INFO    ] Checking for system updates...
[2026-08-29 10:29:03,310.310 INFO    ] 200
[2026-08-29 10:29:03,313.313 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:29:03,366.366 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:29:03,368.368 INFO    ] No update needed
[2026-08-29 10:29:03,370.370 INFO    ] Checking for camera pi updates...
[2026-08-29 10:29:03,408.408 INFO    ] 200
[2026-08-29 10:29:03,410.410 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:29:03,451.451 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:29:03,530.530 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:29:03,533.533 INFO    ] No camera update needed
[2026-08-29 10:29:03,535.535 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:29:03,538.538 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:29:03,543.543 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:29:03,548.548 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:29:05,591.591 INFO    ] ================================================
[2026-08-29 10:29:05,607.607 INFO    ] Launching Daemon at Sat Aug 29 10:29:05 IST 2026
[2026-08-29 10:29:05,619.619 INFO    ] ================================================
[2026-08-29 10:29:05,958.958 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:29:05
[2026-08-29 10:29:06,533.533 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:29:06,790.790 INFO    ] Initializing speech engine...
[2026-08-29 10:29:06,796.796 INFO    ] 2026-08-29 10:29:06
[2026-08-29 10:29:07,099.099 INFO    ] 2026-08-29 10:29:07
[2026-08-29 10:29:07,125.125 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:29:07,285.285 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:29:07,292.292 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:29:07,446.446 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:29:07,458.458 INFO    ] time= 29/08/2026 10:29:07
[2026-08-29 10:29:07,464.464 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:29:07,488.488 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:29:07,540.540 INFO    ] No existing commands found in stream
[2026-08-29 10:29:12,551.551 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:29:12,554.554 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-08-29 10:29:15,349.349 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:29:15,350.350 INFO    ] Checking for system updates...
[2026-08-29 10:29:15,371.371 INFO    ] 200
[2026-08-29 10:29:15,372.372 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:29:15,404.404 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:29:15,406.406 INFO    ] No update needed
[2026-08-29 10:29:15,407.407 INFO    ] Checking for camera pi updates...
[2026-08-29 10:29:15,428.428 INFO    ] 200
[2026-08-29 10:29:15,429.429 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:29:15,453.453 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:29:15,549.549 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:29:15,550.550 INFO    ] No camera update needed
[2026-08-29 10:29:15,551.551 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:29:15,553.553 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:29:15,555.555 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:29:15,558.558 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:29:17,596.596 INFO    ] ================================================
[2026-08-29 10:29:17,612.612 INFO    ] Launching Daemon at Sat Aug 29 10:29:17 IST 2026
[2026-08-29 10:29:17,623.623 INFO    ] ================================================
[2026-08-29 10:29:17,973.973 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:29:17
[2026-08-29 10:29:18,286.286 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:29:18,533.533 INFO    ] Initializing speech engine...
[2026-08-29 10:29:18,543.543 INFO    ] 2026-08-29 10:29:18
[2026-08-29 10:29:18,790.790 INFO    ] 2026-08-29 10:29:18
[2026-08-29 10:29:18,825.825 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:29:18,996.996 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:29:19,007.007 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:29:19,149.149 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:29:19,157.157 INFO    ] time= 29/08/2026 10:29:19
[2026-08-29 10:29:19,164.164 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:29:19,185.185 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:29:19,317.317 INFO    ] No existing commands found in stream
[2026-08-29 10:29:24,347.347 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:29:24,350.350 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 10:29:27,797.797 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:29:27,798.798 INFO    ] Checking for system updates...
[2026-08-29 10:29:27,818.818 INFO    ] 200
[2026-08-29 10:29:27,820.820 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:29:27,849.849 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:29:27,851.851 INFO    ] No update needed
[2026-08-29 10:29:27,852.852 INFO    ] Checking for camera pi updates...
[2026-08-29 10:29:27,871.871 INFO    ] 200
[2026-08-29 10:29:27,873.873 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:29:27,896.896 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:29:27,988.988 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:29:27,990.990 INFO    ] No camera update needed
[2026-08-29 10:29:27,992.992 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:29:27,995.995 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:29:28,000.000 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:29:28,005.005 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:29:30,045.045 INFO    ] ================================================
[2026-08-29 10:29:30,061.061 INFO    ] Launching Daemon at Sat Aug 29 10:29:30 IST 2026
[2026-08-29 10:29:30,072.072 INFO    ] ================================================
[2026-08-29 10:29:30,657.657 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:29:30
[2026-08-29 10:29:31,170.170 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:29:31,445.445 INFO    ] Initializing speech engine...
[2026-08-29 10:29:31,454.454 INFO    ] 2026-08-29 10:29:31
[2026-08-29 10:29:31,762.762 INFO    ] 2026-08-29 10:29:31
[2026-08-29 10:29:31,801.801 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:29:32,009.009 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:29:32,016.016 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:29:32,135.135 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:29:32,268.268 INFO    ] time= 29/08/2026 10:29:32
[2026-08-29 10:29:32,276.276 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:29:32,310.310 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:29:32,429.429 INFO    ] No existing commands found in stream
[2026-08-29 10:29:37,440.440 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:29:37,443.443 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-08-29 10:29:38,780.780 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:29:38,781.781 INFO    ] Checking for system updates...
[2026-08-29 10:29:38,802.802 INFO    ] 200
[2026-08-29 10:29:38,803.803 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:29:38,833.833 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:29:38,834.834 INFO    ] No update needed
[2026-08-29 10:29:38,836.836 INFO    ] Checking for camera pi updates...
[2026-08-29 10:29:38,858.858 INFO    ] 200
[2026-08-29 10:29:38,859.859 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:29:38,884.884 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:29:38,986.986 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:29:38,987.987 INFO    ] No camera update needed
[2026-08-29 10:29:38,989.989 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:29:38,990.990 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:29:38,993.993 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:29:38,996.996 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:29:41,034.034 INFO    ] ================================================
[2026-08-29 10:29:41,050.050 INFO    ] Launching Daemon at Sat Aug 29 10:29:41 IST 2026
[2026-08-29 10:29:41,062.062 INFO    ] ================================================
[2026-08-29 10:29:41,428.428 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:29:41
[2026-08-29 10:29:41,770.770 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:29:41,917.917 INFO    ] Initializing speech engine...
[2026-08-29 10:29:41,927.927 INFO    ] 2026-08-29 10:29:41
[2026-08-29 10:29:42,138.138 INFO    ] 2026-08-29 10:29:42
[2026-08-29 10:29:42,166.166 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:29:42,284.284 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:29:42,286.286 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:29:42,418.418 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:29:42,428.428 INFO    ] time= 29/08/2026 10:29:42
[2026-08-29 10:29:42,455.455 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:29:42,465.465 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:29:42,565.565 INFO    ] No existing commands found in stream
[2026-08-29 10:29:47,577.577 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:29:47,580.580 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-08-29 10:29:51,446.446 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:29:51,447.447 INFO    ] Checking for system updates...
[2026-08-29 10:29:51,469.469 INFO    ] 200
[2026-08-29 10:29:51,470.470 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:29:51,502.502 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:29:51,504.504 INFO    ] No update needed
[2026-08-29 10:29:51,505.505 INFO    ] Checking for camera pi updates...
[2026-08-29 10:29:51,524.524 INFO    ] 200
[2026-08-29 10:29:51,525.525 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:29:51,548.548 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:29:51,628.628 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:29:51,631.631 INFO    ] No camera update needed
[2026-08-29 10:29:51,633.633 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:29:51,636.636 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:29:51,641.641 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:29:51,646.646 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:29:53,687.687 INFO    ] ================================================
[2026-08-29 10:29:53,702.702 INFO    ] Launching Daemon at Sat Aug 29 10:29:53 IST 2026
[2026-08-29 10:29:53,712.712 INFO    ] ================================================
[2026-08-29 10:29:54,304.304 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:29:54
[2026-08-29 10:29:54,827.827 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:29:54,961.961 INFO    ] Initializing speech engine...
[2026-08-29 10:29:54,973.973 INFO    ] 2026-08-29 10:29:54
[2026-08-29 10:29:55,218.218 INFO    ] 2026-08-29 10:29:55
[2026-08-29 10:29:55,277.277 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:29:55,443.443 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:29:55,451.451 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:29:55,617.617 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:29:55,649.649 INFO    ] time= 29/08/2026 10:29:55
[2026-08-29 10:29:55,655.655 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:29:55,676.676 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:29:55,793.793 INFO    ] No existing commands found in stream
[2026-08-29 10:30:00,817.817 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:30:00,820.820 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-08-29 10:30:08,958.958 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:30:08,959.959 INFO    ] Checking for system updates...
[2026-08-29 10:30:08,980.980 INFO    ] 200
[2026-08-29 10:30:08,981.981 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:30:09,014.014 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:30:09,015.015 INFO    ] No update needed
[2026-08-29 10:30:09,017.017 INFO    ] Checking for camera pi updates...
[2026-08-29 10:30:09,037.037 INFO    ] 200
[2026-08-29 10:30:09,038.038 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:30:09,061.061 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:30:09,146.146 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:30:09,147.147 INFO    ] No camera update needed
[2026-08-29 10:30:09,148.148 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:30:09,149.149 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:30:09,152.152 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:30:09,155.155 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:30:11,195.195 INFO    ] ================================================
[2026-08-29 10:30:11,210.210 INFO    ] Launching Daemon at Sat Aug 29 10:30:11 IST 2026
[2026-08-29 10:30:11,221.221 INFO    ] ================================================
[2026-08-29 10:30:11,709.709 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:30:11
[2026-08-29 10:30:12,305.305 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:30:12,571.571 INFO    ] Initializing speech engine...
[2026-08-29 10:30:12,596.596 INFO    ] 2026-08-29 10:30:12
[2026-08-29 10:30:12,869.869 INFO    ] 2026-08-29 10:30:12
[2026-08-29 10:30:12,907.907 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:30:13,102.102 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:30:13,109.109 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:30:13,218.218 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:30:13,238.238 INFO    ] time= 29/08/2026 10:30:13
[2026-08-29 10:30:13,248.248 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:30:13,255.255 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:30:13,355.355 INFO    ] No existing commands found in stream
[2026-08-29 10:30:18,383.383 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:30:18,386.386 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-08-29 10:30:20,405.405 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:30:20,407.407 INFO    ] Checking for system updates...
[2026-08-29 10:30:20,429.429 INFO    ] 200
[2026-08-29 10:30:20,430.430 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:30:20,465.465 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:30:20,466.466 INFO    ] No update needed
[2026-08-29 10:30:20,468.468 INFO    ] Checking for camera pi updates...
[2026-08-29 10:30:20,487.487 INFO    ] 200
[2026-08-29 10:30:20,489.489 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:30:20,512.512 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:30:20,592.592 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:30:20,595.595 INFO    ] No camera update needed
[2026-08-29 10:30:20,597.597 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:30:20,600.600 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:30:20,606.606 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:30:20,612.612 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:30:22,654.654 INFO    ] ================================================
[2026-08-29 10:30:22,669.669 INFO    ] Launching Daemon at Sat Aug 29 10:30:22 IST 2026
[2026-08-29 10:30:22,680.680 INFO    ] ================================================
[2026-08-29 10:30:23,261.261 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:30:23
[2026-08-29 10:30:23,728.728 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:30:23,862.862 INFO    ] Initializing speech engine...
[2026-08-29 10:30:23,875.875 INFO    ] 2026-08-29 10:30:23
[2026-08-29 10:30:24,075.075 INFO    ] 2026-08-29 10:30:24
[2026-08-29 10:30:24,111.111 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:30:24,362.362 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:30:24,371.371 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:30:24,524.524 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:30:24,546.546 INFO    ] time= 29/08/2026 10:30:24
[2026-08-29 10:30:24,581.581 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:30:24,625.625 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:30:24,700.700 INFO    ] No existing commands found in stream
[2026-08-29 10:30:29,713.713 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:30:29,716.716 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-08-29 10:30:30,988.988 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:30:30,989.989 INFO    ] Checking for system updates...
[2026-08-29 10:30:31,011.011 INFO    ] 200
[2026-08-29 10:30:31,012.012 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:30:31,042.042 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:30:31,043.043 INFO    ] No update needed
[2026-08-29 10:30:31,045.045 INFO    ] Checking for camera pi updates...
[2026-08-29 10:30:31,064.064 INFO    ] 200
[2026-08-29 10:30:31,065.065 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:30:31,088.088 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:30:31,188.188 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:30:31,190.190 INFO    ] No camera update needed
[2026-08-29 10:30:31,193.193 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:30:31,195.195 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:30:31,200.200 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:30:31,206.206 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:30:33,249.249 INFO    ] ================================================
[2026-08-29 10:30:33,264.264 INFO    ] Launching Daemon at Sat Aug 29 10:30:33 IST 2026
[2026-08-29 10:30:33,274.274 INFO    ] ================================================
[2026-08-29 10:30:33,861.861 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:30:33
[2026-08-29 10:30:34,228.228 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:30:34,482.482 INFO    ] Initializing speech engine...
[2026-08-29 10:30:34,492.492 INFO    ] 2026-08-29 10:30:34
[2026-08-29 10:30:34,762.762 INFO    ] 2026-08-29 10:30:34
[2026-08-29 10:30:34,799.799 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:30:34,995.995 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:30:35,000.000 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:30:35,110.110 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:30:35,116.116 INFO    ] time= 29/08/2026 10:30:35
[2026-08-29 10:30:35,140.140 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:30:35,147.147 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:30:35,254.254 INFO    ] No existing commands found in stream
[2026-08-29 10:30:40,276.276 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:30:40,279.279 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-08-29 10:30:41,850.850 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:30:41,852.852 INFO    ] Checking for system updates...
[2026-08-29 10:30:41,873.873 INFO    ] 200
[2026-08-29 10:30:41,874.874 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:30:41,906.906 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:30:41,907.907 INFO    ] No update needed
[2026-08-29 10:30:41,909.909 INFO    ] Checking for camera pi updates...
[2026-08-29 10:30:41,928.928 INFO    ] 200
[2026-08-29 10:30:41,929.929 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:30:41,954.954 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:30:42,127.127 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:30:42,129.129 INFO    ] No camera update needed
[2026-08-29 10:30:42,130.130 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:30:42,131.131 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:30:42,134.134 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:30:42,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:30:44,176.176 INFO    ] ================================================
[2026-08-29 10:30:44,191.191 INFO    ] Launching Daemon at Sat Aug 29 10:30:44 IST 2026
[2026-08-29 10:30:44,202.202 INFO    ] ================================================
[2026-08-29 10:30:44,542.542 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:30:44
[2026-08-29 10:30:44,860.860 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:30:45,005.005 INFO    ] Initializing speech engine...
[2026-08-29 10:30:45,010.010 INFO    ] 2026-08-29 10:30:45
[2026-08-29 10:30:45,216.216 INFO    ] 2026-08-29 10:30:45
[2026-08-29 10:30:45,252.252 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:30:45,424.424 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:30:45,437.437 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:30:45,581.581 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:30:45,586.586 INFO    ] time= 29/08/2026 10:30:45
[2026-08-29 10:30:45,593.593 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:30:45,614.614 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:30:45,738.738 INFO    ] No existing commands found in stream
[2026-08-29 10:30:50,761.761 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:30:50,764.764 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 10:30:52,319.319 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:30:52,320.320 INFO    ] Checking for system updates...
[2026-08-29 10:30:52,341.341 INFO    ] 200
[2026-08-29 10:30:52,342.342 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:30:52,373.373 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:30:52,374.374 INFO    ] No update needed
[2026-08-29 10:30:52,375.375 INFO    ] Checking for camera pi updates...
[2026-08-29 10:30:52,394.394 INFO    ] 200
[2026-08-29 10:30:52,396.396 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:30:52,419.419 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:30:52,524.524 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:30:52,526.526 INFO    ] No camera update needed
[2026-08-29 10:30:52,529.529 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:30:52,531.531 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:30:52,537.537 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:30:52,542.542 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:30:54,583.583 INFO    ] ================================================
[2026-08-29 10:30:54,599.599 INFO    ] Launching Daemon at Sat Aug 29 10:30:54 IST 2026
[2026-08-29 10:30:54,609.609 INFO    ] ================================================
[2026-08-29 10:30:55,178.178 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:30:55
[2026-08-29 10:30:55,675.675 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:30:55,809.809 INFO    ] Initializing speech engine...
[2026-08-29 10:30:55,814.814 INFO    ] 2026-08-29 10:30:55
[2026-08-29 10:30:56,075.075 INFO    ] 2026-08-29 10:30:56
[2026-08-29 10:30:56,110.110 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:30:56,255.255 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:30:56,265.265 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:30:56,417.417 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:30:56,427.427 INFO    ] time= 29/08/2026 10:30:56
[2026-08-29 10:30:56,433.433 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:30:56,456.456 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:30:56,515.515 INFO    ] No existing commands found in stream
[2026-08-29 10:31:01,533.533 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:31:01,535.535 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-08-29 10:31:03,994.994 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:31:03,996.996 INFO    ] Checking for system updates...
[2026-08-29 10:31:04,033.033 INFO    ] 200
[2026-08-29 10:31:04,035.035 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:31:04,088.088 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:31:04,091.091 INFO    ] No update needed
[2026-08-29 10:31:04,093.093 INFO    ] Checking for camera pi updates...
[2026-08-29 10:31:04,130.130 INFO    ] 200
[2026-08-29 10:31:04,133.133 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:31:04,174.174 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:31:04,277.277 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:31:04,280.280 INFO    ] No camera update needed
[2026-08-29 10:31:04,282.282 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:31:04,285.285 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:31:04,290.290 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:31:04,295.295 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:31:06,337.337 INFO    ] ================================================
[2026-08-29 10:31:06,360.360 INFO    ] Launching Daemon at Sat Aug 29 10:31:06 IST 2026
[2026-08-29 10:31:06,374.374 INFO    ] ================================================
[2026-08-29 10:31:06,765.765 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:31:06
[2026-08-29 10:31:07,107.107 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:31:07,262.262 INFO    ] Initializing speech engine...
[2026-08-29 10:31:07,266.266 INFO    ] 2026-08-29 10:31:07
[2026-08-29 10:31:07,475.475 INFO    ] 2026-08-29 10:31:07
[2026-08-29 10:31:07,506.506 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:31:07,628.628 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:31:07,691.691 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:31:07,845.845 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:31:07,871.871 INFO    ] time= 29/08/2026 10:31:07
[2026-08-29 10:31:07,905.905 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:31:07,972.972 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:31:08,079.079 INFO    ] No existing commands found in stream
[2026-08-29 10:31:13,093.093 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:31:13,096.096 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-08-29 10:31:15,445.445 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:31:15,447.447 INFO    ] Checking for system updates...
[2026-08-29 10:31:15,468.468 INFO    ] 200
[2026-08-29 10:31:15,469.469 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:31:15,499.499 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:31:15,501.501 INFO    ] No update needed
[2026-08-29 10:31:15,502.502 INFO    ] Checking for camera pi updates...
[2026-08-29 10:31:15,522.522 INFO    ] 200
[2026-08-29 10:31:15,524.524 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:31:15,547.547 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:31:15,647.647 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:31:15,649.649 INFO    ] No camera update needed
[2026-08-29 10:31:15,650.650 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:31:15,652.652 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:31:15,655.655 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:31:15,658.658 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:31:17,697.697 INFO    ] ================================================
[2026-08-29 10:31:17,713.713 INFO    ] Launching Daemon at Sat Aug 29 10:31:17 IST 2026
[2026-08-29 10:31:17,724.724 INFO    ] ================================================
[2026-08-29 10:31:18,082.082 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:31:18
[2026-08-29 10:31:18,429.429 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:31:18,736.736 INFO    ] Initializing speech engine...
[2026-08-29 10:31:18,745.745 INFO    ] 2026-08-29 10:31:18
[2026-08-29 10:31:19,055.055 INFO    ] 2026-08-29 10:31:19
[2026-08-29 10:31:19,138.138 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:31:19,293.293 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:31:19,299.299 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:31:19,433.433 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:31:19,484.484 INFO    ] time= 29/08/2026 10:31:19
[2026-08-29 10:31:19,539.539 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:31:19,568.568 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:31:19,627.627 INFO    ] No existing commands found in stream
[2026-08-29 10:31:24,647.647 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:31:24,650.650 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-08-29 10:31:28,171.171 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:31:28,173.173 INFO    ] Checking for system updates...
[2026-08-29 10:31:28,194.194 INFO    ] 200
[2026-08-29 10:31:28,196.196 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:31:28,228.228 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:31:28,229.229 INFO    ] No update needed
[2026-08-29 10:31:28,231.231 INFO    ] Checking for camera pi updates...
[2026-08-29 10:31:28,253.253 INFO    ] 200
[2026-08-29 10:31:28,254.254 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:31:28,277.277 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:31:28,353.353 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:31:28,355.355 INFO    ] No camera update needed
[2026-08-29 10:31:28,356.356 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:31:28,357.357 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:31:28,360.360 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:31:28,364.364 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:31:30,403.403 INFO    ] ================================================
[2026-08-29 10:31:30,418.418 INFO    ] Launching Daemon at Sat Aug 29 10:31:30 IST 2026
[2026-08-29 10:31:30,429.429 INFO    ] ================================================
[2026-08-29 10:31:30,846.846 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:31:30
[2026-08-29 10:31:31,430.430 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:31:31,698.698 INFO    ] Initializing speech engine...
[2026-08-29 10:31:31,701.701 INFO    ] 2026-08-29 10:31:31
[2026-08-29 10:31:32,013.013 INFO    ] 2026-08-29 10:31:31
[2026-08-29 10:31:32,054.054 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:31:32,260.260 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:31:32,266.266 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:31:32,383.383 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:31:32,394.394 INFO    ] time= 29/08/2026 10:31:32
[2026-08-29 10:31:32,400.400 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:31:32,420.420 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:31:32,479.479 INFO    ] No existing commands found in stream
[2026-08-29 10:31:37,490.490 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:31:37,493.493 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-08-29 10:31:41,796.796 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:31:41,798.798 INFO    ] Checking for system updates...
[2026-08-29 10:31:41,819.819 INFO    ] 200
[2026-08-29 10:31:41,820.820 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:31:41,851.851 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:31:41,852.852 INFO    ] No update needed
[2026-08-29 10:31:41,853.853 INFO    ] Checking for camera pi updates...
[2026-08-29 10:31:41,873.873 INFO    ] 200
[2026-08-29 10:31:41,874.874 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:31:41,899.899 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:31:41,948.948 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:31:41,950.950 INFO    ] No camera update needed
[2026-08-29 10:31:41,951.951 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:31:41,952.952 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:31:41,955.955 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:31:41,958.958 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:31:44,998.998 INFO    ] ================================================
[2026-08-29 10:31:44,013.013 INFO    ] Launching Daemon at Sat Aug 29 10:31:44 IST 2026
[2026-08-29 10:31:44,024.024 INFO    ] ================================================
[2026-08-29 10:31:44,528.528 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:31:44
[2026-08-29 10:31:45,114.114 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:31:45,393.393 INFO    ] Initializing speech engine...
[2026-08-29 10:31:45,399.399 INFO    ] 2026-08-29 10:31:45
[2026-08-29 10:31:45,645.645 INFO    ] 2026-08-29 10:31:45
[2026-08-29 10:31:45,680.680 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:31:45,852.852 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:31:45,864.864 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:31:45,975.975 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:31:45,992.992 INFO    ] time= 29/08/2026 10:31:45
[2026-08-29 10:31:46,012.012 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:31:46,019.019 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:31:46,090.090 INFO    ] No existing commands found in stream
[2026-08-29 10:31:51,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:31:51,123.123 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-08-29 10:31:54,087.087 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:31:54,089.089 INFO    ] Checking for system updates...
[2026-08-29 10:31:54,109.109 INFO    ] 200
[2026-08-29 10:31:54,111.111 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:31:54,143.143 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:31:54,145.145 INFO    ] No update needed
[2026-08-29 10:31:54,146.146 INFO    ] Checking for camera pi updates...
[2026-08-29 10:31:54,167.167 INFO    ] 200
[2026-08-29 10:31:54,169.169 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:31:54,192.192 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:31:54,291.291 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:31:54,293.293 INFO    ] No camera update needed
[2026-08-29 10:31:54,294.294 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:31:54,295.295 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:31:54,298.298 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:31:54,301.301 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:31:56,339.339 INFO    ] ================================================
[2026-08-29 10:31:56,355.355 INFO    ] Launching Daemon at Sat Aug 29 10:31:56 IST 2026
[2026-08-29 10:31:56,365.365 INFO    ] ================================================
[2026-08-29 10:31:56,712.712 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:31:56
[2026-08-29 10:31:57,030.030 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:31:57,184.184 INFO    ] Initializing speech engine...
[2026-08-29 10:31:57,188.188 INFO    ] 2026-08-29 10:31:57
[2026-08-29 10:31:57,396.396 INFO    ] 2026-08-29 10:31:57
[2026-08-29 10:31:57,426.426 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:31:57,549.549 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:31:57,603.603 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:31:57,746.746 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:31:57,766.766 INFO    ] time= 29/08/2026 10:31:57
[2026-08-29 10:31:57,796.796 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:31:57,806.806 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:31:57,916.916 INFO    ] No existing commands found in stream
[2026-08-29 10:32:02,952.952 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:32:02,956.956 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-08-29 10:32:04,191.191 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:32:04,194.194 INFO    ] Checking for system updates...
[2026-08-29 10:32:04,236.236 INFO    ] 200
[2026-08-29 10:32:04,239.239 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:32:04,292.292 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:32:04,295.295 INFO    ] No update needed
[2026-08-29 10:32:04,298.298 INFO    ] Checking for camera pi updates...
[2026-08-29 10:32:04,333.333 INFO    ] 200
[2026-08-29 10:32:04,336.336 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:32:04,379.379 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:32:04,431.431 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:32:04,434.434 INFO    ] No camera update needed
[2026-08-29 10:32:04,437.437 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:32:04,440.440 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:32:04,446.446 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:32:04,452.452 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:32:06,495.495 INFO    ] ================================================
[2026-08-29 10:32:06,510.510 INFO    ] Launching Daemon at Sat Aug 29 10:32:06 IST 2026
[2026-08-29 10:32:06,521.521 INFO    ] ================================================
[2026-08-29 10:32:06,876.876 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:32:06
[2026-08-29 10:32:07,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:32:07,371.371 INFO    ] Initializing speech engine...
[2026-08-29 10:32:07,377.377 INFO    ] 2026-08-29 10:32:07
[2026-08-29 10:32:07,586.586 INFO    ] 2026-08-29 10:32:07
[2026-08-29 10:32:07,617.617 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:32:07,735.735 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:32:07,742.742 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:32:07,915.915 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:32:07,944.944 INFO    ] time= 29/08/2026 10:32:07
[2026-08-29 10:32:07,963.963 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:32:07,993.993 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:32:08,096.096 INFO    ] No existing commands found in stream
[2026-08-29 10:32:13,111.111 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:32:13,114.114 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-08-29 10:32:15,807.807 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:32:15,808.808 INFO    ] Checking for system updates...
[2026-08-29 10:32:15,829.829 INFO    ] 200
[2026-08-29 10:32:15,831.831 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:32:15,862.862 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:32:15,863.863 INFO    ] No update needed
[2026-08-29 10:32:15,865.865 INFO    ] Checking for camera pi updates...
[2026-08-29 10:32:15,884.884 INFO    ] 200
[2026-08-29 10:32:15,886.886 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:32:15,910.910 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:32:15,990.990 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:32:15,992.992 INFO    ] No camera update needed
[2026-08-29 10:32:15,993.993 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:32:15,995.995 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:32:15,998.998 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:32:16,001.001 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:32:18,034.034 INFO    ] ================================================
[2026-08-29 10:32:18,049.049 INFO    ] Launching Daemon at Sat Aug 29 10:32:18 IST 2026
[2026-08-29 10:32:18,060.060 INFO    ] ================================================
[2026-08-29 10:32:18,408.408 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:32:18
[2026-08-29 10:32:18,778.778 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:32:19,059.059 INFO    ] Initializing speech engine...
[2026-08-29 10:32:19,065.065 INFO    ] 2026-08-29 10:32:19
[2026-08-29 10:32:19,316.316 INFO    ] 2026-08-29 10:32:19
[2026-08-29 10:32:19,383.383 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:32:19,605.605 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:32:19,614.614 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:32:19,746.746 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:32:19,789.789 INFO    ] time= 29/08/2026 10:32:19
[2026-08-29 10:32:19,848.848 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:32:19,880.880 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:32:19,940.940 INFO    ] No existing commands found in stream
[2026-08-29 10:32:24,951.951 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:32:24,954.954 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-08-29 10:32:27,405.405 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:32:27,408.408 INFO    ] Checking for system updates...
[2026-08-29 10:32:27,444.444 INFO    ] 200
[2026-08-29 10:32:27,447.447 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:32:27,500.500 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:32:27,503.503 INFO    ] No update needed
[2026-08-29 10:32:27,505.505 INFO    ] Checking for camera pi updates...
[2026-08-29 10:32:27,539.539 INFO    ] 200
[2026-08-29 10:32:27,541.541 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:32:27,581.581 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:32:27,674.674 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:32:27,676.676 INFO    ] No camera update needed
[2026-08-29 10:32:27,679.679 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:32:27,681.681 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:32:27,686.686 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:32:27,691.691 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:32:29,733.733 INFO    ] ================================================
[2026-08-29 10:32:29,748.748 INFO    ] Launching Daemon at Sat Aug 29 10:32:29 IST 2026
[2026-08-29 10:32:29,759.759 INFO    ] ================================================
[2026-08-29 10:32:30,345.345 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:32:30
[2026-08-29 10:32:30,675.675 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:32:30,811.811 INFO    ] Initializing speech engine...
[2026-08-29 10:32:30,816.816 INFO    ] 2026-08-29 10:32:30
[2026-08-29 10:32:31,039.039 INFO    ] 2026-08-29 10:32:31
[2026-08-29 10:32:31,130.130 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:32:31,300.300 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:32:31,309.309 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:32:31,463.463 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:32:31,469.469 INFO    ] time= 29/08/2026 10:32:31
[2026-08-29 10:32:31,519.519 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:32:31,566.566 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:32:31,639.639 INFO    ] No existing commands found in stream
[2026-08-29 10:32:36,647.647 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:32:36,650.650 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-08-29 10:32:39,403.403 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:32:39,405.405 INFO    ] Checking for system updates...
[2026-08-29 10:32:39,425.425 INFO    ] 200
[2026-08-29 10:32:39,427.427 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:32:39,462.462 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:32:39,463.463 INFO    ] No update needed
[2026-08-29 10:32:39,464.464 INFO    ] Checking for camera pi updates...
[2026-08-29 10:32:39,484.484 INFO    ] 200
[2026-08-29 10:32:39,485.485 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:32:39,508.508 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:32:39,608.608 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:32:39,610.610 INFO    ] No camera update needed
[2026-08-29 10:32:39,611.611 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:32:39,612.612 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:32:39,615.615 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:32:39,618.618 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:32:41,657.657 INFO    ] ================================================
[2026-08-29 10:32:41,673.673 INFO    ] Launching Daemon at Sat Aug 29 10:32:41 IST 2026
[2026-08-29 10:32:41,689.689 INFO    ] ================================================
[2026-08-29 10:32:42,061.061 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:32:42
[2026-08-29 10:32:42,394.394 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:32:42,550.550 INFO    ] Initializing speech engine...
[2026-08-29 10:32:42,555.555 INFO    ] 2026-08-29 10:32:42
[2026-08-29 10:32:42,753.753 INFO    ] 2026-08-29 10:32:42
[2026-08-29 10:32:42,781.781 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:32:42,903.903 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:32:42,965.965 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:32:43,101.101 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:32:43,167.167 INFO    ] time= 29/08/2026 10:32:43
[2026-08-29 10:32:43,194.194 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:32:43,200.200 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:32:43,267.267 INFO    ] No existing commands found in stream
[2026-08-29 10:32:48,272.272 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:32:48,275.275 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-08-29 10:32:50,496.496 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:32:50,498.498 INFO    ] Checking for system updates...
[2026-08-29 10:32:50,518.518 INFO    ] 200
[2026-08-29 10:32:50,520.520 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:32:50,550.550 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:32:50,551.551 INFO    ] No update needed
[2026-08-29 10:32:50,553.553 INFO    ] Checking for camera pi updates...
[2026-08-29 10:32:50,574.574 INFO    ] 200
[2026-08-29 10:32:50,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:32:50,600.600 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:32:50,801.801 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:32:50,803.803 INFO    ] No camera update needed
[2026-08-29 10:32:50,804.804 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:32:50,805.805 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:32:50,808.808 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:32:50,811.811 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:32:52,851.851 INFO    ] ================================================
[2026-08-29 10:32:52,867.867 INFO    ] Launching Daemon at Sat Aug 29 10:32:52 IST 2026
[2026-08-29 10:32:52,878.878 INFO    ] ================================================
[2026-08-29 10:32:53,242.242 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:32:53
[2026-08-29 10:32:53,555.555 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:32:53,686.686 INFO    ] Initializing speech engine...
[2026-08-29 10:32:53,690.690 INFO    ] 2026-08-29 10:32:53
[2026-08-29 10:32:53,904.904 INFO    ] 2026-08-29 10:32:53
[2026-08-29 10:32:53,939.939 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:32:54,115.115 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:32:54,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:32:54,274.274 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:32:54,284.284 INFO    ] time= 29/08/2026 10:32:54
[2026-08-29 10:32:54,293.293 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:32:54,332.332 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:32:54,459.459 INFO    ] No existing commands found in stream
[2026-08-29 10:32:59,495.495 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:32:59,498.498 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-08-29 10:33:00,680.680 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:33:00,681.681 INFO    ] Checking for system updates...
[2026-08-29 10:33:00,702.702 INFO    ] 200
[2026-08-29 10:33:00,704.704 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:33:00,734.734 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:33:00,736.736 INFO    ] No update needed
[2026-08-29 10:33:00,737.737 INFO    ] Checking for camera pi updates...
[2026-08-29 10:33:00,756.756 INFO    ] 200
[2026-08-29 10:33:00,758.758 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:33:00,783.783 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:33:00,900.900 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:33:00,901.901 INFO    ] No camera update needed
[2026-08-29 10:33:00,903.903 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:33:00,904.904 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:33:00,907.907 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:33:00,910.910 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:33:02,955.955 INFO    ] ================================================
[2026-08-29 10:33:02,973.973 INFO    ] Launching Daemon at Sat Aug 29 10:33:02 IST 2026
[2026-08-29 10:33:02,990.990 INFO    ] ================================================
[2026-08-29 10:33:03,576.576 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:33:03
[2026-08-29 10:33:04,178.178 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:33:04,456.456 INFO    ] Initializing speech engine...
[2026-08-29 10:33:04,463.463 INFO    ] 2026-08-29 10:33:04
[2026-08-29 10:33:04,724.724 INFO    ] 2026-08-29 10:33:04
[2026-08-29 10:33:04,769.769 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:33:04,888.888 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:33:04,892.892 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:33:05,024.024 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:33:05,033.033 INFO    ] time= 29/08/2026 10:33:05
[2026-08-29 10:33:05,048.048 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:33:05,054.054 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:33:05,134.134 INFO    ] No existing commands found in stream
[2026-08-29 10:33:10,165.165 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:33:10,168.168 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-08-29 10:33:13,107.107 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:33:13,109.109 INFO    ] Checking for system updates...
[2026-08-29 10:33:13,150.150 INFO    ] 200
[2026-08-29 10:33:13,153.153 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:33:13,213.213 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:33:13,215.215 INFO    ] No update needed
[2026-08-29 10:33:13,218.218 INFO    ] Checking for camera pi updates...
[2026-08-29 10:33:13,252.252 INFO    ] 200
[2026-08-29 10:33:13,255.255 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:33:13,295.295 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:33:13,399.399 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:33:13,402.402 INFO    ] No camera update needed
[2026-08-29 10:33:13,405.405 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:33:13,407.407 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:33:13,412.412 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:33:13,417.417 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:33:15,460.460 INFO    ] ================================================
[2026-08-29 10:33:15,475.475 INFO    ] Launching Daemon at Sat Aug 29 10:33:15 IST 2026
[2026-08-29 10:33:15,486.486 INFO    ] ================================================
[2026-08-29 10:33:16,054.054 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:33:16
[2026-08-29 10:33:16,369.369 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:33:16,502.502 INFO    ] Initializing speech engine...
[2026-08-29 10:33:16,505.505 INFO    ] 2026-08-29 10:33:16
[2026-08-29 10:33:16,709.709 INFO    ] 2026-08-29 10:33:16
[2026-08-29 10:33:16,742.742 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:33:16,901.901 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:33:16,945.945 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:33:17,113.113 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:33:17,160.160 INFO    ] time= 29/08/2026 10:33:17
[2026-08-29 10:33:17,199.199 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:33:17,222.222 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:33:17,299.299 INFO    ] No existing commands found in stream
[2026-08-29 10:33:22,309.309 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:33:22,312.312 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 10:33:22,766.766 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:33:22,767.767 INFO    ] Checking for system updates...
[2026-08-29 10:33:22,788.788 INFO    ] 200
[2026-08-29 10:33:22,789.789 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:33:22,821.821 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:33:22,823.823 INFO    ] No update needed
[2026-08-29 10:33:22,824.824 INFO    ] Checking for camera pi updates...
[2026-08-29 10:33:22,843.843 INFO    ] 200
[2026-08-29 10:33:22,844.844 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:33:22,867.867 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:33:22,969.969 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:33:22,972.972 INFO    ] No camera update needed
[2026-08-29 10:33:22,974.974 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:33:22,977.977 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:33:22,982.982 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:33:22,987.987 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:33:25,027.027 INFO    ] ================================================
[2026-08-29 10:33:25,042.042 INFO    ] Launching Daemon at Sat Aug 29 10:33:25 IST 2026
[2026-08-29 10:33:25,053.053 INFO    ] ================================================
[2026-08-29 10:33:25,641.641 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:33:25
[2026-08-29 10:33:26,151.151 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:33:26,344.344 INFO    ] Initializing speech engine...
[2026-08-29 10:33:26,353.353 INFO    ] 2026-08-29 10:33:26
[2026-08-29 10:33:26,617.617 INFO    ] 2026-08-29 10:33:26
[2026-08-29 10:33:26,673.673 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:33:26,898.898 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:33:26,909.909 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:33:27,045.045 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:33:27,106.106 INFO    ] time= 29/08/2026 10:33:27
[2026-08-29 10:33:27,166.166 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:33:27,183.183 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:33:27,297.297 INFO    ] No existing commands found in stream
[2026-08-29 10:33:32,325.325 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:33:32,328.328 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-08-29 10:33:35,801.801 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:33:35,803.803 INFO    ] Checking for system updates...
[2026-08-29 10:33:35,826.826 INFO    ] 200
[2026-08-29 10:33:35,828.828 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:33:35,863.863 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:33:35,865.865 INFO    ] No update needed
[2026-08-29 10:33:35,866.866 INFO    ] Checking for camera pi updates...
[2026-08-29 10:33:35,890.890 INFO    ] 200
[2026-08-29 10:33:35,892.892 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:33:35,918.918 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:33:35,995.995 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:33:35,996.996 INFO    ] No camera update needed
[2026-08-29 10:33:35,998.998 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:33:35,999.999 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:33:36,003.003 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:33:36,006.006 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:33:38,049.049 INFO    ] ================================================
[2026-08-29 10:33:38,064.064 INFO    ] Launching Daemon at Sat Aug 29 10:33:38 IST 2026
[2026-08-29 10:33:38,075.075 INFO    ] ================================================
[2026-08-29 10:33:38,600.600 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:33:38
[2026-08-29 10:33:39,186.186 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:33:39,459.459 INFO    ] Initializing speech engine...
[2026-08-29 10:33:39,469.469 INFO    ] 2026-08-29 10:33:39
[2026-08-29 10:33:39,718.718 INFO    ] 2026-08-29 10:33:39
[2026-08-29 10:33:39,784.784 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:33:39,951.951 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:33:39,979.979 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:33:40,091.091 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:33:40,098.098 INFO    ] time= 29/08/2026 10:33:40
[2026-08-29 10:33:40,128.128 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:33:40,165.165 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:33:40,263.263 INFO    ] No existing commands found in stream
[2026-08-29 10:33:45,298.298 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:33:45,301.301 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-08-29 10:33:47,176.176 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:33:47,179.179 INFO    ] Checking for system updates...
[2026-08-29 10:33:47,217.217 INFO    ] 200
[2026-08-29 10:33:47,220.220 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:33:47,281.281 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:33:47,284.284 INFO    ] No update needed
[2026-08-29 10:33:47,286.286 INFO    ] Checking for camera pi updates...
[2026-08-29 10:33:47,320.320 INFO    ] 200
[2026-08-29 10:33:47,322.322 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:33:47,363.363 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:33:47,454.454 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:33:47,457.457 INFO    ] No camera update needed
[2026-08-29 10:33:47,459.459 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:33:47,461.461 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:33:47,467.467 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:33:47,472.472 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:33:49,515.515 INFO    ] ================================================
[2026-08-29 10:33:49,531.531 INFO    ] Launching Daemon at Sat Aug 29 10:33:49 IST 2026
[2026-08-29 10:33:49,541.541 INFO    ] ================================================
[2026-08-29 10:33:49,926.926 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:33:49
[2026-08-29 10:33:50,529.529 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:33:50,809.809 INFO    ] Initializing speech engine...
[2026-08-29 10:33:50,814.814 INFO    ] 2026-08-29 10:33:50
[2026-08-29 10:33:51,078.078 INFO    ] 2026-08-29 10:33:51
[2026-08-29 10:33:51,132.132 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:33:51,300.300 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:33:51,359.359 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:33:51,499.499 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:33:51,520.520 INFO    ] time= 29/08/2026 10:33:51
[2026-08-29 10:33:51,581.581 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:33:51,634.634 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:33:51,686.686 INFO    ] No existing commands found in stream
[2026-08-29 10:33:56,699.699 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:33:56,701.701 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-08-29 10:33:57,688.688 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:33:57,689.689 INFO    ] Checking for system updates...
[2026-08-29 10:33:57,711.711 INFO    ] 200
[2026-08-29 10:33:57,713.713 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:33:57,743.743 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:33:57,745.745 INFO    ] No update needed
[2026-08-29 10:33:57,746.746 INFO    ] Checking for camera pi updates...
[2026-08-29 10:33:57,765.765 INFO    ] 200
[2026-08-29 10:33:57,767.767 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:33:57,792.792 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:33:57,889.889 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:33:57,891.891 INFO    ] No camera update needed
[2026-08-29 10:33:57,892.892 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:33:57,893.893 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:33:57,896.896 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:33:57,899.899 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:33:59,937.937 INFO    ] ================================================
[2026-08-29 10:33:59,953.953 INFO    ] Launching Daemon at Sat Aug 29 10:33:59 IST 2026
[2026-08-29 10:33:59,963.963 INFO    ] ================================================
[2026-08-29 10:34:00,296.296 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:34:00
[2026-08-29 10:34:00,613.613 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:34:00,774.774 INFO    ] Initializing speech engine...
[2026-08-29 10:34:00,783.783 INFO    ] 2026-08-29 10:34:00
[2026-08-29 10:34:01,031.031 INFO    ] 2026-08-29 10:34:01
[2026-08-29 10:34:01,065.065 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:34:01,243.243 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:34:01,248.248 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:34:01,434.434 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:34:01,438.438 INFO    ] time= 29/08/2026 10:34:01
[2026-08-29 10:34:01,441.441 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:34:01,448.448 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:34:01,509.509 INFO    ] No existing commands found in stream
[2026-08-29 10:34:06,520.520 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:34:06,523.523 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 10:34:09,190.190 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:34:09,191.191 INFO    ] Checking for system updates...
[2026-08-29 10:34:09,212.212 INFO    ] 200
[2026-08-29 10:34:09,213.213 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:34:09,253.253 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:34:09,254.254 INFO    ] No update needed
[2026-08-29 10:34:09,256.256 INFO    ] Checking for camera pi updates...
[2026-08-29 10:34:09,275.275 INFO    ] 200
[2026-08-29 10:34:09,276.276 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:34:09,300.300 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:34:09,407.407 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:34:09,409.409 INFO    ] No camera update needed
[2026-08-29 10:34:09,412.412 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:34:09,414.414 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:34:09,419.419 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:34:09,424.424 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:34:11,465.465 INFO    ] ================================================
[2026-08-29 10:34:11,481.481 INFO    ] Launching Daemon at Sat Aug 29 10:34:11 IST 2026
[2026-08-29 10:34:11,496.496 INFO    ] ================================================
[2026-08-29 10:34:12,122.122 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:34:12
[2026-08-29 10:34:12,621.621 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:34:12,775.775 INFO    ] Initializing speech engine...
[2026-08-29 10:34:12,780.780 INFO    ] 2026-08-29 10:34:12
[2026-08-29 10:34:12,990.990 INFO    ] 2026-08-29 10:34:12
[2026-08-29 10:34:13,019.019 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:34:13,166.166 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:34:13,175.175 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:34:13,351.351 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:34:13,379.379 INFO    ] time= 29/08/2026 10:34:13
[2026-08-29 10:34:13,398.398 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:34:13,407.407 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:34:13,513.513 INFO    ] No existing commands found in stream
[2026-08-29 10:34:18,535.535 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:34:18,538.538 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-08-29 10:34:20,984.984 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:34:20,986.986 INFO    ] Checking for system updates...
[2026-08-29 10:34:21,007.007 INFO    ] 200
[2026-08-29 10:34:21,008.008 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:34:21,038.038 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:34:21,040.040 INFO    ] No update needed
[2026-08-29 10:34:21,041.041 INFO    ] Checking for camera pi updates...
[2026-08-29 10:34:21,062.062 INFO    ] 200
[2026-08-29 10:34:21,063.063 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:34:21,091.091 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:34:21,190.190 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:34:21,191.191 INFO    ] No camera update needed
[2026-08-29 10:34:21,193.193 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:34:21,194.194 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:34:21,197.197 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:34:21,200.200 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:34:23,240.240 INFO    ] ================================================
[2026-08-29 10:34:23,256.256 INFO    ] Launching Daemon at Sat Aug 29 10:34:23 IST 2026
[2026-08-29 10:34:23,267.267 INFO    ] ================================================
[2026-08-29 10:34:23,663.663 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:34:23
[2026-08-29 10:34:24,254.254 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:34:24,567.567 INFO    ] Initializing speech engine...
[2026-08-29 10:34:24,578.578 INFO    ] 2026-08-29 10:34:24
[2026-08-29 10:34:24,856.856 INFO    ] 2026-08-29 10:34:24
[2026-08-29 10:34:24,926.926 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:34:25,156.156 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:34:25,166.166 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:34:25,304.304 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:34:25,352.352 INFO    ] time= 29/08/2026 10:34:25
[2026-08-29 10:34:25,407.407 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:34:25,444.444 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:34:25,500.500 INFO    ] No existing commands found in stream
[2026-08-29 10:34:30,513.513 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:34:30,516.516 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-08-29 10:34:32,910.910 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:34:32,914.914 INFO    ] Checking for system updates...
[2026-08-29 10:34:32,955.955 INFO    ] 200
[2026-08-29 10:34:32,958.958 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:34:33,016.016 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:34:33,019.019 INFO    ] No update needed
[2026-08-29 10:34:33,022.022 INFO    ] Checking for camera pi updates...
[2026-08-29 10:34:33,055.055 INFO    ] 200
[2026-08-29 10:34:33,058.058 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:34:33,104.104 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:34:33,206.206 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:34:33,208.208 INFO    ] No camera update needed
[2026-08-29 10:34:33,211.211 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:34:33,213.213 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:34:33,218.218 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:34:33,223.223 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:34:35,264.264 INFO    ] ================================================
[2026-08-29 10:34:35,279.279 INFO    ] Launching Daemon at Sat Aug 29 10:34:35 IST 2026
[2026-08-29 10:34:35,290.290 INFO    ] ================================================
[2026-08-29 10:34:35,637.637 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:34:35
[2026-08-29 10:34:35,956.956 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:34:36,216.216 INFO    ] Initializing speech engine...
[2026-08-29 10:34:36,222.222 INFO    ] 2026-08-29 10:34:36
[2026-08-29 10:34:36,518.518 INFO    ] 2026-08-29 10:34:36
[2026-08-29 10:34:36,554.554 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:34:36,703.703 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:34:36,709.709 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:34:36,862.862 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:34:36,871.871 INFO    ] time= 29/08/2026 10:34:36
[2026-08-29 10:34:36,875.875 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:34:36,880.880 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:34:36,947.947 INFO    ] No existing commands found in stream
[2026-08-29 10:34:41,960.960 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:34:41,964.964 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-08-29 10:34:45,665.665 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:34:45,666.666 INFO    ] Checking for system updates...
[2026-08-29 10:34:45,687.687 INFO    ] 200
[2026-08-29 10:34:45,689.689 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:34:45,721.721 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:34:45,722.722 INFO    ] No update needed
[2026-08-29 10:34:45,724.724 INFO    ] Checking for camera pi updates...
[2026-08-29 10:34:45,743.743 INFO    ] 200
[2026-08-29 10:34:45,744.744 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:34:45,768.768 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:34:45,855.855 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:34:45,857.857 INFO    ] No camera update needed
[2026-08-29 10:34:45,858.858 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:34:45,859.859 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:34:45,862.862 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:34:45,865.865 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:34:47,904.904 INFO    ] ================================================
[2026-08-29 10:34:47,920.920 INFO    ] Launching Daemon at Sat Aug 29 10:34:47 IST 2026
[2026-08-29 10:34:47,932.932 INFO    ] ================================================
[2026-08-29 10:34:48,296.296 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:34:48
[2026-08-29 10:34:48,631.631 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:34:48,819.819 INFO    ] Initializing speech engine...
[2026-08-29 10:34:48,827.827 INFO    ] 2026-08-29 10:34:48
[2026-08-29 10:34:49,084.084 INFO    ] 2026-08-29 10:34:49
[2026-08-29 10:34:49,136.136 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:34:49,302.302 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:34:49,325.325 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:34:49,503.503 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:34:49,519.519 INFO    ] time= 29/08/2026 10:34:49
[2026-08-29 10:34:49,574.574 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:34:49,637.637 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:34:49,689.689 INFO    ] No existing commands found in stream
[2026-08-29 10:34:54,700.700 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:34:54,702.702 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-08-29 10:35:04,735.735 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:35:04,739.739 INFO    ] Checking for system updates...
[2026-08-29 10:35:04,778.778 INFO    ] 200
[2026-08-29 10:35:04,781.781 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:35:04,840.840 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:35:04,843.843 INFO    ] No update needed
[2026-08-29 10:35:04,846.846 INFO    ] Checking for camera pi updates...
[2026-08-29 10:35:04,887.887 INFO    ] 200
[2026-08-29 10:35:04,890.890 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:35:04,939.939 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:35:05,019.019 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:35:05,022.022 INFO    ] No camera update needed
[2026-08-29 10:35:05,025.025 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:35:05,028.028 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:35:05,035.035 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:35:05,042.042 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:35:07,085.085 INFO    ] ================================================
[2026-08-29 10:35:07,101.101 INFO    ] Launching Daemon at Sat Aug 29 10:35:07 IST 2026
[2026-08-29 10:35:07,113.113 INFO    ] ================================================
[2026-08-29 10:35:07,637.637 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:35:07
[2026-08-29 10:35:08,228.228 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:35:08,504.504 INFO    ] Initializing speech engine...
[2026-08-29 10:35:08,508.508 INFO    ] 2026-08-29 10:35:08
[2026-08-29 10:35:08,757.757 INFO    ] 2026-08-29 10:35:08
[2026-08-29 10:35:08,793.793 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:35:08,966.966 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:35:08,968.968 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:35:09,098.098 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:35:09,104.104 INFO    ] time= 29/08/2026 10:35:09
[2026-08-29 10:35:09,126.126 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:35:09,132.132 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:35:09,180.180 INFO    ] No existing commands found in stream
[2026-08-29 10:35:14,191.191 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:35:14,194.194 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-08-29 10:35:16,030.030 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:35:16,031.031 INFO    ] Checking for system updates...
[2026-08-29 10:35:16,053.053 INFO    ] 200
[2026-08-29 10:35:16,055.055 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:35:16,084.084 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:35:16,085.085 INFO    ] No update needed
[2026-08-29 10:35:16,087.087 INFO    ] Checking for camera pi updates...
[2026-08-29 10:35:16,107.107 INFO    ] 200
[2026-08-29 10:35:16,108.108 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:35:16,132.132 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:35:16,239.239 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:35:16,240.240 INFO    ] No camera update needed
[2026-08-29 10:35:16,241.241 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:35:16,243.243 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:35:16,246.246 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:35:16,248.248 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:35:18,287.287 INFO    ] ================================================
[2026-08-29 10:35:18,304.304 INFO    ] Launching Daemon at Sat Aug 29 10:35:18 IST 2026
[2026-08-29 10:35:18,315.315 INFO    ] ================================================
[2026-08-29 10:35:18,818.818 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:35:18
[2026-08-29 10:35:19,479.479 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:35:19,783.783 INFO    ] Initializing speech engine...
[2026-08-29 10:35:19,792.792 INFO    ] 2026-08-29 10:35:19
[2026-08-29 10:35:20,070.070 INFO    ] 2026-08-29 10:35:20
[2026-08-29 10:35:20,121.121 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:35:20,356.356 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:35:20,361.361 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:35:20,502.502 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:35:20,562.562 INFO    ] time= 29/08/2026 10:35:20
[2026-08-29 10:35:20,627.627 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:35:20,640.640 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:35:20,770.770 INFO    ] No existing commands found in stream
[2026-08-29 10:35:25,799.799 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:35:25,802.802 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-08-29 10:35:27,808.808 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:35:27,809.809 INFO    ] Checking for system updates...
[2026-08-29 10:35:27,830.830 INFO    ] 200
[2026-08-29 10:35:27,831.831 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:35:27,861.861 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:35:27,863.863 INFO    ] No update needed
[2026-08-29 10:35:27,864.864 INFO    ] Checking for camera pi updates...
[2026-08-29 10:35:27,884.884 INFO    ] 200
[2026-08-29 10:35:27,885.885 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:35:27,910.910 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:35:28,018.018 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:35:28,019.019 INFO    ] No camera update needed
[2026-08-29 10:35:28,021.021 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:35:28,022.022 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:35:28,025.025 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:35:28,028.028 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:35:30,067.067 INFO    ] ================================================
[2026-08-29 10:35:30,084.084 INFO    ] Launching Daemon at Sat Aug 29 10:35:30 IST 2026
[2026-08-29 10:35:30,097.097 INFO    ] ================================================
[2026-08-29 10:35:30,447.447 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:35:30
[2026-08-29 10:35:30,762.762 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:35:30,907.907 INFO    ] Initializing speech engine...
[2026-08-29 10:35:30,912.912 INFO    ] 2026-08-29 10:35:30
[2026-08-29 10:35:31,116.116 INFO    ] 2026-08-29 10:35:31
[2026-08-29 10:35:31,145.145 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:35:31,322.322 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:35:31,348.348 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:35:31,501.501 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:35:31,509.509 INFO    ] time= 29/08/2026 10:35:31
[2026-08-29 10:35:31,517.517 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:35:31,531.531 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:35:31,636.636 INFO    ] No existing commands found in stream
[2026-08-29 10:35:36,666.666 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:35:36,669.669 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-08-29 10:35:41,031.031 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:35:41,033.033 INFO    ] Checking for system updates...
[2026-08-29 10:35:41,053.053 INFO    ] 200
[2026-08-29 10:35:41,054.054 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:35:41,084.084 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:35:41,085.085 INFO    ] No update needed
[2026-08-29 10:35:41,086.086 INFO    ] Checking for camera pi updates...
[2026-08-29 10:35:41,106.106 INFO    ] 200
[2026-08-29 10:35:41,107.107 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:35:41,131.131 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:35:41,231.231 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:35:41,233.233 INFO    ] No camera update needed
[2026-08-29 10:35:41,234.234 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:35:41,235.235 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:35:41,238.238 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:35:41,241.241 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:35:43,280.280 INFO    ] ================================================
[2026-08-29 10:35:43,296.296 INFO    ] Launching Daemon at Sat Aug 29 10:35:43 IST 2026
[2026-08-29 10:35:43,307.307 INFO    ] ================================================
[2026-08-29 10:35:43,649.649 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:35:43
[2026-08-29 10:35:43,964.964 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:35:44,097.097 INFO    ] Initializing speech engine...
[2026-08-29 10:35:44,107.107 INFO    ] 2026-08-29 10:35:44
[2026-08-29 10:35:44,330.330 INFO    ] 2026-08-29 10:35:44
[2026-08-29 10:35:44,361.361 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:35:44,493.493 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:35:44,536.536 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:35:44,703.703 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:35:44,755.755 INFO    ] time= 29/08/2026 10:35:44
[2026-08-29 10:35:44,794.794 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:35:44,811.811 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:35:44,887.887 INFO    ] No existing commands found in stream
[2026-08-29 10:35:49,897.897 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:35:49,900.900 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-08-29 10:35:51,606.606 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:35:51,608.608 INFO    ] Checking for system updates...
[2026-08-29 10:35:51,630.630 INFO    ] 200
[2026-08-29 10:35:51,631.631 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:35:51,664.664 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:35:51,666.666 INFO    ] No update needed
[2026-08-29 10:35:51,667.667 INFO    ] Checking for camera pi updates...
[2026-08-29 10:35:51,689.689 INFO    ] 200
[2026-08-29 10:35:51,691.691 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:35:51,715.715 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:35:51,801.801 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:35:51,802.802 INFO    ] No camera update needed
[2026-08-29 10:35:51,804.804 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:35:51,805.805 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:35:51,808.808 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:35:51,811.811 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:35:53,851.851 INFO    ] ================================================
[2026-08-29 10:35:53,866.866 INFO    ] Launching Daemon at Sat Aug 29 10:35:53 IST 2026
[2026-08-29 10:35:53,878.878 INFO    ] ================================================
[2026-08-29 10:35:54,213.213 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:35:54
[2026-08-29 10:35:54,530.530 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:35:54,664.664 INFO    ] Initializing speech engine...
[2026-08-29 10:35:54,669.669 INFO    ] 2026-08-29 10:35:54
[2026-08-29 10:35:54,936.936 INFO    ] 2026-08-29 10:35:54
[2026-08-29 10:35:54,976.976 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:35:55,169.169 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:35:55,176.176 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:35:55,309.309 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:35:55,314.314 INFO    ] time= 29/08/2026 10:35:55
[2026-08-29 10:35:55,335.335 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:35:55,358.358 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:35:55,439.439 INFO    ] No existing commands found in stream
[2026-08-29 10:36:00,458.458 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:36:00,460.460 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-08-29 10:36:04,481.481 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:36:04,484.484 INFO    ] Checking for system updates...
[2026-08-29 10:36:04,520.520 INFO    ] 200
[2026-08-29 10:36:04,523.523 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:36:04,576.576 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:36:04,579.579 INFO    ] No update needed
[2026-08-29 10:36:04,581.581 INFO    ] Checking for camera pi updates...
[2026-08-29 10:36:04,615.615 INFO    ] 200
[2026-08-29 10:36:04,617.617 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:36:04,657.657 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:36:04,748.748 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:36:04,750.750 INFO    ] No camera update needed
[2026-08-29 10:36:04,753.753 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:36:04,755.755 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:36:04,760.760 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:36:04,765.765 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:36:06,808.808 INFO    ] ================================================
[2026-08-29 10:36:06,825.825 INFO    ] Launching Daemon at Sat Aug 29 10:36:06 IST 2026
[2026-08-29 10:36:06,838.838 INFO    ] ================================================
[2026-08-29 10:36:07,168.168 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:36:07
[2026-08-29 10:36:07,485.485 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:36:07,625.625 INFO    ] Initializing speech engine...
[2026-08-29 10:36:07,648.648 INFO    ] 2026-08-29 10:36:07
[2026-08-29 10:36:07,909.909 INFO    ] 2026-08-29 10:36:07
[2026-08-29 10:36:07,965.965 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:36:08,135.135 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:36:08,176.176 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:36:08,331.331 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:36:08,353.353 INFO    ] time= 29/08/2026 10:36:08
[2026-08-29 10:36:08,423.423 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:36:08,464.464 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:36:08,516.516 INFO    ] No existing commands found in stream
[2026-08-29 10:36:13,528.528 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:36:13,530.530 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-08-29 10:36:15,025.025 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:36:15,026.026 INFO    ] Checking for system updates...
[2026-08-29 10:36:15,048.048 INFO    ] 200
[2026-08-29 10:36:15,050.050 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:36:15,079.079 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:36:15,081.081 INFO    ] No update needed
[2026-08-29 10:36:15,082.082 INFO    ] Checking for camera pi updates...
[2026-08-29 10:36:15,101.101 INFO    ] 200
[2026-08-29 10:36:15,103.103 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:36:15,129.129 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:36:15,217.217 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:36:15,218.218 INFO    ] No camera update needed
[2026-08-29 10:36:15,220.220 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:36:15,221.221 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:36:15,224.224 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:36:15,227.227 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:36:17,265.265 INFO    ] ================================================
[2026-08-29 10:36:17,281.281 INFO    ] Launching Daemon at Sat Aug 29 10:36:17 IST 2026
[2026-08-29 10:36:17,292.292 INFO    ] ================================================
[2026-08-29 10:36:17,648.648 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:36:17
[2026-08-29 10:36:17,963.963 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:36:18,094.094 INFO    ] Initializing speech engine...
[2026-08-29 10:36:18,102.102 INFO    ] 2026-08-29 10:36:18
[2026-08-29 10:36:18,295.295 INFO    ] 2026-08-29 10:36:18
[2026-08-29 10:36:18,349.349 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:36:18,576.576 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:36:18,585.585 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:36:18,724.724 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:36:18,773.773 INFO    ] time= 29/08/2026 10:36:18
[2026-08-29 10:36:18,827.827 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:36:18,861.861 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:36:18,957.957 INFO    ] No existing commands found in stream
[2026-08-29 10:36:23,988.988 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:36:23,990.990 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-08-29 10:36:28,000.000 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:36:28,001.001 INFO    ] Checking for system updates...
[2026-08-29 10:36:28,022.022 INFO    ] 200
[2026-08-29 10:36:28,023.023 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:36:28,055.055 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:36:28,057.057 INFO    ] No update needed
[2026-08-29 10:36:28,058.058 INFO    ] Checking for camera pi updates...
[2026-08-29 10:36:28,078.078 INFO    ] 200
[2026-08-29 10:36:28,079.079 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:36:28,102.102 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:36:28,194.194 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:36:28,197.197 INFO    ] No camera update needed
[2026-08-29 10:36:28,199.199 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:36:28,201.201 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:36:28,207.207 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:36:28,212.212 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:36:30,254.254 INFO    ] ================================================
[2026-08-29 10:36:30,270.270 INFO    ] Launching Daemon at Sat Aug 29 10:36:30 IST 2026
[2026-08-29 10:36:30,281.281 INFO    ] ================================================
[2026-08-29 10:36:30,847.847 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:36:30
[2026-08-29 10:36:31,333.333 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:36:31,475.475 INFO    ] Initializing speech engine...
[2026-08-29 10:36:31,481.481 INFO    ] 2026-08-29 10:36:31
[2026-08-29 10:36:31,671.671 INFO    ] 2026-08-29 10:36:31
[2026-08-29 10:36:31,750.750 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:36:31,905.905 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:36:31,910.910 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:36:32,045.045 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:36:32,071.071 INFO    ] time= 29/08/2026 10:36:32
[2026-08-29 10:36:32,120.120 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:36:32,186.186 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:36:32,255.255 INFO    ] No existing commands found in stream
[2026-08-29 10:36:37,267.267 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:36:37,269.269 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-08-29 10:36:38,627.627 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:36:38,629.629 INFO    ] Checking for system updates...
[2026-08-29 10:36:38,652.652 INFO    ] 200
[2026-08-29 10:36:38,653.653 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:36:38,684.684 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:36:38,685.685 INFO    ] No update needed
[2026-08-29 10:36:38,687.687 INFO    ] Checking for camera pi updates...
[2026-08-29 10:36:38,706.706 INFO    ] 200
[2026-08-29 10:36:38,707.707 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:36:38,731.731 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:36:38,831.831 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:36:38,833.833 INFO    ] No camera update needed
[2026-08-29 10:36:38,834.834 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:36:38,836.836 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:36:38,839.839 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:36:38,842.842 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:36:40,884.884 INFO    ] ================================================
[2026-08-29 10:36:40,900.900 INFO    ] Launching Daemon at Sat Aug 29 10:36:40 IST 2026
[2026-08-29 10:36:40,911.911 INFO    ] ================================================
[2026-08-29 10:36:41,302.302 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:36:41
[2026-08-29 10:36:41,638.638 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:36:41,787.787 INFO    ] Initializing speech engine...
[2026-08-29 10:36:41,792.792 INFO    ] 2026-08-29 10:36:41
[2026-08-29 10:36:42,002.002 INFO    ] 2026-08-29 10:36:41
[2026-08-29 10:36:42,031.031 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:36:42,153.153 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:36:42,212.212 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:36:42,360.360 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:36:42,424.424 INFO    ] time= 29/08/2026 10:36:42
[2026-08-29 10:36:42,447.447 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:36:42,454.454 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:36:42,521.521 INFO    ] No existing commands found in stream
[2026-08-29 10:36:47,535.535 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:36:47,538.538 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-08-29 10:36:50,042.042 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:36:50,044.044 INFO    ] Checking for system updates...
[2026-08-29 10:36:50,065.065 INFO    ] 200
[2026-08-29 10:36:50,066.066 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:36:50,100.100 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:36:50,101.101 INFO    ] No update needed
[2026-08-29 10:36:50,103.103 INFO    ] Checking for camera pi updates...
[2026-08-29 10:36:50,122.122 INFO    ] 200
[2026-08-29 10:36:50,123.123 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:36:50,147.147 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:36:50,238.238 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:36:50,240.240 INFO    ] No camera update needed
[2026-08-29 10:36:50,241.241 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:36:50,242.242 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:36:50,245.245 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:36:50,248.248 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:36:52,288.288 INFO    ] ================================================
[2026-08-29 10:36:52,303.303 INFO    ] Launching Daemon at Sat Aug 29 10:36:52 IST 2026
[2026-08-29 10:36:52,315.315 INFO    ] ================================================
[2026-08-29 10:36:52,698.698 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:36:52
[2026-08-29 10:36:53,037.037 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:36:53,189.189 INFO    ] Initializing speech engine...
[2026-08-29 10:36:53,195.195 INFO    ] 2026-08-29 10:36:53
[2026-08-29 10:36:53,402.402 INFO    ] 2026-08-29 10:36:53
[2026-08-29 10:36:53,431.431 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:36:53,597.597 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:36:53,604.604 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:36:53,736.736 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:36:53,755.755 INFO    ] time= 29/08/2026 10:36:53
[2026-08-29 10:36:53,784.784 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:36:53,794.794 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:36:53,893.893 INFO    ] No existing commands found in stream
[2026-08-29 10:36:58,906.906 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:36:58,909.909 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-08-29 10:37:01,484.484 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:37:01,485.485 INFO    ] Checking for system updates...
[2026-08-29 10:37:01,506.506 INFO    ] 200
[2026-08-29 10:37:01,508.508 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:37:01,542.542 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:37:01,543.543 INFO    ] No update needed
[2026-08-29 10:37:01,545.545 INFO    ] Checking for camera pi updates...
[2026-08-29 10:37:01,565.565 INFO    ] 200
[2026-08-29 10:37:01,566.566 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:37:01,591.591 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:37:01,688.688 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:37:01,689.689 INFO    ] No camera update needed
[2026-08-29 10:37:01,690.690 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:37:01,692.692 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:37:01,695.695 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:37:01,697.697 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:37:03,739.739 INFO    ] ================================================
[2026-08-29 10:37:03,755.755 INFO    ] Launching Daemon at Sat Aug 29 10:37:03 IST 2026
[2026-08-29 10:37:03,766.766 INFO    ] ================================================
[2026-08-29 10:37:04,349.349 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:37:04
[2026-08-29 10:37:04,949.949 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:37:05,160.160 INFO    ] Initializing speech engine...
[2026-08-29 10:37:05,165.165 INFO    ] 2026-08-29 10:37:05
[2026-08-29 10:37:05,396.396 INFO    ] 2026-08-29 10:37:05
[2026-08-29 10:37:05,427.427 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:37:05,560.560 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:37:05,608.608 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:37:05,775.775 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:37:05,832.832 INFO    ] time= 29/08/2026 10:37:05
[2026-08-29 10:37:05,877.877 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:37:05,879.879 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:37:05,936.936 INFO    ] No existing commands found in stream
[2026-08-29 10:37:10,944.944 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:37:10,947.947 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 10:37:14,376.376 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:37:14,378.378 INFO    ] Checking for system updates...
[2026-08-29 10:37:14,398.398 INFO    ] 200
[2026-08-29 10:37:14,399.399 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:37:14,429.429 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:37:14,431.431 INFO    ] No update needed
[2026-08-29 10:37:14,432.432 INFO    ] Checking for camera pi updates...
[2026-08-29 10:37:14,451.451 INFO    ] 200
[2026-08-29 10:37:14,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:37:14,475.475 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:37:14,655.655 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:37:14,656.656 INFO    ] No camera update needed
[2026-08-29 10:37:14,658.658 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:37:14,659.659 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:37:14,662.662 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:37:14,665.665 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:37:16,704.704 INFO    ] ================================================
[2026-08-29 10:37:16,720.720 INFO    ] Launching Daemon at Sat Aug 29 10:37:16 IST 2026
[2026-08-29 10:37:16,731.731 INFO    ] ================================================
[2026-08-29 10:37:17,090.090 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:37:17
[2026-08-29 10:37:17,401.401 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:37:17,544.544 INFO    ] Initializing speech engine...
[2026-08-29 10:37:17,549.549 INFO    ] 2026-08-29 10:37:17
[2026-08-29 10:37:17,754.754 INFO    ] 2026-08-29 10:37:17
[2026-08-29 10:37:17,789.789 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:37:17,994.994 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:37:18,000.000 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:37:18,130.130 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:37:18,137.137 INFO    ] time= 29/08/2026 10:37:18
[2026-08-29 10:37:18,144.144 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:37:18,165.165 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:37:18,263.263 INFO    ] No existing commands found in stream
[2026-08-29 10:37:23,276.276 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:37:23,279.279 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 10:37:27,034.034 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:37:27,036.036 INFO    ] Checking for system updates...
[2026-08-29 10:37:27,058.058 INFO    ] 200
[2026-08-29 10:37:27,059.059 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:37:27,094.094 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:37:27,096.096 INFO    ] No update needed
[2026-08-29 10:37:27,097.097 INFO    ] Checking for camera pi updates...
[2026-08-29 10:37:27,119.119 INFO    ] 200
[2026-08-29 10:37:27,121.121 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:37:27,146.146 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:37:27,248.248 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:37:27,250.250 INFO    ] No camera update needed
[2026-08-29 10:37:27,253.253 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:37:27,256.256 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:37:27,262.262 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:37:27,268.268 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:37:29,309.309 INFO    ] ================================================
[2026-08-29 10:37:29,327.327 INFO    ] Launching Daemon at Sat Aug 29 10:37:29 IST 2026
[2026-08-29 10:37:29,339.339 INFO    ] ================================================
[2026-08-29 10:37:29,978.978 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:37:29
[2026-08-29 10:37:30,587.587 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:37:30,932.932 INFO    ] Initializing speech engine...
[2026-08-29 10:37:30,944.944 INFO    ] 2026-08-29 10:37:30
[2026-08-29 10:37:31,236.236 INFO    ] 2026-08-29 10:37:31
[2026-08-29 10:37:31,298.298 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:37:31,535.535 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:37:31,545.545 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:37:31,689.689 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:37:31,749.749 INFO    ] time= 29/08/2026 10:37:31
[2026-08-29 10:37:31,814.814 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:37:31,834.834 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:37:31,891.891 INFO    ] No existing commands found in stream
[2026-08-29 10:37:36,904.904 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:37:36,908.908 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-08-29 10:37:39,455.455 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:37:39,457.457 INFO    ] Checking for system updates...
[2026-08-29 10:37:39,479.479 INFO    ] 200
[2026-08-29 10:37:39,481.481 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:37:39,514.514 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:37:39,515.515 INFO    ] No update needed
[2026-08-29 10:37:39,517.517 INFO    ] Checking for camera pi updates...
[2026-08-29 10:37:39,538.538 INFO    ] 200
[2026-08-29 10:37:39,539.539 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:37:39,565.565 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:37:39,648.648 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:37:39,649.649 INFO    ] No camera update needed
[2026-08-29 10:37:39,650.650 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:37:39,652.652 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:37:39,655.655 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:37:39,658.658 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:37:41,697.697 INFO    ] ================================================
[2026-08-29 10:37:41,713.713 INFO    ] Launching Daemon at Sat Aug 29 10:37:41 IST 2026
[2026-08-29 10:37:41,724.724 INFO    ] ================================================
[2026-08-29 10:37:42,149.149 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:37:42
[2026-08-29 10:37:42,749.749 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:37:43,022.022 INFO    ] Initializing speech engine...
[2026-08-29 10:37:43,030.030 INFO    ] 2026-08-29 10:37:43
[2026-08-29 10:37:43,281.281 INFO    ] 2026-08-29 10:37:43
[2026-08-29 10:37:43,317.317 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:37:43,491.491 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:37:43,503.503 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:37:43,644.644 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:37:43,653.653 INFO    ] time= 29/08/2026 10:37:43
[2026-08-29 10:37:43,659.659 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:37:43,710.710 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:37:43,828.828 INFO    ] No existing commands found in stream
[2026-08-29 10:37:48,858.858 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:37:48,860.860 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-08-29 10:37:50,009.009 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:37:50,010.010 INFO    ] Checking for system updates...
[2026-08-29 10:37:50,031.031 INFO    ] 200
[2026-08-29 10:37:50,032.032 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:37:50,062.062 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:37:50,063.063 INFO    ] No update needed
[2026-08-29 10:37:50,064.064 INFO    ] Checking for camera pi updates...
[2026-08-29 10:37:50,084.084 INFO    ] 200
[2026-08-29 10:37:50,085.085 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:37:50,108.108 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:37:50,189.189 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:37:50,190.190 INFO    ] No camera update needed
[2026-08-29 10:37:50,191.191 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:37:50,193.193 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:37:50,196.196 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:37:50,198.198 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:37:52,236.236 INFO    ] ================================================
[2026-08-29 10:37:52,251.251 INFO    ] Launching Daemon at Sat Aug 29 10:37:52 IST 2026
[2026-08-29 10:37:52,262.262 INFO    ] ================================================
[2026-08-29 10:37:52,656.656 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:37:52
[2026-08-29 10:37:53,003.003 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:37:53,158.158 INFO    ] Initializing speech engine...
[2026-08-29 10:37:53,163.163 INFO    ] 2026-08-29 10:37:53
[2026-08-29 10:37:53,422.422 INFO    ] 2026-08-29 10:37:53
[2026-08-29 10:37:53,479.479 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:37:53,644.644 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:37:53,653.653 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:37:53,845.845 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:37:53,857.857 INFO    ] time= 29/08/2026 10:37:53
[2026-08-29 10:37:53,879.879 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:37:53,907.907 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:37:54,012.012 INFO    ] No existing commands found in stream
[2026-08-29 10:37:59,039.039 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:37:59,043.043 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-08-29 10:38:03,095.095 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:38:03,098.098 INFO    ] Checking for system updates...
[2026-08-29 10:38:03,144.144 INFO    ] 200
[2026-08-29 10:38:03,147.147 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:38:03,205.205 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:38:03,208.208 INFO    ] No update needed
[2026-08-29 10:38:03,212.212 INFO    ] Checking for camera pi updates...
[2026-08-29 10:38:03,259.259 INFO    ] 200
[2026-08-29 10:38:03,262.262 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:38:03,311.311 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:38:03,364.364 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:38:03,366.366 INFO    ] No camera update needed
[2026-08-29 10:38:03,368.368 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:38:03,371.371 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:38:03,377.377 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:38:03,384.384 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:38:05,425.425 INFO    ] ================================================
[2026-08-29 10:38:05,441.441 INFO    ] Launching Daemon at Sat Aug 29 10:38:05 IST 2026
[2026-08-29 10:38:05,451.451 INFO    ] ================================================
[2026-08-29 10:38:05,813.813 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:38:05
[2026-08-29 10:38:06,129.129 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:38:06,273.273 INFO    ] Initializing speech engine...
[2026-08-29 10:38:06,279.279 INFO    ] 2026-08-29 10:38:06
[2026-08-29 10:38:06,507.507 INFO    ] 2026-08-29 10:38:06
[2026-08-29 10:38:06,571.571 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:38:06,743.743 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:38:06,752.752 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:38:06,908.908 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:38:06,915.915 INFO    ] time= 29/08/2026 10:38:06
[2026-08-29 10:38:06,975.975 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:38:07,029.029 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:38:07,104.104 INFO    ] No existing commands found in stream
[2026-08-29 10:38:12,130.130 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:38:12,133.133 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-08-29 10:38:16,200.200 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:38:16,202.202 INFO    ] Checking for system updates...
[2026-08-29 10:38:16,222.222 INFO    ] 200
[2026-08-29 10:38:16,224.224 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:38:16,254.254 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:38:16,255.255 INFO    ] No update needed
[2026-08-29 10:38:16,256.256 INFO    ] Checking for camera pi updates...
[2026-08-29 10:38:16,278.278 INFO    ] 200
[2026-08-29 10:38:16,279.279 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:38:16,302.302 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:38:16,409.409 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:38:16,410.410 INFO    ] No camera update needed
[2026-08-29 10:38:16,411.411 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:38:16,413.413 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:38:16,416.416 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:38:16,418.418 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:38:18,461.461 INFO    ] ================================================
[2026-08-29 10:38:18,478.478 INFO    ] Launching Daemon at Sat Aug 29 10:38:18 IST 2026
[2026-08-29 10:38:18,489.489 INFO    ] ================================================
[2026-08-29 10:38:18,859.859 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:38:18
[2026-08-29 10:38:19,197.197 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:38:19,351.351 INFO    ] Initializing speech engine...
[2026-08-29 10:38:19,356.356 INFO    ] 2026-08-29 10:38:19
[2026-08-29 10:38:19,567.567 INFO    ] 2026-08-29 10:38:19
[2026-08-29 10:38:19,596.596 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:38:19,731.731 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:38:19,784.784 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:38:19,917.917 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:38:19,978.978 INFO    ] time= 29/08/2026 10:38:19
[2026-08-29 10:38:20,017.017 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:38:20,019.019 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:38:20,092.092 INFO    ] No existing commands found in stream
[2026-08-29 10:38:25,102.102 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:38:25,105.105 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-08-29 10:38:27,984.984 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:38:27,986.986 INFO    ] Checking for system updates...
[2026-08-29 10:38:28,007.007 INFO    ] 200
[2026-08-29 10:38:28,008.008 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:38:28,042.042 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:38:28,044.044 INFO    ] No update needed
[2026-08-29 10:38:28,045.045 INFO    ] Checking for camera pi updates...
[2026-08-29 10:38:28,065.065 INFO    ] 200
[2026-08-29 10:38:28,067.067 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:38:28,089.089 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:38:28,186.186 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:38:28,188.188 INFO    ] No camera update needed
[2026-08-29 10:38:28,189.189 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:38:28,190.190 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:38:28,193.193 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:38:28,196.196 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:38:30,234.234 INFO    ] ================================================
[2026-08-29 10:38:30,249.249 INFO    ] Launching Daemon at Sat Aug 29 10:38:30 IST 2026
[2026-08-29 10:38:30,260.260 INFO    ] ================================================
[2026-08-29 10:38:30,621.621 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:38:30
[2026-08-29 10:38:30,961.961 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:38:31,107.107 INFO    ] Initializing speech engine...
[2026-08-29 10:38:31,115.115 INFO    ] 2026-08-29 10:38:31
[2026-08-29 10:38:31,330.330 INFO    ] 2026-08-29 10:38:31
[2026-08-29 10:38:31,412.412 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:38:31,568.568 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:38:31,574.574 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:38:31,715.715 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:38:31,801.801 INFO    ] time= 29/08/2026 10:38:31
[2026-08-29 10:38:31,855.855 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:38:31,875.875 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:38:31,978.978 INFO    ] No existing commands found in stream
[2026-08-29 10:38:37,007.007 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:38:37,010.010 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-08-29 10:38:37,531.531 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:38:37,533.533 INFO    ] Checking for system updates...
[2026-08-29 10:38:37,554.554 INFO    ] 200
[2026-08-29 10:38:37,555.555 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:38:37,587.587 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:38:37,589.589 INFO    ] No update needed
[2026-08-29 10:38:37,590.590 INFO    ] Checking for camera pi updates...
[2026-08-29 10:38:37,609.609 INFO    ] 200
[2026-08-29 10:38:37,610.610 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:38:37,637.637 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:38:37,724.724 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:38:37,725.725 INFO    ] No camera update needed
[2026-08-29 10:38:37,726.726 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:38:37,728.728 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:38:37,732.732 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:38:37,736.736 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:38:39,774.774 INFO    ] ================================================
[2026-08-29 10:38:39,790.790 INFO    ] Launching Daemon at Sat Aug 29 10:38:39 IST 2026
[2026-08-29 10:38:39,801.801 INFO    ] ================================================
[2026-08-29 10:38:40,143.143 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:38:40
[2026-08-29 10:38:40,497.497 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:38:40,771.771 INFO    ] Initializing speech engine...
[2026-08-29 10:38:40,780.780 INFO    ] 2026-08-29 10:38:40
[2026-08-29 10:38:41,030.030 INFO    ] 2026-08-29 10:38:41
[2026-08-29 10:38:41,066.066 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:38:41,239.239 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:38:41,251.251 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:38:41,397.397 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:38:41,402.402 INFO    ] time= 29/08/2026 10:38:41
[2026-08-29 10:38:41,408.408 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:38:41,455.455 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:38:41,593.593 INFO    ] No existing commands found in stream
[2026-08-29 10:38:46,609.609 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:38:46,611.611 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-08-29 10:38:50,786.786 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:38:50,787.787 INFO    ] Checking for system updates...
[2026-08-29 10:38:50,808.808 INFO    ] 200
[2026-08-29 10:38:50,810.810 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:38:50,840.840 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:38:50,841.841 INFO    ] No update needed
[2026-08-29 10:38:50,843.843 INFO    ] Checking for camera pi updates...
[2026-08-29 10:38:50,864.864 INFO    ] 200
[2026-08-29 10:38:50,866.866 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:38:50,890.890 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:38:51,004.004 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:38:51,005.005 INFO    ] No camera update needed
[2026-08-29 10:38:51,007.007 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:38:51,008.008 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:38:51,011.011 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:38:51,014.014 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:38:53,054.054 INFO    ] ================================================
[2026-08-29 10:38:53,069.069 INFO    ] Launching Daemon at Sat Aug 29 10:38:53 IST 2026
[2026-08-29 10:38:53,080.080 INFO    ] ================================================
[2026-08-29 10:38:53,431.431 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:38:53
[2026-08-29 10:38:53,744.744 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:38:53,875.875 INFO    ] Initializing speech engine...
[2026-08-29 10:38:53,880.880 INFO    ] 2026-08-29 10:38:53
[2026-08-29 10:38:54,089.089 INFO    ] 2026-08-29 10:38:54
[2026-08-29 10:38:54,117.117 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:38:54,275.275 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:38:54,284.284 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:38:54,434.434 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:38:54,480.480 INFO    ] time= 29/08/2026 10:38:54
[2026-08-29 10:38:54,517.517 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:38:54,574.574 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:38:54,675.675 INFO    ] No existing commands found in stream
[2026-08-29 10:38:59,685.685 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:38:59,688.688 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-08-29 10:39:02,437.437 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:39:02,440.440 INFO    ] Checking for system updates...
[2026-08-29 10:39:02,486.486 INFO    ] 200
[2026-08-29 10:39:02,489.489 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:39:02,563.563 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:39:02,566.566 INFO    ] No update needed
[2026-08-29 10:39:02,569.569 INFO    ] Checking for camera pi updates...
[2026-08-29 10:39:02,614.614 INFO    ] 200
[2026-08-29 10:39:02,617.617 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:39:02,672.672 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:39:02,763.763 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:39:02,766.766 INFO    ] No camera update needed
[2026-08-29 10:39:02,769.769 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:39:02,772.772 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:39:02,779.779 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:39:02,786.786 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:39:04,831.831 INFO    ] ================================================
[2026-08-29 10:39:04,847.847 INFO    ] Launching Daemon at Sat Aug 29 10:39:04 IST 2026
[2026-08-29 10:39:04,858.858 INFO    ] ================================================
[2026-08-29 10:39:05,196.196 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:39:05
[2026-08-29 10:39:05,509.509 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:39:05,645.645 INFO    ] Initializing speech engine...
[2026-08-29 10:39:05,658.658 INFO    ] 2026-08-29 10:39:05
[2026-08-29 10:39:05,855.855 INFO    ] 2026-08-29 10:39:05
[2026-08-29 10:39:05,925.925 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:39:06,100.100 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:39:06,110.110 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:39:06,259.259 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:39:06,272.272 INFO    ] time= 29/08/2026 10:39:06
[2026-08-29 10:39:06,325.325 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:39:06,367.367 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:39:06,424.424 INFO    ] No existing commands found in stream
[2026-08-29 10:39:11,435.435 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:39:11,438.438 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-08-29 10:39:15,747.747 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:39:15,749.749 INFO    ] Checking for system updates...
[2026-08-29 10:39:15,791.791 INFO    ] 200
[2026-08-29 10:39:15,794.794 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:39:15,848.848 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:39:15,851.851 INFO    ] No update needed
[2026-08-29 10:39:15,854.854 INFO    ] Checking for camera pi updates...
[2026-08-29 10:39:15,893.893 INFO    ] 200
[2026-08-29 10:39:15,895.895 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:39:15,936.936 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:39:16,116.116 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:39:16,119.119 INFO    ] No camera update needed
[2026-08-29 10:39:16,122.122 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:39:16,125.125 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:39:16,131.131 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:39:16,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:39:18,178.178 INFO    ] ================================================
[2026-08-29 10:39:18,193.193 INFO    ] Launching Daemon at Sat Aug 29 10:39:18 IST 2026
[2026-08-29 10:39:18,204.204 INFO    ] ================================================
[2026-08-29 10:39:18,566.566 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:39:18
[2026-08-29 10:39:18,905.905 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:39:19,056.056 INFO    ] Initializing speech engine...
[2026-08-29 10:39:19,062.062 INFO    ] 2026-08-29 10:39:19
[2026-08-29 10:39:19,249.249 INFO    ] 2026-08-29 10:39:19
[2026-08-29 10:39:19,293.293 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:39:19,463.463 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:39:19,475.475 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:39:19,617.617 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:39:19,627.627 INFO    ] time= 29/08/2026 10:39:19
[2026-08-29 10:39:19,636.636 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:39:19,697.697 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:39:19,808.808 INFO    ] No existing commands found in stream
[2026-08-29 10:39:24,838.838 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:39:24,841.841 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 10:39:25,990.990 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:39:25,992.992 INFO    ] Checking for system updates...
[2026-08-29 10:39:26,013.013 INFO    ] 200
[2026-08-29 10:39:26,014.014 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:39:26,045.045 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:39:26,046.046 INFO    ] No update needed
[2026-08-29 10:39:26,048.048 INFO    ] Checking for camera pi updates...
[2026-08-29 10:39:26,068.068 INFO    ] 200
[2026-08-29 10:39:26,069.069 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:39:26,092.092 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:39:26,196.196 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:39:26,197.197 INFO    ] No camera update needed
[2026-08-29 10:39:26,199.199 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:39:26,200.200 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:39:26,203.203 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:39:26,206.206 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:39:28,245.245 INFO    ] ================================================
[2026-08-29 10:39:28,262.262 INFO    ] Launching Daemon at Sat Aug 29 10:39:28 IST 2026
[2026-08-29 10:39:28,273.273 INFO    ] ================================================
[2026-08-29 10:39:28,635.635 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:39:28
[2026-08-29 10:39:28,946.946 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:39:29,090.090 INFO    ] Initializing speech engine...
[2026-08-29 10:39:29,095.095 INFO    ] 2026-08-29 10:39:29
[2026-08-29 10:39:29,292.292 INFO    ] 2026-08-29 10:39:29
[2026-08-29 10:39:29,365.365 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:39:29,518.518 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:39:29,527.527 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:39:29,659.659 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:39:29,686.686 INFO    ] time= 29/08/2026 10:39:29
[2026-08-29 10:39:29,755.755 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:39:29,792.792 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:39:29,843.843 INFO    ] No existing commands found in stream
[2026-08-29 10:39:34,854.854 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:39:34,857.857 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-08-29 10:39:39,057.057 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:39:39,058.058 INFO    ] Checking for system updates...
[2026-08-29 10:39:39,082.082 INFO    ] 200
[2026-08-29 10:39:39,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:39:39,113.113 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:39:39,115.115 INFO    ] No update needed
[2026-08-29 10:39:39,116.116 INFO    ] Checking for camera pi updates...
[2026-08-29 10:39:39,136.136 INFO    ] 200
[2026-08-29 10:39:39,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:39:39,162.162 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:39:39,236.236 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:39:39,237.237 INFO    ] No camera update needed
[2026-08-29 10:39:39,239.239 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:39:39,240.240 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:39:39,243.243 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:39:39,245.245 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:39:41,285.285 INFO    ] ================================================
[2026-08-29 10:39:41,301.301 INFO    ] Launching Daemon at Sat Aug 29 10:39:41 IST 2026
[2026-08-29 10:39:41,311.311 INFO    ] ================================================
[2026-08-29 10:39:41,787.787 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:39:41
[2026-08-29 10:39:42,387.387 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:39:42,667.667 INFO    ] Initializing speech engine...
[2026-08-29 10:39:42,675.675 INFO    ] 2026-08-29 10:39:42
[2026-08-29 10:39:42,936.936 INFO    ] 2026-08-29 10:39:42
[2026-08-29 10:39:42,966.966 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:39:43,134.134 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:39:43,146.146 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:39:43,286.286 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:39:43,293.293 INFO    ] time= 29/08/2026 10:39:43
[2026-08-29 10:39:43,300.300 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:39:43,331.331 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:39:43,458.458 INFO    ] No existing commands found in stream
[2026-08-29 10:39:48,494.494 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:39:48,496.496 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 10:39:52,151.151 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:39:52,154.154 INFO    ] Checking for system updates...
[2026-08-29 10:39:52,189.189 INFO    ] 200
[2026-08-29 10:39:52,192.192 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:39:52,246.246 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:39:52,249.249 INFO    ] No update needed
[2026-08-29 10:39:52,251.251 INFO    ] Checking for camera pi updates...
[2026-08-29 10:39:52,285.285 INFO    ] 200
[2026-08-29 10:39:52,287.287 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:39:52,330.330 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:39:52,824.824 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:39:52,827.827 INFO    ] No camera update needed
[2026-08-29 10:39:52,829.829 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:39:52,831.831 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:39:52,837.837 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:39:52,842.842 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:39:54,883.883 INFO    ] ================================================
[2026-08-29 10:39:54,899.899 INFO    ] Launching Daemon at Sat Aug 29 10:39:54 IST 2026
[2026-08-29 10:39:54,910.910 INFO    ] ================================================
[2026-08-29 10:39:55,278.278 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:39:55
[2026-08-29 10:39:55,601.601 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:39:55,756.756 INFO    ] Initializing speech engine...
[2026-08-29 10:39:55,762.762 INFO    ] 2026-08-29 10:39:55
[2026-08-29 10:39:55,972.972 INFO    ] 2026-08-29 10:39:55
[2026-08-29 10:39:56,000.000 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:39:56,124.124 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:39:56,187.187 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:39:56,377.377 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:39:56,433.433 INFO    ] time= 29/08/2026 10:39:56
[2026-08-29 10:39:56,478.478 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:39:56,534.534 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:39:56,590.590 INFO    ] No existing commands found in stream
[2026-08-29 10:40:01,602.602 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:40:01,608.608 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-08-29 10:40:07,467.467 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:40:07,469.469 INFO    ] Checking for system updates...
[2026-08-29 10:40:07,491.491 INFO    ] 200
[2026-08-29 10:40:07,493.493 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:40:07,525.525 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:40:07,526.526 INFO    ] No update needed
[2026-08-29 10:40:07,528.528 INFO    ] Checking for camera pi updates...
[2026-08-29 10:40:07,549.549 INFO    ] 200
[2026-08-29 10:40:07,551.551 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:40:07,574.574 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:40:07,653.653 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:40:07,654.654 INFO    ] No camera update needed
[2026-08-29 10:40:07,656.656 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:40:07,657.657 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:40:07,660.660 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:40:07,663.663 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:40:09,703.703 INFO    ] ================================================
[2026-08-29 10:40:09,718.718 INFO    ] Launching Daemon at Sat Aug 29 10:40:09 IST 2026
[2026-08-29 10:40:09,729.729 INFO    ] ================================================
[2026-08-29 10:40:10,263.263 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:40:10
[2026-08-29 10:40:10,849.849 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:40:11,118.118 INFO    ] Initializing speech engine...
[2026-08-29 10:40:11,127.127 INFO    ] 2026-08-29 10:40:11
[2026-08-29 10:40:11,378.378 INFO    ] 2026-08-29 10:40:11
[2026-08-29 10:40:11,442.442 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:40:11,584.584 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:40:11,586.586 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:40:11,691.691 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:40:11,695.695 INFO    ] time= 29/08/2026 10:40:11
[2026-08-29 10:40:11,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:40:11,720.720 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:40:11,771.771 INFO    ] No existing commands found in stream
[2026-08-29 10:40:16,801.801 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:40:16,803.803 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-08-29 10:40:18,114.114 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:40:18,115.115 INFO    ] Checking for system updates...
[2026-08-29 10:40:18,135.135 INFO    ] 200
[2026-08-29 10:40:18,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:40:18,169.169 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:40:18,171.171 INFO    ] No update needed
[2026-08-29 10:40:18,172.172 INFO    ] Checking for camera pi updates...
[2026-08-29 10:40:18,191.191 INFO    ] 200
[2026-08-29 10:40:18,193.193 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:40:18,217.217 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:40:18,263.263 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:40:18,265.265 INFO    ] No camera update needed
[2026-08-29 10:40:18,266.266 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:40:18,267.267 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:40:18,270.270 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:40:18,273.273 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:40:20,312.312 INFO    ] ================================================
[2026-08-29 10:40:20,328.328 INFO    ] Launching Daemon at Sat Aug 29 10:40:20 IST 2026
[2026-08-29 10:40:20,339.339 INFO    ] ================================================
[2026-08-29 10:40:20,696.696 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:40:20
[2026-08-29 10:40:21,008.008 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:40:21,149.149 INFO    ] Initializing speech engine...
[2026-08-29 10:40:21,154.154 INFO    ] 2026-08-29 10:40:21
[2026-08-29 10:40:21,358.358 INFO    ] 2026-08-29 10:40:21
[2026-08-29 10:40:21,437.437 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:40:21,585.585 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:40:21,594.594 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:40:21,726.726 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:40:21,763.763 INFO    ] time= 29/08/2026 10:40:21
[2026-08-29 10:40:21,827.827 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:40:21,860.860 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:40:21,913.913 INFO    ] No existing commands found in stream
[2026-08-29 10:40:26,924.924 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:40:26,927.927 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 10:40:28,944.944 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:40:28,945.945 INFO    ] Checking for system updates...
[2026-08-29 10:40:28,966.966 INFO    ] 200
[2026-08-29 10:40:28,968.968 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:40:28,998.998 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:40:28,999.999 INFO    ] No update needed
[2026-08-29 10:40:29,001.001 INFO    ] Checking for camera pi updates...
[2026-08-29 10:40:29,020.020 INFO    ] 200
[2026-08-29 10:40:29,021.021 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:40:29,044.044 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:40:29,122.122 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:40:29,124.124 INFO    ] No camera update needed
[2026-08-29 10:40:29,125.125 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:40:29,126.126 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:40:29,129.129 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:40:29,132.132 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:40:31,172.172 INFO    ] ================================================
[2026-08-29 10:40:31,187.187 INFO    ] Launching Daemon at Sat Aug 29 10:40:31 IST 2026
[2026-08-29 10:40:31,199.199 INFO    ] ================================================
[2026-08-29 10:40:31,611.611 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:40:31
[2026-08-29 10:40:32,315.315 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:40:32,647.647 INFO    ] Initializing speech engine...
[2026-08-29 10:40:32,660.660 INFO    ] 2026-08-29 10:40:32
[2026-08-29 10:40:32,948.948 INFO    ] 2026-08-29 10:40:32
[2026-08-29 10:40:32,990.990 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:40:33,212.212 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:40:33,222.222 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:40:33,357.357 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:40:33,392.392 INFO    ] time= 29/08/2026 10:40:33
[2026-08-29 10:40:33,442.442 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:40:33,489.489 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:40:33,542.542 INFO    ] No existing commands found in stream
[2026-08-29 10:40:38,555.555 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:40:38,558.558 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-08-29 10:40:41,790.790 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:40:41,791.791 INFO    ] Checking for system updates...
[2026-08-29 10:40:41,812.812 INFO    ] 200
[2026-08-29 10:40:41,813.813 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:40:41,844.844 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:40:41,845.845 INFO    ] No update needed
[2026-08-29 10:40:41,847.847 INFO    ] Checking for camera pi updates...
[2026-08-29 10:40:41,866.866 INFO    ] 200
[2026-08-29 10:40:41,867.867 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:40:41,891.891 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:40:41,980.980 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:40:41,981.981 INFO    ] No camera update needed
[2026-08-29 10:40:41,983.983 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:40:41,984.984 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:40:41,987.987 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:40:41,989.989 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:40:44,028.028 INFO    ] ================================================
[2026-08-29 10:40:44,046.046 INFO    ] Launching Daemon at Sat Aug 29 10:40:44 IST 2026
[2026-08-29 10:40:44,057.057 INFO    ] ================================================
[2026-08-29 10:40:44,620.620 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:40:44
[2026-08-29 10:40:45,281.281 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:40:45,581.581 INFO    ] Initializing speech engine...
[2026-08-29 10:40:45,595.595 INFO    ] 2026-08-29 10:40:45
[2026-08-29 10:40:45,905.905 INFO    ] 2026-08-29 10:40:45
[2026-08-29 10:40:45,989.989 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:40:46,136.136 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:40:46,145.145 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:40:46,279.279 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:40:46,324.324 INFO    ] time= 29/08/2026 10:40:46
[2026-08-29 10:40:46,368.368 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:40:46,410.410 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:40:46,462.462 INFO    ] No existing commands found in stream
[2026-08-29 10:40:51,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:40:51,477.477 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-08-29 10:40:54,626.626 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:40:54,627.627 INFO    ] Checking for system updates...
[2026-08-29 10:40:54,648.648 INFO    ] 200
[2026-08-29 10:40:54,649.649 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:40:54,679.679 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:40:54,681.681 INFO    ] No update needed
[2026-08-29 10:40:54,682.682 INFO    ] Checking for camera pi updates...
[2026-08-29 10:40:54,702.702 INFO    ] 200
[2026-08-29 10:40:54,703.703 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:40:54,726.726 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:40:54,833.833 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:40:54,834.834 INFO    ] No camera update needed
[2026-08-29 10:40:54,836.836 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:40:54,837.837 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:40:54,840.840 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:40:54,843.843 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:40:56,882.882 INFO    ] ================================================
[2026-08-29 10:40:56,898.898 INFO    ] Launching Daemon at Sat Aug 29 10:40:56 IST 2026
[2026-08-29 10:40:56,908.908 INFO    ] ================================================
[2026-08-29 10:40:57,262.262 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:40:57
[2026-08-29 10:40:57,595.595 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:40:57,745.745 INFO    ] Initializing speech engine...
[2026-08-29 10:40:57,750.750 INFO    ] 2026-08-29 10:40:57
[2026-08-29 10:40:57,951.951 INFO    ] 2026-08-29 10:40:57
[2026-08-29 10:40:58,031.031 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:40:58,185.185 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:40:58,213.213 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:40:58,344.344 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:40:58,362.362 INFO    ] time= 29/08/2026 10:40:58
[2026-08-29 10:40:58,416.416 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:40:58,455.455 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:40:58,543.543 INFO    ] No existing commands found in stream
[2026-08-29 10:41:03,555.555 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:41:03,557.557 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-08-29 10:41:07,215.215 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:41:07,216.216 INFO    ] Checking for system updates...
[2026-08-29 10:41:07,237.237 INFO    ] 200
[2026-08-29 10:41:07,238.238 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:41:07,267.267 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:41:07,269.269 INFO    ] No update needed
[2026-08-29 10:41:07,270.270 INFO    ] Checking for camera pi updates...
[2026-08-29 10:41:07,291.291 INFO    ] 200
[2026-08-29 10:41:07,293.293 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:41:07,316.316 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:41:07,401.401 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:41:07,403.403 INFO    ] No camera update needed
[2026-08-29 10:41:07,404.404 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:41:07,405.405 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:41:07,408.408 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:41:07,411.411 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:41:09,449.449 INFO    ] ================================================
[2026-08-29 10:41:09,464.464 INFO    ] Launching Daemon at Sat Aug 29 10:41:09 IST 2026
[2026-08-29 10:41:09,475.475 INFO    ] ================================================
[2026-08-29 10:41:09,823.823 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:41:09
[2026-08-29 10:41:10,137.137 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:41:10,269.269 INFO    ] Initializing speech engine...
[2026-08-29 10:41:10,281.281 INFO    ] 2026-08-29 10:41:10
[2026-08-29 10:41:10,487.487 INFO    ] 2026-08-29 10:41:10
[2026-08-29 10:41:10,538.538 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:41:10,699.699 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:41:10,707.707 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:41:10,855.855 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:41:10,904.904 INFO    ] time= 29/08/2026 10:41:10
[2026-08-29 10:41:10,910.910 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:41:10,925.925 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:41:11,018.018 INFO    ] No existing commands found in stream
[2026-08-29 10:41:16,045.045 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:41:16,047.047 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-08-29 10:41:19,063.063 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:41:19,065.065 INFO    ] Checking for system updates...
[2026-08-29 10:41:19,085.085 INFO    ] 200
[2026-08-29 10:41:19,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:41:19,116.116 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:41:19,118.118 INFO    ] No update needed
[2026-08-29 10:41:19,119.119 INFO    ] Checking for camera pi updates...
[2026-08-29 10:41:19,138.138 INFO    ] 200
[2026-08-29 10:41:19,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:41:19,164.164 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:41:19,359.359 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:41:19,360.360 INFO    ] No camera update needed
[2026-08-29 10:41:19,361.361 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:41:19,362.362 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:41:19,365.365 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:41:19,368.368 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:41:21,406.406 INFO    ] ================================================
[2026-08-29 10:41:21,421.421 INFO    ] Launching Daemon at Sat Aug 29 10:41:21 IST 2026
[2026-08-29 10:41:21,432.432 INFO    ] ================================================
[2026-08-29 10:41:21,781.781 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:41:21
[2026-08-29 10:41:22,177.177 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:41:22,432.432 INFO    ] Initializing speech engine...
[2026-08-29 10:41:22,448.448 INFO    ] 2026-08-29 10:41:22
[2026-08-29 10:41:22,700.700 INFO    ] 2026-08-29 10:41:22
[2026-08-29 10:41:22,734.734 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:41:22,909.909 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:41:22,922.922 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:41:23,065.065 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:41:23,073.073 INFO    ] time= 29/08/2026 10:41:23
[2026-08-29 10:41:23,080.080 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:41:23,105.105 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:41:23,224.224 INFO    ] No existing commands found in stream
[2026-08-29 10:41:28,249.249 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:41:28,252.252 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-08-29 10:41:32,572.572 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:41:32,576.576 INFO    ] Checking for system updates...
[2026-08-29 10:41:32,614.614 INFO    ] 200
[2026-08-29 10:41:32,616.616 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:41:32,669.669 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:41:32,672.672 INFO    ] No update needed
[2026-08-29 10:41:32,674.674 INFO    ] Checking for camera pi updates...
[2026-08-29 10:41:32,708.708 INFO    ] 200
[2026-08-29 10:41:32,711.711 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:41:32,751.751 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:41:32,835.835 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:41:32,837.837 INFO    ] No camera update needed
[2026-08-29 10:41:32,839.839 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:41:32,841.841 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:41:32,847.847 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:41:32,852.852 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:41:34,893.893 INFO    ] ================================================
[2026-08-29 10:41:34,907.907 INFO    ] Launching Daemon at Sat Aug 29 10:41:34 IST 2026
[2026-08-29 10:41:34,918.918 INFO    ] ================================================
[2026-08-29 10:41:35,428.428 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:41:35
[2026-08-29 10:41:35,761.761 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:41:35,895.895 INFO    ] Initializing speech engine...
[2026-08-29 10:41:35,909.909 INFO    ] 2026-08-29 10:41:35
[2026-08-29 10:41:36,103.103 INFO    ] 2026-08-29 10:41:36
[2026-08-29 10:41:36,146.146 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:41:36,370.370 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:41:36,379.379 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:41:36,514.514 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:41:36,520.520 INFO    ] time= 29/08/2026 10:41:36
[2026-08-29 10:41:36,585.585 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:41:36,644.644 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:41:36,704.704 INFO    ] No existing commands found in stream
[2026-08-29 10:41:41,716.716 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:41:41,718.718 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-08-29 10:41:42,233.233 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:41:42,235.235 INFO    ] Checking for system updates...
[2026-08-29 10:41:42,256.256 INFO    ] 200
[2026-08-29 10:41:42,257.257 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:41:42,287.287 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:41:42,288.288 INFO    ] No update needed
[2026-08-29 10:41:42,289.289 INFO    ] Checking for camera pi updates...
[2026-08-29 10:41:42,308.308 INFO    ] 200
[2026-08-29 10:41:42,310.310 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:41:42,333.333 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:41:42,410.410 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:41:42,413.413 INFO    ] No camera update needed
[2026-08-29 10:41:42,415.415 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:41:42,417.417 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:41:42,423.423 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:41:42,427.427 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:41:44,467.467 INFO    ] ================================================
[2026-08-29 10:41:44,482.482 INFO    ] Launching Daemon at Sat Aug 29 10:41:44 IST 2026
[2026-08-29 10:41:44,493.493 INFO    ] ================================================
[2026-08-29 10:41:45,110.110 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:41:45
[2026-08-29 10:41:45,601.601 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:41:45,738.738 INFO    ] Initializing speech engine...
[2026-08-29 10:41:45,749.749 INFO    ] 2026-08-29 10:41:45
[2026-08-29 10:41:45,963.963 INFO    ] 2026-08-29 10:41:45
[2026-08-29 10:41:46,012.012 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:41:46,156.156 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:41:46,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:41:46,297.297 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:41:46,314.314 INFO    ] time= 29/08/2026 10:41:46
[2026-08-29 10:41:46,363.363 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:41:46,422.422 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:41:46,483.483 INFO    ] No existing commands found in stream
[2026-08-29 10:41:51,494.494 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:41:51,497.497 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-08-29 10:41:55,508.508 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:41:55,510.510 INFO    ] Checking for system updates...
[2026-08-29 10:41:55,530.530 INFO    ] 200
[2026-08-29 10:41:55,531.531 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:41:55,562.562 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:41:55,563.563 INFO    ] No update needed
[2026-08-29 10:41:55,564.564 INFO    ] Checking for camera pi updates...
[2026-08-29 10:41:55,584.584 INFO    ] 200
[2026-08-29 10:41:55,585.585 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:41:55,607.607 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:41:55,704.704 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:41:55,706.706 INFO    ] No camera update needed
[2026-08-29 10:41:55,707.707 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:41:55,708.708 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:41:55,711.711 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:41:55,714.714 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:41:57,752.752 INFO    ] ================================================
[2026-08-29 10:41:57,767.767 INFO    ] Launching Daemon at Sat Aug 29 10:41:57 IST 2026
[2026-08-29 10:41:57,778.778 INFO    ] ================================================
[2026-08-29 10:41:58,123.123 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:41:58
[2026-08-29 10:41:58,436.436 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:41:58,570.570 INFO    ] Initializing speech engine...
[2026-08-29 10:41:58,583.583 INFO    ] 2026-08-29 10:41:58
[2026-08-29 10:41:58,833.833 INFO    ] 2026-08-29 10:41:58
[2026-08-29 10:41:58,868.868 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:41:59,059.059 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:41:59,073.073 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:41:59,193.193 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:41:59,200.200 INFO    ] time= 29/08/2026 10:41:59
[2026-08-29 10:41:59,219.219 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:41:59,241.241 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:41:59,323.323 INFO    ] No existing commands found in stream
[2026-08-29 10:42:04,333.333 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:42:04,336.336 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-08-29 10:42:05,614.614 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:42:05,616.616 INFO    ] Checking for system updates...
[2026-08-29 10:42:05,636.636 INFO    ] 200
[2026-08-29 10:42:05,638.638 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:42:05,670.670 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:42:05,671.671 INFO    ] No update needed
[2026-08-29 10:42:05,672.672 INFO    ] Checking for camera pi updates...
[2026-08-29 10:42:05,691.691 INFO    ] 200
[2026-08-29 10:42:05,693.693 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:42:05,716.716 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:42:05,810.810 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:42:05,811.811 INFO    ] No camera update needed
[2026-08-29 10:42:05,812.812 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:42:05,814.814 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:42:05,816.816 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:42:05,819.819 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:42:07,858.858 INFO    ] ================================================
[2026-08-29 10:42:07,874.874 INFO    ] Launching Daemon at Sat Aug 29 10:42:07 IST 2026
[2026-08-29 10:42:07,884.884 INFO    ] ================================================
[2026-08-29 10:42:08,249.249 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:42:08
[2026-08-29 10:42:08,568.568 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:42:08,702.702 INFO    ] Initializing speech engine...
[2026-08-29 10:42:08,716.716 INFO    ] 2026-08-29 10:42:08
[2026-08-29 10:42:08,902.902 INFO    ] 2026-08-29 10:42:08
[2026-08-29 10:42:08,937.937 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:42:09,112.112 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:42:09,123.123 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:42:09,265.265 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:42:09,274.274 INFO    ] time= 29/08/2026 10:42:09
[2026-08-29 10:42:09,280.280 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:42:09,326.326 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:42:09,455.455 INFO    ] No existing commands found in stream
[2026-08-29 10:42:14,483.483 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:42:14,486.486 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-08-29 10:42:16,411.411 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:42:16,413.413 INFO    ] Checking for system updates...
[2026-08-29 10:42:16,435.435 INFO    ] 200
[2026-08-29 10:42:16,436.436 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:42:16,467.467 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:42:16,468.468 INFO    ] No update needed
[2026-08-29 10:42:16,470.470 INFO    ] Checking for camera pi updates...
[2026-08-29 10:42:16,490.490 INFO    ] 200
[2026-08-29 10:42:16,491.491 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:42:16,516.516 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:42:16,595.595 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:42:16,596.596 INFO    ] No camera update needed
[2026-08-29 10:42:16,598.598 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:42:16,599.599 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:42:16,602.602 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:42:16,605.605 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:42:18,644.644 INFO    ] ================================================
[2026-08-29 10:42:18,660.660 INFO    ] Launching Daemon at Sat Aug 29 10:42:18 IST 2026
[2026-08-29 10:42:18,671.671 INFO    ] ================================================
[2026-08-29 10:42:19,029.029 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:42:19
[2026-08-29 10:42:19,366.366 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:42:19,518.518 INFO    ] Initializing speech engine...
[2026-08-29 10:42:19,525.525 INFO    ] 2026-08-29 10:42:19
[2026-08-29 10:42:19,733.733 INFO    ] 2026-08-29 10:42:19
[2026-08-29 10:42:19,763.763 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:42:19,890.890 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:42:19,956.956 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:42:20,081.081 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:42:20,106.106 INFO    ] time= 29/08/2026 10:42:20
[2026-08-29 10:42:20,171.171 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:42:20,223.223 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:42:20,317.317 INFO    ] No existing commands found in stream
[2026-08-29 10:42:25,349.349 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:42:25,352.352 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-08-29 10:42:27,974.974 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:42:27,976.976 INFO    ] Checking for system updates...
[2026-08-29 10:42:27,996.996 INFO    ] 200
[2026-08-29 10:42:27,998.998 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:42:28,027.027 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:42:28,029.029 INFO    ] No update needed
[2026-08-29 10:42:28,030.030 INFO    ] Checking for camera pi updates...
[2026-08-29 10:42:28,049.049 INFO    ] 200
[2026-08-29 10:42:28,050.050 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:42:28,075.075 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:42:28,167.167 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:42:28,169.169 INFO    ] No camera update needed
[2026-08-29 10:42:28,170.170 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:42:28,171.171 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:42:28,174.174 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:42:28,177.177 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:42:30,215.215 INFO    ] ================================================
[2026-08-29 10:42:30,230.230 INFO    ] Launching Daemon at Sat Aug 29 10:42:30 IST 2026
[2026-08-29 10:42:30,241.241 INFO    ] ================================================
[2026-08-29 10:42:30,813.813 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:42:30
[2026-08-29 10:42:31,471.471 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:42:31,800.800 INFO    ] Initializing speech engine...
[2026-08-29 10:42:31,815.815 INFO    ] 2026-08-29 10:42:31
[2026-08-29 10:42:32,122.122 INFO    ] 2026-08-29 10:42:32
[2026-08-29 10:42:32,239.239 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:42:32,375.375 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:42:32,399.399 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:42:32,546.546 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:42:32,622.622 INFO    ] time= 29/08/2026 10:42:32
[2026-08-29 10:42:32,678.678 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:42:32,688.688 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:42:32,754.754 INFO    ] No existing commands found in stream
[2026-08-29 10:42:37,783.783 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:42:37,785.785 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-08-29 10:42:39,880.880 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:42:39,882.882 INFO    ] Checking for system updates...
[2026-08-29 10:42:39,903.903 INFO    ] 200
[2026-08-29 10:42:39,904.904 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:42:39,935.935 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:42:39,936.936 INFO    ] No update needed
[2026-08-29 10:42:39,938.938 INFO    ] Checking for camera pi updates...
[2026-08-29 10:42:39,959.959 INFO    ] 200
[2026-08-29 10:42:39,960.960 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:42:39,985.985 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:42:40,061.061 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:42:40,062.062 INFO    ] No camera update needed
[2026-08-29 10:42:40,064.064 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:42:40,065.065 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:42:40,068.068 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:42:40,071.071 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:42:42,112.112 INFO    ] ================================================
[2026-08-29 10:42:42,127.127 INFO    ] Launching Daemon at Sat Aug 29 10:42:42 IST 2026
[2026-08-29 10:42:42,137.137 INFO    ] ================================================
[2026-08-29 10:42:42,535.535 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:42:42
[2026-08-29 10:42:42,874.874 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:42:43,025.025 INFO    ] Initializing speech engine...
[2026-08-29 10:42:43,030.030 INFO    ] 2026-08-29 10:42:43
[2026-08-29 10:42:43,287.287 INFO    ] 2026-08-29 10:42:43
[2026-08-29 10:42:43,345.345 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:42:43,513.513 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:42:43,519.519 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:42:43,686.686 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:42:43,722.722 INFO    ] time= 29/08/2026 10:42:43
[2026-08-29 10:42:43,740.740 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:42:43,749.749 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:42:43,879.879 INFO    ] No existing commands found in stream
[2026-08-29 10:42:48,899.899 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:42:48,902.902 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-08-29 10:42:53,166.166 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:42:53,167.167 INFO    ] Checking for system updates...
[2026-08-29 10:42:53,189.189 INFO    ] 200
[2026-08-29 10:42:53,191.191 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:42:53,223.223 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:42:53,224.224 INFO    ] No update needed
[2026-08-29 10:42:53,226.226 INFO    ] Checking for camera pi updates...
[2026-08-29 10:42:53,245.245 INFO    ] 200
[2026-08-29 10:42:53,246.246 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:42:53,270.270 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:42:53,345.345 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:42:53,346.346 INFO    ] No camera update needed
[2026-08-29 10:42:53,347.347 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:42:53,349.349 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:42:53,352.352 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:42:53,355.355 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:42:55,395.395 INFO    ] ================================================
[2026-08-29 10:42:55,410.410 INFO    ] Launching Daemon at Sat Aug 29 10:42:55 IST 2026
[2026-08-29 10:42:55,421.421 INFO    ] ================================================
[2026-08-29 10:42:55,764.764 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:42:55
[2026-08-29 10:42:56,080.080 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:42:56,217.217 INFO    ] Initializing speech engine...
[2026-08-29 10:42:56,229.229 INFO    ] 2026-08-29 10:42:56
[2026-08-29 10:42:56,449.449 INFO    ] 2026-08-29 10:42:56
[2026-08-29 10:42:56,481.481 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:42:56,657.657 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:42:56,662.662 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:42:56,841.841 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:42:56,891.891 INFO    ] time= 29/08/2026 10:42:56
[2026-08-29 10:42:56,897.897 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:42:56,917.917 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:42:57,026.026 INFO    ] No existing commands found in stream
[2026-08-29 10:43:02,055.055 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:43:02,059.059 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-08-29 10:43:05,001.001 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:43:05,003.003 INFO    ] Checking for system updates...
[2026-08-29 10:43:05,023.023 INFO    ] 200
[2026-08-29 10:43:05,025.025 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:43:05,057.057 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:43:05,058.058 INFO    ] No update needed
[2026-08-29 10:43:05,059.059 INFO    ] Checking for camera pi updates...
[2026-08-29 10:43:05,079.079 INFO    ] 200
[2026-08-29 10:43:05,080.080 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:43:05,103.103 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:43:05,192.192 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:43:05,193.193 INFO    ] No camera update needed
[2026-08-29 10:43:05,195.195 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:43:05,196.196 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:43:05,199.199 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:43:05,201.201 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:43:07,243.243 INFO    ] ================================================
[2026-08-29 10:43:07,258.258 INFO    ] Launching Daemon at Sat Aug 29 10:43:07 IST 2026
[2026-08-29 10:43:07,269.269 INFO    ] ================================================
[2026-08-29 10:43:07,601.601 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:43:07
[2026-08-29 10:43:07,919.919 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:43:08,134.134 INFO    ] Initializing speech engine...
[2026-08-29 10:43:08,138.138 INFO    ] 2026-08-29 10:43:08
[2026-08-29 10:43:08,390.390 INFO    ] 2026-08-29 10:43:08
[2026-08-29 10:43:08,431.431 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:43:08,619.619 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:43:08,668.668 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:43:08,821.821 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:43:08,892.892 INFO    ] time= 29/08/2026 10:43:08
[2026-08-29 10:43:08,949.949 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:43:08,955.955 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:43:09,076.076 INFO    ] No existing commands found in stream
[2026-08-29 10:43:14,106.106 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:43:14,109.109 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-08-29 10:43:16,981.981 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:43:16,983.983 INFO    ] Checking for system updates...
[2026-08-29 10:43:17,004.004 INFO    ] 200
[2026-08-29 10:43:17,005.005 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:43:17,038.038 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:43:17,040.040 INFO    ] No update needed
[2026-08-29 10:43:17,041.041 INFO    ] Checking for camera pi updates...
[2026-08-29 10:43:17,061.061 INFO    ] 200
[2026-08-29 10:43:17,062.062 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:43:17,088.088 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:43:17,166.166 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:43:17,167.167 INFO    ] No camera update needed
[2026-08-29 10:43:17,168.168 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:43:17,169.169 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:43:17,172.172 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:43:17,175.175 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:43:19,216.216 INFO    ] ================================================
[2026-08-29 10:43:19,231.231 INFO    ] Launching Daemon at Sat Aug 29 10:43:19 IST 2026
[2026-08-29 10:43:19,242.242 INFO    ] ================================================
[2026-08-29 10:43:19,568.568 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:43:19
[2026-08-29 10:43:19,881.881 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:43:20,016.016 INFO    ] Initializing speech engine...
[2026-08-29 10:43:20,023.023 INFO    ] 2026-08-29 10:43:20
[2026-08-29 10:43:20,236.236 INFO    ] 2026-08-29 10:43:20
[2026-08-29 10:43:20,264.264 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:43:20,446.446 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:43:20,450.450 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:43:20,577.577 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:43:20,643.643 INFO    ] time= 29/08/2026 10:43:20
[2026-08-29 10:43:20,674.674 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:43:20,681.681 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:43:20,748.748 INFO    ] No existing commands found in stream
[2026-08-29 10:43:25,762.762 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:43:25,765.765 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 10:43:27,737.737 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:43:27,738.738 INFO    ] Checking for system updates...
[2026-08-29 10:43:27,759.759 INFO    ] 200
[2026-08-29 10:43:27,760.760 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:43:27,790.790 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:43:27,791.791 INFO    ] No update needed
[2026-08-29 10:43:27,793.793 INFO    ] Checking for camera pi updates...
[2026-08-29 10:43:27,813.813 INFO    ] 200
[2026-08-29 10:43:27,814.814 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:43:27,838.838 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:43:27,929.929 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:43:27,930.930 INFO    ] No camera update needed
[2026-08-29 10:43:27,932.932 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:43:27,933.933 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:43:27,936.936 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:43:27,938.938 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:43:29,979.979 INFO    ] ================================================
[2026-08-29 10:43:30,999.999 INFO    ] Launching Daemon at Sat Aug 29 10:43:29 IST 2026
[2026-08-29 10:43:30,010.010 INFO    ] ================================================
[2026-08-29 10:43:30,367.367 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:43:30
[2026-08-29 10:43:30,866.866 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:43:31,127.127 INFO    ] Initializing speech engine...
[2026-08-29 10:43:31,135.135 INFO    ] 2026-08-29 10:43:31
[2026-08-29 10:43:31,438.438 INFO    ] 2026-08-29 10:43:31
[2026-08-29 10:43:31,498.498 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:43:31,685.685 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:43:31,702.702 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:43:31,840.840 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:43:31,849.849 INFO    ] time= 29/08/2026 10:43:31
[2026-08-29 10:43:31,857.857 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:43:31,877.877 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:43:32,009.009 INFO    ] No existing commands found in stream
[2026-08-29 10:43:37,039.039 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:43:37,042.042 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-08-29 10:43:39,649.649 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:43:39,651.651 INFO    ] Checking for system updates...
[2026-08-29 10:43:39,671.671 INFO    ] 200
[2026-08-29 10:43:39,673.673 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:43:39,702.702 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:43:39,704.704 INFO    ] No update needed
[2026-08-29 10:43:39,705.705 INFO    ] Checking for camera pi updates...
[2026-08-29 10:43:39,725.725 INFO    ] 200
[2026-08-29 10:43:39,727.727 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:43:39,750.750 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:43:39,825.825 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:43:39,826.826 INFO    ] No camera update needed
[2026-08-29 10:43:39,827.827 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:43:39,828.828 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:43:39,831.831 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:43:39,834.834 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:43:41,875.875 INFO    ] ================================================
[2026-08-29 10:43:41,891.891 INFO    ] Launching Daemon at Sat Aug 29 10:43:41 IST 2026
[2026-08-29 10:43:41,902.902 INFO    ] ================================================
[2026-08-29 10:43:42,257.257 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:43:42
[2026-08-29 10:43:42,570.570 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:43:42,705.705 INFO    ] Initializing speech engine...
[2026-08-29 10:43:42,718.718 INFO    ] 2026-08-29 10:43:42
[2026-08-29 10:43:42,938.938 INFO    ] 2026-08-29 10:43:42
[2026-08-29 10:43:42,968.968 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:43:43,101.101 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:43:43,134.134 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:43:43,310.310 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:43:43,362.362 INFO    ] time= 29/08/2026 10:43:43
[2026-08-29 10:43:43,396.396 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:43:43,418.418 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:43:43,494.494 INFO    ] No existing commands found in stream
[2026-08-29 10:43:48,504.504 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:43:48,507.507 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-08-29 10:43:52,335.335 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:43:52,337.337 INFO    ] Checking for system updates...
[2026-08-29 10:43:52,357.357 INFO    ] 200
[2026-08-29 10:43:52,359.359 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:43:52,389.389 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:43:52,390.390 INFO    ] No update needed
[2026-08-29 10:43:52,392.392 INFO    ] Checking for camera pi updates...
[2026-08-29 10:43:52,411.411 INFO    ] 200
[2026-08-29 10:43:52,413.413 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:43:52,436.436 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:43:52,513.513 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:43:52,515.515 INFO    ] No camera update needed
[2026-08-29 10:43:52,518.518 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:43:52,520.520 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:43:52,525.525 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:43:52,530.530 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:43:54,572.572 INFO    ] ================================================
[2026-08-29 10:43:54,587.587 INFO    ] Launching Daemon at Sat Aug 29 10:43:54 IST 2026
[2026-08-29 10:43:54,598.598 INFO    ] ================================================
[2026-08-29 10:43:55,168.168 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:43:55
[2026-08-29 10:43:55,682.682 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:43:55,816.816 INFO    ] Initializing speech engine...
[2026-08-29 10:43:55,819.819 INFO    ] 2026-08-29 10:43:55
[2026-08-29 10:43:56,049.049 INFO    ] 2026-08-29 10:43:56
[2026-08-29 10:43:56,081.081 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:43:56,213.213 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:43:56,242.242 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:43:56,389.389 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:43:56,430.430 INFO    ] time= 29/08/2026 10:43:56
[2026-08-29 10:43:56,481.481 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:43:56,517.517 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:43:56,615.615 INFO    ] No existing commands found in stream
[2026-08-29 10:44:01,625.625 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:44:01,628.628 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-08-29 10:44:05,093.093 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:44:05,095.095 INFO    ] Checking for system updates...
[2026-08-29 10:44:05,115.115 INFO    ] 200
[2026-08-29 10:44:05,117.117 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:44:05,147.147 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:44:05,148.148 INFO    ] No update needed
[2026-08-29 10:44:05,149.149 INFO    ] Checking for camera pi updates...
[2026-08-29 10:44:05,168.168 INFO    ] 200
[2026-08-29 10:44:05,170.170 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:44:05,193.193 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:44:05,267.267 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:44:05,269.269 INFO    ] No camera update needed
[2026-08-29 10:44:05,270.270 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:44:05,272.272 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:44:05,275.275 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:44:05,279.279 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:44:07,325.325 INFO    ] ================================================
[2026-08-29 10:44:07,340.340 INFO    ] Launching Daemon at Sat Aug 29 10:44:07 IST 2026
[2026-08-29 10:44:07,351.351 INFO    ] ================================================
[2026-08-29 10:44:07,922.922 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:44:07
[2026-08-29 10:44:08,465.465 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:44:08,597.597 INFO    ] Initializing speech engine...
[2026-08-29 10:44:08,602.602 INFO    ] 2026-08-29 10:44:08
[2026-08-29 10:44:08,829.829 INFO    ] 2026-08-29 10:44:08
[2026-08-29 10:44:08,859.859 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:44:08,989.989 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:44:09,034.034 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:44:09,198.198 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:44:09,250.250 INFO    ] time= 29/08/2026 10:44:09
[2026-08-29 10:44:09,299.299 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:44:09,314.314 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:44:09,384.384 INFO    ] No existing commands found in stream
[2026-08-29 10:44:14,394.394 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:44:14,397.397 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-08-29 10:44:15,782.782 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:44:15,784.784 INFO    ] Checking for system updates...
[2026-08-29 10:44:15,804.804 INFO    ] 200
[2026-08-29 10:44:15,805.805 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:44:15,837.837 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:44:15,838.838 INFO    ] No update needed
[2026-08-29 10:44:15,839.839 INFO    ] Checking for camera pi updates...
[2026-08-29 10:44:15,858.858 INFO    ] 200
[2026-08-29 10:44:15,860.860 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:44:15,885.885 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:44:15,963.963 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:44:15,964.964 INFO    ] No camera update needed
[2026-08-29 10:44:15,966.966 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:44:15,967.967 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:44:15,970.970 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:44:15,972.972 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:44:18,012.012 INFO    ] ================================================
[2026-08-29 10:44:18,027.027 INFO    ] Launching Daemon at Sat Aug 29 10:44:18 IST 2026
[2026-08-29 10:44:18,038.038 INFO    ] ================================================
[2026-08-29 10:44:18,393.393 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:44:18
[2026-08-29 10:44:18,709.709 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:44:18,841.841 INFO    ] Initializing speech engine...
[2026-08-29 10:44:18,846.846 INFO    ] 2026-08-29 10:44:18
[2026-08-29 10:44:19,078.078 INFO    ] 2026-08-29 10:44:19
[2026-08-29 10:44:19,107.107 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:44:19,239.239 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:44:19,282.282 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:44:19,446.446 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:44:19,494.494 INFO    ] time= 29/08/2026 10:44:19
[2026-08-29 10:44:19,537.537 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:44:19,554.554 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:44:19,630.630 INFO    ] No existing commands found in stream
[2026-08-29 10:44:24,641.641 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:44:24,643.643 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-08-29 10:44:25,531.531 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:44:25,533.533 INFO    ] Checking for system updates...
[2026-08-29 10:44:25,553.553 INFO    ] 200
[2026-08-29 10:44:25,554.554 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:44:25,583.583 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:44:25,585.585 INFO    ] No update needed
[2026-08-29 10:44:25,586.586 INFO    ] Checking for camera pi updates...
[2026-08-29 10:44:25,605.605 INFO    ] 200
[2026-08-29 10:44:25,607.607 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:44:25,629.629 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:44:25,726.726 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:44:25,727.727 INFO    ] No camera update needed
[2026-08-29 10:44:25,729.729 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:44:25,730.730 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:44:25,733.733 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:44:25,736.736 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:44:27,776.776 INFO    ] ================================================
[2026-08-29 10:44:27,791.791 INFO    ] Launching Daemon at Sat Aug 29 10:44:27 IST 2026
[2026-08-29 10:44:27,803.803 INFO    ] ================================================
[2026-08-29 10:44:28,299.299 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:44:28
[2026-08-29 10:44:28,892.892 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:44:29,168.168 INFO    ] Initializing speech engine...
[2026-08-29 10:44:29,174.174 INFO    ] 2026-08-29 10:44:29
[2026-08-29 10:44:29,423.423 INFO    ] 2026-08-29 10:44:29
[2026-08-29 10:44:29,458.458 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:44:29,631.631 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:44:29,644.644 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:44:29,785.785 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:44:29,792.792 INFO    ] time= 29/08/2026 10:44:29
[2026-08-29 10:44:29,799.799 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:44:29,847.847 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:44:29,974.974 INFO    ] No existing commands found in stream
[2026-08-29 10:44:35,000.000 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:44:35,003.003 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-08-29 10:44:35,411.411 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:44:35,413.413 INFO    ] Checking for system updates...
[2026-08-29 10:44:35,433.433 INFO    ] 200
[2026-08-29 10:44:35,434.434 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:44:35,467.467 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:44:35,468.468 INFO    ] No update needed
[2026-08-29 10:44:35,469.469 INFO    ] Checking for camera pi updates...
[2026-08-29 10:44:35,491.491 INFO    ] 200
[2026-08-29 10:44:35,492.492 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:44:35,518.518 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:44:35,593.593 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:44:35,595.595 INFO    ] No camera update needed
[2026-08-29 10:44:35,596.596 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:44:35,597.597 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:44:35,600.600 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:44:35,603.603 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:44:37,642.642 INFO    ] ================================================
[2026-08-29 10:44:37,658.658 INFO    ] Launching Daemon at Sat Aug 29 10:44:37 IST 2026
[2026-08-29 10:44:37,669.669 INFO    ] ================================================
[2026-08-29 10:44:38,018.018 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:44:38
[2026-08-29 10:44:38,334.334 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:44:38,467.467 INFO    ] Initializing speech engine...
[2026-08-29 10:44:38,472.472 INFO    ] 2026-08-29 10:44:38
[2026-08-29 10:44:38,701.701 INFO    ] 2026-08-29 10:44:38
[2026-08-29 10:44:38,731.731 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:44:38,861.861 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:44:38,899.899 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:44:39,068.068 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:44:39,141.141 INFO    ] time= 29/08/2026 10:44:39
[2026-08-29 10:44:39,164.164 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:44:39,175.175 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:44:39,251.251 INFO    ] No existing commands found in stream
[2026-08-29 10:44:44,262.262 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:44:44,265.265 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-08-29 10:44:46,066.066 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:44:46,067.067 INFO    ] Checking for system updates...
[2026-08-29 10:44:46,088.088 INFO    ] 200
[2026-08-29 10:44:46,089.089 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:44:46,122.122 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:44:46,123.123 INFO    ] No update needed
[2026-08-29 10:44:46,124.124 INFO    ] Checking for camera pi updates...
[2026-08-29 10:44:46,144.144 INFO    ] 200
[2026-08-29 10:44:46,146.146 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:44:46,169.169 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:44:46,281.281 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:44:46,284.284 INFO    ] No camera update needed
[2026-08-29 10:44:46,286.286 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:44:46,288.288 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:44:46,294.294 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:44:46,299.299 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:44:48,338.338 INFO    ] ================================================
[2026-08-29 10:44:48,354.354 INFO    ] Launching Daemon at Sat Aug 29 10:44:48 IST 2026
[2026-08-29 10:44:48,365.365 INFO    ] ================================================
[2026-08-29 10:44:49,004.004 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:44:49
[2026-08-29 10:44:49,456.456 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:44:49,601.601 INFO    ] Initializing speech engine...
[2026-08-29 10:44:49,612.612 INFO    ] 2026-08-29 10:44:49
[2026-08-29 10:44:49,820.820 INFO    ] 2026-08-29 10:44:49
[2026-08-29 10:44:49,848.848 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:44:49,973.973 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:44:50,016.016 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:44:50,176.176 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:44:50,245.245 INFO    ] time= 29/08/2026 10:44:50
[2026-08-29 10:44:50,269.269 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:44:50,276.276 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:44:50,344.344 INFO    ] No existing commands found in stream
[2026-08-29 10:44:55,354.354 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:44:55,357.357 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-08-29 10:45:00,198.198 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:45:00,200.200 INFO    ] Checking for system updates...
[2026-08-29 10:45:00,221.221 INFO    ] 200
[2026-08-29 10:45:00,223.223 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:45:00,270.270 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:45:00,273.273 INFO    ] No update needed
[2026-08-29 10:45:00,276.276 INFO    ] Checking for camera pi updates...
[2026-08-29 10:45:00,310.310 INFO    ] 200
[2026-08-29 10:45:00,313.313 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:45:00,354.354 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:45:00,439.439 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:45:00,442.442 INFO    ] No camera update needed
[2026-08-29 10:45:00,445.445 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:45:00,447.447 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:45:00,454.454 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:45:00,459.459 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:45:02,545.545 INFO    ] ================================================
[2026-08-29 10:45:02,605.605 INFO    ] Launching Daemon at Sat Aug 29 10:45:02 IST 2026
[2026-08-29 10:45:02,685.685 INFO    ] ================================================
[2026-08-29 10:45:03,422.422 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:45:03
[2026-08-29 10:45:04,155.155 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:45:04,464.464 INFO    ] Initializing speech engine...
[2026-08-29 10:45:04,475.475 INFO    ] 2026-08-29 10:45:04
[2026-08-29 10:45:04,734.734 INFO    ] 2026-08-29 10:45:04
[2026-08-29 10:45:04,788.788 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:45:05,016.016 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:45:05,026.026 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:45:05,167.167 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:45:05,212.212 INFO    ] time= 29/08/2026 10:45:05
[2026-08-29 10:45:05,276.276 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:45:05,302.302 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:45:05,356.356 INFO    ] No existing commands found in stream
[2026-08-29 10:45:10,377.377 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:45:10,385.385 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 10:45:11,352.352 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:45:11,354.354 INFO    ] Checking for system updates...
[2026-08-29 10:45:11,374.374 INFO    ] 200
[2026-08-29 10:45:11,375.375 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:45:11,407.407 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:45:11,408.408 INFO    ] No update needed
[2026-08-29 10:45:11,410.410 INFO    ] Checking for camera pi updates...
[2026-08-29 10:45:11,429.429 INFO    ] 200
[2026-08-29 10:45:11,430.430 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:45:11,453.453 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:45:11,529.529 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:45:11,530.530 INFO    ] No camera update needed
[2026-08-29 10:45:11,532.532 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:45:11,533.533 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:45:11,536.536 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:45:11,538.538 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:45:13,577.577 INFO    ] ================================================
[2026-08-29 10:45:13,592.592 INFO    ] Launching Daemon at Sat Aug 29 10:45:13 IST 2026
[2026-08-29 10:45:13,603.603 INFO    ] ================================================
[2026-08-29 10:45:13,948.948 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:45:13
[2026-08-29 10:45:14,265.265 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:45:14,403.403 INFO    ] Initializing speech engine...
[2026-08-29 10:45:14,414.414 INFO    ] 2026-08-29 10:45:14
[2026-08-29 10:45:14,617.617 INFO    ] 2026-08-29 10:45:14
[2026-08-29 10:45:14,645.645 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:45:14,767.767 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:45:14,830.830 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:45:14,967.967 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:45:15,034.034 INFO    ] time= 29/08/2026 10:45:14
[2026-08-29 10:45:15,058.058 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:45:15,060.060 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:45:15,130.130 INFO    ] No existing commands found in stream
[2026-08-29 10:45:20,140.140 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:45:20,143.143 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-08-29 10:45:22,407.407 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:45:22,408.408 INFO    ] Checking for system updates...
[2026-08-29 10:45:22,430.430 INFO    ] 200
[2026-08-29 10:45:22,431.431 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:45:22,463.463 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:45:22,465.465 INFO    ] No update needed
[2026-08-29 10:45:22,466.466 INFO    ] Checking for camera pi updates...
[2026-08-29 10:45:22,485.485 INFO    ] 200
[2026-08-29 10:45:22,486.486 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:45:22,509.509 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:45:22,599.599 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:45:22,602.602 INFO    ] No camera update needed
[2026-08-29 10:45:22,605.605 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:45:22,607.607 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:45:22,613.613 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:45:22,618.618 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:45:24,659.659 INFO    ] ================================================
[2026-08-29 10:45:24,675.675 INFO    ] Launching Daemon at Sat Aug 29 10:45:24 IST 2026
[2026-08-29 10:45:24,686.686 INFO    ] ================================================
[2026-08-29 10:45:25,254.254 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:45:25
[2026-08-29 10:45:25,755.755 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:45:25,888.888 INFO    ] Initializing speech engine...
[2026-08-29 10:45:25,893.893 INFO    ] 2026-08-29 10:45:25
[2026-08-29 10:45:26,119.119 INFO    ] 2026-08-29 10:45:26
[2026-08-29 10:45:26,150.150 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:45:26,283.283 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:45:26,321.321 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:45:26,449.449 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:45:26,494.494 INFO    ] time= 29/08/2026 10:45:26
[2026-08-29 10:45:26,541.541 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:45:26,577.577 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:45:26,676.676 INFO    ] No existing commands found in stream
[2026-08-29 10:45:31,687.687 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:45:31,689.689 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-08-29 10:45:33,806.806 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:45:33,808.808 INFO    ] Checking for system updates...
[2026-08-29 10:45:33,844.844 INFO    ] 200
[2026-08-29 10:45:33,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:45:33,900.900 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:45:33,903.903 INFO    ] No update needed
[2026-08-29 10:45:33,905.905 INFO    ] Checking for camera pi updates...
[2026-08-29 10:45:33,938.938 INFO    ] 200
[2026-08-29 10:45:33,941.941 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:45:33,982.982 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:45:34,070.070 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:45:34,073.073 INFO    ] No camera update needed
[2026-08-29 10:45:34,075.075 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:45:34,077.077 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:45:34,082.082 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:45:34,087.087 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:45:36,128.128 INFO    ] ================================================
[2026-08-29 10:45:36,143.143 INFO    ] Launching Daemon at Sat Aug 29 10:45:36 IST 2026
[2026-08-29 10:45:36,154.154 INFO    ] ================================================
[2026-08-29 10:45:36,762.762 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:45:36
[2026-08-29 10:45:37,421.421 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:45:37,706.706 INFO    ] Initializing speech engine...
[2026-08-29 10:45:37,723.723 INFO    ] 2026-08-29 10:45:37
[2026-08-29 10:45:37,991.991 INFO    ] 2026-08-29 10:45:37
[2026-08-29 10:45:38,036.036 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:45:38,208.208 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:45:38,231.231 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:45:38,371.371 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:45:38,380.380 INFO    ] time= 29/08/2026 10:45:38
[2026-08-29 10:45:38,387.387 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:45:38,444.444 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:45:38,554.554 INFO    ] No existing commands found in stream
[2026-08-29 10:45:43,585.585 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:45:43,588.588 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-08-29 10:45:46,114.114 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:45:46,115.115 INFO    ] Checking for system updates...
[2026-08-29 10:45:46,136.136 INFO    ] 200
[2026-08-29 10:45:46,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:45:46,168.168 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:45:46,169.169 INFO    ] No update needed
[2026-08-29 10:45:46,171.171 INFO    ] Checking for camera pi updates...
[2026-08-29 10:45:46,191.191 INFO    ] 200
[2026-08-29 10:45:46,192.192 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:45:46,216.216 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:45:46,304.304 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:45:46,305.305 INFO    ] No camera update needed
[2026-08-29 10:45:46,307.307 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:45:46,308.308 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:45:46,311.311 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:45:46,314.314 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:45:48,354.354 INFO    ] ================================================
[2026-08-29 10:45:48,369.369 INFO    ] Launching Daemon at Sat Aug 29 10:45:48 IST 2026
[2026-08-29 10:45:48,380.380 INFO    ] ================================================
[2026-08-29 10:45:48,946.946 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:45:48
[2026-08-29 10:45:49,530.530 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:45:49,800.800 INFO    ] Initializing speech engine...
[2026-08-29 10:45:49,809.809 INFO    ] 2026-08-29 10:45:49
[2026-08-29 10:45:50,062.062 INFO    ] 2026-08-29 10:45:50
[2026-08-29 10:45:50,122.122 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:45:50,263.263 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:45:50,276.276 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:45:50,417.417 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:45:50,425.425 INFO    ] time= 29/08/2026 10:45:50
[2026-08-29 10:45:50,431.431 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:45:50,461.461 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:45:50,579.579 INFO    ] No existing commands found in stream
[2026-08-29 10:45:55,604.604 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:45:55,607.607 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-08-29 10:45:55,995.995 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:45:55,996.996 INFO    ] Checking for system updates...
[2026-08-29 10:45:56,017.017 INFO    ] 200
[2026-08-29 10:45:56,018.018 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:45:56,050.050 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:45:56,052.052 INFO    ] No update needed
[2026-08-29 10:45:56,053.053 INFO    ] Checking for camera pi updates...
[2026-08-29 10:45:56,072.072 INFO    ] 200
[2026-08-29 10:45:56,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:45:56,098.098 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:45:56,183.183 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:45:56,186.186 INFO    ] No camera update needed
[2026-08-29 10:45:56,188.188 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:45:56,190.190 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:45:56,195.195 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:45:56,200.200 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:45:58,242.242 INFO    ] ================================================
[2026-08-29 10:45:58,258.258 INFO    ] Launching Daemon at Sat Aug 29 10:45:58 IST 2026
[2026-08-29 10:45:58,269.269 INFO    ] ================================================
[2026-08-29 10:45:58,865.865 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:45:58
[2026-08-29 10:45:59,385.385 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:45:59,539.539 INFO    ] Initializing speech engine...
[2026-08-29 10:45:59,543.543 INFO    ] 2026-08-29 10:45:59
[2026-08-29 10:45:59,768.768 INFO    ] 2026-08-29 10:45:59
[2026-08-29 10:45:59,853.853 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:46:00,002.002 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:46:00,011.011 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:46:00,147.147 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:46:00,212.212 INFO    ] time= 29/08/2026 10:46:00
[2026-08-29 10:46:00,272.272 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:46:00,281.281 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:46:00,418.418 INFO    ] No existing commands found in stream
[2026-08-29 10:46:05,438.438 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:46:05,441.441 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 10:46:07,558.558 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:46:07,560.560 INFO    ] Checking for system updates...
[2026-08-29 10:46:07,585.585 INFO    ] 200
[2026-08-29 10:46:07,586.586 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:46:07,624.624 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:46:07,627.627 INFO    ] No update needed
[2026-08-29 10:46:07,630.630 INFO    ] Checking for camera pi updates...
[2026-08-29 10:46:07,665.665 INFO    ] 200
[2026-08-29 10:46:07,667.667 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:46:07,708.708 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:46:07,800.800 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:46:07,803.803 INFO    ] No camera update needed
[2026-08-29 10:46:07,806.806 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:46:07,808.808 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:46:07,814.814 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:46:07,820.820 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:46:09,860.860 INFO    ] ================================================
[2026-08-29 10:46:09,875.875 INFO    ] Launching Daemon at Sat Aug 29 10:46:09 IST 2026
[2026-08-29 10:46:09,886.886 INFO    ] ================================================
[2026-08-29 10:46:10,503.503 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:46:10
[2026-08-29 10:46:10,948.948 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:46:11,096.096 INFO    ] Initializing speech engine...
[2026-08-29 10:46:11,101.101 INFO    ] 2026-08-29 10:46:11
[2026-08-29 10:46:11,308.308 INFO    ] 2026-08-29 10:46:11
[2026-08-29 10:46:11,336.336 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:46:11,469.469 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:46:11,522.522 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:46:11,675.675 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:46:11,727.727 INFO    ] time= 29/08/2026 10:46:11
[2026-08-29 10:46:11,750.750 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:46:11,757.757 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:46:11,823.823 INFO    ] No existing commands found in stream
[2026-08-29 10:46:16,833.833 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:46:16,836.836 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-08-29 10:46:20,661.661 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:46:20,663.663 INFO    ] Checking for system updates...
[2026-08-29 10:46:20,684.684 INFO    ] 200
[2026-08-29 10:46:20,685.685 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:46:20,715.715 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:46:20,716.716 INFO    ] No update needed
[2026-08-29 10:46:20,718.718 INFO    ] Checking for camera pi updates...
[2026-08-29 10:46:20,737.737 INFO    ] 200
[2026-08-29 10:46:20,738.738 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:46:20,762.762 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:46:20,848.848 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:46:20,849.849 INFO    ] No camera update needed
[2026-08-29 10:46:20,850.850 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:46:20,852.852 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:46:20,855.855 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:46:20,858.858 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:46:22,897.897 INFO    ] ================================================
[2026-08-29 10:46:22,913.913 INFO    ] Launching Daemon at Sat Aug 29 10:46:22 IST 2026
[2026-08-29 10:46:22,924.924 INFO    ] ================================================
[2026-08-29 10:46:23,277.277 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:46:23
[2026-08-29 10:46:23,609.609 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:46:23,759.759 INFO    ] Initializing speech engine...
[2026-08-29 10:46:23,765.765 INFO    ] 2026-08-29 10:46:23
[2026-08-29 10:46:23,972.972 INFO    ] 2026-08-29 10:46:23
[2026-08-29 10:46:24,003.003 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:46:24,135.135 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:46:24,141.141 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:46:24,310.310 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:46:24,348.348 INFO    ] time= 29/08/2026 10:46:24
[2026-08-29 10:46:24,366.366 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:46:24,384.384 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:46:24,506.506 INFO    ] No existing commands found in stream
[2026-08-29 10:46:29,522.522 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:46:29,525.525 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-08-29 10:46:32,522.522 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:46:32,524.524 INFO    ] Checking for system updates...
[2026-08-29 10:46:32,559.559 INFO    ] 200
[2026-08-29 10:46:32,562.562 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:46:32,615.615 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:46:32,617.617 INFO    ] No update needed
[2026-08-29 10:46:32,619.619 INFO    ] Checking for camera pi updates...
[2026-08-29 10:46:32,652.652 INFO    ] 200
[2026-08-29 10:46:32,655.655 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:46:32,699.699 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:46:32,819.819 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:46:32,821.821 INFO    ] No camera update needed
[2026-08-29 10:46:32,824.824 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:46:32,826.826 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:46:32,831.831 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:46:32,837.837 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:46:34,878.878 INFO    ] ================================================
[2026-08-29 10:46:34,894.894 INFO    ] Launching Daemon at Sat Aug 29 10:46:34 IST 2026
[2026-08-29 10:46:34,905.905 INFO    ] ================================================
[2026-08-29 10:46:35,442.442 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:46:35
[2026-08-29 10:46:36,093.093 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:46:36,392.392 INFO    ] Initializing speech engine...
[2026-08-29 10:46:36,400.400 INFO    ] 2026-08-29 10:46:36
[2026-08-29 10:46:36,683.683 INFO    ] 2026-08-29 10:46:36
[2026-08-29 10:46:36,726.726 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:46:36,949.949 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:46:36,958.958 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:46:37,090.090 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:46:37,128.128 INFO    ] time= 29/08/2026 10:46:37
[2026-08-29 10:46:37,177.177 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:46:37,225.225 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:46:37,283.283 INFO    ] No existing commands found in stream
[2026-08-29 10:46:42,296.296 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:46:42,300.300 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-08-29 10:46:45,051.051 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:46:45,053.053 INFO    ] Checking for system updates...
[2026-08-29 10:46:45,074.074 INFO    ] 200
[2026-08-29 10:46:45,075.075 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:46:45,105.105 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:46:45,107.107 INFO    ] No update needed
[2026-08-29 10:46:45,108.108 INFO    ] Checking for camera pi updates...
[2026-08-29 10:46:45,127.127 INFO    ] 200
[2026-08-29 10:46:45,129.129 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:46:45,152.152 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:46:45,257.257 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:46:45,259.259 INFO    ] No camera update needed
[2026-08-29 10:46:45,262.262 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:46:45,265.265 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:46:45,271.271 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:46:45,276.276 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:46:47,317.317 INFO    ] ================================================
[2026-08-29 10:46:47,332.332 INFO    ] Launching Daemon at Sat Aug 29 10:46:47 IST 2026
[2026-08-29 10:46:47,343.343 INFO    ] ================================================
[2026-08-29 10:46:47,977.977 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:46:47
[2026-08-29 10:46:48,447.447 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:46:48,640.640 INFO    ] Initializing speech engine...
[2026-08-29 10:46:48,651.651 INFO    ] 2026-08-29 10:46:48
[2026-08-29 10:46:48,911.911 INFO    ] 2026-08-29 10:46:48
[2026-08-29 10:46:48,980.980 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:46:49,149.149 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:46:49,195.195 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:46:49,357.357 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:46:49,395.395 INFO    ] time= 29/08/2026 10:46:49
[2026-08-29 10:46:49,460.460 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:46:49,496.496 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:46:49,550.550 INFO    ] No existing commands found in stream
[2026-08-29 10:46:54,563.563 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:46:54,566.566 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-08-29 10:46:57,123.123 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:46:57,124.124 INFO    ] Checking for system updates...
[2026-08-29 10:46:57,145.145 INFO    ] 200
[2026-08-29 10:46:57,146.146 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:46:57,177.177 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:46:57,179.179 INFO    ] No update needed
[2026-08-29 10:46:57,180.180 INFO    ] Checking for camera pi updates...
[2026-08-29 10:46:57,199.199 INFO    ] 200
[2026-08-29 10:46:57,201.201 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:46:57,224.224 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:46:57,305.305 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:46:57,306.306 INFO    ] No camera update needed
[2026-08-29 10:46:57,307.307 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:46:57,309.309 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:46:57,312.312 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:46:57,315.315 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:46:59,354.354 INFO    ] ================================================
[2026-08-29 10:46:59,370.370 INFO    ] Launching Daemon at Sat Aug 29 10:46:59 IST 2026
[2026-08-29 10:46:59,380.380 INFO    ] ================================================
[2026-08-29 10:46:59,705.705 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:46:59
[2026-08-29 10:47:00,017.017 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:47:00,161.161 INFO    ] Initializing speech engine...
[2026-08-29 10:47:00,168.168 INFO    ] 2026-08-29 10:47:00
[2026-08-29 10:47:00,384.384 INFO    ] 2026-08-29 10:47:00
[2026-08-29 10:47:00,412.412 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:47:00,545.545 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:47:00,587.587 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:47:00,749.749 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:47:00,816.816 INFO    ] time= 29/08/2026 10:47:00
[2026-08-29 10:47:00,844.844 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:47:00,855.855 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:47:00,930.930 INFO    ] No existing commands found in stream
[2026-08-29 10:47:05,940.940 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:47:05,943.943 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-08-29 10:47:08,440.440 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:47:08,442.442 INFO    ] Checking for system updates...
[2026-08-29 10:47:08,464.464 INFO    ] 200
[2026-08-29 10:47:08,465.465 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:47:08,495.495 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:47:08,496.496 INFO    ] No update needed
[2026-08-29 10:47:08,498.498 INFO    ] Checking for camera pi updates...
[2026-08-29 10:47:08,517.517 INFO    ] 200
[2026-08-29 10:47:08,518.518 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:47:08,555.555 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:47:08,639.639 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:47:08,641.641 INFO    ] No camera update needed
[2026-08-29 10:47:08,643.643 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:47:08,646.646 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:47:08,651.651 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:47:08,656.656 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:47:10,696.696 INFO    ] ================================================
[2026-08-29 10:47:10,711.711 INFO    ] Launching Daemon at Sat Aug 29 10:47:10 IST 2026
[2026-08-29 10:47:10,722.722 INFO    ] ================================================
[2026-08-29 10:47:11,373.373 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:47:11
[2026-08-29 10:47:11,849.849 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:47:12,003.003 INFO    ] Initializing speech engine...
[2026-08-29 10:47:12,008.008 INFO    ] 2026-08-29 10:47:12
[2026-08-29 10:47:12,218.218 INFO    ] 2026-08-29 10:47:12
[2026-08-29 10:47:12,247.247 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:47:12,380.380 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:47:12,433.433 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:47:12,567.567 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:47:12,619.619 INFO    ] time= 29/08/2026 10:47:12
[2026-08-29 10:47:12,663.663 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:47:12,668.668 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:47:12,741.741 INFO    ] No existing commands found in stream
[2026-08-29 10:47:17,751.751 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:47:17,756.756 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 10:47:19,716.716 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:47:19,719.719 INFO    ] Checking for system updates...
[2026-08-29 10:47:19,766.766 INFO    ] 200
[2026-08-29 10:47:19,769.769 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:47:19,822.822 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:47:19,825.825 INFO    ] No update needed
[2026-08-29 10:47:19,828.828 INFO    ] Checking for camera pi updates...
[2026-08-29 10:47:19,863.863 INFO    ] 200
[2026-08-29 10:47:19,866.866 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:47:19,908.908 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:47:20,023.023 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:47:20,026.026 INFO    ] No camera update needed
[2026-08-29 10:47:20,028.028 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:47:20,031.031 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:47:20,037.037 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:47:20,043.043 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:47:22,085.085 INFO    ] ================================================
[2026-08-29 10:47:22,101.101 INFO    ] Launching Daemon at Sat Aug 29 10:47:22 IST 2026
[2026-08-29 10:47:22,112.112 INFO    ] ================================================
[2026-08-29 10:47:22,633.633 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:47:22
[2026-08-29 10:47:23,319.319 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:47:23,597.597 INFO    ] Initializing speech engine...
[2026-08-29 10:47:23,606.606 INFO    ] 2026-08-29 10:47:23
[2026-08-29 10:47:23,856.856 INFO    ] 2026-08-29 10:47:23
[2026-08-29 10:47:23,891.891 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:47:24,063.063 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:47:24,075.075 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:47:24,215.215 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:47:24,233.233 INFO    ] time= 29/08/2026 10:47:24
[2026-08-29 10:47:24,241.241 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:47:24,248.248 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:47:24,323.323 INFO    ] No existing commands found in stream
[2026-08-29 10:47:29,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:47:29,337.337 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-08-29 10:47:30,950.950 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:47:30,952.952 INFO    ] Checking for system updates...
[2026-08-29 10:47:30,974.974 INFO    ] 200
[2026-08-29 10:47:30,975.975 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:47:31,005.005 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:47:31,007.007 INFO    ] No update needed
[2026-08-29 10:47:31,008.008 INFO    ] Checking for camera pi updates...
[2026-08-29 10:47:31,027.027 INFO    ] 200
[2026-08-29 10:47:31,028.028 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:47:31,051.051 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:47:31,154.154 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:47:31,155.155 INFO    ] No camera update needed
[2026-08-29 10:47:31,157.157 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:47:31,158.158 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:47:31,161.161 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:47:31,164.164 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:47:33,204.204 INFO    ] ================================================
[2026-08-29 10:47:33,220.220 INFO    ] Launching Daemon at Sat Aug 29 10:47:33 IST 2026
[2026-08-29 10:47:33,231.231 INFO    ] ================================================
[2026-08-29 10:47:33,886.886 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:47:33
[2026-08-29 10:47:34,458.458 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:47:34,612.612 INFO    ] Initializing speech engine...
[2026-08-29 10:47:34,616.616 INFO    ] 2026-08-29 10:47:34
[2026-08-29 10:47:34,822.822 INFO    ] 2026-08-29 10:47:34
[2026-08-29 10:47:34,852.852 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:47:35,035.035 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:47:35,039.039 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:47:35,196.196 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:47:35,256.256 INFO    ] time= 29/08/2026 10:47:35
[2026-08-29 10:47:35,283.283 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:47:35,291.291 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:47:35,407.407 INFO    ] No existing commands found in stream
[2026-08-29 10:47:40,429.429 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:47:40,433.433 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-08-29 10:47:41,589.589 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:47:41,590.590 INFO    ] Checking for system updates...
[2026-08-29 10:47:41,611.611 INFO    ] 200
[2026-08-29 10:47:41,613.613 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:47:41,643.643 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:47:41,645.645 INFO    ] No update needed
[2026-08-29 10:47:41,646.646 INFO    ] Checking for camera pi updates...
[2026-08-29 10:47:41,665.665 INFO    ] 200
[2026-08-29 10:47:41,667.667 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:47:41,691.691 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:47:41,769.769 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:47:41,770.770 INFO    ] No camera update needed
[2026-08-29 10:47:41,772.772 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:47:41,773.773 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:47:41,776.776 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:47:41,779.779 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:47:43,822.822 INFO    ] ================================================
[2026-08-29 10:47:43,837.837 INFO    ] Launching Daemon at Sat Aug 29 10:47:43 IST 2026
[2026-08-29 10:47:43,848.848 INFO    ] ================================================
[2026-08-29 10:47:44,202.202 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:47:44
[2026-08-29 10:47:44,515.515 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:47:44,647.647 INFO    ] Initializing speech engine...
[2026-08-29 10:47:44,650.650 INFO    ] 2026-08-29 10:47:44
[2026-08-29 10:47:44,869.869 INFO    ] 2026-08-29 10:47:44
[2026-08-29 10:47:44,898.898 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:47:45,029.029 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:47:45,088.088 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:47:45,224.224 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:47:45,276.276 INFO    ] time= 29/08/2026 10:47:45
[2026-08-29 10:47:45,312.312 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:47:45,322.322 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:47:45,395.395 INFO    ] No existing commands found in stream
[2026-08-29 10:47:50,404.404 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:47:50,407.407 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-08-29 10:47:52,368.368 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:47:52,369.369 INFO    ] Checking for system updates...
[2026-08-29 10:47:52,391.391 INFO    ] 200
[2026-08-29 10:47:52,392.392 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:47:52,423.423 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:47:52,424.424 INFO    ] No update needed
[2026-08-29 10:47:52,425.425 INFO    ] Checking for camera pi updates...
[2026-08-29 10:47:52,445.445 INFO    ] 200
[2026-08-29 10:47:52,446.446 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:47:52,472.472 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:47:52,571.571 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:47:52,572.572 INFO    ] No camera update needed
[2026-08-29 10:47:52,574.574 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:47:52,575.575 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:47:52,578.578 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:47:52,581.581 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:47:54,623.623 INFO    ] ================================================
[2026-08-29 10:47:54,639.639 INFO    ] Launching Daemon at Sat Aug 29 10:47:54 IST 2026
[2026-08-29 10:47:54,650.650 INFO    ] ================================================
[2026-08-29 10:47:54,992.992 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:47:54
[2026-08-29 10:47:55,308.308 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:47:55,444.444 INFO    ] Initializing speech engine...
[2026-08-29 10:47:55,456.456 INFO    ] 2026-08-29 10:47:55
[2026-08-29 10:47:55,651.651 INFO    ] 2026-08-29 10:47:55
[2026-08-29 10:47:55,686.686 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:47:55,860.860 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:47:55,872.872 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:47:56,017.017 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:47:56,021.021 INFO    ] time= 29/08/2026 10:47:56
[2026-08-29 10:47:56,027.027 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:47:56,044.044 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:47:56,190.190 INFO    ] No existing commands found in stream
[2026-08-29 10:48:01,224.224 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:48:01,227.227 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-08-29 10:48:03,823.823 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:48:03,826.826 INFO    ] Checking for system updates...
[2026-08-29 10:48:03,870.870 INFO    ] 200
[2026-08-29 10:48:03,873.873 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:48:03,926.926 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:48:03,928.928 INFO    ] No update needed
[2026-08-29 10:48:03,930.930 INFO    ] Checking for camera pi updates...
[2026-08-29 10:48:03,968.968 INFO    ] 200
[2026-08-29 10:48:03,970.970 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:48:04,011.011 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:48:04,075.075 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:48:04,077.077 INFO    ] No camera update needed
[2026-08-29 10:48:04,080.080 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:48:04,082.082 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:48:04,088.088 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:48:04,093.093 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:48:06,132.132 INFO    ] ================================================
[2026-08-29 10:48:06,148.148 INFO    ] Launching Daemon at Sat Aug 29 10:48:06 IST 2026
[2026-08-29 10:48:06,158.158 INFO    ] ================================================
[2026-08-29 10:48:06,505.505 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:48:06
[2026-08-29 10:48:06,819.819 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:48:06,962.962 INFO    ] Initializing speech engine...
[2026-08-29 10:48:06,967.967 INFO    ] 2026-08-29 10:48:06
[2026-08-29 10:48:07,216.216 INFO    ] 2026-08-29 10:48:07
[2026-08-29 10:48:07,272.272 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:48:07,438.438 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:48:07,445.445 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:48:07,615.615 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:48:07,653.653 INFO    ] time= 29/08/2026 10:48:07
[2026-08-29 10:48:07,668.668 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:48:07,675.675 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:48:07,788.788 INFO    ] No existing commands found in stream
[2026-08-29 10:48:12,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:48:12,816.816 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-08-29 10:48:13,558.558 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:48:13,560.560 INFO    ] Checking for system updates...
[2026-08-29 10:48:13,580.580 INFO    ] 200
[2026-08-29 10:48:13,581.581 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:48:13,611.611 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:48:13,613.613 INFO    ] No update needed
[2026-08-29 10:48:13,614.614 INFO    ] Checking for camera pi updates...
[2026-08-29 10:48:13,633.633 INFO    ] 200
[2026-08-29 10:48:13,635.635 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:48:13,659.659 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:48:13,753.753 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:48:13,754.754 INFO    ] No camera update needed
[2026-08-29 10:48:13,755.755 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:48:13,757.757 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:48:13,759.759 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:48:13,762.762 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:48:15,800.800 INFO    ] ================================================
[2026-08-29 10:48:15,816.816 INFO    ] Launching Daemon at Sat Aug 29 10:48:15 IST 2026
[2026-08-29 10:48:15,826.826 INFO    ] ================================================
[2026-08-29 10:48:16,364.364 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:48:16
[2026-08-29 10:48:17,034.034 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:48:17,312.312 INFO    ] Initializing speech engine...
[2026-08-29 10:48:17,323.323 INFO    ] 2026-08-29 10:48:17
[2026-08-29 10:48:17,571.571 INFO    ] 2026-08-29 10:48:17
[2026-08-29 10:48:17,606.606 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:48:17,784.784 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:48:17,797.797 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:48:17,940.940 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:48:17,948.948 INFO    ] time= 29/08/2026 10:48:17
[2026-08-29 10:48:17,953.953 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:48:17,959.959 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:48:18,025.025 INFO    ] No existing commands found in stream
[2026-08-29 10:48:23,037.037 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:48:23,040.040 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-08-29 10:48:23,822.822 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:48:23,824.824 INFO    ] Checking for system updates...
[2026-08-29 10:48:23,844.844 INFO    ] 200
[2026-08-29 10:48:23,845.845 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:48:23,875.875 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:48:23,876.876 INFO    ] No update needed
[2026-08-29 10:48:23,878.878 INFO    ] Checking for camera pi updates...
[2026-08-29 10:48:23,896.896 INFO    ] 200
[2026-08-29 10:48:23,898.898 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:48:23,922.922 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:48:24,001.001 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:48:24,003.003 INFO    ] No camera update needed
[2026-08-29 10:48:24,004.004 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:48:24,005.005 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:48:24,008.008 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:48:24,011.011 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:48:26,053.053 INFO    ] ================================================
[2026-08-29 10:48:26,068.068 INFO    ] Launching Daemon at Sat Aug 29 10:48:26 IST 2026
[2026-08-29 10:48:26,079.079 INFO    ] ================================================
[2026-08-29 10:48:26,422.422 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:48:26
[2026-08-29 10:48:26,734.734 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:48:26,877.877 INFO    ] Initializing speech engine...
[2026-08-29 10:48:26,882.882 INFO    ] 2026-08-29 10:48:26
[2026-08-29 10:48:27,087.087 INFO    ] 2026-08-29 10:48:27
[2026-08-29 10:48:27,117.117 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:48:27,276.276 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:48:27,297.297 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:48:27,435.435 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:48:27,463.463 INFO    ] time= 29/08/2026 10:48:27
[2026-08-29 10:48:27,472.472 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:48:27,480.480 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:48:27,579.579 INFO    ] No existing commands found in stream
[2026-08-29 10:48:32,604.604 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:48:32,607.607 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-08-29 10:48:35,429.429 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:48:35,431.431 INFO    ] Checking for system updates...
[2026-08-29 10:48:35,452.452 INFO    ] 200
[2026-08-29 10:48:35,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:48:35,486.486 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:48:35,487.487 INFO    ] No update needed
[2026-08-29 10:48:35,489.489 INFO    ] Checking for camera pi updates...
[2026-08-29 10:48:35,508.508 INFO    ] 200
[2026-08-29 10:48:35,510.510 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:48:35,539.539 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:48:35,625.625 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:48:35,627.627 INFO    ] No camera update needed
[2026-08-29 10:48:35,628.628 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:48:35,630.630 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:48:35,633.633 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:48:35,636.636 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:48:37,675.675 INFO    ] ================================================
[2026-08-29 10:48:37,689.689 INFO    ] Launching Daemon at Sat Aug 29 10:48:37 IST 2026
[2026-08-29 10:48:37,700.700 INFO    ] ================================================
[2026-08-29 10:48:38,022.022 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:48:38
[2026-08-29 10:48:38,355.355 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:48:38,507.507 INFO    ] Initializing speech engine...
[2026-08-29 10:48:38,513.513 INFO    ] 2026-08-29 10:48:38
[2026-08-29 10:48:38,722.722 INFO    ] 2026-08-29 10:48:38
[2026-08-29 10:48:38,750.750 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:48:38,875.875 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:48:38,881.881 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:48:39,050.050 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:48:39,082.082 INFO    ] time= 29/08/2026 10:48:39
[2026-08-29 10:48:39,100.100 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:48:39,110.110 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:48:39,224.224 INFO    ] No existing commands found in stream
[2026-08-29 10:48:44,249.249 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:48:44,253.253 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 10:48:44,907.907 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:48:44,908.908 INFO    ] Checking for system updates...
[2026-08-29 10:48:44,929.929 INFO    ] 200
[2026-08-29 10:48:44,931.931 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:48:44,961.961 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:48:44,963.963 INFO    ] No update needed
[2026-08-29 10:48:44,964.964 INFO    ] Checking for camera pi updates...
[2026-08-29 10:48:44,984.984 INFO    ] 200
[2026-08-29 10:48:44,985.985 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:48:45,009.009 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:48:45,089.089 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:48:45,091.091 INFO    ] No camera update needed
[2026-08-29 10:48:45,093.093 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:48:45,094.094 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:48:45,097.097 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:48:45,100.100 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:48:47,143.143 INFO    ] ================================================
[2026-08-29 10:48:47,159.159 INFO    ] Launching Daemon at Sat Aug 29 10:48:47 IST 2026
[2026-08-29 10:48:47,170.170 INFO    ] ================================================
[2026-08-29 10:48:47,526.526 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:48:47
[2026-08-29 10:48:47,840.840 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:48:47,974.974 INFO    ] Initializing speech engine...
[2026-08-29 10:48:47,986.986 INFO    ] 2026-08-29 10:48:47
[2026-08-29 10:48:48,195.195 INFO    ] 2026-08-29 10:48:48
[2026-08-29 10:48:48,225.225 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:48:48,345.345 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:48:48,351.351 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:48:48,503.503 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:48:48,551.551 INFO    ] time= 29/08/2026 10:48:48
[2026-08-29 10:48:48,558.558 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:48:48,574.574 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:48:48,677.677 INFO    ] No existing commands found in stream
[2026-08-29 10:48:53,699.699 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:48:53,702.702 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-08-29 10:48:57,424.424 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:48:57,426.426 INFO    ] Checking for system updates...
[2026-08-29 10:48:57,446.446 INFO    ] 200
[2026-08-29 10:48:57,448.448 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:48:57,478.478 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:48:57,479.479 INFO    ] No update needed
[2026-08-29 10:48:57,481.481 INFO    ] Checking for camera pi updates...
[2026-08-29 10:48:57,500.500 INFO    ] 200
[2026-08-29 10:48:57,501.501 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:48:57,524.524 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:48:57,606.606 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:48:57,608.608 INFO    ] No camera update needed
[2026-08-29 10:48:57,609.609 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:48:57,610.610 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:48:57,613.613 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:48:57,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:48:59,654.654 INFO    ] ================================================
[2026-08-29 10:48:59,669.669 INFO    ] Launching Daemon at Sat Aug 29 10:48:59 IST 2026
[2026-08-29 10:48:59,679.679 INFO    ] ================================================
[2026-08-29 10:49:00,057.057 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:49:00
[2026-08-29 10:49:00,397.397 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:49:00,594.594 INFO    ] Initializing speech engine...
[2026-08-29 10:49:00,610.610 INFO    ] 2026-08-29 10:49:00
[2026-08-29 10:49:00,888.888 INFO    ] 2026-08-29 10:49:00
[2026-08-29 10:49:00,926.926 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:49:01,125.125 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:49:01,131.131 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:49:01,243.243 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:49:01,249.249 INFO    ] time= 29/08/2026 10:49:01
[2026-08-29 10:49:01,272.272 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:49:01,278.278 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:49:01,332.332 INFO    ] No existing commands found in stream
[2026-08-29 10:49:06,344.344 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:49:06,347.347 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-08-29 10:49:09,538.538 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:49:09,540.540 INFO    ] Checking for system updates...
[2026-08-29 10:49:09,561.561 INFO    ] 200
[2026-08-29 10:49:09,562.562 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:49:09,592.592 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:49:09,594.594 INFO    ] No update needed
[2026-08-29 10:49:09,595.595 INFO    ] Checking for camera pi updates...
[2026-08-29 10:49:09,614.614 INFO    ] 200
[2026-08-29 10:49:09,615.615 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:49:09,638.638 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:49:09,717.717 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:49:09,719.719 INFO    ] No camera update needed
[2026-08-29 10:49:09,720.720 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:49:09,721.721 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:49:09,724.724 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:49:09,727.727 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:49:11,765.765 INFO    ] ================================================
[2026-08-29 10:49:11,780.780 INFO    ] Launching Daemon at Sat Aug 29 10:49:11 IST 2026
[2026-08-29 10:49:11,791.791 INFO    ] ================================================
[2026-08-29 10:49:12,152.152 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:49:12
[2026-08-29 10:49:12,468.468 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:49:12,721.721 INFO    ] Initializing speech engine...
[2026-08-29 10:49:12,735.735 INFO    ] 2026-08-29 10:49:12
[2026-08-29 10:49:13,023.023 INFO    ] 2026-08-29 10:49:12
[2026-08-29 10:49:13,048.048 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:49:13,208.208 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:49:13,215.215 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:49:13,371.371 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:49:13,380.380 INFO    ] time= 29/08/2026 10:49:13
[2026-08-29 10:49:13,385.385 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:49:13,390.390 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:49:13,461.461 INFO    ] No existing commands found in stream
[2026-08-29 10:49:18,472.472 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:49:18,475.475 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-08-29 10:49:21,589.589 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:49:21,591.591 INFO    ] Checking for system updates...
[2026-08-29 10:49:21,611.611 INFO    ] 200
[2026-08-29 10:49:21,612.612 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:49:21,642.642 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:49:21,643.643 INFO    ] No update needed
[2026-08-29 10:49:21,645.645 INFO    ] Checking for camera pi updates...
[2026-08-29 10:49:21,665.665 INFO    ] 200
[2026-08-29 10:49:21,667.667 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:49:21,691.691 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:49:21,769.769 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:49:21,771.771 INFO    ] No camera update needed
[2026-08-29 10:49:21,772.772 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:49:21,773.773 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:49:21,776.776 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:49:21,779.779 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:49:23,818.818 INFO    ] ================================================
[2026-08-29 10:49:23,833.833 INFO    ] Launching Daemon at Sat Aug 29 10:49:23 IST 2026
[2026-08-29 10:49:23,844.844 INFO    ] ================================================
[2026-08-29 10:49:24,202.202 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:49:24
[2026-08-29 10:49:24,720.720 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:49:24,976.976 INFO    ] Initializing speech engine...
[2026-08-29 10:49:24,983.983 INFO    ] 2026-08-29 10:49:24
[2026-08-29 10:49:25,285.285 INFO    ] 2026-08-29 10:49:25
[2026-08-29 10:49:25,320.320 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:49:25,474.474 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:49:25,480.480 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:49:25,619.619 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:49:25,641.641 INFO    ] time= 29/08/2026 10:49:25
[2026-08-29 10:49:25,652.652 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:49:25,657.657 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:49:25,725.725 INFO    ] No existing commands found in stream
[2026-08-29 10:49:30,739.739 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:49:30,742.742 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-08-29 10:49:34,888.888 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:49:34,890.890 INFO    ] Checking for system updates...
[2026-08-29 10:49:34,926.926 INFO    ] 200
[2026-08-29 10:49:34,928.928 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:49:34,989.989 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:49:34,991.991 INFO    ] No update needed
[2026-08-29 10:49:34,994.994 INFO    ] Checking for camera pi updates...
[2026-08-29 10:49:35,032.032 INFO    ] 200
[2026-08-29 10:49:35,034.034 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:49:35,075.075 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:49:35,171.171 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:49:35,174.174 INFO    ] No camera update needed
[2026-08-29 10:49:35,176.176 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:49:35,178.178 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:49:35,183.183 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:49:35,188.188 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:49:37,231.231 INFO    ] ================================================
[2026-08-29 10:49:37,247.247 INFO    ] Launching Daemon at Sat Aug 29 10:49:37 IST 2026
[2026-08-29 10:49:37,258.258 INFO    ] ================================================
[2026-08-29 10:49:37,609.609 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:49:37
[2026-08-29 10:49:38,208.208 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:49:38,522.522 INFO    ] Initializing speech engine...
[2026-08-29 10:49:38,531.531 INFO    ] 2026-08-29 10:49:38
[2026-08-29 10:49:38,810.810 INFO    ] 2026-08-29 10:49:38
[2026-08-29 10:49:38,861.861 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:49:39,086.086 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:49:39,096.096 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:49:39,232.232 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:49:39,303.303 INFO    ] time= 29/08/2026 10:49:39
[2026-08-29 10:49:39,360.360 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:49:39,368.368 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:49:39,494.494 INFO    ] No existing commands found in stream
[2026-08-29 10:49:44,522.522 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:49:44,525.525 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-08-29 10:49:45,512.512 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:49:45,514.514 INFO    ] Checking for system updates...
[2026-08-29 10:49:45,535.535 INFO    ] 200
[2026-08-29 10:49:45,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:49:45,571.571 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:49:45,573.573 INFO    ] No update needed
[2026-08-29 10:49:45,574.574 INFO    ] Checking for camera pi updates...
[2026-08-29 10:49:45,594.594 INFO    ] 200
[2026-08-29 10:49:45,595.595 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:49:45,619.619 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:49:45,796.796 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:49:45,797.797 INFO    ] No camera update needed
[2026-08-29 10:49:45,799.799 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:49:45,800.800 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:49:45,803.803 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:49:45,806.806 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:49:47,847.847 INFO    ] ================================================
[2026-08-29 10:49:47,862.862 INFO    ] Launching Daemon at Sat Aug 29 10:49:47 IST 2026
[2026-08-29 10:49:47,873.873 INFO    ] ================================================
[2026-08-29 10:49:48,550.550 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:49:48
[2026-08-29 10:49:49,245.245 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:49:49,559.559 INFO    ] Initializing speech engine...
[2026-08-29 10:49:49,573.573 INFO    ] 2026-08-29 10:49:49
[2026-08-29 10:49:49,860.860 INFO    ] 2026-08-29 10:49:49
[2026-08-29 10:49:49,909.909 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:49:50,143.143 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:49:50,152.152 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:49:50,307.307 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:49:50,314.314 INFO    ] time= 29/08/2026 10:49:50
[2026-08-29 10:49:50,331.331 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:49:50,380.380 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:49:50,473.473 INFO    ] No existing commands found in stream
[2026-08-29 10:49:55,484.484 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:49:55,487.487 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-08-29 10:49:58,726.726 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:49:58,727.727 INFO    ] Checking for system updates...
[2026-08-29 10:49:58,748.748 INFO    ] 200
[2026-08-29 10:49:58,750.750 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:49:58,781.781 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:49:58,782.782 INFO    ] No update needed
[2026-08-29 10:49:58,784.784 INFO    ] Checking for camera pi updates...
[2026-08-29 10:49:58,805.805 INFO    ] 200
[2026-08-29 10:49:58,806.806 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:49:58,833.833 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:49:58,922.922 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:49:58,924.924 INFO    ] No camera update needed
[2026-08-29 10:49:58,925.925 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:49:58,926.926 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:49:58,929.929 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:49:58,932.932 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:50:00,974.974 INFO    ] ================================================
[2026-08-29 10:50:00,989.989 INFO    ] Launching Daemon at Sat Aug 29 10:50:00 IST 2026
[2026-08-29 10:50:01,000.000 INFO    ] ================================================
[2026-08-29 10:50:01,368.368 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:50:01
[2026-08-29 10:50:01,711.711 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:50:02,255.255 INFO    ] Initializing speech engine...
[2026-08-29 10:50:02,259.259 INFO    ] 2026-08-29 10:50:02
[2026-08-29 10:50:02,630.630 INFO    ] 2026-08-29 10:50:02
[2026-08-29 10:50:02,679.679 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:50:02,864.864 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:50:02,889.889 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:50:03,030.030 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:50:03,073.073 INFO    ] time= 29/08/2026 10:50:03
[2026-08-29 10:50:03,094.094 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:50:03,097.097 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:50:03,159.159 INFO    ] No existing commands found in stream
[2026-08-29 10:50:08,169.169 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:50:08,172.172 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-08-29 10:50:09,363.363 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:50:09,365.365 INFO    ] Checking for system updates...
[2026-08-29 10:50:09,385.385 INFO    ] 200
[2026-08-29 10:50:09,387.387 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:50:09,416.416 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:50:09,418.418 INFO    ] No update needed
[2026-08-29 10:50:09,419.419 INFO    ] Checking for camera pi updates...
[2026-08-29 10:50:09,439.439 INFO    ] 200
[2026-08-29 10:50:09,440.440 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:50:09,465.465 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:50:09,555.555 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:50:09,556.556 INFO    ] No camera update needed
[2026-08-29 10:50:09,557.557 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:50:09,559.559 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:50:09,561.561 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:50:09,564.564 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:50:11,603.603 INFO    ] ================================================
[2026-08-29 10:50:11,619.619 INFO    ] Launching Daemon at Sat Aug 29 10:50:11 IST 2026
[2026-08-29 10:50:11,630.630 INFO    ] ================================================
[2026-08-29 10:50:11,958.958 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:50:11
[2026-08-29 10:50:12,270.270 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:50:12,401.401 INFO    ] Initializing speech engine...
[2026-08-29 10:50:12,405.405 INFO    ] 2026-08-29 10:50:12
[2026-08-29 10:50:12,655.655 INFO    ] 2026-08-29 10:50:12
[2026-08-29 10:50:12,722.722 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:50:12,888.888 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:50:12,898.898 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:50:13,054.054 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:50:13,105.105 INFO    ] time= 29/08/2026 10:50:13
[2026-08-29 10:50:13,111.111 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:50:13,130.130 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:50:13,253.253 INFO    ] No existing commands found in stream
[2026-08-29 10:50:18,269.269 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:50:18,271.271 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-08-29 10:50:23,310.310 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:50:23,311.311 INFO    ] Checking for system updates...
[2026-08-29 10:50:23,332.332 INFO    ] 200
[2026-08-29 10:50:23,334.334 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:50:23,365.365 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:50:23,366.366 INFO    ] No update needed
[2026-08-29 10:50:23,368.368 INFO    ] Checking for camera pi updates...
[2026-08-29 10:50:23,388.388 INFO    ] 200
[2026-08-29 10:50:23,389.389 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:50:23,412.412 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:50:23,493.493 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:50:23,495.495 INFO    ] No camera update needed
[2026-08-29 10:50:23,496.496 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:50:23,497.497 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:50:23,500.500 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:50:23,503.503 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:50:25,542.542 INFO    ] ================================================
[2026-08-29 10:50:25,557.557 INFO    ] Launching Daemon at Sat Aug 29 10:50:25 IST 2026
[2026-08-29 10:50:25,568.568 INFO    ] ================================================
[2026-08-29 10:50:26,092.092 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:50:26
[2026-08-29 10:50:26,691.691 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:50:26,969.969 INFO    ] Initializing speech engine...
[2026-08-29 10:50:26,977.977 INFO    ] 2026-08-29 10:50:26
[2026-08-29 10:50:27,237.237 INFO    ] 2026-08-29 10:50:27
[2026-08-29 10:50:27,288.288 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:50:27,443.443 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:50:27,459.459 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:50:27,589.589 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:50:27,598.598 INFO    ] time= 29/08/2026 10:50:27
[2026-08-29 10:50:27,607.607 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:50:27,669.669 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:50:27,777.777 INFO    ] No existing commands found in stream
[2026-08-29 10:50:32,804.804 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:50:32,807.807 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-08-29 10:50:37,023.023 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:50:37,030.030 INFO    ] Checking for system updates...
[2026-08-29 10:50:37,051.051 INFO    ] 200
[2026-08-29 10:50:37,052.052 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:50:37,082.082 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:50:37,084.084 INFO    ] No update needed
[2026-08-29 10:50:37,085.085 INFO    ] Checking for camera pi updates...
[2026-08-29 10:50:37,111.111 INFO    ] 200
[2026-08-29 10:50:37,114.114 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:50:37,154.154 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:50:37,248.248 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:50:37,250.250 INFO    ] No camera update needed
[2026-08-29 10:50:37,253.253 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:50:37,255.255 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:50:37,260.260 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:50:37,265.265 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:50:39,304.304 INFO    ] ================================================
[2026-08-29 10:50:39,319.319 INFO    ] Launching Daemon at Sat Aug 29 10:50:39 IST 2026
[2026-08-29 10:50:39,330.330 INFO    ] ================================================
[2026-08-29 10:50:39,911.911 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:50:39
[2026-08-29 10:50:40,324.324 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:50:40,573.573 INFO    ] Initializing speech engine...
[2026-08-29 10:50:40,578.578 INFO    ] 2026-08-29 10:50:40
[2026-08-29 10:50:40,853.853 INFO    ] 2026-08-29 10:50:40
[2026-08-29 10:50:40,890.890 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:50:41,066.066 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:50:41,080.080 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:50:41,208.208 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:50:41,228.228 INFO    ] time= 29/08/2026 10:50:41
[2026-08-29 10:50:41,236.236 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:50:41,243.243 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:50:41,309.309 INFO    ] No existing commands found in stream
[2026-08-29 10:50:46,321.321 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:50:46,324.324 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-08-29 10:50:48,562.562 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:50:48,563.563 INFO    ] Checking for system updates...
[2026-08-29 10:50:48,586.586 INFO    ] 200
[2026-08-29 10:50:48,587.587 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:50:48,617.617 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:50:48,619.619 INFO    ] No update needed
[2026-08-29 10:50:48,620.620 INFO    ] Checking for camera pi updates...
[2026-08-29 10:50:48,639.639 INFO    ] 200
[2026-08-29 10:50:48,640.640 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:50:48,666.666 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:50:48,771.771 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:50:48,773.773 INFO    ] No camera update needed
[2026-08-29 10:50:48,776.776 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:50:48,778.778 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:50:48,784.784 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:50:48,789.789 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:50:50,828.828 INFO    ] ================================================
[2026-08-29 10:50:50,844.844 INFO    ] Launching Daemon at Sat Aug 29 10:50:50 IST 2026
[2026-08-29 10:50:50,855.855 INFO    ] ================================================
[2026-08-29 10:50:51,428.428 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:50:51
[2026-08-29 10:50:51,931.931 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:50:52,068.068 INFO    ] Initializing speech engine...
[2026-08-29 10:50:52,081.081 INFO    ] 2026-08-29 10:50:52
[2026-08-29 10:50:52,305.305 INFO    ] 2026-08-29 10:50:52
[2026-08-29 10:50:52,336.336 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:50:52,470.470 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:50:52,539.539 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:50:52,685.685 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:50:52,726.726 INFO    ] time= 29/08/2026 10:50:52
[2026-08-29 10:50:52,772.772 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:50:52,796.796 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:50:52,873.873 INFO    ] No existing commands found in stream
[2026-08-29 10:50:57,884.884 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:50:57,886.886 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-08-29 10:50:58,995.995 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:50:58,996.996 INFO    ] Checking for system updates...
[2026-08-29 10:50:59,017.017 INFO    ] 200
[2026-08-29 10:50:59,018.018 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:50:59,048.048 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:50:59,049.049 INFO    ] No update needed
[2026-08-29 10:50:59,051.051 INFO    ] Checking for camera pi updates...
[2026-08-29 10:50:59,070.070 INFO    ] 200
[2026-08-29 10:50:59,071.071 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:50:59,094.094 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:50:59,198.198 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:50:59,199.199 INFO    ] No camera update needed
[2026-08-29 10:50:59,201.201 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:50:59,202.202 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:50:59,205.205 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:50:59,207.207 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:51:01,239.239 INFO    ] ================================================
[2026-08-29 10:51:01,255.255 INFO    ] Launching Daemon at Sat Aug 29 10:51:01 IST 2026
[2026-08-29 10:51:01,278.278 INFO    ] ================================================
[2026-08-29 10:51:02,005.005 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:51:02
[2026-08-29 10:51:02,646.646 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:51:03,000.000 INFO    ] Initializing speech engine...
[2026-08-29 10:51:03,016.016 INFO    ] 2026-08-29 10:51:03
[2026-08-29 10:51:03,285.285 INFO    ] 2026-08-29 10:51:03
[2026-08-29 10:51:03,326.326 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:51:03,495.495 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:51:03,509.509 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:51:03,639.639 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:51:03,643.643 INFO    ] time= 29/08/2026 10:51:03
[2026-08-29 10:51:03,647.647 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:51:03,681.681 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:51:03,789.789 INFO    ] No existing commands found in stream
[2026-08-29 10:51:08,814.814 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:51:08,817.817 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-08-29 10:51:10,115.115 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:51:10,116.116 INFO    ] Checking for system updates...
[2026-08-29 10:51:10,138.138 INFO    ] 200
[2026-08-29 10:51:10,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:51:10,169.169 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:51:10,170.170 INFO    ] No update needed
[2026-08-29 10:51:10,172.172 INFO    ] Checking for camera pi updates...
[2026-08-29 10:51:10,191.191 INFO    ] 200
[2026-08-29 10:51:10,193.193 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:51:10,217.217 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:51:10,301.301 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:51:10,302.302 INFO    ] No camera update needed
[2026-08-29 10:51:10,303.303 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:51:10,304.304 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:51:10,307.307 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:51:10,310.310 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:51:12,348.348 INFO    ] ================================================
[2026-08-29 10:51:12,364.364 INFO    ] Launching Daemon at Sat Aug 29 10:51:12 IST 2026
[2026-08-29 10:51:12,374.374 INFO    ] ================================================
[2026-08-29 10:51:12,755.755 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:51:12
[2026-08-29 10:51:13,178.178 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:51:13,490.490 INFO    ] Initializing speech engine...
[2026-08-29 10:51:13,502.502 INFO    ] 2026-08-29 10:51:13
[2026-08-29 10:51:13,775.775 INFO    ] 2026-08-29 10:51:13
[2026-08-29 10:51:13,830.830 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:51:14,064.064 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:51:14,075.075 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:51:14,212.212 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:51:14,254.254 INFO    ] time= 29/08/2026 10:51:14
[2026-08-29 10:51:14,325.325 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:51:14,355.355 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:51:14,411.411 INFO    ] No existing commands found in stream
[2026-08-29 10:51:19,424.424 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:51:19,428.428 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-08-29 10:51:21,655.655 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:51:21,656.656 INFO    ] Checking for system updates...
[2026-08-29 10:51:21,677.677 INFO    ] 200
[2026-08-29 10:51:21,678.678 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:51:21,708.708 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:51:21,709.709 INFO    ] No update needed
[2026-08-29 10:51:21,711.711 INFO    ] Checking for camera pi updates...
[2026-08-29 10:51:21,730.730 INFO    ] 200
[2026-08-29 10:51:21,732.732 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:51:21,756.756 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:51:21,829.829 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:51:21,830.830 INFO    ] No camera update needed
[2026-08-29 10:51:21,831.831 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:51:21,833.833 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:51:21,835.835 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:51:21,838.838 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:51:23,877.877 INFO    ] ================================================
[2026-08-29 10:51:23,892.892 INFO    ] Launching Daemon at Sat Aug 29 10:51:23 IST 2026
[2026-08-29 10:51:23,903.903 INFO    ] ================================================
[2026-08-29 10:51:24,267.267 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:51:24
[2026-08-29 10:51:24,580.580 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:51:24,717.717 INFO    ] Initializing speech engine...
[2026-08-29 10:51:24,736.736 INFO    ] 2026-08-29 10:51:24
[2026-08-29 10:51:24,934.934 INFO    ] 2026-08-29 10:51:24
[2026-08-29 10:51:24,988.988 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:51:25,212.212 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:51:25,221.221 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:51:25,354.354 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:51:25,366.366 INFO    ] time= 29/08/2026 10:51:25
[2026-08-29 10:51:25,425.425 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:51:25,487.487 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:51:25,545.545 INFO    ] No existing commands found in stream
[2026-08-29 10:51:30,557.557 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:51:30,560.560 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-08-29 10:51:34,659.659 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:51:34,661.661 INFO    ] Checking for system updates...
[2026-08-29 10:51:34,700.700 INFO    ] 200
[2026-08-29 10:51:34,703.703 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:51:34,756.756 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:51:34,758.758 INFO    ] No update needed
[2026-08-29 10:51:34,760.760 INFO    ] Checking for camera pi updates...
[2026-08-29 10:51:34,794.794 INFO    ] 200
[2026-08-29 10:51:34,796.796 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:51:34,840.840 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:51:34,943.943 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:51:34,946.946 INFO    ] No camera update needed
[2026-08-29 10:51:34,948.948 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:51:34,950.950 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:51:34,956.956 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:51:34,961.961 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:51:37,001.001 INFO    ] ================================================
[2026-08-29 10:51:37,016.016 INFO    ] Launching Daemon at Sat Aug 29 10:51:37 IST 2026
[2026-08-29 10:51:37,027.027 INFO    ] ================================================
[2026-08-29 10:51:37,387.387 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:51:37
[2026-08-29 10:51:37,721.721 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:51:37,872.872 INFO    ] Initializing speech engine...
[2026-08-29 10:51:37,878.878 INFO    ] 2026-08-29 10:51:37
[2026-08-29 10:51:38,087.087 INFO    ] 2026-08-29 10:51:38
[2026-08-29 10:51:38,116.116 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:51:38,241.241 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:51:38,284.284 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:51:38,454.454 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:51:38,487.487 INFO    ] time= 29/08/2026 10:51:38
[2026-08-29 10:51:38,542.542 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:51:38,572.572 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:51:38,684.684 INFO    ] No existing commands found in stream
[2026-08-29 10:51:43,720.720 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:51:43,723.723 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 10:51:47,165.165 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:51:47,167.167 INFO    ] Checking for system updates...
[2026-08-29 10:51:47,188.188 INFO    ] 200
[2026-08-29 10:51:47,190.190 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:51:47,224.224 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:51:47,226.226 INFO    ] No update needed
[2026-08-29 10:51:47,227.227 INFO    ] Checking for camera pi updates...
[2026-08-29 10:51:47,249.249 INFO    ] 200
[2026-08-29 10:51:47,250.250 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:51:47,273.273 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:51:47,360.360 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:51:47,362.362 INFO    ] No camera update needed
[2026-08-29 10:51:47,363.363 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:51:47,365.365 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:51:47,368.368 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:51:47,371.371 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:51:49,409.409 INFO    ] ================================================
[2026-08-29 10:51:49,425.425 INFO    ] Launching Daemon at Sat Aug 29 10:51:49 IST 2026
[2026-08-29 10:51:49,436.436 INFO    ] ================================================
[2026-08-29 10:51:50,081.081 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:51:50
[2026-08-29 10:51:50,747.747 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:51:50,984.984 INFO    ] Initializing speech engine...
[2026-08-29 10:51:50,989.989 INFO    ] 2026-08-29 10:51:50
[2026-08-29 10:51:51,195.195 INFO    ] 2026-08-29 10:51:51
[2026-08-29 10:51:51,223.223 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:51:51,362.362 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:51:51,409.409 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:51:51,612.612 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:51:51,646.646 INFO    ] time= 29/08/2026 10:51:51
[2026-08-29 10:51:51,654.654 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:51:51,661.661 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:51:51,769.769 INFO    ] No existing commands found in stream
[2026-08-29 10:51:56,796.796 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:51:56,799.799 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-08-29 10:51:59,087.087 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:51:59,089.089 INFO    ] Checking for system updates...
[2026-08-29 10:51:59,110.110 INFO    ] 200
[2026-08-29 10:51:59,111.111 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:51:59,141.141 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:51:59,143.143 INFO    ] No update needed
[2026-08-29 10:51:59,144.144 INFO    ] Checking for camera pi updates...
[2026-08-29 10:51:59,165.165 INFO    ] 200
[2026-08-29 10:51:59,166.166 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:51:59,188.188 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:51:59,388.388 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:51:59,391.391 INFO    ] No camera update needed
[2026-08-29 10:51:59,393.393 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:51:59,395.395 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:51:59,401.401 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:51:59,406.406 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:52:01,462.462 INFO    ] ================================================
[2026-08-29 10:52:01,497.497 INFO    ] Launching Daemon at Sat Aug 29 10:52:01 IST 2026
[2026-08-29 10:52:01,524.524 INFO    ] ================================================
[2026-08-29 10:52:02,228.228 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:52:02
[2026-08-29 10:52:02,832.832 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:52:03,118.118 INFO    ] Initializing speech engine...
[2026-08-29 10:52:03,127.127 INFO    ] 2026-08-29 10:52:03
[2026-08-29 10:52:03,376.376 INFO    ] 2026-08-29 10:52:03
[2026-08-29 10:52:03,411.411 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:52:03,595.595 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:52:03,601.601 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:52:03,734.734 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:52:03,741.741 INFO    ] time= 29/08/2026 10:52:03
[2026-08-29 10:52:03,760.760 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:52:03,781.781 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:52:03,862.862 INFO    ] No existing commands found in stream
[2026-08-29 10:52:08,872.872 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:52:08,875.875 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-08-29 10:52:12,580.580 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:52:12,581.581 INFO    ] Checking for system updates...
[2026-08-29 10:52:12,602.602 INFO    ] 200
[2026-08-29 10:52:12,604.604 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:52:12,653.653 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:52:12,655.655 INFO    ] No update needed
[2026-08-29 10:52:12,658.658 INFO    ] Checking for camera pi updates...
[2026-08-29 10:52:12,692.692 INFO    ] 200
[2026-08-29 10:52:12,694.694 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:52:12,734.734 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:52:12,827.827 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:52:12,829.829 INFO    ] No camera update needed
[2026-08-29 10:52:12,831.831 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:52:12,834.834 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:52:12,839.839 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:52:12,845.845 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:52:14,885.885 INFO    ] ================================================
[2026-08-29 10:52:14,900.900 INFO    ] Launching Daemon at Sat Aug 29 10:52:14 IST 2026
[2026-08-29 10:52:14,911.911 INFO    ] ================================================
[2026-08-29 10:52:15,535.535 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:52:15
[2026-08-29 10:52:15,967.967 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:52:16,116.116 INFO    ] Initializing speech engine...
[2026-08-29 10:52:16,121.121 INFO    ] 2026-08-29 10:52:16
[2026-08-29 10:52:16,329.329 INFO    ] 2026-08-29 10:52:16
[2026-08-29 10:52:16,412.412 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:52:16,564.564 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:52:16,574.574 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:52:16,709.709 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:52:16,751.751 INFO    ] time= 29/08/2026 10:52:16
[2026-08-29 10:52:16,811.811 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:52:16,846.846 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:52:16,905.905 INFO    ] No existing commands found in stream
[2026-08-29 10:52:21,917.917 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:52:21,920.920 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-08-29 10:52:23,935.935 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:52:23,937.937 INFO    ] Checking for system updates...
[2026-08-29 10:52:23,958.958 INFO    ] 200
[2026-08-29 10:52:23,959.959 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:52:23,992.992 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:52:23,994.994 INFO    ] No update needed
[2026-08-29 10:52:23,995.995 INFO    ] Checking for camera pi updates...
[2026-08-29 10:52:24,014.014 INFO    ] 200
[2026-08-29 10:52:24,016.016 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:52:24,040.040 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:52:24,116.116 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:52:24,118.118 INFO    ] No camera update needed
[2026-08-29 10:52:24,119.119 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:52:24,120.120 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:52:24,124.124 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:52:24,127.127 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:52:26,166.166 INFO    ] ================================================
[2026-08-29 10:52:26,182.182 INFO    ] Launching Daemon at Sat Aug 29 10:52:26 IST 2026
[2026-08-29 10:52:26,193.193 INFO    ] ================================================
[2026-08-29 10:52:26,523.523 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:52:26
[2026-08-29 10:52:26,836.836 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:52:26,966.966 INFO    ] Initializing speech engine...
[2026-08-29 10:52:26,971.971 INFO    ] 2026-08-29 10:52:26
[2026-08-29 10:52:27,192.192 INFO    ] 2026-08-29 10:52:27
[2026-08-29 10:52:27,247.247 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:52:27,396.396 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:52:27,405.405 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:52:27,539.539 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:52:27,566.566 INFO    ] time= 29/08/2026 10:52:27
[2026-08-29 10:52:27,630.630 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:52:27,676.676 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:52:27,731.731 INFO    ] No existing commands found in stream
[2026-08-29 10:52:32,744.744 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:52:32,747.747 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-08-29 10:52:34,861.861 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:52:34,863.863 INFO    ] Checking for system updates...
[2026-08-29 10:52:34,900.900 INFO    ] 200
[2026-08-29 10:52:34,903.903 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:52:34,960.960 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:52:34,963.963 INFO    ] No update needed
[2026-08-29 10:52:34,966.966 INFO    ] Checking for camera pi updates...
[2026-08-29 10:52:35,006.006 INFO    ] 200
[2026-08-29 10:52:35,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:52:35,031.031 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:52:35,115.115 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:52:35,117.117 INFO    ] No camera update needed
[2026-08-29 10:52:35,118.118 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:52:35,119.119 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:52:35,123.123 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:52:35,125.125 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:52:37,159.159 INFO    ] ================================================
[2026-08-29 10:52:37,175.175 INFO    ] Launching Daemon at Sat Aug 29 10:52:37 IST 2026
[2026-08-29 10:52:37,187.187 INFO    ] ================================================
[2026-08-29 10:52:37,545.545 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:52:37
[2026-08-29 10:52:37,855.855 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:52:37,988.988 INFO    ] Initializing speech engine...
[2026-08-29 10:52:37,996.996 INFO    ] 2026-08-29 10:52:37
[2026-08-29 10:52:38,216.216 INFO    ] 2026-08-29 10:52:38
[2026-08-29 10:52:38,246.246 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:52:38,373.373 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:52:38,407.407 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:52:38,560.560 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:52:38,588.588 INFO    ] time= 29/08/2026 10:52:38
[2026-08-29 10:52:38,660.660 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:52:38,685.685 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:52:38,760.760 INFO    ] No existing commands found in stream
[2026-08-29 10:52:43,771.771 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:52:43,773.773 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-08-29 10:52:46,321.321 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:52:46,322.322 INFO    ] Checking for system updates...
[2026-08-29 10:52:46,343.343 INFO    ] 200
[2026-08-29 10:52:46,344.344 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:52:46,374.374 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:52:46,375.375 INFO    ] No update needed
[2026-08-29 10:52:46,377.377 INFO    ] Checking for camera pi updates...
[2026-08-29 10:52:46,396.396 INFO    ] 200
[2026-08-29 10:52:46,397.397 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:52:46,419.419 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:52:46,471.471 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:52:46,473.473 INFO    ] No camera update needed
[2026-08-29 10:52:46,474.474 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:52:46,475.475 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:52:46,478.478 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:52:46,481.481 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:52:48,520.520 INFO    ] ================================================
[2026-08-29 10:52:48,535.535 INFO    ] Launching Daemon at Sat Aug 29 10:52:48 IST 2026
[2026-08-29 10:52:48,547.547 INFO    ] ================================================
[2026-08-29 10:52:49,050.050 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:52:49
[2026-08-29 10:52:49,639.639 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:52:49,910.910 INFO    ] Initializing speech engine...
[2026-08-29 10:52:49,919.919 INFO    ] 2026-08-29 10:52:49
[2026-08-29 10:52:50,171.171 INFO    ] 2026-08-29 10:52:50
[2026-08-29 10:52:50,237.237 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:52:50,387.387 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:52:50,402.402 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:52:50,552.552 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:52:50,559.559 INFO    ] time= 29/08/2026 10:52:50
[2026-08-29 10:52:50,564.564 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:52:50,569.569 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:52:50,638.638 INFO    ] No existing commands found in stream
[2026-08-29 10:52:55,668.668 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:52:55,671.671 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-08-29 10:52:59,195.195 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:52:59,196.196 INFO    ] Checking for system updates...
[2026-08-29 10:52:59,217.217 INFO    ] 200
[2026-08-29 10:52:59,219.219 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:52:59,248.248 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:52:59,250.250 INFO    ] No update needed
[2026-08-29 10:52:59,251.251 INFO    ] Checking for camera pi updates...
[2026-08-29 10:52:59,270.270 INFO    ] 200
[2026-08-29 10:52:59,272.272 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:52:59,295.295 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:52:59,384.384 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:52:59,385.385 INFO    ] No camera update needed
[2026-08-29 10:52:59,386.386 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:52:59,387.387 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:52:59,390.390 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:52:59,393.393 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:53:01,436.436 INFO    ] ================================================
[2026-08-29 10:53:01,457.457 INFO    ] Launching Daemon at Sat Aug 29 10:53:01 IST 2026
[2026-08-29 10:53:01,469.469 INFO    ] ================================================
[2026-08-29 10:53:02,098.098 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:53:02
[2026-08-29 10:53:02,809.809 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:53:03,120.120 INFO    ] Initializing speech engine...
[2026-08-29 10:53:03,133.133 INFO    ] 2026-08-29 10:53:03
[2026-08-29 10:53:03,444.444 INFO    ] 2026-08-29 10:53:03
[2026-08-29 10:53:03,528.528 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:53:03,684.684 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:53:03,689.689 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:53:03,824.824 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:53:03,884.884 INFO    ] time= 29/08/2026 10:53:03
[2026-08-29 10:53:03,939.939 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:53:03,958.958 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:53:04,079.079 INFO    ] No existing commands found in stream
[2026-08-29 10:53:09,110.110 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:53:09,113.113 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-08-29 10:53:10,178.178 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:53:10,180.180 INFO    ] Checking for system updates...
[2026-08-29 10:53:10,201.201 INFO    ] 200
[2026-08-29 10:53:10,202.202 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:53:10,233.233 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:53:10,235.235 INFO    ] No update needed
[2026-08-29 10:53:10,236.236 INFO    ] Checking for camera pi updates...
[2026-08-29 10:53:10,256.256 INFO    ] 200
[2026-08-29 10:53:10,257.257 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:53:10,280.280 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:53:10,371.371 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:53:10,372.372 INFO    ] No camera update needed
[2026-08-29 10:53:10,374.374 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:53:10,375.375 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:53:10,378.378 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:53:10,381.381 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:53:12,421.421 INFO    ] ================================================
[2026-08-29 10:53:12,437.437 INFO    ] Launching Daemon at Sat Aug 29 10:53:12 IST 2026
[2026-08-29 10:53:12,449.449 INFO    ] ================================================
[2026-08-29 10:53:12,808.808 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:53:12
[2026-08-29 10:53:13,121.121 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:53:13,264.264 INFO    ] Initializing speech engine...
[2026-08-29 10:53:13,269.269 INFO    ] 2026-08-29 10:53:13
[2026-08-29 10:53:13,476.476 INFO    ] 2026-08-29 10:53:13
[2026-08-29 10:53:13,506.506 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:53:13,641.641 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:53:13,695.695 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:53:13,832.832 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:53:13,892.892 INFO    ] time= 29/08/2026 10:53:13
[2026-08-29 10:53:13,936.936 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:53:13,949.949 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:53:14,075.075 INFO    ] No existing commands found in stream
[2026-08-29 10:53:19,102.102 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:53:19,105.105 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 10:53:22,900.900 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:53:22,902.902 INFO    ] Checking for system updates...
[2026-08-29 10:53:22,922.922 INFO    ] 200
[2026-08-29 10:53:22,924.924 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:53:22,956.956 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:53:22,957.957 INFO    ] No update needed
[2026-08-29 10:53:22,959.959 INFO    ] Checking for camera pi updates...
[2026-08-29 10:53:22,978.978 INFO    ] 200
[2026-08-29 10:53:22,979.979 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:53:23,002.002 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:53:23,077.077 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:53:23,078.078 INFO    ] No camera update needed
[2026-08-29 10:53:23,079.079 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:53:23,080.080 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:53:23,084.084 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:53:23,086.086 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:53:25,124.124 INFO    ] ================================================
[2026-08-29 10:53:25,140.140 INFO    ] Launching Daemon at Sat Aug 29 10:53:25 IST 2026
[2026-08-29 10:53:25,151.151 INFO    ] ================================================
[2026-08-29 10:53:25,521.521 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:53:25
[2026-08-29 10:53:25,839.839 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:53:25,979.979 INFO    ] Initializing speech engine...
[2026-08-29 10:53:25,990.990 INFO    ] 2026-08-29 10:53:25
[2026-08-29 10:53:26,194.194 INFO    ] 2026-08-29 10:53:26
[2026-08-29 10:53:26,224.224 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:53:26,346.346 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:53:26,409.409 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:53:26,547.547 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:53:26,613.613 INFO    ] time= 29/08/2026 10:53:26
[2026-08-29 10:53:26,640.640 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:53:26,646.646 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:53:26,713.713 INFO    ] No existing commands found in stream
[2026-08-29 10:53:31,724.724 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:53:31,728.728 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-08-29 10:53:32,220.220 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:53:32,223.223 INFO    ] Checking for system updates...
[2026-08-29 10:53:32,264.264 INFO    ] 200
[2026-08-29 10:53:32,266.266 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:53:32,319.319 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:53:32,321.321 INFO    ] No update needed
[2026-08-29 10:53:32,324.324 INFO    ] Checking for camera pi updates...
[2026-08-29 10:53:32,358.358 INFO    ] 200
[2026-08-29 10:53:32,360.360 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:53:32,406.406 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:53:32,501.501 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:53:32,504.504 INFO    ] No camera update needed
[2026-08-29 10:53:32,506.506 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:53:32,508.508 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:53:32,514.514 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:53:32,519.519 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:53:34,560.560 INFO    ] ================================================
[2026-08-29 10:53:34,575.575 INFO    ] Launching Daemon at Sat Aug 29 10:53:34 IST 2026
[2026-08-29 10:53:34,586.586 INFO    ] ================================================
[2026-08-29 10:53:35,101.101 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:53:35
[2026-08-29 10:53:35,690.690 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:53:35,966.966 INFO    ] Initializing speech engine...
[2026-08-29 10:53:35,976.976 INFO    ] 2026-08-29 10:53:35
[2026-08-29 10:53:36,238.238 INFO    ] 2026-08-29 10:53:36
[2026-08-29 10:53:36,296.296 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:53:36,438.438 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:53:36,451.451 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:53:36,591.591 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:53:36,598.598 INFO    ] time= 29/08/2026 10:53:36
[2026-08-29 10:53:36,606.606 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:53:36,651.651 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:53:36,767.767 INFO    ] No existing commands found in stream
[2026-08-29 10:53:41,798.798 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:53:41,801.801 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-08-29 10:53:45,731.731 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:53:45,734.734 INFO    ] Checking for system updates...
[2026-08-29 10:53:45,770.770 INFO    ] 200
[2026-08-29 10:53:45,773.773 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:53:45,827.827 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:53:45,830.830 INFO    ] No update needed
[2026-08-29 10:53:45,832.832 INFO    ] Checking for camera pi updates...
[2026-08-29 10:53:45,866.866 INFO    ] 200
[2026-08-29 10:53:45,869.869 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:53:45,910.910 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:53:45,996.996 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:53:45,999.999 INFO    ] No camera update needed
[2026-08-29 10:53:46,001.001 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:53:46,003.003 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:53:46,009.009 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:53:46,014.014 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:53:48,055.055 INFO    ] ================================================
[2026-08-29 10:53:48,070.070 INFO    ] Launching Daemon at Sat Aug 29 10:53:48 IST 2026
[2026-08-29 10:53:48,081.081 INFO    ] ================================================
[2026-08-29 10:53:48,669.669 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:53:48
[2026-08-29 10:53:49,276.276 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:53:49,542.542 INFO    ] Initializing speech engine...
[2026-08-29 10:53:49,550.550 INFO    ] 2026-08-29 10:53:49
[2026-08-29 10:53:49,850.850 INFO    ] 2026-08-29 10:53:49
[2026-08-29 10:53:49,889.889 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:53:50,090.090 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:53:50,103.103 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:53:50,228.228 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:53:50,235.235 INFO    ] time= 29/08/2026 10:53:50
[2026-08-29 10:53:50,254.254 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:53:50,281.281 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:53:50,365.365 INFO    ] No existing commands found in stream
[2026-08-29 10:53:55,377.377 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:53:55,380.380 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-08-29 10:53:57,808.808 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:53:57,810.810 INFO    ] Checking for system updates...
[2026-08-29 10:53:57,832.832 INFO    ] 200
[2026-08-29 10:53:57,833.833 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:53:57,864.864 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:53:57,865.865 INFO    ] No update needed
[2026-08-29 10:53:57,866.866 INFO    ] Checking for camera pi updates...
[2026-08-29 10:53:57,885.885 INFO    ] 200
[2026-08-29 10:53:57,887.887 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:53:57,912.912 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:53:58,002.002 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:53:58,003.003 INFO    ] No camera update needed
[2026-08-29 10:53:58,004.004 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:53:58,005.005 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:53:58,008.008 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:53:58,011.011 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:54:00,049.049 INFO    ] ================================================
[2026-08-29 10:54:00,065.065 INFO    ] Launching Daemon at Sat Aug 29 10:54:00 IST 2026
[2026-08-29 10:54:00,076.076 INFO    ] ================================================
[2026-08-29 10:54:00,451.451 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:54:00
[2026-08-29 10:54:00,789.789 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:54:00,936.936 INFO    ] Initializing speech engine...
[2026-08-29 10:54:00,947.947 INFO    ] 2026-08-29 10:54:00
[2026-08-29 10:54:01,158.158 INFO    ] 2026-08-29 10:54:01
[2026-08-29 10:54:01,187.187 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:54:01,310.310 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:54:01,373.373 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:54:01,527.527 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:54:01,576.576 INFO    ] time= 29/08/2026 10:54:01
[2026-08-29 10:54:01,611.611 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:54:01,650.650 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:54:01,760.760 INFO    ] No existing commands found in stream
[2026-08-29 10:54:06,785.785 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:54:06,790.790 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-08-29 10:54:13,289.289 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:54:13,290.290 INFO    ] Checking for system updates...
[2026-08-29 10:54:13,312.312 INFO    ] 200
[2026-08-29 10:54:13,314.314 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:54:13,346.346 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:54:13,347.347 INFO    ] No update needed
[2026-08-29 10:54:13,348.348 INFO    ] Checking for camera pi updates...
[2026-08-29 10:54:13,368.368 INFO    ] 200
[2026-08-29 10:54:13,369.369 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:54:13,392.392 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:54:13,488.488 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:54:13,490.490 INFO    ] No camera update needed
[2026-08-29 10:54:13,491.491 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:54:13,492.492 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:54:13,496.496 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:54:13,499.499 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:54:15,537.537 INFO    ] ================================================
[2026-08-29 10:54:15,553.553 INFO    ] Launching Daemon at Sat Aug 29 10:54:15 IST 2026
[2026-08-29 10:54:15,563.563 INFO    ] ================================================
[2026-08-29 10:54:15,897.897 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:54:15
[2026-08-29 10:54:16,209.209 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:54:16,347.347 INFO    ] Initializing speech engine...
[2026-08-29 10:54:16,356.356 INFO    ] 2026-08-29 10:54:16
[2026-08-29 10:54:16,563.563 INFO    ] 2026-08-29 10:54:16
[2026-08-29 10:54:16,593.593 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:54:16,771.771 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:54:16,788.788 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:54:16,915.915 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:54:16,934.934 INFO    ] time= 29/08/2026 10:54:16
[2026-08-29 10:54:16,965.965 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:54:16,974.974 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:54:17,077.077 INFO    ] No existing commands found in stream
[2026-08-29 10:54:22,099.099 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:54:22,103.103 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-08-29 10:54:23,370.370 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:54:23,371.371 INFO    ] Checking for system updates...
[2026-08-29 10:54:23,392.392 INFO    ] 200
[2026-08-29 10:54:23,393.393 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:54:23,423.423 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:54:23,425.425 INFO    ] No update needed
[2026-08-29 10:54:23,426.426 INFO    ] Checking for camera pi updates...
[2026-08-29 10:54:23,445.445 INFO    ] 200
[2026-08-29 10:54:23,447.447 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:54:23,470.470 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:54:23,547.547 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:54:23,549.549 INFO    ] No camera update needed
[2026-08-29 10:54:23,550.550 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:54:23,552.552 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:54:23,555.555 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:54:23,558.558 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:54:25,596.596 INFO    ] ================================================
[2026-08-29 10:54:25,611.611 INFO    ] Launching Daemon at Sat Aug 29 10:54:25 IST 2026
[2026-08-29 10:54:25,623.623 INFO    ] ================================================
[2026-08-29 10:54:25,985.985 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:54:25
[2026-08-29 10:54:26,301.301 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:54:26,442.442 INFO    ] Initializing speech engine...
[2026-08-29 10:54:26,451.451 INFO    ] 2026-08-29 10:54:26
[2026-08-29 10:54:26,657.657 INFO    ] 2026-08-29 10:54:26
[2026-08-29 10:54:26,686.686 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:54:26,807.807 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:54:26,850.850 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:54:27,005.005 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:54:27,057.057 INFO    ] time= 29/08/2026 10:54:27
[2026-08-29 10:54:27,096.096 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:54:27,101.101 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:54:27,171.171 INFO    ] No existing commands found in stream
[2026-08-29 10:54:32,180.180 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:54:32,182.182 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-08-29 10:54:35,477.477 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:54:35,480.480 INFO    ] Checking for system updates...
[2026-08-29 10:54:35,516.516 INFO    ] 200
[2026-08-29 10:54:35,519.519 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:54:35,550.550 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:54:35,551.551 INFO    ] No update needed
[2026-08-29 10:54:35,552.552 INFO    ] Checking for camera pi updates...
[2026-08-29 10:54:35,573.573 INFO    ] 200
[2026-08-29 10:54:35,574.574 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:54:35,597.597 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:54:35,713.713 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:54:35,715.715 INFO    ] No camera update needed
[2026-08-29 10:54:35,717.717 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:54:35,720.720 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:54:35,725.725 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:54:35,730.730 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:54:37,771.771 INFO    ] ================================================
[2026-08-29 10:54:37,787.787 INFO    ] Launching Daemon at Sat Aug 29 10:54:37 IST 2026
[2026-08-29 10:54:37,798.798 INFO    ] ================================================
[2026-08-29 10:54:38,380.380 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:54:38
[2026-08-29 10:54:38,875.875 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:54:39,018.018 INFO    ] Initializing speech engine...
[2026-08-29 10:54:39,024.024 INFO    ] 2026-08-29 10:54:39
[2026-08-29 10:54:39,219.219 INFO    ] 2026-08-29 10:54:39
[2026-08-29 10:54:39,299.299 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:54:39,447.447 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:54:39,456.456 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:54:39,591.591 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:54:39,655.655 INFO    ] time= 29/08/2026 10:54:39
[2026-08-29 10:54:39,738.738 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:54:39,749.749 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:54:39,863.863 INFO    ] No existing commands found in stream
[2026-08-29 10:54:44,890.890 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:54:44,893.893 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 10:54:47,362.362 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:54:47,365.365 INFO    ] Checking for system updates...
[2026-08-29 10:54:47,402.402 INFO    ] 200
[2026-08-29 10:54:47,405.405 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:54:47,458.458 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:54:47,460.460 INFO    ] No update needed
[2026-08-29 10:54:47,463.463 INFO    ] Checking for camera pi updates...
[2026-08-29 10:54:47,497.497 INFO    ] 200
[2026-08-29 10:54:47,499.499 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:54:47,540.540 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:54:47,628.628 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:54:47,630.630 INFO    ] No camera update needed
[2026-08-29 10:54:47,633.633 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:54:47,635.635 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:54:47,641.641 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:54:47,646.646 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:54:49,672.672 INFO    ] ================================================
[2026-08-29 10:54:49,680.680 INFO    ] Launching Daemon at Sat Aug 29 10:54:49 IST 2026
[2026-08-29 10:54:49,686.686 INFO    ] ================================================
[2026-08-29 10:54:50,236.236 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:54:50
[2026-08-29 10:54:50,832.832 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:54:51,100.100 INFO    ] Initializing speech engine...
[2026-08-29 10:54:51,110.110 INFO    ] 2026-08-29 10:54:51
[2026-08-29 10:54:51,357.357 INFO    ] 2026-08-29 10:54:51
[2026-08-29 10:54:51,393.393 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:54:52,584.584 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:54:52,589.589 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:54:52,984.984 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:54:52,988.988 INFO    ] time= 29/08/2026 10:54:52
[2026-08-29 10:54:53,032.032 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:54:53,040.040 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:54:53,093.093 INFO    ] No existing commands found in stream
[2026-08-29 10:54:58,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:54:58,107.107 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-08-29 10:54:59,552.552 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:54:59,555.555 INFO    ] Checking for system updates...
[2026-08-29 10:54:59,590.590 INFO    ] 200
[2026-08-29 10:54:59,593.593 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:54:59,645.645 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:54:59,648.648 INFO    ] No update needed
[2026-08-29 10:54:59,650.650 INFO    ] Checking for camera pi updates...
[2026-08-29 10:54:59,684.684 INFO    ] 200
[2026-08-29 10:54:59,686.686 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:54:59,731.731 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:54:59,801.801 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:54:59,803.803 INFO    ] No camera update needed
[2026-08-29 10:54:59,806.806 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:54:59,808.808 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:54:59,814.814 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:54:59,819.819 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:55:01,844.844 INFO    ] ================================================
[2026-08-29 10:55:01,858.858 INFO    ] Launching Daemon at Sat Aug 29 10:55:01 IST 2026
[2026-08-29 10:55:01,884.884 INFO    ] ================================================
[2026-08-29 10:55:02,728.728 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:55:02
[2026-08-29 10:55:03,384.384 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:55:03,748.748 INFO    ] Initializing speech engine...
[2026-08-29 10:55:03,762.762 INFO    ] 2026-08-29 10:55:03
[2026-08-29 10:55:04,043.043 INFO    ] 2026-08-29 10:55:04
[2026-08-29 10:55:04,101.101 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:55:04,264.264 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:55:04,272.272 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:55:04,400.400 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:55:04,452.452 INFO    ] time= 29/08/2026 10:55:04
[2026-08-29 10:55:04,473.473 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:55:04,515.515 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:55:04,607.607 INFO    ] No existing commands found in stream
[2026-08-29 10:55:09,617.617 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:55:09,626.626 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-08-29 10:55:12,163.163 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:55:12,165.165 INFO    ] Checking for system updates...
[2026-08-29 10:55:12,185.185 INFO    ] 200
[2026-08-29 10:55:12,187.187 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:55:12,219.219 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:55:12,220.220 INFO    ] No update needed
[2026-08-29 10:55:12,222.222 INFO    ] Checking for camera pi updates...
[2026-08-29 10:55:12,243.243 INFO    ] 200
[2026-08-29 10:55:12,245.245 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:55:12,268.268 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:55:12,371.371 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:55:12,372.372 INFO    ] No camera update needed
[2026-08-29 10:55:12,374.374 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:55:12,375.375 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:55:12,378.378 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:55:12,380.380 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:55:14,419.419 INFO    ] ================================================
[2026-08-29 10:55:14,435.435 INFO    ] Launching Daemon at Sat Aug 29 10:55:14 IST 2026
[2026-08-29 10:55:14,446.446 INFO    ] ================================================
[2026-08-29 10:55:14,768.768 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:55:14
[2026-08-29 10:55:15,114.114 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:55:15,386.386 INFO    ] Initializing speech engine...
[2026-08-29 10:55:15,392.392 INFO    ] 2026-08-29 10:55:15
[2026-08-29 10:55:15,653.653 INFO    ] 2026-08-29 10:55:15
[2026-08-29 10:55:15,708.708 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:55:15,848.848 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:55:15,860.860 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:55:16,001.001 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:55:16,008.008 INFO    ] time= 29/08/2026 10:55:16
[2026-08-29 10:55:16,016.016 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:55:16,062.062 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:55:16,186.186 INFO    ] No existing commands found in stream
[2026-08-29 10:55:21,211.211 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:55:21,214.214 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-08-29 10:55:23,282.282 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:55:23,284.284 INFO    ] Checking for system updates...
[2026-08-29 10:55:23,305.305 INFO    ] 200
[2026-08-29 10:55:23,306.306 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:55:23,348.348 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:55:23,351.351 INFO    ] No update needed
[2026-08-29 10:55:23,353.353 INFO    ] Checking for camera pi updates...
[2026-08-29 10:55:23,386.386 INFO    ] 200
[2026-08-29 10:55:23,389.389 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:55:23,429.429 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:55:23,531.531 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:55:23,533.533 INFO    ] No camera update needed
[2026-08-29 10:55:23,536.536 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:55:23,538.538 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:55:23,543.543 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:55:23,548.548 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:55:25,590.590 INFO    ] ================================================
[2026-08-29 10:55:25,606.606 INFO    ] Launching Daemon at Sat Aug 29 10:55:25 IST 2026
[2026-08-29 10:55:25,617.617 INFO    ] ================================================
[2026-08-29 10:55:26,270.270 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:55:26
[2026-08-29 10:55:26,700.700 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:55:26,851.851 INFO    ] Initializing speech engine...
[2026-08-29 10:55:26,857.857 INFO    ] 2026-08-29 10:55:26
[2026-08-29 10:55:27,065.065 INFO    ] 2026-08-29 10:55:27
[2026-08-29 10:55:27,094.094 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:55:27,267.267 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:55:27,280.280 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:55:27,421.421 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:55:27,451.451 INFO    ] time= 29/08/2026 10:55:27
[2026-08-29 10:55:27,460.460 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:55:27,469.469 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:55:27,579.579 INFO    ] No existing commands found in stream
[2026-08-29 10:55:32,605.605 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:55:32,608.608 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-08-29 10:55:35,736.736 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:55:35,737.737 INFO    ] Checking for system updates...
[2026-08-29 10:55:35,759.759 INFO    ] 200
[2026-08-29 10:55:35,761.761 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:55:35,792.792 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:55:35,794.794 INFO    ] No update needed
[2026-08-29 10:55:35,795.795 INFO    ] Checking for camera pi updates...
[2026-08-29 10:55:35,815.815 INFO    ] 200
[2026-08-29 10:55:35,816.816 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:55:35,841.841 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:55:35,916.916 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:55:35,918.918 INFO    ] No camera update needed
[2026-08-29 10:55:35,919.919 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:55:35,920.920 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:55:35,924.924 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:55:35,927.927 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:55:37,965.965 INFO    ] ================================================
[2026-08-29 10:55:37,981.981 INFO    ] Launching Daemon at Sat Aug 29 10:55:37 IST 2026
[2026-08-29 10:55:37,992.992 INFO    ] ================================================
[2026-08-29 10:55:38,506.506 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:55:38
[2026-08-29 10:55:39,091.091 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:55:39,361.361 INFO    ] Initializing speech engine...
[2026-08-29 10:55:39,370.370 INFO    ] 2026-08-29 10:55:39
[2026-08-29 10:55:39,618.618 INFO    ] 2026-08-29 10:55:39
[2026-08-29 10:55:39,654.654 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:55:39,826.826 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:55:39,838.838 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:55:39,981.981 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:55:39,988.988 INFO    ] time= 29/08/2026 10:55:39
[2026-08-29 10:55:39,992.992 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:55:39,998.998 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:55:40,070.070 INFO    ] No existing commands found in stream
[2026-08-29 10:55:45,105.105 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:55:45,108.108 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-08-29 10:55:48,076.076 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:55:48,078.078 INFO    ] Checking for system updates...
[2026-08-29 10:55:48,114.114 INFO    ] 200
[2026-08-29 10:55:48,117.117 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:55:48,170.170 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:55:48,172.172 INFO    ] No update needed
[2026-08-29 10:55:48,175.175 INFO    ] Checking for camera pi updates...
[2026-08-29 10:55:48,208.208 INFO    ] 200
[2026-08-29 10:55:48,210.210 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:55:48,251.251 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:55:48,340.340 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:55:48,343.343 INFO    ] No camera update needed
[2026-08-29 10:55:48,345.345 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:55:48,347.347 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:55:48,352.352 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:55:48,357.357 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:55:50,398.398 INFO    ] ================================================
[2026-08-29 10:55:50,414.414 INFO    ] Launching Daemon at Sat Aug 29 10:55:50 IST 2026
[2026-08-29 10:55:50,425.425 INFO    ] ================================================
[2026-08-29 10:55:50,980.980 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:55:50
[2026-08-29 10:55:51,291.291 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:55:51,427.427 INFO    ] Initializing speech engine...
[2026-08-29 10:55:51,436.436 INFO    ] 2026-08-29 10:55:51
[2026-08-29 10:55:51,632.632 INFO    ] 2026-08-29 10:55:51
[2026-08-29 10:55:51,707.707 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:55:51,860.860 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:55:51,869.869 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:55:52,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:55:52,029.029 INFO    ] time= 29/08/2026 10:55:52
[2026-08-29 10:55:52,078.078 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:55:52,132.132 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:55:52,190.190 INFO    ] No existing commands found in stream
[2026-08-29 10:55:57,203.203 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:55:57,205.205 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-08-29 10:56:00,251.251 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:56:00,253.253 INFO    ] Checking for system updates...
[2026-08-29 10:56:00,274.274 INFO    ] 200
[2026-08-29 10:56:00,276.276 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:56:00,305.305 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:56:00,307.307 INFO    ] No update needed
[2026-08-29 10:56:00,308.308 INFO    ] Checking for camera pi updates...
[2026-08-29 10:56:00,327.327 INFO    ] 200
[2026-08-29 10:56:00,328.328 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:56:00,351.351 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:56:00,453.453 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:56:00,455.455 INFO    ] No camera update needed
[2026-08-29 10:56:00,458.458 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:56:00,460.460 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:56:00,465.465 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:56:00,470.470 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:56:02,516.516 INFO    ] ================================================
[2026-08-29 10:56:02,533.533 INFO    ] Launching Daemon at Sat Aug 29 10:56:02 IST 2026
[2026-08-29 10:56:02,546.546 INFO    ] ================================================
[2026-08-29 10:56:03,160.160 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:56:03
[2026-08-29 10:56:03,618.618 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:56:03,760.760 INFO    ] Initializing speech engine...
[2026-08-29 10:56:03,766.766 INFO    ] 2026-08-29 10:56:03
[2026-08-29 10:56:03,976.976 INFO    ] 2026-08-29 10:56:03
[2026-08-29 10:56:04,054.054 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:56:04,210.210 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:56:04,219.219 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:56:04,351.351 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:56:04,363.363 INFO    ] time= 29/08/2026 10:56:04
[2026-08-29 10:56:04,417.417 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:56:04,476.476 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:56:04,537.537 INFO    ] No existing commands found in stream
[2026-08-29 10:56:09,549.549 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:56:09,552.552 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 10:56:13,103.103 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:56:13,105.105 INFO    ] Checking for system updates...
[2026-08-29 10:56:13,126.126 INFO    ] 200
[2026-08-29 10:56:13,127.127 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:56:13,158.158 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:56:13,159.159 INFO    ] No update needed
[2026-08-29 10:56:13,160.160 INFO    ] Checking for camera pi updates...
[2026-08-29 10:56:13,179.179 INFO    ] 200
[2026-08-29 10:56:13,181.181 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:56:13,204.204 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:56:13,399.399 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:56:13,400.400 INFO    ] No camera update needed
[2026-08-29 10:56:13,401.401 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:56:13,402.402 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:56:13,405.405 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:56:13,408.408 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:56:15,447.447 INFO    ] ================================================
[2026-08-29 10:56:15,464.464 INFO    ] Launching Daemon at Sat Aug 29 10:56:15 IST 2026
[2026-08-29 10:56:15,475.475 INFO    ] ================================================
[2026-08-29 10:56:15,800.800 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:56:15
[2026-08-29 10:56:16,113.113 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:56:16,245.245 INFO    ] Initializing speech engine...
[2026-08-29 10:56:16,249.249 INFO    ] 2026-08-29 10:56:16
[2026-08-29 10:56:16,441.441 INFO    ] 2026-08-29 10:56:16
[2026-08-29 10:56:16,486.486 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:56:16,645.645 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:56:16,679.679 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:56:16,840.840 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:56:16,865.865 INFO    ] time= 29/08/2026 10:56:16
[2026-08-29 10:56:16,921.921 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:56:16,945.945 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:56:17,043.043 INFO    ] No existing commands found in stream
[2026-08-29 10:56:22,053.053 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:56:22,055.055 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-08-29 10:56:25,224.224 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:56:25,226.226 INFO    ] Checking for system updates...
[2026-08-29 10:56:25,246.246 INFO    ] 200
[2026-08-29 10:56:25,247.247 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:56:25,278.278 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:56:25,279.279 INFO    ] No update needed
[2026-08-29 10:56:25,280.280 INFO    ] Checking for camera pi updates...
[2026-08-29 10:56:25,300.300 INFO    ] 200
[2026-08-29 10:56:25,301.301 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:56:25,324.324 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:56:25,414.414 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:56:25,415.415 INFO    ] No camera update needed
[2026-08-29 10:56:25,416.416 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:56:25,417.417 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:56:25,420.420 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:56:25,423.423 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:56:27,461.461 INFO    ] ================================================
[2026-08-29 10:56:27,477.477 INFO    ] Launching Daemon at Sat Aug 29 10:56:27 IST 2026
[2026-08-29 10:56:27,488.488 INFO    ] ================================================
[2026-08-29 10:56:27,825.825 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:56:27
[2026-08-29 10:56:28,138.138 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:56:28,276.276 INFO    ] Initializing speech engine...
[2026-08-29 10:56:28,283.283 INFO    ] 2026-08-29 10:56:28
[2026-08-29 10:56:28,490.490 INFO    ] 2026-08-29 10:56:28
[2026-08-29 10:56:28,518.518 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:56:28,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:56:28,704.704 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:56:28,840.840 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:56:28,899.899 INFO    ] time= 29/08/2026 10:56:28
[2026-08-29 10:56:28,940.940 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:56:28,981.981 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:56:29,088.088 INFO    ] No existing commands found in stream
[2026-08-29 10:56:34,113.113 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:56:34,116.116 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-08-29 10:56:36,941.941 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:56:36,943.943 INFO    ] Checking for system updates...
[2026-08-29 10:56:36,966.966 INFO    ] 200
[2026-08-29 10:56:36,967.967 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:56:36,999.999 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:56:37,001.001 INFO    ] No update needed
[2026-08-29 10:56:37,002.002 INFO    ] Checking for camera pi updates...
[2026-08-29 10:56:37,022.022 INFO    ] 200
[2026-08-29 10:56:37,024.024 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:56:37,048.048 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:56:37,142.142 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:56:37,144.144 INFO    ] No camera update needed
[2026-08-29 10:56:37,145.145 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:56:37,146.146 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:56:37,149.149 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:56:37,152.152 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:56:39,192.192 INFO    ] ================================================
[2026-08-29 10:56:39,207.207 INFO    ] Launching Daemon at Sat Aug 29 10:56:39 IST 2026
[2026-08-29 10:56:39,219.219 INFO    ] ================================================
[2026-08-29 10:56:39,578.578 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:56:39
[2026-08-29 10:56:39,918.918 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:56:40,060.060 INFO    ] Initializing speech engine...
[2026-08-29 10:56:40,065.065 INFO    ] 2026-08-29 10:56:40
[2026-08-29 10:56:40,306.306 INFO    ] 2026-08-29 10:56:40
[2026-08-29 10:56:40,341.341 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:56:40,515.515 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:56:40,538.538 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:56:40,668.668 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:56:40,676.676 INFO    ] time= 29/08/2026 10:56:40
[2026-08-29 10:56:40,682.682 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:56:40,727.727 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:56:40,830.830 INFO    ] No existing commands found in stream
[2026-08-29 10:56:45,855.855 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:56:45,857.857 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-08-29 10:56:48,104.104 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:56:48,105.105 INFO    ] Checking for system updates...
[2026-08-29 10:56:48,126.126 INFO    ] 200
[2026-08-29 10:56:48,127.127 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:56:48,159.159 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:56:48,161.161 INFO    ] No update needed
[2026-08-29 10:56:48,162.162 INFO    ] Checking for camera pi updates...
[2026-08-29 10:56:48,181.181 INFO    ] 200
[2026-08-29 10:56:48,183.183 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:56:48,206.206 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:56:48,307.307 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:56:48,308.308 INFO    ] No camera update needed
[2026-08-29 10:56:48,310.310 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:56:48,311.311 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:56:48,314.314 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:56:48,317.317 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:56:50,355.355 INFO    ] ================================================
[2026-08-29 10:56:50,370.370 INFO    ] Launching Daemon at Sat Aug 29 10:56:50 IST 2026
[2026-08-29 10:56:50,381.381 INFO    ] ================================================
[2026-08-29 10:56:50,756.756 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:56:50
[2026-08-29 10:56:51,068.068 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:56:51,206.206 INFO    ] Initializing speech engine...
[2026-08-29 10:56:51,217.217 INFO    ] 2026-08-29 10:56:51
[2026-08-29 10:56:51,449.449 INFO    ] 2026-08-29 10:56:51
[2026-08-29 10:56:51,521.521 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:56:51,687.687 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:56:51,695.695 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:56:51,872.872 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:56:51,899.899 INFO    ] time= 29/08/2026 10:56:51
[2026-08-29 10:56:51,905.905 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:56:51,924.924 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:56:52,032.032 INFO    ] No existing commands found in stream
[2026-08-29 10:56:57,065.065 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:56:57,068.068 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-08-29 10:56:58,584.584 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:56:58,586.586 INFO    ] Checking for system updates...
[2026-08-29 10:56:58,606.606 INFO    ] 200
[2026-08-29 10:56:58,607.607 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:56:58,637.637 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:56:58,639.639 INFO    ] No update needed
[2026-08-29 10:56:58,640.640 INFO    ] Checking for camera pi updates...
[2026-08-29 10:56:58,660.660 INFO    ] 200
[2026-08-29 10:56:58,662.662 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:56:58,687.687 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:56:58,764.764 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:56:58,765.765 INFO    ] No camera update needed
[2026-08-29 10:56:58,766.766 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:56:58,768.768 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:56:58,770.770 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:56:58,773.773 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:57:00,812.812 INFO    ] ================================================
[2026-08-29 10:57:00,827.827 INFO    ] Launching Daemon at Sat Aug 29 10:57:00 IST 2026
[2026-08-29 10:57:00,839.839 INFO    ] ================================================
[2026-08-29 10:57:01,234.234 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:57:01
[2026-08-29 10:57:02,010.010 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:57:02,322.322 INFO    ] Initializing speech engine...
[2026-08-29 10:57:02,340.340 INFO    ] 2026-08-29 10:57:02
[2026-08-29 10:57:02,660.660 INFO    ] 2026-08-29 10:57:02
[2026-08-29 10:57:02,743.743 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:57:02,923.923 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:57:02,939.939 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:57:03,063.063 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:57:03,070.070 INFO    ] time= 29/08/2026 10:57:03
[2026-08-29 10:57:03,091.091 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:57:03,113.113 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:57:03,193.193 INFO    ] No existing commands found in stream
[2026-08-29 10:57:08,206.206 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:57:08,209.209 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-08-29 10:57:11,129.129 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:57:11,131.131 INFO    ] Checking for system updates...
[2026-08-29 10:57:11,152.152 INFO    ] 200
[2026-08-29 10:57:11,154.154 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:57:11,187.187 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:57:11,188.188 INFO    ] No update needed
[2026-08-29 10:57:11,190.190 INFO    ] Checking for camera pi updates...
[2026-08-29 10:57:11,209.209 INFO    ] 200
[2026-08-29 10:57:11,210.210 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:57:11,235.235 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:57:11,333.333 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:57:11,334.334 INFO    ] No camera update needed
[2026-08-29 10:57:11,335.335 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:57:11,337.337 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:57:11,339.339 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:57:11,342.342 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:57:13,384.384 INFO    ] ================================================
[2026-08-29 10:57:13,400.400 INFO    ] Launching Daemon at Sat Aug 29 10:57:13 IST 2026
[2026-08-29 10:57:13,411.411 INFO    ] ================================================
[2026-08-29 10:57:13,783.783 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:57:13
[2026-08-29 10:57:14,124.124 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:57:14,398.398 INFO    ] Initializing speech engine...
[2026-08-29 10:57:14,404.404 INFO    ] 2026-08-29 10:57:14
[2026-08-29 10:57:14,665.665 INFO    ] 2026-08-29 10:57:14
[2026-08-29 10:57:14,719.719 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:57:14,862.862 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:57:14,874.874 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:57:15,014.014 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:57:15,023.023 INFO    ] time= 29/08/2026 10:57:15
[2026-08-29 10:57:15,030.030 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:57:15,074.074 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:57:15,189.189 INFO    ] No existing commands found in stream
[2026-08-29 10:57:20,214.214 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:57:20,217.217 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-08-29 10:57:21,334.334 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:57:21,335.335 INFO    ] Checking for system updates...
[2026-08-29 10:57:21,355.355 INFO    ] 200
[2026-08-29 10:57:21,357.357 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:57:21,389.389 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:57:21,390.390 INFO    ] No update needed
[2026-08-29 10:57:21,392.392 INFO    ] Checking for camera pi updates...
[2026-08-29 10:57:21,412.412 INFO    ] 200
[2026-08-29 10:57:21,414.414 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:57:21,437.437 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:57:21,545.545 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:57:21,546.546 INFO    ] No camera update needed
[2026-08-29 10:57:21,548.548 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:57:21,549.549 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:57:21,552.552 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:57:21,554.554 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:57:23,595.595 INFO    ] ================================================
[2026-08-29 10:57:23,611.611 INFO    ] Launching Daemon at Sat Aug 29 10:57:23 IST 2026
[2026-08-29 10:57:23,621.621 INFO    ] ================================================
[2026-08-29 10:57:24,008.008 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:57:24
[2026-08-29 10:57:24,347.347 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:57:24,495.495 INFO    ] Initializing speech engine...
[2026-08-29 10:57:24,499.499 INFO    ] 2026-08-29 10:57:24
[2026-08-29 10:57:24,703.703 INFO    ] 2026-08-29 10:57:24
[2026-08-29 10:57:24,731.731 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:57:24,877.877 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:57:24,885.885 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:57:25,049.049 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:57:25,088.088 INFO    ] time= 29/08/2026 10:57:25
[2026-08-29 10:57:25,094.094 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:57:25,112.112 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:57:25,216.216 INFO    ] No existing commands found in stream
[2026-08-29 10:57:30,241.241 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:57:30,244.244 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-08-29 10:57:33,053.053 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:57:33,056.056 INFO    ] Checking for system updates...
[2026-08-29 10:57:33,092.092 INFO    ] 200
[2026-08-29 10:57:33,094.094 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:57:33,154.154 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:57:33,156.156 INFO    ] No update needed
[2026-08-29 10:57:33,159.159 INFO    ] Checking for camera pi updates...
[2026-08-29 10:57:33,193.193 INFO    ] 200
[2026-08-29 10:57:33,196.196 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:57:33,238.238 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:57:33,348.348 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:57:33,351.351 INFO    ] No camera update needed
[2026-08-29 10:57:33,354.354 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:57:33,357.357 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:57:33,364.364 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:57:33,369.369 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:57:35,411.411 INFO    ] ================================================
[2026-08-29 10:57:35,426.426 INFO    ] Launching Daemon at Sat Aug 29 10:57:35 IST 2026
[2026-08-29 10:57:35,437.437 INFO    ] ================================================
[2026-08-29 10:57:35,776.776 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:57:35
[2026-08-29 10:57:36,116.116 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:57:36,362.362 INFO    ] Initializing speech engine...
[2026-08-29 10:57:36,367.367 INFO    ] 2026-08-29 10:57:36
[2026-08-29 10:57:36,645.645 INFO    ] 2026-08-29 10:57:36
[2026-08-29 10:57:36,680.680 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:57:36,856.856 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:57:36,869.869 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:57:36,981.981 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:57:37,000.000 INFO    ] time= 29/08/2026 10:57:36
[2026-08-29 10:57:37,022.022 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:57:37,028.028 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:57:37,096.096 INFO    ] No existing commands found in stream
[2026-08-29 10:57:42,109.109 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:57:42,111.111 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-08-29 10:57:42,591.591 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:57:42,592.592 INFO    ] Checking for system updates...
[2026-08-29 10:57:42,613.613 INFO    ] 200
[2026-08-29 10:57:42,614.614 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:57:42,646.646 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:57:42,647.647 INFO    ] No update needed
[2026-08-29 10:57:42,649.649 INFO    ] Checking for camera pi updates...
[2026-08-29 10:57:42,668.668 INFO    ] 200
[2026-08-29 10:57:42,669.669 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:57:42,693.693 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:57:42,774.774 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:57:42,775.775 INFO    ] No camera update needed
[2026-08-29 10:57:42,776.776 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:57:42,777.777 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:57:42,780.780 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:57:42,783.783 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:57:44,821.821 INFO    ] ================================================
[2026-08-29 10:57:44,837.837 INFO    ] Launching Daemon at Sat Aug 29 10:57:44 IST 2026
[2026-08-29 10:57:44,848.848 INFO    ] ================================================
[2026-08-29 10:57:45,386.386 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:57:45
[2026-08-29 10:57:45,976.976 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:57:46,245.245 INFO    ] Initializing speech engine...
[2026-08-29 10:57:46,258.258 INFO    ] 2026-08-29 10:57:46
[2026-08-29 10:57:46,509.509 INFO    ] 2026-08-29 10:57:46
[2026-08-29 10:57:46,545.545 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:57:46,720.720 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:57:46,734.734 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:57:46,873.873 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:57:46,887.887 INFO    ] time= 29/08/2026 10:57:46
[2026-08-29 10:57:46,894.894 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:57:46,915.915 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:57:47,044.044 INFO    ] No existing commands found in stream
[2026-08-29 10:57:52,069.069 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:57:52,071.071 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-08-29 10:57:55,044.044 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 10:57:55,045.045 INFO    ] Checking for system updates...
[2026-08-29 10:57:55,065.065 INFO    ] 200
[2026-08-29 10:57:55,067.067 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:57:55,096.096 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:57:55,098.098 INFO    ] No update needed
[2026-08-29 10:57:55,099.099 INFO    ] Checking for camera pi updates...
[2026-08-29 10:57:55,120.120 INFO    ] 200
[2026-08-29 10:57:55,121.121 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:57:55,146.146 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:57:55,272.272 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:57:55,274.274 INFO    ] No camera update needed
[2026-08-29 10:57:55,275.275 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:57:55,276.276 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:57:55,279.279 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:57:55,282.282 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:57:57,320.320 INFO    ] ================================================
[2026-08-29 10:57:57,335.335 INFO    ] Launching Daemon at Sat Aug 29 10:57:57 IST 2026
[2026-08-29 10:57:57,346.346 INFO    ] ================================================
[2026-08-29 10:57:57,673.673 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:57:57
[2026-08-29 10:57:57,984.984 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:57:58,126.126 INFO    ] Initializing speech engine...
[2026-08-29 10:57:58,131.131 INFO    ] 2026-08-29 10:57:58
[2026-08-29 10:57:58,334.334 INFO    ] 2026-08-29 10:57:58
[2026-08-29 10:57:58,363.363 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:57:58,485.485 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:57:58,548.548 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:57:58,678.678 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:57:58,718.718 INFO    ] time= 29/08/2026 10:57:58
[2026-08-29 10:57:58,773.773 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:57:58,778.778 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:57:58,848.848 INFO    ] No existing commands found in stream
[2026-08-29 10:58:03,858.858 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:58:03,861.861 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-08-29 10:58:05,719.719 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:58:05,720.720 INFO    ] Checking for system updates...
[2026-08-29 10:58:05,741.741 INFO    ] 200
[2026-08-29 10:58:05,743.743 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:58:05,772.772 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:58:05,774.774 INFO    ] No update needed
[2026-08-29 10:58:05,775.775 INFO    ] Checking for camera pi updates...
[2026-08-29 10:58:05,796.796 INFO    ] 200
[2026-08-29 10:58:05,797.797 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:58:05,821.821 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:58:05,897.897 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:58:05,898.898 INFO    ] No camera update needed
[2026-08-29 10:58:05,899.899 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:58:05,900.900 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:58:05,903.903 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:58:05,906.906 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:58:07,945.945 INFO    ] ================================================
[2026-08-29 10:58:07,960.960 INFO    ] Launching Daemon at Sat Aug 29 10:58:07 IST 2026
[2026-08-29 10:58:07,971.971 INFO    ] ================================================
[2026-08-29 10:58:08,469.469 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:58:08
[2026-08-29 10:58:09,055.055 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:58:09,332.332 INFO    ] Initializing speech engine...
[2026-08-29 10:58:09,338.338 INFO    ] 2026-08-29 10:58:09
[2026-08-29 10:58:09,585.585 INFO    ] 2026-08-29 10:58:09
[2026-08-29 10:58:09,620.620 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:58:09,796.796 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:58:09,809.809 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:58:09,955.955 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:58:09,963.963 INFO    ] time= 29/08/2026 10:58:09
[2026-08-29 10:58:09,972.972 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:58:10,021.021 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:58:10,150.150 INFO    ] No existing commands found in stream
[2026-08-29 10:58:15,175.175 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:58:15,178.178 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-08-29 10:58:16,631.631 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 10:58:16,633.633 INFO    ] Checking for system updates...
[2026-08-29 10:58:16,654.654 INFO    ] 200
[2026-08-29 10:58:16,656.656 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:58:16,688.688 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:58:16,689.689 INFO    ] No update needed
[2026-08-29 10:58:16,691.691 INFO    ] Checking for camera pi updates...
[2026-08-29 10:58:16,709.709 INFO    ] 200
[2026-08-29 10:58:16,711.711 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:58:16,735.735 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:58:16,915.915 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:58:16,917.917 INFO    ] No camera update needed
[2026-08-29 10:58:16,918.918 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:58:16,919.919 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:58:16,922.922 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:58:16,925.925 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:58:18,963.963 INFO    ] ================================================
[2026-08-29 10:58:18,978.978 INFO    ] Launching Daemon at Sat Aug 29 10:58:18 IST 2026
[2026-08-29 10:58:18,989.989 INFO    ] ================================================
[2026-08-29 10:58:19,323.323 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:58:19
[2026-08-29 10:58:19,654.654 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:58:19,931.931 INFO    ] Initializing speech engine...
[2026-08-29 10:58:19,937.937 INFO    ] 2026-08-29 10:58:19
[2026-08-29 10:58:20,197.197 INFO    ] 2026-08-29 10:58:20
[2026-08-29 10:58:20,251.251 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:58:20,472.472 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:58:20,481.481 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:58:20,613.613 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:58:20,625.625 INFO    ] time= 29/08/2026 10:58:20
[2026-08-29 10:58:20,690.690 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:58:20,744.744 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:58:20,800.800 INFO    ] No existing commands found in stream
[2026-08-29 10:58:25,812.812 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:58:25,815.815 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-08-29 10:58:29,044.044 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:58:29,045.045 INFO    ] Checking for system updates...
[2026-08-29 10:58:29,067.067 INFO    ] 200
[2026-08-29 10:58:29,068.068 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:58:29,101.101 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:58:29,103.103 INFO    ] No update needed
[2026-08-29 10:58:29,105.105 INFO    ] Checking for camera pi updates...
[2026-08-29 10:58:29,125.125 INFO    ] 200
[2026-08-29 10:58:29,127.127 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:58:29,152.152 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:58:29,256.256 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:58:29,257.257 INFO    ] No camera update needed
[2026-08-29 10:58:29,258.258 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:58:29,260.260 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:58:29,263.263 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:58:29,266.266 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:58:31,304.304 INFO    ] ================================================
[2026-08-29 10:58:31,319.319 INFO    ] Launching Daemon at Sat Aug 29 10:58:31 IST 2026
[2026-08-29 10:58:31,329.329 INFO    ] ================================================
[2026-08-29 10:58:31,678.678 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:58:31
[2026-08-29 10:58:31,994.994 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:58:32,158.158 INFO    ] Initializing speech engine...
[2026-08-29 10:58:32,172.172 INFO    ] 2026-08-29 10:58:32
[2026-08-29 10:58:32,454.454 INFO    ] 2026-08-29 10:58:32
[2026-08-29 10:58:32,491.491 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:58:32,675.675 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:58:32,691.691 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:58:32,839.839 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:58:32,848.848 INFO    ] time= 29/08/2026 10:58:32
[2026-08-29 10:58:32,857.857 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:58:32,918.918 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:58:33,038.038 INFO    ] No existing commands found in stream
[2026-08-29 10:58:38,063.063 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:58:38,066.066 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 10:58:41,824.824 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:58:41,825.825 INFO    ] Checking for system updates...
[2026-08-29 10:58:41,846.846 INFO    ] 200
[2026-08-29 10:58:41,847.847 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:58:41,881.881 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:58:41,883.883 INFO    ] No update needed
[2026-08-29 10:58:41,884.884 INFO    ] Checking for camera pi updates...
[2026-08-29 10:58:41,903.903 INFO    ] 200
[2026-08-29 10:58:41,904.904 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:58:41,927.927 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:58:42,017.017 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:58:42,019.019 INFO    ] No camera update needed
[2026-08-29 10:58:42,020.020 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:58:42,021.021 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:58:42,024.024 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:58:42,027.027 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:58:44,069.069 INFO    ] ================================================
[2026-08-29 10:58:44,084.084 INFO    ] Launching Daemon at Sat Aug 29 10:58:44 IST 2026
[2026-08-29 10:58:44,095.095 INFO    ] ================================================
[2026-08-29 10:58:44,579.579 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:58:44
[2026-08-29 10:58:45,166.166 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:58:45,420.420 INFO    ] Initializing speech engine...
[2026-08-29 10:58:45,428.428 INFO    ] 2026-08-29 10:58:45
[2026-08-29 10:58:45,717.717 INFO    ] 2026-08-29 10:58:45
[2026-08-29 10:58:45,754.754 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:58:45,932.932 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:58:45,945.945 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:58:46,087.087 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:58:46,095.095 INFO    ] time= 29/08/2026 10:58:46
[2026-08-29 10:58:46,100.100 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:58:46,106.106 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:58:46,173.173 INFO    ] No existing commands found in stream
[2026-08-29 10:58:51,208.208 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:58:51,211.211 INFO    ] Waiting 2.42 seconds before fallback handling...
[2026-08-29 10:58:53,989.989 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 10:58:53,991.991 INFO    ] Checking for system updates...
[2026-08-29 10:58:54,012.012 INFO    ] 200
[2026-08-29 10:58:54,013.013 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:58:54,045.045 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:58:54,046.046 INFO    ] No update needed
[2026-08-29 10:58:54,048.048 INFO    ] Checking for camera pi updates...
[2026-08-29 10:58:54,068.068 INFO    ] 200
[2026-08-29 10:58:54,069.069 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:58:54,092.092 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:58:54,198.198 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:58:54,199.199 INFO    ] No camera update needed
[2026-08-29 10:58:54,201.201 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:58:54,202.202 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:58:54,205.205 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:58:54,208.208 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:58:56,246.246 INFO    ] ================================================
[2026-08-29 10:58:56,261.261 INFO    ] Launching Daemon at Sat Aug 29 10:58:56 IST 2026
[2026-08-29 10:58:56,272.272 INFO    ] ================================================
[2026-08-29 10:58:56,739.739 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:58:56
[2026-08-29 10:58:57,327.327 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:58:57,601.601 INFO    ] Initializing speech engine...
[2026-08-29 10:58:57,610.610 INFO    ] 2026-08-29 10:58:57
[2026-08-29 10:58:57,859.859 INFO    ] 2026-08-29 10:58:57
[2026-08-29 10:58:57,895.895 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:58:58,072.072 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:58:58,083.083 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:58:58,228.228 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:58:58,237.237 INFO    ] time= 29/08/2026 10:58:58
[2026-08-29 10:58:58,242.242 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:58:58,249.249 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:58:58,317.317 INFO    ] No existing commands found in stream
[2026-08-29 10:59:03,342.342 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:59:03,345.345 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 10:59:06,803.803 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:59:06,804.804 INFO    ] Checking for system updates...
[2026-08-29 10:59:06,824.824 INFO    ] 200
[2026-08-29 10:59:06,826.826 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:59:06,857.857 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:59:06,859.859 INFO    ] No update needed
[2026-08-29 10:59:06,860.860 INFO    ] Checking for camera pi updates...
[2026-08-29 10:59:06,879.879 INFO    ] 200
[2026-08-29 10:59:06,880.880 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:59:06,906.906 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:59:06,991.991 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:59:06,993.993 INFO    ] No camera update needed
[2026-08-29 10:59:06,994.994 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:59:06,995.995 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:59:06,998.998 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:59:07,001.001 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:59:09,041.041 INFO    ] ================================================
[2026-08-29 10:59:09,057.057 INFO    ] Launching Daemon at Sat Aug 29 10:59:09 IST 2026
[2026-08-29 10:59:09,068.068 INFO    ] ================================================
[2026-08-29 10:59:09,575.575 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:59:09
[2026-08-29 10:59:10,222.222 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:59:10,518.518 INFO    ] Initializing speech engine...
[2026-08-29 10:59:10,526.526 INFO    ] 2026-08-29 10:59:10
[2026-08-29 10:59:10,808.808 INFO    ] 2026-08-29 10:59:10
[2026-08-29 10:59:10,852.852 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:59:11,074.074 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:59:11,083.083 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:59:11,216.216 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:59:11,242.242 INFO    ] time= 29/08/2026 10:59:11
[2026-08-29 10:59:11,307.307 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:59:11,350.350 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:59:11,409.409 INFO    ] No existing commands found in stream
[2026-08-29 10:59:16,421.421 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:59:16,424.424 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-08-29 10:59:20,391.391 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 10:59:20,393.393 INFO    ] Checking for system updates...
[2026-08-29 10:59:20,414.414 INFO    ] 200
[2026-08-29 10:59:20,416.416 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:59:20,448.448 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:59:20,450.450 INFO    ] No update needed
[2026-08-29 10:59:20,451.451 INFO    ] Checking for camera pi updates...
[2026-08-29 10:59:20,471.471 INFO    ] 200
[2026-08-29 10:59:20,472.472 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:59:20,497.497 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:59:20,556.556 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:59:20,557.557 INFO    ] No camera update needed
[2026-08-29 10:59:20,558.558 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:59:20,560.560 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:59:20,563.563 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:59:20,566.566 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:59:22,605.605 INFO    ] ================================================
[2026-08-29 10:59:22,621.621 INFO    ] Launching Daemon at Sat Aug 29 10:59:22 IST 2026
[2026-08-29 10:59:22,632.632 INFO    ] ================================================
[2026-08-29 10:59:22,971.971 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:59:22
[2026-08-29 10:59:23,283.283 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:59:23,426.426 INFO    ] Initializing speech engine...
[2026-08-29 10:59:23,430.430 INFO    ] 2026-08-29 10:59:23
[2026-08-29 10:59:23,635.635 INFO    ] 2026-08-29 10:59:23
[2026-08-29 10:59:23,663.663 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:59:23,787.787 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:59:23,851.851 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:59:23,988.988 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:59:24,046.046 INFO    ] time= 29/08/2026 10:59:23
[2026-08-29 10:59:24,071.071 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:59:24,087.087 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:59:24,159.159 INFO    ] No existing commands found in stream
[2026-08-29 10:59:29,169.169 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:59:29,172.172 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-08-29 10:59:30,705.705 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:59:30,706.706 INFO    ] Checking for system updates...
[2026-08-29 10:59:30,727.727 INFO    ] 200
[2026-08-29 10:59:30,728.728 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:59:30,760.760 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:59:30,762.762 INFO    ] No update needed
[2026-08-29 10:59:30,764.764 INFO    ] Checking for camera pi updates...
[2026-08-29 10:59:30,783.783 INFO    ] 200
[2026-08-29 10:59:30,785.785 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:59:30,807.807 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:59:30,898.898 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:59:30,899.899 INFO    ] No camera update needed
[2026-08-29 10:59:30,901.901 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:59:30,902.902 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:59:30,905.905 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:59:30,908.908 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:59:32,949.949 INFO    ] ================================================
[2026-08-29 10:59:32,965.965 INFO    ] Launching Daemon at Sat Aug 29 10:59:32 IST 2026
[2026-08-29 10:59:32,977.977 INFO    ] ================================================
[2026-08-29 10:59:33,561.561 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:59:33
[2026-08-29 10:59:34,160.160 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:59:34,438.438 INFO    ] Initializing speech engine...
[2026-08-29 10:59:34,445.445 INFO    ] 2026-08-29 10:59:34
[2026-08-29 10:59:34,703.703 INFO    ] 2026-08-29 10:59:34
[2026-08-29 10:59:34,757.757 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:59:34,979.979 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:59:34,988.988 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:59:35,123.123 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:59:35,163.163 INFO    ] time= 29/08/2026 10:59:35
[2026-08-29 10:59:35,207.207 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:59:35,254.254 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:59:35,314.314 INFO    ] No existing commands found in stream
[2026-08-29 10:59:40,334.334 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:59:40,337.337 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-08-29 10:59:42,798.798 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 10:59:42,800.800 INFO    ] Checking for system updates...
[2026-08-29 10:59:42,821.821 INFO    ] 200
[2026-08-29 10:59:42,823.823 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:59:42,854.854 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:59:42,855.855 INFO    ] No update needed
[2026-08-29 10:59:42,856.856 INFO    ] Checking for camera pi updates...
[2026-08-29 10:59:42,877.877 INFO    ] 200
[2026-08-29 10:59:42,879.879 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:59:42,902.902 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:59:42,984.984 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 10:59:42,987.987 INFO    ] No camera update needed
[2026-08-29 10:59:42,989.989 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:59:42,992.992 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:59:42,998.998 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:59:43,004.004 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:59:45,045.045 INFO    ] ================================================
[2026-08-29 10:59:45,060.060 INFO    ] Launching Daemon at Sat Aug 29 10:59:45 IST 2026
[2026-08-29 10:59:45,071.071 INFO    ] ================================================
[2026-08-29 10:59:45,657.657 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:59:45
[2026-08-29 10:59:46,164.164 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:59:46,296.296 INFO    ] Initializing speech engine...
[2026-08-29 10:59:46,304.304 INFO    ] 2026-08-29 10:59:46
[2026-08-29 10:59:46,497.497 INFO    ] 2026-08-29 10:59:46
[2026-08-29 10:59:46,576.576 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:59:46,724.724 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:59:46,733.733 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:59:46,865.865 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:59:46,892.892 INFO    ] time= 29/08/2026 10:59:46
[2026-08-29 10:59:46,946.946 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:59:46,997.997 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:59:47,049.049 INFO    ] No existing commands found in stream
[2026-08-29 10:59:52,062.062 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 10:59:52,065.065 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-08-29 10:59:53,007.007 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 10:59:53,008.008 INFO    ] Checking for system updates...
[2026-08-29 10:59:53,028.028 INFO    ] 200
[2026-08-29 10:59:53,030.030 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:59:53,061.061 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:59:53,063.063 INFO    ] No update needed
[2026-08-29 10:59:53,064.064 INFO    ] Checking for camera pi updates...
[2026-08-29 10:59:53,083.083 INFO    ] 200
[2026-08-29 10:59:53,085.085 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 10:59:53,108.108 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 10:59:53,220.220 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 10:59:53,222.222 INFO    ] No camera update needed
[2026-08-29 10:59:53,223.223 INFO    ] Script finished. Safe exiting...
[2026-08-29 10:59:53,225.225 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 10:59:53,227.227 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 10:59:53,230.230 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 10:59:55,272.272 INFO    ] ================================================
[2026-08-29 10:59:55,288.288 INFO    ] Launching Daemon at Sat Aug 29 10:59:55 IST 2026
[2026-08-29 10:59:55,299.299 INFO    ] ================================================
[2026-08-29 10:59:55,639.639 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 10:59:55
[2026-08-29 10:59:55,950.950 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 10:59:56,087.087 INFO    ] Initializing speech engine...
[2026-08-29 10:59:56,102.102 INFO    ] 2026-08-29 10:59:56
[2026-08-29 10:59:56,339.339 INFO    ] 2026-08-29 10:59:56
[2026-08-29 10:59:56,375.375 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 10:59:56,564.564 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 10:59:56,575.575 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 10:59:56,710.710 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 10:59:56,731.731 INFO    ] time= 29/08/2026 10:59:56
[2026-08-29 10:59:56,753.753 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 10:59:56,761.761 INFO    ] Checking for existing commands in stream...
[2026-08-29 10:59:56,837.837 INFO    ] No existing commands found in stream
[2026-08-29 11:00:01,851.851 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:00:01,856.856 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-08-29 11:00:07,326.326 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:00:07,329.329 INFO    ] Checking for system updates...
[2026-08-29 11:00:07,366.366 INFO    ] 200
[2026-08-29 11:00:07,368.368 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:00:07,420.420 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:00:07,423.423 INFO    ] No update needed
[2026-08-29 11:00:07,425.425 INFO    ] Checking for camera pi updates...
[2026-08-29 11:00:07,458.458 INFO    ] 200
[2026-08-29 11:00:07,461.461 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:00:07,502.502 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:00:07,601.601 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:00:07,603.603 INFO    ] No camera update needed
[2026-08-29 11:00:07,606.606 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:00:07,608.608 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:00:07,613.613 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:00:07,618.618 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:00:09,663.663 INFO    ] ================================================
[2026-08-29 11:00:09,679.679 INFO    ] Launching Daemon at Sat Aug 29 11:00:09 IST 2026
[2026-08-29 11:00:09,690.690 INFO    ] ================================================
[2026-08-29 11:00:10,298.298 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:00:10
[2026-08-29 11:00:10,899.899 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:00:11,180.180 INFO    ] Initializing speech engine...
[2026-08-29 11:00:11,186.186 INFO    ] 2026-08-29 11:00:11
[2026-08-29 11:00:11,448.448 INFO    ] 2026-08-29 11:00:11
[2026-08-29 11:00:11,502.502 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:00:11,727.727 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:00:11,736.736 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:00:11,869.869 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:00:11,927.927 INFO    ] time= 29/08/2026 11:00:11
[2026-08-29 11:00:11,976.976 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:00:12,005.005 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:00:12,062.062 INFO    ] No existing commands found in stream
[2026-08-29 11:00:17,073.073 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:00:17,076.076 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-08-29 11:00:19,048.048 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:00:19,049.049 INFO    ] Checking for system updates...
[2026-08-29 11:00:19,070.070 INFO    ] 200
[2026-08-29 11:00:19,071.071 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:00:19,102.102 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:00:19,103.103 INFO    ] No update needed
[2026-08-29 11:00:19,105.105 INFO    ] Checking for camera pi updates...
[2026-08-29 11:00:19,124.124 INFO    ] 200
[2026-08-29 11:00:19,125.125 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:00:19,149.149 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:00:19,322.322 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:00:19,324.324 INFO    ] No camera update needed
[2026-08-29 11:00:19,325.325 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:00:19,326.326 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:00:19,329.329 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:00:19,332.332 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:00:21,372.372 INFO    ] ================================================
[2026-08-29 11:00:21,387.387 INFO    ] Launching Daemon at Sat Aug 29 11:00:21 IST 2026
[2026-08-29 11:00:21,398.398 INFO    ] ================================================
[2026-08-29 11:00:22,039.039 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:00:22
[2026-08-29 11:00:22,540.540 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:00:22,692.692 INFO    ] Initializing speech engine...
[2026-08-29 11:00:22,697.697 INFO    ] 2026-08-29 11:00:22
[2026-08-29 11:00:22,904.904 INFO    ] 2026-08-29 11:00:22
[2026-08-29 11:00:22,934.934 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:00:23,056.056 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:00:23,094.094 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:00:23,249.249 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:00:23,306.306 INFO    ] time= 29/08/2026 11:00:23
[2026-08-29 11:00:23,345.345 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:00:23,351.351 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:00:23,422.422 INFO    ] No existing commands found in stream
[2026-08-29 11:00:28,432.432 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:00:28,436.436 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-08-29 11:00:30,450.450 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:00:30,451.451 INFO    ] Checking for system updates...
[2026-08-29 11:00:30,472.472 INFO    ] 200
[2026-08-29 11:00:30,474.474 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:00:30,506.506 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:00:30,507.507 INFO    ] No update needed
[2026-08-29 11:00:30,508.508 INFO    ] Checking for camera pi updates...
[2026-08-29 11:00:30,530.530 INFO    ] 200
[2026-08-29 11:00:30,532.532 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:00:30,555.555 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:00:30,639.639 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:00:30,641.641 INFO    ] No camera update needed
[2026-08-29 11:00:30,642.642 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:00:30,644.644 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:00:30,647.647 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:00:30,650.650 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:00:32,697.697 INFO    ] ================================================
[2026-08-29 11:00:32,716.716 INFO    ] Launching Daemon at Sat Aug 29 11:00:32 IST 2026
[2026-08-29 11:00:32,728.728 INFO    ] ================================================
[2026-08-29 11:00:33,371.371 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:00:33
[2026-08-29 11:00:33,974.974 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:00:34,250.250 INFO    ] Initializing speech engine...
[2026-08-29 11:00:34,259.259 INFO    ] 2026-08-29 11:00:34
[2026-08-29 11:00:34,525.525 INFO    ] 2026-08-29 11:00:34
[2026-08-29 11:00:34,581.581 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:00:34,803.803 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:00:34,812.812 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:00:34,947.947 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:00:34,983.983 INFO    ] time= 29/08/2026 11:00:34
[2026-08-29 11:00:35,037.037 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:00:35,079.079 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:00:35,135.135 INFO    ] No existing commands found in stream
[2026-08-29 11:00:40,147.147 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:00:40,150.150 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-08-29 11:00:40,799.799 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:00:40,800.800 INFO    ] Checking for system updates...
[2026-08-29 11:00:40,821.821 INFO    ] 200
[2026-08-29 11:00:40,822.822 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:00:40,852.852 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:00:40,854.854 INFO    ] No update needed
[2026-08-29 11:00:40,855.855 INFO    ] Checking for camera pi updates...
[2026-08-29 11:00:40,876.876 INFO    ] 200
[2026-08-29 11:00:40,878.878 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:00:40,900.900 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:00:40,946.946 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:00:40,947.947 INFO    ] No camera update needed
[2026-08-29 11:00:40,948.948 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:00:40,949.949 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:00:40,952.952 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:00:40,955.955 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:00:42,994.994 INFO    ] ================================================
[2026-08-29 11:00:43,008.008 INFO    ] Launching Daemon at Sat Aug 29 11:00:43 IST 2026
[2026-08-29 11:00:43,019.019 INFO    ] ================================================
[2026-08-29 11:00:43,387.387 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:00:43
[2026-08-29 11:00:43,722.722 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:00:43,873.873 INFO    ] Initializing speech engine...
[2026-08-29 11:00:43,878.878 INFO    ] 2026-08-29 11:00:43
[2026-08-29 11:00:44,087.087 INFO    ] 2026-08-29 11:00:44
[2026-08-29 11:00:44,116.116 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:00:44,238.238 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:00:44,270.270 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:00:44,403.403 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:00:44,452.452 INFO    ] time= 29/08/2026 11:00:44
[2026-08-29 11:00:44,511.511 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:00:44,533.533 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:00:44,605.605 INFO    ] No existing commands found in stream
[2026-08-29 11:00:49,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:00:49,624.624 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-08-29 11:00:52,869.869 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:00:52,871.871 INFO    ] Checking for system updates...
[2026-08-29 11:00:52,892.892 INFO    ] 200
[2026-08-29 11:00:52,894.894 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:00:52,926.926 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:00:52,929.929 INFO    ] No update needed
[2026-08-29 11:00:52,932.932 INFO    ] Checking for camera pi updates...
[2026-08-29 11:00:52,970.970 INFO    ] 200
[2026-08-29 11:00:52,973.973 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:00:53,014.014 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:00:53,079.079 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:00:53,082.082 INFO    ] No camera update needed
[2026-08-29 11:00:53,085.085 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:00:53,087.087 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:00:53,093.093 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:00:53,099.099 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:00:55,140.140 INFO    ] ================================================
[2026-08-29 11:00:55,155.155 INFO    ] Launching Daemon at Sat Aug 29 11:00:55 IST 2026
[2026-08-29 11:00:55,166.166 INFO    ] ================================================
[2026-08-29 11:00:55,754.754 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:00:55
[2026-08-29 11:00:56,220.220 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:00:56,489.489 INFO    ] Initializing speech engine...
[2026-08-29 11:00:56,503.503 INFO    ] 2026-08-29 11:00:56
[2026-08-29 11:00:56,785.785 INFO    ] 2026-08-29 11:00:56
[2026-08-29 11:00:56,822.822 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:00:57,042.042 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:00:57,052.052 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:00:57,188.188 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:00:57,253.253 INFO    ] time= 29/08/2026 11:00:57
[2026-08-29 11:00:57,313.313 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:00:57,323.323 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:00:57,439.439 INFO    ] No existing commands found in stream
[2026-08-29 11:01:02,470.470 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:01:02,474.474 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-08-29 11:01:06,172.172 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:01:06,175.175 INFO    ] Checking for system updates...
[2026-08-29 11:01:06,212.212 INFO    ] 200
[2026-08-29 11:01:06,215.215 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:01:06,268.268 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:01:06,271.271 INFO    ] No update needed
[2026-08-29 11:01:06,274.274 INFO    ] Checking for camera pi updates...
[2026-08-29 11:01:06,309.309 INFO    ] 200
[2026-08-29 11:01:06,311.311 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:01:06,353.353 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:01:06,448.448 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:01:06,450.450 INFO    ] No camera update needed
[2026-08-29 11:01:06,453.453 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:01:06,456.456 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:01:06,462.462 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:01:06,468.468 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:01:08,507.507 INFO    ] ================================================
[2026-08-29 11:01:08,522.522 INFO    ] Launching Daemon at Sat Aug 29 11:01:08 IST 2026
[2026-08-29 11:01:08,534.534 INFO    ] ================================================
[2026-08-29 11:01:09,125.125 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:01:09
[2026-08-29 11:01:09,510.510 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:01:09,649.649 INFO    ] Initializing speech engine...
[2026-08-29 11:01:09,659.659 INFO    ] 2026-08-29 11:01:09
[2026-08-29 11:01:09,864.864 INFO    ] 2026-08-29 11:01:09
[2026-08-29 11:01:09,893.893 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:01:10,076.076 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:01:10,085.085 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:01:10,225.225 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:01:10,278.278 INFO    ] time= 29/08/2026 11:01:10
[2026-08-29 11:01:10,306.306 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:01:10,312.312 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:01:10,377.377 INFO    ] No existing commands found in stream
[2026-08-29 11:01:15,388.388 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:01:15,391.391 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 11:01:17,526.526 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:01:17,527.527 INFO    ] Checking for system updates...
[2026-08-29 11:01:17,548.548 INFO    ] 200
[2026-08-29 11:01:17,549.549 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:01:17,579.579 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:01:17,580.580 INFO    ] No update needed
[2026-08-29 11:01:17,581.581 INFO    ] Checking for camera pi updates...
[2026-08-29 11:01:17,601.601 INFO    ] 200
[2026-08-29 11:01:17,602.602 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:01:17,625.625 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:01:17,714.714 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:01:17,715.715 INFO    ] No camera update needed
[2026-08-29 11:01:17,717.717 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:01:17,718.718 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:01:17,721.721 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:01:17,724.724 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:01:19,764.764 INFO    ] ================================================
[2026-08-29 11:01:19,779.779 INFO    ] Launching Daemon at Sat Aug 29 11:01:19 IST 2026
[2026-08-29 11:01:19,790.790 INFO    ] ================================================
[2026-08-29 11:01:20,144.144 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:01:20
[2026-08-29 11:01:20,456.456 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:01:20,588.588 INFO    ] Initializing speech engine...
[2026-08-29 11:01:20,601.601 INFO    ] 2026-08-29 11:01:20
[2026-08-29 11:01:20,806.806 INFO    ] 2026-08-29 11:01:20
[2026-08-29 11:01:20,870.870 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:01:21,020.020 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:01:21,029.029 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:01:21,167.167 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:01:21,226.226 INFO    ] time= 29/08/2026 11:01:21
[2026-08-29 11:01:21,276.276 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:01:21,302.302 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:01:21,372.372 INFO    ] No existing commands found in stream
[2026-08-29 11:01:26,408.408 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:01:26,410.410 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 11:01:27,659.659 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:01:27,660.660 INFO    ] Checking for system updates...
[2026-08-29 11:01:27,681.681 INFO    ] 200
[2026-08-29 11:01:27,682.682 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:01:27,711.711 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:01:27,713.713 INFO    ] No update needed
[2026-08-29 11:01:27,714.714 INFO    ] Checking for camera pi updates...
[2026-08-29 11:01:27,751.751 INFO    ] 200
[2026-08-29 11:01:27,753.753 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:01:27,795.795 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:01:27,878.878 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:01:27,881.881 INFO    ] No camera update needed
[2026-08-29 11:01:27,883.883 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:01:27,885.885 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:01:27,891.891 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:01:27,896.896 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:01:29,937.937 INFO    ] ================================================
[2026-08-29 11:01:29,952.952 INFO    ] Launching Daemon at Sat Aug 29 11:01:29 IST 2026
[2026-08-29 11:01:29,963.963 INFO    ] ================================================
[2026-08-29 11:01:30,535.535 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:01:30
[2026-08-29 11:01:30,994.994 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:01:31,126.126 INFO    ] Initializing speech engine...
[2026-08-29 11:01:31,131.131 INFO    ] 2026-08-29 11:01:31
[2026-08-29 11:01:31,360.360 INFO    ] 2026-08-29 11:01:31
[2026-08-29 11:01:31,391.391 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:01:31,527.527 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:01:31,555.555 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:01:31,703.703 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:01:31,714.714 INFO    ] time= 29/08/2026 11:01:31
[2026-08-29 11:01:31,722.722 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:01:31,734.734 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:01:31,849.849 INFO    ] No existing commands found in stream
[2026-08-29 11:01:36,875.875 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:01:36,878.878 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-08-29 11:01:40,009.009 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:01:40,010.010 INFO    ] Checking for system updates...
[2026-08-29 11:01:40,031.031 INFO    ] 200
[2026-08-29 11:01:40,032.032 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:01:40,061.061 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:01:40,063.063 INFO    ] No update needed
[2026-08-29 11:01:40,064.064 INFO    ] Checking for camera pi updates...
[2026-08-29 11:01:40,083.083 INFO    ] 200
[2026-08-29 11:01:40,085.085 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:01:40,110.110 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:01:40,197.197 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:01:40,198.198 INFO    ] No camera update needed
[2026-08-29 11:01:40,200.200 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:01:40,201.201 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:01:40,204.204 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:01:40,207.207 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:01:42,248.248 INFO    ] ================================================
[2026-08-29 11:01:42,263.263 INFO    ] Launching Daemon at Sat Aug 29 11:01:42 IST 2026
[2026-08-29 11:01:42,275.275 INFO    ] ================================================
[2026-08-29 11:01:42,640.640 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:01:42
[2026-08-29 11:01:42,951.951 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:01:43,119.119 INFO    ] Initializing speech engine...
[2026-08-29 11:01:43,127.127 INFO    ] 2026-08-29 11:01:43
[2026-08-29 11:01:43,423.423 INFO    ] 2026-08-29 11:01:43
[2026-08-29 11:01:43,460.460 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:01:43,604.604 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:01:43,610.610 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:01:43,765.765 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:01:43,775.775 INFO    ] time= 29/08/2026 11:01:43
[2026-08-29 11:01:43,778.778 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:01:43,784.784 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:01:43,855.855 INFO    ] No existing commands found in stream
[2026-08-29 11:01:48,865.865 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:01:48,868.868 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-08-29 11:01:51,243.243 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:01:51,246.246 INFO    ] Checking for system updates...
[2026-08-29 11:01:51,284.284 INFO    ] 200
[2026-08-29 11:01:51,286.286 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:01:51,330.330 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:01:51,332.332 INFO    ] No update needed
[2026-08-29 11:01:51,333.333 INFO    ] Checking for camera pi updates...
[2026-08-29 11:01:51,353.353 INFO    ] 200
[2026-08-29 11:01:51,354.354 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:01:51,378.378 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:01:51,458.458 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:01:51,460.460 INFO    ] No camera update needed
[2026-08-29 11:01:51,461.461 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:01:51,463.463 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:01:51,466.466 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:01:51,469.469 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:01:53,511.511 INFO    ] ================================================
[2026-08-29 11:01:53,525.525 INFO    ] Launching Daemon at Sat Aug 29 11:01:53 IST 2026
[2026-08-29 11:01:53,536.536 INFO    ] ================================================
[2026-08-29 11:01:53,926.926 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:01:53
[2026-08-29 11:01:54,264.264 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:01:54,415.415 INFO    ] Initializing speech engine...
[2026-08-29 11:01:54,420.420 INFO    ] 2026-08-29 11:01:54
[2026-08-29 11:01:54,628.628 INFO    ] 2026-08-29 11:01:54
[2026-08-29 11:01:54,657.657 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:01:54,966.966 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:01:55,027.027 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:01:55,162.162 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:01:55,164.164 INFO    ] time= 29/08/2026 11:01:55
[2026-08-29 11:01:55,191.191 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:01:55,195.195 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:01:55,264.264 INFO    ] No existing commands found in stream
[2026-08-29 11:02:00,275.275 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:02:00,283.283 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-08-29 11:02:02,498.498 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:02:02,501.501 INFO    ] Checking for system updates...
[2026-08-29 11:02:02,549.549 INFO    ] 200
[2026-08-29 11:02:02,552.552 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:02:02,615.615 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:02:02,618.618 INFO    ] No update needed
[2026-08-29 11:02:02,620.620 INFO    ] Checking for camera pi updates...
[2026-08-29 11:02:02,660.660 INFO    ] 200
[2026-08-29 11:02:02,663.663 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:02:02,706.706 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:02:02,814.814 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:02:02,817.817 INFO    ] No camera update needed
[2026-08-29 11:02:02,819.819 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:02:02,821.821 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:02:02,826.826 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:02:02,831.831 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:02:04,872.872 INFO    ] ================================================
[2026-08-29 11:02:04,887.887 INFO    ] Launching Daemon at Sat Aug 29 11:02:04 IST 2026
[2026-08-29 11:02:04,898.898 INFO    ] ================================================
[2026-08-29 11:02:05,287.287 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:02:05
[2026-08-29 11:02:05,627.627 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:02:05,778.778 INFO    ] Initializing speech engine...
[2026-08-29 11:02:05,783.783 INFO    ] 2026-08-29 11:02:05
[2026-08-29 11:02:05,996.996 INFO    ] 2026-08-29 11:02:05
[2026-08-29 11:02:06,088.088 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:02:06,238.238 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:02:06,247.247 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:02:06,381.381 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:02:06,429.429 INFO    ] time= 29/08/2026 11:02:06
[2026-08-29 11:02:06,483.483 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:02:06,519.519 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:02:06,563.563 INFO    ] No existing commands found in stream
[2026-08-29 11:02:11,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:02:11,577.577 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-08-29 11:02:13,450.450 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:02:13,452.452 INFO    ] Checking for system updates...
[2026-08-29 11:02:13,473.473 INFO    ] 200
[2026-08-29 11:02:13,474.474 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:02:13,506.506 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:02:13,507.507 INFO    ] No update needed
[2026-08-29 11:02:13,509.509 INFO    ] Checking for camera pi updates...
[2026-08-29 11:02:13,544.544 INFO    ] 200
[2026-08-29 11:02:13,546.546 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:02:13,587.587 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:02:13,687.687 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:02:13,689.689 INFO    ] No camera update needed
[2026-08-29 11:02:13,692.692 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:02:13,694.694 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:02:13,700.700 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:02:13,705.705 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:02:15,745.745 INFO    ] ================================================
[2026-08-29 11:02:15,760.760 INFO    ] Launching Daemon at Sat Aug 29 11:02:15 IST 2026
[2026-08-29 11:02:15,770.770 INFO    ] ================================================
[2026-08-29 11:02:16,424.424 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:02:16
[2026-08-29 11:02:16,870.870 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:02:17,021.021 INFO    ] Initializing speech engine...
[2026-08-29 11:02:17,027.027 INFO    ] 2026-08-29 11:02:17
[2026-08-29 11:02:17,238.238 INFO    ] 2026-08-29 11:02:17
[2026-08-29 11:02:17,267.267 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:02:17,390.390 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:02:17,429.429 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:02:17,593.593 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:02:17,661.661 INFO    ] time= 29/08/2026 11:02:17
[2026-08-29 11:02:17,686.686 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:02:17,693.693 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:02:17,761.761 INFO    ] No existing commands found in stream
[2026-08-29 11:02:22,770.770 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:02:22,774.774 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-08-29 11:02:25,250.250 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:02:25,252.252 INFO    ] Checking for system updates...
[2026-08-29 11:02:25,273.273 INFO    ] 200
[2026-08-29 11:02:25,274.274 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:02:25,306.306 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:02:25,307.307 INFO    ] No update needed
[2026-08-29 11:02:25,309.309 INFO    ] Checking for camera pi updates...
[2026-08-29 11:02:25,329.329 INFO    ] 200
[2026-08-29 11:02:25,330.330 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:02:25,355.355 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:02:25,542.542 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:02:25,543.543 INFO    ] No camera update needed
[2026-08-29 11:02:25,545.545 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:02:25,546.546 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:02:25,549.549 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:02:25,551.551 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:02:27,589.589 INFO    ] ================================================
[2026-08-29 11:02:27,604.604 INFO    ] Launching Daemon at Sat Aug 29 11:02:27 IST 2026
[2026-08-29 11:02:27,615.615 INFO    ] ================================================
[2026-08-29 11:02:28,194.194 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:02:28
[2026-08-29 11:02:28,784.784 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:02:29,033.033 INFO    ] Initializing speech engine...
[2026-08-29 11:02:29,048.048 INFO    ] 2026-08-29 11:02:29
[2026-08-29 11:02:29,316.316 INFO    ] 2026-08-29 11:02:29
[2026-08-29 11:02:29,350.350 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:02:29,526.526 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:02:29,541.541 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:02:29,680.680 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:02:29,694.694 INFO    ] time= 29/08/2026 11:02:29
[2026-08-29 11:02:29,698.698 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:02:29,704.704 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:02:29,773.773 INFO    ] No existing commands found in stream
[2026-08-29 11:02:34,792.792 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:02:34,795.795 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-08-29 11:02:36,849.849 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:02:36,852.852 INFO    ] Checking for system updates...
[2026-08-29 11:02:36,891.891 INFO    ] 200
[2026-08-29 11:02:36,894.894 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:02:36,946.946 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:02:36,948.948 INFO    ] No update needed
[2026-08-29 11:02:36,951.951 INFO    ] Checking for camera pi updates...
[2026-08-29 11:02:36,984.984 INFO    ] 200
[2026-08-29 11:02:36,987.987 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:02:37,027.027 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:02:37,118.118 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:02:37,120.120 INFO    ] No camera update needed
[2026-08-29 11:02:37,123.123 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:02:37,125.125 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:02:37,130.130 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:02:37,135.135 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:02:39,176.176 INFO    ] ================================================
[2026-08-29 11:02:39,191.191 INFO    ] Launching Daemon at Sat Aug 29 11:02:39 IST 2026
[2026-08-29 11:02:39,202.202 INFO    ] ================================================
[2026-08-29 11:02:39,557.557 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:02:39
[2026-08-29 11:02:39,896.896 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:02:40,050.050 INFO    ] Initializing speech engine...
[2026-08-29 11:02:40,056.056 INFO    ] 2026-08-29 11:02:40
[2026-08-29 11:02:40,264.264 INFO    ] 2026-08-29 11:02:40
[2026-08-29 11:02:40,293.293 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:02:40,430.430 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:02:40,478.478 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:02:40,616.616 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:02:40,682.682 INFO    ] time= 29/08/2026 11:02:40
[2026-08-29 11:02:40,706.706 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:02:40,713.713 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:02:40,781.781 INFO    ] No existing commands found in stream
[2026-08-29 11:02:45,795.795 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:02:45,799.799 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-08-29 11:02:49,523.523 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:02:49,524.524 INFO    ] Checking for system updates...
[2026-08-29 11:02:49,545.545 INFO    ] 200
[2026-08-29 11:02:49,546.546 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:02:49,576.576 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:02:49,577.577 INFO    ] No update needed
[2026-08-29 11:02:49,582.582 INFO    ] Checking for camera pi updates...
[2026-08-29 11:02:49,602.602 INFO    ] 200
[2026-08-29 11:02:49,604.604 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:02:49,629.629 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:02:49,733.733 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:02:49,735.735 INFO    ] No camera update needed
[2026-08-29 11:02:49,736.736 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:02:49,737.737 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:02:49,741.741 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:02:49,744.744 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:02:51,783.783 INFO    ] ================================================
[2026-08-29 11:02:51,799.799 INFO    ] Launching Daemon at Sat Aug 29 11:02:51 IST 2026
[2026-08-29 11:02:51,809.809 INFO    ] ================================================
[2026-08-29 11:02:52,163.163 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:02:52
[2026-08-29 11:02:52,499.499 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:02:52,646.646 INFO    ] Initializing speech engine...
[2026-08-29 11:02:52,657.657 INFO    ] 2026-08-29 11:02:52
[2026-08-29 11:02:52,868.868 INFO    ] 2026-08-29 11:02:52
[2026-08-29 11:02:52,897.897 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:02:53,037.037 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:02:53,086.086 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:02:53,247.247 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:02:53,298.298 INFO    ] time= 29/08/2026 11:02:53
[2026-08-29 11:02:53,320.320 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:02:53,327.327 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:02:53,395.395 INFO    ] No existing commands found in stream
[2026-08-29 11:02:58,405.405 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:02:58,408.408 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-08-29 11:03:02,044.044 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:03:02,049.049 INFO    ] Checking for system updates...
[2026-08-29 11:03:02,122.122 INFO    ] 200
[2026-08-29 11:03:02,125.125 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:03:02,222.222 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:03:02,226.226 INFO    ] No update needed
[2026-08-29 11:03:02,229.229 INFO    ] Checking for camera pi updates...
[2026-08-29 11:03:02,270.270 INFO    ] 200
[2026-08-29 11:03:02,274.274 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:03:02,327.327 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:03:02,422.422 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:03:02,426.426 INFO    ] No camera update needed
[2026-08-29 11:03:02,430.430 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:03:02,434.434 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:03:02,444.444 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:03:02,452.452 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:03:04,496.496 INFO    ] ================================================
[2026-08-29 11:03:04,511.511 INFO    ] Launching Daemon at Sat Aug 29 11:03:04 IST 2026
[2026-08-29 11:03:04,521.521 INFO    ] ================================================
[2026-08-29 11:03:05,093.093 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:03:05
[2026-08-29 11:03:05,430.430 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:03:05,709.709 INFO    ] Initializing speech engine...
[2026-08-29 11:03:05,715.715 INFO    ] 2026-08-29 11:03:05
[2026-08-29 11:03:05,987.987 INFO    ] 2026-08-29 11:03:05
[2026-08-29 11:03:06,044.044 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:03:06,273.273 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:03:06,282.282 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:03:06,419.419 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:03:06,472.472 INFO    ] time= 29/08/2026 11:03:06
[2026-08-29 11:03:06,521.521 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:03:06,559.559 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:03:06,633.633 INFO    ] No existing commands found in stream
[2026-08-29 11:03:11,671.671 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:03:11,674.674 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-08-29 11:03:15,931.931 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:03:15,933.933 INFO    ] Checking for system updates...
[2026-08-29 11:03:15,954.954 INFO    ] 200
[2026-08-29 11:03:15,956.956 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:03:15,988.988 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:03:15,989.989 INFO    ] No update needed
[2026-08-29 11:03:15,990.990 INFO    ] Checking for camera pi updates...
[2026-08-29 11:03:16,013.013 INFO    ] 200
[2026-08-29 11:03:16,014.014 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:03:16,037.037 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:03:16,138.138 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:03:16,140.140 INFO    ] No camera update needed
[2026-08-29 11:03:16,141.141 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:03:16,142.142 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:03:16,146.146 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:03:16,149.149 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:03:18,188.188 INFO    ] ================================================
[2026-08-29 11:03:18,203.203 INFO    ] Launching Daemon at Sat Aug 29 11:03:18 IST 2026
[2026-08-29 11:03:18,214.214 INFO    ] ================================================
[2026-08-29 11:03:18,571.571 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:03:18
[2026-08-29 11:03:18,885.885 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:03:19,028.028 INFO    ] Initializing speech engine...
[2026-08-29 11:03:19,034.034 INFO    ] 2026-08-29 11:03:19
[2026-08-29 11:03:19,237.237 INFO    ] 2026-08-29 11:03:19
[2026-08-29 11:03:19,276.276 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:03:19,438.438 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:03:19,446.446 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:03:19,609.609 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:03:19,645.645 INFO    ] time= 29/08/2026 11:03:19
[2026-08-29 11:03:19,656.656 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:03:19,672.672 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:03:19,778.778 INFO    ] No existing commands found in stream
[2026-08-29 11:03:24,803.803 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:03:24,806.806 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-08-29 11:03:28,970.970 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:03:28,972.972 INFO    ] Checking for system updates...
[2026-08-29 11:03:28,992.992 INFO    ] 200
[2026-08-29 11:03:28,994.994 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:03:29,023.023 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:03:29,025.025 INFO    ] No update needed
[2026-08-29 11:03:29,026.026 INFO    ] Checking for camera pi updates...
[2026-08-29 11:03:29,045.045 INFO    ] 200
[2026-08-29 11:03:29,046.046 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:03:29,069.069 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:03:29,144.144 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:03:29,146.146 INFO    ] No camera update needed
[2026-08-29 11:03:29,147.147 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:03:29,148.148 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:03:29,151.151 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:03:29,154.154 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:03:31,185.185 INFO    ] ================================================
[2026-08-29 11:03:31,201.201 INFO    ] Launching Daemon at Sat Aug 29 11:03:31 IST 2026
[2026-08-29 11:03:31,211.211 INFO    ] ================================================
[2026-08-29 11:03:31,782.782 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:03:31
[2026-08-29 11:03:32,393.393 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:03:32,669.669 INFO    ] Initializing speech engine...
[2026-08-29 11:03:32,688.688 INFO    ] 2026-08-29 11:03:32
[2026-08-29 11:03:32,957.957 INFO    ] 2026-08-29 11:03:32
[2026-08-29 11:03:32,992.992 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:03:33,144.144 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:03:33,153.153 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:03:33,310.310 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:03:33,317.317 INFO    ] time= 29/08/2026 11:03:33
[2026-08-29 11:03:33,324.324 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:03:33,329.329 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:03:33,386.386 INFO    ] No existing commands found in stream
[2026-08-29 11:03:38,395.395 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:03:38,397.397 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-08-29 11:03:42,200.200 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:03:42,203.203 INFO    ] Checking for system updates...
[2026-08-29 11:03:42,238.238 INFO    ] 200
[2026-08-29 11:03:42,241.241 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:03:42,297.297 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:03:42,300.300 INFO    ] No update needed
[2026-08-29 11:03:42,302.302 INFO    ] Checking for camera pi updates...
[2026-08-29 11:03:42,335.335 INFO    ] 200
[2026-08-29 11:03:42,337.337 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:03:42,385.385 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:03:42,476.476 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:03:42,479.479 INFO    ] No camera update needed
[2026-08-29 11:03:42,481.481 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:03:42,483.483 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:03:42,489.489 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:03:42,493.493 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:03:44,533.533 INFO    ] ================================================
[2026-08-29 11:03:44,548.548 INFO    ] Launching Daemon at Sat Aug 29 11:03:44 IST 2026
[2026-08-29 11:03:44,559.559 INFO    ] ================================================
[2026-08-29 11:03:45,037.037 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:03:45
[2026-08-29 11:03:45,365.365 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:03:45,513.513 INFO    ] Initializing speech engine...
[2026-08-29 11:03:45,519.519 INFO    ] 2026-08-29 11:03:45
[2026-08-29 11:03:45,713.713 INFO    ] 2026-08-29 11:03:45
[2026-08-29 11:03:45,737.737 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:03:45,859.859 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:03:45,893.893 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:03:46,038.038 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:03:46,061.061 INFO    ] time= 29/08/2026 11:03:46
[2026-08-29 11:03:46,107.107 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:03:46,166.166 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:03:46,279.279 INFO    ] No existing commands found in stream
[2026-08-29 11:03:51,290.290 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:03:51,293.293 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 11:03:54,817.817 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:03:54,819.819 INFO    ] Checking for system updates...
[2026-08-29 11:03:54,839.839 INFO    ] 200
[2026-08-29 11:03:54,840.840 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:03:54,870.870 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:03:54,872.872 INFO    ] No update needed
[2026-08-29 11:03:54,873.873 INFO    ] Checking for camera pi updates...
[2026-08-29 11:03:54,892.892 INFO    ] 200
[2026-08-29 11:03:54,893.893 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:03:54,918.918 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:03:54,999.999 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:03:55,001.001 INFO    ] No camera update needed
[2026-08-29 11:03:55,002.002 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:03:55,003.003 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:03:55,006.006 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:03:55,009.009 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:03:57,046.046 INFO    ] ================================================
[2026-08-29 11:03:57,061.061 INFO    ] Launching Daemon at Sat Aug 29 11:03:57 IST 2026
[2026-08-29 11:03:57,072.072 INFO    ] ================================================
[2026-08-29 11:03:57,568.568 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:03:57
[2026-08-29 11:03:58,168.168 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:03:58,429.429 INFO    ] Initializing speech engine...
[2026-08-29 11:03:58,454.454 INFO    ] 2026-08-29 11:03:58
[2026-08-29 11:03:58,723.723 INFO    ] 2026-08-29 11:03:58
[2026-08-29 11:03:58,758.758 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:03:58,948.948 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:03:58,962.962 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:03:59,116.116 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:03:59,127.127 INFO    ] time= 29/08/2026 11:03:59
[2026-08-29 11:03:59,133.133 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:03:59,138.138 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:03:59,208.208 INFO    ] No existing commands found in stream
[2026-08-29 11:04:04,220.220 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:04:04,223.223 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-08-29 11:04:07,964.964 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:04:07,966.966 INFO    ] Checking for system updates...
[2026-08-29 11:04:07,986.986 INFO    ] 200
[2026-08-29 11:04:07,987.987 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:04:08,019.019 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:04:08,020.020 INFO    ] No update needed
[2026-08-29 11:04:08,021.021 INFO    ] Checking for camera pi updates...
[2026-08-29 11:04:08,041.041 INFO    ] 200
[2026-08-29 11:04:08,043.043 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:04:08,066.066 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:04:08,155.155 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:04:08,156.156 INFO    ] No camera update needed
[2026-08-29 11:04:08,157.157 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:04:08,159.159 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:04:08,162.162 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:04:08,164.164 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:04:10,204.204 INFO    ] ================================================
[2026-08-29 11:04:10,220.220 INFO    ] Launching Daemon at Sat Aug 29 11:04:10 IST 2026
[2026-08-29 11:04:10,231.231 INFO    ] ================================================
[2026-08-29 11:04:10,582.582 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:04:10
[2026-08-29 11:04:10,893.893 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:04:11,033.033 INFO    ] Initializing speech engine...
[2026-08-29 11:04:11,043.043 INFO    ] 2026-08-29 11:04:11
[2026-08-29 11:04:11,255.255 INFO    ] 2026-08-29 11:04:11
[2026-08-29 11:04:11,284.284 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:04:11,413.413 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:04:11,447.447 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:04:11,598.598 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:04:11,629.629 INFO    ] time= 29/08/2026 11:04:11
[2026-08-29 11:04:11,699.699 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:04:11,724.724 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:04:11,800.800 INFO    ] No existing commands found in stream
[2026-08-29 11:04:16,808.808 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:04:16,811.811 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-08-29 11:04:19,798.798 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:04:19,799.799 INFO    ] Checking for system updates...
[2026-08-29 11:04:19,821.821 INFO    ] 200
[2026-08-29 11:04:19,822.822 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:04:19,852.852 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:04:19,853.853 INFO    ] No update needed
[2026-08-29 11:04:19,854.854 INFO    ] Checking for camera pi updates...
[2026-08-29 11:04:19,874.874 INFO    ] 200
[2026-08-29 11:04:19,875.875 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:04:19,898.898 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:04:19,997.997 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:04:19,998.998 INFO    ] No camera update needed
[2026-08-29 11:04:19,999.999 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:04:20,000.000 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:04:20,003.003 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:04:20,006.006 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:04:22,045.045 INFO    ] ================================================
[2026-08-29 11:04:22,061.061 INFO    ] Launching Daemon at Sat Aug 29 11:04:22 IST 2026
[2026-08-29 11:04:22,072.072 INFO    ] ================================================
[2026-08-29 11:04:22,593.593 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:04:22
[2026-08-29 11:04:23,193.193 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:04:23,453.453 INFO    ] Initializing speech engine...
[2026-08-29 11:04:23,469.469 INFO    ] 2026-08-29 11:04:23
[2026-08-29 11:04:23,750.750 INFO    ] 2026-08-29 11:04:23
[2026-08-29 11:04:23,786.786 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:04:23,975.975 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:04:23,981.981 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:04:24,086.086 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:04:24,091.091 INFO    ] time= 29/08/2026 11:04:24
[2026-08-29 11:04:24,114.114 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:04:24,119.119 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:04:24,171.171 INFO    ] No existing commands found in stream
[2026-08-29 11:04:29,184.184 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:04:29,186.186 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-08-29 11:04:31,563.563 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:04:31,565.565 INFO    ] Checking for system updates...
[2026-08-29 11:04:31,585.585 INFO    ] 200
[2026-08-29 11:04:31,587.587 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:04:31,617.617 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:04:31,618.618 INFO    ] No update needed
[2026-08-29 11:04:31,619.619 INFO    ] Checking for camera pi updates...
[2026-08-29 11:04:31,639.639 INFO    ] 200
[2026-08-29 11:04:31,641.641 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:04:31,667.667 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:04:31,856.856 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:04:31,858.858 INFO    ] No camera update needed
[2026-08-29 11:04:31,859.859 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:04:31,860.860 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:04:31,864.864 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:04:31,866.866 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:04:33,906.906 INFO    ] ================================================
[2026-08-29 11:04:33,922.922 INFO    ] Launching Daemon at Sat Aug 29 11:04:33 IST 2026
[2026-08-29 11:04:33,933.933 INFO    ] ================================================
[2026-08-29 11:04:34,508.508 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:04:34
[2026-08-29 11:04:35,064.064 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:04:35,204.204 INFO    ] Initializing speech engine...
[2026-08-29 11:04:35,208.208 INFO    ] 2026-08-29 11:04:35
[2026-08-29 11:04:35,488.488 INFO    ] 2026-08-29 11:04:35
[2026-08-29 11:04:35,523.523 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:04:35,706.706 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:04:35,716.716 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:04:35,845.845 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:04:35,851.851 INFO    ] time= 29/08/2026 11:04:35
[2026-08-29 11:04:35,870.870 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:04:35,891.891 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:04:35,970.970 INFO    ] No existing commands found in stream
[2026-08-29 11:04:40,983.983 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:04:40,986.986 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-08-29 11:04:43,549.549 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:04:43,550.550 INFO    ] Checking for system updates...
[2026-08-29 11:04:43,571.571 INFO    ] 200
[2026-08-29 11:04:43,573.573 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:04:43,604.604 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:04:43,606.606 INFO    ] No update needed
[2026-08-29 11:04:43,607.607 INFO    ] Checking for camera pi updates...
[2026-08-29 11:04:43,626.626 INFO    ] 200
[2026-08-29 11:04:43,628.628 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:04:43,651.651 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:04:43,754.754 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:04:43,755.755 INFO    ] No camera update needed
[2026-08-29 11:04:43,756.756 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:04:43,758.758 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:04:43,761.761 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:04:43,764.764 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:04:45,802.802 INFO    ] ================================================
[2026-08-29 11:04:45,817.817 INFO    ] Launching Daemon at Sat Aug 29 11:04:45 IST 2026
[2026-08-29 11:04:45,828.828 INFO    ] ================================================
[2026-08-29 11:04:46,176.176 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:04:46
[2026-08-29 11:04:46,505.505 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:04:46,656.656 INFO    ] Initializing speech engine...
[2026-08-29 11:04:46,660.660 INFO    ] 2026-08-29 11:04:46
[2026-08-29 11:04:46,864.864 INFO    ] 2026-08-29 11:04:46
[2026-08-29 11:04:46,892.892 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:04:47,014.014 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:04:47,072.072 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:04:47,242.242 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:04:47,297.297 INFO    ] time= 29/08/2026 11:04:47
[2026-08-29 11:04:47,326.326 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:04:47,390.390 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:04:47,500.500 INFO    ] No existing commands found in stream
[2026-08-29 11:04:52,510.510 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:04:52,513.513 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-08-29 11:04:54,078.078 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:04:54,080.080 INFO    ] Checking for system updates...
[2026-08-29 11:04:54,100.100 INFO    ] 200
[2026-08-29 11:04:54,102.102 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:04:54,133.133 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:04:54,134.134 INFO    ] No update needed
[2026-08-29 11:04:54,136.136 INFO    ] Checking for camera pi updates...
[2026-08-29 11:04:54,157.157 INFO    ] 200
[2026-08-29 11:04:54,159.159 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:04:54,186.186 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:04:54,278.278 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:04:54,280.280 INFO    ] No camera update needed
[2026-08-29 11:04:54,283.283 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:04:54,285.285 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:04:54,291.291 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:04:54,297.297 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:04:56,337.337 INFO    ] ================================================
[2026-08-29 11:04:56,352.352 INFO    ] Launching Daemon at Sat Aug 29 11:04:56 IST 2026
[2026-08-29 11:04:56,362.362 INFO    ] ================================================
[2026-08-29 11:04:56,951.951 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:04:56
[2026-08-29 11:04:57,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:04:57,578.578 INFO    ] Initializing speech engine...
[2026-08-29 11:04:57,586.586 INFO    ] 2026-08-29 11:04:57
[2026-08-29 11:04:57,793.793 INFO    ] 2026-08-29 11:04:57
[2026-08-29 11:04:57,822.822 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:04:57,944.944 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:04:58,007.007 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:04:58,147.147 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:04:58,187.187 INFO    ] time= 29/08/2026 11:04:58
[2026-08-29 11:04:58,242.242 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:04:58,269.269 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:04:58,385.385 INFO    ] No existing commands found in stream
[2026-08-29 11:05:03,414.414 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:05:03,417.417 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-08-29 11:05:07,743.743 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:05:07,745.745 INFO    ] Checking for system updates...
[2026-08-29 11:05:07,768.768 INFO    ] 200
[2026-08-29 11:05:07,769.769 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:05:07,806.806 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:05:07,809.809 INFO    ] No update needed
[2026-08-29 11:05:07,811.811 INFO    ] Checking for camera pi updates...
[2026-08-29 11:05:07,844.844 INFO    ] 200
[2026-08-29 11:05:07,847.847 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:05:07,891.891 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:05:07,972.972 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:05:07,975.975 INFO    ] No camera update needed
[2026-08-29 11:05:07,977.977 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:05:07,979.979 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:05:07,984.984 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:05:07,989.989 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:05:10,030.030 INFO    ] ================================================
[2026-08-29 11:05:10,045.045 INFO    ] Launching Daemon at Sat Aug 29 11:05:10 IST 2026
[2026-08-29 11:05:10,056.056 INFO    ] ================================================
[2026-08-29 11:05:10,676.676 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:05:10
[2026-08-29 11:05:11,127.127 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:05:11,276.276 INFO    ] Initializing speech engine...
[2026-08-29 11:05:11,281.281 INFO    ] 2026-08-29 11:05:11
[2026-08-29 11:05:11,498.498 INFO    ] 2026-08-29 11:05:11
[2026-08-29 11:05:11,554.554 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:05:11,704.704 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:05:11,713.713 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:05:11,849.849 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:05:11,897.897 INFO    ] time= 29/08/2026 11:05:11
[2026-08-29 11:05:11,951.951 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:05:11,987.987 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:05:12,041.041 INFO    ] No existing commands found in stream
[2026-08-29 11:05:17,053.053 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:05:17,056.056 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-08-29 11:05:20,655.655 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:05:20,656.656 INFO    ] Checking for system updates...
[2026-08-29 11:05:20,676.676 INFO    ] 200
[2026-08-29 11:05:20,678.678 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:05:20,709.709 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:05:20,710.710 INFO    ] No update needed
[2026-08-29 11:05:20,712.712 INFO    ] Checking for camera pi updates...
[2026-08-29 11:05:20,731.731 INFO    ] 200
[2026-08-29 11:05:20,733.733 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:05:20,756.756 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:05:20,861.861 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:05:20,863.863 INFO    ] No camera update needed
[2026-08-29 11:05:20,864.864 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:05:20,865.865 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:05:20,868.868 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:05:20,871.871 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:05:22,909.909 INFO    ] ================================================
[2026-08-29 11:05:22,924.924 INFO    ] Launching Daemon at Sat Aug 29 11:05:22 IST 2026
[2026-08-29 11:05:22,935.935 INFO    ] ================================================
[2026-08-29 11:05:23,459.459 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:05:23
[2026-08-29 11:05:24,045.045 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:05:24,294.294 INFO    ] Initializing speech engine...
[2026-08-29 11:05:24,308.308 INFO    ] 2026-08-29 11:05:24
[2026-08-29 11:05:24,587.587 INFO    ] 2026-08-29 11:05:24
[2026-08-29 11:05:24,623.623 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:05:24,812.812 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:05:24,824.824 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:05:24,964.964 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:05:24,972.972 INFO    ] time= 29/08/2026 11:05:24
[2026-08-29 11:05:24,979.979 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:05:25,004.004 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:05:25,129.129 INFO    ] No existing commands found in stream
[2026-08-29 11:05:30,154.154 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:05:30,157.157 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-08-29 11:05:32,971.971 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:05:32,973.973 INFO    ] Checking for system updates...
[2026-08-29 11:05:33,009.009 INFO    ] 200
[2026-08-29 11:05:33,011.011 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:05:33,072.072 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:05:33,074.074 INFO    ] No update needed
[2026-08-29 11:05:33,077.077 INFO    ] Checking for camera pi updates...
[2026-08-29 11:05:33,110.110 INFO    ] 200
[2026-08-29 11:05:33,113.113 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:05:33,153.153 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:05:33,280.280 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:05:33,282.282 INFO    ] No camera update needed
[2026-08-29 11:05:33,285.285 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:05:33,287.287 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:05:33,292.292 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:05:33,297.297 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:05:35,338.338 INFO    ] ================================================
[2026-08-29 11:05:35,353.353 INFO    ] Launching Daemon at Sat Aug 29 11:05:35 IST 2026
[2026-08-29 11:05:35,364.364 INFO    ] ================================================
[2026-08-29 11:05:35,714.714 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:05:35
[2026-08-29 11:05:36,051.051 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:05:36,202.202 INFO    ] Initializing speech engine...
[2026-08-29 11:05:36,206.206 INFO    ] 2026-08-29 11:05:36
[2026-08-29 11:05:36,408.408 INFO    ] 2026-08-29 11:05:36
[2026-08-29 11:05:36,487.487 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:05:36,641.641 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:05:36,648.648 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:05:36,783.783 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:05:36,848.848 INFO    ] time= 29/08/2026 11:05:36
[2026-08-29 11:05:36,903.903 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:05:36,917.917 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:05:37,039.039 INFO    ] No existing commands found in stream
[2026-08-29 11:05:42,070.070 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:05:42,073.073 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 11:05:43,049.049 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:05:43,051.051 INFO    ] Checking for system updates...
[2026-08-29 11:05:43,073.073 INFO    ] 200
[2026-08-29 11:05:43,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:05:43,109.109 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:05:43,111.111 INFO    ] No update needed
[2026-08-29 11:05:43,112.112 INFO    ] Checking for camera pi updates...
[2026-08-29 11:05:43,132.132 INFO    ] 200
[2026-08-29 11:05:43,134.134 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:05:43,157.157 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:05:43,259.259 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:05:43,260.260 INFO    ] No camera update needed
[2026-08-29 11:05:43,262.262 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:05:43,263.263 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:05:43,266.266 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:05:43,269.269 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:05:45,308.308 INFO    ] ================================================
[2026-08-29 11:05:45,323.323 INFO    ] Launching Daemon at Sat Aug 29 11:05:45 IST 2026
[2026-08-29 11:05:45,333.333 INFO    ] ================================================
[2026-08-29 11:05:45,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:05:45
[2026-08-29 11:05:46,012.012 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:05:46,151.151 INFO    ] Initializing speech engine...
[2026-08-29 11:05:46,161.161 INFO    ] 2026-08-29 11:05:46
[2026-08-29 11:05:46,402.402 INFO    ] 2026-08-29 11:05:46
[2026-08-29 11:05:46,455.455 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:05:46,620.620 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:05:46,625.625 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:05:46,783.783 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:05:46,824.824 INFO    ] time= 29/08/2026 11:05:46
[2026-08-29 11:05:46,841.841 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:05:46,850.850 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:05:46,969.969 INFO    ] No existing commands found in stream
[2026-08-29 11:05:51,988.988 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:05:51,990.990 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 11:05:55,571.571 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:05:55,572.572 INFO    ] Checking for system updates...
[2026-08-29 11:05:55,594.594 INFO    ] 200
[2026-08-29 11:05:55,595.595 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:05:55,626.626 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:05:55,627.627 INFO    ] No update needed
[2026-08-29 11:05:55,628.628 INFO    ] Checking for camera pi updates...
[2026-08-29 11:05:55,647.647 INFO    ] 200
[2026-08-29 11:05:55,648.648 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:05:55,671.671 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:05:55,766.766 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:05:55,768.768 INFO    ] No camera update needed
[2026-08-29 11:05:55,771.771 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:05:55,773.773 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:05:55,778.778 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:05:55,783.783 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:05:57,823.823 INFO    ] ================================================
[2026-08-29 11:05:57,838.838 INFO    ] Launching Daemon at Sat Aug 29 11:05:57 IST 2026
[2026-08-29 11:05:57,849.849 INFO    ] ================================================
[2026-08-29 11:05:58,417.417 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:05:58
[2026-08-29 11:05:58,926.926 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:05:59,063.063 INFO    ] Initializing speech engine...
[2026-08-29 11:05:59,070.070 INFO    ] 2026-08-29 11:05:59
[2026-08-29 11:05:59,276.276 INFO    ] 2026-08-29 11:05:59
[2026-08-29 11:05:59,305.305 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:05:59,437.437 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:05:59,442.442 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:05:59,597.597 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:05:59,642.642 INFO    ] time= 29/08/2026 11:05:59
[2026-08-29 11:05:59,657.657 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:05:59,664.664 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:05:59,779.779 INFO    ] No existing commands found in stream
[2026-08-29 11:06:04,803.803 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:06:04,806.806 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-08-29 11:06:06,388.388 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:06:06,392.392 INFO    ] Checking for system updates...
[2026-08-29 11:06:06,427.427 INFO    ] 200
[2026-08-29 11:06:06,430.430 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:06:06,486.486 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:06:06,489.489 INFO    ] No update needed
[2026-08-29 11:06:06,491.491 INFO    ] Checking for camera pi updates...
[2026-08-29 11:06:06,528.528 INFO    ] 200
[2026-08-29 11:06:06,530.530 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:06:06,571.571 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:06:06,669.669 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:06:06,672.672 INFO    ] No camera update needed
[2026-08-29 11:06:06,674.674 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:06:06,676.676 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:06:06,681.681 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:06:06,686.686 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:06:08,727.727 INFO    ] ================================================
[2026-08-29 11:06:08,743.743 INFO    ] Launching Daemon at Sat Aug 29 11:06:08 IST 2026
[2026-08-29 11:06:08,754.754 INFO    ] ================================================
[2026-08-29 11:06:09,321.321 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:06:09
[2026-08-29 11:06:09,683.683 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:06:09,910.910 INFO    ] Initializing speech engine...
[2026-08-29 11:06:09,919.919 INFO    ] 2026-08-29 11:06:09
[2026-08-29 11:06:10,180.180 INFO    ] 2026-08-29 11:06:10
[2026-08-29 11:06:10,238.238 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:06:10,453.453 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:06:10,475.475 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:06:10,613.613 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:06:10,630.630 INFO    ] time= 29/08/2026 11:06:10
[2026-08-29 11:06:10,679.679 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:06:10,728.728 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:06:10,804.804 INFO    ] No existing commands found in stream
[2026-08-29 11:06:15,815.815 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:06:15,818.818 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-08-29 11:06:17,464.464 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:06:17,466.466 INFO    ] Checking for system updates...
[2026-08-29 11:06:17,507.507 INFO    ] 200
[2026-08-29 11:06:17,510.510 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 11:06:17,513.513 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-08-29 11:06:17,516.516 INFO    ] Checking for camera pi updates...
[2026-08-29 11:06:17,553.553 INFO    ] 200
[2026-08-29 11:06:17,555.555 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 11:06:17,558.558 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-08-29 11:06:17,560.560 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:06:17,563.563 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:06:17,568.568 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:06:17,574.574 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:06:19,615.615 INFO    ] ================================================
[2026-08-29 11:06:19,630.630 INFO    ] Launching Daemon at Sat Aug 29 11:06:19 IST 2026
[2026-08-29 11:06:19,641.641 INFO    ] ================================================
[2026-08-29 11:06:20,254.254 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:06:20
[2026-08-29 11:06:20,701.701 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:06:20,840.840 INFO    ] Initializing speech engine...
[2026-08-29 11:06:20,850.850 INFO    ] 2026-08-29 11:06:20
[2026-08-29 11:06:21,054.054 INFO    ] 2026-08-29 11:06:21
[2026-08-29 11:06:21,083.083 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:06:21,210.210 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:06:21,268.268 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:06:21,418.418 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:06:21,463.463 INFO    ] time= 29/08/2026 11:06:21
[2026-08-29 11:06:21,511.511 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:06:21,530.530 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:06:21,621.621 INFO    ] No existing commands found in stream
[2026-08-29 11:06:26,647.647 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:06:26,649.649 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-08-29 11:06:30,181.181 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:06:30,183.183 INFO    ] Checking for system updates...
[2026-08-29 11:06:30,204.204 INFO    ] 200
[2026-08-29 11:06:30,205.205 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:06:30,235.235 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:06:30,237.237 INFO    ] No update needed
[2026-08-29 11:06:30,238.238 INFO    ] Checking for camera pi updates...
[2026-08-29 11:06:30,258.258 INFO    ] 200
[2026-08-29 11:06:30,260.260 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:06:30,283.283 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:06:30,362.362 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:06:30,363.363 INFO    ] No camera update needed
[2026-08-29 11:06:30,365.365 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:06:30,366.366 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:06:30,369.369 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:06:30,372.372 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:06:32,416.416 INFO    ] ================================================
[2026-08-29 11:06:32,433.433 INFO    ] Launching Daemon at Sat Aug 29 11:06:32 IST 2026
[2026-08-29 11:06:32,445.445 INFO    ] ================================================
[2026-08-29 11:06:33,101.101 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:06:33
[2026-08-29 11:06:33,630.630 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:06:33,769.769 INFO    ] Initializing speech engine...
[2026-08-29 11:06:33,780.780 INFO    ] 2026-08-29 11:06:33
[2026-08-29 11:06:33,986.986 INFO    ] 2026-08-29 11:06:33
[2026-08-29 11:06:34,015.015 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:06:34,138.138 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:06:34,196.196 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:06:34,338.338 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:06:34,407.407 INFO    ] time= 29/08/2026 11:06:34
[2026-08-29 11:06:34,431.431 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:06:34,433.433 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:06:34,505.505 INFO    ] No existing commands found in stream
[2026-08-29 11:06:39,514.514 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:06:39,517.517 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-08-29 11:06:41,129.129 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:06:41,131.131 INFO    ] Checking for system updates...
[2026-08-29 11:06:41,151.151 INFO    ] 200
[2026-08-29 11:06:41,153.153 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:06:41,185.185 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:06:41,186.186 INFO    ] No update needed
[2026-08-29 11:06:41,188.188 INFO    ] Checking for camera pi updates...
[2026-08-29 11:06:41,207.207 INFO    ] 200
[2026-08-29 11:06:41,208.208 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:06:41,234.234 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:06:41,416.416 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:06:41,418.418 INFO    ] No camera update needed
[2026-08-29 11:06:41,420.420 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:06:41,423.423 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:06:41,428.428 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:06:41,433.433 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:06:43,476.476 INFO    ] ================================================
[2026-08-29 11:06:43,492.492 INFO    ] Launching Daemon at Sat Aug 29 11:06:43 IST 2026
[2026-08-29 11:06:43,502.502 INFO    ] ================================================
[2026-08-29 11:06:44,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:06:44
[2026-08-29 11:06:44,607.607 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:06:44,743.743 INFO    ] Initializing speech engine...
[2026-08-29 11:06:44,752.752 INFO    ] 2026-08-29 11:06:44
[2026-08-29 11:06:44,968.968 INFO    ] 2026-08-29 11:06:44
[2026-08-29 11:06:45,009.009 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:06:45,144.144 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:06:45,211.211 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:06:45,345.345 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:06:45,364.364 INFO    ] time= 29/08/2026 11:06:45
[2026-08-29 11:06:45,420.420 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:06:45,445.445 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:06:45,544.544 INFO    ] No existing commands found in stream
[2026-08-29 11:06:50,554.554 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:06:50,557.557 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-08-29 11:06:53,103.103 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:06:53,106.106 INFO    ] Checking for system updates...
[2026-08-29 11:06:53,141.141 INFO    ] 200
[2026-08-29 11:06:53,143.143 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:06:53,196.196 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:06:53,198.198 INFO    ] No update needed
[2026-08-29 11:06:53,201.201 INFO    ] Checking for camera pi updates...
[2026-08-29 11:06:53,235.235 INFO    ] 200
[2026-08-29 11:06:53,237.237 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:06:53,278.278 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:06:53,363.363 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:06:53,365.365 INFO    ] No camera update needed
[2026-08-29 11:06:53,368.368 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:06:53,370.370 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:06:53,375.375 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:06:53,380.380 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:06:55,420.420 INFO    ] ================================================
[2026-08-29 11:06:55,436.436 INFO    ] Launching Daemon at Sat Aug 29 11:06:55 IST 2026
[2026-08-29 11:06:55,447.447 INFO    ] ================================================
[2026-08-29 11:06:55,988.988 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:06:55
[2026-08-29 11:06:56,577.577 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:06:56,826.826 INFO    ] Initializing speech engine...
[2026-08-29 11:06:56,839.839 INFO    ] 2026-08-29 11:06:56
[2026-08-29 11:06:57,101.101 INFO    ] 2026-08-29 11:06:57
[2026-08-29 11:06:57,137.137 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:06:57,309.309 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:06:57,321.321 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:06:57,467.467 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:06:57,472.472 INFO    ] time= 29/08/2026 11:06:57
[2026-08-29 11:06:57,479.479 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:06:57,524.524 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:06:57,645.645 INFO    ] No existing commands found in stream
[2026-08-29 11:07:02,674.674 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:07:02,678.678 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-08-29 11:07:03,988.988 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:07:03,991.991 INFO    ] Checking for system updates...
[2026-08-29 11:07:04,027.027 INFO    ] 200
[2026-08-29 11:07:04,029.029 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:07:04,089.089 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:07:04,092.092 INFO    ] No update needed
[2026-08-29 11:07:04,094.094 INFO    ] Checking for camera pi updates...
[2026-08-29 11:07:04,130.130 INFO    ] 200
[2026-08-29 11:07:04,133.133 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:07:04,174.174 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:07:04,256.256 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:07:04,258.258 INFO    ] No camera update needed
[2026-08-29 11:07:04,261.261 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:07:04,264.264 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:07:04,270.270 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:07:04,275.275 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:07:06,317.317 INFO    ] ================================================
[2026-08-29 11:07:06,332.332 INFO    ] Launching Daemon at Sat Aug 29 11:07:06 IST 2026
[2026-08-29 11:07:06,343.343 INFO    ] ================================================
[2026-08-29 11:07:06,678.678 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:07:06
[2026-08-29 11:07:06,992.992 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:07:07,207.207 INFO    ] Initializing speech engine...
[2026-08-29 11:07:07,221.221 INFO    ] 2026-08-29 11:07:07
[2026-08-29 11:07:07,483.483 INFO    ] 2026-08-29 11:07:07
[2026-08-29 11:07:07,518.518 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:07:07,690.690 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:07:07,702.702 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:07:07,837.837 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:07:07,849.849 INFO    ] time= 29/08/2026 11:07:07
[2026-08-29 11:07:07,854.854 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:07:07,860.860 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:07:07,932.932 INFO    ] No existing commands found in stream
[2026-08-29 11:07:12,967.967 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:07:12,970.970 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-08-29 11:07:14,306.306 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:07:14,307.307 INFO    ] Checking for system updates...
[2026-08-29 11:07:14,328.328 INFO    ] 200
[2026-08-29 11:07:14,329.329 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:07:14,358.358 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:07:14,360.360 INFO    ] No update needed
[2026-08-29 11:07:14,361.361 INFO    ] Checking for camera pi updates...
[2026-08-29 11:07:14,382.382 INFO    ] 200
[2026-08-29 11:07:14,384.384 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:07:14,408.408 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:07:14,510.510 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:07:14,511.511 INFO    ] No camera update needed
[2026-08-29 11:07:14,513.513 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:07:14,514.514 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:07:14,517.517 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:07:14,520.520 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:07:16,550.550 INFO    ] ================================================
[2026-08-29 11:07:16,566.566 INFO    ] Launching Daemon at Sat Aug 29 11:07:16 IST 2026
[2026-08-29 11:07:16,576.576 INFO    ] ================================================
[2026-08-29 11:07:17,144.144 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:07:17
[2026-08-29 11:07:17,729.729 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:07:18,007.007 INFO    ] Initializing speech engine...
[2026-08-29 11:07:18,014.014 INFO    ] 2026-08-29 11:07:18
[2026-08-29 11:07:18,270.270 INFO    ] 2026-08-29 11:07:18
[2026-08-29 11:07:18,300.300 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:07:18,464.464 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:07:18,477.477 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:07:18,617.617 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:07:18,626.626 INFO    ] time= 29/08/2026 11:07:18
[2026-08-29 11:07:18,632.632 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:07:18,652.652 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:07:18,789.789 INFO    ] No existing commands found in stream
[2026-08-29 11:07:23,814.814 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:07:23,817.817 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-08-29 11:07:25,682.682 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:07:25,683.683 INFO    ] Checking for system updates...
[2026-08-29 11:07:25,704.704 INFO    ] 200
[2026-08-29 11:07:25,705.705 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:07:25,735.735 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:07:25,736.736 INFO    ] No update needed
[2026-08-29 11:07:25,738.738 INFO    ] Checking for camera pi updates...
[2026-08-29 11:07:25,756.756 INFO    ] 200
[2026-08-29 11:07:25,758.758 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:07:25,782.782 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:07:25,857.857 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:07:25,858.858 INFO    ] No camera update needed
[2026-08-29 11:07:25,860.860 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:07:25,861.861 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:07:25,864.864 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:07:25,866.866 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:07:27,906.906 INFO    ] ================================================
[2026-08-29 11:07:27,921.921 INFO    ] Launching Daemon at Sat Aug 29 11:07:27 IST 2026
[2026-08-29 11:07:27,932.932 INFO    ] ================================================
[2026-08-29 11:07:28,282.282 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:07:28
[2026-08-29 11:07:28,594.594 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:07:28,737.737 INFO    ] Initializing speech engine...
[2026-08-29 11:07:28,742.742 INFO    ] 2026-08-29 11:07:28
[2026-08-29 11:07:28,945.945 INFO    ] 2026-08-29 11:07:28
[2026-08-29 11:07:28,973.973 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:07:29,095.095 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:07:29,157.157 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:07:29,295.295 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:07:29,362.362 INFO    ] time= 29/08/2026 11:07:29
[2026-08-29 11:07:29,385.385 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:07:29,392.392 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:07:29,457.457 INFO    ] No existing commands found in stream
[2026-08-29 11:07:34,468.468 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:07:34,471.471 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 11:07:36,588.588 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:07:36,590.590 INFO    ] Checking for system updates...
[2026-08-29 11:07:36,610.610 INFO    ] 200
[2026-08-29 11:07:36,611.611 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:07:36,642.642 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:07:36,643.643 INFO    ] No update needed
[2026-08-29 11:07:36,644.644 INFO    ] Checking for camera pi updates...
[2026-08-29 11:07:36,664.664 INFO    ] 200
[2026-08-29 11:07:36,666.666 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:07:36,702.702 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:07:36,788.788 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:07:36,791.791 INFO    ] No camera update needed
[2026-08-29 11:07:36,794.794 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:07:36,796.796 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:07:36,802.802 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:07:36,808.808 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:07:38,851.851 INFO    ] ================================================
[2026-08-29 11:07:38,866.866 INFO    ] Launching Daemon at Sat Aug 29 11:07:38 IST 2026
[2026-08-29 11:07:38,877.877 INFO    ] ================================================
[2026-08-29 11:07:39,459.459 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:07:39
[2026-08-29 11:07:39,939.939 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:07:40,161.161 INFO    ] Initializing speech engine...
[2026-08-29 11:07:40,168.168 INFO    ] 2026-08-29 11:07:40
[2026-08-29 11:07:40,429.429 INFO    ] 2026-08-29 11:07:40
[2026-08-29 11:07:40,484.484 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:07:40,706.706 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:07:40,715.715 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:07:40,847.847 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:07:40,899.899 INFO    ] time= 29/08/2026 11:07:40
[2026-08-29 11:07:40,964.964 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:07:40,982.982 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:07:41,036.036 INFO    ] No existing commands found in stream
[2026-08-29 11:07:46,047.047 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:07:46,050.050 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-08-29 11:07:49,613.613 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:07:49,615.615 INFO    ] Checking for system updates...
[2026-08-29 11:07:49,651.651 INFO    ] 200
[2026-08-29 11:07:49,655.655 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:07:49,715.715 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:07:49,718.718 INFO    ] No update needed
[2026-08-29 11:07:49,721.721 INFO    ] Checking for camera pi updates...
[2026-08-29 11:07:49,759.759 INFO    ] 200
[2026-08-29 11:07:49,762.762 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:07:49,803.803 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:07:49,899.899 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:07:49,902.902 INFO    ] No camera update needed
[2026-08-29 11:07:49,904.904 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:07:49,907.907 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:07:49,912.912 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:07:49,918.918 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:07:51,959.959 INFO    ] ================================================
[2026-08-29 11:07:51,974.974 INFO    ] Launching Daemon at Sat Aug 29 11:07:51 IST 2026
[2026-08-29 11:07:51,985.985 INFO    ] ================================================
[2026-08-29 11:07:52,367.367 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:07:52
[2026-08-29 11:07:52,709.709 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:07:52,864.864 INFO    ] Initializing speech engine...
[2026-08-29 11:07:52,867.867 INFO    ] 2026-08-29 11:07:52
[2026-08-29 11:07:53,080.080 INFO    ] 2026-08-29 11:07:53
[2026-08-29 11:07:53,110.110 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:07:53,270.270 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:07:53,279.279 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:07:53,440.440 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:07:53,479.479 INFO    ] time= 29/08/2026 11:07:53
[2026-08-29 11:07:53,499.499 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:07:53,532.532 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:07:53,638.638 INFO    ] No existing commands found in stream
[2026-08-29 11:07:58,654.654 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:07:58,657.657 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-08-29 11:08:02,874.874 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:08:02,878.878 INFO    ] Checking for system updates...
[2026-08-29 11:08:02,917.917 INFO    ] 200
[2026-08-29 11:08:02,920.920 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:08:02,979.979 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:08:02,982.982 INFO    ] No update needed
[2026-08-29 11:08:02,984.984 INFO    ] Checking for camera pi updates...
[2026-08-29 11:08:03,018.018 INFO    ] 200
[2026-08-29 11:08:03,020.020 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:08:03,060.060 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:08:03,178.178 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:08:03,180.180 INFO    ] No camera update needed
[2026-08-29 11:08:03,182.182 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:08:03,185.185 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:08:03,190.190 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:08:03,195.195 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:08:05,234.234 INFO    ] ================================================
[2026-08-29 11:08:05,250.250 INFO    ] Launching Daemon at Sat Aug 29 11:08:05 IST 2026
[2026-08-29 11:08:05,262.262 INFO    ] ================================================
[2026-08-29 11:08:05,627.627 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:08:05
[2026-08-29 11:08:06,021.021 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:08:06,323.323 INFO    ] Initializing speech engine...
[2026-08-29 11:08:06,330.330 INFO    ] 2026-08-29 11:08:06
[2026-08-29 11:08:06,614.614 INFO    ] 2026-08-29 11:08:06
[2026-08-29 11:08:06,658.658 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:08:06,879.879 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:08:06,889.889 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:08:07,023.023 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:08:07,078.078 INFO    ] time= 29/08/2026 11:08:07
[2026-08-29 11:08:07,133.133 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:08:07,159.159 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:08:07,282.282 INFO    ] No existing commands found in stream
[2026-08-29 11:08:12,313.313 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:08:12,316.316 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-08-29 11:08:15,861.861 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:08:15,862.862 INFO    ] Checking for system updates...
[2026-08-29 11:08:15,883.883 INFO    ] 200
[2026-08-29 11:08:15,885.885 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:08:15,915.915 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:08:15,916.916 INFO    ] No update needed
[2026-08-29 11:08:15,917.917 INFO    ] Checking for camera pi updates...
[2026-08-29 11:08:15,937.937 INFO    ] 200
[2026-08-29 11:08:15,938.938 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:08:15,962.962 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:08:16,063.063 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:08:16,064.064 INFO    ] No camera update needed
[2026-08-29 11:08:16,065.065 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:08:16,067.067 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:08:16,070.070 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:08:16,073.073 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:08:18,112.112 INFO    ] ================================================
[2026-08-29 11:08:18,129.129 INFO    ] Launching Daemon at Sat Aug 29 11:08:18 IST 2026
[2026-08-29 11:08:18,140.140 INFO    ] ================================================
[2026-08-29 11:08:18,508.508 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:08:18
[2026-08-29 11:08:18,846.846 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:08:18,996.996 INFO    ] Initializing speech engine...
[2026-08-29 11:08:19,001.001 INFO    ] 2026-08-29 11:08:18
[2026-08-29 11:08:19,209.209 INFO    ] 2026-08-29 11:08:19
[2026-08-29 11:08:19,237.237 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:08:19,371.371 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:08:19,423.423 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:08:19,560.560 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:08:19,624.624 INFO    ] time= 29/08/2026 11:08:19
[2026-08-29 11:08:19,651.651 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:08:19,658.658 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:08:19,723.723 INFO    ] No existing commands found in stream
[2026-08-29 11:08:24,734.734 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:08:24,737.737 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-08-29 11:08:26,342.342 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:08:26,343.343 INFO    ] Checking for system updates...
[2026-08-29 11:08:26,364.364 INFO    ] 200
[2026-08-29 11:08:26,365.365 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:08:26,397.397 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:08:26,398.398 INFO    ] No update needed
[2026-08-29 11:08:26,399.399 INFO    ] Checking for camera pi updates...
[2026-08-29 11:08:26,419.419 INFO    ] 200
[2026-08-29 11:08:26,420.420 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:08:26,443.443 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:08:26,544.544 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:08:26,545.545 INFO    ] No camera update needed
[2026-08-29 11:08:26,547.547 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:08:26,548.548 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:08:26,551.551 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:08:26,554.554 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:08:28,593.593 INFO    ] ================================================
[2026-08-29 11:08:28,609.609 INFO    ] Launching Daemon at Sat Aug 29 11:08:28 IST 2026
[2026-08-29 11:08:28,621.621 INFO    ] ================================================
[2026-08-29 11:08:29,154.154 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:08:29
[2026-08-29 11:08:29,738.738 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:08:29,988.988 INFO    ] Initializing speech engine...
[2026-08-29 11:08:30,002.002 INFO    ] 2026-08-29 11:08:29
[2026-08-29 11:08:30,269.269 INFO    ] 2026-08-29 11:08:30
[2026-08-29 11:08:30,304.304 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:08:30,477.477 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:08:30,491.491 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:08:30,637.637 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:08:30,644.644 INFO    ] time= 29/08/2026 11:08:30
[2026-08-29 11:08:30,649.649 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:08:30,655.655 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:08:30,724.724 INFO    ] No existing commands found in stream
[2026-08-29 11:08:35,739.739 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:08:35,741.741 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-08-29 11:08:42,970.970 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:08:42,973.973 INFO    ] Checking for system updates...
[2026-08-29 11:08:43,009.009 INFO    ] 200
[2026-08-29 11:08:43,012.012 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:08:43,060.060 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:08:43,062.062 INFO    ] No update needed
[2026-08-29 11:08:43,063.063 INFO    ] Checking for camera pi updates...
[2026-08-29 11:08:43,084.084 INFO    ] 200
[2026-08-29 11:08:43,085.085 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:08:43,108.108 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:08:43,280.280 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:08:43,423.423 INFO    ] No camera update needed
[2026-08-29 11:08:43,426.426 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:08:43,428.428 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:08:43,434.434 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:08:43,439.439 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:08:45,480.480 INFO    ] ================================================
[2026-08-29 11:08:45,496.496 INFO    ] Launching Daemon at Sat Aug 29 11:08:45 IST 2026
[2026-08-29 11:08:45,507.507 INFO    ] ================================================
[2026-08-29 11:08:46,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:08:46
[2026-08-29 11:08:46,428.428 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:08:46,598.598 INFO    ] Initializing speech engine...
[2026-08-29 11:08:46,614.614 INFO    ] 2026-08-29 11:08:46
[2026-08-29 11:08:47,045.045 INFO    ] 2026-08-29 11:08:47
[2026-08-29 11:08:47,101.101 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:08:47,280.280 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:08:47,286.286 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:08:47,475.475 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:08:47,499.499 INFO    ] time= 29/08/2026 11:08:47
[2026-08-29 11:08:47,516.516 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:08:47,527.527 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:08:47,647.647 INFO    ] No existing commands found in stream
[2026-08-29 11:08:52,673.673 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:08:52,676.676 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-08-29 11:08:55,878.878 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:08:55,879.879 INFO    ] Checking for system updates...
[2026-08-29 11:08:55,900.900 INFO    ] 200
[2026-08-29 11:08:55,901.901 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:08:55,933.933 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:08:55,934.934 INFO    ] No update needed
[2026-08-29 11:08:55,936.936 INFO    ] Checking for camera pi updates...
[2026-08-29 11:08:55,955.955 INFO    ] 200
[2026-08-29 11:08:55,956.956 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:08:55,979.979 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:08:56,055.055 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:08:56,060.060 INFO    ] No camera update needed
[2026-08-29 11:08:56,061.061 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:08:56,063.063 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:08:56,066.066 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:08:56,069.069 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:08:58,108.108 INFO    ] ================================================
[2026-08-29 11:08:58,124.124 INFO    ] Launching Daemon at Sat Aug 29 11:08:58 IST 2026
[2026-08-29 11:08:58,135.135 INFO    ] ================================================
[2026-08-29 11:08:58,708.708 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:08:58
[2026-08-29 11:08:59,380.380 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:08:59,683.683 INFO    ] Initializing speech engine...
[2026-08-29 11:08:59,691.691 INFO    ] 2026-08-29 11:08:59
[2026-08-29 11:09:00,006.006 INFO    ] 2026-08-29 11:08:59
[2026-08-29 11:09:00,092.092 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:09:00,241.241 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:09:00,251.251 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:09:00,383.383 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:09:00,406.406 INFO    ] time= 29/08/2026 11:09:00
[2026-08-29 11:09:00,460.460 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:09:00,515.515 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:09:00,572.572 INFO    ] No existing commands found in stream
[2026-08-29 11:09:05,585.585 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:09:05,588.588 INFO    ] Waiting 3.84 seconds before fallback handling...
[2026-08-29 11:09:09,796.796 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:09:09,798.798 INFO    ] Checking for system updates...
[2026-08-29 11:09:09,819.819 INFO    ] 200
[2026-08-29 11:09:09,820.820 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:09:09,850.850 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:09:09,851.851 INFO    ] No update needed
[2026-08-29 11:09:09,853.853 INFO    ] Checking for camera pi updates...
[2026-08-29 11:09:09,872.872 INFO    ] 200
[2026-08-29 11:09:09,874.874 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:09:09,897.897 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:09:09,976.976 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:09:09,977.977 INFO    ] No camera update needed
[2026-08-29 11:09:09,979.979 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:09:09,980.980 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:09:09,983.983 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:09:09,986.986 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:09:12,025.025 INFO    ] ================================================
[2026-08-29 11:09:12,041.041 INFO    ] Launching Daemon at Sat Aug 29 11:09:12 IST 2026
[2026-08-29 11:09:12,053.053 INFO    ] ================================================
[2026-08-29 11:09:12,424.424 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:09:12
[2026-08-29 11:09:12,758.758 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:09:12,911.911 INFO    ] Initializing speech engine...
[2026-08-29 11:09:12,916.916 INFO    ] 2026-08-29 11:09:12
[2026-08-29 11:09:13,119.119 INFO    ] 2026-08-29 11:09:13
[2026-08-29 11:09:13,149.149 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:09:13,276.276 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:09:13,334.334 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:09:13,465.465 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:09:13,521.521 INFO    ] time= 29/08/2026 11:09:13
[2026-08-29 11:09:13,563.563 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:09:13,565.565 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:09:13,675.675 INFO    ] No existing commands found in stream
[2026-08-29 11:09:18,689.689 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:09:18,692.692 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-08-29 11:09:21,847.847 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:09:21,849.849 INFO    ] Checking for system updates...
[2026-08-29 11:09:21,869.869 INFO    ] 200
[2026-08-29 11:09:21,871.871 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:09:21,903.903 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:09:21,904.904 INFO    ] No update needed
[2026-08-29 11:09:21,906.906 INFO    ] Checking for camera pi updates...
[2026-08-29 11:09:21,927.927 INFO    ] 200
[2026-08-29 11:09:21,929.929 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:09:21,952.952 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:09:22,027.027 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:09:22,029.029 INFO    ] No camera update needed
[2026-08-29 11:09:22,030.030 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:09:22,031.031 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:09:22,035.035 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:09:22,038.038 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:09:24,079.079 INFO    ] ================================================
[2026-08-29 11:09:24,094.094 INFO    ] Launching Daemon at Sat Aug 29 11:09:24 IST 2026
[2026-08-29 11:09:24,105.105 INFO    ] ================================================
[2026-08-29 11:09:24,459.459 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:09:24
[2026-08-29 11:09:24,774.774 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:09:24,917.917 INFO    ] Initializing speech engine...
[2026-08-29 11:09:24,923.923 INFO    ] 2026-08-29 11:09:24
[2026-08-29 11:09:25,130.130 INFO    ] 2026-08-29 11:09:25
[2026-08-29 11:09:25,158.158 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:09:25,279.279 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:09:25,342.342 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:09:25,476.476 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:09:25,538.538 INFO    ] time= 29/08/2026 11:09:25
[2026-08-29 11:09:25,570.570 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:09:25,572.572 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:09:25,643.643 INFO    ] No existing commands found in stream
[2026-08-29 11:09:30,657.657 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:09:30,660.660 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-08-29 11:09:31,392.392 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:09:31,394.394 INFO    ] Checking for system updates...
[2026-08-29 11:09:31,414.414 INFO    ] 200
[2026-08-29 11:09:31,415.415 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:09:31,445.445 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:09:31,446.446 INFO    ] No update needed
[2026-08-29 11:09:31,448.448 INFO    ] Checking for camera pi updates...
[2026-08-29 11:09:31,467.467 INFO    ] 200
[2026-08-29 11:09:31,468.468 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:09:31,491.491 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:09:31,598.598 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:09:31,599.599 INFO    ] No camera update needed
[2026-08-29 11:09:31,601.601 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:09:31,602.602 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:09:31,605.605 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:09:31,608.608 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:09:33,648.648 INFO    ] ================================================
[2026-08-29 11:09:33,664.664 INFO    ] Launching Daemon at Sat Aug 29 11:09:33 IST 2026
[2026-08-29 11:09:33,676.676 INFO    ] ================================================
[2026-08-29 11:09:34,246.246 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:09:34
[2026-08-29 11:09:34,846.846 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:09:35,125.125 INFO    ] Initializing speech engine...
[2026-08-29 11:09:35,133.133 INFO    ] 2026-08-29 11:09:35
[2026-08-29 11:09:35,380.380 INFO    ] 2026-08-29 11:09:35
[2026-08-29 11:09:35,400.400 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:09:35,548.548 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:09:35,551.551 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:09:35,671.671 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:09:35,679.679 INFO    ] time= 29/08/2026 11:09:35
[2026-08-29 11:09:35,684.684 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:09:35,698.698 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:09:35,777.777 INFO    ] No existing commands found in stream
[2026-08-29 11:09:40,812.812 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:09:40,815.815 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-08-29 11:09:44,626.626 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:09:44,627.627 INFO    ] Checking for system updates...
[2026-08-29 11:09:44,648.648 INFO    ] 200
[2026-08-29 11:09:44,649.649 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:09:44,679.679 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:09:44,681.681 INFO    ] No update needed
[2026-08-29 11:09:44,682.682 INFO    ] Checking for camera pi updates...
[2026-08-29 11:09:44,702.702 INFO    ] 200
[2026-08-29 11:09:44,704.704 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:09:44,727.727 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:09:44,828.828 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:09:44,830.830 INFO    ] No camera update needed
[2026-08-29 11:09:44,831.831 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:09:44,833.833 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:09:44,836.836 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:09:44,839.839 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:09:46,878.878 INFO    ] ================================================
[2026-08-29 11:09:46,894.894 INFO    ] Launching Daemon at Sat Aug 29 11:09:46 IST 2026
[2026-08-29 11:09:46,904.904 INFO    ] ================================================
[2026-08-29 11:09:47,253.253 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:09:47
[2026-08-29 11:09:47,564.564 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:09:47,695.695 INFO    ] Initializing speech engine...
[2026-08-29 11:09:47,703.703 INFO    ] 2026-08-29 11:09:47
[2026-08-29 11:09:47,952.952 INFO    ] 2026-08-29 11:09:47
[2026-08-29 11:09:48,008.008 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:09:48,143.143 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:09:48,147.147 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:09:48,319.319 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:09:48,369.369 INFO    ] time= 29/08/2026 11:09:48
[2026-08-29 11:09:48,391.391 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:09:48,409.409 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:09:48,515.515 INFO    ] No existing commands found in stream
[2026-08-29 11:09:53,546.546 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:09:53,549.549 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-08-29 11:09:54,470.470 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:09:54,471.471 INFO    ] Checking for system updates...
[2026-08-29 11:09:54,493.493 INFO    ] 200
[2026-08-29 11:09:54,495.495 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:09:54,527.527 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:09:54,528.528 INFO    ] No update needed
[2026-08-29 11:09:54,530.530 INFO    ] Checking for camera pi updates...
[2026-08-29 11:09:54,549.549 INFO    ] 200
[2026-08-29 11:09:54,551.551 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:09:54,574.574 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:09:54,637.637 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:09:54,639.639 INFO    ] No camera update needed
[2026-08-29 11:09:54,640.640 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:09:54,642.642 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:09:54,645.645 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:09:54,648.648 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:09:56,688.688 INFO    ] ================================================
[2026-08-29 11:09:56,703.703 INFO    ] Launching Daemon at Sat Aug 29 11:09:56 IST 2026
[2026-08-29 11:09:56,714.714 INFO    ] ================================================
[2026-08-29 11:09:57,061.061 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:09:57
[2026-08-29 11:09:57,374.374 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:09:57,504.504 INFO    ] Initializing speech engine...
[2026-08-29 11:09:57,509.509 INFO    ] 2026-08-29 11:09:57
[2026-08-29 11:09:57,725.725 INFO    ] 2026-08-29 11:09:57
[2026-08-29 11:09:57,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:09:57,879.879 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:09:57,942.942 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:09:58,081.081 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:09:58,145.145 INFO    ] time= 29/08/2026 11:09:58
[2026-08-29 11:09:58,173.173 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:09:58,180.180 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:09:58,246.246 INFO    ] No existing commands found in stream
[2026-08-29 11:10:03,254.254 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:10:03,258.258 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-08-29 11:10:08,288.288 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:10:08,289.289 INFO    ] Checking for system updates...
[2026-08-29 11:10:08,310.310 INFO    ] 200
[2026-08-29 11:10:08,311.311 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:10:08,341.341 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:10:08,343.343 INFO    ] No update needed
[2026-08-29 11:10:08,344.344 INFO    ] Checking for camera pi updates...
[2026-08-29 11:10:08,363.363 INFO    ] 200
[2026-08-29 11:10:08,365.365 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:10:08,388.388 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:10:08,462.462 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:10:08,464.464 INFO    ] No camera update needed
[2026-08-29 11:10:08,465.465 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:10:08,466.466 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:10:08,469.469 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:10:08,471.471 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:10:10,510.510 INFO    ] ================================================
[2026-08-29 11:10:10,526.526 INFO    ] Launching Daemon at Sat Aug 29 11:10:10 IST 2026
[2026-08-29 11:10:10,536.536 INFO    ] ================================================
[2026-08-29 11:10:10,889.889 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:10:10
[2026-08-29 11:10:11,227.227 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:10:11,378.378 INFO    ] Initializing speech engine...
[2026-08-29 11:10:11,384.384 INFO    ] 2026-08-29 11:10:11
[2026-08-29 11:10:11,599.599 INFO    ] 2026-08-29 11:10:11
[2026-08-29 11:10:11,630.630 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:10:11,813.813 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:10:11,820.820 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:10:11,952.952 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:10:12,008.008 INFO    ] time= 29/08/2026 11:10:11
[2026-08-29 11:10:12,048.048 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:10:12,053.053 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:10:12,125.125 INFO    ] No existing commands found in stream
[2026-08-29 11:10:17,136.136 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:10:17,139.139 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-08-29 11:10:18,575.575 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:10:18,577.577 INFO    ] Checking for system updates...
[2026-08-29 11:10:18,599.599 INFO    ] 200
[2026-08-29 11:10:18,600.600 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:10:18,632.632 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:10:18,634.634 INFO    ] No update needed
[2026-08-29 11:10:18,635.635 INFO    ] Checking for camera pi updates...
[2026-08-29 11:10:18,654.654 INFO    ] 200
[2026-08-29 11:10:18,656.656 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:10:18,678.678 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:10:18,772.772 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:10:18,774.774 INFO    ] No camera update needed
[2026-08-29 11:10:18,775.775 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:10:18,776.776 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:10:18,779.779 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:10:18,782.782 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:10:20,820.820 INFO    ] ================================================
[2026-08-29 11:10:20,835.835 INFO    ] Launching Daemon at Sat Aug 29 11:10:20 IST 2026
[2026-08-29 11:10:20,846.846 INFO    ] ================================================
[2026-08-29 11:10:21,173.173 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:10:21
[2026-08-29 11:10:21,491.491 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:10:21,698.698 INFO    ] Initializing speech engine...
[2026-08-29 11:10:21,712.712 INFO    ] 2026-08-29 11:10:21
[2026-08-29 11:10:22,000.000 INFO    ] 2026-08-29 11:10:21
[2026-08-29 11:10:22,040.040 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:10:22,235.235 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:10:22,242.242 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:10:22,351.351 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:10:22,356.356 INFO    ] time= 29/08/2026 11:10:22
[2026-08-29 11:10:22,376.376 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:10:22,387.387 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:10:22,439.439 INFO    ] No existing commands found in stream
[2026-08-29 11:10:27,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:10:27,454.454 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-08-29 11:10:28,208.208 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:10:28,209.209 INFO    ] Checking for system updates...
[2026-08-29 11:10:28,230.230 INFO    ] 200
[2026-08-29 11:10:28,231.231 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:10:28,263.263 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:10:28,265.265 INFO    ] No update needed
[2026-08-29 11:10:28,266.266 INFO    ] Checking for camera pi updates...
[2026-08-29 11:10:28,285.285 INFO    ] 200
[2026-08-29 11:10:28,286.286 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:10:28,310.310 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:10:28,390.390 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:10:28,391.391 INFO    ] No camera update needed
[2026-08-29 11:10:28,393.393 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:10:28,394.394 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:10:28,397.397 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:10:28,400.400 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:10:30,438.438 INFO    ] ================================================
[2026-08-29 11:10:30,453.453 INFO    ] Launching Daemon at Sat Aug 29 11:10:30 IST 2026
[2026-08-29 11:10:30,463.463 INFO    ] ================================================
[2026-08-29 11:10:30,817.817 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:10:30
[2026-08-29 11:10:31,130.130 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:10:31,268.268 INFO    ] Initializing speech engine...
[2026-08-29 11:10:31,278.278 INFO    ] 2026-08-29 11:10:31
[2026-08-29 11:10:31,520.520 INFO    ] 2026-08-29 11:10:31
[2026-08-29 11:10:31,586.586 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:10:31,737.737 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:10:31,760.760 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:10:31,923.923 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:10:31,966.966 INFO    ] time= 29/08/2026 11:10:31
[2026-08-29 11:10:31,972.972 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:10:31,991.991 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:10:32,108.108 INFO    ] No existing commands found in stream
[2026-08-29 11:10:37,137.137 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:10:37,140.140 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-08-29 11:10:40,809.809 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:10:40,810.810 INFO    ] Checking for system updates...
[2026-08-29 11:10:40,831.831 INFO    ] 200
[2026-08-29 11:10:40,833.833 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:10:40,865.865 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:10:40,866.866 INFO    ] No update needed
[2026-08-29 11:10:40,867.867 INFO    ] Checking for camera pi updates...
[2026-08-29 11:10:40,886.886 INFO    ] 200
[2026-08-29 11:10:40,888.888 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:10:40,913.913 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:10:40,994.994 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:10:40,995.995 INFO    ] No camera update needed
[2026-08-29 11:10:40,997.997 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:10:40,998.998 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:10:41,001.001 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:10:41,004.004 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:10:43,043.043 INFO    ] ================================================
[2026-08-29 11:10:43,058.058 INFO    ] Launching Daemon at Sat Aug 29 11:10:43 IST 2026
[2026-08-29 11:10:43,069.069 INFO    ] ================================================
[2026-08-29 11:10:43,599.599 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:10:43
[2026-08-29 11:10:44,274.274 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:10:44,583.583 INFO    ] Initializing speech engine...
[2026-08-29 11:10:44,597.597 INFO    ] 2026-08-29 11:10:44
[2026-08-29 11:10:44,912.912 INFO    ] 2026-08-29 11:10:44
[2026-08-29 11:10:45,002.002 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:10:45,157.157 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:10:45,167.167 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:10:45,304.304 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:10:45,351.351 INFO    ] time= 29/08/2026 11:10:45
[2026-08-29 11:10:45,401.401 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:10:45,443.443 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:10:45,498.498 INFO    ] No existing commands found in stream
[2026-08-29 11:10:50,511.511 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:10:50,515.515 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-08-29 11:10:51,648.648 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:10:51,649.649 INFO    ] Checking for system updates...
[2026-08-29 11:10:51,670.670 INFO    ] 200
[2026-08-29 11:10:51,671.671 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:10:51,704.704 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:10:51,705.705 INFO    ] No update needed
[2026-08-29 11:10:51,707.707 INFO    ] Checking for camera pi updates...
[2026-08-29 11:10:51,726.726 INFO    ] 200
[2026-08-29 11:10:51,727.727 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:10:51,751.751 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:10:51,952.952 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:10:51,955.955 INFO    ] No camera update needed
[2026-08-29 11:10:51,957.957 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:10:51,960.960 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:10:51,966.966 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:10:51,972.972 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:10:54,016.016 INFO    ] ================================================
[2026-08-29 11:10:54,032.032 INFO    ] Launching Daemon at Sat Aug 29 11:10:54 IST 2026
[2026-08-29 11:10:54,044.044 INFO    ] ================================================
[2026-08-29 11:10:54,627.627 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:10:54
[2026-08-29 11:10:55,093.093 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:10:55,222.222 INFO    ] Initializing speech engine...
[2026-08-29 11:10:55,225.225 INFO    ] 2026-08-29 11:10:55
[2026-08-29 11:10:55,445.445 INFO    ] 2026-08-29 11:10:55
[2026-08-29 11:10:55,474.474 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:10:55,598.598 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:10:55,660.660 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:10:55,790.790 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:10:55,851.851 INFO    ] time= 29/08/2026 11:10:55
[2026-08-29 11:10:55,884.884 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:10:55,890.890 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:10:55,960.960 INFO    ] No existing commands found in stream
[2026-08-29 11:11:00,970.970 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:11:00,973.973 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-08-29 11:11:01,472.472 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:11:01,475.475 INFO    ] Checking for system updates...
[2026-08-29 11:11:01,539.539 INFO    ] 200
[2026-08-29 11:11:01,548.548 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:11:01,658.658 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:11:01,662.662 INFO    ] No update needed
[2026-08-29 11:11:01,666.666 INFO    ] Checking for camera pi updates...
[2026-08-29 11:11:01,728.728 INFO    ] 200
[2026-08-29 11:11:01,731.731 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:11:01,786.786 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:11:01,884.884 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:11:01,887.887 INFO    ] No camera update needed
[2026-08-29 11:11:01,890.890 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:11:01,898.898 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:11:01,907.907 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:11:01,918.918 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:11:03,974.974 INFO    ] ================================================
[2026-08-29 11:11:03,989.989 INFO    ] Launching Daemon at Sat Aug 29 11:11:03 IST 2026
[2026-08-29 11:11:04,000.000 INFO    ] ================================================
[2026-08-29 11:11:04,636.636 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:11:04
[2026-08-29 11:11:04,976.976 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:11:05,127.127 INFO    ] Initializing speech engine...
[2026-08-29 11:11:05,133.133 INFO    ] 2026-08-29 11:11:05
[2026-08-29 11:11:05,344.344 INFO    ] 2026-08-29 11:11:05
[2026-08-29 11:11:05,373.373 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:11:05,511.511 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:11:05,558.558 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:11:05,717.717 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:11:05,764.764 INFO    ] time= 29/08/2026 11:11:05
[2026-08-29 11:11:05,787.787 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:11:05,794.794 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:11:05,860.860 INFO    ] No existing commands found in stream
[2026-08-29 11:11:10,871.871 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:11:10,874.874 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-08-29 11:11:11,685.685 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:11:11,686.686 INFO    ] Checking for system updates...
[2026-08-29 11:11:11,709.709 INFO    ] 200
[2026-08-29 11:11:11,710.710 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:11:11,743.743 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:11:11,744.744 INFO    ] No update needed
[2026-08-29 11:11:11,746.746 INFO    ] Checking for camera pi updates...
[2026-08-29 11:11:11,766.766 INFO    ] 200
[2026-08-29 11:11:11,767.767 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:11:11,791.791 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:11:11,866.866 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:11:11,867.867 INFO    ] No camera update needed
[2026-08-29 11:11:11,869.869 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:11:11,870.870 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:11:11,873.873 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:11:11,876.876 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:11:13,914.914 INFO    ] ================================================
[2026-08-29 11:11:13,930.930 INFO    ] Launching Daemon at Sat Aug 29 11:11:13 IST 2026
[2026-08-29 11:11:13,940.940 INFO    ] ================================================
[2026-08-29 11:11:14,366.366 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:11:14
[2026-08-29 11:11:14,958.958 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:11:15,220.220 INFO    ] Initializing speech engine...
[2026-08-29 11:11:15,234.234 INFO    ] 2026-08-29 11:11:15
[2026-08-29 11:11:15,489.489 INFO    ] 2026-08-29 11:11:15
[2026-08-29 11:11:15,523.523 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:11:15,702.702 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:11:15,715.715 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:11:15,860.860 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:11:15,867.867 INFO    ] time= 29/08/2026 11:11:15
[2026-08-29 11:11:15,875.875 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:11:15,926.926 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:11:16,033.033 INFO    ] No existing commands found in stream
[2026-08-29 11:11:21,063.063 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:11:21,066.066 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-08-29 11:11:21,990.990 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:11:21,991.991 INFO    ] Checking for system updates...
[2026-08-29 11:11:22,013.013 INFO    ] 200
[2026-08-29 11:11:22,014.014 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:11:22,047.047 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:11:22,048.048 INFO    ] No update needed
[2026-08-29 11:11:22,050.050 INFO    ] Checking for camera pi updates...
[2026-08-29 11:11:22,069.069 INFO    ] 200
[2026-08-29 11:11:22,070.070 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:11:22,094.094 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:11:22,181.181 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:11:22,183.183 INFO    ] No camera update needed
[2026-08-29 11:11:22,184.184 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:11:22,185.185 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:11:22,188.188 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:11:22,191.191 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:11:24,233.233 INFO    ] ================================================
[2026-08-29 11:11:24,248.248 INFO    ] Launching Daemon at Sat Aug 29 11:11:24 IST 2026
[2026-08-29 11:11:24,259.259 INFO    ] ================================================
[2026-08-29 11:11:24,645.645 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:11:24
[2026-08-29 11:11:24,982.982 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:11:25,128.128 INFO    ] Initializing speech engine...
[2026-08-29 11:11:25,139.139 INFO    ] 2026-08-29 11:11:25
[2026-08-29 11:11:25,345.345 INFO    ] 2026-08-29 11:11:25
[2026-08-29 11:11:25,414.414 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:11:25,569.569 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:11:25,576.576 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:11:25,711.711 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:11:25,738.738 INFO    ] time= 29/08/2026 11:11:25
[2026-08-29 11:11:25,799.799 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:11:25,848.848 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:11:25,904.904 INFO    ] No existing commands found in stream
[2026-08-29 11:11:30,916.916 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:11:30,920.920 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 11:11:33,132.132 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:11:33,135.135 INFO    ] Checking for system updates...
[2026-08-29 11:11:33,175.175 INFO    ] 200
[2026-08-29 11:11:33,178.178 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:11:33,239.239 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:11:33,242.242 INFO    ] No update needed
[2026-08-29 11:11:33,245.245 INFO    ] Checking for camera pi updates...
[2026-08-29 11:11:33,280.280 INFO    ] 200
[2026-08-29 11:11:33,282.282 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:11:33,325.325 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:11:33,416.416 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:11:33,419.419 INFO    ] No camera update needed
[2026-08-29 11:11:33,422.422 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:11:33,424.424 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:11:33,430.430 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:11:33,436.436 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:11:35,478.478 INFO    ] ================================================
[2026-08-29 11:11:35,493.493 INFO    ] Launching Daemon at Sat Aug 29 11:11:35 IST 2026
[2026-08-29 11:11:35,504.504 INFO    ] ================================================
[2026-08-29 11:11:35,859.859 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:11:35
[2026-08-29 11:11:36,173.173 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:11:36,440.440 INFO    ] Initializing speech engine...
[2026-08-29 11:11:36,445.445 INFO    ] 2026-08-29 11:11:36
[2026-08-29 11:11:36,703.703 INFO    ] 2026-08-29 11:11:36
[2026-08-29 11:11:36,733.733 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:11:36,897.897 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:11:36,908.908 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:11:37,033.033 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:11:37,053.053 INFO    ] time= 29/08/2026 11:11:37
[2026-08-29 11:11:37,061.061 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:11:37,067.067 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:11:37,135.135 INFO    ] No existing commands found in stream
[2026-08-29 11:11:42,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:11:42,153.153 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-08-29 11:11:42,925.925 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:11:42,927.927 INFO    ] Checking for system updates...
[2026-08-29 11:11:42,947.947 INFO    ] 200
[2026-08-29 11:11:42,948.948 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:11:42,978.978 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:11:42,979.979 INFO    ] No update needed
[2026-08-29 11:11:42,980.980 INFO    ] Checking for camera pi updates...
[2026-08-29 11:11:43,000.000 INFO    ] 200
[2026-08-29 11:11:43,001.001 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:11:43,028.028 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:11:43,104.104 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:11:43,106.106 INFO    ] No camera update needed
[2026-08-29 11:11:43,107.107 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:11:43,108.108 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:11:43,111.111 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:11:43,114.114 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:11:45,154.154 INFO    ] ================================================
[2026-08-29 11:11:45,169.169 INFO    ] Launching Daemon at Sat Aug 29 11:11:45 IST 2026
[2026-08-29 11:11:45,180.180 INFO    ] ================================================
[2026-08-29 11:11:45,522.522 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:11:45
[2026-08-29 11:11:45,841.841 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:11:45,975.975 INFO    ] Initializing speech engine...
[2026-08-29 11:11:45,978.978 INFO    ] 2026-08-29 11:11:45
[2026-08-29 11:11:46,171.171 INFO    ] 2026-08-29 11:11:46
[2026-08-29 11:11:46,206.206 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:11:46,381.381 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:11:46,393.393 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:11:46,535.535 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:11:46,544.544 INFO    ] time= 29/08/2026 11:11:46
[2026-08-29 11:11:46,550.550 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:11:46,607.607 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:11:46,715.715 INFO    ] No existing commands found in stream
[2026-08-29 11:11:51,746.746 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:11:51,749.749 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-08-29 11:11:54,522.522 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:11:54,524.524 INFO    ] Checking for system updates...
[2026-08-29 11:11:54,544.544 INFO    ] 200
[2026-08-29 11:11:54,546.546 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:11:54,576.576 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:11:54,577.577 INFO    ] No update needed
[2026-08-29 11:11:54,578.578 INFO    ] Checking for camera pi updates...
[2026-08-29 11:11:54,600.600 INFO    ] 200
[2026-08-29 11:11:54,601.601 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:11:54,624.624 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:11:54,725.725 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:11:54,726.726 INFO    ] No camera update needed
[2026-08-29 11:11:54,727.727 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:11:54,728.728 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:11:54,731.731 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:11:54,734.734 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:11:56,775.775 INFO    ] ================================================
[2026-08-29 11:11:56,791.791 INFO    ] Launching Daemon at Sat Aug 29 11:11:56 IST 2026
[2026-08-29 11:11:56,802.802 INFO    ] ================================================
[2026-08-29 11:11:57,164.164 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:11:57
[2026-08-29 11:11:57,484.484 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:11:57,622.622 INFO    ] Initializing speech engine...
[2026-08-29 11:11:57,635.635 INFO    ] 2026-08-29 11:11:57
[2026-08-29 11:11:57,854.854 INFO    ] 2026-08-29 11:11:57
[2026-08-29 11:11:57,885.885 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:11:57,980.980 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:11:57,984.984 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:11:58,092.092 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:11:58,101.101 INFO    ] time= 29/08/2026 11:11:58
[2026-08-29 11:11:58,119.119 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:11:58,124.124 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:11:58,209.209 INFO    ] No existing commands found in stream
[2026-08-29 11:12:03,244.244 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:12:03,247.247 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-08-29 11:12:07,403.403 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:12:07,405.405 INFO    ] Checking for system updates...
[2026-08-29 11:12:07,425.425 INFO    ] 200
[2026-08-29 11:12:07,426.426 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:12:07,458.458 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:12:07,460.460 INFO    ] No update needed
[2026-08-29 11:12:07,461.461 INFO    ] Checking for camera pi updates...
[2026-08-29 11:12:07,480.480 INFO    ] 200
[2026-08-29 11:12:07,482.482 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:12:07,505.505 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:12:07,599.599 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:12:07,601.601 INFO    ] No camera update needed
[2026-08-29 11:12:07,604.604 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:12:07,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:12:07,611.611 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:12:07,617.617 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:12:09,659.659 INFO    ] ================================================
[2026-08-29 11:12:09,675.675 INFO    ] Launching Daemon at Sat Aug 29 11:12:09 IST 2026
[2026-08-29 11:12:09,686.686 INFO    ] ================================================
[2026-08-29 11:12:10,254.254 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:12:10
[2026-08-29 11:12:10,764.764 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:12:10,893.893 INFO    ] Initializing speech engine...
[2026-08-29 11:12:10,898.898 INFO    ] 2026-08-29 11:12:10
[2026-08-29 11:12:11,116.116 INFO    ] 2026-08-29 11:12:11
[2026-08-29 11:12:11,145.145 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:12:11,267.267 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:12:11,311.311 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:12:11,472.472 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:12:11,536.536 INFO    ] time= 29/08/2026 11:12:11
[2026-08-29 11:12:11,564.564 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:12:11,571.571 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:12:11,637.637 INFO    ] No existing commands found in stream
[2026-08-29 11:12:16,648.648 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:12:16,651.651 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-08-29 11:12:20,939.939 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:12:20,940.940 INFO    ] Checking for system updates...
[2026-08-29 11:12:20,963.963 INFO    ] 200
[2026-08-29 11:12:20,964.964 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:12:20,995.995 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:12:20,996.996 INFO    ] No update needed
[2026-08-29 11:12:20,998.998 INFO    ] Checking for camera pi updates...
[2026-08-29 11:12:21,018.018 INFO    ] 200
[2026-08-29 11:12:21,019.019 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:12:21,043.043 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:12:21,123.123 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:12:21,125.125 INFO    ] No camera update needed
[2026-08-29 11:12:21,126.126 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:12:21,127.127 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:12:21,131.131 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:12:21,134.134 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:12:23,174.174 INFO    ] ================================================
[2026-08-29 11:12:23,190.190 INFO    ] Launching Daemon at Sat Aug 29 11:12:23 IST 2026
[2026-08-29 11:12:23,202.202 INFO    ] ================================================
[2026-08-29 11:12:23,576.576 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:12:23
[2026-08-29 11:12:23,912.912 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:12:24,063.063 INFO    ] Initializing speech engine...
[2026-08-29 11:12:24,069.069 INFO    ] 2026-08-29 11:12:24
[2026-08-29 11:12:24,274.274 INFO    ] 2026-08-29 11:12:24
[2026-08-29 11:12:24,323.323 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:12:24,471.471 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:12:24,477.477 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:12:24,600.600 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:12:24,641.641 INFO    ] time= 29/08/2026 11:12:24
[2026-08-29 11:12:24,701.701 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:12:24,732.732 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:12:24,788.788 INFO    ] No existing commands found in stream
[2026-08-29 11:12:29,801.801 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:12:29,804.804 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-08-29 11:12:33,421.421 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:12:33,425.425 INFO    ] Checking for system updates...
[2026-08-29 11:12:33,461.461 INFO    ] 200
[2026-08-29 11:12:33,463.463 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:12:33,516.516 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:12:33,518.518 INFO    ] No update needed
[2026-08-29 11:12:33,520.520 INFO    ] Checking for camera pi updates...
[2026-08-29 11:12:33,554.554 INFO    ] 200
[2026-08-29 11:12:33,557.557 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:12:33,597.597 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:12:33,689.689 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:12:33,691.691 INFO    ] No camera update needed
[2026-08-29 11:12:33,694.694 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:12:33,696.696 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:12:33,701.701 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:12:33,706.706 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:12:35,747.747 INFO    ] ================================================
[2026-08-29 11:12:35,763.763 INFO    ] Launching Daemon at Sat Aug 29 11:12:35 IST 2026
[2026-08-29 11:12:35,774.774 INFO    ] ================================================
[2026-08-29 11:12:36,121.121 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:12:36
[2026-08-29 11:12:36,434.434 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:12:36,566.566 INFO    ] Initializing speech engine...
[2026-08-29 11:12:36,571.571 INFO    ] 2026-08-29 11:12:36
[2026-08-29 11:12:36,799.799 INFO    ] 2026-08-29 11:12:36
[2026-08-29 11:12:36,829.829 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:12:36,959.959 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:12:36,993.993 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:12:37,143.143 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:12:37,172.172 INFO    ] time= 29/08/2026 11:12:37
[2026-08-29 11:12:37,228.228 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:12:37,273.273 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:12:37,353.353 INFO    ] No existing commands found in stream
[2026-08-29 11:12:42,363.363 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:12:42,366.366 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-08-29 11:12:44,270.270 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:12:44,271.271 INFO    ] Checking for system updates...
[2026-08-29 11:12:44,292.292 INFO    ] 200
[2026-08-29 11:12:44,293.293 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:12:44,324.324 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:12:44,325.325 INFO    ] No update needed
[2026-08-29 11:12:44,326.326 INFO    ] Checking for camera pi updates...
[2026-08-29 11:12:44,345.345 INFO    ] 200
[2026-08-29 11:12:44,347.347 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:12:44,369.369 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:12:44,445.445 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:12:44,446.446 INFO    ] No camera update needed
[2026-08-29 11:12:44,452.452 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:12:44,453.453 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:12:44,456.456 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:12:44,460.460 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:12:46,499.499 INFO    ] ================================================
[2026-08-29 11:12:46,514.514 INFO    ] Launching Daemon at Sat Aug 29 11:12:46 IST 2026
[2026-08-29 11:12:46,525.525 INFO    ] ================================================
[2026-08-29 11:12:46,876.876 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:12:46
[2026-08-29 11:12:47,187.187 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:12:47,330.330 INFO    ] Initializing speech engine...
[2026-08-29 11:12:47,335.335 INFO    ] 2026-08-29 11:12:47
[2026-08-29 11:12:47,520.520 INFO    ] 2026-08-29 11:12:47
[2026-08-29 11:12:47,600.600 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:12:47,748.748 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:12:47,757.757 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:12:47,890.890 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:12:47,911.911 INFO    ] time= 29/08/2026 11:12:47
[2026-08-29 11:12:47,970.970 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:12:48,021.021 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:12:48,147.147 INFO    ] No existing commands found in stream
[2026-08-29 11:12:53,177.177 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:12:53,180.180 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-08-29 11:12:56,076.076 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:12:56,077.077 INFO    ] Checking for system updates...
[2026-08-29 11:12:56,098.098 INFO    ] 200
[2026-08-29 11:12:56,099.099 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:12:56,131.131 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:12:56,133.133 INFO    ] No update needed
[2026-08-29 11:12:56,134.134 INFO    ] Checking for camera pi updates...
[2026-08-29 11:12:56,153.153 INFO    ] 200
[2026-08-29 11:12:56,155.155 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:12:56,177.177 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:12:56,365.365 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:12:56,366.366 INFO    ] No camera update needed
[2026-08-29 11:12:56,367.367 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:12:56,368.368 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:12:56,371.371 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:12:56,374.374 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:12:58,414.414 INFO    ] ================================================
[2026-08-29 11:12:58,430.430 INFO    ] Launching Daemon at Sat Aug 29 11:12:58 IST 2026
[2026-08-29 11:12:58,441.441 INFO    ] ================================================
[2026-08-29 11:12:58,955.955 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:12:58
[2026-08-29 11:12:59,538.538 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:12:59,791.791 INFO    ] Initializing speech engine...
[2026-08-29 11:12:59,814.814 INFO    ] 2026-08-29 11:12:59
[2026-08-29 11:13:00,070.070 INFO    ] 2026-08-29 11:13:00
[2026-08-29 11:13:00,105.105 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:13:00,280.280 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:13:00,286.286 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:13:00,438.438 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:13:00,447.447 INFO    ] time= 29/08/2026 11:13:00
[2026-08-29 11:13:00,451.451 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:13:00,457.457 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:13:00,526.526 INFO    ] No existing commands found in stream
[2026-08-29 11:13:05,541.541 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:13:05,544.544 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-08-29 11:13:06,429.429 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:13:06,431.431 INFO    ] Checking for system updates...
[2026-08-29 11:13:06,451.451 INFO    ] 200
[2026-08-29 11:13:06,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:13:06,483.483 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:13:06,485.485 INFO    ] No update needed
[2026-08-29 11:13:06,486.486 INFO    ] Checking for camera pi updates...
[2026-08-29 11:13:06,505.505 INFO    ] 200
[2026-08-29 11:13:06,506.506 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:13:06,529.529 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:13:06,615.615 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:13:06,618.618 INFO    ] No camera update needed
[2026-08-29 11:13:06,620.620 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:13:06,622.622 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:13:06,627.627 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:13:06,632.632 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:13:08,675.675 INFO    ] ================================================
[2026-08-29 11:13:08,690.690 INFO    ] Launching Daemon at Sat Aug 29 11:13:08 IST 2026
[2026-08-29 11:13:08,701.701 INFO    ] ================================================
[2026-08-29 11:13:09,283.283 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:13:09
[2026-08-29 11:13:09,799.799 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:13:10,059.059 INFO    ] Initializing speech engine...
[2026-08-29 11:13:10,066.066 INFO    ] 2026-08-29 11:13:10
[2026-08-29 11:13:10,364.364 INFO    ] 2026-08-29 11:13:10
[2026-08-29 11:13:10,399.399 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:13:10,547.547 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:13:10,555.555 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:13:10,704.704 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:13:10,714.714 INFO    ] time= 29/08/2026 11:13:10
[2026-08-29 11:13:10,719.719 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:13:10,742.742 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:13:10,794.794 INFO    ] No existing commands found in stream
[2026-08-29 11:13:15,807.807 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:13:15,809.809 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-08-29 11:13:16,825.825 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:13:16,827.827 INFO    ] Checking for system updates...
[2026-08-29 11:13:16,847.847 INFO    ] 200
[2026-08-29 11:13:16,849.849 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:13:16,878.878 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:13:16,879.879 INFO    ] No update needed
[2026-08-29 11:13:16,881.881 INFO    ] Checking for camera pi updates...
[2026-08-29 11:13:16,899.899 INFO    ] 200
[2026-08-29 11:13:16,901.901 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:13:16,924.924 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:13:17,003.003 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:13:17,005.005 INFO    ] No camera update needed
[2026-08-29 11:13:17,006.006 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:13:17,007.007 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:13:17,010.010 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:13:17,013.013 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:13:19,051.051 INFO    ] ================================================
[2026-08-29 11:13:19,066.066 INFO    ] Launching Daemon at Sat Aug 29 11:13:19 IST 2026
[2026-08-29 11:13:19,077.077 INFO    ] ================================================
[2026-08-29 11:13:19,591.591 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:13:19
[2026-08-29 11:13:20,187.187 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:13:20,465.465 INFO    ] Initializing speech engine...
[2026-08-29 11:13:20,471.471 INFO    ] 2026-08-29 11:13:20
[2026-08-29 11:13:20,716.716 INFO    ] 2026-08-29 11:13:20
[2026-08-29 11:13:20,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:13:20,927.927 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:13:20,939.939 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:13:21,080.080 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:13:21,088.088 INFO    ] time= 29/08/2026 11:13:21
[2026-08-29 11:13:21,093.093 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:13:21,098.098 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:13:21,170.170 INFO    ] No existing commands found in stream
[2026-08-29 11:13:26,206.206 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:13:26,208.208 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-08-29 11:13:30,015.015 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:13:30,016.016 INFO    ] Checking for system updates...
[2026-08-29 11:13:30,038.038 INFO    ] 200
[2026-08-29 11:13:30,039.039 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:13:30,069.069 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:13:30,071.071 INFO    ] No update needed
[2026-08-29 11:13:30,072.072 INFO    ] Checking for camera pi updates...
[2026-08-29 11:13:30,091.091 INFO    ] 200
[2026-08-29 11:13:30,093.093 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:13:30,117.117 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:13:30,197.197 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:13:30,199.199 INFO    ] No camera update needed
[2026-08-29 11:13:30,200.200 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:13:30,201.201 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:13:30,204.204 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:13:30,207.207 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:13:32,245.245 INFO    ] ================================================
[2026-08-29 11:13:32,261.261 INFO    ] Launching Daemon at Sat Aug 29 11:13:32 IST 2026
[2026-08-29 11:13:32,272.272 INFO    ] ================================================
[2026-08-29 11:13:32,840.840 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:13:32
[2026-08-29 11:13:33,426.426 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:13:33,679.679 INFO    ] Initializing speech engine...
[2026-08-29 11:13:33,702.702 INFO    ] 2026-08-29 11:13:33
[2026-08-29 11:13:33,958.958 INFO    ] 2026-08-29 11:13:33
[2026-08-29 11:13:33,994.994 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:13:34,169.169 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:13:34,182.182 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:13:34,322.322 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:13:34,336.336 INFO    ] time= 29/08/2026 11:13:34
[2026-08-29 11:13:34,343.343 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:13:34,384.384 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:13:34,507.507 INFO    ] No existing commands found in stream
[2026-08-29 11:13:39,537.537 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:13:39,540.540 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-08-29 11:13:42,298.298 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:13:42,299.299 INFO    ] Checking for system updates...
[2026-08-29 11:13:42,320.320 INFO    ] 200
[2026-08-29 11:13:42,321.321 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:13:42,352.352 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:13:42,353.353 INFO    ] No update needed
[2026-08-29 11:13:42,354.354 INFO    ] Checking for camera pi updates...
[2026-08-29 11:13:42,376.376 INFO    ] 200
[2026-08-29 11:13:42,378.378 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:13:42,401.401 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:13:42,480.480 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:13:42,482.482 INFO    ] No camera update needed
[2026-08-29 11:13:42,483.483 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:13:42,485.485 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:13:42,487.487 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:13:42,490.490 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:13:44,529.529 INFO    ] ================================================
[2026-08-29 11:13:44,545.545 INFO    ] Launching Daemon at Sat Aug 29 11:13:44 IST 2026
[2026-08-29 11:13:44,557.557 INFO    ] ================================================
[2026-08-29 11:13:44,958.958 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:13:44
[2026-08-29 11:13:45,558.558 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:13:45,833.833 INFO    ] Initializing speech engine...
[2026-08-29 11:13:45,849.849 INFO    ] 2026-08-29 11:13:45
[2026-08-29 11:13:46,122.122 INFO    ] 2026-08-29 11:13:46
[2026-08-29 11:13:46,159.159 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:13:46,356.356 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:13:46,371.371 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:13:46,493.493 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:13:46,500.500 INFO    ] time= 29/08/2026 11:13:46
[2026-08-29 11:13:46,521.521 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:13:46,542.542 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:13:46,624.624 INFO    ] No existing commands found in stream
[2026-08-29 11:13:51,636.636 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:13:51,639.639 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-08-29 11:13:53,717.717 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:13:53,719.719 INFO    ] Checking for system updates...
[2026-08-29 11:13:53,739.739 INFO    ] 200
[2026-08-29 11:13:53,741.741 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:13:53,771.771 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:13:53,772.772 INFO    ] No update needed
[2026-08-29 11:13:53,774.774 INFO    ] Checking for camera pi updates...
[2026-08-29 11:13:53,793.793 INFO    ] 200
[2026-08-29 11:13:53,794.794 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:13:53,817.817 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:13:53,916.916 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:13:53,918.918 INFO    ] No camera update needed
[2026-08-29 11:13:53,919.919 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:13:53,920.920 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:13:53,923.923 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:13:53,926.926 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:13:55,965.965 INFO    ] ================================================
[2026-08-29 11:13:55,981.981 INFO    ] Launching Daemon at Sat Aug 29 11:13:55 IST 2026
[2026-08-29 11:13:55,993.993 INFO    ] ================================================
[2026-08-29 11:13:56,369.369 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:13:56
[2026-08-29 11:13:56,703.703 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:13:56,855.855 INFO    ] Initializing speech engine...
[2026-08-29 11:13:56,861.861 INFO    ] 2026-08-29 11:13:56
[2026-08-29 11:13:57,070.070 INFO    ] 2026-08-29 11:13:57
[2026-08-29 11:13:57,099.099 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:13:57,287.287 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:13:57,296.296 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:13:57,429.429 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:13:57,497.497 INFO    ] time= 29/08/2026 11:13:57
[2026-08-29 11:13:57,521.521 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:13:57,528.528 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:13:57,595.595 INFO    ] No existing commands found in stream
[2026-08-29 11:14:02,605.605 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:14:02,609.609 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-08-29 11:14:06,346.346 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:14:06,347.347 INFO    ] Checking for system updates...
[2026-08-29 11:14:06,368.368 INFO    ] 200
[2026-08-29 11:14:06,369.369 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:14:06,401.401 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:14:06,403.403 INFO    ] No update needed
[2026-08-29 11:14:06,404.404 INFO    ] Checking for camera pi updates...
[2026-08-29 11:14:06,425.425 INFO    ] 200
[2026-08-29 11:14:06,426.426 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:14:06,449.449 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:14:06,534.534 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:14:06,536.536 INFO    ] No camera update needed
[2026-08-29 11:14:06,537.537 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:14:06,539.539 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:14:06,542.542 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:14:06,545.545 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:14:08,583.583 INFO    ] ================================================
[2026-08-29 11:14:08,599.599 INFO    ] Launching Daemon at Sat Aug 29 11:14:08 IST 2026
[2026-08-29 11:14:08,611.611 INFO    ] ================================================
[2026-08-29 11:14:08,942.942 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:14:08
[2026-08-29 11:14:09,258.258 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:14:09,393.393 INFO    ] Initializing speech engine...
[2026-08-29 11:14:09,405.405 INFO    ] 2026-08-29 11:14:09
[2026-08-29 11:14:09,612.612 INFO    ] 2026-08-29 11:14:09
[2026-08-29 11:14:09,648.648 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:14:09,840.840 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:14:09,856.856 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:14:09,979.979 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:14:09,984.984 INFO    ] time= 29/08/2026 11:14:09
[2026-08-29 11:14:10,006.006 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:14:10,027.027 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:14:10,108.108 INFO    ] No existing commands found in stream
[2026-08-29 11:14:15,120.120 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:14:15,123.123 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-08-29 11:14:17,850.850 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:14:17,851.851 INFO    ] Checking for system updates...
[2026-08-29 11:14:17,872.872 INFO    ] 200
[2026-08-29 11:14:17,874.874 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:14:17,904.904 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:14:17,905.905 INFO    ] No update needed
[2026-08-29 11:14:17,907.907 INFO    ] Checking for camera pi updates...
[2026-08-29 11:14:17,926.926 INFO    ] 200
[2026-08-29 11:14:17,927.927 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:14:17,950.950 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:14:18,033.033 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:14:18,034.034 INFO    ] No camera update needed
[2026-08-29 11:14:18,035.035 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:14:18,037.037 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:14:18,039.039 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:14:18,042.042 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:14:20,082.082 INFO    ] ================================================
[2026-08-29 11:14:20,098.098 INFO    ] Launching Daemon at Sat Aug 29 11:14:20 IST 2026
[2026-08-29 11:14:20,110.110 INFO    ] ================================================
[2026-08-29 11:14:20,462.462 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:14:20
[2026-08-29 11:14:20,780.780 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:14:20,923.923 INFO    ] Initializing speech engine...
[2026-08-29 11:14:20,930.930 INFO    ] 2026-08-29 11:14:20
[2026-08-29 11:14:21,136.136 INFO    ] 2026-08-29 11:14:21
[2026-08-29 11:14:21,225.225 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:14:21,390.390 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:14:21,400.400 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:14:21,550.550 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:14:21,573.573 INFO    ] time= 29/08/2026 11:14:21
[2026-08-29 11:14:21,632.632 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:14:21,681.681 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:14:21,759.759 INFO    ] No existing commands found in stream
[2026-08-29 11:14:26,771.771 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:14:26,774.774 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-08-29 11:14:29,592.592 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:14:29,593.593 INFO    ] Checking for system updates...
[2026-08-29 11:14:29,614.614 INFO    ] 200
[2026-08-29 11:14:29,615.615 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:14:29,649.649 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:14:29,650.650 INFO    ] No update needed
[2026-08-29 11:14:29,651.651 INFO    ] Checking for camera pi updates...
[2026-08-29 11:14:29,673.673 INFO    ] 200
[2026-08-29 11:14:29,674.674 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:14:29,699.699 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:14:29,772.772 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:14:29,773.773 INFO    ] No camera update needed
[2026-08-29 11:14:29,775.775 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:14:29,776.776 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:14:29,779.779 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:14:29,781.781 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:14:31,823.823 INFO    ] ================================================
[2026-08-29 11:14:31,838.838 INFO    ] Launching Daemon at Sat Aug 29 11:14:31 IST 2026
[2026-08-29 11:14:31,849.849 INFO    ] ================================================
[2026-08-29 11:14:32,422.422 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:14:32
[2026-08-29 11:14:33,125.125 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:14:33,435.435 INFO    ] Initializing speech engine...
[2026-08-29 11:14:33,442.442 INFO    ] 2026-08-29 11:14:33
[2026-08-29 11:14:33,698.698 INFO    ] 2026-08-29 11:14:33
[2026-08-29 11:14:33,735.735 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:14:33,923.923 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:14:33,934.934 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:14:34,040.040 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:14:34,047.047 INFO    ] time= 29/08/2026 11:14:34
[2026-08-29 11:14:34,070.070 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:14:34,077.077 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:14:34,125.125 INFO    ] No existing commands found in stream
[2026-08-29 11:14:39,135.135 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:14:39,138.138 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-08-29 11:14:41,075.075 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:14:41,076.076 INFO    ] Checking for system updates...
[2026-08-29 11:14:41,097.097 INFO    ] 200
[2026-08-29 11:14:41,098.098 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:14:41,128.128 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:14:41,129.129 INFO    ] No update needed
[2026-08-29 11:14:41,130.130 INFO    ] Checking for camera pi updates...
[2026-08-29 11:14:41,149.149 INFO    ] 200
[2026-08-29 11:14:41,151.151 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:14:41,176.176 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:14:41,253.253 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:14:41,254.254 INFO    ] No camera update needed
[2026-08-29 11:14:41,256.256 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:14:41,257.257 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:14:41,260.260 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:14:41,262.262 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:14:43,301.301 INFO    ] ================================================
[2026-08-29 11:14:43,317.317 INFO    ] Launching Daemon at Sat Aug 29 11:14:43 IST 2026
[2026-08-29 11:14:43,328.328 INFO    ] ================================================
[2026-08-29 11:14:43,923.923 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:14:43
[2026-08-29 11:14:44,586.586 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:14:44,886.886 INFO    ] Initializing speech engine...
[2026-08-29 11:14:44,899.899 INFO    ] 2026-08-29 11:14:44
[2026-08-29 11:14:45,169.169 INFO    ] 2026-08-29 11:14:45
[2026-08-29 11:14:45,222.222 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:14:45,442.442 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:14:45,451.451 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:14:45,584.584 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:14:45,626.626 INFO    ] time= 29/08/2026 11:14:45
[2026-08-29 11:14:45,680.680 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:14:45,719.719 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:14:45,825.825 INFO    ] No existing commands found in stream
[2026-08-29 11:14:50,854.854 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:14:50,857.857 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-08-29 11:14:51,766.766 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:14:51,768.768 INFO    ] Checking for system updates...
[2026-08-29 11:14:51,788.788 INFO    ] 200
[2026-08-29 11:14:51,789.789 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:14:51,819.819 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:14:51,820.820 INFO    ] No update needed
[2026-08-29 11:14:51,821.821 INFO    ] Checking for camera pi updates...
[2026-08-29 11:14:51,841.841 INFO    ] 200
[2026-08-29 11:14:51,842.842 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:14:51,868.868 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:14:51,972.972 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:14:51,973.973 INFO    ] No camera update needed
[2026-08-29 11:14:51,974.974 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:14:51,976.976 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:14:51,979.979 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:14:51,981.981 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:14:54,020.020 INFO    ] ================================================
[2026-08-29 11:14:54,036.036 INFO    ] Launching Daemon at Sat Aug 29 11:14:54 IST 2026
[2026-08-29 11:14:54,047.047 INFO    ] ================================================
[2026-08-29 11:14:54,402.402 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:14:54
[2026-08-29 11:14:54,719.719 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:14:54,853.853 INFO    ] Initializing speech engine...
[2026-08-29 11:14:54,865.865 INFO    ] 2026-08-29 11:14:54
[2026-08-29 11:14:55,122.122 INFO    ] 2026-08-29 11:14:55
[2026-08-29 11:14:55,150.150 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:14:55,296.296 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:14:55,305.305 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:14:55,474.474 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:14:55,506.506 INFO    ] time= 29/08/2026 11:14:55
[2026-08-29 11:14:55,521.521 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:14:55,530.530 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:14:55,627.627 INFO    ] No existing commands found in stream
[2026-08-29 11:15:00,649.649 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:15:00,652.652 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-08-29 11:15:01,154.154 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:15:01,155.155 INFO    ] Checking for system updates...
[2026-08-29 11:15:01,176.176 INFO    ] 200
[2026-08-29 11:15:01,177.177 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:15:01,207.207 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:15:01,208.208 INFO    ] No update needed
[2026-08-29 11:15:01,209.209 INFO    ] Checking for camera pi updates...
[2026-08-29 11:15:01,228.228 INFO    ] 200
[2026-08-29 11:15:01,229.229 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:15:01,252.252 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:15:01,434.434 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:15:01,435.435 INFO    ] No camera update needed
[2026-08-29 11:15:01,436.436 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:15:01,438.438 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:15:01,441.441 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:15:01,443.443 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:15:03,491.491 INFO    ] ================================================
[2026-08-29 11:15:03,512.512 INFO    ] Launching Daemon at Sat Aug 29 11:15:03 IST 2026
[2026-08-29 11:15:03,524.524 INFO    ] ================================================
[2026-08-29 11:15:04,140.140 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:15:04
[2026-08-29 11:15:04,735.735 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:15:04,991.991 INFO    ] Initializing speech engine...
[2026-08-29 11:15:04,996.996 INFO    ] 2026-08-29 11:15:04
[2026-08-29 11:15:05,214.214 INFO    ] 2026-08-29 11:15:05
[2026-08-29 11:15:05,245.245 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:15:05,357.357 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:15:05,380.380 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:15:05,511.511 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:15:05,528.528 INFO    ] time= 29/08/2026 11:15:05
[2026-08-29 11:15:05,603.603 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:15:05,663.663 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:15:05,723.723 INFO    ] No existing commands found in stream
[2026-08-29 11:15:10,745.745 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:15:10,754.754 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-08-29 11:15:14,311.311 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:15:14,313.313 INFO    ] Checking for system updates...
[2026-08-29 11:15:14,334.334 INFO    ] 200
[2026-08-29 11:15:14,335.335 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:15:14,365.365 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:15:14,367.367 INFO    ] No update needed
[2026-08-29 11:15:14,368.368 INFO    ] Checking for camera pi updates...
[2026-08-29 11:15:14,387.387 INFO    ] 200
[2026-08-29 11:15:14,389.389 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:15:14,412.412 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:15:14,517.517 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:15:14,518.518 INFO    ] No camera update needed
[2026-08-29 11:15:14,519.519 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:15:14,521.521 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:15:14,524.524 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:15:14,527.527 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:15:16,567.567 INFO    ] ================================================
[2026-08-29 11:15:16,583.583 INFO    ] Launching Daemon at Sat Aug 29 11:15:16 IST 2026
[2026-08-29 11:15:16,595.595 INFO    ] ================================================
[2026-08-29 11:15:16,966.966 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:15:16
[2026-08-29 11:15:17,304.304 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:15:17,585.585 INFO    ] Initializing speech engine...
[2026-08-29 11:15:17,589.589 INFO    ] 2026-08-29 11:15:17
[2026-08-29 11:15:17,840.840 INFO    ] 2026-08-29 11:15:17
[2026-08-29 11:15:17,876.876 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:15:18,048.048 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:15:18,061.061 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:15:18,187.187 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:15:18,210.210 INFO    ] time= 29/08/2026 11:15:18
[2026-08-29 11:15:18,215.215 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:15:18,221.221 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:15:18,287.287 INFO    ] No existing commands found in stream
[2026-08-29 11:15:23,323.323 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:15:23,326.326 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-08-29 11:15:24,196.196 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:15:24,198.198 INFO    ] Checking for system updates...
[2026-08-29 11:15:24,218.218 INFO    ] 200
[2026-08-29 11:15:24,219.219 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:15:24,252.252 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:15:24,254.254 INFO    ] No update needed
[2026-08-29 11:15:24,255.255 INFO    ] Checking for camera pi updates...
[2026-08-29 11:15:24,274.274 INFO    ] 200
[2026-08-29 11:15:24,275.275 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:15:24,298.298 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:15:24,385.385 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:15:24,387.387 INFO    ] No camera update needed
[2026-08-29 11:15:24,388.388 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:15:24,389.389 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:15:24,392.392 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:15:24,395.395 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:15:26,436.436 INFO    ] ================================================
[2026-08-29 11:15:26,451.451 INFO    ] Launching Daemon at Sat Aug 29 11:15:26 IST 2026
[2026-08-29 11:15:26,462.462 INFO    ] ================================================
[2026-08-29 11:15:26,840.840 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:15:26
[2026-08-29 11:15:27,169.169 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:15:27,441.441 INFO    ] Initializing speech engine...
[2026-08-29 11:15:27,454.454 INFO    ] 2026-08-29 11:15:27
[2026-08-29 11:15:27,705.705 INFO    ] 2026-08-29 11:15:27
[2026-08-29 11:15:27,773.773 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:15:27,995.995 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:15:28,004.004 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:15:28,138.138 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:15:28,180.180 INFO    ] time= 29/08/2026 11:15:28
[2026-08-29 11:15:28,243.243 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:15:28,276.276 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:15:28,334.334 INFO    ] No existing commands found in stream
[2026-08-29 11:15:33,366.366 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:15:33,369.369 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-08-29 11:15:34,079.079 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:15:34,083.083 INFO    ] Checking for system updates...
[2026-08-29 11:15:34,119.119 INFO    ] 200
[2026-08-29 11:15:34,122.122 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:15:34,175.175 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:15:34,178.178 INFO    ] No update needed
[2026-08-29 11:15:34,180.180 INFO    ] Checking for camera pi updates...
[2026-08-29 11:15:34,219.219 INFO    ] 200
[2026-08-29 11:15:34,221.221 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:15:34,263.263 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:15:34,342.342 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:15:34,345.345 INFO    ] No camera update needed
[2026-08-29 11:15:34,347.347 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:15:34,349.349 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:15:34,354.354 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:15:34,359.359 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:15:36,399.399 INFO    ] ================================================
[2026-08-29 11:15:36,415.415 INFO    ] Launching Daemon at Sat Aug 29 11:15:36 IST 2026
[2026-08-29 11:15:36,426.426 INFO    ] ================================================
[2026-08-29 11:15:36,781.781 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:15:36
[2026-08-29 11:15:37,098.098 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:15:37,234.234 INFO    ] Initializing speech engine...
[2026-08-29 11:15:37,237.237 INFO    ] 2026-08-29 11:15:37
[2026-08-29 11:15:37,469.469 INFO    ] 2026-08-29 11:15:37
[2026-08-29 11:15:37,500.500 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:15:37,634.634 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:15:37,671.671 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:15:37,807.807 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:15:37,857.857 INFO    ] time= 29/08/2026 11:15:37
[2026-08-29 11:15:37,872.872 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:15:37,928.928 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:15:38,037.037 INFO    ] No existing commands found in stream
[2026-08-29 11:15:43,051.051 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:15:43,054.054 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-08-29 11:15:46,035.035 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:15:46,037.037 INFO    ] Checking for system updates...
[2026-08-29 11:15:46,058.058 INFO    ] 200
[2026-08-29 11:15:46,059.059 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:15:46,089.089 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:15:46,090.090 INFO    ] No update needed
[2026-08-29 11:15:46,092.092 INFO    ] Checking for camera pi updates...
[2026-08-29 11:15:46,111.111 INFO    ] 200
[2026-08-29 11:15:46,112.112 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:15:46,138.138 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:15:46,214.214 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:15:46,215.215 INFO    ] No camera update needed
[2026-08-29 11:15:46,216.216 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:15:46,217.217 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:15:46,220.220 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:15:46,223.223 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:15:48,262.262 INFO    ] ================================================
[2026-08-29 11:15:48,278.278 INFO    ] Launching Daemon at Sat Aug 29 11:15:48 IST 2026
[2026-08-29 11:15:48,290.290 INFO    ] ================================================
[2026-08-29 11:15:48,637.637 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:15:48
[2026-08-29 11:15:49,154.154 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:15:49,429.429 INFO    ] Initializing speech engine...
[2026-08-29 11:15:49,438.438 INFO    ] 2026-08-29 11:15:49
[2026-08-29 11:15:49,694.694 INFO    ] 2026-08-29 11:15:49
[2026-08-29 11:15:49,756.756 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:15:49,977.977 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:15:49,987.987 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:15:50,119.119 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:15:50,167.167 INFO    ] time= 29/08/2026 11:15:50
[2026-08-29 11:15:50,221.221 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:15:50,254.254 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:15:50,306.306 INFO    ] No existing commands found in stream
[2026-08-29 11:15:55,318.318 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:15:55,321.321 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-08-29 11:15:57,324.324 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:15:57,326.326 INFO    ] Checking for system updates...
[2026-08-29 11:15:57,362.362 INFO    ] 200
[2026-08-29 11:15:57,365.365 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:15:57,417.417 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:15:57,419.419 INFO    ] No update needed
[2026-08-29 11:15:57,422.422 INFO    ] Checking for camera pi updates...
[2026-08-29 11:15:57,456.456 INFO    ] 200
[2026-08-29 11:15:57,459.459 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:15:57,500.500 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:15:57,595.595 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:15:57,597.597 INFO    ] No camera update needed
[2026-08-29 11:15:57,599.599 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:15:57,602.602 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:15:57,607.607 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:15:57,612.612 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:15:59,655.655 INFO    ] ================================================
[2026-08-29 11:15:59,671.671 INFO    ] Launching Daemon at Sat Aug 29 11:15:59 IST 2026
[2026-08-29 11:15:59,683.683 INFO    ] ================================================
[2026-08-29 11:16:00,055.055 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:16:00
[2026-08-29 11:16:00,371.371 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:16:00,586.586 INFO    ] Initializing speech engine...
[2026-08-29 11:16:00,610.610 INFO    ] 2026-08-29 11:16:00
[2026-08-29 11:16:00,890.890 INFO    ] 2026-08-29 11:16:00
[2026-08-29 11:16:00,929.929 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:16:01,077.077 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:16:01,085.085 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:16:01,237.237 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:16:01,248.248 INFO    ] time= 29/08/2026 11:16:01
[2026-08-29 11:16:01,253.253 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:16:01,276.276 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:16:01,328.328 INFO    ] No existing commands found in stream
[2026-08-29 11:16:06,340.340 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:16:06,343.343 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-08-29 11:16:07,090.090 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:16:07,092.092 INFO    ] Checking for system updates...
[2026-08-29 11:16:07,114.114 INFO    ] 200
[2026-08-29 11:16:07,116.116 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:16:07,148.148 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:16:07,150.150 INFO    ] No update needed
[2026-08-29 11:16:07,151.151 INFO    ] Checking for camera pi updates...
[2026-08-29 11:16:07,170.170 INFO    ] 200
[2026-08-29 11:16:07,171.171 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:16:07,195.195 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:16:07,271.271 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:16:07,273.273 INFO    ] No camera update needed
[2026-08-29 11:16:07,274.274 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:16:07,275.275 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:16:07,279.279 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:16:07,282.282 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:16:09,314.314 INFO    ] ================================================
[2026-08-29 11:16:09,322.322 INFO    ] Launching Daemon at Sat Aug 29 11:16:09 IST 2026
[2026-08-29 11:16:09,329.329 INFO    ] ================================================
[2026-08-29 11:16:09,842.842 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:16:09
[2026-08-29 11:16:10,447.447 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:16:10,724.724 INFO    ] Initializing speech engine...
[2026-08-29 11:16:10,734.734 INFO    ] 2026-08-29 11:16:10
[2026-08-29 11:16:10,998.998 INFO    ] 2026-08-29 11:16:10
[2026-08-29 11:16:11,052.052 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:16:12,264.264 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:16:12,318.318 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:16:13,457.457 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:16:13,462.462 INFO    ] time= 29/08/2026 11:16:13
[2026-08-29 11:16:13,470.470 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:16:13,480.480 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:16:13,531.531 INFO    ] No existing commands found in stream
[2026-08-29 11:16:18,540.540 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:16:18,542.542 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-08-29 11:16:20,314.314 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:16:20,317.317 INFO    ] Checking for system updates...
[2026-08-29 11:16:20,353.353 INFO    ] 200
[2026-08-29 11:16:20,355.355 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:16:20,408.408 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:16:20,410.410 INFO    ] No update needed
[2026-08-29 11:16:20,413.413 INFO    ] Checking for camera pi updates...
[2026-08-29 11:16:20,446.446 INFO    ] 200
[2026-08-29 11:16:20,449.449 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:16:20,495.495 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:16:20,587.587 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:16:20,589.589 INFO    ] No camera update needed
[2026-08-29 11:16:20,591.591 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:16:20,594.594 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:16:20,599.599 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:16:20,604.604 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:16:22,646.646 INFO    ] ================================================
[2026-08-29 11:16:22,661.661 INFO    ] Launching Daemon at Sat Aug 29 11:16:22 IST 2026
[2026-08-29 11:16:22,672.672 INFO    ] ================================================
[2026-08-29 11:16:23,038.038 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:16:23
[2026-08-29 11:16:23,373.373 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:16:23,521.521 INFO    ] Initializing speech engine...
[2026-08-29 11:16:23,532.532 INFO    ] 2026-08-29 11:16:23
[2026-08-29 11:16:23,740.740 INFO    ] 2026-08-29 11:16:23
[2026-08-29 11:16:23,769.769 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:16:23,882.882 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:16:23,894.894 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:16:24,083.083 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:16:24,101.101 INFO    ] time= 29/08/2026 11:16:24
[2026-08-29 11:16:24,110.110 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:16:24,137.137 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:16:24,245.245 INFO    ] No existing commands found in stream
[2026-08-29 11:16:29,262.262 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:16:29,265.265 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-08-29 11:16:33,210.210 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:16:33,214.214 INFO    ] Checking for system updates...
[2026-08-29 11:16:33,253.253 INFO    ] 200
[2026-08-29 11:16:33,255.255 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:16:33,308.308 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:16:33,310.310 INFO    ] No update needed
[2026-08-29 11:16:33,313.313 INFO    ] Checking for camera pi updates...
[2026-08-29 11:16:33,347.347 INFO    ] 200
[2026-08-29 11:16:33,349.349 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:16:33,389.389 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:16:33,479.479 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:16:33,482.482 INFO    ] No camera update needed
[2026-08-29 11:16:33,484.484 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:16:33,486.486 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:16:33,492.492 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:16:33,497.497 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:16:35,538.538 INFO    ] ================================================
[2026-08-29 11:16:35,556.556 INFO    ] Launching Daemon at Sat Aug 29 11:16:35 IST 2026
[2026-08-29 11:16:35,569.569 INFO    ] ================================================
[2026-08-29 11:16:35,928.928 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:16:35
[2026-08-29 11:16:36,264.264 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:16:36,415.415 INFO    ] Initializing speech engine...
[2026-08-29 11:16:36,420.420 INFO    ] 2026-08-29 11:16:36
[2026-08-29 11:16:36,627.627 INFO    ] 2026-08-29 11:16:36
[2026-08-29 11:16:36,709.709 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:16:36,871.871 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:16:36,878.878 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:16:37,011.011 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:16:37,061.061 INFO    ] time= 29/08/2026 11:16:37
[2026-08-29 11:16:37,110.110 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:16:37,161.161 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:16:37,281.281 INFO    ] No existing commands found in stream
[2026-08-29 11:16:42,304.304 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:16:42,307.307 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-08-29 11:16:45,677.677 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:16:45,678.678 INFO    ] Checking for system updates...
[2026-08-29 11:16:45,700.700 INFO    ] 200
[2026-08-29 11:16:45,701.701 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:16:45,734.734 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:16:45,735.735 INFO    ] No update needed
[2026-08-29 11:16:45,737.737 INFO    ] Checking for camera pi updates...
[2026-08-29 11:16:45,759.759 INFO    ] 200
[2026-08-29 11:16:45,760.760 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:16:45,783.783 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:16:45,949.949 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:16:45,952.952 INFO    ] No camera update needed
[2026-08-29 11:16:45,955.955 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:16:45,957.957 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:16:45,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:16:45,970.970 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:16:48,010.010 INFO    ] ================================================
[2026-08-29 11:16:48,025.025 INFO    ] Launching Daemon at Sat Aug 29 11:16:48 IST 2026
[2026-08-29 11:16:48,036.036 INFO    ] ================================================
[2026-08-29 11:16:48,603.603 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:16:48
[2026-08-29 11:16:49,033.033 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:16:49,178.178 INFO    ] Initializing speech engine...
[2026-08-29 11:16:49,183.183 INFO    ] 2026-08-29 11:16:49
[2026-08-29 11:16:49,368.368 INFO    ] 2026-08-29 11:16:49
[2026-08-29 11:16:49,403.403 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:16:49,579.579 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:16:49,594.594 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:16:49,722.722 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:16:49,742.742 INFO    ] time= 29/08/2026 11:16:49
[2026-08-29 11:16:49,751.751 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:16:49,757.757 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:16:49,826.826 INFO    ] No existing commands found in stream
[2026-08-29 11:16:54,856.856 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:16:54,859.859 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-08-29 11:16:55,803.803 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:16:55,806.806 INFO    ] Checking for system updates...
[2026-08-29 11:16:55,842.842 INFO    ] 200
[2026-08-29 11:16:55,844.844 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:16:55,897.897 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:16:55,900.900 INFO    ] No update needed
[2026-08-29 11:16:55,902.902 INFO    ] Checking for camera pi updates...
[2026-08-29 11:16:55,936.936 INFO    ] 200
[2026-08-29 11:16:55,938.938 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:16:55,978.978 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:16:56,060.060 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:16:56,062.062 INFO    ] No camera update needed
[2026-08-29 11:16:56,065.065 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:16:56,067.067 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:16:56,072.072 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:16:56,077.077 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:16:58,121.121 INFO    ] ================================================
[2026-08-29 11:16:58,136.136 INFO    ] Launching Daemon at Sat Aug 29 11:16:58 IST 2026
[2026-08-29 11:16:58,147.147 INFO    ] ================================================
[2026-08-29 11:16:58,713.713 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:16:58
[2026-08-29 11:16:59,038.038 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:16:59,168.168 INFO    ] Initializing speech engine...
[2026-08-29 11:16:59,173.173 INFO    ] 2026-08-29 11:16:59
[2026-08-29 11:16:59,425.425 INFO    ] 2026-08-29 11:16:59
[2026-08-29 11:16:59,485.485 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:16:59,654.654 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:16:59,661.661 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:16:59,822.822 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:16:59,865.865 INFO    ] time= 29/08/2026 11:16:59
[2026-08-29 11:16:59,871.871 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:16:59,892.892 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:17:00,008.008 INFO    ] No existing commands found in stream
[2026-08-29 11:17:05,032.032 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:17:05,035.035 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-08-29 11:17:06,104.104 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:17:06,105.105 INFO    ] Checking for system updates...
[2026-08-29 11:17:06,125.125 INFO    ] 200
[2026-08-29 11:17:06,126.126 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:17:06,158.158 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:17:06,159.159 INFO    ] No update needed
[2026-08-29 11:17:06,160.160 INFO    ] Checking for camera pi updates...
[2026-08-29 11:17:06,183.183 INFO    ] 200
[2026-08-29 11:17:06,184.184 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:17:06,208.208 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:17:06,770.770 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:17:06,773.773 INFO    ] No camera update needed
[2026-08-29 11:17:06,775.775 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:17:06,777.777 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:17:06,783.783 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:17:06,788.788 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:17:08,828.828 INFO    ] ================================================
[2026-08-29 11:17:08,844.844 INFO    ] Launching Daemon at Sat Aug 29 11:17:08 IST 2026
[2026-08-29 11:17:08,855.855 INFO    ] ================================================
[2026-08-29 11:17:09,206.206 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:17:09
[2026-08-29 11:17:09,521.521 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:17:09,654.654 INFO    ] Initializing speech engine...
[2026-08-29 11:17:09,657.657 INFO    ] 2026-08-29 11:17:09
[2026-08-29 11:17:09,876.876 INFO    ] 2026-08-29 11:17:09
[2026-08-29 11:17:09,905.905 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:17:10,043.043 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:17:10,050.050 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:17:10,235.235 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:17:10,256.256 INFO    ] time= 29/08/2026 11:17:10
[2026-08-29 11:17:10,271.271 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:17:10,280.280 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:17:10,391.391 INFO    ] No existing commands found in stream
[2026-08-29 11:17:15,419.419 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:17:15,422.422 INFO    ] Waiting 2.42 seconds before fallback handling...
[2026-08-29 11:17:18,278.278 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:17:18,280.280 INFO    ] Checking for system updates...
[2026-08-29 11:17:18,316.316 INFO    ] 200
[2026-08-29 11:17:18,318.318 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:17:18,372.372 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:17:18,374.374 INFO    ] No update needed
[2026-08-29 11:17:18,377.377 INFO    ] Checking for camera pi updates...
[2026-08-29 11:17:18,415.415 INFO    ] 200
[2026-08-29 11:17:18,417.417 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:17:18,461.461 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:17:18,567.567 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:17:18,569.569 INFO    ] No camera update needed
[2026-08-29 11:17:18,572.572 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:17:18,574.574 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:17:18,579.579 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:17:18,584.584 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:17:20,626.626 INFO    ] ================================================
[2026-08-29 11:17:20,641.641 INFO    ] Launching Daemon at Sat Aug 29 11:17:20 IST 2026
[2026-08-29 11:17:20,652.652 INFO    ] ================================================
[2026-08-29 11:17:21,163.163 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:17:21
[2026-08-29 11:17:21,761.761 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:17:22,019.019 INFO    ] Initializing speech engine...
[2026-08-29 11:17:22,028.028 INFO    ] 2026-08-29 11:17:22
[2026-08-29 11:17:22,320.320 INFO    ] 2026-08-29 11:17:22
[2026-08-29 11:17:22,358.358 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:17:22,552.552 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:17:22,567.567 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:17:22,691.691 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:17:22,697.697 INFO    ] time= 29/08/2026 11:17:22
[2026-08-29 11:17:22,716.716 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:17:22,738.738 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:17:22,819.819 INFO    ] No existing commands found in stream
[2026-08-29 11:17:27,829.829 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:17:27,832.832 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 11:17:29,266.266 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:17:29,267.267 INFO    ] Checking for system updates...
[2026-08-29 11:17:29,288.288 INFO    ] 200
[2026-08-29 11:17:29,290.290 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:17:29,321.321 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:17:29,323.323 INFO    ] No update needed
[2026-08-29 11:17:29,324.324 INFO    ] Checking for camera pi updates...
[2026-08-29 11:17:29,343.343 INFO    ] 200
[2026-08-29 11:17:29,344.344 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:17:29,369.369 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:17:29,456.456 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:17:29,457.457 INFO    ] No camera update needed
[2026-08-29 11:17:29,458.458 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:17:29,459.459 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:17:29,462.462 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:17:29,465.465 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:17:31,503.503 INFO    ] ================================================
[2026-08-29 11:17:31,518.518 INFO    ] Launching Daemon at Sat Aug 29 11:17:31 IST 2026
[2026-08-29 11:17:31,529.529 INFO    ] ================================================
[2026-08-29 11:17:31,877.877 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:17:31
[2026-08-29 11:17:32,328.328 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:17:32,665.665 INFO    ] Initializing speech engine...
[2026-08-29 11:17:32,678.678 INFO    ] 2026-08-29 11:17:32
[2026-08-29 11:17:33,013.013 INFO    ] 2026-08-29 11:17:32
[2026-08-29 11:17:33,104.104 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:17:33,284.284 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:17:33,290.290 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:17:33,429.429 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:17:33,484.484 INFO    ] time= 29/08/2026 11:17:33
[2026-08-29 11:17:33,544.544 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:17:33,567.567 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:17:33,623.623 INFO    ] No existing commands found in stream
[2026-08-29 11:17:38,635.635 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:17:38,638.638 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 11:17:42,156.156 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:17:42,158.158 INFO    ] Checking for system updates...
[2026-08-29 11:17:42,178.178 INFO    ] 200
[2026-08-29 11:17:42,180.180 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:17:42,210.210 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:17:42,211.211 INFO    ] No update needed
[2026-08-29 11:17:42,213.213 INFO    ] Checking for camera pi updates...
[2026-08-29 11:17:42,232.232 INFO    ] 200
[2026-08-29 11:17:42,234.234 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:17:42,258.258 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:17:42,338.338 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:17:42,339.339 INFO    ] No camera update needed
[2026-08-29 11:17:42,340.340 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:17:42,342.342 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:17:42,345.345 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:17:42,348.348 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:17:44,387.387 INFO    ] ================================================
[2026-08-29 11:17:44,402.402 INFO    ] Launching Daemon at Sat Aug 29 11:17:44 IST 2026
[2026-08-29 11:17:44,413.413 INFO    ] ================================================
[2026-08-29 11:17:44,865.865 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:17:44
[2026-08-29 11:17:45,464.464 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:17:45,741.741 INFO    ] Initializing speech engine...
[2026-08-29 11:17:45,750.750 INFO    ] 2026-08-29 11:17:45
[2026-08-29 11:17:46,001.001 INFO    ] 2026-08-29 11:17:45
[2026-08-29 11:17:46,069.069 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:17:46,290.290 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:17:46,299.299 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:17:46,434.434 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:17:46,474.474 INFO    ] time= 29/08/2026 11:17:46
[2026-08-29 11:17:46,538.538 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:17:46,569.569 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:17:46,683.683 INFO    ] No existing commands found in stream
[2026-08-29 11:17:51,705.705 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:17:51,708.708 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-08-29 11:17:55,985.985 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:17:55,988.988 INFO    ] Checking for system updates...
[2026-08-29 11:17:56,027.027 INFO    ] 200
[2026-08-29 11:17:56,030.030 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:17:56,086.086 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:17:56,089.089 INFO    ] No update needed
[2026-08-29 11:17:56,092.092 INFO    ] Checking for camera pi updates...
[2026-08-29 11:17:56,127.127 INFO    ] 200
[2026-08-29 11:17:56,130.130 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:17:56,173.173 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:17:56,233.233 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:17:56,236.236 INFO    ] No camera update needed
[2026-08-29 11:17:56,239.239 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:17:56,241.241 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:17:56,248.248 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:17:56,254.254 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:17:58,296.296 INFO    ] ================================================
[2026-08-29 11:17:58,311.311 INFO    ] Launching Daemon at Sat Aug 29 11:17:58 IST 2026
[2026-08-29 11:17:58,321.321 INFO    ] ================================================
[2026-08-29 11:17:58,905.905 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:17:58
[2026-08-29 11:17:59,248.248 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:17:59,421.421 INFO    ] Initializing speech engine...
[2026-08-29 11:17:59,430.430 INFO    ] 2026-08-29 11:17:59
[2026-08-29 11:17:59,680.680 INFO    ] 2026-08-29 11:17:59
[2026-08-29 11:17:59,717.717 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:17:59,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:17:59,928.928 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:18:00,050.050 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:18:00,056.056 INFO    ] time= 29/08/2026 11:18:00
[2026-08-29 11:18:00,063.063 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:18:00,083.083 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:18:00,186.186 INFO    ] No existing commands found in stream
[2026-08-29 11:18:05,197.197 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:18:05,200.200 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-08-29 11:18:08,161.161 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:18:08,162.162 INFO    ] Checking for system updates...
[2026-08-29 11:18:08,184.184 INFO    ] 200
[2026-08-29 11:18:08,185.185 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:18:08,215.215 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:18:08,216.216 INFO    ] No update needed
[2026-08-29 11:18:08,217.217 INFO    ] Checking for camera pi updates...
[2026-08-29 11:18:08,237.237 INFO    ] 200
[2026-08-29 11:18:08,239.239 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:18:08,261.261 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:18:08,309.309 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:18:08,310.310 INFO    ] No camera update needed
[2026-08-29 11:18:08,311.311 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:18:08,313.313 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:18:08,316.316 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:18:08,318.318 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:18:10,358.358 INFO    ] ================================================
[2026-08-29 11:18:10,373.373 INFO    ] Launching Daemon at Sat Aug 29 11:18:10 IST 2026
[2026-08-29 11:18:10,384.384 INFO    ] ================================================
[2026-08-29 11:18:10,730.730 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:18:10
[2026-08-29 11:18:11,048.048 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:18:11,182.182 INFO    ] Initializing speech engine...
[2026-08-29 11:18:11,187.187 INFO    ] 2026-08-29 11:18:11
[2026-08-29 11:18:11,417.417 INFO    ] 2026-08-29 11:18:11
[2026-08-29 11:18:11,448.448 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:18:11,581.581 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:18:11,624.624 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:18:11,794.794 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:18:11,826.826 INFO    ] time= 29/08/2026 11:18:11
[2026-08-29 11:18:11,880.880 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:18:11,906.906 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:18:11,982.982 INFO    ] No existing commands found in stream
[2026-08-29 11:18:16,993.993 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:18:16,995.995 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-08-29 11:18:20,386.386 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:18:20,389.389 INFO    ] Checking for system updates...
[2026-08-29 11:18:20,426.426 INFO    ] 200
[2026-08-29 11:18:20,429.429 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 11:18:20,432.432 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-08-29 11:18:20,434.434 INFO    ] Checking for camera pi updates...
[2026-08-29 11:18:20,478.478 INFO    ] 200
[2026-08-29 11:18:20,480.480 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 11:18:20,483.483 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-08-29 11:18:20,486.486 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:18:20,488.488 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:18:20,494.494 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:18:20,500.500 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:18:22,539.539 INFO    ] ================================================
[2026-08-29 11:18:22,555.555 INFO    ] Launching Daemon at Sat Aug 29 11:18:22 IST 2026
[2026-08-29 11:18:22,565.565 INFO    ] ================================================
[2026-08-29 11:18:22,908.908 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:18:22
[2026-08-29 11:18:23,293.293 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:18:23,563.563 INFO    ] Initializing speech engine...
[2026-08-29 11:18:23,571.571 INFO    ] 2026-08-29 11:18:23
[2026-08-29 11:18:23,820.820 INFO    ] 2026-08-29 11:18:23
[2026-08-29 11:18:23,855.855 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:18:24,028.028 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:18:24,041.041 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:18:24,166.166 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:18:24,190.190 INFO    ] time= 29/08/2026 11:18:24
[2026-08-29 11:18:24,195.195 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:18:24,201.201 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:18:24,266.266 INFO    ] No existing commands found in stream
[2026-08-29 11:18:29,278.278 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:18:29,281.281 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-08-29 11:18:30,434.434 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:18:30,436.436 INFO    ] Checking for system updates...
[2026-08-29 11:18:30,456.456 INFO    ] 200
[2026-08-29 11:18:30,458.458 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:18:30,492.492 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:18:30,494.494 INFO    ] No update needed
[2026-08-29 11:18:30,495.495 INFO    ] Checking for camera pi updates...
[2026-08-29 11:18:30,514.514 INFO    ] 200
[2026-08-29 11:18:30,516.516 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:18:30,540.540 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:18:30,638.638 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:18:30,639.639 INFO    ] No camera update needed
[2026-08-29 11:18:30,640.640 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:18:30,641.641 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:18:30,644.644 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:18:30,647.647 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:18:32,691.691 INFO    ] ================================================
[2026-08-29 11:18:32,710.710 INFO    ] Launching Daemon at Sat Aug 29 11:18:32 IST 2026
[2026-08-29 11:18:32,722.722 INFO    ] ================================================
[2026-08-29 11:18:33,312.312 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:18:33
[2026-08-29 11:18:33,913.913 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:18:34,176.176 INFO    ] Initializing speech engine...
[2026-08-29 11:18:34,182.182 INFO    ] 2026-08-29 11:18:34
[2026-08-29 11:18:34,489.489 INFO    ] 2026-08-29 11:18:34
[2026-08-29 11:18:34,526.526 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:18:34,682.682 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:18:34,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:18:34,845.845 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:18:34,856.856 INFO    ] time= 29/08/2026 11:18:34
[2026-08-29 11:18:34,863.863 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:18:34,886.886 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:18:35,015.015 INFO    ] No existing commands found in stream
[2026-08-29 11:18:40,027.027 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:18:40,029.029 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-08-29 11:18:40,763.763 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:18:40,764.764 INFO    ] Checking for system updates...
[2026-08-29 11:18:40,784.784 INFO    ] 200
[2026-08-29 11:18:40,786.786 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:18:40,818.818 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:18:40,820.820 INFO    ] No update needed
[2026-08-29 11:18:40,821.821 INFO    ] Checking for camera pi updates...
[2026-08-29 11:18:40,840.840 INFO    ] 200
[2026-08-29 11:18:40,841.841 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:18:40,865.865 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:18:40,981.981 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:18:40,983.983 INFO    ] No camera update needed
[2026-08-29 11:18:40,984.984 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:18:40,985.985 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:18:40,988.988 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:18:40,991.991 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:18:43,030.030 INFO    ] ================================================
[2026-08-29 11:18:43,052.052 INFO    ] Launching Daemon at Sat Aug 29 11:18:43 IST 2026
[2026-08-29 11:18:43,063.063 INFO    ] ================================================
[2026-08-29 11:18:43,454.454 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:18:43
[2026-08-29 11:18:43,798.798 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:18:43,956.956 INFO    ] Initializing speech engine...
[2026-08-29 11:18:43,961.961 INFO    ] 2026-08-29 11:18:43
[2026-08-29 11:18:44,170.170 INFO    ] 2026-08-29 11:18:44
[2026-08-29 11:18:44,199.199 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:18:44,324.324 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:18:44,388.388 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:18:44,534.534 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:18:44,597.597 INFO    ] time= 29/08/2026 11:18:44
[2026-08-29 11:18:44,621.621 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:18:44,628.628 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:18:44,695.695 INFO    ] No existing commands found in stream
[2026-08-29 11:18:49,706.706 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:18:49,709.709 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-08-29 11:18:50,167.167 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:18:50,169.169 INFO    ] Checking for system updates...
[2026-08-29 11:18:50,191.191 INFO    ] 200
[2026-08-29 11:18:50,193.193 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:18:50,226.226 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:18:50,227.227 INFO    ] No update needed
[2026-08-29 11:18:50,229.229 INFO    ] Checking for camera pi updates...
[2026-08-29 11:18:50,252.252 INFO    ] 200
[2026-08-29 11:18:50,253.253 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:18:50,279.279 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:18:50,382.382 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:18:50,385.385 INFO    ] No camera update needed
[2026-08-29 11:18:50,388.388 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:18:50,390.390 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:18:50,397.397 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:18:50,403.403 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:18:52,445.445 INFO    ] ================================================
[2026-08-29 11:18:52,461.461 INFO    ] Launching Daemon at Sat Aug 29 11:18:52 IST 2026
[2026-08-29 11:18:52,472.472 INFO    ] ================================================
[2026-08-29 11:18:53,067.067 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:18:53
[2026-08-29 11:18:53,669.669 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:18:53,950.950 INFO    ] Initializing speech engine...
[2026-08-29 11:18:53,959.959 INFO    ] 2026-08-29 11:18:53
[2026-08-29 11:18:54,235.235 INFO    ] 2026-08-29 11:18:54
[2026-08-29 11:18:54,261.261 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:18:54,479.479 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:18:54,487.487 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:18:54,625.625 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:18:54,632.632 INFO    ] time= 29/08/2026 11:18:54
[2026-08-29 11:18:54,653.653 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:18:54,668.668 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:18:54,761.761 INFO    ] No existing commands found in stream
[2026-08-29 11:18:59,772.772 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:18:59,775.775 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-08-29 11:19:03,730.730 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:19:03,732.732 INFO    ] Checking for system updates...
[2026-08-29 11:19:03,774.774 INFO    ] 200
[2026-08-29 11:19:03,776.776 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:19:03,829.829 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:19:03,832.832 INFO    ] No update needed
[2026-08-29 11:19:03,834.834 INFO    ] Checking for camera pi updates...
[2026-08-29 11:19:03,872.872 INFO    ] 200
[2026-08-29 11:19:03,875.875 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:19:03,921.921 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:19:04,136.136 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:19:04,138.138 INFO    ] No camera update needed
[2026-08-29 11:19:04,141.141 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:19:04,143.143 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:19:04,148.148 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:19:04,154.154 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:19:06,197.197 INFO    ] ================================================
[2026-08-29 11:19:06,212.212 INFO    ] Launching Daemon at Sat Aug 29 11:19:06 IST 2026
[2026-08-29 11:19:06,223.223 INFO    ] ================================================
[2026-08-29 11:19:06,649.649 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:19:06
[2026-08-29 11:19:07,250.250 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:19:07,516.516 INFO    ] Initializing speech engine...
[2026-08-29 11:19:07,521.521 INFO    ] 2026-08-29 11:19:07
[2026-08-29 11:19:07,820.820 INFO    ] 2026-08-29 11:19:07
[2026-08-29 11:19:07,859.859 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:19:08,007.007 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:19:08,014.014 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:19:08,166.166 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:19:08,177.177 INFO    ] time= 29/08/2026 11:19:08
[2026-08-29 11:19:08,181.181 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:19:08,187.187 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:19:08,252.252 INFO    ] No existing commands found in stream
[2026-08-29 11:19:13,264.264 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:19:13,267.267 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-08-29 11:19:14,017.017 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:19:14,018.018 INFO    ] Checking for system updates...
[2026-08-29 11:19:14,040.040 INFO    ] 200
[2026-08-29 11:19:14,041.041 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:19:14,071.071 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:19:14,072.072 INFO    ] No update needed
[2026-08-29 11:19:14,073.073 INFO    ] Checking for camera pi updates...
[2026-08-29 11:19:14,093.093 INFO    ] 200
[2026-08-29 11:19:14,094.094 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:19:14,117.117 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:19:14,195.195 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:19:14,197.197 INFO    ] No camera update needed
[2026-08-29 11:19:14,198.198 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:19:14,199.199 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:19:14,202.202 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:19:14,205.205 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:19:16,244.244 INFO    ] ================================================
[2026-08-29 11:19:16,259.259 INFO    ] Launching Daemon at Sat Aug 29 11:19:16 IST 2026
[2026-08-29 11:19:16,269.269 INFO    ] ================================================
[2026-08-29 11:19:16,617.617 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:19:16
[2026-08-29 11:19:16,930.930 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:19:17,063.063 INFO    ] Initializing speech engine...
[2026-08-29 11:19:17,078.078 INFO    ] 2026-08-29 11:19:17
[2026-08-29 11:19:17,272.272 INFO    ] 2026-08-29 11:19:17
[2026-08-29 11:19:17,353.353 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:19:17,503.503 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:19:17,512.512 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:19:17,647.647 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:19:17,654.654 INFO    ] time= 29/08/2026 11:19:17
[2026-08-29 11:19:17,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:19:17,772.772 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:19:17,836.836 INFO    ] No existing commands found in stream
[2026-08-29 11:19:22,847.847 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:19:22,850.850 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-08-29 11:19:26,793.793 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:19:26,794.794 INFO    ] Checking for system updates...
[2026-08-29 11:19:26,816.816 INFO    ] 200
[2026-08-29 11:19:26,817.817 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:19:26,848.848 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:19:26,849.849 INFO    ] No update needed
[2026-08-29 11:19:26,850.850 INFO    ] Checking for camera pi updates...
[2026-08-29 11:19:26,871.871 INFO    ] 200
[2026-08-29 11:19:26,872.872 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:19:26,895.895 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:19:26,997.997 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:19:26,998.998 INFO    ] No camera update needed
[2026-08-29 11:19:26,999.999 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:19:27,001.001 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:19:27,004.004 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:19:27,006.006 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:19:29,046.046 INFO    ] ================================================
[2026-08-29 11:19:29,062.062 INFO    ] Launching Daemon at Sat Aug 29 11:19:29 IST 2026
[2026-08-29 11:19:29,073.073 INFO    ] ================================================
[2026-08-29 11:19:29,412.412 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:19:29
[2026-08-29 11:19:29,729.729 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:19:29,874.874 INFO    ] Initializing speech engine...
[2026-08-29 11:19:29,878.878 INFO    ] 2026-08-29 11:19:29
[2026-08-29 11:19:30,084.084 INFO    ] 2026-08-29 11:19:30
[2026-08-29 11:19:30,112.112 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:19:30,233.233 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:19:30,272.272 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:19:30,434.434 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:19:30,495.495 INFO    ] time= 29/08/2026 11:19:30
[2026-08-29 11:19:30,538.538 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:19:30,602.602 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:19:30,693.693 INFO    ] No existing commands found in stream
[2026-08-29 11:19:35,714.714 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:19:35,717.717 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 11:19:36,854.854 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:19:36,855.855 INFO    ] Checking for system updates...
[2026-08-29 11:19:36,877.877 INFO    ] 200
[2026-08-29 11:19:36,878.878 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:19:36,910.910 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:19:36,912.912 INFO    ] No update needed
[2026-08-29 11:19:36,913.913 INFO    ] Checking for camera pi updates...
[2026-08-29 11:19:36,933.933 INFO    ] 200
[2026-08-29 11:19:36,934.934 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:19:36,959.959 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:19:37,085.085 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:19:37,087.087 INFO    ] No camera update needed
[2026-08-29 11:19:37,088.088 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:19:37,089.089 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:19:37,092.092 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:19:37,095.095 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:19:39,135.135 INFO    ] ================================================
[2026-08-29 11:19:39,152.152 INFO    ] Launching Daemon at Sat Aug 29 11:19:39 IST 2026
[2026-08-29 11:19:39,163.163 INFO    ] ================================================
[2026-08-29 11:19:39,532.532 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:19:39
[2026-08-29 11:19:40,040.040 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:19:40,350.350 INFO    ] Initializing speech engine...
[2026-08-29 11:19:40,364.364 INFO    ] 2026-08-29 11:19:40
[2026-08-29 11:19:40,639.639 INFO    ] 2026-08-29 11:19:40
[2026-08-29 11:19:40,697.697 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:19:40,926.926 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:19:40,936.936 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:19:41,074.074 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:19:41,096.096 INFO    ] time= 29/08/2026 11:19:41
[2026-08-29 11:19:41,155.155 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:19:41,213.213 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:19:41,271.271 INFO    ] No existing commands found in stream
[2026-08-29 11:19:46,284.284 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:19:46,286.286 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-08-29 11:19:50,799.799 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:19:50,802.802 INFO    ] Checking for system updates...
[2026-08-29 11:19:50,839.839 INFO    ] 200
[2026-08-29 11:19:50,842.842 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:19:50,905.905 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:19:50,907.907 INFO    ] No update needed
[2026-08-29 11:19:50,911.911 INFO    ] Checking for camera pi updates...
[2026-08-29 11:19:50,945.945 INFO    ] 200
[2026-08-29 11:19:50,948.948 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:19:50,998.998 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:19:51,100.100 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:19:51,103.103 INFO    ] No camera update needed
[2026-08-29 11:19:51,105.105 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:19:51,108.108 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:19:51,114.114 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:19:51,120.120 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:19:53,161.161 INFO    ] ================================================
[2026-08-29 11:19:53,176.176 INFO    ] Launching Daemon at Sat Aug 29 11:19:53 IST 2026
[2026-08-29 11:19:53,187.187 INFO    ] ================================================
[2026-08-29 11:19:53,605.605 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:19:53
[2026-08-29 11:19:53,922.922 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:19:54,093.093 INFO    ] Initializing speech engine...
[2026-08-29 11:19:54,113.113 INFO    ] 2026-08-29 11:19:54
[2026-08-29 11:19:54,361.361 INFO    ] 2026-08-29 11:19:54
[2026-08-29 11:19:54,398.398 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:19:54,571.571 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:19:54,584.584 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:19:54,709.709 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:19:54,713.713 INFO    ] time= 29/08/2026 11:19:54
[2026-08-29 11:19:54,735.735 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:19:54,740.740 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:19:54,810.810 INFO    ] No existing commands found in stream
[2026-08-29 11:19:59,825.825 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:19:59,828.828 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-08-29 11:20:02,572.572 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:20:02,584.584 INFO    ] Checking for system updates...
[2026-08-29 11:20:02,638.638 INFO    ] 200
[2026-08-29 11:20:02,641.641 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:20:02,727.727 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:20:02,730.730 INFO    ] No update needed
[2026-08-29 11:20:02,734.734 INFO    ] Checking for camera pi updates...
[2026-08-29 11:20:02,776.776 INFO    ] 200
[2026-08-29 11:20:02,780.780 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:20:02,844.844 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:20:03,177.177 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:20:03,180.180 INFO    ] No camera update needed
[2026-08-29 11:20:03,184.184 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:20:03,188.188 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:20:03,196.196 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:20:03,203.203 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:20:05,247.247 INFO    ] ================================================
[2026-08-29 11:20:05,263.263 INFO    ] Launching Daemon at Sat Aug 29 11:20:05 IST 2026
[2026-08-29 11:20:05,275.275 INFO    ] ================================================
[2026-08-29 11:20:05,669.669 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:20:05
[2026-08-29 11:20:06,008.008 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:20:06,160.160 INFO    ] Initializing speech engine...
[2026-08-29 11:20:06,166.166 INFO    ] 2026-08-29 11:20:06
[2026-08-29 11:20:06,408.408 INFO    ] 2026-08-29 11:20:06
[2026-08-29 11:20:06,439.439 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:20:06,601.601 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:20:06,628.628 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:20:06,812.812 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:20:06,871.871 INFO    ] time= 29/08/2026 11:20:06
[2026-08-29 11:20:06,878.878 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:20:06,895.895 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:20:07,023.023 INFO    ] No existing commands found in stream
[2026-08-29 11:20:12,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:20:12,044.044 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-08-29 11:20:15,878.878 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:20:15,879.879 INFO    ] Checking for system updates...
[2026-08-29 11:20:15,899.899 INFO    ] 200
[2026-08-29 11:20:15,901.901 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:20:15,934.934 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:20:15,935.935 INFO    ] No update needed
[2026-08-29 11:20:15,936.936 INFO    ] Checking for camera pi updates...
[2026-08-29 11:20:15,956.956 INFO    ] 200
[2026-08-29 11:20:15,957.957 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:20:15,983.983 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:20:16,064.064 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:20:16,065.065 INFO    ] No camera update needed
[2026-08-29 11:20:16,066.066 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:20:16,067.067 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:20:16,070.070 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:20:16,073.073 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:20:18,112.112 INFO    ] ================================================
[2026-08-29 11:20:18,127.127 INFO    ] Launching Daemon at Sat Aug 29 11:20:18 IST 2026
[2026-08-29 11:20:18,138.138 INFO    ] ================================================
[2026-08-29 11:20:18,735.735 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:20:18
[2026-08-29 11:20:19,405.405 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:20:19,713.713 INFO    ] Initializing speech engine...
[2026-08-29 11:20:19,720.720 INFO    ] 2026-08-29 11:20:19
[2026-08-29 11:20:19,996.996 INFO    ] 2026-08-29 11:20:19
[2026-08-29 11:20:20,053.053 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:20:20,283.283 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:20:20,293.293 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:20:20,429.429 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:20:20,468.468 INFO    ] time= 29/08/2026 11:20:20
[2026-08-29 11:20:20,522.522 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:20:20,567.567 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:20:20,622.622 INFO    ] No existing commands found in stream
[2026-08-29 11:20:25,635.635 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:20:25,638.638 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-08-29 11:20:29,860.860 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:20:29,862.862 INFO    ] Checking for system updates...
[2026-08-29 11:20:29,883.883 INFO    ] 200
[2026-08-29 11:20:29,884.884 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:20:29,916.916 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:20:29,918.918 INFO    ] No update needed
[2026-08-29 11:20:29,919.919 INFO    ] Checking for camera pi updates...
[2026-08-29 11:20:29,941.941 INFO    ] 200
[2026-08-29 11:20:29,943.943 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:20:29,968.968 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:20:30,067.067 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:20:30,069.069 INFO    ] No camera update needed
[2026-08-29 11:20:30,070.070 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:20:30,071.071 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:20:30,075.075 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:20:30,077.077 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:20:32,109.109 INFO    ] ================================================
[2026-08-29 11:20:32,120.120 INFO    ] Launching Daemon at Sat Aug 29 11:20:32 IST 2026
[2026-08-29 11:20:32,127.127 INFO    ] ================================================
[2026-08-29 11:20:32,715.715 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:20:32
[2026-08-29 11:20:33,306.306 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:20:33,562.562 INFO    ] Initializing speech engine...
[2026-08-29 11:20:33,571.571 INFO    ] 2026-08-29 11:20:33
[2026-08-29 11:20:33,868.868 INFO    ] 2026-08-29 11:20:33
[2026-08-29 11:20:33,903.903 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:20:34,051.051 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:20:34,060.060 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:20:34,213.213 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:20:34,223.223 INFO    ] time= 29/08/2026 11:20:34
[2026-08-29 11:20:34,229.229 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:20:34,252.252 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:20:34,305.305 INFO    ] No existing commands found in stream
[2026-08-29 11:20:39,315.315 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:20:39,317.317 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-08-29 11:20:42,203.203 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:20:42,205.205 INFO    ] Checking for system updates...
[2026-08-29 11:20:42,227.227 INFO    ] 200
[2026-08-29 11:20:42,228.228 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:20:42,259.259 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:20:42,260.260 INFO    ] No update needed
[2026-08-29 11:20:42,262.262 INFO    ] Checking for camera pi updates...
[2026-08-29 11:20:42,282.282 INFO    ] 200
[2026-08-29 11:20:42,284.284 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:20:42,309.309 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:20:42,411.411 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:20:42,413.413 INFO    ] No camera update needed
[2026-08-29 11:20:42,414.414 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:20:42,415.415 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:20:42,418.418 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:20:42,421.421 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:20:44,462.462 INFO    ] ================================================
[2026-08-29 11:20:44,477.477 INFO    ] Launching Daemon at Sat Aug 29 11:20:44 IST 2026
[2026-08-29 11:20:44,488.488 INFO    ] ================================================
[2026-08-29 11:20:45,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:20:45
[2026-08-29 11:20:45,736.736 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:20:46,042.042 INFO    ] Initializing speech engine...
[2026-08-29 11:20:46,056.056 INFO    ] 2026-08-29 11:20:46
[2026-08-29 11:20:46,372.372 INFO    ] 2026-08-29 11:20:46
[2026-08-29 11:20:46,462.462 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:20:46,700.700 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:20:46,751.751 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:20:46,890.890 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:20:46,906.906 INFO    ] time= 29/08/2026 11:20:46
[2026-08-29 11:20:46,939.939 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:20:46,949.949 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:20:47,052.052 INFO    ] No existing commands found in stream
[2026-08-29 11:20:52,066.066 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:20:52,069.069 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-08-29 11:20:54,903.903 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:20:54,905.905 INFO    ] Checking for system updates...
[2026-08-29 11:20:54,926.926 INFO    ] 200
[2026-08-29 11:20:54,927.927 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:20:54,957.957 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:20:54,958.958 INFO    ] No update needed
[2026-08-29 11:20:54,960.960 INFO    ] Checking for camera pi updates...
[2026-08-29 11:20:54,979.979 INFO    ] 200
[2026-08-29 11:20:54,980.980 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:20:55,005.005 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:20:55,089.089 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:20:55,090.090 INFO    ] No camera update needed
[2026-08-29 11:20:55,091.091 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:20:55,093.093 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:20:55,096.096 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:20:55,099.099 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:20:57,131.131 INFO    ] ================================================
[2026-08-29 11:20:57,140.140 INFO    ] Launching Daemon at Sat Aug 29 11:20:57 IST 2026
[2026-08-29 11:20:57,146.146 INFO    ] ================================================
[2026-08-29 11:20:57,700.700 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:20:57
[2026-08-29 11:20:58,301.301 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:20:58,601.601 INFO    ] Initializing speech engine...
[2026-08-29 11:20:58,608.608 INFO    ] 2026-08-29 11:20:58
[2026-08-29 11:20:58,881.881 INFO    ] 2026-08-29 11:20:58
[2026-08-29 11:20:58,939.939 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:20:59,163.163 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:20:59,173.173 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:20:59,306.306 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:20:59,339.339 INFO    ] time= 29/08/2026 11:20:59
[2026-08-29 11:20:59,389.389 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:20:59,442.442 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:20:59,498.498 INFO    ] No existing commands found in stream
[2026-08-29 11:21:04,511.511 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:21:04,514.514 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-08-29 11:21:08,579.579 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:21:08,581.581 INFO    ] Checking for system updates...
[2026-08-29 11:21:08,602.602 INFO    ] 200
[2026-08-29 11:21:08,603.603 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:21:08,633.633 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:21:08,635.635 INFO    ] No update needed
[2026-08-29 11:21:08,636.636 INFO    ] Checking for camera pi updates...
[2026-08-29 11:21:08,655.655 INFO    ] 200
[2026-08-29 11:21:08,657.657 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:21:08,681.681 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:21:08,883.883 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:21:08,884.884 INFO    ] No camera update needed
[2026-08-29 11:21:08,886.886 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:21:08,887.887 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:21:08,890.890 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:21:08,893.893 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:21:10,932.932 INFO    ] ================================================
[2026-08-29 11:21:10,948.948 INFO    ] Launching Daemon at Sat Aug 29 11:21:10 IST 2026
[2026-08-29 11:21:10,959.959 INFO    ] ================================================
[2026-08-29 11:21:11,309.309 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:21:11
[2026-08-29 11:21:11,626.626 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:21:11,758.758 INFO    ] Initializing speech engine...
[2026-08-29 11:21:11,768.768 INFO    ] 2026-08-29 11:21:11
[2026-08-29 11:21:11,991.991 INFO    ] 2026-08-29 11:21:11
[2026-08-29 11:21:12,025.025 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:21:12,138.138 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:21:12,177.177 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:21:12,354.354 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:21:12,364.364 INFO    ] time= 29/08/2026 11:21:12
[2026-08-29 11:21:12,385.385 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:21:12,416.416 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:21:12,526.526 INFO    ] No existing commands found in stream
[2026-08-29 11:21:17,546.546 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:21:17,549.549 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-08-29 11:21:19,380.380 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:21:19,381.381 INFO    ] Checking for system updates...
[2026-08-29 11:21:19,403.403 INFO    ] 200
[2026-08-29 11:21:19,405.405 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:21:19,434.434 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:21:19,435.435 INFO    ] No update needed
[2026-08-29 11:21:19,437.437 INFO    ] Checking for camera pi updates...
[2026-08-29 11:21:19,456.456 INFO    ] 200
[2026-08-29 11:21:19,457.457 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:21:19,494.494 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:21:19,576.576 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:21:19,579.579 INFO    ] No camera update needed
[2026-08-29 11:21:19,581.581 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:21:19,583.583 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:21:19,588.588 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:21:19,593.593 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:21:21,640.640 INFO    ] ================================================
[2026-08-29 11:21:21,656.656 INFO    ] Launching Daemon at Sat Aug 29 11:21:21 IST 2026
[2026-08-29 11:21:21,666.666 INFO    ] ================================================
[2026-08-29 11:21:22,237.237 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:21:22
[2026-08-29 11:21:22,718.718 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:21:22,852.852 INFO    ] Initializing speech engine...
[2026-08-29 11:21:22,864.864 INFO    ] 2026-08-29 11:21:22
[2026-08-29 11:21:23,073.073 INFO    ] 2026-08-29 11:21:23
[2026-08-29 11:21:23,103.103 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:21:23,227.227 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:21:23,275.275 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:21:23,444.444 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:21:23,480.480 INFO    ] time= 29/08/2026 11:21:23
[2026-08-29 11:21:23,529.529 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:21:23,558.558 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:21:23,663.663 INFO    ] No existing commands found in stream
[2026-08-29 11:21:28,688.688 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:21:28,691.691 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-08-29 11:21:33,065.065 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:21:33,067.067 INFO    ] Checking for system updates...
[2026-08-29 11:21:33,106.106 INFO    ] 200
[2026-08-29 11:21:33,109.109 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:21:33,162.162 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:21:33,164.164 INFO    ] No update needed
[2026-08-29 11:21:33,167.167 INFO    ] Checking for camera pi updates...
[2026-08-29 11:21:33,205.205 INFO    ] 200
[2026-08-29 11:21:33,207.207 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:21:33,248.248 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:21:33,431.431 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:21:33,434.434 INFO    ] No camera update needed
[2026-08-29 11:21:33,436.436 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:21:33,438.438 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:21:33,444.444 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:21:33,449.449 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:21:35,490.490 INFO    ] ================================================
[2026-08-29 11:21:35,506.506 INFO    ] Launching Daemon at Sat Aug 29 11:21:35 IST 2026
[2026-08-29 11:21:35,517.517 INFO    ] ================================================
[2026-08-29 11:21:35,841.841 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:21:35
[2026-08-29 11:21:36,155.155 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:21:36,366.366 INFO    ] Initializing speech engine...
[2026-08-29 11:21:36,385.385 INFO    ] 2026-08-29 11:21:36
[2026-08-29 11:21:36,639.639 INFO    ] 2026-08-29 11:21:36
[2026-08-29 11:21:36,675.675 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:21:36,850.850 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:21:36,863.863 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:21:36,976.976 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:21:36,995.995 INFO    ] time= 29/08/2026 11:21:36
[2026-08-29 11:21:37,015.015 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:21:37,024.024 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:21:37,095.095 INFO    ] No existing commands found in stream
[2026-08-29 11:21:42,136.136 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:21:42,149.149 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-08-29 11:21:45,115.115 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:21:45,116.116 INFO    ] Checking for system updates...
[2026-08-29 11:21:45,137.137 INFO    ] 200
[2026-08-29 11:21:45,138.138 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:21:45,170.170 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:21:45,172.172 INFO    ] No update needed
[2026-08-29 11:21:45,173.173 INFO    ] Checking for camera pi updates...
[2026-08-29 11:21:45,193.193 INFO    ] 200
[2026-08-29 11:21:45,195.195 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:21:45,219.219 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:21:45,323.323 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:21:45,324.324 INFO    ] No camera update needed
[2026-08-29 11:21:45,326.326 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:21:45,327.327 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:21:45,330.330 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:21:45,332.332 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:21:47,373.373 INFO    ] ================================================
[2026-08-29 11:21:47,389.389 INFO    ] Launching Daemon at Sat Aug 29 11:21:47 IST 2026
[2026-08-29 11:21:47,399.399 INFO    ] ================================================
[2026-08-29 11:21:47,758.758 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:21:47
[2026-08-29 11:21:48,069.069 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:21:48,204.204 INFO    ] Initializing speech engine...
[2026-08-29 11:21:48,218.218 INFO    ] 2026-08-29 11:21:48
[2026-08-29 11:21:48,433.433 INFO    ] 2026-08-29 11:21:48
[2026-08-29 11:21:48,463.463 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:21:48,595.595 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:21:48,658.658 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:21:48,802.802 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:21:48,855.855 INFO    ] time= 29/08/2026 11:21:48
[2026-08-29 11:21:48,893.893 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:21:48,910.910 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:21:48,986.986 INFO    ] No existing commands found in stream
[2026-08-29 11:21:53,995.995 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:21:53,998.998 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-08-29 11:21:57,569.569 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:21:57,571.571 INFO    ] Checking for system updates...
[2026-08-29 11:21:57,592.592 INFO    ] 200
[2026-08-29 11:21:57,594.594 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:21:57,629.629 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:21:57,630.630 INFO    ] No update needed
[2026-08-29 11:21:57,632.632 INFO    ] Checking for camera pi updates...
[2026-08-29 11:21:57,654.654 INFO    ] 200
[2026-08-29 11:21:57,655.655 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:21:57,678.678 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:21:57,778.778 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:21:57,780.780 INFO    ] No camera update needed
[2026-08-29 11:21:57,781.781 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:21:57,783.783 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:21:57,786.786 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:21:57,789.789 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:21:59,828.828 INFO    ] ================================================
[2026-08-29 11:21:59,844.844 INFO    ] Launching Daemon at Sat Aug 29 11:21:59 IST 2026
[2026-08-29 11:21:59,856.856 INFO    ] ================================================
[2026-08-29 11:22:00,212.212 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:22:00
[2026-08-29 11:22:00,547.547 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:22:00,699.699 INFO    ] Initializing speech engine...
[2026-08-29 11:22:00,705.705 INFO    ] 2026-08-29 11:22:00
[2026-08-29 11:22:00,966.966 INFO    ] 2026-08-29 11:22:00
[2026-08-29 11:22:01,002.002 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:22:01,174.174 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:22:01,186.186 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:22:01,333.333 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:22:01,341.341 INFO    ] time= 29/08/2026 11:22:01
[2026-08-29 11:22:01,349.349 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:22:01,396.396 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:22:01,534.534 INFO    ] No existing commands found in stream
[2026-08-29 11:22:06,557.557 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:22:06,560.560 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-08-29 11:22:10,322.322 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:22:10,324.324 INFO    ] Checking for system updates...
[2026-08-29 11:22:10,345.345 INFO    ] 200
[2026-08-29 11:22:10,346.346 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:22:10,377.377 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:22:10,378.378 INFO    ] No update needed
[2026-08-29 11:22:10,379.379 INFO    ] Checking for camera pi updates...
[2026-08-29 11:22:10,399.399 INFO    ] 200
[2026-08-29 11:22:10,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:22:10,424.424 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:22:10,503.503 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:22:10,504.504 INFO    ] No camera update needed
[2026-08-29 11:22:10,506.506 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:22:10,507.507 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:22:10,510.510 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:22:10,513.513 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:22:12,553.553 INFO    ] ================================================
[2026-08-29 11:22:12,597.597 INFO    ] Launching Daemon at Sat Aug 29 11:22:12 IST 2026
[2026-08-29 11:22:12,609.609 INFO    ] ================================================
[2026-08-29 11:22:13,230.230 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:22:13
[2026-08-29 11:22:13,891.891 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:22:14,192.192 INFO    ] Initializing speech engine...
[2026-08-29 11:22:14,206.206 INFO    ] 2026-08-29 11:22:14
[2026-08-29 11:22:14,517.517 INFO    ] 2026-08-29 11:22:14
[2026-08-29 11:22:14,598.598 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:22:14,748.748 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:22:14,758.758 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:22:14,894.894 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:22:14,936.936 INFO    ] time= 29/08/2026 11:22:14
[2026-08-29 11:22:14,990.990 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:22:15,030.030 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:22:15,083.083 INFO    ] No existing commands found in stream
[2026-08-29 11:22:20,095.095 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:22:20,098.098 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-08-29 11:22:20,549.549 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:22:20,550.550 INFO    ] Checking for system updates...
[2026-08-29 11:22:20,570.570 INFO    ] 200
[2026-08-29 11:22:20,572.572 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:22:20,604.604 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:22:20,605.605 INFO    ] No update needed
[2026-08-29 11:22:20,606.606 INFO    ] Checking for camera pi updates...
[2026-08-29 11:22:20,626.626 INFO    ] 200
[2026-08-29 11:22:20,628.628 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:22:20,652.652 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:22:20,738.738 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:22:20,742.742 INFO    ] No camera update needed
[2026-08-29 11:22:20,744.744 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:22:20,745.745 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:22:20,748.748 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:22:20,750.750 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:22:22,790.790 INFO    ] ================================================
[2026-08-29 11:22:22,807.807 INFO    ] Launching Daemon at Sat Aug 29 11:22:22 IST 2026
[2026-08-29 11:22:22,818.818 INFO    ] ================================================
[2026-08-29 11:22:23,184.184 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:22:23
[2026-08-29 11:22:23,518.518 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:22:23,674.674 INFO    ] Initializing speech engine...
[2026-08-29 11:22:23,678.678 INFO    ] 2026-08-29 11:22:23
[2026-08-29 11:22:23,885.885 INFO    ] 2026-08-29 11:22:23
[2026-08-29 11:22:23,914.914 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:22:24,047.047 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:22:24,101.101 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:22:24,245.245 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:22:24,304.304 INFO    ] time= 29/08/2026 11:22:24
[2026-08-29 11:22:24,332.332 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:22:24,339.339 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:22:24,408.408 INFO    ] No existing commands found in stream
[2026-08-29 11:22:29,419.419 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:22:29,422.422 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-08-29 11:22:33,739.739 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:22:33,742.742 INFO    ] Checking for system updates...
[2026-08-29 11:22:33,783.783 INFO    ] 200
[2026-08-29 11:22:33,785.785 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:22:33,843.843 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:22:33,846.846 INFO    ] No update needed
[2026-08-29 11:22:33,848.848 INFO    ] Checking for camera pi updates...
[2026-08-29 11:22:33,883.883 INFO    ] 200
[2026-08-29 11:22:33,886.886 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:22:33,927.927 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:22:34,036.036 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:22:34,038.038 INFO    ] No camera update needed
[2026-08-29 11:22:34,040.040 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:22:34,043.043 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:22:34,048.048 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:22:34,053.053 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:22:36,094.094 INFO    ] ================================================
[2026-08-29 11:22:36,110.110 INFO    ] Launching Daemon at Sat Aug 29 11:22:36 IST 2026
[2026-08-29 11:22:36,121.121 INFO    ] ================================================
[2026-08-29 11:22:36,476.476 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:22:36
[2026-08-29 11:22:36,815.815 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:22:37,108.108 INFO    ] Initializing speech engine...
[2026-08-29 11:22:37,119.119 INFO    ] 2026-08-29 11:22:37
[2026-08-29 11:22:37,398.398 INFO    ] 2026-08-29 11:22:37
[2026-08-29 11:22:37,454.454 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:22:37,684.684 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:22:37,693.693 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:22:37,832.832 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:22:37,879.879 INFO    ] time= 29/08/2026 11:22:37
[2026-08-29 11:22:37,933.933 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:22:37,968.968 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:22:38,030.030 INFO    ] No existing commands found in stream
[2026-08-29 11:22:43,055.055 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:22:43,058.058 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-08-29 11:22:45,071.071 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:22:45,073.073 INFO    ] Checking for system updates...
[2026-08-29 11:22:45,094.094 INFO    ] 200
[2026-08-29 11:22:45,095.095 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:22:45,153.153 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:22:45,155.155 INFO    ] No update needed
[2026-08-29 11:22:45,158.158 INFO    ] Checking for camera pi updates...
[2026-08-29 11:22:45,195.195 INFO    ] 200
[2026-08-29 11:22:45,198.198 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:22:45,243.243 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:22:45,294.294 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:22:45,297.297 INFO    ] No camera update needed
[2026-08-29 11:22:45,299.299 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:22:45,301.301 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:22:45,306.306 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:22:45,311.311 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:22:47,352.352 INFO    ] ================================================
[2026-08-29 11:22:47,367.367 INFO    ] Launching Daemon at Sat Aug 29 11:22:47 IST 2026
[2026-08-29 11:22:47,378.378 INFO    ] ================================================
[2026-08-29 11:22:47,948.948 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:22:47
[2026-08-29 11:22:48,392.392 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:22:48,524.524 INFO    ] Initializing speech engine...
[2026-08-29 11:22:48,529.529 INFO    ] 2026-08-29 11:22:48
[2026-08-29 11:22:48,756.756 INFO    ] 2026-08-29 11:22:48
[2026-08-29 11:22:48,786.786 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:22:48,884.884 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:22:48,920.920 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:22:49,074.074 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:22:49,123.123 INFO    ] time= 29/08/2026 11:22:49
[2026-08-29 11:22:49,149.149 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:22:49,210.210 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:22:49,308.308 INFO    ] No existing commands found in stream
[2026-08-29 11:22:54,318.318 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:22:54,321.321 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-08-29 11:22:54,851.851 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:22:54,852.852 INFO    ] Checking for system updates...
[2026-08-29 11:22:54,873.873 INFO    ] 200
[2026-08-29 11:22:54,874.874 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:22:54,904.904 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:22:54,906.906 INFO    ] No update needed
[2026-08-29 11:22:54,907.907 INFO    ] Checking for camera pi updates...
[2026-08-29 11:22:54,926.926 INFO    ] 200
[2026-08-29 11:22:54,928.928 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:22:54,952.952 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:22:55,036.036 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:22:55,039.039 INFO    ] No camera update needed
[2026-08-29 11:22:55,041.041 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:22:55,044.044 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:22:55,050.050 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:22:55,056.056 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:22:57,096.096 INFO    ] ================================================
[2026-08-29 11:22:57,112.112 INFO    ] Launching Daemon at Sat Aug 29 11:22:57 IST 2026
[2026-08-29 11:22:57,124.124 INFO    ] ================================================
[2026-08-29 11:22:57,754.754 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:22:57
[2026-08-29 11:22:58,265.265 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:22:58,417.417 INFO    ] Initializing speech engine...
[2026-08-29 11:22:58,421.421 INFO    ] 2026-08-29 11:22:58
[2026-08-29 11:22:58,621.621 INFO    ] 2026-08-29 11:22:58
[2026-08-29 11:22:58,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:22:58,886.886 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:22:58,896.896 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:22:59,032.032 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:22:59,103.103 INFO    ] time= 29/08/2026 11:22:59
[2026-08-29 11:22:59,159.159 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:22:59,166.166 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:22:59,281.281 INFO    ] No existing commands found in stream
[2026-08-29 11:23:04,304.304 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:23:04,307.307 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 11:23:06,208.208 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:23:06,210.210 INFO    ] Checking for system updates...
[2026-08-29 11:23:06,231.231 INFO    ] 200
[2026-08-29 11:23:06,233.233 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:23:06,263.263 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:23:06,264.264 INFO    ] No update needed
[2026-08-29 11:23:06,265.265 INFO    ] Checking for camera pi updates...
[2026-08-29 11:23:06,285.285 INFO    ] 200
[2026-08-29 11:23:06,286.286 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:23:06,309.309 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:23:06,405.405 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:23:06,407.407 INFO    ] No camera update needed
[2026-08-29 11:23:06,409.409 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:23:06,411.411 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:23:06,416.416 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:23:06,420.420 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:23:08,460.460 INFO    ] ================================================
[2026-08-29 11:23:08,476.476 INFO    ] Launching Daemon at Sat Aug 29 11:23:08 IST 2026
[2026-08-29 11:23:08,487.487 INFO    ] ================================================
[2026-08-29 11:23:09,053.053 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:23:09
[2026-08-29 11:23:09,625.625 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:23:09,763.763 INFO    ] Initializing speech engine...
[2026-08-29 11:23:09,773.773 INFO    ] 2026-08-29 11:23:09
[2026-08-29 11:23:09,991.991 INFO    ] 2026-08-29 11:23:09
[2026-08-29 11:23:10,026.026 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:23:10,202.202 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:23:10,214.214 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:23:10,328.328 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:23:10,347.347 INFO    ] time= 29/08/2026 11:23:10
[2026-08-29 11:23:10,366.366 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:23:10,375.375 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:23:10,444.444 INFO    ] No existing commands found in stream
[2026-08-29 11:23:15,456.456 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:23:15,459.459 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-08-29 11:23:18,871.871 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:23:18,873.873 INFO    ] Checking for system updates...
[2026-08-29 11:23:18,895.895 INFO    ] 200
[2026-08-29 11:23:18,896.896 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:23:18,928.928 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:23:18,930.930 INFO    ] No update needed
[2026-08-29 11:23:18,931.931 INFO    ] Checking for camera pi updates...
[2026-08-29 11:23:18,951.951 INFO    ] 200
[2026-08-29 11:23:18,953.953 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:23:18,977.977 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:23:19,150.150 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:23:19,151.151 INFO    ] No camera update needed
[2026-08-29 11:23:19,153.153 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:23:19,154.154 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:23:19,157.157 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:23:19,159.159 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:23:21,199.199 INFO    ] ================================================
[2026-08-29 11:23:21,215.215 INFO    ] Launching Daemon at Sat Aug 29 11:23:21 IST 2026
[2026-08-29 11:23:21,227.227 INFO    ] ================================================
[2026-08-29 11:23:21,590.590 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:23:21
[2026-08-29 11:23:21,908.908 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:23:22,042.042 INFO    ] Initializing speech engine...
[2026-08-29 11:23:22,047.047 INFO    ] 2026-08-29 11:23:22
[2026-08-29 11:23:22,258.258 INFO    ] 2026-08-29 11:23:22
[2026-08-29 11:23:22,287.287 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:23:22,408.408 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:23:22,444.444 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:23:22,545.545 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:23:22,550.550 INFO    ] time= 29/08/2026 11:23:22
[2026-08-29 11:23:22,581.581 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:23:22,625.625 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:23:22,742.742 INFO    ] No existing commands found in stream
[2026-08-29 11:23:27,754.754 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:23:27,757.757 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-08-29 11:23:29,785.785 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:23:29,786.786 INFO    ] Checking for system updates...
[2026-08-29 11:23:29,807.807 INFO    ] 200
[2026-08-29 11:23:29,808.808 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:23:29,838.838 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:23:29,839.839 INFO    ] No update needed
[2026-08-29 11:23:29,840.840 INFO    ] Checking for camera pi updates...
[2026-08-29 11:23:29,860.860 INFO    ] 200
[2026-08-29 11:23:29,861.861 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:23:29,888.888 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:23:29,990.990 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:23:29,993.993 INFO    ] No camera update needed
[2026-08-29 11:23:29,995.995 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:23:29,998.998 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:23:30,004.004 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:23:30,010.010 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:23:32,052.052 INFO    ] ================================================
[2026-08-29 11:23:32,070.070 INFO    ] Launching Daemon at Sat Aug 29 11:23:32 IST 2026
[2026-08-29 11:23:32,084.084 INFO    ] ================================================
[2026-08-29 11:23:32,777.777 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:23:32
[2026-08-29 11:23:33,372.372 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:23:33,679.679 INFO    ] Initializing speech engine...
[2026-08-29 11:23:33,690.690 INFO    ] 2026-08-29 11:23:33
[2026-08-29 11:23:33,957.957 INFO    ] 2026-08-29 11:23:33
[2026-08-29 11:23:34,010.010 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:23:34,184.184 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:23:34,234.234 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:23:34,391.391 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:23:34,408.408 INFO    ] time= 29/08/2026 11:23:34
[2026-08-29 11:23:34,473.473 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:23:34,528.528 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:23:34,587.587 INFO    ] No existing commands found in stream
[2026-08-29 11:23:39,599.599 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:23:39,602.602 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-08-29 11:23:42,192.192 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:23:42,194.194 INFO    ] Checking for system updates...
[2026-08-29 11:23:42,220.220 INFO    ] 200
[2026-08-29 11:23:42,222.222 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:23:42,262.262 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:23:42,263.263 INFO    ] No update needed
[2026-08-29 11:23:42,265.265 INFO    ] Checking for camera pi updates...
[2026-08-29 11:23:42,299.299 INFO    ] 200
[2026-08-29 11:23:42,302.302 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:23:42,347.347 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:23:42,442.442 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:23:42,444.444 INFO    ] No camera update needed
[2026-08-29 11:23:42,447.447 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:23:42,449.449 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:23:42,454.454 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:23:42,459.459 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:23:44,499.499 INFO    ] ================================================
[2026-08-29 11:23:44,514.514 INFO    ] Launching Daemon at Sat Aug 29 11:23:44 IST 2026
[2026-08-29 11:23:44,525.525 INFO    ] ================================================
[2026-08-29 11:23:45,094.094 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:23:45
[2026-08-29 11:23:45,560.560 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:23:45,702.702 INFO    ] Initializing speech engine...
[2026-08-29 11:23:45,707.707 INFO    ] 2026-08-29 11:23:45
[2026-08-29 11:23:45,915.915 INFO    ] 2026-08-29 11:23:45
[2026-08-29 11:23:45,995.995 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:23:46,144.144 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:23:46,153.153 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:23:46,287.287 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:23:46,337.337 INFO    ] time= 29/08/2026 11:23:46
[2026-08-29 11:23:46,396.396 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:23:46,419.419 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:23:46,473.473 INFO    ] No existing commands found in stream
[2026-08-29 11:23:51,484.484 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:23:51,487.487 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-08-29 11:23:54,279.279 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:23:54,281.281 INFO    ] Checking for system updates...
[2026-08-29 11:23:54,303.303 INFO    ] 200
[2026-08-29 11:23:54,304.304 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:23:54,336.336 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:23:54,337.337 INFO    ] No update needed
[2026-08-29 11:23:54,338.338 INFO    ] Checking for camera pi updates...
[2026-08-29 11:23:54,358.358 INFO    ] 200
[2026-08-29 11:23:54,360.360 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:23:54,383.383 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:23:54,477.477 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:23:54,478.478 INFO    ] No camera update needed
[2026-08-29 11:23:54,479.479 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:23:54,481.481 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:23:54,484.484 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:23:54,486.486 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:23:56,525.525 INFO    ] ================================================
[2026-08-29 11:23:56,540.540 INFO    ] Launching Daemon at Sat Aug 29 11:23:56 IST 2026
[2026-08-29 11:23:56,551.551 INFO    ] ================================================
[2026-08-29 11:23:56,888.888 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:23:56
[2026-08-29 11:23:57,201.201 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:23:57,334.334 INFO    ] Initializing speech engine...
[2026-08-29 11:23:57,346.346 INFO    ] 2026-08-29 11:23:57
[2026-08-29 11:23:57,537.537 INFO    ] 2026-08-29 11:23:57
[2026-08-29 11:23:57,571.571 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:23:57,750.750 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:23:57,762.762 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:23:57,875.875 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:23:57,893.893 INFO    ] time= 29/08/2026 11:23:57
[2026-08-29 11:23:57,914.914 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:23:57,922.922 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:23:57,991.991 INFO    ] No existing commands found in stream
[2026-08-29 11:24:03,004.004 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:24:03,008.008 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-08-29 11:24:06,723.723 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:24:06,724.724 INFO    ] Checking for system updates...
[2026-08-29 11:24:06,745.745 INFO    ] 200
[2026-08-29 11:24:06,746.746 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:24:06,778.778 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:24:06,779.779 INFO    ] No update needed
[2026-08-29 11:24:06,781.781 INFO    ] Checking for camera pi updates...
[2026-08-29 11:24:06,800.800 INFO    ] 200
[2026-08-29 11:24:06,801.801 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:24:06,825.825 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:24:06,902.902 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:24:06,904.904 INFO    ] No camera update needed
[2026-08-29 11:24:06,905.905 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:24:06,907.907 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:24:06,910.910 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:24:06,913.913 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:24:08,953.953 INFO    ] ================================================
[2026-08-29 11:24:08,970.970 INFO    ] Launching Daemon at Sat Aug 29 11:24:08 IST 2026
[2026-08-29 11:24:08,981.981 INFO    ] ================================================
[2026-08-29 11:24:09,473.473 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:24:09
[2026-08-29 11:24:10,056.056 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:24:10,317.317 INFO    ] Initializing speech engine...
[2026-08-29 11:24:10,335.335 INFO    ] 2026-08-29 11:24:10
[2026-08-29 11:24:10,587.587 INFO    ] 2026-08-29 11:24:10
[2026-08-29 11:24:10,609.609 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:24:10,798.798 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:24:10,804.804 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:24:10,954.954 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:24:10,961.961 INFO    ] time= 29/08/2026 11:24:10
[2026-08-29 11:24:10,968.968 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:24:11,014.014 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:24:11,137.137 INFO    ] No existing commands found in stream
[2026-08-29 11:24:16,167.167 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:24:16,169.169 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-08-29 11:24:18,580.580 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:24:18,582.582 INFO    ] Checking for system updates...
[2026-08-29 11:24:18,604.604 INFO    ] 200
[2026-08-29 11:24:18,605.605 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:24:18,638.638 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:24:18,640.640 INFO    ] No update needed
[2026-08-29 11:24:18,641.641 INFO    ] Checking for camera pi updates...
[2026-08-29 11:24:18,660.660 INFO    ] 200
[2026-08-29 11:24:18,661.661 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:24:18,686.686 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:24:18,770.770 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:24:18,771.771 INFO    ] No camera update needed
[2026-08-29 11:24:18,773.773 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:24:18,774.774 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:24:18,777.777 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:24:18,780.780 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:24:20,818.818 INFO    ] ================================================
[2026-08-29 11:24:20,834.834 INFO    ] Launching Daemon at Sat Aug 29 11:24:20 IST 2026
[2026-08-29 11:24:20,846.846 INFO    ] ================================================
[2026-08-29 11:24:21,283.283 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:24:21
[2026-08-29 11:24:21,868.868 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:24:22,138.138 INFO    ] Initializing speech engine...
[2026-08-29 11:24:22,146.146 INFO    ] 2026-08-29 11:24:22
[2026-08-29 11:24:22,398.398 INFO    ] 2026-08-29 11:24:22
[2026-08-29 11:24:22,441.441 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:24:22,610.610 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:24:22,622.622 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:24:22,714.714 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:24:22,719.719 INFO    ] time= 29/08/2026 11:24:22
[2026-08-29 11:24:22,742.742 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:24:22,748.748 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:24:22,798.798 INFO    ] No existing commands found in stream
[2026-08-29 11:24:27,820.820 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:24:27,823.823 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 11:24:31,367.367 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:24:31,369.369 INFO    ] Checking for system updates...
[2026-08-29 11:24:31,390.390 INFO    ] 200
[2026-08-29 11:24:31,392.392 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:24:31,424.424 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:24:31,425.425 INFO    ] No update needed
[2026-08-29 11:24:31,426.426 INFO    ] Checking for camera pi updates...
[2026-08-29 11:24:31,445.445 INFO    ] 200
[2026-08-29 11:24:31,447.447 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:24:31,469.469 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:24:31,571.571 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:24:31,573.573 INFO    ] No camera update needed
[2026-08-29 11:24:31,575.575 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:24:31,576.576 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:24:31,580.580 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:24:31,583.583 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:24:33,623.623 INFO    ] ================================================
[2026-08-29 11:24:33,638.638 INFO    ] Launching Daemon at Sat Aug 29 11:24:33 IST 2026
[2026-08-29 11:24:33,650.650 INFO    ] ================================================
[2026-08-29 11:24:34,217.217 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:24:34
[2026-08-29 11:24:34,680.680 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:24:34,823.823 INFO    ] Initializing speech engine...
[2026-08-29 11:24:34,828.828 INFO    ] 2026-08-29 11:24:34
[2026-08-29 11:24:35,038.038 INFO    ] 2026-08-29 11:24:35
[2026-08-29 11:24:35,114.114 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:24:35,266.266 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:24:35,275.275 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:24:35,409.409 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:24:35,443.443 INFO    ] time= 29/08/2026 11:24:35
[2026-08-29 11:24:35,497.497 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:24:35,541.541 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:24:35,598.598 INFO    ] No existing commands found in stream
[2026-08-29 11:24:40,606.606 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:24:40,608.608 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-08-29 11:24:41,530.530 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:24:41,532.532 INFO    ] Checking for system updates...
[2026-08-29 11:24:41,552.552 INFO    ] 200
[2026-08-29 11:24:41,554.554 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:24:41,584.584 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:24:41,585.585 INFO    ] No update needed
[2026-08-29 11:24:41,587.587 INFO    ] Checking for camera pi updates...
[2026-08-29 11:24:41,607.607 INFO    ] 200
[2026-08-29 11:24:41,608.608 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:24:41,632.632 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:24:41,716.716 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:24:41,717.717 INFO    ] No camera update needed
[2026-08-29 11:24:41,718.718 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:24:41,719.719 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:24:41,722.722 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:24:41,725.725 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:24:43,764.764 INFO    ] ================================================
[2026-08-29 11:24:43,779.779 INFO    ] Launching Daemon at Sat Aug 29 11:24:43 IST 2026
[2026-08-29 11:24:43,790.790 INFO    ] ================================================
[2026-08-29 11:24:44,164.164 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:24:44
[2026-08-29 11:24:44,833.833 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:24:45,106.106 INFO    ] Initializing speech engine...
[2026-08-29 11:24:45,126.126 INFO    ] 2026-08-29 11:24:45
[2026-08-29 11:24:45,395.395 INFO    ] 2026-08-29 11:24:45
[2026-08-29 11:24:45,430.430 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:24:45,578.578 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:24:45,586.586 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:24:45,817.817 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:24:45,823.823 INFO    ] time= 29/08/2026 11:24:45
[2026-08-29 11:24:45,857.857 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:24:45,899.899 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:24:45,998.998 INFO    ] No existing commands found in stream
[2026-08-29 11:24:51,023.023 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:24:51,026.026 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-08-29 11:24:53,013.013 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:24:53,015.015 INFO    ] Checking for system updates...
[2026-08-29 11:24:53,035.035 INFO    ] 200
[2026-08-29 11:24:53,036.036 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:24:53,068.068 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:24:53,070.070 INFO    ] No update needed
[2026-08-29 11:24:53,071.071 INFO    ] Checking for camera pi updates...
[2026-08-29 11:24:53,091.091 INFO    ] 200
[2026-08-29 11:24:53,093.093 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:24:53,117.117 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:24:53,224.224 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:24:53,227.227 INFO    ] No camera update needed
[2026-08-29 11:24:53,229.229 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:24:53,231.231 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:24:53,236.236 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:24:53,241.241 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:24:55,283.283 INFO    ] ================================================
[2026-08-29 11:24:55,299.299 INFO    ] Launching Daemon at Sat Aug 29 11:24:55 IST 2026
[2026-08-29 11:24:55,311.311 INFO    ] ================================================
[2026-08-29 11:24:55,967.967 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:24:55
[2026-08-29 11:24:56,435.435 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:24:56,587.587 INFO    ] Initializing speech engine...
[2026-08-29 11:24:56,593.593 INFO    ] 2026-08-29 11:24:56
[2026-08-29 11:24:56,800.800 INFO    ] 2026-08-29 11:24:56
[2026-08-29 11:24:56,828.828 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:24:57,011.011 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:24:57,021.021 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:24:57,159.159 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:24:57,224.224 INFO    ] time= 29/08/2026 11:24:57
[2026-08-29 11:24:57,284.284 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:24:57,340.340 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:24:57,486.486 INFO    ] No existing commands found in stream
[2026-08-29 11:25:02,504.504 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:25:02,508.508 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-08-29 11:25:03,007.007 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:25:03,011.011 INFO    ] Checking for system updates...
[2026-08-29 11:25:03,047.047 INFO    ] 200
[2026-08-29 11:25:03,049.049 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:25:03,118.118 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:25:03,120.120 INFO    ] No update needed
[2026-08-29 11:25:03,123.123 INFO    ] Checking for camera pi updates...
[2026-08-29 11:25:03,160.160 INFO    ] 200
[2026-08-29 11:25:03,163.163 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:25:03,217.217 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:25:03,349.349 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:25:03,352.352 INFO    ] No camera update needed
[2026-08-29 11:25:03,355.355 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:25:03,357.357 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:25:03,363.363 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:25:03,369.369 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:25:05,411.411 INFO    ] ================================================
[2026-08-29 11:25:05,427.427 INFO    ] Launching Daemon at Sat Aug 29 11:25:05 IST 2026
[2026-08-29 11:25:05,438.438 INFO    ] ================================================
[2026-08-29 11:25:05,778.778 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:25:05
[2026-08-29 11:25:06,090.090 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:25:06,228.228 INFO    ] Initializing speech engine...
[2026-08-29 11:25:06,240.240 INFO    ] 2026-08-29 11:25:06
[2026-08-29 11:25:06,456.456 INFO    ] 2026-08-29 11:25:06
[2026-08-29 11:25:06,499.499 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:25:06,667.667 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:25:06,678.678 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:25:06,833.833 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:25:06,844.844 INFO    ] time= 29/08/2026 11:25:06
[2026-08-29 11:25:06,849.849 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:25:06,855.855 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:25:06,928.928 INFO    ] No existing commands found in stream
[2026-08-29 11:25:11,938.938 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:25:11,941.941 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-08-29 11:25:16,225.225 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:25:16,227.227 INFO    ] Checking for system updates...
[2026-08-29 11:25:16,247.247 INFO    ] 200
[2026-08-29 11:25:16,249.249 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:25:16,278.278 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:25:16,280.280 INFO    ] No update needed
[2026-08-29 11:25:16,281.281 INFO    ] Checking for camera pi updates...
[2026-08-29 11:25:16,300.300 INFO    ] 200
[2026-08-29 11:25:16,301.301 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:25:16,327.327 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:25:16,406.406 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:25:16,407.407 INFO    ] No camera update needed
[2026-08-29 11:25:16,409.409 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:25:16,410.410 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:25:16,413.413 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:25:16,416.416 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:25:18,455.455 INFO    ] ================================================
[2026-08-29 11:25:18,471.471 INFO    ] Launching Daemon at Sat Aug 29 11:25:18 IST 2026
[2026-08-29 11:25:18,482.482 INFO    ] ================================================
[2026-08-29 11:25:18,811.811 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:25:18
[2026-08-29 11:25:19,123.123 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:25:19,315.315 INFO    ] Initializing speech engine...
[2026-08-29 11:25:19,324.324 INFO    ] 2026-08-29 11:25:19
[2026-08-29 11:25:19,574.574 INFO    ] 2026-08-29 11:25:19
[2026-08-29 11:25:19,609.609 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:25:19,784.784 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:25:19,797.797 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:25:19,945.945 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:25:19,950.950 INFO    ] time= 29/08/2026 11:25:19
[2026-08-29 11:25:19,956.956 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:25:19,987.987 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:25:20,098.098 INFO    ] No existing commands found in stream
[2026-08-29 11:25:25,124.124 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:25:25,126.126 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 11:25:27,410.410 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:25:27,412.412 INFO    ] Checking for system updates...
[2026-08-29 11:25:27,433.433 INFO    ] 200
[2026-08-29 11:25:27,434.434 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:25:27,466.466 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:25:27,467.467 INFO    ] No update needed
[2026-08-29 11:25:27,469.469 INFO    ] Checking for camera pi updates...
[2026-08-29 11:25:27,491.491 INFO    ] 200
[2026-08-29 11:25:27,492.492 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:25:27,519.519 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:25:27,694.694 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:25:27,695.695 INFO    ] No camera update needed
[2026-08-29 11:25:27,696.696 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:25:27,698.698 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:25:27,701.701 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:25:27,704.704 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:25:29,744.744 INFO    ] ================================================
[2026-08-29 11:25:29,759.759 INFO    ] Launching Daemon at Sat Aug 29 11:25:29 IST 2026
[2026-08-29 11:25:29,771.771 INFO    ] ================================================
[2026-08-29 11:25:30,137.137 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:25:30
[2026-08-29 11:25:30,448.448 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:25:30,579.579 INFO    ] Initializing speech engine...
[2026-08-29 11:25:30,592.592 INFO    ] 2026-08-29 11:25:30
[2026-08-29 11:25:30,798.798 INFO    ] 2026-08-29 11:25:30
[2026-08-29 11:25:30,840.840 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:25:31,005.005 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:25:31,010.010 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:25:31,174.174 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:25:31,211.211 INFO    ] time= 29/08/2026 11:25:31
[2026-08-29 11:25:31,226.226 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:25:31,235.235 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:25:31,342.342 INFO    ] No existing commands found in stream
[2026-08-29 11:25:36,370.370 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:25:36,373.373 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-08-29 11:25:37,132.132 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:25:37,134.134 INFO    ] Checking for system updates...
[2026-08-29 11:25:37,154.154 INFO    ] 200
[2026-08-29 11:25:37,156.156 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:25:37,189.189 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:25:37,190.190 INFO    ] No update needed
[2026-08-29 11:25:37,191.191 INFO    ] Checking for camera pi updates...
[2026-08-29 11:25:37,213.213 INFO    ] 200
[2026-08-29 11:25:37,214.214 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:25:37,237.237 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:25:37,310.310 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:25:37,311.311 INFO    ] No camera update needed
[2026-08-29 11:25:37,313.313 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:25:37,314.314 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:25:37,317.317 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:25:37,319.319 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:25:39,360.360 INFO    ] ================================================
[2026-08-29 11:25:39,377.377 INFO    ] Launching Daemon at Sat Aug 29 11:25:39 IST 2026
[2026-08-29 11:25:39,388.388 INFO    ] ================================================
[2026-08-29 11:25:39,771.771 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:25:39
[2026-08-29 11:25:40,114.114 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:25:40,261.261 INFO    ] Initializing speech engine...
[2026-08-29 11:25:40,272.272 INFO    ] 2026-08-29 11:25:40
[2026-08-29 11:25:40,481.481 INFO    ] 2026-08-29 11:25:40
[2026-08-29 11:25:40,510.510 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:25:40,643.643 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:25:40,695.695 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:25:40,833.833 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:25:40,897.897 INFO    ] time= 29/08/2026 11:25:40
[2026-08-29 11:25:40,923.923 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:25:40,930.930 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:25:40,997.997 INFO    ] No existing commands found in stream
[2026-08-29 11:25:46,012.012 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:25:46,015.015 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-08-29 11:25:47,059.059 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:25:47,060.060 INFO    ] Checking for system updates...
[2026-08-29 11:25:47,083.083 INFO    ] 200
[2026-08-29 11:25:47,084.084 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:25:47,115.115 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:25:47,117.117 INFO    ] No update needed
[2026-08-29 11:25:47,118.118 INFO    ] Checking for camera pi updates...
[2026-08-29 11:25:47,138.138 INFO    ] 200
[2026-08-29 11:25:47,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:25:47,163.163 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:25:47,255.255 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:25:47,257.257 INFO    ] No camera update needed
[2026-08-29 11:25:47,258.258 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:25:47,260.260 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:25:47,263.263 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:25:47,266.266 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:25:49,305.305 INFO    ] ================================================
[2026-08-29 11:25:49,321.321 INFO    ] Launching Daemon at Sat Aug 29 11:25:49 IST 2026
[2026-08-29 11:25:49,333.333 INFO    ] ================================================
[2026-08-29 11:25:49,658.658 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:25:49
[2026-08-29 11:25:49,971.971 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:25:50,114.114 INFO    ] Initializing speech engine...
[2026-08-29 11:25:50,119.119 INFO    ] 2026-08-29 11:25:50
[2026-08-29 11:25:50,372.372 INFO    ] 2026-08-29 11:25:50
[2026-08-29 11:25:50,426.426 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:25:50,589.589 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:25:50,597.597 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:25:50,756.756 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:25:50,795.795 INFO    ] time= 29/08/2026 11:25:50
[2026-08-29 11:25:50,801.801 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:25:50,821.821 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:25:50,929.929 INFO    ] No existing commands found in stream
[2026-08-29 11:25:55,955.955 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:25:55,957.957 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-08-29 11:25:59,992.992 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:25:59,995.995 INFO    ] Checking for system updates...
[2026-08-29 11:26:00,032.032 INFO    ] 200
[2026-08-29 11:26:00,035.035 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:26:00,090.090 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:26:00,093.093 INFO    ] No update needed
[2026-08-29 11:26:00,096.096 INFO    ] Checking for camera pi updates...
[2026-08-29 11:26:00,134.134 INFO    ] 200
[2026-08-29 11:26:00,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:26:00,184.184 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:26:00,275.275 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:26:00,277.277 INFO    ] No camera update needed
[2026-08-29 11:26:00,280.280 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:26:00,283.283 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:26:00,289.289 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:26:00,295.295 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:26:02,358.358 INFO    ] ================================================
[2026-08-29 11:26:02,380.380 INFO    ] Launching Daemon at Sat Aug 29 11:26:02 IST 2026
[2026-08-29 11:26:02,397.397 INFO    ] ================================================
[2026-08-29 11:26:03,043.043 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:26:03
[2026-08-29 11:26:03,609.609 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:26:03,887.887 INFO    ] Initializing speech engine...
[2026-08-29 11:26:03,894.894 INFO    ] 2026-08-29 11:26:03
[2026-08-29 11:26:04,154.154 INFO    ] 2026-08-29 11:26:04
[2026-08-29 11:26:04,184.184 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:26:04,373.373 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:26:04,430.430 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:26:04,569.569 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:26:04,611.611 INFO    ] time= 29/08/2026 11:26:04
[2026-08-29 11:26:04,671.671 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:26:04,702.702 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:26:04,758.758 INFO    ] No existing commands found in stream
[2026-08-29 11:26:09,770.770 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:26:09,773.773 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-08-29 11:26:11,427.427 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:26:11,429.429 INFO    ] Checking for system updates...
[2026-08-29 11:26:11,450.450 INFO    ] 200
[2026-08-29 11:26:11,451.451 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:26:11,484.484 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:26:11,485.485 INFO    ] No update needed
[2026-08-29 11:26:11,487.487 INFO    ] Checking for camera pi updates...
[2026-08-29 11:26:11,507.507 INFO    ] 200
[2026-08-29 11:26:11,508.508 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:26:11,531.531 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:26:11,630.630 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:26:11,631.631 INFO    ] No camera update needed
[2026-08-29 11:26:11,633.633 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:26:11,634.634 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:26:11,638.638 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:26:11,640.640 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:26:13,681.681 INFO    ] ================================================
[2026-08-29 11:26:13,697.697 INFO    ] Launching Daemon at Sat Aug 29 11:26:13 IST 2026
[2026-08-29 11:26:13,708.708 INFO    ] ================================================
[2026-08-29 11:26:14,065.065 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:26:14
[2026-08-29 11:26:14,387.387 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:26:14,538.538 INFO    ] Initializing speech engine...
[2026-08-29 11:26:14,542.542 INFO    ] 2026-08-29 11:26:14
[2026-08-29 11:26:14,734.734 INFO    ] 2026-08-29 11:26:14
[2026-08-29 11:26:14,816.816 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:26:14,971.971 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:26:14,980.980 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:26:15,200.200 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:26:15,250.250 INFO    ] time= 29/08/2026 11:26:15
[2026-08-29 11:26:15,263.263 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:26:15,283.283 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:26:15,396.396 INFO    ] No existing commands found in stream
[2026-08-29 11:26:20,424.424 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:26:20,427.427 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-08-29 11:26:22,081.081 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:26:22,083.083 INFO    ] Checking for system updates...
[2026-08-29 11:26:22,104.104 INFO    ] 200
[2026-08-29 11:26:22,105.105 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:26:22,135.135 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:26:22,136.136 INFO    ] No update needed
[2026-08-29 11:26:22,138.138 INFO    ] Checking for camera pi updates...
[2026-08-29 11:26:22,157.157 INFO    ] 200
[2026-08-29 11:26:22,158.158 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:26:22,183.183 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:26:22,271.271 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:26:22,273.273 INFO    ] No camera update needed
[2026-08-29 11:26:22,274.274 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:26:22,275.275 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:26:22,278.278 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:26:22,281.281 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:26:24,322.322 INFO    ] ================================================
[2026-08-29 11:26:24,338.338 INFO    ] Launching Daemon at Sat Aug 29 11:26:24 IST 2026
[2026-08-29 11:26:24,350.350 INFO    ] ================================================
[2026-08-29 11:26:24,895.895 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:26:24
[2026-08-29 11:26:25,500.500 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:26:25,776.776 INFO    ] Initializing speech engine...
[2026-08-29 11:26:25,785.785 INFO    ] 2026-08-29 11:26:25
[2026-08-29 11:26:26,051.051 INFO    ] 2026-08-29 11:26:26
[2026-08-29 11:26:26,081.081 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:26:26,247.247 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:26:26,258.258 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:26:26,370.370 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:26:26,389.389 INFO    ] time= 29/08/2026 11:26:26
[2026-08-29 11:26:26,409.409 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:26:26,417.417 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:26:26,485.485 INFO    ] No existing commands found in stream
[2026-08-29 11:26:31,496.496 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:26:31,499.499 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-08-29 11:26:34,970.970 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:26:34,973.973 INFO    ] Checking for system updates...
[2026-08-29 11:26:35,008.008 INFO    ] 200
[2026-08-29 11:26:35,011.011 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:26:35,063.063 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:26:35,065.065 INFO    ] No update needed
[2026-08-29 11:26:35,068.068 INFO    ] Checking for camera pi updates...
[2026-08-29 11:26:35,102.102 INFO    ] 200
[2026-08-29 11:26:35,104.104 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:26:35,145.145 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:26:35,237.237 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:26:35,240.240 INFO    ] No camera update needed
[2026-08-29 11:26:35,242.242 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:26:35,245.245 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:26:35,250.250 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:26:35,255.255 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:26:37,300.300 INFO    ] ================================================
[2026-08-29 11:26:37,316.316 INFO    ] Launching Daemon at Sat Aug 29 11:26:37 IST 2026
[2026-08-29 11:26:37,327.327 INFO    ] ================================================
[2026-08-29 11:26:37,720.720 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:26:37
[2026-08-29 11:26:38,064.064 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:26:38,219.219 INFO    ] Initializing speech engine...
[2026-08-29 11:26:38,224.224 INFO    ] 2026-08-29 11:26:38
[2026-08-29 11:26:38,431.431 INFO    ] 2026-08-29 11:26:38
[2026-08-29 11:26:38,459.459 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:26:38,610.610 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:26:38,617.617 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:26:38,775.775 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:26:38,818.818 INFO    ] time= 29/08/2026 11:26:38
[2026-08-29 11:26:38,824.824 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:26:38,845.845 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:26:38,967.967 INFO    ] No existing commands found in stream
[2026-08-29 11:26:42,880.880 INFO    ] Received new command: ID=1787983002851-0
[2026-08-29 11:26:42,883.883 INFO    ] process_and_cleanup_command: msg_id=1787983002851-0
[2026-08-29 11:26:42,886.886 INFO    ] is_command_expired: timestamp=2026-08-29T05:56:40.354Z, expiry=30s
[2026-08-29 11:26:42,952.952 INFO    ] Command removed from stream: 1787983002851-0. returning for processing...
[2026-08-29 11:26:42,955.955 INFO    ] ***** get_valid_command
[2026-08-29 11:26:42,957.957 INFO    ] {'timestamp': '2026-08-29T05:56:40.354Z', 'command': 'start-order', 'timeout': '10', 'source': 'webapp', 'data': '{"request_id":"start-order-1787983000354-tycqhltdh","orderId":"TM07201911260829112545129","is_vending":false}'}
[2026-08-29 11:26:42,960.960 INFO    ] ***** Parsed command data: {'request_id': 'start-order-1787983000354-tycqhltdh', 'is_vending': False, 'orderId': 'TM07201911260829112545129'}
[2026-08-29 11:26:42,963.963 INFO    ] Handling start order...
[2026-08-29 11:26:42,966.966 INFO    ] handle_start_order_command
[2026-08-29 11:26:42,974.974 INFO    ] _send_start_order_success: request_id=start-order-1787983000354-tycqhltdh, order_id=TM07201911260829112545129
[2026-08-29 11:26:42,977.977 INFO    ] [_send_start_order_success] Adding message to stream: machine:TM07201911
[2026-08-29 11:26:43,029.029 INFO    ] [_send_start_order_success] Message added to stream with ID: 1787983003010-0
[2026-08-29 11:26:43,031.031 INFO    ] ✅ Start-order command succeeded - order locked, waiting for process-order command
[2026-08-29 11:26:43,032.032 INFO    ] Checking for system updates...
[2026-08-29 11:26:43,056.056 INFO    ] 200
[2026-08-29 11:26:43,057.057 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:26:43,087.087 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:26:43,088.088 INFO    ] No update needed
[2026-08-29 11:26:43,089.089 INFO    ] Checking for camera pi updates...
[2026-08-29 11:26:43,108.108 INFO    ] 200
[2026-08-29 11:26:43,109.109 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:26:43,132.132 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:26:43,229.229 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:26:43,231.231 INFO    ] No camera update needed
[2026-08-29 11:26:43,232.232 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:26:43,233.233 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:26:43,236.236 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:26:43,239.239 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:26:45,277.277 INFO    ] ================================================
[2026-08-29 11:26:45,293.293 INFO    ] Launching Daemon at Sat Aug 29 11:26:45 IST 2026
[2026-08-29 11:26:45,304.304 INFO    ] ================================================
[2026-08-29 11:26:45,667.667 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:26:45
[2026-08-29 11:26:45,979.979 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:26:46,116.116 INFO    ] Initializing speech engine...
[2026-08-29 11:26:46,127.127 INFO    ] 2026-08-29 11:26:46
[2026-08-29 11:26:46,329.329 INFO    ] 2026-08-29 11:26:46
[2026-08-29 11:26:46,358.358 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:26:46,515.515 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:26:46,543.543 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:26:46,680.680 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:26:46,746.746 INFO    ] time= 29/08/2026 11:26:46
[2026-08-29 11:26:46,770.770 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:26:46,777.777 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:26:46,845.845 INFO    ] Found 2 existing command(s) in stream
[2026-08-29 11:26:46,847.847 INFO    ] Checking historical command: ID=1787983003010-0
[2026-08-29 11:26:46,872.872 INFO    ] process_and_cleanup_command: msg_id=1787983003010-0
[2026-08-29 11:26:46,874.874 INFO    ] is_command_expired: timestamp=2026-08-29T05:56:42.975395Z, expiry=30s
[2026-08-29 11:26:46,983.983 INFO    ] Command removed from stream: 1787983003010-0. returning for processing...
[2026-08-29 11:26:46,986.986 INFO    ] ***** get_valid_command
[2026-08-29 11:26:46,989.989 INFO    ] {'imei': 'TM07201911', 'metadata_order_id': 'TM07201911260829112545129', 'message_type': 'command_response', 'metadata_request_id': 'start-order-1787983000354-tycqhltdh', 'message': 'start-order success', 'timestamp': '2026-08-29T05:56:42.975395Z', 'status': 'success'}
[2026-08-29 11:26:46,994.994 INFO    ] Checking historical command: ID=1787983005630-0
[2026-08-29 11:26:46,998.998 INFO    ] process_and_cleanup_command: msg_id=1787983005630-0
[2026-08-29 11:26:47,000.000 INFO    ] is_command_expired: timestamp=2026-08-29T05:56:45.009Z, expiry=30s
[2026-08-29 11:26:47,048.048 INFO    ] Command removed from stream: 1787983005630-0. returning for processing...
[2026-08-29 11:26:47,051.051 INFO    ] ***** get_valid_command
[2026-08-29 11:26:47,053.053 INFO    ] {'source': 'webapp', 'timestamp': '2026-08-29T05:56:45.009Z', 'data': '{"request_id":"process-order-1787983005009-w376ep6bg","orderId":"TM07201911260829112545129","is_vending":false,"accessCode":"12181827"}', 'timeout': '60', 'command': 'process-order'}
[2026-08-29 11:26:47,056.056 INFO    ] ***** Parsed command data: {'request_id': 'process-order-1787983005009-w376ep6bg', 'orderId': 'TM07201911260829112545129', 'accessCode': '12181827', 'is_vending': False}
[2026-08-29 11:26:47,059.059 INFO    ] Handling process order...
[2026-08-29 11:26:47,062.062 INFO    ] Processing process-order command...
[2026-08-29 11:26:47,065.065 INFO    ] 🔍 Lock file Order ID: TM07201911260829112545129, TS: 2026-08-29 11:26:42
[2026-08-29 11:26:47,073.073 INFO    ] ✅ Order lock valid for TM07201911260829112545129
[2026-08-29 11:26:47,076.076 INFO    ] Received access code in process-order, skipping PHP API call
[2026-08-29 11:26:47,079.079 INFO    ] processing access code 12181827 for order TM07201911260829112545129
[2026-08-29 11:26:47,082.082 INFO    ] 🔍 Lock file Order ID: TM07201911260829112545129, TS: 2026-08-29 11:26:42
[2026-08-29 11:26:47,085.085 INFO    ] ✅ Order lock valid for TM07201911260829112545129
[2026-08-29 11:26:47,088.088 INFO    ] 2026-08-29 11:26:47
[2026-08-29 11:26:47,117.117 INFO    ] 200
[2026-08-29 11:26:47,120.120 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:26:47,124.124 INFO    ] 12181827
[2026-08-29 11:26:47,129.129 INFO    ] 2026-08-29 11:26:47
[2026-08-29 11:26:47,134.134 INFO    ] session id :166604787
[2026-08-29 11:26:47,138.138 INFO    ] http://localhost:5000/v2/getOrderByAccessCode?access_code=12181827&imei=TM07201911&session_id=166604787
[2026-08-29 11:26:49,401.401 INFO    ] 200
[2026-08-29 11:26:49,403.403 INFO    ] {"msg": "Order Data", "data": {"bill_amount": "75", "access_code": "12181827", "proposed_sku_json": [{"skuid": "108676", "door_id": "2", "offer_desc": "", "qty": 1, "offer_id": "", "unit_price": 25, "tray_id": "29", "mrp": "25", "sku_total": 25, "name": "Paper Boat Orange Pouch - 150Ml", "image_url": "https://images.tinymart.in/product/108676-2689.jpg"}, {"skuid": "186078", "door_id": "2", "offer_desc": "", "qty": 1, "offer_id": "", "unit_price": 25, "tray_id": "25", "mrp": "25", "sku_total": 25, "name": "Paper boat Aam Panna 150ml", "image_url": "https://images.tinymart.in/product/186078-2883.png"}, {"skuid": "4500407", "door_id": "2", "offer_desc": "", "qty": 1, "offer_id": "", "unit_price": 25, "tray_id": "23", "mrp": "25", "sku_total": 25, "name": "Paper boat Alphonso Mango 160ml", "image_url": "https://images.tinymart.in/product/4500407-2060.jpg"}], "order_id": "TM07201911260829112545129", "invoice_bill": "75", "mobile": "8698955551"}, "rstatus": true, "status": true}
[2026-08-29 11:26:49,406.406 INFO    ] 75
[2026-08-29 11:26:49,408.408 INFO    ] TM07201911260829112545129
[2026-08-29 11:26:49,411.411 INFO    ] 8698955551
[2026-08-29 11:26:49,413.413 INFO    ] 2026-08-29 11:26:49
[2026-08-29 11:26:49,415.415 INFO    ] Door Opening for user mobile ending with  five five five one 
[2026-08-29 11:26:49,417.417 INFO    ] Door Opening for user mobile ending with  five five five one 
[2026-08-29 11:26:49,420.420 INFO    ] dd249ebb09934253c18f1f5fa68568fe
[2026-08-29 11:26:49,422.422 INFO    ] 2026-08-29 11:26:49
[2026-08-29 11:26:49,425.425 INFO    ] playing audio file
[2026-08-29 11:26:49,441.441 INFO    ] 2026-08-29 11:26:49
[2026-08-29 11:26:49,444.444 INFO    ] 2026-08-29 11:26:49
[2026-08-29 11:26:49,448.448 INFO    ] publish_status: order_id=TM07201911260829112545129
[2026-08-29 11:26:49,450.450 INFO    ] [publish_status] Adding message to stream: order:TM07201911260829112545129
[2026-08-29 11:26:49,502.502 INFO    ] [publish_status] Message added to stream with ID: 1787983009483-0
[2026-08-29 11:26:49,504.504 INFO    ] Published to order:TM07201911260829112545129: {'order_id': 'TM07201911260829112545129', 'server_status': 'order-started', 'server_response': '{"status": true, "rstatus": true, "data": {"access_code": "12181827", "mobile": "8698955551", "order_id": "TM07201911260829112545129", "bill_amount": "75", "invoice_bill": "75", "proposed_sku_json": [{"qty": 1, "offer_id": "", "name": "Paper Boat Orange Pouch - 150Ml", "image_url": "https://images.tinymart.in/product/108676-2689.jpg", "unit_price": 25, "offer_desc": "", "tray_id": "29", "mrp": "25", "skuid": "108676", "door_id": "2", "sku_total": 25}, {"qty": 1, "offer_id": "", "name": "Paper boat Aam Panna 150ml", "image_url": "https://images.tinymart.in/product/186078-2883.png", "unit_price": 25, "offer_desc": "", "tray_id": "25", "mrp": "25", "skuid": "186078", "door_id": "2", "sku_total": 25}, {"qty": 1, "offer_id": "", "name": "Paper boat Alphonso Mango 160ml", "image_url": "https://images.tinymart.in/product/4500407-2060.jpg", "unit_price": 25, "offer_desc": "", "tray_id": "23", "mrp": "25", "skuid": "4500407", "door_id": "2", "sku_total": 25}]}, "msg": "Order Data"}', 'timestamp': '2026-08-29T05:56:49.446488Z'} (ID: 1787983009483-0)
[2026-08-29 11:26:49,922.922 INFO    ] {'order_id': 'TM07201911260829112545129', 'server_status': 'order-started', 'server_response': {'status': True, 'rstatus': True, 'data': {'access_code': '12181827', 'mobile': '8698955551', 'order_id': 'TM07201911260829112545129', 'bill_amount': '75', 'invoice_bill': '75', 'proposed_sku_json': [{'qty': 1, 'offer_id': '', 'name': 'Paper Boat Orange Pouch - 150Ml', 'image_url': 'https://images.tinymart.in/product/108676-2689.jpg', 'unit_price': 25, 'offer_desc': '', 'tray_id': '29', 'mrp': '25', 'skuid': '108676', 'door_id': '2', 'sku_total': 25}, {'qty': 1, 'offer_id': '', 'name': 'Paper boat Aam Panna 150ml', 'image_url': 'https://images.tinymart.in/product/186078-2883.png', 'unit_price': 25, 'offer_desc': '', 'tray_id': '25', 'mrp': '25', 'skuid': '186078', 'door_id': '2', 'sku_total': 25}, {'qty': 1, 'offer_id': '', 'name': 'Paper boat Alphonso Mango 160ml', 'image_url': 'https://images.tinymart.in/product/4500407-2060.jpg', 'unit_price': 25, 'offer_desc': '', 'tray_id': '23', 'mrp': '25', 'skuid': '4500407', 'door_id': '2', 'sku_total': 25}]}, 'msg': 'Order Data'}}
[2026-08-29 11:26:49,925.925 INFO    ] 200
[2026-08-29 11:26:49,927.927 INFO    ] {"data":{"order_id":"TM07201911260829112545129","server_status":"order-started","server_response":{"status":true,"rstatus":true,"data":{"access_code":"12181827","mobile":"8698955551","order_id":"TM07201911260829112545129","bill_amount":"75","invoice_bill":"75","proposed_sku_json":[{"qty":1,"offer_id":"","name":"Paper Boat Orange Pouch - 150Ml","image_url":"https:\/\/images.tinymart.in\/product\/108676-2689.jpg","unit_price":25,"offer_desc":"","tray_id":"29","mrp":"25","skuid":"108676","door_id":"2","sku_total":25},{"qty":1,"offer_id":"","name":"Paper boat Aam Panna 150ml","image_url":"https:\/\/images.tinymart.in\/product\/186078-2883.png","unit_price":25,"offer_desc":"","tray_id":"25","mrp":"25","skuid":"186078","door_id":"2","sku_total":25},{"qty":1,"offer_id":"","name":"Paper boat Alphonso Mango 160ml","image_url":"https:\/\/images.tinymart.in\/product\/4500407-2060.jpg","unit_price":25,"offer_desc":"","tray_id":"23","mrp":"25","skuid":"4500407","door_id":"2","sku_total":25}]},"msg":"Order Data"}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-08-29 11:26:49,930.930 INFO    ] {'data': {'order_id': 'TM07201911260829112545129', 'server_status': 'order-started', 'server_response': {'status': True, 'rstatus': True, 'data': {'access_code': '12181827', 'invoice_bill': '75', 'bill_amount': '75', 'order_id': 'TM07201911260829112545129', 'mobile': '8698955551', 'proposed_sku_json': [{'qty': 1, 'offer_id': '', 'name': 'Paper Boat Orange Pouch - 150Ml', 'image_url': 'https://images.tinymart.in/product/108676-2689.jpg', 'unit_price': 25, 'offer_desc': '', 'tray_id': '29', 'mrp': '25', 'skuid': '108676', 'door_id': '2', 'sku_total': 25}, {'qty': 1, 'offer_id': '', 'name': 'Paper boat Aam Panna 150ml', 'image_url': 'https://images.tinymart.in/product/186078-2883.png', 'unit_price': 25, 'offer_desc': '', 'tray_id': '25', 'mrp': '25', 'skuid': '186078', 'door_id': '2', 'sku_total': 25}, {'qty': 1, 'offer_id': '', 'name': 'Paper boat Alphonso Mango 160ml', 'image_url': 'https://images.tinymart.in/product/4500407-2060.jpg', 'unit_price': 25, 'offer_desc': '', 'tray_id': '23', 'mrp': '25', 'skuid': '4500407', 'door_id': '2', 'sku_total': 25}]}, 'msg': 'Order Data'}}, 'response': {'status': True, 'code': 'ORDER_EXISTS', 'data': 'order updated successfully', 'msg': 'order updated successfully'}}
[2026-08-29 11:26:49,933.933 INFO    ] 2026-08-29 11:26:49
[2026-08-29 11:26:49,981.981 INFO    ] 200
[2026-08-29 11:26:49,984.984 INFO    ] True
[2026-08-29 11:26:50,117.117 INFO    ] 200
[2026-08-29 11:26:50,119.119 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "voiceNote": "Please Wait", "rstatus": false, "SectionMain": {"Header": "Processing Order"}, "SectionStatus": {"Note": "", "SubHeader": "Please wait while we process your order", "Header": " Your order is under process  ", "UI_Header": ""}, "error": {"data": {}, "code": 20001, "umessage": "In Progress", "tmessage": "In Progress"}, "status": "False"}
[2026-08-29 11:26:50,123.123 INFO    ] {'rstatus': False, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'SectionMain': {'Header': 'Processing Order'}, 'SectionStatus': {'UI_Header': '', 'SubHeader': 'Please wait while we process your order', 'Header': ' Your order is under process  ', 'Note': ''}, 'status': 'False', 'error': {'umessage': 'In Progress', 'code': 20001, 'data': {}, 'tmessage': 'In Progress'}, 'voiceNote': 'Please Wait'}
[2026-08-29 11:26:50,125.125 INFO    ] *** process_order ***
[2026-08-29 11:26:51,298.298 INFO    ] 200
[2026-08-29 11:26:51,300.300 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "voiceNote": "Please Wait", "rstatus": true, "delay": 0, "SectionMain": {"Header": "Processing Order"}, "SectionStatus": {"Note": "", "SubHeader": "Please wait while we process your order", "Header": " Your order is under process  ", "UI_Header": ""}, "status": "True"}
[2026-08-29 11:26:51,303.303 INFO    ] {'rstatus': True, 'delay': 0, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'SectionStatus': {'UI_Header': '', 'SubHeader': 'Please wait while we process your order', 'Header': ' Your order is under process  ', 'Note': ''}, 'status': 'True', 'SectionMain': {'Header': 'Processing Order'}, 'voiceNote': 'Please Wait'}
[2026-08-29 11:26:51,306.306 INFO    ] *** process_order ***
[2026-08-29 11:26:51,308.308 INFO    ] publish_status: order_id=TM07201911260829112545129
[2026-08-29 11:26:51,310.310 INFO    ] [publish_status] Adding message to stream: order:TM07201911260829112545129
[2026-08-29 11:26:51,360.360 INFO    ] [publish_status] Message added to stream with ID: 1787983011342-0
[2026-08-29 11:26:51,363.363 INFO    ] Published to order:TM07201911260829112545129: {'order_id': 'TM07201911260829112545129', 'server_status': 'doorOpened', 'server_response': '{"rstatus": true, "delay": 0, "SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "SectionMain": {"Header": "Processing Order"}, "SectionStatus": {"UI_Header": "", "Header": " Your order is under process  ", "SubHeader": "You can pull the door now.", "Note": ""}, "status": "True", "voiceNote": "Door is open..."}'} (ID: 1787983011342-0)
[2026-08-29 11:26:52,404.404 INFO    ] 2026-08-29 11:26:52
[2026-08-29 11:26:52,406.406 INFO    ] publish_status: order_id=TM07201911260829112545129
[2026-08-29 11:26:52,409.409 INFO    ] [publish_status] Adding message to stream: order:TM07201911260829112545129
[2026-08-29 11:26:52,455.455 INFO    ] [publish_status] Message added to stream with ID: 1787983012437-0
[2026-08-29 11:26:52,458.458 INFO    ] Published to order:TM07201911260829112545129: {'order_id': 'TM07201911260829112545129', 'server_status': 'processOrder', 'server_response': '{"rstatus": true, "delay": 0, "SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Header": " Your order is under process  ", "Note": ""}, "status": "True", "SectionMain": {"Header": "Processing Order"}, "voiceNote": "Please Wait"}', 'timestamp': '2026-08-29T05:56:52.405240Z'} (ID: 1787983012437-0)
[2026-08-29 11:26:52,564.564 INFO    ] {'order_id': 'TM07201911260829112545129', 'server_status': 'processOrder', 'server_response': {'rstatus': True, 'delay': 0, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'SectionStatus': {'UI_Header': '', 'SubHeader': 'Please wait while we process your order', 'Header': ' Your order is under process  ', 'Note': ''}, 'status': 'True', 'SectionMain': {'Header': 'Processing Order'}, 'voiceNote': 'Please Wait'}}
[2026-08-29 11:26:52,566.566 INFO    ] 200
[2026-08-29 11:26:52,569.569 INFO    ] {"data":{"order_id":"TM07201911260829112545129","server_status":"processOrder","server_response":{"rstatus":true,"delay":0,"SectionSKU":{"skus":[],"Header":"Thank you for bearing with us :)"},"SectionStatus":{"UI_Header":"","SubHeader":"Please wait while we process your order","Header":" Your order is under process  ","Note":""},"status":"true","SectionMain":{"Header":"Processing Order"},"voiceNote":"Please Wait"}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-08-29 11:26:52,572.572 INFO    ] {'data': {'order_id': 'TM07201911260829112545129', 'server_status': 'processOrder', 'server_response': {'rstatus': True, 'delay': 0, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'SectionStatus': {'Note': '', 'UI_Header': '', 'Header': ' Your order is under process  ', 'SubHeader': 'Please wait while we process your order'}, 'status': 'true', 'SectionMain': {'Header': 'Processing Order'}, 'voiceNote': 'Please Wait'}}, 'response': {'status': True, 'code': 'ORDER_EXISTS', 'data': 'order updated successfully', 'msg': 'order updated successfully'}}
[2026-08-29 11:26:52,575.575 INFO    ] 2026-08-29 11:26:52
[2026-08-29 11:26:52,577.577 INFO    ] None
[2026-08-29 11:26:52,580.580 INFO    ] Opening Door now
[2026-08-29 11:26:52,582.582 INFO    ] Opening Door now
[2026-08-29 11:26:52,585.585 INFO    ] 08e5d1063504bf393c26f0bfa436e9f9
[2026-08-29 11:26:52,592.592 INFO    ] 2026-08-29 11:26:52
[2026-08-29 11:26:52,595.595 INFO    ] playing audio file
[2026-08-29 11:26:52,614.614 INFO    ] 2026-08-29 11:26:52
[2026-08-29 11:26:52,617.617 INFO    ] 2026-08-29 11:26:52
[2026-08-29 11:26:55,715.715 INFO    ] 200
[2026-08-29 11:26:55,718.718 INFO    ] {"SectionSKU": {"skus": [{"qty": 1, "name": "Paper Boat Orange Pouch - 150Ml"}, {"qty": 1, "name": "Paper boat Aam Panna 150ml"}, {"qty": 1, "name": "Paper boat Alphonso Mango 160ml"}], "Header": "Pick the below items from the door"}, "voiceNote": "Door 2 is open now", "rstatus": false, "SectionMain": {"Header": "Door Open"}, "SectionStatus": {"Note": "Please Close the door after picking up products", "SubHeader": "Please Pick the Products and close the door", "Header": "Please Close Door 2", "UI_Header": "DOOR 2\nIS \nOPEN \nNOW"}, "error": {"data": {}, "code": 20001, "umessage": "In Progress", "tmessage": "In Progress"}, "status": "False"}
[2026-08-29 11:26:55,722.722 INFO    ] {'rstatus': False, 'SectionSKU': {'skus': [{'qty': 1, 'name': 'Paper Boat Orange Pouch - 150Ml'}, {'qty': 1, 'name': 'Paper boat Aam Panna 150ml'}, {'qty': 1, 'name': 'Paper boat Alphonso Mango 160ml'}], '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', 'Header': 'Please Close Door 2', 'Note': 'Please Close the door after picking up products'}, 'status': 'False', 'error': {'umessage': 'In Progress', 'code': 20001, 'data': {}, 'tmessage': 'In Progress'}, 'voiceNote': 'Door 2 is open now'}
[2026-08-29 11:26:58,783.783 INFO    ] 200
[2026-08-29 11:26:58,785.785 INFO    ] {"SectionSKU": {"skus": [{"qty": 1, "name": "Paper Boat Orange Pouch - 150Ml"}, {"qty": 1, "name": "Paper boat Aam Panna 150ml"}, {"qty": 1, "name": "Paper boat Alphonso Mango 160ml"}], "Header": "Pick the below items from the door"}, "voiceNote": "Please close door 2", "rstatus": false, "SectionMain": {"Header": "Door Open"}, "SectionStatus": {"Note": "Please Close the door after picking up products", "SubHeader": "Please Pick the Products and close the door", "Header": "Please Close Door 2", "UI_Header": "DOOR 2\nIS \nOPEN \nNOW"}, "error": {"data": {}, "code": 20001, "umessage": "In Progress", "tmessage": "In Progress"}, "status": "False"}
[2026-08-29 11:26:58,788.788 INFO    ] {'rstatus': False, 'SectionSKU': {'skus': [{'qty': 1, 'name': 'Paper Boat Orange Pouch - 150Ml'}, {'qty': 1, 'name': 'Paper boat Aam Panna 150ml'}, {'qty': 1, 'name': 'Paper boat Alphonso Mango 160ml'}], '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', 'Header': 'Please Close Door 2', 'Note': 'Please Close the door after picking up products'}, 'status': 'False', 'error': {'umessage': 'In Progress', 'code': 20001, 'data': {}, 'tmessage': 'In Progress'}, 'voiceNote': 'Please close door 2'}
[2026-08-29 11:27:01,875.875 INFO    ] 200
[2026-08-29 11:27:01,879.879 INFO    ] {"SectionSKU": {"skus": [{"qty": 1, "name": "Paper Boat Orange Pouch - 150Ml"}, {"qty": 1, "name": "Paper boat Aam Panna 150ml"}, {"qty": 1, "name": "Paper boat Alphonso Mango 160ml"}], "Header": "Pick the below items from the door"}, "voiceNote": "Please close door 2", "rstatus": false, "SectionMain": {"Header": "Door Open"}, "SectionStatus": {"Note": "Please Close the door after picking up products", "SubHeader": "Please Pick the Products and close the door", "Header": "Please Close Door 2", "UI_Header": "DOOR 2\nIS \nOPEN \nNOW"}, "error": {"data": {}, "code": 20001, "umessage": "In Progress", "tmessage": "In Progress"}, "status": "False"}
[2026-08-29 11:27:01,882.882 INFO    ] Please close door 2
[2026-08-29 11:27:01,886.886 INFO    ] Please close door 2
[2026-08-29 11:27:01,889.889 INFO    ] 758e46684c76e887a5f58d4738034bed
[2026-08-29 11:27:01,894.894 INFO    ] 2026-08-29 11:27:01
[2026-08-29 11:27:01,898.898 INFO    ] playing audio file
[2026-08-29 11:27:01,920.920 INFO    ] 2026-08-29 11:27:01
[2026-08-29 11:27:01,924.924 INFO    ] publish_status: order_id=TM07201911260829112545129
[2026-08-29 11:27:01,928.928 INFO    ] [publish_status] Adding message to stream: order:TM07201911260829112545129
[2026-08-29 11:27:01,987.987 INFO    ] [publish_status] Message added to stream with ID: 1787983021969-0
[2026-08-29 11:27:01,990.990 INFO    ] Published to order:TM07201911260829112545129: {'order_id': 'TM07201911260829112545129', 'server_status': 'OrderStatus', 'server_response': '{"rstatus": false, "SectionSKU": {"skus": [{"qty": 1, "name": "Paper Boat Orange Pouch - 150Ml"}, {"qty": 1, "name": "Paper boat Aam Panna 150ml"}, {"qty": 1, "name": "Paper boat Alphonso Mango 160ml"}], "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", "Header": "Please Close Door 2", "Note": "Please Close the door after picking up products"}, "status": "False", "error": {"umessage": "In Progress", "code": 20001, "data": {}, "tmessage": "In Progress"}, "voiceNote": "Please close door 2"}', 'timestamp': '2026-08-29T05:57:01.922499Z'} (ID: 1787983021969-0)
[2026-08-29 11:27:02,528.528 INFO    ] {'order_id': 'TM07201911260829112545129', 'server_status': 'OrderStatus', 'server_response': {'rstatus': False, 'SectionSKU': {'skus': [{'qty': 1, 'name': 'Paper Boat Orange Pouch - 150Ml'}, {'qty': 1, 'name': 'Paper boat Aam Panna 150ml'}, {'qty': 1, 'name': 'Paper boat Alphonso Mango 160ml'}], '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', 'Header': 'Please Close Door 2', 'Note': 'Please Close the door after picking up products'}, 'status': 'False', 'error': {'umessage': 'In Progress', 'code': 20001, 'data': {}, 'tmessage': 'In Progress'}, 'voiceNote': 'Please close door 2'}}
[2026-08-29 11:27:02,532.532 INFO    ] 200
[2026-08-29 11:27:02,537.537 INFO    ] {"data":{"order_id":"TM07201911260829112545129","server_status":"OrderStatus","server_response":{"rstatus":false,"SectionSKU":{"skus":[{"qty":1,"name":"Paper Boat Orange Pouch - 150Ml"},{"qty":1,"name":"Paper boat Aam Panna 150ml"},{"qty":1,"name":"Paper boat Alphonso Mango 160ml"}],"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","Header":"Please Close Door 2","Note":"Please Close the door after picking up products"},"status":"false","error":{"umessage":"In Progress","code":20001,"data":[],"tmessage":"In Progress"},"voiceNote":"Please close door 2"}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-08-29 11:27:02,542.542 INFO    ] {'data': {'order_id': 'TM07201911260829112545129', 'server_status': 'OrderStatus', 'server_response': {'rstatus': False, 'SectionSKU': {'skus': [{'qty': 1, 'name': 'Paper Boat Orange Pouch - 150Ml'}, {'qty': 1, 'name': 'Paper boat Aam Panna 150ml'}, {'qty': 1, 'name': 'Paper boat Alphonso Mango 160ml'}], 'Header': 'Pick the below items from the door'}, 'SectionMain': {'Header': 'Door Open'}, 'SectionStatus': {'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2', 'SubHeader': 'Please Pick the Products and close the door'}, 'status': 'false', 'error': {'umessage': 'In Progress', 'code': 20001, 'data': [], 'tmessage': 'In Progress'}, 'voiceNote': 'Please close door 2'}}, 'response': {'status': True, 'code': 'ORDER_EXISTS', 'data': 'order updated successfully', 'msg': 'order updated successfully'}}
[2026-08-29 11:27:02,548.548 INFO    ] {'rstatus': False, 'SectionSKU': {'skus': [{'qty': 1, 'name': 'Paper Boat Orange Pouch - 150Ml'}, {'qty': 1, 'name': 'Paper boat Aam Panna 150ml'}, {'qty': 1, 'name': 'Paper boat Alphonso Mango 160ml'}], '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', 'Header': 'Please Close Door 2', 'Note': 'Please Close the door after picking up products'}, 'status': 'False', 'error': {'umessage': 'In Progress', 'code': 20001, 'data': {}, 'tmessage': 'In Progress'}, 'voiceNote': 'Please close door 2'}
[2026-08-29 11:27:05,579.579 INFO    ] 200
[2026-08-29 11:27:05,581.581 INFO    ] {"SectionSKU": {"skus": [{"qty": 1, "name": "Paper Boat Orange Pouch - 150Ml"}, {"qty": 1, "name": "Paper boat Aam Panna 150ml"}, {"qty": 1, "name": "Paper boat Alphonso Mango 160ml"}], "Header": "Pick the below items from the door"}, "voiceNote": "Please close door 2", "rstatus": false, "SectionMain": {"Header": "Door Open"}, "SectionStatus": {"Note": "Please Close the door after picking up products", "SubHeader": "Please Pick the Products and close the door", "Header": "Please Close Door 2", "UI_Header": "DOOR 2\nIS \nOPEN \nNOW"}, "error": {"data": {}, "code": 20001, "umessage": "In Progress", "tmessage": "In Progress"}, "status": "False"}
[2026-08-29 11:27:05,583.583 INFO    ] {'rstatus': False, 'SectionSKU': {'skus': [{'qty': 1, 'name': 'Paper Boat Orange Pouch - 150Ml'}, {'qty': 1, 'name': 'Paper boat Aam Panna 150ml'}, {'qty': 1, 'name': 'Paper boat Alphonso Mango 160ml'}], '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', 'Header': 'Please Close Door 2', 'Note': 'Please Close the door after picking up products'}, 'status': 'False', 'error': {'umessage': 'In Progress', 'code': 20001, 'data': {}, 'tmessage': 'In Progress'}, 'voiceNote': 'Please close door 2'}
[2026-08-29 11:27:08,613.613 INFO    ] 200
[2026-08-29 11:27:08,614.614 INFO    ] {"SectionSKU": {"skus": [{"qty": 1, "name": "Paper Boat Orange Pouch - 150Ml"}, {"qty": 1, "name": "Paper boat Aam Panna 150ml"}, {"qty": 1, "name": "Paper boat Alphonso Mango 160ml"}], "Header": "Pick the below items from the door"}, "voiceNote": "Please close door 2", "rstatus": false, "SectionMain": {"Header": "Door Open"}, "SectionStatus": {"Note": "Please Close the door after picking up products", "SubHeader": "Please Pick the Products and close the door", "Header": "Please Close Door 2", "UI_Header": "DOOR 2\nIS \nOPEN \nNOW"}, "error": {"data": {}, "code": 20001, "umessage": "In Progress", "tmessage": "In Progress"}, "status": "False"}
[2026-08-29 11:27:08,616.616 INFO    ] {'rstatus': False, 'SectionSKU': {'skus': [{'qty': 1, 'name': 'Paper Boat Orange Pouch - 150Ml'}, {'qty': 1, 'name': 'Paper boat Aam Panna 150ml'}, {'qty': 1, 'name': 'Paper boat Alphonso Mango 160ml'}], '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', 'Header': 'Please Close Door 2', 'Note': 'Please Close the door after picking up products'}, 'status': 'False', 'error': {'umessage': 'In Progress', 'code': 20001, 'data': {}, 'tmessage': 'In Progress'}, 'voiceNote': 'Please close door 2'}
[2026-08-29 11:27:11,657.657 INFO    ] 200
[2026-08-29 11:27:11,659.659 INFO    ] {"SectionSKU": {"skus": [], "Header": "If you like us, tell others... else tell us"}, "voiceNote": "Transaction Completed", "rstatus": true, "delay": 100, "SectionMain": {"Header": "Door Closed"}, "SectionStatus": {"Note": "If any due amount, clear at https://go.tinymart.in", "SubHeader": "Please wait for invoice to generate", "Header": " Order is complete ", "UI_Header": ""}, "status": "True"}
[2026-08-29 11:27:11,661.661 INFO    ] publish_status: order_id=TM07201911260829112545129
[2026-08-29 11:27:11,663.663 INFO    ] [publish_status] Adding message to stream: order:TM07201911260829112545129
[2026-08-29 11:27:11,712.712 INFO    ] [publish_status] Message added to stream with ID: 1787983031694-0
[2026-08-29 11:27:11,714.714 INFO    ] Published to order:TM07201911260829112545129: {'order_id': 'TM07201911260829112545129', 'server_status': 'OrderStatus', 'server_response': '{"rstatus": true, "delay": 100, "SectionSKU": {"skus": [], "Header": "If you like us, tell others... else tell us"}, "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait for invoice to generate", "Header": " Order is complete ", "Note": "If any due amount, clear at https://go.tinymart.in"}, "status": "True", "SectionMain": {"Header": "Door Closed"}, "voiceNote": "Transaction Completed"}', 'timestamp': '2026-08-29T05:57:11.660288Z'} (ID: 1787983031694-0)
[2026-08-29 11:27:12,124.124 INFO    ] {'order_id': 'TM07201911260829112545129', 'server_status': 'OrderStatus', 'server_response': {'rstatus': True, 'delay': 100, 'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'SectionStatus': {'UI_Header': '', 'SubHeader': 'Please wait for invoice to generate', 'Header': ' Order is complete ', 'Note': 'If any due amount, clear at https://go.tinymart.in'}, 'status': 'True', 'SectionMain': {'Header': 'Door Closed'}, 'voiceNote': 'Transaction Completed'}}
[2026-08-29 11:27:12,127.127 INFO    ] 200
[2026-08-29 11:27:12,130.130 INFO    ] {"data":{"order_id":"TM07201911260829112545129","server_status":"OrderStatus","server_response":{"rstatus":true,"delay":100,"SectionSKU":{"skus":[],"Header":"If you like us, tell others... else tell us"},"SectionStatus":{"UI_Header":"","SubHeader":"Please wait for invoice to generate","Header":" Order is complete ","Note":"If any due amount, clear at https:\/\/go.tinymart.in"},"status":"true","SectionMain":{"Header":"Door Closed"},"voiceNote":"Transaction Completed"}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-08-29 11:27:12,134.134 INFO    ] {'data': {'order_id': 'TM07201911260829112545129', 'server_status': 'OrderStatus', 'server_response': {'rstatus': True, 'delay': 100, 'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'SectionStatus': {'Note': 'If any due amount, clear at https://go.tinymart.in', 'UI_Header': '', 'Header': ' Order is complete ', 'SubHeader': 'Please wait for invoice to generate'}, 'status': 'true', 'SectionMain': {'Header': 'Door Closed'}, 'voiceNote': 'Transaction Completed'}}, 'response': {'status': True, 'code': 'ORDER_EXISTS', 'data': 'order updated successfully', 'msg': 'order updated successfully'}}
[2026-08-29 11:27:12,137.137 INFO    ] {'rstatus': True, 'delay': 100, 'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'SectionStatus': {'UI_Header': '', 'SubHeader': 'Please wait for invoice to generate', 'Header': ' Order is complete ', 'Note': 'If any due amount, clear at https://go.tinymart.in'}, 'status': 'True', 'SectionMain': {'Header': 'Door Closed'}, 'voiceNote': 'Transaction Completed'}
[2026-08-29 11:27:12,141.141 INFO    ] 2026-08-29 11:27:12
[2026-08-29 11:27:12,144.144 INFO    ] Order Completed 
[2026-08-29 11:27:12,147.147 INFO    ] Order Completed 
[2026-08-29 11:27:12,151.151 INFO    ] 193c8a8cf3bf490ccfe0b23598544a83
[2026-08-29 11:27:12,154.154 INFO    ] 2026-08-29 11:27:12
[2026-08-29 11:27:12,158.158 INFO    ] playing audio file
[2026-08-29 11:27:12,177.177 INFO    ] 2026-08-29 11:27:12
[2026-08-29 11:27:12,181.181 INFO    ] {'rstatus': True, 'delay': 100, 'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'SectionStatus': {'UI_Header': '', 'SubHeader': 'Please wait for invoice to generate', 'Header': ' Order is complete ', 'Note': 'If any due amount, clear at https://go.tinymart.in'}, 'status': 'True', 'SectionMain': {'Header': 'Door Closed'}, 'voiceNote': 'Transaction Completed'}
[2026-08-29 11:27:12,186.186 INFO    ] 2026-08-29 11:27:12
[2026-08-29 11:27:13,346.346 INFO    ] 200
[2026-08-29 11:27:13,349.349 INFO    ] {"orderId": "TM07201911260829112545129", "total_amount": 75.0, "rstatus": true, "res": "True", "skus": [{"door_id": "", "qty": 1, "unit_price": "25", "tray_id": "23", "skuid": "4500407", "mrp": "25", "sku_total": 25.0, "name": "Paper boat Alphonso Mango 160ml per peice", "image_url": "https://images.tinymart.in/product/4500407-2060.jpg"}, {"door_id": "", "qty": 1, "unit_price": "25", "tray_id": "25", "skuid": "186078", "mrp": "25", "sku_total": 25.0, "name": "Paper boat Aam Panna 150ml per peice", "image_url": "https://images.tinymart.in/product/186078-2883.png"}, {"door_id": "", "qty": 1, "unit_price": "25", "tray_id": "29", "skuid": "108676", "mrp": "25", "sku_total": 25.0, "name": "Paper Boat Orange Pouch - 150Ml per peice", "image_url": "https://images.tinymart.in/product/108676-2689.jpg"}], "anomaly": 0, "logic": "WBL"}
[2026-08-29 11:27:13,352.352 INFO    ] {'rstatus': True, 'res': 'True', 'total_amount': 75.0, 'orderId': 'TM07201911260829112545129', 'skus': [{'qty': 1, 'name': 'Paper boat Alphonso Mango 160ml per peice', 'image_url': 'https://images.tinymart.in/product/4500407-2060.jpg', 'unit_price': '25', 'tray_id': '23', 'mrp': '25', 'skuid': '4500407', 'door_id': '', 'sku_total': 25.0}, {'qty': 1, 'name': 'Paper boat Aam Panna 150ml per peice', 'image_url': 'https://images.tinymart.in/product/186078-2883.png', 'unit_price': '25', 'tray_id': '25', 'mrp': '25', 'skuid': '186078', 'door_id': '', 'sku_total': 25.0}, {'qty': 1, 'name': 'Paper Boat Orange Pouch - 150Ml per peice', 'image_url': 'https://images.tinymart.in/product/108676-2689.jpg', 'unit_price': '25', 'tray_id': '29', 'mrp': '25', 'skuid': '108676', 'door_id': '', 'sku_total': 25.0}], 'anomaly': 0, 'logic': 'WBL'}
[2026-08-29 11:27:13,356.356 INFO    ] {'rstatus': True, 'res': 'True', 'total_amount': 75.0, 'orderId': 'TM07201911260829112545129', 'skus': [{'qty': 1, 'name': 'Paper boat Alphonso Mango 160ml per peice', 'image_url': 'https://images.tinymart.in/product/4500407-2060.jpg', 'unit_price': '25', 'tray_id': '23', 'mrp': '25', 'skuid': '4500407', 'door_id': '', 'sku_total': 25.0}, {'qty': 1, 'name': 'Paper boat Aam Panna 150ml per peice', 'image_url': 'https://images.tinymart.in/product/186078-2883.png', 'unit_price': '25', 'tray_id': '25', 'mrp': '25', 'skuid': '186078', 'door_id': '', 'sku_total': 25.0}, {'qty': 1, 'name': 'Paper Boat Orange Pouch - 150Ml per peice', 'image_url': 'https://images.tinymart.in/product/108676-2689.jpg', 'unit_price': '25', 'tray_id': '29', 'mrp': '25', 'skuid': '108676', 'door_id': '', 'sku_total': 25.0}], 'anomaly': 0, 'logic': 'WBL'}
[2026-08-29 11:27:13,359.359 INFO    ] 2026-08-29 11:27:13
[2026-08-29 11:27:13,363.363 INFO    ] 2026-08-29 11:27:13
[2026-08-29 11:27:13,366.366 INFO    ] 75
[2026-08-29 11:27:13,369.369 INFO    ] 2026-08-29 11:27:13
[2026-08-29 11:27:13,371.371 INFO    ] 2026-08-29 11:27:13
[2026-08-29 11:27:13,374.374 INFO    ]  Your Bill Amount is 75
[2026-08-29 11:27:13,377.377 INFO    ]  Your Bill Amount is 75
[2026-08-29 11:27:13,380.380 INFO    ] 13624e8d29f40a764776d3da89e75ae9
[2026-08-29 11:27:13,387.387 INFO    ] 2026-08-29 11:27:13
[2026-08-29 11:27:13,390.390 INFO    ] playing audio file
[2026-08-29 11:27:13,408.408 INFO    ] 2026-08-29 11:27:13
[2026-08-29 11:27:13,412.412 INFO    ] 2026-08-29 11:27:13
[2026-08-29 11:27:13,417.417 INFO    ] publish_status: order_id=TM07201911260829112545129
[2026-08-29 11:27:13,421.421 INFO    ] [publish_status] Adding message to stream: order:TM07201911260829112545129
[2026-08-29 11:27:13,479.479 INFO    ] [publish_status] Message added to stream with ID: 1787983033461-0
[2026-08-29 11:27:13,481.481 INFO    ] Published to order:TM07201911260829112545129: {'order_id': 'TM07201911260829112545129', 'server_status': 'invoiceOrder', 'server_response': '{"rstatus": true, "res": "True", "total_amount": 75.0, "orderId": "TM07201911260829112545129", "skus": [{"qty": 1, "name": "Paper boat Alphonso Mango 160ml per peice", "image_url": "https://images.tinymart.in/product/4500407-2060.jpg", "unit_price": "25", "tray_id": "23", "mrp": "25", "skuid": "4500407", "door_id": "", "sku_total": 25.0}, {"qty": 1, "name": "Paper boat Aam Panna 150ml per peice", "image_url": "https://images.tinymart.in/product/186078-2883.png", "unit_price": "25", "tray_id": "25", "mrp": "25", "skuid": "186078", "door_id": "", "sku_total": 25.0}, {"qty": 1, "name": "Paper Boat Orange Pouch - 150Ml per peice", "image_url": "https://images.tinymart.in/product/108676-2689.jpg", "unit_price": "25", "tray_id": "29", "mrp": "25", "skuid": "108676", "door_id": "", "sku_total": 25.0}], "anomaly": 0, "logic": "WBL"}', 'timestamp': '2026-08-29T05:57:13.414414Z'} (ID: 1787983033461-0)
[2026-08-29 11:27:13,599.599 INFO    ] {'order_id': 'TM07201911260829112545129', 'server_status': 'invoiceOrder', 'server_response': {'rstatus': True, 'res': 'True', 'total_amount': 75.0, 'orderId': 'TM07201911260829112545129', 'skus': [{'qty': 1, 'name': 'Paper boat Alphonso Mango 160ml per peice', 'image_url': 'https://images.tinymart.in/product/4500407-2060.jpg', 'unit_price': '25', 'tray_id': '23', 'mrp': '25', 'skuid': '4500407', 'door_id': '', 'sku_total': 25.0}, {'qty': 1, 'name': 'Paper boat Aam Panna 150ml per peice', 'image_url': 'https://images.tinymart.in/product/186078-2883.png', 'unit_price': '25', 'tray_id': '25', 'mrp': '25', 'skuid': '186078', 'door_id': '', 'sku_total': 25.0}, {'qty': 1, 'name': 'Paper Boat Orange Pouch - 150Ml per peice', 'image_url': 'https://images.tinymart.in/product/108676-2689.jpg', 'unit_price': '25', 'tray_id': '29', 'mrp': '25', 'skuid': '108676', 'door_id': '', 'sku_total': 25.0}], 'anomaly': 0, 'logic': 'WBL'}}
[2026-08-29 11:27:13,602.602 INFO    ] 200
[2026-08-29 11:27:13,605.605 INFO    ] {"data":{"order_id":"TM07201911260829112545129","server_status":"invoiceOrder","server_response":{"rstatus":true,"res":"true","total_amount":75,"orderId":"TM07201911260829112545129","skus":[{"qty":1,"name":"Paper boat Alphonso Mango 160ml per peice","image_url":"https:\/\/images.tinymart.in\/product\/4500407-2060.jpg","unit_price":"25","tray_id":"23","mrp":"25","skuid":"4500407","door_id":"","sku_total":25},{"qty":1,"name":"Paper boat Aam Panna 150ml per peice","image_url":"https:\/\/images.tinymart.in\/product\/186078-2883.png","unit_price":"25","tray_id":"25","mrp":"25","skuid":"186078","door_id":"","sku_total":25},{"qty":1,"name":"Paper Boat Orange Pouch - 150Ml per peice","image_url":"https:\/\/images.tinymart.in\/product\/108676-2689.jpg","unit_price":"25","tray_id":"29","mrp":"25","skuid":"108676","door_id":"","sku_total":25}],"anomaly":0,"logic":"WBL"}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-08-29 11:27:13,608.608 INFO    ] {'data': {'order_id': 'TM07201911260829112545129', 'server_status': 'invoiceOrder', 'server_response': {'rstatus': True, 'res': 'true', 'total_amount': 75, 'orderId': 'TM07201911260829112545129', 'skus': [{'qty': 1, 'name': 'Paper boat Alphonso Mango 160ml per peice', 'image_url': 'https://images.tinymart.in/product/4500407-2060.jpg', 'unit_price': '25', 'tray_id': '23', 'mrp': '25', 'skuid': '4500407', 'door_id': '', 'sku_total': 25}, {'qty': 1, 'name': 'Paper boat Aam Panna 150ml per peice', 'image_url': 'https://images.tinymart.in/product/186078-2883.png', 'unit_price': '25', 'tray_id': '25', 'mrp': '25', 'skuid': '186078', 'door_id': '', 'sku_total': 25}, {'qty': 1, 'name': 'Paper Boat Orange Pouch - 150Ml per peice', 'image_url': 'https://images.tinymart.in/product/108676-2689.jpg', 'unit_price': '25', 'tray_id': '29', 'mrp': '25', 'skuid': '108676', 'door_id': '', 'sku_total': 25}], 'anomaly': 0, 'logic': 'WBL'}}, 'response': {'status': True, 'code': 'ORDER_EXISTS', 'data': 'order updated successfully', 'msg': 'order updated successfully'}}
[2026-08-29 11:27:13,611.611 INFO    ] {'data': {'order_id': 'TM07201911260829112545129', 'server_status': 'invoiceOrder', 'server_response': {'rstatus': True, 'res': 'true', 'total_amount': 75, 'orderId': 'TM07201911260829112545129', 'skus': [{'qty': 1, 'name': 'Paper boat Alphonso Mango 160ml per peice', 'image_url': 'https://images.tinymart.in/product/4500407-2060.jpg', 'unit_price': '25', 'tray_id': '23', 'mrp': '25', 'skuid': '4500407', 'door_id': '', 'sku_total': 25}, {'qty': 1, 'name': 'Paper boat Aam Panna 150ml per peice', 'image_url': 'https://images.tinymart.in/product/186078-2883.png', 'unit_price': '25', 'tray_id': '25', 'mrp': '25', 'skuid': '186078', 'door_id': '', 'sku_total': 25}, {'qty': 1, 'name': 'Paper Boat Orange Pouch - 150Ml per peice', 'image_url': 'https://images.tinymart.in/product/108676-2689.jpg', 'unit_price': '25', 'tray_id': '29', 'mrp': '25', 'skuid': '108676', 'door_id': '', 'sku_total': 25}], 'anomaly': 0, 'logic': 'WBL'}}, 'response': {'status': True, 'code': 'ORDER_EXISTS', 'data': 'order updated successfully', 'msg': 'order updated successfully'}}
[2026-08-29 11:27:13,614.614 INFO    ] 2026-08-29 11:27:13
[2026-08-29 11:27:20,502.502 INFO    ] 200
[2026-08-29 11:27:20,504.504 INFO    ] {"tray_sync": [], "orders_data": [], "status": true, "order_items_synced": [], "order_items": [], "tray_synced": ["TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129", "TM07201911260829112545129"], "orders_data_synced": [], "orders": [], "orders_synced": []}
[2026-08-29 11:27:20,507.507 INFO    ] 2026-08-29 11:27:20
[2026-08-29 11:27:20,624.624 INFO    ] 200
[2026-08-29 11:27:20,625.625 INFO    ] True
[2026-08-29 11:27:20,627.627 INFO    ] cleanup_start_order_file_after_processing: order_id=TM07201911260829112545129
[2026-08-29 11:27:20,644.644 INFO    ] start order file deleted
[2026-08-29 11:27:20,646.646 INFO    ] Checking for system updates...
[2026-08-29 11:27:20,679.679 INFO    ] 200
[2026-08-29 11:27:20,681.681 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:27:20,736.736 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:27:20,739.739 INFO    ] No update needed
[2026-08-29 11:27:20,741.741 INFO    ] Checking for camera pi updates...
[2026-08-29 11:27:20,776.776 INFO    ] 200
[2026-08-29 11:27:20,779.779 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:27:20,819.819 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:27:20,911.911 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:27:20,914.914 INFO    ] No camera update needed
[2026-08-29 11:27:20,916.916 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:27:20,918.918 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:27:20,924.924 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:27:20,929.929 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:27:22,970.970 INFO    ] ================================================
[2026-08-29 11:27:22,986.986 INFO    ] Launching Daemon at Sat Aug 29 11:27:22 IST 2026
[2026-08-29 11:27:23,997.997 INFO    ] ================================================
[2026-08-29 11:27:23,622.622 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:27:23
[2026-08-29 11:27:23,966.966 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:27:24,122.122 INFO    ] Initializing speech engine...
[2026-08-29 11:27:24,129.129 INFO    ] 2026-08-29 11:27:24
[2026-08-29 11:27:24,393.393 INFO    ] 2026-08-29 11:27:24
[2026-08-29 11:27:24,478.478 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:27:24,629.629 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:27:24,639.639 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:27:24,773.773 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:27:24,821.821 INFO    ] time= 29/08/2026 11:27:24
[2026-08-29 11:27:24,881.881 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:27:24,911.911 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:27:25,043.043 INFO    ] No existing commands found in stream
[2026-08-29 11:27:30,068.068 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:27:30,071.071 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-08-29 11:27:30,894.894 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:27:30,896.896 INFO    ] Checking for system updates...
[2026-08-29 11:27:30,917.917 INFO    ] 200
[2026-08-29 11:27:30,918.918 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:27:30,953.953 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:27:30,954.954 INFO    ] No update needed
[2026-08-29 11:27:30,956.956 INFO    ] Checking for camera pi updates...
[2026-08-29 11:27:30,976.976 INFO    ] 200
[2026-08-29 11:27:30,978.978 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:27:31,002.002 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:27:31,194.194 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:27:31,195.195 INFO    ] No camera update needed
[2026-08-29 11:27:31,196.196 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:27:31,197.197 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:27:31,200.200 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:27:31,203.203 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:27:33,244.244 INFO    ] ================================================
[2026-08-29 11:27:33,261.261 INFO    ] Launching Daemon at Sat Aug 29 11:27:33 IST 2026
[2026-08-29 11:27:33,272.272 INFO    ] ================================================
[2026-08-29 11:27:33,948.948 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:27:33
[2026-08-29 11:27:34,460.460 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:27:34,618.618 INFO    ] Initializing speech engine...
[2026-08-29 11:27:34,623.623 INFO    ] 2026-08-29 11:27:34
[2026-08-29 11:27:34,832.832 INFO    ] 2026-08-29 11:27:34
[2026-08-29 11:27:34,861.861 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:27:35,001.001 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:27:35,049.049 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:27:35,197.197 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:27:35,271.271 INFO    ] time= 29/08/2026 11:27:35
[2026-08-29 11:27:35,331.331 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:27:35,374.374 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:27:35,498.498 INFO    ] No existing commands found in stream
[2026-08-29 11:27:40,529.529 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:27:40,537.537 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-08-29 11:27:43,749.749 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:27:43,751.751 INFO    ] Checking for system updates...
[2026-08-29 11:27:43,773.773 INFO    ] 200
[2026-08-29 11:27:43,774.774 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:27:43,804.804 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:27:43,805.805 INFO    ] No update needed
[2026-08-29 11:27:43,807.807 INFO    ] Checking for camera pi updates...
[2026-08-29 11:27:43,827.827 INFO    ] 200
[2026-08-29 11:27:43,829.829 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:27:43,852.852 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:27:43,935.935 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:27:43,936.936 INFO    ] No camera update needed
[2026-08-29 11:27:43,937.937 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:27:43,938.938 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:27:43,941.941 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:27:43,944.944 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:27:45,982.982 INFO    ] ================================================
[2026-08-29 11:27:46,006.006 INFO    ] Launching Daemon at Sat Aug 29 11:27:46 IST 2026
[2026-08-29 11:27:46,017.017 INFO    ] ================================================
[2026-08-29 11:27:46,345.345 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:27:46
[2026-08-29 11:27:46,656.656 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:27:46,800.800 INFO    ] Initializing speech engine...
[2026-08-29 11:27:46,805.805 INFO    ] 2026-08-29 11:27:46
[2026-08-29 11:27:46,986.986 INFO    ] 2026-08-29 11:27:46
[2026-08-29 11:27:47,019.019 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:27:47,196.196 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:27:47,210.210 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:27:47,320.320 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:27:47,326.326 INFO    ] time= 29/08/2026 11:27:47
[2026-08-29 11:27:47,345.345 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:27:47,364.364 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:27:47,437.437 INFO    ] No existing commands found in stream
[2026-08-29 11:27:52,450.450 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:27:52,453.453 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-08-29 11:27:56,647.647 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:27:56,648.648 INFO    ] Checking for system updates...
[2026-08-29 11:27:56,669.669 INFO    ] 200
[2026-08-29 11:27:56,670.670 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:27:56,701.701 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:27:56,702.702 INFO    ] No update needed
[2026-08-29 11:27:56,704.704 INFO    ] Checking for camera pi updates...
[2026-08-29 11:27:56,724.724 INFO    ] 200
[2026-08-29 11:27:56,725.725 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:27:56,749.749 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:27:56,836.836 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:27:56,837.837 INFO    ] No camera update needed
[2026-08-29 11:27:56,839.839 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:27:56,840.840 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:27:56,843.843 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:27:56,846.846 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:27:58,888.888 INFO    ] ================================================
[2026-08-29 11:27:58,903.903 INFO    ] Launching Daemon at Sat Aug 29 11:27:58 IST 2026
[2026-08-29 11:27:58,914.914 INFO    ] ================================================
[2026-08-29 11:27:59,281.281 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:27:59
[2026-08-29 11:27:59,597.597 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:27:59,733.733 INFO    ] Initializing speech engine...
[2026-08-29 11:27:59,743.743 INFO    ] 2026-08-29 11:27:59
[2026-08-29 11:27:59,946.946 INFO    ] 2026-08-29 11:27:59
[2026-08-29 11:27:59,976.976 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:28:00,117.117 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:28:00,126.126 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:28:00,299.299 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:28:00,325.325 INFO    ] time= 29/08/2026 11:28:00
[2026-08-29 11:28:00,340.340 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:28:00,349.349 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:28:00,458.458 INFO    ] No existing commands found in stream
[2026-08-29 11:28:05,485.485 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:28:05,488.488 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 11:28:07,006.006 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:28:07,007.007 INFO    ] Checking for system updates...
[2026-08-29 11:28:07,029.029 INFO    ] 200
[2026-08-29 11:28:07,030.030 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:28:07,062.062 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:28:07,063.063 INFO    ] No update needed
[2026-08-29 11:28:07,065.065 INFO    ] Checking for camera pi updates...
[2026-08-29 11:28:07,085.085 INFO    ] 200
[2026-08-29 11:28:07,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:28:07,109.109 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:28:07,194.194 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:28:07,196.196 INFO    ] No camera update needed
[2026-08-29 11:28:07,197.197 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:28:07,198.198 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:28:07,201.201 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:28:07,204.204 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:28:09,244.244 INFO    ] ================================================
[2026-08-29 11:28:09,259.259 INFO    ] Launching Daemon at Sat Aug 29 11:28:09 IST 2026
[2026-08-29 11:28:09,271.271 INFO    ] ================================================
[2026-08-29 11:28:09,635.635 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:28:09
[2026-08-29 11:28:09,952.952 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:28:10,183.183 INFO    ] Initializing speech engine...
[2026-08-29 11:28:10,205.205 INFO    ] 2026-08-29 11:28:10
[2026-08-29 11:28:10,460.460 INFO    ] 2026-08-29 11:28:10
[2026-08-29 11:28:10,496.496 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:28:10,674.674 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:28:10,686.686 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:28:10,801.801 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:28:10,807.807 INFO    ] time= 29/08/2026 11:28:10
[2026-08-29 11:28:10,821.821 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:28:10,837.837 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:28:10,935.935 INFO    ] No existing commands found in stream
[2026-08-29 11:28:15,948.948 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:28:15,951.951 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-08-29 11:28:17,232.232 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:28:17,233.233 INFO    ] Checking for system updates...
[2026-08-29 11:28:17,256.256 INFO    ] 200
[2026-08-29 11:28:17,257.257 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:28:17,289.289 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:28:17,291.291 INFO    ] No update needed
[2026-08-29 11:28:17,292.292 INFO    ] Checking for camera pi updates...
[2026-08-29 11:28:17,311.311 INFO    ] 200
[2026-08-29 11:28:17,313.313 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:28:17,338.338 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:28:17,438.438 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:28:17,439.439 INFO    ] No camera update needed
[2026-08-29 11:28:17,440.440 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:28:17,441.441 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:28:17,444.444 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:28:17,447.447 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:28:19,487.487 INFO    ] ================================================
[2026-08-29 11:28:19,504.504 INFO    ] Launching Daemon at Sat Aug 29 11:28:19 IST 2026
[2026-08-29 11:28:19,515.515 INFO    ] ================================================
[2026-08-29 11:28:19,901.901 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:28:19
[2026-08-29 11:28:20,245.245 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:28:20,401.401 INFO    ] Initializing speech engine...
[2026-08-29 11:28:20,405.405 INFO    ] 2026-08-29 11:28:20
[2026-08-29 11:28:20,620.620 INFO    ] 2026-08-29 11:28:20
[2026-08-29 11:28:20,676.676 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:28:20,903.903 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:28:20,913.913 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:28:21,046.046 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:28:21,099.099 INFO    ] time= 29/08/2026 11:28:21
[2026-08-29 11:28:21,159.159 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:28:21,184.184 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:28:21,252.252 INFO    ] No existing commands found in stream
[2026-08-29 11:28:26,289.289 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:28:26,293.293 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-08-29 11:28:27,547.547 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:28:27,549.549 INFO    ] Checking for system updates...
[2026-08-29 11:28:27,570.570 INFO    ] 200
[2026-08-29 11:28:27,571.571 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:28:27,602.602 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:28:27,604.604 INFO    ] No update needed
[2026-08-29 11:28:27,605.605 INFO    ] Checking for camera pi updates...
[2026-08-29 11:28:27,625.625 INFO    ] 200
[2026-08-29 11:28:27,627.627 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:28:27,650.650 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:28:27,740.740 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:28:27,742.742 INFO    ] No camera update needed
[2026-08-29 11:28:27,743.743 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:28:27,744.744 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:28:27,748.748 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:28:27,751.751 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:28:29,792.792 INFO    ] ================================================
[2026-08-29 11:28:29,808.808 INFO    ] Launching Daemon at Sat Aug 29 11:28:29 IST 2026
[2026-08-29 11:28:29,819.819 INFO    ] ================================================
[2026-08-29 11:28:30,160.160 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:28:30
[2026-08-29 11:28:30,472.472 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:28:30,673.673 INFO    ] Initializing speech engine...
[2026-08-29 11:28:30,682.682 INFO    ] 2026-08-29 11:28:30
[2026-08-29 11:28:30,932.932 INFO    ] 2026-08-29 11:28:30
[2026-08-29 11:28:30,968.968 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:28:31,145.145 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:28:31,177.177 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:28:31,305.305 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:28:31,330.330 INFO    ] time= 29/08/2026 11:28:31
[2026-08-29 11:28:31,336.336 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:28:31,343.343 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:28:31,414.414 INFO    ] No existing commands found in stream
[2026-08-29 11:28:36,424.424 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:28:36,427.427 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-08-29 11:28:37,224.224 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:28:37,225.225 INFO    ] Checking for system updates...
[2026-08-29 11:28:37,246.246 INFO    ] 200
[2026-08-29 11:28:37,248.248 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:28:37,281.281 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:28:37,282.282 INFO    ] No update needed
[2026-08-29 11:28:37,284.284 INFO    ] Checking for camera pi updates...
[2026-08-29 11:28:37,307.307 INFO    ] 200
[2026-08-29 11:28:37,309.309 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:28:37,336.336 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:28:37,397.397 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:28:37,398.398 INFO    ] No camera update needed
[2026-08-29 11:28:37,400.400 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:28:37,401.401 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:28:37,404.404 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:28:37,408.408 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:28:39,448.448 INFO    ] ================================================
[2026-08-29 11:28:39,465.465 INFO    ] Launching Daemon at Sat Aug 29 11:28:39 IST 2026
[2026-08-29 11:28:39,476.476 INFO    ] ================================================
[2026-08-29 11:28:39,827.827 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:28:39
[2026-08-29 11:28:40,139.139 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:28:40,270.270 INFO    ] Initializing speech engine...
[2026-08-29 11:28:40,273.273 INFO    ] 2026-08-29 11:28:40
[2026-08-29 11:28:40,491.491 INFO    ] 2026-08-29 11:28:40
[2026-08-29 11:28:40,519.519 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:28:40,643.643 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:28:40,707.707 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:28:40,847.847 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:28:40,915.915 INFO    ] time= 29/08/2026 11:28:40
[2026-08-29 11:28:40,939.939 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:28:40,946.946 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:28:41,012.012 INFO    ] No existing commands found in stream
[2026-08-29 11:28:46,022.022 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:28:46,025.025 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-08-29 11:28:47,635.635 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:28:47,636.636 INFO    ] Checking for system updates...
[2026-08-29 11:28:47,657.657 INFO    ] 200
[2026-08-29 11:28:47,658.658 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:28:47,692.692 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:28:47,693.693 INFO    ] No update needed
[2026-08-29 11:28:47,695.695 INFO    ] Checking for camera pi updates...
[2026-08-29 11:28:47,716.716 INFO    ] 200
[2026-08-29 11:28:47,717.717 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:28:47,743.743 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:28:47,824.824 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:28:47,826.826 INFO    ] No camera update needed
[2026-08-29 11:28:47,827.827 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:28:47,829.829 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:28:47,832.832 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:28:47,835.835 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:28:49,873.873 INFO    ] ================================================
[2026-08-29 11:28:49,889.889 INFO    ] Launching Daemon at Sat Aug 29 11:28:49 IST 2026
[2026-08-29 11:28:49,901.901 INFO    ] ================================================
[2026-08-29 11:28:50,248.248 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:28:50
[2026-08-29 11:28:50,560.560 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:28:50,697.697 INFO    ] Initializing speech engine...
[2026-08-29 11:28:50,707.707 INFO    ] 2026-08-29 11:28:50
[2026-08-29 11:28:50,917.917 INFO    ] 2026-08-29 11:28:50
[2026-08-29 11:28:51,000.000 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:28:51,149.149 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:28:51,158.158 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:28:51,290.290 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:28:51,316.316 INFO    ] time= 29/08/2026 11:28:51
[2026-08-29 11:28:51,370.370 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:28:51,422.422 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:28:51,475.475 INFO    ] No existing commands found in stream
[2026-08-29 11:28:56,487.487 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:28:56,489.489 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-08-29 11:29:00,279.279 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:29:00,280.280 INFO    ] Checking for system updates...
[2026-08-29 11:29:00,300.300 INFO    ] 200
[2026-08-29 11:29:00,302.302 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:29:00,332.332 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:29:00,334.334 INFO    ] No update needed
[2026-08-29 11:29:00,335.335 INFO    ] Checking for camera pi updates...
[2026-08-29 11:29:00,354.354 INFO    ] 200
[2026-08-29 11:29:00,356.356 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:29:00,378.378 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:29:00,469.469 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:29:00,471.471 INFO    ] No camera update needed
[2026-08-29 11:29:00,474.474 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:29:00,476.476 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:29:00,481.481 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:29:00,486.486 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:29:02,535.535 INFO    ] ================================================
[2026-08-29 11:29:02,557.557 INFO    ] Launching Daemon at Sat Aug 29 11:29:02 IST 2026
[2026-08-29 11:29:02,570.570 INFO    ] ================================================
[2026-08-29 11:29:03,252.252 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:29:03
[2026-08-29 11:29:03,911.911 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:29:04,185.185 INFO    ] Initializing speech engine...
[2026-08-29 11:29:04,195.195 INFO    ] 2026-08-29 11:29:04
[2026-08-29 11:29:04,457.457 INFO    ] 2026-08-29 11:29:04
[2026-08-29 11:29:04,511.511 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:29:04,735.735 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:29:04,744.744 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:29:04,884.884 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:29:04,944.944 INFO    ] time= 29/08/2026 11:29:04
[2026-08-29 11:29:05,004.004 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:29:05,013.013 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:29:05,142.142 INFO    ] No existing commands found in stream
[2026-08-29 11:29:10,166.166 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:29:10,169.169 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-08-29 11:29:11,707.707 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:29:11,708.708 INFO    ] Checking for system updates...
[2026-08-29 11:29:11,730.730 INFO    ] 200
[2026-08-29 11:29:11,731.731 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:29:11,763.763 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:29:11,765.765 INFO    ] No update needed
[2026-08-29 11:29:11,766.766 INFO    ] Checking for camera pi updates...
[2026-08-29 11:29:11,786.786 INFO    ] 200
[2026-08-29 11:29:11,788.788 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:29:11,811.811 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:29:11,896.896 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:29:11,898.898 INFO    ] No camera update needed
[2026-08-29 11:29:11,899.899 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:29:11,900.900 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:29:11,903.903 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:29:11,906.906 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:29:13,945.945 INFO    ] ================================================
[2026-08-29 11:29:13,961.961 INFO    ] Launching Daemon at Sat Aug 29 11:29:13 IST 2026
[2026-08-29 11:29:13,971.971 INFO    ] ================================================
[2026-08-29 11:29:14,322.322 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:29:14
[2026-08-29 11:29:14,659.659 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:29:14,811.811 INFO    ] Initializing speech engine...
[2026-08-29 11:29:14,816.816 INFO    ] 2026-08-29 11:29:14
[2026-08-29 11:29:15,026.026 INFO    ] 2026-08-29 11:29:15
[2026-08-29 11:29:15,056.056 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:29:15,221.221 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:29:15,269.269 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:29:15,408.408 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:29:15,418.418 INFO    ] time= 29/08/2026 11:29:15
[2026-08-29 11:29:15,440.440 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:29:15,509.509 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:29:15,619.619 INFO    ] No existing commands found in stream
[2026-08-29 11:29:20,637.637 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:29:20,640.640 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 11:29:21,280.280 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:29:21,282.282 INFO    ] Checking for system updates...
[2026-08-29 11:29:21,302.302 INFO    ] 200
[2026-08-29 11:29:21,303.303 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:29:21,335.335 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:29:21,337.337 INFO    ] No update needed
[2026-08-29 11:29:21,338.338 INFO    ] Checking for camera pi updates...
[2026-08-29 11:29:21,357.357 INFO    ] 200
[2026-08-29 11:29:21,359.359 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:29:21,383.383 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:29:21,484.484 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:29:21,486.486 INFO    ] No camera update needed
[2026-08-29 11:29:21,487.487 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:29:21,488.488 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:29:21,491.491 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:29:21,494.494 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:29:23,532.532 INFO    ] ================================================
[2026-08-29 11:29:23,548.548 INFO    ] Launching Daemon at Sat Aug 29 11:29:23 IST 2026
[2026-08-29 11:29:23,559.559 INFO    ] ================================================
[2026-08-29 11:29:24,056.056 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:29:24
[2026-08-29 11:29:24,640.640 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:29:24,912.912 INFO    ] Initializing speech engine...
[2026-08-29 11:29:24,921.921 INFO    ] 2026-08-29 11:29:24
[2026-08-29 11:29:25,170.170 INFO    ] 2026-08-29 11:29:25
[2026-08-29 11:29:25,205.205 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:29:25,381.381 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:29:25,387.387 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:29:25,506.506 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:29:25,512.512 INFO    ] time= 29/08/2026 11:29:25
[2026-08-29 11:29:25,530.530 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:29:25,553.553 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:29:25,624.624 INFO    ] No existing commands found in stream
[2026-08-29 11:29:30,636.636 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:29:30,639.639 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 11:29:31,599.599 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:29:31,600.600 INFO    ] Checking for system updates...
[2026-08-29 11:29:31,621.621 INFO    ] 200
[2026-08-29 11:29:31,622.622 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:29:31,654.654 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:29:31,656.656 INFO    ] No update needed
[2026-08-29 11:29:31,657.657 INFO    ] Checking for camera pi updates...
[2026-08-29 11:29:31,680.680 INFO    ] 200
[2026-08-29 11:29:31,682.682 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:29:31,722.722 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:29:31,840.840 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:29:31,842.842 INFO    ] No camera update needed
[2026-08-29 11:29:31,845.845 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:29:31,847.847 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:29:31,852.852 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:29:31,857.857 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:29:33,900.900 INFO    ] ================================================
[2026-08-29 11:29:33,915.915 INFO    ] Launching Daemon at Sat Aug 29 11:29:33 IST 2026
[2026-08-29 11:29:33,926.926 INFO    ] ================================================
[2026-08-29 11:29:34,509.509 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:29:34
[2026-08-29 11:29:35,015.015 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:29:35,294.294 INFO    ] Initializing speech engine...
[2026-08-29 11:29:35,300.300 INFO    ] 2026-08-29 11:29:35
[2026-08-29 11:29:35,563.563 INFO    ] 2026-08-29 11:29:35
[2026-08-29 11:29:35,619.619 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:29:35,841.841 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:29:35,851.851 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:29:35,986.986 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:29:36,045.045 INFO    ] time= 29/08/2026 11:29:35
[2026-08-29 11:29:36,095.095 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:29:36,117.117 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:29:36,171.171 INFO    ] No existing commands found in stream
[2026-08-29 11:29:41,183.183 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:29:41,186.186 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 11:29:43,468.468 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:29:43,470.470 INFO    ] Checking for system updates...
[2026-08-29 11:29:43,490.490 INFO    ] 200
[2026-08-29 11:29:43,491.491 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:29:43,523.523 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:29:43,524.524 INFO    ] No update needed
[2026-08-29 11:29:43,526.526 INFO    ] Checking for camera pi updates...
[2026-08-29 11:29:43,546.546 INFO    ] 200
[2026-08-29 11:29:43,547.547 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:29:43,571.571 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:29:43,750.750 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:29:43,751.751 INFO    ] No camera update needed
[2026-08-29 11:29:43,752.752 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:29:43,754.754 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:29:43,756.756 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:29:43,759.759 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:29:45,798.798 INFO    ] ================================================
[2026-08-29 11:29:45,814.814 INFO    ] Launching Daemon at Sat Aug 29 11:29:45 IST 2026
[2026-08-29 11:29:45,825.825 INFO    ] ================================================
[2026-08-29 11:29:46,169.169 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:29:46
[2026-08-29 11:29:46,506.506 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:29:46,656.656 INFO    ] Initializing speech engine...
[2026-08-29 11:29:46,661.661 INFO    ] 2026-08-29 11:29:46
[2026-08-29 11:29:46,871.871 INFO    ] 2026-08-29 11:29:46
[2026-08-29 11:29:46,901.901 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:29:47,025.025 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:29:47,089.089 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:29:47,237.237 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:29:47,297.297 INFO    ] time= 29/08/2026 11:29:47
[2026-08-29 11:29:47,347.347 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:29:47,366.366 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:29:47,492.492 INFO    ] No existing commands found in stream
[2026-08-29 11:29:52,514.514 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:29:52,517.517 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-08-29 11:29:54,426.426 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:29:54,427.427 INFO    ] Checking for system updates...
[2026-08-29 11:29:54,448.448 INFO    ] 200
[2026-08-29 11:29:54,449.449 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:29:54,480.480 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:29:54,481.481 INFO    ] No update needed
[2026-08-29 11:29:54,483.483 INFO    ] Checking for camera pi updates...
[2026-08-29 11:29:54,504.504 INFO    ] 200
[2026-08-29 11:29:54,505.505 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:29:54,531.531 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:29:54,600.600 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:29:54,601.601 INFO    ] No camera update needed
[2026-08-29 11:29:54,603.603 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:29:54,604.604 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:29:54,607.607 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:29:54,610.610 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:29:56,653.653 INFO    ] ================================================
[2026-08-29 11:29:56,669.669 INFO    ] Launching Daemon at Sat Aug 29 11:29:56 IST 2026
[2026-08-29 11:29:56,680.680 INFO    ] ================================================
[2026-08-29 11:29:57,042.042 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:29:57
[2026-08-29 11:29:57,583.583 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:29:57,854.854 INFO    ] Initializing speech engine...
[2026-08-29 11:29:57,863.863 INFO    ] 2026-08-29 11:29:57
[2026-08-29 11:29:58,112.112 INFO    ] 2026-08-29 11:29:58
[2026-08-29 11:29:58,147.147 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:29:58,323.323 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:29:58,336.336 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:29:58,480.480 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:29:58,488.488 INFO    ] time= 29/08/2026 11:29:58
[2026-08-29 11:29:58,495.495 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:29:58,516.516 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:29:58,640.640 INFO    ] No existing commands found in stream
[2026-08-29 11:30:03,664.664 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:30:03,667.667 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-08-29 11:30:08,695.695 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:30:08,698.698 INFO    ] Checking for system updates...
[2026-08-29 11:30:08,738.738 INFO    ] 200
[2026-08-29 11:30:08,740.740 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:30:08,796.796 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:30:08,799.799 INFO    ] No update needed
[2026-08-29 11:30:08,801.801 INFO    ] Checking for camera pi updates...
[2026-08-29 11:30:08,835.835 INFO    ] 200
[2026-08-29 11:30:08,838.838 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:30:08,864.864 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:30:08,942.942 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:30:08,943.943 INFO    ] No camera update needed
[2026-08-29 11:30:08,945.945 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:30:08,946.946 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:30:08,949.949 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:30:08,951.951 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:30:11,994.994 INFO    ] ================================================
[2026-08-29 11:30:11,011.011 INFO    ] Launching Daemon at Sat Aug 29 11:30:11 IST 2026
[2026-08-29 11:30:11,024.024 INFO    ] ================================================
[2026-08-29 11:30:11,705.705 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:30:11
[2026-08-29 11:30:12,364.364 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:30:12,639.639 INFO    ] Initializing speech engine...
[2026-08-29 11:30:12,650.650 INFO    ] 2026-08-29 11:30:12
[2026-08-29 11:30:12,914.914 INFO    ] 2026-08-29 11:30:12
[2026-08-29 11:30:12,944.944 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:30:13,111.111 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:30:13,123.123 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:30:13,263.263 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:30:13,272.272 INFO    ] time= 29/08/2026 11:30:13
[2026-08-29 11:30:13,278.278 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:30:13,304.304 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:30:13,420.420 INFO    ] No existing commands found in stream
[2026-08-29 11:30:18,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:30:18,454.454 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-08-29 11:30:22,128.128 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:30:22,130.130 INFO    ] Checking for system updates...
[2026-08-29 11:30:22,152.152 INFO    ] 200
[2026-08-29 11:30:22,153.153 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:30:22,183.183 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:30:22,184.184 INFO    ] No update needed
[2026-08-29 11:30:22,186.186 INFO    ] Checking for camera pi updates...
[2026-08-29 11:30:22,205.205 INFO    ] 200
[2026-08-29 11:30:22,206.206 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:30:22,231.231 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:30:22,306.306 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:30:22,308.308 INFO    ] No camera update needed
[2026-08-29 11:30:22,309.309 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:30:22,310.310 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:30:22,313.313 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:30:22,316.316 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:30:24,354.354 INFO    ] ================================================
[2026-08-29 11:30:24,370.370 INFO    ] Launching Daemon at Sat Aug 29 11:30:24 IST 2026
[2026-08-29 11:30:24,380.380 INFO    ] ================================================
[2026-08-29 11:30:24,745.745 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:30:24
[2026-08-29 11:30:25,082.082 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:30:25,235.235 INFO    ] Initializing speech engine...
[2026-08-29 11:30:25,239.239 INFO    ] 2026-08-29 11:30:25
[2026-08-29 11:30:25,457.457 INFO    ] 2026-08-29 11:30:25
[2026-08-29 11:30:25,516.516 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:30:25,678.678 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:30:25,686.686 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:30:25,864.864 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:30:25,886.886 INFO    ] time= 29/08/2026 11:30:25
[2026-08-29 11:30:25,892.892 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:30:25,940.940 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:30:26,038.038 INFO    ] No existing commands found in stream
[2026-08-29 11:30:31,055.055 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:30:31,058.058 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-08-29 11:30:34,387.387 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:30:34,390.390 INFO    ] Checking for system updates...
[2026-08-29 11:30:34,427.427 INFO    ] 200
[2026-08-29 11:30:34,429.429 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:30:34,487.487 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:30:34,489.489 INFO    ] No update needed
[2026-08-29 11:30:34,492.492 INFO    ] Checking for camera pi updates...
[2026-08-29 11:30:34,525.525 INFO    ] 200
[2026-08-29 11:30:34,527.527 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:30:34,568.568 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:30:34,651.651 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:30:34,654.654 INFO    ] No camera update needed
[2026-08-29 11:30:34,656.656 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:30:34,658.658 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:30:34,664.664 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:30:34,669.669 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:30:36,708.708 INFO    ] ================================================
[2026-08-29 11:30:36,723.723 INFO    ] Launching Daemon at Sat Aug 29 11:30:36 IST 2026
[2026-08-29 11:30:36,739.739 INFO    ] ================================================
[2026-08-29 11:30:37,115.115 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:30:37
[2026-08-29 11:30:37,447.447 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:30:37,598.598 INFO    ] Initializing speech engine...
[2026-08-29 11:30:37,604.604 INFO    ] 2026-08-29 11:30:37
[2026-08-29 11:30:37,813.813 INFO    ] 2026-08-29 11:30:37
[2026-08-29 11:30:37,842.842 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:30:37,967.967 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:30:38,020.020 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:30:38,164.164 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:30:38,215.215 INFO    ] time= 29/08/2026 11:30:38
[2026-08-29 11:30:38,264.264 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:30:38,271.271 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:30:38,337.337 INFO    ] No existing commands found in stream
[2026-08-29 11:30:43,348.348 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:30:43,351.351 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-08-29 11:30:46,804.804 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:30:46,806.806 INFO    ] Checking for system updates...
[2026-08-29 11:30:46,827.827 INFO    ] 200
[2026-08-29 11:30:46,829.829 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:30:46,861.861 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:30:46,863.863 INFO    ] No update needed
[2026-08-29 11:30:46,864.864 INFO    ] Checking for camera pi updates...
[2026-08-29 11:30:46,884.884 INFO    ] 200
[2026-08-29 11:30:46,885.885 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:30:46,909.909 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:30:47,015.015 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:30:47,016.016 INFO    ] No camera update needed
[2026-08-29 11:30:47,017.017 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:30:47,019.019 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:30:47,022.022 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:30:47,025.025 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:30:49,064.064 INFO    ] ================================================
[2026-08-29 11:30:49,079.079 INFO    ] Launching Daemon at Sat Aug 29 11:30:49 IST 2026
[2026-08-29 11:30:49,090.090 INFO    ] ================================================
[2026-08-29 11:30:49,667.667 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:30:49
[2026-08-29 11:30:50,299.299 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:30:50,549.549 INFO    ] Initializing speech engine...
[2026-08-29 11:30:50,572.572 INFO    ] 2026-08-29 11:30:50
[2026-08-29 11:30:50,828.828 INFO    ] 2026-08-29 11:30:50
[2026-08-29 11:30:50,869.869 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:30:51,039.039 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:30:51,064.064 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:30:51,198.198 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:30:51,204.204 INFO    ] time= 29/08/2026 11:30:51
[2026-08-29 11:30:51,210.210 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:30:51,235.235 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:30:51,353.353 INFO    ] No existing commands found in stream
[2026-08-29 11:30:56,378.378 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:30:56,381.381 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-08-29 11:30:58,288.288 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:30:58,289.289 INFO    ] Checking for system updates...
[2026-08-29 11:30:58,310.310 INFO    ] 200
[2026-08-29 11:30:58,312.312 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:30:58,344.344 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:30:58,345.345 INFO    ] No update needed
[2026-08-29 11:30:58,346.346 INFO    ] Checking for camera pi updates...
[2026-08-29 11:30:58,365.365 INFO    ] 200
[2026-08-29 11:30:58,367.367 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:30:58,392.392 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:30:58,461.461 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:30:58,462.462 INFO    ] No camera update needed
[2026-08-29 11:30:58,464.464 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:30:58,465.465 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:30:58,468.468 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:30:58,470.470 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:31:00,510.510 INFO    ] ================================================
[2026-08-29 11:31:00,525.525 INFO    ] Launching Daemon at Sat Aug 29 11:31:00 IST 2026
[2026-08-29 11:31:00,537.537 INFO    ] ================================================
[2026-08-29 11:31:01,053.053 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:31:01
[2026-08-29 11:31:01,821.821 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:31:02,114.114 INFO    ] Initializing speech engine...
[2026-08-29 11:31:02,131.131 INFO    ] 2026-08-29 11:31:02
[2026-08-29 11:31:02,436.436 INFO    ] 2026-08-29 11:31:02
[2026-08-29 11:31:02,506.506 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:31:02,762.762 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:31:02,775.775 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:31:02,927.927 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:31:02,963.963 INFO    ] time= 29/08/2026 11:31:02
[2026-08-29 11:31:03,014.014 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:31:03,051.051 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:31:03,138.138 INFO    ] No existing commands found in stream
[2026-08-29 11:31:08,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:31:08,153.153 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-08-29 11:31:10,695.695 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:31:10,696.696 INFO    ] Checking for system updates...
[2026-08-29 11:31:10,717.717 INFO    ] 200
[2026-08-29 11:31:10,719.719 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:31:10,749.749 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:31:10,750.750 INFO    ] No update needed
[2026-08-29 11:31:10,751.751 INFO    ] Checking for camera pi updates...
[2026-08-29 11:31:10,773.773 INFO    ] 200
[2026-08-29 11:31:10,774.774 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:31:10,797.797 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:31:10,890.890 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:31:10,891.891 INFO    ] No camera update needed
[2026-08-29 11:31:10,892.892 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:31:10,894.894 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:31:10,896.896 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:31:10,899.899 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:31:12,939.939 INFO    ] ================================================
[2026-08-29 11:31:12,955.955 INFO    ] Launching Daemon at Sat Aug 29 11:31:12 IST 2026
[2026-08-29 11:31:12,967.967 INFO    ] ================================================
[2026-08-29 11:31:13,316.316 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:31:13
[2026-08-29 11:31:13,814.814 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:31:14,118.118 INFO    ] Initializing speech engine...
[2026-08-29 11:31:14,130.130 INFO    ] 2026-08-29 11:31:14
[2026-08-29 11:31:14,435.435 INFO    ] 2026-08-29 11:31:14
[2026-08-29 11:31:14,520.520 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:31:14,672.672 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:31:14,678.678 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:31:14,811.811 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:31:14,853.853 INFO    ] time= 29/08/2026 11:31:14
[2026-08-29 11:31:14,908.908 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:31:14,945.945 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:31:14,997.997 INFO    ] No existing commands found in stream
[2026-08-29 11:31:20,010.010 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:31:20,014.014 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-08-29 11:31:22,817.817 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:31:22,819.819 INFO    ] Checking for system updates...
[2026-08-29 11:31:22,840.840 INFO    ] 200
[2026-08-29 11:31:22,842.842 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:31:22,872.872 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:31:22,873.873 INFO    ] No update needed
[2026-08-29 11:31:22,875.875 INFO    ] Checking for camera pi updates...
[2026-08-29 11:31:22,895.895 INFO    ] 200
[2026-08-29 11:31:22,896.896 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:31:22,923.923 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:31:23,001.001 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:31:23,003.003 INFO    ] No camera update needed
[2026-08-29 11:31:23,004.004 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:31:23,006.006 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:31:23,009.009 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:31:23,012.012 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:31:25,051.051 INFO    ] ================================================
[2026-08-29 11:31:25,067.067 INFO    ] Launching Daemon at Sat Aug 29 11:31:25 IST 2026
[2026-08-29 11:31:25,078.078 INFO    ] ================================================
[2026-08-29 11:31:25,449.449 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:31:25
[2026-08-29 11:31:25,781.781 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:31:25,930.930 INFO    ] Initializing speech engine...
[2026-08-29 11:31:25,935.935 INFO    ] 2026-08-29 11:31:25
[2026-08-29 11:31:26,144.144 INFO    ] 2026-08-29 11:31:26
[2026-08-29 11:31:26,171.171 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:31:26,300.300 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:31:26,357.357 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:31:26,495.495 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:31:26,561.561 INFO    ] time= 29/08/2026 11:31:26
[2026-08-29 11:31:26,585.585 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:31:26,592.592 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:31:26,659.659 INFO    ] No existing commands found in stream
[2026-08-29 11:31:31,672.672 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:31:31,674.674 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-08-29 11:31:35,207.207 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:31:35,210.210 INFO    ] Checking for system updates...
[2026-08-29 11:31:35,246.246 INFO    ] 200
[2026-08-29 11:31:35,249.249 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:31:35,303.303 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:31:35,306.306 INFO    ] No update needed
[2026-08-29 11:31:35,309.309 INFO    ] Checking for camera pi updates...
[2026-08-29 11:31:35,335.335 INFO    ] 200
[2026-08-29 11:31:35,336.336 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:31:35,359.359 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:31:35,441.441 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:31:35,443.443 INFO    ] No camera update needed
[2026-08-29 11:31:35,444.444 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:31:35,446.446 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:31:35,449.449 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:31:35,452.452 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:31:37,490.490 INFO    ] ================================================
[2026-08-29 11:31:37,506.506 INFO    ] Launching Daemon at Sat Aug 29 11:31:37 IST 2026
[2026-08-29 11:31:37,518.518 INFO    ] ================================================
[2026-08-29 11:31:37,869.869 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:31:37
[2026-08-29 11:31:38,203.203 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:31:38,346.346 INFO    ] Initializing speech engine...
[2026-08-29 11:31:38,354.354 INFO    ] 2026-08-29 11:31:38
[2026-08-29 11:31:38,564.564 INFO    ] 2026-08-29 11:31:38
[2026-08-29 11:31:38,592.592 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:31:38,715.715 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:31:38,773.773 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:31:38,915.915 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:31:38,970.970 INFO    ] time= 29/08/2026 11:31:38
[2026-08-29 11:31:39,020.020 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:31:39,064.064 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:31:39,201.201 INFO    ] No existing commands found in stream
[2026-08-29 11:31:44,215.215 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:31:44,218.218 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-08-29 11:31:47,209.209 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:31:47,211.211 INFO    ] Checking for system updates...
[2026-08-29 11:31:47,231.231 INFO    ] 200
[2026-08-29 11:31:47,233.233 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:31:47,263.263 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:31:47,264.264 INFO    ] No update needed
[2026-08-29 11:31:47,266.266 INFO    ] Checking for camera pi updates...
[2026-08-29 11:31:47,286.286 INFO    ] 200
[2026-08-29 11:31:47,287.287 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:31:47,315.315 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:31:47,493.493 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:31:47,495.495 INFO    ] No camera update needed
[2026-08-29 11:31:47,496.496 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:31:47,497.497 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:31:47,500.500 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:31:47,503.503 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:31:49,544.544 INFO    ] ================================================
[2026-08-29 11:31:49,559.559 INFO    ] Launching Daemon at Sat Aug 29 11:31:49 IST 2026
[2026-08-29 11:31:49,570.570 INFO    ] ================================================
[2026-08-29 11:31:49,897.897 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:31:49
[2026-08-29 11:31:50,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:31:50,497.497 INFO    ] Initializing speech engine...
[2026-08-29 11:31:50,508.508 INFO    ] 2026-08-29 11:31:50
[2026-08-29 11:31:50,787.787 INFO    ] 2026-08-29 11:31:50
[2026-08-29 11:31:50,832.832 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:31:51,058.058 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:31:51,069.069 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:31:51,206.206 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:31:51,258.258 INFO    ] time= 29/08/2026 11:31:51
[2026-08-29 11:31:51,323.323 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:31:51,344.344 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:31:51,404.404 INFO    ] No existing commands found in stream
[2026-08-29 11:31:56,417.417 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:31:56,420.420 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-08-29 11:31:57,421.421 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:31:57,423.423 INFO    ] Checking for system updates...
[2026-08-29 11:31:57,444.444 INFO    ] 200
[2026-08-29 11:31:57,445.445 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:31:57,475.475 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:31:57,476.476 INFO    ] No update needed
[2026-08-29 11:31:57,478.478 INFO    ] Checking for camera pi updates...
[2026-08-29 11:31:57,497.497 INFO    ] 200
[2026-08-29 11:31:57,498.498 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:31:57,523.523 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:31:57,622.622 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:31:57,623.623 INFO    ] No camera update needed
[2026-08-29 11:31:57,625.625 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:31:57,626.626 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:31:57,629.629 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:31:57,632.632 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:31:59,665.665 INFO    ] ================================================
[2026-08-29 11:31:59,675.675 INFO    ] Launching Daemon at Sat Aug 29 11:31:59 IST 2026
[2026-08-29 11:31:59,682.682 INFO    ] ================================================
[2026-08-29 11:32:00,278.278 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:32:00
[2026-08-29 11:32:00,959.959 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:32:01,260.260 INFO    ] Initializing speech engine...
[2026-08-29 11:32:01,273.273 INFO    ] 2026-08-29 11:32:01
[2026-08-29 11:32:01,682.682 INFO    ] 2026-08-29 11:32:01
[2026-08-29 11:32:01,727.727 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:32:01,938.938 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:32:01,942.942 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:32:02,085.085 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:32:02,092.092 INFO    ] time= 29/08/2026 11:32:02
[2026-08-29 11:32:02,116.116 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:32:02,127.127 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:32:02,187.187 INFO    ] No existing commands found in stream
[2026-08-29 11:32:07,204.204 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:32:07,206.206 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-08-29 11:32:11,244.244 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:32:11,245.245 INFO    ] Checking for system updates...
[2026-08-29 11:32:11,265.265 INFO    ] 200
[2026-08-29 11:32:11,267.267 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:32:11,297.297 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:32:11,298.298 INFO    ] No update needed
[2026-08-29 11:32:11,299.299 INFO    ] Checking for camera pi updates...
[2026-08-29 11:32:11,320.320 INFO    ] 200
[2026-08-29 11:32:11,321.321 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:32:11,345.345 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:32:11,431.431 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:32:11,433.433 INFO    ] No camera update needed
[2026-08-29 11:32:11,434.434 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:32:11,435.435 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:32:11,438.438 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:32:11,441.441 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:32:13,479.479 INFO    ] ================================================
[2026-08-29 11:32:13,494.494 INFO    ] Launching Daemon at Sat Aug 29 11:32:13 IST 2026
[2026-08-29 11:32:13,505.505 INFO    ] ================================================
[2026-08-29 11:32:13,897.897 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:32:13
[2026-08-29 11:32:14,234.234 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:32:14,384.384 INFO    ] Initializing speech engine...
[2026-08-29 11:32:14,389.389 INFO    ] 2026-08-29 11:32:14
[2026-08-29 11:32:14,596.596 INFO    ] 2026-08-29 11:32:14
[2026-08-29 11:32:14,625.625 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:32:14,747.747 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:32:14,806.806 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:32:14,939.939 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:32:14,996.996 INFO    ] time= 29/08/2026 11:32:14
[2026-08-29 11:32:15,035.035 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:32:15,045.045 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:32:15,110.110 INFO    ] No existing commands found in stream
[2026-08-29 11:32:20,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:32:20,125.125 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-08-29 11:32:21,744.744 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:32:21,746.746 INFO    ] Checking for system updates...
[2026-08-29 11:32:21,767.767 INFO    ] 200
[2026-08-29 11:32:21,768.768 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:32:21,798.798 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:32:21,799.799 INFO    ] No update needed
[2026-08-29 11:32:21,801.801 INFO    ] Checking for camera pi updates...
[2026-08-29 11:32:21,820.820 INFO    ] 200
[2026-08-29 11:32:21,822.822 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:32:21,846.846 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:32:21,951.951 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:32:21,953.953 INFO    ] No camera update needed
[2026-08-29 11:32:21,954.954 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:32:21,955.955 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:32:21,958.958 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:32:21,961.961 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:32:24,001.001 INFO    ] ================================================
[2026-08-29 11:32:24,016.016 INFO    ] Launching Daemon at Sat Aug 29 11:32:24 IST 2026
[2026-08-29 11:32:24,026.026 INFO    ] ================================================
[2026-08-29 11:32:24,395.395 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:32:24
[2026-08-29 11:32:24,965.965 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:32:25,231.231 INFO    ] Initializing speech engine...
[2026-08-29 11:32:25,239.239 INFO    ] 2026-08-29 11:32:25
[2026-08-29 11:32:25,536.536 INFO    ] 2026-08-29 11:32:25
[2026-08-29 11:32:25,575.575 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:32:25,770.770 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:32:25,776.776 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:32:25,911.911 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:32:25,915.915 INFO    ] time= 29/08/2026 11:32:25
[2026-08-29 11:32:25,936.936 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:32:25,955.955 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:32:26,039.039 INFO    ] No existing commands found in stream
[2026-08-29 11:32:31,052.052 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:32:31,055.055 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-08-29 11:32:32,214.214 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:32:32,216.216 INFO    ] Checking for system updates...
[2026-08-29 11:32:32,255.255 INFO    ] 200
[2026-08-29 11:32:32,257.257 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:32:32,314.314 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:32:32,316.316 INFO    ] No update needed
[2026-08-29 11:32:32,319.319 INFO    ] Checking for camera pi updates...
[2026-08-29 11:32:32,357.357 INFO    ] 200
[2026-08-29 11:32:32,359.359 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:32:32,411.411 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:32:32,502.502 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:32:32,506.506 INFO    ] No camera update needed
[2026-08-29 11:32:32,509.509 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:32:32,511.511 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:32:32,517.517 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:32:32,522.522 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:32:34,562.562 INFO    ] ================================================
[2026-08-29 11:32:34,578.578 INFO    ] Launching Daemon at Sat Aug 29 11:32:34 IST 2026
[2026-08-29 11:32:34,588.588 INFO    ] ================================================
[2026-08-29 11:32:35,131.131 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:32:35
[2026-08-29 11:32:35,467.467 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:32:35,618.618 INFO    ] Initializing speech engine...
[2026-08-29 11:32:35,623.623 INFO    ] 2026-08-29 11:32:35
[2026-08-29 11:32:35,839.839 INFO    ] 2026-08-29 11:32:35
[2026-08-29 11:32:35,921.921 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:32:36,097.097 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:32:36,106.106 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:32:36,297.297 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:32:36,342.342 INFO    ] time= 29/08/2026 11:32:36
[2026-08-29 11:32:36,348.348 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:32:36,364.364 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:32:36,473.473 INFO    ] No existing commands found in stream
[2026-08-29 11:32:41,505.505 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:32:41,508.508 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-08-29 11:32:44,444.444 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:32:44,445.445 INFO    ] Checking for system updates...
[2026-08-29 11:32:44,467.467 INFO    ] 200
[2026-08-29 11:32:44,468.468 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:32:44,501.501 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:32:44,503.503 INFO    ] No update needed
[2026-08-29 11:32:44,504.504 INFO    ] Checking for camera pi updates...
[2026-08-29 11:32:44,524.524 INFO    ] 200
[2026-08-29 11:32:44,526.526 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:32:44,552.552 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:32:44,661.661 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:32:44,663.663 INFO    ] No camera update needed
[2026-08-29 11:32:44,664.664 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:32:44,665.665 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:32:44,668.668 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:32:44,671.671 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:32:46,710.710 INFO    ] ================================================
[2026-08-29 11:32:46,725.725 INFO    ] Launching Daemon at Sat Aug 29 11:32:46 IST 2026
[2026-08-29 11:32:46,736.736 INFO    ] ================================================
[2026-08-29 11:32:47,106.106 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:32:47
[2026-08-29 11:32:47,441.441 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:32:47,593.593 INFO    ] Initializing speech engine...
[2026-08-29 11:32:47,599.599 INFO    ] 2026-08-29 11:32:47
[2026-08-29 11:32:47,808.808 INFO    ] 2026-08-29 11:32:47
[2026-08-29 11:32:47,837.837 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:32:47,962.962 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:32:48,025.025 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:32:48,171.171 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:32:48,234.234 INFO    ] time= 29/08/2026 11:32:48
[2026-08-29 11:32:48,258.258 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:32:48,265.265 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:32:48,331.331 INFO    ] No existing commands found in stream
[2026-08-29 11:32:53,343.343 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:32:53,346.346 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-08-29 11:32:56,881.881 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:32:56,883.883 INFO    ] Checking for system updates...
[2026-08-29 11:32:56,904.904 INFO    ] 200
[2026-08-29 11:32:56,905.905 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:32:56,935.935 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:32:56,937.937 INFO    ] No update needed
[2026-08-29 11:32:56,938.938 INFO    ] Checking for camera pi updates...
[2026-08-29 11:32:56,958.958 INFO    ] 200
[2026-08-29 11:32:56,959.959 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:32:56,982.982 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:32:57,080.080 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:32:57,083.083 INFO    ] No camera update needed
[2026-08-29 11:32:57,086.086 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:32:57,089.089 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:32:57,095.095 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:32:57,100.100 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:32:59,143.143 INFO    ] ================================================
[2026-08-29 11:32:59,158.158 INFO    ] Launching Daemon at Sat Aug 29 11:32:59 IST 2026
[2026-08-29 11:32:59,169.169 INFO    ] ================================================
[2026-08-29 11:32:59,751.751 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:32:59
[2026-08-29 11:33:00,267.267 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:33:00,542.542 INFO    ] Initializing speech engine...
[2026-08-29 11:33:00,551.551 INFO    ] 2026-08-29 11:33:00
[2026-08-29 11:33:00,819.819 INFO    ] 2026-08-29 11:33:00
[2026-08-29 11:33:00,870.870 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:33:01,094.094 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:33:01,103.103 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:33:01,237.237 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:33:01,254.254 INFO    ] time= 29/08/2026 11:33:01
[2026-08-29 11:33:01,270.270 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:33:01,274.274 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:33:01,327.327 INFO    ] No existing commands found in stream
[2026-08-29 11:33:06,360.360 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:33:06,363.363 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-08-29 11:33:07,432.432 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:33:07,434.434 INFO    ] Checking for system updates...
[2026-08-29 11:33:07,454.454 INFO    ] 200
[2026-08-29 11:33:07,455.455 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:33:07,488.488 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:33:07,489.489 INFO    ] No update needed
[2026-08-29 11:33:07,491.491 INFO    ] Checking for camera pi updates...
[2026-08-29 11:33:07,510.510 INFO    ] 200
[2026-08-29 11:33:07,512.512 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:33:07,553.553 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:33:07,670.670 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:33:07,673.673 INFO    ] No camera update needed
[2026-08-29 11:33:07,675.675 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:33:07,677.677 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:33:07,682.682 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:33:07,687.687 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:33:09,728.728 INFO    ] ================================================
[2026-08-29 11:33:09,743.743 INFO    ] Launching Daemon at Sat Aug 29 11:33:09 IST 2026
[2026-08-29 11:33:09,754.754 INFO    ] ================================================
[2026-08-29 11:33:10,321.321 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:33:10
[2026-08-29 11:33:10,784.784 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:33:10,925.925 INFO    ] Initializing speech engine...
[2026-08-29 11:33:10,930.930 INFO    ] 2026-08-29 11:33:10
[2026-08-29 11:33:11,133.133 INFO    ] 2026-08-29 11:33:11
[2026-08-29 11:33:11,162.162 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:33:11,284.284 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:33:11,342.342 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:33:11,480.480 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:33:11,527.527 INFO    ] time= 29/08/2026 11:33:11
[2026-08-29 11:33:11,555.555 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:33:11,576.576 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:33:11,646.646 INFO    ] No existing commands found in stream
[2026-08-29 11:33:16,657.657 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:33:16,659.659 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-08-29 11:33:19,176.176 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:33:19,177.177 INFO    ] Checking for system updates...
[2026-08-29 11:33:19,198.198 INFO    ] 200
[2026-08-29 11:33:19,200.200 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:33:19,232.232 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:33:19,234.234 INFO    ] No update needed
[2026-08-29 11:33:19,235.235 INFO    ] Checking for camera pi updates...
[2026-08-29 11:33:19,257.257 INFO    ] 200
[2026-08-29 11:33:19,258.258 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:33:19,281.281 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:33:19,362.362 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:33:19,363.363 INFO    ] No camera update needed
[2026-08-29 11:33:19,365.365 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:33:19,366.366 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:33:19,369.369 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:33:19,372.372 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:33:21,411.411 INFO    ] ================================================
[2026-08-29 11:33:21,427.427 INFO    ] Launching Daemon at Sat Aug 29 11:33:21 IST 2026
[2026-08-29 11:33:21,439.439 INFO    ] ================================================
[2026-08-29 11:33:21,784.784 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:33:21
[2026-08-29 11:33:22,095.095 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:33:22,227.227 INFO    ] Initializing speech engine...
[2026-08-29 11:33:22,242.242 INFO    ] 2026-08-29 11:33:22
[2026-08-29 11:33:22,498.498 INFO    ] 2026-08-29 11:33:22
[2026-08-29 11:33:22,532.532 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:33:22,703.703 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:33:22,714.714 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:33:22,823.823 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:33:22,828.828 INFO    ] time= 29/08/2026 11:33:22
[2026-08-29 11:33:22,846.846 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:33:22,865.865 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:33:22,937.937 INFO    ] No existing commands found in stream
[2026-08-29 11:33:27,949.949 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:33:27,952.952 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-08-29 11:33:29,282.282 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:33:29,284.284 INFO    ] Checking for system updates...
[2026-08-29 11:33:29,305.305 INFO    ] 200
[2026-08-29 11:33:29,306.306 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:33:29,339.339 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:33:29,340.340 INFO    ] No update needed
[2026-08-29 11:33:29,341.341 INFO    ] Checking for camera pi updates...
[2026-08-29 11:33:29,362.362 INFO    ] 200
[2026-08-29 11:33:29,363.363 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:33:29,386.386 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:33:29,484.484 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:33:29,486.486 INFO    ] No camera update needed
[2026-08-29 11:33:29,487.487 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:33:29,488.488 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:33:29,491.491 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:33:29,494.494 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:33:31,536.536 INFO    ] ================================================
[2026-08-29 11:33:31,554.554 INFO    ] Launching Daemon at Sat Aug 29 11:33:31 IST 2026
[2026-08-29 11:33:31,566.566 INFO    ] ================================================
[2026-08-29 11:33:32,167.167 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:33:32
[2026-08-29 11:33:32,810.810 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:33:33,080.080 INFO    ] Initializing speech engine...
[2026-08-29 11:33:33,089.089 INFO    ] 2026-08-29 11:33:33
[2026-08-29 11:33:33,336.336 INFO    ] 2026-08-29 11:33:33
[2026-08-29 11:33:33,371.371 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:33:33,549.549 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:33:33,571.571 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:33:33,717.717 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:33:33,731.731 INFO    ] time= 29/08/2026 11:33:33
[2026-08-29 11:33:33,736.736 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:33:33,744.744 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:33:33,888.888 INFO    ] No existing commands found in stream
[2026-08-29 11:33:38,919.919 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:33:38,923.923 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 11:33:41,921.921 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:33:41,922.922 INFO    ] Checking for system updates...
[2026-08-29 11:33:41,943.943 INFO    ] 200
[2026-08-29 11:33:41,944.944 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:33:41,978.978 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:33:41,980.980 INFO    ] No update needed
[2026-08-29 11:33:41,982.982 INFO    ] Checking for camera pi updates...
[2026-08-29 11:33:42,002.002 INFO    ] 200
[2026-08-29 11:33:42,005.005 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:33:42,045.045 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:33:42,140.140 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:33:42,142.142 INFO    ] No camera update needed
[2026-08-29 11:33:42,145.145 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:33:42,147.147 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:33:42,152.152 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:33:42,157.157 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:33:44,198.198 INFO    ] ================================================
[2026-08-29 11:33:44,214.214 INFO    ] Launching Daemon at Sat Aug 29 11:33:44 IST 2026
[2026-08-29 11:33:44,225.225 INFO    ] ================================================
[2026-08-29 11:33:44,794.794 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:33:44
[2026-08-29 11:33:45,292.292 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:33:45,539.539 INFO    ] Initializing speech engine...
[2026-08-29 11:33:45,554.554 INFO    ] 2026-08-29 11:33:45
[2026-08-29 11:33:45,833.833 INFO    ] 2026-08-29 11:33:45
[2026-08-29 11:33:45,870.870 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:33:46,062.062 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:33:46,069.069 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:33:46,201.201 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:33:46,208.208 INFO    ] time= 29/08/2026 11:33:46
[2026-08-29 11:33:46,227.227 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:33:46,246.246 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:33:46,330.330 INFO    ] No existing commands found in stream
[2026-08-29 11:33:51,343.343 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:33:51,346.346 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-08-29 11:33:53,795.795 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:33:53,798.798 INFO    ] Checking for system updates...
[2026-08-29 11:33:53,837.837 INFO    ] 200
[2026-08-29 11:33:53,839.839 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:33:53,898.898 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:33:53,901.901 INFO    ] No update needed
[2026-08-29 11:33:53,904.904 INFO    ] Checking for camera pi updates...
[2026-08-29 11:33:53,944.944 INFO    ] 200
[2026-08-29 11:33:53,947.947 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:33:53,991.991 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:33:54,173.173 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:33:54,174.174 INFO    ] No camera update needed
[2026-08-29 11:33:54,176.176 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:33:54,177.177 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:33:54,180.180 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:33:54,183.183 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:33:56,221.221 INFO    ] ================================================
[2026-08-29 11:33:56,236.236 INFO    ] Launching Daemon at Sat Aug 29 11:33:56 IST 2026
[2026-08-29 11:33:56,247.247 INFO    ] ================================================
[2026-08-29 11:33:56,610.610 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:33:56
[2026-08-29 11:33:56,921.921 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:33:57,095.095 INFO    ] Initializing speech engine...
[2026-08-29 11:33:57,105.105 INFO    ] 2026-08-29 11:33:57
[2026-08-29 11:33:57,356.356 INFO    ] 2026-08-29 11:33:57
[2026-08-29 11:33:57,390.390 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:33:57,565.565 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:33:57,580.580 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:33:57,724.724 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:33:57,731.731 INFO    ] time= 29/08/2026 11:33:57
[2026-08-29 11:33:57,740.740 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:33:57,780.780 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:33:57,894.894 INFO    ] No existing commands found in stream
[2026-08-29 11:34:02,924.924 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:34:02,927.927 INFO    ] Waiting 1.53 seconds before fallback handling...
[2026-08-29 11:34:04,790.790 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:34:04,791.791 INFO    ] Checking for system updates...
[2026-08-29 11:34:04,812.812 INFO    ] 200
[2026-08-29 11:34:04,813.813 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:34:04,844.844 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:34:04,845.845 INFO    ] No update needed
[2026-08-29 11:34:04,847.847 INFO    ] Checking for camera pi updates...
[2026-08-29 11:34:04,868.868 INFO    ] 200
[2026-08-29 11:34:04,869.869 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:34:04,894.894 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:34:04,973.973 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:34:04,974.974 INFO    ] No camera update needed
[2026-08-29 11:34:04,976.976 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:34:04,977.977 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:34:04,980.980 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:34:04,983.983 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:34:07,023.023 INFO    ] ================================================
[2026-08-29 11:34:07,038.038 INFO    ] Launching Daemon at Sat Aug 29 11:34:07 IST 2026
[2026-08-29 11:34:07,049.049 INFO    ] ================================================
[2026-08-29 11:34:07,393.393 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:34:07
[2026-08-29 11:34:07,707.707 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:34:07,846.846 INFO    ] Initializing speech engine...
[2026-08-29 11:34:07,856.856 INFO    ] 2026-08-29 11:34:07
[2026-08-29 11:34:08,058.058 INFO    ] 2026-08-29 11:34:08
[2026-08-29 11:34:08,088.088 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:34:08,209.209 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:34:08,252.252 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:34:08,414.414 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:34:08,475.475 INFO    ] time= 29/08/2026 11:34:08
[2026-08-29 11:34:08,499.499 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:34:08,500.500 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:34:08,571.571 INFO    ] No existing commands found in stream
[2026-08-29 11:34:13,581.581 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:34:13,584.584 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-08-29 11:34:14,967.967 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:34:14,968.968 INFO    ] Checking for system updates...
[2026-08-29 11:34:14,988.988 INFO    ] 200
[2026-08-29 11:34:14,990.990 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:34:15,020.020 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:34:15,021.021 INFO    ] No update needed
[2026-08-29 11:34:15,022.022 INFO    ] Checking for camera pi updates...
[2026-08-29 11:34:15,042.042 INFO    ] 200
[2026-08-29 11:34:15,043.043 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:34:15,066.066 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:34:15,161.161 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:34:15,162.162 INFO    ] No camera update needed
[2026-08-29 11:34:15,164.164 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:34:15,165.165 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:34:15,168.168 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:34:15,170.170 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:34:17,210.210 INFO    ] ================================================
[2026-08-29 11:34:17,225.225 INFO    ] Launching Daemon at Sat Aug 29 11:34:17 IST 2026
[2026-08-29 11:34:17,236.236 INFO    ] ================================================
[2026-08-29 11:34:17,818.818 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:34:17
[2026-08-29 11:34:18,460.460 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:34:18,732.732 INFO    ] Initializing speech engine...
[2026-08-29 11:34:18,740.740 INFO    ] 2026-08-29 11:34:18
[2026-08-29 11:34:18,996.996 INFO    ] 2026-08-29 11:34:18
[2026-08-29 11:34:19,030.030 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:34:19,209.209 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:34:19,221.221 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:34:19,341.341 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:34:19,360.360 INFO    ] time= 29/08/2026 11:34:19
[2026-08-29 11:34:19,379.379 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:34:19,387.387 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:34:19,454.454 INFO    ] No existing commands found in stream
[2026-08-29 11:34:24,467.467 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:34:24,469.469 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-08-29 11:34:27,288.288 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:34:27,291.291 INFO    ] Checking for system updates...
[2026-08-29 11:34:27,326.326 INFO    ] 200
[2026-08-29 11:34:27,329.329 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:34:27,381.381 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:34:27,384.384 INFO    ] No update needed
[2026-08-29 11:34:27,386.386 INFO    ] Checking for camera pi updates...
[2026-08-29 11:34:27,408.408 INFO    ] 200
[2026-08-29 11:34:27,410.410 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:34:27,432.432 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:34:27,513.513 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:34:27,514.514 INFO    ] No camera update needed
[2026-08-29 11:34:27,515.515 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:34:27,516.516 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:34:27,519.519 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:34:27,522.522 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:34:29,561.561 INFO    ] ================================================
[2026-08-29 11:34:29,577.577 INFO    ] Launching Daemon at Sat Aug 29 11:34:29 IST 2026
[2026-08-29 11:34:29,588.588 INFO    ] ================================================
[2026-08-29 11:34:30,118.118 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:34:30
[2026-08-29 11:34:30,788.788 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:34:31,109.109 INFO    ] Initializing speech engine...
[2026-08-29 11:34:31,120.120 INFO    ] 2026-08-29 11:34:31
[2026-08-29 11:34:31,399.399 INFO    ] 2026-08-29 11:34:31
[2026-08-29 11:34:31,460.460 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:34:31,691.691 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:34:31,702.702 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:34:31,839.839 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:34:31,861.861 INFO    ] time= 29/08/2026 11:34:31
[2026-08-29 11:34:31,917.917 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:34:31,980.980 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:34:32,036.036 INFO    ] No existing commands found in stream
[2026-08-29 11:34:37,048.048 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:34:37,051.051 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-08-29 11:34:38,318.318 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:34:38,319.319 INFO    ] Checking for system updates...
[2026-08-29 11:34:38,341.341 INFO    ] 200
[2026-08-29 11:34:38,343.343 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:34:38,374.374 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:34:38,375.375 INFO    ] No update needed
[2026-08-29 11:34:38,377.377 INFO    ] Checking for camera pi updates...
[2026-08-29 11:34:38,396.396 INFO    ] 200
[2026-08-29 11:34:38,398.398 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:34:38,421.421 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:34:38,497.497 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:34:38,498.498 INFO    ] No camera update needed
[2026-08-29 11:34:38,499.499 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:34:38,501.501 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:34:38,504.504 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:34:38,507.507 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:34:40,546.546 INFO    ] ================================================
[2026-08-29 11:34:40,561.561 INFO    ] Launching Daemon at Sat Aug 29 11:34:40 IST 2026
[2026-08-29 11:34:40,572.572 INFO    ] ================================================
[2026-08-29 11:34:41,129.129 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:34:41
[2026-08-29 11:34:41,731.731 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:34:41,999.999 INFO    ] Initializing speech engine...
[2026-08-29 11:34:42,008.008 INFO    ] 2026-08-29 11:34:42
[2026-08-29 11:34:42,254.254 INFO    ] 2026-08-29 11:34:42
[2026-08-29 11:34:42,289.289 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:34:42,459.459 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:34:42,473.473 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:34:42,582.582 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:34:42,588.588 INFO    ] time= 29/08/2026 11:34:42
[2026-08-29 11:34:42,606.606 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:34:42,625.625 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:34:42,700.700 INFO    ] No existing commands found in stream
[2026-08-29 11:34:47,715.715 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:34:47,717.717 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-08-29 11:34:48,099.099 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:34:48,100.100 INFO    ] Checking for system updates...
[2026-08-29 11:34:48,121.121 INFO    ] 200
[2026-08-29 11:34:48,123.123 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:34:48,156.156 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:34:48,158.158 INFO    ] No update needed
[2026-08-29 11:34:48,159.159 INFO    ] Checking for camera pi updates...
[2026-08-29 11:34:48,178.178 INFO    ] 200
[2026-08-29 11:34:48,179.179 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:34:48,204.204 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:34:48,284.284 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:34:48,285.285 INFO    ] No camera update needed
[2026-08-29 11:34:48,287.287 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:34:48,288.288 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:34:48,291.291 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:34:48,294.294 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:34:50,334.334 INFO    ] ================================================
[2026-08-29 11:34:50,349.349 INFO    ] Launching Daemon at Sat Aug 29 11:34:50 IST 2026
[2026-08-29 11:34:50,360.360 INFO    ] ================================================
[2026-08-29 11:34:50,731.731 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:34:50
[2026-08-29 11:34:51,071.071 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:34:51,225.225 INFO    ] Initializing speech engine...
[2026-08-29 11:34:51,230.230 INFO    ] 2026-08-29 11:34:51
[2026-08-29 11:34:51,423.423 INFO    ] 2026-08-29 11:34:51
[2026-08-29 11:34:51,456.456 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:34:51,603.603 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:34:51,665.665 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:34:51,804.804 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:34:51,871.871 INFO    ] time= 29/08/2026 11:34:51
[2026-08-29 11:34:51,895.895 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:34:51,902.902 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:34:51,968.968 INFO    ] No existing commands found in stream
[2026-08-29 11:34:56,976.976 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:34:56,978.978 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 11:34:58,130.130 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:34:58,132.132 INFO    ] Checking for system updates...
[2026-08-29 11:34:58,154.154 INFO    ] 200
[2026-08-29 11:34:58,156.156 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:34:58,185.185 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:34:58,187.187 INFO    ] No update needed
[2026-08-29 11:34:58,188.188 INFO    ] Checking for camera pi updates...
[2026-08-29 11:34:58,209.209 INFO    ] 200
[2026-08-29 11:34:58,210.210 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:34:58,236.236 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:34:58,317.317 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:34:58,320.320 INFO    ] No camera update needed
[2026-08-29 11:34:58,323.323 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:34:58,326.326 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:34:58,332.332 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:34:58,337.337 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:35:00,377.377 INFO    ] ================================================
[2026-08-29 11:35:00,393.393 INFO    ] Launching Daemon at Sat Aug 29 11:35:00 IST 2026
[2026-08-29 11:35:00,403.403 INFO    ] ================================================
[2026-08-29 11:35:01,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:35:01
[2026-08-29 11:35:01,985.985 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:35:02,325.325 INFO    ] Initializing speech engine...
[2026-08-29 11:35:02,331.331 INFO    ] 2026-08-29 11:35:02
[2026-08-29 11:35:02,609.609 INFO    ] 2026-08-29 11:35:02
[2026-08-29 11:35:02,642.642 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:35:02,854.854 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:35:02,870.870 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:35:03,001.001 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:35:03,025.025 INFO    ] time= 29/08/2026 11:35:03
[2026-08-29 11:35:03,051.051 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:35:03,057.057 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:35:03,133.133 INFO    ] No existing commands found in stream
[2026-08-29 11:35:08,145.145 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:35:08,148.148 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-08-29 11:35:08,610.610 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:35:08,611.611 INFO    ] Checking for system updates...
[2026-08-29 11:35:08,632.632 INFO    ] 200
[2026-08-29 11:35:08,634.634 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:35:08,663.663 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:35:08,665.665 INFO    ] No update needed
[2026-08-29 11:35:08,666.666 INFO    ] Checking for camera pi updates...
[2026-08-29 11:35:08,687.687 INFO    ] 200
[2026-08-29 11:35:08,688.688 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:35:08,714.714 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:35:08,800.800 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:35:08,801.801 INFO    ] No camera update needed
[2026-08-29 11:35:08,803.803 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:35:08,804.804 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:35:08,807.807 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:35:08,810.810 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:35:10,849.849 INFO    ] ================================================
[2026-08-29 11:35:10,864.864 INFO    ] Launching Daemon at Sat Aug 29 11:35:10 IST 2026
[2026-08-29 11:35:10,875.875 INFO    ] ================================================
[2026-08-29 11:35:11,367.367 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:35:11
[2026-08-29 11:35:11,953.953 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:35:12,228.228 INFO    ] Initializing speech engine...
[2026-08-29 11:35:12,237.237 INFO    ] 2026-08-29 11:35:12
[2026-08-29 11:35:12,489.489 INFO    ] 2026-08-29 11:35:12
[2026-08-29 11:35:12,556.556 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:35:12,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:35:12,713.713 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:35:12,827.827 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:35:12,847.847 INFO    ] time= 29/08/2026 11:35:12
[2026-08-29 11:35:12,866.866 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:35:12,875.875 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:35:12,944.944 INFO    ] No existing commands found in stream
[2026-08-29 11:35:17,956.956 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:35:17,959.959 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-08-29 11:35:20,987.987 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:35:20,988.988 INFO    ] Checking for system updates...
[2026-08-29 11:35:21,009.009 INFO    ] 200
[2026-08-29 11:35:21,010.010 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:35:21,042.042 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:35:21,044.044 INFO    ] No update needed
[2026-08-29 11:35:21,046.046 INFO    ] Checking for camera pi updates...
[2026-08-29 11:35:21,065.065 INFO    ] 200
[2026-08-29 11:35:21,067.067 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:35:21,099.099 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:35:21,176.176 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:35:21,178.178 INFO    ] No camera update needed
[2026-08-29 11:35:21,179.179 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:35:21,180.180 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:35:21,183.183 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:35:21,186.186 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:35:23,217.217 INFO    ] ================================================
[2026-08-29 11:35:23,226.226 INFO    ] Launching Daemon at Sat Aug 29 11:35:23 IST 2026
[2026-08-29 11:35:23,232.232 INFO    ] ================================================
[2026-08-29 11:35:23,778.778 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:35:23
[2026-08-29 11:35:24,420.420 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:35:24,710.710 INFO    ] Initializing speech engine...
[2026-08-29 11:35:24,720.720 INFO    ] 2026-08-29 11:35:24
[2026-08-29 11:35:24,984.984 INFO    ] 2026-08-29 11:35:24
[2026-08-29 11:35:25,022.022 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:35:26,255.255 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:35:26,261.261 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:35:26,663.663 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:35:26,670.670 INFO    ] time= 29/08/2026 11:35:26
[2026-08-29 11:35:26,673.673 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:35:26,676.676 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:35:28,893.893 INFO    ] No existing commands found in stream
[2026-08-29 11:35:33,902.902 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:35:33,905.905 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-08-29 11:35:37,361.361 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:35:37,364.364 INFO    ] Checking for system updates...
[2026-08-29 11:35:37,399.399 INFO    ] 200
[2026-08-29 11:35:37,402.402 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:35:37,454.454 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:35:37,457.457 INFO    ] No update needed
[2026-08-29 11:35:37,463.463 INFO    ] Checking for camera pi updates...
[2026-08-29 11:35:37,497.497 INFO    ] 200
[2026-08-29 11:35:37,499.499 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:35:37,540.540 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:35:37,625.625 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:35:37,628.628 INFO    ] No camera update needed
[2026-08-29 11:35:37,630.630 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:35:37,633.633 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:35:37,638.638 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:35:37,643.643 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:35:39,685.685 INFO    ] ================================================
[2026-08-29 11:35:39,701.701 INFO    ] Launching Daemon at Sat Aug 29 11:35:39 IST 2026
[2026-08-29 11:35:39,711.711 INFO    ] ================================================
[2026-08-29 11:35:40,361.361 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:35:40
[2026-08-29 11:35:40,708.708 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:35:40,858.858 INFO    ] Initializing speech engine...
[2026-08-29 11:35:40,864.864 INFO    ] 2026-08-29 11:35:40
[2026-08-29 11:35:41,071.071 INFO    ] 2026-08-29 11:35:41
[2026-08-29 11:35:41,100.100 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:35:41,251.251 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:35:41,299.299 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:35:41,426.426 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:35:41,441.441 INFO    ] time= 29/08/2026 11:35:41
[2026-08-29 11:35:41,449.449 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:35:41,486.486 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:35:41,627.627 INFO    ] No existing commands found in stream
[2026-08-29 11:35:46,658.658 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:35:46,662.662 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-08-29 11:35:47,201.201 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:35:47,205.205 INFO    ] Checking for system updates...
[2026-08-29 11:35:47,244.244 INFO    ] 200
[2026-08-29 11:35:47,246.246 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:35:47,305.305 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:35:47,308.308 INFO    ] No update needed
[2026-08-29 11:35:47,310.310 INFO    ] Checking for camera pi updates...
[2026-08-29 11:35:47,347.347 INFO    ] 200
[2026-08-29 11:35:47,350.350 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:35:47,393.393 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:35:47,474.474 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:35:47,477.477 INFO    ] No camera update needed
[2026-08-29 11:35:47,479.479 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:35:47,482.482 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:35:47,488.488 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:35:47,494.494 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:35:49,538.538 INFO    ] ================================================
[2026-08-29 11:35:49,553.553 INFO    ] Launching Daemon at Sat Aug 29 11:35:49 IST 2026
[2026-08-29 11:35:49,564.564 INFO    ] ================================================
[2026-08-29 11:35:50,153.153 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:35:50
[2026-08-29 11:35:50,672.672 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:35:50,994.994 INFO    ] Initializing speech engine...
[2026-08-29 11:35:51,005.005 INFO    ] 2026-08-29 11:35:50
[2026-08-29 11:35:51,291.291 INFO    ] 2026-08-29 11:35:51
[2026-08-29 11:35:51,355.355 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:35:51,528.528 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:35:51,535.535 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:35:51,665.665 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:35:51,675.675 INFO    ] time= 29/08/2026 11:35:51
[2026-08-29 11:35:51,686.686 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:35:51,692.692 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:35:51,757.757 INFO    ] No existing commands found in stream
[2026-08-29 11:35:56,784.784 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:35:56,787.787 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-08-29 11:35:58,679.679 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:35:58,681.681 INFO    ] Checking for system updates...
[2026-08-29 11:35:58,702.702 INFO    ] 200
[2026-08-29 11:35:58,704.704 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:35:58,737.737 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:35:58,739.739 INFO    ] No update needed
[2026-08-29 11:35:58,740.740 INFO    ] Checking for camera pi updates...
[2026-08-29 11:35:58,759.759 INFO    ] 200
[2026-08-29 11:35:58,761.761 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:35:58,783.783 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:35:58,970.970 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:35:58,972.972 INFO    ] No camera update needed
[2026-08-29 11:35:58,975.975 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:35:58,977.977 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:35:58,982.982 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:35:58,987.987 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:36:01,027.027 INFO    ] ================================================
[2026-08-29 11:36:01,042.042 INFO    ] Launching Daemon at Sat Aug 29 11:36:01 IST 2026
[2026-08-29 11:36:01,053.053 INFO    ] ================================================
[2026-08-29 11:36:01,856.856 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:36:01
[2026-08-29 11:36:02,523.523 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:36:02,875.875 INFO    ] Initializing speech engine...
[2026-08-29 11:36:02,888.888 INFO    ] 2026-08-29 11:36:02
[2026-08-29 11:36:03,180.180 INFO    ] 2026-08-29 11:36:03
[2026-08-29 11:36:03,214.214 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:36:03,380.380 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:36:03,393.393 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:36:03,539.539 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:36:03,548.548 INFO    ] time= 29/08/2026 11:36:03
[2026-08-29 11:36:03,555.555 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:36:03,576.576 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:36:03,701.701 INFO    ] No existing commands found in stream
[2026-08-29 11:36:08,732.732 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:36:08,735.735 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-08-29 11:36:11,836.836 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:36:11,838.838 INFO    ] Checking for system updates...
[2026-08-29 11:36:11,861.861 INFO    ] 200
[2026-08-29 11:36:11,862.862 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:36:11,893.893 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:36:11,894.894 INFO    ] No update needed
[2026-08-29 11:36:11,896.896 INFO    ] Checking for camera pi updates...
[2026-08-29 11:36:11,915.915 INFO    ] 200
[2026-08-29 11:36:11,916.916 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:36:11,939.939 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:36:12,018.018 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:36:12,019.019 INFO    ] No camera update needed
[2026-08-29 11:36:12,020.020 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:36:12,022.022 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:36:12,025.025 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:36:12,028.028 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:36:14,068.068 INFO    ] ================================================
[2026-08-29 11:36:14,084.084 INFO    ] Launching Daemon at Sat Aug 29 11:36:14 IST 2026
[2026-08-29 11:36:14,094.094 INFO    ] ================================================
[2026-08-29 11:36:14,447.447 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:36:14
[2026-08-29 11:36:14,782.782 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:36:14,934.934 INFO    ] Initializing speech engine...
[2026-08-29 11:36:14,938.938 INFO    ] 2026-08-29 11:36:14
[2026-08-29 11:36:15,145.145 INFO    ] 2026-08-29 11:36:15
[2026-08-29 11:36:15,174.174 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:36:15,296.296 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:36:15,359.359 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:36:15,498.498 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:36:15,562.562 INFO    ] time= 29/08/2026 11:36:15
[2026-08-29 11:36:15,590.590 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:36:15,597.597 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:36:15,687.687 INFO    ] No existing commands found in stream
[2026-08-29 11:36:20,702.702 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:36:20,705.705 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-08-29 11:36:24,532.532 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:36:24,534.534 INFO    ] Checking for system updates...
[2026-08-29 11:36:24,554.554 INFO    ] 200
[2026-08-29 11:36:24,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:36:24,586.586 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:36:24,587.587 INFO    ] No update needed
[2026-08-29 11:36:24,588.588 INFO    ] Checking for camera pi updates...
[2026-08-29 11:36:24,609.609 INFO    ] 200
[2026-08-29 11:36:24,610.610 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:36:24,636.636 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:36:24,716.716 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:36:24,718.718 INFO    ] No camera update needed
[2026-08-29 11:36:24,719.719 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:36:24,720.720 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:36:24,724.724 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:36:24,727.727 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:36:26,767.767 INFO    ] ================================================
[2026-08-29 11:36:26,786.786 INFO    ] Launching Daemon at Sat Aug 29 11:36:26 IST 2026
[2026-08-29 11:36:26,798.798 INFO    ] ================================================
[2026-08-29 11:36:27,133.133 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:36:27
[2026-08-29 11:36:27,444.444 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:36:27,586.586 INFO    ] Initializing speech engine...
[2026-08-29 11:36:27,595.595 INFO    ] 2026-08-29 11:36:27
[2026-08-29 11:36:27,847.847 INFO    ] 2026-08-29 11:36:27
[2026-08-29 11:36:27,881.881 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:36:28,270.270 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:36:28,276.276 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:36:28,411.411 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:36:28,426.426 INFO    ] time= 29/08/2026 11:36:28
[2026-08-29 11:36:28,436.436 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:36:28,462.462 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:36:28,568.568 INFO    ] No existing commands found in stream
[2026-08-29 11:36:33,582.582 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:36:33,584.584 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-08-29 11:36:35,175.175 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:36:35,176.176 INFO    ] Checking for system updates...
[2026-08-29 11:36:35,198.198 INFO    ] 200
[2026-08-29 11:36:35,199.199 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:36:35,230.230 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:36:35,231.231 INFO    ] No update needed
[2026-08-29 11:36:35,233.233 INFO    ] Checking for camera pi updates...
[2026-08-29 11:36:35,252.252 INFO    ] 200
[2026-08-29 11:36:35,253.253 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:36:35,293.293 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:36:35,376.376 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:36:35,378.378 INFO    ] No camera update needed
[2026-08-29 11:36:35,380.380 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:36:35,383.383 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:36:35,388.388 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:36:35,393.393 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:36:37,434.434 INFO    ] ================================================
[2026-08-29 11:36:37,450.450 INFO    ] Launching Daemon at Sat Aug 29 11:36:37 IST 2026
[2026-08-29 11:36:37,461.461 INFO    ] ================================================
[2026-08-29 11:36:38,041.041 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:36:38
[2026-08-29 11:36:38,520.520 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:36:38,657.657 INFO    ] Initializing speech engine...
[2026-08-29 11:36:38,668.668 INFO    ] 2026-08-29 11:36:38
[2026-08-29 11:36:38,870.870 INFO    ] 2026-08-29 11:36:38
[2026-08-29 11:36:38,899.899 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:36:39,021.021 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:36:39,058.058 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:36:39,231.231 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:36:39,273.273 INFO    ] time= 29/08/2026 11:36:39
[2026-08-29 11:36:39,322.322 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:36:39,343.343 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:36:39,475.475 INFO    ] No existing commands found in stream
[2026-08-29 11:36:44,499.499 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:36:44,502.502 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-08-29 11:36:48,480.480 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:36:48,481.481 INFO    ] Checking for system updates...
[2026-08-29 11:36:48,503.503 INFO    ] 200
[2026-08-29 11:36:48,504.504 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:36:48,534.534 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:36:48,535.535 INFO    ] No update needed
[2026-08-29 11:36:48,536.536 INFO    ] Checking for camera pi updates...
[2026-08-29 11:36:48,555.555 INFO    ] 200
[2026-08-29 11:36:48,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:36:48,579.579 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:36:48,664.664 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:36:48,665.665 INFO    ] No camera update needed
[2026-08-29 11:36:48,666.666 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:36:48,667.667 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:36:48,670.670 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:36:48,673.673 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:36:50,711.711 INFO    ] ================================================
[2026-08-29 11:36:50,727.727 INFO    ] Launching Daemon at Sat Aug 29 11:36:50 IST 2026
[2026-08-29 11:36:50,738.738 INFO    ] ================================================
[2026-08-29 11:36:51,236.236 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:36:51
[2026-08-29 11:36:51,836.836 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:36:52,115.115 INFO    ] Initializing speech engine...
[2026-08-29 11:36:52,121.121 INFO    ] 2026-08-29 11:36:52
[2026-08-29 11:36:52,384.384 INFO    ] 2026-08-29 11:36:52
[2026-08-29 11:36:52,437.437 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:36:52,606.606 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:36:52,661.661 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:36:52,802.802 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:36:52,823.823 INFO    ] time= 29/08/2026 11:36:52
[2026-08-29 11:36:52,888.888 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:36:52,935.935 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:36:52,990.990 INFO    ] No existing commands found in stream
[2026-08-29 11:36:58,001.001 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:36:58,004.004 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-08-29 11:36:59,818.818 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:36:59,819.819 INFO    ] Checking for system updates...
[2026-08-29 11:36:59,839.839 INFO    ] 200
[2026-08-29 11:36:59,841.841 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:36:59,870.870 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:36:59,872.872 INFO    ] No update needed
[2026-08-29 11:36:59,873.873 INFO    ] Checking for camera pi updates...
[2026-08-29 11:36:59,892.892 INFO    ] 200
[2026-08-29 11:36:59,894.894 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:36:59,918.918 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:37:00,001.001 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:37:00,003.003 INFO    ] No camera update needed
[2026-08-29 11:37:00,004.004 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:37:00,005.005 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:37:00,008.008 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:37:00,011.011 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:37:02,052.052 INFO    ] ================================================
[2026-08-29 11:37:02,072.072 INFO    ] Launching Daemon at Sat Aug 29 11:37:02 IST 2026
[2026-08-29 11:37:02,084.084 INFO    ] ================================================
[2026-08-29 11:37:02,710.710 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:37:02
[2026-08-29 11:37:03,341.341 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:37:03,599.599 INFO    ] Initializing speech engine...
[2026-08-29 11:37:03,605.605 INFO    ] 2026-08-29 11:37:03
[2026-08-29 11:37:03,894.894 INFO    ] 2026-08-29 11:37:03
[2026-08-29 11:37:03,932.932 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:37:04,076.076 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:37:04,082.082 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:37:04,231.231 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:37:04,241.241 INFO    ] time= 29/08/2026 11:37:04
[2026-08-29 11:37:04,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:37:04,250.250 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:37:04,316.316 INFO    ] No existing commands found in stream
[2026-08-29 11:37:09,329.329 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:37:09,332.332 INFO    ] Waiting 0.00 seconds before fallback handling...
[2026-08-29 11:37:09,684.684 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:37:09,686.686 INFO    ] Checking for system updates...
[2026-08-29 11:37:09,707.707 INFO    ] 200
[2026-08-29 11:37:09,708.708 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:37:09,740.740 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:37:09,742.742 INFO    ] No update needed
[2026-08-29 11:37:09,744.744 INFO    ] Checking for camera pi updates...
[2026-08-29 11:37:09,763.763 INFO    ] 200
[2026-08-29 11:37:09,765.765 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:37:09,789.789 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:37:09,874.874 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:37:09,875.875 INFO    ] No camera update needed
[2026-08-29 11:37:09,877.877 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:37:09,878.878 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:37:09,881.881 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:37:09,884.884 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:37:11,924.924 INFO    ] ================================================
[2026-08-29 11:37:11,939.939 INFO    ] Launching Daemon at Sat Aug 29 11:37:11 IST 2026
[2026-08-29 11:37:11,949.949 INFO    ] ================================================
[2026-08-29 11:37:12,384.384 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:37:12
[2026-08-29 11:37:12,969.969 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:37:13,221.221 INFO    ] Initializing speech engine...
[2026-08-29 11:37:13,227.227 INFO    ] 2026-08-29 11:37:13
[2026-08-29 11:37:13,522.522 INFO    ] 2026-08-29 11:37:13
[2026-08-29 11:37:13,560.560 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:37:13,753.753 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:37:13,769.769 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:37:13,889.889 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:37:13,895.895 INFO    ] time= 29/08/2026 11:37:13
[2026-08-29 11:37:13,900.900 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:37:13,921.921 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:37:14,020.020 INFO    ] No existing commands found in stream
[2026-08-29 11:37:19,031.031 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:37:19,034.034 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-08-29 11:37:22,411.411 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:37:22,412.412 INFO    ] Checking for system updates...
[2026-08-29 11:37:22,433.433 INFO    ] 200
[2026-08-29 11:37:22,434.434 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:37:22,465.465 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:37:22,467.467 INFO    ] No update needed
[2026-08-29 11:37:22,468.468 INFO    ] Checking for camera pi updates...
[2026-08-29 11:37:22,487.487 INFO    ] 200
[2026-08-29 11:37:22,489.489 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:37:22,512.512 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:37:22,596.596 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:37:22,598.598 INFO    ] No camera update needed
[2026-08-29 11:37:22,599.599 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:37:22,600.600 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:37:22,603.603 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:37:22,606.606 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:37:24,645.645 INFO    ] ================================================
[2026-08-29 11:37:24,660.660 INFO    ] Launching Daemon at Sat Aug 29 11:37:24 IST 2026
[2026-08-29 11:37:24,671.671 INFO    ] ================================================
[2026-08-29 11:37:25,034.034 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:37:25
[2026-08-29 11:37:25,348.348 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:37:25,589.589 INFO    ] Initializing speech engine...
[2026-08-29 11:37:25,604.604 INFO    ] 2026-08-29 11:37:25
[2026-08-29 11:37:25,889.889 INFO    ] 2026-08-29 11:37:25
[2026-08-29 11:37:25,924.924 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:37:26,070.070 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:37:26,080.080 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:37:26,230.230 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:37:26,239.239 INFO    ] time= 29/08/2026 11:37:26
[2026-08-29 11:37:26,245.245 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:37:26,268.268 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:37:26,320.320 INFO    ] No existing commands found in stream
[2026-08-29 11:37:31,332.332 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:37:31,336.336 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-08-29 11:37:35,669.669 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:37:35,670.670 INFO    ] Checking for system updates...
[2026-08-29 11:37:35,691.691 INFO    ] 200
[2026-08-29 11:37:35,692.692 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:37:35,722.722 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:37:35,723.723 INFO    ] No update needed
[2026-08-29 11:37:35,724.724 INFO    ] Checking for camera pi updates...
[2026-08-29 11:37:35,744.744 INFO    ] 200
[2026-08-29 11:37:35,746.746 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:37:35,768.768 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:37:35,846.846 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:37:35,847.847 INFO    ] No camera update needed
[2026-08-29 11:37:35,848.848 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:37:35,849.849 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:37:35,852.852 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:37:35,855.855 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:37:37,894.894 INFO    ] ================================================
[2026-08-29 11:37:37,910.910 INFO    ] Launching Daemon at Sat Aug 29 11:37:37 IST 2026
[2026-08-29 11:37:37,920.920 INFO    ] ================================================
[2026-08-29 11:37:38,262.262 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:37:38
[2026-08-29 11:37:38,596.596 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:37:38,747.747 INFO    ] Initializing speech engine...
[2026-08-29 11:37:38,752.752 INFO    ] 2026-08-29 11:37:38
[2026-08-29 11:37:38,963.963 INFO    ] 2026-08-29 11:37:38
[2026-08-29 11:37:38,992.992 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:37:39,127.127 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:37:39,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:37:39,313.313 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:37:39,354.354 INFO    ] time= 29/08/2026 11:37:39
[2026-08-29 11:37:39,399.399 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:37:39,420.420 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:37:39,488.488 INFO    ] No existing commands found in stream
[2026-08-29 11:37:44,497.497 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:37:44,501.501 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-08-29 11:37:48,576.576 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:37:48,578.578 INFO    ] Checking for system updates...
[2026-08-29 11:37:48,599.599 INFO    ] 200
[2026-08-29 11:37:48,600.600 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:37:48,631.631 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:37:48,633.633 INFO    ] No update needed
[2026-08-29 11:37:48,634.634 INFO    ] Checking for camera pi updates...
[2026-08-29 11:37:48,657.657 INFO    ] 200
[2026-08-29 11:37:48,658.658 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:37:48,682.682 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:37:48,771.771 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:37:48,773.773 INFO    ] No camera update needed
[2026-08-29 11:37:48,775.775 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:37:48,776.776 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:37:48,779.779 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:37:48,782.782 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:37:50,823.823 INFO    ] ================================================
[2026-08-29 11:37:50,839.839 INFO    ] Launching Daemon at Sat Aug 29 11:37:50 IST 2026
[2026-08-29 11:37:50,850.850 INFO    ] ================================================
[2026-08-29 11:37:51,365.365 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:37:51
[2026-08-29 11:37:51,962.962 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:37:52,233.233 INFO    ] Initializing speech engine...
[2026-08-29 11:37:52,247.247 INFO    ] 2026-08-29 11:37:52
[2026-08-29 11:37:52,524.524 INFO    ] 2026-08-29 11:37:52
[2026-08-29 11:37:52,562.562 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:37:52,759.759 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:37:52,775.775 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:37:52,897.897 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:37:52,905.905 INFO    ] time= 29/08/2026 11:37:52
[2026-08-29 11:37:52,920.920 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:37:52,929.929 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:37:53,031.031 INFO    ] No existing commands found in stream
[2026-08-29 11:37:58,043.043 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:37:58,045.045 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-08-29 11:37:59,709.709 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:37:59,710.710 INFO    ] Checking for system updates...
[2026-08-29 11:37:59,732.732 INFO    ] 200
[2026-08-29 11:37:59,733.733 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:37:59,765.765 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:37:59,767.767 INFO    ] No update needed
[2026-08-29 11:37:59,768.768 INFO    ] Checking for camera pi updates...
[2026-08-29 11:37:59,787.787 INFO    ] 200
[2026-08-29 11:37:59,788.788 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:37:59,812.812 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:37:59,902.902 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:37:59,903.903 INFO    ] No camera update needed
[2026-08-29 11:37:59,904.904 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:37:59,905.905 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:37:59,908.908 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:37:59,911.911 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:38:01,953.953 INFO    ] ================================================
[2026-08-29 11:38:01,977.977 INFO    ] Launching Daemon at Sat Aug 29 11:38:01 IST 2026
[2026-08-29 11:38:02,995.995 INFO    ] ================================================
[2026-08-29 11:38:02,652.652 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:38:02
[2026-08-29 11:38:03,297.297 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:38:03,593.593 INFO    ] Initializing speech engine...
[2026-08-29 11:38:03,600.600 INFO    ] 2026-08-29 11:38:03
[2026-08-29 11:38:03,869.869 INFO    ] 2026-08-29 11:38:03
[2026-08-29 11:38:03,935.935 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:38:04,095.095 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:38:04,114.114 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:38:04,248.248 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:38:04,265.265 INFO    ] time= 29/08/2026 11:38:04
[2026-08-29 11:38:04,322.322 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:38:04,344.344 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:38:04,465.465 INFO    ] No existing commands found in stream
[2026-08-29 11:38:09,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:38:09,477.477 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-08-29 11:38:13,373.373 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:38:13,375.375 INFO    ] Checking for system updates...
[2026-08-29 11:38:13,395.395 INFO    ] 200
[2026-08-29 11:38:13,396.396 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:38:13,426.426 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:38:13,428.428 INFO    ] No update needed
[2026-08-29 11:38:13,429.429 INFO    ] Checking for camera pi updates...
[2026-08-29 11:38:13,448.448 INFO    ] 200
[2026-08-29 11:38:13,449.449 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:38:13,473.473 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:38:13,565.565 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:38:13,566.566 INFO    ] No camera update needed
[2026-08-29 11:38:13,567.567 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:38:13,569.569 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:38:13,572.572 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:38:13,574.574 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:38:15,614.614 INFO    ] ================================================
[2026-08-29 11:38:15,630.630 INFO    ] Launching Daemon at Sat Aug 29 11:38:15 IST 2026
[2026-08-29 11:38:15,642.642 INFO    ] ================================================
[2026-08-29 11:38:16,030.030 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:38:16
[2026-08-29 11:38:16,365.365 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:38:16,516.516 INFO    ] Initializing speech engine...
[2026-08-29 11:38:16,522.522 INFO    ] 2026-08-29 11:38:16
[2026-08-29 11:38:16,732.732 INFO    ] 2026-08-29 11:38:16
[2026-08-29 11:38:16,761.761 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:38:16,923.923 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:38:16,972.972 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:38:17,146.146 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:38:17,196.196 INFO    ] time= 29/08/2026 11:38:17
[2026-08-29 11:38:17,256.256 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:38:17,273.273 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:38:17,393.393 INFO    ] No existing commands found in stream
[2026-08-29 11:38:22,424.424 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:38:22,427.427 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-08-29 11:38:23,444.444 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:38:23,446.446 INFO    ] Checking for system updates...
[2026-08-29 11:38:23,468.468 INFO    ] 200
[2026-08-29 11:38:23,469.469 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:38:23,501.501 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:38:23,502.502 INFO    ] No update needed
[2026-08-29 11:38:23,503.503 INFO    ] Checking for camera pi updates...
[2026-08-29 11:38:23,523.523 INFO    ] 200
[2026-08-29 11:38:23,525.525 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:38:23,549.549 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:38:23,628.628 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:38:23,629.629 INFO    ] No camera update needed
[2026-08-29 11:38:23,630.630 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:38:23,632.632 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:38:23,635.635 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:38:23,637.637 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:38:25,682.682 INFO    ] ================================================
[2026-08-29 11:38:25,698.698 INFO    ] Launching Daemon at Sat Aug 29 11:38:25 IST 2026
[2026-08-29 11:38:25,709.709 INFO    ] ================================================
[2026-08-29 11:38:26,043.043 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:38:26
[2026-08-29 11:38:26,358.358 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:38:26,501.501 INFO    ] Initializing speech engine...
[2026-08-29 11:38:26,506.506 INFO    ] 2026-08-29 11:38:26
[2026-08-29 11:38:26,690.690 INFO    ] 2026-08-29 11:38:26
[2026-08-29 11:38:26,749.749 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:38:26,966.966 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:38:26,996.996 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:38:27,146.146 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:38:27,189.189 INFO    ] time= 29/08/2026 11:38:27
[2026-08-29 11:38:27,233.233 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:38:27,288.288 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:38:27,351.351 INFO    ] No existing commands found in stream
[2026-08-29 11:38:32,364.364 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:38:32,368.368 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-08-29 11:38:34,948.948 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:38:34,949.949 INFO    ] Checking for system updates...
[2026-08-29 11:38:34,970.970 INFO    ] 200
[2026-08-29 11:38:34,972.972 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:38:35,001.001 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:38:35,003.003 INFO    ] No update needed
[2026-08-29 11:38:35,004.004 INFO    ] Checking for camera pi updates...
[2026-08-29 11:38:35,023.023 INFO    ] 200
[2026-08-29 11:38:35,025.025 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:38:35,049.049 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:38:35,135.135 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:38:35,137.137 INFO    ] No camera update needed
[2026-08-29 11:38:35,140.140 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:38:35,142.142 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:38:35,147.147 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:38:35,152.152 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:38:37,194.194 INFO    ] ================================================
[2026-08-29 11:38:37,210.210 INFO    ] Launching Daemon at Sat Aug 29 11:38:37 IST 2026
[2026-08-29 11:38:37,222.222 INFO    ] ================================================
[2026-08-29 11:38:37,792.792 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:38:37
[2026-08-29 11:38:38,248.248 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:38:38,476.476 INFO    ] Initializing speech engine...
[2026-08-29 11:38:38,486.486 INFO    ] 2026-08-29 11:38:38
[2026-08-29 11:38:38,737.737 INFO    ] 2026-08-29 11:38:38
[2026-08-29 11:38:38,803.803 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:38:38,947.947 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:38:38,959.959 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:38:39,103.103 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:38:39,111.111 INFO    ] time= 29/08/2026 11:38:39
[2026-08-29 11:38:39,118.118 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:38:39,143.143 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:38:39,270.270 INFO    ] No existing commands found in stream
[2026-08-29 11:38:44,295.295 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:38:44,297.297 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-08-29 11:38:44,937.937 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:38:44,938.938 INFO    ] Checking for system updates...
[2026-08-29 11:38:44,958.958 INFO    ] 200
[2026-08-29 11:38:44,960.960 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:38:44,989.989 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:38:44,991.991 INFO    ] No update needed
[2026-08-29 11:38:44,992.992 INFO    ] Checking for camera pi updates...
[2026-08-29 11:38:45,014.014 INFO    ] 200
[2026-08-29 11:38:45,015.015 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:38:45,039.039 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:38:45,128.128 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:38:45,129.129 INFO    ] No camera update needed
[2026-08-29 11:38:45,130.130 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:38:45,132.132 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:38:45,135.135 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:38:45,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:38:47,177.177 INFO    ] ================================================
[2026-08-29 11:38:47,193.193 INFO    ] Launching Daemon at Sat Aug 29 11:38:47 IST 2026
[2026-08-29 11:38:47,204.204 INFO    ] ================================================
[2026-08-29 11:38:47,543.543 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:38:47
[2026-08-29 11:38:47,856.856 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:38:47,995.995 INFO    ] Initializing speech engine...
[2026-08-29 11:38:48,005.005 INFO    ] 2026-08-29 11:38:47
[2026-08-29 11:38:48,192.192 INFO    ] 2026-08-29 11:38:48
[2026-08-29 11:38:48,227.227 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:38:48,413.413 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:38:48,429.429 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:38:48,560.560 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:38:48,569.569 INFO    ] time= 29/08/2026 11:38:48
[2026-08-29 11:38:48,575.575 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:38:48,611.611 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:38:48,735.735 INFO    ] No existing commands found in stream
[2026-08-29 11:38:53,760.760 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:38:53,763.763 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-08-29 11:38:55,016.016 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:38:55,017.017 INFO    ] Checking for system updates...
[2026-08-29 11:38:55,037.037 INFO    ] 200
[2026-08-29 11:38:55,039.039 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:38:55,073.073 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:38:55,074.074 INFO    ] No update needed
[2026-08-29 11:38:55,075.075 INFO    ] Checking for camera pi updates...
[2026-08-29 11:38:55,095.095 INFO    ] 200
[2026-08-29 11:38:55,097.097 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:38:55,119.119 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:38:55,194.194 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:38:55,195.195 INFO    ] No camera update needed
[2026-08-29 11:38:55,197.197 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:38:55,198.198 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:38:55,201.201 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:38:55,204.204 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:38:57,245.245 INFO    ] ================================================
[2026-08-29 11:38:57,262.262 INFO    ] Launching Daemon at Sat Aug 29 11:38:57 IST 2026
[2026-08-29 11:38:57,274.274 INFO    ] ================================================
[2026-08-29 11:38:57,639.639 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:38:57
[2026-08-29 11:38:57,959.959 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:38:58,103.103 INFO    ] Initializing speech engine...
[2026-08-29 11:38:58,108.108 INFO    ] 2026-08-29 11:38:58
[2026-08-29 11:38:58,313.313 INFO    ] 2026-08-29 11:38:58
[2026-08-29 11:38:58,341.341 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:38:58,487.487 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:38:58,493.493 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:38:58,659.659 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:38:58,694.694 INFO    ] time= 29/08/2026 11:38:58
[2026-08-29 11:38:58,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:38:58,718.718 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:38:58,819.819 INFO    ] No existing commands found in stream
[2026-08-29 11:39:03,844.844 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:39:03,847.847 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-08-29 11:39:06,938.938 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:39:06,939.939 INFO    ] Checking for system updates...
[2026-08-29 11:39:06,960.960 INFO    ] 200
[2026-08-29 11:39:06,961.961 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:39:06,990.990 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:39:06,992.992 INFO    ] No update needed
[2026-08-29 11:39:06,993.993 INFO    ] Checking for camera pi updates...
[2026-08-29 11:39:07,014.014 INFO    ] 200
[2026-08-29 11:39:07,015.015 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:39:07,038.038 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:39:07,123.123 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:39:07,126.126 INFO    ] No camera update needed
[2026-08-29 11:39:07,128.128 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:39:07,130.130 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:39:07,136.136 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:39:07,141.141 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:39:09,184.184 INFO    ] ================================================
[2026-08-29 11:39:09,200.200 INFO    ] Launching Daemon at Sat Aug 29 11:39:09 IST 2026
[2026-08-29 11:39:09,211.211 INFO    ] ================================================
[2026-08-29 11:39:09,779.779 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:39:09
[2026-08-29 11:39:10,299.299 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:39:10,529.529 INFO    ] Initializing speech engine...
[2026-08-29 11:39:10,537.537 INFO    ] 2026-08-29 11:39:10
[2026-08-29 11:39:10,810.810 INFO    ] 2026-08-29 11:39:10
[2026-08-29 11:39:10,861.861 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:39:11,085.085 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:39:11,094.094 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:39:11,230.230 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:39:11,286.286 INFO    ] time= 29/08/2026 11:39:11
[2026-08-29 11:39:11,356.356 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:39:11,366.366 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:39:11,506.506 INFO    ] No existing commands found in stream
[2026-08-29 11:39:16,524.524 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:39:16,527.527 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 11:39:18,094.094 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:39:18,096.096 INFO    ] Checking for system updates...
[2026-08-29 11:39:18,116.116 INFO    ] 200
[2026-08-29 11:39:18,118.118 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:39:18,149.149 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:39:18,150.150 INFO    ] No update needed
[2026-08-29 11:39:18,152.152 INFO    ] Checking for camera pi updates...
[2026-08-29 11:39:18,172.172 INFO    ] 200
[2026-08-29 11:39:18,174.174 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:39:18,199.199 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:39:18,293.293 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:39:18,294.294 INFO    ] No camera update needed
[2026-08-29 11:39:18,295.295 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:39:18,297.297 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:39:18,300.300 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:39:18,303.303 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:39:20,342.342 INFO    ] ================================================
[2026-08-29 11:39:20,357.357 INFO    ] Launching Daemon at Sat Aug 29 11:39:20 IST 2026
[2026-08-29 11:39:20,368.368 INFO    ] ================================================
[2026-08-29 11:39:20,718.718 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:39:20
[2026-08-29 11:39:21,033.033 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:39:21,166.166 INFO    ] Initializing speech engine...
[2026-08-29 11:39:21,169.169 INFO    ] 2026-08-29 11:39:21
[2026-08-29 11:39:21,379.379 INFO    ] 2026-08-29 11:39:21
[2026-08-29 11:39:21,417.417 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:39:21,613.613 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:39:21,620.620 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:39:21,730.730 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:39:21,735.735 INFO    ] time= 29/08/2026 11:39:21
[2026-08-29 11:39:21,739.739 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:39:21,762.762 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:39:21,888.888 INFO    ] No existing commands found in stream
[2026-08-29 11:39:26,898.898 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:39:26,900.900 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-08-29 11:39:27,737.737 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:39:27,738.738 INFO    ] Checking for system updates...
[2026-08-29 11:39:27,759.759 INFO    ] 200
[2026-08-29 11:39:27,760.760 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:39:27,792.792 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:39:27,794.794 INFO    ] No update needed
[2026-08-29 11:39:27,795.795 INFO    ] Checking for camera pi updates...
[2026-08-29 11:39:27,814.814 INFO    ] 200
[2026-08-29 11:39:27,815.815 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:39:27,839.839 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:39:27,998.998 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:39:28,000.000 INFO    ] No camera update needed
[2026-08-29 11:39:28,001.001 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:39:28,002.002 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:39:28,005.005 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:39:28,008.008 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:39:30,046.046 INFO    ] ================================================
[2026-08-29 11:39:30,062.062 INFO    ] Launching Daemon at Sat Aug 29 11:39:30 IST 2026
[2026-08-29 11:39:30,074.074 INFO    ] ================================================
[2026-08-29 11:39:30,422.422 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:39:30
[2026-08-29 11:39:30,736.736 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:39:30,883.883 INFO    ] Initializing speech engine...
[2026-08-29 11:39:30,890.890 INFO    ] 2026-08-29 11:39:30
[2026-08-29 11:39:31,167.167 INFO    ] 2026-08-29 11:39:31
[2026-08-29 11:39:31,212.212 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:39:31,426.426 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:39:31,431.431 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:39:31,547.547 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:39:31,553.553 INFO    ] time= 29/08/2026 11:39:31
[2026-08-29 11:39:31,578.578 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:39:31,587.587 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:39:31,689.689 INFO    ] No existing commands found in stream
[2026-08-29 11:39:36,719.719 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:39:36,722.722 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-08-29 11:39:37,453.453 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:39:37,454.454 INFO    ] Checking for system updates...
[2026-08-29 11:39:37,476.476 INFO    ] 200
[2026-08-29 11:39:37,477.477 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:39:37,510.510 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:39:37,511.511 INFO    ] No update needed
[2026-08-29 11:39:37,513.513 INFO    ] Checking for camera pi updates...
[2026-08-29 11:39:37,534.534 INFO    ] 200
[2026-08-29 11:39:37,535.535 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:39:37,558.558 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:39:37,654.654 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:39:37,656.656 INFO    ] No camera update needed
[2026-08-29 11:39:37,657.657 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:39:37,659.659 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:39:37,662.662 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:39:37,665.665 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:39:39,705.705 INFO    ] ================================================
[2026-08-29 11:39:39,720.720 INFO    ] Launching Daemon at Sat Aug 29 11:39:39 IST 2026
[2026-08-29 11:39:39,731.731 INFO    ] ================================================
[2026-08-29 11:39:40,091.091 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:39:40
[2026-08-29 11:39:40,405.405 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:39:40,634.634 INFO    ] Initializing speech engine...
[2026-08-29 11:39:40,648.648 INFO    ] 2026-08-29 11:39:40
[2026-08-29 11:39:40,910.910 INFO    ] 2026-08-29 11:39:40
[2026-08-29 11:39:40,946.946 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:39:41,117.117 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:39:41,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:39:41,249.249 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:39:41,252.252 INFO    ] time= 29/08/2026 11:39:41
[2026-08-29 11:39:41,277.277 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:39:41,285.285 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:39:41,352.352 INFO    ] No existing commands found in stream
[2026-08-29 11:39:46,364.364 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:39:46,367.367 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-08-29 11:39:49,217.217 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:39:49,218.218 INFO    ] Checking for system updates...
[2026-08-29 11:39:49,239.239 INFO    ] 200
[2026-08-29 11:39:49,240.240 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:39:49,272.272 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:39:49,274.274 INFO    ] No update needed
[2026-08-29 11:39:49,275.275 INFO    ] Checking for camera pi updates...
[2026-08-29 11:39:49,294.294 INFO    ] 200
[2026-08-29 11:39:49,295.295 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:39:49,331.331 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:39:49,388.388 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:39:49,390.390 INFO    ] No camera update needed
[2026-08-29 11:39:49,393.393 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:39:49,395.395 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:39:49,400.400 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:39:49,405.405 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:39:51,448.448 INFO    ] ================================================
[2026-08-29 11:39:51,463.463 INFO    ] Launching Daemon at Sat Aug 29 11:39:51 IST 2026
[2026-08-29 11:39:51,474.474 INFO    ] ================================================
[2026-08-29 11:39:52,047.047 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:39:52
[2026-08-29 11:39:52,724.724 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:39:53,027.027 INFO    ] Initializing speech engine...
[2026-08-29 11:39:53,036.036 INFO    ] 2026-08-29 11:39:53
[2026-08-29 11:39:53,315.315 INFO    ] 2026-08-29 11:39:53
[2026-08-29 11:39:53,373.373 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:39:53,597.597 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:39:53,606.606 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:39:53,741.741 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:39:53,783.783 INFO    ] time= 29/08/2026 11:39:53
[2026-08-29 11:39:53,838.838 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:39:53,877.877 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:39:53,953.953 INFO    ] No existing commands found in stream
[2026-08-29 11:39:58,990.990 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:39:58,994.994 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-08-29 11:40:04,012.012 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:40:04,020.020 INFO    ] Checking for system updates...
[2026-08-29 11:40:04,062.062 INFO    ] 200
[2026-08-29 11:40:04,065.065 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:40:04,120.120 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:40:04,123.123 INFO    ] No update needed
[2026-08-29 11:40:04,126.126 INFO    ] Checking for camera pi updates...
[2026-08-29 11:40:04,160.160 INFO    ] 200
[2026-08-29 11:40:04,163.163 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:40:04,205.205 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:40:04,300.300 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:40:04,303.303 INFO    ] No camera update needed
[2026-08-29 11:40:04,305.305 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:40:04,308.308 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:40:04,314.314 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:40:04,320.320 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:40:06,361.361 INFO    ] ================================================
[2026-08-29 11:40:06,377.377 INFO    ] Launching Daemon at Sat Aug 29 11:40:06 IST 2026
[2026-08-29 11:40:06,388.388 INFO    ] ================================================
[2026-08-29 11:40:06,760.760 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:40:06
[2026-08-29 11:40:07,379.379 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:40:07,653.653 INFO    ] Initializing speech engine...
[2026-08-29 11:40:07,662.662 INFO    ] 2026-08-29 11:40:07
[2026-08-29 11:40:07,924.924 INFO    ] 2026-08-29 11:40:07
[2026-08-29 11:40:07,980.980 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:40:08,151.151 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:40:08,178.178 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:40:08,357.357 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:40:08,364.364 INFO    ] time= 29/08/2026 11:40:08
[2026-08-29 11:40:08,419.419 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:40:08,473.473 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:40:08,614.614 INFO    ] No existing commands found in stream
[2026-08-29 11:40:13,636.636 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:40:13,639.639 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-08-29 11:40:15,722.722 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:40:15,724.724 INFO    ] Checking for system updates...
[2026-08-29 11:40:15,745.745 INFO    ] 200
[2026-08-29 11:40:15,746.746 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:40:15,776.776 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:40:15,778.778 INFO    ] No update needed
[2026-08-29 11:40:15,779.779 INFO    ] Checking for camera pi updates...
[2026-08-29 11:40:15,799.799 INFO    ] 200
[2026-08-29 11:40:15,800.800 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:40:15,825.825 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:40:16,027.027 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:40:16,030.030 INFO    ] No camera update needed
[2026-08-29 11:40:16,033.033 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:40:16,035.035 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:40:16,042.042 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:40:16,047.047 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:40:18,091.091 INFO    ] ================================================
[2026-08-29 11:40:18,107.107 INFO    ] Launching Daemon at Sat Aug 29 11:40:18 IST 2026
[2026-08-29 11:40:18,118.118 INFO    ] ================================================
[2026-08-29 11:40:18,683.683 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:40:18
[2026-08-29 11:40:19,081.081 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:40:19,222.222 INFO    ] Initializing speech engine...
[2026-08-29 11:40:19,228.228 INFO    ] 2026-08-29 11:40:19
[2026-08-29 11:40:19,429.429 INFO    ] 2026-08-29 11:40:19
[2026-08-29 11:40:19,458.458 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:40:19,608.608 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:40:19,617.617 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:40:19,772.772 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:40:19,818.818 INFO    ] time= 29/08/2026 11:40:19
[2026-08-29 11:40:19,824.824 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:40:19,845.845 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:40:19,962.962 INFO    ] No existing commands found in stream
[2026-08-29 11:40:24,983.983 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:40:24,986.986 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-08-29 11:40:26,505.505 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:40:26,506.506 INFO    ] Checking for system updates...
[2026-08-29 11:40:26,527.527 INFO    ] 200
[2026-08-29 11:40:26,528.528 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:40:26,561.561 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:40:26,563.563 INFO    ] No update needed
[2026-08-29 11:40:26,564.564 INFO    ] Checking for camera pi updates...
[2026-08-29 11:40:26,585.585 INFO    ] 200
[2026-08-29 11:40:26,587.587 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:40:26,612.612 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:40:26,695.695 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:40:26,696.696 INFO    ] No camera update needed
[2026-08-29 11:40:26,697.697 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:40:26,699.699 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:40:26,702.702 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:40:26,705.705 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:40:28,746.746 INFO    ] ================================================
[2026-08-29 11:40:28,762.762 INFO    ] Launching Daemon at Sat Aug 29 11:40:28 IST 2026
[2026-08-29 11:40:28,772.772 INFO    ] ================================================
[2026-08-29 11:40:29,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:40:29
[2026-08-29 11:40:29,505.505 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:40:29,660.660 INFO    ] Initializing speech engine...
[2026-08-29 11:40:29,664.664 INFO    ] 2026-08-29 11:40:29
[2026-08-29 11:40:29,855.855 INFO    ] 2026-08-29 11:40:29
[2026-08-29 11:40:29,912.912 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:40:30,142.142 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:40:30,152.152 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:40:30,288.288 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:40:30,342.342 INFO    ] time= 29/08/2026 11:40:30
[2026-08-29 11:40:30,392.392 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:40:30,427.427 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:40:30,508.508 INFO    ] No existing commands found in stream
[2026-08-29 11:40:35,547.547 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:40:35,550.550 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-08-29 11:40:38,799.799 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:40:38,801.801 INFO    ] Checking for system updates...
[2026-08-29 11:40:38,822.822 INFO    ] 200
[2026-08-29 11:40:38,824.824 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:40:38,854.854 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:40:38,855.855 INFO    ] No update needed
[2026-08-29 11:40:38,856.856 INFO    ] Checking for camera pi updates...
[2026-08-29 11:40:38,876.876 INFO    ] 200
[2026-08-29 11:40:38,877.877 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:40:38,901.901 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:40:38,979.979 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:40:38,980.980 INFO    ] No camera update needed
[2026-08-29 11:40:38,982.982 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:40:38,983.983 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:40:38,986.986 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:40:38,990.990 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:40:41,028.028 INFO    ] ================================================
[2026-08-29 11:40:41,044.044 INFO    ] Launching Daemon at Sat Aug 29 11:40:41 IST 2026
[2026-08-29 11:40:41,056.056 INFO    ] ================================================
[2026-08-29 11:40:41,417.417 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:40:41
[2026-08-29 11:40:41,733.733 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:40:41,871.871 INFO    ] Initializing speech engine...
[2026-08-29 11:40:41,882.882 INFO    ] 2026-08-29 11:40:41
[2026-08-29 11:40:42,068.068 INFO    ] 2026-08-29 11:40:42
[2026-08-29 11:40:42,127.127 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:40:42,290.290 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:40:42,317.317 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:40:42,472.472 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:40:42,495.495 INFO    ] time= 29/08/2026 11:40:42
[2026-08-29 11:40:42,537.537 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:40:42,571.571 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:40:42,629.629 INFO    ] No existing commands found in stream
[2026-08-29 11:40:47,638.638 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:40:47,641.641 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 11:40:49,806.806 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:40:49,808.808 INFO    ] Checking for system updates...
[2026-08-29 11:40:49,828.828 INFO    ] 200
[2026-08-29 11:40:49,829.829 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:40:49,859.859 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:40:49,860.860 INFO    ] No update needed
[2026-08-29 11:40:49,862.862 INFO    ] Checking for camera pi updates...
[2026-08-29 11:40:49,881.881 INFO    ] 200
[2026-08-29 11:40:49,883.883 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:40:49,906.906 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:40:50,004.004 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:40:50,006.006 INFO    ] No camera update needed
[2026-08-29 11:40:50,009.009 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:40:50,011.011 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:40:50,017.017 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:40:50,021.021 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:40:52,065.065 INFO    ] ================================================
[2026-08-29 11:40:52,081.081 INFO    ] Launching Daemon at Sat Aug 29 11:40:52 IST 2026
[2026-08-29 11:40:52,093.093 INFO    ] ================================================
[2026-08-29 11:40:52,682.682 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:40:52
[2026-08-29 11:40:53,193.193 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:40:53,434.434 INFO    ] Initializing speech engine...
[2026-08-29 11:40:53,443.443 INFO    ] 2026-08-29 11:40:53
[2026-08-29 11:40:53,722.722 INFO    ] 2026-08-29 11:40:53
[2026-08-29 11:40:53,779.779 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:40:54,004.004 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:40:54,022.022 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:40:54,162.162 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:40:54,205.205 INFO    ] time= 29/08/2026 11:40:54
[2026-08-29 11:40:54,271.271 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:40:54,303.303 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:40:54,361.361 INFO    ] No existing commands found in stream
[2026-08-29 11:40:59,374.374 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:40:59,377.377 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-08-29 11:41:00,332.332 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:41:00,334.334 INFO    ] Checking for system updates...
[2026-08-29 11:41:00,356.356 INFO    ] 200
[2026-08-29 11:41:00,357.357 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:41:00,387.387 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:41:00,388.388 INFO    ] No update needed
[2026-08-29 11:41:00,390.390 INFO    ] Checking for camera pi updates...
[2026-08-29 11:41:00,409.409 INFO    ] 200
[2026-08-29 11:41:00,411.411 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:41:00,434.434 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:41:00,523.523 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:41:00,525.525 INFO    ] No camera update needed
[2026-08-29 11:41:00,527.527 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:41:00,529.529 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:41:00,535.535 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:41:00,540.540 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:41:02,584.584 INFO    ] ================================================
[2026-08-29 11:41:02,606.606 INFO    ] Launching Daemon at Sat Aug 29 11:41:02 IST 2026
[2026-08-29 11:41:02,623.623 INFO    ] ================================================
[2026-08-29 11:41:03,220.220 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:41:03
[2026-08-29 11:41:03,695.695 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:41:03,838.838 INFO    ] Initializing speech engine...
[2026-08-29 11:41:03,843.843 INFO    ] 2026-08-29 11:41:03
[2026-08-29 11:41:04,046.046 INFO    ] 2026-08-29 11:41:04
[2026-08-29 11:41:04,074.074 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:41:04,217.217 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:41:04,260.260 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:41:04,420.420 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:41:04,460.460 INFO    ] time= 29/08/2026 11:41:04
[2026-08-29 11:41:04,519.519 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:41:04,573.573 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:41:04,629.629 INFO    ] No existing commands found in stream
[2026-08-29 11:41:09,639.639 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:41:09,642.642 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-08-29 11:41:10,274.274 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:41:10,276.276 INFO    ] Checking for system updates...
[2026-08-29 11:41:10,296.296 INFO    ] 200
[2026-08-29 11:41:10,297.297 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:41:10,327.327 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:41:10,328.328 INFO    ] No update needed
[2026-08-29 11:41:10,329.329 INFO    ] Checking for camera pi updates...
[2026-08-29 11:41:10,348.348 INFO    ] 200
[2026-08-29 11:41:10,350.350 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:41:10,373.373 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:41:10,462.462 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:41:10,464.464 INFO    ] No camera update needed
[2026-08-29 11:41:10,465.465 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:41:10,466.466 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:41:10,469.469 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:41:10,472.472 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:41:12,510.510 INFO    ] ================================================
[2026-08-29 11:41:12,525.525 INFO    ] Launching Daemon at Sat Aug 29 11:41:12 IST 2026
[2026-08-29 11:41:12,536.536 INFO    ] ================================================
[2026-08-29 11:41:13,032.032 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:41:13
[2026-08-29 11:41:13,636.636 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:41:13,915.915 INFO    ] Initializing speech engine...
[2026-08-29 11:41:13,920.920 INFO    ] 2026-08-29 11:41:13
[2026-08-29 11:41:14,168.168 INFO    ] 2026-08-29 11:41:14
[2026-08-29 11:41:14,204.204 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:41:14,396.396 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:41:14,446.446 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:41:14,596.596 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:41:14,613.613 INFO    ] time= 29/08/2026 11:41:14
[2026-08-29 11:41:14,667.667 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:41:14,721.721 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:41:14,789.789 INFO    ] No existing commands found in stream
[2026-08-29 11:41:19,819.819 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:41:19,822.822 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-08-29 11:41:22,139.139 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:41:22,140.140 INFO    ] Checking for system updates...
[2026-08-29 11:41:22,161.161 INFO    ] 200
[2026-08-29 11:41:22,162.162 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:41:22,192.192 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:41:22,193.193 INFO    ] No update needed
[2026-08-29 11:41:22,195.195 INFO    ] Checking for camera pi updates...
[2026-08-29 11:41:22,214.214 INFO    ] 200
[2026-08-29 11:41:22,215.215 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:41:22,242.242 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:41:22,342.342 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:41:22,344.344 INFO    ] No camera update needed
[2026-08-29 11:41:22,345.345 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:41:22,346.346 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:41:22,349.349 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:41:22,352.352 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:41:24,391.391 INFO    ] ================================================
[2026-08-29 11:41:24,407.407 INFO    ] Launching Daemon at Sat Aug 29 11:41:24 IST 2026
[2026-08-29 11:41:24,418.418 INFO    ] ================================================
[2026-08-29 11:41:24,972.972 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:41:24
[2026-08-29 11:41:25,573.573 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:41:25,851.851 INFO    ] Initializing speech engine...
[2026-08-29 11:41:25,857.857 INFO    ] 2026-08-29 11:41:25
[2026-08-29 11:41:26,119.119 INFO    ] 2026-08-29 11:41:26
[2026-08-29 11:41:26,174.174 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:41:26,397.397 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:41:26,406.406 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:41:26,537.537 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:41:26,580.580 INFO    ] time= 29/08/2026 11:41:26
[2026-08-29 11:41:26,639.639 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:41:26,671.671 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:41:26,734.734 INFO    ] No existing commands found in stream
[2026-08-29 11:41:31,764.764 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:41:31,767.767 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-08-29 11:41:35,872.872 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:41:35,874.874 INFO    ] Checking for system updates...
[2026-08-29 11:41:35,895.895 INFO    ] 200
[2026-08-29 11:41:35,897.897 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:41:35,927.927 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:41:35,929.929 INFO    ] No update needed
[2026-08-29 11:41:35,930.930 INFO    ] Checking for camera pi updates...
[2026-08-29 11:41:35,952.952 INFO    ] 200
[2026-08-29 11:41:35,953.953 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:41:35,980.980 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:41:36,055.055 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:41:36,057.057 INFO    ] No camera update needed
[2026-08-29 11:41:36,058.058 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:41:36,059.059 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:41:36,062.062 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:41:36,065.065 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:41:38,105.105 INFO    ] ================================================
[2026-08-29 11:41:38,120.120 INFO    ] Launching Daemon at Sat Aug 29 11:41:38 IST 2026
[2026-08-29 11:41:38,131.131 INFO    ] ================================================
[2026-08-29 11:41:38,499.499 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:41:38
[2026-08-29 11:41:38,817.817 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:41:38,953.953 INFO    ] Initializing speech engine...
[2026-08-29 11:41:38,956.956 INFO    ] 2026-08-29 11:41:38
[2026-08-29 11:41:39,185.185 INFO    ] 2026-08-29 11:41:39
[2026-08-29 11:41:39,216.216 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:41:39,348.348 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:41:39,386.386 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:41:39,556.556 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:41:39,614.614 INFO    ] time= 29/08/2026 11:41:39
[2026-08-29 11:41:39,658.658 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:41:39,665.665 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:41:39,742.742 INFO    ] No existing commands found in stream
[2026-08-29 11:41:44,751.751 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:41:44,754.754 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-08-29 11:41:48,229.229 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:41:48,231.231 INFO    ] Checking for system updates...
[2026-08-29 11:41:48,253.253 INFO    ] 200
[2026-08-29 11:41:48,254.254 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:41:48,287.287 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:41:48,288.288 INFO    ] No update needed
[2026-08-29 11:41:48,290.290 INFO    ] Checking for camera pi updates...
[2026-08-29 11:41:48,309.309 INFO    ] 200
[2026-08-29 11:41:48,310.310 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:41:48,334.334 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:41:48,415.415 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:41:48,417.417 INFO    ] No camera update needed
[2026-08-29 11:41:48,418.418 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:41:48,419.419 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:41:48,423.423 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:41:48,426.426 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:41:50,464.464 INFO    ] ================================================
[2026-08-29 11:41:50,479.479 INFO    ] Launching Daemon at Sat Aug 29 11:41:50 IST 2026
[2026-08-29 11:41:50,490.490 INFO    ] ================================================
[2026-08-29 11:41:50,840.840 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:41:50
[2026-08-29 11:41:51,165.165 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:41:51,438.438 INFO    ] Initializing speech engine...
[2026-08-29 11:41:51,449.449 INFO    ] 2026-08-29 11:41:51
[2026-08-29 11:41:51,711.711 INFO    ] 2026-08-29 11:41:51
[2026-08-29 11:41:51,765.765 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:41:51,929.929 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:41:51,957.957 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:41:52,128.128 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:41:52,155.155 INFO    ] time= 29/08/2026 11:41:52
[2026-08-29 11:41:52,214.214 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:41:52,261.261 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:41:52,315.315 INFO    ] No existing commands found in stream
[2026-08-29 11:41:57,327.327 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:41:57,329.329 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-08-29 11:42:00,400.400 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:42:00,401.401 INFO    ] Checking for system updates...
[2026-08-29 11:42:00,422.422 INFO    ] 200
[2026-08-29 11:42:00,423.423 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:42:00,453.453 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:42:00,454.454 INFO    ] No update needed
[2026-08-29 11:42:00,456.456 INFO    ] Checking for camera pi updates...
[2026-08-29 11:42:00,475.475 INFO    ] 200
[2026-08-29 11:42:00,476.476 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:42:00,499.499 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:42:00,613.613 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:42:00,614.614 INFO    ] No camera update needed
[2026-08-29 11:42:00,616.616 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:42:00,617.617 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:42:00,620.620 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:42:00,622.622 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:42:02,665.665 INFO    ] ================================================
[2026-08-29 11:42:02,683.683 INFO    ] Launching Daemon at Sat Aug 29 11:42:02 IST 2026
[2026-08-29 11:42:02,699.699 INFO    ] ================================================
[2026-08-29 11:42:03,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:42:03
[2026-08-29 11:42:03,984.984 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:42:04,254.254 INFO    ] Initializing speech engine...
[2026-08-29 11:42:04,264.264 INFO    ] 2026-08-29 11:42:04
[2026-08-29 11:42:04,514.514 INFO    ] 2026-08-29 11:42:04
[2026-08-29 11:42:04,549.549 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:42:04,726.726 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:42:04,738.738 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:42:04,852.852 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:42:04,871.871 INFO    ] time= 29/08/2026 11:42:04
[2026-08-29 11:42:04,891.891 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:42:04,899.899 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:42:04,971.971 INFO    ] No existing commands found in stream
[2026-08-29 11:42:09,986.986 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:42:09,989.989 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-08-29 11:42:10,550.550 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:42:10,551.551 INFO    ] Checking for system updates...
[2026-08-29 11:42:10,572.572 INFO    ] 200
[2026-08-29 11:42:10,573.573 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:42:10,604.604 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:42:10,605.605 INFO    ] No update needed
[2026-08-29 11:42:10,606.606 INFO    ] Checking for camera pi updates...
[2026-08-29 11:42:10,626.626 INFO    ] 200
[2026-08-29 11:42:10,628.628 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:42:10,650.650 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:42:10,729.729 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:42:10,731.731 INFO    ] No camera update needed
[2026-08-29 11:42:10,732.732 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:42:10,733.733 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:42:10,736.736 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:42:10,739.739 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:42:12,781.781 INFO    ] ================================================
[2026-08-29 11:42:12,796.796 INFO    ] Launching Daemon at Sat Aug 29 11:42:12 IST 2026
[2026-08-29 11:42:12,807.807 INFO    ] ================================================
[2026-08-29 11:42:13,331.331 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:42:13
[2026-08-29 11:42:13,934.934 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:42:14,210.210 INFO    ] Initializing speech engine...
[2026-08-29 11:42:14,219.219 INFO    ] 2026-08-29 11:42:14
[2026-08-29 11:42:14,473.473 INFO    ] 2026-08-29 11:42:14
[2026-08-29 11:42:14,508.508 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:42:14,684.684 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:42:14,697.697 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:42:14,836.836 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:42:14,850.850 INFO    ] time= 29/08/2026 11:42:14
[2026-08-29 11:42:14,857.857 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:42:14,877.877 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:42:15,002.002 INFO    ] No existing commands found in stream
[2026-08-29 11:42:20,032.032 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:42:20,035.035 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 11:42:21,957.957 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:42:21,958.958 INFO    ] Checking for system updates...
[2026-08-29 11:42:21,979.979 INFO    ] 200
[2026-08-29 11:42:21,980.980 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:42:22,010.010 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:42:22,011.011 INFO    ] No update needed
[2026-08-29 11:42:22,012.012 INFO    ] Checking for camera pi updates...
[2026-08-29 11:42:22,034.034 INFO    ] 200
[2026-08-29 11:42:22,035.035 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:42:22,058.058 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:42:22,264.264 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:42:22,266.266 INFO    ] No camera update needed
[2026-08-29 11:42:22,267.267 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:42:22,268.268 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:42:22,271.271 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:42:22,274.274 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:42:24,312.312 INFO    ] ================================================
[2026-08-29 11:42:24,328.328 INFO    ] Launching Daemon at Sat Aug 29 11:42:24 IST 2026
[2026-08-29 11:42:24,339.339 INFO    ] ================================================
[2026-08-29 11:42:24,940.940 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:42:24
[2026-08-29 11:42:25,612.612 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:42:25,770.770 INFO    ] Initializing speech engine...
[2026-08-29 11:42:25,779.779 INFO    ] 2026-08-29 11:42:25
[2026-08-29 11:42:26,016.016 INFO    ] 2026-08-29 11:42:25
[2026-08-29 11:42:26,073.073 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:42:26,235.235 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:42:26,243.243 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:42:26,395.395 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:42:26,441.441 INFO    ] time= 29/08/2026 11:42:26
[2026-08-29 11:42:26,447.447 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:42:26,468.468 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:42:26,583.583 INFO    ] No existing commands found in stream
[2026-08-29 11:42:31,609.609 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:42:31,612.612 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-08-29 11:42:35,901.901 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:42:35,904.904 INFO    ] Checking for system updates...
[2026-08-29 11:42:35,940.940 INFO    ] 200
[2026-08-29 11:42:35,942.942 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:42:35,995.995 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:42:35,997.997 INFO    ] No update needed
[2026-08-29 11:42:35,999.999 INFO    ] Checking for camera pi updates...
[2026-08-29 11:42:36,033.033 INFO    ] 200
[2026-08-29 11:42:36,038.038 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:42:36,063.063 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:42:36,146.146 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:42:36,148.148 INFO    ] No camera update needed
[2026-08-29 11:42:36,149.149 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:42:36,150.150 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:42:36,153.153 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:42:36,156.156 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:42:38,194.194 INFO    ] ================================================
[2026-08-29 11:42:38,209.209 INFO    ] Launching Daemon at Sat Aug 29 11:42:38 IST 2026
[2026-08-29 11:42:38,220.220 INFO    ] ================================================
[2026-08-29 11:42:38,592.592 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:42:38
[2026-08-29 11:42:38,929.929 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:42:39,081.081 INFO    ] Initializing speech engine...
[2026-08-29 11:42:39,086.086 INFO    ] 2026-08-29 11:42:39
[2026-08-29 11:42:39,297.297 INFO    ] 2026-08-29 11:42:39
[2026-08-29 11:42:39,326.326 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:42:39,450.450 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:42:39,514.514 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:42:39,665.665 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:42:39,722.722 INFO    ] time= 29/08/2026 11:42:39
[2026-08-29 11:42:39,747.747 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:42:39,753.753 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:42:39,820.820 INFO    ] No existing commands found in stream
[2026-08-29 11:42:44,831.831 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:42:44,834.834 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-08-29 11:42:46,148.148 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:42:46,149.149 INFO    ] Checking for system updates...
[2026-08-29 11:42:46,170.170 INFO    ] 200
[2026-08-29 11:42:46,171.171 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:42:46,205.205 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:42:46,206.206 INFO    ] No update needed
[2026-08-29 11:42:46,208.208 INFO    ] Checking for camera pi updates...
[2026-08-29 11:42:46,227.227 INFO    ] 200
[2026-08-29 11:42:46,229.229 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:42:46,254.254 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:42:46,355.355 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:42:46,356.356 INFO    ] No camera update needed
[2026-08-29 11:42:46,357.357 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:42:46,358.358 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:42:46,361.361 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:42:46,365.365 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:42:48,403.403 INFO    ] ================================================
[2026-08-29 11:42:48,419.419 INFO    ] Launching Daemon at Sat Aug 29 11:42:48 IST 2026
[2026-08-29 11:42:48,430.430 INFO    ] ================================================
[2026-08-29 11:42:48,776.776 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:42:48
[2026-08-29 11:42:49,094.094 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:42:49,228.228 INFO    ] Initializing speech engine...
[2026-08-29 11:42:49,233.233 INFO    ] 2026-08-29 11:42:49
[2026-08-29 11:42:49,429.429 INFO    ] 2026-08-29 11:42:49
[2026-08-29 11:42:49,466.466 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:42:49,661.661 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:42:49,676.676 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:42:49,819.819 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:42:49,841.841 INFO    ] time= 29/08/2026 11:42:49
[2026-08-29 11:42:49,850.850 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:42:49,857.857 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:42:49,929.929 INFO    ] No existing commands found in stream
[2026-08-29 11:42:54,948.948 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:42:54,951.951 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-08-29 11:42:55,648.648 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:42:55,650.650 INFO    ] Checking for system updates...
[2026-08-29 11:42:55,670.670 INFO    ] 200
[2026-08-29 11:42:55,671.671 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:42:55,701.701 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:42:55,703.703 INFO    ] No update needed
[2026-08-29 11:42:55,704.704 INFO    ] Checking for camera pi updates...
[2026-08-29 11:42:55,724.724 INFO    ] 200
[2026-08-29 11:42:55,725.725 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:42:55,752.752 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:42:55,828.828 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:42:55,829.829 INFO    ] No camera update needed
[2026-08-29 11:42:55,831.831 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:42:55,832.832 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:42:55,835.835 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:42:55,838.838 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:42:57,876.876 INFO    ] ================================================
[2026-08-29 11:42:57,892.892 INFO    ] Launching Daemon at Sat Aug 29 11:42:57 IST 2026
[2026-08-29 11:42:57,903.903 INFO    ] ================================================
[2026-08-29 11:42:58,402.402 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:42:58
[2026-08-29 11:42:59,006.006 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:42:59,281.281 INFO    ] Initializing speech engine...
[2026-08-29 11:42:59,290.290 INFO    ] 2026-08-29 11:42:59
[2026-08-29 11:42:59,552.552 INFO    ] 2026-08-29 11:42:59
[2026-08-29 11:42:59,608.608 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:42:59,828.828 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:42:59,837.837 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:42:59,970.970 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:43:00,023.023 INFO    ] time= 29/08/2026 11:42:59
[2026-08-29 11:43:00,072.072 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:43:00,104.104 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:43:00,159.159 INFO    ] No existing commands found in stream
[2026-08-29 11:43:05,172.172 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:43:05,174.174 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 11:43:05,716.716 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:43:05,717.717 INFO    ] Checking for system updates...
[2026-08-29 11:43:05,738.738 INFO    ] 200
[2026-08-29 11:43:05,740.740 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:43:05,770.770 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:43:05,771.771 INFO    ] No update needed
[2026-08-29 11:43:05,773.773 INFO    ] Checking for camera pi updates...
[2026-08-29 11:43:05,793.793 INFO    ] 200
[2026-08-29 11:43:05,794.794 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:43:05,820.820 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:43:05,924.924 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:43:05,925.925 INFO    ] No camera update needed
[2026-08-29 11:43:05,926.926 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:43:05,928.928 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:43:05,931.931 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:43:05,934.934 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:43:07,973.973 INFO    ] ================================================
[2026-08-29 11:43:07,988.988 INFO    ] Launching Daemon at Sat Aug 29 11:43:07 IST 2026
[2026-08-29 11:43:08,999.999 INFO    ] ================================================
[2026-08-29 11:43:08,349.349 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:43:08
[2026-08-29 11:43:08,659.659 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:43:08,793.793 INFO    ] Initializing speech engine...
[2026-08-29 11:43:08,806.806 INFO    ] 2026-08-29 11:43:08
[2026-08-29 11:43:09,021.021 INFO    ] 2026-08-29 11:43:08
[2026-08-29 11:43:09,051.051 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:43:09,184.184 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:43:09,245.245 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:43:09,383.383 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:43:09,424.424 INFO    ] time= 29/08/2026 11:43:09
[2026-08-29 11:43:09,467.467 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:43:09,489.489 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:43:09,563.563 INFO    ] No existing commands found in stream
[2026-08-29 11:43:14,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:43:14,577.577 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-08-29 11:43:18,267.267 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:43:18,268.268 INFO    ] Checking for system updates...
[2026-08-29 11:43:18,289.289 INFO    ] 200
[2026-08-29 11:43:18,291.291 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:43:18,321.321 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:43:18,322.322 INFO    ] No update needed
[2026-08-29 11:43:18,324.324 INFO    ] Checking for camera pi updates...
[2026-08-29 11:43:18,344.344 INFO    ] 200
[2026-08-29 11:43:18,345.345 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:43:18,369.369 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:43:18,458.458 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:43:18,459.459 INFO    ] No camera update needed
[2026-08-29 11:43:18,461.461 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:43:18,462.462 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:43:18,465.465 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:43:18,467.467 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:43:20,507.507 INFO    ] ================================================
[2026-08-29 11:43:20,523.523 INFO    ] Launching Daemon at Sat Aug 29 11:43:20 IST 2026
[2026-08-29 11:43:20,534.534 INFO    ] ================================================
[2026-08-29 11:43:20,923.923 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:43:20
[2026-08-29 11:43:21,252.252 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:43:21,404.404 INFO    ] Initializing speech engine...
[2026-08-29 11:43:21,410.410 INFO    ] 2026-08-29 11:43:21
[2026-08-29 11:43:21,616.616 INFO    ] 2026-08-29 11:43:21
[2026-08-29 11:43:21,646.646 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:43:21,756.756 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:43:21,757.757 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:43:21,857.857 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:43:21,858.858 INFO    ] time= 29/08/2026 11:43:21
[2026-08-29 11:43:21,860.860 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:43:21,861.861 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:43:21,934.934 INFO    ] No existing commands found in stream
[2026-08-29 11:43:26,965.965 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:43:26,967.967 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-08-29 11:43:29,693.693 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:43:29,695.695 INFO    ] Checking for system updates...
[2026-08-29 11:43:29,716.716 INFO    ] 200
[2026-08-29 11:43:29,718.718 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:43:29,751.751 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:43:29,752.752 INFO    ] No update needed
[2026-08-29 11:43:29,754.754 INFO    ] Checking for camera pi updates...
[2026-08-29 11:43:29,775.775 INFO    ] 200
[2026-08-29 11:43:29,777.777 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:43:29,800.800 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:43:29,878.878 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:43:29,879.879 INFO    ] No camera update needed
[2026-08-29 11:43:29,881.881 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:43:29,882.882 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:43:29,886.886 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:43:29,889.889 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:43:31,928.928 INFO    ] ================================================
[2026-08-29 11:43:31,950.950 INFO    ] Launching Daemon at Sat Aug 29 11:43:31 IST 2026
[2026-08-29 11:43:31,961.961 INFO    ] ================================================
[2026-08-29 11:43:32,520.520 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:43:32
[2026-08-29 11:43:33,157.157 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:43:33,437.437 INFO    ] Initializing speech engine...
[2026-08-29 11:43:33,453.453 INFO    ] 2026-08-29 11:43:33
[2026-08-29 11:43:33,707.707 INFO    ] 2026-08-29 11:43:33
[2026-08-29 11:43:33,743.743 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:43:33,917.917 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:43:33,930.930 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:43:34,071.071 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:43:34,079.079 INFO    ] time= 29/08/2026 11:43:34
[2026-08-29 11:43:34,083.083 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:43:34,089.089 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:43:34,156.156 INFO    ] No existing commands found in stream
[2026-08-29 11:43:39,192.192 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:43:39,195.195 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-08-29 11:43:43,528.528 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:43:43,530.530 INFO    ] Checking for system updates...
[2026-08-29 11:43:43,550.550 INFO    ] 200
[2026-08-29 11:43:43,552.552 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:43:43,584.584 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:43:43,586.586 INFO    ] No update needed
[2026-08-29 11:43:43,587.587 INFO    ] Checking for camera pi updates...
[2026-08-29 11:43:43,606.606 INFO    ] 200
[2026-08-29 11:43:43,607.607 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:43:43,633.633 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:43:43,736.736 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:43:43,737.737 INFO    ] No camera update needed
[2026-08-29 11:43:43,738.738 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:43:43,740.740 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:43:43,743.743 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:43:43,745.745 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:43:45,783.783 INFO    ] ================================================
[2026-08-29 11:43:45,798.798 INFO    ] Launching Daemon at Sat Aug 29 11:43:45 IST 2026
[2026-08-29 11:43:45,809.809 INFO    ] ================================================
[2026-08-29 11:43:46,177.177 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:43:46
[2026-08-29 11:43:46,511.511 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:43:46,663.663 INFO    ] Initializing speech engine...
[2026-08-29 11:43:46,668.668 INFO    ] 2026-08-29 11:43:46
[2026-08-29 11:43:46,886.886 INFO    ] 2026-08-29 11:43:46
[2026-08-29 11:43:46,943.943 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:43:47,098.098 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:43:47,104.104 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:43:47,242.242 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:43:47,312.312 INFO    ] time= 29/08/2026 11:43:47
[2026-08-29 11:43:47,368.368 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:43:47,380.380 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:43:47,437.437 INFO    ] No existing commands found in stream
[2026-08-29 11:43:52,450.450 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:43:52,453.453 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-08-29 11:43:54,908.908 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:43:54,910.910 INFO    ] Checking for system updates...
[2026-08-29 11:43:54,931.931 INFO    ] 200
[2026-08-29 11:43:54,932.932 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:43:54,965.965 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:43:54,966.966 INFO    ] No update needed
[2026-08-29 11:43:54,968.968 INFO    ] Checking for camera pi updates...
[2026-08-29 11:43:54,988.988 INFO    ] 200
[2026-08-29 11:43:54,989.989 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:43:55,013.013 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:43:55,088.088 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:43:55,090.090 INFO    ] No camera update needed
[2026-08-29 11:43:55,091.091 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:43:55,092.092 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:43:55,095.095 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:43:55,098.098 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:43:57,135.135 INFO    ] ================================================
[2026-08-29 11:43:57,150.150 INFO    ] Launching Daemon at Sat Aug 29 11:43:57 IST 2026
[2026-08-29 11:43:57,161.161 INFO    ] ================================================
[2026-08-29 11:43:57,652.652 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:43:57
[2026-08-29 11:43:58,253.253 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:43:58,558.558 INFO    ] Initializing speech engine...
[2026-08-29 11:43:58,569.569 INFO    ] 2026-08-29 11:43:58
[2026-08-29 11:43:58,876.876 INFO    ] 2026-08-29 11:43:58
[2026-08-29 11:43:58,959.959 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:43:59,080.080 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:43:59,126.126 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:43:59,270.270 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:43:59,335.335 INFO    ] time= 29/08/2026 11:43:59
[2026-08-29 11:43:59,390.390 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:43:59,406.406 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:43:59,461.461 INFO    ] No existing commands found in stream
[2026-08-29 11:44:04,473.473 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:44:04,476.476 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-08-29 11:44:07,778.778 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:44:07,779.779 INFO    ] Checking for system updates...
[2026-08-29 11:44:07,800.800 INFO    ] 200
[2026-08-29 11:44:07,801.801 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:44:07,832.832 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:44:07,833.833 INFO    ] No update needed
[2026-08-29 11:44:07,835.835 INFO    ] Checking for camera pi updates...
[2026-08-29 11:44:07,854.854 INFO    ] 200
[2026-08-29 11:44:07,855.855 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:44:07,878.878 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:44:07,956.956 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:44:07,958.958 INFO    ] No camera update needed
[2026-08-29 11:44:07,959.959 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:44:07,960.960 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:44:07,963.963 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:44:07,966.966 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:44:10,005.005 INFO    ] ================================================
[2026-08-29 11:44:10,020.020 INFO    ] Launching Daemon at Sat Aug 29 11:44:10 IST 2026
[2026-08-29 11:44:10,030.030 INFO    ] ================================================
[2026-08-29 11:44:10,401.401 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:44:10
[2026-08-29 11:44:10,713.713 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:44:10,855.855 INFO    ] Initializing speech engine...
[2026-08-29 11:44:10,860.860 INFO    ] 2026-08-29 11:44:10
[2026-08-29 11:44:11,067.067 INFO    ] 2026-08-29 11:44:11
[2026-08-29 11:44:11,095.095 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:44:11,219.219 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:44:11,282.282 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:44:11,438.438 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:44:11,492.492 INFO    ] time= 29/08/2026 11:44:11
[2026-08-29 11:44:11,514.514 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:44:11,521.521 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:44:11,586.586 INFO    ] No existing commands found in stream
[2026-08-29 11:44:16,597.597 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:44:16,600.600 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 11:44:22,454.454 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:44:22,455.455 INFO    ] Checking for system updates...
[2026-08-29 11:44:22,477.477 INFO    ] 200
[2026-08-29 11:44:22,478.478 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:44:22,508.508 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:44:22,510.510 INFO    ] No update needed
[2026-08-29 11:44:22,511.511 INFO    ] Checking for camera pi updates...
[2026-08-29 11:44:22,539.539 INFO    ] 200
[2026-08-29 11:44:22,541.541 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:44:22,585.585 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:44:22,675.675 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:44:22,678.678 INFO    ] No camera update needed
[2026-08-29 11:44:22,681.681 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:44:22,683.683 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:44:22,689.689 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:44:22,694.694 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:44:24,734.734 INFO    ] ================================================
[2026-08-29 11:44:24,750.750 INFO    ] Launching Daemon at Sat Aug 29 11:44:24 IST 2026
[2026-08-29 11:44:24,760.760 INFO    ] ================================================
[2026-08-29 11:44:25,337.337 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:44:25
[2026-08-29 11:44:25,799.799 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:44:25,931.931 INFO    ] Initializing speech engine...
[2026-08-29 11:44:25,936.936 INFO    ] 2026-08-29 11:44:25
[2026-08-29 11:44:26,161.161 INFO    ] 2026-08-29 11:44:26
[2026-08-29 11:44:26,191.191 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:44:26,317.317 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:44:26,325.325 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:44:26,443.443 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:44:26,454.454 INFO    ] time= 29/08/2026 11:44:26
[2026-08-29 11:44:26,459.459 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:44:26,474.474 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:44:26,561.561 INFO    ] No existing commands found in stream
[2026-08-29 11:44:31,590.590 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:44:31,593.593 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-08-29 11:44:34,103.103 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:44:34,106.106 INFO    ] Checking for system updates...
[2026-08-29 11:44:34,146.146 INFO    ] 200
[2026-08-29 11:44:34,149.149 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:44:34,207.207 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:44:34,209.209 INFO    ] No update needed
[2026-08-29 11:44:34,213.213 INFO    ] Checking for camera pi updates...
[2026-08-29 11:44:34,247.247 INFO    ] 200
[2026-08-29 11:44:34,249.249 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:44:34,294.294 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:44:34,378.378 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:44:34,380.380 INFO    ] No camera update needed
[2026-08-29 11:44:34,383.383 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:44:34,385.385 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:44:34,391.391 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:44:34,397.397 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:44:36,437.437 INFO    ] ================================================
[2026-08-29 11:44:36,453.453 INFO    ] Launching Daemon at Sat Aug 29 11:44:36 IST 2026
[2026-08-29 11:44:36,464.464 INFO    ] ================================================
[2026-08-29 11:44:36,806.806 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:44:36
[2026-08-29 11:44:37,124.124 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:44:37,268.268 INFO    ] Initializing speech engine...
[2026-08-29 11:44:37,273.273 INFO    ] 2026-08-29 11:44:37
[2026-08-29 11:44:37,477.477 INFO    ] 2026-08-29 11:44:37
[2026-08-29 11:44:37,505.505 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:44:37,628.628 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:44:37,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:44:37,821.821 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:44:37,882.882 INFO    ] time= 29/08/2026 11:44:37
[2026-08-29 11:44:37,918.918 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:44:37,920.920 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:44:37,991.991 INFO    ] No existing commands found in stream
[2026-08-29 11:44:43,001.001 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:44:43,004.004 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-08-29 11:44:45,106.106 INFO    ] {'reject_reason': None, 'total_quantity': '46', 'refill_id': '9690346', 'expected_return_qty': None, 'refill_tool_version': None, 'time_of_refill': None, 'edited_by': 'Barun', 'delivery_cluster': None, 'atcual_return_qty': None, 'refill_started': None, 'actual_return_json': None, 'response': {'status': True, 'msg': 'order updated', 'data': 'order updated'}, 'date_of_refill': '2026-08-29', 'refill_odoo_transaction': None, 'order_id': '9690346', 'detailed_trays_json': '{"15":{"picking_quantity":2,"refill_quantity":"2","refill_qty":"2"},"17":{"picking_quantity":8,"refill_quantity":"8","refill_qty":"8"},"25":{"picking_quantity":2,"refill_quantity":"2","refill_qty":"2"},"27":{"picking_quantity":15,"refill_quantity":"15","refill_qty":"15"},"28":{"picking_quantity":3,"refill_quantity":"3","refill_qty":"3"},"31":{"picking_quantity":2,"refill_quantity":"2","refill_qty":"2"},"41":{"picking_quantity":2,"refill_quantity":"2","refill_qty":"2"},"42":{"picking_quantity":2,"refill_quantity":"2","refill_qty":"2"},"43":{"picking_quantity":4,"refill_quantity":"4","refill_qty":"4"},"45":{"picking_quantity":6,"refill_quantity":"6","refill_qty":"6"}}', 'server_response': '', 'user_id': '', 'allocation_odoo_transaction': None, 'refilled_at': None, 'refilled_by': None, 'created_at': '2026-08-29 11:44:44', 'acceptance': None, 'command_request_data': '{"user":"server","action":"get_user_mobile_no","action_name":"Get User Mobile no","request_data":""}', 'total_picking_qty': None, 'imei': 'TM07201911', 'retrun_odoo_allocation': None, 'modified_at': '2026-08-29 11:44:44', 'compelete_refill': [{'check_enabled': True, 'sku_name': 'Max Protein Breakfast Cookie 10g Protein 55gm', 'quantity_in_db': '2', 'quantity_on_tray': '2', 'tray_id': '15', 'sku_id': '4500715'}, {'check_enabled': True, 'sku_name': 'Jus Amazin Salt N Pepper cashew 19g', 'quantity_in_db': '8', 'quantity_on_tray': '8', 'tray_id': '17', 'sku_id': '4500735'}, {'check_enabled': True, 'sku_name': 'Paper boat Aam Panna 150ml', 'quantity_in_db': '2', 'quantity_on_tray': '2', 'tray_id': '25', 'sku_id': '186078'}, {'check_enabled': True, 'sku_name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g', 'quantity_in_db': '15', 'quantity_on_tray': '15', 'tray_id': '27', 'sku_id': '185993'}, {'check_enabled': True, 'sku_name': 'Farmely Classic date Bites 20gm', 'quantity_in_db': '3', 'quantity_on_tray': '3', 'tray_id': '28', 'sku_id': '4500667'}, {'check_enabled': True, 'sku_name': 'MaxVita Indian Style Cream and onion Potato Chips 40gms', 'quantity_in_db': '2', 'quantity_on_tray': '2', 'tray_id': '31', 'sku_id': '4500713'}, {'check_enabled': True, 'sku_name': 'Aatral Natural Electrolytes 200ml', 'quantity_in_db': '2', 'quantity_on_tray': '2', 'tray_id': '41', 'sku_id': '4500694'}, {'check_enabled': True, 'sku_name': 'Heritage A1 Spiced Butter Milk180ml', 'quantity_in_db': '2', 'quantity_on_tray': '2', 'tray_id': '42', 'sku_id': '4500499'}, {'check_enabled': True, 'sku_name': 'Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE ', 'quantity_in_db': '4', 'quantity_on_tray': '4', 'tray_id': '43', 'sku_id': '4500717'}, {'check_enabled': True, 'sku_name': 'Nestle Nescafe Chilled Latte Coffee Milk ', 'quantity_in_db': '6', 'quantity_on_tray': '6', 'tray_id': '45', 'sku_id': '186001'}], 'type_of_order': 'refill', 'reallocation_odoo_transaction': None, 'transport_odoo_transaction': None, 'command_todo': 'interactive-refill', 'pickup_status': None, 'server_status': 'in-progress', 'tray_json': '[{"tray_id":"15","door_id":"1","tray_weight":"99999","sku_json":"4500715-2","org_sku":"4500715","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46"},{"tray_id":"17","door_id":"1","tray_weight":"99999","sku_json":"4500735-8","org_sku":"4500735","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46"},{"tray_id":"25","door_id":"2","tray_weight":"99999","sku_json":"186078-2","org_sku":"186078","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46"},{"tray_id":"27","door_id":"2","tray_weight":"99999","sku_json":"185993-15","org_sku":"185993","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46"},{"tray_id":"28","door_id":"2","tray_weight":"99999","sku_json":"4500667-3","org_sku":"4500667","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46"},{"tray_id":"31","door_id":"3","tray_weight":"99999","sku_json":"4500713-2","org_sku":"4500713","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46"},{"tray_id":"41","door_id":"4","tray_weight":"99999","sku_json":"4500694-2","org_sku":"4500694","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46"},{"tray_id":"42","door_id":"4","tray_weight":"99999","sku_json":"4500499-2","org_sku":"4500499","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46"},{"tray_id":"43","door_id":"4","tray_weight":"99999","sku_json":"4500717-4","org_sku":"4500717","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46"},{"tray_id":"45","door_id":"4","tray_weight":"99999","sku_json":"186001-6","org_sku":"186001","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46"}]', 'accept_reject_timestamp': None, 'last_command_response': None, 'return_odoo_transaction': None, 'last_modified_at': '2026-08-28 23:42:46', 'odoo_posting_status': None, 'slot': 'morning-1', 'reason_for_refill': None, 'all_command_response': None, 'cleaning_needed': None, 'expected_return_json': None, 'command_for': 'server', 'status': 'active', 'vm_id': '1861896391128712585', 'refill_group': None, 'vendor_id': ''}
[2026-08-29 11:44:45,107.107 INFO    ] processing refill code 9690346
[2026-08-29 11:44:45,129.129 INFO    ] 200
[2026-08-29 11:44:45,130.130 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:44:45,131.131 INFO    ] in-progress
[2026-08-29 11:44:45,133.133 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:44:45
[2026-08-29 11:44:45,192.192 INFO    ] 
inside get

[2026-08-29 11:44:45,193.193 INFO    ] 200
[2026-08-29 11:44:45,194.194 INFO    ] waiting for server
[2026-08-29 11:44:48,201.201 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:44:48
[2026-08-29 11:44:48,271.271 INFO    ] 
inside get

[2026-08-29 11:44:48,274.274 INFO    ] 200
[2026-08-29 11:44:48,276.276 INFO    ] waiting for server
[2026-08-29 11:44:51,280.280 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:44:51
[2026-08-29 11:44:51,347.347 INFO    ] 
inside get

[2026-08-29 11:44:51,349.349 INFO    ] 200
[2026-08-29 11:44:51,352.352 INFO    ] waiting for server
[2026-08-29 11:44:54,359.359 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:44:54
[2026-08-29 11:44:54,440.440 INFO    ] 
inside get

[2026-08-29 11:44:54,442.442 INFO    ] 200
[2026-08-29 11:44:54,445.445 INFO    ] waiting for server
[2026-08-29 11:44:57,452.452 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:44:57
[2026-08-29 11:44:57,515.515 INFO    ] 
inside get

[2026-08-29 11:44:57,517.517 INFO    ] 200
[2026-08-29 11:44:57,520.520 INFO    ] waiting for server
[2026-08-29 11:45:00,527.527 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:45:00
[2026-08-29 11:45:00,589.589 INFO    ] 
inside get

[2026-08-29 11:45:00,592.592 INFO    ] 200
[2026-08-29 11:45:00,594.594 INFO    ] processing machine command
[2026-08-29 11:45:00,597.597 INFO    ] {"user":"machine","action":"machine_mobile_otp_request","action_name":"Waiting for Machine to send OTP","request_data":{"user_id":9036356553,"txnType":"refill"}}
[2026-08-29 11:45:00,599.599 INFO    ] 9036356553
[2026-08-29 11:45:00,728.728 INFO    ] <__main__.ResponseWrapper object at 0x769d55d0>
[2026-08-29 11:45:01,361.361 INFO    ] {"otp": "1956", "refill_id": ["9690346"], "success": "true", "allowed": "1"}
[2026-08-29 11:45:01,363.363 INFO    ] {"otp": "1956", "refill_id": ["9690346"], "success": "true", "allowed": "1"}
[2026-08-29 11:45:01,432.432 INFO    ] 
inside post

[2026-08-29 11:45:01,436.436 INFO    ] 200
[2026-08-29 11:45:01,440.440 INFO    ] {"order_id":"9690346","vm_id":"1861896391128712585","user_id":"9036356553","status":"active","server_status":"in-progress","server_response":"","command_todo":"interactive-refill","last_command_response":"{\"success\":\"true\",\"refill_id\":\"9690346\",\"otp\":\"1956\",\"user_id\":9036356553,\"allowed\":\"1\",\"user\":\"machine\"}","all_command_response":"[{\"action\":\"get_user_mobile_no\",\"mobile_no\":\"9036356553\",\"command_for\":\"server\"},{\"success\":\"true\",\"refill_id\":\"9690346\",\"otp\":\"1956\",\"user_id\":9036356553,\"allowed\":\"1\",\"user\":\"machine\"}]","type_of_order":"refill","command_request_data":"{\"request_data\":{\"success\":\"true\",\"refill_id\":\"9690346\",\"otp\":\"1956\",\"user_id\":9036356553,\"allowed\":\"1\"},\"user\":\"server\",\"action_name\":\"Enter OTP\",\"action\":\"get_mobile_otp\"}","command_for":"server","created_at":"2026-08-29 11:44:44","modified_at":"2026-08-29 11:45:01"}
[2026-08-29 11:45:01,445.445 INFO    ] {'created_at': '2026-08-29 11:44:44', 'server_status': 'in-progress', 'command_request_data': '{"request_data":{"success":"true","refill_id":"9690346","otp":"1956","user_id":9036356553,"allowed":"1"},"user":"server","action_name":"Enter OTP","action":"get_mobile_otp"}', 'last_command_response': '{"success":"true","refill_id":"9690346","otp":"1956","user_id":9036356553,"allowed":"1","user":"machine"}', 'all_command_response': '[{"action":"get_user_mobile_no","mobile_no":"9036356553","command_for":"server"},{"success":"true","refill_id":"9690346","otp":"1956","user_id":9036356553,"allowed":"1","user":"machine"}]', 'command_for': 'server', 'type_of_order': 'refill', 'order_id': '9690346', 'server_response': '', 'status': 'active', 'user_id': '9036356553', 'modified_at': '2026-08-29 11:45:01', 'command_todo': 'interactive-refill', 'vm_id': '1861896391128712585'}
[2026-08-29 11:45:01,449.449 INFO    ] in main while loops
[2026-08-29 11:45:04,456.456 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:45:04
[2026-08-29 11:45:04,522.522 INFO    ] 
inside get

[2026-08-29 11:45:04,525.525 INFO    ] 200
[2026-08-29 11:45:04,527.527 INFO    ] waiting for server
[2026-08-29 11:45:07,534.534 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:45:07
[2026-08-29 11:45:07,595.595 INFO    ] 
inside get

[2026-08-29 11:45:07,597.597 INFO    ] 200
[2026-08-29 11:45:07,600.600 INFO    ] waiting for server
[2026-08-29 11:45:10,607.607 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:45:10
[2026-08-29 11:45:10,670.670 INFO    ] 
inside get

[2026-08-29 11:45:10,672.672 INFO    ] 200
[2026-08-29 11:45:10,675.675 INFO    ] waiting for server
[2026-08-29 11:45:13,682.682 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:45:13
[2026-08-29 11:45:13,748.748 INFO    ] 
inside get

[2026-08-29 11:45:13,751.751 INFO    ] 200
[2026-08-29 11:45:13,754.754 INFO    ] waiting for server
[2026-08-29 11:45:16,760.760 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:45:16
[2026-08-29 11:45:16,820.820 INFO    ] 
inside get

[2026-08-29 11:45:16,823.823 INFO    ] 200
[2026-08-29 11:45:16,826.826 INFO    ] processing machine command
[2026-08-29 11:45:16,828.828 INFO    ] {"user":"machine","action":"machine_auth_complete","action_name":"Waiting for Machine to Open Door","request_data":{"user_id":9036356553,"txnType":"refill"}}
[2026-08-29 11:45:16,831.831 INFO    ] 9036356553
[2026-08-29 11:45:17,059.059 INFO    ] 200
[2026-08-29 11:45:17,060.060 INFO    ] {"active_doors": ["1", "2", "3", "4"], "rstatus": true, "door_size": 4, "active_payment_gateways": "[{\"header\": \"QR Payments\", \"payments\": [{\"active\": 1, \"name\": \"PayTM\", \"label\": \"PayTM\"}, {\"active\": 1, \"name\": \"PhonePe\", \"label\": \"PhonePe\"}, {\"active\": 1, \"name\": \"GooglePay\", \"label\": \"Google Pay\"}, {\"active\": 1, \"name\": \"BHIM\", \"label\": \"BHIM UPI\"}]}, {\"header\": \"Card Payments\", \"payments\": [{\"active\": 1, \"name\": \"Sodexo\", \"label\": \"Sodexo Card\"}, {\"active\": 1, \"name\": \"Card\", \"label\": \"Credit/Debit Card\"}, {\"active\": 0, \"name\": \"Qwikcilver\", \"label\": \"QwikCilver\"}]}, {\"header\": \"Wallet Payments\", \"payments\": [{\"active\": 1, \"name\": \"LazyPay\", \"label\": \"LazyPay\"}, {\"active\": 0, \"name\": \"Ola\", \"label\": \"OLA Money\"}, {\"active\": 0, \"name\": \"Neuu\", \"label\": \"Tiny Wallet\"}]}]", "order_id": "TM07201911_refill_260829114517", "status": "True"}
[2026-08-29 11:45:17,062.062 INFO    ] TM07201911_refill_260829114517
[2026-08-29 11:45:17,063.063 INFO    ] {'reject_reason': None, 'total_quantity': '46', 'refill_id': '9690346', 'expected_return_qty': None, 'refill_tool_version': None, 'time_of_refill': None, 'edited_by': 'Barun', 'delivery_cluster': None, 'atcual_return_qty': None, 'refill_started': None, 'actual_return_json': None, 'response': {'status': True, 'msg': 'order updated', 'data': 'order updated'}, 'date_of_refill': '2026-08-29', 'refill_odoo_transaction': None, 'order_id': 'TM07201911_refill_260829114517', 'detailed_trays_json': '{"15":{"picking_quantity":2,"refill_quantity":"2","refill_qty":"2"},"17":{"picking_quantity":8,"refill_quantity":"8","refill_qty":"8"},"25":{"picking_quantity":2,"refill_quantity":"2","refill_qty":"2"},"27":{"picking_quantity":15,"refill_quantity":"15","refill_qty":"15"},"28":{"picking_quantity":3,"refill_quantity":"3","refill_qty":"3"},"31":{"picking_quantity":2,"refill_quantity":"2","refill_qty":"2"},"41":{"picking_quantity":2,"refill_quantity":"2","refill_qty":"2"},"42":{"picking_quantity":2,"refill_quantity":"2","refill_qty":"2"},"43":{"picking_quantity":4,"refill_quantity":"4","refill_qty":"4"},"45":{"picking_quantity":6,"refill_quantity":"6","refill_qty":"6"}}', 'server_response': '', 'user_id': '', 'allocation_odoo_transaction': None, 'refilled_at': None, 'refilled_by': None, 'created_at': '2026-08-29 11:44:44', 'acceptance': None, 'command_request_data': '{"user":"server","action":"get_user_mobile_no","action_name":"Get User Mobile no","request_data":""}', 'total_picking_qty': None, 'imei': 'TM07201911', 'retrun_odoo_allocation': None, 'modified_at': '2026-08-29 11:44:44', 'compelete_refill': [{'check_enabled': True, 'sku_name': 'Max Protein Breakfast Cookie 10g Protein 55gm', 'quantity_in_db': '2', 'quantity_on_tray': '2', 'tray_id': '15', 'sku_id': '4500715'}, {'check_enabled': True, 'sku_name': 'Jus Amazin Salt N Pepper cashew 19g', 'quantity_in_db': '8', 'quantity_on_tray': '8', 'tray_id': '17', 'sku_id': '4500735'}, {'check_enabled': True, 'sku_name': 'Paper boat Aam Panna 150ml', 'quantity_in_db': '2', 'quantity_on_tray': '2', 'tray_id': '25', 'sku_id': '186078'}, {'check_enabled': True, 'sku_name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g', 'quantity_in_db': '15', 'quantity_on_tray': '15', 'tray_id': '27', 'sku_id': '185993'}, {'check_enabled': True, 'sku_name': 'Farmely Classic date Bites 20gm', 'quantity_in_db': '3', 'quantity_on_tray': '3', 'tray_id': '28', 'sku_id': '4500667'}, {'check_enabled': True, 'sku_name': 'MaxVita Indian Style Cream and onion Potato Chips 40gms', 'quantity_in_db': '2', 'quantity_on_tray': '2', 'tray_id': '31', 'sku_id': '4500713'}, {'check_enabled': True, 'sku_name': 'Aatral Natural Electrolytes 200ml', 'quantity_in_db': '2', 'quantity_on_tray': '2', 'tray_id': '41', 'sku_id': '4500694'}, {'check_enabled': True, 'sku_name': 'Heritage A1 Spiced Butter Milk180ml', 'quantity_in_db': '2', 'quantity_on_tray': '2', 'tray_id': '42', 'sku_id': '4500499'}, {'check_enabled': True, 'sku_name': 'Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE ', 'quantity_in_db': '4', 'quantity_on_tray': '4', 'tray_id': '43', 'sku_id': '4500717'}, {'check_enabled': True, 'sku_name': 'Nestle Nescafe Chilled Latte Coffee Milk ', 'quantity_in_db': '6', 'quantity_on_tray': '6', 'tray_id': '45', 'sku_id': '186001'}], 'type_of_order': 'refill', 'reallocation_odoo_transaction': None, 'transport_odoo_transaction': None, 'command_todo': 'interactive-refill', 'pickup_status': None, 'server_status': 'in-progress', 'tray_json': '[{"tray_id":"15","door_id":"1","tray_weight":"99999","sku_json":"4500715-2","org_sku":"4500715","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46"},{"tray_id":"17","door_id":"1","tray_weight":"99999","sku_json":"4500735-8","org_sku":"4500735","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46"},{"tray_id":"25","door_id":"2","tray_weight":"99999","sku_json":"186078-2","org_sku":"186078","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46"},{"tray_id":"27","door_id":"2","tray_weight":"99999","sku_json":"185993-15","org_sku":"185993","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46"},{"tray_id":"28","door_id":"2","tray_weight":"99999","sku_json":"4500667-3","org_sku":"4500667","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46"},{"tray_id":"31","door_id":"3","tray_weight":"99999","sku_json":"4500713-2","org_sku":"4500713","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46"},{"tray_id":"41","door_id":"4","tray_weight":"99999","sku_json":"4500694-2","org_sku":"4500694","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46"},{"tray_id":"42","door_id":"4","tray_weight":"99999","sku_json":"4500499-2","org_sku":"4500499","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46"},{"tray_id":"43","door_id":"4","tray_weight":"99999","sku_json":"4500717-4","org_sku":"4500717","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46"},{"tray_id":"45","door_id":"4","tray_weight":"99999","sku_json":"186001-6","org_sku":"186001","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46"}]', 'accept_reject_timestamp': None, 'last_command_response': None, 'return_odoo_transaction': None, 'last_modified_at': '2026-08-28 23:42:46', 'odoo_posting_status': None, 'slot': 'morning-1', 'reason_for_refill': None, 'all_command_response': None, 'cleaning_needed': None, 'expected_return_json': None, 'command_for': 'server', 'status': 'active', 'vm_id': '1861896391128712585', 'refill_group': None, 'vendor_id': ''}
[2026-08-29 11:45:17,138.138 INFO    ] {"data": {}, "rstatus": true, "status": "True"}
[2026-08-29 11:45:17,141.141 INFO    ] {'status': 'True', 'data': {}, 'rstatus': True}
[2026-08-29 11:45:17,144.144 INFO    ] {'status': 'True', 'data': {}, 'rstatus': True}
[2026-08-29 11:45:17,231.231 INFO    ] 
inside post

[2026-08-29 11:45:17,234.234 INFO    ] 200
[2026-08-29 11:45:17,236.236 INFO    ] {"order_id":"9690346","vm_id":"1861896391128712585","user_id":"9036356553","status":"active","server_status":"in-progress","server_response":"","command_todo":"interactive-refill","last_command_response":"{\"active_payment_gateways\":\"[{\\\"header\\\": \\\"QR Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"PayTM\\\", \\\"label\\\": \\\"PayTM\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"PhonePe\\\", \\\"label\\\": \\\"PhonePe\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"GooglePay\\\", \\\"label\\\": \\\"Google Pay\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"BHIM\\\", \\\"label\\\": \\\"BHIM UPI\\\"}]}, {\\\"header\\\": \\\"Card Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"Sodexo\\\", \\\"label\\\": \\\"Sodexo Card\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"Card\\\", \\\"label\\\": \\\"Credit\\\/Debit Card\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Qwikcilver\\\", \\\"label\\\": \\\"QwikCilver\\\"}]}, {\\\"header\\\": \\\"Wallet Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"LazyPay\\\", \\\"label\\\": \\\"LazyPay\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Ola\\\", \\\"label\\\": \\\"OLA Money\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Neuu\\\", \\\"label\\\": \\\"Tiny Wallet\\\"}]}]\",\"order_id\":\"TM07201911_refill_260829114517\",\"refill_id\":\"9690346\",\"rstatus\":true,\"status\":\"True\",\"user_id\":9036356553,\"active_doors\":[\"1\",\"2\",\"3\",\"4\"],\"door_size\":4,\"refill_order_id\":\"TM07201911_refill_260829114517\",\"user\":\"machine\"}","all_command_response":"[{\"action\":\"get_user_mobile_no\",\"mobile_no\":\"9036356553\",\"command_for\":\"server\"},{\"success\":\"true\",\"refill_id\":\"9690346\",\"otp\":\"1956\",\"user_id\":9036356553,\"allowed\":\"1\",\"user\":\"machine\"},{\"action\":\"get_mobile_otp\",\"mobile_no\":\"9036356553\",\"otp\":\"1956\",\"command_for\":\"server\"},{\"active_payment_gateways\":\"[{\\\"header\\\": \\\"QR Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"PayTM\\\", \\\"label\\\": \\\"PayTM\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"PhonePe\\\", \\\"label\\\": \\\"PhonePe\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"GooglePay\\\", \\\"label\\\": \\\"Google Pay\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"BHIM\\\", \\\"label\\\": \\\"BHIM UPI\\\"}]}, {\\\"header\\\": \\\"Card Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"Sodexo\\\", \\\"label\\\": \\\"Sodexo Card\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"Card\\\", \\\"label\\\": \\\"Credit\\\/Debit Card\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Qwikcilver\\\", \\\"label\\\": \\\"QwikCilver\\\"}]}, {\\\"header\\\": \\\"Wallet Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"LazyPay\\\", \\\"label\\\": \\\"LazyPay\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Ola\\\", \\\"label\\\": \\\"OLA Money\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Neuu\\\", \\\"label\\\": \\\"Tiny Wallet\\\"}]}]\",\"order_id\":\"TM07201911_refill_260829114517\",\"refill_id\":\"9690346\",\"rstatus\":true,\"status\":\"True\",\"user_id\":9036356553,\"active_doors\":[\"1\",\"2\",\"3\",\"4\"],\"door_size\":4,\"refill_order_id\":\"TM07201911_refill_260829114517\",\"user\":\"machine\"}]","type_of_order":"refill","command_request_data":"{\"request_data\":{\"active_payment_gateways\":\"[{\\\"header\\\": \\\"QR Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"PayTM\\\", \\\"label\\\": \\\"PayTM\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"PhonePe\\\", \\\"label\\\": \\\"PhonePe\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"GooglePay\\\", \\\"label\\\": \\\"Google Pay\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"BHIM\\\", \\\"label\\\": \\\"BHIM UPI\\\"}]}, {\\\"header\\\": \\\"Card Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"Sodexo\\\", \\\"label\\\": \\\"Sodexo Card\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"Card\\\", \\\"label\\\": \\\"Credit\\\/Debit Card\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Qwikcilver\\\", \\\"label\\\": \\\"QwikCilver\\\"}]}, {\\\"header\\\": \\\"Wallet Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"LazyPay\\\", \\\"label\\\": \\\"LazyPay\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Ola\\\", \\\"label\\\": \\\"OLA Money\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Neuu\\\", \\\"label\\\": \\\"Tiny Wallet\\\"}]}]\",\"order_id\":\"TM07201911_refill_260829114517\",\"refill_id\":\"9690346\",\"rstatus\":true,\"status\":\"True\",\"user_id\":9036356553,\"active_doors\":[\"1\",\"2\",\"3\",\"4\"],\"door_size\":4,\"refill_order_id\":\"TM07201911_refill_260829114517\"},\"user\":\"server\",\"action_name\":\"Select Door to Open\",\"action\":\"open_door_process\",\"refill_order_id\":\"TM07201911_refill_260829114517\",\"active_doors\":[\"1\",\"2\",\"3\",\"4\"]}","command_for":"server","created_at":"2026-08-29 11:44:44","modified_at":"2026-08-29 11:45:17"}
[2026-08-29 11:45:17,240.240 INFO    ] {'created_at': '2026-08-29 11:44:44', 'server_status': 'in-progress', 'command_request_data': '{"request_data":{"active_payment_gateways":"[{\\"header\\": \\"QR Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"PayTM\\", \\"label\\": \\"PayTM\\"}, {\\"active\\": 1, \\"name\\": \\"PhonePe\\", \\"label\\": \\"PhonePe\\"}, {\\"active\\": 1, \\"name\\": \\"GooglePay\\", \\"label\\": \\"Google Pay\\"}, {\\"active\\": 1, \\"name\\": \\"BHIM\\", \\"label\\": \\"BHIM UPI\\"}]}, {\\"header\\": \\"Card Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"Sodexo\\", \\"label\\": \\"Sodexo Card\\"}, {\\"active\\": 1, \\"name\\": \\"Card\\", \\"label\\": \\"Credit\\/Debit Card\\"}, {\\"active\\": 0, \\"name\\": \\"Qwikcilver\\", \\"label\\": \\"QwikCilver\\"}]}, {\\"header\\": \\"Wallet Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"LazyPay\\", \\"label\\": \\"LazyPay\\"}, {\\"active\\": 0, \\"name\\": \\"Ola\\", \\"label\\": \\"OLA Money\\"}, {\\"active\\": 0, \\"name\\": \\"Neuu\\", \\"label\\": \\"Tiny Wallet\\"}]}]","order_id":"TM07201911_refill_260829114517","refill_id":"9690346","rstatus":true,"status":"True","user_id":9036356553,"active_doors":["1","2","3","4"],"door_size":4,"refill_order_id":"TM07201911_refill_260829114517"},"user":"server","action_name":"Select Door to Open","action":"open_door_process","refill_order_id":"TM07201911_refill_260829114517","active_doors":["1","2","3","4"]}', 'last_command_response': '{"active_payment_gateways":"[{\\"header\\": \\"QR Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"PayTM\\", \\"label\\": \\"PayTM\\"}, {\\"active\\": 1, \\"name\\": \\"PhonePe\\", \\"label\\": \\"PhonePe\\"}, {\\"active\\": 1, \\"name\\": \\"GooglePay\\", \\"label\\": \\"Google Pay\\"}, {\\"active\\": 1, \\"name\\": \\"BHIM\\", \\"label\\": \\"BHIM UPI\\"}]}, {\\"header\\": \\"Card Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"Sodexo\\", \\"label\\": \\"Sodexo Card\\"}, {\\"active\\": 1, \\"name\\": \\"Card\\", \\"label\\": \\"Credit\\/Debit Card\\"}, {\\"active\\": 0, \\"name\\": \\"Qwikcilver\\", \\"label\\": \\"QwikCilver\\"}]}, {\\"header\\": \\"Wallet Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"LazyPay\\", \\"label\\": \\"LazyPay\\"}, {\\"active\\": 0, \\"name\\": \\"Ola\\", \\"label\\": \\"OLA Money\\"}, {\\"active\\": 0, \\"name\\": \\"Neuu\\", \\"label\\": \\"Tiny Wallet\\"}]}]","order_id":"TM07201911_refill_260829114517","refill_id":"9690346","rstatus":true,"status":"True","user_id":9036356553,"active_doors":["1","2","3","4"],"door_size":4,"refill_order_id":"TM07201911_refill_260829114517","user":"machine"}', 'all_command_response': '[{"action":"get_user_mobile_no","mobile_no":"9036356553","command_for":"server"},{"success":"true","refill_id":"9690346","otp":"1956","user_id":9036356553,"allowed":"1","user":"machine"},{"action":"get_mobile_otp","mobile_no":"9036356553","otp":"1956","command_for":"server"},{"active_payment_gateways":"[{\\"header\\": \\"QR Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"PayTM\\", \\"label\\": \\"PayTM\\"}, {\\"active\\": 1, \\"name\\": \\"PhonePe\\", \\"label\\": \\"PhonePe\\"}, {\\"active\\": 1, \\"name\\": \\"GooglePay\\", \\"label\\": \\"Google Pay\\"}, {\\"active\\": 1, \\"name\\": \\"BHIM\\", \\"label\\": \\"BHIM UPI\\"}]}, {\\"header\\": \\"Card Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"Sodexo\\", \\"label\\": \\"Sodexo Card\\"}, {\\"active\\": 1, \\"name\\": \\"Card\\", \\"label\\": \\"Credit\\/Debit Card\\"}, {\\"active\\": 0, \\"name\\": \\"Qwikcilver\\", \\"label\\": \\"QwikCilver\\"}]}, {\\"header\\": \\"Wallet Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"LazyPay\\", \\"label\\": \\"LazyPay\\"}, {\\"active\\": 0, \\"name\\": \\"Ola\\", \\"label\\": \\"OLA Money\\"}, {\\"active\\": 0, \\"name\\": \\"Neuu\\", \\"label\\": \\"Tiny Wallet\\"}]}]","order_id":"TM07201911_refill_260829114517","refill_id":"9690346","rstatus":true,"status":"True","user_id":9036356553,"active_doors":["1","2","3","4"],"door_size":4,"refill_order_id":"TM07201911_refill_260829114517","user":"machine"}]', 'command_for': 'server', 'type_of_order': 'refill', 'order_id': '9690346', 'server_response': '', 'status': 'active', 'user_id': '9036356553', 'modified_at': '2026-08-29 11:45:17', 'command_todo': 'interactive-refill', 'vm_id': '1861896391128712585'}
[2026-08-29 11:45:17,243.243 INFO    ] in main while loops
[2026-08-29 11:45:20,250.250 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:45:20
[2026-08-29 11:45:20,316.316 INFO    ] 
inside get

[2026-08-29 11:45:20,319.319 INFO    ] 200
[2026-08-29 11:45:20,322.322 INFO    ] waiting for server
[2026-08-29 11:45:23,329.329 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:45:23
[2026-08-29 11:45:23,394.394 INFO    ] 
inside get

[2026-08-29 11:45:23,396.396 INFO    ] 200
[2026-08-29 11:45:23,399.399 INFO    ] processing machine command
[2026-08-29 11:45:23,402.402 INFO    ] {"request_data":{"order_id":"TM07201911_refill_260829114517","door_id":[1],"txnType":"refill","door_open_init":true},"user":"machine","action_name":"Waiting for Machine to Open Door","action":"open_door_process","refill_order_id":"TM07201911_refill_260829114517","active_doors":["1","2","3","4"],"sub-action":"open_door_call"}
[2026-08-29 11:45:23,404.404 INFO    ] ####### REFIL OPEN DOOR ######## 
[2026-08-29 11:45:23,407.407 INFO    ] {'order_id': 'TM07201911_refill_260829114517', 'door_id': [1], 'txnType': 'refill', 'door_open_init': True}
[2026-08-29 11:45:25,571.571 INFO    ] <__main__.ResponseWrapper object at 0x73d336f0>
[2026-08-29 11:45:29,647.647 INFO    ] <__main__.ResponseWrapper object at 0x73d33230>
[2026-08-29 11:45:33,840.840 INFO    ] <__main__.ResponseWrapper object at 0x73d10650>
[2026-08-29 11:45:37,893.893 INFO    ] <__main__.ResponseWrapper object at 0x73d33870>
[2026-08-29 11:45:41,958.958 INFO    ] <__main__.ResponseWrapper object at 0x73d1acb0>
[2026-08-29 11:45:45,960.960 INFO    ] <__main__.ResponseWrapper object at 0x769e4b90>
[2026-08-29 11:45:49,394.394 INFO    ] 
inside post

[2026-08-29 11:45:49,396.396 INFO    ] 200
[2026-08-29 11:45:49,399.399 INFO    ] {"order_id":"9690346","vm_id":"1861896391128712585","user_id":"9036356553","status":"active","server_status":"in-progress","server_response":"","command_todo":"interactive-refill","last_command_response":"{\"SectionStatus\":{\"Header\":\"Opening Door 1\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 1\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 1\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\",\"user\":\"machine\"}","all_command_response":"[{\"action\":\"get_user_mobile_no\",\"mobile_no\":\"9036356553\",\"command_for\":\"server\"},{\"success\":\"true\",\"refill_id\":\"9690346\",\"otp\":\"1956\",\"user_id\":9036356553,\"allowed\":\"1\",\"user\":\"machine\"},{\"action\":\"get_mobile_otp\",\"mobile_no\":\"9036356553\",\"otp\":\"1956\",\"command_for\":\"server\"},{\"active_payment_gateways\":\"[{\\\"header\\\": \\\"QR Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"PayTM\\\", \\\"label\\\": \\\"PayTM\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"PhonePe\\\", \\\"label\\\": \\\"PhonePe\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"GooglePay\\\", \\\"label\\\": \\\"Google Pay\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"BHIM\\\", \\\"label\\\": \\\"BHIM UPI\\\"}]}, {\\\"header\\\": \\\"Card Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"Sodexo\\\", \\\"label\\\": \\\"Sodexo Card\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"Card\\\", \\\"label\\\": \\\"Credit\\\/Debit Card\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Qwikcilver\\\", \\\"label\\\": \\\"QwikCilver\\\"}]}, {\\\"header\\\": \\\"Wallet Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"LazyPay\\\", \\\"label\\\": \\\"LazyPay\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Ola\\\", \\\"label\\\": \\\"OLA Money\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Neuu\\\", \\\"label\\\": \\\"Tiny Wallet\\\"}]}]\",\"order_id\":\"TM07201911_refill_260829114517\",\"refill_id\":\"9690346\",\"rstatus\":true,\"status\":\"True\",\"user_id\":9036356553,\"active_doors\":[\"1\",\"2\",\"3\",\"4\"],\"door_size\":4,\"refill_order_id\":\"TM07201911_refill_260829114517\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"1\",\"command_for\":\"server\"},{\"SectionStatus\":{\"Header\":\"Opening Door 1\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 1\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 1\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\",\"user\":\"machine\"}]","type_of_order":"refill","command_request_data":"{\"request_data\":[],\"action\":\"open_door_process\",\"sub-action\":\"open_door_process\",\"action_name\":\"Select Door to Open\",\"user\":\"machine\",\"refill_order_id\":\"TM07201911_refill_260829114517\",\"active_doors\":[\"1\",\"2\",\"3\",\"4\"],\"response_data\":{\"SectionStatus\":{\"Header\":\"Opening Door 1\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 1\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 1\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\"}}","command_for":"server","created_at":"2026-08-29 11:44:44","modified_at":"2026-08-29 11:45:49"}
[2026-08-29 11:45:49,403.403 INFO    ] {'created_at': '2026-08-29 11:44:44', 'server_status': 'in-progress', 'command_request_data': '{"request_data":[],"action":"open_door_process","sub-action":"open_door_process","action_name":"Select Door to Open","user":"machine","refill_order_id":"TM07201911_refill_260829114517","active_doors":["1","2","3","4"],"response_data":{"SectionStatus":{"Header":"Opening Door 1","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 1\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 1","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False"}}', 'last_command_response': '{"SectionStatus":{"Header":"Opening Door 1","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 1\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 1","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"}', 'all_command_response': '[{"action":"get_user_mobile_no","mobile_no":"9036356553","command_for":"server"},{"success":"true","refill_id":"9690346","otp":"1956","user_id":9036356553,"allowed":"1","user":"machine"},{"action":"get_mobile_otp","mobile_no":"9036356553","otp":"1956","command_for":"server"},{"active_payment_gateways":"[{\\"header\\": \\"QR Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"PayTM\\", \\"label\\": \\"PayTM\\"}, {\\"active\\": 1, \\"name\\": \\"PhonePe\\", \\"label\\": \\"PhonePe\\"}, {\\"active\\": 1, \\"name\\": \\"GooglePay\\", \\"label\\": \\"Google Pay\\"}, {\\"active\\": 1, \\"name\\": \\"BHIM\\", \\"label\\": \\"BHIM UPI\\"}]}, {\\"header\\": \\"Card Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"Sodexo\\", \\"label\\": \\"Sodexo Card\\"}, {\\"active\\": 1, \\"name\\": \\"Card\\", \\"label\\": \\"Credit\\/Debit Card\\"}, {\\"active\\": 0, \\"name\\": \\"Qwikcilver\\", \\"label\\": \\"QwikCilver\\"}]}, {\\"header\\": \\"Wallet Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"LazyPay\\", \\"label\\": \\"LazyPay\\"}, {\\"active\\": 0, \\"name\\": \\"Ola\\", \\"label\\": \\"OLA Money\\"}, {\\"active\\": 0, \\"name\\": \\"Neuu\\", \\"label\\": \\"Tiny Wallet\\"}]}]","order_id":"TM07201911_refill_260829114517","refill_id":"9690346","rstatus":true,"status":"True","user_id":9036356553,"active_doors":["1","2","3","4"],"door_size":4,"refill_order_id":"TM07201911_refill_260829114517","user":"machine"},{"action":"open_door_call","door_no":"1","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 1","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 1\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 1","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"}]', 'command_for': 'server', 'type_of_order': 'refill', 'order_id': '9690346', 'server_response': '', 'status': 'active', 'user_id': '9036356553', 'modified_at': '2026-08-29 11:45:49', 'command_todo': 'interactive-refill', 'vm_id': '1861896391128712585'}
[2026-08-29 11:45:49,406.406 INFO    ] {'created_at': '2026-08-29 11:44:44', 'server_status': 'in-progress', 'command_request_data': '{"request_data":[],"action":"open_door_process","sub-action":"open_door_process","action_name":"Select Door to Open","user":"machine","refill_order_id":"TM07201911_refill_260829114517","active_doors":["1","2","3","4"],"response_data":{"SectionStatus":{"Header":"Opening Door 1","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 1\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 1","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False"}}', 'last_command_response': '{"SectionStatus":{"Header":"Opening Door 1","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 1\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 1","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"}', 'all_command_response': '[{"action":"get_user_mobile_no","mobile_no":"9036356553","command_for":"server"},{"success":"true","refill_id":"9690346","otp":"1956","user_id":9036356553,"allowed":"1","user":"machine"},{"action":"get_mobile_otp","mobile_no":"9036356553","otp":"1956","command_for":"server"},{"active_payment_gateways":"[{\\"header\\": \\"QR Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"PayTM\\", \\"label\\": \\"PayTM\\"}, {\\"active\\": 1, \\"name\\": \\"PhonePe\\", \\"label\\": \\"PhonePe\\"}, {\\"active\\": 1, \\"name\\": \\"GooglePay\\", \\"label\\": \\"Google Pay\\"}, {\\"active\\": 1, \\"name\\": \\"BHIM\\", \\"label\\": \\"BHIM UPI\\"}]}, {\\"header\\": \\"Card Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"Sodexo\\", \\"label\\": \\"Sodexo Card\\"}, {\\"active\\": 1, \\"name\\": \\"Card\\", \\"label\\": \\"Credit\\/Debit Card\\"}, {\\"active\\": 0, \\"name\\": \\"Qwikcilver\\", \\"label\\": \\"QwikCilver\\"}]}, {\\"header\\": \\"Wallet Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"LazyPay\\", \\"label\\": \\"LazyPay\\"}, {\\"active\\": 0, \\"name\\": \\"Ola\\", \\"label\\": \\"OLA Money\\"}, {\\"active\\": 0, \\"name\\": \\"Neuu\\", \\"label\\": \\"Tiny Wallet\\"}]}]","order_id":"TM07201911_refill_260829114517","refill_id":"9690346","rstatus":true,"status":"True","user_id":9036356553,"active_doors":["1","2","3","4"],"door_size":4,"refill_order_id":"TM07201911_refill_260829114517","user":"machine"},{"action":"open_door_call","door_no":"1","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 1","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 1\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 1","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"}]', 'command_for': 'server', 'type_of_order': 'refill', 'order_id': '9690346', 'server_response': '', 'status': 'active', 'user_id': '9036356553', 'modified_at': '2026-08-29 11:45:49', 'command_todo': 'interactive-refill', 'vm_id': '1861896391128712585'}
[2026-08-29 11:45:49,408.408 INFO    ] in main while loops
[2026-08-29 11:45:52,415.415 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:45:52
[2026-08-29 11:45:52,481.481 INFO    ] 
inside get

[2026-08-29 11:45:52,484.484 INFO    ] 200
[2026-08-29 11:45:52,487.487 INFO    ] waiting for server
[2026-08-29 11:45:55,493.493 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:45:55
[2026-08-29 11:45:55,556.556 INFO    ] 
inside get

[2026-08-29 11:45:55,559.559 INFO    ] 200
[2026-08-29 11:45:55,562.562 INFO    ] waiting for server
[2026-08-29 11:45:58,568.568 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:45:58
[2026-08-29 11:45:58,627.627 INFO    ] 
inside get

[2026-08-29 11:45:58,628.628 INFO    ] 200
[2026-08-29 11:45:58,630.630 INFO    ] waiting for server
[2026-08-29 11:46:01,636.636 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:46:01
[2026-08-29 11:46:01,701.701 INFO    ] 
inside get

[2026-08-29 11:46:01,704.704 INFO    ] 200
[2026-08-29 11:46:01,709.709 INFO    ] processing machine command
[2026-08-29 11:46:01,717.717 INFO    ] {"request_data":{"order_id":"TM07201911_refill_260829114517","door_id":[2],"txnType":"refill","door_open_init":true},"action":"open_door_process","sub-action":"open_door_call","action_name":"Waiting for Machine to Open Door","user":"machine","refill_order_id":"TM07201911_refill_260829114517","active_doors":["1","2","3","4"],"response_data":{"SectionStatus":{"Header":"Opening Door 1","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 1\nIS \nOPEN \nNOW"},"rstatus":false,"voiceNote":"Opening Door 1","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False"}}
[2026-08-29 11:46:01,721.721 INFO    ] ####### REFIL OPEN DOOR ######## 
[2026-08-29 11:46:01,727.727 INFO    ] {'order_id': 'TM07201911_refill_260829114517', 'door_id': [2], 'txnType': 'refill', 'door_open_init': True}
[2026-08-29 11:46:03,951.951 INFO    ] <__main__.ResponseWrapper object at 0x73d335f0>
[2026-08-29 11:46:08,026.026 INFO    ] <__main__.ResponseWrapper object at 0x73d333d0>
[2026-08-29 11:46:11,963.963 INFO    ] <__main__.ResponseWrapper object at 0x73d10650>
[2026-08-29 11:46:16,075.075 INFO    ] <__main__.ResponseWrapper object at 0x73d33af0>
[2026-08-29 11:46:20,070.070 INFO    ] <__main__.ResponseWrapper object at 0x73d33310>
[2026-08-29 11:46:24,113.113 INFO    ] <__main__.ResponseWrapper object at 0x73d10650>
[2026-08-29 11:46:27,529.529 INFO    ] 
inside post

[2026-08-29 11:46:27,532.532 INFO    ] 200
[2026-08-29 11:46:27,535.535 INFO    ] {"order_id":"9690346","vm_id":"1861896391128712585","user_id":"9036356553","status":"active","server_status":"in-progress","server_response":"","command_todo":"interactive-refill","last_command_response":"{\"SectionStatus\":{\"Header\":\"Opening Door 2\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 2\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 2\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\",\"user\":\"machine\"}","all_command_response":"[{\"action\":\"get_user_mobile_no\",\"mobile_no\":\"9036356553\",\"command_for\":\"server\"},{\"success\":\"true\",\"refill_id\":\"9690346\",\"otp\":\"1956\",\"user_id\":9036356553,\"allowed\":\"1\",\"user\":\"machine\"},{\"action\":\"get_mobile_otp\",\"mobile_no\":\"9036356553\",\"otp\":\"1956\",\"command_for\":\"server\"},{\"active_payment_gateways\":\"[{\\\"header\\\": \\\"QR Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"PayTM\\\", \\\"label\\\": \\\"PayTM\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"PhonePe\\\", \\\"label\\\": \\\"PhonePe\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"GooglePay\\\", \\\"label\\\": \\\"Google Pay\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"BHIM\\\", \\\"label\\\": \\\"BHIM UPI\\\"}]}, {\\\"header\\\": \\\"Card Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"Sodexo\\\", \\\"label\\\": \\\"Sodexo Card\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"Card\\\", \\\"label\\\": \\\"Credit\\\/Debit Card\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Qwikcilver\\\", \\\"label\\\": \\\"QwikCilver\\\"}]}, {\\\"header\\\": \\\"Wallet Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"LazyPay\\\", \\\"label\\\": \\\"LazyPay\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Ola\\\", \\\"label\\\": \\\"OLA Money\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Neuu\\\", \\\"label\\\": \\\"Tiny Wallet\\\"}]}]\",\"order_id\":\"TM07201911_refill_260829114517\",\"refill_id\":\"9690346\",\"rstatus\":true,\"status\":\"True\",\"user_id\":9036356553,\"active_doors\":[\"1\",\"2\",\"3\",\"4\"],\"door_size\":4,\"refill_order_id\":\"TM07201911_refill_260829114517\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"1\",\"command_for\":\"server\"},{\"SectionStatus\":{\"Header\":\"Opening Door 1\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 1\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 1\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"2\",\"command_for\":\"server\"},{\"SectionStatus\":{\"Header\":\"Opening Door 2\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 2\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 2\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\",\"user\":\"machine\"}]","type_of_order":"refill","command_request_data":"{\"request_data\":[],\"action\":\"open_door_process\",\"sub-action\":\"open_door_process\",\"action_name\":\"Select Door to Open\",\"user\":\"machine\",\"refill_order_id\":\"TM07201911_refill_260829114517\",\"active_doors\":[\"1\",\"2\",\"3\",\"4\"],\"response_data\":{\"SectionStatus\":{\"Header\":\"Opening Door 2\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 2\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 2\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\"}}","command_for":"server","created_at":"2026-08-29 11:44:44","modified_at":"2026-08-29 11:46:27"}
[2026-08-29 11:46:27,539.539 INFO    ] {'created_at': '2026-08-29 11:44:44', 'server_status': 'in-progress', 'command_request_data': '{"request_data":[],"action":"open_door_process","sub-action":"open_door_process","action_name":"Select Door to Open","user":"machine","refill_order_id":"TM07201911_refill_260829114517","active_doors":["1","2","3","4"],"response_data":{"SectionStatus":{"Header":"Opening Door 2","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 2\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 2","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False"}}', 'last_command_response': '{"SectionStatus":{"Header":"Opening Door 2","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 2\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 2","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"}', 'all_command_response': '[{"action":"get_user_mobile_no","mobile_no":"9036356553","command_for":"server"},{"success":"true","refill_id":"9690346","otp":"1956","user_id":9036356553,"allowed":"1","user":"machine"},{"action":"get_mobile_otp","mobile_no":"9036356553","otp":"1956","command_for":"server"},{"active_payment_gateways":"[{\\"header\\": \\"QR Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"PayTM\\", \\"label\\": \\"PayTM\\"}, {\\"active\\": 1, \\"name\\": \\"PhonePe\\", \\"label\\": \\"PhonePe\\"}, {\\"active\\": 1, \\"name\\": \\"GooglePay\\", \\"label\\": \\"Google Pay\\"}, {\\"active\\": 1, \\"name\\": \\"BHIM\\", \\"label\\": \\"BHIM UPI\\"}]}, {\\"header\\": \\"Card Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"Sodexo\\", \\"label\\": \\"Sodexo Card\\"}, {\\"active\\": 1, \\"name\\": \\"Card\\", \\"label\\": \\"Credit\\/Debit Card\\"}, {\\"active\\": 0, \\"name\\": \\"Qwikcilver\\", \\"label\\": \\"QwikCilver\\"}]}, {\\"header\\": \\"Wallet Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"LazyPay\\", \\"label\\": \\"LazyPay\\"}, {\\"active\\": 0, \\"name\\": \\"Ola\\", \\"label\\": \\"OLA Money\\"}, {\\"active\\": 0, \\"name\\": \\"Neuu\\", \\"label\\": \\"Tiny Wallet\\"}]}]","order_id":"TM07201911_refill_260829114517","refill_id":"9690346","rstatus":true,"status":"True","user_id":9036356553,"active_doors":["1","2","3","4"],"door_size":4,"refill_order_id":"TM07201911_refill_260829114517","user":"machine"},{"action":"open_door_call","door_no":"1","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 1","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 1\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 1","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"2","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 2","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 2\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 2","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"}]', 'command_for': 'server', 'type_of_order': 'refill', 'order_id': '9690346', 'server_response': '', 'status': 'active', 'user_id': '9036356553', 'modified_at': '2026-08-29 11:46:27', 'command_todo': 'interactive-refill', 'vm_id': '1861896391128712585'}
[2026-08-29 11:46:27,543.543 INFO    ] {'created_at': '2026-08-29 11:44:44', 'server_status': 'in-progress', 'command_request_data': '{"request_data":[],"action":"open_door_process","sub-action":"open_door_process","action_name":"Select Door to Open","user":"machine","refill_order_id":"TM07201911_refill_260829114517","active_doors":["1","2","3","4"],"response_data":{"SectionStatus":{"Header":"Opening Door 2","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 2\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 2","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False"}}', 'last_command_response': '{"SectionStatus":{"Header":"Opening Door 2","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 2\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 2","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"}', 'all_command_response': '[{"action":"get_user_mobile_no","mobile_no":"9036356553","command_for":"server"},{"success":"true","refill_id":"9690346","otp":"1956","user_id":9036356553,"allowed":"1","user":"machine"},{"action":"get_mobile_otp","mobile_no":"9036356553","otp":"1956","command_for":"server"},{"active_payment_gateways":"[{\\"header\\": \\"QR Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"PayTM\\", \\"label\\": \\"PayTM\\"}, {\\"active\\": 1, \\"name\\": \\"PhonePe\\", \\"label\\": \\"PhonePe\\"}, {\\"active\\": 1, \\"name\\": \\"GooglePay\\", \\"label\\": \\"Google Pay\\"}, {\\"active\\": 1, \\"name\\": \\"BHIM\\", \\"label\\": \\"BHIM UPI\\"}]}, {\\"header\\": \\"Card Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"Sodexo\\", \\"label\\": \\"Sodexo Card\\"}, {\\"active\\": 1, \\"name\\": \\"Card\\", \\"label\\": \\"Credit\\/Debit Card\\"}, {\\"active\\": 0, \\"name\\": \\"Qwikcilver\\", \\"label\\": \\"QwikCilver\\"}]}, {\\"header\\": \\"Wallet Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"LazyPay\\", \\"label\\": \\"LazyPay\\"}, {\\"active\\": 0, \\"name\\": \\"Ola\\", \\"label\\": \\"OLA Money\\"}, {\\"active\\": 0, \\"name\\": \\"Neuu\\", \\"label\\": \\"Tiny Wallet\\"}]}]","order_id":"TM07201911_refill_260829114517","refill_id":"9690346","rstatus":true,"status":"True","user_id":9036356553,"active_doors":["1","2","3","4"],"door_size":4,"refill_order_id":"TM07201911_refill_260829114517","user":"machine"},{"action":"open_door_call","door_no":"1","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 1","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 1\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 1","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"2","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 2","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 2\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 2","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"}]', 'command_for': 'server', 'type_of_order': 'refill', 'order_id': '9690346', 'server_response': '', 'status': 'active', 'user_id': '9036356553', 'modified_at': '2026-08-29 11:46:27', 'command_todo': 'interactive-refill', 'vm_id': '1861896391128712585'}
[2026-08-29 11:46:27,545.545 INFO    ] in main while loops
[2026-08-29 11:46:30,553.553 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:46:30
[2026-08-29 11:46:30,621.621 INFO    ] 
inside get

[2026-08-29 11:46:30,624.624 INFO    ] 200
[2026-08-29 11:46:30,628.628 INFO    ] waiting for server
[2026-08-29 11:46:33,635.635 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:46:33
[2026-08-29 11:46:33,704.704 INFO    ] 
inside get

[2026-08-29 11:46:33,707.707 INFO    ] 200
[2026-08-29 11:46:33,711.711 INFO    ] waiting for server
[2026-08-29 11:46:36,719.719 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:46:36
[2026-08-29 11:46:36,789.789 INFO    ] 
inside get

[2026-08-29 11:46:36,792.792 INFO    ] 200
[2026-08-29 11:46:36,796.796 INFO    ] waiting for server
[2026-08-29 11:46:39,804.804 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:46:39
[2026-08-29 11:46:39,878.878 INFO    ] 
inside get

[2026-08-29 11:46:39,880.880 INFO    ] 200
[2026-08-29 11:46:39,885.885 INFO    ] waiting for server
[2026-08-29 11:46:42,892.892 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:46:42
[2026-08-29 11:46:42,961.961 INFO    ] 
inside get

[2026-08-29 11:46:42,964.964 INFO    ] 200
[2026-08-29 11:46:42,969.969 INFO    ] waiting for server
[2026-08-29 11:46:45,976.976 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:46:45
[2026-08-29 11:46:46,045.045 INFO    ] 
inside get

[2026-08-29 11:46:46,047.047 INFO    ] 200
[2026-08-29 11:46:46,051.051 INFO    ] waiting for server
[2026-08-29 11:46:49,058.058 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:46:49
[2026-08-29 11:46:49,129.129 INFO    ] 
inside get

[2026-08-29 11:46:49,132.132 INFO    ] 200
[2026-08-29 11:46:49,136.136 INFO    ] waiting for server
[2026-08-29 11:46:52,142.142 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:46:52
[2026-08-29 11:46:52,211.211 INFO    ] 
inside get

[2026-08-29 11:46:52,213.213 INFO    ] 200
[2026-08-29 11:46:52,216.216 INFO    ] waiting for server
[2026-08-29 11:46:55,222.222 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:46:55
[2026-08-29 11:46:55,285.285 INFO    ] 
inside get

[2026-08-29 11:46:55,287.287 INFO    ] 200
[2026-08-29 11:46:55,289.289 INFO    ] waiting for server
[2026-08-29 11:46:58,295.295 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:46:58
[2026-08-29 11:46:58,363.363 INFO    ] 
inside get

[2026-08-29 11:46:58,365.365 INFO    ] 200
[2026-08-29 11:46:58,370.370 INFO    ] waiting for server
[2026-08-29 11:47:01,376.376 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:47:01
[2026-08-29 11:47:01,444.444 INFO    ] 
inside get

[2026-08-29 11:47:01,445.445 INFO    ] 200
[2026-08-29 11:47:01,447.447 INFO    ] waiting for server
[2026-08-29 11:47:04,454.454 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:47:04
[2026-08-29 11:47:04,521.521 INFO    ] 
inside get

[2026-08-29 11:47:04,524.524 INFO    ] 200
[2026-08-29 11:47:04,528.528 INFO    ] waiting for server
[2026-08-29 11:47:07,535.535 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:47:07
[2026-08-29 11:47:07,599.599 INFO    ] 
inside get

[2026-08-29 11:47:07,612.612 INFO    ] 200
[2026-08-29 11:47:07,616.616 INFO    ] waiting for server
[2026-08-29 11:47:10,623.623 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:47:10
[2026-08-29 11:47:10,691.691 INFO    ] 
inside get

[2026-08-29 11:47:10,694.694 INFO    ] 200
[2026-08-29 11:47:10,699.699 INFO    ] waiting for server
[2026-08-29 11:47:13,706.706 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:47:13
[2026-08-29 11:47:13,781.781 INFO    ] 
inside get

[2026-08-29 11:47:13,784.784 INFO    ] 200
[2026-08-29 11:47:13,788.788 INFO    ] waiting for server
[2026-08-29 11:47:16,794.794 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:47:16
[2026-08-29 11:47:16,867.867 INFO    ] 
inside get

[2026-08-29 11:47:16,870.870 INFO    ] 200
[2026-08-29 11:47:16,874.874 INFO    ] waiting for server
[2026-08-29 11:47:19,882.882 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:47:19
[2026-08-29 11:47:19,957.957 INFO    ] 
inside get

[2026-08-29 11:47:19,960.960 INFO    ] 200
[2026-08-29 11:47:19,964.964 INFO    ] waiting for server
[2026-08-29 11:47:22,971.971 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:47:22
[2026-08-29 11:47:23,042.042 INFO    ] 
inside get

[2026-08-29 11:47:23,045.045 INFO    ] 200
[2026-08-29 11:47:23,050.050 INFO    ] waiting for server
[2026-08-29 11:47:26,057.057 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:47:26
[2026-08-29 11:47:26,126.126 INFO    ] 
inside get

[2026-08-29 11:47:26,129.129 INFO    ] 200
[2026-08-29 11:47:26,133.133 INFO    ] waiting for server
[2026-08-29 11:47:29,139.139 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:47:29
[2026-08-29 11:47:29,208.208 INFO    ] 
inside get

[2026-08-29 11:47:29,209.209 INFO    ] 200
[2026-08-29 11:47:29,212.212 INFO    ] waiting for server
[2026-08-29 11:47:32,219.219 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:47:32
[2026-08-29 11:47:32,280.280 INFO    ] 
inside get

[2026-08-29 11:47:32,282.282 INFO    ] 200
[2026-08-29 11:47:32,285.285 INFO    ] waiting for server
[2026-08-29 11:47:35,292.292 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:47:35
[2026-08-29 11:47:35,361.361 INFO    ] 
inside get

[2026-08-29 11:47:35,364.364 INFO    ] 200
[2026-08-29 11:47:35,368.368 INFO    ] waiting for server
[2026-08-29 11:47:38,375.375 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:47:38
[2026-08-29 11:47:38,445.445 INFO    ] 
inside get

[2026-08-29 11:47:38,448.448 INFO    ] 200
[2026-08-29 11:47:38,452.452 INFO    ] waiting for server
[2026-08-29 11:47:41,460.460 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:47:41
[2026-08-29 11:47:41,534.534 INFO    ] 
inside get

[2026-08-29 11:47:41,537.537 INFO    ] 200
[2026-08-29 11:47:41,541.541 INFO    ] waiting for server
[2026-08-29 11:47:44,547.547 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:47:44
[2026-08-29 11:47:44,614.614 INFO    ] 
inside get

[2026-08-29 11:47:44,615.615 INFO    ] 200
[2026-08-29 11:47:44,617.617 INFO    ] waiting for server
[2026-08-29 11:47:47,622.622 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:47:47
[2026-08-29 11:47:47,686.686 INFO    ] 
inside get

[2026-08-29 11:47:47,687.687 INFO    ] 200
[2026-08-29 11:47:47,689.689 INFO    ] waiting for server
[2026-08-29 11:47:50,693.693 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:47:50
[2026-08-29 11:47:50,761.761 INFO    ] 
inside get

[2026-08-29 11:47:50,763.763 INFO    ] 200
[2026-08-29 11:47:50,765.765 INFO    ] waiting for server
[2026-08-29 11:47:53,772.772 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:47:53
[2026-08-29 11:47:53,847.847 INFO    ] 
inside get

[2026-08-29 11:47:53,850.850 INFO    ] 200
[2026-08-29 11:47:53,854.854 INFO    ] waiting for server
[2026-08-29 11:47:56,861.861 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:47:56
[2026-08-29 11:47:56,934.934 INFO    ] 
inside get

[2026-08-29 11:47:56,937.937 INFO    ] 200
[2026-08-29 11:47:56,940.940 INFO    ] waiting for server
[2026-08-29 11:47:59,947.947 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:47:59
[2026-08-29 11:48:00,016.016 INFO    ] 
inside get

[2026-08-29 11:48:00,019.019 INFO    ] 200
[2026-08-29 11:48:00,022.022 INFO    ] waiting for server
[2026-08-29 11:48:03,030.030 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:48:03
[2026-08-29 11:48:03,117.117 INFO    ] 
inside get

[2026-08-29 11:48:03,119.119 INFO    ] 200
[2026-08-29 11:48:03,123.123 INFO    ] waiting for server
[2026-08-29 11:48:06,130.130 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:48:06
[2026-08-29 11:48:06,202.202 INFO    ] 
inside get

[2026-08-29 11:48:06,205.205 INFO    ] 200
[2026-08-29 11:48:06,208.208 INFO    ] waiting for server
[2026-08-29 11:48:09,214.214 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:48:09
[2026-08-29 11:48:09,284.284 INFO    ] 
inside get

[2026-08-29 11:48:09,286.286 INFO    ] 200
[2026-08-29 11:48:09,288.288 INFO    ] waiting for server
[2026-08-29 11:48:12,293.293 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:48:12
[2026-08-29 11:48:12,356.356 INFO    ] 
inside get

[2026-08-29 11:48:12,357.357 INFO    ] 200
[2026-08-29 11:48:12,360.360 INFO    ] waiting for server
[2026-08-29 11:48:15,366.366 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:48:15
[2026-08-29 11:48:15,435.435 INFO    ] 
inside get

[2026-08-29 11:48:15,438.438 INFO    ] 200
[2026-08-29 11:48:15,442.442 INFO    ] waiting for server
[2026-08-29 11:48:18,449.449 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:48:18
[2026-08-29 11:48:18,520.520 INFO    ] 
inside get

[2026-08-29 11:48:18,521.521 INFO    ] 200
[2026-08-29 11:48:18,524.524 INFO    ] waiting for server
[2026-08-29 11:48:21,530.530 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:48:21
[2026-08-29 11:48:21,611.611 INFO    ] 
inside get

[2026-08-29 11:48:21,614.614 INFO    ] 200
[2026-08-29 11:48:21,618.618 INFO    ] processing machine command
[2026-08-29 11:48:21,620.620 INFO    ] {"request_data":{"order_id":"TM07201911_refill_260829114517","door_id":[2],"txnType":"refill","door_open_init":true},"action":"open_door_process","sub-action":"open_door_call","action_name":"Waiting for Machine to Open Door","user":"machine","refill_order_id":"TM07201911_refill_260829114517","active_doors":["1","2","3","4"],"response_data":{"SectionStatus":{"Header":"Opening Door 2","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 2\nIS \nOPEN \nNOW"},"rstatus":false,"voiceNote":"Opening Door 2","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False"}}
[2026-08-29 11:48:21,624.624 INFO    ] ####### REFIL OPEN DOOR ######## 
[2026-08-29 11:48:21,626.626 INFO    ] {'order_id': 'TM07201911_refill_260829114517', 'door_id': [2], 'txnType': 'refill', 'door_open_init': True}
[2026-08-29 11:48:21,991.991 INFO    ] 
inside post

[2026-08-29 11:48:21,993.993 INFO    ] 200
[2026-08-29 11:48:21,994.994 INFO    ] {"order_id":"9690346","vm_id":"1861896391128712585","user_id":"9036356553","status":"active","server_status":"in-progress","server_response":"","command_todo":"interactive-refill","last_command_response":"{\"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\":\"\",\"SectionSKU\":{\"Header\":\"If you like us, tell others... else tell us\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Closed\"},\"status\":\"True\",\"user\":\"machine\"}","all_command_response":"[{\"action\":\"get_user_mobile_no\",\"mobile_no\":\"9036356553\",\"command_for\":\"server\"},{\"success\":\"true\",\"refill_id\":\"9690346\",\"otp\":\"1956\",\"user_id\":9036356553,\"allowed\":\"1\",\"user\":\"machine\"},{\"action\":\"get_mobile_otp\",\"mobile_no\":\"9036356553\",\"otp\":\"1956\",\"command_for\":\"server\"},{\"active_payment_gateways\":\"[{\\\"header\\\": \\\"QR Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"PayTM\\\", \\\"label\\\": \\\"PayTM\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"PhonePe\\\", \\\"label\\\": \\\"PhonePe\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"GooglePay\\\", \\\"label\\\": \\\"Google Pay\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"BHIM\\\", \\\"label\\\": \\\"BHIM UPI\\\"}]}, {\\\"header\\\": \\\"Card Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"Sodexo\\\", \\\"label\\\": \\\"Sodexo Card\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"Card\\\", \\\"label\\\": \\\"Credit\\\/Debit Card\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Qwikcilver\\\", \\\"label\\\": \\\"QwikCilver\\\"}]}, {\\\"header\\\": \\\"Wallet Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"LazyPay\\\", \\\"label\\\": \\\"LazyPay\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Ola\\\", \\\"label\\\": \\\"OLA Money\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Neuu\\\", \\\"label\\\": \\\"Tiny Wallet\\\"}]}]\",\"order_id\":\"TM07201911_refill_260829114517\",\"refill_id\":\"9690346\",\"rstatus\":true,\"status\":\"True\",\"user_id\":9036356553,\"active_doors\":[\"1\",\"2\",\"3\",\"4\"],\"door_size\":4,\"refill_order_id\":\"TM07201911_refill_260829114517\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"1\",\"command_for\":\"server\"},{\"SectionStatus\":{\"Header\":\"Opening Door 1\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 1\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 1\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"2\",\"command_for\":\"server\"},{\"SectionStatus\":{\"Header\":\"Opening Door 2\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 2\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 2\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"2\",\"command_for\":\"server\"},{\"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\":\"\",\"SectionSKU\":{\"Header\":\"If you like us, tell others... else tell us\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Closed\"},\"status\":\"True\",\"user\":\"machine\"}]","type_of_order":"refill","command_request_data":"{\"request_data\":[],\"action\":\"open_door_process\",\"sub-action\":\"open_door_process\",\"action_name\":\"Select Door to Open\",\"user\":\"machine\",\"refill_order_id\":\"TM07201911_refill_260829114517\",\"active_doors\":[\"1\",\"2\",\"3\",\"4\"],\"response_data\":{\"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\":\"\",\"SectionSKU\":{\"Header\":\"If you like us, tell others... else tell us\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Closed\"},\"status\":\"True\"}}","command_for":"server","created_at":"2026-08-29 11:44:44","modified_at":"2026-08-29 11:48:21"}
[2026-08-29 11:48:21,997.997 INFO    ] {'created_at': '2026-08-29 11:44:44', 'server_status': 'in-progress', 'command_request_data': '{"request_data":[],"action":"open_door_process","sub-action":"open_door_process","action_name":"Select Door to Open","user":"machine","refill_order_id":"TM07201911_refill_260829114517","active_doors":["1","2","3","4"],"response_data":{"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":"","SectionSKU":{"Header":"If you like us, tell others... else tell us","skus":[]},"SectionMain":{"Header":"Door Closed"},"status":"True"}}', 'last_command_response': '{"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":"","SectionSKU":{"Header":"If you like us, tell others... else tell us","skus":[]},"SectionMain":{"Header":"Door Closed"},"status":"True","user":"machine"}', 'all_command_response': '[{"action":"get_user_mobile_no","mobile_no":"9036356553","command_for":"server"},{"success":"true","refill_id":"9690346","otp":"1956","user_id":9036356553,"allowed":"1","user":"machine"},{"action":"get_mobile_otp","mobile_no":"9036356553","otp":"1956","command_for":"server"},{"active_payment_gateways":"[{\\"header\\": \\"QR Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"PayTM\\", \\"label\\": \\"PayTM\\"}, {\\"active\\": 1, \\"name\\": \\"PhonePe\\", \\"label\\": \\"PhonePe\\"}, {\\"active\\": 1, \\"name\\": \\"GooglePay\\", \\"label\\": \\"Google Pay\\"}, {\\"active\\": 1, \\"name\\": \\"BHIM\\", \\"label\\": \\"BHIM UPI\\"}]}, {\\"header\\": \\"Card Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"Sodexo\\", \\"label\\": \\"Sodexo Card\\"}, {\\"active\\": 1, \\"name\\": \\"Card\\", \\"label\\": \\"Credit\\/Debit Card\\"}, {\\"active\\": 0, \\"name\\": \\"Qwikcilver\\", \\"label\\": \\"QwikCilver\\"}]}, {\\"header\\": \\"Wallet Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"LazyPay\\", \\"label\\": \\"LazyPay\\"}, {\\"active\\": 0, \\"name\\": \\"Ola\\", \\"label\\": \\"OLA Money\\"}, {\\"active\\": 0, \\"name\\": \\"Neuu\\", \\"label\\": \\"Tiny Wallet\\"}]}]","order_id":"TM07201911_refill_260829114517","refill_id":"9690346","rstatus":true,"status":"True","user_id":9036356553,"active_doors":["1","2","3","4"],"door_size":4,"refill_order_id":"TM07201911_refill_260829114517","user":"machine"},{"action":"open_door_call","door_no":"1","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 1","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 1\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 1","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"2","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 2","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 2\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 2","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"2","command_for":"server"},{"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":"","SectionSKU":{"Header":"If you like us, tell others... else tell us","skus":[]},"SectionMain":{"Header":"Door Closed"},"status":"True","user":"machine"}]', 'command_for': 'server', 'type_of_order': 'refill', 'order_id': '9690346', 'server_response': '', 'status': 'active', 'user_id': '9036356553', 'modified_at': '2026-08-29 11:48:21', 'command_todo': 'interactive-refill', 'vm_id': '1861896391128712585'}
[2026-08-29 11:48:21,998.998 INFO    ] {'created_at': '2026-08-29 11:44:44', 'server_status': 'in-progress', 'command_request_data': '{"request_data":[],"action":"open_door_process","sub-action":"open_door_process","action_name":"Select Door to Open","user":"machine","refill_order_id":"TM07201911_refill_260829114517","active_doors":["1","2","3","4"],"response_data":{"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":"","SectionSKU":{"Header":"If you like us, tell others... else tell us","skus":[]},"SectionMain":{"Header":"Door Closed"},"status":"True"}}', 'last_command_response': '{"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":"","SectionSKU":{"Header":"If you like us, tell others... else tell us","skus":[]},"SectionMain":{"Header":"Door Closed"},"status":"True","user":"machine"}', 'all_command_response': '[{"action":"get_user_mobile_no","mobile_no":"9036356553","command_for":"server"},{"success":"true","refill_id":"9690346","otp":"1956","user_id":9036356553,"allowed":"1","user":"machine"},{"action":"get_mobile_otp","mobile_no":"9036356553","otp":"1956","command_for":"server"},{"active_payment_gateways":"[{\\"header\\": \\"QR Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"PayTM\\", \\"label\\": \\"PayTM\\"}, {\\"active\\": 1, \\"name\\": \\"PhonePe\\", \\"label\\": \\"PhonePe\\"}, {\\"active\\": 1, \\"name\\": \\"GooglePay\\", \\"label\\": \\"Google Pay\\"}, {\\"active\\": 1, \\"name\\": \\"BHIM\\", \\"label\\": \\"BHIM UPI\\"}]}, {\\"header\\": \\"Card Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"Sodexo\\", \\"label\\": \\"Sodexo Card\\"}, {\\"active\\": 1, \\"name\\": \\"Card\\", \\"label\\": \\"Credit\\/Debit Card\\"}, {\\"active\\": 0, \\"name\\": \\"Qwikcilver\\", \\"label\\": \\"QwikCilver\\"}]}, {\\"header\\": \\"Wallet Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"LazyPay\\", \\"label\\": \\"LazyPay\\"}, {\\"active\\": 0, \\"name\\": \\"Ola\\", \\"label\\": \\"OLA Money\\"}, {\\"active\\": 0, \\"name\\": \\"Neuu\\", \\"label\\": \\"Tiny Wallet\\"}]}]","order_id":"TM07201911_refill_260829114517","refill_id":"9690346","rstatus":true,"status":"True","user_id":9036356553,"active_doors":["1","2","3","4"],"door_size":4,"refill_order_id":"TM07201911_refill_260829114517","user":"machine"},{"action":"open_door_call","door_no":"1","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 1","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 1\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 1","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"2","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 2","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 2\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 2","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"2","command_for":"server"},{"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":"","SectionSKU":{"Header":"If you like us, tell others... else tell us","skus":[]},"SectionMain":{"Header":"Door Closed"},"status":"True","user":"machine"}]', 'command_for': 'server', 'type_of_order': 'refill', 'order_id': '9690346', 'server_response': '', 'status': 'active', 'user_id': '9036356553', 'modified_at': '2026-08-29 11:48:21', 'command_todo': 'interactive-refill', 'vm_id': '1861896391128712585'}
[2026-08-29 11:48:22,000.000 INFO    ] in main while loops
[2026-08-29 11:48:25,011.011 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:48:25
[2026-08-29 11:48:25,092.092 INFO    ] 
inside get

[2026-08-29 11:48:25,094.094 INFO    ] 200
[2026-08-29 11:48:25,099.099 INFO    ] processing machine command
[2026-08-29 11:48:25,102.102 INFO    ] {"request_data":{"order_id":"TM07201911_refill_260829114517","door_id":[3],"txnType":"refill","door_open_init":true},"action":"open_door_process","sub-action":"open_door_call","action_name":"Waiting for Machine to Open Door","user":"machine","refill_order_id":"TM07201911_refill_260829114517","active_doors":["1","2","3","4"],"response_data":{"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":"","SectionSKU":{"Header":"If you like us, tell others... else tell us","skus":[]},"SectionMain":{"Header":"Door Closed"},"status":"True"}}
[2026-08-29 11:48:25,105.105 INFO    ] ####### REFIL OPEN DOOR ######## 
[2026-08-29 11:48:25,107.107 INFO    ] {'order_id': 'TM07201911_refill_260829114517', 'door_id': [3], 'txnType': 'refill', 'door_open_init': True}
[2026-08-29 11:48:27,104.104 INFO    ] <__main__.ResponseWrapper object at 0x73d33ad0>
[2026-08-29 11:48:31,225.225 INFO    ] <__main__.ResponseWrapper object at 0x73d33a90>
[2026-08-29 11:48:35,295.295 INFO    ] <__main__.ResponseWrapper object at 0x73d33bd0>
[2026-08-29 11:48:39,397.397 INFO    ] <__main__.ResponseWrapper object at 0x73d336d0>
[2026-08-29 11:48:43,414.414 INFO    ] <__main__.ResponseWrapper object at 0x73d33330>
[2026-08-29 11:48:47,411.411 INFO    ] <__main__.ResponseWrapper object at 0x73d334d0>
[2026-08-29 11:48:51,320.320 INFO    ] 
inside post

[2026-08-29 11:48:51,323.323 INFO    ] 200
[2026-08-29 11:48:51,326.326 INFO    ] {"order_id":"9690346","vm_id":"1861896391128712585","user_id":"9036356553","status":"active","server_status":"in-progress","server_response":"","command_todo":"interactive-refill","last_command_response":"{\"SectionStatus\":{\"Header\":\"Opening Door 3\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 3\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 3\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\",\"user\":\"machine\"}","all_command_response":"[{\"action\":\"get_user_mobile_no\",\"mobile_no\":\"9036356553\",\"command_for\":\"server\"},{\"success\":\"true\",\"refill_id\":\"9690346\",\"otp\":\"1956\",\"user_id\":9036356553,\"allowed\":\"1\",\"user\":\"machine\"},{\"action\":\"get_mobile_otp\",\"mobile_no\":\"9036356553\",\"otp\":\"1956\",\"command_for\":\"server\"},{\"active_payment_gateways\":\"[{\\\"header\\\": \\\"QR Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"PayTM\\\", \\\"label\\\": \\\"PayTM\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"PhonePe\\\", \\\"label\\\": \\\"PhonePe\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"GooglePay\\\", \\\"label\\\": \\\"Google Pay\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"BHIM\\\", \\\"label\\\": \\\"BHIM UPI\\\"}]}, {\\\"header\\\": \\\"Card Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"Sodexo\\\", \\\"label\\\": \\\"Sodexo Card\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"Card\\\", \\\"label\\\": \\\"Credit\\\/Debit Card\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Qwikcilver\\\", \\\"label\\\": \\\"QwikCilver\\\"}]}, {\\\"header\\\": \\\"Wallet Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"LazyPay\\\", \\\"label\\\": \\\"LazyPay\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Ola\\\", \\\"label\\\": \\\"OLA Money\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Neuu\\\", \\\"label\\\": \\\"Tiny Wallet\\\"}]}]\",\"order_id\":\"TM07201911_refill_260829114517\",\"refill_id\":\"9690346\",\"rstatus\":true,\"status\":\"True\",\"user_id\":9036356553,\"active_doors\":[\"1\",\"2\",\"3\",\"4\"],\"door_size\":4,\"refill_order_id\":\"TM07201911_refill_260829114517\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"1\",\"command_for\":\"server\"},{\"SectionStatus\":{\"Header\":\"Opening Door 1\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 1\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 1\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"2\",\"command_for\":\"server\"},{\"SectionStatus\":{\"Header\":\"Opening Door 2\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 2\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 2\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"2\",\"command_for\":\"server\"},{\"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\":\"\",\"SectionSKU\":{\"Header\":\"If you like us, tell others... else tell us\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Closed\"},\"status\":\"True\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"3\",\"command_for\":\"server\"},{\"action\":\"open_door_call\",\"door_no\":\"4\",\"command_for\":\"server\"},{\"SectionStatus\":{\"Header\":\"Opening Door 3\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 3\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 3\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\",\"user\":\"machine\"}]","type_of_order":"refill","command_request_data":"{\"request_data\":[],\"action\":\"open_door_process\",\"sub-action\":\"open_door_process\",\"action_name\":\"Select Door to Open\",\"user\":\"machine\",\"refill_order_id\":\"TM07201911_refill_260829114517\",\"active_doors\":[\"1\",\"2\",\"3\",\"4\"],\"response_data\":{\"SectionStatus\":{\"Header\":\"Opening Door 3\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 3\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 3\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\"}}","command_for":"server","created_at":"2026-08-29 11:44:44","modified_at":"2026-08-29 11:48:50"}
[2026-08-29 11:48:51,331.331 INFO    ] {'created_at': '2026-08-29 11:44:44', 'server_status': 'in-progress', 'command_request_data': '{"request_data":[],"action":"open_door_process","sub-action":"open_door_process","action_name":"Select Door to Open","user":"machine","refill_order_id":"TM07201911_refill_260829114517","active_doors":["1","2","3","4"],"response_data":{"SectionStatus":{"Header":"Opening Door 3","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 3\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 3","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False"}}', 'last_command_response': '{"SectionStatus":{"Header":"Opening Door 3","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 3\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 3","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"}', 'all_command_response': '[{"action":"get_user_mobile_no","mobile_no":"9036356553","command_for":"server"},{"success":"true","refill_id":"9690346","otp":"1956","user_id":9036356553,"allowed":"1","user":"machine"},{"action":"get_mobile_otp","mobile_no":"9036356553","otp":"1956","command_for":"server"},{"active_payment_gateways":"[{\\"header\\": \\"QR Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"PayTM\\", \\"label\\": \\"PayTM\\"}, {\\"active\\": 1, \\"name\\": \\"PhonePe\\", \\"label\\": \\"PhonePe\\"}, {\\"active\\": 1, \\"name\\": \\"GooglePay\\", \\"label\\": \\"Google Pay\\"}, {\\"active\\": 1, \\"name\\": \\"BHIM\\", \\"label\\": \\"BHIM UPI\\"}]}, {\\"header\\": \\"Card Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"Sodexo\\", \\"label\\": \\"Sodexo Card\\"}, {\\"active\\": 1, \\"name\\": \\"Card\\", \\"label\\": \\"Credit\\/Debit Card\\"}, {\\"active\\": 0, \\"name\\": \\"Qwikcilver\\", \\"label\\": \\"QwikCilver\\"}]}, {\\"header\\": \\"Wallet Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"LazyPay\\", \\"label\\": \\"LazyPay\\"}, {\\"active\\": 0, \\"name\\": \\"Ola\\", \\"label\\": \\"OLA Money\\"}, {\\"active\\": 0, \\"name\\": \\"Neuu\\", \\"label\\": \\"Tiny Wallet\\"}]}]","order_id":"TM07201911_refill_260829114517","refill_id":"9690346","rstatus":true,"status":"True","user_id":9036356553,"active_doors":["1","2","3","4"],"door_size":4,"refill_order_id":"TM07201911_refill_260829114517","user":"machine"},{"action":"open_door_call","door_no":"1","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 1","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 1\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 1","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"2","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 2","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 2\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 2","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"2","command_for":"server"},{"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":"","SectionSKU":{"Header":"If you like us, tell others... else tell us","skus":[]},"SectionMain":{"Header":"Door Closed"},"status":"True","user":"machine"},{"action":"open_door_call","door_no":"3","command_for":"server"},{"action":"open_door_call","door_no":"4","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 3","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 3\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 3","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"}]', 'command_for': 'server', 'type_of_order': 'refill', 'order_id': '9690346', 'server_response': '', 'status': 'active', 'user_id': '9036356553', 'modified_at': '2026-08-29 11:48:50', 'command_todo': 'interactive-refill', 'vm_id': '1861896391128712585'}
[2026-08-29 11:48:51,335.335 INFO    ] {'created_at': '2026-08-29 11:44:44', 'server_status': 'in-progress', 'command_request_data': '{"request_data":[],"action":"open_door_process","sub-action":"open_door_process","action_name":"Select Door to Open","user":"machine","refill_order_id":"TM07201911_refill_260829114517","active_doors":["1","2","3","4"],"response_data":{"SectionStatus":{"Header":"Opening Door 3","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 3\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 3","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False"}}', 'last_command_response': '{"SectionStatus":{"Header":"Opening Door 3","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 3\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 3","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"}', 'all_command_response': '[{"action":"get_user_mobile_no","mobile_no":"9036356553","command_for":"server"},{"success":"true","refill_id":"9690346","otp":"1956","user_id":9036356553,"allowed":"1","user":"machine"},{"action":"get_mobile_otp","mobile_no":"9036356553","otp":"1956","command_for":"server"},{"active_payment_gateways":"[{\\"header\\": \\"QR Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"PayTM\\", \\"label\\": \\"PayTM\\"}, {\\"active\\": 1, \\"name\\": \\"PhonePe\\", \\"label\\": \\"PhonePe\\"}, {\\"active\\": 1, \\"name\\": \\"GooglePay\\", \\"label\\": \\"Google Pay\\"}, {\\"active\\": 1, \\"name\\": \\"BHIM\\", \\"label\\": \\"BHIM UPI\\"}]}, {\\"header\\": \\"Card Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"Sodexo\\", \\"label\\": \\"Sodexo Card\\"}, {\\"active\\": 1, \\"name\\": \\"Card\\", \\"label\\": \\"Credit\\/Debit Card\\"}, {\\"active\\": 0, \\"name\\": \\"Qwikcilver\\", \\"label\\": \\"QwikCilver\\"}]}, {\\"header\\": \\"Wallet Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"LazyPay\\", \\"label\\": \\"LazyPay\\"}, {\\"active\\": 0, \\"name\\": \\"Ola\\", \\"label\\": \\"OLA Money\\"}, {\\"active\\": 0, \\"name\\": \\"Neuu\\", \\"label\\": \\"Tiny Wallet\\"}]}]","order_id":"TM07201911_refill_260829114517","refill_id":"9690346","rstatus":true,"status":"True","user_id":9036356553,"active_doors":["1","2","3","4"],"door_size":4,"refill_order_id":"TM07201911_refill_260829114517","user":"machine"},{"action":"open_door_call","door_no":"1","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 1","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 1\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 1","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"2","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 2","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 2\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 2","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"2","command_for":"server"},{"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":"","SectionSKU":{"Header":"If you like us, tell others... else tell us","skus":[]},"SectionMain":{"Header":"Door Closed"},"status":"True","user":"machine"},{"action":"open_door_call","door_no":"3","command_for":"server"},{"action":"open_door_call","door_no":"4","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 3","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 3\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 3","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"}]', 'command_for': 'server', 'type_of_order': 'refill', 'order_id': '9690346', 'server_response': '', 'status': 'active', 'user_id': '9036356553', 'modified_at': '2026-08-29 11:48:50', 'command_todo': 'interactive-refill', 'vm_id': '1861896391128712585'}
[2026-08-29 11:48:51,339.339 INFO    ] in main while loops
[2026-08-29 11:48:54,346.346 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:48:54
[2026-08-29 11:48:54,421.421 INFO    ] 
inside get

[2026-08-29 11:48:54,424.424 INFO    ] 200
[2026-08-29 11:48:54,429.429 INFO    ] waiting for server
[2026-08-29 11:48:57,436.436 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:48:57
[2026-08-29 11:48:57,509.509 INFO    ] 
inside get

[2026-08-29 11:48:57,512.512 INFO    ] 200
[2026-08-29 11:48:57,516.516 INFO    ] processing machine command
[2026-08-29 11:48:57,519.519 INFO    ] {"request_data":{"order_id":"TM07201911_refill_260829114517","door_id":[4],"txnType":"refill","door_open_init":true},"action":"open_door_process","sub-action":"open_door_call","action_name":"Waiting for Machine to Open Door","user":"machine","refill_order_id":"TM07201911_refill_260829114517","active_doors":["1","2","3","4"],"response_data":{"SectionStatus":{"Header":"Opening Door 3","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 3\nIS \nOPEN \nNOW"},"rstatus":false,"voiceNote":"Opening Door 3","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False"}}
[2026-08-29 11:48:57,522.522 INFO    ] ####### REFIL OPEN DOOR ######## 
[2026-08-29 11:48:57,525.525 INFO    ] {'order_id': 'TM07201911_refill_260829114517', 'door_id': [4], 'txnType': 'refill', 'door_open_init': True}
[2026-08-29 11:48:59,708.708 INFO    ] <__main__.ResponseWrapper object at 0x73d33230>
[2026-08-29 11:49:03,862.862 INFO    ] <__main__.ResponseWrapper object at 0x73d33a10>
[2026-08-29 11:49:07,964.964 INFO    ] <__main__.ResponseWrapper object at 0x73d336f0>
[2026-08-29 11:49:12,067.067 INFO    ] <__main__.ResponseWrapper object at 0x73d33c50>
[2026-08-29 11:49:16,191.191 INFO    ] <__main__.ResponseWrapper object at 0x73d334d0>
[2026-08-29 11:49:20,272.272 INFO    ] <__main__.ResponseWrapper object at 0x73d33690>
[2026-08-29 11:49:23,991.991 INFO    ] 
inside post

[2026-08-29 11:49:23,994.994 INFO    ] 200
[2026-08-29 11:49:23,996.996 INFO    ] {"order_id":"9690346","vm_id":"1861896391128712585","user_id":"9036356553","status":"active","server_status":"in-progress","server_response":"","command_todo":"interactive-refill","last_command_response":"{\"SectionStatus\":{\"Header\":\"Opening Door 4\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 4\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 4\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\",\"user\":\"machine\"}","all_command_response":"[{\"action\":\"get_user_mobile_no\",\"mobile_no\":\"9036356553\",\"command_for\":\"server\"},{\"success\":\"true\",\"refill_id\":\"9690346\",\"otp\":\"1956\",\"user_id\":9036356553,\"allowed\":\"1\",\"user\":\"machine\"},{\"action\":\"get_mobile_otp\",\"mobile_no\":\"9036356553\",\"otp\":\"1956\",\"command_for\":\"server\"},{\"active_payment_gateways\":\"[{\\\"header\\\": \\\"QR Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"PayTM\\\", \\\"label\\\": \\\"PayTM\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"PhonePe\\\", \\\"label\\\": \\\"PhonePe\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"GooglePay\\\", \\\"label\\\": \\\"Google Pay\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"BHIM\\\", \\\"label\\\": \\\"BHIM UPI\\\"}]}, {\\\"header\\\": \\\"Card Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"Sodexo\\\", \\\"label\\\": \\\"Sodexo Card\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"Card\\\", \\\"label\\\": \\\"Credit\\\/Debit Card\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Qwikcilver\\\", \\\"label\\\": \\\"QwikCilver\\\"}]}, {\\\"header\\\": \\\"Wallet Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"LazyPay\\\", \\\"label\\\": \\\"LazyPay\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Ola\\\", \\\"label\\\": \\\"OLA Money\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Neuu\\\", \\\"label\\\": \\\"Tiny Wallet\\\"}]}]\",\"order_id\":\"TM07201911_refill_260829114517\",\"refill_id\":\"9690346\",\"rstatus\":true,\"status\":\"True\",\"user_id\":9036356553,\"active_doors\":[\"1\",\"2\",\"3\",\"4\"],\"door_size\":4,\"refill_order_id\":\"TM07201911_refill_260829114517\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"1\",\"command_for\":\"server\"},{\"SectionStatus\":{\"Header\":\"Opening Door 1\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 1\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 1\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"2\",\"command_for\":\"server\"},{\"SectionStatus\":{\"Header\":\"Opening Door 2\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 2\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 2\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"2\",\"command_for\":\"server\"},{\"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\":\"\",\"SectionSKU\":{\"Header\":\"If you like us, tell others... else tell us\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Closed\"},\"status\":\"True\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"3\",\"command_for\":\"server\"},{\"action\":\"open_door_call\",\"door_no\":\"4\",\"command_for\":\"server\"},{\"SectionStatus\":{\"Header\":\"Opening Door 3\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 3\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 3\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"4\",\"command_for\":\"server\"},{\"SectionStatus\":{\"Header\":\"Opening Door 4\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 4\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 4\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\",\"user\":\"machine\"}]","type_of_order":"refill","command_request_data":"{\"request_data\":[],\"action\":\"open_door_process\",\"sub-action\":\"open_door_process\",\"action_name\":\"Select Door to Open\",\"user\":\"machine\",\"refill_order_id\":\"TM07201911_refill_260829114517\",\"active_doors\":[\"1\",\"2\",\"3\",\"4\"],\"response_data\":{\"SectionStatus\":{\"Header\":\"Opening Door 4\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 4\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 4\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\"}}","command_for":"server","created_at":"2026-08-29 11:44:44","modified_at":"2026-08-29 11:49:23"}
[2026-08-29 11:49:24,000.000 INFO    ] {'created_at': '2026-08-29 11:44:44', 'server_status': 'in-progress', 'command_request_data': '{"request_data":[],"action":"open_door_process","sub-action":"open_door_process","action_name":"Select Door to Open","user":"machine","refill_order_id":"TM07201911_refill_260829114517","active_doors":["1","2","3","4"],"response_data":{"SectionStatus":{"Header":"Opening Door 4","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 4\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 4","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False"}}', 'last_command_response': '{"SectionStatus":{"Header":"Opening Door 4","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 4\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 4","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"}', 'all_command_response': '[{"action":"get_user_mobile_no","mobile_no":"9036356553","command_for":"server"},{"success":"true","refill_id":"9690346","otp":"1956","user_id":9036356553,"allowed":"1","user":"machine"},{"action":"get_mobile_otp","mobile_no":"9036356553","otp":"1956","command_for":"server"},{"active_payment_gateways":"[{\\"header\\": \\"QR Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"PayTM\\", \\"label\\": \\"PayTM\\"}, {\\"active\\": 1, \\"name\\": \\"PhonePe\\", \\"label\\": \\"PhonePe\\"}, {\\"active\\": 1, \\"name\\": \\"GooglePay\\", \\"label\\": \\"Google Pay\\"}, {\\"active\\": 1, \\"name\\": \\"BHIM\\", \\"label\\": \\"BHIM UPI\\"}]}, {\\"header\\": \\"Card Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"Sodexo\\", \\"label\\": \\"Sodexo Card\\"}, {\\"active\\": 1, \\"name\\": \\"Card\\", \\"label\\": \\"Credit\\/Debit Card\\"}, {\\"active\\": 0, \\"name\\": \\"Qwikcilver\\", \\"label\\": \\"QwikCilver\\"}]}, {\\"header\\": \\"Wallet Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"LazyPay\\", \\"label\\": \\"LazyPay\\"}, {\\"active\\": 0, \\"name\\": \\"Ola\\", \\"label\\": \\"OLA Money\\"}, {\\"active\\": 0, \\"name\\": \\"Neuu\\", \\"label\\": \\"Tiny Wallet\\"}]}]","order_id":"TM07201911_refill_260829114517","refill_id":"9690346","rstatus":true,"status":"True","user_id":9036356553,"active_doors":["1","2","3","4"],"door_size":4,"refill_order_id":"TM07201911_refill_260829114517","user":"machine"},{"action":"open_door_call","door_no":"1","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 1","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 1\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 1","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"2","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 2","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 2\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 2","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"2","command_for":"server"},{"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":"","SectionSKU":{"Header":"If you like us, tell others... else tell us","skus":[]},"SectionMain":{"Header":"Door Closed"},"status":"True","user":"machine"},{"action":"open_door_call","door_no":"3","command_for":"server"},{"action":"open_door_call","door_no":"4","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 3","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 3\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 3","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"4","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 4","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 4\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 4","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"}]', 'command_for': 'server', 'type_of_order': 'refill', 'order_id': '9690346', 'server_response': '', 'status': 'active', 'user_id': '9036356553', 'modified_at': '2026-08-29 11:49:23', 'command_todo': 'interactive-refill', 'vm_id': '1861896391128712585'}
[2026-08-29 11:49:24,003.003 INFO    ] {'created_at': '2026-08-29 11:44:44', 'server_status': 'in-progress', 'command_request_data': '{"request_data":[],"action":"open_door_process","sub-action":"open_door_process","action_name":"Select Door to Open","user":"machine","refill_order_id":"TM07201911_refill_260829114517","active_doors":["1","2","3","4"],"response_data":{"SectionStatus":{"Header":"Opening Door 4","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 4\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 4","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False"}}', 'last_command_response': '{"SectionStatus":{"Header":"Opening Door 4","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 4\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 4","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"}', 'all_command_response': '[{"action":"get_user_mobile_no","mobile_no":"9036356553","command_for":"server"},{"success":"true","refill_id":"9690346","otp":"1956","user_id":9036356553,"allowed":"1","user":"machine"},{"action":"get_mobile_otp","mobile_no":"9036356553","otp":"1956","command_for":"server"},{"active_payment_gateways":"[{\\"header\\": \\"QR Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"PayTM\\", \\"label\\": \\"PayTM\\"}, {\\"active\\": 1, \\"name\\": \\"PhonePe\\", \\"label\\": \\"PhonePe\\"}, {\\"active\\": 1, \\"name\\": \\"GooglePay\\", \\"label\\": \\"Google Pay\\"}, {\\"active\\": 1, \\"name\\": \\"BHIM\\", \\"label\\": \\"BHIM UPI\\"}]}, {\\"header\\": \\"Card Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"Sodexo\\", \\"label\\": \\"Sodexo Card\\"}, {\\"active\\": 1, \\"name\\": \\"Card\\", \\"label\\": \\"Credit\\/Debit Card\\"}, {\\"active\\": 0, \\"name\\": \\"Qwikcilver\\", \\"label\\": \\"QwikCilver\\"}]}, {\\"header\\": \\"Wallet Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"LazyPay\\", \\"label\\": \\"LazyPay\\"}, {\\"active\\": 0, \\"name\\": \\"Ola\\", \\"label\\": \\"OLA Money\\"}, {\\"active\\": 0, \\"name\\": \\"Neuu\\", \\"label\\": \\"Tiny Wallet\\"}]}]","order_id":"TM07201911_refill_260829114517","refill_id":"9690346","rstatus":true,"status":"True","user_id":9036356553,"active_doors":["1","2","3","4"],"door_size":4,"refill_order_id":"TM07201911_refill_260829114517","user":"machine"},{"action":"open_door_call","door_no":"1","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 1","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 1\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 1","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"2","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 2","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 2\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 2","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"2","command_for":"server"},{"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":"","SectionSKU":{"Header":"If you like us, tell others... else tell us","skus":[]},"SectionMain":{"Header":"Door Closed"},"status":"True","user":"machine"},{"action":"open_door_call","door_no":"3","command_for":"server"},{"action":"open_door_call","door_no":"4","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 3","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 3\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 3","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"4","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 4","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 4\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 4","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"}]', 'command_for': 'server', 'type_of_order': 'refill', 'order_id': '9690346', 'server_response': '', 'status': 'active', 'user_id': '9036356553', 'modified_at': '2026-08-29 11:49:23', 'command_todo': 'interactive-refill', 'vm_id': '1861896391128712585'}
[2026-08-29 11:49:24,006.006 INFO    ] in main while loops
[2026-08-29 11:49:27,012.012 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:49:27
[2026-08-29 11:49:27,104.104 INFO    ] 
inside get

[2026-08-29 11:49:27,106.106 INFO    ] 200
[2026-08-29 11:49:27,110.110 INFO    ] waiting for server
[2026-08-29 11:49:30,115.115 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:49:30
[2026-08-29 11:49:30,180.180 INFO    ] 
inside get

[2026-08-29 11:49:30,182.182 INFO    ] 200
[2026-08-29 11:49:30,184.184 INFO    ] waiting for server
[2026-08-29 11:49:33,189.189 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:49:33
[2026-08-29 11:49:33,272.272 INFO    ] 
inside get

[2026-08-29 11:49:33,273.273 INFO    ] 200
[2026-08-29 11:49:33,275.275 INFO    ] waiting for server
[2026-08-29 11:49:36,280.280 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:49:36
[2026-08-29 11:49:36,343.343 INFO    ] 
inside get

[2026-08-29 11:49:36,345.345 INFO    ] 200
[2026-08-29 11:49:36,347.347 INFO    ] waiting for server
[2026-08-29 11:49:39,353.353 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:49:39
[2026-08-29 11:49:39,421.421 INFO    ] 
inside get

[2026-08-29 11:49:39,423.423 INFO    ] 200
[2026-08-29 11:49:39,428.428 INFO    ] waiting for server
[2026-08-29 11:49:42,435.435 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:49:42
[2026-08-29 11:49:42,517.517 INFO    ] 
inside get

[2026-08-29 11:49:42,519.519 INFO    ] 200
[2026-08-29 11:49:42,523.523 INFO    ] waiting for server
[2026-08-29 11:49:45,529.529 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:49:45
[2026-08-29 11:49:45,599.599 INFO    ] 
inside get

[2026-08-29 11:49:45,600.600 INFO    ] 200
[2026-08-29 11:49:45,603.603 INFO    ] waiting for server
[2026-08-29 11:49:48,609.609 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:49:48
[2026-08-29 11:49:48,698.698 INFO    ] 
inside get

[2026-08-29 11:49:48,700.700 INFO    ] 200
[2026-08-29 11:49:48,704.704 INFO    ] waiting for server
[2026-08-29 11:49:51,710.710 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:49:51
[2026-08-29 11:49:51,778.778 INFO    ] 
inside get

[2026-08-29 11:49:51,780.780 INFO    ] 200
[2026-08-29 11:49:51,782.782 INFO    ] waiting for server
[2026-08-29 11:49:54,788.788 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:49:54
[2026-08-29 11:49:54,877.877 INFO    ] 
inside get

[2026-08-29 11:49:54,879.879 INFO    ] 200
[2026-08-29 11:49:54,883.883 INFO    ] waiting for server
[2026-08-29 11:49:57,890.890 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:49:57
[2026-08-29 11:49:57,973.973 INFO    ] 
inside get

[2026-08-29 11:49:57,975.975 INFO    ] 200
[2026-08-29 11:49:57,979.979 INFO    ] waiting for server
[2026-08-29 11:50:00,984.984 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:50:00
[2026-08-29 11:50:01,050.050 INFO    ] 
inside get

[2026-08-29 11:50:01,053.053 INFO    ] 200
[2026-08-29 11:50:01,057.057 INFO    ] waiting for server
[2026-08-29 11:50:04,064.064 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:50:04
[2026-08-29 11:50:04,327.327 INFO    ] 
inside get

[2026-08-29 11:50:04,330.330 INFO    ] 200
[2026-08-29 11:50:04,334.334 INFO    ] waiting for server
[2026-08-29 11:50:07,341.341 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:50:07
[2026-08-29 11:50:07,412.412 INFO    ] 
inside get

[2026-08-29 11:50:07,414.414 INFO    ] 200
[2026-08-29 11:50:07,418.418 INFO    ] waiting for server
[2026-08-29 11:50:10,425.425 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:50:10
[2026-08-29 11:50:10,491.491 INFO    ] 
inside get

[2026-08-29 11:50:10,493.493 INFO    ] 200
[2026-08-29 11:50:10,497.497 INFO    ] waiting for server
[2026-08-29 11:50:13,504.504 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:50:13
[2026-08-29 11:50:13,572.572 INFO    ] 
inside get

[2026-08-29 11:50:13,575.575 INFO    ] 200
[2026-08-29 11:50:13,580.580 INFO    ] waiting for server
[2026-08-29 11:50:16,587.587 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:50:16
[2026-08-29 11:50:17,954.954 INFO    ] 
inside get

[2026-08-29 11:50:17,957.957 INFO    ] 200
[2026-08-29 11:50:17,961.961 INFO    ] waiting for server
[2026-08-29 11:50:20,969.969 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:50:20
[2026-08-29 11:50:22,080.080 INFO    ] 
inside get

[2026-08-29 11:50:22,084.084 INFO    ] 200
[2026-08-29 11:50:22,088.088 INFO    ] waiting for server
[2026-08-29 11:50:25,094.094 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:50:25
[2026-08-29 11:50:26,809.809 INFO    ] 
inside get

[2026-08-29 11:50:26,810.810 INFO    ] 200
[2026-08-29 11:50:26,813.813 INFO    ] waiting for server
[2026-08-29 11:50:29,818.818 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:50:29
[2026-08-29 11:50:29,993.993 INFO    ] 
inside get

[2026-08-29 11:50:29,994.994 INFO    ] 200
[2026-08-29 11:50:29,996.996 INFO    ] waiting for server
[2026-08-29 11:50:33,004.004 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:50:33
[2026-08-29 11:50:33,119.119 INFO    ] 
inside get

[2026-08-29 11:50:33,122.122 INFO    ] 200
[2026-08-29 11:50:33,127.127 INFO    ] waiting for server
[2026-08-29 11:50:36,135.135 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:50:36
[2026-08-29 11:50:36,328.328 INFO    ] 
inside get

[2026-08-29 11:50:36,331.331 INFO    ] 200
[2026-08-29 11:50:36,336.336 INFO    ] waiting for server
[2026-08-29 11:50:39,344.344 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:50:39
[2026-08-29 11:50:39,412.412 INFO    ] 
inside get

[2026-08-29 11:50:39,415.415 INFO    ] 200
[2026-08-29 11:50:39,420.420 INFO    ] waiting for server
[2026-08-29 11:50:42,427.427 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:50:42
[2026-08-29 11:50:42,501.501 INFO    ] 
inside get

[2026-08-29 11:50:42,504.504 INFO    ] 200
[2026-08-29 11:50:42,509.509 INFO    ] waiting for server
[2026-08-29 11:50:45,517.517 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:50:45
[2026-08-29 11:50:45,588.588 INFO    ] 
inside get

[2026-08-29 11:50:45,591.591 INFO    ] 200
[2026-08-29 11:50:45,596.596 INFO    ] waiting for server
[2026-08-29 11:50:48,604.604 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:50:48
[2026-08-29 11:50:48,675.675 INFO    ] 
inside get

[2026-08-29 11:50:48,678.678 INFO    ] 200
[2026-08-29 11:50:48,683.683 INFO    ] waiting for server
[2026-08-29 11:50:51,690.690 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:50:51
[2026-08-29 11:50:51,760.760 INFO    ] 
inside get

[2026-08-29 11:50:51,763.763 INFO    ] 200
[2026-08-29 11:50:51,768.768 INFO    ] waiting for server
[2026-08-29 11:50:54,775.775 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:50:54
[2026-08-29 11:50:54,846.846 INFO    ] 
inside get

[2026-08-29 11:50:54,849.849 INFO    ] 200
[2026-08-29 11:50:54,854.854 INFO    ] waiting for server
[2026-08-29 11:50:57,861.861 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:50:57
[2026-08-29 11:50:57,945.945 INFO    ] 
inside get

[2026-08-29 11:50:57,948.948 INFO    ] 200
[2026-08-29 11:50:57,952.952 INFO    ] waiting for server
[2026-08-29 11:51:00,960.960 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:51:00
[2026-08-29 11:51:01,031.031 INFO    ] 
inside get

[2026-08-29 11:51:01,034.034 INFO    ] 200
[2026-08-29 11:51:01,039.039 INFO    ] waiting for server
[2026-08-29 11:51:04,046.046 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:51:04
[2026-08-29 11:51:04,116.116 INFO    ] 
inside get

[2026-08-29 11:51:04,118.118 INFO    ] 200
[2026-08-29 11:51:04,123.123 INFO    ] waiting for server
[2026-08-29 11:51:07,130.130 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:51:07
[2026-08-29 11:51:07,202.202 INFO    ] 
inside get

[2026-08-29 11:51:07,204.204 INFO    ] 200
[2026-08-29 11:51:07,210.210 INFO    ] waiting for server
[2026-08-29 11:51:10,217.217 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:51:10
[2026-08-29 11:51:10,291.291 INFO    ] 
inside get

[2026-08-29 11:51:10,294.294 INFO    ] 200
[2026-08-29 11:51:10,299.299 INFO    ] waiting for server
[2026-08-29 11:51:13,306.306 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:51:13
[2026-08-29 11:51:13,391.391 INFO    ] 
inside get

[2026-08-29 11:51:13,394.394 INFO    ] 200
[2026-08-29 11:51:13,399.399 INFO    ] waiting for server
[2026-08-29 11:51:16,406.406 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:51:16
[2026-08-29 11:51:16,483.483 INFO    ] 
inside get

[2026-08-29 11:51:16,486.486 INFO    ] 200
[2026-08-29 11:51:16,490.490 INFO    ] waiting for server
[2026-08-29 11:51:19,498.498 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:51:19
[2026-08-29 11:51:19,575.575 INFO    ] 
inside get

[2026-08-29 11:51:19,578.578 INFO    ] 200
[2026-08-29 11:51:19,582.582 INFO    ] waiting for server
[2026-08-29 11:51:22,590.590 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:51:22
[2026-08-29 11:51:22,667.667 INFO    ] 
inside get

[2026-08-29 11:51:22,670.670 INFO    ] 200
[2026-08-29 11:51:22,674.674 INFO    ] waiting for server
[2026-08-29 11:51:25,682.682 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:51:25
[2026-08-29 11:51:25,749.749 INFO    ] 
inside get

[2026-08-29 11:51:25,752.752 INFO    ] 200
[2026-08-29 11:51:25,756.756 INFO    ] waiting for server
[2026-08-29 11:51:28,764.764 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:51:28
[2026-08-29 11:51:28,844.844 INFO    ] 
inside get

[2026-08-29 11:51:28,847.847 INFO    ] 200
[2026-08-29 11:51:28,851.851 INFO    ] waiting for server
[2026-08-29 11:51:31,857.857 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:51:31
[2026-08-29 11:51:31,929.929 INFO    ] 
inside get

[2026-08-29 11:51:31,931.931 INFO    ] 200
[2026-08-29 11:51:31,934.934 INFO    ] waiting for server
[2026-08-29 11:51:34,941.941 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:51:34
[2026-08-29 11:51:35,015.015 INFO    ] 
inside get

[2026-08-29 11:51:35,017.017 INFO    ] 200
[2026-08-29 11:51:35,022.022 INFO    ] waiting for server
[2026-08-29 11:51:38,029.029 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:51:38
[2026-08-29 11:51:41,021.021 INFO    ] 
inside get

[2026-08-29 11:51:41,024.024 INFO    ] 200
[2026-08-29 11:51:41,035.035 INFO    ] processing machine command
[2026-08-29 11:51:41,038.038 INFO    ] {"request_data":{"order_id":"TM07201911_refill_260829114517","door_id":[1],"txnType":"refill","door_open_init":false},"action":"complete_refill","sub-action":"complete_refill","action_name":"Waiting for Machine to Complete Refill","user":"machine","refill_order_id":"TM07201911_refill_260829114517","active_doors":["1","2","3","4"],"response_data":{"SectionStatus":{"Header":"Opening Door 4","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 4\nIS \nOPEN \nNOW"},"rstatus":false,"voiceNote":"Opening Door 4","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False"}}
[2026-08-29 11:51:41,040.040 INFO    ] {'order_id': 'TM07201911_refill_260829114517', 'door_id': [1], 'txnType': 'refill', 'door_open_init': False}
[2026-08-29 11:51:50,794.794 INFO    ] {"message": "Tray mismatches found.", "tray_mismatches": [{"tray_id": "11", "sku_name": "MaxVita Sev Murmura 90gm", "quantity_on_tray": "5", "quantity_in_db": "0", "sku_id": "4500733"}, {"tray_id": "12", "sku_name": "MaxVita Crunchy Indian Mixture 30gm", "quantity_on_tray": "10", "quantity_in_db": "0", "sku_id": "4500726"}, {"tray_id": "13", "sku_name": "Farmely Peri Peri Makhana 14gm", "quantity_on_tray": "4", "quantity_in_db": "0", "sku_id": "4500665"}, {"tray_id": "14", "sku_name": "Modern kitchens Garlic Mixture 26gm", "quantity_on_tray": "6", "quantity_in_db": "0", "sku_id": "4500672"}, {"tray_id": "15", "sku_name": "Max Protein Breakfast Cookie 10g Protein 55gm", "quantity_on_tray": "7", "quantity_in_db": "2", "sku_id": "4500715"}, {"tray_id": "16", "sku_name": "Maxvita Khara Boondi 28gm", "quantity_on_tray": "7", "quantity_in_db": "0", "sku_id": "4500730"}, {"tray_id": "17", "sku_name": "Jus Amazin Salt N Pepper cashew 19g", "quantity_on_tray": "8", "quantity_in_db": "8", "sku_id": "4500735"}, {"tray_id": "18", "sku_name": "MaxVita Moong daal 25gm", "quantity_on_tray": "12", "quantity_in_db": "0", "sku_id": "4500723"}, {"tray_id": "19", "sku_name": "MaxVita Premium crunch Rusk 51gm", "quantity_on_tray": "10", "quantity_in_db": "0", "sku_id": "4500710"}, {"tray_id": "21", "sku_name": "Bindu Fizz Jeera Masala 250 ML", "quantity_on_tray": "5", "quantity_in_db": "0", "sku_id": "186043"}, {"tray_id": "22", "sku_name": "Nestle Nescafe Chilled Latte Coffee Milk ", "quantity_on_tray": "4", "quantity_in_db": "0", "sku_id": "186001"}, {"tray_id": "23", "sku_name": "Paper boat Alphonso Mango 160ml", "quantity_on_tray": "3", "quantity_in_db": "0", "sku_id": "4500407"}, {"tray_id": "24", "sku_name": "Paper Boat NATA Mixed Berries 250ml", "quantity_on_tray": "4", "quantity_in_db": "0", "sku_id": "4500720"}, {"tray_id": "25", "sku_name": "Snickers Chocolate Bar 22g", "quantity_on_tray": "12", "quantity_in_db": "2", "sku_id": "112220"}, {"tray_id": "26", "sku_name": "Rite Bite Sports Bar 40gm", "quantity_on_tray": "7", "quantity_in_db": "0", "sku_id": "4500669"}, {"tray_id": "27", "sku_name": "NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g", "quantity_on_tray": "16", "quantity_in_db": "15", "sku_id": "185993"}, {"tray_id": "28", "sku_name": "Farmely Classic date Bites 20gm", "quantity_on_tray": "10", "quantity_in_db": "3", "sku_id": "4500667"}, {"tray_id": "29", "sku_name": "Paper Boat Orange Pouch - 150Ml", "quantity_on_tray": "3", "quantity_in_db": "0", "sku_id": "108676"}, {"tray_id": "31", "sku_name": "MaxVita Indian Style Cream and onion Potato Chips 40gms", "quantity_on_tray": "8", "quantity_in_db": "2", "sku_id": "4500713"}, {"tray_id": "32", "sku_name": "MaxVita Chilli Spirinkled Potato Chips 40gms", "quantity_on_tray": "5", "quantity_in_db": "0", "sku_id": "4500712"}, {"tray_id": "33", "sku_name": "Maxvita Coconut Cookies 40gm", "quantity_on_tray": "11", "quantity_in_db": "0", "sku_id": "4500725"}, {"tray_id": "34", "sku_name": "Snickers Chocolate Bar 22g", "quantity_on_tray": "16", "quantity_in_db": "0", "sku_id": "112220"}, {"tray_id": "41", "sku_name": "Aatral Natural Electrolytes 200ml", "quantity_on_tray": "3", "quantity_in_db": "2", "sku_id": "4500694"}, {"tray_id": "42", "sku_name": "Heritage A1 Spiced Butter Milk180ml", "quantity_on_tray": "5", "quantity_in_db": "2", "sku_id": "4500499"}, {"tray_id": "43", "sku_name": "Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE ", "quantity_on_tray": "4", "quantity_in_db": "4", "sku_id": "4500717"}, {"tray_id": "44", "sku_name": "Heritage livo Badam milk 180ml", "quantity_on_tray": "5", "quantity_in_db": "0", "sku_id": "4500704"}, {"tray_id": "45", "sku_name": "Nestle Nescafe Chilled Latte Coffee Milk ", "quantity_on_tray": "7", "quantity_in_db": "6", "sku_id": "186001"}], "success": true}
[2026-08-29 11:51:50,797.797 INFO    ] {'tray_mismatches': [{'tray_id': '11', 'quantity_in_db': '0', 'quantity_on_tray': '5', 'sku_name': 'MaxVita Sev Murmura 90gm', 'sku_id': '4500733'}, {'tray_id': '12', 'quantity_in_db': '0', 'quantity_on_tray': '10', 'sku_name': 'MaxVita Crunchy Indian Mixture 30gm', 'sku_id': '4500726'}, {'tray_id': '13', 'quantity_in_db': '0', 'quantity_on_tray': '4', 'sku_name': 'Farmely Peri Peri Makhana 14gm', 'sku_id': '4500665'}, {'tray_id': '14', 'quantity_in_db': '0', 'quantity_on_tray': '6', 'sku_name': 'Modern kitchens Garlic Mixture 26gm', 'sku_id': '4500672'}, {'tray_id': '15', 'quantity_in_db': '2', 'quantity_on_tray': '7', 'sku_name': 'Max Protein Breakfast Cookie 10g Protein 55gm', 'sku_id': '4500715'}, {'tray_id': '16', 'quantity_in_db': '0', 'quantity_on_tray': '7', 'sku_name': 'Maxvita Khara Boondi 28gm', 'sku_id': '4500730'}, {'tray_id': '17', 'quantity_in_db': '8', 'quantity_on_tray': '8', 'sku_name': 'Jus Amazin Salt N Pepper cashew 19g', 'sku_id': '4500735'}, {'tray_id': '18', 'quantity_in_db': '0', 'quantity_on_tray': '12', 'sku_name': 'MaxVita Moong daal 25gm', 'sku_id': '4500723'}, {'tray_id': '19', 'quantity_in_db': '0', 'quantity_on_tray': '10', 'sku_name': 'MaxVita Premium crunch Rusk 51gm', 'sku_id': '4500710'}, {'tray_id': '21', 'quantity_in_db': '0', 'quantity_on_tray': '5', 'sku_name': 'Bindu Fizz Jeera Masala 250 ML', 'sku_id': '186043'}, {'tray_id': '22', 'quantity_in_db': '0', 'quantity_on_tray': '4', 'sku_name': 'Nestle Nescafe Chilled Latte Coffee Milk ', 'sku_id': '186001'}, {'tray_id': '23', 'quantity_in_db': '0', 'quantity_on_tray': '3', 'sku_name': 'Paper boat Alphonso Mango 160ml', 'sku_id': '4500407'}, {'tray_id': '24', 'quantity_in_db': '0', 'quantity_on_tray': '4', 'sku_name': 'Paper Boat NATA Mixed Berries 250ml', 'sku_id': '4500720'}, {'tray_id': '25', 'quantity_in_db': '2', 'quantity_on_tray': '12', 'sku_name': 'Snickers Chocolate Bar 22g', 'sku_id': '112220'}, {'tray_id': '26', 'quantity_in_db': '0', 'quantity_on_tray': '7', 'sku_name': 'Rite Bite Sports Bar 40gm', 'sku_id': '4500669'}, {'tray_id': '27', 'quantity_in_db': '15', 'quantity_on_tray': '16', 'sku_name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g', 'sku_id': '185993'}, {'tray_id': '28', 'quantity_in_db': '3', 'quantity_on_tray': '10', 'sku_name': 'Farmely Classic date Bites 20gm', 'sku_id': '4500667'}, {'tray_id': '29', 'quantity_in_db': '0', 'quantity_on_tray': '3', 'sku_name': 'Paper Boat Orange Pouch - 150Ml', 'sku_id': '108676'}, {'tray_id': '31', 'quantity_in_db': '2', 'quantity_on_tray': '8', 'sku_name': 'MaxVita Indian Style Cream and onion Potato Chips 40gms', 'sku_id': '4500713'}, {'tray_id': '32', 'quantity_in_db': '0', 'quantity_on_tray': '5', 'sku_name': 'MaxVita Chilli Spirinkled Potato Chips 40gms', 'sku_id': '4500712'}, {'tray_id': '33', 'quantity_in_db': '0', 'quantity_on_tray': '11', 'sku_name': 'Maxvita Coconut Cookies 40gm', 'sku_id': '4500725'}, {'tray_id': '34', 'quantity_in_db': '0', 'quantity_on_tray': '16', 'sku_name': 'Snickers Chocolate Bar 22g', 'sku_id': '112220'}, {'tray_id': '41', 'quantity_in_db': '2', 'quantity_on_tray': '3', 'sku_name': 'Aatral Natural Electrolytes 200ml', 'sku_id': '4500694'}, {'tray_id': '42', 'quantity_in_db': '2', 'quantity_on_tray': '5', 'sku_name': 'Heritage A1 Spiced Butter Milk180ml', 'sku_id': '4500499'}, {'tray_id': '43', 'quantity_in_db': '4', 'quantity_on_tray': '4', 'sku_name': 'Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE ', 'sku_id': '4500717'}, {'tray_id': '44', 'quantity_in_db': '0', 'quantity_on_tray': '5', 'sku_name': 'Heritage livo Badam milk 180ml', 'sku_id': '4500704'}, {'tray_id': '45', 'quantity_in_db': '6', 'quantity_on_tray': '7', 'sku_name': 'Nestle Nescafe Chilled Latte Coffee Milk ', 'sku_id': '186001'}], 'success': True, 'message': 'Tray mismatches found.'}
[2026-08-29 11:51:54,377.377 INFO    ] 
inside post

[2026-08-29 11:51:54,382.382 INFO    ] 200
[2026-08-29 11:51:54,385.385 INFO    ] {"order_id":"9690346","vm_id":"1861896391128712585","user_id":"9036356553","status":"active","server_status":"in-progress","server_response":"","command_todo":"interactive-refill","last_command_response":"{\"tray_mismatches\":[{\"tray_id\":\"11\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"5\",\"sku_name\":\"MaxVita Sev Murmura 90gm\",\"sku_id\":\"4500733\"},{\"tray_id\":\"12\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"10\",\"sku_name\":\"MaxVita Crunchy Indian Mixture 30gm\",\"sku_id\":\"4500726\"},{\"tray_id\":\"13\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"4\",\"sku_name\":\"Farmely Peri Peri Makhana 14gm\",\"sku_id\":\"4500665\"},{\"tray_id\":\"14\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"6\",\"sku_name\":\"Modern kitchens Garlic Mixture 26gm\",\"sku_id\":\"4500672\"},{\"tray_id\":\"15\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"7\",\"sku_name\":\"Max Protein Breakfast Cookie 10g Protein 55gm\",\"sku_id\":\"4500715\"},{\"tray_id\":\"16\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"7\",\"sku_name\":\"Maxvita Khara Boondi 28gm\",\"sku_id\":\"4500730\"},{\"tray_id\":\"17\",\"quantity_in_db\":\"8\",\"quantity_on_tray\":\"8\",\"sku_name\":\"Jus Amazin Salt N Pepper cashew 19g\",\"sku_id\":\"4500735\"},{\"tray_id\":\"18\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"12\",\"sku_name\":\"MaxVita Moong daal 25gm\",\"sku_id\":\"4500723\"},{\"tray_id\":\"19\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"10\",\"sku_name\":\"MaxVita Premium crunch Rusk 51gm\",\"sku_id\":\"4500710\"},{\"tray_id\":\"21\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"5\",\"sku_name\":\"Bindu Fizz Jeera Masala 250 ML\",\"sku_id\":\"186043\"},{\"tray_id\":\"22\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"4\",\"sku_name\":\"Nestle Nescafe Chilled Latte Coffee Milk \",\"sku_id\":\"186001\"},{\"tray_id\":\"23\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"3\",\"sku_name\":\"Paper boat Alphonso Mango 160ml\",\"sku_id\":\"4500407\"},{\"tray_id\":\"24\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"4\",\"sku_name\":\"Paper Boat NATA Mixed Berries 250ml\",\"sku_id\":\"4500720\"},{\"tray_id\":\"25\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"12\",\"sku_name\":\"Snickers Chocolate Bar 22g\",\"sku_id\":\"112220\"},{\"tray_id\":\"26\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"7\",\"sku_name\":\"Rite Bite Sports Bar 40gm\",\"sku_id\":\"4500669\"},{\"tray_id\":\"27\",\"quantity_in_db\":\"15\",\"quantity_on_tray\":\"16\",\"sku_name\":\"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g\",\"sku_id\":\"185993\"},{\"tray_id\":\"28\",\"quantity_in_db\":\"3\",\"quantity_on_tray\":\"10\",\"sku_name\":\"Farmely Classic date Bites 20gm\",\"sku_id\":\"4500667\"},{\"tray_id\":\"29\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"3\",\"sku_name\":\"Paper Boat Orange Pouch - 150Ml\",\"sku_id\":\"108676\"},{\"tray_id\":\"31\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"8\",\"sku_name\":\"MaxVita Indian Style Cream and onion Potato Chips 40gms\",\"sku_id\":\"4500713\"},{\"tray_id\":\"32\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"5\",\"sku_name\":\"MaxVita Chilli Spirinkled Potato Chips 40gms\",\"sku_id\":\"4500712\"},{\"tray_id\":\"33\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"11\",\"sku_name\":\"Maxvita Coconut Cookies 40gm\",\"sku_id\":\"4500725\"},{\"tray_id\":\"34\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"16\",\"sku_name\":\"Snickers Chocolate Bar 22g\",\"sku_id\":\"112220\"},{\"tray_id\":\"41\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"3\",\"sku_name\":\"Aatral Natural Electrolytes 200ml\",\"sku_id\":\"4500694\"},{\"tray_id\":\"42\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"5\",\"sku_name\":\"Heritage A1 Spiced Butter Milk180ml\",\"sku_id\":\"4500499\"},{\"tray_id\":\"43\",\"quantity_in_db\":\"4\",\"quantity_on_tray\":\"4\",\"sku_name\":\"Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE \",\"sku_id\":\"4500717\"},{\"tray_id\":\"44\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"5\",\"sku_name\":\"Heritage livo Badam milk 180ml\",\"sku_id\":\"4500704\"},{\"tray_id\":\"45\",\"quantity_in_db\":\"6\",\"quantity_on_tray\":\"7\",\"sku_name\":\"Nestle Nescafe Chilled Latte Coffee Milk \",\"sku_id\":\"186001\"}],\"success\":true,\"message\":\"Tray mismatches found.\",\"user\":\"machine\"}","all_command_response":"[{\"action\":\"get_user_mobile_no\",\"mobile_no\":\"9036356553\",\"command_for\":\"server\"},{\"success\":\"true\",\"refill_id\":\"9690346\",\"otp\":\"1956\",\"user_id\":9036356553,\"allowed\":\"1\",\"user\":\"machine\"},{\"action\":\"get_mobile_otp\",\"mobile_no\":\"9036356553\",\"otp\":\"1956\",\"command_for\":\"server\"},{\"active_payment_gateways\":\"[{\\\"header\\\": \\\"QR Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"PayTM\\\", \\\"label\\\": \\\"PayTM\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"PhonePe\\\", \\\"label\\\": \\\"PhonePe\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"GooglePay\\\", \\\"label\\\": \\\"Google Pay\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"BHIM\\\", \\\"label\\\": \\\"BHIM UPI\\\"}]}, {\\\"header\\\": \\\"Card Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"Sodexo\\\", \\\"label\\\": \\\"Sodexo Card\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"Card\\\", \\\"label\\\": \\\"Credit\\\/Debit Card\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Qwikcilver\\\", \\\"label\\\": \\\"QwikCilver\\\"}]}, {\\\"header\\\": \\\"Wallet Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"LazyPay\\\", \\\"label\\\": \\\"LazyPay\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Ola\\\", \\\"label\\\": \\\"OLA Money\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Neuu\\\", \\\"label\\\": \\\"Tiny Wallet\\\"}]}]\",\"order_id\":\"TM07201911_refill_260829114517\",\"refill_id\":\"9690346\",\"rstatus\":true,\"status\":\"True\",\"user_id\":9036356553,\"active_doors\":[\"1\",\"2\",\"3\",\"4\"],\"door_size\":4,\"refill_order_id\":\"TM07201911_refill_260829114517\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"1\",\"command_for\":\"server\"},{\"SectionStatus\":{\"Header\":\"Opening Door 1\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 1\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 1\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"2\",\"command_for\":\"server\"},{\"SectionStatus\":{\"Header\":\"Opening Door 2\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 2\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 2\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"2\",\"command_for\":\"server\"},{\"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\":\"\",\"SectionSKU\":{\"Header\":\"If you like us, tell others... else tell us\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Closed\"},\"status\":\"True\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"3\",\"command_for\":\"server\"},{\"action\":\"open_door_call\",\"door_no\":\"4\",\"command_for\":\"server\"},{\"SectionStatus\":{\"Header\":\"Opening Door 3\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 3\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 3\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"4\",\"command_for\":\"server\"},{\"SectionStatus\":{\"Header\":\"Opening Door 4\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 4\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 4\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\",\"user\":\"machine\"},{\"action\":\"complete_refill\",\"trays\":{\"11\":{\"id\":\"11\",\"tray_id\":\"11\",\"door_id\":\"1\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500733-6191.jpg\",\"name\":\"MaxVita Sev Murmura 90gm\",\"mrp\":\"30\",\"weight\":\"96\",\"qty\":0,\"org_sku\":\"4500733\",\"p_sku\":\"4500733\",\"p_qty\":0,\"l_sku\":\"4500733\",\"l_qty\":\"5\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500733-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"12\":{\"id\":\"12\",\"tray_id\":\"12\",\"door_id\":\"1\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500726-818.jpeg\",\"name\":\"MaxVita Crunchy Indian Mixture 30gm\",\"mrp\":\"10\",\"weight\":\"35\",\"qty\":0,\"org_sku\":\"4500726\",\"p_sku\":\"4500726\",\"p_qty\":0,\"l_sku\":\"4500726\",\"l_qty\":\"10\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500726-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"13\":{\"id\":\"13\",\"tray_id\":\"13\",\"door_id\":\"1\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500665-172.jpg\",\"name\":\"Farmely Peri Peri Makhana 14gm\",\"mrp\":\"30\",\"weight\":\"22\",\"qty\":0,\"org_sku\":\"4500665\",\"p_sku\":\"4500665\",\"p_qty\":0,\"l_sku\":\"4500665\",\"l_qty\":\"4\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500665-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"14\":{\"id\":\"14\",\"tray_id\":\"14\",\"door_id\":\"1\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500672-7226.webp\",\"name\":\"Modern kitchens Garlic Mixture 26gm\",\"mrp\":\"10\",\"weight\":\"29\",\"qty\":0,\"org_sku\":\"4500672\",\"p_sku\":\"4500672\",\"p_qty\":0,\"l_sku\":\"4500672\",\"l_qty\":\"6\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500672-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"15\":{\"tray_id\":\"15\",\"door_id\":\"1\",\"tray_weight\":\"99999\",\"sku_json\":\"4500715-2\",\"org_sku\":\"4500715\",\"active\":\"1\",\"created_at\":\"2026-08-28 23:42:46\",\"modified_at\":\"2026-08-28 23:42:46\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500715-4904.jpg\",\"name\":\"Max Protein Breakfast Cookie 10g Protein 55gm\",\"mrp\":\"50\",\"weight\":\"60\",\"qty\":\"2\",\"id\":\"15\",\"p_sku\":\"4500715\",\"p_qty\":\"2\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"l_sku\":\"4500715\",\"l_qty\":\"6\"},\"16\":{\"id\":\"16\",\"tray_id\":\"16\",\"door_id\":\"1\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500730-5277.png\",\"name\":\"Maxvita Khara Boondi 28gm\",\"mrp\":\"10\",\"weight\":\"33\",\"qty\":0,\"org_sku\":\"4500730\",\"p_sku\":\"4500730\",\"p_qty\":0,\"l_sku\":\"4500730\",\"l_qty\":\"7\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500730-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"17\":{\"tray_id\":\"17\",\"door_id\":\"1\",\"tray_weight\":\"99999\",\"sku_json\":\"4500735-8\",\"org_sku\":\"4500735\",\"active\":\"1\",\"created_at\":\"2026-08-28 23:42:46\",\"modified_at\":\"2026-08-28 23:42:46\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500735-9819.jpeg\",\"name\":\"Jus Amazin Salt N Pepper cashew 19g\",\"mrp\":\"40\",\"weight\":\"25\",\"qty\":\"8\",\"id\":\"17\",\"p_sku\":\"4500735\",\"p_qty\":\"8\",\"p_return_sku\":\"4500605\",\"p_return_qty\":\"4\",\"return_sku\":\"4500605\",\"return_qty\":\"4\",\"return_image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500605-6297.png\",\"l_sku\":\"4500605\",\"l_qty\":\"4\"},\"18\":{\"id\":\"18\",\"tray_id\":\"18\",\"door_id\":\"1\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500723-3888.png\",\"name\":\"MaxVita Moong daal 25gm\",\"mrp\":\"10\",\"weight\":\"28\",\"qty\":0,\"org_sku\":\"4500723\",\"p_sku\":\"4500723\",\"p_qty\":0,\"l_sku\":\"4500723\",\"l_qty\":\"12\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500723-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"19\":{\"id\":\"19\",\"tray_id\":\"19\",\"door_id\":\"1\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500710-1463.png\",\"name\":\"MaxVita Premium crunch Rusk 51gm\",\"mrp\":\"10\",\"weight\":\"55\",\"qty\":0,\"org_sku\":\"4500710\",\"p_sku\":\"4500710\",\"p_qty\":0,\"l_sku\":\"4500710\",\"l_qty\":\"10\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500710-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"20\":{\"id\":\"20\",\"tray_id\":\"20\",\"door_id\":\"1\",\"image\":\"https:\\\/\\\/skuimg.s3.ap-south-1.amazonaws.com\\\/App+Image+List\\\/Cadbury+Dairy+Milk+Chocolate+Mahapack%2C+52g.jpg\",\"name\":\"Cadbury Dairy Milk Chocolate Mahapack, 52g\",\"mrp\":\"40\",\"weight\":\"56\",\"qty\":0,\"org_sku\":\"8253\",\"p_sku\":\"8253\",\"p_qty\":0,\"l_sku\":\"8253\",\"l_qty\":\"0\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"8253-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"21\":{\"id\":\"21\",\"tray_id\":\"21\",\"door_id\":\"2\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/186043-5089.png\",\"name\":\"Bindu Fizz Jeera Masala 250 ML\",\"mrp\":\"20\",\"weight\":\"295\",\"qty\":0,\"org_sku\":\"186043\",\"p_sku\":\"186043\",\"p_qty\":0,\"l_sku\":\"186043\",\"l_qty\":\"5\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"186043-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"22\":{\"id\":\"22\",\"tray_id\":\"22\",\"door_id\":\"2\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/186001-2099.webp\",\"name\":\"Nestle Nescafe Chilled Latte Coffee Milk \",\"mrp\":\"50\",\"weight\":\"202\",\"qty\":0,\"org_sku\":\"186001\",\"p_sku\":\"186001\",\"p_qty\":0,\"l_sku\":\"186001\",\"l_qty\":\"3\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"186001-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"23\":{\"id\":\"23\",\"tray_id\":\"23\",\"door_id\":\"2\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500407-2060.jpg\",\"name\":\"Paper boat Alphonso Mango 160ml\",\"mrp\":\"25\",\"weight\":\"175\",\"qty\":0,\"org_sku\":\"4500407\",\"p_sku\":\"4500407\",\"p_qty\":0,\"l_sku\":\"4500407\",\"l_qty\":\"3\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500407-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"24\":{\"id\":\"24\",\"tray_id\":\"24\",\"door_id\":\"2\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500720-8132.webp\",\"name\":\"Paper Boat NATA Mixed Berries 250ml\",\"mrp\":\"40\",\"weight\":\"284\",\"qty\":0,\"org_sku\":\"4500720\",\"p_sku\":\"4500720\",\"p_qty\":0,\"l_sku\":\"4500720\",\"l_qty\":\"4\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500720-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"25\":{\"tray_id\":\"25\",\"door_id\":\"2\",\"tray_weight\":\"99999\",\"sku_json\":\"186078-2\",\"org_sku\":\"112220\",\"active\":\"1\",\"created_at\":\"2026-08-28 23:42:46\",\"modified_at\":\"2026-08-28 23:42:46\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/186078-2883.png\",\"name\":\"Paper boat Aam Panna 150ml\",\"mrp\":\"25\",\"weight\":\"166\",\"qty\":\"2\",\"id\":\"25\",\"p_sku\":\"186078\",\"p_qty\":\"2\",\"p_return_sku\":\"186078\",\"p_return_qty\":\"1\",\"l_sku\":\"186078\",\"l_qty\":\"1\"},\"26\":{\"id\":\"26\",\"tray_id\":\"26\",\"door_id\":\"2\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500669-3919.webp\",\"name\":\"Rite Bite Sports Bar 40gm\",\"mrp\":\"45\",\"weight\":\"44\",\"qty\":0,\"org_sku\":\"4500669\",\"p_sku\":\"4500669\",\"p_qty\":0,\"l_sku\":\"4500669\",\"l_qty\":\"7\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500669-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"27\":{\"tray_id\":\"27\",\"door_id\":\"2\",\"tray_weight\":\"99999\",\"sku_json\":\"185993-15\",\"org_sku\":\"185993\",\"active\":\"1\",\"created_at\":\"2026-08-28 23:42:46\",\"modified_at\":\"2026-08-28 23:42:46\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/185993-3509.webp\",\"name\":\"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g\",\"mrp\":\"20\",\"weight\":\"42\",\"qty\":\"15\",\"id\":\"27\",\"p_sku\":\"185993\",\"p_qty\":\"15\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"l_sku\":\"185993\",\"l_qty\":\"1\"},\"28\":{\"tray_id\":\"28\",\"door_id\":\"2\",\"tray_weight\":\"99999\",\"sku_json\":\"4500667-3\",\"org_sku\":\"4500667\",\"active\":\"1\",\"created_at\":\"2026-08-28 23:42:46\",\"modified_at\":\"2026-08-28 23:42:46\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500667-4339.webp\",\"name\":\"Farmely Classic date Bites 20gm\",\"mrp\":\"40\",\"weight\":\"23\",\"qty\":\"3\",\"id\":\"28\",\"p_sku\":\"4500667\",\"p_qty\":\"3\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"l_sku\":\"4500667\",\"l_qty\":\"6\"},\"29\":{\"id\":\"29\",\"tray_id\":\"29\",\"door_id\":\"2\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/108676-2689.jpg\",\"name\":\"Paper Boat Orange Pouch - 150Ml\",\"mrp\":\"25\",\"weight\":\"177\",\"qty\":0,\"org_sku\":\"108676\",\"p_sku\":\"108676\",\"p_qty\":0,\"l_sku\":\"108676\",\"l_qty\":\"3\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"108676-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"31\":{\"tray_id\":\"31\",\"door_id\":\"3\",\"tray_weight\":\"99999\",\"sku_json\":\"4500713-2\",\"org_sku\":\"4500713\",\"active\":\"1\",\"created_at\":\"2026-08-28 23:42:46\",\"modified_at\":\"2026-08-28 23:42:46\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500713-9506.jpg\",\"name\":\"MaxVita Indian Style Cream and onion Potato Chips 40gms\",\"mrp\":\"20\",\"weight\":\"47\",\"qty\":\"2\",\"id\":\"31\",\"p_sku\":\"4500713\",\"p_qty\":\"2\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"l_sku\":\"4500713\",\"l_qty\":\"6\"},\"32\":{\"id\":\"32\",\"tray_id\":\"32\",\"door_id\":\"3\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500712-3453.png\",\"name\":\"MaxVita Chilli Spirinkled Potato Chips 40gms\",\"mrp\":\"20\",\"weight\":\"46\",\"qty\":0,\"org_sku\":\"4500712\",\"p_sku\":\"4500712\",\"p_qty\":0,\"l_sku\":\"4500712\",\"l_qty\":\"5\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500712-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"33\":{\"id\":\"33\",\"tray_id\":\"33\",\"door_id\":\"3\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500725-5961.png\",\"name\":\"Maxvita Coconut Cookies 40gm\",\"mrp\":\"10\",\"weight\":\"44\",\"qty\":0,\"org_sku\":\"4500725\",\"p_sku\":\"4500725\",\"p_qty\":0,\"l_sku\":\"4500725\",\"l_qty\":\"11\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500725-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"34\":{\"id\":\"34\",\"tray_id\":\"34\",\"door_id\":\"3\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/112220-2513.jpg\",\"name\":\"Snickers Chocolate Bar 22g\",\"mrp\":\"20\",\"weight\":\"24\",\"qty\":0,\"org_sku\":\"112220\",\"p_sku\":\"112220\",\"p_qty\":0,\"l_sku\":\"112220\",\"l_qty\":\"16\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"112220-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"41\":{\"tray_id\":\"41\",\"door_id\":\"4\",\"tray_weight\":\"99999\",\"sku_json\":\"4500694-2\",\"org_sku\":\"4500694\",\"active\":\"1\",\"created_at\":\"2026-08-28 23:42:46\",\"modified_at\":\"2026-08-28 23:42:46\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500694-1219.png\",\"name\":\"Aatral Natural Electrolytes 200ml\",\"mrp\":\"60\",\"weight\":\"232\",\"qty\":\"2\",\"id\":\"41\",\"p_sku\":\"4500694\",\"p_qty\":\"2\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"l_sku\":\"4500694\",\"l_qty\":\"3\"},\"42\":{\"tray_id\":\"42\",\"door_id\":\"4\",\"tray_weight\":\"99999\",\"sku_json\":\"4500499-2\",\"org_sku\":\"4500499\",\"active\":\"1\",\"created_at\":\"2026-08-28 23:42:46\",\"modified_at\":\"2026-08-28 23:42:46\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500499-5719.webp\",\"name\":\"Heritage A1 Spiced Butter Milk180ml\",\"mrp\":\"20\",\"weight\":\"192\",\"qty\":\"2\",\"id\":\"42\",\"p_sku\":\"4500499\",\"p_qty\":\"2\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"l_sku\":\"4500499\",\"l_qty\":\"4\"},\"43\":{\"tray_id\":\"43\",\"door_id\":\"4\",\"tray_weight\":\"99999\",\"sku_json\":\"4500717-4\",\"org_sku\":\"4500717\",\"active\":\"1\",\"created_at\":\"2026-08-28 23:42:46\",\"modified_at\":\"2026-08-28 23:42:46\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500717-9875.webp\",\"name\":\"Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE \",\"mrp\":\"141\",\"weight\":\"287\",\"qty\":\"4\",\"id\":\"43\",\"p_sku\":\"4500717\",\"p_qty\":\"4\",\"p_return_sku\":\"186059\",\"p_return_qty\":\"1\",\"return_sku\":\"186059\",\"return_qty\":\"1\",\"return_image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/186059-5330.png\",\"l_sku\":\"186059\",\"l_qty\":\"1\"},\"44\":{\"id\":\"44\",\"tray_id\":\"44\",\"door_id\":\"4\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500704-2291.webp\",\"name\":\"Heritage livo Badam milk 180ml\",\"mrp\":\"30\",\"weight\":\"210\",\"qty\":0,\"org_sku\":\"4500704\",\"p_sku\":\"4500704\",\"p_qty\":0,\"l_sku\":\"4500704\",\"l_qty\":\"5\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500704-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"45\":{\"tray_id\":\"45\",\"door_id\":\"4\",\"tray_weight\":\"99999\",\"sku_json\":\"186001-6\",\"org_sku\":\"186001\",\"active\":\"1\",\"created_at\":\"2026-08-28 23:42:46\",\"modified_at\":\"2026-08-28 23:42:46\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/186001-2099.webp\",\"name\":\"Nestle Nescafe Chilled Latte Coffee Milk \",\"mrp\":\"50\",\"weight\":\"202\",\"qty\":\"6\",\"id\":\"45\",\"p_sku\":\"186001\",\"p_qty\":\"6\",\"p_return_sku\":\"4500656\",\"p_return_qty\":\"3\",\"return_sku\":\"4500656\",\"return_qty\":\"3\",\"return_image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500656-2520.webp\",\"l_sku\":\"4500656\",\"l_qty\":\"3\"}},\"command_for\":\"server\"},{\"tray_mismatches\":[{\"tray_id\":\"11\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"5\",\"sku_name\":\"MaxVita Sev Murmura 90gm\",\"sku_id\":\"4500733\"},{\"tray_id\":\"12\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"10\",\"sku_name\":\"MaxVita Crunchy Indian Mixture 30gm\",\"sku_id\":\"4500726\"},{\"tray_id\":\"13\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"4\",\"sku_name\":\"Farmely Peri Peri Makhana 14gm\",\"sku_id\":\"4500665\"},{\"tray_id\":\"14\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"6\",\"sku_name\":\"Modern kitchens Garlic Mixture 26gm\",\"sku_id\":\"4500672\"},{\"tray_id\":\"15\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"7\",\"sku_name\":\"Max Protein Breakfast Cookie 10g Protein 55gm\",\"sku_id\":\"4500715\"},{\"tray_id\":\"16\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"7\",\"sku_name\":\"Maxvita Khara Boondi 28gm\",\"sku_id\":\"4500730\"},{\"tray_id\":\"17\",\"quantity_in_db\":\"8\",\"quantity_on_tray\":\"8\",\"sku_name\":\"Jus Amazin Salt N Pepper cashew 19g\",\"sku_id\":\"4500735\"},{\"tray_id\":\"18\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"12\",\"sku_name\":\"MaxVita Moong daal 25gm\",\"sku_id\":\"4500723\"},{\"tray_id\":\"19\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"10\",\"sku_name\":\"MaxVita Premium crunch Rusk 51gm\",\"sku_id\":\"4500710\"},{\"tray_id\":\"21\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"5\",\"sku_name\":\"Bindu Fizz Jeera Masala 250 ML\",\"sku_id\":\"186043\"},{\"tray_id\":\"22\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"4\",\"sku_name\":\"Nestle Nescafe Chilled Latte Coffee Milk \",\"sku_id\":\"186001\"},{\"tray_id\":\"23\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"3\",\"sku_name\":\"Paper boat Alphonso Mango 160ml\",\"sku_id\":\"4500407\"},{\"tray_id\":\"24\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"4\",\"sku_name\":\"Paper Boat NATA Mixed Berries 250ml\",\"sku_id\":\"4500720\"},{\"tray_id\":\"25\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"12\",\"sku_name\":\"Snickers Chocolate Bar 22g\",\"sku_id\":\"112220\"},{\"tray_id\":\"26\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"7\",\"sku_name\":\"Rite Bite Sports Bar 40gm\",\"sku_id\":\"4500669\"},{\"tray_id\":\"27\",\"quantity_in_db\":\"15\",\"quantity_on_tray\":\"16\",\"sku_name\":\"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g\",\"sku_id\":\"185993\"},{\"tray_id\":\"28\",\"quantity_in_db\":\"3\",\"quantity_on_tray\":\"10\",\"sku_name\":\"Farmely Classic date Bites 20gm\",\"sku_id\":\"4500667\"},{\"tray_id\":\"29\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"3\",\"sku_name\":\"Paper Boat Orange Pouch - 150Ml\",\"sku_id\":\"108676\"},{\"tray_id\":\"31\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"8\",\"sku_name\":\"MaxVita Indian Style Cream and onion Potato Chips 40gms\",\"sku_id\":\"4500713\"},{\"tray_id\":\"32\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"5\",\"sku_name\":\"MaxVita Chilli Spirinkled Potato Chips 40gms\",\"sku_id\":\"4500712\"},{\"tray_id\":\"33\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"11\",\"sku_name\":\"Maxvita Coconut Cookies 40gm\",\"sku_id\":\"4500725\"},{\"tray_id\":\"34\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"16\",\"sku_name\":\"Snickers Chocolate Bar 22g\",\"sku_id\":\"112220\"},{\"tray_id\":\"41\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"3\",\"sku_name\":\"Aatral Natural Electrolytes 200ml\",\"sku_id\":\"4500694\"},{\"tray_id\":\"42\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"5\",\"sku_name\":\"Heritage A1 Spiced Butter Milk180ml\",\"sku_id\":\"4500499\"},{\"tray_id\":\"43\",\"quantity_in_db\":\"4\",\"quantity_on_tray\":\"4\",\"sku_name\":\"Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE \",\"sku_id\":\"4500717\"},{\"tray_id\":\"44\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"5\",\"sku_name\":\"Heritage livo Badam milk 180ml\",\"sku_id\":\"4500704\"},{\"tray_id\":\"45\",\"quantity_in_db\":\"6\",\"quantity_on_tray\":\"7\",\"sku_name\":\"Nestle Nescafe Chilled Latte Coffee Milk \",\"sku_id\":\"186001\"}],\"success\":true,\"message\":\"Tray mismatches found.\",\"user\":\"machine\"}]","type_of_order":"refill","command_request_data":"{\"request_data\":{\"tray_mismatches\":[{\"tray_id\":\"11\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"5\",\"sku_name\":\"MaxVita Sev Murmura 90gm\",\"sku_id\":\"4500733\"},{\"tray_id\":\"12\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"10\",\"sku_name\":\"MaxVita Crunchy Indian Mixture 30gm\",\"sku_id\":\"4500726\"},{\"tray_id\":\"13\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"4\",\"sku_name\":\"Farmely Peri Peri Makhana 14gm\",\"sku_id\":\"4500665\"},{\"tray_id\":\"14\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"6\",\"sku_name\":\"Modern kitchens Garlic Mixture 26gm\",\"sku_id\":\"4500672\"},{\"tray_id\":\"15\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"7\",\"sku_name\":\"Max Protein Breakfast Cookie 10g Protein 55gm\",\"sku_id\":\"4500715\"},{\"tray_id\":\"16\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"7\",\"sku_name\":\"Maxvita Khara Boondi 28gm\",\"sku_id\":\"4500730\"},{\"tray_id\":\"17\",\"quantity_in_db\":\"8\",\"quantity_on_tray\":\"8\",\"sku_name\":\"Jus Amazin Salt N Pepper cashew 19g\",\"sku_id\":\"4500735\"},{\"tray_id\":\"18\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"12\",\"sku_name\":\"MaxVita Moong daal 25gm\",\"sku_id\":\"4500723\"},{\"tray_id\":\"19\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"10\",\"sku_name\":\"MaxVita Premium crunch Rusk 51gm\",\"sku_id\":\"4500710\"},{\"tray_id\":\"21\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"5\",\"sku_name\":\"Bindu Fizz Jeera Masala 250 ML\",\"sku_id\":\"186043\"},{\"tray_id\":\"22\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"4\",\"sku_name\":\"Nestle Nescafe Chilled Latte Coffee Milk \",\"sku_id\":\"186001\"},{\"tray_id\":\"23\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"3\",\"sku_name\":\"Paper boat Alphonso Mango 160ml\",\"sku_id\":\"4500407\"},{\"tray_id\":\"24\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"4\",\"sku_name\":\"Paper Boat NATA Mixed Berries 250ml\",\"sku_id\":\"4500720\"},{\"tray_id\":\"25\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"12\",\"sku_name\":\"Snickers Chocolate Bar 22g\",\"sku_id\":\"112220\"},{\"tray_id\":\"26\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"7\",\"sku_name\":\"Rite Bite Sports Bar 40gm\",\"sku_id\":\"4500669\"},{\"tray_id\":\"27\",\"quantity_in_db\":\"15\",\"quantity_on_tray\":\"16\",\"sku_name\":\"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g\",\"sku_id\":\"185993\"},{\"tray_id\":\"28\",\"quantity_in_db\":\"3\",\"quantity_on_tray\":\"10\",\"sku_name\":\"Farmely Classic date Bites 20gm\",\"sku_id\":\"4500667\"},{\"tray_id\":\"29\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"3\",\"sku_name\":\"Paper Boat Orange Pouch - 150Ml\",\"sku_id\":\"108676\"},{\"tray_id\":\"31\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"8\",\"sku_name\":\"MaxVita Indian Style Cream and onion Potato Chips 40gms\",\"sku_id\":\"4500713\"},{\"tray_id\":\"32\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"5\",\"sku_name\":\"MaxVita Chilli Spirinkled Potato Chips 40gms\",\"sku_id\":\"4500712\"},{\"tray_id\":\"33\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"11\",\"sku_name\":\"Maxvita Coconut Cookies 40gm\",\"sku_id\":\"4500725\"},{\"tray_id\":\"34\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"16\",\"sku_name\":\"Snickers Chocolate Bar 22g\",\"sku_id\":\"112220\"},{\"tray_id\":\"41\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"3\",\"sku_name\":\"Aatral Natural Electrolytes 200ml\",\"sku_id\":\"4500694\"},{\"tray_id\":\"42\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"5\",\"sku_name\":\"Heritage A1 Spiced Butter Milk180ml\",\"sku_id\":\"4500499\"},{\"tray_id\":\"43\",\"quantity_in_db\":\"4\",\"quantity_on_tray\":\"4\",\"sku_name\":\"Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE \",\"sku_id\":\"4500717\"},{\"tray_id\":\"44\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"5\",\"sku_name\":\"Heritage livo Badam milk 180ml\",\"sku_id\":\"4500704\"},{\"tray_id\":\"45\",\"quantity_in_db\":\"6\",\"quantity_on_tray\":\"7\",\"sku_name\":\"Nestle Nescafe Chilled Latte Coffee Milk \",\"sku_id\":\"186001\"}],\"success\":true,\"message\":\"Tray mismatches found.\"},\"action\":\"open_door_process\",\"sub-action\":\"verify-refill\",\"action_name\":\"verify refill Qty\",\"user\":\"server\",\"refill_order_id\":\"TM07201911_refill_260829114517\",\"active_doors\":[\"1\",\"2\",\"3\",\"4\"],\"response_data\":{\"tray_mismatches\":[{\"tray_id\":\"11\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"5\",\"sku_name\":\"MaxVita Sev Murmura 90gm\",\"sku_id\":\"4500733\"},{\"tray_id\":\"12\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"10\",\"sku_name\":\"MaxVita Crunchy Indian Mixture 30gm\",\"sku_id\":\"4500726\"},{\"tray_id\":\"13\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"4\",\"sku_name\":\"Farmely Peri Peri Makhana 14gm\",\"sku_id\":\"4500665\"},{\"tray_id\":\"14\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"6\",\"sku_name\":\"Modern kitchens Garlic Mixture 26gm\",\"sku_id\":\"4500672\"},{\"tray_id\":\"15\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"7\",\"sku_name\":\"Max Protein Breakfast Cookie 10g Protein 55gm\",\"sku_id\":\"4500715\"},{\"tray_id\":\"16\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"7\",\"sku_name\":\"Maxvita Khara Boondi 28gm\",\"sku_id\":\"4500730\"},{\"tray_id\":\"17\",\"quantity_in_db\":\"8\",\"quantity_on_tray\":\"8\",\"sku_name\":\"Jus Amazin Salt N Pepper cashew 19g\",\"sku_id\":\"4500735\"},{\"tray_id\":\"18\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"12\",\"sku_name\":\"MaxVita Moong daal 25gm\",\"sku_id\":\"4500723\"},{\"tray_id\":\"19\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"10\",\"sku_name\":\"MaxVita Premium crunch Rusk 51gm\",\"sku_id\":\"4500710\"},{\"tray_id\":\"21\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"5\",\"sku_name\":\"Bindu Fizz Jeera Masala 250 ML\",\"sku_id\":\"186043\"},{\"tray_id\":\"22\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"4\",\"sku_name\":\"Nestle Nescafe Chilled Latte Coffee Milk \",\"sku_id\":\"186001\"},{\"tray_id\":\"23\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"3\",\"sku_name\":\"Paper boat Alphonso Mango 160ml\",\"sku_id\":\"4500407\"},{\"tray_id\":\"24\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"4\",\"sku_name\":\"Paper Boat NATA Mixed Berries 250ml\",\"sku_id\":\"4500720\"},{\"tray_id\":\"25\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"12\",\"sku_name\":\"Snickers Chocolate Bar 22g\",\"sku_id\":\"112220\"},{\"tray_id\":\"26\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"7\",\"sku_name\":\"Rite Bite Sports Bar 40gm\",\"sku_id\":\"4500669\"},{\"tray_id\":\"27\",\"quantity_in_db\":\"15\",\"quantity_on_tray\":\"16\",\"sku_name\":\"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g\",\"sku_id\":\"185993\"},{\"tray_id\":\"28\",\"quantity_in_db\":\"3\",\"quantity_on_tray\":\"10\",\"sku_name\":\"Farmely Classic date Bites 20gm\",\"sku_id\":\"4500667\"},{\"tray_id\":\"29\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"3\",\"sku_name\":\"Paper Boat Orange Pouch - 150Ml\",\"sku_id\":\"108676\"},{\"tray_id\":\"31\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"8\",\"sku_name\":\"MaxVita Indian Style Cream and onion Potato Chips 40gms\",\"sku_id\":\"4500713\"},{\"tray_id\":\"32\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"5\",\"sku_name\":\"MaxVita Chilli Spirinkled Potato Chips 40gms\",\"sku_id\":\"4500712\"},{\"tray_id\":\"33\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"11\",\"sku_name\":\"Maxvita Coconut Cookies 40gm\",\"sku_id\":\"4500725\"},{\"tray_id\":\"34\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"16\",\"sku_name\":\"Snickers Chocolate Bar 22g\",\"sku_id\":\"112220\"},{\"tray_id\":\"41\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"3\",\"sku_name\":\"Aatral Natural Electrolytes 200ml\",\"sku_id\":\"4500694\"},{\"tray_id\":\"42\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"5\",\"sku_name\":\"Heritage A1 Spiced Butter Milk180ml\",\"sku_id\":\"4500499\"},{\"tray_id\":\"43\",\"quantity_in_db\":\"4\",\"quantity_on_tray\":\"4\",\"sku_name\":\"Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE \",\"sku_id\":\"4500717\"},{\"tray_id\":\"44\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"5\",\"sku_name\":\"Heritage livo Badam milk 180ml\",\"sku_id\":\"4500704\"},{\"tray_id\":\"45\",\"quantity_in_db\":\"6\",\"quantity_on_tray\":\"7\",\"sku_name\":\"Nestle Nescafe Chilled Latte Coffee Milk \",\"sku_id\":\"186001\"}],\"success\":true,\"message\":\"Tray mismatches found.\"}}","command_for":"server","created_at":"2026-08-29 11:44:44","modified_at":"2026-08-29 11:51:51"}
[2026-08-29 11:51:54,397.397 INFO    ] {'created_at': '2026-08-29 11:44:44', 'server_status': 'in-progress', 'command_request_data': '{"request_data":{"tray_mismatches":[{"tray_id":"11","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"MaxVita Sev Murmura 90gm","sku_id":"4500733"},{"tray_id":"12","quantity_in_db":"0","quantity_on_tray":"10","sku_name":"MaxVita Crunchy Indian Mixture 30gm","sku_id":"4500726"},{"tray_id":"13","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Farmely Peri Peri Makhana 14gm","sku_id":"4500665"},{"tray_id":"14","quantity_in_db":"0","quantity_on_tray":"6","sku_name":"Modern kitchens Garlic Mixture 26gm","sku_id":"4500672"},{"tray_id":"15","quantity_in_db":"2","quantity_on_tray":"7","sku_name":"Max Protein Breakfast Cookie 10g Protein 55gm","sku_id":"4500715"},{"tray_id":"16","quantity_in_db":"0","quantity_on_tray":"7","sku_name":"Maxvita Khara Boondi 28gm","sku_id":"4500730"},{"tray_id":"17","quantity_in_db":"8","quantity_on_tray":"8","sku_name":"Jus Amazin Salt N Pepper cashew 19g","sku_id":"4500735"},{"tray_id":"18","quantity_in_db":"0","quantity_on_tray":"12","sku_name":"MaxVita Moong daal 25gm","sku_id":"4500723"},{"tray_id":"19","quantity_in_db":"0","quantity_on_tray":"10","sku_name":"MaxVita Premium crunch Rusk 51gm","sku_id":"4500710"},{"tray_id":"21","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"Bindu Fizz Jeera Masala 250 ML","sku_id":"186043"},{"tray_id":"22","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Nestle Nescafe Chilled Latte Coffee Milk ","sku_id":"186001"},{"tray_id":"23","quantity_in_db":"0","quantity_on_tray":"3","sku_name":"Paper boat Alphonso Mango 160ml","sku_id":"4500407"},{"tray_id":"24","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Paper Boat NATA Mixed Berries 250ml","sku_id":"4500720"},{"tray_id":"25","quantity_in_db":"2","quantity_on_tray":"12","sku_name":"Snickers Chocolate Bar 22g","sku_id":"112220"},{"tray_id":"26","quantity_in_db":"0","quantity_on_tray":"7","sku_name":"Rite Bite Sports Bar 40gm","sku_id":"4500669"},{"tray_id":"27","quantity_in_db":"15","quantity_on_tray":"16","sku_name":"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g","sku_id":"185993"},{"tray_id":"28","quantity_in_db":"3","quantity_on_tray":"10","sku_name":"Farmely Classic date Bites 20gm","sku_id":"4500667"},{"tray_id":"29","quantity_in_db":"0","quantity_on_tray":"3","sku_name":"Paper Boat Orange Pouch - 150Ml","sku_id":"108676"},{"tray_id":"31","quantity_in_db":"2","quantity_on_tray":"8","sku_name":"MaxVita Indian Style Cream and onion Potato Chips 40gms","sku_id":"4500713"},{"tray_id":"32","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"MaxVita Chilli Spirinkled Potato Chips 40gms","sku_id":"4500712"},{"tray_id":"33","quantity_in_db":"0","quantity_on_tray":"11","sku_name":"Maxvita Coconut Cookies 40gm","sku_id":"4500725"},{"tray_id":"34","quantity_in_db":"0","quantity_on_tray":"16","sku_name":"Snickers Chocolate Bar 22g","sku_id":"112220"},{"tray_id":"41","quantity_in_db":"2","quantity_on_tray":"3","sku_name":"Aatral Natural Electrolytes 200ml","sku_id":"4500694"},{"tray_id":"42","quantity_in_db":"2","quantity_on_tray":"5","sku_name":"Heritage A1 Spiced Butter Milk180ml","sku_id":"4500499"},{"tray_id":"43","quantity_in_db":"4","quantity_on_tray":"4","sku_name":"Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE ","sku_id":"4500717"},{"tray_id":"44","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"Heritage livo Badam milk 180ml","sku_id":"4500704"},{"tray_id":"45","quantity_in_db":"6","quantity_on_tray":"7","sku_name":"Nestle Nescafe Chilled Latte Coffee Milk ","sku_id":"186001"}],"success":true,"message":"Tray mismatches found."},"action":"open_door_process","sub-action":"verify-refill","action_name":"verify refill Qty","user":"server","refill_order_id":"TM07201911_refill_260829114517","active_doors":["1","2","3","4"],"response_data":{"tray_mismatches":[{"tray_id":"11","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"MaxVita Sev Murmura 90gm","sku_id":"4500733"},{"tray_id":"12","quantity_in_db":"0","quantity_on_tray":"10","sku_name":"MaxVita Crunchy Indian Mixture 30gm","sku_id":"4500726"},{"tray_id":"13","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Farmely Peri Peri Makhana 14gm","sku_id":"4500665"},{"tray_id":"14","quantity_in_db":"0","quantity_on_tray":"6","sku_name":"Modern kitchens Garlic Mixture 26gm","sku_id":"4500672"},{"tray_id":"15","quantity_in_db":"2","quantity_on_tray":"7","sku_name":"Max Protein Breakfast Cookie 10g Protein 55gm","sku_id":"4500715"},{"tray_id":"16","quantity_in_db":"0","quantity_on_tray":"7","sku_name":"Maxvita Khara Boondi 28gm","sku_id":"4500730"},{"tray_id":"17","quantity_in_db":"8","quantity_on_tray":"8","sku_name":"Jus Amazin Salt N Pepper cashew 19g","sku_id":"4500735"},{"tray_id":"18","quantity_in_db":"0","quantity_on_tray":"12","sku_name":"MaxVita Moong daal 25gm","sku_id":"4500723"},{"tray_id":"19","quantity_in_db":"0","quantity_on_tray":"10","sku_name":"MaxVita Premium crunch Rusk 51gm","sku_id":"4500710"},{"tray_id":"21","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"Bindu Fizz Jeera Masala 250 ML","sku_id":"186043"},{"tray_id":"22","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Nestle Nescafe Chilled Latte Coffee Milk ","sku_id":"186001"},{"tray_id":"23","quantity_in_db":"0","quantity_on_tray":"3","sku_name":"Paper boat Alphonso Mango 160ml","sku_id":"4500407"},{"tray_id":"24","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Paper Boat NATA Mixed Berries 250ml","sku_id":"4500720"},{"tray_id":"25","quantity_in_db":"2","quantity_on_tray":"12","sku_name":"Snickers Chocolate Bar 22g","sku_id":"112220"},{"tray_id":"26","quantity_in_db":"0","quantity_on_tray":"7","sku_name":"Rite Bite Sports Bar 40gm","sku_id":"4500669"},{"tray_id":"27","quantity_in_db":"15","quantity_on_tray":"16","sku_name":"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g","sku_id":"185993"},{"tray_id":"28","quantity_in_db":"3","quantity_on_tray":"10","sku_name":"Farmely Classic date Bites 20gm","sku_id":"4500667"},{"tray_id":"29","quantity_in_db":"0","quantity_on_tray":"3","sku_name":"Paper Boat Orange Pouch - 150Ml","sku_id":"108676"},{"tray_id":"31","quantity_in_db":"2","quantity_on_tray":"8","sku_name":"MaxVita Indian Style Cream and onion Potato Chips 40gms","sku_id":"4500713"},{"tray_id":"32","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"MaxVita Chilli Spirinkled Potato Chips 40gms","sku_id":"4500712"},{"tray_id":"33","quantity_in_db":"0","quantity_on_tray":"11","sku_name":"Maxvita Coconut Cookies 40gm","sku_id":"4500725"},{"tray_id":"34","quantity_in_db":"0","quantity_on_tray":"16","sku_name":"Snickers Chocolate Bar 22g","sku_id":"112220"},{"tray_id":"41","quantity_in_db":"2","quantity_on_tray":"3","sku_name":"Aatral Natural Electrolytes 200ml","sku_id":"4500694"},{"tray_id":"42","quantity_in_db":"2","quantity_on_tray":"5","sku_name":"Heritage A1 Spiced Butter Milk180ml","sku_id":"4500499"},{"tray_id":"43","quantity_in_db":"4","quantity_on_tray":"4","sku_name":"Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE ","sku_id":"4500717"},{"tray_id":"44","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"Heritage livo Badam milk 180ml","sku_id":"4500704"},{"tray_id":"45","quantity_in_db":"6","quantity_on_tray":"7","sku_name":"Nestle Nescafe Chilled Latte Coffee Milk ","sku_id":"186001"}],"success":true,"message":"Tray mismatches found."}}', 'last_command_response': '{"tray_mismatches":[{"tray_id":"11","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"MaxVita Sev Murmura 90gm","sku_id":"4500733"},{"tray_id":"12","quantity_in_db":"0","quantity_on_tray":"10","sku_name":"MaxVita Crunchy Indian Mixture 30gm","sku_id":"4500726"},{"tray_id":"13","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Farmely Peri Peri Makhana 14gm","sku_id":"4500665"},{"tray_id":"14","quantity_in_db":"0","quantity_on_tray":"6","sku_name":"Modern kitchens Garlic Mixture 26gm","sku_id":"4500672"},{"tray_id":"15","quantity_in_db":"2","quantity_on_tray":"7","sku_name":"Max Protein Breakfast Cookie 10g Protein 55gm","sku_id":"4500715"},{"tray_id":"16","quantity_in_db":"0","quantity_on_tray":"7","sku_name":"Maxvita Khara Boondi 28gm","sku_id":"4500730"},{"tray_id":"17","quantity_in_db":"8","quantity_on_tray":"8","sku_name":"Jus Amazin Salt N Pepper cashew 19g","sku_id":"4500735"},{"tray_id":"18","quantity_in_db":"0","quantity_on_tray":"12","sku_name":"MaxVita Moong daal 25gm","sku_id":"4500723"},{"tray_id":"19","quantity_in_db":"0","quantity_on_tray":"10","sku_name":"MaxVita Premium crunch Rusk 51gm","sku_id":"4500710"},{"tray_id":"21","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"Bindu Fizz Jeera Masala 250 ML","sku_id":"186043"},{"tray_id":"22","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Nestle Nescafe Chilled Latte Coffee Milk ","sku_id":"186001"},{"tray_id":"23","quantity_in_db":"0","quantity_on_tray":"3","sku_name":"Paper boat Alphonso Mango 160ml","sku_id":"4500407"},{"tray_id":"24","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Paper Boat NATA Mixed Berries 250ml","sku_id":"4500720"},{"tray_id":"25","quantity_in_db":"2","quantity_on_tray":"12","sku_name":"Snickers Chocolate Bar 22g","sku_id":"112220"},{"tray_id":"26","quantity_in_db":"0","quantity_on_tray":"7","sku_name":"Rite Bite Sports Bar 40gm","sku_id":"4500669"},{"tray_id":"27","quantity_in_db":"15","quantity_on_tray":"16","sku_name":"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g","sku_id":"185993"},{"tray_id":"28","quantity_in_db":"3","quantity_on_tray":"10","sku_name":"Farmely Classic date Bites 20gm","sku_id":"4500667"},{"tray_id":"29","quantity_in_db":"0","quantity_on_tray":"3","sku_name":"Paper Boat Orange Pouch - 150Ml","sku_id":"108676"},{"tray_id":"31","quantity_in_db":"2","quantity_on_tray":"8","sku_name":"MaxVita Indian Style Cream and onion Potato Chips 40gms","sku_id":"4500713"},{"tray_id":"32","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"MaxVita Chilli Spirinkled Potato Chips 40gms","sku_id":"4500712"},{"tray_id":"33","quantity_in_db":"0","quantity_on_tray":"11","sku_name":"Maxvita Coconut Cookies 40gm","sku_id":"4500725"},{"tray_id":"34","quantity_in_db":"0","quantity_on_tray":"16","sku_name":"Snickers Chocolate Bar 22g","sku_id":"112220"},{"tray_id":"41","quantity_in_db":"2","quantity_on_tray":"3","sku_name":"Aatral Natural Electrolytes 200ml","sku_id":"4500694"},{"tray_id":"42","quantity_in_db":"2","quantity_on_tray":"5","sku_name":"Heritage A1 Spiced Butter Milk180ml","sku_id":"4500499"},{"tray_id":"43","quantity_in_db":"4","quantity_on_tray":"4","sku_name":"Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE ","sku_id":"4500717"},{"tray_id":"44","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"Heritage livo Badam milk 180ml","sku_id":"4500704"},{"tray_id":"45","quantity_in_db":"6","quantity_on_tray":"7","sku_name":"Nestle Nescafe Chilled Latte Coffee Milk ","sku_id":"186001"}],"success":true,"message":"Tray mismatches found.","user":"machine"}', 'all_command_response': '[{"action":"get_user_mobile_no","mobile_no":"9036356553","command_for":"server"},{"success":"true","refill_id":"9690346","otp":"1956","user_id":9036356553,"allowed":"1","user":"machine"},{"action":"get_mobile_otp","mobile_no":"9036356553","otp":"1956","command_for":"server"},{"active_payment_gateways":"[{\\"header\\": \\"QR Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"PayTM\\", \\"label\\": \\"PayTM\\"}, {\\"active\\": 1, \\"name\\": \\"PhonePe\\", \\"label\\": \\"PhonePe\\"}, {\\"active\\": 1, \\"name\\": \\"GooglePay\\", \\"label\\": \\"Google Pay\\"}, {\\"active\\": 1, \\"name\\": \\"BHIM\\", \\"label\\": \\"BHIM UPI\\"}]}, {\\"header\\": \\"Card Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"Sodexo\\", \\"label\\": \\"Sodexo Card\\"}, {\\"active\\": 1, \\"name\\": \\"Card\\", \\"label\\": \\"Credit\\/Debit Card\\"}, {\\"active\\": 0, \\"name\\": \\"Qwikcilver\\", \\"label\\": \\"QwikCilver\\"}]}, {\\"header\\": \\"Wallet Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"LazyPay\\", \\"label\\": \\"LazyPay\\"}, {\\"active\\": 0, \\"name\\": \\"Ola\\", \\"label\\": \\"OLA Money\\"}, {\\"active\\": 0, \\"name\\": \\"Neuu\\", \\"label\\": \\"Tiny Wallet\\"}]}]","order_id":"TM07201911_refill_260829114517","refill_id":"9690346","rstatus":true,"status":"True","user_id":9036356553,"active_doors":["1","2","3","4"],"door_size":4,"refill_order_id":"TM07201911_refill_260829114517","user":"machine"},{"action":"open_door_call","door_no":"1","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 1","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 1\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 1","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"2","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 2","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 2\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 2","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"2","command_for":"server"},{"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":"","SectionSKU":{"Header":"If you like us, tell others... else tell us","skus":[]},"SectionMain":{"Header":"Door Closed"},"status":"True","user":"machine"},{"action":"open_door_call","door_no":"3","command_for":"server"},{"action":"open_door_call","door_no":"4","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 3","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 3\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 3","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"4","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 4","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 4\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 4","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"complete_refill","trays":{"11":{"id":"11","tray_id":"11","door_id":"1","image":"https:\\/\\/images.tinymart.in\\/product\\/4500733-6191.jpg","name":"MaxVita Sev Murmura 90gm","mrp":"30","weight":"96","qty":0,"org_sku":"4500733","p_sku":"4500733","p_qty":0,"l_sku":"4500733","l_qty":"5","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500733-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"12":{"id":"12","tray_id":"12","door_id":"1","image":"https:\\/\\/images.tinymart.in\\/product\\/4500726-818.jpeg","name":"MaxVita Crunchy Indian Mixture 30gm","mrp":"10","weight":"35","qty":0,"org_sku":"4500726","p_sku":"4500726","p_qty":0,"l_sku":"4500726","l_qty":"10","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500726-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"13":{"id":"13","tray_id":"13","door_id":"1","image":"https:\\/\\/images.tinymart.in\\/product\\/4500665-172.jpg","name":"Farmely Peri Peri Makhana 14gm","mrp":"30","weight":"22","qty":0,"org_sku":"4500665","p_sku":"4500665","p_qty":0,"l_sku":"4500665","l_qty":"4","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500665-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"14":{"id":"14","tray_id":"14","door_id":"1","image":"https:\\/\\/images.tinymart.in\\/product\\/4500672-7226.webp","name":"Modern kitchens Garlic Mixture 26gm","mrp":"10","weight":"29","qty":0,"org_sku":"4500672","p_sku":"4500672","p_qty":0,"l_sku":"4500672","l_qty":"6","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500672-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"15":{"tray_id":"15","door_id":"1","tray_weight":"99999","sku_json":"4500715-2","org_sku":"4500715","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/4500715-4904.jpg","name":"Max Protein Breakfast Cookie 10g Protein 55gm","mrp":"50","weight":"60","qty":"2","id":"15","p_sku":"4500715","p_qty":"2","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"l_sku":"4500715","l_qty":"6"},"16":{"id":"16","tray_id":"16","door_id":"1","image":"https:\\/\\/images.tinymart.in\\/product\\/4500730-5277.png","name":"Maxvita Khara Boondi 28gm","mrp":"10","weight":"33","qty":0,"org_sku":"4500730","p_sku":"4500730","p_qty":0,"l_sku":"4500730","l_qty":"7","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500730-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"17":{"tray_id":"17","door_id":"1","tray_weight":"99999","sku_json":"4500735-8","org_sku":"4500735","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/4500735-9819.jpeg","name":"Jus Amazin Salt N Pepper cashew 19g","mrp":"40","weight":"25","qty":"8","id":"17","p_sku":"4500735","p_qty":"8","p_return_sku":"4500605","p_return_qty":"4","return_sku":"4500605","return_qty":"4","return_image":"https:\\/\\/images.tinymart.in\\/product\\/4500605-6297.png","l_sku":"4500605","l_qty":"4"},"18":{"id":"18","tray_id":"18","door_id":"1","image":"https:\\/\\/images.tinymart.in\\/product\\/4500723-3888.png","name":"MaxVita Moong daal 25gm","mrp":"10","weight":"28","qty":0,"org_sku":"4500723","p_sku":"4500723","p_qty":0,"l_sku":"4500723","l_qty":"12","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500723-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"19":{"id":"19","tray_id":"19","door_id":"1","image":"https:\\/\\/images.tinymart.in\\/product\\/4500710-1463.png","name":"MaxVita Premium crunch Rusk 51gm","mrp":"10","weight":"55","qty":0,"org_sku":"4500710","p_sku":"4500710","p_qty":0,"l_sku":"4500710","l_qty":"10","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500710-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"20":{"id":"20","tray_id":"20","door_id":"1","image":"https:\\/\\/skuimg.s3.ap-south-1.amazonaws.com\\/App+Image+List\\/Cadbury+Dairy+Milk+Chocolate+Mahapack%2C+52g.jpg","name":"Cadbury Dairy Milk Chocolate Mahapack, 52g","mrp":"40","weight":"56","qty":0,"org_sku":"8253","p_sku":"8253","p_qty":0,"l_sku":"8253","l_qty":"0","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"8253-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"21":{"id":"21","tray_id":"21","door_id":"2","image":"https:\\/\\/images.tinymart.in\\/product\\/186043-5089.png","name":"Bindu Fizz Jeera Masala 250 ML","mrp":"20","weight":"295","qty":0,"org_sku":"186043","p_sku":"186043","p_qty":0,"l_sku":"186043","l_qty":"5","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"186043-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"22":{"id":"22","tray_id":"22","door_id":"2","image":"https:\\/\\/images.tinymart.in\\/product\\/186001-2099.webp","name":"Nestle Nescafe Chilled Latte Coffee Milk ","mrp":"50","weight":"202","qty":0,"org_sku":"186001","p_sku":"186001","p_qty":0,"l_sku":"186001","l_qty":"3","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"186001-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"23":{"id":"23","tray_id":"23","door_id":"2","image":"https:\\/\\/images.tinymart.in\\/product\\/4500407-2060.jpg","name":"Paper boat Alphonso Mango 160ml","mrp":"25","weight":"175","qty":0,"org_sku":"4500407","p_sku":"4500407","p_qty":0,"l_sku":"4500407","l_qty":"3","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500407-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"24":{"id":"24","tray_id":"24","door_id":"2","image":"https:\\/\\/images.tinymart.in\\/product\\/4500720-8132.webp","name":"Paper Boat NATA Mixed Berries 250ml","mrp":"40","weight":"284","qty":0,"org_sku":"4500720","p_sku":"4500720","p_qty":0,"l_sku":"4500720","l_qty":"4","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500720-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"25":{"tray_id":"25","door_id":"2","tray_weight":"99999","sku_json":"186078-2","org_sku":"112220","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/186078-2883.png","name":"Paper boat Aam Panna 150ml","mrp":"25","weight":"166","qty":"2","id":"25","p_sku":"186078","p_qty":"2","p_return_sku":"186078","p_return_qty":"1","l_sku":"186078","l_qty":"1"},"26":{"id":"26","tray_id":"26","door_id":"2","image":"https:\\/\\/images.tinymart.in\\/product\\/4500669-3919.webp","name":"Rite Bite Sports Bar 40gm","mrp":"45","weight":"44","qty":0,"org_sku":"4500669","p_sku":"4500669","p_qty":0,"l_sku":"4500669","l_qty":"7","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500669-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"27":{"tray_id":"27","door_id":"2","tray_weight":"99999","sku_json":"185993-15","org_sku":"185993","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/185993-3509.webp","name":"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g","mrp":"20","weight":"42","qty":"15","id":"27","p_sku":"185993","p_qty":"15","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"l_sku":"185993","l_qty":"1"},"28":{"tray_id":"28","door_id":"2","tray_weight":"99999","sku_json":"4500667-3","org_sku":"4500667","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/4500667-4339.webp","name":"Farmely Classic date Bites 20gm","mrp":"40","weight":"23","qty":"3","id":"28","p_sku":"4500667","p_qty":"3","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"l_sku":"4500667","l_qty":"6"},"29":{"id":"29","tray_id":"29","door_id":"2","image":"https:\\/\\/images.tinymart.in\\/product\\/108676-2689.jpg","name":"Paper Boat Orange Pouch - 150Ml","mrp":"25","weight":"177","qty":0,"org_sku":"108676","p_sku":"108676","p_qty":0,"l_sku":"108676","l_qty":"3","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"108676-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"31":{"tray_id":"31","door_id":"3","tray_weight":"99999","sku_json":"4500713-2","org_sku":"4500713","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/4500713-9506.jpg","name":"MaxVita Indian Style Cream and onion Potato Chips 40gms","mrp":"20","weight":"47","qty":"2","id":"31","p_sku":"4500713","p_qty":"2","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"l_sku":"4500713","l_qty":"6"},"32":{"id":"32","tray_id":"32","door_id":"3","image":"https:\\/\\/images.tinymart.in\\/product\\/4500712-3453.png","name":"MaxVita Chilli Spirinkled Potato Chips 40gms","mrp":"20","weight":"46","qty":0,"org_sku":"4500712","p_sku":"4500712","p_qty":0,"l_sku":"4500712","l_qty":"5","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500712-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"33":{"id":"33","tray_id":"33","door_id":"3","image":"https:\\/\\/images.tinymart.in\\/product\\/4500725-5961.png","name":"Maxvita Coconut Cookies 40gm","mrp":"10","weight":"44","qty":0,"org_sku":"4500725","p_sku":"4500725","p_qty":0,"l_sku":"4500725","l_qty":"11","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500725-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"34":{"id":"34","tray_id":"34","door_id":"3","image":"https:\\/\\/images.tinymart.in\\/product\\/112220-2513.jpg","name":"Snickers Chocolate Bar 22g","mrp":"20","weight":"24","qty":0,"org_sku":"112220","p_sku":"112220","p_qty":0,"l_sku":"112220","l_qty":"16","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"112220-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"41":{"tray_id":"41","door_id":"4","tray_weight":"99999","sku_json":"4500694-2","org_sku":"4500694","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/4500694-1219.png","name":"Aatral Natural Electrolytes 200ml","mrp":"60","weight":"232","qty":"2","id":"41","p_sku":"4500694","p_qty":"2","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"l_sku":"4500694","l_qty":"3"},"42":{"tray_id":"42","door_id":"4","tray_weight":"99999","sku_json":"4500499-2","org_sku":"4500499","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/4500499-5719.webp","name":"Heritage A1 Spiced Butter Milk180ml","mrp":"20","weight":"192","qty":"2","id":"42","p_sku":"4500499","p_qty":"2","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"l_sku":"4500499","l_qty":"4"},"43":{"tray_id":"43","door_id":"4","tray_weight":"99999","sku_json":"4500717-4","org_sku":"4500717","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/4500717-9875.webp","name":"Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE ","mrp":"141","weight":"287","qty":"4","id":"43","p_sku":"4500717","p_qty":"4","p_return_sku":"186059","p_return_qty":"1","return_sku":"186059","return_qty":"1","return_image":"https:\\/\\/images.tinymart.in\\/product\\/186059-5330.png","l_sku":"186059","l_qty":"1"},"44":{"id":"44","tray_id":"44","door_id":"4","image":"https:\\/\\/images.tinymart.in\\/product\\/4500704-2291.webp","name":"Heritage livo Badam milk 180ml","mrp":"30","weight":"210","qty":0,"org_sku":"4500704","p_sku":"4500704","p_qty":0,"l_sku":"4500704","l_qty":"5","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500704-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"45":{"tray_id":"45","door_id":"4","tray_weight":"99999","sku_json":"186001-6","org_sku":"186001","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/186001-2099.webp","name":"Nestle Nescafe Chilled Latte Coffee Milk ","mrp":"50","weight":"202","qty":"6","id":"45","p_sku":"186001","p_qty":"6","p_return_sku":"4500656","p_return_qty":"3","return_sku":"4500656","return_qty":"3","return_image":"https:\\/\\/images.tinymart.in\\/product\\/4500656-2520.webp","l_sku":"4500656","l_qty":"3"}},"command_for":"server"},{"tray_mismatches":[{"tray_id":"11","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"MaxVita Sev Murmura 90gm","sku_id":"4500733"},{"tray_id":"12","quantity_in_db":"0","quantity_on_tray":"10","sku_name":"MaxVita Crunchy Indian Mixture 30gm","sku_id":"4500726"},{"tray_id":"13","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Farmely Peri Peri Makhana 14gm","sku_id":"4500665"},{"tray_id":"14","quantity_in_db":"0","quantity_on_tray":"6","sku_name":"Modern kitchens Garlic Mixture 26gm","sku_id":"4500672"},{"tray_id":"15","quantity_in_db":"2","quantity_on_tray":"7","sku_name":"Max Protein Breakfast Cookie 10g Protein 55gm","sku_id":"4500715"},{"tray_id":"16","quantity_in_db":"0","quantity_on_tray":"7","sku_name":"Maxvita Khara Boondi 28gm","sku_id":"4500730"},{"tray_id":"17","quantity_in_db":"8","quantity_on_tray":"8","sku_name":"Jus Amazin Salt N Pepper cashew 19g","sku_id":"4500735"},{"tray_id":"18","quantity_in_db":"0","quantity_on_tray":"12","sku_name":"MaxVita Moong daal 25gm","sku_id":"4500723"},{"tray_id":"19","quantity_in_db":"0","quantity_on_tray":"10","sku_name":"MaxVita Premium crunch Rusk 51gm","sku_id":"4500710"},{"tray_id":"21","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"Bindu Fizz Jeera Masala 250 ML","sku_id":"186043"},{"tray_id":"22","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Nestle Nescafe Chilled Latte Coffee Milk ","sku_id":"186001"},{"tray_id":"23","quantity_in_db":"0","quantity_on_tray":"3","sku_name":"Paper boat Alphonso Mango 160ml","sku_id":"4500407"},{"tray_id":"24","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Paper Boat NATA Mixed Berries 250ml","sku_id":"4500720"},{"tray_id":"25","quantity_in_db":"2","quantity_on_tray":"12","sku_name":"Snickers Chocolate Bar 22g","sku_id":"112220"},{"tray_id":"26","quantity_in_db":"0","quantity_on_tray":"7","sku_name":"Rite Bite Sports Bar 40gm","sku_id":"4500669"},{"tray_id":"27","quantity_in_db":"15","quantity_on_tray":"16","sku_name":"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g","sku_id":"185993"},{"tray_id":"28","quantity_in_db":"3","quantity_on_tray":"10","sku_name":"Farmely Classic date Bites 20gm","sku_id":"4500667"},{"tray_id":"29","quantity_in_db":"0","quantity_on_tray":"3","sku_name":"Paper Boat Orange Pouch - 150Ml","sku_id":"108676"},{"tray_id":"31","quantity_in_db":"2","quantity_on_tray":"8","sku_name":"MaxVita Indian Style Cream and onion Potato Chips 40gms","sku_id":"4500713"},{"tray_id":"32","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"MaxVita Chilli Spirinkled Potato Chips 40gms","sku_id":"4500712"},{"tray_id":"33","quantity_in_db":"0","quantity_on_tray":"11","sku_name":"Maxvita Coconut Cookies 40gm","sku_id":"4500725"},{"tray_id":"34","quantity_in_db":"0","quantity_on_tray":"16","sku_name":"Snickers Chocolate Bar 22g","sku_id":"112220"},{"tray_id":"41","quantity_in_db":"2","quantity_on_tray":"3","sku_name":"Aatral Natural Electrolytes 200ml","sku_id":"4500694"},{"tray_id":"42","quantity_in_db":"2","quantity_on_tray":"5","sku_name":"Heritage A1 Spiced Butter Milk180ml","sku_id":"4500499"},{"tray_id":"43","quantity_in_db":"4","quantity_on_tray":"4","sku_name":"Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE ","sku_id":"4500717"},{"tray_id":"44","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"Heritage livo Badam milk 180ml","sku_id":"4500704"},{"tray_id":"45","quantity_in_db":"6","quantity_on_tray":"7","sku_name":"Nestle Nescafe Chilled Latte Coffee Milk ","sku_id":"186001"}],"success":true,"message":"Tray mismatches found.","user":"machine"}]', 'command_for': 'server', 'type_of_order': 'refill', 'order_id': '9690346', 'server_response': '', 'status': 'active', 'user_id': '9036356553', 'modified_at': '2026-08-29 11:51:51', 'command_todo': 'interactive-refill', 'vm_id': '1861896391128712585'}
[2026-08-29 11:51:54,402.402 INFO    ] {'created_at': '2026-08-29 11:44:44', 'server_status': 'in-progress', 'command_request_data': '{"request_data":{"tray_mismatches":[{"tray_id":"11","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"MaxVita Sev Murmura 90gm","sku_id":"4500733"},{"tray_id":"12","quantity_in_db":"0","quantity_on_tray":"10","sku_name":"MaxVita Crunchy Indian Mixture 30gm","sku_id":"4500726"},{"tray_id":"13","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Farmely Peri Peri Makhana 14gm","sku_id":"4500665"},{"tray_id":"14","quantity_in_db":"0","quantity_on_tray":"6","sku_name":"Modern kitchens Garlic Mixture 26gm","sku_id":"4500672"},{"tray_id":"15","quantity_in_db":"2","quantity_on_tray":"7","sku_name":"Max Protein Breakfast Cookie 10g Protein 55gm","sku_id":"4500715"},{"tray_id":"16","quantity_in_db":"0","quantity_on_tray":"7","sku_name":"Maxvita Khara Boondi 28gm","sku_id":"4500730"},{"tray_id":"17","quantity_in_db":"8","quantity_on_tray":"8","sku_name":"Jus Amazin Salt N Pepper cashew 19g","sku_id":"4500735"},{"tray_id":"18","quantity_in_db":"0","quantity_on_tray":"12","sku_name":"MaxVita Moong daal 25gm","sku_id":"4500723"},{"tray_id":"19","quantity_in_db":"0","quantity_on_tray":"10","sku_name":"MaxVita Premium crunch Rusk 51gm","sku_id":"4500710"},{"tray_id":"21","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"Bindu Fizz Jeera Masala 250 ML","sku_id":"186043"},{"tray_id":"22","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Nestle Nescafe Chilled Latte Coffee Milk ","sku_id":"186001"},{"tray_id":"23","quantity_in_db":"0","quantity_on_tray":"3","sku_name":"Paper boat Alphonso Mango 160ml","sku_id":"4500407"},{"tray_id":"24","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Paper Boat NATA Mixed Berries 250ml","sku_id":"4500720"},{"tray_id":"25","quantity_in_db":"2","quantity_on_tray":"12","sku_name":"Snickers Chocolate Bar 22g","sku_id":"112220"},{"tray_id":"26","quantity_in_db":"0","quantity_on_tray":"7","sku_name":"Rite Bite Sports Bar 40gm","sku_id":"4500669"},{"tray_id":"27","quantity_in_db":"15","quantity_on_tray":"16","sku_name":"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g","sku_id":"185993"},{"tray_id":"28","quantity_in_db":"3","quantity_on_tray":"10","sku_name":"Farmely Classic date Bites 20gm","sku_id":"4500667"},{"tray_id":"29","quantity_in_db":"0","quantity_on_tray":"3","sku_name":"Paper Boat Orange Pouch - 150Ml","sku_id":"108676"},{"tray_id":"31","quantity_in_db":"2","quantity_on_tray":"8","sku_name":"MaxVita Indian Style Cream and onion Potato Chips 40gms","sku_id":"4500713"},{"tray_id":"32","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"MaxVita Chilli Spirinkled Potato Chips 40gms","sku_id":"4500712"},{"tray_id":"33","quantity_in_db":"0","quantity_on_tray":"11","sku_name":"Maxvita Coconut Cookies 40gm","sku_id":"4500725"},{"tray_id":"34","quantity_in_db":"0","quantity_on_tray":"16","sku_name":"Snickers Chocolate Bar 22g","sku_id":"112220"},{"tray_id":"41","quantity_in_db":"2","quantity_on_tray":"3","sku_name":"Aatral Natural Electrolytes 200ml","sku_id":"4500694"},{"tray_id":"42","quantity_in_db":"2","quantity_on_tray":"5","sku_name":"Heritage A1 Spiced Butter Milk180ml","sku_id":"4500499"},{"tray_id":"43","quantity_in_db":"4","quantity_on_tray":"4","sku_name":"Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE ","sku_id":"4500717"},{"tray_id":"44","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"Heritage livo Badam milk 180ml","sku_id":"4500704"},{"tray_id":"45","quantity_in_db":"6","quantity_on_tray":"7","sku_name":"Nestle Nescafe Chilled Latte Coffee Milk ","sku_id":"186001"}],"success":true,"message":"Tray mismatches found."},"action":"open_door_process","sub-action":"verify-refill","action_name":"verify refill Qty","user":"server","refill_order_id":"TM07201911_refill_260829114517","active_doors":["1","2","3","4"],"response_data":{"tray_mismatches":[{"tray_id":"11","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"MaxVita Sev Murmura 90gm","sku_id":"4500733"},{"tray_id":"12","quantity_in_db":"0","quantity_on_tray":"10","sku_name":"MaxVita Crunchy Indian Mixture 30gm","sku_id":"4500726"},{"tray_id":"13","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Farmely Peri Peri Makhana 14gm","sku_id":"4500665"},{"tray_id":"14","quantity_in_db":"0","quantity_on_tray":"6","sku_name":"Modern kitchens Garlic Mixture 26gm","sku_id":"4500672"},{"tray_id":"15","quantity_in_db":"2","quantity_on_tray":"7","sku_name":"Max Protein Breakfast Cookie 10g Protein 55gm","sku_id":"4500715"},{"tray_id":"16","quantity_in_db":"0","quantity_on_tray":"7","sku_name":"Maxvita Khara Boondi 28gm","sku_id":"4500730"},{"tray_id":"17","quantity_in_db":"8","quantity_on_tray":"8","sku_name":"Jus Amazin Salt N Pepper cashew 19g","sku_id":"4500735"},{"tray_id":"18","quantity_in_db":"0","quantity_on_tray":"12","sku_name":"MaxVita Moong daal 25gm","sku_id":"4500723"},{"tray_id":"19","quantity_in_db":"0","quantity_on_tray":"10","sku_name":"MaxVita Premium crunch Rusk 51gm","sku_id":"4500710"},{"tray_id":"21","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"Bindu Fizz Jeera Masala 250 ML","sku_id":"186043"},{"tray_id":"22","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Nestle Nescafe Chilled Latte Coffee Milk ","sku_id":"186001"},{"tray_id":"23","quantity_in_db":"0","quantity_on_tray":"3","sku_name":"Paper boat Alphonso Mango 160ml","sku_id":"4500407"},{"tray_id":"24","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Paper Boat NATA Mixed Berries 250ml","sku_id":"4500720"},{"tray_id":"25","quantity_in_db":"2","quantity_on_tray":"12","sku_name":"Snickers Chocolate Bar 22g","sku_id":"112220"},{"tray_id":"26","quantity_in_db":"0","quantity_on_tray":"7","sku_name":"Rite Bite Sports Bar 40gm","sku_id":"4500669"},{"tray_id":"27","quantity_in_db":"15","quantity_on_tray":"16","sku_name":"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g","sku_id":"185993"},{"tray_id":"28","quantity_in_db":"3","quantity_on_tray":"10","sku_name":"Farmely Classic date Bites 20gm","sku_id":"4500667"},{"tray_id":"29","quantity_in_db":"0","quantity_on_tray":"3","sku_name":"Paper Boat Orange Pouch - 150Ml","sku_id":"108676"},{"tray_id":"31","quantity_in_db":"2","quantity_on_tray":"8","sku_name":"MaxVita Indian Style Cream and onion Potato Chips 40gms","sku_id":"4500713"},{"tray_id":"32","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"MaxVita Chilli Spirinkled Potato Chips 40gms","sku_id":"4500712"},{"tray_id":"33","quantity_in_db":"0","quantity_on_tray":"11","sku_name":"Maxvita Coconut Cookies 40gm","sku_id":"4500725"},{"tray_id":"34","quantity_in_db":"0","quantity_on_tray":"16","sku_name":"Snickers Chocolate Bar 22g","sku_id":"112220"},{"tray_id":"41","quantity_in_db":"2","quantity_on_tray":"3","sku_name":"Aatral Natural Electrolytes 200ml","sku_id":"4500694"},{"tray_id":"42","quantity_in_db":"2","quantity_on_tray":"5","sku_name":"Heritage A1 Spiced Butter Milk180ml","sku_id":"4500499"},{"tray_id":"43","quantity_in_db":"4","quantity_on_tray":"4","sku_name":"Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE ","sku_id":"4500717"},{"tray_id":"44","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"Heritage livo Badam milk 180ml","sku_id":"4500704"},{"tray_id":"45","quantity_in_db":"6","quantity_on_tray":"7","sku_name":"Nestle Nescafe Chilled Latte Coffee Milk ","sku_id":"186001"}],"success":true,"message":"Tray mismatches found."}}', 'last_command_response': '{"tray_mismatches":[{"tray_id":"11","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"MaxVita Sev Murmura 90gm","sku_id":"4500733"},{"tray_id":"12","quantity_in_db":"0","quantity_on_tray":"10","sku_name":"MaxVita Crunchy Indian Mixture 30gm","sku_id":"4500726"},{"tray_id":"13","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Farmely Peri Peri Makhana 14gm","sku_id":"4500665"},{"tray_id":"14","quantity_in_db":"0","quantity_on_tray":"6","sku_name":"Modern kitchens Garlic Mixture 26gm","sku_id":"4500672"},{"tray_id":"15","quantity_in_db":"2","quantity_on_tray":"7","sku_name":"Max Protein Breakfast Cookie 10g Protein 55gm","sku_id":"4500715"},{"tray_id":"16","quantity_in_db":"0","quantity_on_tray":"7","sku_name":"Maxvita Khara Boondi 28gm","sku_id":"4500730"},{"tray_id":"17","quantity_in_db":"8","quantity_on_tray":"8","sku_name":"Jus Amazin Salt N Pepper cashew 19g","sku_id":"4500735"},{"tray_id":"18","quantity_in_db":"0","quantity_on_tray":"12","sku_name":"MaxVita Moong daal 25gm","sku_id":"4500723"},{"tray_id":"19","quantity_in_db":"0","quantity_on_tray":"10","sku_name":"MaxVita Premium crunch Rusk 51gm","sku_id":"4500710"},{"tray_id":"21","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"Bindu Fizz Jeera Masala 250 ML","sku_id":"186043"},{"tray_id":"22","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Nestle Nescafe Chilled Latte Coffee Milk ","sku_id":"186001"},{"tray_id":"23","quantity_in_db":"0","quantity_on_tray":"3","sku_name":"Paper boat Alphonso Mango 160ml","sku_id":"4500407"},{"tray_id":"24","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Paper Boat NATA Mixed Berries 250ml","sku_id":"4500720"},{"tray_id":"25","quantity_in_db":"2","quantity_on_tray":"12","sku_name":"Snickers Chocolate Bar 22g","sku_id":"112220"},{"tray_id":"26","quantity_in_db":"0","quantity_on_tray":"7","sku_name":"Rite Bite Sports Bar 40gm","sku_id":"4500669"},{"tray_id":"27","quantity_in_db":"15","quantity_on_tray":"16","sku_name":"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g","sku_id":"185993"},{"tray_id":"28","quantity_in_db":"3","quantity_on_tray":"10","sku_name":"Farmely Classic date Bites 20gm","sku_id":"4500667"},{"tray_id":"29","quantity_in_db":"0","quantity_on_tray":"3","sku_name":"Paper Boat Orange Pouch - 150Ml","sku_id":"108676"},{"tray_id":"31","quantity_in_db":"2","quantity_on_tray":"8","sku_name":"MaxVita Indian Style Cream and onion Potato Chips 40gms","sku_id":"4500713"},{"tray_id":"32","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"MaxVita Chilli Spirinkled Potato Chips 40gms","sku_id":"4500712"},{"tray_id":"33","quantity_in_db":"0","quantity_on_tray":"11","sku_name":"Maxvita Coconut Cookies 40gm","sku_id":"4500725"},{"tray_id":"34","quantity_in_db":"0","quantity_on_tray":"16","sku_name":"Snickers Chocolate Bar 22g","sku_id":"112220"},{"tray_id":"41","quantity_in_db":"2","quantity_on_tray":"3","sku_name":"Aatral Natural Electrolytes 200ml","sku_id":"4500694"},{"tray_id":"42","quantity_in_db":"2","quantity_on_tray":"5","sku_name":"Heritage A1 Spiced Butter Milk180ml","sku_id":"4500499"},{"tray_id":"43","quantity_in_db":"4","quantity_on_tray":"4","sku_name":"Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE ","sku_id":"4500717"},{"tray_id":"44","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"Heritage livo Badam milk 180ml","sku_id":"4500704"},{"tray_id":"45","quantity_in_db":"6","quantity_on_tray":"7","sku_name":"Nestle Nescafe Chilled Latte Coffee Milk ","sku_id":"186001"}],"success":true,"message":"Tray mismatches found.","user":"machine"}', 'all_command_response': '[{"action":"get_user_mobile_no","mobile_no":"9036356553","command_for":"server"},{"success":"true","refill_id":"9690346","otp":"1956","user_id":9036356553,"allowed":"1","user":"machine"},{"action":"get_mobile_otp","mobile_no":"9036356553","otp":"1956","command_for":"server"},{"active_payment_gateways":"[{\\"header\\": \\"QR Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"PayTM\\", \\"label\\": \\"PayTM\\"}, {\\"active\\": 1, \\"name\\": \\"PhonePe\\", \\"label\\": \\"PhonePe\\"}, {\\"active\\": 1, \\"name\\": \\"GooglePay\\", \\"label\\": \\"Google Pay\\"}, {\\"active\\": 1, \\"name\\": \\"BHIM\\", \\"label\\": \\"BHIM UPI\\"}]}, {\\"header\\": \\"Card Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"Sodexo\\", \\"label\\": \\"Sodexo Card\\"}, {\\"active\\": 1, \\"name\\": \\"Card\\", \\"label\\": \\"Credit\\/Debit Card\\"}, {\\"active\\": 0, \\"name\\": \\"Qwikcilver\\", \\"label\\": \\"QwikCilver\\"}]}, {\\"header\\": \\"Wallet Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"LazyPay\\", \\"label\\": \\"LazyPay\\"}, {\\"active\\": 0, \\"name\\": \\"Ola\\", \\"label\\": \\"OLA Money\\"}, {\\"active\\": 0, \\"name\\": \\"Neuu\\", \\"label\\": \\"Tiny Wallet\\"}]}]","order_id":"TM07201911_refill_260829114517","refill_id":"9690346","rstatus":true,"status":"True","user_id":9036356553,"active_doors":["1","2","3","4"],"door_size":4,"refill_order_id":"TM07201911_refill_260829114517","user":"machine"},{"action":"open_door_call","door_no":"1","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 1","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 1\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 1","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"2","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 2","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 2\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 2","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"2","command_for":"server"},{"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":"","SectionSKU":{"Header":"If you like us, tell others... else tell us","skus":[]},"SectionMain":{"Header":"Door Closed"},"status":"True","user":"machine"},{"action":"open_door_call","door_no":"3","command_for":"server"},{"action":"open_door_call","door_no":"4","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 3","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 3\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 3","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"4","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 4","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 4\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 4","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"complete_refill","trays":{"11":{"id":"11","tray_id":"11","door_id":"1","image":"https:\\/\\/images.tinymart.in\\/product\\/4500733-6191.jpg","name":"MaxVita Sev Murmura 90gm","mrp":"30","weight":"96","qty":0,"org_sku":"4500733","p_sku":"4500733","p_qty":0,"l_sku":"4500733","l_qty":"5","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500733-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"12":{"id":"12","tray_id":"12","door_id":"1","image":"https:\\/\\/images.tinymart.in\\/product\\/4500726-818.jpeg","name":"MaxVita Crunchy Indian Mixture 30gm","mrp":"10","weight":"35","qty":0,"org_sku":"4500726","p_sku":"4500726","p_qty":0,"l_sku":"4500726","l_qty":"10","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500726-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"13":{"id":"13","tray_id":"13","door_id":"1","image":"https:\\/\\/images.tinymart.in\\/product\\/4500665-172.jpg","name":"Farmely Peri Peri Makhana 14gm","mrp":"30","weight":"22","qty":0,"org_sku":"4500665","p_sku":"4500665","p_qty":0,"l_sku":"4500665","l_qty":"4","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500665-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"14":{"id":"14","tray_id":"14","door_id":"1","image":"https:\\/\\/images.tinymart.in\\/product\\/4500672-7226.webp","name":"Modern kitchens Garlic Mixture 26gm","mrp":"10","weight":"29","qty":0,"org_sku":"4500672","p_sku":"4500672","p_qty":0,"l_sku":"4500672","l_qty":"6","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500672-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"15":{"tray_id":"15","door_id":"1","tray_weight":"99999","sku_json":"4500715-2","org_sku":"4500715","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/4500715-4904.jpg","name":"Max Protein Breakfast Cookie 10g Protein 55gm","mrp":"50","weight":"60","qty":"2","id":"15","p_sku":"4500715","p_qty":"2","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"l_sku":"4500715","l_qty":"6"},"16":{"id":"16","tray_id":"16","door_id":"1","image":"https:\\/\\/images.tinymart.in\\/product\\/4500730-5277.png","name":"Maxvita Khara Boondi 28gm","mrp":"10","weight":"33","qty":0,"org_sku":"4500730","p_sku":"4500730","p_qty":0,"l_sku":"4500730","l_qty":"7","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500730-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"17":{"tray_id":"17","door_id":"1","tray_weight":"99999","sku_json":"4500735-8","org_sku":"4500735","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/4500735-9819.jpeg","name":"Jus Amazin Salt N Pepper cashew 19g","mrp":"40","weight":"25","qty":"8","id":"17","p_sku":"4500735","p_qty":"8","p_return_sku":"4500605","p_return_qty":"4","return_sku":"4500605","return_qty":"4","return_image":"https:\\/\\/images.tinymart.in\\/product\\/4500605-6297.png","l_sku":"4500605","l_qty":"4"},"18":{"id":"18","tray_id":"18","door_id":"1","image":"https:\\/\\/images.tinymart.in\\/product\\/4500723-3888.png","name":"MaxVita Moong daal 25gm","mrp":"10","weight":"28","qty":0,"org_sku":"4500723","p_sku":"4500723","p_qty":0,"l_sku":"4500723","l_qty":"12","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500723-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"19":{"id":"19","tray_id":"19","door_id":"1","image":"https:\\/\\/images.tinymart.in\\/product\\/4500710-1463.png","name":"MaxVita Premium crunch Rusk 51gm","mrp":"10","weight":"55","qty":0,"org_sku":"4500710","p_sku":"4500710","p_qty":0,"l_sku":"4500710","l_qty":"10","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500710-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"20":{"id":"20","tray_id":"20","door_id":"1","image":"https:\\/\\/skuimg.s3.ap-south-1.amazonaws.com\\/App+Image+List\\/Cadbury+Dairy+Milk+Chocolate+Mahapack%2C+52g.jpg","name":"Cadbury Dairy Milk Chocolate Mahapack, 52g","mrp":"40","weight":"56","qty":0,"org_sku":"8253","p_sku":"8253","p_qty":0,"l_sku":"8253","l_qty":"0","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"8253-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"21":{"id":"21","tray_id":"21","door_id":"2","image":"https:\\/\\/images.tinymart.in\\/product\\/186043-5089.png","name":"Bindu Fizz Jeera Masala 250 ML","mrp":"20","weight":"295","qty":0,"org_sku":"186043","p_sku":"186043","p_qty":0,"l_sku":"186043","l_qty":"5","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"186043-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"22":{"id":"22","tray_id":"22","door_id":"2","image":"https:\\/\\/images.tinymart.in\\/product\\/186001-2099.webp","name":"Nestle Nescafe Chilled Latte Coffee Milk ","mrp":"50","weight":"202","qty":0,"org_sku":"186001","p_sku":"186001","p_qty":0,"l_sku":"186001","l_qty":"3","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"186001-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"23":{"id":"23","tray_id":"23","door_id":"2","image":"https:\\/\\/images.tinymart.in\\/product\\/4500407-2060.jpg","name":"Paper boat Alphonso Mango 160ml","mrp":"25","weight":"175","qty":0,"org_sku":"4500407","p_sku":"4500407","p_qty":0,"l_sku":"4500407","l_qty":"3","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500407-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"24":{"id":"24","tray_id":"24","door_id":"2","image":"https:\\/\\/images.tinymart.in\\/product\\/4500720-8132.webp","name":"Paper Boat NATA Mixed Berries 250ml","mrp":"40","weight":"284","qty":0,"org_sku":"4500720","p_sku":"4500720","p_qty":0,"l_sku":"4500720","l_qty":"4","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500720-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"25":{"tray_id":"25","door_id":"2","tray_weight":"99999","sku_json":"186078-2","org_sku":"112220","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/186078-2883.png","name":"Paper boat Aam Panna 150ml","mrp":"25","weight":"166","qty":"2","id":"25","p_sku":"186078","p_qty":"2","p_return_sku":"186078","p_return_qty":"1","l_sku":"186078","l_qty":"1"},"26":{"id":"26","tray_id":"26","door_id":"2","image":"https:\\/\\/images.tinymart.in\\/product\\/4500669-3919.webp","name":"Rite Bite Sports Bar 40gm","mrp":"45","weight":"44","qty":0,"org_sku":"4500669","p_sku":"4500669","p_qty":0,"l_sku":"4500669","l_qty":"7","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500669-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"27":{"tray_id":"27","door_id":"2","tray_weight":"99999","sku_json":"185993-15","org_sku":"185993","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/185993-3509.webp","name":"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g","mrp":"20","weight":"42","qty":"15","id":"27","p_sku":"185993","p_qty":"15","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"l_sku":"185993","l_qty":"1"},"28":{"tray_id":"28","door_id":"2","tray_weight":"99999","sku_json":"4500667-3","org_sku":"4500667","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/4500667-4339.webp","name":"Farmely Classic date Bites 20gm","mrp":"40","weight":"23","qty":"3","id":"28","p_sku":"4500667","p_qty":"3","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"l_sku":"4500667","l_qty":"6"},"29":{"id":"29","tray_id":"29","door_id":"2","image":"https:\\/\\/images.tinymart.in\\/product\\/108676-2689.jpg","name":"Paper Boat Orange Pouch - 150Ml","mrp":"25","weight":"177","qty":0,"org_sku":"108676","p_sku":"108676","p_qty":0,"l_sku":"108676","l_qty":"3","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"108676-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"31":{"tray_id":"31","door_id":"3","tray_weight":"99999","sku_json":"4500713-2","org_sku":"4500713","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/4500713-9506.jpg","name":"MaxVita Indian Style Cream and onion Potato Chips 40gms","mrp":"20","weight":"47","qty":"2","id":"31","p_sku":"4500713","p_qty":"2","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"l_sku":"4500713","l_qty":"6"},"32":{"id":"32","tray_id":"32","door_id":"3","image":"https:\\/\\/images.tinymart.in\\/product\\/4500712-3453.png","name":"MaxVita Chilli Spirinkled Potato Chips 40gms","mrp":"20","weight":"46","qty":0,"org_sku":"4500712","p_sku":"4500712","p_qty":0,"l_sku":"4500712","l_qty":"5","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500712-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"33":{"id":"33","tray_id":"33","door_id":"3","image":"https:\\/\\/images.tinymart.in\\/product\\/4500725-5961.png","name":"Maxvita Coconut Cookies 40gm","mrp":"10","weight":"44","qty":0,"org_sku":"4500725","p_sku":"4500725","p_qty":0,"l_sku":"4500725","l_qty":"11","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500725-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"34":{"id":"34","tray_id":"34","door_id":"3","image":"https:\\/\\/images.tinymart.in\\/product\\/112220-2513.jpg","name":"Snickers Chocolate Bar 22g","mrp":"20","weight":"24","qty":0,"org_sku":"112220","p_sku":"112220","p_qty":0,"l_sku":"112220","l_qty":"16","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"112220-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"41":{"tray_id":"41","door_id":"4","tray_weight":"99999","sku_json":"4500694-2","org_sku":"4500694","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/4500694-1219.png","name":"Aatral Natural Electrolytes 200ml","mrp":"60","weight":"232","qty":"2","id":"41","p_sku":"4500694","p_qty":"2","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"l_sku":"4500694","l_qty":"3"},"42":{"tray_id":"42","door_id":"4","tray_weight":"99999","sku_json":"4500499-2","org_sku":"4500499","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/4500499-5719.webp","name":"Heritage A1 Spiced Butter Milk180ml","mrp":"20","weight":"192","qty":"2","id":"42","p_sku":"4500499","p_qty":"2","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"l_sku":"4500499","l_qty":"4"},"43":{"tray_id":"43","door_id":"4","tray_weight":"99999","sku_json":"4500717-4","org_sku":"4500717","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/4500717-9875.webp","name":"Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE ","mrp":"141","weight":"287","qty":"4","id":"43","p_sku":"4500717","p_qty":"4","p_return_sku":"186059","p_return_qty":"1","return_sku":"186059","return_qty":"1","return_image":"https:\\/\\/images.tinymart.in\\/product\\/186059-5330.png","l_sku":"186059","l_qty":"1"},"44":{"id":"44","tray_id":"44","door_id":"4","image":"https:\\/\\/images.tinymart.in\\/product\\/4500704-2291.webp","name":"Heritage livo Badam milk 180ml","mrp":"30","weight":"210","qty":0,"org_sku":"4500704","p_sku":"4500704","p_qty":0,"l_sku":"4500704","l_qty":"5","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500704-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"45":{"tray_id":"45","door_id":"4","tray_weight":"99999","sku_json":"186001-6","org_sku":"186001","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/186001-2099.webp","name":"Nestle Nescafe Chilled Latte Coffee Milk ","mrp":"50","weight":"202","qty":"6","id":"45","p_sku":"186001","p_qty":"6","p_return_sku":"4500656","p_return_qty":"3","return_sku":"4500656","return_qty":"3","return_image":"https:\\/\\/images.tinymart.in\\/product\\/4500656-2520.webp","l_sku":"4500656","l_qty":"3"}},"command_for":"server"},{"tray_mismatches":[{"tray_id":"11","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"MaxVita Sev Murmura 90gm","sku_id":"4500733"},{"tray_id":"12","quantity_in_db":"0","quantity_on_tray":"10","sku_name":"MaxVita Crunchy Indian Mixture 30gm","sku_id":"4500726"},{"tray_id":"13","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Farmely Peri Peri Makhana 14gm","sku_id":"4500665"},{"tray_id":"14","quantity_in_db":"0","quantity_on_tray":"6","sku_name":"Modern kitchens Garlic Mixture 26gm","sku_id":"4500672"},{"tray_id":"15","quantity_in_db":"2","quantity_on_tray":"7","sku_name":"Max Protein Breakfast Cookie 10g Protein 55gm","sku_id":"4500715"},{"tray_id":"16","quantity_in_db":"0","quantity_on_tray":"7","sku_name":"Maxvita Khara Boondi 28gm","sku_id":"4500730"},{"tray_id":"17","quantity_in_db":"8","quantity_on_tray":"8","sku_name":"Jus Amazin Salt N Pepper cashew 19g","sku_id":"4500735"},{"tray_id":"18","quantity_in_db":"0","quantity_on_tray":"12","sku_name":"MaxVita Moong daal 25gm","sku_id":"4500723"},{"tray_id":"19","quantity_in_db":"0","quantity_on_tray":"10","sku_name":"MaxVita Premium crunch Rusk 51gm","sku_id":"4500710"},{"tray_id":"21","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"Bindu Fizz Jeera Masala 250 ML","sku_id":"186043"},{"tray_id":"22","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Nestle Nescafe Chilled Latte Coffee Milk ","sku_id":"186001"},{"tray_id":"23","quantity_in_db":"0","quantity_on_tray":"3","sku_name":"Paper boat Alphonso Mango 160ml","sku_id":"4500407"},{"tray_id":"24","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Paper Boat NATA Mixed Berries 250ml","sku_id":"4500720"},{"tray_id":"25","quantity_in_db":"2","quantity_on_tray":"12","sku_name":"Snickers Chocolate Bar 22g","sku_id":"112220"},{"tray_id":"26","quantity_in_db":"0","quantity_on_tray":"7","sku_name":"Rite Bite Sports Bar 40gm","sku_id":"4500669"},{"tray_id":"27","quantity_in_db":"15","quantity_on_tray":"16","sku_name":"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g","sku_id":"185993"},{"tray_id":"28","quantity_in_db":"3","quantity_on_tray":"10","sku_name":"Farmely Classic date Bites 20gm","sku_id":"4500667"},{"tray_id":"29","quantity_in_db":"0","quantity_on_tray":"3","sku_name":"Paper Boat Orange Pouch - 150Ml","sku_id":"108676"},{"tray_id":"31","quantity_in_db":"2","quantity_on_tray":"8","sku_name":"MaxVita Indian Style Cream and onion Potato Chips 40gms","sku_id":"4500713"},{"tray_id":"32","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"MaxVita Chilli Spirinkled Potato Chips 40gms","sku_id":"4500712"},{"tray_id":"33","quantity_in_db":"0","quantity_on_tray":"11","sku_name":"Maxvita Coconut Cookies 40gm","sku_id":"4500725"},{"tray_id":"34","quantity_in_db":"0","quantity_on_tray":"16","sku_name":"Snickers Chocolate Bar 22g","sku_id":"112220"},{"tray_id":"41","quantity_in_db":"2","quantity_on_tray":"3","sku_name":"Aatral Natural Electrolytes 200ml","sku_id":"4500694"},{"tray_id":"42","quantity_in_db":"2","quantity_on_tray":"5","sku_name":"Heritage A1 Spiced Butter Milk180ml","sku_id":"4500499"},{"tray_id":"43","quantity_in_db":"4","quantity_on_tray":"4","sku_name":"Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE ","sku_id":"4500717"},{"tray_id":"44","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"Heritage livo Badam milk 180ml","sku_id":"4500704"},{"tray_id":"45","quantity_in_db":"6","quantity_on_tray":"7","sku_name":"Nestle Nescafe Chilled Latte Coffee Milk ","sku_id":"186001"}],"success":true,"message":"Tray mismatches found.","user":"machine"}]', 'command_for': 'server', 'type_of_order': 'refill', 'order_id': '9690346', 'server_response': '', 'status': 'active', 'user_id': '9036356553', 'modified_at': '2026-08-29 11:51:51', 'command_todo': 'interactive-refill', 'vm_id': '1861896391128712585'}
[2026-08-29 11:51:54,405.405 INFO    ] in main while loops
[2026-08-29 11:51:57,412.412 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:51:57
[2026-08-29 11:52:02,127.127 INFO    ] 
inside get

[2026-08-29 11:52:02,130.130 INFO    ] 200
[2026-08-29 11:52:02,148.148 INFO    ] waiting for server
[2026-08-29 11:52:05,155.155 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:52:05
[2026-08-29 11:52:09,480.480 INFO    ] 
inside get

[2026-08-29 11:52:09,482.482 INFO    ] 200
[2026-08-29 11:52:09,493.493 INFO    ] waiting for server
[2026-08-29 11:52:12,500.500 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:52:12
[2026-08-29 11:52:16,458.458 INFO    ] 
inside get

[2026-08-29 11:52:16,460.460 INFO    ] 200
[2026-08-29 11:52:16,472.472 INFO    ] waiting for server
[2026-08-29 11:52:19,479.479 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:52:19
[2026-08-29 11:52:23,757.757 INFO    ] 
inside get

[2026-08-29 11:52:23,759.759 INFO    ] 200
[2026-08-29 11:52:23,770.770 INFO    ] waiting for server
[2026-08-29 11:52:26,777.777 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:52:26
[2026-08-29 11:52:31,690.690 INFO    ] 
inside get

[2026-08-29 11:52:31,693.693 INFO    ] 200
[2026-08-29 11:52:31,704.704 INFO    ] waiting for server
[2026-08-29 11:52:34,711.711 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:52:34
[2026-08-29 11:52:38,830.830 INFO    ] 
inside get

[2026-08-29 11:52:38,833.833 INFO    ] 200
[2026-08-29 11:52:38,843.843 INFO    ] processing machine command
[2026-08-29 11:52:38,845.845 INFO    ] {"request_data":{"order_id":"TM07201911_refill_260829114517","door_id":[1],"txnType":"refill","door_open_init":true,"refill_id":"9690346","content":[{"tray_id":"11","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"MaxVita Sev Murmura 90gm","sku_id":"4500733","check_enabled":true},{"tray_id":"12","quantity_in_db":"0","quantity_on_tray":"10","sku_name":"MaxVita Crunchy Indian Mixture 30gm","sku_id":"4500726","check_enabled":true},{"tray_id":"13","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Farmely Peri Peri Makhana 14gm","sku_id":"4500665","check_enabled":true},{"tray_id":"14","quantity_in_db":"0","quantity_on_tray":"6","sku_name":"Modern kitchens Garlic Mixture 26gm","sku_id":"4500672","check_enabled":true},{"tray_id":"15","quantity_in_db":"2","quantity_on_tray":"7","sku_name":"Max Protein Breakfast Cookie 10g Protein 55gm","sku_id":"4500715","check_enabled":true},{"tray_id":"16","quantity_in_db":"0","quantity_on_tray":"7","sku_name":"Maxvita Khara Boondi 28gm","sku_id":"4500730","check_enabled":true},{"tray_id":"17","quantity_in_db":"8","quantity_on_tray":"8","sku_name":"Jus Amazin Salt N Pepper cashew 19g","sku_id":"4500735","check_enabled":true},{"tray_id":"18","quantity_in_db":"0","quantity_on_tray":"12","sku_name":"MaxVita Moong daal 25gm","sku_id":"4500723","check_enabled":true},{"tray_id":"19","quantity_in_db":"0","quantity_on_tray":"10","sku_name":"MaxVita Premium crunch Rusk 51gm","sku_id":"4500710","check_enabled":true},{"tray_id":"21","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"Bindu Fizz Jeera Masala 250 ML","sku_id":"186043","check_enabled":true},{"tray_id":"22","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Nestle Nescafe Chilled Latte Coffee Milk ","sku_id":"186001","check_enabled":true},{"tray_id":"23","quantity_in_db":"0","quantity_on_tray":"3","sku_name":"Paper boat Alphonso Mango 160ml","sku_id":"4500407","check_enabled":true},{"tray_id":"24","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Paper Boat NATA Mixed Berries 250ml","sku_id":"4500720","check_enabled":true},{"tray_id":"25","quantity_in_db":"2","quantity_on_tray":"12","sku_name":"Snickers Chocolate Bar 22g","sku_id":"112220","check_enabled":true},{"tray_id":"26","quantity_in_db":"0","quantity_on_tray":"7","sku_name":"Rite Bite Sports Bar 40gm","sku_id":"4500669","check_enabled":true},{"tray_id":"27","quantity_in_db":"15","quantity_on_tray":"16","sku_name":"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g","sku_id":"185993","check_enabled":true},{"tray_id":"28","quantity_in_db":"3","quantity_on_tray":"10","sku_name":"Farmely Classic date Bites 20gm","sku_id":"4500667","check_enabled":true},{"tray_id":"29","quantity_in_db":"0","quantity_on_tray":"3","sku_name":"Paper Boat Orange Pouch - 150Ml","sku_id":"108676","check_enabled":true},{"tray_id":"31","quantity_in_db":"2","quantity_on_tray":"8","sku_name":"MaxVita Indian Style Cream and onion Potato Chips 40gms","sku_id":"4500713","check_enabled":true},{"tray_id":"32","quantity_in_db":"0","quantity_on_tray":"6","sku_name":"MaxVita Chilli Spirinkled Potato Chips 40gms","sku_id":"4500712","check_enabled":true},{"tray_id":"33","quantity_in_db":"0","quantity_on_tray":"11","sku_name":"Maxvita Coconut Cookies 40gm","sku_id":"4500725","check_enabled":true},{"tray_id":"34","quantity_in_db":"0","quantity_on_tray":"16","sku_name":"Snickers Chocolate Bar 22g","sku_id":"112220","check_enabled":true},{"tray_id":"41","quantity_in_db":"2","quantity_on_tray":"3","sku_name":"Aatral Natural Electrolytes 200ml","sku_id":"4500694","check_enabled":true},{"tray_id":"42","quantity_in_db":"2","quantity_on_tray":"5","sku_name":"Heritage A1 Spiced Butter Milk180ml","sku_id":"4500499","check_enabled":true},{"tray_id":"43","quantity_in_db":"4","quantity_on_tray":"4","sku_name":"Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE ","sku_id":"4500717","check_enabled":true},{"tray_id":"44","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"Heritage livo Badam milk 180ml","sku_id":"4500704","check_enabled":true},{"tray_id":"45","quantity_in_db":"6","quantity_on_tray":"7","sku_name":"Nestle Nescafe Chilled Latte Coffee Milk ","sku_id":"186001","check_enabled":true}]},"action":"invoice_refill","sub-action":"invoice_refill","action_name":"Waiting for Machine to Complete Verify Refill","user":"machine","refill_order_id":"TM07201911_refill_260829114517","active_doors":["1","2","3","4"],"response_data":{"tray_mismatches":[{"tray_id":"11","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"MaxVita Sev Murmura 90gm","sku_id":"4500733"},{"tray_id":"12","quantity_in_db":"0","quantity_on_tray":"10","sku_name":"MaxVita Crunchy Indian Mixture 30gm","sku_id":"4500726"},{"tray_id":"13","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Farmely Peri Peri Makhana 14gm","sku_id":"4500665"},{"tray_id":"14","quantity_in_db":"0","quantity_on_tray":"6","sku_name":"Modern kitchens Garlic Mixture 26gm","sku_id":"4500672"},{"tray_id":"15","quantity_in_db":"2","quantity_on_tray":"7","sku_name":"Max Protein Breakfast Cookie 10g Protein 55gm","sku_id":"4500715"},{"tray_id":"16","quantity_in_db":"0","quantity_on_tray":"7","sku_name":"Maxvita Khara Boondi 28gm","sku_id":"4500730"},{"tray_id":"17","quantity_in_db":"8","quantity_on_tray":"8","sku_name":"Jus Amazin Salt N Pepper cashew 19g","sku_id":"4500735"},{"tray_id":"18","quantity_in_db":"0","quantity_on_tray":"12","sku_name":"MaxVita Moong daal 25gm","sku_id":"4500723"},{"tray_id":"19","quantity_in_db":"0","quantity_on_tray":"10","sku_name":"MaxVita Premium crunch Rusk 51gm","sku_id":"4500710"},{"tray_id":"21","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"Bindu Fizz Jeera Masala 250 ML","sku_id":"186043"},{"tray_id":"22","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Nestle Nescafe Chilled Latte Coffee Milk ","sku_id":"186001"},{"tray_id":"23","quantity_in_db":"0","quantity_on_tray":"3","sku_name":"Paper boat Alphonso Mango 160ml","sku_id":"4500407"},{"tray_id":"24","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Paper Boat NATA Mixed Berries 250ml","sku_id":"4500720"},{"tray_id":"25","quantity_in_db":"2","quantity_on_tray":"12","sku_name":"Snickers Chocolate Bar 22g","sku_id":"112220"},{"tray_id":"26","quantity_in_db":"0","quantity_on_tray":"7","sku_name":"Rite Bite Sports Bar 40gm","sku_id":"4500669"},{"tray_id":"27","quantity_in_db":"15","quantity_on_tray":"16","sku_name":"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g","sku_id":"185993"},{"tray_id":"28","quantity_in_db":"3","quantity_on_tray":"10","sku_name":"Farmely Classic date Bites 20gm","sku_id":"4500667"},{"tray_id":"29","quantity_in_db":"0","quantity_on_tray":"3","sku_name":"Paper Boat Orange Pouch - 150Ml","sku_id":"108676"},{"tray_id":"31","quantity_in_db":"2","quantity_on_tray":"8","sku_name":"MaxVita Indian Style Cream and onion Potato Chips 40gms","sku_id":"4500713"},{"tray_id":"32","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"MaxVita Chilli Spirinkled Potato Chips 40gms","sku_id":"4500712"},{"tray_id":"33","quantity_in_db":"0","quantity_on_tray":"11","sku_name":"Maxvita Coconut Cookies 40gm","sku_id":"4500725"},{"tray_id":"34","quantity_in_db":"0","quantity_on_tray":"16","sku_name":"Snickers Chocolate Bar 22g","sku_id":"112220"},{"tray_id":"41","quantity_in_db":"2","quantity_on_tray":"3","sku_name":"Aatral Natural Electrolytes 200ml","sku_id":"4500694"},{"tray_id":"42","quantity_in_db":"2","quantity_on_tray":"5","sku_name":"Heritage A1 Spiced Butter Milk180ml","sku_id":"4500499"},{"tray_id":"43","quantity_in_db":"4","quantity_on_tray":"4","sku_name":"Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE ","sku_id":"4500717"},{"tray_id":"44","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"Heritage livo Badam milk 180ml","sku_id":"4500704"},{"tray_id":"45","quantity_in_db":"6","quantity_on_tray":"7","sku_name":"Nestle Nescafe Chilled Latte Coffee Milk ","sku_id":"186001"}],"success":true,"message":"Tray mismatches found."}}
[2026-08-29 11:52:40,659.659 INFO    ] {"success": true}
[2026-08-29 11:52:40,662.662 INFO    ] {"success": true}
[2026-08-29 11:52:44,939.939 INFO    ] 
inside post

[2026-08-29 11:52:44,941.941 INFO    ] 200
[2026-08-29 11:52:44,944.944 INFO    ] {"order_id":"9690346","vm_id":"1861896391128712585","user_id":"9036356553","status":"active","server_status":"completed","server_response":"","command_todo":"interactive-refill","last_command_response":"{\"success\":true,\"user\":\"machine\"}","all_command_response":"[{\"action\":\"get_user_mobile_no\",\"mobile_no\":\"9036356553\",\"command_for\":\"server\"},{\"success\":\"true\",\"refill_id\":\"9690346\",\"otp\":\"1956\",\"user_id\":9036356553,\"allowed\":\"1\",\"user\":\"machine\"},{\"action\":\"get_mobile_otp\",\"mobile_no\":\"9036356553\",\"otp\":\"1956\",\"command_for\":\"server\"},{\"active_payment_gateways\":\"[{\\\"header\\\": \\\"QR Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"PayTM\\\", \\\"label\\\": \\\"PayTM\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"PhonePe\\\", \\\"label\\\": \\\"PhonePe\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"GooglePay\\\", \\\"label\\\": \\\"Google Pay\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"BHIM\\\", \\\"label\\\": \\\"BHIM UPI\\\"}]}, {\\\"header\\\": \\\"Card Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"Sodexo\\\", \\\"label\\\": \\\"Sodexo Card\\\"}, {\\\"active\\\": 1, \\\"name\\\": \\\"Card\\\", \\\"label\\\": \\\"Credit\\\/Debit Card\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Qwikcilver\\\", \\\"label\\\": \\\"QwikCilver\\\"}]}, {\\\"header\\\": \\\"Wallet Payments\\\", \\\"payments\\\": [{\\\"active\\\": 1, \\\"name\\\": \\\"LazyPay\\\", \\\"label\\\": \\\"LazyPay\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Ola\\\", \\\"label\\\": \\\"OLA Money\\\"}, {\\\"active\\\": 0, \\\"name\\\": \\\"Neuu\\\", \\\"label\\\": \\\"Tiny Wallet\\\"}]}]\",\"order_id\":\"TM07201911_refill_260829114517\",\"refill_id\":\"9690346\",\"rstatus\":true,\"status\":\"True\",\"user_id\":9036356553,\"active_doors\":[\"1\",\"2\",\"3\",\"4\"],\"door_size\":4,\"refill_order_id\":\"TM07201911_refill_260829114517\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"1\",\"command_for\":\"server\"},{\"SectionStatus\":{\"Header\":\"Opening Door 1\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 1\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 1\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"2\",\"command_for\":\"server\"},{\"SectionStatus\":{\"Header\":\"Opening Door 2\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 2\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 2\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"2\",\"command_for\":\"server\"},{\"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\":\"\",\"SectionSKU\":{\"Header\":\"If you like us, tell others... else tell us\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Closed\"},\"status\":\"True\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"3\",\"command_for\":\"server\"},{\"action\":\"open_door_call\",\"door_no\":\"4\",\"command_for\":\"server\"},{\"SectionStatus\":{\"Header\":\"Opening Door 3\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 3\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 3\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\",\"user\":\"machine\"},{\"action\":\"open_door_call\",\"door_no\":\"4\",\"command_for\":\"server\"},{\"SectionStatus\":{\"Header\":\"Opening Door 4\",\"SubHeader\":\"Please Pick products after opening\",\"Note\":\"Please wait for door to open\",\"UI_Header\":\"DOOR 4\\nIS \\nOPEN \\nNOW\"},\"rstatus\":false,\"voiceNote\":\"Opening Door 4\",\"error\":{\"code\":20001,\"umessage\":\"In Progress\",\"data\":[],\"tmessage\":\"In Progress\"},\"SectionSKU\":{\"Header\":\"Pick the below items from the door\",\"skus\":[]},\"SectionMain\":{\"Header\":\"Door Open\"},\"status\":\"False\",\"user\":\"machine\"},{\"action\":\"complete_refill\",\"trays\":{\"11\":{\"id\":\"11\",\"tray_id\":\"11\",\"door_id\":\"1\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500733-6191.jpg\",\"name\":\"MaxVita Sev Murmura 90gm\",\"mrp\":\"30\",\"weight\":\"96\",\"qty\":0,\"org_sku\":\"4500733\",\"p_sku\":\"4500733\",\"p_qty\":0,\"l_sku\":\"4500733\",\"l_qty\":\"5\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500733-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"12\":{\"id\":\"12\",\"tray_id\":\"12\",\"door_id\":\"1\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500726-818.jpeg\",\"name\":\"MaxVita Crunchy Indian Mixture 30gm\",\"mrp\":\"10\",\"weight\":\"35\",\"qty\":0,\"org_sku\":\"4500726\",\"p_sku\":\"4500726\",\"p_qty\":0,\"l_sku\":\"4500726\",\"l_qty\":\"10\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500726-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"13\":{\"id\":\"13\",\"tray_id\":\"13\",\"door_id\":\"1\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500665-172.jpg\",\"name\":\"Farmely Peri Peri Makhana 14gm\",\"mrp\":\"30\",\"weight\":\"22\",\"qty\":0,\"org_sku\":\"4500665\",\"p_sku\":\"4500665\",\"p_qty\":0,\"l_sku\":\"4500665\",\"l_qty\":\"4\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500665-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"14\":{\"id\":\"14\",\"tray_id\":\"14\",\"door_id\":\"1\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500672-7226.webp\",\"name\":\"Modern kitchens Garlic Mixture 26gm\",\"mrp\":\"10\",\"weight\":\"29\",\"qty\":0,\"org_sku\":\"4500672\",\"p_sku\":\"4500672\",\"p_qty\":0,\"l_sku\":\"4500672\",\"l_qty\":\"6\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500672-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"15\":{\"tray_id\":\"15\",\"door_id\":\"1\",\"tray_weight\":\"99999\",\"sku_json\":\"4500715-2\",\"org_sku\":\"4500715\",\"active\":\"1\",\"created_at\":\"2026-08-28 23:42:46\",\"modified_at\":\"2026-08-28 23:42:46\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500715-4904.jpg\",\"name\":\"Max Protein Breakfast Cookie 10g Protein 55gm\",\"mrp\":\"50\",\"weight\":\"60\",\"qty\":\"2\",\"id\":\"15\",\"p_sku\":\"4500715\",\"p_qty\":\"2\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"l_sku\":\"4500715\",\"l_qty\":\"6\"},\"16\":{\"id\":\"16\",\"tray_id\":\"16\",\"door_id\":\"1\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500730-5277.png\",\"name\":\"Maxvita Khara Boondi 28gm\",\"mrp\":\"10\",\"weight\":\"33\",\"qty\":0,\"org_sku\":\"4500730\",\"p_sku\":\"4500730\",\"p_qty\":0,\"l_sku\":\"4500730\",\"l_qty\":\"7\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500730-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"17\":{\"tray_id\":\"17\",\"door_id\":\"1\",\"tray_weight\":\"99999\",\"sku_json\":\"4500735-8\",\"org_sku\":\"4500735\",\"active\":\"1\",\"created_at\":\"2026-08-28 23:42:46\",\"modified_at\":\"2026-08-28 23:42:46\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500735-9819.jpeg\",\"name\":\"Jus Amazin Salt N Pepper cashew 19g\",\"mrp\":\"40\",\"weight\":\"25\",\"qty\":\"8\",\"id\":\"17\",\"p_sku\":\"4500735\",\"p_qty\":\"8\",\"p_return_sku\":\"4500605\",\"p_return_qty\":\"4\",\"return_sku\":\"4500605\",\"return_qty\":\"4\",\"return_image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500605-6297.png\",\"l_sku\":\"4500605\",\"l_qty\":\"4\"},\"18\":{\"id\":\"18\",\"tray_id\":\"18\",\"door_id\":\"1\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500723-3888.png\",\"name\":\"MaxVita Moong daal 25gm\",\"mrp\":\"10\",\"weight\":\"28\",\"qty\":0,\"org_sku\":\"4500723\",\"p_sku\":\"4500723\",\"p_qty\":0,\"l_sku\":\"4500723\",\"l_qty\":\"12\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500723-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"19\":{\"id\":\"19\",\"tray_id\":\"19\",\"door_id\":\"1\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500710-1463.png\",\"name\":\"MaxVita Premium crunch Rusk 51gm\",\"mrp\":\"10\",\"weight\":\"55\",\"qty\":0,\"org_sku\":\"4500710\",\"p_sku\":\"4500710\",\"p_qty\":0,\"l_sku\":\"4500710\",\"l_qty\":\"10\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500710-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"20\":{\"id\":\"20\",\"tray_id\":\"20\",\"door_id\":\"1\",\"image\":\"https:\\\/\\\/skuimg.s3.ap-south-1.amazonaws.com\\\/App+Image+List\\\/Cadbury+Dairy+Milk+Chocolate+Mahapack%2C+52g.jpg\",\"name\":\"Cadbury Dairy Milk Chocolate Mahapack, 52g\",\"mrp\":\"40\",\"weight\":\"56\",\"qty\":0,\"org_sku\":\"8253\",\"p_sku\":\"8253\",\"p_qty\":0,\"l_sku\":\"8253\",\"l_qty\":\"0\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"8253-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"21\":{\"id\":\"21\",\"tray_id\":\"21\",\"door_id\":\"2\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/186043-5089.png\",\"name\":\"Bindu Fizz Jeera Masala 250 ML\",\"mrp\":\"20\",\"weight\":\"295\",\"qty\":0,\"org_sku\":\"186043\",\"p_sku\":\"186043\",\"p_qty\":0,\"l_sku\":\"186043\",\"l_qty\":\"5\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"186043-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"22\":{\"id\":\"22\",\"tray_id\":\"22\",\"door_id\":\"2\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/186001-2099.webp\",\"name\":\"Nestle Nescafe Chilled Latte Coffee Milk \",\"mrp\":\"50\",\"weight\":\"202\",\"qty\":0,\"org_sku\":\"186001\",\"p_sku\":\"186001\",\"p_qty\":0,\"l_sku\":\"186001\",\"l_qty\":\"3\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"186001-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"23\":{\"id\":\"23\",\"tray_id\":\"23\",\"door_id\":\"2\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500407-2060.jpg\",\"name\":\"Paper boat Alphonso Mango 160ml\",\"mrp\":\"25\",\"weight\":\"175\",\"qty\":0,\"org_sku\":\"4500407\",\"p_sku\":\"4500407\",\"p_qty\":0,\"l_sku\":\"4500407\",\"l_qty\":\"3\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500407-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"24\":{\"id\":\"24\",\"tray_id\":\"24\",\"door_id\":\"2\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500720-8132.webp\",\"name\":\"Paper Boat NATA Mixed Berries 250ml\",\"mrp\":\"40\",\"weight\":\"284\",\"qty\":0,\"org_sku\":\"4500720\",\"p_sku\":\"4500720\",\"p_qty\":0,\"l_sku\":\"4500720\",\"l_qty\":\"4\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500720-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"25\":{\"tray_id\":\"25\",\"door_id\":\"2\",\"tray_weight\":\"99999\",\"sku_json\":\"186078-2\",\"org_sku\":\"112220\",\"active\":\"1\",\"created_at\":\"2026-08-28 23:42:46\",\"modified_at\":\"2026-08-28 23:42:46\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/186078-2883.png\",\"name\":\"Paper boat Aam Panna 150ml\",\"mrp\":\"25\",\"weight\":\"166\",\"qty\":\"2\",\"id\":\"25\",\"p_sku\":\"186078\",\"p_qty\":\"2\",\"p_return_sku\":\"186078\",\"p_return_qty\":\"1\",\"l_sku\":\"186078\",\"l_qty\":\"1\"},\"26\":{\"id\":\"26\",\"tray_id\":\"26\",\"door_id\":\"2\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500669-3919.webp\",\"name\":\"Rite Bite Sports Bar 40gm\",\"mrp\":\"45\",\"weight\":\"44\",\"qty\":0,\"org_sku\":\"4500669\",\"p_sku\":\"4500669\",\"p_qty\":0,\"l_sku\":\"4500669\",\"l_qty\":\"7\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500669-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"27\":{\"tray_id\":\"27\",\"door_id\":\"2\",\"tray_weight\":\"99999\",\"sku_json\":\"185993-15\",\"org_sku\":\"185993\",\"active\":\"1\",\"created_at\":\"2026-08-28 23:42:46\",\"modified_at\":\"2026-08-28 23:42:46\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/185993-3509.webp\",\"name\":\"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g\",\"mrp\":\"20\",\"weight\":\"42\",\"qty\":\"15\",\"id\":\"27\",\"p_sku\":\"185993\",\"p_qty\":\"15\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"l_sku\":\"185993\",\"l_qty\":\"1\"},\"28\":{\"tray_id\":\"28\",\"door_id\":\"2\",\"tray_weight\":\"99999\",\"sku_json\":\"4500667-3\",\"org_sku\":\"4500667\",\"active\":\"1\",\"created_at\":\"2026-08-28 23:42:46\",\"modified_at\":\"2026-08-28 23:42:46\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500667-4339.webp\",\"name\":\"Farmely Classic date Bites 20gm\",\"mrp\":\"40\",\"weight\":\"23\",\"qty\":\"3\",\"id\":\"28\",\"p_sku\":\"4500667\",\"p_qty\":\"3\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"l_sku\":\"4500667\",\"l_qty\":\"6\"},\"29\":{\"id\":\"29\",\"tray_id\":\"29\",\"door_id\":\"2\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/108676-2689.jpg\",\"name\":\"Paper Boat Orange Pouch - 150Ml\",\"mrp\":\"25\",\"weight\":\"177\",\"qty\":0,\"org_sku\":\"108676\",\"p_sku\":\"108676\",\"p_qty\":0,\"l_sku\":\"108676\",\"l_qty\":\"3\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"108676-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"31\":{\"tray_id\":\"31\",\"door_id\":\"3\",\"tray_weight\":\"99999\",\"sku_json\":\"4500713-2\",\"org_sku\":\"4500713\",\"active\":\"1\",\"created_at\":\"2026-08-28 23:42:46\",\"modified_at\":\"2026-08-28 23:42:46\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500713-9506.jpg\",\"name\":\"MaxVita Indian Style Cream and onion Potato Chips 40gms\",\"mrp\":\"20\",\"weight\":\"47\",\"qty\":\"2\",\"id\":\"31\",\"p_sku\":\"4500713\",\"p_qty\":\"2\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"l_sku\":\"4500713\",\"l_qty\":\"6\"},\"32\":{\"id\":\"32\",\"tray_id\":\"32\",\"door_id\":\"3\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500712-3453.png\",\"name\":\"MaxVita Chilli Spirinkled Potato Chips 40gms\",\"mrp\":\"20\",\"weight\":\"46\",\"qty\":0,\"org_sku\":\"4500712\",\"p_sku\":\"4500712\",\"p_qty\":0,\"l_sku\":\"4500712\",\"l_qty\":\"5\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500712-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"33\":{\"id\":\"33\",\"tray_id\":\"33\",\"door_id\":\"3\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500725-5961.png\",\"name\":\"Maxvita Coconut Cookies 40gm\",\"mrp\":\"10\",\"weight\":\"44\",\"qty\":0,\"org_sku\":\"4500725\",\"p_sku\":\"4500725\",\"p_qty\":0,\"l_sku\":\"4500725\",\"l_qty\":\"11\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500725-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"34\":{\"id\":\"34\",\"tray_id\":\"34\",\"door_id\":\"3\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/112220-2513.jpg\",\"name\":\"Snickers Chocolate Bar 22g\",\"mrp\":\"20\",\"weight\":\"24\",\"qty\":0,\"org_sku\":\"112220\",\"p_sku\":\"112220\",\"p_qty\":0,\"l_sku\":\"112220\",\"l_qty\":\"16\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"112220-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"41\":{\"tray_id\":\"41\",\"door_id\":\"4\",\"tray_weight\":\"99999\",\"sku_json\":\"4500694-2\",\"org_sku\":\"4500694\",\"active\":\"1\",\"created_at\":\"2026-08-28 23:42:46\",\"modified_at\":\"2026-08-28 23:42:46\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500694-1219.png\",\"name\":\"Aatral Natural Electrolytes 200ml\",\"mrp\":\"60\",\"weight\":\"232\",\"qty\":\"2\",\"id\":\"41\",\"p_sku\":\"4500694\",\"p_qty\":\"2\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"l_sku\":\"4500694\",\"l_qty\":\"3\"},\"42\":{\"tray_id\":\"42\",\"door_id\":\"4\",\"tray_weight\":\"99999\",\"sku_json\":\"4500499-2\",\"org_sku\":\"4500499\",\"active\":\"1\",\"created_at\":\"2026-08-28 23:42:46\",\"modified_at\":\"2026-08-28 23:42:46\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500499-5719.webp\",\"name\":\"Heritage A1 Spiced Butter Milk180ml\",\"mrp\":\"20\",\"weight\":\"192\",\"qty\":\"2\",\"id\":\"42\",\"p_sku\":\"4500499\",\"p_qty\":\"2\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"l_sku\":\"4500499\",\"l_qty\":\"4\"},\"43\":{\"tray_id\":\"43\",\"door_id\":\"4\",\"tray_weight\":\"99999\",\"sku_json\":\"4500717-4\",\"org_sku\":\"4500717\",\"active\":\"1\",\"created_at\":\"2026-08-28 23:42:46\",\"modified_at\":\"2026-08-28 23:42:46\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500717-9875.webp\",\"name\":\"Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE \",\"mrp\":\"141\",\"weight\":\"287\",\"qty\":\"4\",\"id\":\"43\",\"p_sku\":\"4500717\",\"p_qty\":\"4\",\"p_return_sku\":\"186059\",\"p_return_qty\":\"1\",\"return_sku\":\"186059\",\"return_qty\":\"1\",\"return_image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/186059-5330.png\",\"l_sku\":\"186059\",\"l_qty\":\"1\"},\"44\":{\"id\":\"44\",\"tray_id\":\"44\",\"door_id\":\"4\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500704-2291.webp\",\"name\":\"Heritage livo Badam milk 180ml\",\"mrp\":\"30\",\"weight\":\"210\",\"qty\":0,\"org_sku\":\"4500704\",\"p_sku\":\"4500704\",\"p_qty\":0,\"l_sku\":\"4500704\",\"l_qty\":\"5\",\"p_return_sku\":\"\",\"p_return_qty\":0,\"return_sku\":\"\",\"return_qty\":0,\"sku_json\":\"4500704-0\",\"tray_weight\":\"99999\",\"modified_at\":\"2026-08-29 11:45:19\",\"created_at\":\"2026-08-29 11:45:19\"},\"45\":{\"tray_id\":\"45\",\"door_id\":\"4\",\"tray_weight\":\"99999\",\"sku_json\":\"186001-6\",\"org_sku\":\"186001\",\"active\":\"1\",\"created_at\":\"2026-08-28 23:42:46\",\"modified_at\":\"2026-08-28 23:42:46\",\"image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/186001-2099.webp\",\"name\":\"Nestle Nescafe Chilled Latte Coffee Milk \",\"mrp\":\"50\",\"weight\":\"202\",\"qty\":\"6\",\"id\":\"45\",\"p_sku\":\"186001\",\"p_qty\":\"6\",\"p_return_sku\":\"4500656\",\"p_return_qty\":\"3\",\"return_sku\":\"4500656\",\"return_qty\":\"3\",\"return_image\":\"https:\\\/\\\/images.tinymart.in\\\/product\\\/4500656-2520.webp\",\"l_sku\":\"4500656\",\"l_qty\":\"3\"}},\"command_for\":\"server\"},{\"tray_mismatches\":[{\"tray_id\":\"11\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"5\",\"sku_name\":\"MaxVita Sev Murmura 90gm\",\"sku_id\":\"4500733\"},{\"tray_id\":\"12\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"10\",\"sku_name\":\"MaxVita Crunchy Indian Mixture 30gm\",\"sku_id\":\"4500726\"},{\"tray_id\":\"13\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"4\",\"sku_name\":\"Farmely Peri Peri Makhana 14gm\",\"sku_id\":\"4500665\"},{\"tray_id\":\"14\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"6\",\"sku_name\":\"Modern kitchens Garlic Mixture 26gm\",\"sku_id\":\"4500672\"},{\"tray_id\":\"15\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"7\",\"sku_name\":\"Max Protein Breakfast Cookie 10g Protein 55gm\",\"sku_id\":\"4500715\"},{\"tray_id\":\"16\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"7\",\"sku_name\":\"Maxvita Khara Boondi 28gm\",\"sku_id\":\"4500730\"},{\"tray_id\":\"17\",\"quantity_in_db\":\"8\",\"quantity_on_tray\":\"8\",\"sku_name\":\"Jus Amazin Salt N Pepper cashew 19g\",\"sku_id\":\"4500735\"},{\"tray_id\":\"18\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"12\",\"sku_name\":\"MaxVita Moong daal 25gm\",\"sku_id\":\"4500723\"},{\"tray_id\":\"19\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"10\",\"sku_name\":\"MaxVita Premium crunch Rusk 51gm\",\"sku_id\":\"4500710\"},{\"tray_id\":\"21\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"5\",\"sku_name\":\"Bindu Fizz Jeera Masala 250 ML\",\"sku_id\":\"186043\"},{\"tray_id\":\"22\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"4\",\"sku_name\":\"Nestle Nescafe Chilled Latte Coffee Milk \",\"sku_id\":\"186001\"},{\"tray_id\":\"23\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"3\",\"sku_name\":\"Paper boat Alphonso Mango 160ml\",\"sku_id\":\"4500407\"},{\"tray_id\":\"24\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"4\",\"sku_name\":\"Paper Boat NATA Mixed Berries 250ml\",\"sku_id\":\"4500720\"},{\"tray_id\":\"25\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"12\",\"sku_name\":\"Snickers Chocolate Bar 22g\",\"sku_id\":\"112220\"},{\"tray_id\":\"26\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"7\",\"sku_name\":\"Rite Bite Sports Bar 40gm\",\"sku_id\":\"4500669\"},{\"tray_id\":\"27\",\"quantity_in_db\":\"15\",\"quantity_on_tray\":\"16\",\"sku_name\":\"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g\",\"sku_id\":\"185993\"},{\"tray_id\":\"28\",\"quantity_in_db\":\"3\",\"quantity_on_tray\":\"10\",\"sku_name\":\"Farmely Classic date Bites 20gm\",\"sku_id\":\"4500667\"},{\"tray_id\":\"29\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"3\",\"sku_name\":\"Paper Boat Orange Pouch - 150Ml\",\"sku_id\":\"108676\"},{\"tray_id\":\"31\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"8\",\"sku_name\":\"MaxVita Indian Style Cream and onion Potato Chips 40gms\",\"sku_id\":\"4500713\"},{\"tray_id\":\"32\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"5\",\"sku_name\":\"MaxVita Chilli Spirinkled Potato Chips 40gms\",\"sku_id\":\"4500712\"},{\"tray_id\":\"33\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"11\",\"sku_name\":\"Maxvita Coconut Cookies 40gm\",\"sku_id\":\"4500725\"},{\"tray_id\":\"34\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"16\",\"sku_name\":\"Snickers Chocolate Bar 22g\",\"sku_id\":\"112220\"},{\"tray_id\":\"41\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"3\",\"sku_name\":\"Aatral Natural Electrolytes 200ml\",\"sku_id\":\"4500694\"},{\"tray_id\":\"42\",\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"5\",\"sku_name\":\"Heritage A1 Spiced Butter Milk180ml\",\"sku_id\":\"4500499\"},{\"tray_id\":\"43\",\"quantity_in_db\":\"4\",\"quantity_on_tray\":\"4\",\"sku_name\":\"Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE \",\"sku_id\":\"4500717\"},{\"tray_id\":\"44\",\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"5\",\"sku_name\":\"Heritage livo Badam milk 180ml\",\"sku_id\":\"4500704\"},{\"tray_id\":\"45\",\"quantity_in_db\":\"6\",\"quantity_on_tray\":\"7\",\"sku_name\":\"Nestle Nescafe Chilled Latte Coffee Milk \",\"sku_id\":\"186001\"}],\"success\":true,\"message\":\"Tray mismatches found.\",\"user\":\"machine\"},{\"action\":\"verify_refill\",\"quantity_on_tray_11\":\"5\",\"confirmed_11\":\"on\",\"quantity_on_tray_12\":\"10\",\"confirmed_12\":\"on\",\"quantity_on_tray_13\":\"4\",\"confirmed_13\":\"on\",\"quantity_on_tray_14\":\"6\",\"confirmed_14\":\"on\",\"quantity_on_tray_15\":\"7\",\"confirmed_15\":\"on\",\"quantity_on_tray_16\":\"7\",\"confirmed_16\":\"on\",\"quantity_on_tray_17\":\"8\",\"confirmed_17\":\"on\",\"quantity_on_tray_18\":\"12\",\"confirmed_18\":\"on\",\"quantity_on_tray_19\":\"10\",\"confirmed_19\":\"on\",\"quantity_on_tray_20\":\"\",\"confirmed_20\":\"on\",\"quantity_on_tray_21\":\"5\",\"confirmed_21\":\"on\",\"quantity_on_tray_22\":\"4\",\"confirmed_22\":\"on\",\"quantity_on_tray_23\":\"3\",\"confirmed_23\":\"on\",\"quantity_on_tray_24\":\"4\",\"confirmed_24\":\"on\",\"quantity_on_tray_25\":\"12\",\"confirmed_25\":\"on\",\"quantity_on_tray_26\":\"7\",\"confirmed_26\":\"on\",\"quantity_on_tray_27\":\"16\",\"confirmed_27\":\"on\",\"quantity_on_tray_28\":\"10\",\"confirmed_28\":\"on\",\"quantity_on_tray_29\":\"3\",\"confirmed_29\":\"on\",\"quantity_on_tray_31\":\"8\",\"confirmed_31\":\"on\",\"quantity_on_tray_32\":\"6\",\"confirmed_32\":\"on\",\"quantity_on_tray_33\":\"11\",\"confirmed_33\":\"on\",\"quantity_on_tray_34\":\"16\",\"confirmed_34\":\"on\",\"quantity_on_tray_41\":\"3\",\"confirmed_41\":\"on\",\"quantity_on_tray_42\":\"5\",\"confirmed_42\":\"on\",\"quantity_on_tray_43\":\"4\",\"confirmed_43\":\"on\",\"quantity_on_tray_44\":\"5\",\"confirmed_44\":\"on\",\"quantity_on_tray_45\":\"7\",\"confirmed_45\":\"on\",\"command_for\":\"server\"},{\"success\":true,\"user\":\"machine\"}]","type_of_order":"refill","command_request_data":"{\"request_data\":{\"order_id\":\"TM07201911_refill_260829114517\",\"refill_id\":\"9690346\",\"content\":[{\"check_enabled\":true,\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"5\",\"tray_id\":\"11\",\"sku_id\":\"4500733\",\"sku_name\":\"MaxVita Sev Murmura 90gm\"},{\"check_enabled\":true,\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"10\",\"tray_id\":\"12\",\"sku_id\":\"4500726\",\"sku_name\":\"MaxVita Crunchy Indian Mixture 30gm\"},{\"check_enabled\":true,\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"4\",\"tray_id\":\"13\",\"sku_id\":\"4500665\",\"sku_name\":\"Farmely Peri Peri Makhana 14gm\"},{\"check_enabled\":true,\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"6\",\"tray_id\":\"14\",\"sku_id\":\"4500672\",\"sku_name\":\"Modern kitchens Garlic Mixture 26gm\"},{\"check_enabled\":true,\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"7\",\"tray_id\":\"15\",\"sku_id\":\"4500715\",\"sku_name\":\"Max Protein Breakfast Cookie 10g Protein 55gm\"},{\"check_enabled\":true,\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"7\",\"tray_id\":\"16\",\"sku_id\":\"4500730\",\"sku_name\":\"Maxvita Khara Boondi 28gm\"},{\"check_enabled\":true,\"quantity_in_db\":\"8\",\"quantity_on_tray\":\"8\",\"tray_id\":\"17\",\"sku_id\":\"4500735\",\"sku_name\":\"Jus Amazin Salt N Pepper cashew 19g\"},{\"check_enabled\":true,\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"12\",\"tray_id\":\"18\",\"sku_id\":\"4500723\",\"sku_name\":\"MaxVita Moong daal 25gm\"},{\"check_enabled\":true,\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"10\",\"tray_id\":\"19\",\"sku_id\":\"4500710\",\"sku_name\":\"MaxVita Premium crunch Rusk 51gm\"},{\"check_enabled\":true,\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"5\",\"tray_id\":\"21\",\"sku_id\":\"186043\",\"sku_name\":\"Bindu Fizz Jeera Masala 250 ML\"},{\"check_enabled\":true,\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"4\",\"tray_id\":\"22\",\"sku_id\":\"186001\",\"sku_name\":\"Nestle Nescafe Chilled Latte Coffee Milk \"},{\"check_enabled\":true,\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"3\",\"tray_id\":\"23\",\"sku_id\":\"4500407\",\"sku_name\":\"Paper boat Alphonso Mango 160ml\"},{\"check_enabled\":true,\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"4\",\"tray_id\":\"24\",\"sku_id\":\"4500720\",\"sku_name\":\"Paper Boat NATA Mixed Berries 250ml\"},{\"check_enabled\":true,\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"12\",\"tray_id\":\"25\",\"sku_id\":\"112220\",\"sku_name\":\"Snickers Chocolate Bar 22g\"},{\"check_enabled\":true,\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"7\",\"tray_id\":\"26\",\"sku_id\":\"4500669\",\"sku_name\":\"Rite Bite Sports Bar 40gm\"},{\"check_enabled\":true,\"quantity_in_db\":\"15\",\"quantity_on_tray\":\"16\",\"tray_id\":\"27\",\"sku_id\":\"185993\",\"sku_name\":\"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g\"},{\"check_enabled\":true,\"quantity_in_db\":\"3\",\"quantity_on_tray\":\"10\",\"tray_id\":\"28\",\"sku_id\":\"4500667\",\"sku_name\":\"Farmely Classic date Bites 20gm\"},{\"check_enabled\":true,\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"3\",\"tray_id\":\"29\",\"sku_id\":\"108676\",\"sku_name\":\"Paper Boat Orange Pouch - 150Ml\"},{\"check_enabled\":true,\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"8\",\"tray_id\":\"31\",\"sku_id\":\"4500713\",\"sku_name\":\"MaxVita Indian Style Cream and onion Potato Chips 40gms\"},{\"check_enabled\":true,\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"6\",\"tray_id\":\"32\",\"sku_id\":\"4500712\",\"sku_name\":\"MaxVita Chilli Spirinkled Potato Chips 40gms\"},{\"check_enabled\":true,\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"11\",\"tray_id\":\"33\",\"sku_id\":\"4500725\",\"sku_name\":\"Maxvita Coconut Cookies 40gm\"},{\"check_enabled\":true,\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"16\",\"tray_id\":\"34\",\"sku_id\":\"112220\",\"sku_name\":\"Snickers Chocolate Bar 22g\"},{\"check_enabled\":true,\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"3\",\"tray_id\":\"41\",\"sku_id\":\"4500694\",\"sku_name\":\"Aatral Natural Electrolytes 200ml\"},{\"check_enabled\":true,\"quantity_in_db\":\"2\",\"quantity_on_tray\":\"5\",\"tray_id\":\"42\",\"sku_id\":\"4500499\",\"sku_name\":\"Heritage A1 Spiced Butter Milk180ml\"},{\"check_enabled\":true,\"quantity_in_db\":\"4\",\"quantity_on_tray\":\"4\",\"tray_id\":\"43\",\"sku_id\":\"4500717\",\"sku_name\":\"Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE \"},{\"check_enabled\":true,\"quantity_in_db\":\"0\",\"quantity_on_tray\":\"5\",\"tray_id\":\"44\",\"sku_id\":\"4500704\",\"sku_name\":\"Heritage livo Badam milk 180ml\"},{\"check_enabled\":true,\"quantity_in_db\":\"6\",\"quantity_on_tray\":\"7\",\"tray_id\":\"45\",\"sku_id\":\"186001\",\"sku_name\":\"Nestle Nescafe Chilled Latte Coffee Milk \"}],\"txnType\":\"refill\",\"door_id\":[1],\"door_open_init\":true},\"action\":\"completed\",\"sub-action\":\"completed\",\"action_name\":\"completed\",\"user\":\"machine\",\"refill_order_id\":\"TM07201911_refill_260829114517\",\"active_doors\":[\"1\",\"2\",\"3\",\"4\"],\"response_data\":{\"success\":true}}","command_for":"server","created_at":"2026-08-29 11:44:44","modified_at":"2026-08-29 11:52:41"}
[2026-08-29 11:52:44,957.957 INFO    ] {'created_at': '2026-08-29 11:44:44', 'server_status': 'completed', 'command_request_data': '{"request_data":{"order_id":"TM07201911_refill_260829114517","refill_id":"9690346","content":[{"check_enabled":true,"quantity_in_db":"0","quantity_on_tray":"5","tray_id":"11","sku_id":"4500733","sku_name":"MaxVita Sev Murmura 90gm"},{"check_enabled":true,"quantity_in_db":"0","quantity_on_tray":"10","tray_id":"12","sku_id":"4500726","sku_name":"MaxVita Crunchy Indian Mixture 30gm"},{"check_enabled":true,"quantity_in_db":"0","quantity_on_tray":"4","tray_id":"13","sku_id":"4500665","sku_name":"Farmely Peri Peri Makhana 14gm"},{"check_enabled":true,"quantity_in_db":"0","quantity_on_tray":"6","tray_id":"14","sku_id":"4500672","sku_name":"Modern kitchens Garlic Mixture 26gm"},{"check_enabled":true,"quantity_in_db":"2","quantity_on_tray":"7","tray_id":"15","sku_id":"4500715","sku_name":"Max Protein Breakfast Cookie 10g Protein 55gm"},{"check_enabled":true,"quantity_in_db":"0","quantity_on_tray":"7","tray_id":"16","sku_id":"4500730","sku_name":"Maxvita Khara Boondi 28gm"},{"check_enabled":true,"quantity_in_db":"8","quantity_on_tray":"8","tray_id":"17","sku_id":"4500735","sku_name":"Jus Amazin Salt N Pepper cashew 19g"},{"check_enabled":true,"quantity_in_db":"0","quantity_on_tray":"12","tray_id":"18","sku_id":"4500723","sku_name":"MaxVita Moong daal 25gm"},{"check_enabled":true,"quantity_in_db":"0","quantity_on_tray":"10","tray_id":"19","sku_id":"4500710","sku_name":"MaxVita Premium crunch Rusk 51gm"},{"check_enabled":true,"quantity_in_db":"0","quantity_on_tray":"5","tray_id":"21","sku_id":"186043","sku_name":"Bindu Fizz Jeera Masala 250 ML"},{"check_enabled":true,"quantity_in_db":"0","quantity_on_tray":"4","tray_id":"22","sku_id":"186001","sku_name":"Nestle Nescafe Chilled Latte Coffee Milk "},{"check_enabled":true,"quantity_in_db":"0","quantity_on_tray":"3","tray_id":"23","sku_id":"4500407","sku_name":"Paper boat Alphonso Mango 160ml"},{"check_enabled":true,"quantity_in_db":"0","quantity_on_tray":"4","tray_id":"24","sku_id":"4500720","sku_name":"Paper Boat NATA Mixed Berries 250ml"},{"check_enabled":true,"quantity_in_db":"2","quantity_on_tray":"12","tray_id":"25","sku_id":"112220","sku_name":"Snickers Chocolate Bar 22g"},{"check_enabled":true,"quantity_in_db":"0","quantity_on_tray":"7","tray_id":"26","sku_id":"4500669","sku_name":"Rite Bite Sports Bar 40gm"},{"check_enabled":true,"quantity_in_db":"15","quantity_on_tray":"16","tray_id":"27","sku_id":"185993","sku_name":"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g"},{"check_enabled":true,"quantity_in_db":"3","quantity_on_tray":"10","tray_id":"28","sku_id":"4500667","sku_name":"Farmely Classic date Bites 20gm"},{"check_enabled":true,"quantity_in_db":"0","quantity_on_tray":"3","tray_id":"29","sku_id":"108676","sku_name":"Paper Boat Orange Pouch - 150Ml"},{"check_enabled":true,"quantity_in_db":"2","quantity_on_tray":"8","tray_id":"31","sku_id":"4500713","sku_name":"MaxVita Indian Style Cream and onion Potato Chips 40gms"},{"check_enabled":true,"quantity_in_db":"0","quantity_on_tray":"6","tray_id":"32","sku_id":"4500712","sku_name":"MaxVita Chilli Spirinkled Potato Chips 40gms"},{"check_enabled":true,"quantity_in_db":"0","quantity_on_tray":"11","tray_id":"33","sku_id":"4500725","sku_name":"Maxvita Coconut Cookies 40gm"},{"check_enabled":true,"quantity_in_db":"0","quantity_on_tray":"16","tray_id":"34","sku_id":"112220","sku_name":"Snickers Chocolate Bar 22g"},{"check_enabled":true,"quantity_in_db":"2","quantity_on_tray":"3","tray_id":"41","sku_id":"4500694","sku_name":"Aatral Natural Electrolytes 200ml"},{"check_enabled":true,"quantity_in_db":"2","quantity_on_tray":"5","tray_id":"42","sku_id":"4500499","sku_name":"Heritage A1 Spiced Butter Milk180ml"},{"check_enabled":true,"quantity_in_db":"4","quantity_on_tray":"4","tray_id":"43","sku_id":"4500717","sku_name":"Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE "},{"check_enabled":true,"quantity_in_db":"0","quantity_on_tray":"5","tray_id":"44","sku_id":"4500704","sku_name":"Heritage livo Badam milk 180ml"},{"check_enabled":true,"quantity_in_db":"6","quantity_on_tray":"7","tray_id":"45","sku_id":"186001","sku_name":"Nestle Nescafe Chilled Latte Coffee Milk "}],"txnType":"refill","door_id":[1],"door_open_init":true},"action":"completed","sub-action":"completed","action_name":"completed","user":"machine","refill_order_id":"TM07201911_refill_260829114517","active_doors":["1","2","3","4"],"response_data":{"success":true}}', 'last_command_response': '{"success":true,"user":"machine"}', 'all_command_response': '[{"action":"get_user_mobile_no","mobile_no":"9036356553","command_for":"server"},{"success":"true","refill_id":"9690346","otp":"1956","user_id":9036356553,"allowed":"1","user":"machine"},{"action":"get_mobile_otp","mobile_no":"9036356553","otp":"1956","command_for":"server"},{"active_payment_gateways":"[{\\"header\\": \\"QR Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"PayTM\\", \\"label\\": \\"PayTM\\"}, {\\"active\\": 1, \\"name\\": \\"PhonePe\\", \\"label\\": \\"PhonePe\\"}, {\\"active\\": 1, \\"name\\": \\"GooglePay\\", \\"label\\": \\"Google Pay\\"}, {\\"active\\": 1, \\"name\\": \\"BHIM\\", \\"label\\": \\"BHIM UPI\\"}]}, {\\"header\\": \\"Card Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"Sodexo\\", \\"label\\": \\"Sodexo Card\\"}, {\\"active\\": 1, \\"name\\": \\"Card\\", \\"label\\": \\"Credit\\/Debit Card\\"}, {\\"active\\": 0, \\"name\\": \\"Qwikcilver\\", \\"label\\": \\"QwikCilver\\"}]}, {\\"header\\": \\"Wallet Payments\\", \\"payments\\": [{\\"active\\": 1, \\"name\\": \\"LazyPay\\", \\"label\\": \\"LazyPay\\"}, {\\"active\\": 0, \\"name\\": \\"Ola\\", \\"label\\": \\"OLA Money\\"}, {\\"active\\": 0, \\"name\\": \\"Neuu\\", \\"label\\": \\"Tiny Wallet\\"}]}]","order_id":"TM07201911_refill_260829114517","refill_id":"9690346","rstatus":true,"status":"True","user_id":9036356553,"active_doors":["1","2","3","4"],"door_size":4,"refill_order_id":"TM07201911_refill_260829114517","user":"machine"},{"action":"open_door_call","door_no":"1","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 1","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 1\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 1","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"2","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 2","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 2\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 2","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"2","command_for":"server"},{"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":"","SectionSKU":{"Header":"If you like us, tell others... else tell us","skus":[]},"SectionMain":{"Header":"Door Closed"},"status":"True","user":"machine"},{"action":"open_door_call","door_no":"3","command_for":"server"},{"action":"open_door_call","door_no":"4","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 3","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 3\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 3","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"open_door_call","door_no":"4","command_for":"server"},{"SectionStatus":{"Header":"Opening Door 4","SubHeader":"Please Pick products after opening","Note":"Please wait for door to open","UI_Header":"DOOR 4\\nIS \\nOPEN \\nNOW"},"rstatus":false,"voiceNote":"Opening Door 4","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[]},"SectionMain":{"Header":"Door Open"},"status":"False","user":"machine"},{"action":"complete_refill","trays":{"11":{"id":"11","tray_id":"11","door_id":"1","image":"https:\\/\\/images.tinymart.in\\/product\\/4500733-6191.jpg","name":"MaxVita Sev Murmura 90gm","mrp":"30","weight":"96","qty":0,"org_sku":"4500733","p_sku":"4500733","p_qty":0,"l_sku":"4500733","l_qty":"5","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500733-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"12":{"id":"12","tray_id":"12","door_id":"1","image":"https:\\/\\/images.tinymart.in\\/product\\/4500726-818.jpeg","name":"MaxVita Crunchy Indian Mixture 30gm","mrp":"10","weight":"35","qty":0,"org_sku":"4500726","p_sku":"4500726","p_qty":0,"l_sku":"4500726","l_qty":"10","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500726-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"13":{"id":"13","tray_id":"13","door_id":"1","image":"https:\\/\\/images.tinymart.in\\/product\\/4500665-172.jpg","name":"Farmely Peri Peri Makhana 14gm","mrp":"30","weight":"22","qty":0,"org_sku":"4500665","p_sku":"4500665","p_qty":0,"l_sku":"4500665","l_qty":"4","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500665-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"14":{"id":"14","tray_id":"14","door_id":"1","image":"https:\\/\\/images.tinymart.in\\/product\\/4500672-7226.webp","name":"Modern kitchens Garlic Mixture 26gm","mrp":"10","weight":"29","qty":0,"org_sku":"4500672","p_sku":"4500672","p_qty":0,"l_sku":"4500672","l_qty":"6","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500672-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"15":{"tray_id":"15","door_id":"1","tray_weight":"99999","sku_json":"4500715-2","org_sku":"4500715","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/4500715-4904.jpg","name":"Max Protein Breakfast Cookie 10g Protein 55gm","mrp":"50","weight":"60","qty":"2","id":"15","p_sku":"4500715","p_qty":"2","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"l_sku":"4500715","l_qty":"6"},"16":{"id":"16","tray_id":"16","door_id":"1","image":"https:\\/\\/images.tinymart.in\\/product\\/4500730-5277.png","name":"Maxvita Khara Boondi 28gm","mrp":"10","weight":"33","qty":0,"org_sku":"4500730","p_sku":"4500730","p_qty":0,"l_sku":"4500730","l_qty":"7","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500730-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"17":{"tray_id":"17","door_id":"1","tray_weight":"99999","sku_json":"4500735-8","org_sku":"4500735","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/4500735-9819.jpeg","name":"Jus Amazin Salt N Pepper cashew 19g","mrp":"40","weight":"25","qty":"8","id":"17","p_sku":"4500735","p_qty":"8","p_return_sku":"4500605","p_return_qty":"4","return_sku":"4500605","return_qty":"4","return_image":"https:\\/\\/images.tinymart.in\\/product\\/4500605-6297.png","l_sku":"4500605","l_qty":"4"},"18":{"id":"18","tray_id":"18","door_id":"1","image":"https:\\/\\/images.tinymart.in\\/product\\/4500723-3888.png","name":"MaxVita Moong daal 25gm","mrp":"10","weight":"28","qty":0,"org_sku":"4500723","p_sku":"4500723","p_qty":0,"l_sku":"4500723","l_qty":"12","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500723-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"19":{"id":"19","tray_id":"19","door_id":"1","image":"https:\\/\\/images.tinymart.in\\/product\\/4500710-1463.png","name":"MaxVita Premium crunch Rusk 51gm","mrp":"10","weight":"55","qty":0,"org_sku":"4500710","p_sku":"4500710","p_qty":0,"l_sku":"4500710","l_qty":"10","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500710-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"20":{"id":"20","tray_id":"20","door_id":"1","image":"https:\\/\\/skuimg.s3.ap-south-1.amazonaws.com\\/App+Image+List\\/Cadbury+Dairy+Milk+Chocolate+Mahapack%2C+52g.jpg","name":"Cadbury Dairy Milk Chocolate Mahapack, 52g","mrp":"40","weight":"56","qty":0,"org_sku":"8253","p_sku":"8253","p_qty":0,"l_sku":"8253","l_qty":"0","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"8253-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"21":{"id":"21","tray_id":"21","door_id":"2","image":"https:\\/\\/images.tinymart.in\\/product\\/186043-5089.png","name":"Bindu Fizz Jeera Masala 250 ML","mrp":"20","weight":"295","qty":0,"org_sku":"186043","p_sku":"186043","p_qty":0,"l_sku":"186043","l_qty":"5","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"186043-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"22":{"id":"22","tray_id":"22","door_id":"2","image":"https:\\/\\/images.tinymart.in\\/product\\/186001-2099.webp","name":"Nestle Nescafe Chilled Latte Coffee Milk ","mrp":"50","weight":"202","qty":0,"org_sku":"186001","p_sku":"186001","p_qty":0,"l_sku":"186001","l_qty":"3","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"186001-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"23":{"id":"23","tray_id":"23","door_id":"2","image":"https:\\/\\/images.tinymart.in\\/product\\/4500407-2060.jpg","name":"Paper boat Alphonso Mango 160ml","mrp":"25","weight":"175","qty":0,"org_sku":"4500407","p_sku":"4500407","p_qty":0,"l_sku":"4500407","l_qty":"3","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500407-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"24":{"id":"24","tray_id":"24","door_id":"2","image":"https:\\/\\/images.tinymart.in\\/product\\/4500720-8132.webp","name":"Paper Boat NATA Mixed Berries 250ml","mrp":"40","weight":"284","qty":0,"org_sku":"4500720","p_sku":"4500720","p_qty":0,"l_sku":"4500720","l_qty":"4","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500720-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"25":{"tray_id":"25","door_id":"2","tray_weight":"99999","sku_json":"186078-2","org_sku":"112220","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/186078-2883.png","name":"Paper boat Aam Panna 150ml","mrp":"25","weight":"166","qty":"2","id":"25","p_sku":"186078","p_qty":"2","p_return_sku":"186078","p_return_qty":"1","l_sku":"186078","l_qty":"1"},"26":{"id":"26","tray_id":"26","door_id":"2","image":"https:\\/\\/images.tinymart.in\\/product\\/4500669-3919.webp","name":"Rite Bite Sports Bar 40gm","mrp":"45","weight":"44","qty":0,"org_sku":"4500669","p_sku":"4500669","p_qty":0,"l_sku":"4500669","l_qty":"7","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500669-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"27":{"tray_id":"27","door_id":"2","tray_weight":"99999","sku_json":"185993-15","org_sku":"185993","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/185993-3509.webp","name":"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g","mrp":"20","weight":"42","qty":"15","id":"27","p_sku":"185993","p_qty":"15","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"l_sku":"185993","l_qty":"1"},"28":{"tray_id":"28","door_id":"2","tray_weight":"99999","sku_json":"4500667-3","org_sku":"4500667","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/4500667-4339.webp","name":"Farmely Classic date Bites 20gm","mrp":"40","weight":"23","qty":"3","id":"28","p_sku":"4500667","p_qty":"3","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"l_sku":"4500667","l_qty":"6"},"29":{"id":"29","tray_id":"29","door_id":"2","image":"https:\\/\\/images.tinymart.in\\/product\\/108676-2689.jpg","name":"Paper Boat Orange Pouch - 150Ml","mrp":"25","weight":"177","qty":0,"org_sku":"108676","p_sku":"108676","p_qty":0,"l_sku":"108676","l_qty":"3","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"108676-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"31":{"tray_id":"31","door_id":"3","tray_weight":"99999","sku_json":"4500713-2","org_sku":"4500713","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/4500713-9506.jpg","name":"MaxVita Indian Style Cream and onion Potato Chips 40gms","mrp":"20","weight":"47","qty":"2","id":"31","p_sku":"4500713","p_qty":"2","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"l_sku":"4500713","l_qty":"6"},"32":{"id":"32","tray_id":"32","door_id":"3","image":"https:\\/\\/images.tinymart.in\\/product\\/4500712-3453.png","name":"MaxVita Chilli Spirinkled Potato Chips 40gms","mrp":"20","weight":"46","qty":0,"org_sku":"4500712","p_sku":"4500712","p_qty":0,"l_sku":"4500712","l_qty":"5","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500712-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"33":{"id":"33","tray_id":"33","door_id":"3","image":"https:\\/\\/images.tinymart.in\\/product\\/4500725-5961.png","name":"Maxvita Coconut Cookies 40gm","mrp":"10","weight":"44","qty":0,"org_sku":"4500725","p_sku":"4500725","p_qty":0,"l_sku":"4500725","l_qty":"11","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500725-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"34":{"id":"34","tray_id":"34","door_id":"3","image":"https:\\/\\/images.tinymart.in\\/product\\/112220-2513.jpg","name":"Snickers Chocolate Bar 22g","mrp":"20","weight":"24","qty":0,"org_sku":"112220","p_sku":"112220","p_qty":0,"l_sku":"112220","l_qty":"16","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"112220-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"41":{"tray_id":"41","door_id":"4","tray_weight":"99999","sku_json":"4500694-2","org_sku":"4500694","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/4500694-1219.png","name":"Aatral Natural Electrolytes 200ml","mrp":"60","weight":"232","qty":"2","id":"41","p_sku":"4500694","p_qty":"2","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"l_sku":"4500694","l_qty":"3"},"42":{"tray_id":"42","door_id":"4","tray_weight":"99999","sku_json":"4500499-2","org_sku":"4500499","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/4500499-5719.webp","name":"Heritage A1 Spiced Butter Milk180ml","mrp":"20","weight":"192","qty":"2","id":"42","p_sku":"4500499","p_qty":"2","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"l_sku":"4500499","l_qty":"4"},"43":{"tray_id":"43","door_id":"4","tray_weight":"99999","sku_json":"4500717-4","org_sku":"4500717","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/4500717-9875.webp","name":"Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE ","mrp":"141","weight":"287","qty":"4","id":"43","p_sku":"4500717","p_qty":"4","p_return_sku":"186059","p_return_qty":"1","return_sku":"186059","return_qty":"1","return_image":"https:\\/\\/images.tinymart.in\\/product\\/186059-5330.png","l_sku":"186059","l_qty":"1"},"44":{"id":"44","tray_id":"44","door_id":"4","image":"https:\\/\\/images.tinymart.in\\/product\\/4500704-2291.webp","name":"Heritage livo Badam milk 180ml","mrp":"30","weight":"210","qty":0,"org_sku":"4500704","p_sku":"4500704","p_qty":0,"l_sku":"4500704","l_qty":"5","p_return_sku":"","p_return_qty":0,"return_sku":"","return_qty":0,"sku_json":"4500704-0","tray_weight":"99999","modified_at":"2026-08-29 11:45:19","created_at":"2026-08-29 11:45:19"},"45":{"tray_id":"45","door_id":"4","tray_weight":"99999","sku_json":"186001-6","org_sku":"186001","active":"1","created_at":"2026-08-28 23:42:46","modified_at":"2026-08-28 23:42:46","image":"https:\\/\\/images.tinymart.in\\/product\\/186001-2099.webp","name":"Nestle Nescafe Chilled Latte Coffee Milk ","mrp":"50","weight":"202","qty":"6","id":"45","p_sku":"186001","p_qty":"6","p_return_sku":"4500656","p_return_qty":"3","return_sku":"4500656","return_qty":"3","return_image":"https:\\/\\/images.tinymart.in\\/product\\/4500656-2520.webp","l_sku":"4500656","l_qty":"3"}},"command_for":"server"},{"tray_mismatches":[{"tray_id":"11","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"MaxVita Sev Murmura 90gm","sku_id":"4500733"},{"tray_id":"12","quantity_in_db":"0","quantity_on_tray":"10","sku_name":"MaxVita Crunchy Indian Mixture 30gm","sku_id":"4500726"},{"tray_id":"13","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Farmely Peri Peri Makhana 14gm","sku_id":"4500665"},{"tray_id":"14","quantity_in_db":"0","quantity_on_tray":"6","sku_name":"Modern kitchens Garlic Mixture 26gm","sku_id":"4500672"},{"tray_id":"15","quantity_in_db":"2","quantity_on_tray":"7","sku_name":"Max Protein Breakfast Cookie 10g Protein 55gm","sku_id":"4500715"},{"tray_id":"16","quantity_in_db":"0","quantity_on_tray":"7","sku_name":"Maxvita Khara Boondi 28gm","sku_id":"4500730"},{"tray_id":"17","quantity_in_db":"8","quantity_on_tray":"8","sku_name":"Jus Amazin Salt N Pepper cashew 19g","sku_id":"4500735"},{"tray_id":"18","quantity_in_db":"0","quantity_on_tray":"12","sku_name":"MaxVita Moong daal 25gm","sku_id":"4500723"},{"tray_id":"19","quantity_in_db":"0","quantity_on_tray":"10","sku_name":"MaxVita Premium crunch Rusk 51gm","sku_id":"4500710"},{"tray_id":"21","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"Bindu Fizz Jeera Masala 250 ML","sku_id":"186043"},{"tray_id":"22","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Nestle Nescafe Chilled Latte Coffee Milk ","sku_id":"186001"},{"tray_id":"23","quantity_in_db":"0","quantity_on_tray":"3","sku_name":"Paper boat Alphonso Mango 160ml","sku_id":"4500407"},{"tray_id":"24","quantity_in_db":"0","quantity_on_tray":"4","sku_name":"Paper Boat NATA Mixed Berries 250ml","sku_id":"4500720"},{"tray_id":"25","quantity_in_db":"2","quantity_on_tray":"12","sku_name":"Snickers Chocolate Bar 22g","sku_id":"112220"},{"tray_id":"26","quantity_in_db":"0","quantity_on_tray":"7","sku_name":"Rite Bite Sports Bar 40gm","sku_id":"4500669"},{"tray_id":"27","quantity_in_db":"15","quantity_on_tray":"16","sku_name":"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g","sku_id":"185993"},{"tray_id":"28","quantity_in_db":"3","quantity_on_tray":"10","sku_name":"Farmely Classic date Bites 20gm","sku_id":"4500667"},{"tray_id":"29","quantity_in_db":"0","quantity_on_tray":"3","sku_name":"Paper Boat Orange Pouch - 150Ml","sku_id":"108676"},{"tray_id":"31","quantity_in_db":"2","quantity_on_tray":"8","sku_name":"MaxVita Indian Style Cream and onion Potato Chips 40gms","sku_id":"4500713"},{"tray_id":"32","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"MaxVita Chilli Spirinkled Potato Chips 40gms","sku_id":"4500712"},{"tray_id":"33","quantity_in_db":"0","quantity_on_tray":"11","sku_name":"Maxvita Coconut Cookies 40gm","sku_id":"4500725"},{"tray_id":"34","quantity_in_db":"0","quantity_on_tray":"16","sku_name":"Snickers Chocolate Bar 22g","sku_id":"112220"},{"tray_id":"41","quantity_in_db":"2","quantity_on_tray":"3","sku_name":"Aatral Natural Electrolytes 200ml","sku_id":"4500694"},{"tray_id":"42","quantity_in_db":"2","quantity_on_tray":"5","sku_name":"Heritage A1 Spiced Butter Milk180ml","sku_id":"4500499"},{"tray_id":"43","quantity_in_db":"4","quantity_on_tray":"4","sku_name":"Epigamia Turbo 25g PROTEIN Coffee  MILKSHAKE ","sku_id":"4500717"},{"tray_id":"44","quantity_in_db":"0","quantity_on_tray":"5","sku_name":"Heritage livo Badam milk 180ml","sku_id":"4500704"},{"tray_id":"45","quantity_in_db":"6","quantity_on_tray":"7","sku_name":"Nestle Nescafe Chilled Latte Coffee Milk ","sku_id":"186001"}],"success":true,"message":"Tray mismatches found.","user":"machine"},{"action":"verify_refill","quantity_on_tray_11":"5","confirmed_11":"on","quantity_on_tray_12":"10","confirmed_12":"on","quantity_on_tray_13":"4","confirmed_13":"on","quantity_on_tray_14":"6","confirmed_14":"on","quantity_on_tray_15":"7","confirmed_15":"on","quantity_on_tray_16":"7","confirmed_16":"on","quantity_on_tray_17":"8","confirmed_17":"on","quantity_on_tray_18":"12","confirmed_18":"on","quantity_on_tray_19":"10","confirmed_19":"on","quantity_on_tray_20":"","confirmed_20":"on","quantity_on_tray_21":"5","confirmed_21":"on","quantity_on_tray_22":"4","confirmed_22":"on","quantity_on_tray_23":"3","confirmed_23":"on","quantity_on_tray_24":"4","confirmed_24":"on","quantity_on_tray_25":"12","confirmed_25":"on","quantity_on_tray_26":"7","confirmed_26":"on","quantity_on_tray_27":"16","confirmed_27":"on","quantity_on_tray_28":"10","confirmed_28":"on","quantity_on_tray_29":"3","confirmed_29":"on","quantity_on_tray_31":"8","confirmed_31":"on","quantity_on_tray_32":"6","confirmed_32":"on","quantity_on_tray_33":"11","confirmed_33":"on","quantity_on_tray_34":"16","confirmed_34":"on","quantity_on_tray_41":"3","confirmed_41":"on","quantity_on_tray_42":"5","confirmed_42":"on","quantity_on_tray_43":"4","confirmed_43":"on","quantity_on_tray_44":"5","confirmed_44":"on","quantity_on_tray_45":"7","confirmed_45":"on","command_for":"server"},{"success":true,"user":"machine"}]', 'command_for': 'server', 'type_of_order': 'refill', 'order_id': '9690346', 'server_response': '', 'status': 'active', 'user_id': '9036356553', 'modified_at': '2026-08-29 11:52:41', 'command_todo': 'interactive-refill', 'vm_id': '1861896391128712585'}
[2026-08-29 11:52:44,961.961 INFO    ] refill verification completed 
[2026-08-29 11:52:45,889.889 INFO    ] 200
[2026-08-29 11:52:45,892.892 INFO    ] {"tray_sync": [], "orders_data": [], "status": true, "order_items_synced": [], "order_items": [], "tray_synced": ["no_entry", "no_entry", "no_entry", "no_entry", "no_entry", "no_entry", "no_entry", "no_entry", "no_entry", "no_entry", "no_entry", "no_entry", "no_entry", "no_entry", "no_entry", "no_entry", "no_entry", "no_entry", "no_entry", "no_entry", "no_entry", "no_entry", "no_entry", "no_entry", "no_entry", "no_entry", "no_entry", "no_entry"], "orders_data_synced": [], "orders": [], "orders_synced": []}
[2026-08-29 11:52:45,896.896 INFO    ] Checking for system updates...
[2026-08-29 11:52:45,932.932 INFO    ] 200
[2026-08-29 11:52:45,935.935 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:52:45,988.988 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:52:45,991.991 INFO    ] No update needed
[2026-08-29 11:52:45,994.994 INFO    ] Checking for camera pi updates...
[2026-08-29 11:52:46,034.034 INFO    ] 200
[2026-08-29 11:52:46,037.037 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:52:46,080.080 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:52:46,234.234 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:52:46,235.235 INFO    ] No camera update needed
[2026-08-29 11:52:46,236.236 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:52:46,238.238 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:52:46,241.241 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:52:46,244.244 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:52:48,286.286 INFO    ] ================================================
[2026-08-29 11:52:48,301.301 INFO    ] Launching Daemon at Sat Aug 29 11:52:48 IST 2026
[2026-08-29 11:52:48,312.312 INFO    ] ================================================
[2026-08-29 11:52:48,673.673 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:52:48
[2026-08-29 11:52:48,993.993 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:52:49,201.201 INFO    ] Initializing speech engine...
[2026-08-29 11:52:49,210.210 INFO    ] 2026-08-29 11:52:49
[2026-08-29 11:52:49,489.489 INFO    ] 2026-08-29 11:52:49
[2026-08-29 11:52:49,525.525 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:52:49,709.709 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:52:49,728.728 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:52:49,921.921 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:52:49,928.928 INFO    ] time= 29/08/2026 11:52:49
[2026-08-29 11:52:49,994.994 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:52:50,054.054 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:52:50,159.159 INFO    ] No existing commands found in stream
[2026-08-29 11:52:55,190.190 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:52:55,193.193 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-08-29 11:53:00,016.016 INFO    ] {'response': {'status': False, 'data': 'order not active', 'msg': 'order not active '}}
[2026-08-29 11:53:00,018.018 INFO    ] Checking for system updates...
[2026-08-29 11:53:00,038.038 INFO    ] 200
[2026-08-29 11:53:00,040.040 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:53:00,072.072 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:53:00,073.073 INFO    ] No update needed
[2026-08-29 11:53:00,074.074 INFO    ] Checking for camera pi updates...
[2026-08-29 11:53:00,094.094 INFO    ] 200
[2026-08-29 11:53:00,095.095 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:53:00,118.118 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:53:00,256.256 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:53:00,257.257 INFO    ] No camera update needed
[2026-08-29 11:53:00,258.258 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:53:00,259.259 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:53:00,262.262 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:53:00,266.266 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:53:02,316.316 INFO    ] ================================================
[2026-08-29 11:53:02,340.340 INFO    ] Launching Daemon at Sat Aug 29 11:53:02 IST 2026
[2026-08-29 11:53:02,366.366 INFO    ] ================================================
[2026-08-29 11:53:03,003.003 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:53:02
[2026-08-29 11:53:03,602.602 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:53:03,878.878 INFO    ] Initializing speech engine...
[2026-08-29 11:53:03,887.887 INFO    ] 2026-08-29 11:53:03
[2026-08-29 11:53:04,137.137 INFO    ] 2026-08-29 11:53:04
[2026-08-29 11:53:04,173.173 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:53:04,347.347 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:53:04,359.359 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:53:04,500.500 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:53:04,508.508 INFO    ] time= 29/08/2026 11:53:04
[2026-08-29 11:53:04,514.514 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:53:04,556.556 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:53:04,642.642 INFO    ] No existing commands found in stream
[2026-08-29 11:53:09,651.651 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:53:09,654.654 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-08-29 11:53:12,546.546 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:53:12,547.547 INFO    ] Checking for system updates...
[2026-08-29 11:53:12,567.567 INFO    ] 200
[2026-08-29 11:53:12,569.569 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:53:12,601.601 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:53:12,602.602 INFO    ] No update needed
[2026-08-29 11:53:12,604.604 INFO    ] Checking for camera pi updates...
[2026-08-29 11:53:12,625.625 INFO    ] 200
[2026-08-29 11:53:12,626.626 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:53:12,649.649 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:53:12,744.744 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:53:12,745.745 INFO    ] No camera update needed
[2026-08-29 11:53:12,746.746 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:53:12,747.747 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:53:12,750.750 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:53:12,753.753 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:53:14,793.793 INFO    ] ================================================
[2026-08-29 11:53:14,808.808 INFO    ] Launching Daemon at Sat Aug 29 11:53:14 IST 2026
[2026-08-29 11:53:14,819.819 INFO    ] ================================================
[2026-08-29 11:53:15,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:53:15
[2026-08-29 11:53:15,476.476 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:53:15,659.659 INFO    ] Initializing speech engine...
[2026-08-29 11:53:15,678.678 INFO    ] 2026-08-29 11:53:15
[2026-08-29 11:53:15,926.926 INFO    ] 2026-08-29 11:53:15
[2026-08-29 11:53:15,961.961 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:53:16,141.141 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:53:16,157.157 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:53:16,288.288 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:53:16,293.293 INFO    ] time= 29/08/2026 11:53:16
[2026-08-29 11:53:16,299.299 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:53:16,345.345 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:53:16,462.462 INFO    ] No existing commands found in stream
[2026-08-29 11:53:21,493.493 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:53:21,495.495 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-08-29 11:53:25,149.149 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:53:25,150.150 INFO    ] Checking for system updates...
[2026-08-29 11:53:25,171.171 INFO    ] 200
[2026-08-29 11:53:25,172.172 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:53:25,202.202 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:53:25,204.204 INFO    ] No update needed
[2026-08-29 11:53:25,205.205 INFO    ] Checking for camera pi updates...
[2026-08-29 11:53:25,224.224 INFO    ] 200
[2026-08-29 11:53:25,225.225 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:53:25,250.250 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:53:25,330.330 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:53:25,331.331 INFO    ] No camera update needed
[2026-08-29 11:53:25,332.332 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:53:25,334.334 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:53:25,337.337 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:53:25,339.339 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:53:27,380.380 INFO    ] ================================================
[2026-08-29 11:53:27,395.395 INFO    ] Launching Daemon at Sat Aug 29 11:53:27 IST 2026
[2026-08-29 11:53:27,406.406 INFO    ] ================================================
[2026-08-29 11:53:27,742.742 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:53:27
[2026-08-29 11:53:28,055.055 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:53:28,186.186 INFO    ] Initializing speech engine...
[2026-08-29 11:53:28,189.189 INFO    ] 2026-08-29 11:53:28
[2026-08-29 11:53:28,393.393 INFO    ] 2026-08-29 11:53:28
[2026-08-29 11:53:28,427.427 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:53:28,602.602 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:53:28,608.608 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:53:28,760.760 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:53:28,769.769 INFO    ] time= 29/08/2026 11:53:28
[2026-08-29 11:53:28,774.774 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:53:28,780.780 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:53:28,849.849 INFO    ] No existing commands found in stream
[2026-08-29 11:53:33,879.879 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:53:33,882.882 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-08-29 11:53:35,651.651 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:53:35,653.653 INFO    ] Checking for system updates...
[2026-08-29 11:53:35,675.675 INFO    ] 200
[2026-08-29 11:53:35,676.676 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:53:35,706.706 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:53:35,708.708 INFO    ] No update needed
[2026-08-29 11:53:35,709.709 INFO    ] Checking for camera pi updates...
[2026-08-29 11:53:35,729.729 INFO    ] 200
[2026-08-29 11:53:35,731.731 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:53:35,766.766 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:53:35,955.955 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:53:35,957.957 INFO    ] No camera update needed
[2026-08-29 11:53:35,960.960 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:53:35,962.962 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:53:35,968.968 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:53:35,973.973 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:53:38,017.017 INFO    ] ================================================
[2026-08-29 11:53:38,032.032 INFO    ] Launching Daemon at Sat Aug 29 11:53:38 IST 2026
[2026-08-29 11:53:38,043.043 INFO    ] ================================================
[2026-08-29 11:53:38,612.612 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:53:38
[2026-08-29 11:53:39,045.045 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:53:39,187.187 INFO    ] Initializing speech engine...
[2026-08-29 11:53:39,192.192 INFO    ] 2026-08-29 11:53:39
[2026-08-29 11:53:39,372.372 INFO    ] 2026-08-29 11:53:39
[2026-08-29 11:53:39,406.406 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:53:39,579.579 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:53:39,591.591 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:53:39,732.732 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:53:39,741.741 INFO    ] time= 29/08/2026 11:53:39
[2026-08-29 11:53:39,747.747 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:53:39,784.784 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:53:39,902.902 INFO    ] No existing commands found in stream
[2026-08-29 11:53:44,927.927 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:53:44,930.930 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-08-29 11:53:46,058.058 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:53:46,060.060 INFO    ] Checking for system updates...
[2026-08-29 11:53:46,081.081 INFO    ] 200
[2026-08-29 11:53:46,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:53:46,115.115 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:53:46,117.117 INFO    ] No update needed
[2026-08-29 11:53:46,118.118 INFO    ] Checking for camera pi updates...
[2026-08-29 11:53:46,139.139 INFO    ] 200
[2026-08-29 11:53:46,140.140 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:53:46,163.163 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:53:46,262.262 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:53:46,263.263 INFO    ] No camera update needed
[2026-08-29 11:53:46,264.264 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:53:46,265.265 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:53:46,268.268 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:53:46,271.271 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:53:48,309.309 INFO    ] ================================================
[2026-08-29 11:53:48,325.325 INFO    ] Launching Daemon at Sat Aug 29 11:53:48 IST 2026
[2026-08-29 11:53:48,336.336 INFO    ] ================================================
[2026-08-29 11:53:48,687.687 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:53:48
[2026-08-29 11:53:49,027.027 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:53:49,179.179 INFO    ] Initializing speech engine...
[2026-08-29 11:53:49,186.186 INFO    ] 2026-08-29 11:53:49
[2026-08-29 11:53:49,393.393 INFO    ] 2026-08-29 11:53:49
[2026-08-29 11:53:49,422.422 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:53:49,545.545 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:53:49,593.593 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:53:49,744.744 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:53:49,811.811 INFO    ] time= 29/08/2026 11:53:49
[2026-08-29 11:53:49,838.838 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:53:49,845.845 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:53:49,912.912 INFO    ] No existing commands found in stream
[2026-08-29 11:53:54,927.927 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:53:54,930.930 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 11:53:58,368.368 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:53:58,370.370 INFO    ] Checking for system updates...
[2026-08-29 11:53:58,391.391 INFO    ] 200
[2026-08-29 11:53:58,393.393 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:53:58,422.422 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:53:58,424.424 INFO    ] No update needed
[2026-08-29 11:53:58,425.425 INFO    ] Checking for camera pi updates...
[2026-08-29 11:53:58,444.444 INFO    ] 200
[2026-08-29 11:53:58,445.445 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:53:58,469.469 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:53:58,544.544 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:53:58,546.546 INFO    ] No camera update needed
[2026-08-29 11:53:58,547.547 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:53:58,548.548 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:53:58,551.551 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:53:58,554.554 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:54:00,592.592 INFO    ] ================================================
[2026-08-29 11:54:00,608.608 INFO    ] Launching Daemon at Sat Aug 29 11:54:00 IST 2026
[2026-08-29 11:54:00,619.619 INFO    ] ================================================
[2026-08-29 11:54:01,143.143 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:54:01
[2026-08-29 11:54:01,729.729 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:54:02,336.336 INFO    ] Initializing speech engine...
[2026-08-29 11:54:02,340.340 INFO    ] 2026-08-29 11:54:02
[2026-08-29 11:54:02,675.675 INFO    ] 2026-08-29 11:54:02
[2026-08-29 11:54:02,705.705 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:54:02,900.900 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:54:02,922.922 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:54:04,082.082 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:54:04,085.085 INFO    ] time= 29/08/2026 11:54:04
[2026-08-29 11:54:04,088.088 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:54:04,093.093 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:54:04,653.653 INFO    ] No existing commands found in stream
[2026-08-29 11:54:09,663.663 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:54:09,665.665 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-08-29 11:54:11,744.744 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:54:11,745.745 INFO    ] Checking for system updates...
[2026-08-29 11:54:11,767.767 INFO    ] 200
[2026-08-29 11:54:11,768.768 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:54:11,809.809 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:54:11,811.811 INFO    ] No update needed
[2026-08-29 11:54:11,813.813 INFO    ] Checking for camera pi updates...
[2026-08-29 11:54:11,833.833 INFO    ] 200
[2026-08-29 11:54:11,835.835 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:54:11,858.858 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:54:11,934.934 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:54:11,936.936 INFO    ] No camera update needed
[2026-08-29 11:54:11,937.937 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:54:11,938.938 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:54:11,941.941 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:54:11,944.944 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:54:13,985.985 INFO    ] ================================================
[2026-08-29 11:54:14,003.003 INFO    ] Launching Daemon at Sat Aug 29 11:54:13 IST 2026
[2026-08-29 11:54:14,015.015 INFO    ] ================================================
[2026-08-29 11:54:14,340.340 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:54:14
[2026-08-29 11:54:14,651.651 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:54:14,894.894 INFO    ] Initializing speech engine...
[2026-08-29 11:54:14,902.902 INFO    ] 2026-08-29 11:54:14
[2026-08-29 11:54:15,199.199 INFO    ] 2026-08-29 11:54:15
[2026-08-29 11:54:15,226.226 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:54:18,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:54:18,702.702 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:54:18,797.797 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:54:18,798.798 INFO    ] time= 29/08/2026 11:54:18
[2026-08-29 11:54:18,799.799 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:54:18,801.801 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:54:18,856.856 INFO    ] No existing commands found in stream
[2026-08-29 11:54:23,864.864 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:54:23,866.866 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-08-29 11:54:28,225.225 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:54:28,228.228 INFO    ] Checking for system updates...
[2026-08-29 11:54:28,268.268 INFO    ] 200
[2026-08-29 11:54:28,270.270 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:54:28,323.323 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:54:28,326.326 INFO    ] No update needed
[2026-08-29 11:54:28,328.328 INFO    ] Checking for camera pi updates...
[2026-08-29 11:54:28,366.366 INFO    ] 200
[2026-08-29 11:54:28,368.368 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:54:28,408.408 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:54:28,510.510 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:54:28,513.513 INFO    ] No camera update needed
[2026-08-29 11:54:28,515.515 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:54:28,518.518 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:54:28,523.523 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:54:28,528.528 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:54:30,568.568 INFO    ] ================================================
[2026-08-29 11:54:30,584.584 INFO    ] Launching Daemon at Sat Aug 29 11:54:30 IST 2026
[2026-08-29 11:54:30,596.596 INFO    ] ================================================
[2026-08-29 11:54:30,952.952 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:54:30
[2026-08-29 11:54:31,265.265 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:54:31,506.506 INFO    ] Initializing speech engine...
[2026-08-29 11:54:31,519.519 INFO    ] 2026-08-29 11:54:31
[2026-08-29 11:54:31,790.790 INFO    ] 2026-08-29 11:54:31
[2026-08-29 11:54:31,830.830 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:54:32,022.022 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:54:32,039.039 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:54:32,199.199 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:54:32,210.210 INFO    ] time= 29/08/2026 11:54:32
[2026-08-29 11:54:32,218.218 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:54:32,275.275 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:54:32,416.416 INFO    ] No existing commands found in stream
[2026-08-29 11:54:37,431.431 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:54:37,435.435 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-08-29 11:54:44,923.923 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:54:44,925.925 INFO    ] Checking for system updates...
[2026-08-29 11:54:44,947.947 INFO    ] 200
[2026-08-29 11:54:44,948.948 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:54:44,980.980 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:54:44,981.981 INFO    ] No update needed
[2026-08-29 11:54:44,983.983 INFO    ] Checking for camera pi updates...
[2026-08-29 11:54:45,004.004 INFO    ] 200
[2026-08-29 11:54:45,005.005 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:54:45,029.029 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:54:45,105.105 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:54:45,106.106 INFO    ] No camera update needed
[2026-08-29 11:54:45,107.107 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:54:45,108.108 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:54:45,111.111 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:54:45,114.114 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:54:47,153.153 INFO    ] ================================================
[2026-08-29 11:54:47,168.168 INFO    ] Launching Daemon at Sat Aug 29 11:54:47 IST 2026
[2026-08-29 11:54:47,180.180 INFO    ] ================================================
[2026-08-29 11:54:47,561.561 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:54:47
[2026-08-29 11:54:47,893.893 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:54:48,044.044 INFO    ] Initializing speech engine...
[2026-08-29 11:54:48,047.047 INFO    ] 2026-08-29 11:54:48
[2026-08-29 11:54:48,260.260 INFO    ] 2026-08-29 11:54:48
[2026-08-29 11:54:48,288.288 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:54:48,691.691 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:54:48,698.698 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:54:49,327.327 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:54:49,335.335 INFO    ] time= 29/08/2026 11:54:49
[2026-08-29 11:54:49,339.339 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:54:49,361.361 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:54:49,706.706 INFO    ] No existing commands found in stream
[2026-08-29 11:54:54,715.715 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:54:54,718.718 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-08-29 11:54:56,818.818 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:54:56,821.821 INFO    ] Checking for system updates...
[2026-08-29 11:54:56,861.861 INFO    ] 200
[2026-08-29 11:54:56,864.864 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:54:56,922.922 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:54:56,924.924 INFO    ] No update needed
[2026-08-29 11:54:56,925.925 INFO    ] Checking for camera pi updates...
[2026-08-29 11:54:56,945.945 INFO    ] 200
[2026-08-29 11:54:56,947.947 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:54:56,971.971 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:54:57,057.057 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:54:57,059.059 INFO    ] No camera update needed
[2026-08-29 11:54:57,061.061 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:54:57,064.064 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:54:57,069.069 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:54:57,074.074 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:54:59,114.114 INFO    ] ================================================
[2026-08-29 11:54:59,129.129 INFO    ] Launching Daemon at Sat Aug 29 11:54:59 IST 2026
[2026-08-29 11:54:59,140.140 INFO    ] ================================================
[2026-08-29 11:54:59,724.724 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:54:59
[2026-08-29 11:55:00,196.196 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:55:00,341.341 INFO    ] Initializing speech engine...
[2026-08-29 11:55:00,346.346 INFO    ] 2026-08-29 11:55:00
[2026-08-29 11:55:00,550.550 INFO    ] 2026-08-29 11:55:00
[2026-08-29 11:55:00,579.579 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:55:01,008.008 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:55:01,053.053 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:55:02,254.254 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:55:02,259.259 INFO    ] time= 29/08/2026 11:55:02
[2026-08-29 11:55:02,293.293 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:55:02,297.297 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:55:02,384.384 INFO    ] No existing commands found in stream
[2026-08-29 11:55:07,400.400 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:55:07,404.404 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-08-29 11:55:11,122.122 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:55:11,124.124 INFO    ] Checking for system updates...
[2026-08-29 11:55:11,144.144 INFO    ] 200
[2026-08-29 11:55:11,146.146 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:55:11,178.178 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:55:11,179.179 INFO    ] No update needed
[2026-08-29 11:55:11,181.181 INFO    ] Checking for camera pi updates...
[2026-08-29 11:55:11,201.201 INFO    ] 200
[2026-08-29 11:55:11,203.203 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:55:11,227.227 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:55:11,331.331 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:55:11,332.332 INFO    ] No camera update needed
[2026-08-29 11:55:11,334.334 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:55:11,335.335 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:55:11,338.338 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:55:11,340.340 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:55:13,380.380 INFO    ] ================================================
[2026-08-29 11:55:13,397.397 INFO    ] Launching Daemon at Sat Aug 29 11:55:13 IST 2026
[2026-08-29 11:55:13,408.408 INFO    ] ================================================
[2026-08-29 11:55:13,748.748 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:55:13
[2026-08-29 11:55:14,061.061 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:55:14,203.203 INFO    ] Initializing speech engine...
[2026-08-29 11:55:14,208.208 INFO    ] 2026-08-29 11:55:14
[2026-08-29 11:55:14,443.443 INFO    ] 2026-08-29 11:55:14
[2026-08-29 11:55:14,503.503 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:55:15,922.922 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:55:15,928.928 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:55:16,046.046 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:55:16,049.049 INFO    ] time= 29/08/2026 11:55:16
[2026-08-29 11:55:16,052.052 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:55:16,055.055 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:55:16,158.158 INFO    ] No existing commands found in stream
[2026-08-29 11:55:21,183.183 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:55:21,186.186 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-08-29 11:55:24,916.916 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:55:24,918.918 INFO    ] Checking for system updates...
[2026-08-29 11:55:24,939.939 INFO    ] 200
[2026-08-29 11:55:24,941.941 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:55:24,973.973 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:55:24,974.974 INFO    ] No update needed
[2026-08-29 11:55:24,976.976 INFO    ] Checking for camera pi updates...
[2026-08-29 11:55:24,996.996 INFO    ] 200
[2026-08-29 11:55:24,998.998 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:55:25,022.022 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:55:25,097.097 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:55:25,099.099 INFO    ] No camera update needed
[2026-08-29 11:55:25,100.100 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:55:25,101.101 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:55:25,104.104 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:55:25,107.107 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:55:27,147.147 INFO    ] ================================================
[2026-08-29 11:55:27,165.165 INFO    ] Launching Daemon at Sat Aug 29 11:55:27 IST 2026
[2026-08-29 11:55:27,176.176 INFO    ] ================================================
[2026-08-29 11:55:27,568.568 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:55:27
[2026-08-29 11:55:27,909.909 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:55:28,063.063 INFO    ] Initializing speech engine...
[2026-08-29 11:55:28,067.067 INFO    ] 2026-08-29 11:55:28
[2026-08-29 11:55:28,274.274 INFO    ] 2026-08-29 11:55:28
[2026-08-29 11:55:28,321.321 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:55:29,496.496 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:55:29,505.505 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:55:29,608.608 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:55:29,621.621 INFO    ] time= 29/08/2026 11:55:29
[2026-08-29 11:55:29,629.629 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:55:29,638.638 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:55:29,689.689 INFO    ] No existing commands found in stream
[2026-08-29 11:55:34,708.708 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:55:34,711.711 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-08-29 11:55:37,274.274 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:55:37,277.277 INFO    ] Checking for system updates...
[2026-08-29 11:55:37,319.319 INFO    ] 200
[2026-08-29 11:55:37,322.322 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:55:37,374.374 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:55:37,376.376 INFO    ] No update needed
[2026-08-29 11:55:37,377.377 INFO    ] Checking for camera pi updates...
[2026-08-29 11:55:37,398.398 INFO    ] 200
[2026-08-29 11:55:37,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:55:37,425.425 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:55:37,525.525 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:55:37,526.526 INFO    ] No camera update needed
[2026-08-29 11:55:37,527.527 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:55:37,529.529 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:55:37,532.532 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:55:37,535.535 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:55:39,575.575 INFO    ] ================================================
[2026-08-29 11:55:39,590.590 INFO    ] Launching Daemon at Sat Aug 29 11:55:39 IST 2026
[2026-08-29 11:55:39,602.602 INFO    ] ================================================
[2026-08-29 11:55:39,962.962 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:55:39
[2026-08-29 11:55:40,284.284 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:55:40,420.420 INFO    ] Initializing speech engine...
[2026-08-29 11:55:40,425.425 INFO    ] 2026-08-29 11:55:40
[2026-08-29 11:55:40,657.657 INFO    ] 2026-08-29 11:55:40
[2026-08-29 11:55:40,688.688 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:55:41,103.103 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:55:41,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:55:41,237.237 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:55:41,265.265 INFO    ] time= 29/08/2026 11:55:41
[2026-08-29 11:55:41,269.269 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:55:41,272.272 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:55:41,349.349 INFO    ] No existing commands found in stream
[2026-08-29 11:55:46,359.359 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:55:46,362.362 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-08-29 11:55:50,356.356 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:55:50,359.359 INFO    ] Checking for system updates...
[2026-08-29 11:55:50,399.399 INFO    ] 200
[2026-08-29 11:55:50,402.402 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:55:50,446.446 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:55:50,447.447 INFO    ] No update needed
[2026-08-29 11:55:50,449.449 INFO    ] Checking for camera pi updates...
[2026-08-29 11:55:50,469.469 INFO    ] 200
[2026-08-29 11:55:50,471.471 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:55:50,495.495 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:55:50,687.687 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:55:50,689.689 INFO    ] No camera update needed
[2026-08-29 11:55:50,690.690 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:55:50,691.691 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:55:50,694.694 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:55:50,697.697 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:55:52,735.735 INFO    ] ================================================
[2026-08-29 11:55:52,751.751 INFO    ] Launching Daemon at Sat Aug 29 11:55:52 IST 2026
[2026-08-29 11:55:52,763.763 INFO    ] ================================================
[2026-08-29 11:55:53,427.427 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:55:53
[2026-08-29 11:55:54,111.111 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:55:54,418.418 INFO    ] Initializing speech engine...
[2026-08-29 11:55:54,432.432 INFO    ] 2026-08-29 11:55:54
[2026-08-29 11:55:54,748.748 INFO    ] 2026-08-29 11:55:54
[2026-08-29 11:55:54,833.833 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:55:55,008.008 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:55:55,015.015 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:55:55,666.666 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:55:55,679.679 INFO    ] time= 29/08/2026 11:55:55
[2026-08-29 11:55:55,683.683 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:55:55,686.686 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:55:56,259.259 INFO    ] No existing commands found in stream
[2026-08-29 11:56:01,269.269 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:56:01,272.272 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-08-29 11:56:06,689.689 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:56:06,691.691 INFO    ] Checking for system updates...
[2026-08-29 11:56:06,732.732 INFO    ] 200
[2026-08-29 11:56:06,735.735 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:56:06,799.799 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:56:06,802.802 INFO    ] No update needed
[2026-08-29 11:56:06,805.805 INFO    ] Checking for camera pi updates...
[2026-08-29 11:56:06,843.843 INFO    ] 200
[2026-08-29 11:56:06,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:56:06,888.888 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:56:06,954.954 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:56:06,957.957 INFO    ] No camera update needed
[2026-08-29 11:56:06,960.960 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:56:06,962.962 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:56:06,968.968 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:56:06,974.974 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:56:09,014.014 INFO    ] ================================================
[2026-08-29 11:56:09,029.029 INFO    ] Launching Daemon at Sat Aug 29 11:56:09 IST 2026
[2026-08-29 11:56:09,040.040 INFO    ] ================================================
[2026-08-29 11:56:09,533.533 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:56:09
[2026-08-29 11:56:10,131.131 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:56:10,408.408 INFO    ] Initializing speech engine...
[2026-08-29 11:56:10,415.415 INFO    ] 2026-08-29 11:56:10
[2026-08-29 11:56:10,674.674 INFO    ] 2026-08-29 11:56:10
[2026-08-29 11:56:10,730.730 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:56:10,950.950 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:56:10,959.959 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:56:14,373.373 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:56:14,376.376 INFO    ] time= 29/08/2026 11:56:14
[2026-08-29 11:56:14,378.378 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:56:14,380.380 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:56:14,425.425 INFO    ] No existing commands found in stream
[2026-08-29 11:56:19,435.435 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:56:19,437.437 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-08-29 11:56:21,272.272 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 11:56:21,274.274 INFO    ] Checking for system updates...
[2026-08-29 11:56:21,295.295 INFO    ] 200
[2026-08-29 11:56:21,296.296 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:56:21,327.327 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:56:21,328.328 INFO    ] No update needed
[2026-08-29 11:56:21,330.330 INFO    ] Checking for camera pi updates...
[2026-08-29 11:56:21,349.349 INFO    ] 200
[2026-08-29 11:56:21,351.351 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:56:21,374.374 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:56:21,488.488 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:56:21,489.489 INFO    ] No camera update needed
[2026-08-29 11:56:21,491.491 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:56:21,492.492 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:56:21,495.495 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:56:21,498.498 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:56:23,536.536 INFO    ] ================================================
[2026-08-29 11:56:23,552.552 INFO    ] Launching Daemon at Sat Aug 29 11:56:23 IST 2026
[2026-08-29 11:56:23,564.564 INFO    ] ================================================
[2026-08-29 11:56:23,936.936 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:56:23
[2026-08-29 11:56:24,253.253 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:56:24,435.435 INFO    ] Initializing speech engine...
[2026-08-29 11:56:24,444.444 INFO    ] 2026-08-29 11:56:24
[2026-08-29 11:56:24,695.695 INFO    ] 2026-08-29 11:56:24
[2026-08-29 11:56:24,731.731 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:56:24,904.904 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:56:24,917.917 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:56:25,059.059 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:56:25,067.067 INFO    ] time= 29/08/2026 11:56:25
[2026-08-29 11:56:25,071.071 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:56:25,079.079 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:56:25,407.407 INFO    ] No existing commands found in stream
[2026-08-29 11:56:30,421.421 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:56:30,424.424 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-08-29 11:56:35,434.434 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:56:35,437.437 INFO    ] Checking for system updates...
[2026-08-29 11:56:35,475.475 INFO    ] 200
[2026-08-29 11:56:35,478.478 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:56:35,535.535 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:56:35,537.537 INFO    ] No update needed
[2026-08-29 11:56:35,540.540 INFO    ] Checking for camera pi updates...
[2026-08-29 11:56:35,562.562 INFO    ] 200
[2026-08-29 11:56:35,563.563 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:56:35,588.588 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:56:35,674.674 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:56:35,675.675 INFO    ] No camera update needed
[2026-08-29 11:56:35,676.676 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:56:35,678.678 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:56:35,680.680 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:56:35,683.683 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:56:37,724.724 INFO    ] ================================================
[2026-08-29 11:56:37,740.740 INFO    ] Launching Daemon at Sat Aug 29 11:56:37 IST 2026
[2026-08-29 11:56:37,751.751 INFO    ] ================================================
[2026-08-29 11:56:38,122.122 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:56:38
[2026-08-29 11:56:38,455.455 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:56:38,600.600 INFO    ] Initializing speech engine...
[2026-08-29 11:56:38,611.611 INFO    ] 2026-08-29 11:56:38
[2026-08-29 11:56:38,821.821 INFO    ] 2026-08-29 11:56:38
[2026-08-29 11:56:38,850.850 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:56:42,552.552 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:56:42,555.555 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:56:42,884.884 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:56:42,887.887 INFO    ] time= 29/08/2026 11:56:42
[2026-08-29 11:56:42,889.889 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:56:42,891.891 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:56:42,944.944 INFO    ] No existing commands found in stream
[2026-08-29 11:56:47,954.954 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:56:47,956.956 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-08-29 11:56:48,352.352 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:56:48,353.353 INFO    ] Checking for system updates...
[2026-08-29 11:56:48,375.375 INFO    ] 200
[2026-08-29 11:56:48,376.376 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:56:48,408.408 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:56:48,409.409 INFO    ] No update needed
[2026-08-29 11:56:48,411.411 INFO    ] Checking for camera pi updates...
[2026-08-29 11:56:48,431.431 INFO    ] 200
[2026-08-29 11:56:48,432.432 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:56:48,456.456 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:56:48,546.546 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:56:48,547.547 INFO    ] No camera update needed
[2026-08-29 11:56:48,548.548 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:56:48,550.550 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:56:48,553.553 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:56:48,555.555 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:56:50,594.594 INFO    ] ================================================
[2026-08-29 11:56:50,610.610 INFO    ] Launching Daemon at Sat Aug 29 11:56:50 IST 2026
[2026-08-29 11:56:50,621.621 INFO    ] ================================================
[2026-08-29 11:56:50,993.993 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:56:50
[2026-08-29 11:56:51,330.330 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:56:51,481.481 INFO    ] Initializing speech engine...
[2026-08-29 11:56:51,486.486 INFO    ] 2026-08-29 11:56:51
[2026-08-29 11:56:51,694.694 INFO    ] 2026-08-29 11:56:51
[2026-08-29 11:56:51,723.723 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:56:51,848.848 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:56:51,911.911 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:56:52,258.258 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:56:52,261.261 INFO    ] time= 29/08/2026 11:56:52
[2026-08-29 11:56:52,264.264 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:56:52,267.267 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:56:52,618.618 INFO    ] No existing commands found in stream
[2026-08-29 11:56:57,628.628 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:56:57,632.632 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-08-29 11:56:59,195.195 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:56:59,198.198 INFO    ] Checking for system updates...
[2026-08-29 11:56:59,235.235 INFO    ] 200
[2026-08-29 11:56:59,238.238 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:56:59,294.294 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:56:59,296.296 INFO    ] No update needed
[2026-08-29 11:56:59,299.299 INFO    ] Checking for camera pi updates...
[2026-08-29 11:56:59,329.329 INFO    ] 200
[2026-08-29 11:56:59,330.330 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:56:59,355.355 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:56:59,440.440 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:56:59,442.442 INFO    ] No camera update needed
[2026-08-29 11:56:59,443.443 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:56:59,444.444 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:56:59,447.447 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:56:59,450.450 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:57:01,489.489 INFO    ] ================================================
[2026-08-29 11:57:01,504.504 INFO    ] Launching Daemon at Sat Aug 29 11:57:01 IST 2026
[2026-08-29 11:57:01,515.515 INFO    ] ================================================
[2026-08-29 11:57:02,144.144 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:57:02
[2026-08-29 11:57:02,807.807 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:57:03,226.226 INFO    ] Initializing speech engine...
[2026-08-29 11:57:03,233.233 INFO    ] 2026-08-29 11:57:03
[2026-08-29 11:57:03,499.499 INFO    ] 2026-08-29 11:57:03
[2026-08-29 11:57:03,536.536 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:57:03,720.720 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:57:03,736.736 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:57:04,468.468 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:57:04,514.514 INFO    ] time= 29/08/2026 11:57:04
[2026-08-29 11:57:04,537.537 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:57:04,549.549 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:57:04,668.668 INFO    ] No existing commands found in stream
[2026-08-29 11:57:09,685.685 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:57:09,688.688 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-08-29 11:57:10,663.663 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:57:10,665.665 INFO    ] Checking for system updates...
[2026-08-29 11:57:10,686.686 INFO    ] 200
[2026-08-29 11:57:10,687.687 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:57:10,719.719 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:57:10,721.721 INFO    ] No update needed
[2026-08-29 11:57:10,722.722 INFO    ] Checking for camera pi updates...
[2026-08-29 11:57:10,743.743 INFO    ] 200
[2026-08-29 11:57:10,745.745 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:57:10,770.770 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:57:10,869.869 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:57:10,871.871 INFO    ] No camera update needed
[2026-08-29 11:57:10,872.872 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:57:10,874.874 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:57:10,877.877 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:57:10,880.880 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:57:12,917.917 INFO    ] ================================================
[2026-08-29 11:57:12,932.932 INFO    ] Launching Daemon at Sat Aug 29 11:57:12 IST 2026
[2026-08-29 11:57:12,943.943 INFO    ] ================================================
[2026-08-29 11:57:13,295.295 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:57:13
[2026-08-29 11:57:13,614.614 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:57:13,749.749 INFO    ] Initializing speech engine...
[2026-08-29 11:57:13,753.753 INFO    ] 2026-08-29 11:57:13
[2026-08-29 11:57:13,959.959 INFO    ] 2026-08-29 11:57:13
[2026-08-29 11:57:14,063.063 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:57:17,334.334 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:57:17,337.337 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:57:17,426.426 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:57:17,429.429 INFO    ] time= 29/08/2026 11:57:17
[2026-08-29 11:57:17,431.431 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:57:17,433.433 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:57:17,487.487 INFO    ] No existing commands found in stream
[2026-08-29 11:57:22,496.496 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:57:22,499.499 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-08-29 11:57:24,683.683 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:57:24,685.685 INFO    ] Checking for system updates...
[2026-08-29 11:57:24,706.706 INFO    ] 200
[2026-08-29 11:57:24,707.707 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:57:24,738.738 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:57:24,739.739 INFO    ] No update needed
[2026-08-29 11:57:24,740.740 INFO    ] Checking for camera pi updates...
[2026-08-29 11:57:24,760.760 INFO    ] 200
[2026-08-29 11:57:24,762.762 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:57:24,786.786 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:57:24,867.867 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:57:24,868.868 INFO    ] No camera update needed
[2026-08-29 11:57:24,870.870 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:57:24,871.871 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:57:24,874.874 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:57:24,877.877 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:57:26,917.917 INFO    ] ================================================
[2026-08-29 11:57:26,932.932 INFO    ] Launching Daemon at Sat Aug 29 11:57:26 IST 2026
[2026-08-29 11:57:26,942.942 INFO    ] ================================================
[2026-08-29 11:57:27,262.262 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:57:27
[2026-08-29 11:57:27,573.573 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:57:27,715.715 INFO    ] Initializing speech engine...
[2026-08-29 11:57:27,720.720 INFO    ] 2026-08-29 11:57:27
[2026-08-29 11:57:27,951.951 INFO    ] 2026-08-29 11:57:27
[2026-08-29 11:57:28,005.005 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:57:28,168.168 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:57:28,176.176 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:57:28,336.336 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:57:28,374.374 INFO    ] time= 29/08/2026 11:57:28
[2026-08-29 11:57:28,380.380 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:57:28,400.400 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:57:28,514.514 INFO    ] No existing commands found in stream
[2026-08-29 11:57:33,539.539 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:57:33,542.542 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-08-29 11:57:40,747.747 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:57:40,748.748 INFO    ] Checking for system updates...
[2026-08-29 11:57:40,769.769 INFO    ] 200
[2026-08-29 11:57:40,771.771 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:57:40,801.801 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:57:40,802.802 INFO    ] No update needed
[2026-08-29 11:57:40,804.804 INFO    ] Checking for camera pi updates...
[2026-08-29 11:57:40,824.824 INFO    ] 200
[2026-08-29 11:57:40,826.826 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:57:40,852.852 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:57:40,925.925 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:57:40,927.927 INFO    ] No camera update needed
[2026-08-29 11:57:40,928.928 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:57:40,929.929 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:57:40,933.933 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:57:40,936.936 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:57:42,973.973 INFO    ] ================================================
[2026-08-29 11:57:42,989.989 INFO    ] Launching Daemon at Sat Aug 29 11:57:42 IST 2026
[2026-08-29 11:57:43,000.000 INFO    ] ================================================
[2026-08-29 11:57:43,335.335 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:57:43
[2026-08-29 11:57:43,646.646 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:57:43,789.789 INFO    ] Initializing speech engine...
[2026-08-29 11:57:43,794.794 INFO    ] 2026-08-29 11:57:43
[2026-08-29 11:57:43,996.996 INFO    ] 2026-08-29 11:57:43
[2026-08-29 11:57:44,023.023 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:57:44,146.146 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:57:44,209.209 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:57:44,554.554 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:57:44,556.556 INFO    ] time= 29/08/2026 11:57:44
[2026-08-29 11:57:44,559.559 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:57:44,561.561 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:57:44,627.627 INFO    ] No existing commands found in stream
[2026-08-29 11:57:49,637.637 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:57:49,640.640 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-08-29 11:57:56,278.278 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 11:57:56,281.281 INFO    ] Checking for system updates...
[2026-08-29 11:57:56,317.317 INFO    ] 200
[2026-08-29 11:57:56,319.319 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:57:56,379.379 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:57:56,381.381 INFO    ] No update needed
[2026-08-29 11:57:56,383.383 INFO    ] Checking for camera pi updates...
[2026-08-29 11:57:56,418.418 INFO    ] 200
[2026-08-29 11:57:56,419.419 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:57:56,443.443 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:57:56,620.620 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:57:56,621.621 INFO    ] No camera update needed
[2026-08-29 11:57:56,623.623 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:57:56,624.624 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:57:56,627.627 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:57:56,630.630 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:57:58,670.670 INFO    ] ================================================
[2026-08-29 11:57:58,686.686 INFO    ] Launching Daemon at Sat Aug 29 11:57:58 IST 2026
[2026-08-29 11:57:58,697.697 INFO    ] ================================================
[2026-08-29 11:57:59,055.055 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:57:59
[2026-08-29 11:57:59,366.366 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:57:59,558.558 INFO    ] Initializing speech engine...
[2026-08-29 11:57:59,565.565 INFO    ] 2026-08-29 11:57:59
[2026-08-29 11:57:59,819.819 INFO    ] 2026-08-29 11:57:59
[2026-08-29 11:57:59,855.855 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:58:01,350.350 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:58:01,356.356 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:58:01,990.990 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:58:01,994.994 INFO    ] time= 29/08/2026 11:58:01
[2026-08-29 11:58:02,001.001 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:58:02,005.005 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:58:02,113.113 INFO    ] No existing commands found in stream
[2026-08-29 11:58:07,137.137 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:58:07,140.140 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-08-29 11:58:10,417.417 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:58:10,419.419 INFO    ] Checking for system updates...
[2026-08-29 11:58:10,441.441 INFO    ] 200
[2026-08-29 11:58:10,442.442 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:58:10,472.472 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:58:10,474.474 INFO    ] No update needed
[2026-08-29 11:58:10,475.475 INFO    ] Checking for camera pi updates...
[2026-08-29 11:58:10,494.494 INFO    ] 200
[2026-08-29 11:58:10,496.496 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:58:10,520.520 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:58:10,596.596 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:58:10,597.597 INFO    ] No camera update needed
[2026-08-29 11:58:10,598.598 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:58:10,600.600 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:58:10,603.603 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:58:10,605.605 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:58:12,647.647 INFO    ] ================================================
[2026-08-29 11:58:12,663.663 INFO    ] Launching Daemon at Sat Aug 29 11:58:12 IST 2026
[2026-08-29 11:58:12,675.675 INFO    ] ================================================
[2026-08-29 11:58:13,209.209 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:58:13
[2026-08-29 11:58:13,791.791 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:58:14,038.038 INFO    ] Initializing speech engine...
[2026-08-29 11:58:14,052.052 INFO    ] 2026-08-29 11:58:14
[2026-08-29 11:58:14,316.316 INFO    ] 2026-08-29 11:58:14
[2026-08-29 11:58:14,351.351 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:58:19,430.430 INFO    ] VendingMachinePublisher.__init__: Redis error: Timeout connecting to server
[2026-08-29 11:58:19,456.456 INFO    ] Exiting as VendingMachinePublisher redis not connected!!!
[2026-08-29 11:58:19,459.459 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:58:19,464.464 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:58:19,469.469 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:58:21,508.508 INFO    ] ================================================
[2026-08-29 11:58:21,524.524 INFO    ] Launching Daemon at Sat Aug 29 11:58:21 IST 2026
[2026-08-29 11:58:21,535.535 INFO    ] ================================================
[2026-08-29 11:58:21,878.878 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:58:21
[2026-08-29 11:58:22,191.191 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:58:22,397.397 INFO    ] Initializing speech engine...
[2026-08-29 11:58:22,421.421 INFO    ] 2026-08-29 11:58:22
[2026-08-29 11:58:22,698.698 INFO    ] 2026-08-29 11:58:22
[2026-08-29 11:58:22,733.733 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:58:22,884.884 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:58:22,919.919 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:58:24,560.560 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:58:24,615.615 INFO    ] time= 29/08/2026 11:58:24
[2026-08-29 11:58:24,652.652 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:58:24,657.657 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:58:24,709.709 INFO    ] No existing commands found in stream
[2026-08-29 11:58:29,719.719 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:58:29,722.722 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-08-29 11:58:33,534.534 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:58:33,537.537 INFO    ] Checking for system updates...
[2026-08-29 11:58:33,573.573 INFO    ] 200
[2026-08-29 11:58:33,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:58:33,634.634 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:58:33,636.636 INFO    ] No update needed
[2026-08-29 11:58:33,639.639 INFO    ] Checking for camera pi updates...
[2026-08-29 11:58:33,673.673 INFO    ] 200
[2026-08-29 11:58:33,675.675 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:58:33,716.716 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:58:33,795.795 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:58:33,797.797 INFO    ] No camera update needed
[2026-08-29 11:58:33,799.799 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:58:33,802.802 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:58:33,807.807 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:58:33,812.812 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:58:35,852.852 INFO    ] ================================================
[2026-08-29 11:58:35,868.868 INFO    ] Launching Daemon at Sat Aug 29 11:58:35 IST 2026
[2026-08-29 11:58:35,879.879 INFO    ] ================================================
[2026-08-29 11:58:36,248.248 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:58:36
[2026-08-29 11:58:36,559.559 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:58:36,692.692 INFO    ] Initializing speech engine...
[2026-08-29 11:58:36,703.703 INFO    ] 2026-08-29 11:58:36
[2026-08-29 11:58:36,892.892 INFO    ] 2026-08-29 11:58:36
[2026-08-29 11:58:36,928.928 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:58:37,099.099 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:58:37,112.112 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:58:42,126.126 INFO    ] MachineMessageSender.__init__: Redis error: Timeout connecting to server
[2026-08-29 11:58:42,153.153 INFO    ] Exiting as MachineMessageSender redis not connected!!!
[2026-08-29 11:58:42,155.155 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:58:42,160.160 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:58:42,165.165 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:58:44,204.204 INFO    ] ================================================
[2026-08-29 11:58:44,221.221 INFO    ] Launching Daemon at Sat Aug 29 11:58:44 IST 2026
[2026-08-29 11:58:44,232.232 INFO    ] ================================================
[2026-08-29 11:58:44,571.571 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:58:44
[2026-08-29 11:58:44,883.883 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:58:45,026.026 INFO    ] Initializing speech engine...
[2026-08-29 11:58:45,032.032 INFO    ] 2026-08-29 11:58:45
[2026-08-29 11:58:45,237.237 INFO    ] 2026-08-29 11:58:45
[2026-08-29 11:58:45,266.266 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:58:45,400.400 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:58:45,454.454 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:58:46,084.084 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:58:46,086.086 INFO    ] time= 29/08/2026 11:58:46
[2026-08-29 11:58:46,088.088 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:58:46,091.091 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:58:46,407.407 INFO    ] No existing commands found in stream
[2026-08-29 11:58:51,416.416 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:58:51,419.419 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-08-29 11:58:57,540.540 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:58:57,542.542 INFO    ] Checking for system updates...
[2026-08-29 11:58:57,565.565 INFO    ] 200
[2026-08-29 11:58:57,566.566 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:58:57,596.596 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:58:57,598.598 INFO    ] No update needed
[2026-08-29 11:58:57,599.599 INFO    ] Checking for camera pi updates...
[2026-08-29 11:58:57,619.619 INFO    ] 200
[2026-08-29 11:58:57,620.620 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:58:57,643.643 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:58:57,718.718 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:58:57,719.719 INFO    ] No camera update needed
[2026-08-29 11:58:57,721.721 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:58:57,722.722 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:58:57,725.725 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:58:57,728.728 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:58:59,767.767 INFO    ] ================================================
[2026-08-29 11:58:59,782.782 INFO    ] Launching Daemon at Sat Aug 29 11:58:59 IST 2026
[2026-08-29 11:58:59,793.793 INFO    ] ================================================
[2026-08-29 11:59:00,171.171 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:59:00
[2026-08-29 11:59:00,507.507 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:59:00,661.661 INFO    ] Initializing speech engine...
[2026-08-29 11:59:00,665.665 INFO    ] 2026-08-29 11:59:00
[2026-08-29 11:59:00,875.875 INFO    ] 2026-08-29 11:59:00
[2026-08-29 11:59:00,904.904 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:59:01,090.090 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:59:01,100.100 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:59:02,225.225 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:59:02,229.229 INFO    ] time= 29/08/2026 11:59:02
[2026-08-29 11:59:02,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:59:02,280.280 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:59:02,358.358 INFO    ] No existing commands found in stream
[2026-08-29 11:59:07,369.369 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:59:07,372.372 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-08-29 11:59:10,117.117 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 11:59:10,118.118 INFO    ] Checking for system updates...
[2026-08-29 11:59:10,139.139 INFO    ] 200
[2026-08-29 11:59:10,141.141 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:59:10,174.174 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:59:10,176.176 INFO    ] No update needed
[2026-08-29 11:59:10,177.177 INFO    ] Checking for camera pi updates...
[2026-08-29 11:59:10,199.199 INFO    ] 200
[2026-08-29 11:59:10,201.201 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:59:10,225.225 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:59:10,302.302 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:59:10,303.303 INFO    ] No camera update needed
[2026-08-29 11:59:10,305.305 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:59:10,306.306 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:59:10,309.309 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:59:10,313.313 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:59:12,353.353 INFO    ] ================================================
[2026-08-29 11:59:12,368.368 INFO    ] Launching Daemon at Sat Aug 29 11:59:12 IST 2026
[2026-08-29 11:59:12,379.379 INFO    ] ================================================
[2026-08-29 11:59:12,728.728 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:59:12
[2026-08-29 11:59:13,040.040 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:59:13,267.267 INFO    ] Initializing speech engine...
[2026-08-29 11:59:13,283.283 INFO    ] 2026-08-29 11:59:13
[2026-08-29 11:59:13,558.558 INFO    ] 2026-08-29 11:59:13
[2026-08-29 11:59:13,587.587 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:59:14,840.840 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:59:14,873.873 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:59:15,251.251 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:59:15,254.254 INFO    ] time= 29/08/2026 11:59:15
[2026-08-29 11:59:15,257.257 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:59:15,300.300 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:59:15,637.637 INFO    ] No existing commands found in stream
[2026-08-29 11:59:20,657.657 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:59:20,660.660 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-08-29 11:59:24,386.386 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 11:59:24,387.387 INFO    ] Checking for system updates...
[2026-08-29 11:59:24,409.409 INFO    ] 200
[2026-08-29 11:59:24,410.410 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:59:24,440.440 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:59:24,441.441 INFO    ] No update needed
[2026-08-29 11:59:24,443.443 INFO    ] Checking for camera pi updates...
[2026-08-29 11:59:24,462.462 INFO    ] 200
[2026-08-29 11:59:24,463.463 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:59:24,486.486 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:59:24,565.565 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:59:24,566.566 INFO    ] No camera update needed
[2026-08-29 11:59:24,567.567 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:59:24,569.569 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:59:24,571.571 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:59:24,574.574 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:59:26,612.612 INFO    ] ================================================
[2026-08-29 11:59:26,628.628 INFO    ] Launching Daemon at Sat Aug 29 11:59:26 IST 2026
[2026-08-29 11:59:26,638.638 INFO    ] ================================================
[2026-08-29 11:59:26,991.991 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:59:26
[2026-08-29 11:59:27,304.304 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:59:27,434.434 INFO    ] Initializing speech engine...
[2026-08-29 11:59:27,439.439 INFO    ] 2026-08-29 11:59:27
[2026-08-29 11:59:27,658.658 INFO    ] 2026-08-29 11:59:27
[2026-08-29 11:59:27,686.686 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:59:27,826.826 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:59:27,875.875 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:59:29,036.036 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:59:29,045.045 INFO    ] time= 29/08/2026 11:59:29
[2026-08-29 11:59:29,050.050 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:59:29,064.064 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:59:29,120.120 INFO    ] No existing commands found in stream
[2026-08-29 11:59:34,129.129 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:59:34,131.131 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-08-29 11:59:37,683.683 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 11:59:37,685.685 INFO    ] Checking for system updates...
[2026-08-29 11:59:37,721.721 INFO    ] 200
[2026-08-29 11:59:37,724.724 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:59:37,782.782 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:59:37,785.785 INFO    ] No update needed
[2026-08-29 11:59:37,787.787 INFO    ] Checking for camera pi updates...
[2026-08-29 11:59:37,821.821 INFO    ] 200
[2026-08-29 11:59:37,824.824 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:59:37,864.864 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:59:37,937.937 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 11:59:37,939.939 INFO    ] No camera update needed
[2026-08-29 11:59:37,942.942 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:59:37,944.944 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:59:37,949.949 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:59:37,954.954 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:59:40,996.996 INFO    ] ================================================
[2026-08-29 11:59:40,011.011 INFO    ] Launching Daemon at Sat Aug 29 11:59:40 IST 2026
[2026-08-29 11:59:40,021.021 INFO    ] ================================================
[2026-08-29 11:59:40,368.368 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:59:40
[2026-08-29 11:59:40,680.680 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:59:40,818.818 INFO    ] Initializing speech engine...
[2026-08-29 11:59:40,826.826 INFO    ] 2026-08-29 11:59:40
[2026-08-29 11:59:41,034.034 INFO    ] 2026-08-29 11:59:41
[2026-08-29 11:59:41,064.064 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:59:41,185.185 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:59:41,235.235 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:59:42,409.409 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:59:42,415.415 INFO    ] time= 29/08/2026 11:59:42
[2026-08-29 11:59:42,424.424 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:59:42,428.428 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:59:42,475.475 INFO    ] No existing commands found in stream
[2026-08-29 11:59:47,483.483 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 11:59:47,486.486 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-08-29 11:59:50,957.957 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 11:59:50,959.959 INFO    ] Checking for system updates...
[2026-08-29 11:59:50,999.999 INFO    ] 200
[2026-08-29 11:59:51,002.002 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:59:51,055.055 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:59:51,057.057 INFO    ] No update needed
[2026-08-29 11:59:51,060.060 INFO    ] Checking for camera pi updates...
[2026-08-29 11:59:51,097.097 INFO    ] 200
[2026-08-29 11:59:51,100.100 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 11:59:51,139.139 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 11:59:51,219.219 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 11:59:51,221.221 INFO    ] No camera update needed
[2026-08-29 11:59:51,224.224 INFO    ] Script finished. Safe exiting...
[2026-08-29 11:59:51,226.226 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 11:59:51,231.231 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 11:59:51,236.236 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 11:59:53,276.276 INFO    ] ================================================
[2026-08-29 11:59:53,291.291 INFO    ] Launching Daemon at Sat Aug 29 11:59:53 IST 2026
[2026-08-29 11:59:53,302.302 INFO    ] ================================================
[2026-08-29 11:59:53,872.872 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 11:59:53
[2026-08-29 11:59:54,456.456 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 11:59:54,706.706 INFO    ] Initializing speech engine...
[2026-08-29 11:59:54,720.720 INFO    ] 2026-08-29 11:59:54
[2026-08-29 11:59:54,987.987 INFO    ] 2026-08-29 11:59:54
[2026-08-29 11:59:55,023.023 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 11:59:55,198.198 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 11:59:55,210.210 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 11:59:56,414.414 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 11:59:56,417.417 INFO    ] time= 29/08/2026 11:59:56
[2026-08-29 11:59:56,420.420 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 11:59:56,422.422 INFO    ] Checking for existing commands in stream...
[2026-08-29 11:59:57,006.006 INFO    ] No existing commands found in stream
[2026-08-29 12:00:02,015.015 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:00:02,018.018 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-08-29 12:00:06,879.879 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:00:06,882.882 INFO    ] Checking for system updates...
[2026-08-29 12:00:06,917.917 INFO    ] 200
[2026-08-29 12:00:06,920.920 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:00:06,983.983 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:00:06,985.985 INFO    ] No update needed
[2026-08-29 12:00:06,988.988 INFO    ] Checking for camera pi updates...
[2026-08-29 12:00:07,021.021 INFO    ] 200
[2026-08-29 12:00:07,024.024 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:00:07,069.069 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:00:07,161.161 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:00:07,164.164 INFO    ] No camera update needed
[2026-08-29 12:00:07,166.166 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:00:07,168.168 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:00:07,174.174 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:00:07,179.179 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:00:09,219.219 INFO    ] ================================================
[2026-08-29 12:00:09,234.234 INFO    ] Launching Daemon at Sat Aug 29 12:00:09 IST 2026
[2026-08-29 12:00:09,245.245 INFO    ] ================================================
[2026-08-29 12:00:09,573.573 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:00:09
[2026-08-29 12:00:09,885.885 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:00:10,021.021 INFO    ] Initializing speech engine...
[2026-08-29 12:00:10,029.029 INFO    ] 2026-08-29 12:00:10
[2026-08-29 12:00:10,225.225 INFO    ] 2026-08-29 12:00:10
[2026-08-29 12:00:10,321.321 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:00:10,488.488 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:00:10,498.498 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:00:11,584.584 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:00:11,590.590 INFO    ] time= 29/08/2026 12:00:11
[2026-08-29 12:00:11,602.602 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:00:11,613.613 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:00:11,931.931 INFO    ] No existing commands found in stream
[2026-08-29 12:00:16,944.944 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:00:16,947.947 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-08-29 12:00:19,911.911 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:00:19,913.913 INFO    ] Checking for system updates...
[2026-08-29 12:00:19,934.934 INFO    ] 200
[2026-08-29 12:00:19,935.935 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:00:19,966.966 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:00:19,967.967 INFO    ] No update needed
[2026-08-29 12:00:19,968.968 INFO    ] Checking for camera pi updates...
[2026-08-29 12:00:19,989.989 INFO    ] 200
[2026-08-29 12:00:19,991.991 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:00:20,016.016 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:00:20,095.095 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:00:20,097.097 INFO    ] No camera update needed
[2026-08-29 12:00:20,098.098 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:00:20,100.100 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:00:20,103.103 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:00:20,106.106 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:00:22,145.145 INFO    ] ================================================
[2026-08-29 12:00:22,160.160 INFO    ] Launching Daemon at Sat Aug 29 12:00:22 IST 2026
[2026-08-29 12:00:22,171.171 INFO    ] ================================================
[2026-08-29 12:00:22,533.533 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:00:22
[2026-08-29 12:00:22,847.847 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:00:23,099.099 INFO    ] Initializing speech engine...
[2026-08-29 12:00:23,106.106 INFO    ] 2026-08-29 12:00:23
[2026-08-29 12:00:23,351.351 INFO    ] 2026-08-29 12:00:23
[2026-08-29 12:00:23,386.386 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:00:23,558.558 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:00:23,569.569 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:00:25,239.239 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:00:25,246.246 INFO    ] time= 29/08/2026 12:00:25
[2026-08-29 12:00:25,250.250 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:00:25,258.258 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:00:25,584.584 INFO    ] No existing commands found in stream
[2026-08-29 12:00:30,596.596 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:00:30,599.599 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-08-29 12:00:35,128.128 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:00:35,129.129 INFO    ] Checking for system updates...
[2026-08-29 12:00:35,150.150 INFO    ] 200
[2026-08-29 12:00:35,151.151 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:00:35,184.184 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:00:35,185.185 INFO    ] No update needed
[2026-08-29 12:00:35,186.186 INFO    ] Checking for camera pi updates...
[2026-08-29 12:00:35,205.205 INFO    ] 200
[2026-08-29 12:00:35,207.207 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:00:35,231.231 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:00:35,300.300 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:00:35,302.302 INFO    ] No camera update needed
[2026-08-29 12:00:35,305.305 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:00:35,307.307 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:00:35,312.312 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:00:35,317.317 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:00:37,357.357 INFO    ] ================================================
[2026-08-29 12:00:37,373.373 INFO    ] Launching Daemon at Sat Aug 29 12:00:37 IST 2026
[2026-08-29 12:00:37,383.383 INFO    ] ================================================
[2026-08-29 12:00:37,725.725 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:00:37
[2026-08-29 12:00:38,040.040 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:00:38,178.178 INFO    ] Initializing speech engine...
[2026-08-29 12:00:38,188.188 INFO    ] 2026-08-29 12:00:38
[2026-08-29 12:00:38,398.398 INFO    ] 2026-08-29 12:00:38
[2026-08-29 12:00:38,472.472 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:00:41,747.747 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:00:41,750.750 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:00:42,867.867 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:00:42,870.870 INFO    ] time= 29/08/2026 12:00:42
[2026-08-29 12:00:42,873.873 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:00:42,876.876 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:00:42,925.925 INFO    ] No existing commands found in stream
[2026-08-29 12:00:47,935.935 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:00:47,938.938 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-08-29 12:00:50,038.038 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:00:50,040.040 INFO    ] Checking for system updates...
[2026-08-29 12:00:50,062.062 INFO    ] 200
[2026-08-29 12:00:50,063.063 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:00:50,093.093 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:00:50,095.095 INFO    ] No update needed
[2026-08-29 12:00:50,096.096 INFO    ] Checking for camera pi updates...
[2026-08-29 12:00:50,117.117 INFO    ] 200
[2026-08-29 12:00:50,119.119 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:00:50,142.142 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:00:50,207.207 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:00:50,208.208 INFO    ] No camera update needed
[2026-08-29 12:00:50,209.209 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:00:50,211.211 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:00:50,214.214 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:00:50,217.217 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:00:52,255.255 INFO    ] ================================================
[2026-08-29 12:00:52,270.270 INFO    ] Launching Daemon at Sat Aug 29 12:00:52 IST 2026
[2026-08-29 12:00:52,281.281 INFO    ] ================================================
[2026-08-29 12:00:52,618.618 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:00:52
[2026-08-29 12:00:52,930.930 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:00:53,075.075 INFO    ] Initializing speech engine...
[2026-08-29 12:00:53,079.079 INFO    ] 2026-08-29 12:00:53
[2026-08-29 12:00:53,285.285 INFO    ] 2026-08-29 12:00:53
[2026-08-29 12:00:53,315.315 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:00:53,712.712 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:00:53,722.722 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:00:54,130.130 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:00:54,137.137 INFO    ] time= 29/08/2026 12:00:54
[2026-08-29 12:00:54,139.139 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:00:54,183.183 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:00:54,244.244 INFO    ] No existing commands found in stream
[2026-08-29 12:00:59,255.255 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:00:59,258.258 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-08-29 12:01:05,733.733 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:01:05,734.734 INFO    ] Checking for system updates...
[2026-08-29 12:01:05,755.755 INFO    ] 200
[2026-08-29 12:01:05,756.756 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:01:05,790.790 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:01:05,792.792 INFO    ] No update needed
[2026-08-29 12:01:05,793.793 INFO    ] Checking for camera pi updates...
[2026-08-29 12:01:05,812.812 INFO    ] 200
[2026-08-29 12:01:05,814.814 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:01:05,838.838 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:01:05,918.918 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:01:05,919.919 INFO    ] No camera update needed
[2026-08-29 12:01:05,920.920 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:01:05,922.922 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:01:05,925.925 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:01:05,927.927 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:01:07,967.967 INFO    ] ================================================
[2026-08-29 12:01:07,982.982 INFO    ] Launching Daemon at Sat Aug 29 12:01:07 IST 2026
[2026-08-29 12:01:07,992.992 INFO    ] ================================================
[2026-08-29 12:01:08,331.331 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:01:08
[2026-08-29 12:01:08,643.643 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:01:08,776.776 INFO    ] Initializing speech engine...
[2026-08-29 12:01:08,780.780 INFO    ] 2026-08-29 12:01:08
[2026-08-29 12:01:09,008.008 INFO    ] 2026-08-29 12:01:08
[2026-08-29 12:01:09,037.037 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:01:09,169.169 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:01:09,227.227 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:01:09,364.364 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:01:09,412.412 INFO    ] time= 29/08/2026 12:01:09
[2026-08-29 12:01:09,456.456 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:01:09,474.474 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:01:09,797.797 INFO    ] No existing commands found in stream
[2026-08-29 12:01:14,807.807 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:01:14,809.809 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 12:01:22,642.642 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:01:22,643.643 INFO    ] Checking for system updates...
[2026-08-29 12:01:22,664.664 INFO    ] 200
[2026-08-29 12:01:22,665.665 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:01:22,701.701 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:01:22,704.704 INFO    ] No update needed
[2026-08-29 12:01:22,707.707 INFO    ] Checking for camera pi updates...
[2026-08-29 12:01:22,746.746 INFO    ] 200
[2026-08-29 12:01:22,749.749 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:01:22,795.795 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:01:22,873.873 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:01:22,876.876 INFO    ] No camera update needed
[2026-08-29 12:01:22,878.878 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:01:22,881.881 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:01:22,887.887 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:01:22,892.892 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:01:24,934.934 INFO    ] ================================================
[2026-08-29 12:01:24,949.949 INFO    ] Launching Daemon at Sat Aug 29 12:01:24 IST 2026
[2026-08-29 12:01:24,960.960 INFO    ] ================================================
[2026-08-29 12:01:25,608.608 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:01:25
[2026-08-29 12:01:26,048.048 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:01:26,194.194 INFO    ] Initializing speech engine...
[2026-08-29 12:01:26,204.204 INFO    ] 2026-08-29 12:01:26
[2026-08-29 12:01:26,420.420 INFO    ] 2026-08-29 12:01:26
[2026-08-29 12:01:26,450.450 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:01:26,575.575 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:01:26,638.638 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:01:27,760.760 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:01:27,761.761 INFO    ] time= 29/08/2026 12:01:27
[2026-08-29 12:01:27,789.789 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:01:27,821.821 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:01:28,114.114 INFO    ] No existing commands found in stream
[2026-08-29 12:01:33,123.123 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:01:33,127.127 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-08-29 12:01:36,423.423 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:01:36,426.426 INFO    ] Checking for system updates...
[2026-08-29 12:01:36,467.467 INFO    ] 200
[2026-08-29 12:01:36,470.470 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:01:36,530.530 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:01:36,533.533 INFO    ] No update needed
[2026-08-29 12:01:36,536.536 INFO    ] Checking for camera pi updates...
[2026-08-29 12:01:36,575.575 INFO    ] 200
[2026-08-29 12:01:36,577.577 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:01:36,620.620 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:01:36,700.700 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:01:36,703.703 INFO    ] No camera update needed
[2026-08-29 12:01:36,705.705 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:01:36,708.708 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:01:36,714.714 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:01:36,720.720 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:01:38,761.761 INFO    ] ================================================
[2026-08-29 12:01:38,777.777 INFO    ] Launching Daemon at Sat Aug 29 12:01:38 IST 2026
[2026-08-29 12:01:38,788.788 INFO    ] ================================================
[2026-08-29 12:01:39,153.153 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:01:39
[2026-08-29 12:01:39,658.658 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:01:39,963.963 INFO    ] Initializing speech engine...
[2026-08-29 12:01:39,972.972 INFO    ] 2026-08-29 12:01:39
[2026-08-29 12:01:40,294.294 INFO    ] 2026-08-29 12:01:40
[2026-08-29 12:01:40,377.377 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:01:40,792.792 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:01:40,823.823 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:01:41,992.992 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:01:41,997.997 INFO    ] time= 29/08/2026 12:01:41
[2026-08-29 12:01:42,002.002 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:01:42,007.007 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:01:42,347.347 INFO    ] No existing commands found in stream
[2026-08-29 12:01:47,361.361 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:01:47,364.364 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 12:01:53,034.034 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:01:53,037.037 INFO    ] Checking for system updates...
[2026-08-29 12:01:53,077.077 INFO    ] 200
[2026-08-29 12:01:53,080.080 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:01:53,133.133 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:01:53,136.136 INFO    ] No update needed
[2026-08-29 12:01:53,139.139 INFO    ] Checking for camera pi updates...
[2026-08-29 12:01:53,177.177 INFO    ] 200
[2026-08-29 12:01:53,180.180 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:01:53,221.221 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:01:53,307.307 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:01:53,310.310 INFO    ] No camera update needed
[2026-08-29 12:01:53,313.313 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:01:53,315.315 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:01:53,321.321 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:01:53,327.327 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:01:55,369.369 INFO    ] ================================================
[2026-08-29 12:01:55,384.384 INFO    ] Launching Daemon at Sat Aug 29 12:01:55 IST 2026
[2026-08-29 12:01:55,395.395 INFO    ] ================================================
[2026-08-29 12:01:55,874.874 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:01:55
[2026-08-29 12:01:56,189.189 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:01:56,329.329 INFO    ] Initializing speech engine...
[2026-08-29 12:01:56,337.337 INFO    ] 2026-08-29 12:01:56
[2026-08-29 12:01:56,548.548 INFO    ] 2026-08-29 12:01:56
[2026-08-29 12:01:56,576.576 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:02:01,744.744 INFO    ] VendingMachinePublisher.__init__: Redis error: Timeout connecting to server
[2026-08-29 12:02:01,775.775 INFO    ] Exiting as VendingMachinePublisher redis not connected!!!
[2026-08-29 12:02:01,779.779 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:02:01,786.786 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:02:01,793.793 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:02:03,837.837 INFO    ] ================================================
[2026-08-29 12:02:03,852.852 INFO    ] Launching Daemon at Sat Aug 29 12:02:03 IST 2026
[2026-08-29 12:02:03,863.863 INFO    ] ================================================
[2026-08-29 12:02:04,444.444 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:02:04
[2026-08-29 12:02:04,964.964 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:02:05,245.245 INFO    ] Initializing speech engine...
[2026-08-29 12:02:05,254.254 INFO    ] 2026-08-29 12:02:05
[2026-08-29 12:02:05,504.504 INFO    ] 2026-08-29 12:02:05
[2026-08-29 12:02:05,539.539 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:02:05,712.712 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:02:05,723.723 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:02:06,109.109 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:02:06,138.138 INFO    ] time= 29/08/2026 12:02:06
[2026-08-29 12:02:06,147.147 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:02:06,155.155 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:02:06,502.502 INFO    ] No existing commands found in stream
[2026-08-29 12:02:11,529.529 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:02:11,532.532 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-08-29 12:02:13,946.946 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:02:13,948.948 INFO    ] Checking for system updates...
[2026-08-29 12:02:13,968.968 INFO    ] 200
[2026-08-29 12:02:13,969.969 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:02:14,001.001 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:02:14,003.003 INFO    ] No update needed
[2026-08-29 12:02:14,004.004 INFO    ] Checking for camera pi updates...
[2026-08-29 12:02:14,023.023 INFO    ] 200
[2026-08-29 12:02:14,025.025 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:02:14,048.048 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:02:14,229.229 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:02:14,231.231 INFO    ] No camera update needed
[2026-08-29 12:02:14,234.234 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:02:14,236.236 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:02:14,242.242 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:02:14,247.247 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:02:16,288.288 INFO    ] ================================================
[2026-08-29 12:02:16,304.304 INFO    ] Launching Daemon at Sat Aug 29 12:02:16 IST 2026
[2026-08-29 12:02:16,315.315 INFO    ] ================================================
[2026-08-29 12:02:16,652.652 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:02:16
[2026-08-29 12:02:17,069.069 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:02:17,345.345 INFO    ] Initializing speech engine...
[2026-08-29 12:02:17,351.351 INFO    ] 2026-08-29 12:02:17
[2026-08-29 12:02:17,599.599 INFO    ] 2026-08-29 12:02:17
[2026-08-29 12:02:17,634.634 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:02:18,137.137 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:02:18,143.143 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:02:23,168.168 INFO    ] MachineMessageSender.__init__: Redis error: Timeout connecting to server
[2026-08-29 12:02:23,195.195 INFO    ] Exiting as MachineMessageSender redis not connected!!!
[2026-08-29 12:02:23,197.197 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:02:23,202.202 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:02:23,207.207 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:02:25,239.239 INFO    ] ================================================
[2026-08-29 12:02:25,247.247 INFO    ] Launching Daemon at Sat Aug 29 12:02:25 IST 2026
[2026-08-29 12:02:25,253.253 INFO    ] ================================================
[2026-08-29 12:02:25,770.770 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:02:25
[2026-08-29 12:02:26,356.356 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:02:26,603.603 INFO    ] Initializing speech engine...
[2026-08-29 12:02:26,613.613 INFO    ] 2026-08-29 12:02:26
[2026-08-29 12:02:26,900.900 INFO    ] 2026-08-29 12:02:26
[2026-08-29 12:02:26,935.935 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:02:28,201.201 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:02:28,232.232 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:02:29,343.343 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:02:29,346.346 INFO    ] time= 29/08/2026 12:02:29
[2026-08-29 12:02:29,348.348 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:02:29,351.351 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:02:29,404.404 INFO    ] No existing commands found in stream
[2026-08-29 12:02:34,413.413 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:02:34,416.416 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-08-29 12:02:35,760.760 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:02:35,761.761 INFO    ] Checking for system updates...
[2026-08-29 12:02:35,782.782 INFO    ] 200
[2026-08-29 12:02:35,783.783 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:02:35,813.813 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:02:35,814.814 INFO    ] No update needed
[2026-08-29 12:02:35,816.816 INFO    ] Checking for camera pi updates...
[2026-08-29 12:02:35,834.834 INFO    ] 200
[2026-08-29 12:02:35,836.836 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:02:35,858.858 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:02:35,948.948 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:02:35,949.949 INFO    ] No camera update needed
[2026-08-29 12:02:35,951.951 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:02:35,952.952 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:02:35,956.956 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:02:35,959.959 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:02:37,990.990 INFO    ] ================================================
[2026-08-29 12:02:38,005.005 INFO    ] Launching Daemon at Sat Aug 29 12:02:38 IST 2026
[2026-08-29 12:02:38,016.016 INFO    ] ================================================
[2026-08-29 12:02:38,663.663 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:02:38
[2026-08-29 12:02:39,280.280 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:02:39,536.536 INFO    ] Initializing speech engine...
[2026-08-29 12:02:39,558.558 INFO    ] 2026-08-29 12:02:39
[2026-08-29 12:02:39,818.818 INFO    ] 2026-08-29 12:02:39
[2026-08-29 12:02:39,853.853 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:02:40,278.278 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:02:40,283.283 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:02:41,912.912 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:02:41,914.914 INFO    ] time= 29/08/2026 12:02:41
[2026-08-29 12:02:41,915.915 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:02:41,916.916 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:02:41,969.969 INFO    ] No existing commands found in stream
[2026-08-29 12:02:46,977.977 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:02:46,980.980 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-08-29 12:02:51,356.356 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:02:51,358.358 INFO    ] Checking for system updates...
[2026-08-29 12:02:51,378.378 INFO    ] 200
[2026-08-29 12:02:51,379.379 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:02:51,412.412 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:02:51,413.413 INFO    ] No update needed
[2026-08-29 12:02:51,414.414 INFO    ] Checking for camera pi updates...
[2026-08-29 12:02:51,433.433 INFO    ] 200
[2026-08-29 12:02:51,435.435 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:02:51,461.461 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:02:51,548.548 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:02:51,549.549 INFO    ] No camera update needed
[2026-08-29 12:02:51,551.551 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:02:51,552.552 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:02:51,555.555 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:02:51,557.557 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:02:53,596.596 INFO    ] ================================================
[2026-08-29 12:02:53,610.610 INFO    ] Launching Daemon at Sat Aug 29 12:02:53 IST 2026
[2026-08-29 12:02:53,621.621 INFO    ] ================================================
[2026-08-29 12:02:53,975.975 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:02:53
[2026-08-29 12:02:54,290.290 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:02:54,432.432 INFO    ] Initializing speech engine...
[2026-08-29 12:02:54,437.437 INFO    ] 2026-08-29 12:02:54
[2026-08-29 12:02:54,645.645 INFO    ] 2026-08-29 12:02:54
[2026-08-29 12:02:54,723.723 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:02:54,876.876 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:02:54,882.882 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:02:55,535.535 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:02:55,567.567 INFO    ] time= 29/08/2026 12:02:55
[2026-08-29 12:02:55,578.578 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:02:55,581.581 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:02:56,234.234 INFO    ] No existing commands found in stream
[2026-08-29 12:03:01,265.265 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:03:01,268.268 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-08-29 12:03:10,339.339 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:03:10,341.341 INFO    ] Checking for system updates...
[2026-08-29 12:03:10,379.379 INFO    ] 200
[2026-08-29 12:03:10,382.382 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:03:10,434.434 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:03:10,437.437 INFO    ] No update needed
[2026-08-29 12:03:10,439.439 INFO    ] Checking for camera pi updates...
[2026-08-29 12:03:10,472.472 INFO    ] 200
[2026-08-29 12:03:10,474.474 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:03:10,515.515 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:03:10,608.608 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:03:10,611.611 INFO    ] No camera update needed
[2026-08-29 12:03:10,613.613 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:03:10,615.615 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:03:10,621.621 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:03:10,626.626 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:03:12,667.667 INFO    ] ================================================
[2026-08-29 12:03:12,682.682 INFO    ] Launching Daemon at Sat Aug 29 12:03:12 IST 2026
[2026-08-29 12:03:12,693.693 INFO    ] ================================================
[2026-08-29 12:03:13,020.020 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:03:13
[2026-08-29 12:03:13,331.331 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:03:13,468.468 INFO    ] Initializing speech engine...
[2026-08-29 12:03:13,480.480 INFO    ] 2026-08-29 12:03:13
[2026-08-29 12:03:13,690.690 INFO    ] 2026-08-29 12:03:13
[2026-08-29 12:03:13,719.719 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:03:13,847.847 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:03:13,900.900 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:03:15,075.075 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:03:15,093.093 INFO    ] time= 29/08/2026 12:03:15
[2026-08-29 12:03:15,102.102 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:03:15,108.108 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:03:15,157.157 INFO    ] No existing commands found in stream
[2026-08-29 12:03:20,166.166 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:03:20,169.169 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-08-29 12:03:24,891.891 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:03:24,894.894 INFO    ] Checking for system updates...
[2026-08-29 12:03:24,930.930 INFO    ] 200
[2026-08-29 12:03:24,933.933 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:03:24,984.984 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:03:24,987.987 INFO    ] No update needed
[2026-08-29 12:03:24,989.989 INFO    ] Checking for camera pi updates...
[2026-08-29 12:03:25,026.026 INFO    ] 200
[2026-08-29 12:03:25,028.028 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:03:25,062.062 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:03:25,136.136 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:03:25,137.137 INFO    ] No camera update needed
[2026-08-29 12:03:25,139.139 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:03:25,140.140 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:03:25,143.143 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:03:25,145.145 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:03:27,184.184 INFO    ] ================================================
[2026-08-29 12:03:27,199.199 INFO    ] Launching Daemon at Sat Aug 29 12:03:27 IST 2026
[2026-08-29 12:03:27,209.209 INFO    ] ================================================
[2026-08-29 12:03:27,716.716 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:03:27
[2026-08-29 12:03:28,302.302 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:03:28,572.572 INFO    ] Initializing speech engine...
[2026-08-29 12:03:28,581.581 INFO    ] 2026-08-29 12:03:28
[2026-08-29 12:03:28,828.828 INFO    ] 2026-08-29 12:03:28
[2026-08-29 12:03:28,863.863 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:03:32,148.148 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:03:32,151.151 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:03:32,241.241 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:03:32,245.245 INFO    ] time= 29/08/2026 12:03:32
[2026-08-29 12:03:32,250.250 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:03:32,252.252 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:03:32,302.302 INFO    ] No existing commands found in stream
[2026-08-29 12:03:37,312.312 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:03:37,315.315 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-08-29 12:03:45,241.241 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:03:45,243.243 INFO    ] Checking for system updates...
[2026-08-29 12:03:45,263.263 INFO    ] 200
[2026-08-29 12:03:45,264.264 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:03:45,293.293 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:03:45,295.295 INFO    ] No update needed
[2026-08-29 12:03:45,296.296 INFO    ] Checking for camera pi updates...
[2026-08-29 12:03:45,319.319 INFO    ] 200
[2026-08-29 12:03:45,320.320 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:03:45,343.343 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:03:45,436.436 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:03:45,439.439 INFO    ] No camera update needed
[2026-08-29 12:03:45,441.441 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:03:45,443.443 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:03:45,448.448 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:03:45,453.453 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:03:47,495.495 INFO    ] ================================================
[2026-08-29 12:03:47,510.510 INFO    ] Launching Daemon at Sat Aug 29 12:03:47 IST 2026
[2026-08-29 12:03:47,521.521 INFO    ] ================================================
[2026-08-29 12:03:48,089.089 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:03:48
[2026-08-29 12:03:48,556.556 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:03:48,697.697 INFO    ] Initializing speech engine...
[2026-08-29 12:03:48,706.706 INFO    ] 2026-08-29 12:03:48
[2026-08-29 12:03:48,925.925 INFO    ] 2026-08-29 12:03:48
[2026-08-29 12:03:48,955.955 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:03:50,060.060 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:03:50,109.109 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:03:51,317.317 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:03:51,322.322 INFO    ] time= 29/08/2026 12:03:51
[2026-08-29 12:03:51,329.329 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:03:51,339.339 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:03:51,655.655 INFO    ] No existing commands found in stream
[2026-08-29 12:03:56,664.664 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:03:56,667.667 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-08-29 12:04:00,465.465 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:04:00,466.466 INFO    ] Checking for system updates...
[2026-08-29 12:04:00,487.487 INFO    ] 200
[2026-08-29 12:04:00,488.488 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:04:00,520.520 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:04:00,521.521 INFO    ] No update needed
[2026-08-29 12:04:00,523.523 INFO    ] Checking for camera pi updates...
[2026-08-29 12:04:00,542.542 INFO    ] 200
[2026-08-29 12:04:00,543.543 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:04:00,566.566 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:04:00,642.642 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:04:00,644.644 INFO    ] No camera update needed
[2026-08-29 12:04:00,647.647 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:04:00,649.649 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:04:00,654.654 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:04:00,659.659 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:04:02,706.706 INFO    ] ================================================
[2026-08-29 12:04:02,730.730 INFO    ] Launching Daemon at Sat Aug 29 12:04:02 IST 2026
[2026-08-29 12:04:02,744.744 INFO    ] ================================================
[2026-08-29 12:04:03,406.406 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:04:03
[2026-08-29 12:04:03,939.939 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:04:04,074.074 INFO    ] Initializing speech engine...
[2026-08-29 12:04:04,077.077 INFO    ] 2026-08-29 12:04:04
[2026-08-29 12:04:04,304.304 INFO    ] 2026-08-29 12:04:04
[2026-08-29 12:04:04,334.334 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:04:04,480.480 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:04:04,531.531 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:04:04,670.670 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:04:04,726.726 INFO    ] time= 29/08/2026 12:04:04
[2026-08-29 12:04:04,765.765 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:04:04,776.776 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:04:05,105.105 INFO    ] No existing commands found in stream
[2026-08-29 12:04:10,117.117 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:04:10,120.120 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-08-29 12:04:14,100.100 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:04:14,103.103 INFO    ] Checking for system updates...
[2026-08-29 12:04:14,139.139 INFO    ] 200
[2026-08-29 12:04:14,142.142 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:04:14,199.199 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:04:14,202.202 INFO    ] No update needed
[2026-08-29 12:04:14,204.204 INFO    ] Checking for camera pi updates...
[2026-08-29 12:04:14,238.238 INFO    ] 200
[2026-08-29 12:04:14,240.240 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:04:14,283.283 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:04:14,381.381 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:04:14,384.384 INFO    ] No camera update needed
[2026-08-29 12:04:14,386.386 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:04:14,389.389 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:04:14,394.394 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:04:14,399.399 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:04:16,433.433 INFO    ] ================================================
[2026-08-29 12:04:16,449.449 INFO    ] Launching Daemon at Sat Aug 29 12:04:16 IST 2026
[2026-08-29 12:04:16,460.460 INFO    ] ================================================
[2026-08-29 12:04:17,054.054 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:04:17
[2026-08-29 12:04:17,658.658 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:04:17,938.938 INFO    ] Initializing speech engine...
[2026-08-29 12:04:17,945.945 INFO    ] 2026-08-29 12:04:17
[2026-08-29 12:04:18,202.202 INFO    ] 2026-08-29 12:04:18
[2026-08-29 12:04:18,273.273 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:04:19,544.544 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:04:19,552.552 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:04:19,672.672 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:04:19,677.677 INFO    ] time= 29/08/2026 12:04:19
[2026-08-29 12:04:19,682.682 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:04:19,688.688 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:04:19,745.745 INFO    ] No existing commands found in stream
[2026-08-29 12:04:24,760.760 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:04:24,763.763 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-08-29 12:04:30,918.918 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:04:30,920.920 INFO    ] Checking for system updates...
[2026-08-29 12:04:30,940.940 INFO    ] 200
[2026-08-29 12:04:30,942.942 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:04:30,974.974 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:04:30,975.975 INFO    ] No update needed
[2026-08-29 12:04:30,976.976 INFO    ] Checking for camera pi updates...
[2026-08-29 12:04:30,995.995 INFO    ] 200
[2026-08-29 12:04:30,996.996 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:04:31,019.019 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:04:31,198.198 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:04:31,201.201 INFO    ] No camera update needed
[2026-08-29 12:04:31,203.203 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:04:31,205.205 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:04:31,211.211 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:04:31,216.216 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:04:33,250.250 INFO    ] ================================================
[2026-08-29 12:04:33,266.266 INFO    ] Launching Daemon at Sat Aug 29 12:04:33 IST 2026
[2026-08-29 12:04:33,277.277 INFO    ] ================================================
[2026-08-29 12:04:33,842.842 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:04:33
[2026-08-29 12:04:34,433.433 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:04:34,691.691 INFO    ] Initializing speech engine...
[2026-08-29 12:04:34,698.698 INFO    ] 2026-08-29 12:04:34
[2026-08-29 12:04:34,993.993 INFO    ] 2026-08-29 12:04:34
[2026-08-29 12:04:35,033.033 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:04:35,507.507 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:04:35,547.547 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:04:35,745.745 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:04:35,806.806 INFO    ] time= 29/08/2026 12:04:35
[2026-08-29 12:04:35,828.828 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:04:35,888.888 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:04:36,782.782 INFO    ] No existing commands found in stream
[2026-08-29 12:04:41,792.792 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:04:41,795.795 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-08-29 12:04:45,125.125 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:04:45,126.126 INFO    ] Checking for system updates...
[2026-08-29 12:04:45,147.147 INFO    ] 200
[2026-08-29 12:04:45,148.148 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:04:45,178.178 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:04:45,179.179 INFO    ] No update needed
[2026-08-29 12:04:45,180.180 INFO    ] Checking for camera pi updates...
[2026-08-29 12:04:45,200.200 INFO    ] 200
[2026-08-29 12:04:45,202.202 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:04:45,243.243 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:04:45,331.331 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:04:45,334.334 INFO    ] No camera update needed
[2026-08-29 12:04:45,336.336 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:04:45,338.338 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:04:45,344.344 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:04:45,348.348 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:04:47,388.388 INFO    ] ================================================
[2026-08-29 12:04:47,403.403 INFO    ] Launching Daemon at Sat Aug 29 12:04:47 IST 2026
[2026-08-29 12:04:47,414.414 INFO    ] ================================================
[2026-08-29 12:04:47,996.996 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:04:47
[2026-08-29 12:04:48,520.520 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:04:48,664.664 INFO    ] Initializing speech engine...
[2026-08-29 12:04:48,669.669 INFO    ] 2026-08-29 12:04:48
[2026-08-29 12:04:48,911.911 INFO    ] 2026-08-29 12:04:48
[2026-08-29 12:04:48,955.955 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:04:50,156.156 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:04:50,161.161 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:04:50,542.542 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:04:50,547.547 INFO    ] time= 29/08/2026 12:04:50
[2026-08-29 12:04:50,551.551 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:04:50,555.555 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:04:50,887.887 INFO    ] No existing commands found in stream
[2026-08-29 12:04:55,907.907 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:04:55,910.910 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-08-29 12:04:59,955.955 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:04:59,956.956 INFO    ] Checking for system updates...
[2026-08-29 12:04:59,977.977 INFO    ] 200
[2026-08-29 12:04:59,978.978 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:05:00,012.012 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:05:00,014.014 INFO    ] No update needed
[2026-08-29 12:05:00,015.015 INFO    ] Checking for camera pi updates...
[2026-08-29 12:05:00,042.042 INFO    ] 200
[2026-08-29 12:05:00,044.044 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:05:00,067.067 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:05:00,152.152 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:05:00,154.154 INFO    ] No camera update needed
[2026-08-29 12:05:00,155.155 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:05:00,156.156 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:05:00,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:05:00,162.162 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:05:02,207.207 INFO    ] ================================================
[2026-08-29 12:05:02,235.235 INFO    ] Launching Daemon at Sat Aug 29 12:05:02 IST 2026
[2026-08-29 12:05:02,250.250 INFO    ] ================================================
[2026-08-29 12:05:02,898.898 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:05:02
[2026-08-29 12:05:03,581.581 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:05:03,881.881 INFO    ] Initializing speech engine...
[2026-08-29 12:05:03,894.894 INFO    ] 2026-08-29 12:05:03
[2026-08-29 12:05:04,204.204 INFO    ] 2026-08-29 12:05:04
[2026-08-29 12:05:04,289.289 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:05:04,692.692 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:05:04,710.710 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:05:04,857.857 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:05:04,927.927 INFO    ] time= 29/08/2026 12:05:04
[2026-08-29 12:05:04,974.974 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:05:05,046.046 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:05:05,156.156 INFO    ] No existing commands found in stream
[2026-08-29 12:05:10,175.175 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:05:10,178.178 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-08-29 12:05:14,467.467 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:05:14,470.470 INFO    ] Checking for system updates...
[2026-08-29 12:05:14,510.510 INFO    ] 200
[2026-08-29 12:05:14,513.513 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:05:14,561.561 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:05:14,564.564 INFO    ] No update needed
[2026-08-29 12:05:14,567.567 INFO    ] Checking for camera pi updates...
[2026-08-29 12:05:14,611.611 INFO    ] 200
[2026-08-29 12:05:14,614.614 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:05:14,679.679 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:05:14,780.780 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:05:14,782.782 INFO    ] No camera update needed
[2026-08-29 12:05:14,785.785 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:05:14,787.787 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:05:14,792.792 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:05:14,797.797 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:05:16,836.836 INFO    ] ================================================
[2026-08-29 12:05:16,851.851 INFO    ] Launching Daemon at Sat Aug 29 12:05:16 IST 2026
[2026-08-29 12:05:16,862.862 INFO    ] ================================================
[2026-08-29 12:05:17,449.449 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:05:17
[2026-08-29 12:05:17,875.875 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:05:18,147.147 INFO    ] Initializing speech engine...
[2026-08-29 12:05:18,153.153 INFO    ] 2026-08-29 12:05:18
[2026-08-29 12:05:18,415.415 INFO    ] 2026-08-29 12:05:18
[2026-08-29 12:05:18,468.468 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:05:18,633.633 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:05:18,661.661 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:05:22,145.145 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:05:22,148.148 INFO    ] time= 29/08/2026 12:05:22
[2026-08-29 12:05:22,151.151 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:05:22,153.153 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:05:22,204.204 INFO    ] No existing commands found in stream
[2026-08-29 12:05:27,213.213 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:05:27,216.216 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-08-29 12:05:30,867.867 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:05:30,870.870 INFO    ] Checking for system updates...
[2026-08-29 12:05:30,909.909 INFO    ] 200
[2026-08-29 12:05:30,911.911 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:05:30,965.965 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:05:30,968.968 INFO    ] No update needed
[2026-08-29 12:05:30,970.970 INFO    ] Checking for camera pi updates...
[2026-08-29 12:05:31,004.004 INFO    ] 200
[2026-08-29 12:05:31,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:05:31,051.051 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:05:31,131.131 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:05:31,135.135 INFO    ] No camera update needed
[2026-08-29 12:05:31,138.138 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:05:31,141.141 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:05:31,148.148 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:05:31,154.154 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:05:33,196.196 INFO    ] ================================================
[2026-08-29 12:05:33,211.211 INFO    ] Launching Daemon at Sat Aug 29 12:05:33 IST 2026
[2026-08-29 12:05:33,221.221 INFO    ] ================================================
[2026-08-29 12:05:33,803.803 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:05:33
[2026-08-29 12:05:34,403.403 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:05:34,676.676 INFO    ] Initializing speech engine...
[2026-08-29 12:05:34,683.683 INFO    ] 2026-08-29 12:05:34
[2026-08-29 12:05:34,934.934 INFO    ] 2026-08-29 12:05:34
[2026-08-29 12:05:35,000.000 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:05:36,444.444 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:05:36,484.484 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:05:36,842.842 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:05:36,848.848 INFO    ] time= 29/08/2026 12:05:36
[2026-08-29 12:05:36,854.854 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:05:36,861.861 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:05:36,931.931 INFO    ] No existing commands found in stream
[2026-08-29 12:05:41,952.952 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:05:41,955.955 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-08-29 12:05:42,942.942 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:05:42,943.943 INFO    ] Checking for system updates...
[2026-08-29 12:05:42,963.963 INFO    ] 200
[2026-08-29 12:05:42,965.965 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:05:42,995.995 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:05:42,996.996 INFO    ] No update needed
[2026-08-29 12:05:42,997.997 INFO    ] Checking for camera pi updates...
[2026-08-29 12:05:43,016.016 INFO    ] 200
[2026-08-29 12:05:43,017.017 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:05:43,039.039 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:05:43,144.144 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:05:43,145.145 INFO    ] No camera update needed
[2026-08-29 12:05:43,146.146 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:05:43,147.147 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:05:43,150.150 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:05:43,153.153 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:05:45,193.193 INFO    ] ================================================
[2026-08-29 12:05:45,208.208 INFO    ] Launching Daemon at Sat Aug 29 12:05:45 IST 2026
[2026-08-29 12:05:45,219.219 INFO    ] ================================================
[2026-08-29 12:05:45,583.583 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:05:45
[2026-08-29 12:05:45,895.895 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:05:46,026.026 INFO    ] Initializing speech engine...
[2026-08-29 12:05:46,031.031 INFO    ] 2026-08-29 12:05:46
[2026-08-29 12:05:46,257.257 INFO    ] 2026-08-29 12:05:46
[2026-08-29 12:05:46,288.288 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:05:46,416.416 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:05:46,460.460 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:05:47,593.593 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:05:47,597.597 INFO    ] time= 29/08/2026 12:05:47
[2026-08-29 12:05:47,600.600 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:05:47,606.606 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:05:47,696.696 INFO    ] No existing commands found in stream
[2026-08-29 12:05:52,707.707 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:05:52,710.710 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-08-29 12:05:56,699.699 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:05:56,702.702 INFO    ] Checking for system updates...
[2026-08-29 12:05:56,738.738 INFO    ] 200
[2026-08-29 12:05:56,740.740 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:05:56,793.793 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:05:56,794.794 INFO    ] No update needed
[2026-08-29 12:05:56,796.796 INFO    ] Checking for camera pi updates...
[2026-08-29 12:05:56,816.816 INFO    ] 200
[2026-08-29 12:05:56,817.817 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:05:56,841.841 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:05:56,924.924 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:05:56,926.926 INFO    ] No camera update needed
[2026-08-29 12:05:56,927.927 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:05:56,928.928 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:05:56,931.931 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:05:56,933.933 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:05:58,971.971 INFO    ] ================================================
[2026-08-29 12:05:58,986.986 INFO    ] Launching Daemon at Sat Aug 29 12:05:58 IST 2026
[2026-08-29 12:05:59,997.997 INFO    ] ================================================
[2026-08-29 12:05:59,337.337 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:05:59
[2026-08-29 12:05:59,656.656 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:05:59,794.794 INFO    ] Initializing speech engine...
[2026-08-29 12:05:59,806.806 INFO    ] 2026-08-29 12:05:59
[2026-08-29 12:06:00,023.023 INFO    ] 2026-08-29 12:05:59
[2026-08-29 12:06:00,061.061 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:06:01,454.454 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:06:01,458.458 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:06:01,806.806 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:06:01,810.810 INFO    ] time= 29/08/2026 12:06:01
[2026-08-29 12:06:01,854.854 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:06:01,858.858 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:06:01,960.960 INFO    ] No existing commands found in stream
[2026-08-29 12:06:06,987.987 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:06:06,990.990 INFO    ] Waiting 1.53 seconds before fallback handling...
[2026-08-29 12:06:10,203.203 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:06:10,204.204 INFO    ] Checking for system updates...
[2026-08-29 12:06:10,226.226 INFO    ] 200
[2026-08-29 12:06:10,227.227 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:06:10,282.282 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:06:10,285.285 INFO    ] No update needed
[2026-08-29 12:06:10,287.287 INFO    ] Checking for camera pi updates...
[2026-08-29 12:06:10,324.324 INFO    ] 200
[2026-08-29 12:06:10,327.327 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:06:10,377.377 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:06:10,466.466 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:06:10,469.469 INFO    ] No camera update needed
[2026-08-29 12:06:10,471.471 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:06:10,473.473 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:06:10,478.478 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:06:10,483.483 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:06:12,525.525 INFO    ] ================================================
[2026-08-29 12:06:12,544.544 INFO    ] Launching Daemon at Sat Aug 29 12:06:12 IST 2026
[2026-08-29 12:06:12,557.557 INFO    ] ================================================
[2026-08-29 12:06:13,211.211 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:06:13
[2026-08-29 12:06:13,618.618 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:06:13,770.770 INFO    ] Initializing speech engine...
[2026-08-29 12:06:13,776.776 INFO    ] 2026-08-29 12:06:13
[2026-08-29 12:06:13,987.987 INFO    ] 2026-08-29 12:06:13
[2026-08-29 12:06:14,016.016 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:06:15,453.453 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:06:15,455.455 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:06:15,539.539 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:06:15,541.541 INFO    ] time= 29/08/2026 12:06:15
[2026-08-29 12:06:15,542.542 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:06:15,543.543 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:06:15,591.591 INFO    ] No existing commands found in stream
[2026-08-29 12:06:20,600.600 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:06:20,603.603 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 12:06:30,428.428 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:06:30,430.430 INFO    ] Checking for system updates...
[2026-08-29 12:06:30,451.451 INFO    ] 200
[2026-08-29 12:06:30,452.452 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:06:30,482.482 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:06:30,483.483 INFO    ] No update needed
[2026-08-29 12:06:30,485.485 INFO    ] Checking for camera pi updates...
[2026-08-29 12:06:30,505.505 INFO    ] 200
[2026-08-29 12:06:30,507.507 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:06:30,532.532 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:06:30,605.605 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:06:30,607.607 INFO    ] No camera update needed
[2026-08-29 12:06:30,608.608 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:06:30,610.610 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:06:30,613.613 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:06:30,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:06:32,656.656 INFO    ] ================================================
[2026-08-29 12:06:32,672.672 INFO    ] Launching Daemon at Sat Aug 29 12:06:32 IST 2026
[2026-08-29 12:06:32,684.684 INFO    ] ================================================
[2026-08-29 12:06:33,283.283 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:06:33
[2026-08-29 12:06:33,884.884 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:06:34,160.160 INFO    ] Initializing speech engine...
[2026-08-29 12:06:34,169.169 INFO    ] 2026-08-29 12:06:34
[2026-08-29 12:06:34,432.432 INFO    ] 2026-08-29 12:06:34
[2026-08-29 12:06:34,485.485 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:06:34,636.636 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:06:34,659.659 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:06:36,108.108 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:06:36,115.115 INFO    ] time= 29/08/2026 12:06:36
[2026-08-29 12:06:36,119.119 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:06:36,123.123 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:06:36,438.438 INFO    ] No existing commands found in stream
[2026-08-29 12:06:41,448.448 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:06:41,451.451 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-08-29 12:06:47,401.401 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:06:47,404.404 INFO    ] Checking for system updates...
[2026-08-29 12:06:47,440.440 INFO    ] 200
[2026-08-29 12:06:47,443.443 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:06:47,498.498 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:06:47,499.499 INFO    ] No update needed
[2026-08-29 12:06:47,501.501 INFO    ] Checking for camera pi updates...
[2026-08-29 12:06:47,521.521 INFO    ] 200
[2026-08-29 12:06:47,522.522 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:06:47,547.547 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:06:47,732.732 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:06:47,734.734 INFO    ] No camera update needed
[2026-08-29 12:06:47,735.735 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:06:47,736.736 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:06:47,739.739 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:06:47,742.742 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:06:49,784.784 INFO    ] ================================================
[2026-08-29 12:06:49,799.799 INFO    ] Launching Daemon at Sat Aug 29 12:06:49 IST 2026
[2026-08-29 12:06:49,810.810 INFO    ] ================================================
[2026-08-29 12:06:50,185.185 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:06:50
[2026-08-29 12:06:50,534.534 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:06:50,807.807 INFO    ] Initializing speech engine...
[2026-08-29 12:06:50,815.815 INFO    ] 2026-08-29 12:06:50
[2026-08-29 12:06:51,086.086 INFO    ] 2026-08-29 12:06:51
[2026-08-29 12:06:51,112.112 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:06:54,374.374 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:06:54,375.375 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:06:54,469.469 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:06:54,470.470 INFO    ] time= 29/08/2026 12:06:54
[2026-08-29 12:06:54,472.472 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:06:54,473.473 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:06:54,770.770 INFO    ] No existing commands found in stream
[2026-08-29 12:06:59,779.779 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:06:59,781.781 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-08-29 12:07:01,776.776 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:07:01,785.785 INFO    ] Checking for system updates...
[2026-08-29 12:07:01,835.835 INFO    ] 200
[2026-08-29 12:07:01,839.839 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:07:01,914.914 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:07:01,917.917 INFO    ] No update needed
[2026-08-29 12:07:01,920.920 INFO    ] Checking for camera pi updates...
[2026-08-29 12:07:01,988.988 INFO    ] 200
[2026-08-29 12:07:01,991.991 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:07:02,044.044 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:07:02,155.155 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:07:02,157.157 INFO    ] No camera update needed
[2026-08-29 12:07:02,160.160 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:07:02,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:07:02,172.172 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:07:02,178.178 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:07:04,221.221 INFO    ] ================================================
[2026-08-29 12:07:04,236.236 INFO    ] Launching Daemon at Sat Aug 29 12:07:04 IST 2026
[2026-08-29 12:07:04,247.247 INFO    ] ================================================
[2026-08-29 12:07:04,607.607 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:07:04
[2026-08-29 12:07:04,919.919 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:07:05,051.051 INFO    ] Initializing speech engine...
[2026-08-29 12:07:05,060.060 INFO    ] 2026-08-29 12:07:05
[2026-08-29 12:07:05,284.284 INFO    ] 2026-08-29 12:07:05
[2026-08-29 12:07:05,314.314 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:07:05,444.444 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:07:05,483.483 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:07:08,698.698 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:07:08,701.701 INFO    ] time= 29/08/2026 12:07:08
[2026-08-29 12:07:08,703.703 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:07:08,706.706 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:07:09,019.019 INFO    ] No existing commands found in stream
[2026-08-29 12:07:14,028.028 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:07:14,031.031 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-08-29 12:07:17,558.558 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:07:17,561.561 INFO    ] Checking for system updates...
[2026-08-29 12:07:17,596.596 INFO    ] 200
[2026-08-29 12:07:17,599.599 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:07:17,656.656 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:07:17,658.658 INFO    ] No update needed
[2026-08-29 12:07:17,660.660 INFO    ] Checking for camera pi updates...
[2026-08-29 12:07:17,693.693 INFO    ] 200
[2026-08-29 12:07:17,695.695 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:07:17,719.719 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:07:17,818.818 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:07:17,819.819 INFO    ] No camera update needed
[2026-08-29 12:07:17,821.821 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:07:17,822.822 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:07:17,825.825 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:07:17,828.828 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:07:19,865.865 INFO    ] ================================================
[2026-08-29 12:07:19,881.881 INFO    ] Launching Daemon at Sat Aug 29 12:07:19 IST 2026
[2026-08-29 12:07:19,892.892 INFO    ] ================================================
[2026-08-29 12:07:20,253.253 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:07:20
[2026-08-29 12:07:20,680.680 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:07:20,937.937 INFO    ] Initializing speech engine...
[2026-08-29 12:07:20,953.953 INFO    ] 2026-08-29 12:07:20
[2026-08-29 12:07:21,230.230 INFO    ] 2026-08-29 12:07:21
[2026-08-29 12:07:21,263.263 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:07:24,467.467 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:07:24,469.469 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:07:24,794.794 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:07:24,795.795 INFO    ] time= 29/08/2026 12:07:24
[2026-08-29 12:07:24,797.797 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:07:24,798.798 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:07:24,849.849 INFO    ] No existing commands found in stream
[2026-08-29 12:07:29,857.857 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:07:29,860.860 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-08-29 12:07:36,156.156 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:07:36,158.158 INFO    ] Checking for system updates...
[2026-08-29 12:07:36,194.194 INFO    ] 200
[2026-08-29 12:07:36,196.196 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:07:36,249.249 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:07:36,250.250 INFO    ] No update needed
[2026-08-29 12:07:36,252.252 INFO    ] Checking for camera pi updates...
[2026-08-29 12:07:36,272.272 INFO    ] 200
[2026-08-29 12:07:36,273.273 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:07:36,297.297 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:07:36,348.348 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:07:36,349.349 INFO    ] No camera update needed
[2026-08-29 12:07:36,351.351 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:07:36,352.352 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:07:36,355.355 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:07:36,357.357 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:07:38,396.396 INFO    ] ================================================
[2026-08-29 12:07:38,412.412 INFO    ] Launching Daemon at Sat Aug 29 12:07:38 IST 2026
[2026-08-29 12:07:38,423.423 INFO    ] ================================================
[2026-08-29 12:07:38,771.771 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:07:38
[2026-08-29 12:07:39,087.087 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:07:39,231.231 INFO    ] Initializing speech engine...
[2026-08-29 12:07:39,236.236 INFO    ] 2026-08-29 12:07:39
[2026-08-29 12:07:39,481.481 INFO    ] 2026-08-29 12:07:39
[2026-08-29 12:07:39,537.537 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:07:40,720.720 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:07:40,726.726 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:07:40,843.843 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:07:40,851.851 INFO    ] time= 29/08/2026 12:07:40
[2026-08-29 12:07:40,860.860 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:07:40,868.868 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:07:40,992.992 INFO    ] No existing commands found in stream
[2026-08-29 12:07:46,028.028 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:07:46,031.031 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-08-29 12:07:50,604.604 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:07:50,607.607 INFO    ] Checking for system updates...
[2026-08-29 12:07:50,646.646 INFO    ] 200
[2026-08-29 12:07:50,648.648 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:07:50,706.706 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:07:50,709.709 INFO    ] No update needed
[2026-08-29 12:07:50,711.711 INFO    ] Checking for camera pi updates...
[2026-08-29 12:07:50,732.732 INFO    ] 200
[2026-08-29 12:07:50,734.734 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:07:50,766.766 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:07:50,862.862 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:07:50,864.864 INFO    ] No camera update needed
[2026-08-29 12:07:50,867.867 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:07:50,869.869 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:07:50,874.874 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:07:50,879.879 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:07:52,921.921 INFO    ] ================================================
[2026-08-29 12:07:52,936.936 INFO    ] Launching Daemon at Sat Aug 29 12:07:52 IST 2026
[2026-08-29 12:07:52,948.948 INFO    ] ================================================
[2026-08-29 12:07:53,534.534 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:07:53
[2026-08-29 12:07:54,133.133 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:07:54,410.410 INFO    ] Initializing speech engine...
[2026-08-29 12:07:54,417.417 INFO    ] 2026-08-29 12:07:54
[2026-08-29 12:07:54,677.677 INFO    ] 2026-08-29 12:07:54
[2026-08-29 12:07:54,708.708 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:07:54,894.894 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:07:54,938.938 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:07:58,161.161 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:07:58,164.164 INFO    ] time= 29/08/2026 12:07:58
[2026-08-29 12:07:58,166.166 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:07:58,169.169 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:07:58,498.498 INFO    ] No existing commands found in stream
[2026-08-29 12:08:03,508.508 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:08:03,510.510 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 12:08:06,793.793 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:08:06,794.794 INFO    ] Checking for system updates...
[2026-08-29 12:08:06,815.815 INFO    ] 200
[2026-08-29 12:08:06,816.816 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:08:06,846.846 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:08:06,847.847 INFO    ] No update needed
[2026-08-29 12:08:06,848.848 INFO    ] Checking for camera pi updates...
[2026-08-29 12:08:06,868.868 INFO    ] 200
[2026-08-29 12:08:06,869.869 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:08:06,893.893 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:08:06,976.976 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:08:06,977.977 INFO    ] No camera update needed
[2026-08-29 12:08:06,978.978 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:08:06,979.979 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:08:06,982.982 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:08:06,985.985 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:08:09,024.024 INFO    ] ================================================
[2026-08-29 12:08:09,039.039 INFO    ] Launching Daemon at Sat Aug 29 12:08:09 IST 2026
[2026-08-29 12:08:09,051.051 INFO    ] ================================================
[2026-08-29 12:08:09,375.375 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:08:09
[2026-08-29 12:08:09,686.686 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:08:09,822.822 INFO    ] Initializing speech engine...
[2026-08-29 12:08:09,830.830 INFO    ] 2026-08-29 12:08:09
[2026-08-29 12:08:10,037.037 INFO    ] 2026-08-29 12:08:10
[2026-08-29 12:08:10,065.065 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:08:13,267.267 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:08:13,269.269 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:08:13,365.365 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:08:13,367.367 INFO    ] time= 29/08/2026 12:08:13
[2026-08-29 12:08:13,370.370 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:08:13,372.372 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:08:13,689.689 INFO    ] No existing commands found in stream
[2026-08-29 12:08:18,699.699 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:08:18,701.701 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-08-29 12:08:22,018.018 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:08:22,020.020 INFO    ] Checking for system updates...
[2026-08-29 12:08:22,040.040 INFO    ] 200
[2026-08-29 12:08:22,041.041 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:08:22,074.074 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:08:22,076.076 INFO    ] No update needed
[2026-08-29 12:08:22,077.077 INFO    ] Checking for camera pi updates...
[2026-08-29 12:08:22,097.097 INFO    ] 200
[2026-08-29 12:08:22,098.098 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:08:22,121.121 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:08:22,216.216 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:08:22,217.217 INFO    ] No camera update needed
[2026-08-29 12:08:22,218.218 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:08:22,220.220 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:08:22,223.223 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:08:22,225.225 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:08:24,264.264 INFO    ] ================================================
[2026-08-29 12:08:24,280.280 INFO    ] Launching Daemon at Sat Aug 29 12:08:24 IST 2026
[2026-08-29 12:08:24,291.291 INFO    ] ================================================
[2026-08-29 12:08:24,766.766 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:08:24
[2026-08-29 12:08:25,352.352 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:08:25,621.621 INFO    ] Initializing speech engine...
[2026-08-29 12:08:25,630.630 INFO    ] 2026-08-29 12:08:25
[2026-08-29 12:08:25,877.877 INFO    ] 2026-08-29 12:08:25
[2026-08-29 12:08:25,944.944 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:08:26,088.088 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:08:26,100.100 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:08:26,484.484 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:08:26,490.490 INFO    ] time= 29/08/2026 12:08:26
[2026-08-29 12:08:26,545.545 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:08:26,587.587 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:08:27,140.140 INFO    ] No existing commands found in stream
[2026-08-29 12:08:32,152.152 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:08:32,155.155 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-08-29 12:08:34,791.791 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:08:34,794.794 INFO    ] Checking for system updates...
[2026-08-29 12:08:34,833.833 INFO    ] 200
[2026-08-29 12:08:34,835.835 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:08:34,892.892 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:08:34,894.894 INFO    ] No update needed
[2026-08-29 12:08:34,897.897 INFO    ] Checking for camera pi updates...
[2026-08-29 12:08:34,933.933 INFO    ] 200
[2026-08-29 12:08:34,935.935 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:08:34,976.976 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:08:35,065.065 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:08:35,067.067 INFO    ] No camera update needed
[2026-08-29 12:08:35,069.069 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:08:35,071.071 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:08:35,077.077 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:08:35,082.082 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:08:37,122.122 INFO    ] ================================================
[2026-08-29 12:08:37,138.138 INFO    ] Launching Daemon at Sat Aug 29 12:08:37 IST 2026
[2026-08-29 12:08:37,150.150 INFO    ] ================================================
[2026-08-29 12:08:37,508.508 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:08:37
[2026-08-29 12:08:37,819.819 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:08:37,956.956 INFO    ] Initializing speech engine...
[2026-08-29 12:08:37,966.966 INFO    ] 2026-08-29 12:08:37
[2026-08-29 12:08:38,172.172 INFO    ] 2026-08-29 12:08:38
[2026-08-29 12:08:38,201.201 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:08:38,324.324 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:08:38,372.372 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:08:39,539.539 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:08:39,546.546 INFO    ] time= 29/08/2026 12:08:39
[2026-08-29 12:08:39,553.553 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:08:39,558.558 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:08:40,129.129 INFO    ] No existing commands found in stream
[2026-08-29 12:08:45,138.138 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:08:45,141.141 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-08-29 12:08:48,416.416 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:08:48,418.418 INFO    ] Checking for system updates...
[2026-08-29 12:08:48,438.438 INFO    ] 200
[2026-08-29 12:08:48,439.439 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:08:48,470.470 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:08:48,472.472 INFO    ] No update needed
[2026-08-29 12:08:48,473.473 INFO    ] Checking for camera pi updates...
[2026-08-29 12:08:48,492.492 INFO    ] 200
[2026-08-29 12:08:48,494.494 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:08:48,516.516 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:08:48,607.607 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:08:48,608.608 INFO    ] No camera update needed
[2026-08-29 12:08:48,610.610 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:08:48,611.611 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:08:48,614.614 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:08:48,617.617 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:08:50,659.659 INFO    ] ================================================
[2026-08-29 12:08:50,675.675 INFO    ] Launching Daemon at Sat Aug 29 12:08:50 IST 2026
[2026-08-29 12:08:50,686.686 INFO    ] ================================================
[2026-08-29 12:08:51,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:08:51
[2026-08-29 12:08:51,706.706 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:08:51,997.997 INFO    ] Initializing speech engine...
[2026-08-29 12:08:52,007.007 INFO    ] 2026-08-29 12:08:51
[2026-08-29 12:08:52,266.266 INFO    ] 2026-08-29 12:08:52
[2026-08-29 12:08:52,335.335 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:08:54,049.049 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:08:54,054.054 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:08:59,070.070 INFO    ] MachineMessageSender.__init__: Redis error: Timeout connecting to server
[2026-08-29 12:08:59,099.099 INFO    ] Exiting as MachineMessageSender redis not connected!!!
[2026-08-29 12:08:59,101.101 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:08:59,107.107 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:08:59,113.113 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:09:01,153.153 INFO    ] ================================================
[2026-08-29 12:09:01,169.169 INFO    ] Launching Daemon at Sat Aug 29 12:09:01 IST 2026
[2026-08-29 12:09:01,180.180 INFO    ] ================================================
[2026-08-29 12:09:01,546.546 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:09:01
[2026-08-29 12:09:01,857.857 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:09:02,146.146 INFO    ] Initializing speech engine...
[2026-08-29 12:09:02,151.151 INFO    ] 2026-08-29 12:09:02
[2026-08-29 12:09:02,570.570 INFO    ] 2026-08-29 12:09:02
[2026-08-29 12:09:02,673.673 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:09:07,739.739 INFO    ] VendingMachinePublisher.__init__: Redis error: Timeout connecting to server
[2026-08-29 12:09:07,770.770 INFO    ] Exiting as VendingMachinePublisher redis not connected!!!
[2026-08-29 12:09:07,773.773 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:09:07,779.779 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:09:07,785.785 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:09:09,826.826 INFO    ] ================================================
[2026-08-29 12:09:09,843.843 INFO    ] Launching Daemon at Sat Aug 29 12:09:09 IST 2026
[2026-08-29 12:09:09,854.854 INFO    ] ================================================
[2026-08-29 12:09:10,210.210 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:09:10
[2026-08-29 12:09:10,550.550 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:09:10,697.697 INFO    ] Initializing speech engine...
[2026-08-29 12:09:10,705.705 INFO    ] 2026-08-29 12:09:10
[2026-08-29 12:09:10,918.918 INFO    ] 2026-08-29 12:09:10
[2026-08-29 12:09:10,947.947 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:09:11,074.074 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:09:11,138.138 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:09:14,384.384 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:09:14,388.388 INFO    ] time= 29/08/2026 12:09:14
[2026-08-29 12:09:14,390.390 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:09:14,393.393 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:09:14,442.442 INFO    ] No existing commands found in stream
[2026-08-29 12:09:19,452.452 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:09:19,456.456 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-08-29 12:09:24,754.754 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:09:24,757.757 INFO    ] Checking for system updates...
[2026-08-29 12:09:24,798.798 INFO    ] 200
[2026-08-29 12:09:24,802.802 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:09:24,863.863 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:09:24,866.866 INFO    ] No update needed
[2026-08-29 12:09:24,869.869 INFO    ] Checking for camera pi updates...
[2026-08-29 12:09:24,899.899 INFO    ] 200
[2026-08-29 12:09:24,900.900 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:09:24,925.925 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:09:25,003.003 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:09:25,004.004 INFO    ] No camera update needed
[2026-08-29 12:09:25,006.006 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:09:25,007.007 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:09:25,010.010 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:09:25,013.013 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:09:27,053.053 INFO    ] ================================================
[2026-08-29 12:09:27,069.069 INFO    ] Launching Daemon at Sat Aug 29 12:09:27 IST 2026
[2026-08-29 12:09:27,080.080 INFO    ] ================================================
[2026-08-29 12:09:27,423.423 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:09:27
[2026-08-29 12:09:27,742.742 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:09:27,888.888 INFO    ] Initializing speech engine...
[2026-08-29 12:09:27,893.893 INFO    ] 2026-08-29 12:09:27
[2026-08-29 12:09:28,098.098 INFO    ] 2026-08-29 12:09:28
[2026-08-29 12:09:28,126.126 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:09:28,249.249 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:09:28,297.297 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:09:28,443.443 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:09:28,505.505 INFO    ] time= 29/08/2026 12:09:28
[2026-08-29 12:09:28,534.534 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:09:28,544.544 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:09:28,840.840 INFO    ] No existing commands found in stream
[2026-08-29 12:09:33,849.849 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:09:33,852.852 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-08-29 12:09:37,335.335 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:09:37,338.338 INFO    ] Checking for system updates...
[2026-08-29 12:09:37,374.374 INFO    ] 200
[2026-08-29 12:09:37,376.376 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:09:37,435.435 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:09:37,438.438 INFO    ] No update needed
[2026-08-29 12:09:37,440.440 INFO    ] Checking for camera pi updates...
[2026-08-29 12:09:37,474.474 INFO    ] 200
[2026-08-29 12:09:37,476.476 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:09:37,523.523 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:09:37,603.603 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:09:37,604.604 INFO    ] No camera update needed
[2026-08-29 12:09:37,605.605 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:09:37,607.607 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:09:37,610.610 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:09:37,612.612 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:09:39,652.652 INFO    ] ================================================
[2026-08-29 12:09:39,669.669 INFO    ] Launching Daemon at Sat Aug 29 12:09:39 IST 2026
[2026-08-29 12:09:39,680.680 INFO    ] ================================================
[2026-08-29 12:09:40,061.061 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:09:40
[2026-08-29 12:09:40,403.403 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:09:40,556.556 INFO    ] Initializing speech engine...
[2026-08-29 12:09:40,560.560 INFO    ] 2026-08-29 12:09:40
[2026-08-29 12:09:40,772.772 INFO    ] 2026-08-29 12:09:40
[2026-08-29 12:09:40,801.801 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:09:41,214.214 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:09:41,216.216 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:09:42,372.372 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:09:42,387.387 INFO    ] time= 29/08/2026 12:09:42
[2026-08-29 12:09:42,401.401 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:09:42,415.415 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:09:43,279.279 INFO    ] No existing commands found in stream
[2026-08-29 12:09:48,289.289 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:09:48,292.292 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-08-29 12:09:51,290.290 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:09:51,293.293 INFO    ] Checking for system updates...
[2026-08-29 12:09:51,332.332 INFO    ] 200
[2026-08-29 12:09:51,334.334 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:09:51,378.378 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:09:51,380.380 INFO    ] No update needed
[2026-08-29 12:09:51,381.381 INFO    ] Checking for camera pi updates...
[2026-08-29 12:09:51,403.403 INFO    ] 200
[2026-08-29 12:09:51,404.404 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:09:51,428.428 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:09:51,507.507 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:09:51,509.509 INFO    ] No camera update needed
[2026-08-29 12:09:51,510.510 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:09:51,511.511 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:09:51,514.514 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:09:51,517.517 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:09:53,556.556 INFO    ] ================================================
[2026-08-29 12:09:53,572.572 INFO    ] Launching Daemon at Sat Aug 29 12:09:53 IST 2026
[2026-08-29 12:09:53,584.584 INFO    ] ================================================
[2026-08-29 12:09:54,183.183 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:09:54
[2026-08-29 12:09:54,785.785 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:09:55,047.047 INFO    ] Initializing speech engine...
[2026-08-29 12:09:55,054.054 INFO    ] 2026-08-29 12:09:55
[2026-08-29 12:09:55,355.355 INFO    ] 2026-08-29 12:09:55
[2026-08-29 12:09:55,394.394 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:09:55,553.553 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:09:55,569.569 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:09:56,708.708 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:09:56,711.711 INFO    ] time= 29/08/2026 12:09:56
[2026-08-29 12:09:56,714.714 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:09:56,717.717 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:09:56,765.765 INFO    ] No existing commands found in stream
[2026-08-29 12:10:01,776.776 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:10:01,788.788 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-08-29 12:10:02,455.455 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:10:02,459.459 INFO    ] Checking for system updates...
[2026-08-29 12:10:02,587.587 INFO    ] 200
[2026-08-29 12:10:02,590.590 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:10:02,654.654 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:10:02,657.657 INFO    ] No update needed
[2026-08-29 12:10:02,660.660 INFO    ] Checking for camera pi updates...
[2026-08-29 12:10:02,709.709 INFO    ] 200
[2026-08-29 12:10:02,712.712 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:10:02,799.799 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:10:02,977.977 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:10:02,980.980 INFO    ] No camera update needed
[2026-08-29 12:10:02,983.983 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:10:02,986.986 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:10:02,993.993 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:10:02,999.999 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:10:05,042.042 INFO    ] ================================================
[2026-08-29 12:10:05,057.057 INFO    ] Launching Daemon at Sat Aug 29 12:10:05 IST 2026
[2026-08-29 12:10:05,068.068 INFO    ] ================================================
[2026-08-29 12:10:05,442.442 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:10:05
[2026-08-29 12:10:05,758.758 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:10:05,906.906 INFO    ] Initializing speech engine...
[2026-08-29 12:10:05,911.911 INFO    ] 2026-08-29 12:10:05
[2026-08-29 12:10:06,127.127 INFO    ] 2026-08-29 12:10:06
[2026-08-29 12:10:06,158.158 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:10:07,348.348 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:10:07,353.353 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:10:10,784.784 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:10:10,787.787 INFO    ] time= 29/08/2026 12:10:10
[2026-08-29 12:10:10,789.789 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:10:10,791.791 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:10:10,840.840 INFO    ] No existing commands found in stream
[2026-08-29 12:10:15,850.850 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:10:15,853.853 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-08-29 12:10:21,642.642 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:10:21,645.645 INFO    ] Checking for system updates...
[2026-08-29 12:10:21,681.681 INFO    ] 200
[2026-08-29 12:10:21,683.683 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:10:21,750.750 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:10:21,753.753 INFO    ] No update needed
[2026-08-29 12:10:21,755.755 INFO    ] Checking for camera pi updates...
[2026-08-29 12:10:21,779.779 INFO    ] 200
[2026-08-29 12:10:21,780.780 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:10:21,803.803 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:10:21,883.883 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:10:21,885.885 INFO    ] No camera update needed
[2026-08-29 12:10:21,886.886 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:10:21,887.887 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:10:21,890.890 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:10:21,893.893 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:10:23,932.932 INFO    ] ================================================
[2026-08-29 12:10:23,947.947 INFO    ] Launching Daemon at Sat Aug 29 12:10:23 IST 2026
[2026-08-29 12:10:23,959.959 INFO    ] ================================================
[2026-08-29 12:10:24,282.282 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:10:24
[2026-08-29 12:10:24,594.594 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:10:24,723.723 INFO    ] Initializing speech engine...
[2026-08-29 12:10:24,728.728 INFO    ] 2026-08-29 12:10:24
[2026-08-29 12:10:24,945.945 INFO    ] 2026-08-29 12:10:24
[2026-08-29 12:10:24,975.975 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:10:28,218.218 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:10:28,221.221 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:10:28,307.307 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:10:28,310.310 INFO    ] time= 29/08/2026 12:10:28
[2026-08-29 12:10:28,312.312 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:10:28,314.314 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:10:28,356.356 INFO    ] No existing commands found in stream
[2026-08-29 12:10:33,365.365 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:10:33,367.367 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-08-29 12:10:34,361.361 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:10:34,364.364 INFO    ] Checking for system updates...
[2026-08-29 12:10:34,403.403 INFO    ] 200
[2026-08-29 12:10:34,406.406 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:10:34,465.465 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:10:34,468.468 INFO    ] No update needed
[2026-08-29 12:10:34,470.470 INFO    ] Checking for camera pi updates...
[2026-08-29 12:10:34,504.504 INFO    ] 200
[2026-08-29 12:10:34,506.506 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:10:34,546.546 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:10:34,628.628 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:10:34,630.630 INFO    ] No camera update needed
[2026-08-29 12:10:34,632.632 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:10:34,635.635 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:10:34,640.640 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:10:34,645.645 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:10:36,686.686 INFO    ] ================================================
[2026-08-29 12:10:36,702.702 INFO    ] Launching Daemon at Sat Aug 29 12:10:36 IST 2026
[2026-08-29 12:10:36,714.714 INFO    ] ================================================
[2026-08-29 12:10:37,230.230 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:10:37
[2026-08-29 12:10:37,825.825 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:10:38,077.077 INFO    ] Initializing speech engine...
[2026-08-29 12:10:38,089.089 INFO    ] 2026-08-29 12:10:38
[2026-08-29 12:10:38,356.356 INFO    ] 2026-08-29 12:10:38
[2026-08-29 12:10:38,391.391 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:10:38,572.572 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:10:38,584.584 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:10:40,256.256 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:10:40,260.260 INFO    ] time= 29/08/2026 12:10:40
[2026-08-29 12:10:40,262.262 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:10:40,267.267 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:10:40,320.320 INFO    ] No existing commands found in stream
[2026-08-29 12:10:45,330.330 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:10:45,333.333 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-08-29 12:10:50,435.435 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:10:50,436.436 INFO    ] Checking for system updates...
[2026-08-29 12:10:50,465.465 INFO    ] 200
[2026-08-29 12:10:50,467.467 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:10:50,499.499 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:10:50,501.501 INFO    ] No update needed
[2026-08-29 12:10:50,502.502 INFO    ] Checking for camera pi updates...
[2026-08-29 12:10:50,531.531 INFO    ] 200
[2026-08-29 12:10:50,534.534 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:10:50,574.574 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:10:50,655.655 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:10:50,657.657 INFO    ] No camera update needed
[2026-08-29 12:10:50,659.659 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:10:50,662.662 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:10:50,667.667 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:10:50,672.672 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:10:52,714.714 INFO    ] ================================================
[2026-08-29 12:10:52,730.730 INFO    ] Launching Daemon at Sat Aug 29 12:10:52 IST 2026
[2026-08-29 12:10:52,741.741 INFO    ] ================================================
[2026-08-29 12:10:53,330.330 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:10:53
[2026-08-29 12:10:53,786.786 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:10:53,928.928 INFO    ] Initializing speech engine...
[2026-08-29 12:10:53,932.932 INFO    ] 2026-08-29 12:10:53
[2026-08-29 12:10:54,135.135 INFO    ] 2026-08-29 12:10:54
[2026-08-29 12:10:54,164.164 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:10:54,332.332 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:10:54,356.356 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:10:54,511.511 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:10:54,551.551 INFO    ] time= 29/08/2026 12:10:54
[2026-08-29 12:10:54,601.601 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:10:54,621.621 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:10:54,728.728 INFO    ] No existing commands found in stream
[2026-08-29 12:10:59,753.753 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:10:59,756.756 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-08-29 12:11:07,302.302 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:11:07,304.304 INFO    ] Checking for system updates...
[2026-08-29 12:11:07,326.326 INFO    ] 200
[2026-08-29 12:11:07,327.327 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:11:07,359.359 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:11:07,361.361 INFO    ] No update needed
[2026-08-29 12:11:07,362.362 INFO    ] Checking for camera pi updates...
[2026-08-29 12:11:07,381.381 INFO    ] 200
[2026-08-29 12:11:07,383.383 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:11:07,406.406 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:11:07,588.588 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:11:07,590.590 INFO    ] No camera update needed
[2026-08-29 12:11:07,593.593 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:11:07,595.595 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:11:07,600.600 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:11:07,605.605 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:11:09,646.646 INFO    ] ================================================
[2026-08-29 12:11:09,661.661 INFO    ] Launching Daemon at Sat Aug 29 12:11:09 IST 2026
[2026-08-29 12:11:09,673.673 INFO    ] ================================================
[2026-08-29 12:11:10,007.007 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:11:10
[2026-08-29 12:11:10,531.531 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:11:10,793.793 INFO    ] Initializing speech engine...
[2026-08-29 12:11:10,814.814 INFO    ] 2026-08-29 12:11:10
[2026-08-29 12:11:11,090.090 INFO    ] 2026-08-29 12:11:11
[2026-08-29 12:11:11,125.125 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:11:11,564.564 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:11:11,570.570 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:11:12,716.716 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:11:12,722.722 INFO    ] time= 29/08/2026 12:11:12
[2026-08-29 12:11:12,727.727 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:11:12,732.732 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:11:12,796.796 INFO    ] No existing commands found in stream
[2026-08-29 12:11:17,807.807 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:11:17,810.810 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-08-29 12:11:19,093.093 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:11:19,095.095 INFO    ] Checking for system updates...
[2026-08-29 12:11:19,115.115 INFO    ] 200
[2026-08-29 12:11:19,117.117 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:11:19,147.147 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:11:19,148.148 INFO    ] No update needed
[2026-08-29 12:11:19,150.150 INFO    ] Checking for camera pi updates...
[2026-08-29 12:11:19,169.169 INFO    ] 200
[2026-08-29 12:11:19,170.170 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:11:19,194.194 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:11:19,269.269 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:11:19,271.271 INFO    ] No camera update needed
[2026-08-29 12:11:19,272.272 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:11:19,273.273 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:11:19,277.277 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:11:19,280.280 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:11:21,319.319 INFO    ] ================================================
[2026-08-29 12:11:21,334.334 INFO    ] Launching Daemon at Sat Aug 29 12:11:21 IST 2026
[2026-08-29 12:11:21,345.345 INFO    ] ================================================
[2026-08-29 12:11:21,694.694 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:11:21
[2026-08-29 12:11:22,013.013 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:11:22,153.153 INFO    ] Initializing speech engine...
[2026-08-29 12:11:22,165.165 INFO    ] 2026-08-29 12:11:22
[2026-08-29 12:11:22,570.570 INFO    ] 2026-08-29 12:11:22
[2026-08-29 12:11:22,614.614 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:11:22,790.790 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:11:22,850.850 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:11:23,012.012 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:11:23,061.061 INFO    ] time= 29/08/2026 12:11:23
[2026-08-29 12:11:23,111.111 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:11:23,165.165 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:11:23,278.278 INFO    ] No existing commands found in stream
[2026-08-29 12:11:28,304.304 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:11:28,306.306 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-08-29 12:11:37,910.910 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:11:37,911.911 INFO    ] Checking for system updates...
[2026-08-29 12:11:37,932.932 INFO    ] 200
[2026-08-29 12:11:37,934.934 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:11:37,964.964 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:11:37,965.965 INFO    ] No update needed
[2026-08-29 12:11:37,966.966 INFO    ] Checking for camera pi updates...
[2026-08-29 12:11:37,985.985 INFO    ] 200
[2026-08-29 12:11:37,986.986 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:11:38,009.009 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:11:38,095.095 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:11:38,096.096 INFO    ] No camera update needed
[2026-08-29 12:11:38,097.097 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:11:38,099.099 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:11:38,101.101 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:11:38,104.104 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:11:40,143.143 INFO    ] ================================================
[2026-08-29 12:11:40,158.158 INFO    ] Launching Daemon at Sat Aug 29 12:11:40 IST 2026
[2026-08-29 12:11:40,169.169 INFO    ] ================================================
[2026-08-29 12:11:40,504.504 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:11:40
[2026-08-29 12:11:40,816.816 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:11:40,957.957 INFO    ] Initializing speech engine...
[2026-08-29 12:11:40,968.968 INFO    ] 2026-08-29 12:11:40
[2026-08-29 12:11:41,160.160 INFO    ] 2026-08-29 12:11:41
[2026-08-29 12:11:41,195.195 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:11:42,390.390 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:11:42,396.396 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:11:47,410.410 INFO    ] MachineMessageSender.__init__: Redis error: Timeout connecting to server
[2026-08-29 12:11:47,437.437 INFO    ] Exiting as MachineMessageSender redis not connected!!!
[2026-08-29 12:11:47,439.439 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:11:47,445.445 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:11:47,449.449 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:11:49,488.488 INFO    ] ================================================
[2026-08-29 12:11:49,503.503 INFO    ] Launching Daemon at Sat Aug 29 12:11:49 IST 2026
[2026-08-29 12:11:49,514.514 INFO    ] ================================================
[2026-08-29 12:11:49,867.867 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:11:49
[2026-08-29 12:11:50,180.180 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:11:50,316.316 INFO    ] Initializing speech engine...
[2026-08-29 12:11:50,327.327 INFO    ] 2026-08-29 12:11:50
[2026-08-29 12:11:50,608.608 INFO    ] 2026-08-29 12:11:50
[2026-08-29 12:11:50,635.635 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:11:50,785.785 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:11:50,822.822 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:11:51,176.176 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:11:51,186.186 INFO    ] time= 29/08/2026 12:11:51
[2026-08-29 12:11:51,212.212 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:11:51,219.219 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:11:51,573.573 INFO    ] No existing commands found in stream
[2026-08-29 12:11:56,604.604 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:11:56,607.607 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 12:12:01,564.564 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:12:01,565.565 INFO    ] Checking for system updates...
[2026-08-29 12:12:01,586.586 INFO    ] 200
[2026-08-29 12:12:01,587.587 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:12:01,649.649 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:12:01,653.653 INFO    ] No update needed
[2026-08-29 12:12:01,659.659 INFO    ] Checking for camera pi updates...
[2026-08-29 12:12:01,726.726 INFO    ] 200
[2026-08-29 12:12:01,730.730 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:12:01,804.804 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:12:02,016.016 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:12:02,019.019 INFO    ] No camera update needed
[2026-08-29 12:12:02,022.022 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:12:02,028.028 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:12:02,035.035 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:12:02,043.043 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:12:04,096.096 INFO    ] ================================================
[2026-08-29 12:12:04,111.111 INFO    ] Launching Daemon at Sat Aug 29 12:12:04 IST 2026
[2026-08-29 12:12:04,121.121 INFO    ] ================================================
[2026-08-29 12:12:04,622.622 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:12:04
[2026-08-29 12:12:04,936.936 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:12:05,079.079 INFO    ] Initializing speech engine...
[2026-08-29 12:12:05,089.089 INFO    ] 2026-08-29 12:12:05
[2026-08-29 12:12:05,301.301 INFO    ] 2026-08-29 12:12:05
[2026-08-29 12:12:05,339.339 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:12:08,619.619 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:12:08,620.620 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:12:09,999.999 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:12:10,002.002 INFO    ] time= 29/08/2026 12:12:10
[2026-08-29 12:12:10,005.005 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:12:10,008.008 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:12:10,047.047 INFO    ] No existing commands found in stream
[2026-08-29 12:12:15,057.057 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:12:15,060.060 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-08-29 12:12:16,507.507 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:12:16,508.508 INFO    ] Checking for system updates...
[2026-08-29 12:12:16,529.529 INFO    ] 200
[2026-08-29 12:12:16,531.531 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:12:16,560.560 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:12:16,562.562 INFO    ] No update needed
[2026-08-29 12:12:16,563.563 INFO    ] Checking for camera pi updates...
[2026-08-29 12:12:16,583.583 INFO    ] 200
[2026-08-29 12:12:16,584.584 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:12:16,607.607 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:12:16,684.684 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:12:16,686.686 INFO    ] No camera update needed
[2026-08-29 12:12:16,687.687 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:12:16,689.689 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:12:16,692.692 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:12:16,695.695 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:12:18,733.733 INFO    ] ================================================
[2026-08-29 12:12:18,749.749 INFO    ] Launching Daemon at Sat Aug 29 12:12:18 IST 2026
[2026-08-29 12:12:18,759.759 INFO    ] ================================================
[2026-08-29 12:12:19,108.108 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:12:19
[2026-08-29 12:12:19,466.466 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:12:19,721.721 INFO    ] Initializing speech engine...
[2026-08-29 12:12:19,729.729 INFO    ] 2026-08-29 12:12:19
[2026-08-29 12:12:20,020.020 INFO    ] 2026-08-29 12:12:19
[2026-08-29 12:12:20,059.059 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:12:20,255.255 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:12:20,259.259 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:12:21,958.958 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:12:21,962.962 INFO    ] time= 29/08/2026 12:12:21
[2026-08-29 12:12:22,006.006 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:12:22,023.023 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:12:22,330.330 INFO    ] No existing commands found in stream
[2026-08-29 12:12:27,355.355 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:12:27,358.358 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-08-29 12:12:31,720.720 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:12:31,724.724 INFO    ] Checking for system updates...
[2026-08-29 12:12:31,769.769 INFO    ] 200
[2026-08-29 12:12:31,772.772 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:12:31,837.837 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:12:31,840.840 INFO    ] No update needed
[2026-08-29 12:12:31,844.844 INFO    ] Checking for camera pi updates...
[2026-08-29 12:12:31,867.867 INFO    ] 200
[2026-08-29 12:12:31,868.868 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:12:31,911.911 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:12:31,989.989 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:12:31,992.992 INFO    ] No camera update needed
[2026-08-29 12:12:31,995.995 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:12:31,998.998 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:12:32,006.006 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:12:32,012.012 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:12:34,055.055 INFO    ] ================================================
[2026-08-29 12:12:34,070.070 INFO    ] Launching Daemon at Sat Aug 29 12:12:34 IST 2026
[2026-08-29 12:12:34,081.081 INFO    ] ================================================
[2026-08-29 12:12:34,651.651 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:12:34
[2026-08-29 12:12:35,130.130 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:12:35,263.263 INFO    ] Initializing speech engine...
[2026-08-29 12:12:35,267.267 INFO    ] 2026-08-29 12:12:35
[2026-08-29 12:12:35,494.494 INFO    ] 2026-08-29 12:12:35
[2026-08-29 12:12:35,583.583 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:12:35,755.755 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:12:35,764.764 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:12:36,895.895 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:12:36,898.898 INFO    ] time= 29/08/2026 12:12:36
[2026-08-29 12:12:36,901.901 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:12:36,961.961 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:12:37,018.018 INFO    ] No existing commands found in stream
[2026-08-29 12:12:42,029.029 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:12:42,032.032 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-08-29 12:12:45,979.979 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:12:45,980.980 INFO    ] Checking for system updates...
[2026-08-29 12:12:46,000.000 INFO    ] 200
[2026-08-29 12:12:46,002.002 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:12:46,032.032 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:12:46,033.033 INFO    ] No update needed
[2026-08-29 12:12:46,034.034 INFO    ] Checking for camera pi updates...
[2026-08-29 12:12:46,053.053 INFO    ] 200
[2026-08-29 12:12:46,055.055 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:12:46,078.078 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:12:46,176.176 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:12:46,177.177 INFO    ] No camera update needed
[2026-08-29 12:12:46,178.178 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:12:46,180.180 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:12:46,183.183 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:12:46,185.185 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:12:48,224.224 INFO    ] ================================================
[2026-08-29 12:12:48,239.239 INFO    ] Launching Daemon at Sat Aug 29 12:12:48 IST 2026
[2026-08-29 12:12:48,250.250 INFO    ] ================================================
[2026-08-29 12:12:48,599.599 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:12:48
[2026-08-29 12:12:48,932.932 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:12:49,072.072 INFO    ] Initializing speech engine...
[2026-08-29 12:12:49,084.084 INFO    ] 2026-08-29 12:12:49
[2026-08-29 12:12:49,295.295 INFO    ] 2026-08-29 12:12:49
[2026-08-29 12:12:49,325.325 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:12:52,785.785 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:12:52,788.788 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:12:52,882.882 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:12:52,885.885 INFO    ] time= 29/08/2026 12:12:52
[2026-08-29 12:12:52,888.888 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:12:52,891.891 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:12:52,953.953 INFO    ] No existing commands found in stream
[2026-08-29 12:12:57,963.963 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:12:57,967.967 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-08-29 12:13:02,036.036 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:13:02,039.039 INFO    ] Checking for system updates...
[2026-08-29 12:13:02,079.079 INFO    ] 200
[2026-08-29 12:13:02,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:13:02,148.148 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:13:02,151.151 INFO    ] No update needed
[2026-08-29 12:13:02,154.154 INFO    ] Checking for camera pi updates...
[2026-08-29 12:13:02,198.198 INFO    ] 200
[2026-08-29 12:13:02,202.202 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:13:02,264.264 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:13:02,349.349 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:13:02,353.353 INFO    ] No camera update needed
[2026-08-29 12:13:02,357.357 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:13:02,361.361 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:13:02,369.369 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:13:02,377.377 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:13:04,420.420 INFO    ] ================================================
[2026-08-29 12:13:04,435.435 INFO    ] Launching Daemon at Sat Aug 29 12:13:04 IST 2026
[2026-08-29 12:13:04,446.446 INFO    ] ================================================
[2026-08-29 12:13:04,845.845 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:13:04
[2026-08-29 12:13:05,158.158 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:13:05,310.310 INFO    ] Initializing speech engine...
[2026-08-29 12:13:05,317.317 INFO    ] 2026-08-29 12:13:05
[2026-08-29 12:13:05,523.523 INFO    ] 2026-08-29 12:13:05
[2026-08-29 12:13:05,553.553 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:13:05,677.677 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:13:05,714.714 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:13:05,870.870 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:13:05,930.930 INFO    ] time= 29/08/2026 12:13:05
[2026-08-29 12:13:05,995.995 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:13:06,010.010 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:13:06,365.365 INFO    ] No existing commands found in stream
[2026-08-29 12:13:11,389.389 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:13:11,392.392 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-08-29 12:13:15,268.268 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:13:15,269.269 INFO    ] Checking for system updates...
[2026-08-29 12:13:15,290.290 INFO    ] 200
[2026-08-29 12:13:15,291.291 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:13:15,321.321 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:13:15,322.322 INFO    ] No update needed
[2026-08-29 12:13:15,323.323 INFO    ] Checking for camera pi updates...
[2026-08-29 12:13:15,343.343 INFO    ] 200
[2026-08-29 12:13:15,344.344 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:13:15,367.367 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:13:15,464.464 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:13:15,466.466 INFO    ] No camera update needed
[2026-08-29 12:13:15,467.467 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:13:15,468.468 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:13:15,471.471 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:13:15,474.474 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:13:17,515.515 INFO    ] ================================================
[2026-08-29 12:13:17,530.530 INFO    ] Launching Daemon at Sat Aug 29 12:13:17 IST 2026
[2026-08-29 12:13:17,541.541 INFO    ] ================================================
[2026-08-29 12:13:17,879.879 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:13:17
[2026-08-29 12:13:18,191.191 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:13:18,333.333 INFO    ] Initializing speech engine...
[2026-08-29 12:13:18,338.338 INFO    ] 2026-08-29 12:13:18
[2026-08-29 12:13:18,538.538 INFO    ] 2026-08-29 12:13:18
[2026-08-29 12:13:18,616.616 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:13:18,768.768 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:13:18,772.772 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:13:18,912.912 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:13:18,977.977 INFO    ] time= 29/08/2026 12:13:18
[2026-08-29 12:13:19,033.033 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:13:19,040.040 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:13:19,169.169 INFO    ] No existing commands found in stream
[2026-08-29 12:13:24,195.195 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:13:24,198.198 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-08-29 12:13:28,188.188 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:13:28,190.190 INFO    ] Checking for system updates...
[2026-08-29 12:13:28,210.210 INFO    ] 200
[2026-08-29 12:13:28,211.211 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:13:28,241.241 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:13:28,243.243 INFO    ] No update needed
[2026-08-29 12:13:28,244.244 INFO    ] Checking for camera pi updates...
[2026-08-29 12:13:28,264.264 INFO    ] 200
[2026-08-29 12:13:28,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:13:28,287.287 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:13:28,368.368 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:13:28,370.370 INFO    ] No camera update needed
[2026-08-29 12:13:28,371.371 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:13:28,372.372 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:13:28,375.375 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:13:28,378.378 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:13:30,418.418 INFO    ] ================================================
[2026-08-29 12:13:30,433.433 INFO    ] Launching Daemon at Sat Aug 29 12:13:30 IST 2026
[2026-08-29 12:13:30,444.444 INFO    ] ================================================
[2026-08-29 12:13:30,969.969 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:13:30
[2026-08-29 12:13:31,563.563 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:13:31,873.873 INFO    ] Initializing speech engine...
[2026-08-29 12:13:31,884.884 INFO    ] 2026-08-29 12:13:31
[2026-08-29 12:13:32,150.150 INFO    ] 2026-08-29 12:13:32
[2026-08-29 12:13:32,189.189 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:13:33,489.489 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:13:33,515.515 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:13:33,895.895 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:13:33,898.898 INFO    ] time= 29/08/2026 12:13:33
[2026-08-29 12:13:33,925.925 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:13:33,928.928 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:13:33,998.998 INFO    ] No existing commands found in stream
[2026-08-29 12:13:39,009.009 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:13:39,012.012 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-08-29 12:13:50,455.455 INFO    ] <class 'urllib3.exceptions.MaxRetryError'>
[2026-08-29 12:13:50,483.483 INFO    ] ("HTTPSConnectionPool(host='neuustore.com', port=443): Max retries exceeded with url: /tm/process-order/getorder/TM07201911 (Caused by ConnectTimeoutError(<urllib3.connection.VerifiedHTTPSConnection object at 0x73d515d0>, 'Connection to neuustore.com timed out. (connect timeout=5)'))",)
[2026-08-29 12:13:50,493.493 INFO    ] HTTPSConnectionPool(host='neuustore.com', port=443): Max retries exceeded with url: /tm/process-order/getorder/TM07201911 (Caused by ConnectTimeoutError(<urllib3.connection.VerifiedHTTPSConnection object at 0x73d515d0>, 'Connection to neuustore.com timed out. (connect timeout=5)'))
[2026-08-29 12:13:50,503.503 INFO    ] None
[2026-08-29 12:13:50,506.506 INFO    ] Checking for system updates...
[2026-08-29 12:13:50,548.548 INFO    ] 200
[2026-08-29 12:13:50,550.550 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:13:50,581.581 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:13:50,582.582 INFO    ] No update needed
[2026-08-29 12:13:50,584.584 INFO    ] Checking for camera pi updates...
[2026-08-29 12:13:50,603.603 INFO    ] 200
[2026-08-29 12:13:50,604.604 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:13:50,629.629 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:13:50,718.718 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:13:50,720.720 INFO    ] No camera update needed
[2026-08-29 12:13:50,721.721 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:13:50,722.722 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:13:50,725.725 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:13:50,727.727 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:13:52,768.768 INFO    ] ================================================
[2026-08-29 12:13:52,785.785 INFO    ] Launching Daemon at Sat Aug 29 12:13:52 IST 2026
[2026-08-29 12:13:52,798.798 INFO    ] ================================================
[2026-08-29 12:13:53,153.153 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:13:53
[2026-08-29 12:13:53,465.465 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:13:53,717.717 INFO    ] Initializing speech engine...
[2026-08-29 12:13:53,740.740 INFO    ] 2026-08-29 12:13:53
[2026-08-29 12:13:53,995.995 INFO    ] 2026-08-29 12:13:53
[2026-08-29 12:13:54,030.030 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:13:54,207.207 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:13:54,219.219 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:13:55,660.660 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:13:55,695.695 INFO    ] time= 29/08/2026 12:13:55
[2026-08-29 12:13:55,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:13:55,734.734 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:13:55,805.805 INFO    ] No existing commands found in stream
[2026-08-29 12:14:00,816.816 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:14:00,819.819 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-08-29 12:14:03,968.968 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:14:03,971.971 INFO    ] Checking for system updates...
[2026-08-29 12:14:04,007.007 INFO    ] 200
[2026-08-29 12:14:04,009.009 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:14:04,061.061 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:14:04,063.063 INFO    ] No update needed
[2026-08-29 12:14:04,066.066 INFO    ] Checking for camera pi updates...
[2026-08-29 12:14:04,100.100 INFO    ] 200
[2026-08-29 12:14:04,102.102 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:14:04,148.148 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:14:04,234.234 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:14:04,236.236 INFO    ] No camera update needed
[2026-08-29 12:14:04,238.238 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:14:04,240.240 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:14:04,246.246 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:14:04,250.250 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:14:06,292.292 INFO    ] ================================================
[2026-08-29 12:14:06,307.307 INFO    ] Launching Daemon at Sat Aug 29 12:14:06 IST 2026
[2026-08-29 12:14:06,318.318 INFO    ] ================================================
[2026-08-29 12:14:06,780.780 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:14:06
[2026-08-29 12:14:07,365.365 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:14:07,615.615 INFO    ] Initializing speech engine...
[2026-08-29 12:14:07,628.628 INFO    ] 2026-08-29 12:14:07
[2026-08-29 12:14:07,895.895 INFO    ] 2026-08-29 12:14:07
[2026-08-29 12:14:07,930.930 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:14:09,188.188 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:14:09,239.239 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:14:09,342.342 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:14:09,349.349 INFO    ] time= 29/08/2026 12:14:09
[2026-08-29 12:14:09,355.355 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:14:09,360.360 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:14:09,419.419 INFO    ] No existing commands found in stream
[2026-08-29 12:14:14,431.431 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:14:14,435.435 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-08-29 12:14:19,397.397 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:14:19,400.400 INFO    ] Checking for system updates...
[2026-08-29 12:14:19,437.437 INFO    ] 200
[2026-08-29 12:14:19,439.439 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:14:19,492.492 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:14:19,495.495 INFO    ] No update needed
[2026-08-29 12:14:19,498.498 INFO    ] Checking for camera pi updates...
[2026-08-29 12:14:19,533.533 INFO    ] 200
[2026-08-29 12:14:19,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:14:19,576.576 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:14:19,657.657 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:14:19,659.659 INFO    ] No camera update needed
[2026-08-29 12:14:19,662.662 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:14:19,664.664 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:14:19,669.669 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:14:19,674.674 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:14:21,716.716 INFO    ] ================================================
[2026-08-29 12:14:21,731.731 INFO    ] Launching Daemon at Sat Aug 29 12:14:21 IST 2026
[2026-08-29 12:14:21,741.741 INFO    ] ================================================
[2026-08-29 12:14:22,083.083 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:14:22
[2026-08-29 12:14:22,400.400 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:14:22,542.542 INFO    ] Initializing speech engine...
[2026-08-29 12:14:22,547.547 INFO    ] 2026-08-29 12:14:22
[2026-08-29 12:14:22,784.784 INFO    ] 2026-08-29 12:14:22
[2026-08-29 12:14:22,844.844 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:14:24,301.301 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:14:24,307.307 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:14:25,465.465 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:14:25,468.468 INFO    ] time= 29/08/2026 12:14:25
[2026-08-29 12:14:25,470.470 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:14:25,472.472 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:14:25,520.520 INFO    ] No existing commands found in stream
[2026-08-29 12:14:30,529.529 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:14:30,532.532 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-08-29 12:14:33,404.404 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:14:33,407.407 INFO    ] Checking for system updates...
[2026-08-29 12:14:33,443.443 INFO    ] 200
[2026-08-29 12:14:33,445.445 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:14:33,497.497 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:14:33,500.500 INFO    ] No update needed
[2026-08-29 12:14:33,502.502 INFO    ] Checking for camera pi updates...
[2026-08-29 12:14:33,536.536 INFO    ] 200
[2026-08-29 12:14:33,539.539 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:14:33,580.580 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:14:33,664.664 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:14:33,666.666 INFO    ] No camera update needed
[2026-08-29 12:14:33,668.668 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:14:33,671.671 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:14:33,676.676 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:14:33,681.681 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:14:35,723.723 INFO    ] ================================================
[2026-08-29 12:14:35,738.738 INFO    ] Launching Daemon at Sat Aug 29 12:14:35 IST 2026
[2026-08-29 12:14:35,748.748 INFO    ] ================================================
[2026-08-29 12:14:36,101.101 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:14:36
[2026-08-29 12:14:36,416.416 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:14:36,561.561 INFO    ] Initializing speech engine...
[2026-08-29 12:14:36,566.566 INFO    ] 2026-08-29 12:14:36
[2026-08-29 12:14:36,769.769 INFO    ] 2026-08-29 12:14:36
[2026-08-29 12:14:36,797.797 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:14:38,265.265 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:14:38,273.273 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:14:43,307.307 INFO    ] MachineMessageSender.__init__: Redis error: Timeout connecting to server
[2026-08-29 12:14:43,334.334 INFO    ] Exiting as MachineMessageSender redis not connected!!!
[2026-08-29 12:14:43,337.337 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:14:43,342.342 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:14:43,347.347 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:14:45,387.387 INFO    ] ================================================
[2026-08-29 12:14:45,403.403 INFO    ] Launching Daemon at Sat Aug 29 12:14:45 IST 2026
[2026-08-29 12:14:45,413.413 INFO    ] ================================================
[2026-08-29 12:14:45,758.758 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:14:45
[2026-08-29 12:14:46,073.073 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:14:46,216.216 INFO    ] Initializing speech engine...
[2026-08-29 12:14:46,221.221 INFO    ] 2026-08-29 12:14:46
[2026-08-29 12:14:46,428.428 INFO    ] 2026-08-29 12:14:46
[2026-08-29 12:14:46,457.457 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:14:46,631.631 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:14:46,639.639 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:14:46,771.771 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:14:46,787.787 INFO    ] time= 29/08/2026 12:14:46
[2026-08-29 12:14:46,811.811 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:14:46,824.824 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:14:46,923.923 INFO    ] No existing commands found in stream
[2026-08-29 12:14:51,938.938 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:14:51,941.941 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 12:14:53,412.412 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:14:53,414.414 INFO    ] Checking for system updates...
[2026-08-29 12:14:53,448.448 INFO    ] 200
[2026-08-29 12:14:53,450.450 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:14:53,503.503 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:14:53,506.506 INFO    ] No update needed
[2026-08-29 12:14:53,508.508 INFO    ] Checking for camera pi updates...
[2026-08-29 12:14:53,533.533 INFO    ] 200
[2026-08-29 12:14:53,535.535 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:14:53,558.558 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:14:53,628.628 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:14:53,630.630 INFO    ] No camera update needed
[2026-08-29 12:14:53,631.631 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:14:53,632.632 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:14:53,635.635 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:14:53,638.638 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:14:55,677.677 INFO    ] ================================================
[2026-08-29 12:14:55,692.692 INFO    ] Launching Daemon at Sat Aug 29 12:14:55 IST 2026
[2026-08-29 12:14:55,702.702 INFO    ] ================================================
[2026-08-29 12:14:56,260.260 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:14:56
[2026-08-29 12:14:56,935.935 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:14:57,242.242 INFO    ] Initializing speech engine...
[2026-08-29 12:14:57,251.251 INFO    ] 2026-08-29 12:14:57
[2026-08-29 12:14:57,533.533 INFO    ] 2026-08-29 12:14:57
[2026-08-29 12:14:57,590.590 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:15:01,382.382 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:15:01,385.385 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:15:01,739.739 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:15:01,743.743 INFO    ] time= 29/08/2026 12:15:01
[2026-08-29 12:15:01,745.745 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:15:01,748.748 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:15:01,798.798 INFO    ] No existing commands found in stream
[2026-08-29 12:15:06,807.807 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:15:06,810.810 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 12:15:09,365.365 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:15:09,366.366 INFO    ] Checking for system updates...
[2026-08-29 12:15:09,391.391 INFO    ] 200
[2026-08-29 12:15:09,392.392 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:15:09,482.482 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:15:09,485.485 INFO    ] No update needed
[2026-08-29 12:15:09,487.487 INFO    ] Checking for camera pi updates...
[2026-08-29 12:15:09,522.522 INFO    ] 200
[2026-08-29 12:15:09,525.525 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:15:09,571.571 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:15:09,650.650 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:15:09,653.653 INFO    ] No camera update needed
[2026-08-29 12:15:09,656.656 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:15:09,658.658 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:15:09,664.664 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:15:09,670.670 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:15:11,711.711 INFO    ] ================================================
[2026-08-29 12:15:11,726.726 INFO    ] Launching Daemon at Sat Aug 29 12:15:11 IST 2026
[2026-08-29 12:15:11,737.737 INFO    ] ================================================
[2026-08-29 12:15:12,305.305 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:15:12
[2026-08-29 12:15:12,728.728 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:15:12,872.872 INFO    ] Initializing speech engine...
[2026-08-29 12:15:12,877.877 INFO    ] 2026-08-29 12:15:12
[2026-08-29 12:15:13,084.084 INFO    ] 2026-08-29 12:15:13
[2026-08-29 12:15:13,113.113 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:15:13,476.476 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:15:13,497.497 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:15:13,889.889 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:15:13,936.936 INFO    ] time= 29/08/2026 12:15:13
[2026-08-29 12:15:13,980.980 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:15:13,986.986 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:15:14,367.367 INFO    ] No existing commands found in stream
[2026-08-29 12:15:19,392.392 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:15:19,395.395 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-08-29 12:15:23,705.705 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:15:23,708.708 INFO    ] Checking for system updates...
[2026-08-29 12:15:23,745.745 INFO    ] 200
[2026-08-29 12:15:23,748.748 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:15:23,802.802 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:15:23,805.805 INFO    ] No update needed
[2026-08-29 12:15:23,807.807 INFO    ] Checking for camera pi updates...
[2026-08-29 12:15:23,845.845 INFO    ] 200
[2026-08-29 12:15:23,848.848 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:15:23,889.889 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:15:24,094.094 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:15:24,097.097 INFO    ] No camera update needed
[2026-08-29 12:15:24,099.099 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:15:24,102.102 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:15:24,108.108 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:15:24,114.114 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:15:26,160.160 INFO    ] ================================================
[2026-08-29 12:15:26,175.175 INFO    ] Launching Daemon at Sat Aug 29 12:15:26 IST 2026
[2026-08-29 12:15:26,186.186 INFO    ] ================================================
[2026-08-29 12:15:26,653.653 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:15:26
[2026-08-29 12:15:27,239.239 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:15:27,529.529 INFO    ] Initializing speech engine...
[2026-08-29 12:15:27,540.540 INFO    ] 2026-08-29 12:15:27
[2026-08-29 12:15:27,823.823 INFO    ] 2026-08-29 12:15:27
[2026-08-29 12:15:27,882.882 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:15:28,329.329 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:15:28,381.381 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:15:28,534.534 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:15:28,573.573 INFO    ] time= 29/08/2026 12:15:28
[2026-08-29 12:15:28,629.629 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:15:28,660.660 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:15:28,738.738 INFO    ] No existing commands found in stream
[2026-08-29 12:15:33,749.749 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:15:33,752.752 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-08-29 12:15:37,749.749 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:15:37,751.751 INFO    ] Checking for system updates...
[2026-08-29 12:15:37,771.771 INFO    ] 200
[2026-08-29 12:15:37,773.773 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:15:37,804.804 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:15:37,805.805 INFO    ] No update needed
[2026-08-29 12:15:37,807.807 INFO    ] Checking for camera pi updates...
[2026-08-29 12:15:37,826.826 INFO    ] 200
[2026-08-29 12:15:37,827.827 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:15:37,852.852 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:15:37,945.945 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:15:37,946.946 INFO    ] No camera update needed
[2026-08-29 12:15:37,950.950 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:15:37,952.952 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:15:37,955.955 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:15:37,958.958 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:15:40,998.998 INFO    ] ================================================
[2026-08-29 12:15:40,013.013 INFO    ] Launching Daemon at Sat Aug 29 12:15:40 IST 2026
[2026-08-29 12:15:40,025.025 INFO    ] ================================================
[2026-08-29 12:15:40,617.617 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:15:40
[2026-08-29 12:15:41,296.296 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:15:41,598.598 INFO    ] Initializing speech engine...
[2026-08-29 12:15:41,605.605 INFO    ] 2026-08-29 12:15:41
[2026-08-29 12:15:41,864.864 INFO    ] 2026-08-29 12:15:41
[2026-08-29 12:15:41,917.917 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:15:42,372.372 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:15:42,392.392 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:15:42,541.541 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:15:42,572.572 INFO    ] time= 29/08/2026 12:15:42
[2026-08-29 12:15:42,626.626 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:15:42,652.652 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:15:43,019.019 INFO    ] No existing commands found in stream
[2026-08-29 12:15:48,029.029 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:15:48,032.032 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-08-29 12:15:51,337.337 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:15:51,338.338 INFO    ] Checking for system updates...
[2026-08-29 12:15:51,359.359 INFO    ] 200
[2026-08-29 12:15:51,360.360 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:15:51,390.390 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:15:51,391.391 INFO    ] No update needed
[2026-08-29 12:15:51,392.392 INFO    ] Checking for camera pi updates...
[2026-08-29 12:15:51,413.413 INFO    ] 200
[2026-08-29 12:15:51,414.414 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:15:51,437.437 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:15:51,512.512 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:15:51,513.513 INFO    ] No camera update needed
[2026-08-29 12:15:51,514.514 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:15:51,516.516 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:15:51,519.519 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:15:51,521.521 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:15:53,561.561 INFO    ] ================================================
[2026-08-29 12:15:53,577.577 INFO    ] Launching Daemon at Sat Aug 29 12:15:53 IST 2026
[2026-08-29 12:15:53,587.587 INFO    ] ================================================
[2026-08-29 12:15:54,157.157 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:15:54
[2026-08-29 12:15:54,740.740 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:15:55,012.012 INFO    ] Initializing speech engine...
[2026-08-29 12:15:55,021.021 INFO    ] 2026-08-29 12:15:55
[2026-08-29 12:15:55,271.271 INFO    ] 2026-08-29 12:15:55
[2026-08-29 12:15:55,306.306 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:15:55,482.482 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:15:55,494.494 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:15:55,639.639 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:15:55,647.647 INFO    ] time= 29/08/2026 12:15:55
[2026-08-29 12:15:55,650.650 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:15:55,656.656 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:15:55,722.722 INFO    ] No existing commands found in stream
[2026-08-29 12:16:00,735.735 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:16:00,737.737 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-08-29 12:16:02,955.955 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:16:02,957.957 INFO    ] Checking for system updates...
[2026-08-29 12:16:02,994.994 INFO    ] 200
[2026-08-29 12:16:02,997.997 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:16:03,050.050 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:16:03,053.053 INFO    ] No update needed
[2026-08-29 12:16:03,055.055 INFO    ] Checking for camera pi updates...
[2026-08-29 12:16:03,089.089 INFO    ] 200
[2026-08-29 12:16:03,092.092 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:16:03,132.132 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:16:03,232.232 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:16:03,235.235 INFO    ] No camera update needed
[2026-08-29 12:16:03,237.237 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:16:03,239.239 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:16:03,244.244 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:16:03,249.249 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:16:05,292.292 INFO    ] ================================================
[2026-08-29 12:16:05,308.308 INFO    ] Launching Daemon at Sat Aug 29 12:16:05 IST 2026
[2026-08-29 12:16:05,319.319 INFO    ] ================================================
[2026-08-29 12:16:05,896.896 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:16:05
[2026-08-29 12:16:06,482.482 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:16:06,740.740 INFO    ] Initializing speech engine...
[2026-08-29 12:16:06,749.749 INFO    ] 2026-08-29 12:16:06
[2026-08-29 12:16:07,050.050 INFO    ] 2026-08-29 12:16:07
[2026-08-29 12:16:07,076.076 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:16:07,239.239 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:16:07,246.246 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:16:07,377.377 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:16:07,386.386 INFO    ] time= 29/08/2026 12:16:07
[2026-08-29 12:16:07,392.392 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:16:07,411.411 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:16:07,770.770 INFO    ] No existing commands found in stream
[2026-08-29 12:16:12,803.803 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:16:12,806.806 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 12:16:14,098.098 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:16:14,101.101 INFO    ] Checking for system updates...
[2026-08-29 12:16:14,137.137 INFO    ] 200
[2026-08-29 12:16:14,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:16:14,192.192 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:16:14,194.194 INFO    ] No update needed
[2026-08-29 12:16:14,197.197 INFO    ] Checking for camera pi updates...
[2026-08-29 12:16:14,235.235 INFO    ] 200
[2026-08-29 12:16:14,237.237 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:16:14,262.262 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:16:14,343.343 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:16:14,344.344 INFO    ] No camera update needed
[2026-08-29 12:16:14,346.346 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:16:14,347.347 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:16:14,349.349 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:16:14,352.352 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:16:16,391.391 INFO    ] ================================================
[2026-08-29 12:16:16,406.406 INFO    ] Launching Daemon at Sat Aug 29 12:16:16 IST 2026
[2026-08-29 12:16:16,417.417 INFO    ] ================================================
[2026-08-29 12:16:16,989.989 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:16:16
[2026-08-29 12:16:17,576.576 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:16:17,827.827 INFO    ] Initializing speech engine...
[2026-08-29 12:16:17,832.832 INFO    ] 2026-08-29 12:16:17
[2026-08-29 12:16:18,039.039 INFO    ] 2026-08-29 12:16:18
[2026-08-29 12:16:18,067.067 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:16:18,202.202 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:16:18,209.209 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:16:18,392.392 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:16:18,415.415 INFO    ] time= 29/08/2026 12:16:18
[2026-08-29 12:16:18,421.421 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:16:18,443.443 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:16:18,785.785 INFO    ] No existing commands found in stream
[2026-08-29 12:16:23,810.810 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:16:23,813.813 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-08-29 12:16:25,732.732 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:16:25,735.735 INFO    ] Checking for system updates...
[2026-08-29 12:16:25,771.771 INFO    ] 200
[2026-08-29 12:16:25,773.773 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:16:25,838.838 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:16:25,840.840 INFO    ] No update needed
[2026-08-29 12:16:25,843.843 INFO    ] Checking for camera pi updates...
[2026-08-29 12:16:25,870.870 INFO    ] 200
[2026-08-29 12:16:25,872.872 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:16:25,897.897 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:16:25,975.975 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:16:25,977.977 INFO    ] No camera update needed
[2026-08-29 12:16:25,978.978 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:16:25,979.979 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:16:25,982.982 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:16:25,985.985 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:16:28,024.024 INFO    ] ================================================
[2026-08-29 12:16:28,039.039 INFO    ] Launching Daemon at Sat Aug 29 12:16:28 IST 2026
[2026-08-29 12:16:28,050.050 INFO    ] ================================================
[2026-08-29 12:16:28,422.422 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:16:28
[2026-08-29 12:16:28,870.870 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:16:29,135.135 INFO    ] Initializing speech engine...
[2026-08-29 12:16:29,150.150 INFO    ] 2026-08-29 12:16:29
[2026-08-29 12:16:29,441.441 INFO    ] 2026-08-29 12:16:29
[2026-08-29 12:16:29,479.479 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:16:30,156.156 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:16:30,159.159 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:16:30,584.584 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:16:30,595.595 INFO    ] time= 29/08/2026 12:16:30
[2026-08-29 12:16:30,602.602 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:16:30,640.640 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:16:30,970.970 INFO    ] No existing commands found in stream
[2026-08-29 12:16:35,980.980 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:16:35,983.983 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-08-29 12:16:36,861.861 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:16:36,862.862 INFO    ] Checking for system updates...
[2026-08-29 12:16:36,883.883 INFO    ] 200
[2026-08-29 12:16:36,884.884 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:16:36,917.917 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:16:36,919.919 INFO    ] No update needed
[2026-08-29 12:16:36,920.920 INFO    ] Checking for camera pi updates...
[2026-08-29 12:16:36,939.939 INFO    ] 200
[2026-08-29 12:16:36,941.941 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:16:36,963.963 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:16:37,047.047 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:16:37,048.048 INFO    ] No camera update needed
[2026-08-29 12:16:37,049.049 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:16:37,050.050 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:16:37,053.053 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:16:37,056.056 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:16:39,094.094 INFO    ] ================================================
[2026-08-29 12:16:39,109.109 INFO    ] Launching Daemon at Sat Aug 29 12:16:39 IST 2026
[2026-08-29 12:16:39,120.120 INFO    ] ================================================
[2026-08-29 12:16:39,519.519 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:16:39
[2026-08-29 12:16:39,863.863 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:16:40,009.009 INFO    ] Initializing speech engine...
[2026-08-29 12:16:40,020.020 INFO    ] 2026-08-29 12:16:40
[2026-08-29 12:16:40,231.231 INFO    ] 2026-08-29 12:16:40
[2026-08-29 12:16:40,260.260 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:16:40,891.891 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:16:40,894.894 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:16:41,252.252 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:16:41,258.258 INFO    ] time= 29/08/2026 12:16:41
[2026-08-29 12:16:41,262.262 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:16:41,276.276 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:16:41,326.326 INFO    ] No existing commands found in stream
[2026-08-29 12:16:46,341.341 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:16:46,345.345 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 12:16:50,149.149 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:16:50,152.152 INFO    ] Checking for system updates...
[2026-08-29 12:16:50,194.194 INFO    ] 200
[2026-08-29 12:16:50,197.197 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:16:50,240.240 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:16:50,241.241 INFO    ] No update needed
[2026-08-29 12:16:50,243.243 INFO    ] Checking for camera pi updates...
[2026-08-29 12:16:50,263.263 INFO    ] 200
[2026-08-29 12:16:50,264.264 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:16:50,287.287 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:16:50,374.374 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:16:50,376.376 INFO    ] No camera update needed
[2026-08-29 12:16:50,377.377 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:16:50,378.378 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:16:50,382.382 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:16:50,385.385 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:16:52,424.424 INFO    ] ================================================
[2026-08-29 12:16:52,439.439 INFO    ] Launching Daemon at Sat Aug 29 12:16:52 IST 2026
[2026-08-29 12:16:52,451.451 INFO    ] ================================================
[2026-08-29 12:16:52,806.806 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:16:52
[2026-08-29 12:16:53,149.149 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:16:53,303.303 INFO    ] Initializing speech engine...
[2026-08-29 12:16:53,308.308 INFO    ] 2026-08-29 12:16:53
[2026-08-29 12:16:53,516.516 INFO    ] 2026-08-29 12:16:53
[2026-08-29 12:16:53,544.544 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:16:53,677.677 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:16:53,730.730 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:16:54,871.871 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:16:54,878.878 INFO    ] time= 29/08/2026 12:16:54
[2026-08-29 12:16:54,882.882 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:16:54,889.889 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:16:54,953.953 INFO    ] No existing commands found in stream
[2026-08-29 12:16:59,964.964 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:16:59,967.967 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 12:17:02,590.590 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:17:02,593.593 INFO    ] Checking for system updates...
[2026-08-29 12:17:02,639.639 INFO    ] 200
[2026-08-29 12:17:02,643.643 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:17:02,707.707 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:17:02,711.711 INFO    ] No update needed
[2026-08-29 12:17:02,715.715 INFO    ] Checking for camera pi updates...
[2026-08-29 12:17:02,757.757 INFO    ] 200
[2026-08-29 12:17:02,760.760 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:17:02,809.809 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:17:02,892.892 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:17:02,895.895 INFO    ] No camera update needed
[2026-08-29 12:17:02,899.899 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:17:02,902.902 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:17:02,910.910 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:17:02,916.916 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:17:04,960.960 INFO    ] ================================================
[2026-08-29 12:17:04,978.978 INFO    ] Launching Daemon at Sat Aug 29 12:17:04 IST 2026
[2026-08-29 12:17:04,989.989 INFO    ] ================================================
[2026-08-29 12:17:05,352.352 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:17:05
[2026-08-29 12:17:05,664.664 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:17:05,798.798 INFO    ] Initializing speech engine...
[2026-08-29 12:17:05,803.803 INFO    ] 2026-08-29 12:17:05
[2026-08-29 12:17:06,006.006 INFO    ] 2026-08-29 12:17:05
[2026-08-29 12:17:06,041.041 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:17:06,206.206 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:17:06,212.212 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:17:06,377.377 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:17:06,384.384 INFO    ] time= 29/08/2026 12:17:06
[2026-08-29 12:17:06,402.402 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:17:06,412.412 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:17:06,783.783 INFO    ] No existing commands found in stream
[2026-08-29 12:17:11,814.814 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:17:11,816.816 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-08-29 12:17:16,280.280 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:17:16,282.282 INFO    ] Checking for system updates...
[2026-08-29 12:17:16,302.302 INFO    ] 200
[2026-08-29 12:17:16,303.303 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:17:16,333.333 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:17:16,335.335 INFO    ] No update needed
[2026-08-29 12:17:16,336.336 INFO    ] Checking for camera pi updates...
[2026-08-29 12:17:16,358.358 INFO    ] 200
[2026-08-29 12:17:16,359.359 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:17:16,390.390 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:17:16,469.469 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:17:16,471.471 INFO    ] No camera update needed
[2026-08-29 12:17:16,474.474 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:17:16,477.477 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:17:16,483.483 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:17:16,489.489 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:17:18,529.529 INFO    ] ================================================
[2026-08-29 12:17:18,544.544 INFO    ] Launching Daemon at Sat Aug 29 12:17:18 IST 2026
[2026-08-29 12:17:18,555.555 INFO    ] ================================================
[2026-08-29 12:17:19,133.133 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:17:19
[2026-08-29 12:17:19,538.538 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:17:19,709.709 INFO    ] Initializing speech engine...
[2026-08-29 12:17:19,717.717 INFO    ] 2026-08-29 12:17:19
[2026-08-29 12:17:20,020.020 INFO    ] 2026-08-29 12:17:19
[2026-08-29 12:17:20,059.059 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:17:20,496.496 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:17:20,551.551 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:17:22,041.041 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:17:22,069.069 INFO    ] time= 29/08/2026 12:17:22
[2026-08-29 12:17:22,076.076 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:17:22,081.081 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:17:22,419.419 INFO    ] No existing commands found in stream
[2026-08-29 12:17:27,449.449 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:17:27,451.451 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-08-29 12:17:29,122.122 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:17:29,125.125 INFO    ] Checking for system updates...
[2026-08-29 12:17:29,160.160 INFO    ] 200
[2026-08-29 12:17:29,163.163 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:17:29,215.215 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:17:29,217.217 INFO    ] No update needed
[2026-08-29 12:17:29,220.220 INFO    ] Checking for camera pi updates...
[2026-08-29 12:17:29,257.257 INFO    ] 200
[2026-08-29 12:17:29,259.259 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:17:29,299.299 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:17:29,471.471 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:17:29,474.474 INFO    ] No camera update needed
[2026-08-29 12:17:29,476.476 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:17:29,478.478 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:17:29,484.484 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:17:29,488.488 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:17:31,530.530 INFO    ] ================================================
[2026-08-29 12:17:31,547.547 INFO    ] Launching Daemon at Sat Aug 29 12:17:31 IST 2026
[2026-08-29 12:17:31,558.558 INFO    ] ================================================
[2026-08-29 12:17:32,175.175 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:17:32
[2026-08-29 12:17:32,821.821 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:17:33,112.112 INFO    ] Initializing speech engine...
[2026-08-29 12:17:33,117.117 INFO    ] 2026-08-29 12:17:33
[2026-08-29 12:17:33,398.398 INFO    ] 2026-08-29 12:17:33
[2026-08-29 12:17:33,433.433 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:17:34,685.685 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:17:34,726.726 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:17:35,935.935 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:17:35,943.943 INFO    ] time= 29/08/2026 12:17:35
[2026-08-29 12:17:35,967.967 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:17:35,973.973 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:17:36,036.036 INFO    ] No existing commands found in stream
[2026-08-29 12:17:41,047.047 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:17:41,049.049 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-08-29 12:17:44,459.459 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:17:44,460.460 INFO    ] Checking for system updates...
[2026-08-29 12:17:44,481.481 INFO    ] 200
[2026-08-29 12:17:44,482.482 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:17:44,512.512 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:17:44,513.513 INFO    ] No update needed
[2026-08-29 12:17:44,515.515 INFO    ] Checking for camera pi updates...
[2026-08-29 12:17:44,533.533 INFO    ] 200
[2026-08-29 12:17:44,535.535 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:17:44,557.557 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:17:44,637.637 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:17:44,638.638 INFO    ] No camera update needed
[2026-08-29 12:17:44,639.639 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:17:44,641.641 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:17:44,644.644 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:17:44,646.646 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:17:46,687.687 INFO    ] ================================================
[2026-08-29 12:17:46,702.702 INFO    ] Launching Daemon at Sat Aug 29 12:17:46 IST 2026
[2026-08-29 12:17:46,713.713 INFO    ] ================================================
[2026-08-29 12:17:47,039.039 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:17:47
[2026-08-29 12:17:47,356.356 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:17:47,500.500 INFO    ] Initializing speech engine...
[2026-08-29 12:17:47,506.506 INFO    ] 2026-08-29 12:17:47
[2026-08-29 12:17:47,708.708 INFO    ] 2026-08-29 12:17:47
[2026-08-29 12:17:47,737.737 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:17:47,921.921 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:17:47,931.931 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:17:48,059.059 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:17:48,123.123 INFO    ] time= 29/08/2026 12:17:48
[2026-08-29 12:17:48,150.150 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:17:48,157.157 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:17:48,504.504 INFO    ] No existing commands found in stream
[2026-08-29 12:17:53,516.516 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:17:53,518.518 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-08-29 12:18:03,282.282 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:18:03,285.285 INFO    ] Checking for system updates...
[2026-08-29 12:18:03,321.321 INFO    ] 200
[2026-08-29 12:18:03,323.323 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:18:03,383.383 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:18:03,386.386 INFO    ] No update needed
[2026-08-29 12:18:03,388.388 INFO    ] Checking for camera pi updates...
[2026-08-29 12:18:03,422.422 INFO    ] 200
[2026-08-29 12:18:03,425.425 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:18:03,470.470 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:18:03,552.552 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:18:03,555.555 INFO    ] No camera update needed
[2026-08-29 12:18:03,557.557 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:18:03,559.559 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:18:03,565.565 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:18:03,569.569 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:18:05,609.609 INFO    ] ================================================
[2026-08-29 12:18:05,625.625 INFO    ] Launching Daemon at Sat Aug 29 12:18:05 IST 2026
[2026-08-29 12:18:05,636.636 INFO    ] ================================================
[2026-08-29 12:18:05,997.997 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:18:05
[2026-08-29 12:18:06,396.396 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:18:06,670.670 INFO    ] Initializing speech engine...
[2026-08-29 12:18:06,679.679 INFO    ] 2026-08-29 12:18:06
[2026-08-29 12:18:06,928.928 INFO    ] 2026-08-29 12:18:06
[2026-08-29 12:18:06,965.965 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:18:07,462.462 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:18:07,474.474 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:18:07,624.624 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:18:07,653.653 INFO    ] time= 29/08/2026 12:18:07
[2026-08-29 12:18:07,708.708 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:18:07,757.757 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:18:07,862.862 INFO    ] No existing commands found in stream
[2026-08-29 12:18:12,898.898 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:18:12,901.901 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-08-29 12:18:19,426.426 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:18:19,428.428 INFO    ] Checking for system updates...
[2026-08-29 12:18:19,464.464 INFO    ] 200
[2026-08-29 12:18:19,467.467 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:18:19,518.518 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:18:19,521.521 INFO    ] No update needed
[2026-08-29 12:18:19,523.523 INFO    ] Checking for camera pi updates...
[2026-08-29 12:18:19,564.564 INFO    ] 200
[2026-08-29 12:18:19,567.567 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:18:19,608.608 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:18:19,700.700 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:18:19,703.703 INFO    ] No camera update needed
[2026-08-29 12:18:19,705.705 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:18:19,708.708 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:18:19,713.713 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:18:19,718.718 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:18:21,759.759 INFO    ] ================================================
[2026-08-29 12:18:21,774.774 INFO    ] Launching Daemon at Sat Aug 29 12:18:21 IST 2026
[2026-08-29 12:18:21,785.785 INFO    ] ================================================
[2026-08-29 12:18:22,283.283 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:18:22
[2026-08-29 12:18:22,618.618 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:18:22,893.893 INFO    ] Initializing speech engine...
[2026-08-29 12:18:22,901.901 INFO    ] 2026-08-29 12:18:22
[2026-08-29 12:18:23,153.153 INFO    ] 2026-08-29 12:18:23
[2026-08-29 12:18:23,187.187 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:18:23,686.686 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:18:23,710.710 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:18:24,868.868 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:18:24,912.912 INFO    ] time= 29/08/2026 12:18:24
[2026-08-29 12:18:24,922.922 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:18:24,925.925 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:18:25,317.317 INFO    ] No existing commands found in stream
[2026-08-29 12:18:30,329.329 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:18:30,331.331 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-08-29 12:18:33,264.264 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:18:33,266.266 INFO    ] Checking for system updates...
[2026-08-29 12:18:33,303.303 INFO    ] 200
[2026-08-29 12:18:33,305.305 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:18:33,367.367 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:18:33,369.369 INFO    ] No update needed
[2026-08-29 12:18:33,372.372 INFO    ] Checking for camera pi updates...
[2026-08-29 12:18:33,406.406 INFO    ] 200
[2026-08-29 12:18:33,408.408 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:18:33,449.449 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:18:33,553.553 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:18:33,555.555 INFO    ] No camera update needed
[2026-08-29 12:18:33,557.557 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:18:33,560.560 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:18:33,565.565 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:18:33,570.570 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:18:35,614.614 INFO    ] ================================================
[2026-08-29 12:18:35,629.629 INFO    ] Launching Daemon at Sat Aug 29 12:18:35 IST 2026
[2026-08-29 12:18:35,640.640 INFO    ] ================================================
[2026-08-29 12:18:36,016.016 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:18:36
[2026-08-29 12:18:36,356.356 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:18:36,514.514 INFO    ] Initializing speech engine...
[2026-08-29 12:18:36,518.518 INFO    ] 2026-08-29 12:18:36
[2026-08-29 12:18:36,754.754 INFO    ] 2026-08-29 12:18:36
[2026-08-29 12:18:36,810.810 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:18:38,234.234 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:18:38,274.274 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:18:38,485.485 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:18:38,521.521 INFO    ] time= 29/08/2026 12:18:38
[2026-08-29 12:18:38,527.527 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:18:38,532.532 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:18:38,586.586 INFO    ] No existing commands found in stream
[2026-08-29 12:18:43,598.598 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:18:43,601.601 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-08-29 12:18:46,545.545 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:18:46,547.547 INFO    ] Checking for system updates...
[2026-08-29 12:18:46,568.568 INFO    ] 200
[2026-08-29 12:18:46,570.570 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:18:46,600.600 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:18:46,601.601 INFO    ] No update needed
[2026-08-29 12:18:46,602.602 INFO    ] Checking for camera pi updates...
[2026-08-29 12:18:46,623.623 INFO    ] 200
[2026-08-29 12:18:46,624.624 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:18:46,648.648 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:18:46,739.739 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:18:46,742.742 INFO    ] No camera update needed
[2026-08-29 12:18:46,744.744 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:18:46,746.746 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:18:46,752.752 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:18:46,756.756 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:18:48,796.796 INFO    ] ================================================
[2026-08-29 12:18:48,811.811 INFO    ] Launching Daemon at Sat Aug 29 12:18:48 IST 2026
[2026-08-29 12:18:48,822.822 INFO    ] ================================================
[2026-08-29 12:18:49,425.425 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:18:49
[2026-08-29 12:18:49,926.926 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:18:50,070.070 INFO    ] Initializing speech engine...
[2026-08-29 12:18:50,076.076 INFO    ] 2026-08-29 12:18:50
[2026-08-29 12:18:50,267.267 INFO    ] 2026-08-29 12:18:50
[2026-08-29 12:18:50,345.345 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:18:50,498.498 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:18:50,502.502 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:18:50,636.636 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:18:50,691.691 INFO    ] time= 29/08/2026 12:18:50
[2026-08-29 12:18:50,745.745 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:18:50,767.767 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:18:50,821.821 INFO    ] No existing commands found in stream
[2026-08-29 12:18:55,833.833 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:18:55,836.836 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-08-29 12:18:56,988.988 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:18:56,989.989 INFO    ] Checking for system updates...
[2026-08-29 12:18:57,009.009 INFO    ] 200
[2026-08-29 12:18:57,011.011 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:18:57,043.043 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:18:57,044.044 INFO    ] No update needed
[2026-08-29 12:18:57,046.046 INFO    ] Checking for camera pi updates...
[2026-08-29 12:18:57,065.065 INFO    ] 200
[2026-08-29 12:18:57,066.066 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:18:57,092.092 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:18:57,172.172 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:18:57,174.174 INFO    ] No camera update needed
[2026-08-29 12:18:57,175.175 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:18:57,176.176 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:18:57,179.179 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:18:57,182.182 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:18:59,225.225 INFO    ] ================================================
[2026-08-29 12:18:59,241.241 INFO    ] Launching Daemon at Sat Aug 29 12:18:59 IST 2026
[2026-08-29 12:18:59,256.256 INFO    ] ================================================
[2026-08-29 12:18:59,636.636 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:18:59
[2026-08-29 12:18:59,976.976 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:19:00,130.130 INFO    ] Initializing speech engine...
[2026-08-29 12:19:00,136.136 INFO    ] 2026-08-29 12:19:00
[2026-08-29 12:19:00,344.344 INFO    ] 2026-08-29 12:19:00
[2026-08-29 12:19:00,373.373 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:19:00,497.497 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:19:00,539.539 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:19:00,704.704 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:19:00,757.757 INFO    ] time= 29/08/2026 12:19:00
[2026-08-29 12:19:00,790.790 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:19:00,797.797 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:19:00,865.865 INFO    ] No existing commands found in stream
[2026-08-29 12:19:05,879.879 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:19:05,882.882 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-08-29 12:19:09,155.155 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:19:09,157.157 INFO    ] Checking for system updates...
[2026-08-29 12:19:09,177.177 INFO    ] 200
[2026-08-29 12:19:09,179.179 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:19:09,211.211 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:19:09,212.212 INFO    ] No update needed
[2026-08-29 12:19:09,214.214 INFO    ] Checking for camera pi updates...
[2026-08-29 12:19:09,237.237 INFO    ] 200
[2026-08-29 12:19:09,238.238 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:19:09,269.269 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:19:09,356.356 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:19:09,357.357 INFO    ] No camera update needed
[2026-08-29 12:19:09,359.359 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:19:09,360.360 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:19:09,363.363 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:19:09,366.366 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:19:11,406.406 INFO    ] ================================================
[2026-08-29 12:19:11,422.422 INFO    ] Launching Daemon at Sat Aug 29 12:19:11 IST 2026
[2026-08-29 12:19:11,433.433 INFO    ] ================================================
[2026-08-29 12:19:12,018.018 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:19:12
[2026-08-29 12:19:12,706.706 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:19:13,017.017 INFO    ] Initializing speech engine...
[2026-08-29 12:19:13,028.028 INFO    ] 2026-08-29 12:19:13
[2026-08-29 12:19:13,344.344 INFO    ] 2026-08-29 12:19:13
[2026-08-29 12:19:13,425.425 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:19:13,580.580 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:19:13,586.586 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:19:13,720.720 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:19:13,776.776 INFO    ] time= 29/08/2026 12:19:13
[2026-08-29 12:19:13,821.821 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:19:13,854.854 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:19:13,906.906 INFO    ] No existing commands found in stream
[2026-08-29 12:19:18,919.919 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:19:18,923.923 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-08-29 12:19:23,195.195 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:19:23,196.196 INFO    ] Checking for system updates...
[2026-08-29 12:19:23,217.217 INFO    ] 200
[2026-08-29 12:19:23,219.219 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:19:23,253.253 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:19:23,255.255 INFO    ] No update needed
[2026-08-29 12:19:23,256.256 INFO    ] Checking for camera pi updates...
[2026-08-29 12:19:23,276.276 INFO    ] 200
[2026-08-29 12:19:23,277.277 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:19:23,302.302 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:19:23,384.384 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:19:23,385.385 INFO    ] No camera update needed
[2026-08-29 12:19:23,387.387 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:19:23,388.388 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:19:23,391.391 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:19:23,394.394 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:19:25,434.434 INFO    ] ================================================
[2026-08-29 12:19:25,450.450 INFO    ] Launching Daemon at Sat Aug 29 12:19:25 IST 2026
[2026-08-29 12:19:25,462.462 INFO    ] ================================================
[2026-08-29 12:19:26,038.038 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:19:26
[2026-08-29 12:19:26,695.695 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:19:26,982.982 INFO    ] Initializing speech engine...
[2026-08-29 12:19:26,989.989 INFO    ] 2026-08-29 12:19:26
[2026-08-29 12:19:27,266.266 INFO    ] 2026-08-29 12:19:27
[2026-08-29 12:19:27,326.326 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:19:27,522.522 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:19:27,567.567 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:19:27,723.723 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:19:27,772.772 INFO    ] time= 29/08/2026 12:19:27
[2026-08-29 12:19:27,832.832 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:19:27,862.862 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:19:27,918.918 INFO    ] No existing commands found in stream
[2026-08-29 12:19:32,931.931 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:19:32,934.934 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-08-29 12:19:35,584.584 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:19:35,586.586 INFO    ] Checking for system updates...
[2026-08-29 12:19:35,606.606 INFO    ] 200
[2026-08-29 12:19:35,608.608 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:19:35,640.640 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:19:35,641.641 INFO    ] No update needed
[2026-08-29 12:19:35,643.643 INFO    ] Checking for camera pi updates...
[2026-08-29 12:19:35,665.665 INFO    ] 200
[2026-08-29 12:19:35,667.667 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:19:35,690.690 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:19:35,793.793 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:19:35,795.795 INFO    ] No camera update needed
[2026-08-29 12:19:35,796.796 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:19:35,797.797 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:19:35,800.800 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:19:35,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:19:37,843.843 INFO    ] ================================================
[2026-08-29 12:19:37,860.860 INFO    ] Launching Daemon at Sat Aug 29 12:19:37 IST 2026
[2026-08-29 12:19:37,870.870 INFO    ] ================================================
[2026-08-29 12:19:38,383.383 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:19:38
[2026-08-29 12:19:38,967.967 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:19:39,236.236 INFO    ] Initializing speech engine...
[2026-08-29 12:19:39,245.245 INFO    ] 2026-08-29 12:19:39
[2026-08-29 12:19:39,493.493 INFO    ] 2026-08-29 12:19:39
[2026-08-29 12:19:39,558.558 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:19:39,700.700 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:19:39,712.712 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:19:39,821.821 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:19:39,841.841 INFO    ] time= 29/08/2026 12:19:39
[2026-08-29 12:19:39,860.860 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:19:39,868.868 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:19:39,943.943 INFO    ] No existing commands found in stream
[2026-08-29 12:19:44,978.978 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:19:44,981.981 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-08-29 12:19:46,592.592 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:19:46,594.594 INFO    ] Checking for system updates...
[2026-08-29 12:19:46,616.616 INFO    ] 200
[2026-08-29 12:19:46,617.617 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:19:46,652.652 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:19:46,653.653 INFO    ] No update needed
[2026-08-29 12:19:46,655.655 INFO    ] Checking for camera pi updates...
[2026-08-29 12:19:46,675.675 INFO    ] 200
[2026-08-29 12:19:46,676.676 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:19:46,701.701 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:19:46,795.795 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:19:46,796.796 INFO    ] No camera update needed
[2026-08-29 12:19:46,798.798 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:19:46,799.799 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:19:46,802.802 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:19:46,805.805 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:19:48,845.845 INFO    ] ================================================
[2026-08-29 12:19:48,861.861 INFO    ] Launching Daemon at Sat Aug 29 12:19:48 IST 2026
[2026-08-29 12:19:48,873.873 INFO    ] ================================================
[2026-08-29 12:19:49,270.270 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:19:49
[2026-08-29 12:19:49,618.618 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:19:49,773.773 INFO    ] Initializing speech engine...
[2026-08-29 12:19:49,781.781 INFO    ] 2026-08-29 12:19:49
[2026-08-29 12:19:49,983.983 INFO    ] 2026-08-29 12:19:49
[2026-08-29 12:19:50,013.013 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:19:50,135.135 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:19:50,188.188 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:19:50,340.340 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:19:50,402.402 INFO    ] time= 29/08/2026 12:19:50
[2026-08-29 12:19:50,426.426 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:19:50,433.433 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:19:50,499.499 INFO    ] No existing commands found in stream
[2026-08-29 12:19:55,514.514 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:19:55,517.517 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-08-29 12:19:56,537.537 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:19:56,540.540 INFO    ] Checking for system updates...
[2026-08-29 12:19:56,581.581 INFO    ] 200
[2026-08-29 12:19:56,584.584 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:19:56,643.643 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:19:56,646.646 INFO    ] No update needed
[2026-08-29 12:19:56,648.648 INFO    ] Checking for camera pi updates...
[2026-08-29 12:19:56,678.678 INFO    ] 200
[2026-08-29 12:19:56,679.679 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:19:56,703.703 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:19:56,778.778 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:19:56,780.780 INFO    ] No camera update needed
[2026-08-29 12:19:56,781.781 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:19:56,783.783 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:19:56,786.786 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:19:56,789.789 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:19:58,828.828 INFO    ] ================================================
[2026-08-29 12:19:58,844.844 INFO    ] Launching Daemon at Sat Aug 29 12:19:58 IST 2026
[2026-08-29 12:19:58,854.854 INFO    ] ================================================
[2026-08-29 12:19:59,202.202 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:19:59
[2026-08-29 12:19:59,534.534 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:19:59,807.807 INFO    ] Initializing speech engine...
[2026-08-29 12:19:59,815.815 INFO    ] 2026-08-29 12:19:59
[2026-08-29 12:20:00,068.068 INFO    ] 2026-08-29 12:20:00
[2026-08-29 12:20:00,109.109 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:20:00,281.281 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:20:00,293.293 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:20:00,404.404 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:20:00,409.409 INFO    ] time= 29/08/2026 12:20:00
[2026-08-29 12:20:00,428.428 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:20:00,451.451 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:20:00,525.525 INFO    ] No existing commands found in stream
[2026-08-29 12:20:05,560.560 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:20:05,563.563 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-08-29 12:20:08,158.158 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:20:08,159.159 INFO    ] Checking for system updates...
[2026-08-29 12:20:08,181.181 INFO    ] 200
[2026-08-29 12:20:08,182.182 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:20:08,212.212 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:20:08,213.213 INFO    ] No update needed
[2026-08-29 12:20:08,215.215 INFO    ] Checking for camera pi updates...
[2026-08-29 12:20:08,234.234 INFO    ] 200
[2026-08-29 12:20:08,236.236 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:20:08,258.258 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:20:08,337.337 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:20:08,338.338 INFO    ] No camera update needed
[2026-08-29 12:20:08,340.340 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:20:08,341.341 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:20:08,344.344 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:20:08,346.346 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:20:10,387.387 INFO    ] ================================================
[2026-08-29 12:20:10,404.404 INFO    ] Launching Daemon at Sat Aug 29 12:20:10 IST 2026
[2026-08-29 12:20:10,415.415 INFO    ] ================================================
[2026-08-29 12:20:10,776.776 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:20:10
[2026-08-29 12:20:11,094.094 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:20:11,238.238 INFO    ] Initializing speech engine...
[2026-08-29 12:20:11,242.242 INFO    ] 2026-08-29 12:20:11
[2026-08-29 12:20:11,483.483 INFO    ] 2026-08-29 12:20:11
[2026-08-29 12:20:11,547.547 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:20:11,678.678 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:20:11,697.697 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:20:11,873.873 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:20:11,917.917 INFO    ] time= 29/08/2026 12:20:11
[2026-08-29 12:20:11,923.923 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:20:11,941.941 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:20:12,057.057 INFO    ] No existing commands found in stream
[2026-08-29 12:20:17,078.078 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:20:17,081.081 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-08-29 12:20:17,590.590 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:20:17,591.591 INFO    ] Checking for system updates...
[2026-08-29 12:20:17,612.612 INFO    ] 200
[2026-08-29 12:20:17,613.613 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:20:17,642.642 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:20:17,644.644 INFO    ] No update needed
[2026-08-29 12:20:17,645.645 INFO    ] Checking for camera pi updates...
[2026-08-29 12:20:17,666.666 INFO    ] 200
[2026-08-29 12:20:17,667.667 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:20:17,690.690 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:20:17,766.766 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:20:17,767.767 INFO    ] No camera update needed
[2026-08-29 12:20:17,769.769 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:20:17,770.770 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:20:17,773.773 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:20:17,776.776 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:20:19,814.814 INFO    ] ================================================
[2026-08-29 12:20:19,829.829 INFO    ] Launching Daemon at Sat Aug 29 12:20:19 IST 2026
[2026-08-29 12:20:19,840.840 INFO    ] ================================================
[2026-08-29 12:20:20,204.204 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:20:20
[2026-08-29 12:20:20,521.521 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:20:20,753.753 INFO    ] Initializing speech engine...
[2026-08-29 12:20:20,759.759 INFO    ] 2026-08-29 12:20:20
[2026-08-29 12:20:21,021.021 INFO    ] 2026-08-29 12:20:21
[2026-08-29 12:20:21,075.075 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:20:21,302.302 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:20:21,307.307 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:20:21,439.439 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:20:21,497.497 INFO    ] time= 29/08/2026 12:20:21
[2026-08-29 12:20:21,551.551 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:20:21,574.574 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:20:21,628.628 INFO    ] No existing commands found in stream
[2026-08-29 12:20:26,640.640 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:20:26,643.643 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-08-29 12:20:30,951.951 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:20:30,954.954 INFO    ] Checking for system updates...
[2026-08-29 12:20:30,994.994 INFO    ] 200
[2026-08-29 12:20:30,997.997 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:20:31,051.051 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:20:31,054.054 INFO    ] No update needed
[2026-08-29 12:20:31,056.056 INFO    ] Checking for camera pi updates...
[2026-08-29 12:20:31,094.094 INFO    ] 200
[2026-08-29 12:20:31,097.097 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:20:31,137.137 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:20:31,241.241 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:20:31,243.243 INFO    ] No camera update needed
[2026-08-29 12:20:31,246.246 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:20:31,248.248 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:20:31,254.254 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:20:31,259.259 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:20:33,300.300 INFO    ] ================================================
[2026-08-29 12:20:33,316.316 INFO    ] Launching Daemon at Sat Aug 29 12:20:33 IST 2026
[2026-08-29 12:20:33,327.327 INFO    ] ================================================
[2026-08-29 12:20:33,895.895 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:20:33
[2026-08-29 12:20:34,486.486 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:20:34,744.744 INFO    ] Initializing speech engine...
[2026-08-29 12:20:34,751.751 INFO    ] 2026-08-29 12:20:34
[2026-08-29 12:20:35,049.049 INFO    ] 2026-08-29 12:20:35
[2026-08-29 12:20:35,087.087 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:20:35,291.291 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:20:35,298.298 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:20:35,411.411 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:20:35,435.435 INFO    ] time= 29/08/2026 12:20:35
[2026-08-29 12:20:35,441.441 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:20:35,448.448 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:20:35,496.496 INFO    ] No existing commands found in stream
[2026-08-29 12:20:40,507.507 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:20:40,510.510 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-08-29 12:20:42,863.863 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:20:42,865.865 INFO    ] Checking for system updates...
[2026-08-29 12:20:42,887.887 INFO    ] 200
[2026-08-29 12:20:42,888.888 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:20:42,918.918 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:20:42,919.919 INFO    ] No update needed
[2026-08-29 12:20:42,921.921 INFO    ] Checking for camera pi updates...
[2026-08-29 12:20:42,940.940 INFO    ] 200
[2026-08-29 12:20:42,941.941 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:20:42,964.964 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:20:43,057.057 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:20:43,058.058 INFO    ] No camera update needed
[2026-08-29 12:20:43,059.059 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:20:43,060.060 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:20:43,063.063 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:20:43,066.066 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:20:45,104.104 INFO    ] ================================================
[2026-08-29 12:20:45,120.120 INFO    ] Launching Daemon at Sat Aug 29 12:20:45 IST 2026
[2026-08-29 12:20:45,132.132 INFO    ] ================================================
[2026-08-29 12:20:45,476.476 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:20:45
[2026-08-29 12:20:45,792.792 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:20:45,934.934 INFO    ] Initializing speech engine...
[2026-08-29 12:20:45,943.943 INFO    ] 2026-08-29 12:20:45
[2026-08-29 12:20:46,149.149 INFO    ] 2026-08-29 12:20:46
[2026-08-29 12:20:46,177.177 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:20:46,299.299 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:20:46,337.337 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:20:46,492.492 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:20:46,525.525 INFO    ] time= 29/08/2026 12:20:46
[2026-08-29 12:20:46,572.572 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:20:46,594.594 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:20:46,667.667 INFO    ] No existing commands found in stream
[2026-08-29 12:20:51,681.681 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:20:51,684.684 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-08-29 12:20:54,133.133 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:20:54,134.134 INFO    ] Checking for system updates...
[2026-08-29 12:20:54,155.155 INFO    ] 200
[2026-08-29 12:20:54,156.156 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:20:54,188.188 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:20:54,190.190 INFO    ] No update needed
[2026-08-29 12:20:54,191.191 INFO    ] Checking for camera pi updates...
[2026-08-29 12:20:54,210.210 INFO    ] 200
[2026-08-29 12:20:54,212.212 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:20:54,235.235 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:20:54,342.342 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:20:54,343.343 INFO    ] No camera update needed
[2026-08-29 12:20:54,345.345 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:20:54,346.346 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:20:54,350.350 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:20:54,353.353 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:20:56,394.394 INFO    ] ================================================
[2026-08-29 12:20:56,409.409 INFO    ] Launching Daemon at Sat Aug 29 12:20:56 IST 2026
[2026-08-29 12:20:56,419.419 INFO    ] ================================================
[2026-08-29 12:20:56,787.787 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:20:56
[2026-08-29 12:20:57,098.098 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:20:57,295.295 INFO    ] Initializing speech engine...
[2026-08-29 12:20:57,304.304 INFO    ] 2026-08-29 12:20:57
[2026-08-29 12:20:57,550.550 INFO    ] 2026-08-29 12:20:57
[2026-08-29 12:20:57,586.586 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:20:57,758.758 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:20:57,770.770 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:20:57,903.903 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:20:57,920.920 INFO    ] time= 29/08/2026 12:20:57
[2026-08-29 12:20:57,925.925 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:20:57,931.931 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:20:57,996.996 INFO    ] No existing commands found in stream
[2026-08-29 12:21:03,004.004 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:21:03,007.007 INFO    ] Waiting 2.42 seconds before fallback handling...
[2026-08-29 12:21:05,790.790 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:21:05,791.791 INFO    ] Checking for system updates...
[2026-08-29 12:21:05,813.813 INFO    ] 200
[2026-08-29 12:21:05,815.815 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:21:05,847.847 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:21:05,848.848 INFO    ] No update needed
[2026-08-29 12:21:05,850.850 INFO    ] Checking for camera pi updates...
[2026-08-29 12:21:05,872.872 INFO    ] 200
[2026-08-29 12:21:05,874.874 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:21:05,897.897 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:21:05,990.990 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:21:05,991.991 INFO    ] No camera update needed
[2026-08-29 12:21:05,993.993 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:21:05,994.994 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:21:05,997.997 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:21:06,000.000 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:21:08,040.040 INFO    ] ================================================
[2026-08-29 12:21:08,056.056 INFO    ] Launching Daemon at Sat Aug 29 12:21:08 IST 2026
[2026-08-29 12:21:08,067.067 INFO    ] ================================================
[2026-08-29 12:21:08,650.650 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:21:08
[2026-08-29 12:21:09,255.255 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:21:09,505.505 INFO    ] Initializing speech engine...
[2026-08-29 12:21:09,515.515 INFO    ] 2026-08-29 12:21:09
[2026-08-29 12:21:09,741.741 INFO    ] 2026-08-29 12:21:09
[2026-08-29 12:21:09,772.772 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:21:09,902.902 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:21:09,907.907 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:21:10,040.040 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:21:10,105.105 INFO    ] time= 29/08/2026 12:21:10
[2026-08-29 12:21:10,149.149 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:21:10,183.183 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:21:10,241.241 INFO    ] No existing commands found in stream
[2026-08-29 12:21:15,253.253 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:21:15,256.256 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-08-29 12:21:18,063.063 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:21:18,064.064 INFO    ] Checking for system updates...
[2026-08-29 12:21:18,085.085 INFO    ] 200
[2026-08-29 12:21:18,087.087 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:21:18,117.117 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:21:18,118.118 INFO    ] No update needed
[2026-08-29 12:21:18,119.119 INFO    ] Checking for camera pi updates...
[2026-08-29 12:21:18,139.139 INFO    ] 200
[2026-08-29 12:21:18,140.140 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:21:18,165.165 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:21:18,249.249 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:21:18,250.250 INFO    ] No camera update needed
[2026-08-29 12:21:18,252.252 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:21:18,253.253 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:21:18,256.256 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:21:18,259.259 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:21:20,299.299 INFO    ] ================================================
[2026-08-29 12:21:20,315.315 INFO    ] Launching Daemon at Sat Aug 29 12:21:20 IST 2026
[2026-08-29 12:21:20,327.327 INFO    ] ================================================
[2026-08-29 12:21:20,667.667 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:21:20
[2026-08-29 12:21:20,980.980 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:21:21,230.230 INFO    ] Initializing speech engine...
[2026-08-29 12:21:21,248.248 INFO    ] 2026-08-29 12:21:21
[2026-08-29 12:21:21,529.529 INFO    ] 2026-08-29 12:21:21
[2026-08-29 12:21:21,566.566 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:21:21,715.715 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:21:21,722.722 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:21:21,868.868 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:21:21,884.884 INFO    ] time= 29/08/2026 12:21:21
[2026-08-29 12:21:21,894.894 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:21:21,899.899 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:21:21,972.972 INFO    ] No existing commands found in stream
[2026-08-29 12:21:26,983.983 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:21:26,986.986 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-08-29 12:21:29,243.243 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:21:29,245.245 INFO    ] Checking for system updates...
[2026-08-29 12:21:29,265.265 INFO    ] 200
[2026-08-29 12:21:29,266.266 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:21:29,296.296 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:21:29,297.297 INFO    ] No update needed
[2026-08-29 12:21:29,299.299 INFO    ] Checking for camera pi updates...
[2026-08-29 12:21:29,317.317 INFO    ] 200
[2026-08-29 12:21:29,319.319 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:21:29,343.343 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:21:29,422.422 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:21:29,423.423 INFO    ] No camera update needed
[2026-08-29 12:21:29,425.425 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:21:29,426.426 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:21:29,429.429 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:21:29,431.431 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:21:31,470.470 INFO    ] ================================================
[2026-08-29 12:21:31,486.486 INFO    ] Launching Daemon at Sat Aug 29 12:21:31 IST 2026
[2026-08-29 12:21:31,497.497 INFO    ] ================================================
[2026-08-29 12:21:32,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:21:32
[2026-08-29 12:21:32,681.681 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:21:32,975.975 INFO    ] Initializing speech engine...
[2026-08-29 12:21:32,994.994 INFO    ] 2026-08-29 12:21:32
[2026-08-29 12:21:33,254.254 INFO    ] 2026-08-29 12:21:33
[2026-08-29 12:21:33,315.315 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:21:33,459.459 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:21:33,472.472 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:21:33,617.617 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:21:33,624.624 INFO    ] time= 29/08/2026 12:21:33
[2026-08-29 12:21:33,628.628 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:21:33,634.634 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:21:33,700.700 INFO    ] No existing commands found in stream
[2026-08-29 12:21:38,713.713 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:21:38,716.716 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-08-29 12:21:42,846.846 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:21:42,847.847 INFO    ] Checking for system updates...
[2026-08-29 12:21:42,871.871 INFO    ] 200
[2026-08-29 12:21:42,873.873 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:21:42,903.903 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:21:42,904.904 INFO    ] No update needed
[2026-08-29 12:21:42,906.906 INFO    ] Checking for camera pi updates...
[2026-08-29 12:21:42,925.925 INFO    ] 200
[2026-08-29 12:21:42,927.927 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:21:42,949.949 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:21:43,124.124 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:21:43,125.125 INFO    ] No camera update needed
[2026-08-29 12:21:43,127.127 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:21:43,128.128 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:21:43,131.131 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:21:43,134.134 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:21:45,175.175 INFO    ] ================================================
[2026-08-29 12:21:45,190.190 INFO    ] Launching Daemon at Sat Aug 29 12:21:45 IST 2026
[2026-08-29 12:21:45,202.202 INFO    ] ================================================
[2026-08-29 12:21:45,549.549 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:21:45
[2026-08-29 12:21:45,889.889 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:21:46,042.042 INFO    ] Initializing speech engine...
[2026-08-29 12:21:46,047.047 INFO    ] 2026-08-29 12:21:46
[2026-08-29 12:21:46,272.272 INFO    ] 2026-08-29 12:21:46
[2026-08-29 12:21:46,334.334 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:21:46,560.560 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:21:46,570.570 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:21:46,705.705 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:21:46,756.756 INFO    ] time= 29/08/2026 12:21:46
[2026-08-29 12:21:46,816.816 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:21:46,841.841 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:21:46,898.898 INFO    ] No existing commands found in stream
[2026-08-29 12:21:51,914.914 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:21:51,917.917 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-08-29 12:21:55,174.174 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:21:55,177.177 INFO    ] Checking for system updates...
[2026-08-29 12:21:55,212.212 INFO    ] 200
[2026-08-29 12:21:55,215.215 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:21:55,267.267 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:21:55,269.269 INFO    ] No update needed
[2026-08-29 12:21:55,272.272 INFO    ] Checking for camera pi updates...
[2026-08-29 12:21:55,306.306 INFO    ] 200
[2026-08-29 12:21:55,308.308 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:21:55,348.348 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:21:55,443.443 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:21:55,445.445 INFO    ] No camera update needed
[2026-08-29 12:21:55,447.447 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:21:55,449.449 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:21:55,455.455 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:21:55,459.459 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:21:57,500.500 INFO    ] ================================================
[2026-08-29 12:21:57,516.516 INFO    ] Launching Daemon at Sat Aug 29 12:21:57 IST 2026
[2026-08-29 12:21:57,527.527 INFO    ] ================================================
[2026-08-29 12:21:57,898.898 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:21:57
[2026-08-29 12:21:58,237.237 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:21:58,389.389 INFO    ] Initializing speech engine...
[2026-08-29 12:21:58,395.395 INFO    ] 2026-08-29 12:21:58
[2026-08-29 12:21:58,613.613 INFO    ] 2026-08-29 12:21:58
[2026-08-29 12:21:58,700.700 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:21:58,855.855 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:21:58,865.865 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:21:59,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:21:59,050.050 INFO    ] time= 29/08/2026 12:21:59
[2026-08-29 12:21:59,126.126 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:21:59,146.146 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:21:59,225.225 INFO    ] No existing commands found in stream
[2026-08-29 12:22:04,264.264 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:22:04,267.267 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-08-29 12:22:07,715.715 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:22:07,716.716 INFO    ] Checking for system updates...
[2026-08-29 12:22:07,739.739 INFO    ] 200
[2026-08-29 12:22:07,741.741 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:22:07,771.771 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:22:07,773.773 INFO    ] No update needed
[2026-08-29 12:22:07,775.775 INFO    ] Checking for camera pi updates...
[2026-08-29 12:22:07,794.794 INFO    ] 200
[2026-08-29 12:22:07,796.796 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:22:07,819.819 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:22:07,905.905 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:22:07,906.906 INFO    ] No camera update needed
[2026-08-29 12:22:07,908.908 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:22:07,909.909 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:22:07,912.912 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:22:07,915.915 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:22:09,955.955 INFO    ] ================================================
[2026-08-29 12:22:09,971.971 INFO    ] Launching Daemon at Sat Aug 29 12:22:09 IST 2026
[2026-08-29 12:22:09,983.983 INFO    ] ================================================
[2026-08-29 12:22:10,493.493 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:22:10
[2026-08-29 12:22:11,081.081 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:22:11,357.357 INFO    ] Initializing speech engine...
[2026-08-29 12:22:11,366.366 INFO    ] 2026-08-29 12:22:11
[2026-08-29 12:22:11,617.617 INFO    ] 2026-08-29 12:22:11
[2026-08-29 12:22:11,653.653 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:22:11,840.840 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:22:11,859.859 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:22:11,990.990 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:22:11,998.998 INFO    ] time= 29/08/2026 12:22:11
[2026-08-29 12:22:12,033.033 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:22:12,066.066 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:22:12,177.177 INFO    ] No existing commands found in stream
[2026-08-29 12:22:17,206.206 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:22:17,208.208 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-08-29 12:22:17,574.574 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:22:17,576.576 INFO    ] Checking for system updates...
[2026-08-29 12:22:17,597.597 INFO    ] 200
[2026-08-29 12:22:17,598.598 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:22:17,631.631 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:22:17,632.632 INFO    ] No update needed
[2026-08-29 12:22:17,633.633 INFO    ] Checking for camera pi updates...
[2026-08-29 12:22:17,653.653 INFO    ] 200
[2026-08-29 12:22:17,654.654 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:22:17,677.677 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:22:17,753.753 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:22:17,754.754 INFO    ] No camera update needed
[2026-08-29 12:22:17,756.756 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:22:17,757.757 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:22:17,760.760 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:22:17,763.763 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:22:19,803.803 INFO    ] ================================================
[2026-08-29 12:22:19,818.818 INFO    ] Launching Daemon at Sat Aug 29 12:22:19 IST 2026
[2026-08-29 12:22:19,829.829 INFO    ] ================================================
[2026-08-29 12:22:20,193.193 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:22:20
[2026-08-29 12:22:20,785.785 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:22:21,061.061 INFO    ] Initializing speech engine...
[2026-08-29 12:22:21,070.070 INFO    ] 2026-08-29 12:22:21
[2026-08-29 12:22:21,323.323 INFO    ] 2026-08-29 12:22:21
[2026-08-29 12:22:21,384.384 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:22:21,530.530 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:22:21,542.542 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:22:21,670.670 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:22:21,690.690 INFO    ] time= 29/08/2026 12:22:21
[2026-08-29 12:22:21,699.699 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:22:21,707.707 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:22:21,770.770 INFO    ] No existing commands found in stream
[2026-08-29 12:22:26,783.783 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:22:26,786.786 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-08-29 12:22:29,657.657 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:22:29,658.658 INFO    ] Checking for system updates...
[2026-08-29 12:22:29,679.679 INFO    ] 200
[2026-08-29 12:22:29,680.680 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:22:29,710.710 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:22:29,712.712 INFO    ] No update needed
[2026-08-29 12:22:29,713.713 INFO    ] Checking for camera pi updates...
[2026-08-29 12:22:29,732.732 INFO    ] 200
[2026-08-29 12:22:29,734.734 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:22:29,757.757 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:22:29,849.849 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:22:29,850.850 INFO    ] No camera update needed
[2026-08-29 12:22:29,851.851 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:22:29,853.853 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:22:29,856.856 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:22:29,859.859 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:22:31,899.899 INFO    ] ================================================
[2026-08-29 12:22:31,915.915 INFO    ] Launching Daemon at Sat Aug 29 12:22:31 IST 2026
[2026-08-29 12:22:31,926.926 INFO    ] ================================================
[2026-08-29 12:22:32,540.540 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:22:32
[2026-08-29 12:22:33,159.159 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:22:33,435.435 INFO    ] Initializing speech engine...
[2026-08-29 12:22:33,455.455 INFO    ] 2026-08-29 12:22:33
[2026-08-29 12:22:33,723.723 INFO    ] 2026-08-29 12:22:33
[2026-08-29 12:22:33,761.761 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:22:33,956.956 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:22:33,969.969 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:22:34,095.095 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:22:34,114.114 INFO    ] time= 29/08/2026 12:22:34
[2026-08-29 12:22:34,137.137 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:22:34,146.146 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:22:34,224.224 INFO    ] No existing commands found in stream
[2026-08-29 12:22:39,249.249 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:22:39,252.252 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-08-29 12:22:41,217.217 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:22:41,219.219 INFO    ] Checking for system updates...
[2026-08-29 12:22:41,239.239 INFO    ] 200
[2026-08-29 12:22:41,240.240 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:22:41,270.270 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:22:41,271.271 INFO    ] No update needed
[2026-08-29 12:22:41,273.273 INFO    ] Checking for camera pi updates...
[2026-08-29 12:22:41,292.292 INFO    ] 200
[2026-08-29 12:22:41,294.294 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:22:41,319.319 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:22:41,393.393 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:22:41,395.395 INFO    ] No camera update needed
[2026-08-29 12:22:41,396.396 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:22:41,397.397 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:22:41,400.400 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:22:41,403.403 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:22:43,441.441 INFO    ] ================================================
[2026-08-29 12:22:43,456.456 INFO    ] Launching Daemon at Sat Aug 29 12:22:43 IST 2026
[2026-08-29 12:22:43,467.467 INFO    ] ================================================
[2026-08-29 12:22:43,835.835 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:22:43
[2026-08-29 12:22:44,169.169 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:22:44,345.345 INFO    ] Initializing speech engine...
[2026-08-29 12:22:44,356.356 INFO    ] 2026-08-29 12:22:44
[2026-08-29 12:22:44,641.641 INFO    ] 2026-08-29 12:22:44
[2026-08-29 12:22:44,685.685 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:22:44,905.905 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:22:44,914.914 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:22:45,051.051 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:22:45,116.116 INFO    ] time= 29/08/2026 12:22:45
[2026-08-29 12:22:45,180.180 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:22:45,186.186 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:22:45,317.317 INFO    ] No existing commands found in stream
[2026-08-29 12:22:50,344.344 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:22:50,347.347 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-08-29 12:22:52,181.181 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:22:52,182.182 INFO    ] Checking for system updates...
[2026-08-29 12:22:52,203.203 INFO    ] 200
[2026-08-29 12:22:52,205.205 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:22:52,235.235 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:22:52,236.236 INFO    ] No update needed
[2026-08-29 12:22:52,238.238 INFO    ] Checking for camera pi updates...
[2026-08-29 12:22:52,257.257 INFO    ] 200
[2026-08-29 12:22:52,259.259 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:22:52,293.293 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:22:52,379.379 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:22:52,382.382 INFO    ] No camera update needed
[2026-08-29 12:22:52,385.385 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:22:52,387.387 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:22:52,393.393 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:22:52,399.399 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:22:54,439.439 INFO    ] ================================================
[2026-08-29 12:22:54,454.454 INFO    ] Launching Daemon at Sat Aug 29 12:22:54 IST 2026
[2026-08-29 12:22:54,465.465 INFO    ] ================================================
[2026-08-29 12:22:55,035.035 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:22:55
[2026-08-29 12:22:55,521.521 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:22:55,654.654 INFO    ] Initializing speech engine...
[2026-08-29 12:22:55,666.666 INFO    ] 2026-08-29 12:22:55
[2026-08-29 12:22:55,894.894 INFO    ] 2026-08-29 12:22:55
[2026-08-29 12:22:55,930.930 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:22:56,106.106 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:22:56,117.117 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:22:56,265.265 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:22:56,271.271 INFO    ] time= 29/08/2026 12:22:56
[2026-08-29 12:22:56,277.277 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:22:56,303.303 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:22:56,438.438 INFO    ] No existing commands found in stream
[2026-08-29 12:23:01,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:23:01,479.479 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-08-29 12:23:04,991.991 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:23:04,993.993 INFO    ] Checking for system updates...
[2026-08-29 12:23:05,013.013 INFO    ] 200
[2026-08-29 12:23:05,014.014 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:23:05,044.044 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:23:05,046.046 INFO    ] No update needed
[2026-08-29 12:23:05,047.047 INFO    ] Checking for camera pi updates...
[2026-08-29 12:23:05,066.066 INFO    ] 200
[2026-08-29 12:23:05,067.067 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:23:05,098.098 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:23:05,189.189 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:23:05,191.191 INFO    ] No camera update needed
[2026-08-29 12:23:05,194.194 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:23:05,196.196 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:23:05,201.201 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:23:05,209.209 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:23:07,252.252 INFO    ] ================================================
[2026-08-29 12:23:07,267.267 INFO    ] Launching Daemon at Sat Aug 29 12:23:07 IST 2026
[2026-08-29 12:23:07,278.278 INFO    ] ================================================
[2026-08-29 12:23:07,846.846 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:23:07
[2026-08-29 12:23:08,368.368 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:23:08,523.523 INFO    ] Initializing speech engine...
[2026-08-29 12:23:08,527.527 INFO    ] 2026-08-29 12:23:08
[2026-08-29 12:23:08,738.738 INFO    ] 2026-08-29 12:23:08
[2026-08-29 12:23:08,783.783 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:23:09,004.004 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:23:09,014.014 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:23:09,151.151 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:23:09,212.212 INFO    ] time= 29/08/2026 12:23:09
[2026-08-29 12:23:09,262.262 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:23:09,287.287 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:23:09,419.419 INFO    ] No existing commands found in stream
[2026-08-29 12:23:14,445.445 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:23:14,448.448 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-08-29 12:23:18,423.423 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:23:18,424.424 INFO    ] Checking for system updates...
[2026-08-29 12:23:18,444.444 INFO    ] 200
[2026-08-29 12:23:18,446.446 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:23:18,476.476 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:23:18,477.477 INFO    ] No update needed
[2026-08-29 12:23:18,478.478 INFO    ] Checking for camera pi updates...
[2026-08-29 12:23:18,497.497 INFO    ] 200
[2026-08-29 12:23:18,498.498 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:23:18,537.537 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:23:18,616.616 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:23:18,619.619 INFO    ] No camera update needed
[2026-08-29 12:23:18,621.621 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:23:18,624.624 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:23:18,629.629 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:23:18,634.634 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:23:20,673.673 INFO    ] ================================================
[2026-08-29 12:23:20,689.689 INFO    ] Launching Daemon at Sat Aug 29 12:23:20 IST 2026
[2026-08-29 12:23:20,700.700 INFO    ] ================================================
[2026-08-29 12:23:21,361.361 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:23:21
[2026-08-29 12:23:21,838.838 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:23:22,049.049 INFO    ] Initializing speech engine...
[2026-08-29 12:23:22,060.060 INFO    ] 2026-08-29 12:23:22
[2026-08-29 12:23:22,342.342 INFO    ] 2026-08-29 12:23:22
[2026-08-29 12:23:22,379.379 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:23:22,600.600 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:23:22,632.632 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:23:22,775.775 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:23:22,836.836 INFO    ] time= 29/08/2026 12:23:22
[2026-08-29 12:23:22,902.902 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:23:22,909.909 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:23:23,025.025 INFO    ] No existing commands found in stream
[2026-08-29 12:23:28,053.053 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:23:28,056.056 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-08-29 12:23:30,036.036 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:23:30,038.038 INFO    ] Checking for system updates...
[2026-08-29 12:23:30,059.059 INFO    ] 200
[2026-08-29 12:23:30,060.060 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:23:30,092.092 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:23:30,094.094 INFO    ] No update needed
[2026-08-29 12:23:30,095.095 INFO    ] Checking for camera pi updates...
[2026-08-29 12:23:30,114.114 INFO    ] 200
[2026-08-29 12:23:30,115.115 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:23:30,139.139 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:23:30,214.214 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:23:30,216.216 INFO    ] No camera update needed
[2026-08-29 12:23:30,217.217 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:23:30,218.218 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:23:30,221.221 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:23:30,224.224 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:23:32,265.265 INFO    ] ================================================
[2026-08-29 12:23:32,280.280 INFO    ] Launching Daemon at Sat Aug 29 12:23:32 IST 2026
[2026-08-29 12:23:32,291.291 INFO    ] ================================================
[2026-08-29 12:23:32,869.869 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:23:32
[2026-08-29 12:23:33,460.460 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:23:33,764.764 INFO    ] Initializing speech engine...
[2026-08-29 12:23:33,773.773 INFO    ] 2026-08-29 12:23:33
[2026-08-29 12:23:34,062.062 INFO    ] 2026-08-29 12:23:34
[2026-08-29 12:23:34,109.109 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:23:34,336.336 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:23:34,347.347 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:23:34,483.483 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:23:34,526.526 INFO    ] time= 29/08/2026 12:23:34
[2026-08-29 12:23:34,575.575 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:23:34,621.621 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:23:34,737.737 INFO    ] No existing commands found in stream
[2026-08-29 12:23:39,766.766 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:23:39,769.769 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-08-29 12:23:41,837.837 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:23:41,845.845 INFO    ] Checking for system updates...
[2026-08-29 12:23:41,866.866 INFO    ] 200
[2026-08-29 12:23:41,867.867 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:23:41,897.897 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:23:41,898.898 INFO    ] No update needed
[2026-08-29 12:23:41,899.899 INFO    ] Checking for camera pi updates...
[2026-08-29 12:23:41,920.920 INFO    ] 200
[2026-08-29 12:23:41,922.922 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:23:41,945.945 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:23:42,037.037 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:23:42,039.039 INFO    ] No camera update needed
[2026-08-29 12:23:42,040.040 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:23:42,041.041 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:23:42,044.044 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:23:42,047.047 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:23:44,084.084 INFO    ] ================================================
[2026-08-29 12:23:44,100.100 INFO    ] Launching Daemon at Sat Aug 29 12:23:44 IST 2026
[2026-08-29 12:23:44,110.110 INFO    ] ================================================
[2026-08-29 12:23:44,481.481 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:23:44
[2026-08-29 12:23:44,822.822 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:23:44,974.974 INFO    ] Initializing speech engine...
[2026-08-29 12:23:44,980.980 INFO    ] 2026-08-29 12:23:44
[2026-08-29 12:23:45,187.187 INFO    ] 2026-08-29 12:23:45
[2026-08-29 12:23:45,216.216 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:23:45,339.339 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:23:45,401.401 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:23:45,547.547 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:23:45,609.609 INFO    ] time= 29/08/2026 12:23:45
[2026-08-29 12:23:45,633.633 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:23:45,640.640 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:23:45,707.707 INFO    ] No existing commands found in stream
[2026-08-29 12:23:50,721.721 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:23:50,725.725 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-08-29 12:23:53,223.223 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:23:53,225.225 INFO    ] Checking for system updates...
[2026-08-29 12:23:53,246.246 INFO    ] 200
[2026-08-29 12:23:53,247.247 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:23:53,277.277 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:23:53,278.278 INFO    ] No update needed
[2026-08-29 12:23:53,280.280 INFO    ] Checking for camera pi updates...
[2026-08-29 12:23:53,299.299 INFO    ] 200
[2026-08-29 12:23:53,300.300 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:23:53,323.323 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:23:53,499.499 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:23:53,501.501 INFO    ] No camera update needed
[2026-08-29 12:23:53,502.502 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:23:53,503.503 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:23:53,506.506 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:23:53,509.509 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:23:55,548.548 INFO    ] ================================================
[2026-08-29 12:23:55,563.563 INFO    ] Launching Daemon at Sat Aug 29 12:23:55 IST 2026
[2026-08-29 12:23:55,573.573 INFO    ] ================================================
[2026-08-29 12:23:56,164.164 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:23:56
[2026-08-29 12:23:56,771.771 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:23:57,045.045 INFO    ] Initializing speech engine...
[2026-08-29 12:23:57,054.054 INFO    ] 2026-08-29 12:23:57
[2026-08-29 12:23:57,293.293 INFO    ] 2026-08-29 12:23:57
[2026-08-29 12:23:57,322.322 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:23:57,462.462 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:23:57,527.527 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:23:57,652.652 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:23:57,660.660 INFO    ] time= 29/08/2026 12:23:57
[2026-08-29 12:23:57,668.668 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:23:57,689.689 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:23:57,783.783 INFO    ] No existing commands found in stream
[2026-08-29 12:24:02,800.800 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:24:02,809.809 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-08-29 12:24:03,618.618 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:24:03,621.621 INFO    ] Checking for system updates...
[2026-08-29 12:24:03,656.656 INFO    ] 200
[2026-08-29 12:24:03,659.659 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:24:03,711.711 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:24:03,713.713 INFO    ] No update needed
[2026-08-29 12:24:03,716.716 INFO    ] Checking for camera pi updates...
[2026-08-29 12:24:03,749.749 INFO    ] 200
[2026-08-29 12:24:03,752.752 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:24:03,792.792 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:24:03,885.885 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:24:03,887.887 INFO    ] No camera update needed
[2026-08-29 12:24:03,889.889 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:24:03,892.892 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:24:03,897.897 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:24:03,902.902 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:24:05,942.942 INFO    ] ================================================
[2026-08-29 12:24:05,957.957 INFO    ] Launching Daemon at Sat Aug 29 12:24:05 IST 2026
[2026-08-29 12:24:05,967.967 INFO    ] ================================================
[2026-08-29 12:24:06,467.467 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:24:06
[2026-08-29 12:24:07,082.082 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:24:07,338.338 INFO    ] Initializing speech engine...
[2026-08-29 12:24:07,346.346 INFO    ] 2026-08-29 12:24:07
[2026-08-29 12:24:07,644.644 INFO    ] 2026-08-29 12:24:07
[2026-08-29 12:24:07,682.682 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:24:07,880.880 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:24:07,895.895 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:24:07,995.995 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:24:08,000.000 INFO    ] time= 29/08/2026 12:24:07
[2026-08-29 12:24:08,024.024 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:24:08,030.030 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:24:08,139.139 INFO    ] No existing commands found in stream
[2026-08-29 12:24:13,161.161 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:24:13,164.164 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 12:24:16,527.527 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:24:16,529.529 INFO    ] Checking for system updates...
[2026-08-29 12:24:16,548.548 INFO    ] 200
[2026-08-29 12:24:16,550.550 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:24:16,579.579 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:24:16,581.581 INFO    ] No update needed
[2026-08-29 12:24:16,582.582 INFO    ] Checking for camera pi updates...
[2026-08-29 12:24:16,603.603 INFO    ] 200
[2026-08-29 12:24:16,604.604 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:24:16,626.626 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:24:16,681.681 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:24:16,683.683 INFO    ] No camera update needed
[2026-08-29 12:24:16,684.684 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:24:16,685.685 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:24:16,688.688 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:24:16,690.690 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:24:18,730.730 INFO    ] ================================================
[2026-08-29 12:24:18,745.745 INFO    ] Launching Daemon at Sat Aug 29 12:24:18 IST 2026
[2026-08-29 12:24:18,756.756 INFO    ] ================================================
[2026-08-29 12:24:19,321.321 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:24:19
[2026-08-29 12:24:19,905.905 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:24:20,045.045 INFO    ] Initializing speech engine...
[2026-08-29 12:24:20,049.049 INFO    ] 2026-08-29 12:24:20
[2026-08-29 12:24:20,258.258 INFO    ] 2026-08-29 12:24:20
[2026-08-29 12:24:20,285.285 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:24:20,443.443 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:24:20,488.488 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:24:20,656.656 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:24:20,703.703 INFO    ] time= 29/08/2026 12:24:20
[2026-08-29 12:24:20,741.741 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:24:20,766.766 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:24:20,843.843 INFO    ] No existing commands found in stream
[2026-08-29 12:24:25,853.853 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:24:25,856.856 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-08-29 12:24:29,363.363 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:24:29,365.365 INFO    ] Checking for system updates...
[2026-08-29 12:24:29,385.385 INFO    ] 200
[2026-08-29 12:24:29,386.386 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:24:29,418.418 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:24:29,419.419 INFO    ] No update needed
[2026-08-29 12:24:29,420.420 INFO    ] Checking for camera pi updates...
[2026-08-29 12:24:29,441.441 INFO    ] 200
[2026-08-29 12:24:29,443.443 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:24:29,465.465 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:24:29,541.541 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:24:29,542.542 INFO    ] No camera update needed
[2026-08-29 12:24:29,543.543 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:24:29,545.545 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:24:29,548.548 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:24:29,550.550 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:24:31,588.588 INFO    ] ================================================
[2026-08-29 12:24:31,604.604 INFO    ] Launching Daemon at Sat Aug 29 12:24:31 IST 2026
[2026-08-29 12:24:31,615.615 INFO    ] ================================================
[2026-08-29 12:24:32,015.015 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:24:32
[2026-08-29 12:24:32,652.652 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:24:32,929.929 INFO    ] Initializing speech engine...
[2026-08-29 12:24:32,939.939 INFO    ] 2026-08-29 12:24:32
[2026-08-29 12:24:33,254.254 INFO    ] 2026-08-29 12:24:33
[2026-08-29 12:24:33,290.290 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:24:33,466.466 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:24:33,479.479 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:24:33,624.624 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:24:33,632.632 INFO    ] time= 29/08/2026 12:24:33
[2026-08-29 12:24:33,636.636 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:24:33,641.641 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:24:33,710.710 INFO    ] No existing commands found in stream
[2026-08-29 12:24:38,740.740 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:24:38,743.743 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-08-29 12:24:42,473.473 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:24:42,474.474 INFO    ] Checking for system updates...
[2026-08-29 12:24:42,495.495 INFO    ] 200
[2026-08-29 12:24:42,496.496 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:24:42,526.526 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:24:42,527.527 INFO    ] No update needed
[2026-08-29 12:24:42,528.528 INFO    ] Checking for camera pi updates...
[2026-08-29 12:24:42,549.549 INFO    ] 200
[2026-08-29 12:24:42,550.550 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:24:42,573.573 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:24:42,652.652 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:24:42,653.653 INFO    ] No camera update needed
[2026-08-29 12:24:42,654.654 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:24:42,655.655 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:24:42,658.658 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:24:42,661.661 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:24:44,700.700 INFO    ] ================================================
[2026-08-29 12:24:44,715.715 INFO    ] Launching Daemon at Sat Aug 29 12:24:44 IST 2026
[2026-08-29 12:24:44,726.726 INFO    ] ================================================
[2026-08-29 12:24:45,076.076 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:24:45
[2026-08-29 12:24:45,392.392 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:24:45,525.525 INFO    ] Initializing speech engine...
[2026-08-29 12:24:45,537.537 INFO    ] 2026-08-29 12:24:45
[2026-08-29 12:24:45,728.728 INFO    ] 2026-08-29 12:24:45
[2026-08-29 12:24:45,782.782 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:24:45,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:24:45,951.951 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:24:46,075.075 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:24:46,084.084 INFO    ] time= 29/08/2026 12:24:46
[2026-08-29 12:24:46,092.092 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:24:46,141.141 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:24:46,275.275 INFO    ] No existing commands found in stream
[2026-08-29 12:24:51,290.290 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:24:51,293.293 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-08-29 12:24:54,288.288 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:24:54,289.289 INFO    ] Checking for system updates...
[2026-08-29 12:24:54,310.310 INFO    ] 200
[2026-08-29 12:24:54,311.311 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:24:54,341.341 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:24:54,342.342 INFO    ] No update needed
[2026-08-29 12:24:54,344.344 INFO    ] Checking for camera pi updates...
[2026-08-29 12:24:54,363.363 INFO    ] 200
[2026-08-29 12:24:54,364.364 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:24:54,391.391 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:24:54,481.481 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:24:54,483.483 INFO    ] No camera update needed
[2026-08-29 12:24:54,484.484 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:24:54,486.486 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:24:54,489.489 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:24:54,492.492 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:24:56,538.538 INFO    ] ================================================
[2026-08-29 12:24:56,553.553 INFO    ] Launching Daemon at Sat Aug 29 12:24:56 IST 2026
[2026-08-29 12:24:56,564.564 INFO    ] ================================================
[2026-08-29 12:24:56,914.914 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:24:56
[2026-08-29 12:24:57,225.225 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:24:57,356.356 INFO    ] Initializing speech engine...
[2026-08-29 12:24:57,360.360 INFO    ] 2026-08-29 12:24:57
[2026-08-29 12:24:57,564.564 INFO    ] 2026-08-29 12:24:57
[2026-08-29 12:24:57,599.599 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:24:57,775.775 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:24:57,788.788 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:24:57,901.901 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:24:57,919.919 INFO    ] time= 29/08/2026 12:24:57
[2026-08-29 12:24:57,939.939 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:24:57,948.948 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:24:58,016.016 INFO    ] No existing commands found in stream
[2026-08-29 12:25:03,024.024 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:25:03,027.027 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-08-29 12:25:04,998.998 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:25:05,001.001 INFO    ] Checking for system updates...
[2026-08-29 12:25:05,024.024 INFO    ] 200
[2026-08-29 12:25:05,025.025 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:25:05,055.055 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:25:05,056.056 INFO    ] No update needed
[2026-08-29 12:25:05,057.057 INFO    ] Checking for camera pi updates...
[2026-08-29 12:25:05,076.076 INFO    ] 200
[2026-08-29 12:25:05,077.077 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:25:05,100.100 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:25:05,179.179 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:25:05,181.181 INFO    ] No camera update needed
[2026-08-29 12:25:05,182.182 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:25:05,183.183 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:25:05,186.186 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:25:05,189.189 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:25:07,227.227 INFO    ] ================================================
[2026-08-29 12:25:07,243.243 INFO    ] Launching Daemon at Sat Aug 29 12:25:07 IST 2026
[2026-08-29 12:25:07,254.254 INFO    ] ================================================
[2026-08-29 12:25:07,623.623 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:25:07
[2026-08-29 12:25:07,956.956 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:25:08,186.186 INFO    ] Initializing speech engine...
[2026-08-29 12:25:08,192.192 INFO    ] 2026-08-29 12:25:08
[2026-08-29 12:25:08,438.438 INFO    ] 2026-08-29 12:25:08
[2026-08-29 12:25:08,473.473 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:25:08,645.645 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:25:08,657.657 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:25:08,797.797 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:25:08,805.805 INFO    ] time= 29/08/2026 12:25:08
[2026-08-29 12:25:08,809.809 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:25:08,815.815 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:25:08,882.882 INFO    ] No existing commands found in stream
[2026-08-29 12:25:13,912.912 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:25:13,915.915 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-08-29 12:25:16,443.443 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:25:16,444.444 INFO    ] Checking for system updates...
[2026-08-29 12:25:16,465.465 INFO    ] 200
[2026-08-29 12:25:16,466.466 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:25:16,498.498 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:25:16,499.499 INFO    ] No update needed
[2026-08-29 12:25:16,501.501 INFO    ] Checking for camera pi updates...
[2026-08-29 12:25:16,523.523 INFO    ] 200
[2026-08-29 12:25:16,524.524 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:25:16,547.547 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:25:16,626.626 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:25:16,628.628 INFO    ] No camera update needed
[2026-08-29 12:25:16,629.629 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:25:16,630.630 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:25:16,633.633 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:25:16,636.636 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:25:18,675.675 INFO    ] ================================================
[2026-08-29 12:25:18,691.691 INFO    ] Launching Daemon at Sat Aug 29 12:25:18 IST 2026
[2026-08-29 12:25:18,702.702 INFO    ] ================================================
[2026-08-29 12:25:19,064.064 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:25:19
[2026-08-29 12:25:19,399.399 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:25:19,674.674 INFO    ] Initializing speech engine...
[2026-08-29 12:25:19,686.686 INFO    ] 2026-08-29 12:25:19
[2026-08-29 12:25:19,958.958 INFO    ] 2026-08-29 12:25:19
[2026-08-29 12:25:20,011.011 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:25:20,243.243 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:25:20,248.248 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:25:20,386.386 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:25:20,416.416 INFO    ] time= 29/08/2026 12:25:20
[2026-08-29 12:25:20,477.477 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:25:20,522.522 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:25:20,578.578 INFO    ] No existing commands found in stream
[2026-08-29 12:25:25,591.591 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:25:25,594.594 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-08-29 12:25:27,961.961 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:25:27,962.962 INFO    ] Checking for system updates...
[2026-08-29 12:25:27,984.984 INFO    ] 200
[2026-08-29 12:25:27,986.986 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:25:28,016.016 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:25:28,017.017 INFO    ] No update needed
[2026-08-29 12:25:28,019.019 INFO    ] Checking for camera pi updates...
[2026-08-29 12:25:28,038.038 INFO    ] 200
[2026-08-29 12:25:28,040.040 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:25:28,062.062 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:25:28,149.149 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:25:28,150.150 INFO    ] No camera update needed
[2026-08-29 12:25:28,152.152 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:25:28,153.153 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:25:28,156.156 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:25:28,159.159 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:25:30,197.197 INFO    ] ================================================
[2026-08-29 12:25:30,214.214 INFO    ] Launching Daemon at Sat Aug 29 12:25:30 IST 2026
[2026-08-29 12:25:30,225.225 INFO    ] ================================================
[2026-08-29 12:25:30,571.571 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:25:30
[2026-08-29 12:25:30,889.889 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:25:31,135.135 INFO    ] Initializing speech engine...
[2026-08-29 12:25:31,141.141 INFO    ] 2026-08-29 12:25:31
[2026-08-29 12:25:31,390.390 INFO    ] 2026-08-29 12:25:31
[2026-08-29 12:25:31,426.426 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:25:31,599.599 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:25:31,611.611 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:25:31,751.751 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:25:31,760.760 INFO    ] time= 29/08/2026 12:25:31
[2026-08-29 12:25:31,766.766 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:25:31,830.830 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:25:31,922.922 INFO    ] No existing commands found in stream
[2026-08-29 12:25:36,953.953 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:25:36,956.956 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-08-29 12:25:41,257.257 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:25:41,258.258 INFO    ] Checking for system updates...
[2026-08-29 12:25:41,278.278 INFO    ] 200
[2026-08-29 12:25:41,280.280 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:25:41,310.310 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:25:41,311.311 INFO    ] No update needed
[2026-08-29 12:25:41,313.313 INFO    ] Checking for camera pi updates...
[2026-08-29 12:25:41,332.332 INFO    ] 200
[2026-08-29 12:25:41,333.333 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:25:41,356.356 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:25:41,432.432 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:25:41,433.433 INFO    ] No camera update needed
[2026-08-29 12:25:41,435.435 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:25:41,436.436 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:25:41,439.439 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:25:41,442.442 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:25:43,480.480 INFO    ] ================================================
[2026-08-29 12:25:43,496.496 INFO    ] Launching Daemon at Sat Aug 29 12:25:43 IST 2026
[2026-08-29 12:25:43,508.508 INFO    ] ================================================
[2026-08-29 12:25:43,872.872 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:25:43
[2026-08-29 12:25:44,183.183 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:25:44,318.318 INFO    ] Initializing speech engine...
[2026-08-29 12:25:44,332.332 INFO    ] 2026-08-29 12:25:44
[2026-08-29 12:25:44,602.602 INFO    ] 2026-08-29 12:25:44
[2026-08-29 12:25:44,637.637 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:25:44,789.789 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:25:44,802.802 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:25:44,945.945 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:25:44,956.956 INFO    ] time= 29/08/2026 12:25:44
[2026-08-29 12:25:44,961.961 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:25:44,983.983 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:25:45,036.036 INFO    ] No existing commands found in stream
[2026-08-29 12:25:50,047.047 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:25:50,049.049 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-08-29 12:25:53,502.502 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:25:53,504.504 INFO    ] Checking for system updates...
[2026-08-29 12:25:53,524.524 INFO    ] 200
[2026-08-29 12:25:53,525.525 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:25:53,559.559 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:25:53,560.560 INFO    ] No update needed
[2026-08-29 12:25:53,561.561 INFO    ] Checking for camera pi updates...
[2026-08-29 12:25:53,581.581 INFO    ] 200
[2026-08-29 12:25:53,583.583 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:25:53,606.606 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:25:53,690.690 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:25:53,691.691 INFO    ] No camera update needed
[2026-08-29 12:25:53,693.693 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:25:53,694.694 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:25:53,697.697 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:25:53,699.699 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:25:55,738.738 INFO    ] ================================================
[2026-08-29 12:25:55,753.753 INFO    ] Launching Daemon at Sat Aug 29 12:25:55 IST 2026
[2026-08-29 12:25:55,763.763 INFO    ] ================================================
[2026-08-29 12:25:56,335.335 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:25:56
[2026-08-29 12:25:56,922.922 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:25:57,167.167 INFO    ] Initializing speech engine...
[2026-08-29 12:25:57,175.175 INFO    ] 2026-08-29 12:25:57
[2026-08-29 12:25:57,383.383 INFO    ] 2026-08-29 12:25:57
[2026-08-29 12:25:57,411.411 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:25:57,525.525 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:25:57,527.527 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:25:57,626.626 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:25:57,628.628 INFO    ] time= 29/08/2026 12:25:57
[2026-08-29 12:25:57,629.629 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:25:57,630.630 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:25:57,683.683 INFO    ] No existing commands found in stream
[2026-08-29 12:26:02,692.692 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:26:02,695.695 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-08-29 12:26:05,305.305 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:26:05,307.307 INFO    ] Checking for system updates...
[2026-08-29 12:26:05,327.327 INFO    ] 200
[2026-08-29 12:26:05,328.328 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:26:05,358.358 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:26:05,359.359 INFO    ] No update needed
[2026-08-29 12:26:05,361.361 INFO    ] Checking for camera pi updates...
[2026-08-29 12:26:05,380.380 INFO    ] 200
[2026-08-29 12:26:05,381.381 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:26:05,405.405 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:26:05,497.497 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:26:05,500.500 INFO    ] No camera update needed
[2026-08-29 12:26:05,502.502 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:26:05,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:26:05,510.510 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:26:05,515.515 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:26:07,563.563 INFO    ] ================================================
[2026-08-29 12:26:07,578.578 INFO    ] Launching Daemon at Sat Aug 29 12:26:07 IST 2026
[2026-08-29 12:26:07,589.589 INFO    ] ================================================
[2026-08-29 12:26:08,155.155 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:26:08
[2026-08-29 12:26:08,604.604 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:26:08,740.740 INFO    ] Initializing speech engine...
[2026-08-29 12:26:08,750.750 INFO    ] 2026-08-29 12:26:08
[2026-08-29 12:26:09,032.032 INFO    ] 2026-08-29 12:26:09
[2026-08-29 12:26:09,058.058 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:26:09,223.223 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:26:09,271.271 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:26:09,385.385 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:26:09,390.390 INFO    ] time= 29/08/2026 12:26:09
[2026-08-29 12:26:09,413.413 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:26:09,419.419 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:26:09,533.533 INFO    ] No existing commands found in stream
[2026-08-29 12:26:14,552.552 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:26:14,556.556 INFO    ] Waiting 2.42 seconds before fallback handling...
[2026-08-29 12:26:17,368.368 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:26:17,370.370 INFO    ] Checking for system updates...
[2026-08-29 12:26:17,390.390 INFO    ] 200
[2026-08-29 12:26:17,391.391 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:26:17,424.424 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:26:17,425.425 INFO    ] No update needed
[2026-08-29 12:26:17,426.426 INFO    ] Checking for camera pi updates...
[2026-08-29 12:26:17,445.445 INFO    ] 200
[2026-08-29 12:26:17,446.446 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:26:17,471.471 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:26:17,569.569 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:26:17,570.570 INFO    ] No camera update needed
[2026-08-29 12:26:17,572.572 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:26:17,573.573 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:26:17,576.576 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:26:17,578.578 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:26:19,619.619 INFO    ] ================================================
[2026-08-29 12:26:19,634.634 INFO    ] Launching Daemon at Sat Aug 29 12:26:19 IST 2026
[2026-08-29 12:26:19,644.644 INFO    ] ================================================
[2026-08-29 12:26:19,974.974 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:26:19
[2026-08-29 12:26:20,287.287 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:26:20,493.493 INFO    ] Initializing speech engine...
[2026-08-29 12:26:20,499.499 INFO    ] 2026-08-29 12:26:20
[2026-08-29 12:26:20,796.796 INFO    ] 2026-08-29 12:26:20
[2026-08-29 12:26:20,830.830 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:26:20,981.981 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:26:21,016.016 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:26:21,147.147 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:26:21,169.169 INFO    ] time= 29/08/2026 12:26:21
[2026-08-29 12:26:21,175.175 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:26:21,182.182 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:26:21,300.300 INFO    ] No existing commands found in stream
[2026-08-29 12:26:26,310.310 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:26:26,313.313 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-08-29 12:26:26,996.996 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:26:26,997.997 INFO    ] Checking for system updates...
[2026-08-29 12:26:27,017.017 INFO    ] 200
[2026-08-29 12:26:27,019.019 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:26:27,048.048 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:26:27,050.050 INFO    ] No update needed
[2026-08-29 12:26:27,051.051 INFO    ] Checking for camera pi updates...
[2026-08-29 12:26:27,070.070 INFO    ] 200
[2026-08-29 12:26:27,072.072 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:26:27,094.094 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:26:27,175.175 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:26:27,176.176 INFO    ] No camera update needed
[2026-08-29 12:26:27,177.177 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:26:27,178.178 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:26:27,181.181 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:26:27,184.184 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:26:29,224.224 INFO    ] ================================================
[2026-08-29 12:26:29,239.239 INFO    ] Launching Daemon at Sat Aug 29 12:26:29 IST 2026
[2026-08-29 12:26:29,250.250 INFO    ] ================================================
[2026-08-29 12:26:29,575.575 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:26:29
[2026-08-29 12:26:29,887.887 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:26:30,019.019 INFO    ] Initializing speech engine...
[2026-08-29 12:26:30,023.023 INFO    ] 2026-08-29 12:26:30
[2026-08-29 12:26:30,253.253 INFO    ] 2026-08-29 12:26:30
[2026-08-29 12:26:30,284.284 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:26:30,417.417 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:26:30,455.455 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:26:30,630.630 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:26:30,693.693 INFO    ] time= 29/08/2026 12:26:30
[2026-08-29 12:26:30,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:26:30,734.734 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:26:30,812.812 INFO    ] No existing commands found in stream
[2026-08-29 12:26:35,826.826 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:26:35,829.829 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-08-29 12:26:36,284.284 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:26:36,285.285 INFO    ] Checking for system updates...
[2026-08-29 12:26:36,305.305 INFO    ] 200
[2026-08-29 12:26:36,306.306 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:26:36,338.338 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:26:36,339.339 INFO    ] No update needed
[2026-08-29 12:26:36,341.341 INFO    ] Checking for camera pi updates...
[2026-08-29 12:26:36,360.360 INFO    ] 200
[2026-08-29 12:26:36,361.361 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:26:36,385.385 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:26:36,461.461 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:26:36,463.463 INFO    ] No camera update needed
[2026-08-29 12:26:36,464.464 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:26:36,465.465 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:26:36,468.468 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:26:36,471.471 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:26:38,509.509 INFO    ] ================================================
[2026-08-29 12:26:38,525.525 INFO    ] Launching Daemon at Sat Aug 29 12:26:38 IST 2026
[2026-08-29 12:26:38,535.535 INFO    ] ================================================
[2026-08-29 12:26:39,117.117 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:26:39
[2026-08-29 12:26:39,621.621 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:26:39,764.764 INFO    ] Initializing speech engine...
[2026-08-29 12:26:39,769.769 INFO    ] 2026-08-29 12:26:39
[2026-08-29 12:26:39,973.973 INFO    ] 2026-08-29 12:26:39
[2026-08-29 12:26:40,002.002 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:26:40,159.159 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:26:40,164.164 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:26:40,337.337 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:26:40,364.364 INFO    ] time= 29/08/2026 12:26:40
[2026-08-29 12:26:40,379.379 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:26:40,389.389 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:26:40,496.496 INFO    ] No existing commands found in stream
[2026-08-29 12:26:45,524.524 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:26:45,527.527 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-08-29 12:26:48,729.729 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:26:48,731.731 INFO    ] Checking for system updates...
[2026-08-29 12:26:48,767.767 INFO    ] 200
[2026-08-29 12:26:48,769.769 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:26:48,822.822 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:26:48,825.825 INFO    ] No update needed
[2026-08-29 12:26:48,827.827 INFO    ] Checking for camera pi updates...
[2026-08-29 12:26:48,851.851 INFO    ] 200
[2026-08-29 12:26:48,852.852 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:26:48,875.875 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:26:48,949.949 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:26:48,951.951 INFO    ] No camera update needed
[2026-08-29 12:26:48,952.952 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:26:48,953.953 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:26:48,956.956 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:26:48,959.959 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:26:51,996.996 INFO    ] ================================================
[2026-08-29 12:26:51,011.011 INFO    ] Launching Daemon at Sat Aug 29 12:26:51 IST 2026
[2026-08-29 12:26:51,022.022 INFO    ] ================================================
[2026-08-29 12:26:51,517.517 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:26:51
[2026-08-29 12:26:52,108.108 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:26:52,373.373 INFO    ] Initializing speech engine...
[2026-08-29 12:26:52,386.386 INFO    ] 2026-08-29 12:26:52
[2026-08-29 12:26:52,635.635 INFO    ] 2026-08-29 12:26:52
[2026-08-29 12:26:52,670.670 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:26:52,850.850 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:26:52,865.865 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:26:52,994.994 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:26:53,002.002 INFO    ] time= 29/08/2026 12:26:52
[2026-08-29 12:26:53,008.008 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:26:53,032.032 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:26:53,167.167 INFO    ] No existing commands found in stream
[2026-08-29 12:26:58,203.203 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:26:58,205.205 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-08-29 12:27:04,500.500 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:27:04,503.503 INFO    ] Checking for system updates...
[2026-08-29 12:27:04,538.538 INFO    ] 200
[2026-08-29 12:27:04,541.541 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:27:04,594.594 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:27:04,597.597 INFO    ] No update needed
[2026-08-29 12:27:04,599.599 INFO    ] Checking for camera pi updates...
[2026-08-29 12:27:04,632.632 INFO    ] 200
[2026-08-29 12:27:04,635.635 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:27:04,676.676 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:27:04,757.757 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:27:04,760.760 INFO    ] No camera update needed
[2026-08-29 12:27:04,762.762 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:27:04,764.764 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:27:04,769.769 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:27:04,775.775 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:27:06,815.815 INFO    ] ================================================
[2026-08-29 12:27:06,830.830 INFO    ] Launching Daemon at Sat Aug 29 12:27:06 IST 2026
[2026-08-29 12:27:06,841.841 INFO    ] ================================================
[2026-08-29 12:27:07,210.210 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:27:07
[2026-08-29 12:27:07,521.521 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:27:07,658.658 INFO    ] Initializing speech engine...
[2026-08-29 12:27:07,669.669 INFO    ] 2026-08-29 12:27:07
[2026-08-29 12:27:07,871.871 INFO    ] 2026-08-29 12:27:07
[2026-08-29 12:27:07,899.899 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:27:08,030.030 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:27:08,083.083 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:27:08,217.217 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:27:08,278.278 INFO    ] time= 29/08/2026 12:27:08
[2026-08-29 12:27:08,310.310 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:27:08,312.312 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:27:08,384.384 INFO    ] No existing commands found in stream
[2026-08-29 12:27:13,393.393 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:27:13,395.395 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-08-29 12:27:17,384.384 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:27:17,386.386 INFO    ] Checking for system updates...
[2026-08-29 12:27:17,406.406 INFO    ] 200
[2026-08-29 12:27:17,407.407 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:27:17,439.439 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:27:17,440.440 INFO    ] No update needed
[2026-08-29 12:27:17,441.441 INFO    ] Checking for camera pi updates...
[2026-08-29 12:27:17,461.461 INFO    ] 200
[2026-08-29 12:27:17,463.463 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:27:17,487.487 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:27:17,591.591 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:27:17,593.593 INFO    ] No camera update needed
[2026-08-29 12:27:17,594.594 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:27:17,595.595 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:27:17,598.598 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:27:17,600.600 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:27:19,640.640 INFO    ] ================================================
[2026-08-29 12:27:19,655.655 INFO    ] Launching Daemon at Sat Aug 29 12:27:19 IST 2026
[2026-08-29 12:27:19,665.665 INFO    ] ================================================
[2026-08-29 12:27:20,033.033 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:27:20
[2026-08-29 12:27:20,345.345 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:27:20,488.488 INFO    ] Initializing speech engine...
[2026-08-29 12:27:20,493.493 INFO    ] 2026-08-29 12:27:20
[2026-08-29 12:27:20,698.698 INFO    ] 2026-08-29 12:27:20
[2026-08-29 12:27:20,726.726 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:27:20,910.910 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:27:20,920.920 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:27:21,071.071 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:27:21,120.120 INFO    ] time= 29/08/2026 12:27:21
[2026-08-29 12:27:21,142.142 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:27:21,149.149 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:27:21,216.216 INFO    ] No existing commands found in stream
[2026-08-29 12:27:26,230.230 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:27:26,233.233 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-08-29 12:27:30,450.450 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:27:30,452.452 INFO    ] Checking for system updates...
[2026-08-29 12:27:30,473.473 INFO    ] 200
[2026-08-29 12:27:30,474.474 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:27:30,504.504 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:27:30,506.506 INFO    ] No update needed
[2026-08-29 12:27:30,508.508 INFO    ] Checking for camera pi updates...
[2026-08-29 12:27:30,527.527 INFO    ] 200
[2026-08-29 12:27:30,529.529 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:27:30,573.573 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:27:30,660.660 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:27:30,662.662 INFO    ] No camera update needed
[2026-08-29 12:27:30,665.665 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:27:30,667.667 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:27:30,672.672 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:27:30,677.677 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:27:32,721.721 INFO    ] ================================================
[2026-08-29 12:27:32,743.743 INFO    ] Launching Daemon at Sat Aug 29 12:27:32 IST 2026
[2026-08-29 12:27:32,755.755 INFO    ] ================================================
[2026-08-29 12:27:33,374.374 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:27:33
[2026-08-29 12:27:33,966.966 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:27:34,240.240 INFO    ] Initializing speech engine...
[2026-08-29 12:27:34,249.249 INFO    ] 2026-08-29 12:27:34
[2026-08-29 12:27:34,492.492 INFO    ] 2026-08-29 12:27:34
[2026-08-29 12:27:34,527.527 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:27:34,708.708 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:27:34,723.723 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:27:34,854.854 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:27:34,859.859 INFO    ] time= 29/08/2026 12:27:34
[2026-08-29 12:27:34,865.865 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:27:34,916.916 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:27:35,040.040 INFO    ] No existing commands found in stream
[2026-08-29 12:27:40,064.064 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:27:40,067.067 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-08-29 12:27:43,485.485 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:27:43,487.487 INFO    ] Checking for system updates...
[2026-08-29 12:27:43,507.507 INFO    ] 200
[2026-08-29 12:27:43,508.508 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:27:43,538.538 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:27:43,539.539 INFO    ] No update needed
[2026-08-29 12:27:43,540.540 INFO    ] Checking for camera pi updates...
[2026-08-29 12:27:43,561.561 INFO    ] 200
[2026-08-29 12:27:43,563.563 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:27:43,585.585 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:27:43,663.663 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:27:43,664.664 INFO    ] No camera update needed
[2026-08-29 12:27:43,665.665 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:27:43,666.666 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:27:43,669.669 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:27:43,672.672 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:27:45,713.713 INFO    ] ================================================
[2026-08-29 12:27:45,728.728 INFO    ] Launching Daemon at Sat Aug 29 12:27:45 IST 2026
[2026-08-29 12:27:45,739.739 INFO    ] ================================================
[2026-08-29 12:27:46,082.082 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:27:46
[2026-08-29 12:27:46,402.402 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:27:46,647.647 INFO    ] Initializing speech engine...
[2026-08-29 12:27:46,654.654 INFO    ] 2026-08-29 12:27:46
[2026-08-29 12:27:46,972.972 INFO    ] 2026-08-29 12:27:46
[2026-08-29 12:27:47,054.054 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:27:47,209.209 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:27:47,231.231 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:27:47,442.442 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:27:47,475.475 INFO    ] time= 29/08/2026 12:27:47
[2026-08-29 12:27:47,491.491 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:27:47,501.501 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:27:47,626.626 INFO    ] No existing commands found in stream
[2026-08-29 12:27:52,642.642 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:27:52,645.645 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-08-29 12:27:56,630.630 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:27:56,633.633 INFO    ] Checking for system updates...
[2026-08-29 12:27:56,673.673 INFO    ] 200
[2026-08-29 12:27:56,676.676 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:27:56,735.735 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:27:56,738.738 INFO    ] No update needed
[2026-08-29 12:27:56,741.741 INFO    ] Checking for camera pi updates...
[2026-08-29 12:27:56,779.779 INFO    ] 200
[2026-08-29 12:27:56,781.781 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:27:56,827.827 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:27:56,927.927 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:27:56,929.929 INFO    ] No camera update needed
[2026-08-29 12:27:56,932.932 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:27:56,934.934 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:27:56,939.939 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:27:56,944.944 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:27:58,985.985 INFO    ] ================================================
[2026-08-29 12:27:59,002.002 INFO    ] Launching Daemon at Sat Aug 29 12:27:58 IST 2026
[2026-08-29 12:27:59,013.013 INFO    ] ================================================
[2026-08-29 12:27:59,371.371 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:27:59
[2026-08-29 12:27:59,687.687 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:27:59,830.830 INFO    ] Initializing speech engine...
[2026-08-29 12:27:59,836.836 INFO    ] 2026-08-29 12:27:59
[2026-08-29 12:28:00,048.048 INFO    ] 2026-08-29 12:28:00
[2026-08-29 12:28:00,102.102 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:28:00,253.253 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:28:00,258.258 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:28:00,389.389 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:28:00,434.434 INFO    ] time= 29/08/2026 12:28:00
[2026-08-29 12:28:00,493.493 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:28:00,520.520 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:28:00,637.637 INFO    ] No existing commands found in stream
[2026-08-29 12:28:05,664.664 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:28:05,667.667 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-08-29 12:28:07,756.756 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:28:07,757.757 INFO    ] Checking for system updates...
[2026-08-29 12:28:07,777.777 INFO    ] 200
[2026-08-29 12:28:07,779.779 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:28:07,810.810 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:28:07,812.812 INFO    ] No update needed
[2026-08-29 12:28:07,813.813 INFO    ] Checking for camera pi updates...
[2026-08-29 12:28:07,833.833 INFO    ] 200
[2026-08-29 12:28:07,834.834 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:28:07,862.862 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:28:08,040.040 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:28:08,043.043 INFO    ] No camera update needed
[2026-08-29 12:28:08,045.045 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:28:08,048.048 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:28:08,053.053 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:28:08,058.058 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:28:10,100.100 INFO    ] ================================================
[2026-08-29 12:28:10,115.115 INFO    ] Launching Daemon at Sat Aug 29 12:28:10 IST 2026
[2026-08-29 12:28:10,125.125 INFO    ] ================================================
[2026-08-29 12:28:10,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:28:10
[2026-08-29 12:28:11,185.185 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:28:11,455.455 INFO    ] Initializing speech engine...
[2026-08-29 12:28:11,462.462 INFO    ] 2026-08-29 12:28:11
[2026-08-29 12:28:11,742.742 INFO    ] 2026-08-29 12:28:11
[2026-08-29 12:28:11,796.796 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:28:12,024.024 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:28:12,031.031 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:28:12,162.162 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:28:12,218.218 INFO    ] time= 29/08/2026 12:28:12
[2026-08-29 12:28:12,278.278 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:28:12,296.296 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:28:12,446.446 INFO    ] No existing commands found in stream
[2026-08-29 12:28:17,467.467 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:28:17,470.470 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-08-29 12:28:20,266.266 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:28:20,268.268 INFO    ] Checking for system updates...
[2026-08-29 12:28:20,290.290 INFO    ] 200
[2026-08-29 12:28:20,291.291 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:28:20,323.323 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:28:20,324.324 INFO    ] No update needed
[2026-08-29 12:28:20,326.326 INFO    ] Checking for camera pi updates...
[2026-08-29 12:28:20,346.346 INFO    ] 200
[2026-08-29 12:28:20,348.348 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:28:20,375.375 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:28:20,476.476 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:28:20,478.478 INFO    ] No camera update needed
[2026-08-29 12:28:20,479.479 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:28:20,480.480 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:28:20,484.484 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:28:20,487.487 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:28:22,526.526 INFO    ] ================================================
[2026-08-29 12:28:22,541.541 INFO    ] Launching Daemon at Sat Aug 29 12:28:22 IST 2026
[2026-08-29 12:28:22,552.552 INFO    ] ================================================
[2026-08-29 12:28:22,896.896 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:28:22
[2026-08-29 12:28:23,209.209 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:28:23,352.352 INFO    ] Initializing speech engine...
[2026-08-29 12:28:23,356.356 INFO    ] 2026-08-29 12:28:23
[2026-08-29 12:28:23,558.558 INFO    ] 2026-08-29 12:28:23
[2026-08-29 12:28:23,636.636 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:28:23,784.784 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:28:23,793.793 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:28:23,926.926 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:28:23,968.968 INFO    ] time= 29/08/2026 12:28:23
[2026-08-29 12:28:24,027.027 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:28:24,061.061 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:28:24,116.116 INFO    ] No existing commands found in stream
[2026-08-29 12:28:29,128.128 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:28:29,131.131 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-08-29 12:28:30,828.828 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:28:30,830.830 INFO    ] Checking for system updates...
[2026-08-29 12:28:30,850.850 INFO    ] 200
[2026-08-29 12:28:30,852.852 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:28:30,883.883 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:28:30,884.884 INFO    ] No update needed
[2026-08-29 12:28:30,886.886 INFO    ] Checking for camera pi updates...
[2026-08-29 12:28:30,906.906 INFO    ] 200
[2026-08-29 12:28:30,908.908 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:28:30,932.932 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:28:31,031.031 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:28:31,032.032 INFO    ] No camera update needed
[2026-08-29 12:28:31,034.034 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:28:31,035.035 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:28:31,038.038 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:28:31,041.041 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:28:33,084.084 INFO    ] ================================================
[2026-08-29 12:28:33,099.099 INFO    ] Launching Daemon at Sat Aug 29 12:28:33 IST 2026
[2026-08-29 12:28:33,109.109 INFO    ] ================================================
[2026-08-29 12:28:33,699.699 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:28:33
[2026-08-29 12:28:34,300.300 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:28:34,578.578 INFO    ] Initializing speech engine...
[2026-08-29 12:28:34,585.585 INFO    ] 2026-08-29 12:28:34
[2026-08-29 12:28:34,842.842 INFO    ] 2026-08-29 12:28:34
[2026-08-29 12:28:34,886.886 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:28:35,030.030 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:28:35,070.070 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:28:35,297.297 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:28:35,322.322 INFO    ] time= 29/08/2026 12:28:35
[2026-08-29 12:28:35,324.324 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:28:35,329.329 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:28:35,395.395 INFO    ] No existing commands found in stream
[2026-08-29 12:28:40,405.405 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:28:40,407.407 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-08-29 12:28:43,631.631 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:28:43,632.632 INFO    ] Checking for system updates...
[2026-08-29 12:28:43,653.653 INFO    ] 200
[2026-08-29 12:28:43,654.654 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:28:43,688.688 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:28:43,690.690 INFO    ] No update needed
[2026-08-29 12:28:43,691.691 INFO    ] Checking for camera pi updates...
[2026-08-29 12:28:43,710.710 INFO    ] 200
[2026-08-29 12:28:43,712.712 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:28:43,735.735 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:28:43,810.810 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:28:43,811.811 INFO    ] No camera update needed
[2026-08-29 12:28:43,813.813 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:28:43,814.814 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:28:43,817.817 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:28:43,819.819 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:28:45,859.859 INFO    ] ================================================
[2026-08-29 12:28:45,874.874 INFO    ] Launching Daemon at Sat Aug 29 12:28:45 IST 2026
[2026-08-29 12:28:45,885.885 INFO    ] ================================================
[2026-08-29 12:28:46,239.239 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:28:46
[2026-08-29 12:28:46,551.551 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:28:46,793.793 INFO    ] Initializing speech engine...
[2026-08-29 12:28:46,802.802 INFO    ] 2026-08-29 12:28:46
[2026-08-29 12:28:47,048.048 INFO    ] 2026-08-29 12:28:47
[2026-08-29 12:28:47,083.083 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:28:47,256.256 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:28:47,268.268 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:28:47,409.409 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:28:47,418.418 INFO    ] time= 29/08/2026 12:28:47
[2026-08-29 12:28:47,424.424 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:28:47,470.470 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:28:47,590.590 INFO    ] No existing commands found in stream
[2026-08-29 12:28:52,620.620 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:28:52,623.623 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-08-29 12:28:55,596.596 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:28:55,597.597 INFO    ] Checking for system updates...
[2026-08-29 12:28:55,618.618 INFO    ] 200
[2026-08-29 12:28:55,619.619 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:28:55,651.651 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:28:55,653.653 INFO    ] No update needed
[2026-08-29 12:28:55,654.654 INFO    ] Checking for camera pi updates...
[2026-08-29 12:28:55,673.673 INFO    ] 200
[2026-08-29 12:28:55,675.675 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:28:55,699.699 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:28:55,796.796 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:28:55,797.797 INFO    ] No camera update needed
[2026-08-29 12:28:55,798.798 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:28:55,799.799 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:28:55,802.802 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:28:55,805.805 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:28:57,845.845 INFO    ] ================================================
[2026-08-29 12:28:57,860.860 INFO    ] Launching Daemon at Sat Aug 29 12:28:57 IST 2026
[2026-08-29 12:28:57,871.871 INFO    ] ================================================
[2026-08-29 12:28:58,250.250 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:28:58
[2026-08-29 12:28:58,567.567 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:28:58,709.709 INFO    ] Initializing speech engine...
[2026-08-29 12:28:58,719.719 INFO    ] 2026-08-29 12:28:58
[2026-08-29 12:28:58,985.985 INFO    ] 2026-08-29 12:28:58
[2026-08-29 12:28:59,016.016 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:28:59,148.148 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:28:59,192.192 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:28:59,343.343 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:28:59,370.370 INFO    ] time= 29/08/2026 12:28:59
[2026-08-29 12:28:59,434.434 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:28:59,468.468 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:28:59,545.545 INFO    ] No existing commands found in stream
[2026-08-29 12:29:04,556.556 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:29:04,559.559 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-08-29 12:29:11,027.027 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:29:11,029.029 INFO    ] Checking for system updates...
[2026-08-29 12:29:11,066.066 INFO    ] 200
[2026-08-29 12:29:11,068.068 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:29:11,123.123 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:29:11,125.125 INFO    ] No update needed
[2026-08-29 12:29:11,132.132 INFO    ] Checking for camera pi updates...
[2026-08-29 12:29:11,164.164 INFO    ] 200
[2026-08-29 12:29:11,165.165 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:29:11,190.190 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:29:11,290.290 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:29:11,291.291 INFO    ] No camera update needed
[2026-08-29 12:29:11,292.292 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:29:11,294.294 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:29:11,297.297 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:29:11,299.299 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:29:13,337.337 INFO    ] ================================================
[2026-08-29 12:29:13,352.352 INFO    ] Launching Daemon at Sat Aug 29 12:29:13 IST 2026
[2026-08-29 12:29:13,363.363 INFO    ] ================================================
[2026-08-29 12:29:13,710.710 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:29:13
[2026-08-29 12:29:14,031.031 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:29:14,169.169 INFO    ] Initializing speech engine...
[2026-08-29 12:29:14,179.179 INFO    ] 2026-08-29 12:29:14
[2026-08-29 12:29:14,384.384 INFO    ] 2026-08-29 12:29:14
[2026-08-29 12:29:14,413.413 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:29:14,535.535 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:29:14,598.598 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:29:14,735.735 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:29:14,801.801 INFO    ] time= 29/08/2026 12:29:14
[2026-08-29 12:29:14,825.825 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:29:14,832.832 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:29:14,897.897 INFO    ] No existing commands found in stream
[2026-08-29 12:29:19,908.908 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:29:19,911.911 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-08-29 12:29:21,130.130 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:29:21,133.133 INFO    ] Checking for system updates...
[2026-08-29 12:29:21,169.169 INFO    ] 200
[2026-08-29 12:29:21,172.172 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:29:21,228.228 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:29:21,231.231 INFO    ] No update needed
[2026-08-29 12:29:21,234.234 INFO    ] Checking for camera pi updates...
[2026-08-29 12:29:21,269.269 INFO    ] 200
[2026-08-29 12:29:21,272.272 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:29:21,313.313 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:29:21,398.398 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:29:21,401.401 INFO    ] No camera update needed
[2026-08-29 12:29:21,404.404 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:29:21,406.406 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:29:21,413.413 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:29:21,418.418 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:29:23,461.461 INFO    ] ================================================
[2026-08-29 12:29:23,476.476 INFO    ] Launching Daemon at Sat Aug 29 12:29:23 IST 2026
[2026-08-29 12:29:23,487.487 INFO    ] ================================================
[2026-08-29 12:29:23,838.838 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:29:23
[2026-08-29 12:29:24,155.155 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:29:24,300.300 INFO    ] Initializing speech engine...
[2026-08-29 12:29:24,305.305 INFO    ] 2026-08-29 12:29:24
[2026-08-29 12:29:24,509.509 INFO    ] 2026-08-29 12:29:24
[2026-08-29 12:29:24,537.537 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:29:24,721.721 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:29:24,762.762 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:29:24,910.910 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:29:24,946.946 INFO    ] time= 29/08/2026 12:29:24
[2026-08-29 12:29:24,993.993 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:29:25,034.034 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:29:25,127.127 INFO    ] No existing commands found in stream
[2026-08-29 12:29:30,158.158 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:29:30,160.160 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-08-29 12:29:41,459.459 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:29:41,462.462 INFO    ] Checking for system updates...
[2026-08-29 12:29:41,501.501 INFO    ] 200
[2026-08-29 12:29:41,504.504 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:29:41,557.557 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:29:41,559.559 INFO    ] No update needed
[2026-08-29 12:29:41,562.562 INFO    ] Checking for camera pi updates...
[2026-08-29 12:29:41,592.592 INFO    ] 200
[2026-08-29 12:29:41,593.593 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:29:41,618.618 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:29:41,694.694 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:29:41,696.696 INFO    ] No camera update needed
[2026-08-29 12:29:41,697.697 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:29:41,698.698 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:29:41,701.701 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:29:41,704.704 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:29:43,743.743 INFO    ] ================================================
[2026-08-29 12:29:43,758.758 INFO    ] Launching Daemon at Sat Aug 29 12:29:43 IST 2026
[2026-08-29 12:29:43,769.769 INFO    ] ================================================
[2026-08-29 12:29:44,121.121 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:29:44
[2026-08-29 12:29:44,433.433 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:29:44,565.565 INFO    ] Initializing speech engine...
[2026-08-29 12:29:44,569.569 INFO    ] 2026-08-29 12:29:44
[2026-08-29 12:29:44,797.797 INFO    ] 2026-08-29 12:29:44
[2026-08-29 12:29:44,828.828 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:29:44,961.961 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:29:45,004.004 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:29:45,134.134 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:29:45,174.174 INFO    ] time= 29/08/2026 12:29:45
[2026-08-29 12:29:45,209.209 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:29:45,258.258 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:29:45,356.356 INFO    ] No existing commands found in stream
[2026-08-29 12:29:50,366.366 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:29:50,369.369 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-08-29 12:29:54,418.418 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:29:54,419.419 INFO    ] Checking for system updates...
[2026-08-29 12:29:54,439.439 INFO    ] 200
[2026-08-29 12:29:54,441.441 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:29:54,474.474 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:29:54,475.475 INFO    ] No update needed
[2026-08-29 12:29:54,477.477 INFO    ] Checking for camera pi updates...
[2026-08-29 12:29:54,496.496 INFO    ] 200
[2026-08-29 12:29:54,498.498 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:29:54,521.521 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:29:54,613.613 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:29:54,615.615 INFO    ] No camera update needed
[2026-08-29 12:29:54,616.616 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:29:54,617.617 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:29:54,620.620 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:29:54,623.623 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:29:56,663.663 INFO    ] ================================================
[2026-08-29 12:29:56,679.679 INFO    ] Launching Daemon at Sat Aug 29 12:29:56 IST 2026
[2026-08-29 12:29:56,690.690 INFO    ] ================================================
[2026-08-29 12:29:57,273.273 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:29:57
[2026-08-29 12:29:57,873.873 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:29:58,137.137 INFO    ] Initializing speech engine...
[2026-08-29 12:29:58,143.143 INFO    ] 2026-08-29 12:29:58
[2026-08-29 12:29:58,442.442 INFO    ] 2026-08-29 12:29:58
[2026-08-29 12:29:58,483.483 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:29:58,677.677 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:29:58,683.683 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:29:58,792.792 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:29:58,809.809 INFO    ] time= 29/08/2026 12:29:58
[2026-08-29 12:29:58,854.854 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:29:58,882.882 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:29:58,968.968 INFO    ] No existing commands found in stream
[2026-08-29 12:30:03,998.998 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:30:04,001.001 INFO    ] Waiting 2.66 seconds before fallback handling...
[2026-08-29 12:30:17,012.012 INFO    ] <class 'urllib3.exceptions.MaxRetryError'>
[2026-08-29 12:30:17,044.044 INFO    ] ('HTTPSConnectionPool(host=\'neuustore.com\', port=443): Max retries exceeded with url: /tm/process-order/getorder/TM07201911 (Caused by ReadTimeoutError("HTTPSConnectionPool(host=\'neuustore.com\', port=443): Read timed out. (read timeout=5)",))',)
[2026-08-29 12:30:17,055.055 INFO    ] HTTPSConnectionPool(host='neuustore.com', port=443): Max retries exceeded with url: /tm/process-order/getorder/TM07201911 (Caused by ReadTimeoutError("HTTPSConnectionPool(host='neuustore.com', port=443): Read timed out. (read timeout=5)",))
[2026-08-29 12:30:17,070.070 INFO    ] None
[2026-08-29 12:30:17,071.071 INFO    ] Checking for system updates...
[2026-08-29 12:30:17,097.097 INFO    ] 200
[2026-08-29 12:30:17,099.099 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:30:17,128.128 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:30:17,130.130 INFO    ] No update needed
[2026-08-29 12:30:17,131.131 INFO    ] Checking for camera pi updates...
[2026-08-29 12:30:17,152.152 INFO    ] 200
[2026-08-29 12:30:17,153.153 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:30:17,180.180 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:30:17,357.357 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:30:17,359.359 INFO    ] No camera update needed
[2026-08-29 12:30:17,362.362 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:30:17,364.364 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:30:17,369.369 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:30:17,374.374 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:30:19,414.414 INFO    ] ================================================
[2026-08-29 12:30:19,430.430 INFO    ] Launching Daemon at Sat Aug 29 12:30:19 IST 2026
[2026-08-29 12:30:19,440.440 INFO    ] ================================================
[2026-08-29 12:30:20,062.062 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:30:20
[2026-08-29 12:30:20,523.523 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:30:20,679.679 INFO    ] Initializing speech engine...
[2026-08-29 12:30:20,706.706 INFO    ] 2026-08-29 12:30:20
[2026-08-29 12:30:21,013.013 INFO    ] 2026-08-29 12:30:20
[2026-08-29 12:30:21,060.060 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:30:21,263.263 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:30:21,279.279 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:30:21,411.411 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:30:21,418.418 INFO    ] time= 29/08/2026 12:30:21
[2026-08-29 12:30:21,426.426 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:30:21,451.451 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:30:21,570.570 INFO    ] No existing commands found in stream
[2026-08-29 12:30:26,595.595 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:30:26,598.598 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-08-29 12:30:39,925.925 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:30:39,926.926 INFO    ] Checking for system updates...
[2026-08-29 12:30:39,946.946 INFO    ] 200
[2026-08-29 12:30:39,948.948 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:30:39,977.977 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:30:39,978.978 INFO    ] No update needed
[2026-08-29 12:30:39,980.980 INFO    ] Checking for camera pi updates...
[2026-08-29 12:30:40,000.000 INFO    ] 200
[2026-08-29 12:30:40,001.001 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:30:40,024.024 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:30:40,131.131 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:30:40,133.133 INFO    ] No camera update needed
[2026-08-29 12:30:40,134.134 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:30:40,135.135 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:30:40,138.138 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:30:40,141.141 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:30:42,179.179 INFO    ] ================================================
[2026-08-29 12:30:42,194.194 INFO    ] Launching Daemon at Sat Aug 29 12:30:42 IST 2026
[2026-08-29 12:30:42,205.205 INFO    ] ================================================
[2026-08-29 12:30:42,727.727 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:30:42
[2026-08-29 12:30:43,316.316 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:30:43,592.592 INFO    ] Initializing speech engine...
[2026-08-29 12:30:43,613.613 INFO    ] 2026-08-29 12:30:43
[2026-08-29 12:30:43,897.897 INFO    ] 2026-08-29 12:30:43
[2026-08-29 12:30:43,955.955 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:30:44,188.188 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:30:44,198.198 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:30:44,336.336 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:30:44,389.389 INFO    ] time= 29/08/2026 12:30:44
[2026-08-29 12:30:44,450.450 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:30:44,476.476 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:30:44,534.534 INFO    ] No existing commands found in stream
[2026-08-29 12:30:49,547.547 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:30:49,551.551 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-08-29 12:30:51,309.309 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:30:51,310.310 INFO    ] Checking for system updates...
[2026-08-29 12:30:51,333.333 INFO    ] 200
[2026-08-29 12:30:51,334.334 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:30:51,364.364 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:30:51,365.365 INFO    ] No update needed
[2026-08-29 12:30:51,366.366 INFO    ] Checking for camera pi updates...
[2026-08-29 12:30:51,385.385 INFO    ] 200
[2026-08-29 12:30:51,387.387 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:30:51,410.410 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:30:51,515.515 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:30:51,516.516 INFO    ] No camera update needed
[2026-08-29 12:30:51,517.517 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:30:51,519.519 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:30:51,521.521 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:30:51,524.524 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:30:53,563.563 INFO    ] ================================================
[2026-08-29 12:30:53,578.578 INFO    ] Launching Daemon at Sat Aug 29 12:30:53 IST 2026
[2026-08-29 12:30:53,589.589 INFO    ] ================================================
[2026-08-29 12:30:53,950.950 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:30:53
[2026-08-29 12:30:54,267.267 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:30:54,401.401 INFO    ] Initializing speech engine...
[2026-08-29 12:30:54,415.415 INFO    ] 2026-08-29 12:30:54
[2026-08-29 12:30:54,607.607 INFO    ] 2026-08-29 12:30:54
[2026-08-29 12:30:54,687.687 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:30:54,840.840 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:30:54,846.846 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:30:54,975.975 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:30:55,017.017 INFO    ] time= 29/08/2026 12:30:54
[2026-08-29 12:30:55,087.087 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:30:55,111.111 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:30:55,163.163 INFO    ] No existing commands found in stream
[2026-08-29 12:31:00,175.175 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:31:00,177.177 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-08-29 12:31:03,366.366 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:31:03,369.369 INFO    ] Checking for system updates...
[2026-08-29 12:31:03,422.422 INFO    ] 200
[2026-08-29 12:31:03,426.426 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:31:03,479.479 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:31:03,482.482 INFO    ] No update needed
[2026-08-29 12:31:03,485.485 INFO    ] Checking for camera pi updates...
[2026-08-29 12:31:03,531.531 INFO    ] 200
[2026-08-29 12:31:03,534.534 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:31:03,579.579 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:31:03,659.659 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:31:03,662.662 INFO    ] No camera update needed
[2026-08-29 12:31:03,664.664 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:31:03,667.667 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:31:03,672.672 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:31:03,676.676 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:31:05,718.718 INFO    ] ================================================
[2026-08-29 12:31:05,734.734 INFO    ] Launching Daemon at Sat Aug 29 12:31:05 IST 2026
[2026-08-29 12:31:05,744.744 INFO    ] ================================================
[2026-08-29 12:31:06,264.264 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:31:06
[2026-08-29 12:31:06,919.919 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:31:07,230.230 INFO    ] Initializing speech engine...
[2026-08-29 12:31:07,241.241 INFO    ] 2026-08-29 12:31:07
[2026-08-29 12:31:07,515.515 INFO    ] 2026-08-29 12:31:07
[2026-08-29 12:31:07,569.569 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:31:07,796.796 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:31:07,802.802 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:31:07,937.937 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:31:07,975.975 INFO    ] time= 29/08/2026 12:31:07
[2026-08-29 12:31:08,041.041 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:31:08,075.075 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:31:08,132.132 INFO    ] No existing commands found in stream
[2026-08-29 12:31:13,145.145 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:31:13,148.148 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-08-29 12:31:15,636.636 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:31:15,638.638 INFO    ] Checking for system updates...
[2026-08-29 12:31:15,660.660 INFO    ] 200
[2026-08-29 12:31:15,661.661 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:31:15,692.692 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:31:15,693.693 INFO    ] No update needed
[2026-08-29 12:31:15,695.695 INFO    ] Checking for camera pi updates...
[2026-08-29 12:31:15,714.714 INFO    ] 200
[2026-08-29 12:31:15,716.716 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:31:15,739.739 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:31:15,815.815 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:31:15,816.816 INFO    ] No camera update needed
[2026-08-29 12:31:15,818.818 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:31:15,819.819 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:31:15,822.822 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:31:15,825.825 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:31:17,867.867 INFO    ] ================================================
[2026-08-29 12:31:17,882.882 INFO    ] Launching Daemon at Sat Aug 29 12:31:17 IST 2026
[2026-08-29 12:31:17,894.894 INFO    ] ================================================
[2026-08-29 12:31:18,448.448 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:31:18
[2026-08-29 12:31:19,034.034 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:31:19,284.284 INFO    ] Initializing speech engine...
[2026-08-29 12:31:19,304.304 INFO    ] 2026-08-29 12:31:19
[2026-08-29 12:31:19,560.560 INFO    ] 2026-08-29 12:31:19
[2026-08-29 12:31:19,596.596 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:31:19,770.770 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:31:19,781.781 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:31:19,895.895 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:31:19,901.901 INFO    ] time= 29/08/2026 12:31:19
[2026-08-29 12:31:19,919.919 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:31:19,941.941 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:31:20,060.060 INFO    ] No existing commands found in stream
[2026-08-29 12:31:25,093.093 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:31:25,096.096 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-08-29 12:31:29,128.128 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:31:29,131.131 INFO    ] Checking for system updates...
[2026-08-29 12:31:29,170.170 INFO    ] 200
[2026-08-29 12:31:29,173.173 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:31:29,242.242 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:31:29,245.245 INFO    ] No update needed
[2026-08-29 12:31:29,248.248 INFO    ] Checking for camera pi updates...
[2026-08-29 12:31:29,288.288 INFO    ] 200
[2026-08-29 12:31:29,290.290 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:31:29,339.339 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:31:29,462.462 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:31:29,465.465 INFO    ] No camera update needed
[2026-08-29 12:31:29,468.468 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:31:29,471.471 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:31:29,478.478 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:31:29,484.484 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:31:31,527.527 INFO    ] ================================================
[2026-08-29 12:31:31,542.542 INFO    ] Launching Daemon at Sat Aug 29 12:31:31 IST 2026
[2026-08-29 12:31:31,553.553 INFO    ] ================================================
[2026-08-29 12:31:32,118.118 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:31:32
[2026-08-29 12:31:32,694.694 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:31:32,982.982 INFO    ] Initializing speech engine...
[2026-08-29 12:31:33,014.014 INFO    ] 2026-08-29 12:31:32
[2026-08-29 12:31:33,290.290 INFO    ] 2026-08-29 12:31:33
[2026-08-29 12:31:33,325.325 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:31:33,499.499 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:31:33,512.512 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:31:33,654.654 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:31:33,663.663 INFO    ] time= 29/08/2026 12:31:33
[2026-08-29 12:31:33,669.669 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:31:33,695.695 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:31:33,825.825 INFO    ] No existing commands found in stream
[2026-08-29 12:31:38,850.850 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:31:38,853.853 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-08-29 12:31:40,251.251 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:31:40,253.253 INFO    ] Checking for system updates...
[2026-08-29 12:31:40,274.274 INFO    ] 200
[2026-08-29 12:31:40,275.275 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:31:40,308.308 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:31:40,309.309 INFO    ] No update needed
[2026-08-29 12:31:40,315.315 INFO    ] Checking for camera pi updates...
[2026-08-29 12:31:40,336.336 INFO    ] 200
[2026-08-29 12:31:40,338.338 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:31:40,364.364 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:31:40,446.446 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:31:40,448.448 INFO    ] No camera update needed
[2026-08-29 12:31:40,449.449 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:31:40,451.451 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:31:40,454.454 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:31:40,457.457 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:31:42,497.497 INFO    ] ================================================
[2026-08-29 12:31:42,512.512 INFO    ] Launching Daemon at Sat Aug 29 12:31:42 IST 2026
[2026-08-29 12:31:42,523.523 INFO    ] ================================================
[2026-08-29 12:31:42,904.904 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:31:42
[2026-08-29 12:31:43,256.256 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:31:43,407.407 INFO    ] Initializing speech engine...
[2026-08-29 12:31:43,413.413 INFO    ] 2026-08-29 12:31:43
[2026-08-29 12:31:43,658.658 INFO    ] 2026-08-29 12:31:43
[2026-08-29 12:31:43,714.714 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:31:43,878.878 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:31:43,886.886 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:31:44,062.062 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:31:44,088.088 INFO    ] time= 29/08/2026 12:31:44
[2026-08-29 12:31:44,105.105 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:31:44,130.130 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:31:44,241.241 INFO    ] No existing commands found in stream
[2026-08-29 12:31:49,255.255 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:31:49,258.258 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-08-29 12:31:53,593.593 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:31:53,596.596 INFO    ] Checking for system updates...
[2026-08-29 12:31:53,633.633 INFO    ] 200
[2026-08-29 12:31:53,635.635 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:31:53,690.690 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:31:53,693.693 INFO    ] No update needed
[2026-08-29 12:31:53,696.696 INFO    ] Checking for camera pi updates...
[2026-08-29 12:31:53,730.730 INFO    ] 200
[2026-08-29 12:31:53,732.732 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:31:53,774.774 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:31:53,863.863 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:31:53,865.865 INFO    ] No camera update needed
[2026-08-29 12:31:53,867.867 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:31:53,870.870 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:31:53,875.875 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:31:53,880.880 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:31:55,920.920 INFO    ] ================================================
[2026-08-29 12:31:55,935.935 INFO    ] Launching Daemon at Sat Aug 29 12:31:55 IST 2026
[2026-08-29 12:31:55,946.946 INFO    ] ================================================
[2026-08-29 12:31:56,517.517 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:31:56
[2026-08-29 12:31:57,103.103 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:31:57,375.375 INFO    ] Initializing speech engine...
[2026-08-29 12:31:57,383.383 INFO    ] 2026-08-29 12:31:57
[2026-08-29 12:31:57,639.639 INFO    ] 2026-08-29 12:31:57
[2026-08-29 12:31:57,681.681 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:31:57,852.852 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:31:57,863.863 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:31:57,974.974 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:31:57,980.980 INFO    ] time= 29/08/2026 12:31:57
[2026-08-29 12:31:57,999.999 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:31:58,021.021 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:31:58,093.093 INFO    ] No existing commands found in stream
[2026-08-29 12:32:03,105.105 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:32:03,108.108 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-08-29 12:32:07,399.399 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:32:07,401.401 INFO    ] Checking for system updates...
[2026-08-29 12:32:07,422.422 INFO    ] 200
[2026-08-29 12:32:07,423.423 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:32:07,453.453 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:32:07,454.454 INFO    ] No update needed
[2026-08-29 12:32:07,455.455 INFO    ] Checking for camera pi updates...
[2026-08-29 12:32:07,476.476 INFO    ] 200
[2026-08-29 12:32:07,477.477 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:32:07,501.501 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:32:07,577.577 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:32:07,578.578 INFO    ] No camera update needed
[2026-08-29 12:32:07,579.579 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:32:07,580.580 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:32:07,583.583 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:32:07,586.586 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:32:09,626.626 INFO    ] ================================================
[2026-08-29 12:32:09,642.642 INFO    ] Launching Daemon at Sat Aug 29 12:32:09 IST 2026
[2026-08-29 12:32:09,653.653 INFO    ] ================================================
[2026-08-29 12:32:10,243.243 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:32:10
[2026-08-29 12:32:10,861.861 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:32:11,072.072 INFO    ] Initializing speech engine...
[2026-08-29 12:32:11,080.080 INFO    ] 2026-08-29 12:32:11
[2026-08-29 12:32:11,324.324 INFO    ] 2026-08-29 12:32:11
[2026-08-29 12:32:11,361.361 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:32:11,541.541 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:32:11,553.553 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:32:11,694.694 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:32:11,698.698 INFO    ] time= 29/08/2026 12:32:11
[2026-08-29 12:32:11,709.709 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:32:11,719.719 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:32:11,781.781 INFO    ] No existing commands found in stream
[2026-08-29 12:32:16,811.811 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:32:16,814.814 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-08-29 12:32:18,018.018 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:32:18,019.019 INFO    ] Checking for system updates...
[2026-08-29 12:32:18,040.040 INFO    ] 200
[2026-08-29 12:32:18,041.041 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:32:18,073.073 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:32:18,074.074 INFO    ] No update needed
[2026-08-29 12:32:18,075.075 INFO    ] Checking for camera pi updates...
[2026-08-29 12:32:18,096.096 INFO    ] 200
[2026-08-29 12:32:18,097.097 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:32:18,120.120 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:32:18,219.219 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:32:18,220.220 INFO    ] No camera update needed
[2026-08-29 12:32:18,221.221 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:32:18,228.228 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:32:18,231.231 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:32:18,234.234 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:32:20,272.272 INFO    ] ================================================
[2026-08-29 12:32:20,287.287 INFO    ] Launching Daemon at Sat Aug 29 12:32:20 IST 2026
[2026-08-29 12:32:20,298.298 INFO    ] ================================================
[2026-08-29 12:32:20,662.662 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:32:20
[2026-08-29 12:32:20,973.973 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:32:21,103.103 INFO    ] Initializing speech engine...
[2026-08-29 12:32:21,111.111 INFO    ] 2026-08-29 12:32:21
[2026-08-29 12:32:21,296.296 INFO    ] 2026-08-29 12:32:21
[2026-08-29 12:32:21,332.332 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:32:21,512.512 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:32:21,528.528 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:32:21,660.660 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:32:21,665.665 INFO    ] time= 29/08/2026 12:32:21
[2026-08-29 12:32:21,673.673 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:32:21,717.717 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:32:21,830.830 INFO    ] No existing commands found in stream
[2026-08-29 12:32:26,855.855 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:32:26,858.858 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-08-29 12:32:29,161.161 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:32:29,164.164 INFO    ] Checking for system updates...
[2026-08-29 12:32:29,207.207 INFO    ] 200
[2026-08-29 12:32:29,210.210 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:32:29,277.277 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:32:29,280.280 INFO    ] No update needed
[2026-08-29 12:32:29,283.283 INFO    ] Checking for camera pi updates...
[2026-08-29 12:32:29,327.327 INFO    ] 200
[2026-08-29 12:32:29,331.331 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:32:29,383.383 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:32:29,563.563 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:32:29,565.565 INFO    ] No camera update needed
[2026-08-29 12:32:29,568.568 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:32:29,571.571 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:32:29,577.577 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:32:29,582.582 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:32:31,627.627 INFO    ] ================================================
[2026-08-29 12:32:31,643.643 INFO    ] Launching Daemon at Sat Aug 29 12:32:31 IST 2026
[2026-08-29 12:32:31,653.653 INFO    ] ================================================
[2026-08-29 12:32:32,172.172 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:32:32
[2026-08-29 12:32:32,789.789 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:32:33,072.072 INFO    ] Initializing speech engine...
[2026-08-29 12:32:33,079.079 INFO    ] 2026-08-29 12:32:33
[2026-08-29 12:32:33,358.358 INFO    ] 2026-08-29 12:32:33
[2026-08-29 12:32:33,394.394 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:32:33,566.566 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:32:33,577.577 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:32:33,687.687 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:32:33,690.690 INFO    ] time= 29/08/2026 12:32:33
[2026-08-29 12:32:33,694.694 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:32:33,700.700 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:32:33,803.803 INFO    ] No existing commands found in stream
[2026-08-29 12:32:38,814.814 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:32:38,817.817 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-08-29 12:32:39,746.746 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:32:39,747.747 INFO    ] Checking for system updates...
[2026-08-29 12:32:39,768.768 INFO    ] 200
[2026-08-29 12:32:39,769.769 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:32:39,799.799 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:32:39,800.800 INFO    ] No update needed
[2026-08-29 12:32:39,801.801 INFO    ] Checking for camera pi updates...
[2026-08-29 12:32:39,822.822 INFO    ] 200
[2026-08-29 12:32:39,823.823 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:32:39,848.848 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:32:39,941.941 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:32:39,943.943 INFO    ] No camera update needed
[2026-08-29 12:32:39,946.946 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:32:39,948.948 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:32:39,953.953 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:32:39,958.958 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:32:42,999.999 INFO    ] ================================================
[2026-08-29 12:32:42,015.015 INFO    ] Launching Daemon at Sat Aug 29 12:32:42 IST 2026
[2026-08-29 12:32:42,026.026 INFO    ] ================================================
[2026-08-29 12:32:42,596.596 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:32:42
[2026-08-29 12:32:43,100.100 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:32:43,376.376 INFO    ] Initializing speech engine...
[2026-08-29 12:32:43,386.386 INFO    ] 2026-08-29 12:32:43
[2026-08-29 12:32:43,638.638 INFO    ] 2026-08-29 12:32:43
[2026-08-29 12:32:43,674.674 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:32:43,849.849 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:32:43,861.861 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:32:44,008.008 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:32:44,014.014 INFO    ] time= 29/08/2026 12:32:44
[2026-08-29 12:32:44,022.022 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:32:44,063.063 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:32:44,207.207 INFO    ] No existing commands found in stream
[2026-08-29 12:32:49,226.226 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:32:49,229.229 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-08-29 12:32:50,546.546 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:32:50,547.547 INFO    ] Checking for system updates...
[2026-08-29 12:32:50,567.567 INFO    ] 200
[2026-08-29 12:32:50,569.569 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:32:50,599.599 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:32:50,601.601 INFO    ] No update needed
[2026-08-29 12:32:50,602.602 INFO    ] Checking for camera pi updates...
[2026-08-29 12:32:50,622.622 INFO    ] 200
[2026-08-29 12:32:50,624.624 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:32:50,648.648 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:32:50,726.726 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:32:50,728.728 INFO    ] No camera update needed
[2026-08-29 12:32:50,731.731 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:32:50,733.733 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:32:50,738.738 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:32:50,743.743 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:32:52,784.784 INFO    ] ================================================
[2026-08-29 12:32:52,799.799 INFO    ] Launching Daemon at Sat Aug 29 12:32:52 IST 2026
[2026-08-29 12:32:52,809.809 INFO    ] ================================================
[2026-08-29 12:32:53,385.385 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:32:53
[2026-08-29 12:32:53,892.892 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:32:54,026.026 INFO    ] Initializing speech engine...
[2026-08-29 12:32:54,038.038 INFO    ] 2026-08-29 12:32:54
[2026-08-29 12:32:54,225.225 INFO    ] 2026-08-29 12:32:54
[2026-08-29 12:32:54,306.306 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:32:54,456.456 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:32:54,465.465 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:32:54,600.600 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:32:54,607.607 INFO    ] time= 29/08/2026 12:32:54
[2026-08-29 12:32:54,661.661 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:32:54,700.700 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:32:54,764.764 INFO    ] No existing commands found in stream
[2026-08-29 12:32:59,774.774 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:32:59,777.777 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-08-29 12:33:02,850.850 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:33:02,853.853 INFO    ] Checking for system updates...
[2026-08-29 12:33:02,896.896 INFO    ] 200
[2026-08-29 12:33:02,899.899 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:33:02,968.968 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:33:02,972.972 INFO    ] No update needed
[2026-08-29 12:33:02,976.976 INFO    ] Checking for camera pi updates...
[2026-08-29 12:33:03,013.013 INFO    ] 200
[2026-08-29 12:33:03,015.015 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:33:03,070.070 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:33:03,204.204 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:33:03,206.206 INFO    ] No camera update needed
[2026-08-29 12:33:03,209.209 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:33:03,211.211 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:33:03,218.218 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:33:03,223.223 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:33:05,265.265 INFO    ] ================================================
[2026-08-29 12:33:05,280.280 INFO    ] Launching Daemon at Sat Aug 29 12:33:05 IST 2026
[2026-08-29 12:33:05,291.291 INFO    ] ================================================
[2026-08-29 12:33:05,822.822 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:33:05
[2026-08-29 12:33:06,432.432 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:33:06,689.689 INFO    ] Initializing speech engine...
[2026-08-29 12:33:06,698.698 INFO    ] 2026-08-29 12:33:06
[2026-08-29 12:33:06,991.991 INFO    ] 2026-08-29 12:33:06
[2026-08-29 12:33:07,029.029 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:33:07,250.250 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:33:07,258.258 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:33:07,400.400 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:33:07,408.408 INFO    ] time= 29/08/2026 12:33:07
[2026-08-29 12:33:07,416.416 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:33:07,438.438 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:33:07,565.565 INFO    ] No existing commands found in stream
[2026-08-29 12:33:12,591.591 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:33:12,594.594 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 12:33:14,551.551 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:33:14,553.553 INFO    ] Checking for system updates...
[2026-08-29 12:33:14,573.573 INFO    ] 200
[2026-08-29 12:33:14,575.575 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:33:14,606.606 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:33:14,607.607 INFO    ] No update needed
[2026-08-29 12:33:14,608.608 INFO    ] Checking for camera pi updates...
[2026-08-29 12:33:14,628.628 INFO    ] 200
[2026-08-29 12:33:14,629.629 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:33:14,654.654 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:33:14,731.731 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:33:14,733.733 INFO    ] No camera update needed
[2026-08-29 12:33:14,734.734 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:33:14,736.736 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:33:14,739.739 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:33:14,742.742 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:33:16,780.780 INFO    ] ================================================
[2026-08-29 12:33:16,796.796 INFO    ] Launching Daemon at Sat Aug 29 12:33:16 IST 2026
[2026-08-29 12:33:16,807.807 INFO    ] ================================================
[2026-08-29 12:33:17,152.152 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:33:17
[2026-08-29 12:33:17,464.464 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:33:17,596.596 INFO    ] Initializing speech engine...
[2026-08-29 12:33:17,601.601 INFO    ] 2026-08-29 12:33:17
[2026-08-29 12:33:17,828.828 INFO    ] 2026-08-29 12:33:17
[2026-08-29 12:33:17,858.858 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:33:17,990.990 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:33:18,053.053 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:33:18,196.196 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:33:18,249.249 INFO    ] time= 29/08/2026 12:33:18
[2026-08-29 12:33:18,281.281 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:33:18,304.304 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:33:18,378.378 INFO    ] No existing commands found in stream
[2026-08-29 12:33:23,389.389 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:33:23,392.392 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-08-29 12:33:24,810.810 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:33:24,811.811 INFO    ] Checking for system updates...
[2026-08-29 12:33:24,832.832 INFO    ] 200
[2026-08-29 12:33:24,833.833 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:33:24,865.865 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:33:24,866.866 INFO    ] No update needed
[2026-08-29 12:33:24,867.867 INFO    ] Checking for camera pi updates...
[2026-08-29 12:33:24,887.887 INFO    ] 200
[2026-08-29 12:33:24,889.889 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:33:24,912.912 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:33:25,002.002 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:33:25,003.003 INFO    ] No camera update needed
[2026-08-29 12:33:25,004.004 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:33:25,005.005 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:33:25,008.008 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:33:25,011.011 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:33:27,049.049 INFO    ] ================================================
[2026-08-29 12:33:27,064.064 INFO    ] Launching Daemon at Sat Aug 29 12:33:27 IST 2026
[2026-08-29 12:33:27,075.075 INFO    ] ================================================
[2026-08-29 12:33:27,430.430 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:33:27
[2026-08-29 12:33:27,748.748 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:33:27,893.893 INFO    ] Initializing speech engine...
[2026-08-29 12:33:27,898.898 INFO    ] 2026-08-29 12:33:27
[2026-08-29 12:33:28,102.102 INFO    ] 2026-08-29 12:33:28
[2026-08-29 12:33:28,130.130 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:33:28,252.252 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:33:28,314.314 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:33:28,447.447 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:33:28,505.505 INFO    ] time= 29/08/2026 12:33:28
[2026-08-29 12:33:28,538.538 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:33:28,544.544 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:33:28,615.615 INFO    ] No existing commands found in stream
[2026-08-29 12:33:33,624.624 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:33:33,627.627 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-08-29 12:33:34,945.945 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:33:34,947.947 INFO    ] Checking for system updates...
[2026-08-29 12:33:34,988.988 INFO    ] 200
[2026-08-29 12:33:34,991.991 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:33:35,045.045 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:33:35,048.048 INFO    ] No update needed
[2026-08-29 12:33:35,050.050 INFO    ] Checking for camera pi updates...
[2026-08-29 12:33:35,087.087 INFO    ] 200
[2026-08-29 12:33:35,090.090 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:33:35,133.133 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:33:35,240.240 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:33:35,241.241 INFO    ] No camera update needed
[2026-08-29 12:33:35,243.243 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:33:35,244.244 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:33:35,247.247 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:33:35,249.249 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:33:37,289.289 INFO    ] ================================================
[2026-08-29 12:33:37,304.304 INFO    ] Launching Daemon at Sat Aug 29 12:33:37 IST 2026
[2026-08-29 12:33:37,314.314 INFO    ] ================================================
[2026-08-29 12:33:37,653.653 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:33:37
[2026-08-29 12:33:37,964.964 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:33:38,097.097 INFO    ] Initializing speech engine...
[2026-08-29 12:33:38,111.111 INFO    ] 2026-08-29 12:33:38
[2026-08-29 12:33:38,305.305 INFO    ] 2026-08-29 12:33:38
[2026-08-29 12:33:38,385.385 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:33:38,539.539 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:33:38,544.544 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:33:38,687.687 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:33:38,730.730 INFO    ] time= 29/08/2026 12:33:38
[2026-08-29 12:33:38,789.789 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:33:38,823.823 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:33:38,883.883 INFO    ] No existing commands found in stream
[2026-08-29 12:33:43,895.895 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:33:43,897.897 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-08-29 12:33:44,619.619 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:33:44,621.621 INFO    ] Checking for system updates...
[2026-08-29 12:33:44,642.642 INFO    ] 200
[2026-08-29 12:33:44,643.643 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:33:44,673.673 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:33:44,675.675 INFO    ] No update needed
[2026-08-29 12:33:44,676.676 INFO    ] Checking for camera pi updates...
[2026-08-29 12:33:44,695.695 INFO    ] 200
[2026-08-29 12:33:44,697.697 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:33:44,719.719 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:33:44,818.818 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:33:44,820.820 INFO    ] No camera update needed
[2026-08-29 12:33:44,821.821 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:33:44,822.822 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:33:44,825.825 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:33:44,828.828 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:33:46,867.867 INFO    ] ================================================
[2026-08-29 12:33:46,883.883 INFO    ] Launching Daemon at Sat Aug 29 12:33:46 IST 2026
[2026-08-29 12:33:46,893.893 INFO    ] ================================================
[2026-08-29 12:33:47,230.230 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:33:47
[2026-08-29 12:33:47,541.541 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:33:47,809.809 INFO    ] Initializing speech engine...
[2026-08-29 12:33:47,819.819 INFO    ] 2026-08-29 12:33:47
[2026-08-29 12:33:48,066.066 INFO    ] 2026-08-29 12:33:48
[2026-08-29 12:33:48,101.101 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:33:48,273.273 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:33:48,285.285 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:33:48,427.427 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:33:48,435.435 INFO    ] time= 29/08/2026 12:33:48
[2026-08-29 12:33:48,441.441 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:33:48,488.488 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:33:48,613.613 INFO    ] No existing commands found in stream
[2026-08-29 12:33:53,641.641 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:33:53,644.644 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-08-29 12:33:55,355.355 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:33:55,357.357 INFO    ] Checking for system updates...
[2026-08-29 12:33:55,377.377 INFO    ] 200
[2026-08-29 12:33:55,379.379 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:33:55,411.411 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:33:55,412.412 INFO    ] No update needed
[2026-08-29 12:33:55,414.414 INFO    ] Checking for camera pi updates...
[2026-08-29 12:33:55,434.434 INFO    ] 200
[2026-08-29 12:33:55,436.436 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:33:55,460.460 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:33:55,553.553 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:33:55,555.555 INFO    ] No camera update needed
[2026-08-29 12:33:55,557.557 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:33:55,560.560 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:33:55,565.565 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:33:55,570.570 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:33:57,612.612 INFO    ] ================================================
[2026-08-29 12:33:57,627.627 INFO    ] Launching Daemon at Sat Aug 29 12:33:57 IST 2026
[2026-08-29 12:33:57,638.638 INFO    ] ================================================
[2026-08-29 12:33:58,276.276 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:33:58
[2026-08-29 12:33:58,836.836 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:33:59,105.105 INFO    ] Initializing speech engine...
[2026-08-29 12:33:59,115.115 INFO    ] 2026-08-29 12:33:59
[2026-08-29 12:33:59,365.365 INFO    ] 2026-08-29 12:33:59
[2026-08-29 12:33:59,433.433 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:33:59,576.576 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:33:59,588.588 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:33:59,699.699 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:33:59,705.705 INFO    ] time= 29/08/2026 12:33:59
[2026-08-29 12:33:59,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:33:59,747.747 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:33:59,883.883 INFO    ] No existing commands found in stream
[2026-08-29 12:34:04,908.908 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:34:04,911.911 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-08-29 12:34:08,209.209 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:34:08,211.211 INFO    ] Checking for system updates...
[2026-08-29 12:34:08,231.231 INFO    ] 200
[2026-08-29 12:34:08,233.233 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:34:08,262.262 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:34:08,264.264 INFO    ] No update needed
[2026-08-29 12:34:08,265.265 INFO    ] Checking for camera pi updates...
[2026-08-29 12:34:08,286.286 INFO    ] 200
[2026-08-29 12:34:08,287.287 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:34:08,310.310 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:34:08,403.403 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:34:08,404.404 INFO    ] No camera update needed
[2026-08-29 12:34:08,405.405 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:34:08,406.406 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:34:08,409.409 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:34:08,412.412 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:34:10,451.451 INFO    ] ================================================
[2026-08-29 12:34:10,466.466 INFO    ] Launching Daemon at Sat Aug 29 12:34:10 IST 2026
[2026-08-29 12:34:10,477.477 INFO    ] ================================================
[2026-08-29 12:34:10,826.826 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:34:10
[2026-08-29 12:34:11,142.142 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:34:11,277.277 INFO    ] Initializing speech engine...
[2026-08-29 12:34:11,282.282 INFO    ] 2026-08-29 12:34:11
[2026-08-29 12:34:11,511.511 INFO    ] 2026-08-29 12:34:11
[2026-08-29 12:34:11,542.542 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:34:11,673.673 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:34:11,691.691 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:34:11,867.867 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:34:11,886.886 INFO    ] time= 29/08/2026 12:34:11
[2026-08-29 12:34:11,948.948 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:34:11,988.988 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:34:12,069.069 INFO    ] No existing commands found in stream
[2026-08-29 12:34:17,079.079 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:34:17,082.082 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-08-29 12:34:17,997.997 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:34:17,998.998 INFO    ] Checking for system updates...
[2026-08-29 12:34:18,019.019 INFO    ] 200
[2026-08-29 12:34:18,020.020 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:34:18,050.050 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:34:18,051.051 INFO    ] No update needed
[2026-08-29 12:34:18,053.053 INFO    ] Checking for camera pi updates...
[2026-08-29 12:34:18,073.073 INFO    ] 200
[2026-08-29 12:34:18,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:34:18,099.099 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:34:18,196.196 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:34:18,197.197 INFO    ] No camera update needed
[2026-08-29 12:34:18,199.199 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:34:18,200.200 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:34:18,203.203 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:34:18,206.206 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:34:20,245.245 INFO    ] ================================================
[2026-08-29 12:34:20,260.260 INFO    ] Launching Daemon at Sat Aug 29 12:34:20 IST 2026
[2026-08-29 12:34:20,271.271 INFO    ] ================================================
[2026-08-29 12:34:20,601.601 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:34:20
[2026-08-29 12:34:20,921.921 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:34:21,064.064 INFO    ] Initializing speech engine...
[2026-08-29 12:34:21,070.070 INFO    ] 2026-08-29 12:34:21
[2026-08-29 12:34:21,274.274 INFO    ] 2026-08-29 12:34:21
[2026-08-29 12:34:21,303.303 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:34:21,448.448 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:34:21,452.452 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:34:21,606.606 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:34:21,650.650 INFO    ] time= 29/08/2026 12:34:21
[2026-08-29 12:34:21,656.656 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:34:21,677.677 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:34:21,791.791 INFO    ] No existing commands found in stream
[2026-08-29 12:34:26,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:34:26,816.816 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 12:34:27,791.791 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:34:27,792.792 INFO    ] Checking for system updates...
[2026-08-29 12:34:27,814.814 INFO    ] 200
[2026-08-29 12:34:27,816.816 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:34:27,846.846 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:34:27,847.847 INFO    ] No update needed
[2026-08-29 12:34:27,848.848 INFO    ] Checking for camera pi updates...
[2026-08-29 12:34:27,868.868 INFO    ] 200
[2026-08-29 12:34:27,869.869 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:34:27,894.894 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:34:27,974.974 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:34:27,976.976 INFO    ] No camera update needed
[2026-08-29 12:34:27,977.977 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:34:27,978.978 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:34:27,982.982 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:34:27,985.985 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:34:30,025.025 INFO    ] ================================================
[2026-08-29 12:34:30,040.040 INFO    ] Launching Daemon at Sat Aug 29 12:34:30 IST 2026
[2026-08-29 12:34:30,051.051 INFO    ] ================================================
[2026-08-29 12:34:30,415.415 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:34:30
[2026-08-29 12:34:30,932.932 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:34:31,208.208 INFO    ] Initializing speech engine...
[2026-08-29 12:34:31,217.217 INFO    ] 2026-08-29 12:34:31
[2026-08-29 12:34:31,481.481 INFO    ] 2026-08-29 12:34:31
[2026-08-29 12:34:31,518.518 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:34:31,699.699 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:34:31,712.712 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:34:31,857.857 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:34:31,866.866 INFO    ] time= 29/08/2026 12:34:31
[2026-08-29 12:34:31,872.872 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:34:31,925.925 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:34:32,048.048 INFO    ] No existing commands found in stream
[2026-08-29 12:34:37,082.082 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:34:37,085.085 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 12:34:39,613.613 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:34:39,615.615 INFO    ] Checking for system updates...
[2026-08-29 12:34:39,635.635 INFO    ] 200
[2026-08-29 12:34:39,637.637 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:34:39,669.669 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:34:39,670.670 INFO    ] No update needed
[2026-08-29 12:34:39,672.672 INFO    ] Checking for camera pi updates...
[2026-08-29 12:34:39,691.691 INFO    ] 200
[2026-08-29 12:34:39,693.693 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:34:39,716.716 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:34:39,832.832 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:34:39,834.834 INFO    ] No camera update needed
[2026-08-29 12:34:39,835.835 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:34:39,836.836 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:34:39,839.839 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:34:39,842.842 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:34:41,882.882 INFO    ] ================================================
[2026-08-29 12:34:41,898.898 INFO    ] Launching Daemon at Sat Aug 29 12:34:41 IST 2026
[2026-08-29 12:34:41,909.909 INFO    ] ================================================
[2026-08-29 12:34:42,241.241 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:34:42
[2026-08-29 12:34:42,554.554 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:34:42,686.686 INFO    ] Initializing speech engine...
[2026-08-29 12:34:42,691.691 INFO    ] 2026-08-29 12:34:42
[2026-08-29 12:34:42,921.921 INFO    ] 2026-08-29 12:34:42
[2026-08-29 12:34:42,951.951 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:34:43,082.082 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:34:43,116.116 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:34:43,273.273 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:34:43,325.325 INFO    ] time= 29/08/2026 12:34:43
[2026-08-29 12:34:43,385.385 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:34:43,392.392 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:34:43,494.494 INFO    ] No existing commands found in stream
[2026-08-29 12:34:48,519.519 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:34:48,522.522 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-08-29 12:34:52,855.855 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:34:52,857.857 INFO    ] Checking for system updates...
[2026-08-29 12:34:52,877.877 INFO    ] 200
[2026-08-29 12:34:52,879.879 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:34:52,908.908 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:34:52,910.910 INFO    ] No update needed
[2026-08-29 12:34:52,911.911 INFO    ] Checking for camera pi updates...
[2026-08-29 12:34:52,930.930 INFO    ] 200
[2026-08-29 12:34:52,931.931 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:34:52,955.955 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:34:53,055.055 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:34:53,056.056 INFO    ] No camera update needed
[2026-08-29 12:34:53,057.057 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:34:53,059.059 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:34:53,061.061 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:34:53,064.064 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:34:55,103.103 INFO    ] ================================================
[2026-08-29 12:34:55,119.119 INFO    ] Launching Daemon at Sat Aug 29 12:34:55 IST 2026
[2026-08-29 12:34:55,131.131 INFO    ] ================================================
[2026-08-29 12:34:55,473.473 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:34:55
[2026-08-29 12:34:55,808.808 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:34:55,959.959 INFO    ] Initializing speech engine...
[2026-08-29 12:34:55,964.964 INFO    ] 2026-08-29 12:34:55
[2026-08-29 12:34:56,214.214 INFO    ] 2026-08-29 12:34:56
[2026-08-29 12:34:56,277.277 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:34:56,444.444 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:34:56,450.450 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:34:56,613.613 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:34:56,649.649 INFO    ] time= 29/08/2026 12:34:56
[2026-08-29 12:34:56,667.667 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:34:56,677.677 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:34:56,801.801 INFO    ] No existing commands found in stream
[2026-08-29 12:35:01,814.814 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:35:01,817.817 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-08-29 12:35:02,470.470 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:35:02,473.473 INFO    ] Checking for system updates...
[2026-08-29 12:35:02,514.514 INFO    ] 200
[2026-08-29 12:35:02,516.516 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:35:02,587.587 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:35:02,590.590 INFO    ] No update needed
[2026-08-29 12:35:02,593.593 INFO    ] Checking for camera pi updates...
[2026-08-29 12:35:02,644.644 INFO    ] 200
[2026-08-29 12:35:02,646.646 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:35:02,704.704 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:35:02,847.847 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:35:02,850.850 INFO    ] No camera update needed
[2026-08-29 12:35:02,854.854 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:35:02,857.857 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:35:02,864.864 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:35:02,870.870 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:35:04,912.912 INFO    ] ================================================
[2026-08-29 12:35:04,928.928 INFO    ] Launching Daemon at Sat Aug 29 12:35:04 IST 2026
[2026-08-29 12:35:04,939.939 INFO    ] ================================================
[2026-08-29 12:35:05,332.332 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:35:05
[2026-08-29 12:35:05,669.669 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:35:05,821.821 INFO    ] Initializing speech engine...
[2026-08-29 12:35:05,827.827 INFO    ] 2026-08-29 12:35:05
[2026-08-29 12:35:06,037.037 INFO    ] 2026-08-29 12:35:06
[2026-08-29 12:35:06,071.071 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:35:06,226.226 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:35:06,235.235 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:35:06,400.400 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:35:06,438.438 INFO    ] time= 29/08/2026 12:35:06
[2026-08-29 12:35:06,457.457 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:35:06,467.467 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:35:06,597.597 INFO    ] No existing commands found in stream
[2026-08-29 12:35:11,624.624 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:35:11,627.627 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-08-29 12:35:14,809.809 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:35:14,810.810 INFO    ] Checking for system updates...
[2026-08-29 12:35:14,833.833 INFO    ] 200
[2026-08-29 12:35:14,834.834 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:35:14,864.864 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:35:14,866.866 INFO    ] No update needed
[2026-08-29 12:35:14,867.867 INFO    ] Checking for camera pi updates...
[2026-08-29 12:35:14,886.886 INFO    ] 200
[2026-08-29 12:35:14,888.888 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:35:14,913.913 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:35:15,009.009 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:35:15,011.011 INFO    ] No camera update needed
[2026-08-29 12:35:15,012.012 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:35:15,014.014 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:35:15,017.017 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:35:15,020.020 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:35:17,059.059 INFO    ] ================================================
[2026-08-29 12:35:17,074.074 INFO    ] Launching Daemon at Sat Aug 29 12:35:17 IST 2026
[2026-08-29 12:35:17,085.085 INFO    ] ================================================
[2026-08-29 12:35:17,415.415 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:35:17
[2026-08-29 12:35:17,757.757 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:35:18,036.036 INFO    ] Initializing speech engine...
[2026-08-29 12:35:18,044.044 INFO    ] 2026-08-29 12:35:18
[2026-08-29 12:35:18,303.303 INFO    ] 2026-08-29 12:35:18
[2026-08-29 12:35:18,333.333 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:35:18,580.580 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:35:18,589.589 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:35:18,723.723 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:35:18,768.768 INFO    ] time= 29/08/2026 12:35:18
[2026-08-29 12:35:18,827.827 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:35:18,857.857 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:35:18,910.910 INFO    ] No existing commands found in stream
[2026-08-29 12:35:23,918.918 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:35:23,921.921 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-08-29 12:35:25,100.100 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:35:25,101.101 INFO    ] Checking for system updates...
[2026-08-29 12:35:25,122.122 INFO    ] 200
[2026-08-29 12:35:25,124.124 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:35:25,153.153 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:35:25,155.155 INFO    ] No update needed
[2026-08-29 12:35:25,156.156 INFO    ] Checking for camera pi updates...
[2026-08-29 12:35:25,175.175 INFO    ] 200
[2026-08-29 12:35:25,176.176 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:35:25,199.199 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:35:25,287.287 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:35:25,290.290 INFO    ] No camera update needed
[2026-08-29 12:35:25,292.292 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:35:25,295.295 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:35:25,300.300 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:35:25,305.305 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:35:27,345.345 INFO    ] ================================================
[2026-08-29 12:35:27,361.361 INFO    ] Launching Daemon at Sat Aug 29 12:35:27 IST 2026
[2026-08-29 12:35:27,371.371 INFO    ] ================================================
[2026-08-29 12:35:27,937.937 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:35:27
[2026-08-29 12:35:28,434.434 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:35:28,685.685 INFO    ] Initializing speech engine...
[2026-08-29 12:35:28,697.697 INFO    ] 2026-08-29 12:35:28
[2026-08-29 12:35:28,964.964 INFO    ] 2026-08-29 12:35:28
[2026-08-29 12:35:28,997.997 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:35:29,175.175 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:35:29,189.189 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:35:29,335.335 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:35:29,343.343 INFO    ] time= 29/08/2026 12:35:29
[2026-08-29 12:35:29,350.350 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:35:29,380.380 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:35:29,494.494 INFO    ] No existing commands found in stream
[2026-08-29 12:35:34,525.525 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:35:34,528.528 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-08-29 12:35:35,377.377 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:35:35,379.379 INFO    ] Checking for system updates...
[2026-08-29 12:35:35,400.400 INFO    ] 200
[2026-08-29 12:35:35,401.401 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:35:35,431.431 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:35:35,432.432 INFO    ] No update needed
[2026-08-29 12:35:35,433.433 INFO    ] Checking for camera pi updates...
[2026-08-29 12:35:35,453.453 INFO    ] 200
[2026-08-29 12:35:35,454.454 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:35:35,477.477 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:35:35,563.563 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:35:35,564.564 INFO    ] No camera update needed
[2026-08-29 12:35:35,565.565 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:35:35,567.567 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:35:35,570.570 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:35:35,572.572 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:35:37,610.610 INFO    ] ================================================
[2026-08-29 12:35:37,626.626 INFO    ] Launching Daemon at Sat Aug 29 12:35:37 IST 2026
[2026-08-29 12:35:37,636.636 INFO    ] ================================================
[2026-08-29 12:35:37,968.968 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:35:37
[2026-08-29 12:35:38,279.279 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:35:38,420.420 INFO    ] Initializing speech engine...
[2026-08-29 12:35:38,430.430 INFO    ] 2026-08-29 12:35:38
[2026-08-29 12:35:38,647.647 INFO    ] 2026-08-29 12:35:38
[2026-08-29 12:35:38,670.670 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:35:38,809.809 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:35:38,867.867 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:35:39,023.023 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:35:39,059.059 INFO    ] time= 29/08/2026 12:35:39
[2026-08-29 12:35:39,109.109 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:35:39,142.142 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:35:39,261.261 INFO    ] No existing commands found in stream
[2026-08-29 12:35:44,286.286 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:35:44,289.289 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-08-29 12:35:46,831.831 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:35:46,832.832 INFO    ] Checking for system updates...
[2026-08-29 12:35:46,853.853 INFO    ] 200
[2026-08-29 12:35:46,854.854 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:35:46,884.884 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:35:46,886.886 INFO    ] No update needed
[2026-08-29 12:35:46,887.887 INFO    ] Checking for camera pi updates...
[2026-08-29 12:35:46,906.906 INFO    ] 200
[2026-08-29 12:35:46,908.908 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:35:46,931.931 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:35:46,979.979 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:35:46,980.980 INFO    ] No camera update needed
[2026-08-29 12:35:46,982.982 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:35:46,983.983 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:35:46,986.986 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:35:46,988.988 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:35:49,026.026 INFO    ] ================================================
[2026-08-29 12:35:49,041.041 INFO    ] Launching Daemon at Sat Aug 29 12:35:49 IST 2026
[2026-08-29 12:35:49,052.052 INFO    ] ================================================
[2026-08-29 12:35:49,591.591 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:35:49
[2026-08-29 12:35:50,195.195 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:35:50,452.452 INFO    ] Initializing speech engine...
[2026-08-29 12:35:50,474.474 INFO    ] 2026-08-29 12:35:50
[2026-08-29 12:35:50,734.734 INFO    ] 2026-08-29 12:35:50
[2026-08-29 12:35:50,769.769 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:35:50,941.941 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:35:50,954.954 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:35:51,096.096 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:35:51,104.104 INFO    ] time= 29/08/2026 12:35:51
[2026-08-29 12:35:51,111.111 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:35:51,167.167 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:35:51,280.280 INFO    ] No existing commands found in stream
[2026-08-29 12:35:56,305.305 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:35:56,308.308 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-08-29 12:35:58,792.792 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:35:58,795.795 INFO    ] Checking for system updates...
[2026-08-29 12:35:58,834.834 INFO    ] 200
[2026-08-29 12:35:58,836.836 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:35:58,877.877 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:35:58,878.878 INFO    ] No update needed
[2026-08-29 12:35:58,879.879 INFO    ] Checking for camera pi updates...
[2026-08-29 12:35:58,898.898 INFO    ] 200
[2026-08-29 12:35:58,900.900 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:35:58,925.925 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:35:59,023.023 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:35:59,024.024 INFO    ] No camera update needed
[2026-08-29 12:35:59,026.026 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:35:59,027.027 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:35:59,030.030 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:35:59,032.032 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:36:01,072.072 INFO    ] ================================================
[2026-08-29 12:36:01,087.087 INFO    ] Launching Daemon at Sat Aug 29 12:36:01 IST 2026
[2026-08-29 12:36:01,098.098 INFO    ] ================================================
[2026-08-29 12:36:01,817.817 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:36:01
[2026-08-29 12:36:02,480.480 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:36:02,808.808 INFO    ] Initializing speech engine...
[2026-08-29 12:36:02,834.834 INFO    ] 2026-08-29 12:36:02
[2026-08-29 12:36:03,103.103 INFO    ] 2026-08-29 12:36:03
[2026-08-29 12:36:03,163.163 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:36:03,326.326 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:36:03,365.365 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:36:03,527.527 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:36:03,554.554 INFO    ] time= 29/08/2026 12:36:03
[2026-08-29 12:36:03,613.613 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:36:03,660.660 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:36:03,715.715 INFO    ] No existing commands found in stream
[2026-08-29 12:36:08,727.727 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:36:08,730.730 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 12:36:12,261.261 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:36:12,262.262 INFO    ] Checking for system updates...
[2026-08-29 12:36:12,282.282 INFO    ] 200
[2026-08-29 12:36:12,284.284 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:36:12,314.314 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:36:12,315.315 INFO    ] No update needed
[2026-08-29 12:36:12,316.316 INFO    ] Checking for camera pi updates...
[2026-08-29 12:36:12,335.335 INFO    ] 200
[2026-08-29 12:36:12,336.336 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:36:12,359.359 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:36:12,460.460 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:36:12,461.461 INFO    ] No camera update needed
[2026-08-29 12:36:12,463.463 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:36:12,464.464 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:36:12,467.467 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:36:12,469.469 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:36:14,508.508 INFO    ] ================================================
[2026-08-29 12:36:14,523.523 INFO    ] Launching Daemon at Sat Aug 29 12:36:14 IST 2026
[2026-08-29 12:36:14,534.534 INFO    ] ================================================
[2026-08-29 12:36:14,886.886 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:36:14
[2026-08-29 12:36:15,204.204 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:36:15,335.335 INFO    ] Initializing speech engine...
[2026-08-29 12:36:15,340.340 INFO    ] 2026-08-29 12:36:15
[2026-08-29 12:36:15,558.558 INFO    ] 2026-08-29 12:36:15
[2026-08-29 12:36:15,585.585 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:36:15,708.708 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:36:15,771.771 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:36:15,902.902 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:36:15,962.962 INFO    ] time= 29/08/2026 12:36:15
[2026-08-29 12:36:15,996.996 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:36:16,001.001 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:36:16,074.074 INFO    ] No existing commands found in stream
[2026-08-29 12:36:21,083.083 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:36:21,086.086 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 12:36:24,545.545 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:36:24,547.547 INFO    ] Checking for system updates...
[2026-08-29 12:36:24,568.568 INFO    ] 200
[2026-08-29 12:36:24,569.569 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:36:24,600.600 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:36:24,601.601 INFO    ] No update needed
[2026-08-29 12:36:24,603.603 INFO    ] Checking for camera pi updates...
[2026-08-29 12:36:24,622.622 INFO    ] 200
[2026-08-29 12:36:24,624.624 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:36:24,647.647 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:36:24,761.761 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:36:24,763.763 INFO    ] No camera update needed
[2026-08-29 12:36:24,764.764 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:36:24,766.766 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:36:24,769.769 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:36:24,772.772 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:36:26,810.810 INFO    ] ================================================
[2026-08-29 12:36:26,825.825 INFO    ] Launching Daemon at Sat Aug 29 12:36:26 IST 2026
[2026-08-29 12:36:26,836.836 INFO    ] ================================================
[2026-08-29 12:36:27,178.178 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:36:27
[2026-08-29 12:36:27,491.491 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:36:27,742.742 INFO    ] Initializing speech engine...
[2026-08-29 12:36:27,748.748 INFO    ] 2026-08-29 12:36:27
[2026-08-29 12:36:28,032.032 INFO    ] 2026-08-29 12:36:28
[2026-08-29 12:36:28,068.068 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:36:28,240.240 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:36:28,253.253 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:36:28,394.394 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:36:28,402.402 INFO    ] time= 29/08/2026 12:36:28
[2026-08-29 12:36:28,408.408 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:36:28,460.460 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:36:28,585.585 INFO    ] No existing commands found in stream
[2026-08-29 12:36:33,609.609 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:36:33,612.612 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-08-29 12:36:34,555.555 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:36:34,556.556 INFO    ] Checking for system updates...
[2026-08-29 12:36:34,578.578 INFO    ] 200
[2026-08-29 12:36:34,579.579 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:36:34,612.612 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:36:34,614.614 INFO    ] No update needed
[2026-08-29 12:36:34,615.615 INFO    ] Checking for camera pi updates...
[2026-08-29 12:36:34,634.634 INFO    ] 200
[2026-08-29 12:36:34,636.636 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:36:34,659.659 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:36:34,803.803 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:36:34,805.805 INFO    ] No camera update needed
[2026-08-29 12:36:34,806.806 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:36:34,807.807 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:36:34,811.811 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:36:34,814.814 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:36:36,852.852 INFO    ] ================================================
[2026-08-29 12:36:36,867.867 INFO    ] Launching Daemon at Sat Aug 29 12:36:36 IST 2026
[2026-08-29 12:36:36,878.878 INFO    ] ================================================
[2026-08-29 12:36:37,213.213 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:36:37
[2026-08-29 12:36:37,763.763 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:36:38,038.038 INFO    ] Initializing speech engine...
[2026-08-29 12:36:38,045.045 INFO    ] 2026-08-29 12:36:38
[2026-08-29 12:36:38,350.350 INFO    ] 2026-08-29 12:36:38
[2026-08-29 12:36:38,387.387 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:36:38,574.574 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:36:38,591.591 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:36:38,723.723 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:36:38,732.732 INFO    ] time= 29/08/2026 12:36:38
[2026-08-29 12:36:38,738.738 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:36:38,760.760 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:36:38,887.887 INFO    ] No existing commands found in stream
[2026-08-29 12:36:43,917.917 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:36:43,920.920 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-08-29 12:36:45,873.873 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:36:45,875.875 INFO    ] Checking for system updates...
[2026-08-29 12:36:45,895.895 INFO    ] 200
[2026-08-29 12:36:45,897.897 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:36:45,931.931 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:36:45,932.932 INFO    ] No update needed
[2026-08-29 12:36:45,933.933 INFO    ] Checking for camera pi updates...
[2026-08-29 12:36:45,954.954 INFO    ] 200
[2026-08-29 12:36:45,957.957 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:36:45,997.997 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:36:46,084.084 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:36:46,087.087 INFO    ] No camera update needed
[2026-08-29 12:36:46,089.089 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:36:46,091.091 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:36:46,096.096 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:36:46,101.101 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:36:48,141.141 INFO    ] ================================================
[2026-08-29 12:36:48,156.156 INFO    ] Launching Daemon at Sat Aug 29 12:36:48 IST 2026
[2026-08-29 12:36:48,167.167 INFO    ] ================================================
[2026-08-29 12:36:48,734.734 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:36:48
[2026-08-29 12:36:49,213.213 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:36:49,357.357 INFO    ] Initializing speech engine...
[2026-08-29 12:36:49,362.362 INFO    ] 2026-08-29 12:36:49
[2026-08-29 12:36:49,566.566 INFO    ] 2026-08-29 12:36:49
[2026-08-29 12:36:49,594.594 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:36:49,717.717 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:36:49,775.775 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:36:49,911.911 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:36:49,967.967 INFO    ] time= 29/08/2026 12:36:49
[2026-08-29 12:36:50,007.007 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:36:50,012.012 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:36:50,082.082 INFO    ] No existing commands found in stream
[2026-08-29 12:36:55,092.092 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:36:55,095.095 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-08-29 12:36:57,016.016 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:36:57,017.017 INFO    ] Checking for system updates...
[2026-08-29 12:36:57,038.038 INFO    ] 200
[2026-08-29 12:36:57,039.039 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:36:57,073.073 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:36:57,075.075 INFO    ] No update needed
[2026-08-29 12:36:57,076.076 INFO    ] Checking for camera pi updates...
[2026-08-29 12:36:57,097.097 INFO    ] 200
[2026-08-29 12:36:57,098.098 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:36:57,121.121 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:36:57,201.201 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:36:57,202.202 INFO    ] No camera update needed
[2026-08-29 12:36:57,203.203 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:36:57,205.205 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:36:57,207.207 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:36:57,210.210 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:36:59,250.250 INFO    ] ================================================
[2026-08-29 12:36:59,265.265 INFO    ] Launching Daemon at Sat Aug 29 12:36:59 IST 2026
[2026-08-29 12:36:59,276.276 INFO    ] ================================================
[2026-08-29 12:36:59,618.618 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:36:59
[2026-08-29 12:36:59,929.929 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:37:00,062.062 INFO    ] Initializing speech engine...
[2026-08-29 12:37:00,074.074 INFO    ] 2026-08-29 12:37:00
[2026-08-29 12:37:00,280.280 INFO    ] 2026-08-29 12:37:00
[2026-08-29 12:37:00,309.309 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:37:00,485.485 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:37:00,491.491 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:37:00,620.620 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:37:00,638.638 INFO    ] time= 29/08/2026 12:37:00
[2026-08-29 12:37:00,647.647 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:37:00,672.672 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:37:00,779.779 INFO    ] No existing commands found in stream
[2026-08-29 12:37:05,800.800 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:37:05,803.803 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-08-29 12:37:07,629.629 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:37:07,631.631 INFO    ] Checking for system updates...
[2026-08-29 12:37:07,651.651 INFO    ] 200
[2026-08-29 12:37:07,653.653 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:37:07,683.683 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:37:07,685.685 INFO    ] No update needed
[2026-08-29 12:37:07,686.686 INFO    ] Checking for camera pi updates...
[2026-08-29 12:37:07,705.705 INFO    ] 200
[2026-08-29 12:37:07,706.706 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:37:07,729.729 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:37:07,832.832 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:37:07,833.833 INFO    ] No camera update needed
[2026-08-29 12:37:07,835.835 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:37:07,836.836 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:37:07,839.839 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:37:07,842.842 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:37:09,881.881 INFO    ] ================================================
[2026-08-29 12:37:09,896.896 INFO    ] Launching Daemon at Sat Aug 29 12:37:09 IST 2026
[2026-08-29 12:37:09,907.907 INFO    ] ================================================
[2026-08-29 12:37:10,247.247 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:37:10
[2026-08-29 12:37:10,758.758 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:37:11,038.038 INFO    ] Initializing speech engine...
[2026-08-29 12:37:11,043.043 INFO    ] 2026-08-29 12:37:11
[2026-08-29 12:37:11,308.308 INFO    ] 2026-08-29 12:37:11
[2026-08-29 12:37:11,363.363 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:37:11,589.589 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:37:11,598.598 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:37:11,730.730 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:37:11,746.746 INFO    ] time= 29/08/2026 12:37:11
[2026-08-29 12:37:11,806.806 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:37:11,861.861 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:37:11,915.915 INFO    ] No existing commands found in stream
[2026-08-29 12:37:16,927.927 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:37:16,930.930 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-08-29 12:37:17,449.449 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:37:17,450.450 INFO    ] Checking for system updates...
[2026-08-29 12:37:17,472.472 INFO    ] 200
[2026-08-29 12:37:17,473.473 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:37:17,503.503 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:37:17,505.505 INFO    ] No update needed
[2026-08-29 12:37:17,506.506 INFO    ] Checking for camera pi updates...
[2026-08-29 12:37:17,526.526 INFO    ] 200
[2026-08-29 12:37:17,527.527 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:37:17,550.550 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:37:17,642.642 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:37:17,643.643 INFO    ] No camera update needed
[2026-08-29 12:37:17,645.645 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:37:17,646.646 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:37:17,649.649 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:37:17,651.651 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:37:19,689.689 INFO    ] ================================================
[2026-08-29 12:37:19,704.704 INFO    ] Launching Daemon at Sat Aug 29 12:37:19 IST 2026
[2026-08-29 12:37:19,715.715 INFO    ] ================================================
[2026-08-29 12:37:20,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:37:20
[2026-08-29 12:37:20,371.371 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:37:20,628.628 INFO    ] Initializing speech engine...
[2026-08-29 12:37:20,644.644 INFO    ] 2026-08-29 12:37:20
[2026-08-29 12:37:20,925.925 INFO    ] 2026-08-29 12:37:20
[2026-08-29 12:37:20,959.959 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:37:21,107.107 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:37:21,121.121 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:37:21,263.263 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:37:21,273.273 INFO    ] time= 29/08/2026 12:37:21
[2026-08-29 12:37:21,280.280 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:37:21,302.302 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:37:21,354.354 INFO    ] No existing commands found in stream
[2026-08-29 12:37:26,364.364 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:37:26,366.366 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-08-29 12:37:27,111.111 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:37:27,113.113 INFO    ] Checking for system updates...
[2026-08-29 12:37:27,134.134 INFO    ] 200
[2026-08-29 12:37:27,136.136 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:37:27,168.168 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:37:27,169.169 INFO    ] No update needed
[2026-08-29 12:37:27,171.171 INFO    ] Checking for camera pi updates...
[2026-08-29 12:37:27,190.190 INFO    ] 200
[2026-08-29 12:37:27,191.191 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:37:27,234.234 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:37:27,351.351 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:37:27,353.353 INFO    ] No camera update needed
[2026-08-29 12:37:27,356.356 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:37:27,358.358 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:37:27,363.363 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:37:27,368.368 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:37:29,407.407 INFO    ] ================================================
[2026-08-29 12:37:29,423.423 INFO    ] Launching Daemon at Sat Aug 29 12:37:29 IST 2026
[2026-08-29 12:37:29,433.433 INFO    ] ================================================
[2026-08-29 12:37:30,031.031 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:37:30
[2026-08-29 12:37:30,491.491 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:37:30,627.627 INFO    ] Initializing speech engine...
[2026-08-29 12:37:30,630.630 INFO    ] 2026-08-29 12:37:30
[2026-08-29 12:37:30,853.853 INFO    ] 2026-08-29 12:37:30
[2026-08-29 12:37:30,894.894 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:37:31,093.093 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:37:31,096.096 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:37:31,237.237 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:37:31,278.278 INFO    ] time= 29/08/2026 12:37:31
[2026-08-29 12:37:31,322.322 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:37:31,346.346 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:37:31,422.422 INFO    ] No existing commands found in stream
[2026-08-29 12:37:36,433.433 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:37:36,436.436 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 12:37:38,193.193 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:37:38,195.195 INFO    ] Checking for system updates...
[2026-08-29 12:37:38,215.215 INFO    ] 200
[2026-08-29 12:37:38,217.217 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:37:38,249.249 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:37:38,251.251 INFO    ] No update needed
[2026-08-29 12:37:38,252.252 INFO    ] Checking for camera pi updates...
[2026-08-29 12:37:38,273.273 INFO    ] 200
[2026-08-29 12:37:38,274.274 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:37:38,304.304 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:37:38,387.387 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:37:38,389.389 INFO    ] No camera update needed
[2026-08-29 12:37:38,392.392 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:37:38,394.394 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:37:38,400.400 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:37:38,405.405 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:37:40,446.446 INFO    ] ================================================
[2026-08-29 12:37:40,462.462 INFO    ] Launching Daemon at Sat Aug 29 12:37:40 IST 2026
[2026-08-29 12:37:40,472.472 INFO    ] ================================================
[2026-08-29 12:37:41,057.057 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:37:41
[2026-08-29 12:37:41,546.546 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:37:41,759.759 INFO    ] Initializing speech engine...
[2026-08-29 12:37:41,769.769 INFO    ] 2026-08-29 12:37:41
[2026-08-29 12:37:42,016.016 INFO    ] 2026-08-29 12:37:42
[2026-08-29 12:37:42,083.083 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:37:42,305.305 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:37:42,314.314 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:37:42,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:37:42,510.510 INFO    ] time= 29/08/2026 12:37:42
[2026-08-29 12:37:42,564.564 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:37:42,583.583 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:37:42,677.677 INFO    ] No existing commands found in stream
[2026-08-29 12:37:47,702.702 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:37:47,705.705 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-08-29 12:37:52,475.475 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:37:52,476.476 INFO    ] Checking for system updates...
[2026-08-29 12:37:52,497.497 INFO    ] 200
[2026-08-29 12:37:52,498.498 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:37:52,531.531 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:37:52,532.532 INFO    ] No update needed
[2026-08-29 12:37:52,534.534 INFO    ] Checking for camera pi updates...
[2026-08-29 12:37:52,556.556 INFO    ] 200
[2026-08-29 12:37:52,557.557 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:37:52,580.580 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:37:52,658.658 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:37:52,660.660 INFO    ] No camera update needed
[2026-08-29 12:37:52,661.661 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:37:52,663.663 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:37:52,666.666 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:37:52,669.669 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:37:54,709.709 INFO    ] ================================================
[2026-08-29 12:37:54,724.724 INFO    ] Launching Daemon at Sat Aug 29 12:37:54 IST 2026
[2026-08-29 12:37:54,735.735 INFO    ] ================================================
[2026-08-29 12:37:55,106.106 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:37:55
[2026-08-29 12:37:55,417.417 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:37:55,559.559 INFO    ] Initializing speech engine...
[2026-08-29 12:37:55,564.564 INFO    ] 2026-08-29 12:37:55
[2026-08-29 12:37:55,794.794 INFO    ] 2026-08-29 12:37:55
[2026-08-29 12:37:55,847.847 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:37:56,008.008 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:37:56,018.018 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:37:56,191.191 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:37:56,217.217 INFO    ] time= 29/08/2026 12:37:56
[2026-08-29 12:37:56,234.234 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:37:56,243.243 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:37:56,361.361 INFO    ] No existing commands found in stream
[2026-08-29 12:38:01,379.379 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:38:01,382.382 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-08-29 12:38:02,771.771 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:38:02,774.774 INFO    ] Checking for system updates...
[2026-08-29 12:38:02,821.821 INFO    ] 200
[2026-08-29 12:38:02,824.824 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:38:02,888.888 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:38:02,891.891 INFO    ] No update needed
[2026-08-29 12:38:02,894.894 INFO    ] Checking for camera pi updates...
[2026-08-29 12:38:02,937.937 INFO    ] 200
[2026-08-29 12:38:02,940.940 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:38:02,985.985 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:38:03,078.078 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:38:03,081.081 INFO    ] No camera update needed
[2026-08-29 12:38:03,084.084 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:38:03,087.087 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:38:03,093.093 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:38:03,099.099 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:38:05,140.140 INFO    ] ================================================
[2026-08-29 12:38:05,155.155 INFO    ] Launching Daemon at Sat Aug 29 12:38:05 IST 2026
[2026-08-29 12:38:05,165.165 INFO    ] ================================================
[2026-08-29 12:38:05,521.521 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:38:05
[2026-08-29 12:38:05,838.838 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:38:06,090.090 INFO    ] Initializing speech engine...
[2026-08-29 12:38:06,113.113 INFO    ] 2026-08-29 12:38:06
[2026-08-29 12:38:06,371.371 INFO    ] 2026-08-29 12:38:06
[2026-08-29 12:38:06,405.405 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:38:06,583.583 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:38:06,595.595 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:38:06,708.708 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:38:06,727.727 INFO    ] time= 29/08/2026 12:38:06
[2026-08-29 12:38:06,747.747 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:38:06,765.765 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:38:06,904.904 INFO    ] No existing commands found in stream
[2026-08-29 12:38:11,934.934 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:38:11,937.937 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-08-29 12:38:13,946.946 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:38:13,947.947 INFO    ] Checking for system updates...
[2026-08-29 12:38:13,968.968 INFO    ] 200
[2026-08-29 12:38:13,969.969 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:38:14,001.001 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:38:14,002.002 INFO    ] No update needed
[2026-08-29 12:38:14,004.004 INFO    ] Checking for camera pi updates...
[2026-08-29 12:38:14,024.024 INFO    ] 200
[2026-08-29 12:38:14,025.025 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:38:14,048.048 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:38:14,144.144 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:38:14,145.145 INFO    ] No camera update needed
[2026-08-29 12:38:14,146.146 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:38:14,148.148 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:38:14,150.150 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:38:14,153.153 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:38:16,193.193 INFO    ] ================================================
[2026-08-29 12:38:16,208.208 INFO    ] Launching Daemon at Sat Aug 29 12:38:16 IST 2026
[2026-08-29 12:38:16,219.219 INFO    ] ================================================
[2026-08-29 12:38:16,578.578 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:38:16
[2026-08-29 12:38:16,888.888 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:38:17,029.029 INFO    ] Initializing speech engine...
[2026-08-29 12:38:17,034.034 INFO    ] 2026-08-29 12:38:17
[2026-08-29 12:38:17,236.236 INFO    ] 2026-08-29 12:38:17
[2026-08-29 12:38:17,265.265 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:38:17,381.381 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:38:17,387.387 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:38:17,540.540 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:38:17,581.581 INFO    ] time= 29/08/2026 12:38:17
[2026-08-29 12:38:17,587.587 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:38:17,604.604 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:38:17,705.705 INFO    ] No existing commands found in stream
[2026-08-29 12:38:22,730.730 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:38:22,733.733 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 12:38:26,075.075 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:38:26,077.077 INFO    ] Checking for system updates...
[2026-08-29 12:38:26,102.102 INFO    ] 200
[2026-08-29 12:38:26,103.103 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:38:26,133.133 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:38:26,135.135 INFO    ] No update needed
[2026-08-29 12:38:26,136.136 INFO    ] Checking for camera pi updates...
[2026-08-29 12:38:26,155.155 INFO    ] 200
[2026-08-29 12:38:26,156.156 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:38:26,178.178 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:38:26,256.256 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:38:26,258.258 INFO    ] No camera update needed
[2026-08-29 12:38:26,260.260 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:38:26,263.263 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:38:26,268.268 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:38:26,273.273 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:38:28,314.314 INFO    ] ================================================
[2026-08-29 12:38:28,329.329 INFO    ] Launching Daemon at Sat Aug 29 12:38:28 IST 2026
[2026-08-29 12:38:28,340.340 INFO    ] ================================================
[2026-08-29 12:38:28,905.905 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:38:28
[2026-08-29 12:38:29,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:38:29,590.590 INFO    ] Initializing speech engine...
[2026-08-29 12:38:29,596.596 INFO    ] 2026-08-29 12:38:29
[2026-08-29 12:38:29,798.798 INFO    ] 2026-08-29 12:38:29
[2026-08-29 12:38:29,878.878 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:38:30,036.036 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:38:30,041.041 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:38:30,178.178 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:38:30,219.219 INFO    ] time= 29/08/2026 12:38:30
[2026-08-29 12:38:30,278.278 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:38:30,313.313 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:38:30,368.368 INFO    ] No existing commands found in stream
[2026-08-29 12:38:35,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:38:35,384.384 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-08-29 12:38:37,671.671 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:38:37,673.673 INFO    ] Checking for system updates...
[2026-08-29 12:38:37,693.693 INFO    ] 200
[2026-08-29 12:38:37,695.695 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:38:37,727.727 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:38:37,728.728 INFO    ] No update needed
[2026-08-29 12:38:37,729.729 INFO    ] Checking for camera pi updates...
[2026-08-29 12:38:37,748.748 INFO    ] 200
[2026-08-29 12:38:37,749.749 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:38:37,772.772 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:38:37,969.969 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:38:37,970.970 INFO    ] No camera update needed
[2026-08-29 12:38:37,971.971 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:38:37,973.973 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:38:37,976.976 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:38:37,978.978 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:38:40,016.016 INFO    ] ================================================
[2026-08-29 12:38:40,032.032 INFO    ] Launching Daemon at Sat Aug 29 12:38:40 IST 2026
[2026-08-29 12:38:40,042.042 INFO    ] ================================================
[2026-08-29 12:38:40,375.375 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:38:40
[2026-08-29 12:38:40,691.691 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:38:40,835.835 INFO    ] Initializing speech engine...
[2026-08-29 12:38:40,840.840 INFO    ] 2026-08-29 12:38:40
[2026-08-29 12:38:41,042.042 INFO    ] 2026-08-29 12:38:41
[2026-08-29 12:38:41,071.071 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:38:41,194.194 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:38:41,256.256 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:38:41,392.392 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:38:41,449.449 INFO    ] time= 29/08/2026 12:38:41
[2026-08-29 12:38:41,486.486 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:38:41,493.493 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:38:41,558.558 INFO    ] No existing commands found in stream
[2026-08-29 12:38:46,569.569 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:38:46,571.571 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-08-29 12:38:47,636.636 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:38:47,637.637 INFO    ] Checking for system updates...
[2026-08-29 12:38:47,659.659 INFO    ] 200
[2026-08-29 12:38:47,660.660 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:38:47,690.690 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:38:47,691.691 INFO    ] No update needed
[2026-08-29 12:38:47,692.692 INFO    ] Checking for camera pi updates...
[2026-08-29 12:38:47,711.711 INFO    ] 200
[2026-08-29 12:38:47,713.713 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:38:47,737.737 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:38:47,826.826 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:38:47,828.828 INFO    ] No camera update needed
[2026-08-29 12:38:47,831.831 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:38:47,833.833 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:38:47,838.838 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:38:47,843.843 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:38:49,883.883 INFO    ] ================================================
[2026-08-29 12:38:49,898.898 INFO    ] Launching Daemon at Sat Aug 29 12:38:49 IST 2026
[2026-08-29 12:38:49,909.909 INFO    ] ================================================
[2026-08-29 12:38:50,490.490 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:38:50
[2026-08-29 12:38:51,007.007 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:38:51,140.140 INFO    ] Initializing speech engine...
[2026-08-29 12:38:51,152.152 INFO    ] 2026-08-29 12:38:51
[2026-08-29 12:38:51,398.398 INFO    ] 2026-08-29 12:38:51
[2026-08-29 12:38:51,453.453 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:38:51,619.619 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:38:51,625.625 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:38:51,797.797 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:38:51,821.821 INFO    ] time= 29/08/2026 12:38:51
[2026-08-29 12:38:51,837.837 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:38:51,847.847 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:38:51,969.969 INFO    ] No existing commands found in stream
[2026-08-29 12:38:56,986.986 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:38:56,988.988 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-08-29 12:38:59,734.734 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:38:59,736.736 INFO    ] Checking for system updates...
[2026-08-29 12:38:59,756.756 INFO    ] 200
[2026-08-29 12:38:59,758.758 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:38:59,791.791 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:38:59,793.793 INFO    ] No update needed
[2026-08-29 12:38:59,794.794 INFO    ] Checking for camera pi updates...
[2026-08-29 12:38:59,815.815 INFO    ] 200
[2026-08-29 12:38:59,817.817 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:38:59,842.842 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:38:59,951.951 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:38:59,952.952 INFO    ] No camera update needed
[2026-08-29 12:38:59,953.953 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:38:59,955.955 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:38:59,957.957 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:38:59,960.960 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:39:02,004.004 INFO    ] ================================================
[2026-08-29 12:39:02,031.031 INFO    ] Launching Daemon at Sat Aug 29 12:39:02 IST 2026
[2026-08-29 12:39:02,055.055 INFO    ] ================================================
[2026-08-29 12:39:02,737.737 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:39:02
[2026-08-29 12:39:03,433.433 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:39:03,720.720 INFO    ] Initializing speech engine...
[2026-08-29 12:39:03,731.731 INFO    ] 2026-08-29 12:39:03
[2026-08-29 12:39:03,992.992 INFO    ] 2026-08-29 12:39:03
[2026-08-29 12:39:04,038.038 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:39:04,259.259 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:39:04,268.268 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:39:04,400.400 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:39:04,447.447 INFO    ] time= 29/08/2026 12:39:04
[2026-08-29 12:39:04,506.506 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:39:04,536.536 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:39:04,595.595 INFO    ] No existing commands found in stream
[2026-08-29 12:39:09,621.621 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:39:09,623.623 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-08-29 12:39:12,977.977 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:39:12,978.978 INFO    ] Checking for system updates...
[2026-08-29 12:39:12,999.999 INFO    ] 200
[2026-08-29 12:39:13,001.001 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:39:13,033.033 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:39:13,034.034 INFO    ] No update needed
[2026-08-29 12:39:13,036.036 INFO    ] Checking for camera pi updates...
[2026-08-29 12:39:13,056.056 INFO    ] 200
[2026-08-29 12:39:13,057.057 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:39:13,080.080 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:39:13,156.156 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:39:13,157.157 INFO    ] No camera update needed
[2026-08-29 12:39:13,159.159 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:39:13,160.160 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:39:13,163.163 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:39:13,166.166 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:39:15,198.198 INFO    ] ================================================
[2026-08-29 12:39:15,214.214 INFO    ] Launching Daemon at Sat Aug 29 12:39:15 IST 2026
[2026-08-29 12:39:15,225.225 INFO    ] ================================================
[2026-08-29 12:39:15,577.577 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:39:15
[2026-08-29 12:39:15,888.888 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:39:16,034.034 INFO    ] Initializing speech engine...
[2026-08-29 12:39:16,039.039 INFO    ] 2026-08-29 12:39:16
[2026-08-29 12:39:16,252.252 INFO    ] 2026-08-29 12:39:16
[2026-08-29 12:39:16,283.283 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:39:16,412.412 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:39:16,431.431 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:39:16,584.584 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:39:16,624.624 INFO    ] time= 29/08/2026 12:39:16
[2026-08-29 12:39:16,670.670 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:39:16,708.708 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:39:16,803.803 INFO    ] No existing commands found in stream
[2026-08-29 12:39:21,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:39:21,816.816 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-08-29 12:39:25,816.816 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:39:25,818.818 INFO    ] Checking for system updates...
[2026-08-29 12:39:25,840.840 INFO    ] 200
[2026-08-29 12:39:25,841.841 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:39:25,871.871 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:39:25,872.872 INFO    ] No update needed
[2026-08-29 12:39:25,874.874 INFO    ] Checking for camera pi updates...
[2026-08-29 12:39:25,894.894 INFO    ] 200
[2026-08-29 12:39:25,895.895 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:39:25,931.931 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:39:26,030.030 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:39:26,032.032 INFO    ] No camera update needed
[2026-08-29 12:39:26,035.035 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:39:26,037.037 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:39:26,042.042 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:39:26,047.047 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:39:28,087.087 INFO    ] ================================================
[2026-08-29 12:39:28,103.103 INFO    ] Launching Daemon at Sat Aug 29 12:39:28 IST 2026
[2026-08-29 12:39:28,114.114 INFO    ] ================================================
[2026-08-29 12:39:28,690.690 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:39:28
[2026-08-29 12:39:29,162.162 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:39:29,299.299 INFO    ] Initializing speech engine...
[2026-08-29 12:39:29,307.307 INFO    ] 2026-08-29 12:39:29
[2026-08-29 12:39:29,541.541 INFO    ] 2026-08-29 12:39:29
[2026-08-29 12:39:29,576.576 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:39:29,751.751 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:39:29,766.766 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:39:29,910.910 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:39:29,919.919 INFO    ] time= 29/08/2026 12:39:29
[2026-08-29 12:39:29,926.926 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:39:29,956.956 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:39:30,065.065 INFO    ] No existing commands found in stream
[2026-08-29 12:39:35,089.089 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:39:35,092.092 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 12:39:36,825.825 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:39:36,826.826 INFO    ] Checking for system updates...
[2026-08-29 12:39:36,847.847 INFO    ] 200
[2026-08-29 12:39:36,849.849 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:39:36,880.880 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:39:36,881.881 INFO    ] No update needed
[2026-08-29 12:39:36,883.883 INFO    ] Checking for camera pi updates...
[2026-08-29 12:39:36,902.902 INFO    ] 200
[2026-08-29 12:39:36,903.903 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:39:36,926.926 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:39:37,026.026 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:39:37,028.028 INFO    ] No camera update needed
[2026-08-29 12:39:37,029.029 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:39:37,030.030 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:39:37,033.033 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:39:37,036.036 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:39:39,076.076 INFO    ] ================================================
[2026-08-29 12:39:39,092.092 INFO    ] Launching Daemon at Sat Aug 29 12:39:39 IST 2026
[2026-08-29 12:39:39,103.103 INFO    ] ================================================
[2026-08-29 12:39:39,647.647 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:39:39
[2026-08-29 12:39:40,249.249 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:39:40,541.541 INFO    ] Initializing speech engine...
[2026-08-29 12:39:40,548.548 INFO    ] 2026-08-29 12:39:40
[2026-08-29 12:39:40,815.815 INFO    ] 2026-08-29 12:39:40
[2026-08-29 12:39:40,850.850 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:39:41,043.043 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:39:41,058.058 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:39:41,177.177 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:39:41,184.184 INFO    ] time= 29/08/2026 12:39:41
[2026-08-29 12:39:41,189.189 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:39:41,209.209 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:39:41,296.296 INFO    ] No existing commands found in stream
[2026-08-29 12:39:46,318.318 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:39:46,321.321 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-08-29 12:39:47,557.557 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:39:47,559.559 INFO    ] Checking for system updates...
[2026-08-29 12:39:47,579.579 INFO    ] 200
[2026-08-29 12:39:47,580.580 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:39:47,612.612 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:39:47,614.614 INFO    ] No update needed
[2026-08-29 12:39:47,615.615 INFO    ] Checking for camera pi updates...
[2026-08-29 12:39:47,634.634 INFO    ] 200
[2026-08-29 12:39:47,635.635 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:39:47,658.658 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:39:47,753.753 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:39:47,755.755 INFO    ] No camera update needed
[2026-08-29 12:39:47,756.756 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:39:47,757.757 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:39:47,760.760 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:39:47,763.763 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:39:49,801.801 INFO    ] ================================================
[2026-08-29 12:39:49,817.817 INFO    ] Launching Daemon at Sat Aug 29 12:39:49 IST 2026
[2026-08-29 12:39:49,828.828 INFO    ] ================================================
[2026-08-29 12:39:50,178.178 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:39:50
[2026-08-29 12:39:50,513.513 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:39:50,666.666 INFO    ] Initializing speech engine...
[2026-08-29 12:39:50,670.670 INFO    ] 2026-08-29 12:39:50
[2026-08-29 12:39:50,876.876 INFO    ] 2026-08-29 12:39:50
[2026-08-29 12:39:50,905.905 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:39:51,087.087 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:39:51,091.091 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:39:51,220.220 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:39:51,287.287 INFO    ] time= 29/08/2026 12:39:51
[2026-08-29 12:39:51,319.319 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:39:51,326.326 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:39:51,393.393 INFO    ] No existing commands found in stream
[2026-08-29 12:39:56,407.407 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:39:56,410.410 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-08-29 12:39:57,372.372 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:39:57,375.375 INFO    ] Checking for system updates...
[2026-08-29 12:39:57,410.410 INFO    ] 200
[2026-08-29 12:39:57,412.412 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:39:57,464.464 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:39:57,466.466 INFO    ] No update needed
[2026-08-29 12:39:57,469.469 INFO    ] Checking for camera pi updates...
[2026-08-29 12:39:57,502.502 INFO    ] 200
[2026-08-29 12:39:57,505.505 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:39:57,548.548 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:39:57,649.649 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:39:57,652.652 INFO    ] No camera update needed
[2026-08-29 12:39:57,654.654 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:39:57,656.656 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:39:57,662.662 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:39:57,667.667 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:39:59,706.706 INFO    ] ================================================
[2026-08-29 12:39:59,721.721 INFO    ] Launching Daemon at Sat Aug 29 12:39:59 IST 2026
[2026-08-29 12:39:59,733.733 INFO    ] ================================================
[2026-08-29 12:40:00,319.319 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:40:00
[2026-08-29 12:40:00,984.984 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:40:01,288.288 INFO    ] Initializing speech engine...
[2026-08-29 12:40:01,301.301 INFO    ] 2026-08-29 12:40:01
[2026-08-29 12:40:01,611.611 INFO    ] 2026-08-29 12:40:01
[2026-08-29 12:40:01,707.707 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:40:01,934.934 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:40:01,938.938 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:40:02,058.058 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:40:02,063.063 INFO    ] time= 29/08/2026 12:40:02
[2026-08-29 12:40:02,066.066 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:40:02,069.069 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:40:02,132.132 INFO    ] No existing commands found in stream
[2026-08-29 12:40:07,143.143 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:40:07,146.146 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-08-29 12:40:10,059.059 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:40:10,060.060 INFO    ] Checking for system updates...
[2026-08-29 12:40:10,081.081 INFO    ] 200
[2026-08-29 12:40:10,082.082 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:40:10,114.114 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:40:10,116.116 INFO    ] No update needed
[2026-08-29 12:40:10,117.117 INFO    ] Checking for camera pi updates...
[2026-08-29 12:40:10,136.136 INFO    ] 200
[2026-08-29 12:40:10,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:40:10,160.160 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:40:10,260.260 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:40:10,262.262 INFO    ] No camera update needed
[2026-08-29 12:40:10,265.265 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:40:10,267.267 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:40:10,272.272 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:40:10,277.277 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:40:12,318.318 INFO    ] ================================================
[2026-08-29 12:40:12,334.334 INFO    ] Launching Daemon at Sat Aug 29 12:40:12 IST 2026
[2026-08-29 12:40:12,346.346 INFO    ] ================================================
[2026-08-29 12:40:12,998.998 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:40:12
[2026-08-29 12:40:13,490.490 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:40:13,635.635 INFO    ] Initializing speech engine...
[2026-08-29 12:40:13,646.646 INFO    ] 2026-08-29 12:40:13
[2026-08-29 12:40:13,852.852 INFO    ] 2026-08-29 12:40:13
[2026-08-29 12:40:13,882.882 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:40:14,024.024 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:40:14,067.067 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:40:14,210.210 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:40:14,271.271 INFO    ] time= 29/08/2026 12:40:14
[2026-08-29 12:40:14,295.295 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:40:14,303.303 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:40:14,368.368 INFO    ] No existing commands found in stream
[2026-08-29 12:40:19,379.379 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:40:19,382.382 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-08-29 12:40:23,113.113 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:40:23,115.115 INFO    ] Checking for system updates...
[2026-08-29 12:40:23,135.135 INFO    ] 200
[2026-08-29 12:40:23,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:40:23,169.169 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:40:23,170.170 INFO    ] No update needed
[2026-08-29 12:40:23,171.171 INFO    ] Checking for camera pi updates...
[2026-08-29 12:40:23,193.193 INFO    ] 200
[2026-08-29 12:40:23,194.194 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:40:23,218.218 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:40:23,312.312 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:40:23,314.314 INFO    ] No camera update needed
[2026-08-29 12:40:23,315.315 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:40:23,316.316 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:40:23,319.319 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:40:23,321.321 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:40:25,361.361 INFO    ] ================================================
[2026-08-29 12:40:25,377.377 INFO    ] Launching Daemon at Sat Aug 29 12:40:25 IST 2026
[2026-08-29 12:40:25,389.389 INFO    ] ================================================
[2026-08-29 12:40:25,733.733 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:40:25
[2026-08-29 12:40:26,075.075 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:40:26,323.323 INFO    ] Initializing speech engine...
[2026-08-29 12:40:26,337.337 INFO    ] 2026-08-29 12:40:26
[2026-08-29 12:40:26,607.607 INFO    ] 2026-08-29 12:40:26
[2026-08-29 12:40:26,641.641 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:40:26,820.820 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:40:26,832.832 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:40:26,943.943 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:40:26,948.948 INFO    ] time= 29/08/2026 12:40:26
[2026-08-29 12:40:26,966.966 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:40:26,989.989 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:40:27,063.063 INFO    ] No existing commands found in stream
[2026-08-29 12:40:32,077.077 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:40:32,079.079 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-08-29 12:40:32,823.823 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:40:32,826.826 INFO    ] Checking for system updates...
[2026-08-29 12:40:32,862.862 INFO    ] 200
[2026-08-29 12:40:32,865.865 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:40:32,924.924 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:40:32,926.926 INFO    ] No update needed
[2026-08-29 12:40:32,929.929 INFO    ] Checking for camera pi updates...
[2026-08-29 12:40:32,966.966 INFO    ] 200
[2026-08-29 12:40:32,968.968 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:40:33,008.008 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:40:33,156.156 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:40:33,158.158 INFO    ] No camera update needed
[2026-08-29 12:40:33,160.160 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:40:33,163.163 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:40:33,168.168 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:40:33,173.173 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:40:35,215.215 INFO    ] ================================================
[2026-08-29 12:40:35,230.230 INFO    ] Launching Daemon at Sat Aug 29 12:40:35 IST 2026
[2026-08-29 12:40:35,242.242 INFO    ] ================================================
[2026-08-29 12:40:35,746.746 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:40:35
[2026-08-29 12:40:36,087.087 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:40:36,239.239 INFO    ] Initializing speech engine...
[2026-08-29 12:40:36,245.245 INFO    ] 2026-08-29 12:40:36
[2026-08-29 12:40:36,453.453 INFO    ] 2026-08-29 12:40:36
[2026-08-29 12:40:36,482.482 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:40:36,620.620 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:40:36,668.668 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:40:36,823.823 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:40:36,879.879 INFO    ] time= 29/08/2026 12:40:36
[2026-08-29 12:40:36,940.940 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:40:36,994.994 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:40:37,111.111 INFO    ] No existing commands found in stream
[2026-08-29 12:40:42,142.142 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:40:42,145.145 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-08-29 12:40:45,448.448 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:40:45,450.450 INFO    ] Checking for system updates...
[2026-08-29 12:40:45,470.470 INFO    ] 200
[2026-08-29 12:40:45,471.471 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:40:45,513.513 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:40:45,514.514 INFO    ] No update needed
[2026-08-29 12:40:45,515.515 INFO    ] Checking for camera pi updates...
[2026-08-29 12:40:45,536.536 INFO    ] 200
[2026-08-29 12:40:45,537.537 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:40:45,560.560 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:40:45,766.766 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:40:45,768.768 INFO    ] No camera update needed
[2026-08-29 12:40:45,769.769 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:40:45,770.770 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:40:45,773.773 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:40:45,776.776 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:40:47,815.815 INFO    ] ================================================
[2026-08-29 12:40:47,830.830 INFO    ] Launching Daemon at Sat Aug 29 12:40:47 IST 2026
[2026-08-29 12:40:47,841.841 INFO    ] ================================================
[2026-08-29 12:40:48,199.199 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:40:48
[2026-08-29 12:40:48,509.509 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:40:48,641.641 INFO    ] Initializing speech engine...
[2026-08-29 12:40:48,654.654 INFO    ] 2026-08-29 12:40:48
[2026-08-29 12:40:48,840.840 INFO    ] 2026-08-29 12:40:48
[2026-08-29 12:40:48,921.921 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:40:49,072.072 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:40:49,080.080 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:40:49,218.218 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:40:49,283.283 INFO    ] time= 29/08/2026 12:40:49
[2026-08-29 12:40:49,338.338 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:40:49,355.355 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:40:49,466.466 INFO    ] No existing commands found in stream
[2026-08-29 12:40:54,488.488 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:40:54,491.491 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-08-29 12:40:55,949.949 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:40:55,951.951 INFO    ] Checking for system updates...
[2026-08-29 12:40:55,971.971 INFO    ] 200
[2026-08-29 12:40:55,973.973 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:40:56,002.002 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:40:56,004.004 INFO    ] No update needed
[2026-08-29 12:40:56,005.005 INFO    ] Checking for camera pi updates...
[2026-08-29 12:40:56,025.025 INFO    ] 200
[2026-08-29 12:40:56,027.027 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:40:56,052.052 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:40:56,139.139 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:40:56,140.140 INFO    ] No camera update needed
[2026-08-29 12:40:56,141.141 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:40:56,143.143 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:40:56,146.146 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:40:56,148.148 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:40:58,188.188 INFO    ] ================================================
[2026-08-29 12:40:58,205.205 INFO    ] Launching Daemon at Sat Aug 29 12:40:58 IST 2026
[2026-08-29 12:40:58,216.216 INFO    ] ================================================
[2026-08-29 12:40:58,585.585 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:40:58
[2026-08-29 12:40:58,923.923 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:40:59,069.069 INFO    ] Initializing speech engine...
[2026-08-29 12:40:59,081.081 INFO    ] 2026-08-29 12:40:59
[2026-08-29 12:40:59,288.288 INFO    ] 2026-08-29 12:40:59
[2026-08-29 12:40:59,318.318 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:40:59,480.480 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:40:59,486.486 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:40:59,619.619 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:40:59,638.638 INFO    ] time= 29/08/2026 12:40:59
[2026-08-29 12:40:59,652.652 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:40:59,678.678 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:40:59,781.781 INFO    ] No existing commands found in stream
[2026-08-29 12:41:04,798.798 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:41:04,801.801 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-08-29 12:41:08,275.275 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:41:08,277.277 INFO    ] Checking for system updates...
[2026-08-29 12:41:08,299.299 INFO    ] 200
[2026-08-29 12:41:08,300.300 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:41:08,335.335 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:41:08,336.336 INFO    ] No update needed
[2026-08-29 12:41:08,338.338 INFO    ] Checking for camera pi updates...
[2026-08-29 12:41:08,360.360 INFO    ] 200
[2026-08-29 12:41:08,361.361 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:41:08,385.385 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:41:08,463.463 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:41:08,464.464 INFO    ] No camera update needed
[2026-08-29 12:41:08,465.465 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:41:08,467.467 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:41:08,470.470 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:41:08,474.474 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:41:10,513.513 INFO    ] ================================================
[2026-08-29 12:41:10,529.529 INFO    ] Launching Daemon at Sat Aug 29 12:41:10 IST 2026
[2026-08-29 12:41:10,540.540 INFO    ] ================================================
[2026-08-29 12:41:10,886.886 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:41:10
[2026-08-29 12:41:11,222.222 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:41:11,367.367 INFO    ] Initializing speech engine...
[2026-08-29 12:41:11,378.378 INFO    ] 2026-08-29 12:41:11
[2026-08-29 12:41:11,584.584 INFO    ] 2026-08-29 12:41:11
[2026-08-29 12:41:11,614.614 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:41:11,758.758 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:41:11,801.801 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:41:11,932.932 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:41:11,993.993 INFO    ] time= 29/08/2026 12:41:11
[2026-08-29 12:41:12,030.030 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:41:12,037.037 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:41:12,106.106 INFO    ] No existing commands found in stream
[2026-08-29 12:41:17,120.120 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:41:17,123.123 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-08-29 12:41:19,290.290 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:41:19,291.291 INFO    ] Checking for system updates...
[2026-08-29 12:41:19,312.312 INFO    ] 200
[2026-08-29 12:41:19,313.313 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:41:19,345.345 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:41:19,347.347 INFO    ] No update needed
[2026-08-29 12:41:19,348.348 INFO    ] Checking for camera pi updates...
[2026-08-29 12:41:19,368.368 INFO    ] 200
[2026-08-29 12:41:19,369.369 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:41:19,394.394 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:41:19,486.486 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:41:19,487.487 INFO    ] No camera update needed
[2026-08-29 12:41:19,488.488 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:41:19,489.489 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:41:19,492.492 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:41:19,495.495 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:41:21,535.535 INFO    ] ================================================
[2026-08-29 12:41:21,551.551 INFO    ] Launching Daemon at Sat Aug 29 12:41:21 IST 2026
[2026-08-29 12:41:21,562.562 INFO    ] ================================================
[2026-08-29 12:41:21,945.945 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:41:21
[2026-08-29 12:41:22,282.282 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:41:22,433.433 INFO    ] Initializing speech engine...
[2026-08-29 12:41:22,438.438 INFO    ] 2026-08-29 12:41:22
[2026-08-29 12:41:22,650.650 INFO    ] 2026-08-29 12:41:22
[2026-08-29 12:41:22,679.679 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:41:22,807.807 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:41:22,865.865 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:41:23,004.004 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:41:23,073.073 INFO    ] time= 29/08/2026 12:41:23
[2026-08-29 12:41:23,096.096 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:41:23,103.103 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:41:23,175.175 INFO    ] No existing commands found in stream
[2026-08-29 12:41:28,203.203 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:41:28,206.206 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-08-29 12:41:31,864.864 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:41:31,867.867 INFO    ] Checking for system updates...
[2026-08-29 12:41:31,908.908 INFO    ] 200
[2026-08-29 12:41:31,911.911 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:41:31,977.977 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:41:31,980.980 INFO    ] No update needed
[2026-08-29 12:41:31,983.983 INFO    ] Checking for camera pi updates...
[2026-08-29 12:41:32,025.025 INFO    ] 200
[2026-08-29 12:41:32,028.028 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:41:32,081.081 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:41:32,213.213 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:41:32,216.216 INFO    ] No camera update needed
[2026-08-29 12:41:32,222.222 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:41:32,227.227 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:41:32,236.236 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:41:32,245.245 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:41:34,290.290 INFO    ] ================================================
[2026-08-29 12:41:34,305.305 INFO    ] Launching Daemon at Sat Aug 29 12:41:34 IST 2026
[2026-08-29 12:41:34,316.316 INFO    ] ================================================
[2026-08-29 12:41:34,801.801 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:41:34
[2026-08-29 12:41:35,118.118 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:41:35,263.263 INFO    ] Initializing speech engine...
[2026-08-29 12:41:35,268.268 INFO    ] 2026-08-29 12:41:35
[2026-08-29 12:41:35,473.473 INFO    ] 2026-08-29 12:41:35
[2026-08-29 12:41:35,501.501 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:41:35,639.639 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:41:35,687.687 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:41:35,822.822 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:41:35,878.878 INFO    ] time= 29/08/2026 12:41:35
[2026-08-29 12:41:35,907.907 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:41:35,930.930 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:41:36,006.006 INFO    ] No existing commands found in stream
[2026-08-29 12:41:41,017.017 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:41:41,019.019 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-08-29 12:41:43,327.327 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:41:43,329.329 INFO    ] Checking for system updates...
[2026-08-29 12:41:43,349.349 INFO    ] 200
[2026-08-29 12:41:43,350.350 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:41:43,386.386 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:41:43,388.388 INFO    ] No update needed
[2026-08-29 12:41:43,389.389 INFO    ] Checking for camera pi updates...
[2026-08-29 12:41:43,409.409 INFO    ] 200
[2026-08-29 12:41:43,411.411 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:41:43,434.434 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:41:43,530.530 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:41:43,531.531 INFO    ] No camera update needed
[2026-08-29 12:41:43,533.533 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:41:43,534.534 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:41:43,537.537 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:41:43,540.540 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:41:45,579.579 INFO    ] ================================================
[2026-08-29 12:41:45,595.595 INFO    ] Launching Daemon at Sat Aug 29 12:41:45 IST 2026
[2026-08-29 12:41:45,605.605 INFO    ] ================================================
[2026-08-29 12:41:46,167.167 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:41:46
[2026-08-29 12:41:46,815.815 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:41:47,069.069 INFO    ] Initializing speech engine...
[2026-08-29 12:41:47,082.082 INFO    ] 2026-08-29 12:41:47
[2026-08-29 12:41:47,347.347 INFO    ] 2026-08-29 12:41:47
[2026-08-29 12:41:47,383.383 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:41:47,565.565 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:41:47,580.580 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:41:47,709.709 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:41:47,718.718 INFO    ] time= 29/08/2026 12:41:47
[2026-08-29 12:41:47,724.724 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:41:47,765.765 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:41:47,889.889 INFO    ] No existing commands found in stream
[2026-08-29 12:41:52,919.919 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:41:52,922.922 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 12:41:54,296.296 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:41:54,298.298 INFO    ] Checking for system updates...
[2026-08-29 12:41:54,318.318 INFO    ] 200
[2026-08-29 12:41:54,319.319 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:41:54,351.351 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:41:54,353.353 INFO    ] No update needed
[2026-08-29 12:41:54,354.354 INFO    ] Checking for camera pi updates...
[2026-08-29 12:41:54,375.375 INFO    ] 200
[2026-08-29 12:41:54,376.376 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:41:54,401.401 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:41:54,501.501 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:41:54,503.503 INFO    ] No camera update needed
[2026-08-29 12:41:54,504.504 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:41:54,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:41:54,508.508 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:41:54,511.511 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:41:56,549.549 INFO    ] ================================================
[2026-08-29 12:41:56,565.565 INFO    ] Launching Daemon at Sat Aug 29 12:41:56 IST 2026
[2026-08-29 12:41:56,576.576 INFO    ] ================================================
[2026-08-29 12:41:57,142.142 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:41:57
[2026-08-29 12:41:57,725.725 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:41:57,995.995 INFO    ] Initializing speech engine...
[2026-08-29 12:41:58,004.004 INFO    ] 2026-08-29 12:41:57
[2026-08-29 12:41:58,257.257 INFO    ] 2026-08-29 12:41:58
[2026-08-29 12:41:58,315.315 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:41:58,458.458 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:41:58,469.469 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:41:58,611.611 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:41:58,619.619 INFO    ] time= 29/08/2026 12:41:58
[2026-08-29 12:41:58,627.627 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:41:58,677.677 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:41:58,804.804 INFO    ] No existing commands found in stream
[2026-08-29 12:42:03,826.826 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:42:03,829.829 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-08-29 12:42:07,700.700 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:42:07,701.701 INFO    ] Checking for system updates...
[2026-08-29 12:42:07,722.722 INFO    ] 200
[2026-08-29 12:42:07,723.723 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:42:07,754.754 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:42:07,755.755 INFO    ] No update needed
[2026-08-29 12:42:07,756.756 INFO    ] Checking for camera pi updates...
[2026-08-29 12:42:07,777.777 INFO    ] 200
[2026-08-29 12:42:07,778.778 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:42:07,805.805 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:42:07,885.885 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:42:07,886.886 INFO    ] No camera update needed
[2026-08-29 12:42:07,887.887 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:42:07,889.889 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:42:07,892.892 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:42:07,895.895 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:42:09,934.934 INFO    ] ================================================
[2026-08-29 12:42:09,949.949 INFO    ] Launching Daemon at Sat Aug 29 12:42:09 IST 2026
[2026-08-29 12:42:09,961.961 INFO    ] ================================================
[2026-08-29 12:42:10,333.333 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:42:10
[2026-08-29 12:42:10,885.885 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:42:11,165.165 INFO    ] Initializing speech engine...
[2026-08-29 12:42:11,179.179 INFO    ] 2026-08-29 12:42:11
[2026-08-29 12:42:11,446.446 INFO    ] 2026-08-29 12:42:11
[2026-08-29 12:42:11,484.484 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:42:11,677.677 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:42:11,693.693 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:42:11,816.816 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:42:11,821.821 INFO    ] time= 29/08/2026 12:42:11
[2026-08-29 12:42:11,840.840 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:42:11,862.862 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:42:11,943.943 INFO    ] No existing commands found in stream
[2026-08-29 12:42:16,952.952 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:42:16,955.955 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-08-29 12:42:19,884.884 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:42:19,886.886 INFO    ] Checking for system updates...
[2026-08-29 12:42:19,907.907 INFO    ] 200
[2026-08-29 12:42:19,908.908 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:42:19,940.940 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:42:19,941.941 INFO    ] No update needed
[2026-08-29 12:42:19,943.943 INFO    ] Checking for camera pi updates...
[2026-08-29 12:42:19,962.962 INFO    ] 200
[2026-08-29 12:42:19,964.964 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:42:19,987.987 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:42:20,076.076 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:42:20,078.078 INFO    ] No camera update needed
[2026-08-29 12:42:20,079.079 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:42:20,081.081 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:42:20,084.084 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:42:20,087.087 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:42:22,125.125 INFO    ] ================================================
[2026-08-29 12:42:22,141.141 INFO    ] Launching Daemon at Sat Aug 29 12:42:22 IST 2026
[2026-08-29 12:42:22,153.153 INFO    ] ================================================
[2026-08-29 12:42:22,497.497 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:42:22
[2026-08-29 12:42:22,810.810 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:42:23,036.036 INFO    ] Initializing speech engine...
[2026-08-29 12:42:23,041.041 INFO    ] 2026-08-29 12:42:23
[2026-08-29 12:42:23,300.300 INFO    ] 2026-08-29 12:42:23
[2026-08-29 12:42:23,358.358 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:42:23,503.503 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:42:23,515.515 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:42:23,659.659 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:42:23,667.667 INFO    ] time= 29/08/2026 12:42:23
[2026-08-29 12:42:23,674.674 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:42:23,715.715 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:42:23,852.852 INFO    ] No existing commands found in stream
[2026-08-29 12:42:28,877.877 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:42:28,880.880 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-08-29 12:42:32,899.899 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:42:32,901.901 INFO    ] Checking for system updates...
[2026-08-29 12:42:32,941.941 INFO    ] 200
[2026-08-29 12:42:32,944.944 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:42:33,002.002 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:42:33,005.005 INFO    ] No update needed
[2026-08-29 12:42:33,008.008 INFO    ] Checking for camera pi updates...
[2026-08-29 12:42:33,045.045 INFO    ] 200
[2026-08-29 12:42:33,048.048 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:42:33,089.089 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:42:33,188.188 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:42:33,191.191 INFO    ] No camera update needed
[2026-08-29 12:42:33,194.194 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:42:33,196.196 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:42:33,202.202 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:42:33,207.207 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:42:35,240.240 INFO    ] ================================================
[2026-08-29 12:42:35,249.249 INFO    ] Launching Daemon at Sat Aug 29 12:42:35 IST 2026
[2026-08-29 12:42:35,255.255 INFO    ] ================================================
[2026-08-29 12:42:35,806.806 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:42:35
[2026-08-29 12:42:36,394.394 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:42:36,654.654 INFO    ] Initializing speech engine...
[2026-08-29 12:42:36,669.669 INFO    ] 2026-08-29 12:42:36
[2026-08-29 12:42:36,925.925 INFO    ] 2026-08-29 12:42:36
[2026-08-29 12:42:36,960.960 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:42:37,137.137 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:42:37,150.150 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:42:37,294.294 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:42:37,302.302 INFO    ] time= 29/08/2026 12:42:37
[2026-08-29 12:42:37,311.311 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:42:37,355.355 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:42:37,479.479 INFO    ] No existing commands found in stream
[2026-08-29 12:42:42,504.504 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:42:42,507.507 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 12:42:43,483.483 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:42:43,484.484 INFO    ] Checking for system updates...
[2026-08-29 12:42:43,505.505 INFO    ] 200
[2026-08-29 12:42:43,506.506 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:42:43,536.536 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:42:43,537.537 INFO    ] No update needed
[2026-08-29 12:42:43,538.538 INFO    ] Checking for camera pi updates...
[2026-08-29 12:42:43,559.559 INFO    ] 200
[2026-08-29 12:42:43,561.561 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:42:43,585.585 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:42:43,672.672 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:42:43,674.674 INFO    ] No camera update needed
[2026-08-29 12:42:43,675.675 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:42:43,676.676 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:42:43,679.679 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:42:43,681.681 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:42:45,722.722 INFO    ] ================================================
[2026-08-29 12:42:45,738.738 INFO    ] Launching Daemon at Sat Aug 29 12:42:45 IST 2026
[2026-08-29 12:42:45,749.749 INFO    ] ================================================
[2026-08-29 12:42:46,207.207 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:42:46
[2026-08-29 12:42:46,809.809 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:42:47,071.071 INFO    ] Initializing speech engine...
[2026-08-29 12:42:47,077.077 INFO    ] 2026-08-29 12:42:47
[2026-08-29 12:42:47,370.370 INFO    ] 2026-08-29 12:42:47
[2026-08-29 12:42:47,406.406 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:42:47,554.554 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:42:47,561.561 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:42:47,711.711 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:42:47,716.716 INFO    ] time= 29/08/2026 12:42:47
[2026-08-29 12:42:47,726.726 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:42:47,731.731 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:42:47,801.801 INFO    ] No existing commands found in stream
[2026-08-29 12:42:52,812.812 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:42:52,815.815 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-08-29 12:42:56,727.727 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:42:56,729.729 INFO    ] Checking for system updates...
[2026-08-29 12:42:56,750.750 INFO    ] 200
[2026-08-29 12:42:56,751.751 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:42:56,782.782 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:42:56,783.783 INFO    ] No update needed
[2026-08-29 12:42:56,784.784 INFO    ] Checking for camera pi updates...
[2026-08-29 12:42:56,804.804 INFO    ] 200
[2026-08-29 12:42:56,805.805 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:42:56,830.830 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:42:57,013.013 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:42:57,014.014 INFO    ] No camera update needed
[2026-08-29 12:42:57,015.015 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:42:57,016.016 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:42:57,019.019 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:42:57,022.022 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:42:59,060.060 INFO    ] ================================================
[2026-08-29 12:42:59,076.076 INFO    ] Launching Daemon at Sat Aug 29 12:42:59 IST 2026
[2026-08-29 12:42:59,087.087 INFO    ] ================================================
[2026-08-29 12:42:59,460.460 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:42:59
[2026-08-29 12:42:59,774.774 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:42:59,906.906 INFO    ] Initializing speech engine...
[2026-08-29 12:42:59,919.919 INFO    ] 2026-08-29 12:42:59
[2026-08-29 12:43:00,127.127 INFO    ] 2026-08-29 12:43:00
[2026-08-29 12:43:00,157.157 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:43:00,281.281 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:43:00,344.344 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:43:00,503.503 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:43:00,554.554 INFO    ] time= 29/08/2026 12:43:00
[2026-08-29 12:43:00,600.600 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:43:00,654.654 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:43:00,756.756 INFO    ] No existing commands found in stream
[2026-08-29 12:43:05,766.766 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:43:05,769.769 INFO    ] Waiting 0.00 seconds before fallback handling...
[2026-08-29 12:43:06,109.109 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:43:06,110.110 INFO    ] Checking for system updates...
[2026-08-29 12:43:06,131.131 INFO    ] 200
[2026-08-29 12:43:06,132.132 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:43:06,162.162 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:43:06,163.163 INFO    ] No update needed
[2026-08-29 12:43:06,169.169 INFO    ] Checking for camera pi updates...
[2026-08-29 12:43:06,190.190 INFO    ] 200
[2026-08-29 12:43:06,192.192 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:43:06,219.219 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:43:06,300.300 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:43:06,302.302 INFO    ] No camera update needed
[2026-08-29 12:43:06,303.303 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:43:06,304.304 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:43:06,307.307 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:43:06,310.310 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:43:08,348.348 INFO    ] ================================================
[2026-08-29 12:43:08,364.364 INFO    ] Launching Daemon at Sat Aug 29 12:43:08 IST 2026
[2026-08-29 12:43:08,382.382 INFO    ] ================================================
[2026-08-29 12:43:08,743.743 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:43:08
[2026-08-29 12:43:09,056.056 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:43:09,199.199 INFO    ] Initializing speech engine...
[2026-08-29 12:43:09,204.204 INFO    ] 2026-08-29 12:43:09
[2026-08-29 12:43:09,407.407 INFO    ] 2026-08-29 12:43:09
[2026-08-29 12:43:09,437.437 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:43:09,562.562 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:43:09,625.625 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:43:09,766.766 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:43:09,833.833 INFO    ] time= 29/08/2026 12:43:09
[2026-08-29 12:43:09,857.857 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:43:09,864.864 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:43:09,931.931 INFO    ] No existing commands found in stream
[2026-08-29 12:43:14,941.941 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:43:14,944.944 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-08-29 12:43:17,999.999 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:43:18,000.000 INFO    ] Checking for system updates...
[2026-08-29 12:43:18,021.021 INFO    ] 200
[2026-08-29 12:43:18,022.022 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:43:18,052.052 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:43:18,053.053 INFO    ] No update needed
[2026-08-29 12:43:18,055.055 INFO    ] Checking for camera pi updates...
[2026-08-29 12:43:18,075.075 INFO    ] 200
[2026-08-29 12:43:18,077.077 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:43:18,101.101 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:43:18,191.191 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:43:18,192.192 INFO    ] No camera update needed
[2026-08-29 12:43:18,194.194 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:43:18,195.195 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:43:18,198.198 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:43:18,200.200 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:43:20,238.238 INFO    ] ================================================
[2026-08-29 12:43:20,255.255 INFO    ] Launching Daemon at Sat Aug 29 12:43:20 IST 2026
[2026-08-29 12:43:20,265.265 INFO    ] ================================================
[2026-08-29 12:43:20,617.617 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:43:20
[2026-08-29 12:43:20,930.930 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:43:21,059.059 INFO    ] Initializing speech engine...
[2026-08-29 12:43:21,064.064 INFO    ] 2026-08-29 12:43:21
[2026-08-29 12:43:21,268.268 INFO    ] 2026-08-29 12:43:21
[2026-08-29 12:43:21,309.309 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:43:21,528.528 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:43:21,537.537 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:43:21,671.671 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:43:21,713.713 INFO    ] time= 29/08/2026 12:43:21
[2026-08-29 12:43:21,772.772 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:43:21,804.804 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:43:21,860.860 INFO    ] No existing commands found in stream
[2026-08-29 12:43:26,871.871 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:43:26,874.874 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-08-29 12:43:30,311.311 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:43:30,313.313 INFO    ] Checking for system updates...
[2026-08-29 12:43:30,333.333 INFO    ] 200
[2026-08-29 12:43:30,335.335 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:43:30,365.365 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:43:30,366.366 INFO    ] No update needed
[2026-08-29 12:43:30,367.367 INFO    ] Checking for camera pi updates...
[2026-08-29 12:43:30,386.386 INFO    ] 200
[2026-08-29 12:43:30,387.387 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:43:30,414.414 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:43:30,493.493 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:43:30,494.494 INFO    ] No camera update needed
[2026-08-29 12:43:30,495.495 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:43:30,496.496 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:43:30,499.499 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:43:30,502.502 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:43:32,533.533 INFO    ] ================================================
[2026-08-29 12:43:32,542.542 INFO    ] Launching Daemon at Sat Aug 29 12:43:32 IST 2026
[2026-08-29 12:43:32,548.548 INFO    ] ================================================
[2026-08-29 12:43:33,133.133 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:43:33
[2026-08-29 12:43:33,730.730 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:43:34,008.008 INFO    ] Initializing speech engine...
[2026-08-29 12:43:34,013.013 INFO    ] 2026-08-29 12:43:34
[2026-08-29 12:43:34,276.276 INFO    ] 2026-08-29 12:43:34
[2026-08-29 12:43:34,332.332 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:43:34,552.552 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:43:34,561.561 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:43:34,692.692 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:43:34,718.718 INFO    ] time= 29/08/2026 12:43:34
[2026-08-29 12:43:34,778.778 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:43:34,823.823 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:43:34,875.875 INFO    ] No existing commands found in stream
[2026-08-29 12:43:39,887.887 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:43:39,890.890 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 12:43:43,335.335 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:43:43,337.337 INFO    ] Checking for system updates...
[2026-08-29 12:43:43,357.357 INFO    ] 200
[2026-08-29 12:43:43,358.358 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:43:43,390.390 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:43:43,391.391 INFO    ] No update needed
[2026-08-29 12:43:43,393.393 INFO    ] Checking for camera pi updates...
[2026-08-29 12:43:43,413.413 INFO    ] 200
[2026-08-29 12:43:43,414.414 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:43:43,437.437 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:43:43,533.533 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:43:43,534.534 INFO    ] No camera update needed
[2026-08-29 12:43:43,536.536 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:43:43,537.537 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:43:43,540.540 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:43:43,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:43:45,580.580 INFO    ] ================================================
[2026-08-29 12:43:45,595.595 INFO    ] Launching Daemon at Sat Aug 29 12:43:45 IST 2026
[2026-08-29 12:43:45,606.606 INFO    ] ================================================
[2026-08-29 12:43:45,939.939 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:43:45
[2026-08-29 12:43:46,249.249 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:43:46,394.394 INFO    ] Initializing speech engine...
[2026-08-29 12:43:46,400.400 INFO    ] 2026-08-29 12:43:46
[2026-08-29 12:43:46,605.605 INFO    ] 2026-08-29 12:43:46
[2026-08-29 12:43:46,633.633 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:43:46,757.757 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:43:46,819.819 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:43:46,993.993 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:43:47,017.017 INFO    ] time= 29/08/2026 12:43:47
[2026-08-29 12:43:47,071.071 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:43:47,126.126 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:43:47,217.217 INFO    ] No existing commands found in stream
[2026-08-29 12:43:52,232.232 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:43:52,235.235 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-08-29 12:43:53,090.090 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:43:53,092.092 INFO    ] Checking for system updates...
[2026-08-29 12:43:53,112.112 INFO    ] 200
[2026-08-29 12:43:53,114.114 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:43:53,144.144 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:43:53,145.145 INFO    ] No update needed
[2026-08-29 12:43:53,146.146 INFO    ] Checking for camera pi updates...
[2026-08-29 12:43:53,169.169 INFO    ] 200
[2026-08-29 12:43:53,170.170 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:43:53,194.194 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:43:53,269.269 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:43:53,270.270 INFO    ] No camera update needed
[2026-08-29 12:43:53,272.272 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:43:53,273.273 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:43:53,276.276 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:43:53,279.279 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:43:55,317.317 INFO    ] ================================================
[2026-08-29 12:43:55,332.332 INFO    ] Launching Daemon at Sat Aug 29 12:43:55 IST 2026
[2026-08-29 12:43:55,343.343 INFO    ] ================================================
[2026-08-29 12:43:55,671.671 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:43:55
[2026-08-29 12:43:55,996.996 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:43:56,249.249 INFO    ] Initializing speech engine...
[2026-08-29 12:43:56,255.255 INFO    ] 2026-08-29 12:43:56
[2026-08-29 12:43:56,541.541 INFO    ] 2026-08-29 12:43:56
[2026-08-29 12:43:56,576.576 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:43:56,753.753 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:43:56,766.766 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:43:56,896.896 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:43:56,916.916 INFO    ] time= 29/08/2026 12:43:56
[2026-08-29 12:43:56,924.924 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:43:56,932.932 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:43:56,999.999 INFO    ] No existing commands found in stream
[2026-08-29 12:44:02,014.014 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:44:02,017.017 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-08-29 12:44:04,383.383 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:44:04,386.386 INFO    ] Checking for system updates...
[2026-08-29 12:44:04,421.421 INFO    ] 200
[2026-08-29 12:44:04,424.424 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:44:04,475.475 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:44:04,478.478 INFO    ] No update needed
[2026-08-29 12:44:04,480.480 INFO    ] Checking for camera pi updates...
[2026-08-29 12:44:04,516.516 INFO    ] 200
[2026-08-29 12:44:04,519.519 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:44:04,558.558 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:44:04,649.649 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:44:04,651.651 INFO    ] No camera update needed
[2026-08-29 12:44:04,654.654 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:44:04,656.656 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:44:04,661.661 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:44:04,666.666 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:44:06,706.706 INFO    ] ================================================
[2026-08-29 12:44:06,721.721 INFO    ] Launching Daemon at Sat Aug 29 12:44:06 IST 2026
[2026-08-29 12:44:06,732.732 INFO    ] ================================================
[2026-08-29 12:44:07,066.066 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:44:07
[2026-08-29 12:44:07,378.378 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:44:07,519.519 INFO    ] Initializing speech engine...
[2026-08-29 12:44:07,529.529 INFO    ] 2026-08-29 12:44:07
[2026-08-29 12:44:07,743.743 INFO    ] 2026-08-29 12:44:07
[2026-08-29 12:44:07,778.778 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:44:07,918.918 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:44:07,925.925 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:44:08,047.047 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:44:08,063.063 INFO    ] time= 29/08/2026 12:44:08
[2026-08-29 12:44:08,123.123 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:44:08,172.172 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:44:08,246.246 INFO    ] No existing commands found in stream
[2026-08-29 12:44:13,258.258 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:44:13,261.261 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-08-29 12:44:17,067.067 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:44:17,070.070 INFO    ] Checking for system updates...
[2026-08-29 12:44:17,105.105 INFO    ] 200
[2026-08-29 12:44:17,108.108 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:44:17,160.160 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:44:17,162.162 INFO    ] No update needed
[2026-08-29 12:44:17,165.165 INFO    ] Checking for camera pi updates...
[2026-08-29 12:44:17,202.202 INFO    ] 200
[2026-08-29 12:44:17,205.205 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:44:17,254.254 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:44:17,333.333 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:44:17,336.336 INFO    ] No camera update needed
[2026-08-29 12:44:17,340.340 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:44:17,343.343 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:44:17,349.349 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:44:17,354.354 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:44:19,396.396 INFO    ] ================================================
[2026-08-29 12:44:19,411.411 INFO    ] Launching Daemon at Sat Aug 29 12:44:19 IST 2026
[2026-08-29 12:44:19,422.422 INFO    ] ================================================
[2026-08-29 12:44:19,775.775 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:44:19
[2026-08-29 12:44:20,088.088 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:44:20,230.230 INFO    ] Initializing speech engine...
[2026-08-29 12:44:20,234.234 INFO    ] 2026-08-29 12:44:20
[2026-08-29 12:44:20,420.420 INFO    ] 2026-08-29 12:44:20
[2026-08-29 12:44:20,499.499 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:44:20,653.653 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:44:20,662.662 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:44:20,797.797 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:44:20,862.862 INFO    ] time= 29/08/2026 12:44:20
[2026-08-29 12:44:20,911.911 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:44:20,931.931 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:44:20,986.986 INFO    ] No existing commands found in stream
[2026-08-29 12:44:25,998.998 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:44:26,000.000 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-08-29 12:44:28,273.273 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:44:28,275.275 INFO    ] Checking for system updates...
[2026-08-29 12:44:28,295.295 INFO    ] 200
[2026-08-29 12:44:28,297.297 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:44:28,327.327 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:44:28,328.328 INFO    ] No update needed
[2026-08-29 12:44:28,330.330 INFO    ] Checking for camera pi updates...
[2026-08-29 12:44:28,349.349 INFO    ] 200
[2026-08-29 12:44:28,351.351 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:44:28,375.375 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:44:28,483.483 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:44:28,484.484 INFO    ] No camera update needed
[2026-08-29 12:44:28,486.486 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:44:28,487.487 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:44:28,490.490 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:44:28,493.493 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:44:30,533.533 INFO    ] ================================================
[2026-08-29 12:44:30,548.548 INFO    ] Launching Daemon at Sat Aug 29 12:44:30 IST 2026
[2026-08-29 12:44:30,559.559 INFO    ] ================================================
[2026-08-29 12:44:30,943.943 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:44:30
[2026-08-29 12:44:31,265.265 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:44:31,518.518 INFO    ] Initializing speech engine...
[2026-08-29 12:44:31,524.524 INFO    ] 2026-08-29 12:44:31
[2026-08-29 12:44:31,827.827 INFO    ] 2026-08-29 12:44:31
[2026-08-29 12:44:31,869.869 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:44:32,079.079 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:44:32,087.087 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:44:32,198.198 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:44:32,204.204 INFO    ] time= 29/08/2026 12:44:32
[2026-08-29 12:44:32,227.227 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:44:32,233.233 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:44:32,285.285 INFO    ] No existing commands found in stream
[2026-08-29 12:44:37,295.295 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:44:37,298.298 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-08-29 12:44:39,483.483 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:44:39,484.484 INFO    ] Checking for system updates...
[2026-08-29 12:44:39,504.504 INFO    ] 200
[2026-08-29 12:44:39,506.506 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:44:39,535.535 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:44:39,537.537 INFO    ] No update needed
[2026-08-29 12:44:39,538.538 INFO    ] Checking for camera pi updates...
[2026-08-29 12:44:39,557.557 INFO    ] 200
[2026-08-29 12:44:39,558.558 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:44:39,581.581 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:44:39,677.677 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:44:39,678.678 INFO    ] No camera update needed
[2026-08-29 12:44:39,679.679 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:44:39,680.680 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:44:39,684.684 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:44:39,686.686 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:44:41,725.725 INFO    ] ================================================
[2026-08-29 12:44:41,740.740 INFO    ] Launching Daemon at Sat Aug 29 12:44:41 IST 2026
[2026-08-29 12:44:41,750.750 INFO    ] ================================================
[2026-08-29 12:44:42,076.076 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:44:42
[2026-08-29 12:44:42,388.388 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:44:42,523.523 INFO    ] Initializing speech engine...
[2026-08-29 12:44:42,536.536 INFO    ] 2026-08-29 12:44:42
[2026-08-29 12:44:42,751.751 INFO    ] 2026-08-29 12:44:42
[2026-08-29 12:44:42,826.826 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:44:43,007.007 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:44:43,017.017 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:44:43,164.164 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:44:43,190.190 INFO    ] time= 29/08/2026 12:44:43
[2026-08-29 12:44:43,256.256 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:44:43,305.305 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:44:43,367.367 INFO    ] No existing commands found in stream
[2026-08-29 12:44:48,379.379 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:44:48,381.381 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-08-29 12:44:50,474.474 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:44:50,475.475 INFO    ] Checking for system updates...
[2026-08-29 12:44:50,495.495 INFO    ] 200
[2026-08-29 12:44:50,497.497 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:44:50,526.526 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:44:50,528.528 INFO    ] No update needed
[2026-08-29 12:44:50,529.529 INFO    ] Checking for camera pi updates...
[2026-08-29 12:44:50,550.550 INFO    ] 200
[2026-08-29 12:44:50,551.551 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:44:50,576.576 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:44:50,665.665 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:44:50,667.667 INFO    ] No camera update needed
[2026-08-29 12:44:50,668.668 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:44:50,669.669 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:44:50,672.672 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:44:50,675.675 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:44:52,714.714 INFO    ] ================================================
[2026-08-29 12:44:52,729.729 INFO    ] Launching Daemon at Sat Aug 29 12:44:52 IST 2026
[2026-08-29 12:44:52,739.739 INFO    ] ================================================
[2026-08-29 12:44:53,096.096 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:44:53
[2026-08-29 12:44:53,428.428 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:44:53,580.580 INFO    ] Initializing speech engine...
[2026-08-29 12:44:53,585.585 INFO    ] 2026-08-29 12:44:53
[2026-08-29 12:44:53,789.789 INFO    ] 2026-08-29 12:44:53
[2026-08-29 12:44:53,819.819 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:44:53,967.967 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:44:54,006.006 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:44:54,143.143 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:44:54,210.210 INFO    ] time= 29/08/2026 12:44:54
[2026-08-29 12:44:54,234.234 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:44:54,241.241 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:44:54,307.307 INFO    ] No existing commands found in stream
[2026-08-29 12:44:59,318.318 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:44:59,321.321 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-08-29 12:45:03,563.563 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:45:03,566.566 INFO    ] Checking for system updates...
[2026-08-29 12:45:03,608.608 INFO    ] 200
[2026-08-29 12:45:03,611.611 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:45:03,673.673 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:45:03,675.675 INFO    ] No update needed
[2026-08-29 12:45:03,678.678 INFO    ] Checking for camera pi updates...
[2026-08-29 12:45:03,711.711 INFO    ] 200
[2026-08-29 12:45:03,714.714 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:45:03,759.759 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:45:03,841.841 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:45:03,845.845 INFO    ] No camera update needed
[2026-08-29 12:45:03,847.847 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:45:03,850.850 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:45:03,855.855 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:45:03,860.860 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:45:05,901.901 INFO    ] ================================================
[2026-08-29 12:45:05,917.917 INFO    ] Launching Daemon at Sat Aug 29 12:45:05 IST 2026
[2026-08-29 12:45:05,927.927 INFO    ] ================================================
[2026-08-29 12:45:06,494.494 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:45:06
[2026-08-29 12:45:07,012.012 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:45:07,284.284 INFO    ] Initializing speech engine...
[2026-08-29 12:45:07,293.293 INFO    ] 2026-08-29 12:45:07
[2026-08-29 12:45:07,543.543 INFO    ] 2026-08-29 12:45:07
[2026-08-29 12:45:07,578.578 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:45:07,760.760 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:45:07,776.776 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:45:07,908.908 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:45:07,916.916 INFO    ] time= 29/08/2026 12:45:07
[2026-08-29 12:45:07,920.920 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:45:07,926.926 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:45:08,004.004 INFO    ] No existing commands found in stream
[2026-08-29 12:45:13,040.040 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:45:13,043.043 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-08-29 12:45:16,549.549 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:45:16,550.550 INFO    ] Checking for system updates...
[2026-08-29 12:45:16,571.571 INFO    ] 200
[2026-08-29 12:45:16,573.573 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:45:16,603.603 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:45:16,604.604 INFO    ] No update needed
[2026-08-29 12:45:16,606.606 INFO    ] Checking for camera pi updates...
[2026-08-29 12:45:16,625.625 INFO    ] 200
[2026-08-29 12:45:16,626.626 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:45:16,649.649 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:45:16,734.734 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:45:16,736.736 INFO    ] No camera update needed
[2026-08-29 12:45:16,739.739 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:45:16,741.741 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:45:16,747.747 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:45:16,752.752 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:45:18,794.794 INFO    ] ================================================
[2026-08-29 12:45:18,809.809 INFO    ] Launching Daemon at Sat Aug 29 12:45:18 IST 2026
[2026-08-29 12:45:18,820.820 INFO    ] ================================================
[2026-08-29 12:45:19,402.402 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:45:19
[2026-08-29 12:45:19,948.948 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:45:20,091.091 INFO    ] Initializing speech engine...
[2026-08-29 12:45:20,102.102 INFO    ] 2026-08-29 12:45:20
[2026-08-29 12:45:20,316.316 INFO    ] 2026-08-29 12:45:20
[2026-08-29 12:45:20,347.347 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:45:20,479.479 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:45:20,522.522 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:45:20,695.695 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:45:20,754.754 INFO    ] time= 29/08/2026 12:45:20
[2026-08-29 12:45:20,789.789 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:45:20,795.795 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:45:20,871.871 INFO    ] No existing commands found in stream
[2026-08-29 12:45:25,882.882 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:45:25,885.885 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-08-29 12:45:27,951.951 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:45:27,953.953 INFO    ] Checking for system updates...
[2026-08-29 12:45:27,974.974 INFO    ] 200
[2026-08-29 12:45:27,976.976 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:45:28,006.006 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:45:28,007.007 INFO    ] No update needed
[2026-08-29 12:45:28,009.009 INFO    ] Checking for camera pi updates...
[2026-08-29 12:45:28,031.031 INFO    ] 200
[2026-08-29 12:45:28,033.033 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:45:28,056.056 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:45:28,137.137 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:45:28,138.138 INFO    ] No camera update needed
[2026-08-29 12:45:28,140.140 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:45:28,141.141 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:45:28,144.144 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:45:28,147.147 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:45:30,184.184 INFO    ] ================================================
[2026-08-29 12:45:30,199.199 INFO    ] Launching Daemon at Sat Aug 29 12:45:30 IST 2026
[2026-08-29 12:45:30,210.210 INFO    ] ================================================
[2026-08-29 12:45:30,770.770 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:45:30
[2026-08-29 12:45:31,430.430 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:45:31,730.730 INFO    ] Initializing speech engine...
[2026-08-29 12:45:31,739.739 INFO    ] 2026-08-29 12:45:31
[2026-08-29 12:45:32,021.021 INFO    ] 2026-08-29 12:45:32
[2026-08-29 12:45:32,089.089 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:45:32,329.329 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:45:32,340.340 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:45:32,482.482 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:45:32,510.510 INFO    ] time= 29/08/2026 12:45:32
[2026-08-29 12:45:32,578.578 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:45:32,631.631 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:45:32,690.690 INFO    ] No existing commands found in stream
[2026-08-29 12:45:37,704.704 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:45:37,707.707 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-08-29 12:45:42,146.146 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:45:42,154.154 INFO    ] Checking for system updates...
[2026-08-29 12:45:42,176.176 INFO    ] 200
[2026-08-29 12:45:42,177.177 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:45:42,207.207 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:45:42,208.208 INFO    ] No update needed
[2026-08-29 12:45:42,210.210 INFO    ] Checking for camera pi updates...
[2026-08-29 12:45:42,231.231 INFO    ] 200
[2026-08-29 12:45:42,232.232 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:45:42,255.255 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:45:42,347.347 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:45:42,348.348 INFO    ] No camera update needed
[2026-08-29 12:45:42,349.349 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:45:42,351.351 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:45:42,354.354 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:45:42,356.356 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:45:44,394.394 INFO    ] ================================================
[2026-08-29 12:45:44,410.410 INFO    ] Launching Daemon at Sat Aug 29 12:45:44 IST 2026
[2026-08-29 12:45:44,422.422 INFO    ] ================================================
[2026-08-29 12:45:44,967.967 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:45:44
[2026-08-29 12:45:45,631.631 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:45:45,933.933 INFO    ] Initializing speech engine...
[2026-08-29 12:45:45,948.948 INFO    ] 2026-08-29 12:45:45
[2026-08-29 12:45:46,260.260 INFO    ] 2026-08-29 12:45:46
[2026-08-29 12:45:46,344.344 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:45:46,498.498 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:45:46,506.506 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:45:46,639.639 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:45:46,684.684 INFO    ] time= 29/08/2026 12:45:46
[2026-08-29 12:45:46,733.733 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:45:46,772.772 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:45:46,837.837 INFO    ] No existing commands found in stream
[2026-08-29 12:45:51,873.873 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:45:51,876.876 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 12:45:55,315.315 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:45:55,316.316 INFO    ] Checking for system updates...
[2026-08-29 12:45:55,337.337 INFO    ] 200
[2026-08-29 12:45:55,338.338 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:45:55,370.370 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:45:55,371.371 INFO    ] No update needed
[2026-08-29 12:45:55,373.373 INFO    ] Checking for camera pi updates...
[2026-08-29 12:45:55,392.392 INFO    ] 200
[2026-08-29 12:45:55,393.393 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:45:55,416.416 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:45:55,493.493 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:45:55,495.495 INFO    ] No camera update needed
[2026-08-29 12:45:55,496.496 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:45:55,497.497 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:45:55,500.500 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:45:55,503.503 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:45:57,542.542 INFO    ] ================================================
[2026-08-29 12:45:57,558.558 INFO    ] Launching Daemon at Sat Aug 29 12:45:57 IST 2026
[2026-08-29 12:45:57,569.569 INFO    ] ================================================
[2026-08-29 12:45:58,137.137 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:45:58
[2026-08-29 12:45:58,720.720 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:45:58,991.991 INFO    ] Initializing speech engine...
[2026-08-29 12:45:59,000.000 INFO    ] 2026-08-29 12:45:58
[2026-08-29 12:45:59,252.252 INFO    ] 2026-08-29 12:45:59
[2026-08-29 12:45:59,286.286 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:45:59,437.437 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:45:59,441.441 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:45:59,578.578 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:45:59,586.586 INFO    ] time= 29/08/2026 12:45:59
[2026-08-29 12:45:59,590.590 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:45:59,606.606 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:45:59,698.698 INFO    ] No existing commands found in stream
[2026-08-29 12:46:04,720.720 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:46:04,723.723 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 12:46:06,678.678 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:46:06,679.679 INFO    ] Checking for system updates...
[2026-08-29 12:46:06,700.700 INFO    ] 200
[2026-08-29 12:46:06,701.701 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:46:06,733.733 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:46:06,735.735 INFO    ] No update needed
[2026-08-29 12:46:06,736.736 INFO    ] Checking for camera pi updates...
[2026-08-29 12:46:06,755.755 INFO    ] 200
[2026-08-29 12:46:06,757.757 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:46:06,782.782 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:46:06,865.865 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:46:06,866.866 INFO    ] No camera update needed
[2026-08-29 12:46:06,868.868 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:46:06,869.869 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:46:06,872.872 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:46:06,875.875 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:46:08,915.915 INFO    ] ================================================
[2026-08-29 12:46:08,931.931 INFO    ] Launching Daemon at Sat Aug 29 12:46:08 IST 2026
[2026-08-29 12:46:08,941.941 INFO    ] ================================================
[2026-08-29 12:46:09,487.487 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:46:09
[2026-08-29 12:46:10,139.139 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:46:10,440.440 INFO    ] Initializing speech engine...
[2026-08-29 12:46:10,448.448 INFO    ] 2026-08-29 12:46:10
[2026-08-29 12:46:10,716.716 INFO    ] 2026-08-29 12:46:10
[2026-08-29 12:46:10,752.752 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:46:10,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:46:10,951.951 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:46:11,084.084 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:46:11,090.090 INFO    ] time= 29/08/2026 12:46:11
[2026-08-29 12:46:11,098.098 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:46:11,161.161 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:46:11,266.266 INFO    ] No existing commands found in stream
[2026-08-29 12:46:16,302.302 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:46:16,306.306 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-08-29 12:46:18,586.586 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:46:18,588.588 INFO    ] Checking for system updates...
[2026-08-29 12:46:18,608.608 INFO    ] 200
[2026-08-29 12:46:18,609.609 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:46:18,642.642 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:46:18,643.643 INFO    ] No update needed
[2026-08-29 12:46:18,645.645 INFO    ] Checking for camera pi updates...
[2026-08-29 12:46:18,666.666 INFO    ] 200
[2026-08-29 12:46:18,667.667 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:46:18,691.691 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:46:18,769.769 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:46:18,770.770 INFO    ] No camera update needed
[2026-08-29 12:46:18,772.772 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:46:18,773.773 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:46:18,776.776 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:46:18,779.779 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:46:20,818.818 INFO    ] ================================================
[2026-08-29 12:46:20,835.835 INFO    ] Launching Daemon at Sat Aug 29 12:46:20 IST 2026
[2026-08-29 12:46:20,845.845 INFO    ] ================================================
[2026-08-29 12:46:21,338.338 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:46:21
[2026-08-29 12:46:21,936.936 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:46:22,216.216 INFO    ] Initializing speech engine...
[2026-08-29 12:46:22,222.222 INFO    ] 2026-08-29 12:46:22
[2026-08-29 12:46:22,472.472 INFO    ] 2026-08-29 12:46:22
[2026-08-29 12:46:22,508.508 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:46:22,681.681 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:46:22,703.703 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:46:22,837.837 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:46:22,844.844 INFO    ] time= 29/08/2026 12:46:22
[2026-08-29 12:46:22,851.851 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:46:22,889.889 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:46:22,986.986 INFO    ] No existing commands found in stream
[2026-08-29 12:46:27,996.996 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:46:27,999.999 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 12:46:30,511.511 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:46:30,513.513 INFO    ] Checking for system updates...
[2026-08-29 12:46:30,534.534 INFO    ] 200
[2026-08-29 12:46:30,535.535 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:46:30,565.565 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:46:30,566.566 INFO    ] No update needed
[2026-08-29 12:46:30,567.567 INFO    ] Checking for camera pi updates...
[2026-08-29 12:46:30,587.587 INFO    ] 200
[2026-08-29 12:46:30,588.588 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:46:30,613.613 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:46:30,689.689 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:46:30,690.690 INFO    ] No camera update needed
[2026-08-29 12:46:30,692.692 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:46:30,693.693 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:46:30,696.696 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:46:30,699.699 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:46:32,738.738 INFO    ] ================================================
[2026-08-29 12:46:32,753.753 INFO    ] Launching Daemon at Sat Aug 29 12:46:32 IST 2026
[2026-08-29 12:46:32,765.765 INFO    ] ================================================
[2026-08-29 12:46:33,393.393 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:46:33
[2026-08-29 12:46:34,048.048 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:46:34,348.348 INFO    ] Initializing speech engine...
[2026-08-29 12:46:34,362.362 INFO    ] 2026-08-29 12:46:34
[2026-08-29 12:46:34,634.634 INFO    ] 2026-08-29 12:46:34
[2026-08-29 12:46:34,690.690 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:46:34,916.916 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:46:34,927.927 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:46:35,063.063 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:46:35,090.090 INFO    ] time= 29/08/2026 12:46:35
[2026-08-29 12:46:35,155.155 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:46:35,200.200 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:46:35,254.254 INFO    ] No existing commands found in stream
[2026-08-29 12:46:40,267.267 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:46:40,270.270 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-08-29 12:46:42,160.160 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:46:42,163.163 INFO    ] Checking for system updates...
[2026-08-29 12:46:42,206.206 INFO    ] 200
[2026-08-29 12:46:42,208.208 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:46:42,266.266 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:46:42,269.269 INFO    ] No update needed
[2026-08-29 12:46:42,272.272 INFO    ] Checking for camera pi updates...
[2026-08-29 12:46:42,315.315 INFO    ] 200
[2026-08-29 12:46:42,318.318 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:46:42,373.373 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:46:42,454.454 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:46:42,457.457 INFO    ] No camera update needed
[2026-08-29 12:46:42,459.459 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:46:42,462.462 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:46:42,469.469 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:46:42,475.475 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:46:44,516.516 INFO    ] ================================================
[2026-08-29 12:46:44,532.532 INFO    ] Launching Daemon at Sat Aug 29 12:46:44 IST 2026
[2026-08-29 12:46:44,544.544 INFO    ] ================================================
[2026-08-29 12:46:45,050.050 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:46:45
[2026-08-29 12:46:45,704.704 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:46:46,019.019 INFO    ] Initializing speech engine...
[2026-08-29 12:46:46,033.033 INFO    ] 2026-08-29 12:46:46
[2026-08-29 12:46:46,361.361 INFO    ] 2026-08-29 12:46:46
[2026-08-29 12:46:46,440.440 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:46:46,593.593 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:46:46,601.601 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:46:46,736.736 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:46:46,760.760 INFO    ] time= 29/08/2026 12:46:46
[2026-08-29 12:46:46,819.819 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:46:46,867.867 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:46:46,921.921 INFO    ] No existing commands found in stream
[2026-08-29 12:46:51,933.933 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:46:51,936.936 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-08-29 12:46:54,235.235 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:46:54,236.236 INFO    ] Checking for system updates...
[2026-08-29 12:46:54,256.256 INFO    ] 200
[2026-08-29 12:46:54,257.257 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:46:54,288.288 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:46:54,289.289 INFO    ] No update needed
[2026-08-29 12:46:54,291.291 INFO    ] Checking for camera pi updates...
[2026-08-29 12:46:54,310.310 INFO    ] 200
[2026-08-29 12:46:54,311.311 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:46:54,334.334 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:46:54,411.411 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:46:54,412.412 INFO    ] No camera update needed
[2026-08-29 12:46:54,413.413 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:46:54,415.415 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:46:54,418.418 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:46:54,420.420 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:46:56,458.458 INFO    ] ================================================
[2026-08-29 12:46:56,474.474 INFO    ] Launching Daemon at Sat Aug 29 12:46:56 IST 2026
[2026-08-29 12:46:56,485.485 INFO    ] ================================================
[2026-08-29 12:46:57,005.005 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:46:57
[2026-08-29 12:46:57,604.604 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:46:57,866.866 INFO    ] Initializing speech engine...
[2026-08-29 12:46:57,874.874 INFO    ] 2026-08-29 12:46:57
[2026-08-29 12:46:58,174.174 INFO    ] 2026-08-29 12:46:58
[2026-08-29 12:46:58,209.209 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:46:58,358.358 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:46:58,365.365 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:46:58,522.522 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:46:58,533.533 INFO    ] time= 29/08/2026 12:46:58
[2026-08-29 12:46:58,538.538 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:46:58,543.543 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:46:58,609.609 INFO    ] No existing commands found in stream
[2026-08-29 12:47:03,620.620 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:47:03,623.623 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-08-29 12:47:04,837.837 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:47:04,838.838 INFO    ] Checking for system updates...
[2026-08-29 12:47:04,859.859 INFO    ] 200
[2026-08-29 12:47:04,861.861 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:47:04,896.896 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:47:04,899.899 INFO    ] No update needed
[2026-08-29 12:47:04,901.901 INFO    ] Checking for camera pi updates...
[2026-08-29 12:47:04,938.938 INFO    ] 200
[2026-08-29 12:47:04,940.940 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:47:04,984.984 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:47:05,078.078 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:47:05,081.081 INFO    ] No camera update needed
[2026-08-29 12:47:05,083.083 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:47:05,086.086 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:47:05,091.091 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:47:05,096.096 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:47:07,135.135 INFO    ] ================================================
[2026-08-29 12:47:07,150.150 INFO    ] Launching Daemon at Sat Aug 29 12:47:07 IST 2026
[2026-08-29 12:47:07,161.161 INFO    ] ================================================
[2026-08-29 12:47:07,730.730 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:47:07
[2026-08-29 12:47:08,173.173 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:47:08,409.409 INFO    ] Initializing speech engine...
[2026-08-29 12:47:08,418.418 INFO    ] 2026-08-29 12:47:08
[2026-08-29 12:47:08,668.668 INFO    ] 2026-08-29 12:47:08
[2026-08-29 12:47:08,733.733 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:47:08,878.878 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:47:08,890.890 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:47:09,033.033 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:47:09,042.042 INFO    ] time= 29/08/2026 12:47:09
[2026-08-29 12:47:09,046.046 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:47:09,052.052 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:47:09,117.117 INFO    ] No existing commands found in stream
[2026-08-29 12:47:14,135.135 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:47:14,138.138 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-08-29 12:47:17,203.203 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:47:17,204.204 INFO    ] Checking for system updates...
[2026-08-29 12:47:17,226.226 INFO    ] 200
[2026-08-29 12:47:17,228.228 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:47:17,257.257 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:47:17,258.258 INFO    ] No update needed
[2026-08-29 12:47:17,260.260 INFO    ] Checking for camera pi updates...
[2026-08-29 12:47:17,279.279 INFO    ] 200
[2026-08-29 12:47:17,280.280 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:47:17,310.310 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:47:17,483.483 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:47:17,484.484 INFO    ] No camera update needed
[2026-08-29 12:47:17,485.485 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:47:17,486.486 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:47:17,489.489 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:47:17,492.492 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:47:19,531.531 INFO    ] ================================================
[2026-08-29 12:47:19,546.546 INFO    ] Launching Daemon at Sat Aug 29 12:47:19 IST 2026
[2026-08-29 12:47:19,557.557 INFO    ] ================================================
[2026-08-29 12:47:19,894.894 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:47:19
[2026-08-29 12:47:20,206.206 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:47:20,349.349 INFO    ] Initializing speech engine...
[2026-08-29 12:47:20,355.355 INFO    ] 2026-08-29 12:47:20
[2026-08-29 12:47:20,559.559 INFO    ] 2026-08-29 12:47:20
[2026-08-29 12:47:20,587.587 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:47:20,710.710 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:47:20,767.767 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:47:20,912.912 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:47:20,980.980 INFO    ] time= 29/08/2026 12:47:20
[2026-08-29 12:47:21,004.004 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:47:21,011.011 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:47:21,077.077 INFO    ] No existing commands found in stream
[2026-08-29 12:47:26,087.087 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:47:26,090.090 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-08-29 12:47:29,252.252 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:47:29,254.254 INFO    ] Checking for system updates...
[2026-08-29 12:47:29,274.274 INFO    ] 200
[2026-08-29 12:47:29,275.275 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:47:29,305.305 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:47:29,307.307 INFO    ] No update needed
[2026-08-29 12:47:29,308.308 INFO    ] Checking for camera pi updates...
[2026-08-29 12:47:29,327.327 INFO    ] 200
[2026-08-29 12:47:29,328.328 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:47:29,351.351 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:47:29,435.435 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:47:29,436.436 INFO    ] No camera update needed
[2026-08-29 12:47:29,437.437 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:47:29,438.438 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:47:29,441.441 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:47:29,444.444 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:47:31,486.486 INFO    ] ================================================
[2026-08-29 12:47:31,501.501 INFO    ] Launching Daemon at Sat Aug 29 12:47:31 IST 2026
[2026-08-29 12:47:31,511.511 INFO    ] ================================================
[2026-08-29 12:47:32,008.008 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:47:32
[2026-08-29 12:47:32,622.622 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:47:32,902.902 INFO    ] Initializing speech engine...
[2026-08-29 12:47:32,918.918 INFO    ] 2026-08-29 12:47:32
[2026-08-29 12:47:33,175.175 INFO    ] 2026-08-29 12:47:33
[2026-08-29 12:47:33,211.211 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:47:33,383.383 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:47:33,402.402 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:47:33,542.542 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:47:33,552.552 INFO    ] time= 29/08/2026 12:47:33
[2026-08-29 12:47:33,559.559 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:47:33,620.620 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:47:33,724.724 INFO    ] No existing commands found in stream
[2026-08-29 12:47:38,755.755 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:47:38,757.757 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-08-29 12:47:41,492.492 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:47:41,494.494 INFO    ] Checking for system updates...
[2026-08-29 12:47:41,514.514 INFO    ] 200
[2026-08-29 12:47:41,515.515 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:47:41,547.547 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:47:41,548.548 INFO    ] No update needed
[2026-08-29 12:47:41,550.550 INFO    ] Checking for camera pi updates...
[2026-08-29 12:47:41,569.569 INFO    ] 200
[2026-08-29 12:47:41,570.570 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:47:41,594.594 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:47:41,675.675 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:47:41,677.677 INFO    ] No camera update needed
[2026-08-29 12:47:41,678.678 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:47:41,679.679 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:47:41,682.682 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:47:41,685.685 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:47:43,723.723 INFO    ] ================================================
[2026-08-29 12:47:43,738.738 INFO    ] Launching Daemon at Sat Aug 29 12:47:43 IST 2026
[2026-08-29 12:47:43,748.748 INFO    ] ================================================
[2026-08-29 12:47:44,128.128 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:47:44
[2026-08-29 12:47:44,463.463 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:47:44,600.600 INFO    ] Initializing speech engine...
[2026-08-29 12:47:44,605.605 INFO    ] 2026-08-29 12:47:44
[2026-08-29 12:47:44,828.828 INFO    ] 2026-08-29 12:47:44
[2026-08-29 12:47:44,856.856 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:47:44,981.981 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:47:45,045.045 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:47:45,178.178 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:47:45,234.234 INFO    ] time= 29/08/2026 12:47:45
[2026-08-29 12:47:45,275.275 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:47:45,280.280 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:47:45,352.352 INFO    ] No existing commands found in stream
[2026-08-29 12:47:50,363.363 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:47:50,366.366 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-08-29 12:47:52,970.970 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:47:52,972.972 INFO    ] Checking for system updates...
[2026-08-29 12:47:52,995.995 INFO    ] 200
[2026-08-29 12:47:52,997.997 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:47:53,027.027 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:47:53,029.029 INFO    ] No update needed
[2026-08-29 12:47:53,030.030 INFO    ] Checking for camera pi updates...
[2026-08-29 12:47:53,049.049 INFO    ] 200
[2026-08-29 12:47:53,051.051 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:47:53,076.076 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:47:53,185.185 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:47:53,187.187 INFO    ] No camera update needed
[2026-08-29 12:47:53,188.188 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:47:53,190.190 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:47:53,193.193 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:47:53,196.196 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:47:55,234.234 INFO    ] ================================================
[2026-08-29 12:47:55,249.249 INFO    ] Launching Daemon at Sat Aug 29 12:47:55 IST 2026
[2026-08-29 12:47:55,260.260 INFO    ] ================================================
[2026-08-29 12:47:55,646.646 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:47:55
[2026-08-29 12:47:55,979.979 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:47:56,130.130 INFO    ] Initializing speech engine...
[2026-08-29 12:47:56,136.136 INFO    ] 2026-08-29 12:47:56
[2026-08-29 12:47:56,331.331 INFO    ] 2026-08-29 12:47:56
[2026-08-29 12:47:56,401.401 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:47:56,628.628 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:47:56,638.638 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:47:56,773.773 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:47:56,806.806 INFO    ] time= 29/08/2026 12:47:56
[2026-08-29 12:47:56,866.866 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:47:56,911.911 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:47:56,972.972 INFO    ] No existing commands found in stream
[2026-08-29 12:48:01,985.985 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:48:01,989.989 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-08-29 12:48:06,259.259 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:48:06,261.261 INFO    ] Checking for system updates...
[2026-08-29 12:48:06,281.281 INFO    ] 200
[2026-08-29 12:48:06,283.283 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:48:06,313.313 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:48:06,314.314 INFO    ] No update needed
[2026-08-29 12:48:06,315.315 INFO    ] Checking for camera pi updates...
[2026-08-29 12:48:06,337.337 INFO    ] 200
[2026-08-29 12:48:06,338.338 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:48:06,362.362 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:48:06,443.443 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:48:06,444.444 INFO    ] No camera update needed
[2026-08-29 12:48:06,445.445 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:48:06,447.447 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:48:06,449.449 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:48:06,452.452 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:48:08,491.491 INFO    ] ================================================
[2026-08-29 12:48:08,506.506 INFO    ] Launching Daemon at Sat Aug 29 12:48:08 IST 2026
[2026-08-29 12:48:08,517.517 INFO    ] ================================================
[2026-08-29 12:48:08,847.847 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:48:08
[2026-08-29 12:48:09,163.163 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:48:09,295.295 INFO    ] Initializing speech engine...
[2026-08-29 12:48:09,300.300 INFO    ] 2026-08-29 12:48:09
[2026-08-29 12:48:09,575.575 INFO    ] 2026-08-29 12:48:09
[2026-08-29 12:48:09,614.614 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:48:09,807.807 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:48:09,821.821 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:48:09,957.957 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:48:09,978.978 INFO    ] time= 29/08/2026 12:48:09
[2026-08-29 12:48:10,000.000 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:48:10,009.009 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:48:10,085.085 INFO    ] No existing commands found in stream
[2026-08-29 12:48:15,098.098 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:48:15,101.101 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-08-29 12:48:15,861.861 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:48:15,862.862 INFO    ] Checking for system updates...
[2026-08-29 12:48:15,884.884 INFO    ] 200
[2026-08-29 12:48:15,885.885 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:48:15,916.916 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:48:15,918.918 INFO    ] No update needed
[2026-08-29 12:48:15,919.919 INFO    ] Checking for camera pi updates...
[2026-08-29 12:48:15,939.939 INFO    ] 200
[2026-08-29 12:48:15,940.940 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:48:15,963.963 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:48:16,052.052 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:48:16,053.053 INFO    ] No camera update needed
[2026-08-29 12:48:16,054.054 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:48:16,056.056 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:48:16,059.059 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:48:16,061.061 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:48:18,100.100 INFO    ] ================================================
[2026-08-29 12:48:18,115.115 INFO    ] Launching Daemon at Sat Aug 29 12:48:18 IST 2026
[2026-08-29 12:48:18,126.126 INFO    ] ================================================
[2026-08-29 12:48:18,458.458 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:48:18
[2026-08-29 12:48:18,775.775 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:48:18,911.911 INFO    ] Initializing speech engine...
[2026-08-29 12:48:18,918.918 INFO    ] 2026-08-29 12:48:18
[2026-08-29 12:48:19,141.141 INFO    ] 2026-08-29 12:48:19
[2026-08-29 12:48:19,171.171 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:48:19,302.302 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:48:19,350.350 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:48:19,508.508 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:48:19,570.570 INFO    ] time= 29/08/2026 12:48:19
[2026-08-29 12:48:19,613.613 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:48:19,615.615 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:48:19,689.689 INFO    ] No existing commands found in stream
[2026-08-29 12:48:24,699.699 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:48:24,702.702 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-08-29 12:48:26,667.667 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:48:26,669.669 INFO    ] Checking for system updates...
[2026-08-29 12:48:26,690.690 INFO    ] 200
[2026-08-29 12:48:26,692.692 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:48:26,723.723 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:48:26,725.725 INFO    ] No update needed
[2026-08-29 12:48:26,726.726 INFO    ] Checking for camera pi updates...
[2026-08-29 12:48:26,745.745 INFO    ] 200
[2026-08-29 12:48:26,746.746 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:48:26,771.771 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:48:26,855.855 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:48:26,857.857 INFO    ] No camera update needed
[2026-08-29 12:48:26,860.860 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:48:26,862.862 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:48:26,867.867 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:48:26,872.872 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:48:28,912.912 INFO    ] ================================================
[2026-08-29 12:48:28,928.928 INFO    ] Launching Daemon at Sat Aug 29 12:48:28 IST 2026
[2026-08-29 12:48:28,940.940 INFO    ] ================================================
[2026-08-29 12:48:29,509.509 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:48:29
[2026-08-29 12:48:30,008.008 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:48:30,270.270 INFO    ] Initializing speech engine...
[2026-08-29 12:48:30,284.284 INFO    ] 2026-08-29 12:48:30
[2026-08-29 12:48:30,539.539 INFO    ] 2026-08-29 12:48:30
[2026-08-29 12:48:30,575.575 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:48:30,752.752 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:48:30,764.764 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:48:30,876.876 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:48:30,895.895 INFO    ] time= 29/08/2026 12:48:30
[2026-08-29 12:48:30,915.915 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:48:30,923.923 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:48:30,994.994 INFO    ] No existing commands found in stream
[2026-08-29 12:48:36,010.010 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:48:36,013.013 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-08-29 12:48:40,151.151 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:48:40,153.153 INFO    ] Checking for system updates...
[2026-08-29 12:48:40,173.173 INFO    ] 200
[2026-08-29 12:48:40,175.175 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:48:40,209.209 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:48:40,210.210 INFO    ] No update needed
[2026-08-29 12:48:40,211.211 INFO    ] Checking for camera pi updates...
[2026-08-29 12:48:40,231.231 INFO    ] 200
[2026-08-29 12:48:40,233.233 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:48:40,256.256 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:48:40,332.332 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:48:40,334.334 INFO    ] No camera update needed
[2026-08-29 12:48:40,335.335 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:48:40,336.336 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:48:40,343.343 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:48:40,345.345 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:48:42,383.383 INFO    ] ================================================
[2026-08-29 12:48:42,399.399 INFO    ] Launching Daemon at Sat Aug 29 12:48:42 IST 2026
[2026-08-29 12:48:42,411.411 INFO    ] ================================================
[2026-08-29 12:48:42,768.768 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:48:42
[2026-08-29 12:48:43,086.086 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:48:43,227.227 INFO    ] Initializing speech engine...
[2026-08-29 12:48:43,237.237 INFO    ] 2026-08-29 12:48:43
[2026-08-29 12:48:43,440.440 INFO    ] 2026-08-29 12:48:43
[2026-08-29 12:48:43,469.469 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:48:43,652.652 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:48:43,655.655 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:48:43,789.789 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:48:43,856.856 INFO    ] time= 29/08/2026 12:48:43
[2026-08-29 12:48:43,883.883 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:48:43,885.885 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:48:43,955.955 INFO    ] No existing commands found in stream
[2026-08-29 12:48:48,966.966 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:48:48,970.970 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-08-29 12:48:51,371.371 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:48:51,372.372 INFO    ] Checking for system updates...
[2026-08-29 12:48:51,393.393 INFO    ] 200
[2026-08-29 12:48:51,395.395 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:48:51,426.426 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:48:51,428.428 INFO    ] No update needed
[2026-08-29 12:48:51,429.429 INFO    ] Checking for camera pi updates...
[2026-08-29 12:48:51,450.450 INFO    ] 200
[2026-08-29 12:48:51,451.451 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:48:51,478.478 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:48:51,562.562 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:48:51,563.563 INFO    ] No camera update needed
[2026-08-29 12:48:51,565.565 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:48:51,567.567 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:48:51,570.570 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:48:51,573.573 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:48:53,614.614 INFO    ] ================================================
[2026-08-29 12:48:53,630.630 INFO    ] Launching Daemon at Sat Aug 29 12:48:53 IST 2026
[2026-08-29 12:48:53,641.641 INFO    ] ================================================
[2026-08-29 12:48:53,997.997 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:48:53
[2026-08-29 12:48:54,310.310 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:48:54,448.448 INFO    ] Initializing speech engine...
[2026-08-29 12:48:54,456.456 INFO    ] 2026-08-29 12:48:54
[2026-08-29 12:48:54,664.664 INFO    ] 2026-08-29 12:48:54
[2026-08-29 12:48:54,695.695 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:48:54,863.863 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:48:54,871.871 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:48:55,064.064 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:48:55,081.081 INFO    ] time= 29/08/2026 12:48:55
[2026-08-29 12:48:55,100.100 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:48:55,131.131 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:48:55,238.238 INFO    ] No existing commands found in stream
[2026-08-29 12:49:00,252.252 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:49:00,255.255 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-08-29 12:49:04,487.487 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:49:04,489.489 INFO    ] Checking for system updates...
[2026-08-29 12:49:04,510.510 INFO    ] 200
[2026-08-29 12:49:04,511.511 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:49:04,544.544 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:49:04,546.546 INFO    ] No update needed
[2026-08-29 12:49:04,547.547 INFO    ] Checking for camera pi updates...
[2026-08-29 12:49:04,570.570 INFO    ] 200
[2026-08-29 12:49:04,572.572 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:49:04,595.595 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:49:04,726.726 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:49:04,728.728 INFO    ] No camera update needed
[2026-08-29 12:49:04,729.729 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:49:04,730.730 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:49:04,734.734 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:49:04,737.737 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:49:06,778.778 INFO    ] ================================================
[2026-08-29 12:49:06,793.793 INFO    ] Launching Daemon at Sat Aug 29 12:49:06 IST 2026
[2026-08-29 12:49:06,808.808 INFO    ] ================================================
[2026-08-29 12:49:07,183.183 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:49:07
[2026-08-29 12:49:07,506.506 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:49:07,639.639 INFO    ] Initializing speech engine...
[2026-08-29 12:49:07,644.644 INFO    ] 2026-08-29 12:49:07
[2026-08-29 12:49:07,849.849 INFO    ] 2026-08-29 12:49:07
[2026-08-29 12:49:07,922.922 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:49:08,107.107 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:49:08,117.117 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:49:08,267.267 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:49:08,274.274 INFO    ] time= 29/08/2026 12:49:08
[2026-08-29 12:49:08,343.343 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:49:08,397.397 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:49:08,480.480 INFO    ] No existing commands found in stream
[2026-08-29 12:49:13,492.492 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:49:13,495.495 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-08-29 12:49:16,510.510 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:49:16,511.511 INFO    ] Checking for system updates...
[2026-08-29 12:49:16,532.532 INFO    ] 200
[2026-08-29 12:49:16,533.533 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:49:16,563.563 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:49:16,564.564 INFO    ] No update needed
[2026-08-29 12:49:16,565.565 INFO    ] Checking for camera pi updates...
[2026-08-29 12:49:16,584.584 INFO    ] 200
[2026-08-29 12:49:16,586.586 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:49:16,621.621 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:49:16,718.718 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:49:16,721.721 INFO    ] No camera update needed
[2026-08-29 12:49:16,723.723 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:49:16,725.725 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:49:16,731.731 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:49:16,736.736 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:49:18,775.775 INFO    ] ================================================
[2026-08-29 12:49:18,790.790 INFO    ] Launching Daemon at Sat Aug 29 12:49:18 IST 2026
[2026-08-29 12:49:18,801.801 INFO    ] ================================================
[2026-08-29 12:49:19,443.443 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:49:19
[2026-08-29 12:49:19,915.915 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:49:20,067.067 INFO    ] Initializing speech engine...
[2026-08-29 12:49:20,072.072 INFO    ] 2026-08-29 12:49:20
[2026-08-29 12:49:20,319.319 INFO    ] 2026-08-29 12:49:20
[2026-08-29 12:49:20,387.387 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:49:20,551.551 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:49:20,559.559 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:49:20,716.716 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:49:20,760.760 INFO    ] time= 29/08/2026 12:49:20
[2026-08-29 12:49:20,779.779 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:49:20,789.789 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:49:20,920.920 INFO    ] No existing commands found in stream
[2026-08-29 12:49:25,947.947 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:49:25,950.950 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-08-29 12:49:30,007.007 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:49:30,010.010 INFO    ] Checking for system updates...
[2026-08-29 12:49:30,071.071 INFO    ] 200
[2026-08-29 12:49:30,073.073 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:49:30,145.145 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:49:30,147.147 INFO    ] No update needed
[2026-08-29 12:49:30,150.150 INFO    ] Checking for camera pi updates...
[2026-08-29 12:49:30,183.183 INFO    ] 200
[2026-08-29 12:49:30,186.186 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:49:30,227.227 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:49:30,408.408 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:49:30,410.410 INFO    ] No camera update needed
[2026-08-29 12:49:30,413.413 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:49:30,415.415 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:49:30,420.420 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:49:30,425.425 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:49:32,468.468 INFO    ] ================================================
[2026-08-29 12:49:32,484.484 INFO    ] Launching Daemon at Sat Aug 29 12:49:32 IST 2026
[2026-08-29 12:49:32,496.496 INFO    ] ================================================
[2026-08-29 12:49:32,986.986 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:49:32
[2026-08-29 12:49:33,322.322 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:49:33,607.607 INFO    ] Initializing speech engine...
[2026-08-29 12:49:33,615.615 INFO    ] 2026-08-29 12:49:33
[2026-08-29 12:49:33,889.889 INFO    ] 2026-08-29 12:49:33
[2026-08-29 12:49:33,942.942 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:49:34,165.165 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:49:34,175.175 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:49:34,311.311 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:49:34,367.367 INFO    ] time= 29/08/2026 12:49:34
[2026-08-29 12:49:34,417.417 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:49:34,445.445 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:49:34,503.503 INFO    ] No existing commands found in stream
[2026-08-29 12:49:39,515.515 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:49:39,518.518 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-08-29 12:49:41,181.181 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:49:41,183.183 INFO    ] Checking for system updates...
[2026-08-29 12:49:41,204.204 INFO    ] 200
[2026-08-29 12:49:41,206.206 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:49:41,236.236 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:49:41,238.238 INFO    ] No update needed
[2026-08-29 12:49:41,239.239 INFO    ] Checking for camera pi updates...
[2026-08-29 12:49:41,258.258 INFO    ] 200
[2026-08-29 12:49:41,260.260 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:49:41,283.283 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:49:41,361.361 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:49:41,363.363 INFO    ] No camera update needed
[2026-08-29 12:49:41,364.364 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:49:41,366.366 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:49:41,369.369 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:49:41,372.372 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:49:43,412.412 INFO    ] ================================================
[2026-08-29 12:49:43,427.427 INFO    ] Launching Daemon at Sat Aug 29 12:49:43 IST 2026
[2026-08-29 12:49:43,438.438 INFO    ] ================================================
[2026-08-29 12:49:43,797.797 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:49:43
[2026-08-29 12:49:44,113.113 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:49:44,245.245 INFO    ] Initializing speech engine...
[2026-08-29 12:49:44,257.257 INFO    ] 2026-08-29 12:49:44
[2026-08-29 12:49:44,495.495 INFO    ] 2026-08-29 12:49:44
[2026-08-29 12:49:44,548.548 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:49:44,711.711 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:49:44,718.718 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:49:44,874.874 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:49:44,918.918 INFO    ] time= 29/08/2026 12:49:44
[2026-08-29 12:49:44,924.924 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:49:44,945.945 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:49:45,053.053 INFO    ] No existing commands found in stream
[2026-08-29 12:49:50,080.080 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:49:50,083.083 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-08-29 12:49:52,882.882 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:49:52,883.883 INFO    ] Checking for system updates...
[2026-08-29 12:49:52,904.904 INFO    ] 200
[2026-08-29 12:49:52,905.905 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:49:52,935.935 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:49:52,937.937 INFO    ] No update needed
[2026-08-29 12:49:52,938.938 INFO    ] Checking for camera pi updates...
[2026-08-29 12:49:52,957.957 INFO    ] 200
[2026-08-29 12:49:52,958.958 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:49:52,981.981 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:49:53,059.059 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:49:53,060.060 INFO    ] No camera update needed
[2026-08-29 12:49:53,061.061 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:49:53,063.063 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:49:53,066.066 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:49:53,068.068 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:49:55,108.108 INFO    ] ================================================
[2026-08-29 12:49:55,125.125 INFO    ] Launching Daemon at Sat Aug 29 12:49:55 IST 2026
[2026-08-29 12:49:55,136.136 INFO    ] ================================================
[2026-08-29 12:49:55,692.692 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:49:55
[2026-08-29 12:49:56,292.292 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:49:56,571.571 INFO    ] Initializing speech engine...
[2026-08-29 12:49:56,578.578 INFO    ] 2026-08-29 12:49:56
[2026-08-29 12:49:56,838.838 INFO    ] 2026-08-29 12:49:56
[2026-08-29 12:49:56,893.893 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:49:57,115.115 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:49:57,125.125 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:49:57,257.257 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:49:57,284.284 INFO    ] time= 29/08/2026 12:49:57
[2026-08-29 12:49:57,349.349 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:49:57,391.391 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:49:57,448.448 INFO    ] No existing commands found in stream
[2026-08-29 12:50:02,462.462 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:50:02,466.466 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-08-29 12:50:05,565.565 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:50:05,566.566 INFO    ] Checking for system updates...
[2026-08-29 12:50:05,587.587 INFO    ] 200
[2026-08-29 12:50:05,589.589 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:50:05,621.621 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:50:05,623.623 INFO    ] No update needed
[2026-08-29 12:50:05,624.624 INFO    ] Checking for camera pi updates...
[2026-08-29 12:50:05,643.643 INFO    ] 200
[2026-08-29 12:50:05,644.644 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:50:05,667.667 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:50:05,752.752 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:50:05,754.754 INFO    ] No camera update needed
[2026-08-29 12:50:05,755.755 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:50:05,756.756 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:50:05,759.759 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:50:05,762.762 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:50:07,800.800 INFO    ] ================================================
[2026-08-29 12:50:07,815.815 INFO    ] Launching Daemon at Sat Aug 29 12:50:07 IST 2026
[2026-08-29 12:50:07,826.826 INFO    ] ================================================
[2026-08-29 12:50:08,199.199 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:50:08
[2026-08-29 12:50:08,511.511 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:50:08,648.648 INFO    ] Initializing speech engine...
[2026-08-29 12:50:08,656.656 INFO    ] 2026-08-29 12:50:08
[2026-08-29 12:50:08,840.840 INFO    ] 2026-08-29 12:50:08
[2026-08-29 12:50:08,874.874 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:50:09,050.050 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:50:09,065.065 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:50:09,178.178 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:50:09,196.196 INFO    ] time= 29/08/2026 12:50:09
[2026-08-29 12:50:09,217.217 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:50:09,223.223 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:50:09,294.294 INFO    ] No existing commands found in stream
[2026-08-29 12:50:14,306.306 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:50:14,309.309 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 12:50:15,782.782 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:50:15,783.783 INFO    ] Checking for system updates...
[2026-08-29 12:50:15,804.804 INFO    ] 200
[2026-08-29 12:50:15,805.805 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:50:15,835.835 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:50:15,836.836 INFO    ] No update needed
[2026-08-29 12:50:15,837.837 INFO    ] Checking for camera pi updates...
[2026-08-29 12:50:15,856.856 INFO    ] 200
[2026-08-29 12:50:15,857.857 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:50:15,880.880 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:50:15,955.955 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:50:15,956.956 INFO    ] No camera update needed
[2026-08-29 12:50:15,958.958 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:50:15,959.959 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:50:15,962.962 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:50:15,965.965 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:50:18,004.004 INFO    ] ================================================
[2026-08-29 12:50:18,019.019 INFO    ] Launching Daemon at Sat Aug 29 12:50:18 IST 2026
[2026-08-29 12:50:18,030.030 INFO    ] ================================================
[2026-08-29 12:50:18,580.580 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:50:18
[2026-08-29 12:50:19,166.166 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:50:19,421.421 INFO    ] Initializing speech engine...
[2026-08-29 12:50:19,429.429 INFO    ] 2026-08-29 12:50:19
[2026-08-29 12:50:19,724.724 INFO    ] 2026-08-29 12:50:19
[2026-08-29 12:50:19,759.759 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:50:19,912.912 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:50:19,950.950 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:50:20,073.073 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:50:20,078.078 INFO    ] time= 29/08/2026 12:50:20
[2026-08-29 12:50:20,101.101 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:50:20,107.107 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:50:20,164.164 INFO    ] No existing commands found in stream
[2026-08-29 12:50:25,181.181 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:50:25,184.184 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-08-29 12:50:25,605.605 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:50:25,606.606 INFO    ] Checking for system updates...
[2026-08-29 12:50:25,627.627 INFO    ] 200
[2026-08-29 12:50:25,628.628 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:50:25,657.657 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:50:25,659.659 INFO    ] No update needed
[2026-08-29 12:50:25,660.660 INFO    ] Checking for camera pi updates...
[2026-08-29 12:50:25,682.682 INFO    ] 200
[2026-08-29 12:50:25,684.684 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:50:25,708.708 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:50:25,787.787 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:50:25,788.788 INFO    ] No camera update needed
[2026-08-29 12:50:25,790.790 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:50:25,791.791 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:50:25,794.794 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:50:25,796.796 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:50:27,835.835 INFO    ] ================================================
[2026-08-29 12:50:27,850.850 INFO    ] Launching Daemon at Sat Aug 29 12:50:27 IST 2026
[2026-08-29 12:50:27,861.861 INFO    ] ================================================
[2026-08-29 12:50:28,229.229 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:50:28
[2026-08-29 12:50:28,541.541 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:50:28,677.677 INFO    ] Initializing speech engine...
[2026-08-29 12:50:28,685.685 INFO    ] 2026-08-29 12:50:28
[2026-08-29 12:50:28,879.879 INFO    ] 2026-08-29 12:50:28
[2026-08-29 12:50:28,944.944 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:50:29,188.188 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:50:29,197.197 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:50:29,345.345 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:50:29,354.354 INFO    ] time= 29/08/2026 12:50:29
[2026-08-29 12:50:29,403.403 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:50:29,458.458 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:50:29,596.596 INFO    ] No existing commands found in stream
[2026-08-29 12:50:34,632.632 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:50:34,635.635 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-08-29 12:50:37,417.417 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:50:37,420.420 INFO    ] Checking for system updates...
[2026-08-29 12:50:37,456.456 INFO    ] 200
[2026-08-29 12:50:37,458.458 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:50:37,511.511 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:50:37,514.514 INFO    ] No update needed
[2026-08-29 12:50:37,517.517 INFO    ] Checking for camera pi updates...
[2026-08-29 12:50:37,550.550 INFO    ] 200
[2026-08-29 12:50:37,553.553 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:50:37,593.593 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:50:37,675.675 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:50:37,677.677 INFO    ] No camera update needed
[2026-08-29 12:50:37,679.679 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:50:37,681.681 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:50:37,687.687 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:50:37,691.691 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:50:39,732.732 INFO    ] ================================================
[2026-08-29 12:50:39,747.747 INFO    ] Launching Daemon at Sat Aug 29 12:50:39 IST 2026
[2026-08-29 12:50:39,758.758 INFO    ] ================================================
[2026-08-29 12:50:40,270.270 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:50:40
[2026-08-29 12:50:40,860.860 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:50:41,136.136 INFO    ] Initializing speech engine...
[2026-08-29 12:50:41,141.141 INFO    ] 2026-08-29 12:50:41
[2026-08-29 12:50:41,389.389 INFO    ] 2026-08-29 12:50:41
[2026-08-29 12:50:41,424.424 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:50:41,597.597 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:50:41,609.609 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:50:41,750.750 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:50:41,758.758 INFO    ] time= 29/08/2026 12:50:41
[2026-08-29 12:50:41,765.765 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:50:41,816.816 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:50:41,935.935 INFO    ] No existing commands found in stream
[2026-08-29 12:50:46,966.966 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:50:46,969.969 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-08-29 12:50:49,067.067 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:50:49,069.069 INFO    ] Checking for system updates...
[2026-08-29 12:50:49,089.089 INFO    ] 200
[2026-08-29 12:50:49,090.090 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:50:49,122.122 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:50:49,124.124 INFO    ] No update needed
[2026-08-29 12:50:49,125.125 INFO    ] Checking for camera pi updates...
[2026-08-29 12:50:49,146.146 INFO    ] 200
[2026-08-29 12:50:49,147.147 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:50:49,172.172 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:50:49,225.225 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:50:49,227.227 INFO    ] No camera update needed
[2026-08-29 12:50:49,228.228 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:50:49,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:50:49,232.232 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:50:49,235.235 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:50:51,280.280 INFO    ] ================================================
[2026-08-29 12:50:51,295.295 INFO    ] Launching Daemon at Sat Aug 29 12:50:51 IST 2026
[2026-08-29 12:50:51,306.306 INFO    ] ================================================
[2026-08-29 12:50:51,676.676 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:50:51
[2026-08-29 12:50:52,059.059 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:50:52,330.330 INFO    ] Initializing speech engine...
[2026-08-29 12:50:52,340.340 INFO    ] 2026-08-29 12:50:52
[2026-08-29 12:50:52,599.599 INFO    ] 2026-08-29 12:50:52
[2026-08-29 12:50:52,656.656 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:50:52,882.882 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:50:52,891.891 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:50:53,025.025 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:50:53,067.067 INFO    ] time= 29/08/2026 12:50:53
[2026-08-29 12:50:53,126.126 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:50:53,160.160 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:50:53,212.212 INFO    ] No existing commands found in stream
[2026-08-29 12:50:58,223.223 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:50:58,226.226 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-08-29 12:51:01,417.417 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:51:01,418.418 INFO    ] Checking for system updates...
[2026-08-29 12:51:01,440.440 INFO    ] 200
[2026-08-29 12:51:01,442.442 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:51:01,472.472 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:51:01,473.473 INFO    ] No update needed
[2026-08-29 12:51:01,475.475 INFO    ] Checking for camera pi updates...
[2026-08-29 12:51:01,495.495 INFO    ] 200
[2026-08-29 12:51:01,496.496 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:51:01,519.519 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:51:01,604.604 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:51:01,605.605 INFO    ] No camera update needed
[2026-08-29 12:51:01,606.606 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:51:01,607.607 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:51:01,610.610 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:51:01,613.613 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:51:03,654.654 INFO    ] ================================================
[2026-08-29 12:51:03,669.669 INFO    ] Launching Daemon at Sat Aug 29 12:51:03 IST 2026
[2026-08-29 12:51:03,680.680 INFO    ] ================================================
[2026-08-29 12:51:04,263.263 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:51:04
[2026-08-29 12:51:04,855.855 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:51:05,115.115 INFO    ] Initializing speech engine...
[2026-08-29 12:51:05,129.129 INFO    ] 2026-08-29 12:51:05
[2026-08-29 12:51:05,416.416 INFO    ] 2026-08-29 12:51:05
[2026-08-29 12:51:05,454.454 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:51:05,630.630 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:51:05,635.635 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:51:05,778.778 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:51:05,781.781 INFO    ] time= 29/08/2026 12:51:05
[2026-08-29 12:51:05,792.792 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:51:05,808.808 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:51:05,896.896 INFO    ] No existing commands found in stream
[2026-08-29 12:51:10,931.931 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:51:10,934.934 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-08-29 12:51:12,328.328 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:51:12,330.330 INFO    ] Checking for system updates...
[2026-08-29 12:51:12,351.351 INFO    ] 200
[2026-08-29 12:51:12,353.353 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:51:12,382.382 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:51:12,384.384 INFO    ] No update needed
[2026-08-29 12:51:12,385.385 INFO    ] Checking for camera pi updates...
[2026-08-29 12:51:12,404.404 INFO    ] 200
[2026-08-29 12:51:12,405.405 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:51:12,428.428 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:51:12,505.505 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:51:12,506.506 INFO    ] No camera update needed
[2026-08-29 12:51:12,507.507 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:51:12,508.508 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:51:12,511.511 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:51:12,514.514 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:51:14,552.552 INFO    ] ================================================
[2026-08-29 12:51:14,567.567 INFO    ] Launching Daemon at Sat Aug 29 12:51:14 IST 2026
[2026-08-29 12:51:14,577.577 INFO    ] ================================================
[2026-08-29 12:51:14,922.922 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:51:14
[2026-08-29 12:51:15,233.233 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:51:15,364.364 INFO    ] Initializing speech engine...
[2026-08-29 12:51:15,367.367 INFO    ] 2026-08-29 12:51:15
[2026-08-29 12:51:15,584.584 INFO    ] 2026-08-29 12:51:15
[2026-08-29 12:51:15,665.665 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:51:15,820.820 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:51:15,829.829 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:51:15,965.965 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:51:16,002.002 INFO    ] time= 29/08/2026 12:51:15
[2026-08-29 12:51:16,051.051 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:51:16,101.101 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:51:16,156.156 INFO    ] No existing commands found in stream
[2026-08-29 12:51:21,167.167 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:51:21,170.170 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-08-29 12:51:24,347.347 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:51:24,348.348 INFO    ] Checking for system updates...
[2026-08-29 12:51:24,369.369 INFO    ] 200
[2026-08-29 12:51:24,370.370 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:51:24,399.399 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:51:24,401.401 INFO    ] No update needed
[2026-08-29 12:51:24,402.402 INFO    ] Checking for camera pi updates...
[2026-08-29 12:51:24,421.421 INFO    ] 200
[2026-08-29 12:51:24,423.423 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:51:24,447.447 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:51:24,542.542 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:51:24,544.544 INFO    ] No camera update needed
[2026-08-29 12:51:24,545.545 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:51:24,546.546 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:51:24,549.549 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:51:24,552.552 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:51:26,593.593 INFO    ] ================================================
[2026-08-29 12:51:26,609.609 INFO    ] Launching Daemon at Sat Aug 29 12:51:26 IST 2026
[2026-08-29 12:51:26,619.619 INFO    ] ================================================
[2026-08-29 12:51:26,979.979 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:51:26
[2026-08-29 12:51:27,297.297 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:51:27,441.441 INFO    ] Initializing speech engine...
[2026-08-29 12:51:27,447.447 INFO    ] 2026-08-29 12:51:27
[2026-08-29 12:51:27,696.696 INFO    ] 2026-08-29 12:51:27
[2026-08-29 12:51:27,751.751 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:51:27,915.915 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:51:27,922.922 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:51:28,084.084 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:51:28,125.125 INFO    ] time= 29/08/2026 12:51:28
[2026-08-29 12:51:28,141.141 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:51:28,150.150 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:51:28,263.263 INFO    ] No existing commands found in stream
[2026-08-29 12:51:33,288.288 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:51:33,291.291 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-08-29 12:51:36,148.148 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:51:36,150.150 INFO    ] Checking for system updates...
[2026-08-29 12:51:36,187.187 INFO    ] 200
[2026-08-29 12:51:36,189.189 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:51:36,249.249 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:51:36,251.251 INFO    ] No update needed
[2026-08-29 12:51:36,254.254 INFO    ] Checking for camera pi updates...
[2026-08-29 12:51:36,288.288 INFO    ] 200
[2026-08-29 12:51:36,290.290 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:51:36,335.335 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:51:36,399.399 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:51:36,402.402 INFO    ] No camera update needed
[2026-08-29 12:51:36,404.404 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:51:36,407.407 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:51:36,412.412 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:51:36,417.417 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:51:38,459.459 INFO    ] ================================================
[2026-08-29 12:51:38,474.474 INFO    ] Launching Daemon at Sat Aug 29 12:51:38 IST 2026
[2026-08-29 12:51:38,484.484 INFO    ] ================================================
[2026-08-29 12:51:39,060.060 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:51:39
[2026-08-29 12:51:39,393.393 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:51:39,526.526 INFO    ] Initializing speech engine...
[2026-08-29 12:51:39,530.530 INFO    ] 2026-08-29 12:51:39
[2026-08-29 12:51:39,760.760 INFO    ] 2026-08-29 12:51:39
[2026-08-29 12:51:39,790.790 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:51:39,919.919 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:51:39,925.925 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:51:40,048.048 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:51:40,096.096 INFO    ] time= 29/08/2026 12:51:40
[2026-08-29 12:51:40,140.140 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:51:40,195.195 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:51:40,254.254 INFO    ] No existing commands found in stream
[2026-08-29 12:51:45,266.266 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:51:45,269.269 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-08-29 12:51:45,972.972 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:51:45,973.973 INFO    ] Checking for system updates...
[2026-08-29 12:51:45,995.995 INFO    ] 200
[2026-08-29 12:51:45,996.996 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:51:46,028.028 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:51:46,029.029 INFO    ] No update needed
[2026-08-29 12:51:46,031.031 INFO    ] Checking for camera pi updates...
[2026-08-29 12:51:46,050.050 INFO    ] 200
[2026-08-29 12:51:46,051.051 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:51:46,074.074 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:51:46,151.151 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:51:46,152.152 INFO    ] No camera update needed
[2026-08-29 12:51:46,154.154 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:51:46,155.155 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:51:46,158.158 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:51:46,160.160 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:51:48,198.198 INFO    ] ================================================
[2026-08-29 12:51:48,214.214 INFO    ] Launching Daemon at Sat Aug 29 12:51:48 IST 2026
[2026-08-29 12:51:48,225.225 INFO    ] ================================================
[2026-08-29 12:51:48,609.609 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:51:48
[2026-08-29 12:51:49,202.202 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:51:49,471.471 INFO    ] Initializing speech engine...
[2026-08-29 12:51:49,483.483 INFO    ] 2026-08-29 12:51:49
[2026-08-29 12:51:49,735.735 INFO    ] 2026-08-29 12:51:49
[2026-08-29 12:51:49,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:51:49,946.946 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:51:49,959.959 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:51:50,106.106 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:51:50,112.112 INFO    ] time= 29/08/2026 12:51:50
[2026-08-29 12:51:50,118.118 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:51:50,150.150 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:51:50,268.268 INFO    ] No existing commands found in stream
[2026-08-29 12:51:55,298.298 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:51:55,301.301 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-08-29 12:51:57,128.128 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:51:57,130.130 INFO    ] Checking for system updates...
[2026-08-29 12:51:57,166.166 INFO    ] 200
[2026-08-29 12:51:57,169.169 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:51:57,221.221 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:51:57,223.223 INFO    ] No update needed
[2026-08-29 12:51:57,226.226 INFO    ] Checking for camera pi updates...
[2026-08-29 12:51:57,259.259 INFO    ] 200
[2026-08-29 12:51:57,261.261 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:51:57,306.306 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:51:57,387.387 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:51:57,390.390 INFO    ] No camera update needed
[2026-08-29 12:51:57,392.392 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:51:57,394.394 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:51:57,400.400 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:51:57,405.405 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:51:59,447.447 INFO    ] ================================================
[2026-08-29 12:51:59,462.462 INFO    ] Launching Daemon at Sat Aug 29 12:51:59 IST 2026
[2026-08-29 12:51:59,474.474 INFO    ] ================================================
[2026-08-29 12:51:59,835.835 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:51:59
[2026-08-29 12:52:00,148.148 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:52:00,289.289 INFO    ] Initializing speech engine...
[2026-08-29 12:52:00,298.298 INFO    ] 2026-08-29 12:52:00
[2026-08-29 12:52:00,516.516 INFO    ] 2026-08-29 12:52:00
[2026-08-29 12:52:00,546.546 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:52:00,678.678 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:52:00,741.741 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:52:00,885.885 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:52:00,927.927 INFO    ] time= 29/08/2026 12:52:00
[2026-08-29 12:52:00,970.970 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:52:00,992.992 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:52:01,067.067 INFO    ] No existing commands found in stream
[2026-08-29 12:52:06,078.078 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:52:06,080.080 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-08-29 12:52:07,511.511 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:52:07,512.512 INFO    ] Checking for system updates...
[2026-08-29 12:52:07,534.534 INFO    ] 200
[2026-08-29 12:52:07,535.535 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:52:07,567.567 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:52:07,568.568 INFO    ] No update needed
[2026-08-29 12:52:07,569.569 INFO    ] Checking for camera pi updates...
[2026-08-29 12:52:07,590.590 INFO    ] 200
[2026-08-29 12:52:07,591.591 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:52:07,615.615 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:52:07,709.709 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:52:07,712.712 INFO    ] No camera update needed
[2026-08-29 12:52:07,714.714 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:52:07,716.716 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:52:07,721.721 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:52:07,726.726 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:52:09,766.766 INFO    ] ================================================
[2026-08-29 12:52:09,782.782 INFO    ] Launching Daemon at Sat Aug 29 12:52:09 IST 2026
[2026-08-29 12:52:09,793.793 INFO    ] ================================================
[2026-08-29 12:52:10,361.361 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:52:10
[2026-08-29 12:52:10,868.868 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:52:11,116.116 INFO    ] Initializing speech engine...
[2026-08-29 12:52:11,121.121 INFO    ] 2026-08-29 12:52:11
[2026-08-29 12:52:11,418.418 INFO    ] 2026-08-29 12:52:11
[2026-08-29 12:52:11,455.455 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:52:11,614.614 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:52:11,654.654 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:52:11,770.770 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:52:11,793.793 INFO    ] time= 29/08/2026 12:52:11
[2026-08-29 12:52:11,799.799 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:52:11,805.805 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:52:11,855.855 INFO    ] No existing commands found in stream
[2026-08-29 12:52:16,866.866 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:52:16,869.869 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-08-29 12:52:21,164.164 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:52:21,165.165 INFO    ] Checking for system updates...
[2026-08-29 12:52:21,186.186 INFO    ] 200
[2026-08-29 12:52:21,188.188 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:52:21,218.218 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:52:21,219.219 INFO    ] No update needed
[2026-08-29 12:52:21,220.220 INFO    ] Checking for camera pi updates...
[2026-08-29 12:52:21,239.239 INFO    ] 200
[2026-08-29 12:52:21,241.241 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:52:21,266.266 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:52:21,362.362 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:52:21,363.363 INFO    ] No camera update needed
[2026-08-29 12:52:21,364.364 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:52:21,366.366 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:52:21,368.368 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:52:21,371.371 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:52:23,411.411 INFO    ] ================================================
[2026-08-29 12:52:23,427.427 INFO    ] Launching Daemon at Sat Aug 29 12:52:23 IST 2026
[2026-08-29 12:52:23,438.438 INFO    ] ================================================
[2026-08-29 12:52:23,879.879 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:52:23
[2026-08-29 12:52:24,463.463 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:52:24,740.740 INFO    ] Initializing speech engine...
[2026-08-29 12:52:24,746.746 INFO    ] 2026-08-29 12:52:24
[2026-08-29 12:52:24,990.990 INFO    ] 2026-08-29 12:52:24
[2026-08-29 12:52:25,039.039 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:52:25,203.203 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:52:25,215.215 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:52:25,360.360 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:52:25,365.365 INFO    ] time= 29/08/2026 12:52:25
[2026-08-29 12:52:25,372.372 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:52:25,398.398 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:52:25,532.532 INFO    ] No existing commands found in stream
[2026-08-29 12:52:30,568.568 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:52:30,572.572 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-08-29 12:52:32,210.210 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:52:32,213.213 INFO    ] Checking for system updates...
[2026-08-29 12:52:32,253.253 INFO    ] 200
[2026-08-29 12:52:32,256.256 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:52:32,315.315 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:52:32,318.318 INFO    ] No update needed
[2026-08-29 12:52:32,322.322 INFO    ] Checking for camera pi updates...
[2026-08-29 12:52:32,367.367 INFO    ] 200
[2026-08-29 12:52:32,371.371 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:52:32,426.426 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:52:32,532.532 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:52:32,535.535 INFO    ] No camera update needed
[2026-08-29 12:52:32,538.538 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:52:32,541.541 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:52:32,548.548 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:52:32,555.555 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:52:34,601.601 INFO    ] ================================================
[2026-08-29 12:52:34,617.617 INFO    ] Launching Daemon at Sat Aug 29 12:52:34 IST 2026
[2026-08-29 12:52:34,628.628 INFO    ] ================================================
[2026-08-29 12:52:35,047.047 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:52:35
[2026-08-29 12:52:35,361.361 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:52:35,493.493 INFO    ] Initializing speech engine...
[2026-08-29 12:52:35,498.498 INFO    ] 2026-08-29 12:52:35
[2026-08-29 12:52:35,725.725 INFO    ] 2026-08-29 12:52:35
[2026-08-29 12:52:35,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:52:35,887.887 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:52:35,954.954 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:52:36,094.094 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:52:36,146.146 INFO    ] time= 29/08/2026 12:52:36
[2026-08-29 12:52:36,180.180 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:52:36,203.203 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:52:36,277.277 INFO    ] No existing commands found in stream
[2026-08-29 12:52:41,288.288 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:52:41,291.291 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-08-29 12:52:41,947.947 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:52:41,949.949 INFO    ] Checking for system updates...
[2026-08-29 12:52:41,970.970 INFO    ] 200
[2026-08-29 12:52:41,971.971 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:52:42,003.003 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:52:42,004.004 INFO    ] No update needed
[2026-08-29 12:52:42,005.005 INFO    ] Checking for camera pi updates...
[2026-08-29 12:52:42,025.025 INFO    ] 200
[2026-08-29 12:52:42,027.027 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:52:42,051.051 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:52:42,148.148 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:52:42,149.149 INFO    ] No camera update needed
[2026-08-29 12:52:42,150.150 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:52:42,152.152 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:52:42,155.155 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:52:42,157.157 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:52:44,198.198 INFO    ] ================================================
[2026-08-29 12:52:44,214.214 INFO    ] Launching Daemon at Sat Aug 29 12:52:44 IST 2026
[2026-08-29 12:52:44,225.225 INFO    ] ================================================
[2026-08-29 12:52:44,609.609 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:52:44
[2026-08-29 12:52:45,199.199 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:52:45,454.454 INFO    ] Initializing speech engine...
[2026-08-29 12:52:45,462.462 INFO    ] 2026-08-29 12:52:45
[2026-08-29 12:52:45,756.756 INFO    ] 2026-08-29 12:52:45
[2026-08-29 12:52:45,794.794 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:52:45,988.988 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:52:46,003.003 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:52:46,127.127 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:52:46,132.132 INFO    ] time= 29/08/2026 12:52:46
[2026-08-29 12:52:46,153.153 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:52:46,174.174 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:52:46,255.255 INFO    ] No existing commands found in stream
[2026-08-29 12:52:51,267.267 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:52:51,270.270 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-08-29 12:52:51,858.858 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:52:51,859.859 INFO    ] Checking for system updates...
[2026-08-29 12:52:51,880.880 INFO    ] 200
[2026-08-29 12:52:51,881.881 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:52:51,913.913 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:52:51,914.914 INFO    ] No update needed
[2026-08-29 12:52:51,915.915 INFO    ] Checking for camera pi updates...
[2026-08-29 12:52:51,934.934 INFO    ] 200
[2026-08-29 12:52:51,936.936 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:52:51,958.958 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:52:52,035.035 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:52:52,037.037 INFO    ] No camera update needed
[2026-08-29 12:52:52,038.038 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:52:52,039.039 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:52:52,042.042 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:52:52,045.045 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:52:54,084.084 INFO    ] ================================================
[2026-08-29 12:52:54,100.100 INFO    ] Launching Daemon at Sat Aug 29 12:52:54 IST 2026
[2026-08-29 12:52:54,110.110 INFO    ] ================================================
[2026-08-29 12:52:54,469.469 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:52:54
[2026-08-29 12:52:54,999.999 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:52:55,254.254 INFO    ] Initializing speech engine...
[2026-08-29 12:52:55,262.262 INFO    ] 2026-08-29 12:52:55
[2026-08-29 12:52:55,554.554 INFO    ] 2026-08-29 12:52:55
[2026-08-29 12:52:55,588.588 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:52:55,734.734 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:52:55,740.740 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:52:55,893.893 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:52:55,903.903 INFO    ] time= 29/08/2026 12:52:55
[2026-08-29 12:52:55,909.909 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:52:55,932.932 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:52:55,982.982 INFO    ] No existing commands found in stream
[2026-08-29 12:53:00,993.993 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:53:00,996.996 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-08-29 12:53:02,373.373 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:53:02,378.378 INFO    ] Checking for system updates...
[2026-08-29 12:53:02,421.421 INFO    ] 200
[2026-08-29 12:53:02,424.424 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:53:02,493.493 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:53:02,496.496 INFO    ] No update needed
[2026-08-29 12:53:02,500.500 INFO    ] Checking for camera pi updates...
[2026-08-29 12:53:02,538.538 INFO    ] 200
[2026-08-29 12:53:02,541.541 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:53:02,594.594 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:53:02,695.695 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:53:02,698.698 INFO    ] No camera update needed
[2026-08-29 12:53:02,701.701 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:53:02,704.704 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:53:02,710.710 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:53:02,717.717 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:53:04,758.758 INFO    ] ================================================
[2026-08-29 12:53:04,773.773 INFO    ] Launching Daemon at Sat Aug 29 12:53:04 IST 2026
[2026-08-29 12:53:04,784.784 INFO    ] ================================================
[2026-08-29 12:53:05,296.296 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:53:05
[2026-08-29 12:53:05,609.609 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:53:05,755.755 INFO    ] Initializing speech engine...
[2026-08-29 12:53:05,769.769 INFO    ] 2026-08-29 12:53:05
[2026-08-29 12:53:06,022.022 INFO    ] 2026-08-29 12:53:06
[2026-08-29 12:53:06,057.057 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:53:06,252.252 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:53:06,279.279 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:53:06,455.455 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:53:06,479.479 INFO    ] time= 29/08/2026 12:53:06
[2026-08-29 12:53:06,537.537 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:53:06,601.601 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:53:06,652.652 INFO    ] No existing commands found in stream
[2026-08-29 12:53:11,664.664 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:53:11,666.666 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-08-29 12:53:15,277.277 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:53:15,278.278 INFO    ] Checking for system updates...
[2026-08-29 12:53:15,300.300 INFO    ] 200
[2026-08-29 12:53:15,301.301 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:53:15,333.333 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:53:15,334.334 INFO    ] No update needed
[2026-08-29 12:53:15,335.335 INFO    ] Checking for camera pi updates...
[2026-08-29 12:53:15,355.355 INFO    ] 200
[2026-08-29 12:53:15,356.356 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:53:15,379.379 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:53:15,461.461 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:53:15,463.463 INFO    ] No camera update needed
[2026-08-29 12:53:15,464.464 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:53:15,465.465 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:53:15,468.468 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:53:15,471.471 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:53:17,509.509 INFO    ] ================================================
[2026-08-29 12:53:17,525.525 INFO    ] Launching Daemon at Sat Aug 29 12:53:17 IST 2026
[2026-08-29 12:53:17,536.536 INFO    ] ================================================
[2026-08-29 12:53:18,089.089 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:53:18
[2026-08-29 12:53:18,704.704 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:53:19,003.003 INFO    ] Initializing speech engine...
[2026-08-29 12:53:19,017.017 INFO    ] 2026-08-29 12:53:19
[2026-08-29 12:53:19,280.280 INFO    ] 2026-08-29 12:53:19
[2026-08-29 12:53:19,335.335 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:53:19,556.556 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:53:19,566.566 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:53:19,717.717 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:53:19,768.768 INFO    ] time= 29/08/2026 12:53:19
[2026-08-29 12:53:19,823.823 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:53:19,837.837 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:53:19,973.973 INFO    ] No existing commands found in stream
[2026-08-29 12:53:24,994.994 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:53:24,997.997 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-08-29 12:53:28,357.357 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:53:28,359.359 INFO    ] Checking for system updates...
[2026-08-29 12:53:28,380.380 INFO    ] 200
[2026-08-29 12:53:28,381.381 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:53:28,411.411 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:53:28,412.412 INFO    ] No update needed
[2026-08-29 12:53:28,414.414 INFO    ] Checking for camera pi updates...
[2026-08-29 12:53:28,433.433 INFO    ] 200
[2026-08-29 12:53:28,434.434 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:53:28,456.456 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:53:28,549.549 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:53:28,550.550 INFO    ] No camera update needed
[2026-08-29 12:53:28,551.551 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:53:28,553.553 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:53:28,556.556 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:53:28,559.559 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:53:30,598.598 INFO    ] ================================================
[2026-08-29 12:53:30,614.614 INFO    ] Launching Daemon at Sat Aug 29 12:53:30 IST 2026
[2026-08-29 12:53:30,625.625 INFO    ] ================================================
[2026-08-29 12:53:30,970.970 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:53:30
[2026-08-29 12:53:31,484.484 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:53:31,754.754 INFO    ] Initializing speech engine...
[2026-08-29 12:53:31,762.762 INFO    ] 2026-08-29 12:53:31
[2026-08-29 12:53:32,050.050 INFO    ] 2026-08-29 12:53:32
[2026-08-29 12:53:32,089.089 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:53:32,293.293 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:53:32,299.299 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:53:32,443.443 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:53:32,449.449 INFO    ] time= 29/08/2026 12:53:32
[2026-08-29 12:53:32,457.457 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:53:32,478.478 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:53:32,585.585 INFO    ] No existing commands found in stream
[2026-08-29 12:53:37,597.597 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:53:37,599.599 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-08-29 12:53:38,208.208 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:53:38,211.211 INFO    ] Checking for system updates...
[2026-08-29 12:53:38,251.251 INFO    ] 200
[2026-08-29 12:53:38,253.253 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:53:38,319.319 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:53:38,322.322 INFO    ] No update needed
[2026-08-29 12:53:38,325.325 INFO    ] Checking for camera pi updates...
[2026-08-29 12:53:38,369.369 INFO    ] 200
[2026-08-29 12:53:38,372.372 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:53:38,417.417 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:53:38,596.596 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:53:38,598.598 INFO    ] No camera update needed
[2026-08-29 12:53:38,601.601 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:53:38,603.603 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:53:38,608.608 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:53:38,613.613 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:53:40,654.654 INFO    ] ================================================
[2026-08-29 12:53:40,670.670 INFO    ] Launching Daemon at Sat Aug 29 12:53:40 IST 2026
[2026-08-29 12:53:40,682.682 INFO    ] ================================================
[2026-08-29 12:53:41,250.250 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:53:41
[2026-08-29 12:53:41,562.562 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:53:41,691.691 INFO    ] Initializing speech engine...
[2026-08-29 12:53:41,695.695 INFO    ] 2026-08-29 12:53:41
[2026-08-29 12:53:41,911.911 INFO    ] 2026-08-29 12:53:41
[2026-08-29 12:53:41,940.940 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:53:42,075.075 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:53:42,119.119 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:53:42,255.255 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:53:42,263.263 INFO    ] time= 29/08/2026 12:53:42
[2026-08-29 12:53:42,270.270 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:53:42,330.330 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:53:42,433.433 INFO    ] No existing commands found in stream
[2026-08-29 12:53:47,463.463 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:53:47,466.466 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-08-29 12:53:49,623.623 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:53:49,624.624 INFO    ] Checking for system updates...
[2026-08-29 12:53:49,644.644 INFO    ] 200
[2026-08-29 12:53:49,646.646 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:53:49,675.675 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:53:49,676.676 INFO    ] No update needed
[2026-08-29 12:53:49,678.678 INFO    ] Checking for camera pi updates...
[2026-08-29 12:53:49,698.698 INFO    ] 200
[2026-08-29 12:53:49,699.699 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:53:49,722.722 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:53:49,813.813 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:53:49,814.814 INFO    ] No camera update needed
[2026-08-29 12:53:49,816.816 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:53:49,817.817 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:53:49,820.820 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:53:49,822.822 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:53:51,861.861 INFO    ] ================================================
[2026-08-29 12:53:51,877.877 INFO    ] Launching Daemon at Sat Aug 29 12:53:51 IST 2026
[2026-08-29 12:53:51,895.895 INFO    ] ================================================
[2026-08-29 12:53:52,240.240 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:53:52
[2026-08-29 12:53:52,812.812 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:53:53,113.113 INFO    ] Initializing speech engine...
[2026-08-29 12:53:53,120.120 INFO    ] 2026-08-29 12:53:53
[2026-08-29 12:53:53,435.435 INFO    ] 2026-08-29 12:53:53
[2026-08-29 12:53:53,513.513 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:53:53,671.671 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:53:53,678.678 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:53:53,813.813 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:53:53,883.883 INFO    ] time= 29/08/2026 12:53:53
[2026-08-29 12:53:53,938.938 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:53:53,947.947 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:53:54,056.056 INFO    ] No existing commands found in stream
[2026-08-29 12:53:59,079.079 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:53:59,082.082 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-08-29 12:54:00,500.500 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:54:00,501.501 INFO    ] Checking for system updates...
[2026-08-29 12:54:00,521.521 INFO    ] 200
[2026-08-29 12:54:00,523.523 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:54:00,553.553 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:54:00,554.554 INFO    ] No update needed
[2026-08-29 12:54:00,555.555 INFO    ] Checking for camera pi updates...
[2026-08-29 12:54:00,576.576 INFO    ] 200
[2026-08-29 12:54:00,577.577 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:54:00,603.603 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:54:00,730.730 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:54:00,733.733 INFO    ] No camera update needed
[2026-08-29 12:54:00,735.735 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:54:00,737.737 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:54:00,742.742 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:54:00,747.747 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:54:02,794.794 INFO    ] ================================================
[2026-08-29 12:54:02,819.819 INFO    ] Launching Daemon at Sat Aug 29 12:54:02 IST 2026
[2026-08-29 12:54:02,841.841 INFO    ] ================================================
[2026-08-29 12:54:03,455.455 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:54:03
[2026-08-29 12:54:04,041.041 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:54:04,303.303 INFO    ] Initializing speech engine...
[2026-08-29 12:54:04,317.317 INFO    ] 2026-08-29 12:54:04
[2026-08-29 12:54:04,596.596 INFO    ] 2026-08-29 12:54:04
[2026-08-29 12:54:04,634.634 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:54:04,825.825 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:54:04,832.832 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:54:04,958.958 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:54:04,964.964 INFO    ] time= 29/08/2026 12:54:04
[2026-08-29 12:54:04,971.971 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:54:04,991.991 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:54:05,067.067 INFO    ] No existing commands found in stream
[2026-08-29 12:54:10,101.101 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:54:10,105.105 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-08-29 12:54:13,288.288 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:54:13,289.289 INFO    ] Checking for system updates...
[2026-08-29 12:54:13,310.310 INFO    ] 200
[2026-08-29 12:54:13,311.311 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:54:13,343.343 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:54:13,344.344 INFO    ] No update needed
[2026-08-29 12:54:13,346.346 INFO    ] Checking for camera pi updates...
[2026-08-29 12:54:13,365.365 INFO    ] 200
[2026-08-29 12:54:13,367.367 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:54:13,391.391 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:54:13,488.488 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:54:13,489.489 INFO    ] No camera update needed
[2026-08-29 12:54:13,490.490 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:54:13,491.491 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:54:13,495.495 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:54:13,497.497 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:54:15,535.535 INFO    ] ================================================
[2026-08-29 12:54:15,551.551 INFO    ] Launching Daemon at Sat Aug 29 12:54:15 IST 2026
[2026-08-29 12:54:15,562.562 INFO    ] ================================================
[2026-08-29 12:54:15,924.924 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:54:15
[2026-08-29 12:54:16,236.236 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:54:16,369.369 INFO    ] Initializing speech engine...
[2026-08-29 12:54:16,374.374 INFO    ] 2026-08-29 12:54:16
[2026-08-29 12:54:16,607.607 INFO    ] 2026-08-29 12:54:16
[2026-08-29 12:54:16,645.645 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:54:16,845.845 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:54:16,862.862 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:54:17,016.016 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:54:17,027.027 INFO    ] time= 29/08/2026 12:54:17
[2026-08-29 12:54:17,035.035 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:54:17,057.057 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:54:17,192.192 INFO    ] No existing commands found in stream
[2026-08-29 12:54:22,217.217 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:54:22,220.220 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-08-29 12:54:23,083.083 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:54:23,086.086 INFO    ] Checking for system updates...
[2026-08-29 12:54:23,133.133 INFO    ] 200
[2026-08-29 12:54:23,136.136 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:54:23,201.201 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:54:23,204.204 INFO    ] No update needed
[2026-08-29 12:54:23,207.207 INFO    ] Checking for camera pi updates...
[2026-08-29 12:54:23,244.244 INFO    ] 200
[2026-08-29 12:54:23,247.247 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:54:23,296.296 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:54:23,380.380 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:54:23,383.383 INFO    ] No camera update needed
[2026-08-29 12:54:23,387.387 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:54:23,390.390 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:54:23,398.398 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:54:23,405.405 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:54:25,446.446 INFO    ] ================================================
[2026-08-29 12:54:25,462.462 INFO    ] Launching Daemon at Sat Aug 29 12:54:25 IST 2026
[2026-08-29 12:54:25,473.473 INFO    ] ================================================
[2026-08-29 12:54:26,054.054 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:54:26
[2026-08-29 12:54:26,664.664 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:54:26,942.942 INFO    ] Initializing speech engine...
[2026-08-29 12:54:26,959.959 INFO    ] 2026-08-29 12:54:26
[2026-08-29 12:54:27,250.250 INFO    ] 2026-08-29 12:54:27
[2026-08-29 12:54:27,338.338 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:54:29,588.588 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:54:29,616.616 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:54:30,713.713 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:54:30,716.716 INFO    ] time= 29/08/2026 12:54:30
[2026-08-29 12:54:30,719.719 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:54:30,721.721 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:54:31,029.029 INFO    ] No existing commands found in stream
[2026-08-29 12:54:36,038.038 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:54:36,040.040 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-08-29 12:54:38,606.606 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:54:38,609.609 INFO    ] Checking for system updates...
[2026-08-29 12:54:38,647.647 INFO    ] 200
[2026-08-29 12:54:38,649.649 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:54:38,702.702 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:54:38,705.705 INFO    ] No update needed
[2026-08-29 12:54:38,708.708 INFO    ] Checking for camera pi updates...
[2026-08-29 12:54:38,743.743 INFO    ] 200
[2026-08-29 12:54:38,746.746 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:54:38,798.798 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:54:38,872.872 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:54:38,874.874 INFO    ] No camera update needed
[2026-08-29 12:54:38,875.875 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:54:38,876.876 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:54:38,880.880 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:54:38,883.883 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:54:40,922.922 INFO    ] ================================================
[2026-08-29 12:54:40,938.938 INFO    ] Launching Daemon at Sat Aug 29 12:54:40 IST 2026
[2026-08-29 12:54:40,949.949 INFO    ] ================================================
[2026-08-29 12:54:41,574.574 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:54:41
[2026-08-29 12:54:42,245.245 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:54:42,403.403 INFO    ] Initializing speech engine...
[2026-08-29 12:54:42,411.411 INFO    ] 2026-08-29 12:54:42
[2026-08-29 12:54:42,619.619 INFO    ] 2026-08-29 12:54:42
[2026-08-29 12:54:42,648.648 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:54:42,773.773 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:54:42,836.836 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:54:42,977.977 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:54:43,044.044 INFO    ] time= 29/08/2026 12:54:42
[2026-08-29 12:54:43,068.068 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:54:43,075.075 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:54:43,140.140 INFO    ] No existing commands found in stream
[2026-08-29 12:54:48,151.151 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:54:48,155.155 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-08-29 12:54:49,153.153 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:54:49,155.155 INFO    ] Checking for system updates...
[2026-08-29 12:54:49,177.177 INFO    ] 200
[2026-08-29 12:54:49,178.178 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:54:49,211.211 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:54:49,212.212 INFO    ] No update needed
[2026-08-29 12:54:49,214.214 INFO    ] Checking for camera pi updates...
[2026-08-29 12:54:49,235.235 INFO    ] 200
[2026-08-29 12:54:49,237.237 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:54:49,267.267 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:54:49,351.351 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:54:49,353.353 INFO    ] No camera update needed
[2026-08-29 12:54:49,354.354 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:54:49,355.355 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:54:49,359.359 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:54:49,362.362 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:54:51,400.400 INFO    ] ================================================
[2026-08-29 12:54:51,416.416 INFO    ] Launching Daemon at Sat Aug 29 12:54:51 IST 2026
[2026-08-29 12:54:51,426.426 INFO    ] ================================================
[2026-08-29 12:54:51,819.819 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:54:51
[2026-08-29 12:54:52,157.157 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:54:52,385.385 INFO    ] Initializing speech engine...
[2026-08-29 12:54:52,398.398 INFO    ] 2026-08-29 12:54:52
[2026-08-29 12:54:52,651.651 INFO    ] 2026-08-29 12:54:52
[2026-08-29 12:54:52,708.708 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:54:52,854.854 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:54:52,879.879 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:54:53,011.011 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:54:53,019.019 INFO    ] time= 29/08/2026 12:54:53
[2026-08-29 12:54:53,025.025 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:54:53,056.056 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:54:53,181.181 INFO    ] No existing commands found in stream
[2026-08-29 12:54:58,211.211 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:54:58,215.215 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-08-29 12:55:00,330.330 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:55:00,333.333 INFO    ] Checking for system updates...
[2026-08-29 12:55:00,374.374 INFO    ] 200
[2026-08-29 12:55:00,377.377 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:55:00,437.437 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:55:00,440.440 INFO    ] No update needed
[2026-08-29 12:55:00,446.446 INFO    ] Checking for camera pi updates...
[2026-08-29 12:55:00,489.489 INFO    ] 200
[2026-08-29 12:55:00,492.492 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:55:00,534.534 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:55:00,639.639 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:55:00,641.641 INFO    ] No camera update needed
[2026-08-29 12:55:00,644.644 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:55:00,647.647 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:55:00,653.653 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:55:00,659.659 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:55:02,725.725 INFO    ] ================================================
[2026-08-29 12:55:02,746.746 INFO    ] Launching Daemon at Sat Aug 29 12:55:02 IST 2026
[2026-08-29 12:55:02,762.762 INFO    ] ================================================
[2026-08-29 12:55:03,333.333 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:55:03
[2026-08-29 12:55:03,927.927 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:55:04,176.176 INFO    ] Initializing speech engine...
[2026-08-29 12:55:04,185.185 INFO    ] 2026-08-29 12:55:04
[2026-08-29 12:55:04,464.464 INFO    ] 2026-08-29 12:55:04
[2026-08-29 12:55:04,497.497 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:55:04,688.688 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:55:04,694.694 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:55:04,827.827 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:55:04,832.832 INFO    ] time= 29/08/2026 12:55:04
[2026-08-29 12:55:04,853.853 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:55:04,874.874 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:55:04,956.956 INFO    ] No existing commands found in stream
[2026-08-29 12:55:09,967.967 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:55:09,970.970 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-08-29 12:55:12,796.796 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 12:55:12,797.797 INFO    ] Checking for system updates...
[2026-08-29 12:55:12,817.817 INFO    ] 200
[2026-08-29 12:55:12,819.819 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:55:12,850.850 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:55:12,852.852 INFO    ] No update needed
[2026-08-29 12:55:12,853.853 INFO    ] Checking for camera pi updates...
[2026-08-29 12:55:12,872.872 INFO    ] 200
[2026-08-29 12:55:12,874.874 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:55:12,899.899 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:55:12,979.979 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:55:12,980.980 INFO    ] No camera update needed
[2026-08-29 12:55:12,981.981 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:55:12,983.983 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:55:12,986.986 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:55:12,988.988 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:55:15,028.028 INFO    ] ================================================
[2026-08-29 12:55:15,043.043 INFO    ] Launching Daemon at Sat Aug 29 12:55:15 IST 2026
[2026-08-29 12:55:15,055.055 INFO    ] ================================================
[2026-08-29 12:55:15,394.394 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:55:15
[2026-08-29 12:55:15,710.710 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:55:15,844.844 INFO    ] Initializing speech engine...
[2026-08-29 12:55:15,848.848 INFO    ] 2026-08-29 12:55:15
[2026-08-29 12:55:16,077.077 INFO    ] 2026-08-29 12:55:16
[2026-08-29 12:55:16,108.108 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:55:16,257.257 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:55:16,266.266 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:55:16,442.442 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:55:16,489.489 INFO    ] time= 29/08/2026 12:55:16
[2026-08-29 12:55:16,496.496 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:55:16,513.513 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:55:16,620.620 INFO    ] No existing commands found in stream
[2026-08-29 12:55:21,639.639 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:55:21,642.642 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-08-29 12:55:25,513.513 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:55:25,514.514 INFO    ] Checking for system updates...
[2026-08-29 12:55:25,534.534 INFO    ] 200
[2026-08-29 12:55:25,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:55:25,565.565 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:55:25,566.566 INFO    ] No update needed
[2026-08-29 12:55:25,568.568 INFO    ] Checking for camera pi updates...
[2026-08-29 12:55:25,587.587 INFO    ] 200
[2026-08-29 12:55:25,588.588 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:55:25,610.610 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:55:25,709.709 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:55:25,710.710 INFO    ] No camera update needed
[2026-08-29 12:55:25,712.712 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:55:25,713.713 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:55:25,716.716 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:55:25,719.719 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:55:27,757.757 INFO    ] ================================================
[2026-08-29 12:55:27,774.774 INFO    ] Launching Daemon at Sat Aug 29 12:55:27 IST 2026
[2026-08-29 12:55:27,785.785 INFO    ] ================================================
[2026-08-29 12:55:28,158.158 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:55:28
[2026-08-29 12:55:28,469.469 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:55:28,697.697 INFO    ] Initializing speech engine...
[2026-08-29 12:55:28,705.705 INFO    ] 2026-08-29 12:55:28
[2026-08-29 12:55:28,978.978 INFO    ] 2026-08-29 12:55:28
[2026-08-29 12:55:29,036.036 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:55:29,204.204 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:55:29,250.250 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:55:29,412.412 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:55:29,481.481 INFO    ] time= 29/08/2026 12:55:29
[2026-08-29 12:55:29,546.546 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:55:29,554.554 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:55:29,610.610 INFO    ] No existing commands found in stream
[2026-08-29 12:55:34,623.623 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:55:34,626.626 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-08-29 12:55:37,598.598 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:55:37,599.599 INFO    ] Checking for system updates...
[2026-08-29 12:55:37,619.619 INFO    ] 200
[2026-08-29 12:55:37,621.621 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:55:37,651.651 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:55:37,652.652 INFO    ] No update needed
[2026-08-29 12:55:37,654.654 INFO    ] Checking for camera pi updates...
[2026-08-29 12:55:37,675.675 INFO    ] 200
[2026-08-29 12:55:37,676.676 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:55:37,699.699 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:55:37,779.779 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:55:37,781.781 INFO    ] No camera update needed
[2026-08-29 12:55:37,782.782 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:55:37,783.783 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:55:37,786.786 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:55:37,789.789 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:55:39,828.828 INFO    ] ================================================
[2026-08-29 12:55:39,843.843 INFO    ] Launching Daemon at Sat Aug 29 12:55:39 IST 2026
[2026-08-29 12:55:39,855.855 INFO    ] ================================================
[2026-08-29 12:55:40,413.413 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:55:40
[2026-08-29 12:55:41,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:55:41,379.379 INFO    ] Initializing speech engine...
[2026-08-29 12:55:41,386.386 INFO    ] 2026-08-29 12:55:41
[2026-08-29 12:55:41,677.677 INFO    ] 2026-08-29 12:55:41
[2026-08-29 12:55:41,725.725 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:55:41,937.937 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:55:41,946.946 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:55:42,083.083 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:55:42,133.133 INFO    ] time= 29/08/2026 12:55:42
[2026-08-29 12:55:42,192.192 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:55:42,216.216 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:55:42,280.280 INFO    ] No existing commands found in stream
[2026-08-29 12:55:47,316.316 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:55:47,320.320 INFO    ] Waiting 3.84 seconds before fallback handling...
[2026-08-29 12:55:51,521.521 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:55:51,523.523 INFO    ] Checking for system updates...
[2026-08-29 12:55:51,544.544 INFO    ] 200
[2026-08-29 12:55:51,545.545 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:55:51,575.575 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:55:51,576.576 INFO    ] No update needed
[2026-08-29 12:55:51,578.578 INFO    ] Checking for camera pi updates...
[2026-08-29 12:55:51,597.597 INFO    ] 200
[2026-08-29 12:55:51,599.599 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:55:51,622.622 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:55:51,802.802 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:55:51,804.804 INFO    ] No camera update needed
[2026-08-29 12:55:51,805.805 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:55:51,806.806 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:55:51,809.809 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:55:51,812.812 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:55:53,852.852 INFO    ] ================================================
[2026-08-29 12:55:53,868.868 INFO    ] Launching Daemon at Sat Aug 29 12:55:53 IST 2026
[2026-08-29 12:55:53,880.880 INFO    ] ================================================
[2026-08-29 12:55:54,233.233 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:55:54
[2026-08-29 12:55:54,552.552 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:55:54,685.685 INFO    ] Initializing speech engine...
[2026-08-29 12:55:54,697.697 INFO    ] 2026-08-29 12:55:54
[2026-08-29 12:55:54,903.903 INFO    ] 2026-08-29 12:55:54
[2026-08-29 12:55:54,931.931 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:55:55,114.114 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:55:55,118.118 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:55:55,250.250 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:55:55,313.313 INFO    ] time= 29/08/2026 12:55:55
[2026-08-29 12:55:55,345.345 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:55:55,347.347 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:55:55,418.418 INFO    ] No existing commands found in stream
[2026-08-29 12:56:00,433.433 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:56:00,435.435 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-08-29 12:56:04,814.814 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:56:04,816.816 INFO    ] Checking for system updates...
[2026-08-29 12:56:04,836.836 INFO    ] 200
[2026-08-29 12:56:04,838.838 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:56:04,868.868 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:56:04,869.869 INFO    ] No update needed
[2026-08-29 12:56:04,871.871 INFO    ] Checking for camera pi updates...
[2026-08-29 12:56:04,890.890 INFO    ] 200
[2026-08-29 12:56:04,892.892 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:56:04,917.917 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:56:05,007.007 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:56:05,008.008 INFO    ] No camera update needed
[2026-08-29 12:56:05,010.010 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:56:05,011.011 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:56:05,014.014 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:56:05,017.017 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:56:07,062.062 INFO    ] ================================================
[2026-08-29 12:56:07,077.077 INFO    ] Launching Daemon at Sat Aug 29 12:56:07 IST 2026
[2026-08-29 12:56:07,089.089 INFO    ] ================================================
[2026-08-29 12:56:07,452.452 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:56:07
[2026-08-29 12:56:07,764.764 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:56:07,927.927 INFO    ] Initializing speech engine...
[2026-08-29 12:56:07,939.939 INFO    ] 2026-08-29 12:56:07
[2026-08-29 12:56:08,186.186 INFO    ] 2026-08-29 12:56:08
[2026-08-29 12:56:08,222.222 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:56:08,423.423 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:56:08,475.475 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:56:08,613.613 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:56:08,629.629 INFO    ] time= 29/08/2026 12:56:08
[2026-08-29 12:56:08,678.678 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:56:08,732.732 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:56:08,800.800 INFO    ] No existing commands found in stream
[2026-08-29 12:56:13,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:56:13,815.815 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-08-29 12:56:15,776.776 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:56:15,777.777 INFO    ] Checking for system updates...
[2026-08-29 12:56:15,798.798 INFO    ] 200
[2026-08-29 12:56:15,799.799 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:56:15,832.832 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:56:15,833.833 INFO    ] No update needed
[2026-08-29 12:56:15,834.834 INFO    ] Checking for camera pi updates...
[2026-08-29 12:56:15,854.854 INFO    ] 200
[2026-08-29 12:56:15,855.855 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:56:15,878.878 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:56:15,980.980 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:56:15,982.982 INFO    ] No camera update needed
[2026-08-29 12:56:15,983.983 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:56:15,984.984 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:56:15,987.987 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:56:15,990.990 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:56:18,028.028 INFO    ] ================================================
[2026-08-29 12:56:18,044.044 INFO    ] Launching Daemon at Sat Aug 29 12:56:18 IST 2026
[2026-08-29 12:56:18,055.055 INFO    ] ================================================
[2026-08-29 12:56:18,419.419 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:56:18
[2026-08-29 12:56:18,761.761 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:56:18,917.917 INFO    ] Initializing speech engine...
[2026-08-29 12:56:18,921.921 INFO    ] 2026-08-29 12:56:18
[2026-08-29 12:56:19,129.129 INFO    ] 2026-08-29 12:56:19
[2026-08-29 12:56:19,157.157 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:56:19,341.341 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:56:19,345.345 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:56:19,507.507 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:56:19,550.550 INFO    ] time= 29/08/2026 12:56:19
[2026-08-29 12:56:19,572.572 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:56:19,579.579 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:56:19,646.646 INFO    ] No existing commands found in stream
[2026-08-29 12:56:24,657.657 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:56:24,661.661 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-08-29 12:56:25,114.114 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:56:25,115.115 INFO    ] Checking for system updates...
[2026-08-29 12:56:25,135.135 INFO    ] 200
[2026-08-29 12:56:25,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:56:25,168.168 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:56:25,170.170 INFO    ] No update needed
[2026-08-29 12:56:25,171.171 INFO    ] Checking for camera pi updates...
[2026-08-29 12:56:25,190.190 INFO    ] 200
[2026-08-29 12:56:25,191.191 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:56:25,214.214 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:56:25,324.324 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:56:25,325.325 INFO    ] No camera update needed
[2026-08-29 12:56:25,327.327 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:56:25,328.328 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:56:25,331.331 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:56:25,333.333 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:56:27,372.372 INFO    ] ================================================
[2026-08-29 12:56:27,387.387 INFO    ] Launching Daemon at Sat Aug 29 12:56:27 IST 2026
[2026-08-29 12:56:27,398.398 INFO    ] ================================================
[2026-08-29 12:56:27,742.742 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:56:27
[2026-08-29 12:56:28,055.055 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:56:28,185.185 INFO    ] Initializing speech engine...
[2026-08-29 12:56:28,189.189 INFO    ] 2026-08-29 12:56:28
[2026-08-29 12:56:28,410.410 INFO    ] 2026-08-29 12:56:28
[2026-08-29 12:56:28,439.439 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:56:28,563.563 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:56:28,626.626 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:56:28,768.768 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:56:28,833.833 INFO    ] time= 29/08/2026 12:56:28
[2026-08-29 12:56:28,861.861 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:56:28,868.868 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:56:28,933.933 INFO    ] No existing commands found in stream
[2026-08-29 12:56:33,944.944 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:56:33,947.947 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-08-29 12:56:37,326.326 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:56:37,327.327 INFO    ] Checking for system updates...
[2026-08-29 12:56:37,352.352 INFO    ] 200
[2026-08-29 12:56:37,354.354 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:56:37,385.385 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:56:37,387.387 INFO    ] No update needed
[2026-08-29 12:56:37,388.388 INFO    ] Checking for camera pi updates...
[2026-08-29 12:56:37,409.409 INFO    ] 200
[2026-08-29 12:56:37,411.411 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:56:37,433.433 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:56:37,511.511 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:56:37,513.513 INFO    ] No camera update needed
[2026-08-29 12:56:37,514.514 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:56:37,515.515 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:56:37,518.518 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:56:37,521.521 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:56:39,561.561 INFO    ] ================================================
[2026-08-29 12:56:39,576.576 INFO    ] Launching Daemon at Sat Aug 29 12:56:39 IST 2026
[2026-08-29 12:56:39,587.587 INFO    ] ================================================
[2026-08-29 12:56:39,942.942 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:56:39
[2026-08-29 12:56:40,254.254 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:56:40,387.387 INFO    ] Initializing speech engine...
[2026-08-29 12:56:40,391.391 INFO    ] 2026-08-29 12:56:40
[2026-08-29 12:56:40,594.594 INFO    ] 2026-08-29 12:56:40
[2026-08-29 12:56:40,627.627 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:56:40,752.752 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:56:40,769.769 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:56:40,894.894 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:56:40,935.935 INFO    ] time= 29/08/2026 12:56:40
[2026-08-29 12:56:40,964.964 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:56:41,008.008 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:56:41,093.093 INFO    ] No existing commands found in stream
[2026-08-29 12:56:46,123.123 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:56:46,126.126 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-08-29 12:56:46,799.799 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:56:46,801.801 INFO    ] Checking for system updates...
[2026-08-29 12:56:46,821.821 INFO    ] 200
[2026-08-29 12:56:46,823.823 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:56:46,855.855 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:56:46,856.856 INFO    ] No update needed
[2026-08-29 12:56:46,857.857 INFO    ] Checking for camera pi updates...
[2026-08-29 12:56:46,876.876 INFO    ] 200
[2026-08-29 12:56:46,877.877 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:56:46,900.900 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:56:46,999.999 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:56:47,000.000 INFO    ] No camera update needed
[2026-08-29 12:56:47,001.001 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:56:47,003.003 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:56:47,006.006 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:56:47,008.008 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:56:49,038.038 INFO    ] ================================================
[2026-08-29 12:56:49,047.047 INFO    ] Launching Daemon at Sat Aug 29 12:56:49 IST 2026
[2026-08-29 12:56:49,053.053 INFO    ] ================================================
[2026-08-29 12:56:49,592.592 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:56:49
[2026-08-29 12:56:50,260.260 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:56:50,575.575 INFO    ] Initializing speech engine...
[2026-08-29 12:56:50,582.582 INFO    ] 2026-08-29 12:56:50
[2026-08-29 12:56:50,870.870 INFO    ] 2026-08-29 12:56:50
[2026-08-29 12:56:50,909.909 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:56:51,129.129 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:56:51,138.138 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:56:51,273.273 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:56:51,324.324 INFO    ] time= 29/08/2026 12:56:51
[2026-08-29 12:56:51,384.384 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:56:51,408.408 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:56:51,535.535 INFO    ] No existing commands found in stream
[2026-08-29 12:56:56,565.565 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:56:56,568.568 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-08-29 12:56:57,803.803 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:56:57,805.805 INFO    ] Checking for system updates...
[2026-08-29 12:56:57,825.825 INFO    ] 200
[2026-08-29 12:56:57,827.827 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:56:57,857.857 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:56:57,858.858 INFO    ] No update needed
[2026-08-29 12:56:57,860.860 INFO    ] Checking for camera pi updates...
[2026-08-29 12:56:57,879.879 INFO    ] 200
[2026-08-29 12:56:57,881.881 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:56:57,906.906 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:56:57,990.990 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:56:57,992.992 INFO    ] No camera update needed
[2026-08-29 12:56:57,993.993 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:56:57,995.995 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:56:57,998.998 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:56:58,001.001 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:57:00,041.041 INFO    ] ================================================
[2026-08-29 12:57:00,057.057 INFO    ] Launching Daemon at Sat Aug 29 12:57:00 IST 2026
[2026-08-29 12:57:00,068.068 INFO    ] ================================================
[2026-08-29 12:57:00,411.411 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:57:00
[2026-08-29 12:57:00,750.750 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:57:00,901.901 INFO    ] Initializing speech engine...
[2026-08-29 12:57:00,907.907 INFO    ] 2026-08-29 12:57:00
[2026-08-29 12:57:01,130.130 INFO    ] 2026-08-29 12:57:01
[2026-08-29 12:57:01,262.262 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:57:01,418.418 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:57:01,421.421 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:57:01,619.619 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:57:01,641.641 INFO    ] time= 29/08/2026 12:57:01
[2026-08-29 12:57:01,697.697 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:57:01,742.742 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:57:01,819.819 INFO    ] No existing commands found in stream
[2026-08-29 12:57:06,833.833 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:57:06,836.836 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-08-29 12:57:10,689.689 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:57:10,691.691 INFO    ] Checking for system updates...
[2026-08-29 12:57:10,711.711 INFO    ] 200
[2026-08-29 12:57:10,713.713 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:57:10,745.745 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:57:10,746.746 INFO    ] No update needed
[2026-08-29 12:57:10,747.747 INFO    ] Checking for camera pi updates...
[2026-08-29 12:57:10,772.772 INFO    ] 200
[2026-08-29 12:57:10,773.773 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:57:10,800.800 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:57:10,880.880 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:57:10,882.882 INFO    ] No camera update needed
[2026-08-29 12:57:10,885.885 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:57:10,887.887 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:57:10,892.892 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:57:10,897.897 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:57:12,939.939 INFO    ] ================================================
[2026-08-29 12:57:12,955.955 INFO    ] Launching Daemon at Sat Aug 29 12:57:12 IST 2026
[2026-08-29 12:57:12,966.966 INFO    ] ================================================
[2026-08-29 12:57:13,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:57:13
[2026-08-29 12:57:14,045.045 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:57:14,177.177 INFO    ] Initializing speech engine...
[2026-08-29 12:57:14,184.184 INFO    ] 2026-08-29 12:57:14
[2026-08-29 12:57:14,398.398 INFO    ] 2026-08-29 12:57:14
[2026-08-29 12:57:14,428.428 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:57:14,570.570 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:57:14,600.600 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:57:14,727.727 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:57:14,754.754 INFO    ] time= 29/08/2026 12:57:14
[2026-08-29 12:57:14,762.762 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:57:14,769.769 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:57:14,866.866 INFO    ] No existing commands found in stream
[2026-08-29 12:57:19,879.879 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:57:19,882.882 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-08-29 12:57:22,555.555 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:57:22,557.557 INFO    ] Checking for system updates...
[2026-08-29 12:57:22,578.578 INFO    ] 200
[2026-08-29 12:57:22,579.579 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:57:22,609.609 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:57:22,610.610 INFO    ] No update needed
[2026-08-29 12:57:22,611.611 INFO    ] Checking for camera pi updates...
[2026-08-29 12:57:22,632.632 INFO    ] 200
[2026-08-29 12:57:22,633.633 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:57:22,656.656 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:57:22,753.753 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:57:22,755.755 INFO    ] No camera update needed
[2026-08-29 12:57:22,756.756 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:57:22,757.757 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:57:22,760.760 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:57:22,763.763 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:57:24,801.801 INFO    ] ================================================
[2026-08-29 12:57:24,817.817 INFO    ] Launching Daemon at Sat Aug 29 12:57:24 IST 2026
[2026-08-29 12:57:24,828.828 INFO    ] ================================================
[2026-08-29 12:57:25,174.174 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:57:25
[2026-08-29 12:57:25,485.485 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:57:25,627.627 INFO    ] Initializing speech engine...
[2026-08-29 12:57:25,632.632 INFO    ] 2026-08-29 12:57:25
[2026-08-29 12:57:25,838.838 INFO    ] 2026-08-29 12:57:25
[2026-08-29 12:57:25,867.867 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:57:25,988.988 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:57:26,051.051 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:57:26,187.187 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:57:26,194.194 INFO    ] time= 29/08/2026 12:57:26
[2026-08-29 12:57:26,213.213 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:57:26,241.241 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:57:26,345.345 INFO    ] No existing commands found in stream
[2026-08-29 12:57:31,360.360 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:57:31,363.363 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-08-29 12:57:32,462.462 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:57:32,465.465 INFO    ] Checking for system updates...
[2026-08-29 12:57:32,500.500 INFO    ] 200
[2026-08-29 12:57:32,503.503 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:57:32,556.556 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:57:32,558.558 INFO    ] No update needed
[2026-08-29 12:57:32,560.560 INFO    ] Checking for camera pi updates...
[2026-08-29 12:57:32,594.594 INFO    ] 200
[2026-08-29 12:57:32,596.596 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:57:32,636.636 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:57:32,726.726 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:57:32,729.729 INFO    ] No camera update needed
[2026-08-29 12:57:32,731.731 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:57:32,733.733 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:57:32,739.739 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:57:32,744.744 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:57:34,786.786 INFO    ] ================================================
[2026-08-29 12:57:34,802.802 INFO    ] Launching Daemon at Sat Aug 29 12:57:34 IST 2026
[2026-08-29 12:57:34,814.814 INFO    ] ================================================
[2026-08-29 12:57:35,144.144 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:57:35
[2026-08-29 12:57:35,588.588 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:57:35,859.859 INFO    ] Initializing speech engine...
[2026-08-29 12:57:35,869.869 INFO    ] 2026-08-29 12:57:35
[2026-08-29 12:57:36,120.120 INFO    ] 2026-08-29 12:57:36
[2026-08-29 12:57:36,155.155 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:57:36,332.332 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:57:36,344.344 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:57:36,457.457 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:57:36,467.467 INFO    ] time= 29/08/2026 12:57:36
[2026-08-29 12:57:36,496.496 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:57:36,503.503 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:57:36,573.573 INFO    ] No existing commands found in stream
[2026-08-29 12:57:41,585.585 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:57:41,646.646 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-08-29 12:57:42,654.654 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:57:42,655.655 INFO    ] Checking for system updates...
[2026-08-29 12:57:42,676.676 INFO    ] 200
[2026-08-29 12:57:42,677.677 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:57:42,709.709 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:57:42,710.710 INFO    ] No update needed
[2026-08-29 12:57:42,712.712 INFO    ] Checking for camera pi updates...
[2026-08-29 12:57:42,732.732 INFO    ] 200
[2026-08-29 12:57:42,734.734 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:57:42,758.758 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:57:42,843.843 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:57:42,844.844 INFO    ] No camera update needed
[2026-08-29 12:57:42,845.845 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:57:42,846.846 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:57:42,849.849 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:57:42,852.852 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:57:44,894.894 INFO    ] ================================================
[2026-08-29 12:57:44,909.909 INFO    ] Launching Daemon at Sat Aug 29 12:57:44 IST 2026
[2026-08-29 12:57:44,921.921 INFO    ] ================================================
[2026-08-29 12:57:45,276.276 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:57:45
[2026-08-29 12:57:46,081.081 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:57:46,333.333 INFO    ] Initializing speech engine...
[2026-08-29 12:57:46,356.356 INFO    ] 2026-08-29 12:57:46
[2026-08-29 12:57:46,612.612 INFO    ] 2026-08-29 12:57:46
[2026-08-29 12:57:46,654.654 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:57:46,822.822 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:57:46,833.833 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:57:46,946.946 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:57:46,964.964 INFO    ] time= 29/08/2026 12:57:46
[2026-08-29 12:57:46,985.985 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:57:46,992.992 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:57:47,061.061 INFO    ] No existing commands found in stream
[2026-08-29 12:57:52,074.074 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:57:52,077.077 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-08-29 12:57:54,016.016 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 12:57:54,017.017 INFO    ] Checking for system updates...
[2026-08-29 12:57:54,038.038 INFO    ] 200
[2026-08-29 12:57:54,039.039 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:57:54,070.070 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:57:54,072.072 INFO    ] No update needed
[2026-08-29 12:57:54,073.073 INFO    ] Checking for camera pi updates...
[2026-08-29 12:57:54,093.093 INFO    ] 200
[2026-08-29 12:57:54,095.095 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:57:54,118.118 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:57:54,292.292 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:57:54,294.294 INFO    ] No camera update needed
[2026-08-29 12:57:54,295.295 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:57:54,296.296 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:57:54,299.299 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:57:54,302.302 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:57:56,341.341 INFO    ] ================================================
[2026-08-29 12:57:56,356.356 INFO    ] Launching Daemon at Sat Aug 29 12:57:56 IST 2026
[2026-08-29 12:57:56,368.368 INFO    ] ================================================
[2026-08-29 12:57:56,842.842 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:57:56
[2026-08-29 12:57:57,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:57:57,715.715 INFO    ] Initializing speech engine...
[2026-08-29 12:57:57,724.724 INFO    ] 2026-08-29 12:57:57
[2026-08-29 12:57:57,973.973 INFO    ] 2026-08-29 12:57:57
[2026-08-29 12:57:58,041.041 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:57:58,260.260 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:57:58,270.270 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:57:58,401.401 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:57:58,418.418 INFO    ] time= 29/08/2026 12:57:58
[2026-08-29 12:57:58,482.482 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:57:58,534.534 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:57:58,594.594 INFO    ] No existing commands found in stream
[2026-08-29 12:58:03,607.607 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:58:03,608.608 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-08-29 12:58:07,953.953 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:58:07,955.955 INFO    ] Checking for system updates...
[2026-08-29 12:58:07,980.980 INFO    ] 200
[2026-08-29 12:58:07,981.981 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:58:08,011.011 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:58:08,013.013 INFO    ] No update needed
[2026-08-29 12:58:08,014.014 INFO    ] Checking for camera pi updates...
[2026-08-29 12:58:08,033.033 INFO    ] 200
[2026-08-29 12:58:08,034.034 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:58:08,058.058 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:58:08,152.152 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:58:08,153.153 INFO    ] No camera update needed
[2026-08-29 12:58:08,155.155 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:58:08,156.156 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:58:08,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:58:08,162.162 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:58:10,201.201 INFO    ] ================================================
[2026-08-29 12:58:10,217.217 INFO    ] Launching Daemon at Sat Aug 29 12:58:10 IST 2026
[2026-08-29 12:58:10,229.229 INFO    ] ================================================
[2026-08-29 12:58:10,594.594 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:58:10
[2026-08-29 12:58:10,911.911 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:58:11,051.051 INFO    ] Initializing speech engine...
[2026-08-29 12:58:11,061.061 INFO    ] 2026-08-29 12:58:11
[2026-08-29 12:58:11,264.264 INFO    ] 2026-08-29 12:58:11
[2026-08-29 12:58:11,295.295 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:58:11,416.416 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:58:11,469.469 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:58:11,609.609 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:58:11,665.665 INFO    ] time= 29/08/2026 12:58:11
[2026-08-29 12:58:11,699.699 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:58:11,710.710 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:58:11,780.780 INFO    ] No existing commands found in stream
[2026-08-29 12:58:16,790.790 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:58:16,793.793 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-08-29 12:58:18,237.237 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:58:18,239.239 INFO    ] Checking for system updates...
[2026-08-29 12:58:18,260.260 INFO    ] 200
[2026-08-29 12:58:18,261.261 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:58:18,293.293 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:58:18,295.295 INFO    ] No update needed
[2026-08-29 12:58:18,296.296 INFO    ] Checking for camera pi updates...
[2026-08-29 12:58:18,316.316 INFO    ] 200
[2026-08-29 12:58:18,317.317 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:58:18,341.341 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:58:18,456.456 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:58:18,458.458 INFO    ] No camera update needed
[2026-08-29 12:58:18,459.459 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:58:18,461.461 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:58:18,464.464 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:58:18,467.467 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:58:20,508.508 INFO    ] ================================================
[2026-08-29 12:58:20,525.525 INFO    ] Launching Daemon at Sat Aug 29 12:58:20 IST 2026
[2026-08-29 12:58:20,536.536 INFO    ] ================================================
[2026-08-29 12:58:21,032.032 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:58:21
[2026-08-29 12:58:21,630.630 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:58:21,908.908 INFO    ] Initializing speech engine...
[2026-08-29 12:58:21,915.915 INFO    ] 2026-08-29 12:58:21
[2026-08-29 12:58:22,169.169 INFO    ] 2026-08-29 12:58:22
[2026-08-29 12:58:22,227.227 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:58:22,395.395 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:58:22,451.451 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:58:22,593.593 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:58:22,653.653 INFO    ] time= 29/08/2026 12:58:22
[2026-08-29 12:58:22,708.708 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:58:22,724.724 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:58:22,808.808 INFO    ] No existing commands found in stream
[2026-08-29 12:58:27,844.844 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:58:27,847.847 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-08-29 12:58:30,158.158 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:58:30,160.160 INFO    ] Checking for system updates...
[2026-08-29 12:58:30,180.180 INFO    ] 200
[2026-08-29 12:58:30,181.181 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:58:30,212.212 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:58:30,213.213 INFO    ] No update needed
[2026-08-29 12:58:30,215.215 INFO    ] Checking for camera pi updates...
[2026-08-29 12:58:30,237.237 INFO    ] 200
[2026-08-29 12:58:30,239.239 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:58:30,267.267 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:58:30,346.346 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:58:30,347.347 INFO    ] No camera update needed
[2026-08-29 12:58:30,348.348 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:58:30,350.350 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:58:30,353.353 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:58:30,356.356 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:58:32,394.394 INFO    ] ================================================
[2026-08-29 12:58:32,410.410 INFO    ] Launching Daemon at Sat Aug 29 12:58:32 IST 2026
[2026-08-29 12:58:32,422.422 INFO    ] ================================================
[2026-08-29 12:58:33,074.074 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:58:33
[2026-08-29 12:58:33,743.743 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:58:34,032.032 INFO    ] Initializing speech engine...
[2026-08-29 12:58:34,042.042 INFO    ] 2026-08-29 12:58:34
[2026-08-29 12:58:34,292.292 INFO    ] 2026-08-29 12:58:34
[2026-08-29 12:58:34,359.359 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:58:34,526.526 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:58:34,559.559 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:58:34,730.730 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:58:34,736.736 INFO    ] time= 29/08/2026 12:58:34
[2026-08-29 12:58:34,790.790 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:58:34,838.838 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:58:34,921.921 INFO    ] No existing commands found in stream
[2026-08-29 12:58:39,953.953 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:58:39,956.956 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-08-29 12:58:43,986.986 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:58:43,987.987 INFO    ] Checking for system updates...
[2026-08-29 12:58:44,008.008 INFO    ] 200
[2026-08-29 12:58:44,009.009 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:58:44,039.039 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:58:44,040.040 INFO    ] No update needed
[2026-08-29 12:58:44,041.041 INFO    ] Checking for camera pi updates...
[2026-08-29 12:58:44,061.061 INFO    ] 200
[2026-08-29 12:58:44,062.062 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:58:44,085.085 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:58:44,198.198 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:58:44,199.199 INFO    ] No camera update needed
[2026-08-29 12:58:44,200.200 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:58:44,202.202 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:58:44,205.205 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:58:44,207.207 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:58:46,246.246 INFO    ] ================================================
[2026-08-29 12:58:46,262.262 INFO    ] Launching Daemon at Sat Aug 29 12:58:46 IST 2026
[2026-08-29 12:58:46,273.273 INFO    ] ================================================
[2026-08-29 12:58:46,645.645 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:58:46
[2026-08-29 12:58:46,958.958 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:58:47,105.105 INFO    ] Initializing speech engine...
[2026-08-29 12:58:47,110.110 INFO    ] 2026-08-29 12:58:47
[2026-08-29 12:58:47,322.322 INFO    ] 2026-08-29 12:58:47
[2026-08-29 12:58:47,407.407 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:58:47,554.554 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:58:47,562.562 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:58:47,696.696 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:58:47,718.718 INFO    ] time= 29/08/2026 12:58:47
[2026-08-29 12:58:47,791.791 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:58:47,836.836 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:58:47,889.889 INFO    ] No existing commands found in stream
[2026-08-29 12:58:52,901.901 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:58:52,904.904 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-08-29 12:58:56,651.651 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:58:56,653.653 INFO    ] Checking for system updates...
[2026-08-29 12:58:56,674.674 INFO    ] 200
[2026-08-29 12:58:56,675.675 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:58:56,710.710 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:58:56,712.712 INFO    ] No update needed
[2026-08-29 12:58:56,715.715 INFO    ] Checking for camera pi updates...
[2026-08-29 12:58:56,752.752 INFO    ] 200
[2026-08-29 12:58:56,754.754 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:58:56,795.795 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:58:56,893.893 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:58:56,895.895 INFO    ] No camera update needed
[2026-08-29 12:58:56,898.898 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:58:56,900.900 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:58:56,905.905 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:58:56,910.910 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:58:58,953.953 INFO    ] ================================================
[2026-08-29 12:58:58,969.969 INFO    ] Launching Daemon at Sat Aug 29 12:58:58 IST 2026
[2026-08-29 12:58:58,980.980 INFO    ] ================================================
[2026-08-29 12:58:59,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:58:59
[2026-08-29 12:59:00,003.003 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:59:00,135.135 INFO    ] Initializing speech engine...
[2026-08-29 12:59:00,139.139 INFO    ] 2026-08-29 12:59:00
[2026-08-29 12:59:00,355.355 INFO    ] 2026-08-29 12:59:00
[2026-08-29 12:59:00,392.392 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:59:00,648.648 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:59:00,657.657 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:59:00,789.789 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:59:00,836.836 INFO    ] time= 29/08/2026 12:59:00
[2026-08-29 12:59:00,885.885 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:59:00,923.923 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:59:01,020.020 INFO    ] No existing commands found in stream
[2026-08-29 12:59:06,050.050 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:59:06,053.053 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-08-29 12:59:07,147.147 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 12:59:07,150.150 INFO    ] Checking for system updates...
[2026-08-29 12:59:07,187.187 INFO    ] 200
[2026-08-29 12:59:07,190.190 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:59:07,246.246 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:59:07,249.249 INFO    ] No update needed
[2026-08-29 12:59:07,251.251 INFO    ] Checking for camera pi updates...
[2026-08-29 12:59:07,285.285 INFO    ] 200
[2026-08-29 12:59:07,287.287 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:59:07,332.332 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:59:07,437.437 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:59:07,440.440 INFO    ] No camera update needed
[2026-08-29 12:59:07,442.442 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:59:07,444.444 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:59:07,449.449 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:59:07,454.454 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:59:09,496.496 INFO    ] ================================================
[2026-08-29 12:59:09,511.511 INFO    ] Launching Daemon at Sat Aug 29 12:59:09 IST 2026
[2026-08-29 12:59:09,523.523 INFO    ] ================================================
[2026-08-29 12:59:10,079.079 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:59:10
[2026-08-29 12:59:10,422.422 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:59:10,621.621 INFO    ] Initializing speech engine...
[2026-08-29 12:59:10,627.627 INFO    ] 2026-08-29 12:59:10
[2026-08-29 12:59:10,922.922 INFO    ] 2026-08-29 12:59:10
[2026-08-29 12:59:11,006.006 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:59:11,157.157 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:59:11,166.166 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:59:11,301.301 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:59:11,345.345 INFO    ] time= 29/08/2026 12:59:11
[2026-08-29 12:59:11,399.399 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:59:11,432.432 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:59:11,491.491 INFO    ] No existing commands found in stream
[2026-08-29 12:59:16,503.503 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:59:16,506.506 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-08-29 12:59:19,197.197 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:59:19,198.198 INFO    ] Checking for system updates...
[2026-08-29 12:59:19,218.218 INFO    ] 200
[2026-08-29 12:59:19,220.220 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:59:19,252.252 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:59:19,254.254 INFO    ] No update needed
[2026-08-29 12:59:19,255.255 INFO    ] Checking for camera pi updates...
[2026-08-29 12:59:19,274.274 INFO    ] 200
[2026-08-29 12:59:19,276.276 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:59:19,299.299 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:59:19,382.382 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:59:19,383.383 INFO    ] No camera update needed
[2026-08-29 12:59:19,384.384 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:59:19,386.386 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:59:19,389.389 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:59:19,391.391 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:59:21,432.432 INFO    ] ================================================
[2026-08-29 12:59:21,447.447 INFO    ] Launching Daemon at Sat Aug 29 12:59:21 IST 2026
[2026-08-29 12:59:21,459.459 INFO    ] ================================================
[2026-08-29 12:59:21,800.800 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:59:21
[2026-08-29 12:59:22,116.116 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:59:22,260.260 INFO    ] Initializing speech engine...
[2026-08-29 12:59:22,266.266 INFO    ] 2026-08-29 12:59:22
[2026-08-29 12:59:22,470.470 INFO    ] 2026-08-29 12:59:22
[2026-08-29 12:59:22,498.498 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:59:22,621.621 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:59:22,685.685 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:59:22,816.816 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:59:22,872.872 INFO    ] time= 29/08/2026 12:59:22
[2026-08-29 12:59:22,906.906 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:59:22,917.917 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:59:22,988.988 INFO    ] No existing commands found in stream
[2026-08-29 12:59:27,998.998 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:59:28,000.000 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 12:59:31,057.057 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 12:59:31,058.058 INFO    ] Checking for system updates...
[2026-08-29 12:59:31,080.080 INFO    ] 200
[2026-08-29 12:59:31,081.081 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:59:31,114.114 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:59:31,115.115 INFO    ] No update needed
[2026-08-29 12:59:31,116.116 INFO    ] Checking for camera pi updates...
[2026-08-29 12:59:31,135.135 INFO    ] 200
[2026-08-29 12:59:31,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:59:31,160.160 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:59:31,250.250 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:59:31,252.252 INFO    ] No camera update needed
[2026-08-29 12:59:31,255.255 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:59:31,257.257 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:59:31,262.262 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:59:31,267.267 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:59:33,312.312 INFO    ] ================================================
[2026-08-29 12:59:33,329.329 INFO    ] Launching Daemon at Sat Aug 29 12:59:33 IST 2026
[2026-08-29 12:59:33,345.345 INFO    ] ================================================
[2026-08-29 12:59:33,936.936 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:59:33
[2026-08-29 12:59:34,438.438 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:59:34,572.572 INFO    ] Initializing speech engine...
[2026-08-29 12:59:34,584.584 INFO    ] 2026-08-29 12:59:34
[2026-08-29 12:59:34,791.791 INFO    ] 2026-08-29 12:59:34
[2026-08-29 12:59:34,819.819 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:59:34,941.941 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:59:35,003.003 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:59:35,133.133 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:59:35,184.184 INFO    ] time= 29/08/2026 12:59:35
[2026-08-29 12:59:35,222.222 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:59:35,237.237 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:59:35,303.303 INFO    ] No existing commands found in stream
[2026-08-29 12:59:40,314.314 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:59:40,316.316 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-08-29 12:59:40,722.722 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 12:59:40,723.723 INFO    ] Checking for system updates...
[2026-08-29 12:59:40,744.744 INFO    ] 200
[2026-08-29 12:59:40,745.745 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:59:40,775.775 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:59:40,777.777 INFO    ] No update needed
[2026-08-29 12:59:40,778.778 INFO    ] Checking for camera pi updates...
[2026-08-29 12:59:40,797.797 INFO    ] 200
[2026-08-29 12:59:40,799.799 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:59:40,823.823 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:59:40,913.913 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 12:59:40,914.914 INFO    ] No camera update needed
[2026-08-29 12:59:40,916.916 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:59:40,917.917 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:59:40,920.920 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:59:40,923.923 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:59:42,961.961 INFO    ] ================================================
[2026-08-29 12:59:42,984.984 INFO    ] Launching Daemon at Sat Aug 29 12:59:42 IST 2026
[2026-08-29 12:59:43,995.995 INFO    ] ================================================
[2026-08-29 12:59:43,342.342 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:59:43
[2026-08-29 12:59:43,681.681 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:59:43,828.828 INFO    ] Initializing speech engine...
[2026-08-29 12:59:43,838.838 INFO    ] 2026-08-29 12:59:43
[2026-08-29 12:59:44,050.050 INFO    ] 2026-08-29 12:59:44
[2026-08-29 12:59:44,079.079 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:59:44,233.233 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:59:44,241.241 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:59:44,440.440 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:59:44,459.459 INFO    ] time= 29/08/2026 12:59:44
[2026-08-29 12:59:44,488.488 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:59:44,498.498 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:59:44,602.602 INFO    ] No existing commands found in stream
[2026-08-29 12:59:49,615.615 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 12:59:49,618.618 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-08-29 12:59:53,555.555 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 12:59:53,557.557 INFO    ] Checking for system updates...
[2026-08-29 12:59:53,577.577 INFO    ] 200
[2026-08-29 12:59:53,579.579 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:59:53,611.611 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:59:53,612.612 INFO    ] No update needed
[2026-08-29 12:59:53,614.614 INFO    ] Checking for camera pi updates...
[2026-08-29 12:59:53,635.635 INFO    ] 200
[2026-08-29 12:59:53,636.636 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 12:59:53,661.661 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 12:59:53,743.743 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 12:59:53,744.744 INFO    ] No camera update needed
[2026-08-29 12:59:53,745.745 INFO    ] Script finished. Safe exiting...
[2026-08-29 12:59:53,747.747 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 12:59:53,749.749 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 12:59:53,752.752 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 12:59:55,791.791 INFO    ] ================================================
[2026-08-29 12:59:55,806.806 INFO    ] Launching Daemon at Sat Aug 29 12:59:55 IST 2026
[2026-08-29 12:59:55,817.817 INFO    ] ================================================
[2026-08-29 12:59:56,177.177 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 12:59:56
[2026-08-29 12:59:56,494.494 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 12:59:56,639.639 INFO    ] Initializing speech engine...
[2026-08-29 12:59:56,644.644 INFO    ] 2026-08-29 12:59:56
[2026-08-29 12:59:56,850.850 INFO    ] 2026-08-29 12:59:56
[2026-08-29 12:59:56,905.905 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 12:59:57,068.068 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 12:59:57,075.075 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 12:59:57,203.203 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 12:59:57,208.208 INFO    ] time= 29/08/2026 12:59:57
[2026-08-29 12:59:57,214.214 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 12:59:57,255.255 INFO    ] Checking for existing commands in stream...
[2026-08-29 12:59:57,377.377 INFO    ] No existing commands found in stream
[2026-08-29 13:00:02,405.405 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:00:02,410.410 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-08-29 13:00:06,618.618 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:00:06,620.620 INFO    ] Checking for system updates...
[2026-08-29 13:00:06,657.657 INFO    ] 200
[2026-08-29 13:00:06,660.660 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:00:06,719.719 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:00:06,722.722 INFO    ] No update needed
[2026-08-29 13:00:06,724.724 INFO    ] Checking for camera pi updates...
[2026-08-29 13:00:06,758.758 INFO    ] 200
[2026-08-29 13:00:06,760.760 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:00:06,800.800 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:00:06,920.920 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:00:06,922.922 INFO    ] No camera update needed
[2026-08-29 13:00:06,925.925 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:00:06,927.927 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:00:06,932.932 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:00:06,937.937 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:00:08,978.978 INFO    ] ================================================
[2026-08-29 13:00:08,994.994 INFO    ] Launching Daemon at Sat Aug 29 13:00:08 IST 2026
[2026-08-29 13:00:09,005.005 INFO    ] ================================================
[2026-08-29 13:00:09,345.345 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:00:09
[2026-08-29 13:00:09,906.906 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:00:10,156.156 INFO    ] Initializing speech engine...
[2026-08-29 13:00:10,163.163 INFO    ] 2026-08-29 13:00:10
[2026-08-29 13:00:10,456.456 INFO    ] 2026-08-29 13:00:10
[2026-08-29 13:00:10,491.491 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:00:10,678.678 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:00:10,757.757 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:00:10,905.905 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:00:10,958.958 INFO    ] time= 29/08/2026 13:00:10
[2026-08-29 13:00:11,012.012 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:00:11,043.043 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:00:11,159.159 INFO    ] No existing commands found in stream
[2026-08-29 13:00:16,195.195 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:00:16,198.198 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-08-29 13:00:17,543.543 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:00:17,544.544 INFO    ] Checking for system updates...
[2026-08-29 13:00:17,565.565 INFO    ] 200
[2026-08-29 13:00:17,566.566 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:00:17,597.597 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:00:17,598.598 INFO    ] No update needed
[2026-08-29 13:00:17,599.599 INFO    ] Checking for camera pi updates...
[2026-08-29 13:00:17,619.619 INFO    ] 200
[2026-08-29 13:00:17,620.620 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:00:17,645.645 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:00:17,756.756 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:00:17,758.758 INFO    ] No camera update needed
[2026-08-29 13:00:17,759.759 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:00:17,760.760 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:00:17,763.763 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:00:17,766.766 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:00:19,807.807 INFO    ] ================================================
[2026-08-29 13:00:19,823.823 INFO    ] Launching Daemon at Sat Aug 29 13:00:19 IST 2026
[2026-08-29 13:00:19,834.834 INFO    ] ================================================
[2026-08-29 13:00:20,161.161 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:00:20
[2026-08-29 13:00:20,479.479 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:00:20,623.623 INFO    ] Initializing speech engine...
[2026-08-29 13:00:20,628.628 INFO    ] 2026-08-29 13:00:20
[2026-08-29 13:00:20,849.849 INFO    ] 2026-08-29 13:00:20
[2026-08-29 13:00:20,904.904 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:00:21,065.065 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:00:21,072.072 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:00:21,230.230 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:00:21,271.271 INFO    ] time= 29/08/2026 13:00:21
[2026-08-29 13:00:21,278.278 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:00:21,296.296 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:00:21,406.406 INFO    ] No existing commands found in stream
[2026-08-29 13:00:26,433.433 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:00:26,434.434 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-08-29 13:00:32,486.486 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:00:32,488.488 INFO    ] Checking for system updates...
[2026-08-29 13:00:32,522.522 INFO    ] 200
[2026-08-29 13:00:32,525.525 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:00:32,591.591 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:00:32,594.594 INFO    ] No update needed
[2026-08-29 13:00:32,596.596 INFO    ] Checking for camera pi updates...
[2026-08-29 13:00:32,638.638 INFO    ] 200
[2026-08-29 13:00:32,640.640 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:00:32,686.686 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:00:32,798.798 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:00:32,802.802 INFO    ] No camera update needed
[2026-08-29 13:00:32,805.805 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:00:32,808.808 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:00:32,815.815 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:00:32,821.821 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:00:34,867.867 INFO    ] ================================================
[2026-08-29 13:00:34,883.883 INFO    ] Launching Daemon at Sat Aug 29 13:00:34 IST 2026
[2026-08-29 13:00:34,894.894 INFO    ] ================================================
[2026-08-29 13:00:35,486.486 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:00:35
[2026-08-29 13:00:36,012.012 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:00:36,283.283 INFO    ] Initializing speech engine...
[2026-08-29 13:00:36,294.294 INFO    ] 2026-08-29 13:00:36
[2026-08-29 13:00:36,546.546 INFO    ] 2026-08-29 13:00:36
[2026-08-29 13:00:36,582.582 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:00:36,757.757 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:00:36,772.772 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:00:36,923.923 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:00:36,931.931 INFO    ] time= 29/08/2026 13:00:36
[2026-08-29 13:00:36,935.935 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:00:36,941.941 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:00:37,009.009 INFO    ] No existing commands found in stream
[2026-08-29 13:00:42,022.022 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:00:42,025.025 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-08-29 13:00:45,494.494 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:00:45,495.495 INFO    ] Checking for system updates...
[2026-08-29 13:00:45,517.517 INFO    ] 200
[2026-08-29 13:00:45,518.518 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:00:45,548.548 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:00:45,549.549 INFO    ] No update needed
[2026-08-29 13:00:45,550.550 INFO    ] Checking for camera pi updates...
[2026-08-29 13:00:45,569.569 INFO    ] 200
[2026-08-29 13:00:45,571.571 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:00:45,594.594 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:00:45,644.644 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:00:45,647.647 INFO    ] No camera update needed
[2026-08-29 13:00:45,649.649 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:00:45,651.651 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:00:45,656.656 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:00:45,665.665 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:00:47,707.707 INFO    ] ================================================
[2026-08-29 13:00:47,722.722 INFO    ] Launching Daemon at Sat Aug 29 13:00:47 IST 2026
[2026-08-29 13:00:47,734.734 INFO    ] ================================================
[2026-08-29 13:00:48,390.390 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:00:48
[2026-08-29 13:00:48,907.907 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:00:49,053.053 INFO    ] Initializing speech engine...
[2026-08-29 13:00:49,063.063 INFO    ] 2026-08-29 13:00:49
[2026-08-29 13:00:49,290.290 INFO    ] 2026-08-29 13:00:49
[2026-08-29 13:00:49,345.345 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:00:49,511.511 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:00:49,521.521 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:00:49,691.691 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:00:49,730.730 INFO    ] time= 29/08/2026 13:00:49
[2026-08-29 13:00:49,747.747 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:00:49,750.750 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:00:49,855.855 INFO    ] No existing commands found in stream
[2026-08-29 13:00:54,886.886 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:00:54,889.889 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-08-29 13:00:55,521.521 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:00:55,523.523 INFO    ] Checking for system updates...
[2026-08-29 13:00:55,543.543 INFO    ] 200
[2026-08-29 13:00:55,545.545 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:00:55,577.577 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:00:55,578.578 INFO    ] No update needed
[2026-08-29 13:00:55,579.579 INFO    ] Checking for camera pi updates...
[2026-08-29 13:00:55,599.599 INFO    ] 200
[2026-08-29 13:00:55,601.601 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:00:55,623.623 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:00:55,708.708 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:00:55,710.710 INFO    ] No camera update needed
[2026-08-29 13:00:55,711.711 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:00:55,712.712 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:00:55,715.715 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:00:55,718.718 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:00:57,756.756 INFO    ] ================================================
[2026-08-29 13:00:57,772.772 INFO    ] Launching Daemon at Sat Aug 29 13:00:57 IST 2026
[2026-08-29 13:00:57,784.784 INFO    ] ================================================
[2026-08-29 13:00:58,318.318 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:00:58
[2026-08-29 13:00:58,919.919 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:00:59,198.198 INFO    ] Initializing speech engine...
[2026-08-29 13:00:59,204.204 INFO    ] 2026-08-29 13:00:59
[2026-08-29 13:00:59,465.465 INFO    ] 2026-08-29 13:00:59
[2026-08-29 13:00:59,520.520 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:00:59,743.743 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:00:59,752.752 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:00:59,887.887 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:00:59,952.952 INFO    ] time= 29/08/2026 13:00:59
[2026-08-29 13:01:00,001.001 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:01:00,020.020 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:01:00,075.075 INFO    ] No existing commands found in stream
[2026-08-29 13:01:05,087.087 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:01:05,090.090 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-08-29 13:01:07,538.538 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:01:07,540.540 INFO    ] Checking for system updates...
[2026-08-29 13:01:07,561.561 INFO    ] 200
[2026-08-29 13:01:07,563.563 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:01:07,594.594 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:01:07,596.596 INFO    ] No update needed
[2026-08-29 13:01:07,597.597 INFO    ] Checking for camera pi updates...
[2026-08-29 13:01:07,616.616 INFO    ] 200
[2026-08-29 13:01:07,618.618 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:01:07,643.643 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:01:07,745.745 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:01:07,746.746 INFO    ] No camera update needed
[2026-08-29 13:01:07,748.748 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:01:07,749.749 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:01:07,752.752 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:01:07,755.755 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:01:09,792.792 INFO    ] ================================================
[2026-08-29 13:01:09,808.808 INFO    ] Launching Daemon at Sat Aug 29 13:01:09 IST 2026
[2026-08-29 13:01:09,820.820 INFO    ] ================================================
[2026-08-29 13:01:10,404.404 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:01:10
[2026-08-29 13:01:11,063.063 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:01:11,348.348 INFO    ] Initializing speech engine...
[2026-08-29 13:01:11,356.356 INFO    ] 2026-08-29 13:01:11
[2026-08-29 13:01:11,614.614 INFO    ] 2026-08-29 13:01:11
[2026-08-29 13:01:11,644.644 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:01:11,826.826 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:01:11,842.842 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:01:11,966.966 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:01:11,971.971 INFO    ] time= 29/08/2026 13:01:11
[2026-08-29 13:01:11,992.992 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:01:12,013.013 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:01:12,095.095 INFO    ] No existing commands found in stream
[2026-08-29 13:01:17,107.107 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:01:17,110.110 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 13:01:19,022.022 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:01:19,023.023 INFO    ] Checking for system updates...
[2026-08-29 13:01:19,043.043 INFO    ] 200
[2026-08-29 13:01:19,045.045 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:01:19,075.075 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:01:19,076.076 INFO    ] No update needed
[2026-08-29 13:01:19,077.077 INFO    ] Checking for camera pi updates...
[2026-08-29 13:01:19,096.096 INFO    ] 200
[2026-08-29 13:01:19,098.098 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:01:19,123.123 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:01:19,225.225 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:01:19,228.228 INFO    ] No camera update needed
[2026-08-29 13:01:19,230.230 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:01:19,233.233 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:01:19,238.238 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:01:19,243.243 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:01:21,284.284 INFO    ] ================================================
[2026-08-29 13:01:21,300.300 INFO    ] Launching Daemon at Sat Aug 29 13:01:21 IST 2026
[2026-08-29 13:01:21,312.312 INFO    ] ================================================
[2026-08-29 13:01:21,956.956 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:01:21
[2026-08-29 13:01:22,432.432 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:01:22,570.570 INFO    ] Initializing speech engine...
[2026-08-29 13:01:22,578.578 INFO    ] 2026-08-29 13:01:22
[2026-08-29 13:01:22,794.794 INFO    ] 2026-08-29 13:01:22
[2026-08-29 13:01:22,823.823 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:01:22,945.945 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:01:23,009.009 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:01:23,140.140 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:01:23,196.196 INFO    ] time= 29/08/2026 13:01:23
[2026-08-29 13:01:23,236.236 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:01:23,246.246 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:01:23,313.313 INFO    ] No existing commands found in stream
[2026-08-29 13:01:28,328.328 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:01:28,331.331 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-08-29 13:01:30,510.510 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:01:30,512.512 INFO    ] Checking for system updates...
[2026-08-29 13:01:30,533.533 INFO    ] 200
[2026-08-29 13:01:30,535.535 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:01:30,567.567 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:01:30,569.569 INFO    ] No update needed
[2026-08-29 13:01:30,571.571 INFO    ] Checking for camera pi updates...
[2026-08-29 13:01:30,592.592 INFO    ] 200
[2026-08-29 13:01:30,594.594 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:01:30,628.628 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:01:30,684.684 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:01:30,686.686 INFO    ] No camera update needed
[2026-08-29 13:01:30,689.689 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:01:30,691.691 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:01:30,698.698 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:01:30,703.703 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:01:32,752.752 INFO    ] ================================================
[2026-08-29 13:01:32,768.768 INFO    ] Launching Daemon at Sat Aug 29 13:01:32 IST 2026
[2026-08-29 13:01:32,780.780 INFO    ] ================================================
[2026-08-29 13:01:33,347.347 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:01:33
[2026-08-29 13:01:33,840.840 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:01:33,976.976 INFO    ] Initializing speech engine...
[2026-08-29 13:01:33,983.983 INFO    ] 2026-08-29 13:01:33
[2026-08-29 13:01:34,191.191 INFO    ] 2026-08-29 13:01:34
[2026-08-29 13:01:34,251.251 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:01:34,400.400 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:01:34,405.405 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:01:34,535.535 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:01:34,582.582 INFO    ] time= 29/08/2026 13:01:34
[2026-08-29 13:01:34,636.636 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:01:34,670.670 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:01:34,725.725 INFO    ] No existing commands found in stream
[2026-08-29 13:01:39,737.737 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:01:39,740.740 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-08-29 13:01:42,989.989 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:01:42,990.990 INFO    ] Checking for system updates...
[2026-08-29 13:01:43,012.012 INFO    ] 200
[2026-08-29 13:01:43,013.013 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:01:43,045.045 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:01:43,046.046 INFO    ] No update needed
[2026-08-29 13:01:43,047.047 INFO    ] Checking for camera pi updates...
[2026-08-29 13:01:43,067.067 INFO    ] 200
[2026-08-29 13:01:43,069.069 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:01:43,091.091 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:01:43,190.190 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:01:43,191.191 INFO    ] No camera update needed
[2026-08-29 13:01:43,193.193 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:01:43,194.194 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:01:43,197.197 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:01:43,200.200 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:01:45,238.238 INFO    ] ================================================
[2026-08-29 13:01:45,253.253 INFO    ] Launching Daemon at Sat Aug 29 13:01:45 IST 2026
[2026-08-29 13:01:45,264.264 INFO    ] ================================================
[2026-08-29 13:01:45,629.629 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:01:45
[2026-08-29 13:01:45,965.965 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:01:46,116.116 INFO    ] Initializing speech engine...
[2026-08-29 13:01:46,122.122 INFO    ] 2026-08-29 13:01:46
[2026-08-29 13:01:46,387.387 INFO    ] 2026-08-29 13:01:46
[2026-08-29 13:01:46,430.430 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:01:46,649.649 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:01:46,658.658 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:01:46,790.790 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:01:46,806.806 INFO    ] time= 29/08/2026 13:01:46
[2026-08-29 13:01:46,860.860 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:01:46,915.915 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:01:46,974.974 INFO    ] No existing commands found in stream
[2026-08-29 13:01:51,986.986 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:01:51,989.989 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-08-29 13:01:53,694.694 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:01:53,695.695 INFO    ] Checking for system updates...
[2026-08-29 13:01:53,716.716 INFO    ] 200
[2026-08-29 13:01:53,718.718 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:01:53,747.747 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:01:53,748.748 INFO    ] No update needed
[2026-08-29 13:01:53,750.750 INFO    ] Checking for camera pi updates...
[2026-08-29 13:01:53,769.769 INFO    ] 200
[2026-08-29 13:01:53,770.770 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:01:53,795.795 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:01:53,897.897 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:01:53,899.899 INFO    ] No camera update needed
[2026-08-29 13:01:53,901.901 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:01:53,904.904 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:01:53,909.909 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:01:53,914.914 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:01:55,956.956 INFO    ] ================================================
[2026-08-29 13:01:55,971.971 INFO    ] Launching Daemon at Sat Aug 29 13:01:55 IST 2026
[2026-08-29 13:01:55,982.982 INFO    ] ================================================
[2026-08-29 13:01:56,551.551 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:01:56
[2026-08-29 13:01:57,134.134 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:01:57,403.403 INFO    ] Initializing speech engine...
[2026-08-29 13:01:57,411.411 INFO    ] 2026-08-29 13:01:57
[2026-08-29 13:01:57,659.659 INFO    ] 2026-08-29 13:01:57
[2026-08-29 13:01:57,694.694 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:01:58,005.005 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:01:58,013.013 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:01:58,174.174 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:01:58,212.212 INFO    ] time= 29/08/2026 13:01:58
[2026-08-29 13:01:58,218.218 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:01:58,236.236 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:01:58,342.342 INFO    ] No existing commands found in stream
[2026-08-29 13:02:03,372.372 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:02:03,375.375 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-08-29 13:02:04,057.057 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:02:04,060.060 INFO    ] Checking for system updates...
[2026-08-29 13:02:04,098.098 INFO    ] 200
[2026-08-29 13:02:04,100.100 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:02:04,154.154 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:02:04,157.157 INFO    ] No update needed
[2026-08-29 13:02:04,159.159 INFO    ] Checking for camera pi updates...
[2026-08-29 13:02:04,193.193 INFO    ] 200
[2026-08-29 13:02:04,195.195 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:02:04,236.236 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:02:04,324.324 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:02:04,326.326 INFO    ] No camera update needed
[2026-08-29 13:02:04,329.329 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:02:04,331.331 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:02:04,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:02:04,342.342 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:02:06,384.384 INFO    ] ================================================
[2026-08-29 13:02:06,399.399 INFO    ] Launching Daemon at Sat Aug 29 13:02:06 IST 2026
[2026-08-29 13:02:06,410.410 INFO    ] ================================================
[2026-08-29 13:02:06,803.803 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:02:06
[2026-08-29 13:02:07,146.146 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:02:07,288.288 INFO    ] Initializing speech engine...
[2026-08-29 13:02:07,303.303 INFO    ] 2026-08-29 13:02:07
[2026-08-29 13:02:07,525.525 INFO    ] 2026-08-29 13:02:07
[2026-08-29 13:02:07,607.607 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:02:07,763.763 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:02:07,769.769 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:02:07,904.904 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:02:07,969.969 INFO    ] time= 29/08/2026 13:02:07
[2026-08-29 13:02:08,029.029 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:02:08,039.039 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:02:08,171.171 INFO    ] No existing commands found in stream
[2026-08-29 13:02:13,198.198 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:02:13,201.201 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-08-29 13:02:17,243.243 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:02:17,245.245 INFO    ] Checking for system updates...
[2026-08-29 13:02:17,267.267 INFO    ] 200
[2026-08-29 13:02:17,269.269 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:02:17,304.304 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:02:17,306.306 INFO    ] No update needed
[2026-08-29 13:02:17,307.307 INFO    ] Checking for camera pi updates...
[2026-08-29 13:02:17,327.327 INFO    ] 200
[2026-08-29 13:02:17,328.328 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:02:17,352.352 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:02:17,547.547 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:02:17,549.549 INFO    ] No camera update needed
[2026-08-29 13:02:17,550.550 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:02:17,551.551 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:02:17,555.555 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:02:17,558.558 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:02:19,593.593 INFO    ] ================================================
[2026-08-29 13:02:19,601.601 INFO    ] Launching Daemon at Sat Aug 29 13:02:19 IST 2026
[2026-08-29 13:02:19,607.607 INFO    ] ================================================
[2026-08-29 13:02:20,159.159 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:02:20
[2026-08-29 13:02:20,745.745 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:02:21,032.032 INFO    ] Initializing speech engine...
[2026-08-29 13:02:21,043.043 INFO    ] 2026-08-29 13:02:21
[2026-08-29 13:02:21,297.297 INFO    ] 2026-08-29 13:02:21
[2026-08-29 13:02:21,349.349 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:02:21,512.512 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:02:21,536.536 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:02:21,652.652 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:02:21,659.659 INFO    ] time= 29/08/2026 13:02:21
[2026-08-29 13:02:21,718.718 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:02:21,733.733 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:02:21,854.854 INFO    ] No existing commands found in stream
[2026-08-29 13:02:26,865.865 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:02:26,868.868 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 13:02:28,363.363 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:02:28,364.364 INFO    ] Checking for system updates...
[2026-08-29 13:02:28,385.385 INFO    ] 200
[2026-08-29 13:02:28,386.386 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:02:28,419.419 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:02:28,420.420 INFO    ] No update needed
[2026-08-29 13:02:28,421.421 INFO    ] Checking for camera pi updates...
[2026-08-29 13:02:28,441.441 INFO    ] 200
[2026-08-29 13:02:28,442.442 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:02:28,465.465 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:02:28,547.547 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:02:28,550.550 INFO    ] No camera update needed
[2026-08-29 13:02:28,552.552 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:02:28,555.555 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:02:28,560.560 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:02:28,565.565 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:02:30,605.605 INFO    ] ================================================
[2026-08-29 13:02:30,620.620 INFO    ] Launching Daemon at Sat Aug 29 13:02:30 IST 2026
[2026-08-29 13:02:30,631.631 INFO    ] ================================================
[2026-08-29 13:02:31,212.212 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:02:31
[2026-08-29 13:02:31,803.803 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:02:32,153.153 INFO    ] Initializing speech engine...
[2026-08-29 13:02:32,161.161 INFO    ] 2026-08-29 13:02:32
[2026-08-29 13:02:32,450.450 INFO    ] 2026-08-29 13:02:32
[2026-08-29 13:02:32,492.492 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:02:32,699.699 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:02:32,729.729 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:02:32,871.871 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:02:32,878.878 INFO    ] time= 29/08/2026 13:02:32
[2026-08-29 13:02:32,886.886 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:02:32,938.938 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:02:33,059.059 INFO    ] No existing commands found in stream
[2026-08-29 13:02:38,095.095 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:02:38,098.098 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-08-29 13:02:39,829.829 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:02:39,830.830 INFO    ] Checking for system updates...
[2026-08-29 13:02:39,850.850 INFO    ] 200
[2026-08-29 13:02:39,852.852 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:02:39,882.882 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:02:39,883.883 INFO    ] No update needed
[2026-08-29 13:02:39,884.884 INFO    ] Checking for camera pi updates...
[2026-08-29 13:02:39,905.905 INFO    ] 200
[2026-08-29 13:02:39,906.906 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:02:39,931.931 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:02:40,028.028 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:02:40,031.031 INFO    ] No camera update needed
[2026-08-29 13:02:40,033.033 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:02:40,036.036 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:02:40,041.041 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:02:40,046.046 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:02:42,085.085 INFO    ] ================================================
[2026-08-29 13:02:42,100.100 INFO    ] Launching Daemon at Sat Aug 29 13:02:42 IST 2026
[2026-08-29 13:02:42,111.111 INFO    ] ================================================
[2026-08-29 13:02:42,680.680 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:02:42
[2026-08-29 13:02:43,155.155 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:02:43,285.285 INFO    ] Initializing speech engine...
[2026-08-29 13:02:43,289.289 INFO    ] 2026-08-29 13:02:43
[2026-08-29 13:02:43,503.503 INFO    ] 2026-08-29 13:02:43
[2026-08-29 13:02:43,590.590 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:02:43,759.759 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:02:43,768.768 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:02:43,923.923 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:02:43,945.945 INFO    ] time= 29/08/2026 13:02:43
[2026-08-29 13:02:44,000.000 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:02:44,049.049 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:02:44,132.132 INFO    ] No existing commands found in stream
[2026-08-29 13:02:49,144.144 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:02:49,147.147 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-08-29 13:02:51,576.576 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:02:51,578.578 INFO    ] Checking for system updates...
[2026-08-29 13:02:51,601.601 INFO    ] 200
[2026-08-29 13:02:51,604.604 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:02:51,684.684 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:02:51,687.687 INFO    ] No update needed
[2026-08-29 13:02:51,690.690 INFO    ] Checking for camera pi updates...
[2026-08-29 13:02:51,729.729 INFO    ] 200
[2026-08-29 13:02:51,731.731 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:02:51,785.785 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:02:51,837.837 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:02:51,840.840 INFO    ] No camera update needed
[2026-08-29 13:02:51,843.843 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:02:51,845.845 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:02:51,859.859 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:02:51,864.864 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:02:53,906.906 INFO    ] ================================================
[2026-08-29 13:02:53,921.921 INFO    ] Launching Daemon at Sat Aug 29 13:02:53 IST 2026
[2026-08-29 13:02:53,932.932 INFO    ] ================================================
[2026-08-29 13:02:54,501.501 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:02:54
[2026-08-29 13:02:55,037.037 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:02:55,321.321 INFO    ] Initializing speech engine...
[2026-08-29 13:02:55,336.336 INFO    ] 2026-08-29 13:02:55
[2026-08-29 13:02:55,603.603 INFO    ] 2026-08-29 13:02:55
[2026-08-29 13:02:55,640.640 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:02:55,830.830 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:02:55,837.837 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:02:55,979.979 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:02:55,986.986 INFO    ] time= 29/08/2026 13:02:55
[2026-08-29 13:02:56,008.008 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:02:56,029.029 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:02:56,119.119 INFO    ] No existing commands found in stream
[2026-08-29 13:03:01,131.131 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:03:01,134.134 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-08-29 13:03:02,866.866 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:03:02,869.869 INFO    ] Checking for system updates...
[2026-08-29 13:03:02,904.904 INFO    ] 200
[2026-08-29 13:03:02,907.907 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:03:02,959.959 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:03:02,961.961 INFO    ] No update needed
[2026-08-29 13:03:02,964.964 INFO    ] Checking for camera pi updates...
[2026-08-29 13:03:03,002.002 INFO    ] 200
[2026-08-29 13:03:03,004.004 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:03:03,050.050 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:03:03,136.136 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:03:03,139.139 INFO    ] No camera update needed
[2026-08-29 13:03:03,141.141 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:03:03,143.143 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:03:03,149.149 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:03:03,154.154 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:03:05,198.198 INFO    ] ================================================
[2026-08-29 13:03:05,214.214 INFO    ] Launching Daemon at Sat Aug 29 13:03:05 IST 2026
[2026-08-29 13:03:05,225.225 INFO    ] ================================================
[2026-08-29 13:03:05,548.548 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:03:05
[2026-08-29 13:03:05,910.910 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:03:06,176.176 INFO    ] Initializing speech engine...
[2026-08-29 13:03:06,189.189 INFO    ] 2026-08-29 13:03:06
[2026-08-29 13:03:06,437.437 INFO    ] 2026-08-29 13:03:06
[2026-08-29 13:03:06,473.473 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:03:06,645.645 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:03:06,668.668 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:03:06,800.800 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:03:06,845.845 INFO    ] time= 29/08/2026 13:03:06
[2026-08-29 13:03:06,878.878 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:03:06,933.933 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:03:07,006.006 INFO    ] No existing commands found in stream
[2026-08-29 13:03:12,018.018 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:03:12,021.021 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-08-29 13:03:14,846.846 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:03:14,847.847 INFO    ] Checking for system updates...
[2026-08-29 13:03:14,868.868 INFO    ] 200
[2026-08-29 13:03:14,869.869 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:03:14,899.899 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:03:14,901.901 INFO    ] No update needed
[2026-08-29 13:03:14,902.902 INFO    ] Checking for camera pi updates...
[2026-08-29 13:03:14,922.922 INFO    ] 200
[2026-08-29 13:03:14,924.924 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:03:14,946.946 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:03:15,033.033 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:03:15,034.034 INFO    ] No camera update needed
[2026-08-29 13:03:15,035.035 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:03:15,037.037 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:03:15,039.039 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:03:15,042.042 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:03:17,082.082 INFO    ] ================================================
[2026-08-29 13:03:17,097.097 INFO    ] Launching Daemon at Sat Aug 29 13:03:17 IST 2026
[2026-08-29 13:03:17,108.108 INFO    ] ================================================
[2026-08-29 13:03:17,468.468 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:03:17
[2026-08-29 13:03:17,822.822 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:03:18,071.071 INFO    ] Initializing speech engine...
[2026-08-29 13:03:18,077.077 INFO    ] 2026-08-29 13:03:18
[2026-08-29 13:03:18,352.352 INFO    ] 2026-08-29 13:03:18
[2026-08-29 13:03:18,387.387 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:03:18,562.562 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:03:18,577.577 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:03:18,720.720 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:03:18,730.730 INFO    ] time= 29/08/2026 13:03:18
[2026-08-29 13:03:18,734.734 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:03:18,740.740 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:03:18,808.808 INFO    ] No existing commands found in stream
[2026-08-29 13:03:23,844.844 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:03:23,847.847 INFO    ] Waiting 2.52 seconds before fallback handling...
[2026-08-29 13:03:26,724.724 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:03:26,725.725 INFO    ] Checking for system updates...
[2026-08-29 13:03:26,747.747 INFO    ] 200
[2026-08-29 13:03:26,749.749 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:03:26,781.781 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:03:26,783.783 INFO    ] No update needed
[2026-08-29 13:03:26,784.784 INFO    ] Checking for camera pi updates...
[2026-08-29 13:03:26,804.804 INFO    ] 200
[2026-08-29 13:03:26,805.805 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:03:26,828.828 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:03:26,930.930 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:03:26,933.933 INFO    ] No camera update needed
[2026-08-29 13:03:26,935.935 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:03:26,937.937 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:03:26,943.943 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:03:26,948.948 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:03:28,987.987 INFO    ] ================================================
[2026-08-29 13:03:29,003.003 INFO    ] Launching Daemon at Sat Aug 29 13:03:28 IST 2026
[2026-08-29 13:03:29,014.014 INFO    ] ================================================
[2026-08-29 13:03:29,585.585 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:03:29
[2026-08-29 13:03:30,090.090 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:03:30,361.361 INFO    ] Initializing speech engine...
[2026-08-29 13:03:30,370.370 INFO    ] 2026-08-29 13:03:30
[2026-08-29 13:03:30,617.617 INFO    ] 2026-08-29 13:03:30
[2026-08-29 13:03:30,653.653 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:03:30,825.825 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:03:30,837.837 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:03:30,981.981 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:03:30,988.988 INFO    ] time= 29/08/2026 13:03:30
[2026-08-29 13:03:30,994.994 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:03:31,046.046 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:03:31,149.149 INFO    ] No existing commands found in stream
[2026-08-29 13:03:36,174.174 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:03:36,177.177 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-08-29 13:03:38,812.812 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:03:38,814.814 INFO    ] Checking for system updates...
[2026-08-29 13:03:38,834.834 INFO    ] 200
[2026-08-29 13:03:38,835.835 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:03:38,867.867 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:03:38,869.869 INFO    ] No update needed
[2026-08-29 13:03:38,870.870 INFO    ] Checking for camera pi updates...
[2026-08-29 13:03:38,890.890 INFO    ] 200
[2026-08-29 13:03:38,891.891 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:03:38,915.915 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:03:39,008.008 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:03:39,010.010 INFO    ] No camera update needed
[2026-08-29 13:03:39,011.011 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:03:39,012.012 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:03:39,015.015 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:03:39,018.018 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:03:41,058.058 INFO    ] ================================================
[2026-08-29 13:03:41,073.073 INFO    ] Launching Daemon at Sat Aug 29 13:03:41 IST 2026
[2026-08-29 13:03:41,084.084 INFO    ] ================================================
[2026-08-29 13:03:41,427.427 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:03:41
[2026-08-29 13:03:41,739.739 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:03:41,875.875 INFO    ] Initializing speech engine...
[2026-08-29 13:03:41,890.890 INFO    ] 2026-08-29 13:03:41
[2026-08-29 13:03:42,113.113 INFO    ] 2026-08-29 13:03:42
[2026-08-29 13:03:42,144.144 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:03:42,272.272 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:03:42,278.278 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:03:42,432.432 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:03:42,488.488 INFO    ] time= 29/08/2026 13:03:42
[2026-08-29 13:03:42,515.515 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:03:42,570.570 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:03:42,669.669 INFO    ] No existing commands found in stream
[2026-08-29 13:03:47,680.680 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:03:47,683.683 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-08-29 13:03:50,665.665 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:03:50,667.667 INFO    ] Checking for system updates...
[2026-08-29 13:03:50,688.688 INFO    ] 200
[2026-08-29 13:03:50,689.689 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:03:50,724.724 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:03:50,725.725 INFO    ] No update needed
[2026-08-29 13:03:50,726.726 INFO    ] Checking for camera pi updates...
[2026-08-29 13:03:50,745.745 INFO    ] 200
[2026-08-29 13:03:50,747.747 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:03:50,771.771 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:03:50,857.857 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:03:50,858.858 INFO    ] No camera update needed
[2026-08-29 13:03:50,860.860 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:03:50,861.861 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:03:50,864.864 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:03:50,867.867 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:03:52,905.905 INFO    ] ================================================
[2026-08-29 13:03:52,920.920 INFO    ] Launching Daemon at Sat Aug 29 13:03:52 IST 2026
[2026-08-29 13:03:52,931.931 INFO    ] ================================================
[2026-08-29 13:03:53,259.259 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:03:53
[2026-08-29 13:03:53,572.572 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:03:53,701.701 INFO    ] Initializing speech engine...
[2026-08-29 13:03:53,706.706 INFO    ] 2026-08-29 13:03:53
[2026-08-29 13:03:53,928.928 INFO    ] 2026-08-29 13:03:53
[2026-08-29 13:03:54,004.004 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:03:54,156.156 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:03:54,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:03:54,297.297 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:03:54,318.318 INFO    ] time= 29/08/2026 13:03:54
[2026-08-29 13:03:54,388.388 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:03:54,431.431 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:03:54,486.486 INFO    ] No existing commands found in stream
[2026-08-29 13:03:59,498.498 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:03:59,501.501 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-08-29 13:04:00,820.820 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:04:00,822.822 INFO    ] Checking for system updates...
[2026-08-29 13:04:00,843.843 INFO    ] 200
[2026-08-29 13:04:00,845.845 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:04:00,875.875 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:04:00,876.876 INFO    ] No update needed
[2026-08-29 13:04:00,877.877 INFO    ] Checking for camera pi updates...
[2026-08-29 13:04:00,898.898 INFO    ] 200
[2026-08-29 13:04:00,899.899 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:04:00,923.923 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:04:01,024.024 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:04:01,026.026 INFO    ] No camera update needed
[2026-08-29 13:04:01,027.027 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:04:01,028.028 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:04:01,031.031 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:04:01,034.034 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:04:03,087.087 INFO    ] ================================================
[2026-08-29 13:04:03,105.105 INFO    ] Launching Daemon at Sat Aug 29 13:04:03 IST 2026
[2026-08-29 13:04:03,123.123 INFO    ] ================================================
[2026-08-29 13:04:03,785.785 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:04:03
[2026-08-29 13:04:04,371.371 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:04:04,643.643 INFO    ] Initializing speech engine...
[2026-08-29 13:04:04,653.653 INFO    ] 2026-08-29 13:04:04
[2026-08-29 13:04:04,912.912 INFO    ] 2026-08-29 13:04:04
[2026-08-29 13:04:04,948.948 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:04:05,095.095 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:04:05,101.101 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:04:05,253.253 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:04:05,263.263 INFO    ] time= 29/08/2026 13:04:05
[2026-08-29 13:04:05,268.268 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:04:05,291.291 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:04:05,374.374 INFO    ] No existing commands found in stream
[2026-08-29 13:04:10,384.384 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:04:10,386.386 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-08-29 13:04:13,472.472 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:04:13,474.474 INFO    ] Checking for system updates...
[2026-08-29 13:04:13,494.494 INFO    ] 200
[2026-08-29 13:04:13,496.496 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:04:13,528.528 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:04:13,529.529 INFO    ] No update needed
[2026-08-29 13:04:13,530.530 INFO    ] Checking for camera pi updates...
[2026-08-29 13:04:13,553.553 INFO    ] 200
[2026-08-29 13:04:13,555.555 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:04:13,581.581 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:04:13,679.679 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:04:13,680.680 INFO    ] No camera update needed
[2026-08-29 13:04:13,682.682 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:04:13,683.683 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:04:13,686.686 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:04:13,689.689 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:04:15,728.728 INFO    ] ================================================
[2026-08-29 13:04:15,743.743 INFO    ] Launching Daemon at Sat Aug 29 13:04:15 IST 2026
[2026-08-29 13:04:15,754.754 INFO    ] ================================================
[2026-08-29 13:04:16,140.140 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:04:16
[2026-08-29 13:04:16,475.475 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:04:16,627.627 INFO    ] Initializing speech engine...
[2026-08-29 13:04:16,632.632 INFO    ] 2026-08-29 13:04:16
[2026-08-29 13:04:16,844.844 INFO    ] 2026-08-29 13:04:16
[2026-08-29 13:04:16,884.884 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:04:17,110.110 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:04:17,120.120 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:04:17,262.262 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:04:17,337.337 INFO    ] time= 29/08/2026 13:04:17
[2026-08-29 13:04:17,400.400 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:04:17,407.407 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:04:17,461.461 INFO    ] No existing commands found in stream
[2026-08-29 13:04:22,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:04:22,477.477 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 13:04:24,220.220 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:04:24,222.222 INFO    ] Checking for system updates...
[2026-08-29 13:04:24,243.243 INFO    ] 200
[2026-08-29 13:04:24,244.244 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:04:24,276.276 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:04:24,277.277 INFO    ] No update needed
[2026-08-29 13:04:24,278.278 INFO    ] Checking for camera pi updates...
[2026-08-29 13:04:24,300.300 INFO    ] 200
[2026-08-29 13:04:24,302.302 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:04:24,325.325 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:04:24,500.500 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:04:24,502.502 INFO    ] No camera update needed
[2026-08-29 13:04:24,503.503 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:04:24,504.504 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:04:24,508.508 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:04:24,510.510 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:04:26,550.550 INFO    ] ================================================
[2026-08-29 13:04:26,565.565 INFO    ] Launching Daemon at Sat Aug 29 13:04:26 IST 2026
[2026-08-29 13:04:26,576.576 INFO    ] ================================================
[2026-08-29 13:04:27,089.089 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:04:27
[2026-08-29 13:04:27,688.688 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:04:27,965.965 INFO    ] Initializing speech engine...
[2026-08-29 13:04:27,971.971 INFO    ] 2026-08-29 13:04:27
[2026-08-29 13:04:28,235.235 INFO    ] 2026-08-29 13:04:28
[2026-08-29 13:04:28,299.299 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:04:28,460.460 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:04:28,473.473 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:04:28,595.595 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:04:28,603.603 INFO    ] time= 29/08/2026 13:04:28
[2026-08-29 13:04:28,622.622 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:04:28,645.645 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:04:28,727.727 INFO    ] No existing commands found in stream
[2026-08-29 13:04:33,739.739 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:04:33,742.742 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-08-29 13:04:35,147.147 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:04:35,149.149 INFO    ] Checking for system updates...
[2026-08-29 13:04:35,184.184 INFO    ] 200
[2026-08-29 13:04:35,187.187 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:04:35,239.239 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:04:35,241.241 INFO    ] No update needed
[2026-08-29 13:04:35,243.243 INFO    ] Checking for camera pi updates...
[2026-08-29 13:04:35,282.282 INFO    ] 200
[2026-08-29 13:04:35,284.284 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:04:35,307.307 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:04:35,383.383 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:04:35,385.385 INFO    ] No camera update needed
[2026-08-29 13:04:35,386.386 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:04:35,387.387 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:04:35,390.390 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:04:35,394.394 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:04:37,432.432 INFO    ] ================================================
[2026-08-29 13:04:37,447.447 INFO    ] Launching Daemon at Sat Aug 29 13:04:37 IST 2026
[2026-08-29 13:04:37,457.457 INFO    ] ================================================
[2026-08-29 13:04:37,983.983 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:04:37
[2026-08-29 13:04:38,582.582 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:04:38,855.855 INFO    ] Initializing speech engine...
[2026-08-29 13:04:38,866.866 INFO    ] 2026-08-29 13:04:38
[2026-08-29 13:04:39,128.128 INFO    ] 2026-08-29 13:04:39
[2026-08-29 13:04:39,183.183 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:04:39,405.405 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:04:39,414.414 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:04:39,550.550 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:04:39,594.594 INFO    ] time= 29/08/2026 13:04:39
[2026-08-29 13:04:39,649.649 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:04:39,682.682 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:04:39,739.739 INFO    ] No existing commands found in stream
[2026-08-29 13:04:44,751.751 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:04:44,754.754 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-08-29 13:04:48,814.814 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:04:48,816.816 INFO    ] Checking for system updates...
[2026-08-29 13:04:48,837.837 INFO    ] 200
[2026-08-29 13:04:48,838.838 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:04:48,870.870 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:04:48,871.871 INFO    ] No update needed
[2026-08-29 13:04:48,873.873 INFO    ] Checking for camera pi updates...
[2026-08-29 13:04:48,893.893 INFO    ] 200
[2026-08-29 13:04:48,894.894 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:04:48,917.917 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:04:49,017.017 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:04:49,018.018 INFO    ] No camera update needed
[2026-08-29 13:04:49,019.019 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:04:49,021.021 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:04:49,024.024 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:04:49,026.026 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:04:51,067.067 INFO    ] ================================================
[2026-08-29 13:04:51,082.082 INFO    ] Launching Daemon at Sat Aug 29 13:04:51 IST 2026
[2026-08-29 13:04:51,093.093 INFO    ] ================================================
[2026-08-29 13:04:51,439.439 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:04:51
[2026-08-29 13:04:51,774.774 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:04:51,918.918 INFO    ] Initializing speech engine...
[2026-08-29 13:04:51,926.926 INFO    ] 2026-08-29 13:04:51
[2026-08-29 13:04:52,137.137 INFO    ] 2026-08-29 13:04:52
[2026-08-29 13:04:52,165.165 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:04:52,342.342 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:04:52,369.369 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:04:52,525.525 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:04:52,535.535 INFO    ] time= 29/08/2026 13:04:52
[2026-08-29 13:04:52,582.582 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:04:52,619.619 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:04:52,731.731 INFO    ] No existing commands found in stream
[2026-08-29 13:04:57,750.750 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:04:57,754.754 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-08-29 13:04:58,537.537 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:04:58,538.538 INFO    ] Checking for system updates...
[2026-08-29 13:04:58,558.558 INFO    ] 200
[2026-08-29 13:04:58,560.560 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:04:58,589.589 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:04:58,591.591 INFO    ] No update needed
[2026-08-29 13:04:58,592.592 INFO    ] Checking for camera pi updates...
[2026-08-29 13:04:58,615.615 INFO    ] 200
[2026-08-29 13:04:58,616.616 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:04:58,639.639 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:04:58,726.726 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:04:58,728.728 INFO    ] No camera update needed
[2026-08-29 13:04:58,730.730 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:04:58,733.733 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:04:58,738.738 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:04:58,743.743 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:05:00,783.783 INFO    ] ================================================
[2026-08-29 13:05:00,798.798 INFO    ] Launching Daemon at Sat Aug 29 13:05:00 IST 2026
[2026-08-29 13:05:00,808.808 INFO    ] ================================================
[2026-08-29 13:05:01,448.448 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:05:01
[2026-08-29 13:05:02,325.325 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:05:02,707.707 INFO    ] Initializing speech engine...
[2026-08-29 13:05:02,720.720 INFO    ] 2026-08-29 13:05:02
[2026-08-29 13:05:03,030.030 INFO    ] 2026-08-29 13:05:03
[2026-08-29 13:05:03,094.094 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:05:03,257.257 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:05:03,283.283 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:05:03,447.447 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:05:03,459.459 INFO    ] time= 29/08/2026 13:05:03
[2026-08-29 13:05:03,533.533 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:05:03,577.577 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:05:03,684.684 INFO    ] No existing commands found in stream
[2026-08-29 13:05:08,696.696 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:05:08,698.698 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-08-29 13:05:11,243.243 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:05:11,245.245 INFO    ] Checking for system updates...
[2026-08-29 13:05:11,265.265 INFO    ] 200
[2026-08-29 13:05:11,266.266 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:05:11,296.296 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:05:11,297.297 INFO    ] No update needed
[2026-08-29 13:05:11,299.299 INFO    ] Checking for camera pi updates...
[2026-08-29 13:05:11,319.319 INFO    ] 200
[2026-08-29 13:05:11,320.320 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:05:11,345.345 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:05:11,440.440 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:05:11,441.441 INFO    ] No camera update needed
[2026-08-29 13:05:11,442.442 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:05:11,444.444 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:05:11,447.447 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:05:11,449.449 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:05:13,489.489 INFO    ] ================================================
[2026-08-29 13:05:13,505.505 INFO    ] Launching Daemon at Sat Aug 29 13:05:13 IST 2026
[2026-08-29 13:05:13,516.516 INFO    ] ================================================
[2026-08-29 13:05:14,083.083 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:05:14
[2026-08-29 13:05:14,668.668 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:05:14,940.940 INFO    ] Initializing speech engine...
[2026-08-29 13:05:14,959.959 INFO    ] 2026-08-29 13:05:14
[2026-08-29 13:05:15,229.229 INFO    ] 2026-08-29 13:05:15
[2026-08-29 13:05:15,263.263 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:05:15,397.397 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:05:15,405.405 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:05:15,524.524 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:05:15,543.543 INFO    ] time= 29/08/2026 13:05:15
[2026-08-29 13:05:15,596.596 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:05:15,600.600 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:05:15,684.684 INFO    ] No existing commands found in stream
[2026-08-29 13:05:20,710.710 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:05:20,713.713 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-08-29 13:05:21,177.177 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:05:21,179.179 INFO    ] Checking for system updates...
[2026-08-29 13:05:21,200.200 INFO    ] 200
[2026-08-29 13:05:21,202.202 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:05:21,231.231 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:05:21,233.233 INFO    ] No update needed
[2026-08-29 13:05:21,234.234 INFO    ] Checking for camera pi updates...
[2026-08-29 13:05:21,255.255 INFO    ] 200
[2026-08-29 13:05:21,256.256 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:05:21,279.279 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:05:21,373.373 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:05:21,374.374 INFO    ] No camera update needed
[2026-08-29 13:05:21,376.376 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:05:21,377.377 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:05:21,380.380 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:05:21,382.382 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:05:23,422.422 INFO    ] ================================================
[2026-08-29 13:05:23,438.438 INFO    ] Launching Daemon at Sat Aug 29 13:05:23 IST 2026
[2026-08-29 13:05:23,450.450 INFO    ] ================================================
[2026-08-29 13:05:23,817.817 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:05:23
[2026-08-29 13:05:24,156.156 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:05:24,308.308 INFO    ] Initializing speech engine...
[2026-08-29 13:05:24,314.314 INFO    ] 2026-08-29 13:05:24
[2026-08-29 13:05:24,522.522 INFO    ] 2026-08-29 13:05:24
[2026-08-29 13:05:24,551.551 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:05:24,673.673 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:05:24,736.736 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:05:24,890.890 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:05:24,939.939 INFO    ] time= 29/08/2026 13:05:24
[2026-08-29 13:05:24,985.985 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:05:25,030.030 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:05:25,141.141 INFO    ] No existing commands found in stream
[2026-08-29 13:05:30,177.177 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:05:30,180.180 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-08-29 13:05:33,483.483 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:05:33,487.487 INFO    ] Checking for system updates...
[2026-08-29 13:05:33,548.548 INFO    ] 200
[2026-08-29 13:05:33,554.554 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:05:33,608.608 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:05:33,611.611 INFO    ] No update needed
[2026-08-29 13:05:33,614.614 INFO    ] Checking for camera pi updates...
[2026-08-29 13:05:33,649.649 INFO    ] 200
[2026-08-29 13:05:33,652.652 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:05:33,694.694 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:05:33,797.797 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:05:33,799.799 INFO    ] No camera update needed
[2026-08-29 13:05:33,802.802 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:05:33,805.805 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:05:33,811.811 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:05:33,817.817 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:05:35,858.858 INFO    ] ================================================
[2026-08-29 13:05:35,873.873 INFO    ] Launching Daemon at Sat Aug 29 13:05:35 IST 2026
[2026-08-29 13:05:35,885.885 INFO    ] ================================================
[2026-08-29 13:05:36,278.278 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:05:36
[2026-08-29 13:05:36,619.619 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:05:36,775.775 INFO    ] Initializing speech engine...
[2026-08-29 13:05:36,780.780 INFO    ] 2026-08-29 13:05:36
[2026-08-29 13:05:36,992.992 INFO    ] 2026-08-29 13:05:36
[2026-08-29 13:05:37,072.072 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:05:37,229.229 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:05:37,236.236 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:05:37,370.370 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:05:37,436.436 INFO    ] time= 29/08/2026 13:05:37
[2026-08-29 13:05:37,496.496 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:05:37,518.518 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:05:37,628.628 INFO    ] No existing commands found in stream
[2026-08-29 13:05:42,657.657 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:05:42,661.661 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-08-29 13:05:46,529.529 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:05:46,530.530 INFO    ] Checking for system updates...
[2026-08-29 13:05:46,553.553 INFO    ] 200
[2026-08-29 13:05:46,555.555 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:05:46,591.591 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:05:46,592.592 INFO    ] No update needed
[2026-08-29 13:05:46,594.594 INFO    ] Checking for camera pi updates...
[2026-08-29 13:05:46,616.616 INFO    ] 200
[2026-08-29 13:05:46,617.617 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:05:46,641.641 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:05:46,715.715 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:05:46,717.717 INFO    ] No camera update needed
[2026-08-29 13:05:46,718.718 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:05:46,719.719 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:05:46,723.723 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:05:46,726.726 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:05:48,765.765 INFO    ] ================================================
[2026-08-29 13:05:48,781.781 INFO    ] Launching Daemon at Sat Aug 29 13:05:48 IST 2026
[2026-08-29 13:05:48,794.794 INFO    ] ================================================
[2026-08-29 13:05:49,126.126 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:05:49
[2026-08-29 13:05:49,438.438 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:05:49,579.579 INFO    ] Initializing speech engine...
[2026-08-29 13:05:49,587.587 INFO    ] 2026-08-29 13:05:49
[2026-08-29 13:05:49,808.808 INFO    ] 2026-08-29 13:05:49
[2026-08-29 13:05:49,861.861 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:05:50,019.019 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:05:50,026.026 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:05:50,153.153 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:05:50,159.159 INFO    ] time= 29/08/2026 13:05:50
[2026-08-29 13:05:50,213.213 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:05:50,252.252 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:05:50,316.316 INFO    ] No existing commands found in stream
[2026-08-29 13:05:55,339.339 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:05:55,341.341 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-08-29 13:05:57,290.290 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:05:57,293.293 INFO    ] Checking for system updates...
[2026-08-29 13:05:57,336.336 INFO    ] 200
[2026-08-29 13:05:57,339.339 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:05:57,401.401 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:05:57,404.404 INFO    ] No update needed
[2026-08-29 13:05:57,407.407 INFO    ] Checking for camera pi updates...
[2026-08-29 13:05:57,447.447 INFO    ] 200
[2026-08-29 13:05:57,450.450 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:05:57,498.498 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:05:57,601.601 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:05:57,604.604 INFO    ] No camera update needed
[2026-08-29 13:05:57,606.606 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:05:57,608.608 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:05:57,621.621 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:05:57,626.626 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:05:59,666.666 INFO    ] ================================================
[2026-08-29 13:05:59,681.681 INFO    ] Launching Daemon at Sat Aug 29 13:05:59 IST 2026
[2026-08-29 13:05:59,692.692 INFO    ] ================================================
[2026-08-29 13:06:00,170.170 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:06:00
[2026-08-29 13:06:00,753.753 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:06:01,013.013 INFO    ] Initializing speech engine...
[2026-08-29 13:06:01,032.032 INFO    ] 2026-08-29 13:06:01
[2026-08-29 13:06:01,278.278 INFO    ] 2026-08-29 13:06:01
[2026-08-29 13:06:01,314.314 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:06:01,484.484 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:06:01,496.496 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:06:01,605.605 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:06:01,610.610 INFO    ] time= 29/08/2026 13:06:01
[2026-08-29 13:06:01,628.628 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:06:01,647.647 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:06:01,720.720 INFO    ] No existing commands found in stream
[2026-08-29 13:06:06,732.732 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:06:06,735.735 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-08-29 13:06:08,263.263 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:06:08,264.264 INFO    ] Checking for system updates...
[2026-08-29 13:06:08,285.285 INFO    ] 200
[2026-08-29 13:06:08,286.286 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:06:08,315.315 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:06:08,317.317 INFO    ] No update needed
[2026-08-29 13:06:08,318.318 INFO    ] Checking for camera pi updates...
[2026-08-29 13:06:08,337.337 INFO    ] 200
[2026-08-29 13:06:08,338.338 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:06:08,363.363 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:06:08,447.447 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:06:08,449.449 INFO    ] No camera update needed
[2026-08-29 13:06:08,451.451 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:06:08,454.454 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:06:08,459.459 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:06:08,464.464 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:06:10,505.505 INFO    ] ================================================
[2026-08-29 13:06:10,521.521 INFO    ] Launching Daemon at Sat Aug 29 13:06:10 IST 2026
[2026-08-29 13:06:10,533.533 INFO    ] ================================================
[2026-08-29 13:06:11,199.199 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:06:11
[2026-08-29 13:06:11,644.644 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:06:11,797.797 INFO    ] Initializing speech engine...
[2026-08-29 13:06:11,803.803 INFO    ] 2026-08-29 13:06:11
[2026-08-29 13:06:12,011.011 INFO    ] 2026-08-29 13:06:11
[2026-08-29 13:06:12,041.041 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:06:12,211.211 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:06:12,227.227 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:06:12,351.351 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:06:12,373.373 INFO    ] time= 29/08/2026 13:06:12
[2026-08-29 13:06:12,403.403 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:06:12,413.413 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:06:12,511.511 INFO    ] No existing commands found in stream
[2026-08-29 13:06:17,537.537 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:06:17,617.617 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-08-29 13:06:18,649.649 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:06:18,651.651 INFO    ] Checking for system updates...
[2026-08-29 13:06:18,672.672 INFO    ] 200
[2026-08-29 13:06:18,673.673 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:06:18,703.703 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:06:18,705.705 INFO    ] No update needed
[2026-08-29 13:06:18,706.706 INFO    ] Checking for camera pi updates...
[2026-08-29 13:06:18,727.727 INFO    ] 200
[2026-08-29 13:06:18,728.728 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:06:18,752.752 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:06:18,865.865 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:06:18,868.868 INFO    ] No camera update needed
[2026-08-29 13:06:18,871.871 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:06:18,874.874 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:06:18,880.880 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:06:18,886.886 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:06:20,930.930 INFO    ] ================================================
[2026-08-29 13:06:20,945.945 INFO    ] Launching Daemon at Sat Aug 29 13:06:20 IST 2026
[2026-08-29 13:06:20,956.956 INFO    ] ================================================
[2026-08-29 13:06:21,525.525 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:06:21
[2026-08-29 13:06:22,014.014 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:06:22,146.146 INFO    ] Initializing speech engine...
[2026-08-29 13:06:22,151.151 INFO    ] 2026-08-29 13:06:22
[2026-08-29 13:06:22,381.381 INFO    ] 2026-08-29 13:06:22
[2026-08-29 13:06:22,412.412 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:06:22,547.547 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:06:22,594.594 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:06:22,758.758 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:06:22,801.801 INFO    ] time= 29/08/2026 13:06:22
[2026-08-29 13:06:22,844.844 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:06:22,868.868 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:06:22,944.944 INFO    ] No existing commands found in stream
[2026-08-29 13:06:27,953.953 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:06:27,956.956 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-08-29 13:06:30,127.127 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:06:30,128.128 INFO    ] Checking for system updates...
[2026-08-29 13:06:30,150.150 INFO    ] 200
[2026-08-29 13:06:30,151.151 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:06:30,182.182 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:06:30,183.183 INFO    ] No update needed
[2026-08-29 13:06:30,184.184 INFO    ] Checking for camera pi updates...
[2026-08-29 13:06:30,204.204 INFO    ] 200
[2026-08-29 13:06:30,205.205 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:06:30,230.230 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:06:30,407.407 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:06:30,409.409 INFO    ] No camera update needed
[2026-08-29 13:06:30,410.410 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:06:30,411.411 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:06:30,414.414 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:06:30,417.417 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:06:32,448.448 INFO    ] ================================================
[2026-08-29 13:06:32,458.458 INFO    ] Launching Daemon at Sat Aug 29 13:06:32 IST 2026
[2026-08-29 13:06:32,465.465 INFO    ] ================================================
[2026-08-29 13:06:33,131.131 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:06:33
[2026-08-29 13:06:33,731.731 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:06:33,997.997 INFO    ] Initializing speech engine...
[2026-08-29 13:06:34,007.007 INFO    ] 2026-08-29 13:06:33
[2026-08-29 13:06:34,310.310 INFO    ] 2026-08-29 13:06:34
[2026-08-29 13:06:34,335.335 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:06:34,500.500 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:06:34,507.507 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:06:34,666.666 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:06:34,677.677 INFO    ] time= 29/08/2026 13:06:34
[2026-08-29 13:06:34,682.682 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:06:34,686.686 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:06:34,755.755 INFO    ] No existing commands found in stream
[2026-08-29 13:06:39,765.765 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:06:39,768.768 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-08-29 13:06:42,988.988 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:06:42,991.991 INFO    ] Checking for system updates...
[2026-08-29 13:06:43,032.032 INFO    ] 200
[2026-08-29 13:06:43,034.034 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:06:43,087.087 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:06:43,089.089 INFO    ] No update needed
[2026-08-29 13:06:43,091.091 INFO    ] Checking for camera pi updates...
[2026-08-29 13:06:43,125.125 INFO    ] 200
[2026-08-29 13:06:43,127.127 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:06:43,169.169 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:06:43,263.263 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:06:43,265.265 INFO    ] No camera update needed
[2026-08-29 13:06:43,268.268 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:06:43,270.270 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:06:43,275.275 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:06:43,280.280 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:06:45,320.320 INFO    ] ================================================
[2026-08-29 13:06:45,340.340 INFO    ] Launching Daemon at Sat Aug 29 13:06:45 IST 2026
[2026-08-29 13:06:45,351.351 INFO    ] ================================================
[2026-08-29 13:06:45,914.914 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:06:45
[2026-08-29 13:06:46,229.229 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:06:46,374.374 INFO    ] Initializing speech engine...
[2026-08-29 13:06:46,379.379 INFO    ] 2026-08-29 13:06:46
[2026-08-29 13:06:46,586.586 INFO    ] 2026-08-29 13:06:46
[2026-08-29 13:06:46,668.668 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:06:46,821.821 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:06:46,830.830 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:06:46,967.967 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:06:47,014.014 INFO    ] time= 29/08/2026 13:06:46
[2026-08-29 13:06:47,074.074 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:06:47,106.106 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:06:47,165.165 INFO    ] No existing commands found in stream
[2026-08-29 13:06:52,177.177 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:06:52,179.179 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-08-29 13:06:54,455.455 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:06:54,456.456 INFO    ] Checking for system updates...
[2026-08-29 13:06:54,477.477 INFO    ] 200
[2026-08-29 13:06:54,478.478 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:06:54,510.510 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:06:54,512.512 INFO    ] No update needed
[2026-08-29 13:06:54,513.513 INFO    ] Checking for camera pi updates...
[2026-08-29 13:06:54,535.535 INFO    ] 200
[2026-08-29 13:06:54,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:06:54,561.561 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:06:54,661.661 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:06:54,663.663 INFO    ] No camera update needed
[2026-08-29 13:06:54,666.666 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:06:54,668.668 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:06:54,673.673 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:06:54,678.678 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:06:56,719.719 INFO    ] ================================================
[2026-08-29 13:06:56,736.736 INFO    ] Launching Daemon at Sat Aug 29 13:06:56 IST 2026
[2026-08-29 13:06:56,747.747 INFO    ] ================================================
[2026-08-29 13:06:57,318.318 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:06:57
[2026-08-29 13:06:57,831.831 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:06:58,081.081 INFO    ] Initializing speech engine...
[2026-08-29 13:06:58,089.089 INFO    ] 2026-08-29 13:06:58
[2026-08-29 13:06:58,393.393 INFO    ] 2026-08-29 13:06:58
[2026-08-29 13:06:58,432.432 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:06:58,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:06:58,596.596 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:06:58,753.753 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:06:58,765.765 INFO    ] time= 29/08/2026 13:06:58
[2026-08-29 13:06:58,770.770 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:06:58,775.775 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:06:58,842.842 INFO    ] No existing commands found in stream
[2026-08-29 13:07:03,854.854 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:07:03,857.857 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-08-29 13:07:07,436.436 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:07:07,437.437 INFO    ] Checking for system updates...
[2026-08-29 13:07:07,459.459 INFO    ] 200
[2026-08-29 13:07:07,460.460 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:07:07,493.493 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:07:07,494.494 INFO    ] No update needed
[2026-08-29 13:07:07,495.495 INFO    ] Checking for camera pi updates...
[2026-08-29 13:07:07,515.515 INFO    ] 200
[2026-08-29 13:07:07,516.516 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:07:07,539.539 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:07:07,642.642 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:07:07,643.643 INFO    ] No camera update needed
[2026-08-29 13:07:07,645.645 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:07:07,646.646 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:07:07,649.649 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:07:07,651.651 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:07:09,690.690 INFO    ] ================================================
[2026-08-29 13:07:09,707.707 INFO    ] Launching Daemon at Sat Aug 29 13:07:09 IST 2026
[2026-08-29 13:07:09,718.718 INFO    ] ================================================
[2026-08-29 13:07:10,051.051 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:07:10
[2026-08-29 13:07:10,368.368 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:07:10,504.504 INFO    ] Initializing speech engine...
[2026-08-29 13:07:10,507.507 INFO    ] 2026-08-29 13:07:10
[2026-08-29 13:07:10,715.715 INFO    ] 2026-08-29 13:07:10
[2026-08-29 13:07:10,752.752 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:07:10,902.902 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:07:10,910.910 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:07:11,064.064 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:07:11,074.074 INFO    ] time= 29/08/2026 13:07:11
[2026-08-29 13:07:11,080.080 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:07:11,104.104 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:07:11,157.157 INFO    ] No existing commands found in stream
[2026-08-29 13:07:16,168.168 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:07:16,171.171 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-08-29 13:07:20,174.174 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:07:20,175.175 INFO    ] Checking for system updates...
[2026-08-29 13:07:20,197.197 INFO    ] 200
[2026-08-29 13:07:20,198.198 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:07:20,231.231 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:07:20,232.232 INFO    ] No update needed
[2026-08-29 13:07:20,234.234 INFO    ] Checking for camera pi updates...
[2026-08-29 13:07:20,253.253 INFO    ] 200
[2026-08-29 13:07:20,254.254 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:07:20,277.277 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:07:20,363.363 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:07:20,365.365 INFO    ] No camera update needed
[2026-08-29 13:07:20,368.368 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:07:20,370.370 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:07:20,375.375 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:07:20,380.380 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:07:22,420.420 INFO    ] ================================================
[2026-08-29 13:07:22,436.436 INFO    ] Launching Daemon at Sat Aug 29 13:07:22 IST 2026
[2026-08-29 13:07:22,447.447 INFO    ] ================================================
[2026-08-29 13:07:23,111.111 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:07:23
[2026-08-29 13:07:23,456.456 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:07:23,609.609 INFO    ] Initializing speech engine...
[2026-08-29 13:07:23,615.615 INFO    ] 2026-08-29 13:07:23
[2026-08-29 13:07:23,826.826 INFO    ] 2026-08-29 13:07:23
[2026-08-29 13:07:23,855.855 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:07:23,980.980 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:07:24,044.044 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:07:24,180.180 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:07:24,243.243 INFO    ] time= 29/08/2026 13:07:24
[2026-08-29 13:07:24,303.303 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:07:24,327.327 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:07:24,455.455 INFO    ] No existing commands found in stream
[2026-08-29 13:07:29,479.479 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:07:29,482.482 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-08-29 13:07:32,556.556 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:07:32,560.560 INFO    ] Checking for system updates...
[2026-08-29 13:07:32,601.601 INFO    ] 200
[2026-08-29 13:07:32,604.604 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:07:32,669.669 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:07:32,672.672 INFO    ] No update needed
[2026-08-29 13:07:32,675.675 INFO    ] Checking for camera pi updates...
[2026-08-29 13:07:32,713.713 INFO    ] 200
[2026-08-29 13:07:32,716.716 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:07:32,768.768 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:07:32,875.875 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:07:32,880.880 INFO    ] No camera update needed
[2026-08-29 13:07:32,884.884 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:07:32,887.887 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:07:32,898.898 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:07:32,906.906 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:07:34,949.949 INFO    ] ================================================
[2026-08-29 13:07:34,965.965 INFO    ] Launching Daemon at Sat Aug 29 13:07:34 IST 2026
[2026-08-29 13:07:34,977.977 INFO    ] ================================================
[2026-08-29 13:07:35,641.641 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:07:35
[2026-08-29 13:07:35,982.982 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:07:36,133.133 INFO    ] Initializing speech engine...
[2026-08-29 13:07:36,139.139 INFO    ] 2026-08-29 13:07:36
[2026-08-29 13:07:36,346.346 INFO    ] 2026-08-29 13:07:36
[2026-08-29 13:07:36,376.376 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:07:36,507.507 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:07:36,560.560 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:07:36,696.696 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:07:36,762.762 INFO    ] time= 29/08/2026 13:07:36
[2026-08-29 13:07:36,786.786 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:07:36,793.793 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:07:36,860.860 INFO    ] No existing commands found in stream
[2026-08-29 13:07:41,869.869 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:07:41,873.873 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 13:07:45,317.317 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:07:45,319.319 INFO    ] Checking for system updates...
[2026-08-29 13:07:45,341.341 INFO    ] 200
[2026-08-29 13:07:45,343.343 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:07:45,375.375 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:07:45,376.376 INFO    ] No update needed
[2026-08-29 13:07:45,377.377 INFO    ] Checking for camera pi updates...
[2026-08-29 13:07:45,397.397 INFO    ] 200
[2026-08-29 13:07:45,398.398 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:07:45,421.421 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:07:45,498.498 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:07:45,499.499 INFO    ] No camera update needed
[2026-08-29 13:07:45,500.500 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:07:45,502.502 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:07:45,505.505 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:07:45,508.508 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:07:47,546.546 INFO    ] ================================================
[2026-08-29 13:07:47,561.561 INFO    ] Launching Daemon at Sat Aug 29 13:07:47 IST 2026
[2026-08-29 13:07:47,572.572 INFO    ] ================================================
[2026-08-29 13:07:47,939.939 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:07:47
[2026-08-29 13:07:48,446.446 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:07:48,695.695 INFO    ] Initializing speech engine...
[2026-08-29 13:07:48,717.717 INFO    ] 2026-08-29 13:07:48
[2026-08-29 13:07:48,969.969 INFO    ] 2026-08-29 13:07:48
[2026-08-29 13:07:49,011.011 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:07:49,187.187 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:07:49,202.202 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:07:49,333.333 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:07:49,339.339 INFO    ] time= 29/08/2026 13:07:49
[2026-08-29 13:07:49,345.345 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:07:49,357.357 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:07:49,492.492 INFO    ] No existing commands found in stream
[2026-08-29 13:07:54,523.523 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:07:54,544.544 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-08-29 13:07:56,469.469 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:07:56,471.471 INFO    ] Checking for system updates...
[2026-08-29 13:07:56,493.493 INFO    ] 200
[2026-08-29 13:07:56,494.494 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:07:56,524.524 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:07:56,525.525 INFO    ] No update needed
[2026-08-29 13:07:56,526.526 INFO    ] Checking for camera pi updates...
[2026-08-29 13:07:56,545.545 INFO    ] 200
[2026-08-29 13:07:56,546.546 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:07:56,569.569 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:07:56,677.677 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:07:56,679.679 INFO    ] No camera update needed
[2026-08-29 13:07:56,681.681 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:07:56,684.684 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:07:56,689.689 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:07:56,695.695 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:07:58,737.737 INFO    ] ================================================
[2026-08-29 13:07:58,752.752 INFO    ] Launching Daemon at Sat Aug 29 13:07:58 IST 2026
[2026-08-29 13:07:58,763.763 INFO    ] ================================================
[2026-08-29 13:07:59,348.348 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:07:59
[2026-08-29 13:07:59,949.949 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:08:00,128.128 INFO    ] Initializing speech engine...
[2026-08-29 13:08:00,138.138 INFO    ] 2026-08-29 13:08:00
[2026-08-29 13:08:00,343.343 INFO    ] 2026-08-29 13:08:00
[2026-08-29 13:08:00,371.371 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:08:00,541.541 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:08:00,567.567 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:08:00,719.719 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:08:00,728.728 INFO    ] time= 29/08/2026 13:08:00
[2026-08-29 13:08:00,735.735 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:08:00,751.751 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:08:00,852.852 INFO    ] No existing commands found in stream
[2026-08-29 13:08:05,877.877 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:08:05,880.880 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 13:08:08,866.866 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:08:08,867.867 INFO    ] Checking for system updates...
[2026-08-29 13:08:08,887.887 INFO    ] 200
[2026-08-29 13:08:08,889.889 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:08:08,930.930 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:08:08,932.932 INFO    ] No update needed
[2026-08-29 13:08:08,935.935 INFO    ] Checking for camera pi updates...
[2026-08-29 13:08:08,972.972 INFO    ] 200
[2026-08-29 13:08:08,974.974 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:08:09,019.019 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:08:09,100.100 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:08:09,103.103 INFO    ] No camera update needed
[2026-08-29 13:08:09,105.105 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:08:09,107.107 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:08:09,113.113 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:08:09,118.118 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:08:11,159.159 INFO    ] ================================================
[2026-08-29 13:08:11,175.175 INFO    ] Launching Daemon at Sat Aug 29 13:08:11 IST 2026
[2026-08-29 13:08:11,186.186 INFO    ] ================================================
[2026-08-29 13:08:11,842.842 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:08:11
[2026-08-29 13:08:12,278.278 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:08:12,521.521 INFO    ] Initializing speech engine...
[2026-08-29 13:08:12,535.535 INFO    ] 2026-08-29 13:08:12
[2026-08-29 13:08:12,844.844 INFO    ] 2026-08-29 13:08:12
[2026-08-29 13:08:12,929.929 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:08:13,079.079 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:08:13,089.089 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:08:13,225.225 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:08:13,275.275 INFO    ] time= 29/08/2026 13:08:13
[2026-08-29 13:08:13,334.334 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:08:13,359.359 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:08:13,473.473 INFO    ] No existing commands found in stream
[2026-08-29 13:08:18,511.511 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:08:18,514.514 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-08-29 13:08:22,848.848 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:08:22,850.850 INFO    ] Checking for system updates...
[2026-08-29 13:08:22,871.871 INFO    ] 200
[2026-08-29 13:08:22,872.872 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:08:22,905.905 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:08:22,907.907 INFO    ] No update needed
[2026-08-29 13:08:22,908.908 INFO    ] Checking for camera pi updates...
[2026-08-29 13:08:22,932.932 INFO    ] 200
[2026-08-29 13:08:22,933.933 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:08:22,959.959 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:08:23,059.059 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:08:23,060.060 INFO    ] No camera update needed
[2026-08-29 13:08:23,061.061 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:08:23,063.063 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:08:23,070.070 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:08:23,073.073 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:08:25,114.114 INFO    ] ================================================
[2026-08-29 13:08:25,129.129 INFO    ] Launching Daemon at Sat Aug 29 13:08:25 IST 2026
[2026-08-29 13:08:25,140.140 INFO    ] ================================================
[2026-08-29 13:08:25,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:08:25
[2026-08-29 13:08:26,153.153 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:08:26,406.406 INFO    ] Initializing speech engine...
[2026-08-29 13:08:26,420.420 INFO    ] 2026-08-29 13:08:26
[2026-08-29 13:08:26,688.688 INFO    ] 2026-08-29 13:08:26
[2026-08-29 13:08:26,721.721 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:08:26,900.900 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:08:26,913.913 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:08:27,026.026 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:08:27,045.045 INFO    ] time= 29/08/2026 13:08:27
[2026-08-29 13:08:27,065.065 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:08:27,074.074 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:08:27,143.143 INFO    ] No existing commands found in stream
[2026-08-29 13:08:32,153.153 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:08:32,155.155 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-08-29 13:08:35,712.712 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:08:35,715.715 INFO    ] Checking for system updates...
[2026-08-29 13:08:35,748.748 INFO    ] 200
[2026-08-29 13:08:35,749.749 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:08:35,782.782 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:08:35,783.783 INFO    ] No update needed
[2026-08-29 13:08:35,784.784 INFO    ] Checking for camera pi updates...
[2026-08-29 13:08:35,803.803 INFO    ] 200
[2026-08-29 13:08:35,805.805 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:08:35,827.827 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:08:35,910.910 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:08:35,911.911 INFO    ] No camera update needed
[2026-08-29 13:08:35,913.913 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:08:35,914.914 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:08:35,917.917 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:08:35,919.919 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:08:37,957.957 INFO    ] ================================================
[2026-08-29 13:08:37,973.973 INFO    ] Launching Daemon at Sat Aug 29 13:08:37 IST 2026
[2026-08-29 13:08:37,983.983 INFO    ] ================================================
[2026-08-29 13:08:38,454.454 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:08:38
[2026-08-29 13:08:39,056.056 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:08:39,329.329 INFO    ] Initializing speech engine...
[2026-08-29 13:08:39,340.340 INFO    ] 2026-08-29 13:08:39
[2026-08-29 13:08:39,600.600 INFO    ] 2026-08-29 13:08:39
[2026-08-29 13:08:39,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:08:39,833.833 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:08:39,847.847 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:08:39,979.979 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:08:40,003.003 INFO    ] time= 29/08/2026 13:08:39
[2026-08-29 13:08:40,026.026 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:08:40,035.035 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:08:40,114.114 INFO    ] No existing commands found in stream
[2026-08-29 13:08:45,126.126 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:08:45,129.129 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-08-29 13:08:49,174.174 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:08:49,175.175 INFO    ] Checking for system updates...
[2026-08-29 13:08:49,196.196 INFO    ] 200
[2026-08-29 13:08:49,197.197 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:08:49,230.230 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:08:49,232.232 INFO    ] No update needed
[2026-08-29 13:08:49,233.233 INFO    ] Checking for camera pi updates...
[2026-08-29 13:08:49,254.254 INFO    ] 200
[2026-08-29 13:08:49,256.256 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:08:49,280.280 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:08:49,360.360 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:08:49,362.362 INFO    ] No camera update needed
[2026-08-29 13:08:49,363.363 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:08:49,364.364 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:08:49,367.367 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:08:49,370.370 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:08:51,410.410 INFO    ] ================================================
[2026-08-29 13:08:51,425.425 INFO    ] Launching Daemon at Sat Aug 29 13:08:51 IST 2026
[2026-08-29 13:08:51,436.436 INFO    ] ================================================
[2026-08-29 13:08:51,768.768 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:08:51
[2026-08-29 13:08:52,086.086 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:08:52,224.224 INFO    ] Initializing speech engine...
[2026-08-29 13:08:52,232.232 INFO    ] 2026-08-29 13:08:52
[2026-08-29 13:08:52,438.438 INFO    ] 2026-08-29 13:08:52
[2026-08-29 13:08:52,468.468 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:08:52,651.651 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:08:52,655.655 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:08:52,796.796 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:08:52,854.854 INFO    ] time= 29/08/2026 13:08:52
[2026-08-29 13:08:52,881.881 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:08:52,888.888 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:08:52,955.955 INFO    ] No existing commands found in stream
[2026-08-29 13:08:57,964.964 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:08:57,967.967 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-08-29 13:09:00,837.837 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:09:00,839.839 INFO    ] Checking for system updates...
[2026-08-29 13:09:00,860.860 INFO    ] 200
[2026-08-29 13:09:00,862.862 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:09:00,892.892 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:09:00,893.893 INFO    ] No update needed
[2026-08-29 13:09:00,895.895 INFO    ] Checking for camera pi updates...
[2026-08-29 13:09:00,916.916 INFO    ] 200
[2026-08-29 13:09:00,917.917 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:09:00,942.942 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:09:01,026.026 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:09:01,028.028 INFO    ] No camera update needed
[2026-08-29 13:09:01,029.029 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:09:01,030.030 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:09:01,034.034 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:09:01,037.037 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:09:03,086.086 INFO    ] ================================================
[2026-08-29 13:09:03,103.103 INFO    ] Launching Daemon at Sat Aug 29 13:09:03 IST 2026
[2026-08-29 13:09:03,115.115 INFO    ] ================================================
[2026-08-29 13:09:03,813.813 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:09:03
[2026-08-29 13:09:04,441.441 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:09:04,715.715 INFO    ] Initializing speech engine...
[2026-08-29 13:09:04,724.724 INFO    ] 2026-08-29 13:09:04
[2026-08-29 13:09:04,973.973 INFO    ] 2026-08-29 13:09:04
[2026-08-29 13:09:05,009.009 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:09:05,198.198 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:09:05,206.206 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:09:05,334.334 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:09:05,381.381 INFO    ] time= 29/08/2026 13:09:05
[2026-08-29 13:09:05,451.451 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:09:05,455.455 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:09:05,556.556 INFO    ] No existing commands found in stream
[2026-08-29 13:09:10,590.590 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:09:10,593.593 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-08-29 13:09:12,851.851 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:09:12,853.853 INFO    ] Checking for system updates...
[2026-08-29 13:09:12,874.874 INFO    ] 200
[2026-08-29 13:09:12,876.876 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:09:12,905.905 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:09:12,907.907 INFO    ] No update needed
[2026-08-29 13:09:12,908.908 INFO    ] Checking for camera pi updates...
[2026-08-29 13:09:12,928.928 INFO    ] 200
[2026-08-29 13:09:12,929.929 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:09:12,952.952 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:09:13,054.054 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:09:13,055.055 INFO    ] No camera update needed
[2026-08-29 13:09:13,056.056 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:09:13,058.058 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:09:13,061.061 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:09:13,063.063 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:09:15,103.103 INFO    ] ================================================
[2026-08-29 13:09:15,118.118 INFO    ] Launching Daemon at Sat Aug 29 13:09:15 IST 2026
[2026-08-29 13:09:15,129.129 INFO    ] ================================================
[2026-08-29 13:09:15,482.482 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:09:15
[2026-08-29 13:09:15,798.798 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:09:15,936.936 INFO    ] Initializing speech engine...
[2026-08-29 13:09:15,946.946 INFO    ] 2026-08-29 13:09:15
[2026-08-29 13:09:16,138.138 INFO    ] 2026-08-29 13:09:16
[2026-08-29 13:09:16,218.218 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:09:16,366.366 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:09:16,375.375 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:09:16,507.507 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:09:16,549.549 INFO    ] time= 29/08/2026 13:09:16
[2026-08-29 13:09:16,598.598 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:09:16,640.640 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:09:16,779.779 INFO    ] No existing commands found in stream
[2026-08-29 13:09:21,798.798 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:09:21,801.801 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-08-29 13:09:24,463.463 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:09:24,465.465 INFO    ] Checking for system updates...
[2026-08-29 13:09:24,486.486 INFO    ] 200
[2026-08-29 13:09:24,488.488 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:09:24,523.523 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:09:24,525.525 INFO    ] No update needed
[2026-08-29 13:09:24,526.526 INFO    ] Checking for camera pi updates...
[2026-08-29 13:09:24,547.547 INFO    ] 200
[2026-08-29 13:09:24,549.549 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:09:24,574.574 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:09:24,657.657 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:09:24,659.659 INFO    ] No camera update needed
[2026-08-29 13:09:24,660.660 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:09:24,661.661 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:09:24,665.665 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:09:24,668.668 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:09:26,706.706 INFO    ] ================================================
[2026-08-29 13:09:26,722.722 INFO    ] Launching Daemon at Sat Aug 29 13:09:26 IST 2026
[2026-08-29 13:09:26,733.733 INFO    ] ================================================
[2026-08-29 13:09:27,243.243 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:09:27
[2026-08-29 13:09:27,845.845 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:09:28,109.109 INFO    ] Initializing speech engine...
[2026-08-29 13:09:28,126.126 INFO    ] 2026-08-29 13:09:28
[2026-08-29 13:09:28,414.414 INFO    ] 2026-08-29 13:09:28
[2026-08-29 13:09:28,453.453 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:09:28,648.648 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:09:28,655.655 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:09:28,790.790 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:09:28,797.797 INFO    ] time= 29/08/2026 13:09:28
[2026-08-29 13:09:28,816.816 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:09:28,837.837 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:09:28,922.922 INFO    ] No existing commands found in stream
[2026-08-29 13:09:33,935.935 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:09:33,938.938 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-08-29 13:09:35,978.978 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:09:35,980.980 INFO    ] Checking for system updates...
[2026-08-29 13:09:36,000.000 INFO    ] 200
[2026-08-29 13:09:36,001.001 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:09:36,032.032 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:09:36,033.033 INFO    ] No update needed
[2026-08-29 13:09:36,034.034 INFO    ] Checking for camera pi updates...
[2026-08-29 13:09:36,054.054 INFO    ] 200
[2026-08-29 13:09:36,056.056 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:09:36,079.079 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:09:36,171.171 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:09:36,173.173 INFO    ] No camera update needed
[2026-08-29 13:09:36,174.174 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:09:36,175.175 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:09:36,178.178 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:09:36,181.181 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:09:38,220.220 INFO    ] ================================================
[2026-08-29 13:09:38,235.235 INFO    ] Launching Daemon at Sat Aug 29 13:09:38 IST 2026
[2026-08-29 13:09:38,246.246 INFO    ] ================================================
[2026-08-29 13:09:38,667.667 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:09:38
[2026-08-29 13:09:39,271.271 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:09:39,532.532 INFO    ] Initializing speech engine...
[2026-08-29 13:09:39,540.540 INFO    ] 2026-08-29 13:09:39
[2026-08-29 13:09:39,839.839 INFO    ] 2026-08-29 13:09:39
[2026-08-29 13:09:39,878.878 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:09:40,076.076 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:09:40,091.091 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:09:40,216.216 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:09:40,223.223 INFO    ] time= 29/08/2026 13:09:40
[2026-08-29 13:09:40,244.244 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:09:40,266.266 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:09:40,350.350 INFO    ] No existing commands found in stream
[2026-08-29 13:09:45,367.367 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:09:45,369.369 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-08-29 13:09:48,040.040 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:09:48,041.041 INFO    ] Checking for system updates...
[2026-08-29 13:09:48,062.062 INFO    ] 200
[2026-08-29 13:09:48,063.063 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:09:48,095.095 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:09:48,097.097 INFO    ] No update needed
[2026-08-29 13:09:48,098.098 INFO    ] Checking for camera pi updates...
[2026-08-29 13:09:48,117.117 INFO    ] 200
[2026-08-29 13:09:48,118.118 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:09:48,143.143 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:09:48,223.223 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:09:48,224.224 INFO    ] No camera update needed
[2026-08-29 13:09:48,226.226 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:09:48,227.227 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:09:48,230.230 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:09:48,233.233 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:09:50,272.272 INFO    ] ================================================
[2026-08-29 13:09:50,287.287 INFO    ] Launching Daemon at Sat Aug 29 13:09:50 IST 2026
[2026-08-29 13:09:50,298.298 INFO    ] ================================================
[2026-08-29 13:09:50,669.669 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:09:50
[2026-08-29 13:09:50,985.985 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:09:51,122.122 INFO    ] Initializing speech engine...
[2026-08-29 13:09:51,135.135 INFO    ] 2026-08-29 13:09:51
[2026-08-29 13:09:51,353.353 INFO    ] 2026-08-29 13:09:51
[2026-08-29 13:09:51,384.384 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:09:51,517.517 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:09:51,580.580 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:09:51,726.726 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:09:51,773.773 INFO    ] time= 29/08/2026 13:09:51
[2026-08-29 13:09:51,829.829 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:09:51,835.835 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:09:51,911.911 INFO    ] No existing commands found in stream
[2026-08-29 13:09:56,920.920 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:09:56,923.923 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-08-29 13:10:00,588.588 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:10:00,589.589 INFO    ] Checking for system updates...
[2026-08-29 13:10:00,610.610 INFO    ] 200
[2026-08-29 13:10:00,611.611 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:10:00,645.645 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:10:00,646.646 INFO    ] No update needed
[2026-08-29 13:10:00,647.647 INFO    ] Checking for camera pi updates...
[2026-08-29 13:10:00,666.666 INFO    ] 200
[2026-08-29 13:10:00,667.667 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:10:00,690.690 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:10:00,772.772 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:10:00,774.774 INFO    ] No camera update needed
[2026-08-29 13:10:00,775.775 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:10:00,776.776 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:10:00,779.779 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:10:00,782.782 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:10:02,835.835 INFO    ] ================================================
[2026-08-29 13:10:02,866.866 INFO    ] Launching Daemon at Sat Aug 29 13:10:02 IST 2026
[2026-08-29 13:10:02,887.887 INFO    ] ================================================
[2026-08-29 13:10:03,684.684 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:10:03
[2026-08-29 13:10:04,369.369 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:10:04,681.681 INFO    ] Initializing speech engine...
[2026-08-29 13:10:04,693.693 INFO    ] 2026-08-29 13:10:04
[2026-08-29 13:10:04,994.994 INFO    ] 2026-08-29 13:10:04
[2026-08-29 13:10:05,024.024 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:10:05,191.191 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:10:05,233.233 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:10:05,376.376 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:10:05,386.386 INFO    ] time= 29/08/2026 13:10:05
[2026-08-29 13:10:05,433.433 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:10:05,485.485 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:10:05,587.587 INFO    ] No existing commands found in stream
[2026-08-29 13:10:10,602.602 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:10:10,605.605 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-08-29 13:10:16,892.892 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:10:16,893.893 INFO    ] Checking for system updates...
[2026-08-29 13:10:16,914.914 INFO    ] 200
[2026-08-29 13:10:16,915.915 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:10:16,950.950 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:10:16,951.951 INFO    ] No update needed
[2026-08-29 13:10:16,953.953 INFO    ] Checking for camera pi updates...
[2026-08-29 13:10:16,973.973 INFO    ] 200
[2026-08-29 13:10:16,974.974 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:10:16,999.999 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:10:17,078.078 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:10:17,080.080 INFO    ] No camera update needed
[2026-08-29 13:10:17,081.081 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:10:17,083.083 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:10:17,086.086 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:10:17,089.089 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:10:19,135.135 INFO    ] ================================================
[2026-08-29 13:10:19,151.151 INFO    ] Launching Daemon at Sat Aug 29 13:10:19 IST 2026
[2026-08-29 13:10:19,162.162 INFO    ] ================================================
[2026-08-29 13:10:19,747.747 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:10:19
[2026-08-29 13:10:20,431.431 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:10:20,743.743 INFO    ] Initializing speech engine...
[2026-08-29 13:10:20,755.755 INFO    ] 2026-08-29 13:10:20
[2026-08-29 13:10:21,033.033 INFO    ] 2026-08-29 13:10:21
[2026-08-29 13:10:21,091.091 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:10:21,322.322 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:10:21,334.334 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:10:21,471.471 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:10:21,516.516 INFO    ] time= 29/08/2026 13:10:21
[2026-08-29 13:10:21,561.561 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:10:21,606.606 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:10:21,665.665 INFO    ] No existing commands found in stream
[2026-08-29 13:10:26,678.678 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:10:26,681.681 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-08-29 13:10:27,821.821 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:10:27,823.823 INFO    ] Checking for system updates...
[2026-08-29 13:10:27,844.844 INFO    ] 200
[2026-08-29 13:10:27,845.845 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:10:27,875.875 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:10:27,877.877 INFO    ] No update needed
[2026-08-29 13:10:27,878.878 INFO    ] Checking for camera pi updates...
[2026-08-29 13:10:27,898.898 INFO    ] 200
[2026-08-29 13:10:27,899.899 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:10:27,924.924 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:10:28,002.002 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:10:28,004.004 INFO    ] No camera update needed
[2026-08-29 13:10:28,005.005 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:10:28,006.006 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:10:28,009.009 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:10:28,012.012 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:10:30,052.052 INFO    ] ================================================
[2026-08-29 13:10:30,067.067 INFO    ] Launching Daemon at Sat Aug 29 13:10:30 IST 2026
[2026-08-29 13:10:30,078.078 INFO    ] ================================================
[2026-08-29 13:10:30,517.517 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:10:30
[2026-08-29 13:10:31,130.130 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:10:31,440.440 INFO    ] Initializing speech engine...
[2026-08-29 13:10:31,448.448 INFO    ] 2026-08-29 13:10:31
[2026-08-29 13:10:31,740.740 INFO    ] 2026-08-29 13:10:31
[2026-08-29 13:10:31,805.805 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:10:32,048.048 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:10:32,057.057 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:10:32,197.197 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:10:32,204.204 INFO    ] time= 29/08/2026 13:10:32
[2026-08-29 13:10:32,249.249 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:10:32,294.294 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:10:32,369.369 INFO    ] No existing commands found in stream
[2026-08-29 13:10:37,386.386 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:10:37,388.388 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-08-29 13:10:39,160.160 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:10:39,162.162 INFO    ] Checking for system updates...
[2026-08-29 13:10:39,182.182 INFO    ] 200
[2026-08-29 13:10:39,184.184 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:10:39,214.214 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:10:39,216.216 INFO    ] No update needed
[2026-08-29 13:10:39,217.217 INFO    ] Checking for camera pi updates...
[2026-08-29 13:10:39,236.236 INFO    ] 200
[2026-08-29 13:10:39,237.237 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:10:39,262.262 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:10:39,440.440 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:10:39,441.441 INFO    ] No camera update needed
[2026-08-29 13:10:39,442.442 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:10:39,444.444 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:10:39,446.446 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:10:39,449.449 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:10:41,494.494 INFO    ] ================================================
[2026-08-29 13:10:41,510.510 INFO    ] Launching Daemon at Sat Aug 29 13:10:41 IST 2026
[2026-08-29 13:10:41,522.522 INFO    ] ================================================
[2026-08-29 13:10:41,896.896 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:10:41
[2026-08-29 13:10:42,215.215 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:10:42,350.350 INFO    ] Initializing speech engine...
[2026-08-29 13:10:42,354.354 INFO    ] 2026-08-29 13:10:42
[2026-08-29 13:10:42,586.586 INFO    ] 2026-08-29 13:10:42
[2026-08-29 13:10:42,617.617 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:10:42,749.749 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:10:42,806.806 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:10:42,945.945 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:10:43,012.012 INFO    ] time= 29/08/2026 13:10:42
[2026-08-29 13:10:43,046.046 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:10:43,048.048 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:10:43,120.120 INFO    ] No existing commands found in stream
[2026-08-29 13:10:48,130.130 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:10:48,133.133 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-08-29 13:10:49,225.225 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:10:49,227.227 INFO    ] Checking for system updates...
[2026-08-29 13:10:49,248.248 INFO    ] 200
[2026-08-29 13:10:49,249.249 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:10:49,287.287 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:10:49,289.289 INFO    ] No update needed
[2026-08-29 13:10:49,292.292 INFO    ] Checking for camera pi updates...
[2026-08-29 13:10:49,329.329 INFO    ] 200
[2026-08-29 13:10:49,331.331 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:10:49,372.372 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:10:49,468.468 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:10:49,471.471 INFO    ] No camera update needed
[2026-08-29 13:10:49,473.473 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:10:49,475.475 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:10:49,480.480 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:10:49,485.485 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:10:51,525.525 INFO    ] ================================================
[2026-08-29 13:10:51,540.540 INFO    ] Launching Daemon at Sat Aug 29 13:10:51 IST 2026
[2026-08-29 13:10:51,551.551 INFO    ] ================================================
[2026-08-29 13:10:52,217.217 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:10:52
[2026-08-29 13:10:52,651.651 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:10:52,919.919 INFO    ] Initializing speech engine...
[2026-08-29 13:10:52,930.930 INFO    ] 2026-08-29 13:10:52
[2026-08-29 13:10:53,243.243 INFO    ] 2026-08-29 13:10:53
[2026-08-29 13:10:53,328.328 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:10:53,485.485 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:10:53,491.491 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:10:53,625.625 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:10:53,698.698 INFO    ] time= 29/08/2026 13:10:53
[2026-08-29 13:10:53,755.755 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:10:53,761.761 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:10:53,887.887 INFO    ] No existing commands found in stream
[2026-08-29 13:10:58,921.921 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:10:58,924.924 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 13:11:01,313.313 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:11:01,315.315 INFO    ] Checking for system updates...
[2026-08-29 13:11:01,335.335 INFO    ] 200
[2026-08-29 13:11:01,337.337 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:11:01,369.369 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:11:01,371.371 INFO    ] No update needed
[2026-08-29 13:11:01,372.372 INFO    ] Checking for camera pi updates...
[2026-08-29 13:11:01,396.396 INFO    ] 200
[2026-08-29 13:11:01,397.397 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:11:01,425.425 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:11:01,508.508 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:11:01,510.510 INFO    ] No camera update needed
[2026-08-29 13:11:01,511.511 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:11:01,513.513 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:11:01,516.516 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:11:01,519.519 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:11:03,560.560 INFO    ] ================================================
[2026-08-29 13:11:03,575.575 INFO    ] Launching Daemon at Sat Aug 29 13:11:03 IST 2026
[2026-08-29 13:11:03,586.586 INFO    ] ================================================
[2026-08-29 13:11:04,156.156 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:11:04
[2026-08-29 13:11:04,742.742 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:11:05,011.011 INFO    ] Initializing speech engine...
[2026-08-29 13:11:05,024.024 INFO    ] 2026-08-29 13:11:05
[2026-08-29 13:11:05,253.253 INFO    ] 2026-08-29 13:11:05
[2026-08-29 13:11:05,335.335 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:11:05,488.488 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:11:05,497.497 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:11:05,634.634 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:11:05,671.671 INFO    ] time= 29/08/2026 13:11:05
[2026-08-29 13:11:05,731.731 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:11:05,771.771 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:11:05,825.825 INFO    ] No existing commands found in stream
[2026-08-29 13:11:10,837.837 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:11:10,840.840 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-08-29 13:11:13,448.448 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:11:13,450.450 INFO    ] Checking for system updates...
[2026-08-29 13:11:13,470.470 INFO    ] 200
[2026-08-29 13:11:13,472.472 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:11:13,502.502 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:11:13,503.503 INFO    ] No update needed
[2026-08-29 13:11:13,505.505 INFO    ] Checking for camera pi updates...
[2026-08-29 13:11:13,524.524 INFO    ] 200
[2026-08-29 13:11:13,525.525 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:11:13,548.548 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:11:13,632.632 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:11:13,634.634 INFO    ] No camera update needed
[2026-08-29 13:11:13,635.635 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:11:13,636.636 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:11:13,639.639 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:11:13,642.642 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:11:15,682.682 INFO    ] ================================================
[2026-08-29 13:11:15,698.698 INFO    ] Launching Daemon at Sat Aug 29 13:11:15 IST 2026
[2026-08-29 13:11:15,709.709 INFO    ] ================================================
[2026-08-29 13:11:16,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:11:16
[2026-08-29 13:11:16,393.393 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:11:16,526.526 INFO    ] Initializing speech engine...
[2026-08-29 13:11:16,540.540 INFO    ] 2026-08-29 13:11:16
[2026-08-29 13:11:16,748.748 INFO    ] 2026-08-29 13:11:16
[2026-08-29 13:11:16,778.778 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:11:16,906.906 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:11:16,963.963 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:11:17,092.092 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:11:17,144.144 INFO    ] time= 29/08/2026 13:11:17
[2026-08-29 13:11:17,190.190 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:11:17,195.195 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:11:17,268.268 INFO    ] No existing commands found in stream
[2026-08-29 13:11:22,282.282 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:11:22,286.286 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-08-29 13:11:25,568.568 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:11:25,570.570 INFO    ] Checking for system updates...
[2026-08-29 13:11:25,591.591 INFO    ] 200
[2026-08-29 13:11:25,592.592 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:11:25,627.627 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:11:25,628.628 INFO    ] No update needed
[2026-08-29 13:11:25,630.630 INFO    ] Checking for camera pi updates...
[2026-08-29 13:11:25,650.650 INFO    ] 200
[2026-08-29 13:11:25,651.651 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:11:25,675.675 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:11:25,752.752 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:11:25,754.754 INFO    ] No camera update needed
[2026-08-29 13:11:25,755.755 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:11:25,756.756 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:11:25,759.759 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:11:25,762.762 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:11:27,802.802 INFO    ] ================================================
[2026-08-29 13:11:27,818.818 INFO    ] Launching Daemon at Sat Aug 29 13:11:27 IST 2026
[2026-08-29 13:11:27,829.829 INFO    ] ================================================
[2026-08-29 13:11:28,308.308 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:11:28
[2026-08-29 13:11:28,911.911 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:11:29,193.193 INFO    ] Initializing speech engine...
[2026-08-29 13:11:29,199.199 INFO    ] 2026-08-29 13:11:29
[2026-08-29 13:11:29,460.460 INFO    ] 2026-08-29 13:11:29
[2026-08-29 13:11:29,516.516 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:11:29,738.738 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:11:29,747.747 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:11:29,882.882 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:11:29,917.917 INFO    ] time= 29/08/2026 13:11:29
[2026-08-29 13:11:29,981.981 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:11:30,013.013 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:11:30,073.073 INFO    ] No existing commands found in stream
[2026-08-29 13:11:35,093.093 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:11:35,096.096 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-08-29 13:11:37,396.396 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:11:37,397.397 INFO    ] Checking for system updates...
[2026-08-29 13:11:37,419.419 INFO    ] 200
[2026-08-29 13:11:37,420.420 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:11:37,452.452 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:11:37,453.453 INFO    ] No update needed
[2026-08-29 13:11:37,455.455 INFO    ] Checking for camera pi updates...
[2026-08-29 13:11:37,474.474 INFO    ] 200
[2026-08-29 13:11:37,475.475 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:11:37,498.498 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:11:37,578.578 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:11:37,580.580 INFO    ] No camera update needed
[2026-08-29 13:11:37,581.581 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:11:37,582.582 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:11:37,585.585 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:11:37,588.588 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:11:39,626.626 INFO    ] ================================================
[2026-08-29 13:11:39,641.641 INFO    ] Launching Daemon at Sat Aug 29 13:11:39 IST 2026
[2026-08-29 13:11:39,651.651 INFO    ] ================================================
[2026-08-29 13:11:40,014.014 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:11:40
[2026-08-29 13:11:40,355.355 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:11:40,502.502 INFO    ] Initializing speech engine...
[2026-08-29 13:11:40,515.515 INFO    ] 2026-08-29 13:11:40
[2026-08-29 13:11:40,783.783 INFO    ] 2026-08-29 13:11:40
[2026-08-29 13:11:40,821.821 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:11:41,000.000 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:11:41,024.024 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:11:41,158.158 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:11:41,166.166 INFO    ] time= 29/08/2026 13:11:41
[2026-08-29 13:11:41,176.176 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:11:41,216.216 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:11:41,322.322 INFO    ] No existing commands found in stream
[2026-08-29 13:11:46,353.353 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:11:46,357.357 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-08-29 13:11:50,572.572 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:11:50,573.573 INFO    ] Checking for system updates...
[2026-08-29 13:11:50,594.594 INFO    ] 200
[2026-08-29 13:11:50,595.595 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:11:50,627.627 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:11:50,629.629 INFO    ] No update needed
[2026-08-29 13:11:50,630.630 INFO    ] Checking for camera pi updates...
[2026-08-29 13:11:50,649.649 INFO    ] 200
[2026-08-29 13:11:50,650.650 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:11:50,673.673 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:11:50,761.761 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:11:50,762.762 INFO    ] No camera update needed
[2026-08-29 13:11:50,764.764 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:11:50,765.765 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:11:50,768.768 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:11:50,770.770 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:11:52,809.809 INFO    ] ================================================
[2026-08-29 13:11:52,825.825 INFO    ] Launching Daemon at Sat Aug 29 13:11:52 IST 2026
[2026-08-29 13:11:52,835.835 INFO    ] ================================================
[2026-08-29 13:11:53,314.314 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:11:53
[2026-08-29 13:11:53,899.899 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:11:54,157.157 INFO    ] Initializing speech engine...
[2026-08-29 13:11:54,182.182 INFO    ] 2026-08-29 13:11:54
[2026-08-29 13:11:54,455.455 INFO    ] 2026-08-29 13:11:54
[2026-08-29 13:11:54,482.482 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:11:54,644.644 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:11:54,653.653 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:11:54,805.805 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:11:54,815.815 INFO    ] time= 29/08/2026 13:11:54
[2026-08-29 13:11:54,820.820 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:11:54,825.825 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:11:54,875.875 INFO    ] No existing commands found in stream
[2026-08-29 13:11:59,884.884 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:11:59,887.887 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-08-29 13:12:02,684.684 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:12:02,687.687 INFO    ] Checking for system updates...
[2026-08-29 13:12:02,728.728 INFO    ] 200
[2026-08-29 13:12:02,730.730 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:12:02,797.797 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:12:02,800.800 INFO    ] No update needed
[2026-08-29 13:12:02,803.803 INFO    ] Checking for camera pi updates...
[2026-08-29 13:12:02,850.850 INFO    ] 200
[2026-08-29 13:12:02,854.854 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:12:02,916.916 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:12:03,031.031 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:12:03,034.034 INFO    ] No camera update needed
[2026-08-29 13:12:03,038.038 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:12:03,041.041 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:12:03,048.048 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:12:03,055.055 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:12:05,096.096 INFO    ] ================================================
[2026-08-29 13:12:05,112.112 INFO    ] Launching Daemon at Sat Aug 29 13:12:05 IST 2026
[2026-08-29 13:12:05,123.123 INFO    ] ================================================
[2026-08-29 13:12:05,466.466 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:12:05
[2026-08-29 13:12:05,803.803 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:12:05,948.948 INFO    ] Initializing speech engine...
[2026-08-29 13:12:05,958.958 INFO    ] 2026-08-29 13:12:05
[2026-08-29 13:12:06,168.168 INFO    ] 2026-08-29 13:12:06
[2026-08-29 13:12:06,198.198 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:12:06,335.335 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:12:06,377.377 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:12:06,520.520 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:12:06,528.528 INFO    ] time= 29/08/2026 13:12:06
[2026-08-29 13:12:06,536.536 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:12:06,543.543 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:12:06,640.640 INFO    ] No existing commands found in stream
[2026-08-29 13:12:11,660.660 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:12:11,663.663 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-08-29 13:12:14,274.274 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:12:14,275.275 INFO    ] Checking for system updates...
[2026-08-29 13:12:14,296.296 INFO    ] 200
[2026-08-29 13:12:14,298.298 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:12:14,327.327 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:12:14,328.328 INFO    ] No update needed
[2026-08-29 13:12:14,330.330 INFO    ] Checking for camera pi updates...
[2026-08-29 13:12:14,349.349 INFO    ] 200
[2026-08-29 13:12:14,350.350 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:12:14,374.374 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:12:14,453.453 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:12:14,454.454 INFO    ] No camera update needed
[2026-08-29 13:12:14,456.456 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:12:14,457.457 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:12:14,460.460 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:12:14,463.463 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:12:16,503.503 INFO    ] ================================================
[2026-08-29 13:12:16,518.518 INFO    ] Launching Daemon at Sat Aug 29 13:12:16 IST 2026
[2026-08-29 13:12:16,530.530 INFO    ] ================================================
[2026-08-29 13:12:16,880.880 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:12:16
[2026-08-29 13:12:17,196.196 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:12:17,336.336 INFO    ] Initializing speech engine...
[2026-08-29 13:12:17,345.345 INFO    ] 2026-08-29 13:12:17
[2026-08-29 13:12:17,528.528 INFO    ] 2026-08-29 13:12:17
[2026-08-29 13:12:17,594.594 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:12:17,778.778 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:12:17,780.780 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:12:17,897.897 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:12:17,904.904 INFO    ] time= 29/08/2026 13:12:17
[2026-08-29 13:12:17,950.950 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:12:17,971.971 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:12:18,081.081 INFO    ] No existing commands found in stream
[2026-08-29 13:12:23,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:12:23,107.107 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-08-29 13:12:24,705.705 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:12:24,706.706 INFO    ] Checking for system updates...
[2026-08-29 13:12:24,728.728 INFO    ] 200
[2026-08-29 13:12:24,729.729 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:12:24,759.759 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:12:24,760.760 INFO    ] No update needed
[2026-08-29 13:12:24,761.761 INFO    ] Checking for camera pi updates...
[2026-08-29 13:12:24,780.780 INFO    ] 200
[2026-08-29 13:12:24,782.782 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:12:24,805.805 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:12:24,884.884 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:12:24,885.885 INFO    ] No camera update needed
[2026-08-29 13:12:24,886.886 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:12:24,887.887 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:12:24,890.890 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:12:24,893.893 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:12:26,933.933 INFO    ] ================================================
[2026-08-29 13:12:26,950.950 INFO    ] Launching Daemon at Sat Aug 29 13:12:26 IST 2026
[2026-08-29 13:12:26,962.962 INFO    ] ================================================
[2026-08-29 13:12:27,336.336 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:12:27
[2026-08-29 13:12:27,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:12:27,824.824 INFO    ] Initializing speech engine...
[2026-08-29 13:12:27,834.834 INFO    ] 2026-08-29 13:12:27
[2026-08-29 13:12:28,044.044 INFO    ] 2026-08-29 13:12:28
[2026-08-29 13:12:28,075.075 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:12:28,211.211 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:12:28,217.217 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:12:28,395.395 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:12:28,423.423 INFO    ] time= 29/08/2026 13:12:28
[2026-08-29 13:12:28,442.442 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:12:28,451.451 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:12:28,560.560 INFO    ] No existing commands found in stream
[2026-08-29 13:12:33,585.585 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:12:33,588.588 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-08-29 13:12:36,618.618 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:12:36,621.621 INFO    ] Checking for system updates...
[2026-08-29 13:12:36,661.661 INFO    ] 200
[2026-08-29 13:12:36,664.664 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:12:36,705.705 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:12:36,707.707 INFO    ] No update needed
[2026-08-29 13:12:36,708.708 INFO    ] Checking for camera pi updates...
[2026-08-29 13:12:36,728.728 INFO    ] 200
[2026-08-29 13:12:36,729.729 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:12:36,753.753 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:12:36,847.847 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:12:36,849.849 INFO    ] No camera update needed
[2026-08-29 13:12:36,850.850 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:12:36,852.852 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:12:36,855.855 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:12:36,858.858 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:12:38,898.898 INFO    ] ================================================
[2026-08-29 13:12:38,914.914 INFO    ] Launching Daemon at Sat Aug 29 13:12:38 IST 2026
[2026-08-29 13:12:38,925.925 INFO    ] ================================================
[2026-08-29 13:12:39,291.291 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:12:39
[2026-08-29 13:12:39,635.635 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:12:39,786.786 INFO    ] Initializing speech engine...
[2026-08-29 13:12:39,792.792 INFO    ] 2026-08-29 13:12:39
[2026-08-29 13:12:40,001.001 INFO    ] 2026-08-29 13:12:39
[2026-08-29 13:12:40,045.045 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:12:40,211.211 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:12:40,220.220 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:12:40,398.398 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:12:40,426.426 INFO    ] time= 29/08/2026 13:12:40
[2026-08-29 13:12:40,443.443 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:12:40,474.474 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:12:40,576.576 INFO    ] No existing commands found in stream
[2026-08-29 13:12:45,604.604 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:12:45,607.607 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-08-29 13:12:48,909.909 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:12:48,911.911 INFO    ] Checking for system updates...
[2026-08-29 13:12:48,934.934 INFO    ] 200
[2026-08-29 13:12:48,935.935 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:12:48,968.968 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:12:48,969.969 INFO    ] No update needed
[2026-08-29 13:12:48,971.971 INFO    ] Checking for camera pi updates...
[2026-08-29 13:12:48,993.993 INFO    ] 200
[2026-08-29 13:12:48,995.995 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:12:49,019.019 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:12:49,190.190 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:12:49,191.191 INFO    ] No camera update needed
[2026-08-29 13:12:49,193.193 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:12:49,194.194 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:12:49,198.198 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:12:49,201.201 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:12:51,241.241 INFO    ] ================================================
[2026-08-29 13:12:51,257.257 INFO    ] Launching Daemon at Sat Aug 29 13:12:51 IST 2026
[2026-08-29 13:12:51,268.268 INFO    ] ================================================
[2026-08-29 13:12:51,774.774 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:12:51
[2026-08-29 13:12:52,365.365 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:12:52,624.624 INFO    ] Initializing speech engine...
[2026-08-29 13:12:52,630.630 INFO    ] 2026-08-29 13:12:52
[2026-08-29 13:12:52,932.932 INFO    ] 2026-08-29 13:12:52
[2026-08-29 13:12:52,959.959 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:12:53,124.124 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:12:53,134.134 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:12:53,283.283 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:12:53,293.293 INFO    ] time= 29/08/2026 13:12:53
[2026-08-29 13:12:53,299.299 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:12:53,322.322 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:12:53,376.376 INFO    ] No existing commands found in stream
[2026-08-29 13:12:58,400.400 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:12:58,403.403 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-08-29 13:13:00,844.844 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:13:00,846.846 INFO    ] Checking for system updates...
[2026-08-29 13:13:00,866.866 INFO    ] 200
[2026-08-29 13:13:00,867.867 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:13:00,902.902 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:13:00,903.903 INFO    ] No update needed
[2026-08-29 13:13:00,905.905 INFO    ] Checking for camera pi updates...
[2026-08-29 13:13:00,924.924 INFO    ] 200
[2026-08-29 13:13:00,925.925 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:13:00,948.948 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:13:01,024.024 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:13:01,025.025 INFO    ] No camera update needed
[2026-08-29 13:13:01,027.027 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:13:01,028.028 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:13:01,031.031 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:13:01,033.033 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:13:03,077.077 INFO    ] ================================================
[2026-08-29 13:13:03,092.092 INFO    ] Launching Daemon at Sat Aug 29 13:13:03 IST 2026
[2026-08-29 13:13:03,103.103 INFO    ] ================================================
[2026-08-29 13:13:03,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:13:03
[2026-08-29 13:13:04,304.304 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:13:04,565.565 INFO    ] Initializing speech engine...
[2026-08-29 13:13:04,574.574 INFO    ] 2026-08-29 13:13:04
[2026-08-29 13:13:04,799.799 INFO    ] 2026-08-29 13:13:04
[2026-08-29 13:13:04,854.854 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:13:05,017.017 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:13:05,030.030 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:13:05,153.153 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:13:05,160.160 INFO    ] time= 29/08/2026 13:13:05
[2026-08-29 13:13:05,175.175 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:13:05,201.201 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:13:05,287.287 INFO    ] No existing commands found in stream
[2026-08-29 13:13:10,305.305 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:13:10,308.308 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-08-29 13:13:14,359.359 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:13:14,361.361 INFO    ] Checking for system updates...
[2026-08-29 13:13:14,381.381 INFO    ] 200
[2026-08-29 13:13:14,383.383 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:13:14,413.413 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:13:14,414.414 INFO    ] No update needed
[2026-08-29 13:13:14,415.415 INFO    ] Checking for camera pi updates...
[2026-08-29 13:13:14,434.434 INFO    ] 200
[2026-08-29 13:13:14,436.436 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:13:14,458.458 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:13:14,557.557 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:13:14,559.559 INFO    ] No camera update needed
[2026-08-29 13:13:14,560.560 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:13:14,561.561 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:13:14,564.564 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:13:14,567.567 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:13:16,605.605 INFO    ] ================================================
[2026-08-29 13:13:16,621.621 INFO    ] Launching Daemon at Sat Aug 29 13:13:16 IST 2026
[2026-08-29 13:13:16,632.632 INFO    ] ================================================
[2026-08-29 13:13:16,979.979 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:13:16
[2026-08-29 13:13:17,317.317 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:13:17,470.470 INFO    ] Initializing speech engine...
[2026-08-29 13:13:17,476.476 INFO    ] 2026-08-29 13:13:17
[2026-08-29 13:13:17,686.686 INFO    ] 2026-08-29 13:13:17
[2026-08-29 13:13:17,716.716 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:13:17,841.841 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:13:17,905.905 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:13:18,042.042 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:13:18,100.100 INFO    ] time= 29/08/2026 13:13:18
[2026-08-29 13:13:18,139.139 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:13:18,145.145 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:13:18,214.214 INFO    ] No existing commands found in stream
[2026-08-29 13:13:23,229.229 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:13:23,232.232 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-08-29 13:13:25,532.532 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:13:25,534.534 INFO    ] Checking for system updates...
[2026-08-29 13:13:25,554.554 INFO    ] 200
[2026-08-29 13:13:25,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:13:25,586.586 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:13:25,587.587 INFO    ] No update needed
[2026-08-29 13:13:25,588.588 INFO    ] Checking for camera pi updates...
[2026-08-29 13:13:25,608.608 INFO    ] 200
[2026-08-29 13:13:25,609.609 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:13:25,634.634 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:13:25,700.700 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:13:25,702.702 INFO    ] No camera update needed
[2026-08-29 13:13:25,703.703 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:13:25,705.705 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:13:25,708.708 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:13:25,711.711 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:13:27,753.753 INFO    ] ================================================
[2026-08-29 13:13:27,768.768 INFO    ] Launching Daemon at Sat Aug 29 13:13:27 IST 2026
[2026-08-29 13:13:27,780.780 INFO    ] ================================================
[2026-08-29 13:13:28,279.279 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:13:28
[2026-08-29 13:13:28,864.864 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:13:29,115.115 INFO    ] Initializing speech engine...
[2026-08-29 13:13:29,127.127 INFO    ] 2026-08-29 13:13:29
[2026-08-29 13:13:29,395.395 INFO    ] 2026-08-29 13:13:29
[2026-08-29 13:13:29,440.440 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:13:29,656.656 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:13:29,705.705 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:13:29,843.843 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:13:29,891.891 INFO    ] time= 29/08/2026 13:13:29
[2026-08-29 13:13:29,957.957 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:13:29,984.984 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:13:30,101.101 INFO    ] No existing commands found in stream
[2026-08-29 13:13:35,125.125 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:13:35,128.128 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-08-29 13:13:35,549.549 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:13:35,551.551 INFO    ] Checking for system updates...
[2026-08-29 13:13:35,573.573 INFO    ] 200
[2026-08-29 13:13:35,574.574 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:13:35,607.607 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:13:35,609.609 INFO    ] No update needed
[2026-08-29 13:13:35,610.610 INFO    ] Checking for camera pi updates...
[2026-08-29 13:13:35,630.630 INFO    ] 200
[2026-08-29 13:13:35,631.631 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:13:35,654.654 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:13:35,727.727 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:13:35,729.729 INFO    ] No camera update needed
[2026-08-29 13:13:35,730.730 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:13:35,731.731 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:13:35,735.735 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:13:35,738.738 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:13:37,776.776 INFO    ] ================================================
[2026-08-29 13:13:37,793.793 INFO    ] Launching Daemon at Sat Aug 29 13:13:37 IST 2026
[2026-08-29 13:13:37,805.805 INFO    ] ================================================
[2026-08-29 13:13:38,158.158 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:13:38
[2026-08-29 13:13:38,499.499 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:13:38,652.652 INFO    ] Initializing speech engine...
[2026-08-29 13:13:38,658.658 INFO    ] 2026-08-29 13:13:38
[2026-08-29 13:13:38,902.902 INFO    ] 2026-08-29 13:13:38
[2026-08-29 13:13:38,977.977 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:13:39,147.147 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:13:39,157.157 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:13:39,324.324 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:13:39,366.366 INFO    ] time= 29/08/2026 13:13:39
[2026-08-29 13:13:39,389.389 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:13:39,418.418 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:13:39,511.511 INFO    ] No existing commands found in stream
[2026-08-29 13:13:44,540.540 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:13:44,543.543 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-08-29 13:13:44,926.926 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:13:44,927.927 INFO    ] Checking for system updates...
[2026-08-29 13:13:44,948.948 INFO    ] 200
[2026-08-29 13:13:44,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:13:44,982.982 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:13:44,984.984 INFO    ] No update needed
[2026-08-29 13:13:44,985.985 INFO    ] Checking for camera pi updates...
[2026-08-29 13:13:45,005.005 INFO    ] 200
[2026-08-29 13:13:45,006.006 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:13:45,029.029 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:13:45,105.105 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:13:45,106.106 INFO    ] No camera update needed
[2026-08-29 13:13:45,108.108 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:13:45,109.109 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:13:45,112.112 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:13:45,115.115 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:13:47,156.156 INFO    ] ================================================
[2026-08-29 13:13:47,171.171 INFO    ] Launching Daemon at Sat Aug 29 13:13:47 IST 2026
[2026-08-29 13:13:47,182.182 INFO    ] ================================================
[2026-08-29 13:13:47,559.559 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:13:47
[2026-08-29 13:13:47,897.897 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:13:48,049.049 INFO    ] Initializing speech engine...
[2026-08-29 13:13:48,054.054 INFO    ] 2026-08-29 13:13:48
[2026-08-29 13:13:48,296.296 INFO    ] 2026-08-29 13:13:48
[2026-08-29 13:13:48,354.354 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:13:48,579.579 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:13:48,589.589 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:13:48,736.736 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:13:48,796.796 INFO    ] time= 29/08/2026 13:13:48
[2026-08-29 13:13:48,854.854 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:13:48,861.861 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:13:48,982.982 INFO    ] No existing commands found in stream
[2026-08-29 13:13:54,008.008 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:13:54,011.011 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-08-29 13:13:56,471.471 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:13:56,473.473 INFO    ] Checking for system updates...
[2026-08-29 13:13:56,494.494 INFO    ] 200
[2026-08-29 13:13:56,495.495 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:13:56,525.525 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:13:56,527.527 INFO    ] No update needed
[2026-08-29 13:13:56,528.528 INFO    ] Checking for camera pi updates...
[2026-08-29 13:13:56,547.547 INFO    ] 200
[2026-08-29 13:13:56,549.549 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:13:56,572.572 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:13:56,646.646 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:13:56,647.647 INFO    ] No camera update needed
[2026-08-29 13:13:56,649.649 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:13:56,650.650 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:13:56,654.654 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:13:56,656.656 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:13:58,696.696 INFO    ] ================================================
[2026-08-29 13:13:58,711.711 INFO    ] Launching Daemon at Sat Aug 29 13:13:58 IST 2026
[2026-08-29 13:13:58,722.722 INFO    ] ================================================
[2026-08-29 13:13:59,389.389 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:13:59
[2026-08-29 13:14:00,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:14:00,386.386 INFO    ] Initializing speech engine...
[2026-08-29 13:14:00,395.395 INFO    ] 2026-08-29 13:14:00
[2026-08-29 13:14:00,656.656 INFO    ] 2026-08-29 13:14:00
[2026-08-29 13:14:00,686.686 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:14:00,811.811 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:14:00,874.874 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:14:01,025.025 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:14:01,083.083 INFO    ] time= 29/08/2026 13:14:01
[2026-08-29 13:14:01,119.119 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:14:01,124.124 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:14:01,198.198 INFO    ] No existing commands found in stream
[2026-08-29 13:14:06,209.209 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:14:06,213.213 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-08-29 13:14:07,583.583 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:14:07,585.585 INFO    ] Checking for system updates...
[2026-08-29 13:14:07,605.605 INFO    ] 200
[2026-08-29 13:14:07,607.607 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:14:07,637.637 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:14:07,639.639 INFO    ] No update needed
[2026-08-29 13:14:07,640.640 INFO    ] Checking for camera pi updates...
[2026-08-29 13:14:07,663.663 INFO    ] 200
[2026-08-29 13:14:07,664.664 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:14:07,689.689 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:14:07,778.778 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:14:07,780.780 INFO    ] No camera update needed
[2026-08-29 13:14:07,781.781 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:14:07,783.783 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:14:07,786.786 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:14:07,789.789 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:14:09,828.828 INFO    ] ================================================
[2026-08-29 13:14:09,844.844 INFO    ] Launching Daemon at Sat Aug 29 13:14:09 IST 2026
[2026-08-29 13:14:09,855.855 INFO    ] ================================================
[2026-08-29 13:14:10,211.211 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:14:10
[2026-08-29 13:14:10,553.553 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:14:10,694.694 INFO    ] Initializing speech engine...
[2026-08-29 13:14:10,707.707 INFO    ] 2026-08-29 13:14:10
[2026-08-29 13:14:10,904.904 INFO    ] 2026-08-29 13:14:10
[2026-08-29 13:14:10,970.970 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:14:11,198.198 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:14:11,209.209 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:14:11,344.344 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:14:11,384.384 INFO    ] time= 29/08/2026 13:14:11
[2026-08-29 13:14:11,449.449 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:14:11,481.481 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:14:11,598.598 INFO    ] No existing commands found in stream
[2026-08-29 13:14:16,629.629 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:14:16,632.632 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-08-29 13:14:18,821.821 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:14:18,823.823 INFO    ] Checking for system updates...
[2026-08-29 13:14:18,844.844 INFO    ] 200
[2026-08-29 13:14:18,845.845 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:14:18,880.880 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:14:18,882.882 INFO    ] No update needed
[2026-08-29 13:14:18,883.883 INFO    ] Checking for camera pi updates...
[2026-08-29 13:14:18,903.903 INFO    ] 200
[2026-08-29 13:14:18,904.904 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:14:18,927.927 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:14:19,008.008 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:14:19,009.009 INFO    ] No camera update needed
[2026-08-29 13:14:19,011.011 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:14:19,012.012 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:14:19,015.015 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:14:19,018.018 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:14:21,056.056 INFO    ] ================================================
[2026-08-29 13:14:21,072.072 INFO    ] Launching Daemon at Sat Aug 29 13:14:21 IST 2026
[2026-08-29 13:14:21,083.083 INFO    ] ================================================
[2026-08-29 13:14:21,596.596 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:14:21
[2026-08-29 13:14:22,284.284 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:14:22,597.597 INFO    ] Initializing speech engine...
[2026-08-29 13:14:22,609.609 INFO    ] 2026-08-29 13:14:22
[2026-08-29 13:14:22,923.923 INFO    ] 2026-08-29 13:14:22
[2026-08-29 13:14:23,012.012 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:14:23,164.164 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:14:23,174.174 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:14:23,310.310 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:14:23,340.340 INFO    ] time= 29/08/2026 13:14:23
[2026-08-29 13:14:23,385.385 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:14:23,441.441 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:14:23,495.495 INFO    ] No existing commands found in stream
[2026-08-29 13:14:28,508.508 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:14:28,518.518 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-08-29 13:14:29,581.581 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:14:29,583.583 INFO    ] Checking for system updates...
[2026-08-29 13:14:29,604.604 INFO    ] 200
[2026-08-29 13:14:29,605.605 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:14:29,641.641 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:14:29,642.642 INFO    ] No update needed
[2026-08-29 13:14:29,644.644 INFO    ] Checking for camera pi updates...
[2026-08-29 13:14:29,663.663 INFO    ] 200
[2026-08-29 13:14:29,665.665 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:14:29,690.690 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:14:29,771.771 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:14:29,772.772 INFO    ] No camera update needed
[2026-08-29 13:14:29,774.774 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:14:29,775.775 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:14:29,778.778 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:14:29,781.781 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:14:31,812.812 INFO    ] ================================================
[2026-08-29 13:14:31,822.822 INFO    ] Launching Daemon at Sat Aug 29 13:14:31 IST 2026
[2026-08-29 13:14:31,829.829 INFO    ] ================================================
[2026-08-29 13:14:32,457.457 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:14:32
[2026-08-29 13:14:33,139.139 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:14:33,448.448 INFO    ] Initializing speech engine...
[2026-08-29 13:14:33,463.463 INFO    ] 2026-08-29 13:14:33
[2026-08-29 13:14:33,776.776 INFO    ] 2026-08-29 13:14:33
[2026-08-29 13:14:33,864.864 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:14:34,012.012 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:14:34,022.022 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:14:34,155.155 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:14:34,203.203 INFO    ] time= 29/08/2026 13:14:34
[2026-08-29 13:14:34,257.257 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:14:34,290.290 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:14:34,346.346 INFO    ] No existing commands found in stream
[2026-08-29 13:14:39,359.359 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:14:39,363.363 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 13:14:41,917.917 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:14:41,919.919 INFO    ] Checking for system updates...
[2026-08-29 13:14:41,941.941 INFO    ] 200
[2026-08-29 13:14:41,943.943 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:14:41,973.973 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:14:41,974.974 INFO    ] No update needed
[2026-08-29 13:14:41,976.976 INFO    ] Checking for camera pi updates...
[2026-08-29 13:14:41,995.995 INFO    ] 200
[2026-08-29 13:14:41,997.997 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:14:42,022.022 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:14:42,120.120 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:14:42,121.121 INFO    ] No camera update needed
[2026-08-29 13:14:42,123.123 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:14:42,124.124 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:14:42,128.128 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:14:42,131.131 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:14:44,171.171 INFO    ] ================================================
[2026-08-29 13:14:44,188.188 INFO    ] Launching Daemon at Sat Aug 29 13:14:44 IST 2026
[2026-08-29 13:14:44,200.200 INFO    ] ================================================
[2026-08-29 13:14:44,650.650 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:14:44
[2026-08-29 13:14:45,236.236 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:14:45,501.501 INFO    ] Initializing speech engine...
[2026-08-29 13:14:45,519.519 INFO    ] 2026-08-29 13:14:45
[2026-08-29 13:14:45,778.778 INFO    ] 2026-08-29 13:14:45
[2026-08-29 13:14:45,813.813 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:14:45,988.988 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:14:46,003.003 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:14:46,149.149 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:14:46,157.157 INFO    ] time= 29/08/2026 13:14:46
[2026-08-29 13:14:46,164.164 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:14:46,216.216 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:14:46,331.331 INFO    ] No existing commands found in stream
[2026-08-29 13:14:51,362.362 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:14:51,365.365 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 13:14:52,601.601 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:14:52,603.603 INFO    ] Checking for system updates...
[2026-08-29 13:14:52,623.623 INFO    ] 200
[2026-08-29 13:14:52,625.625 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:14:52,660.660 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:14:52,661.661 INFO    ] No update needed
[2026-08-29 13:14:52,663.663 INFO    ] Checking for camera pi updates...
[2026-08-29 13:14:52,684.684 INFO    ] 200
[2026-08-29 13:14:52,685.685 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:14:52,711.711 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:14:52,904.904 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:14:52,905.905 INFO    ] No camera update needed
[2026-08-29 13:14:52,906.906 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:14:52,908.908 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:14:52,911.911 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:14:52,914.914 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:14:54,954.954 INFO    ] ================================================
[2026-08-29 13:14:54,970.970 INFO    ] Launching Daemon at Sat Aug 29 13:14:54 IST 2026
[2026-08-29 13:14:54,982.982 INFO    ] ================================================
[2026-08-29 13:14:55,319.319 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:14:55
[2026-08-29 13:14:55,636.636 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:14:55,775.775 INFO    ] Initializing speech engine...
[2026-08-29 13:14:55,786.786 INFO    ] 2026-08-29 13:14:55
[2026-08-29 13:14:55,974.974 INFO    ] 2026-08-29 13:14:55
[2026-08-29 13:14:56,033.033 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:14:56,257.257 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:14:56,266.266 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:14:56,398.398 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:14:56,450.450 INFO    ] time= 29/08/2026 13:14:56
[2026-08-29 13:14:56,512.512 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:14:56,533.533 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:14:56,588.588 INFO    ] No existing commands found in stream
[2026-08-29 13:15:01,599.599 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:15:01,602.602 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-08-29 13:15:03,614.614 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:15:03,617.617 INFO    ] Checking for system updates...
[2026-08-29 13:15:03,668.668 INFO    ] 200
[2026-08-29 13:15:03,671.671 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:15:03,740.740 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:15:03,745.745 INFO    ] No update needed
[2026-08-29 13:15:03,749.749 INFO    ] Checking for camera pi updates...
[2026-08-29 13:15:03,801.801 INFO    ] 200
[2026-08-29 13:15:03,805.805 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:15:03,858.858 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:15:03,942.942 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:15:03,948.948 INFO    ] No camera update needed
[2026-08-29 13:15:03,952.952 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:15:03,955.955 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:15:03,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:15:03,972.972 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:15:06,017.017 INFO    ] ================================================
[2026-08-29 13:15:06,033.033 INFO    ] Launching Daemon at Sat Aug 29 13:15:06 IST 2026
[2026-08-29 13:15:06,045.045 INFO    ] ================================================
[2026-08-29 13:15:06,583.583 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:15:06
[2026-08-29 13:15:07,180.180 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:15:07,498.498 INFO    ] Initializing speech engine...
[2026-08-29 13:15:07,509.509 INFO    ] 2026-08-29 13:15:07
[2026-08-29 13:15:07,774.774 INFO    ] 2026-08-29 13:15:07
[2026-08-29 13:15:07,827.827 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:15:08,057.057 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:15:08,067.067 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:15:08,203.203 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:15:08,225.225 INFO    ] time= 29/08/2026 13:15:08
[2026-08-29 13:15:08,284.284 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:15:08,336.336 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:15:08,449.449 INFO    ] No existing commands found in stream
[2026-08-29 13:15:13,476.476 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:15:13,479.479 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-08-29 13:15:17,072.072 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:15:17,073.073 INFO    ] Checking for system updates...
[2026-08-29 13:15:17,095.095 INFO    ] 200
[2026-08-29 13:15:17,096.096 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:15:17,130.130 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:15:17,132.132 INFO    ] No update needed
[2026-08-29 13:15:17,133.133 INFO    ] Checking for camera pi updates...
[2026-08-29 13:15:17,155.155 INFO    ] 200
[2026-08-29 13:15:17,156.156 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:15:17,181.181 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:15:17,268.268 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:15:17,269.269 INFO    ] No camera update needed
[2026-08-29 13:15:17,270.270 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:15:17,272.272 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:15:17,275.275 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:15:17,278.278 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:15:19,317.317 INFO    ] ================================================
[2026-08-29 13:15:19,333.333 INFO    ] Launching Daemon at Sat Aug 29 13:15:19 IST 2026
[2026-08-29 13:15:19,344.344 INFO    ] ================================================
[2026-08-29 13:15:19,718.718 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:15:19
[2026-08-29 13:15:20,036.036 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:15:20,168.168 INFO    ] Initializing speech engine...
[2026-08-29 13:15:20,172.172 INFO    ] 2026-08-29 13:15:20
[2026-08-29 13:15:20,398.398 INFO    ] 2026-08-29 13:15:20
[2026-08-29 13:15:20,428.428 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:15:20,558.558 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:15:20,623.623 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:15:20,762.762 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:15:20,813.813 INFO    ] time= 29/08/2026 13:15:20
[2026-08-29 13:15:20,862.862 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:15:20,873.873 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:15:20,944.944 INFO    ] No existing commands found in stream
[2026-08-29 13:15:25,953.953 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:15:25,956.956 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-08-29 13:15:26,735.735 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:15:26,736.736 INFO    ] Checking for system updates...
[2026-08-29 13:15:26,756.756 INFO    ] 200
[2026-08-29 13:15:26,757.757 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:15:26,789.789 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:15:26,790.790 INFO    ] No update needed
[2026-08-29 13:15:26,792.792 INFO    ] Checking for camera pi updates...
[2026-08-29 13:15:26,813.813 INFO    ] 200
[2026-08-29 13:15:26,815.815 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:15:26,837.837 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:15:26,936.936 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:15:26,937.937 INFO    ] No camera update needed
[2026-08-29 13:15:26,939.939 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:15:26,940.940 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:15:26,943.943 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:15:26,946.946 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:15:28,985.985 INFO    ] ================================================
[2026-08-29 13:15:29,001.001 INFO    ] Launching Daemon at Sat Aug 29 13:15:28 IST 2026
[2026-08-29 13:15:29,011.011 INFO    ] ================================================
[2026-08-29 13:15:29,527.527 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:15:29
[2026-08-29 13:15:30,119.119 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:15:30,387.387 INFO    ] Initializing speech engine...
[2026-08-29 13:15:30,406.406 INFO    ] 2026-08-29 13:15:30
[2026-08-29 13:15:30,670.670 INFO    ] 2026-08-29 13:15:30
[2026-08-29 13:15:30,704.704 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:15:30,894.894 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:15:30,908.908 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:15:31,065.065 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:15:31,075.075 INFO    ] time= 29/08/2026 13:15:31
[2026-08-29 13:15:31,079.079 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:15:31,088.088 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:15:31,159.159 INFO    ] No existing commands found in stream
[2026-08-29 13:15:36,174.174 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:15:36,177.177 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-08-29 13:15:41,152.152 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:15:41,154.154 INFO    ] Checking for system updates...
[2026-08-29 13:15:41,174.174 INFO    ] 200
[2026-08-29 13:15:41,175.175 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:15:41,207.207 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:15:41,208.208 INFO    ] No update needed
[2026-08-29 13:15:41,209.209 INFO    ] Checking for camera pi updates...
[2026-08-29 13:15:41,228.228 INFO    ] 200
[2026-08-29 13:15:41,230.230 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:15:41,258.258 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:15:41,338.338 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:15:41,340.340 INFO    ] No camera update needed
[2026-08-29 13:15:41,343.343 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:15:41,345.345 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:15:41,350.350 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:15:41,355.355 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:15:43,396.396 INFO    ] ================================================
[2026-08-29 13:15:43,411.411 INFO    ] Launching Daemon at Sat Aug 29 13:15:43 IST 2026
[2026-08-29 13:15:43,425.425 INFO    ] ================================================
[2026-08-29 13:15:44,002.002 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:15:43
[2026-08-29 13:15:44,452.452 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:15:44,591.591 INFO    ] Initializing speech engine...
[2026-08-29 13:15:44,598.598 INFO    ] 2026-08-29 13:15:44
[2026-08-29 13:15:44,807.807 INFO    ] 2026-08-29 13:15:44
[2026-08-29 13:15:44,836.836 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:15:44,959.959 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:15:45,008.008 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:15:45,129.129 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:15:45,185.185 INFO    ] time= 29/08/2026 13:15:45
[2026-08-29 13:15:45,224.224 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:15:45,287.287 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:15:45,360.360 INFO    ] No existing commands found in stream
[2026-08-29 13:15:50,375.375 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:15:50,383.383 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-08-29 13:15:53,497.497 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:15:53,498.498 INFO    ] Checking for system updates...
[2026-08-29 13:15:53,519.519 INFO    ] 200
[2026-08-29 13:15:53,521.521 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:15:53,552.552 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:15:53,554.554 INFO    ] No update needed
[2026-08-29 13:15:53,555.555 INFO    ] Checking for camera pi updates...
[2026-08-29 13:15:53,576.576 INFO    ] 200
[2026-08-29 13:15:53,577.577 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:15:53,601.601 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:15:53,684.684 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:15:53,685.685 INFO    ] No camera update needed
[2026-08-29 13:15:53,686.686 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:15:53,688.688 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:15:53,691.691 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:15:53,694.694 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:15:55,733.733 INFO    ] ================================================
[2026-08-29 13:15:55,749.749 INFO    ] Launching Daemon at Sat Aug 29 13:15:55 IST 2026
[2026-08-29 13:15:55,759.759 INFO    ] ================================================
[2026-08-29 13:15:56,130.130 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:15:56
[2026-08-29 13:15:56,458.458 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:15:56,610.610 INFO    ] Initializing speech engine...
[2026-08-29 13:15:56,614.614 INFO    ] 2026-08-29 13:15:56
[2026-08-29 13:15:56,864.864 INFO    ] 2026-08-29 13:15:56
[2026-08-29 13:15:56,921.921 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:15:57,057.057 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:15:57,075.075 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:15:57,272.272 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:15:57,301.301 INFO    ] time= 29/08/2026 13:15:57
[2026-08-29 13:15:57,319.319 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:15:57,328.328 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:15:57,440.440 INFO    ] No existing commands found in stream
[2026-08-29 13:16:02,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:16:02,456.456 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-08-29 13:16:04,752.752 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:16:04,753.753 INFO    ] Checking for system updates...
[2026-08-29 13:16:04,774.774 INFO    ] 200
[2026-08-29 13:16:04,775.775 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:16:04,807.807 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:16:04,808.808 INFO    ] No update needed
[2026-08-29 13:16:04,810.810 INFO    ] Checking for camera pi updates...
[2026-08-29 13:16:04,832.832 INFO    ] 200
[2026-08-29 13:16:04,833.833 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:16:04,856.856 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:16:04,957.957 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:16:04,959.959 INFO    ] No camera update needed
[2026-08-29 13:16:04,960.960 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:16:04,962.962 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:16:04,966.966 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:16:04,968.968 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:16:07,008.008 INFO    ] ================================================
[2026-08-29 13:16:07,024.024 INFO    ] Launching Daemon at Sat Aug 29 13:16:07 IST 2026
[2026-08-29 13:16:07,034.034 INFO    ] ================================================
[2026-08-29 13:16:07,395.395 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:16:07
[2026-08-29 13:16:07,733.733 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:16:08,010.010 INFO    ] Initializing speech engine...
[2026-08-29 13:16:08,018.018 INFO    ] 2026-08-29 13:16:08
[2026-08-29 13:16:08,278.278 INFO    ] 2026-08-29 13:16:08
[2026-08-29 13:16:08,333.333 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:16:08,557.557 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:16:08,566.566 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:16:08,706.706 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:16:08,760.760 INFO    ] time= 29/08/2026 13:16:08
[2026-08-29 13:16:08,814.814 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:16:08,836.836 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:16:08,887.887 INFO    ] No existing commands found in stream
[2026-08-29 13:16:13,899.899 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:16:13,901.901 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-08-29 13:16:15,472.472 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:16:15,475.475 INFO    ] Checking for system updates...
[2026-08-29 13:16:15,514.514 INFO    ] 200
[2026-08-29 13:16:15,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:16:15,571.571 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:16:15,574.574 INFO    ] No update needed
[2026-08-29 13:16:15,576.576 INFO    ] Checking for camera pi updates...
[2026-08-29 13:16:15,616.616 INFO    ] 200
[2026-08-29 13:16:15,619.619 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:16:15,670.670 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:16:15,747.747 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:16:15,749.749 INFO    ] No camera update needed
[2026-08-29 13:16:15,752.752 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:16:15,755.755 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:16:15,761.761 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:16:15,766.766 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:16:17,807.807 INFO    ] ================================================
[2026-08-29 13:16:17,823.823 INFO    ] Launching Daemon at Sat Aug 29 13:16:17 IST 2026
[2026-08-29 13:16:17,834.834 INFO    ] ================================================
[2026-08-29 13:16:18,389.389 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:16:18
[2026-08-29 13:16:18,724.724 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:16:18,978.978 INFO    ] Initializing speech engine...
[2026-08-29 13:16:18,987.987 INFO    ] 2026-08-29 13:16:18
[2026-08-29 13:16:19,278.278 INFO    ] 2026-08-29 13:16:19
[2026-08-29 13:16:19,316.316 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:16:19,510.510 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:16:19,523.523 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:16:19,644.644 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:16:19,651.651 INFO    ] time= 29/08/2026 13:16:19
[2026-08-29 13:16:19,671.671 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:16:19,697.697 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:16:19,773.773 INFO    ] No existing commands found in stream
[2026-08-29 13:16:24,786.786 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:16:24,789.789 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-08-29 13:16:26,352.352 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:16:26,354.354 INFO    ] Checking for system updates...
[2026-08-29 13:16:26,374.374 INFO    ] 200
[2026-08-29 13:16:26,375.375 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:16:26,406.406 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:16:26,407.407 INFO    ] No update needed
[2026-08-29 13:16:26,408.408 INFO    ] Checking for camera pi updates...
[2026-08-29 13:16:26,427.427 INFO    ] 200
[2026-08-29 13:16:26,429.429 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:16:26,460.460 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:16:26,543.543 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:16:26,545.545 INFO    ] No camera update needed
[2026-08-29 13:16:26,547.547 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:16:26,549.549 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:16:26,556.556 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:16:26,561.561 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:16:28,601.601 INFO    ] ================================================
[2026-08-29 13:16:28,616.616 INFO    ] Launching Daemon at Sat Aug 29 13:16:28 IST 2026
[2026-08-29 13:16:28,626.626 INFO    ] ================================================
[2026-08-29 13:16:29,262.262 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:16:29
[2026-08-29 13:16:29,748.748 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:16:29,898.898 INFO    ] Initializing speech engine...
[2026-08-29 13:16:29,911.911 INFO    ] 2026-08-29 13:16:29
[2026-08-29 13:16:30,118.118 INFO    ] 2026-08-29 13:16:30
[2026-08-29 13:16:30,147.147 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:16:30,269.269 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:16:30,332.332 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:16:30,512.512 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:16:30,551.551 INFO    ] time= 29/08/2026 13:16:30
[2026-08-29 13:16:30,610.610 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:16:30,660.660 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:16:30,748.748 INFO    ] No existing commands found in stream
[2026-08-29 13:16:35,768.768 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:16:35,771.771 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 13:16:37,339.339 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:16:37,341.341 INFO    ] Checking for system updates...
[2026-08-29 13:16:37,361.361 INFO    ] 200
[2026-08-29 13:16:37,363.363 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:16:37,393.393 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:16:37,395.395 INFO    ] No update needed
[2026-08-29 13:16:37,396.396 INFO    ] Checking for camera pi updates...
[2026-08-29 13:16:37,416.416 INFO    ] 200
[2026-08-29 13:16:37,418.418 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:16:37,448.448 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:16:37,529.529 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:16:37,531.531 INFO    ] No camera update needed
[2026-08-29 13:16:37,534.534 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:16:37,538.538 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:16:37,544.544 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:16:37,550.550 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:16:39,591.591 INFO    ] ================================================
[2026-08-29 13:16:39,607.607 INFO    ] Launching Daemon at Sat Aug 29 13:16:39 IST 2026
[2026-08-29 13:16:39,618.618 INFO    ] ================================================
[2026-08-29 13:16:40,187.187 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:16:40
[2026-08-29 13:16:40,685.685 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:16:40,939.939 INFO    ] Initializing speech engine...
[2026-08-29 13:16:40,947.947 INFO    ] 2026-08-29 13:16:40
[2026-08-29 13:16:41,237.237 INFO    ] 2026-08-29 13:16:41
[2026-08-29 13:16:41,274.274 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:16:41,468.468 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:16:41,480.480 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:16:41,622.622 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:16:41,644.644 INFO    ] time= 29/08/2026 13:16:41
[2026-08-29 13:16:41,652.652 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:16:41,659.659 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:16:41,731.731 INFO    ] No existing commands found in stream
[2026-08-29 13:16:46,743.743 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:16:46,745.745 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-08-29 13:16:50,711.711 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:16:50,713.713 INFO    ] Checking for system updates...
[2026-08-29 13:16:50,734.734 INFO    ] 200
[2026-08-29 13:16:50,735.735 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:16:50,765.765 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:16:50,767.767 INFO    ] No update needed
[2026-08-29 13:16:50,768.768 INFO    ] Checking for camera pi updates...
[2026-08-29 13:16:50,787.787 INFO    ] 200
[2026-08-29 13:16:50,789.789 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:16:50,813.813 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:16:50,890.890 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:16:50,893.893 INFO    ] No camera update needed
[2026-08-29 13:16:50,895.895 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:16:50,897.897 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:16:50,903.903 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:16:50,907.907 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:16:52,947.947 INFO    ] ================================================
[2026-08-29 13:16:52,962.962 INFO    ] Launching Daemon at Sat Aug 29 13:16:52 IST 2026
[2026-08-29 13:16:52,973.973 INFO    ] ================================================
[2026-08-29 13:16:53,550.550 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:16:53
[2026-08-29 13:16:54,026.026 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:16:54,166.166 INFO    ] Initializing speech engine...
[2026-08-29 13:16:54,175.175 INFO    ] 2026-08-29 13:16:54
[2026-08-29 13:16:54,390.390 INFO    ] 2026-08-29 13:16:54
[2026-08-29 13:16:54,420.420 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:16:54,551.551 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:16:54,559.559 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:16:54,674.674 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:16:54,684.684 INFO    ] time= 29/08/2026 13:16:54
[2026-08-29 13:16:54,701.701 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:16:54,705.705 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:16:54,795.795 INFO    ] No existing commands found in stream
[2026-08-29 13:16:59,823.823 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:16:59,826.826 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 13:17:00,798.798 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:17:00,799.799 INFO    ] Checking for system updates...
[2026-08-29 13:17:00,820.820 INFO    ] 200
[2026-08-29 13:17:00,821.821 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:17:00,851.851 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:17:00,853.853 INFO    ] No update needed
[2026-08-29 13:17:00,854.854 INFO    ] Checking for camera pi updates...
[2026-08-29 13:17:00,873.873 INFO    ] 200
[2026-08-29 13:17:00,875.875 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:17:00,897.897 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:17:01,075.075 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:17:01,077.077 INFO    ] No camera update needed
[2026-08-29 13:17:01,079.079 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:17:01,081.081 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:17:01,087.087 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:17:01,091.091 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:17:03,170.170 INFO    ] ================================================
[2026-08-29 13:17:03,191.191 INFO    ] Launching Daemon at Sat Aug 29 13:17:03 IST 2026
[2026-08-29 13:17:03,207.207 INFO    ] ================================================
[2026-08-29 13:17:03,876.876 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:17:03
[2026-08-29 13:17:04,232.232 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:17:04,370.370 INFO    ] Initializing speech engine...
[2026-08-29 13:17:04,380.380 INFO    ] 2026-08-29 13:17:04
[2026-08-29 13:17:04,588.588 INFO    ] 2026-08-29 13:17:04
[2026-08-29 13:17:04,616.616 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:17:04,740.740 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:17:04,804.804 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:17:04,944.944 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:17:05,003.003 INFO    ] time= 29/08/2026 13:17:04
[2026-08-29 13:17:05,037.037 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:17:05,043.043 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:17:05,112.112 INFO    ] No existing commands found in stream
[2026-08-29 13:17:10,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:17:10,124.124 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-08-29 13:17:13,482.482 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:17:13,484.484 INFO    ] Checking for system updates...
[2026-08-29 13:17:13,504.504 INFO    ] 200
[2026-08-29 13:17:13,505.505 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:17:13,534.534 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:17:13,536.536 INFO    ] No update needed
[2026-08-29 13:17:13,537.537 INFO    ] Checking for camera pi updates...
[2026-08-29 13:17:13,558.558 INFO    ] 200
[2026-08-29 13:17:13,560.560 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:17:13,583.583 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:17:13,672.672 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:17:13,673.673 INFO    ] No camera update needed
[2026-08-29 13:17:13,674.674 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:17:13,676.676 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:17:13,678.678 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:17:13,681.681 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:17:15,713.713 INFO    ] ================================================
[2026-08-29 13:17:15,728.728 INFO    ] Launching Daemon at Sat Aug 29 13:17:15 IST 2026
[2026-08-29 13:17:15,739.739 INFO    ] ================================================
[2026-08-29 13:17:16,126.126 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:17:16
[2026-08-29 13:17:16,455.455 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:17:16,604.604 INFO    ] Initializing speech engine...
[2026-08-29 13:17:16,609.609 INFO    ] 2026-08-29 13:17:16
[2026-08-29 13:17:16,814.814 INFO    ] 2026-08-29 13:17:16
[2026-08-29 13:17:16,843.843 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:17:16,966.966 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:17:17,031.031 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:17:17,170.170 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:17:17,229.229 INFO    ] time= 29/08/2026 13:17:17
[2026-08-29 13:17:17,264.264 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:17:17,267.267 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:17:17,337.337 INFO    ] No existing commands found in stream
[2026-08-29 13:17:22,348.348 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:17:22,351.351 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-08-29 13:17:26,639.639 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:17:26,641.641 INFO    ] Checking for system updates...
[2026-08-29 13:17:26,663.663 INFO    ] 200
[2026-08-29 13:17:26,664.664 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:17:26,694.694 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:17:26,695.695 INFO    ] No update needed
[2026-08-29 13:17:26,696.696 INFO    ] Checking for camera pi updates...
[2026-08-29 13:17:26,716.716 INFO    ] 200
[2026-08-29 13:17:26,717.717 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:17:26,742.742 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:17:26,816.816 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:17:26,817.817 INFO    ] No camera update needed
[2026-08-29 13:17:26,819.819 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:17:26,820.820 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:17:26,823.823 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:17:26,826.826 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:17:28,865.865 INFO    ] ================================================
[2026-08-29 13:17:28,880.880 INFO    ] Launching Daemon at Sat Aug 29 13:17:28 IST 2026
[2026-08-29 13:17:28,891.891 INFO    ] ================================================
[2026-08-29 13:17:29,231.231 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:17:29
[2026-08-29 13:17:29,548.548 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:17:29,692.692 INFO    ] Initializing speech engine...
[2026-08-29 13:17:29,698.698 INFO    ] 2026-08-29 13:17:29
[2026-08-29 13:17:29,884.884 INFO    ] 2026-08-29 13:17:29
[2026-08-29 13:17:29,942.942 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:17:30,114.114 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:17:30,166.166 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:17:30,306.306 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:17:30,343.343 INFO    ] time= 29/08/2026 13:17:30
[2026-08-29 13:17:30,408.408 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:17:30,440.440 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:17:30,552.552 INFO    ] No existing commands found in stream
[2026-08-29 13:17:35,579.579 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:17:35,582.582 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-08-29 13:17:38,059.059 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:17:38,060.060 INFO    ] Checking for system updates...
[2026-08-29 13:17:38,081.081 INFO    ] 200
[2026-08-29 13:17:38,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:17:38,112.112 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:17:38,113.113 INFO    ] No update needed
[2026-08-29 13:17:38,115.115 INFO    ] Checking for camera pi updates...
[2026-08-29 13:17:38,134.134 INFO    ] 200
[2026-08-29 13:17:38,135.135 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:17:38,162.162 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:17:38,238.238 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:17:38,239.239 INFO    ] No camera update needed
[2026-08-29 13:17:38,240.240 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:17:38,241.241 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:17:38,244.244 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:17:38,247.247 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:17:40,286.286 INFO    ] ================================================
[2026-08-29 13:17:40,301.301 INFO    ] Launching Daemon at Sat Aug 29 13:17:40 IST 2026
[2026-08-29 13:17:40,312.312 INFO    ] ================================================
[2026-08-29 13:17:40,678.678 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:17:40
[2026-08-29 13:17:41,011.011 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:17:41,155.155 INFO    ] Initializing speech engine...
[2026-08-29 13:17:41,165.165 INFO    ] 2026-08-29 13:17:41
[2026-08-29 13:17:41,377.377 INFO    ] 2026-08-29 13:17:41
[2026-08-29 13:17:41,405.405 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:17:41,529.529 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:17:41,592.592 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:17:41,732.732 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:17:41,799.799 INFO    ] time= 29/08/2026 13:17:41
[2026-08-29 13:17:41,824.824 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:17:41,831.831 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:17:41,897.897 INFO    ] No existing commands found in stream
[2026-08-29 13:17:46,908.908 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:17:46,911.911 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-08-29 13:17:50,738.738 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:17:50,739.739 INFO    ] Checking for system updates...
[2026-08-29 13:17:50,884.884 INFO    ] 200
[2026-08-29 13:17:50,885.885 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:17:50,916.916 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:17:50,917.917 INFO    ] No update needed
[2026-08-29 13:17:50,919.919 INFO    ] Checking for camera pi updates...
[2026-08-29 13:17:50,938.938 INFO    ] 200
[2026-08-29 13:17:50,940.940 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:17:50,966.966 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:17:51,011.011 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:17:51,013.013 INFO    ] No camera update needed
[2026-08-29 13:17:51,014.014 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:17:51,015.015 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:17:51,018.018 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:17:51,021.021 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:17:53,061.061 INFO    ] ================================================
[2026-08-29 13:17:53,076.076 INFO    ] Launching Daemon at Sat Aug 29 13:17:53 IST 2026
[2026-08-29 13:17:53,087.087 INFO    ] ================================================
[2026-08-29 13:17:53,455.455 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:17:53
[2026-08-29 13:17:53,767.767 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:17:53,912.912 INFO    ] Initializing speech engine...
[2026-08-29 13:17:53,917.917 INFO    ] 2026-08-29 13:17:53
[2026-08-29 13:17:54,129.129 INFO    ] 2026-08-29 13:17:54
[2026-08-29 13:17:54,160.160 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:17:54,289.289 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:17:54,328.328 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:17:54,497.497 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:17:54,534.534 INFO    ] time= 29/08/2026 13:17:54
[2026-08-29 13:17:54,582.582 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:17:54,605.605 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:17:54,681.681 INFO    ] No existing commands found in stream
[2026-08-29 13:17:59,691.691 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:17:59,694.694 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-08-29 13:18:02,502.502 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:18:02,505.505 INFO    ] Checking for system updates...
[2026-08-29 13:18:02,544.544 INFO    ] 200
[2026-08-29 13:18:02,547.547 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:18:02,608.608 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:18:02,610.610 INFO    ] No update needed
[2026-08-29 13:18:02,613.613 INFO    ] Checking for camera pi updates...
[2026-08-29 13:18:02,651.651 INFO    ] 200
[2026-08-29 13:18:02,654.654 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:18:02,709.709 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:18:02,793.793 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:18:02,796.796 INFO    ] No camera update needed
[2026-08-29 13:18:02,799.799 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:18:02,802.802 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:18:02,809.809 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:18:02,815.815 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:18:04,856.856 INFO    ] ================================================
[2026-08-29 13:18:04,871.871 INFO    ] Launching Daemon at Sat Aug 29 13:18:04 IST 2026
[2026-08-29 13:18:04,882.882 INFO    ] ================================================
[2026-08-29 13:18:05,346.346 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:18:05
[2026-08-29 13:18:05,679.679 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:18:05,977.977 INFO    ] Initializing speech engine...
[2026-08-29 13:18:05,988.988 INFO    ] 2026-08-29 13:18:05
[2026-08-29 13:18:06,254.254 INFO    ] 2026-08-29 13:18:06
[2026-08-29 13:18:06,310.310 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:18:06,539.539 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:18:06,550.550 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:18:06,688.688 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:18:06,734.734 INFO    ] time= 29/08/2026 13:18:06
[2026-08-29 13:18:06,781.781 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:18:06,806.806 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:18:06,892.892 INFO    ] No existing commands found in stream
[2026-08-29 13:18:11,904.904 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:18:11,908.908 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-08-29 13:18:12,645.645 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:18:12,648.648 INFO    ] Checking for system updates...
[2026-08-29 13:18:12,687.687 INFO    ] 200
[2026-08-29 13:18:12,689.689 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:18:12,753.753 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:18:12,756.756 INFO    ] No update needed
[2026-08-29 13:18:12,759.759 INFO    ] Checking for camera pi updates...
[2026-08-29 13:18:12,793.793 INFO    ] 200
[2026-08-29 13:18:12,796.796 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:18:12,837.837 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:18:12,944.944 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:18:12,947.947 INFO    ] No camera update needed
[2026-08-29 13:18:12,950.950 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:18:12,952.952 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:18:12,958.958 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:18:12,963.963 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:18:15,005.005 INFO    ] ================================================
[2026-08-29 13:18:15,020.020 INFO    ] Launching Daemon at Sat Aug 29 13:18:15 IST 2026
[2026-08-29 13:18:15,031.031 INFO    ] ================================================
[2026-08-29 13:18:15,411.411 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:18:15
[2026-08-29 13:18:15,743.743 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:18:15,888.888 INFO    ] Initializing speech engine...
[2026-08-29 13:18:15,897.897 INFO    ] 2026-08-29 13:18:15
[2026-08-29 13:18:16,142.142 INFO    ] 2026-08-29 13:18:16
[2026-08-29 13:18:16,199.199 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:18:16,367.367 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:18:16,374.374 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:18:16,549.549 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:18:16,583.583 INFO    ] time= 29/08/2026 13:18:16
[2026-08-29 13:18:16,598.598 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:18:16,607.607 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:18:16,729.729 INFO    ] No existing commands found in stream
[2026-08-29 13:18:21,751.751 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:18:21,754.754 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-08-29 13:18:25,646.646 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:18:25,647.647 INFO    ] Checking for system updates...
[2026-08-29 13:18:25,669.669 INFO    ] 200
[2026-08-29 13:18:25,670.670 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:18:25,702.702 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:18:25,704.704 INFO    ] No update needed
[2026-08-29 13:18:25,705.705 INFO    ] Checking for camera pi updates...
[2026-08-29 13:18:25,726.726 INFO    ] 200
[2026-08-29 13:18:25,727.727 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:18:25,755.755 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:18:25,860.860 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:18:25,861.861 INFO    ] No camera update needed
[2026-08-29 13:18:25,863.863 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:18:25,864.864 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:18:25,867.867 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:18:25,870.870 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:18:27,911.911 INFO    ] ================================================
[2026-08-29 13:18:27,927.927 INFO    ] Launching Daemon at Sat Aug 29 13:18:27 IST 2026
[2026-08-29 13:18:27,937.937 INFO    ] ================================================
[2026-08-29 13:18:28,487.487 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:18:28
[2026-08-29 13:18:29,138.138 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:18:29,443.443 INFO    ] Initializing speech engine...
[2026-08-29 13:18:29,455.455 INFO    ] 2026-08-29 13:18:29
[2026-08-29 13:18:29,734.734 INFO    ] 2026-08-29 13:18:29
[2026-08-29 13:18:29,781.781 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:18:30,006.006 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:18:30,017.017 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:18:30,151.151 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:18:30,205.205 INFO    ] time= 29/08/2026 13:18:30
[2026-08-29 13:18:30,265.265 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:18:30,292.292 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:18:30,344.344 INFO    ] No existing commands found in stream
[2026-08-29 13:18:35,357.357 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:18:35,360.360 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-08-29 13:18:38,782.782 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:18:38,783.783 INFO    ] Checking for system updates...
[2026-08-29 13:18:38,804.804 INFO    ] 200
[2026-08-29 13:18:38,806.806 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:18:38,835.835 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:18:38,837.837 INFO    ] No update needed
[2026-08-29 13:18:38,838.838 INFO    ] Checking for camera pi updates...
[2026-08-29 13:18:38,858.858 INFO    ] 200
[2026-08-29 13:18:38,859.859 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:18:38,882.882 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:18:38,969.969 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:18:38,971.971 INFO    ] No camera update needed
[2026-08-29 13:18:38,972.972 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:18:38,973.973 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:18:38,977.977 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:18:38,980.980 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:18:41,020.020 INFO    ] ================================================
[2026-08-29 13:18:41,036.036 INFO    ] Launching Daemon at Sat Aug 29 13:18:41 IST 2026
[2026-08-29 13:18:41,047.047 INFO    ] ================================================
[2026-08-29 13:18:41,416.416 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:18:41
[2026-08-29 13:18:41,856.856 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:18:42,107.107 INFO    ] Initializing speech engine...
[2026-08-29 13:18:42,121.121 INFO    ] 2026-08-29 13:18:42
[2026-08-29 13:18:42,387.387 INFO    ] 2026-08-29 13:18:42
[2026-08-29 13:18:42,422.422 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:18:42,593.593 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:18:42,605.605 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:18:42,722.722 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:18:42,726.726 INFO    ] time= 29/08/2026 13:18:42
[2026-08-29 13:18:42,745.745 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:18:42,766.766 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:18:42,839.839 INFO    ] No existing commands found in stream
[2026-08-29 13:18:47,869.869 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:18:47,872.872 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-08-29 13:18:49,048.048 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:18:49,049.049 INFO    ] Checking for system updates...
[2026-08-29 13:18:49,070.070 INFO    ] 200
[2026-08-29 13:18:49,071.071 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:18:49,103.103 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:18:49,105.105 INFO    ] No update needed
[2026-08-29 13:18:49,106.106 INFO    ] Checking for camera pi updates...
[2026-08-29 13:18:49,128.128 INFO    ] 200
[2026-08-29 13:18:49,129.129 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:18:49,152.152 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:18:49,229.229 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:18:49,231.231 INFO    ] No camera update needed
[2026-08-29 13:18:49,232.232 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:18:49,233.233 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:18:49,237.237 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:18:49,240.240 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:18:51,281.281 INFO    ] ================================================
[2026-08-29 13:18:51,296.296 INFO    ] Launching Daemon at Sat Aug 29 13:18:51 IST 2026
[2026-08-29 13:18:51,307.307 INFO    ] ================================================
[2026-08-29 13:18:51,663.663 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:18:51
[2026-08-29 13:18:52,237.237 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:18:52,499.499 INFO    ] Initializing speech engine...
[2026-08-29 13:18:52,514.514 INFO    ] 2026-08-29 13:18:52
[2026-08-29 13:18:52,795.795 INFO    ] 2026-08-29 13:18:52
[2026-08-29 13:18:52,830.830 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:18:52,977.977 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:18:52,984.984 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:18:53,128.128 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:18:53,139.139 INFO    ] time= 29/08/2026 13:18:53
[2026-08-29 13:18:53,148.148 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:18:53,153.153 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:18:53,223.223 INFO    ] No existing commands found in stream
[2026-08-29 13:18:58,233.233 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:18:58,236.236 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 13:19:00,718.718 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:19:00,720.720 INFO    ] Checking for system updates...
[2026-08-29 13:19:00,740.740 INFO    ] 200
[2026-08-29 13:19:00,741.741 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:19:00,774.774 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:19:00,775.775 INFO    ] No update needed
[2026-08-29 13:19:00,776.776 INFO    ] Checking for camera pi updates...
[2026-08-29 13:19:00,795.795 INFO    ] 200
[2026-08-29 13:19:00,796.796 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:19:00,819.819 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:19:00,895.895 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:19:00,897.897 INFO    ] No camera update needed
[2026-08-29 13:19:00,898.898 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:19:00,899.899 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:19:00,902.902 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:19:00,905.905 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:19:02,956.956 INFO    ] ================================================
[2026-08-29 13:19:02,976.976 INFO    ] Launching Daemon at Sat Aug 29 13:19:02 IST 2026
[2026-08-29 13:19:03,991.991 INFO    ] ================================================
[2026-08-29 13:19:03,654.654 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:19:03
[2026-08-29 13:19:04,245.245 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:19:04,509.509 INFO    ] Initializing speech engine...
[2026-08-29 13:19:04,527.527 INFO    ] 2026-08-29 13:19:04
[2026-08-29 13:19:04,779.779 INFO    ] 2026-08-29 13:19:04
[2026-08-29 13:19:04,814.814 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:19:04,990.990 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:19:05,003.003 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:19:05,124.124 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:19:05,129.129 INFO    ] time= 29/08/2026 13:19:05
[2026-08-29 13:19:05,132.132 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:19:05,165.165 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:19:05,233.233 INFO    ] No existing commands found in stream
[2026-08-29 13:19:10,243.243 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:19:10,246.246 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-08-29 13:19:12,207.207 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:19:12,209.209 INFO    ] Checking for system updates...
[2026-08-29 13:19:12,229.229 INFO    ] 200
[2026-08-29 13:19:12,230.230 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:19:12,262.262 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:19:12,263.263 INFO    ] No update needed
[2026-08-29 13:19:12,265.265 INFO    ] Checking for camera pi updates...
[2026-08-29 13:19:12,283.283 INFO    ] 200
[2026-08-29 13:19:12,285.285 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:19:12,312.312 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:19:12,487.487 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:19:12,488.488 INFO    ] No camera update needed
[2026-08-29 13:19:12,489.489 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:19:12,490.490 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:19:12,493.493 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:19:12,496.496 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:19:14,527.527 INFO    ] ================================================
[2026-08-29 13:19:14,536.536 INFO    ] Launching Daemon at Sat Aug 29 13:19:14 IST 2026
[2026-08-29 13:19:14,542.542 INFO    ] ================================================
[2026-08-29 13:19:15,141.141 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:19:15
[2026-08-29 13:19:15,803.803 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:19:16,102.102 INFO    ] Initializing speech engine...
[2026-08-29 13:19:16,111.111 INFO    ] 2026-08-29 13:19:16
[2026-08-29 13:19:16,396.396 INFO    ] 2026-08-29 13:19:16
[2026-08-29 13:19:16,442.442 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:19:16,667.667 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:19:16,674.674 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:19:16,813.813 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:19:16,853.853 INFO    ] time= 29/08/2026 13:19:16
[2026-08-29 13:19:16,918.918 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:19:16,945.945 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:19:16,999.999 INFO    ] No existing commands found in stream
[2026-08-29 13:19:22,012.012 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:19:22,016.016 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-08-29 13:19:23,839.839 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:19:23,840.840 INFO    ] Checking for system updates...
[2026-08-29 13:19:23,861.861 INFO    ] 200
[2026-08-29 13:19:23,862.862 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:19:23,892.892 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:19:23,894.894 INFO    ] No update needed
[2026-08-29 13:19:23,895.895 INFO    ] Checking for camera pi updates...
[2026-08-29 13:19:23,914.914 INFO    ] 200
[2026-08-29 13:19:23,915.915 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:19:23,939.939 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:19:24,037.037 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:19:24,038.038 INFO    ] No camera update needed
[2026-08-29 13:19:24,040.040 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:19:24,041.041 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:19:24,044.044 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:19:24,046.046 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:19:26,085.085 INFO    ] ================================================
[2026-08-29 13:19:26,101.101 INFO    ] Launching Daemon at Sat Aug 29 13:19:26 IST 2026
[2026-08-29 13:19:26,112.112 INFO    ] ================================================
[2026-08-29 13:19:26,473.473 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:19:26
[2026-08-29 13:19:26,789.789 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:19:26,926.926 INFO    ] Initializing speech engine...
[2026-08-29 13:19:26,938.938 INFO    ] 2026-08-29 13:19:26
[2026-08-29 13:19:27,150.150 INFO    ] 2026-08-29 13:19:27
[2026-08-29 13:19:27,240.240 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:19:27,406.406 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:19:27,415.415 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:19:27,565.565 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:19:27,587.587 INFO    ] time= 29/08/2026 13:19:27
[2026-08-29 13:19:27,652.652 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:19:27,701.701 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:19:27,773.773 INFO    ] No existing commands found in stream
[2026-08-29 13:19:32,784.784 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:19:32,787.787 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-08-29 13:19:33,420.420 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:19:33,422.422 INFO    ] Checking for system updates...
[2026-08-29 13:19:33,458.458 INFO    ] 200
[2026-08-29 13:19:33,460.460 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:19:33,514.514 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:19:33,516.516 INFO    ] No update needed
[2026-08-29 13:19:33,518.518 INFO    ] Checking for camera pi updates...
[2026-08-29 13:19:33,551.551 INFO    ] 200
[2026-08-29 13:19:33,554.554 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:19:33,594.594 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:19:33,676.676 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:19:33,678.678 INFO    ] No camera update needed
[2026-08-29 13:19:33,680.680 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:19:33,683.683 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:19:33,688.688 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:19:33,693.693 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:19:35,733.733 INFO    ] ================================================
[2026-08-29 13:19:35,749.749 INFO    ] Launching Daemon at Sat Aug 29 13:19:35 IST 2026
[2026-08-29 13:19:35,760.760 INFO    ] ================================================
[2026-08-29 13:19:36,302.302 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:19:36
[2026-08-29 13:19:36,907.907 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:19:37,180.180 INFO    ] Initializing speech engine...
[2026-08-29 13:19:37,190.190 INFO    ] 2026-08-29 13:19:37
[2026-08-29 13:19:37,452.452 INFO    ] 2026-08-29 13:19:37
[2026-08-29 13:19:37,506.506 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:19:37,729.729 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:19:37,739.739 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:19:37,871.871 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:19:37,893.893 INFO    ] time= 29/08/2026 13:19:37
[2026-08-29 13:19:37,953.953 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:19:38,005.005 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:19:38,063.063 INFO    ] No existing commands found in stream
[2026-08-29 13:19:43,075.075 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:19:43,077.077 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-08-29 13:19:45,064.064 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:19:45,066.066 INFO    ] Checking for system updates...
[2026-08-29 13:19:45,087.087 INFO    ] 200
[2026-08-29 13:19:45,089.089 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:19:45,118.118 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:19:45,120.120 INFO    ] No update needed
[2026-08-29 13:19:45,121.121 INFO    ] Checking for camera pi updates...
[2026-08-29 13:19:45,140.140 INFO    ] 200
[2026-08-29 13:19:45,142.142 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:19:45,165.165 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:19:45,240.240 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:19:45,241.241 INFO    ] No camera update needed
[2026-08-29 13:19:45,243.243 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:19:45,244.244 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:19:45,247.247 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:19:45,250.250 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:19:47,293.293 INFO    ] ================================================
[2026-08-29 13:19:47,309.309 INFO    ] Launching Daemon at Sat Aug 29 13:19:47 IST 2026
[2026-08-29 13:19:47,320.320 INFO    ] ================================================
[2026-08-29 13:19:47,683.683 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:19:47
[2026-08-29 13:19:48,022.022 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:19:48,173.173 INFO    ] Initializing speech engine...
[2026-08-29 13:19:48,178.178 INFO    ] 2026-08-29 13:19:48
[2026-08-29 13:19:48,386.386 INFO    ] 2026-08-29 13:19:48
[2026-08-29 13:19:48,415.415 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:19:48,604.604 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:19:48,652.652 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:19:48,788.788 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:19:48,798.798 INFO    ] time= 29/08/2026 13:19:48
[2026-08-29 13:19:48,867.867 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:19:48,898.898 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:19:49,007.007 INFO    ] No existing commands found in stream
[2026-08-29 13:19:54,037.037 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:19:54,040.040 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-08-29 13:19:56,808.808 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:19:56,810.810 INFO    ] Checking for system updates...
[2026-08-29 13:19:56,831.831 INFO    ] 200
[2026-08-29 13:19:56,832.832 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:19:56,866.866 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:19:56,867.867 INFO    ] No update needed
[2026-08-29 13:19:56,869.869 INFO    ] Checking for camera pi updates...
[2026-08-29 13:19:56,896.896 INFO    ] 200
[2026-08-29 13:19:56,897.897 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:19:56,922.922 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:19:56,999.999 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:19:57,000.000 INFO    ] No camera update needed
[2026-08-29 13:19:57,001.001 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:19:57,003.003 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:19:57,006.006 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:19:57,008.008 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:19:59,048.048 INFO    ] ================================================
[2026-08-29 13:19:59,064.064 INFO    ] Launching Daemon at Sat Aug 29 13:19:59 IST 2026
[2026-08-29 13:19:59,075.075 INFO    ] ================================================
[2026-08-29 13:19:59,656.656 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:19:59
[2026-08-29 13:20:00,241.241 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:20:00,510.510 INFO    ] Initializing speech engine...
[2026-08-29 13:20:00,522.522 INFO    ] 2026-08-29 13:20:00
[2026-08-29 13:20:00,795.795 INFO    ] 2026-08-29 13:20:00
[2026-08-29 13:20:00,825.825 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:20:00,949.949 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:20:01,012.012 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:20:01,146.146 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:20:01,196.196 INFO    ] time= 29/08/2026 13:20:01
[2026-08-29 13:20:01,242.242 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:20:01,247.247 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:20:01,318.318 INFO    ] No existing commands found in stream
[2026-08-29 13:20:06,328.328 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:20:06,331.331 INFO    ] Waiting 2.42 seconds before fallback handling...
[2026-08-29 13:20:09,120.120 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:20:09,122.122 INFO    ] Checking for system updates...
[2026-08-29 13:20:09,143.143 INFO    ] 200
[2026-08-29 13:20:09,145.145 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:20:09,174.174 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:20:09,176.176 INFO    ] No update needed
[2026-08-29 13:20:09,177.177 INFO    ] Checking for camera pi updates...
[2026-08-29 13:20:09,198.198 INFO    ] 200
[2026-08-29 13:20:09,199.199 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:20:09,222.222 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:20:09,298.298 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:20:09,299.299 INFO    ] No camera update needed
[2026-08-29 13:20:09,300.300 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:20:09,301.301 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:20:09,304.304 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:20:09,307.307 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:20:11,348.348 INFO    ] ================================================
[2026-08-29 13:20:11,364.364 INFO    ] Launching Daemon at Sat Aug 29 13:20:11 IST 2026
[2026-08-29 13:20:11,375.375 INFO    ] ================================================
[2026-08-29 13:20:11,942.942 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:20:11
[2026-08-29 13:20:12,549.549 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:20:12,811.811 INFO    ] Initializing speech engine...
[2026-08-29 13:20:12,819.819 INFO    ] 2026-08-29 13:20:12
[2026-08-29 13:20:13,126.126 INFO    ] 2026-08-29 13:20:13
[2026-08-29 13:20:13,151.151 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:20:13,315.315 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:20:13,322.322 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:20:13,478.478 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:20:13,490.490 INFO    ] time= 29/08/2026 13:20:13
[2026-08-29 13:20:13,497.497 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:20:13,520.520 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:20:13,575.575 INFO    ] No existing commands found in stream
[2026-08-29 13:20:18,588.588 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:20:18,590.590 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-08-29 13:20:20,945.945 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:20:20,947.947 INFO    ] Checking for system updates...
[2026-08-29 13:20:20,969.969 INFO    ] 200
[2026-08-29 13:20:20,970.970 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:20:21,002.002 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:20:21,004.004 INFO    ] No update needed
[2026-08-29 13:20:21,005.005 INFO    ] Checking for camera pi updates...
[2026-08-29 13:20:21,026.026 INFO    ] 200
[2026-08-29 13:20:21,027.027 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:20:21,052.052 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:20:21,134.134 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:20:21,135.135 INFO    ] No camera update needed
[2026-08-29 13:20:21,137.137 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:20:21,138.138 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:20:21,141.141 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:20:21,144.144 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:20:23,184.184 INFO    ] ================================================
[2026-08-29 13:20:23,200.200 INFO    ] Launching Daemon at Sat Aug 29 13:20:23 IST 2026
[2026-08-29 13:20:23,211.211 INFO    ] ================================================
[2026-08-29 13:20:23,536.536 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:20:23
[2026-08-29 13:20:23,848.848 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:20:23,991.991 INFO    ] Initializing speech engine...
[2026-08-29 13:20:23,996.996 INFO    ] 2026-08-29 13:20:23
[2026-08-29 13:20:24,202.202 INFO    ] 2026-08-29 13:20:24
[2026-08-29 13:20:24,230.230 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:20:24,416.416 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:20:24,420.420 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:20:24,556.556 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:20:24,622.622 INFO    ] time= 29/08/2026 13:20:24
[2026-08-29 13:20:24,651.651 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:20:24,653.653 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:20:24,768.768 INFO    ] No existing commands found in stream
[2026-08-29 13:20:29,794.794 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:20:29,797.797 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-08-29 13:20:30,961.961 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:20:30,963.963 INFO    ] Checking for system updates...
[2026-08-29 13:20:30,984.984 INFO    ] 200
[2026-08-29 13:20:30,986.986 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:20:31,015.015 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:20:31,016.016 INFO    ] No update needed
[2026-08-29 13:20:31,018.018 INFO    ] Checking for camera pi updates...
[2026-08-29 13:20:31,037.037 INFO    ] 200
[2026-08-29 13:20:31,038.038 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:20:31,063.063 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:20:31,164.164 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:20:31,166.166 INFO    ] No camera update needed
[2026-08-29 13:20:31,167.167 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:20:31,168.168 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:20:31,171.171 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:20:31,173.173 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:20:33,208.208 INFO    ] ================================================
[2026-08-29 13:20:33,225.225 INFO    ] Launching Daemon at Sat Aug 29 13:20:33 IST 2026
[2026-08-29 13:20:33,236.236 INFO    ] ================================================
[2026-08-29 13:20:33,915.915 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:20:33
[2026-08-29 13:20:34,548.548 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:20:34,827.827 INFO    ] Initializing speech engine...
[2026-08-29 13:20:34,834.834 INFO    ] 2026-08-29 13:20:34
[2026-08-29 13:20:35,095.095 INFO    ] 2026-08-29 13:20:35
[2026-08-29 13:20:35,125.125 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:20:35,364.364 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:20:35,369.369 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:20:35,503.503 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:20:35,512.512 INFO    ] time= 29/08/2026 13:20:35
[2026-08-29 13:20:35,516.516 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:20:35,532.532 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:20:35,619.619 INFO    ] No existing commands found in stream
[2026-08-29 13:20:40,645.645 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:20:40,648.648 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-08-29 13:20:41,287.287 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:20:41,289.289 INFO    ] Checking for system updates...
[2026-08-29 13:20:41,309.309 INFO    ] 200
[2026-08-29 13:20:41,311.311 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:20:41,344.344 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:20:41,345.345 INFO    ] No update needed
[2026-08-29 13:20:41,346.346 INFO    ] Checking for camera pi updates...
[2026-08-29 13:20:41,365.365 INFO    ] 200
[2026-08-29 13:20:41,366.366 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:20:41,391.391 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:20:41,473.473 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:20:41,476.476 INFO    ] No camera update needed
[2026-08-29 13:20:41,478.478 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:20:41,480.480 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:20:41,486.486 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:20:41,491.491 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:20:43,532.532 INFO    ] ================================================
[2026-08-29 13:20:43,548.548 INFO    ] Launching Daemon at Sat Aug 29 13:20:43 IST 2026
[2026-08-29 13:20:43,560.560 INFO    ] ================================================
[2026-08-29 13:20:44,130.130 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:20:44
[2026-08-29 13:20:44,584.584 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:20:44,716.716 INFO    ] Initializing speech engine...
[2026-08-29 13:20:44,724.724 INFO    ] 2026-08-29 13:20:44
[2026-08-29 13:20:44,939.939 INFO    ] 2026-08-29 13:20:44
[2026-08-29 13:20:44,968.968 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:20:45,092.092 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:20:45,155.155 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:20:45,291.291 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:20:45,349.349 INFO    ] time= 29/08/2026 13:20:45
[2026-08-29 13:20:45,380.380 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:20:45,390.390 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:20:45,461.461 INFO    ] No existing commands found in stream
[2026-08-29 13:20:50,472.472 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:20:50,475.475 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-08-29 13:20:52,737.737 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:20:52,739.739 INFO    ] Checking for system updates...
[2026-08-29 13:20:52,761.761 INFO    ] 200
[2026-08-29 13:20:52,763.763 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:20:52,798.798 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:20:52,799.799 INFO    ] No update needed
[2026-08-29 13:20:52,801.801 INFO    ] Checking for camera pi updates...
[2026-08-29 13:20:52,824.824 INFO    ] 200
[2026-08-29 13:20:52,826.826 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:20:52,851.851 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:20:52,945.945 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:20:52,946.946 INFO    ] No camera update needed
[2026-08-29 13:20:52,948.948 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:20:52,949.949 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:20:52,952.952 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:20:52,955.955 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:20:55,994.994 INFO    ] ================================================
[2026-08-29 13:20:55,010.010 INFO    ] Launching Daemon at Sat Aug 29 13:20:55 IST 2026
[2026-08-29 13:20:55,021.021 INFO    ] ================================================
[2026-08-29 13:20:55,386.386 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:20:55
[2026-08-29 13:20:55,699.699 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:20:55,832.832 INFO    ] Initializing speech engine...
[2026-08-29 13:20:55,845.845 INFO    ] 2026-08-29 13:20:55
[2026-08-29 13:20:56,052.052 INFO    ] 2026-08-29 13:20:56
[2026-08-29 13:20:56,081.081 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:20:56,205.205 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:20:56,243.243 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:20:56,400.400 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:20:56,442.442 INFO    ] time= 29/08/2026 13:20:56
[2026-08-29 13:20:56,480.480 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:20:56,501.501 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:20:56,574.574 INFO    ] No existing commands found in stream
[2026-08-29 13:21:01,585.585 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:21:01,588.588 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-08-29 13:21:04,280.280 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:21:04,283.283 INFO    ] Checking for system updates...
[2026-08-29 13:21:04,320.320 INFO    ] 200
[2026-08-29 13:21:04,323.323 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:21:04,377.377 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:21:04,379.379 INFO    ] No update needed
[2026-08-29 13:21:04,382.382 INFO    ] Checking for camera pi updates...
[2026-08-29 13:21:04,410.410 INFO    ] 200
[2026-08-29 13:21:04,412.412 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:21:04,435.435 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:21:04,522.522 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:21:04,525.525 INFO    ] No camera update needed
[2026-08-29 13:21:04,528.528 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:21:04,530.530 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:21:04,537.537 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:21:04,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:21:06,585.585 INFO    ] ================================================
[2026-08-29 13:21:06,600.600 INFO    ] Launching Daemon at Sat Aug 29 13:21:06 IST 2026
[2026-08-29 13:21:06,612.612 INFO    ] ================================================
[2026-08-29 13:21:07,181.181 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:21:07
[2026-08-29 13:21:07,656.656 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:21:07,803.803 INFO    ] Initializing speech engine...
[2026-08-29 13:21:07,809.809 INFO    ] 2026-08-29 13:21:07
[2026-08-29 13:21:08,026.026 INFO    ] 2026-08-29 13:21:07
[2026-08-29 13:21:08,057.057 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:21:08,176.176 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:21:08,178.178 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:21:08,349.349 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:21:08,404.404 INFO    ] time= 29/08/2026 13:21:08
[2026-08-29 13:21:08,431.431 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:21:08,488.488 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:21:08,586.586 INFO    ] No existing commands found in stream
[2026-08-29 13:21:13,597.597 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:21:13,600.600 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-08-29 13:21:15,464.464 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:21:15,465.465 INFO    ] Checking for system updates...
[2026-08-29 13:21:15,486.486 INFO    ] 200
[2026-08-29 13:21:15,487.487 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:21:15,517.517 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:21:15,519.519 INFO    ] No update needed
[2026-08-29 13:21:15,520.520 INFO    ] Checking for camera pi updates...
[2026-08-29 13:21:15,541.541 INFO    ] 200
[2026-08-29 13:21:15,543.543 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:21:15,569.569 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:21:15,763.763 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:21:15,765.765 INFO    ] No camera update needed
[2026-08-29 13:21:15,766.766 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:21:15,768.768 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:21:15,771.771 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:21:15,774.774 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:21:17,814.814 INFO    ] ================================================
[2026-08-29 13:21:17,829.829 INFO    ] Launching Daemon at Sat Aug 29 13:21:17 IST 2026
[2026-08-29 13:21:17,840.840 INFO    ] ================================================
[2026-08-29 13:21:18,174.174 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:21:18
[2026-08-29 13:21:18,486.486 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:21:18,732.732 INFO    ] Initializing speech engine...
[2026-08-29 13:21:18,741.741 INFO    ] 2026-08-29 13:21:18
[2026-08-29 13:21:18,990.990 INFO    ] 2026-08-29 13:21:18
[2026-08-29 13:21:19,055.055 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:21:19,199.199 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:21:19,211.211 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:21:19,352.352 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:21:19,360.360 INFO    ] time= 29/08/2026 13:21:19
[2026-08-29 13:21:19,367.367 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:21:19,413.413 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:21:19,533.533 INFO    ] No existing commands found in stream
[2026-08-29 13:21:24,564.564 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:21:24,566.566 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-08-29 13:21:25,229.229 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:21:25,231.231 INFO    ] Checking for system updates...
[2026-08-29 13:21:25,252.252 INFO    ] 200
[2026-08-29 13:21:25,254.254 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:21:25,283.283 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:21:25,285.285 INFO    ] No update needed
[2026-08-29 13:21:25,286.286 INFO    ] Checking for camera pi updates...
[2026-08-29 13:21:25,306.306 INFO    ] 200
[2026-08-29 13:21:25,308.308 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:21:25,332.332 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:21:25,467.467 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:21:25,469.469 INFO    ] No camera update needed
[2026-08-29 13:21:25,470.470 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:21:25,471.471 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:21:25,474.474 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:21:25,477.477 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:21:27,517.517 INFO    ] ================================================
[2026-08-29 13:21:27,533.533 INFO    ] Launching Daemon at Sat Aug 29 13:21:27 IST 2026
[2026-08-29 13:21:27,545.545 INFO    ] ================================================
[2026-08-29 13:21:28,130.130 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:21:28
[2026-08-29 13:21:28,829.829 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:21:29,119.119 INFO    ] Initializing speech engine...
[2026-08-29 13:21:29,125.125 INFO    ] 2026-08-29 13:21:29
[2026-08-29 13:21:29,384.384 INFO    ] 2026-08-29 13:21:29
[2026-08-29 13:21:29,420.420 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:21:29,604.604 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:21:29,618.618 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:21:29,767.767 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:21:29,777.777 INFO    ] time= 29/08/2026 13:21:29
[2026-08-29 13:21:29,786.786 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:21:29,854.854 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:21:29,973.973 INFO    ] No existing commands found in stream
[2026-08-29 13:21:34,994.994 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:21:34,997.997 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-08-29 13:21:38,792.792 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:21:38,794.794 INFO    ] Checking for system updates...
[2026-08-29 13:21:38,814.814 INFO    ] 200
[2026-08-29 13:21:38,816.816 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:21:38,846.846 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:21:38,847.847 INFO    ] No update needed
[2026-08-29 13:21:38,848.848 INFO    ] Checking for camera pi updates...
[2026-08-29 13:21:38,867.867 INFO    ] 200
[2026-08-29 13:21:38,868.868 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:21:38,892.892 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:21:38,990.990 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:21:38,992.992 INFO    ] No camera update needed
[2026-08-29 13:21:38,994.994 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:21:38,997.997 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:21:39,002.002 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:21:39,007.007 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:21:41,046.046 INFO    ] ================================================
[2026-08-29 13:21:41,061.061 INFO    ] Launching Daemon at Sat Aug 29 13:21:41 IST 2026
[2026-08-29 13:21:41,072.072 INFO    ] ================================================
[2026-08-29 13:21:41,739.739 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:21:41
[2026-08-29 13:21:42,224.224 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:21:42,380.380 INFO    ] Initializing speech engine...
[2026-08-29 13:21:42,385.385 INFO    ] 2026-08-29 13:21:42
[2026-08-29 13:21:42,592.592 INFO    ] 2026-08-29 13:21:42
[2026-08-29 13:21:42,621.621 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:21:42,767.767 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:21:42,808.808 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:21:42,950.950 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:21:42,959.959 INFO    ] time= 29/08/2026 13:21:42
[2026-08-29 13:21:43,001.001 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:21:43,055.055 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:21:43,148.148 INFO    ] No existing commands found in stream
[2026-08-29 13:21:48,179.179 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:21:48,181.181 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-08-29 13:21:49,917.917 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:21:49,918.918 INFO    ] Checking for system updates...
[2026-08-29 13:21:49,939.939 INFO    ] 200
[2026-08-29 13:21:49,940.940 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:21:49,973.973 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:21:49,974.974 INFO    ] No update needed
[2026-08-29 13:21:49,975.975 INFO    ] Checking for camera pi updates...
[2026-08-29 13:21:49,995.995 INFO    ] 200
[2026-08-29 13:21:49,996.996 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:21:50,020.020 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:21:50,129.129 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:21:50,132.132 INFO    ] No camera update needed
[2026-08-29 13:21:50,134.134 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:21:50,137.137 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:21:50,142.142 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:21:50,147.147 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:21:52,187.187 INFO    ] ================================================
[2026-08-29 13:21:52,203.203 INFO    ] Launching Daemon at Sat Aug 29 13:21:52 IST 2026
[2026-08-29 13:21:52,214.214 INFO    ] ================================================
[2026-08-29 13:21:52,809.809 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:21:52
[2026-08-29 13:21:53,301.301 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:21:53,453.453 INFO    ] Initializing speech engine...
[2026-08-29 13:21:53,456.456 INFO    ] 2026-08-29 13:21:53
[2026-08-29 13:21:53,705.705 INFO    ] 2026-08-29 13:21:53
[2026-08-29 13:21:53,759.759 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:21:53,927.927 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:21:53,930.930 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:21:54,113.113 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:21:54,132.132 INFO    ] time= 29/08/2026 13:21:54
[2026-08-29 13:21:54,148.148 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:21:54,156.156 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:21:54,269.269 INFO    ] No existing commands found in stream
[2026-08-29 13:21:59,294.294 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:21:59,296.296 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-08-29 13:22:03,536.536 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:22:03,538.538 INFO    ] Checking for system updates...
[2026-08-29 13:22:03,588.588 INFO    ] 200
[2026-08-29 13:22:03,593.593 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:22:03,652.652 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:22:03,655.655 INFO    ] No update needed
[2026-08-29 13:22:03,658.658 INFO    ] Checking for camera pi updates...
[2026-08-29 13:22:03,697.697 INFO    ] 200
[2026-08-29 13:22:03,700.700 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:22:03,747.747 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:22:03,859.859 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:22:03,862.862 INFO    ] No camera update needed
[2026-08-29 13:22:03,864.864 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:22:03,867.867 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:22:03,872.872 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:22:03,877.877 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:22:05,918.918 INFO    ] ================================================
[2026-08-29 13:22:05,934.934 INFO    ] Launching Daemon at Sat Aug 29 13:22:05 IST 2026
[2026-08-29 13:22:05,944.944 INFO    ] ================================================
[2026-08-29 13:22:06,421.421 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:22:06
[2026-08-29 13:22:07,039.039 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:22:07,318.318 INFO    ] Initializing speech engine...
[2026-08-29 13:22:07,324.324 INFO    ] 2026-08-29 13:22:07
[2026-08-29 13:22:07,571.571 INFO    ] 2026-08-29 13:22:07
[2026-08-29 13:22:07,606.606 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:22:07,786.786 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:22:07,802.802 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:22:07,934.934 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:22:07,941.941 INFO    ] time= 29/08/2026 13:22:07
[2026-08-29 13:22:07,947.947 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:22:07,997.997 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:22:08,119.119 INFO    ] No existing commands found in stream
[2026-08-29 13:22:13,145.145 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:22:13,147.147 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 13:22:13,680.680 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:22:13,682.682 INFO    ] Checking for system updates...
[2026-08-29 13:22:13,702.702 INFO    ] 200
[2026-08-29 13:22:13,703.703 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:22:13,733.733 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:22:13,735.735 INFO    ] No update needed
[2026-08-29 13:22:13,736.736 INFO    ] Checking for camera pi updates...
[2026-08-29 13:22:13,755.755 INFO    ] 200
[2026-08-29 13:22:13,756.756 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:22:13,779.779 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:22:13,856.856 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:22:13,858.858 INFO    ] No camera update needed
[2026-08-29 13:22:13,861.861 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:22:13,863.863 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:22:13,868.868 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:22:13,873.873 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:22:15,914.914 INFO    ] ================================================
[2026-08-29 13:22:15,929.929 INFO    ] Launching Daemon at Sat Aug 29 13:22:15 IST 2026
[2026-08-29 13:22:15,940.940 INFO    ] ================================================
[2026-08-29 13:22:16,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:22:16
[2026-08-29 13:22:17,107.107 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:22:17,398.398 INFO    ] Initializing speech engine...
[2026-08-29 13:22:17,405.405 INFO    ] 2026-08-29 13:22:17
[2026-08-29 13:22:17,674.674 INFO    ] 2026-08-29 13:22:17
[2026-08-29 13:22:17,730.730 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:22:17,953.953 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:22:17,963.963 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:22:18,097.097 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:22:18,146.146 INFO    ] time= 29/08/2026 13:22:18
[2026-08-29 13:22:18,196.196 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:22:18,227.227 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:22:18,280.280 INFO    ] No existing commands found in stream
[2026-08-29 13:22:23,293.293 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:22:23,296.296 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-08-29 13:22:24,626.626 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:22:24,627.627 INFO    ] Checking for system updates...
[2026-08-29 13:22:24,649.649 INFO    ] 200
[2026-08-29 13:22:24,650.650 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:22:24,682.682 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:22:24,683.683 INFO    ] No update needed
[2026-08-29 13:22:24,685.685 INFO    ] Checking for camera pi updates...
[2026-08-29 13:22:24,705.705 INFO    ] 200
[2026-08-29 13:22:24,706.706 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:22:24,730.730 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:22:24,826.826 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:22:24,827.827 INFO    ] No camera update needed
[2026-08-29 13:22:24,829.829 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:22:24,830.830 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:22:24,833.833 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:22:24,836.836 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:22:26,875.875 INFO    ] ================================================
[2026-08-29 13:22:26,891.891 INFO    ] Launching Daemon at Sat Aug 29 13:22:26 IST 2026
[2026-08-29 13:22:26,902.902 INFO    ] ================================================
[2026-08-29 13:22:27,270.270 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:22:27
[2026-08-29 13:22:27,832.832 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:22:28,114.114 INFO    ] Initializing speech engine...
[2026-08-29 13:22:28,125.125 INFO    ] 2026-08-29 13:22:28
[2026-08-29 13:22:28,374.374 INFO    ] 2026-08-29 13:22:28
[2026-08-29 13:22:28,409.409 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:22:28,581.581 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:22:28,593.593 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:22:28,733.733 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:22:28,741.741 INFO    ] time= 29/08/2026 13:22:28
[2026-08-29 13:22:28,749.749 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:22:28,801.801 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:22:28,920.920 INFO    ] No existing commands found in stream
[2026-08-29 13:22:33,950.950 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:22:33,953.953 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-08-29 13:22:38,099.099 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:22:38,101.101 INFO    ] Checking for system updates...
[2026-08-29 13:22:38,137.137 INFO    ] 200
[2026-08-29 13:22:38,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:22:38,192.192 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:22:38,194.194 INFO    ] No update needed
[2026-08-29 13:22:38,196.196 INFO    ] Checking for camera pi updates...
[2026-08-29 13:22:38,230.230 INFO    ] 200
[2026-08-29 13:22:38,232.232 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:22:38,276.276 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:22:38,386.386 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:22:38,388.388 INFO    ] No camera update needed
[2026-08-29 13:22:38,391.391 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:22:38,394.394 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:22:38,400.400 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:22:38,405.405 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:22:40,446.446 INFO    ] ================================================
[2026-08-29 13:22:40,461.461 INFO    ] Launching Daemon at Sat Aug 29 13:22:40 IST 2026
[2026-08-29 13:22:40,473.473 INFO    ] ================================================
[2026-08-29 13:22:40,816.816 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:22:40
[2026-08-29 13:22:41,130.130 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:22:41,275.275 INFO    ] Initializing speech engine...
[2026-08-29 13:22:41,280.280 INFO    ] 2026-08-29 13:22:41
[2026-08-29 13:22:41,483.483 INFO    ] 2026-08-29 13:22:41
[2026-08-29 13:22:41,511.511 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:22:41,632.632 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:22:41,671.671 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:22:41,829.829 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:22:41,882.882 INFO    ] time= 29/08/2026 13:22:41
[2026-08-29 13:22:41,910.910 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:22:41,925.925 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:22:41,996.996 INFO    ] No existing commands found in stream
[2026-08-29 13:22:47,006.006 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:22:47,009.009 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-08-29 13:22:48,852.852 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:22:48,854.854 INFO    ] Checking for system updates...
[2026-08-29 13:22:48,874.874 INFO    ] 200
[2026-08-29 13:22:48,876.876 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:22:48,905.905 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:22:48,906.906 INFO    ] No update needed
[2026-08-29 13:22:48,907.907 INFO    ] Checking for camera pi updates...
[2026-08-29 13:22:48,927.927 INFO    ] 200
[2026-08-29 13:22:48,928.928 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:22:48,952.952 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:22:49,058.058 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:22:49,060.060 INFO    ] No camera update needed
[2026-08-29 13:22:49,063.063 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:22:49,065.065 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:22:49,071.071 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:22:49,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:22:51,117.117 INFO    ] ================================================
[2026-08-29 13:22:51,133.133 INFO    ] Launching Daemon at Sat Aug 29 13:22:51 IST 2026
[2026-08-29 13:22:51,143.143 INFO    ] ================================================
[2026-08-29 13:22:51,492.492 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:22:51
[2026-08-29 13:22:52,052.052 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:22:52,323.323 INFO    ] Initializing speech engine...
[2026-08-29 13:22:52,332.332 INFO    ] 2026-08-29 13:22:52
[2026-08-29 13:22:52,581.581 INFO    ] 2026-08-29 13:22:52
[2026-08-29 13:22:52,616.616 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:22:52,791.791 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:22:52,803.803 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:22:52,947.947 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:22:52,955.955 INFO    ] time= 29/08/2026 13:22:52
[2026-08-29 13:22:52,964.964 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:22:53,017.017 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:22:53,144.144 INFO    ] No existing commands found in stream
[2026-08-29 13:22:58,167.167 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:22:58,170.170 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-08-29 13:23:02,329.329 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:23:02,332.332 INFO    ] Checking for system updates...
[2026-08-29 13:23:02,376.376 INFO    ] 200
[2026-08-29 13:23:02,379.379 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:23:02,438.438 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:23:02,441.441 INFO    ] No update needed
[2026-08-29 13:23:02,444.444 INFO    ] Checking for camera pi updates...
[2026-08-29 13:23:02,488.488 INFO    ] 200
[2026-08-29 13:23:02,491.491 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:23:02,541.541 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:23:02,646.646 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:23:02,649.649 INFO    ] No camera update needed
[2026-08-29 13:23:02,652.652 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:23:02,655.655 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:23:02,661.661 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:23:02,668.668 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:23:04,711.711 INFO    ] ================================================
[2026-08-29 13:23:04,728.728 INFO    ] Launching Daemon at Sat Aug 29 13:23:04 IST 2026
[2026-08-29 13:23:04,739.739 INFO    ] ================================================
[2026-08-29 13:23:05,231.231 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:23:05
[2026-08-29 13:23:05,547.547 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:23:05,684.684 INFO    ] Initializing speech engine...
[2026-08-29 13:23:05,697.697 INFO    ] 2026-08-29 13:23:05
[2026-08-29 13:23:05,912.912 INFO    ] 2026-08-29 13:23:05
[2026-08-29 13:23:05,943.943 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:23:06,072.072 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:23:06,090.090 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:23:06,231.231 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:23:06,282.282 INFO    ] time= 29/08/2026 13:23:06
[2026-08-29 13:23:06,314.314 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:23:06,365.365 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:23:06,461.461 INFO    ] No existing commands found in stream
[2026-08-29 13:23:11,472.472 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:23:11,475.475 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-08-29 13:23:15,318.318 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:23:15,319.319 INFO    ] Checking for system updates...
[2026-08-29 13:23:15,341.341 INFO    ] 200
[2026-08-29 13:23:15,342.342 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:23:15,372.372 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:23:15,373.373 INFO    ] No update needed
[2026-08-29 13:23:15,374.374 INFO    ] Checking for camera pi updates...
[2026-08-29 13:23:15,394.394 INFO    ] 200
[2026-08-29 13:23:15,395.395 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:23:15,418.418 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:23:15,515.515 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:23:15,516.516 INFO    ] No camera update needed
[2026-08-29 13:23:15,517.517 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:23:15,519.519 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:23:15,521.521 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:23:15,524.524 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:23:17,566.566 INFO    ] ================================================
[2026-08-29 13:23:17,582.582 INFO    ] Launching Daemon at Sat Aug 29 13:23:17 IST 2026
[2026-08-29 13:23:17,593.593 INFO    ] ================================================
[2026-08-29 13:23:17,936.936 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:23:17
[2026-08-29 13:23:18,249.249 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:23:18,383.383 INFO    ] Initializing speech engine...
[2026-08-29 13:23:18,395.395 INFO    ] 2026-08-29 13:23:18
[2026-08-29 13:23:18,602.602 INFO    ] 2026-08-29 13:23:18
[2026-08-29 13:23:18,632.632 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:23:18,771.771 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:23:18,819.819 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:23:18,956.956 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:23:19,022.022 INFO    ] time= 29/08/2026 13:23:18
[2026-08-29 13:23:19,050.050 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:23:19,057.057 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:23:19,124.124 INFO    ] No existing commands found in stream
[2026-08-29 13:23:24,134.134 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:23:24,137.137 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-08-29 13:23:25,653.653 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:23:25,654.654 INFO    ] Checking for system updates...
[2026-08-29 13:23:25,675.675 INFO    ] 200
[2026-08-29 13:23:25,677.677 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:23:25,706.706 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:23:25,708.708 INFO    ] No update needed
[2026-08-29 13:23:25,709.709 INFO    ] Checking for camera pi updates...
[2026-08-29 13:23:25,728.728 INFO    ] 200
[2026-08-29 13:23:25,729.729 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:23:25,752.752 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:23:25,941.941 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:23:25,943.943 INFO    ] No camera update needed
[2026-08-29 13:23:25,946.946 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:23:25,948.948 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:23:25,953.953 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:23:25,958.958 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:23:28,999.999 INFO    ] ================================================
[2026-08-29 13:23:28,015.015 INFO    ] Launching Daemon at Sat Aug 29 13:23:28 IST 2026
[2026-08-29 13:23:28,026.026 INFO    ] ================================================
[2026-08-29 13:23:28,603.603 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:23:28
[2026-08-29 13:23:29,024.024 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:23:29,156.156 INFO    ] Initializing speech engine...
[2026-08-29 13:23:29,170.170 INFO    ] 2026-08-29 13:23:29
[2026-08-29 13:23:29,371.371 INFO    ] 2026-08-29 13:23:29
[2026-08-29 13:23:29,406.406 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:23:29,581.581 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:23:29,593.593 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:23:29,738.738 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:23:29,747.747 INFO    ] time= 29/08/2026 13:23:29
[2026-08-29 13:23:29,753.753 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:23:29,765.765 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:23:29,885.885 INFO    ] No existing commands found in stream
[2026-08-29 13:23:34,904.904 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:23:34,907.907 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-08-29 13:23:35,784.784 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:23:35,786.786 INFO    ] Checking for system updates...
[2026-08-29 13:23:35,808.808 INFO    ] 200
[2026-08-29 13:23:35,810.810 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:23:35,839.839 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:23:35,840.840 INFO    ] No update needed
[2026-08-29 13:23:35,842.842 INFO    ] Checking for camera pi updates...
[2026-08-29 13:23:35,861.861 INFO    ] 200
[2026-08-29 13:23:35,862.862 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:23:35,885.885 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:23:36,013.013 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:23:36,015.015 INFO    ] No camera update needed
[2026-08-29 13:23:36,017.017 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:23:36,020.020 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:23:36,025.025 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:23:36,030.030 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:23:38,071.071 INFO    ] ================================================
[2026-08-29 13:23:38,086.086 INFO    ] Launching Daemon at Sat Aug 29 13:23:38 IST 2026
[2026-08-29 13:23:38,097.097 INFO    ] ================================================
[2026-08-29 13:23:38,728.728 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:23:38
[2026-08-29 13:23:39,154.154 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:23:39,304.304 INFO    ] Initializing speech engine...
[2026-08-29 13:23:39,309.309 INFO    ] 2026-08-29 13:23:39
[2026-08-29 13:23:39,517.517 INFO    ] 2026-08-29 13:23:39
[2026-08-29 13:23:39,546.546 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:23:39,676.676 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:23:39,736.736 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:23:39,868.868 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:23:39,924.924 INFO    ] time= 29/08/2026 13:23:39
[2026-08-29 13:23:39,969.969 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:23:39,976.976 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:23:40,042.042 INFO    ] No existing commands found in stream
[2026-08-29 13:23:45,053.053 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:23:45,056.056 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-08-29 13:23:46,653.653 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:23:46,655.655 INFO    ] Checking for system updates...
[2026-08-29 13:23:46,675.675 INFO    ] 200
[2026-08-29 13:23:46,676.676 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:23:46,708.708 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:23:46,710.710 INFO    ] No update needed
[2026-08-29 13:23:46,711.711 INFO    ] Checking for camera pi updates...
[2026-08-29 13:23:46,731.731 INFO    ] 200
[2026-08-29 13:23:46,733.733 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:23:46,756.756 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:23:46,854.854 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:23:46,855.855 INFO    ] No camera update needed
[2026-08-29 13:23:46,856.856 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:23:46,858.858 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:23:46,861.861 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:23:46,864.864 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:23:48,905.905 INFO    ] ================================================
[2026-08-29 13:23:48,920.920 INFO    ] Launching Daemon at Sat Aug 29 13:23:48 IST 2026
[2026-08-29 13:23:48,931.931 INFO    ] ================================================
[2026-08-29 13:23:49,289.289 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:23:49
[2026-08-29 13:23:49,601.601 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:23:49,778.778 INFO    ] Initializing speech engine...
[2026-08-29 13:23:49,787.787 INFO    ] 2026-08-29 13:23:49
[2026-08-29 13:23:50,039.039 INFO    ] 2026-08-29 13:23:50
[2026-08-29 13:23:50,074.074 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:23:50,250.250 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:23:50,263.263 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:23:50,407.407 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:23:50,414.414 INFO    ] time= 29/08/2026 13:23:50
[2026-08-29 13:23:50,421.421 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:23:50,433.433 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:23:50,574.574 INFO    ] No existing commands found in stream
[2026-08-29 13:23:55,604.604 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:23:55,607.607 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-08-29 13:23:56,614.614 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:23:56,615.615 INFO    ] Checking for system updates...
[2026-08-29 13:23:56,636.636 INFO    ] 200
[2026-08-29 13:23:56,637.637 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:23:56,666.666 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:23:56,668.668 INFO    ] No update needed
[2026-08-29 13:23:56,669.669 INFO    ] Checking for camera pi updates...
[2026-08-29 13:23:56,690.690 INFO    ] 200
[2026-08-29 13:23:56,691.691 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:23:56,715.715 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:23:56,801.801 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:23:56,802.802 INFO    ] No camera update needed
[2026-08-29 13:23:56,803.803 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:23:56,804.804 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:23:56,807.807 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:23:56,810.810 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:23:58,850.850 INFO    ] ================================================
[2026-08-29 13:23:58,865.865 INFO    ] Launching Daemon at Sat Aug 29 13:23:58 IST 2026
[2026-08-29 13:23:58,877.877 INFO    ] ================================================
[2026-08-29 13:23:59,449.449 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:23:59
[2026-08-29 13:24:00,040.040 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:24:00,315.315 INFO    ] Initializing speech engine...
[2026-08-29 13:24:00,324.324 INFO    ] 2026-08-29 13:24:00
[2026-08-29 13:24:00,576.576 INFO    ] 2026-08-29 13:24:00
[2026-08-29 13:24:00,611.611 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:24:00,786.786 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:24:00,799.799 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:24:00,925.925 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:24:00,929.929 INFO    ] time= 29/08/2026 13:24:00
[2026-08-29 13:24:00,934.934 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:24:00,967.967 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:24:01,062.062 INFO    ] No existing commands found in stream
[2026-08-29 13:24:06,072.072 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:24:06,075.075 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-08-29 13:24:06,754.754 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:24:06,757.757 INFO    ] Checking for system updates...
[2026-08-29 13:24:06,792.792 INFO    ] 200
[2026-08-29 13:24:06,795.795 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:24:06,846.846 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:24:06,848.848 INFO    ] No update needed
[2026-08-29 13:24:06,851.851 INFO    ] Checking for camera pi updates...
[2026-08-29 13:24:06,884.884 INFO    ] 200
[2026-08-29 13:24:06,886.886 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:24:06,926.926 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:24:07,005.005 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:24:07,007.007 INFO    ] No camera update needed
[2026-08-29 13:24:07,009.009 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:24:07,011.011 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:24:07,017.017 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:24:07,022.022 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:24:09,063.063 INFO    ] ================================================
[2026-08-29 13:24:09,079.079 INFO    ] Launching Daemon at Sat Aug 29 13:24:09 IST 2026
[2026-08-29 13:24:09,090.090 INFO    ] ================================================
[2026-08-29 13:24:09,674.674 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:24:09
[2026-08-29 13:24:10,185.185 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:24:10,465.465 INFO    ] Initializing speech engine...
[2026-08-29 13:24:10,470.470 INFO    ] 2026-08-29 13:24:10
[2026-08-29 13:24:10,722.722 INFO    ] 2026-08-29 13:24:10
[2026-08-29 13:24:10,757.757 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:24:10,940.940 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:24:10,959.959 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:24:11,092.092 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:24:11,161.161 INFO    ] time= 29/08/2026 13:24:11
[2026-08-29 13:24:11,188.188 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:24:11,247.247 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:24:11,342.342 INFO    ] No existing commands found in stream
[2026-08-29 13:24:16,354.354 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:24:16,368.368 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-08-29 13:24:19,407.407 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:24:19,408.408 INFO    ] Checking for system updates...
[2026-08-29 13:24:19,429.429 INFO    ] 200
[2026-08-29 13:24:19,430.430 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:24:19,460.460 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:24:19,461.461 INFO    ] No update needed
[2026-08-29 13:24:19,463.463 INFO    ] Checking for camera pi updates...
[2026-08-29 13:24:19,482.482 INFO    ] 200
[2026-08-29 13:24:19,483.483 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:24:19,506.506 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:24:19,602.602 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:24:19,605.605 INFO    ] No camera update needed
[2026-08-29 13:24:19,607.607 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:24:19,609.609 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:24:19,615.615 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:24:19,619.619 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:24:21,661.661 INFO    ] ================================================
[2026-08-29 13:24:21,677.677 INFO    ] Launching Daemon at Sat Aug 29 13:24:21 IST 2026
[2026-08-29 13:24:21,688.688 INFO    ] ================================================
[2026-08-29 13:24:22,258.258 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:24:22
[2026-08-29 13:24:22,730.730 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:24:22,869.869 INFO    ] Initializing speech engine...
[2026-08-29 13:24:22,879.879 INFO    ] 2026-08-29 13:24:22
[2026-08-29 13:24:23,084.084 INFO    ] 2026-08-29 13:24:23
[2026-08-29 13:24:23,113.113 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:24:23,238.238 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:24:23,284.284 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:24:23,435.435 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:24:23,487.487 INFO    ] time= 29/08/2026 13:24:23
[2026-08-29 13:24:23,517.517 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:24:23,538.538 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:24:23,609.609 INFO    ] No existing commands found in stream
[2026-08-29 13:24:28,618.618 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:24:28,621.621 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-08-29 13:24:31,032.032 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:24:31,034.034 INFO    ] Checking for system updates...
[2026-08-29 13:24:31,056.056 INFO    ] 200
[2026-08-29 13:24:31,058.058 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:24:31,087.087 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:24:31,089.089 INFO    ] No update needed
[2026-08-29 13:24:31,090.090 INFO    ] Checking for camera pi updates...
[2026-08-29 13:24:31,111.111 INFO    ] 200
[2026-08-29 13:24:31,113.113 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:24:31,136.136 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:24:31,239.239 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:24:31,240.240 INFO    ] No camera update needed
[2026-08-29 13:24:31,241.241 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:24:31,243.243 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:24:31,246.246 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:24:31,248.248 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:24:33,282.282 INFO    ] ================================================
[2026-08-29 13:24:33,310.310 INFO    ] Launching Daemon at Sat Aug 29 13:24:33 IST 2026
[2026-08-29 13:24:33,326.326 INFO    ] ================================================
[2026-08-29 13:24:33,953.953 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:24:33
[2026-08-29 13:24:34,610.610 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:24:34,912.912 INFO    ] Initializing speech engine...
[2026-08-29 13:24:34,926.926 INFO    ] 2026-08-29 13:24:34
[2026-08-29 13:24:35,237.237 INFO    ] 2026-08-29 13:24:35
[2026-08-29 13:24:35,322.322 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:24:35,453.453 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:24:35,464.464 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:24:35,587.587 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:24:35,603.603 INFO    ] time= 29/08/2026 13:24:35
[2026-08-29 13:24:35,607.607 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:24:35,641.641 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:24:35,724.724 INFO    ] No existing commands found in stream
[2026-08-29 13:24:40,759.759 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:24:40,762.762 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-08-29 13:24:43,593.593 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:24:43,594.594 INFO    ] Checking for system updates...
[2026-08-29 13:24:43,615.615 INFO    ] 200
[2026-08-29 13:24:43,616.616 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:24:43,647.647 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:24:43,649.649 INFO    ] No update needed
[2026-08-29 13:24:43,650.650 INFO    ] Checking for camera pi updates...
[2026-08-29 13:24:43,671.671 INFO    ] 200
[2026-08-29 13:24:43,672.672 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:24:43,695.695 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:24:43,797.797 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:24:43,798.798 INFO    ] No camera update needed
[2026-08-29 13:24:43,799.799 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:24:43,800.800 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:24:43,803.803 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:24:43,806.806 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:24:45,846.846 INFO    ] ================================================
[2026-08-29 13:24:45,860.860 INFO    ] Launching Daemon at Sat Aug 29 13:24:45 IST 2026
[2026-08-29 13:24:45,871.871 INFO    ] ================================================
[2026-08-29 13:24:46,210.210 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:24:46
[2026-08-29 13:24:46,542.542 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:24:46,688.688 INFO    ] Initializing speech engine...
[2026-08-29 13:24:46,698.698 INFO    ] 2026-08-29 13:24:46
[2026-08-29 13:24:46,906.906 INFO    ] 2026-08-29 13:24:46
[2026-08-29 13:24:46,935.935 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:24:47,062.062 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:24:47,121.121 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:24:47,259.259 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:24:47,323.323 INFO    ] time= 29/08/2026 13:24:47
[2026-08-29 13:24:47,351.351 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:24:47,358.358 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:24:47,423.423 INFO    ] No existing commands found in stream
[2026-08-29 13:24:52,434.434 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:24:52,437.437 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-08-29 13:24:55,754.754 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:24:55,755.755 INFO    ] Checking for system updates...
[2026-08-29 13:24:55,776.776 INFO    ] 200
[2026-08-29 13:24:55,777.777 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:24:55,808.808 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:24:55,809.809 INFO    ] No update needed
[2026-08-29 13:24:55,810.810 INFO    ] Checking for camera pi updates...
[2026-08-29 13:24:55,830.830 INFO    ] 200
[2026-08-29 13:24:55,831.831 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:24:55,854.854 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:24:55,967.967 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:24:55,969.969 INFO    ] No camera update needed
[2026-08-29 13:24:55,972.972 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:24:55,975.975 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:24:55,981.981 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:24:55,987.987 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:24:58,028.028 INFO    ] ================================================
[2026-08-29 13:24:58,044.044 INFO    ] Launching Daemon at Sat Aug 29 13:24:58 IST 2026
[2026-08-29 13:24:58,055.055 INFO    ] ================================================
[2026-08-29 13:24:58,689.689 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:24:58
[2026-08-29 13:24:59,160.160 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:24:59,410.410 INFO    ] Initializing speech engine...
[2026-08-29 13:24:59,416.416 INFO    ] 2026-08-29 13:24:59
[2026-08-29 13:24:59,677.677 INFO    ] 2026-08-29 13:24:59
[2026-08-29 13:24:59,708.708 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:24:59,874.874 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:24:59,886.886 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:25:01,056.056 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:25:01,071.071 INFO    ] time= 29/08/2026 13:25:01
[2026-08-29 13:25:01,077.077 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:25:01,083.083 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:25:01,129.129 INFO    ] No existing commands found in stream
[2026-08-29 13:25:06,140.140 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:25:06,153.153 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-08-29 13:25:10,577.577 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:25:10,579.579 INFO    ] Checking for system updates...
[2026-08-29 13:25:10,599.599 INFO    ] 200
[2026-08-29 13:25:10,600.600 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:25:10,630.630 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:25:10,631.631 INFO    ] No update needed
[2026-08-29 13:25:10,633.633 INFO    ] Checking for camera pi updates...
[2026-08-29 13:25:10,653.653 INFO    ] 200
[2026-08-29 13:25:10,654.654 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:25:10,677.677 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:25:10,771.771 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:25:10,773.773 INFO    ] No camera update needed
[2026-08-29 13:25:10,776.776 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:25:10,778.778 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:25:10,783.783 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:25:10,788.788 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:25:12,829.829 INFO    ] ================================================
[2026-08-29 13:25:12,844.844 INFO    ] Launching Daemon at Sat Aug 29 13:25:12 IST 2026
[2026-08-29 13:25:12,856.856 INFO    ] ================================================
[2026-08-29 13:25:13,460.460 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:25:13
[2026-08-29 13:25:13,955.955 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:25:14,203.203 INFO    ] Initializing speech engine...
[2026-08-29 13:25:14,218.218 INFO    ] 2026-08-29 13:25:14
[2026-08-29 13:25:14,487.487 INFO    ] 2026-08-29 13:25:14
[2026-08-29 13:25:14,524.524 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:25:14,729.729 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:25:14,786.786 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:25:14,945.945 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:25:14,972.972 INFO    ] time= 29/08/2026 13:25:14
[2026-08-29 13:25:15,036.036 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:25:15,079.079 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:25:15,203.203 INFO    ] No existing commands found in stream
[2026-08-29 13:25:20,228.228 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:25:20,230.230 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-08-29 13:25:20,610.610 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:25:20,611.611 INFO    ] Checking for system updates...
[2026-08-29 13:25:20,632.632 INFO    ] 200
[2026-08-29 13:25:20,633.633 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:25:20,663.663 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:25:20,664.664 INFO    ] No update needed
[2026-08-29 13:25:20,665.665 INFO    ] Checking for camera pi updates...
[2026-08-29 13:25:20,684.684 INFO    ] 200
[2026-08-29 13:25:20,686.686 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:25:20,711.711 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:25:20,796.796 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:25:20,797.797 INFO    ] No camera update needed
[2026-08-29 13:25:20,799.799 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:25:20,800.800 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:25:20,803.803 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:25:20,805.805 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:25:22,846.846 INFO    ] ================================================
[2026-08-29 13:25:22,861.861 INFO    ] Launching Daemon at Sat Aug 29 13:25:22 IST 2026
[2026-08-29 13:25:22,872.872 INFO    ] ================================================
[2026-08-29 13:25:23,229.229 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:25:23
[2026-08-29 13:25:23,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:25:23,714.714 INFO    ] Initializing speech engine...
[2026-08-29 13:25:23,720.720 INFO    ] 2026-08-29 13:25:23
[2026-08-29 13:25:23,909.909 INFO    ] 2026-08-29 13:25:23
[2026-08-29 13:25:23,966.966 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:25:24,188.188 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:25:24,197.197 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:25:24,332.332 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:25:24,377.377 INFO    ] time= 29/08/2026 13:25:24
[2026-08-29 13:25:24,432.432 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:25:24,466.466 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:25:24,576.576 INFO    ] No existing commands found in stream
[2026-08-29 13:25:29,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:25:29,617.617 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-08-29 13:25:32,275.275 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:25:32,278.278 INFO    ] Checking for system updates...
[2026-08-29 13:25:32,320.320 INFO    ] 200
[2026-08-29 13:25:32,323.323 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:25:32,381.381 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:25:32,384.384 INFO    ] No update needed
[2026-08-29 13:25:32,387.387 INFO    ] Checking for camera pi updates...
[2026-08-29 13:25:32,439.439 INFO    ] 200
[2026-08-29 13:25:32,442.442 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:25:32,487.487 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:25:32,671.671 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:25:32,674.674 INFO    ] No camera update needed
[2026-08-29 13:25:32,676.676 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:25:32,679.679 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:25:32,685.685 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:25:32,691.691 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:25:34,731.731 INFO    ] ================================================
[2026-08-29 13:25:34,746.746 INFO    ] Launching Daemon at Sat Aug 29 13:25:34 IST 2026
[2026-08-29 13:25:34,758.758 INFO    ] ================================================
[2026-08-29 13:25:35,326.326 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:25:35
[2026-08-29 13:25:35,744.744 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:25:36,019.019 INFO    ] Initializing speech engine...
[2026-08-29 13:25:36,028.028 INFO    ] 2026-08-29 13:25:36
[2026-08-29 13:25:36,276.276 INFO    ] 2026-08-29 13:25:36
[2026-08-29 13:25:36,343.343 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:25:36,511.511 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:25:36,539.539 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:25:36,716.716 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:25:36,743.743 INFO    ] time= 29/08/2026 13:25:36
[2026-08-29 13:25:36,792.792 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:25:36,851.851 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:25:36,908.908 INFO    ] No existing commands found in stream
[2026-08-29 13:25:41,920.920 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:25:41,923.923 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 13:25:45,429.429 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:25:45,430.430 INFO    ] Checking for system updates...
[2026-08-29 13:25:45,451.451 INFO    ] 200
[2026-08-29 13:25:45,452.452 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:25:45,482.482 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:25:45,483.483 INFO    ] No update needed
[2026-08-29 13:25:45,485.485 INFO    ] Checking for camera pi updates...
[2026-08-29 13:25:45,504.504 INFO    ] 200
[2026-08-29 13:25:45,505.505 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:25:45,530.530 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:25:45,606.606 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:25:45,607.607 INFO    ] No camera update needed
[2026-08-29 13:25:45,609.609 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:25:45,610.610 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:25:45,613.613 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:25:45,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:25:47,655.655 INFO    ] ================================================
[2026-08-29 13:25:47,671.671 INFO    ] Launching Daemon at Sat Aug 29 13:25:47 IST 2026
[2026-08-29 13:25:47,682.682 INFO    ] ================================================
[2026-08-29 13:25:48,046.046 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:25:48
[2026-08-29 13:25:48,362.362 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:25:48,506.506 INFO    ] Initializing speech engine...
[2026-08-29 13:25:48,511.511 INFO    ] 2026-08-29 13:25:48
[2026-08-29 13:25:48,752.752 INFO    ] 2026-08-29 13:25:48
[2026-08-29 13:25:48,787.787 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:25:48,959.959 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:25:48,970.970 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:25:49,109.109 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:25:49,118.118 INFO    ] time= 29/08/2026 13:25:49
[2026-08-29 13:25:49,123.123 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:25:49,130.130 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:25:49,200.200 INFO    ] No existing commands found in stream
[2026-08-29 13:25:54,231.231 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:25:54,234.234 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 13:25:56,287.287 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:25:56,289.289 INFO    ] Checking for system updates...
[2026-08-29 13:25:56,309.309 INFO    ] 200
[2026-08-29 13:25:56,311.311 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:25:56,341.341 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:25:56,342.342 INFO    ] No update needed
[2026-08-29 13:25:56,344.344 INFO    ] Checking for camera pi updates...
[2026-08-29 13:25:56,363.363 INFO    ] 200
[2026-08-29 13:25:56,364.364 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:25:56,388.388 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:25:56,493.493 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:25:56,495.495 INFO    ] No camera update needed
[2026-08-29 13:25:56,496.496 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:25:56,497.497 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:25:56,500.500 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:25:56,503.503 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:25:58,543.543 INFO    ] ================================================
[2026-08-29 13:25:58,559.559 INFO    ] Launching Daemon at Sat Aug 29 13:25:58 IST 2026
[2026-08-29 13:25:58,570.570 INFO    ] ================================================
[2026-08-29 13:25:59,144.144 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:25:59
[2026-08-29 13:25:59,728.728 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:25:59,997.997 INFO    ] Initializing speech engine...
[2026-08-29 13:26:00,007.007 INFO    ] 2026-08-29 13:25:59
[2026-08-29 13:26:00,259.259 INFO    ] 2026-08-29 13:26:00
[2026-08-29 13:26:00,294.294 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:26:00,470.470 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:26:00,481.481 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:26:00,595.595 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:26:00,613.613 INFO    ] time= 29/08/2026 13:26:00
[2026-08-29 13:26:00,636.636 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:26:00,641.641 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:26:00,709.709 INFO    ] No existing commands found in stream
[2026-08-29 13:26:05,722.722 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:26:05,725.725 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-08-29 13:26:07,776.776 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:26:07,778.778 INFO    ] Checking for system updates...
[2026-08-29 13:26:07,798.798 INFO    ] 200
[2026-08-29 13:26:07,800.800 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:26:07,832.832 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:26:07,834.834 INFO    ] No update needed
[2026-08-29 13:26:07,835.835 INFO    ] Checking for camera pi updates...
[2026-08-29 13:26:07,855.855 INFO    ] 200
[2026-08-29 13:26:07,856.856 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:26:07,881.881 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:26:07,964.964 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:26:07,965.965 INFO    ] No camera update needed
[2026-08-29 13:26:07,967.967 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:26:07,968.968 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:26:07,971.971 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:26:07,974.974 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:26:10,014.014 INFO    ] ================================================
[2026-08-29 13:26:10,030.030 INFO    ] Launching Daemon at Sat Aug 29 13:26:10 IST 2026
[2026-08-29 13:26:10,042.042 INFO    ] ================================================
[2026-08-29 13:26:10,418.418 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:26:10
[2026-08-29 13:26:10,756.756 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:26:10,906.906 INFO    ] Initializing speech engine...
[2026-08-29 13:26:10,910.910 INFO    ] 2026-08-29 13:26:10
[2026-08-29 13:26:11,121.121 INFO    ] 2026-08-29 13:26:11
[2026-08-29 13:26:11,150.150 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:26:11,290.290 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:26:11,340.340 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:26:11,479.479 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:26:11,545.545 INFO    ] time= 29/08/2026 13:26:11
[2026-08-29 13:26:11,574.574 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:26:11,581.581 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:26:11,648.648 INFO    ] No existing commands found in stream
[2026-08-29 13:26:16,659.659 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:26:16,662.662 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-08-29 13:26:20,602.602 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:26:20,604.604 INFO    ] Checking for system updates...
[2026-08-29 13:26:20,624.624 INFO    ] 200
[2026-08-29 13:26:20,626.626 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:26:20,656.656 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:26:20,657.657 INFO    ] No update needed
[2026-08-29 13:26:20,658.658 INFO    ] Checking for camera pi updates...
[2026-08-29 13:26:20,679.679 INFO    ] 200
[2026-08-29 13:26:20,680.680 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:26:20,705.705 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:26:20,790.790 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:26:20,792.792 INFO    ] No camera update needed
[2026-08-29 13:26:20,793.793 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:26:20,795.795 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:26:20,799.799 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:26:20,802.802 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:26:22,841.841 INFO    ] ================================================
[2026-08-29 13:26:22,857.857 INFO    ] Launching Daemon at Sat Aug 29 13:26:22 IST 2026
[2026-08-29 13:26:22,869.869 INFO    ] ================================================
[2026-08-29 13:26:23,367.367 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:26:23
[2026-08-29 13:26:23,961.961 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:26:24,238.238 INFO    ] Initializing speech engine...
[2026-08-29 13:26:24,249.249 INFO    ] 2026-08-29 13:26:24
[2026-08-29 13:26:24,510.510 INFO    ] 2026-08-29 13:26:24
[2026-08-29 13:26:24,572.572 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:26:24,802.802 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:26:24,828.828 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:26:24,983.983 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:26:24,991.991 INFO    ] time= 29/08/2026 13:26:24
[2026-08-29 13:26:25,046.046 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:26:25,090.090 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:26:25,156.156 INFO    ] No existing commands found in stream
[2026-08-29 13:26:30,167.167 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:26:30,170.170 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-08-29 13:26:32,584.584 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:26:32,586.586 INFO    ] Checking for system updates...
[2026-08-29 13:26:32,623.623 INFO    ] 200
[2026-08-29 13:26:32,625.625 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:26:32,682.682 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:26:32,685.685 INFO    ] No update needed
[2026-08-29 13:26:32,688.688 INFO    ] Checking for camera pi updates...
[2026-08-29 13:26:32,727.727 INFO    ] 200
[2026-08-29 13:26:32,730.730 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:26:32,777.777 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:26:32,889.889 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:26:32,891.891 INFO    ] No camera update needed
[2026-08-29 13:26:32,894.894 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:26:32,897.897 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:26:32,904.904 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:26:32,910.910 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:26:34,952.952 INFO    ] ================================================
[2026-08-29 13:26:34,968.968 INFO    ] Launching Daemon at Sat Aug 29 13:26:34 IST 2026
[2026-08-29 13:26:34,979.979 INFO    ] ================================================
[2026-08-29 13:26:35,545.545 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:26:35
[2026-08-29 13:26:35,893.893 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:26:36,024.024 INFO    ] Initializing speech engine...
[2026-08-29 13:26:36,027.027 INFO    ] 2026-08-29 13:26:36
[2026-08-29 13:26:36,216.216 INFO    ] 2026-08-29 13:26:36
[2026-08-29 13:26:36,259.259 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:26:36,437.437 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:26:36,453.453 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:26:36,584.584 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:26:36,593.593 INFO    ] time= 29/08/2026 13:26:36
[2026-08-29 13:26:36,598.598 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:26:36,605.605 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:26:36,735.735 INFO    ] No existing commands found in stream
[2026-08-29 13:26:41,760.760 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:26:41,763.763 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-08-29 13:26:42,202.202 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:26:42,203.203 INFO    ] Checking for system updates...
[2026-08-29 13:26:42,225.225 INFO    ] 200
[2026-08-29 13:26:42,227.227 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:26:42,256.256 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:26:42,258.258 INFO    ] No update needed
[2026-08-29 13:26:42,259.259 INFO    ] Checking for camera pi updates...
[2026-08-29 13:26:42,278.278 INFO    ] 200
[2026-08-29 13:26:42,280.280 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:26:42,305.305 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:26:42,401.401 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:26:42,403.403 INFO    ] No camera update needed
[2026-08-29 13:26:42,404.404 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:26:42,406.406 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:26:42,409.409 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:26:42,411.411 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:26:44,449.449 INFO    ] ================================================
[2026-08-29 13:26:44,465.465 INFO    ] Launching Daemon at Sat Aug 29 13:26:44 IST 2026
[2026-08-29 13:26:44,476.476 INFO    ] ================================================
[2026-08-29 13:26:44,804.804 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:26:44
[2026-08-29 13:26:45,122.122 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:26:45,266.266 INFO    ] Initializing speech engine...
[2026-08-29 13:26:45,271.271 INFO    ] 2026-08-29 13:26:45
[2026-08-29 13:26:45,476.476 INFO    ] 2026-08-29 13:26:45
[2026-08-29 13:26:45,504.504 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:26:45,638.638 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:26:45,692.692 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:26:45,827.827 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:26:45,889.889 INFO    ] time= 29/08/2026 13:26:45
[2026-08-29 13:26:45,922.922 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:26:45,924.924 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:26:45,996.996 INFO    ] No existing commands found in stream
[2026-08-29 13:26:51,005.005 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:26:51,008.008 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-08-29 13:26:53,214.214 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:26:53,215.215 INFO    ] Checking for system updates...
[2026-08-29 13:26:53,236.236 INFO    ] 200
[2026-08-29 13:26:53,237.237 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:26:53,266.266 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:26:53,268.268 INFO    ] No update needed
[2026-08-29 13:26:53,269.269 INFO    ] Checking for camera pi updates...
[2026-08-29 13:26:53,288.288 INFO    ] 200
[2026-08-29 13:26:53,289.289 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:26:53,312.312 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:26:53,405.405 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:26:53,406.406 INFO    ] No camera update needed
[2026-08-29 13:26:53,407.407 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:26:53,409.409 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:26:53,412.412 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:26:53,415.415 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:26:55,453.453 INFO    ] ================================================
[2026-08-29 13:26:55,468.468 INFO    ] Launching Daemon at Sat Aug 29 13:26:55 IST 2026
[2026-08-29 13:26:55,479.479 INFO    ] ================================================
[2026-08-29 13:26:55,819.819 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:26:55
[2026-08-29 13:26:56,137.137 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:26:56,349.349 INFO    ] Initializing speech engine...
[2026-08-29 13:26:56,358.358 INFO    ] 2026-08-29 13:26:56
[2026-08-29 13:26:56,659.659 INFO    ] 2026-08-29 13:26:56
[2026-08-29 13:26:56,696.696 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:26:56,869.869 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:26:56,882.882 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:26:57,023.023 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:26:57,032.032 INFO    ] time= 29/08/2026 13:26:57
[2026-08-29 13:26:57,036.036 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:26:57,042.042 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:26:57,106.106 INFO    ] No existing commands found in stream
[2026-08-29 13:27:02,115.115 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:27:02,118.118 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-08-29 13:27:06,197.197 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:27:06,198.198 INFO    ] Checking for system updates...
[2026-08-29 13:27:06,218.218 INFO    ] 200
[2026-08-29 13:27:06,220.220 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:27:06,257.257 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:27:06,258.258 INFO    ] No update needed
[2026-08-29 13:27:06,260.260 INFO    ] Checking for camera pi updates...
[2026-08-29 13:27:06,279.279 INFO    ] 200
[2026-08-29 13:27:06,280.280 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:27:06,303.303 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:27:06,400.400 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:27:06,402.402 INFO    ] No camera update needed
[2026-08-29 13:27:06,403.403 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:27:06,404.404 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:27:06,407.407 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:27:06,410.410 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:27:08,448.448 INFO    ] ================================================
[2026-08-29 13:27:08,463.463 INFO    ] Launching Daemon at Sat Aug 29 13:27:08 IST 2026
[2026-08-29 13:27:08,474.474 INFO    ] ================================================
[2026-08-29 13:27:08,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:27:08
[2026-08-29 13:27:09,298.298 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:27:09,571.571 INFO    ] Initializing speech engine...
[2026-08-29 13:27:09,580.580 INFO    ] 2026-08-29 13:27:09
[2026-08-29 13:27:09,842.842 INFO    ] 2026-08-29 13:27:09
[2026-08-29 13:27:09,898.898 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:27:10,119.119 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:27:10,128.128 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:27:10,260.260 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:27:10,282.282 INFO    ] time= 29/08/2026 13:27:10
[2026-08-29 13:27:10,347.347 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:27:10,391.391 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:27:10,445.445 INFO    ] No existing commands found in stream
[2026-08-29 13:27:15,457.457 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:27:15,460.460 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-08-29 13:27:18,797.797 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:27:18,798.798 INFO    ] Checking for system updates...
[2026-08-29 13:27:18,818.818 INFO    ] 200
[2026-08-29 13:27:18,820.820 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:27:18,850.850 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:27:18,852.852 INFO    ] No update needed
[2026-08-29 13:27:18,853.853 INFO    ] Checking for camera pi updates...
[2026-08-29 13:27:18,873.873 INFO    ] 200
[2026-08-29 13:27:18,874.874 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:27:18,909.909 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:27:19,016.016 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:27:19,019.019 INFO    ] No camera update needed
[2026-08-29 13:27:19,021.021 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:27:19,023.023 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:27:19,029.029 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:27:19,034.034 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:27:21,075.075 INFO    ] ================================================
[2026-08-29 13:27:21,091.091 INFO    ] Launching Daemon at Sat Aug 29 13:27:21 IST 2026
[2026-08-29 13:27:21,102.102 INFO    ] ================================================
[2026-08-29 13:27:21,764.764 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:27:21
[2026-08-29 13:27:22,230.230 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:27:22,387.387 INFO    ] Initializing speech engine...
[2026-08-29 13:27:22,392.392 INFO    ] 2026-08-29 13:27:22
[2026-08-29 13:27:22,600.600 INFO    ] 2026-08-29 13:27:22
[2026-08-29 13:27:22,629.629 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:27:22,769.769 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:27:22,817.817 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:27:22,949.949 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:27:23,010.010 INFO    ] time= 29/08/2026 13:27:22
[2026-08-29 13:27:23,048.048 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:27:23,055.055 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:27:23,130.130 INFO    ] No existing commands found in stream
[2026-08-29 13:27:28,146.146 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:27:28,149.149 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-08-29 13:27:30,813.813 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:27:30,815.815 INFO    ] Checking for system updates...
[2026-08-29 13:27:30,836.836 INFO    ] 200
[2026-08-29 13:27:30,837.837 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:27:30,869.869 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:27:30,870.870 INFO    ] No update needed
[2026-08-29 13:27:30,872.872 INFO    ] Checking for camera pi updates...
[2026-08-29 13:27:30,891.891 INFO    ] 200
[2026-08-29 13:27:30,892.892 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:27:30,915.915 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:27:30,993.993 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:27:30,995.995 INFO    ] No camera update needed
[2026-08-29 13:27:30,996.996 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:27:30,997.997 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:27:31,000.000 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:27:31,003.003 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:27:33,046.046 INFO    ] ================================================
[2026-08-29 13:27:33,061.061 INFO    ] Launching Daemon at Sat Aug 29 13:27:33 IST 2026
[2026-08-29 13:27:33,073.073 INFO    ] ================================================
[2026-08-29 13:27:33,653.653 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:27:33
[2026-08-29 13:27:34,306.306 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:27:34,619.619 INFO    ] Initializing speech engine...
[2026-08-29 13:27:34,631.631 INFO    ] 2026-08-29 13:27:34
[2026-08-29 13:27:34,921.921 INFO    ] 2026-08-29 13:27:34
[2026-08-29 13:27:35,034.034 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:27:35,192.192 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:27:35,199.199 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:27:35,339.339 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:27:35,409.409 INFO    ] time= 29/08/2026 13:27:35
[2026-08-29 13:27:35,476.476 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:27:35,483.483 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:27:35,568.568 INFO    ] No existing commands found in stream
[2026-08-29 13:27:40,607.607 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:27:40,610.610 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-08-29 13:27:44,745.745 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:27:44,746.746 INFO    ] Checking for system updates...
[2026-08-29 13:27:44,768.768 INFO    ] 200
[2026-08-29 13:27:44,769.769 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:27:44,802.802 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:27:44,803.803 INFO    ] No update needed
[2026-08-29 13:27:44,804.804 INFO    ] Checking for camera pi updates...
[2026-08-29 13:27:44,825.825 INFO    ] 200
[2026-08-29 13:27:44,826.826 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:27:44,849.849 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:27:45,033.033 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:27:45,034.034 INFO    ] No camera update needed
[2026-08-29 13:27:45,035.035 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:27:45,036.036 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:27:45,039.039 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:27:45,042.042 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:27:47,082.082 INFO    ] ================================================
[2026-08-29 13:27:47,097.097 INFO    ] Launching Daemon at Sat Aug 29 13:27:47 IST 2026
[2026-08-29 13:27:47,109.109 INFO    ] ================================================
[2026-08-29 13:27:47,480.480 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:27:47
[2026-08-29 13:27:47,794.794 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:27:47,926.926 INFO    ] Initializing speech engine...
[2026-08-29 13:27:47,929.929 INFO    ] 2026-08-29 13:27:47
[2026-08-29 13:27:48,135.135 INFO    ] 2026-08-29 13:27:48
[2026-08-29 13:27:48,167.167 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:27:48,293.293 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:27:48,325.325 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:27:48,473.473 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:27:48,525.525 INFO    ] time= 29/08/2026 13:27:48
[2026-08-29 13:27:48,581.581 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:27:48,604.604 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:27:48,693.693 INFO    ] No existing commands found in stream
[2026-08-29 13:27:53,703.703 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:27:53,706.706 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-08-29 13:27:56,923.923 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:27:56,924.924 INFO    ] Checking for system updates...
[2026-08-29 13:27:56,946.946 INFO    ] 200
[2026-08-29 13:27:56,948.948 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:27:56,980.980 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:27:56,982.982 INFO    ] No update needed
[2026-08-29 13:27:56,983.983 INFO    ] Checking for camera pi updates...
[2026-08-29 13:27:57,003.003 INFO    ] 200
[2026-08-29 13:27:57,005.005 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:27:57,028.028 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:27:57,126.126 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:27:57,127.127 INFO    ] No camera update needed
[2026-08-29 13:27:57,129.129 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:27:57,130.130 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:27:57,133.133 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:27:57,136.136 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:27:59,180.180 INFO    ] ================================================
[2026-08-29 13:27:59,196.196 INFO    ] Launching Daemon at Sat Aug 29 13:27:59 IST 2026
[2026-08-29 13:27:59,207.207 INFO    ] ================================================
[2026-08-29 13:27:59,790.790 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:27:59
[2026-08-29 13:28:00,388.388 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:28:00,666.666 INFO    ] Initializing speech engine...
[2026-08-29 13:28:00,673.673 INFO    ] 2026-08-29 13:28:00
[2026-08-29 13:28:00,934.934 INFO    ] 2026-08-29 13:28:00
[2026-08-29 13:28:00,986.986 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:28:01,135.135 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:28:01,138.138 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:28:01,269.269 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:28:01,278.278 INFO    ] time= 29/08/2026 13:28:01
[2026-08-29 13:28:01,283.283 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:28:01,297.297 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:28:01,379.379 INFO    ] No existing commands found in stream
[2026-08-29 13:28:06,410.410 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:28:06,413.413 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-08-29 13:28:07,043.043 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:28:07,045.045 INFO    ] Checking for system updates...
[2026-08-29 13:28:07,065.065 INFO    ] 200
[2026-08-29 13:28:07,066.066 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:28:07,096.096 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:28:07,097.097 INFO    ] No update needed
[2026-08-29 13:28:07,099.099 INFO    ] Checking for camera pi updates...
[2026-08-29 13:28:07,118.118 INFO    ] 200
[2026-08-29 13:28:07,119.119 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:28:07,144.144 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:28:07,219.219 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:28:07,221.221 INFO    ] No camera update needed
[2026-08-29 13:28:07,222.222 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:28:07,224.224 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:28:07,227.227 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:28:07,230.230 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:28:09,269.269 INFO    ] ================================================
[2026-08-29 13:28:09,285.285 INFO    ] Launching Daemon at Sat Aug 29 13:28:09 IST 2026
[2026-08-29 13:28:09,297.297 INFO    ] ================================================
[2026-08-29 13:28:09,646.646 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:28:09
[2026-08-29 13:28:09,960.960 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:28:10,108.108 INFO    ] Initializing speech engine...
[2026-08-29 13:28:10,113.113 INFO    ] 2026-08-29 13:28:10
[2026-08-29 13:28:10,316.316 INFO    ] 2026-08-29 13:28:10
[2026-08-29 13:28:10,344.344 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:28:10,527.527 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:28:10,530.530 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:28:10,662.662 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:28:10,724.724 INFO    ] time= 29/08/2026 13:28:10
[2026-08-29 13:28:10,755.755 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:28:10,762.762 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:28:10,829.829 INFO    ] No existing commands found in stream
[2026-08-29 13:28:15,843.843 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:28:15,846.846 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-08-29 13:28:16,264.264 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:28:16,265.265 INFO    ] Checking for system updates...
[2026-08-29 13:28:16,287.287 INFO    ] 200
[2026-08-29 13:28:16,288.288 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:28:16,320.320 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:28:16,321.321 INFO    ] No update needed
[2026-08-29 13:28:16,322.322 INFO    ] Checking for camera pi updates...
[2026-08-29 13:28:16,342.342 INFO    ] 200
[2026-08-29 13:28:16,343.343 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:28:16,366.366 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:28:16,463.463 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:28:16,465.465 INFO    ] No camera update needed
[2026-08-29 13:28:16,466.466 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:28:16,467.467 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:28:16,470.470 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:28:16,473.473 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:28:18,513.513 INFO    ] ================================================
[2026-08-29 13:28:18,529.529 INFO    ] Launching Daemon at Sat Aug 29 13:28:18 IST 2026
[2026-08-29 13:28:18,540.540 INFO    ] ================================================
[2026-08-29 13:28:19,051.051 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:28:19
[2026-08-29 13:28:19,637.637 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:28:19,906.906 INFO    ] Initializing speech engine...
[2026-08-29 13:28:19,915.915 INFO    ] 2026-08-29 13:28:19
[2026-08-29 13:28:20,164.164 INFO    ] 2026-08-29 13:28:20
[2026-08-29 13:28:20,198.198 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:28:20,370.370 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:28:20,382.382 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:28:20,526.526 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:28:20,531.531 INFO    ] time= 29/08/2026 13:28:20
[2026-08-29 13:28:20,538.538 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:28:20,564.564 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:28:20,683.683 INFO    ] No existing commands found in stream
[2026-08-29 13:28:25,708.708 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:28:25,710.710 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-08-29 13:28:29,274.274 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:28:29,275.275 INFO    ] Checking for system updates...
[2026-08-29 13:28:29,302.302 INFO    ] 200
[2026-08-29 13:28:29,303.303 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:28:29,343.343 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:28:29,344.344 INFO    ] No update needed
[2026-08-29 13:28:29,345.345 INFO    ] Checking for camera pi updates...
[2026-08-29 13:28:29,364.364 INFO    ] 200
[2026-08-29 13:28:29,366.366 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:28:29,390.390 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:28:29,497.497 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:28:29,498.498 INFO    ] No camera update needed
[2026-08-29 13:28:29,499.499 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:28:29,501.501 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:28:29,504.504 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:28:29,506.506 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:28:31,547.547 INFO    ] ================================================
[2026-08-29 13:28:31,563.563 INFO    ] Launching Daemon at Sat Aug 29 13:28:31 IST 2026
[2026-08-29 13:28:31,574.574 INFO    ] ================================================
[2026-08-29 13:28:32,103.103 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:28:32
[2026-08-29 13:28:32,717.717 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:28:32,991.991 INFO    ] Initializing speech engine...
[2026-08-29 13:28:33,005.005 INFO    ] 2026-08-29 13:28:32
[2026-08-29 13:28:33,268.268 INFO    ] 2026-08-29 13:28:33
[2026-08-29 13:28:33,302.302 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:28:33,473.473 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:28:33,485.485 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:28:33,627.627 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:28:33,635.635 INFO    ] time= 29/08/2026 13:28:33
[2026-08-29 13:28:33,642.642 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:28:33,662.662 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:28:33,793.793 INFO    ] No existing commands found in stream
[2026-08-29 13:28:38,823.823 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:28:38,826.826 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-08-29 13:28:42,904.904 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:28:42,905.905 INFO    ] Checking for system updates...
[2026-08-29 13:28:42,926.926 INFO    ] 200
[2026-08-29 13:28:42,927.927 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:28:42,957.957 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:28:42,959.959 INFO    ] No update needed
[2026-08-29 13:28:42,960.960 INFO    ] Checking for camera pi updates...
[2026-08-29 13:28:42,980.980 INFO    ] 200
[2026-08-29 13:28:42,981.981 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:28:43,004.004 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:28:43,104.104 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:28:43,105.105 INFO    ] No camera update needed
[2026-08-29 13:28:43,107.107 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:28:43,108.108 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:28:43,111.111 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:28:43,114.114 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:28:45,153.153 INFO    ] ================================================
[2026-08-29 13:28:45,169.169 INFO    ] Launching Daemon at Sat Aug 29 13:28:45 IST 2026
[2026-08-29 13:28:45,180.180 INFO    ] ================================================
[2026-08-29 13:28:45,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:28:45
[2026-08-29 13:28:46,293.293 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:28:46,573.573 INFO    ] Initializing speech engine...
[2026-08-29 13:28:46,581.581 INFO    ] 2026-08-29 13:28:46
[2026-08-29 13:28:46,840.840 INFO    ] 2026-08-29 13:28:46
[2026-08-29 13:28:46,894.894 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:28:47,057.057 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:28:47,064.064 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:28:47,192.192 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:28:47,197.197 INFO    ] time= 29/08/2026 13:28:47
[2026-08-29 13:28:47,204.204 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:28:47,248.248 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:28:47,384.384 INFO    ] No existing commands found in stream
[2026-08-29 13:28:52,404.404 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:28:52,406.406 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-08-29 13:28:55,418.418 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:28:55,419.419 INFO    ] Checking for system updates...
[2026-08-29 13:28:55,441.441 INFO    ] 200
[2026-08-29 13:28:55,442.442 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:28:55,475.475 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:28:55,476.476 INFO    ] No update needed
[2026-08-29 13:28:55,477.477 INFO    ] Checking for camera pi updates...
[2026-08-29 13:28:55,498.498 INFO    ] 200
[2026-08-29 13:28:55,499.499 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:28:55,524.524 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:28:55,606.606 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:28:55,608.608 INFO    ] No camera update needed
[2026-08-29 13:28:55,609.609 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:28:55,610.610 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:28:55,613.613 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:28:55,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:28:57,655.655 INFO    ] ================================================
[2026-08-29 13:28:57,671.671 INFO    ] Launching Daemon at Sat Aug 29 13:28:57 IST 2026
[2026-08-29 13:28:57,683.683 INFO    ] ================================================
[2026-08-29 13:28:58,032.032 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:28:58
[2026-08-29 13:28:58,350.350 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:28:58,495.495 INFO    ] Initializing speech engine...
[2026-08-29 13:28:58,501.501 INFO    ] 2026-08-29 13:28:58
[2026-08-29 13:28:58,700.700 INFO    ] 2026-08-29 13:28:58
[2026-08-29 13:28:58,781.781 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:28:58,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:28:58,939.939 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:28:59,069.069 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:28:59,111.111 INFO    ] time= 29/08/2026 13:28:59
[2026-08-29 13:28:59,175.175 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:28:59,203.203 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:28:59,258.258 INFO    ] No existing commands found in stream
[2026-08-29 13:29:04,270.270 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:29:04,273.273 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-08-29 13:29:08,313.313 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:29:08,314.314 INFO    ] Checking for system updates...
[2026-08-29 13:29:08,335.335 INFO    ] 200
[2026-08-29 13:29:08,336.336 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:29:08,366.366 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:29:08,367.367 INFO    ] No update needed
[2026-08-29 13:29:08,368.368 INFO    ] Checking for camera pi updates...
[2026-08-29 13:29:08,388.388 INFO    ] 200
[2026-08-29 13:29:08,390.390 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:29:08,413.413 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:29:08,515.515 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:29:08,518.518 INFO    ] No camera update needed
[2026-08-29 13:29:08,520.520 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:29:08,522.522 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:29:08,528.528 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:29:08,533.533 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:29:10,573.573 INFO    ] ================================================
[2026-08-29 13:29:10,589.589 INFO    ] Launching Daemon at Sat Aug 29 13:29:10 IST 2026
[2026-08-29 13:29:10,601.601 INFO    ] ================================================
[2026-08-29 13:29:11,191.191 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:29:11
[2026-08-29 13:29:11,628.628 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:29:11,768.768 INFO    ] Initializing speech engine...
[2026-08-29 13:29:11,778.778 INFO    ] 2026-08-29 13:29:11
[2026-08-29 13:29:11,982.982 INFO    ] 2026-08-29 13:29:11
[2026-08-29 13:29:12,010.010 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:29:12,132.132 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:29:12,190.190 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:29:12,364.364 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:29:12,400.400 INFO    ] time= 29/08/2026 13:29:12
[2026-08-29 13:29:12,444.444 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:29:12,493.493 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:29:12,602.602 INFO    ] No existing commands found in stream
[2026-08-29 13:29:17,632.632 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:29:17,635.635 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-08-29 13:29:18,305.305 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:29:18,306.306 INFO    ] Checking for system updates...
[2026-08-29 13:29:18,326.326 INFO    ] 200
[2026-08-29 13:29:18,328.328 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:29:18,357.357 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:29:18,358.358 INFO    ] No update needed
[2026-08-29 13:29:18,360.360 INFO    ] Checking for camera pi updates...
[2026-08-29 13:29:18,378.378 INFO    ] 200
[2026-08-29 13:29:18,380.380 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:29:18,404.404 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:29:18,511.511 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:29:18,512.512 INFO    ] No camera update needed
[2026-08-29 13:29:18,514.514 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:29:18,515.515 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:29:18,518.518 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:29:18,520.520 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:29:20,559.559 INFO    ] ================================================
[2026-08-29 13:29:20,575.575 INFO    ] Launching Daemon at Sat Aug 29 13:29:20 IST 2026
[2026-08-29 13:29:20,586.586 INFO    ] ================================================
[2026-08-29 13:29:20,918.918 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:29:20
[2026-08-29 13:29:21,229.229 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:29:21,397.397 INFO    ] Initializing speech engine...
[2026-08-29 13:29:21,410.410 INFO    ] 2026-08-29 13:29:21
[2026-08-29 13:29:21,678.678 INFO    ] 2026-08-29 13:29:21
[2026-08-29 13:29:21,724.724 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:29:21,896.896 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:29:21,909.909 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:29:22,056.056 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:29:22,065.065 INFO    ] time= 29/08/2026 13:29:22
[2026-08-29 13:29:22,071.071 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:29:22,124.124 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:29:22,246.246 INFO    ] No existing commands found in stream
[2026-08-29 13:29:27,277.277 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:29:27,280.280 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 13:29:29,549.549 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:29:29,550.550 INFO    ] Checking for system updates...
[2026-08-29 13:29:29,577.577 INFO    ] 200
[2026-08-29 13:29:29,578.578 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:29:29,618.618 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:29:29,619.619 INFO    ] No update needed
[2026-08-29 13:29:29,621.621 INFO    ] Checking for camera pi updates...
[2026-08-29 13:29:29,641.641 INFO    ] 200
[2026-08-29 13:29:29,643.643 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:29:29,666.666 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:29:29,768.768 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:29:29,770.770 INFO    ] No camera update needed
[2026-08-29 13:29:29,771.771 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:29:29,772.772 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:29:29,775.775 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:29:29,779.779 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:29:31,814.814 INFO    ] ================================================
[2026-08-29 13:29:31,831.831 INFO    ] Launching Daemon at Sat Aug 29 13:29:31 IST 2026
[2026-08-29 13:29:31,843.843 INFO    ] ================================================
[2026-08-29 13:29:32,476.476 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:29:32
[2026-08-29 13:29:33,119.119 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:29:33,441.441 INFO    ] Initializing speech engine...
[2026-08-29 13:29:33,449.449 INFO    ] 2026-08-29 13:29:33
[2026-08-29 13:29:33,727.727 INFO    ] 2026-08-29 13:29:33
[2026-08-29 13:29:33,758.758 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:29:33,926.926 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:29:33,938.938 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:29:34,048.048 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:29:34,055.055 INFO    ] time= 29/08/2026 13:29:34
[2026-08-29 13:29:34,074.074 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:29:34,094.094 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:29:34,170.170 INFO    ] No existing commands found in stream
[2026-08-29 13:29:39,200.200 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:29:39,203.203 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-08-29 13:29:42,295.295 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:29:42,296.296 INFO    ] Checking for system updates...
[2026-08-29 13:29:42,316.316 INFO    ] 200
[2026-08-29 13:29:42,318.318 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:29:42,347.347 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:29:42,348.348 INFO    ] No update needed
[2026-08-29 13:29:42,350.350 INFO    ] Checking for camera pi updates...
[2026-08-29 13:29:42,369.369 INFO    ] 200
[2026-08-29 13:29:42,371.371 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:29:42,393.393 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:29:42,472.472 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:29:42,474.474 INFO    ] No camera update needed
[2026-08-29 13:29:42,475.475 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:29:42,476.476 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:29:42,479.479 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:29:42,482.482 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:29:44,520.520 INFO    ] ================================================
[2026-08-29 13:29:44,535.535 INFO    ] Launching Daemon at Sat Aug 29 13:29:44 IST 2026
[2026-08-29 13:29:44,546.546 INFO    ] ================================================
[2026-08-29 13:29:45,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:29:45
[2026-08-29 13:29:45,645.645 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:29:45,911.911 INFO    ] Initializing speech engine...
[2026-08-29 13:29:45,935.935 INFO    ] 2026-08-29 13:29:45
[2026-08-29 13:29:46,210.210 INFO    ] 2026-08-29 13:29:46
[2026-08-29 13:29:46,249.249 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:29:46,448.448 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:29:46,462.462 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:29:46,585.585 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:29:46,592.592 INFO    ] time= 29/08/2026 13:29:46
[2026-08-29 13:29:46,611.611 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:29:46,634.634 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:29:46,717.717 INFO    ] No existing commands found in stream
[2026-08-29 13:29:51,724.724 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:29:51,727.727 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-08-29 13:29:54,483.483 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:29:54,484.484 INFO    ] Checking for system updates...
[2026-08-29 13:29:54,506.506 INFO    ] 200
[2026-08-29 13:29:54,508.508 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:29:54,540.540 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:29:54,541.541 INFO    ] No update needed
[2026-08-29 13:29:54,543.543 INFO    ] Checking for camera pi updates...
[2026-08-29 13:29:54,565.565 INFO    ] 200
[2026-08-29 13:29:54,566.566 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:29:54,591.591 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:29:54,766.766 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:29:54,767.767 INFO    ] No camera update needed
[2026-08-29 13:29:54,768.768 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:29:54,770.770 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:29:54,773.773 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:29:54,776.776 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:29:56,816.816 INFO    ] ================================================
[2026-08-29 13:29:56,832.832 INFO    ] Launching Daemon at Sat Aug 29 13:29:56 IST 2026
[2026-08-29 13:29:56,843.843 INFO    ] ================================================
[2026-08-29 13:29:57,170.170 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:29:57
[2026-08-29 13:29:57,484.484 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:29:57,614.614 INFO    ] Initializing speech engine...
[2026-08-29 13:29:57,619.619 INFO    ] 2026-08-29 13:29:57
[2026-08-29 13:29:57,825.825 INFO    ] 2026-08-29 13:29:57
[2026-08-29 13:29:57,868.868 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:29:58,020.020 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:29:58,037.037 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:29:58,169.169 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:29:58,176.176 INFO    ] time= 29/08/2026 13:29:58
[2026-08-29 13:29:58,184.184 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:29:58,230.230 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:29:58,355.355 INFO    ] No existing commands found in stream
[2026-08-29 13:30:03,380.380 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:30:03,383.383 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 13:30:07,327.327 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:30:07,328.328 INFO    ] Checking for system updates...
[2026-08-29 13:30:07,348.348 INFO    ] 200
[2026-08-29 13:30:07,349.349 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:30:07,381.381 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:30:07,383.383 INFO    ] No update needed
[2026-08-29 13:30:07,384.384 INFO    ] Checking for camera pi updates...
[2026-08-29 13:30:07,403.403 INFO    ] 200
[2026-08-29 13:30:07,404.404 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:30:07,427.427 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:30:07,511.511 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:30:07,513.513 INFO    ] No camera update needed
[2026-08-29 13:30:07,516.516 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:30:07,518.518 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:30:07,523.523 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:30:07,528.528 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:30:09,569.569 INFO    ] ================================================
[2026-08-29 13:30:09,585.585 INFO    ] Launching Daemon at Sat Aug 29 13:30:09 IST 2026
[2026-08-29 13:30:09,596.596 INFO    ] ================================================
[2026-08-29 13:30:10,178.178 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:30:10
[2026-08-29 13:30:10,716.716 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:30:10,860.860 INFO    ] Initializing speech engine...
[2026-08-29 13:30:10,865.865 INFO    ] 2026-08-29 13:30:10
[2026-08-29 13:30:11,069.069 INFO    ] 2026-08-29 13:30:11
[2026-08-29 13:30:11,097.097 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:30:11,230.230 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:30:11,283.283 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:30:11,416.416 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:30:11,484.484 INFO    ] time= 29/08/2026 13:30:11
[2026-08-29 13:30:11,511.511 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:30:11,518.518 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:30:11,610.610 INFO    ] No existing commands found in stream
[2026-08-29 13:30:16,629.629 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:30:16,632.632 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-08-29 13:30:17,925.925 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:30:17,926.926 INFO    ] Checking for system updates...
[2026-08-29 13:30:17,947.947 INFO    ] 200
[2026-08-29 13:30:17,948.948 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:30:17,978.978 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:30:17,979.979 INFO    ] No update needed
[2026-08-29 13:30:17,980.980 INFO    ] Checking for camera pi updates...
[2026-08-29 13:30:18,000.000 INFO    ] 200
[2026-08-29 13:30:18,001.001 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:30:18,024.024 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:30:18,130.130 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:30:18,132.132 INFO    ] No camera update needed
[2026-08-29 13:30:18,133.133 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:30:18,135.135 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:30:18,137.137 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:30:18,140.140 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:30:20,180.180 INFO    ] ================================================
[2026-08-29 13:30:20,195.195 INFO    ] Launching Daemon at Sat Aug 29 13:30:20 IST 2026
[2026-08-29 13:30:20,206.206 INFO    ] ================================================
[2026-08-29 13:30:20,571.571 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:30:20
[2026-08-29 13:30:20,884.884 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:30:21,109.109 INFO    ] Initializing speech engine...
[2026-08-29 13:30:21,125.125 INFO    ] 2026-08-29 13:30:21
[2026-08-29 13:30:21,377.377 INFO    ] 2026-08-29 13:30:21
[2026-08-29 13:30:21,412.412 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:30:21,585.585 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:30:21,597.597 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:30:21,706.706 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:30:21,725.725 INFO    ] time= 29/08/2026 13:30:21
[2026-08-29 13:30:21,748.748 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:30:21,753.753 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:30:21,819.819 INFO    ] No existing commands found in stream
[2026-08-29 13:30:26,832.832 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:30:26,834.834 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 13:30:29,529.529 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:30:29,530.530 INFO    ] Checking for system updates...
[2026-08-29 13:30:29,551.551 INFO    ] 200
[2026-08-29 13:30:29,553.553 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:30:29,585.585 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:30:29,586.586 INFO    ] No update needed
[2026-08-29 13:30:29,587.587 INFO    ] Checking for camera pi updates...
[2026-08-29 13:30:29,606.606 INFO    ] 200
[2026-08-29 13:30:29,608.608 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:30:29,632.632 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:30:29,720.720 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:30:29,721.721 INFO    ] No camera update needed
[2026-08-29 13:30:29,723.723 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:30:29,724.724 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:30:29,727.727 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:30:29,730.730 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:30:31,761.761 INFO    ] ================================================
[2026-08-29 13:30:31,770.770 INFO    ] Launching Daemon at Sat Aug 29 13:30:31 IST 2026
[2026-08-29 13:30:31,777.777 INFO    ] ================================================
[2026-08-29 13:30:32,360.360 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:30:32
[2026-08-29 13:30:32,970.970 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:30:33,246.246 INFO    ] Initializing speech engine...
[2026-08-29 13:30:33,251.251 INFO    ] 2026-08-29 13:30:33
[2026-08-29 13:30:33,511.511 INFO    ] 2026-08-29 13:30:33
[2026-08-29 13:30:33,565.565 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:30:33,707.707 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:30:33,730.730 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:30:33,861.861 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:30:33,869.869 INFO    ] time= 29/08/2026 13:30:33
[2026-08-29 13:30:33,877.877 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:30:33,921.921 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:30:34,044.044 INFO    ] No existing commands found in stream
[2026-08-29 13:30:39,074.074 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:30:39,077.077 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-08-29 13:30:40,455.455 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:30:40,456.456 INFO    ] Checking for system updates...
[2026-08-29 13:30:40,476.476 INFO    ] 200
[2026-08-29 13:30:40,478.478 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:30:40,507.507 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:30:40,509.509 INFO    ] No update needed
[2026-08-29 13:30:40,510.510 INFO    ] Checking for camera pi updates...
[2026-08-29 13:30:40,531.531 INFO    ] 200
[2026-08-29 13:30:40,532.532 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:30:40,555.555 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:30:40,657.657 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:30:40,658.658 INFO    ] No camera update needed
[2026-08-29 13:30:40,659.659 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:30:40,660.660 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:30:40,663.663 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:30:40,666.666 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:30:42,705.705 INFO    ] ================================================
[2026-08-29 13:30:42,720.720 INFO    ] Launching Daemon at Sat Aug 29 13:30:42 IST 2026
[2026-08-29 13:30:42,731.731 INFO    ] ================================================
[2026-08-29 13:30:43,104.104 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:30:43
[2026-08-29 13:30:43,439.439 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:30:43,589.589 INFO    ] Initializing speech engine...
[2026-08-29 13:30:43,594.594 INFO    ] 2026-08-29 13:30:43
[2026-08-29 13:30:43,802.802 INFO    ] 2026-08-29 13:30:43
[2026-08-29 13:30:43,842.842 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:30:44,010.010 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:30:44,018.018 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:30:44,199.199 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:30:44,218.218 INFO    ] time= 29/08/2026 13:30:44
[2026-08-29 13:30:44,237.237 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:30:44,267.267 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:30:44,373.373 INFO    ] No existing commands found in stream
[2026-08-29 13:30:49,394.394 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:30:49,397.397 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-08-29 13:30:50,348.348 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:30:50,349.349 INFO    ] Checking for system updates...
[2026-08-29 13:30:50,372.372 INFO    ] 200
[2026-08-29 13:30:50,373.373 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:30:50,403.403 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:30:50,404.404 INFO    ] No update needed
[2026-08-29 13:30:50,406.406 INFO    ] Checking for camera pi updates...
[2026-08-29 13:30:50,426.426 INFO    ] 200
[2026-08-29 13:30:50,427.427 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:30:50,453.453 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:30:50,533.533 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:30:50,534.534 INFO    ] No camera update needed
[2026-08-29 13:30:50,535.535 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:30:50,537.537 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:30:50,540.540 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:30:50,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:30:52,582.582 INFO    ] ================================================
[2026-08-29 13:30:52,598.598 INFO    ] Launching Daemon at Sat Aug 29 13:30:52 IST 2026
[2026-08-29 13:30:52,609.609 INFO    ] ================================================
[2026-08-29 13:30:52,990.990 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:30:52
[2026-08-29 13:30:53,326.326 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:30:53,476.476 INFO    ] Initializing speech engine...
[2026-08-29 13:30:53,481.481 INFO    ] 2026-08-29 13:30:53
[2026-08-29 13:30:53,690.690 INFO    ] 2026-08-29 13:30:53
[2026-08-29 13:30:53,734.734 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:30:53,901.901 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:30:53,906.906 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:30:54,079.079 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:30:54,107.107 INFO    ] time= 29/08/2026 13:30:54
[2026-08-29 13:30:54,127.127 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:30:54,145.145 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:30:54,263.263 INFO    ] No existing commands found in stream
[2026-08-29 13:30:59,276.276 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:30:59,279.279 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-08-29 13:31:00,270.270 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:31:00,272.272 INFO    ] Checking for system updates...
[2026-08-29 13:31:00,293.293 INFO    ] 200
[2026-08-29 13:31:00,294.294 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:31:00,327.327 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:31:00,329.329 INFO    ] No update needed
[2026-08-29 13:31:00,330.330 INFO    ] Checking for camera pi updates...
[2026-08-29 13:31:00,351.351 INFO    ] 200
[2026-08-29 13:31:00,352.352 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:31:00,375.375 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:31:00,471.471 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:31:00,473.473 INFO    ] No camera update needed
[2026-08-29 13:31:00,474.474 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:31:00,475.475 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:31:00,479.479 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:31:00,481.481 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:31:02,524.524 INFO    ] ================================================
[2026-08-29 13:31:02,540.540 INFO    ] Launching Daemon at Sat Aug 29 13:31:02 IST 2026
[2026-08-29 13:31:02,557.557 INFO    ] ================================================
[2026-08-29 13:31:03,236.236 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:31:03
[2026-08-29 13:31:03,899.899 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:31:04,169.169 INFO    ] Initializing speech engine...
[2026-08-29 13:31:04,178.178 INFO    ] 2026-08-29 13:31:04
[2026-08-29 13:31:04,426.426 INFO    ] 2026-08-29 13:31:04
[2026-08-29 13:31:04,461.461 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:31:04,632.632 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:31:04,645.645 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:31:04,786.786 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:31:04,795.795 INFO    ] time= 29/08/2026 13:31:04
[2026-08-29 13:31:04,801.801 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:31:04,854.854 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:31:04,979.979 INFO    ] No existing commands found in stream
[2026-08-29 13:31:10,005.005 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:31:10,008.008 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-08-29 13:31:11,217.217 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:31:11,219.219 INFO    ] Checking for system updates...
[2026-08-29 13:31:11,239.239 INFO    ] 200
[2026-08-29 13:31:11,241.241 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:31:11,271.271 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:31:11,273.273 INFO    ] No update needed
[2026-08-29 13:31:11,274.274 INFO    ] Checking for camera pi updates...
[2026-08-29 13:31:11,294.294 INFO    ] 200
[2026-08-29 13:31:11,295.295 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:31:11,319.319 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:31:11,417.417 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:31:11,419.419 INFO    ] No camera update needed
[2026-08-29 13:31:11,420.420 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:31:11,422.422 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:31:11,425.425 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:31:11,428.428 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:31:13,470.470 INFO    ] ================================================
[2026-08-29 13:31:13,486.486 INFO    ] Launching Daemon at Sat Aug 29 13:31:13 IST 2026
[2026-08-29 13:31:13,497.497 INFO    ] ================================================
[2026-08-29 13:31:14,065.065 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:31:14
[2026-08-29 13:31:14,669.669 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:31:14,948.948 INFO    ] Initializing speech engine...
[2026-08-29 13:31:14,955.955 INFO    ] 2026-08-29 13:31:14
[2026-08-29 13:31:15,205.205 INFO    ] 2026-08-29 13:31:15
[2026-08-29 13:31:15,242.242 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:31:15,414.414 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:31:15,427.427 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:31:15,567.567 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:31:15,576.576 INFO    ] time= 29/08/2026 13:31:15
[2026-08-29 13:31:15,584.584 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:31:15,629.629 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:31:15,752.752 INFO    ] No existing commands found in stream
[2026-08-29 13:31:20,782.782 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:31:20,785.785 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-08-29 13:31:22,594.594 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:31:22,595.595 INFO    ] Checking for system updates...
[2026-08-29 13:31:22,615.615 INFO    ] 200
[2026-08-29 13:31:22,617.617 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:31:22,651.651 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:31:22,653.653 INFO    ] No update needed
[2026-08-29 13:31:22,654.654 INFO    ] Checking for camera pi updates...
[2026-08-29 13:31:22,674.674 INFO    ] 200
[2026-08-29 13:31:22,675.675 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:31:22,700.700 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:31:22,786.786 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:31:22,787.787 INFO    ] No camera update needed
[2026-08-29 13:31:22,788.788 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:31:22,790.790 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:31:22,793.793 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:31:22,795.795 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:31:24,836.836 INFO    ] ================================================
[2026-08-29 13:31:24,854.854 INFO    ] Launching Daemon at Sat Aug 29 13:31:24 IST 2026
[2026-08-29 13:31:24,865.865 INFO    ] ================================================
[2026-08-29 13:31:25,426.426 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:31:25
[2026-08-29 13:31:26,113.113 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:31:26,392.392 INFO    ] Initializing speech engine...
[2026-08-29 13:31:26,401.401 INFO    ] 2026-08-29 13:31:26
[2026-08-29 13:31:26,675.675 INFO    ] 2026-08-29 13:31:26
[2026-08-29 13:31:26,733.733 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:31:26,957.957 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:31:26,967.967 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:31:27,104.104 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:31:27,154.154 INFO    ] time= 29/08/2026 13:31:27
[2026-08-29 13:31:27,214.214 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:31:27,237.237 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:31:27,368.368 INFO    ] No existing commands found in stream
[2026-08-29 13:31:32,395.395 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:31:32,397.397 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-08-29 13:31:35,089.089 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:31:35,092.092 INFO    ] Checking for system updates...
[2026-08-29 13:31:35,129.129 INFO    ] 200
[2026-08-29 13:31:35,132.132 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:31:35,188.188 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:31:35,190.190 INFO    ] No update needed
[2026-08-29 13:31:35,193.193 INFO    ] Checking for camera pi updates...
[2026-08-29 13:31:35,227.227 INFO    ] 200
[2026-08-29 13:31:35,229.229 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:31:35,275.275 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:31:35,363.363 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:31:35,366.366 INFO    ] No camera update needed
[2026-08-29 13:31:35,368.368 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:31:35,370.370 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:31:35,376.376 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:31:35,381.381 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:31:37,422.422 INFO    ] ================================================
[2026-08-29 13:31:37,437.437 INFO    ] Launching Daemon at Sat Aug 29 13:31:37 IST 2026
[2026-08-29 13:31:37,448.448 INFO    ] ================================================
[2026-08-29 13:31:37,969.969 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:31:37
[2026-08-29 13:31:38,552.552 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:31:38,822.822 INFO    ] Initializing speech engine...
[2026-08-29 13:31:38,831.831 INFO    ] 2026-08-29 13:31:38
[2026-08-29 13:31:39,079.079 INFO    ] 2026-08-29 13:31:39
[2026-08-29 13:31:39,114.114 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:31:39,287.287 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:31:39,299.299 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:31:39,440.440 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:31:39,449.449 INFO    ] time= 29/08/2026 13:31:39
[2026-08-29 13:31:39,455.455 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:31:39,506.506 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:31:39,629.629 INFO    ] No existing commands found in stream
[2026-08-29 13:31:44,657.657 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:31:44,660.660 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 13:31:50,757.757 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:31:50,759.759 INFO    ] Checking for system updates...
[2026-08-29 13:31:50,780.780 INFO    ] 200
[2026-08-29 13:31:50,781.781 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:31:50,812.812 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:31:50,813.813 INFO    ] No update needed
[2026-08-29 13:31:50,815.815 INFO    ] Checking for camera pi updates...
[2026-08-29 13:31:50,834.834 INFO    ] 200
[2026-08-29 13:31:50,836.836 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:31:50,859.859 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:31:50,949.949 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:31:50,952.952 INFO    ] No camera update needed
[2026-08-29 13:31:50,955.955 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:31:50,958.958 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:31:50,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:31:50,970.970 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:31:53,012.012 INFO    ] ================================================
[2026-08-29 13:31:53,027.027 INFO    ] Launching Daemon at Sat Aug 29 13:31:53 IST 2026
[2026-08-29 13:31:53,038.038 INFO    ] ================================================
[2026-08-29 13:31:53,603.603 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:31:53
[2026-08-29 13:31:54,110.110 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:31:54,254.254 INFO    ] Initializing speech engine...
[2026-08-29 13:31:54,258.258 INFO    ] 2026-08-29 13:31:54
[2026-08-29 13:31:54,464.464 INFO    ] 2026-08-29 13:31:54
[2026-08-29 13:31:54,493.493 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:31:54,635.635 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:31:54,643.643 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:31:54,803.803 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:31:54,847.847 INFO    ] time= 29/08/2026 13:31:54
[2026-08-29 13:31:54,853.853 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:31:54,874.874 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:31:54,981.981 INFO    ] No existing commands found in stream
[2026-08-29 13:32:00,011.011 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:32:00,014.014 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-08-29 13:32:03,596.596 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:32:03,598.598 INFO    ] Checking for system updates...
[2026-08-29 13:32:03,638.638 INFO    ] 200
[2026-08-29 13:32:03,640.640 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:32:03,695.695 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:32:03,697.697 INFO    ] No update needed
[2026-08-29 13:32:03,699.699 INFO    ] Checking for camera pi updates...
[2026-08-29 13:32:03,737.737 INFO    ] 200
[2026-08-29 13:32:03,739.739 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:32:03,786.786 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:32:03,864.864 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:32:03,867.867 INFO    ] No camera update needed
[2026-08-29 13:32:03,869.869 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:32:03,871.871 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:32:03,876.876 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:32:03,881.881 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:32:05,921.921 INFO    ] ================================================
[2026-08-29 13:32:05,936.936 INFO    ] Launching Daemon at Sat Aug 29 13:32:05 IST 2026
[2026-08-29 13:32:05,947.947 INFO    ] ================================================
[2026-08-29 13:32:06,395.395 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:32:06
[2026-08-29 13:32:07,068.068 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:32:07,381.381 INFO    ] Initializing speech engine...
[2026-08-29 13:32:07,392.392 INFO    ] 2026-08-29 13:32:07
[2026-08-29 13:32:07,706.706 INFO    ] 2026-08-29 13:32:07
[2026-08-29 13:32:07,795.795 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:32:07,953.953 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:32:07,959.959 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:32:08,096.096 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:32:08,138.138 INFO    ] time= 29/08/2026 13:32:08
[2026-08-29 13:32:08,198.198 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:32:08,238.238 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:32:08,294.294 INFO    ] No existing commands found in stream
[2026-08-29 13:32:13,307.307 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:32:13,310.310 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-08-29 13:32:15,675.675 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:32:15,678.678 INFO    ] Checking for system updates...
[2026-08-29 13:32:15,712.712 INFO    ] 200
[2026-08-29 13:32:15,716.716 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:32:15,788.788 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:32:15,791.791 INFO    ] No update needed
[2026-08-29 13:32:15,794.794 INFO    ] Checking for camera pi updates...
[2026-08-29 13:32:15,831.831 INFO    ] 200
[2026-08-29 13:32:15,834.834 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:32:15,879.879 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:32:15,975.975 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:32:15,977.977 INFO    ] No camera update needed
[2026-08-29 13:32:15,979.979 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:32:15,982.982 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:32:15,987.987 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:32:15,992.992 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:32:18,032.032 INFO    ] ================================================
[2026-08-29 13:32:18,047.047 INFO    ] Launching Daemon at Sat Aug 29 13:32:18 IST 2026
[2026-08-29 13:32:18,058.058 INFO    ] ================================================
[2026-08-29 13:32:18,640.640 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:32:18
[2026-08-29 13:32:19,051.051 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:32:19,195.195 INFO    ] Initializing speech engine...
[2026-08-29 13:32:19,200.200 INFO    ] 2026-08-29 13:32:19
[2026-08-29 13:32:19,405.405 INFO    ] 2026-08-29 13:32:19
[2026-08-29 13:32:19,434.434 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:32:19,591.591 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:32:19,597.597 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:32:19,775.775 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:32:19,796.796 INFO    ] time= 29/08/2026 13:32:19
[2026-08-29 13:32:19,802.802 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:32:19,819.819 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:32:19,931.931 INFO    ] No existing commands found in stream
[2026-08-29 13:32:24,960.960 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:32:24,963.963 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-08-29 13:32:28,961.961 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:32:28,962.962 INFO    ] Checking for system updates...
[2026-08-29 13:32:28,983.983 INFO    ] 200
[2026-08-29 13:32:28,985.985 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:32:29,014.014 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:32:29,016.016 INFO    ] No update needed
[2026-08-29 13:32:29,018.018 INFO    ] Checking for camera pi updates...
[2026-08-29 13:32:29,037.037 INFO    ] 200
[2026-08-29 13:32:29,038.038 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:32:29,061.061 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:32:29,140.140 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:32:29,141.141 INFO    ] No camera update needed
[2026-08-29 13:32:29,143.143 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:32:29,144.144 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:32:29,147.147 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:32:29,149.149 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:32:31,181.181 INFO    ] ================================================
[2026-08-29 13:32:31,196.196 INFO    ] Launching Daemon at Sat Aug 29 13:32:31 IST 2026
[2026-08-29 13:32:31,207.207 INFO    ] ================================================
[2026-08-29 13:32:31,876.876 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:32:31
[2026-08-29 13:32:32,581.581 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:32:32,912.912 INFO    ] Initializing speech engine...
[2026-08-29 13:32:32,921.921 INFO    ] 2026-08-29 13:32:32
[2026-08-29 13:32:33,193.193 INFO    ] 2026-08-29 13:32:33
[2026-08-29 13:32:33,249.249 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:32:33,410.410 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:32:33,434.434 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:32:33,531.531 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:32:33,568.568 INFO    ] time= 29/08/2026 13:32:33
[2026-08-29 13:32:33,585.585 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:32:33,640.640 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:32:33,940.940 INFO    ] No existing commands found in stream
[2026-08-29 13:32:38,955.955 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:32:38,957.957 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-08-29 13:32:41,438.438 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:32:41,439.439 INFO    ] Checking for system updates...
[2026-08-29 13:32:41,460.460 INFO    ] 200
[2026-08-29 13:32:41,461.461 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:32:41,493.493 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:32:41,494.494 INFO    ] No update needed
[2026-08-29 13:32:41,496.496 INFO    ] Checking for camera pi updates...
[2026-08-29 13:32:41,514.514 INFO    ] 200
[2026-08-29 13:32:41,516.516 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:32:41,538.538 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:32:41,643.643 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:32:41,644.644 INFO    ] No camera update needed
[2026-08-29 13:32:41,646.646 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:32:41,647.647 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:32:41,650.650 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:32:41,652.652 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:32:43,691.691 INFO    ] ================================================
[2026-08-29 13:32:43,706.706 INFO    ] Launching Daemon at Sat Aug 29 13:32:43 IST 2026
[2026-08-29 13:32:43,717.717 INFO    ] ================================================
[2026-08-29 13:32:44,053.053 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:32:44
[2026-08-29 13:32:44,366.366 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:32:44,499.499 INFO    ] Initializing speech engine...
[2026-08-29 13:32:44,508.508 INFO    ] 2026-08-29 13:32:44
[2026-08-29 13:32:44,731.731 INFO    ] 2026-08-29 13:32:44
[2026-08-29 13:32:44,761.761 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:32:44,891.891 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:32:44,930.930 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:32:45,073.073 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:32:45,107.107 INFO    ] time= 29/08/2026 13:32:45
[2026-08-29 13:32:45,169.169 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:32:45,197.197 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:32:45,282.282 INFO    ] No existing commands found in stream
[2026-08-29 13:32:50,292.292 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:32:50,295.295 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-08-29 13:32:51,963.963 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:32:51,964.964 INFO    ] Checking for system updates...
[2026-08-29 13:32:51,985.985 INFO    ] 200
[2026-08-29 13:32:51,986.986 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:32:52,016.016 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:32:52,018.018 INFO    ] No update needed
[2026-08-29 13:32:52,019.019 INFO    ] Checking for camera pi updates...
[2026-08-29 13:32:52,040.040 INFO    ] 200
[2026-08-29 13:32:52,042.042 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:32:52,066.066 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:32:52,152.152 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:32:52,155.155 INFO    ] No camera update needed
[2026-08-29 13:32:52,157.157 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:32:52,159.159 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:32:52,165.165 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:32:52,169.169 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:32:54,210.210 INFO    ] ================================================
[2026-08-29 13:32:54,225.225 INFO    ] Launching Daemon at Sat Aug 29 13:32:54 IST 2026
[2026-08-29 13:32:54,236.236 INFO    ] ================================================
[2026-08-29 13:32:54,881.881 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:32:54
[2026-08-29 13:32:55,348.348 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:32:55,557.557 INFO    ] Initializing speech engine...
[2026-08-29 13:32:55,566.566 INFO    ] 2026-08-29 13:32:55
[2026-08-29 13:32:55,837.837 INFO    ] 2026-08-29 13:32:55
[2026-08-29 13:32:55,892.892 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:32:56,122.122 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:32:56,126.126 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:32:56,258.258 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:32:56,298.298 INFO    ] time= 29/08/2026 13:32:56
[2026-08-29 13:32:56,341.341 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:32:56,391.391 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:32:56,454.454 INFO    ] No existing commands found in stream
[2026-08-29 13:33:01,485.485 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:33:01,488.488 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-08-29 13:33:03,379.379 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:33:03,382.382 INFO    ] Checking for system updates...
[2026-08-29 13:33:03,420.420 INFO    ] 200
[2026-08-29 13:33:03,422.422 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:33:03,483.483 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:33:03,485.485 INFO    ] No update needed
[2026-08-29 13:33:03,488.488 INFO    ] Checking for camera pi updates...
[2026-08-29 13:33:03,522.522 INFO    ] 200
[2026-08-29 13:33:03,524.524 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:33:03,565.565 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:33:03,670.670 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:33:03,673.673 INFO    ] No camera update needed
[2026-08-29 13:33:03,675.675 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:33:03,678.678 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:33:03,683.683 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:33:03,688.688 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:33:05,728.728 INFO    ] ================================================
[2026-08-29 13:33:05,744.744 INFO    ] Launching Daemon at Sat Aug 29 13:33:05 IST 2026
[2026-08-29 13:33:05,755.755 INFO    ] ================================================
[2026-08-29 13:33:06,201.201 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:33:06
[2026-08-29 13:33:06,785.785 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:33:07,057.057 INFO    ] Initializing speech engine...
[2026-08-29 13:33:07,066.066 INFO    ] 2026-08-29 13:33:07
[2026-08-29 13:33:07,316.316 INFO    ] 2026-08-29 13:33:07
[2026-08-29 13:33:07,351.351 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:33:07,536.536 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:33:07,551.551 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:33:07,684.684 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:33:07,691.691 INFO    ] time= 29/08/2026 13:33:07
[2026-08-29 13:33:07,698.698 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:33:07,725.725 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:33:07,853.853 INFO    ] No existing commands found in stream
[2026-08-29 13:33:12,878.878 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:33:12,880.880 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-08-29 13:33:16,879.879 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:33:16,880.880 INFO    ] Checking for system updates...
[2026-08-29 13:33:16,902.902 INFO    ] 200
[2026-08-29 13:33:16,903.903 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:33:16,944.944 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:33:16,947.947 INFO    ] No update needed
[2026-08-29 13:33:16,950.950 INFO    ] Checking for camera pi updates...
[2026-08-29 13:33:16,994.994 INFO    ] 200
[2026-08-29 13:33:16,997.997 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:33:17,043.043 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:33:17,125.125 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:33:17,128.128 INFO    ] No camera update needed
[2026-08-29 13:33:17,131.131 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:33:17,134.134 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:33:17,140.140 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:33:17,145.145 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:33:19,193.193 INFO    ] ================================================
[2026-08-29 13:33:19,210.210 INFO    ] Launching Daemon at Sat Aug 29 13:33:19 IST 2026
[2026-08-29 13:33:19,222.222 INFO    ] ================================================
[2026-08-29 13:33:19,919.919 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:33:19
[2026-08-29 13:33:20,444.444 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:33:20,783.783 INFO    ] Initializing speech engine...
[2026-08-29 13:33:20,792.792 INFO    ] 2026-08-29 13:33:20
[2026-08-29 13:33:21,099.099 INFO    ] 2026-08-29 13:33:21
[2026-08-29 13:33:21,208.208 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:33:21,355.355 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:33:21,365.365 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:33:21,501.501 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:33:21,535.535 INFO    ] time= 29/08/2026 13:33:21
[2026-08-29 13:33:21,600.600 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:33:21,636.636 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:33:21,688.688 INFO    ] No existing commands found in stream
[2026-08-29 13:33:26,700.700 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:33:26,703.703 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 13:33:29,064.064 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:33:29,065.065 INFO    ] Checking for system updates...
[2026-08-29 13:33:29,087.087 INFO    ] 200
[2026-08-29 13:33:29,088.088 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:33:29,118.118 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:33:29,119.119 INFO    ] No update needed
[2026-08-29 13:33:29,120.120 INFO    ] Checking for camera pi updates...
[2026-08-29 13:33:29,140.140 INFO    ] 200
[2026-08-29 13:33:29,141.141 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:33:29,165.165 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:33:29,268.268 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:33:29,269.269 INFO    ] No camera update needed
[2026-08-29 13:33:29,270.270 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:33:29,271.271 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:33:29,274.274 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:33:29,277.277 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:33:31,320.320 INFO    ] ================================================
[2026-08-29 13:33:31,338.338 INFO    ] Launching Daemon at Sat Aug 29 13:33:31 IST 2026
[2026-08-29 13:33:31,353.353 INFO    ] ================================================
[2026-08-29 13:33:31,922.922 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:33:31
[2026-08-29 13:33:32,559.559 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:33:32,847.847 INFO    ] Initializing speech engine...
[2026-08-29 13:33:32,853.853 INFO    ] 2026-08-29 13:33:32
[2026-08-29 13:33:33,154.154 INFO    ] 2026-08-29 13:33:33
[2026-08-29 13:33:33,180.180 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:33:33,342.342 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:33:33,350.350 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:33:33,503.503 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:33:33,515.515 INFO    ] time= 29/08/2026 13:33:33
[2026-08-29 13:33:33,520.520 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:33:33,542.542 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:33:33,597.597 INFO    ] No existing commands found in stream
[2026-08-29 13:33:38,608.608 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:33:38,611.611 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-08-29 13:33:42,718.718 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:33:42,719.719 INFO    ] Checking for system updates...
[2026-08-29 13:33:42,742.742 INFO    ] 200
[2026-08-29 13:33:42,743.743 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:33:42,773.773 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:33:42,774.774 INFO    ] No update needed
[2026-08-29 13:33:42,775.775 INFO    ] Checking for camera pi updates...
[2026-08-29 13:33:42,794.794 INFO    ] 200
[2026-08-29 13:33:42,796.796 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:33:42,820.820 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:33:42,895.895 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:33:42,896.896 INFO    ] No camera update needed
[2026-08-29 13:33:42,897.897 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:33:42,899.899 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:33:42,902.902 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:33:42,904.904 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:33:44,944.944 INFO    ] ================================================
[2026-08-29 13:33:44,960.960 INFO    ] Launching Daemon at Sat Aug 29 13:33:44 IST 2026
[2026-08-29 13:33:44,971.971 INFO    ] ================================================
[2026-08-29 13:33:45,329.329 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:33:45
[2026-08-29 13:33:45,657.657 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:33:45,889.889 INFO    ] Initializing speech engine...
[2026-08-29 13:33:45,899.899 INFO    ] 2026-08-29 13:33:45
[2026-08-29 13:33:46,158.158 INFO    ] 2026-08-29 13:33:46
[2026-08-29 13:33:46,210.210 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:33:46,356.356 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:33:46,369.369 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:33:46,496.496 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:33:46,520.520 INFO    ] time= 29/08/2026 13:33:46
[2026-08-29 13:33:46,524.524 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:33:46,530.530 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:33:46,596.596 INFO    ] No existing commands found in stream
[2026-08-29 13:33:51,608.608 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:33:51,611.611 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-08-29 13:33:53,084.084 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:33:53,085.085 INFO    ] Checking for system updates...
[2026-08-29 13:33:53,106.106 INFO    ] 200
[2026-08-29 13:33:53,108.108 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:33:53,137.137 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:33:53,139.139 INFO    ] No update needed
[2026-08-29 13:33:53,140.140 INFO    ] Checking for camera pi updates...
[2026-08-29 13:33:53,159.159 INFO    ] 200
[2026-08-29 13:33:53,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:33:53,186.186 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:33:53,296.296 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:33:53,297.297 INFO    ] No camera update needed
[2026-08-29 13:33:53,299.299 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:33:53,300.300 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:33:53,303.303 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:33:53,306.306 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:33:55,346.346 INFO    ] ================================================
[2026-08-29 13:33:55,363.363 INFO    ] Launching Daemon at Sat Aug 29 13:33:55 IST 2026
[2026-08-29 13:33:55,374.374 INFO    ] ================================================
[2026-08-29 13:33:55,720.720 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:33:55
[2026-08-29 13:33:56,066.066 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:33:56,224.224 INFO    ] Initializing speech engine...
[2026-08-29 13:33:56,231.231 INFO    ] 2026-08-29 13:33:56
[2026-08-29 13:33:56,437.437 INFO    ] 2026-08-29 13:33:56
[2026-08-29 13:33:56,468.468 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:33:56,600.600 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:33:56,653.653 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:33:56,801.801 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:33:56,824.824 INFO    ] time= 29/08/2026 13:33:56
[2026-08-29 13:33:56,827.827 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:33:56,864.864 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:33:56,970.970 INFO    ] No existing commands found in stream
[2026-08-29 13:34:01,984.984 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:34:01,988.988 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-08-29 13:34:06,213.213 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:34:06,215.215 INFO    ] Checking for system updates...
[2026-08-29 13:34:06,236.236 INFO    ] 200
[2026-08-29 13:34:06,237.237 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:34:06,270.270 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:34:06,272.272 INFO    ] No update needed
[2026-08-29 13:34:06,273.273 INFO    ] Checking for camera pi updates...
[2026-08-29 13:34:06,295.295 INFO    ] 200
[2026-08-29 13:34:06,296.296 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:34:06,319.319 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:34:06,407.407 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:34:06,408.408 INFO    ] No camera update needed
[2026-08-29 13:34:06,410.410 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:34:06,411.411 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:34:06,414.414 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:34:06,417.417 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:34:08,456.456 INFO    ] ================================================
[2026-08-29 13:34:08,472.472 INFO    ] Launching Daemon at Sat Aug 29 13:34:08 IST 2026
[2026-08-29 13:34:08,483.483 INFO    ] ================================================
[2026-08-29 13:34:08,840.840 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:34:08
[2026-08-29 13:34:09,158.158 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:34:09,297.297 INFO    ] Initializing speech engine...
[2026-08-29 13:34:09,307.307 INFO    ] 2026-08-29 13:34:09
[2026-08-29 13:34:09,511.511 INFO    ] 2026-08-29 13:34:09
[2026-08-29 13:34:09,539.539 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:34:09,719.719 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:34:09,726.726 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:34:09,875.875 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:34:09,901.901 INFO    ] time= 29/08/2026 13:34:09
[2026-08-29 13:34:09,908.908 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:34:09,916.916 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:34:10,015.015 INFO    ] No existing commands found in stream
[2026-08-29 13:34:15,038.038 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:34:15,041.041 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-08-29 13:34:18,359.359 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:34:18,360.360 INFO    ] Checking for system updates...
[2026-08-29 13:34:18,380.380 INFO    ] 200
[2026-08-29 13:34:18,382.382 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:34:18,411.411 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:34:18,413.413 INFO    ] No update needed
[2026-08-29 13:34:18,414.414 INFO    ] Checking for camera pi updates...
[2026-08-29 13:34:18,434.434 INFO    ] 200
[2026-08-29 13:34:18,436.436 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:34:18,460.460 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:34:18,686.686 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:34:18,689.689 INFO    ] No camera update needed
[2026-08-29 13:34:18,691.691 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:34:18,693.693 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:34:18,699.699 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:34:18,704.704 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:34:20,745.745 INFO    ] ================================================
[2026-08-29 13:34:20,761.761 INFO    ] Launching Daemon at Sat Aug 29 13:34:20 IST 2026
[2026-08-29 13:34:20,777.777 INFO    ] ================================================
[2026-08-29 13:34:21,355.355 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:34:21
[2026-08-29 13:34:21,783.783 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:34:21,916.916 INFO    ] Initializing speech engine...
[2026-08-29 13:34:21,921.921 INFO    ] 2026-08-29 13:34:21
[2026-08-29 13:34:22,118.118 INFO    ] 2026-08-29 13:34:22
[2026-08-29 13:34:22,157.157 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:34:22,316.316 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:34:22,359.359 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:34:22,526.526 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:34:22,542.542 INFO    ] time= 29/08/2026 13:34:22
[2026-08-29 13:34:22,606.606 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:34:22,635.635 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:34:22,712.712 INFO    ] No existing commands found in stream
[2026-08-29 13:34:27,723.723 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:34:27,725.725 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 13:34:30,091.091 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:34:30,093.093 INFO    ] Checking for system updates...
[2026-08-29 13:34:30,116.116 INFO    ] 200
[2026-08-29 13:34:30,118.118 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:34:30,149.149 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:34:30,151.151 INFO    ] No update needed
[2026-08-29 13:34:30,152.152 INFO    ] Checking for camera pi updates...
[2026-08-29 13:34:30,172.172 INFO    ] 200
[2026-08-29 13:34:30,174.174 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:34:30,196.196 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:34:30,284.284 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:34:30,285.285 INFO    ] No camera update needed
[2026-08-29 13:34:30,286.286 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:34:30,287.287 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:34:30,290.290 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:34:30,293.293 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:34:32,337.337 INFO    ] ================================================
[2026-08-29 13:34:32,353.353 INFO    ] Launching Daemon at Sat Aug 29 13:34:32 IST 2026
[2026-08-29 13:34:32,366.366 INFO    ] ================================================
[2026-08-29 13:34:32,954.954 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:34:32
[2026-08-29 13:34:33,413.413 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:34:33,564.564 INFO    ] Initializing speech engine...
[2026-08-29 13:34:33,570.570 INFO    ] 2026-08-29 13:34:33
[2026-08-29 13:34:33,782.782 INFO    ] 2026-08-29 13:34:33
[2026-08-29 13:34:33,811.811 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:34:33,951.951 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:34:34,002.002 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:34:34,112.112 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:34:34,167.167 INFO    ] time= 29/08/2026 13:34:34
[2026-08-29 13:34:34,236.236 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:34:34,273.273 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:34:34,388.388 INFO    ] No existing commands found in stream
[2026-08-29 13:34:39,424.424 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:34:39,427.427 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 13:34:41,719.719 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:34:41,721.721 INFO    ] Checking for system updates...
[2026-08-29 13:34:41,743.743 INFO    ] 200
[2026-08-29 13:34:41,744.744 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:34:41,775.775 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:34:41,777.777 INFO    ] No update needed
[2026-08-29 13:34:41,778.778 INFO    ] Checking for camera pi updates...
[2026-08-29 13:34:41,798.798 INFO    ] 200
[2026-08-29 13:34:41,799.799 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:34:41,822.822 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:34:41,926.926 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:34:41,927.927 INFO    ] No camera update needed
[2026-08-29 13:34:41,929.929 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:34:41,930.930 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:34:41,934.934 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:34:41,936.936 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:34:43,976.976 INFO    ] ================================================
[2026-08-29 13:34:43,991.991 INFO    ] Launching Daemon at Sat Aug 29 13:34:43 IST 2026
[2026-08-29 13:34:44,001.001 INFO    ] ================================================
[2026-08-29 13:34:44,508.508 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:34:44
[2026-08-29 13:34:45,108.108 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:34:45,388.388 INFO    ] Initializing speech engine...
[2026-08-29 13:34:45,395.395 INFO    ] 2026-08-29 13:34:45
[2026-08-29 13:34:45,655.655 INFO    ] 2026-08-29 13:34:45
[2026-08-29 13:34:45,684.684 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:34:45,874.874 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:34:45,923.923 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:34:46,075.075 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:34:46,097.097 INFO    ] time= 29/08/2026 13:34:46
[2026-08-29 13:34:46,131.131 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:34:46,185.185 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:34:46,254.254 INFO    ] No existing commands found in stream
[2026-08-29 13:34:51,264.264 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:34:51,267.267 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-08-29 13:34:54,603.603 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:34:54,605.605 INFO    ] Checking for system updates...
[2026-08-29 13:34:54,626.626 INFO    ] 200
[2026-08-29 13:34:54,628.628 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:34:54,657.657 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:34:54,659.659 INFO    ] No update needed
[2026-08-29 13:34:54,660.660 INFO    ] Checking for camera pi updates...
[2026-08-29 13:34:54,679.679 INFO    ] 200
[2026-08-29 13:34:54,680.680 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:34:54,705.705 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:34:54,807.807 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:34:54,808.808 INFO    ] No camera update needed
[2026-08-29 13:34:54,809.809 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:34:54,811.811 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:34:54,814.814 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:34:54,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:34:56,854.854 INFO    ] ================================================
[2026-08-29 13:34:56,869.869 INFO    ] Launching Daemon at Sat Aug 29 13:34:56 IST 2026
[2026-08-29 13:34:56,880.880 INFO    ] ================================================
[2026-08-29 13:34:57,243.243 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:34:57
[2026-08-29 13:34:57,560.560 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:34:57,698.698 INFO    ] Initializing speech engine...
[2026-08-29 13:34:57,708.708 INFO    ] 2026-08-29 13:34:57
[2026-08-29 13:34:57,914.914 INFO    ] 2026-08-29 13:34:57
[2026-08-29 13:34:57,942.942 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:34:58,065.065 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:34:58,127.127 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:34:58,265.265 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:34:58,329.329 INFO    ] time= 29/08/2026 13:34:58
[2026-08-29 13:34:58,355.355 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:34:58,357.357 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:34:58,429.429 INFO    ] No existing commands found in stream
[2026-08-29 13:35:03,435.435 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:35:03,438.438 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-08-29 13:35:04,607.607 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:35:04,609.609 INFO    ] Checking for system updates...
[2026-08-29 13:35:04,645.645 INFO    ] 200
[2026-08-29 13:35:04,647.647 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:35:04,699.699 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:35:04,701.701 INFO    ] No update needed
[2026-08-29 13:35:04,704.704 INFO    ] Checking for camera pi updates...
[2026-08-29 13:35:04,738.738 INFO    ] 200
[2026-08-29 13:35:04,741.741 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:35:04,781.781 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:35:04,870.870 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:35:04,873.873 INFO    ] No camera update needed
[2026-08-29 13:35:04,875.875 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:35:04,877.877 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:35:04,883.883 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:35:04,888.888 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:35:06,931.931 INFO    ] ================================================
[2026-08-29 13:35:06,948.948 INFO    ] Launching Daemon at Sat Aug 29 13:35:06 IST 2026
[2026-08-29 13:35:06,959.959 INFO    ] ================================================
[2026-08-29 13:35:07,302.302 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:35:07
[2026-08-29 13:35:07,613.613 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:35:07,746.746 INFO    ] Initializing speech engine...
[2026-08-29 13:35:07,758.758 INFO    ] 2026-08-29 13:35:07
[2026-08-29 13:35:07,966.966 INFO    ] 2026-08-29 13:35:07
[2026-08-29 13:35:07,996.996 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:35:08,119.119 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:35:08,158.158 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:35:08,316.316 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:35:08,367.367 INFO    ] time= 29/08/2026 13:35:08
[2026-08-29 13:35:08,397.397 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:35:08,418.418 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:35:08,493.493 INFO    ] No existing commands found in stream
[2026-08-29 13:35:13,505.505 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:35:13,508.508 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 13:35:16,038.038 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:35:16,039.039 INFO    ] Checking for system updates...
[2026-08-29 13:35:16,060.060 INFO    ] 200
[2026-08-29 13:35:16,061.061 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:35:16,091.091 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:35:16,093.093 INFO    ] No update needed
[2026-08-29 13:35:16,094.094 INFO    ] Checking for camera pi updates...
[2026-08-29 13:35:16,117.117 INFO    ] 200
[2026-08-29 13:35:16,118.118 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:35:16,141.141 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:35:16,220.220 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:35:16,222.222 INFO    ] No camera update needed
[2026-08-29 13:35:16,223.223 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:35:16,224.224 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:35:16,227.227 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:35:16,230.230 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:35:18,271.271 INFO    ] ================================================
[2026-08-29 13:35:18,287.287 INFO    ] Launching Daemon at Sat Aug 29 13:35:18 IST 2026
[2026-08-29 13:35:18,299.299 INFO    ] ================================================
[2026-08-29 13:35:18,650.650 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:35:18
[2026-08-29 13:35:18,963.963 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:35:19,097.097 INFO    ] Initializing speech engine...
[2026-08-29 13:35:19,105.105 INFO    ] 2026-08-29 13:35:19
[2026-08-29 13:35:19,328.328 INFO    ] 2026-08-29 13:35:19
[2026-08-29 13:35:19,359.359 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:35:19,457.457 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:35:19,492.492 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:35:19,657.657 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:35:19,701.701 INFO    ] time= 29/08/2026 13:35:19
[2026-08-29 13:35:19,728.728 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:35:19,783.783 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:35:19,882.882 INFO    ] No existing commands found in stream
[2026-08-29 13:35:24,893.893 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:35:24,896.896 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-08-29 13:35:25,567.567 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:35:25,568.568 INFO    ] Checking for system updates...
[2026-08-29 13:35:25,590.590 INFO    ] 200
[2026-08-29 13:35:25,591.591 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:35:25,623.623 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:35:25,624.624 INFO    ] No update needed
[2026-08-29 13:35:25,625.625 INFO    ] Checking for camera pi updates...
[2026-08-29 13:35:25,645.645 INFO    ] 200
[2026-08-29 13:35:25,646.646 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:35:25,668.668 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:35:25,771.771 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:35:25,772.772 INFO    ] No camera update needed
[2026-08-29 13:35:25,774.774 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:35:25,775.775 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:35:25,778.778 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:35:25,780.780 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:35:27,819.819 INFO    ] ================================================
[2026-08-29 13:35:27,839.839 INFO    ] Launching Daemon at Sat Aug 29 13:35:27 IST 2026
[2026-08-29 13:35:27,851.851 INFO    ] ================================================
[2026-08-29 13:35:28,210.210 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:35:28
[2026-08-29 13:35:28,546.546 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:35:28,698.698 INFO    ] Initializing speech engine...
[2026-08-29 13:35:28,703.703 INFO    ] 2026-08-29 13:35:28
[2026-08-29 13:35:28,912.912 INFO    ] 2026-08-29 13:35:28
[2026-08-29 13:35:28,943.943 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:35:29,099.099 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:35:29,108.108 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:35:29,283.283 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:35:29,317.317 INFO    ] time= 29/08/2026 13:35:29
[2026-08-29 13:35:29,336.336 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:35:29,349.349 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:35:29,471.471 INFO    ] No existing commands found in stream
[2026-08-29 13:35:34,490.490 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:35:34,493.493 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-08-29 13:35:36,151.151 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:35:36,153.153 INFO    ] Checking for system updates...
[2026-08-29 13:35:36,175.175 INFO    ] 200
[2026-08-29 13:35:36,176.176 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:35:36,205.205 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:35:36,207.207 INFO    ] No update needed
[2026-08-29 13:35:36,208.208 INFO    ] Checking for camera pi updates...
[2026-08-29 13:35:36,229.229 INFO    ] 200
[2026-08-29 13:35:36,230.230 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:35:36,256.256 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:35:36,362.362 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:35:36,364.364 INFO    ] No camera update needed
[2026-08-29 13:35:36,365.365 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:35:36,366.366 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:35:36,369.369 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:35:36,371.371 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:35:38,409.409 INFO    ] ================================================
[2026-08-29 13:35:38,425.425 INFO    ] Launching Daemon at Sat Aug 29 13:35:38 IST 2026
[2026-08-29 13:35:38,436.436 INFO    ] ================================================
[2026-08-29 13:35:38,790.790 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:35:38
[2026-08-29 13:35:39,164.164 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:35:39,442.442 INFO    ] Initializing speech engine...
[2026-08-29 13:35:39,449.449 INFO    ] 2026-08-29 13:35:39
[2026-08-29 13:35:39,710.710 INFO    ] 2026-08-29 13:35:39
[2026-08-29 13:35:39,765.765 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:35:39,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:35:39,991.991 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:35:40,130.130 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:35:40,152.152 INFO    ] time= 29/08/2026 13:35:40
[2026-08-29 13:35:40,206.206 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:35:40,264.264 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:35:40,319.319 INFO    ] No existing commands found in stream
[2026-08-29 13:35:45,331.331 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:35:45,334.334 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-08-29 13:35:48,138.138 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:35:48,139.139 INFO    ] Checking for system updates...
[2026-08-29 13:35:48,159.159 INFO    ] 200
[2026-08-29 13:35:48,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:35:48,193.193 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:35:48,194.194 INFO    ] No update needed
[2026-08-29 13:35:48,195.195 INFO    ] Checking for camera pi updates...
[2026-08-29 13:35:48,215.215 INFO    ] 200
[2026-08-29 13:35:48,216.216 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:35:48,259.259 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:35:48,387.387 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:35:48,389.389 INFO    ] No camera update needed
[2026-08-29 13:35:48,392.392 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:35:48,394.394 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:35:48,399.399 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:35:48,405.405 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:35:50,446.446 INFO    ] ================================================
[2026-08-29 13:35:50,462.462 INFO    ] Launching Daemon at Sat Aug 29 13:35:50 IST 2026
[2026-08-29 13:35:50,473.473 INFO    ] ================================================
[2026-08-29 13:35:51,043.043 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:35:51
[2026-08-29 13:35:51,506.506 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:35:51,746.746 INFO    ] Initializing speech engine...
[2026-08-29 13:35:51,753.753 INFO    ] 2026-08-29 13:35:51
[2026-08-29 13:35:52,013.013 INFO    ] 2026-08-29 13:35:52
[2026-08-29 13:35:52,067.067 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:35:52,233.233 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:35:52,269.269 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:35:52,433.433 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:35:52,439.439 INFO    ] time= 29/08/2026 13:35:52
[2026-08-29 13:35:52,493.493 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:35:52,553.553 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:35:52,617.617 INFO    ] No existing commands found in stream
[2026-08-29 13:35:57,629.629 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:35:57,631.631 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-08-29 13:36:01,865.865 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:36:01,868.868 INFO    ] Checking for system updates...
[2026-08-29 13:36:01,917.917 INFO    ] 200
[2026-08-29 13:36:01,921.921 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:36:01,985.985 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:36:01,988.988 INFO    ] No update needed
[2026-08-29 13:36:01,991.991 INFO    ] Checking for camera pi updates...
[2026-08-29 13:36:02,030.030 INFO    ] 200
[2026-08-29 13:36:02,033.033 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:36:02,083.083 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:36:02,300.300 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:36:02,303.303 INFO    ] No camera update needed
[2026-08-29 13:36:02,305.305 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:36:02,308.308 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:36:02,315.315 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:36:02,322.322 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:36:04,364.364 INFO    ] ================================================
[2026-08-29 13:36:04,379.379 INFO    ] Launching Daemon at Sat Aug 29 13:36:04 IST 2026
[2026-08-29 13:36:04,390.390 INFO    ] ================================================
[2026-08-29 13:36:04,971.971 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:36:04
[2026-08-29 13:36:05,571.571 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:36:05,877.877 INFO    ] Initializing speech engine...
[2026-08-29 13:36:05,881.881 INFO    ] 2026-08-29 13:36:05
[2026-08-29 13:36:06,101.101 INFO    ] 2026-08-29 13:36:06
[2026-08-29 13:36:06,187.187 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:36:06,321.321 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:36:06,338.338 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:36:06,480.480 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:36:06,497.497 INFO    ] time= 29/08/2026 13:36:06
[2026-08-29 13:36:06,562.562 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:36:06,616.616 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:36:06,669.669 INFO    ] No existing commands found in stream
[2026-08-29 13:36:11,682.682 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:36:11,684.684 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-08-29 13:36:12,368.368 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:36:12,369.369 INFO    ] Checking for system updates...
[2026-08-29 13:36:12,390.390 INFO    ] 200
[2026-08-29 13:36:12,391.391 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:36:12,423.423 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:36:12,425.425 INFO    ] No update needed
[2026-08-29 13:36:12,426.426 INFO    ] Checking for camera pi updates...
[2026-08-29 13:36:12,445.445 INFO    ] 200
[2026-08-29 13:36:12,446.446 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:36:12,470.470 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:36:12,570.570 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:36:12,572.572 INFO    ] No camera update needed
[2026-08-29 13:36:12,575.575 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:36:12,577.577 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:36:12,582.582 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:36:12,587.587 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:36:14,627.627 INFO    ] ================================================
[2026-08-29 13:36:14,643.643 INFO    ] Launching Daemon at Sat Aug 29 13:36:14 IST 2026
[2026-08-29 13:36:14,654.654 INFO    ] ================================================
[2026-08-29 13:36:15,223.223 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:36:15
[2026-08-29 13:36:15,691.691 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:36:15,821.821 INFO    ] Initializing speech engine...
[2026-08-29 13:36:15,824.824 INFO    ] 2026-08-29 13:36:15
[2026-08-29 13:36:16,042.042 INFO    ] 2026-08-29 13:36:16
[2026-08-29 13:36:16,071.071 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:36:16,194.194 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:36:16,256.256 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:36:16,389.389 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:36:16,444.444 INFO    ] time= 29/08/2026 13:36:16
[2026-08-29 13:36:16,489.489 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:36:16,495.495 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:36:16,563.563 INFO    ] No existing commands found in stream
[2026-08-29 13:36:21,572.572 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:36:21,575.575 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-08-29 13:36:23,543.543 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:36:23,544.544 INFO    ] Checking for system updates...
[2026-08-29 13:36:23,568.568 INFO    ] 200
[2026-08-29 13:36:23,570.570 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:36:23,601.601 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:36:23,603.603 INFO    ] No update needed
[2026-08-29 13:36:23,604.604 INFO    ] Checking for camera pi updates...
[2026-08-29 13:36:23,624.624 INFO    ] 200
[2026-08-29 13:36:23,626.626 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:36:23,652.652 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:36:23,867.867 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:36:23,868.868 INFO    ] No camera update needed
[2026-08-29 13:36:23,869.869 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:36:23,871.871 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:36:23,874.874 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:36:23,877.877 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:36:25,916.916 INFO    ] ================================================
[2026-08-29 13:36:25,931.931 INFO    ] Launching Daemon at Sat Aug 29 13:36:25 IST 2026
[2026-08-29 13:36:25,942.942 INFO    ] ================================================
[2026-08-29 13:36:26,294.294 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:36:26
[2026-08-29 13:36:26,753.753 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:36:27,017.017 INFO    ] Initializing speech engine...
[2026-08-29 13:36:27,042.042 INFO    ] 2026-08-29 13:36:27
[2026-08-29 13:36:27,310.310 INFO    ] 2026-08-29 13:36:27
[2026-08-29 13:36:27,348.348 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:36:27,540.540 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:36:27,553.553 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:36:27,671.671 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:36:27,678.678 INFO    ] time= 29/08/2026 13:36:27
[2026-08-29 13:36:27,697.697 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:36:27,718.718 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:36:27,798.798 INFO    ] No existing commands found in stream
[2026-08-29 13:36:32,810.810 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:36:32,813.813 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-08-29 13:36:33,868.868 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:36:33,871.871 INFO    ] Checking for system updates...
[2026-08-29 13:36:33,907.907 INFO    ] 200
[2026-08-29 13:36:33,909.909 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:36:33,965.965 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:36:33,967.967 INFO    ] No update needed
[2026-08-29 13:36:33,969.969 INFO    ] Checking for camera pi updates...
[2026-08-29 13:36:34,005.005 INFO    ] 200
[2026-08-29 13:36:34,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:36:34,050.050 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:36:34,153.153 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:36:34,156.156 INFO    ] No camera update needed
[2026-08-29 13:36:34,158.158 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:36:34,160.160 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:36:34,166.166 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:36:34,171.171 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:36:36,211.211 INFO    ] ================================================
[2026-08-29 13:36:36,226.226 INFO    ] Launching Daemon at Sat Aug 29 13:36:36 IST 2026
[2026-08-29 13:36:36,237.237 INFO    ] ================================================
[2026-08-29 13:36:36,629.629 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:36:36
[2026-08-29 13:36:37,266.266 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:36:37,556.556 INFO    ] Initializing speech engine...
[2026-08-29 13:36:37,561.561 INFO    ] 2026-08-29 13:36:37
[2026-08-29 13:36:37,818.818 INFO    ] 2026-08-29 13:36:37
[2026-08-29 13:36:37,884.884 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:36:38,033.033 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:36:38,046.046 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:36:38,156.156 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:36:38,187.187 INFO    ] time= 29/08/2026 13:36:38
[2026-08-29 13:36:38,197.197 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:36:38,205.205 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:36:38,275.275 INFO    ] No existing commands found in stream
[2026-08-29 13:36:43,288.288 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:36:43,291.291 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-08-29 13:36:44,538.538 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:36:44,539.539 INFO    ] Checking for system updates...
[2026-08-29 13:36:44,561.561 INFO    ] 200
[2026-08-29 13:36:44,562.562 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:36:44,593.593 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:36:44,594.594 INFO    ] No update needed
[2026-08-29 13:36:44,595.595 INFO    ] Checking for camera pi updates...
[2026-08-29 13:36:44,615.615 INFO    ] 200
[2026-08-29 13:36:44,617.617 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:36:44,642.642 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:36:44,717.717 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:36:44,719.719 INFO    ] No camera update needed
[2026-08-29 13:36:44,720.720 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:36:44,721.721 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:36:44,724.724 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:36:44,727.727 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:36:46,766.766 INFO    ] ================================================
[2026-08-29 13:36:46,782.782 INFO    ] Launching Daemon at Sat Aug 29 13:36:46 IST 2026
[2026-08-29 13:36:46,794.794 INFO    ] ================================================
[2026-08-29 13:36:47,159.159 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:36:47
[2026-08-29 13:36:47,488.488 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:36:47,633.633 INFO    ] Initializing speech engine...
[2026-08-29 13:36:47,643.643 INFO    ] 2026-08-29 13:36:47
[2026-08-29 13:36:47,852.852 INFO    ] 2026-08-29 13:36:47
[2026-08-29 13:36:47,880.880 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:36:48,005.005 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:36:48,068.068 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:36:48,208.208 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:36:48,276.276 INFO    ] time= 29/08/2026 13:36:48
[2026-08-29 13:36:48,300.300 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:36:48,302.302 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:36:48,376.376 INFO    ] No existing commands found in stream
[2026-08-29 13:36:53,390.390 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:36:53,393.393 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-08-29 13:36:57,116.116 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:36:57,117.117 INFO    ] Checking for system updates...
[2026-08-29 13:36:57,138.138 INFO    ] 200
[2026-08-29 13:36:57,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:36:57,170.170 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:36:57,172.172 INFO    ] No update needed
[2026-08-29 13:36:57,173.173 INFO    ] Checking for camera pi updates...
[2026-08-29 13:36:57,195.195 INFO    ] 200
[2026-08-29 13:36:57,197.197 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:36:57,220.220 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:36:57,323.323 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:36:57,324.324 INFO    ] No camera update needed
[2026-08-29 13:36:57,325.325 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:36:57,327.327 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:36:57,330.330 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:36:57,333.333 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:36:59,372.372 INFO    ] ================================================
[2026-08-29 13:36:59,387.387 INFO    ] Launching Daemon at Sat Aug 29 13:36:59 IST 2026
[2026-08-29 13:36:59,398.398 INFO    ] ================================================
[2026-08-29 13:36:59,766.766 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:36:59
[2026-08-29 13:37:00,095.095 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:37:00,244.244 INFO    ] Initializing speech engine...
[2026-08-29 13:37:00,250.250 INFO    ] 2026-08-29 13:37:00
[2026-08-29 13:37:00,459.459 INFO    ] 2026-08-29 13:37:00
[2026-08-29 13:37:00,488.488 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:37:00,612.612 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:37:00,675.675 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:37:00,807.807 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:37:00,863.863 INFO    ] time= 29/08/2026 13:37:00
[2026-08-29 13:37:00,904.904 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:37:00,909.909 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:37:00,980.980 INFO    ] No existing commands found in stream
[2026-08-29 13:37:05,991.991 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:37:05,994.994 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-08-29 13:37:11,819.819 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:37:11,820.820 INFO    ] Checking for system updates...
[2026-08-29 13:37:11,841.841 INFO    ] 200
[2026-08-29 13:37:11,842.842 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:37:11,873.873 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:37:11,874.874 INFO    ] No update needed
[2026-08-29 13:37:11,876.876 INFO    ] Checking for camera pi updates...
[2026-08-29 13:37:11,896.896 INFO    ] 200
[2026-08-29 13:37:11,897.897 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:37:11,923.923 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:37:12,004.004 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:37:12,005.005 INFO    ] No camera update needed
[2026-08-29 13:37:12,007.007 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:37:12,008.008 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:37:12,011.011 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:37:12,014.014 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:37:14,045.045 INFO    ] ================================================
[2026-08-29 13:37:14,061.061 INFO    ] Launching Daemon at Sat Aug 29 13:37:14 IST 2026
[2026-08-29 13:37:14,073.073 INFO    ] ================================================
[2026-08-29 13:37:14,415.415 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:37:14
[2026-08-29 13:37:14,726.726 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:37:14,857.857 INFO    ] Initializing speech engine...
[2026-08-29 13:37:14,861.861 INFO    ] 2026-08-29 13:37:14
[2026-08-29 13:37:15,067.067 INFO    ] 2026-08-29 13:37:15
[2026-08-29 13:37:15,102.102 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:37:15,278.278 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:37:15,292.292 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:37:15,405.405 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:37:15,412.412 INFO    ] time= 29/08/2026 13:37:15
[2026-08-29 13:37:15,445.445 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:37:15,454.454 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:37:15,525.525 INFO    ] No existing commands found in stream
[2026-08-29 13:37:20,543.543 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:37:20,546.546 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-08-29 13:37:21,866.866 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:37:21,867.867 INFO    ] Checking for system updates...
[2026-08-29 13:37:21,888.888 INFO    ] 200
[2026-08-29 13:37:21,890.890 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:37:21,919.919 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:37:21,921.921 INFO    ] No update needed
[2026-08-29 13:37:21,922.922 INFO    ] Checking for camera pi updates...
[2026-08-29 13:37:21,942.942 INFO    ] 200
[2026-08-29 13:37:21,943.943 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:37:21,967.967 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:37:22,071.071 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:37:22,072.072 INFO    ] No camera update needed
[2026-08-29 13:37:22,074.074 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:37:22,075.075 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:37:22,078.078 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:37:22,081.081 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:37:24,121.121 INFO    ] ================================================
[2026-08-29 13:37:24,137.137 INFO    ] Launching Daemon at Sat Aug 29 13:37:24 IST 2026
[2026-08-29 13:37:24,148.148 INFO    ] ================================================
[2026-08-29 13:37:24,492.492 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:37:24
[2026-08-29 13:37:24,806.806 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:37:24,957.957 INFO    ] Initializing speech engine...
[2026-08-29 13:37:24,962.962 INFO    ] 2026-08-29 13:37:24
[2026-08-29 13:37:25,168.168 INFO    ] 2026-08-29 13:37:25
[2026-08-29 13:37:25,196.196 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:37:25,321.321 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:37:25,385.385 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:37:25,549.549 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:37:25,600.600 INFO    ] time= 29/08/2026 13:37:25
[2026-08-29 13:37:25,646.646 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:37:25,711.711 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:37:25,802.802 INFO    ] No existing commands found in stream
[2026-08-29 13:37:30,822.822 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:37:30,826.826 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-08-29 13:37:32,824.824 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:37:32,827.827 INFO    ] Checking for system updates...
[2026-08-29 13:37:32,865.865 INFO    ] 200
[2026-08-29 13:37:32,867.867 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:37:32,919.919 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:37:32,922.922 INFO    ] No update needed
[2026-08-29 13:37:32,924.924 INFO    ] Checking for camera pi updates...
[2026-08-29 13:37:32,961.961 INFO    ] 200
[2026-08-29 13:37:32,963.963 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:37:33,003.003 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:37:33,106.106 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:37:33,109.109 INFO    ] No camera update needed
[2026-08-29 13:37:33,111.111 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:37:33,114.114 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:37:33,119.119 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:37:33,124.124 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:37:35,164.164 INFO    ] ================================================
[2026-08-29 13:37:35,180.180 INFO    ] Launching Daemon at Sat Aug 29 13:37:35 IST 2026
[2026-08-29 13:37:35,190.190 INFO    ] ================================================
[2026-08-29 13:37:35,776.776 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:37:35
[2026-08-29 13:37:36,165.165 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:37:36,304.304 INFO    ] Initializing speech engine...
[2026-08-29 13:37:36,313.313 INFO    ] 2026-08-29 13:37:36
[2026-08-29 13:37:36,520.520 INFO    ] 2026-08-29 13:37:36
[2026-08-29 13:37:36,600.600 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:37:36,753.753 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:37:36,757.757 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:37:36,890.890 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:37:36,932.932 INFO    ] time= 29/08/2026 13:37:36
[2026-08-29 13:37:36,991.991 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:37:37,027.027 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:37:37,084.084 INFO    ] No existing commands found in stream
[2026-08-29 13:37:42,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:37:42,107.107 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-08-29 13:37:46,048.048 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:37:46,050.050 INFO    ] Checking for system updates...
[2026-08-29 13:37:46,070.070 INFO    ] 200
[2026-08-29 13:37:46,072.072 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:37:46,104.104 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:37:46,105.105 INFO    ] No update needed
[2026-08-29 13:37:46,106.106 INFO    ] Checking for camera pi updates...
[2026-08-29 13:37:46,126.126 INFO    ] 200
[2026-08-29 13:37:46,127.127 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:37:46,150.150 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:37:46,228.228 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:37:46,229.229 INFO    ] No camera update needed
[2026-08-29 13:37:46,231.231 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:37:46,232.232 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:37:46,235.235 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:37:46,238.238 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:37:48,277.277 INFO    ] ================================================
[2026-08-29 13:37:48,292.292 INFO    ] Launching Daemon at Sat Aug 29 13:37:48 IST 2026
[2026-08-29 13:37:48,303.303 INFO    ] ================================================
[2026-08-29 13:37:48,684.684 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:37:48
[2026-08-29 13:37:49,020.020 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:37:49,172.172 INFO    ] Initializing speech engine...
[2026-08-29 13:37:49,177.177 INFO    ] 2026-08-29 13:37:49
[2026-08-29 13:37:49,420.420 INFO    ] 2026-08-29 13:37:49
[2026-08-29 13:37:49,475.475 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:37:49,637.637 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:37:49,646.646 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:37:49,793.793 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:37:49,846.846 INFO    ] time= 29/08/2026 13:37:49
[2026-08-29 13:37:49,852.852 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:37:49,871.871 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:37:50,001.001 INFO    ] No existing commands found in stream
[2026-08-29 13:37:55,015.015 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:37:55,018.018 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-08-29 13:38:01,980.980 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:38:01,984.984 INFO    ] Checking for system updates...
[2026-08-29 13:38:02,043.043 INFO    ] 200
[2026-08-29 13:38:02,051.051 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:38:02,123.123 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:38:02,127.127 INFO    ] No update needed
[2026-08-29 13:38:02,131.131 INFO    ] Checking for camera pi updates...
[2026-08-29 13:38:02,211.211 INFO    ] 200
[2026-08-29 13:38:02,215.215 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:38:02,287.287 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:38:02,397.397 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:38:02,400.400 INFO    ] No camera update needed
[2026-08-29 13:38:02,403.403 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:38:02,406.406 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:38:02,412.412 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:38:02,418.418 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:38:04,461.461 INFO    ] ================================================
[2026-08-29 13:38:04,477.477 INFO    ] Launching Daemon at Sat Aug 29 13:38:04 IST 2026
[2026-08-29 13:38:04,489.489 INFO    ] ================================================
[2026-08-29 13:38:05,097.097 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:38:05
[2026-08-29 13:38:05,728.728 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:38:06,005.005 INFO    ] Initializing speech engine...
[2026-08-29 13:38:06,010.010 INFO    ] 2026-08-29 13:38:06
[2026-08-29 13:38:06,197.197 INFO    ] 2026-08-29 13:38:06
[2026-08-29 13:38:06,257.257 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:38:06,504.504 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:38:06,513.513 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:38:07,664.664 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:38:07,668.668 INFO    ] time= 29/08/2026 13:38:07
[2026-08-29 13:38:07,674.674 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:38:07,680.680 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:38:07,740.740 INFO    ] No existing commands found in stream
[2026-08-29 13:38:12,751.751 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:38:12,753.753 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-08-29 13:38:16,885.885 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:38:16,886.886 INFO    ] Checking for system updates...
[2026-08-29 13:38:16,906.906 INFO    ] 200
[2026-08-29 13:38:16,911.911 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:38:16,944.944 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:38:16,946.946 INFO    ] No update needed
[2026-08-29 13:38:16,947.947 INFO    ] Checking for camera pi updates...
[2026-08-29 13:38:16,968.968 INFO    ] 200
[2026-08-29 13:38:16,970.970 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:38:16,994.994 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:38:17,079.079 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:38:17,081.081 INFO    ] No camera update needed
[2026-08-29 13:38:17,082.082 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:38:17,083.083 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:38:17,086.086 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:38:17,089.089 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:38:19,130.130 INFO    ] ================================================
[2026-08-29 13:38:19,145.145 INFO    ] Launching Daemon at Sat Aug 29 13:38:19 IST 2026
[2026-08-29 13:38:19,155.155 INFO    ] ================================================
[2026-08-29 13:38:19,497.497 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:38:19
[2026-08-29 13:38:19,809.809 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:38:19,947.947 INFO    ] Initializing speech engine...
[2026-08-29 13:38:19,957.957 INFO    ] 2026-08-29 13:38:19
[2026-08-29 13:38:20,210.210 INFO    ] 2026-08-29 13:38:20
[2026-08-29 13:38:20,266.266 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:38:20,434.434 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:38:20,441.441 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:38:20,606.606 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:38:20,647.647 INFO    ] time= 29/08/2026 13:38:20
[2026-08-29 13:38:20,654.654 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:38:20,672.672 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:38:20,791.791 INFO    ] No existing commands found in stream
[2026-08-29 13:38:25,816.816 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:38:25,819.819 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-08-29 13:38:26,341.341 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:38:26,343.343 INFO    ] Checking for system updates...
[2026-08-29 13:38:26,364.364 INFO    ] 200
[2026-08-29 13:38:26,365.365 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:38:26,395.395 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:38:26,396.396 INFO    ] No update needed
[2026-08-29 13:38:26,397.397 INFO    ] Checking for camera pi updates...
[2026-08-29 13:38:26,416.416 INFO    ] 200
[2026-08-29 13:38:26,418.418 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:38:26,444.444 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:38:26,533.533 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:38:26,534.534 INFO    ] No camera update needed
[2026-08-29 13:38:26,535.535 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:38:26,537.537 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:38:26,539.539 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:38:26,542.542 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:38:28,582.582 INFO    ] ================================================
[2026-08-29 13:38:28,597.597 INFO    ] Launching Daemon at Sat Aug 29 13:38:28 IST 2026
[2026-08-29 13:38:28,608.608 INFO    ] ================================================
[2026-08-29 13:38:28,978.978 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:38:28
[2026-08-29 13:38:29,296.296 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:38:29,440.440 INFO    ] Initializing speech engine...
[2026-08-29 13:38:29,446.446 INFO    ] 2026-08-29 13:38:29
[2026-08-29 13:38:29,650.650 INFO    ] 2026-08-29 13:38:29
[2026-08-29 13:38:29,678.678 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:38:29,806.806 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:38:29,852.852 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:38:29,984.984 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:38:29,992.992 INFO    ] time= 29/08/2026 13:38:29
[2026-08-29 13:38:29,999.999 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:38:30,014.014 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:38:30,113.113 INFO    ] No existing commands found in stream
[2026-08-29 13:38:35,143.143 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:38:35,146.146 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-08-29 13:38:36,905.905 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:38:36,906.906 INFO    ] Checking for system updates...
[2026-08-29 13:38:36,926.926 INFO    ] 200
[2026-08-29 13:38:36,928.928 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:38:36,957.957 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:38:36,958.958 INFO    ] No update needed
[2026-08-29 13:38:36,960.960 INFO    ] Checking for camera pi updates...
[2026-08-29 13:38:36,980.980 INFO    ] 200
[2026-08-29 13:38:36,981.981 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:38:37,011.011 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:38:37,095.095 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:38:37,096.096 INFO    ] No camera update needed
[2026-08-29 13:38:37,098.098 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:38:37,099.099 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:38:37,102.102 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:38:37,105.105 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:38:39,145.145 INFO    ] ================================================
[2026-08-29 13:38:39,161.161 INFO    ] Launching Daemon at Sat Aug 29 13:38:39 IST 2026
[2026-08-29 13:38:39,172.172 INFO    ] ================================================
[2026-08-29 13:38:39,771.771 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:38:39
[2026-08-29 13:38:40,399.399 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:38:40,674.674 INFO    ] Initializing speech engine...
[2026-08-29 13:38:40,683.683 INFO    ] 2026-08-29 13:38:40
[2026-08-29 13:38:40,972.972 INFO    ] 2026-08-29 13:38:40
[2026-08-29 13:38:41,009.009 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:38:41,155.155 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:38:41,169.169 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:38:41,314.314 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:38:41,325.325 INFO    ] time= 29/08/2026 13:38:41
[2026-08-29 13:38:41,330.330 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:38:41,353.353 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:38:41,406.406 INFO    ] No existing commands found in stream
[2026-08-29 13:38:46,418.418 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:38:46,421.421 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-08-29 13:38:50,740.740 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:38:50,742.742 INFO    ] Checking for system updates...
[2026-08-29 13:38:50,763.763 INFO    ] 200
[2026-08-29 13:38:50,764.764 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:38:50,795.795 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:38:50,796.796 INFO    ] No update needed
[2026-08-29 13:38:50,797.797 INFO    ] Checking for camera pi updates...
[2026-08-29 13:38:50,818.818 INFO    ] 200
[2026-08-29 13:38:50,819.819 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:38:50,845.845 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:38:50,936.936 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:38:50,937.937 INFO    ] No camera update needed
[2026-08-29 13:38:50,939.939 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:38:50,940.940 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:38:50,943.943 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:38:50,946.946 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:38:52,985.985 INFO    ] ================================================
[2026-08-29 13:38:53,001.001 INFO    ] Launching Daemon at Sat Aug 29 13:38:52 IST 2026
[2026-08-29 13:38:53,012.012 INFO    ] ================================================
[2026-08-29 13:38:53,399.399 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:38:53
[2026-08-29 13:38:53,742.742 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:38:53,894.894 INFO    ] Initializing speech engine...
[2026-08-29 13:38:53,900.900 INFO    ] 2026-08-29 13:38:53
[2026-08-29 13:38:54,114.114 INFO    ] 2026-08-29 13:38:54
[2026-08-29 13:38:54,144.144 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:38:54,269.269 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:38:54,327.327 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:38:54,475.475 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:38:54,533.533 INFO    ] time= 29/08/2026 13:38:54
[2026-08-29 13:38:54,567.567 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:38:54,574.574 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:38:54,642.642 INFO    ] No existing commands found in stream
[2026-08-29 13:38:59,652.652 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:38:59,655.655 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-08-29 13:39:01,923.923 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:39:01,926.926 INFO    ] Checking for system updates...
[2026-08-29 13:39:01,978.978 INFO    ] 200
[2026-08-29 13:39:01,981.981 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:39:02,044.044 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:39:02,047.047 INFO    ] No update needed
[2026-08-29 13:39:02,050.050 INFO    ] Checking for camera pi updates...
[2026-08-29 13:39:02,088.088 INFO    ] 200
[2026-08-29 13:39:02,090.090 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:39:02,161.161 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:39:02,249.249 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:39:02,253.253 INFO    ] No camera update needed
[2026-08-29 13:39:02,256.256 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:39:02,260.260 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:39:02,268.268 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:39:02,276.276 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:39:04,320.320 INFO    ] ================================================
[2026-08-29 13:39:04,335.335 INFO    ] Launching Daemon at Sat Aug 29 13:39:04 IST 2026
[2026-08-29 13:39:04,347.347 INFO    ] ================================================
[2026-08-29 13:39:04,859.859 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:39:04
[2026-08-29 13:39:05,174.174 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:39:05,309.309 INFO    ] Initializing speech engine...
[2026-08-29 13:39:05,313.313 INFO    ] 2026-08-29 13:39:05
[2026-08-29 13:39:05,541.541 INFO    ] 2026-08-29 13:39:05
[2026-08-29 13:39:05,572.572 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:39:05,696.696 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:39:05,749.749 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:39:05,915.915 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:39:05,976.976 INFO    ] time= 29/08/2026 13:39:05
[2026-08-29 13:39:06,022.022 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:39:06,044.044 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:39:06,116.116 INFO    ] No existing commands found in stream
[2026-08-29 13:39:11,126.126 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:39:11,129.129 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-08-29 13:39:13,255.255 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:39:13,256.256 INFO    ] Checking for system updates...
[2026-08-29 13:39:13,277.277 INFO    ] 200
[2026-08-29 13:39:13,278.278 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:39:13,308.308 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:39:13,309.309 INFO    ] No update needed
[2026-08-29 13:39:13,311.311 INFO    ] Checking for camera pi updates...
[2026-08-29 13:39:13,331.331 INFO    ] 200
[2026-08-29 13:39:13,332.332 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:39:13,358.358 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:39:13,463.463 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:39:13,466.466 INFO    ] No camera update needed
[2026-08-29 13:39:13,468.468 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:39:13,471.471 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:39:13,477.477 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:39:13,483.483 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:39:15,523.523 INFO    ] ================================================
[2026-08-29 13:39:15,538.538 INFO    ] Launching Daemon at Sat Aug 29 13:39:15 IST 2026
[2026-08-29 13:39:15,550.550 INFO    ] ================================================
[2026-08-29 13:39:16,133.133 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:39:16
[2026-08-29 13:39:16,620.620 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:39:16,768.768 INFO    ] Initializing speech engine...
[2026-08-29 13:39:16,774.774 INFO    ] 2026-08-29 13:39:16
[2026-08-29 13:39:16,990.990 INFO    ] 2026-08-29 13:39:16
[2026-08-29 13:39:17,022.022 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:39:17,151.151 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:39:17,170.170 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:39:17,311.311 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:39:17,319.319 INFO    ] time= 29/08/2026 13:39:17
[2026-08-29 13:39:17,326.326 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:39:17,356.356 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:39:17,452.452 INFO    ] No existing commands found in stream
[2026-08-29 13:39:22,473.473 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:39:22,475.475 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-08-29 13:39:24,660.660 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:39:24,661.661 INFO    ] Checking for system updates...
[2026-08-29 13:39:24,682.682 INFO    ] 200
[2026-08-29 13:39:24,683.683 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:39:24,715.715 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:39:24,717.717 INFO    ] No update needed
[2026-08-29 13:39:24,718.718 INFO    ] Checking for camera pi updates...
[2026-08-29 13:39:24,737.737 INFO    ] 200
[2026-08-29 13:39:24,739.739 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:39:24,763.763 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:39:24,854.854 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:39:24,856.856 INFO    ] No camera update needed
[2026-08-29 13:39:24,857.857 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:39:24,858.858 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:39:24,861.861 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:39:24,864.864 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:39:26,903.903 INFO    ] ================================================
[2026-08-29 13:39:26,919.919 INFO    ] Launching Daemon at Sat Aug 29 13:39:26 IST 2026
[2026-08-29 13:39:26,930.930 INFO    ] ================================================
[2026-08-29 13:39:27,300.300 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:39:27
[2026-08-29 13:39:27,636.636 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:39:27,890.890 INFO    ] Initializing speech engine...
[2026-08-29 13:39:27,899.899 INFO    ] 2026-08-29 13:39:27
[2026-08-29 13:39:28,186.186 INFO    ] 2026-08-29 13:39:28
[2026-08-29 13:39:28,232.232 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:39:28,463.463 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:39:28,468.468 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:39:28,606.606 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:39:28,646.646 INFO    ] time= 29/08/2026 13:39:28
[2026-08-29 13:39:28,706.706 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:39:28,742.742 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:39:28,824.824 INFO    ] No existing commands found in stream
[2026-08-29 13:39:33,863.863 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:39:33,866.866 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-08-29 13:39:37,054.054 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:39:37,056.056 INFO    ] Checking for system updates...
[2026-08-29 13:39:37,076.076 INFO    ] 200
[2026-08-29 13:39:37,078.078 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:39:37,108.108 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:39:37,110.110 INFO    ] No update needed
[2026-08-29 13:39:37,111.111 INFO    ] Checking for camera pi updates...
[2026-08-29 13:39:37,131.131 INFO    ] 200
[2026-08-29 13:39:37,132.132 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:39:37,157.157 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:39:37,234.234 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:39:37,236.236 INFO    ] No camera update needed
[2026-08-29 13:39:37,237.237 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:39:37,239.239 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:39:37,242.242 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:39:37,245.245 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:39:39,285.285 INFO    ] ================================================
[2026-08-29 13:39:39,301.301 INFO    ] Launching Daemon at Sat Aug 29 13:39:39 IST 2026
[2026-08-29 13:39:39,312.312 INFO    ] ================================================
[2026-08-29 13:39:39,825.825 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:39:39
[2026-08-29 13:39:40,478.478 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:39:40,779.779 INFO    ] Initializing speech engine...
[2026-08-29 13:39:40,793.793 INFO    ] 2026-08-29 13:39:40
[2026-08-29 13:39:41,059.059 INFO    ] 2026-08-29 13:39:41
[2026-08-29 13:39:41,115.115 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:39:41,343.343 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:39:41,352.352 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:39:41,487.487 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:39:41,510.510 INFO    ] time= 29/08/2026 13:39:41
[2026-08-29 13:39:41,564.564 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:39:41,619.619 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:39:41,680.680 INFO    ] No existing commands found in stream
[2026-08-29 13:39:46,693.693 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:39:46,696.696 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-08-29 13:39:47,701.701 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:39:47,702.702 INFO    ] Checking for system updates...
[2026-08-29 13:39:47,723.723 INFO    ] 200
[2026-08-29 13:39:47,724.724 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:39:47,754.754 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:39:47,755.755 INFO    ] No update needed
[2026-08-29 13:39:47,757.757 INFO    ] Checking for camera pi updates...
[2026-08-29 13:39:47,776.776 INFO    ] 200
[2026-08-29 13:39:47,777.777 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:39:47,802.802 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:39:47,882.882 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:39:47,883.883 INFO    ] No camera update needed
[2026-08-29 13:39:47,885.885 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:39:47,886.886 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:39:47,889.889 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:39:47,892.892 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:39:49,934.934 INFO    ] ================================================
[2026-08-29 13:39:49,952.952 INFO    ] Launching Daemon at Sat Aug 29 13:39:49 IST 2026
[2026-08-29 13:39:49,965.965 INFO    ] ================================================
[2026-08-29 13:39:50,572.572 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:39:50
[2026-08-29 13:39:51,175.175 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:39:51,462.462 INFO    ] Initializing speech engine...
[2026-08-29 13:39:51,472.472 INFO    ] 2026-08-29 13:39:51
[2026-08-29 13:39:51,720.720 INFO    ] 2026-08-29 13:39:51
[2026-08-29 13:39:51,785.785 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:39:51,927.927 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:39:51,939.939 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:39:52,080.080 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:39:52,088.088 INFO    ] time= 29/08/2026 13:39:52
[2026-08-29 13:39:52,095.095 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:39:52,146.146 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:39:52,255.255 INFO    ] No existing commands found in stream
[2026-08-29 13:39:57,286.286 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:39:57,289.289 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 13:40:00,970.970 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:40:00,972.972 INFO    ] Checking for system updates...
[2026-08-29 13:40:01,010.010 INFO    ] 200
[2026-08-29 13:40:01,013.013 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:40:01,065.065 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:40:01,067.067 INFO    ] No update needed
[2026-08-29 13:40:01,070.070 INFO    ] Checking for camera pi updates...
[2026-08-29 13:40:01,106.106 INFO    ] 200
[2026-08-29 13:40:01,108.108 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:40:01,148.148 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:40:01,201.201 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:40:01,204.204 INFO    ] No camera update needed
[2026-08-29 13:40:01,206.206 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:40:01,208.208 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:40:01,214.214 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:40:01,219.219 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:40:03,272.272 INFO    ] ================================================
[2026-08-29 13:40:03,290.290 INFO    ] Launching Daemon at Sat Aug 29 13:40:03 IST 2026
[2026-08-29 13:40:03,301.301 INFO    ] ================================================
[2026-08-29 13:40:03,890.890 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:40:03
[2026-08-29 13:40:04,487.487 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:40:04,739.739 INFO    ] Initializing speech engine...
[2026-08-29 13:40:04,754.754 INFO    ] 2026-08-29 13:40:04
[2026-08-29 13:40:05,021.021 INFO    ] 2026-08-29 13:40:05
[2026-08-29 13:40:05,057.057 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:40:05,231.231 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:40:05,244.244 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:40:05,384.384 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:40:05,393.393 INFO    ] time= 29/08/2026 13:40:05
[2026-08-29 13:40:05,400.400 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:40:05,446.446 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:40:05,566.566 INFO    ] No existing commands found in stream
[2026-08-29 13:40:10,600.600 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:40:10,603.603 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-08-29 13:40:12,396.396 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:40:12,402.402 INFO    ] Checking for system updates...
[2026-08-29 13:40:12,423.423 INFO    ] 200
[2026-08-29 13:40:12,425.425 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:40:12,454.454 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:40:12,456.456 INFO    ] No update needed
[2026-08-29 13:40:12,457.457 INFO    ] Checking for camera pi updates...
[2026-08-29 13:40:12,476.476 INFO    ] 200
[2026-08-29 13:40:12,478.478 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:40:12,518.518 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:40:12,604.604 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:40:12,606.606 INFO    ] No camera update needed
[2026-08-29 13:40:12,609.609 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:40:12,611.611 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:40:12,616.616 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:40:12,621.621 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:40:14,664.664 INFO    ] ================================================
[2026-08-29 13:40:14,679.679 INFO    ] Launching Daemon at Sat Aug 29 13:40:14 IST 2026
[2026-08-29 13:40:14,690.690 INFO    ] ================================================
[2026-08-29 13:40:15,333.333 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:40:15
[2026-08-29 13:40:15,805.805 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:40:15,957.957 INFO    ] Initializing speech engine...
[2026-08-29 13:40:15,962.962 INFO    ] 2026-08-29 13:40:15
[2026-08-29 13:40:16,171.171 INFO    ] 2026-08-29 13:40:16
[2026-08-29 13:40:16,200.200 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:40:16,324.324 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:40:16,363.363 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:40:16,537.537 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:40:16,601.601 INFO    ] time= 29/08/2026 13:40:16
[2026-08-29 13:40:16,638.638 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:40:16,651.651 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:40:16,755.755 INFO    ] No existing commands found in stream
[2026-08-29 13:40:21,786.786 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:40:21,789.789 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-08-29 13:40:25,600.600 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:40:25,602.602 INFO    ] Checking for system updates...
[2026-08-29 13:40:25,622.622 INFO    ] 200
[2026-08-29 13:40:25,624.624 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:40:25,656.656 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:40:25,657.657 INFO    ] No update needed
[2026-08-29 13:40:25,658.658 INFO    ] Checking for camera pi updates...
[2026-08-29 13:40:25,678.678 INFO    ] 200
[2026-08-29 13:40:25,680.680 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:40:25,703.703 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:40:25,805.805 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:40:25,806.806 INFO    ] No camera update needed
[2026-08-29 13:40:25,807.807 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:40:25,809.809 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:40:25,811.811 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:40:25,814.814 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:40:27,853.853 INFO    ] ================================================
[2026-08-29 13:40:27,868.868 INFO    ] Launching Daemon at Sat Aug 29 13:40:27 IST 2026
[2026-08-29 13:40:27,879.879 INFO    ] ================================================
[2026-08-29 13:40:28,229.229 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:40:28
[2026-08-29 13:40:28,545.545 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:40:28,758.758 INFO    ] Initializing speech engine...
[2026-08-29 13:40:28,767.767 INFO    ] 2026-08-29 13:40:28
[2026-08-29 13:40:29,018.018 INFO    ] 2026-08-29 13:40:29
[2026-08-29 13:40:29,084.084 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:40:29,250.250 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:40:29,281.281 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:40:29,447.447 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:40:29,454.454 INFO    ] time= 29/08/2026 13:40:29
[2026-08-29 13:40:29,508.508 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:40:29,568.568 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:40:29,634.634 INFO    ] No existing commands found in stream
[2026-08-29 13:40:34,646.646 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:40:34,648.648 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-08-29 13:40:36,180.180 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:40:36,182.182 INFO    ] Checking for system updates...
[2026-08-29 13:40:36,202.202 INFO    ] 200
[2026-08-29 13:40:36,203.203 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:40:36,233.233 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:40:36,234.234 INFO    ] No update needed
[2026-08-29 13:40:36,235.235 INFO    ] Checking for camera pi updates...
[2026-08-29 13:40:36,255.255 INFO    ] 200
[2026-08-29 13:40:36,256.256 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:40:36,280.280 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:40:36,457.457 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:40:36,459.459 INFO    ] No camera update needed
[2026-08-29 13:40:36,460.460 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:40:36,461.461 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:40:36,464.464 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:40:36,467.467 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:40:38,507.507 INFO    ] ================================================
[2026-08-29 13:40:38,522.522 INFO    ] Launching Daemon at Sat Aug 29 13:40:38 IST 2026
[2026-08-29 13:40:38,532.532 INFO    ] ================================================
[2026-08-29 13:40:38,889.889 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:40:38
[2026-08-29 13:40:39,202.202 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:40:39,332.332 INFO    ] Initializing speech engine...
[2026-08-29 13:40:39,336.336 INFO    ] 2026-08-29 13:40:39
[2026-08-29 13:40:39,550.550 INFO    ] 2026-08-29 13:40:39
[2026-08-29 13:40:39,587.587 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:40:39,762.762 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:40:39,776.776 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:40:39,921.921 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:40:39,930.930 INFO    ] time= 29/08/2026 13:40:39
[2026-08-29 13:40:39,936.936 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:40:39,983.983 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:40:40,092.092 INFO    ] No existing commands found in stream
[2026-08-29 13:40:45,122.122 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:40:45,125.125 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-08-29 13:40:47,370.370 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:40:47,371.371 INFO    ] Checking for system updates...
[2026-08-29 13:40:47,393.393 INFO    ] 200
[2026-08-29 13:40:47,394.394 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:40:47,424.424 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:40:47,425.425 INFO    ] No update needed
[2026-08-29 13:40:47,426.426 INFO    ] Checking for camera pi updates...
[2026-08-29 13:40:47,445.445 INFO    ] 200
[2026-08-29 13:40:47,446.446 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:40:47,469.469 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:40:47,546.546 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:40:47,549.549 INFO    ] No camera update needed
[2026-08-29 13:40:47,551.551 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:40:47,552.552 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:40:47,555.555 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:40:47,558.558 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:40:49,598.598 INFO    ] ================================================
[2026-08-29 13:40:49,613.613 INFO    ] Launching Daemon at Sat Aug 29 13:40:49 IST 2026
[2026-08-29 13:40:49,624.624 INFO    ] ================================================
[2026-08-29 13:40:49,977.977 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:40:49
[2026-08-29 13:40:50,289.289 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:40:50,459.459 INFO    ] Initializing speech engine...
[2026-08-29 13:40:50,477.477 INFO    ] 2026-08-29 13:40:50
[2026-08-29 13:40:50,748.748 INFO    ] 2026-08-29 13:40:50
[2026-08-29 13:40:50,784.784 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:40:50,929.929 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:40:50,938.938 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:40:51,087.087 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:40:51,096.096 INFO    ] time= 29/08/2026 13:40:51
[2026-08-29 13:40:51,101.101 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:40:51,105.105 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:40:51,168.168 INFO    ] No existing commands found in stream
[2026-08-29 13:40:56,180.180 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:40:56,183.183 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-08-29 13:40:57,669.669 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:40:57,670.670 INFO    ] Checking for system updates...
[2026-08-29 13:40:57,690.690 INFO    ] 200
[2026-08-29 13:40:57,692.692 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:40:57,722.722 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:40:57,723.723 INFO    ] No update needed
[2026-08-29 13:40:57,724.724 INFO    ] Checking for camera pi updates...
[2026-08-29 13:40:57,744.744 INFO    ] 200
[2026-08-29 13:40:57,745.745 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:40:57,770.770 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:40:57,868.868 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:40:57,870.870 INFO    ] No camera update needed
[2026-08-29 13:40:57,871.871 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:40:57,872.872 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:40:57,875.875 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:40:57,878.878 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:40:59,916.916 INFO    ] ================================================
[2026-08-29 13:40:59,931.931 INFO    ] Launching Daemon at Sat Aug 29 13:40:59 IST 2026
[2026-08-29 13:40:59,941.941 INFO    ] ================================================
[2026-08-29 13:41:00,265.265 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:41:00
[2026-08-29 13:41:00,579.579 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:41:00,711.711 INFO    ] Initializing speech engine...
[2026-08-29 13:41:00,714.714 INFO    ] 2026-08-29 13:41:00
[2026-08-29 13:41:00,944.944 INFO    ] 2026-08-29 13:41:00
[2026-08-29 13:41:00,974.974 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:41:01,105.105 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:41:01,123.123 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:41:01,262.262 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:41:01,317.317 INFO    ] time= 29/08/2026 13:41:01
[2026-08-29 13:41:01,358.358 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:41:01,406.406 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:41:01,506.506 INFO    ] No existing commands found in stream
[2026-08-29 13:41:06,528.528 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:41:06,531.531 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-08-29 13:41:07,019.019 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:41:07,020.020 INFO    ] Checking for system updates...
[2026-08-29 13:41:07,042.042 INFO    ] 200
[2026-08-29 13:41:07,043.043 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:41:07,074.074 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:41:07,075.075 INFO    ] No update needed
[2026-08-29 13:41:07,076.076 INFO    ] Checking for camera pi updates...
[2026-08-29 13:41:07,096.096 INFO    ] 200
[2026-08-29 13:41:07,097.097 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:41:07,121.121 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:41:07,202.202 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:41:07,203.203 INFO    ] No camera update needed
[2026-08-29 13:41:07,205.205 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:41:07,206.206 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:41:07,209.209 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:41:07,211.211 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:41:09,249.249 INFO    ] ================================================
[2026-08-29 13:41:09,265.265 INFO    ] Launching Daemon at Sat Aug 29 13:41:09 IST 2026
[2026-08-29 13:41:09,275.275 INFO    ] ================================================
[2026-08-29 13:41:09,604.604 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:41:09
[2026-08-29 13:41:09,918.918 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:41:10,061.061 INFO    ] Initializing speech engine...
[2026-08-29 13:41:10,066.066 INFO    ] 2026-08-29 13:41:10
[2026-08-29 13:41:10,269.269 INFO    ] 2026-08-29 13:41:10
[2026-08-29 13:41:10,299.299 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:41:10,484.484 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:41:10,487.487 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:41:10,616.616 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:41:10,668.668 INFO    ] time= 29/08/2026 13:41:10
[2026-08-29 13:41:10,697.697 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:41:10,718.718 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:41:10,789.789 INFO    ] No existing commands found in stream
[2026-08-29 13:41:15,800.800 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:41:15,802.802 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-08-29 13:41:17,105.105 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:41:17,106.106 INFO    ] Checking for system updates...
[2026-08-29 13:41:17,127.127 INFO    ] 200
[2026-08-29 13:41:17,128.128 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:41:17,157.157 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:41:17,159.159 INFO    ] No update needed
[2026-08-29 13:41:17,160.160 INFO    ] Checking for camera pi updates...
[2026-08-29 13:41:17,179.179 INFO    ] 200
[2026-08-29 13:41:17,180.180 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:41:17,205.205 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:41:17,280.280 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:41:17,281.281 INFO    ] No camera update needed
[2026-08-29 13:41:17,283.283 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:41:17,284.284 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:41:17,287.287 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:41:17,289.289 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:41:19,328.328 INFO    ] ================================================
[2026-08-29 13:41:19,343.343 INFO    ] Launching Daemon at Sat Aug 29 13:41:19 IST 2026
[2026-08-29 13:41:19,353.353 INFO    ] ================================================
[2026-08-29 13:41:19,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:41:19
[2026-08-29 13:41:20,007.007 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:41:20,148.148 INFO    ] Initializing speech engine...
[2026-08-29 13:41:20,159.159 INFO    ] 2026-08-29 13:41:20
[2026-08-29 13:41:20,372.372 INFO    ] 2026-08-29 13:41:20
[2026-08-29 13:41:20,403.403 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:41:20,534.534 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:41:20,566.566 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:41:20,706.706 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:41:20,745.745 INFO    ] time= 29/08/2026 13:41:20
[2026-08-29 13:41:20,781.781 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:41:20,829.829 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:41:20,926.926 INFO    ] No existing commands found in stream
[2026-08-29 13:41:25,936.936 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:41:25,939.939 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-08-29 13:41:29,769.769 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:41:29,770.770 INFO    ] Checking for system updates...
[2026-08-29 13:41:29,790.790 INFO    ] 200
[2026-08-29 13:41:29,792.792 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:41:29,822.822 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:41:29,824.824 INFO    ] No update needed
[2026-08-29 13:41:29,825.825 INFO    ] Checking for camera pi updates...
[2026-08-29 13:41:29,845.845 INFO    ] 200
[2026-08-29 13:41:29,847.847 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:41:29,870.870 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:41:29,948.948 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:41:29,949.949 INFO    ] No camera update needed
[2026-08-29 13:41:29,950.950 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:41:29,952.952 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:41:29,955.955 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:41:29,957.957 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:41:31,990.990 INFO    ] ================================================
[2026-08-29 13:41:32,000.000 INFO    ] Launching Daemon at Sat Aug 29 13:41:31 IST 2026
[2026-08-29 13:41:32,006.006 INFO    ] ================================================
[2026-08-29 13:41:32,589.589 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:41:32
[2026-08-29 13:41:33,182.182 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:41:33,451.451 INFO    ] Initializing speech engine...
[2026-08-29 13:41:33,461.461 INFO    ] 2026-08-29 13:41:33
[2026-08-29 13:41:33,715.715 INFO    ] 2026-08-29 13:41:33
[2026-08-29 13:41:33,749.749 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:41:33,919.919 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:41:33,927.927 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:41:34,084.084 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:41:34,091.091 INFO    ] time= 29/08/2026 13:41:34
[2026-08-29 13:41:34,099.099 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:41:34,145.145 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:41:34,262.262 INFO    ] No existing commands found in stream
[2026-08-29 13:41:39,292.292 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:41:39,295.295 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-08-29 13:41:41,749.749 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:41:41,750.750 INFO    ] Checking for system updates...
[2026-08-29 13:41:41,770.770 INFO    ] 200
[2026-08-29 13:41:41,772.772 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:41:41,801.801 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:41:41,802.802 INFO    ] No update needed
[2026-08-29 13:41:41,804.804 INFO    ] Checking for camera pi updates...
[2026-08-29 13:41:41,823.823 INFO    ] 200
[2026-08-29 13:41:41,825.825 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:41:41,848.848 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:41:41,952.952 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:41:41,953.953 INFO    ] No camera update needed
[2026-08-29 13:41:41,954.954 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:41:41,956.956 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:41:41,958.958 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:41:41,961.961 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:41:44,000.000 INFO    ] ================================================
[2026-08-29 13:41:44,015.015 INFO    ] Launching Daemon at Sat Aug 29 13:41:44 IST 2026
[2026-08-29 13:41:44,026.026 INFO    ] ================================================
[2026-08-29 13:41:44,353.353 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:41:44
[2026-08-29 13:41:44,664.664 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:41:44,809.809 INFO    ] Initializing speech engine...
[2026-08-29 13:41:44,814.814 INFO    ] 2026-08-29 13:41:44
[2026-08-29 13:41:45,018.018 INFO    ] 2026-08-29 13:41:44
[2026-08-29 13:41:45,046.046 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:41:45,170.170 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:41:45,233.233 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:41:45,366.366 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:41:45,427.427 INFO    ] time= 29/08/2026 13:41:45
[2026-08-29 13:41:45,462.462 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:41:45,467.467 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:41:45,541.541 INFO    ] No existing commands found in stream
[2026-08-29 13:41:50,550.550 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:41:50,553.553 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-08-29 13:41:50,988.988 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:41:50,989.989 INFO    ] Checking for system updates...
[2026-08-29 13:41:51,011.011 INFO    ] 200
[2026-08-29 13:41:51,012.012 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:41:51,042.042 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:41:51,044.044 INFO    ] No update needed
[2026-08-29 13:41:51,045.045 INFO    ] Checking for camera pi updates...
[2026-08-29 13:41:51,064.064 INFO    ] 200
[2026-08-29 13:41:51,066.066 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:41:51,089.089 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:41:51,203.203 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:41:51,204.204 INFO    ] No camera update needed
[2026-08-29 13:41:51,206.206 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:41:51,207.207 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:41:51,210.210 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:41:51,213.213 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:41:53,253.253 INFO    ] ================================================
[2026-08-29 13:41:53,267.267 INFO    ] Launching Daemon at Sat Aug 29 13:41:53 IST 2026
[2026-08-29 13:41:53,278.278 INFO    ] ================================================
[2026-08-29 13:41:53,598.598 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:41:53
[2026-08-29 13:41:53,908.908 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:41:54,049.049 INFO    ] Initializing speech engine...
[2026-08-29 13:41:54,058.058 INFO    ] 2026-08-29 13:41:54
[2026-08-29 13:41:54,272.272 INFO    ] 2026-08-29 13:41:54
[2026-08-29 13:41:54,302.302 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:41:54,447.447 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:41:54,498.498 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:41:54,637.637 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:41:54,678.678 INFO    ] time= 29/08/2026 13:41:54
[2026-08-29 13:41:54,721.721 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:41:54,744.744 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:41:54,819.819 INFO    ] No existing commands found in stream
[2026-08-29 13:41:59,830.830 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:41:59,833.833 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-08-29 13:42:03,151.151 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:42:03,154.154 INFO    ] Checking for system updates...
[2026-08-29 13:42:03,190.190 INFO    ] 200
[2026-08-29 13:42:03,193.193 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:42:03,250.250 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:42:03,253.253 INFO    ] No update needed
[2026-08-29 13:42:03,256.256 INFO    ] Checking for camera pi updates...
[2026-08-29 13:42:03,290.290 INFO    ] 200
[2026-08-29 13:42:03,292.292 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:42:03,333.333 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:42:03,431.431 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:42:03,434.434 INFO    ] No camera update needed
[2026-08-29 13:42:03,437.437 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:42:03,439.439 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:42:03,445.445 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:42:03,451.451 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:42:05,491.491 INFO    ] ================================================
[2026-08-29 13:42:05,506.506 INFO    ] Launching Daemon at Sat Aug 29 13:42:05 IST 2026
[2026-08-29 13:42:05,517.517 INFO    ] ================================================
[2026-08-29 13:42:06,085.085 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:42:06
[2026-08-29 13:42:06,615.615 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:42:06,897.897 INFO    ] Initializing speech engine...
[2026-08-29 13:42:06,910.910 INFO    ] 2026-08-29 13:42:06
[2026-08-29 13:42:07,175.175 INFO    ] 2026-08-29 13:42:07
[2026-08-29 13:42:07,210.210 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:42:07,400.400 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:42:07,406.406 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:42:07,532.532 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:42:07,538.538 INFO    ] time= 29/08/2026 13:42:07
[2026-08-29 13:42:07,545.545 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:42:07,564.564 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:42:07,661.661 INFO    ] No existing commands found in stream
[2026-08-29 13:42:12,672.672 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:42:12,675.675 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-08-29 13:42:14,291.291 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:42:14,292.292 INFO    ] Checking for system updates...
[2026-08-29 13:42:14,313.313 INFO    ] 200
[2026-08-29 13:42:14,314.314 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:42:14,346.346 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:42:14,348.348 INFO    ] No update needed
[2026-08-29 13:42:14,349.349 INFO    ] Checking for camera pi updates...
[2026-08-29 13:42:14,369.369 INFO    ] 200
[2026-08-29 13:42:14,370.370 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:42:14,395.395 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:42:14,478.478 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:42:14,479.479 INFO    ] No camera update needed
[2026-08-29 13:42:14,480.480 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:42:14,482.482 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:42:14,485.485 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:42:14,487.487 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:42:16,526.526 INFO    ] ================================================
[2026-08-29 13:42:16,541.541 INFO    ] Launching Daemon at Sat Aug 29 13:42:16 IST 2026
[2026-08-29 13:42:16,551.551 INFO    ] ================================================
[2026-08-29 13:42:16,882.882 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:42:16
[2026-08-29 13:42:17,198.198 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:42:17,339.339 INFO    ] Initializing speech engine...
[2026-08-29 13:42:17,347.347 INFO    ] 2026-08-29 13:42:17
[2026-08-29 13:42:17,592.592 INFO    ] 2026-08-29 13:42:17
[2026-08-29 13:42:17,638.638 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:42:17,803.803 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:42:17,810.810 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:42:17,928.928 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:42:17,945.945 INFO    ] time= 29/08/2026 13:42:17
[2026-08-29 13:42:17,995.995 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:42:18,055.055 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:42:18,129.129 INFO    ] No existing commands found in stream
[2026-08-29 13:42:23,141.141 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:42:23,144.144 INFO    ] Waiting 3.71 seconds before fallback handling...
[2026-08-29 13:42:27,223.223 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:42:27,224.224 INFO    ] Checking for system updates...
[2026-08-29 13:42:27,245.245 INFO    ] 200
[2026-08-29 13:42:27,246.246 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:42:27,276.276 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:42:27,277.277 INFO    ] No update needed
[2026-08-29 13:42:27,278.278 INFO    ] Checking for camera pi updates...
[2026-08-29 13:42:27,297.297 INFO    ] 200
[2026-08-29 13:42:27,298.298 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:42:27,321.321 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:42:27,403.403 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:42:27,404.404 INFO    ] No camera update needed
[2026-08-29 13:42:27,406.406 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:42:27,407.407 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:42:27,410.410 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:42:27,413.413 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:42:29,451.451 INFO    ] ================================================
[2026-08-29 13:42:29,465.465 INFO    ] Launching Daemon at Sat Aug 29 13:42:29 IST 2026
[2026-08-29 13:42:29,476.476 INFO    ] ================================================
[2026-08-29 13:42:29,812.812 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:42:29
[2026-08-29 13:42:30,128.128 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:42:30,295.295 INFO    ] Initializing speech engine...
[2026-08-29 13:42:30,319.319 INFO    ] 2026-08-29 13:42:30
[2026-08-29 13:42:30,586.586 INFO    ] 2026-08-29 13:42:30
[2026-08-29 13:42:30,621.621 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:42:30,808.808 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:42:30,815.815 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:42:30,943.943 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:42:30,947.947 INFO    ] time= 29/08/2026 13:42:30
[2026-08-29 13:42:30,967.967 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:42:30,988.988 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:42:31,067.067 INFO    ] No existing commands found in stream
[2026-08-29 13:42:36,079.079 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:42:36,081.081 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-08-29 13:42:36,774.774 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:42:36,775.775 INFO    ] Checking for system updates...
[2026-08-29 13:42:36,795.795 INFO    ] 200
[2026-08-29 13:42:36,797.797 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:42:36,827.827 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:42:36,828.828 INFO    ] No update needed
[2026-08-29 13:42:36,829.829 INFO    ] Checking for camera pi updates...
[2026-08-29 13:42:36,851.851 INFO    ] 200
[2026-08-29 13:42:36,852.852 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:42:36,875.875 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:42:36,998.998 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:42:36,999.999 INFO    ] No camera update needed
[2026-08-29 13:42:37,000.000 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:42:37,001.001 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:42:37,004.004 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:42:37,007.007 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:42:39,045.045 INFO    ] ================================================
[2026-08-29 13:42:39,060.060 INFO    ] Launching Daemon at Sat Aug 29 13:42:39 IST 2026
[2026-08-29 13:42:39,071.071 INFO    ] ================================================
[2026-08-29 13:42:39,425.425 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:42:39
[2026-08-29 13:42:39,756.756 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:42:39,908.908 INFO    ] Initializing speech engine...
[2026-08-29 13:42:39,912.912 INFO    ] 2026-08-29 13:42:39
[2026-08-29 13:42:40,118.118 INFO    ] 2026-08-29 13:42:40
[2026-08-29 13:42:40,146.146 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:42:40,268.268 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:42:40,330.330 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:42:40,460.460 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:42:40,516.516 INFO    ] time= 29/08/2026 13:42:40
[2026-08-29 13:42:40,558.558 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:42:40,560.560 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:42:40,650.650 INFO    ] No existing commands found in stream
[2026-08-29 13:42:45,665.665 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:42:45,668.668 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-08-29 13:42:49,381.381 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:42:49,383.383 INFO    ] Checking for system updates...
[2026-08-29 13:42:49,403.403 INFO    ] 200
[2026-08-29 13:42:49,405.405 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:42:49,435.435 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:42:49,436.436 INFO    ] No update needed
[2026-08-29 13:42:49,437.437 INFO    ] Checking for camera pi updates...
[2026-08-29 13:42:49,457.457 INFO    ] 200
[2026-08-29 13:42:49,459.459 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:42:49,483.483 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:42:49,657.657 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:42:49,659.659 INFO    ] No camera update needed
[2026-08-29 13:42:49,660.660 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:42:49,661.661 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:42:49,665.665 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:42:49,667.667 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:42:51,706.706 INFO    ] ================================================
[2026-08-29 13:42:51,721.721 INFO    ] Launching Daemon at Sat Aug 29 13:42:51 IST 2026
[2026-08-29 13:42:51,732.732 INFO    ] ================================================
[2026-08-29 13:42:52,269.269 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:42:52
[2026-08-29 13:42:52,852.852 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:42:53,127.127 INFO    ] Initializing speech engine...
[2026-08-29 13:42:53,137.137 INFO    ] 2026-08-29 13:42:53
[2026-08-29 13:42:53,404.404 INFO    ] 2026-08-29 13:42:53
[2026-08-29 13:42:53,454.454 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:42:53,674.674 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:42:53,683.683 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:42:53,816.816 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:42:53,837.837 INFO    ] time= 29/08/2026 13:42:53
[2026-08-29 13:42:53,902.902 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:42:53,948.948 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:42:54,001.001 INFO    ] No existing commands found in stream
[2026-08-29 13:42:59,014.014 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:42:59,016.016 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-08-29 13:43:01,113.113 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:43:01,114.114 INFO    ] Checking for system updates...
[2026-08-29 13:43:01,134.134 INFO    ] 200
[2026-08-29 13:43:01,136.136 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:43:01,165.165 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:43:01,166.166 INFO    ] No update needed
[2026-08-29 13:43:01,168.168 INFO    ] Checking for camera pi updates...
[2026-08-29 13:43:01,187.187 INFO    ] 200
[2026-08-29 13:43:01,188.188 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:43:01,231.231 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:43:01,318.318 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:43:01,322.322 INFO    ] No camera update needed
[2026-08-29 13:43:01,325.325 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:43:01,328.328 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:43:01,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:43:01,343.343 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:43:03,389.389 INFO    ] ================================================
[2026-08-29 13:43:03,404.404 INFO    ] Launching Daemon at Sat Aug 29 13:43:03 IST 2026
[2026-08-29 13:43:03,415.415 INFO    ] ================================================
[2026-08-29 13:43:03,981.981 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:43:03
[2026-08-29 13:43:04,499.499 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:43:04,632.632 INFO    ] Initializing speech engine...
[2026-08-29 13:43:04,644.644 INFO    ] 2026-08-29 13:43:04
[2026-08-29 13:43:04,851.851 INFO    ] 2026-08-29 13:43:04
[2026-08-29 13:43:04,881.881 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:43:05,005.005 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:43:05,068.068 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:43:05,201.201 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:43:05,257.257 INFO    ] time= 29/08/2026 13:43:05
[2026-08-29 13:43:05,292.292 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:43:05,303.303 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:43:05,375.375 INFO    ] No existing commands found in stream
[2026-08-29 13:43:10,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:43:10,384.384 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-08-29 13:43:11,090.090 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:43:11,092.092 INFO    ] Checking for system updates...
[2026-08-29 13:43:11,112.112 INFO    ] 200
[2026-08-29 13:43:11,114.114 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:43:11,143.143 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:43:11,144.144 INFO    ] No update needed
[2026-08-29 13:43:11,146.146 INFO    ] Checking for camera pi updates...
[2026-08-29 13:43:11,165.165 INFO    ] 200
[2026-08-29 13:43:11,166.166 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:43:11,191.191 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:43:11,270.270 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:43:11,271.271 INFO    ] No camera update needed
[2026-08-29 13:43:11,272.272 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:43:11,274.274 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:43:11,276.276 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:43:11,279.279 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:43:13,317.317 INFO    ] ================================================
[2026-08-29 13:43:13,333.333 INFO    ] Launching Daemon at Sat Aug 29 13:43:13 IST 2026
[2026-08-29 13:43:13,344.344 INFO    ] ================================================
[2026-08-29 13:43:13,669.669 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:43:13
[2026-08-29 13:43:14,230.230 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:43:14,504.504 INFO    ] Initializing speech engine...
[2026-08-29 13:43:14,518.518 INFO    ] 2026-08-29 13:43:14
[2026-08-29 13:43:14,778.778 INFO    ] 2026-08-29 13:43:14
[2026-08-29 13:43:14,813.813 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:43:15,001.001 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:43:15,016.016 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:43:15,135.135 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:43:15,141.141 INFO    ] time= 29/08/2026 13:43:15
[2026-08-29 13:43:15,160.160 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:43:15,181.181 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:43:15,260.260 INFO    ] No existing commands found in stream
[2026-08-29 13:43:20,272.272 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:43:20,275.275 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 13:43:22,814.814 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:43:22,815.815 INFO    ] Checking for system updates...
[2026-08-29 13:43:22,835.835 INFO    ] 200
[2026-08-29 13:43:22,837.837 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:43:22,867.867 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:43:22,868.868 INFO    ] No update needed
[2026-08-29 13:43:22,869.869 INFO    ] Checking for camera pi updates...
[2026-08-29 13:43:22,889.889 INFO    ] 200
[2026-08-29 13:43:22,891.891 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:43:22,914.914 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:43:23,023.023 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:43:23,024.024 INFO    ] No camera update needed
[2026-08-29 13:43:23,025.025 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:43:23,027.027 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:43:23,029.029 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:43:23,032.032 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:43:25,070.070 INFO    ] ================================================
[2026-08-29 13:43:25,085.085 INFO    ] Launching Daemon at Sat Aug 29 13:43:25 IST 2026
[2026-08-29 13:43:25,096.096 INFO    ] ================================================
[2026-08-29 13:43:25,442.442 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:43:25
[2026-08-29 13:43:25,772.772 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:43:25,916.916 INFO    ] Initializing speech engine...
[2026-08-29 13:43:25,926.926 INFO    ] 2026-08-29 13:43:25
[2026-08-29 13:43:26,134.134 INFO    ] 2026-08-29 13:43:26
[2026-08-29 13:43:26,162.162 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:43:26,289.289 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:43:26,347.347 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:43:26,484.484 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:43:26,551.551 INFO    ] time= 29/08/2026 13:43:26
[2026-08-29 13:43:26,575.575 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:43:26,582.582 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:43:26,647.647 INFO    ] No existing commands found in stream
[2026-08-29 13:43:31,656.656 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:43:31,658.658 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-08-29 13:43:32,948.948 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:43:32,950.950 INFO    ] Checking for system updates...
[2026-08-29 13:43:32,987.987 INFO    ] 200
[2026-08-29 13:43:32,990.990 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:43:33,044.044 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:43:33,046.046 INFO    ] No update needed
[2026-08-29 13:43:33,049.049 INFO    ] Checking for camera pi updates...
[2026-08-29 13:43:33,084.084 INFO    ] 200
[2026-08-29 13:43:33,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:43:33,130.130 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:43:33,217.217 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:43:33,219.219 INFO    ] No camera update needed
[2026-08-29 13:43:33,222.222 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:43:33,224.224 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:43:33,229.229 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:43:33,234.234 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:43:35,275.275 INFO    ] ================================================
[2026-08-29 13:43:35,291.291 INFO    ] Launching Daemon at Sat Aug 29 13:43:35 IST 2026
[2026-08-29 13:43:35,302.302 INFO    ] ================================================
[2026-08-29 13:43:35,659.659 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:43:35
[2026-08-29 13:43:35,988.988 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:43:36,131.131 INFO    ] Initializing speech engine...
[2026-08-29 13:43:36,141.141 INFO    ] 2026-08-29 13:43:36
[2026-08-29 13:43:36,348.348 INFO    ] 2026-08-29 13:43:36
[2026-08-29 13:43:36,377.377 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:43:36,499.499 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:43:36,561.561 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:43:36,695.695 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:43:36,753.753 INFO    ] time= 29/08/2026 13:43:36
[2026-08-29 13:43:36,788.788 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:43:36,793.793 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:43:36,864.864 INFO    ] No existing commands found in stream
[2026-08-29 13:43:41,874.874 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:43:41,877.877 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-08-29 13:43:46,216.216 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:43:46,219.219 INFO    ] Checking for system updates...
[2026-08-29 13:43:46,254.254 INFO    ] 200
[2026-08-29 13:43:46,256.256 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:43:46,313.313 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:43:46,315.315 INFO    ] No update needed
[2026-08-29 13:43:46,317.317 INFO    ] Checking for camera pi updates...
[2026-08-29 13:43:46,350.350 INFO    ] 200
[2026-08-29 13:43:46,352.352 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:43:46,381.381 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:43:46,456.456 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:43:46,457.457 INFO    ] No camera update needed
[2026-08-29 13:43:46,459.459 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:43:46,460.460 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:43:46,463.463 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:43:46,465.465 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:43:48,504.504 INFO    ] ================================================
[2026-08-29 13:43:48,519.519 INFO    ] Launching Daemon at Sat Aug 29 13:43:48 IST 2026
[2026-08-29 13:43:48,530.530 INFO    ] ================================================
[2026-08-29 13:43:48,882.882 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:43:48
[2026-08-29 13:43:49,194.194 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:43:49,329.329 INFO    ] Initializing speech engine...
[2026-08-29 13:43:49,336.336 INFO    ] 2026-08-29 13:43:49
[2026-08-29 13:43:49,556.556 INFO    ] 2026-08-29 13:43:49
[2026-08-29 13:43:49,586.586 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:43:49,715.715 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:43:49,758.758 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:43:49,918.918 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:43:49,975.975 INFO    ] time= 29/08/2026 13:43:49
[2026-08-29 13:43:50,012.012 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:43:50,023.023 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:43:50,097.097 INFO    ] No existing commands found in stream
[2026-08-29 13:43:55,108.108 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:43:55,110.110 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-08-29 13:43:59,138.138 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:43:59,139.139 INFO    ] Checking for system updates...
[2026-08-29 13:43:59,159.159 INFO    ] 200
[2026-08-29 13:43:59,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:43:59,190.190 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:43:59,191.191 INFO    ] No update needed
[2026-08-29 13:43:59,193.193 INFO    ] Checking for camera pi updates...
[2026-08-29 13:43:59,212.212 INFO    ] 200
[2026-08-29 13:43:59,213.213 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:43:59,237.237 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:43:59,325.325 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:43:59,327.327 INFO    ] No camera update needed
[2026-08-29 13:43:59,328.328 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:43:59,329.329 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:43:59,332.332 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:43:59,335.335 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:44:01,373.373 INFO    ] ================================================
[2026-08-29 13:44:01,388.388 INFO    ] Launching Daemon at Sat Aug 29 13:44:01 IST 2026
[2026-08-29 13:44:01,399.399 INFO    ] ================================================
[2026-08-29 13:44:02,000.000 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:44:01
[2026-08-29 13:44:02,806.806 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:44:03,134.134 INFO    ] Initializing speech engine...
[2026-08-29 13:44:03,140.140 INFO    ] 2026-08-29 13:44:03
[2026-08-29 13:44:03,421.421 INFO    ] 2026-08-29 13:44:03
[2026-08-29 13:44:03,488.488 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:44:03,650.650 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:44:03,675.675 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:44:03,808.808 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:44:03,816.816 INFO    ] time= 29/08/2026 13:44:03
[2026-08-29 13:44:03,833.833 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:44:03,889.889 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:44:04,007.007 INFO    ] No existing commands found in stream
[2026-08-29 13:44:09,030.030 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:44:09,034.034 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-08-29 13:44:11,948.948 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:44:11,950.950 INFO    ] Checking for system updates...
[2026-08-29 13:44:11,970.970 INFO    ] 200
[2026-08-29 13:44:11,972.972 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:44:12,002.002 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:44:12,003.003 INFO    ] No update needed
[2026-08-29 13:44:12,005.005 INFO    ] Checking for camera pi updates...
[2026-08-29 13:44:12,024.024 INFO    ] 200
[2026-08-29 13:44:12,025.025 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:44:12,048.048 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:44:12,133.133 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:44:12,135.135 INFO    ] No camera update needed
[2026-08-29 13:44:12,136.136 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:44:12,137.137 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:44:12,141.141 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:44:12,144.144 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:44:14,182.182 INFO    ] ================================================
[2026-08-29 13:44:14,198.198 INFO    ] Launching Daemon at Sat Aug 29 13:44:14 IST 2026
[2026-08-29 13:44:14,210.210 INFO    ] ================================================
[2026-08-29 13:44:14,573.573 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:44:14
[2026-08-29 13:44:14,889.889 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:44:15,027.027 INFO    ] Initializing speech engine...
[2026-08-29 13:44:15,038.038 INFO    ] 2026-08-29 13:44:15
[2026-08-29 13:44:15,226.226 INFO    ] 2026-08-29 13:44:15
[2026-08-29 13:44:15,293.293 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:44:15,457.457 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:44:15,485.485 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:44:15,657.657 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:44:15,678.678 INFO    ] time= 29/08/2026 13:44:15
[2026-08-29 13:44:15,748.748 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:44:15,789.789 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:44:15,845.845 INFO    ] No existing commands found in stream
[2026-08-29 13:44:20,857.857 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:44:20,860.860 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-08-29 13:44:23,109.109 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:44:23,111.111 INFO    ] Checking for system updates...
[2026-08-29 13:44:23,131.131 INFO    ] 200
[2026-08-29 13:44:23,133.133 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:44:23,162.162 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:44:23,164.164 INFO    ] No update needed
[2026-08-29 13:44:23,165.165 INFO    ] Checking for camera pi updates...
[2026-08-29 13:44:23,184.184 INFO    ] 200
[2026-08-29 13:44:23,186.186 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:44:23,211.211 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:44:23,296.296 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:44:23,298.298 INFO    ] No camera update needed
[2026-08-29 13:44:23,299.299 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:44:23,300.300 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:44:23,303.303 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:44:23,306.306 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:44:25,345.345 INFO    ] ================================================
[2026-08-29 13:44:25,362.362 INFO    ] Launching Daemon at Sat Aug 29 13:44:25 IST 2026
[2026-08-29 13:44:25,373.373 INFO    ] ================================================
[2026-08-29 13:44:25,730.730 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:44:25
[2026-08-29 13:44:26,046.046 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:44:26,176.176 INFO    ] Initializing speech engine...
[2026-08-29 13:44:26,179.179 INFO    ] 2026-08-29 13:44:26
[2026-08-29 13:44:26,393.393 INFO    ] 2026-08-29 13:44:26
[2026-08-29 13:44:26,422.422 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:44:26,544.544 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:44:26,607.607 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:44:26,770.770 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:44:26,782.782 INFO    ] time= 29/08/2026 13:44:26
[2026-08-29 13:44:26,830.830 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:44:26,879.879 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:44:26,976.976 INFO    ] No existing commands found in stream
[2026-08-29 13:44:31,991.991 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:44:31,994.994 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-08-29 13:44:32,936.936 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:44:32,939.939 INFO    ] Checking for system updates...
[2026-08-29 13:44:32,974.974 INFO    ] 200
[2026-08-29 13:44:32,977.977 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:44:33,030.030 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:44:33,033.033 INFO    ] No update needed
[2026-08-29 13:44:33,036.036 INFO    ] Checking for camera pi updates...
[2026-08-29 13:44:33,086.086 INFO    ] 200
[2026-08-29 13:44:33,089.089 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:44:33,135.135 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:44:33,222.222 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:44:33,224.224 INFO    ] No camera update needed
[2026-08-29 13:44:33,227.227 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:44:33,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:44:33,234.234 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:44:33,239.239 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:44:35,281.281 INFO    ] ================================================
[2026-08-29 13:44:35,297.297 INFO    ] Launching Daemon at Sat Aug 29 13:44:35 IST 2026
[2026-08-29 13:44:35,307.307 INFO    ] ================================================
[2026-08-29 13:44:35,744.744 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:44:35
[2026-08-29 13:44:36,063.063 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:44:36,201.201 INFO    ] Initializing speech engine...
[2026-08-29 13:44:36,215.215 INFO    ] 2026-08-29 13:44:36
[2026-08-29 13:44:36,435.435 INFO    ] 2026-08-29 13:44:36
[2026-08-29 13:44:36,465.465 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:44:36,599.599 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:44:36,642.642 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:44:36,783.783 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:44:36,813.813 INFO    ] time= 29/08/2026 13:44:36
[2026-08-29 13:44:36,869.869 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:44:36,909.909 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:44:36,995.995 INFO    ] No existing commands found in stream
[2026-08-29 13:44:42,005.005 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:44:42,008.008 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-08-29 13:44:46,106.106 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:44:46,107.107 INFO    ] Checking for system updates...
[2026-08-29 13:44:46,128.128 INFO    ] 200
[2026-08-29 13:44:46,129.129 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:44:46,158.158 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:44:46,159.159 INFO    ] No update needed
[2026-08-29 13:44:46,161.161 INFO    ] Checking for camera pi updates...
[2026-08-29 13:44:46,180.180 INFO    ] 200
[2026-08-29 13:44:46,182.182 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:44:46,204.204 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:44:46,285.285 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:44:46,287.287 INFO    ] No camera update needed
[2026-08-29 13:44:46,288.288 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:44:46,289.289 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:44:46,292.292 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:44:46,295.295 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:44:48,333.333 INFO    ] ================================================
[2026-08-29 13:44:48,354.354 INFO    ] Launching Daemon at Sat Aug 29 13:44:48 IST 2026
[2026-08-29 13:44:48,365.365 INFO    ] ================================================
[2026-08-29 13:44:48,733.733 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:44:48
[2026-08-29 13:44:49,051.051 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:44:49,184.184 INFO    ] Initializing speech engine...
[2026-08-29 13:44:49,188.188 INFO    ] 2026-08-29 13:44:49
[2026-08-29 13:44:49,386.386 INFO    ] 2026-08-29 13:44:49
[2026-08-29 13:44:49,427.427 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:44:49,546.546 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:44:49,550.550 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:44:49,670.670 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:44:49,686.686 INFO    ] time= 29/08/2026 13:44:49
[2026-08-29 13:44:49,691.691 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:44:49,696.696 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:44:49,778.778 INFO    ] No existing commands found in stream
[2026-08-29 13:44:54,812.812 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:44:54,815.815 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-08-29 13:44:58,867.867 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:44:58,869.869 INFO    ] Checking for system updates...
[2026-08-29 13:44:58,889.889 INFO    ] 200
[2026-08-29 13:44:58,890.890 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:44:58,921.921 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:44:58,922.922 INFO    ] No update needed
[2026-08-29 13:44:58,923.923 INFO    ] Checking for camera pi updates...
[2026-08-29 13:44:58,943.943 INFO    ] 200
[2026-08-29 13:44:58,944.944 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:44:58,967.967 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:44:59,157.157 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:44:59,158.158 INFO    ] No camera update needed
[2026-08-29 13:44:59,160.160 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:44:59,161.161 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:44:59,164.164 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:44:59,167.167 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:45:01,205.205 INFO    ] ================================================
[2026-08-29 13:45:01,221.221 INFO    ] Launching Daemon at Sat Aug 29 13:45:01 IST 2026
[2026-08-29 13:45:01,232.232 INFO    ] ================================================
[2026-08-29 13:45:01,584.584 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:45:01
[2026-08-29 13:45:02,549.549 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:45:02,906.906 INFO    ] Initializing speech engine...
[2026-08-29 13:45:02,916.916 INFO    ] 2026-08-29 13:45:02
[2026-08-29 13:45:03,219.219 INFO    ] 2026-08-29 13:45:03
[2026-08-29 13:45:03,278.278 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:45:03,500.500 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:45:03,512.512 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:45:03,655.655 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:45:03,673.673 INFO    ] time= 29/08/2026 13:45:03
[2026-08-29 13:45:03,717.717 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:45:03,764.764 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:45:03,858.858 INFO    ] No existing commands found in stream
[2026-08-29 13:45:08,871.871 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:45:08,874.874 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-08-29 13:45:12,324.324 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:45:12,325.325 INFO    ] Checking for system updates...
[2026-08-29 13:45:12,347.347 INFO    ] 200
[2026-08-29 13:45:12,348.348 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:45:12,378.378 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:45:12,379.379 INFO    ] No update needed
[2026-08-29 13:45:12,380.380 INFO    ] Checking for camera pi updates...
[2026-08-29 13:45:12,402.402 INFO    ] 200
[2026-08-29 13:45:12,404.404 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:45:12,428.428 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:45:12,538.538 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:45:12,540.540 INFO    ] No camera update needed
[2026-08-29 13:45:12,543.543 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:45:12,545.545 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:45:12,550.550 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:45:12,555.555 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:45:14,595.595 INFO    ] ================================================
[2026-08-29 13:45:14,611.611 INFO    ] Launching Daemon at Sat Aug 29 13:45:14 IST 2026
[2026-08-29 13:45:14,622.622 INFO    ] ================================================
[2026-08-29 13:45:15,213.213 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:45:15
[2026-08-29 13:45:15,749.749 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:45:16,015.015 INFO    ] Initializing speech engine...
[2026-08-29 13:45:16,029.029 INFO    ] 2026-08-29 13:45:16
[2026-08-29 13:45:16,338.338 INFO    ] 2026-08-29 13:45:16
[2026-08-29 13:45:16,372.372 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:45:16,540.540 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:45:16,550.550 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:45:16,705.705 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:45:16,715.715 INFO    ] time= 29/08/2026 13:45:16
[2026-08-29 13:45:16,720.720 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:45:16,725.725 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:45:16,797.797 INFO    ] No existing commands found in stream
[2026-08-29 13:45:21,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:45:21,816.816 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-08-29 13:45:23,083.083 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:45:23,084.084 INFO    ] Checking for system updates...
[2026-08-29 13:45:23,104.104 INFO    ] 200
[2026-08-29 13:45:23,105.105 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:45:23,138.138 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:45:23,139.139 INFO    ] No update needed
[2026-08-29 13:45:23,140.140 INFO    ] Checking for camera pi updates...
[2026-08-29 13:45:23,159.159 INFO    ] 200
[2026-08-29 13:45:23,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:45:23,184.184 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:45:23,260.260 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:45:23,262.262 INFO    ] No camera update needed
[2026-08-29 13:45:23,263.263 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:45:23,264.264 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:45:23,267.267 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:45:23,270.270 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:45:25,308.308 INFO    ] ================================================
[2026-08-29 13:45:25,324.324 INFO    ] Launching Daemon at Sat Aug 29 13:45:25 IST 2026
[2026-08-29 13:45:25,336.336 INFO    ] ================================================
[2026-08-29 13:45:25,903.903 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:45:25
[2026-08-29 13:45:26,405.405 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:45:26,539.539 INFO    ] Initializing speech engine...
[2026-08-29 13:45:26,544.544 INFO    ] 2026-08-29 13:45:26
[2026-08-29 13:45:26,772.772 INFO    ] 2026-08-29 13:45:26
[2026-08-29 13:45:26,802.802 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:45:26,936.936 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:45:27,003.003 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:45:27,147.147 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:45:27,210.210 INFO    ] time= 29/08/2026 13:45:27
[2026-08-29 13:45:27,228.228 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:45:27,253.253 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:45:27,328.328 INFO    ] No existing commands found in stream
[2026-08-29 13:45:32,338.338 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:45:32,340.340 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-08-29 13:45:34,369.369 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:45:34,371.371 INFO    ] Checking for system updates...
[2026-08-29 13:45:34,410.410 INFO    ] 200
[2026-08-29 13:45:34,413.413 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:45:34,466.466 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:45:34,468.468 INFO    ] No update needed
[2026-08-29 13:45:34,470.470 INFO    ] Checking for camera pi updates...
[2026-08-29 13:45:34,504.504 INFO    ] 200
[2026-08-29 13:45:34,506.506 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:45:34,550.550 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:45:34,660.660 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:45:34,662.662 INFO    ] No camera update needed
[2026-08-29 13:45:34,665.665 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:45:34,667.667 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:45:34,672.672 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:45:34,677.677 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:45:36,717.717 INFO    ] ================================================
[2026-08-29 13:45:36,733.733 INFO    ] Launching Daemon at Sat Aug 29 13:45:36 IST 2026
[2026-08-29 13:45:36,745.745 INFO    ] ================================================
[2026-08-29 13:45:37,094.094 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:45:37
[2026-08-29 13:45:37,406.406 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:45:37,538.538 INFO    ] Initializing speech engine...
[2026-08-29 13:45:37,541.541 INFO    ] 2026-08-29 13:45:37
[2026-08-29 13:45:37,739.739 INFO    ] 2026-08-29 13:45:37
[2026-08-29 13:45:37,779.779 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:45:37,934.934 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:45:37,973.973 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:45:38,109.109 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:45:38,148.148 INFO    ] time= 29/08/2026 13:45:38
[2026-08-29 13:45:38,200.200 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:45:38,232.232 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:45:38,329.329 INFO    ] No existing commands found in stream
[2026-08-29 13:45:43,339.339 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:45:43,342.342 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-08-29 13:45:47,032.032 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:45:47,033.033 INFO    ] Checking for system updates...
[2026-08-29 13:45:47,056.056 INFO    ] 200
[2026-08-29 13:45:47,057.057 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:45:47,089.089 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:45:47,090.090 INFO    ] No update needed
[2026-08-29 13:45:47,091.091 INFO    ] Checking for camera pi updates...
[2026-08-29 13:45:47,112.112 INFO    ] 200
[2026-08-29 13:45:47,113.113 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:45:47,136.136 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:45:47,257.257 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:45:47,259.259 INFO    ] No camera update needed
[2026-08-29 13:45:47,260.260 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:45:47,261.261 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:45:47,264.264 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:45:47,267.267 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:45:49,305.305 INFO    ] ================================================
[2026-08-29 13:45:49,321.321 INFO    ] Launching Daemon at Sat Aug 29 13:45:49 IST 2026
[2026-08-29 13:45:49,333.333 INFO    ] ================================================
[2026-08-29 13:45:49,865.865 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:45:49
[2026-08-29 13:45:50,535.535 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:45:50,835.835 INFO    ] Initializing speech engine...
[2026-08-29 13:45:50,848.848 INFO    ] 2026-08-29 13:45:50
[2026-08-29 13:45:51,163.163 INFO    ] 2026-08-29 13:45:51
[2026-08-29 13:45:51,246.246 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:45:51,395.395 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:45:51,406.406 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:45:51,540.540 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:45:51,596.596 INFO    ] time= 29/08/2026 13:45:51
[2026-08-29 13:45:51,661.661 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:45:51,675.675 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:45:51,806.806 INFO    ] No existing commands found in stream
[2026-08-29 13:45:56,831.831 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:45:56,834.834 INFO    ] Waiting 3.84 seconds before fallback handling...
[2026-08-29 13:46:01,083.083 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:46:01,085.085 INFO    ] Checking for system updates...
[2026-08-29 13:46:01,121.121 INFO    ] 200
[2026-08-29 13:46:01,124.124 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:46:01,179.179 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:46:01,191.191 INFO    ] No update needed
[2026-08-29 13:46:01,196.196 INFO    ] Checking for camera pi updates...
[2026-08-29 13:46:01,273.273 INFO    ] 200
[2026-08-29 13:46:01,277.277 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:46:01,364.364 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:46:01,548.548 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:46:01,550.550 INFO    ] No camera update needed
[2026-08-29 13:46:01,554.554 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:46:01,556.556 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:46:01,563.563 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:46:01,569.569 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:46:03,604.604 INFO    ] ================================================
[2026-08-29 13:46:03,612.612 INFO    ] Launching Daemon at Sat Aug 29 13:46:03 IST 2026
[2026-08-29 13:46:03,621.621 INFO    ] ================================================
[2026-08-29 13:46:04,190.190 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:46:04
[2026-08-29 13:46:04,774.774 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:46:05,022.022 INFO    ] Initializing speech engine...
[2026-08-29 13:46:05,035.035 INFO    ] 2026-08-29 13:46:05
[2026-08-29 13:46:05,296.296 INFO    ] 2026-08-29 13:46:05
[2026-08-29 13:46:05,331.331 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:46:05,513.513 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:46:05,531.531 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:46:05,641.641 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:46:05,661.661 INFO    ] time= 29/08/2026 13:46:05
[2026-08-29 13:46:05,669.669 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:46:05,675.675 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:46:05,748.748 INFO    ] No existing commands found in stream
[2026-08-29 13:46:10,783.783 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:46:10,786.786 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-08-29 13:46:13,596.596 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:46:13,598.598 INFO    ] Checking for system updates...
[2026-08-29 13:46:13,619.619 INFO    ] 200
[2026-08-29 13:46:13,621.621 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:46:13,651.651 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:46:13,652.652 INFO    ] No update needed
[2026-08-29 13:46:13,653.653 INFO    ] Checking for camera pi updates...
[2026-08-29 13:46:13,672.672 INFO    ] 200
[2026-08-29 13:46:13,674.674 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:46:13,698.698 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:46:13,782.782 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:46:13,784.784 INFO    ] No camera update needed
[2026-08-29 13:46:13,785.785 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:46:13,786.786 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:46:13,789.789 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:46:13,792.792 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:46:15,834.834 INFO    ] ================================================
[2026-08-29 13:46:15,850.850 INFO    ] Launching Daemon at Sat Aug 29 13:46:15 IST 2026
[2026-08-29 13:46:15,861.861 INFO    ] ================================================
[2026-08-29 13:46:16,210.210 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:46:16
[2026-08-29 13:46:16,522.522 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:46:16,654.654 INFO    ] Initializing speech engine...
[2026-08-29 13:46:16,657.657 INFO    ] 2026-08-29 13:46:16
[2026-08-29 13:46:16,889.889 INFO    ] 2026-08-29 13:46:16
[2026-08-29 13:46:16,934.934 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:46:17,082.082 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:46:17,091.091 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:46:17,227.227 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:46:17,254.254 INFO    ] time= 29/08/2026 13:46:17
[2026-08-29 13:46:17,303.303 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:46:17,357.357 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:46:17,420.420 INFO    ] No existing commands found in stream
[2026-08-29 13:46:22,432.432 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:46:22,435.435 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 13:46:22,949.949 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:46:22,950.950 INFO    ] Checking for system updates...
[2026-08-29 13:46:22,970.970 INFO    ] 200
[2026-08-29 13:46:22,972.972 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:46:23,004.004 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:46:23,005.005 INFO    ] No update needed
[2026-08-29 13:46:23,006.006 INFO    ] Checking for camera pi updates...
[2026-08-29 13:46:23,025.025 INFO    ] 200
[2026-08-29 13:46:23,027.027 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:46:23,049.049 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:46:23,153.153 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:46:23,154.154 INFO    ] No camera update needed
[2026-08-29 13:46:23,155.155 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:46:23,156.156 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:46:23,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:46:23,162.162 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:46:25,201.201 INFO    ] ================================================
[2026-08-29 13:46:25,217.217 INFO    ] Launching Daemon at Sat Aug 29 13:46:25 IST 2026
[2026-08-29 13:46:25,228.228 INFO    ] ================================================
[2026-08-29 13:46:25,568.568 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:46:25
[2026-08-29 13:46:25,886.886 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:46:26,031.031 INFO    ] Initializing speech engine...
[2026-08-29 13:46:26,036.036 INFO    ] 2026-08-29 13:46:26
[2026-08-29 13:46:26,241.241 INFO    ] 2026-08-29 13:46:26
[2026-08-29 13:46:26,270.270 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:46:26,392.392 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:46:26,455.455 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:46:26,587.587 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:46:26,648.648 INFO    ] time= 29/08/2026 13:46:26
[2026-08-29 13:46:26,683.683 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:46:26,689.689 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:46:26,759.759 INFO    ] No existing commands found in stream
[2026-08-29 13:46:31,768.768 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:46:31,770.770 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-08-29 13:46:34,318.318 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:46:34,320.320 INFO    ] Checking for system updates...
[2026-08-29 13:46:34,356.356 INFO    ] 200
[2026-08-29 13:46:34,359.359 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:46:34,412.412 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:46:34,414.414 INFO    ] No update needed
[2026-08-29 13:46:34,417.417 INFO    ] Checking for camera pi updates...
[2026-08-29 13:46:34,450.450 INFO    ] 200
[2026-08-29 13:46:34,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:46:34,493.493 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:46:34,595.595 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:46:34,598.598 INFO    ] No camera update needed
[2026-08-29 13:46:34,600.600 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:46:34,602.602 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:46:34,608.608 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:46:34,615.615 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:46:36,654.654 INFO    ] ================================================
[2026-08-29 13:46:36,670.670 INFO    ] Launching Daemon at Sat Aug 29 13:46:36 IST 2026
[2026-08-29 13:46:36,681.681 INFO    ] ================================================
[2026-08-29 13:46:37,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:46:37
[2026-08-29 13:46:37,356.356 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:46:37,487.487 INFO    ] Initializing speech engine...
[2026-08-29 13:46:37,495.495 INFO    ] 2026-08-29 13:46:37
[2026-08-29 13:46:37,696.696 INFO    ] 2026-08-29 13:46:37
[2026-08-29 13:46:37,739.739 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:46:37,883.883 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:46:37,895.895 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:46:38,040.040 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:46:38,049.049 INFO    ] time= 29/08/2026 13:46:38
[2026-08-29 13:46:38,055.055 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:46:38,067.067 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:46:38,203.203 INFO    ] No existing commands found in stream
[2026-08-29 13:46:43,233.233 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:46:43,236.236 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-08-29 13:46:46,905.905 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:46:46,906.906 INFO    ] Checking for system updates...
[2026-08-29 13:46:46,928.928 INFO    ] 200
[2026-08-29 13:46:46,930.930 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:46:46,962.962 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:46:46,964.964 INFO    ] No update needed
[2026-08-29 13:46:46,965.965 INFO    ] Checking for camera pi updates...
[2026-08-29 13:46:46,985.985 INFO    ] 200
[2026-08-29 13:46:46,986.986 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:46:47,011.011 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:46:47,087.087 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:46:47,088.088 INFO    ] No camera update needed
[2026-08-29 13:46:47,090.090 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:46:47,091.091 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:46:47,095.095 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:46:47,097.097 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:46:49,137.137 INFO    ] ================================================
[2026-08-29 13:46:49,153.153 INFO    ] Launching Daemon at Sat Aug 29 13:46:49 IST 2026
[2026-08-29 13:46:49,165.165 INFO    ] ================================================
[2026-08-29 13:46:49,533.533 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:46:49
[2026-08-29 13:46:49,847.847 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:46:50,066.066 INFO    ] Initializing speech engine...
[2026-08-29 13:46:50,076.076 INFO    ] 2026-08-29 13:46:50
[2026-08-29 13:46:50,324.324 INFO    ] 2026-08-29 13:46:50
[2026-08-29 13:46:50,360.360 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:46:50,532.532 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:46:50,545.545 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:46:50,684.684 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:46:50,693.693 INFO    ] time= 29/08/2026 13:46:50
[2026-08-29 13:46:50,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:46:50,747.747 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:46:50,868.868 INFO    ] No existing commands found in stream
[2026-08-29 13:46:55,894.894 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:46:55,897.897 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-08-29 13:46:57,528.528 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:46:57,530.530 INFO    ] Checking for system updates...
[2026-08-29 13:46:57,551.551 INFO    ] 200
[2026-08-29 13:46:57,552.552 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:46:57,585.585 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:46:57,586.586 INFO    ] No update needed
[2026-08-29 13:46:57,588.588 INFO    ] Checking for camera pi updates...
[2026-08-29 13:46:57,609.609 INFO    ] 200
[2026-08-29 13:46:57,611.611 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:46:57,634.634 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:46:57,734.734 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:46:57,735.735 INFO    ] No camera update needed
[2026-08-29 13:46:57,736.736 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:46:57,738.738 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:46:57,741.741 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:46:57,744.744 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:46:59,784.784 INFO    ] ================================================
[2026-08-29 13:46:59,800.800 INFO    ] Launching Daemon at Sat Aug 29 13:46:59 IST 2026
[2026-08-29 13:46:59,811.811 INFO    ] ================================================
[2026-08-29 13:47:00,179.179 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:47:00
[2026-08-29 13:47:00,494.494 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:47:00,639.639 INFO    ] Initializing speech engine...
[2026-08-29 13:47:00,642.642 INFO    ] 2026-08-29 13:47:00
[2026-08-29 13:47:00,848.848 INFO    ] 2026-08-29 13:47:00
[2026-08-29 13:47:00,908.908 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:47:01,131.131 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:47:01,152.152 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:47:01,325.325 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:47:01,332.332 INFO    ] time= 29/08/2026 13:47:01
[2026-08-29 13:47:01,353.353 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:47:01,357.357 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:47:01,411.411 INFO    ] No existing commands found in stream
[2026-08-29 13:47:06,423.423 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:47:06,426.426 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-08-29 13:47:09,770.770 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:47:09,772.772 INFO    ] Checking for system updates...
[2026-08-29 13:47:09,793.793 INFO    ] 200
[2026-08-29 13:47:09,795.795 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:47:09,826.826 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:47:09,827.827 INFO    ] No update needed
[2026-08-29 13:47:09,828.828 INFO    ] Checking for camera pi updates...
[2026-08-29 13:47:09,849.849 INFO    ] 200
[2026-08-29 13:47:09,850.850 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:47:09,875.875 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:47:09,976.976 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:47:09,979.979 INFO    ] No camera update needed
[2026-08-29 13:47:09,981.981 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:47:09,983.983 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:47:09,988.988 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:47:09,994.994 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:47:12,034.034 INFO    ] ================================================
[2026-08-29 13:47:12,050.050 INFO    ] Launching Daemon at Sat Aug 29 13:47:12 IST 2026
[2026-08-29 13:47:12,062.062 INFO    ] ================================================
[2026-08-29 13:47:12,406.406 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:47:12
[2026-08-29 13:47:12,736.736 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:47:12,999.999 INFO    ] Initializing speech engine...
[2026-08-29 13:47:13,013.013 INFO    ] 2026-08-29 13:47:13
[2026-08-29 13:47:13,296.296 INFO    ] 2026-08-29 13:47:13
[2026-08-29 13:47:13,320.320 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:47:13,476.476 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:47:13,482.482 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:47:13,637.637 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:47:13,646.646 INFO    ] time= 29/08/2026 13:47:13
[2026-08-29 13:47:13,650.650 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:47:13,656.656 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:47:13,725.725 INFO    ] No existing commands found in stream
[2026-08-29 13:47:18,736.736 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:47:18,739.739 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-08-29 13:47:20,234.234 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:47:20,235.235 INFO    ] Checking for system updates...
[2026-08-29 13:47:20,256.256 INFO    ] 200
[2026-08-29 13:47:20,257.257 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:47:20,287.287 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:47:20,289.289 INFO    ] No update needed
[2026-08-29 13:47:20,290.290 INFO    ] Checking for camera pi updates...
[2026-08-29 13:47:20,309.309 INFO    ] 200
[2026-08-29 13:47:20,310.310 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:47:20,334.334 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:47:20,417.417 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:47:20,418.418 INFO    ] No camera update needed
[2026-08-29 13:47:20,419.419 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:47:20,421.421 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:47:20,424.424 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:47:20,427.427 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:47:22,466.466 INFO    ] ================================================
[2026-08-29 13:47:22,482.482 INFO    ] Launching Daemon at Sat Aug 29 13:47:22 IST 2026
[2026-08-29 13:47:22,493.493 INFO    ] ================================================
[2026-08-29 13:47:22,862.862 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:47:22
[2026-08-29 13:47:23,180.180 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:47:23,361.361 INFO    ] Initializing speech engine...
[2026-08-29 13:47:23,369.369 INFO    ] 2026-08-29 13:47:23
[2026-08-29 13:47:23,621.621 INFO    ] 2026-08-29 13:47:23
[2026-08-29 13:47:23,657.657 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:47:23,850.850 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:47:23,913.913 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:47:24,051.051 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:47:24,058.058 INFO    ] time= 29/08/2026 13:47:24
[2026-08-29 13:47:24,123.123 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:47:24,178.178 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:47:24,243.243 INFO    ] No existing commands found in stream
[2026-08-29 13:47:29,254.254 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:47:29,257.257 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-08-29 13:47:33,274.274 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:47:33,276.276 INFO    ] Checking for system updates...
[2026-08-29 13:47:33,312.312 INFO    ] 200
[2026-08-29 13:47:33,314.314 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:47:33,366.366 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:47:33,369.369 INFO    ] No update needed
[2026-08-29 13:47:33,371.371 INFO    ] Checking for camera pi updates...
[2026-08-29 13:47:33,410.410 INFO    ] 200
[2026-08-29 13:47:33,413.413 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:47:33,453.453 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:47:33,537.537 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:47:33,540.540 INFO    ] No camera update needed
[2026-08-29 13:47:33,542.542 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:47:33,545.545 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:47:33,550.550 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:47:33,556.556 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:47:35,588.588 INFO    ] ================================================
[2026-08-29 13:47:35,597.597 INFO    ] Launching Daemon at Sat Aug 29 13:47:35 IST 2026
[2026-08-29 13:47:35,603.603 INFO    ] ================================================
[2026-08-29 13:47:35,975.975 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:47:35
[2026-08-29 13:47:36,308.308 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:47:36,460.460 INFO    ] Initializing speech engine...
[2026-08-29 13:47:36,464.464 INFO    ] 2026-08-29 13:47:36
[2026-08-29 13:47:36,670.670 INFO    ] 2026-08-29 13:47:36
[2026-08-29 13:47:36,698.698 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:47:36,867.867 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:47:36,886.886 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:47:37,019.019 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:47:37,087.087 INFO    ] time= 29/08/2026 13:47:37
[2026-08-29 13:47:37,114.114 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:47:37,121.121 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:47:37,188.188 INFO    ] No existing commands found in stream
[2026-08-29 13:47:42,198.198 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:47:42,201.201 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-08-29 13:47:43,127.127 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:47:43,128.128 INFO    ] Checking for system updates...
[2026-08-29 13:47:43,149.149 INFO    ] 200
[2026-08-29 13:47:43,150.150 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:47:43,181.181 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:47:43,183.183 INFO    ] No update needed
[2026-08-29 13:47:43,184.184 INFO    ] Checking for camera pi updates...
[2026-08-29 13:47:43,204.204 INFO    ] 200
[2026-08-29 13:47:43,205.205 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:47:43,228.228 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:47:43,324.324 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:47:43,325.325 INFO    ] No camera update needed
[2026-08-29 13:47:43,327.327 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:47:43,328.328 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:47:43,331.331 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:47:43,334.334 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:47:45,374.374 INFO    ] ================================================
[2026-08-29 13:47:45,390.390 INFO    ] Launching Daemon at Sat Aug 29 13:47:45 IST 2026
[2026-08-29 13:47:45,400.400 INFO    ] ================================================
[2026-08-29 13:47:45,739.739 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:47:45
[2026-08-29 13:47:46,051.051 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:47:46,181.181 INFO    ] Initializing speech engine...
[2026-08-29 13:47:46,185.185 INFO    ] 2026-08-29 13:47:46
[2026-08-29 13:47:46,373.373 INFO    ] 2026-08-29 13:47:46
[2026-08-29 13:47:46,407.407 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:47:46,581.581 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:47:46,593.593 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:47:46,735.735 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:47:46,743.743 INFO    ] time= 29/08/2026 13:47:46
[2026-08-29 13:47:46,749.749 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:47:46,774.774 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:47:46,905.905 INFO    ] No existing commands found in stream
[2026-08-29 13:47:51,930.930 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:47:51,933.933 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-08-29 13:47:52,623.623 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:47:52,625.625 INFO    ] Checking for system updates...
[2026-08-29 13:47:52,647.647 INFO    ] 200
[2026-08-29 13:47:52,648.648 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:47:52,678.678 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:47:52,679.679 INFO    ] No update needed
[2026-08-29 13:47:52,681.681 INFO    ] Checking for camera pi updates...
[2026-08-29 13:47:52,701.701 INFO    ] 200
[2026-08-29 13:47:52,702.702 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:47:52,726.726 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:47:52,835.835 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:47:52,837.837 INFO    ] No camera update needed
[2026-08-29 13:47:52,838.838 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:47:52,839.839 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:47:52,842.842 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:47:52,845.845 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:47:54,884.884 INFO    ] ================================================
[2026-08-29 13:47:54,900.900 INFO    ] Launching Daemon at Sat Aug 29 13:47:54 IST 2026
[2026-08-29 13:47:54,912.912 INFO    ] ================================================
[2026-08-29 13:47:55,412.412 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:47:55
[2026-08-29 13:47:56,003.003 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:47:56,259.259 INFO    ] Initializing speech engine...
[2026-08-29 13:47:56,268.268 INFO    ] 2026-08-29 13:47:56
[2026-08-29 13:47:56,560.560 INFO    ] 2026-08-29 13:47:56
[2026-08-29 13:47:56,598.598 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:47:56,790.790 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:47:56,797.797 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:47:56,929.929 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:47:56,935.935 INFO    ] time= 29/08/2026 13:47:56
[2026-08-29 13:47:56,938.938 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:47:56,974.974 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:47:57,057.057 INFO    ] No existing commands found in stream
[2026-08-29 13:48:02,065.065 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:48:02,069.069 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-08-29 13:48:05,601.601 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:48:05,604.604 INFO    ] Checking for system updates...
[2026-08-29 13:48:05,639.639 INFO    ] 200
[2026-08-29 13:48:05,642.642 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:48:05,695.695 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:48:05,697.697 INFO    ] No update needed
[2026-08-29 13:48:05,700.700 INFO    ] Checking for camera pi updates...
[2026-08-29 13:48:05,733.733 INFO    ] 200
[2026-08-29 13:48:05,735.735 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:48:05,779.779 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:48:05,889.889 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:48:05,891.891 INFO    ] No camera update needed
[2026-08-29 13:48:05,894.894 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:48:05,896.896 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:48:05,901.901 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:48:05,906.906 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:48:07,948.948 INFO    ] ================================================
[2026-08-29 13:48:07,963.963 INFO    ] Launching Daemon at Sat Aug 29 13:48:07 IST 2026
[2026-08-29 13:48:07,975.975 INFO    ] ================================================
[2026-08-29 13:48:08,328.328 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:48:08
[2026-08-29 13:48:08,666.666 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:48:08,820.820 INFO    ] Initializing speech engine...
[2026-08-29 13:48:08,824.824 INFO    ] 2026-08-29 13:48:08
[2026-08-29 13:48:09,033.033 INFO    ] 2026-08-29 13:48:09
[2026-08-29 13:48:09,062.062 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:48:09,186.186 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:48:09,249.249 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:48:09,416.416 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:48:09,479.479 INFO    ] time= 29/08/2026 13:48:09
[2026-08-29 13:48:09,508.508 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:48:09,568.568 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:48:09,677.677 INFO    ] No existing commands found in stream
[2026-08-29 13:48:14,692.692 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:48:14,693.693 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-08-29 13:48:16,511.511 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:48:16,513.513 INFO    ] Checking for system updates...
[2026-08-29 13:48:16,534.534 INFO    ] 200
[2026-08-29 13:48:16,535.535 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:48:16,565.565 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:48:16,567.567 INFO    ] No update needed
[2026-08-29 13:48:16,568.568 INFO    ] Checking for camera pi updates...
[2026-08-29 13:48:16,588.588 INFO    ] 200
[2026-08-29 13:48:16,589.589 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:48:16,613.613 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:48:16,726.726 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:48:16,727.727 INFO    ] No camera update needed
[2026-08-29 13:48:16,729.729 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:48:16,730.730 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:48:16,733.733 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:48:16,736.736 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:48:18,777.777 INFO    ] ================================================
[2026-08-29 13:48:18,793.793 INFO    ] Launching Daemon at Sat Aug 29 13:48:18 IST 2026
[2026-08-29 13:48:18,804.804 INFO    ] ================================================
[2026-08-29 13:48:19,415.415 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:48:19
[2026-08-29 13:48:19,738.738 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:48:19,881.881 INFO    ] Initializing speech engine...
[2026-08-29 13:48:19,886.886 INFO    ] 2026-08-29 13:48:19
[2026-08-29 13:48:20,104.104 INFO    ] 2026-08-29 13:48:20
[2026-08-29 13:48:20,159.159 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:48:20,320.320 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:48:20,329.329 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:48:20,520.520 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:48:20,529.529 INFO    ] time= 29/08/2026 13:48:20
[2026-08-29 13:48:20,550.550 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:48:20,577.577 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:48:20,670.670 INFO    ] No existing commands found in stream
[2026-08-29 13:48:25,691.691 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:48:25,694.694 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-08-29 13:48:27,377.377 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:48:27,379.379 INFO    ] Checking for system updates...
[2026-08-29 13:48:27,401.401 INFO    ] 200
[2026-08-29 13:48:27,402.402 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:48:27,432.432 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:48:27,433.433 INFO    ] No update needed
[2026-08-29 13:48:27,434.434 INFO    ] Checking for camera pi updates...
[2026-08-29 13:48:27,454.454 INFO    ] 200
[2026-08-29 13:48:27,455.455 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:48:27,477.477 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:48:27,569.569 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:48:27,570.570 INFO    ] No camera update needed
[2026-08-29 13:48:27,572.572 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:48:27,573.573 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:48:27,576.576 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:48:27,578.578 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:48:29,619.619 INFO    ] ================================================
[2026-08-29 13:48:29,636.636 INFO    ] Launching Daemon at Sat Aug 29 13:48:29 IST 2026
[2026-08-29 13:48:29,647.647 INFO    ] ================================================
[2026-08-29 13:48:30,016.016 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:48:30
[2026-08-29 13:48:30,333.333 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:48:30,477.477 INFO    ] Initializing speech engine...
[2026-08-29 13:48:30,483.483 INFO    ] 2026-08-29 13:48:30
[2026-08-29 13:48:30,663.663 INFO    ] 2026-08-29 13:48:30
[2026-08-29 13:48:30,698.698 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:48:30,871.871 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:48:30,882.882 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:48:31,025.025 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:48:31,032.032 INFO    ] time= 29/08/2026 13:48:31
[2026-08-29 13:48:31,039.039 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:48:31,081.081 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:48:31,207.207 INFO    ] No existing commands found in stream
[2026-08-29 13:48:36,237.237 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:48:36,240.240 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-08-29 13:48:39,608.608 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:48:39,610.610 INFO    ] Checking for system updates...
[2026-08-29 13:48:39,652.652 INFO    ] 200
[2026-08-29 13:48:39,655.655 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:48:39,707.707 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:48:39,709.709 INFO    ] No update needed
[2026-08-29 13:48:39,712.712 INFO    ] Checking for camera pi updates...
[2026-08-29 13:48:39,747.747 INFO    ] 200
[2026-08-29 13:48:39,748.748 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:48:39,771.771 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:48:39,852.852 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:48:39,853.853 INFO    ] No camera update needed
[2026-08-29 13:48:39,855.855 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:48:39,856.856 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:48:39,859.859 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:48:39,861.861 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:48:41,899.899 INFO    ] ================================================
[2026-08-29 13:48:41,915.915 INFO    ] Launching Daemon at Sat Aug 29 13:48:41 IST 2026
[2026-08-29 13:48:41,927.927 INFO    ] ================================================
[2026-08-29 13:48:42,290.290 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:48:42
[2026-08-29 13:48:42,611.611 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:48:42,750.750 INFO    ] Initializing speech engine...
[2026-08-29 13:48:42,760.760 INFO    ] 2026-08-29 13:48:42
[2026-08-29 13:48:42,966.966 INFO    ] 2026-08-29 13:48:42
[2026-08-29 13:48:42,994.994 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:48:43,116.116 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:48:43,179.179 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:48:43,309.309 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:48:43,360.360 INFO    ] time= 29/08/2026 13:48:43
[2026-08-29 13:48:43,389.389 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:48:43,410.410 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:48:43,481.481 INFO    ] No existing commands found in stream
[2026-08-29 13:48:48,490.490 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:48:48,493.493 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-08-29 13:48:50,190.190 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:48:50,191.191 INFO    ] Checking for system updates...
[2026-08-29 13:48:50,212.212 INFO    ] 200
[2026-08-29 13:48:50,214.214 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:48:50,244.244 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:48:50,245.245 INFO    ] No update needed
[2026-08-29 13:48:50,246.246 INFO    ] Checking for camera pi updates...
[2026-08-29 13:48:50,266.266 INFO    ] 200
[2026-08-29 13:48:50,267.267 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:48:50,295.295 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:48:50,390.390 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:48:50,392.392 INFO    ] No camera update needed
[2026-08-29 13:48:50,393.393 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:48:50,395.395 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:48:50,397.397 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:48:50,400.400 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:48:52,439.439 INFO    ] ================================================
[2026-08-29 13:48:52,454.454 INFO    ] Launching Daemon at Sat Aug 29 13:48:52 IST 2026
[2026-08-29 13:48:52,465.465 INFO    ] ================================================
[2026-08-29 13:48:52,825.825 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:48:52
[2026-08-29 13:48:53,284.284 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:48:53,595.595 INFO    ] Initializing speech engine...
[2026-08-29 13:48:53,607.607 INFO    ] 2026-08-29 13:48:53
[2026-08-29 13:48:53,922.922 INFO    ] 2026-08-29 13:48:53
[2026-08-29 13:48:54,005.005 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:48:54,165.165 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:48:54,171.171 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:48:54,308.308 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:48:54,368.368 INFO    ] time= 29/08/2026 13:48:54
[2026-08-29 13:48:54,428.428 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:48:54,447.447 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:48:54,581.581 INFO    ] No existing commands found in stream
[2026-08-29 13:48:59,609.609 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:48:59,612.612 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 13:49:01,166.166 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:49:01,168.168 INFO    ] Checking for system updates...
[2026-08-29 13:49:01,188.188 INFO    ] 200
[2026-08-29 13:49:01,189.189 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:49:01,222.222 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:49:01,223.223 INFO    ] No update needed
[2026-08-29 13:49:01,224.224 INFO    ] Checking for camera pi updates...
[2026-08-29 13:49:01,243.243 INFO    ] 200
[2026-08-29 13:49:01,245.245 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:49:01,268.268 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:49:01,356.356 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:49:01,357.357 INFO    ] No camera update needed
[2026-08-29 13:49:01,358.358 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:49:01,359.359 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:49:01,362.362 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:49:01,367.367 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:49:03,413.413 INFO    ] ================================================
[2026-08-29 13:49:03,430.430 INFO    ] Launching Daemon at Sat Aug 29 13:49:03 IST 2026
[2026-08-29 13:49:03,442.442 INFO    ] ================================================
[2026-08-29 13:49:04,010.010 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:49:04
[2026-08-29 13:49:04,596.596 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:49:04,875.875 INFO    ] Initializing speech engine...
[2026-08-29 13:49:04,903.903 INFO    ] 2026-08-29 13:49:04
[2026-08-29 13:49:05,169.169 INFO    ] 2026-08-29 13:49:05
[2026-08-29 13:49:05,206.206 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:49:05,366.366 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:49:05,370.370 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:49:05,527.527 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:49:05,532.532 INFO    ] time= 29/08/2026 13:49:05
[2026-08-29 13:49:05,563.563 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:49:05,593.593 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:49:05,713.713 INFO    ] No existing commands found in stream
[2026-08-29 13:49:10,735.735 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:49:10,738.738 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 13:49:12,339.339 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:49:12,342.342 INFO    ] Checking for system updates...
[2026-08-29 13:49:12,378.378 INFO    ] 200
[2026-08-29 13:49:12,380.380 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:49:12,438.438 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:49:12,440.440 INFO    ] No update needed
[2026-08-29 13:49:12,443.443 INFO    ] Checking for camera pi updates...
[2026-08-29 13:49:12,476.476 INFO    ] 200
[2026-08-29 13:49:12,479.479 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:49:12,523.523 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:49:12,725.725 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:49:12,727.727 INFO    ] No camera update needed
[2026-08-29 13:49:12,729.729 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:49:12,732.732 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:49:12,737.737 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:49:12,742.742 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:49:14,782.782 INFO    ] ================================================
[2026-08-29 13:49:14,797.797 INFO    ] Launching Daemon at Sat Aug 29 13:49:14 IST 2026
[2026-08-29 13:49:14,808.808 INFO    ] ================================================
[2026-08-29 13:49:15,315.315 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:49:15
[2026-08-29 13:49:15,632.632 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:49:15,775.775 INFO    ] Initializing speech engine...
[2026-08-29 13:49:15,780.780 INFO    ] 2026-08-29 13:49:15
[2026-08-29 13:49:16,014.014 INFO    ] 2026-08-29 13:49:15
[2026-08-29 13:49:16,079.079 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:49:16,242.242 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:49:16,250.250 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:49:16,433.433 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:49:16,453.453 INFO    ] time= 29/08/2026 13:49:16
[2026-08-29 13:49:16,468.468 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:49:16,477.477 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:49:16,586.586 INFO    ] No existing commands found in stream
[2026-08-29 13:49:21,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:49:21,616.616 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-08-29 13:49:24,595.595 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:49:24,597.597 INFO    ] Checking for system updates...
[2026-08-29 13:49:24,617.617 INFO    ] 200
[2026-08-29 13:49:24,618.618 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:49:24,649.649 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:49:24,650.650 INFO    ] No update needed
[2026-08-29 13:49:24,651.651 INFO    ] Checking for camera pi updates...
[2026-08-29 13:49:24,672.672 INFO    ] 200
[2026-08-29 13:49:24,674.674 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:49:24,698.698 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:49:24,796.796 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:49:24,797.797 INFO    ] No camera update needed
[2026-08-29 13:49:24,799.799 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:49:24,800.800 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:49:24,803.803 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:49:24,806.806 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:49:26,846.846 INFO    ] ================================================
[2026-08-29 13:49:26,861.861 INFO    ] Launching Daemon at Sat Aug 29 13:49:26 IST 2026
[2026-08-29 13:49:26,872.872 INFO    ] ================================================
[2026-08-29 13:49:27,239.239 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:49:27
[2026-08-29 13:49:27,550.550 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:49:27,681.681 INFO    ] Initializing speech engine...
[2026-08-29 13:49:27,694.694 INFO    ] 2026-08-29 13:49:27
[2026-08-29 13:49:27,904.904 INFO    ] 2026-08-29 13:49:27
[2026-08-29 13:49:27,934.934 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:49:28,119.119 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:49:28,123.123 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:49:28,257.257 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:49:28,320.320 INFO    ] time= 29/08/2026 13:49:28
[2026-08-29 13:49:28,353.353 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:49:28,360.360 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:49:28,428.428 INFO    ] No existing commands found in stream
[2026-08-29 13:49:33,437.437 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:49:33,440.440 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-08-29 13:49:34,509.509 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:49:34,512.512 INFO    ] Checking for system updates...
[2026-08-29 13:49:34,548.548 INFO    ] 200
[2026-08-29 13:49:34,550.550 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:49:34,602.602 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:49:34,604.604 INFO    ] No update needed
[2026-08-29 13:49:34,607.607 INFO    ] Checking for camera pi updates...
[2026-08-29 13:49:34,642.642 INFO    ] 200
[2026-08-29 13:49:34,645.645 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:49:34,686.686 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:49:34,799.799 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:49:34,812.812 INFO    ] No camera update needed
[2026-08-29 13:49:34,814.814 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:49:34,817.817 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:49:34,822.822 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:49:34,827.827 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:49:36,868.868 INFO    ] ================================================
[2026-08-29 13:49:37,021.021 INFO    ] Launching Daemon at Sat Aug 29 13:49:37 IST 2026
[2026-08-29 13:49:37,032.032 INFO    ] ================================================
[2026-08-29 13:49:37,396.396 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:49:37
[2026-08-29 13:49:37,730.730 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:49:37,880.880 INFO    ] Initializing speech engine...
[2026-08-29 13:49:37,885.885 INFO    ] 2026-08-29 13:49:37
[2026-08-29 13:49:38,077.077 INFO    ] 2026-08-29 13:49:38
[2026-08-29 13:49:38,156.156 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:49:38,319.319 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:49:38,340.340 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:49:38,460.460 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:49:38,515.515 INFO    ] time= 29/08/2026 13:49:38
[2026-08-29 13:49:38,570.570 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:49:38,595.595 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:49:38,655.655 INFO    ] No existing commands found in stream
[2026-08-29 13:49:43,667.667 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:49:43,670.670 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-08-29 13:49:48,932.932 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:49:48,934.934 INFO    ] Checking for system updates...
[2026-08-29 13:49:48,957.957 INFO    ] 200
[2026-08-29 13:49:48,958.958 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:49:48,993.993 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:49:48,994.994 INFO    ] No update needed
[2026-08-29 13:49:48,996.996 INFO    ] Checking for camera pi updates...
[2026-08-29 13:49:49,016.016 INFO    ] 200
[2026-08-29 13:49:49,018.018 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:49:49,041.041 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:49:49,116.116 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:49:49,118.118 INFO    ] No camera update needed
[2026-08-29 13:49:49,119.119 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:49:49,120.120 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:49:49,124.124 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:49:49,126.126 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:49:51,150.150 INFO    ] ================================================
[2026-08-29 13:49:51,159.159 INFO    ] Launching Daemon at Sat Aug 29 13:49:51 IST 2026
[2026-08-29 13:49:51,165.165 INFO    ] ================================================
[2026-08-29 13:49:51,674.674 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:49:51
[2026-08-29 13:49:52,263.263 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:49:52,523.523 INFO    ] Initializing speech engine...
[2026-08-29 13:49:52,541.541 INFO    ] 2026-08-29 13:49:52
[2026-08-29 13:49:52,793.793 INFO    ] 2026-08-29 13:49:52
[2026-08-29 13:49:52,829.829 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:49:53,992.992 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:49:54,046.046 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:49:54,203.203 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:49:54,210.210 INFO    ] time= 29/08/2026 13:49:54
[2026-08-29 13:49:54,216.216 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:49:54,223.223 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:49:54,297.297 INFO    ] No existing commands found in stream
[2026-08-29 13:49:59,309.309 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:49:59,312.312 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-08-29 13:49:59,813.813 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:49:59,815.815 INFO    ] Checking for system updates...
[2026-08-29 13:49:59,836.836 INFO    ] 200
[2026-08-29 13:49:59,837.837 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:49:59,866.866 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:49:59,868.868 INFO    ] No update needed
[2026-08-29 13:49:59,869.869 INFO    ] Checking for camera pi updates...
[2026-08-29 13:49:59,890.890 INFO    ] 200
[2026-08-29 13:49:59,891.891 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:49:59,923.923 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:50:00,005.005 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:50:00,006.006 INFO    ] No camera update needed
[2026-08-29 13:50:00,008.008 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:50:00,009.009 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:50:00,013.013 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:50:00,018.018 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:50:02,068.068 INFO    ] ================================================
[2026-08-29 13:50:02,145.145 INFO    ] Launching Daemon at Sat Aug 29 13:50:02 IST 2026
[2026-08-29 13:50:02,208.208 INFO    ] ================================================
[2026-08-29 13:50:02,954.954 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:50:02
[2026-08-29 13:50:03,557.557 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:50:03,875.875 INFO    ] Initializing speech engine...
[2026-08-29 13:50:03,883.883 INFO    ] 2026-08-29 13:50:03
[2026-08-29 13:50:04,129.129 INFO    ] 2026-08-29 13:50:04
[2026-08-29 13:50:04,165.165 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:50:04,338.338 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:50:04,350.350 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:50:04,493.493 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:50:04,499.499 INFO    ] time= 29/08/2026 13:50:04
[2026-08-29 13:50:04,505.505 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:50:04,553.553 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:50:04,683.683 INFO    ] No existing commands found in stream
[2026-08-29 13:50:09,707.707 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:50:09,710.710 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-08-29 13:50:12,501.501 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:50:12,503.503 INFO    ] Checking for system updates...
[2026-08-29 13:50:12,523.523 INFO    ] 200
[2026-08-29 13:50:12,525.525 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:50:12,555.555 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:50:12,556.556 INFO    ] No update needed
[2026-08-29 13:50:12,557.557 INFO    ] Checking for camera pi updates...
[2026-08-29 13:50:12,576.576 INFO    ] 200
[2026-08-29 13:50:12,577.577 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:50:12,600.600 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:50:12,688.688 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:50:12,690.690 INFO    ] No camera update needed
[2026-08-29 13:50:12,691.691 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:50:12,692.692 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:50:12,695.695 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:50:12,698.698 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:50:14,736.736 INFO    ] ================================================
[2026-08-29 13:50:14,758.758 INFO    ] Launching Daemon at Sat Aug 29 13:50:14 IST 2026
[2026-08-29 13:50:14,769.769 INFO    ] ================================================
[2026-08-29 13:50:15,319.319 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:50:15
[2026-08-29 13:50:15,905.905 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:50:16,157.157 INFO    ] Initializing speech engine...
[2026-08-29 13:50:16,180.180 INFO    ] 2026-08-29 13:50:16
[2026-08-29 13:50:16,435.435 INFO    ] 2026-08-29 13:50:16
[2026-08-29 13:50:16,470.470 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:50:16,646.646 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:50:16,659.659 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:50:16,803.803 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:50:16,811.811 INFO    ] time= 29/08/2026 13:50:16
[2026-08-29 13:50:16,815.815 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:50:16,821.821 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:50:16,952.952 INFO    ] No existing commands found in stream
[2026-08-29 13:50:21,977.977 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:50:21,980.980 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-08-29 13:50:24,647.647 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:50:24,648.648 INFO    ] Checking for system updates...
[2026-08-29 13:50:24,669.669 INFO    ] 200
[2026-08-29 13:50:24,670.670 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:50:24,700.700 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:50:24,702.702 INFO    ] No update needed
[2026-08-29 13:50:24,703.703 INFO    ] Checking for camera pi updates...
[2026-08-29 13:50:24,723.723 INFO    ] 200
[2026-08-29 13:50:24,724.724 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:50:24,747.747 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:50:24,833.833 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:50:24,834.834 INFO    ] No camera update needed
[2026-08-29 13:50:24,836.836 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:50:24,837.837 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:50:24,840.840 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:50:24,843.843 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:50:26,882.882 INFO    ] ================================================
[2026-08-29 13:50:26,897.897 INFO    ] Launching Daemon at Sat Aug 29 13:50:26 IST 2026
[2026-08-29 13:50:26,908.908 INFO    ] ================================================
[2026-08-29 13:50:27,271.271 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:50:27
[2026-08-29 13:50:27,856.856 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:50:28,154.154 INFO    ] Initializing speech engine...
[2026-08-29 13:50:28,162.162 INFO    ] 2026-08-29 13:50:28
[2026-08-29 13:50:28,451.451 INFO    ] 2026-08-29 13:50:28
[2026-08-29 13:50:28,490.490 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:50:28,714.714 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:50:28,720.720 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:50:28,875.875 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:50:28,930.930 INFO    ] time= 29/08/2026 13:50:28
[2026-08-29 13:50:28,980.980 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:50:28,988.988 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:50:29,124.124 INFO    ] No existing commands found in stream
[2026-08-29 13:50:34,146.146 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:50:34,149.149 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-08-29 13:50:38,049.049 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:50:38,051.051 INFO    ] Checking for system updates...
[2026-08-29 13:50:38,072.072 INFO    ] 200
[2026-08-29 13:50:38,073.073 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:50:38,105.105 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:50:38,107.107 INFO    ] No update needed
[2026-08-29 13:50:38,108.108 INFO    ] Checking for camera pi updates...
[2026-08-29 13:50:38,128.128 INFO    ] 200
[2026-08-29 13:50:38,129.129 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:50:38,163.163 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:50:38,269.269 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:50:38,272.272 INFO    ] No camera update needed
[2026-08-29 13:50:38,274.274 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:50:38,277.277 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:50:38,283.283 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:50:38,288.288 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:50:40,329.329 INFO    ] ================================================
[2026-08-29 13:50:40,345.345 INFO    ] Launching Daemon at Sat Aug 29 13:50:40 IST 2026
[2026-08-29 13:50:40,356.356 INFO    ] ================================================
[2026-08-29 13:50:40,937.937 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:50:40
[2026-08-29 13:50:41,404.404 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:50:41,600.600 INFO    ] Initializing speech engine...
[2026-08-29 13:50:41,608.608 INFO    ] 2026-08-29 13:50:41
[2026-08-29 13:50:41,897.897 INFO    ] 2026-08-29 13:50:41
[2026-08-29 13:50:41,935.935 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:50:42,127.127 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:50:42,133.133 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:50:42,264.264 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:50:42,271.271 INFO    ] time= 29/08/2026 13:50:42
[2026-08-29 13:50:42,291.291 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:50:42,312.312 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:50:42,394.394 INFO    ] No existing commands found in stream
[2026-08-29 13:50:47,405.405 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:50:47,408.408 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-08-29 13:50:48,501.501 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:50:48,503.503 INFO    ] Checking for system updates...
[2026-08-29 13:50:48,523.523 INFO    ] 200
[2026-08-29 13:50:48,524.524 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:50:48,554.554 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:50:48,556.556 INFO    ] No update needed
[2026-08-29 13:50:48,557.557 INFO    ] Checking for camera pi updates...
[2026-08-29 13:50:48,576.576 INFO    ] 200
[2026-08-29 13:50:48,577.577 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:50:48,602.602 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:50:48,679.679 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:50:48,681.681 INFO    ] No camera update needed
[2026-08-29 13:50:48,684.684 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:50:48,686.686 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:50:48,691.691 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:50:48,696.696 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:50:50,735.735 INFO    ] ================================================
[2026-08-29 13:50:50,750.750 INFO    ] Launching Daemon at Sat Aug 29 13:50:50 IST 2026
[2026-08-29 13:50:50,761.761 INFO    ] ================================================
[2026-08-29 13:50:51,329.329 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:50:51
[2026-08-29 13:50:51,795.795 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:50:51,928.928 INFO    ] Initializing speech engine...
[2026-08-29 13:50:51,933.933 INFO    ] 2026-08-29 13:50:51
[2026-08-29 13:50:52,160.160 INFO    ] 2026-08-29 13:50:52
[2026-08-29 13:50:52,191.191 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:50:52,323.323 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:50:52,387.387 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:50:52,530.530 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:50:52,562.562 INFO    ] time= 29/08/2026 13:50:52
[2026-08-29 13:50:52,615.615 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:50:52,638.638 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:50:52,713.713 INFO    ] No existing commands found in stream
[2026-08-29 13:50:57,724.724 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:50:57,726.726 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-08-29 13:51:01,834.834 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:51:01,835.835 INFO    ] Checking for system updates...
[2026-08-29 13:51:01,855.855 INFO    ] 200
[2026-08-29 13:51:01,857.857 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:51:01,889.889 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:51:01,890.890 INFO    ] No update needed
[2026-08-29 13:51:01,891.891 INFO    ] Checking for camera pi updates...
[2026-08-29 13:51:01,910.910 INFO    ] 200
[2026-08-29 13:51:01,911.911 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:51:01,965.965 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:51:02,048.048 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:51:02,052.052 INFO    ] No camera update needed
[2026-08-29 13:51:02,055.055 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:51:02,059.059 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:51:02,068.068 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:51:02,075.075 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:51:04,119.119 INFO    ] ================================================
[2026-08-29 13:51:04,135.135 INFO    ] Launching Daemon at Sat Aug 29 13:51:04 IST 2026
[2026-08-29 13:51:04,145.145 INFO    ] ================================================
[2026-08-29 13:51:04,781.781 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:51:04
[2026-08-29 13:51:05,262.262 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:51:05,401.401 INFO    ] Initializing speech engine...
[2026-08-29 13:51:05,410.410 INFO    ] 2026-08-29 13:51:05
[2026-08-29 13:51:05,615.615 INFO    ] 2026-08-29 13:51:05
[2026-08-29 13:51:05,644.644 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:51:05,778.778 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:51:05,783.783 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:51:05,908.908 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:51:05,913.913 INFO    ] time= 29/08/2026 13:51:05
[2026-08-29 13:51:05,918.918 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:51:05,965.965 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:51:06,069.069 INFO    ] No existing commands found in stream
[2026-08-29 13:51:11,103.103 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:51:11,106.106 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-08-29 13:51:13,557.557 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:51:13,558.558 INFO    ] Checking for system updates...
[2026-08-29 13:51:13,579.579 INFO    ] 200
[2026-08-29 13:51:13,580.580 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:51:13,613.613 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:51:13,614.614 INFO    ] No update needed
[2026-08-29 13:51:13,615.615 INFO    ] Checking for camera pi updates...
[2026-08-29 13:51:13,634.634 INFO    ] 200
[2026-08-29 13:51:13,636.636 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:51:13,658.658 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:51:13,834.834 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:51:13,835.835 INFO    ] No camera update needed
[2026-08-29 13:51:13,836.836 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:51:13,838.838 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:51:13,840.840 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:51:13,843.843 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:51:15,882.882 INFO    ] ================================================
[2026-08-29 13:51:15,897.897 INFO    ] Launching Daemon at Sat Aug 29 13:51:15 IST 2026
[2026-08-29 13:51:15,908.908 INFO    ] ================================================
[2026-08-29 13:51:16,255.255 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:51:16
[2026-08-29 13:51:16,571.571 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:51:16,705.705 INFO    ] Initializing speech engine...
[2026-08-29 13:51:16,709.709 INFO    ] 2026-08-29 13:51:16
[2026-08-29 13:51:16,939.939 INFO    ] 2026-08-29 13:51:16
[2026-08-29 13:51:16,970.970 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:51:17,066.066 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:51:17,070.070 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:51:17,178.178 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:51:17,189.189 INFO    ] time= 29/08/2026 13:51:17
[2026-08-29 13:51:17,204.204 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:51:17,210.210 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:51:17,287.287 INFO    ] No existing commands found in stream
[2026-08-29 13:51:22,322.322 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:51:22,325.325 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-08-29 13:51:26,654.654 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:51:26,656.656 INFO    ] Checking for system updates...
[2026-08-29 13:51:26,692.692 INFO    ] 200
[2026-08-29 13:51:26,695.695 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:51:26,750.750 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:51:26,751.751 INFO    ] No update needed
[2026-08-29 13:51:26,753.753 INFO    ] Checking for camera pi updates...
[2026-08-29 13:51:26,772.772 INFO    ] 200
[2026-08-29 13:51:26,773.773 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:51:26,796.796 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:51:26,904.904 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:51:26,905.905 INFO    ] No camera update needed
[2026-08-29 13:51:26,910.910 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:51:26,911.911 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:51:26,914.914 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:51:26,917.917 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:51:28,955.955 INFO    ] ================================================
[2026-08-29 13:51:28,970.970 INFO    ] Launching Daemon at Sat Aug 29 13:51:28 IST 2026
[2026-08-29 13:51:28,981.981 INFO    ] ================================================
[2026-08-29 13:51:29,530.530 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:51:29
[2026-08-29 13:51:30,130.130 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:51:30,403.403 INFO    ] Initializing speech engine...
[2026-08-29 13:51:30,419.419 INFO    ] 2026-08-29 13:51:30
[2026-08-29 13:51:30,676.676 INFO    ] 2026-08-29 13:51:30
[2026-08-29 13:51:30,711.711 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:51:30,909.909 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:51:30,952.952 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:51:31,109.109 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:51:31,136.136 INFO    ] time= 29/08/2026 13:51:31
[2026-08-29 13:51:31,195.195 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:51:31,243.243 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:51:31,297.297 INFO    ] No existing commands found in stream
[2026-08-29 13:51:36,309.309 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:51:36,312.312 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-08-29 13:51:40,629.629 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:51:40,630.630 INFO    ] Checking for system updates...
[2026-08-29 13:51:40,651.651 INFO    ] 200
[2026-08-29 13:51:40,652.652 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:51:40,684.684 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:51:40,685.685 INFO    ] No update needed
[2026-08-29 13:51:40,687.687 INFO    ] Checking for camera pi updates...
[2026-08-29 13:51:40,706.706 INFO    ] 200
[2026-08-29 13:51:40,707.707 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:51:40,729.729 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:51:40,830.830 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:51:40,833.833 INFO    ] No camera update needed
[2026-08-29 13:51:40,836.836 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:51:40,838.838 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:51:40,843.843 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:51:40,848.848 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:51:42,889.889 INFO    ] ================================================
[2026-08-29 13:51:42,904.904 INFO    ] Launching Daemon at Sat Aug 29 13:51:42 IST 2026
[2026-08-29 13:51:42,914.914 INFO    ] ================================================
[2026-08-29 13:51:43,485.485 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:51:43
[2026-08-29 13:51:43,995.995 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:51:44,128.128 INFO    ] Initializing speech engine...
[2026-08-29 13:51:44,140.140 INFO    ] 2026-08-29 13:51:44
[2026-08-29 13:51:44,347.347 INFO    ] 2026-08-29 13:51:44
[2026-08-29 13:51:44,376.376 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:51:44,500.500 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:51:44,564.564 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:51:44,699.699 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:51:44,767.767 INFO    ] time= 29/08/2026 13:51:44
[2026-08-29 13:51:44,795.795 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:51:44,802.802 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:51:44,867.867 INFO    ] No existing commands found in stream
[2026-08-29 13:51:49,878.878 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:51:49,880.880 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 13:51:51,796.796 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:51:51,797.797 INFO    ] Checking for system updates...
[2026-08-29 13:51:51,819.819 INFO    ] 200
[2026-08-29 13:51:51,820.820 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:51:51,850.850 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:51:51,851.851 INFO    ] No update needed
[2026-08-29 13:51:51,852.852 INFO    ] Checking for camera pi updates...
[2026-08-29 13:51:51,871.871 INFO    ] 200
[2026-08-29 13:51:51,873.873 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:51:51,895.895 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:51:51,989.989 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:51:51,990.990 INFO    ] No camera update needed
[2026-08-29 13:51:51,992.992 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:51:51,993.993 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:51:51,996.996 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:51:51,999.999 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:51:54,037.037 INFO    ] ================================================
[2026-08-29 13:51:54,052.052 INFO    ] Launching Daemon at Sat Aug 29 13:51:54 IST 2026
[2026-08-29 13:51:54,062.062 INFO    ] ================================================
[2026-08-29 13:51:54,574.574 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:51:54
[2026-08-29 13:51:55,156.156 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:51:55,409.409 INFO    ] Initializing speech engine...
[2026-08-29 13:51:55,432.432 INFO    ] 2026-08-29 13:51:55
[2026-08-29 13:51:55,687.687 INFO    ] 2026-08-29 13:51:55
[2026-08-29 13:51:55,723.723 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:51:55,900.900 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:51:55,913.913 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:51:56,023.023 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:51:56,056.056 INFO    ] time= 29/08/2026 13:51:56
[2026-08-29 13:51:56,064.064 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:51:56,068.068 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:51:56,137.137 INFO    ] No existing commands found in stream
[2026-08-29 13:52:01,152.152 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:52:01,155.155 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-08-29 13:52:02,028.028 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:52:02,032.032 INFO    ] Checking for system updates...
[2026-08-29 13:52:02,080.080 INFO    ] 200
[2026-08-29 13:52:02,085.085 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:52:02,211.211 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:52:02,216.216 INFO    ] No update needed
[2026-08-29 13:52:02,220.220 INFO    ] Checking for camera pi updates...
[2026-08-29 13:52:02,273.273 INFO    ] 200
[2026-08-29 13:52:02,275.275 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:52:02,328.328 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:52:02,487.487 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:52:02,490.490 INFO    ] No camera update needed
[2026-08-29 13:52:02,494.494 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:52:02,497.497 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:52:02,504.504 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:52:02,512.512 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:52:04,546.546 INFO    ] ================================================
[2026-08-29 13:52:04,561.561 INFO    ] Launching Daemon at Sat Aug 29 13:52:04 IST 2026
[2026-08-29 13:52:04,572.572 INFO    ] ================================================
[2026-08-29 13:52:04,937.937 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:52:04
[2026-08-29 13:52:05,248.248 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:52:05,382.382 INFO    ] Initializing speech engine...
[2026-08-29 13:52:05,394.394 INFO    ] 2026-08-29 13:52:05
[2026-08-29 13:52:05,585.585 INFO    ] 2026-08-29 13:52:05
[2026-08-29 13:52:05,619.619 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:52:05,796.796 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:52:05,812.812 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:52:05,944.944 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:52:05,952.952 INFO    ] time= 29/08/2026 13:52:05
[2026-08-29 13:52:05,959.959 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:52:06,000.000 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:52:06,108.108 INFO    ] No existing commands found in stream
[2026-08-29 13:52:11,138.138 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:52:11,140.140 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-08-29 13:52:12,306.306 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:52:12,307.307 INFO    ] Checking for system updates...
[2026-08-29 13:52:12,329.329 INFO    ] 200
[2026-08-29 13:52:12,331.331 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:52:12,360.360 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:52:12,362.362 INFO    ] No update needed
[2026-08-29 13:52:12,363.363 INFO    ] Checking for camera pi updates...
[2026-08-29 13:52:12,382.382 INFO    ] 200
[2026-08-29 13:52:12,384.384 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:52:12,406.406 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:52:12,498.498 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:52:12,499.499 INFO    ] No camera update needed
[2026-08-29 13:52:12,500.500 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:52:12,501.501 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:52:12,504.504 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:52:12,507.507 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:52:14,545.545 INFO    ] ================================================
[2026-08-29 13:52:14,559.559 INFO    ] Launching Daemon at Sat Aug 29 13:52:14 IST 2026
[2026-08-29 13:52:14,570.570 INFO    ] ================================================
[2026-08-29 13:52:14,905.905 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:52:14
[2026-08-29 13:52:15,346.346 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:52:15,598.598 INFO    ] Initializing speech engine...
[2026-08-29 13:52:15,613.613 INFO    ] 2026-08-29 13:52:15
[2026-08-29 13:52:15,877.877 INFO    ] 2026-08-29 13:52:15
[2026-08-29 13:52:15,914.914 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:52:16,090.090 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:52:16,103.103 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:52:16,243.243 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:52:16,257.257 INFO    ] time= 29/08/2026 13:52:16
[2026-08-29 13:52:16,264.264 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:52:16,310.310 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:52:16,426.426 INFO    ] No existing commands found in stream
[2026-08-29 13:52:21,450.450 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:52:21,452.452 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-08-29 13:52:23,256.256 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:52:23,257.257 INFO    ] Checking for system updates...
[2026-08-29 13:52:23,278.278 INFO    ] 200
[2026-08-29 13:52:23,279.279 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:52:23,308.308 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:52:23,310.310 INFO    ] No update needed
[2026-08-29 13:52:23,311.311 INFO    ] Checking for camera pi updates...
[2026-08-29 13:52:23,334.334 INFO    ] 200
[2026-08-29 13:52:23,336.336 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:52:23,387.387 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:52:23,478.478 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:52:23,480.480 INFO    ] No camera update needed
[2026-08-29 13:52:23,483.483 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:52:23,485.485 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:52:23,490.490 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:52:23,495.495 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:52:25,534.534 INFO    ] ================================================
[2026-08-29 13:52:25,552.552 INFO    ] Launching Daemon at Sat Aug 29 13:52:25 IST 2026
[2026-08-29 13:52:25,565.565 INFO    ] ================================================
[2026-08-29 13:52:26,176.176 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:52:26
[2026-08-29 13:52:26,625.625 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:52:26,760.760 INFO    ] Initializing speech engine...
[2026-08-29 13:52:26,768.768 INFO    ] 2026-08-29 13:52:26
[2026-08-29 13:52:26,959.959 INFO    ] 2026-08-29 13:52:26
[2026-08-29 13:52:26,989.989 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:52:27,155.155 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:52:27,168.168 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:52:27,311.311 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:52:27,319.319 INFO    ] time= 29/08/2026 13:52:27
[2026-08-29 13:52:27,326.326 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:52:27,371.371 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:52:27,495.495 INFO    ] No existing commands found in stream
[2026-08-29 13:52:32,524.524 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:52:32,527.527 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-08-29 13:52:34,900.900 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:52:34,902.902 INFO    ] Checking for system updates...
[2026-08-29 13:52:34,943.943 INFO    ] 200
[2026-08-29 13:52:34,945.945 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:52:34,997.997 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:52:34,999.999 INFO    ] No update needed
[2026-08-29 13:52:35,001.001 INFO    ] Checking for camera pi updates...
[2026-08-29 13:52:35,039.039 INFO    ] 200
[2026-08-29 13:52:35,042.042 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:52:35,082.082 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:52:35,175.175 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:52:35,178.178 INFO    ] No camera update needed
[2026-08-29 13:52:35,180.180 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:52:35,182.182 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:52:35,188.188 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:52:35,193.193 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:52:37,234.234 INFO    ] ================================================
[2026-08-29 13:52:37,250.250 INFO    ] Launching Daemon at Sat Aug 29 13:52:37 IST 2026
[2026-08-29 13:52:37,261.261 INFO    ] ================================================
[2026-08-29 13:52:37,624.624 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:52:37
[2026-08-29 13:52:37,938.938 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:52:38,080.080 INFO    ] Initializing speech engine...
[2026-08-29 13:52:38,085.085 INFO    ] 2026-08-29 13:52:38
[2026-08-29 13:52:38,287.287 INFO    ] 2026-08-29 13:52:38
[2026-08-29 13:52:38,316.316 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:52:38,437.437 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:52:38,495.495 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:52:38,634.634 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:52:38,702.702 INFO    ] time= 29/08/2026 13:52:38
[2026-08-29 13:52:38,728.728 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:52:38,730.730 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:52:38,800.800 INFO    ] No existing commands found in stream
[2026-08-29 13:52:43,811.811 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:52:43,814.814 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-08-29 13:52:45,399.399 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:52:45,400.400 INFO    ] Checking for system updates...
[2026-08-29 13:52:45,422.422 INFO    ] 200
[2026-08-29 13:52:45,423.423 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:52:45,453.453 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:52:45,455.455 INFO    ] No update needed
[2026-08-29 13:52:45,456.456 INFO    ] Checking for camera pi updates...
[2026-08-29 13:52:45,475.475 INFO    ] 200
[2026-08-29 13:52:45,476.476 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:52:45,503.503 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:52:45,600.600 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:52:45,601.601 INFO    ] No camera update needed
[2026-08-29 13:52:45,607.607 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:52:45,608.608 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:52:45,611.611 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:52:45,614.614 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:52:47,654.654 INFO    ] ================================================
[2026-08-29 13:52:47,670.670 INFO    ] Launching Daemon at Sat Aug 29 13:52:47 IST 2026
[2026-08-29 13:52:47,681.681 INFO    ] ================================================
[2026-08-29 13:52:48,034.034 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:52:48
[2026-08-29 13:52:48,399.399 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:52:48,662.662 INFO    ] Initializing speech engine...
[2026-08-29 13:52:48,678.678 INFO    ] 2026-08-29 13:52:48
[2026-08-29 13:52:48,932.932 INFO    ] 2026-08-29 13:52:48
[2026-08-29 13:52:48,968.968 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:52:49,145.145 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:52:49,157.157 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:52:49,301.301 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:52:49,310.310 INFO    ] time= 29/08/2026 13:52:49
[2026-08-29 13:52:49,315.315 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:52:49,321.321 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:52:49,387.387 INFO    ] No existing commands found in stream
[2026-08-29 13:52:54,399.399 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:52:54,402.402 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-08-29 13:52:54,998.998 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:52:54,999.999 INFO    ] Checking for system updates...
[2026-08-29 13:52:55,020.020 INFO    ] 200
[2026-08-29 13:52:55,021.021 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:52:55,053.053 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:52:55,055.055 INFO    ] No update needed
[2026-08-29 13:52:55,056.056 INFO    ] Checking for camera pi updates...
[2026-08-29 13:52:55,075.075 INFO    ] 200
[2026-08-29 13:52:55,076.076 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:52:55,099.099 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:52:55,177.177 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:52:55,180.180 INFO    ] No camera update needed
[2026-08-29 13:52:55,182.182 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:52:55,185.185 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:52:55,190.190 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:52:55,195.195 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:52:57,234.234 INFO    ] ================================================
[2026-08-29 13:52:57,251.251 INFO    ] Launching Daemon at Sat Aug 29 13:52:57 IST 2026
[2026-08-29 13:52:57,262.262 INFO    ] ================================================
[2026-08-29 13:52:57,944.944 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:52:57
[2026-08-29 13:52:58,439.439 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:52:58,592.592 INFO    ] Initializing speech engine...
[2026-08-29 13:52:58,598.598 INFO    ] 2026-08-29 13:52:58
[2026-08-29 13:52:58,806.806 INFO    ] 2026-08-29 13:52:58
[2026-08-29 13:52:58,836.836 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:52:58,959.959 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:52:59,021.021 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:52:59,162.162 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:52:59,221.221 INFO    ] time= 29/08/2026 13:52:59
[2026-08-29 13:52:59,276.276 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:52:59,319.319 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:52:59,439.439 INFO    ] No existing commands found in stream
[2026-08-29 13:53:04,476.476 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:53:04,479.479 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-08-29 13:53:06,510.510 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:53:06,513.513 INFO    ] Checking for system updates...
[2026-08-29 13:53:06,549.549 INFO    ] 200
[2026-08-29 13:53:06,551.551 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:53:06,611.611 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:53:06,614.614 INFO    ] No update needed
[2026-08-29 13:53:06,623.623 INFO    ] Checking for camera pi updates...
[2026-08-29 13:53:06,657.657 INFO    ] 200
[2026-08-29 13:53:06,659.659 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:53:06,701.701 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:53:06,818.818 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:53:06,820.820 INFO    ] No camera update needed
[2026-08-29 13:53:06,823.823 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:53:06,825.825 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:53:06,830.830 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:53:06,835.835 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:53:08,877.877 INFO    ] ================================================
[2026-08-29 13:53:08,893.893 INFO    ] Launching Daemon at Sat Aug 29 13:53:08 IST 2026
[2026-08-29 13:53:08,905.905 INFO    ] ================================================
[2026-08-29 13:53:09,504.504 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:53:09
[2026-08-29 13:53:09,847.847 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:53:10,005.005 INFO    ] Initializing speech engine...
[2026-08-29 13:53:10,009.009 INFO    ] 2026-08-29 13:53:10
[2026-08-29 13:53:10,211.211 INFO    ] 2026-08-29 13:53:10
[2026-08-29 13:53:10,293.293 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:53:10,458.458 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:53:10,468.468 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:53:10,621.621 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:53:10,629.629 INFO    ] time= 29/08/2026 13:53:10
[2026-08-29 13:53:10,668.668 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:53:10,722.722 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:53:10,782.782 INFO    ] No existing commands found in stream
[2026-08-29 13:53:15,793.793 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:53:15,796.796 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-08-29 13:53:21,773.773 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:53:21,775.775 INFO    ] Checking for system updates...
[2026-08-29 13:53:21,796.796 INFO    ] 200
[2026-08-29 13:53:21,798.798 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:53:21,827.827 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:53:21,829.829 INFO    ] No update needed
[2026-08-29 13:53:21,830.830 INFO    ] Checking for camera pi updates...
[2026-08-29 13:53:21,851.851 INFO    ] 200
[2026-08-29 13:53:21,852.852 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:53:21,876.876 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:53:22,048.048 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:53:22,050.050 INFO    ] No camera update needed
[2026-08-29 13:53:22,051.051 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:53:22,053.053 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:53:22,056.056 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:53:22,059.059 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:53:24,098.098 INFO    ] ================================================
[2026-08-29 13:53:24,113.113 INFO    ] Launching Daemon at Sat Aug 29 13:53:24 IST 2026
[2026-08-29 13:53:24,124.124 INFO    ] ================================================
[2026-08-29 13:53:24,500.500 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:53:24
[2026-08-29 13:53:24,841.841 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:53:25,069.069 INFO    ] Initializing speech engine...
[2026-08-29 13:53:25,082.082 INFO    ] 2026-08-29 13:53:25
[2026-08-29 13:53:25,346.346 INFO    ] 2026-08-29 13:53:25
[2026-08-29 13:53:25,382.382 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:53:25,560.560 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:53:25,573.573 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:53:25,717.717 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:53:25,726.726 INFO    ] time= 29/08/2026 13:53:25
[2026-08-29 13:53:25,732.732 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:53:25,739.739 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:53:25,869.869 INFO    ] No existing commands found in stream
[2026-08-29 13:53:30,900.900 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:53:30,903.903 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-08-29 13:53:33,807.807 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:53:33,810.810 INFO    ] Checking for system updates...
[2026-08-29 13:53:33,846.846 INFO    ] 200
[2026-08-29 13:53:33,848.848 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:53:33,909.909 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:53:33,912.912 INFO    ] No update needed
[2026-08-29 13:53:33,914.914 INFO    ] Checking for camera pi updates...
[2026-08-29 13:53:33,949.949 INFO    ] 200
[2026-08-29 13:53:33,951.951 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:53:33,999.999 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:53:34,122.122 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:53:34,124.124 INFO    ] No camera update needed
[2026-08-29 13:53:34,127.127 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:53:34,129.129 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:53:34,134.134 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:53:34,139.139 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:53:36,182.182 INFO    ] ================================================
[2026-08-29 13:53:36,197.197 INFO    ] Launching Daemon at Sat Aug 29 13:53:36 IST 2026
[2026-08-29 13:53:36,208.208 INFO    ] ================================================
[2026-08-29 13:53:36,542.542 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:53:36
[2026-08-29 13:53:36,854.854 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:53:37,118.118 INFO    ] Initializing speech engine...
[2026-08-29 13:53:37,128.128 INFO    ] 2026-08-29 13:53:37
[2026-08-29 13:53:37,392.392 INFO    ] 2026-08-29 13:53:37
[2026-08-29 13:53:37,445.445 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:53:37,588.588 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:53:37,611.611 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:53:37,741.741 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:53:37,749.749 INFO    ] time= 29/08/2026 13:53:37
[2026-08-29 13:53:37,756.756 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:53:37,803.803 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:53:37,915.915 INFO    ] No existing commands found in stream
[2026-08-29 13:53:42,941.941 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:53:42,944.944 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 13:53:45,069.069 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:53:45,071.071 INFO    ] Checking for system updates...
[2026-08-29 13:53:45,093.093 INFO    ] 200
[2026-08-29 13:53:45,094.094 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:53:45,124.124 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:53:45,125.125 INFO    ] No update needed
[2026-08-29 13:53:45,127.127 INFO    ] Checking for camera pi updates...
[2026-08-29 13:53:45,146.146 INFO    ] 200
[2026-08-29 13:53:45,147.147 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:53:45,172.172 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:53:45,266.266 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:53:45,267.267 INFO    ] No camera update needed
[2026-08-29 13:53:45,269.269 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:53:45,270.270 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:53:45,273.273 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:53:45,276.276 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:53:47,314.314 INFO    ] ================================================
[2026-08-29 13:53:47,329.329 INFO    ] Launching Daemon at Sat Aug 29 13:53:47 IST 2026
[2026-08-29 13:53:47,341.341 INFO    ] ================================================
[2026-08-29 13:53:47,960.960 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:53:47
[2026-08-29 13:53:48,659.659 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:53:48,976.976 INFO    ] Initializing speech engine...
[2026-08-29 13:53:48,985.985 INFO    ] 2026-08-29 13:53:48
[2026-08-29 13:53:49,305.305 INFO    ] 2026-08-29 13:53:49
[2026-08-29 13:53:49,390.390 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:53:49,547.547 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:53:49,554.554 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:53:49,665.665 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:53:49,668.668 INFO    ] time= 29/08/2026 13:53:49
[2026-08-29 13:53:49,697.697 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:53:49,742.742 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:53:49,831.831 INFO    ] No existing commands found in stream
[2026-08-29 13:53:54,854.854 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:53:54,857.857 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 13:53:57,858.858 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:53:57,859.859 INFO    ] Checking for system updates...
[2026-08-29 13:53:57,880.880 INFO    ] 200
[2026-08-29 13:53:57,882.882 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:53:57,912.912 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:53:57,914.914 INFO    ] No update needed
[2026-08-29 13:53:57,915.915 INFO    ] Checking for camera pi updates...
[2026-08-29 13:53:57,935.935 INFO    ] 200
[2026-08-29 13:53:57,936.936 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:53:57,960.960 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:53:58,055.055 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:53:58,056.056 INFO    ] No camera update needed
[2026-08-29 13:53:58,058.058 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:53:58,059.059 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:53:58,062.062 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:53:58,069.069 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:54:00,108.108 INFO    ] ================================================
[2026-08-29 13:54:00,123.123 INFO    ] Launching Daemon at Sat Aug 29 13:54:00 IST 2026
[2026-08-29 13:54:00,133.133 INFO    ] ================================================
[2026-08-29 13:54:00,707.707 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:54:00
[2026-08-29 13:54:01,293.293 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:54:01,944.944 INFO    ] Initializing speech engine...
[2026-08-29 13:54:01,949.949 INFO    ] 2026-08-29 13:54:01
[2026-08-29 13:54:02,406.406 INFO    ] 2026-08-29 13:54:02
[2026-08-29 13:54:02,448.448 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:54:02,680.680 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:54:02,734.734 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:54:02,886.886 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:54:02,953.953 INFO    ] time= 29/08/2026 13:54:02
[2026-08-29 13:54:02,988.988 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:54:03,054.054 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:54:03,165.165 INFO    ] No existing commands found in stream
[2026-08-29 13:54:08,196.196 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:54:08,198.198 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-08-29 13:54:10,328.328 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:54:10,330.330 INFO    ] Checking for system updates...
[2026-08-29 13:54:10,351.351 INFO    ] 200
[2026-08-29 13:54:10,353.353 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:54:10,385.385 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:54:10,386.386 INFO    ] No update needed
[2026-08-29 13:54:10,387.387 INFO    ] Checking for camera pi updates...
[2026-08-29 13:54:10,407.407 INFO    ] 200
[2026-08-29 13:54:10,409.409 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:54:10,431.431 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:54:10,515.515 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:54:10,516.516 INFO    ] No camera update needed
[2026-08-29 13:54:10,517.517 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:54:10,518.518 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:54:10,521.521 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:54:10,524.524 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:54:12,563.563 INFO    ] ================================================
[2026-08-29 13:54:12,579.579 INFO    ] Launching Daemon at Sat Aug 29 13:54:12 IST 2026
[2026-08-29 13:54:12,589.589 INFO    ] ================================================
[2026-08-29 13:54:12,966.966 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:54:12
[2026-08-29 13:54:13,284.284 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:54:13,427.427 INFO    ] Initializing speech engine...
[2026-08-29 13:54:13,435.435 INFO    ] 2026-08-29 13:54:13
[2026-08-29 13:54:13,652.652 INFO    ] 2026-08-29 13:54:13
[2026-08-29 13:54:13,683.683 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:54:13,877.877 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:54:13,885.885 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:54:14,031.031 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:54:14,089.089 INFO    ] time= 29/08/2026 13:54:14
[2026-08-29 13:54:14,118.118 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:54:14,136.136 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:54:14,211.211 INFO    ] No existing commands found in stream
[2026-08-29 13:54:19,222.222 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:54:19,225.225 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-08-29 13:54:21,723.723 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:54:21,724.724 INFO    ] Checking for system updates...
[2026-08-29 13:54:21,744.744 INFO    ] 200
[2026-08-29 13:54:21,746.746 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:54:21,776.776 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:54:21,777.777 INFO    ] No update needed
[2026-08-29 13:54:21,779.779 INFO    ] Checking for camera pi updates...
[2026-08-29 13:54:21,799.799 INFO    ] 200
[2026-08-29 13:54:21,800.800 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:54:21,824.824 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:54:21,928.928 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:54:21,929.929 INFO    ] No camera update needed
[2026-08-29 13:54:21,930.930 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:54:21,932.932 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:54:21,935.935 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:54:21,938.938 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:54:23,976.976 INFO    ] ================================================
[2026-08-29 13:54:23,991.991 INFO    ] Launching Daemon at Sat Aug 29 13:54:23 IST 2026
[2026-08-29 13:54:24,001.001 INFO    ] ================================================
[2026-08-29 13:54:24,384.384 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:54:24
[2026-08-29 13:54:24,720.720 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:54:24,871.871 INFO    ] Initializing speech engine...
[2026-08-29 13:54:24,877.877 INFO    ] 2026-08-29 13:54:24
[2026-08-29 13:54:25,087.087 INFO    ] 2026-08-29 13:54:25
[2026-08-29 13:54:25,117.117 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:54:25,241.241 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:54:25,305.305 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:54:25,446.446 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:54:25,514.514 INFO    ] time= 29/08/2026 13:54:25
[2026-08-29 13:54:25,538.538 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:54:25,545.545 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:54:25,614.614 INFO    ] No existing commands found in stream
[2026-08-29 13:54:30,628.628 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:54:30,631.631 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-08-29 13:54:33,304.304 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:54:33,307.307 INFO    ] Checking for system updates...
[2026-08-29 13:54:33,344.344 INFO    ] 200
[2026-08-29 13:54:33,348.348 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:54:33,408.408 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:54:33,411.411 INFO    ] No update needed
[2026-08-29 13:54:33,414.414 INFO    ] Checking for camera pi updates...
[2026-08-29 13:54:33,457.457 INFO    ] 200
[2026-08-29 13:54:33,460.460 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:54:33,506.506 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:54:33,603.603 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:54:33,605.605 INFO    ] No camera update needed
[2026-08-29 13:54:33,608.608 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:54:33,611.611 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:54:33,617.617 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:54:33,623.623 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:54:35,665.665 INFO    ] ================================================
[2026-08-29 13:54:35,680.680 INFO    ] Launching Daemon at Sat Aug 29 13:54:35 IST 2026
[2026-08-29 13:54:35,691.691 INFO    ] ================================================
[2026-08-29 13:54:36,053.053 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:54:36
[2026-08-29 13:54:36,449.449 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:54:36,718.718 INFO    ] Initializing speech engine...
[2026-08-29 13:54:36,730.730 INFO    ] 2026-08-29 13:54:36
[2026-08-29 13:54:36,981.981 INFO    ] 2026-08-29 13:54:36
[2026-08-29 13:54:37,015.015 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:54:37,191.191 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:54:37,205.205 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:54:37,333.333 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:54:37,353.353 INFO    ] time= 29/08/2026 13:54:37
[2026-08-29 13:54:37,361.361 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:54:37,367.367 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:54:37,436.436 INFO    ] No existing commands found in stream
[2026-08-29 13:54:42,464.464 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:54:42,467.467 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-08-29 13:54:44,747.747 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:54:44,748.748 INFO    ] Checking for system updates...
[2026-08-29 13:54:44,770.770 INFO    ] 200
[2026-08-29 13:54:44,771.771 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:54:44,803.803 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:54:44,804.804 INFO    ] No update needed
[2026-08-29 13:54:44,806.806 INFO    ] Checking for camera pi updates...
[2026-08-29 13:54:44,826.826 INFO    ] 200
[2026-08-29 13:54:44,827.827 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:54:44,852.852 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:54:44,932.932 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:54:44,933.933 INFO    ] No camera update needed
[2026-08-29 13:54:44,934.934 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:54:44,936.936 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:54:44,938.938 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:54:44,941.941 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:54:46,980.980 INFO    ] ================================================
[2026-08-29 13:54:47,995.995 INFO    ] Launching Daemon at Sat Aug 29 13:54:46 IST 2026
[2026-08-29 13:54:47,005.005 INFO    ] ================================================
[2026-08-29 13:54:47,327.327 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:54:47
[2026-08-29 13:54:47,790.790 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:54:48,059.059 INFO    ] Initializing speech engine...
[2026-08-29 13:54:48,067.067 INFO    ] 2026-08-29 13:54:48
[2026-08-29 13:54:48,313.313 INFO    ] 2026-08-29 13:54:48
[2026-08-29 13:54:48,348.348 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:54:48,519.519 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:54:48,533.533 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:54:48,677.677 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:54:48,682.682 INFO    ] time= 29/08/2026 13:54:48
[2026-08-29 13:54:48,689.689 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:54:48,714.714 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:54:48,845.845 INFO    ] No existing commands found in stream
[2026-08-29 13:54:53,870.870 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:54:53,873.873 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-08-29 13:54:56,013.013 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:54:56,014.014 INFO    ] Checking for system updates...
[2026-08-29 13:54:56,036.036 INFO    ] 200
[2026-08-29 13:54:56,038.038 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:54:56,070.070 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:54:56,071.071 INFO    ] No update needed
[2026-08-29 13:54:56,073.073 INFO    ] Checking for camera pi updates...
[2026-08-29 13:54:56,093.093 INFO    ] 200
[2026-08-29 13:54:56,094.094 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:54:56,119.119 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:54:56,217.217 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:54:56,218.218 INFO    ] No camera update needed
[2026-08-29 13:54:56,219.219 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:54:56,221.221 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:54:56,230.230 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:54:56,233.233 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:54:58,273.273 INFO    ] ================================================
[2026-08-29 13:54:58,288.288 INFO    ] Launching Daemon at Sat Aug 29 13:54:58 IST 2026
[2026-08-29 13:54:58,299.299 INFO    ] ================================================
[2026-08-29 13:54:58,651.651 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:54:58
[2026-08-29 13:54:58,962.962 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:54:59,094.094 INFO    ] Initializing speech engine...
[2026-08-29 13:54:59,106.106 INFO    ] 2026-08-29 13:54:59
[2026-08-29 13:54:59,311.311 INFO    ] 2026-08-29 13:54:59
[2026-08-29 13:54:59,340.340 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:54:59,461.461 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:54:59,500.500 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:54:59,659.659 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:54:59,726.726 INFO    ] time= 29/08/2026 13:54:59
[2026-08-29 13:54:59,753.753 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:54:59,759.759 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:54:59,824.824 INFO    ] No existing commands found in stream
[2026-08-29 13:55:04,835.835 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:55:04,837.837 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-08-29 13:55:07,515.515 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:55:07,516.516 INFO    ] Checking for system updates...
[2026-08-29 13:55:07,536.536 INFO    ] 200
[2026-08-29 13:55:07,538.538 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:55:07,569.569 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:55:07,571.571 INFO    ] No update needed
[2026-08-29 13:55:07,573.573 INFO    ] Checking for camera pi updates...
[2026-08-29 13:55:07,593.593 INFO    ] 200
[2026-08-29 13:55:07,595.595 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:55:07,619.619 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:55:07,693.693 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:55:07,694.694 INFO    ] No camera update needed
[2026-08-29 13:55:07,695.695 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:55:07,696.696 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:55:07,699.699 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:55:07,702.702 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:55:09,741.741 INFO    ] ================================================
[2026-08-29 13:55:09,757.757 INFO    ] Launching Daemon at Sat Aug 29 13:55:09 IST 2026
[2026-08-29 13:55:09,768.768 INFO    ] ================================================
[2026-08-29 13:55:10,124.124 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:55:10
[2026-08-29 13:55:10,436.436 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:55:10,668.668 INFO    ] Initializing speech engine...
[2026-08-29 13:55:10,681.681 INFO    ] 2026-08-29 13:55:10
[2026-08-29 13:55:10,946.946 INFO    ] 2026-08-29 13:55:10
[2026-08-29 13:55:10,982.982 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:55:11,160.160 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:55:11,173.173 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:55:11,323.323 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:55:11,331.331 INFO    ] time= 29/08/2026 13:55:11
[2026-08-29 13:55:11,361.361 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:55:11,399.399 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:55:11,513.513 INFO    ] No existing commands found in stream
[2026-08-29 13:55:16,538.538 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:55:16,541.541 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-08-29 13:55:17,397.397 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:55:17,398.398 INFO    ] Checking for system updates...
[2026-08-29 13:55:17,419.419 INFO    ] 200
[2026-08-29 13:55:17,421.421 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:55:17,450.450 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:55:17,452.452 INFO    ] No update needed
[2026-08-29 13:55:17,454.454 INFO    ] Checking for camera pi updates...
[2026-08-29 13:55:17,476.476 INFO    ] 200
[2026-08-29 13:55:17,478.478 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:55:17,505.505 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:55:17,609.609 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:55:17,610.610 INFO    ] No camera update needed
[2026-08-29 13:55:17,612.612 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:55:17,613.613 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:55:17,617.617 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:55:17,620.620 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:55:19,659.659 INFO    ] ================================================
[2026-08-29 13:55:19,674.674 INFO    ] Launching Daemon at Sat Aug 29 13:55:19 IST 2026
[2026-08-29 13:55:19,686.686 INFO    ] ================================================
[2026-08-29 13:55:20,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:55:20
[2026-08-29 13:55:20,380.380 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:55:20,524.524 INFO    ] Initializing speech engine...
[2026-08-29 13:55:20,529.529 INFO    ] 2026-08-29 13:55:20
[2026-08-29 13:55:20,738.738 INFO    ] 2026-08-29 13:55:20
[2026-08-29 13:55:20,821.821 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:55:20,969.969 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:55:20,978.978 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:55:21,110.110 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:55:21,147.147 INFO    ] time= 29/08/2026 13:55:21
[2026-08-29 13:55:21,207.207 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:55:21,244.244 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:55:21,301.301 INFO    ] No existing commands found in stream
[2026-08-29 13:55:26,313.313 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:55:26,316.316 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-08-29 13:55:30,545.545 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:55:30,547.547 INFO    ] Checking for system updates...
[2026-08-29 13:55:30,568.568 INFO    ] 200
[2026-08-29 13:55:30,569.569 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:55:30,602.602 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:55:30,603.603 INFO    ] No update needed
[2026-08-29 13:55:30,604.604 INFO    ] Checking for camera pi updates...
[2026-08-29 13:55:30,625.625 INFO    ] 200
[2026-08-29 13:55:30,626.626 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:55:30,649.649 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:55:30,728.728 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:55:30,730.730 INFO    ] No camera update needed
[2026-08-29 13:55:30,731.731 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:55:30,732.732 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:55:30,735.735 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:55:30,738.738 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:55:32,772.772 INFO    ] ================================================
[2026-08-29 13:55:32,787.787 INFO    ] Launching Daemon at Sat Aug 29 13:55:32 IST 2026
[2026-08-29 13:55:32,798.798 INFO    ] ================================================
[2026-08-29 13:55:33,364.364 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:55:33
[2026-08-29 13:55:33,946.946 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:55:34,215.215 INFO    ] Initializing speech engine...
[2026-08-29 13:55:34,224.224 INFO    ] 2026-08-29 13:55:34
[2026-08-29 13:55:34,469.469 INFO    ] 2026-08-29 13:55:34
[2026-08-29 13:55:34,533.533 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:55:34,675.675 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:55:34,688.688 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:55:34,828.828 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:55:34,837.837 INFO    ] time= 29/08/2026 13:55:34
[2026-08-29 13:55:34,844.844 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:55:34,894.894 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:55:34,999.999 INFO    ] No existing commands found in stream
[2026-08-29 13:55:40,010.010 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:55:40,013.013 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-08-29 13:55:43,824.824 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 13:55:43,825.825 INFO    ] Checking for system updates...
[2026-08-29 13:55:43,847.847 INFO    ] 200
[2026-08-29 13:55:43,849.849 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:55:43,879.879 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:55:43,881.881 INFO    ] No update needed
[2026-08-29 13:55:43,882.882 INFO    ] Checking for camera pi updates...
[2026-08-29 13:55:43,903.903 INFO    ] 200
[2026-08-29 13:55:43,904.904 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:55:43,936.936 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:55:44,015.015 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:55:44,017.017 INFO    ] No camera update needed
[2026-08-29 13:55:44,018.018 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:55:44,019.019 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:55:44,023.023 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:55:44,026.026 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:55:46,067.067 INFO    ] ================================================
[2026-08-29 13:55:46,083.083 INFO    ] Launching Daemon at Sat Aug 29 13:55:46 IST 2026
[2026-08-29 13:55:46,094.094 INFO    ] ================================================
[2026-08-29 13:55:46,464.464 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:55:46
[2026-08-29 13:55:46,963.963 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:55:47,225.225 INFO    ] Initializing speech engine...
[2026-08-29 13:55:47,244.244 INFO    ] 2026-08-29 13:55:47
[2026-08-29 13:55:47,494.494 INFO    ] 2026-08-29 13:55:47
[2026-08-29 13:55:47,529.529 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:55:47,705.705 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:55:47,718.718 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:55:47,861.861 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:55:47,869.869 INFO    ] time= 29/08/2026 13:55:47
[2026-08-29 13:55:47,874.874 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:55:47,880.880 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:55:47,946.946 INFO    ] No existing commands found in stream
[2026-08-29 13:55:52,958.958 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:55:52,961.961 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-08-29 13:55:55,996.996 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:55:55,998.998 INFO    ] Checking for system updates...
[2026-08-29 13:55:56,019.019 INFO    ] 200
[2026-08-29 13:55:56,020.020 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:55:56,050.050 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:55:56,052.052 INFO    ] No update needed
[2026-08-29 13:55:56,053.053 INFO    ] Checking for camera pi updates...
[2026-08-29 13:55:56,072.072 INFO    ] 200
[2026-08-29 13:55:56,073.073 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:55:56,096.096 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:55:56,185.185 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:55:56,186.186 INFO    ] No camera update needed
[2026-08-29 13:55:56,187.187 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:55:56,188.188 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:55:56,191.191 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:55:56,194.194 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:55:58,234.234 INFO    ] ================================================
[2026-08-29 13:55:58,250.250 INFO    ] Launching Daemon at Sat Aug 29 13:55:58 IST 2026
[2026-08-29 13:55:58,261.261 INFO    ] ================================================
[2026-08-29 13:55:58,625.625 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:55:58
[2026-08-29 13:55:58,971.971 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:55:59,123.123 INFO    ] Initializing speech engine...
[2026-08-29 13:55:59,128.128 INFO    ] 2026-08-29 13:55:59
[2026-08-29 13:55:59,337.337 INFO    ] 2026-08-29 13:55:59
[2026-08-29 13:55:59,366.366 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:55:59,492.492 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:55:59,550.550 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:55:59,681.681 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:55:59,742.742 INFO    ] time= 29/08/2026 13:55:59
[2026-08-29 13:55:59,780.780 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:55:59,786.786 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:55:59,852.852 INFO    ] No existing commands found in stream
[2026-08-29 13:56:04,864.864 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:56:04,867.867 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-08-29 13:56:07,526.526 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:56:07,527.527 INFO    ] Checking for system updates...
[2026-08-29 13:56:07,550.550 INFO    ] 200
[2026-08-29 13:56:07,551.551 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:56:07,585.585 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:56:07,586.586 INFO    ] No update needed
[2026-08-29 13:56:07,588.588 INFO    ] Checking for camera pi updates...
[2026-08-29 13:56:07,607.607 INFO    ] 200
[2026-08-29 13:56:07,608.608 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:56:07,631.631 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:56:07,703.703 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:56:07,704.704 INFO    ] No camera update needed
[2026-08-29 13:56:07,706.706 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:56:07,707.707 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:56:07,710.710 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:56:07,713.713 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:56:09,754.754 INFO    ] ================================================
[2026-08-29 13:56:09,770.770 INFO    ] Launching Daemon at Sat Aug 29 13:56:09 IST 2026
[2026-08-29 13:56:09,781.781 INFO    ] ================================================
[2026-08-29 13:56:10,122.122 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:56:10
[2026-08-29 13:56:10,441.441 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:56:10,576.576 INFO    ] Initializing speech engine...
[2026-08-29 13:56:10,581.581 INFO    ] 2026-08-29 13:56:10
[2026-08-29 13:56:10,780.780 INFO    ] 2026-08-29 13:56:10
[2026-08-29 13:56:10,820.820 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:56:10,960.960 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:56:10,964.964 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:56:11,120.120 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:56:11,128.128 INFO    ] time= 29/08/2026 13:56:11
[2026-08-29 13:56:11,187.187 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:56:11,237.237 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:56:11,304.304 INFO    ] No existing commands found in stream
[2026-08-29 13:56:16,317.317 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:56:16,320.320 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-08-29 13:56:17,968.968 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:56:17,969.969 INFO    ] Checking for system updates...
[2026-08-29 13:56:17,989.989 INFO    ] 200
[2026-08-29 13:56:17,991.991 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:56:18,025.025 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:56:18,026.026 INFO    ] No update needed
[2026-08-29 13:56:18,028.028 INFO    ] Checking for camera pi updates...
[2026-08-29 13:56:18,048.048 INFO    ] 200
[2026-08-29 13:56:18,050.050 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:56:18,074.074 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:56:18,149.149 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:56:18,150.150 INFO    ] No camera update needed
[2026-08-29 13:56:18,152.152 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:56:18,153.153 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:56:18,156.156 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:56:18,159.159 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:56:20,197.197 INFO    ] ================================================
[2026-08-29 13:56:20,213.213 INFO    ] Launching Daemon at Sat Aug 29 13:56:20 IST 2026
[2026-08-29 13:56:20,224.224 INFO    ] ================================================
[2026-08-29 13:56:20,555.555 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:56:20
[2026-08-29 13:56:20,873.873 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:56:21,009.009 INFO    ] Initializing speech engine...
[2026-08-29 13:56:21,017.017 INFO    ] 2026-08-29 13:56:21
[2026-08-29 13:56:21,247.247 INFO    ] 2026-08-29 13:56:21
[2026-08-29 13:56:21,302.302 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:56:21,464.464 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:56:21,471.471 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:56:21,646.646 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:56:21,672.672 INFO    ] time= 29/08/2026 13:56:21
[2026-08-29 13:56:21,678.678 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:56:21,696.696 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:56:21,812.812 INFO    ] No existing commands found in stream
[2026-08-29 13:56:26,836.836 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:56:26,839.839 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 13:56:28,995.995 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:56:28,996.996 INFO    ] Checking for system updates...
[2026-08-29 13:56:29,016.016 INFO    ] 200
[2026-08-29 13:56:29,018.018 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:56:29,049.049 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:56:29,051.051 INFO    ] No update needed
[2026-08-29 13:56:29,053.053 INFO    ] Checking for camera pi updates...
[2026-08-29 13:56:29,073.073 INFO    ] 200
[2026-08-29 13:56:29,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:56:29,099.099 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:56:29,174.174 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:56:29,176.176 INFO    ] No camera update needed
[2026-08-29 13:56:29,177.177 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:56:29,178.178 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:56:29,181.181 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:56:29,184.184 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:56:31,222.222 INFO    ] ================================================
[2026-08-29 13:56:31,239.239 INFO    ] Launching Daemon at Sat Aug 29 13:56:31 IST 2026
[2026-08-29 13:56:31,251.251 INFO    ] ================================================
[2026-08-29 13:56:31,866.866 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:56:31
[2026-08-29 13:56:32,509.509 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:56:32,804.804 INFO    ] Initializing speech engine...
[2026-08-29 13:56:32,813.813 INFO    ] 2026-08-29 13:56:32
[2026-08-29 13:56:33,064.064 INFO    ] 2026-08-29 13:56:33
[2026-08-29 13:56:33,130.130 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:56:33,276.276 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:56:33,299.299 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:56:33,432.432 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:56:33,437.437 INFO    ] time= 29/08/2026 13:56:33
[2026-08-29 13:56:33,443.443 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:56:33,484.484 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:56:33,602.602 INFO    ] No existing commands found in stream
[2026-08-29 13:56:38,633.633 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:56:38,636.636 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 13:56:39,874.874 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:56:39,877.877 INFO    ] Checking for system updates...
[2026-08-29 13:56:39,912.912 INFO    ] 200
[2026-08-29 13:56:39,915.915 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:56:39,967.967 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:56:39,970.970 INFO    ] No update needed
[2026-08-29 13:56:39,972.972 INFO    ] Checking for camera pi updates...
[2026-08-29 13:56:40,009.009 INFO    ] 200
[2026-08-29 13:56:40,012.012 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:56:40,057.057 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:56:40,159.159 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:56:40,162.162 INFO    ] No camera update needed
[2026-08-29 13:56:40,164.164 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:56:40,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:56:40,171.171 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:56:40,176.176 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:56:42,218.218 INFO    ] ================================================
[2026-08-29 13:56:42,234.234 INFO    ] Launching Daemon at Sat Aug 29 13:56:42 IST 2026
[2026-08-29 13:56:42,245.245 INFO    ] ================================================
[2026-08-29 13:56:42,601.601 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:56:42
[2026-08-29 13:56:42,944.944 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:56:43,253.253 INFO    ] Initializing speech engine...
[2026-08-29 13:56:43,268.268 INFO    ] 2026-08-29 13:56:43
[2026-08-29 13:56:43,580.580 INFO    ] 2026-08-29 13:56:43
[2026-08-29 13:56:43,671.671 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:56:43,829.829 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:56:43,836.836 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:56:43,969.969 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:56:44,022.022 INFO    ] time= 29/08/2026 13:56:43
[2026-08-29 13:56:44,082.082 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:56:44,110.110 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:56:44,222.222 INFO    ] No existing commands found in stream
[2026-08-29 13:56:49,245.245 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:56:49,249.249 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-08-29 13:56:52,537.537 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:56:52,539.539 INFO    ] Checking for system updates...
[2026-08-29 13:56:52,561.561 INFO    ] 200
[2026-08-29 13:56:52,562.562 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:56:52,595.595 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:56:52,597.597 INFO    ] No update needed
[2026-08-29 13:56:52,599.599 INFO    ] Checking for camera pi updates...
[2026-08-29 13:56:52,618.618 INFO    ] 200
[2026-08-29 13:56:52,620.620 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:56:52,644.644 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:56:52,719.719 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:56:52,720.720 INFO    ] No camera update needed
[2026-08-29 13:56:52,721.721 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:56:52,723.723 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:56:52,726.726 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:56:52,729.729 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:56:54,769.769 INFO    ] ================================================
[2026-08-29 13:56:54,784.784 INFO    ] Launching Daemon at Sat Aug 29 13:56:54 IST 2026
[2026-08-29 13:56:54,795.795 INFO    ] ================================================
[2026-08-29 13:56:55,131.131 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:56:55
[2026-08-29 13:56:55,447.447 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:56:55,583.583 INFO    ] Initializing speech engine...
[2026-08-29 13:56:55,596.596 INFO    ] 2026-08-29 13:56:55
[2026-08-29 13:56:55,815.815 INFO    ] 2026-08-29 13:56:55
[2026-08-29 13:56:55,846.846 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:56:56,012.012 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:56:56,018.018 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:56:56,167.167 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:56:56,174.174 INFO    ] time= 29/08/2026 13:56:56
[2026-08-29 13:56:56,192.192 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:56:56,201.201 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:56:56,319.319 INFO    ] No existing commands found in stream
[2026-08-29 13:57:01,350.350 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:57:01,353.353 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-08-29 13:57:03,101.101 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:57:03,104.104 INFO    ] Checking for system updates...
[2026-08-29 13:57:03,139.139 INFO    ] 200
[2026-08-29 13:57:03,142.142 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:57:03,195.195 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:57:03,197.197 INFO    ] No update needed
[2026-08-29 13:57:03,199.199 INFO    ] Checking for camera pi updates...
[2026-08-29 13:57:03,232.232 INFO    ] 200
[2026-08-29 13:57:03,235.235 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:57:03,274.274 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:57:03,327.327 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:57:03,330.330 INFO    ] No camera update needed
[2026-08-29 13:57:03,332.332 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:57:03,334.334 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:57:03,340.340 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:57:03,345.345 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:57:05,385.385 INFO    ] ================================================
[2026-08-29 13:57:05,401.401 INFO    ] Launching Daemon at Sat Aug 29 13:57:05 IST 2026
[2026-08-29 13:57:05,412.412 INFO    ] ================================================
[2026-08-29 13:57:05,812.812 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:57:05
[2026-08-29 13:57:06,488.488 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:57:06,798.798 INFO    ] Initializing speech engine...
[2026-08-29 13:57:06,810.810 INFO    ] 2026-08-29 13:57:06
[2026-08-29 13:57:07,125.125 INFO    ] 2026-08-29 13:57:07
[2026-08-29 13:57:07,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:57:07,368.368 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:57:07,375.375 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:57:07,508.508 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:57:07,579.579 INFO    ] time= 29/08/2026 13:57:07
[2026-08-29 13:57:07,636.636 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:57:07,643.643 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:57:07,768.768 INFO    ] No existing commands found in stream
[2026-08-29 13:57:12,799.799 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:57:12,802.802 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-08-29 13:57:14,554.554 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:57:14,555.555 INFO    ] Checking for system updates...
[2026-08-29 13:57:14,576.576 INFO    ] 200
[2026-08-29 13:57:14,577.577 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:57:14,613.613 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:57:14,616.616 INFO    ] No update needed
[2026-08-29 13:57:14,619.619 INFO    ] Checking for camera pi updates...
[2026-08-29 13:57:14,657.657 INFO    ] 200
[2026-08-29 13:57:14,660.660 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:57:14,707.707 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:57:14,789.789 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:57:14,793.793 INFO    ] No camera update needed
[2026-08-29 13:57:14,795.795 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:57:14,798.798 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:57:14,804.804 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:57:14,810.810 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:57:16,851.851 INFO    ] ================================================
[2026-08-29 13:57:16,867.867 INFO    ] Launching Daemon at Sat Aug 29 13:57:16 IST 2026
[2026-08-29 13:57:16,885.885 INFO    ] ================================================
[2026-08-29 13:57:17,475.475 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:57:17
[2026-08-29 13:57:17,912.912 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:57:18,139.139 INFO    ] Initializing speech engine...
[2026-08-29 13:57:18,146.146 INFO    ] 2026-08-29 13:57:18
[2026-08-29 13:57:18,423.423 INFO    ] 2026-08-29 13:57:18
[2026-08-29 13:57:18,457.457 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:57:18,633.633 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:57:18,647.647 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:57:18,761.761 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:57:18,776.776 INFO    ] time= 29/08/2026 13:57:18
[2026-08-29 13:57:18,800.800 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:57:18,808.808 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:57:18,880.880 INFO    ] No existing commands found in stream
[2026-08-29 13:57:23,915.915 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:57:23,917.917 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-08-29 13:57:27,308.308 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:57:27,309.309 INFO    ] Checking for system updates...
[2026-08-29 13:57:27,329.329 INFO    ] 200
[2026-08-29 13:57:27,331.331 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:57:27,361.361 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:57:27,363.363 INFO    ] No update needed
[2026-08-29 13:57:27,364.364 INFO    ] Checking for camera pi updates...
[2026-08-29 13:57:27,384.384 INFO    ] 200
[2026-08-29 13:57:27,386.386 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:57:27,412.412 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:57:27,528.528 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:57:27,530.530 INFO    ] No camera update needed
[2026-08-29 13:57:27,533.533 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:57:27,535.535 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:57:27,540.540 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:57:27,545.545 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:57:29,586.586 INFO    ] ================================================
[2026-08-29 13:57:29,601.601 INFO    ] Launching Daemon at Sat Aug 29 13:57:29 IST 2026
[2026-08-29 13:57:29,612.612 INFO    ] ================================================
[2026-08-29 13:57:30,187.187 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:57:30
[2026-08-29 13:57:30,621.621 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:57:30,750.750 INFO    ] Initializing speech engine...
[2026-08-29 13:57:30,755.755 INFO    ] 2026-08-29 13:57:30
[2026-08-29 13:57:30,950.950 INFO    ] 2026-08-29 13:57:30
[2026-08-29 13:57:30,985.985 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:57:31,175.175 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:57:31,194.194 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:57:31,343.343 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:57:31,354.354 INFO    ] time= 29/08/2026 13:57:31
[2026-08-29 13:57:31,359.359 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:57:31,365.365 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:57:31,433.433 INFO    ] No existing commands found in stream
[2026-08-29 13:57:36,466.466 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:57:36,469.469 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-08-29 13:57:39,347.347 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 13:57:39,349.349 INFO    ] Checking for system updates...
[2026-08-29 13:57:39,370.370 INFO    ] 200
[2026-08-29 13:57:39,371.371 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:57:39,403.403 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:57:39,404.404 INFO    ] No update needed
[2026-08-29 13:57:39,405.405 INFO    ] Checking for camera pi updates...
[2026-08-29 13:57:39,429.429 INFO    ] 200
[2026-08-29 13:57:39,432.432 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:57:39,473.473 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:57:39,662.662 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:57:39,665.665 INFO    ] No camera update needed
[2026-08-29 13:57:39,668.668 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:57:39,671.671 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:57:39,677.677 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:57:39,683.683 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:57:41,727.727 INFO    ] ================================================
[2026-08-29 13:57:41,743.743 INFO    ] Launching Daemon at Sat Aug 29 13:57:41 IST 2026
[2026-08-29 13:57:41,754.754 INFO    ] ================================================
[2026-08-29 13:57:42,413.413 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:57:42
[2026-08-29 13:57:42,822.822 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:57:43,112.112 INFO    ] Initializing speech engine...
[2026-08-29 13:57:43,117.117 INFO    ] 2026-08-29 13:57:43
[2026-08-29 13:57:43,430.430 INFO    ] 2026-08-29 13:57:43
[2026-08-29 13:57:43,517.517 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:57:43,673.673 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:57:43,680.680 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:57:43,811.811 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:57:43,864.864 INFO    ] time= 29/08/2026 13:57:43
[2026-08-29 13:57:43,914.914 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:57:43,949.949 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:57:44,058.058 INFO    ] No existing commands found in stream
[2026-08-29 13:57:49,081.081 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:57:49,084.084 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-08-29 13:57:51,925.925 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:57:51,927.927 INFO    ] Checking for system updates...
[2026-08-29 13:57:51,947.947 INFO    ] 200
[2026-08-29 13:57:51,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:57:51,980.980 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:57:51,981.981 INFO    ] No update needed
[2026-08-29 13:57:51,983.983 INFO    ] Checking for camera pi updates...
[2026-08-29 13:57:52,003.003 INFO    ] 200
[2026-08-29 13:57:52,004.004 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:57:52,039.039 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:57:52,114.114 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:57:52,115.115 INFO    ] No camera update needed
[2026-08-29 13:57:52,116.116 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:57:52,118.118 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:57:52,121.121 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:57:52,124.124 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:57:54,163.163 INFO    ] ================================================
[2026-08-29 13:57:54,178.178 INFO    ] Launching Daemon at Sat Aug 29 13:57:54 IST 2026
[2026-08-29 13:57:54,189.189 INFO    ] ================================================
[2026-08-29 13:57:54,542.542 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:57:54
[2026-08-29 13:57:54,854.854 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:57:54,985.985 INFO    ] Initializing speech engine...
[2026-08-29 13:57:54,990.990 INFO    ] 2026-08-29 13:57:54
[2026-08-29 13:57:55,221.221 INFO    ] 2026-08-29 13:57:55
[2026-08-29 13:57:55,251.251 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:57:55,383.383 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:57:55,427.427 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:57:55,567.567 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:57:55,597.597 INFO    ] time= 29/08/2026 13:57:55
[2026-08-29 13:57:55,648.648 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:57:55,698.698 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:57:55,778.778 INFO    ] No existing commands found in stream
[2026-08-29 13:58:00,789.789 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:58:00,792.792 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-08-29 13:58:02,968.968 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:58:02,971.971 INFO    ] Checking for system updates...
[2026-08-29 13:58:03,018.018 INFO    ] 200
[2026-08-29 13:58:03,021.021 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:58:03,087.087 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:58:03,090.090 INFO    ] No update needed
[2026-08-29 13:58:03,094.094 INFO    ] Checking for camera pi updates...
[2026-08-29 13:58:03,149.149 INFO    ] 200
[2026-08-29 13:58:03,152.152 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:58:03,206.206 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:58:03,297.297 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:58:03,301.301 INFO    ] No camera update needed
[2026-08-29 13:58:03,304.304 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:58:03,308.308 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:58:03,316.316 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:58:03,324.324 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:58:05,366.366 INFO    ] ================================================
[2026-08-29 13:58:05,382.382 INFO    ] Launching Daemon at Sat Aug 29 13:58:05 IST 2026
[2026-08-29 13:58:05,393.393 INFO    ] ================================================
[2026-08-29 13:58:05,750.750 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:58:05
[2026-08-29 13:58:06,089.089 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:58:06,240.240 INFO    ] Initializing speech engine...
[2026-08-29 13:58:06,245.245 INFO    ] 2026-08-29 13:58:06
[2026-08-29 13:58:06,473.473 INFO    ] 2026-08-29 13:58:06
[2026-08-29 13:58:06,558.558 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:58:06,725.725 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:58:06,735.735 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:58:06,869.869 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:58:06,913.913 INFO    ] time= 29/08/2026 13:58:06
[2026-08-29 13:58:06,962.962 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:58:06,999.999 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:58:07,087.087 INFO    ] No existing commands found in stream
[2026-08-29 13:58:12,124.124 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:58:12,127.127 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-08-29 13:58:15,755.755 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:58:15,756.756 INFO    ] Checking for system updates...
[2026-08-29 13:58:15,777.777 INFO    ] 200
[2026-08-29 13:58:15,778.778 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:58:15,809.809 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:58:15,810.810 INFO    ] No update needed
[2026-08-29 13:58:15,812.812 INFO    ] Checking for camera pi updates...
[2026-08-29 13:58:15,831.831 INFO    ] 200
[2026-08-29 13:58:15,833.833 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:58:15,857.857 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:58:15,953.953 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:58:15,954.954 INFO    ] No camera update needed
[2026-08-29 13:58:15,956.956 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:58:15,957.957 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:58:15,960.960 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:58:15,963.963 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:58:18,003.003 INFO    ] ================================================
[2026-08-29 13:58:18,019.019 INFO    ] Launching Daemon at Sat Aug 29 13:58:18 IST 2026
[2026-08-29 13:58:18,030.030 INFO    ] ================================================
[2026-08-29 13:58:18,547.547 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:58:18
[2026-08-29 13:58:19,133.133 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:58:19,387.387 INFO    ] Initializing speech engine...
[2026-08-29 13:58:19,394.394 INFO    ] 2026-08-29 13:58:19
[2026-08-29 13:58:19,690.690 INFO    ] 2026-08-29 13:58:19
[2026-08-29 13:58:19,716.716 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:58:19,879.879 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:58:19,884.884 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:58:20,035.035 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:58:20,045.045 INFO    ] time= 29/08/2026 13:58:20
[2026-08-29 13:58:20,050.050 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:58:20,056.056 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:58:20,120.120 INFO    ] No existing commands found in stream
[2026-08-29 13:58:25,132.132 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:58:25,135.135 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-08-29 13:58:28,954.954 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:58:28,955.955 INFO    ] Checking for system updates...
[2026-08-29 13:58:28,976.976 INFO    ] 200
[2026-08-29 13:58:28,977.977 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:58:29,007.007 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:58:29,008.008 INFO    ] No update needed
[2026-08-29 13:58:29,010.010 INFO    ] Checking for camera pi updates...
[2026-08-29 13:58:29,029.029 INFO    ] 200
[2026-08-29 13:58:29,030.030 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:58:29,053.053 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:58:29,151.151 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:58:29,153.153 INFO    ] No camera update needed
[2026-08-29 13:58:29,154.154 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:58:29,155.155 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:58:29,158.158 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:58:29,161.161 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:58:31,200.200 INFO    ] ================================================
[2026-08-29 13:58:31,215.215 INFO    ] Launching Daemon at Sat Aug 29 13:58:31 IST 2026
[2026-08-29 13:58:31,227.227 INFO    ] ================================================
[2026-08-29 13:58:31,743.743 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:58:31
[2026-08-29 13:58:32,366.366 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:58:32,659.659 INFO    ] Initializing speech engine...
[2026-08-29 13:58:32,669.669 INFO    ] 2026-08-29 13:58:32
[2026-08-29 13:58:32,959.959 INFO    ] 2026-08-29 13:58:32
[2026-08-29 13:58:33,019.019 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:58:33,263.263 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:58:33,271.271 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:58:33,402.402 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:58:33,444.444 INFO    ] time= 29/08/2026 13:58:33
[2026-08-29 13:58:33,514.514 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:58:33,535.535 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:58:33,586.586 INFO    ] No existing commands found in stream
[2026-08-29 13:58:38,598.598 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:58:38,600.600 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-08-29 13:58:41,135.135 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 13:58:41,137.137 INFO    ] Checking for system updates...
[2026-08-29 13:58:41,158.158 INFO    ] 200
[2026-08-29 13:58:41,159.159 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:58:41,189.189 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:58:41,191.191 INFO    ] No update needed
[2026-08-29 13:58:41,192.192 INFO    ] Checking for camera pi updates...
[2026-08-29 13:58:41,211.211 INFO    ] 200
[2026-08-29 13:58:41,213.213 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:58:41,235.235 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:58:41,326.326 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:58:41,328.328 INFO    ] No camera update needed
[2026-08-29 13:58:41,331.331 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:58:41,333.333 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:58:41,338.338 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:58:41,343.343 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:58:43,388.388 INFO    ] ================================================
[2026-08-29 13:58:43,404.404 INFO    ] Launching Daemon at Sat Aug 29 13:58:43 IST 2026
[2026-08-29 13:58:43,415.415 INFO    ] ================================================
[2026-08-29 13:58:44,000.000 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:58:43
[2026-08-29 13:58:44,492.492 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:58:44,635.635 INFO    ] Initializing speech engine...
[2026-08-29 13:58:44,639.639 INFO    ] 2026-08-29 13:58:44
[2026-08-29 13:58:44,845.845 INFO    ] 2026-08-29 13:58:44
[2026-08-29 13:58:44,873.873 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:58:44,993.993 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:58:45,043.043 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:58:45,200.200 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:58:45,254.254 INFO    ] time= 29/08/2026 13:58:45
[2026-08-29 13:58:45,298.298 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:58:45,333.333 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:58:45,456.456 INFO    ] No existing commands found in stream
[2026-08-29 13:58:50,470.470 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:58:50,473.473 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-08-29 13:58:54,732.732 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:58:54,734.734 INFO    ] Checking for system updates...
[2026-08-29 13:58:54,754.754 INFO    ] 200
[2026-08-29 13:58:54,756.756 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:58:54,786.786 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:58:54,787.787 INFO    ] No update needed
[2026-08-29 13:58:54,788.788 INFO    ] Checking for camera pi updates...
[2026-08-29 13:58:54,808.808 INFO    ] 200
[2026-08-29 13:58:54,809.809 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:58:54,835.835 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:58:54,929.929 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:58:54,930.930 INFO    ] No camera update needed
[2026-08-29 13:58:54,932.932 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:58:54,933.933 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:58:54,936.936 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:58:54,939.939 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:58:56,977.977 INFO    ] ================================================
[2026-08-29 13:58:56,992.992 INFO    ] Launching Daemon at Sat Aug 29 13:58:56 IST 2026
[2026-08-29 13:58:57,004.004 INFO    ] ================================================
[2026-08-29 13:58:57,404.404 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:58:57
[2026-08-29 13:58:57,781.781 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:58:58,051.051 INFO    ] Initializing speech engine...
[2026-08-29 13:58:58,060.060 INFO    ] 2026-08-29 13:58:58
[2026-08-29 13:58:58,308.308 INFO    ] 2026-08-29 13:58:58
[2026-08-29 13:58:58,342.342 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:58:58,514.514 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:58:58,525.525 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:58:58,665.665 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:58:58,674.674 INFO    ] time= 29/08/2026 13:58:58
[2026-08-29 13:58:58,680.680 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:58:58,726.726 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:58:58,848.848 INFO    ] No existing commands found in stream
[2026-08-29 13:59:03,878.878 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:59:03,881.881 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-08-29 13:59:05,980.980 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 13:59:05,982.982 INFO    ] Checking for system updates...
[2026-08-29 13:59:06,003.003 INFO    ] 200
[2026-08-29 13:59:06,004.004 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:59:06,034.034 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:59:06,036.036 INFO    ] No update needed
[2026-08-29 13:59:06,037.037 INFO    ] Checking for camera pi updates...
[2026-08-29 13:59:06,059.059 INFO    ] 200
[2026-08-29 13:59:06,061.061 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:59:06,101.101 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:59:06,189.189 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:59:06,191.191 INFO    ] No camera update needed
[2026-08-29 13:59:06,194.194 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:59:06,196.196 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:59:06,201.201 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:59:06,206.206 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:59:08,247.247 INFO    ] ================================================
[2026-08-29 13:59:08,268.268 INFO    ] Launching Daemon at Sat Aug 29 13:59:08 IST 2026
[2026-08-29 13:59:08,280.280 INFO    ] ================================================
[2026-08-29 13:59:08,865.865 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:59:08
[2026-08-29 13:59:09,332.332 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:59:09,470.470 INFO    ] Initializing speech engine...
[2026-08-29 13:59:09,479.479 INFO    ] 2026-08-29 13:59:09
[2026-08-29 13:59:09,683.683 INFO    ] 2026-08-29 13:59:09
[2026-08-29 13:59:09,712.712 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:59:09,896.896 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:59:09,906.906 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:59:10,027.027 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:59:10,077.077 INFO    ] time= 29/08/2026 13:59:10
[2026-08-29 13:59:10,116.116 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:59:10,126.126 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:59:10,197.197 INFO    ] No existing commands found in stream
[2026-08-29 13:59:15,207.207 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:59:15,210.210 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-08-29 13:59:18,562.562 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:59:18,564.564 INFO    ] Checking for system updates...
[2026-08-29 13:59:18,584.584 INFO    ] 200
[2026-08-29 13:59:18,586.586 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:59:18,615.615 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:59:18,617.617 INFO    ] No update needed
[2026-08-29 13:59:18,618.618 INFO    ] Checking for camera pi updates...
[2026-08-29 13:59:18,637.637 INFO    ] 200
[2026-08-29 13:59:18,638.638 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:59:18,663.663 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:59:18,763.763 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:59:18,764.764 INFO    ] No camera update needed
[2026-08-29 13:59:18,765.765 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:59:18,767.767 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:59:18,769.769 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:59:18,772.772 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:59:20,811.811 INFO    ] ================================================
[2026-08-29 13:59:20,826.826 INFO    ] Launching Daemon at Sat Aug 29 13:59:20 IST 2026
[2026-08-29 13:59:20,837.837 INFO    ] ================================================
[2026-08-29 13:59:21,197.197 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:59:21
[2026-08-29 13:59:21,514.514 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:59:21,647.647 INFO    ] Initializing speech engine...
[2026-08-29 13:59:21,660.660 INFO    ] 2026-08-29 13:59:21
[2026-08-29 13:59:21,898.898 INFO    ] 2026-08-29 13:59:21
[2026-08-29 13:59:21,934.934 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:59:22,128.128 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:59:22,151.151 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:59:22,328.328 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:59:22,344.344 INFO    ] time= 29/08/2026 13:59:22
[2026-08-29 13:59:22,398.398 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:59:22,461.461 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:59:22,589.589 INFO    ] No existing commands found in stream
[2026-08-29 13:59:27,615.615 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:59:27,618.618 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-08-29 13:59:30,296.296 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:59:30,298.298 INFO    ] Checking for system updates...
[2026-08-29 13:59:30,318.318 INFO    ] 200
[2026-08-29 13:59:30,320.320 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:59:30,352.352 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:59:30,354.354 INFO    ] No update needed
[2026-08-29 13:59:30,355.355 INFO    ] Checking for camera pi updates...
[2026-08-29 13:59:30,377.377 INFO    ] 200
[2026-08-29 13:59:30,379.379 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:59:30,402.402 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:59:30,479.479 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 13:59:30,480.480 INFO    ] No camera update needed
[2026-08-29 13:59:30,482.482 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:59:30,483.483 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:59:30,486.486 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:59:30,489.489 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:59:32,529.529 INFO    ] ================================================
[2026-08-29 13:59:32,547.547 INFO    ] Launching Daemon at Sat Aug 29 13:59:32 IST 2026
[2026-08-29 13:59:32,558.558 INFO    ] ================================================
[2026-08-29 13:59:33,181.181 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:59:33
[2026-08-29 13:59:33,766.766 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:59:34,037.037 INFO    ] Initializing speech engine...
[2026-08-29 13:59:34,047.047 INFO    ] 2026-08-29 13:59:34
[2026-08-29 13:59:34,300.300 INFO    ] 2026-08-29 13:59:34
[2026-08-29 13:59:34,335.335 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:59:34,511.511 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:59:34,524.524 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:59:34,652.652 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:59:34,672.672 INFO    ] time= 29/08/2026 13:59:34
[2026-08-29 13:59:34,679.679 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:59:34,686.686 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:59:34,754.754 INFO    ] No existing commands found in stream
[2026-08-29 13:59:39,785.785 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:59:39,787.787 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 13:59:42,761.761 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 13:59:42,763.763 INFO    ] Checking for system updates...
[2026-08-29 13:59:42,783.783 INFO    ] 200
[2026-08-29 13:59:42,785.785 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:59:42,815.815 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:59:42,816.816 INFO    ] No update needed
[2026-08-29 13:59:42,817.817 INFO    ] Checking for camera pi updates...
[2026-08-29 13:59:42,836.836 INFO    ] 200
[2026-08-29 13:59:42,838.838 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:59:42,860.860 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:59:43,035.035 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:59:43,037.037 INFO    ] No camera update needed
[2026-08-29 13:59:43,038.038 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:59:43,039.039 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:59:43,042.042 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:59:43,045.045 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:59:45,084.084 INFO    ] ================================================
[2026-08-29 13:59:45,101.101 INFO    ] Launching Daemon at Sat Aug 29 13:59:45 IST 2026
[2026-08-29 13:59:45,112.112 INFO    ] ================================================
[2026-08-29 13:59:45,496.496 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:59:45
[2026-08-29 13:59:45,827.827 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:59:45,970.970 INFO    ] Initializing speech engine...
[2026-08-29 13:59:45,975.975 INFO    ] 2026-08-29 13:59:45
[2026-08-29 13:59:46,178.178 INFO    ] 2026-08-29 13:59:46
[2026-08-29 13:59:46,206.206 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:59:46,329.329 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:59:46,392.392 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:59:46,555.555 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:59:46,587.587 INFO    ] time= 29/08/2026 13:59:46
[2026-08-29 13:59:46,647.647 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:59:46,701.701 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:59:46,764.764 INFO    ] No existing commands found in stream
[2026-08-29 13:59:51,777.777 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 13:59:51,780.780 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-08-29 13:59:53,241.241 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 13:59:53,243.243 INFO    ] Checking for system updates...
[2026-08-29 13:59:53,264.264 INFO    ] 200
[2026-08-29 13:59:53,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:59:53,299.299 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:59:53,300.300 INFO    ] No update needed
[2026-08-29 13:59:53,302.302 INFO    ] Checking for camera pi updates...
[2026-08-29 13:59:53,325.325 INFO    ] 200
[2026-08-29 13:59:53,327.327 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 13:59:53,353.353 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 13:59:53,466.466 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 13:59:53,468.468 INFO    ] No camera update needed
[2026-08-29 13:59:53,471.471 INFO    ] Script finished. Safe exiting...
[2026-08-29 13:59:53,473.473 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 13:59:53,478.478 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 13:59:53,484.484 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 13:59:55,524.524 INFO    ] ================================================
[2026-08-29 13:59:55,541.541 INFO    ] Launching Daemon at Sat Aug 29 13:59:55 IST 2026
[2026-08-29 13:59:55,551.551 INFO    ] ================================================
[2026-08-29 13:59:56,148.148 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 13:59:56
[2026-08-29 13:59:56,647.647 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 13:59:56,919.919 INFO    ] Initializing speech engine...
[2026-08-29 13:59:56,924.924 INFO    ] 2026-08-29 13:59:56
[2026-08-29 13:59:57,170.170 INFO    ] 2026-08-29 13:59:57
[2026-08-29 13:59:57,205.205 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 13:59:57,378.378 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 13:59:57,389.389 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 13:59:57,530.530 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 13:59:57,538.538 INFO    ] time= 29/08/2026 13:59:57
[2026-08-29 13:59:57,545.545 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 13:59:57,573.573 INFO    ] Checking for existing commands in stream...
[2026-08-29 13:59:57,698.698 INFO    ] No existing commands found in stream
[2026-08-29 14:00:02,724.724 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:00:02,728.728 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-08-29 14:00:07,374.374 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:00:07,376.376 INFO    ] Checking for system updates...
[2026-08-29 14:00:07,413.413 INFO    ] 200
[2026-08-29 14:00:07,416.416 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:00:07,470.470 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:00:07,473.473 INFO    ] No update needed
[2026-08-29 14:00:07,475.475 INFO    ] Checking for camera pi updates...
[2026-08-29 14:00:07,509.509 INFO    ] 200
[2026-08-29 14:00:07,512.512 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:00:07,554.554 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:00:07,642.642 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:00:07,645.645 INFO    ] No camera update needed
[2026-08-29 14:00:07,647.647 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:00:07,649.649 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:00:07,654.654 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:00:07,659.659 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:00:09,701.701 INFO    ] ================================================
[2026-08-29 14:00:09,717.717 INFO    ] Launching Daemon at Sat Aug 29 14:00:09 IST 2026
[2026-08-29 14:00:09,728.728 INFO    ] ================================================
[2026-08-29 14:00:10,083.083 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:00:10
[2026-08-29 14:00:10,401.401 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:00:10,545.545 INFO    ] Initializing speech engine...
[2026-08-29 14:00:10,550.550 INFO    ] 2026-08-29 14:00:10
[2026-08-29 14:00:10,755.755 INFO    ] 2026-08-29 14:00:10
[2026-08-29 14:00:10,783.783 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:00:10,931.931 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:00:10,939.939 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:00:11,115.115 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:00:11,142.142 INFO    ] time= 29/08/2026 14:00:11
[2026-08-29 14:00:11,156.156 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:00:11,166.166 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:00:11,284.284 INFO    ] No existing commands found in stream
[2026-08-29 14:00:16,305.305 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:00:16,308.308 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-08-29 14:00:19,226.226 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:00:19,227.227 INFO    ] Checking for system updates...
[2026-08-29 14:00:19,248.248 INFO    ] 200
[2026-08-29 14:00:19,249.249 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:00:19,279.279 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:00:19,280.280 INFO    ] No update needed
[2026-08-29 14:00:19,282.282 INFO    ] Checking for camera pi updates...
[2026-08-29 14:00:19,301.301 INFO    ] 200
[2026-08-29 14:00:19,302.302 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:00:19,327.327 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:00:19,402.402 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:00:19,404.404 INFO    ] No camera update needed
[2026-08-29 14:00:19,405.405 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:00:19,406.406 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:00:19,409.409 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:00:19,412.412 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:00:21,450.450 INFO    ] ================================================
[2026-08-29 14:00:21,465.465 INFO    ] Launching Daemon at Sat Aug 29 14:00:21 IST 2026
[2026-08-29 14:00:21,476.476 INFO    ] ================================================
[2026-08-29 14:00:21,924.924 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:00:21
[2026-08-29 14:00:22,523.523 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:00:22,821.821 INFO    ] Initializing speech engine...
[2026-08-29 14:00:22,832.832 INFO    ] 2026-08-29 14:00:22
[2026-08-29 14:00:23,141.141 INFO    ] 2026-08-29 14:00:23
[2026-08-29 14:00:23,221.221 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:00:23,376.376 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:00:23,385.385 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:00:23,522.522 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:00:23,592.592 INFO    ] time= 29/08/2026 14:00:23
[2026-08-29 14:00:23,649.649 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:00:23,656.656 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:00:23,782.782 INFO    ] No existing commands found in stream
[2026-08-29 14:00:28,810.810 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:00:28,813.813 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-08-29 14:00:32,722.722 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:00:32,731.731 INFO    ] Checking for system updates...
[2026-08-29 14:00:32,780.780 INFO    ] 200
[2026-08-29 14:00:32,784.784 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:00:32,848.848 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:00:32,851.851 INFO    ] No update needed
[2026-08-29 14:00:32,854.854 INFO    ] Checking for camera pi updates...
[2026-08-29 14:00:32,891.891 INFO    ] 200
[2026-08-29 14:00:32,894.894 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:00:32,944.944 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:00:33,043.043 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:00:33,046.046 INFO    ] No camera update needed
[2026-08-29 14:00:33,049.049 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:00:33,052.052 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:00:33,058.058 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:00:33,064.064 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:00:35,105.105 INFO    ] ================================================
[2026-08-29 14:00:35,120.120 INFO    ] Launching Daemon at Sat Aug 29 14:00:35 IST 2026
[2026-08-29 14:00:35,131.131 INFO    ] ================================================
[2026-08-29 14:00:35,675.675 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:00:35
[2026-08-29 14:00:35,987.987 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:00:36,233.233 INFO    ] Initializing speech engine...
[2026-08-29 14:00:36,243.243 INFO    ] 2026-08-29 14:00:36
[2026-08-29 14:00:36,489.489 INFO    ] 2026-08-29 14:00:36
[2026-08-29 14:00:36,554.554 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:00:36,697.697 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:00:36,720.720 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:00:36,849.849 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:00:36,857.857 INFO    ] time= 29/08/2026 14:00:36
[2026-08-29 14:00:36,864.864 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:00:36,905.905 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:00:37,034.034 INFO    ] No existing commands found in stream
[2026-08-29 14:00:42,059.059 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:00:42,062.062 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-08-29 14:00:43,095.095 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:00:43,096.096 INFO    ] Checking for system updates...
[2026-08-29 14:00:43,117.117 INFO    ] 200
[2026-08-29 14:00:43,118.118 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:00:43,148.148 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:00:43,150.150 INFO    ] No update needed
[2026-08-29 14:00:43,151.151 INFO    ] Checking for camera pi updates...
[2026-08-29 14:00:43,170.170 INFO    ] 200
[2026-08-29 14:00:43,172.172 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:00:43,210.210 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:00:43,338.338 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:00:43,340.340 INFO    ] No camera update needed
[2026-08-29 14:00:43,343.343 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:00:43,345.345 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:00:43,351.351 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:00:43,356.356 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:00:45,395.395 INFO    ] ================================================
[2026-08-29 14:00:45,410.410 INFO    ] Launching Daemon at Sat Aug 29 14:00:45 IST 2026
[2026-08-29 14:00:45,421.421 INFO    ] ================================================
[2026-08-29 14:00:46,007.007 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:00:46
[2026-08-29 14:00:46,370.370 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:00:46,514.514 INFO    ] Initializing speech engine...
[2026-08-29 14:00:46,519.519 INFO    ] 2026-08-29 14:00:46
[2026-08-29 14:00:46,723.723 INFO    ] 2026-08-29 14:00:46
[2026-08-29 14:00:46,751.751 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:00:46,873.873 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:00:46,921.921 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:00:47,065.065 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:00:47,112.112 INFO    ] time= 29/08/2026 14:00:47
[2026-08-29 14:00:47,172.172 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:00:47,206.206 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:00:47,327.327 INFO    ] No existing commands found in stream
[2026-08-29 14:00:52,357.357 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:00:52,360.360 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-08-29 14:00:52,729.729 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:00:52,730.730 INFO    ] Checking for system updates...
[2026-08-29 14:00:52,751.751 INFO    ] 200
[2026-08-29 14:00:52,752.752 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:00:52,784.784 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:00:52,786.786 INFO    ] No update needed
[2026-08-29 14:00:52,787.787 INFO    ] Checking for camera pi updates...
[2026-08-29 14:00:52,807.807 INFO    ] 200
[2026-08-29 14:00:52,809.809 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:00:52,836.836 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:00:52,945.945 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:00:52,948.948 INFO    ] No camera update needed
[2026-08-29 14:00:52,950.950 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:00:52,953.953 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:00:52,958.958 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:00:52,964.964 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:00:55,003.003 INFO    ] ================================================
[2026-08-29 14:00:55,018.018 INFO    ] Launching Daemon at Sat Aug 29 14:00:55 IST 2026
[2026-08-29 14:00:55,029.029 INFO    ] ================================================
[2026-08-29 14:00:55,607.607 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:00:55
[2026-08-29 14:00:56,114.114 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:00:56,258.258 INFO    ] Initializing speech engine...
[2026-08-29 14:00:56,269.269 INFO    ] 2026-08-29 14:00:56
[2026-08-29 14:00:56,475.475 INFO    ] 2026-08-29 14:00:56
[2026-08-29 14:00:56,503.503 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:00:56,653.653 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:00:56,679.679 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:00:56,831.831 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:00:56,840.840 INFO    ] time= 29/08/2026 14:00:56
[2026-08-29 14:00:56,849.849 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:00:56,895.895 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:00:57,010.010 INFO    ] No existing commands found in stream
[2026-08-29 14:01:02,035.035 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:01:02,039.039 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-08-29 14:01:04,444.444 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:01:04,447.447 INFO    ] Checking for system updates...
[2026-08-29 14:01:04,475.475 INFO    ] 200
[2026-08-29 14:01:04,476.476 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:01:04,507.507 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:01:04,509.509 INFO    ] No update needed
[2026-08-29 14:01:04,510.510 INFO    ] Checking for camera pi updates...
[2026-08-29 14:01:04,529.529 INFO    ] 200
[2026-08-29 14:01:04,530.530 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:01:04,554.554 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:01:04,664.664 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:01:04,666.666 INFO    ] No camera update needed
[2026-08-29 14:01:04,668.668 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:01:04,671.671 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:01:04,676.676 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:01:04,681.681 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:01:06,722.722 INFO    ] ================================================
[2026-08-29 14:01:06,737.737 INFO    ] Launching Daemon at Sat Aug 29 14:01:06 IST 2026
[2026-08-29 14:01:06,748.748 INFO    ] ================================================
[2026-08-29 14:01:07,315.315 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:01:07
[2026-08-29 14:01:07,758.758 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:01:07,902.902 INFO    ] Initializing speech engine...
[2026-08-29 14:01:07,918.918 INFO    ] 2026-08-29 14:01:07
[2026-08-29 14:01:08,119.119 INFO    ] 2026-08-29 14:01:08
[2026-08-29 14:01:08,155.155 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:01:08,319.319 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:01:08,327.327 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:01:08,454.454 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:01:08,462.462 INFO    ] time= 29/08/2026 14:01:08
[2026-08-29 14:01:08,468.468 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:01:08,489.489 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:01:08,616.616 INFO    ] No existing commands found in stream
[2026-08-29 14:01:13,651.651 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:01:13,654.654 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-08-29 14:01:17,446.446 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:01:17,447.447 INFO    ] Checking for system updates...
[2026-08-29 14:01:17,468.468 INFO    ] 200
[2026-08-29 14:01:17,469.469 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:01:17,501.501 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:01:17,503.503 INFO    ] No update needed
[2026-08-29 14:01:17,504.504 INFO    ] Checking for camera pi updates...
[2026-08-29 14:01:17,523.523 INFO    ] 200
[2026-08-29 14:01:17,524.524 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:01:17,549.549 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:01:17,688.688 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:01:17,691.691 INFO    ] No camera update needed
[2026-08-29 14:01:17,693.693 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:01:17,696.696 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:01:17,701.701 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:01:17,706.706 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:01:19,748.748 INFO    ] ================================================
[2026-08-29 14:01:19,764.764 INFO    ] Launching Daemon at Sat Aug 29 14:01:19 IST 2026
[2026-08-29 14:01:19,774.774 INFO    ] ================================================
[2026-08-29 14:01:20,358.358 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:01:20
[2026-08-29 14:01:20,792.792 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:01:20,926.926 INFO    ] Initializing speech engine...
[2026-08-29 14:01:20,930.930 INFO    ] 2026-08-29 14:01:20
[2026-08-29 14:01:21,158.158 INFO    ] 2026-08-29 14:01:21
[2026-08-29 14:01:21,188.188 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:01:21,320.320 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:01:21,363.363 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:01:21,530.530 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:01:21,598.598 INFO    ] time= 29/08/2026 14:01:21
[2026-08-29 14:01:21,626.626 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:01:21,632.632 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:01:21,707.707 INFO    ] No existing commands found in stream
[2026-08-29 14:01:26,717.717 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:01:26,720.720 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-08-29 14:01:29,064.064 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:01:29,066.066 INFO    ] Checking for system updates...
[2026-08-29 14:01:29,086.086 INFO    ] 200
[2026-08-29 14:01:29,088.088 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:01:29,119.119 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:01:29,121.121 INFO    ] No update needed
[2026-08-29 14:01:29,122.122 INFO    ] Checking for camera pi updates...
[2026-08-29 14:01:29,143.143 INFO    ] 200
[2026-08-29 14:01:29,144.144 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:01:29,172.172 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:01:29,276.276 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:01:29,278.278 INFO    ] No camera update needed
[2026-08-29 14:01:29,279.279 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:01:29,280.280 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:01:29,284.284 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:01:29,286.286 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:01:31,328.328 INFO    ] ================================================
[2026-08-29 14:01:31,346.346 INFO    ] Launching Daemon at Sat Aug 29 14:01:31 IST 2026
[2026-08-29 14:01:31,357.357 INFO    ] ================================================
[2026-08-29 14:01:31,966.966 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:01:31
[2026-08-29 14:01:32,602.602 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:01:32,882.882 INFO    ] Initializing speech engine...
[2026-08-29 14:01:32,889.889 INFO    ] 2026-08-29 14:01:32
[2026-08-29 14:01:33,149.149 INFO    ] 2026-08-29 14:01:33
[2026-08-29 14:01:33,214.214 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:01:33,435.435 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:01:33,444.444 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:01:33,577.577 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:01:33,614.614 INFO    ] time= 29/08/2026 14:01:33
[2026-08-29 14:01:33,669.669 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:01:33,712.712 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:01:33,767.767 INFO    ] No existing commands found in stream
[2026-08-29 14:01:38,779.779 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:01:38,782.782 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-08-29 14:01:43,116.116 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:01:43,119.119 INFO    ] Checking for system updates...
[2026-08-29 14:01:43,157.157 INFO    ] 200
[2026-08-29 14:01:43,159.159 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:01:43,231.231 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:01:43,234.234 INFO    ] No update needed
[2026-08-29 14:01:43,236.236 INFO    ] Checking for camera pi updates...
[2026-08-29 14:01:43,273.273 INFO    ] 200
[2026-08-29 14:01:43,275.275 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:01:43,328.328 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:01:43,409.409 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:01:43,411.411 INFO    ] No camera update needed
[2026-08-29 14:01:43,414.414 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:01:43,416.416 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:01:43,421.421 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:01:43,426.426 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:01:45,466.466 INFO    ] ================================================
[2026-08-29 14:01:45,482.482 INFO    ] Launching Daemon at Sat Aug 29 14:01:45 IST 2026
[2026-08-29 14:01:45,492.492 INFO    ] ================================================
[2026-08-29 14:01:46,050.050 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:01:46
[2026-08-29 14:01:46,365.365 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:01:46,589.589 INFO    ] Initializing speech engine...
[2026-08-29 14:01:46,595.595 INFO    ] 2026-08-29 14:01:46
[2026-08-29 14:01:46,856.856 INFO    ] 2026-08-29 14:01:46
[2026-08-29 14:01:46,886.886 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:01:47,051.051 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:01:47,064.064 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:01:47,188.188 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:01:47,212.212 INFO    ] time= 29/08/2026 14:01:47
[2026-08-29 14:01:47,217.217 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:01:47,223.223 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:01:47,290.290 INFO    ] No existing commands found in stream
[2026-08-29 14:01:52,325.325 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:01:52,328.328 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-08-29 14:01:53,191.191 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:01:53,193.193 INFO    ] Checking for system updates...
[2026-08-29 14:01:53,213.213 INFO    ] 200
[2026-08-29 14:01:53,215.215 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:01:53,245.245 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:01:53,247.247 INFO    ] No update needed
[2026-08-29 14:01:53,248.248 INFO    ] Checking for camera pi updates...
[2026-08-29 14:01:53,269.269 INFO    ] 200
[2026-08-29 14:01:53,271.271 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:01:53,298.298 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:01:53,480.480 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:01:53,483.483 INFO    ] No camera update needed
[2026-08-29 14:01:53,485.485 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:01:53,487.487 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:01:53,493.493 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:01:53,498.498 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:01:55,537.537 INFO    ] ================================================
[2026-08-29 14:01:55,552.552 INFO    ] Launching Daemon at Sat Aug 29 14:01:55 IST 2026
[2026-08-29 14:01:55,563.563 INFO    ] ================================================
[2026-08-29 14:01:56,145.145 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:01:56
[2026-08-29 14:01:56,589.589 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:01:56,735.735 INFO    ] Initializing speech engine...
[2026-08-29 14:01:56,740.740 INFO    ] 2026-08-29 14:01:56
[2026-08-29 14:01:56,954.954 INFO    ] 2026-08-29 14:01:56
[2026-08-29 14:01:56,984.984 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:01:57,260.260 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:01:57,313.313 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:01:57,470.470 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:01:57,509.509 INFO    ] time= 29/08/2026 14:01:57
[2026-08-29 14:01:57,526.526 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:01:57,538.538 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:01:57,648.648 INFO    ] No existing commands found in stream
[2026-08-29 14:02:02,674.674 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:02:02,677.677 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-08-29 14:02:05,211.211 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:02:05,213.213 INFO    ] Checking for system updates...
[2026-08-29 14:02:05,234.234 INFO    ] 200
[2026-08-29 14:02:05,235.235 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:02:05,269.269 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:02:05,270.270 INFO    ] No update needed
[2026-08-29 14:02:05,271.271 INFO    ] Checking for camera pi updates...
[2026-08-29 14:02:05,292.292 INFO    ] 200
[2026-08-29 14:02:05,293.293 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:02:05,316.316 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:02:05,430.430 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:02:05,431.431 INFO    ] No camera update needed
[2026-08-29 14:02:05,433.433 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:02:05,434.434 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:02:05,437.437 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:02:05,440.440 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:02:07,479.479 INFO    ] ================================================
[2026-08-29 14:02:07,494.494 INFO    ] Launching Daemon at Sat Aug 29 14:02:07 IST 2026
[2026-08-29 14:02:07,504.504 INFO    ] ================================================
[2026-08-29 14:02:08,059.059 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:02:08
[2026-08-29 14:02:08,660.660 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:02:08,927.927 INFO    ] Initializing speech engine...
[2026-08-29 14:02:08,952.952 INFO    ] 2026-08-29 14:02:08
[2026-08-29 14:02:09,225.225 INFO    ] 2026-08-29 14:02:09
[2026-08-29 14:02:09,266.266 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:02:09,450.450 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:02:09,462.462 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:02:09,607.607 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:02:09,612.612 INFO    ] time= 29/08/2026 14:02:09
[2026-08-29 14:02:09,618.618 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:02:09,664.664 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:02:09,791.791 INFO    ] No existing commands found in stream
[2026-08-29 14:02:14,819.819 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:02:14,821.821 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-08-29 14:02:17,969.969 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:02:17,970.970 INFO    ] Checking for system updates...
[2026-08-29 14:02:17,991.991 INFO    ] 200
[2026-08-29 14:02:17,992.992 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:02:18,022.022 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:02:18,023.023 INFO    ] No update needed
[2026-08-29 14:02:18,025.025 INFO    ] Checking for camera pi updates...
[2026-08-29 14:02:18,044.044 INFO    ] 200
[2026-08-29 14:02:18,045.045 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:02:18,068.068 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:02:18,167.167 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:02:18,168.168 INFO    ] No camera update needed
[2026-08-29 14:02:18,170.170 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:02:18,171.171 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:02:18,174.174 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:02:18,177.177 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:02:20,215.215 INFO    ] ================================================
[2026-08-29 14:02:20,230.230 INFO    ] Launching Daemon at Sat Aug 29 14:02:20 IST 2026
[2026-08-29 14:02:20,241.241 INFO    ] ================================================
[2026-08-29 14:02:20,566.566 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:02:20
[2026-08-29 14:02:20,877.877 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:02:21,107.107 INFO    ] Initializing speech engine...
[2026-08-29 14:02:21,116.116 INFO    ] 2026-08-29 14:02:21
[2026-08-29 14:02:21,377.377 INFO    ] 2026-08-29 14:02:21
[2026-08-29 14:02:21,431.431 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:02:21,603.603 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:02:21,655.655 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:02:21,793.793 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:02:21,799.799 INFO    ] time= 29/08/2026 14:02:21
[2026-08-29 14:02:21,848.848 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:02:21,897.897 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:02:21,978.978 INFO    ] No existing commands found in stream
[2026-08-29 14:02:26,990.990 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:02:26,993.993 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-08-29 14:02:30,031.031 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:02:30,033.033 INFO    ] Checking for system updates...
[2026-08-29 14:02:30,053.053 INFO    ] 200
[2026-08-29 14:02:30,055.055 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:02:30,087.087 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:02:30,088.088 INFO    ] No update needed
[2026-08-29 14:02:30,090.090 INFO    ] Checking for camera pi updates...
[2026-08-29 14:02:30,110.110 INFO    ] 200
[2026-08-29 14:02:30,111.111 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:02:30,134.134 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:02:30,235.235 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:02:30,236.236 INFO    ] No camera update needed
[2026-08-29 14:02:30,238.238 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:02:30,239.239 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:02:30,242.242 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:02:30,245.245 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:02:32,287.287 INFO    ] ================================================
[2026-08-29 14:02:32,304.304 INFO    ] Launching Daemon at Sat Aug 29 14:02:32 IST 2026
[2026-08-29 14:02:32,316.316 INFO    ] ================================================
[2026-08-29 14:02:32,923.923 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:02:32
[2026-08-29 14:02:33,552.552 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:02:33,826.826 INFO    ] Initializing speech engine...
[2026-08-29 14:02:33,834.834 INFO    ] 2026-08-29 14:02:33
[2026-08-29 14:02:34,086.086 INFO    ] 2026-08-29 14:02:34
[2026-08-29 14:02:34,134.134 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:02:34,307.307 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:02:34,331.331 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:02:34,469.469 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:02:34,475.475 INFO    ] time= 29/08/2026 14:02:34
[2026-08-29 14:02:34,482.482 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:02:34,534.534 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:02:34,649.649 INFO    ] No existing commands found in stream
[2026-08-29 14:02:39,685.685 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:02:39,688.688 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 14:02:40,303.303 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:02:40,305.305 INFO    ] Checking for system updates...
[2026-08-29 14:02:40,325.325 INFO    ] 200
[2026-08-29 14:02:40,327.327 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:02:40,357.357 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:02:40,359.359 INFO    ] No update needed
[2026-08-29 14:02:40,360.360 INFO    ] Checking for camera pi updates...
[2026-08-29 14:02:40,380.380 INFO    ] 200
[2026-08-29 14:02:40,381.381 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:02:40,407.407 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:02:40,497.497 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:02:40,498.498 INFO    ] No camera update needed
[2026-08-29 14:02:40,500.500 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:02:40,501.501 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:02:40,504.504 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:02:40,507.507 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:02:42,548.548 INFO    ] ================================================
[2026-08-29 14:02:42,564.564 INFO    ] Launching Daemon at Sat Aug 29 14:02:42 IST 2026
[2026-08-29 14:02:42,574.574 INFO    ] ================================================
[2026-08-29 14:02:42,968.968 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:02:42
[2026-08-29 14:02:43,311.311 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:02:43,458.458 INFO    ] Initializing speech engine...
[2026-08-29 14:02:43,469.469 INFO    ] 2026-08-29 14:02:43
[2026-08-29 14:02:43,665.665 INFO    ] 2026-08-29 14:02:43
[2026-08-29 14:02:43,746.746 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:02:43,901.901 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:02:43,906.906 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:02:44,039.039 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:02:44,081.081 INFO    ] time= 29/08/2026 14:02:44
[2026-08-29 14:02:44,141.141 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:02:44,175.175 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:02:44,230.230 INFO    ] No existing commands found in stream
[2026-08-29 14:02:49,243.243 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:02:49,246.246 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-08-29 14:02:50,021.021 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:02:50,023.023 INFO    ] Checking for system updates...
[2026-08-29 14:02:50,045.045 INFO    ] 200
[2026-08-29 14:02:50,047.047 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:02:50,079.079 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:02:50,080.080 INFO    ] No update needed
[2026-08-29 14:02:50,082.082 INFO    ] Checking for camera pi updates...
[2026-08-29 14:02:50,101.101 INFO    ] 200
[2026-08-29 14:02:50,103.103 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:02:50,126.126 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:02:50,256.256 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:02:50,258.258 INFO    ] No camera update needed
[2026-08-29 14:02:50,259.259 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:02:50,261.261 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:02:50,264.264 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:02:50,267.267 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:02:52,309.309 INFO    ] ================================================
[2026-08-29 14:02:52,326.326 INFO    ] Launching Daemon at Sat Aug 29 14:02:52 IST 2026
[2026-08-29 14:02:52,336.336 INFO    ] ================================================
[2026-08-29 14:02:52,714.714 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:02:52
[2026-08-29 14:02:53,055.055 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:02:53,209.209 INFO    ] Initializing speech engine...
[2026-08-29 14:02:53,215.215 INFO    ] 2026-08-29 14:02:53
[2026-08-29 14:02:53,424.424 INFO    ] 2026-08-29 14:02:53
[2026-08-29 14:02:53,453.453 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:02:53,582.582 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:02:53,626.626 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:02:53,785.785 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:02:53,852.852 INFO    ] time= 29/08/2026 14:02:53
[2026-08-29 14:02:53,876.876 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:02:53,883.883 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:02:53,949.949 INFO    ] No existing commands found in stream
[2026-08-29 14:02:58,959.959 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:02:58,962.962 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-08-29 14:03:02,626.626 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:03:02,629.629 INFO    ] Checking for system updates...
[2026-08-29 14:03:02,674.674 INFO    ] 200
[2026-08-29 14:03:02,677.677 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:03:02,738.738 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:03:02,741.741 INFO    ] No update needed
[2026-08-29 14:03:02,744.744 INFO    ] Checking for camera pi updates...
[2026-08-29 14:03:02,784.784 INFO    ] 200
[2026-08-29 14:03:02,787.787 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:03:02,837.837 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:03:02,922.922 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:03:02,925.925 INFO    ] No camera update needed
[2026-08-29 14:03:02,928.928 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:03:02,930.930 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:03:02,937.937 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:03:02,943.943 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:03:04,983.983 INFO    ] ================================================
[2026-08-29 14:03:05,999.999 INFO    ] Launching Daemon at Sat Aug 29 14:03:04 IST 2026
[2026-08-29 14:03:05,010.010 INFO    ] ================================================
[2026-08-29 14:03:05,359.359 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:03:05
[2026-08-29 14:03:05,672.672 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:03:05,805.805 INFO    ] Initializing speech engine...
[2026-08-29 14:03:05,808.808 INFO    ] 2026-08-29 14:03:05
[2026-08-29 14:03:06,001.001 INFO    ] 2026-08-29 14:03:05
[2026-08-29 14:03:06,046.046 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:03:06,189.189 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:03:06,196.196 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:03:06,322.322 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:03:06,339.339 INFO    ] time= 29/08/2026 14:03:06
[2026-08-29 14:03:06,388.388 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:03:06,432.432 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:03:06,508.508 INFO    ] No existing commands found in stream
[2026-08-29 14:03:11,524.524 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:03:11,527.527 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-08-29 14:03:14,394.394 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:03:14,395.395 INFO    ] Checking for system updates...
[2026-08-29 14:03:14,416.416 INFO    ] 200
[2026-08-29 14:03:14,418.418 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:03:14,448.448 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:03:14,450.450 INFO    ] No update needed
[2026-08-29 14:03:14,451.451 INFO    ] Checking for camera pi updates...
[2026-08-29 14:03:14,472.472 INFO    ] 200
[2026-08-29 14:03:14,474.474 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:03:14,497.497 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:03:14,594.594 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:03:14,595.595 INFO    ] No camera update needed
[2026-08-29 14:03:14,596.596 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:03:14,598.598 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:03:14,601.601 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:03:14,604.604 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:03:16,645.645 INFO    ] ================================================
[2026-08-29 14:03:16,660.660 INFO    ] Launching Daemon at Sat Aug 29 14:03:16 IST 2026
[2026-08-29 14:03:16,671.671 INFO    ] ================================================
[2026-08-29 14:03:17,007.007 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:03:17
[2026-08-29 14:03:17,325.325 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:03:17,529.529 INFO    ] Initializing speech engine...
[2026-08-29 14:03:17,537.537 INFO    ] 2026-08-29 14:03:17
[2026-08-29 14:03:17,814.814 INFO    ] 2026-08-29 14:03:17
[2026-08-29 14:03:17,850.850 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:03:18,028.028 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:03:18,040.040 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:03:18,185.185 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:03:18,193.193 INFO    ] time= 29/08/2026 14:03:18
[2026-08-29 14:03:18,197.197 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:03:18,203.203 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:03:18,272.272 INFO    ] No existing commands found in stream
[2026-08-29 14:03:23,297.297 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:03:23,300.300 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-08-29 14:03:24,588.588 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:03:24,589.589 INFO    ] Checking for system updates...
[2026-08-29 14:03:24,609.609 INFO    ] 200
[2026-08-29 14:03:24,611.611 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:03:24,642.642 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:03:24,643.643 INFO    ] No update needed
[2026-08-29 14:03:24,645.645 INFO    ] Checking for camera pi updates...
[2026-08-29 14:03:24,664.664 INFO    ] 200
[2026-08-29 14:03:24,665.665 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:03:24,688.688 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:03:24,781.781 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:03:24,783.783 INFO    ] No camera update needed
[2026-08-29 14:03:24,784.784 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:03:24,785.785 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:03:24,788.788 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:03:24,791.791 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:03:26,830.830 INFO    ] ================================================
[2026-08-29 14:03:26,846.846 INFO    ] Launching Daemon at Sat Aug 29 14:03:26 IST 2026
[2026-08-29 14:03:26,857.857 INFO    ] ================================================
[2026-08-29 14:03:27,213.213 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:03:27
[2026-08-29 14:03:27,552.552 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:03:27,704.704 INFO    ] Initializing speech engine...
[2026-08-29 14:03:27,710.710 INFO    ] 2026-08-29 14:03:27
[2026-08-29 14:03:27,919.919 INFO    ] 2026-08-29 14:03:27
[2026-08-29 14:03:27,949.949 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:03:28,081.081 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:03:28,088.088 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:03:28,282.282 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:03:28,292.292 INFO    ] time= 29/08/2026 14:03:28
[2026-08-29 14:03:28,314.314 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:03:28,343.343 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:03:28,447.447 INFO    ] No existing commands found in stream
[2026-08-29 14:03:33,464.464 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:03:33,467.467 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-08-29 14:03:37,845.845 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:03:37,847.847 INFO    ] Checking for system updates...
[2026-08-29 14:03:37,869.869 INFO    ] 200
[2026-08-29 14:03:37,871.871 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:03:37,901.901 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:03:37,902.902 INFO    ] No update needed
[2026-08-29 14:03:37,903.903 INFO    ] Checking for camera pi updates...
[2026-08-29 14:03:37,923.923 INFO    ] 200
[2026-08-29 14:03:37,924.924 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:03:37,949.949 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:03:38,051.051 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:03:38,052.052 INFO    ] No camera update needed
[2026-08-29 14:03:38,054.054 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:03:38,055.055 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:03:38,058.058 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:03:38,060.060 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:03:40,099.099 INFO    ] ================================================
[2026-08-29 14:03:40,114.114 INFO    ] Launching Daemon at Sat Aug 29 14:03:40 IST 2026
[2026-08-29 14:03:40,126.126 INFO    ] ================================================
[2026-08-29 14:03:40,472.472 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:03:40
[2026-08-29 14:03:41,045.045 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:03:41,318.318 INFO    ] Initializing speech engine...
[2026-08-29 14:03:41,328.328 INFO    ] 2026-08-29 14:03:41
[2026-08-29 14:03:41,585.585 INFO    ] 2026-08-29 14:03:41
[2026-08-29 14:03:41,644.644 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:03:41,871.871 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:03:41,875.875 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:03:42,008.008 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:03:42,029.029 INFO    ] time= 29/08/2026 14:03:42
[2026-08-29 14:03:42,084.084 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:03:42,140.140 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:03:42,198.198 INFO    ] No existing commands found in stream
[2026-08-29 14:03:47,209.209 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:03:47,212.212 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-08-29 14:03:49,656.656 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:03:49,658.658 INFO    ] Checking for system updates...
[2026-08-29 14:03:49,679.679 INFO    ] 200
[2026-08-29 14:03:49,680.680 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:03:49,709.709 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:03:49,711.711 INFO    ] No update needed
[2026-08-29 14:03:49,712.712 INFO    ] Checking for camera pi updates...
[2026-08-29 14:03:49,731.731 INFO    ] 200
[2026-08-29 14:03:49,733.733 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:03:49,757.757 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:03:49,851.851 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:03:49,854.854 INFO    ] No camera update needed
[2026-08-29 14:03:49,856.856 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:03:49,859.859 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:03:49,864.864 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:03:49,869.869 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:03:51,909.909 INFO    ] ================================================
[2026-08-29 14:03:51,925.925 INFO    ] Launching Daemon at Sat Aug 29 14:03:51 IST 2026
[2026-08-29 14:03:51,937.937 INFO    ] ================================================
[2026-08-29 14:03:52,538.538 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:03:52
[2026-08-29 14:03:52,984.984 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:03:53,116.116 INFO    ] Initializing speech engine...
[2026-08-29 14:03:53,119.119 INFO    ] 2026-08-29 14:03:53
[2026-08-29 14:03:53,307.307 INFO    ] 2026-08-29 14:03:53
[2026-08-29 14:03:53,349.349 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:03:53,595.595 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:03:53,604.604 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:03:53,737.737 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:03:53,777.777 INFO    ] time= 29/08/2026 14:03:53
[2026-08-29 14:03:53,844.844 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:03:53,870.870 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:03:53,939.939 INFO    ] No existing commands found in stream
[2026-08-29 14:03:58,974.974 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:03:58,977.977 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-08-29 14:04:00,411.411 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:04:00,413.413 INFO    ] Checking for system updates...
[2026-08-29 14:04:00,449.449 INFO    ] 200
[2026-08-29 14:04:00,452.452 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:04:00,500.500 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:04:00,501.501 INFO    ] No update needed
[2026-08-29 14:04:00,503.503 INFO    ] Checking for camera pi updates...
[2026-08-29 14:04:00,523.523 INFO    ] 200
[2026-08-29 14:04:00,525.525 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:04:00,547.547 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:04:00,720.720 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:04:00,721.721 INFO    ] No camera update needed
[2026-08-29 14:04:00,723.723 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:04:00,725.725 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:04:00,728.728 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:04:00,731.731 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:04:02,777.777 INFO    ] ================================================
[2026-08-29 14:04:02,796.796 INFO    ] Launching Daemon at Sat Aug 29 14:04:02 IST 2026
[2026-08-29 14:04:02,814.814 INFO    ] ================================================
[2026-08-29 14:04:03,590.590 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:04:03
[2026-08-29 14:04:04,251.251 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:04:04,555.555 INFO    ] Initializing speech engine...
[2026-08-29 14:04:04,567.567 INFO    ] 2026-08-29 14:04:04
[2026-08-29 14:04:04,877.877 INFO    ] 2026-08-29 14:04:04
[2026-08-29 14:04:04,962.962 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:04:05,081.081 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:04:05,084.084 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:04:05,204.204 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:04:05,215.215 INFO    ] time= 29/08/2026 14:04:05
[2026-08-29 14:04:05,229.229 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:04:05,235.235 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:04:05,320.320 INFO    ] No existing commands found in stream
[2026-08-29 14:04:10,346.346 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:04:10,349.349 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-08-29 14:04:12,554.554 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:04:12,555.555 INFO    ] Checking for system updates...
[2026-08-29 14:04:12,575.575 INFO    ] 200
[2026-08-29 14:04:12,577.577 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:04:12,609.609 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:04:12,610.610 INFO    ] No update needed
[2026-08-29 14:04:12,611.611 INFO    ] Checking for camera pi updates...
[2026-08-29 14:04:12,632.632 INFO    ] 200
[2026-08-29 14:04:12,633.633 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:04:12,656.656 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:04:12,739.739 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:04:12,741.741 INFO    ] No camera update needed
[2026-08-29 14:04:12,742.742 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:04:12,743.743 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:04:12,746.746 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:04:12,749.749 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:04:14,787.787 INFO    ] ================================================
[2026-08-29 14:04:14,802.802 INFO    ] Launching Daemon at Sat Aug 29 14:04:14 IST 2026
[2026-08-29 14:04:14,813.813 INFO    ] ================================================
[2026-08-29 14:04:15,169.169 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:04:15
[2026-08-29 14:04:15,480.480 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:04:15,734.734 INFO    ] Initializing speech engine...
[2026-08-29 14:04:15,742.742 INFO    ] 2026-08-29 14:04:15
[2026-08-29 14:04:15,994.994 INFO    ] 2026-08-29 14:04:15
[2026-08-29 14:04:16,030.030 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:04:16,206.206 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:04:16,218.218 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:04:16,330.330 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:04:16,350.350 INFO    ] time= 29/08/2026 14:04:16
[2026-08-29 14:04:16,370.370 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:04:16,379.379 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:04:16,449.449 INFO    ] No existing commands found in stream
[2026-08-29 14:04:21,484.484 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:04:21,485.485 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-08-29 14:04:27,597.597 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:04:27,598.598 INFO    ] Checking for system updates...
[2026-08-29 14:04:27,619.619 INFO    ] 200
[2026-08-29 14:04:27,620.620 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:04:27,654.654 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:04:27,656.656 INFO    ] No update needed
[2026-08-29 14:04:27,657.657 INFO    ] Checking for camera pi updates...
[2026-08-29 14:04:27,678.678 INFO    ] 200
[2026-08-29 14:04:27,679.679 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:04:27,702.702 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:04:27,845.845 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:04:27,848.848 INFO    ] No camera update needed
[2026-08-29 14:04:27,851.851 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:04:27,853.853 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:04:27,859.859 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:04:27,865.865 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:04:29,899.899 INFO    ] ================================================
[2026-08-29 14:04:29,908.908 INFO    ] Launching Daemon at Sat Aug 29 14:04:29 IST 2026
[2026-08-29 14:04:29,915.915 INFO    ] ================================================
[2026-08-29 14:04:30,523.523 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:04:30
[2026-08-29 14:04:31,135.135 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:04:31,418.418 INFO    ] Initializing speech engine...
[2026-08-29 14:04:31,426.426 INFO    ] 2026-08-29 14:04:31
[2026-08-29 14:04:31,686.686 INFO    ] 2026-08-29 14:04:31
[2026-08-29 14:04:31,738.738 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:04:31,958.958 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:04:32,006.006 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:04:32,171.171 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:04:32,225.225 INFO    ] time= 29/08/2026 14:04:32
[2026-08-29 14:04:32,298.298 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:04:32,315.315 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:04:32,423.423 INFO    ] No existing commands found in stream
[2026-08-29 14:04:37,455.455 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:04:37,458.458 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-08-29 14:04:39,489.489 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:04:39,491.491 INFO    ] Checking for system updates...
[2026-08-29 14:04:39,511.511 INFO    ] 200
[2026-08-29 14:04:39,513.513 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:04:39,544.544 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:04:39,545.545 INFO    ] No update needed
[2026-08-29 14:04:39,546.546 INFO    ] Checking for camera pi updates...
[2026-08-29 14:04:39,566.566 INFO    ] 200
[2026-08-29 14:04:39,567.567 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:04:39,590.590 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:04:39,681.681 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:04:39,682.682 INFO    ] No camera update needed
[2026-08-29 14:04:39,684.684 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:04:39,685.685 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:04:39,688.688 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:04:39,691.691 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:04:41,731.731 INFO    ] ================================================
[2026-08-29 14:04:41,746.746 INFO    ] Launching Daemon at Sat Aug 29 14:04:41 IST 2026
[2026-08-29 14:04:41,757.757 INFO    ] ================================================
[2026-08-29 14:04:42,253.253 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:04:42
[2026-08-29 14:04:42,855.855 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:04:43,130.130 INFO    ] Initializing speech engine...
[2026-08-29 14:04:43,139.139 INFO    ] 2026-08-29 14:04:43
[2026-08-29 14:04:43,390.390 INFO    ] 2026-08-29 14:04:43
[2026-08-29 14:04:43,430.430 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:04:43,597.597 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:04:43,610.610 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:04:43,751.751 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:04:43,759.759 INFO    ] time= 29/08/2026 14:04:43
[2026-08-29 14:04:43,766.766 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:04:43,814.814 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:04:43,942.942 INFO    ] No existing commands found in stream
[2026-08-29 14:04:48,968.968 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:04:48,970.970 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-08-29 14:04:49,400.400 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:04:49,401.401 INFO    ] Checking for system updates...
[2026-08-29 14:04:49,422.422 INFO    ] 200
[2026-08-29 14:04:49,423.423 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:04:49,457.457 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:04:49,458.458 INFO    ] No update needed
[2026-08-29 14:04:49,459.459 INFO    ] Checking for camera pi updates...
[2026-08-29 14:04:49,478.478 INFO    ] 200
[2026-08-29 14:04:49,480.480 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:04:49,502.502 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:04:49,627.627 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:04:49,628.628 INFO    ] No camera update needed
[2026-08-29 14:04:49,629.629 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:04:49,630.630 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:04:49,634.634 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:04:49,636.636 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:04:51,676.676 INFO    ] ================================================
[2026-08-29 14:04:51,691.691 INFO    ] Launching Daemon at Sat Aug 29 14:04:51 IST 2026
[2026-08-29 14:04:51,702.702 INFO    ] ================================================
[2026-08-29 14:04:52,070.070 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:04:52
[2026-08-29 14:04:52,381.381 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:04:52,526.526 INFO    ] Initializing speech engine...
[2026-08-29 14:04:52,531.531 INFO    ] 2026-08-29 14:04:52
[2026-08-29 14:04:52,738.738 INFO    ] 2026-08-29 14:04:52
[2026-08-29 14:04:52,765.765 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:04:52,890.890 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:04:52,948.948 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:04:53,089.089 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:04:53,160.160 INFO    ] time= 29/08/2026 14:04:53
[2026-08-29 14:04:53,184.184 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:04:53,191.191 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:04:53,257.257 INFO    ] No existing commands found in stream
[2026-08-29 14:04:58,268.268 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:04:58,270.270 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-08-29 14:04:58,871.871 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:04:58,872.872 INFO    ] Checking for system updates...
[2026-08-29 14:04:58,892.892 INFO    ] 200
[2026-08-29 14:04:58,894.894 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:04:58,925.925 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:04:58,927.927 INFO    ] No update needed
[2026-08-29 14:04:58,928.928 INFO    ] Checking for camera pi updates...
[2026-08-29 14:04:58,947.947 INFO    ] 200
[2026-08-29 14:04:58,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:04:58,973.973 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:04:59,108.108 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:04:59,109.109 INFO    ] No camera update needed
[2026-08-29 14:04:59,110.110 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:04:59,112.112 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:04:59,115.115 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:04:59,117.117 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:05:01,157.157 INFO    ] ================================================
[2026-08-29 14:05:01,172.172 INFO    ] Launching Daemon at Sat Aug 29 14:05:01 IST 2026
[2026-08-29 14:05:01,183.183 INFO    ] ================================================
[2026-08-29 14:05:01,534.534 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:05:01
[2026-08-29 14:05:02,409.409 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:05:02,732.732 INFO    ] Initializing speech engine...
[2026-08-29 14:05:02,753.753 INFO    ] 2026-08-29 14:05:02
[2026-08-29 14:05:03,055.055 INFO    ] 2026-08-29 14:05:03
[2026-08-29 14:05:03,099.099 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:05:03,304.304 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:05:03,339.339 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:05:03,527.527 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:05:03,540.540 INFO    ] time= 29/08/2026 14:05:03
[2026-08-29 14:05:03,576.576 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:05:03,631.631 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:05:03,701.701 INFO    ] No existing commands found in stream
[2026-08-29 14:05:08,712.712 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:05:08,715.715 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-08-29 14:05:09,926.926 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:05:09,928.928 INFO    ] Checking for system updates...
[2026-08-29 14:05:09,948.948 INFO    ] 200
[2026-08-29 14:05:09,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:05:09,980.980 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:05:09,982.982 INFO    ] No update needed
[2026-08-29 14:05:09,983.983 INFO    ] Checking for camera pi updates...
[2026-08-29 14:05:10,002.002 INFO    ] 200
[2026-08-29 14:05:10,003.003 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:05:10,027.027 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:05:10,124.124 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:05:10,125.125 INFO    ] No camera update needed
[2026-08-29 14:05:10,126.126 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:05:10,127.127 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:05:10,130.130 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:05:10,133.133 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:05:12,172.172 INFO    ] ================================================
[2026-08-29 14:05:12,187.187 INFO    ] Launching Daemon at Sat Aug 29 14:05:12 IST 2026
[2026-08-29 14:05:12,198.198 INFO    ] ================================================
[2026-08-29 14:05:12,556.556 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:05:12
[2026-08-29 14:05:12,884.884 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:05:13,088.088 INFO    ] Initializing speech engine...
[2026-08-29 14:05:13,096.096 INFO    ] 2026-08-29 14:05:13
[2026-08-29 14:05:13,361.361 INFO    ] 2026-08-29 14:05:13
[2026-08-29 14:05:13,415.415 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:05:13,578.578 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:05:13,597.597 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:05:13,722.722 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:05:13,783.783 INFO    ] time= 29/08/2026 14:05:13
[2026-08-29 14:05:13,790.790 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:05:13,849.849 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:05:13,921.921 INFO    ] No existing commands found in stream
[2026-08-29 14:05:18,942.942 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:05:18,945.945 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-08-29 14:05:20,536.536 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:05:20,537.537 INFO    ] Checking for system updates...
[2026-08-29 14:05:20,558.558 INFO    ] 200
[2026-08-29 14:05:20,559.559 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:05:20,589.589 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:05:20,590.590 INFO    ] No update needed
[2026-08-29 14:05:20,592.592 INFO    ] Checking for camera pi updates...
[2026-08-29 14:05:20,611.611 INFO    ] 200
[2026-08-29 14:05:20,613.613 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:05:20,636.636 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:05:20,718.718 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:05:20,721.721 INFO    ] No camera update needed
[2026-08-29 14:05:20,724.724 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:05:20,726.726 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:05:20,732.732 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:05:20,737.737 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:05:22,777.777 INFO    ] ================================================
[2026-08-29 14:05:22,792.792 INFO    ] Launching Daemon at Sat Aug 29 14:05:22 IST 2026
[2026-08-29 14:05:22,803.803 INFO    ] ================================================
[2026-08-29 14:05:23,414.414 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:05:23
[2026-08-29 14:05:24,017.017 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:05:24,328.328 INFO    ] Initializing speech engine...
[2026-08-29 14:05:24,335.335 INFO    ] 2026-08-29 14:05:24
[2026-08-29 14:05:24,593.593 INFO    ] 2026-08-29 14:05:24
[2026-08-29 14:05:24,625.625 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:05:24,781.781 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:05:24,829.829 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:05:24,940.940 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:05:24,945.945 INFO    ] time= 29/08/2026 14:05:24
[2026-08-29 14:05:24,968.968 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:05:24,975.975 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:05:25,092.092 INFO    ] No existing commands found in stream
[2026-08-29 14:05:30,103.103 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:05:30,106.106 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-08-29 14:05:32,819.819 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:05:32,822.822 INFO    ] Checking for system updates...
[2026-08-29 14:05:32,860.860 INFO    ] 200
[2026-08-29 14:05:32,862.862 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:05:32,913.913 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:05:32,916.916 INFO    ] No update needed
[2026-08-29 14:05:32,918.918 INFO    ] Checking for camera pi updates...
[2026-08-29 14:05:32,952.952 INFO    ] 200
[2026-08-29 14:05:32,954.954 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:05:32,998.998 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:05:33,100.100 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:05:33,103.103 INFO    ] No camera update needed
[2026-08-29 14:05:33,105.105 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:05:33,107.107 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:05:33,113.113 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:05:33,118.118 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:05:35,157.157 INFO    ] ================================================
[2026-08-29 14:05:35,173.173 INFO    ] Launching Daemon at Sat Aug 29 14:05:35 IST 2026
[2026-08-29 14:05:35,183.183 INFO    ] ================================================
[2026-08-29 14:05:35,535.535 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:05:35
[2026-08-29 14:05:35,848.848 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:05:35,991.991 INFO    ] Initializing speech engine...
[2026-08-29 14:05:35,995.995 INFO    ] 2026-08-29 14:05:35
[2026-08-29 14:05:36,201.201 INFO    ] 2026-08-29 14:05:36
[2026-08-29 14:05:36,230.230 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:05:36,365.365 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:05:36,418.418 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:05:36,550.550 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:05:36,616.616 INFO    ] time= 29/08/2026 14:05:36
[2026-08-29 14:05:36,648.648 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:05:36,650.650 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:05:36,721.721 INFO    ] No existing commands found in stream
[2026-08-29 14:05:41,732.732 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:05:41,735.735 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-08-29 14:05:44,928.928 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:05:44,929.929 INFO    ] Checking for system updates...
[2026-08-29 14:05:44,950.950 INFO    ] 200
[2026-08-29 14:05:44,951.951 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:05:44,983.983 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:05:44,984.984 INFO    ] No update needed
[2026-08-29 14:05:44,985.985 INFO    ] Checking for camera pi updates...
[2026-08-29 14:05:45,005.005 INFO    ] 200
[2026-08-29 14:05:45,006.006 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:05:45,029.029 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:05:45,107.107 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:05:45,108.108 INFO    ] No camera update needed
[2026-08-29 14:05:45,110.110 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:05:45,111.111 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:05:45,114.114 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:05:45,116.116 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:05:47,156.156 INFO    ] ================================================
[2026-08-29 14:05:47,171.171 INFO    ] Launching Daemon at Sat Aug 29 14:05:47 IST 2026
[2026-08-29 14:05:47,181.181 INFO    ] ================================================
[2026-08-29 14:05:47,545.545 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:05:47
[2026-08-29 14:05:47,860.860 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:05:48,001.001 INFO    ] Initializing speech engine...
[2026-08-29 14:05:48,009.009 INFO    ] 2026-08-29 14:05:48
[2026-08-29 14:05:48,227.227 INFO    ] 2026-08-29 14:05:48
[2026-08-29 14:05:48,257.257 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:05:48,368.368 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:05:48,390.390 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:05:48,554.554 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:05:48,602.602 INFO    ] time= 29/08/2026 14:05:48
[2026-08-29 14:05:48,628.628 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:05:48,688.688 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:05:48,804.804 INFO    ] No existing commands found in stream
[2026-08-29 14:05:53,829.829 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:05:53,831.831 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-08-29 14:05:55,560.560 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:05:55,562.562 INFO    ] Checking for system updates...
[2026-08-29 14:05:55,582.582 INFO    ] 200
[2026-08-29 14:05:55,584.584 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:05:55,613.613 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:05:55,615.615 INFO    ] No update needed
[2026-08-29 14:05:55,616.616 INFO    ] Checking for camera pi updates...
[2026-08-29 14:05:55,635.635 INFO    ] 200
[2026-08-29 14:05:55,636.636 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:05:55,662.662 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:05:55,742.742 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:05:55,744.744 INFO    ] No camera update needed
[2026-08-29 14:05:55,745.745 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:05:55,746.746 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:05:55,749.749 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:05:55,752.752 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:05:57,790.790 INFO    ] ================================================
[2026-08-29 14:05:57,805.805 INFO    ] Launching Daemon at Sat Aug 29 14:05:57 IST 2026
[2026-08-29 14:05:57,820.820 INFO    ] ================================================
[2026-08-29 14:05:58,365.365 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:05:58
[2026-08-29 14:05:58,964.964 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:05:59,250.250 INFO    ] Initializing speech engine...
[2026-08-29 14:05:59,260.260 INFO    ] 2026-08-29 14:05:59
[2026-08-29 14:05:59,526.526 INFO    ] 2026-08-29 14:05:59
[2026-08-29 14:05:59,563.563 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:05:59,754.754 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:05:59,760.760 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:05:59,867.867 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:05:59,873.873 INFO    ] time= 29/08/2026 14:05:59
[2026-08-29 14:05:59,877.877 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:05:59,899.899 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:05:59,953.953 INFO    ] No existing commands found in stream
[2026-08-29 14:06:04,966.966 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:06:04,969.969 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-08-29 14:06:06,782.782 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:06:06,784.784 INFO    ] Checking for system updates...
[2026-08-29 14:06:06,805.805 INFO    ] 200
[2026-08-29 14:06:06,806.806 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:06:06,838.838 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:06:06,839.839 INFO    ] No update needed
[2026-08-29 14:06:06,841.841 INFO    ] Checking for camera pi updates...
[2026-08-29 14:06:06,860.860 INFO    ] 200
[2026-08-29 14:06:06,861.861 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:06:06,884.884 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:06:07,070.070 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:06:07,071.071 INFO    ] No camera update needed
[2026-08-29 14:06:07,073.073 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:06:07,074.074 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:06:07,077.077 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:06:07,080.080 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:06:09,119.119 INFO    ] ================================================
[2026-08-29 14:06:09,134.134 INFO    ] Launching Daemon at Sat Aug 29 14:06:09 IST 2026
[2026-08-29 14:06:09,145.145 INFO    ] ================================================
[2026-08-29 14:06:09,629.629 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:06:09
[2026-08-29 14:06:10,215.215 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:06:10,466.466 INFO    ] Initializing speech engine...
[2026-08-29 14:06:10,489.489 INFO    ] 2026-08-29 14:06:10
[2026-08-29 14:06:10,752.752 INFO    ] 2026-08-29 14:06:10
[2026-08-29 14:06:10,787.787 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:06:10,963.963 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:06:10,976.976 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:06:11,085.085 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:06:11,093.093 INFO    ] time= 29/08/2026 14:06:11
[2026-08-29 14:06:11,097.097 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:06:11,116.116 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:06:11,207.207 INFO    ] No existing commands found in stream
[2026-08-29 14:06:16,219.219 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:06:16,222.222 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-08-29 14:06:18,200.200 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:06:18,201.201 INFO    ] Checking for system updates...
[2026-08-29 14:06:18,222.222 INFO    ] 200
[2026-08-29 14:06:18,224.224 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:06:18,257.257 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:06:18,258.258 INFO    ] No update needed
[2026-08-29 14:06:18,260.260 INFO    ] Checking for camera pi updates...
[2026-08-29 14:06:18,279.279 INFO    ] 200
[2026-08-29 14:06:18,280.280 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:06:18,305.305 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:06:18,381.381 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:06:18,384.384 INFO    ] No camera update needed
[2026-08-29 14:06:18,387.387 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:06:18,390.390 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:06:18,396.396 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:06:18,401.401 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:06:20,443.443 INFO    ] ================================================
[2026-08-29 14:06:20,458.458 INFO    ] Launching Daemon at Sat Aug 29 14:06:20 IST 2026
[2026-08-29 14:06:20,469.469 INFO    ] ================================================
[2026-08-29 14:06:21,038.038 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:06:21
[2026-08-29 14:06:21,552.552 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:06:21,682.682 INFO    ] Initializing speech engine...
[2026-08-29 14:06:21,686.686 INFO    ] 2026-08-29 14:06:21
[2026-08-29 14:06:21,903.903 INFO    ] 2026-08-29 14:06:21
[2026-08-29 14:06:21,931.931 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:06:22,059.059 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:06:22,067.067 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:06:22,244.244 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:06:22,267.267 INFO    ] time= 29/08/2026 14:06:22
[2026-08-29 14:06:22,282.282 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:06:22,291.291 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:06:22,394.394 INFO    ] No existing commands found in stream
[2026-08-29 14:06:27,419.419 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:06:27,422.422 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-08-29 14:06:29,537.537 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:06:29,538.538 INFO    ] Checking for system updates...
[2026-08-29 14:06:29,559.559 INFO    ] 200
[2026-08-29 14:06:29,560.560 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:06:29,591.591 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:06:29,592.592 INFO    ] No update needed
[2026-08-29 14:06:29,594.594 INFO    ] Checking for camera pi updates...
[2026-08-29 14:06:29,613.613 INFO    ] 200
[2026-08-29 14:06:29,615.615 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:06:29,639.639 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:06:29,750.750 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:06:29,752.752 INFO    ] No camera update needed
[2026-08-29 14:06:29,753.753 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:06:29,755.755 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:06:29,758.758 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:06:29,761.761 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:06:31,802.802 INFO    ] ================================================
[2026-08-29 14:06:31,820.820 INFO    ] Launching Daemon at Sat Aug 29 14:06:31 IST 2026
[2026-08-29 14:06:31,832.832 INFO    ] ================================================
[2026-08-29 14:06:32,455.455 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:06:32
[2026-08-29 14:06:33,148.148 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:06:33,418.418 INFO    ] Initializing speech engine...
[2026-08-29 14:06:33,426.426 INFO    ] 2026-08-29 14:06:33
[2026-08-29 14:06:33,679.679 INFO    ] 2026-08-29 14:06:33
[2026-08-29 14:06:33,720.720 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:06:33,876.876 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:06:33,906.906 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:06:34,030.030 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:06:34,034.034 INFO    ] time= 29/08/2026 14:06:34
[2026-08-29 14:06:34,054.054 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:06:34,076.076 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:06:34,157.157 INFO    ] No existing commands found in stream
[2026-08-29 14:06:39,170.170 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:06:39,174.174 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-08-29 14:06:41,212.212 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:06:41,214.214 INFO    ] Checking for system updates...
[2026-08-29 14:06:41,235.235 INFO    ] 200
[2026-08-29 14:06:41,236.236 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:06:41,266.266 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:06:41,267.267 INFO    ] No update needed
[2026-08-29 14:06:41,269.269 INFO    ] Checking for camera pi updates...
[2026-08-29 14:06:41,289.289 INFO    ] 200
[2026-08-29 14:06:41,291.291 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:06:41,313.313 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:06:41,387.387 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:06:41,389.389 INFO    ] No camera update needed
[2026-08-29 14:06:41,390.390 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:06:41,391.391 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:06:41,394.394 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:06:41,397.397 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:06:43,436.436 INFO    ] ================================================
[2026-08-29 14:06:43,451.451 INFO    ] Launching Daemon at Sat Aug 29 14:06:43 IST 2026
[2026-08-29 14:06:43,461.461 INFO    ] ================================================
[2026-08-29 14:06:43,791.791 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:06:43
[2026-08-29 14:06:44,103.103 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:06:44,235.235 INFO    ] Initializing speech engine...
[2026-08-29 14:06:44,248.248 INFO    ] 2026-08-29 14:06:44
[2026-08-29 14:06:44,454.454 INFO    ] 2026-08-29 14:06:44
[2026-08-29 14:06:44,502.502 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:06:44,674.674 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:06:44,682.682 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:06:44,816.816 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:06:44,883.883 INFO    ] time= 29/08/2026 14:06:44
[2026-08-29 14:06:44,907.907 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:06:44,914.914 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:06:44,979.979 INFO    ] No existing commands found in stream
[2026-08-29 14:06:49,990.990 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:06:49,993.993 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-08-29 14:06:52,441.441 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:06:52,443.443 INFO    ] Checking for system updates...
[2026-08-29 14:06:52,463.463 INFO    ] 200
[2026-08-29 14:06:52,464.464 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:06:52,494.494 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:06:52,495.495 INFO    ] No update needed
[2026-08-29 14:06:52,496.496 INFO    ] Checking for camera pi updates...
[2026-08-29 14:06:52,518.518 INFO    ] 200
[2026-08-29 14:06:52,519.519 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:06:52,542.542 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:06:52,634.634 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:06:52,636.636 INFO    ] No camera update needed
[2026-08-29 14:06:52,637.637 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:06:52,638.638 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:06:52,641.641 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:06:52,644.644 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:06:54,684.684 INFO    ] ================================================
[2026-08-29 14:06:54,699.699 INFO    ] Launching Daemon at Sat Aug 29 14:06:54 IST 2026
[2026-08-29 14:06:54,709.709 INFO    ] ================================================
[2026-08-29 14:06:55,058.058 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:06:55
[2026-08-29 14:06:55,374.374 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:06:55,513.513 INFO    ] Initializing speech engine...
[2026-08-29 14:06:55,523.523 INFO    ] 2026-08-29 14:06:55
[2026-08-29 14:06:55,727.727 INFO    ] 2026-08-29 14:06:55
[2026-08-29 14:06:55,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:06:55,877.877 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:06:55,940.940 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:06:56,069.069 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:06:56,125.125 INFO    ] time= 29/08/2026 14:06:56
[2026-08-29 14:06:56,167.167 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:06:56,169.169 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:06:56,240.240 INFO    ] No existing commands found in stream
[2026-08-29 14:07:01,250.250 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:07:01,253.253 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-08-29 14:07:04,292.292 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:07:04,295.295 INFO    ] Checking for system updates...
[2026-08-29 14:07:04,345.345 INFO    ] 200
[2026-08-29 14:07:04,348.348 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:07:04,407.407 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:07:04,410.410 INFO    ] No update needed
[2026-08-29 14:07:04,412.412 INFO    ] Checking for camera pi updates...
[2026-08-29 14:07:04,447.447 INFO    ] 200
[2026-08-29 14:07:04,450.450 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:07:04,493.493 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:07:04,599.599 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:07:04,602.602 INFO    ] No camera update needed
[2026-08-29 14:07:04,605.605 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:07:04,608.608 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:07:04,614.614 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:07:04,620.620 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:07:06,664.664 INFO    ] ================================================
[2026-08-29 14:07:06,679.679 INFO    ] Launching Daemon at Sat Aug 29 14:07:06 IST 2026
[2026-08-29 14:07:06,690.690 INFO    ] ================================================
[2026-08-29 14:07:07,330.330 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:07:07
[2026-08-29 14:07:07,992.992 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:07:08,300.300 INFO    ] Initializing speech engine...
[2026-08-29 14:07:08,310.310 INFO    ] 2026-08-29 14:07:08
[2026-08-29 14:07:08,587.587 INFO    ] 2026-08-29 14:07:08
[2026-08-29 14:07:08,617.617 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:07:08,804.804 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:07:08,815.815 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:07:08,963.963 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:07:09,017.017 INFO    ] time= 29/08/2026 14:07:08
[2026-08-29 14:07:09,040.040 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:07:09,047.047 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:07:09,113.113 INFO    ] No existing commands found in stream
[2026-08-29 14:07:14,124.124 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:07:14,127.127 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-08-29 14:07:15,387.387 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:07:15,389.389 INFO    ] Checking for system updates...
[2026-08-29 14:07:15,410.410 INFO    ] 200
[2026-08-29 14:07:15,411.411 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:07:15,441.441 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:07:15,442.442 INFO    ] No update needed
[2026-08-29 14:07:15,444.444 INFO    ] Checking for camera pi updates...
[2026-08-29 14:07:15,463.463 INFO    ] 200
[2026-08-29 14:07:15,465.465 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:07:15,488.488 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:07:15,561.561 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:07:15,562.562 INFO    ] No camera update needed
[2026-08-29 14:07:15,564.564 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:07:15,565.565 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:07:15,568.568 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:07:15,571.571 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:07:17,611.611 INFO    ] ================================================
[2026-08-29 14:07:17,626.626 INFO    ] Launching Daemon at Sat Aug 29 14:07:17 IST 2026
[2026-08-29 14:07:17,638.638 INFO    ] ================================================
[2026-08-29 14:07:18,007.007 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:07:18
[2026-08-29 14:07:18,323.323 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:07:18,472.472 INFO    ] Initializing speech engine...
[2026-08-29 14:07:18,476.476 INFO    ] 2026-08-29 14:07:18
[2026-08-29 14:07:18,690.690 INFO    ] 2026-08-29 14:07:18
[2026-08-29 14:07:18,721.721 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:07:18,851.851 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:07:18,855.855 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:07:19,007.007 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:07:19,063.063 INFO    ] time= 29/08/2026 14:07:19
[2026-08-29 14:07:19,099.099 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:07:19,144.144 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:07:19,243.243 INFO    ] No existing commands found in stream
[2026-08-29 14:07:24,253.253 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:07:24,256.256 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-08-29 14:07:25,619.619 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:07:25,620.620 INFO    ] Checking for system updates...
[2026-08-29 14:07:25,641.641 INFO    ] 200
[2026-08-29 14:07:25,642.642 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:07:25,674.674 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:07:25,675.675 INFO    ] No update needed
[2026-08-29 14:07:25,676.676 INFO    ] Checking for camera pi updates...
[2026-08-29 14:07:25,695.695 INFO    ] 200
[2026-08-29 14:07:25,697.697 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:07:25,721.721 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:07:25,795.795 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:07:25,796.796 INFO    ] No camera update needed
[2026-08-29 14:07:25,797.797 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:07:25,798.798 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:07:25,801.801 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:07:25,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:07:27,844.844 INFO    ] ================================================
[2026-08-29 14:07:27,859.859 INFO    ] Launching Daemon at Sat Aug 29 14:07:27 IST 2026
[2026-08-29 14:07:27,871.871 INFO    ] ================================================
[2026-08-29 14:07:28,442.442 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:07:28
[2026-08-29 14:07:29,104.104 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:07:29,406.406 INFO    ] Initializing speech engine...
[2026-08-29 14:07:29,415.415 INFO    ] 2026-08-29 14:07:29
[2026-08-29 14:07:29,694.694 INFO    ] 2026-08-29 14:07:29
[2026-08-29 14:07:29,748.748 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:07:29,981.981 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:07:29,988.988 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:07:30,125.125 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:07:30,190.190 INFO    ] time= 29/08/2026 14:07:30
[2026-08-29 14:07:30,256.256 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:07:30,263.263 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:07:30,375.375 INFO    ] No existing commands found in stream
[2026-08-29 14:07:35,398.398 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:07:35,401.401 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-08-29 14:07:36,299.299 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:07:36,300.300 INFO    ] Checking for system updates...
[2026-08-29 14:07:36,320.320 INFO    ] 200
[2026-08-29 14:07:36,321.321 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:07:36,354.354 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:07:36,355.355 INFO    ] No update needed
[2026-08-29 14:07:36,356.356 INFO    ] Checking for camera pi updates...
[2026-08-29 14:07:36,375.375 INFO    ] 200
[2026-08-29 14:07:36,376.376 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:07:36,399.399 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:07:36,486.486 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:07:36,487.487 INFO    ] No camera update needed
[2026-08-29 14:07:36,488.488 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:07:36,489.489 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:07:36,492.492 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:07:36,495.495 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:07:38,535.535 INFO    ] ================================================
[2026-08-29 14:07:38,552.552 INFO    ] Launching Daemon at Sat Aug 29 14:07:38 IST 2026
[2026-08-29 14:07:38,563.563 INFO    ] ================================================
[2026-08-29 14:07:39,205.205 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:07:39
[2026-08-29 14:07:39,752.752 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:07:39,897.897 INFO    ] Initializing speech engine...
[2026-08-29 14:07:39,908.908 INFO    ] 2026-08-29 14:07:39
[2026-08-29 14:07:40,118.118 INFO    ] 2026-08-29 14:07:40
[2026-08-29 14:07:40,147.147 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:07:40,277.277 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:07:40,336.336 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:07:40,477.477 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:07:40,545.545 INFO    ] time= 29/08/2026 14:07:40
[2026-08-29 14:07:40,569.569 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:07:40,576.576 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:07:40,645.645 INFO    ] No existing commands found in stream
[2026-08-29 14:07:45,655.655 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:07:45,658.658 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-08-29 14:07:49,765.765 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:07:49,767.767 INFO    ] Checking for system updates...
[2026-08-29 14:07:49,788.788 INFO    ] 200
[2026-08-29 14:07:49,789.789 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:07:49,819.819 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:07:49,821.821 INFO    ] No update needed
[2026-08-29 14:07:49,822.822 INFO    ] Checking for camera pi updates...
[2026-08-29 14:07:49,842.842 INFO    ] 200
[2026-08-29 14:07:49,843.843 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:07:49,867.867 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:07:49,955.955 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:07:49,957.957 INFO    ] No camera update needed
[2026-08-29 14:07:49,958.958 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:07:49,960.960 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:07:49,963.963 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:07:49,966.966 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:07:52,004.004 INFO    ] ================================================
[2026-08-29 14:07:52,020.020 INFO    ] Launching Daemon at Sat Aug 29 14:07:52 IST 2026
[2026-08-29 14:07:52,031.031 INFO    ] ================================================
[2026-08-29 14:07:52,395.395 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:07:52
[2026-08-29 14:07:52,708.708 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:07:52,870.870 INFO    ] Initializing speech engine...
[2026-08-29 14:07:52,880.880 INFO    ] 2026-08-29 14:07:52
[2026-08-29 14:07:53,131.131 INFO    ] 2026-08-29 14:07:53
[2026-08-29 14:07:53,167.167 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:07:53,341.341 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:07:53,354.354 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:07:53,498.498 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:07:53,506.506 INFO    ] time= 29/08/2026 14:07:53
[2026-08-29 14:07:53,512.512 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:07:53,539.539 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:07:53,659.659 INFO    ] No existing commands found in stream
[2026-08-29 14:07:58,684.684 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:07:58,686.686 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-08-29 14:07:59,808.808 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:07:59,810.810 INFO    ] Checking for system updates...
[2026-08-29 14:07:59,849.849 INFO    ] 200
[2026-08-29 14:07:59,852.852 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:07:59,904.904 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:07:59,906.906 INFO    ] No update needed
[2026-08-29 14:07:59,908.908 INFO    ] Checking for camera pi updates...
[2026-08-29 14:07:59,945.945 INFO    ] 200
[2026-08-29 14:07:59,947.947 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:07:59,988.988 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:08:00,113.113 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:08:00,115.115 INFO    ] No camera update needed
[2026-08-29 14:08:00,118.118 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:08:00,120.120 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:08:00,125.125 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:08:00,130.130 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:08:02,174.174 INFO    ] ================================================
[2026-08-29 14:08:02,194.194 INFO    ] Launching Daemon at Sat Aug 29 14:08:02 IST 2026
[2026-08-29 14:08:02,211.211 INFO    ] ================================================
[2026-08-29 14:08:02,883.883 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:08:02
[2026-08-29 14:08:03,488.488 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:08:03,770.770 INFO    ] Initializing speech engine...
[2026-08-29 14:08:03,776.776 INFO    ] 2026-08-29 14:08:03
[2026-08-29 14:08:04,025.025 INFO    ] 2026-08-29 14:08:04
[2026-08-29 14:08:04,059.059 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:08:04,237.237 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:08:04,244.244 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:08:04,365.365 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:08:04,374.374 INFO    ] time= 29/08/2026 14:08:04
[2026-08-29 14:08:04,404.404 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:08:04,413.413 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:08:04,485.485 INFO    ] No existing commands found in stream
[2026-08-29 14:08:09,500.500 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:08:09,503.503 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-08-29 14:08:13,090.090 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:08:13,091.091 INFO    ] Checking for system updates...
[2026-08-29 14:08:13,113.113 INFO    ] 200
[2026-08-29 14:08:13,115.115 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:08:13,144.144 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:08:13,145.145 INFO    ] No update needed
[2026-08-29 14:08:13,146.146 INFO    ] Checking for camera pi updates...
[2026-08-29 14:08:13,165.165 INFO    ] 200
[2026-08-29 14:08:13,167.167 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:08:13,191.191 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:08:13,364.364 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:08:13,365.365 INFO    ] No camera update needed
[2026-08-29 14:08:13,367.367 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:08:13,368.368 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:08:13,371.371 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:08:13,374.374 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:08:15,415.415 INFO    ] ================================================
[2026-08-29 14:08:15,430.430 INFO    ] Launching Daemon at Sat Aug 29 14:08:15 IST 2026
[2026-08-29 14:08:15,441.441 INFO    ] ================================================
[2026-08-29 14:08:15,815.815 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:08:15
[2026-08-29 14:08:16,155.155 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:08:16,387.387 INFO    ] Initializing speech engine...
[2026-08-29 14:08:16,395.395 INFO    ] 2026-08-29 14:08:16
[2026-08-29 14:08:16,669.669 INFO    ] 2026-08-29 14:08:16
[2026-08-29 14:08:16,730.730 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:08:16,963.963 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:08:16,972.972 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:08:17,112.112 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:08:17,172.172 INFO    ] time= 29/08/2026 14:08:17
[2026-08-29 14:08:17,227.227 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:08:17,251.251 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:08:17,305.305 INFO    ] No existing commands found in stream
[2026-08-29 14:08:22,318.318 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:08:22,321.321 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-08-29 14:08:23,984.984 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:08:23,985.985 INFO    ] Checking for system updates...
[2026-08-29 14:08:24,006.006 INFO    ] 200
[2026-08-29 14:08:24,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:08:24,037.037 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:08:24,038.038 INFO    ] No update needed
[2026-08-29 14:08:24,039.039 INFO    ] Checking for camera pi updates...
[2026-08-29 14:08:24,058.058 INFO    ] 200
[2026-08-29 14:08:24,059.059 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:08:24,082.082 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:08:24,194.194 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:08:24,195.195 INFO    ] No camera update needed
[2026-08-29 14:08:24,196.196 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:08:24,197.197 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:08:24,200.200 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:08:24,203.203 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:08:26,242.242 INFO    ] ================================================
[2026-08-29 14:08:26,257.257 INFO    ] Launching Daemon at Sat Aug 29 14:08:26 IST 2026
[2026-08-29 14:08:26,268.268 INFO    ] ================================================
[2026-08-29 14:08:26,622.622 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:08:26
[2026-08-29 14:08:26,939.939 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:08:27,088.088 INFO    ] Initializing speech engine...
[2026-08-29 14:08:27,094.094 INFO    ] 2026-08-29 14:08:27
[2026-08-29 14:08:27,308.308 INFO    ] 2026-08-29 14:08:27
[2026-08-29 14:08:27,339.339 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:08:27,469.469 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:08:27,483.483 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:08:27,638.638 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:08:27,682.682 INFO    ] time= 29/08/2026 14:08:27
[2026-08-29 14:08:27,743.743 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:08:27,784.784 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:08:27,865.865 INFO    ] No existing commands found in stream
[2026-08-29 14:08:32,875.875 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:08:32,878.878 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-08-29 14:08:33,360.360 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:08:33,362.362 INFO    ] Checking for system updates...
[2026-08-29 14:08:33,402.402 INFO    ] 200
[2026-08-29 14:08:33,405.405 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:08:33,464.464 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:08:33,466.466 INFO    ] No update needed
[2026-08-29 14:08:33,469.469 INFO    ] Checking for camera pi updates...
[2026-08-29 14:08:33,503.503 INFO    ] 200
[2026-08-29 14:08:33,506.506 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:08:33,546.546 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:08:33,623.623 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:08:33,626.626 INFO    ] No camera update needed
[2026-08-29 14:08:33,628.628 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:08:33,631.631 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:08:33,636.636 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:08:33,641.641 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:08:35,682.682 INFO    ] ================================================
[2026-08-29 14:08:35,697.697 INFO    ] Launching Daemon at Sat Aug 29 14:08:35 IST 2026
[2026-08-29 14:08:35,708.708 INFO    ] ================================================
[2026-08-29 14:08:36,105.105 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:08:36
[2026-08-29 14:08:36,445.445 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:08:36,598.598 INFO    ] Initializing speech engine...
[2026-08-29 14:08:36,603.603 INFO    ] 2026-08-29 14:08:36
[2026-08-29 14:08:36,812.812 INFO    ] 2026-08-29 14:08:36
[2026-08-29 14:08:36,841.841 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:08:36,963.963 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:08:37,025.025 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:08:37,163.163 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:08:37,227.227 INFO    ] time= 29/08/2026 14:08:37
[2026-08-29 14:08:37,254.254 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:08:37,261.261 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:08:37,326.326 INFO    ] No existing commands found in stream
[2026-08-29 14:08:42,337.337 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:08:42,340.340 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-08-29 14:08:44,106.106 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:08:44,107.107 INFO    ] Checking for system updates...
[2026-08-29 14:08:44,127.127 INFO    ] 200
[2026-08-29 14:08:44,129.129 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:08:44,161.161 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:08:44,163.163 INFO    ] No update needed
[2026-08-29 14:08:44,164.164 INFO    ] Checking for camera pi updates...
[2026-08-29 14:08:44,183.183 INFO    ] 200
[2026-08-29 14:08:44,184.184 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:08:44,209.209 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:08:44,292.292 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:08:44,295.295 INFO    ] No camera update needed
[2026-08-29 14:08:44,297.297 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:08:44,300.300 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:08:44,305.305 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:08:44,310.310 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:08:46,351.351 INFO    ] ================================================
[2026-08-29 14:08:46,365.365 INFO    ] Launching Daemon at Sat Aug 29 14:08:46 IST 2026
[2026-08-29 14:08:46,377.377 INFO    ] ================================================
[2026-08-29 14:08:47,043.043 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:08:47
[2026-08-29 14:08:47,476.476 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:08:47,614.614 INFO    ] Initializing speech engine...
[2026-08-29 14:08:47,626.626 INFO    ] 2026-08-29 14:08:47
[2026-08-29 14:08:47,848.848 INFO    ] 2026-08-29 14:08:47
[2026-08-29 14:08:47,872.872 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:08:48,026.026 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:08:48,028.028 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:08:48,166.166 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:08:48,171.171 INFO    ] time= 29/08/2026 14:08:48
[2026-08-29 14:08:48,197.197 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:08:48,229.229 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:08:48,360.360 INFO    ] No existing commands found in stream
[2026-08-29 14:08:53,375.375 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:08:53,378.378 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-08-29 14:08:56,562.562 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:08:56,564.564 INFO    ] Checking for system updates...
[2026-08-29 14:08:56,584.584 INFO    ] 200
[2026-08-29 14:08:56,585.585 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:08:56,615.615 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:08:56,617.617 INFO    ] No update needed
[2026-08-29 14:08:56,619.619 INFO    ] Checking for camera pi updates...
[2026-08-29 14:08:56,639.639 INFO    ] 200
[2026-08-29 14:08:56,640.640 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:08:56,663.663 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:08:56,741.741 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:08:56,743.743 INFO    ] No camera update needed
[2026-08-29 14:08:56,744.744 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:08:56,745.745 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:08:56,748.748 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:08:56,751.751 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:08:58,791.791 INFO    ] ================================================
[2026-08-29 14:08:58,806.806 INFO    ] Launching Daemon at Sat Aug 29 14:08:58 IST 2026
[2026-08-29 14:08:58,817.817 INFO    ] ================================================
[2026-08-29 14:08:59,320.320 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:08:59
[2026-08-29 14:08:59,910.910 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:09:00,220.220 INFO    ] Initializing speech engine...
[2026-08-29 14:09:00,231.231 INFO    ] 2026-08-29 14:09:00
[2026-08-29 14:09:00,504.504 INFO    ] 2026-08-29 14:09:00
[2026-08-29 14:09:00,562.562 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:09:00,796.796 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:09:00,803.803 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:09:00,941.941 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:09:00,997.997 INFO    ] time= 29/08/2026 14:09:00
[2026-08-29 14:09:01,051.051 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:09:01,077.077 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:09:01,206.206 INFO    ] No existing commands found in stream
[2026-08-29 14:09:06,214.214 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:09:06,217.217 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-08-29 14:09:08,829.829 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:09:08,831.831 INFO    ] Checking for system updates...
[2026-08-29 14:09:08,852.852 INFO    ] 200
[2026-08-29 14:09:08,854.854 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:09:08,883.883 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:09:08,885.885 INFO    ] No update needed
[2026-08-29 14:09:08,886.886 INFO    ] Checking for camera pi updates...
[2026-08-29 14:09:08,905.905 INFO    ] 200
[2026-08-29 14:09:08,906.906 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:09:08,929.929 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:09:09,029.029 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:09:09,030.030 INFO    ] No camera update needed
[2026-08-29 14:09:09,032.032 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:09:09,033.033 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:09:09,036.036 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:09:09,039.039 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:09:11,069.069 INFO    ] ================================================
[2026-08-29 14:09:11,079.079 INFO    ] Launching Daemon at Sat Aug 29 14:09:11 IST 2026
[2026-08-29 14:09:11,085.085 INFO    ] ================================================
[2026-08-29 14:09:11,666.666 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:09:11
[2026-08-29 14:09:12,280.280 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:09:12,572.572 INFO    ] Initializing speech engine...
[2026-08-29 14:09:12,578.578 INFO    ] 2026-08-29 14:09:12
[2026-08-29 14:09:12,840.840 INFO    ] 2026-08-29 14:09:12
[2026-08-29 14:09:12,877.877 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:09:13,082.082 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:09:13,091.091 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:09:13,228.228 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:09:13,232.232 INFO    ] time= 29/08/2026 14:09:13
[2026-08-29 14:09:13,239.239 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:09:13,265.265 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:09:13,407.407 INFO    ] No existing commands found in stream
[2026-08-29 14:09:18,438.438 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:09:18,441.441 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-08-29 14:09:21,588.588 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:09:21,589.589 INFO    ] Checking for system updates...
[2026-08-29 14:09:21,610.610 INFO    ] 200
[2026-08-29 14:09:21,612.612 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:09:21,642.642 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:09:21,643.643 INFO    ] No update needed
[2026-08-29 14:09:21,645.645 INFO    ] Checking for camera pi updates...
[2026-08-29 14:09:21,664.664 INFO    ] 200
[2026-08-29 14:09:21,666.666 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:09:21,689.689 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:09:21,793.793 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:09:21,795.795 INFO    ] No camera update needed
[2026-08-29 14:09:21,798.798 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:09:21,801.801 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:09:21,807.807 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:09:21,812.812 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:09:23,853.853 INFO    ] ================================================
[2026-08-29 14:09:23,869.869 INFO    ] Launching Daemon at Sat Aug 29 14:09:23 IST 2026
[2026-08-29 14:09:23,879.879 INFO    ] ================================================
[2026-08-29 14:09:24,524.524 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:09:24
[2026-08-29 14:09:25,006.006 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:09:25,159.159 INFO    ] Initializing speech engine...
[2026-08-29 14:09:25,165.165 INFO    ] 2026-08-29 14:09:25
[2026-08-29 14:09:25,374.374 INFO    ] 2026-08-29 14:09:25
[2026-08-29 14:09:25,404.404 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:09:25,527.527 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:09:25,575.575 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:09:25,723.723 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:09:25,789.789 INFO    ] time= 29/08/2026 14:09:25
[2026-08-29 14:09:25,823.823 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:09:25,824.824 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:09:25,896.896 INFO    ] No existing commands found in stream
[2026-08-29 14:09:30,907.907 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:09:30,909.909 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-08-29 14:09:34,243.243 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:09:34,245.245 INFO    ] Checking for system updates...
[2026-08-29 14:09:34,281.281 INFO    ] 200
[2026-08-29 14:09:34,284.284 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:09:34,340.340 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:09:34,343.343 INFO    ] No update needed
[2026-08-29 14:09:34,346.346 INFO    ] Checking for camera pi updates...
[2026-08-29 14:09:34,383.383 INFO    ] 200
[2026-08-29 14:09:34,386.386 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:09:34,429.429 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:09:34,515.515 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:09:34,518.518 INFO    ] No camera update needed
[2026-08-29 14:09:34,520.520 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:09:34,523.523 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:09:34,529.529 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:09:34,535.535 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:09:36,576.576 INFO    ] ================================================
[2026-08-29 14:09:36,592.592 INFO    ] Launching Daemon at Sat Aug 29 14:09:36 IST 2026
[2026-08-29 14:09:36,602.602 INFO    ] ================================================
[2026-08-29 14:09:37,217.217 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:09:37
[2026-08-29 14:09:37,895.895 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:09:38,204.204 INFO    ] Initializing speech engine...
[2026-08-29 14:09:38,212.212 INFO    ] 2026-08-29 14:09:38
[2026-08-29 14:09:38,534.534 INFO    ] 2026-08-29 14:09:38
[2026-08-29 14:09:38,624.624 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:09:38,779.779 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:09:38,789.789 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:09:38,926.926 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:09:38,964.964 INFO    ] time= 29/08/2026 14:09:38
[2026-08-29 14:09:39,034.034 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:09:39,069.069 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:09:39,193.193 INFO    ] No existing commands found in stream
[2026-08-29 14:09:44,225.225 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:09:44,228.228 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-08-29 14:09:45,102.102 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:09:45,103.103 INFO    ] Checking for system updates...
[2026-08-29 14:09:45,124.124 INFO    ] 200
[2026-08-29 14:09:45,126.126 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:09:45,156.156 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:09:45,165.165 INFO    ] No update needed
[2026-08-29 14:09:45,167.167 INFO    ] Checking for camera pi updates...
[2026-08-29 14:09:45,192.192 INFO    ] 200
[2026-08-29 14:09:45,194.194 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:09:45,217.217 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:09:45,293.293 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:09:45,295.295 INFO    ] No camera update needed
[2026-08-29 14:09:45,296.296 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:09:45,297.297 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:09:45,300.300 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:09:45,303.303 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:09:47,342.342 INFO    ] ================================================
[2026-08-29 14:09:47,357.357 INFO    ] Launching Daemon at Sat Aug 29 14:09:47 IST 2026
[2026-08-29 14:09:47,368.368 INFO    ] ================================================
[2026-08-29 14:09:47,744.744 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:09:47
[2026-08-29 14:09:48,061.061 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:09:48,200.200 INFO    ] Initializing speech engine...
[2026-08-29 14:09:48,209.209 INFO    ] 2026-08-29 14:09:48
[2026-08-29 14:09:48,415.415 INFO    ] 2026-08-29 14:09:48
[2026-08-29 14:09:48,445.445 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:09:48,567.567 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:09:48,630.630 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:09:48,798.798 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:09:48,852.852 INFO    ] time= 29/08/2026 14:09:48
[2026-08-29 14:09:48,903.903 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:09:48,938.938 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:09:49,054.054 INFO    ] No existing commands found in stream
[2026-08-29 14:09:54,068.068 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:09:54,070.070 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 14:09:56,033.033 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:09:56,035.035 INFO    ] Checking for system updates...
[2026-08-29 14:09:56,055.055 INFO    ] 200
[2026-08-29 14:09:56,057.057 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:09:56,089.089 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:09:56,090.090 INFO    ] No update needed
[2026-08-29 14:09:56,091.091 INFO    ] Checking for camera pi updates...
[2026-08-29 14:09:56,110.110 INFO    ] 200
[2026-08-29 14:09:56,112.112 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:09:56,135.135 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:09:56,254.254 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:09:56,255.255 INFO    ] No camera update needed
[2026-08-29 14:09:56,256.256 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:09:56,257.257 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:09:56,260.260 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:09:56,263.263 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:09:58,301.301 INFO    ] ================================================
[2026-08-29 14:09:58,316.316 INFO    ] Launching Daemon at Sat Aug 29 14:09:58 IST 2026
[2026-08-29 14:09:58,327.327 INFO    ] ================================================
[2026-08-29 14:09:58,693.693 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:09:58
[2026-08-29 14:09:59,004.004 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:09:59,273.273 INFO    ] Initializing speech engine...
[2026-08-29 14:09:59,283.283 INFO    ] 2026-08-29 14:09:59
[2026-08-29 14:09:59,529.529 INFO    ] 2026-08-29 14:09:59
[2026-08-29 14:09:59,598.598 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:09:59,771.771 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:09:59,823.823 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:09:59,961.961 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:10:00,009.009 INFO    ] time= 29/08/2026 14:09:59
[2026-08-29 14:10:00,074.074 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:10:00,094.094 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:10:00,148.148 INFO    ] No existing commands found in stream
[2026-08-29 14:10:05,159.159 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:10:05,163.163 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-08-29 14:10:08,838.838 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:10:08,840.840 INFO    ] Checking for system updates...
[2026-08-29 14:10:08,861.861 INFO    ] 200
[2026-08-29 14:10:08,862.862 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:10:08,894.894 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:10:08,895.895 INFO    ] No update needed
[2026-08-29 14:10:08,897.897 INFO    ] Checking for camera pi updates...
[2026-08-29 14:10:08,915.915 INFO    ] 200
[2026-08-29 14:10:08,917.917 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:10:08,939.939 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:10:09,030.030 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:10:09,032.032 INFO    ] No camera update needed
[2026-08-29 14:10:09,033.033 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:10:09,034.034 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:10:09,037.037 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:10:09,040.040 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:10:11,080.080 INFO    ] ================================================
[2026-08-29 14:10:11,096.096 INFO    ] Launching Daemon at Sat Aug 29 14:10:11 IST 2026
[2026-08-29 14:10:11,107.107 INFO    ] ================================================
[2026-08-29 14:10:11,460.460 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:10:11
[2026-08-29 14:10:11,774.774 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:10:11,906.906 INFO    ] Initializing speech engine...
[2026-08-29 14:10:11,909.909 INFO    ] 2026-08-29 14:10:11
[2026-08-29 14:10:12,106.106 INFO    ] 2026-08-29 14:10:12
[2026-08-29 14:10:12,147.147 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:10:12,302.302 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:10:12,306.306 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:10:12,460.460 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:10:12,511.511 INFO    ] time= 29/08/2026 14:10:12
[2026-08-29 14:10:12,527.527 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:10:12,590.590 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:10:12,698.698 INFO    ] No existing commands found in stream
[2026-08-29 14:10:17,707.707 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:10:17,710.710 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-08-29 14:10:18,322.322 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:10:18,324.324 INFO    ] Checking for system updates...
[2026-08-29 14:10:18,344.344 INFO    ] 200
[2026-08-29 14:10:18,346.346 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:10:18,375.375 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:10:18,377.377 INFO    ] No update needed
[2026-08-29 14:10:18,378.378 INFO    ] Checking for camera pi updates...
[2026-08-29 14:10:18,398.398 INFO    ] 200
[2026-08-29 14:10:18,399.399 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:10:18,424.424 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:10:18,579.579 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:10:18,582.582 INFO    ] No camera update needed
[2026-08-29 14:10:18,585.585 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:10:18,587.587 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:10:18,593.593 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:10:18,599.599 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:10:20,641.641 INFO    ] ================================================
[2026-08-29 14:10:20,656.656 INFO    ] Launching Daemon at Sat Aug 29 14:10:20 IST 2026
[2026-08-29 14:10:20,667.667 INFO    ] ================================================
[2026-08-29 14:10:21,258.258 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:10:21
[2026-08-29 14:10:21,688.688 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:10:21,823.823 INFO    ] Initializing speech engine...
[2026-08-29 14:10:21,827.827 INFO    ] 2026-08-29 14:10:21
[2026-08-29 14:10:22,042.042 INFO    ] 2026-08-29 14:10:22
[2026-08-29 14:10:22,085.085 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:10:22,208.208 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:10:22,270.270 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:10:22,407.407 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:10:22,461.461 INFO    ] time= 29/08/2026 14:10:22
[2026-08-29 14:10:22,496.496 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:10:22,501.501 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:10:22,571.571 INFO    ] No existing commands found in stream
[2026-08-29 14:10:27,582.582 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:10:27,585.585 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-08-29 14:10:31,426.426 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:10:31,427.427 INFO    ] Checking for system updates...
[2026-08-29 14:10:31,451.451 INFO    ] 200
[2026-08-29 14:10:31,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:10:31,495.495 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:10:31,498.498 INFO    ] No update needed
[2026-08-29 14:10:31,500.500 INFO    ] Checking for camera pi updates...
[2026-08-29 14:10:31,537.537 INFO    ] 200
[2026-08-29 14:10:31,540.540 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:10:31,587.587 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:10:31,677.677 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:10:31,680.680 INFO    ] No camera update needed
[2026-08-29 14:10:31,683.683 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:10:31,686.686 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:10:31,692.692 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:10:31,698.698 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:10:33,739.739 INFO    ] ================================================
[2026-08-29 14:10:33,755.755 INFO    ] Launching Daemon at Sat Aug 29 14:10:33 IST 2026
[2026-08-29 14:10:33,766.766 INFO    ] ================================================
[2026-08-29 14:10:34,333.333 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:10:34
[2026-08-29 14:10:34,772.772 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:10:34,902.902 INFO    ] Initializing speech engine...
[2026-08-29 14:10:34,911.911 INFO    ] 2026-08-29 14:10:34
[2026-08-29 14:10:35,125.125 INFO    ] 2026-08-29 14:10:35
[2026-08-29 14:10:35,155.155 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:10:35,279.279 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:10:35,317.317 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:10:35,502.502 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:10:35,549.549 INFO    ] time= 29/08/2026 14:10:35
[2026-08-29 14:10:35,567.567 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:10:35,632.632 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:10:35,735.735 INFO    ] No existing commands found in stream
[2026-08-29 14:10:40,760.760 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:10:40,768.768 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-08-29 14:10:41,260.260 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:10:41,262.262 INFO    ] Checking for system updates...
[2026-08-29 14:10:41,283.283 INFO    ] 200
[2026-08-29 14:10:41,284.284 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:10:41,317.317 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:10:41,318.318 INFO    ] No update needed
[2026-08-29 14:10:41,320.320 INFO    ] Checking for camera pi updates...
[2026-08-29 14:10:41,340.340 INFO    ] 200
[2026-08-29 14:10:41,342.342 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:10:41,365.365 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:10:41,441.441 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:10:41,443.443 INFO    ] No camera update needed
[2026-08-29 14:10:41,444.444 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:10:41,445.445 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:10:41,448.448 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:10:41,451.451 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:10:43,490.490 INFO    ] ================================================
[2026-08-29 14:10:43,506.506 INFO    ] Launching Daemon at Sat Aug 29 14:10:43 IST 2026
[2026-08-29 14:10:43,517.517 INFO    ] ================================================
[2026-08-29 14:10:44,027.027 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:10:44
[2026-08-29 14:10:44,629.629 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:10:44,905.905 INFO    ] Initializing speech engine...
[2026-08-29 14:10:44,914.914 INFO    ] 2026-08-29 14:10:44
[2026-08-29 14:10:45,178.178 INFO    ] 2026-08-29 14:10:45
[2026-08-29 14:10:45,209.209 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:10:45,376.376 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:10:45,399.399 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:10:45,494.494 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:10:45,497.497 INFO    ] time= 29/08/2026 14:10:45
[2026-08-29 14:10:45,499.499 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:10:45,507.507 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:10:45,596.596 INFO    ] No existing commands found in stream
[2026-08-29 14:10:50,626.626 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:10:50,629.629 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-08-29 14:10:54,357.357 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:10:54,359.359 INFO    ] Checking for system updates...
[2026-08-29 14:10:54,379.379 INFO    ] 200
[2026-08-29 14:10:54,381.381 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:10:54,410.410 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:10:54,412.412 INFO    ] No update needed
[2026-08-29 14:10:54,413.413 INFO    ] Checking for camera pi updates...
[2026-08-29 14:10:54,432.432 INFO    ] 200
[2026-08-29 14:10:54,434.434 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:10:54,457.457 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:10:54,571.571 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:10:54,572.572 INFO    ] No camera update needed
[2026-08-29 14:10:54,574.574 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:10:54,575.575 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:10:54,578.578 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:10:54,581.581 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:10:56,621.621 INFO    ] ================================================
[2026-08-29 14:10:56,637.637 INFO    ] Launching Daemon at Sat Aug 29 14:10:56 IST 2026
[2026-08-29 14:10:56,648.648 INFO    ] ================================================
[2026-08-29 14:10:56,980.980 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:10:56
[2026-08-29 14:10:57,292.292 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:10:57,435.435 INFO    ] Initializing speech engine...
[2026-08-29 14:10:57,441.441 INFO    ] 2026-08-29 14:10:57
[2026-08-29 14:10:57,646.646 INFO    ] 2026-08-29 14:10:57
[2026-08-29 14:10:57,676.676 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:10:57,821.821 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:10:57,828.828 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:10:58,009.009 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:10:58,033.033 INFO    ] time= 29/08/2026 14:10:58
[2026-08-29 14:10:58,039.039 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:10:58,057.057 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:10:58,167.167 INFO    ] No existing commands found in stream
[2026-08-29 14:11:03,194.194 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:11:03,197.197 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-08-29 14:11:06,255.255 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:11:06,257.257 INFO    ] Checking for system updates...
[2026-08-29 14:11:06,277.277 INFO    ] 200
[2026-08-29 14:11:06,278.278 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:11:06,318.318 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:11:06,320.320 INFO    ] No update needed
[2026-08-29 14:11:06,322.322 INFO    ] Checking for camera pi updates...
[2026-08-29 14:11:06,345.345 INFO    ] 200
[2026-08-29 14:11:06,347.347 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:11:06,382.382 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:11:06,493.493 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:11:06,495.495 INFO    ] No camera update needed
[2026-08-29 14:11:06,497.497 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:11:06,500.500 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:11:06,505.505 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:11:06,510.510 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:11:08,549.549 INFO    ] ================================================
[2026-08-29 14:11:08,565.565 INFO    ] Launching Daemon at Sat Aug 29 14:11:08 IST 2026
[2026-08-29 14:11:08,576.576 INFO    ] ================================================
[2026-08-29 14:11:09,199.199 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:11:09
[2026-08-29 14:11:09,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:11:09,827.827 INFO    ] Initializing speech engine...
[2026-08-29 14:11:09,831.831 INFO    ] 2026-08-29 14:11:09
[2026-08-29 14:11:10,064.064 INFO    ] 2026-08-29 14:11:10
[2026-08-29 14:11:10,121.121 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:11:10,267.267 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:11:10,272.272 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:11:10,390.390 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:11:10,422.422 INFO    ] time= 29/08/2026 14:11:10
[2026-08-29 14:11:10,467.467 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:11:10,516.516 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:11:10,589.589 INFO    ] No existing commands found in stream
[2026-08-29 14:11:15,601.601 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:11:15,604.604 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 14:11:19,358.358 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:11:19,360.360 INFO    ] Checking for system updates...
[2026-08-29 14:11:19,381.381 INFO    ] 200
[2026-08-29 14:11:19,383.383 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:11:19,414.414 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:11:19,415.415 INFO    ] No update needed
[2026-08-29 14:11:19,416.416 INFO    ] Checking for camera pi updates...
[2026-08-29 14:11:19,435.435 INFO    ] 200
[2026-08-29 14:11:19,436.436 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:11:19,462.462 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:11:19,544.544 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:11:19,545.545 INFO    ] No camera update needed
[2026-08-29 14:11:19,547.547 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:11:19,548.548 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:11:19,551.551 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:11:19,554.554 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:11:21,592.592 INFO    ] ================================================
[2026-08-29 14:11:21,608.608 INFO    ] Launching Daemon at Sat Aug 29 14:11:21 IST 2026
[2026-08-29 14:11:21,620.620 INFO    ] ================================================
[2026-08-29 14:11:21,947.947 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:11:21
[2026-08-29 14:11:22,259.259 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:11:22,397.397 INFO    ] Initializing speech engine...
[2026-08-29 14:11:22,408.408 INFO    ] 2026-08-29 14:11:22
[2026-08-29 14:11:22,613.613 INFO    ] 2026-08-29 14:11:22
[2026-08-29 14:11:22,641.641 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:11:22,765.765 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:11:22,797.797 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:11:22,960.960 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:11:23,002.002 INFO    ] time= 29/08/2026 14:11:22
[2026-08-29 14:11:23,057.057 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:11:23,063.063 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:11:23,136.136 INFO    ] No existing commands found in stream
[2026-08-29 14:11:28,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:11:28,153.153 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-08-29 14:11:30,639.639 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:11:30,641.641 INFO    ] Checking for system updates...
[2026-08-29 14:11:30,661.661 INFO    ] 200
[2026-08-29 14:11:30,663.663 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:11:30,694.694 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:11:30,696.696 INFO    ] No update needed
[2026-08-29 14:11:30,697.697 INFO    ] Checking for camera pi updates...
[2026-08-29 14:11:30,716.716 INFO    ] 200
[2026-08-29 14:11:30,717.717 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:11:30,740.740 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:11:30,790.790 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:11:30,793.793 INFO    ] No camera update needed
[2026-08-29 14:11:30,795.795 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:11:30,797.797 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:11:30,803.803 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:11:30,808.808 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:11:32,849.849 INFO    ] ================================================
[2026-08-29 14:11:32,865.865 INFO    ] Launching Daemon at Sat Aug 29 14:11:32 IST 2026
[2026-08-29 14:11:32,877.877 INFO    ] ================================================
[2026-08-29 14:11:33,455.455 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:11:33
[2026-08-29 14:11:33,979.979 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:11:34,121.121 INFO    ] Initializing speech engine...
[2026-08-29 14:11:34,126.126 INFO    ] 2026-08-29 14:11:34
[2026-08-29 14:11:34,329.329 INFO    ] 2026-08-29 14:11:34
[2026-08-29 14:11:34,358.358 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:11:34,480.480 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:11:34,523.523 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:11:34,644.644 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:11:34,645.645 INFO    ] time= 29/08/2026 14:11:34
[2026-08-29 14:11:34,646.646 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:11:34,680.680 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:11:34,769.769 INFO    ] No existing commands found in stream
[2026-08-29 14:11:39,786.786 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:11:39,789.789 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-08-29 14:11:41,223.223 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:11:41,225.225 INFO    ] Checking for system updates...
[2026-08-29 14:11:41,245.245 INFO    ] 200
[2026-08-29 14:11:41,246.246 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:11:41,283.283 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:11:41,285.285 INFO    ] No update needed
[2026-08-29 14:11:41,288.288 INFO    ] Checking for camera pi updates...
[2026-08-29 14:11:41,324.324 INFO    ] 200
[2026-08-29 14:11:41,326.326 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:11:41,370.370 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:11:41,476.476 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:11:41,479.479 INFO    ] No camera update needed
[2026-08-29 14:11:41,481.481 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:11:41,483.483 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:11:41,488.488 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:11:41,493.493 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:11:43,535.535 INFO    ] ================================================
[2026-08-29 14:11:43,551.551 INFO    ] Launching Daemon at Sat Aug 29 14:11:43 IST 2026
[2026-08-29 14:11:43,562.562 INFO    ] ================================================
[2026-08-29 14:11:44,140.140 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:11:44
[2026-08-29 14:11:44,576.576 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:11:44,707.707 INFO    ] Initializing speech engine...
[2026-08-29 14:11:44,710.710 INFO    ] 2026-08-29 14:11:44
[2026-08-29 14:11:44,939.939 INFO    ] 2026-08-29 14:11:44
[2026-08-29 14:11:44,968.968 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:11:45,099.099 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:11:45,142.142 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:11:45,305.305 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:11:45,347.347 INFO    ] time= 29/08/2026 14:11:45
[2026-08-29 14:11:45,389.389 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:11:45,411.411 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:11:45,487.487 INFO    ] No existing commands found in stream
[2026-08-29 14:11:50,497.497 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:11:50,500.500 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-08-29 14:11:51,810.810 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:11:51,812.812 INFO    ] Checking for system updates...
[2026-08-29 14:11:51,836.836 INFO    ] 200
[2026-08-29 14:11:51,837.837 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:11:51,869.869 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:11:51,871.871 INFO    ] No update needed
[2026-08-29 14:11:51,872.872 INFO    ] Checking for camera pi updates...
[2026-08-29 14:11:51,895.895 INFO    ] 200
[2026-08-29 14:11:51,896.896 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:11:51,920.920 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:11:52,007.007 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:11:52,008.008 INFO    ] No camera update needed
[2026-08-29 14:11:52,009.009 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:11:52,011.011 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:11:52,014.014 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:11:52,017.017 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:11:54,049.049 INFO    ] ================================================
[2026-08-29 14:11:54,058.058 INFO    ] Launching Daemon at Sat Aug 29 14:11:54 IST 2026
[2026-08-29 14:11:54,066.066 INFO    ] ================================================
[2026-08-29 14:11:54,674.674 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:11:54
[2026-08-29 14:11:55,260.260 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:11:55,531.531 INFO    ] Initializing speech engine...
[2026-08-29 14:11:55,540.540 INFO    ] 2026-08-29 14:11:55
[2026-08-29 14:11:55,799.799 INFO    ] 2026-08-29 14:11:55
[2026-08-29 14:11:55,834.834 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:11:56,010.010 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:11:56,023.023 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:11:56,135.135 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:11:56,140.140 INFO    ] time= 29/08/2026 14:11:56
[2026-08-29 14:11:56,158.158 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:11:56,179.179 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:11:56,256.256 INFO    ] No existing commands found in stream
[2026-08-29 14:12:01,286.286 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:12:01,289.289 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-08-29 14:12:05,527.527 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:12:05,528.528 INFO    ] Checking for system updates...
[2026-08-29 14:12:05,549.549 INFO    ] 200
[2026-08-29 14:12:05,550.550 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:12:05,580.580 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:12:05,581.581 INFO    ] No update needed
[2026-08-29 14:12:05,582.582 INFO    ] Checking for camera pi updates...
[2026-08-29 14:12:05,603.603 INFO    ] 200
[2026-08-29 14:12:05,604.604 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:12:05,628.628 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:12:05,715.715 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:12:05,717.717 INFO    ] No camera update needed
[2026-08-29 14:12:05,723.723 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:12:05,724.724 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:12:05,728.728 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:12:05,731.731 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:12:07,772.772 INFO    ] ================================================
[2026-08-29 14:12:07,788.788 INFO    ] Launching Daemon at Sat Aug 29 14:12:07 IST 2026
[2026-08-29 14:12:07,799.799 INFO    ] ================================================
[2026-08-29 14:12:08,156.156 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:12:08
[2026-08-29 14:12:08,473.473 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:12:08,617.617 INFO    ] Initializing speech engine...
[2026-08-29 14:12:08,622.622 INFO    ] 2026-08-29 14:12:08
[2026-08-29 14:12:08,827.827 INFO    ] 2026-08-29 14:12:08
[2026-08-29 14:12:08,856.856 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:12:09,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:12:09,045.045 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:12:09,178.178 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:12:09,240.240 INFO    ] time= 29/08/2026 14:12:09
[2026-08-29 14:12:09,273.273 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:12:09,280.280 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:12:09,346.346 INFO    ] No existing commands found in stream
[2026-08-29 14:12:14,357.357 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:12:14,359.359 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-08-29 14:12:16,595.595 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:12:16,596.596 INFO    ] Checking for system updates...
[2026-08-29 14:12:16,616.616 INFO    ] 200
[2026-08-29 14:12:16,618.618 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:12:16,650.650 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:12:16,651.651 INFO    ] No update needed
[2026-08-29 14:12:16,653.653 INFO    ] Checking for camera pi updates...
[2026-08-29 14:12:16,672.672 INFO    ] 200
[2026-08-29 14:12:16,673.673 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:12:16,697.697 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:12:16,787.787 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:12:16,788.788 INFO    ] No camera update needed
[2026-08-29 14:12:16,789.789 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:12:16,791.791 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:12:16,794.794 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:12:16,796.796 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:12:18,835.835 INFO    ] ================================================
[2026-08-29 14:12:18,850.850 INFO    ] Launching Daemon at Sat Aug 29 14:12:18 IST 2026
[2026-08-29 14:12:18,861.861 INFO    ] ================================================
[2026-08-29 14:12:19,250.250 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:12:19
[2026-08-29 14:12:19,852.852 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:12:20,130.130 INFO    ] Initializing speech engine...
[2026-08-29 14:12:20,137.137 INFO    ] 2026-08-29 14:12:20
[2026-08-29 14:12:20,399.399 INFO    ] 2026-08-29 14:12:20
[2026-08-29 14:12:20,453.453 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:12:20,616.616 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:12:20,639.639 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:12:20,758.758 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:12:20,816.816 INFO    ] time= 29/08/2026 14:12:20
[2026-08-29 14:12:20,830.830 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:12:20,884.884 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:12:20,961.961 INFO    ] No existing commands found in stream
[2026-08-29 14:12:25,982.982 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:12:25,985.985 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-08-29 14:12:26,971.971 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:12:26,973.973 INFO    ] Checking for system updates...
[2026-08-29 14:12:26,993.993 INFO    ] 200
[2026-08-29 14:12:26,995.995 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:12:27,024.024 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:12:27,026.026 INFO    ] No update needed
[2026-08-29 14:12:27,028.028 INFO    ] Checking for camera pi updates...
[2026-08-29 14:12:27,046.046 INFO    ] 200
[2026-08-29 14:12:27,048.048 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:12:27,071.071 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:12:27,273.273 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:12:27,275.275 INFO    ] No camera update needed
[2026-08-29 14:12:27,276.276 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:12:27,277.277 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:12:27,280.280 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:12:27,283.283 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:12:29,326.326 INFO    ] ================================================
[2026-08-29 14:12:29,342.342 INFO    ] Launching Daemon at Sat Aug 29 14:12:29 IST 2026
[2026-08-29 14:12:29,352.352 INFO    ] ================================================
[2026-08-29 14:12:29,707.707 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:12:29
[2026-08-29 14:12:30,021.021 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:12:30,163.163 INFO    ] Initializing speech engine...
[2026-08-29 14:12:30,168.168 INFO    ] 2026-08-29 14:12:30
[2026-08-29 14:12:30,386.386 INFO    ] 2026-08-29 14:12:30
[2026-08-29 14:12:30,469.469 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:12:30,616.616 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:12:30,625.625 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:12:30,757.757 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:12:30,804.804 INFO    ] time= 29/08/2026 14:12:30
[2026-08-29 14:12:30,859.859 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:12:30,891.891 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:12:30,960.960 INFO    ] No existing commands found in stream
[2026-08-29 14:12:35,996.996 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:12:35,999.999 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-08-29 14:12:37,865.865 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:12:37,867.867 INFO    ] Checking for system updates...
[2026-08-29 14:12:37,888.888 INFO    ] 200
[2026-08-29 14:12:37,890.890 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:12:37,920.920 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:12:37,921.921 INFO    ] No update needed
[2026-08-29 14:12:37,923.923 INFO    ] Checking for camera pi updates...
[2026-08-29 14:12:37,943.943 INFO    ] 200
[2026-08-29 14:12:37,944.944 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:12:37,973.973 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:12:38,051.051 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:12:38,053.053 INFO    ] No camera update needed
[2026-08-29 14:12:38,054.054 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:12:38,055.055 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:12:38,059.059 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:12:38,062.062 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:12:40,101.101 INFO    ] ================================================
[2026-08-29 14:12:40,116.116 INFO    ] Launching Daemon at Sat Aug 29 14:12:40 IST 2026
[2026-08-29 14:12:40,127.127 INFO    ] ================================================
[2026-08-29 14:12:40,463.463 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:12:40
[2026-08-29 14:12:40,775.775 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:12:40,914.914 INFO    ] Initializing speech engine...
[2026-08-29 14:12:40,921.921 INFO    ] 2026-08-29 14:12:40
[2026-08-29 14:12:41,142.142 INFO    ] 2026-08-29 14:12:41
[2026-08-29 14:12:41,176.176 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:12:41,353.353 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:12:41,366.366 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:12:41,509.509 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:12:41,518.518 INFO    ] time= 29/08/2026 14:12:41
[2026-08-29 14:12:41,524.524 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:12:41,544.544 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:12:41,666.666 INFO    ] No existing commands found in stream
[2026-08-29 14:12:46,696.696 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:12:46,699.699 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-08-29 14:12:47,887.887 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:12:47,889.889 INFO    ] Checking for system updates...
[2026-08-29 14:12:47,909.909 INFO    ] 200
[2026-08-29 14:12:47,910.910 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:12:47,940.940 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:12:47,941.941 INFO    ] No update needed
[2026-08-29 14:12:47,942.942 INFO    ] Checking for camera pi updates...
[2026-08-29 14:12:47,963.963 INFO    ] 200
[2026-08-29 14:12:47,964.964 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:12:47,988.988 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:12:48,081.081 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:12:48,082.082 INFO    ] No camera update needed
[2026-08-29 14:12:48,083.083 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:12:48,084.084 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:12:48,087.087 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:12:48,090.090 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:12:50,130.130 INFO    ] ================================================
[2026-08-29 14:12:50,146.146 INFO    ] Launching Daemon at Sat Aug 29 14:12:50 IST 2026
[2026-08-29 14:12:50,157.157 INFO    ] ================================================
[2026-08-29 14:12:50,637.637 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:12:50
[2026-08-29 14:12:51,245.245 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:12:51,546.546 INFO    ] Initializing speech engine...
[2026-08-29 14:12:51,552.552 INFO    ] 2026-08-29 14:12:51
[2026-08-29 14:12:51,831.831 INFO    ] 2026-08-29 14:12:51
[2026-08-29 14:12:51,892.892 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:12:52,123.123 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:12:52,134.134 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:12:52,270.270 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:12:52,322.322 INFO    ] time= 29/08/2026 14:12:52
[2026-08-29 14:12:52,377.377 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:12:52,409.409 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:12:52,462.462 INFO    ] No existing commands found in stream
[2026-08-29 14:12:57,475.475 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:12:57,478.478 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-08-29 14:12:59,475.475 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:12:59,477.477 INFO    ] Checking for system updates...
[2026-08-29 14:12:59,497.497 INFO    ] 200
[2026-08-29 14:12:59,499.499 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:12:59,533.533 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:12:59,535.535 INFO    ] No update needed
[2026-08-29 14:12:59,536.536 INFO    ] Checking for camera pi updates...
[2026-08-29 14:12:59,556.556 INFO    ] 200
[2026-08-29 14:12:59,557.557 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:12:59,581.581 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:12:59,675.675 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:12:59,676.676 INFO    ] No camera update needed
[2026-08-29 14:12:59,678.678 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:12:59,679.679 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:12:59,682.682 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:12:59,685.685 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:13:01,724.724 INFO    ] ================================================
[2026-08-29 14:13:01,744.744 INFO    ] Launching Daemon at Sat Aug 29 14:13:01 IST 2026
[2026-08-29 14:13:01,760.760 INFO    ] ================================================
[2026-08-29 14:13:02,410.410 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:13:02
[2026-08-29 14:13:03,068.068 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:13:03,342.342 INFO    ] Initializing speech engine...
[2026-08-29 14:13:03,352.352 INFO    ] 2026-08-29 14:13:03
[2026-08-29 14:13:03,619.619 INFO    ] 2026-08-29 14:13:03
[2026-08-29 14:13:03,654.654 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:13:03,849.849 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:13:03,873.873 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:13:03,981.981 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:13:03,988.988 INFO    ] time= 29/08/2026 14:13:03
[2026-08-29 14:13:04,009.009 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:13:04,030.030 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:13:04,110.110 INFO    ] No existing commands found in stream
[2026-08-29 14:13:09,123.123 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:13:09,126.126 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-08-29 14:13:12,205.205 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:13:12,206.206 INFO    ] Checking for system updates...
[2026-08-29 14:13:12,226.226 INFO    ] 200
[2026-08-29 14:13:12,228.228 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:13:12,257.257 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:13:12,259.259 INFO    ] No update needed
[2026-08-29 14:13:12,260.260 INFO    ] Checking for camera pi updates...
[2026-08-29 14:13:12,280.280 INFO    ] 200
[2026-08-29 14:13:12,281.281 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:13:12,306.306 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:13:12,389.389 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:13:12,391.391 INFO    ] No camera update needed
[2026-08-29 14:13:12,392.392 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:13:12,393.393 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:13:12,396.396 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:13:12,399.399 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:13:14,438.438 INFO    ] ================================================
[2026-08-29 14:13:14,454.454 INFO    ] Launching Daemon at Sat Aug 29 14:13:14 IST 2026
[2026-08-29 14:13:14,465.465 INFO    ] ================================================
[2026-08-29 14:13:14,787.787 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:13:14
[2026-08-29 14:13:15,100.100 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:13:15,238.238 INFO    ] Initializing speech engine...
[2026-08-29 14:13:15,249.249 INFO    ] 2026-08-29 14:13:15
[2026-08-29 14:13:15,456.456 INFO    ] 2026-08-29 14:13:15
[2026-08-29 14:13:15,483.483 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:13:15,607.607 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:13:15,646.646 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:13:15,811.811 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:13:15,875.875 INFO    ] time= 29/08/2026 14:13:15
[2026-08-29 14:13:15,903.903 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:13:15,905.905 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:13:15,977.977 INFO    ] No existing commands found in stream
[2026-08-29 14:13:20,987.987 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:13:20,990.990 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-08-29 14:13:23,984.984 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:13:23,986.986 INFO    ] Checking for system updates...
[2026-08-29 14:13:24,006.006 INFO    ] 200
[2026-08-29 14:13:24,008.008 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:13:24,040.040 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:13:24,042.042 INFO    ] No update needed
[2026-08-29 14:13:24,043.043 INFO    ] Checking for camera pi updates...
[2026-08-29 14:13:24,065.065 INFO    ] 200
[2026-08-29 14:13:24,067.067 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:13:24,092.092 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:13:24,195.195 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:13:24,197.197 INFO    ] No camera update needed
[2026-08-29 14:13:24,200.200 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:13:24,203.203 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:13:24,209.209 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:13:24,215.215 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:13:26,256.256 INFO    ] ================================================
[2026-08-29 14:13:26,272.272 INFO    ] Launching Daemon at Sat Aug 29 14:13:26 IST 2026
[2026-08-29 14:13:26,283.283 INFO    ] ================================================
[2026-08-29 14:13:26,848.848 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:13:26
[2026-08-29 14:13:27,352.352 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:13:27,622.622 INFO    ] Initializing speech engine...
[2026-08-29 14:13:27,631.631 INFO    ] 2026-08-29 14:13:27
[2026-08-29 14:13:27,880.880 INFO    ] 2026-08-29 14:13:27
[2026-08-29 14:13:27,916.916 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:13:28,092.092 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:13:28,105.105 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:13:28,245.245 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:13:28,258.258 INFO    ] time= 29/08/2026 14:13:28
[2026-08-29 14:13:28,263.263 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:13:28,269.269 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:13:28,335.335 INFO    ] No existing commands found in stream
[2026-08-29 14:13:33,347.347 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:13:33,350.350 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-08-29 14:13:37,494.494 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:13:37,496.496 INFO    ] Checking for system updates...
[2026-08-29 14:13:37,518.518 INFO    ] 200
[2026-08-29 14:13:37,519.519 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:13:37,554.554 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:13:37,556.556 INFO    ] No update needed
[2026-08-29 14:13:37,557.557 INFO    ] Checking for camera pi updates...
[2026-08-29 14:13:37,580.580 INFO    ] 200
[2026-08-29 14:13:37,582.582 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:13:37,606.606 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:13:37,699.699 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:13:37,700.700 INFO    ] No camera update needed
[2026-08-29 14:13:37,702.702 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:13:37,703.703 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:13:37,706.706 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:13:37,709.709 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:13:39,749.749 INFO    ] ================================================
[2026-08-29 14:13:39,765.765 INFO    ] Launching Daemon at Sat Aug 29 14:13:39 IST 2026
[2026-08-29 14:13:39,775.775 INFO    ] ================================================
[2026-08-29 14:13:40,111.111 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:13:40
[2026-08-29 14:13:40,422.422 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:13:40,630.630 INFO    ] Initializing speech engine...
[2026-08-29 14:13:40,645.645 INFO    ] 2026-08-29 14:13:40
[2026-08-29 14:13:40,907.907 INFO    ] 2026-08-29 14:13:40
[2026-08-29 14:13:40,943.943 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:13:41,115.115 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:13:41,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:13:41,275.275 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:13:41,282.282 INFO    ] time= 29/08/2026 14:13:41
[2026-08-29 14:13:41,302.302 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:13:41,348.348 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:13:41,451.451 INFO    ] No existing commands found in stream
[2026-08-29 14:13:46,482.482 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:13:46,485.485 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-08-29 14:13:49,587.587 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:13:49,589.589 INFO    ] Checking for system updates...
[2026-08-29 14:13:49,626.626 INFO    ] 200
[2026-08-29 14:13:49,629.629 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:13:49,689.689 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:13:49,692.692 INFO    ] No update needed
[2026-08-29 14:13:49,695.695 INFO    ] Checking for camera pi updates...
[2026-08-29 14:13:49,735.735 INFO    ] 200
[2026-08-29 14:13:49,738.738 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:13:49,785.785 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:13:49,901.901 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:13:49,904.904 INFO    ] No camera update needed
[2026-08-29 14:13:49,906.906 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:13:49,908.908 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:13:49,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:13:49,918.918 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:13:51,958.958 INFO    ] ================================================
[2026-08-29 14:13:51,974.974 INFO    ] Launching Daemon at Sat Aug 29 14:13:51 IST 2026
[2026-08-29 14:13:51,985.985 INFO    ] ================================================
[2026-08-29 14:13:52,564.564 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:13:52
[2026-08-29 14:13:52,883.883 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:13:53,019.019 INFO    ] Initializing speech engine...
[2026-08-29 14:13:53,022.022 INFO    ] 2026-08-29 14:13:53
[2026-08-29 14:13:53,216.216 INFO    ] 2026-08-29 14:13:53
[2026-08-29 14:13:53,260.260 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:13:53,387.387 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:13:53,423.423 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:13:53,579.579 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:13:53,630.630 INFO    ] time= 29/08/2026 14:13:53
[2026-08-29 14:13:53,646.646 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:13:53,705.705 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:13:53,773.773 INFO    ] No existing commands found in stream
[2026-08-29 14:13:58,782.782 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:13:58,785.785 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-08-29 14:14:00,547.547 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:14:00,548.548 INFO    ] Checking for system updates...
[2026-08-29 14:14:00,570.570 INFO    ] 200
[2026-08-29 14:14:00,572.572 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:14:00,601.601 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:14:00,603.603 INFO    ] No update needed
[2026-08-29 14:14:00,604.604 INFO    ] Checking for camera pi updates...
[2026-08-29 14:14:00,623.623 INFO    ] 200
[2026-08-29 14:14:00,625.625 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:14:00,648.648 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:14:00,727.727 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:14:00,728.728 INFO    ] No camera update needed
[2026-08-29 14:14:00,729.729 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:14:00,730.730 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:14:00,734.734 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:14:00,736.736 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:14:02,781.781 INFO    ] ================================================
[2026-08-29 14:14:02,800.800 INFO    ] Launching Daemon at Sat Aug 29 14:14:02 IST 2026
[2026-08-29 14:14:02,812.812 INFO    ] ================================================
[2026-08-29 14:14:03,403.403 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:14:03
[2026-08-29 14:14:04,030.030 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:14:04,339.339 INFO    ] Initializing speech engine...
[2026-08-29 14:14:04,351.351 INFO    ] 2026-08-29 14:14:04
[2026-08-29 14:14:04,622.622 INFO    ] 2026-08-29 14:14:04
[2026-08-29 14:14:04,677.677 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:14:04,900.900 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:14:04,910.910 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:14:05,062.062 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:14:05,128.128 INFO    ] time= 29/08/2026 14:14:05
[2026-08-29 14:14:05,175.175 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:14:05,182.182 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:14:05,308.308 INFO    ] No existing commands found in stream
[2026-08-29 14:14:10,338.338 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:14:10,341.341 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-08-29 14:14:10,910.910 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:14:10,912.912 INFO    ] Checking for system updates...
[2026-08-29 14:14:10,933.933 INFO    ] 200
[2026-08-29 14:14:10,934.934 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:14:10,968.968 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:14:10,969.969 INFO    ] No update needed
[2026-08-29 14:14:10,971.971 INFO    ] Checking for camera pi updates...
[2026-08-29 14:14:10,991.991 INFO    ] 200
[2026-08-29 14:14:10,992.992 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:14:11,015.015 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:14:11,093.093 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:14:11,095.095 INFO    ] No camera update needed
[2026-08-29 14:14:11,098.098 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:14:11,100.100 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:14:11,105.105 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:14:11,110.110 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:14:13,150.150 INFO    ] ================================================
[2026-08-29 14:14:13,165.165 INFO    ] Launching Daemon at Sat Aug 29 14:14:13 IST 2026
[2026-08-29 14:14:13,176.176 INFO    ] ================================================
[2026-08-29 14:14:13,745.745 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:14:13
[2026-08-29 14:14:14,251.251 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:14:14,395.395 INFO    ] Initializing speech engine...
[2026-08-29 14:14:14,400.400 INFO    ] 2026-08-29 14:14:14
[2026-08-29 14:14:14,607.607 INFO    ] 2026-08-29 14:14:14
[2026-08-29 14:14:14,636.636 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:14:14,782.782 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:14:14,788.788 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:14:14,951.951 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:14:14,990.990 INFO    ] time= 29/08/2026 14:14:14
[2026-08-29 14:14:14,996.996 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:14:15,015.015 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:14:15,117.117 INFO    ] No existing commands found in stream
[2026-08-29 14:14:20,141.141 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:14:20,144.144 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-08-29 14:14:24,064.064 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:14:24,066.066 INFO    ] Checking for system updates...
[2026-08-29 14:14:24,087.087 INFO    ] 200
[2026-08-29 14:14:24,089.089 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:14:24,121.121 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:14:24,122.122 INFO    ] No update needed
[2026-08-29 14:14:24,123.123 INFO    ] Checking for camera pi updates...
[2026-08-29 14:14:24,143.143 INFO    ] 200
[2026-08-29 14:14:24,144.144 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:14:24,167.167 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:14:24,260.260 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:14:24,261.261 INFO    ] No camera update needed
[2026-08-29 14:14:24,263.263 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:14:24,264.264 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:14:24,267.267 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:14:24,270.270 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:14:26,313.313 INFO    ] ================================================
[2026-08-29 14:14:26,328.328 INFO    ] Launching Daemon at Sat Aug 29 14:14:26 IST 2026
[2026-08-29 14:14:26,339.339 INFO    ] ================================================
[2026-08-29 14:14:26,668.668 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:14:26
[2026-08-29 14:14:26,983.983 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:14:27,126.126 INFO    ] Initializing speech engine...
[2026-08-29 14:14:27,131.131 INFO    ] 2026-08-29 14:14:27
[2026-08-29 14:14:27,320.320 INFO    ] 2026-08-29 14:14:27
[2026-08-29 14:14:27,394.394 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:14:27,551.551 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:14:27,556.556 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:14:27,688.688 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:14:27,715.715 INFO    ] time= 29/08/2026 14:14:27
[2026-08-29 14:14:27,779.779 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:14:27,822.822 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:14:27,874.874 INFO    ] No existing commands found in stream
[2026-08-29 14:14:32,885.885 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:14:32,888.888 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-08-29 14:14:36,012.012 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:14:36,014.014 INFO    ] Checking for system updates...
[2026-08-29 14:14:36,034.034 INFO    ] 200
[2026-08-29 14:14:36,035.035 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:14:36,065.065 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:14:36,066.066 INFO    ] No update needed
[2026-08-29 14:14:36,067.067 INFO    ] Checking for camera pi updates...
[2026-08-29 14:14:36,088.088 INFO    ] 200
[2026-08-29 14:14:36,089.089 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:14:36,114.114 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:14:36,191.191 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:14:36,193.193 INFO    ] No camera update needed
[2026-08-29 14:14:36,194.194 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:14:36,195.195 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:14:36,198.198 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:14:36,201.201 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:14:38,243.243 INFO    ] ================================================
[2026-08-29 14:14:38,258.258 INFO    ] Launching Daemon at Sat Aug 29 14:14:38 IST 2026
[2026-08-29 14:14:38,273.273 INFO    ] ================================================
[2026-08-29 14:14:38,595.595 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:14:38
[2026-08-29 14:14:38,935.935 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:14:39,144.144 INFO    ] Initializing speech engine...
[2026-08-29 14:14:39,149.149 INFO    ] 2026-08-29 14:14:39
[2026-08-29 14:14:39,356.356 INFO    ] 2026-08-29 14:14:39
[2026-08-29 14:14:39,385.385 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:14:39,539.539 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:14:39,571.571 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:14:39,721.721 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:14:39,730.730 INFO    ] time= 29/08/2026 14:14:39
[2026-08-29 14:14:39,739.739 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:14:39,796.796 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:14:39,919.919 INFO    ] No existing commands found in stream
[2026-08-29 14:14:44,949.949 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:14:44,953.953 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-08-29 14:14:48,430.430 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:14:48,432.432 INFO    ] Checking for system updates...
[2026-08-29 14:14:48,452.452 INFO    ] 200
[2026-08-29 14:14:48,454.454 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:14:48,486.486 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:14:48,488.488 INFO    ] No update needed
[2026-08-29 14:14:48,489.489 INFO    ] Checking for camera pi updates...
[2026-08-29 14:14:48,509.509 INFO    ] 200
[2026-08-29 14:14:48,510.510 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:14:48,533.533 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:14:48,683.683 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:14:48,684.684 INFO    ] No camera update needed
[2026-08-29 14:14:48,686.686 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:14:48,687.687 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:14:48,690.690 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:14:48,692.692 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:14:50,732.732 INFO    ] ================================================
[2026-08-29 14:14:50,747.747 INFO    ] Launching Daemon at Sat Aug 29 14:14:50 IST 2026
[2026-08-29 14:14:50,757.757 INFO    ] ================================================
[2026-08-29 14:14:51,101.101 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:14:51
[2026-08-29 14:14:51,413.413 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:14:51,549.549 INFO    ] Initializing speech engine...
[2026-08-29 14:14:51,561.561 INFO    ] 2026-08-29 14:14:51
[2026-08-29 14:14:51,807.807 INFO    ] 2026-08-29 14:14:51
[2026-08-29 14:14:51,843.843 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:14:52,020.020 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:14:52,033.033 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:14:52,178.178 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:14:52,186.186 INFO    ] time= 29/08/2026 14:14:52
[2026-08-29 14:14:52,192.192 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:14:52,213.213 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:14:52,334.334 INFO    ] No existing commands found in stream
[2026-08-29 14:14:57,359.359 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:14:57,361.361 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-08-29 14:14:58,208.208 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:14:58,210.210 INFO    ] Checking for system updates...
[2026-08-29 14:14:58,230.230 INFO    ] 200
[2026-08-29 14:14:58,231.231 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:14:58,264.264 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:14:58,265.265 INFO    ] No update needed
[2026-08-29 14:14:58,267.267 INFO    ] Checking for camera pi updates...
[2026-08-29 14:14:58,287.287 INFO    ] 200
[2026-08-29 14:14:58,288.288 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:14:58,311.311 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:14:58,385.385 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:14:58,386.386 INFO    ] No camera update needed
[2026-08-29 14:14:58,387.387 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:14:58,388.388 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:14:58,391.391 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:14:58,394.394 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:15:00,433.433 INFO    ] ================================================
[2026-08-29 14:15:00,448.448 INFO    ] Launching Daemon at Sat Aug 29 14:15:00 IST 2026
[2026-08-29 14:15:00,459.459 INFO    ] ================================================
[2026-08-29 14:15:00,999.999 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:15:00
[2026-08-29 14:15:01,592.592 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:15:01,900.900 INFO    ] Initializing speech engine...
[2026-08-29 14:15:01,918.918 INFO    ] 2026-08-29 14:15:01
[2026-08-29 14:15:02,896.896 INFO    ] 2026-08-29 14:15:02
[2026-08-29 14:15:02,970.970 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:15:03,180.180 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:15:03,190.190 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:15:03,335.335 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:15:03,370.370 INFO    ] time= 29/08/2026 14:15:03
[2026-08-29 14:15:03,407.407 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:15:03,479.479 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:15:03,543.543 INFO    ] No existing commands found in stream
[2026-08-29 14:15:08,557.557 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:15:08,560.560 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-08-29 14:15:11,698.698 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:15:11,700.700 INFO    ] Checking for system updates...
[2026-08-29 14:15:11,727.727 INFO    ] 200
[2026-08-29 14:15:11,728.728 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:15:11,760.760 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:15:11,762.762 INFO    ] No update needed
[2026-08-29 14:15:11,763.763 INFO    ] Checking for camera pi updates...
[2026-08-29 14:15:11,782.782 INFO    ] 200
[2026-08-29 14:15:11,784.784 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:15:11,808.808 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:15:11,890.890 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:15:11,892.892 INFO    ] No camera update needed
[2026-08-29 14:15:11,895.895 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:15:11,897.897 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:15:11,902.902 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:15:11,907.907 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:15:13,948.948 INFO    ] ================================================
[2026-08-29 14:15:13,963.963 INFO    ] Launching Daemon at Sat Aug 29 14:15:13 IST 2026
[2026-08-29 14:15:13,974.974 INFO    ] ================================================
[2026-08-29 14:15:14,556.556 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:15:14
[2026-08-29 14:15:15,073.073 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:15:15,211.211 INFO    ] Initializing speech engine...
[2026-08-29 14:15:15,221.221 INFO    ] 2026-08-29 14:15:15
[2026-08-29 14:15:15,426.426 INFO    ] 2026-08-29 14:15:15
[2026-08-29 14:15:15,454.454 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:15:15,590.590 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:15:15,643.643 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:15:15,777.777 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:15:15,844.844 INFO    ] time= 29/08/2026 14:15:15
[2026-08-29 14:15:15,871.871 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:15:15,873.873 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:15:15,944.944 INFO    ] No existing commands found in stream
[2026-08-29 14:15:20,953.953 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:15:20,956.956 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-08-29 14:15:21,474.474 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:15:21,475.475 INFO    ] Checking for system updates...
[2026-08-29 14:15:21,495.495 INFO    ] 200
[2026-08-29 14:15:21,497.497 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:15:21,536.536 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:15:21,537.537 INFO    ] No update needed
[2026-08-29 14:15:21,539.539 INFO    ] Checking for camera pi updates...
[2026-08-29 14:15:21,561.561 INFO    ] 200
[2026-08-29 14:15:21,563.563 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:15:21,587.587 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:15:21,676.676 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:15:21,677.677 INFO    ] No camera update needed
[2026-08-29 14:15:21,678.678 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:15:21,679.679 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:15:21,683.683 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:15:21,685.685 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:15:23,724.724 INFO    ] ================================================
[2026-08-29 14:15:23,739.739 INFO    ] Launching Daemon at Sat Aug 29 14:15:23 IST 2026
[2026-08-29 14:15:23,750.750 INFO    ] ================================================
[2026-08-29 14:15:24,114.114 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:15:24
[2026-08-29 14:15:24,428.428 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:15:24,565.565 INFO    ] Initializing speech engine...
[2026-08-29 14:15:24,577.577 INFO    ] 2026-08-29 14:15:24
[2026-08-29 14:15:24,829.829 INFO    ] 2026-08-29 14:15:24
[2026-08-29 14:15:24,893.893 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:15:25,049.049 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:15:25,056.056 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:15:25,180.180 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:15:25,197.197 INFO    ] time= 29/08/2026 14:15:25
[2026-08-29 14:15:25,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:15:25,295.295 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:15:25,359.359 INFO    ] No existing commands found in stream
[2026-08-29 14:15:30,370.370 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:15:30,373.373 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-08-29 14:15:33,234.234 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:15:33,236.236 INFO    ] Checking for system updates...
[2026-08-29 14:15:33,275.275 INFO    ] 200
[2026-08-29 14:15:33,278.278 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:15:33,336.336 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:15:33,339.339 INFO    ] No update needed
[2026-08-29 14:15:33,342.342 INFO    ] Checking for camera pi updates...
[2026-08-29 14:15:33,386.386 INFO    ] 200
[2026-08-29 14:15:33,390.390 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:15:33,440.440 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:15:33,565.565 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:15:33,568.568 INFO    ] No camera update needed
[2026-08-29 14:15:33,571.571 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:15:33,573.573 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:15:33,580.580 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:15:33,586.586 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:15:35,628.628 INFO    ] ================================================
[2026-08-29 14:15:35,643.643 INFO    ] Launching Daemon at Sat Aug 29 14:15:35 IST 2026
[2026-08-29 14:15:35,654.654 INFO    ] ================================================
[2026-08-29 14:15:36,026.026 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:15:36
[2026-08-29 14:15:36,609.609 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:15:36,889.889 INFO    ] Initializing speech engine...
[2026-08-29 14:15:36,898.898 INFO    ] 2026-08-29 14:15:36
[2026-08-29 14:15:37,158.158 INFO    ] 2026-08-29 14:15:37
[2026-08-29 14:15:37,189.189 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:15:37,365.365 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:15:37,383.383 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:15:37,509.509 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:15:37,517.517 INFO    ] time= 29/08/2026 14:15:37
[2026-08-29 14:15:37,524.524 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:15:37,564.564 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:15:37,688.688 INFO    ] No existing commands found in stream
[2026-08-29 14:15:42,713.713 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:15:42,716.716 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-08-29 14:15:45,606.606 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:15:45,608.608 INFO    ] Checking for system updates...
[2026-08-29 14:15:45,631.631 INFO    ] 200
[2026-08-29 14:15:45,632.632 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:15:45,693.693 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:15:45,695.695 INFO    ] No update needed
[2026-08-29 14:15:45,698.698 INFO    ] Checking for camera pi updates...
[2026-08-29 14:15:45,736.736 INFO    ] 200
[2026-08-29 14:15:45,738.738 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:15:45,779.779 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:15:45,866.866 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:15:45,868.868 INFO    ] No camera update needed
[2026-08-29 14:15:45,870.870 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:15:45,873.873 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:15:45,878.878 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:15:45,883.883 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:15:47,925.925 INFO    ] ================================================
[2026-08-29 14:15:47,941.941 INFO    ] Launching Daemon at Sat Aug 29 14:15:47 IST 2026
[2026-08-29 14:15:47,952.952 INFO    ] ================================================
[2026-08-29 14:15:48,629.629 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:15:48
[2026-08-29 14:15:49,041.041 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:15:49,197.197 INFO    ] Initializing speech engine...
[2026-08-29 14:15:49,201.201 INFO    ] 2026-08-29 14:15:49
[2026-08-29 14:15:49,413.413 INFO    ] 2026-08-29 14:15:49
[2026-08-29 14:15:49,443.443 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:15:49,568.568 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:15:49,632.632 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:15:49,765.765 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:15:49,816.816 INFO    ] time= 29/08/2026 14:15:49
[2026-08-29 14:15:49,866.866 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:15:49,868.868 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:15:49,940.940 INFO    ] No existing commands found in stream
[2026-08-29 14:15:54,951.951 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:15:54,955.955 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-08-29 14:15:58,182.182 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:15:58,183.183 INFO    ] Checking for system updates...
[2026-08-29 14:15:58,205.205 INFO    ] 200
[2026-08-29 14:15:58,206.206 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:15:58,239.239 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:15:58,240.240 INFO    ] No update needed
[2026-08-29 14:15:58,241.241 INFO    ] Checking for camera pi updates...
[2026-08-29 14:15:58,261.261 INFO    ] 200
[2026-08-29 14:15:58,263.263 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:15:58,288.288 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:15:58,339.339 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:15:58,340.340 INFO    ] No camera update needed
[2026-08-29 14:15:58,342.342 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:15:58,343.343 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:15:58,346.346 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:15:58,349.349 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:16:00,387.387 INFO    ] ================================================
[2026-08-29 14:16:00,404.404 INFO    ] Launching Daemon at Sat Aug 29 14:16:00 IST 2026
[2026-08-29 14:16:00,415.415 INFO    ] ================================================
[2026-08-29 14:16:00,782.782 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:16:00
[2026-08-29 14:16:01,126.126 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:16:01,425.425 INFO    ] Initializing speech engine...
[2026-08-29 14:16:01,439.439 INFO    ] 2026-08-29 14:16:01
[2026-08-29 14:16:01,853.853 INFO    ] 2026-08-29 14:16:01
[2026-08-29 14:16:01,915.915 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:16:02,121.121 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:16:02,147.147 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:16:02,284.284 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:16:02,294.294 INFO    ] time= 29/08/2026 14:16:02
[2026-08-29 14:16:02,303.303 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:16:02,361.361 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:16:02,481.481 INFO    ] No existing commands found in stream
[2026-08-29 14:16:07,511.511 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:16:07,514.514 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-08-29 14:16:09,467.467 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:16:09,468.468 INFO    ] Checking for system updates...
[2026-08-29 14:16:09,488.488 INFO    ] 200
[2026-08-29 14:16:09,490.490 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:16:09,523.523 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:16:09,524.524 INFO    ] No update needed
[2026-08-29 14:16:09,525.525 INFO    ] Checking for camera pi updates...
[2026-08-29 14:16:09,544.544 INFO    ] 200
[2026-08-29 14:16:09,546.546 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:16:09,570.570 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:16:09,659.659 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:16:09,660.660 INFO    ] No camera update needed
[2026-08-29 14:16:09,662.662 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:16:09,663.663 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:16:09,666.666 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:16:09,669.669 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:16:11,707.707 INFO    ] ================================================
[2026-08-29 14:16:11,723.723 INFO    ] Launching Daemon at Sat Aug 29 14:16:11 IST 2026
[2026-08-29 14:16:11,734.734 INFO    ] ================================================
[2026-08-29 14:16:12,136.136 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:16:12
[2026-08-29 14:16:12,476.476 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:16:12,610.610 INFO    ] Initializing speech engine...
[2026-08-29 14:16:12,625.625 INFO    ] 2026-08-29 14:16:12
[2026-08-29 14:16:12,814.814 INFO    ] 2026-08-29 14:16:12
[2026-08-29 14:16:12,899.899 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:16:13,051.051 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:16:13,060.060 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:16:13,195.195 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:16:13,222.222 INFO    ] time= 29/08/2026 14:16:13
[2026-08-29 14:16:13,276.276 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:16:13,330.330 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:16:13,391.391 INFO    ] No existing commands found in stream
[2026-08-29 14:16:18,403.403 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:16:18,406.406 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-08-29 14:16:22,594.594 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:16:22,595.595 INFO    ] Checking for system updates...
[2026-08-29 14:16:22,617.617 INFO    ] 200
[2026-08-29 14:16:22,618.618 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:16:22,650.650 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:16:22,651.651 INFO    ] No update needed
[2026-08-29 14:16:22,653.653 INFO    ] Checking for camera pi updates...
[2026-08-29 14:16:22,672.672 INFO    ] 200
[2026-08-29 14:16:22,673.673 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:16:22,698.698 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:16:22,780.780 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:16:22,782.782 INFO    ] No camera update needed
[2026-08-29 14:16:22,785.785 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:16:22,787.787 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:16:22,792.792 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:16:22,797.797 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:16:24,838.838 INFO    ] ================================================
[2026-08-29 14:16:24,853.853 INFO    ] Launching Daemon at Sat Aug 29 14:16:24 IST 2026
[2026-08-29 14:16:24,864.864 INFO    ] ================================================
[2026-08-29 14:16:25,444.444 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:16:25
[2026-08-29 14:16:25,966.966 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:16:26,095.095 INFO    ] Initializing speech engine...
[2026-08-29 14:16:26,100.100 INFO    ] 2026-08-29 14:16:26
[2026-08-29 14:16:26,351.351 INFO    ] 2026-08-29 14:16:26
[2026-08-29 14:16:26,405.405 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:16:26,566.566 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:16:26,575.575 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:16:26,730.730 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:16:26,775.775 INFO    ] time= 29/08/2026 14:16:26
[2026-08-29 14:16:26,781.781 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:16:26,800.800 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:16:26,905.905 INFO    ] No existing commands found in stream
[2026-08-29 14:16:31,937.937 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:16:31,940.940 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-08-29 14:16:34,548.548 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:16:34,551.551 INFO    ] Checking for system updates...
[2026-08-29 14:16:34,588.588 INFO    ] 200
[2026-08-29 14:16:34,590.590 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:16:34,646.646 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:16:34,649.649 INFO    ] No update needed
[2026-08-29 14:16:34,651.651 INFO    ] Checking for camera pi updates...
[2026-08-29 14:16:34,686.686 INFO    ] 200
[2026-08-29 14:16:34,689.689 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:16:34,736.736 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:16:34,817.817 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:16:34,820.820 INFO    ] No camera update needed
[2026-08-29 14:16:34,823.823 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:16:34,826.826 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:16:34,832.832 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:16:34,838.838 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:16:36,880.880 INFO    ] ================================================
[2026-08-29 14:16:36,897.897 INFO    ] Launching Daemon at Sat Aug 29 14:16:36 IST 2026
[2026-08-29 14:16:36,908.908 INFO    ] ================================================
[2026-08-29 14:16:37,272.272 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:16:37
[2026-08-29 14:16:37,585.585 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:16:37,718.718 INFO    ] Initializing speech engine...
[2026-08-29 14:16:37,732.732 INFO    ] 2026-08-29 14:16:37
[2026-08-29 14:16:37,950.950 INFO    ] 2026-08-29 14:16:37
[2026-08-29 14:16:37,985.985 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:16:38,159.159 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:16:38,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:16:38,285.285 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:16:38,290.290 INFO    ] time= 29/08/2026 14:16:38
[2026-08-29 14:16:38,309.309 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:16:38,333.333 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:16:38,403.403 INFO    ] No existing commands found in stream
[2026-08-29 14:16:43,416.416 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:16:43,418.418 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-08-29 14:16:46,072.072 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:16:46,074.074 INFO    ] Checking for system updates...
[2026-08-29 14:16:46,096.096 INFO    ] 200
[2026-08-29 14:16:46,098.098 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:16:46,128.128 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:16:46,130.130 INFO    ] No update needed
[2026-08-29 14:16:46,131.131 INFO    ] Checking for camera pi updates...
[2026-08-29 14:16:46,151.151 INFO    ] 200
[2026-08-29 14:16:46,152.152 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:16:46,179.179 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:16:46,357.357 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:16:46,359.359 INFO    ] No camera update needed
[2026-08-29 14:16:46,360.360 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:16:46,361.361 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:16:46,365.365 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:16:46,368.368 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:16:48,409.409 INFO    ] ================================================
[2026-08-29 14:16:48,424.424 INFO    ] Launching Daemon at Sat Aug 29 14:16:48 IST 2026
[2026-08-29 14:16:48,435.435 INFO    ] ================================================
[2026-08-29 14:16:48,776.776 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:16:48
[2026-08-29 14:16:49,157.157 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:16:49,464.464 INFO    ] Initializing speech engine...
[2026-08-29 14:16:49,477.477 INFO    ] 2026-08-29 14:16:49
[2026-08-29 14:16:49,790.790 INFO    ] 2026-08-29 14:16:49
[2026-08-29 14:16:49,876.876 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:16:50,030.030 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:16:50,037.037 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:16:50,169.169 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:16:50,191.191 INFO    ] time= 29/08/2026 14:16:50
[2026-08-29 14:16:50,256.256 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:16:50,304.304 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:16:50,360.360 INFO    ] No existing commands found in stream
[2026-08-29 14:16:55,373.373 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:16:55,377.377 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-08-29 14:16:56,390.390 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:16:56,392.392 INFO    ] Checking for system updates...
[2026-08-29 14:16:56,414.414 INFO    ] 200
[2026-08-29 14:16:56,416.416 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:16:56,446.446 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:16:56,448.448 INFO    ] No update needed
[2026-08-29 14:16:56,449.449 INFO    ] Checking for camera pi updates...
[2026-08-29 14:16:56,470.470 INFO    ] 200
[2026-08-29 14:16:56,472.472 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:16:56,496.496 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:16:56,592.592 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:16:56,593.593 INFO    ] No camera update needed
[2026-08-29 14:16:56,595.595 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:16:56,596.596 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:16:56,599.599 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:16:56,602.602 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:16:58,643.643 INFO    ] ================================================
[2026-08-29 14:16:58,659.659 INFO    ] Launching Daemon at Sat Aug 29 14:16:58 IST 2026
[2026-08-29 14:16:58,671.671 INFO    ] ================================================
[2026-08-29 14:16:59,227.227 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:16:59
[2026-08-29 14:16:59,836.836 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:17:00,117.117 INFO    ] Initializing speech engine...
[2026-08-29 14:17:00,123.123 INFO    ] 2026-08-29 14:17:00
[2026-08-29 14:17:00,379.379 INFO    ] 2026-08-29 14:17:00
[2026-08-29 14:17:00,439.439 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:17:00,603.603 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:17:00,616.616 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:17:00,745.745 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:17:00,753.753 INFO    ] time= 29/08/2026 14:17:00
[2026-08-29 14:17:00,757.757 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:17:00,762.762 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:17:00,831.831 INFO    ] No existing commands found in stream
[2026-08-29 14:17:05,856.856 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:17:05,859.859 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-08-29 14:17:07,959.959 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:17:07,961.961 INFO    ] Checking for system updates...
[2026-08-29 14:17:07,982.982 INFO    ] 200
[2026-08-29 14:17:07,983.983 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:17:08,016.016 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:17:08,017.017 INFO    ] No update needed
[2026-08-29 14:17:08,018.018 INFO    ] Checking for camera pi updates...
[2026-08-29 14:17:08,041.041 INFO    ] 200
[2026-08-29 14:17:08,042.042 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:17:08,065.065 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:17:08,145.145 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:17:08,146.146 INFO    ] No camera update needed
[2026-08-29 14:17:08,148.148 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:17:08,149.149 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:17:08,153.153 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:17:08,155.155 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:17:10,194.194 INFO    ] ================================================
[2026-08-29 14:17:10,209.209 INFO    ] Launching Daemon at Sat Aug 29 14:17:10 IST 2026
[2026-08-29 14:17:10,220.220 INFO    ] ================================================
[2026-08-29 14:17:10,797.797 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:17:10
[2026-08-29 14:17:11,475.475 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:17:11,783.783 INFO    ] Initializing speech engine...
[2026-08-29 14:17:11,791.791 INFO    ] 2026-08-29 14:17:11
[2026-08-29 14:17:12,084.084 INFO    ] 2026-08-29 14:17:12
[2026-08-29 14:17:12,132.132 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:17:12,358.358 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:17:12,367.367 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:17:12,504.504 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:17:12,547.547 INFO    ] time= 29/08/2026 14:17:12
[2026-08-29 14:17:12,607.607 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:17:12,643.643 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:17:12,703.703 INFO    ] No existing commands found in stream
[2026-08-29 14:17:17,716.716 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:17:17,719.719 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-08-29 14:17:20,956.956 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:17:20,958.958 INFO    ] Checking for system updates...
[2026-08-29 14:17:20,978.978 INFO    ] 200
[2026-08-29 14:17:20,980.980 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:17:21,012.012 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:17:21,014.014 INFO    ] No update needed
[2026-08-29 14:17:21,015.015 INFO    ] Checking for camera pi updates...
[2026-08-29 14:17:21,036.036 INFO    ] 200
[2026-08-29 14:17:21,037.037 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:17:21,066.066 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:17:21,151.151 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:17:21,152.152 INFO    ] No camera update needed
[2026-08-29 14:17:21,154.154 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:17:21,155.155 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:17:21,158.158 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:17:21,161.161 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:17:23,202.202 INFO    ] ================================================
[2026-08-29 14:17:23,217.217 INFO    ] Launching Daemon at Sat Aug 29 14:17:23 IST 2026
[2026-08-29 14:17:23,228.228 INFO    ] ================================================
[2026-08-29 14:17:23,792.792 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:17:23
[2026-08-29 14:17:24,465.465 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:17:24,769.769 INFO    ] Initializing speech engine...
[2026-08-29 14:17:24,783.783 INFO    ] 2026-08-29 14:17:24
[2026-08-29 14:17:25,069.069 INFO    ] 2026-08-29 14:17:25
[2026-08-29 14:17:25,109.109 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:17:25,335.335 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:17:25,346.346 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:17:25,483.483 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:17:25,531.531 INFO    ] time= 29/08/2026 14:17:25
[2026-08-29 14:17:25,586.586 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:17:25,621.621 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:17:25,675.675 INFO    ] No existing commands found in stream
[2026-08-29 14:17:30,687.687 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:17:30,691.691 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-08-29 14:17:33,106.106 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:17:33,109.109 INFO    ] Checking for system updates...
[2026-08-29 14:17:33,146.146 INFO    ] 200
[2026-08-29 14:17:33,149.149 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:17:33,209.209 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:17:33,212.212 INFO    ] No update needed
[2026-08-29 14:17:33,215.215 INFO    ] Checking for camera pi updates...
[2026-08-29 14:17:33,258.258 INFO    ] 200
[2026-08-29 14:17:33,260.260 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:17:33,302.302 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:17:33,398.398 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:17:33,400.400 INFO    ] No camera update needed
[2026-08-29 14:17:33,403.403 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:17:33,406.406 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:17:33,412.412 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:17:33,418.418 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:17:35,459.459 INFO    ] ================================================
[2026-08-29 14:17:35,474.474 INFO    ] Launching Daemon at Sat Aug 29 14:17:35 IST 2026
[2026-08-29 14:17:35,491.491 INFO    ] ================================================
[2026-08-29 14:17:35,838.838 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:17:35
[2026-08-29 14:17:36,178.178 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:17:36,375.375 INFO    ] Initializing speech engine...
[2026-08-29 14:17:36,388.388 INFO    ] 2026-08-29 14:17:36
[2026-08-29 14:17:36,666.666 INFO    ] 2026-08-29 14:17:36
[2026-08-29 14:17:36,729.729 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:17:36,957.957 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:17:36,967.967 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:17:37,103.103 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:17:37,189.189 INFO    ] time= 29/08/2026 14:17:37
[2026-08-29 14:17:37,239.239 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:17:37,246.246 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:17:37,363.363 INFO    ] No existing commands found in stream
[2026-08-29 14:17:42,396.396 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:17:42,399.399 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-08-29 14:17:44,494.494 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:17:44,496.496 INFO    ] Checking for system updates...
[2026-08-29 14:17:44,516.516 INFO    ] 200
[2026-08-29 14:17:44,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:17:44,548.548 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:17:44,550.550 INFO    ] No update needed
[2026-08-29 14:17:44,551.551 INFO    ] Checking for camera pi updates...
[2026-08-29 14:17:44,571.571 INFO    ] 200
[2026-08-29 14:17:44,573.573 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:17:44,598.598 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:17:44,684.684 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:17:44,686.686 INFO    ] No camera update needed
[2026-08-29 14:17:44,687.687 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:17:44,688.688 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:17:44,691.691 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:17:44,694.694 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:17:46,733.733 INFO    ] ================================================
[2026-08-29 14:17:46,749.749 INFO    ] Launching Daemon at Sat Aug 29 14:17:46 IST 2026
[2026-08-29 14:17:46,759.759 INFO    ] ================================================
[2026-08-29 14:17:47,113.113 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:17:47
[2026-08-29 14:17:47,448.448 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:17:47,603.603 INFO    ] Initializing speech engine...
[2026-08-29 14:17:47,608.608 INFO    ] 2026-08-29 14:17:47
[2026-08-29 14:17:47,815.815 INFO    ] 2026-08-29 14:17:47
[2026-08-29 14:17:47,843.843 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:17:47,976.976 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:17:48,028.028 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:17:48,165.165 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:17:48,232.232 INFO    ] time= 29/08/2026 14:17:48
[2026-08-29 14:17:48,256.256 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:17:48,263.263 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:17:48,331.331 INFO    ] No existing commands found in stream
[2026-08-29 14:17:53,342.342 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:17:53,345.345 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-08-29 14:17:54,759.759 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:17:54,761.761 INFO    ] Checking for system updates...
[2026-08-29 14:17:54,782.782 INFO    ] 200
[2026-08-29 14:17:54,783.783 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:17:54,817.817 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:17:54,819.819 INFO    ] No update needed
[2026-08-29 14:17:54,820.820 INFO    ] Checking for camera pi updates...
[2026-08-29 14:17:54,840.840 INFO    ] 200
[2026-08-29 14:17:54,841.841 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:17:54,864.864 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:17:54,983.983 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:17:54,985.985 INFO    ] No camera update needed
[2026-08-29 14:17:54,986.986 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:17:54,987.987 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:17:54,990.990 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:17:54,993.993 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:17:57,032.032 INFO    ] ================================================
[2026-08-29 14:17:57,047.047 INFO    ] Launching Daemon at Sat Aug 29 14:17:57 IST 2026
[2026-08-29 14:17:57,058.058 INFO    ] ================================================
[2026-08-29 14:17:57,405.405 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:17:57
[2026-08-29 14:17:57,740.740 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:17:57,891.891 INFO    ] Initializing speech engine...
[2026-08-29 14:17:57,897.897 INFO    ] 2026-08-29 14:17:57
[2026-08-29 14:17:58,107.107 INFO    ] 2026-08-29 14:17:58
[2026-08-29 14:17:58,135.135 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:17:58,259.259 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:17:58,317.317 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:17:58,459.459 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:17:58,522.522 INFO    ] time= 29/08/2026 14:17:58
[2026-08-29 14:17:58,555.555 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:17:58,562.562 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:17:58,628.628 INFO    ] No existing commands found in stream
[2026-08-29 14:18:03,639.639 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:18:03,642.642 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-08-29 14:18:05,542.542 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:18:05,545.545 INFO    ] Checking for system updates...
[2026-08-29 14:18:05,583.583 INFO    ] 200
[2026-08-29 14:18:05,586.586 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:18:05,645.645 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:18:05,647.647 INFO    ] No update needed
[2026-08-29 14:18:05,650.650 INFO    ] Checking for camera pi updates...
[2026-08-29 14:18:05,684.684 INFO    ] 200
[2026-08-29 14:18:05,687.687 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:18:05,728.728 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:18:05,808.808 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:18:05,810.810 INFO    ] No camera update needed
[2026-08-29 14:18:05,813.813 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:18:05,816.816 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:18:05,822.822 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:18:05,828.828 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:18:07,870.870 INFO    ] ================================================
[2026-08-29 14:18:07,885.885 INFO    ] Launching Daemon at Sat Aug 29 14:18:07 IST 2026
[2026-08-29 14:18:07,897.897 INFO    ] ================================================
[2026-08-29 14:18:08,260.260 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:18:08
[2026-08-29 14:18:08,571.571 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:18:08,775.775 INFO    ] Initializing speech engine...
[2026-08-29 14:18:08,783.783 INFO    ] 2026-08-29 14:18:08
[2026-08-29 14:18:09,039.039 INFO    ] 2026-08-29 14:18:09
[2026-08-29 14:18:09,094.094 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:18:09,257.257 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:18:09,285.285 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:18:09,457.457 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:18:09,504.504 INFO    ] time= 29/08/2026 14:18:09
[2026-08-29 14:18:09,548.548 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:18:09,592.592 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:18:09,708.708 INFO    ] No existing commands found in stream
[2026-08-29 14:18:14,735.735 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:18:14,738.738 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-08-29 14:18:16,442.442 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:18:16,443.443 INFO    ] Checking for system updates...
[2026-08-29 14:18:16,464.464 INFO    ] 200
[2026-08-29 14:18:16,465.465 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:18:16,497.497 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:18:16,498.498 INFO    ] No update needed
[2026-08-29 14:18:16,499.499 INFO    ] Checking for camera pi updates...
[2026-08-29 14:18:16,518.518 INFO    ] 200
[2026-08-29 14:18:16,520.520 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:18:16,542.542 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:18:16,637.637 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:18:16,639.639 INFO    ] No camera update needed
[2026-08-29 14:18:16,641.641 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:18:16,644.644 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:18:16,649.649 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:18:16,654.654 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:18:18,695.695 INFO    ] ================================================
[2026-08-29 14:18:18,711.711 INFO    ] Launching Daemon at Sat Aug 29 14:18:18 IST 2026
[2026-08-29 14:18:18,722.722 INFO    ] ================================================
[2026-08-29 14:18:19,361.361 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:18:19
[2026-08-29 14:18:19,838.838 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:18:19,988.988 INFO    ] Initializing speech engine...
[2026-08-29 14:18:19,993.993 INFO    ] 2026-08-29 14:18:19
[2026-08-29 14:18:20,200.200 INFO    ] 2026-08-29 14:18:20
[2026-08-29 14:18:20,230.230 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:18:20,358.358 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:18:20,416.416 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:18:20,553.553 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:18:20,617.617 INFO    ] time= 29/08/2026 14:18:20
[2026-08-29 14:18:20,645.645 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:18:20,651.651 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:18:20,718.718 INFO    ] No existing commands found in stream
[2026-08-29 14:18:25,729.729 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:18:25,733.733 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 14:18:28,714.714 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:18:28,716.716 INFO    ] Checking for system updates...
[2026-08-29 14:18:28,737.737 INFO    ] 200
[2026-08-29 14:18:28,739.739 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:18:28,771.771 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:18:28,773.773 INFO    ] No update needed
[2026-08-29 14:18:28,774.774 INFO    ] Checking for camera pi updates...
[2026-08-29 14:18:28,793.793 INFO    ] 200
[2026-08-29 14:18:28,795.795 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:18:28,818.818 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:18:28,896.896 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:18:28,897.897 INFO    ] No camera update needed
[2026-08-29 14:18:28,898.898 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:18:28,900.900 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:18:28,903.903 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:18:28,906.906 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:18:30,946.946 INFO    ] ================================================
[2026-08-29 14:18:30,961.961 INFO    ] Launching Daemon at Sat Aug 29 14:18:30 IST 2026
[2026-08-29 14:18:30,972.972 INFO    ] ================================================
[2026-08-29 14:18:31,334.334 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:18:31
[2026-08-29 14:18:31,934.934 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:18:32,282.282 INFO    ] Initializing speech engine...
[2026-08-29 14:18:32,289.289 INFO    ] 2026-08-29 14:18:32
[2026-08-29 14:18:32,576.576 INFO    ] 2026-08-29 14:18:32
[2026-08-29 14:18:32,617.617 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:18:32,807.807 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:18:32,827.827 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:18:32,959.959 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:18:32,969.969 INFO    ] time= 29/08/2026 14:18:32
[2026-08-29 14:18:32,977.977 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:18:33,028.028 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:18:33,136.136 INFO    ] No existing commands found in stream
[2026-08-29 14:18:38,167.167 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:18:38,170.170 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-08-29 14:18:41,253.253 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:18:41,254.254 INFO    ] Checking for system updates...
[2026-08-29 14:18:41,275.275 INFO    ] 200
[2026-08-29 14:18:41,277.277 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:18:41,312.312 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:18:41,313.313 INFO    ] No update needed
[2026-08-29 14:18:41,315.315 INFO    ] Checking for camera pi updates...
[2026-08-29 14:18:41,335.335 INFO    ] 200
[2026-08-29 14:18:41,336.336 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:18:41,359.359 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:18:41,437.437 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:18:41,439.439 INFO    ] No camera update needed
[2026-08-29 14:18:41,440.440 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:18:41,442.442 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:18:41,445.445 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:18:41,448.448 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:18:43,489.489 INFO    ] ================================================
[2026-08-29 14:18:43,505.505 INFO    ] Launching Daemon at Sat Aug 29 14:18:43 IST 2026
[2026-08-29 14:18:43,517.517 INFO    ] ================================================
[2026-08-29 14:18:43,859.859 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:18:43
[2026-08-29 14:18:44,172.172 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:18:44,306.306 INFO    ] Initializing speech engine...
[2026-08-29 14:18:44,310.310 INFO    ] 2026-08-29 14:18:44
[2026-08-29 14:18:44,515.515 INFO    ] 2026-08-29 14:18:44
[2026-08-29 14:18:44,550.550 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:18:44,708.708 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:18:44,728.728 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:18:44,866.866 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:18:44,896.896 INFO    ] time= 29/08/2026 14:18:44
[2026-08-29 14:18:44,930.930 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:18:44,987.987 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:18:45,113.113 INFO    ] No existing commands found in stream
[2026-08-29 14:18:50,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:18:50,123.123 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-08-29 14:18:57,057.057 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:18:57,059.059 INFO    ] Checking for system updates...
[2026-08-29 14:18:57,081.081 INFO    ] 200
[2026-08-29 14:18:57,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:18:57,113.113 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:18:57,115.115 INFO    ] No update needed
[2026-08-29 14:18:57,116.116 INFO    ] Checking for camera pi updates...
[2026-08-29 14:18:57,135.135 INFO    ] 200
[2026-08-29 14:18:57,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:18:57,160.160 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:18:57,356.356 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:18:57,358.358 INFO    ] No camera update needed
[2026-08-29 14:18:57,359.359 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:18:57,360.360 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:18:57,364.364 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:18:57,367.367 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:18:59,407.407 INFO    ] ================================================
[2026-08-29 14:18:59,424.424 INFO    ] Launching Daemon at Sat Aug 29 14:18:59 IST 2026
[2026-08-29 14:18:59,435.435 INFO    ] ================================================
[2026-08-29 14:19:00,034.034 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:19:00
[2026-08-29 14:19:00,637.637 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:19:00,925.925 INFO    ] Initializing speech engine...
[2026-08-29 14:19:00,938.938 INFO    ] 2026-08-29 14:19:00
[2026-08-29 14:19:01,200.200 INFO    ] 2026-08-29 14:19:01
[2026-08-29 14:19:01,250.250 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:19:01,450.450 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:19:01,454.454 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:19:01,564.564 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:19:01,568.568 INFO    ] time= 29/08/2026 14:19:01
[2026-08-29 14:19:01,571.571 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:19:01,575.575 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:19:01,649.649 INFO    ] No existing commands found in stream
[2026-08-29 14:19:06,659.659 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:19:06,661.661 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-08-29 14:19:08,300.300 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:19:08,302.302 INFO    ] Checking for system updates...
[2026-08-29 14:19:08,324.324 INFO    ] 200
[2026-08-29 14:19:08,326.326 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:19:08,358.358 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:19:08,359.359 INFO    ] No update needed
[2026-08-29 14:19:08,361.361 INFO    ] Checking for camera pi updates...
[2026-08-29 14:19:08,382.382 INFO    ] 200
[2026-08-29 14:19:08,383.383 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:19:08,406.406 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:19:08,483.483 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:19:08,484.484 INFO    ] No camera update needed
[2026-08-29 14:19:08,486.486 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:19:08,487.487 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:19:08,490.490 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:19:08,493.493 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:19:10,534.534 INFO    ] ================================================
[2026-08-29 14:19:10,549.549 INFO    ] Launching Daemon at Sat Aug 29 14:19:10 IST 2026
[2026-08-29 14:19:10,560.560 INFO    ] ================================================
[2026-08-29 14:19:10,927.927 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:19:10
[2026-08-29 14:19:11,243.243 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:19:11,475.475 INFO    ] Initializing speech engine...
[2026-08-29 14:19:11,482.482 INFO    ] 2026-08-29 14:19:11
[2026-08-29 14:19:11,758.758 INFO    ] 2026-08-29 14:19:11
[2026-08-29 14:19:11,794.794 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:19:11,968.968 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:19:11,991.991 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:19:12,122.122 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:19:12,129.129 INFO    ] time= 29/08/2026 14:19:12
[2026-08-29 14:19:12,137.137 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:19:12,173.173 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:19:12,284.284 INFO    ] No existing commands found in stream
[2026-08-29 14:19:17,314.314 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:19:17,317.317 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-08-29 14:19:20,556.556 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:19:20,557.557 INFO    ] Checking for system updates...
[2026-08-29 14:19:20,577.577 INFO    ] 200
[2026-08-29 14:19:20,579.579 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:19:20,609.609 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:19:20,610.610 INFO    ] No update needed
[2026-08-29 14:19:20,612.612 INFO    ] Checking for camera pi updates...
[2026-08-29 14:19:20,632.632 INFO    ] 200
[2026-08-29 14:19:20,634.634 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:19:20,656.656 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:19:20,748.748 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:19:20,749.749 INFO    ] No camera update needed
[2026-08-29 14:19:20,750.750 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:19:20,752.752 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:19:20,755.755 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:19:20,757.757 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:19:22,796.796 INFO    ] ================================================
[2026-08-29 14:19:22,812.812 INFO    ] Launching Daemon at Sat Aug 29 14:19:22 IST 2026
[2026-08-29 14:19:22,823.823 INFO    ] ================================================
[2026-08-29 14:19:23,204.204 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:19:23
[2026-08-29 14:19:23,544.544 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:19:23,696.696 INFO    ] Initializing speech engine...
[2026-08-29 14:19:23,703.703 INFO    ] 2026-08-29 14:19:23
[2026-08-29 14:19:23,910.910 INFO    ] 2026-08-29 14:19:23
[2026-08-29 14:19:23,939.939 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:19:24,062.062 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:19:24,068.068 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:19:24,232.232 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:19:24,268.268 INFO    ] time= 29/08/2026 14:19:24
[2026-08-29 14:19:24,288.288 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:19:24,306.306 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:19:24,425.425 INFO    ] No existing commands found in stream
[2026-08-29 14:19:29,445.445 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:19:29,448.448 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-08-29 14:19:31,730.730 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:19:31,733.733 INFO    ] Checking for system updates...
[2026-08-29 14:19:31,777.777 INFO    ] 200
[2026-08-29 14:19:31,780.780 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:19:31,842.842 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:19:31,845.845 INFO    ] No update needed
[2026-08-29 14:19:31,849.849 INFO    ] Checking for camera pi updates...
[2026-08-29 14:19:31,890.890 INFO    ] 200
[2026-08-29 14:19:31,893.893 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:19:31,938.938 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:19:32,046.046 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:19:32,050.050 INFO    ] No camera update needed
[2026-08-29 14:19:32,053.053 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:19:32,057.057 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:19:32,064.064 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:19:32,070.070 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:19:34,112.112 INFO    ] ================================================
[2026-08-29 14:19:34,127.127 INFO    ] Launching Daemon at Sat Aug 29 14:19:34 IST 2026
[2026-08-29 14:19:34,138.138 INFO    ] ================================================
[2026-08-29 14:19:34,647.647 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:19:34
[2026-08-29 14:19:34,959.959 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:19:35,096.096 INFO    ] Initializing speech engine...
[2026-08-29 14:19:35,106.106 INFO    ] 2026-08-29 14:19:35
[2026-08-29 14:19:35,309.309 INFO    ] 2026-08-29 14:19:35
[2026-08-29 14:19:35,338.338 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:19:35,464.464 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:19:35,507.507 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:19:35,703.703 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:19:35,734.734 INFO    ] time= 29/08/2026 14:19:35
[2026-08-29 14:19:35,788.788 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:19:35,837.837 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:19:35,935.935 INFO    ] No existing commands found in stream
[2026-08-29 14:19:40,945.945 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:19:40,947.947 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-08-29 14:19:44,704.704 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:19:44,705.705 INFO    ] Checking for system updates...
[2026-08-29 14:19:44,726.726 INFO    ] 200
[2026-08-29 14:19:44,728.728 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:19:44,758.758 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:19:44,759.759 INFO    ] No update needed
[2026-08-29 14:19:44,761.761 INFO    ] Checking for camera pi updates...
[2026-08-29 14:19:44,780.780 INFO    ] 200
[2026-08-29 14:19:44,782.782 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:19:44,805.805 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:19:44,899.899 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:19:44,901.901 INFO    ] No camera update needed
[2026-08-29 14:19:44,902.902 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:19:44,904.904 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:19:44,907.907 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:19:44,910.910 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:19:46,950.950 INFO    ] ================================================
[2026-08-29 14:19:46,965.965 INFO    ] Launching Daemon at Sat Aug 29 14:19:46 IST 2026
[2026-08-29 14:19:46,976.976 INFO    ] ================================================
[2026-08-29 14:19:47,312.312 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:19:47
[2026-08-29 14:19:47,627.627 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:19:47,769.769 INFO    ] Initializing speech engine...
[2026-08-29 14:19:47,774.774 INFO    ] 2026-08-29 14:19:47
[2026-08-29 14:19:48,046.046 INFO    ] 2026-08-29 14:19:48
[2026-08-29 14:19:48,102.102 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:19:48,316.316 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:19:48,322.322 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:19:48,454.454 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:19:48,497.497 INFO    ] time= 29/08/2026 14:19:48
[2026-08-29 14:19:48,546.546 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:19:48,589.589 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:19:48,698.698 INFO    ] No existing commands found in stream
[2026-08-29 14:19:53,725.725 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:19:53,728.728 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-08-29 14:19:54,511.511 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:19:54,513.513 INFO    ] Checking for system updates...
[2026-08-29 14:19:54,533.533 INFO    ] 200
[2026-08-29 14:19:54,534.534 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:19:54,566.566 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:19:54,567.567 INFO    ] No update needed
[2026-08-29 14:19:54,568.568 INFO    ] Checking for camera pi updates...
[2026-08-29 14:19:54,590.590 INFO    ] 200
[2026-08-29 14:19:54,591.591 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:19:54,617.617 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:19:54,696.696 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:19:54,697.697 INFO    ] No camera update needed
[2026-08-29 14:19:54,699.699 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:19:54,700.700 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:19:54,703.703 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:19:54,706.706 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:19:56,744.744 INFO    ] ================================================
[2026-08-29 14:19:56,758.758 INFO    ] Launching Daemon at Sat Aug 29 14:19:56 IST 2026
[2026-08-29 14:19:56,769.769 INFO    ] ================================================
[2026-08-29 14:19:57,138.138 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:19:57
[2026-08-29 14:19:57,472.472 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:19:57,617.617 INFO    ] Initializing speech engine...
[2026-08-29 14:19:57,627.627 INFO    ] 2026-08-29 14:19:57
[2026-08-29 14:19:57,835.835 INFO    ] 2026-08-29 14:19:57
[2026-08-29 14:19:57,864.864 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:19:58,020.020 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:19:58,025.025 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:19:58,195.195 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:19:58,228.228 INFO    ] time= 29/08/2026 14:19:58
[2026-08-29 14:19:58,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:19:58,259.259 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:19:58,377.377 INFO    ] No existing commands found in stream
[2026-08-29 14:20:03,394.394 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:20:03,397.397 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-08-29 14:20:07,019.019 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:20:07,022.022 INFO    ] Checking for system updates...
[2026-08-29 14:20:07,064.064 INFO    ] 200
[2026-08-29 14:20:07,067.067 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:20:07,122.122 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:20:07,124.124 INFO    ] No update needed
[2026-08-29 14:20:07,127.127 INFO    ] Checking for camera pi updates...
[2026-08-29 14:20:07,164.164 INFO    ] 200
[2026-08-29 14:20:07,166.166 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:20:07,207.207 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:20:07,296.296 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:20:07,298.298 INFO    ] No camera update needed
[2026-08-29 14:20:07,300.300 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:20:07,303.303 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:20:07,308.308 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:20:07,313.313 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:20:09,352.352 INFO    ] ================================================
[2026-08-29 14:20:09,367.367 INFO    ] Launching Daemon at Sat Aug 29 14:20:09 IST 2026
[2026-08-29 14:20:09,378.378 INFO    ] ================================================
[2026-08-29 14:20:09,734.734 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:20:09
[2026-08-29 14:20:10,047.047 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:20:10,187.187 INFO    ] Initializing speech engine...
[2026-08-29 14:20:10,195.195 INFO    ] 2026-08-29 14:20:10
[2026-08-29 14:20:10,414.414 INFO    ] 2026-08-29 14:20:10
[2026-08-29 14:20:10,445.445 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:20:10,591.591 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:20:10,647.647 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:20:10,790.790 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:20:10,858.858 INFO    ] time= 29/08/2026 14:20:10
[2026-08-29 14:20:10,891.891 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:20:10,898.898 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:20:10,968.968 INFO    ] No existing commands found in stream
[2026-08-29 14:20:15,979.979 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:20:15,982.982 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-08-29 14:20:18,677.677 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:20:18,679.679 INFO    ] Checking for system updates...
[2026-08-29 14:20:18,719.719 INFO    ] 200
[2026-08-29 14:20:18,721.721 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:20:18,779.779 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:20:18,781.781 INFO    ] No update needed
[2026-08-29 14:20:18,784.784 INFO    ] Checking for camera pi updates...
[2026-08-29 14:20:18,817.817 INFO    ] 200
[2026-08-29 14:20:18,819.819 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:20:18,859.859 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:20:18,943.943 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:20:18,946.946 INFO    ] No camera update needed
[2026-08-29 14:20:18,948.948 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:20:18,950.950 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:20:18,955.955 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:20:18,960.960 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:20:21,000.000 INFO    ] ================================================
[2026-08-29 14:20:21,015.015 INFO    ] Launching Daemon at Sat Aug 29 14:20:21 IST 2026
[2026-08-29 14:20:21,026.026 INFO    ] ================================================
[2026-08-29 14:20:21,652.652 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:20:21
[2026-08-29 14:20:21,984.984 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:20:22,256.256 INFO    ] Initializing speech engine...
[2026-08-29 14:20:22,265.265 INFO    ] 2026-08-29 14:20:22
[2026-08-29 14:20:22,521.521 INFO    ] 2026-08-29 14:20:22
[2026-08-29 14:20:22,581.581 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:20:22,805.805 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:20:22,814.814 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:20:22,948.948 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:20:22,992.992 INFO    ] time= 29/08/2026 14:20:22
[2026-08-29 14:20:23,046.046 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:20:23,078.078 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:20:23,131.131 INFO    ] No existing commands found in stream
[2026-08-29 14:20:28,143.143 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:20:28,146.146 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 14:20:30,159.159 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:20:30,160.160 INFO    ] Checking for system updates...
[2026-08-29 14:20:30,181.181 INFO    ] 200
[2026-08-29 14:20:30,183.183 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:20:30,213.213 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:20:30,214.214 INFO    ] No update needed
[2026-08-29 14:20:30,215.215 INFO    ] Checking for camera pi updates...
[2026-08-29 14:20:30,235.235 INFO    ] 200
[2026-08-29 14:20:30,236.236 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:20:30,259.259 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:20:30,345.345 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:20:30,346.346 INFO    ] No camera update needed
[2026-08-29 14:20:30,347.347 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:20:30,349.349 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:20:30,352.352 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:20:30,355.355 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:20:32,398.398 INFO    ] ================================================
[2026-08-29 14:20:32,414.414 INFO    ] Launching Daemon at Sat Aug 29 14:20:32 IST 2026
[2026-08-29 14:20:32,425.425 INFO    ] ================================================
[2026-08-29 14:20:33,066.066 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:20:33
[2026-08-29 14:20:33,726.726 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:20:34,030.030 INFO    ] Initializing speech engine...
[2026-08-29 14:20:34,043.043 INFO    ] 2026-08-29 14:20:34
[2026-08-29 14:20:34,333.333 INFO    ] 2026-08-29 14:20:34
[2026-08-29 14:20:34,443.443 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:20:34,596.596 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:20:34,606.606 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:20:34,742.742 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:20:34,790.790 INFO    ] time= 29/08/2026 14:20:34
[2026-08-29 14:20:34,845.845 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:20:34,880.880 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:20:34,936.936 INFO    ] No existing commands found in stream
[2026-08-29 14:20:39,949.949 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:20:39,952.952 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-08-29 14:20:41,059.059 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:20:41,060.060 INFO    ] Checking for system updates...
[2026-08-29 14:20:41,081.081 INFO    ] 200
[2026-08-29 14:20:41,082.082 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:20:41,114.114 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:20:41,116.116 INFO    ] No update needed
[2026-08-29 14:20:41,117.117 INFO    ] Checking for camera pi updates...
[2026-08-29 14:20:41,140.140 INFO    ] 200
[2026-08-29 14:20:41,141.141 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:20:41,168.168 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:20:41,286.286 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:20:41,288.288 INFO    ] No camera update needed
[2026-08-29 14:20:41,289.289 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:20:41,290.290 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:20:41,294.294 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:20:41,297.297 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:20:43,336.336 INFO    ] ================================================
[2026-08-29 14:20:43,351.351 INFO    ] Launching Daemon at Sat Aug 29 14:20:43 IST 2026
[2026-08-29 14:20:43,361.361 INFO    ] ================================================
[2026-08-29 14:20:43,887.887 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:20:43
[2026-08-29 14:20:44,485.485 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:20:44,755.755 INFO    ] Initializing speech engine...
[2026-08-29 14:20:44,765.765 INFO    ] 2026-08-29 14:20:44
[2026-08-29 14:20:45,014.014 INFO    ] 2026-08-29 14:20:45
[2026-08-29 14:20:45,048.048 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:20:45,224.224 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:20:45,237.237 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:20:45,350.350 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:20:45,367.367 INFO    ] time= 29/08/2026 14:20:45
[2026-08-29 14:20:45,388.388 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:20:45,395.395 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:20:45,467.467 INFO    ] No existing commands found in stream
[2026-08-29 14:20:50,503.503 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:20:50,505.505 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-08-29 14:20:52,186.186 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:20:52,188.188 INFO    ] Checking for system updates...
[2026-08-29 14:20:52,208.208 INFO    ] 200
[2026-08-29 14:20:52,210.210 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:20:52,242.242 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:20:52,243.243 INFO    ] No update needed
[2026-08-29 14:20:52,245.245 INFO    ] Checking for camera pi updates...
[2026-08-29 14:20:52,278.278 INFO    ] 200
[2026-08-29 14:20:52,281.281 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:20:52,320.320 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:20:52,408.408 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:20:52,411.411 INFO    ] No camera update needed
[2026-08-29 14:20:52,413.413 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:20:52,415.415 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:20:52,421.421 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:20:52,426.426 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:20:54,465.465 INFO    ] ================================================
[2026-08-29 14:20:54,480.480 INFO    ] Launching Daemon at Sat Aug 29 14:20:54 IST 2026
[2026-08-29 14:20:54,490.490 INFO    ] ================================================
[2026-08-29 14:20:55,072.072 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:20:55
[2026-08-29 14:20:55,532.532 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:20:55,675.675 INFO    ] Initializing speech engine...
[2026-08-29 14:20:55,680.680 INFO    ] 2026-08-29 14:20:55
[2026-08-29 14:20:55,880.880 INFO    ] 2026-08-29 14:20:55
[2026-08-29 14:20:55,988.988 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:20:56,136.136 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:20:56,145.145 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:20:56,278.278 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:20:56,318.318 INFO    ] time= 29/08/2026 14:20:56
[2026-08-29 14:20:56,372.372 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:20:56,410.410 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:20:56,468.468 INFO    ] No existing commands found in stream
[2026-08-29 14:21:01,483.483 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:21:01,486.486 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-08-29 14:21:02,034.034 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:21:02,037.037 INFO    ] Checking for system updates...
[2026-08-29 14:21:02,081.081 INFO    ] 200
[2026-08-29 14:21:02,084.084 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:21:02,149.149 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:21:02,152.152 INFO    ] No update needed
[2026-08-29 14:21:02,156.156 INFO    ] Checking for camera pi updates...
[2026-08-29 14:21:02,196.196 INFO    ] 200
[2026-08-29 14:21:02,200.200 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:21:02,248.248 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:21:02,439.439 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:21:02,442.442 INFO    ] No camera update needed
[2026-08-29 14:21:02,445.445 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:21:02,448.448 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:21:02,456.456 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:21:02,463.463 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:21:04,506.506 INFO    ] ================================================
[2026-08-29 14:21:04,521.521 INFO    ] Launching Daemon at Sat Aug 29 14:21:04 IST 2026
[2026-08-29 14:21:04,531.531 INFO    ] ================================================
[2026-08-29 14:21:04,879.879 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:21:04
[2026-08-29 14:21:05,195.195 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:21:05,328.328 INFO    ] Initializing speech engine...
[2026-08-29 14:21:05,333.333 INFO    ] 2026-08-29 14:21:05
[2026-08-29 14:21:05,563.563 INFO    ] 2026-08-29 14:21:05
[2026-08-29 14:21:05,595.595 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:21:05,717.717 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:21:05,724.724 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:21:05,881.881 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:21:05,943.943 INFO    ] time= 29/08/2026 14:21:05
[2026-08-29 14:21:05,955.955 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:21:05,984.984 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:21:06,105.105 INFO    ] No existing commands found in stream
[2026-08-29 14:21:11,135.135 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:21:11,138.138 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-08-29 14:21:12,589.589 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:21:12,591.591 INFO    ] Checking for system updates...
[2026-08-29 14:21:12,612.612 INFO    ] 200
[2026-08-29 14:21:12,613.613 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:21:12,648.648 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:21:12,649.649 INFO    ] No update needed
[2026-08-29 14:21:12,651.651 INFO    ] Checking for camera pi updates...
[2026-08-29 14:21:12,671.671 INFO    ] 200
[2026-08-29 14:21:12,673.673 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:21:12,699.699 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:21:12,798.798 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:21:12,800.800 INFO    ] No camera update needed
[2026-08-29 14:21:12,801.801 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:21:12,802.802 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:21:12,806.806 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:21:12,809.809 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:21:14,848.848 INFO    ] ================================================
[2026-08-29 14:21:14,863.863 INFO    ] Launching Daemon at Sat Aug 29 14:21:14 IST 2026
[2026-08-29 14:21:14,875.875 INFO    ] ================================================
[2026-08-29 14:21:15,354.354 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:21:15
[2026-08-29 14:21:15,945.945 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:21:16,196.196 INFO    ] Initializing speech engine...
[2026-08-29 14:21:16,219.219 INFO    ] 2026-08-29 14:21:16
[2026-08-29 14:21:16,476.476 INFO    ] 2026-08-29 14:21:16
[2026-08-29 14:21:16,511.511 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:21:16,686.686 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:21:16,699.699 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:21:16,810.810 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:21:16,816.816 INFO    ] time= 29/08/2026 14:21:16
[2026-08-29 14:21:16,834.834 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:21:16,854.854 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:21:16,928.928 INFO    ] No existing commands found in stream
[2026-08-29 14:21:21,940.940 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:21:21,943.943 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-08-29 14:21:24,752.752 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:21:24,753.753 INFO    ] Checking for system updates...
[2026-08-29 14:21:24,774.774 INFO    ] 200
[2026-08-29 14:21:24,775.775 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:21:24,805.805 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:21:24,806.806 INFO    ] No update needed
[2026-08-29 14:21:24,807.807 INFO    ] Checking for camera pi updates...
[2026-08-29 14:21:24,827.827 INFO    ] 200
[2026-08-29 14:21:24,828.828 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:21:24,852.852 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:21:24,929.929 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:21:24,930.930 INFO    ] No camera update needed
[2026-08-29 14:21:24,932.932 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:21:24,933.933 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:21:24,936.936 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:21:24,938.938 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:21:26,978.978 INFO    ] ================================================
[2026-08-29 14:21:26,993.993 INFO    ] Launching Daemon at Sat Aug 29 14:21:26 IST 2026
[2026-08-29 14:21:27,004.004 INFO    ] ================================================
[2026-08-29 14:21:27,347.347 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:21:27
[2026-08-29 14:21:27,659.659 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:21:27,800.800 INFO    ] Initializing speech engine...
[2026-08-29 14:21:27,808.808 INFO    ] 2026-08-29 14:21:27
[2026-08-29 14:21:28,026.026 INFO    ] 2026-08-29 14:21:27
[2026-08-29 14:21:28,056.056 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:21:28,187.187 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:21:28,206.206 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:21:28,349.349 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:21:28,400.400 INFO    ] time= 29/08/2026 14:21:28
[2026-08-29 14:21:28,427.427 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:21:28,484.484 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:21:28,581.581 INFO    ] No existing commands found in stream
[2026-08-29 14:21:33,592.592 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:21:33,595.595 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-08-29 14:21:33,999.999 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:21:34,002.002 INFO    ] Checking for system updates...
[2026-08-29 14:21:34,043.043 INFO    ] 200
[2026-08-29 14:21:34,046.046 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:21:34,111.111 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:21:34,115.115 INFO    ] No update needed
[2026-08-29 14:21:34,119.119 INFO    ] Checking for camera pi updates...
[2026-08-29 14:21:34,158.158 INFO    ] 200
[2026-08-29 14:21:34,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:21:34,205.205 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:21:34,274.274 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:21:34,277.277 INFO    ] No camera update needed
[2026-08-29 14:21:34,280.280 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:21:34,283.283 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:21:34,290.290 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:21:34,297.297 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:21:36,333.333 INFO    ] ================================================
[2026-08-29 14:21:36,349.349 INFO    ] Launching Daemon at Sat Aug 29 14:21:36 IST 2026
[2026-08-29 14:21:36,360.360 INFO    ] ================================================
[2026-08-29 14:21:37,001.001 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:21:36
[2026-08-29 14:21:37,692.692 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:21:38,007.007 INFO    ] Initializing speech engine...
[2026-08-29 14:21:38,018.018 INFO    ] 2026-08-29 14:21:38
[2026-08-29 14:21:38,311.311 INFO    ] 2026-08-29 14:21:38
[2026-08-29 14:21:38,422.422 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:21:38,579.579 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:21:38,586.586 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:21:38,735.735 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:21:38,795.795 INFO    ] time= 29/08/2026 14:21:38
[2026-08-29 14:21:38,849.849 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:21:38,867.867 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:21:38,992.992 INFO    ] No existing commands found in stream
[2026-08-29 14:21:44,014.014 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:21:44,017.017 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-08-29 14:21:46,301.301 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:21:46,302.302 INFO    ] Checking for system updates...
[2026-08-29 14:21:46,325.325 INFO    ] 200
[2026-08-29 14:21:46,326.326 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:21:46,359.359 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:21:46,361.361 INFO    ] No update needed
[2026-08-29 14:21:46,362.362 INFO    ] Checking for camera pi updates...
[2026-08-29 14:21:46,382.382 INFO    ] 200
[2026-08-29 14:21:46,384.384 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:21:46,407.407 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:21:46,493.493 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:21:46,495.495 INFO    ] No camera update needed
[2026-08-29 14:21:46,496.496 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:21:46,498.498 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:21:46,501.501 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:21:46,504.504 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:21:48,545.545 INFO    ] ================================================
[2026-08-29 14:21:48,561.561 INFO    ] Launching Daemon at Sat Aug 29 14:21:48 IST 2026
[2026-08-29 14:21:48,573.573 INFO    ] ================================================
[2026-08-29 14:21:48,906.906 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:21:48
[2026-08-29 14:21:49,226.226 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:21:49,405.405 INFO    ] Initializing speech engine...
[2026-08-29 14:21:49,425.425 INFO    ] 2026-08-29 14:21:49
[2026-08-29 14:21:49,676.676 INFO    ] 2026-08-29 14:21:49
[2026-08-29 14:21:49,712.712 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:21:49,909.909 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:21:49,956.956 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:21:50,108.108 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:21:50,156.156 INFO    ] time= 29/08/2026 14:21:50
[2026-08-29 14:21:50,215.215 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:21:50,244.244 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:21:50,368.368 INFO    ] No existing commands found in stream
[2026-08-29 14:21:55,398.398 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:21:55,401.401 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-08-29 14:21:59,353.353 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:21:59,354.354 INFO    ] Checking for system updates...
[2026-08-29 14:21:59,375.375 INFO    ] 200
[2026-08-29 14:21:59,376.376 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:21:59,406.406 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:21:59,407.407 INFO    ] No update needed
[2026-08-29 14:21:59,408.408 INFO    ] Checking for camera pi updates...
[2026-08-29 14:21:59,431.431 INFO    ] 200
[2026-08-29 14:21:59,433.433 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:21:59,458.458 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:21:59,549.549 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:21:59,550.550 INFO    ] No camera update needed
[2026-08-29 14:21:59,551.551 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:21:59,553.553 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:21:59,555.555 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:21:59,558.558 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:22:01,601.601 INFO    ] ================================================
[2026-08-29 14:22:01,624.624 INFO    ] Launching Daemon at Sat Aug 29 14:22:01 IST 2026
[2026-08-29 14:22:01,641.641 INFO    ] ================================================
[2026-08-29 14:22:02,290.290 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:22:02
[2026-08-29 14:22:02,958.958 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:22:03,226.226 INFO    ] Initializing speech engine...
[2026-08-29 14:22:03,235.235 INFO    ] 2026-08-29 14:22:03
[2026-08-29 14:22:03,497.497 INFO    ] 2026-08-29 14:22:03
[2026-08-29 14:22:03,549.549 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:22:03,771.771 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:22:03,780.780 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:22:03,912.912 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:22:03,933.933 INFO    ] time= 29/08/2026 14:22:03
[2026-08-29 14:22:03,987.987 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:22:04,036.036 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:22:04,095.095 INFO    ] No existing commands found in stream
[2026-08-29 14:22:09,106.106 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:22:09,109.109 INFO    ] Waiting 3.71 seconds before fallback handling...
[2026-08-29 14:22:13,188.188 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:22:13,190.190 INFO    ] Checking for system updates...
[2026-08-29 14:22:13,210.210 INFO    ] 200
[2026-08-29 14:22:13,212.212 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:22:13,241.241 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:22:13,243.243 INFO    ] No update needed
[2026-08-29 14:22:13,244.244 INFO    ] Checking for camera pi updates...
[2026-08-29 14:22:13,265.265 INFO    ] 200
[2026-08-29 14:22:13,267.267 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:22:13,290.290 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:22:13,395.395 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:22:13,397.397 INFO    ] No camera update needed
[2026-08-29 14:22:13,398.398 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:22:13,400.400 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:22:13,403.403 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:22:13,406.406 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:22:15,447.447 INFO    ] ================================================
[2026-08-29 14:22:15,463.463 INFO    ] Launching Daemon at Sat Aug 29 14:22:15 IST 2026
[2026-08-29 14:22:15,475.475 INFO    ] ================================================
[2026-08-29 14:22:15,821.821 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:22:15
[2026-08-29 14:22:16,376.376 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:22:16,638.638 INFO    ] Initializing speech engine...
[2026-08-29 14:22:16,652.652 INFO    ] 2026-08-29 14:22:16
[2026-08-29 14:22:16,936.936 INFO    ] 2026-08-29 14:22:16
[2026-08-29 14:22:16,971.971 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:22:17,123.123 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:22:17,131.131 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:22:17,271.271 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:22:17,292.292 INFO    ] time= 29/08/2026 14:22:17
[2026-08-29 14:22:17,297.297 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:22:17,302.302 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:22:17,369.369 INFO    ] No existing commands found in stream
[2026-08-29 14:22:22,382.382 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:22:22,385.385 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 14:22:23,432.432 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:22:23,441.441 INFO    ] Checking for system updates...
[2026-08-29 14:22:23,486.486 INFO    ] 200
[2026-08-29 14:22:23,489.489 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:22:23,588.588 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:22:23,590.590 INFO    ] No update needed
[2026-08-29 14:22:23,593.593 INFO    ] Checking for camera pi updates...
[2026-08-29 14:22:23,629.629 INFO    ] 200
[2026-08-29 14:22:23,631.631 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:22:23,677.677 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:22:23,782.782 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:22:23,785.785 INFO    ] No camera update needed
[2026-08-29 14:22:23,787.787 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:22:23,790.790 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:22:23,796.796 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:22:23,802.802 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:22:25,843.843 INFO    ] ================================================
[2026-08-29 14:22:25,859.859 INFO    ] Launching Daemon at Sat Aug 29 14:22:25 IST 2026
[2026-08-29 14:22:25,871.871 INFO    ] ================================================
[2026-08-29 14:22:26,298.298 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:22:26
[2026-08-29 14:22:26,609.609 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:22:26,746.746 INFO    ] Initializing speech engine...
[2026-08-29 14:22:26,758.758 INFO    ] 2026-08-29 14:22:26
[2026-08-29 14:22:26,952.952 INFO    ] 2026-08-29 14:22:26
[2026-08-29 14:22:26,988.988 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:22:27,187.187 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:22:27,194.194 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:22:27,326.326 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:22:27,334.334 INFO    ] time= 29/08/2026 14:22:27
[2026-08-29 14:22:27,339.339 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:22:27,359.359 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:22:27,463.463 INFO    ] No existing commands found in stream
[2026-08-29 14:22:32,473.473 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:22:32,476.476 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-08-29 14:22:33,690.690 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:22:33,693.693 INFO    ] Checking for system updates...
[2026-08-29 14:22:33,728.728 INFO    ] 200
[2026-08-29 14:22:33,730.730 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:22:33,782.782 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:22:33,785.785 INFO    ] No update needed
[2026-08-29 14:22:33,787.787 INFO    ] Checking for camera pi updates...
[2026-08-29 14:22:33,822.822 INFO    ] 200
[2026-08-29 14:22:33,824.824 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:22:33,870.870 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:22:33,988.988 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:22:33,991.991 INFO    ] No camera update needed
[2026-08-29 14:22:33,994.994 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:22:33,996.996 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:22:34,002.002 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:22:34,007.007 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:22:36,046.046 INFO    ] ================================================
[2026-08-29 14:22:36,061.061 INFO    ] Launching Daemon at Sat Aug 29 14:22:36 IST 2026
[2026-08-29 14:22:36,073.073 INFO    ] ================================================
[2026-08-29 14:22:36,440.440 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:22:36
[2026-08-29 14:22:36,753.753 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:22:36,950.950 INFO    ] Initializing speech engine...
[2026-08-29 14:22:36,959.959 INFO    ] 2026-08-29 14:22:36
[2026-08-29 14:22:37,206.206 INFO    ] 2026-08-29 14:22:37
[2026-08-29 14:22:37,247.247 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:22:37,412.412 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:22:37,424.424 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:22:37,564.564 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:22:37,573.573 INFO    ] time= 29/08/2026 14:22:37
[2026-08-29 14:22:37,579.579 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:22:37,625.625 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:22:37,756.756 INFO    ] No existing commands found in stream
[2026-08-29 14:22:42,778.778 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:22:42,781.781 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-08-29 14:22:45,123.123 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:22:45,125.125 INFO    ] Checking for system updates...
[2026-08-29 14:22:45,145.145 INFO    ] 200
[2026-08-29 14:22:45,146.146 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:22:45,179.179 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:22:45,180.180 INFO    ] No update needed
[2026-08-29 14:22:45,182.182 INFO    ] Checking for camera pi updates...
[2026-08-29 14:22:45,201.201 INFO    ] 200
[2026-08-29 14:22:45,203.203 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:22:45,225.225 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:22:45,309.309 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:22:45,310.310 INFO    ] No camera update needed
[2026-08-29 14:22:45,311.311 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:22:45,313.313 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:22:45,316.316 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:22:45,318.318 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:22:47,358.358 INFO    ] ================================================
[2026-08-29 14:22:47,373.373 INFO    ] Launching Daemon at Sat Aug 29 14:22:47 IST 2026
[2026-08-29 14:22:47,385.385 INFO    ] ================================================
[2026-08-29 14:22:47,776.776 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:22:47
[2026-08-29 14:22:48,118.118 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:22:48,273.273 INFO    ] Initializing speech engine...
[2026-08-29 14:22:48,278.278 INFO    ] 2026-08-29 14:22:48
[2026-08-29 14:22:48,506.506 INFO    ] 2026-08-29 14:22:48
[2026-08-29 14:22:48,550.550 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:22:48,776.776 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:22:48,786.786 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:22:48,922.922 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:22:48,965.965 INFO    ] time= 29/08/2026 14:22:48
[2026-08-29 14:22:49,014.014 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:22:49,061.061 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:22:49,114.114 INFO    ] No existing commands found in stream
[2026-08-29 14:22:54,126.126 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:22:54,129.129 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-08-29 14:22:55,635.635 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:22:55,636.636 INFO    ] Checking for system updates...
[2026-08-29 14:22:55,657.657 INFO    ] 200
[2026-08-29 14:22:55,659.659 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:22:55,689.689 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:22:55,690.690 INFO    ] No update needed
[2026-08-29 14:22:55,692.692 INFO    ] Checking for camera pi updates...
[2026-08-29 14:22:55,712.712 INFO    ] 200
[2026-08-29 14:22:55,714.714 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:22:55,738.738 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:22:55,835.835 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:22:55,837.837 INFO    ] No camera update needed
[2026-08-29 14:22:55,838.838 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:22:55,839.839 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:22:55,843.843 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:22:55,845.845 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:22:57,883.883 INFO    ] ================================================
[2026-08-29 14:22:57,899.899 INFO    ] Launching Daemon at Sat Aug 29 14:22:57 IST 2026
[2026-08-29 14:22:57,911.911 INFO    ] ================================================
[2026-08-29 14:22:58,266.266 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:22:58
[2026-08-29 14:22:58,584.584 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:22:58,805.805 INFO    ] Initializing speech engine...
[2026-08-29 14:22:58,814.814 INFO    ] 2026-08-29 14:22:58
[2026-08-29 14:22:59,088.088 INFO    ] 2026-08-29 14:22:59
[2026-08-29 14:22:59,124.124 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:22:59,299.299 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:22:59,313.313 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:22:59,427.427 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:22:59,446.446 INFO    ] time= 29/08/2026 14:22:59
[2026-08-29 14:22:59,466.466 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:22:59,474.474 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:22:59,543.543 INFO    ] No existing commands found in stream
[2026-08-29 14:23:04,555.555 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:23:04,558.558 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-08-29 14:23:08,861.861 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:23:08,863.863 INFO    ] Checking for system updates...
[2026-08-29 14:23:08,883.883 INFO    ] 200
[2026-08-29 14:23:08,884.884 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:23:08,914.914 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:23:08,916.916 INFO    ] No update needed
[2026-08-29 14:23:08,917.917 INFO    ] Checking for camera pi updates...
[2026-08-29 14:23:08,937.937 INFO    ] 200
[2026-08-29 14:23:08,939.939 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:23:08,964.964 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:23:09,136.136 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:23:09,137.137 INFO    ] No camera update needed
[2026-08-29 14:23:09,138.138 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:23:09,140.140 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:23:09,142.142 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:23:09,145.145 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:23:11,185.185 INFO    ] ================================================
[2026-08-29 14:23:11,200.200 INFO    ] Launching Daemon at Sat Aug 29 14:23:11 IST 2026
[2026-08-29 14:23:11,211.211 INFO    ] ================================================
[2026-08-29 14:23:11,824.824 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:23:11
[2026-08-29 14:23:12,418.418 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:23:12,687.687 INFO    ] Initializing speech engine...
[2026-08-29 14:23:12,697.697 INFO    ] 2026-08-29 14:23:12
[2026-08-29 14:23:12,941.941 INFO    ] 2026-08-29 14:23:12
[2026-08-29 14:23:12,977.977 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:23:13,149.149 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:23:13,162.162 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:23:13,303.303 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:23:13,310.310 INFO    ] time= 29/08/2026 14:23:13
[2026-08-29 14:23:13,319.319 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:23:13,370.370 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:23:13,478.478 INFO    ] No existing commands found in stream
[2026-08-29 14:23:18,509.509 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:23:18,511.511 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 14:23:21,905.905 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:23:21,907.907 INFO    ] Checking for system updates...
[2026-08-29 14:23:21,928.928 INFO    ] 200
[2026-08-29 14:23:21,929.929 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:23:21,959.959 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:23:21,961.961 INFO    ] No update needed
[2026-08-29 14:23:21,962.962 INFO    ] Checking for camera pi updates...
[2026-08-29 14:23:21,983.983 INFO    ] 200
[2026-08-29 14:23:21,984.984 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:23:22,008.008 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:23:22,084.084 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:23:22,085.085 INFO    ] No camera update needed
[2026-08-29 14:23:22,087.087 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:23:22,088.088 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:23:22,091.091 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:23:22,094.094 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:23:24,135.135 INFO    ] ================================================
[2026-08-29 14:23:24,150.150 INFO    ] Launching Daemon at Sat Aug 29 14:23:24 IST 2026
[2026-08-29 14:23:24,161.161 INFO    ] ================================================
[2026-08-29 14:23:24,645.645 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:23:24
[2026-08-29 14:23:25,254.254 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:23:25,536.536 INFO    ] Initializing speech engine...
[2026-08-29 14:23:25,542.542 INFO    ] 2026-08-29 14:23:25
[2026-08-29 14:23:25,819.819 INFO    ] 2026-08-29 14:23:25
[2026-08-29 14:23:25,863.863 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:23:26,083.083 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:23:26,092.092 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:23:26,225.225 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:23:26,268.268 INFO    ] time= 29/08/2026 14:23:26
[2026-08-29 14:23:26,327.327 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:23:26,359.359 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:23:26,416.416 INFO    ] No existing commands found in stream
[2026-08-29 14:23:31,428.428 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:23:31,431.431 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-08-29 14:23:32,344.344 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:23:32,346.346 INFO    ] Checking for system updates...
[2026-08-29 14:23:32,371.371 INFO    ] 200
[2026-08-29 14:23:32,372.372 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:23:32,416.416 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:23:32,419.419 INFO    ] No update needed
[2026-08-29 14:23:32,422.422 INFO    ] Checking for camera pi updates...
[2026-08-29 14:23:32,461.461 INFO    ] 200
[2026-08-29 14:23:32,464.464 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:23:32,516.516 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:23:32,662.662 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:23:32,664.664 INFO    ] No camera update needed
[2026-08-29 14:23:32,667.667 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:23:32,670.670 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:23:32,676.676 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:23:32,682.682 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:23:34,723.723 INFO    ] ================================================
[2026-08-29 14:23:34,743.743 INFO    ] Launching Daemon at Sat Aug 29 14:23:34 IST 2026
[2026-08-29 14:23:34,755.755 INFO    ] ================================================
[2026-08-29 14:23:35,341.341 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:23:35
[2026-08-29 14:23:35,753.753 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:23:35,896.896 INFO    ] Initializing speech engine...
[2026-08-29 14:23:35,901.901 INFO    ] 2026-08-29 14:23:35
[2026-08-29 14:23:36,106.106 INFO    ] 2026-08-29 14:23:36
[2026-08-29 14:23:36,135.135 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:23:36,265.265 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:23:36,312.312 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:23:36,447.447 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:23:36,455.455 INFO    ] time= 29/08/2026 14:23:36
[2026-08-29 14:23:36,462.462 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:23:36,506.506 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:23:36,614.614 INFO    ] No existing commands found in stream
[2026-08-29 14:23:41,645.645 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:23:41,647.647 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-08-29 14:23:44,965.965 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:23:44,967.967 INFO    ] Checking for system updates...
[2026-08-29 14:23:44,988.988 INFO    ] 200
[2026-08-29 14:23:44,989.989 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:23:45,023.023 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:23:45,024.024 INFO    ] No update needed
[2026-08-29 14:23:45,025.025 INFO    ] Checking for camera pi updates...
[2026-08-29 14:23:45,046.046 INFO    ] 200
[2026-08-29 14:23:45,048.048 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:23:45,074.074 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:23:45,172.172 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:23:45,173.173 INFO    ] No camera update needed
[2026-08-29 14:23:45,175.175 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:23:45,176.176 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:23:45,179.179 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:23:45,183.183 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:23:47,225.225 INFO    ] ================================================
[2026-08-29 14:23:47,241.241 INFO    ] Launching Daemon at Sat Aug 29 14:23:47 IST 2026
[2026-08-29 14:23:47,252.252 INFO    ] ================================================
[2026-08-29 14:23:47,632.632 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:23:47
[2026-08-29 14:23:47,978.978 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:23:48,232.232 INFO    ] Initializing speech engine...
[2026-08-29 14:23:48,243.243 INFO    ] 2026-08-29 14:23:48
[2026-08-29 14:23:48,559.559 INFO    ] 2026-08-29 14:23:48
[2026-08-29 14:23:48,645.645 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:23:48,806.806 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:23:48,813.813 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:23:49,022.022 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:23:49,072.072 INFO    ] time= 29/08/2026 14:23:49
[2026-08-29 14:23:49,090.090 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:23:49,100.100 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:23:49,237.237 INFO    ] No existing commands found in stream
[2026-08-29 14:23:54,260.260 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:23:54,264.264 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-08-29 14:23:56,544.544 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:23:56,546.546 INFO    ] Checking for system updates...
[2026-08-29 14:23:56,567.567 INFO    ] 200
[2026-08-29 14:23:56,568.568 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:23:56,598.598 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:23:56,600.600 INFO    ] No update needed
[2026-08-29 14:23:56,601.601 INFO    ] Checking for camera pi updates...
[2026-08-29 14:23:56,620.620 INFO    ] 200
[2026-08-29 14:23:56,621.621 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:23:56,645.645 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:23:56,761.761 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:23:56,763.763 INFO    ] No camera update needed
[2026-08-29 14:23:56,764.764 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:23:56,765.765 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:23:56,768.768 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:23:56,772.772 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:23:58,813.813 INFO    ] ================================================
[2026-08-29 14:23:58,832.832 INFO    ] Launching Daemon at Sat Aug 29 14:23:58 IST 2026
[2026-08-29 14:23:58,844.844 INFO    ] ================================================
[2026-08-29 14:23:59,441.441 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:23:59
[2026-08-29 14:24:00,039.039 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:24:00,356.356 INFO    ] Initializing speech engine...
[2026-08-29 14:24:00,368.368 INFO    ] 2026-08-29 14:24:00
[2026-08-29 14:24:00,682.682 INFO    ] 2026-08-29 14:24:00
[2026-08-29 14:24:00,767.767 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:24:00,925.925 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:24:00,931.931 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:24:01,064.064 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:24:01,109.109 INFO    ] time= 29/08/2026 14:24:01
[2026-08-29 14:24:01,174.174 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:24:01,199.199 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:24:01,256.256 INFO    ] No existing commands found in stream
[2026-08-29 14:24:06,277.277 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:24:06,281.281 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-08-29 14:24:07,982.982 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:24:07,984.984 INFO    ] Checking for system updates...
[2026-08-29 14:24:08,006.006 INFO    ] 200
[2026-08-29 14:24:08,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:24:08,040.040 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:24:08,041.041 INFO    ] No update needed
[2026-08-29 14:24:08,043.043 INFO    ] Checking for camera pi updates...
[2026-08-29 14:24:08,064.064 INFO    ] 200
[2026-08-29 14:24:08,066.066 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:24:08,090.090 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:24:08,182.182 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:24:08,184.184 INFO    ] No camera update needed
[2026-08-29 14:24:08,185.185 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:24:08,186.186 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:24:08,189.189 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:24:08,192.192 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:24:10,236.236 INFO    ] ================================================
[2026-08-29 14:24:10,251.251 INFO    ] Launching Daemon at Sat Aug 29 14:24:10 IST 2026
[2026-08-29 14:24:10,263.263 INFO    ] ================================================
[2026-08-29 14:24:10,620.620 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:24:10
[2026-08-29 14:24:10,966.966 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:24:11,121.121 INFO    ] Initializing speech engine...
[2026-08-29 14:24:11,127.127 INFO    ] 2026-08-29 14:24:11
[2026-08-29 14:24:11,348.348 INFO    ] 2026-08-29 14:24:11
[2026-08-29 14:24:11,428.428 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:24:11,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:24:11,591.591 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:24:11,726.726 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:24:11,802.802 INFO    ] time= 29/08/2026 14:24:11
[2026-08-29 14:24:11,854.854 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:24:11,861.861 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:24:11,988.988 INFO    ] No existing commands found in stream
[2026-08-29 14:24:17,017.017 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:24:17,020.020 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-08-29 14:24:18,514.514 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:24:18,516.516 INFO    ] Checking for system updates...
[2026-08-29 14:24:18,538.538 INFO    ] 200
[2026-08-29 14:24:18,540.540 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:24:18,572.572 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:24:18,574.574 INFO    ] No update needed
[2026-08-29 14:24:18,575.575 INFO    ] Checking for camera pi updates...
[2026-08-29 14:24:18,594.594 INFO    ] 200
[2026-08-29 14:24:18,595.595 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:24:18,618.618 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:24:18,713.713 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:24:18,714.714 INFO    ] No camera update needed
[2026-08-29 14:24:18,715.715 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:24:18,717.717 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:24:18,719.719 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:24:18,723.723 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:24:20,764.764 INFO    ] ================================================
[2026-08-29 14:24:20,780.780 INFO    ] Launching Daemon at Sat Aug 29 14:24:20 IST 2026
[2026-08-29 14:24:20,791.791 INFO    ] ================================================
[2026-08-29 14:24:21,147.147 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:24:21
[2026-08-29 14:24:21,491.491 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:24:21,645.645 INFO    ] Initializing speech engine...
[2026-08-29 14:24:21,650.650 INFO    ] 2026-08-29 14:24:21
[2026-08-29 14:24:21,859.859 INFO    ] 2026-08-29 14:24:21
[2026-08-29 14:24:21,888.888 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:24:22,010.010 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:24:22,065.065 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:24:22,210.210 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:24:22,278.278 INFO    ] time= 29/08/2026 14:24:22
[2026-08-29 14:24:22,305.305 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:24:22,312.312 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:24:22,378.378 INFO    ] No existing commands found in stream
[2026-08-29 14:24:27,389.389 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:24:27,392.392 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-08-29 14:24:29,768.768 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:24:29,770.770 INFO    ] Checking for system updates...
[2026-08-29 14:24:29,790.790 INFO    ] 200
[2026-08-29 14:24:29,792.792 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:24:29,822.822 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:24:29,824.824 INFO    ] No update needed
[2026-08-29 14:24:29,825.825 INFO    ] Checking for camera pi updates...
[2026-08-29 14:24:29,846.846 INFO    ] 200
[2026-08-29 14:24:29,847.847 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:24:29,870.870 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:24:29,942.942 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:24:29,944.944 INFO    ] No camera update needed
[2026-08-29 14:24:29,945.945 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:24:29,947.947 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:24:29,950.950 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:24:29,953.953 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:24:31,985.985 INFO    ] ================================================
[2026-08-29 14:24:31,996.996 INFO    ] Launching Daemon at Sat Aug 29 14:24:31 IST 2026
[2026-08-29 14:24:32,002.002 INFO    ] ================================================
[2026-08-29 14:24:32,589.589 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:24:32
[2026-08-29 14:24:33,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:24:33,497.497 INFO    ] Initializing speech engine...
[2026-08-29 14:24:33,504.504 INFO    ] 2026-08-29 14:24:33
[2026-08-29 14:24:33,765.765 INFO    ] 2026-08-29 14:24:33
[2026-08-29 14:24:33,795.795 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:24:33,961.961 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:24:33,967.967 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:24:34,083.083 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:24:34,089.089 INFO    ] time= 29/08/2026 14:24:34
[2026-08-29 14:24:34,112.112 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:24:34,118.118 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:24:34,170.170 INFO    ] No existing commands found in stream
[2026-08-29 14:24:39,181.181 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:24:39,184.184 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-08-29 14:24:41,970.970 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:24:41,973.973 INFO    ] Checking for system updates...
[2026-08-29 14:24:42,020.020 INFO    ] 200
[2026-08-29 14:24:42,023.023 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:24:42,090.090 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:24:42,093.093 INFO    ] No update needed
[2026-08-29 14:24:42,096.096 INFO    ] Checking for camera pi updates...
[2026-08-29 14:24:42,132.132 INFO    ] 200
[2026-08-29 14:24:42,135.135 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:24:42,180.180 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:24:42,294.294 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:24:42,297.297 INFO    ] No camera update needed
[2026-08-29 14:24:42,300.300 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:24:42,302.302 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:24:42,309.309 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:24:42,315.315 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:24:44,358.358 INFO    ] ================================================
[2026-08-29 14:24:44,374.374 INFO    ] Launching Daemon at Sat Aug 29 14:24:44 IST 2026
[2026-08-29 14:24:44,386.386 INFO    ] ================================================
[2026-08-29 14:24:44,957.957 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:24:44
[2026-08-29 14:24:45,279.279 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:24:45,419.419 INFO    ] Initializing speech engine...
[2026-08-29 14:24:45,432.432 INFO    ] 2026-08-29 14:24:45
[2026-08-29 14:24:45,654.654 INFO    ] 2026-08-29 14:24:45
[2026-08-29 14:24:45,685.685 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:24:45,824.824 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:24:45,832.832 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:24:45,980.980 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:24:46,024.024 INFO    ] time= 29/08/2026 14:24:45
[2026-08-29 14:24:46,073.073 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:24:46,079.079 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:24:46,137.137 INFO    ] No existing commands found in stream
[2026-08-29 14:24:51,149.149 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:24:51,152.152 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-08-29 14:24:52,963.963 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:24:52,964.964 INFO    ] Checking for system updates...
[2026-08-29 14:24:52,987.987 INFO    ] 200
[2026-08-29 14:24:52,989.989 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:24:53,022.022 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:24:53,024.024 INFO    ] No update needed
[2026-08-29 14:24:53,025.025 INFO    ] Checking for camera pi updates...
[2026-08-29 14:24:53,044.044 INFO    ] 200
[2026-08-29 14:24:53,046.046 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:24:53,069.069 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:24:53,148.148 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:24:53,151.151 INFO    ] No camera update needed
[2026-08-29 14:24:53,154.154 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:24:53,157.157 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:24:53,163.163 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:24:53,169.169 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:24:55,210.210 INFO    ] ================================================
[2026-08-29 14:24:55,226.226 INFO    ] Launching Daemon at Sat Aug 29 14:24:55 IST 2026
[2026-08-29 14:24:55,237.237 INFO    ] ================================================
[2026-08-29 14:24:55,805.805 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:24:55
[2026-08-29 14:24:56,317.317 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:24:56,451.451 INFO    ] Initializing speech engine...
[2026-08-29 14:24:56,456.456 INFO    ] 2026-08-29 14:24:56
[2026-08-29 14:24:56,648.648 INFO    ] 2026-08-29 14:24:56
[2026-08-29 14:24:56,694.694 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:24:56,853.853 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:24:56,881.881 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:24:57,029.029 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:24:57,069.069 INFO    ] time= 29/08/2026 14:24:57
[2026-08-29 14:24:57,115.115 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:24:57,155.155 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:24:57,253.253 INFO    ] No existing commands found in stream
[2026-08-29 14:25:02,264.264 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:25:02,267.267 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-08-29 14:25:06,416.416 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:25:06,417.417 INFO    ] Checking for system updates...
[2026-08-29 14:25:06,437.437 INFO    ] 200
[2026-08-29 14:25:06,439.439 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:25:06,469.469 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:25:06,470.470 INFO    ] No update needed
[2026-08-29 14:25:06,471.471 INFO    ] Checking for camera pi updates...
[2026-08-29 14:25:06,490.490 INFO    ] 200
[2026-08-29 14:25:06,492.492 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:25:06,516.516 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:25:06,607.607 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:25:06,609.609 INFO    ] No camera update needed
[2026-08-29 14:25:06,610.610 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:25:06,611.611 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:25:06,615.615 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:25:06,622.622 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:25:08,665.665 INFO    ] ================================================
[2026-08-29 14:25:08,681.681 INFO    ] Launching Daemon at Sat Aug 29 14:25:08 IST 2026
[2026-08-29 14:25:08,692.692 INFO    ] ================================================
[2026-08-29 14:25:09,273.273 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:25:09
[2026-08-29 14:25:09,717.717 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:25:09,968.968 INFO    ] Initializing speech engine...
[2026-08-29 14:25:09,987.987 INFO    ] 2026-08-29 14:25:09
[2026-08-29 14:25:10,256.256 INFO    ] 2026-08-29 14:25:10
[2026-08-29 14:25:10,290.290 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:25:10,438.438 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:25:10,446.446 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:25:10,591.591 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:25:10,602.602 INFO    ] time= 29/08/2026 14:25:10
[2026-08-29 14:25:10,611.611 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:25:10,617.617 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:25:10,683.683 INFO    ] No existing commands found in stream
[2026-08-29 14:25:15,696.696 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:25:15,699.699 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-08-29 14:25:16,466.466 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:25:16,467.467 INFO    ] Checking for system updates...
[2026-08-29 14:25:16,489.489 INFO    ] 200
[2026-08-29 14:25:16,490.490 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:25:16,520.520 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:25:16,521.521 INFO    ] No update needed
[2026-08-29 14:25:16,522.522 INFO    ] Checking for camera pi updates...
[2026-08-29 14:25:16,542.542 INFO    ] 200
[2026-08-29 14:25:16,543.543 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:25:16,566.566 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:25:16,766.766 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:25:16,768.768 INFO    ] No camera update needed
[2026-08-29 14:25:16,771.771 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:25:16,773.773 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:25:16,778.778 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:25:16,783.783 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:25:18,823.823 INFO    ] ================================================
[2026-08-29 14:25:18,839.839 INFO    ] Launching Daemon at Sat Aug 29 14:25:18 IST 2026
[2026-08-29 14:25:18,851.851 INFO    ] ================================================
[2026-08-29 14:25:19,424.424 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:25:19
[2026-08-29 14:25:19,932.932 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:25:20,068.068 INFO    ] Initializing speech engine...
[2026-08-29 14:25:20,082.082 INFO    ] 2026-08-29 14:25:20
[2026-08-29 14:25:20,301.301 INFO    ] 2026-08-29 14:25:20
[2026-08-29 14:25:20,331.331 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:25:20,463.463 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:25:20,507.507 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:25:20,673.673 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:25:20,715.715 INFO    ] time= 29/08/2026 14:25:20
[2026-08-29 14:25:20,759.759 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:25:20,781.781 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:25:20,858.858 INFO    ] No existing commands found in stream
[2026-08-29 14:25:25,868.868 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:25:25,871.871 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-08-29 14:25:28,083.083 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:25:28,085.085 INFO    ] Checking for system updates...
[2026-08-29 14:25:28,105.105 INFO    ] 200
[2026-08-29 14:25:28,106.106 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:25:28,138.138 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:25:28,140.140 INFO    ] No update needed
[2026-08-29 14:25:28,141.141 INFO    ] Checking for camera pi updates...
[2026-08-29 14:25:28,160.160 INFO    ] 200
[2026-08-29 14:25:28,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:25:28,186.186 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:25:28,299.299 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:25:28,301.301 INFO    ] No camera update needed
[2026-08-29 14:25:28,304.304 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:25:28,306.306 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:25:28,311.311 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:25:28,316.316 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:25:30,356.356 INFO    ] ================================================
[2026-08-29 14:25:30,371.371 INFO    ] Launching Daemon at Sat Aug 29 14:25:30 IST 2026
[2026-08-29 14:25:30,382.382 INFO    ] ================================================
[2026-08-29 14:25:31,039.039 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:25:31
[2026-08-29 14:25:31,522.522 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:25:31,727.727 INFO    ] Initializing speech engine...
[2026-08-29 14:25:31,733.733 INFO    ] 2026-08-29 14:25:31
[2026-08-29 14:25:32,029.029 INFO    ] 2026-08-29 14:25:32
[2026-08-29 14:25:32,091.091 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:25:32,326.326 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:25:32,336.336 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:25:32,482.482 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:25:32,526.526 INFO    ] time= 29/08/2026 14:25:32
[2026-08-29 14:25:32,608.608 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:25:32,639.639 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:25:32,759.759 INFO    ] No existing commands found in stream
[2026-08-29 14:25:37,786.786 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:25:37,789.789 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-08-29 14:25:40,168.168 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:25:40,170.170 INFO    ] Checking for system updates...
[2026-08-29 14:25:40,192.192 INFO    ] 200
[2026-08-29 14:25:40,194.194 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:25:40,225.225 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:25:40,227.227 INFO    ] No update needed
[2026-08-29 14:25:40,228.228 INFO    ] Checking for camera pi updates...
[2026-08-29 14:25:40,248.248 INFO    ] 200
[2026-08-29 14:25:40,249.249 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:25:40,272.272 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:25:40,358.358 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:25:40,359.359 INFO    ] No camera update needed
[2026-08-29 14:25:40,361.361 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:25:40,362.362 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:25:40,365.365 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:25:40,367.367 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:25:42,406.406 INFO    ] ================================================
[2026-08-29 14:25:42,422.422 INFO    ] Launching Daemon at Sat Aug 29 14:25:42 IST 2026
[2026-08-29 14:25:42,433.433 INFO    ] ================================================
[2026-08-29 14:25:42,768.768 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:25:42
[2026-08-29 14:25:43,081.081 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:25:43,218.218 INFO    ] Initializing speech engine...
[2026-08-29 14:25:43,228.228 INFO    ] 2026-08-29 14:25:43
[2026-08-29 14:25:43,480.480 INFO    ] 2026-08-29 14:25:43
[2026-08-29 14:25:43,515.515 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:25:43,687.687 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:25:43,699.699 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:25:43,843.843 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:25:43,847.847 INFO    ] time= 29/08/2026 14:25:43
[2026-08-29 14:25:43,854.854 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:25:43,899.899 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:25:44,014.014 INFO    ] No existing commands found in stream
[2026-08-29 14:25:49,044.044 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:25:49,047.047 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-08-29 14:25:50,374.374 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:25:50,375.375 INFO    ] Checking for system updates...
[2026-08-29 14:25:50,396.396 INFO    ] 200
[2026-08-29 14:25:50,397.397 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:25:50,429.429 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:25:50,431.431 INFO    ] No update needed
[2026-08-29 14:25:50,432.432 INFO    ] Checking for camera pi updates...
[2026-08-29 14:25:50,451.451 INFO    ] 200
[2026-08-29 14:25:50,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:25:50,476.476 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:25:50,555.555 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:25:50,556.556 INFO    ] No camera update needed
[2026-08-29 14:25:50,557.557 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:25:50,558.558 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:25:50,561.561 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:25:50,564.564 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:25:52,595.595 INFO    ] ================================================
[2026-08-29 14:25:52,604.604 INFO    ] Launching Daemon at Sat Aug 29 14:25:52 IST 2026
[2026-08-29 14:25:52,610.610 INFO    ] ================================================
[2026-08-29 14:25:53,113.113 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:25:53
[2026-08-29 14:25:53,717.717 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:25:53,989.989 INFO    ] Initializing speech engine...
[2026-08-29 14:25:54,002.002 INFO    ] 2026-08-29 14:25:53
[2026-08-29 14:25:54,258.258 INFO    ] 2026-08-29 14:25:54
[2026-08-29 14:25:54,296.296 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:25:54,496.496 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:25:54,513.513 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:25:54,638.638 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:25:54,643.643 INFO    ] time= 29/08/2026 14:25:54
[2026-08-29 14:25:54,681.681 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:25:54,691.691 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:25:54,770.770 INFO    ] No existing commands found in stream
[2026-08-29 14:25:59,783.783 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:25:59,786.786 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-08-29 14:26:02,742.742 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:26:02,745.745 INFO    ] Checking for system updates...
[2026-08-29 14:26:02,790.790 INFO    ] 200
[2026-08-29 14:26:02,793.793 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:26:02,853.853 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:26:02,856.856 INFO    ] No update needed
[2026-08-29 14:26:02,859.859 INFO    ] Checking for camera pi updates...
[2026-08-29 14:26:02,902.902 INFO    ] 200
[2026-08-29 14:26:02,905.905 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:26:02,960.960 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:26:03,047.047 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:26:03,051.051 INFO    ] No camera update needed
[2026-08-29 14:26:03,055.055 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:26:03,059.059 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:26:03,067.067 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:26:03,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:26:05,120.120 INFO    ] ================================================
[2026-08-29 14:26:05,135.135 INFO    ] Launching Daemon at Sat Aug 29 14:26:05 IST 2026
[2026-08-29 14:26:05,146.146 INFO    ] ================================================
[2026-08-29 14:26:05,805.805 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:26:05
[2026-08-29 14:26:06,480.480 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:26:06,772.772 INFO    ] Initializing speech engine...
[2026-08-29 14:26:06,781.781 INFO    ] 2026-08-29 14:26:06
[2026-08-29 14:26:07,028.028 INFO    ] 2026-08-29 14:26:07
[2026-08-29 14:26:07,063.063 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:26:07,234.234 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:26:07,247.247 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:26:07,388.388 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:26:07,396.396 INFO    ] time= 29/08/2026 14:26:07
[2026-08-29 14:26:07,402.402 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:26:07,433.433 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:26:07,540.540 INFO    ] No existing commands found in stream
[2026-08-29 14:26:12,565.565 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:26:12,568.568 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-08-29 14:26:13,036.036 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:26:13,038.038 INFO    ] Checking for system updates...
[2026-08-29 14:26:13,058.058 INFO    ] 200
[2026-08-29 14:26:13,059.059 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:26:13,089.089 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:26:13,091.091 INFO    ] No update needed
[2026-08-29 14:26:13,092.092 INFO    ] Checking for camera pi updates...
[2026-08-29 14:26:13,112.112 INFO    ] 200
[2026-08-29 14:26:13,113.113 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:26:13,138.138 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:26:13,215.215 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:26:13,217.217 INFO    ] No camera update needed
[2026-08-29 14:26:13,218.218 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:26:13,219.219 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:26:13,222.222 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:26:13,225.225 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:26:15,264.264 INFO    ] ================================================
[2026-08-29 14:26:15,279.279 INFO    ] Launching Daemon at Sat Aug 29 14:26:15 IST 2026
[2026-08-29 14:26:15,289.289 INFO    ] ================================================
[2026-08-29 14:26:15,668.668 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:26:15
[2026-08-29 14:26:16,007.007 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:26:16,157.157 INFO    ] Initializing speech engine...
[2026-08-29 14:26:16,162.162 INFO    ] 2026-08-29 14:26:16
[2026-08-29 14:26:16,371.371 INFO    ] 2026-08-29 14:26:16
[2026-08-29 14:26:16,400.400 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:26:16,532.532 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:26:16,585.585 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:26:16,722.722 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:26:16,781.781 INFO    ] time= 29/08/2026 14:26:16
[2026-08-29 14:26:16,814.814 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:26:16,821.821 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:26:16,887.887 INFO    ] No existing commands found in stream
[2026-08-29 14:26:21,897.897 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:26:21,900.900 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-08-29 14:26:22,931.931 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:26:22,933.933 INFO    ] Checking for system updates...
[2026-08-29 14:26:22,955.955 INFO    ] 200
[2026-08-29 14:26:22,956.956 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:26:22,988.988 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:26:22,989.989 INFO    ] No update needed
[2026-08-29 14:26:22,990.990 INFO    ] Checking for camera pi updates...
[2026-08-29 14:26:23,010.010 INFO    ] 200
[2026-08-29 14:26:23,012.012 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:26:23,035.035 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:26:23,120.120 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:26:23,123.123 INFO    ] No camera update needed
[2026-08-29 14:26:23,126.126 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:26:23,128.128 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:26:23,134.134 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:26:23,140.140 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:26:25,181.181 INFO    ] ================================================
[2026-08-29 14:26:25,196.196 INFO    ] Launching Daemon at Sat Aug 29 14:26:25 IST 2026
[2026-08-29 14:26:25,207.207 INFO    ] ================================================
[2026-08-29 14:26:25,860.860 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:26:25
[2026-08-29 14:26:26,360.360 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:26:26,647.647 INFO    ] Initializing speech engine...
[2026-08-29 14:26:26,653.653 INFO    ] 2026-08-29 14:26:26
[2026-08-29 14:26:26,938.938 INFO    ] 2026-08-29 14:26:26
[2026-08-29 14:26:26,976.976 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:26:27,197.197 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:26:27,207.207 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:26:27,342.342 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:26:27,402.402 INFO    ] time= 29/08/2026 14:26:27
[2026-08-29 14:26:27,467.467 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:26:27,477.477 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:26:27,608.608 INFO    ] No existing commands found in stream
[2026-08-29 14:26:32,633.633 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:26:32,635.635 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-08-29 14:26:36,385.385 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:26:36,386.386 INFO    ] Checking for system updates...
[2026-08-29 14:26:36,407.407 INFO    ] 200
[2026-08-29 14:26:36,409.409 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:26:36,441.441 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:26:36,443.443 INFO    ] No update needed
[2026-08-29 14:26:36,444.444 INFO    ] Checking for camera pi updates...
[2026-08-29 14:26:36,465.465 INFO    ] 200
[2026-08-29 14:26:36,467.467 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:26:36,494.494 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:26:36,585.585 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:26:36,586.586 INFO    ] No camera update needed
[2026-08-29 14:26:36,587.587 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:26:36,589.589 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:26:36,592.592 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:26:36,595.595 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:26:38,634.634 INFO    ] ================================================
[2026-08-29 14:26:38,649.649 INFO    ] Launching Daemon at Sat Aug 29 14:26:38 IST 2026
[2026-08-29 14:26:38,660.660 INFO    ] ================================================
[2026-08-29 14:26:39,019.019 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:26:39
[2026-08-29 14:26:39,452.452 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:26:39,723.723 INFO    ] Initializing speech engine...
[2026-08-29 14:26:39,732.732 INFO    ] 2026-08-29 14:26:39
[2026-08-29 14:26:39,978.978 INFO    ] 2026-08-29 14:26:39
[2026-08-29 14:26:40,013.013 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:26:40,185.185 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:26:40,196.196 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:26:40,305.305 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:26:40,310.310 INFO    ] time= 29/08/2026 14:26:40
[2026-08-29 14:26:40,328.328 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:26:40,350.350 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:26:40,423.423 INFO    ] No existing commands found in stream
[2026-08-29 14:26:45,438.438 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:26:45,441.441 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-08-29 14:26:48,823.823 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:26:48,825.825 INFO    ] Checking for system updates...
[2026-08-29 14:26:48,845.845 INFO    ] 200
[2026-08-29 14:26:48,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:26:48,879.879 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:26:48,880.880 INFO    ] No update needed
[2026-08-29 14:26:48,881.881 INFO    ] Checking for camera pi updates...
[2026-08-29 14:26:48,901.901 INFO    ] 200
[2026-08-29 14:26:48,902.902 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:26:48,925.925 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:26:49,048.048 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:26:49,051.051 INFO    ] No camera update needed
[2026-08-29 14:26:49,053.053 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:26:49,056.056 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:26:49,061.061 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:26:49,066.066 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:26:51,106.106 INFO    ] ================================================
[2026-08-29 14:26:51,121.121 INFO    ] Launching Daemon at Sat Aug 29 14:26:51 IST 2026
[2026-08-29 14:26:51,132.132 INFO    ] ================================================
[2026-08-29 14:26:51,699.699 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:26:51
[2026-08-29 14:26:52,154.154 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:26:52,297.297 INFO    ] Initializing speech engine...
[2026-08-29 14:26:52,302.302 INFO    ] 2026-08-29 14:26:52
[2026-08-29 14:26:52,504.504 INFO    ] 2026-08-29 14:26:52
[2026-08-29 14:26:52,533.533 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:26:52,655.655 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:26:52,698.698 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:26:52,853.853 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:26:52,915.915 INFO    ] time= 29/08/2026 14:26:52
[2026-08-29 14:26:52,947.947 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:26:52,949.949 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:26:53,029.029 INFO    ] No existing commands found in stream
[2026-08-29 14:26:58,042.042 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:26:58,045.045 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 14:27:01,533.533 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:27:01,535.535 INFO    ] Checking for system updates...
[2026-08-29 14:27:01,555.555 INFO    ] 200
[2026-08-29 14:27:01,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:27:01,633.633 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:27:01,637.637 INFO    ] No update needed
[2026-08-29 14:27:01,650.650 INFO    ] Checking for camera pi updates...
[2026-08-29 14:27:01,711.711 INFO    ] 200
[2026-08-29 14:27:01,715.715 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:27:01,794.794 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:27:01,903.903 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:27:01,906.906 INFO    ] No camera update needed
[2026-08-29 14:27:01,910.910 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:27:01,913.913 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:27:01,928.928 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:27:01,936.936 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:27:03,983.983 INFO    ] ================================================
[2026-08-29 14:27:04,998.998 INFO    ] Launching Daemon at Sat Aug 29 14:27:03 IST 2026
[2026-08-29 14:27:04,009.009 INFO    ] ================================================
[2026-08-29 14:27:04,588.588 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:27:04
[2026-08-29 14:27:04,993.993 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:27:05,140.140 INFO    ] Initializing speech engine...
[2026-08-29 14:27:05,150.150 INFO    ] 2026-08-29 14:27:05
[2026-08-29 14:27:05,407.407 INFO    ] 2026-08-29 14:27:05
[2026-08-29 14:27:05,467.467 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:27:05,629.629 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:27:05,638.638 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:27:05,823.823 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:27:05,849.849 INFO    ] time= 29/08/2026 14:27:05
[2026-08-29 14:27:05,868.868 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:27:05,886.886 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:27:06,007.007 INFO    ] No existing commands found in stream
[2026-08-29 14:27:11,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:27:11,045.045 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-08-29 14:27:12,693.693 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:27:12,695.695 INFO    ] Checking for system updates...
[2026-08-29 14:27:12,715.715 INFO    ] 200
[2026-08-29 14:27:12,717.717 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:27:12,749.749 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:27:12,750.750 INFO    ] No update needed
[2026-08-29 14:27:12,752.752 INFO    ] Checking for camera pi updates...
[2026-08-29 14:27:12,773.773 INFO    ] 200
[2026-08-29 14:27:12,774.774 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:27:12,797.797 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:27:12,906.906 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:27:12,907.907 INFO    ] No camera update needed
[2026-08-29 14:27:12,909.909 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:27:12,910.910 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:27:12,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:27:12,915.915 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:27:14,955.955 INFO    ] ================================================
[2026-08-29 14:27:14,970.970 INFO    ] Launching Daemon at Sat Aug 29 14:27:14 IST 2026
[2026-08-29 14:27:14,981.981 INFO    ] ================================================
[2026-08-29 14:27:15,376.376 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:27:15
[2026-08-29 14:27:15,720.720 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:27:15,949.949 INFO    ] Initializing speech engine...
[2026-08-29 14:27:15,962.962 INFO    ] 2026-08-29 14:27:15
[2026-08-29 14:27:16,281.281 INFO    ] 2026-08-29 14:27:16
[2026-08-29 14:27:16,364.364 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:27:16,520.520 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:27:16,527.527 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:27:16,661.661 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:27:16,726.726 INFO    ] time= 29/08/2026 14:27:16
[2026-08-29 14:27:16,781.781 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:27:16,796.796 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:27:16,918.918 INFO    ] No existing commands found in stream
[2026-08-29 14:27:21,949.949 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:27:21,952.952 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-08-29 14:27:22,581.581 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:27:22,583.583 INFO    ] Checking for system updates...
[2026-08-29 14:27:22,604.604 INFO    ] 200
[2026-08-29 14:27:22,605.605 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:27:22,636.636 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:27:22,637.637 INFO    ] No update needed
[2026-08-29 14:27:22,638.638 INFO    ] Checking for camera pi updates...
[2026-08-29 14:27:22,658.658 INFO    ] 200
[2026-08-29 14:27:22,660.660 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:27:22,685.685 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:27:22,887.887 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:27:22,889.889 INFO    ] No camera update needed
[2026-08-29 14:27:22,890.890 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:27:22,892.892 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:27:22,895.895 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:27:22,898.898 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:27:24,939.939 INFO    ] ================================================
[2026-08-29 14:27:24,956.956 INFO    ] Launching Daemon at Sat Aug 29 14:27:24 IST 2026
[2026-08-29 14:27:24,967.967 INFO    ] ================================================
[2026-08-29 14:27:25,482.482 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:27:25
[2026-08-29 14:27:26,071.071 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:27:26,328.328 INFO    ] Initializing speech engine...
[2026-08-29 14:27:26,335.335 INFO    ] 2026-08-29 14:27:26
[2026-08-29 14:27:26,635.635 INFO    ] 2026-08-29 14:27:26
[2026-08-29 14:27:26,664.664 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:27:26,831.831 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:27:26,837.837 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:27:26,990.990 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:27:27,001.001 INFO    ] time= 29/08/2026 14:27:26
[2026-08-29 14:27:27,011.011 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:27:27,016.016 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:27:27,083.083 INFO    ] No existing commands found in stream
[2026-08-29 14:27:32,093.093 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:27:32,095.095 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-08-29 14:27:33,359.359 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:27:33,362.362 INFO    ] Checking for system updates...
[2026-08-29 14:27:33,398.398 INFO    ] 200
[2026-08-29 14:27:33,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:27:33,453.453 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:27:33,455.455 INFO    ] No update needed
[2026-08-29 14:27:33,458.458 INFO    ] Checking for camera pi updates...
[2026-08-29 14:27:33,491.491 INFO    ] 200
[2026-08-29 14:27:33,494.494 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:27:33,534.534 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:27:33,614.614 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:27:33,617.617 INFO    ] No camera update needed
[2026-08-29 14:27:33,619.619 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:27:33,621.621 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:27:33,626.626 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:27:33,631.631 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:27:35,671.671 INFO    ] ================================================
[2026-08-29 14:27:35,687.687 INFO    ] Launching Daemon at Sat Aug 29 14:27:35 IST 2026
[2026-08-29 14:27:35,699.699 INFO    ] ================================================
[2026-08-29 14:27:36,158.158 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:27:36
[2026-08-29 14:27:36,741.741 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:27:37,010.010 INFO    ] Initializing speech engine...
[2026-08-29 14:27:37,019.019 INFO    ] 2026-08-29 14:27:37
[2026-08-29 14:27:37,280.280 INFO    ] 2026-08-29 14:27:37
[2026-08-29 14:27:37,332.332 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:27:37,474.474 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:27:37,486.486 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:27:37,626.626 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:27:37,634.634 INFO    ] time= 29/08/2026 14:27:37
[2026-08-29 14:27:37,641.641 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:27:37,671.671 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:27:37,797.797 INFO    ] No existing commands found in stream
[2026-08-29 14:27:42,833.833 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:27:42,835.835 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-08-29 14:27:44,491.491 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:27:44,493.493 INFO    ] Checking for system updates...
[2026-08-29 14:27:44,513.513 INFO    ] 200
[2026-08-29 14:27:44,514.514 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:27:44,545.545 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:27:44,546.546 INFO    ] No update needed
[2026-08-29 14:27:44,547.547 INFO    ] Checking for camera pi updates...
[2026-08-29 14:27:44,568.568 INFO    ] 200
[2026-08-29 14:27:44,569.569 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:27:44,594.594 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:27:44,675.675 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:27:44,676.676 INFO    ] No camera update needed
[2026-08-29 14:27:44,677.677 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:27:44,679.679 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:27:44,682.682 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:27:44,684.684 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:27:46,724.724 INFO    ] ================================================
[2026-08-29 14:27:46,740.740 INFO    ] Launching Daemon at Sat Aug 29 14:27:46 IST 2026
[2026-08-29 14:27:46,751.751 INFO    ] ================================================
[2026-08-29 14:27:47,137.137 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:27:47
[2026-08-29 14:27:47,483.483 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:27:47,637.637 INFO    ] Initializing speech engine...
[2026-08-29 14:27:47,642.642 INFO    ] 2026-08-29 14:27:47
[2026-08-29 14:27:47,852.852 INFO    ] 2026-08-29 14:27:47
[2026-08-29 14:27:47,881.881 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:27:48,004.004 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:27:48,067.067 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:27:48,211.211 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:27:48,274.274 INFO    ] time= 29/08/2026 14:27:48
[2026-08-29 14:27:48,297.297 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:27:48,304.304 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:27:48,371.371 INFO    ] No existing commands found in stream
[2026-08-29 14:27:53,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:27:53,385.385 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-08-29 14:27:56,024.024 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:27:56,025.025 INFO    ] Checking for system updates...
[2026-08-29 14:27:56,047.047 INFO    ] 200
[2026-08-29 14:27:56,049.049 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:27:56,081.081 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:27:56,083.083 INFO    ] No update needed
[2026-08-29 14:27:56,085.085 INFO    ] Checking for camera pi updates...
[2026-08-29 14:27:56,104.104 INFO    ] 200
[2026-08-29 14:27:56,106.106 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:27:56,129.129 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:27:56,211.211 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:27:56,212.212 INFO    ] No camera update needed
[2026-08-29 14:27:56,214.214 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:27:56,215.215 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:27:56,219.219 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:27:56,222.222 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:27:58,263.263 INFO    ] ================================================
[2026-08-29 14:27:58,279.279 INFO    ] Launching Daemon at Sat Aug 29 14:27:58 IST 2026
[2026-08-29 14:27:58,290.290 INFO    ] ================================================
[2026-08-29 14:27:58,648.648 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:27:58
[2026-08-29 14:27:58,966.966 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:27:59,110.110 INFO    ] Initializing speech engine...
[2026-08-29 14:27:59,115.115 INFO    ] 2026-08-29 14:27:59
[2026-08-29 14:27:59,319.319 INFO    ] 2026-08-29 14:27:59
[2026-08-29 14:27:59,354.354 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:27:59,487.487 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:27:59,535.535 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:27:59,672.672 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:27:59,731.731 INFO    ] time= 29/08/2026 14:27:59
[2026-08-29 14:27:59,764.764 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:27:59,770.770 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:27:59,838.838 INFO    ] No existing commands found in stream
[2026-08-29 14:28:04,847.847 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:28:04,849.849 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 14:28:07,888.888 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:28:07,891.891 INFO    ] Checking for system updates...
[2026-08-29 14:28:07,927.927 INFO    ] 200
[2026-08-29 14:28:07,929.929 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:28:07,965.965 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:28:07,966.966 INFO    ] No update needed
[2026-08-29 14:28:07,968.968 INFO    ] Checking for camera pi updates...
[2026-08-29 14:28:07,986.986 INFO    ] 200
[2026-08-29 14:28:07,988.988 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:28:08,012.012 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:28:08,113.113 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:28:08,114.114 INFO    ] No camera update needed
[2026-08-29 14:28:08,116.116 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:28:08,117.117 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:28:08,120.120 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:28:08,123.123 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:28:10,163.163 INFO    ] ================================================
[2026-08-29 14:28:10,179.179 INFO    ] Launching Daemon at Sat Aug 29 14:28:10 IST 2026
[2026-08-29 14:28:10,191.191 INFO    ] ================================================
[2026-08-29 14:28:10,543.543 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:28:10
[2026-08-29 14:28:10,883.883 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:28:11,033.033 INFO    ] Initializing speech engine...
[2026-08-29 14:28:11,039.039 INFO    ] 2026-08-29 14:28:11
[2026-08-29 14:28:11,244.244 INFO    ] 2026-08-29 14:28:11
[2026-08-29 14:28:11,274.274 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:28:11,397.397 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:28:11,459.459 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:28:11,597.597 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:28:11,651.651 INFO    ] time= 29/08/2026 14:28:11
[2026-08-29 14:28:11,688.688 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:28:11,695.695 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:28:11,762.762 INFO    ] No existing commands found in stream
[2026-08-29 14:28:16,777.777 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:28:16,780.780 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-08-29 14:28:19,687.687 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:28:19,689.689 INFO    ] Checking for system updates...
[2026-08-29 14:28:19,710.710 INFO    ] 200
[2026-08-29 14:28:19,711.711 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:28:19,745.745 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:28:19,746.746 INFO    ] No update needed
[2026-08-29 14:28:19,747.747 INFO    ] Checking for camera pi updates...
[2026-08-29 14:28:19,767.767 INFO    ] 200
[2026-08-29 14:28:19,769.769 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:28:19,794.794 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:28:19,903.903 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:28:19,906.906 INFO    ] No camera update needed
[2026-08-29 14:28:19,909.909 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:28:19,911.911 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:28:19,918.918 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:28:19,923.923 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:28:21,965.965 INFO    ] ================================================
[2026-08-29 14:28:21,980.980 INFO    ] Launching Daemon at Sat Aug 29 14:28:21 IST 2026
[2026-08-29 14:28:21,991.991 INFO    ] ================================================
[2026-08-29 14:28:22,649.649 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:28:22
[2026-08-29 14:28:23,145.145 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:28:23,296.296 INFO    ] Initializing speech engine...
[2026-08-29 14:28:23,302.302 INFO    ] 2026-08-29 14:28:23
[2026-08-29 14:28:23,509.509 INFO    ] 2026-08-29 14:28:23
[2026-08-29 14:28:23,537.537 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:28:23,680.680 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:28:23,725.725 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:28:23,861.861 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:28:23,925.925 INFO    ] time= 29/08/2026 14:28:23
[2026-08-29 14:28:23,952.952 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:28:23,959.959 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:28:24,024.024 INFO    ] No existing commands found in stream
[2026-08-29 14:28:29,035.035 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:28:29,038.038 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-08-29 14:28:32,834.834 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:28:32,837.837 INFO    ] Checking for system updates...
[2026-08-29 14:28:32,873.873 INFO    ] 200
[2026-08-29 14:28:32,875.875 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:28:32,929.929 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:28:32,931.931 INFO    ] No update needed
[2026-08-29 14:28:32,934.934 INFO    ] Checking for camera pi updates...
[2026-08-29 14:28:32,968.968 INFO    ] 200
[2026-08-29 14:28:32,970.970 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:28:33,015.015 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:28:33,123.123 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:28:33,126.126 INFO    ] No camera update needed
[2026-08-29 14:28:33,128.128 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:28:33,130.130 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:28:33,136.136 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:28:33,141.141 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:28:35,181.181 INFO    ] ================================================
[2026-08-29 14:28:35,196.196 INFO    ] Launching Daemon at Sat Aug 29 14:28:35 IST 2026
[2026-08-29 14:28:35,207.207 INFO    ] ================================================
[2026-08-29 14:28:35,572.572 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:28:35
[2026-08-29 14:28:35,898.898 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:28:36,159.159 INFO    ] Initializing speech engine...
[2026-08-29 14:28:36,174.174 INFO    ] 2026-08-29 14:28:36
[2026-08-29 14:28:36,458.458 INFO    ] 2026-08-29 14:28:36
[2026-08-29 14:28:36,497.497 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:28:36,694.694 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:28:36,701.701 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:28:36,836.836 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:28:36,841.841 INFO    ] time= 29/08/2026 14:28:36
[2026-08-29 14:28:36,862.862 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:28:36,876.876 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:28:36,967.967 INFO    ] No existing commands found in stream
[2026-08-29 14:28:41,979.979 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:28:41,981.981 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-08-29 14:28:45,577.577 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:28:45,579.579 INFO    ] Checking for system updates...
[2026-08-29 14:28:45,599.599 INFO    ] 200
[2026-08-29 14:28:45,601.601 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:28:45,633.633 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:28:45,634.634 INFO    ] No update needed
[2026-08-29 14:28:45,636.636 INFO    ] Checking for camera pi updates...
[2026-08-29 14:28:45,659.659 INFO    ] 200
[2026-08-29 14:28:45,660.660 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:28:45,686.686 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:28:45,772.772 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:28:45,773.773 INFO    ] No camera update needed
[2026-08-29 14:28:45,775.775 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:28:45,776.776 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:28:45,779.779 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:28:45,782.782 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:28:47,822.822 INFO    ] ================================================
[2026-08-29 14:28:47,837.837 INFO    ] Launching Daemon at Sat Aug 29 14:28:47 IST 2026
[2026-08-29 14:28:47,849.849 INFO    ] ================================================
[2026-08-29 14:28:48,214.214 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:28:48
[2026-08-29 14:28:48,553.553 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:28:48,707.707 INFO    ] Initializing speech engine...
[2026-08-29 14:28:48,712.712 INFO    ] 2026-08-29 14:28:48
[2026-08-29 14:28:48,919.919 INFO    ] 2026-08-29 14:28:48
[2026-08-29 14:28:48,947.947 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:28:49,071.071 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:28:49,109.109 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:28:49,265.265 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:28:49,327.327 INFO    ] time= 29/08/2026 14:28:49
[2026-08-29 14:28:49,356.356 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:28:49,367.367 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:28:49,438.438 INFO    ] No existing commands found in stream
[2026-08-29 14:28:54,449.449 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:28:54,452.452 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-08-29 14:28:56,537.537 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:28:57,198.198 INFO    ] Checking for system updates...
[2026-08-29 14:28:57,234.234 INFO    ] 200
[2026-08-29 14:28:57,236.236 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:28:58,012.012 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:28:58,015.015 INFO    ] No update needed
[2026-08-29 14:28:58,017.017 INFO    ] Checking for camera pi updates...
[2026-08-29 14:28:58,054.054 INFO    ] 200
[2026-08-29 14:28:58,056.056 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:28:58,082.082 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:28:58,183.183 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:28:58,184.184 INFO    ] No camera update needed
[2026-08-29 14:28:58,186.186 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:28:58,187.187 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:28:58,190.190 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:28:58,192.192 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:29:00,232.232 INFO    ] ================================================
[2026-08-29 14:29:00,247.247 INFO    ] Launching Daemon at Sat Aug 29 14:29:00 IST 2026
[2026-08-29 14:29:00,258.258 INFO    ] ================================================
[2026-08-29 14:29:00,605.605 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:29:00
[2026-08-29 14:29:00,919.919 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:29:01,057.057 INFO    ] Initializing speech engine...
[2026-08-29 14:29:01,066.066 INFO    ] 2026-08-29 14:29:01
[2026-08-29 14:29:01,273.273 INFO    ] 2026-08-29 14:29:01
[2026-08-29 14:29:01,352.352 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:29:01,570.570 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:29:01,575.575 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:29:01,695.695 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:29:01,698.698 INFO    ] time= 29/08/2026 14:29:01
[2026-08-29 14:29:01,702.702 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:29:01,705.705 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:29:01,773.773 INFO    ] No existing commands found in stream
[2026-08-29 14:29:06,783.783 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:29:06,786.786 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-08-29 14:29:07,680.680 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:29:07,682.682 INFO    ] Checking for system updates...
[2026-08-29 14:29:07,702.702 INFO    ] 200
[2026-08-29 14:29:07,704.704 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:29:07,734.734 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:29:07,735.735 INFO    ] No update needed
[2026-08-29 14:29:07,736.736 INFO    ] Checking for camera pi updates...
[2026-08-29 14:29:07,757.757 INFO    ] 200
[2026-08-29 14:29:07,758.758 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:29:07,781.781 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:29:07,868.868 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:29:07,869.869 INFO    ] No camera update needed
[2026-08-29 14:29:07,871.871 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:29:07,872.872 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:29:07,875.875 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:29:07,878.878 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:29:09,917.917 INFO    ] ================================================
[2026-08-29 14:29:09,932.932 INFO    ] Launching Daemon at Sat Aug 29 14:29:09 IST 2026
[2026-08-29 14:29:09,943.943 INFO    ] ================================================
[2026-08-29 14:29:10,317.317 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:29:10
[2026-08-29 14:29:10,650.650 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:29:10,846.846 INFO    ] Initializing speech engine...
[2026-08-29 14:29:10,853.853 INFO    ] 2026-08-29 14:29:10
[2026-08-29 14:29:11,124.124 INFO    ] 2026-08-29 14:29:11
[2026-08-29 14:29:11,180.180 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:29:11,403.403 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:29:11,413.413 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:29:11,546.546 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:29:11,583.583 INFO    ] time= 29/08/2026 14:29:11
[2026-08-29 14:29:11,632.632 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:29:11,679.679 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:29:11,759.759 INFO    ] No existing commands found in stream
[2026-08-29 14:29:16,796.796 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:29:16,811.811 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 14:29:17,388.388 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:29:17,389.389 INFO    ] Checking for system updates...
[2026-08-29 14:29:17,411.411 INFO    ] 200
[2026-08-29 14:29:17,412.412 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:29:17,445.445 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:29:17,447.447 INFO    ] No update needed
[2026-08-29 14:29:17,448.448 INFO    ] Checking for camera pi updates...
[2026-08-29 14:29:17,470.470 INFO    ] 200
[2026-08-29 14:29:17,471.471 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:29:17,496.496 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:29:17,571.571 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:29:17,573.573 INFO    ] No camera update needed
[2026-08-29 14:29:17,574.574 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:29:17,576.576 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:29:17,579.579 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:29:17,581.581 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:29:19,620.620 INFO    ] ================================================
[2026-08-29 14:29:19,636.636 INFO    ] Launching Daemon at Sat Aug 29 14:29:19 IST 2026
[2026-08-29 14:29:19,646.646 INFO    ] ================================================
[2026-08-29 14:29:20,003.003 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:29:19
[2026-08-29 14:29:20,319.319 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:29:20,461.461 INFO    ] Initializing speech engine...
[2026-08-29 14:29:20,472.472 INFO    ] 2026-08-29 14:29:20
[2026-08-29 14:29:20,703.703 INFO    ] 2026-08-29 14:29:20
[2026-08-29 14:29:20,759.759 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:29:20,923.923 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:29:20,928.928 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:29:21,101.101 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:29:21,126.126 INFO    ] time= 29/08/2026 14:29:21
[2026-08-29 14:29:21,144.144 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:29:21,153.153 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:29:21,251.251 INFO    ] No existing commands found in stream
[2026-08-29 14:29:26,287.287 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:29:26,290.290 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-08-29 14:29:27,071.071 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:29:27,073.073 INFO    ] Checking for system updates...
[2026-08-29 14:29:27,094.094 INFO    ] 200
[2026-08-29 14:29:27,096.096 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:29:27,127.127 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:29:27,129.129 INFO    ] No update needed
[2026-08-29 14:29:27,130.130 INFO    ] Checking for camera pi updates...
[2026-08-29 14:29:27,150.150 INFO    ] 200
[2026-08-29 14:29:27,151.151 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:29:27,178.178 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:29:27,364.364 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:29:27,365.365 INFO    ] No camera update needed
[2026-08-29 14:29:27,367.367 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:29:27,368.368 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:29:27,371.371 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:29:27,373.373 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:29:29,413.413 INFO    ] ================================================
[2026-08-29 14:29:29,430.430 INFO    ] Launching Daemon at Sat Aug 29 14:29:29 IST 2026
[2026-08-29 14:29:29,442.442 INFO    ] ================================================
[2026-08-29 14:29:29,810.810 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:29:29
[2026-08-29 14:29:30,145.145 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:29:30,290.290 INFO    ] Initializing speech engine...
[2026-08-29 14:29:30,301.301 INFO    ] 2026-08-29 14:29:30
[2026-08-29 14:29:30,511.511 INFO    ] 2026-08-29 14:29:30
[2026-08-29 14:29:30,540.540 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:29:30,723.723 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:29:30,733.733 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:29:30,885.885 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:29:30,925.925 INFO    ] time= 29/08/2026 14:29:30
[2026-08-29 14:29:30,974.974 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:29:31,034.034 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:29:31,095.095 INFO    ] No existing commands found in stream
[2026-08-29 14:29:36,106.106 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:29:36,109.109 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-08-29 14:29:37,867.867 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:29:37,868.868 INFO    ] Checking for system updates...
[2026-08-29 14:29:37,889.889 INFO    ] 200
[2026-08-29 14:29:37,891.891 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:29:37,921.921 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:29:37,923.923 INFO    ] No update needed
[2026-08-29 14:29:37,924.924 INFO    ] Checking for camera pi updates...
[2026-08-29 14:29:37,944.944 INFO    ] 200
[2026-08-29 14:29:37,945.945 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:29:37,969.969 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:29:38,049.049 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:29:38,050.050 INFO    ] No camera update needed
[2026-08-29 14:29:38,052.052 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:29:38,053.053 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:29:38,056.056 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:29:38,059.059 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:29:40,099.099 INFO    ] ================================================
[2026-08-29 14:29:40,116.116 INFO    ] Launching Daemon at Sat Aug 29 14:29:40 IST 2026
[2026-08-29 14:29:40,126.126 INFO    ] ================================================
[2026-08-29 14:29:40,600.600 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:29:40
[2026-08-29 14:29:41,205.205 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:29:41,480.480 INFO    ] Initializing speech engine...
[2026-08-29 14:29:41,489.489 INFO    ] 2026-08-29 14:29:41
[2026-08-29 14:29:41,755.755 INFO    ] 2026-08-29 14:29:41
[2026-08-29 14:29:41,791.791 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:29:41,981.981 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:29:41,989.989 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:29:42,100.100 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:29:42,106.106 INFO    ] time= 29/08/2026 14:29:42
[2026-08-29 14:29:42,128.128 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:29:42,135.135 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:29:42,186.186 INFO    ] No existing commands found in stream
[2026-08-29 14:29:47,199.199 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:29:47,201.201 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-08-29 14:29:49,915.915 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:29:49,917.917 INFO    ] Checking for system updates...
[2026-08-29 14:29:49,937.937 INFO    ] 200
[2026-08-29 14:29:49,939.939 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:29:49,969.969 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:29:49,971.971 INFO    ] No update needed
[2026-08-29 14:29:49,972.972 INFO    ] Checking for camera pi updates...
[2026-08-29 14:29:49,993.993 INFO    ] 200
[2026-08-29 14:29:49,995.995 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:29:50,021.021 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:29:50,120.120 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:29:50,121.121 INFO    ] No camera update needed
[2026-08-29 14:29:50,123.123 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:29:50,124.124 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:29:50,128.128 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:29:50,131.131 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:29:52,169.169 INFO    ] ================================================
[2026-08-29 14:29:52,185.185 INFO    ] Launching Daemon at Sat Aug 29 14:29:52 IST 2026
[2026-08-29 14:29:52,196.196 INFO    ] ================================================
[2026-08-29 14:29:52,551.551 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:29:52
[2026-08-29 14:29:52,863.863 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:29:52,995.995 INFO    ] Initializing speech engine...
[2026-08-29 14:29:52,999.999 INFO    ] 2026-08-29 14:29:52
[2026-08-29 14:29:53,227.227 INFO    ] 2026-08-29 14:29:53
[2026-08-29 14:29:53,258.258 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:29:53,389.389 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:29:53,393.393 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:29:53,546.546 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:29:53,603.603 INFO    ] time= 29/08/2026 14:29:53
[2026-08-29 14:29:53,629.629 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:29:53,686.686 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:29:53,785.785 INFO    ] No existing commands found in stream
[2026-08-29 14:29:58,796.796 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:29:58,798.798 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-08-29 14:30:02,165.165 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:30:02,169.169 INFO    ] Checking for system updates...
[2026-08-29 14:30:02,268.268 INFO    ] 200
[2026-08-29 14:30:02,271.271 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:30:02,343.343 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:30:02,346.346 INFO    ] No update needed
[2026-08-29 14:30:02,349.349 INFO    ] Checking for camera pi updates...
[2026-08-29 14:30:02,408.408 INFO    ] 200
[2026-08-29 14:30:02,411.411 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:30:02,478.478 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:30:02,682.682 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:30:02,685.685 INFO    ] No camera update needed
[2026-08-29 14:30:02,688.688 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:30:02,691.691 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:30:02,698.698 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:30:02,706.706 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:30:04,748.748 INFO    ] ================================================
[2026-08-29 14:30:04,764.764 INFO    ] Launching Daemon at Sat Aug 29 14:30:04 IST 2026
[2026-08-29 14:30:04,775.775 INFO    ] ================================================
[2026-08-29 14:30:05,345.345 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:30:05
[2026-08-29 14:30:06,027.027 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:30:06,340.340 INFO    ] Initializing speech engine...
[2026-08-29 14:30:06,351.351 INFO    ] 2026-08-29 14:30:06
[2026-08-29 14:30:06,632.632 INFO    ] 2026-08-29 14:30:06
[2026-08-29 14:30:06,679.679 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:30:06,912.912 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:30:06,929.929 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:30:07,067.067 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:30:07,127.127 INFO    ] time= 29/08/2026 14:30:07
[2026-08-29 14:30:07,194.194 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:30:07,201.201 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:30:07,328.328 INFO    ] No existing commands found in stream
[2026-08-29 14:30:12,356.356 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:30:12,360.360 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-08-29 14:30:13,330.330 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:30:13,332.332 INFO    ] Checking for system updates...
[2026-08-29 14:30:13,354.354 INFO    ] 200
[2026-08-29 14:30:13,356.356 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:30:13,386.386 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:30:13,388.388 INFO    ] No update needed
[2026-08-29 14:30:13,389.389 INFO    ] Checking for camera pi updates...
[2026-08-29 14:30:13,412.412 INFO    ] 200
[2026-08-29 14:30:13,413.413 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:30:13,437.437 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:30:13,557.557 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:30:13,558.558 INFO    ] No camera update needed
[2026-08-29 14:30:13,560.560 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:30:13,561.561 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:30:13,564.564 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:30:13,567.567 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:30:15,607.607 INFO    ] ================================================
[2026-08-29 14:30:15,623.623 INFO    ] Launching Daemon at Sat Aug 29 14:30:15 IST 2026
[2026-08-29 14:30:15,634.634 INFO    ] ================================================
[2026-08-29 14:30:16,126.126 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:30:16
[2026-08-29 14:30:16,726.726 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:30:17,006.006 INFO    ] Initializing speech engine...
[2026-08-29 14:30:17,013.013 INFO    ] 2026-08-29 14:30:17
[2026-08-29 14:30:17,274.274 INFO    ] 2026-08-29 14:30:17
[2026-08-29 14:30:17,328.328 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:30:17,552.552 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:30:17,561.561 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:30:17,696.696 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:30:17,723.723 INFO    ] time= 29/08/2026 14:30:17
[2026-08-29 14:30:17,777.777 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:30:17,831.831 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:30:17,884.884 INFO    ] No existing commands found in stream
[2026-08-29 14:30:22,896.896 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:30:22,899.899 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-08-29 14:30:25,326.326 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:30:25,328.328 INFO    ] Checking for system updates...
[2026-08-29 14:30:25,348.348 INFO    ] 200
[2026-08-29 14:30:25,349.349 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:30:25,383.383 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:30:25,385.385 INFO    ] No update needed
[2026-08-29 14:30:25,386.386 INFO    ] Checking for camera pi updates...
[2026-08-29 14:30:25,405.405 INFO    ] 200
[2026-08-29 14:30:25,406.406 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:30:25,431.431 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:30:25,516.516 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:30:25,517.517 INFO    ] No camera update needed
[2026-08-29 14:30:25,519.519 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:30:25,520.520 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:30:25,523.523 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:30:25,525.525 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:30:27,565.565 INFO    ] ================================================
[2026-08-29 14:30:27,580.580 INFO    ] Launching Daemon at Sat Aug 29 14:30:27 IST 2026
[2026-08-29 14:30:27,591.591 INFO    ] ================================================
[2026-08-29 14:30:27,922.922 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:30:27
[2026-08-29 14:30:28,241.241 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:30:28,385.385 INFO    ] Initializing speech engine...
[2026-08-29 14:30:28,390.390 INFO    ] 2026-08-29 14:30:28
[2026-08-29 14:30:28,594.594 INFO    ] 2026-08-29 14:30:28
[2026-08-29 14:30:28,623.623 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:30:28,756.756 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:30:28,809.809 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:30:28,943.943 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:30:29,006.006 INFO    ] time= 29/08/2026 14:30:28
[2026-08-29 14:30:29,038.038 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:30:29,044.044 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:30:29,111.111 INFO    ] No existing commands found in stream
[2026-08-29 14:30:34,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:30:34,124.124 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-08-29 14:30:37,443.443 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:30:37,446.446 INFO    ] Checking for system updates...
[2026-08-29 14:30:37,483.483 INFO    ] 200
[2026-08-29 14:30:37,486.486 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:30:37,542.542 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:30:37,545.545 INFO    ] No update needed
[2026-08-29 14:30:37,548.548 INFO    ] Checking for camera pi updates...
[2026-08-29 14:30:37,584.584 INFO    ] 200
[2026-08-29 14:30:37,587.587 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:30:37,631.631 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:30:37,726.726 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:30:37,728.728 INFO    ] No camera update needed
[2026-08-29 14:30:37,731.731 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:30:37,733.733 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:30:37,739.739 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:30:37,746.746 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:30:39,789.789 INFO    ] ================================================
[2026-08-29 14:30:39,805.805 INFO    ] Launching Daemon at Sat Aug 29 14:30:39 IST 2026
[2026-08-29 14:30:39,815.815 INFO    ] ================================================
[2026-08-29 14:30:40,305.305 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:30:40
[2026-08-29 14:30:40,617.617 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:30:40,866.866 INFO    ] Initializing speech engine...
[2026-08-29 14:30:40,879.879 INFO    ] 2026-08-29 14:30:40
[2026-08-29 14:30:41,146.146 INFO    ] 2026-08-29 14:30:41
[2026-08-29 14:30:41,181.181 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:30:41,355.355 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:30:41,369.369 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:30:41,514.514 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:30:41,521.521 INFO    ] time= 29/08/2026 14:30:41
[2026-08-29 14:30:41,525.525 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:30:41,531.531 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:30:41,599.599 INFO    ] No existing commands found in stream
[2026-08-29 14:30:46,624.624 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:30:46,627.627 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-08-29 14:30:49,361.361 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:30:49,363.363 INFO    ] Checking for system updates...
[2026-08-29 14:30:49,385.385 INFO    ] 200
[2026-08-29 14:30:49,386.386 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:30:49,418.418 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:30:49,420.420 INFO    ] No update needed
[2026-08-29 14:30:49,421.421 INFO    ] Checking for camera pi updates...
[2026-08-29 14:30:49,440.440 INFO    ] 200
[2026-08-29 14:30:49,442.442 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:30:49,467.467 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:30:49,569.569 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:30:49,570.570 INFO    ] No camera update needed
[2026-08-29 14:30:49,571.571 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:30:49,573.573 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:30:49,576.576 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:30:49,578.578 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:30:51,617.617 INFO    ] ================================================
[2026-08-29 14:30:51,633.633 INFO    ] Launching Daemon at Sat Aug 29 14:30:51 IST 2026
[2026-08-29 14:30:51,644.644 INFO    ] ================================================
[2026-08-29 14:30:52,031.031 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:30:52
[2026-08-29 14:30:52,370.370 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:30:52,632.632 INFO    ] Initializing speech engine...
[2026-08-29 14:30:52,640.640 INFO    ] 2026-08-29 14:30:52
[2026-08-29 14:30:52,928.928 INFO    ] 2026-08-29 14:30:52
[2026-08-29 14:30:52,986.986 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:30:53,197.197 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:30:53,206.206 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:30:53,342.342 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:30:53,393.393 INFO    ] time= 29/08/2026 14:30:53
[2026-08-29 14:30:53,453.453 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:30:53,479.479 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:30:53,588.588 INFO    ] No existing commands found in stream
[2026-08-29 14:30:58,626.626 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:30:58,629.629 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-08-29 14:31:03,998.998 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:31:04,001.001 INFO    ] Checking for system updates...
[2026-08-29 14:31:04,040.040 INFO    ] 200
[2026-08-29 14:31:04,043.043 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:31:04,095.095 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:31:04,098.098 INFO    ] No update needed
[2026-08-29 14:31:04,100.100 INFO    ] Checking for camera pi updates...
[2026-08-29 14:31:04,134.134 INFO    ] 200
[2026-08-29 14:31:04,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:31:04,177.177 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:31:04,283.283 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:31:04,285.285 INFO    ] No camera update needed
[2026-08-29 14:31:04,287.287 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:31:04,290.290 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:31:04,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:31:04,300.300 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:31:06,340.340 INFO    ] ================================================
[2026-08-29 14:31:06,355.355 INFO    ] Launching Daemon at Sat Aug 29 14:31:06 IST 2026
[2026-08-29 14:31:06,366.366 INFO    ] ================================================
[2026-08-29 14:31:06,816.816 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:31:06
[2026-08-29 14:31:07,479.479 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:31:07,783.783 INFO    ] Initializing speech engine...
[2026-08-29 14:31:07,789.789 INFO    ] 2026-08-29 14:31:07
[2026-08-29 14:31:08,063.063 INFO    ] 2026-08-29 14:31:08
[2026-08-29 14:31:08,124.124 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:31:08,357.357 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:31:08,367.367 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:31:08,503.503 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:31:08,530.530 INFO    ] time= 29/08/2026 14:31:08
[2026-08-29 14:31:08,602.602 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:31:08,642.642 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:31:08,725.725 INFO    ] No existing commands found in stream
[2026-08-29 14:31:13,764.764 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:31:13,767.767 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 14:31:14,305.305 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:31:14,307.307 INFO    ] Checking for system updates...
[2026-08-29 14:31:14,328.328 INFO    ] 200
[2026-08-29 14:31:14,329.329 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:31:14,362.362 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:31:14,363.363 INFO    ] No update needed
[2026-08-29 14:31:14,364.364 INFO    ] Checking for camera pi updates...
[2026-08-29 14:31:14,384.384 INFO    ] 200
[2026-08-29 14:31:14,385.385 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:31:14,414.414 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:31:14,519.519 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:31:14,521.521 INFO    ] No camera update needed
[2026-08-29 14:31:14,524.524 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:31:14,526.526 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:31:14,531.531 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:31:14,536.536 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:31:16,577.577 INFO    ] ================================================
[2026-08-29 14:31:16,592.592 INFO    ] Launching Daemon at Sat Aug 29 14:31:16 IST 2026
[2026-08-29 14:31:16,603.603 INFO    ] ================================================
[2026-08-29 14:31:17,203.203 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:31:17
[2026-08-29 14:31:17,681.681 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:31:17,815.815 INFO    ] Initializing speech engine...
[2026-08-29 14:31:17,828.828 INFO    ] 2026-08-29 14:31:17
[2026-08-29 14:31:18,043.043 INFO    ] 2026-08-29 14:31:18
[2026-08-29 14:31:18,117.117 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:31:18,276.276 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:31:18,284.284 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:31:18,417.417 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:31:18,439.439 INFO    ] time= 29/08/2026 14:31:18
[2026-08-29 14:31:18,508.508 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:31:18,552.552 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:31:18,605.605 INFO    ] No existing commands found in stream
[2026-08-29 14:31:23,617.617 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:31:23,620.620 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-08-29 14:31:25,883.883 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:31:25,885.885 INFO    ] Checking for system updates...
[2026-08-29 14:31:25,906.906 INFO    ] 200
[2026-08-29 14:31:25,908.908 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:31:25,940.940 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:31:25,941.941 INFO    ] No update needed
[2026-08-29 14:31:25,943.943 INFO    ] Checking for camera pi updates...
[2026-08-29 14:31:25,962.962 INFO    ] 200
[2026-08-29 14:31:25,963.963 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:31:25,986.986 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:31:26,139.139 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:31:26,141.141 INFO    ] No camera update needed
[2026-08-29 14:31:26,142.142 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:31:26,143.143 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:31:26,146.146 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:31:26,149.149 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:31:28,189.189 INFO    ] ================================================
[2026-08-29 14:31:28,204.204 INFO    ] Launching Daemon at Sat Aug 29 14:31:28 IST 2026
[2026-08-29 14:31:28,215.215 INFO    ] ================================================
[2026-08-29 14:31:28,588.588 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:31:28
[2026-08-29 14:31:28,931.931 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:31:29,084.084 INFO    ] Initializing speech engine...
[2026-08-29 14:31:29,091.091 INFO    ] 2026-08-29 14:31:29
[2026-08-29 14:31:29,298.298 INFO    ] 2026-08-29 14:31:29
[2026-08-29 14:31:29,327.327 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:31:29,462.462 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:31:29,517.517 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:31:29,694.694 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:31:29,752.752 INFO    ] time= 29/08/2026 14:31:29
[2026-08-29 14:31:29,818.818 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:31:29,856.856 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:31:29,954.954 INFO    ] No existing commands found in stream
[2026-08-29 14:31:34,985.985 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:31:34,989.989 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-08-29 14:31:35,960.960 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:31:35,962.962 INFO    ] Checking for system updates...
[2026-08-29 14:31:35,983.983 INFO    ] 200
[2026-08-29 14:31:35,985.985 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:31:36,029.029 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:31:36,032.032 INFO    ] No update needed
[2026-08-29 14:31:36,035.035 INFO    ] Checking for camera pi updates...
[2026-08-29 14:31:36,070.070 INFO    ] 200
[2026-08-29 14:31:36,073.073 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:31:36,115.115 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:31:36,234.234 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:31:36,237.237 INFO    ] No camera update needed
[2026-08-29 14:31:36,240.240 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:31:36,243.243 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:31:36,249.249 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:31:36,255.255 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:31:38,297.297 INFO    ] ================================================
[2026-08-29 14:31:38,313.313 INFO    ] Launching Daemon at Sat Aug 29 14:31:38 IST 2026
[2026-08-29 14:31:38,324.324 INFO    ] ================================================
[2026-08-29 14:31:38,997.997 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:31:38
[2026-08-29 14:31:39,406.406 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:31:39,562.562 INFO    ] Initializing speech engine...
[2026-08-29 14:31:39,567.567 INFO    ] 2026-08-29 14:31:39
[2026-08-29 14:31:39,780.780 INFO    ] 2026-08-29 14:31:39
[2026-08-29 14:31:39,809.809 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:31:39,940.940 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:31:39,959.959 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:31:40,127.127 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:31:40,165.165 INFO    ] time= 29/08/2026 14:31:40
[2026-08-29 14:31:40,213.213 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:31:40,235.235 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:31:40,309.309 INFO    ] No existing commands found in stream
[2026-08-29 14:31:45,323.323 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:31:45,327.327 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 14:31:47,729.729 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:31:47,731.731 INFO    ] Checking for system updates...
[2026-08-29 14:31:47,753.753 INFO    ] 200
[2026-08-29 14:31:47,754.754 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:31:47,784.784 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:31:47,786.786 INFO    ] No update needed
[2026-08-29 14:31:47,787.787 INFO    ] Checking for camera pi updates...
[2026-08-29 14:31:47,808.808 INFO    ] 200
[2026-08-29 14:31:47,809.809 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:31:47,832.832 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:31:47,922.922 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:31:47,924.924 INFO    ] No camera update needed
[2026-08-29 14:31:47,925.925 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:31:47,926.926 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:31:47,929.929 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:31:47,932.932 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:31:49,971.971 INFO    ] ================================================
[2026-08-29 14:31:49,986.986 INFO    ] Launching Daemon at Sat Aug 29 14:31:49 IST 2026
[2026-08-29 14:31:50,997.997 INFO    ] ================================================
[2026-08-29 14:31:50,594.594 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:31:50
[2026-08-29 14:31:51,214.214 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:31:51,463.463 INFO    ] Initializing speech engine...
[2026-08-29 14:31:51,477.477 INFO    ] 2026-08-29 14:31:51
[2026-08-29 14:31:51,742.742 INFO    ] 2026-08-29 14:31:51
[2026-08-29 14:31:51,777.777 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:31:51,960.960 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:31:51,973.973 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:31:52,086.086 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:31:52,105.105 INFO    ] time= 29/08/2026 14:31:52
[2026-08-29 14:31:52,125.125 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:31:52,133.133 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:31:52,201.201 INFO    ] No existing commands found in stream
[2026-08-29 14:31:57,214.214 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:31:57,217.217 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-08-29 14:31:59,230.230 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:31:59,232.232 INFO    ] Checking for system updates...
[2026-08-29 14:31:59,252.252 INFO    ] 200
[2026-08-29 14:31:59,254.254 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:31:59,286.286 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:31:59,288.288 INFO    ] No update needed
[2026-08-29 14:31:59,289.289 INFO    ] Checking for camera pi updates...
[2026-08-29 14:31:59,309.309 INFO    ] 200
[2026-08-29 14:31:59,310.310 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:31:59,333.333 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:31:59,378.378 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:31:59,380.380 INFO    ] No camera update needed
[2026-08-29 14:31:59,381.381 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:31:59,382.382 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:31:59,385.385 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:31:59,387.387 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:32:01,427.427 INFO    ] ================================================
[2026-08-29 14:32:01,443.443 INFO    ] Launching Daemon at Sat Aug 29 14:32:01 IST 2026
[2026-08-29 14:32:01,454.454 INFO    ] ================================================
[2026-08-29 14:32:02,018.018 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:32:02
[2026-08-29 14:32:02,717.717 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:32:03,116.116 INFO    ] Initializing speech engine...
[2026-08-29 14:32:03,134.134 INFO    ] 2026-08-29 14:32:03
[2026-08-29 14:32:03,425.425 INFO    ] 2026-08-29 14:32:03
[2026-08-29 14:32:03,484.484 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:32:03,709.709 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:32:03,719.719 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:32:03,850.850 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:32:03,867.867 INFO    ] time= 29/08/2026 14:32:03
[2026-08-29 14:32:03,927.927 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:32:03,985.985 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:32:04,042.042 INFO    ] No existing commands found in stream
[2026-08-29 14:32:09,054.054 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:32:09,057.057 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-08-29 14:32:09,817.817 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:32:09,819.819 INFO    ] Checking for system updates...
[2026-08-29 14:32:09,840.840 INFO    ] 200
[2026-08-29 14:32:09,841.841 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:32:09,872.872 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:32:09,874.874 INFO    ] No update needed
[2026-08-29 14:32:09,875.875 INFO    ] Checking for camera pi updates...
[2026-08-29 14:32:09,896.896 INFO    ] 200
[2026-08-29 14:32:09,898.898 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:32:09,921.921 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:32:09,995.995 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:32:09,997.997 INFO    ] No camera update needed
[2026-08-29 14:32:09,998.998 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:32:09,999.999 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:32:10,002.002 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:32:10,005.005 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:32:12,044.044 INFO    ] ================================================
[2026-08-29 14:32:12,059.059 INFO    ] Launching Daemon at Sat Aug 29 14:32:12 IST 2026
[2026-08-29 14:32:12,070.070 INFO    ] ================================================
[2026-08-29 14:32:12,436.436 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:32:12
[2026-08-29 14:32:12,749.749 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:32:12,891.891 INFO    ] Initializing speech engine...
[2026-08-29 14:32:12,896.896 INFO    ] 2026-08-29 14:32:12
[2026-08-29 14:32:13,100.100 INFO    ] 2026-08-29 14:32:13
[2026-08-29 14:32:13,128.128 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:32:13,250.250 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:32:13,288.288 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:32:13,468.468 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:32:13,494.494 INFO    ] time= 29/08/2026 14:32:13
[2026-08-29 14:32:13,544.544 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:32:13,605.605 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:32:13,669.669 INFO    ] No existing commands found in stream
[2026-08-29 14:32:18,684.684 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:32:18,687.687 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-08-29 14:32:21,126.126 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:32:21,128.128 INFO    ] Checking for system updates...
[2026-08-29 14:32:21,149.149 INFO    ] 200
[2026-08-29 14:32:21,150.150 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:32:21,182.182 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:32:21,183.183 INFO    ] No update needed
[2026-08-29 14:32:21,184.184 INFO    ] Checking for camera pi updates...
[2026-08-29 14:32:21,203.203 INFO    ] 200
[2026-08-29 14:32:21,205.205 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:32:21,229.229 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:32:21,314.314 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:32:21,316.316 INFO    ] No camera update needed
[2026-08-29 14:32:21,317.317 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:32:21,318.318 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:32:21,321.321 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:32:21,324.324 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:32:23,363.363 INFO    ] ================================================
[2026-08-29 14:32:23,378.378 INFO    ] Launching Daemon at Sat Aug 29 14:32:23 IST 2026
[2026-08-29 14:32:23,389.389 INFO    ] ================================================
[2026-08-29 14:32:24,006.006 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:32:24
[2026-08-29 14:32:24,591.591 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:32:24,838.838 INFO    ] Initializing speech engine...
[2026-08-29 14:32:24,844.844 INFO    ] 2026-08-29 14:32:24
[2026-08-29 14:32:25,043.043 INFO    ] 2026-08-29 14:32:25
[2026-08-29 14:32:25,073.073 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:32:25,194.194 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:32:25,231.231 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:32:25,418.418 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:32:25,456.456 INFO    ] time= 29/08/2026 14:32:25
[2026-08-29 14:32:25,505.505 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:32:25,554.554 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:32:25,653.653 INFO    ] No existing commands found in stream
[2026-08-29 14:32:30,673.673 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:32:30,676.676 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-08-29 14:32:35,135.135 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:32:35,137.137 INFO    ] Checking for system updates...
[2026-08-29 14:32:35,158.158 INFO    ] 200
[2026-08-29 14:32:35,159.159 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:32:35,190.190 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:32:35,192.192 INFO    ] No update needed
[2026-08-29 14:32:35,193.193 INFO    ] Checking for camera pi updates...
[2026-08-29 14:32:35,212.212 INFO    ] 200
[2026-08-29 14:32:35,214.214 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:32:35,237.237 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:32:35,331.331 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:32:35,332.332 INFO    ] No camera update needed
[2026-08-29 14:32:35,334.334 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:32:35,335.335 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:32:35,338.338 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:32:35,340.340 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:32:37,378.378 INFO    ] ================================================
[2026-08-29 14:32:37,393.393 INFO    ] Launching Daemon at Sat Aug 29 14:32:37 IST 2026
[2026-08-29 14:32:37,403.403 INFO    ] ================================================
[2026-08-29 14:32:37,840.840 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:32:37
[2026-08-29 14:32:38,438.438 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:32:38,716.716 INFO    ] Initializing speech engine...
[2026-08-29 14:32:38,722.722 INFO    ] 2026-08-29 14:32:38
[2026-08-29 14:32:38,971.971 INFO    ] 2026-08-29 14:32:38
[2026-08-29 14:32:39,008.008 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:32:39,187.187 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:32:39,206.206 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:32:39,333.333 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:32:39,341.341 INFO    ] time= 29/08/2026 14:32:39
[2026-08-29 14:32:39,347.347 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:32:39,364.364 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:32:39,503.503 INFO    ] No existing commands found in stream
[2026-08-29 14:32:44,534.534 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:32:44,536.536 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 14:32:46,011.011 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:32:46,013.013 INFO    ] Checking for system updates...
[2026-08-29 14:32:46,038.038 INFO    ] 200
[2026-08-29 14:32:46,039.039 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:32:46,078.078 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:32:46,079.079 INFO    ] No update needed
[2026-08-29 14:32:46,081.081 INFO    ] Checking for camera pi updates...
[2026-08-29 14:32:46,101.101 INFO    ] 200
[2026-08-29 14:32:46,104.104 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:32:46,144.144 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:32:46,226.226 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:32:46,228.228 INFO    ] No camera update needed
[2026-08-29 14:32:46,230.230 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:32:46,233.233 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:32:46,238.238 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:32:46,243.243 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:32:48,282.282 INFO    ] ================================================
[2026-08-29 14:32:48,297.297 INFO    ] Launching Daemon at Sat Aug 29 14:32:48 IST 2026
[2026-08-29 14:32:48,308.308 INFO    ] ================================================
[2026-08-29 14:32:48,880.880 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:32:48
[2026-08-29 14:32:49,354.354 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:32:49,485.485 INFO    ] Initializing speech engine...
[2026-08-29 14:32:49,492.492 INFO    ] 2026-08-29 14:32:49
[2026-08-29 14:32:49,697.697 INFO    ] 2026-08-29 14:32:49
[2026-08-29 14:32:49,776.776 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:32:49,922.922 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:32:49,931.931 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:32:50,063.063 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:32:50,084.084 INFO    ] time= 29/08/2026 14:32:50
[2026-08-29 14:32:50,143.143 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:32:50,195.195 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:32:50,249.249 INFO    ] No existing commands found in stream
[2026-08-29 14:32:55,261.261 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:32:55,264.264 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 14:32:57,169.169 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:32:57,171.171 INFO    ] Checking for system updates...
[2026-08-29 14:32:57,192.192 INFO    ] 200
[2026-08-29 14:32:57,193.193 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:32:57,225.225 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:32:57,226.226 INFO    ] No update needed
[2026-08-29 14:32:57,227.227 INFO    ] Checking for camera pi updates...
[2026-08-29 14:32:57,247.247 INFO    ] 200
[2026-08-29 14:32:57,249.249 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:32:57,271.271 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:32:57,346.346 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:32:57,347.347 INFO    ] No camera update needed
[2026-08-29 14:32:57,348.348 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:32:57,349.349 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:32:57,353.353 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:32:57,355.355 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:32:59,394.394 INFO    ] ================================================
[2026-08-29 14:32:59,409.409 INFO    ] Launching Daemon at Sat Aug 29 14:32:59 IST 2026
[2026-08-29 14:32:59,420.420 INFO    ] ================================================
[2026-08-29 14:32:59,771.771 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:32:59
[2026-08-29 14:33:00,081.081 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:33:00,223.223 INFO    ] Initializing speech engine...
[2026-08-29 14:33:00,227.227 INFO    ] 2026-08-29 14:33:00
[2026-08-29 14:33:00,430.430 INFO    ] 2026-08-29 14:33:00
[2026-08-29 14:33:00,457.457 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:33:00,628.628 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:33:00,650.650 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:33:00,783.783 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:33:00,810.810 INFO    ] time= 29/08/2026 14:33:00
[2026-08-29 14:33:00,817.817 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:33:00,826.826 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:33:00,921.921 INFO    ] No existing commands found in stream
[2026-08-29 14:33:05,937.937 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:33:05,940.940 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-08-29 14:33:06,852.852 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:33:06,854.854 INFO    ] Checking for system updates...
[2026-08-29 14:33:06,875.875 INFO    ] 200
[2026-08-29 14:33:06,876.876 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:33:06,906.906 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:33:06,907.907 INFO    ] No update needed
[2026-08-29 14:33:06,908.908 INFO    ] Checking for camera pi updates...
[2026-08-29 14:33:06,927.927 INFO    ] 200
[2026-08-29 14:33:06,928.928 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:33:06,952.952 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:33:07,067.067 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:33:07,068.068 INFO    ] No camera update needed
[2026-08-29 14:33:07,069.069 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:33:07,070.070 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:33:07,073.073 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:33:07,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:33:09,115.115 INFO    ] ================================================
[2026-08-29 14:33:09,130.130 INFO    ] Launching Daemon at Sat Aug 29 14:33:09 IST 2026
[2026-08-29 14:33:09,140.140 INFO    ] ================================================
[2026-08-29 14:33:09,694.694 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:33:09
[2026-08-29 14:33:10,319.319 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:33:10,591.591 INFO    ] Initializing speech engine...
[2026-08-29 14:33:10,599.599 INFO    ] 2026-08-29 14:33:10
[2026-08-29 14:33:10,843.843 INFO    ] 2026-08-29 14:33:10
[2026-08-29 14:33:10,878.878 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:33:11,050.050 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:33:11,062.062 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:33:11,199.199 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:33:11,212.212 INFO    ] time= 29/08/2026 14:33:11
[2026-08-29 14:33:11,217.217 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:33:11,223.223 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:33:11,289.289 INFO    ] No existing commands found in stream
[2026-08-29 14:33:16,319.319 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:33:16,322.322 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-08-29 14:33:18,963.963 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:33:18,965.965 INFO    ] Checking for system updates...
[2026-08-29 14:33:18,985.985 INFO    ] 200
[2026-08-29 14:33:18,986.986 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:33:19,016.016 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:33:19,017.017 INFO    ] No update needed
[2026-08-29 14:33:19,018.018 INFO    ] Checking for camera pi updates...
[2026-08-29 14:33:19,037.037 INFO    ] 200
[2026-08-29 14:33:19,038.038 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:33:19,061.061 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:33:19,141.141 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:33:19,144.144 INFO    ] No camera update needed
[2026-08-29 14:33:19,146.146 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:33:19,148.148 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:33:19,154.154 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:33:19,159.159 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:33:21,201.201 INFO    ] ================================================
[2026-08-29 14:33:21,224.224 INFO    ] Launching Daemon at Sat Aug 29 14:33:21 IST 2026
[2026-08-29 14:33:21,236.236 INFO    ] ================================================
[2026-08-29 14:33:21,820.820 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:33:21
[2026-08-29 14:33:22,325.325 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:33:22,469.469 INFO    ] Initializing speech engine...
[2026-08-29 14:33:22,475.475 INFO    ] 2026-08-29 14:33:22
[2026-08-29 14:33:22,677.677 INFO    ] 2026-08-29 14:33:22
[2026-08-29 14:33:22,707.707 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:33:22,828.828 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:33:22,890.890 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:33:23,021.021 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:33:23,077.077 INFO    ] time= 29/08/2026 14:33:23
[2026-08-29 14:33:23,116.116 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:33:23,121.121 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:33:23,192.192 INFO    ] No existing commands found in stream
[2026-08-29 14:33:28,201.201 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:33:28,204.204 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-08-29 14:33:31,080.080 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:33:31,082.082 INFO    ] Checking for system updates...
[2026-08-29 14:33:31,104.104 INFO    ] 200
[2026-08-29 14:33:31,105.105 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:33:31,137.137 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:33:31,138.138 INFO    ] No update needed
[2026-08-29 14:33:31,139.139 INFO    ] Checking for camera pi updates...
[2026-08-29 14:33:31,158.158 INFO    ] 200
[2026-08-29 14:33:31,160.160 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:33:31,183.183 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:33:31,270.270 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:33:31,271.271 INFO    ] No camera update needed
[2026-08-29 14:33:31,273.273 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:33:31,274.274 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:33:31,277.277 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:33:31,280.280 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:33:33,312.312 INFO    ] ================================================
[2026-08-29 14:33:33,328.328 INFO    ] Launching Daemon at Sat Aug 29 14:33:33 IST 2026
[2026-08-29 14:33:33,339.339 INFO    ] ================================================
[2026-08-29 14:33:33,921.921 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:33:33
[2026-08-29 14:33:34,522.522 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:33:34,814.814 INFO    ] Initializing speech engine...
[2026-08-29 14:33:34,822.822 INFO    ] 2026-08-29 14:33:34
[2026-08-29 14:33:35,104.104 INFO    ] 2026-08-29 14:33:35
[2026-08-29 14:33:35,148.148 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:33:35,367.367 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:33:35,377.377 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:33:35,532.532 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:33:35,536.536 INFO    ] time= 29/08/2026 14:33:35
[2026-08-29 14:33:35,545.545 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:33:35,561.561 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:33:35,650.650 INFO    ] No existing commands found in stream
[2026-08-29 14:33:40,676.676 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:33:40,679.679 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-08-29 14:33:41,704.704 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:33:41,705.705 INFO    ] Checking for system updates...
[2026-08-29 14:33:41,726.726 INFO    ] 200
[2026-08-29 14:33:41,727.727 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:33:41,759.759 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:33:41,760.760 INFO    ] No update needed
[2026-08-29 14:33:41,762.762 INFO    ] Checking for camera pi updates...
[2026-08-29 14:33:41,782.782 INFO    ] 200
[2026-08-29 14:33:41,783.783 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:33:41,806.806 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:33:41,985.985 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:33:41,987.987 INFO    ] No camera update needed
[2026-08-29 14:33:41,990.990 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:33:41,993.993 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:33:41,998.998 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:33:42,004.004 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:33:44,044.044 INFO    ] ================================================
[2026-08-29 14:33:44,060.060 INFO    ] Launching Daemon at Sat Aug 29 14:33:44 IST 2026
[2026-08-29 14:33:44,071.071 INFO    ] ================================================
[2026-08-29 14:33:44,702.702 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:33:44
[2026-08-29 14:33:45,237.237 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:33:45,388.388 INFO    ] Initializing speech engine...
[2026-08-29 14:33:45,392.392 INFO    ] 2026-08-29 14:33:45
[2026-08-29 14:33:45,597.597 INFO    ] 2026-08-29 14:33:45
[2026-08-29 14:33:45,625.625 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:33:45,747.747 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:33:45,810.810 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:33:45,955.955 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:33:46,017.017 INFO    ] time= 29/08/2026 14:33:45
[2026-08-29 14:33:46,041.041 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:33:46,048.048 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:33:46,113.113 INFO    ] No existing commands found in stream
[2026-08-29 14:33:51,124.124 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:33:51,127.127 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-08-29 14:33:54,269.269 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:33:54,270.270 INFO    ] Checking for system updates...
[2026-08-29 14:33:54,291.291 INFO    ] 200
[2026-08-29 14:33:54,293.293 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:33:54,322.322 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:33:54,324.324 INFO    ] No update needed
[2026-08-29 14:33:54,325.325 INFO    ] Checking for camera pi updates...
[2026-08-29 14:33:54,345.345 INFO    ] 200
[2026-08-29 14:33:54,346.346 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:33:54,369.369 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:33:54,465.465 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:33:54,466.466 INFO    ] No camera update needed
[2026-08-29 14:33:54,467.467 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:33:54,469.469 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:33:54,472.472 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:33:54,474.474 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:33:56,513.513 INFO    ] ================================================
[2026-08-29 14:33:56,529.529 INFO    ] Launching Daemon at Sat Aug 29 14:33:56 IST 2026
[2026-08-29 14:33:56,540.540 INFO    ] ================================================
[2026-08-29 14:33:57,017.017 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:33:57
[2026-08-29 14:33:57,602.602 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:33:57,877.877 INFO    ] Initializing speech engine...
[2026-08-29 14:33:57,884.884 INFO    ] 2026-08-29 14:33:57
[2026-08-29 14:33:58,144.144 INFO    ] 2026-08-29 14:33:58
[2026-08-29 14:33:58,197.197 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:33:58,346.346 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:33:58,358.358 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:33:58,487.487 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:33:58,510.510 INFO    ] time= 29/08/2026 14:33:58
[2026-08-29 14:33:58,515.515 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:33:58,521.521 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:33:58,590.590 INFO    ] No existing commands found in stream
[2026-08-29 14:34:03,625.625 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:34:03,628.628 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-08-29 14:34:05,065.065 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:34:05,068.068 INFO    ] Checking for system updates...
[2026-08-29 14:34:05,107.107 INFO    ] 200
[2026-08-29 14:34:05,109.109 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:34:05,162.162 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:34:05,164.164 INFO    ] No update needed
[2026-08-29 14:34:05,167.167 INFO    ] Checking for camera pi updates...
[2026-08-29 14:34:05,200.200 INFO    ] 200
[2026-08-29 14:34:05,203.203 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:34:05,243.243 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:34:05,342.342 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:34:05,344.344 INFO    ] No camera update needed
[2026-08-29 14:34:05,347.347 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:34:05,349.349 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:34:05,354.354 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:34:05,359.359 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:34:07,400.400 INFO    ] ================================================
[2026-08-29 14:34:07,416.416 INFO    ] Launching Daemon at Sat Aug 29 14:34:07 IST 2026
[2026-08-29 14:34:07,427.427 INFO    ] ================================================
[2026-08-29 14:34:07,996.996 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:34:07
[2026-08-29 14:34:08,360.360 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:34:08,503.503 INFO    ] Initializing speech engine...
[2026-08-29 14:34:08,507.507 INFO    ] 2026-08-29 14:34:08
[2026-08-29 14:34:08,714.714 INFO    ] 2026-08-29 14:34:08
[2026-08-29 14:34:08,743.743 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:34:08,913.913 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:34:08,919.919 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:34:09,053.053 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:34:09,069.069 INFO    ] time= 29/08/2026 14:34:09
[2026-08-29 14:34:09,078.078 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:34:09,105.105 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:34:09,202.202 INFO    ] No existing commands found in stream
[2026-08-29 14:34:14,224.224 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:34:14,227.227 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-08-29 14:34:16,989.989 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:34:16,991.991 INFO    ] Checking for system updates...
[2026-08-29 14:34:17,011.011 INFO    ] 200
[2026-08-29 14:34:17,012.012 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:34:17,042.042 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:34:17,044.044 INFO    ] No update needed
[2026-08-29 14:34:17,045.045 INFO    ] Checking for camera pi updates...
[2026-08-29 14:34:17,064.064 INFO    ] 200
[2026-08-29 14:34:17,066.066 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:34:17,095.095 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:34:17,200.200 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:34:17,202.202 INFO    ] No camera update needed
[2026-08-29 14:34:17,204.204 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:34:17,207.207 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:34:17,212.212 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:34:17,217.217 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:34:19,258.258 INFO    ] ================================================
[2026-08-29 14:34:19,274.274 INFO    ] Launching Daemon at Sat Aug 29 14:34:19 IST 2026
[2026-08-29 14:34:19,285.285 INFO    ] ================================================
[2026-08-29 14:34:19,870.870 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:34:19
[2026-08-29 14:34:20,351.351 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:34:20,574.574 INFO    ] Initializing speech engine...
[2026-08-29 14:34:20,581.581 INFO    ] 2026-08-29 14:34:20
[2026-08-29 14:34:20,843.843 INFO    ] 2026-08-29 14:34:20
[2026-08-29 14:34:20,874.874 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:34:21,038.038 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:34:21,050.050 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:34:21,191.191 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:34:21,200.200 INFO    ] time= 29/08/2026 14:34:21
[2026-08-29 14:34:21,206.206 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:34:21,263.263 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:34:21,364.364 INFO    ] No existing commands found in stream
[2026-08-29 14:34:26,389.389 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:34:26,392.392 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-08-29 14:34:29,777.777 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:34:29,779.779 INFO    ] Checking for system updates...
[2026-08-29 14:34:29,799.799 INFO    ] 200
[2026-08-29 14:34:29,800.800 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:34:29,830.830 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:34:29,832.832 INFO    ] No update needed
[2026-08-29 14:34:29,833.833 INFO    ] Checking for camera pi updates...
[2026-08-29 14:34:29,854.854 INFO    ] 200
[2026-08-29 14:34:29,855.855 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:34:29,878.878 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:34:29,960.960 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:34:29,963.963 INFO    ] No camera update needed
[2026-08-29 14:34:29,966.966 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:34:29,968.968 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:34:29,973.973 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:34:29,978.978 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:34:32,020.020 INFO    ] ================================================
[2026-08-29 14:34:32,038.038 INFO    ] Launching Daemon at Sat Aug 29 14:34:32 IST 2026
[2026-08-29 14:34:32,050.050 INFO    ] ================================================
[2026-08-29 14:34:32,660.660 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:34:32
[2026-08-29 14:34:33,156.156 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:34:33,368.368 INFO    ] Initializing speech engine...
[2026-08-29 14:34:33,373.373 INFO    ] 2026-08-29 14:34:33
[2026-08-29 14:34:33,632.632 INFO    ] 2026-08-29 14:34:33
[2026-08-29 14:34:33,661.661 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:34:33,825.825 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:34:33,838.838 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:34:33,978.978 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:34:33,987.987 INFO    ] time= 29/08/2026 14:34:33
[2026-08-29 14:34:33,994.994 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:34:34,046.046 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:34:34,157.157 INFO    ] No existing commands found in stream
[2026-08-29 14:34:39,187.187 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:34:39,190.190 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-08-29 14:34:41,737.737 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:34:41,739.739 INFO    ] Checking for system updates...
[2026-08-29 14:34:41,760.760 INFO    ] 200
[2026-08-29 14:34:41,762.762 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:34:41,794.794 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:34:41,796.796 INFO    ] No update needed
[2026-08-29 14:34:41,797.797 INFO    ] Checking for camera pi updates...
[2026-08-29 14:34:41,816.816 INFO    ] 200
[2026-08-29 14:34:41,817.817 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:34:41,840.840 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:34:41,916.916 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:34:41,917.917 INFO    ] No camera update needed
[2026-08-29 14:34:41,919.919 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:34:41,920.920 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:34:41,923.923 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:34:41,925.925 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:34:43,965.965 INFO    ] ================================================
[2026-08-29 14:34:43,981.981 INFO    ] Launching Daemon at Sat Aug 29 14:34:43 IST 2026
[2026-08-29 14:34:43,993.993 INFO    ] ================================================
[2026-08-29 14:34:44,349.349 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:34:44
[2026-08-29 14:34:44,661.661 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:34:44,878.878 INFO    ] Initializing speech engine...
[2026-08-29 14:34:44,887.887 INFO    ] 2026-08-29 14:34:44
[2026-08-29 14:34:45,148.148 INFO    ] 2026-08-29 14:34:45
[2026-08-29 14:34:45,202.202 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:34:45,425.425 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:34:45,434.434 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:34:45,567.567 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:34:45,589.589 INFO    ] time= 29/08/2026 14:34:45
[2026-08-29 14:34:45,654.654 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:34:45,702.702 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:34:45,820.820 INFO    ] No existing commands found in stream
[2026-08-29 14:34:50,847.847 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:34:50,850.850 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-08-29 14:34:51,826.826 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:34:51,828.828 INFO    ] Checking for system updates...
[2026-08-29 14:34:51,867.867 INFO    ] 200
[2026-08-29 14:34:51,870.870 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:34:51,923.923 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:34:51,925.925 INFO    ] No update needed
[2026-08-29 14:34:51,927.927 INFO    ] Checking for camera pi updates...
[2026-08-29 14:34:51,961.961 INFO    ] 200
[2026-08-29 14:34:51,964.964 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:34:52,008.008 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:34:52,121.121 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:34:52,123.123 INFO    ] No camera update needed
[2026-08-29 14:34:52,126.126 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:34:52,128.128 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:34:52,133.133 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:34:52,138.138 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:34:54,182.182 INFO    ] ================================================
[2026-08-29 14:34:54,198.198 INFO    ] Launching Daemon at Sat Aug 29 14:34:54 IST 2026
[2026-08-29 14:34:54,209.209 INFO    ] ================================================
[2026-08-29 14:34:54,671.671 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:34:54
[2026-08-29 14:34:55,349.349 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:34:55,649.649 INFO    ] Initializing speech engine...
[2026-08-29 14:34:55,654.654 INFO    ] 2026-08-29 14:34:55
[2026-08-29 14:34:55,914.914 INFO    ] 2026-08-29 14:34:55
[2026-08-29 14:34:55,970.970 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:34:56,190.190 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:34:56,199.199 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:34:56,331.331 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:34:56,353.353 INFO    ] time= 29/08/2026 14:34:56
[2026-08-29 14:34:56,413.413 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:34:56,464.464 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:34:56,534.534 INFO    ] No existing commands found in stream
[2026-08-29 14:35:01,572.572 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:35:01,576.576 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-08-29 14:35:05,865.865 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:35:05,867.867 INFO    ] Checking for system updates...
[2026-08-29 14:35:05,887.887 INFO    ] 200
[2026-08-29 14:35:05,888.888 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:35:05,921.921 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:35:05,922.922 INFO    ] No update needed
[2026-08-29 14:35:05,924.924 INFO    ] Checking for camera pi updates...
[2026-08-29 14:35:05,944.944 INFO    ] 200
[2026-08-29 14:35:05,945.945 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:35:05,968.968 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:35:06,065.065 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:35:06,067.067 INFO    ] No camera update needed
[2026-08-29 14:35:06,069.069 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:35:06,072.072 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:35:06,077.077 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:35:06,082.082 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:35:08,123.123 INFO    ] ================================================
[2026-08-29 14:35:08,139.139 INFO    ] Launching Daemon at Sat Aug 29 14:35:08 IST 2026
[2026-08-29 14:35:08,151.151 INFO    ] ================================================
[2026-08-29 14:35:08,732.732 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:35:08
[2026-08-29 14:35:09,244.244 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:35:09,383.383 INFO    ] Initializing speech engine...
[2026-08-29 14:35:09,393.393 INFO    ] 2026-08-29 14:35:09
[2026-08-29 14:35:09,598.598 INFO    ] 2026-08-29 14:35:09
[2026-08-29 14:35:09,626.626 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:35:09,774.774 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:35:09,781.781 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:35:09,942.942 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:35:09,980.980 INFO    ] time= 29/08/2026 14:35:09
[2026-08-29 14:35:09,987.987 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:35:10,006.006 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:35:10,121.121 INFO    ] No existing commands found in stream
[2026-08-29 14:35:15,146.146 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:35:15,149.149 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-08-29 14:35:16,852.852 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:35:16,855.855 INFO    ] Checking for system updates...
[2026-08-29 14:35:16,894.894 INFO    ] 200
[2026-08-29 14:35:16,897.897 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:35:16,949.949 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:35:16,951.951 INFO    ] No update needed
[2026-08-29 14:35:16,954.954 INFO    ] Checking for camera pi updates...
[2026-08-29 14:35:16,987.987 INFO    ] 200
[2026-08-29 14:35:16,990.990 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:35:17,034.034 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:35:17,120.120 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:35:17,123.123 INFO    ] No camera update needed
[2026-08-29 14:35:17,125.125 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:35:17,127.127 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:35:17,133.133 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:35:17,138.138 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:35:19,180.180 INFO    ] ================================================
[2026-08-29 14:35:19,196.196 INFO    ] Launching Daemon at Sat Aug 29 14:35:19 IST 2026
[2026-08-29 14:35:19,207.207 INFO    ] ================================================
[2026-08-29 14:35:19,773.773 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:35:19
[2026-08-29 14:35:20,112.112 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:35:20,243.243 INFO    ] Initializing speech engine...
[2026-08-29 14:35:20,247.247 INFO    ] 2026-08-29 14:35:20
[2026-08-29 14:35:20,488.488 INFO    ] 2026-08-29 14:35:20
[2026-08-29 14:35:20,543.543 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:35:20,708.708 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:35:20,716.716 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:35:20,891.891 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:35:20,919.919 INFO    ] time= 29/08/2026 14:35:20
[2026-08-29 14:35:20,925.925 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:35:20,946.946 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:35:21,047.047 INFO    ] No existing commands found in stream
[2026-08-29 14:35:26,072.072 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:35:26,075.075 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-08-29 14:35:29,901.901 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:35:29,902.902 INFO    ] Checking for system updates...
[2026-08-29 14:35:29,924.924 INFO    ] 200
[2026-08-29 14:35:29,925.925 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:35:29,956.956 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:35:29,958.958 INFO    ] No update needed
[2026-08-29 14:35:29,959.959 INFO    ] Checking for camera pi updates...
[2026-08-29 14:35:29,978.978 INFO    ] 200
[2026-08-29 14:35:29,979.979 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:35:30,004.004 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:35:30,081.081 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:35:30,082.082 INFO    ] No camera update needed
[2026-08-29 14:35:30,084.084 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:35:30,085.085 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:35:30,088.088 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:35:30,090.090 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:35:32,132.132 INFO    ] ================================================
[2026-08-29 14:35:32,150.150 INFO    ] Launching Daemon at Sat Aug 29 14:35:32 IST 2026
[2026-08-29 14:35:32,162.162 INFO    ] ================================================
[2026-08-29 14:35:32,805.805 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:35:32
[2026-08-29 14:35:33,467.467 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:35:33,769.769 INFO    ] Initializing speech engine...
[2026-08-29 14:35:33,775.775 INFO    ] 2026-08-29 14:35:33
[2026-08-29 14:35:34,052.052 INFO    ] 2026-08-29 14:35:34
[2026-08-29 14:35:34,111.111 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:35:34,340.340 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:35:34,350.350 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:35:34,487.487 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:35:34,504.504 INFO    ] time= 29/08/2026 14:35:34
[2026-08-29 14:35:34,568.568 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:35:34,623.623 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:35:34,678.678 INFO    ] No existing commands found in stream
[2026-08-29 14:35:39,690.690 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:35:39,694.694 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-08-29 14:35:40,082.082 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:35:40,084.084 INFO    ] Checking for system updates...
[2026-08-29 14:35:40,105.105 INFO    ] 200
[2026-08-29 14:35:40,107.107 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:35:40,142.142 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:35:40,143.143 INFO    ] No update needed
[2026-08-29 14:35:40,145.145 INFO    ] Checking for camera pi updates...
[2026-08-29 14:35:40,167.167 INFO    ] 200
[2026-08-29 14:35:40,168.168 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:35:40,191.191 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:35:40,280.280 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:35:40,281.281 INFO    ] No camera update needed
[2026-08-29 14:35:40,283.283 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:35:40,284.284 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:35:40,287.287 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:35:40,290.290 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:35:42,328.328 INFO    ] ================================================
[2026-08-29 14:35:42,350.350 INFO    ] Launching Daemon at Sat Aug 29 14:35:42 IST 2026
[2026-08-29 14:35:42,361.361 INFO    ] ================================================
[2026-08-29 14:35:42,735.735 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:35:42
[2026-08-29 14:35:43,072.072 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:35:43,225.225 INFO    ] Initializing speech engine...
[2026-08-29 14:35:43,229.229 INFO    ] 2026-08-29 14:35:43
[2026-08-29 14:35:43,439.439 INFO    ] 2026-08-29 14:35:43
[2026-08-29 14:35:43,492.492 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:35:43,661.661 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:35:43,669.669 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:35:43,858.858 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:35:43,871.871 INFO    ] time= 29/08/2026 14:35:43
[2026-08-29 14:35:43,890.890 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:35:43,919.919 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:35:44,028.028 INFO    ] No existing commands found in stream
[2026-08-29 14:35:49,048.048 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:35:49,051.051 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-08-29 14:35:53,442.442 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:35:53,444.444 INFO    ] Checking for system updates...
[2026-08-29 14:35:53,468.468 INFO    ] 200
[2026-08-29 14:35:53,470.470 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:35:53,514.514 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:35:53,515.515 INFO    ] No update needed
[2026-08-29 14:35:53,517.517 INFO    ] Checking for camera pi updates...
[2026-08-29 14:35:53,556.556 INFO    ] 200
[2026-08-29 14:35:53,559.559 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:35:53,607.607 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:35:53,808.808 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:35:53,810.810 INFO    ] No camera update needed
[2026-08-29 14:35:53,813.813 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:35:53,816.816 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:35:53,821.821 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:35:53,827.827 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:35:55,870.870 INFO    ] ================================================
[2026-08-29 14:35:55,889.889 INFO    ] Launching Daemon at Sat Aug 29 14:35:55 IST 2026
[2026-08-29 14:35:55,901.901 INFO    ] ================================================
[2026-08-29 14:35:56,519.519 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:35:56
[2026-08-29 14:35:56,897.897 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:35:57,109.109 INFO    ] Initializing speech engine...
[2026-08-29 14:35:57,124.124 INFO    ] 2026-08-29 14:35:57
[2026-08-29 14:35:57,392.392 INFO    ] 2026-08-29 14:35:57
[2026-08-29 14:35:57,428.428 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:35:58,861.861 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:35:58,868.868 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:35:58,968.968 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:35:58,979.979 INFO    ] time= 29/08/2026 14:35:58
[2026-08-29 14:35:58,985.985 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:35:58,996.996 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:35:59,115.115 INFO    ] No existing commands found in stream
[2026-08-29 14:36:04,128.128 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:36:04,131.131 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-08-29 14:36:06,686.686 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:36:06,688.688 INFO    ] Checking for system updates...
[2026-08-29 14:36:06,731.731 INFO    ] 200
[2026-08-29 14:36:06,733.733 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:36:06,793.793 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:36:06,795.795 INFO    ] No update needed
[2026-08-29 14:36:06,797.797 INFO    ] Checking for camera pi updates...
[2026-08-29 14:36:06,831.831 INFO    ] 200
[2026-08-29 14:36:06,833.833 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:36:06,874.874 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:36:06,971.971 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:36:06,974.974 INFO    ] No camera update needed
[2026-08-29 14:36:06,976.976 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:36:06,978.978 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:36:06,984.984 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:36:06,989.989 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:36:09,029.029 INFO    ] ================================================
[2026-08-29 14:36:09,044.044 INFO    ] Launching Daemon at Sat Aug 29 14:36:09 IST 2026
[2026-08-29 14:36:09,055.055 INFO    ] ================================================
[2026-08-29 14:36:09,403.403 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:36:09
[2026-08-29 14:36:09,716.716 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:36:09,938.938 INFO    ] Initializing speech engine...
[2026-08-29 14:36:09,962.962 INFO    ] 2026-08-29 14:36:09
[2026-08-29 14:36:10,237.237 INFO    ] 2026-08-29 14:36:10
[2026-08-29 14:36:10,274.274 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:36:10,419.419 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:36:10,427.427 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:36:10,577.577 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:36:10,587.587 INFO    ] time= 29/08/2026 14:36:10
[2026-08-29 14:36:10,591.591 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:36:10,597.597 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:36:10,662.662 INFO    ] No existing commands found in stream
[2026-08-29 14:36:15,675.675 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:36:15,677.677 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-08-29 14:36:18,660.660 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:36:18,662.662 INFO    ] Checking for system updates...
[2026-08-29 14:36:18,683.683 INFO    ] 200
[2026-08-29 14:36:18,684.684 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:36:18,714.714 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:36:18,715.715 INFO    ] No update needed
[2026-08-29 14:36:18,717.717 INFO    ] Checking for camera pi updates...
[2026-08-29 14:36:18,737.737 INFO    ] 200
[2026-08-29 14:36:18,738.738 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:36:18,763.763 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:36:18,848.848 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:36:18,849.849 INFO    ] No camera update needed
[2026-08-29 14:36:18,850.850 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:36:18,852.852 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:36:18,855.855 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:36:18,857.857 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:36:20,896.896 INFO    ] ================================================
[2026-08-29 14:36:20,911.911 INFO    ] Launching Daemon at Sat Aug 29 14:36:20 IST 2026
[2026-08-29 14:36:20,922.922 INFO    ] ================================================
[2026-08-29 14:36:21,429.429 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:36:21
[2026-08-29 14:36:22,015.015 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:36:22,267.267 INFO    ] Initializing speech engine...
[2026-08-29 14:36:22,290.290 INFO    ] 2026-08-29 14:36:22
[2026-08-29 14:36:22,544.544 INFO    ] 2026-08-29 14:36:22
[2026-08-29 14:36:22,580.580 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:36:22,755.755 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:36:22,769.769 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:36:22,899.899 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:36:22,919.919 INFO    ] time= 29/08/2026 14:36:22
[2026-08-29 14:36:22,927.927 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:36:22,933.933 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:36:22,999.999 INFO    ] No existing commands found in stream
[2026-08-29 14:36:28,012.012 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:36:28,014.014 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-08-29 14:36:29,118.118 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:36:29,119.119 INFO    ] Checking for system updates...
[2026-08-29 14:36:29,143.143 INFO    ] 200
[2026-08-29 14:36:29,145.145 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:36:29,198.198 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:36:29,200.200 INFO    ] No update needed
[2026-08-29 14:36:29,203.203 INFO    ] Checking for camera pi updates...
[2026-08-29 14:36:29,236.236 INFO    ] 200
[2026-08-29 14:36:29,239.239 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:36:29,263.263 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:36:29,319.319 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:36:29,320.320 INFO    ] No camera update needed
[2026-08-29 14:36:29,322.322 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:36:29,323.323 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:36:29,326.326 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:36:29,328.328 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:36:31,370.370 INFO    ] ================================================
[2026-08-29 14:36:31,386.386 INFO    ] Launching Daemon at Sat Aug 29 14:36:31 IST 2026
[2026-08-29 14:36:31,395.395 INFO    ] ================================================
[2026-08-29 14:36:31,959.959 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:36:31
[2026-08-29 14:36:32,576.576 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:36:32,862.862 INFO    ] Initializing speech engine...
[2026-08-29 14:36:32,867.867 INFO    ] 2026-08-29 14:36:32
[2026-08-29 14:36:33,127.127 INFO    ] 2026-08-29 14:36:33
[2026-08-29 14:36:33,181.181 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:36:33,322.322 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:36:33,335.335 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:36:33,478.478 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:36:33,485.485 INFO    ] time= 29/08/2026 14:36:33
[2026-08-29 14:36:33,532.532 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:36:33,552.552 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:36:33,642.642 INFO    ] No existing commands found in stream
[2026-08-29 14:36:38,673.673 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:36:38,675.675 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-08-29 14:36:42,306.306 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:36:42,307.307 INFO    ] Checking for system updates...
[2026-08-29 14:36:42,328.328 INFO    ] 200
[2026-08-29 14:36:42,329.329 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:36:42,361.361 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:36:42,362.362 INFO    ] No update needed
[2026-08-29 14:36:42,364.364 INFO    ] Checking for camera pi updates...
[2026-08-29 14:36:42,385.385 INFO    ] 200
[2026-08-29 14:36:42,386.386 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:36:42,409.409 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:36:42,490.490 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:36:42,492.492 INFO    ] No camera update needed
[2026-08-29 14:36:42,493.493 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:36:42,494.494 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:36:42,497.497 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:36:42,500.500 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:36:44,537.537 INFO    ] ================================================
[2026-08-29 14:36:44,552.552 INFO    ] Launching Daemon at Sat Aug 29 14:36:44 IST 2026
[2026-08-29 14:36:44,563.563 INFO    ] ================================================
[2026-08-29 14:36:44,895.895 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:36:44
[2026-08-29 14:36:45,207.207 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:36:45,349.349 INFO    ] Initializing speech engine...
[2026-08-29 14:36:45,354.354 INFO    ] 2026-08-29 14:36:45
[2026-08-29 14:36:45,565.565 INFO    ] 2026-08-29 14:36:45
[2026-08-29 14:36:45,649.649 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:36:45,796.796 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:36:45,805.805 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:36:45,936.936 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:36:45,953.953 INFO    ] time= 29/08/2026 14:36:45
[2026-08-29 14:36:46,002.002 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:36:46,056.056 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:36:46,126.126 INFO    ] No existing commands found in stream
[2026-08-29 14:36:51,137.137 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:36:51,140.140 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-08-29 14:36:53,387.387 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:36:53,388.388 INFO    ] Checking for system updates...
[2026-08-29 14:36:53,410.410 INFO    ] 200
[2026-08-29 14:36:53,411.411 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:36:53,441.441 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:36:53,442.442 INFO    ] No update needed
[2026-08-29 14:36:53,444.444 INFO    ] Checking for camera pi updates...
[2026-08-29 14:36:53,464.464 INFO    ] 200
[2026-08-29 14:36:53,465.465 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:36:53,491.491 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:36:53,596.596 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:36:53,599.599 INFO    ] No camera update needed
[2026-08-29 14:36:53,601.601 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:36:53,604.604 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:36:53,609.609 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:36:53,614.614 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:36:55,657.657 INFO    ] ================================================
[2026-08-29 14:36:55,672.672 INFO    ] Launching Daemon at Sat Aug 29 14:36:55 IST 2026
[2026-08-29 14:36:55,683.683 INFO    ] ================================================
[2026-08-29 14:36:56,251.251 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:36:56
[2026-08-29 14:36:56,708.708 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:36:56,850.850 INFO    ] Initializing speech engine...
[2026-08-29 14:36:56,855.855 INFO    ] 2026-08-29 14:36:56
[2026-08-29 14:36:57,063.063 INFO    ] 2026-08-29 14:36:57
[2026-08-29 14:36:57,091.091 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:36:57,222.222 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:36:57,285.285 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:36:57,418.418 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:36:57,479.479 INFO    ] time= 29/08/2026 14:36:57
[2026-08-29 14:36:57,519.519 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:36:57,525.525 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:36:57,619.619 INFO    ] No existing commands found in stream
[2026-08-29 14:37:02,634.634 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:37:02,638.638 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-08-29 14:37:04,352.352 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:37:04,354.354 INFO    ] Checking for system updates...
[2026-08-29 14:37:04,374.374 INFO    ] 200
[2026-08-29 14:37:04,375.375 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:37:04,405.405 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:37:04,406.406 INFO    ] No update needed
[2026-08-29 14:37:04,408.408 INFO    ] Checking for camera pi updates...
[2026-08-29 14:37:04,428.428 INFO    ] 200
[2026-08-29 14:37:04,430.430 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:37:04,471.471 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:37:04,554.554 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:37:04,557.557 INFO    ] No camera update needed
[2026-08-29 14:37:04,559.559 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:37:04,561.561 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:37:04,566.566 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:37:04,571.571 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:37:06,613.613 INFO    ] ================================================
[2026-08-29 14:37:06,629.629 INFO    ] Launching Daemon at Sat Aug 29 14:37:06 IST 2026
[2026-08-29 14:37:06,639.639 INFO    ] ================================================
[2026-08-29 14:37:07,208.208 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:37:07
[2026-08-29 14:37:07,683.683 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:37:07,825.825 INFO    ] Initializing speech engine...
[2026-08-29 14:37:07,831.831 INFO    ] 2026-08-29 14:37:07
[2026-08-29 14:37:08,032.032 INFO    ] 2026-08-29 14:37:08
[2026-08-29 14:37:08,110.110 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:37:08,259.259 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:37:08,268.268 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:37:08,401.401 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:37:08,449.449 INFO    ] time= 29/08/2026 14:37:08
[2026-08-29 14:37:08,513.513 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:37:08,537.537 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:37:08,621.621 INFO    ] No existing commands found in stream
[2026-08-29 14:37:13,657.657 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:37:13,660.660 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-08-29 14:37:17,948.948 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:37:17,950.950 INFO    ] Checking for system updates...
[2026-08-29 14:37:17,972.972 INFO    ] 200
[2026-08-29 14:37:17,973.973 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:37:18,006.006 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:37:18,007.007 INFO    ] No update needed
[2026-08-29 14:37:18,008.008 INFO    ] Checking for camera pi updates...
[2026-08-29 14:37:18,027.027 INFO    ] 200
[2026-08-29 14:37:18,029.029 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:37:18,056.056 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:37:18,178.178 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:37:18,180.180 INFO    ] No camera update needed
[2026-08-29 14:37:18,183.183 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:37:18,185.185 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:37:18,190.190 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:37:18,195.195 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:37:20,238.238 INFO    ] ================================================
[2026-08-29 14:37:20,254.254 INFO    ] Launching Daemon at Sat Aug 29 14:37:20 IST 2026
[2026-08-29 14:37:20,265.265 INFO    ] ================================================
[2026-08-29 14:37:20,924.924 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:37:20
[2026-08-29 14:37:21,390.390 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:37:21,537.537 INFO    ] Initializing speech engine...
[2026-08-29 14:37:21,547.547 INFO    ] 2026-08-29 14:37:21
[2026-08-29 14:37:21,741.741 INFO    ] 2026-08-29 14:37:21
[2026-08-29 14:37:21,820.820 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:37:21,968.968 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:37:21,977.977 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:37:22,110.110 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:37:22,141.141 INFO    ] time= 29/08/2026 14:37:22
[2026-08-29 14:37:22,195.195 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:37:22,240.240 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:37:22,307.307 INFO    ] No existing commands found in stream
[2026-08-29 14:37:27,319.319 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:37:27,322.322 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 14:37:29,229.229 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:37:29,231.231 INFO    ] Checking for system updates...
[2026-08-29 14:37:29,251.251 INFO    ] 200
[2026-08-29 14:37:29,253.253 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:37:29,285.285 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:37:29,287.287 INFO    ] No update needed
[2026-08-29 14:37:29,288.288 INFO    ] Checking for camera pi updates...
[2026-08-29 14:37:29,311.311 INFO    ] 200
[2026-08-29 14:37:29,313.313 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:37:29,338.338 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:37:29,435.435 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:37:29,437.437 INFO    ] No camera update needed
[2026-08-29 14:37:29,438.438 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:37:29,440.440 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:37:29,443.443 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:37:29,446.446 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:37:31,478.478 INFO    ] ================================================
[2026-08-29 14:37:31,487.487 INFO    ] Launching Daemon at Sat Aug 29 14:37:31 IST 2026
[2026-08-29 14:37:31,494.494 INFO    ] ================================================
[2026-08-29 14:37:32,047.047 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:37:32
[2026-08-29 14:37:32,668.668 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:37:32,940.940 INFO    ] Initializing speech engine...
[2026-08-29 14:37:32,949.949 INFO    ] 2026-08-29 14:37:32
[2026-08-29 14:37:33,210.210 INFO    ] 2026-08-29 14:37:33
[2026-08-29 14:37:33,246.246 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:37:33,444.444 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:37:33,450.450 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:37:33,625.625 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:37:33,634.634 INFO    ] time= 29/08/2026 14:37:33
[2026-08-29 14:37:33,638.638 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:37:33,644.644 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:37:33,721.721 INFO    ] No existing commands found in stream
[2026-08-29 14:37:38,736.736 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:37:38,739.739 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-08-29 14:37:40,693.693 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:37:40,695.695 INFO    ] Checking for system updates...
[2026-08-29 14:37:40,715.715 INFO    ] 200
[2026-08-29 14:37:40,716.716 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:37:40,746.746 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:37:40,748.748 INFO    ] No update needed
[2026-08-29 14:37:40,749.749 INFO    ] Checking for camera pi updates...
[2026-08-29 14:37:40,771.771 INFO    ] 200
[2026-08-29 14:37:40,772.772 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:37:40,795.795 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:37:40,875.875 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:37:40,877.877 INFO    ] No camera update needed
[2026-08-29 14:37:40,878.878 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:37:40,879.879 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:37:40,882.882 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:37:40,885.885 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:37:42,925.925 INFO    ] ================================================
[2026-08-29 14:37:42,941.941 INFO    ] Launching Daemon at Sat Aug 29 14:37:42 IST 2026
[2026-08-29 14:37:42,952.952 INFO    ] ================================================
[2026-08-29 14:37:43,344.344 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:37:43
[2026-08-29 14:37:43,682.682 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:37:43,833.833 INFO    ] Initializing speech engine...
[2026-08-29 14:37:43,839.839 INFO    ] 2026-08-29 14:37:43
[2026-08-29 14:37:44,046.046 INFO    ] 2026-08-29 14:37:44
[2026-08-29 14:37:44,074.074 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:37:44,197.197 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:37:44,260.260 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:37:44,392.392 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:37:44,453.453 INFO    ] time= 29/08/2026 14:37:44
[2026-08-29 14:37:44,490.490 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:37:44,497.497 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:37:44,562.562 INFO    ] No existing commands found in stream
[2026-08-29 14:37:49,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:37:49,577.577 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-08-29 14:37:53,295.295 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:37:53,296.296 INFO    ] Checking for system updates...
[2026-08-29 14:37:53,318.318 INFO    ] 200
[2026-08-29 14:37:53,320.320 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:37:53,351.351 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:37:53,353.353 INFO    ] No update needed
[2026-08-29 14:37:53,354.354 INFO    ] Checking for camera pi updates...
[2026-08-29 14:37:53,375.375 INFO    ] 200
[2026-08-29 14:37:53,376.376 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:37:53,401.401 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:37:53,507.507 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:37:53,509.509 INFO    ] No camera update needed
[2026-08-29 14:37:53,510.510 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:37:53,511.511 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:37:53,514.514 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:37:53,517.517 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:37:55,557.557 INFO    ] ================================================
[2026-08-29 14:37:55,574.574 INFO    ] Launching Daemon at Sat Aug 29 14:37:55 IST 2026
[2026-08-29 14:37:55,586.586 INFO    ] ================================================
[2026-08-29 14:37:55,925.925 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:37:55
[2026-08-29 14:37:56,238.238 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:37:56,372.372 INFO    ] Initializing speech engine...
[2026-08-29 14:37:56,384.384 INFO    ] 2026-08-29 14:37:56
[2026-08-29 14:37:56,578.578 INFO    ] 2026-08-29 14:37:56
[2026-08-29 14:37:56,613.613 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:37:56,788.788 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:37:56,801.801 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:37:56,949.949 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:37:56,955.955 INFO    ] time= 29/08/2026 14:37:56
[2026-08-29 14:37:56,961.961 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:37:56,992.992 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:37:57,113.113 INFO    ] No existing commands found in stream
[2026-08-29 14:38:02,143.143 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:38:02,145.145 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-08-29 14:38:04,572.572 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:38:04,575.575 INFO    ] Checking for system updates...
[2026-08-29 14:38:04,611.611 INFO    ] 200
[2026-08-29 14:38:04,614.614 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:38:04,667.667 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:38:04,670.670 INFO    ] No update needed
[2026-08-29 14:38:04,672.672 INFO    ] Checking for camera pi updates...
[2026-08-29 14:38:04,706.706 INFO    ] 200
[2026-08-29 14:38:04,709.709 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:38:04,749.749 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:38:04,847.847 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:38:04,849.849 INFO    ] No camera update needed
[2026-08-29 14:38:04,851.851 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:38:04,854.854 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:38:04,859.859 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:38:04,864.864 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:38:06,903.903 INFO    ] ================================================
[2026-08-29 14:38:06,919.919 INFO    ] Launching Daemon at Sat Aug 29 14:38:06 IST 2026
[2026-08-29 14:38:06,930.930 INFO    ] ================================================
[2026-08-29 14:38:07,558.558 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:38:07
[2026-08-29 14:38:08,174.174 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:38:08,421.421 INFO    ] Initializing speech engine...
[2026-08-29 14:38:08,427.427 INFO    ] 2026-08-29 14:38:08
[2026-08-29 14:38:08,637.637 INFO    ] 2026-08-29 14:38:08
[2026-08-29 14:38:08,666.666 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:38:08,788.788 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:38:08,851.851 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:38:08,988.988 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:38:09,047.047 INFO    ] time= 29/08/2026 14:38:08
[2026-08-29 14:38:09,080.080 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:38:09,087.087 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:38:09,153.153 INFO    ] No existing commands found in stream
[2026-08-29 14:38:14,163.163 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:38:14,166.166 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-08-29 14:38:16,347.347 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:38:16,349.349 INFO    ] Checking for system updates...
[2026-08-29 14:38:16,370.370 INFO    ] 200
[2026-08-29 14:38:16,371.371 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:38:16,401.401 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:38:16,403.403 INFO    ] No update needed
[2026-08-29 14:38:16,404.404 INFO    ] Checking for camera pi updates...
[2026-08-29 14:38:16,423.423 INFO    ] 200
[2026-08-29 14:38:16,425.425 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:38:16,449.449 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:38:16,534.534 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:38:16,535.535 INFO    ] No camera update needed
[2026-08-29 14:38:16,537.537 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:38:16,538.538 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:38:16,541.541 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:38:16,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:38:18,581.581 INFO    ] ================================================
[2026-08-29 14:38:18,597.597 INFO    ] Launching Daemon at Sat Aug 29 14:38:18 IST 2026
[2026-08-29 14:38:18,608.608 INFO    ] ================================================
[2026-08-29 14:38:18,957.957 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:38:18
[2026-08-29 14:38:19,270.270 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:38:19,411.411 INFO    ] Initializing speech engine...
[2026-08-29 14:38:19,417.417 INFO    ] 2026-08-29 14:38:19
[2026-08-29 14:38:19,619.619 INFO    ] 2026-08-29 14:38:19
[2026-08-29 14:38:19,647.647 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:38:19,770.770 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:38:19,832.832 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:38:19,969.969 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:38:20,036.036 INFO    ] time= 29/08/2026 14:38:19
[2026-08-29 14:38:20,059.059 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:38:20,061.061 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:38:20,132.132 INFO    ] No existing commands found in stream
[2026-08-29 14:38:25,142.142 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:38:25,145.145 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-08-29 14:38:25,751.751 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:38:25,752.752 INFO    ] Checking for system updates...
[2026-08-29 14:38:25,773.773 INFO    ] 200
[2026-08-29 14:38:25,774.774 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:38:25,806.806 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:38:25,807.807 INFO    ] No update needed
[2026-08-29 14:38:25,809.809 INFO    ] Checking for camera pi updates...
[2026-08-29 14:38:25,829.829 INFO    ] 200
[2026-08-29 14:38:25,830.830 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:38:25,853.853 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:38:25,941.941 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:38:25,943.943 INFO    ] No camera update needed
[2026-08-29 14:38:25,944.944 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:38:25,945.945 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:38:25,948.948 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:38:25,951.951 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:38:27,988.988 INFO    ] ================================================
[2026-08-29 14:38:28,004.004 INFO    ] Launching Daemon at Sat Aug 29 14:38:27 IST 2026
[2026-08-29 14:38:28,015.015 INFO    ] ================================================
[2026-08-29 14:38:28,379.379 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:38:28
[2026-08-29 14:38:28,721.721 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:38:28,873.873 INFO    ] Initializing speech engine...
[2026-08-29 14:38:28,878.878 INFO    ] 2026-08-29 14:38:28
[2026-08-29 14:38:29,136.136 INFO    ] 2026-08-29 14:38:29
[2026-08-29 14:38:29,193.193 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:38:29,357.357 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:38:29,366.366 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:38:29,521.521 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:38:29,566.566 INFO    ] time= 29/08/2026 14:38:29
[2026-08-29 14:38:29,584.584 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:38:29,593.593 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:38:29,712.712 INFO    ] No existing commands found in stream
[2026-08-29 14:38:34,735.735 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:38:34,738.738 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-08-29 14:38:39,345.345 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:38:39,347.347 INFO    ] Checking for system updates...
[2026-08-29 14:38:39,368.368 INFO    ] 200
[2026-08-29 14:38:39,369.369 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:38:39,401.401 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:38:39,403.403 INFO    ] No update needed
[2026-08-29 14:38:39,404.404 INFO    ] Checking for camera pi updates...
[2026-08-29 14:38:39,423.423 INFO    ] 200
[2026-08-29 14:38:39,425.425 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:38:39,449.449 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:38:39,529.529 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:38:39,531.531 INFO    ] No camera update needed
[2026-08-29 14:38:39,532.532 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:38:39,533.533 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:38:39,536.536 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:38:39,539.539 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:38:41,577.577 INFO    ] ================================================
[2026-08-29 14:38:41,593.593 INFO    ] Launching Daemon at Sat Aug 29 14:38:41 IST 2026
[2026-08-29 14:38:41,603.603 INFO    ] ================================================
[2026-08-29 14:38:42,130.130 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:38:42
[2026-08-29 14:38:42,720.720 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:38:43,018.018 INFO    ] Initializing speech engine...
[2026-08-29 14:38:43,026.026 INFO    ] 2026-08-29 14:38:43
[2026-08-29 14:38:43,321.321 INFO    ] 2026-08-29 14:38:43
[2026-08-29 14:38:43,394.394 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:38:43,618.618 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:38:43,627.627 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:38:43,758.758 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:38:43,800.800 INFO    ] time= 29/08/2026 14:38:43
[2026-08-29 14:38:43,855.855 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:38:43,892.892 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:38:43,948.948 INFO    ] No existing commands found in stream
[2026-08-29 14:38:48,960.960 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:38:48,963.963 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-08-29 14:38:50,979.979 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:38:50,981.981 INFO    ] Checking for system updates...
[2026-08-29 14:38:51,001.001 INFO    ] 200
[2026-08-29 14:38:51,003.003 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:38:51,033.033 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:38:51,035.035 INFO    ] No update needed
[2026-08-29 14:38:51,036.036 INFO    ] Checking for camera pi updates...
[2026-08-29 14:38:51,057.057 INFO    ] 200
[2026-08-29 14:38:51,058.058 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:38:51,081.081 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:38:51,127.127 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:38:51,128.128 INFO    ] No camera update needed
[2026-08-29 14:38:51,129.129 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:38:51,131.131 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:38:51,134.134 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:38:51,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:38:53,175.175 INFO    ] ================================================
[2026-08-29 14:38:53,190.190 INFO    ] Launching Daemon at Sat Aug 29 14:38:53 IST 2026
[2026-08-29 14:38:53,201.201 INFO    ] ================================================
[2026-08-29 14:38:53,576.576 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:38:53
[2026-08-29 14:38:53,900.900 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:38:54,030.030 INFO    ] Initializing speech engine...
[2026-08-29 14:38:54,035.035 INFO    ] 2026-08-29 14:38:54
[2026-08-29 14:38:54,291.291 INFO    ] 2026-08-29 14:38:54
[2026-08-29 14:38:54,324.324 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:38:54,500.500 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:38:54,513.513 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:38:54,625.625 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:38:54,644.644 INFO    ] time= 29/08/2026 14:38:54
[2026-08-29 14:38:54,664.664 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:38:54,672.672 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:38:54,745.745 INFO    ] No existing commands found in stream
[2026-08-29 14:38:59,760.760 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:38:59,763.763 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-08-29 14:39:02,554.554 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:39:02,557.557 INFO    ] Checking for system updates...
[2026-08-29 14:39:02,598.598 INFO    ] 200
[2026-08-29 14:39:02,601.601 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:39:02,677.677 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:39:02,681.681 INFO    ] No update needed
[2026-08-29 14:39:02,684.684 INFO    ] Checking for camera pi updates...
[2026-08-29 14:39:02,722.722 INFO    ] 200
[2026-08-29 14:39:02,725.725 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:39:02,774.774 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:39:02,875.875 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:39:02,878.878 INFO    ] No camera update needed
[2026-08-29 14:39:02,881.881 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:39:02,884.884 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:39:02,891.891 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:39:02,897.897 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:39:04,938.938 INFO    ] ================================================
[2026-08-29 14:39:04,955.955 INFO    ] Launching Daemon at Sat Aug 29 14:39:04 IST 2026
[2026-08-29 14:39:04,966.966 INFO    ] ================================================
[2026-08-29 14:39:05,362.362 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:39:05
[2026-08-29 14:39:05,673.673 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:39:05,811.811 INFO    ] Initializing speech engine...
[2026-08-29 14:39:05,822.822 INFO    ] 2026-08-29 14:39:05
[2026-08-29 14:39:06,029.029 INFO    ] 2026-08-29 14:39:06
[2026-08-29 14:39:06,057.057 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:39:06,243.243 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:39:06,246.246 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:39:06,376.376 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:39:06,436.436 INFO    ] time= 29/08/2026 14:39:06
[2026-08-29 14:39:06,471.471 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:39:06,476.476 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:39:06,547.547 INFO    ] No existing commands found in stream
[2026-08-29 14:39:11,558.558 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:39:11,560.560 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-08-29 14:39:15,198.198 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:39:15,200.200 INFO    ] Checking for system updates...
[2026-08-29 14:39:15,221.221 INFO    ] 200
[2026-08-29 14:39:15,223.223 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:39:15,264.264 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:39:15,266.266 INFO    ] No update needed
[2026-08-29 14:39:15,268.268 INFO    ] Checking for camera pi updates...
[2026-08-29 14:39:15,306.306 INFO    ] 200
[2026-08-29 14:39:15,309.309 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:39:15,355.355 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:39:15,460.460 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:39:15,462.462 INFO    ] No camera update needed
[2026-08-29 14:39:15,465.465 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:39:15,467.467 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:39:15,472.472 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:39:15,477.477 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:39:17,516.516 INFO    ] ================================================
[2026-08-29 14:39:17,532.532 INFO    ] Launching Daemon at Sat Aug 29 14:39:17 IST 2026
[2026-08-29 14:39:17,543.543 INFO    ] ================================================
[2026-08-29 14:39:18,190.190 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:39:18
[2026-08-29 14:39:18,585.585 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:39:18,722.722 INFO    ] Initializing speech engine...
[2026-08-29 14:39:18,731.731 INFO    ] 2026-08-29 14:39:18
[2026-08-29 14:39:18,947.947 INFO    ] 2026-08-29 14:39:18
[2026-08-29 14:39:18,982.982 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:39:19,154.154 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:39:19,168.168 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:39:19,310.310 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:39:19,317.317 INFO    ] time= 29/08/2026 14:39:19
[2026-08-29 14:39:19,324.324 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:39:19,370.370 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:39:19,515.515 INFO    ] No existing commands found in stream
[2026-08-29 14:39:24,525.525 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:39:24,528.528 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-08-29 14:39:27,780.780 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:39:27,782.782 INFO    ] Checking for system updates...
[2026-08-29 14:39:27,803.803 INFO    ] 200
[2026-08-29 14:39:27,804.804 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:39:27,836.836 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:39:27,842.842 INFO    ] No update needed
[2026-08-29 14:39:27,843.843 INFO    ] Checking for camera pi updates...
[2026-08-29 14:39:27,864.864 INFO    ] 200
[2026-08-29 14:39:27,865.865 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:39:27,890.890 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:39:27,968.968 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:39:27,969.969 INFO    ] No camera update needed
[2026-08-29 14:39:27,974.974 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:39:27,975.975 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:39:27,978.978 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:39:27,981.981 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:39:30,022.022 INFO    ] ================================================
[2026-08-29 14:39:30,038.038 INFO    ] Launching Daemon at Sat Aug 29 14:39:30 IST 2026
[2026-08-29 14:39:30,049.049 INFO    ] ================================================
[2026-08-29 14:39:30,559.559 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:39:30
[2026-08-29 14:39:31,141.141 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:39:31,415.415 INFO    ] Initializing speech engine...
[2026-08-29 14:39:31,421.421 INFO    ] 2026-08-29 14:39:31
[2026-08-29 14:39:31,671.671 INFO    ] 2026-08-29 14:39:31
[2026-08-29 14:39:31,705.705 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:39:31,881.881 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:39:31,893.893 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:39:32,016.016 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:39:32,023.023 INFO    ] time= 29/08/2026 14:39:32
[2026-08-29 14:39:32,031.031 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:39:32,051.051 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:39:32,147.147 INFO    ] No existing commands found in stream
[2026-08-29 14:39:37,159.159 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:39:37,162.162 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 14:39:39,685.685 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:39:39,687.687 INFO    ] Checking for system updates...
[2026-08-29 14:39:39,708.708 INFO    ] 200
[2026-08-29 14:39:39,710.710 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:39:39,739.739 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:39:39,741.741 INFO    ] No update needed
[2026-08-29 14:39:39,742.742 INFO    ] Checking for camera pi updates...
[2026-08-29 14:39:39,762.762 INFO    ] 200
[2026-08-29 14:39:39,763.763 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:39:39,786.786 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:39:39,896.896 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:39:39,897.897 INFO    ] No camera update needed
[2026-08-29 14:39:39,898.898 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:39:39,899.899 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:39:39,902.902 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:39:39,905.905 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:39:41,946.946 INFO    ] ================================================
[2026-08-29 14:39:41,961.961 INFO    ] Launching Daemon at Sat Aug 29 14:39:41 IST 2026
[2026-08-29 14:39:41,972.972 INFO    ] ================================================
[2026-08-29 14:39:42,311.311 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:39:42
[2026-08-29 14:39:42,624.624 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:39:42,833.833 INFO    ] Initializing speech engine...
[2026-08-29 14:39:42,845.845 INFO    ] 2026-08-29 14:39:42
[2026-08-29 14:39:43,113.113 INFO    ] 2026-08-29 14:39:43
[2026-08-29 14:39:43,148.148 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:39:43,322.322 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:39:43,328.328 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:39:43,446.446 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:39:43,453.453 INFO    ] time= 29/08/2026 14:39:43
[2026-08-29 14:39:43,471.471 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:39:43,492.492 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:39:43,565.565 INFO    ] No existing commands found in stream
[2026-08-29 14:39:48,577.577 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:39:48,580.580 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-08-29 14:39:52,409.409 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:39:52,411.411 INFO    ] Checking for system updates...
[2026-08-29 14:39:52,432.432 INFO    ] 200
[2026-08-29 14:39:52,434.434 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:39:52,466.466 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:39:52,467.467 INFO    ] No update needed
[2026-08-29 14:39:52,468.468 INFO    ] Checking for camera pi updates...
[2026-08-29 14:39:52,489.489 INFO    ] 200
[2026-08-29 14:39:52,490.490 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:39:52,513.513 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:39:52,602.602 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:39:52,603.603 INFO    ] No camera update needed
[2026-08-29 14:39:52,604.604 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:39:52,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:39:52,608.608 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:39:52,611.611 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:39:54,651.651 INFO    ] ================================================
[2026-08-29 14:39:54,668.668 INFO    ] Launching Daemon at Sat Aug 29 14:39:54 IST 2026
[2026-08-29 14:39:54,679.679 INFO    ] ================================================
[2026-08-29 14:39:55,070.070 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:39:55
[2026-08-29 14:39:55,411.411 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:39:55,563.563 INFO    ] Initializing speech engine...
[2026-08-29 14:39:55,568.568 INFO    ] 2026-08-29 14:39:55
[2026-08-29 14:39:55,853.853 INFO    ] 2026-08-29 14:39:55
[2026-08-29 14:39:55,899.899 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:39:56,121.121 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:39:56,131.131 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:39:56,263.263 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:39:56,321.321 INFO    ] time= 29/08/2026 14:39:56
[2026-08-29 14:39:56,391.391 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:39:56,401.401 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:39:56,531.531 INFO    ] No existing commands found in stream
[2026-08-29 14:40:01,558.558 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:40:01,561.561 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 14:40:06,892.892 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:40:06,895.895 INFO    ] Checking for system updates...
[2026-08-29 14:40:06,935.935 INFO    ] 200
[2026-08-29 14:40:06,938.938 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:40:06,997.997 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:40:07,000.000 INFO    ] No update needed
[2026-08-29 14:40:07,002.002 INFO    ] Checking for camera pi updates...
[2026-08-29 14:40:07,037.037 INFO    ] 200
[2026-08-29 14:40:07,039.039 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:40:07,080.080 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:40:07,257.257 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:40:07,259.259 INFO    ] No camera update needed
[2026-08-29 14:40:07,262.262 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:40:07,264.264 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:40:07,269.269 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:40:07,274.274 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:40:09,315.315 INFO    ] ================================================
[2026-08-29 14:40:09,330.330 INFO    ] Launching Daemon at Sat Aug 29 14:40:09 IST 2026
[2026-08-29 14:40:09,342.342 INFO    ] ================================================
[2026-08-29 14:40:09,725.725 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:40:09
[2026-08-29 14:40:10,042.042 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:40:10,180.180 INFO    ] Initializing speech engine...
[2026-08-29 14:40:10,190.190 INFO    ] 2026-08-29 14:40:10
[2026-08-29 14:40:10,400.400 INFO    ] 2026-08-29 14:40:10
[2026-08-29 14:40:10,479.479 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:40:10,625.625 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:40:10,635.635 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:40:10,767.767 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:40:10,793.793 INFO    ] time= 29/08/2026 14:40:10
[2026-08-29 14:40:10,853.853 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:40:10,897.897 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:40:10,952.952 INFO    ] No existing commands found in stream
[2026-08-29 14:40:15,964.964 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:40:15,966.966 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-08-29 14:40:16,632.632 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:40:16,634.634 INFO    ] Checking for system updates...
[2026-08-29 14:40:16,654.654 INFO    ] 200
[2026-08-29 14:40:16,655.655 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:40:16,685.685 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:40:16,686.686 INFO    ] No update needed
[2026-08-29 14:40:16,688.688 INFO    ] Checking for camera pi updates...
[2026-08-29 14:40:16,708.708 INFO    ] 200
[2026-08-29 14:40:16,709.709 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:40:16,734.734 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:40:16,834.834 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:40:16,836.836 INFO    ] No camera update needed
[2026-08-29 14:40:16,839.839 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:40:16,841.841 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:40:16,847.847 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:40:16,852.852 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:40:18,894.894 INFO    ] ================================================
[2026-08-29 14:40:18,910.910 INFO    ] Launching Daemon at Sat Aug 29 14:40:18 IST 2026
[2026-08-29 14:40:18,921.921 INFO    ] ================================================
[2026-08-29 14:40:19,504.504 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:40:19
[2026-08-29 14:40:20,007.007 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:40:20,142.142 INFO    ] Initializing speech engine...
[2026-08-29 14:40:20,145.145 INFO    ] 2026-08-29 14:40:20
[2026-08-29 14:40:20,355.355 INFO    ] 2026-08-29 14:40:20
[2026-08-29 14:40:20,385.385 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:40:20,543.543 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:40:20,606.606 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:40:20,722.722 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:40:20,757.757 INFO    ] time= 29/08/2026 14:40:20
[2026-08-29 14:40:20,803.803 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:40:20,848.848 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:40:20,941.941 INFO    ] No existing commands found in stream
[2026-08-29 14:40:25,952.952 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:40:25,955.955 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-08-29 14:40:27,835.835 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:40:27,836.836 INFO    ] Checking for system updates...
[2026-08-29 14:40:27,857.857 INFO    ] 200
[2026-08-29 14:40:27,858.858 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:40:27,889.889 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:40:27,891.891 INFO    ] No update needed
[2026-08-29 14:40:27,892.892 INFO    ] Checking for camera pi updates...
[2026-08-29 14:40:27,914.914 INFO    ] 200
[2026-08-29 14:40:27,915.915 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:40:27,942.942 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:40:28,036.036 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:40:28,037.037 INFO    ] No camera update needed
[2026-08-29 14:40:28,039.039 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:40:28,040.040 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:40:28,043.043 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:40:28,046.046 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:40:30,085.085 INFO    ] ================================================
[2026-08-29 14:40:30,101.101 INFO    ] Launching Daemon at Sat Aug 29 14:40:30 IST 2026
[2026-08-29 14:40:30,112.112 INFO    ] ================================================
[2026-08-29 14:40:30,453.453 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:40:30
[2026-08-29 14:40:30,772.772 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:40:30,908.908 INFO    ] Initializing speech engine...
[2026-08-29 14:40:30,913.913 INFO    ] 2026-08-29 14:40:30
[2026-08-29 14:40:31,142.142 INFO    ] 2026-08-29 14:40:31
[2026-08-29 14:40:31,173.173 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:40:31,309.309 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:40:31,316.316 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:40:31,441.441 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:40:31,468.468 INFO    ] time= 29/08/2026 14:40:31
[2026-08-29 14:40:31,528.528 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:40:31,577.577 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:40:31,653.653 INFO    ] No existing commands found in stream
[2026-08-29 14:40:36,665.665 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:40:36,667.667 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-08-29 14:40:40,358.358 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:40:40,360.360 INFO    ] Checking for system updates...
[2026-08-29 14:40:40,380.380 INFO    ] 200
[2026-08-29 14:40:40,381.381 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:40:40,413.413 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:40:40,414.414 INFO    ] No update needed
[2026-08-29 14:40:40,416.416 INFO    ] Checking for camera pi updates...
[2026-08-29 14:40:40,436.436 INFO    ] 200
[2026-08-29 14:40:40,437.437 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:40:40,460.460 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:40:40,572.572 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:40:40,574.574 INFO    ] No camera update needed
[2026-08-29 14:40:40,575.575 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:40:40,576.576 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:40:40,579.579 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:40:40,582.582 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:40:42,620.620 INFO    ] ================================================
[2026-08-29 14:40:42,636.636 INFO    ] Launching Daemon at Sat Aug 29 14:40:42 IST 2026
[2026-08-29 14:40:42,648.648 INFO    ] ================================================
[2026-08-29 14:40:43,034.034 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:40:43
[2026-08-29 14:40:43,373.373 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:40:43,525.525 INFO    ] Initializing speech engine...
[2026-08-29 14:40:43,530.530 INFO    ] 2026-08-29 14:40:43
[2026-08-29 14:40:43,740.740 INFO    ] 2026-08-29 14:40:43
[2026-08-29 14:40:43,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:40:43,895.895 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:40:43,958.958 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:40:44,096.096 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:40:44,164.164 INFO    ] time= 29/08/2026 14:40:44
[2026-08-29 14:40:44,193.193 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:40:44,200.200 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:40:44,266.266 INFO    ] No existing commands found in stream
[2026-08-29 14:40:49,277.277 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:40:49,281.281 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-08-29 14:40:53,223.223 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:40:53,224.224 INFO    ] Checking for system updates...
[2026-08-29 14:40:53,247.247 INFO    ] 200
[2026-08-29 14:40:53,249.249 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:40:53,282.282 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:40:53,283.283 INFO    ] No update needed
[2026-08-29 14:40:53,285.285 INFO    ] Checking for camera pi updates...
[2026-08-29 14:40:53,304.304 INFO    ] 200
[2026-08-29 14:40:53,306.306 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:40:53,330.330 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:40:53,440.440 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:40:53,441.441 INFO    ] No camera update needed
[2026-08-29 14:40:53,443.443 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:40:53,444.444 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:40:53,447.447 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:40:53,450.450 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:40:55,490.490 INFO    ] ================================================
[2026-08-29 14:40:55,506.506 INFO    ] Launching Daemon at Sat Aug 29 14:40:55 IST 2026
[2026-08-29 14:40:55,517.517 INFO    ] ================================================
[2026-08-29 14:40:55,877.877 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:40:55
[2026-08-29 14:40:56,188.188 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:40:56,317.317 INFO    ] Initializing speech engine...
[2026-08-29 14:40:56,322.322 INFO    ] 2026-08-29 14:40:56
[2026-08-29 14:40:56,576.576 INFO    ] 2026-08-29 14:40:56
[2026-08-29 14:40:56,632.632 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:40:56,798.798 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:40:56,806.806 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:40:56,977.977 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:40:57,013.013 INFO    ] time= 29/08/2026 14:40:56
[2026-08-29 14:40:57,029.029 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:40:57,036.036 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:40:57,148.148 INFO    ] No existing commands found in stream
[2026-08-29 14:41:02,174.174 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:41:02,177.177 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-08-29 14:41:03,016.016 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:41:03,020.020 INFO    ] Checking for system updates...
[2026-08-29 14:41:03,065.065 INFO    ] 200
[2026-08-29 14:41:03,068.068 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:41:03,132.132 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:41:03,135.135 INFO    ] No update needed
[2026-08-29 14:41:03,138.138 INFO    ] Checking for camera pi updates...
[2026-08-29 14:41:03,186.186 INFO    ] 200
[2026-08-29 14:41:03,189.189 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:41:03,249.249 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:41:03,352.352 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:41:03,356.356 INFO    ] No camera update needed
[2026-08-29 14:41:03,359.359 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:41:03,362.362 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:41:03,369.369 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:41:03,376.376 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:41:05,418.418 INFO    ] ================================================
[2026-08-29 14:41:05,434.434 INFO    ] Launching Daemon at Sat Aug 29 14:41:05 IST 2026
[2026-08-29 14:41:05,445.445 INFO    ] ================================================
[2026-08-29 14:41:05,810.810 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:41:05
[2026-08-29 14:41:06,126.126 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:41:06,334.334 INFO    ] Initializing speech engine...
[2026-08-29 14:41:06,341.341 INFO    ] 2026-08-29 14:41:06
[2026-08-29 14:41:06,645.645 INFO    ] 2026-08-29 14:41:06
[2026-08-29 14:41:06,688.688 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:41:06,864.864 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:41:06,876.876 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:41:07,018.018 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:41:07,026.026 INFO    ] time= 29/08/2026 14:41:07
[2026-08-29 14:41:07,032.032 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:41:07,084.084 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:41:07,202.202 INFO    ] No existing commands found in stream
[2026-08-29 14:41:12,224.224 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:41:12,227.227 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-08-29 14:41:16,271.271 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:41:16,272.272 INFO    ] Checking for system updates...
[2026-08-29 14:41:16,295.295 INFO    ] 200
[2026-08-29 14:41:16,296.296 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:41:16,328.328 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:41:16,330.330 INFO    ] No update needed
[2026-08-29 14:41:16,332.332 INFO    ] Checking for camera pi updates...
[2026-08-29 14:41:16,352.352 INFO    ] 200
[2026-08-29 14:41:16,353.353 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:41:16,377.377 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:41:16,474.474 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:41:16,475.475 INFO    ] No camera update needed
[2026-08-29 14:41:16,477.477 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:41:16,478.478 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:41:16,482.482 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:41:16,485.485 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:41:18,525.525 INFO    ] ================================================
[2026-08-29 14:41:18,540.540 INFO    ] Launching Daemon at Sat Aug 29 14:41:18 IST 2026
[2026-08-29 14:41:18,551.551 INFO    ] ================================================
[2026-08-29 14:41:18,920.920 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:41:18
[2026-08-29 14:41:19,235.235 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:41:19,374.374 INFO    ] Initializing speech engine...
[2026-08-29 14:41:19,384.384 INFO    ] 2026-08-29 14:41:19
[2026-08-29 14:41:19,590.590 INFO    ] 2026-08-29 14:41:19
[2026-08-29 14:41:19,640.640 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:41:19,775.775 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:41:19,790.790 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:41:19,956.956 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:41:20,020.020 INFO    ] time= 29/08/2026 14:41:19
[2026-08-29 14:41:20,027.027 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:41:20,048.048 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:41:20,159.159 INFO    ] No existing commands found in stream
[2026-08-29 14:41:25,185.185 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:41:25,187.187 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-08-29 14:41:28,377.377 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:41:28,379.379 INFO    ] Checking for system updates...
[2026-08-29 14:41:28,399.399 INFO    ] 200
[2026-08-29 14:41:28,401.401 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:41:28,431.431 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:41:28,432.432 INFO    ] No update needed
[2026-08-29 14:41:28,433.433 INFO    ] Checking for camera pi updates...
[2026-08-29 14:41:28,454.454 INFO    ] 200
[2026-08-29 14:41:28,455.455 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:41:28,482.482 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:41:28,570.570 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:41:28,572.572 INFO    ] No camera update needed
[2026-08-29 14:41:28,575.575 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:41:28,577.577 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:41:28,583.583 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:41:28,588.588 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:41:30,630.630 INFO    ] ================================================
[2026-08-29 14:41:30,646.646 INFO    ] Launching Daemon at Sat Aug 29 14:41:30 IST 2026
[2026-08-29 14:41:30,658.658 INFO    ] ================================================
[2026-08-29 14:41:31,320.320 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:41:31
[2026-08-29 14:41:31,805.805 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:41:32,053.053 INFO    ] Initializing speech engine...
[2026-08-29 14:41:32,067.067 INFO    ] 2026-08-29 14:41:32
[2026-08-29 14:41:32,358.358 INFO    ] 2026-08-29 14:41:32
[2026-08-29 14:41:32,415.415 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:41:32,656.656 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:41:32,666.666 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:41:32,806.806 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:41:32,872.872 INFO    ] time= 29/08/2026 14:41:32
[2026-08-29 14:41:32,938.938 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:41:32,945.945 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:41:33,081.081 INFO    ] No existing commands found in stream
[2026-08-29 14:41:38,108.108 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:41:38,111.111 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-08-29 14:41:40,186.186 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:41:40,188.188 INFO    ] Checking for system updates...
[2026-08-29 14:41:40,208.208 INFO    ] 200
[2026-08-29 14:41:40,209.209 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:41:40,242.242 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:41:40,244.244 INFO    ] No update needed
[2026-08-29 14:41:40,245.245 INFO    ] Checking for camera pi updates...
[2026-08-29 14:41:40,264.264 INFO    ] 200
[2026-08-29 14:41:40,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:41:40,288.288 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:41:40,368.368 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:41:40,369.369 INFO    ] No camera update needed
[2026-08-29 14:41:40,371.371 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:41:40,372.372 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:41:40,375.375 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:41:40,377.377 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:41:42,416.416 INFO    ] ================================================
[2026-08-29 14:41:42,433.433 INFO    ] Launching Daemon at Sat Aug 29 14:41:42 IST 2026
[2026-08-29 14:41:42,445.445 INFO    ] ================================================
[2026-08-29 14:41:42,801.801 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:41:42
[2026-08-29 14:41:43,139.139 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:41:43,281.281 INFO    ] Initializing speech engine...
[2026-08-29 14:41:43,295.295 INFO    ] 2026-08-29 14:41:43
[2026-08-29 14:41:43,507.507 INFO    ] 2026-08-29 14:41:43
[2026-08-29 14:41:43,537.537 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:41:43,713.713 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:41:43,760.760 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:41:43,904.904 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:41:43,913.913 INFO    ] time= 29/08/2026 14:41:43
[2026-08-29 14:41:43,944.944 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:41:43,999.999 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:41:44,119.119 INFO    ] No existing commands found in stream
[2026-08-29 14:41:49,133.133 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:41:49,136.136 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-08-29 14:41:51,398.398 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:41:51,400.400 INFO    ] Checking for system updates...
[2026-08-29 14:41:51,421.421 INFO    ] 200
[2026-08-29 14:41:51,422.422 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:41:51,453.453 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:41:51,454.454 INFO    ] No update needed
[2026-08-29 14:41:51,455.455 INFO    ] Checking for camera pi updates...
[2026-08-29 14:41:51,475.475 INFO    ] 200
[2026-08-29 14:41:51,476.476 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:41:51,499.499 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:41:51,600.600 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:41:51,602.602 INFO    ] No camera update needed
[2026-08-29 14:41:51,603.603 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:41:51,604.604 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:41:51,608.608 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:41:51,610.610 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:41:53,649.649 INFO    ] ================================================
[2026-08-29 14:41:53,666.666 INFO    ] Launching Daemon at Sat Aug 29 14:41:53 IST 2026
[2026-08-29 14:41:53,677.677 INFO    ] ================================================
[2026-08-29 14:41:54,025.025 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:41:54
[2026-08-29 14:41:54,343.343 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:41:54,547.547 INFO    ] Initializing speech engine...
[2026-08-29 14:41:54,560.560 INFO    ] 2026-08-29 14:41:54
[2026-08-29 14:41:54,870.870 INFO    ] 2026-08-29 14:41:54
[2026-08-29 14:41:54,916.916 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:41:55,137.137 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:41:55,147.147 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:41:55,281.281 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:41:55,329.329 INFO    ] time= 29/08/2026 14:41:55
[2026-08-29 14:41:55,389.389 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:41:55,419.419 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:41:55,557.557 INFO    ] No existing commands found in stream
[2026-08-29 14:42:00,577.577 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:42:00,580.580 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 14:42:01,271.271 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:42:01,272.272 INFO    ] Checking for system updates...
[2026-08-29 14:42:01,293.293 INFO    ] 200
[2026-08-29 14:42:01,295.295 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:42:01,325.325 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:42:01,326.326 INFO    ] No update needed
[2026-08-29 14:42:01,327.327 INFO    ] Checking for camera pi updates...
[2026-08-29 14:42:01,347.347 INFO    ] 200
[2026-08-29 14:42:01,348.348 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:42:01,373.373 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:42:01,567.567 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:42:01,568.568 INFO    ] No camera update needed
[2026-08-29 14:42:01,570.570 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:42:01,571.571 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:42:01,574.574 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:42:01,577.577 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:42:03,620.620 INFO    ] ================================================
[2026-08-29 14:42:03,636.636 INFO    ] Launching Daemon at Sat Aug 29 14:42:03 IST 2026
[2026-08-29 14:42:03,652.652 INFO    ] ================================================
[2026-08-29 14:42:04,291.291 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:42:04
[2026-08-29 14:42:04,921.921 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:42:05,072.072 INFO    ] Initializing speech engine...
[2026-08-29 14:42:05,077.077 INFO    ] 2026-08-29 14:42:05
[2026-08-29 14:42:05,287.287 INFO    ] 2026-08-29 14:42:05
[2026-08-29 14:42:05,317.317 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:42:05,445.445 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:42:05,508.508 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:42:05,685.685 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:42:05,740.740 INFO    ] time= 29/08/2026 14:42:05
[2026-08-29 14:42:05,795.795 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:42:05,830.830 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:42:05,939.939 INFO    ] No existing commands found in stream
[2026-08-29 14:42:10,960.960 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:42:10,964.964 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-08-29 14:42:12,257.257 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:42:12,258.258 INFO    ] Checking for system updates...
[2026-08-29 14:42:12,279.279 INFO    ] 200
[2026-08-29 14:42:12,280.280 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:42:12,310.310 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:42:12,312.312 INFO    ] No update needed
[2026-08-29 14:42:12,313.313 INFO    ] Checking for camera pi updates...
[2026-08-29 14:42:12,333.333 INFO    ] 200
[2026-08-29 14:42:12,334.334 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:42:12,358.358 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:42:12,532.532 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:42:12,533.533 INFO    ] No camera update needed
[2026-08-29 14:42:12,535.535 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:42:12,536.536 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:42:12,539.539 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:42:12,542.542 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:42:14,581.581 INFO    ] ================================================
[2026-08-29 14:42:14,597.597 INFO    ] Launching Daemon at Sat Aug 29 14:42:14 IST 2026
[2026-08-29 14:42:14,608.608 INFO    ] ================================================
[2026-08-29 14:42:15,016.016 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:42:15
[2026-08-29 14:42:15,602.602 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:42:15,871.871 INFO    ] Initializing speech engine...
[2026-08-29 14:42:15,880.880 INFO    ] 2026-08-29 14:42:15
[2026-08-29 14:42:16,128.128 INFO    ] 2026-08-29 14:42:16
[2026-08-29 14:42:16,193.193 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:42:16,335.335 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:42:16,347.347 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:42:16,491.491 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:42:16,496.496 INFO    ] time= 29/08/2026 14:42:16
[2026-08-29 14:42:16,502.502 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:42:16,537.537 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:42:16,665.665 INFO    ] No existing commands found in stream
[2026-08-29 14:42:21,694.694 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:42:21,697.697 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-08-29 14:42:24,917.917 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:42:24,919.919 INFO    ] Checking for system updates...
[2026-08-29 14:42:24,939.939 INFO    ] 200
[2026-08-29 14:42:24,940.940 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:42:24,969.969 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:42:24,971.971 INFO    ] No update needed
[2026-08-29 14:42:24,972.972 INFO    ] Checking for camera pi updates...
[2026-08-29 14:42:24,992.992 INFO    ] 200
[2026-08-29 14:42:24,993.993 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:42:25,018.018 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:42:25,115.115 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:42:25,117.117 INFO    ] No camera update needed
[2026-08-29 14:42:25,118.118 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:42:25,119.119 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:42:25,122.122 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:42:25,125.125 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:42:27,164.164 INFO    ] ================================================
[2026-08-29 14:42:27,180.180 INFO    ] Launching Daemon at Sat Aug 29 14:42:27 IST 2026
[2026-08-29 14:42:27,191.191 INFO    ] ================================================
[2026-08-29 14:42:27,555.555 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:42:27
[2026-08-29 14:42:27,889.889 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:42:28,032.032 INFO    ] Initializing speech engine...
[2026-08-29 14:42:28,037.037 INFO    ] 2026-08-29 14:42:28
[2026-08-29 14:42:28,242.242 INFO    ] 2026-08-29 14:42:28
[2026-08-29 14:42:28,270.270 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:42:28,408.408 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:42:28,455.455 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:42:28,593.593 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:42:28,659.659 INFO    ] time= 29/08/2026 14:42:28
[2026-08-29 14:42:28,683.683 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:42:28,689.689 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:42:28,744.744 INFO    ] No existing commands found in stream
[2026-08-29 14:42:33,753.753 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:42:33,755.755 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-08-29 14:42:34,931.931 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:42:34,934.934 INFO    ] Checking for system updates...
[2026-08-29 14:42:34,970.970 INFO    ] 200
[2026-08-29 14:42:34,973.973 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:42:35,026.026 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:42:35,029.029 INFO    ] No update needed
[2026-08-29 14:42:35,032.032 INFO    ] Checking for camera pi updates...
[2026-08-29 14:42:35,055.055 INFO    ] 200
[2026-08-29 14:42:35,056.056 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:42:35,081.081 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:42:35,155.155 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:42:35,157.157 INFO    ] No camera update needed
[2026-08-29 14:42:35,158.158 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:42:35,160.160 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:42:35,163.163 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:42:35,166.166 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:42:37,206.206 INFO    ] ================================================
[2026-08-29 14:42:37,228.228 INFO    ] Launching Daemon at Sat Aug 29 14:42:37 IST 2026
[2026-08-29 14:42:37,239.239 INFO    ] ================================================
[2026-08-29 14:42:37,740.740 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:42:37
[2026-08-29 14:42:38,323.323 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:42:38,591.591 INFO    ] Initializing speech engine...
[2026-08-29 14:42:38,601.601 INFO    ] 2026-08-29 14:42:38
[2026-08-29 14:42:38,848.848 INFO    ] 2026-08-29 14:42:38
[2026-08-29 14:42:38,882.882 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:42:39,063.063 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:42:39,083.083 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:42:39,211.211 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:42:39,218.218 INFO    ] time= 29/08/2026 14:42:39
[2026-08-29 14:42:39,266.266 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:42:39,287.287 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:42:39,396.396 INFO    ] No existing commands found in stream
[2026-08-29 14:42:44,420.420 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:42:44,423.423 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-08-29 14:42:46,207.207 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:42:46,208.208 INFO    ] Checking for system updates...
[2026-08-29 14:42:46,228.228 INFO    ] 200
[2026-08-29 14:42:46,230.230 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:42:46,259.259 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:42:46,261.261 INFO    ] No update needed
[2026-08-29 14:42:46,262.262 INFO    ] Checking for camera pi updates...
[2026-08-29 14:42:46,281.281 INFO    ] 200
[2026-08-29 14:42:46,282.282 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:42:46,310.310 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:42:46,388.388 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:42:46,389.389 INFO    ] No camera update needed
[2026-08-29 14:42:46,390.390 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:42:46,392.392 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:42:46,395.395 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:42:46,397.397 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:42:48,436.436 INFO    ] ================================================
[2026-08-29 14:42:48,452.452 INFO    ] Launching Daemon at Sat Aug 29 14:42:48 IST 2026
[2026-08-29 14:42:48,463.463 INFO    ] ================================================
[2026-08-29 14:42:49,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:42:49
[2026-08-29 14:42:49,739.739 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:42:50,049.049 INFO    ] Initializing speech engine...
[2026-08-29 14:42:50,061.061 INFO    ] 2026-08-29 14:42:50
[2026-08-29 14:42:50,372.372 INFO    ] 2026-08-29 14:42:50
[2026-08-29 14:42:50,457.457 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:42:50,611.611 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:42:50,618.618 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:42:50,754.754 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:42:50,804.804 INFO    ] time= 29/08/2026 14:42:50
[2026-08-29 14:42:50,864.864 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:42:50,885.885 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:42:50,945.945 INFO    ] No existing commands found in stream
[2026-08-29 14:42:55,960.960 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:42:55,963.963 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-08-29 14:42:57,714.714 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:42:57,716.716 INFO    ] Checking for system updates...
[2026-08-29 14:42:57,736.736 INFO    ] 200
[2026-08-29 14:42:57,738.738 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:42:57,768.768 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:42:57,769.769 INFO    ] No update needed
[2026-08-29 14:42:57,770.770 INFO    ] Checking for camera pi updates...
[2026-08-29 14:42:57,791.791 INFO    ] 200
[2026-08-29 14:42:57,793.793 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:42:57,818.818 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:42:57,898.898 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:42:57,899.899 INFO    ] No camera update needed
[2026-08-29 14:42:57,901.901 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:42:57,902.902 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:42:57,906.906 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:42:57,909.909 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:42:59,948.948 INFO    ] ================================================
[2026-08-29 14:42:59,964.964 INFO    ] Launching Daemon at Sat Aug 29 14:42:59 IST 2026
[2026-08-29 14:42:59,975.975 INFO    ] ================================================
[2026-08-29 14:43:00,298.298 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:43:00
[2026-08-29 14:43:00,610.610 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:43:00,838.838 INFO    ] Initializing speech engine...
[2026-08-29 14:43:00,847.847 INFO    ] 2026-08-29 14:43:00
[2026-08-29 14:43:01,092.092 INFO    ] 2026-08-29 14:43:01
[2026-08-29 14:43:01,128.128 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:43:01,298.298 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:43:01,312.312 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:43:01,469.469 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:43:01,519.519 INFO    ] time= 29/08/2026 14:43:01
[2026-08-29 14:43:01,554.554 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:43:01,579.579 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:43:01,635.635 INFO    ] No existing commands found in stream
[2026-08-29 14:43:06,644.644 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:43:06,647.647 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-08-29 14:43:09,162.162 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:43:09,163.163 INFO    ] Checking for system updates...
[2026-08-29 14:43:09,184.184 INFO    ] 200
[2026-08-29 14:43:09,185.185 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:43:09,215.215 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:43:09,217.217 INFO    ] No update needed
[2026-08-29 14:43:09,218.218 INFO    ] Checking for camera pi updates...
[2026-08-29 14:43:09,237.237 INFO    ] 200
[2026-08-29 14:43:09,239.239 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:43:09,262.262 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:43:09,360.360 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:43:09,361.361 INFO    ] No camera update needed
[2026-08-29 14:43:09,363.363 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:43:09,364.364 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:43:09,367.367 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:43:09,370.370 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:43:11,410.410 INFO    ] ================================================
[2026-08-29 14:43:11,426.426 INFO    ] Launching Daemon at Sat Aug 29 14:43:11 IST 2026
[2026-08-29 14:43:11,437.437 INFO    ] ================================================
[2026-08-29 14:43:11,799.799 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:43:11
[2026-08-29 14:43:12,110.110 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:43:12,251.251 INFO    ] Initializing speech engine...
[2026-08-29 14:43:12,256.256 INFO    ] 2026-08-29 14:43:12
[2026-08-29 14:43:12,474.474 INFO    ] 2026-08-29 14:43:12
[2026-08-29 14:43:12,549.549 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:43:12,706.706 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:43:12,715.715 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:43:12,847.847 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:43:12,863.863 INFO    ] time= 29/08/2026 14:43:12
[2026-08-29 14:43:12,923.923 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:43:12,980.980 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:43:13,036.036 INFO    ] No existing commands found in stream
[2026-08-29 14:43:18,048.048 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:43:18,051.051 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 14:43:18,686.686 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:43:18,687.687 INFO    ] Checking for system updates...
[2026-08-29 14:43:18,707.707 INFO    ] 200
[2026-08-29 14:43:18,709.709 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:43:18,739.739 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:43:18,740.740 INFO    ] No update needed
[2026-08-29 14:43:18,741.741 INFO    ] Checking for camera pi updates...
[2026-08-29 14:43:18,761.761 INFO    ] 200
[2026-08-29 14:43:18,762.762 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:43:18,786.786 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:43:18,862.862 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:43:18,863.863 INFO    ] No camera update needed
[2026-08-29 14:43:18,865.865 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:43:18,866.866 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:43:18,869.869 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:43:18,871.871 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:43:20,911.911 INFO    ] ================================================
[2026-08-29 14:43:20,934.934 INFO    ] Launching Daemon at Sat Aug 29 14:43:20 IST 2026
[2026-08-29 14:43:20,944.944 INFO    ] ================================================
[2026-08-29 14:43:21,269.269 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:43:21
[2026-08-29 14:43:21,581.581 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:43:21,786.786 INFO    ] Initializing speech engine...
[2026-08-29 14:43:21,798.798 INFO    ] 2026-08-29 14:43:21
[2026-08-29 14:43:22,079.079 INFO    ] 2026-08-29 14:43:22
[2026-08-29 14:43:22,117.117 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:43:22,315.315 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:43:22,321.321 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:43:22,431.431 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:43:22,436.436 INFO    ] time= 29/08/2026 14:43:22
[2026-08-29 14:43:22,441.441 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:43:22,464.464 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:43:22,521.521 INFO    ] No existing commands found in stream
[2026-08-29 14:43:27,533.533 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:43:27,536.536 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-08-29 14:43:29,337.337 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:43:29,339.339 INFO    ] Checking for system updates...
[2026-08-29 14:43:29,359.359 INFO    ] 200
[2026-08-29 14:43:29,361.361 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:43:29,392.392 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:43:29,393.393 INFO    ] No update needed
[2026-08-29 14:43:29,395.395 INFO    ] Checking for camera pi updates...
[2026-08-29 14:43:29,414.414 INFO    ] 200
[2026-08-29 14:43:29,415.415 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:43:29,438.438 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:43:29,540.540 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:43:29,542.542 INFO    ] No camera update needed
[2026-08-29 14:43:29,543.543 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:43:29,544.544 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:43:29,547.547 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:43:29,550.550 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:43:31,589.589 INFO    ] ================================================
[2026-08-29 14:43:31,615.615 INFO    ] Launching Daemon at Sat Aug 29 14:43:31 IST 2026
[2026-08-29 14:43:31,628.628 INFO    ] ================================================
[2026-08-29 14:43:32,251.251 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:43:32
[2026-08-29 14:43:32,970.970 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:43:33,281.281 INFO    ] Initializing speech engine...
[2026-08-29 14:43:33,293.293 INFO    ] 2026-08-29 14:43:33
[2026-08-29 14:43:33,607.607 INFO    ] 2026-08-29 14:43:33
[2026-08-29 14:43:33,691.691 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:43:33,845.845 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:43:33,852.852 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:43:33,972.972 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:43:34,008.008 INFO    ] time= 29/08/2026 14:43:33
[2026-08-29 14:43:34,063.063 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:43:34,123.123 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:43:34,184.184 INFO    ] No existing commands found in stream
[2026-08-29 14:43:39,196.196 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:43:39,200.200 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-08-29 14:43:40,000.000 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:43:40,001.001 INFO    ] Checking for system updates...
[2026-08-29 14:43:40,022.022 INFO    ] 200
[2026-08-29 14:43:40,024.024 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:43:40,054.054 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:43:40,056.056 INFO    ] No update needed
[2026-08-29 14:43:40,057.057 INFO    ] Checking for camera pi updates...
[2026-08-29 14:43:40,076.076 INFO    ] 200
[2026-08-29 14:43:40,077.077 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:43:40,109.109 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:43:40,206.206 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:43:40,209.209 INFO    ] No camera update needed
[2026-08-29 14:43:40,211.211 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:43:40,213.213 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:43:40,219.219 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:43:40,223.223 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:43:42,263.263 INFO    ] ================================================
[2026-08-29 14:43:42,278.278 INFO    ] Launching Daemon at Sat Aug 29 14:43:42 IST 2026
[2026-08-29 14:43:42,289.289 INFO    ] ================================================
[2026-08-29 14:43:42,920.920 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:43:42
[2026-08-29 14:43:43,403.403 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:43:43,557.557 INFO    ] Initializing speech engine...
[2026-08-29 14:43:43,562.562 INFO    ] 2026-08-29 14:43:43
[2026-08-29 14:43:43,811.811 INFO    ] 2026-08-29 14:43:43
[2026-08-29 14:43:43,867.867 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:43:44,036.036 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:43:44,040.040 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:43:44,204.204 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:43:44,247.247 INFO    ] time= 29/08/2026 14:43:44
[2026-08-29 14:43:44,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:43:44,296.296 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:43:44,403.403 INFO    ] No existing commands found in stream
[2026-08-29 14:43:49,433.433 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:43:49,436.436 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-08-29 14:43:49,791.791 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:43:49,793.793 INFO    ] Checking for system updates...
[2026-08-29 14:43:49,813.813 INFO    ] 200
[2026-08-29 14:43:49,815.815 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:43:49,845.845 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:43:49,846.846 INFO    ] No update needed
[2026-08-29 14:43:49,847.847 INFO    ] Checking for camera pi updates...
[2026-08-29 14:43:49,867.867 INFO    ] 200
[2026-08-29 14:43:49,868.868 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:43:49,890.890 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:43:49,971.971 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:43:49,973.973 INFO    ] No camera update needed
[2026-08-29 14:43:49,974.974 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:43:49,975.975 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:43:49,978.978 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:43:49,981.981 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:43:52,018.018 INFO    ] ================================================
[2026-08-29 14:43:52,033.033 INFO    ] Launching Daemon at Sat Aug 29 14:43:52 IST 2026
[2026-08-29 14:43:52,044.044 INFO    ] ================================================
[2026-08-29 14:43:52,550.550 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:43:52
[2026-08-29 14:43:53,134.134 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:43:53,395.395 INFO    ] Initializing speech engine...
[2026-08-29 14:43:53,413.413 INFO    ] 2026-08-29 14:43:53
[2026-08-29 14:43:53,666.666 INFO    ] 2026-08-29 14:43:53
[2026-08-29 14:43:53,701.701 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:43:53,885.885 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:43:53,902.902 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:43:54,033.033 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:43:54,089.089 INFO    ] time= 29/08/2026 14:43:54
[2026-08-29 14:43:54,111.111 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:43:54,132.132 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:43:54,246.246 INFO    ] No existing commands found in stream
[2026-08-29 14:43:59,256.256 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:43:59,259.259 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-08-29 14:44:02,768.768 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:44:02,771.771 INFO    ] Checking for system updates...
[2026-08-29 14:44:02,820.820 INFO    ] 200
[2026-08-29 14:44:02,824.824 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:44:02,909.909 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:44:02,916.916 INFO    ] No update needed
[2026-08-29 14:44:02,920.920 INFO    ] Checking for camera pi updates...
[2026-08-29 14:44:02,976.976 INFO    ] 200
[2026-08-29 14:44:02,980.980 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:44:03,031.031 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:44:03,121.121 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:44:03,125.125 INFO    ] No camera update needed
[2026-08-29 14:44:03,128.128 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:44:03,131.131 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:44:03,138.138 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:44:03,145.145 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:44:05,184.184 INFO    ] ================================================
[2026-08-29 14:44:05,200.200 INFO    ] Launching Daemon at Sat Aug 29 14:44:05 IST 2026
[2026-08-29 14:44:05,211.211 INFO    ] ================================================
[2026-08-29 14:44:05,768.768 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:44:05
[2026-08-29 14:44:06,384.384 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:44:06,641.641 INFO    ] Initializing speech engine...
[2026-08-29 14:44:06,649.649 INFO    ] 2026-08-29 14:44:06
[2026-08-29 14:44:06,930.930 INFO    ] 2026-08-29 14:44:06
[2026-08-29 14:44:06,967.967 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:44:07,142.142 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:44:07,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:44:07,300.300 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:44:07,308.308 INFO    ] time= 29/08/2026 14:44:07
[2026-08-29 14:44:07,349.349 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:44:07,378.378 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:44:07,503.503 INFO    ] No existing commands found in stream
[2026-08-29 14:44:12,513.513 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:44:12,516.516 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-08-29 14:44:16,757.757 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:44:16,758.758 INFO    ] Checking for system updates...
[2026-08-29 14:44:16,779.779 INFO    ] 200
[2026-08-29 14:44:16,780.780 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:44:16,812.812 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:44:16,813.813 INFO    ] No update needed
[2026-08-29 14:44:16,815.815 INFO    ] Checking for camera pi updates...
[2026-08-29 14:44:16,834.834 INFO    ] 200
[2026-08-29 14:44:16,835.835 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:44:16,860.860 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:44:17,037.037 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:44:17,038.038 INFO    ] No camera update needed
[2026-08-29 14:44:17,040.040 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:44:17,041.041 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:44:17,044.044 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:44:17,047.047 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:44:19,086.086 INFO    ] ================================================
[2026-08-29 14:44:19,101.101 INFO    ] Launching Daemon at Sat Aug 29 14:44:19 IST 2026
[2026-08-29 14:44:19,111.111 INFO    ] ================================================
[2026-08-29 14:44:19,470.470 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:44:19
[2026-08-29 14:44:20,006.006 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:44:20,258.258 INFO    ] Initializing speech engine...
[2026-08-29 14:44:20,271.271 INFO    ] 2026-08-29 14:44:20
[2026-08-29 14:44:20,537.537 INFO    ] 2026-08-29 14:44:20
[2026-08-29 14:44:20,571.571 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:44:20,748.748 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:44:20,763.763 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:44:20,906.906 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:44:20,915.915 INFO    ] time= 29/08/2026 14:44:20
[2026-08-29 14:44:20,921.921 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:44:20,963.963 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:44:21,092.092 INFO    ] No existing commands found in stream
[2026-08-29 14:44:26,114.114 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:44:26,117.117 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 14:44:26,700.700 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:44:26,702.702 INFO    ] Checking for system updates...
[2026-08-29 14:44:26,722.722 INFO    ] 200
[2026-08-29 14:44:26,724.724 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:44:26,754.754 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:44:26,756.756 INFO    ] No update needed
[2026-08-29 14:44:26,757.757 INFO    ] Checking for camera pi updates...
[2026-08-29 14:44:26,778.778 INFO    ] 200
[2026-08-29 14:44:26,779.779 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:44:26,804.804 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:44:26,954.954 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:44:26,955.955 INFO    ] No camera update needed
[2026-08-29 14:44:26,956.956 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:44:26,958.958 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:44:26,960.960 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:44:26,963.963 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:44:29,002.002 INFO    ] ================================================
[2026-08-29 14:44:29,017.017 INFO    ] Launching Daemon at Sat Aug 29 14:44:29 IST 2026
[2026-08-29 14:44:29,028.028 INFO    ] ================================================
[2026-08-29 14:44:29,572.572 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:44:29
[2026-08-29 14:44:30,175.175 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:44:30,449.449 INFO    ] Initializing speech engine...
[2026-08-29 14:44:30,459.459 INFO    ] 2026-08-29 14:44:30
[2026-08-29 14:44:30,721.721 INFO    ] 2026-08-29 14:44:30
[2026-08-29 14:44:30,776.776 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:44:30,939.939 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:44:30,972.972 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:44:31,140.140 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:44:31,177.177 INFO    ] time= 29/08/2026 14:44:31
[2026-08-29 14:44:31,226.226 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:44:31,274.274 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:44:31,333.333 INFO    ] No existing commands found in stream
[2026-08-29 14:44:36,345.345 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:44:36,347.347 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-08-29 14:44:37,521.521 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:44:37,522.522 INFO    ] Checking for system updates...
[2026-08-29 14:44:37,544.544 INFO    ] 200
[2026-08-29 14:44:37,546.546 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:44:37,576.576 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:44:37,577.577 INFO    ] No update needed
[2026-08-29 14:44:37,578.578 INFO    ] Checking for camera pi updates...
[2026-08-29 14:44:37,598.598 INFO    ] 200
[2026-08-29 14:44:37,599.599 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:44:37,623.623 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:44:37,713.713 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:44:37,715.715 INFO    ] No camera update needed
[2026-08-29 14:44:37,716.716 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:44:37,718.718 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:44:37,721.721 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:44:37,724.724 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:44:39,762.762 INFO    ] ================================================
[2026-08-29 14:44:39,777.777 INFO    ] Launching Daemon at Sat Aug 29 14:44:39 IST 2026
[2026-08-29 14:44:39,788.788 INFO    ] ================================================
[2026-08-29 14:44:40,141.141 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:44:40
[2026-08-29 14:44:40,459.459 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:44:40,608.608 INFO    ] Initializing speech engine...
[2026-08-29 14:44:40,612.612 INFO    ] 2026-08-29 14:44:40
[2026-08-29 14:44:40,816.816 INFO    ] 2026-08-29 14:44:40
[2026-08-29 14:44:40,846.846 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:44:40,968.968 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:44:41,017.017 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:44:41,166.166 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:44:41,223.223 INFO    ] time= 29/08/2026 14:44:41
[2026-08-29 14:44:41,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:44:41,268.268 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:44:41,340.340 INFO    ] No existing commands found in stream
[2026-08-29 14:44:46,351.351 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:44:46,354.354 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-08-29 14:44:49,124.124 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:44:49,125.125 INFO    ] Checking for system updates...
[2026-08-29 14:44:49,146.146 INFO    ] 200
[2026-08-29 14:44:49,147.147 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:44:49,177.177 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:44:49,178.178 INFO    ] No update needed
[2026-08-29 14:44:49,179.179 INFO    ] Checking for camera pi updates...
[2026-08-29 14:44:49,213.213 INFO    ] 200
[2026-08-29 14:44:49,216.216 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:44:49,258.258 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:44:49,363.363 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:44:49,365.365 INFO    ] No camera update needed
[2026-08-29 14:44:49,367.367 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:44:49,370.370 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:44:49,375.375 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:44:49,380.380 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:44:51,420.420 INFO    ] ================================================
[2026-08-29 14:44:51,435.435 INFO    ] Launching Daemon at Sat Aug 29 14:44:51 IST 2026
[2026-08-29 14:44:51,445.445 INFO    ] ================================================
[2026-08-29 14:44:52,034.034 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:44:52
[2026-08-29 14:44:52,481.481 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:44:52,614.614 INFO    ] Initializing speech engine...
[2026-08-29 14:44:52,622.622 INFO    ] 2026-08-29 14:44:52
[2026-08-29 14:44:52,809.809 INFO    ] 2026-08-29 14:44:52
[2026-08-29 14:44:52,845.845 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:44:53,018.018 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:44:53,040.040 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:44:53,140.140 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:44:53,158.158 INFO    ] time= 29/08/2026 14:44:53
[2026-08-29 14:44:53,178.178 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:44:53,186.186 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:44:53,256.256 INFO    ] No existing commands found in stream
[2026-08-29 14:44:58,271.271 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:44:58,274.274 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-08-29 14:44:59,030.030 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:44:59,032.032 INFO    ] Checking for system updates...
[2026-08-29 14:44:59,054.054 INFO    ] 200
[2026-08-29 14:44:59,055.055 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:44:59,086.086 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:44:59,087.087 INFO    ] No update needed
[2026-08-29 14:44:59,089.089 INFO    ] Checking for camera pi updates...
[2026-08-29 14:44:59,108.108 INFO    ] 200
[2026-08-29 14:44:59,109.109 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:44:59,135.135 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:44:59,227.227 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:44:59,228.228 INFO    ] No camera update needed
[2026-08-29 14:44:59,230.230 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:44:59,231.231 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:44:59,234.234 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:44:59,236.236 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:45:01,278.278 INFO    ] ================================================
[2026-08-29 14:45:01,294.294 INFO    ] Launching Daemon at Sat Aug 29 14:45:01 IST 2026
[2026-08-29 14:45:01,305.305 INFO    ] ================================================
[2026-08-29 14:45:02,505.505 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:45:02
[2026-08-29 14:45:03,270.270 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:45:03,574.574 INFO    ] Initializing speech engine...
[2026-08-29 14:45:03,587.587 INFO    ] 2026-08-29 14:45:03
[2026-08-29 14:45:03,859.859 INFO    ] 2026-08-29 14:45:03
[2026-08-29 14:45:03,894.894 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:45:04,063.063 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:45:04,078.078 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:45:04,218.218 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:45:04,232.232 INFO    ] time= 29/08/2026 14:45:04
[2026-08-29 14:45:04,238.238 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:45:04,299.299 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:45:04,388.388 INFO    ] No existing commands found in stream
[2026-08-29 14:45:09,413.413 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:45:09,421.421 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-08-29 14:45:12,521.521 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:45:12,523.523 INFO    ] Checking for system updates...
[2026-08-29 14:45:12,543.543 INFO    ] 200
[2026-08-29 14:45:12,544.544 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:45:12,574.574 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:45:12,576.576 INFO    ] No update needed
[2026-08-29 14:45:12,577.577 INFO    ] Checking for camera pi updates...
[2026-08-29 14:45:12,596.596 INFO    ] 200
[2026-08-29 14:45:12,597.597 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:45:12,623.623 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:45:12,673.673 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:45:12,675.675 INFO    ] No camera update needed
[2026-08-29 14:45:12,676.676 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:45:12,677.677 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:45:12,680.680 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:45:12,683.683 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:45:14,723.723 INFO    ] ================================================
[2026-08-29 14:45:14,738.738 INFO    ] Launching Daemon at Sat Aug 29 14:45:14 IST 2026
[2026-08-29 14:45:14,749.749 INFO    ] ================================================
[2026-08-29 14:45:15,079.079 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:45:15
[2026-08-29 14:45:15,643.643 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:45:15,918.918 INFO    ] Initializing speech engine...
[2026-08-29 14:45:15,929.929 INFO    ] 2026-08-29 14:45:15
[2026-08-29 14:45:16,212.212 INFO    ] 2026-08-29 14:45:16
[2026-08-29 14:45:16,273.273 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:45:16,440.440 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:45:16,455.455 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:45:16,613.613 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:45:16,637.637 INFO    ] time= 29/08/2026 14:45:16
[2026-08-29 14:45:16,646.646 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:45:16,663.663 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:45:16,741.741 INFO    ] No existing commands found in stream
[2026-08-29 14:45:21,756.756 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:45:21,759.759 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-08-29 14:45:24,789.789 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:45:24,791.791 INFO    ] Checking for system updates...
[2026-08-29 14:45:24,813.813 INFO    ] 200
[2026-08-29 14:45:24,814.814 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:45:24,846.846 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:45:24,847.847 INFO    ] No update needed
[2026-08-29 14:45:24,849.849 INFO    ] Checking for camera pi updates...
[2026-08-29 14:45:24,869.869 INFO    ] 200
[2026-08-29 14:45:24,870.870 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:45:24,894.894 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:45:24,981.981 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:45:24,982.982 INFO    ] No camera update needed
[2026-08-29 14:45:24,984.984 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:45:24,985.985 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:45:24,988.988 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:45:24,990.990 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:45:27,032.032 INFO    ] ================================================
[2026-08-29 14:45:27,054.054 INFO    ] Launching Daemon at Sat Aug 29 14:45:27 IST 2026
[2026-08-29 14:45:27,066.066 INFO    ] ================================================
[2026-08-29 14:45:27,413.413 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:45:27
[2026-08-29 14:45:27,758.758 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:45:28,099.099 INFO    ] Initializing speech engine...
[2026-08-29 14:45:28,109.109 INFO    ] 2026-08-29 14:45:28
[2026-08-29 14:45:28,404.404 INFO    ] 2026-08-29 14:45:28
[2026-08-29 14:45:28,461.461 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:45:28,638.638 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:45:28,666.666 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:45:28,783.783 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:45:28,788.788 INFO    ] time= 29/08/2026 14:45:28
[2026-08-29 14:45:28,794.794 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:45:28,827.827 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:45:28,970.970 INFO    ] No existing commands found in stream
[2026-08-29 14:45:33,997.997 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:45:34,000.000 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-08-29 14:45:34,980.980 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:45:34,982.982 INFO    ] Checking for system updates...
[2026-08-29 14:45:35,005.005 INFO    ] 200
[2026-08-29 14:45:35,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:45:35,036.036 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:45:35,038.038 INFO    ] No update needed
[2026-08-29 14:45:35,039.039 INFO    ] Checking for camera pi updates...
[2026-08-29 14:45:35,058.058 INFO    ] 200
[2026-08-29 14:45:35,059.059 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:45:35,083.083 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:45:35,194.194 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:45:35,195.195 INFO    ] No camera update needed
[2026-08-29 14:45:35,196.196 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:45:35,198.198 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:45:35,200.200 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:45:35,203.203 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:45:37,241.241 INFO    ] ================================================
[2026-08-29 14:45:37,257.257 INFO    ] Launching Daemon at Sat Aug 29 14:45:37 IST 2026
[2026-08-29 14:45:37,268.268 INFO    ] ================================================
[2026-08-29 14:45:37,627.627 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:45:37
[2026-08-29 14:45:37,944.944 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:45:38,076.076 INFO    ] Initializing speech engine...
[2026-08-29 14:45:38,090.090 INFO    ] 2026-08-29 14:45:38
[2026-08-29 14:45:38,309.309 INFO    ] 2026-08-29 14:45:38
[2026-08-29 14:45:38,393.393 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:45:38,543.543 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:45:38,552.552 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:45:38,685.685 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:45:38,706.706 INFO    ] time= 29/08/2026 14:45:38
[2026-08-29 14:45:38,766.766 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:45:38,810.810 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:45:38,874.874 INFO    ] No existing commands found in stream
[2026-08-29 14:45:43,885.885 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:45:43,888.888 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-08-29 14:45:48,035.035 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:45:48,036.036 INFO    ] Checking for system updates...
[2026-08-29 14:45:48,058.058 INFO    ] 200
[2026-08-29 14:45:48,059.059 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:45:48,092.092 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:45:48,093.093 INFO    ] No update needed
[2026-08-29 14:45:48,094.094 INFO    ] Checking for camera pi updates...
[2026-08-29 14:45:48,115.115 INFO    ] 200
[2026-08-29 14:45:48,116.116 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:45:48,141.141 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:45:48,237.237 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:45:48,238.238 INFO    ] No camera update needed
[2026-08-29 14:45:48,239.239 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:45:48,241.241 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:45:48,244.244 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:45:48,246.246 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:45:50,285.285 INFO    ] ================================================
[2026-08-29 14:45:50,300.300 INFO    ] Launching Daemon at Sat Aug 29 14:45:50 IST 2026
[2026-08-29 14:45:50,311.311 INFO    ] ================================================
[2026-08-29 14:45:50,681.681 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:45:50
[2026-08-29 14:45:50,995.995 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:45:51,127.127 INFO    ] Initializing speech engine...
[2026-08-29 14:45:51,140.140 INFO    ] 2026-08-29 14:45:51
[2026-08-29 14:45:51,349.349 INFO    ] 2026-08-29 14:45:51
[2026-08-29 14:45:51,379.379 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:45:51,515.515 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:45:51,524.524 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:45:51,683.683 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:45:51,729.729 INFO    ] time= 29/08/2026 14:45:51
[2026-08-29 14:45:51,735.735 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:45:51,756.756 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:45:51,868.868 INFO    ] No existing commands found in stream
[2026-08-29 14:45:56,893.893 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:45:56,896.896 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-08-29 14:45:58,392.392 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:45:58,393.393 INFO    ] Checking for system updates...
[2026-08-29 14:45:58,418.418 INFO    ] 200
[2026-08-29 14:45:58,420.420 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:45:58,450.450 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:45:58,451.451 INFO    ] No update needed
[2026-08-29 14:45:58,453.453 INFO    ] Checking for camera pi updates...
[2026-08-29 14:45:58,473.473 INFO    ] 200
[2026-08-29 14:45:58,474.474 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:45:58,498.498 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:45:58,590.590 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:45:58,593.593 INFO    ] No camera update needed
[2026-08-29 14:45:58,596.596 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:45:58,599.599 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:45:58,605.605 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:45:58,611.611 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:46:00,653.653 INFO    ] ================================================
[2026-08-29 14:46:00,668.668 INFO    ] Launching Daemon at Sat Aug 29 14:46:00 IST 2026
[2026-08-29 14:46:00,679.679 INFO    ] ================================================
[2026-08-29 14:46:01,249.249 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:46:01
[2026-08-29 14:46:01,728.728 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:46:02,260.260 INFO    ] Initializing speech engine...
[2026-08-29 14:46:02,280.280 INFO    ] 2026-08-29 14:46:02
[2026-08-29 14:46:02,640.640 INFO    ] 2026-08-29 14:46:02
[2026-08-29 14:46:02,691.691 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:46:02,865.865 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:46:02,916.916 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:46:03,056.056 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:46:03,077.077 INFO    ] time= 29/08/2026 14:46:03
[2026-08-29 14:46:03,087.087 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:46:03,121.121 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:46:03,238.238 INFO    ] No existing commands found in stream
[2026-08-29 14:46:08,264.264 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:46:08,267.267 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-08-29 14:46:10,111.111 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:46:10,113.113 INFO    ] Checking for system updates...
[2026-08-29 14:46:10,134.134 INFO    ] 200
[2026-08-29 14:46:10,135.135 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:46:10,167.167 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:46:10,169.169 INFO    ] No update needed
[2026-08-29 14:46:10,170.170 INFO    ] Checking for camera pi updates...
[2026-08-29 14:46:10,202.202 INFO    ] 200
[2026-08-29 14:46:10,205.205 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:46:10,250.250 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:46:10,338.338 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:46:10,340.340 INFO    ] No camera update needed
[2026-08-29 14:46:10,343.343 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:46:10,345.345 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:46:10,350.350 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:46:10,355.355 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:46:12,394.394 INFO    ] ================================================
[2026-08-29 14:46:12,410.410 INFO    ] Launching Daemon at Sat Aug 29 14:46:12 IST 2026
[2026-08-29 14:46:12,420.420 INFO    ] ================================================
[2026-08-29 14:46:13,003.003 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:46:13
[2026-08-29 14:46:13,464.464 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:46:13,608.608 INFO    ] Initializing speech engine...
[2026-08-29 14:46:13,613.613 INFO    ] 2026-08-29 14:46:13
[2026-08-29 14:46:13,808.808 INFO    ] 2026-08-29 14:46:13
[2026-08-29 14:46:13,851.851 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:46:14,079.079 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:46:14,088.088 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:46:14,222.222 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:46:14,248.248 INFO    ] time= 29/08/2026 14:46:14
[2026-08-29 14:46:14,303.303 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:46:14,352.352 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:46:14,409.409 INFO    ] No existing commands found in stream
[2026-08-29 14:46:19,420.420 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:46:19,423.423 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-08-29 14:46:22,156.156 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:46:22,157.157 INFO    ] Checking for system updates...
[2026-08-29 14:46:22,179.179 INFO    ] 200
[2026-08-29 14:46:22,180.180 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:46:22,209.209 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:46:22,211.211 INFO    ] No update needed
[2026-08-29 14:46:22,212.212 INFO    ] Checking for camera pi updates...
[2026-08-29 14:46:22,233.233 INFO    ] 200
[2026-08-29 14:46:22,234.234 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:46:22,259.259 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:46:22,456.456 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:46:22,458.458 INFO    ] No camera update needed
[2026-08-29 14:46:22,459.459 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:46:22,460.460 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:46:22,464.464 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:46:22,466.466 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:46:24,507.507 INFO    ] ================================================
[2026-08-29 14:46:24,523.523 INFO    ] Launching Daemon at Sat Aug 29 14:46:24 IST 2026
[2026-08-29 14:46:24,535.535 INFO    ] ================================================
[2026-08-29 14:46:24,906.906 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:46:24
[2026-08-29 14:46:25,245.245 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:46:25,396.396 INFO    ] Initializing speech engine...
[2026-08-29 14:46:25,402.402 INFO    ] 2026-08-29 14:46:25
[2026-08-29 14:46:25,609.609 INFO    ] 2026-08-29 14:46:25
[2026-08-29 14:46:25,638.638 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:46:25,802.802 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:46:25,821.821 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:46:25,989.989 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:46:25,998.998 INFO    ] time= 29/08/2026 14:46:25
[2026-08-29 14:46:26,014.014 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:46:26,078.078 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:46:26,203.203 INFO    ] No existing commands found in stream
[2026-08-29 14:46:31,215.215 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:46:31,218.218 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-08-29 14:46:35,484.484 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:46:35,486.486 INFO    ] Checking for system updates...
[2026-08-29 14:46:35,506.506 INFO    ] 200
[2026-08-29 14:46:35,508.508 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:46:35,538.538 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:46:35,540.540 INFO    ] No update needed
[2026-08-29 14:46:35,541.541 INFO    ] Checking for camera pi updates...
[2026-08-29 14:46:35,561.561 INFO    ] 200
[2026-08-29 14:46:35,563.563 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:46:35,588.588 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:46:35,694.694 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:46:35,696.696 INFO    ] No camera update needed
[2026-08-29 14:46:35,697.697 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:46:35,699.699 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:46:35,702.702 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:46:35,705.705 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:46:37,745.745 INFO    ] ================================================
[2026-08-29 14:46:37,761.761 INFO    ] Launching Daemon at Sat Aug 29 14:46:37 IST 2026
[2026-08-29 14:46:37,772.772 INFO    ] ================================================
[2026-08-29 14:46:38,164.164 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:46:38
[2026-08-29 14:46:38,509.509 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:46:38,714.714 INFO    ] Initializing speech engine...
[2026-08-29 14:46:38,728.728 INFO    ] 2026-08-29 14:46:38
[2026-08-29 14:46:39,042.042 INFO    ] 2026-08-29 14:46:39
[2026-08-29 14:46:39,128.128 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:46:39,284.284 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:46:39,291.291 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:46:39,424.424 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:46:39,474.474 INFO    ] time= 29/08/2026 14:46:39
[2026-08-29 14:46:39,544.544 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:46:39,559.559 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:46:39,696.696 INFO    ] No existing commands found in stream
[2026-08-29 14:46:44,724.724 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:46:44,727.727 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-08-29 14:46:46,962.962 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:46:46,964.964 INFO    ] Checking for system updates...
[2026-08-29 14:46:46,984.984 INFO    ] 200
[2026-08-29 14:46:46,986.986 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:46:47,035.035 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:46:47,037.037 INFO    ] No update needed
[2026-08-29 14:46:47,040.040 INFO    ] Checking for camera pi updates...
[2026-08-29 14:46:47,080.080 INFO    ] 200
[2026-08-29 14:46:47,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:46:47,130.130 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:46:47,212.212 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:46:47,215.215 INFO    ] No camera update needed
[2026-08-29 14:46:47,218.218 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:46:47,220.220 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:46:47,227.227 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:46:47,233.233 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:46:49,278.278 INFO    ] ================================================
[2026-08-29 14:46:49,294.294 INFO    ] Launching Daemon at Sat Aug 29 14:46:49 IST 2026
[2026-08-29 14:46:49,305.305 INFO    ] ================================================
[2026-08-29 14:46:49,873.873 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:46:49
[2026-08-29 14:46:50,305.305 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:46:50,438.438 INFO    ] Initializing speech engine...
[2026-08-29 14:46:50,443.443 INFO    ] 2026-08-29 14:46:50
[2026-08-29 14:46:50,669.669 INFO    ] 2026-08-29 14:46:50
[2026-08-29 14:46:50,704.704 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:46:50,857.857 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:46:50,864.864 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:46:51,018.018 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:46:51,028.028 INFO    ] time= 29/08/2026 14:46:51
[2026-08-29 14:46:51,033.033 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:46:51,038.038 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:46:51,106.106 INFO    ] No existing commands found in stream
[2026-08-29 14:46:56,119.119 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:46:56,122.122 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-08-29 14:46:56,568.568 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:46:56,569.569 INFO    ] Checking for system updates...
[2026-08-29 14:46:56,589.589 INFO    ] 200
[2026-08-29 14:46:56,590.590 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:46:56,623.623 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:46:56,624.624 INFO    ] No update needed
[2026-08-29 14:46:56,625.625 INFO    ] Checking for camera pi updates...
[2026-08-29 14:46:56,646.646 INFO    ] 200
[2026-08-29 14:46:56,647.647 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:46:56,670.670 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:46:56,769.769 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:46:56,771.771 INFO    ] No camera update needed
[2026-08-29 14:46:56,772.772 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:46:56,773.773 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:46:56,776.776 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:46:56,779.779 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:46:58,818.818 INFO    ] ================================================
[2026-08-29 14:46:58,834.834 INFO    ] Launching Daemon at Sat Aug 29 14:46:58 IST 2026
[2026-08-29 14:46:58,845.845 INFO    ] ================================================
[2026-08-29 14:46:59,338.338 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:46:59
[2026-08-29 14:46:59,925.925 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:47:00,181.181 INFO    ] Initializing speech engine...
[2026-08-29 14:47:00,196.196 INFO    ] 2026-08-29 14:47:00
[2026-08-29 14:47:00,462.462 INFO    ] 2026-08-29 14:47:00
[2026-08-29 14:47:00,499.499 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:47:00,676.676 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:47:00,689.689 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:47:00,834.834 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:47:00,842.842 INFO    ] time= 29/08/2026 14:47:00
[2026-08-29 14:47:00,849.849 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:47:00,875.875 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:47:01,010.010 INFO    ] No existing commands found in stream
[2026-08-29 14:47:06,035.035 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:47:06,038.038 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 14:47:06,568.568 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:47:06,570.570 INFO    ] Checking for system updates...
[2026-08-29 14:47:06,591.591 INFO    ] 200
[2026-08-29 14:47:06,593.593 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:47:06,623.623 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:47:06,625.625 INFO    ] No update needed
[2026-08-29 14:47:06,626.626 INFO    ] Checking for camera pi updates...
[2026-08-29 14:47:06,645.645 INFO    ] 200
[2026-08-29 14:47:06,646.646 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:47:06,669.669 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:47:06,764.764 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:47:06,765.765 INFO    ] No camera update needed
[2026-08-29 14:47:06,767.767 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:47:06,768.768 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:47:06,771.771 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:47:06,773.773 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:47:08,812.812 INFO    ] ================================================
[2026-08-29 14:47:08,828.828 INFO    ] Launching Daemon at Sat Aug 29 14:47:08 IST 2026
[2026-08-29 14:47:08,838.838 INFO    ] ================================================
[2026-08-29 14:47:09,408.408 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:47:09
[2026-08-29 14:47:09,994.994 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:47:10,125.125 INFO    ] Initializing speech engine...
[2026-08-29 14:47:10,130.130 INFO    ] 2026-08-29 14:47:10
[2026-08-29 14:47:10,348.348 INFO    ] 2026-08-29 14:47:10
[2026-08-29 14:47:10,384.384 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:47:10,566.566 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:47:10,575.575 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:47:10,701.701 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:47:10,712.712 INFO    ] time= 29/08/2026 14:47:10
[2026-08-29 14:47:10,732.732 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:47:10,758.758 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:47:10,836.836 INFO    ] No existing commands found in stream
[2026-08-29 14:47:15,871.871 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:47:15,873.873 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-08-29 14:47:17,961.961 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:47:17,963.963 INFO    ] Checking for system updates...
[2026-08-29 14:47:17,984.984 INFO    ] 200
[2026-08-29 14:47:17,985.985 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:47:18,018.018 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:47:18,020.020 INFO    ] No update needed
[2026-08-29 14:47:18,021.021 INFO    ] Checking for camera pi updates...
[2026-08-29 14:47:18,043.043 INFO    ] 200
[2026-08-29 14:47:18,044.044 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:47:18,070.070 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:47:18,135.135 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:47:18,136.136 INFO    ] No camera update needed
[2026-08-29 14:47:18,137.137 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:47:18,139.139 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:47:18,143.143 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:47:18,146.146 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:47:20,179.179 INFO    ] ================================================
[2026-08-29 14:47:20,195.195 INFO    ] Launching Daemon at Sat Aug 29 14:47:20 IST 2026
[2026-08-29 14:47:20,206.206 INFO    ] ================================================
[2026-08-29 14:47:20,789.789 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:47:20
[2026-08-29 14:47:21,406.406 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:47:21,670.670 INFO    ] Initializing speech engine...
[2026-08-29 14:47:21,677.677 INFO    ] 2026-08-29 14:47:21
[2026-08-29 14:47:21,989.989 INFO    ] 2026-08-29 14:47:21
[2026-08-29 14:47:22,015.015 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:47:22,179.179 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:47:22,185.185 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:47:22,341.341 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:47:22,352.352 INFO    ] time= 29/08/2026 14:47:22
[2026-08-29 14:47:22,362.362 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:47:22,368.368 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:47:22,438.438 INFO    ] No existing commands found in stream
[2026-08-29 14:47:27,450.450 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:47:27,453.453 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-08-29 14:47:29,925.925 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:47:29,927.927 INFO    ] Checking for system updates...
[2026-08-29 14:47:29,967.967 INFO    ] 200
[2026-08-29 14:47:29,970.970 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:47:30,044.044 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:47:30,047.047 INFO    ] No update needed
[2026-08-29 14:47:30,049.049 INFO    ] Checking for camera pi updates...
[2026-08-29 14:47:30,083.083 INFO    ] 200
[2026-08-29 14:47:30,085.085 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:47:30,125.125 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:47:30,208.208 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:47:30,210.210 INFO    ] No camera update needed
[2026-08-29 14:47:30,213.213 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:47:30,215.215 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:47:30,221.221 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:47:30,226.226 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:47:32,259.259 INFO    ] ================================================
[2026-08-29 14:47:32,268.268 INFO    ] Launching Daemon at Sat Aug 29 14:47:32 IST 2026
[2026-08-29 14:47:32,275.275 INFO    ] ================================================
[2026-08-29 14:47:32,868.868 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:47:32
[2026-08-29 14:47:33,484.484 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:47:33,770.770 INFO    ] Initializing speech engine...
[2026-08-29 14:47:33,780.780 INFO    ] 2026-08-29 14:47:33
[2026-08-29 14:47:34,052.052 INFO    ] 2026-08-29 14:47:34
[2026-08-29 14:47:34,087.087 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:47:34,237.237 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:47:34,245.245 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:47:34,402.402 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:47:34,412.412 INFO    ] time= 29/08/2026 14:47:34
[2026-08-29 14:47:34,417.417 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:47:34,422.422 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:47:34,494.494 INFO    ] No existing commands found in stream
[2026-08-29 14:47:39,505.505 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:47:39,508.508 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-08-29 14:47:40,975.975 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:47:40,977.977 INFO    ] Checking for system updates...
[2026-08-29 14:47:40,999.999 INFO    ] 200
[2026-08-29 14:47:41,001.001 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:47:41,033.033 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:47:41,035.035 INFO    ] No update needed
[2026-08-29 14:47:41,036.036 INFO    ] Checking for camera pi updates...
[2026-08-29 14:47:41,056.056 INFO    ] 200
[2026-08-29 14:47:41,057.057 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:47:41,083.083 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:47:41,181.181 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:47:41,183.183 INFO    ] No camera update needed
[2026-08-29 14:47:41,184.184 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:47:41,185.185 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:47:41,188.188 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:47:41,191.191 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:47:43,231.231 INFO    ] ================================================
[2026-08-29 14:47:43,246.246 INFO    ] Launching Daemon at Sat Aug 29 14:47:43 IST 2026
[2026-08-29 14:47:43,257.257 INFO    ] ================================================
[2026-08-29 14:47:43,593.593 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:47:43
[2026-08-29 14:47:43,905.905 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:47:44,039.039 INFO    ] Initializing speech engine...
[2026-08-29 14:47:44,043.043 INFO    ] 2026-08-29 14:47:44
[2026-08-29 14:47:44,246.246 INFO    ] 2026-08-29 14:47:44
[2026-08-29 14:47:44,294.294 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:47:44,488.488 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:47:44,555.555 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:47:44,718.718 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:47:44,726.726 INFO    ] time= 29/08/2026 14:47:44
[2026-08-29 14:47:44,791.791 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:47:44,835.835 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:47:44,897.897 INFO    ] No existing commands found in stream
[2026-08-29 14:47:49,909.909 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:47:49,912.912 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-08-29 14:47:50,410.410 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:47:50,411.411 INFO    ] Checking for system updates...
[2026-08-29 14:47:50,432.432 INFO    ] 200
[2026-08-29 14:47:50,433.433 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:47:50,463.463 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:47:50,464.464 INFO    ] No update needed
[2026-08-29 14:47:50,466.466 INFO    ] Checking for camera pi updates...
[2026-08-29 14:47:50,485.485 INFO    ] 200
[2026-08-29 14:47:50,486.486 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:47:50,509.509 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:47:50,565.565 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:47:50,566.566 INFO    ] No camera update needed
[2026-08-29 14:47:50,568.568 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:47:50,569.569 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:47:50,572.572 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:47:50,575.575 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:47:52,614.614 INFO    ] ================================================
[2026-08-29 14:47:52,634.634 INFO    ] Launching Daemon at Sat Aug 29 14:47:52 IST 2026
[2026-08-29 14:47:52,645.645 INFO    ] ================================================
[2026-08-29 14:47:53,223.223 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:47:53
[2026-08-29 14:47:53,814.814 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:47:54,069.069 INFO    ] Initializing speech engine...
[2026-08-29 14:47:54,091.091 INFO    ] 2026-08-29 14:47:54
[2026-08-29 14:47:54,349.349 INFO    ] 2026-08-29 14:47:54
[2026-08-29 14:47:54,385.385 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:47:54,561.561 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:47:54,573.573 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:47:54,702.702 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:47:54,722.722 INFO    ] time= 29/08/2026 14:47:54
[2026-08-29 14:47:54,731.731 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:47:54,737.737 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:47:54,803.803 INFO    ] No existing commands found in stream
[2026-08-29 14:47:59,815.815 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:47:59,818.818 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-08-29 14:48:03,622.622 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:48:03,626.626 INFO    ] Checking for system updates...
[2026-08-29 14:48:03,681.681 INFO    ] 200
[2026-08-29 14:48:03,684.684 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:48:03,751.751 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:48:03,753.753 INFO    ] No update needed
[2026-08-29 14:48:03,756.756 INFO    ] Checking for camera pi updates...
[2026-08-29 14:48:03,789.789 INFO    ] 200
[2026-08-29 14:48:03,792.792 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:48:03,832.832 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:48:03,940.940 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:48:03,942.942 INFO    ] No camera update needed
[2026-08-29 14:48:03,945.945 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:48:03,947.947 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:48:03,953.953 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:48:03,958.958 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:48:06,998.998 INFO    ] ================================================
[2026-08-29 14:48:06,014.014 INFO    ] Launching Daemon at Sat Aug 29 14:48:06 IST 2026
[2026-08-29 14:48:06,025.025 INFO    ] ================================================
[2026-08-29 14:48:06,368.368 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:48:06
[2026-08-29 14:48:06,688.688 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:48:06,926.926 INFO    ] Initializing speech engine...
[2026-08-29 14:48:06,936.936 INFO    ] 2026-08-29 14:48:06
[2026-08-29 14:48:07,221.221 INFO    ] 2026-08-29 14:48:07
[2026-08-29 14:48:07,276.276 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:48:07,506.506 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:48:07,516.516 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:48:07,654.654 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:48:07,694.694 INFO    ] time= 29/08/2026 14:48:07
[2026-08-29 14:48:07,739.739 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:48:07,789.789 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:48:07,842.842 INFO    ] No existing commands found in stream
[2026-08-29 14:48:12,854.854 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:48:12,857.857 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-08-29 14:48:15,728.728 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:48:15,730.730 INFO    ] Checking for system updates...
[2026-08-29 14:48:15,751.751 INFO    ] 200
[2026-08-29 14:48:15,752.752 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:48:15,782.782 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:48:15,784.784 INFO    ] No update needed
[2026-08-29 14:48:15,785.785 INFO    ] Checking for camera pi updates...
[2026-08-29 14:48:15,804.804 INFO    ] 200
[2026-08-29 14:48:15,806.806 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:48:15,829.829 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:48:15,931.931 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:48:15,933.933 INFO    ] No camera update needed
[2026-08-29 14:48:15,934.934 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:48:15,935.935 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:48:15,938.938 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:48:15,941.941 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:48:17,981.981 INFO    ] ================================================
[2026-08-29 14:48:18,996.996 INFO    ] Launching Daemon at Sat Aug 29 14:48:17 IST 2026
[2026-08-29 14:48:18,007.007 INFO    ] ================================================
[2026-08-29 14:48:18,492.492 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:48:18
[2026-08-29 14:48:19,078.078 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:48:19,351.351 INFO    ] Initializing speech engine...
[2026-08-29 14:48:19,360.360 INFO    ] 2026-08-29 14:48:19
[2026-08-29 14:48:19,613.613 INFO    ] 2026-08-29 14:48:19
[2026-08-29 14:48:19,679.679 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:48:19,823.823 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:48:19,835.835 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:48:19,964.964 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:48:19,988.988 INFO    ] time= 29/08/2026 14:48:19
[2026-08-29 14:48:19,993.993 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:48:19,999.999 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:48:20,065.065 INFO    ] No existing commands found in stream
[2026-08-29 14:48:25,078.078 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:48:25,080.080 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-08-29 14:48:26,626.626 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:48:26,627.627 INFO    ] Checking for system updates...
[2026-08-29 14:48:26,648.648 INFO    ] 200
[2026-08-29 14:48:26,649.649 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:48:26,681.681 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:48:26,682.682 INFO    ] No update needed
[2026-08-29 14:48:26,684.684 INFO    ] Checking for camera pi updates...
[2026-08-29 14:48:26,705.705 INFO    ] 200
[2026-08-29 14:48:26,706.706 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:48:26,729.729 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:48:26,913.913 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:48:26,915.915 INFO    ] No camera update needed
[2026-08-29 14:48:26,918.918 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:48:26,920.920 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:48:26,925.925 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:48:26,930.930 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:48:28,970.970 INFO    ] ================================================
[2026-08-29 14:48:28,986.986 INFO    ] Launching Daemon at Sat Aug 29 14:48:28 IST 2026
[2026-08-29 14:48:29,997.997 INFO    ] ================================================
[2026-08-29 14:48:29,637.637 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:48:29
[2026-08-29 14:48:30,245.245 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:48:30,564.564 INFO    ] Initializing speech engine...
[2026-08-29 14:48:30,579.579 INFO    ] 2026-08-29 14:48:30
[2026-08-29 14:48:30,908.908 INFO    ] 2026-08-29 14:48:30
[2026-08-29 14:48:30,994.994 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:48:31,159.159 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:48:31,169.169 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:48:31,307.307 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:48:31,319.319 INFO    ] time= 29/08/2026 14:48:31
[2026-08-29 14:48:31,368.368 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:48:31,408.408 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:48:31,494.494 INFO    ] No existing commands found in stream
[2026-08-29 14:48:36,506.506 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:48:36,509.509 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-08-29 14:48:40,764.764 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:48:40,766.766 INFO    ] Checking for system updates...
[2026-08-29 14:48:40,802.802 INFO    ] 200
[2026-08-29 14:48:40,805.805 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:48:40,857.857 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:48:40,860.860 INFO    ] No update needed
[2026-08-29 14:48:40,862.862 INFO    ] Checking for camera pi updates...
[2026-08-29 14:48:40,896.896 INFO    ] 200
[2026-08-29 14:48:40,898.898 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:48:40,921.921 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:48:41,016.016 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:48:41,017.017 INFO    ] No camera update needed
[2026-08-29 14:48:41,019.019 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:48:41,020.020 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:48:41,023.023 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:48:41,025.025 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:48:43,063.063 INFO    ] ================================================
[2026-08-29 14:48:43,079.079 INFO    ] Launching Daemon at Sat Aug 29 14:48:43 IST 2026
[2026-08-29 14:48:43,090.090 INFO    ] ================================================
[2026-08-29 14:48:43,583.583 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:48:43
[2026-08-29 14:48:44,181.181 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:48:44,460.460 INFO    ] Initializing speech engine...
[2026-08-29 14:48:44,465.465 INFO    ] 2026-08-29 14:48:44
[2026-08-29 14:48:44,719.719 INFO    ] 2026-08-29 14:48:44
[2026-08-29 14:48:44,779.779 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:48:45,001.001 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:48:45,011.011 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:48:45,142.142 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:48:45,154.154 INFO    ] time= 29/08/2026 14:48:45
[2026-08-29 14:48:45,203.203 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:48:45,258.258 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:48:45,329.329 INFO    ] No existing commands found in stream
[2026-08-29 14:48:50,342.342 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:48:50,344.344 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-08-29 14:48:53,966.966 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:48:53,968.968 INFO    ] Checking for system updates...
[2026-08-29 14:48:53,990.990 INFO    ] 200
[2026-08-29 14:48:53,992.992 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:48:54,050.050 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:48:54,053.053 INFO    ] No update needed
[2026-08-29 14:48:54,055.055 INFO    ] Checking for camera pi updates...
[2026-08-29 14:48:54,089.089 INFO    ] 200
[2026-08-29 14:48:54,091.091 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:48:54,135.135 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:48:54,237.237 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:48:54,239.239 INFO    ] No camera update needed
[2026-08-29 14:48:54,241.241 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:48:54,244.244 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:48:54,249.249 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:48:54,254.254 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:48:56,293.293 INFO    ] ================================================
[2026-08-29 14:48:56,308.308 INFO    ] Launching Daemon at Sat Aug 29 14:48:56 IST 2026
[2026-08-29 14:48:56,320.320 INFO    ] ================================================
[2026-08-29 14:48:56,887.887 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:48:56
[2026-08-29 14:48:57,305.305 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:48:57,447.447 INFO    ] Initializing speech engine...
[2026-08-29 14:48:57,451.451 INFO    ] 2026-08-29 14:48:57
[2026-08-29 14:48:57,654.654 INFO    ] 2026-08-29 14:48:57
[2026-08-29 14:48:57,682.682 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:48:57,804.804 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:48:57,862.862 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:48:57,996.996 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:48:58,047.047 INFO    ] time= 29/08/2026 14:48:58
[2026-08-29 14:48:58,091.091 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:48:58,096.096 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:48:58,166.166 INFO    ] No existing commands found in stream
[2026-08-29 14:49:03,174.174 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:49:03,177.177 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-08-29 14:49:04,121.121 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:49:04,124.124 INFO    ] Checking for system updates...
[2026-08-29 14:49:04,159.159 INFO    ] 200
[2026-08-29 14:49:04,162.162 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:49:04,213.213 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:49:04,216.216 INFO    ] No update needed
[2026-08-29 14:49:04,218.218 INFO    ] Checking for camera pi updates...
[2026-08-29 14:49:04,251.251 INFO    ] 200
[2026-08-29 14:49:04,254.254 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:49:04,295.295 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:49:04,401.401 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:49:04,403.403 INFO    ] No camera update needed
[2026-08-29 14:49:04,406.406 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:49:04,408.408 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:49:04,413.413 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:49:04,418.418 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:49:06,464.464 INFO    ] ================================================
[2026-08-29 14:49:06,483.483 INFO    ] Launching Daemon at Sat Aug 29 14:49:06 IST 2026
[2026-08-29 14:49:06,495.495 INFO    ] ================================================
[2026-08-29 14:49:06,845.845 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:49:06
[2026-08-29 14:49:07,157.157 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:49:07,296.296 INFO    ] Initializing speech engine...
[2026-08-29 14:49:07,305.305 INFO    ] 2026-08-29 14:49:07
[2026-08-29 14:49:07,507.507 INFO    ] 2026-08-29 14:49:07
[2026-08-29 14:49:07,536.536 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:49:07,658.658 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:49:07,702.702 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:49:07,850.850 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:49:07,900.900 INFO    ] time= 29/08/2026 14:49:07
[2026-08-29 14:49:07,936.936 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:49:07,990.990 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:49:08,101.101 INFO    ] No existing commands found in stream
[2026-08-29 14:49:13,122.122 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:49:13,125.125 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-08-29 14:49:14,351.351 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:49:14,353.353 INFO    ] Checking for system updates...
[2026-08-29 14:49:14,373.373 INFO    ] 200
[2026-08-29 14:49:14,375.375 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:49:14,405.405 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:49:14,406.406 INFO    ] No update needed
[2026-08-29 14:49:14,407.407 INFO    ] Checking for camera pi updates...
[2026-08-29 14:49:14,427.427 INFO    ] 200
[2026-08-29 14:49:14,429.429 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:49:14,453.453 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:49:14,529.529 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:49:14,530.530 INFO    ] No camera update needed
[2026-08-29 14:49:14,532.532 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:49:14,533.533 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:49:14,536.536 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:49:14,539.539 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:49:16,578.578 INFO    ] ================================================
[2026-08-29 14:49:16,594.594 INFO    ] Launching Daemon at Sat Aug 29 14:49:16 IST 2026
[2026-08-29 14:49:16,605.605 INFO    ] ================================================
[2026-08-29 14:49:17,065.065 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:49:17
[2026-08-29 14:49:17,726.726 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:49:18,027.027 INFO    ] Initializing speech engine...
[2026-08-29 14:49:18,040.040 INFO    ] 2026-08-29 14:49:18
[2026-08-29 14:49:18,352.352 INFO    ] 2026-08-29 14:49:18
[2026-08-29 14:49:18,435.435 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:49:18,585.585 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:49:18,596.596 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:49:18,730.730 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:49:18,791.791 INFO    ] time= 29/08/2026 14:49:18
[2026-08-29 14:49:18,856.856 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:49:18,867.867 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:49:18,982.982 INFO    ] No existing commands found in stream
[2026-08-29 14:49:24,010.010 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:49:24,013.013 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-08-29 14:49:27,725.725 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:49:27,727.727 INFO    ] Checking for system updates...
[2026-08-29 14:49:27,748.748 INFO    ] 200
[2026-08-29 14:49:27,749.749 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:49:27,779.779 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:49:27,780.780 INFO    ] No update needed
[2026-08-29 14:49:27,782.782 INFO    ] Checking for camera pi updates...
[2026-08-29 14:49:27,802.802 INFO    ] 200
[2026-08-29 14:49:27,803.803 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:49:27,826.826 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:49:27,955.955 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:49:27,956.956 INFO    ] No camera update needed
[2026-08-29 14:49:27,957.957 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:49:27,958.958 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:49:27,961.961 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:49:27,964.964 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:49:30,002.002 INFO    ] ================================================
[2026-08-29 14:49:30,018.018 INFO    ] Launching Daemon at Sat Aug 29 14:49:30 IST 2026
[2026-08-29 14:49:30,029.029 INFO    ] ================================================
[2026-08-29 14:49:30,365.365 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:49:30
[2026-08-29 14:49:30,681.681 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:49:31,068.068 INFO    ] Initializing speech engine...
[2026-08-29 14:49:31,071.071 INFO    ] 2026-08-29 14:49:31
[2026-08-29 14:49:31,280.280 INFO    ] 2026-08-29 14:49:31
[2026-08-29 14:49:31,299.299 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:49:31,495.495 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:49:31,521.521 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:49:31,619.619 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:49:31,620.620 INFO    ] time= 29/08/2026 14:49:31
[2026-08-29 14:49:31,649.649 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:49:31,651.651 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:49:31,737.737 INFO    ] No existing commands found in stream
[2026-08-29 14:49:36,747.747 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:49:36,749.749 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-08-29 14:49:39,520.520 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:49:39,521.521 INFO    ] Checking for system updates...
[2026-08-29 14:49:39,543.543 INFO    ] 200
[2026-08-29 14:49:39,544.544 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:49:39,574.574 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:49:39,575.575 INFO    ] No update needed
[2026-08-29 14:49:39,577.577 INFO    ] Checking for camera pi updates...
[2026-08-29 14:49:39,596.596 INFO    ] 200
[2026-08-29 14:49:39,597.597 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:49:39,622.622 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:49:39,708.708 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:49:39,709.709 INFO    ] No camera update needed
[2026-08-29 14:49:39,711.711 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:49:39,712.712 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:49:39,715.715 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:49:39,718.718 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:49:41,755.755 INFO    ] ================================================
[2026-08-29 14:49:41,771.771 INFO    ] Launching Daemon at Sat Aug 29 14:49:41 IST 2026
[2026-08-29 14:49:41,783.783 INFO    ] ================================================
[2026-08-29 14:49:42,151.151 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:49:42
[2026-08-29 14:49:42,487.487 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:49:42,639.639 INFO    ] Initializing speech engine...
[2026-08-29 14:49:42,642.642 INFO    ] 2026-08-29 14:49:42
[2026-08-29 14:49:42,848.848 INFO    ] 2026-08-29 14:49:42
[2026-08-29 14:49:42,876.876 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:49:42,998.998 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:49:43,060.060 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:49:43,198.198 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:49:43,262.262 INFO    ] time= 29/08/2026 14:49:43
[2026-08-29 14:49:43,290.290 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:49:43,296.296 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:49:43,363.363 INFO    ] No existing commands found in stream
[2026-08-29 14:49:48,377.377 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:49:48,381.381 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-08-29 14:49:50,977.977 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:49:50,979.979 INFO    ] Checking for system updates...
[2026-08-29 14:49:51,000.000 INFO    ] 200
[2026-08-29 14:49:51,001.001 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:49:51,034.034 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:49:51,035.035 INFO    ] No update needed
[2026-08-29 14:49:51,036.036 INFO    ] Checking for camera pi updates...
[2026-08-29 14:49:51,073.073 INFO    ] 200
[2026-08-29 14:49:51,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:49:51,103.103 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:49:51,177.177 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:49:51,179.179 INFO    ] No camera update needed
[2026-08-29 14:49:51,180.180 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:49:51,181.181 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:49:51,184.184 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:49:51,187.187 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:49:53,225.225 INFO    ] ================================================
[2026-08-29 14:49:53,240.240 INFO    ] Launching Daemon at Sat Aug 29 14:49:53 IST 2026
[2026-08-29 14:49:53,251.251 INFO    ] ================================================
[2026-08-29 14:49:53,602.602 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:49:53
[2026-08-29 14:49:53,917.917 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:49:54,060.060 INFO    ] Initializing speech engine...
[2026-08-29 14:49:54,065.065 INFO    ] 2026-08-29 14:49:54
[2026-08-29 14:49:54,270.270 INFO    ] 2026-08-29 14:49:54
[2026-08-29 14:49:54,298.298 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:49:54,420.420 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:49:54,483.483 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:49:54,612.612 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:49:54,674.674 INFO    ] time= 29/08/2026 14:49:54
[2026-08-29 14:49:54,710.710 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:49:54,717.717 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:49:54,782.782 INFO    ] No existing commands found in stream
[2026-08-29 14:49:59,793.793 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:49:59,796.796 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-08-29 14:50:08,233.233 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:50:08,236.236 INFO    ] Checking for system updates...
[2026-08-29 14:50:08,273.273 INFO    ] 200
[2026-08-29 14:50:08,275.275 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:50:08,328.328 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:50:08,330.330 INFO    ] No update needed
[2026-08-29 14:50:08,333.333 INFO    ] Checking for camera pi updates...
[2026-08-29 14:50:08,371.371 INFO    ] 200
[2026-08-29 14:50:08,374.374 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:50:08,414.414 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:50:08,503.503 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:50:08,505.505 INFO    ] No camera update needed
[2026-08-29 14:50:08,508.508 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:50:08,510.510 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:50:08,516.516 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:50:08,521.521 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:50:10,560.560 INFO    ] ================================================
[2026-08-29 14:50:10,575.575 INFO    ] Launching Daemon at Sat Aug 29 14:50:10 IST 2026
[2026-08-29 14:50:10,586.586 INFO    ] ================================================
[2026-08-29 14:50:10,931.931 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:50:10
[2026-08-29 14:50:11,252.252 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:50:11,388.388 INFO    ] Initializing speech engine...
[2026-08-29 14:50:11,396.396 INFO    ] 2026-08-29 14:50:11
[2026-08-29 14:50:11,614.614 INFO    ] 2026-08-29 14:50:11
[2026-08-29 14:50:11,643.643 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:50:11,785.785 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:50:11,818.818 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:50:11,969.969 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:50:11,979.979 INFO    ] time= 29/08/2026 14:50:11
[2026-08-29 14:50:11,995.995 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:50:12,063.063 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:50:12,160.160 INFO    ] No existing commands found in stream
[2026-08-29 14:50:17,190.190 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:50:17,193.193 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-08-29 14:50:20,390.390 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:50:20,392.392 INFO    ] Checking for system updates...
[2026-08-29 14:50:20,413.413 INFO    ] 200
[2026-08-29 14:50:20,415.415 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:50:20,475.475 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:50:20,478.478 INFO    ] No update needed
[2026-08-29 14:50:20,481.481 INFO    ] Checking for camera pi updates...
[2026-08-29 14:50:20,518.518 INFO    ] 200
[2026-08-29 14:50:20,521.521 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:50:20,568.568 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:50:20,648.648 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:50:20,651.651 INFO    ] No camera update needed
[2026-08-29 14:50:20,653.653 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:50:20,656.656 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:50:20,662.662 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:50:20,668.668 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:50:22,710.710 INFO    ] ================================================
[2026-08-29 14:50:22,725.725 INFO    ] Launching Daemon at Sat Aug 29 14:50:22 IST 2026
[2026-08-29 14:50:22,736.736 INFO    ] ================================================
[2026-08-29 14:50:23,342.342 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:50:23
[2026-08-29 14:50:23,751.751 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:50:23,881.881 INFO    ] Initializing speech engine...
[2026-08-29 14:50:23,885.885 INFO    ] 2026-08-29 14:50:23
[2026-08-29 14:50:24,103.103 INFO    ] 2026-08-29 14:50:24
[2026-08-29 14:50:24,132.132 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:50:24,404.404 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:50:24,449.449 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:50:24,620.620 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:50:24,624.624 INFO    ] time= 29/08/2026 14:50:24
[2026-08-29 14:50:24,626.626 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:50:24,651.651 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:50:24,749.749 INFO    ] No existing commands found in stream
[2026-08-29 14:50:29,758.758 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:50:29,761.761 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-08-29 14:50:30,659.659 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:50:30,661.661 INFO    ] Checking for system updates...
[2026-08-29 14:50:30,681.681 INFO    ] 200
[2026-08-29 14:50:30,683.683 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:50:30,715.715 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:50:30,716.716 INFO    ] No update needed
[2026-08-29 14:50:30,717.717 INFO    ] Checking for camera pi updates...
[2026-08-29 14:50:30,737.737 INFO    ] 200
[2026-08-29 14:50:30,738.738 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:50:30,763.763 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:50:30,950.950 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:50:30,952.952 INFO    ] No camera update needed
[2026-08-29 14:50:30,953.953 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:50:30,954.954 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:50:30,957.957 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:50:30,960.960 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:50:32,994.994 INFO    ] ================================================
[2026-08-29 14:50:33,009.009 INFO    ] Launching Daemon at Sat Aug 29 14:50:33 IST 2026
[2026-08-29 14:50:33,023.023 INFO    ] ================================================
[2026-08-29 14:50:33,590.590 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:50:33
[2026-08-29 14:50:34,180.180 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:50:34,459.459 INFO    ] Initializing speech engine...
[2026-08-29 14:50:34,469.469 INFO    ] 2026-08-29 14:50:34
[2026-08-29 14:50:34,720.720 INFO    ] 2026-08-29 14:50:34
[2026-08-29 14:50:34,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:50:34,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:50:34,946.946 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:50:35,060.060 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:50:35,080.080 INFO    ] time= 29/08/2026 14:50:35
[2026-08-29 14:50:35,100.100 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:50:35,107.107 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:50:35,181.181 INFO    ] No existing commands found in stream
[2026-08-29 14:50:40,194.194 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:50:40,197.197 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-08-29 14:50:42,085.085 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:50:42,088.088 INFO    ] Checking for system updates...
[2026-08-29 14:50:42,124.124 INFO    ] 200
[2026-08-29 14:50:42,126.126 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:50:42,182.182 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:50:42,185.185 INFO    ] No update needed
[2026-08-29 14:50:42,187.187 INFO    ] Checking for camera pi updates...
[2026-08-29 14:50:42,225.225 INFO    ] 200
[2026-08-29 14:50:42,227.227 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:50:42,269.269 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:50:42,353.353 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:50:42,355.355 INFO    ] No camera update needed
[2026-08-29 14:50:42,358.358 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:50:42,360.360 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:50:42,365.365 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:50:42,370.370 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:50:44,411.411 INFO    ] ================================================
[2026-08-29 14:50:44,426.426 INFO    ] Launching Daemon at Sat Aug 29 14:50:44 IST 2026
[2026-08-29 14:50:44,437.437 INFO    ] ================================================
[2026-08-29 14:50:44,777.777 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:50:44
[2026-08-29 14:50:45,089.089 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:50:45,239.239 INFO    ] Initializing speech engine...
[2026-08-29 14:50:45,248.248 INFO    ] 2026-08-29 14:50:45
[2026-08-29 14:50:45,499.499 INFO    ] 2026-08-29 14:50:45
[2026-08-29 14:50:45,534.534 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:50:45,709.709 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:50:45,723.723 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:50:45,869.869 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:50:45,878.878 INFO    ] time= 29/08/2026 14:50:45
[2026-08-29 14:50:45,884.884 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:50:45,925.925 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:50:46,055.055 INFO    ] No existing commands found in stream
[2026-08-29 14:50:51,085.085 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:50:51,088.088 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-08-29 14:50:54,791.791 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:50:54,793.793 INFO    ] Checking for system updates...
[2026-08-29 14:50:54,813.813 INFO    ] 200
[2026-08-29 14:50:54,814.814 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:50:54,847.847 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:50:54,848.848 INFO    ] No update needed
[2026-08-29 14:50:54,849.849 INFO    ] Checking for camera pi updates...
[2026-08-29 14:50:54,868.868 INFO    ] 200
[2026-08-29 14:50:54,870.870 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:50:54,895.895 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:50:54,969.969 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:50:54,970.970 INFO    ] No camera update needed
[2026-08-29 14:50:54,971.971 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:50:54,973.973 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:50:54,975.975 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:50:54,978.978 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:50:57,019.019 INFO    ] ================================================
[2026-08-29 14:50:57,034.034 INFO    ] Launching Daemon at Sat Aug 29 14:50:57 IST 2026
[2026-08-29 14:50:57,044.044 INFO    ] ================================================
[2026-08-29 14:50:57,405.405 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:50:57
[2026-08-29 14:50:57,744.744 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:50:57,900.900 INFO    ] Initializing speech engine...
[2026-08-29 14:50:57,904.904 INFO    ] 2026-08-29 14:50:57
[2026-08-29 14:50:58,098.098 INFO    ] 2026-08-29 14:50:58
[2026-08-29 14:50:58,175.175 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:50:58,333.333 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:50:58,342.342 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:50:58,479.479 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:50:58,519.519 INFO    ] time= 29/08/2026 14:50:58
[2026-08-29 14:50:58,573.573 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:50:58,614.614 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:50:58,667.667 INFO    ] No existing commands found in stream
[2026-08-29 14:51:03,679.679 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:51:03,682.682 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-08-29 14:51:04,842.842 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:51:04,843.843 INFO    ] Checking for system updates...
[2026-08-29 14:51:04,865.865 INFO    ] 200
[2026-08-29 14:51:04,866.866 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:51:04,898.898 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:51:04,899.899 INFO    ] No update needed
[2026-08-29 14:51:04,901.901 INFO    ] Checking for camera pi updates...
[2026-08-29 14:51:04,920.920 INFO    ] 200
[2026-08-29 14:51:04,921.921 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:51:04,946.946 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:51:05,024.024 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:51:05,025.025 INFO    ] No camera update needed
[2026-08-29 14:51:05,026.026 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:51:05,027.027 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:51:05,030.030 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:51:05,033.033 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:51:07,071.071 INFO    ] ================================================
[2026-08-29 14:51:07,087.087 INFO    ] Launching Daemon at Sat Aug 29 14:51:07 IST 2026
[2026-08-29 14:51:07,097.097 INFO    ] ================================================
[2026-08-29 14:51:07,433.433 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:51:07
[2026-08-29 14:51:07,745.745 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:51:07,874.874 INFO    ] Initializing speech engine...
[2026-08-29 14:51:07,878.878 INFO    ] 2026-08-29 14:51:07
[2026-08-29 14:51:08,114.114 INFO    ] 2026-08-29 14:51:08
[2026-08-29 14:51:08,149.149 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:51:08,344.344 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:51:08,388.388 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:51:08,547.547 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:51:08,586.586 INFO    ] time= 29/08/2026 14:51:08
[2026-08-29 14:51:08,645.645 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:51:08,680.680 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:51:08,795.795 INFO    ] No existing commands found in stream
[2026-08-29 14:51:13,822.822 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:51:13,825.825 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-08-29 14:51:17,609.609 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:51:17,610.610 INFO    ] Checking for system updates...
[2026-08-29 14:51:17,630.630 INFO    ] 200
[2026-08-29 14:51:17,632.632 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:51:17,664.664 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:51:17,666.666 INFO    ] No update needed
[2026-08-29 14:51:17,667.667 INFO    ] Checking for camera pi updates...
[2026-08-29 14:51:17,686.686 INFO    ] 200
[2026-08-29 14:51:17,687.687 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:51:17,710.710 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:51:17,792.792 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:51:17,793.793 INFO    ] No camera update needed
[2026-08-29 14:51:17,794.794 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:51:17,795.795 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:51:17,798.798 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:51:17,801.801 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:51:19,840.840 INFO    ] ================================================
[2026-08-29 14:51:19,855.855 INFO    ] Launching Daemon at Sat Aug 29 14:51:19 IST 2026
[2026-08-29 14:51:19,866.866 INFO    ] ================================================
[2026-08-29 14:51:20,216.216 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:51:20
[2026-08-29 14:51:20,527.527 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:51:20,660.660 INFO    ] Initializing speech engine...
[2026-08-29 14:51:20,665.665 INFO    ] 2026-08-29 14:51:20
[2026-08-29 14:51:20,876.876 INFO    ] 2026-08-29 14:51:20
[2026-08-29 14:51:20,953.953 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:51:21,130.130 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:51:21,139.139 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:51:21,278.278 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:51:21,338.338 INFO    ] time= 29/08/2026 14:51:21
[2026-08-29 14:51:21,402.402 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:51:21,412.412 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:51:21,506.506 INFO    ] No existing commands found in stream
[2026-08-29 14:51:26,534.534 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:51:26,537.537 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-08-29 14:51:28,158.158 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:51:28,159.159 INFO    ] Checking for system updates...
[2026-08-29 14:51:28,180.180 INFO    ] 200
[2026-08-29 14:51:28,182.182 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:51:28,214.214 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:51:28,215.215 INFO    ] No update needed
[2026-08-29 14:51:28,216.216 INFO    ] Checking for camera pi updates...
[2026-08-29 14:51:28,236.236 INFO    ] 200
[2026-08-29 14:51:28,237.237 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:51:28,260.260 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:51:28,335.335 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:51:28,336.336 INFO    ] No camera update needed
[2026-08-29 14:51:28,337.337 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:51:28,339.339 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:51:28,342.342 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:51:28,345.345 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:51:30,383.383 INFO    ] ================================================
[2026-08-29 14:51:30,399.399 INFO    ] Launching Daemon at Sat Aug 29 14:51:30 IST 2026
[2026-08-29 14:51:30,410.410 INFO    ] ================================================
[2026-08-29 14:51:30,755.755 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:51:30
[2026-08-29 14:51:31,067.067 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:51:31,202.202 INFO    ] Initializing speech engine...
[2026-08-29 14:51:31,205.205 INFO    ] 2026-08-29 14:51:31
[2026-08-29 14:51:31,433.433 INFO    ] 2026-08-29 14:51:31
[2026-08-29 14:51:31,463.463 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:51:31,593.593 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:51:31,597.597 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:51:31,762.762 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:51:31,813.813 INFO    ] time= 29/08/2026 14:51:31
[2026-08-29 14:51:31,819.819 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:51:31,838.838 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:51:31,943.943 INFO    ] No existing commands found in stream
[2026-08-29 14:51:36,974.974 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:51:36,976.976 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-08-29 14:51:40,036.036 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:51:40,037.037 INFO    ] Checking for system updates...
[2026-08-29 14:51:40,058.058 INFO    ] 200
[2026-08-29 14:51:40,060.060 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:51:40,091.091 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:51:40,092.092 INFO    ] No update needed
[2026-08-29 14:51:40,093.093 INFO    ] Checking for camera pi updates...
[2026-08-29 14:51:40,113.113 INFO    ] 200
[2026-08-29 14:51:40,115.115 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:51:40,137.137 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:51:40,223.223 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:51:40,224.224 INFO    ] No camera update needed
[2026-08-29 14:51:40,225.225 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:51:40,226.226 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:51:40,229.229 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:51:40,232.232 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:51:42,270.270 INFO    ] ================================================
[2026-08-29 14:51:42,285.285 INFO    ] Launching Daemon at Sat Aug 29 14:51:42 IST 2026
[2026-08-29 14:51:42,296.296 INFO    ] ================================================
[2026-08-29 14:51:42,651.651 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:51:42
[2026-08-29 14:51:42,962.962 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:51:43,104.104 INFO    ] Initializing speech engine...
[2026-08-29 14:51:43,109.109 INFO    ] 2026-08-29 14:51:43
[2026-08-29 14:51:43,311.311 INFO    ] 2026-08-29 14:51:43
[2026-08-29 14:51:43,339.339 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:51:43,494.494 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:51:43,520.520 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:51:43,649.649 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:51:43,676.676 INFO    ] time= 29/08/2026 14:51:43
[2026-08-29 14:51:43,684.684 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:51:43,692.692 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:51:43,787.787 INFO    ] No existing commands found in stream
[2026-08-29 14:51:48,799.799 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:51:48,802.802 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-08-29 14:51:51,743.743 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:51:51,745.745 INFO    ] Checking for system updates...
[2026-08-29 14:51:51,765.765 INFO    ] 200
[2026-08-29 14:51:51,766.766 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:51:51,798.798 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:51:51,799.799 INFO    ] No update needed
[2026-08-29 14:51:51,800.800 INFO    ] Checking for camera pi updates...
[2026-08-29 14:51:51,823.823 INFO    ] 200
[2026-08-29 14:51:51,824.824 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:51:51,850.850 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:51:51,942.942 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:51:51,943.943 INFO    ] No camera update needed
[2026-08-29 14:51:51,945.945 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:51:51,946.946 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:51:51,949.949 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:51:51,952.952 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:51:53,989.989 INFO    ] ================================================
[2026-08-29 14:51:54,005.005 INFO    ] Launching Daemon at Sat Aug 29 14:51:53 IST 2026
[2026-08-29 14:51:54,015.015 INFO    ] ================================================
[2026-08-29 14:51:54,366.366 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:51:54
[2026-08-29 14:51:54,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:51:54,828.828 INFO    ] Initializing speech engine...
[2026-08-29 14:51:54,838.838 INFO    ] 2026-08-29 14:51:54
[2026-08-29 14:51:55,098.098 INFO    ] 2026-08-29 14:51:55
[2026-08-29 14:51:55,134.134 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:51:55,321.321 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:51:55,327.327 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:51:55,455.455 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:51:55,461.461 INFO    ] time= 29/08/2026 14:51:55
[2026-08-29 14:51:55,480.480 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:51:55,501.501 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:51:55,583.583 INFO    ] No existing commands found in stream
[2026-08-29 14:52:00,598.598 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:52:00,601.601 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-08-29 14:52:02,379.379 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:52:02,382.382 INFO    ] Checking for system updates...
[2026-08-29 14:52:02,423.423 INFO    ] 200
[2026-08-29 14:52:02,426.426 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:52:02,490.490 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:52:02,493.493 INFO    ] No update needed
[2026-08-29 14:52:02,496.496 INFO    ] Checking for camera pi updates...
[2026-08-29 14:52:02,533.533 INFO    ] 200
[2026-08-29 14:52:02,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:52:02,588.588 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:52:02,697.697 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:52:02,700.700 INFO    ] No camera update needed
[2026-08-29 14:52:02,703.703 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:52:02,706.706 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:52:02,714.714 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:52:02,720.720 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:52:04,765.765 INFO    ] ================================================
[2026-08-29 14:52:04,780.780 INFO    ] Launching Daemon at Sat Aug 29 14:52:04 IST 2026
[2026-08-29 14:52:04,791.791 INFO    ] ================================================
[2026-08-29 14:52:05,138.138 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:52:05
[2026-08-29 14:52:05,468.468 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:52:05,616.616 INFO    ] Initializing speech engine...
[2026-08-29 14:52:05,621.621 INFO    ] 2026-08-29 14:52:05
[2026-08-29 14:52:05,826.826 INFO    ] 2026-08-29 14:52:05
[2026-08-29 14:52:05,855.855 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:52:06,019.019 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:52:06,043.043 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:52:06,176.176 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:52:06,240.240 INFO    ] time= 29/08/2026 14:52:06
[2026-08-29 14:52:06,271.271 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:52:06,313.313 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:52:06,452.452 INFO    ] No existing commands found in stream
[2026-08-29 14:52:11,477.477 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:52:11,480.480 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-08-29 14:52:14,010.010 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:52:14,011.011 INFO    ] Checking for system updates...
[2026-08-29 14:52:14,031.031 INFO    ] 200
[2026-08-29 14:52:14,033.033 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:52:14,062.062 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:52:14,064.064 INFO    ] No update needed
[2026-08-29 14:52:14,065.065 INFO    ] Checking for camera pi updates...
[2026-08-29 14:52:14,086.086 INFO    ] 200
[2026-08-29 14:52:14,087.087 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:52:14,110.110 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:52:14,204.204 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:52:14,205.205 INFO    ] No camera update needed
[2026-08-29 14:52:14,206.206 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:52:14,208.208 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:52:14,210.210 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:52:14,213.213 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:52:16,251.251 INFO    ] ================================================
[2026-08-29 14:52:16,267.267 INFO    ] Launching Daemon at Sat Aug 29 14:52:16 IST 2026
[2026-08-29 14:52:16,278.278 INFO    ] ================================================
[2026-08-29 14:52:16,655.655 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:52:16
[2026-08-29 14:52:16,970.970 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:52:17,113.113 INFO    ] Initializing speech engine...
[2026-08-29 14:52:17,118.118 INFO    ] 2026-08-29 14:52:17
[2026-08-29 14:52:17,321.321 INFO    ] 2026-08-29 14:52:17
[2026-08-29 14:52:17,351.351 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:52:17,465.465 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:52:17,471.471 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:52:17,645.645 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:52:17,670.670 INFO    ] time= 29/08/2026 14:52:17
[2026-08-29 14:52:17,686.686 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:52:17,695.695 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:52:17,818.818 INFO    ] No existing commands found in stream
[2026-08-29 14:52:22,835.835 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:52:22,838.838 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 14:52:24,210.210 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:52:24,211.211 INFO    ] Checking for system updates...
[2026-08-29 14:52:24,231.231 INFO    ] 200
[2026-08-29 14:52:24,233.233 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:52:24,263.263 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:52:24,265.265 INFO    ] No update needed
[2026-08-29 14:52:24,266.266 INFO    ] Checking for camera pi updates...
[2026-08-29 14:52:24,287.287 INFO    ] 200
[2026-08-29 14:52:24,288.288 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:52:24,311.311 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:52:24,395.395 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:52:24,396.396 INFO    ] No camera update needed
[2026-08-29 14:52:24,397.397 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:52:24,398.398 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:52:24,401.401 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:52:24,404.404 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:52:26,442.442 INFO    ] ================================================
[2026-08-29 14:52:26,458.458 INFO    ] Launching Daemon at Sat Aug 29 14:52:26 IST 2026
[2026-08-29 14:52:26,468.468 INFO    ] ================================================
[2026-08-29 14:52:26,830.830 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:52:26
[2026-08-29 14:52:27,143.143 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:52:27,285.285 INFO    ] Initializing speech engine...
[2026-08-29 14:52:27,290.290 INFO    ] 2026-08-29 14:52:27
[2026-08-29 14:52:27,514.514 INFO    ] 2026-08-29 14:52:27
[2026-08-29 14:52:27,595.595 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:52:27,748.748 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:52:27,752.752 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:52:27,884.884 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:52:27,931.931 INFO    ] time= 29/08/2026 14:52:27
[2026-08-29 14:52:27,995.995 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:52:28,020.020 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:52:28,147.147 INFO    ] No existing commands found in stream
[2026-08-29 14:52:33,174.174 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:52:33,177.177 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 14:52:36,787.787 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:52:36,789.789 INFO    ] Checking for system updates...
[2026-08-29 14:52:36,810.810 INFO    ] 200
[2026-08-29 14:52:36,812.812 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:52:36,848.848 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:52:36,849.849 INFO    ] No update needed
[2026-08-29 14:52:36,850.850 INFO    ] Checking for camera pi updates...
[2026-08-29 14:52:36,870.870 INFO    ] 200
[2026-08-29 14:52:36,871.871 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:52:36,911.911 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:52:37,001.001 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:52:37,003.003 INFO    ] No camera update needed
[2026-08-29 14:52:37,005.005 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:52:37,008.008 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:52:37,013.013 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:52:37,018.018 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:52:39,058.058 INFO    ] ================================================
[2026-08-29 14:52:39,073.073 INFO    ] Launching Daemon at Sat Aug 29 14:52:39 IST 2026
[2026-08-29 14:52:39,084.084 INFO    ] ================================================
[2026-08-29 14:52:39,652.652 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:52:39
[2026-08-29 14:52:40,130.130 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:52:40,262.262 INFO    ] Initializing speech engine...
[2026-08-29 14:52:40,265.265 INFO    ] 2026-08-29 14:52:40
[2026-08-29 14:52:40,479.479 INFO    ] 2026-08-29 14:52:40
[2026-08-29 14:52:40,561.561 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:52:40,711.711 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:52:40,720.720 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:52:40,855.855 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:52:40,892.892 INFO    ] time= 29/08/2026 14:52:40
[2026-08-29 14:52:40,941.941 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:52:40,991.991 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:52:41,045.045 INFO    ] No existing commands found in stream
[2026-08-29 14:52:46,052.052 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:52:46,055.055 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-08-29 14:52:49,980.980 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:52:49,982.982 INFO    ] Checking for system updates...
[2026-08-29 14:52:50,003.003 INFO    ] 200
[2026-08-29 14:52:50,004.004 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:52:50,034.034 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:52:50,035.035 INFO    ] No update needed
[2026-08-29 14:52:50,036.036 INFO    ] Checking for camera pi updates...
[2026-08-29 14:52:50,055.055 INFO    ] 200
[2026-08-29 14:52:50,056.056 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:52:50,083.083 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:52:50,167.167 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:52:50,168.168 INFO    ] No camera update needed
[2026-08-29 14:52:50,169.169 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:52:50,170.170 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:52:50,173.173 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:52:50,176.176 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:52:52,216.216 INFO    ] ================================================
[2026-08-29 14:52:52,232.232 INFO    ] Launching Daemon at Sat Aug 29 14:52:52 IST 2026
[2026-08-29 14:52:52,243.243 INFO    ] ================================================
[2026-08-29 14:52:52,604.604 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:52:52
[2026-08-29 14:52:52,915.915 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:52:53,050.050 INFO    ] Initializing speech engine...
[2026-08-29 14:52:53,063.063 INFO    ] 2026-08-29 14:52:53
[2026-08-29 14:52:53,278.278 INFO    ] 2026-08-29 14:52:53
[2026-08-29 14:52:53,308.308 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:52:53,461.461 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:52:53,467.467 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:52:53,614.614 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:52:53,630.630 INFO    ] time= 29/08/2026 14:52:53
[2026-08-29 14:52:53,638.638 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:52:53,644.644 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:52:53,759.759 INFO    ] No existing commands found in stream
[2026-08-29 14:52:58,779.779 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:52:58,782.782 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-08-29 14:53:01,030.030 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:53:01,032.032 INFO    ] Checking for system updates...
[2026-08-29 14:53:01,053.053 INFO    ] 200
[2026-08-29 14:53:01,055.055 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:53:01,086.086 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:53:01,087.087 INFO    ] No update needed
[2026-08-29 14:53:01,088.088 INFO    ] Checking for camera pi updates...
[2026-08-29 14:53:01,108.108 INFO    ] 200
[2026-08-29 14:53:01,109.109 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:53:01,133.133 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:53:01,278.278 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:53:01,279.279 INFO    ] No camera update needed
[2026-08-29 14:53:01,281.281 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:53:01,282.282 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:53:01,285.285 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:53:01,289.289 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:53:03,332.332 INFO    ] ================================================
[2026-08-29 14:53:03,348.348 INFO    ] Launching Daemon at Sat Aug 29 14:53:03 IST 2026
[2026-08-29 14:53:03,358.358 INFO    ] ================================================
[2026-08-29 14:53:03,993.993 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:53:03
[2026-08-29 14:53:04,584.584 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:53:04,730.730 INFO    ] Initializing speech engine...
[2026-08-29 14:53:04,740.740 INFO    ] 2026-08-29 14:53:04
[2026-08-29 14:53:04,980.980 INFO    ] 2026-08-29 14:53:04
[2026-08-29 14:53:05,037.037 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:53:05,205.205 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:53:05,214.214 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:53:05,385.385 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:53:05,423.423 INFO    ] time= 29/08/2026 14:53:05
[2026-08-29 14:53:05,440.440 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:53:05,447.447 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:53:05,560.560 INFO    ] No existing commands found in stream
[2026-08-29 14:53:10,588.588 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:53:10,591.591 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-08-29 14:53:11,431.431 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:53:11,433.433 INFO    ] Checking for system updates...
[2026-08-29 14:53:11,455.455 INFO    ] 200
[2026-08-29 14:53:11,456.456 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:53:11,490.490 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:53:11,492.492 INFO    ] No update needed
[2026-08-29 14:53:11,493.493 INFO    ] Checking for camera pi updates...
[2026-08-29 14:53:11,515.515 INFO    ] 200
[2026-08-29 14:53:11,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:53:11,539.539 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:53:11,633.633 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:53:11,635.635 INFO    ] No camera update needed
[2026-08-29 14:53:11,636.636 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:53:11,637.637 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:53:11,641.641 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:53:11,644.644 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:53:13,682.682 INFO    ] ================================================
[2026-08-29 14:53:13,697.697 INFO    ] Launching Daemon at Sat Aug 29 14:53:13 IST 2026
[2026-08-29 14:53:13,708.708 INFO    ] ================================================
[2026-08-29 14:53:14,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:53:14
[2026-08-29 14:53:14,362.362 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:53:14,496.496 INFO    ] Initializing speech engine...
[2026-08-29 14:53:14,501.501 INFO    ] 2026-08-29 14:53:14
[2026-08-29 14:53:14,729.729 INFO    ] 2026-08-29 14:53:14
[2026-08-29 14:53:14,759.759 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:53:14,891.891 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:53:14,929.929 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:53:15,105.105 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:53:15,157.157 INFO    ] time= 29/08/2026 14:53:15
[2026-08-29 14:53:15,206.206 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:53:15,209.209 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:53:15,284.284 INFO    ] No existing commands found in stream
[2026-08-29 14:53:20,294.294 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:53:20,297.297 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-08-29 14:53:23,501.501 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:53:23,502.502 INFO    ] Checking for system updates...
[2026-08-29 14:53:23,523.523 INFO    ] 200
[2026-08-29 14:53:23,524.524 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:53:23,554.554 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:53:23,555.555 INFO    ] No update needed
[2026-08-29 14:53:23,556.556 INFO    ] Checking for camera pi updates...
[2026-08-29 14:53:23,577.577 INFO    ] 200
[2026-08-29 14:53:23,578.578 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:53:23,601.601 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:53:23,683.683 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:53:23,685.685 INFO    ] No camera update needed
[2026-08-29 14:53:23,686.686 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:53:23,687.687 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:53:23,690.690 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:53:23,693.693 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:53:25,735.735 INFO    ] ================================================
[2026-08-29 14:53:25,749.749 INFO    ] Launching Daemon at Sat Aug 29 14:53:25 IST 2026
[2026-08-29 14:53:25,760.760 INFO    ] ================================================
[2026-08-29 14:53:26,116.116 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:53:26
[2026-08-29 14:53:26,453.453 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:53:26,606.606 INFO    ] Initializing speech engine...
[2026-08-29 14:53:26,610.610 INFO    ] 2026-08-29 14:53:26
[2026-08-29 14:53:26,819.819 INFO    ] 2026-08-29 14:53:26
[2026-08-29 14:53:26,849.849 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:53:26,989.989 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:53:27,039.039 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:53:27,206.206 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:53:27,246.246 INFO    ] time= 29/08/2026 14:53:27
[2026-08-29 14:53:27,292.292 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:53:27,352.352 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:53:27,449.449 INFO    ] No existing commands found in stream
[2026-08-29 14:53:32,469.469 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:53:32,472.472 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-08-29 14:53:36,787.787 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:53:36,789.789 INFO    ] Checking for system updates...
[2026-08-29 14:53:36,809.809 INFO    ] 200
[2026-08-29 14:53:36,811.811 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:53:36,841.841 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:53:36,843.843 INFO    ] No update needed
[2026-08-29 14:53:36,844.844 INFO    ] Checking for camera pi updates...
[2026-08-29 14:53:36,863.863 INFO    ] 200
[2026-08-29 14:53:36,865.865 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:53:36,888.888 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:53:36,982.982 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:53:36,983.983 INFO    ] No camera update needed
[2026-08-29 14:53:36,985.985 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:53:36,986.986 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:53:36,989.989 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:53:36,992.992 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:53:39,031.031 INFO    ] ================================================
[2026-08-29 14:53:39,046.046 INFO    ] Launching Daemon at Sat Aug 29 14:53:39 IST 2026
[2026-08-29 14:53:39,057.057 INFO    ] ================================================
[2026-08-29 14:53:39,417.417 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:53:39
[2026-08-29 14:53:39,754.754 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:53:39,889.889 INFO    ] Initializing speech engine...
[2026-08-29 14:53:39,901.901 INFO    ] 2026-08-29 14:53:39
[2026-08-29 14:53:40,108.108 INFO    ] 2026-08-29 14:53:40
[2026-08-29 14:53:40,135.135 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:53:40,258.258 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:53:40,320.320 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:53:40,452.452 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:53:40,508.508 INFO    ] time= 29/08/2026 14:53:40
[2026-08-29 14:53:40,542.542 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:53:40,553.553 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:53:40,623.623 INFO    ] No existing commands found in stream
[2026-08-29 14:53:45,633.633 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:53:45,636.636 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-08-29 14:53:48,295.295 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:53:48,296.296 INFO    ] Checking for system updates...
[2026-08-29 14:53:48,317.317 INFO    ] 200
[2026-08-29 14:53:48,319.319 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:53:48,350.350 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:53:48,352.352 INFO    ] No update needed
[2026-08-29 14:53:48,353.353 INFO    ] Checking for camera pi updates...
[2026-08-29 14:53:48,373.373 INFO    ] 200
[2026-08-29 14:53:48,374.374 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:53:48,397.397 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:53:48,473.473 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:53:48,475.475 INFO    ] No camera update needed
[2026-08-29 14:53:48,476.476 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:53:48,477.477 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:53:48,480.480 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:53:48,483.483 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:53:50,521.521 INFO    ] ================================================
[2026-08-29 14:53:50,536.536 INFO    ] Launching Daemon at Sat Aug 29 14:53:50 IST 2026
[2026-08-29 14:53:50,547.547 INFO    ] ================================================
[2026-08-29 14:53:50,919.919 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:53:50
[2026-08-29 14:53:51,255.255 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:53:51,406.406 INFO    ] Initializing speech engine...
[2026-08-29 14:53:51,412.412 INFO    ] 2026-08-29 14:53:51
[2026-08-29 14:53:51,620.620 INFO    ] 2026-08-29 14:53:51
[2026-08-29 14:53:51,649.649 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:53:51,774.774 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:53:51,837.837 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:53:51,974.974 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:53:52,035.035 INFO    ] time= 29/08/2026 14:53:51
[2026-08-29 14:53:52,068.068 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:53:52,075.075 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:53:52,144.144 INFO    ] No existing commands found in stream
[2026-08-29 14:53:57,158.158 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:53:57,161.161 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 14:54:00,649.649 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:54:00,651.651 INFO    ] Checking for system updates...
[2026-08-29 14:54:00,672.672 INFO    ] 200
[2026-08-29 14:54:00,674.674 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:54:00,704.704 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:54:00,706.706 INFO    ] No update needed
[2026-08-29 14:54:00,707.707 INFO    ] Checking for camera pi updates...
[2026-08-29 14:54:00,728.728 INFO    ] 200
[2026-08-29 14:54:00,730.730 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:54:00,755.755 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:54:00,858.858 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:54:00,860.860 INFO    ] No camera update needed
[2026-08-29 14:54:00,861.861 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:54:00,863.863 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:54:00,866.866 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:54:00,869.869 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:54:02,919.919 INFO    ] ================================================
[2026-08-29 14:54:02,935.935 INFO    ] Launching Daemon at Sat Aug 29 14:54:02 IST 2026
[2026-08-29 14:54:02,947.947 INFO    ] ================================================
[2026-08-29 14:54:03,516.516 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:54:03
[2026-08-29 14:54:04,102.102 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:54:04,336.336 INFO    ] Initializing speech engine...
[2026-08-29 14:54:04,341.341 INFO    ] 2026-08-29 14:54:04
[2026-08-29 14:54:04,569.569 INFO    ] 2026-08-29 14:54:04
[2026-08-29 14:54:04,594.594 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:54:04,754.754 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:54:04,761.761 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:54:04,913.913 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:54:04,923.923 INFO    ] time= 29/08/2026 14:54:04
[2026-08-29 14:54:04,927.927 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:54:04,932.932 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:54:05,002.002 INFO    ] No existing commands found in stream
[2026-08-29 14:54:10,013.013 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:54:10,016.016 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-08-29 14:54:12,620.620 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:54:12,622.622 INFO    ] Checking for system updates...
[2026-08-29 14:54:12,643.643 INFO    ] 200
[2026-08-29 14:54:12,644.644 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:54:12,677.677 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:54:12,678.678 INFO    ] No update needed
[2026-08-29 14:54:12,679.679 INFO    ] Checking for camera pi updates...
[2026-08-29 14:54:12,708.708 INFO    ] 200
[2026-08-29 14:54:12,710.710 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:54:12,750.750 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:54:12,830.830 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:54:12,833.833 INFO    ] No camera update needed
[2026-08-29 14:54:12,835.835 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:54:12,837.837 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:54:12,843.843 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:54:12,848.848 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:54:14,889.889 INFO    ] ================================================
[2026-08-29 14:54:14,904.904 INFO    ] Launching Daemon at Sat Aug 29 14:54:14 IST 2026
[2026-08-29 14:54:14,915.915 INFO    ] ================================================
[2026-08-29 14:54:15,489.489 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:54:15
[2026-08-29 14:54:15,956.956 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:54:16,089.089 INFO    ] Initializing speech engine...
[2026-08-29 14:54:16,094.094 INFO    ] 2026-08-29 14:54:16
[2026-08-29 14:54:16,322.322 INFO    ] 2026-08-29 14:54:16
[2026-08-29 14:54:16,353.353 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:54:16,472.472 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:54:16,481.481 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:54:16,647.647 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:54:16,702.702 INFO    ] time= 29/08/2026 14:54:16
[2026-08-29 14:54:16,714.714 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:54:16,732.732 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:54:16,794.794 INFO    ] No existing commands found in stream
[2026-08-29 14:54:21,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:54:21,824.824 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-08-29 14:54:25,821.821 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:54:25,823.823 INFO    ] Checking for system updates...
[2026-08-29 14:54:25,844.844 INFO    ] 200
[2026-08-29 14:54:25,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:54:25,878.878 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:54:25,879.879 INFO    ] No update needed
[2026-08-29 14:54:25,881.881 INFO    ] Checking for camera pi updates...
[2026-08-29 14:54:25,899.899 INFO    ] 200
[2026-08-29 14:54:25,901.901 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:54:25,923.923 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:54:26,013.013 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:54:26,015.015 INFO    ] No camera update needed
[2026-08-29 14:54:26,018.018 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:54:26,020.020 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:54:26,025.025 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:54:26,030.030 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:54:28,070.070 INFO    ] ================================================
[2026-08-29 14:54:28,086.086 INFO    ] Launching Daemon at Sat Aug 29 14:54:28 IST 2026
[2026-08-29 14:54:28,097.097 INFO    ] ================================================
[2026-08-29 14:54:28,667.667 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:54:28
[2026-08-29 14:54:29,151.151 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:54:29,286.286 INFO    ] Initializing speech engine...
[2026-08-29 14:54:29,289.289 INFO    ] 2026-08-29 14:54:29
[2026-08-29 14:54:29,510.510 INFO    ] 2026-08-29 14:54:29
[2026-08-29 14:54:29,551.551 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:54:29,676.676 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:54:29,731.731 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:54:29,893.893 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:54:29,899.899 INFO    ] time= 29/08/2026 14:54:29
[2026-08-29 14:54:29,903.903 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:54:29,921.921 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:54:30,039.039 INFO    ] No existing commands found in stream
[2026-08-29 14:54:35,051.051 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:54:35,054.054 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-08-29 14:54:36,861.861 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:54:36,862.862 INFO    ] Checking for system updates...
[2026-08-29 14:54:36,882.882 INFO    ] 200
[2026-08-29 14:54:36,884.884 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:54:36,914.914 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:54:36,916.916 INFO    ] No update needed
[2026-08-29 14:54:36,917.917 INFO    ] Checking for camera pi updates...
[2026-08-29 14:54:36,936.936 INFO    ] 200
[2026-08-29 14:54:36,937.937 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:54:36,961.961 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:54:37,137.137 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:54:37,140.140 INFO    ] No camera update needed
[2026-08-29 14:54:37,142.142 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:54:37,144.144 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:54:37,149.149 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:54:37,154.154 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:54:39,194.194 INFO    ] ================================================
[2026-08-29 14:54:39,210.210 INFO    ] Launching Daemon at Sat Aug 29 14:54:39 IST 2026
[2026-08-29 14:54:39,228.228 INFO    ] ================================================
[2026-08-29 14:54:39,797.797 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:54:39
[2026-08-29 14:54:40,216.216 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:54:40,350.350 INFO    ] Initializing speech engine...
[2026-08-29 14:54:40,353.353 INFO    ] 2026-08-29 14:54:40
[2026-08-29 14:54:40,558.558 INFO    ] 2026-08-29 14:54:40
[2026-08-29 14:54:40,590.590 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:54:40,749.749 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:54:40,783.783 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:54:40,925.925 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:54:40,965.965 INFO    ] time= 29/08/2026 14:54:40
[2026-08-29 14:54:41,011.011 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:54:41,050.050 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:54:41,148.148 INFO    ] No existing commands found in stream
[2026-08-29 14:54:46,159.159 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:54:46,162.162 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-08-29 14:54:49,814.814 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:54:49,816.816 INFO    ] Checking for system updates...
[2026-08-29 14:54:49,836.836 INFO    ] 200
[2026-08-29 14:54:49,837.837 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:54:49,868.868 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:54:49,870.870 INFO    ] No update needed
[2026-08-29 14:54:49,871.871 INFO    ] Checking for camera pi updates...
[2026-08-29 14:54:49,890.890 INFO    ] 200
[2026-08-29 14:54:49,892.892 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:54:49,915.915 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:54:50,019.019 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:54:50,021.021 INFO    ] No camera update needed
[2026-08-29 14:54:50,022.022 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:54:50,024.024 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:54:50,027.027 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:54:50,030.030 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:54:52,070.070 INFO    ] ================================================
[2026-08-29 14:54:52,087.087 INFO    ] Launching Daemon at Sat Aug 29 14:54:52 IST 2026
[2026-08-29 14:54:52,098.098 INFO    ] ================================================
[2026-08-29 14:54:52,439.439 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:54:52
[2026-08-29 14:54:52,969.969 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:54:53,235.235 INFO    ] Initializing speech engine...
[2026-08-29 14:54:53,241.241 INFO    ] 2026-08-29 14:54:53
[2026-08-29 14:54:53,541.541 INFO    ] 2026-08-29 14:54:53
[2026-08-29 14:54:53,576.576 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:54:53,729.729 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:54:53,737.737 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:54:53,888.888 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:54:53,898.898 INFO    ] time= 29/08/2026 14:54:53
[2026-08-29 14:54:53,903.903 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:54:53,908.908 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:54:53,976.976 INFO    ] No existing commands found in stream
[2026-08-29 14:54:58,990.990 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:54:58,993.993 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-08-29 14:55:01,631.631 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:55:01,634.634 INFO    ] Checking for system updates...
[2026-08-29 14:55:01,674.674 INFO    ] 200
[2026-08-29 14:55:01,676.676 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:55:01,728.728 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:55:01,730.730 INFO    ] No update needed
[2026-08-29 14:55:01,733.733 INFO    ] Checking for camera pi updates...
[2026-08-29 14:55:01,766.766 INFO    ] 200
[2026-08-29 14:55:01,769.769 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:55:01,810.810 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:55:01,950.950 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:55:01,954.954 INFO    ] No camera update needed
[2026-08-29 14:55:01,959.959 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:55:01,965.965 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:55:01,977.977 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:55:01,986.986 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:55:04,036.036 INFO    ] ================================================
[2026-08-29 14:55:04,051.051 INFO    ] Launching Daemon at Sat Aug 29 14:55:04 IST 2026
[2026-08-29 14:55:04,063.063 INFO    ] ================================================
[2026-08-29 14:55:04,520.520 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:55:04
[2026-08-29 14:55:04,858.858 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:55:05,009.009 INFO    ] Initializing speech engine...
[2026-08-29 14:55:05,015.015 INFO    ] 2026-08-29 14:55:05
[2026-08-29 14:55:05,227.227 INFO    ] 2026-08-29 14:55:05
[2026-08-29 14:55:05,308.308 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:55:05,463.463 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:55:05,469.469 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:55:05,605.605 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:55:05,640.640 INFO    ] time= 29/08/2026 14:55:05
[2026-08-29 14:55:05,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:55:05,739.739 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:55:05,810.810 INFO    ] No existing commands found in stream
[2026-08-29 14:55:10,847.847 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:55:10,850.850 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-08-29 14:55:13,350.350 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:55:13,352.352 INFO    ] Checking for system updates...
[2026-08-29 14:55:13,372.372 INFO    ] 200
[2026-08-29 14:55:13,374.374 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:55:13,405.405 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:55:13,407.407 INFO    ] No update needed
[2026-08-29 14:55:13,408.408 INFO    ] Checking for camera pi updates...
[2026-08-29 14:55:13,428.428 INFO    ] 200
[2026-08-29 14:55:13,429.429 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:55:13,453.453 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:55:13,582.582 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:55:13,585.585 INFO    ] No camera update needed
[2026-08-29 14:55:13,587.587 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:55:13,590.590 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:55:13,596.596 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:55:13,602.602 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:55:15,643.643 INFO    ] ================================================
[2026-08-29 14:55:15,659.659 INFO    ] Launching Daemon at Sat Aug 29 14:55:15 IST 2026
[2026-08-29 14:55:15,671.671 INFO    ] ================================================
[2026-08-29 14:55:16,239.239 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:55:16
[2026-08-29 14:55:16,692.692 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:55:16,826.826 INFO    ] Initializing speech engine...
[2026-08-29 14:55:16,829.829 INFO    ] 2026-08-29 14:55:16
[2026-08-29 14:55:17,024.024 INFO    ] 2026-08-29 14:55:17
[2026-08-29 14:55:17,058.058 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:55:17,207.207 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:55:17,215.215 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:55:17,364.364 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:55:17,373.373 INFO    ] time= 29/08/2026 14:55:17
[2026-08-29 14:55:17,380.380 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:55:17,402.402 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:55:17,455.455 INFO    ] No existing commands found in stream
[2026-08-29 14:55:22,465.465 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:55:22,468.468 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-08-29 14:55:24,720.720 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:55:24,722.722 INFO    ] Checking for system updates...
[2026-08-29 14:55:24,742.742 INFO    ] 200
[2026-08-29 14:55:24,744.744 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:55:24,776.776 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:55:24,778.778 INFO    ] No update needed
[2026-08-29 14:55:24,779.779 INFO    ] Checking for camera pi updates...
[2026-08-29 14:55:24,800.800 INFO    ] 200
[2026-08-29 14:55:24,801.801 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:55:24,825.825 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:55:24,903.903 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:55:24,904.904 INFO    ] No camera update needed
[2026-08-29 14:55:24,905.905 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:55:24,907.907 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:55:24,910.910 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:55:24,913.913 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:55:26,951.951 INFO    ] ================================================
[2026-08-29 14:55:26,968.968 INFO    ] Launching Daemon at Sat Aug 29 14:55:26 IST 2026
[2026-08-29 14:55:26,979.979 INFO    ] ================================================
[2026-08-29 14:55:27,458.458 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:55:27
[2026-08-29 14:55:28,046.046 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:55:28,317.317 INFO    ] Initializing speech engine...
[2026-08-29 14:55:28,337.337 INFO    ] 2026-08-29 14:55:28
[2026-08-29 14:55:28,604.604 INFO    ] 2026-08-29 14:55:28
[2026-08-29 14:55:28,640.640 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:55:28,834.834 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:55:28,841.841 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:55:28,975.975 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:55:28,980.980 INFO    ] time= 29/08/2026 14:55:28
[2026-08-29 14:55:29,001.001 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:55:29,022.022 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:55:29,104.104 INFO    ] No existing commands found in stream
[2026-08-29 14:55:34,117.117 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:55:34,120.120 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-08-29 14:55:35,724.724 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:55:35,726.726 INFO    ] Checking for system updates...
[2026-08-29 14:55:35,762.762 INFO    ] 200
[2026-08-29 14:55:35,765.765 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:55:35,817.817 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:55:35,819.819 INFO    ] No update needed
[2026-08-29 14:55:35,821.821 INFO    ] Checking for camera pi updates...
[2026-08-29 14:55:35,856.856 INFO    ] 200
[2026-08-29 14:55:35,858.858 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:55:35,903.903 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:55:35,993.993 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:55:35,995.995 INFO    ] No camera update needed
[2026-08-29 14:55:35,997.997 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:55:35,999.999 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:55:36,002.002 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:55:36,005.005 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:55:38,044.044 INFO    ] ================================================
[2026-08-29 14:55:38,059.059 INFO    ] Launching Daemon at Sat Aug 29 14:55:38 IST 2026
[2026-08-29 14:55:38,070.070 INFO    ] ================================================
[2026-08-29 14:55:38,396.396 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:55:38
[2026-08-29 14:55:38,708.708 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:55:38,850.850 INFO    ] Initializing speech engine...
[2026-08-29 14:55:38,856.856 INFO    ] 2026-08-29 14:55:38
[2026-08-29 14:55:39,058.058 INFO    ] 2026-08-29 14:55:39
[2026-08-29 14:55:39,087.087 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:55:39,209.209 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:55:39,271.271 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:55:39,403.403 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:55:39,459.459 INFO    ] time= 29/08/2026 14:55:39
[2026-08-29 14:55:39,493.493 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:55:39,504.504 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:55:39,576.576 INFO    ] No existing commands found in stream
[2026-08-29 14:55:44,585.585 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:55:44,587.587 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-08-29 14:55:47,006.006 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:55:47,007.007 INFO    ] Checking for system updates...
[2026-08-29 14:55:47,027.027 INFO    ] 200
[2026-08-29 14:55:47,028.028 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:55:47,060.060 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:55:47,062.062 INFO    ] No update needed
[2026-08-29 14:55:47,063.063 INFO    ] Checking for camera pi updates...
[2026-08-29 14:55:47,083.083 INFO    ] 200
[2026-08-29 14:55:47,084.084 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:55:47,120.120 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:55:47,221.221 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:55:47,224.224 INFO    ] No camera update needed
[2026-08-29 14:55:47,227.227 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:55:47,230.230 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:55:47,236.236 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:55:47,241.241 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:55:49,283.283 INFO    ] ================================================
[2026-08-29 14:55:49,297.297 INFO    ] Launching Daemon at Sat Aug 29 14:55:49 IST 2026
[2026-08-29 14:55:49,308.308 INFO    ] ================================================
[2026-08-29 14:55:49,957.957 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:55:49
[2026-08-29 14:55:50,425.425 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:55:50,577.577 INFO    ] Initializing speech engine...
[2026-08-29 14:55:50,581.581 INFO    ] 2026-08-29 14:55:50
[2026-08-29 14:55:50,821.821 INFO    ] 2026-08-29 14:55:50
[2026-08-29 14:55:50,876.876 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:55:51,101.101 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:55:51,111.111 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:55:51,244.244 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:55:51,256.256 INFO    ] time= 29/08/2026 14:55:51
[2026-08-29 14:55:51,321.321 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:55:51,375.375 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:55:51,432.432 INFO    ] No existing commands found in stream
[2026-08-29 14:55:56,445.445 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:55:56,448.448 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-08-29 14:55:59,949.949 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:55:59,950.950 INFO    ] Checking for system updates...
[2026-08-29 14:55:59,971.971 INFO    ] 200
[2026-08-29 14:55:59,973.973 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:56:00,003.003 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:56:00,004.004 INFO    ] No update needed
[2026-08-29 14:56:00,005.005 INFO    ] Checking for camera pi updates...
[2026-08-29 14:56:00,024.024 INFO    ] 200
[2026-08-29 14:56:00,026.026 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:56:00,048.048 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:56:00,127.127 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:56:00,129.129 INFO    ] No camera update needed
[2026-08-29 14:56:00,131.131 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:56:00,134.134 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:56:00,140.140 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:56:00,145.145 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:56:02,195.195 INFO    ] ================================================
[2026-08-29 14:56:02,221.221 INFO    ] Launching Daemon at Sat Aug 29 14:56:02 IST 2026
[2026-08-29 14:56:02,238.238 INFO    ] ================================================
[2026-08-29 14:56:02,877.877 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:56:02
[2026-08-29 14:56:03,467.467 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:56:03,719.719 INFO    ] Initializing speech engine...
[2026-08-29 14:56:03,726.726 INFO    ] 2026-08-29 14:56:03
[2026-08-29 14:56:03,999.999 INFO    ] 2026-08-29 14:56:03
[2026-08-29 14:56:04,034.034 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:56:04,206.206 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:56:04,217.217 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:56:04,326.326 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:56:04,331.331 INFO    ] time= 29/08/2026 14:56:04
[2026-08-29 14:56:04,349.349 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:56:04,370.370 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:56:04,443.443 INFO    ] No existing commands found in stream
[2026-08-29 14:56:09,458.458 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:56:09,461.461 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-08-29 14:56:12,867.867 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:56:12,869.869 INFO    ] Checking for system updates...
[2026-08-29 14:56:12,889.889 INFO    ] 200
[2026-08-29 14:56:12,891.891 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:56:12,921.921 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:56:12,922.922 INFO    ] No update needed
[2026-08-29 14:56:12,924.924 INFO    ] Checking for camera pi updates...
[2026-08-29 14:56:12,945.945 INFO    ] 200
[2026-08-29 14:56:12,946.946 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:56:12,972.972 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:56:13,052.052 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:56:13,053.053 INFO    ] No camera update needed
[2026-08-29 14:56:13,055.055 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:56:13,056.056 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:56:13,059.059 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:56:13,062.062 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:56:15,102.102 INFO    ] ================================================
[2026-08-29 14:56:15,117.117 INFO    ] Launching Daemon at Sat Aug 29 14:56:15 IST 2026
[2026-08-29 14:56:15,128.128 INFO    ] ================================================
[2026-08-29 14:56:15,486.486 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:56:15
[2026-08-29 14:56:15,801.801 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:56:15,945.945 INFO    ] Initializing speech engine...
[2026-08-29 14:56:15,950.950 INFO    ] 2026-08-29 14:56:15
[2026-08-29 14:56:16,154.154 INFO    ] 2026-08-29 14:56:16
[2026-08-29 14:56:16,182.182 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:56:16,305.305 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:56:16,363.363 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:56:16,498.498 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:56:16,555.555 INFO    ] time= 29/08/2026 14:56:16
[2026-08-29 14:56:16,597.597 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:56:16,604.604 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:56:16,671.671 INFO    ] No existing commands found in stream
[2026-08-29 14:56:21,680.680 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:56:21,683.683 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-08-29 14:56:25,025.025 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:56:25,026.026 INFO    ] Checking for system updates...
[2026-08-29 14:56:25,048.048 INFO    ] 200
[2026-08-29 14:56:25,049.049 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:56:25,083.083 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:56:25,084.084 INFO    ] No update needed
[2026-08-29 14:56:25,086.086 INFO    ] Checking for camera pi updates...
[2026-08-29 14:56:25,105.105 INFO    ] 200
[2026-08-29 14:56:25,106.106 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:56:25,129.129 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:56:25,215.215 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:56:25,217.217 INFO    ] No camera update needed
[2026-08-29 14:56:25,218.218 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:56:25,219.219 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:56:25,222.222 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:56:25,225.225 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:56:27,264.264 INFO    ] ================================================
[2026-08-29 14:56:27,280.280 INFO    ] Launching Daemon at Sat Aug 29 14:56:27 IST 2026
[2026-08-29 14:56:27,291.291 INFO    ] ================================================
[2026-08-29 14:56:27,630.630 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:56:27
[2026-08-29 14:56:27,961.961 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:56:28,104.104 INFO    ] Initializing speech engine...
[2026-08-29 14:56:28,109.109 INFO    ] 2026-08-29 14:56:28
[2026-08-29 14:56:28,306.306 INFO    ] 2026-08-29 14:56:28
[2026-08-29 14:56:28,383.383 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:56:28,531.531 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:56:28,540.540 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:56:28,781.781 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:56:28,800.800 INFO    ] time= 29/08/2026 14:56:28
[2026-08-29 14:56:28,815.815 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:56:28,824.824 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:56:28,946.946 INFO    ] No existing commands found in stream
[2026-08-29 14:56:33,963.963 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:56:33,966.966 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-08-29 14:56:37,092.092 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:56:37,094.094 INFO    ] Checking for system updates...
[2026-08-29 14:56:37,115.115 INFO    ] 200
[2026-08-29 14:56:37,116.116 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:56:37,167.167 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:56:37,169.169 INFO    ] No update needed
[2026-08-29 14:56:37,172.172 INFO    ] Checking for camera pi updates...
[2026-08-29 14:56:37,205.205 INFO    ] 200
[2026-08-29 14:56:37,208.208 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:56:37,252.252 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:56:37,365.365 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:56:37,367.367 INFO    ] No camera update needed
[2026-08-29 14:56:37,370.370 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:56:37,372.372 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:56:37,377.377 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:56:37,382.382 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:56:39,422.422 INFO    ] ================================================
[2026-08-29 14:56:39,438.438 INFO    ] Launching Daemon at Sat Aug 29 14:56:39 IST 2026
[2026-08-29 14:56:39,449.449 INFO    ] ================================================
[2026-08-29 14:56:40,088.088 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:56:40
[2026-08-29 14:56:40,501.501 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:56:40,650.650 INFO    ] Initializing speech engine...
[2026-08-29 14:56:40,657.657 INFO    ] 2026-08-29 14:56:40
[2026-08-29 14:56:40,862.862 INFO    ] 2026-08-29 14:56:40
[2026-08-29 14:56:40,890.890 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:56:41,018.018 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:56:41,070.070 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:56:41,203.203 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:56:41,225.225 INFO    ] time= 29/08/2026 14:56:41
[2026-08-29 14:56:41,251.251 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:56:41,260.260 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:56:41,359.359 INFO    ] No existing commands found in stream
[2026-08-29 14:56:46,383.383 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:56:46,386.386 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-08-29 14:56:47,758.758 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:56:47,760.760 INFO    ] Checking for system updates...
[2026-08-29 14:56:47,781.781 INFO    ] 200
[2026-08-29 14:56:47,783.783 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:56:47,815.815 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:56:47,816.816 INFO    ] No update needed
[2026-08-29 14:56:47,817.817 INFO    ] Checking for camera pi updates...
[2026-08-29 14:56:47,836.836 INFO    ] 200
[2026-08-29 14:56:47,838.838 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:56:47,864.864 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:56:48,049.049 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:56:48,050.050 INFO    ] No camera update needed
[2026-08-29 14:56:48,051.051 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:56:48,053.053 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:56:48,056.056 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:56:48,058.058 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:56:50,098.098 INFO    ] ================================================
[2026-08-29 14:56:50,114.114 INFO    ] Launching Daemon at Sat Aug 29 14:56:50 IST 2026
[2026-08-29 14:56:50,124.124 INFO    ] ================================================
[2026-08-29 14:56:50,680.680 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:56:50
[2026-08-29 14:56:51,356.356 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:56:51,661.661 INFO    ] Initializing speech engine...
[2026-08-29 14:56:51,675.675 INFO    ] 2026-08-29 14:56:51
[2026-08-29 14:56:51,984.984 INFO    ] 2026-08-29 14:56:51
[2026-08-29 14:56:52,065.065 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:56:52,225.225 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:56:52,231.231 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:56:52,365.365 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:56:52,430.430 INFO    ] time= 29/08/2026 14:56:52
[2026-08-29 14:56:52,480.480 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:56:52,499.499 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:56:52,550.550 INFO    ] No existing commands found in stream
[2026-08-29 14:56:57,564.564 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:56:57,567.567 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-08-29 14:56:58,380.380 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:56:58,381.381 INFO    ] Checking for system updates...
[2026-08-29 14:56:58,402.402 INFO    ] 200
[2026-08-29 14:56:58,404.404 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:56:58,434.434 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:56:58,435.435 INFO    ] No update needed
[2026-08-29 14:56:58,436.436 INFO    ] Checking for camera pi updates...
[2026-08-29 14:56:58,456.456 INFO    ] 200
[2026-08-29 14:56:58,457.457 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:56:58,480.480 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:56:58,577.577 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:56:58,580.580 INFO    ] No camera update needed
[2026-08-29 14:56:58,583.583 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:56:58,586.586 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:56:58,592.592 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:56:58,598.598 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:57:00,639.639 INFO    ] ================================================
[2026-08-29 14:57:00,655.655 INFO    ] Launching Daemon at Sat Aug 29 14:57:00 IST 2026
[2026-08-29 14:57:00,665.665 INFO    ] ================================================
[2026-08-29 14:57:01,321.321 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:57:01
[2026-08-29 14:57:02,048.048 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:57:02,337.337 INFO    ] Initializing speech engine...
[2026-08-29 14:57:02,365.365 INFO    ] 2026-08-29 14:57:02
[2026-08-29 14:57:02,669.669 INFO    ] 2026-08-29 14:57:02
[2026-08-29 14:57:02,727.727 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:57:02,963.963 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:57:02,978.978 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:57:03,142.142 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:57:03,211.211 INFO    ] time= 29/08/2026 14:57:03
[2026-08-29 14:57:03,276.276 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:57:03,294.294 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:57:03,408.408 INFO    ] No existing commands found in stream
[2026-08-29 14:57:08,431.431 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:57:08,434.434 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-08-29 14:57:11,390.390 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:57:11,391.391 INFO    ] Checking for system updates...
[2026-08-29 14:57:11,412.412 INFO    ] 200
[2026-08-29 14:57:11,413.413 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:57:11,443.443 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:57:11,445.445 INFO    ] No update needed
[2026-08-29 14:57:11,446.446 INFO    ] Checking for camera pi updates...
[2026-08-29 14:57:11,465.465 INFO    ] 200
[2026-08-29 14:57:11,467.467 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:57:11,491.491 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:57:11,573.573 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:57:11,575.575 INFO    ] No camera update needed
[2026-08-29 14:57:11,576.576 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:57:11,577.577 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:57:11,581.581 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:57:11,584.584 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:57:13,622.622 INFO    ] ================================================
[2026-08-29 14:57:13,637.637 INFO    ] Launching Daemon at Sat Aug 29 14:57:13 IST 2026
[2026-08-29 14:57:13,648.648 INFO    ] ================================================
[2026-08-29 14:57:13,998.998 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:57:13
[2026-08-29 14:57:14,310.310 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:57:14,440.440 INFO    ] Initializing speech engine...
[2026-08-29 14:57:14,444.444 INFO    ] 2026-08-29 14:57:14
[2026-08-29 14:57:14,660.660 INFO    ] 2026-08-29 14:57:14
[2026-08-29 14:57:14,689.689 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:57:14,821.821 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:57:14,874.874 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:57:15,007.007 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:57:15,065.065 INFO    ] time= 29/08/2026 14:57:15
[2026-08-29 14:57:15,101.101 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:57:15,103.103 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:57:15,173.173 INFO    ] No existing commands found in stream
[2026-08-29 14:57:20,184.184 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:57:20,187.187 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-08-29 14:57:23,677.677 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:57:23,679.679 INFO    ] Checking for system updates...
[2026-08-29 14:57:23,699.699 INFO    ] 200
[2026-08-29 14:57:23,700.700 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:57:23,730.730 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:57:23,731.731 INFO    ] No update needed
[2026-08-29 14:57:23,733.733 INFO    ] Checking for camera pi updates...
[2026-08-29 14:57:23,752.752 INFO    ] 200
[2026-08-29 14:57:23,753.753 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:57:23,776.776 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:57:23,879.879 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:57:23,881.881 INFO    ] No camera update needed
[2026-08-29 14:57:23,883.883 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:57:23,886.886 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:57:23,891.891 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:57:23,896.896 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:57:25,937.937 INFO    ] ================================================
[2026-08-29 14:57:25,952.952 INFO    ] Launching Daemon at Sat Aug 29 14:57:25 IST 2026
[2026-08-29 14:57:25,963.963 INFO    ] ================================================
[2026-08-29 14:57:26,606.606 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:57:26
[2026-08-29 14:57:27,109.109 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:57:27,262.262 INFO    ] Initializing speech engine...
[2026-08-29 14:57:27,266.266 INFO    ] 2026-08-29 14:57:27
[2026-08-29 14:57:27,475.475 INFO    ] 2026-08-29 14:57:27
[2026-08-29 14:57:27,504.504 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:57:27,628.628 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:57:27,673.673 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:57:27,812.812 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:57:27,841.841 INFO    ] time= 29/08/2026 14:57:27
[2026-08-29 14:57:27,888.888 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:57:27,925.925 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:57:28,022.022 INFO    ] No existing commands found in stream
[2026-08-29 14:57:33,033.033 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:57:33,036.036 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 14:57:34,982.982 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 14:57:34,985.985 INFO    ] Checking for system updates...
[2026-08-29 14:57:35,020.020 INFO    ] 200
[2026-08-29 14:57:35,023.023 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:57:35,075.075 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:57:35,077.077 INFO    ] No update needed
[2026-08-29 14:57:35,079.079 INFO    ] Checking for camera pi updates...
[2026-08-29 14:57:35,112.112 INFO    ] 200
[2026-08-29 14:57:35,115.115 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:57:35,154.154 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:57:35,233.233 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:57:35,235.235 INFO    ] No camera update needed
[2026-08-29 14:57:35,238.238 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:57:35,240.240 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:57:35,245.245 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:57:35,250.250 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:57:37,289.289 INFO    ] ================================================
[2026-08-29 14:57:37,305.305 INFO    ] Launching Daemon at Sat Aug 29 14:57:37 IST 2026
[2026-08-29 14:57:37,315.315 INFO    ] ================================================
[2026-08-29 14:57:37,653.653 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:57:37
[2026-08-29 14:57:37,969.969 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:57:38,112.112 INFO    ] Initializing speech engine...
[2026-08-29 14:57:38,117.117 INFO    ] 2026-08-29 14:57:38
[2026-08-29 14:57:38,323.323 INFO    ] 2026-08-29 14:57:38
[2026-08-29 14:57:38,407.407 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:57:38,555.555 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:57:38,564.564 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:57:38,695.695 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:57:38,742.742 INFO    ] time= 29/08/2026 14:57:38
[2026-08-29 14:57:38,801.801 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:57:38,828.828 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:57:38,880.880 INFO    ] No existing commands found in stream
[2026-08-29 14:57:43,892.892 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:57:43,895.895 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-08-29 14:57:46,879.879 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:57:46,880.880 INFO    ] Checking for system updates...
[2026-08-29 14:57:46,901.901 INFO    ] 200
[2026-08-29 14:57:46,903.903 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:57:46,933.933 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:57:46,934.934 INFO    ] No update needed
[2026-08-29 14:57:46,935.935 INFO    ] Checking for camera pi updates...
[2026-08-29 14:57:46,955.955 INFO    ] 200
[2026-08-29 14:57:46,957.957 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:57:46,980.980 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:57:47,058.058 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:57:47,060.060 INFO    ] No camera update needed
[2026-08-29 14:57:47,061.061 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:57:47,063.063 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:57:47,066.066 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:57:47,069.069 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:57:49,109.109 INFO    ] ================================================
[2026-08-29 14:57:49,124.124 INFO    ] Launching Daemon at Sat Aug 29 14:57:49 IST 2026
[2026-08-29 14:57:49,135.135 INFO    ] ================================================
[2026-08-29 14:57:49,492.492 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:57:49
[2026-08-29 14:57:49,833.833 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:57:49,972.972 INFO    ] Initializing speech engine...
[2026-08-29 14:57:49,985.985 INFO    ] 2026-08-29 14:57:49
[2026-08-29 14:57:50,197.197 INFO    ] 2026-08-29 14:57:50
[2026-08-29 14:57:50,226.226 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:57:50,359.359 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:57:50,412.412 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:57:50,562.562 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:57:50,619.619 INFO    ] time= 29/08/2026 14:57:50
[2026-08-29 14:57:50,642.642 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:57:50,649.649 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:57:50,715.715 INFO    ] No existing commands found in stream
[2026-08-29 14:57:55,726.726 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:57:55,729.729 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-08-29 14:57:59,048.048 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:57:59,049.049 INFO    ] Checking for system updates...
[2026-08-29 14:57:59,070.070 INFO    ] 200
[2026-08-29 14:57:59,072.072 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:57:59,102.102 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:57:59,103.103 INFO    ] No update needed
[2026-08-29 14:57:59,105.105 INFO    ] Checking for camera pi updates...
[2026-08-29 14:57:59,124.124 INFO    ] 200
[2026-08-29 14:57:59,125.125 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:57:59,149.149 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:57:59,245.245 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:57:59,246.246 INFO    ] No camera update needed
[2026-08-29 14:57:59,247.247 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:57:59,249.249 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:57:59,252.252 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:57:59,255.255 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:58:01,295.295 INFO    ] ================================================
[2026-08-29 14:58:01,310.310 INFO    ] Launching Daemon at Sat Aug 29 14:58:01 IST 2026
[2026-08-29 14:58:01,321.321 INFO    ] ================================================
[2026-08-29 14:58:02,015.015 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:58:02
[2026-08-29 14:58:02,660.660 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:58:02,950.950 INFO    ] Initializing speech engine...
[2026-08-29 14:58:02,970.970 INFO    ] 2026-08-29 14:58:02
[2026-08-29 14:58:03,312.312 INFO    ] 2026-08-29 14:58:03
[2026-08-29 14:58:03,350.350 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:58:03,506.506 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:58:03,514.514 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:58:03,667.667 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:58:03,678.678 INFO    ] time= 29/08/2026 14:58:03
[2026-08-29 14:58:03,684.684 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:58:03,708.708 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:58:03,759.759 INFO    ] No existing commands found in stream
[2026-08-29 14:58:08,770.770 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:58:08,773.773 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-08-29 14:58:11,495.495 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:58:11,498.498 INFO    ] Checking for system updates...
[2026-08-29 14:58:11,534.534 INFO    ] 200
[2026-08-29 14:58:11,537.537 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:58:11,589.589 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:58:11,592.592 INFO    ] No update needed
[2026-08-29 14:58:11,594.594 INFO    ] Checking for camera pi updates...
[2026-08-29 14:58:11,628.628 INFO    ] 200
[2026-08-29 14:58:11,631.631 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:58:11,676.676 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:58:11,755.755 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:58:11,758.758 INFO    ] No camera update needed
[2026-08-29 14:58:11,760.760 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:58:11,762.762 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:58:11,767.767 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:58:11,772.772 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:58:13,811.811 INFO    ] ================================================
[2026-08-29 14:58:13,826.826 INFO    ] Launching Daemon at Sat Aug 29 14:58:13 IST 2026
[2026-08-29 14:58:13,837.837 INFO    ] ================================================
[2026-08-29 14:58:14,206.206 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:58:14
[2026-08-29 14:58:14,517.517 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:58:14,775.775 INFO    ] Initializing speech engine...
[2026-08-29 14:58:14,781.781 INFO    ] 2026-08-29 14:58:14
[2026-08-29 14:58:15,028.028 INFO    ] 2026-08-29 14:58:15
[2026-08-29 14:58:15,063.063 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:58:15,234.234 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:58:15,246.246 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:58:15,355.355 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:58:15,375.375 INFO    ] time= 29/08/2026 14:58:15
[2026-08-29 14:58:15,398.398 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:58:15,403.403 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:58:15,473.473 INFO    ] No existing commands found in stream
[2026-08-29 14:58:20,503.503 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:58:20,506.506 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 14:58:21,158.158 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:58:21,160.160 INFO    ] Checking for system updates...
[2026-08-29 14:58:21,180.180 INFO    ] 200
[2026-08-29 14:58:21,181.181 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:58:21,211.211 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:58:21,213.213 INFO    ] No update needed
[2026-08-29 14:58:21,214.214 INFO    ] Checking for camera pi updates...
[2026-08-29 14:58:21,233.233 INFO    ] 200
[2026-08-29 14:58:21,235.235 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:58:21,260.260 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:58:21,363.363 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:58:21,364.364 INFO    ] No camera update needed
[2026-08-29 14:58:21,366.366 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:58:21,367.367 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:58:21,370.370 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:58:21,373.373 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:58:23,410.410 INFO    ] ================================================
[2026-08-29 14:58:23,425.425 INFO    ] Launching Daemon at Sat Aug 29 14:58:23 IST 2026
[2026-08-29 14:58:23,436.436 INFO    ] ================================================
[2026-08-29 14:58:23,791.791 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:58:23
[2026-08-29 14:58:24,103.103 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:58:24,234.234 INFO    ] Initializing speech engine...
[2026-08-29 14:58:24,237.237 INFO    ] 2026-08-29 14:58:24
[2026-08-29 14:58:24,447.447 INFO    ] 2026-08-29 14:58:24
[2026-08-29 14:58:24,475.475 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:58:24,595.595 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:58:24,598.598 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:58:24,729.729 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:58:24,734.734 INFO    ] time= 29/08/2026 14:58:24
[2026-08-29 14:58:24,739.739 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:58:24,772.772 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:58:24,856.856 INFO    ] No existing commands found in stream
[2026-08-29 14:58:29,881.881 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:58:29,884.884 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-08-29 14:58:30,394.394 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:58:30,396.396 INFO    ] Checking for system updates...
[2026-08-29 14:58:30,416.416 INFO    ] 200
[2026-08-29 14:58:30,417.417 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:58:30,449.449 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:58:30,450.450 INFO    ] No update needed
[2026-08-29 14:58:30,452.452 INFO    ] Checking for camera pi updates...
[2026-08-29 14:58:30,471.471 INFO    ] 200
[2026-08-29 14:58:30,473.473 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:58:30,495.495 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:58:30,599.599 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:58:30,600.600 INFO    ] No camera update needed
[2026-08-29 14:58:30,602.602 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:58:30,603.603 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:58:30,606.606 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:58:30,608.608 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:58:32,648.648 INFO    ] ================================================
[2026-08-29 14:58:32,663.663 INFO    ] Launching Daemon at Sat Aug 29 14:58:32 IST 2026
[2026-08-29 14:58:32,674.674 INFO    ] ================================================
[2026-08-29 14:58:33,316.316 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:58:33
[2026-08-29 14:58:33,930.930 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:58:34,214.214 INFO    ] Initializing speech engine...
[2026-08-29 14:58:34,222.222 INFO    ] 2026-08-29 14:58:34
[2026-08-29 14:58:34,495.495 INFO    ] 2026-08-29 14:58:34
[2026-08-29 14:58:34,538.538 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:58:34,758.758 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:58:34,767.767 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:58:34,900.900 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:58:34,937.937 INFO    ] time= 29/08/2026 14:58:34
[2026-08-29 14:58:35,000.000 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:58:35,035.035 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:58:35,086.086 INFO    ] No existing commands found in stream
[2026-08-29 14:58:40,098.098 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:58:40,101.101 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-08-29 14:58:42,484.484 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:58:42,486.486 INFO    ] Checking for system updates...
[2026-08-29 14:58:42,507.507 INFO    ] 200
[2026-08-29 14:58:42,509.509 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:58:42,540.540 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:58:42,542.542 INFO    ] No update needed
[2026-08-29 14:58:42,543.543 INFO    ] Checking for camera pi updates...
[2026-08-29 14:58:42,563.563 INFO    ] 200
[2026-08-29 14:58:42,565.565 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:58:42,589.589 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:58:42,673.673 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:58:42,675.675 INFO    ] No camera update needed
[2026-08-29 14:58:42,677.677 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:58:42,680.680 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:58:42,685.685 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:58:42,690.690 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:58:44,730.730 INFO    ] ================================================
[2026-08-29 14:58:44,746.746 INFO    ] Launching Daemon at Sat Aug 29 14:58:44 IST 2026
[2026-08-29 14:58:44,757.757 INFO    ] ================================================
[2026-08-29 14:58:45,325.325 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:58:45
[2026-08-29 14:58:45,809.809 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:58:45,991.991 INFO    ] Initializing speech engine...
[2026-08-29 14:58:45,996.996 INFO    ] 2026-08-29 14:58:45
[2026-08-29 14:58:46,289.289 INFO    ] 2026-08-29 14:58:46
[2026-08-29 14:58:46,323.323 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:58:46,468.468 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:58:46,476.476 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:58:46,629.629 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:58:46,638.638 INFO    ] time= 29/08/2026 14:58:46
[2026-08-29 14:58:46,644.644 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:58:46,667.667 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:58:46,716.716 INFO    ] No existing commands found in stream
[2026-08-29 14:58:51,728.728 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:58:51,731.731 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-08-29 14:58:52,560.560 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 14:58:52,562.562 INFO    ] Checking for system updates...
[2026-08-29 14:58:52,583.583 INFO    ] 200
[2026-08-29 14:58:52,584.584 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:58:52,614.614 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:58:52,615.615 INFO    ] No update needed
[2026-08-29 14:58:52,617.617 INFO    ] Checking for camera pi updates...
[2026-08-29 14:58:52,636.636 INFO    ] 200
[2026-08-29 14:58:52,637.637 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:58:52,660.660 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:58:52,834.834 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:58:52,835.835 INFO    ] No camera update needed
[2026-08-29 14:58:52,836.836 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:58:52,837.837 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:58:52,840.840 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:58:52,843.843 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:58:54,881.881 INFO    ] ================================================
[2026-08-29 14:58:54,896.896 INFO    ] Launching Daemon at Sat Aug 29 14:58:54 IST 2026
[2026-08-29 14:58:54,907.907 INFO    ] ================================================
[2026-08-29 14:58:55,270.270 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:58:55
[2026-08-29 14:58:55,584.584 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:58:55,716.716 INFO    ] Initializing speech engine...
[2026-08-29 14:58:55,721.721 INFO    ] 2026-08-29 14:58:55
[2026-08-29 14:58:55,937.937 INFO    ] 2026-08-29 14:58:55
[2026-08-29 14:58:56,026.026 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:58:56,192.192 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:58:56,201.201 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:58:56,352.352 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:58:56,359.359 INFO    ] time= 29/08/2026 14:58:56
[2026-08-29 14:58:56,404.404 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:58:56,448.448 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:58:56,522.522 INFO    ] No existing commands found in stream
[2026-08-29 14:59:01,536.536 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:59:01,540.540 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-08-29 14:59:04,399.399 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 14:59:04,402.402 INFO    ] Checking for system updates...
[2026-08-29 14:59:04,437.437 INFO    ] 200
[2026-08-29 14:59:04,440.440 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:59:04,497.497 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:59:04,500.500 INFO    ] No update needed
[2026-08-29 14:59:04,502.502 INFO    ] Checking for camera pi updates...
[2026-08-29 14:59:04,539.539 INFO    ] 200
[2026-08-29 14:59:04,541.541 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:59:04,585.585 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:59:04,675.675 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:59:04,678.678 INFO    ] No camera update needed
[2026-08-29 14:59:04,680.680 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:59:04,682.682 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:59:04,687.687 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:59:04,692.692 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:59:06,732.732 INFO    ] ================================================
[2026-08-29 14:59:06,747.747 INFO    ] Launching Daemon at Sat Aug 29 14:59:06 IST 2026
[2026-08-29 14:59:06,758.758 INFO    ] ================================================
[2026-08-29 14:59:07,084.084 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:59:07
[2026-08-29 14:59:07,396.396 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:59:07,592.592 INFO    ] Initializing speech engine...
[2026-08-29 14:59:07,607.607 INFO    ] 2026-08-29 14:59:07
[2026-08-29 14:59:07,878.878 INFO    ] 2026-08-29 14:59:07
[2026-08-29 14:59:07,914.914 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:59:08,104.104 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:59:08,110.110 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:59:08,241.241 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:59:08,248.248 INFO    ] time= 29/08/2026 14:59:08
[2026-08-29 14:59:08,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:59:08,287.287 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:59:08,369.369 INFO    ] No existing commands found in stream
[2026-08-29 14:59:13,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:59:13,384.384 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-08-29 14:59:14,299.299 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:59:14,301.301 INFO    ] Checking for system updates...
[2026-08-29 14:59:14,322.322 INFO    ] 200
[2026-08-29 14:59:14,323.323 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:59:14,355.355 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:59:14,356.356 INFO    ] No update needed
[2026-08-29 14:59:14,358.358 INFO    ] Checking for camera pi updates...
[2026-08-29 14:59:14,377.377 INFO    ] 200
[2026-08-29 14:59:14,378.378 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:59:14,402.402 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:59:14,501.501 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:59:14,503.503 INFO    ] No camera update needed
[2026-08-29 14:59:14,504.504 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:59:14,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:59:14,508.508 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:59:14,510.510 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:59:16,548.548 INFO    ] ================================================
[2026-08-29 14:59:16,564.564 INFO    ] Launching Daemon at Sat Aug 29 14:59:16 IST 2026
[2026-08-29 14:59:16,575.575 INFO    ] ================================================
[2026-08-29 14:59:17,118.118 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:59:17
[2026-08-29 14:59:17,772.772 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:59:18,069.069 INFO    ] Initializing speech engine...
[2026-08-29 14:59:18,077.077 INFO    ] 2026-08-29 14:59:18
[2026-08-29 14:59:18,395.395 INFO    ] 2026-08-29 14:59:18
[2026-08-29 14:59:18,476.476 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:59:18,657.657 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:59:18,664.664 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:59:18,857.857 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:59:18,899.899 INFO    ] time= 29/08/2026 14:59:18
[2026-08-29 14:59:18,905.905 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:59:18,923.923 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:59:19,035.035 INFO    ] No existing commands found in stream
[2026-08-29 14:59:24,063.063 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:59:24,066.066 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-08-29 14:59:28,281.281 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 14:59:28,282.282 INFO    ] Checking for system updates...
[2026-08-29 14:59:28,304.304 INFO    ] 200
[2026-08-29 14:59:28,306.306 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:59:28,335.335 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:59:28,336.336 INFO    ] No update needed
[2026-08-29 14:59:28,338.338 INFO    ] Checking for camera pi updates...
[2026-08-29 14:59:28,361.361 INFO    ] 200
[2026-08-29 14:59:28,364.364 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:59:28,410.410 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:59:28,497.497 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:59:28,500.500 INFO    ] No camera update needed
[2026-08-29 14:59:28,502.502 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:59:28,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:59:28,510.510 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:59:28,515.515 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:59:30,555.555 INFO    ] ================================================
[2026-08-29 14:59:30,570.570 INFO    ] Launching Daemon at Sat Aug 29 14:59:30 IST 2026
[2026-08-29 14:59:30,581.581 INFO    ] ================================================
[2026-08-29 14:59:31,223.223 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:59:31
[2026-08-29 14:59:31,818.818 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:59:32,149.149 INFO    ] Initializing speech engine...
[2026-08-29 14:59:32,167.167 INFO    ] 2026-08-29 14:59:32
[2026-08-29 14:59:32,458.458 INFO    ] 2026-08-29 14:59:32
[2026-08-29 14:59:32,516.516 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:59:32,740.740 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:59:32,759.759 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:59:32,915.915 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:59:32,942.942 INFO    ] time= 29/08/2026 14:59:32
[2026-08-29 14:59:32,991.991 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:59:33,046.046 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:59:33,100.100 INFO    ] No existing commands found in stream
[2026-08-29 14:59:38,111.111 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:59:38,114.114 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-08-29 14:59:38,922.922 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 14:59:38,924.924 INFO    ] Checking for system updates...
[2026-08-29 14:59:38,944.944 INFO    ] 200
[2026-08-29 14:59:38,945.945 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:59:38,978.978 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:59:38,979.979 INFO    ] No update needed
[2026-08-29 14:59:38,980.980 INFO    ] Checking for camera pi updates...
[2026-08-29 14:59:39,001.001 INFO    ] 200
[2026-08-29 14:59:39,002.002 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:59:39,026.026 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:59:39,155.155 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 14:59:39,156.156 INFO    ] No camera update needed
[2026-08-29 14:59:39,158.158 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:59:39,159.159 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:59:39,162.162 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:59:39,164.164 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:59:41,204.204 INFO    ] ================================================
[2026-08-29 14:59:41,220.220 INFO    ] Launching Daemon at Sat Aug 29 14:59:41 IST 2026
[2026-08-29 14:59:41,231.231 INFO    ] ================================================
[2026-08-29 14:59:41,784.784 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:59:41
[2026-08-29 14:59:42,449.449 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:59:42,751.751 INFO    ] Initializing speech engine...
[2026-08-29 14:59:42,759.759 INFO    ] 2026-08-29 14:59:42
[2026-08-29 14:59:43,034.034 INFO    ] 2026-08-29 14:59:43
[2026-08-29 14:59:43,090.090 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:59:43,309.309 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:59:43,319.319 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:59:43,452.452 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:59:43,505.505 INFO    ] time= 29/08/2026 14:59:43
[2026-08-29 14:59:43,549.549 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:59:43,587.587 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:59:43,676.676 INFO    ] No existing commands found in stream
[2026-08-29 14:59:48,711.711 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 14:59:48,714.714 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-08-29 14:59:51,331.331 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 14:59:51,333.333 INFO    ] Checking for system updates...
[2026-08-29 14:59:51,354.354 INFO    ] 200
[2026-08-29 14:59:51,356.356 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:59:51,387.387 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:59:51,389.389 INFO    ] No update needed
[2026-08-29 14:59:51,390.390 INFO    ] Checking for camera pi updates...
[2026-08-29 14:59:51,410.410 INFO    ] 200
[2026-08-29 14:59:51,412.412 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 14:59:51,434.434 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 14:59:51,509.509 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 14:59:51,510.510 INFO    ] No camera update needed
[2026-08-29 14:59:51,512.512 INFO    ] Script finished. Safe exiting...
[2026-08-29 14:59:51,513.513 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 14:59:51,516.516 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 14:59:51,519.519 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 14:59:53,557.557 INFO    ] ================================================
[2026-08-29 14:59:53,573.573 INFO    ] Launching Daemon at Sat Aug 29 14:59:53 IST 2026
[2026-08-29 14:59:53,583.583 INFO    ] ================================================
[2026-08-29 14:59:54,061.061 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 14:59:54
[2026-08-29 14:59:54,650.650 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 14:59:54,919.919 INFO    ] Initializing speech engine...
[2026-08-29 14:59:54,928.928 INFO    ] 2026-08-29 14:59:54
[2026-08-29 14:59:55,175.175 INFO    ] 2026-08-29 14:59:55
[2026-08-29 14:59:55,210.210 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 14:59:55,382.382 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 14:59:55,394.394 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 14:59:55,504.504 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 14:59:55,522.522 INFO    ] time= 29/08/2026 14:59:55
[2026-08-29 14:59:55,541.541 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 14:59:55,548.548 INFO    ] Checking for existing commands in stream...
[2026-08-29 14:59:55,617.617 INFO    ] No existing commands found in stream
[2026-08-29 15:00:00,630.630 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:00:00,632.632 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-08-29 15:00:03,517.517 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:00:03,521.521 INFO    ] Checking for system updates...
[2026-08-29 15:00:03,643.643 INFO    ] 200
[2026-08-29 15:00:03,647.647 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:00:03,927.927 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:00:03,931.931 INFO    ] No update needed
[2026-08-29 15:00:03,945.945 INFO    ] Checking for camera pi updates...
[2026-08-29 15:00:04,141.141 INFO    ] 200
[2026-08-29 15:00:04,145.145 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:00:04,348.348 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:00:05,061.061 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:00:05,064.064 INFO    ] No camera update needed
[2026-08-29 15:00:05,067.067 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:00:05,070.070 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:00:05,098.098 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:00:05,126.126 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:00:07,170.170 INFO    ] ================================================
[2026-08-29 15:00:07,185.185 INFO    ] Launching Daemon at Sat Aug 29 15:00:07 IST 2026
[2026-08-29 15:00:07,197.197 INFO    ] ================================================
[2026-08-29 15:00:07,789.789 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:00:07
[2026-08-29 15:00:08,287.287 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:00:08,542.542 INFO    ] Initializing speech engine...
[2026-08-29 15:00:08,575.575 INFO    ] 2026-08-29 15:00:08
[2026-08-29 15:00:08,861.861 INFO    ] 2026-08-29 15:00:08
[2026-08-29 15:00:08,897.897 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:00:09,077.077 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:00:09,089.089 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:00:09,205.205 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:00:09,212.212 INFO    ] time= 29/08/2026 15:00:09
[2026-08-29 15:00:09,232.232 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:00:09,242.242 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:00:09,340.340 INFO    ] No existing commands found in stream
[2026-08-29 15:00:14,353.353 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:00:14,356.356 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-08-29 15:00:17,201.201 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:00:17,203.203 INFO    ] Checking for system updates...
[2026-08-29 15:00:17,226.226 INFO    ] 200
[2026-08-29 15:00:17,227.227 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:00:17,260.260 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:00:17,261.261 INFO    ] No update needed
[2026-08-29 15:00:17,263.263 INFO    ] Checking for camera pi updates...
[2026-08-29 15:00:17,283.283 INFO    ] 200
[2026-08-29 15:00:17,285.285 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:00:17,309.309 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:00:17,386.386 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:00:17,388.388 INFO    ] No camera update needed
[2026-08-29 15:00:17,389.389 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:00:17,390.390 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:00:17,393.393 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:00:17,396.396 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:00:19,434.434 INFO    ] ================================================
[2026-08-29 15:00:19,449.449 INFO    ] Launching Daemon at Sat Aug 29 15:00:19 IST 2026
[2026-08-29 15:00:19,460.460 INFO    ] ================================================
[2026-08-29 15:00:19,812.812 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:00:19
[2026-08-29 15:00:20,125.125 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:00:20,311.311 INFO    ] Initializing speech engine...
[2026-08-29 15:00:20,330.330 INFO    ] 2026-08-29 15:00:20
[2026-08-29 15:00:20,587.587 INFO    ] 2026-08-29 15:00:20
[2026-08-29 15:00:20,621.621 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:00:20,794.794 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:00:20,807.807 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:00:20,917.917 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:00:20,937.937 INFO    ] time= 29/08/2026 15:00:20
[2026-08-29 15:00:20,958.958 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:00:20,964.964 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:00:21,031.031 INFO    ] No existing commands found in stream
[2026-08-29 15:00:26,044.044 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:00:26,047.047 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-08-29 15:00:28,933.933 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:00:28,935.935 INFO    ] Checking for system updates...
[2026-08-29 15:00:28,955.955 INFO    ] 200
[2026-08-29 15:00:28,956.956 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:00:28,989.989 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:00:28,990.990 INFO    ] No update needed
[2026-08-29 15:00:28,991.991 INFO    ] Checking for camera pi updates...
[2026-08-29 15:00:29,011.011 INFO    ] 200
[2026-08-29 15:00:29,012.012 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:00:29,035.035 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:00:29,112.112 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:00:29,113.113 INFO    ] No camera update needed
[2026-08-29 15:00:29,115.115 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:00:29,116.116 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:00:29,119.119 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:00:29,121.121 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:00:31,160.160 INFO    ] ================================================
[2026-08-29 15:00:31,175.175 INFO    ] Launching Daemon at Sat Aug 29 15:00:31 IST 2026
[2026-08-29 15:00:31,186.186 INFO    ] ================================================
[2026-08-29 15:00:31,542.542 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:00:31
[2026-08-29 15:00:31,892.892 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:00:32,227.227 INFO    ] Initializing speech engine...
[2026-08-29 15:00:32,240.240 INFO    ] 2026-08-29 15:00:32
[2026-08-29 15:00:32,531.531 INFO    ] 2026-08-29 15:00:32
[2026-08-29 15:00:32,598.598 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:00:32,829.829 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:00:32,840.840 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:00:32,965.965 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:00:32,994.994 INFO    ] time= 29/08/2026 15:00:32
[2026-08-29 15:00:33,050.050 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:00:33,122.122 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:00:33,186.186 INFO    ] No existing commands found in stream
[2026-08-29 15:00:38,199.199 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:00:38,203.203 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-08-29 15:00:40,885.885 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:00:40,887.887 INFO    ] Checking for system updates...
[2026-08-29 15:00:40,908.908 INFO    ] 200
[2026-08-29 15:00:40,909.909 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:00:40,941.941 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:00:40,942.942 INFO    ] No update needed
[2026-08-29 15:00:40,944.944 INFO    ] Checking for camera pi updates...
[2026-08-29 15:00:40,963.963 INFO    ] 200
[2026-08-29 15:00:40,965.965 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:00:41,005.005 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:00:41,115.115 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:00:41,117.117 INFO    ] No camera update needed
[2026-08-29 15:00:41,120.120 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:00:41,122.122 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:00:41,128.128 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:00:41,133.133 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:00:43,173.173 INFO    ] ================================================
[2026-08-29 15:00:43,188.188 INFO    ] Launching Daemon at Sat Aug 29 15:00:43 IST 2026
[2026-08-29 15:00:43,199.199 INFO    ] ================================================
[2026-08-29 15:00:43,785.785 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:00:43
[2026-08-29 15:00:44,154.154 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:00:44,362.362 INFO    ] Initializing speech engine...
[2026-08-29 15:00:44,374.374 INFO    ] 2026-08-29 15:00:44
[2026-08-29 15:00:44,637.637 INFO    ] 2026-08-29 15:00:44
[2026-08-29 15:00:44,674.674 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:00:44,847.847 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:00:44,859.859 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:00:45,001.001 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:00:45,009.009 INFO    ] time= 29/08/2026 15:00:45
[2026-08-29 15:00:45,016.016 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:00:45,062.062 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:00:45,175.175 INFO    ] No existing commands found in stream
[2026-08-29 15:00:50,205.205 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:00:50,208.208 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-08-29 15:00:54,041.041 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:00:54,043.043 INFO    ] Checking for system updates...
[2026-08-29 15:00:54,065.065 INFO    ] 200
[2026-08-29 15:00:54,066.066 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:00:54,099.099 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:00:54,100.100 INFO    ] No update needed
[2026-08-29 15:00:54,101.101 INFO    ] Checking for camera pi updates...
[2026-08-29 15:00:54,120.120 INFO    ] 200
[2026-08-29 15:00:54,122.122 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:00:54,147.147 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:00:54,250.250 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:00:54,252.252 INFO    ] No camera update needed
[2026-08-29 15:00:54,253.253 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:00:54,254.254 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:00:54,257.257 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:00:54,260.260 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:00:56,299.299 INFO    ] ================================================
[2026-08-29 15:00:56,314.314 INFO    ] Launching Daemon at Sat Aug 29 15:00:56 IST 2026
[2026-08-29 15:00:56,335.335 INFO    ] ================================================
[2026-08-29 15:00:56,890.890 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:00:56
[2026-08-29 15:00:57,475.475 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:00:57,732.732 INFO    ] Initializing speech engine...
[2026-08-29 15:00:57,738.738 INFO    ] 2026-08-29 15:00:57
[2026-08-29 15:00:58,038.038 INFO    ] 2026-08-29 15:00:57
[2026-08-29 15:00:58,077.077 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:00:58,226.226 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:00:58,234.234 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:00:58,388.388 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:00:58,398.398 INFO    ] time= 29/08/2026 15:00:58
[2026-08-29 15:00:58,405.405 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:00:58,428.428 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:00:58,480.480 INFO    ] No existing commands found in stream
[2026-08-29 15:01:03,491.491 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:01:03,494.494 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-08-29 15:01:06,029.029 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:01:06,031.031 INFO    ] Checking for system updates...
[2026-08-29 15:01:06,051.051 INFO    ] 200
[2026-08-29 15:01:06,052.052 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:01:06,082.082 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:01:06,083.083 INFO    ] No update needed
[2026-08-29 15:01:06,084.084 INFO    ] Checking for camera pi updates...
[2026-08-29 15:01:06,104.104 INFO    ] 200
[2026-08-29 15:01:06,105.105 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:01:06,132.132 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:01:06,206.206 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:01:06,207.207 INFO    ] No camera update needed
[2026-08-29 15:01:06,209.209 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:01:06,210.210 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:01:06,213.213 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:01:06,216.216 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:01:08,255.255 INFO    ] ================================================
[2026-08-29 15:01:08,270.270 INFO    ] Launching Daemon at Sat Aug 29 15:01:08 IST 2026
[2026-08-29 15:01:08,281.281 INFO    ] ================================================
[2026-08-29 15:01:08,869.869 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:01:08
[2026-08-29 15:01:09,429.429 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:01:09,580.580 INFO    ] Initializing speech engine...
[2026-08-29 15:01:09,586.586 INFO    ] 2026-08-29 15:01:09
[2026-08-29 15:01:09,794.794 INFO    ] 2026-08-29 15:01:09
[2026-08-29 15:01:09,823.823 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:01:09,945.945 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:01:09,982.982 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:01:10,147.147 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:01:10,214.214 INFO    ] time= 29/08/2026 15:01:10
[2026-08-29 15:01:10,238.238 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:01:10,245.245 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:01:10,310.310 INFO    ] No existing commands found in stream
[2026-08-29 15:01:15,321.321 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:01:15,324.324 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-08-29 15:01:16,631.631 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:01:16,633.633 INFO    ] Checking for system updates...
[2026-08-29 15:01:16,654.654 INFO    ] 200
[2026-08-29 15:01:16,656.656 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:01:16,688.688 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:01:16,690.690 INFO    ] No update needed
[2026-08-29 15:01:16,691.691 INFO    ] Checking for camera pi updates...
[2026-08-29 15:01:16,713.713 INFO    ] 200
[2026-08-29 15:01:16,714.714 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:01:16,742.742 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:01:16,842.842 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:01:16,844.844 INFO    ] No camera update needed
[2026-08-29 15:01:16,845.845 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:01:16,846.846 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:01:16,850.850 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:01:16,853.853 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:01:18,893.893 INFO    ] ================================================
[2026-08-29 15:01:18,908.908 INFO    ] Launching Daemon at Sat Aug 29 15:01:18 IST 2026
[2026-08-29 15:01:18,919.919 INFO    ] ================================================
[2026-08-29 15:01:19,288.288 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:01:19
[2026-08-29 15:01:19,862.862 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:01:20,114.114 INFO    ] Initializing speech engine...
[2026-08-29 15:01:20,123.123 INFO    ] 2026-08-29 15:01:20
[2026-08-29 15:01:20,416.416 INFO    ] 2026-08-29 15:01:20
[2026-08-29 15:01:20,458.458 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:01:20,606.606 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:01:20,615.615 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:01:20,768.768 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:01:20,777.777 INFO    ] time= 29/08/2026 15:01:20
[2026-08-29 15:01:20,783.783 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:01:20,788.788 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:01:20,854.854 INFO    ] No existing commands found in stream
[2026-08-29 15:01:25,865.865 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:01:25,867.867 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-08-29 15:01:30,117.117 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:01:30,119.119 INFO    ] Checking for system updates...
[2026-08-29 15:01:30,139.139 INFO    ] 200
[2026-08-29 15:01:30,140.140 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:01:30,170.170 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:01:30,172.172 INFO    ] No update needed
[2026-08-29 15:01:30,173.173 INFO    ] Checking for camera pi updates...
[2026-08-29 15:01:30,192.192 INFO    ] 200
[2026-08-29 15:01:30,194.194 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:01:30,216.216 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:01:30,295.295 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:01:30,296.296 INFO    ] No camera update needed
[2026-08-29 15:01:30,298.298 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:01:30,299.299 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:01:30,302.302 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:01:30,305.305 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:01:32,344.344 INFO    ] ================================================
[2026-08-29 15:01:32,361.361 INFO    ] Launching Daemon at Sat Aug 29 15:01:32 IST 2026
[2026-08-29 15:01:32,373.373 INFO    ] ================================================
[2026-08-29 15:01:32,981.981 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:01:32
[2026-08-29 15:01:33,571.571 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:01:33,844.844 INFO    ] Initializing speech engine...
[2026-08-29 15:01:33,850.850 INFO    ] 2026-08-29 15:01:33
[2026-08-29 15:01:34,108.108 INFO    ] 2026-08-29 15:01:34
[2026-08-29 15:01:34,162.162 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:01:34,303.303 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:01:34,316.316 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:01:34,456.456 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:01:34,463.463 INFO    ] time= 29/08/2026 15:01:34
[2026-08-29 15:01:34,470.470 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:01:34,516.516 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:01:34,638.638 INFO    ] No existing commands found in stream
[2026-08-29 15:01:39,668.668 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:01:39,671.671 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-08-29 15:01:41,119.119 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:01:41,120.120 INFO    ] Checking for system updates...
[2026-08-29 15:01:41,145.145 INFO    ] 200
[2026-08-29 15:01:41,146.146 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:01:41,177.177 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:01:41,178.178 INFO    ] No update needed
[2026-08-29 15:01:41,180.180 INFO    ] Checking for camera pi updates...
[2026-08-29 15:01:41,199.199 INFO    ] 200
[2026-08-29 15:01:41,200.200 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:01:41,225.225 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:01:41,316.316 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:01:41,317.317 INFO    ] No camera update needed
[2026-08-29 15:01:41,318.318 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:01:41,319.319 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:01:41,322.322 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:01:41,325.325 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:01:43,365.365 INFO    ] ================================================
[2026-08-29 15:01:43,381.381 INFO    ] Launching Daemon at Sat Aug 29 15:01:43 IST 2026
[2026-08-29 15:01:43,391.391 INFO    ] ================================================
[2026-08-29 15:01:43,761.761 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:01:43
[2026-08-29 15:01:44,099.099 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:01:44,251.251 INFO    ] Initializing speech engine...
[2026-08-29 15:01:44,257.257 INFO    ] 2026-08-29 15:01:44
[2026-08-29 15:01:44,466.466 INFO    ] 2026-08-29 15:01:44
[2026-08-29 15:01:44,494.494 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:01:44,626.626 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:01:44,670.670 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:01:44,807.807 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:01:44,816.816 INFO    ] time= 29/08/2026 15:01:44
[2026-08-29 15:01:44,852.852 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:01:44,910.910 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:01:45,020.020 INFO    ] No existing commands found in stream
[2026-08-29 15:01:50,031.031 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:01:50,040.040 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-08-29 15:01:54,202.202 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:01:54,203.203 INFO    ] Checking for system updates...
[2026-08-29 15:01:54,224.224 INFO    ] 200
[2026-08-29 15:01:54,225.225 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:01:54,258.258 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:01:54,259.259 INFO    ] No update needed
[2026-08-29 15:01:54,260.260 INFO    ] Checking for camera pi updates...
[2026-08-29 15:01:54,279.279 INFO    ] 200
[2026-08-29 15:01:54,281.281 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:01:54,307.307 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:01:54,411.411 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:01:54,412.412 INFO    ] No camera update needed
[2026-08-29 15:01:54,413.413 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:01:54,414.414 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:01:54,417.417 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:01:54,420.420 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:01:56,458.458 INFO    ] ================================================
[2026-08-29 15:01:56,473.473 INFO    ] Launching Daemon at Sat Aug 29 15:01:56 IST 2026
[2026-08-29 15:01:56,484.484 INFO    ] ================================================
[2026-08-29 15:01:56,802.802 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:01:56
[2026-08-29 15:01:57,114.114 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:01:57,251.251 INFO    ] Initializing speech engine...
[2026-08-29 15:01:57,258.258 INFO    ] 2026-08-29 15:01:57
[2026-08-29 15:01:57,464.464 INFO    ] 2026-08-29 15:01:57
[2026-08-29 15:01:57,493.493 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:01:57,800.800 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:01:57,819.819 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:01:57,978.978 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:01:58,016.016 INFO    ] time= 29/08/2026 15:01:57
[2026-08-29 15:01:58,020.020 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:01:58,031.031 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:01:58,160.160 INFO    ] No existing commands found in stream
[2026-08-29 15:02:03,172.172 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:02:03,176.176 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-08-29 15:02:06,818.818 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:02:06,819.819 INFO    ] Checking for system updates...
[2026-08-29 15:02:06,840.840 INFO    ] 200
[2026-08-29 15:02:06,841.841 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:02:06,872.872 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:02:06,873.873 INFO    ] No update needed
[2026-08-29 15:02:06,874.874 INFO    ] Checking for camera pi updates...
[2026-08-29 15:02:06,893.893 INFO    ] 200
[2026-08-29 15:02:06,895.895 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:02:06,917.917 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:02:07,023.023 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:02:07,024.024 INFO    ] No camera update needed
[2026-08-29 15:02:07,025.025 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:02:07,027.027 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:02:07,029.029 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:02:07,032.032 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:02:09,072.072 INFO    ] ================================================
[2026-08-29 15:02:09,087.087 INFO    ] Launching Daemon at Sat Aug 29 15:02:09 IST 2026
[2026-08-29 15:02:09,102.102 INFO    ] ================================================
[2026-08-29 15:02:09,669.669 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:02:09
[2026-08-29 15:02:10,252.252 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:02:10,521.521 INFO    ] Initializing speech engine...
[2026-08-29 15:02:10,531.531 INFO    ] 2026-08-29 15:02:10
[2026-08-29 15:02:10,776.776 INFO    ] 2026-08-29 15:02:10
[2026-08-29 15:02:10,811.811 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:02:10,992.992 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:02:11,008.008 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:02:11,136.136 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:02:11,143.143 INFO    ] time= 29/08/2026 15:02:11
[2026-08-29 15:02:11,150.150 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:02:11,196.196 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:02:11,315.315 INFO    ] No existing commands found in stream
[2026-08-29 15:02:16,341.341 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:02:16,344.344 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-08-29 15:02:19,308.308 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:02:19,310.310 INFO    ] Checking for system updates...
[2026-08-29 15:02:19,330.330 INFO    ] 200
[2026-08-29 15:02:19,331.331 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:02:19,364.364 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:02:19,365.365 INFO    ] No update needed
[2026-08-29 15:02:19,366.366 INFO    ] Checking for camera pi updates...
[2026-08-29 15:02:19,385.385 INFO    ] 200
[2026-08-29 15:02:19,387.387 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:02:19,417.417 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:02:19,496.496 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:02:19,499.499 INFO    ] No camera update needed
[2026-08-29 15:02:19,501.501 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:02:19,503.503 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:02:19,509.509 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:02:19,514.514 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:02:21,554.554 INFO    ] ================================================
[2026-08-29 15:02:21,571.571 INFO    ] Launching Daemon at Sat Aug 29 15:02:21 IST 2026
[2026-08-29 15:02:21,582.582 INFO    ] ================================================
[2026-08-29 15:02:22,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:02:22
[2026-08-29 15:02:22,680.680 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:02:22,835.835 INFO    ] Initializing speech engine...
[2026-08-29 15:02:22,839.839 INFO    ] 2026-08-29 15:02:22
[2026-08-29 15:02:23,046.046 INFO    ] 2026-08-29 15:02:23
[2026-08-29 15:02:23,075.075 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:02:23,257.257 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:02:23,261.261 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:02:23,408.408 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:02:23,466.466 INFO    ] time= 29/08/2026 15:02:23
[2026-08-29 15:02:23,488.488 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:02:23,495.495 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:02:23,562.562 INFO    ] No existing commands found in stream
[2026-08-29 15:02:28,571.571 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:02:28,575.575 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-08-29 15:02:29,612.612 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:02:29,614.614 INFO    ] Checking for system updates...
[2026-08-29 15:02:29,636.636 INFO    ] 200
[2026-08-29 15:02:29,637.637 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:02:29,667.667 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:02:29,669.669 INFO    ] No update needed
[2026-08-29 15:02:29,670.670 INFO    ] Checking for camera pi updates...
[2026-08-29 15:02:29,690.690 INFO    ] 200
[2026-08-29 15:02:29,692.692 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:02:29,715.715 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:02:29,825.825 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:02:29,826.826 INFO    ] No camera update needed
[2026-08-29 15:02:29,828.828 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:02:29,829.829 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:02:29,832.832 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:02:29,835.835 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:02:31,867.867 INFO    ] ================================================
[2026-08-29 15:02:31,877.877 INFO    ] Launching Daemon at Sat Aug 29 15:02:31 IST 2026
[2026-08-29 15:02:31,884.884 INFO    ] ================================================
[2026-08-29 15:02:32,466.466 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:02:32
[2026-08-29 15:02:33,068.068 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:02:33,340.340 INFO    ] Initializing speech engine...
[2026-08-29 15:02:33,348.348 INFO    ] 2026-08-29 15:02:33
[2026-08-29 15:02:33,597.597 INFO    ] 2026-08-29 15:02:33
[2026-08-29 15:02:33,632.632 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:02:33,804.804 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:02:33,815.815 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:02:33,956.956 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:02:33,963.963 INFO    ] time= 29/08/2026 15:02:33
[2026-08-29 15:02:33,970.970 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:02:34,016.016 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:02:34,148.148 INFO    ] No existing commands found in stream
[2026-08-29 15:02:39,171.171 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:02:39,180.180 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-08-29 15:02:40,640.640 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:02:40,642.642 INFO    ] Checking for system updates...
[2026-08-29 15:02:40,663.663 INFO    ] 200
[2026-08-29 15:02:40,664.664 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:02:40,696.696 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:02:40,698.698 INFO    ] No update needed
[2026-08-29 15:02:40,699.699 INFO    ] Checking for camera pi updates...
[2026-08-29 15:02:40,722.722 INFO    ] 200
[2026-08-29 15:02:40,723.723 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:02:40,746.746 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:02:40,846.846 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:02:40,847.847 INFO    ] No camera update needed
[2026-08-29 15:02:40,848.848 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:02:40,850.850 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:02:40,853.853 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:02:40,855.855 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:02:42,894.894 INFO    ] ================================================
[2026-08-29 15:02:42,909.909 INFO    ] Launching Daemon at Sat Aug 29 15:02:42 IST 2026
[2026-08-29 15:02:42,920.920 INFO    ] ================================================
[2026-08-29 15:02:43,274.274 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:02:43
[2026-08-29 15:02:43,588.588 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:02:43,837.837 INFO    ] Initializing speech engine...
[2026-08-29 15:02:43,866.866 INFO    ] 2026-08-29 15:02:43
[2026-08-29 15:02:44,137.137 INFO    ] 2026-08-29 15:02:44
[2026-08-29 15:02:44,172.172 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:02:44,322.322 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:02:44,329.329 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:02:44,486.486 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:02:44,497.497 INFO    ] time= 29/08/2026 15:02:44
[2026-08-29 15:02:44,501.501 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:02:44,506.506 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:02:44,580.580 INFO    ] No existing commands found in stream
[2026-08-29 15:02:49,592.592 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:02:49,600.600 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 15:02:50,836.836 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:02:50,838.838 INFO    ] Checking for system updates...
[2026-08-29 15:02:50,860.860 INFO    ] 200
[2026-08-29 15:02:50,861.861 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:02:50,891.891 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:02:50,892.892 INFO    ] No update needed
[2026-08-29 15:02:50,893.893 INFO    ] Checking for camera pi updates...
[2026-08-29 15:02:50,912.912 INFO    ] 200
[2026-08-29 15:02:50,914.914 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:02:50,937.937 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:02:51,017.017 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:02:51,019.019 INFO    ] No camera update needed
[2026-08-29 15:02:51,020.020 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:02:51,021.021 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:02:51,024.024 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:02:51,027.027 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:02:53,065.065 INFO    ] ================================================
[2026-08-29 15:02:53,081.081 INFO    ] Launching Daemon at Sat Aug 29 15:02:53 IST 2026
[2026-08-29 15:02:53,092.092 INFO    ] ================================================
[2026-08-29 15:02:53,447.447 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:02:53
[2026-08-29 15:02:53,762.762 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:02:54,016.016 INFO    ] Initializing speech engine...
[2026-08-29 15:02:54,022.022 INFO    ] 2026-08-29 15:02:54
[2026-08-29 15:02:54,268.268 INFO    ] 2026-08-29 15:02:54
[2026-08-29 15:02:54,303.303 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:02:54,474.474 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:02:54,487.487 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:02:54,596.596 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:02:54,601.601 INFO    ] time= 29/08/2026 15:02:54
[2026-08-29 15:02:54,620.620 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:02:54,642.642 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:02:54,712.712 INFO    ] No existing commands found in stream
[2026-08-29 15:02:59,725.725 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:02:59,727.727 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-08-29 15:03:02,612.612 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:03:02,616.616 INFO    ] Checking for system updates...
[2026-08-29 15:03:02,664.664 INFO    ] 200
[2026-08-29 15:03:02,668.668 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:03:02,737.737 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:03:02,739.739 INFO    ] No update needed
[2026-08-29 15:03:02,742.742 INFO    ] Checking for camera pi updates...
[2026-08-29 15:03:02,777.777 INFO    ] 200
[2026-08-29 15:03:02,780.780 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:03:02,848.848 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:03:02,945.945 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:03:02,948.948 INFO    ] No camera update needed
[2026-08-29 15:03:02,950.950 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:03:02,955.955 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:03:02,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:03:02,970.970 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:03:05,010.010 INFO    ] ================================================
[2026-08-29 15:03:05,025.025 INFO    ] Launching Daemon at Sat Aug 29 15:03:05 IST 2026
[2026-08-29 15:03:05,036.036 INFO    ] ================================================
[2026-08-29 15:03:05,383.383 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:03:05
[2026-08-29 15:03:05,780.780 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:03:06,034.034 INFO    ] Initializing speech engine...
[2026-08-29 15:03:06,043.043 INFO    ] 2026-08-29 15:03:06
[2026-08-29 15:03:06,344.344 INFO    ] 2026-08-29 15:03:06
[2026-08-29 15:03:06,379.379 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:03:06,551.551 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:03:06,564.564 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:03:06,704.704 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:03:06,713.713 INFO    ] time= 29/08/2026 15:03:06
[2026-08-29 15:03:06,719.719 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:03:06,739.739 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:03:06,860.860 INFO    ] No existing commands found in stream
[2026-08-29 15:03:11,885.885 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:03:11,888.888 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-08-29 15:03:13,356.356 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:03:13,358.358 INFO    ] Checking for system updates...
[2026-08-29 15:03:13,379.379 INFO    ] 200
[2026-08-29 15:03:13,380.380 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:03:13,410.410 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:03:13,411.411 INFO    ] No update needed
[2026-08-29 15:03:13,413.413 INFO    ] Checking for camera pi updates...
[2026-08-29 15:03:13,435.435 INFO    ] 200
[2026-08-29 15:03:13,436.436 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:03:13,459.459 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:03:13,632.632 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:03:13,634.634 INFO    ] No camera update needed
[2026-08-29 15:03:13,635.635 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:03:13,636.636 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:03:13,639.639 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:03:13,642.642 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:03:15,680.680 INFO    ] ================================================
[2026-08-29 15:03:15,696.696 INFO    ] Launching Daemon at Sat Aug 29 15:03:15 IST 2026
[2026-08-29 15:03:15,706.706 INFO    ] ================================================
[2026-08-29 15:03:16,089.089 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:03:16
[2026-08-29 15:03:16,418.418 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:03:16,571.571 INFO    ] Initializing speech engine...
[2026-08-29 15:03:16,576.576 INFO    ] 2026-08-29 15:03:16
[2026-08-29 15:03:16,783.783 INFO    ] 2026-08-29 15:03:16
[2026-08-29 15:03:16,814.814 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:03:17,003.003 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:03:17,007.007 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:03:17,141.141 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:03:17,208.208 INFO    ] time= 29/08/2026 15:03:17
[2026-08-29 15:03:17,236.236 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:03:17,243.243 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:03:17,311.311 INFO    ] No existing commands found in stream
[2026-08-29 15:03:22,325.325 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:03:22,328.328 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-08-29 15:03:25,236.236 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:03:25,237.237 INFO    ] Checking for system updates...
[2026-08-29 15:03:25,258.258 INFO    ] 200
[2026-08-29 15:03:25,260.260 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:03:25,297.297 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:03:25,298.298 INFO    ] No update needed
[2026-08-29 15:03:25,299.299 INFO    ] Checking for camera pi updates...
[2026-08-29 15:03:25,319.319 INFO    ] 200
[2026-08-29 15:03:25,320.320 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:03:25,346.346 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:03:25,426.426 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:03:25,428.428 INFO    ] No camera update needed
[2026-08-29 15:03:25,429.429 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:03:25,430.430 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:03:25,433.433 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:03:25,436.436 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:03:27,473.473 INFO    ] ================================================
[2026-08-29 15:03:27,488.488 INFO    ] Launching Daemon at Sat Aug 29 15:03:27 IST 2026
[2026-08-29 15:03:27,499.499 INFO    ] ================================================
[2026-08-29 15:03:27,842.842 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:03:27
[2026-08-29 15:03:28,152.152 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:03:28,280.280 INFO    ] Initializing speech engine...
[2026-08-29 15:03:28,285.285 INFO    ] 2026-08-29 15:03:28
[2026-08-29 15:03:28,480.480 INFO    ] 2026-08-29 15:03:28
[2026-08-29 15:03:28,514.514 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:03:28,707.707 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:03:28,730.730 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:03:28,843.843 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:03:28,849.849 INFO    ] time= 29/08/2026 15:03:28
[2026-08-29 15:03:28,869.869 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:03:28,915.915 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:03:29,020.020 INFO    ] No existing commands found in stream
[2026-08-29 15:03:34,045.045 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:03:34,048.048 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-08-29 15:03:35,598.598 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:03:35,600.600 INFO    ] Checking for system updates...
[2026-08-29 15:03:35,620.620 INFO    ] 200
[2026-08-29 15:03:35,621.621 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:03:35,651.651 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:03:35,652.652 INFO    ] No update needed
[2026-08-29 15:03:35,654.654 INFO    ] Checking for camera pi updates...
[2026-08-29 15:03:35,674.674 INFO    ] 200
[2026-08-29 15:03:35,675.675 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:03:35,702.702 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:03:35,859.859 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:03:35,860.860 INFO    ] No camera update needed
[2026-08-29 15:03:35,861.861 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:03:35,863.863 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:03:35,866.866 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:03:35,868.868 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:03:37,906.906 INFO    ] ================================================
[2026-08-29 15:03:37,920.920 INFO    ] Launching Daemon at Sat Aug 29 15:03:37 IST 2026
[2026-08-29 15:03:37,931.931 INFO    ] ================================================
[2026-08-29 15:03:38,266.266 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:03:38
[2026-08-29 15:03:38,579.579 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:03:38,709.709 INFO    ] Initializing speech engine...
[2026-08-29 15:03:38,713.713 INFO    ] 2026-08-29 15:03:38
[2026-08-29 15:03:38,912.912 INFO    ] 2026-08-29 15:03:38
[2026-08-29 15:03:38,988.988 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:03:39,140.140 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:03:39,149.149 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:03:39,281.281 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:03:39,287.287 INFO    ] time= 29/08/2026 15:03:39
[2026-08-29 15:03:39,352.352 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:03:39,406.406 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:03:39,466.466 INFO    ] No existing commands found in stream
[2026-08-29 15:03:44,478.478 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:03:44,481.481 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-08-29 15:03:45,322.322 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:03:45,323.323 INFO    ] Checking for system updates...
[2026-08-29 15:03:45,344.344 INFO    ] 200
[2026-08-29 15:03:45,345.345 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:03:45,377.377 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:03:45,378.378 INFO    ] No update needed
[2026-08-29 15:03:45,379.379 INFO    ] Checking for camera pi updates...
[2026-08-29 15:03:45,398.398 INFO    ] 200
[2026-08-29 15:03:45,399.399 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:03:45,426.426 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:03:45,542.542 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:03:45,544.544 INFO    ] No camera update needed
[2026-08-29 15:03:45,545.545 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:03:45,546.546 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:03:45,549.549 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:03:45,552.552 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:03:47,590.590 INFO    ] ================================================
[2026-08-29 15:03:47,606.606 INFO    ] Launching Daemon at Sat Aug 29 15:03:47 IST 2026
[2026-08-29 15:03:47,617.617 INFO    ] ================================================
[2026-08-29 15:03:48,006.006 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:03:47
[2026-08-29 15:03:48,518.518 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:03:48,815.815 INFO    ] Initializing speech engine...
[2026-08-29 15:03:48,822.822 INFO    ] 2026-08-29 15:03:48
[2026-08-29 15:03:49,083.083 INFO    ] 2026-08-29 15:03:49
[2026-08-29 15:03:49,126.126 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:03:49,297.297 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:03:49,310.310 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:03:49,419.419 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:03:49,428.428 INFO    ] time= 29/08/2026 15:03:49
[2026-08-29 15:03:49,437.437 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:03:49,457.457 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:03:49,546.546 INFO    ] No existing commands found in stream
[2026-08-29 15:03:54,554.554 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:03:54,558.558 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-08-29 15:03:56,593.593 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:03:56,595.595 INFO    ] Checking for system updates...
[2026-08-29 15:03:56,615.615 INFO    ] 200
[2026-08-29 15:03:56,616.616 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:03:56,674.674 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:03:56,676.676 INFO    ] No update needed
[2026-08-29 15:03:56,679.679 INFO    ] Checking for camera pi updates...
[2026-08-29 15:03:56,720.720 INFO    ] 200
[2026-08-29 15:03:56,722.722 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:03:56,763.763 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:03:56,846.846 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:03:56,848.848 INFO    ] No camera update needed
[2026-08-29 15:03:56,851.851 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:03:56,853.853 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:03:56,859.859 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:03:56,864.864 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:03:58,904.904 INFO    ] ================================================
[2026-08-29 15:03:58,920.920 INFO    ] Launching Daemon at Sat Aug 29 15:03:58 IST 2026
[2026-08-29 15:03:58,931.931 INFO    ] ================================================
[2026-08-29 15:03:59,499.499 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:03:59
[2026-08-29 15:03:59,927.927 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:04:00,179.179 INFO    ] Initializing speech engine...
[2026-08-29 15:04:00,188.188 INFO    ] 2026-08-29 15:04:00
[2026-08-29 15:04:00,441.441 INFO    ] 2026-08-29 15:04:00
[2026-08-29 15:04:00,500.500 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:04:00,722.722 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:04:00,731.731 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:04:00,864.864 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:04:00,891.891 INFO    ] time= 29/08/2026 15:04:00
[2026-08-29 15:04:00,940.940 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:04:00,995.995 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:04:01,048.048 INFO    ] No existing commands found in stream
[2026-08-29 15:04:06,060.060 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:04:06,064.064 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-08-29 15:04:08,253.253 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:04:08,255.255 INFO    ] Checking for system updates...
[2026-08-29 15:04:08,275.275 INFO    ] 200
[2026-08-29 15:04:08,276.276 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:04:08,309.309 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:04:08,310.310 INFO    ] No update needed
[2026-08-29 15:04:08,311.311 INFO    ] Checking for camera pi updates...
[2026-08-29 15:04:08,340.340 INFO    ] 200
[2026-08-29 15:04:08,343.343 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:04:08,383.383 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:04:08,474.474 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:04:08,476.476 INFO    ] No camera update needed
[2026-08-29 15:04:08,479.479 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:04:08,481.481 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:04:08,486.486 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:04:08,491.491 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:04:10,533.533 INFO    ] ================================================
[2026-08-29 15:04:10,549.549 INFO    ] Launching Daemon at Sat Aug 29 15:04:10 IST 2026
[2026-08-29 15:04:10,560.560 INFO    ] ================================================
[2026-08-29 15:04:11,216.216 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:04:11
[2026-08-29 15:04:11,886.886 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:04:12,170.170 INFO    ] Initializing speech engine...
[2026-08-29 15:04:12,175.175 INFO    ] 2026-08-29 15:04:12
[2026-08-29 15:04:12,380.380 INFO    ] 2026-08-29 15:04:12
[2026-08-29 15:04:12,409.409 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:04:12,531.531 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:04:12,539.539 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:04:12,713.713 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:04:12,742.742 INFO    ] time= 29/08/2026 15:04:12
[2026-08-29 15:04:12,758.758 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:04:12,783.783 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:04:12,897.897 INFO    ] No existing commands found in stream
[2026-08-29 15:04:17,918.918 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:04:17,921.921 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-08-29 15:04:20,373.373 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:04:20,375.375 INFO    ] Checking for system updates...
[2026-08-29 15:04:20,422.422 INFO    ] 200
[2026-08-29 15:04:20,425.425 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:04:20,484.484 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:04:20,487.487 INFO    ] No update needed
[2026-08-29 15:04:20,490.490 INFO    ] Checking for camera pi updates...
[2026-08-29 15:04:20,546.546 INFO    ] 200
[2026-08-29 15:04:20,548.548 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:04:20,615.615 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:04:20,699.699 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:04:20,701.701 INFO    ] No camera update needed
[2026-08-29 15:04:20,704.704 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:04:20,707.707 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:04:20,713.713 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:04:20,718.718 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:04:22,759.759 INFO    ] ================================================
[2026-08-29 15:04:22,775.775 INFO    ] Launching Daemon at Sat Aug 29 15:04:22 IST 2026
[2026-08-29 15:04:22,786.786 INFO    ] ================================================
[2026-08-29 15:04:23,171.171 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:04:23
[2026-08-29 15:04:23,487.487 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:04:23,704.704 INFO    ] Initializing speech engine...
[2026-08-29 15:04:23,714.714 INFO    ] 2026-08-29 15:04:23
[2026-08-29 15:04:23,966.966 INFO    ] 2026-08-29 15:04:23
[2026-08-29 15:04:24,034.034 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:04:24,256.256 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:04:24,265.265 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:04:24,397.397 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:04:24,435.435 INFO    ] time= 29/08/2026 15:04:24
[2026-08-29 15:04:24,489.489 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:04:24,528.528 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:04:24,585.585 INFO    ] No existing commands found in stream
[2026-08-29 15:04:29,597.597 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:04:29,600.600 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-08-29 15:04:33,456.456 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:04:33,459.459 INFO    ] Checking for system updates...
[2026-08-29 15:04:33,496.496 INFO    ] 200
[2026-08-29 15:04:33,499.499 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:04:33,553.553 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:04:33,556.556 INFO    ] No update needed
[2026-08-29 15:04:33,558.558 INFO    ] Checking for camera pi updates...
[2026-08-29 15:04:33,596.596 INFO    ] 200
[2026-08-29 15:04:33,599.599 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:04:33,646.646 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:04:33,729.729 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:04:33,732.732 INFO    ] No camera update needed
[2026-08-29 15:04:33,735.735 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:04:33,738.738 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:04:33,744.744 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:04:33,750.750 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:04:35,790.790 INFO    ] ================================================
[2026-08-29 15:04:35,807.807 INFO    ] Launching Daemon at Sat Aug 29 15:04:35 IST 2026
[2026-08-29 15:04:35,818.818 INFO    ] ================================================
[2026-08-29 15:04:36,148.148 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:04:36
[2026-08-29 15:04:36,458.458 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:04:36,728.728 INFO    ] Initializing speech engine...
[2026-08-29 15:04:36,736.736 INFO    ] 2026-08-29 15:04:36
[2026-08-29 15:04:36,991.991 INFO    ] 2026-08-29 15:04:36
[2026-08-29 15:04:37,021.021 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:04:37,185.185 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:04:37,197.197 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:04:37,337.337 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:04:37,345.345 INFO    ] time= 29/08/2026 15:04:37
[2026-08-29 15:04:37,352.352 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:04:37,372.372 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:04:37,493.493 INFO    ] No existing commands found in stream
[2026-08-29 15:04:42,517.517 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:04:42,520.520 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 15:04:44,243.243 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:04:44,245.245 INFO    ] Checking for system updates...
[2026-08-29 15:04:44,266.266 INFO    ] 200
[2026-08-29 15:04:44,268.268 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:04:44,298.298 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:04:44,299.299 INFO    ] No update needed
[2026-08-29 15:04:44,300.300 INFO    ] Checking for camera pi updates...
[2026-08-29 15:04:44,324.324 INFO    ] 200
[2026-08-29 15:04:44,325.325 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:04:44,348.348 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:04:44,458.458 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:04:44,459.459 INFO    ] No camera update needed
[2026-08-29 15:04:44,461.461 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:04:44,462.462 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:04:44,465.465 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:04:44,467.467 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:04:46,507.507 INFO    ] ================================================
[2026-08-29 15:04:46,523.523 INFO    ] Launching Daemon at Sat Aug 29 15:04:46 IST 2026
[2026-08-29 15:04:46,535.535 INFO    ] ================================================
[2026-08-29 15:04:47,076.076 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:04:47
[2026-08-29 15:04:47,752.752 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:04:48,057.057 INFO    ] Initializing speech engine...
[2026-08-29 15:04:48,065.065 INFO    ] 2026-08-29 15:04:48
[2026-08-29 15:04:48,351.351 INFO    ] 2026-08-29 15:04:48
[2026-08-29 15:04:48,414.414 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:04:48,619.619 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:04:48,629.629 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:04:48,762.762 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:04:48,815.815 INFO    ] time= 29/08/2026 15:04:48
[2026-08-29 15:04:48,864.864 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:04:48,897.897 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:04:48,956.956 INFO    ] No existing commands found in stream
[2026-08-29 15:04:53,968.968 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:04:53,971.971 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-08-29 15:04:58,293.293 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:04:58,295.295 INFO    ] Checking for system updates...
[2026-08-29 15:04:58,315.315 INFO    ] 200
[2026-08-29 15:04:58,317.317 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:04:58,347.347 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:04:58,349.349 INFO    ] No update needed
[2026-08-29 15:04:58,350.350 INFO    ] Checking for camera pi updates...
[2026-08-29 15:04:58,370.370 INFO    ] 200
[2026-08-29 15:04:58,371.371 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:04:58,394.394 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:04:58,474.474 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:04:58,477.477 INFO    ] No camera update needed
[2026-08-29 15:04:58,480.480 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:04:58,482.482 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:04:58,488.488 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:04:58,494.494 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:05:00,536.536 INFO    ] ================================================
[2026-08-29 15:05:00,552.552 INFO    ] Launching Daemon at Sat Aug 29 15:05:00 IST 2026
[2026-08-29 15:05:00,563.563 INFO    ] ================================================
[2026-08-29 15:05:01,149.149 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:05:01
[2026-08-29 15:05:01,934.934 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:05:02,248.248 INFO    ] Initializing speech engine...
[2026-08-29 15:05:02,274.274 INFO    ] 2026-08-29 15:05:02
[2026-08-29 15:05:02,572.572 INFO    ] 2026-08-29 15:05:02
[2026-08-29 15:05:02,634.634 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:05:02,806.806 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:05:02,811.811 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:05:02,948.948 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:05:02,970.970 INFO    ] time= 29/08/2026 15:05:02
[2026-08-29 15:05:02,995.995 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:05:03,005.005 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:05:03,106.106 INFO    ] No existing commands found in stream
[2026-08-29 15:05:08,136.136 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:05:08,139.139 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-08-29 15:05:11,063.063 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:05:11,064.064 INFO    ] Checking for system updates...
[2026-08-29 15:05:11,085.085 INFO    ] 200
[2026-08-29 15:05:11,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:05:11,117.117 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:05:11,118.118 INFO    ] No update needed
[2026-08-29 15:05:11,120.120 INFO    ] Checking for camera pi updates...
[2026-08-29 15:05:11,141.141 INFO    ] 200
[2026-08-29 15:05:11,143.143 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:05:11,167.167 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:05:11,247.247 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:05:11,248.248 INFO    ] No camera update needed
[2026-08-29 15:05:11,250.250 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:05:11,251.251 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:05:11,254.254 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:05:11,257.257 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:05:13,301.301 INFO    ] ================================================
[2026-08-29 15:05:13,317.317 INFO    ] Launching Daemon at Sat Aug 29 15:05:13 IST 2026
[2026-08-29 15:05:13,329.329 INFO    ] ================================================
[2026-08-29 15:05:13,681.681 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:05:13
[2026-08-29 15:05:14,022.022 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:05:14,174.174 INFO    ] Initializing speech engine...
[2026-08-29 15:05:14,180.180 INFO    ] 2026-08-29 15:05:14
[2026-08-29 15:05:14,387.387 INFO    ] 2026-08-29 15:05:14
[2026-08-29 15:05:14,416.416 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:05:14,584.584 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:05:14,621.621 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:05:14,767.767 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:05:14,778.778 INFO    ] time= 29/08/2026 15:05:14
[2026-08-29 15:05:14,786.786 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:05:14,842.842 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:05:14,962.962 INFO    ] No existing commands found in stream
[2026-08-29 15:05:19,994.994 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:05:19,997.997 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-08-29 15:05:23,662.662 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:05:23,665.665 INFO    ] Checking for system updates...
[2026-08-29 15:05:23,702.702 INFO    ] 200
[2026-08-29 15:05:23,705.705 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:05:23,760.760 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:05:23,763.763 INFO    ] No update needed
[2026-08-29 15:05:23,766.766 INFO    ] Checking for camera pi updates...
[2026-08-29 15:05:23,801.801 INFO    ] 200
[2026-08-29 15:05:23,804.804 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:05:23,848.848 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:05:24,048.048 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:05:24,051.051 INFO    ] No camera update needed
[2026-08-29 15:05:24,054.054 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:05:24,057.057 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:05:24,063.063 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:05:24,069.069 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:05:26,113.113 INFO    ] ================================================
[2026-08-29 15:05:26,129.129 INFO    ] Launching Daemon at Sat Aug 29 15:05:26 IST 2026
[2026-08-29 15:05:26,140.140 INFO    ] ================================================
[2026-08-29 15:05:26,739.739 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:05:26
[2026-08-29 15:05:27,436.436 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:05:27,746.746 INFO    ] Initializing speech engine...
[2026-08-29 15:05:27,758.758 INFO    ] 2026-08-29 15:05:27
[2026-08-29 15:05:28,036.036 INFO    ] 2026-08-29 15:05:28
[2026-08-29 15:05:28,094.094 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:05:28,328.328 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:05:28,338.338 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:05:28,551.551 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:05:28,606.606 INFO    ] time= 29/08/2026 15:05:28
[2026-08-29 15:05:28,613.613 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:05:28,632.632 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:05:28,990.990 INFO    ] No existing commands found in stream
[2026-08-29 15:05:34,017.017 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:05:34,020.020 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-08-29 15:05:37,815.815 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:05:37,818.818 INFO    ] Checking for system updates...
[2026-08-29 15:05:37,857.857 INFO    ] 200
[2026-08-29 15:05:37,860.860 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:05:37,912.912 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:05:37,915.915 INFO    ] No update needed
[2026-08-29 15:05:37,918.918 INFO    ] Checking for camera pi updates...
[2026-08-29 15:05:37,976.976 INFO    ] 200
[2026-08-29 15:05:37,979.979 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:05:38,032.032 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:05:38,115.115 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:05:38,118.118 INFO    ] No camera update needed
[2026-08-29 15:05:38,120.120 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:05:38,122.122 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:05:38,128.128 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:05:38,133.133 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:05:40,165.165 INFO    ] ================================================
[2026-08-29 15:05:40,174.174 INFO    ] Launching Daemon at Sat Aug 29 15:05:40 IST 2026
[2026-08-29 15:05:40,180.180 INFO    ] ================================================
[2026-08-29 15:05:40,822.822 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:05:40
[2026-08-29 15:05:41,504.504 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:05:41,811.811 INFO    ] Initializing speech engine...
[2026-08-29 15:05:41,826.826 INFO    ] 2026-08-29 15:05:41
[2026-08-29 15:05:42,120.120 INFO    ] 2026-08-29 15:05:42
[2026-08-29 15:05:42,231.231 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:05:42,384.384 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:05:42,394.394 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:05:42,531.531 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:05:42,572.572 INFO    ] time= 29/08/2026 15:05:42
[2026-08-29 15:05:42,627.627 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:05:42,670.670 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:05:42,759.759 INFO    ] No existing commands found in stream
[2026-08-29 15:05:47,792.792 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:05:47,795.795 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-08-29 15:05:48,312.312 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:05:48,314.314 INFO    ] Checking for system updates...
[2026-08-29 15:05:48,334.334 INFO    ] 200
[2026-08-29 15:05:48,336.336 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:05:48,365.365 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:05:48,367.367 INFO    ] No update needed
[2026-08-29 15:05:48,368.368 INFO    ] Checking for camera pi updates...
[2026-08-29 15:05:48,387.387 INFO    ] 200
[2026-08-29 15:05:48,388.388 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:05:48,414.414 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:05:48,509.509 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:05:48,510.510 INFO    ] No camera update needed
[2026-08-29 15:05:48,512.512 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:05:48,513.513 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:05:48,516.516 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:05:48,519.519 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:05:50,557.557 INFO    ] ================================================
[2026-08-29 15:05:50,572.572 INFO    ] Launching Daemon at Sat Aug 29 15:05:50 IST 2026
[2026-08-29 15:05:50,583.583 INFO    ] ================================================
[2026-08-29 15:05:50,911.911 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:05:50
[2026-08-29 15:05:51,228.228 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:05:51,360.360 INFO    ] Initializing speech engine...
[2026-08-29 15:05:51,364.364 INFO    ] 2026-08-29 15:05:51
[2026-08-29 15:05:51,581.581 INFO    ] 2026-08-29 15:05:51
[2026-08-29 15:05:51,611.611 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:05:51,751.751 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:05:51,762.762 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:05:51,889.889 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:05:51,904.904 INFO    ] time= 29/08/2026 15:05:51
[2026-08-29 15:05:51,913.913 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:05:51,939.939 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:05:52,043.043 INFO    ] No existing commands found in stream
[2026-08-29 15:05:57,058.058 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:05:57,061.061 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-08-29 15:05:58,281.281 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:05:58,283.283 INFO    ] Checking for system updates...
[2026-08-29 15:05:58,305.305 INFO    ] 200
[2026-08-29 15:05:58,306.306 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:05:58,336.336 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:05:58,337.337 INFO    ] No update needed
[2026-08-29 15:05:58,338.338 INFO    ] Checking for camera pi updates...
[2026-08-29 15:05:58,357.357 INFO    ] 200
[2026-08-29 15:05:58,359.359 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:05:58,382.382 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:05:58,462.462 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:05:58,464.464 INFO    ] No camera update needed
[2026-08-29 15:05:58,465.465 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:05:58,466.466 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:05:58,469.469 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:05:58,472.472 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:06:00,511.511 INFO    ] ================================================
[2026-08-29 15:06:00,527.527 INFO    ] Launching Daemon at Sat Aug 29 15:06:00 IST 2026
[2026-08-29 15:06:00,538.538 INFO    ] ================================================
[2026-08-29 15:06:00,897.897 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:06:00
[2026-08-29 15:06:01,209.209 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:06:01,626.626 INFO    ] Initializing speech engine...
[2026-08-29 15:06:01,629.629 INFO    ] 2026-08-29 15:06:01
[2026-08-29 15:06:02,035.035 INFO    ] 2026-08-29 15:06:02
[2026-08-29 15:06:02,129.129 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:06:02,311.311 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:06:02,327.327 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:06:02,486.486 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:06:02,499.499 INFO    ] time= 29/08/2026 15:06:02
[2026-08-29 15:06:02,526.526 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:06:02,556.556 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:06:02,665.665 INFO    ] No existing commands found in stream
[2026-08-29 15:06:07,696.696 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:06:07,699.699 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-08-29 15:06:09,988.988 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:06:09,990.990 INFO    ] Checking for system updates...
[2026-08-29 15:06:10,026.026 INFO    ] 200
[2026-08-29 15:06:10,028.028 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:06:10,082.082 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:06:10,085.085 INFO    ] No update needed
[2026-08-29 15:06:10,087.087 INFO    ] Checking for camera pi updates...
[2026-08-29 15:06:10,125.125 INFO    ] 200
[2026-08-29 15:06:10,127.127 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:06:10,167.167 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:06:10,245.245 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:06:10,248.248 INFO    ] No camera update needed
[2026-08-29 15:06:10,250.250 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:06:10,252.252 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:06:10,258.258 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:06:10,263.263 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:06:12,309.309 INFO    ] ================================================
[2026-08-29 15:06:12,325.325 INFO    ] Launching Daemon at Sat Aug 29 15:06:12 IST 2026
[2026-08-29 15:06:12,335.335 INFO    ] ================================================
[2026-08-29 15:06:12,680.680 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:06:12
[2026-08-29 15:06:12,991.991 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:06:13,260.260 INFO    ] Initializing speech engine...
[2026-08-29 15:06:13,270.270 INFO    ] 2026-08-29 15:06:13
[2026-08-29 15:06:13,517.517 INFO    ] 2026-08-29 15:06:13
[2026-08-29 15:06:13,553.553 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:06:13,730.730 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:06:13,733.733 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:06:13,852.852 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:06:13,858.858 INFO    ] time= 29/08/2026 15:06:13
[2026-08-29 15:06:13,876.876 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:06:13,899.899 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:06:13,973.973 INFO    ] No existing commands found in stream
[2026-08-29 15:06:18,987.987 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:06:18,990.990 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-08-29 15:06:22,831.831 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:06:22,833.833 INFO    ] Checking for system updates...
[2026-08-29 15:06:22,853.853 INFO    ] 200
[2026-08-29 15:06:22,854.854 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:06:22,884.884 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:06:22,885.885 INFO    ] No update needed
[2026-08-29 15:06:22,887.887 INFO    ] Checking for camera pi updates...
[2026-08-29 15:06:22,908.908 INFO    ] 200
[2026-08-29 15:06:22,909.909 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:06:22,932.932 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:06:23,043.043 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:06:23,044.044 INFO    ] No camera update needed
[2026-08-29 15:06:23,045.045 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:06:23,047.047 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:06:23,049.049 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:06:23,052.052 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:06:25,091.091 INFO    ] ================================================
[2026-08-29 15:06:25,106.106 INFO    ] Launching Daemon at Sat Aug 29 15:06:25 IST 2026
[2026-08-29 15:06:25,117.117 INFO    ] ================================================
[2026-08-29 15:06:25,540.540 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:06:25
[2026-08-29 15:06:26,129.129 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:06:26,401.401 INFO    ] Initializing speech engine...
[2026-08-29 15:06:26,410.410 INFO    ] 2026-08-29 15:06:26
[2026-08-29 15:06:26,665.665 INFO    ] 2026-08-29 15:06:26
[2026-08-29 15:06:26,699.699 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:06:26,874.874 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:06:26,889.889 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:06:27,034.034 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:06:27,042.042 INFO    ] time= 29/08/2026 15:06:27
[2026-08-29 15:06:27,048.048 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:06:27,099.099 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:06:27,222.222 INFO    ] No existing commands found in stream
[2026-08-29 15:06:32,253.253 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:06:32,256.256 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-08-29 15:06:35,432.432 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:06:35,434.434 INFO    ] Checking for system updates...
[2026-08-29 15:06:35,470.470 INFO    ] 200
[2026-08-29 15:06:35,473.473 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:06:35,525.525 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:06:35,527.527 INFO    ] No update needed
[2026-08-29 15:06:35,529.529 INFO    ] Checking for camera pi updates...
[2026-08-29 15:06:35,568.568 INFO    ] 200
[2026-08-29 15:06:35,571.571 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:06:35,605.605 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:06:35,701.701 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:06:35,704.704 INFO    ] No camera update needed
[2026-08-29 15:06:35,706.706 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:06:35,708.708 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:06:35,713.713 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:06:35,718.718 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:06:37,760.760 INFO    ] ================================================
[2026-08-29 15:06:37,775.775 INFO    ] Launching Daemon at Sat Aug 29 15:06:37 IST 2026
[2026-08-29 15:06:37,786.786 INFO    ] ================================================
[2026-08-29 15:06:38,363.363 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:06:38
[2026-08-29 15:06:38,848.848 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:06:38,980.980 INFO    ] Initializing speech engine...
[2026-08-29 15:06:38,984.984 INFO    ] 2026-08-29 15:06:38
[2026-08-29 15:06:39,200.200 INFO    ] 2026-08-29 15:06:39
[2026-08-29 15:06:39,230.230 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:06:39,352.352 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:06:39,395.395 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:06:39,546.546 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:06:39,602.602 INFO    ] time= 29/08/2026 15:06:39
[2026-08-29 15:06:39,642.642 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:06:39,647.647 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:06:39,718.718 INFO    ] No existing commands found in stream
[2026-08-29 15:06:44,724.724 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:06:44,727.727 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-08-29 15:06:46,242.242 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:06:46,244.244 INFO    ] Checking for system updates...
[2026-08-29 15:06:46,264.264 INFO    ] 200
[2026-08-29 15:06:46,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:06:46,297.297 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:06:46,298.298 INFO    ] No update needed
[2026-08-29 15:06:46,299.299 INFO    ] Checking for camera pi updates...
[2026-08-29 15:06:46,319.319 INFO    ] 200
[2026-08-29 15:06:46,320.320 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:06:46,345.345 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:06:46,447.447 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:06:46,449.449 INFO    ] No camera update needed
[2026-08-29 15:06:46,450.450 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:06:46,451.451 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:06:46,454.454 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:06:46,457.457 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:06:48,496.496 INFO    ] ================================================
[2026-08-29 15:06:48,512.512 INFO    ] Launching Daemon at Sat Aug 29 15:06:48 IST 2026
[2026-08-29 15:06:48,523.523 INFO    ] ================================================
[2026-08-29 15:06:48,876.876 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:06:48
[2026-08-29 15:06:49,194.194 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:06:49,339.339 INFO    ] Initializing speech engine...
[2026-08-29 15:06:49,344.344 INFO    ] 2026-08-29 15:06:49
[2026-08-29 15:06:49,549.549 INFO    ] 2026-08-29 15:06:49
[2026-08-29 15:06:49,577.577 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:06:49,699.699 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:06:49,737.737 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:06:49,894.894 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:06:49,951.951 INFO    ] time= 29/08/2026 15:06:49
[2026-08-29 15:06:49,992.992 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:06:49,994.994 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:06:50,065.065 INFO    ] No existing commands found in stream
[2026-08-29 15:06:55,075.075 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:06:55,078.078 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-08-29 15:06:59,378.378 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:06:59,380.380 INFO    ] Checking for system updates...
[2026-08-29 15:06:59,401.401 INFO    ] 200
[2026-08-29 15:06:59,403.403 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:06:59,435.435 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:06:59,437.437 INFO    ] No update needed
[2026-08-29 15:06:59,438.438 INFO    ] Checking for camera pi updates...
[2026-08-29 15:06:59,457.457 INFO    ] 200
[2026-08-29 15:06:59,458.458 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:06:59,483.483 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:06:59,561.561 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:06:59,563.563 INFO    ] No camera update needed
[2026-08-29 15:06:59,564.564 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:06:59,565.565 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:06:59,568.568 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:06:59,571.571 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:07:01,619.619 INFO    ] ================================================
[2026-08-29 15:07:01,640.640 INFO    ] Launching Daemon at Sat Aug 29 15:07:01 IST 2026
[2026-08-29 15:07:01,656.656 INFO    ] ================================================
[2026-08-29 15:07:02,285.285 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:07:02
[2026-08-29 15:07:02,947.947 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:07:03,203.203 INFO    ] Initializing speech engine...
[2026-08-29 15:07:03,209.209 INFO    ] 2026-08-29 15:07:03
[2026-08-29 15:07:03,505.505 INFO    ] 2026-08-29 15:07:03
[2026-08-29 15:07:03,542.542 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:07:03,690.690 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:07:03,697.697 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:07:03,849.849 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:07:03,858.858 INFO    ] time= 29/08/2026 15:07:03
[2026-08-29 15:07:03,864.864 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:07:03,868.868 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:07:03,932.932 INFO    ] No existing commands found in stream
[2026-08-29 15:07:08,945.945 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:07:08,948.948 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-08-29 15:07:11,634.634 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:07:11,636.636 INFO    ] Checking for system updates...
[2026-08-29 15:07:11,656.656 INFO    ] 200
[2026-08-29 15:07:11,657.657 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:07:11,687.687 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:07:11,688.688 INFO    ] No update needed
[2026-08-29 15:07:11,689.689 INFO    ] Checking for camera pi updates...
[2026-08-29 15:07:11,710.710 INFO    ] 200
[2026-08-29 15:07:11,711.711 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:07:11,734.734 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:07:11,808.808 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:07:11,809.809 INFO    ] No camera update needed
[2026-08-29 15:07:11,810.810 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:07:11,811.811 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:07:11,814.814 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:07:11,817.817 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:07:13,859.859 INFO    ] ================================================
[2026-08-29 15:07:13,874.874 INFO    ] Launching Daemon at Sat Aug 29 15:07:13 IST 2026
[2026-08-29 15:07:13,884.884 INFO    ] ================================================
[2026-08-29 15:07:14,231.231 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:07:14
[2026-08-29 15:07:14,549.549 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:07:14,697.697 INFO    ] Initializing speech engine...
[2026-08-29 15:07:14,701.701 INFO    ] 2026-08-29 15:07:14
[2026-08-29 15:07:14,903.903 INFO    ] 2026-08-29 15:07:14
[2026-08-29 15:07:14,932.932 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:07:15,054.054 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:07:15,116.116 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:07:15,247.247 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:07:15,308.308 INFO    ] time= 29/08/2026 15:07:15
[2026-08-29 15:07:15,345.345 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:07:15,347.347 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:07:15,419.419 INFO    ] No existing commands found in stream
[2026-08-29 15:07:20,428.428 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:07:20,431.431 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-08-29 15:07:24,732.732 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:07:24,734.734 INFO    ] Checking for system updates...
[2026-08-29 15:07:24,755.755 INFO    ] 200
[2026-08-29 15:07:24,756.756 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:07:24,787.787 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:07:24,789.789 INFO    ] No update needed
[2026-08-29 15:07:24,790.790 INFO    ] Checking for camera pi updates...
[2026-08-29 15:07:24,809.809 INFO    ] 200
[2026-08-29 15:07:24,811.811 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:07:24,834.834 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:07:24,947.947 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:07:24,948.948 INFO    ] No camera update needed
[2026-08-29 15:07:24,949.949 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:07:24,951.951 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:07:24,954.954 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:07:24,957.957 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:07:27,997.997 INFO    ] ================================================
[2026-08-29 15:07:27,013.013 INFO    ] Launching Daemon at Sat Aug 29 15:07:27 IST 2026
[2026-08-29 15:07:27,023.023 INFO    ] ================================================
[2026-08-29 15:07:27,392.392 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:07:27
[2026-08-29 15:07:27,732.732 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:07:27,962.962 INFO    ] Initializing speech engine...
[2026-08-29 15:07:27,976.976 INFO    ] 2026-08-29 15:07:27
[2026-08-29 15:07:28,250.250 INFO    ] 2026-08-29 15:07:28
[2026-08-29 15:07:28,306.306 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:07:28,530.530 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:07:28,541.541 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:07:28,676.676 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:07:28,747.747 INFO    ] time= 29/08/2026 15:07:28
[2026-08-29 15:07:28,791.791 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:07:28,809.809 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:07:28,865.865 INFO    ] No existing commands found in stream
[2026-08-29 15:07:33,878.878 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:07:33,881.881 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-08-29 15:07:37,489.489 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:07:37,491.491 INFO    ] Checking for system updates...
[2026-08-29 15:07:37,512.512 INFO    ] 200
[2026-08-29 15:07:37,513.513 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:07:37,543.543 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:07:37,545.545 INFO    ] No update needed
[2026-08-29 15:07:37,546.546 INFO    ] Checking for camera pi updates...
[2026-08-29 15:07:37,567.567 INFO    ] 200
[2026-08-29 15:07:37,568.568 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:07:37,594.594 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:07:37,669.669 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:07:37,671.671 INFO    ] No camera update needed
[2026-08-29 15:07:37,673.673 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:07:37,674.674 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:07:37,677.677 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:07:37,680.680 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:07:39,718.718 INFO    ] ================================================
[2026-08-29 15:07:39,734.734 INFO    ] Launching Daemon at Sat Aug 29 15:07:39 IST 2026
[2026-08-29 15:07:39,745.745 INFO    ] ================================================
[2026-08-29 15:07:40,098.098 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:07:40
[2026-08-29 15:07:40,411.411 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:07:40,547.547 INFO    ] Initializing speech engine...
[2026-08-29 15:07:40,560.560 INFO    ] 2026-08-29 15:07:40
[2026-08-29 15:07:40,780.780 INFO    ] 2026-08-29 15:07:40
[2026-08-29 15:07:40,810.810 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:07:40,937.937 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:07:40,941.941 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:07:41,054.054 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:07:41,094.094 INFO    ] time= 29/08/2026 15:07:41
[2026-08-29 15:07:41,149.149 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:07:41,190.190 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:07:41,248.248 INFO    ] No existing commands found in stream
[2026-08-29 15:07:46,260.260 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:07:46,264.264 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-08-29 15:07:47,954.954 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:07:47,956.956 INFO    ] Checking for system updates...
[2026-08-29 15:07:47,976.976 INFO    ] 200
[2026-08-29 15:07:47,977.977 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:07:48,008.008 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:07:48,009.009 INFO    ] No update needed
[2026-08-29 15:07:48,010.010 INFO    ] Checking for camera pi updates...
[2026-08-29 15:07:48,030.030 INFO    ] 200
[2026-08-29 15:07:48,031.031 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:07:48,056.056 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:07:48,133.133 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:07:48,134.134 INFO    ] No camera update needed
[2026-08-29 15:07:48,135.135 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:07:48,137.137 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:07:48,140.140 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:07:48,143.143 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:07:50,183.183 INFO    ] ================================================
[2026-08-29 15:07:50,198.198 INFO    ] Launching Daemon at Sat Aug 29 15:07:50 IST 2026
[2026-08-29 15:07:50,209.209 INFO    ] ================================================
[2026-08-29 15:07:50,576.576 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:07:50
[2026-08-29 15:07:50,893.893 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:07:51,168.168 INFO    ] Initializing speech engine...
[2026-08-29 15:07:51,180.180 INFO    ] 2026-08-29 15:07:51
[2026-08-29 15:07:51,442.442 INFO    ] 2026-08-29 15:07:51
[2026-08-29 15:07:51,478.478 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:07:51,639.639 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:07:51,681.681 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:07:51,795.795 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:07:51,801.801 INFO    ] time= 29/08/2026 15:07:51
[2026-08-29 15:07:51,825.825 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:07:51,831.831 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:07:51,881.881 INFO    ] No existing commands found in stream
[2026-08-29 15:07:56,892.892 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:07:56,895.895 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-08-29 15:07:58,225.225 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:07:58,227.227 INFO    ] Checking for system updates...
[2026-08-29 15:07:58,247.247 INFO    ] 200
[2026-08-29 15:07:58,249.249 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:07:58,279.279 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:07:58,280.280 INFO    ] No update needed
[2026-08-29 15:07:58,281.281 INFO    ] Checking for camera pi updates...
[2026-08-29 15:07:58,300.300 INFO    ] 200
[2026-08-29 15:07:58,302.302 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:07:58,325.325 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:07:58,417.417 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:07:58,418.418 INFO    ] No camera update needed
[2026-08-29 15:07:58,419.419 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:07:58,420.420 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:07:58,424.424 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:07:58,426.426 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:08:00,464.464 INFO    ] ================================================
[2026-08-29 15:08:00,480.480 INFO    ] Launching Daemon at Sat Aug 29 15:08:00 IST 2026
[2026-08-29 15:08:00,490.490 INFO    ] ================================================
[2026-08-29 15:08:01,038.038 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:08:01
[2026-08-29 15:08:01,714.714 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:08:02,061.061 INFO    ] Initializing speech engine...
[2026-08-29 15:08:02,065.065 INFO    ] 2026-08-29 15:08:02
[2026-08-29 15:08:02,428.428 INFO    ] 2026-08-29 15:08:02
[2026-08-29 15:08:02,484.484 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:08:02,724.724 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:08:02,735.735 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:08:02,893.893 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:08:02,956.956 INFO    ] time= 29/08/2026 15:08:02
[2026-08-29 15:08:03,013.013 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:08:03,041.041 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:08:03,162.162 INFO    ] No existing commands found in stream
[2026-08-29 15:08:08,190.190 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:08:08,193.193 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-08-29 15:08:09,658.658 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:08:09,660.660 INFO    ] Checking for system updates...
[2026-08-29 15:08:09,680.680 INFO    ] 200
[2026-08-29 15:08:09,681.681 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:08:09,714.714 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:08:09,715.715 INFO    ] No update needed
[2026-08-29 15:08:09,716.716 INFO    ] Checking for camera pi updates...
[2026-08-29 15:08:09,735.735 INFO    ] 200
[2026-08-29 15:08:09,737.737 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:08:09,760.760 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:08:09,839.839 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:08:09,842.842 INFO    ] No camera update needed
[2026-08-29 15:08:09,845.845 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:08:09,847.847 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:08:09,852.852 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:08:09,857.857 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:08:11,898.898 INFO    ] ================================================
[2026-08-29 15:08:11,913.913 INFO    ] Launching Daemon at Sat Aug 29 15:08:11 IST 2026
[2026-08-29 15:08:11,924.924 INFO    ] ================================================
[2026-08-29 15:08:12,491.491 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:08:12
[2026-08-29 15:08:13,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:08:13,347.347 INFO    ] Initializing speech engine...
[2026-08-29 15:08:13,355.355 INFO    ] 2026-08-29 15:08:13
[2026-08-29 15:08:13,607.607 INFO    ] 2026-08-29 15:08:13
[2026-08-29 15:08:13,641.641 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:08:13,782.782 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:08:13,812.812 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:08:13,950.950 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:08:13,953.953 INFO    ] time= 29/08/2026 15:08:13
[2026-08-29 15:08:13,963.963 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:08:13,979.979 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:08:14,069.069 INFO    ] No existing commands found in stream
[2026-08-29 15:08:19,105.105 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:08:19,107.107 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-08-29 15:08:21,824.824 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:08:21,826.826 INFO    ] Checking for system updates...
[2026-08-29 15:08:21,846.846 INFO    ] 200
[2026-08-29 15:08:21,848.848 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:08:21,880.880 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:08:21,881.881 INFO    ] No update needed
[2026-08-29 15:08:21,882.882 INFO    ] Checking for camera pi updates...
[2026-08-29 15:08:21,905.905 INFO    ] 200
[2026-08-29 15:08:21,907.907 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:08:21,929.929 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:08:22,009.009 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:08:22,010.010 INFO    ] No camera update needed
[2026-08-29 15:08:22,012.012 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:08:22,013.013 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:08:22,016.016 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:08:22,019.019 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:08:24,059.059 INFO    ] ================================================
[2026-08-29 15:08:24,075.075 INFO    ] Launching Daemon at Sat Aug 29 15:08:24 IST 2026
[2026-08-29 15:08:24,087.087 INFO    ] ================================================
[2026-08-29 15:08:24,444.444 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:08:24
[2026-08-29 15:08:24,762.762 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:08:24,898.898 INFO    ] Initializing speech engine...
[2026-08-29 15:08:24,903.903 INFO    ] 2026-08-29 15:08:24
[2026-08-29 15:08:25,102.102 INFO    ] 2026-08-29 15:08:25
[2026-08-29 15:08:25,143.143 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:08:25,267.267 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:08:25,270.270 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:08:25,407.407 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:08:25,412.412 INFO    ] time= 29/08/2026 15:08:25
[2026-08-29 15:08:25,415.415 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:08:25,448.448 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:08:25,530.530 INFO    ] No existing commands found in stream
[2026-08-29 15:08:30,553.553 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:08:30,556.556 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-08-29 15:08:31,546.546 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:08:31,547.547 INFO    ] Checking for system updates...
[2026-08-29 15:08:31,568.568 INFO    ] 200
[2026-08-29 15:08:31,569.569 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:08:31,602.602 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:08:31,603.603 INFO    ] No update needed
[2026-08-29 15:08:31,604.604 INFO    ] Checking for camera pi updates...
[2026-08-29 15:08:31,626.626 INFO    ] 200
[2026-08-29 15:08:31,628.628 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:08:31,651.651 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:08:31,789.789 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:08:31,791.791 INFO    ] No camera update needed
[2026-08-29 15:08:31,792.792 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:08:31,793.793 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:08:31,796.796 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:08:31,799.799 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:08:33,840.840 INFO    ] ================================================
[2026-08-29 15:08:33,856.856 INFO    ] Launching Daemon at Sat Aug 29 15:08:33 IST 2026
[2026-08-29 15:08:33,867.867 INFO    ] ================================================
[2026-08-29 15:08:34,438.438 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:08:34
[2026-08-29 15:08:35,027.027 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:08:35,300.300 INFO    ] Initializing speech engine...
[2026-08-29 15:08:35,309.309 INFO    ] 2026-08-29 15:08:35
[2026-08-29 15:08:35,609.609 INFO    ] 2026-08-29 15:08:35
[2026-08-29 15:08:35,624.624 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:08:35,782.782 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:08:35,788.788 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:08:35,924.924 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:08:35,930.930 INFO    ] time= 29/08/2026 15:08:35
[2026-08-29 15:08:35,937.937 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:08:35,952.952 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:08:36,058.058 INFO    ] No existing commands found in stream
[2026-08-29 15:08:41,073.073 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:08:41,076.076 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-08-29 15:08:44,273.273 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:08:44,276.276 INFO    ] Checking for system updates...
[2026-08-29 15:08:44,312.312 INFO    ] 200
[2026-08-29 15:08:44,315.315 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:08:44,367.367 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:08:44,370.370 INFO    ] No update needed
[2026-08-29 15:08:44,372.372 INFO    ] Checking for camera pi updates...
[2026-08-29 15:08:44,410.410 INFO    ] 200
[2026-08-29 15:08:44,413.413 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:08:44,453.453 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:08:44,532.532 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:08:44,534.534 INFO    ] No camera update needed
[2026-08-29 15:08:44,537.537 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:08:44,539.539 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:08:44,544.544 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:08:44,549.549 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:08:46,590.590 INFO    ] ================================================
[2026-08-29 15:08:46,607.607 INFO    ] Launching Daemon at Sat Aug 29 15:08:46 IST 2026
[2026-08-29 15:08:46,618.618 INFO    ] ================================================
[2026-08-29 15:08:46,971.971 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:08:46
[2026-08-29 15:08:47,551.551 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:08:47,822.822 INFO    ] Initializing speech engine...
[2026-08-29 15:08:47,831.831 INFO    ] 2026-08-29 15:08:47
[2026-08-29 15:08:48,077.077 INFO    ] 2026-08-29 15:08:48
[2026-08-29 15:08:48,113.113 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:08:48,284.284 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:08:48,296.296 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:08:48,407.407 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:08:48,424.424 INFO    ] time= 29/08/2026 15:08:48
[2026-08-29 15:08:48,445.445 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:08:48,453.453 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:08:48,524.524 INFO    ] No existing commands found in stream
[2026-08-29 15:08:53,559.559 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:08:53,562.562 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-08-29 15:08:55,983.983 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:08:55,985.985 INFO    ] Checking for system updates...
[2026-08-29 15:08:56,007.007 INFO    ] 200
[2026-08-29 15:08:56,009.009 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:08:56,039.039 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:08:56,040.040 INFO    ] No update needed
[2026-08-29 15:08:56,041.041 INFO    ] Checking for camera pi updates...
[2026-08-29 15:08:56,061.061 INFO    ] 200
[2026-08-29 15:08:56,062.062 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:08:56,086.086 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:08:56,165.165 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:08:56,166.166 INFO    ] No camera update needed
[2026-08-29 15:08:56,172.172 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:08:56,173.173 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:08:56,176.176 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:08:56,179.179 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:08:58,219.219 INFO    ] ================================================
[2026-08-29 15:08:58,235.235 INFO    ] Launching Daemon at Sat Aug 29 15:08:58 IST 2026
[2026-08-29 15:08:58,246.246 INFO    ] ================================================
[2026-08-29 15:08:58,646.646 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:08:58
[2026-08-29 15:08:58,989.989 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:08:59,132.132 INFO    ] Initializing speech engine...
[2026-08-29 15:08:59,146.146 INFO    ] 2026-08-29 15:08:59
[2026-08-29 15:08:59,364.364 INFO    ] 2026-08-29 15:08:59
[2026-08-29 15:08:59,393.393 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:08:59,518.518 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:08:59,561.561 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:08:59,715.715 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:08:59,773.773 INFO    ] time= 29/08/2026 15:08:59
[2026-08-29 15:08:59,815.815 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:08:59,822.822 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:08:59,890.890 INFO    ] No existing commands found in stream
[2026-08-29 15:09:04,904.904 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:09:04,908.908 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 15:09:06,874.874 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:09:06,876.876 INFO    ] Checking for system updates...
[2026-08-29 15:09:06,914.914 INFO    ] 200
[2026-08-29 15:09:06,916.916 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:09:06,969.969 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:09:06,971.971 INFO    ] No update needed
[2026-08-29 15:09:06,974.974 INFO    ] Checking for camera pi updates...
[2026-08-29 15:09:07,008.008 INFO    ] 200
[2026-08-29 15:09:07,010.010 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:09:07,050.050 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:09:07,139.139 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:09:07,142.142 INFO    ] No camera update needed
[2026-08-29 15:09:07,144.144 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:09:07,146.146 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:09:07,152.152 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:09:07,157.157 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:09:09,196.196 INFO    ] ================================================
[2026-08-29 15:09:09,212.212 INFO    ] Launching Daemon at Sat Aug 29 15:09:09 IST 2026
[2026-08-29 15:09:09,222.222 INFO    ] ================================================
[2026-08-29 15:09:09,795.795 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:09:09
[2026-08-29 15:09:10,110.110 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:09:10,248.248 INFO    ] Initializing speech engine...
[2026-08-29 15:09:10,259.259 INFO    ] 2026-08-29 15:09:10
[2026-08-29 15:09:10,447.447 INFO    ] 2026-08-29 15:09:10
[2026-08-29 15:09:10,528.528 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:09:10,675.675 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:09:10,684.684 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:09:10,816.816 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:09:10,843.843 INFO    ] time= 29/08/2026 15:09:10
[2026-08-29 15:09:10,897.897 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:09:10,949.949 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:09:11,009.009 INFO    ] No existing commands found in stream
[2026-08-29 15:09:16,027.027 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:09:16,030.030 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 15:09:17,419.419 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:09:17,421.421 INFO    ] Checking for system updates...
[2026-08-29 15:09:17,441.441 INFO    ] 200
[2026-08-29 15:09:17,442.442 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:09:17,473.473 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:09:17,474.474 INFO    ] No update needed
[2026-08-29 15:09:17,475.475 INFO    ] Checking for camera pi updates...
[2026-08-29 15:09:17,495.495 INFO    ] 200
[2026-08-29 15:09:17,496.496 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:09:17,519.519 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:09:17,595.595 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:09:17,596.596 INFO    ] No camera update needed
[2026-08-29 15:09:17,597.597 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:09:17,598.598 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:09:17,601.601 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:09:17,604.604 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:09:19,644.644 INFO    ] ================================================
[2026-08-29 15:09:19,659.659 INFO    ] Launching Daemon at Sat Aug 29 15:09:19 IST 2026
[2026-08-29 15:09:19,670.670 INFO    ] ================================================
[2026-08-29 15:09:20,041.041 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:09:20
[2026-08-29 15:09:20,387.387 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:09:20,545.545 INFO    ] Initializing speech engine...
[2026-08-29 15:09:20,550.550 INFO    ] 2026-08-29 15:09:20
[2026-08-29 15:09:20,759.759 INFO    ] 2026-08-29 15:09:20
[2026-08-29 15:09:20,793.793 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:09:20,965.965 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:09:20,974.974 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:09:21,133.133 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:09:21,181.181 INFO    ] time= 29/08/2026 15:09:21
[2026-08-29 15:09:21,199.199 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:09:21,210.210 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:09:21,345.345 INFO    ] No existing commands found in stream
[2026-08-29 15:09:26,355.355 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:09:26,358.358 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-08-29 15:09:29,885.885 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:09:29,887.887 INFO    ] Checking for system updates...
[2026-08-29 15:09:29,908.908 INFO    ] 200
[2026-08-29 15:09:29,909.909 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:09:29,940.940 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:09:29,941.941 INFO    ] No update needed
[2026-08-29 15:09:29,943.943 INFO    ] Checking for camera pi updates...
[2026-08-29 15:09:29,963.963 INFO    ] 200
[2026-08-29 15:09:29,964.964 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:09:29,988.988 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:09:30,062.062 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:09:30,064.064 INFO    ] No camera update needed
[2026-08-29 15:09:30,065.065 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:09:30,067.067 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:09:30,070.070 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:09:30,073.073 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:09:32,114.114 INFO    ] ================================================
[2026-08-29 15:09:32,133.133 INFO    ] Launching Daemon at Sat Aug 29 15:09:32 IST 2026
[2026-08-29 15:09:32,144.144 INFO    ] ================================================
[2026-08-29 15:09:32,750.750 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:09:32
[2026-08-29 15:09:33,437.437 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:09:33,709.709 INFO    ] Initializing speech engine...
[2026-08-29 15:09:33,716.716 INFO    ] 2026-08-29 15:09:33
[2026-08-29 15:09:33,960.960 INFO    ] 2026-08-29 15:09:33
[2026-08-29 15:09:33,995.995 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:09:34,177.177 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:09:34,196.196 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:09:34,320.320 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:09:34,329.329 INFO    ] time= 29/08/2026 15:09:34
[2026-08-29 15:09:34,335.335 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:09:34,385.385 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:09:34,489.489 INFO    ] No existing commands found in stream
[2026-08-29 15:09:39,519.519 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:09:39,522.522 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-08-29 15:09:43,636.636 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:09:43,638.638 INFO    ] Checking for system updates...
[2026-08-29 15:09:43,658.658 INFO    ] 200
[2026-08-29 15:09:43,660.660 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:09:43,690.690 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:09:43,692.692 INFO    ] No update needed
[2026-08-29 15:09:43,693.693 INFO    ] Checking for camera pi updates...
[2026-08-29 15:09:43,713.713 INFO    ] 200
[2026-08-29 15:09:43,714.714 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:09:43,738.738 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:09:43,888.888 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:09:43,890.890 INFO    ] No camera update needed
[2026-08-29 15:09:43,891.891 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:09:43,893.893 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:09:43,896.896 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:09:43,899.899 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:09:45,937.937 INFO    ] ================================================
[2026-08-29 15:09:45,952.952 INFO    ] Launching Daemon at Sat Aug 29 15:09:45 IST 2026
[2026-08-29 15:09:45,963.963 INFO    ] ================================================
[2026-08-29 15:09:46,487.487 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:09:46
[2026-08-29 15:09:47,075.075 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:09:47,327.327 INFO    ] Initializing speech engine...
[2026-08-29 15:09:47,339.339 INFO    ] 2026-08-29 15:09:47
[2026-08-29 15:09:47,608.608 INFO    ] 2026-08-29 15:09:47
[2026-08-29 15:09:47,645.645 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:09:47,822.822 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:09:47,835.835 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:09:47,948.948 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:09:47,967.967 INFO    ] time= 29/08/2026 15:09:47
[2026-08-29 15:09:47,988.988 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:09:47,995.995 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:09:48,065.065 INFO    ] No existing commands found in stream
[2026-08-29 15:09:53,077.077 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:09:53,080.080 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-08-29 15:09:53,825.825 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:09:53,826.826 INFO    ] Checking for system updates...
[2026-08-29 15:09:53,848.848 INFO    ] 200
[2026-08-29 15:09:53,850.850 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:09:53,879.879 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:09:53,880.880 INFO    ] No update needed
[2026-08-29 15:09:53,882.882 INFO    ] Checking for camera pi updates...
[2026-08-29 15:09:53,901.901 INFO    ] 200
[2026-08-29 15:09:53,903.903 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:09:53,926.926 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:09:54,013.013 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:09:54,015.015 INFO    ] No camera update needed
[2026-08-29 15:09:54,016.016 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:09:54,017.017 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:09:54,020.020 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:09:54,022.022 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:09:56,062.062 INFO    ] ================================================
[2026-08-29 15:09:56,077.077 INFO    ] Launching Daemon at Sat Aug 29 15:09:56 IST 2026
[2026-08-29 15:09:56,088.088 INFO    ] ================================================
[2026-08-29 15:09:56,421.421 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:09:56
[2026-08-29 15:09:56,734.734 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:09:56,865.865 INFO    ] Initializing speech engine...
[2026-08-29 15:09:56,869.869 INFO    ] 2026-08-29 15:09:56
[2026-08-29 15:09:57,099.099 INFO    ] 2026-08-29 15:09:57
[2026-08-29 15:09:57,177.177 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:09:57,333.333 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:09:57,342.342 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:09:57,477.477 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:09:57,494.494 INFO    ] time= 29/08/2026 15:09:57
[2026-08-29 15:09:57,543.543 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:09:57,592.592 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:09:57,664.664 INFO    ] No existing commands found in stream
[2026-08-29 15:10:02,675.675 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:10:02,678.678 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-08-29 15:10:07,622.622 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:10:07,625.625 INFO    ] Checking for system updates...
[2026-08-29 15:10:07,660.660 INFO    ] 200
[2026-08-29 15:10:07,663.663 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:10:07,722.722 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:10:07,725.725 INFO    ] No update needed
[2026-08-29 15:10:07,727.727 INFO    ] Checking for camera pi updates...
[2026-08-29 15:10:07,761.761 INFO    ] 200
[2026-08-29 15:10:07,763.763 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:10:07,803.803 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:10:07,887.887 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:10:07,890.890 INFO    ] No camera update needed
[2026-08-29 15:10:07,892.892 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:10:07,894.894 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:10:07,900.900 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:10:07,904.904 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:10:09,944.944 INFO    ] ================================================
[2026-08-29 15:10:09,959.959 INFO    ] Launching Daemon at Sat Aug 29 15:10:09 IST 2026
[2026-08-29 15:10:09,969.969 INFO    ] ================================================
[2026-08-29 15:10:10,463.463 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:10:10
[2026-08-29 15:10:11,049.049 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:10:11,365.365 INFO    ] Initializing speech engine...
[2026-08-29 15:10:11,372.372 INFO    ] 2026-08-29 15:10:11
[2026-08-29 15:10:11,655.655 INFO    ] 2026-08-29 15:10:11
[2026-08-29 15:10:11,760.760 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:10:11,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:10:11,923.923 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:10:12,055.055 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:10:12,082.082 INFO    ] time= 29/08/2026 15:10:12
[2026-08-29 15:10:12,136.136 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:10:12,189.189 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:10:12,314.314 INFO    ] No existing commands found in stream
[2026-08-29 15:10:17,339.339 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:10:17,342.342 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-08-29 15:10:19,499.499 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:10:19,501.501 INFO    ] Checking for system updates...
[2026-08-29 15:10:19,521.521 INFO    ] 200
[2026-08-29 15:10:19,523.523 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:10:19,555.555 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:10:19,556.556 INFO    ] No update needed
[2026-08-29 15:10:19,558.558 INFO    ] Checking for camera pi updates...
[2026-08-29 15:10:19,578.578 INFO    ] 200
[2026-08-29 15:10:19,579.579 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:10:19,602.602 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:10:19,708.708 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:10:19,709.709 INFO    ] No camera update needed
[2026-08-29 15:10:19,711.711 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:10:19,712.712 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:10:19,715.715 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:10:19,718.718 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:10:21,755.755 INFO    ] ================================================
[2026-08-29 15:10:21,770.770 INFO    ] Launching Daemon at Sat Aug 29 15:10:21 IST 2026
[2026-08-29 15:10:21,780.780 INFO    ] ================================================
[2026-08-29 15:10:22,272.272 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:10:22
[2026-08-29 15:10:22,859.859 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:10:23,127.127 INFO    ] Initializing speech engine...
[2026-08-29 15:10:23,137.137 INFO    ] 2026-08-29 15:10:23
[2026-08-29 15:10:23,383.383 INFO    ] 2026-08-29 15:10:23
[2026-08-29 15:10:23,418.418 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:10:23,590.590 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:10:23,603.603 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:10:23,744.744 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:10:23,753.753 INFO    ] time= 29/08/2026 15:10:23
[2026-08-29 15:10:23,759.759 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:10:23,790.790 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:10:23,933.933 INFO    ] No existing commands found in stream
[2026-08-29 15:10:28,959.959 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:10:28,961.961 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-08-29 15:10:30,407.407 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:10:30,409.409 INFO    ] Checking for system updates...
[2026-08-29 15:10:30,429.429 INFO    ] 200
[2026-08-29 15:10:30,431.431 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:10:30,461.461 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:10:30,462.462 INFO    ] No update needed
[2026-08-29 15:10:30,463.463 INFO    ] Checking for camera pi updates...
[2026-08-29 15:10:30,483.483 INFO    ] 200
[2026-08-29 15:10:30,484.484 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:10:30,506.506 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:10:30,584.584 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:10:30,585.585 INFO    ] No camera update needed
[2026-08-29 15:10:30,586.586 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:10:30,588.588 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:10:30,590.590 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:10:30,593.593 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:10:32,628.628 INFO    ] ================================================
[2026-08-29 15:10:32,636.636 INFO    ] Launching Daemon at Sat Aug 29 15:10:32 IST 2026
[2026-08-29 15:10:32,642.642 INFO    ] ================================================
[2026-08-29 15:10:33,122.122 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:10:33
[2026-08-29 15:10:33,706.706 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:10:33,955.955 INFO    ] Initializing speech engine...
[2026-08-29 15:10:33,970.970 INFO    ] 2026-08-29 15:10:33
[2026-08-29 15:10:34,236.236 INFO    ] 2026-08-29 15:10:34
[2026-08-29 15:10:34,271.271 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:10:34,447.447 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:10:34,462.462 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:10:34,605.605 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:10:34,614.614 INFO    ] time= 29/08/2026 15:10:34
[2026-08-29 15:10:34,623.623 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:10:34,663.663 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:10:34,795.795 INFO    ] No existing commands found in stream
[2026-08-29 15:10:39,825.825 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:10:39,828.828 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-08-29 15:10:40,631.631 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:10:40,633.633 INFO    ] Checking for system updates...
[2026-08-29 15:10:40,653.653 INFO    ] 200
[2026-08-29 15:10:40,655.655 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:10:40,687.687 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:10:40,688.688 INFO    ] No update needed
[2026-08-29 15:10:40,690.690 INFO    ] Checking for camera pi updates...
[2026-08-29 15:10:40,710.710 INFO    ] 200
[2026-08-29 15:10:40,711.711 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:10:40,735.735 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:10:40,837.837 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:10:40,838.838 INFO    ] No camera update needed
[2026-08-29 15:10:40,839.839 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:10:40,840.840 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:10:40,843.843 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:10:40,846.846 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:10:42,885.885 INFO    ] ================================================
[2026-08-29 15:10:42,901.901 INFO    ] Launching Daemon at Sat Aug 29 15:10:42 IST 2026
[2026-08-29 15:10:42,912.912 INFO    ] ================================================
[2026-08-29 15:10:43,283.283 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:10:43
[2026-08-29 15:10:43,620.620 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:10:43,771.771 INFO    ] Initializing speech engine...
[2026-08-29 15:10:43,777.777 INFO    ] 2026-08-29 15:10:43
[2026-08-29 15:10:43,984.984 INFO    ] 2026-08-29 15:10:43
[2026-08-29 15:10:44,013.013 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:10:44,140.140 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:10:44,197.197 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:10:44,346.346 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:10:44,403.403 INFO    ] time= 29/08/2026 15:10:44
[2026-08-29 15:10:44,426.426 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:10:44,433.433 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:10:44,498.498 INFO    ] No existing commands found in stream
[2026-08-29 15:10:49,512.512 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:10:49,515.515 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-08-29 15:10:51,173.173 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:10:51,175.175 INFO    ] Checking for system updates...
[2026-08-29 15:10:51,195.195 INFO    ] 200
[2026-08-29 15:10:51,197.197 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:10:51,227.227 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:10:51,228.228 INFO    ] No update needed
[2026-08-29 15:10:51,230.230 INFO    ] Checking for camera pi updates...
[2026-08-29 15:10:51,251.251 INFO    ] 200
[2026-08-29 15:10:51,252.252 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:10:51,277.277 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:10:51,352.352 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:10:51,353.353 INFO    ] No camera update needed
[2026-08-29 15:10:51,355.355 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:10:51,356.356 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:10:51,359.359 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:10:51,365.365 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:10:53,406.406 INFO    ] ================================================
[2026-08-29 15:10:53,421.421 INFO    ] Launching Daemon at Sat Aug 29 15:10:53 IST 2026
[2026-08-29 15:10:53,432.432 INFO    ] ================================================
[2026-08-29 15:10:54,026.026 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:10:54
[2026-08-29 15:10:54,525.525 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:10:54,787.787 INFO    ] Initializing speech engine...
[2026-08-29 15:10:54,801.801 INFO    ] 2026-08-29 15:10:54
[2026-08-29 15:10:55,058.058 INFO    ] 2026-08-29 15:10:55
[2026-08-29 15:10:55,093.093 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:10:55,270.270 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:10:55,282.282 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:10:55,394.394 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:10:55,399.399 INFO    ] time= 29/08/2026 15:10:55
[2026-08-29 15:10:55,417.417 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:10:55,438.438 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:10:55,515.515 INFO    ] No existing commands found in stream
[2026-08-29 15:11:00,540.540 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:11:00,543.543 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-08-29 15:11:03,843.843 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:11:03,846.846 INFO    ] Checking for system updates...
[2026-08-29 15:11:03,884.884 INFO    ] 200
[2026-08-29 15:11:03,887.887 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:11:03,940.940 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:11:03,942.942 INFO    ] No update needed
[2026-08-29 15:11:03,945.945 INFO    ] Checking for camera pi updates...
[2026-08-29 15:11:03,979.979 INFO    ] 200
[2026-08-29 15:11:03,981.981 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:11:04,032.032 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:11:04,119.119 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:11:04,121.121 INFO    ] No camera update needed
[2026-08-29 15:11:04,124.124 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:11:04,126.126 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:11:04,131.131 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:11:04,136.136 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:11:06,176.176 INFO    ] ================================================
[2026-08-29 15:11:06,192.192 INFO    ] Launching Daemon at Sat Aug 29 15:11:06 IST 2026
[2026-08-29 15:11:06,203.203 INFO    ] ================================================
[2026-08-29 15:11:06,608.608 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:11:06
[2026-08-29 15:11:07,247.247 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:11:07,566.566 INFO    ] Initializing speech engine...
[2026-08-29 15:11:07,572.572 INFO    ] 2026-08-29 15:11:07
[2026-08-29 15:11:07,862.862 INFO    ] 2026-08-29 15:11:07
[2026-08-29 15:11:07,975.975 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:11:08,127.127 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:11:08,138.138 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:11:08,274.274 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:11:08,327.327 INFO    ] time= 29/08/2026 15:11:08
[2026-08-29 15:11:08,398.398 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:11:08,415.415 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:11:08,525.525 INFO    ] No existing commands found in stream
[2026-08-29 15:11:13,555.555 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:11:13,558.558 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-08-29 15:11:17,890.890 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:11:17,891.891 INFO    ] Checking for system updates...
[2026-08-29 15:11:17,914.914 INFO    ] 200
[2026-08-29 15:11:17,915.915 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:11:17,948.948 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:11:17,950.950 INFO    ] No update needed
[2026-08-29 15:11:17,951.951 INFO    ] Checking for camera pi updates...
[2026-08-29 15:11:17,972.972 INFO    ] 200
[2026-08-29 15:11:17,974.974 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:11:17,997.997 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:11:18,077.077 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:11:18,079.079 INFO    ] No camera update needed
[2026-08-29 15:11:18,080.080 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:11:18,082.082 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:11:18,085.085 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:11:18,088.088 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:11:20,127.127 INFO    ] ================================================
[2026-08-29 15:11:20,142.142 INFO    ] Launching Daemon at Sat Aug 29 15:11:20 IST 2026
[2026-08-29 15:11:20,153.153 INFO    ] ================================================
[2026-08-29 15:11:20,656.656 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:11:20
[2026-08-29 15:11:21,265.265 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:11:21,526.526 INFO    ] Initializing speech engine...
[2026-08-29 15:11:21,532.532 INFO    ] 2026-08-29 15:11:21
[2026-08-29 15:11:21,840.840 INFO    ] 2026-08-29 15:11:21
[2026-08-29 15:11:21,875.875 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:11:22,029.029 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:11:22,038.038 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:11:22,193.193 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:11:22,204.204 INFO    ] time= 29/08/2026 15:11:22
[2026-08-29 15:11:22,210.210 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:11:22,214.214 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:11:22,282.282 INFO    ] No existing commands found in stream
[2026-08-29 15:11:27,296.296 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:11:27,299.299 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-08-29 15:11:29,145.145 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:11:29,147.147 INFO    ] Checking for system updates...
[2026-08-29 15:11:29,167.167 INFO    ] 200
[2026-08-29 15:11:29,169.169 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:11:29,199.199 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:11:29,200.200 INFO    ] No update needed
[2026-08-29 15:11:29,201.201 INFO    ] Checking for camera pi updates...
[2026-08-29 15:11:29,220.220 INFO    ] 200
[2026-08-29 15:11:29,222.222 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:11:29,247.247 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:11:29,351.351 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:11:29,353.353 INFO    ] No camera update needed
[2026-08-29 15:11:29,354.354 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:11:29,355.355 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:11:29,358.358 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:11:29,361.361 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:11:31,400.400 INFO    ] ================================================
[2026-08-29 15:11:31,417.417 INFO    ] Launching Daemon at Sat Aug 29 15:11:31 IST 2026
[2026-08-29 15:11:31,428.428 INFO    ] ================================================
[2026-08-29 15:11:31,780.780 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:11:31
[2026-08-29 15:11:32,307.307 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:11:32,588.588 INFO    ] Initializing speech engine...
[2026-08-29 15:11:32,596.596 INFO    ] 2026-08-29 15:11:32
[2026-08-29 15:11:32,911.911 INFO    ] 2026-08-29 15:11:32
[2026-08-29 15:11:32,952.952 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:11:33,122.122 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:11:33,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:11:33,280.280 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:11:33,293.293 INFO    ] time= 29/08/2026 15:11:33
[2026-08-29 15:11:33,298.298 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:11:33,321.321 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:11:33,374.374 INFO    ] No existing commands found in stream
[2026-08-29 15:11:38,385.385 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:11:38,388.388 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-08-29 15:11:39,178.178 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:11:39,179.179 INFO    ] Checking for system updates...
[2026-08-29 15:11:39,200.200 INFO    ] 200
[2026-08-29 15:11:39,201.201 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:11:39,231.231 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:11:39,232.232 INFO    ] No update needed
[2026-08-29 15:11:39,234.234 INFO    ] Checking for camera pi updates...
[2026-08-29 15:11:39,253.253 INFO    ] 200
[2026-08-29 15:11:39,254.254 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:11:39,284.284 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:11:39,366.366 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:11:39,369.369 INFO    ] No camera update needed
[2026-08-29 15:11:39,371.371 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:11:39,373.373 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:11:39,379.379 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:11:39,383.383 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:11:41,425.425 INFO    ] ================================================
[2026-08-29 15:11:41,441.441 INFO    ] Launching Daemon at Sat Aug 29 15:11:41 IST 2026
[2026-08-29 15:11:41,452.452 INFO    ] ================================================
[2026-08-29 15:11:42,115.115 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:11:42
[2026-08-29 15:11:42,596.596 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:11:42,746.746 INFO    ] Initializing speech engine...
[2026-08-29 15:11:42,752.752 INFO    ] 2026-08-29 15:11:42
[2026-08-29 15:11:42,960.960 INFO    ] 2026-08-29 15:11:42
[2026-08-29 15:11:42,988.988 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:11:43,110.110 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:11:43,154.154 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:11:43,306.306 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:11:43,373.373 INFO    ] time= 29/08/2026 15:11:43
[2026-08-29 15:11:43,428.428 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:11:43,473.473 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:11:43,605.605 INFO    ] No existing commands found in stream
[2026-08-29 15:11:48,641.641 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:11:48,645.645 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-08-29 15:11:50,640.640 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:11:50,641.641 INFO    ] Checking for system updates...
[2026-08-29 15:11:50,663.663 INFO    ] 200
[2026-08-29 15:11:50,665.665 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:11:50,695.695 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:11:50,697.697 INFO    ] No update needed
[2026-08-29 15:11:50,698.698 INFO    ] Checking for camera pi updates...
[2026-08-29 15:11:50,718.718 INFO    ] 200
[2026-08-29 15:11:50,719.719 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:11:50,743.743 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:11:50,922.922 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:11:50,924.924 INFO    ] No camera update needed
[2026-08-29 15:11:50,925.925 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:11:50,926.926 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:11:50,930.930 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:11:50,933.933 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:11:52,973.973 INFO    ] ================================================
[2026-08-29 15:11:52,988.988 INFO    ] Launching Daemon at Sat Aug 29 15:11:52 IST 2026
[2026-08-29 15:11:53,000.000 INFO    ] ================================================
[2026-08-29 15:11:53,363.363 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:11:53
[2026-08-29 15:11:53,676.676 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:11:53,806.806 INFO    ] Initializing speech engine...
[2026-08-29 15:11:53,810.810 INFO    ] 2026-08-29 15:11:53
[2026-08-29 15:11:54,016.016 INFO    ] 2026-08-29 15:11:54
[2026-08-29 15:11:54,052.052 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:11:54,186.186 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:11:54,195.195 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:11:54,331.331 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:11:54,341.341 INFO    ] time= 29/08/2026 15:11:54
[2026-08-29 15:11:54,346.346 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:11:54,367.367 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:11:54,415.415 INFO    ] No existing commands found in stream
[2026-08-29 15:11:59,425.425 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:11:59,428.428 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 15:12:00,988.988 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:12:00,990.990 INFO    ] Checking for system updates...
[2026-08-29 15:12:01,010.010 INFO    ] 200
[2026-08-29 15:12:01,012.012 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:12:01,042.042 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:12:01,044.044 INFO    ] No update needed
[2026-08-29 15:12:01,045.045 INFO    ] Checking for camera pi updates...
[2026-08-29 15:12:01,065.065 INFO    ] 200
[2026-08-29 15:12:01,066.066 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:12:01,089.089 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:12:01,443.443 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:12:01,444.444 INFO    ] No camera update needed
[2026-08-29 15:12:01,446.446 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:12:01,447.447 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:12:01,450.450 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:12:01,453.453 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:12:03,496.496 INFO    ] ================================================
[2026-08-29 15:12:03,511.511 INFO    ] Launching Daemon at Sat Aug 29 15:12:03 IST 2026
[2026-08-29 15:12:03,522.522 INFO    ] ================================================
[2026-08-29 15:12:04,137.137 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:12:04
[2026-08-29 15:12:04,736.736 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:12:04,898.898 INFO    ] Initializing speech engine...
[2026-08-29 15:12:04,908.908 INFO    ] 2026-08-29 15:12:04
[2026-08-29 15:12:05,089.089 INFO    ] 2026-08-29 15:12:05
[2026-08-29 15:12:05,125.125 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:12:05,297.297 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:12:05,309.309 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:12:05,449.449 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:12:05,457.457 INFO    ] time= 29/08/2026 15:12:05
[2026-08-29 15:12:05,462.462 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:12:05,469.469 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:12:05,607.607 INFO    ] No existing commands found in stream
[2026-08-29 15:12:10,637.637 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:12:10,640.640 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-08-29 15:12:13,709.709 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:12:13,712.712 INFO    ] Checking for system updates...
[2026-08-29 15:12:13,748.748 INFO    ] 200
[2026-08-29 15:12:13,751.751 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:12:13,805.805 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:12:13,807.807 INFO    ] No update needed
[2026-08-29 15:12:13,810.810 INFO    ] Checking for camera pi updates...
[2026-08-29 15:12:13,843.843 INFO    ] 200
[2026-08-29 15:12:13,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:12:13,881.881 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:12:13,959.959 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:12:13,961.961 INFO    ] No camera update needed
[2026-08-29 15:12:13,962.962 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:12:13,963.963 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:12:13,966.966 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:12:13,969.969 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:12:16,008.008 INFO    ] ================================================
[2026-08-29 15:12:16,024.024 INFO    ] Launching Daemon at Sat Aug 29 15:12:16 IST 2026
[2026-08-29 15:12:16,035.035 INFO    ] ================================================
[2026-08-29 15:12:16,409.409 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:12:16
[2026-08-29 15:12:16,757.757 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:12:16,911.911 INFO    ] Initializing speech engine...
[2026-08-29 15:12:16,918.918 INFO    ] 2026-08-29 15:12:16
[2026-08-29 15:12:17,162.162 INFO    ] 2026-08-29 15:12:17
[2026-08-29 15:12:17,221.221 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:12:17,392.392 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:12:17,402.402 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:12:17,575.575 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:12:17,611.611 INFO    ] time= 29/08/2026 15:12:17
[2026-08-29 15:12:17,629.629 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:12:17,659.659 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:12:17,770.770 INFO    ] No existing commands found in stream
[2026-08-29 15:12:22,786.786 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:12:22,789.789 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 15:12:24,294.294 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:12:24,295.295 INFO    ] Checking for system updates...
[2026-08-29 15:12:24,315.315 INFO    ] 200
[2026-08-29 15:12:24,317.317 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:12:24,348.348 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:12:24,350.350 INFO    ] No update needed
[2026-08-29 15:12:24,351.351 INFO    ] Checking for camera pi updates...
[2026-08-29 15:12:24,372.372 INFO    ] 200
[2026-08-29 15:12:24,374.374 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:12:24,396.396 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:12:24,497.497 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:12:24,498.498 INFO    ] No camera update needed
[2026-08-29 15:12:24,499.499 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:12:24,500.500 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:12:24,503.503 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:12:24,506.506 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:12:26,544.544 INFO    ] ================================================
[2026-08-29 15:12:26,560.560 INFO    ] Launching Daemon at Sat Aug 29 15:12:26 IST 2026
[2026-08-29 15:12:26,570.570 INFO    ] ================================================
[2026-08-29 15:12:26,906.906 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:12:26
[2026-08-29 15:12:27,219.219 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:12:27,421.421 INFO    ] Initializing speech engine...
[2026-08-29 15:12:27,427.427 INFO    ] 2026-08-29 15:12:27
[2026-08-29 15:12:27,731.731 INFO    ] 2026-08-29 15:12:27
[2026-08-29 15:12:27,756.756 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:12:27,919.919 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:12:27,925.925 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:12:28,074.074 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:12:28,089.089 INFO    ] time= 29/08/2026 15:12:28
[2026-08-29 15:12:28,098.098 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:12:28,104.104 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:12:28,166.166 INFO    ] No existing commands found in stream
[2026-08-29 15:12:33,184.184 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:12:33,187.187 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-08-29 15:12:37,065.065 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:12:37,066.066 INFO    ] Checking for system updates...
[2026-08-29 15:12:37,086.086 INFO    ] 200
[2026-08-29 15:12:37,088.088 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:12:37,120.120 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:12:37,121.121 INFO    ] No update needed
[2026-08-29 15:12:37,123.123 INFO    ] Checking for camera pi updates...
[2026-08-29 15:12:37,143.143 INFO    ] 200
[2026-08-29 15:12:37,144.144 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:12:37,167.167 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:12:37,245.245 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:12:37,246.246 INFO    ] No camera update needed
[2026-08-29 15:12:37,248.248 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:12:37,249.249 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:12:37,252.252 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:12:37,255.255 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:12:39,296.296 INFO    ] ================================================
[2026-08-29 15:12:39,311.311 INFO    ] Launching Daemon at Sat Aug 29 15:12:39 IST 2026
[2026-08-29 15:12:39,322.322 INFO    ] ================================================
[2026-08-29 15:12:39,662.662 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:12:39
[2026-08-29 15:12:39,978.978 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:12:40,117.117 INFO    ] Initializing speech engine...
[2026-08-29 15:12:40,126.126 INFO    ] 2026-08-29 15:12:40
[2026-08-29 15:12:40,369.369 INFO    ] 2026-08-29 15:12:40
[2026-08-29 15:12:40,425.425 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:12:40,593.593 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:12:40,600.600 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:12:40,776.776 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:12:40,806.806 INFO    ] time= 29/08/2026 15:12:40
[2026-08-29 15:12:40,812.812 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:12:40,830.830 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:12:40,949.949 INFO    ] No existing commands found in stream
[2026-08-29 15:12:45,972.972 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:12:45,975.975 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-08-29 15:12:48,208.208 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:12:48,210.210 INFO    ] Checking for system updates...
[2026-08-29 15:12:48,233.233 INFO    ] 200
[2026-08-29 15:12:48,235.235 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:12:48,264.264 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:12:48,266.266 INFO    ] No update needed
[2026-08-29 15:12:48,267.267 INFO    ] Checking for camera pi updates...
[2026-08-29 15:12:48,288.288 INFO    ] 200
[2026-08-29 15:12:48,289.289 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:12:48,312.312 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:12:48,386.386 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:12:48,387.387 INFO    ] No camera update needed
[2026-08-29 15:12:48,388.388 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:12:48,389.389 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:12:48,392.392 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:12:48,395.395 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:12:50,433.433 INFO    ] ================================================
[2026-08-29 15:12:50,448.448 INFO    ] Launching Daemon at Sat Aug 29 15:12:50 IST 2026
[2026-08-29 15:12:50,459.459 INFO    ] ================================================
[2026-08-29 15:12:50,796.796 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:12:50
[2026-08-29 15:12:51,113.113 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:12:51,257.257 INFO    ] Initializing speech engine...
[2026-08-29 15:12:51,263.263 INFO    ] 2026-08-29 15:12:51
[2026-08-29 15:12:51,465.465 INFO    ] 2026-08-29 15:12:51
[2026-08-29 15:12:51,498.498 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:12:51,620.620 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:12:51,673.673 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:12:51,818.818 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:12:51,885.885 INFO    ] time= 29/08/2026 15:12:51
[2026-08-29 15:12:51,912.912 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:12:51,936.936 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:12:52,063.063 INFO    ] No existing commands found in stream
[2026-08-29 15:12:57,084.084 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:12:57,087.087 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-08-29 15:12:58,127.127 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:12:58,128.128 INFO    ] Checking for system updates...
[2026-08-29 15:12:58,149.149 INFO    ] 200
[2026-08-29 15:12:58,150.150 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:12:58,180.180 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:12:58,182.182 INFO    ] No update needed
[2026-08-29 15:12:58,183.183 INFO    ] Checking for camera pi updates...
[2026-08-29 15:12:58,205.205 INFO    ] 200
[2026-08-29 15:12:58,206.206 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:12:58,229.229 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:12:58,342.342 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:12:58,343.343 INFO    ] No camera update needed
[2026-08-29 15:12:58,344.344 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:12:58,346.346 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:12:58,349.349 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:12:58,351.351 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:13:00,390.390 INFO    ] ================================================
[2026-08-29 15:13:00,405.405 INFO    ] Launching Daemon at Sat Aug 29 15:13:00 IST 2026
[2026-08-29 15:13:00,415.415 INFO    ] ================================================
[2026-08-29 15:13:00,896.896 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:13:00
[2026-08-29 15:13:01,575.575 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:13:01,951.951 INFO    ] Initializing speech engine...
[2026-08-29 15:13:01,957.957 INFO    ] 2026-08-29 15:13:01
[2026-08-29 15:13:02,250.250 INFO    ] 2026-08-29 15:13:02
[2026-08-29 15:13:02,337.337 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:13:02,521.521 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:13:02,539.539 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:13:02,675.675 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:13:02,686.686 INFO    ] time= 29/08/2026 15:13:02
[2026-08-29 15:13:02,709.709 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:13:02,735.735 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:13:02,844.844 INFO    ] No existing commands found in stream
[2026-08-29 15:13:07,857.857 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:13:07,860.860 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 15:13:11,330.330 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:13:11,331.331 INFO    ] Checking for system updates...
[2026-08-29 15:13:11,353.353 INFO    ] 200
[2026-08-29 15:13:11,354.354 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:13:11,385.385 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:13:11,386.386 INFO    ] No update needed
[2026-08-29 15:13:11,387.387 INFO    ] Checking for camera pi updates...
[2026-08-29 15:13:11,409.409 INFO    ] 200
[2026-08-29 15:13:11,410.410 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:13:11,435.435 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:13:11,513.513 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:13:11,515.515 INFO    ] No camera update needed
[2026-08-29 15:13:11,516.516 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:13:11,517.517 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:13:11,520.520 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:13:11,523.523 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:13:13,562.562 INFO    ] ================================================
[2026-08-29 15:13:13,578.578 INFO    ] Launching Daemon at Sat Aug 29 15:13:13 IST 2026
[2026-08-29 15:13:13,589.589 INFO    ] ================================================
[2026-08-29 15:13:14,139.139 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:13:14
[2026-08-29 15:13:14,800.800 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:13:15,114.114 INFO    ] Initializing speech engine...
[2026-08-29 15:13:15,120.120 INFO    ] 2026-08-29 15:13:15
[2026-08-29 15:13:15,432.432 INFO    ] 2026-08-29 15:13:15
[2026-08-29 15:13:15,519.519 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:13:15,674.674 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:13:15,680.680 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:13:15,813.813 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:13:15,879.879 INFO    ] time= 29/08/2026 15:13:15
[2026-08-29 15:13:15,935.935 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:13:15,949.949 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:13:16,064.064 INFO    ] No existing commands found in stream
[2026-08-29 15:13:21,085.085 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:13:21,089.089 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-08-29 15:13:24,664.664 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:13:24,666.666 INFO    ] Checking for system updates...
[2026-08-29 15:13:24,688.688 INFO    ] 200
[2026-08-29 15:13:24,690.690 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:13:24,724.724 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:13:24,725.725 INFO    ] No update needed
[2026-08-29 15:13:24,727.727 INFO    ] Checking for camera pi updates...
[2026-08-29 15:13:24,749.749 INFO    ] 200
[2026-08-29 15:13:24,751.751 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:13:24,774.774 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:13:24,866.866 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:13:24,868.868 INFO    ] No camera update needed
[2026-08-29 15:13:24,869.869 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:13:24,870.870 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:13:24,874.874 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:13:24,877.877 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:13:26,917.917 INFO    ] ================================================
[2026-08-29 15:13:26,932.932 INFO    ] Launching Daemon at Sat Aug 29 15:13:26 IST 2026
[2026-08-29 15:13:26,943.943 INFO    ] ================================================
[2026-08-29 15:13:27,273.273 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:13:27
[2026-08-29 15:13:27,588.588 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:13:27,832.832 INFO    ] Initializing speech engine...
[2026-08-29 15:13:27,845.845 INFO    ] 2026-08-29 15:13:27
[2026-08-29 15:13:28,115.115 INFO    ] 2026-08-29 15:13:28
[2026-08-29 15:13:28,149.149 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:13:28,329.329 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:13:28,342.342 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:13:28,452.452 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:13:28,459.459 INFO    ] time= 29/08/2026 15:13:28
[2026-08-29 15:13:28,477.477 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:13:28,498.498 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:13:28,572.572 INFO    ] No existing commands found in stream
[2026-08-29 15:13:33,584.584 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:13:33,587.587 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-08-29 15:13:36,106.106 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:13:36,108.108 INFO    ] Checking for system updates...
[2026-08-29 15:13:36,129.129 INFO    ] 200
[2026-08-29 15:13:36,130.130 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:13:36,160.160 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:13:36,161.161 INFO    ] No update needed
[2026-08-29 15:13:36,163.163 INFO    ] Checking for camera pi updates...
[2026-08-29 15:13:36,182.182 INFO    ] 200
[2026-08-29 15:13:36,183.183 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:13:36,206.206 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:13:36,282.282 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:13:36,284.284 INFO    ] No camera update needed
[2026-08-29 15:13:36,285.285 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:13:36,286.286 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:13:36,289.289 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:13:36,292.292 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:13:38,331.331 INFO    ] ================================================
[2026-08-29 15:13:38,347.347 INFO    ] Launching Daemon at Sat Aug 29 15:13:38 IST 2026
[2026-08-29 15:13:38,361.361 INFO    ] ================================================
[2026-08-29 15:13:38,695.695 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:13:38
[2026-08-29 15:13:39,008.008 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:13:39,151.151 INFO    ] Initializing speech engine...
[2026-08-29 15:13:39,156.156 INFO    ] 2026-08-29 15:13:39
[2026-08-29 15:13:39,359.359 INFO    ] 2026-08-29 15:13:39
[2026-08-29 15:13:39,387.387 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:13:39,547.547 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:13:39,552.552 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:13:39,715.715 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:13:39,749.749 INFO    ] time= 29/08/2026 15:13:39
[2026-08-29 15:13:39,755.755 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:13:39,773.773 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:13:39,889.889 INFO    ] No existing commands found in stream
[2026-08-29 15:13:44,914.914 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:13:44,917.917 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-08-29 15:13:49,101.101 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:13:49,103.103 INFO    ] Checking for system updates...
[2026-08-29 15:13:49,123.123 INFO    ] 200
[2026-08-29 15:13:49,124.124 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:13:49,157.157 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:13:49,158.158 INFO    ] No update needed
[2026-08-29 15:13:49,159.159 INFO    ] Checking for camera pi updates...
[2026-08-29 15:13:49,183.183 INFO    ] 200
[2026-08-29 15:13:49,184.184 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:13:49,207.207 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:13:49,283.283 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:13:49,284.284 INFO    ] No camera update needed
[2026-08-29 15:13:49,285.285 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:13:49,286.286 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:13:49,289.289 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:13:49,292.292 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:13:51,331.331 INFO    ] ================================================
[2026-08-29 15:13:51,346.346 INFO    ] Launching Daemon at Sat Aug 29 15:13:51 IST 2026
[2026-08-29 15:13:51,358.358 INFO    ] ================================================
[2026-08-29 15:13:51,722.722 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:13:51
[2026-08-29 15:13:52,034.034 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:13:52,167.167 INFO    ] Initializing speech engine...
[2026-08-29 15:13:52,172.172 INFO    ] 2026-08-29 15:13:52
[2026-08-29 15:13:52,381.381 INFO    ] 2026-08-29 15:13:52
[2026-08-29 15:13:52,410.410 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:13:52,561.561 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:13:52,582.582 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:13:52,741.741 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:13:52,767.767 INFO    ] time= 29/08/2026 15:13:52
[2026-08-29 15:13:52,820.820 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:13:52,862.862 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:13:52,972.972 INFO    ] No existing commands found in stream
[2026-08-29 15:13:58,003.003 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:13:58,006.006 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-08-29 15:13:58,493.493 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:13:58,494.494 INFO    ] Checking for system updates...
[2026-08-29 15:13:58,516.516 INFO    ] 200
[2026-08-29 15:13:58,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:13:58,547.547 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:13:58,548.548 INFO    ] No update needed
[2026-08-29 15:13:58,549.549 INFO    ] Checking for camera pi updates...
[2026-08-29 15:13:58,568.568 INFO    ] 200
[2026-08-29 15:13:58,569.569 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:13:58,593.593 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:13:58,671.671 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:13:58,673.673 INFO    ] No camera update needed
[2026-08-29 15:13:58,674.674 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:13:58,675.675 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:13:58,678.678 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:13:58,681.681 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:14:00,719.719 INFO    ] ================================================
[2026-08-29 15:14:00,735.735 INFO    ] Launching Daemon at Sat Aug 29 15:14:00 IST 2026
[2026-08-29 15:14:00,746.746 INFO    ] ================================================
[2026-08-29 15:14:01,270.270 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:14:01
[2026-08-29 15:14:02,078.078 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:14:02,430.430 INFO    ] Initializing speech engine...
[2026-08-29 15:14:02,436.436 INFO    ] 2026-08-29 15:14:02
[2026-08-29 15:14:02,747.747 INFO    ] 2026-08-29 15:14:02
[2026-08-29 15:14:02,783.783 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:14:02,956.956 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:14:03,003.003 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:14:03,117.117 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:14:03,141.141 INFO    ] time= 29/08/2026 15:14:03
[2026-08-29 15:14:03,149.149 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:14:03,154.154 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:14:03,255.255 INFO    ] No existing commands found in stream
[2026-08-29 15:14:08,266.266 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:14:08,269.269 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-08-29 15:14:12,019.019 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:14:12,022.022 INFO    ] Checking for system updates...
[2026-08-29 15:14:12,058.058 INFO    ] 200
[2026-08-29 15:14:12,061.061 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:14:12,113.113 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:14:12,115.115 INFO    ] No update needed
[2026-08-29 15:14:12,118.118 INFO    ] Checking for camera pi updates...
[2026-08-29 15:14:12,151.151 INFO    ] 200
[2026-08-29 15:14:12,154.154 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:14:12,193.193 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:14:12,298.298 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:14:12,300.300 INFO    ] No camera update needed
[2026-08-29 15:14:12,303.303 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:14:12,305.305 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:14:12,310.310 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:14:12,315.315 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:14:14,355.355 INFO    ] ================================================
[2026-08-29 15:14:14,371.371 INFO    ] Launching Daemon at Sat Aug 29 15:14:14 IST 2026
[2026-08-29 15:14:14,381.381 INFO    ] ================================================
[2026-08-29 15:14:14,739.739 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:14:14
[2026-08-29 15:14:15,049.049 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:14:15,191.191 INFO    ] Initializing speech engine...
[2026-08-29 15:14:15,195.195 INFO    ] 2026-08-29 15:14:15
[2026-08-29 15:14:15,411.411 INFO    ] 2026-08-29 15:14:15
[2026-08-29 15:14:15,485.485 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:14:15,642.642 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:14:15,651.651 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:14:15,782.782 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:14:15,809.809 INFO    ] time= 29/08/2026 15:14:15
[2026-08-29 15:14:15,863.863 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:14:15,916.916 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:14:15,967.967 INFO    ] No existing commands found in stream
[2026-08-29 15:14:20,978.978 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:14:20,981.981 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-08-29 15:14:22,322.322 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:14:22,323.323 INFO    ] Checking for system updates...
[2026-08-29 15:14:22,345.345 INFO    ] 200
[2026-08-29 15:14:22,346.346 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:14:22,376.376 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:14:22,377.377 INFO    ] No update needed
[2026-08-29 15:14:22,379.379 INFO    ] Checking for camera pi updates...
[2026-08-29 15:14:22,398.398 INFO    ] 200
[2026-08-29 15:14:22,399.399 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:14:22,423.423 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:14:22,504.504 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:14:22,505.505 INFO    ] No camera update needed
[2026-08-29 15:14:22,507.507 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:14:22,508.508 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:14:22,511.511 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:14:22,513.513 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:14:24,553.553 INFO    ] ================================================
[2026-08-29 15:14:24,568.568 INFO    ] Launching Daemon at Sat Aug 29 15:14:24 IST 2026
[2026-08-29 15:14:24,580.580 INFO    ] ================================================
[2026-08-29 15:14:25,016.016 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:14:25
[2026-08-29 15:14:25,601.601 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:14:25,874.874 INFO    ] Initializing speech engine...
[2026-08-29 15:14:25,880.880 INFO    ] 2026-08-29 15:14:25
[2026-08-29 15:14:26,126.126 INFO    ] 2026-08-29 15:14:26
[2026-08-29 15:14:26,162.162 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:14:26,335.335 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:14:26,352.352 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:14:26,474.474 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:14:26,480.480 INFO    ] time= 29/08/2026 15:14:26
[2026-08-29 15:14:26,500.500 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:14:26,521.521 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:14:26,604.604 INFO    ] No existing commands found in stream
[2026-08-29 15:14:31,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:14:31,616.616 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-08-29 15:14:33,087.087 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:14:33,090.090 INFO    ] Checking for system updates...
[2026-08-29 15:14:33,126.126 INFO    ] 200
[2026-08-29 15:14:33,129.129 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:14:33,182.182 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:14:33,184.184 INFO    ] No update needed
[2026-08-29 15:14:33,186.186 INFO    ] Checking for camera pi updates...
[2026-08-29 15:14:33,220.220 INFO    ] 200
[2026-08-29 15:14:33,223.223 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:14:33,263.263 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:14:33,356.356 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:14:33,358.358 INFO    ] No camera update needed
[2026-08-29 15:14:33,360.360 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:14:33,363.363 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:14:33,368.368 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:14:33,373.373 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:14:35,415.415 INFO    ] ================================================
[2026-08-29 15:14:35,431.431 INFO    ] Launching Daemon at Sat Aug 29 15:14:35 IST 2026
[2026-08-29 15:14:35,442.442 INFO    ] ================================================
[2026-08-29 15:14:35,796.796 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:14:35
[2026-08-29 15:14:36,109.109 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:14:36,241.241 INFO    ] Initializing speech engine...
[2026-08-29 15:14:36,246.246 INFO    ] 2026-08-29 15:14:36
[2026-08-29 15:14:36,450.450 INFO    ] 2026-08-29 15:14:36
[2026-08-29 15:14:36,496.496 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:14:36,742.742 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:14:36,753.753 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:14:36,900.900 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:14:36,909.909 INFO    ] time= 29/08/2026 15:14:36
[2026-08-29 15:14:36,973.973 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:14:37,023.023 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:14:37,109.109 INFO    ] No existing commands found in stream
[2026-08-29 15:14:42,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:14:42,124.124 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-08-29 15:14:43,986.986 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:14:43,987.987 INFO    ] Checking for system updates...
[2026-08-29 15:14:44,008.008 INFO    ] 200
[2026-08-29 15:14:44,009.009 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:14:44,038.038 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:14:44,040.040 INFO    ] No update needed
[2026-08-29 15:14:44,041.041 INFO    ] Checking for camera pi updates...
[2026-08-29 15:14:44,062.062 INFO    ] 200
[2026-08-29 15:14:44,064.064 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:14:44,086.086 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:14:44,170.170 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:14:44,171.171 INFO    ] No camera update needed
[2026-08-29 15:14:44,173.173 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:14:44,174.174 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:14:44,177.177 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:14:44,179.179 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:14:46,218.218 INFO    ] ================================================
[2026-08-29 15:14:46,233.233 INFO    ] Launching Daemon at Sat Aug 29 15:14:46 IST 2026
[2026-08-29 15:14:46,245.245 INFO    ] ================================================
[2026-08-29 15:14:46,620.620 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:14:46
[2026-08-29 15:14:46,953.953 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:14:47,092.092 INFO    ] Initializing speech engine...
[2026-08-29 15:14:47,106.106 INFO    ] 2026-08-29 15:14:47
[2026-08-29 15:14:47,314.314 INFO    ] 2026-08-29 15:14:47
[2026-08-29 15:14:47,343.343 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:14:47,485.485 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:14:47,493.493 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:14:47,651.651 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:14:47,693.693 INFO    ] time= 29/08/2026 15:14:47
[2026-08-29 15:14:47,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:14:47,721.721 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:14:47,834.834 INFO    ] No existing commands found in stream
[2026-08-29 15:14:52,859.859 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:14:52,862.862 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-08-29 15:14:54,201.201 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:14:54,203.203 INFO    ] Checking for system updates...
[2026-08-29 15:14:54,223.223 INFO    ] 200
[2026-08-29 15:14:54,224.224 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:14:54,256.256 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:14:54,257.257 INFO    ] No update needed
[2026-08-29 15:14:54,259.259 INFO    ] Checking for camera pi updates...
[2026-08-29 15:14:54,278.278 INFO    ] 200
[2026-08-29 15:14:54,279.279 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:14:54,302.302 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:14:54,377.377 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:14:54,379.379 INFO    ] No camera update needed
[2026-08-29 15:14:54,380.380 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:14:54,381.381 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:14:54,384.384 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:14:54,387.387 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:14:56,426.426 INFO    ] ================================================
[2026-08-29 15:14:56,441.441 INFO    ] Launching Daemon at Sat Aug 29 15:14:56 IST 2026
[2026-08-29 15:14:56,452.452 INFO    ] ================================================
[2026-08-29 15:14:56,806.806 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:14:56
[2026-08-29 15:14:57,118.118 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:14:57,251.251 INFO    ] Initializing speech engine...
[2026-08-29 15:14:57,255.255 INFO    ] 2026-08-29 15:14:57
[2026-08-29 15:14:57,481.481 INFO    ] 2026-08-29 15:14:57
[2026-08-29 15:14:57,511.511 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:14:57,640.640 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:14:57,680.680 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:14:57,847.847 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:14:57,884.884 INFO    ] time= 29/08/2026 15:14:57
[2026-08-29 15:14:57,931.931 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:14:57,954.954 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:14:58,030.030 INFO    ] No existing commands found in stream
[2026-08-29 15:15:03,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:15:03,045.045 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-08-29 15:15:06,026.026 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:15:06,027.027 INFO    ] Checking for system updates...
[2026-08-29 15:15:06,048.048 INFO    ] 200
[2026-08-29 15:15:06,049.049 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:15:06,079.079 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:15:06,080.080 INFO    ] No update needed
[2026-08-29 15:15:06,081.081 INFO    ] Checking for camera pi updates...
[2026-08-29 15:15:06,100.100 INFO    ] 200
[2026-08-29 15:15:06,101.101 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:15:06,129.129 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:15:06,227.227 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:15:06,230.230 INFO    ] No camera update needed
[2026-08-29 15:15:06,232.232 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:15:06,234.234 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:15:06,240.240 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:15:06,244.244 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:15:08,284.284 INFO    ] ================================================
[2026-08-29 15:15:08,300.300 INFO    ] Launching Daemon at Sat Aug 29 15:15:08 IST 2026
[2026-08-29 15:15:08,311.311 INFO    ] ================================================
[2026-08-29 15:15:08,888.888 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:15:08
[2026-08-29 15:15:09,398.398 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:15:09,674.674 INFO    ] Initializing speech engine...
[2026-08-29 15:15:09,682.682 INFO    ] 2026-08-29 15:15:09
[2026-08-29 15:15:09,944.944 INFO    ] 2026-08-29 15:15:09
[2026-08-29 15:15:09,998.998 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:15:10,221.221 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:15:10,230.230 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:15:10,363.363 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:15:10,385.385 INFO    ] time= 29/08/2026 15:15:10
[2026-08-29 15:15:10,449.449 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:15:10,494.494 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:15:10,554.554 INFO    ] No existing commands found in stream
[2026-08-29 15:15:15,566.566 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:15:15,569.569 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-08-29 15:15:16,635.635 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:15:16,637.637 INFO    ] Checking for system updates...
[2026-08-29 15:15:16,687.687 INFO    ] 200
[2026-08-29 15:15:16,689.689 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 15:15:16,692.692 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-08-29 15:15:16,695.695 INFO    ] Checking for camera pi updates...
[2026-08-29 15:15:16,737.737 INFO    ] 200
[2026-08-29 15:15:16,739.739 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 15:15:16,743.743 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-08-29 15:15:16,746.746 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:15:16,748.748 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:15:16,755.755 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:15:16,760.760 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:15:18,802.802 INFO    ] ================================================
[2026-08-29 15:15:18,819.819 INFO    ] Launching Daemon at Sat Aug 29 15:15:18 IST 2026
[2026-08-29 15:15:18,830.830 INFO    ] ================================================
[2026-08-29 15:15:19,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:15:19
[2026-08-29 15:15:19,483.483 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:15:19,622.622 INFO    ] Initializing speech engine...
[2026-08-29 15:15:19,634.634 INFO    ] 2026-08-29 15:15:19
[2026-08-29 15:15:19,857.857 INFO    ] 2026-08-29 15:15:19
[2026-08-29 15:15:19,888.888 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:15:20,021.021 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:15:20,065.065 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:15:20,234.234 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:15:20,281.281 INFO    ] time= 29/08/2026 15:15:20
[2026-08-29 15:15:20,320.320 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:15:20,344.344 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:15:20,421.421 INFO    ] No existing commands found in stream
[2026-08-29 15:15:25,432.432 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:15:25,434.434 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-08-29 15:15:28,323.323 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:15:28,324.324 INFO    ] Checking for system updates...
[2026-08-29 15:15:28,346.346 INFO    ] 200
[2026-08-29 15:15:28,347.347 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:15:28,377.377 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:15:28,378.378 INFO    ] No update needed
[2026-08-29 15:15:28,380.380 INFO    ] Checking for camera pi updates...
[2026-08-29 15:15:28,399.399 INFO    ] 200
[2026-08-29 15:15:28,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:15:28,423.423 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:15:28,500.500 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:15:28,502.502 INFO    ] No camera update needed
[2026-08-29 15:15:28,503.503 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:15:28,504.504 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:15:28,507.507 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:15:28,510.510 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:15:30,550.550 INFO    ] ================================================
[2026-08-29 15:15:30,565.565 INFO    ] Launching Daemon at Sat Aug 29 15:15:30 IST 2026
[2026-08-29 15:15:30,576.576 INFO    ] ================================================
[2026-08-29 15:15:30,953.953 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:15:30
[2026-08-29 15:15:31,271.271 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:15:31,407.407 INFO    ] Initializing speech engine...
[2026-08-29 15:15:31,412.412 INFO    ] 2026-08-29 15:15:31
[2026-08-29 15:15:31,716.716 INFO    ] 2026-08-29 15:15:31
[2026-08-29 15:15:31,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:15:31,916.916 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:15:31,930.930 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:15:32,085.085 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:15:32,099.099 INFO    ] time= 29/08/2026 15:15:32
[2026-08-29 15:15:32,106.106 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:15:32,131.131 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:15:32,192.192 INFO    ] No existing commands found in stream
[2026-08-29 15:15:37,205.205 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:15:37,207.207 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-08-29 15:15:37,992.992 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:15:37,993.993 INFO    ] Checking for system updates...
[2026-08-29 15:15:38,015.015 INFO    ] 200
[2026-08-29 15:15:38,017.017 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:15:38,050.050 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:15:38,051.051 INFO    ] No update needed
[2026-08-29 15:15:38,053.053 INFO    ] Checking for camera pi updates...
[2026-08-29 15:15:38,072.072 INFO    ] 200
[2026-08-29 15:15:38,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:15:38,097.097 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:15:38,204.204 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:15:38,206.206 INFO    ] No camera update needed
[2026-08-29 15:15:38,213.213 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:15:38,215.215 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:15:38,218.218 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:15:38,221.221 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:15:40,259.259 INFO    ] ================================================
[2026-08-29 15:15:40,275.275 INFO    ] Launching Daemon at Sat Aug 29 15:15:40 IST 2026
[2026-08-29 15:15:40,286.286 INFO    ] ================================================
[2026-08-29 15:15:40,613.613 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:15:40
[2026-08-29 15:15:40,924.924 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:15:41,057.057 INFO    ] Initializing speech engine...
[2026-08-29 15:15:41,061.061 INFO    ] 2026-08-29 15:15:41
[2026-08-29 15:15:41,287.287 INFO    ] 2026-08-29 15:15:41
[2026-08-29 15:15:41,318.318 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:15:41,447.447 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:15:41,481.481 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:15:41,629.629 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:15:41,663.663 INFO    ] time= 29/08/2026 15:15:41
[2026-08-29 15:15:41,729.729 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:15:41,761.761 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:15:41,836.836 INFO    ] No existing commands found in stream
[2026-08-29 15:15:46,847.847 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:15:46,849.849 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-08-29 15:15:49,267.267 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:15:49,268.268 INFO    ] Checking for system updates...
[2026-08-29 15:15:49,288.288 INFO    ] 200
[2026-08-29 15:15:49,290.290 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:15:49,322.322 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:15:49,323.323 INFO    ] No update needed
[2026-08-29 15:15:49,325.325 INFO    ] Checking for camera pi updates...
[2026-08-29 15:15:49,344.344 INFO    ] 200
[2026-08-29 15:15:49,345.345 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:15:49,369.369 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:15:49,453.453 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:15:49,455.455 INFO    ] No camera update needed
[2026-08-29 15:15:49,456.456 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:15:49,458.458 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:15:49,460.460 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:15:49,463.463 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:15:51,503.503 INFO    ] ================================================
[2026-08-29 15:15:51,519.519 INFO    ] Launching Daemon at Sat Aug 29 15:15:51 IST 2026
[2026-08-29 15:15:51,530.530 INFO    ] ================================================
[2026-08-29 15:15:51,900.900 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:15:51
[2026-08-29 15:15:52,216.216 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:15:52,477.477 INFO    ] Initializing speech engine...
[2026-08-29 15:15:52,484.484 INFO    ] 2026-08-29 15:15:52
[2026-08-29 15:15:52,779.779 INFO    ] 2026-08-29 15:15:52
[2026-08-29 15:15:52,815.815 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:15:53,008.008 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:15:53,015.015 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:15:53,145.145 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:15:53,151.151 INFO    ] time= 29/08/2026 15:15:53
[2026-08-29 15:15:53,156.156 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:15:53,176.176 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:15:53,275.275 INFO    ] No existing commands found in stream
[2026-08-29 15:15:58,313.313 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:15:58,315.315 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-08-29 15:16:03,099.099 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:16:03,102.102 INFO    ] Checking for system updates...
[2026-08-29 15:16:03,149.149 INFO    ] 200
[2026-08-29 15:16:03,152.152 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:16:03,209.209 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:16:03,211.211 INFO    ] No update needed
[2026-08-29 15:16:03,214.214 INFO    ] Checking for camera pi updates...
[2026-08-29 15:16:03,262.262 INFO    ] 200
[2026-08-29 15:16:03,264.264 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:16:03,305.305 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:16:03,410.410 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:16:03,413.413 INFO    ] No camera update needed
[2026-08-29 15:16:03,415.415 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:16:03,418.418 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:16:03,424.424 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:16:03,429.429 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:16:05,470.470 INFO    ] ================================================
[2026-08-29 15:16:05,485.485 INFO    ] Launching Daemon at Sat Aug 29 15:16:05 IST 2026
[2026-08-29 15:16:05,497.497 INFO    ] ================================================
[2026-08-29 15:16:06,017.017 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:16:06
[2026-08-29 15:16:06,652.652 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:16:06,925.925 INFO    ] Initializing speech engine...
[2026-08-29 15:16:06,939.939 INFO    ] 2026-08-29 15:16:06
[2026-08-29 15:16:07,221.221 INFO    ] 2026-08-29 15:16:07
[2026-08-29 15:16:07,259.259 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:16:07,440.440 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:16:07,452.452 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:16:07,570.570 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:16:07,599.599 INFO    ] time= 29/08/2026 15:16:07
[2026-08-29 15:16:07,613.613 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:16:07,619.619 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:16:07,691.691 INFO    ] No existing commands found in stream
[2026-08-29 15:16:12,722.722 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:16:12,725.725 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-08-29 15:16:16,157.157 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:16:16,160.160 INFO    ] Checking for system updates...
[2026-08-29 15:16:16,196.196 INFO    ] 200
[2026-08-29 15:16:16,198.198 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:16:16,255.255 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:16:16,258.258 INFO    ] No update needed
[2026-08-29 15:16:16,260.260 INFO    ] Checking for camera pi updates...
[2026-08-29 15:16:16,293.293 INFO    ] 200
[2026-08-29 15:16:16,296.296 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:16:16,337.337 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:16:16,444.444 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:16:16,446.446 INFO    ] No camera update needed
[2026-08-29 15:16:16,448.448 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:16:16,451.451 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:16:16,456.456 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:16:16,461.461 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:16:18,503.503 INFO    ] ================================================
[2026-08-29 15:16:18,522.522 INFO    ] Launching Daemon at Sat Aug 29 15:16:18 IST 2026
[2026-08-29 15:16:18,535.535 INFO    ] ================================================
[2026-08-29 15:16:19,131.131 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:16:19
[2026-08-29 15:16:19,825.825 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:16:20,128.128 INFO    ] Initializing speech engine...
[2026-08-29 15:16:20,140.140 INFO    ] 2026-08-29 15:16:20
[2026-08-29 15:16:20,427.427 INFO    ] 2026-08-29 15:16:20
[2026-08-29 15:16:20,483.483 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:16:20,654.654 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:16:20,696.696 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:16:20,859.859 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:16:20,865.865 INFO    ] time= 29/08/2026 15:16:20
[2026-08-29 15:16:20,910.910 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:16:20,970.970 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:16:21,048.048 INFO    ] No existing commands found in stream
[2026-08-29 15:16:26,060.060 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:16:26,064.064 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-08-29 15:16:30,068.068 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:16:30,069.069 INFO    ] Checking for system updates...
[2026-08-29 15:16:30,091.091 INFO    ] 200
[2026-08-29 15:16:30,093.093 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:16:30,124.124 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:16:30,125.125 INFO    ] No update needed
[2026-08-29 15:16:30,127.127 INFO    ] Checking for camera pi updates...
[2026-08-29 15:16:30,146.146 INFO    ] 200
[2026-08-29 15:16:30,147.147 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:16:30,172.172 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:16:30,267.267 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:16:30,269.269 INFO    ] No camera update needed
[2026-08-29 15:16:30,270.270 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:16:30,271.271 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:16:30,275.275 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:16:30,278.278 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:16:32,309.309 INFO    ] ================================================
[2026-08-29 15:16:32,319.319 INFO    ] Launching Daemon at Sat Aug 29 15:16:32 IST 2026
[2026-08-29 15:16:32,327.327 INFO    ] ================================================
[2026-08-29 15:16:32,898.898 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:16:32
[2026-08-29 15:16:33,484.484 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:16:33,759.759 INFO    ] Initializing speech engine...
[2026-08-29 15:16:33,766.766 INFO    ] 2026-08-29 15:16:33
[2026-08-29 15:16:34,021.021 INFO    ] 2026-08-29 15:16:34
[2026-08-29 15:16:34,053.053 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:16:34,219.219 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:16:34,232.232 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:16:34,367.367 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:16:34,380.380 INFO    ] time= 29/08/2026 15:16:34
[2026-08-29 15:16:34,384.384 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:16:34,390.390 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:16:34,454.454 INFO    ] No existing commands found in stream
[2026-08-29 15:16:39,466.466 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:16:39,469.469 INFO    ] Waiting 0.00 seconds before fallback handling...
[2026-08-29 15:16:39,806.806 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:16:39,807.807 INFO    ] Checking for system updates...
[2026-08-29 15:16:39,829.829 INFO    ] 200
[2026-08-29 15:16:39,830.830 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:16:39,860.860 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:16:39,861.861 INFO    ] No update needed
[2026-08-29 15:16:39,863.863 INFO    ] Checking for camera pi updates...
[2026-08-29 15:16:39,882.882 INFO    ] 200
[2026-08-29 15:16:39,883.883 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:16:39,905.905 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:16:39,985.985 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:16:39,988.988 INFO    ] No camera update needed
[2026-08-29 15:16:39,990.990 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:16:39,992.992 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:16:39,998.998 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:16:40,002.002 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:16:42,045.045 INFO    ] ================================================
[2026-08-29 15:16:42,061.061 INFO    ] Launching Daemon at Sat Aug 29 15:16:42 IST 2026
[2026-08-29 15:16:42,072.072 INFO    ] ================================================
[2026-08-29 15:16:42,721.721 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:16:42
[2026-08-29 15:16:43,163.163 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:16:43,313.313 INFO    ] Initializing speech engine...
[2026-08-29 15:16:43,318.318 INFO    ] 2026-08-29 15:16:43
[2026-08-29 15:16:43,528.528 INFO    ] 2026-08-29 15:16:43
[2026-08-29 15:16:43,571.571 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:16:43,737.737 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:16:43,745.745 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:16:43,917.917 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:16:43,949.949 INFO    ] time= 29/08/2026 15:16:43
[2026-08-29 15:16:43,968.968 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:16:43,997.997 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:16:44,103.103 INFO    ] No existing commands found in stream
[2026-08-29 15:16:49,116.116 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:16:49,119.119 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-08-29 15:16:52,688.688 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:16:52,689.689 INFO    ] Checking for system updates...
[2026-08-29 15:16:52,711.711 INFO    ] 200
[2026-08-29 15:16:52,713.713 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:16:52,743.743 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:16:52,744.744 INFO    ] No update needed
[2026-08-29 15:16:52,746.746 INFO    ] Checking for camera pi updates...
[2026-08-29 15:16:52,765.765 INFO    ] 200
[2026-08-29 15:16:52,767.767 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:16:52,790.790 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:16:52,876.876 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:16:52,877.877 INFO    ] No camera update needed
[2026-08-29 15:16:52,879.879 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:16:52,880.880 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:16:52,883.883 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:16:52,886.886 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:16:54,926.926 INFO    ] ================================================
[2026-08-29 15:16:54,942.942 INFO    ] Launching Daemon at Sat Aug 29 15:16:54 IST 2026
[2026-08-29 15:16:54,954.954 INFO    ] ================================================
[2026-08-29 15:16:55,329.329 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:16:55
[2026-08-29 15:16:55,646.646 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:16:55,815.815 INFO    ] Initializing speech engine...
[2026-08-29 15:16:55,828.828 INFO    ] 2026-08-29 15:16:55
[2026-08-29 15:16:56,112.112 INFO    ] 2026-08-29 15:16:56
[2026-08-29 15:16:56,146.146 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:16:56,291.291 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:16:56,299.299 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:16:56,451.451 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:16:56,460.460 INFO    ] time= 29/08/2026 15:16:56
[2026-08-29 15:16:56,467.467 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:16:56,490.490 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:16:56,541.541 INFO    ] No existing commands found in stream
[2026-08-29 15:17:01,552.552 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:17:01,555.555 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-08-29 15:17:04,477.477 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:17:04,480.480 INFO    ] Checking for system updates...
[2026-08-29 15:17:04,516.516 INFO    ] 200
[2026-08-29 15:17:04,518.518 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:17:04,570.570 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:17:04,573.573 INFO    ] No update needed
[2026-08-29 15:17:04,575.575 INFO    ] Checking for camera pi updates...
[2026-08-29 15:17:04,608.608 INFO    ] 200
[2026-08-29 15:17:04,610.610 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:17:04,651.651 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:17:04,727.727 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:17:04,729.729 INFO    ] No camera update needed
[2026-08-29 15:17:04,730.730 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:17:04,731.731 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:17:04,734.734 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:17:04,737.737 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:17:06,777.777 INFO    ] ================================================
[2026-08-29 15:17:06,793.793 INFO    ] Launching Daemon at Sat Aug 29 15:17:06 IST 2026
[2026-08-29 15:17:06,804.804 INFO    ] ================================================
[2026-08-29 15:17:07,156.156 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:17:07
[2026-08-29 15:17:07,468.468 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:17:07,615.615 INFO    ] Initializing speech engine...
[2026-08-29 15:17:07,620.620 INFO    ] 2026-08-29 15:17:07
[2026-08-29 15:17:07,861.861 INFO    ] 2026-08-29 15:17:07
[2026-08-29 15:17:07,896.896 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:17:08,085.085 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:17:08,096.096 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:17:08,225.225 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:17:08,233.233 INFO    ] time= 29/08/2026 15:17:08
[2026-08-29 15:17:08,238.238 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:17:08,257.257 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:17:08,357.357 INFO    ] No existing commands found in stream
[2026-08-29 15:17:13,367.367 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:17:13,370.370 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-08-29 15:17:15,581.581 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:17:15,583.583 INFO    ] Checking for system updates...
[2026-08-29 15:17:15,607.607 INFO    ] 200
[2026-08-29 15:17:15,611.611 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:17:15,679.679 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:17:15,681.681 INFO    ] No update needed
[2026-08-29 15:17:15,684.684 INFO    ] Checking for camera pi updates...
[2026-08-29 15:17:15,725.725 INFO    ] 200
[2026-08-29 15:17:15,728.728 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:17:15,772.772 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:17:15,853.853 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:17:15,856.856 INFO    ] No camera update needed
[2026-08-29 15:17:15,858.858 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:17:15,861.861 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:17:15,867.867 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:17:15,873.873 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:17:17,913.913 INFO    ] ================================================
[2026-08-29 15:17:17,929.929 INFO    ] Launching Daemon at Sat Aug 29 15:17:17 IST 2026
[2026-08-29 15:17:17,939.939 INFO    ] ================================================
[2026-08-29 15:17:18,523.523 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:17:18
[2026-08-29 15:17:18,944.944 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:17:19,215.215 INFO    ] Initializing speech engine...
[2026-08-29 15:17:19,220.220 INFO    ] 2026-08-29 15:17:19
[2026-08-29 15:17:19,467.467 INFO    ] 2026-08-29 15:17:19
[2026-08-29 15:17:19,531.531 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:17:19,675.675 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:17:19,687.687 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:17:19,795.795 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:17:19,800.800 INFO    ] time= 29/08/2026 15:17:19
[2026-08-29 15:17:19,819.819 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:17:19,838.838 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:17:19,910.910 INFO    ] No existing commands found in stream
[2026-08-29 15:17:24,923.923 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:17:24,926.926 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-08-29 15:17:26,679.679 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:17:26,680.680 INFO    ] Checking for system updates...
[2026-08-29 15:17:26,701.701 INFO    ] 200
[2026-08-29 15:17:26,702.702 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:17:26,734.734 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:17:26,735.735 INFO    ] No update needed
[2026-08-29 15:17:26,737.737 INFO    ] Checking for camera pi updates...
[2026-08-29 15:17:26,757.757 INFO    ] 200
[2026-08-29 15:17:26,758.758 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:17:26,781.781 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:17:26,861.861 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:17:26,862.862 INFO    ] No camera update needed
[2026-08-29 15:17:26,864.864 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:17:26,865.865 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:17:26,868.868 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:17:26,870.870 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:17:28,909.909 INFO    ] ================================================
[2026-08-29 15:17:28,925.925 INFO    ] Launching Daemon at Sat Aug 29 15:17:28 IST 2026
[2026-08-29 15:17:28,936.936 INFO    ] ================================================
[2026-08-29 15:17:29,283.283 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:17:29
[2026-08-29 15:17:29,614.614 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:17:29,759.759 INFO    ] Initializing speech engine...
[2026-08-29 15:17:29,770.770 INFO    ] 2026-08-29 15:17:29
[2026-08-29 15:17:29,976.976 INFO    ] 2026-08-29 15:17:29
[2026-08-29 15:17:30,006.006 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:17:30,131.131 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:17:30,173.173 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:17:30,326.326 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:17:30,399.399 INFO    ] time= 29/08/2026 15:17:30
[2026-08-29 15:17:30,427.427 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:17:30,434.434 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:17:30,502.502 INFO    ] No existing commands found in stream
[2026-08-29 15:17:35,511.511 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:17:35,514.514 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-08-29 15:17:36,274.274 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:17:36,275.275 INFO    ] Checking for system updates...
[2026-08-29 15:17:36,296.296 INFO    ] 200
[2026-08-29 15:17:36,297.297 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:17:36,327.327 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:17:36,328.328 INFO    ] No update needed
[2026-08-29 15:17:36,330.330 INFO    ] Checking for camera pi updates...
[2026-08-29 15:17:36,349.349 INFO    ] 200
[2026-08-29 15:17:36,350.350 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:17:36,375.375 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:17:36,476.476 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:17:36,477.477 INFO    ] No camera update needed
[2026-08-29 15:17:36,478.478 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:17:36,480.480 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:17:36,483.483 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:17:36,486.486 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:17:38,526.526 INFO    ] ================================================
[2026-08-29 15:17:38,541.541 INFO    ] Launching Daemon at Sat Aug 29 15:17:38 IST 2026
[2026-08-29 15:17:38,552.552 INFO    ] ================================================
[2026-08-29 15:17:38,891.891 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:17:38
[2026-08-29 15:17:39,202.202 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:17:39,346.346 INFO    ] Initializing speech engine...
[2026-08-29 15:17:39,353.353 INFO    ] 2026-08-29 15:17:39
[2026-08-29 15:17:39,630.630 INFO    ] 2026-08-29 15:17:39
[2026-08-29 15:17:39,664.664 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:17:39,841.841 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:17:39,854.854 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:17:39,998.998 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:17:40,006.006 INFO    ] time= 29/08/2026 15:17:39
[2026-08-29 15:17:40,010.010 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:17:40,016.016 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:17:40,082.082 INFO    ] No existing commands found in stream
[2026-08-29 15:17:45,094.094 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:17:45,097.097 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-08-29 15:17:49,017.017 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:17:49,019.019 INFO    ] Checking for system updates...
[2026-08-29 15:17:49,039.039 INFO    ] 200
[2026-08-29 15:17:49,041.041 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:17:49,071.071 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:17:49,072.072 INFO    ] No update needed
[2026-08-29 15:17:49,074.074 INFO    ] Checking for camera pi updates...
[2026-08-29 15:17:49,093.093 INFO    ] 200
[2026-08-29 15:17:49,095.095 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:17:49,131.131 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:17:49,231.231 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:17:49,234.234 INFO    ] No camera update needed
[2026-08-29 15:17:49,236.236 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:17:49,239.239 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:17:49,245.245 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:17:49,250.250 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:17:51,292.292 INFO    ] ================================================
[2026-08-29 15:17:51,308.308 INFO    ] Launching Daemon at Sat Aug 29 15:17:51 IST 2026
[2026-08-29 15:17:51,320.320 INFO    ] ================================================
[2026-08-29 15:17:51,955.955 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:17:51
[2026-08-29 15:17:52,422.422 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:17:52,560.560 INFO    ] Initializing speech engine...
[2026-08-29 15:17:52,565.565 INFO    ] 2026-08-29 15:17:52
[2026-08-29 15:17:52,785.785 INFO    ] 2026-08-29 15:17:52
[2026-08-29 15:17:52,814.814 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:17:52,936.936 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:17:52,994.994 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:17:53,128.128 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:17:53,190.190 INFO    ] time= 29/08/2026 15:17:53
[2026-08-29 15:17:53,227.227 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:17:53,229.229 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:17:53,299.299 INFO    ] No existing commands found in stream
[2026-08-29 15:17:58,310.310 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:17:58,313.313 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-08-29 15:17:58,843.843 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:17:58,845.845 INFO    ] Checking for system updates...
[2026-08-29 15:17:58,866.866 INFO    ] 200
[2026-08-29 15:17:58,867.867 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:17:58,898.898 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:17:58,900.900 INFO    ] No update needed
[2026-08-29 15:17:58,901.901 INFO    ] Checking for camera pi updates...
[2026-08-29 15:17:58,929.929 INFO    ] 200
[2026-08-29 15:17:58,931.931 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:17:58,955.955 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:17:59,036.036 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:17:59,037.037 INFO    ] No camera update needed
[2026-08-29 15:17:59,038.038 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:17:59,040.040 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:17:59,043.043 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:17:59,045.045 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:18:01,084.084 INFO    ] ================================================
[2026-08-29 15:18:01,100.100 INFO    ] Launching Daemon at Sat Aug 29 15:18:01 IST 2026
[2026-08-29 15:18:01,111.111 INFO    ] ================================================
[2026-08-29 15:18:01,754.754 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:18:01
[2026-08-29 15:18:02,467.467 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:18:02,791.791 INFO    ] Initializing speech engine...
[2026-08-29 15:18:02,806.806 INFO    ] 2026-08-29 15:18:02
[2026-08-29 15:18:03,172.172 INFO    ] 2026-08-29 15:18:03
[2026-08-29 15:18:03,258.258 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:18:03,374.374 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:18:03,376.376 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:18:03,499.499 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:18:03,504.504 INFO    ] time= 29/08/2026 15:18:03
[2026-08-29 15:18:03,510.510 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:18:03,536.536 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:18:03,653.653 INFO    ] No existing commands found in stream
[2026-08-29 15:18:08,678.678 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:18:08,680.680 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-08-29 15:18:11,856.856 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:18:11,858.858 INFO    ] Checking for system updates...
[2026-08-29 15:18:11,893.893 INFO    ] 200
[2026-08-29 15:18:11,896.896 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:18:11,949.949 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:18:11,951.951 INFO    ] No update needed
[2026-08-29 15:18:11,953.953 INFO    ] Checking for camera pi updates...
[2026-08-29 15:18:11,990.990 INFO    ] 200
[2026-08-29 15:18:11,993.993 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:18:12,034.034 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:18:12,251.251 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:18:12,253.253 INFO    ] No camera update needed
[2026-08-29 15:18:12,255.255 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:18:12,258.258 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:18:12,263.263 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:18:12,268.268 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:18:14,308.308 INFO    ] ================================================
[2026-08-29 15:18:14,324.324 INFO    ] Launching Daemon at Sat Aug 29 15:18:14 IST 2026
[2026-08-29 15:18:14,335.335 INFO    ] ================================================
[2026-08-29 15:18:14,685.685 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:18:14
[2026-08-29 15:18:15,001.001 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:18:15,255.255 INFO    ] Initializing speech engine...
[2026-08-29 15:18:15,271.271 INFO    ] 2026-08-29 15:18:15
[2026-08-29 15:18:15,546.546 INFO    ] 2026-08-29 15:18:15
[2026-08-29 15:18:15,582.582 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:18:15,765.765 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:18:15,780.780 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:18:15,911.911 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:18:15,918.918 INFO    ] time= 29/08/2026 15:18:15
[2026-08-29 15:18:15,923.923 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:18:15,943.943 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:18:16,043.043 INFO    ] No existing commands found in stream
[2026-08-29 15:18:21,053.053 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:18:21,056.056 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-08-29 15:18:24,175.175 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:18:24,176.176 INFO    ] Checking for system updates...
[2026-08-29 15:18:24,197.197 INFO    ] 200
[2026-08-29 15:18:24,198.198 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:18:24,230.230 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:18:24,232.232 INFO    ] No update needed
[2026-08-29 15:18:24,233.233 INFO    ] Checking for camera pi updates...
[2026-08-29 15:18:24,254.254 INFO    ] 200
[2026-08-29 15:18:24,256.256 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:18:24,280.280 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:18:24,369.369 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:18:24,370.370 INFO    ] No camera update needed
[2026-08-29 15:18:24,372.372 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:18:24,373.373 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:18:24,376.376 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:18:24,379.379 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:18:26,417.417 INFO    ] ================================================
[2026-08-29 15:18:26,432.432 INFO    ] Launching Daemon at Sat Aug 29 15:18:26 IST 2026
[2026-08-29 15:18:26,443.443 INFO    ] ================================================
[2026-08-29 15:18:26,831.831 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:18:26
[2026-08-29 15:18:27,165.165 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:18:27,318.318 INFO    ] Initializing speech engine...
[2026-08-29 15:18:27,322.322 INFO    ] 2026-08-29 15:18:27
[2026-08-29 15:18:27,531.531 INFO    ] 2026-08-29 15:18:27
[2026-08-29 15:18:27,560.560 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:18:27,685.685 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:18:27,722.722 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:18:27,878.878 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:18:27,897.897 INFO    ] time= 29/08/2026 15:18:27
[2026-08-29 15:18:27,960.960 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:18:27,985.985 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:18:28,057.057 INFO    ] No existing commands found in stream
[2026-08-29 15:18:33,068.068 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:18:33,071.071 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-08-29 15:18:35,670.670 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:18:35,672.672 INFO    ] Checking for system updates...
[2026-08-29 15:18:35,693.693 INFO    ] 200
[2026-08-29 15:18:35,695.695 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:18:35,728.728 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:18:35,729.729 INFO    ] No update needed
[2026-08-29 15:18:35,731.731 INFO    ] Checking for camera pi updates...
[2026-08-29 15:18:35,753.753 INFO    ] 200
[2026-08-29 15:18:35,754.754 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:18:35,781.781 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:18:35,880.880 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:18:35,881.881 INFO    ] No camera update needed
[2026-08-29 15:18:35,883.883 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:18:35,884.884 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:18:35,887.887 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:18:35,890.890 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:18:37,929.929 INFO    ] ================================================
[2026-08-29 15:18:37,945.945 INFO    ] Launching Daemon at Sat Aug 29 15:18:37 IST 2026
[2026-08-29 15:18:37,956.956 INFO    ] ================================================
[2026-08-29 15:18:38,449.449 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:18:38
[2026-08-29 15:18:39,045.045 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:18:39,321.321 INFO    ] Initializing speech engine...
[2026-08-29 15:18:39,330.330 INFO    ] 2026-08-29 15:18:39
[2026-08-29 15:18:39,605.605 INFO    ] 2026-08-29 15:18:39
[2026-08-29 15:18:39,648.648 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:18:39,871.871 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:18:39,877.877 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:18:40,009.009 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:18:40,021.021 INFO    ] time= 29/08/2026 15:18:40
[2026-08-29 15:18:40,080.080 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:18:40,139.139 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:18:40,196.196 INFO    ] No existing commands found in stream
[2026-08-29 15:18:45,208.208 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:18:45,210.210 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-08-29 15:18:48,022.022 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:18:48,023.023 INFO    ] Checking for system updates...
[2026-08-29 15:18:48,044.044 INFO    ] 200
[2026-08-29 15:18:48,045.045 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:18:48,075.075 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:18:48,076.076 INFO    ] No update needed
[2026-08-29 15:18:48,077.077 INFO    ] Checking for camera pi updates...
[2026-08-29 15:18:48,096.096 INFO    ] 200
[2026-08-29 15:18:48,098.098 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:18:48,122.122 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:18:48,231.231 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:18:48,233.233 INFO    ] No camera update needed
[2026-08-29 15:18:48,234.234 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:18:48,235.235 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:18:48,238.238 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:18:48,241.241 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:18:50,281.281 INFO    ] ================================================
[2026-08-29 15:18:50,296.296 INFO    ] Launching Daemon at Sat Aug 29 15:18:50 IST 2026
[2026-08-29 15:18:50,308.308 INFO    ] ================================================
[2026-08-29 15:18:50,678.678 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:18:50
[2026-08-29 15:18:51,014.014 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:18:51,166.166 INFO    ] Initializing speech engine...
[2026-08-29 15:18:51,171.171 INFO    ] 2026-08-29 15:18:51
[2026-08-29 15:18:51,382.382 INFO    ] 2026-08-29 15:18:51
[2026-08-29 15:18:51,411.411 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:18:51,548.548 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:18:51,608.608 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:18:51,734.734 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:18:51,745.745 INFO    ] time= 29/08/2026 15:18:51
[2026-08-29 15:18:51,814.814 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:18:51,867.867 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:18:51,962.962 INFO    ] No existing commands found in stream
[2026-08-29 15:18:57,001.001 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:18:57,004.004 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-08-29 15:18:58,989.989 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:18:58,991.991 INFO    ] Checking for system updates...
[2026-08-29 15:18:59,012.012 INFO    ] 200
[2026-08-29 15:18:59,013.013 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:18:59,043.043 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:18:59,044.044 INFO    ] No update needed
[2026-08-29 15:18:59,046.046 INFO    ] Checking for camera pi updates...
[2026-08-29 15:18:59,067.067 INFO    ] 200
[2026-08-29 15:18:59,068.068 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:18:59,093.093 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:18:59,195.195 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:18:59,197.197 INFO    ] No camera update needed
[2026-08-29 15:18:59,198.198 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:18:59,199.199 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:18:59,202.202 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:18:59,205.205 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:19:01,261.261 INFO    ] ================================================
[2026-08-29 15:19:01,302.302 INFO    ] Launching Daemon at Sat Aug 29 15:19:01 IST 2026
[2026-08-29 15:19:01,327.327 INFO    ] ================================================
[2026-08-29 15:19:02,024.024 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:19:02
[2026-08-29 15:19:02,697.697 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:19:03,007.007 INFO    ] Initializing speech engine...
[2026-08-29 15:19:03,016.016 INFO    ] 2026-08-29 15:19:03
[2026-08-29 15:19:03,269.269 INFO    ] 2026-08-29 15:19:03
[2026-08-29 15:19:03,304.304 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:19:03,476.476 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:19:03,488.488 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:19:03,601.601 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:19:03,607.607 INFO    ] time= 29/08/2026 15:19:03
[2026-08-29 15:19:03,624.624 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:19:03,642.642 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:19:03,716.716 INFO    ] No existing commands found in stream
[2026-08-29 15:19:08,724.724 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:19:08,727.727 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-08-29 15:19:12,051.051 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:19:12,054.054 INFO    ] Checking for system updates...
[2026-08-29 15:19:12,112.112 INFO    ] 200
[2026-08-29 15:19:12,116.116 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:19:12,172.172 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:19:12,175.175 INFO    ] No update needed
[2026-08-29 15:19:12,177.177 INFO    ] Checking for camera pi updates...
[2026-08-29 15:19:12,213.213 INFO    ] 200
[2026-08-29 15:19:12,215.215 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:19:12,260.260 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:19:12,343.343 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:19:12,345.345 INFO    ] No camera update needed
[2026-08-29 15:19:12,348.348 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:19:12,350.350 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:19:12,356.356 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:19:12,361.361 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:19:14,402.402 INFO    ] ================================================
[2026-08-29 15:19:14,418.418 INFO    ] Launching Daemon at Sat Aug 29 15:19:14 IST 2026
[2026-08-29 15:19:14,429.429 INFO    ] ================================================
[2026-08-29 15:19:14,777.777 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:19:14
[2026-08-29 15:19:15,088.088 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:19:15,224.224 INFO    ] Initializing speech engine...
[2026-08-29 15:19:15,233.233 INFO    ] 2026-08-29 15:19:15
[2026-08-29 15:19:15,455.455 INFO    ] 2026-08-29 15:19:15
[2026-08-29 15:19:15,486.486 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:19:15,616.616 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:19:15,659.659 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:19:15,777.777 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:19:15,825.825 INFO    ] time= 29/08/2026 15:19:15
[2026-08-29 15:19:15,852.852 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:19:15,909.909 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:19:16,005.005 INFO    ] No existing commands found in stream
[2026-08-29 15:19:21,016.016 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:19:21,018.018 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-08-29 15:19:21,793.793 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:19:21,794.794 INFO    ] Checking for system updates...
[2026-08-29 15:19:21,815.815 INFO    ] 200
[2026-08-29 15:19:21,816.816 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:19:21,847.847 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:19:21,849.849 INFO    ] No update needed
[2026-08-29 15:19:21,850.850 INFO    ] Checking for camera pi updates...
[2026-08-29 15:19:21,869.869 INFO    ] 200
[2026-08-29 15:19:21,870.870 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:19:21,904.904 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:19:21,982.982 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:19:21,985.985 INFO    ] No camera update needed
[2026-08-29 15:19:21,987.987 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:19:21,989.989 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:19:21,995.995 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:19:22,000.000 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:19:24,040.040 INFO    ] ================================================
[2026-08-29 15:19:24,056.056 INFO    ] Launching Daemon at Sat Aug 29 15:19:24 IST 2026
[2026-08-29 15:19:24,067.067 INFO    ] ================================================
[2026-08-29 15:19:24,635.635 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:19:24
[2026-08-29 15:19:25,123.123 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:19:25,256.256 INFO    ] Initializing speech engine...
[2026-08-29 15:19:25,268.268 INFO    ] 2026-08-29 15:19:25
[2026-08-29 15:19:25,476.476 INFO    ] 2026-08-29 15:19:25
[2026-08-29 15:19:25,505.505 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:19:25,690.690 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:19:25,693.693 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:19:25,836.836 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:19:25,894.894 INFO    ] time= 29/08/2026 15:19:25
[2026-08-29 15:19:25,922.922 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:19:25,929.929 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:19:25,996.996 INFO    ] No existing commands found in stream
[2026-08-29 15:19:31,007.007 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:19:31,009.009 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-08-29 15:19:32,638.638 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:19:32,640.640 INFO    ] Checking for system updates...
[2026-08-29 15:19:32,676.676 INFO    ] 200
[2026-08-29 15:19:32,678.678 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:19:32,736.736 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:19:32,739.739 INFO    ] No update needed
[2026-08-29 15:19:32,741.741 INFO    ] Checking for camera pi updates...
[2026-08-29 15:19:32,775.775 INFO    ] 200
[2026-08-29 15:19:32,777.777 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:19:32,821.821 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:19:32,879.879 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:19:32,882.882 INFO    ] No camera update needed
[2026-08-29 15:19:32,884.884 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:19:32,886.886 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:19:32,892.892 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:19:32,896.896 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:19:34,940.940 INFO    ] ================================================
[2026-08-29 15:19:34,956.956 INFO    ] Launching Daemon at Sat Aug 29 15:19:34 IST 2026
[2026-08-29 15:19:34,967.967 INFO    ] ================================================
[2026-08-29 15:19:35,327.327 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:19:35
[2026-08-29 15:19:35,643.643 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:19:35,878.878 INFO    ] Initializing speech engine...
[2026-08-29 15:19:35,884.884 INFO    ] 2026-08-29 15:19:35
[2026-08-29 15:19:36,145.145 INFO    ] 2026-08-29 15:19:36
[2026-08-29 15:19:36,200.200 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:19:36,423.423 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:19:36,432.432 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:19:36,565.565 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:19:36,572.572 INFO    ] time= 29/08/2026 15:19:36
[2026-08-29 15:19:36,631.631 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:19:36,686.686 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:19:36,752.752 INFO    ] No existing commands found in stream
[2026-08-29 15:19:41,764.764 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:19:41,767.767 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-08-29 15:19:42,972.972 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:19:42,973.973 INFO    ] Checking for system updates...
[2026-08-29 15:19:42,994.994 INFO    ] 200
[2026-08-29 15:19:42,995.995 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:19:43,025.025 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:19:43,026.026 INFO    ] No update needed
[2026-08-29 15:19:43,027.027 INFO    ] Checking for camera pi updates...
[2026-08-29 15:19:43,049.049 INFO    ] 200
[2026-08-29 15:19:43,050.050 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:19:43,073.073 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:19:43,145.145 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:19:43,147.147 INFO    ] No camera update needed
[2026-08-29 15:19:43,148.148 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:19:43,149.149 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:19:43,152.152 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:19:43,155.155 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:19:45,197.197 INFO    ] ================================================
[2026-08-29 15:19:45,213.213 INFO    ] Launching Daemon at Sat Aug 29 15:19:45 IST 2026
[2026-08-29 15:19:45,224.224 INFO    ] ================================================
[2026-08-29 15:19:45,595.595 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:19:45
[2026-08-29 15:19:45,931.931 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:19:46,075.075 INFO    ] Initializing speech engine...
[2026-08-29 15:19:46,085.085 INFO    ] 2026-08-29 15:19:46
[2026-08-29 15:19:46,293.293 INFO    ] 2026-08-29 15:19:46
[2026-08-29 15:19:46,322.322 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:19:46,445.445 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:19:46,507.507 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:19:46,643.643 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:19:46,711.711 INFO    ] time= 29/08/2026 15:19:46
[2026-08-29 15:19:46,738.738 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:19:46,745.745 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:19:46,810.810 INFO    ] No existing commands found in stream
[2026-08-29 15:19:51,845.845 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:19:51,854.854 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 15:19:53,139.139 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:19:53,141.141 INFO    ] Checking for system updates...
[2026-08-29 15:19:53,161.161 INFO    ] 200
[2026-08-29 15:19:53,163.163 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:19:53,192.192 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:19:53,194.194 INFO    ] No update needed
[2026-08-29 15:19:53,195.195 INFO    ] Checking for camera pi updates...
[2026-08-29 15:19:53,214.214 INFO    ] 200
[2026-08-29 15:19:53,215.215 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:19:53,238.238 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:19:53,332.332 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:19:53,333.333 INFO    ] No camera update needed
[2026-08-29 15:19:53,334.334 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:19:53,336.336 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:19:53,338.338 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:19:53,341.341 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:19:55,380.380 INFO    ] ================================================
[2026-08-29 15:19:55,397.397 INFO    ] Launching Daemon at Sat Aug 29 15:19:55 IST 2026
[2026-08-29 15:19:55,408.408 INFO    ] ================================================
[2026-08-29 15:19:55,776.776 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:19:55
[2026-08-29 15:19:56,091.091 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:19:56,234.234 INFO    ] Initializing speech engine...
[2026-08-29 15:19:56,238.238 INFO    ] 2026-08-29 15:19:56
[2026-08-29 15:19:56,446.446 INFO    ] 2026-08-29 15:19:56
[2026-08-29 15:19:56,476.476 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:19:56,628.628 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:19:56,645.645 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:19:56,787.787 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:19:56,814.814 INFO    ] time= 29/08/2026 15:19:56
[2026-08-29 15:19:56,821.821 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:19:56,829.829 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:19:56,925.925 INFO    ] No existing commands found in stream
[2026-08-29 15:20:01,941.941 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:20:01,945.945 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-08-29 15:20:07,486.486 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:20:07,487.487 INFO    ] Checking for system updates...
[2026-08-29 15:20:07,507.507 INFO    ] 200
[2026-08-29 15:20:07,509.509 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:20:07,539.539 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:20:07,541.541 INFO    ] No update needed
[2026-08-29 15:20:07,542.542 INFO    ] Checking for camera pi updates...
[2026-08-29 15:20:07,561.561 INFO    ] 200
[2026-08-29 15:20:07,562.562 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:20:07,588.588 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:20:07,686.686 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:20:07,687.687 INFO    ] No camera update needed
[2026-08-29 15:20:07,689.689 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:20:07,690.690 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:20:07,693.693 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:20:07,695.695 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:20:09,738.738 INFO    ] ================================================
[2026-08-29 15:20:09,754.754 INFO    ] Launching Daemon at Sat Aug 29 15:20:09 IST 2026
[2026-08-29 15:20:09,765.765 INFO    ] ================================================
[2026-08-29 15:20:10,127.127 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:20:10
[2026-08-29 15:20:10,445.445 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:20:10,589.589 INFO    ] Initializing speech engine...
[2026-08-29 15:20:10,594.594 INFO    ] 2026-08-29 15:20:10
[2026-08-29 15:20:10,798.798 INFO    ] 2026-08-29 15:20:10
[2026-08-29 15:20:10,827.827 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:20:10,953.953 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:20:10,958.958 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:20:11,107.107 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:20:11,167.167 INFO    ] time= 29/08/2026 15:20:11
[2026-08-29 15:20:11,188.188 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:20:11,195.195 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:20:11,313.313 INFO    ] No existing commands found in stream
[2026-08-29 15:20:16,338.338 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:20:16,341.341 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-08-29 15:20:20,383.383 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:20:20,386.386 INFO    ] Checking for system updates...
[2026-08-29 15:20:20,421.421 INFO    ] 200
[2026-08-29 15:20:20,424.424 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:20:20,476.476 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:20:20,478.478 INFO    ] No update needed
[2026-08-29 15:20:20,481.481 INFO    ] Checking for camera pi updates...
[2026-08-29 15:20:20,521.521 INFO    ] 200
[2026-08-29 15:20:20,524.524 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:20:20,570.570 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:20:20,748.748 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:20:20,751.751 INFO    ] No camera update needed
[2026-08-29 15:20:20,754.754 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:20:20,756.756 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:20:20,761.761 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:20:20,766.766 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:20:22,808.808 INFO    ] ================================================
[2026-08-29 15:20:22,824.824 INFO    ] Launching Daemon at Sat Aug 29 15:20:22 IST 2026
[2026-08-29 15:20:22,835.835 INFO    ] ================================================
[2026-08-29 15:20:23,209.209 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:20:23
[2026-08-29 15:20:23,528.528 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:20:23,676.676 INFO    ] Initializing speech engine...
[2026-08-29 15:20:23,682.682 INFO    ] 2026-08-29 15:20:23
[2026-08-29 15:20:23,900.900 INFO    ] 2026-08-29 15:20:23
[2026-08-29 15:20:23,931.931 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:20:24,063.063 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:20:24,097.097 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:20:24,237.237 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:20:24,277.277 INFO    ] time= 29/08/2026 15:20:24
[2026-08-29 15:20:24,318.318 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:20:24,360.360 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:20:24,474.474 INFO    ] No existing commands found in stream
[2026-08-29 15:20:29,503.503 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:20:29,506.506 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-08-29 15:20:33,833.833 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:20:33,834.834 INFO    ] Checking for system updates...
[2026-08-29 15:20:33,855.855 INFO    ] 200
[2026-08-29 15:20:33,857.857 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:20:33,887.887 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:20:33,889.889 INFO    ] No update needed
[2026-08-29 15:20:33,890.890 INFO    ] Checking for camera pi updates...
[2026-08-29 15:20:33,910.910 INFO    ] 200
[2026-08-29 15:20:33,911.911 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:20:33,936.936 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:20:34,022.022 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:20:34,023.023 INFO    ] No camera update needed
[2026-08-29 15:20:34,025.025 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:20:34,026.026 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:20:34,029.029 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:20:34,032.032 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:20:36,070.070 INFO    ] ================================================
[2026-08-29 15:20:36,086.086 INFO    ] Launching Daemon at Sat Aug 29 15:20:36 IST 2026
[2026-08-29 15:20:36,097.097 INFO    ] ================================================
[2026-08-29 15:20:36,438.438 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:20:36
[2026-08-29 15:20:36,751.751 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:20:36,887.887 INFO    ] Initializing speech engine...
[2026-08-29 15:20:36,898.898 INFO    ] 2026-08-29 15:20:36
[2026-08-29 15:20:37,106.106 INFO    ] 2026-08-29 15:20:37
[2026-08-29 15:20:37,190.190 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:20:37,337.337 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:20:37,347.347 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:20:37,483.483 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:20:37,504.504 INFO    ] time= 29/08/2026 15:20:37
[2026-08-29 15:20:37,568.568 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:20:37,617.617 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:20:37,667.667 INFO    ] No existing commands found in stream
[2026-08-29 15:20:42,679.679 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:20:42,682.682 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-08-29 15:20:46,645.645 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:20:46,646.646 INFO    ] Checking for system updates...
[2026-08-29 15:20:46,667.667 INFO    ] 200
[2026-08-29 15:20:46,669.669 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:20:46,701.701 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:20:46,704.704 INFO    ] No update needed
[2026-08-29 15:20:46,706.706 INFO    ] Checking for camera pi updates...
[2026-08-29 15:20:46,740.740 INFO    ] 200
[2026-08-29 15:20:46,742.742 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:20:46,789.789 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:20:46,881.881 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:20:46,884.884 INFO    ] No camera update needed
[2026-08-29 15:20:46,886.886 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:20:46,889.889 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:20:46,894.894 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:20:46,899.899 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:20:48,940.940 INFO    ] ================================================
[2026-08-29 15:20:48,958.958 INFO    ] Launching Daemon at Sat Aug 29 15:20:48 IST 2026
[2026-08-29 15:20:48,970.970 INFO    ] ================================================
[2026-08-29 15:20:49,563.563 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:20:49
[2026-08-29 15:20:50,073.073 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:20:50,223.223 INFO    ] Initializing speech engine...
[2026-08-29 15:20:50,233.233 INFO    ] 2026-08-29 15:20:50
[2026-08-29 15:20:50,524.524 INFO    ] 2026-08-29 15:20:50
[2026-08-29 15:20:50,569.569 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:20:50,794.794 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:20:50,801.801 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:20:50,935.935 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:20:50,975.975 INFO    ] time= 29/08/2026 15:20:50
[2026-08-29 15:20:51,040.040 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:20:51,068.068 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:20:51,127.127 INFO    ] No existing commands found in stream
[2026-08-29 15:20:56,153.153 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:20:56,156.156 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 15:20:58,818.818 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:20:58,819.819 INFO    ] Checking for system updates...
[2026-08-29 15:20:58,839.839 INFO    ] 200
[2026-08-29 15:20:58,841.841 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:20:58,872.872 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:20:58,873.873 INFO    ] No update needed
[2026-08-29 15:20:58,874.874 INFO    ] Checking for camera pi updates...
[2026-08-29 15:20:58,895.895 INFO    ] 200
[2026-08-29 15:20:58,897.897 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:20:58,921.921 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:20:59,030.030 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:20:59,031.031 INFO    ] No camera update needed
[2026-08-29 15:20:59,032.032 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:20:59,033.033 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:20:59,036.036 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:20:59,039.039 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:21:01,078.078 INFO    ] ================================================
[2026-08-29 15:21:01,094.094 INFO    ] Launching Daemon at Sat Aug 29 15:21:01 IST 2026
[2026-08-29 15:21:01,105.105 INFO    ] ================================================
[2026-08-29 15:21:01,835.835 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:21:01
[2026-08-29 15:21:02,478.478 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:21:02,842.842 INFO    ] Initializing speech engine...
[2026-08-29 15:21:02,851.851 INFO    ] 2026-08-29 15:21:02
[2026-08-29 15:21:03,131.131 INFO    ] 2026-08-29 15:21:03
[2026-08-29 15:21:03,174.174 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:21:03,340.340 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:21:03,352.352 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:21:03,495.495 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:21:03,501.501 INFO    ] time= 29/08/2026 15:21:03
[2026-08-29 15:21:03,508.508 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:21:03,547.547 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:21:03,659.659 INFO    ] No existing commands found in stream
[2026-08-29 15:21:08,689.689 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:21:08,691.691 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-08-29 15:21:11,281.281 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:21:11,282.282 INFO    ] Checking for system updates...
[2026-08-29 15:21:11,303.303 INFO    ] 200
[2026-08-29 15:21:11,304.304 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:21:11,334.334 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:21:11,335.335 INFO    ] No update needed
[2026-08-29 15:21:11,337.337 INFO    ] Checking for camera pi updates...
[2026-08-29 15:21:11,356.356 INFO    ] 200
[2026-08-29 15:21:11,357.357 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:21:11,380.380 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:21:11,480.480 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:21:11,482.482 INFO    ] No camera update needed
[2026-08-29 15:21:11,483.483 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:21:11,485.485 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:21:11,489.489 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:21:11,492.492 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:21:13,531.531 INFO    ] ================================================
[2026-08-29 15:21:13,548.548 INFO    ] Launching Daemon at Sat Aug 29 15:21:13 IST 2026
[2026-08-29 15:21:13,561.561 INFO    ] ================================================
[2026-08-29 15:21:14,130.130 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:21:14
[2026-08-29 15:21:14,680.680 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:21:14,912.912 INFO    ] Initializing speech engine...
[2026-08-29 15:21:14,923.923 INFO    ] 2026-08-29 15:21:14
[2026-08-29 15:21:15,180.180 INFO    ] 2026-08-29 15:21:15
[2026-08-29 15:21:15,233.233 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:21:15,377.377 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:21:15,389.389 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:21:15,534.534 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:21:15,542.542 INFO    ] time= 29/08/2026 15:21:15
[2026-08-29 15:21:15,551.551 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:21:15,591.591 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:21:15,705.705 INFO    ] No existing commands found in stream
[2026-08-29 15:21:20,725.725 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:21:20,728.728 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-08-29 15:21:22,732.732 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:21:22,734.734 INFO    ] Checking for system updates...
[2026-08-29 15:21:22,771.771 INFO    ] 200
[2026-08-29 15:21:22,774.774 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:21:22,827.827 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:21:22,829.829 INFO    ] No update needed
[2026-08-29 15:21:22,831.831 INFO    ] Checking for camera pi updates...
[2026-08-29 15:21:22,865.865 INFO    ] 200
[2026-08-29 15:21:22,868.868 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:21:22,910.910 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:21:23,014.014 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:21:23,016.016 INFO    ] No camera update needed
[2026-08-29 15:21:23,019.019 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:21:23,021.021 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:21:23,026.026 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:21:23,031.031 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:21:25,072.072 INFO    ] ================================================
[2026-08-29 15:21:25,088.088 INFO    ] Launching Daemon at Sat Aug 29 15:21:25 IST 2026
[2026-08-29 15:21:25,100.100 INFO    ] ================================================
[2026-08-29 15:21:25,460.460 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:21:25
[2026-08-29 15:21:25,777.777 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:21:25,916.916 INFO    ] Initializing speech engine...
[2026-08-29 15:21:25,926.926 INFO    ] 2026-08-29 15:21:25
[2026-08-29 15:21:26,139.139 INFO    ] 2026-08-29 15:21:26
[2026-08-29 15:21:26,220.220 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:21:26,380.380 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:21:26,389.389 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:21:26,545.545 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:21:26,558.558 INFO    ] time= 29/08/2026 15:21:26
[2026-08-29 15:21:26,627.627 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:21:26,646.646 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:21:26,701.701 INFO    ] No existing commands found in stream
[2026-08-29 15:21:31,721.721 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:21:31,723.723 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 15:21:32,334.334 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:21:32,337.337 INFO    ] Checking for system updates...
[2026-08-29 15:21:32,380.380 INFO    ] 200
[2026-08-29 15:21:32,383.383 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:21:32,444.444 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:21:32,447.447 INFO    ] No update needed
[2026-08-29 15:21:32,449.449 INFO    ] Checking for camera pi updates...
[2026-08-29 15:21:32,484.484 INFO    ] 200
[2026-08-29 15:21:32,486.486 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:21:32,528.528 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:21:32,621.621 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:21:32,624.624 INFO    ] No camera update needed
[2026-08-29 15:21:32,626.626 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:21:32,628.628 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:21:32,634.634 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:21:32,639.639 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:21:34,681.681 INFO    ] ================================================
[2026-08-29 15:21:34,697.697 INFO    ] Launching Daemon at Sat Aug 29 15:21:34 IST 2026
[2026-08-29 15:21:34,708.708 INFO    ] ================================================
[2026-08-29 15:21:35,106.106 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:21:35
[2026-08-29 15:21:35,679.679 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:21:35,952.952 INFO    ] Initializing speech engine...
[2026-08-29 15:21:35,957.957 INFO    ] 2026-08-29 15:21:35
[2026-08-29 15:21:36,216.216 INFO    ] 2026-08-29 15:21:36
[2026-08-29 15:21:36,273.273 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:21:36,427.427 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:21:36,441.441 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:21:36,555.555 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:21:36,562.562 INFO    ] time= 29/08/2026 15:21:36
[2026-08-29 15:21:36,585.585 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:21:36,591.591 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:21:36,713.713 INFO    ] No existing commands found in stream
[2026-08-29 15:21:41,724.724 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:21:41,727.727 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-08-29 15:21:42,313.313 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:21:42,314.314 INFO    ] Checking for system updates...
[2026-08-29 15:21:42,335.335 INFO    ] 200
[2026-08-29 15:21:42,336.336 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:21:42,369.369 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:21:42,370.370 INFO    ] No update needed
[2026-08-29 15:21:42,371.371 INFO    ] Checking for camera pi updates...
[2026-08-29 15:21:42,391.391 INFO    ] 200
[2026-08-29 15:21:42,392.392 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:21:42,417.417 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:21:42,502.502 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:21:42,503.503 INFO    ] No camera update needed
[2026-08-29 15:21:42,504.504 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:21:42,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:21:42,508.508 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:21:42,511.511 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:21:44,550.550 INFO    ] ================================================
[2026-08-29 15:21:44,566.566 INFO    ] Launching Daemon at Sat Aug 29 15:21:44 IST 2026
[2026-08-29 15:21:44,577.577 INFO    ] ================================================
[2026-08-29 15:21:44,938.938 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:21:44
[2026-08-29 15:21:45,531.531 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:21:45,783.783 INFO    ] Initializing speech engine...
[2026-08-29 15:21:45,795.795 INFO    ] 2026-08-29 15:21:45
[2026-08-29 15:21:46,063.063 INFO    ] 2026-08-29 15:21:46
[2026-08-29 15:21:46,099.099 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:21:46,277.277 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:21:46,290.290 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:21:46,402.402 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:21:46,407.407 INFO    ] time= 29/08/2026 15:21:46
[2026-08-29 15:21:46,426.426 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:21:46,446.446 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:21:46,520.520 INFO    ] No existing commands found in stream
[2026-08-29 15:21:51,533.533 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:21:51,536.536 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-08-29 15:21:55,465.465 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:21:55,466.466 INFO    ] Checking for system updates...
[2026-08-29 15:21:55,487.487 INFO    ] 200
[2026-08-29 15:21:55,488.488 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:21:55,518.518 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:21:55,520.520 INFO    ] No update needed
[2026-08-29 15:21:55,521.521 INFO    ] Checking for camera pi updates...
[2026-08-29 15:21:55,540.540 INFO    ] 200
[2026-08-29 15:21:55,542.542 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:21:55,565.565 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:21:55,639.639 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:21:55,641.641 INFO    ] No camera update needed
[2026-08-29 15:21:55,642.642 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:21:55,643.643 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:21:55,646.646 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:21:55,649.649 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:21:57,689.689 INFO    ] ================================================
[2026-08-29 15:21:57,705.705 INFO    ] Launching Daemon at Sat Aug 29 15:21:57 IST 2026
[2026-08-29 15:21:57,717.717 INFO    ] ================================================
[2026-08-29 15:21:58,082.082 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:21:58
[2026-08-29 15:21:58,393.393 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:21:58,525.525 INFO    ] Initializing speech engine...
[2026-08-29 15:21:58,530.530 INFO    ] 2026-08-29 15:21:58
[2026-08-29 15:21:58,760.760 INFO    ] 2026-08-29 15:21:58
[2026-08-29 15:21:58,791.791 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:21:58,915.915 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:21:58,936.936 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:21:59,088.088 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:21:59,138.138 INFO    ] time= 29/08/2026 15:21:59
[2026-08-29 15:21:59,193.193 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:21:59,200.200 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:21:59,259.259 INFO    ] No existing commands found in stream
[2026-08-29 15:22:04,271.271 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:22:04,274.274 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-08-29 15:22:04,658.658 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:22:04,661.661 INFO    ] Checking for system updates...
[2026-08-29 15:22:04,697.697 INFO    ] 200
[2026-08-29 15:22:04,700.700 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:22:04,755.755 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:22:04,758.758 INFO    ] No update needed
[2026-08-29 15:22:04,761.761 INFO    ] Checking for camera pi updates...
[2026-08-29 15:22:04,796.796 INFO    ] 200
[2026-08-29 15:22:04,799.799 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:22:04,846.846 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:22:04,952.952 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:22:04,955.955 INFO    ] No camera update needed
[2026-08-29 15:22:04,958.958 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:22:04,961.961 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:22:04,967.967 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:22:04,973.973 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:22:07,015.015 INFO    ] ================================================
[2026-08-29 15:22:07,031.031 INFO    ] Launching Daemon at Sat Aug 29 15:22:07 IST 2026
[2026-08-29 15:22:07,042.042 INFO    ] ================================================
[2026-08-29 15:22:07,389.389 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:22:07
[2026-08-29 15:22:07,709.709 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:22:07,853.853 INFO    ] Initializing speech engine...
[2026-08-29 15:22:07,858.858 INFO    ] 2026-08-29 15:22:07
[2026-08-29 15:22:08,063.063 INFO    ] 2026-08-29 15:22:08
[2026-08-29 15:22:08,091.091 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:22:08,219.219 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:22:08,277.277 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:22:08,414.414 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:22:08,480.480 INFO    ] time= 29/08/2026 15:22:08
[2026-08-29 15:22:08,505.505 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:22:08,511.511 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:22:08,576.576 INFO    ] No existing commands found in stream
[2026-08-29 15:22:13,587.587 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:22:13,590.590 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-08-29 15:22:14,120.120 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:22:14,123.123 INFO    ] Checking for system updates...
[2026-08-29 15:22:14,159.159 INFO    ] 200
[2026-08-29 15:22:14,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:22:14,213.213 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:22:14,216.216 INFO    ] No update needed
[2026-08-29 15:22:14,218.218 INFO    ] Checking for camera pi updates...
[2026-08-29 15:22:14,252.252 INFO    ] 200
[2026-08-29 15:22:14,254.254 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:22:14,295.295 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:22:14,372.372 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:22:14,374.374 INFO    ] No camera update needed
[2026-08-29 15:22:14,375.375 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:22:14,376.376 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:22:14,379.379 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:22:14,382.382 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:22:16,420.420 INFO    ] ================================================
[2026-08-29 15:22:16,436.436 INFO    ] Launching Daemon at Sat Aug 29 15:22:16 IST 2026
[2026-08-29 15:22:16,448.448 INFO    ] ================================================
[2026-08-29 15:22:16,808.808 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:22:16
[2026-08-29 15:22:17,408.408 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:22:17,688.688 INFO    ] Initializing speech engine...
[2026-08-29 15:22:17,696.696 INFO    ] 2026-08-29 15:22:17
[2026-08-29 15:22:17,958.958 INFO    ] 2026-08-29 15:22:17
[2026-08-29 15:22:18,011.011 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:22:18,231.231 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:22:18,240.240 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:22:18,373.373 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:22:18,395.395 INFO    ] time= 29/08/2026 15:22:18
[2026-08-29 15:22:18,449.449 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:22:18,506.506 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:22:18,560.560 INFO    ] No existing commands found in stream
[2026-08-29 15:22:23,573.573 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:22:23,575.575 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-08-29 15:22:25,243.243 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:22:25,245.245 INFO    ] Checking for system updates...
[2026-08-29 15:22:25,265.265 INFO    ] 200
[2026-08-29 15:22:25,267.267 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:22:25,299.299 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:22:25,300.300 INFO    ] No update needed
[2026-08-29 15:22:25,302.302 INFO    ] Checking for camera pi updates...
[2026-08-29 15:22:25,321.321 INFO    ] 200
[2026-08-29 15:22:25,322.322 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:22:25,345.345 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:22:25,496.496 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:22:25,498.498 INFO    ] No camera update needed
[2026-08-29 15:22:25,499.499 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:22:25,500.500 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:22:25,503.503 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:22:25,506.506 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:22:27,544.544 INFO    ] ================================================
[2026-08-29 15:22:27,559.559 INFO    ] Launching Daemon at Sat Aug 29 15:22:27 IST 2026
[2026-08-29 15:22:27,570.570 INFO    ] ================================================
[2026-08-29 15:22:28,112.112 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:22:28
[2026-08-29 15:22:28,700.700 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:22:28,956.956 INFO    ] Initializing speech engine...
[2026-08-29 15:22:28,969.969 INFO    ] 2026-08-29 15:22:28
[2026-08-29 15:22:29,260.260 INFO    ] 2026-08-29 15:22:29
[2026-08-29 15:22:29,295.295 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:22:29,442.442 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:22:29,448.448 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:22:29,605.605 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:22:29,615.615 INFO    ] time= 29/08/2026 15:22:29
[2026-08-29 15:22:29,619.619 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:22:29,624.624 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:22:29,691.691 INFO    ] No existing commands found in stream
[2026-08-29 15:22:34,704.704 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:22:34,707.707 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-08-29 15:22:38,973.973 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:22:38,974.974 INFO    ] Checking for system updates...
[2026-08-29 15:22:38,994.994 INFO    ] 200
[2026-08-29 15:22:38,996.996 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:22:39,026.026 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:22:39,027.027 INFO    ] No update needed
[2026-08-29 15:22:39,028.028 INFO    ] Checking for camera pi updates...
[2026-08-29 15:22:39,047.047 INFO    ] 200
[2026-08-29 15:22:39,048.048 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:22:39,071.071 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:22:39,169.169 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:22:39,171.171 INFO    ] No camera update needed
[2026-08-29 15:22:39,173.173 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:22:39,176.176 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:22:39,181.181 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:22:39,186.186 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:22:41,226.226 INFO    ] ================================================
[2026-08-29 15:22:41,245.245 INFO    ] Launching Daemon at Sat Aug 29 15:22:41 IST 2026
[2026-08-29 15:22:41,255.255 INFO    ] ================================================
[2026-08-29 15:22:41,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:22:41
[2026-08-29 15:22:42,326.326 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:22:42,465.465 INFO    ] Initializing speech engine...
[2026-08-29 15:22:42,474.474 INFO    ] 2026-08-29 15:22:42
[2026-08-29 15:22:42,704.704 INFO    ] 2026-08-29 15:22:42
[2026-08-29 15:22:42,740.740 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:22:42,911.911 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:22:42,925.925 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:22:43,067.067 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:22:43,074.074 INFO    ] time= 29/08/2026 15:22:43
[2026-08-29 15:22:43,083.083 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:22:43,122.122 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:22:43,255.255 INFO    ] No existing commands found in stream
[2026-08-29 15:22:48,283.283 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:22:48,286.286 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-08-29 15:22:51,979.979 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:22:51,980.980 INFO    ] Checking for system updates...
[2026-08-29 15:22:52,000.000 INFO    ] 200
[2026-08-29 15:22:52,002.002 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:22:52,032.032 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:22:52,033.033 INFO    ] No update needed
[2026-08-29 15:22:52,034.034 INFO    ] Checking for camera pi updates...
[2026-08-29 15:22:52,054.054 INFO    ] 200
[2026-08-29 15:22:52,055.055 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:22:52,080.080 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:22:52,164.164 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:22:52,166.166 INFO    ] No camera update needed
[2026-08-29 15:22:52,169.169 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:22:52,171.171 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:22:52,176.176 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:22:52,181.181 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:22:54,224.224 INFO    ] ================================================
[2026-08-29 15:22:54,239.239 INFO    ] Launching Daemon at Sat Aug 29 15:22:54 IST 2026
[2026-08-29 15:22:54,250.250 INFO    ] ================================================
[2026-08-29 15:22:54,822.822 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:22:54
[2026-08-29 15:22:55,321.321 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:22:55,459.459 INFO    ] Initializing speech engine...
[2026-08-29 15:22:55,470.470 INFO    ] 2026-08-29 15:22:55
[2026-08-29 15:22:55,675.675 INFO    ] 2026-08-29 15:22:55
[2026-08-29 15:22:55,739.739 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:22:55,894.894 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:22:55,899.899 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:22:56,034.034 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:22:56,061.061 INFO    ] time= 29/08/2026 15:22:56
[2026-08-29 15:22:56,110.110 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:22:56,164.164 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:22:56,221.221 INFO    ] No existing commands found in stream
[2026-08-29 15:23:01,234.234 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:23:01,237.237 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-08-29 15:23:02,662.662 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:23:02,666.666 INFO    ] Checking for system updates...
[2026-08-29 15:23:02,702.702 INFO    ] 200
[2026-08-29 15:23:02,705.705 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:23:02,778.778 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:23:02,781.781 INFO    ] No update needed
[2026-08-29 15:23:02,784.784 INFO    ] Checking for camera pi updates...
[2026-08-29 15:23:02,820.820 INFO    ] 200
[2026-08-29 15:23:02,823.823 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:23:02,863.863 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:23:02,944.944 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:23:02,946.946 INFO    ] No camera update needed
[2026-08-29 15:23:02,948.948 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:23:02,950.950 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:23:02,956.956 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:23:02,961.961 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:23:05,001.001 INFO    ] ================================================
[2026-08-29 15:23:05,016.016 INFO    ] Launching Daemon at Sat Aug 29 15:23:05 IST 2026
[2026-08-29 15:23:05,026.026 INFO    ] ================================================
[2026-08-29 15:23:05,569.569 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:23:05
[2026-08-29 15:23:06,182.182 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:23:06,460.460 INFO    ] Initializing speech engine...
[2026-08-29 15:23:06,467.467 INFO    ] 2026-08-29 15:23:06
[2026-08-29 15:23:06,728.728 INFO    ] 2026-08-29 15:23:06
[2026-08-29 15:23:06,782.782 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:23:07,029.029 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:23:07,039.039 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:23:07,188.188 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:23:07,205.205 INFO    ] time= 29/08/2026 15:23:07
[2026-08-29 15:23:07,265.265 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:23:07,325.325 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:23:07,387.387 INFO    ] No existing commands found in stream
[2026-08-29 15:23:12,399.399 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:23:12,401.401 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-08-29 15:23:16,184.184 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:23:16,185.185 INFO    ] Checking for system updates...
[2026-08-29 15:23:16,206.206 INFO    ] 200
[2026-08-29 15:23:16,208.208 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:23:16,240.240 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:23:16,241.241 INFO    ] No update needed
[2026-08-29 15:23:16,243.243 INFO    ] Checking for camera pi updates...
[2026-08-29 15:23:16,262.262 INFO    ] 200
[2026-08-29 15:23:16,264.264 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:23:16,290.290 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:23:16,378.378 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:23:16,379.379 INFO    ] No camera update needed
[2026-08-29 15:23:16,381.381 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:23:16,382.382 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:23:16,385.385 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:23:16,388.388 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:23:18,425.425 INFO    ] ================================================
[2026-08-29 15:23:18,440.440 INFO    ] Launching Daemon at Sat Aug 29 15:23:18 IST 2026
[2026-08-29 15:23:18,451.451 INFO    ] ================================================
[2026-08-29 15:23:18,783.783 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:23:18
[2026-08-29 15:23:19,100.100 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:23:19,244.244 INFO    ] Initializing speech engine...
[2026-08-29 15:23:19,249.249 INFO    ] 2026-08-29 15:23:19
[2026-08-29 15:23:19,479.479 INFO    ] 2026-08-29 15:23:19
[2026-08-29 15:23:19,535.535 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:23:19,696.696 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:23:19,705.705 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:23:19,871.871 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:23:19,903.903 INFO    ] time= 29/08/2026 15:23:19
[2026-08-29 15:23:19,908.908 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:23:19,927.927 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:23:20,036.036 INFO    ] No existing commands found in stream
[2026-08-29 15:23:25,064.064 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:23:25,067.067 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-08-29 15:23:27,139.139 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:23:27,141.141 INFO    ] Checking for system updates...
[2026-08-29 15:23:27,161.161 INFO    ] 200
[2026-08-29 15:23:27,163.163 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:23:27,193.193 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:23:27,194.194 INFO    ] No update needed
[2026-08-29 15:23:27,195.195 INFO    ] Checking for camera pi updates...
[2026-08-29 15:23:27,215.215 INFO    ] 200
[2026-08-29 15:23:27,216.216 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:23:27,239.239 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:23:27,348.348 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:23:27,350.350 INFO    ] No camera update needed
[2026-08-29 15:23:27,351.351 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:23:27,352.352 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:23:27,355.355 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:23:27,358.358 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:23:29,396.396 INFO    ] ================================================
[2026-08-29 15:23:29,411.411 INFO    ] Launching Daemon at Sat Aug 29 15:23:29 IST 2026
[2026-08-29 15:23:29,421.421 INFO    ] ================================================
[2026-08-29 15:23:30,010.010 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:23:30
[2026-08-29 15:23:30,629.629 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:23:30,888.888 INFO    ] Initializing speech engine...
[2026-08-29 15:23:30,894.894 INFO    ] 2026-08-29 15:23:30
[2026-08-29 15:23:31,179.179 INFO    ] 2026-08-29 15:23:31
[2026-08-29 15:23:31,224.224 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:23:31,387.387 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:23:31,393.393 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:23:31,537.537 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:23:31,548.548 INFO    ] time= 29/08/2026 15:23:31
[2026-08-29 15:23:31,553.553 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:23:31,575.575 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:23:31,625.625 INFO    ] No existing commands found in stream
[2026-08-29 15:23:36,636.636 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:23:36,639.639 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-08-29 15:23:37,479.479 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:23:37,480.480 INFO    ] Checking for system updates...
[2026-08-29 15:23:37,501.501 INFO    ] 200
[2026-08-29 15:23:37,503.503 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:23:37,535.535 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:23:37,536.536 INFO    ] No update needed
[2026-08-29 15:23:37,537.537 INFO    ] Checking for camera pi updates...
[2026-08-29 15:23:37,556.556 INFO    ] 200
[2026-08-29 15:23:37,558.558 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:23:37,580.580 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:23:37,657.657 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:23:37,658.658 INFO    ] No camera update needed
[2026-08-29 15:23:37,660.660 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:23:37,661.661 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:23:37,664.664 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:23:37,666.666 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:23:39,705.705 INFO    ] ================================================
[2026-08-29 15:23:39,720.720 INFO    ] Launching Daemon at Sat Aug 29 15:23:39 IST 2026
[2026-08-29 15:23:39,731.731 INFO    ] ================================================
[2026-08-29 15:23:40,068.068 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:23:40
[2026-08-29 15:23:40,381.381 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:23:40,513.513 INFO    ] Initializing speech engine...
[2026-08-29 15:23:40,516.516 INFO    ] 2026-08-29 15:23:40
[2026-08-29 15:23:40,735.735 INFO    ] 2026-08-29 15:23:40
[2026-08-29 15:23:40,763.763 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:23:40,886.886 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:23:40,935.935 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:23:41,083.083 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:23:41,130.130 INFO    ] time= 29/08/2026 15:23:41
[2026-08-29 15:23:41,164.164 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:23:41,185.185 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:23:41,256.256 INFO    ] No existing commands found in stream
[2026-08-29 15:23:46,267.267 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:23:46,270.270 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-08-29 15:23:50,226.226 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:23:50,227.227 INFO    ] Checking for system updates...
[2026-08-29 15:23:50,248.248 INFO    ] 200
[2026-08-29 15:23:50,249.249 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:23:50,279.279 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:23:50,280.280 INFO    ] No update needed
[2026-08-29 15:23:50,281.281 INFO    ] Checking for camera pi updates...
[2026-08-29 15:23:50,302.302 INFO    ] 200
[2026-08-29 15:23:50,304.304 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:23:50,326.326 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:23:50,432.432 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:23:50,433.433 INFO    ] No camera update needed
[2026-08-29 15:23:50,434.434 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:23:50,436.436 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:23:50,439.439 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:23:50,441.441 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:23:52,481.481 INFO    ] ================================================
[2026-08-29 15:23:52,497.497 INFO    ] Launching Daemon at Sat Aug 29 15:23:52 IST 2026
[2026-08-29 15:23:52,507.507 INFO    ] ================================================
[2026-08-29 15:23:52,876.876 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:23:52
[2026-08-29 15:23:53,193.193 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:23:53,336.336 INFO    ] Initializing speech engine...
[2026-08-29 15:23:53,341.341 INFO    ] 2026-08-29 15:23:53
[2026-08-29 15:23:53,545.545 INFO    ] 2026-08-29 15:23:53
[2026-08-29 15:23:53,574.574 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:23:53,695.695 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:23:53,739.739 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:23:53,896.896 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:23:53,962.962 INFO    ] time= 29/08/2026 15:23:53
[2026-08-29 15:23:53,986.986 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:23:53,992.992 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:23:54,058.058 INFO    ] No existing commands found in stream
[2026-08-29 15:23:59,068.068 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:23:59,071.071 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-08-29 15:24:00,345.345 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:24:00,348.348 INFO    ] Checking for system updates...
[2026-08-29 15:24:00,396.396 INFO    ] 200
[2026-08-29 15:24:00,399.399 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:24:00,458.458 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:24:00,460.460 INFO    ] No update needed
[2026-08-29 15:24:00,463.463 INFO    ] Checking for camera pi updates...
[2026-08-29 15:24:00,496.496 INFO    ] 200
[2026-08-29 15:24:00,498.498 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:24:00,544.544 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:24:00,689.689 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:24:00,691.691 INFO    ] No camera update needed
[2026-08-29 15:24:00,694.694 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:24:00,696.696 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:24:00,701.701 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:24:00,706.706 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:24:02,751.751 INFO    ] ================================================
[2026-08-29 15:24:02,774.774 INFO    ] Launching Daemon at Sat Aug 29 15:24:02 IST 2026
[2026-08-29 15:24:02,788.788 INFO    ] ================================================
[2026-08-29 15:24:03,463.463 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:24:03
[2026-08-29 15:24:04,129.129 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:24:04,396.396 INFO    ] Initializing speech engine...
[2026-08-29 15:24:04,412.412 INFO    ] 2026-08-29 15:24:04
[2026-08-29 15:24:04,666.666 INFO    ] 2026-08-29 15:24:04
[2026-08-29 15:24:04,701.701 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:24:04,873.873 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:24:04,886.886 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:24:04,997.997 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:24:05,016.016 INFO    ] time= 29/08/2026 15:24:04
[2026-08-29 15:24:05,040.040 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:24:05,048.048 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:24:05,113.113 INFO    ] No existing commands found in stream
[2026-08-29 15:24:10,125.125 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:24:10,128.128 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-08-29 15:24:14,446.446 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:24:14,447.447 INFO    ] Checking for system updates...
[2026-08-29 15:24:14,468.468 INFO    ] 200
[2026-08-29 15:24:14,470.470 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:24:14,500.500 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:24:14,501.501 INFO    ] No update needed
[2026-08-29 15:24:14,502.502 INFO    ] Checking for camera pi updates...
[2026-08-29 15:24:14,524.524 INFO    ] 200
[2026-08-29 15:24:14,525.525 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:24:14,548.548 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:24:14,643.643 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:24:14,645.645 INFO    ] No camera update needed
[2026-08-29 15:24:14,646.646 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:24:14,647.647 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:24:14,650.650 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:24:14,653.653 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:24:16,693.693 INFO    ] ================================================
[2026-08-29 15:24:16,709.709 INFO    ] Launching Daemon at Sat Aug 29 15:24:16 IST 2026
[2026-08-29 15:24:16,719.719 INFO    ] ================================================
[2026-08-29 15:24:17,110.110 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:24:17
[2026-08-29 15:24:17,422.422 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:24:17,553.553 INFO    ] Initializing speech engine...
[2026-08-29 15:24:17,557.557 INFO    ] 2026-08-29 15:24:17
[2026-08-29 15:24:17,774.774 INFO    ] 2026-08-29 15:24:17
[2026-08-29 15:24:17,803.803 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:24:17,950.950 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:24:17,959.959 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:24:18,124.124 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:24:18,162.162 INFO    ] time= 29/08/2026 15:24:18
[2026-08-29 15:24:18,168.168 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:24:18,187.187 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:24:18,288.288 INFO    ] No existing commands found in stream
[2026-08-29 15:24:23,318.318 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:24:23,321.321 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-08-29 15:24:25,664.664 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:24:25,665.665 INFO    ] Checking for system updates...
[2026-08-29 15:24:25,686.686 INFO    ] 200
[2026-08-29 15:24:25,687.687 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:24:25,722.722 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:24:25,723.723 INFO    ] No update needed
[2026-08-29 15:24:25,725.725 INFO    ] Checking for camera pi updates...
[2026-08-29 15:24:25,744.744 INFO    ] 200
[2026-08-29 15:24:25,745.745 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:24:25,770.770 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:24:25,948.948 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:24:25,950.950 INFO    ] No camera update needed
[2026-08-29 15:24:25,951.951 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:24:25,952.952 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:24:25,956.956 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:24:25,958.958 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:24:28,997.997 INFO    ] ================================================
[2026-08-29 15:24:28,012.012 INFO    ] Launching Daemon at Sat Aug 29 15:24:28 IST 2026
[2026-08-29 15:24:28,023.023 INFO    ] ================================================
[2026-08-29 15:24:28,375.375 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:24:28
[2026-08-29 15:24:28,689.689 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:24:28,820.820 INFO    ] Initializing speech engine...
[2026-08-29 15:24:28,824.824 INFO    ] 2026-08-29 15:24:28
[2026-08-29 15:24:29,016.016 INFO    ] 2026-08-29 15:24:29
[2026-08-29 15:24:29,061.061 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:24:29,219.219 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:24:29,257.257 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:24:29,427.427 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:24:29,479.479 INFO    ] time= 29/08/2026 15:24:29
[2026-08-29 15:24:29,518.518 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:24:29,552.552 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:24:29,658.658 INFO    ] No existing commands found in stream
[2026-08-29 15:24:34,683.683 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:24:34,686.686 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-08-29 15:24:36,044.044 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:24:36,047.047 INFO    ] Checking for system updates...
[2026-08-29 15:24:36,086.086 INFO    ] 200
[2026-08-29 15:24:36,088.088 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:24:36,140.140 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:24:36,143.143 INFO    ] No update needed
[2026-08-29 15:24:36,145.145 INFO    ] Checking for camera pi updates...
[2026-08-29 15:24:36,181.181 INFO    ] 200
[2026-08-29 15:24:36,182.182 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:24:36,205.205 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:24:36,311.311 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:24:36,312.312 INFO    ] No camera update needed
[2026-08-29 15:24:36,314.314 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:24:36,315.315 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:24:36,318.318 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:24:36,320.320 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:24:38,358.358 INFO    ] ================================================
[2026-08-29 15:24:38,373.373 INFO    ] Launching Daemon at Sat Aug 29 15:24:38 IST 2026
[2026-08-29 15:24:38,384.384 INFO    ] ================================================
[2026-08-29 15:24:38,736.736 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:24:38
[2026-08-29 15:24:39,048.048 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:24:39,194.194 INFO    ] Initializing speech engine...
[2026-08-29 15:24:39,200.200 INFO    ] 2026-08-29 15:24:39
[2026-08-29 15:24:39,419.419 INFO    ] 2026-08-29 15:24:39
[2026-08-29 15:24:39,504.504 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:24:39,656.656 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:24:39,664.664 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:24:39,801.801 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:24:39,848.848 INFO    ] time= 29/08/2026 15:24:39
[2026-08-29 15:24:39,892.892 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:24:39,937.937 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:24:39,991.991 INFO    ] No existing commands found in stream
[2026-08-29 15:24:45,004.004 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:24:45,006.006 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-08-29 15:24:47,744.744 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:24:47,746.746 INFO    ] Checking for system updates...
[2026-08-29 15:24:47,767.767 INFO    ] 200
[2026-08-29 15:24:47,768.768 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:24:47,800.800 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:24:47,802.802 INFO    ] No update needed
[2026-08-29 15:24:47,803.803 INFO    ] Checking for camera pi updates...
[2026-08-29 15:24:47,822.822 INFO    ] 200
[2026-08-29 15:24:47,824.824 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:24:47,847.847 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:24:47,945.945 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:24:47,947.947 INFO    ] No camera update needed
[2026-08-29 15:24:47,948.948 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:24:47,949.949 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:24:47,952.952 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:24:47,955.955 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:24:49,993.993 INFO    ] ================================================
[2026-08-29 15:24:50,008.008 INFO    ] Launching Daemon at Sat Aug 29 15:24:50 IST 2026
[2026-08-29 15:24:50,019.019 INFO    ] ================================================
[2026-08-29 15:24:50,361.361 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:24:50
[2026-08-29 15:24:50,744.744 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:24:51,018.018 INFO    ] Initializing speech engine...
[2026-08-29 15:24:51,027.027 INFO    ] 2026-08-29 15:24:51
[2026-08-29 15:24:51,293.293 INFO    ] 2026-08-29 15:24:51
[2026-08-29 15:24:51,346.346 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:24:51,513.513 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:24:51,571.571 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:24:51,709.709 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:24:51,736.736 INFO    ] time= 29/08/2026 15:24:51
[2026-08-29 15:24:51,800.800 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:24:51,843.843 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:24:51,901.901 INFO    ] No existing commands found in stream
[2026-08-29 15:24:56,914.914 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:24:56,916.916 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-08-29 15:24:59,198.198 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:24:59,199.199 INFO    ] Checking for system updates...
[2026-08-29 15:24:59,219.219 INFO    ] 200
[2026-08-29 15:24:59,221.221 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:24:59,251.251 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:24:59,253.253 INFO    ] No update needed
[2026-08-29 15:24:59,254.254 INFO    ] Checking for camera pi updates...
[2026-08-29 15:24:59,274.274 INFO    ] 200
[2026-08-29 15:24:59,276.276 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:24:59,316.316 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:24:59,411.411 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:24:59,414.414 INFO    ] No camera update needed
[2026-08-29 15:24:59,416.416 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:24:59,418.418 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:24:59,423.423 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:24:59,428.428 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:25:01,469.469 INFO    ] ================================================
[2026-08-29 15:25:01,485.485 INFO    ] Launching Daemon at Sat Aug 29 15:25:01 IST 2026
[2026-08-29 15:25:01,496.496 INFO    ] ================================================
[2026-08-29 15:25:02,336.336 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:25:02
[2026-08-29 15:25:02,985.985 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:25:03,297.297 INFO    ] Initializing speech engine...
[2026-08-29 15:25:03,311.311 INFO    ] 2026-08-29 15:25:03
[2026-08-29 15:25:03,633.633 INFO    ] 2026-08-29 15:25:03
[2026-08-29 15:25:03,669.669 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:25:03,850.850 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:25:03,863.863 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:25:04,009.009 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:25:04,018.018 INFO    ] time= 29/08/2026 15:25:04
[2026-08-29 15:25:04,026.026 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:25:04,076.076 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:25:04,187.187 INFO    ] No existing commands found in stream
[2026-08-29 15:25:09,218.218 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:25:09,221.221 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-08-29 15:25:11,463.463 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:25:11,464.464 INFO    ] Checking for system updates...
[2026-08-29 15:25:11,485.485 INFO    ] 200
[2026-08-29 15:25:11,487.487 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:25:11,517.517 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:25:11,518.518 INFO    ] No update needed
[2026-08-29 15:25:11,520.520 INFO    ] Checking for camera pi updates...
[2026-08-29 15:25:11,541.541 INFO    ] 200
[2026-08-29 15:25:11,542.542 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:25:11,569.569 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:25:11,656.656 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:25:11,657.657 INFO    ] No camera update needed
[2026-08-29 15:25:11,659.659 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:25:11,660.660 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:25:11,663.663 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:25:11,666.666 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:25:13,704.704 INFO    ] ================================================
[2026-08-29 15:25:13,719.719 INFO    ] Launching Daemon at Sat Aug 29 15:25:13 IST 2026
[2026-08-29 15:25:13,730.730 INFO    ] ================================================
[2026-08-29 15:25:14,083.083 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:25:14
[2026-08-29 15:25:14,400.400 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:25:14,546.546 INFO    ] Initializing speech engine...
[2026-08-29 15:25:14,549.549 INFO    ] 2026-08-29 15:25:14
[2026-08-29 15:25:14,788.788 INFO    ] 2026-08-29 15:25:14
[2026-08-29 15:25:14,849.849 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:25:15,011.011 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:25:15,019.019 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:25:15,169.169 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:25:15,219.219 INFO    ] time= 29/08/2026 15:25:15
[2026-08-29 15:25:15,225.225 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:25:15,244.244 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:25:15,354.354 INFO    ] No existing commands found in stream
[2026-08-29 15:25:20,379.379 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:25:20,382.382 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-08-29 15:25:24,588.588 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:25:24,589.589 INFO    ] Checking for system updates...
[2026-08-29 15:25:24,610.610 INFO    ] 200
[2026-08-29 15:25:24,611.611 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:25:24,643.643 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:25:24,645.645 INFO    ] No update needed
[2026-08-29 15:25:24,646.646 INFO    ] Checking for camera pi updates...
[2026-08-29 15:25:24,666.666 INFO    ] 200
[2026-08-29 15:25:24,667.667 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:25:24,690.690 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:25:24,798.798 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:25:24,799.799 INFO    ] No camera update needed
[2026-08-29 15:25:24,800.800 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:25:24,802.802 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:25:24,805.805 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:25:24,807.807 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:25:26,845.845 INFO    ] ================================================
[2026-08-29 15:25:26,860.860 INFO    ] Launching Daemon at Sat Aug 29 15:25:26 IST 2026
[2026-08-29 15:25:26,870.870 INFO    ] ================================================
[2026-08-29 15:25:27,192.192 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:25:27
[2026-08-29 15:25:27,504.504 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:25:27,641.641 INFO    ] Initializing speech engine...
[2026-08-29 15:25:27,651.651 INFO    ] 2026-08-29 15:25:27
[2026-08-29 15:25:27,857.857 INFO    ] 2026-08-29 15:25:27
[2026-08-29 15:25:27,887.887 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:25:28,010.010 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:25:28,058.058 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:25:28,206.206 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:25:28,273.273 INFO    ] time= 29/08/2026 15:25:28
[2026-08-29 15:25:28,303.303 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:25:28,308.308 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:25:28,381.381 INFO    ] No existing commands found in stream
[2026-08-29 15:25:33,390.390 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:25:33,393.393 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-08-29 15:25:34,473.473 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:25:34,475.475 INFO    ] Checking for system updates...
[2026-08-29 15:25:34,511.511 INFO    ] 200
[2026-08-29 15:25:34,514.514 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:25:34,574.574 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:25:34,576.576 INFO    ] No update needed
[2026-08-29 15:25:34,578.578 INFO    ] Checking for camera pi updates...
[2026-08-29 15:25:34,611.611 INFO    ] 200
[2026-08-29 15:25:34,614.614 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:25:34,657.657 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:25:34,756.756 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:25:34,758.758 INFO    ] No camera update needed
[2026-08-29 15:25:34,760.760 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:25:34,763.763 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:25:34,768.768 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:25:34,773.773 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:25:36,813.813 INFO    ] ================================================
[2026-08-29 15:25:36,828.828 INFO    ] Launching Daemon at Sat Aug 29 15:25:36 IST 2026
[2026-08-29 15:25:36,838.838 INFO    ] ================================================
[2026-08-29 15:25:37,212.212 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:25:37
[2026-08-29 15:25:37,540.540 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:25:37,693.693 INFO    ] Initializing speech engine...
[2026-08-29 15:25:37,697.697 INFO    ] 2026-08-29 15:25:37
[2026-08-29 15:25:37,910.910 INFO    ] 2026-08-29 15:25:37
[2026-08-29 15:25:37,990.990 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:25:38,139.139 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:25:38,149.149 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:25:38,280.280 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:25:38,322.322 INFO    ] time= 29/08/2026 15:25:38
[2026-08-29 15:25:38,386.386 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:25:38,415.415 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:25:38,468.468 INFO    ] No existing commands found in stream
[2026-08-29 15:25:43,480.480 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:25:43,483.483 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-08-29 15:25:46,593.593 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:25:46,594.594 INFO    ] Checking for system updates...
[2026-08-29 15:25:46,615.615 INFO    ] 200
[2026-08-29 15:25:46,616.616 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:25:46,646.646 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:25:46,647.647 INFO    ] No update needed
[2026-08-29 15:25:46,649.649 INFO    ] Checking for camera pi updates...
[2026-08-29 15:25:46,670.670 INFO    ] 200
[2026-08-29 15:25:46,671.671 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:25:46,696.696 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:25:46,797.797 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:25:46,799.799 INFO    ] No camera update needed
[2026-08-29 15:25:46,800.800 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:25:46,801.801 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:25:46,805.805 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:25:46,807.807 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:25:48,846.846 INFO    ] ================================================
[2026-08-29 15:25:48,860.860 INFO    ] Launching Daemon at Sat Aug 29 15:25:48 IST 2026
[2026-08-29 15:25:48,871.871 INFO    ] ================================================
[2026-08-29 15:25:49,192.192 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:25:49
[2026-08-29 15:25:49,504.504 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:25:49,637.637 INFO    ] Initializing speech engine...
[2026-08-29 15:25:49,649.649 INFO    ] 2026-08-29 15:25:49
[2026-08-29 15:25:49,858.858 INFO    ] 2026-08-29 15:25:49
[2026-08-29 15:25:49,887.887 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:25:50,018.018 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:25:50,038.038 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:25:50,194.194 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:25:50,244.244 INFO    ] time= 29/08/2026 15:25:50
[2026-08-29 15:25:50,253.253 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:25:50,271.271 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:25:50,389.389 INFO    ] No existing commands found in stream
[2026-08-29 15:25:55,411.411 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:25:55,414.414 INFO    ] Waiting 2.52 seconds before fallback handling...
[2026-08-29 15:25:58,271.271 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:25:58,272.272 INFO    ] Checking for system updates...
[2026-08-29 15:25:58,293.293 INFO    ] 200
[2026-08-29 15:25:58,294.294 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:25:58,326.326 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:25:58,327.327 INFO    ] No update needed
[2026-08-29 15:25:58,328.328 INFO    ] Checking for camera pi updates...
[2026-08-29 15:25:58,351.351 INFO    ] 200
[2026-08-29 15:25:58,352.352 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:25:58,376.376 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:25:58,462.462 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:25:58,463.463 INFO    ] No camera update needed
[2026-08-29 15:25:58,465.465 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:25:58,466.466 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:25:58,469.469 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:25:58,471.471 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:26:00,510.510 INFO    ] ================================================
[2026-08-29 15:26:00,528.528 INFO    ] Launching Daemon at Sat Aug 29 15:26:00 IST 2026
[2026-08-29 15:26:00,539.539 INFO    ] ================================================
[2026-08-29 15:26:00,897.897 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:26:00
[2026-08-29 15:26:01,389.389 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:26:01,650.650 INFO    ] Initializing speech engine...
[2026-08-29 15:26:01,669.669 INFO    ] 2026-08-29 15:26:01
[2026-08-29 15:26:01,952.952 INFO    ] 2026-08-29 15:26:01
[2026-08-29 15:26:02,017.017 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:26:02,143.143 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:26:02,146.146 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:26:02,259.259 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:26:02,263.263 INFO    ] time= 29/08/2026 15:26:02
[2026-08-29 15:26:02,308.308 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:26:02,324.324 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:26:02,424.424 INFO    ] No existing commands found in stream
[2026-08-29 15:26:07,436.436 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:26:07,439.439 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-08-29 15:26:10,603.603 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:26:10,605.605 INFO    ] Checking for system updates...
[2026-08-29 15:26:10,626.626 INFO    ] 200
[2026-08-29 15:26:10,628.628 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:26:10,659.659 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:26:10,660.660 INFO    ] No update needed
[2026-08-29 15:26:10,661.661 INFO    ] Checking for camera pi updates...
[2026-08-29 15:26:10,682.682 INFO    ] 200
[2026-08-29 15:26:10,684.684 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:26:10,707.707 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:26:10,799.799 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:26:10,801.801 INFO    ] No camera update needed
[2026-08-29 15:26:10,802.802 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:26:10,803.803 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:26:10,807.807 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:26:10,810.810 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:26:12,849.849 INFO    ] ================================================
[2026-08-29 15:26:12,864.864 INFO    ] Launching Daemon at Sat Aug 29 15:26:12 IST 2026
[2026-08-29 15:26:12,874.874 INFO    ] ================================================
[2026-08-29 15:26:13,452.452 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:26:13
[2026-08-29 15:26:14,048.048 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:26:14,313.313 INFO    ] Initializing speech engine...
[2026-08-29 15:26:14,337.337 INFO    ] 2026-08-29 15:26:14
[2026-08-29 15:26:14,599.599 INFO    ] 2026-08-29 15:26:14
[2026-08-29 15:26:14,646.646 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:26:14,764.764 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:26:14,768.768 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:26:14,878.878 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:26:14,887.887 INFO    ] time= 29/08/2026 15:26:14
[2026-08-29 15:26:14,892.892 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:26:14,907.907 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:26:14,975.975 INFO    ] No existing commands found in stream
[2026-08-29 15:26:20,005.005 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:26:20,007.007 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-08-29 15:26:20,514.514 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:26:20,515.515 INFO    ] Checking for system updates...
[2026-08-29 15:26:20,536.536 INFO    ] 200
[2026-08-29 15:26:20,538.538 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:26:20,570.570 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:26:20,571.571 INFO    ] No update needed
[2026-08-29 15:26:20,573.573 INFO    ] Checking for camera pi updates...
[2026-08-29 15:26:20,592.592 INFO    ] 200
[2026-08-29 15:26:20,593.593 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:26:20,616.616 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:26:20,695.695 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:26:20,696.696 INFO    ] No camera update needed
[2026-08-29 15:26:20,697.697 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:26:20,699.699 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:26:20,702.702 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:26:20,704.704 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:26:22,742.742 INFO    ] ================================================
[2026-08-29 15:26:22,757.757 INFO    ] Launching Daemon at Sat Aug 29 15:26:22 IST 2026
[2026-08-29 15:26:22,768.768 INFO    ] ================================================
[2026-08-29 15:26:23,116.116 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:26:23
[2026-08-29 15:26:23,428.428 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:26:23,565.565 INFO    ] Initializing speech engine...
[2026-08-29 15:26:23,576.576 INFO    ] 2026-08-29 15:26:23
[2026-08-29 15:26:23,781.781 INFO    ] 2026-08-29 15:26:23
[2026-08-29 15:26:23,827.827 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:26:23,995.995 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:26:24,000.000 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:26:24,167.167 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:26:24,203.203 INFO    ] time= 29/08/2026 15:26:24
[2026-08-29 15:26:24,209.209 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:26:24,227.227 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:26:24,335.335 INFO    ] No existing commands found in stream
[2026-08-29 15:26:29,360.360 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:26:29,363.363 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-08-29 15:26:32,298.298 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:26:32,301.301 INFO    ] Checking for system updates...
[2026-08-29 15:26:32,339.339 INFO    ] 200
[2026-08-29 15:26:32,342.342 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:26:32,399.399 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:26:32,402.402 INFO    ] No update needed
[2026-08-29 15:26:32,405.405 INFO    ] Checking for camera pi updates...
[2026-08-29 15:26:32,448.448 INFO    ] 200
[2026-08-29 15:26:32,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:26:32,499.499 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:26:32,588.588 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:26:32,590.590 INFO    ] No camera update needed
[2026-08-29 15:26:32,593.593 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:26:32,596.596 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:26:32,602.602 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:26:32,607.607 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:26:34,647.647 INFO    ] ================================================
[2026-08-29 15:26:34,662.662 INFO    ] Launching Daemon at Sat Aug 29 15:26:34 IST 2026
[2026-08-29 15:26:34,673.673 INFO    ] ================================================
[2026-08-29 15:26:35,303.303 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:26:35
[2026-08-29 15:26:35,636.636 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:26:35,793.793 INFO    ] Initializing speech engine...
[2026-08-29 15:26:35,798.798 INFO    ] 2026-08-29 15:26:35
[2026-08-29 15:26:36,004.004 INFO    ] 2026-08-29 15:26:35
[2026-08-29 15:26:36,037.037 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:26:36,215.215 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:26:36,221.221 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:26:36,356.356 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:26:36,375.375 INFO    ] time= 29/08/2026 15:26:36
[2026-08-29 15:26:36,386.386 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:26:36,409.409 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:26:36,516.516 INFO    ] No existing commands found in stream
[2026-08-29 15:26:41,532.532 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:26:41,535.535 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-08-29 15:26:44,004.004 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:26:44,005.005 INFO    ] Checking for system updates...
[2026-08-29 15:26:44,025.025 INFO    ] 200
[2026-08-29 15:26:44,027.027 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:26:44,059.059 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:26:44,060.060 INFO    ] No update needed
[2026-08-29 15:26:44,061.061 INFO    ] Checking for camera pi updates...
[2026-08-29 15:26:44,080.080 INFO    ] 200
[2026-08-29 15:26:44,082.082 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:26:44,105.105 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:26:44,257.257 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:26:44,258.258 INFO    ] No camera update needed
[2026-08-29 15:26:44,260.260 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:26:44,261.261 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:26:44,264.264 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:26:44,266.266 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:26:46,307.307 INFO    ] ================================================
[2026-08-29 15:26:46,322.322 INFO    ] Launching Daemon at Sat Aug 29 15:26:46 IST 2026
[2026-08-29 15:26:46,333.333 INFO    ] ================================================
[2026-08-29 15:26:46,846.846 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:26:46
[2026-08-29 15:26:47,444.444 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:26:47,700.700 INFO    ] Initializing speech engine...
[2026-08-29 15:26:47,706.706 INFO    ] 2026-08-29 15:26:47
[2026-08-29 15:26:48,007.007 INFO    ] 2026-08-29 15:26:47
[2026-08-29 15:26:48,045.045 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:26:48,192.192 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:26:48,200.200 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:26:48,350.350 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:26:48,360.360 INFO    ] time= 29/08/2026 15:26:48
[2026-08-29 15:26:48,365.365 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:26:48,369.369 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:26:48,436.436 INFO    ] No existing commands found in stream
[2026-08-29 15:26:53,450.450 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:26:53,453.453 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-08-29 15:26:53,899.899 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:26:53,900.900 INFO    ] Checking for system updates...
[2026-08-29 15:26:53,922.922 INFO    ] 200
[2026-08-29 15:26:53,923.923 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:26:53,955.955 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:26:53,957.957 INFO    ] No update needed
[2026-08-29 15:26:53,958.958 INFO    ] Checking for camera pi updates...
[2026-08-29 15:26:53,978.978 INFO    ] 200
[2026-08-29 15:26:53,980.980 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:26:54,002.002 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:26:54,079.079 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:26:54,081.081 INFO    ] No camera update needed
[2026-08-29 15:26:54,082.082 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:26:54,083.083 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:26:54,086.086 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:26:54,089.089 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:26:56,129.129 INFO    ] ================================================
[2026-08-29 15:26:56,145.145 INFO    ] Launching Daemon at Sat Aug 29 15:26:56 IST 2026
[2026-08-29 15:26:56,156.156 INFO    ] ================================================
[2026-08-29 15:26:56,493.493 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:26:56
[2026-08-29 15:26:56,809.809 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:26:56,942.942 INFO    ] Initializing speech engine...
[2026-08-29 15:26:56,945.945 INFO    ] 2026-08-29 15:26:56
[2026-08-29 15:26:57,166.166 INFO    ] 2026-08-29 15:26:57
[2026-08-29 15:26:57,247.247 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:26:57,393.393 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:26:57,403.403 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:26:57,536.536 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:26:57,573.573 INFO    ] time= 29/08/2026 15:26:57
[2026-08-29 15:26:57,637.637 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:26:57,671.671 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:26:57,721.721 INFO    ] No existing commands found in stream
[2026-08-29 15:27:02,733.733 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:27:02,736.736 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-08-29 15:27:05,187.187 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:27:05,188.188 INFO    ] Checking for system updates...
[2026-08-29 15:27:05,210.210 INFO    ] 200
[2026-08-29 15:27:05,211.211 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:27:05,243.243 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:27:05,245.245 INFO    ] No update needed
[2026-08-29 15:27:05,246.246 INFO    ] Checking for camera pi updates...
[2026-08-29 15:27:05,265.265 INFO    ] 200
[2026-08-29 15:27:05,266.266 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:27:05,291.291 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:27:05,365.365 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:27:05,366.366 INFO    ] No camera update needed
[2026-08-29 15:27:05,367.367 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:27:05,369.369 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:27:05,371.371 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:27:05,374.374 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:27:07,417.417 INFO    ] ================================================
[2026-08-29 15:27:07,432.432 INFO    ] Launching Daemon at Sat Aug 29 15:27:07 IST 2026
[2026-08-29 15:27:07,443.443 INFO    ] ================================================
[2026-08-29 15:27:07,794.794 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:27:07
[2026-08-29 15:27:08,132.132 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:27:08,285.285 INFO    ] Initializing speech engine...
[2026-08-29 15:27:08,305.305 INFO    ] 2026-08-29 15:27:08
[2026-08-29 15:27:08,582.582 INFO    ] 2026-08-29 15:27:08
[2026-08-29 15:27:08,637.637 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:27:08,863.863 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:27:08,873.873 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:27:09,007.007 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:27:09,055.055 INFO    ] time= 29/08/2026 15:27:09
[2026-08-29 15:27:09,121.121 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:27:09,146.146 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:27:09,201.201 INFO    ] No existing commands found in stream
[2026-08-29 15:27:14,214.214 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:27:14,217.217 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-08-29 15:27:17,944.944 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:27:17,946.946 INFO    ] Checking for system updates...
[2026-08-29 15:27:17,966.966 INFO    ] 200
[2026-08-29 15:27:17,968.968 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:27:17,998.998 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:27:17,999.999 INFO    ] No update needed
[2026-08-29 15:27:18,001.001 INFO    ] Checking for camera pi updates...
[2026-08-29 15:27:18,020.020 INFO    ] 200
[2026-08-29 15:27:18,021.021 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:27:18,046.046 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:27:18,126.126 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:27:18,127.127 INFO    ] No camera update needed
[2026-08-29 15:27:18,128.128 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:27:18,129.129 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:27:18,132.132 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:27:18,135.135 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:27:20,173.173 INFO    ] ================================================
[2026-08-29 15:27:20,189.189 INFO    ] Launching Daemon at Sat Aug 29 15:27:20 IST 2026
[2026-08-29 15:27:20,200.200 INFO    ] ================================================
[2026-08-29 15:27:20,552.552 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:27:20
[2026-08-29 15:27:20,864.864 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:27:21,001.001 INFO    ] Initializing speech engine...
[2026-08-29 15:27:21,012.012 INFO    ] 2026-08-29 15:27:21
[2026-08-29 15:27:21,219.219 INFO    ] 2026-08-29 15:27:21
[2026-08-29 15:27:21,258.258 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:27:21,441.441 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:27:21,463.463 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:27:21,591.591 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:27:21,599.599 INFO    ] time= 29/08/2026 15:27:21
[2026-08-29 15:27:21,627.627 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:27:21,635.635 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:27:21,734.734 INFO    ] No existing commands found in stream
[2026-08-29 15:27:26,748.748 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:27:26,751.751 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-08-29 15:27:30,463.463 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:27:30,465.465 INFO    ] Checking for system updates...
[2026-08-29 15:27:30,485.485 INFO    ] 200
[2026-08-29 15:27:30,487.487 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:27:30,519.519 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:27:30,521.521 INFO    ] No update needed
[2026-08-29 15:27:30,522.522 INFO    ] Checking for camera pi updates...
[2026-08-29 15:27:30,542.542 INFO    ] 200
[2026-08-29 15:27:30,543.543 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:27:30,567.567 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:27:30,658.658 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:27:30,659.659 INFO    ] No camera update needed
[2026-08-29 15:27:30,661.661 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:27:30,662.662 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:27:30,666.666 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:27:30,668.668 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:27:32,708.708 INFO    ] ================================================
[2026-08-29 15:27:32,724.724 INFO    ] Launching Daemon at Sat Aug 29 15:27:32 IST 2026
[2026-08-29 15:27:32,735.735 INFO    ] ================================================
[2026-08-29 15:27:33,398.398 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:27:33
[2026-08-29 15:27:34,081.081 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:27:34,396.396 INFO    ] Initializing speech engine...
[2026-08-29 15:27:34,407.407 INFO    ] 2026-08-29 15:27:34
[2026-08-29 15:27:34,696.696 INFO    ] 2026-08-29 15:27:34
[2026-08-29 15:27:34,806.806 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:27:34,958.958 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:27:34,968.968 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:27:35,102.102 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:27:35,155.155 INFO    ] time= 29/08/2026 15:27:35
[2026-08-29 15:27:35,205.205 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:27:35,239.239 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:27:35,318.318 INFO    ] No existing commands found in stream
[2026-08-29 15:27:40,356.356 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:27:40,360.360 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 15:27:42,493.493 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:27:42,494.494 INFO    ] Checking for system updates...
[2026-08-29 15:27:42,515.515 INFO    ] 200
[2026-08-29 15:27:42,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:27:42,549.549 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:27:42,551.551 INFO    ] No update needed
[2026-08-29 15:27:42,552.552 INFO    ] Checking for camera pi updates...
[2026-08-29 15:27:42,576.576 INFO    ] 200
[2026-08-29 15:27:42,577.577 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:27:42,603.603 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:27:42,679.679 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:27:42,680.680 INFO    ] No camera update needed
[2026-08-29 15:27:42,682.682 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:27:42,683.683 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:27:42,686.686 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:27:42,690.690 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:27:44,727.727 INFO    ] ================================================
[2026-08-29 15:27:44,743.743 INFO    ] Launching Daemon at Sat Aug 29 15:27:44 IST 2026
[2026-08-29 15:27:44,754.754 INFO    ] ================================================
[2026-08-29 15:27:45,144.144 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:27:45
[2026-08-29 15:27:45,457.457 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:27:45,600.600 INFO    ] Initializing speech engine...
[2026-08-29 15:27:45,605.605 INFO    ] 2026-08-29 15:27:45
[2026-08-29 15:27:45,790.790 INFO    ] 2026-08-29 15:27:45
[2026-08-29 15:27:45,841.841 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:27:45,983.983 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:27:46,006.006 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:27:46,134.134 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:27:46,143.143 INFO    ] time= 29/08/2026 15:27:46
[2026-08-29 15:27:46,149.149 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:27:46,200.200 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:27:46,318.318 INFO    ] No existing commands found in stream
[2026-08-29 15:27:51,343.343 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:27:51,346.346 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-08-29 15:27:54,667.667 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:27:54,669.669 INFO    ] Checking for system updates...
[2026-08-29 15:27:54,691.691 INFO    ] 200
[2026-08-29 15:27:54,692.692 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:27:54,725.725 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:27:54,726.726 INFO    ] No update needed
[2026-08-29 15:27:54,728.728 INFO    ] Checking for camera pi updates...
[2026-08-29 15:27:54,748.748 INFO    ] 200
[2026-08-29 15:27:54,749.749 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:27:54,775.775 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:27:54,825.825 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:27:54,826.826 INFO    ] No camera update needed
[2026-08-29 15:27:54,828.828 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:27:54,830.830 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:27:54,833.833 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:27:54,836.836 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:27:56,875.875 INFO    ] ================================================
[2026-08-29 15:27:56,890.890 INFO    ] Launching Daemon at Sat Aug 29 15:27:56 IST 2026
[2026-08-29 15:27:56,901.901 INFO    ] ================================================
[2026-08-29 15:27:57,290.290 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:27:57
[2026-08-29 15:27:57,635.635 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:27:57,781.781 INFO    ] Initializing speech engine...
[2026-08-29 15:27:57,792.792 INFO    ] 2026-08-29 15:27:57
[2026-08-29 15:27:58,002.002 INFO    ] 2026-08-29 15:27:57
[2026-08-29 15:27:58,030.030 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:27:58,153.153 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:27:58,215.215 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:27:58,346.346 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:27:58,410.410 INFO    ] time= 29/08/2026 15:27:58
[2026-08-29 15:27:58,448.448 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:27:58,488.488 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:27:58,595.595 INFO    ] No existing commands found in stream
[2026-08-29 15:28:03,625.625 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:28:03,629.629 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-08-29 15:28:07,636.636 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:28:07,637.637 INFO    ] Checking for system updates...
[2026-08-29 15:28:07,658.658 INFO    ] 200
[2026-08-29 15:28:07,660.660 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:28:07,690.690 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:28:07,692.692 INFO    ] No update needed
[2026-08-29 15:28:07,693.693 INFO    ] Checking for camera pi updates...
[2026-08-29 15:28:07,713.713 INFO    ] 200
[2026-08-29 15:28:07,714.714 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:28:07,737.737 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:28:07,818.818 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:28:07,819.819 INFO    ] No camera update needed
[2026-08-29 15:28:07,820.820 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:28:07,822.822 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:28:07,825.825 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:28:07,827.827 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:28:09,865.865 INFO    ] ================================================
[2026-08-29 15:28:09,880.880 INFO    ] Launching Daemon at Sat Aug 29 15:28:09 IST 2026
[2026-08-29 15:28:09,892.892 INFO    ] ================================================
[2026-08-29 15:28:10,265.265 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:28:10
[2026-08-29 15:28:10,841.841 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:28:11,110.110 INFO    ] Initializing speech engine...
[2026-08-29 15:28:11,119.119 INFO    ] 2026-08-29 15:28:11
[2026-08-29 15:28:11,367.367 INFO    ] 2026-08-29 15:28:11
[2026-08-29 15:28:11,402.402 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:28:11,588.588 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:28:11,605.605 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:28:11,739.739 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:28:11,750.750 INFO    ] time= 29/08/2026 15:28:11
[2026-08-29 15:28:11,811.811 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:28:11,829.829 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:28:11,945.945 INFO    ] No existing commands found in stream
[2026-08-29 15:28:16,958.958 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:28:16,961.961 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-08-29 15:28:17,890.890 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:28:17,892.892 INFO    ] Checking for system updates...
[2026-08-29 15:28:17,915.915 INFO    ] 200
[2026-08-29 15:28:17,917.917 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:28:17,953.953 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:28:17,954.954 INFO    ] No update needed
[2026-08-29 15:28:17,955.955 INFO    ] Checking for camera pi updates...
[2026-08-29 15:28:17,978.978 INFO    ] 200
[2026-08-29 15:28:17,979.979 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:28:18,005.005 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:28:18,104.104 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:28:18,106.106 INFO    ] No camera update needed
[2026-08-29 15:28:18,107.107 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:28:18,108.108 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:28:18,112.112 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:28:18,115.115 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:28:20,154.154 INFO    ] ================================================
[2026-08-29 15:28:20,169.169 INFO    ] Launching Daemon at Sat Aug 29 15:28:20 IST 2026
[2026-08-29 15:28:20,180.180 INFO    ] ================================================
[2026-08-29 15:28:20,568.568 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:28:20
[2026-08-29 15:28:20,912.912 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:28:21,065.065 INFO    ] Initializing speech engine...
[2026-08-29 15:28:21,070.070 INFO    ] 2026-08-29 15:28:21
[2026-08-29 15:28:21,281.281 INFO    ] 2026-08-29 15:28:21
[2026-08-29 15:28:21,310.310 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:28:21,460.460 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:28:21,498.498 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:28:21,649.649 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:28:21,662.662 INFO    ] time= 29/08/2026 15:28:21
[2026-08-29 15:28:21,725.725 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:28:21,762.762 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:28:21,860.860 INFO    ] No existing commands found in stream
[2026-08-29 15:28:26,891.891 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:28:26,894.894 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-08-29 15:28:30,810.810 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:28:30,812.812 INFO    ] Checking for system updates...
[2026-08-29 15:28:30,833.833 INFO    ] 200
[2026-08-29 15:28:30,834.834 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:28:30,869.869 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:28:30,870.870 INFO    ] No update needed
[2026-08-29 15:28:30,872.872 INFO    ] Checking for camera pi updates...
[2026-08-29 15:28:30,891.891 INFO    ] 200
[2026-08-29 15:28:30,893.893 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:28:30,917.917 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:28:30,994.994 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:28:30,995.995 INFO    ] No camera update needed
[2026-08-29 15:28:30,997.997 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:28:30,998.998 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:28:31,001.001 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:28:31,004.004 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:28:33,043.043 INFO    ] ================================================
[2026-08-29 15:28:33,059.059 INFO    ] Launching Daemon at Sat Aug 29 15:28:33 IST 2026
[2026-08-29 15:28:33,070.070 INFO    ] ================================================
[2026-08-29 15:28:33,740.740 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:28:33
[2026-08-29 15:28:34,428.428 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:28:34,723.723 INFO    ] Initializing speech engine...
[2026-08-29 15:28:34,742.742 INFO    ] 2026-08-29 15:28:34
[2026-08-29 15:28:35,029.029 INFO    ] 2026-08-29 15:28:35
[2026-08-29 15:28:35,088.088 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:28:35,254.254 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:28:35,273.273 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:28:35,452.452 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:28:35,500.500 INFO    ] time= 29/08/2026 15:28:35
[2026-08-29 15:28:35,519.519 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:28:35,530.530 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:28:35,659.659 INFO    ] No existing commands found in stream
[2026-08-29 15:28:40,693.693 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:28:40,696.696 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-08-29 15:28:41,547.547 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:28:41,549.549 INFO    ] Checking for system updates...
[2026-08-29 15:28:41,571.571 INFO    ] 200
[2026-08-29 15:28:41,573.573 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:28:41,606.606 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:28:41,608.608 INFO    ] No update needed
[2026-08-29 15:28:41,609.609 INFO    ] Checking for camera pi updates...
[2026-08-29 15:28:41,632.632 INFO    ] 200
[2026-08-29 15:28:41,633.633 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:28:41,657.657 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:28:41,763.763 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:28:41,765.765 INFO    ] No camera update needed
[2026-08-29 15:28:41,766.766 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:28:41,767.767 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:28:41,771.771 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:28:41,774.774 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:28:43,812.812 INFO    ] ================================================
[2026-08-29 15:28:43,827.827 INFO    ] Launching Daemon at Sat Aug 29 15:28:43 IST 2026
[2026-08-29 15:28:43,839.839 INFO    ] ================================================
[2026-08-29 15:28:44,202.202 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:28:44
[2026-08-29 15:28:44,515.515 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:28:44,701.701 INFO    ] Initializing speech engine...
[2026-08-29 15:28:44,719.719 INFO    ] 2026-08-29 15:28:44
[2026-08-29 15:28:44,967.967 INFO    ] 2026-08-29 15:28:44
[2026-08-29 15:28:45,009.009 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:28:45,174.174 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:28:45,185.185 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:28:45,293.293 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:28:45,299.299 INFO    ] time= 29/08/2026 15:28:45
[2026-08-29 15:28:45,316.316 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:28:45,337.337 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:28:45,408.408 INFO    ] No existing commands found in stream
[2026-08-29 15:28:50,421.421 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:28:50,424.424 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-08-29 15:28:52,874.874 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:28:52,876.876 INFO    ] Checking for system updates...
[2026-08-29 15:28:52,896.896 INFO    ] 200
[2026-08-29 15:28:52,898.898 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:28:52,933.933 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:28:52,934.934 INFO    ] No update needed
[2026-08-29 15:28:52,935.935 INFO    ] Checking for camera pi updates...
[2026-08-29 15:28:52,956.956 INFO    ] 200
[2026-08-29 15:28:52,957.957 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:28:52,980.980 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:28:53,036.036 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:28:53,037.037 INFO    ] No camera update needed
[2026-08-29 15:28:53,039.039 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:28:53,040.040 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:28:53,043.043 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:28:53,045.045 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:28:55,084.084 INFO    ] ================================================
[2026-08-29 15:28:55,099.099 INFO    ] Launching Daemon at Sat Aug 29 15:28:55 IST 2026
[2026-08-29 15:28:55,111.111 INFO    ] ================================================
[2026-08-29 15:28:55,454.454 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:28:55
[2026-08-29 15:28:55,768.768 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:28:55,900.900 INFO    ] Initializing speech engine...
[2026-08-29 15:28:55,904.904 INFO    ] 2026-08-29 15:28:55
[2026-08-29 15:28:56,097.097 INFO    ] 2026-08-29 15:28:56
[2026-08-29 15:28:56,143.143 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:28:56,266.266 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:28:56,269.269 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:28:56,379.379 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:28:56,383.383 INFO    ] time= 29/08/2026 15:28:56
[2026-08-29 15:28:56,392.392 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:28:56,410.410 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:28:56,500.500 INFO    ] No existing commands found in stream
[2026-08-29 15:29:01,535.535 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:29:01,538.538 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 15:29:02,790.790 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:29:02,793.793 INFO    ] Checking for system updates...
[2026-08-29 15:29:02,831.831 INFO    ] 200
[2026-08-29 15:29:02,833.833 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:29:02,893.893 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:29:02,896.896 INFO    ] No update needed
[2026-08-29 15:29:02,900.900 INFO    ] Checking for camera pi updates...
[2026-08-29 15:29:02,934.934 INFO    ] 200
[2026-08-29 15:29:02,936.936 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:29:02,982.982 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:29:03,090.090 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:29:03,092.092 INFO    ] No camera update needed
[2026-08-29 15:29:03,095.095 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:29:03,097.097 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:29:03,102.102 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:29:03,107.107 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:29:05,147.147 INFO    ] ================================================
[2026-08-29 15:29:05,162.162 INFO    ] Launching Daemon at Sat Aug 29 15:29:05 IST 2026
[2026-08-29 15:29:05,174.174 INFO    ] ================================================
[2026-08-29 15:29:05,568.568 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:29:05
[2026-08-29 15:29:05,908.908 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:29:06,159.159 INFO    ] Initializing speech engine...
[2026-08-29 15:29:06,171.171 INFO    ] 2026-08-29 15:29:06
[2026-08-29 15:29:06,430.430 INFO    ] 2026-08-29 15:29:06
[2026-08-29 15:29:06,484.484 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:29:06,706.706 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:29:06,715.715 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:29:06,848.848 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:29:06,865.865 INFO    ] time= 29/08/2026 15:29:06
[2026-08-29 15:29:06,925.925 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:29:06,983.983 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:29:07,036.036 INFO    ] No existing commands found in stream
[2026-08-29 15:29:12,048.048 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:29:12,051.051 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-08-29 15:29:16,488.488 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:29:16,490.490 INFO    ] Checking for system updates...
[2026-08-29 15:29:16,512.512 INFO    ] 200
[2026-08-29 15:29:16,513.513 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:29:16,543.543 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:29:16,544.544 INFO    ] No update needed
[2026-08-29 15:29:16,545.545 INFO    ] Checking for camera pi updates...
[2026-08-29 15:29:16,565.565 INFO    ] 200
[2026-08-29 15:29:16,566.566 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:29:16,595.595 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:29:16,679.679 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:29:16,682.682 INFO    ] No camera update needed
[2026-08-29 15:29:16,685.685 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:29:16,687.687 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:29:16,693.693 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:29:16,699.699 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:29:18,741.741 INFO    ] ================================================
[2026-08-29 15:29:18,757.757 INFO    ] Launching Daemon at Sat Aug 29 15:29:18 IST 2026
[2026-08-29 15:29:18,768.768 INFO    ] ================================================
[2026-08-29 15:29:19,335.335 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:29:19
[2026-08-29 15:29:19,908.908 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:29:20,051.051 INFO    ] Initializing speech engine...
[2026-08-29 15:29:20,056.056 INFO    ] 2026-08-29 15:29:20
[2026-08-29 15:29:20,259.259 INFO    ] 2026-08-29 15:29:20
[2026-08-29 15:29:20,288.288 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:29:20,420.420 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:29:20,472.472 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:29:20,606.606 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:29:20,672.672 INFO    ] time= 29/08/2026 15:29:20
[2026-08-29 15:29:20,721.721 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:29:20,762.762 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:29:20,816.816 INFO    ] No existing commands found in stream
[2026-08-29 15:29:25,825.825 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:29:25,828.828 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-08-29 15:29:28,335.335 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:29:28,337.337 INFO    ] Checking for system updates...
[2026-08-29 15:29:28,358.358 INFO    ] 200
[2026-08-29 15:29:28,359.359 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:29:28,392.392 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:29:28,393.393 INFO    ] No update needed
[2026-08-29 15:29:28,395.395 INFO    ] Checking for camera pi updates...
[2026-08-29 15:29:28,418.418 INFO    ] 200
[2026-08-29 15:29:28,419.419 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:29:28,446.446 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:29:28,524.524 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:29:28,525.525 INFO    ] No camera update needed
[2026-08-29 15:29:28,527.527 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:29:28,528.528 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:29:28,531.531 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:29:28,534.534 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:29:30,574.574 INFO    ] ================================================
[2026-08-29 15:29:30,589.589 INFO    ] Launching Daemon at Sat Aug 29 15:29:30 IST 2026
[2026-08-29 15:29:30,601.601 INFO    ] ================================================
[2026-08-29 15:29:30,936.936 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:29:30
[2026-08-29 15:29:31,250.250 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:29:31,403.403 INFO    ] Initializing speech engine...
[2026-08-29 15:29:31,406.406 INFO    ] 2026-08-29 15:29:31
[2026-08-29 15:29:31,696.696 INFO    ] 2026-08-29 15:29:31
[2026-08-29 15:29:31,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:29:31,938.938 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:29:31,952.952 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:29:32,070.070 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:29:32,076.076 INFO    ] time= 29/08/2026 15:29:32
[2026-08-29 15:29:32,096.096 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:29:32,117.117 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:29:32,196.196 INFO    ] No existing commands found in stream
[2026-08-29 15:29:37,204.204 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:29:37,207.207 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-08-29 15:29:39,615.615 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:29:39,616.616 INFO    ] Checking for system updates...
[2026-08-29 15:29:39,636.636 INFO    ] 200
[2026-08-29 15:29:39,638.638 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:29:39,668.668 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:29:39,669.669 INFO    ] No update needed
[2026-08-29 15:29:39,671.671 INFO    ] Checking for camera pi updates...
[2026-08-29 15:29:39,690.690 INFO    ] 200
[2026-08-29 15:29:39,692.692 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:29:39,715.715 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:29:39,813.813 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:29:39,814.814 INFO    ] No camera update needed
[2026-08-29 15:29:39,816.816 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:29:39,817.817 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:29:39,820.820 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:29:39,823.823 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:29:41,864.864 INFO    ] ================================================
[2026-08-29 15:29:41,880.880 INFO    ] Launching Daemon at Sat Aug 29 15:29:41 IST 2026
[2026-08-29 15:29:41,891.891 INFO    ] ================================================
[2026-08-29 15:29:42,217.217 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:29:42
[2026-08-29 15:29:42,531.531 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:29:42,740.740 INFO    ] Initializing speech engine...
[2026-08-29 15:29:42,755.755 INFO    ] 2026-08-29 15:29:42
[2026-08-29 15:29:43,043.043 INFO    ] 2026-08-29 15:29:43
[2026-08-29 15:29:43,081.081 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:29:43,277.277 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:29:43,282.282 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:29:43,414.414 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:29:43,420.420 INFO    ] time= 29/08/2026 15:29:43
[2026-08-29 15:29:43,426.426 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:29:43,446.446 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:29:43,547.547 INFO    ] No existing commands found in stream
[2026-08-29 15:29:48,557.557 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:29:48,560.560 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-08-29 15:29:49,985.985 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:29:49,986.986 INFO    ] Checking for system updates...
[2026-08-29 15:29:50,006.006 INFO    ] 200
[2026-08-29 15:29:50,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:29:50,040.040 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:29:50,041.041 INFO    ] No update needed
[2026-08-29 15:29:50,042.042 INFO    ] Checking for camera pi updates...
[2026-08-29 15:29:50,061.061 INFO    ] 200
[2026-08-29 15:29:50,063.063 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:29:50,087.087 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:29:50,162.162 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:29:50,163.163 INFO    ] No camera update needed
[2026-08-29 15:29:50,165.165 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:29:50,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:29:50,169.169 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:29:50,171.171 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:29:52,210.210 INFO    ] ================================================
[2026-08-29 15:29:52,226.226 INFO    ] Launching Daemon at Sat Aug 29 15:29:52 IST 2026
[2026-08-29 15:29:52,237.237 INFO    ] ================================================
[2026-08-29 15:29:52,584.584 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:29:52
[2026-08-29 15:29:52,921.921 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:29:53,068.068 INFO    ] Initializing speech engine...
[2026-08-29 15:29:53,076.076 INFO    ] 2026-08-29 15:29:53
[2026-08-29 15:29:53,290.290 INFO    ] 2026-08-29 15:29:53
[2026-08-29 15:29:53,319.319 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:29:53,444.444 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:29:53,502.502 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:29:53,649.649 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:29:53,717.717 INFO    ] time= 29/08/2026 15:29:53
[2026-08-29 15:29:53,742.742 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:29:53,749.749 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:29:53,816.816 INFO    ] No existing commands found in stream
[2026-08-29 15:29:58,827.827 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:29:58,831.831 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-08-29 15:30:03,030.030 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:30:03,034.034 INFO    ] Checking for system updates...
[2026-08-29 15:30:03,083.083 INFO    ] 200
[2026-08-29 15:30:03,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:30:03,154.154 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:30:03,157.157 INFO    ] No update needed
[2026-08-29 15:30:03,161.161 INFO    ] Checking for camera pi updates...
[2026-08-29 15:30:03,209.209 INFO    ] 200
[2026-08-29 15:30:03,215.215 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:30:03,271.271 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:30:03,400.400 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:30:03,403.403 INFO    ] No camera update needed
[2026-08-29 15:30:03,406.406 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:30:03,409.409 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:30:03,417.417 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:30:03,424.424 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:30:05,465.465 INFO    ] ================================================
[2026-08-29 15:30:05,482.482 INFO    ] Launching Daemon at Sat Aug 29 15:30:05 IST 2026
[2026-08-29 15:30:05,493.493 INFO    ] ================================================
[2026-08-29 15:30:05,997.997 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:30:05
[2026-08-29 15:30:06,620.620 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:30:06,927.927 INFO    ] Initializing speech engine...
[2026-08-29 15:30:06,941.941 INFO    ] 2026-08-29 15:30:06
[2026-08-29 15:30:07,259.259 INFO    ] 2026-08-29 15:30:07
[2026-08-29 15:30:07,304.304 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:30:07,496.496 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:30:07,498.498 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:30:07,660.660 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:30:07,682.682 INFO    ] time= 29/08/2026 15:30:07
[2026-08-29 15:30:07,741.741 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:30:07,794.794 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:30:07,845.845 INFO    ] No existing commands found in stream
[2026-08-29 15:30:12,857.857 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:30:12,860.860 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-08-29 15:30:15,148.148 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:30:15,150.150 INFO    ] Checking for system updates...
[2026-08-29 15:30:15,170.170 INFO    ] 200
[2026-08-29 15:30:15,172.172 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:30:15,206.206 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:30:15,207.207 INFO    ] No update needed
[2026-08-29 15:30:15,208.208 INFO    ] Checking for camera pi updates...
[2026-08-29 15:30:15,227.227 INFO    ] 200
[2026-08-29 15:30:15,229.229 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:30:15,253.253 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:30:15,372.372 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:30:15,374.374 INFO    ] No camera update needed
[2026-08-29 15:30:15,375.375 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:30:15,376.376 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:30:15,379.379 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:30:15,382.382 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:30:17,421.421 INFO    ] ================================================
[2026-08-29 15:30:17,436.436 INFO    ] Launching Daemon at Sat Aug 29 15:30:17 IST 2026
[2026-08-29 15:30:17,447.447 INFO    ] ================================================
[2026-08-29 15:30:17,945.945 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:30:17
[2026-08-29 15:30:18,535.535 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:30:18,791.791 INFO    ] Initializing speech engine...
[2026-08-29 15:30:18,806.806 INFO    ] 2026-08-29 15:30:18
[2026-08-29 15:30:19,087.087 INFO    ] 2026-08-29 15:30:19
[2026-08-29 15:30:19,131.131 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:30:19,323.323 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:30:19,329.329 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:30:19,438.438 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:30:19,444.444 INFO    ] time= 29/08/2026 15:30:19
[2026-08-29 15:30:19,466.466 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:30:19,474.474 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:30:19,523.523 INFO    ] No existing commands found in stream
[2026-08-29 15:30:24,533.533 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:30:24,536.536 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-08-29 15:30:25,249.249 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:30:25,250.250 INFO    ] Checking for system updates...
[2026-08-29 15:30:25,271.271 INFO    ] 200
[2026-08-29 15:30:25,273.273 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:30:25,302.302 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:30:25,304.304 INFO    ] No update needed
[2026-08-29 15:30:25,305.305 INFO    ] Checking for camera pi updates...
[2026-08-29 15:30:25,326.326 INFO    ] 200
[2026-08-29 15:30:25,327.327 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:30:25,353.353 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:30:25,438.438 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:30:25,440.440 INFO    ] No camera update needed
[2026-08-29 15:30:25,441.441 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:30:25,443.443 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:30:25,446.446 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:30:25,449.449 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:30:27,488.488 INFO    ] ================================================
[2026-08-29 15:30:27,504.504 INFO    ] Launching Daemon at Sat Aug 29 15:30:27 IST 2026
[2026-08-29 15:30:27,516.516 INFO    ] ================================================
[2026-08-29 15:30:27,892.892 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:30:27
[2026-08-29 15:30:28,228.228 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:30:28,379.379 INFO    ] Initializing speech engine...
[2026-08-29 15:30:28,384.384 INFO    ] 2026-08-29 15:30:28
[2026-08-29 15:30:28,594.594 INFO    ] 2026-08-29 15:30:28
[2026-08-29 15:30:28,624.624 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:30:28,751.751 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:30:28,759.759 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:30:28,946.946 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:30:28,965.965 INFO    ] time= 29/08/2026 15:30:28
[2026-08-29 15:30:28,983.983 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:30:29,013.013 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:30:29,120.120 INFO    ] No existing commands found in stream
[2026-08-29 15:30:34,136.136 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:30:34,139.139 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-08-29 15:30:36,085.085 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:30:36,087.087 INFO    ] Checking for system updates...
[2026-08-29 15:30:36,109.109 INFO    ] 200
[2026-08-29 15:30:36,111.111 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:30:36,143.143 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:30:36,145.145 INFO    ] No update needed
[2026-08-29 15:30:36,146.146 INFO    ] Checking for camera pi updates...
[2026-08-29 15:30:36,166.166 INFO    ] 200
[2026-08-29 15:30:36,167.167 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:30:36,191.191 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:30:36,309.309 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:30:36,311.311 INFO    ] No camera update needed
[2026-08-29 15:30:36,312.312 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:30:36,314.314 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:30:36,317.317 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:30:36,320.320 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:30:38,361.361 INFO    ] ================================================
[2026-08-29 15:30:38,381.381 INFO    ] Launching Daemon at Sat Aug 29 15:30:38 IST 2026
[2026-08-29 15:30:38,392.392 INFO    ] ================================================
[2026-08-29 15:30:38,743.743 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:30:38
[2026-08-29 15:30:39,056.056 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:30:39,188.188 INFO    ] Initializing speech engine...
[2026-08-29 15:30:39,192.192 INFO    ] 2026-08-29 15:30:39
[2026-08-29 15:30:39,408.408 INFO    ] 2026-08-29 15:30:39
[2026-08-29 15:30:39,437.437 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:30:39,589.589 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:30:39,598.598 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:30:39,747.747 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:30:39,805.805 INFO    ] time= 29/08/2026 15:30:39
[2026-08-29 15:30:39,812.812 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:30:39,869.869 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:30:39,990.990 INFO    ] No existing commands found in stream
[2026-08-29 15:30:45,001.001 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:30:45,003.003 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 15:30:47,524.524 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:30:47,525.525 INFO    ] Checking for system updates...
[2026-08-29 15:30:47,546.546 INFO    ] 200
[2026-08-29 15:30:47,547.547 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:30:47,577.577 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:30:47,579.579 INFO    ] No update needed
[2026-08-29 15:30:47,580.580 INFO    ] Checking for camera pi updates...
[2026-08-29 15:30:47,601.601 INFO    ] 200
[2026-08-29 15:30:47,603.603 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:30:47,627.627 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:30:47,712.712 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:30:47,713.713 INFO    ] No camera update needed
[2026-08-29 15:30:47,715.715 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:30:47,716.716 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:30:47,719.719 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:30:47,722.722 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:30:49,763.763 INFO    ] ================================================
[2026-08-29 15:30:49,779.779 INFO    ] Launching Daemon at Sat Aug 29 15:30:49 IST 2026
[2026-08-29 15:30:49,789.789 INFO    ] ================================================
[2026-08-29 15:30:50,139.139 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:30:50
[2026-08-29 15:30:50,476.476 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:30:50,710.710 INFO    ] Initializing speech engine...
[2026-08-29 15:30:50,717.717 INFO    ] 2026-08-29 15:30:50
[2026-08-29 15:30:51,012.012 INFO    ] 2026-08-29 15:30:50
[2026-08-29 15:30:51,081.081 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:30:51,285.285 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:30:51,295.295 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:30:51,432.432 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:30:51,459.459 INFO    ] time= 29/08/2026 15:30:51
[2026-08-29 15:30:51,519.519 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:30:51,570.570 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:30:51,625.625 INFO    ] No existing commands found in stream
[2026-08-29 15:30:56,637.637 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:30:56,640.640 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-08-29 15:30:57,440.440 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:30:57,442.442 INFO    ] Checking for system updates...
[2026-08-29 15:30:57,462.462 INFO    ] 200
[2026-08-29 15:30:57,464.464 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:30:57,494.494 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:30:57,496.496 INFO    ] No update needed
[2026-08-29 15:30:57,497.497 INFO    ] Checking for camera pi updates...
[2026-08-29 15:30:57,516.516 INFO    ] 200
[2026-08-29 15:30:57,518.518 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:30:57,543.543 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:30:57,625.625 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:30:57,626.626 INFO    ] No camera update needed
[2026-08-29 15:30:57,627.627 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:30:57,629.629 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:30:57,632.632 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:30:57,635.635 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:30:59,673.673 INFO    ] ================================================
[2026-08-29 15:30:59,690.690 INFO    ] Launching Daemon at Sat Aug 29 15:30:59 IST 2026
[2026-08-29 15:30:59,701.701 INFO    ] ================================================
[2026-08-29 15:31:00,032.032 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:31:00
[2026-08-29 15:31:00,350.350 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:31:00,495.495 INFO    ] Initializing speech engine...
[2026-08-29 15:31:00,500.500 INFO    ] 2026-08-29 15:31:00
[2026-08-29 15:31:00,703.703 INFO    ] 2026-08-29 15:31:00
[2026-08-29 15:31:00,731.731 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:31:00,865.865 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:31:00,918.918 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:31:01,048.048 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:31:01,109.109 INFO    ] time= 29/08/2026 15:31:01
[2026-08-29 15:31:01,139.139 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:31:01,149.149 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:31:01,219.219 INFO    ] No existing commands found in stream
[2026-08-29 15:31:06,230.230 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:31:06,233.233 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-08-29 15:31:10,068.068 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:31:10,069.069 INFO    ] Checking for system updates...
[2026-08-29 15:31:10,090.090 INFO    ] 200
[2026-08-29 15:31:10,091.091 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:31:10,121.121 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:31:10,123.123 INFO    ] No update needed
[2026-08-29 15:31:10,124.124 INFO    ] Checking for camera pi updates...
[2026-08-29 15:31:10,144.144 INFO    ] 200
[2026-08-29 15:31:10,145.145 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:31:10,168.168 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:31:10,343.343 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:31:10,344.344 INFO    ] No camera update needed
[2026-08-29 15:31:10,345.345 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:31:10,347.347 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:31:10,349.349 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:31:10,352.352 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:31:12,394.394 INFO    ] ================================================
[2026-08-29 15:31:12,410.410 INFO    ] Launching Daemon at Sat Aug 29 15:31:12 IST 2026
[2026-08-29 15:31:12,421.421 INFO    ] ================================================
[2026-08-29 15:31:12,790.790 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:31:12
[2026-08-29 15:31:13,102.102 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:31:13,254.254 INFO    ] Initializing speech engine...
[2026-08-29 15:31:13,264.264 INFO    ] 2026-08-29 15:31:13
[2026-08-29 15:31:13,515.515 INFO    ] 2026-08-29 15:31:13
[2026-08-29 15:31:13,551.551 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:31:13,728.728 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:31:13,741.741 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:31:13,853.853 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:31:13,872.872 INFO    ] time= 29/08/2026 15:31:13
[2026-08-29 15:31:13,892.892 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:31:13,900.900 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:31:13,972.972 INFO    ] No existing commands found in stream
[2026-08-29 15:31:18,987.987 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:31:18,990.990 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-08-29 15:31:20,661.661 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:31:20,662.662 INFO    ] Checking for system updates...
[2026-08-29 15:31:20,683.683 INFO    ] 200
[2026-08-29 15:31:20,684.684 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:31:20,717.717 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:31:20,718.718 INFO    ] No update needed
[2026-08-29 15:31:20,719.719 INFO    ] Checking for camera pi updates...
[2026-08-29 15:31:20,740.740 INFO    ] 200
[2026-08-29 15:31:20,742.742 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:31:20,782.782 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:31:20,837.837 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:31:20,839.839 INFO    ] No camera update needed
[2026-08-29 15:31:20,841.841 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:31:20,844.844 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:31:20,849.849 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:31:20,854.854 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:31:22,902.902 INFO    ] ================================================
[2026-08-29 15:31:22,918.918 INFO    ] Launching Daemon at Sat Aug 29 15:31:22 IST 2026
[2026-08-29 15:31:22,929.929 INFO    ] ================================================
[2026-08-29 15:31:23,278.278 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:31:23
[2026-08-29 15:31:23,594.594 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:31:23,843.843 INFO    ] Initializing speech engine...
[2026-08-29 15:31:23,847.847 INFO    ] 2026-08-29 15:31:23
[2026-08-29 15:31:24,100.100 INFO    ] 2026-08-29 15:31:24
[2026-08-29 15:31:24,136.136 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:31:24,308.308 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:31:24,323.323 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:31:24,462.462 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:31:24,472.472 INFO    ] time= 29/08/2026 15:31:24
[2026-08-29 15:31:24,477.477 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:31:24,482.482 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:31:24,551.551 INFO    ] No existing commands found in stream
[2026-08-29 15:31:29,571.571 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:31:29,574.574 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-08-29 15:31:32,327.327 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:31:32,330.330 INFO    ] Checking for system updates...
[2026-08-29 15:31:32,372.372 INFO    ] 200
[2026-08-29 15:31:32,375.375 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:31:32,434.434 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:31:32,437.437 INFO    ] No update needed
[2026-08-29 15:31:32,440.440 INFO    ] Checking for camera pi updates...
[2026-08-29 15:31:32,487.487 INFO    ] 200
[2026-08-29 15:31:32,490.490 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:31:32,542.542 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:31:32,667.667 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:31:32,669.669 INFO    ] No camera update needed
[2026-08-29 15:31:32,672.672 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:31:32,675.675 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:31:32,681.681 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:31:32,687.687 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:31:34,729.729 INFO    ] ================================================
[2026-08-29 15:31:34,745.745 INFO    ] Launching Daemon at Sat Aug 29 15:31:34 IST 2026
[2026-08-29 15:31:34,757.757 INFO    ] ================================================
[2026-08-29 15:31:35,103.103 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:31:35
[2026-08-29 15:31:35,417.417 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:31:35,564.564 INFO    ] Initializing speech engine...
[2026-08-29 15:31:35,570.570 INFO    ] 2026-08-29 15:31:35
[2026-08-29 15:31:35,787.787 INFO    ] 2026-08-29 15:31:35
[2026-08-29 15:31:35,818.818 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:31:35,915.915 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:31:35,919.919 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:31:36,028.028 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:31:36,037.037 INFO    ] time= 29/08/2026 15:31:36
[2026-08-29 15:31:36,043.043 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:31:36,059.059 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:31:36,126.126 INFO    ] No existing commands found in stream
[2026-08-29 15:31:41,158.158 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:31:41,161.161 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-08-29 15:31:43,713.713 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:31:43,715.715 INFO    ] Checking for system updates...
[2026-08-29 15:31:43,735.735 INFO    ] 200
[2026-08-29 15:31:43,737.737 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:31:43,767.767 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:31:43,768.768 INFO    ] No update needed
[2026-08-29 15:31:43,769.769 INFO    ] Checking for camera pi updates...
[2026-08-29 15:31:43,788.788 INFO    ] 200
[2026-08-29 15:31:43,789.789 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:31:43,825.825 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:31:43,943.943 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:31:43,946.946 INFO    ] No camera update needed
[2026-08-29 15:31:43,948.948 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:31:43,950.950 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:31:43,956.956 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:31:43,961.961 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:31:46,001.001 INFO    ] ================================================
[2026-08-29 15:31:46,017.017 INFO    ] Launching Daemon at Sat Aug 29 15:31:46 IST 2026
[2026-08-29 15:31:46,028.028 INFO    ] ================================================
[2026-08-29 15:31:46,596.596 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:31:46
[2026-08-29 15:31:47,016.016 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:31:47,149.149 INFO    ] Initializing speech engine...
[2026-08-29 15:31:47,154.154 INFO    ] 2026-08-29 15:31:47
[2026-08-29 15:31:47,389.389 INFO    ] 2026-08-29 15:31:47
[2026-08-29 15:31:47,425.425 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:31:47,573.573 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:31:47,581.581 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:31:47,729.729 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:31:47,741.741 INFO    ] time= 29/08/2026 15:31:47
[2026-08-29 15:31:47,749.749 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:31:47,755.755 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:31:47,823.823 INFO    ] No existing commands found in stream
[2026-08-29 15:31:52,836.836 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:31:52,839.839 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-08-29 15:31:54,426.426 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:31:54,427.427 INFO    ] Checking for system updates...
[2026-08-29 15:31:54,448.448 INFO    ] 200
[2026-08-29 15:31:54,449.449 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:31:54,478.478 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:31:54,480.480 INFO    ] No update needed
[2026-08-29 15:31:54,481.481 INFO    ] Checking for camera pi updates...
[2026-08-29 15:31:54,502.502 INFO    ] 200
[2026-08-29 15:31:54,503.503 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:31:54,526.526 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:31:54,607.607 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:31:54,608.608 INFO    ] No camera update needed
[2026-08-29 15:31:54,609.609 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:31:54,610.610 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:31:54,614.614 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:31:54,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:31:56,655.655 INFO    ] ================================================
[2026-08-29 15:31:56,670.670 INFO    ] Launching Daemon at Sat Aug 29 15:31:56 IST 2026
[2026-08-29 15:31:56,681.681 INFO    ] ================================================
[2026-08-29 15:31:57,029.029 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:31:57
[2026-08-29 15:31:57,349.349 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:31:57,484.484 INFO    ] Initializing speech engine...
[2026-08-29 15:31:57,488.488 INFO    ] 2026-08-29 15:31:57
[2026-08-29 15:31:57,719.719 INFO    ] 2026-08-29 15:31:57
[2026-08-29 15:31:57,750.750 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:31:57,845.845 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:31:57,848.848 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:31:57,967.967 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:31:57,983.983 INFO    ] time= 29/08/2026 15:31:57
[2026-08-29 15:31:57,987.987 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:31:57,992.992 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:31:58,074.074 INFO    ] No existing commands found in stream
[2026-08-29 15:32:03,109.109 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:32:03,111.111 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-08-29 15:32:06,493.493 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:32:06,494.494 INFO    ] Checking for system updates...
[2026-08-29 15:32:06,515.515 INFO    ] 200
[2026-08-29 15:32:06,516.516 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:32:06,546.546 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:32:06,547.547 INFO    ] No update needed
[2026-08-29 15:32:06,548.548 INFO    ] Checking for camera pi updates...
[2026-08-29 15:32:06,568.568 INFO    ] 200
[2026-08-29 15:32:06,569.569 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:32:06,596.596 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:32:06,676.676 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:32:06,678.678 INFO    ] No camera update needed
[2026-08-29 15:32:06,681.681 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:32:06,683.683 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:32:06,688.688 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:32:06,694.694 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:32:08,735.735 INFO    ] ================================================
[2026-08-29 15:32:08,750.750 INFO    ] Launching Daemon at Sat Aug 29 15:32:08 IST 2026
[2026-08-29 15:32:08,761.761 INFO    ] ================================================
[2026-08-29 15:32:09,344.344 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:32:09
[2026-08-29 15:32:09,840.840 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:32:09,983.983 INFO    ] Initializing speech engine...
[2026-08-29 15:32:09,992.992 INFO    ] 2026-08-29 15:32:09
[2026-08-29 15:32:10,209.209 INFO    ] 2026-08-29 15:32:10
[2026-08-29 15:32:10,240.240 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:32:10,371.371 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:32:10,416.416 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:32:10,560.560 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:32:10,584.584 INFO    ] time= 29/08/2026 15:32:10
[2026-08-29 15:32:10,635.635 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:32:10,669.669 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:32:10,766.766 INFO    ] No existing commands found in stream
[2026-08-29 15:32:15,776.776 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:32:15,779.779 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-08-29 15:32:16,747.747 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:32:16,749.749 INFO    ] Checking for system updates...
[2026-08-29 15:32:16,769.769 INFO    ] 200
[2026-08-29 15:32:16,770.770 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:32:16,800.800 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:32:16,801.801 INFO    ] No update needed
[2026-08-29 15:32:16,803.803 INFO    ] Checking for camera pi updates...
[2026-08-29 15:32:16,823.823 INFO    ] 200
[2026-08-29 15:32:16,825.825 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:32:16,847.847 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:32:16,936.936 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:32:16,938.938 INFO    ] No camera update needed
[2026-08-29 15:32:16,939.939 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:32:16,940.940 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:32:16,943.943 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:32:16,946.946 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:32:18,985.985 INFO    ] ================================================
[2026-08-29 15:32:19,001.001 INFO    ] Launching Daemon at Sat Aug 29 15:32:18 IST 2026
[2026-08-29 15:32:19,013.013 INFO    ] ================================================
[2026-08-29 15:32:19,396.396 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:32:19
[2026-08-29 15:32:19,730.730 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:32:19,875.875 INFO    ] Initializing speech engine...
[2026-08-29 15:32:19,885.885 INFO    ] 2026-08-29 15:32:19
[2026-08-29 15:32:20,135.135 INFO    ] 2026-08-29 15:32:20
[2026-08-29 15:32:20,202.202 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:32:20,357.357 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:32:20,374.374 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:32:20,503.503 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:32:20,512.512 INFO    ] time= 29/08/2026 15:32:20
[2026-08-29 15:32:20,521.521 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:32:20,582.582 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:32:20,682.682 INFO    ] No existing commands found in stream
[2026-08-29 15:32:25,713.713 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:32:25,716.716 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 15:32:27,201.201 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:32:27,202.202 INFO    ] Checking for system updates...
[2026-08-29 15:32:27,223.223 INFO    ] 200
[2026-08-29 15:32:27,224.224 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:32:27,254.254 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:32:27,255.255 INFO    ] No update needed
[2026-08-29 15:32:27,257.257 INFO    ] Checking for camera pi updates...
[2026-08-29 15:32:27,278.278 INFO    ] 200
[2026-08-29 15:32:27,280.280 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:32:27,304.304 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:32:27,363.363 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:32:27,364.364 INFO    ] No camera update needed
[2026-08-29 15:32:27,365.365 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:32:27,367.367 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:32:27,369.369 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:32:27,372.372 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:32:29,411.411 INFO    ] ================================================
[2026-08-29 15:32:29,429.429 INFO    ] Launching Daemon at Sat Aug 29 15:32:29 IST 2026
[2026-08-29 15:32:29,440.440 INFO    ] ================================================
[2026-08-29 15:32:29,797.797 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:32:29
[2026-08-29 15:32:30,113.113 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:32:30,322.322 INFO    ] Initializing speech engine...
[2026-08-29 15:32:30,337.337 INFO    ] 2026-08-29 15:32:30
[2026-08-29 15:32:30,611.611 INFO    ] 2026-08-29 15:32:30
[2026-08-29 15:32:30,648.648 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:32:30,796.796 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:32:30,824.824 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:32:30,954.954 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:32:30,958.958 INFO    ] time= 29/08/2026 15:32:30
[2026-08-29 15:32:30,964.964 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:32:30,986.986 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:32:31,038.038 INFO    ] No existing commands found in stream
[2026-08-29 15:32:36,049.049 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:32:36,052.052 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-08-29 15:32:40,147.147 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:32:40,148.148 INFO    ] Checking for system updates...
[2026-08-29 15:32:40,169.169 INFO    ] 200
[2026-08-29 15:32:40,170.170 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:32:40,200.200 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:32:40,201.201 INFO    ] No update needed
[2026-08-29 15:32:40,203.203 INFO    ] Checking for camera pi updates...
[2026-08-29 15:32:40,222.222 INFO    ] 200
[2026-08-29 15:32:40,223.223 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:32:40,246.246 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:32:40,355.355 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:32:40,356.356 INFO    ] No camera update needed
[2026-08-29 15:32:40,358.358 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:32:40,359.359 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:32:40,362.362 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:32:40,365.365 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:32:42,404.404 INFO    ] ================================================
[2026-08-29 15:32:42,419.419 INFO    ] Launching Daemon at Sat Aug 29 15:32:42 IST 2026
[2026-08-29 15:32:42,431.431 INFO    ] ================================================
[2026-08-29 15:32:42,784.784 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:32:42
[2026-08-29 15:32:43,098.098 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:32:43,242.242 INFO    ] Initializing speech engine...
[2026-08-29 15:32:43,247.247 INFO    ] 2026-08-29 15:32:43
[2026-08-29 15:32:43,449.449 INFO    ] 2026-08-29 15:32:43
[2026-08-29 15:32:43,515.515 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:32:43,663.663 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:32:43,673.673 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:32:43,808.808 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:32:43,845.845 INFO    ] time= 29/08/2026 15:32:43
[2026-08-29 15:32:43,899.899 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:32:43,946.946 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:32:44,006.006 INFO    ] No existing commands found in stream
[2026-08-29 15:32:49,017.017 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:32:49,020.020 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-08-29 15:32:53,014.014 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:32:53,016.016 INFO    ] Checking for system updates...
[2026-08-29 15:32:53,036.036 INFO    ] 200
[2026-08-29 15:32:53,037.037 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:32:53,067.067 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:32:53,068.068 INFO    ] No update needed
[2026-08-29 15:32:53,070.070 INFO    ] Checking for camera pi updates...
[2026-08-29 15:32:53,089.089 INFO    ] 200
[2026-08-29 15:32:53,091.091 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:32:53,117.117 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:32:53,225.225 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:32:53,227.227 INFO    ] No camera update needed
[2026-08-29 15:32:53,228.228 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:32:53,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:32:53,232.232 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:32:53,235.235 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:32:55,275.275 INFO    ] ================================================
[2026-08-29 15:32:55,291.291 INFO    ] Launching Daemon at Sat Aug 29 15:32:55 IST 2026
[2026-08-29 15:32:55,301.301 INFO    ] ================================================
[2026-08-29 15:32:55,687.687 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:32:55
[2026-08-29 15:32:56,024.024 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:32:56,175.175 INFO    ] Initializing speech engine...
[2026-08-29 15:32:56,180.180 INFO    ] 2026-08-29 15:32:56
[2026-08-29 15:32:56,391.391 INFO    ] 2026-08-29 15:32:56
[2026-08-29 15:32:56,420.420 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:32:56,544.544 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:32:56,602.602 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:32:56,749.749 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:32:56,813.813 INFO    ] time= 29/08/2026 15:32:56
[2026-08-29 15:32:56,841.841 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:32:56,848.848 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:32:56,916.916 INFO    ] No existing commands found in stream
[2026-08-29 15:33:01,925.925 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:33:01,929.929 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-08-29 15:33:06,005.005 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:33:06,008.008 INFO    ] Checking for system updates...
[2026-08-29 15:33:06,045.045 INFO    ] 200
[2026-08-29 15:33:06,048.048 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:33:06,101.101 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:33:06,104.104 INFO    ] No update needed
[2026-08-29 15:33:06,107.107 INFO    ] Checking for camera pi updates...
[2026-08-29 15:33:06,145.145 INFO    ] 200
[2026-08-29 15:33:06,147.147 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:33:06,188.188 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:33:06,284.284 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:33:06,286.286 INFO    ] No camera update needed
[2026-08-29 15:33:06,289.289 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:33:06,292.292 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:33:06,298.298 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:33:06,303.303 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:33:08,345.345 INFO    ] ================================================
[2026-08-29 15:33:08,361.361 INFO    ] Launching Daemon at Sat Aug 29 15:33:08 IST 2026
[2026-08-29 15:33:08,373.373 INFO    ] ================================================
[2026-08-29 15:33:08,932.932 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:33:08
[2026-08-29 15:33:09,248.248 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:33:09,465.465 INFO    ] Initializing speech engine...
[2026-08-29 15:33:09,472.472 INFO    ] 2026-08-29 15:33:09
[2026-08-29 15:33:09,733.733 INFO    ] 2026-08-29 15:33:09
[2026-08-29 15:33:09,793.793 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:33:09,937.937 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:33:09,950.950 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:33:10,079.079 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:33:10,103.103 INFO    ] time= 29/08/2026 15:33:10
[2026-08-29 15:33:10,108.108 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:33:10,114.114 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:33:10,187.187 INFO    ] No existing commands found in stream
[2026-08-29 15:33:15,223.223 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:33:15,225.225 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-08-29 15:33:18,370.370 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:33:18,372.372 INFO    ] Checking for system updates...
[2026-08-29 15:33:18,392.392 INFO    ] 200
[2026-08-29 15:33:18,393.393 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:33:18,423.423 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:33:18,424.424 INFO    ] No update needed
[2026-08-29 15:33:18,425.425 INFO    ] Checking for camera pi updates...
[2026-08-29 15:33:18,444.444 INFO    ] 200
[2026-08-29 15:33:18,446.446 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:33:18,468.468 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:33:18,658.658 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:33:18,659.659 INFO    ] No camera update needed
[2026-08-29 15:33:18,660.660 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:33:18,662.662 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:33:18,665.665 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:33:18,667.667 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:33:20,707.707 INFO    ] ================================================
[2026-08-29 15:33:20,723.723 INFO    ] Launching Daemon at Sat Aug 29 15:33:20 IST 2026
[2026-08-29 15:33:20,733.733 INFO    ] ================================================
[2026-08-29 15:33:21,059.059 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:33:21
[2026-08-29 15:33:21,373.373 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:33:21,503.503 INFO    ] Initializing speech engine...
[2026-08-29 15:33:21,508.508 INFO    ] 2026-08-29 15:33:21
[2026-08-29 15:33:21,727.727 INFO    ] 2026-08-29 15:33:21
[2026-08-29 15:33:21,756.756 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:33:21,918.918 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:33:21,949.949 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:33:22,068.068 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:33:22,087.087 INFO    ] time= 29/08/2026 15:33:22
[2026-08-29 15:33:22,117.117 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:33:22,125.125 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:33:22,206.206 INFO    ] No existing commands found in stream
[2026-08-29 15:33:27,236.236 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:33:27,239.239 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-08-29 15:33:30,411.411 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:33:30,413.413 INFO    ] Checking for system updates...
[2026-08-29 15:33:30,434.434 INFO    ] 200
[2026-08-29 15:33:30,435.435 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:33:30,465.465 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:33:30,467.467 INFO    ] No update needed
[2026-08-29 15:33:30,468.468 INFO    ] Checking for camera pi updates...
[2026-08-29 15:33:30,489.489 INFO    ] 200
[2026-08-29 15:33:30,490.490 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:33:30,515.515 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:33:30,605.605 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:33:30,606.606 INFO    ] No camera update needed
[2026-08-29 15:33:30,607.607 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:33:30,609.609 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:33:30,612.612 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:33:30,615.615 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:33:32,657.657 INFO    ] ================================================
[2026-08-29 15:33:32,672.672 INFO    ] Launching Daemon at Sat Aug 29 15:33:32 IST 2026
[2026-08-29 15:33:32,682.682 INFO    ] ================================================
[2026-08-29 15:33:33,252.252 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:33:33
[2026-08-29 15:33:33,834.834 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:33:34,093.093 INFO    ] Initializing speech engine...
[2026-08-29 15:33:34,109.109 INFO    ] 2026-08-29 15:33:34
[2026-08-29 15:33:34,364.364 INFO    ] 2026-08-29 15:33:34
[2026-08-29 15:33:34,399.399 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:33:34,576.576 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:33:34,589.589 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:33:34,702.702 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:33:34,721.721 INFO    ] time= 29/08/2026 15:33:34
[2026-08-29 15:33:34,739.739 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:33:34,744.744 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:33:34,843.843 INFO    ] No existing commands found in stream
[2026-08-29 15:33:39,853.853 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:33:39,856.856 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 15:33:41,264.264 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:33:41,265.265 INFO    ] Checking for system updates...
[2026-08-29 15:33:41,286.286 INFO    ] 200
[2026-08-29 15:33:41,287.287 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:33:41,317.317 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:33:41,318.318 INFO    ] No update needed
[2026-08-29 15:33:41,319.319 INFO    ] Checking for camera pi updates...
[2026-08-29 15:33:41,338.338 INFO    ] 200
[2026-08-29 15:33:41,340.340 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:33:41,363.363 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:33:41,462.462 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:33:41,463.463 INFO    ] No camera update needed
[2026-08-29 15:33:41,464.464 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:33:41,466.466 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:33:41,468.468 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:33:41,471.471 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:33:43,511.511 INFO    ] ================================================
[2026-08-29 15:33:43,527.527 INFO    ] Launching Daemon at Sat Aug 29 15:33:43 IST 2026
[2026-08-29 15:33:43,537.537 INFO    ] ================================================
[2026-08-29 15:33:43,928.928 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:33:43
[2026-08-29 15:33:44,265.265 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:33:44,416.416 INFO    ] Initializing speech engine...
[2026-08-29 15:33:44,423.423 INFO    ] 2026-08-29 15:33:44
[2026-08-29 15:33:44,630.630 INFO    ] 2026-08-29 15:33:44
[2026-08-29 15:33:44,659.659 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:33:44,799.799 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:33:44,847.847 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:33:44,983.983 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:33:45,049.049 INFO    ] time= 29/08/2026 15:33:44
[2026-08-29 15:33:45,078.078 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:33:45,084.084 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:33:45,151.151 INFO    ] No existing commands found in stream
[2026-08-29 15:33:50,162.162 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:33:50,166.166 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 15:33:51,427.427 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:33:51,428.428 INFO    ] Checking for system updates...
[2026-08-29 15:33:51,449.449 INFO    ] 200
[2026-08-29 15:33:51,450.450 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:33:51,481.481 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:33:51,482.482 INFO    ] No update needed
[2026-08-29 15:33:51,484.484 INFO    ] Checking for camera pi updates...
[2026-08-29 15:33:51,504.504 INFO    ] 200
[2026-08-29 15:33:51,505.505 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:33:51,528.528 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:33:51,612.612 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:33:51,613.613 INFO    ] No camera update needed
[2026-08-29 15:33:51,615.615 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:33:51,616.616 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:33:51,619.619 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:33:51,622.622 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:33:53,661.661 INFO    ] ================================================
[2026-08-29 15:33:53,676.676 INFO    ] Launching Daemon at Sat Aug 29 15:33:53 IST 2026
[2026-08-29 15:33:53,687.687 INFO    ] ================================================
[2026-08-29 15:33:54,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:33:54
[2026-08-29 15:33:54,412.412 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:33:54,635.635 INFO    ] Initializing speech engine...
[2026-08-29 15:33:54,645.645 INFO    ] 2026-08-29 15:33:54
[2026-08-29 15:33:54,920.920 INFO    ] 2026-08-29 15:33:54
[2026-08-29 15:33:54,976.976 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:33:55,196.196 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:33:55,207.207 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:33:55,342.342 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:33:55,397.397 INFO    ] time= 29/08/2026 15:33:55
[2026-08-29 15:33:55,470.470 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:33:55,477.477 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:33:55,598.598 INFO    ] No existing commands found in stream
[2026-08-29 15:34:00,629.629 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:34:00,633.633 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 15:34:02,621.621 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:34:02,625.625 INFO    ] Checking for system updates...
[2026-08-29 15:34:02,667.667 INFO    ] 200
[2026-08-29 15:34:02,670.670 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:34:02,733.733 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:34:02,736.736 INFO    ] No update needed
[2026-08-29 15:34:02,740.740 INFO    ] Checking for camera pi updates...
[2026-08-29 15:34:02,781.781 INFO    ] 200
[2026-08-29 15:34:02,785.785 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:34:02,832.832 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:34:02,917.917 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:34:02,920.920 INFO    ] No camera update needed
[2026-08-29 15:34:02,925.925 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:34:02,927.927 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:34:02,934.934 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:34:02,941.941 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:34:04,982.982 INFO    ] ================================================
[2026-08-29 15:34:05,997.997 INFO    ] Launching Daemon at Sat Aug 29 15:34:04 IST 2026
[2026-08-29 15:34:05,008.008 INFO    ] ================================================
[2026-08-29 15:34:05,355.355 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:34:05
[2026-08-29 15:34:05,674.674 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:34:05,938.938 INFO    ] Initializing speech engine...
[2026-08-29 15:34:05,951.951 INFO    ] 2026-08-29 15:34:05
[2026-08-29 15:34:06,220.220 INFO    ] 2026-08-29 15:34:06
[2026-08-29 15:34:06,275.275 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:34:06,486.486 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:34:06,498.498 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:34:06,646.646 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:34:06,653.653 INFO    ] time= 29/08/2026 15:34:06
[2026-08-29 15:34:06,712.712 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:34:06,771.771 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:34:06,832.832 INFO    ] No existing commands found in stream
[2026-08-29 15:34:11,844.844 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:34:11,847.847 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 15:34:15,305.305 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:34:15,309.309 INFO    ] Checking for system updates...
[2026-08-29 15:34:15,356.356 INFO    ] 200
[2026-08-29 15:34:15,360.360 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:34:15,412.412 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:34:15,414.414 INFO    ] No update needed
[2026-08-29 15:34:15,417.417 INFO    ] Checking for camera pi updates...
[2026-08-29 15:34:15,450.450 INFO    ] 200
[2026-08-29 15:34:15,452.452 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:34:15,493.493 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:34:15,585.585 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:34:15,587.587 INFO    ] No camera update needed
[2026-08-29 15:34:15,590.590 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:34:15,593.593 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:34:15,598.598 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:34:15,604.604 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:34:17,645.645 INFO    ] ================================================
[2026-08-29 15:34:17,659.659 INFO    ] Launching Daemon at Sat Aug 29 15:34:17 IST 2026
[2026-08-29 15:34:17,670.670 INFO    ] ================================================
[2026-08-29 15:34:18,231.231 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:34:18
[2026-08-29 15:34:18,549.549 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:34:18,693.693 INFO    ] Initializing speech engine...
[2026-08-29 15:34:18,698.698 INFO    ] 2026-08-29 15:34:18
[2026-08-29 15:34:18,903.903 INFO    ] 2026-08-29 15:34:18
[2026-08-29 15:34:18,951.951 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:34:19,083.083 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:34:19,101.101 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:34:19,277.277 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:34:19,322.322 INFO    ] time= 29/08/2026 15:34:19
[2026-08-29 15:34:19,328.328 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:34:19,349.349 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:34:19,463.463 INFO    ] No existing commands found in stream
[2026-08-29 15:34:24,486.486 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:34:24,489.489 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-08-29 15:34:27,180.180 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:34:27,182.182 INFO    ] Checking for system updates...
[2026-08-29 15:34:27,202.202 INFO    ] 200
[2026-08-29 15:34:27,204.204 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:34:27,233.233 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:34:27,235.235 INFO    ] No update needed
[2026-08-29 15:34:27,236.236 INFO    ] Checking for camera pi updates...
[2026-08-29 15:34:27,255.255 INFO    ] 200
[2026-08-29 15:34:27,257.257 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:34:27,280.280 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:34:27,390.390 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:34:27,393.393 INFO    ] No camera update needed
[2026-08-29 15:34:27,397.397 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:34:27,399.399 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:34:27,407.407 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:34:27,414.414 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:34:29,461.461 INFO    ] ================================================
[2026-08-29 15:34:29,484.484 INFO    ] Launching Daemon at Sat Aug 29 15:34:29 IST 2026
[2026-08-29 15:34:29,495.495 INFO    ] ================================================
[2026-08-29 15:34:30,080.080 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:34:30
[2026-08-29 15:34:30,603.603 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:34:30,741.741 INFO    ] Initializing speech engine...
[2026-08-29 15:34:30,751.751 INFO    ] 2026-08-29 15:34:30
[2026-08-29 15:34:30,955.955 INFO    ] 2026-08-29 15:34:30
[2026-08-29 15:34:30,983.983 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:34:31,120.120 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:34:31,168.168 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:34:31,336.336 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:34:31,379.379 INFO    ] time= 29/08/2026 15:34:31
[2026-08-29 15:34:31,433.433 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:34:31,471.471 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:34:31,560.560 INFO    ] No existing commands found in stream
[2026-08-29 15:34:36,585.585 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:34:36,588.588 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-08-29 15:34:41,625.625 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:34:41,628.628 INFO    ] Checking for system updates...
[2026-08-29 15:34:41,664.664 INFO    ] 200
[2026-08-29 15:34:41,666.666 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:34:41,712.712 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:34:41,713.713 INFO    ] No update needed
[2026-08-29 15:34:41,715.715 INFO    ] Checking for camera pi updates...
[2026-08-29 15:34:41,734.734 INFO    ] 200
[2026-08-29 15:34:41,736.736 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:34:41,761.761 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:34:41,864.864 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:34:41,866.866 INFO    ] No camera update needed
[2026-08-29 15:34:41,868.868 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:34:41,871.871 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:34:41,876.876 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:34:41,881.881 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:34:43,922.922 INFO    ] ================================================
[2026-08-29 15:34:43,939.939 INFO    ] Launching Daemon at Sat Aug 29 15:34:43 IST 2026
[2026-08-29 15:34:43,950.950 INFO    ] ================================================
[2026-08-29 15:34:44,545.545 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:34:44
[2026-08-29 15:34:45,072.072 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:34:45,327.327 INFO    ] Initializing speech engine...
[2026-08-29 15:34:45,336.336 INFO    ] 2026-08-29 15:34:45
[2026-08-29 15:34:45,644.644 INFO    ] 2026-08-29 15:34:45
[2026-08-29 15:34:45,680.680 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:34:48,890.890 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:34:48,893.893 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:34:48,991.991 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:34:48,994.994 INFO    ] time= 29/08/2026 15:34:48
[2026-08-29 15:34:48,997.997 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:34:49,000.000 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:34:49,056.056 INFO    ] No existing commands found in stream
[2026-08-29 15:34:54,066.066 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:34:54,069.069 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-08-29 15:34:55,787.787 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:34:55,789.789 INFO    ] Checking for system updates...
[2026-08-29 15:34:55,809.809 INFO    ] 200
[2026-08-29 15:34:55,810.810 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:34:55,840.840 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:34:55,842.842 INFO    ] No update needed
[2026-08-29 15:34:55,843.843 INFO    ] Checking for camera pi updates...
[2026-08-29 15:34:55,862.862 INFO    ] 200
[2026-08-29 15:34:55,864.864 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:34:55,888.888 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:34:55,968.968 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:34:55,969.969 INFO    ] No camera update needed
[2026-08-29 15:34:55,970.970 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:34:55,972.972 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:34:55,975.975 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:34:55,977.977 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:34:58,015.015 INFO    ] ================================================
[2026-08-29 15:34:58,030.030 INFO    ] Launching Daemon at Sat Aug 29 15:34:58 IST 2026
[2026-08-29 15:34:58,040.040 INFO    ] ================================================
[2026-08-29 15:34:58,398.398 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:34:58
[2026-08-29 15:34:58,783.783 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:34:59,077.077 INFO    ] Initializing speech engine...
[2026-08-29 15:34:59,087.087 INFO    ] 2026-08-29 15:34:59
[2026-08-29 15:34:59,360.360 INFO    ] 2026-08-29 15:34:59
[2026-08-29 15:34:59,421.421 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:34:59,591.591 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:34:59,619.619 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:34:59,798.798 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:34:59,825.825 INFO    ] time= 29/08/2026 15:34:59
[2026-08-29 15:34:59,885.885 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:34:59,937.937 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:34:59,991.991 INFO    ] No existing commands found in stream
[2026-08-29 15:35:05,004.004 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:35:05,007.007 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-08-29 15:35:08,785.785 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:35:08,786.786 INFO    ] Checking for system updates...
[2026-08-29 15:35:08,807.807 INFO    ] 200
[2026-08-29 15:35:08,809.809 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:35:08,839.839 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:35:08,840.840 INFO    ] No update needed
[2026-08-29 15:35:08,842.842 INFO    ] Checking for camera pi updates...
[2026-08-29 15:35:08,862.862 INFO    ] 200
[2026-08-29 15:35:08,863.863 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:35:08,886.886 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:35:08,982.982 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:35:08,984.984 INFO    ] No camera update needed
[2026-08-29 15:35:08,985.985 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:35:08,986.986 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:35:08,989.989 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:35:08,993.993 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:35:11,035.035 INFO    ] ================================================
[2026-08-29 15:35:11,050.050 INFO    ] Launching Daemon at Sat Aug 29 15:35:11 IST 2026
[2026-08-29 15:35:11,061.061 INFO    ] ================================================
[2026-08-29 15:35:11,394.394 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:35:11
[2026-08-29 15:35:11,706.706 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:35:11,839.839 INFO    ] Initializing speech engine...
[2026-08-29 15:35:11,843.843 INFO    ] 2026-08-29 15:35:11
[2026-08-29 15:35:12,072.072 INFO    ] 2026-08-29 15:35:12
[2026-08-29 15:35:12,102.102 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:35:12,233.233 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:35:12,271.271 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:35:12,405.405 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:35:12,444.444 INFO    ] time= 29/08/2026 15:35:12
[2026-08-29 15:35:12,496.496 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:35:12,528.528 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:35:12,625.625 INFO    ] No existing commands found in stream
[2026-08-29 15:35:17,635.635 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:35:17,638.638 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-08-29 15:35:18,625.625 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:35:18,626.626 INFO    ] Checking for system updates...
[2026-08-29 15:35:18,646.646 INFO    ] 200
[2026-08-29 15:35:18,648.648 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:35:18,677.677 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:35:18,678.678 INFO    ] No update needed
[2026-08-29 15:35:18,680.680 INFO    ] Checking for camera pi updates...
[2026-08-29 15:35:18,698.698 INFO    ] 200
[2026-08-29 15:35:18,700.700 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:35:18,725.725 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:35:18,800.800 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:35:18,801.801 INFO    ] No camera update needed
[2026-08-29 15:35:18,802.802 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:35:18,804.804 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:35:18,806.806 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:35:18,809.809 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:35:20,847.847 INFO    ] ================================================
[2026-08-29 15:35:20,863.863 INFO    ] Launching Daemon at Sat Aug 29 15:35:20 IST 2026
[2026-08-29 15:35:20,873.873 INFO    ] ================================================
[2026-08-29 15:35:21,509.509 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:35:21
[2026-08-29 15:35:22,169.169 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:35:22,469.469 INFO    ] Initializing speech engine...
[2026-08-29 15:35:22,482.482 INFO    ] 2026-08-29 15:35:22
[2026-08-29 15:35:22,757.757 INFO    ] 2026-08-29 15:35:22
[2026-08-29 15:35:22,794.794 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:35:22,977.977 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:35:22,992.992 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:35:23,129.129 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:35:23,157.157 INFO    ] time= 29/08/2026 15:35:23
[2026-08-29 15:35:23,165.165 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:35:23,172.172 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:35:23,247.247 INFO    ] No existing commands found in stream
[2026-08-29 15:35:28,277.277 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:35:28,280.280 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-08-29 15:35:32,617.617 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:35:32,621.621 INFO    ] Checking for system updates...
[2026-08-29 15:35:32,666.666 INFO    ] 200
[2026-08-29 15:35:32,669.669 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:35:32,748.748 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:35:32,752.752 INFO    ] No update needed
[2026-08-29 15:35:32,756.756 INFO    ] Checking for camera pi updates...
[2026-08-29 15:35:32,793.793 INFO    ] 200
[2026-08-29 15:35:32,796.796 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:35:32,844.844 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:35:32,953.953 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:35:32,955.955 INFO    ] No camera update needed
[2026-08-29 15:35:32,958.958 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:35:32,960.960 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:35:32,965.965 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:35:32,970.970 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:35:35,010.010 INFO    ] ================================================
[2026-08-29 15:35:35,025.025 INFO    ] Launching Daemon at Sat Aug 29 15:35:35 IST 2026
[2026-08-29 15:35:35,035.035 INFO    ] ================================================
[2026-08-29 15:35:35,495.495 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:35:35
[2026-08-29 15:35:35,835.835 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:35:36,105.105 INFO    ] Initializing speech engine...
[2026-08-29 15:35:36,112.112 INFO    ] 2026-08-29 15:35:36
[2026-08-29 15:35:36,366.366 INFO    ] 2026-08-29 15:35:36
[2026-08-29 15:35:36,400.400 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:35:36,578.578 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:35:36,590.590 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:35:36,702.702 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:35:36,721.721 INFO    ] time= 29/08/2026 15:35:36
[2026-08-29 15:35:36,740.740 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:35:36,749.749 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:35:36,818.818 INFO    ] No existing commands found in stream
[2026-08-29 15:35:41,830.830 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:35:41,833.833 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-08-29 15:35:43,656.656 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:35:43,658.658 INFO    ] Checking for system updates...
[2026-08-29 15:35:43,694.694 INFO    ] 200
[2026-08-29 15:35:43,697.697 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:35:43,749.749 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:35:43,751.751 INFO    ] No update needed
[2026-08-29 15:35:43,753.753 INFO    ] Checking for camera pi updates...
[2026-08-29 15:35:43,787.787 INFO    ] 200
[2026-08-29 15:35:43,789.789 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:35:43,830.830 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:35:43,911.911 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:35:43,913.913 INFO    ] No camera update needed
[2026-08-29 15:35:43,916.916 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:35:43,918.918 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:35:43,923.923 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:35:43,928.928 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:35:45,969.969 INFO    ] ================================================
[2026-08-29 15:35:45,984.984 INFO    ] Launching Daemon at Sat Aug 29 15:35:45 IST 2026
[2026-08-29 15:35:45,995.995 INFO    ] ================================================
[2026-08-29 15:35:46,568.568 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:35:46
[2026-08-29 15:35:46,930.930 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:35:47,073.073 INFO    ] Initializing speech engine...
[2026-08-29 15:35:47,078.078 INFO    ] 2026-08-29 15:35:47
[2026-08-29 15:35:47,294.294 INFO    ] 2026-08-29 15:35:47
[2026-08-29 15:35:47,348.348 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:35:47,515.515 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:35:47,523.523 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:35:47,691.691 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:35:47,727.727 INFO    ] time= 29/08/2026 15:35:47
[2026-08-29 15:35:47,734.734 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:35:47,752.752 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:35:47,855.855 INFO    ] No existing commands found in stream
[2026-08-29 15:35:52,880.880 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:35:52,883.883 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 15:35:53,431.431 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:35:53,433.433 INFO    ] Checking for system updates...
[2026-08-29 15:35:53,454.454 INFO    ] 200
[2026-08-29 15:35:53,456.456 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:35:53,485.485 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:35:53,486.486 INFO    ] No update needed
[2026-08-29 15:35:53,488.488 INFO    ] Checking for camera pi updates...
[2026-08-29 15:35:53,507.507 INFO    ] 200
[2026-08-29 15:35:53,508.508 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:35:53,537.537 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:35:53,623.623 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:35:53,625.625 INFO    ] No camera update needed
[2026-08-29 15:35:53,628.628 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:35:53,630.630 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:35:53,635.635 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:35:53,640.640 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:35:55,680.680 INFO    ] ================================================
[2026-08-29 15:35:55,695.695 INFO    ] Launching Daemon at Sat Aug 29 15:35:55 IST 2026
[2026-08-29 15:35:55,706.706 INFO    ] ================================================
[2026-08-29 15:35:56,290.290 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:35:56
[2026-08-29 15:35:56,734.734 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:35:56,867.867 INFO    ] Initializing speech engine...
[2026-08-29 15:35:56,879.879 INFO    ] 2026-08-29 15:35:56
[2026-08-29 15:35:57,086.086 INFO    ] 2026-08-29 15:35:57
[2026-08-29 15:35:57,117.117 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:35:57,238.238 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:35:57,301.301 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:35:57,435.435 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:35:57,492.492 INFO    ] time= 29/08/2026 15:35:57
[2026-08-29 15:35:57,522.522 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:35:57,533.533 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:35:57,604.604 INFO    ] No existing commands found in stream
[2026-08-29 15:36:02,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:36:02,617.617 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-08-29 15:36:03,166.166 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:36:03,168.168 INFO    ] Checking for system updates...
[2026-08-29 15:36:03,219.219 INFO    ] 200
[2026-08-29 15:36:03,223.223 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:36:03,296.296 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:36:03,300.300 INFO    ] No update needed
[2026-08-29 15:36:03,304.304 INFO    ] Checking for camera pi updates...
[2026-08-29 15:36:03,343.343 INFO    ] 200
[2026-08-29 15:36:03,346.346 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:36:03,403.403 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:36:03,485.485 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:36:03,488.488 INFO    ] No camera update needed
[2026-08-29 15:36:03,490.490 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:36:03,493.493 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:36:03,499.499 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:36:03,505.505 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:36:05,546.546 INFO    ] ================================================
[2026-08-29 15:36:05,562.562 INFO    ] Launching Daemon at Sat Aug 29 15:36:05 IST 2026
[2026-08-29 15:36:05,573.573 INFO    ] ================================================
[2026-08-29 15:36:06,080.080 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:36:06
[2026-08-29 15:36:06,686.686 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:36:06,967.967 INFO    ] Initializing speech engine...
[2026-08-29 15:36:06,973.973 INFO    ] 2026-08-29 15:36:06
[2026-08-29 15:36:07,237.237 INFO    ] 2026-08-29 15:36:07
[2026-08-29 15:36:07,266.266 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:36:07,454.454 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:36:07,481.481 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:36:07,654.654 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:36:07,675.675 INFO    ] time= 29/08/2026 15:36:07
[2026-08-29 15:36:07,741.741 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:36:07,787.787 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:36:07,844.844 INFO    ] No existing commands found in stream
[2026-08-29 15:36:12,856.856 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:36:12,859.859 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 15:36:13,341.341 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:36:13,344.344 INFO    ] Checking for system updates...
[2026-08-29 15:36:13,381.381 INFO    ] 200
[2026-08-29 15:36:13,384.384 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:36:13,438.438 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:36:13,440.440 INFO    ] No update needed
[2026-08-29 15:36:13,443.443 INFO    ] Checking for camera pi updates...
[2026-08-29 15:36:13,483.483 INFO    ] 200
[2026-08-29 15:36:13,486.486 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:36:13,528.528 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:36:13,637.637 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:36:13,643.643 INFO    ] No camera update needed
[2026-08-29 15:36:13,647.647 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:36:13,650.650 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:36:13,656.656 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:36:13,662.662 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:36:15,705.705 INFO    ] ================================================
[2026-08-29 15:36:15,720.720 INFO    ] Launching Daemon at Sat Aug 29 15:36:15 IST 2026
[2026-08-29 15:36:15,731.731 INFO    ] ================================================
[2026-08-29 15:36:16,119.119 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:36:16
[2026-08-29 15:36:16,465.465 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:36:16,613.613 INFO    ] Initializing speech engine...
[2026-08-29 15:36:16,620.620 INFO    ] 2026-08-29 15:36:16
[2026-08-29 15:36:16,836.836 INFO    ] 2026-08-29 15:36:16
[2026-08-29 15:36:16,866.866 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:36:16,990.990 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:36:17,029.029 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:36:17,170.170 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:36:17,199.199 INFO    ] time= 29/08/2026 15:36:17
[2026-08-29 15:36:17,264.264 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:36:17,292.292 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:36:17,364.364 INFO    ] No existing commands found in stream
[2026-08-29 15:36:22,375.375 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:36:22,379.379 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-08-29 15:36:23,398.398 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:36:23,400.400 INFO    ] Checking for system updates...
[2026-08-29 15:36:23,422.422 INFO    ] 200
[2026-08-29 15:36:23,423.423 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:36:23,454.454 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:36:23,455.455 INFO    ] No update needed
[2026-08-29 15:36:23,457.457 INFO    ] Checking for camera pi updates...
[2026-08-29 15:36:23,478.478 INFO    ] 200
[2026-08-29 15:36:23,479.479 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:36:23,507.507 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:36:23,588.588 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:36:23,590.590 INFO    ] No camera update needed
[2026-08-29 15:36:23,591.591 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:36:23,592.592 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:36:23,596.596 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:36:23,599.599 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:36:25,638.638 INFO    ] ================================================
[2026-08-29 15:36:25,654.654 INFO    ] Launching Daemon at Sat Aug 29 15:36:25 IST 2026
[2026-08-29 15:36:25,665.665 INFO    ] ================================================
[2026-08-29 15:36:26,006.006 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:36:25
[2026-08-29 15:36:26,318.318 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:36:26,460.460 INFO    ] Initializing speech engine...
[2026-08-29 15:36:26,470.470 INFO    ] 2026-08-29 15:36:26
[2026-08-29 15:36:26,663.663 INFO    ] 2026-08-29 15:36:26
[2026-08-29 15:36:26,743.743 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:36:26,890.890 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:36:26,899.899 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:36:27,031.031 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:36:27,053.053 INFO    ] time= 29/08/2026 15:36:27
[2026-08-29 15:36:27,117.117 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:36:27,165.165 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:36:27,221.221 INFO    ] No existing commands found in stream
[2026-08-29 15:36:32,233.233 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:36:32,236.236 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-08-29 15:36:34,624.624 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:36:34,627.627 INFO    ] Checking for system updates...
[2026-08-29 15:36:34,663.663 INFO    ] 200
[2026-08-29 15:36:34,665.665 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:36:34,700.700 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:36:34,701.701 INFO    ] No update needed
[2026-08-29 15:36:34,702.702 INFO    ] Checking for camera pi updates...
[2026-08-29 15:36:34,721.721 INFO    ] 200
[2026-08-29 15:36:34,723.723 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:36:34,746.746 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:36:34,855.855 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:36:34,858.858 INFO    ] No camera update needed
[2026-08-29 15:36:34,860.860 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:36:34,862.862 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:36:34,867.867 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:36:34,872.872 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:36:36,913.913 INFO    ] ================================================
[2026-08-29 15:36:36,928.928 INFO    ] Launching Daemon at Sat Aug 29 15:36:36 IST 2026
[2026-08-29 15:36:36,939.939 INFO    ] ================================================
[2026-08-29 15:36:37,526.526 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:36:37
[2026-08-29 15:36:37,968.968 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:36:38,098.098 INFO    ] Initializing speech engine...
[2026-08-29 15:36:38,103.103 INFO    ] 2026-08-29 15:36:38
[2026-08-29 15:36:38,296.296 INFO    ] 2026-08-29 15:36:38
[2026-08-29 15:36:38,331.331 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:36:38,501.501 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:36:38,513.513 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:36:38,657.657 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:36:38,665.665 INFO    ] time= 29/08/2026 15:36:38
[2026-08-29 15:36:38,672.672 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:36:38,692.692 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:36:38,801.801 INFO    ] No existing commands found in stream
[2026-08-29 15:36:43,824.824 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:36:43,827.827 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-08-29 15:36:44,503.503 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:36:44,504.504 INFO    ] Checking for system updates...
[2026-08-29 15:36:44,524.524 INFO    ] 200
[2026-08-29 15:36:44,526.526 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:36:44,556.556 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:36:44,557.557 INFO    ] No update needed
[2026-08-29 15:36:44,558.558 INFO    ] Checking for camera pi updates...
[2026-08-29 15:36:44,578.578 INFO    ] 200
[2026-08-29 15:36:44,580.580 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:36:44,603.603 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:36:44,704.704 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:36:44,705.705 INFO    ] No camera update needed
[2026-08-29 15:36:44,707.707 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:36:44,708.708 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:36:44,711.711 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:36:44,714.714 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:36:46,755.755 INFO    ] ================================================
[2026-08-29 15:36:46,770.770 INFO    ] Launching Daemon at Sat Aug 29 15:36:46 IST 2026
[2026-08-29 15:36:46,781.781 INFO    ] ================================================
[2026-08-29 15:36:47,137.137 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:36:47
[2026-08-29 15:36:47,456.456 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:36:47,594.594 INFO    ] Initializing speech engine...
[2026-08-29 15:36:47,607.607 INFO    ] 2026-08-29 15:36:47
[2026-08-29 15:36:47,817.817 INFO    ] 2026-08-29 15:36:47
[2026-08-29 15:36:47,854.854 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:36:48,016.016 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:36:48,058.058 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:36:48,172.172 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:36:48,176.176 INFO    ] time= 29/08/2026 15:36:48
[2026-08-29 15:36:48,181.181 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:36:48,205.205 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:36:48,257.257 INFO    ] No existing commands found in stream
[2026-08-29 15:36:53,268.268 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:36:53,271.271 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-08-29 15:36:56,440.440 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:36:56,442.442 INFO    ] Checking for system updates...
[2026-08-29 15:36:56,465.465 INFO    ] 200
[2026-08-29 15:36:56,466.466 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:36:56,496.496 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:36:56,497.497 INFO    ] No update needed
[2026-08-29 15:36:56,498.498 INFO    ] Checking for camera pi updates...
[2026-08-29 15:36:56,517.517 INFO    ] 200
[2026-08-29 15:36:56,519.519 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:36:56,542.542 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:36:56,623.623 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:36:56,624.624 INFO    ] No camera update needed
[2026-08-29 15:36:56,625.625 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:36:56,627.627 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:36:56,630.630 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:36:56,632.632 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:36:58,673.673 INFO    ] ================================================
[2026-08-29 15:36:58,689.689 INFO    ] Launching Daemon at Sat Aug 29 15:36:58 IST 2026
[2026-08-29 15:36:58,700.700 INFO    ] ================================================
[2026-08-29 15:36:59,246.246 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:36:59
[2026-08-29 15:36:59,916.916 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:37:00,221.221 INFO    ] Initializing speech engine...
[2026-08-29 15:37:00,229.229 INFO    ] 2026-08-29 15:37:00
[2026-08-29 15:37:00,500.500 INFO    ] 2026-08-29 15:37:00
[2026-08-29 15:37:00,559.559 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:37:00,789.789 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:37:00,799.799 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:37:00,936.936 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:37:00,973.973 INFO    ] time= 29/08/2026 15:37:00
[2026-08-29 15:37:01,033.033 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:37:01,074.074 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:37:01,128.128 INFO    ] No existing commands found in stream
[2026-08-29 15:37:06,142.142 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:37:06,145.145 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-08-29 15:37:10,018.018 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:37:10,020.020 INFO    ] Checking for system updates...
[2026-08-29 15:37:10,041.041 INFO    ] 200
[2026-08-29 15:37:10,042.042 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:37:10,073.073 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:37:10,074.074 INFO    ] No update needed
[2026-08-29 15:37:10,075.075 INFO    ] Checking for camera pi updates...
[2026-08-29 15:37:10,103.103 INFO    ] 200
[2026-08-29 15:37:10,106.106 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:37:10,148.148 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:37:10,242.242 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:37:10,245.245 INFO    ] No camera update needed
[2026-08-29 15:37:10,248.248 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:37:10,250.250 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:37:10,256.256 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:37:10,262.262 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:37:12,305.305 INFO    ] ================================================
[2026-08-29 15:37:12,321.321 INFO    ] Launching Daemon at Sat Aug 29 15:37:12 IST 2026
[2026-08-29 15:37:12,333.333 INFO    ] ================================================
[2026-08-29 15:37:12,986.986 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:37:12
[2026-08-29 15:37:13,439.439 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:37:13,592.592 INFO    ] Initializing speech engine...
[2026-08-29 15:37:13,597.597 INFO    ] 2026-08-29 15:37:13
[2026-08-29 15:37:13,808.808 INFO    ] 2026-08-29 15:37:13
[2026-08-29 15:37:13,837.837 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:37:13,972.972 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:37:14,026.026 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:37:14,167.167 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:37:14,236.236 INFO    ] time= 29/08/2026 15:37:14
[2026-08-29 15:37:14,261.261 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:37:14,267.267 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:37:14,337.337 INFO    ] No existing commands found in stream
[2026-08-29 15:37:19,351.351 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:37:19,355.355 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-08-29 15:37:22,188.188 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:37:22,189.189 INFO    ] Checking for system updates...
[2026-08-29 15:37:22,210.210 INFO    ] 200
[2026-08-29 15:37:22,211.211 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:37:22,241.241 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:37:22,243.243 INFO    ] No update needed
[2026-08-29 15:37:22,244.244 INFO    ] Checking for camera pi updates...
[2026-08-29 15:37:22,264.264 INFO    ] 200
[2026-08-29 15:37:22,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:37:22,290.290 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:37:22,376.376 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:37:22,378.378 INFO    ] No camera update needed
[2026-08-29 15:37:22,379.379 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:37:22,380.380 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:37:22,384.384 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:37:22,387.387 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:37:24,426.426 INFO    ] ================================================
[2026-08-29 15:37:24,441.441 INFO    ] Launching Daemon at Sat Aug 29 15:37:24 IST 2026
[2026-08-29 15:37:24,453.453 INFO    ] ================================================
[2026-08-29 15:37:24,824.824 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:37:24
[2026-08-29 15:37:25,160.160 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:37:25,310.310 INFO    ] Initializing speech engine...
[2026-08-29 15:37:25,315.315 INFO    ] 2026-08-29 15:37:25
[2026-08-29 15:37:25,509.509 INFO    ] 2026-08-29 15:37:25
[2026-08-29 15:37:25,563.563 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:37:25,791.791 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:37:25,801.801 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:37:25,937.937 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:37:25,980.980 INFO    ] time= 29/08/2026 15:37:25
[2026-08-29 15:37:26,029.029 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:37:26,076.076 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:37:26,135.135 INFO    ] No existing commands found in stream
[2026-08-29 15:37:31,148.148 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:37:31,151.151 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-08-29 15:37:34,039.039 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:37:34,043.043 INFO    ] Checking for system updates...
[2026-08-29 15:37:34,080.080 INFO    ] 200
[2026-08-29 15:37:34,082.082 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:37:34,135.135 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:37:34,138.138 INFO    ] No update needed
[2026-08-29 15:37:34,141.141 INFO    ] Checking for camera pi updates...
[2026-08-29 15:37:34,179.179 INFO    ] 200
[2026-08-29 15:37:34,182.182 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:37:34,222.222 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:37:34,315.315 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:37:34,318.318 INFO    ] No camera update needed
[2026-08-29 15:37:34,320.320 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:37:34,322.322 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:37:34,327.327 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:37:34,332.332 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:37:36,373.373 INFO    ] ================================================
[2026-08-29 15:37:36,389.389 INFO    ] Launching Daemon at Sat Aug 29 15:37:36 IST 2026
[2026-08-29 15:37:36,400.400 INFO    ] ================================================
[2026-08-29 15:37:36,772.772 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:37:36
[2026-08-29 15:37:37,105.105 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:37:37,255.255 INFO    ] Initializing speech engine...
[2026-08-29 15:37:37,261.261 INFO    ] 2026-08-29 15:37:37
[2026-08-29 15:37:37,470.470 INFO    ] 2026-08-29 15:37:37
[2026-08-29 15:37:37,499.499 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:37:37,648.648 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:37:37,656.656 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:37:37,828.828 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:37:37,864.864 INFO    ] time= 29/08/2026 15:37:37
[2026-08-29 15:37:37,882.882 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:37:37,891.891 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:37:38,007.007 INFO    ] No existing commands found in stream
[2026-08-29 15:37:43,030.030 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:37:43,034.034 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-08-29 15:37:46,744.744 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:37:46,747.747 INFO    ] Checking for system updates...
[2026-08-29 15:37:46,792.792 INFO    ] 200
[2026-08-29 15:37:46,795.795 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:37:46,866.866 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:37:46,870.870 INFO    ] No update needed
[2026-08-29 15:37:46,874.874 INFO    ] Checking for camera pi updates...
[2026-08-29 15:37:46,913.913 INFO    ] 200
[2026-08-29 15:37:46,917.917 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:37:46,961.961 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:37:47,146.146 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:37:47,149.149 INFO    ] No camera update needed
[2026-08-29 15:37:47,152.152 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:37:47,156.156 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:37:47,163.163 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:37:47,170.170 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:37:49,214.214 INFO    ] ================================================
[2026-08-29 15:37:49,232.232 INFO    ] Launching Daemon at Sat Aug 29 15:37:49 IST 2026
[2026-08-29 15:37:49,243.243 INFO    ] ================================================
[2026-08-29 15:37:49,793.793 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:37:49
[2026-08-29 15:37:50,420.420 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:37:50,669.669 INFO    ] Initializing speech engine...
[2026-08-29 15:37:50,684.684 INFO    ] 2026-08-29 15:37:50
[2026-08-29 15:37:50,951.951 INFO    ] 2026-08-29 15:37:50
[2026-08-29 15:37:50,986.986 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:37:51,163.163 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:37:51,175.175 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:37:51,320.320 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:37:51,328.328 INFO    ] time= 29/08/2026 15:37:51
[2026-08-29 15:37:51,335.335 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:37:51,381.381 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:37:51,511.511 INFO    ] No existing commands found in stream
[2026-08-29 15:37:56,536.536 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:37:56,539.539 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-08-29 15:37:59,849.849 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:37:59,851.851 INFO    ] Checking for system updates...
[2026-08-29 15:37:59,871.871 INFO    ] 200
[2026-08-29 15:37:59,873.873 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:37:59,905.905 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:37:59,906.906 INFO    ] No update needed
[2026-08-29 15:37:59,907.907 INFO    ] Checking for camera pi updates...
[2026-08-29 15:37:59,926.926 INFO    ] 200
[2026-08-29 15:37:59,927.927 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:37:59,952.952 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:38:00,036.036 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:38:00,038.038 INFO    ] No camera update needed
[2026-08-29 15:38:00,039.039 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:38:00,040.040 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:38:00,043.043 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:38:00,046.046 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:38:02,087.087 INFO    ] ================================================
[2026-08-29 15:38:02,110.110 INFO    ] Launching Daemon at Sat Aug 29 15:38:02 IST 2026
[2026-08-29 15:38:02,127.127 INFO    ] ================================================
[2026-08-29 15:38:02,777.777 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:38:02
[2026-08-29 15:38:03,458.458 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:38:03,728.728 INFO    ] Initializing speech engine...
[2026-08-29 15:38:03,737.737 INFO    ] 2026-08-29 15:38:03
[2026-08-29 15:38:03,997.997 INFO    ] 2026-08-29 15:38:03
[2026-08-29 15:38:04,051.051 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:38:04,282.282 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:38:04,291.291 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:38:04,423.423 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:38:04,465.465 INFO    ] time= 29/08/2026 15:38:04
[2026-08-29 15:38:04,515.515 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:38:04,557.557 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:38:04,609.609 INFO    ] No existing commands found in stream
[2026-08-29 15:38:09,621.621 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:38:09,624.624 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-08-29 15:38:11,726.726 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:38:11,728.728 INFO    ] Checking for system updates...
[2026-08-29 15:38:11,748.748 INFO    ] 200
[2026-08-29 15:38:11,750.750 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:38:11,782.782 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:38:11,783.783 INFO    ] No update needed
[2026-08-29 15:38:11,785.785 INFO    ] Checking for camera pi updates...
[2026-08-29 15:38:11,805.805 INFO    ] 200
[2026-08-29 15:38:11,807.807 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:38:11,844.844 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:38:11,930.930 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:38:11,933.933 INFO    ] No camera update needed
[2026-08-29 15:38:11,935.935 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:38:11,938.938 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:38:11,944.944 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:38:11,950.950 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:38:13,992.992 INFO    ] ================================================
[2026-08-29 15:38:14,007.007 INFO    ] Launching Daemon at Sat Aug 29 15:38:14 IST 2026
[2026-08-29 15:38:14,018.018 INFO    ] ================================================
[2026-08-29 15:38:14,640.640 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:38:14
[2026-08-29 15:38:15,052.052 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:38:15,319.319 INFO    ] Initializing speech engine...
[2026-08-29 15:38:15,328.328 INFO    ] 2026-08-29 15:38:15
[2026-08-29 15:38:15,577.577 INFO    ] 2026-08-29 15:38:15
[2026-08-29 15:38:15,614.614 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:38:15,785.785 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:38:15,798.798 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:38:15,940.940 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:38:15,948.948 INFO    ] time= 29/08/2026 15:38:15
[2026-08-29 15:38:15,956.956 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:38:16,002.002 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:38:16,125.125 INFO    ] No existing commands found in stream
[2026-08-29 15:38:21,154.154 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:38:21,157.157 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-08-29 15:38:22,734.734 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:38:22,736.736 INFO    ] Checking for system updates...
[2026-08-29 15:38:22,756.756 INFO    ] 200
[2026-08-29 15:38:22,757.757 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:38:22,789.789 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:38:22,791.791 INFO    ] No update needed
[2026-08-29 15:38:22,792.792 INFO    ] Checking for camera pi updates...
[2026-08-29 15:38:22,811.811 INFO    ] 200
[2026-08-29 15:38:22,813.813 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:38:22,835.835 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:38:22,936.936 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:38:22,937.937 INFO    ] No camera update needed
[2026-08-29 15:38:22,938.938 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:38:22,940.940 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:38:22,943.943 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:38:22,945.945 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:38:24,985.985 INFO    ] ================================================
[2026-08-29 15:38:25,001.001 INFO    ] Launching Daemon at Sat Aug 29 15:38:24 IST 2026
[2026-08-29 15:38:25,012.012 INFO    ] ================================================
[2026-08-29 15:38:25,606.606 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:38:25
[2026-08-29 15:38:26,289.289 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:38:26,567.567 INFO    ] Initializing speech engine...
[2026-08-29 15:38:26,573.573 INFO    ] 2026-08-29 15:38:26
[2026-08-29 15:38:26,823.823 INFO    ] 2026-08-29 15:38:26
[2026-08-29 15:38:26,858.858 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:38:27,031.031 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:38:27,043.043 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:38:27,185.185 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:38:27,193.193 INFO    ] time= 29/08/2026 15:38:27
[2026-08-29 15:38:27,199.199 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:38:27,221.221 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:38:27,355.355 INFO    ] No existing commands found in stream
[2026-08-29 15:38:32,380.380 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:38:32,382.382 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-08-29 15:38:35,840.840 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:38:35,842.842 INFO    ] Checking for system updates...
[2026-08-29 15:38:35,863.863 INFO    ] 200
[2026-08-29 15:38:35,864.864 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:38:35,894.894 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:38:35,896.896 INFO    ] No update needed
[2026-08-29 15:38:35,897.897 INFO    ] Checking for camera pi updates...
[2026-08-29 15:38:35,918.918 INFO    ] 200
[2026-08-29 15:38:35,920.920 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:38:35,953.953 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:38:36,035.035 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:38:36,038.038 INFO    ] No camera update needed
[2026-08-29 15:38:36,040.040 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:38:36,042.042 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:38:36,048.048 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:38:36,053.053 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:38:38,093.093 INFO    ] ================================================
[2026-08-29 15:38:38,109.109 INFO    ] Launching Daemon at Sat Aug 29 15:38:38 IST 2026
[2026-08-29 15:38:38,120.120 INFO    ] ================================================
[2026-08-29 15:38:38,689.689 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:38:38
[2026-08-29 15:38:39,098.098 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:38:39,400.400 INFO    ] Initializing speech engine...
[2026-08-29 15:38:39,407.407 INFO    ] 2026-08-29 15:38:39
[2026-08-29 15:38:39,682.682 INFO    ] 2026-08-29 15:38:39
[2026-08-29 15:38:39,735.735 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:38:39,965.965 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:38:39,975.975 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:38:40,117.117 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:38:40,188.188 INFO    ] time= 29/08/2026 15:38:40
[2026-08-29 15:38:40,238.238 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:38:40,248.248 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:38:40,366.366 INFO    ] No existing commands found in stream
[2026-08-29 15:38:45,400.400 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:38:45,403.403 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-08-29 15:38:47,314.314 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:38:47,316.316 INFO    ] Checking for system updates...
[2026-08-29 15:38:47,336.336 INFO    ] 200
[2026-08-29 15:38:47,337.337 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:38:47,367.367 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:38:47,368.368 INFO    ] No update needed
[2026-08-29 15:38:47,369.369 INFO    ] Checking for camera pi updates...
[2026-08-29 15:38:47,388.388 INFO    ] 200
[2026-08-29 15:38:47,390.390 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:38:47,415.415 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:38:47,464.464 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:38:47,465.465 INFO    ] No camera update needed
[2026-08-29 15:38:47,466.466 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:38:47,467.467 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:38:47,470.470 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:38:47,473.473 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:38:49,512.512 INFO    ] ================================================
[2026-08-29 15:38:49,530.530 INFO    ] Launching Daemon at Sat Aug 29 15:38:49 IST 2026
[2026-08-29 15:38:49,542.542 INFO    ] ================================================
[2026-08-29 15:38:50,076.076 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:38:50
[2026-08-29 15:38:50,659.659 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:38:50,930.930 INFO    ] Initializing speech engine...
[2026-08-29 15:38:50,939.939 INFO    ] 2026-08-29 15:38:50
[2026-08-29 15:38:51,187.187 INFO    ] 2026-08-29 15:38:51
[2026-08-29 15:38:51,221.221 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:38:51,398.398 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:38:51,410.410 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:38:51,540.540 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:38:51,563.563 INFO    ] time= 29/08/2026 15:38:51
[2026-08-29 15:38:51,568.568 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:38:51,576.576 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:38:51,642.642 INFO    ] No existing commands found in stream
[2026-08-29 15:38:56,657.657 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:38:56,660.660 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-08-29 15:38:58,090.090 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:38:58,092.092 INFO    ] Checking for system updates...
[2026-08-29 15:38:58,112.112 INFO    ] 200
[2026-08-29 15:38:58,114.114 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:38:58,145.145 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:38:58,147.147 INFO    ] No update needed
[2026-08-29 15:38:58,148.148 INFO    ] Checking for camera pi updates...
[2026-08-29 15:38:58,168.168 INFO    ] 200
[2026-08-29 15:38:58,169.169 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:38:58,194.194 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:38:58,304.304 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:38:58,305.305 INFO    ] No camera update needed
[2026-08-29 15:38:58,307.307 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:38:58,308.308 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:38:58,311.311 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:38:58,313.313 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:39:00,353.353 INFO    ] ================================================
[2026-08-29 15:39:00,371.371 INFO    ] Launching Daemon at Sat Aug 29 15:39:00 IST 2026
[2026-08-29 15:39:00,381.381 INFO    ] ================================================
[2026-08-29 15:39:00,848.848 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:39:00
[2026-08-29 15:39:01,431.431 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:39:01,897.897 INFO    ] Initializing speech engine...
[2026-08-29 15:39:01,943.943 INFO    ] 2026-08-29 15:39:01
[2026-08-29 15:39:02,301.301 INFO    ] 2026-08-29 15:39:02
[2026-08-29 15:39:02,358.358 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:39:02,531.531 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:39:02,556.556 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:39:02,740.740 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:39:02,769.769 INFO    ] time= 29/08/2026 15:39:02
[2026-08-29 15:39:02,788.788 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:39:02,799.799 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:39:02,838.838 INFO    ] No existing commands found in stream
[2026-08-29 15:39:07,844.844 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:39:07,847.847 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-08-29 15:39:10,507.507 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:39:10,509.509 INFO    ] Checking for system updates...
[2026-08-29 15:39:10,531.531 INFO    ] 200
[2026-08-29 15:39:10,532.532 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:39:10,562.562 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:39:10,564.564 INFO    ] No update needed
[2026-08-29 15:39:10,565.565 INFO    ] Checking for camera pi updates...
[2026-08-29 15:39:10,584.584 INFO    ] 200
[2026-08-29 15:39:10,585.585 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:39:10,609.609 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:39:10,701.701 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:39:10,702.702 INFO    ] No camera update needed
[2026-08-29 15:39:10,703.703 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:39:10,705.705 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:39:10,707.707 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:39:10,710.710 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:39:12,748.748 INFO    ] ================================================
[2026-08-29 15:39:12,764.764 INFO    ] Launching Daemon at Sat Aug 29 15:39:12 IST 2026
[2026-08-29 15:39:12,774.774 INFO    ] ================================================
[2026-08-29 15:39:13,119.119 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:39:13
[2026-08-29 15:39:13,439.439 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:39:13,574.574 INFO    ] Initializing speech engine...
[2026-08-29 15:39:13,579.579 INFO    ] 2026-08-29 15:39:13
[2026-08-29 15:39:13,784.784 INFO    ] 2026-08-29 15:39:13
[2026-08-29 15:39:13,870.870 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:39:14,049.049 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:39:14,060.060 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:39:14,215.215 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:39:14,223.223 INFO    ] time= 29/08/2026 15:39:14
[2026-08-29 15:39:14,252.252 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:39:14,306.306 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:39:14,378.378 INFO    ] No existing commands found in stream
[2026-08-29 15:39:19,389.389 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:39:19,392.392 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-08-29 15:39:20,614.614 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:39:20,615.615 INFO    ] Checking for system updates...
[2026-08-29 15:39:20,636.636 INFO    ] 200
[2026-08-29 15:39:20,637.637 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:39:20,670.670 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:39:20,671.671 INFO    ] No update needed
[2026-08-29 15:39:20,673.673 INFO    ] Checking for camera pi updates...
[2026-08-29 15:39:20,693.693 INFO    ] 200
[2026-08-29 15:39:20,695.695 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:39:20,720.720 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:39:20,803.803 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:39:20,804.804 INFO    ] No camera update needed
[2026-08-29 15:39:20,806.806 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:39:20,807.807 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:39:20,810.810 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:39:20,813.813 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:39:22,855.855 INFO    ] ================================================
[2026-08-29 15:39:22,871.871 INFO    ] Launching Daemon at Sat Aug 29 15:39:22 IST 2026
[2026-08-29 15:39:22,882.882 INFO    ] ================================================
[2026-08-29 15:39:23,258.258 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:39:23
[2026-08-29 15:39:23,781.781 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:39:24,059.059 INFO    ] Initializing speech engine...
[2026-08-29 15:39:24,066.066 INFO    ] 2026-08-29 15:39:24
[2026-08-29 15:39:24,314.314 INFO    ] 2026-08-29 15:39:24
[2026-08-29 15:39:24,350.350 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:39:24,522.522 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:39:24,535.535 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:39:24,674.674 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:39:24,683.683 INFO    ] time= 29/08/2026 15:39:24
[2026-08-29 15:39:24,689.689 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:39:24,718.718 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:39:24,848.848 INFO    ] No existing commands found in stream
[2026-08-29 15:39:29,884.884 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:39:29,888.888 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-08-29 15:39:30,470.470 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:39:30,471.471 INFO    ] Checking for system updates...
[2026-08-29 15:39:30,492.492 INFO    ] 200
[2026-08-29 15:39:30,494.494 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:39:30,524.524 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:39:30,525.525 INFO    ] No update needed
[2026-08-29 15:39:30,527.527 INFO    ] Checking for camera pi updates...
[2026-08-29 15:39:30,548.548 INFO    ] 200
[2026-08-29 15:39:30,550.550 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:39:30,573.573 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:39:30,666.666 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:39:30,667.667 INFO    ] No camera update needed
[2026-08-29 15:39:30,669.669 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:39:30,670.670 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:39:30,673.673 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:39:30,676.676 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:39:32,716.716 INFO    ] ================================================
[2026-08-29 15:39:32,732.732 INFO    ] Launching Daemon at Sat Aug 29 15:39:32 IST 2026
[2026-08-29 15:39:32,743.743 INFO    ] ================================================
[2026-08-29 15:39:33,410.410 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:39:33
[2026-08-29 15:39:34,094.094 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:39:34,407.407 INFO    ] Initializing speech engine...
[2026-08-29 15:39:34,422.422 INFO    ] 2026-08-29 15:39:34
[2026-08-29 15:39:34,711.711 INFO    ] 2026-08-29 15:39:34
[2026-08-29 15:39:34,768.768 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:39:34,989.989 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:39:35,000.000 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:39:35,141.141 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:39:35,196.196 INFO    ] time= 29/08/2026 15:39:35
[2026-08-29 15:39:35,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:39:35,284.284 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:39:35,410.410 INFO    ] No existing commands found in stream
[2026-08-29 15:39:40,436.436 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:39:40,439.439 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-08-29 15:39:43,106.106 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:39:43,108.108 INFO    ] Checking for system updates...
[2026-08-29 15:39:43,130.130 INFO    ] 200
[2026-08-29 15:39:43,131.131 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:39:43,164.164 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:39:43,165.165 INFO    ] No update needed
[2026-08-29 15:39:43,166.166 INFO    ] Checking for camera pi updates...
[2026-08-29 15:39:43,186.186 INFO    ] 200
[2026-08-29 15:39:43,187.187 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:39:43,211.211 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:39:43,294.294 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:39:43,296.296 INFO    ] No camera update needed
[2026-08-29 15:39:43,299.299 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:39:43,301.301 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:39:43,306.306 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:39:43,311.311 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:39:45,351.351 INFO    ] ================================================
[2026-08-29 15:39:45,367.367 INFO    ] Launching Daemon at Sat Aug 29 15:39:45 IST 2026
[2026-08-29 15:39:45,378.378 INFO    ] ================================================
[2026-08-29 15:39:45,945.945 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:39:45
[2026-08-29 15:39:46,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:39:46,667.667 INFO    ] Initializing speech engine...
[2026-08-29 15:39:46,676.676 INFO    ] 2026-08-29 15:39:46
[2026-08-29 15:39:46,970.970 INFO    ] 2026-08-29 15:39:46
[2026-08-29 15:39:47,016.016 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:39:47,235.235 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:39:47,245.245 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:39:47,381.381 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:39:47,447.447 INFO    ] time= 29/08/2026 15:39:47
[2026-08-29 15:39:47,496.496 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:39:47,516.516 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:39:47,641.641 INFO    ] No existing commands found in stream
[2026-08-29 15:39:52,672.672 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:39:52,675.675 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-08-29 15:39:55,317.317 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:39:55,319.319 INFO    ] Checking for system updates...
[2026-08-29 15:39:55,340.340 INFO    ] 200
[2026-08-29 15:39:55,341.341 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:39:55,376.376 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:39:55,378.378 INFO    ] No update needed
[2026-08-29 15:39:55,379.379 INFO    ] Checking for camera pi updates...
[2026-08-29 15:39:55,399.399 INFO    ] 200
[2026-08-29 15:39:55,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:39:55,426.426 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:39:55,604.604 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:39:55,605.605 INFO    ] No camera update needed
[2026-08-29 15:39:55,606.606 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:39:55,608.608 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:39:55,611.611 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:39:55,614.614 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:39:57,655.655 INFO    ] ================================================
[2026-08-29 15:39:57,670.670 INFO    ] Launching Daemon at Sat Aug 29 15:39:57 IST 2026
[2026-08-29 15:39:57,681.681 INFO    ] ================================================
[2026-08-29 15:39:58,267.267 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:39:58
[2026-08-29 15:39:58,764.764 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:39:58,897.897 INFO    ] Initializing speech engine...
[2026-08-29 15:39:58,911.911 INFO    ] 2026-08-29 15:39:58
[2026-08-29 15:39:59,111.111 INFO    ] 2026-08-29 15:39:59
[2026-08-29 15:39:59,191.191 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:39:59,342.342 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:39:59,348.348 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:39:59,479.479 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:39:59,500.500 INFO    ] time= 29/08/2026 15:39:59
[2026-08-29 15:39:59,565.565 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:39:59,611.611 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:39:59,670.670 INFO    ] No existing commands found in stream
[2026-08-29 15:40:04,682.682 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:40:04,685.685 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-08-29 15:40:07,816.816 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:40:07,817.817 INFO    ] Checking for system updates...
[2026-08-29 15:40:07,839.839 INFO    ] 200
[2026-08-29 15:40:07,841.841 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:40:07,875.875 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:40:07,877.877 INFO    ] No update needed
[2026-08-29 15:40:07,878.878 INFO    ] Checking for camera pi updates...
[2026-08-29 15:40:07,901.901 INFO    ] 200
[2026-08-29 15:40:07,902.902 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:40:07,926.926 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:40:08,114.114 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:40:08,115.115 INFO    ] No camera update needed
[2026-08-29 15:40:08,117.117 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:40:08,118.118 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:40:08,121.121 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:40:08,124.124 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:40:10,163.163 INFO    ] ================================================
[2026-08-29 15:40:10,178.178 INFO    ] Launching Daemon at Sat Aug 29 15:40:10 IST 2026
[2026-08-29 15:40:10,189.189 INFO    ] ================================================
[2026-08-29 15:40:10,547.547 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:40:10
[2026-08-29 15:40:10,885.885 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:40:11,038.038 INFO    ] Initializing speech engine...
[2026-08-29 15:40:11,044.044 INFO    ] 2026-08-29 15:40:11
[2026-08-29 15:40:11,254.254 INFO    ] 2026-08-29 15:40:11
[2026-08-29 15:40:11,283.283 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:40:11,425.425 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:40:11,465.465 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:40:11,602.602 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:40:11,624.624 INFO    ] time= 29/08/2026 15:40:11
[2026-08-29 15:40:11,653.653 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:40:11,661.661 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:40:11,753.753 INFO    ] No existing commands found in stream
[2026-08-29 15:40:16,776.776 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:40:16,779.779 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-08-29 15:40:18,567.567 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:40:18,568.568 INFO    ] Checking for system updates...
[2026-08-29 15:40:18,590.590 INFO    ] 200
[2026-08-29 15:40:18,592.592 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:40:18,624.624 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:40:18,626.626 INFO    ] No update needed
[2026-08-29 15:40:18,627.627 INFO    ] Checking for camera pi updates...
[2026-08-29 15:40:18,646.646 INFO    ] 200
[2026-08-29 15:40:18,648.648 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:40:18,672.672 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:40:18,752.752 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:40:18,754.754 INFO    ] No camera update needed
[2026-08-29 15:40:18,755.755 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:40:18,756.756 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:40:18,759.759 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:40:18,762.762 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:40:20,801.801 INFO    ] ================================================
[2026-08-29 15:40:20,817.817 INFO    ] Launching Daemon at Sat Aug 29 15:40:20 IST 2026
[2026-08-29 15:40:20,828.828 INFO    ] ================================================
[2026-08-29 15:40:21,194.194 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:40:21
[2026-08-29 15:40:21,504.504 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:40:21,634.634 INFO    ] Initializing speech engine...
[2026-08-29 15:40:21,642.642 INFO    ] 2026-08-29 15:40:21
[2026-08-29 15:40:21,853.853 INFO    ] 2026-08-29 15:40:21
[2026-08-29 15:40:21,882.882 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:40:22,012.012 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:40:22,062.062 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:40:22,198.198 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:40:22,215.215 INFO    ] time= 29/08/2026 15:40:22
[2026-08-29 15:40:22,238.238 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:40:22,250.250 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:40:22,352.352 INFO    ] No existing commands found in stream
[2026-08-29 15:40:27,366.366 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:40:27,368.368 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 15:40:30,919.919 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:40:30,920.920 INFO    ] Checking for system updates...
[2026-08-29 15:40:30,942.942 INFO    ] 200
[2026-08-29 15:40:30,943.943 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:40:30,975.975 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:40:30,977.977 INFO    ] No update needed
[2026-08-29 15:40:30,978.978 INFO    ] Checking for camera pi updates...
[2026-08-29 15:40:30,998.998 INFO    ] 200
[2026-08-29 15:40:30,999.999 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:40:31,022.022 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:40:31,114.114 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:40:31,115.115 INFO    ] No camera update needed
[2026-08-29 15:40:31,117.117 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:40:31,118.118 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:40:31,121.121 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:40:31,123.123 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:40:33,164.164 INFO    ] ================================================
[2026-08-29 15:40:33,179.179 INFO    ] Launching Daemon at Sat Aug 29 15:40:33 IST 2026
[2026-08-29 15:40:33,190.190 INFO    ] ================================================
[2026-08-29 15:40:33,757.757 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:40:33
[2026-08-29 15:40:34,342.342 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:40:34,602.602 INFO    ] Initializing speech engine...
[2026-08-29 15:40:34,620.620 INFO    ] 2026-08-29 15:40:34
[2026-08-29 15:40:34,872.872 INFO    ] 2026-08-29 15:40:34
[2026-08-29 15:40:34,907.907 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:40:35,069.069 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:40:35,077.077 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:40:35,191.191 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:40:35,239.239 INFO    ] time= 29/08/2026 15:40:35
[2026-08-29 15:40:35,257.257 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:40:35,265.265 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:40:35,341.341 INFO    ] No existing commands found in stream
[2026-08-29 15:40:40,373.373 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:40:40,376.376 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-08-29 15:40:43,207.207 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:40:43,209.209 INFO    ] Checking for system updates...
[2026-08-29 15:40:43,229.229 INFO    ] 200
[2026-08-29 15:40:43,231.231 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:40:43,261.261 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:40:43,263.263 INFO    ] No update needed
[2026-08-29 15:40:43,264.264 INFO    ] Checking for camera pi updates...
[2026-08-29 15:40:43,285.285 INFO    ] 200
[2026-08-29 15:40:43,287.287 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:40:43,313.313 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:40:43,419.419 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:40:43,421.421 INFO    ] No camera update needed
[2026-08-29 15:40:43,422.422 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:40:43,424.424 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:40:43,427.427 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:40:43,430.430 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:40:45,469.469 INFO    ] ================================================
[2026-08-29 15:40:45,485.485 INFO    ] Launching Daemon at Sat Aug 29 15:40:45 IST 2026
[2026-08-29 15:40:45,496.496 INFO    ] ================================================
[2026-08-29 15:40:45,965.965 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:40:45
[2026-08-29 15:40:46,554.554 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:40:46,826.826 INFO    ] Initializing speech engine...
[2026-08-29 15:40:46,836.836 INFO    ] 2026-08-29 15:40:46
[2026-08-29 15:40:47,089.089 INFO    ] 2026-08-29 15:40:47
[2026-08-29 15:40:47,125.125 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:40:47,300.300 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:40:47,312.312 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:40:47,426.426 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:40:47,445.445 INFO    ] time= 29/08/2026 15:40:47
[2026-08-29 15:40:47,465.465 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:40:47,473.473 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:40:47,543.543 INFO    ] No existing commands found in stream
[2026-08-29 15:40:52,555.555 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:40:52,557.557 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 15:40:54,541.541 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:40:54,542.542 INFO    ] Checking for system updates...
[2026-08-29 15:40:54,564.564 INFO    ] 200
[2026-08-29 15:40:54,565.565 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:40:54,597.597 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:40:54,599.599 INFO    ] No update needed
[2026-08-29 15:40:54,600.600 INFO    ] Checking for camera pi updates...
[2026-08-29 15:40:54,619.619 INFO    ] 200
[2026-08-29 15:40:54,620.620 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:40:54,644.644 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:40:54,729.729 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:40:54,730.730 INFO    ] No camera update needed
[2026-08-29 15:40:54,731.731 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:40:54,733.733 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:40:54,735.735 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:40:54,738.738 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:40:56,776.776 INFO    ] ================================================
[2026-08-29 15:40:56,792.792 INFO    ] Launching Daemon at Sat Aug 29 15:40:56 IST 2026
[2026-08-29 15:40:56,802.802 INFO    ] ================================================
[2026-08-29 15:40:57,121.121 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:40:57
[2026-08-29 15:40:57,437.437 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:40:57,581.581 INFO    ] Initializing speech engine...
[2026-08-29 15:40:57,587.587 INFO    ] 2026-08-29 15:40:57
[2026-08-29 15:40:57,790.790 INFO    ] 2026-08-29 15:40:57
[2026-08-29 15:40:57,819.819 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:40:57,944.944 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:40:58,007.007 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:40:58,145.145 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:40:58,209.209 INFO    ] time= 29/08/2026 15:40:58
[2026-08-29 15:40:58,236.236 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:40:58,241.241 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:40:58,340.340 INFO    ] No existing commands found in stream
[2026-08-29 15:41:03,364.364 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:41:03,367.367 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-08-29 15:41:05,261.261 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:41:05,263.263 INFO    ] Checking for system updates...
[2026-08-29 15:41:05,291.291 INFO    ] 200
[2026-08-29 15:41:05,293.293 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:41:05,324.324 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:41:05,326.326 INFO    ] No update needed
[2026-08-29 15:41:05,327.327 INFO    ] Checking for camera pi updates...
[2026-08-29 15:41:05,346.346 INFO    ] 200
[2026-08-29 15:41:05,348.348 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:41:05,373.373 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:41:05,461.461 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:41:05,463.463 INFO    ] No camera update needed
[2026-08-29 15:41:05,464.464 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:41:05,465.465 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:41:05,468.468 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:41:05,471.471 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:41:07,513.513 INFO    ] ================================================
[2026-08-29 15:41:07,529.529 INFO    ] Launching Daemon at Sat Aug 29 15:41:07 IST 2026
[2026-08-29 15:41:07,540.540 INFO    ] ================================================
[2026-08-29 15:41:07,886.886 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:41:07
[2026-08-29 15:41:08,431.431 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:41:08,690.690 INFO    ] Initializing speech engine...
[2026-08-29 15:41:08,706.706 INFO    ] 2026-08-29 15:41:08
[2026-08-29 15:41:08,963.963 INFO    ] 2026-08-29 15:41:08
[2026-08-29 15:41:08,998.998 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:41:09,174.174 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:41:09,186.186 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:41:09,299.299 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:41:09,318.318 INFO    ] time= 29/08/2026 15:41:09
[2026-08-29 15:41:09,341.341 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:41:09,346.346 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:41:09,415.415 INFO    ] No existing commands found in stream
[2026-08-29 15:41:14,427.427 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:41:14,430.430 INFO    ] Waiting 0.00 seconds before fallback handling...
[2026-08-29 15:41:14,768.768 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:41:14,769.769 INFO    ] Checking for system updates...
[2026-08-29 15:41:14,790.790 INFO    ] 200
[2026-08-29 15:41:14,791.791 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:41:14,824.824 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:41:14,825.825 INFO    ] No update needed
[2026-08-29 15:41:14,826.826 INFO    ] Checking for camera pi updates...
[2026-08-29 15:41:14,845.845 INFO    ] 200
[2026-08-29 15:41:14,847.847 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:41:14,871.871 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:41:14,951.951 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:41:14,953.953 INFO    ] No camera update needed
[2026-08-29 15:41:14,954.954 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:41:14,955.955 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:41:14,958.958 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:41:14,961.961 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:41:17,000.000 INFO    ] ================================================
[2026-08-29 15:41:17,015.015 INFO    ] Launching Daemon at Sat Aug 29 15:41:17 IST 2026
[2026-08-29 15:41:17,027.027 INFO    ] ================================================
[2026-08-29 15:41:17,370.370 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:41:17
[2026-08-29 15:41:17,682.682 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:41:17,825.825 INFO    ] Initializing speech engine...
[2026-08-29 15:41:17,830.830 INFO    ] 2026-08-29 15:41:17
[2026-08-29 15:41:18,021.021 INFO    ] 2026-08-29 15:41:18
[2026-08-29 15:41:18,081.081 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:41:18,286.286 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:41:18,289.289 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:41:18,398.398 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:41:18,403.403 INFO    ] time= 29/08/2026 15:41:18
[2026-08-29 15:41:18,410.410 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:41:18,432.432 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:41:18,565.565 INFO    ] No existing commands found in stream
[2026-08-29 15:41:23,590.590 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:41:23,593.593 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 15:41:27,367.367 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:41:27,369.369 INFO    ] Checking for system updates...
[2026-08-29 15:41:27,390.390 INFO    ] 200
[2026-08-29 15:41:27,392.392 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:41:27,421.421 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:41:27,423.423 INFO    ] No update needed
[2026-08-29 15:41:27,424.424 INFO    ] Checking for camera pi updates...
[2026-08-29 15:41:27,443.443 INFO    ] 200
[2026-08-29 15:41:27,445.445 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:41:27,469.469 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:41:27,520.520 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:41:27,521.521 INFO    ] No camera update needed
[2026-08-29 15:41:27,522.522 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:41:27,524.524 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:41:27,526.526 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:41:27,529.529 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:41:29,568.568 INFO    ] ================================================
[2026-08-29 15:41:29,584.584 INFO    ] Launching Daemon at Sat Aug 29 15:41:29 IST 2026
[2026-08-29 15:41:29,595.595 INFO    ] ================================================
[2026-08-29 15:41:29,936.936 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:41:29
[2026-08-29 15:41:30,455.455 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:41:30,724.724 INFO    ] Initializing speech engine...
[2026-08-29 15:41:30,733.733 INFO    ] 2026-08-29 15:41:30
[2026-08-29 15:41:30,978.978 INFO    ] 2026-08-29 15:41:30
[2026-08-29 15:41:31,043.043 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:41:31,186.186 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:41:31,208.208 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:41:31,308.308 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:41:31,340.340 INFO    ] time= 29/08/2026 15:41:31
[2026-08-29 15:41:31,349.349 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:41:31,356.356 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:41:31,423.423 INFO    ] No existing commands found in stream
[2026-08-29 15:41:36,438.438 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:41:36,441.441 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-08-29 15:41:37,137.137 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:41:37,139.139 INFO    ] Checking for system updates...
[2026-08-29 15:41:37,160.160 INFO    ] 200
[2026-08-29 15:41:37,162.162 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:41:37,196.196 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:41:37,198.198 INFO    ] No update needed
[2026-08-29 15:41:37,199.199 INFO    ] Checking for camera pi updates...
[2026-08-29 15:41:37,222.222 INFO    ] 200
[2026-08-29 15:41:37,223.223 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:41:37,247.247 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:41:37,322.322 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:41:37,324.324 INFO    ] No camera update needed
[2026-08-29 15:41:37,325.325 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:41:37,326.326 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:41:37,329.329 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:41:37,332.332 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:41:39,373.373 INFO    ] ================================================
[2026-08-29 15:41:39,388.388 INFO    ] Launching Daemon at Sat Aug 29 15:41:39 IST 2026
[2026-08-29 15:41:39,399.399 INFO    ] ================================================
[2026-08-29 15:41:39,950.950 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:41:39
[2026-08-29 15:41:40,538.538 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:41:40,795.795 INFO    ] Initializing speech engine...
[2026-08-29 15:41:40,801.801 INFO    ] 2026-08-29 15:41:40
[2026-08-29 15:41:41,093.093 INFO    ] 2026-08-29 15:41:41
[2026-08-29 15:41:41,131.131 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:41:41,325.325 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:41:41,332.332 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:41:41,462.462 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:41:41,468.468 INFO    ] time= 29/08/2026 15:41:41
[2026-08-29 15:41:41,474.474 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:41:41,495.495 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:41:41,596.596 INFO    ] No existing commands found in stream
[2026-08-29 15:41:46,608.608 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:41:46,611.611 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-08-29 15:41:49,756.756 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:41:49,758.758 INFO    ] Checking for system updates...
[2026-08-29 15:41:49,778.778 INFO    ] 200
[2026-08-29 15:41:49,779.779 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:41:49,809.809 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:41:49,810.810 INFO    ] No update needed
[2026-08-29 15:41:49,812.812 INFO    ] Checking for camera pi updates...
[2026-08-29 15:41:49,832.832 INFO    ] 200
[2026-08-29 15:41:49,834.834 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:41:49,856.856 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:41:49,953.953 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:41:49,954.954 INFO    ] No camera update needed
[2026-08-29 15:41:49,955.955 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:41:49,956.956 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:41:49,959.959 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:41:49,963.963 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:41:52,001.001 INFO    ] ================================================
[2026-08-29 15:41:52,017.017 INFO    ] Launching Daemon at Sat Aug 29 15:41:52 IST 2026
[2026-08-29 15:41:52,028.028 INFO    ] ================================================
[2026-08-29 15:41:52,386.386 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:41:52
[2026-08-29 15:41:52,701.701 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:41:52,839.839 INFO    ] Initializing speech engine...
[2026-08-29 15:41:52,849.849 INFO    ] 2026-08-29 15:41:52
[2026-08-29 15:41:53,097.097 INFO    ] 2026-08-29 15:41:53
[2026-08-29 15:41:53,153.153 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:41:53,319.319 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:41:53,327.327 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:41:53,485.485 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:41:53,527.527 INFO    ] time= 29/08/2026 15:41:53
[2026-08-29 15:41:53,533.533 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:41:53,551.551 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:41:53,644.644 INFO    ] No existing commands found in stream
[2026-08-29 15:41:58,671.671 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:41:58,674.674 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-08-29 15:41:59,682.682 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:41:59,684.684 INFO    ] Checking for system updates...
[2026-08-29 15:41:59,704.704 INFO    ] 200
[2026-08-29 15:41:59,705.705 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:41:59,736.736 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:41:59,737.737 INFO    ] No update needed
[2026-08-29 15:41:59,739.739 INFO    ] Checking for camera pi updates...
[2026-08-29 15:41:59,759.759 INFO    ] 200
[2026-08-29 15:41:59,760.760 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:41:59,783.783 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:41:59,986.986 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:41:59,987.987 INFO    ] No camera update needed
[2026-08-29 15:41:59,989.989 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:41:59,990.990 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:41:59,993.993 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:41:59,996.996 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:42:02,038.038 INFO    ] ================================================
[2026-08-29 15:42:02,058.058 INFO    ] Launching Daemon at Sat Aug 29 15:42:02 IST 2026
[2026-08-29 15:42:02,074.074 INFO    ] ================================================
[2026-08-29 15:42:02,708.708 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:42:02
[2026-08-29 15:42:03,389.389 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:42:03,662.662 INFO    ] Initializing speech engine...
[2026-08-29 15:42:03,671.671 INFO    ] 2026-08-29 15:42:03
[2026-08-29 15:42:03,920.920 INFO    ] 2026-08-29 15:42:03
[2026-08-29 15:42:03,955.955 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:42:04,136.136 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:42:04,149.149 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:42:04,298.298 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:42:04,303.303 INFO    ] time= 29/08/2026 15:42:04
[2026-08-29 15:42:04,309.309 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:42:04,329.329 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:42:04,398.398 INFO    ] No existing commands found in stream
[2026-08-29 15:42:09,418.418 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:42:09,421.421 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-08-29 15:42:13,294.294 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:42:13,296.296 INFO    ] Checking for system updates...
[2026-08-29 15:42:13,332.332 INFO    ] 200
[2026-08-29 15:42:13,335.335 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:42:13,388.388 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:42:13,391.391 INFO    ] No update needed
[2026-08-29 15:42:13,394.394 INFO    ] Checking for camera pi updates...
[2026-08-29 15:42:13,427.427 INFO    ] 200
[2026-08-29 15:42:13,429.429 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:42:13,471.471 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:42:13,561.561 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:42:13,563.563 INFO    ] No camera update needed
[2026-08-29 15:42:13,566.566 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:42:13,568.568 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:42:13,574.574 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:42:13,579.579 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:42:15,620.620 INFO    ] ================================================
[2026-08-29 15:42:15,635.635 INFO    ] Launching Daemon at Sat Aug 29 15:42:15 IST 2026
[2026-08-29 15:42:15,646.646 INFO    ] ================================================
[2026-08-29 15:42:16,009.009 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:42:16
[2026-08-29 15:42:16,351.351 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:42:16,506.506 INFO    ] Initializing speech engine...
[2026-08-29 15:42:16,510.510 INFO    ] 2026-08-29 15:42:16
[2026-08-29 15:42:16,718.718 INFO    ] 2026-08-29 15:42:16
[2026-08-29 15:42:16,748.748 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:42:16,859.859 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:42:16,892.892 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:42:17,061.061 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:42:17,077.077 INFO    ] time= 29/08/2026 15:42:17
[2026-08-29 15:42:17,087.087 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:42:17,116.116 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:42:17,217.217 INFO    ] No existing commands found in stream
[2026-08-29 15:42:22,232.232 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:42:22,235.235 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-08-29 15:42:23,809.809 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:42:23,810.810 INFO    ] Checking for system updates...
[2026-08-29 15:42:23,832.832 INFO    ] 200
[2026-08-29 15:42:23,833.833 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:42:23,866.866 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:42:23,867.867 INFO    ] No update needed
[2026-08-29 15:42:23,869.869 INFO    ] Checking for camera pi updates...
[2026-08-29 15:42:23,889.889 INFO    ] 200
[2026-08-29 15:42:23,890.890 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:42:23,915.915 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:42:23,997.997 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:42:23,998.998 INFO    ] No camera update needed
[2026-08-29 15:42:23,999.999 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:42:24,001.001 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:42:24,004.004 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:42:24,007.007 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:42:26,047.047 INFO    ] ================================================
[2026-08-29 15:42:26,064.064 INFO    ] Launching Daemon at Sat Aug 29 15:42:26 IST 2026
[2026-08-29 15:42:26,075.075 INFO    ] ================================================
[2026-08-29 15:42:26,404.404 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:42:26
[2026-08-29 15:42:26,720.720 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:42:26,856.856 INFO    ] Initializing speech engine...
[2026-08-29 15:42:26,871.871 INFO    ] 2026-08-29 15:42:26
[2026-08-29 15:42:27,092.092 INFO    ] 2026-08-29 15:42:27
[2026-08-29 15:42:27,124.124 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:42:27,242.242 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:42:27,247.247 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:42:27,417.417 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:42:27,471.471 INFO    ] time= 29/08/2026 15:42:27
[2026-08-29 15:42:27,487.487 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:42:27,504.504 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:42:27,587.587 INFO    ] No existing commands found in stream
[2026-08-29 15:42:32,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:42:32,617.617 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-08-29 15:42:35,153.153 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:42:35,155.155 INFO    ] Checking for system updates...
[2026-08-29 15:42:35,177.177 INFO    ] 200
[2026-08-29 15:42:35,178.178 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:42:35,211.211 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:42:35,213.213 INFO    ] No update needed
[2026-08-29 15:42:35,215.215 INFO    ] Checking for camera pi updates...
[2026-08-29 15:42:35,234.234 INFO    ] 200
[2026-08-29 15:42:35,236.236 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:42:35,261.261 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:42:35,335.335 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:42:35,337.337 INFO    ] No camera update needed
[2026-08-29 15:42:35,338.338 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:42:35,339.339 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:42:35,343.343 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:42:35,346.346 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:42:37,387.387 INFO    ] ================================================
[2026-08-29 15:42:37,403.403 INFO    ] Launching Daemon at Sat Aug 29 15:42:37 IST 2026
[2026-08-29 15:42:37,415.415 INFO    ] ================================================
[2026-08-29 15:42:37,789.789 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:42:37
[2026-08-29 15:42:38,103.103 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:42:38,240.240 INFO    ] Initializing speech engine...
[2026-08-29 15:42:38,250.250 INFO    ] 2026-08-29 15:42:38
[2026-08-29 15:42:38,455.455 INFO    ] 2026-08-29 15:42:38
[2026-08-29 15:42:38,482.482 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:42:38,605.605 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:42:38,667.667 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:42:38,801.801 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:42:38,868.868 INFO    ] time= 29/08/2026 15:42:38
[2026-08-29 15:42:38,900.900 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:42:38,903.903 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:42:39,018.018 INFO    ] No existing commands found in stream
[2026-08-29 15:42:44,049.049 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:42:44,051.051 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-08-29 15:42:47,304.304 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:42:47,305.305 INFO    ] Checking for system updates...
[2026-08-29 15:42:47,325.325 INFO    ] 200
[2026-08-29 15:42:47,327.327 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:42:47,357.357 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:42:47,358.358 INFO    ] No update needed
[2026-08-29 15:42:47,359.359 INFO    ] Checking for camera pi updates...
[2026-08-29 15:42:47,387.387 INFO    ] 200
[2026-08-29 15:42:47,389.389 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:42:47,429.429 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:42:47,482.482 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:42:47,484.484 INFO    ] No camera update needed
[2026-08-29 15:42:47,487.487 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:42:47,489.489 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:42:47,494.494 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:42:47,500.500 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:42:49,541.541 INFO    ] ================================================
[2026-08-29 15:42:49,558.558 INFO    ] Launching Daemon at Sat Aug 29 15:42:49 IST 2026
[2026-08-29 15:42:49,570.570 INFO    ] ================================================
[2026-08-29 15:42:50,139.139 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:42:50
[2026-08-29 15:42:50,618.618 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:42:50,762.762 INFO    ] Initializing speech engine...
[2026-08-29 15:42:50,767.767 INFO    ] 2026-08-29 15:42:50
[2026-08-29 15:42:51,012.012 INFO    ] 2026-08-29 15:42:50
[2026-08-29 15:42:51,051.051 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:42:51,252.252 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:42:51,258.258 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:42:51,371.371 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:42:51,378.378 INFO    ] time= 29/08/2026 15:42:51
[2026-08-29 15:42:51,401.401 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:42:51,407.407 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:42:51,459.459 INFO    ] No existing commands found in stream
[2026-08-29 15:42:56,469.469 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:42:56,472.472 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-08-29 15:42:57,797.797 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:42:57,799.799 INFO    ] Checking for system updates...
[2026-08-29 15:42:57,821.821 INFO    ] 200
[2026-08-29 15:42:57,822.822 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:42:57,852.852 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:42:57,854.854 INFO    ] No update needed
[2026-08-29 15:42:57,855.855 INFO    ] Checking for camera pi updates...
[2026-08-29 15:42:57,874.874 INFO    ] 200
[2026-08-29 15:42:57,876.876 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:42:57,898.898 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:42:57,974.974 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:42:57,975.975 INFO    ] No camera update needed
[2026-08-29 15:42:57,976.976 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:42:57,977.977 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:42:57,980.980 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:42:57,983.983 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:43:00,021.021 INFO    ] ================================================
[2026-08-29 15:43:00,036.036 INFO    ] Launching Daemon at Sat Aug 29 15:43:00 IST 2026
[2026-08-29 15:43:00,047.047 INFO    ] ================================================
[2026-08-29 15:43:00,417.417 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:43:00
[2026-08-29 15:43:00,745.745 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:43:00,970.970 INFO    ] Initializing speech engine...
[2026-08-29 15:43:00,977.977 INFO    ] 2026-08-29 15:43:00
[2026-08-29 15:43:01,285.285 INFO    ] 2026-08-29 15:43:01
[2026-08-29 15:43:01,312.312 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:43:01,471.471 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:43:01,480.480 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:43:01,622.622 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:43:01,653.653 INFO    ] time= 29/08/2026 15:43:01
[2026-08-29 15:43:01,657.657 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:43:01,663.663 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:43:01,724.724 INFO    ] No existing commands found in stream
[2026-08-29 15:43:06,734.734 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:43:06,737.737 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-08-29 15:43:10,858.858 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:43:10,860.860 INFO    ] Checking for system updates...
[2026-08-29 15:43:10,880.880 INFO    ] 200
[2026-08-29 15:43:10,881.881 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:43:10,912.912 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:43:10,913.913 INFO    ] No update needed
[2026-08-29 15:43:10,915.915 INFO    ] Checking for camera pi updates...
[2026-08-29 15:43:10,934.934 INFO    ] 200
[2026-08-29 15:43:10,935.935 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:43:10,960.960 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:43:11,054.054 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:43:11,055.055 INFO    ] No camera update needed
[2026-08-29 15:43:11,056.056 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:43:11,058.058 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:43:11,061.061 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:43:11,063.063 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:43:13,102.102 INFO    ] ================================================
[2026-08-29 15:43:13,118.118 INFO    ] Launching Daemon at Sat Aug 29 15:43:13 IST 2026
[2026-08-29 15:43:13,130.130 INFO    ] ================================================
[2026-08-29 15:43:13,497.497 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:43:13
[2026-08-29 15:43:13,814.814 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:43:13,948.948 INFO    ] Initializing speech engine...
[2026-08-29 15:43:13,960.960 INFO    ] 2026-08-29 15:43:13
[2026-08-29 15:43:14,167.167 INFO    ] 2026-08-29 15:43:14
[2026-08-29 15:43:14,200.200 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:43:14,362.362 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:43:14,369.369 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:43:14,541.541 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:43:14,569.569 INFO    ] time= 29/08/2026 15:43:14
[2026-08-29 15:43:14,575.575 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:43:14,597.597 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:43:14,704.704 INFO    ] No existing commands found in stream
[2026-08-29 15:43:19,734.734 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:43:19,737.737 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-08-29 15:43:23,635.635 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:43:23,637.637 INFO    ] Checking for system updates...
[2026-08-29 15:43:23,657.657 INFO    ] 200
[2026-08-29 15:43:23,658.658 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:43:23,688.688 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:43:23,690.690 INFO    ] No update needed
[2026-08-29 15:43:23,691.691 INFO    ] Checking for camera pi updates...
[2026-08-29 15:43:23,711.711 INFO    ] 200
[2026-08-29 15:43:23,713.713 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:43:23,735.735 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:43:23,811.811 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:43:23,812.812 INFO    ] No camera update needed
[2026-08-29 15:43:23,814.814 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:43:23,815.815 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:43:23,818.818 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:43:23,820.820 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:43:25,861.861 INFO    ] ================================================
[2026-08-29 15:43:25,879.879 INFO    ] Launching Daemon at Sat Aug 29 15:43:25 IST 2026
[2026-08-29 15:43:25,890.890 INFO    ] ================================================
[2026-08-29 15:43:26,246.246 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:43:26
[2026-08-29 15:43:26,583.583 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:43:26,736.736 INFO    ] Initializing speech engine...
[2026-08-29 15:43:26,741.741 INFO    ] 2026-08-29 15:43:26
[2026-08-29 15:43:26,952.952 INFO    ] 2026-08-29 15:43:26
[2026-08-29 15:43:26,981.981 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:43:27,111.111 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:43:27,175.175 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:43:27,308.308 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:43:27,364.364 INFO    ] time= 29/08/2026 15:43:27
[2026-08-29 15:43:27,402.402 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:43:27,415.415 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:43:27,487.487 INFO    ] No existing commands found in stream
[2026-08-29 15:43:32,494.494 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:43:32,497.497 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-08-29 15:43:36,798.798 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:43:36,800.800 INFO    ] Checking for system updates...
[2026-08-29 15:43:36,820.820 INFO    ] 200
[2026-08-29 15:43:36,822.822 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:43:36,853.853 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:43:36,855.855 INFO    ] No update needed
[2026-08-29 15:43:36,856.856 INFO    ] Checking for camera pi updates...
[2026-08-29 15:43:36,875.875 INFO    ] 200
[2026-08-29 15:43:36,876.876 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:43:36,901.901 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:43:36,990.990 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:43:36,992.992 INFO    ] No camera update needed
[2026-08-29 15:43:36,993.993 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:43:36,994.994 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:43:36,997.997 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:43:37,000.000 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:43:39,039.039 INFO    ] ================================================
[2026-08-29 15:43:39,055.055 INFO    ] Launching Daemon at Sat Aug 29 15:43:39 IST 2026
[2026-08-29 15:43:39,066.066 INFO    ] ================================================
[2026-08-29 15:43:39,420.420 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:43:39
[2026-08-29 15:43:39,759.759 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:43:39,905.905 INFO    ] Initializing speech engine...
[2026-08-29 15:43:39,915.915 INFO    ] 2026-08-29 15:43:39
[2026-08-29 15:43:40,126.126 INFO    ] 2026-08-29 15:43:40
[2026-08-29 15:43:40,155.155 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:43:40,283.283 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:43:40,346.346 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:43:40,486.486 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:43:40,555.555 INFO    ] time= 29/08/2026 15:43:40
[2026-08-29 15:43:40,593.593 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:43:40,623.623 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:43:40,703.703 INFO    ] No existing commands found in stream
[2026-08-29 15:43:45,733.733 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:43:45,736.736 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 15:43:47,268.268 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:43:47,269.269 INFO    ] Checking for system updates...
[2026-08-29 15:43:47,290.290 INFO    ] 200
[2026-08-29 15:43:47,291.291 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:43:47,322.322 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:43:47,323.323 INFO    ] No update needed
[2026-08-29 15:43:47,325.325 INFO    ] Checking for camera pi updates...
[2026-08-29 15:43:47,346.346 INFO    ] 200
[2026-08-29 15:43:47,347.347 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:43:47,370.370 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:43:47,452.452 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:43:47,453.453 INFO    ] No camera update needed
[2026-08-29 15:43:47,454.454 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:43:47,456.456 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:43:47,458.458 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:43:47,461.461 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:43:49,499.499 INFO    ] ================================================
[2026-08-29 15:43:49,514.514 INFO    ] Launching Daemon at Sat Aug 29 15:43:49 IST 2026
[2026-08-29 15:43:49,526.526 INFO    ] ================================================
[2026-08-29 15:43:49,890.890 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:43:49
[2026-08-29 15:43:50,228.228 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:43:50,374.374 INFO    ] Initializing speech engine...
[2026-08-29 15:43:50,383.383 INFO    ] 2026-08-29 15:43:50
[2026-08-29 15:43:50,594.594 INFO    ] 2026-08-29 15:43:50
[2026-08-29 15:43:50,624.624 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:43:50,749.749 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:43:50,792.792 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:43:50,972.972 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:43:51,027.027 INFO    ] time= 29/08/2026 15:43:50
[2026-08-29 15:43:51,074.074 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:43:51,111.111 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:43:51,228.228 INFO    ] No existing commands found in stream
[2026-08-29 15:43:56,259.259 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:43:56,262.262 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-08-29 15:43:59,295.295 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:43:59,297.297 INFO    ] Checking for system updates...
[2026-08-29 15:43:59,319.319 INFO    ] 200
[2026-08-29 15:43:59,320.320 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:43:59,350.350 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:43:59,352.352 INFO    ] No update needed
[2026-08-29 15:43:59,353.353 INFO    ] Checking for camera pi updates...
[2026-08-29 15:43:59,373.373 INFO    ] 200
[2026-08-29 15:43:59,374.374 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:43:59,399.399 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:43:59,477.477 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:43:59,479.479 INFO    ] No camera update needed
[2026-08-29 15:43:59,480.480 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:43:59,481.481 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:43:59,485.485 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:43:59,488.488 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:44:01,536.536 INFO    ] ================================================
[2026-08-29 15:44:01,559.559 INFO    ] Launching Daemon at Sat Aug 29 15:44:01 IST 2026
[2026-08-29 15:44:01,576.576 INFO    ] ================================================
[2026-08-29 15:44:02,257.257 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:44:02
[2026-08-29 15:44:02,986.986 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:44:03,261.261 INFO    ] Initializing speech engine...
[2026-08-29 15:44:03,268.268 INFO    ] 2026-08-29 15:44:03
[2026-08-29 15:44:03,567.567 INFO    ] 2026-08-29 15:44:03
[2026-08-29 15:44:03,592.592 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:44:03,805.805 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:44:03,811.811 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:44:03,921.921 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:44:03,928.928 INFO    ] time= 29/08/2026 15:44:03
[2026-08-29 15:44:03,951.951 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:44:03,957.957 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:44:04,063.063 INFO    ] No existing commands found in stream
[2026-08-29 15:44:09,088.088 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:44:09,091.091 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 15:44:09,624.624 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:44:09,625.625 INFO    ] Checking for system updates...
[2026-08-29 15:44:09,647.647 INFO    ] 200
[2026-08-29 15:44:09,648.648 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:44:09,678.678 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:44:09,679.679 INFO    ] No update needed
[2026-08-29 15:44:09,681.681 INFO    ] Checking for camera pi updates...
[2026-08-29 15:44:09,699.699 INFO    ] 200
[2026-08-29 15:44:09,701.701 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:44:09,724.724 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:44:09,921.921 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:44:09,923.923 INFO    ] No camera update needed
[2026-08-29 15:44:09,926.926 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:44:09,928.928 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:44:09,934.934 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:44:09,939.939 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:44:11,979.979 INFO    ] ================================================
[2026-08-29 15:44:12,996.996 INFO    ] Launching Daemon at Sat Aug 29 15:44:11 IST 2026
[2026-08-29 15:44:12,008.008 INFO    ] ================================================
[2026-08-29 15:44:12,667.667 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:44:12
[2026-08-29 15:44:13,346.346 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:44:13,653.653 INFO    ] Initializing speech engine...
[2026-08-29 15:44:13,666.666 INFO    ] 2026-08-29 15:44:13
[2026-08-29 15:44:13,980.980 INFO    ] 2026-08-29 15:44:13
[2026-08-29 15:44:14,061.061 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:44:14,210.210 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:44:14,220.220 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:44:14,356.356 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:44:14,406.406 INFO    ] time= 29/08/2026 15:44:14
[2026-08-29 15:44:14,461.461 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:44:14,489.489 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:44:14,539.539 INFO    ] No existing commands found in stream
[2026-08-29 15:44:19,552.552 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:44:19,555.555 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-08-29 15:44:21,714.714 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:44:21,716.716 INFO    ] Checking for system updates...
[2026-08-29 15:44:21,737.737 INFO    ] 200
[2026-08-29 15:44:21,738.738 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:44:21,771.771 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:44:21,772.772 INFO    ] No update needed
[2026-08-29 15:44:21,774.774 INFO    ] Checking for camera pi updates...
[2026-08-29 15:44:21,796.796 INFO    ] 200
[2026-08-29 15:44:21,797.797 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:44:21,820.820 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:44:21,910.910 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:44:21,912.912 INFO    ] No camera update needed
[2026-08-29 15:44:21,913.913 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:44:21,915.915 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:44:21,918.918 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:44:21,921.921 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:44:23,961.961 INFO    ] ================================================
[2026-08-29 15:44:23,977.977 INFO    ] Launching Daemon at Sat Aug 29 15:44:23 IST 2026
[2026-08-29 15:44:23,988.988 INFO    ] ================================================
[2026-08-29 15:44:24,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:44:24
[2026-08-29 15:44:24,667.667 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:44:24,922.922 INFO    ] Initializing speech engine...
[2026-08-29 15:44:24,940.940 INFO    ] 2026-08-29 15:44:24
[2026-08-29 15:44:25,192.192 INFO    ] 2026-08-29 15:44:25
[2026-08-29 15:44:25,226.226 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:44:25,402.402 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:44:25,415.415 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:44:25,560.560 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:44:25,568.568 INFO    ] time= 29/08/2026 15:44:25
[2026-08-29 15:44:25,575.575 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:44:25,595.595 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:44:25,724.724 INFO    ] No existing commands found in stream
[2026-08-29 15:44:30,749.749 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:44:30,752.752 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-08-29 15:44:32,990.990 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:44:32,993.993 INFO    ] Checking for system updates...
[2026-08-29 15:44:33,028.028 INFO    ] 200
[2026-08-29 15:44:33,031.031 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:44:33,083.083 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:44:33,086.086 INFO    ] No update needed
[2026-08-29 15:44:33,088.088 INFO    ] Checking for camera pi updates...
[2026-08-29 15:44:33,126.126 INFO    ] 200
[2026-08-29 15:44:33,128.128 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:44:33,175.175 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:44:33,269.269 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:44:33,272.272 INFO    ] No camera update needed
[2026-08-29 15:44:33,274.274 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:44:33,276.276 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:44:33,281.281 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:44:33,286.286 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:44:35,328.328 INFO    ] ================================================
[2026-08-29 15:44:35,344.344 INFO    ] Launching Daemon at Sat Aug 29 15:44:35 IST 2026
[2026-08-29 15:44:35,356.356 INFO    ] ================================================
[2026-08-29 15:44:35,688.688 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:44:35
[2026-08-29 15:44:36,031.031 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:44:36,305.305 INFO    ] Initializing speech engine...
[2026-08-29 15:44:36,313.313 INFO    ] 2026-08-29 15:44:36
[2026-08-29 15:44:36,561.561 INFO    ] 2026-08-29 15:44:36
[2026-08-29 15:44:36,598.598 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:44:36,772.772 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:44:36,795.795 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:44:36,924.924 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:44:36,932.932 INFO    ] time= 29/08/2026 15:44:36
[2026-08-29 15:44:36,941.941 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:44:36,980.980 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:44:37,108.108 INFO    ] No existing commands found in stream
[2026-08-29 15:44:42,138.138 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:44:42,141.141 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-08-29 15:44:44,125.125 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:44:44,126.126 INFO    ] Checking for system updates...
[2026-08-29 15:44:44,146.146 INFO    ] 200
[2026-08-29 15:44:44,148.148 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:44:44,182.182 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:44:44,184.184 INFO    ] No update needed
[2026-08-29 15:44:44,185.185 INFO    ] Checking for camera pi updates...
[2026-08-29 15:44:44,204.204 INFO    ] 200
[2026-08-29 15:44:44,205.205 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:44:44,228.228 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:44:44,309.309 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:44:44,310.310 INFO    ] No camera update needed
[2026-08-29 15:44:44,311.311 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:44:44,313.313 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:44:44,316.316 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:44:44,318.318 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:44:46,359.359 INFO    ] ================================================
[2026-08-29 15:44:46,374.374 INFO    ] Launching Daemon at Sat Aug 29 15:44:46 IST 2026
[2026-08-29 15:44:46,385.385 INFO    ] ================================================
[2026-08-29 15:44:46,738.738 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:44:46
[2026-08-29 15:44:47,051.051 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:44:47,192.192 INFO    ] Initializing speech engine...
[2026-08-29 15:44:47,201.201 INFO    ] 2026-08-29 15:44:47
[2026-08-29 15:44:47,423.423 INFO    ] 2026-08-29 15:44:47
[2026-08-29 15:44:47,454.454 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:44:47,550.550 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:44:47,555.555 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:44:47,675.675 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:44:47,691.691 INFO    ] time= 29/08/2026 15:44:47
[2026-08-29 15:44:47,696.696 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:44:47,701.701 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:44:47,785.785 INFO    ] No existing commands found in stream
[2026-08-29 15:44:52,819.819 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:44:52,822.822 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-08-29 15:44:55,557.557 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:44:55,558.558 INFO    ] Checking for system updates...
[2026-08-29 15:44:55,579.579 INFO    ] 200
[2026-08-29 15:44:55,580.580 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:44:55,610.610 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:44:55,611.611 INFO    ] No update needed
[2026-08-29 15:44:55,612.612 INFO    ] Checking for camera pi updates...
[2026-08-29 15:44:55,633.633 INFO    ] 200
[2026-08-29 15:44:55,634.634 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:44:55,657.657 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:44:55,734.734 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:44:55,735.735 INFO    ] No camera update needed
[2026-08-29 15:44:55,736.736 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:44:55,737.737 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:44:55,740.740 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:44:55,743.743 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:44:57,781.781 INFO    ] ================================================
[2026-08-29 15:44:57,796.796 INFO    ] Launching Daemon at Sat Aug 29 15:44:57 IST 2026
[2026-08-29 15:44:57,807.807 INFO    ] ================================================
[2026-08-29 15:44:58,160.160 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:44:58
[2026-08-29 15:44:58,473.473 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:44:58,606.606 INFO    ] Initializing speech engine...
[2026-08-29 15:44:58,611.611 INFO    ] 2026-08-29 15:44:58
[2026-08-29 15:44:58,803.803 INFO    ] 2026-08-29 15:44:58
[2026-08-29 15:44:58,850.850 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:44:59,009.009 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:44:59,054.054 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:44:59,224.224 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:44:59,292.292 INFO    ] time= 29/08/2026 15:44:59
[2026-08-29 15:44:59,328.328 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:44:59,335.335 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:44:59,413.413 INFO    ] No existing commands found in stream
[2026-08-29 15:45:04,422.422 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:45:04,425.425 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-08-29 15:45:07,983.983 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:45:07,985.985 INFO    ] Checking for system updates...
[2026-08-29 15:45:08,006.006 INFO    ] 200
[2026-08-29 15:45:08,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:45:08,040.040 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:45:08,041.041 INFO    ] No update needed
[2026-08-29 15:45:08,043.043 INFO    ] Checking for camera pi updates...
[2026-08-29 15:45:08,062.062 INFO    ] 200
[2026-08-29 15:45:08,063.063 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:45:08,088.088 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:45:08,181.181 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:45:08,182.182 INFO    ] No camera update needed
[2026-08-29 15:45:08,184.184 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:45:08,185.185 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:45:08,188.188 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:45:08,190.190 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:45:10,229.229 INFO    ] ================================================
[2026-08-29 15:45:10,245.245 INFO    ] Launching Daemon at Sat Aug 29 15:45:10 IST 2026
[2026-08-29 15:45:10,256.256 INFO    ] ================================================
[2026-08-29 15:45:10,647.647 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:45:10
[2026-08-29 15:45:10,994.994 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:45:11,150.150 INFO    ] Initializing speech engine...
[2026-08-29 15:45:11,155.155 INFO    ] 2026-08-29 15:45:11
[2026-08-29 15:45:11,368.368 INFO    ] 2026-08-29 15:45:11
[2026-08-29 15:45:11,423.423 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:45:11,588.588 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:45:11,596.596 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:45:11,777.777 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:45:11,799.799 INFO    ] time= 29/08/2026 15:45:11
[2026-08-29 15:45:11,818.818 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:45:11,847.847 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:45:11,954.954 INFO    ] No existing commands found in stream
[2026-08-29 15:45:16,986.986 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:45:16,989.989 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 15:45:20,686.686 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:45:20,688.688 INFO    ] Checking for system updates...
[2026-08-29 15:45:20,709.709 INFO    ] 200
[2026-08-29 15:45:20,710.710 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:45:20,741.741 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:45:20,743.743 INFO    ] No update needed
[2026-08-29 15:45:20,744.744 INFO    ] Checking for camera pi updates...
[2026-08-29 15:45:20,763.763 INFO    ] 200
[2026-08-29 15:45:20,765.765 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:45:20,787.787 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:45:20,885.885 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:45:20,887.887 INFO    ] No camera update needed
[2026-08-29 15:45:20,889.889 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:45:20,892.892 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:45:20,897.897 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:45:20,902.902 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:45:22,942.942 INFO    ] ================================================
[2026-08-29 15:45:22,958.958 INFO    ] Launching Daemon at Sat Aug 29 15:45:22 IST 2026
[2026-08-29 15:45:22,970.970 INFO    ] ================================================
[2026-08-29 15:45:23,292.292 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:45:23
[2026-08-29 15:45:23,604.604 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:45:23,738.738 INFO    ] Initializing speech engine...
[2026-08-29 15:45:23,750.750 INFO    ] 2026-08-29 15:45:23
[2026-08-29 15:45:23,994.994 INFO    ] 2026-08-29 15:45:23
[2026-08-29 15:45:24,030.030 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:45:24,207.207 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:45:24,219.219 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:45:24,330.330 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:45:24,336.336 INFO    ] time= 29/08/2026 15:45:24
[2026-08-29 15:45:24,354.354 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:45:24,374.374 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:45:24,450.450 INFO    ] No existing commands found in stream
[2026-08-29 15:45:29,471.471 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:45:29,474.474 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-08-29 15:45:33,332.332 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:45:33,334.334 INFO    ] Checking for system updates...
[2026-08-29 15:45:33,370.370 INFO    ] 200
[2026-08-29 15:45:33,373.373 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:45:33,426.426 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:45:33,429.429 INFO    ] No update needed
[2026-08-29 15:45:33,431.431 INFO    ] Checking for camera pi updates...
[2026-08-29 15:45:33,465.465 INFO    ] 200
[2026-08-29 15:45:33,467.467 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:45:33,508.508 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:45:33,615.615 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:45:33,617.617 INFO    ] No camera update needed
[2026-08-29 15:45:33,619.619 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:45:33,621.621 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:45:33,627.627 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:45:33,632.632 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:45:35,675.675 INFO    ] ================================================
[2026-08-29 15:45:35,691.691 INFO    ] Launching Daemon at Sat Aug 29 15:45:35 IST 2026
[2026-08-29 15:45:35,705.705 INFO    ] ================================================
[2026-08-29 15:45:36,055.055 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:45:36
[2026-08-29 15:45:36,542.542 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:45:36,815.815 INFO    ] Initializing speech engine...
[2026-08-29 15:45:36,825.825 INFO    ] 2026-08-29 15:45:36
[2026-08-29 15:45:37,083.083 INFO    ] 2026-08-29 15:45:37
[2026-08-29 15:45:37,113.113 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:45:37,278.278 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:45:37,290.290 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:45:37,396.396 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:45:37,401.401 INFO    ] time= 29/08/2026 15:45:37
[2026-08-29 15:45:37,408.408 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:45:37,426.426 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:45:37,517.517 INFO    ] No existing commands found in stream
[2026-08-29 15:45:42,530.530 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:45:42,533.533 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-08-29 15:45:45,925.925 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:45:45,926.926 INFO    ] Checking for system updates...
[2026-08-29 15:45:45,948.948 INFO    ] 200
[2026-08-29 15:45:45,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:45:45,980.980 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:45:45,981.981 INFO    ] No update needed
[2026-08-29 15:45:45,982.982 INFO    ] Checking for camera pi updates...
[2026-08-29 15:45:46,004.004 INFO    ] 200
[2026-08-29 15:45:46,006.006 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:45:46,028.028 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:45:46,107.107 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:45:46,108.108 INFO    ] No camera update needed
[2026-08-29 15:45:46,110.110 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:45:46,111.111 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:45:46,114.114 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:45:46,117.117 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:45:48,147.147 INFO    ] ================================================
[2026-08-29 15:45:48,155.155 INFO    ] Launching Daemon at Sat Aug 29 15:45:48 IST 2026
[2026-08-29 15:45:48,161.161 INFO    ] ================================================
[2026-08-29 15:45:48,823.823 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:45:48
[2026-08-29 15:45:49,434.434 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:45:49,710.710 INFO    ] Initializing speech engine...
[2026-08-29 15:45:49,717.717 INFO    ] 2026-08-29 15:45:49
[2026-08-29 15:45:49,967.967 INFO    ] 2026-08-29 15:45:49
[2026-08-29 15:45:50,003.003 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:45:50,180.180 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:45:50,192.192 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:45:50,336.336 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:45:50,345.345 INFO    ] time= 29/08/2026 15:45:50
[2026-08-29 15:45:50,351.351 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:45:50,378.378 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:45:50,501.501 INFO    ] No existing commands found in stream
[2026-08-29 15:45:55,526.526 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:45:55,529.529 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-08-29 15:45:57,481.481 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:45:57,483.483 INFO    ] Checking for system updates...
[2026-08-29 15:45:57,504.504 INFO    ] 200
[2026-08-29 15:45:57,505.505 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:45:57,535.535 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:45:57,537.537 INFO    ] No update needed
[2026-08-29 15:45:57,538.538 INFO    ] Checking for camera pi updates...
[2026-08-29 15:45:57,557.557 INFO    ] 200
[2026-08-29 15:45:57,559.559 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:45:57,583.583 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:45:57,662.662 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:45:57,663.663 INFO    ] No camera update needed
[2026-08-29 15:45:57,665.665 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:45:57,666.666 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:45:57,669.669 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:45:57,672.672 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:45:59,711.711 INFO    ] ================================================
[2026-08-29 15:45:59,727.727 INFO    ] Launching Daemon at Sat Aug 29 15:45:59 IST 2026
[2026-08-29 15:45:59,739.739 INFO    ] ================================================
[2026-08-29 15:46:00,118.118 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:46:00
[2026-08-29 15:46:00,434.434 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:46:00,676.676 INFO    ] Initializing speech engine...
[2026-08-29 15:46:00,682.682 INFO    ] 2026-08-29 15:46:00
[2026-08-29 15:46:00,944.944 INFO    ] 2026-08-29 15:46:00
[2026-08-29 15:46:00,998.998 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:46:01,164.164 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:46:01,194.194 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:46:01,361.361 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:46:01,393.393 INFO    ] time= 29/08/2026 15:46:01
[2026-08-29 15:46:01,458.458 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:46:01,507.507 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:46:01,589.589 INFO    ] No existing commands found in stream
[2026-08-29 15:46:06,624.624 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:46:06,627.627 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-08-29 15:46:09,184.184 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:46:09,185.185 INFO    ] Checking for system updates...
[2026-08-29 15:46:09,206.206 INFO    ] 200
[2026-08-29 15:46:09,207.207 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:46:09,240.240 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:46:09,241.241 INFO    ] No update needed
[2026-08-29 15:46:09,243.243 INFO    ] Checking for camera pi updates...
[2026-08-29 15:46:09,263.263 INFO    ] 200
[2026-08-29 15:46:09,264.264 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:46:09,287.287 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:46:09,378.378 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:46:09,380.380 INFO    ] No camera update needed
[2026-08-29 15:46:09,382.382 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:46:09,383.383 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:46:09,386.386 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:46:09,389.389 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:46:11,428.428 INFO    ] ================================================
[2026-08-29 15:46:11,443.443 INFO    ] Launching Daemon at Sat Aug 29 15:46:11 IST 2026
[2026-08-29 15:46:11,454.454 INFO    ] ================================================
[2026-08-29 15:46:11,810.810 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:46:11
[2026-08-29 15:46:12,143.143 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:46:12,296.296 INFO    ] Initializing speech engine...
[2026-08-29 15:46:12,302.302 INFO    ] 2026-08-29 15:46:12
[2026-08-29 15:46:12,512.512 INFO    ] 2026-08-29 15:46:12
[2026-08-29 15:46:12,541.541 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:46:12,665.665 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:46:12,723.723 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:46:12,879.879 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:46:12,937.937 INFO    ] time= 29/08/2026 15:46:12
[2026-08-29 15:46:12,960.960 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:46:12,967.967 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:46:13,033.033 INFO    ] No existing commands found in stream
[2026-08-29 15:46:18,044.044 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:46:18,047.047 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-08-29 15:46:21,066.066 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:46:21,068.068 INFO    ] Checking for system updates...
[2026-08-29 15:46:21,088.088 INFO    ] 200
[2026-08-29 15:46:21,090.090 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:46:21,122.122 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:46:21,124.124 INFO    ] No update needed
[2026-08-29 15:46:21,125.125 INFO    ] Checking for camera pi updates...
[2026-08-29 15:46:21,145.145 INFO    ] 200
[2026-08-29 15:46:21,146.146 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:46:21,169.169 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:46:21,345.345 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:46:21,346.346 INFO    ] No camera update needed
[2026-08-29 15:46:21,347.347 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:46:21,349.349 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:46:21,352.352 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:46:21,355.355 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:46:23,395.395 INFO    ] ================================================
[2026-08-29 15:46:23,411.411 INFO    ] Launching Daemon at Sat Aug 29 15:46:23 IST 2026
[2026-08-29 15:46:23,422.422 INFO    ] ================================================
[2026-08-29 15:46:23,935.935 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:46:23
[2026-08-29 15:46:24,521.521 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:46:24,792.792 INFO    ] Initializing speech engine...
[2026-08-29 15:46:24,800.800 INFO    ] 2026-08-29 15:46:24
[2026-08-29 15:46:25,053.053 INFO    ] 2026-08-29 15:46:25
[2026-08-29 15:46:25,088.088 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:46:25,264.264 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:46:25,276.276 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:46:25,422.422 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:46:25,430.430 INFO    ] time= 29/08/2026 15:46:25
[2026-08-29 15:46:25,434.434 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:46:25,440.440 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:46:25,506.506 INFO    ] No existing commands found in stream
[2026-08-29 15:46:30,518.518 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:46:30,521.521 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-08-29 15:46:31,247.247 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:46:31,248.248 INFO    ] Checking for system updates...
[2026-08-29 15:46:31,268.268 INFO    ] 200
[2026-08-29 15:46:31,270.270 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:46:31,302.302 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:46:31,303.303 INFO    ] No update needed
[2026-08-29 15:46:31,305.305 INFO    ] Checking for camera pi updates...
[2026-08-29 15:46:31,325.325 INFO    ] 200
[2026-08-29 15:46:31,326.326 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:46:31,349.349 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:46:31,423.423 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:46:31,424.424 INFO    ] No camera update needed
[2026-08-29 15:46:31,425.425 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:46:31,427.427 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:46:31,429.429 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:46:31,432.432 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:46:33,473.473 INFO    ] ================================================
[2026-08-29 15:46:33,488.488 INFO    ] Launching Daemon at Sat Aug 29 15:46:33 IST 2026
[2026-08-29 15:46:33,499.499 INFO    ] ================================================
[2026-08-29 15:46:34,078.078 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:46:34
[2026-08-29 15:46:34,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:46:34,909.909 INFO    ] Initializing speech engine...
[2026-08-29 15:46:34,914.914 INFO    ] 2026-08-29 15:46:34
[2026-08-29 15:46:35,160.160 INFO    ] 2026-08-29 15:46:35
[2026-08-29 15:46:35,219.219 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:46:35,351.351 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:46:35,366.366 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:46:35,544.544 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:46:35,591.591 INFO    ] time= 29/08/2026 15:46:35
[2026-08-29 15:46:35,597.597 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:46:35,617.617 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:46:35,713.713 INFO    ] No existing commands found in stream
[2026-08-29 15:46:40,746.746 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:46:40,749.749 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-08-29 15:46:41,577.577 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:46:41,578.578 INFO    ] Checking for system updates...
[2026-08-29 15:46:41,598.598 INFO    ] 200
[2026-08-29 15:46:41,600.600 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:46:41,630.630 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:46:41,631.631 INFO    ] No update needed
[2026-08-29 15:46:41,632.632 INFO    ] Checking for camera pi updates...
[2026-08-29 15:46:41,654.654 INFO    ] 200
[2026-08-29 15:46:41,656.656 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:46:41,680.680 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:46:41,734.734 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:46:41,737.737 INFO    ] No camera update needed
[2026-08-29 15:46:41,738.738 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:46:41,740.740 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:46:41,743.743 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:46:41,746.746 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:46:43,786.786 INFO    ] ================================================
[2026-08-29 15:46:43,801.801 INFO    ] Launching Daemon at Sat Aug 29 15:46:43 IST 2026
[2026-08-29 15:46:43,812.812 INFO    ] ================================================
[2026-08-29 15:46:44,188.188 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:46:44
[2026-08-29 15:46:44,524.524 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:46:44,677.677 INFO    ] Initializing speech engine...
[2026-08-29 15:46:44,682.682 INFO    ] 2026-08-29 15:46:44
[2026-08-29 15:46:44,890.890 INFO    ] 2026-08-29 15:46:44
[2026-08-29 15:46:44,918.918 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:46:45,046.046 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:46:45,104.104 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:46:45,238.238 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:46:45,305.305 INFO    ] time= 29/08/2026 15:46:45
[2026-08-29 15:46:45,333.333 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:46:45,334.334 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:46:45,406.406 INFO    ] No existing commands found in stream
[2026-08-29 15:46:50,421.421 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:46:50,424.424 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-08-29 15:46:54,675.675 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:46:54,676.676 INFO    ] Checking for system updates...
[2026-08-29 15:46:54,698.698 INFO    ] 200
[2026-08-29 15:46:54,699.699 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:46:54,729.729 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:46:54,730.730 INFO    ] No update needed
[2026-08-29 15:46:54,732.732 INFO    ] Checking for camera pi updates...
[2026-08-29 15:46:54,751.751 INFO    ] 200
[2026-08-29 15:46:54,753.753 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:46:54,776.776 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:46:54,870.870 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:46:54,873.873 INFO    ] No camera update needed
[2026-08-29 15:46:54,876.876 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:46:54,878.878 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:46:54,885.885 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:46:54,890.890 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:46:56,933.933 INFO    ] ================================================
[2026-08-29 15:46:56,948.948 INFO    ] Launching Daemon at Sat Aug 29 15:46:56 IST 2026
[2026-08-29 15:46:56,958.958 INFO    ] ================================================
[2026-08-29 15:46:57,540.540 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:46:57
[2026-08-29 15:46:58,058.058 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:46:58,332.332 INFO    ] Initializing speech engine...
[2026-08-29 15:46:58,337.337 INFO    ] 2026-08-29 15:46:58
[2026-08-29 15:46:58,598.598 INFO    ] 2026-08-29 15:46:58
[2026-08-29 15:46:58,628.628 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:46:58,795.795 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:46:58,819.819 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:46:58,948.948 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:46:58,957.957 INFO    ] time= 29/08/2026 15:46:58
[2026-08-29 15:46:58,963.963 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:46:59,019.019 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:46:59,144.144 INFO    ] No existing commands found in stream
[2026-08-29 15:47:04,164.164 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:47:04,167.167 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-08-29 15:47:05,533.533 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:47:05,534.534 INFO    ] Checking for system updates...
[2026-08-29 15:47:05,555.555 INFO    ] 200
[2026-08-29 15:47:05,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:47:05,588.588 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:47:05,589.589 INFO    ] No update needed
[2026-08-29 15:47:05,590.590 INFO    ] Checking for camera pi updates...
[2026-08-29 15:47:05,609.609 INFO    ] 200
[2026-08-29 15:47:05,611.611 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:47:05,638.638 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:47:05,768.768 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:47:05,771.771 INFO    ] No camera update needed
[2026-08-29 15:47:05,774.774 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:47:05,776.776 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:47:05,782.782 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:47:05,787.787 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:47:07,828.828 INFO    ] ================================================
[2026-08-29 15:47:07,844.844 INFO    ] Launching Daemon at Sat Aug 29 15:47:07 IST 2026
[2026-08-29 15:47:07,855.855 INFO    ] ================================================
[2026-08-29 15:47:08,424.424 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:47:08
[2026-08-29 15:47:08,869.869 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:47:09,018.018 INFO    ] Initializing speech engine...
[2026-08-29 15:47:09,024.024 INFO    ] 2026-08-29 15:47:09
[2026-08-29 15:47:09,233.233 INFO    ] 2026-08-29 15:47:09
[2026-08-29 15:47:09,262.262 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:47:09,391.391 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:47:09,449.449 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:47:09,583.583 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:47:09,639.639 INFO    ] time= 29/08/2026 15:47:09
[2026-08-29 15:47:09,674.674 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:47:09,686.686 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:47:09,756.756 INFO    ] No existing commands found in stream
[2026-08-29 15:47:14,767.767 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:47:14,770.770 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-08-29 15:47:16,462.462 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:47:16,464.464 INFO    ] Checking for system updates...
[2026-08-29 15:47:16,485.485 INFO    ] 200
[2026-08-29 15:47:16,486.486 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:47:16,519.519 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:47:16,520.520 INFO    ] No update needed
[2026-08-29 15:47:16,522.522 INFO    ] Checking for camera pi updates...
[2026-08-29 15:47:16,543.543 INFO    ] 200
[2026-08-29 15:47:16,545.545 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:47:16,568.568 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:47:16,651.651 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:47:16,652.652 INFO    ] No camera update needed
[2026-08-29 15:47:16,654.654 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:47:16,655.655 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:47:16,658.658 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:47:16,661.661 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:47:18,700.700 INFO    ] ================================================
[2026-08-29 15:47:18,715.715 INFO    ] Launching Daemon at Sat Aug 29 15:47:18 IST 2026
[2026-08-29 15:47:18,726.726 INFO    ] ================================================
[2026-08-29 15:47:19,104.104 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:47:19
[2026-08-29 15:47:19,437.437 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:47:19,591.591 INFO    ] Initializing speech engine...
[2026-08-29 15:47:19,598.598 INFO    ] 2026-08-29 15:47:19
[2026-08-29 15:47:19,841.841 INFO    ] 2026-08-29 15:47:19
[2026-08-29 15:47:19,897.897 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:47:20,058.058 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:47:20,067.067 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:47:20,235.235 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:47:20,265.265 INFO    ] time= 29/08/2026 15:47:20
[2026-08-29 15:47:20,271.271 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:47:20,289.289 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:47:20,395.395 INFO    ] No existing commands found in stream
[2026-08-29 15:47:25,427.427 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:47:25,430.430 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-08-29 15:47:27,411.411 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:47:27,412.412 INFO    ] Checking for system updates...
[2026-08-29 15:47:27,433.433 INFO    ] 200
[2026-08-29 15:47:27,435.435 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:47:27,465.465 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:47:27,466.466 INFO    ] No update needed
[2026-08-29 15:47:27,467.467 INFO    ] Checking for camera pi updates...
[2026-08-29 15:47:27,487.487 INFO    ] 200
[2026-08-29 15:47:27,488.488 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:47:27,513.513 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:47:27,620.620 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:47:27,623.623 INFO    ] No camera update needed
[2026-08-29 15:47:27,625.625 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:47:27,628.628 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:47:27,634.634 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:47:27,639.639 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:47:29,680.680 INFO    ] ================================================
[2026-08-29 15:47:29,695.695 INFO    ] Launching Daemon at Sat Aug 29 15:47:29 IST 2026
[2026-08-29 15:47:29,705.705 INFO    ] ================================================
[2026-08-29 15:47:30,290.290 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:47:30
[2026-08-29 15:47:30,777.777 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:47:30,917.917 INFO    ] Initializing speech engine...
[2026-08-29 15:47:30,927.927 INFO    ] 2026-08-29 15:47:30
[2026-08-29 15:47:31,131.131 INFO    ] 2026-08-29 15:47:31
[2026-08-29 15:47:31,159.159 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:47:31,315.315 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:47:31,355.355 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:47:31,493.493 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:47:31,502.502 INFO    ] time= 29/08/2026 15:47:31
[2026-08-29 15:47:31,512.512 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:47:31,560.560 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:47:31,666.666 INFO    ] No existing commands found in stream
[2026-08-29 15:47:36,702.702 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:47:36,705.705 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 15:47:40,127.127 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:47:40,128.128 INFO    ] Checking for system updates...
[2026-08-29 15:47:40,148.148 INFO    ] 200
[2026-08-29 15:47:40,150.150 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:47:40,180.180 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:47:40,182.182 INFO    ] No update needed
[2026-08-29 15:47:40,183.183 INFO    ] Checking for camera pi updates...
[2026-08-29 15:47:40,205.205 INFO    ] 200
[2026-08-29 15:47:40,206.206 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:47:40,232.232 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:47:40,340.340 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:47:40,341.341 INFO    ] No camera update needed
[2026-08-29 15:47:40,343.343 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:47:40,344.344 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:47:40,347.347 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:47:40,350.350 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:47:42,389.389 INFO    ] ================================================
[2026-08-29 15:47:42,404.404 INFO    ] Launching Daemon at Sat Aug 29 15:47:42 IST 2026
[2026-08-29 15:47:42,416.416 INFO    ] ================================================
[2026-08-29 15:47:42,749.749 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:47:42
[2026-08-29 15:47:43,250.250 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:47:43,523.523 INFO    ] Initializing speech engine...
[2026-08-29 15:47:43,531.531 INFO    ] 2026-08-29 15:47:43
[2026-08-29 15:47:43,785.785 INFO    ] 2026-08-29 15:47:43
[2026-08-29 15:47:43,820.820 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:47:43,997.997 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:47:44,010.010 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:47:44,122.122 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:47:44,127.127 INFO    ] time= 29/08/2026 15:47:44
[2026-08-29 15:47:44,145.145 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:47:44,166.166 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:47:44,240.240 INFO    ] No existing commands found in stream
[2026-08-29 15:47:49,252.252 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:47:49,255.255 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-08-29 15:47:52,921.921 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:47:52,922.922 INFO    ] Checking for system updates...
[2026-08-29 15:47:52,943.943 INFO    ] 200
[2026-08-29 15:47:52,944.944 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:47:52,974.974 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:47:52,976.976 INFO    ] No update needed
[2026-08-29 15:47:52,977.977 INFO    ] Checking for camera pi updates...
[2026-08-29 15:47:52,996.996 INFO    ] 200
[2026-08-29 15:47:52,997.997 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:47:53,020.020 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:47:53,101.101 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:47:53,102.102 INFO    ] No camera update needed
[2026-08-29 15:47:53,103.103 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:47:53,105.105 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:47:53,107.107 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:47:53,110.110 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:47:55,150.150 INFO    ] ================================================
[2026-08-29 15:47:55,166.166 INFO    ] Launching Daemon at Sat Aug 29 15:47:55 IST 2026
[2026-08-29 15:47:55,177.177 INFO    ] ================================================
[2026-08-29 15:47:55,533.533 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:47:55
[2026-08-29 15:47:55,850.850 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:47:55,995.995 INFO    ] Initializing speech engine...
[2026-08-29 15:47:56,000.000 INFO    ] 2026-08-29 15:47:55
[2026-08-29 15:47:56,205.205 INFO    ] 2026-08-29 15:47:56
[2026-08-29 15:47:56,233.233 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:47:56,356.356 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:47:56,393.393 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:47:56,549.549 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:47:56,601.601 INFO    ] time= 29/08/2026 15:47:56
[2026-08-29 15:47:56,640.640 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:47:56,650.650 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:47:56,722.722 INFO    ] No existing commands found in stream
[2026-08-29 15:48:01,732.732 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:48:01,735.735 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-08-29 15:48:02,242.242 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:48:02,245.245 INFO    ] Checking for system updates...
[2026-08-29 15:48:02,285.285 INFO    ] 200
[2026-08-29 15:48:02,287.287 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:48:02,353.353 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:48:02,356.356 INFO    ] No update needed
[2026-08-29 15:48:02,358.358 INFO    ] Checking for camera pi updates...
[2026-08-29 15:48:02,398.398 INFO    ] 200
[2026-08-29 15:48:02,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:48:02,447.447 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:48:02,562.562 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:48:02,565.565 INFO    ] No camera update needed
[2026-08-29 15:48:02,568.568 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:48:02,571.571 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:48:02,581.581 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:48:02,590.590 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:48:04,635.635 INFO    ] ================================================
[2026-08-29 15:48:04,651.651 INFO    ] Launching Daemon at Sat Aug 29 15:48:04 IST 2026
[2026-08-29 15:48:04,661.661 INFO    ] ================================================
[2026-08-29 15:48:04,998.998 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:48:04
[2026-08-29 15:48:05,310.310 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:48:05,548.548 INFO    ] Initializing speech engine...
[2026-08-29 15:48:05,563.563 INFO    ] 2026-08-29 15:48:05
[2026-08-29 15:48:05,852.852 INFO    ] 2026-08-29 15:48:05
[2026-08-29 15:48:05,887.887 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:48:06,056.056 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:48:06,068.068 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:48:06,224.224 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:48:06,234.234 INFO    ] time= 29/08/2026 15:48:06
[2026-08-29 15:48:06,239.239 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:48:06,244.244 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:48:06,317.317 INFO    ] No existing commands found in stream
[2026-08-29 15:48:11,328.328 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:48:11,331.331 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-08-29 15:48:15,625.625 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:48:15,628.628 INFO    ] Checking for system updates...
[2026-08-29 15:48:15,664.664 INFO    ] 200
[2026-08-29 15:48:15,667.667 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:48:15,723.723 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:48:15,726.726 INFO    ] No update needed
[2026-08-29 15:48:15,729.729 INFO    ] Checking for camera pi updates...
[2026-08-29 15:48:15,763.763 INFO    ] 200
[2026-08-29 15:48:15,766.766 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:48:15,816.816 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:48:15,873.873 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:48:15,875.875 INFO    ] No camera update needed
[2026-08-29 15:48:15,877.877 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:48:15,880.880 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:48:15,885.885 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:48:15,890.890 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:48:17,931.931 INFO    ] ================================================
[2026-08-29 15:48:17,947.947 INFO    ] Launching Daemon at Sat Aug 29 15:48:17 IST 2026
[2026-08-29 15:48:17,958.958 INFO    ] ================================================
[2026-08-29 15:48:18,332.332 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:48:18
[2026-08-29 15:48:18,929.929 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:48:19,206.206 INFO    ] Initializing speech engine...
[2026-08-29 15:48:19,212.212 INFO    ] 2026-08-29 15:48:19
[2026-08-29 15:48:19,476.476 INFO    ] 2026-08-29 15:48:19
[2026-08-29 15:48:19,526.526 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:48:19,672.672 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:48:19,685.685 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:48:19,793.793 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:48:19,798.798 INFO    ] time= 29/08/2026 15:48:19
[2026-08-29 15:48:19,816.816 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:48:19,839.839 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:48:19,910.910 INFO    ] No existing commands found in stream
[2026-08-29 15:48:24,941.941 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:48:24,944.944 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-08-29 15:48:27,303.303 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:48:27,306.306 INFO    ] Checking for system updates...
[2026-08-29 15:48:27,343.343 INFO    ] 200
[2026-08-29 15:48:27,346.346 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:48:27,400.400 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:48:27,404.404 INFO    ] No update needed
[2026-08-29 15:48:27,406.406 INFO    ] Checking for camera pi updates...
[2026-08-29 15:48:27,442.442 INFO    ] 200
[2026-08-29 15:48:27,445.445 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:48:27,487.487 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:48:27,669.669 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:48:27,673.673 INFO    ] No camera update needed
[2026-08-29 15:48:27,675.675 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:48:27,678.678 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:48:27,684.684 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:48:27,690.690 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:48:29,733.733 INFO    ] ================================================
[2026-08-29 15:48:29,749.749 INFO    ] Launching Daemon at Sat Aug 29 15:48:29 IST 2026
[2026-08-29 15:48:29,760.760 INFO    ] ================================================
[2026-08-29 15:48:30,327.327 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:48:30
[2026-08-29 15:48:30,649.649 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:48:30,779.779 INFO    ] Initializing speech engine...
[2026-08-29 15:48:30,787.787 INFO    ] 2026-08-29 15:48:30
[2026-08-29 15:48:30,999.999 INFO    ] 2026-08-29 15:48:30
[2026-08-29 15:48:31,028.028 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:48:31,154.154 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:48:31,211.211 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:48:31,345.345 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:48:31,406.406 INFO    ] time= 29/08/2026 15:48:31
[2026-08-29 15:48:31,462.462 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:48:31,507.507 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:48:31,647.647 INFO    ] No existing commands found in stream
[2026-08-29 15:48:36,683.683 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:48:36,686.686 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-08-29 15:48:40,590.590 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:48:40,591.591 INFO    ] Checking for system updates...
[2026-08-29 15:48:40,612.612 INFO    ] 200
[2026-08-29 15:48:40,614.614 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:48:40,644.644 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:48:40,646.646 INFO    ] No update needed
[2026-08-29 15:48:40,647.647 INFO    ] Checking for camera pi updates...
[2026-08-29 15:48:40,666.666 INFO    ] 200
[2026-08-29 15:48:40,668.668 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:48:40,691.691 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:48:40,769.769 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:48:40,771.771 INFO    ] No camera update needed
[2026-08-29 15:48:40,774.774 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:48:40,777.777 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:48:40,783.783 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:48:40,789.789 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:48:42,830.830 INFO    ] ================================================
[2026-08-29 15:48:42,845.845 INFO    ] Launching Daemon at Sat Aug 29 15:48:42 IST 2026
[2026-08-29 15:48:42,856.856 INFO    ] ================================================
[2026-08-29 15:48:43,439.439 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:48:43
[2026-08-29 15:48:43,951.951 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:48:44,083.083 INFO    ] Initializing speech engine...
[2026-08-29 15:48:44,087.087 INFO    ] 2026-08-29 15:48:44
[2026-08-29 15:48:44,295.295 INFO    ] 2026-08-29 15:48:44
[2026-08-29 15:48:44,324.324 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:48:44,480.480 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:48:44,534.534 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:48:44,691.691 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:48:44,743.743 INFO    ] time= 29/08/2026 15:48:44
[2026-08-29 15:48:44,777.777 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:48:44,800.800 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:48:44,876.876 INFO    ] No existing commands found in stream
[2026-08-29 15:48:49,887.887 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:48:49,890.890 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-08-29 15:48:53,780.780 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:48:53,781.781 INFO    ] Checking for system updates...
[2026-08-29 15:48:53,803.803 INFO    ] 200
[2026-08-29 15:48:53,804.804 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:48:53,836.836 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:48:53,838.838 INFO    ] No update needed
[2026-08-29 15:48:53,839.839 INFO    ] Checking for camera pi updates...
[2026-08-29 15:48:53,858.858 INFO    ] 200
[2026-08-29 15:48:53,859.859 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:48:53,882.882 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:48:53,985.985 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:48:53,986.986 INFO    ] No camera update needed
[2026-08-29 15:48:53,987.987 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:48:53,989.989 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:48:53,992.992 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:48:53,994.994 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:48:56,033.033 INFO    ] ================================================
[2026-08-29 15:48:56,048.048 INFO    ] Launching Daemon at Sat Aug 29 15:48:56 IST 2026
[2026-08-29 15:48:56,059.059 INFO    ] ================================================
[2026-08-29 15:48:56,597.597 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:48:56
[2026-08-29 15:48:57,199.199 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:48:57,481.481 INFO    ] Initializing speech engine...
[2026-08-29 15:48:57,486.486 INFO    ] 2026-08-29 15:48:57
[2026-08-29 15:48:57,736.736 INFO    ] 2026-08-29 15:48:57
[2026-08-29 15:48:57,777.777 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:48:57,944.944 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:48:57,956.956 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:48:58,097.097 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:48:58,106.106 INFO    ] time= 29/08/2026 15:48:58
[2026-08-29 15:48:58,112.112 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:48:58,138.138 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:48:58,268.268 INFO    ] No existing commands found in stream
[2026-08-29 15:49:03,298.298 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:49:03,301.301 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-08-29 15:49:05,639.639 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:49:05,640.640 INFO    ] Checking for system updates...
[2026-08-29 15:49:05,661.661 INFO    ] 200
[2026-08-29 15:49:05,663.663 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:49:05,695.695 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:49:05,696.696 INFO    ] No update needed
[2026-08-29 15:49:05,698.698 INFO    ] Checking for camera pi updates...
[2026-08-29 15:49:05,717.717 INFO    ] 200
[2026-08-29 15:49:05,718.718 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:49:05,741.741 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:49:05,831.831 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:49:05,833.833 INFO    ] No camera update needed
[2026-08-29 15:49:05,835.835 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:49:05,837.837 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:49:05,841.841 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:49:05,846.846 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:49:07,886.886 INFO    ] ================================================
[2026-08-29 15:49:07,902.902 INFO    ] Launching Daemon at Sat Aug 29 15:49:07 IST 2026
[2026-08-29 15:49:07,913.913 INFO    ] ================================================
[2026-08-29 15:49:08,568.568 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:49:08
[2026-08-29 15:49:09,119.119 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:49:09,274.274 INFO    ] Initializing speech engine...
[2026-08-29 15:49:09,277.277 INFO    ] 2026-08-29 15:49:09
[2026-08-29 15:49:09,487.487 INFO    ] 2026-08-29 15:49:09
[2026-08-29 15:49:09,518.518 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:49:09,642.642 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:49:09,705.705 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:49:09,845.845 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:49:09,909.909 INFO    ] time= 29/08/2026 15:49:09
[2026-08-29 15:49:09,938.938 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:49:09,944.944 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:49:10,013.013 INFO    ] No existing commands found in stream
[2026-08-29 15:49:15,022.022 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:49:15,026.026 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-08-29 15:49:15,850.850 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:49:15,851.851 INFO    ] Checking for system updates...
[2026-08-29 15:49:15,872.872 INFO    ] 200
[2026-08-29 15:49:15,874.874 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:49:15,904.904 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:49:15,905.905 INFO    ] No update needed
[2026-08-29 15:49:15,907.907 INFO    ] Checking for camera pi updates...
[2026-08-29 15:49:15,927.927 INFO    ] 200
[2026-08-29 15:49:15,928.928 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:49:15,952.952 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:49:16,057.057 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:49:16,059.059 INFO    ] No camera update needed
[2026-08-29 15:49:16,060.060 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:49:16,062.062 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:49:16,065.065 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:49:16,068.068 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:49:18,111.111 INFO    ] ================================================
[2026-08-29 15:49:18,127.127 INFO    ] Launching Daemon at Sat Aug 29 15:49:18 IST 2026
[2026-08-29 15:49:18,139.139 INFO    ] ================================================
[2026-08-29 15:49:18,477.477 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:49:18
[2026-08-29 15:49:18,795.795 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:49:18,940.940 INFO    ] Initializing speech engine...
[2026-08-29 15:49:18,945.945 INFO    ] 2026-08-29 15:49:18
[2026-08-29 15:49:19,148.148 INFO    ] 2026-08-29 15:49:19
[2026-08-29 15:49:19,192.192 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:49:19,359.359 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:49:19,364.364 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:49:19,538.538 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:49:19,564.564 INFO    ] time= 29/08/2026 15:49:19
[2026-08-29 15:49:19,570.570 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:49:19,591.591 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:49:19,688.688 INFO    ] No existing commands found in stream
[2026-08-29 15:49:24,710.710 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:49:24,713.713 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-08-29 15:49:28,334.334 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:49:28,335.335 INFO    ] Checking for system updates...
[2026-08-29 15:49:28,357.357 INFO    ] 200
[2026-08-29 15:49:28,358.358 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:49:28,389.389 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:49:28,390.390 INFO    ] No update needed
[2026-08-29 15:49:28,391.391 INFO    ] Checking for camera pi updates...
[2026-08-29 15:49:28,411.411 INFO    ] 200
[2026-08-29 15:49:28,412.412 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:49:28,435.435 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:49:28,523.523 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:49:28,525.525 INFO    ] No camera update needed
[2026-08-29 15:49:28,526.526 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:49:28,527.527 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:49:28,530.530 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:49:28,533.533 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:49:30,572.572 INFO    ] ================================================
[2026-08-29 15:49:30,587.587 INFO    ] Launching Daemon at Sat Aug 29 15:49:30 IST 2026
[2026-08-29 15:49:30,599.599 INFO    ] ================================================
[2026-08-29 15:49:30,945.945 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:49:30
[2026-08-29 15:49:31,366.366 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:49:31,631.631 INFO    ] Initializing speech engine...
[2026-08-29 15:49:31,646.646 INFO    ] 2026-08-29 15:49:31
[2026-08-29 15:49:31,935.935 INFO    ] 2026-08-29 15:49:31
[2026-08-29 15:49:31,975.975 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:49:32,160.160 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:49:32,174.174 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:49:32,295.295 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:49:32,315.315 INFO    ] time= 29/08/2026 15:49:32
[2026-08-29 15:49:32,337.337 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:49:32,345.345 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:49:32,426.426 INFO    ] No existing commands found in stream
[2026-08-29 15:49:37,439.439 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:49:37,447.447 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-08-29 15:49:38,693.693 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:49:38,695.695 INFO    ] Checking for system updates...
[2026-08-29 15:49:38,715.715 INFO    ] 200
[2026-08-29 15:49:38,716.716 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:49:38,747.747 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:49:38,749.749 INFO    ] No update needed
[2026-08-29 15:49:38,750.750 INFO    ] Checking for camera pi updates...
[2026-08-29 15:49:38,770.770 INFO    ] 200
[2026-08-29 15:49:38,771.771 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:49:38,795.795 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:49:38,882.882 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:49:38,883.883 INFO    ] No camera update needed
[2026-08-29 15:49:38,884.884 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:49:38,886.886 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:49:38,889.889 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:49:38,892.892 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:49:40,933.933 INFO    ] ================================================
[2026-08-29 15:49:40,948.948 INFO    ] Launching Daemon at Sat Aug 29 15:49:40 IST 2026
[2026-08-29 15:49:40,959.959 INFO    ] ================================================
[2026-08-29 15:49:41,510.510 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:49:41
[2026-08-29 15:49:42,093.093 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:49:42,362.362 INFO    ] Initializing speech engine...
[2026-08-29 15:49:42,370.370 INFO    ] 2026-08-29 15:49:42
[2026-08-29 15:49:42,620.620 INFO    ] 2026-08-29 15:49:42
[2026-08-29 15:49:42,654.654 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:49:42,827.827 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:49:42,839.839 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:49:42,947.947 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:49:42,953.953 INFO    ] time= 29/08/2026 15:49:42
[2026-08-29 15:49:42,971.971 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:49:42,990.990 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:49:43,064.064 INFO    ] No existing commands found in stream
[2026-08-29 15:49:48,079.079 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:49:48,082.082 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-08-29 15:49:51,445.445 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:49:51,448.448 INFO    ] Checking for system updates...
[2026-08-29 15:49:51,485.485 INFO    ] 200
[2026-08-29 15:49:51,488.488 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:49:51,549.549 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:49:51,553.553 INFO    ] No update needed
[2026-08-29 15:49:51,556.556 INFO    ] Checking for camera pi updates...
[2026-08-29 15:49:51,595.595 INFO    ] 200
[2026-08-29 15:49:51,598.598 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:49:51,646.646 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:49:51,742.742 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:49:51,745.745 INFO    ] No camera update needed
[2026-08-29 15:49:51,748.748 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:49:51,750.750 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:49:51,757.757 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:49:51,763.763 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:49:53,805.805 INFO    ] ================================================
[2026-08-29 15:49:53,820.820 INFO    ] Launching Daemon at Sat Aug 29 15:49:53 IST 2026
[2026-08-29 15:49:53,831.831 INFO    ] ================================================
[2026-08-29 15:49:54,199.199 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:49:54
[2026-08-29 15:49:54,517.517 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:49:54,661.661 INFO    ] Initializing speech engine...
[2026-08-29 15:49:54,667.667 INFO    ] 2026-08-29 15:49:54
[2026-08-29 15:49:54,872.872 INFO    ] 2026-08-29 15:49:54
[2026-08-29 15:49:54,900.900 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:49:55,021.021 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:49:55,061.061 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:49:55,216.216 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:49:55,278.278 INFO    ] time= 29/08/2026 15:49:55
[2026-08-29 15:49:55,321.321 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:49:55,363.363 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:49:55,469.469 INFO    ] No existing commands found in stream
[2026-08-29 15:50:00,499.499 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:50:00,502.502 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 15:50:01,911.911 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:50:01,914.914 INFO    ] Checking for system updates...
[2026-08-29 15:50:02,071.071 INFO    ] 200
[2026-08-29 15:50:02,075.075 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:50:02,329.329 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:50:02,343.343 INFO    ] No update needed
[2026-08-29 15:50:02,347.347 INFO    ] Checking for camera pi updates...
[2026-08-29 15:50:02,408.408 INFO    ] 200
[2026-08-29 15:50:02,423.423 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:50:02,517.517 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:50:02,885.885 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:50:02,889.889 INFO    ] No camera update needed
[2026-08-29 15:50:02,894.894 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:50:02,899.899 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:50:02,909.909 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:50:02,920.920 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:50:04,962.962 INFO    ] ================================================
[2026-08-29 15:50:04,977.977 INFO    ] Launching Daemon at Sat Aug 29 15:50:04 IST 2026
[2026-08-29 15:50:04,988.988 INFO    ] ================================================
[2026-08-29 15:50:05,342.342 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:50:05
[2026-08-29 15:50:05,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:50:05,827.827 INFO    ] Initializing speech engine...
[2026-08-29 15:50:05,833.833 INFO    ] 2026-08-29 15:50:05
[2026-08-29 15:50:06,038.038 INFO    ] 2026-08-29 15:50:06
[2026-08-29 15:50:06,067.067 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:50:06,201.201 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:50:06,254.254 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:50:06,404.404 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:50:06,438.438 INFO    ] time= 29/08/2026 15:50:06
[2026-08-29 15:50:06,503.503 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:50:06,564.564 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:50:06,706.706 INFO    ] No existing commands found in stream
[2026-08-29 15:50:11,737.737 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:50:11,740.740 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-08-29 15:50:12,684.684 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:50:12,686.686 INFO    ] Checking for system updates...
[2026-08-29 15:50:12,706.706 INFO    ] 200
[2026-08-29 15:50:12,708.708 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:50:12,738.738 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:50:12,739.739 INFO    ] No update needed
[2026-08-29 15:50:12,741.741 INFO    ] Checking for camera pi updates...
[2026-08-29 15:50:12,761.761 INFO    ] 200
[2026-08-29 15:50:12,762.762 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:50:12,786.786 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:50:12,882.882 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:50:12,884.884 INFO    ] No camera update needed
[2026-08-29 15:50:12,885.885 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:50:12,886.886 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:50:12,890.890 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:50:12,893.893 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:50:14,931.931 INFO    ] ================================================
[2026-08-29 15:50:14,947.947 INFO    ] Launching Daemon at Sat Aug 29 15:50:14 IST 2026
[2026-08-29 15:50:14,958.958 INFO    ] ================================================
[2026-08-29 15:50:15,526.526 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:50:15
[2026-08-29 15:50:16,112.112 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:50:16,373.373 INFO    ] Initializing speech engine...
[2026-08-29 15:50:16,398.398 INFO    ] 2026-08-29 15:50:16
[2026-08-29 15:50:16,640.640 INFO    ] 2026-08-29 15:50:16
[2026-08-29 15:50:16,670.670 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:50:16,766.766 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:50:16,802.802 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:50:16,918.918 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:50:16,959.959 INFO    ] time= 29/08/2026 15:50:16
[2026-08-29 15:50:17,004.004 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:50:17,041.041 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:50:17,119.119 INFO    ] No existing commands found in stream
[2026-08-29 15:50:22,134.134 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:50:22,136.136 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-08-29 15:50:23,082.082 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:50:23,083.083 INFO    ] Checking for system updates...
[2026-08-29 15:50:23,104.104 INFO    ] 200
[2026-08-29 15:50:23,105.105 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:50:23,135.135 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:50:23,136.136 INFO    ] No update needed
[2026-08-29 15:50:23,138.138 INFO    ] Checking for camera pi updates...
[2026-08-29 15:50:23,158.158 INFO    ] 200
[2026-08-29 15:50:23,159.159 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:50:23,183.183 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:50:23,284.284 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:50:23,286.286 INFO    ] No camera update needed
[2026-08-29 15:50:23,288.288 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:50:23,290.290 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:50:23,296.296 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:50:23,301.301 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:50:25,340.340 INFO    ] ================================================
[2026-08-29 15:50:25,356.356 INFO    ] Launching Daemon at Sat Aug 29 15:50:25 IST 2026
[2026-08-29 15:50:25,367.367 INFO    ] ================================================
[2026-08-29 15:50:25,954.954 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:50:25
[2026-08-29 15:50:26,455.455 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:50:26,666.666 INFO    ] Initializing speech engine...
[2026-08-29 15:50:26,673.673 INFO    ] 2026-08-29 15:50:26
[2026-08-29 15:50:26,929.929 INFO    ] 2026-08-29 15:50:26
[2026-08-29 15:50:26,964.964 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:50:27,128.128 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:50:27,140.140 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:50:27,288.288 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:50:27,295.295 INFO    ] time= 29/08/2026 15:50:27
[2026-08-29 15:50:27,299.299 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:50:27,305.305 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:50:27,374.374 INFO    ] No existing commands found in stream
[2026-08-29 15:50:32,388.388 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:50:32,391.391 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-08-29 15:50:33,413.413 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:50:33,415.415 INFO    ] Checking for system updates...
[2026-08-29 15:50:33,455.455 INFO    ] 200
[2026-08-29 15:50:33,457.457 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:50:33,510.510 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:50:33,514.514 INFO    ] No update needed
[2026-08-29 15:50:33,516.516 INFO    ] Checking for camera pi updates...
[2026-08-29 15:50:33,550.550 INFO    ] 200
[2026-08-29 15:50:33,552.552 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:50:33,592.592 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:50:33,689.689 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:50:33,691.691 INFO    ] No camera update needed
[2026-08-29 15:50:33,694.694 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:50:33,696.696 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:50:33,702.702 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:50:33,707.707 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:50:35,748.748 INFO    ] ================================================
[2026-08-29 15:50:35,763.763 INFO    ] Launching Daemon at Sat Aug 29 15:50:35 IST 2026
[2026-08-29 15:50:35,773.773 INFO    ] ================================================
[2026-08-29 15:50:36,279.279 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:50:36
[2026-08-29 15:50:36,884.884 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:50:37,160.160 INFO    ] Initializing speech engine...
[2026-08-29 15:50:37,170.170 INFO    ] 2026-08-29 15:50:37
[2026-08-29 15:50:37,418.418 INFO    ] 2026-08-29 15:50:37
[2026-08-29 15:50:37,455.455 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:50:37,628.628 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:50:37,641.641 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:50:37,770.770 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:50:37,790.790 INFO    ] time= 29/08/2026 15:50:37
[2026-08-29 15:50:37,798.798 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:50:37,806.806 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:50:37,871.871 INFO    ] No existing commands found in stream
[2026-08-29 15:50:42,901.901 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:50:42,905.905 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-08-29 15:50:44,727.727 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:50:44,728.728 INFO    ] Checking for system updates...
[2026-08-29 15:50:44,749.749 INFO    ] 200
[2026-08-29 15:50:44,750.750 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:50:44,780.780 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:50:44,781.781 INFO    ] No update needed
[2026-08-29 15:50:44,783.783 INFO    ] Checking for camera pi updates...
[2026-08-29 15:50:44,802.802 INFO    ] 200
[2026-08-29 15:50:44,804.804 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:50:44,828.828 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:50:44,913.913 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:50:44,915.915 INFO    ] No camera update needed
[2026-08-29 15:50:44,916.916 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:50:44,917.917 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:50:44,920.920 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:50:44,923.923 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:50:46,961.961 INFO    ] ================================================
[2026-08-29 15:50:46,976.976 INFO    ] Launching Daemon at Sat Aug 29 15:50:46 IST 2026
[2026-08-29 15:50:46,986.986 INFO    ] ================================================
[2026-08-29 15:50:47,324.324 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:50:47
[2026-08-29 15:50:47,642.642 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:50:47,866.866 INFO    ] Initializing speech engine...
[2026-08-29 15:50:47,875.875 INFO    ] 2026-08-29 15:50:47
[2026-08-29 15:50:48,148.148 INFO    ] 2026-08-29 15:50:48
[2026-08-29 15:50:48,192.192 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:50:48,412.412 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:50:48,421.421 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:50:48,558.558 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:50:48,590.590 INFO    ] time= 29/08/2026 15:50:48
[2026-08-29 15:50:48,654.654 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:50:48,693.693 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:50:48,778.778 INFO    ] No existing commands found in stream
[2026-08-29 15:50:53,815.815 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:50:53,818.818 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 15:50:57,189.189 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:50:57,190.190 INFO    ] Checking for system updates...
[2026-08-29 15:50:57,212.212 INFO    ] 200
[2026-08-29 15:50:57,214.214 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:50:57,245.245 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:50:57,246.246 INFO    ] No update needed
[2026-08-29 15:50:57,247.247 INFO    ] Checking for camera pi updates...
[2026-08-29 15:50:57,266.266 INFO    ] 200
[2026-08-29 15:50:57,268.268 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:50:57,293.293 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:50:57,370.370 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:50:57,372.372 INFO    ] No camera update needed
[2026-08-29 15:50:57,373.373 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:50:57,374.374 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:50:57,377.377 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:50:57,380.380 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:50:59,418.418 INFO    ] ================================================
[2026-08-29 15:50:59,433.433 INFO    ] Launching Daemon at Sat Aug 29 15:50:59 IST 2026
[2026-08-29 15:50:59,444.444 INFO    ] ================================================
[2026-08-29 15:50:59,816.816 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:50:59
[2026-08-29 15:51:00,134.134 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:51:00,277.277 INFO    ] Initializing speech engine...
[2026-08-29 15:51:00,285.285 INFO    ] 2026-08-29 15:51:00
[2026-08-29 15:51:00,507.507 INFO    ] 2026-08-29 15:51:00
[2026-08-29 15:51:00,537.537 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:51:00,671.671 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:51:00,724.724 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:51:00,880.880 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:51:00,922.922 INFO    ] time= 29/08/2026 15:51:00
[2026-08-29 15:51:00,966.966 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:51:00,989.989 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:51:01,066.066 INFO    ] No existing commands found in stream
[2026-08-29 15:51:06,075.075 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:51:06,079.079 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-08-29 15:51:10,049.049 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:51:10,050.050 INFO    ] Checking for system updates...
[2026-08-29 15:51:10,071.071 INFO    ] 200
[2026-08-29 15:51:10,073.073 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:51:10,107.107 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:51:10,108.108 INFO    ] No update needed
[2026-08-29 15:51:10,109.109 INFO    ] Checking for camera pi updates...
[2026-08-29 15:51:10,128.128 INFO    ] 200
[2026-08-29 15:51:10,130.130 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:51:10,154.154 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:51:10,239.239 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:51:10,240.240 INFO    ] No camera update needed
[2026-08-29 15:51:10,242.242 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:51:10,243.243 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:51:10,246.246 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:51:10,249.249 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:51:12,286.286 INFO    ] ================================================
[2026-08-29 15:51:12,306.306 INFO    ] Launching Daemon at Sat Aug 29 15:51:12 IST 2026
[2026-08-29 15:51:12,317.317 INFO    ] ================================================
[2026-08-29 15:51:12,987.987 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:51:12
[2026-08-29 15:51:13,673.673 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:51:14,002.002 INFO    ] Initializing speech engine...
[2026-08-29 15:51:14,013.013 INFO    ] 2026-08-29 15:51:14
[2026-08-29 15:51:14,288.288 INFO    ] 2026-08-29 15:51:14
[2026-08-29 15:51:14,350.350 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:51:14,579.579 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:51:14,589.589 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:51:15,735.735 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:51:15,739.739 INFO    ] time= 29/08/2026 15:51:15
[2026-08-29 15:51:15,790.790 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:51:15,795.795 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:51:15,897.897 INFO    ] No existing commands found in stream
[2026-08-29 15:51:20,921.921 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:51:20,924.924 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-08-29 15:51:25,138.138 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:51:25,139.139 INFO    ] Checking for system updates...
[2026-08-29 15:51:25,160.160 INFO    ] 200
[2026-08-29 15:51:25,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:51:25,213.213 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:51:25,216.216 INFO    ] No update needed
[2026-08-29 15:51:25,218.218 INFO    ] Checking for camera pi updates...
[2026-08-29 15:51:25,252.252 INFO    ] 200
[2026-08-29 15:51:25,255.255 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:51:25,287.287 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:51:25,387.387 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:51:25,388.388 INFO    ] No camera update needed
[2026-08-29 15:51:25,389.389 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:51:25,391.391 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:51:25,394.394 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:51:25,396.396 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:51:27,435.435 INFO    ] ================================================
[2026-08-29 15:51:27,451.451 INFO    ] Launching Daemon at Sat Aug 29 15:51:27 IST 2026
[2026-08-29 15:51:27,463.463 INFO    ] ================================================
[2026-08-29 15:51:28,158.158 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:51:28
[2026-08-29 15:51:28,786.786 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:51:29,084.084 INFO    ] Initializing speech engine...
[2026-08-29 15:51:29,098.098 INFO    ] 2026-08-29 15:51:29
[2026-08-29 15:51:29,377.377 INFO    ] 2026-08-29 15:51:29
[2026-08-29 15:51:29,423.423 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:51:29,649.649 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:51:29,659.659 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:51:29,795.795 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:51:29,822.822 INFO    ] time= 29/08/2026 15:51:29
[2026-08-29 15:51:29,872.872 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:51:29,933.933 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:51:29,987.987 INFO    ] No existing commands found in stream
[2026-08-29 15:51:34,999.999 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:51:35,002.002 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-08-29 15:51:35,444.444 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:51:35,445.445 INFO    ] Checking for system updates...
[2026-08-29 15:51:35,467.467 INFO    ] 200
[2026-08-29 15:51:35,468.468 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:51:35,498.498 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:51:35,499.499 INFO    ] No update needed
[2026-08-29 15:51:35,500.500 INFO    ] Checking for camera pi updates...
[2026-08-29 15:51:35,523.523 INFO    ] 200
[2026-08-29 15:51:35,524.524 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:51:35,547.547 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:51:35,645.645 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:51:35,646.646 INFO    ] No camera update needed
[2026-08-29 15:51:35,647.647 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:51:35,648.648 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:51:35,651.651 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:51:35,654.654 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:51:37,692.692 INFO    ] ================================================
[2026-08-29 15:51:37,707.707 INFO    ] Launching Daemon at Sat Aug 29 15:51:37 IST 2026
[2026-08-29 15:51:37,718.718 INFO    ] ================================================
[2026-08-29 15:51:38,062.062 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:51:38
[2026-08-29 15:51:38,509.509 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:51:38,779.779 INFO    ] Initializing speech engine...
[2026-08-29 15:51:38,797.797 INFO    ] 2026-08-29 15:51:38
[2026-08-29 15:51:39,062.062 INFO    ] 2026-08-29 15:51:39
[2026-08-29 15:51:39,098.098 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:51:39,271.271 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:51:39,283.283 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:51:39,425.425 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:51:39,434.434 INFO    ] time= 29/08/2026 15:51:39
[2026-08-29 15:51:39,440.440 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:51:39,460.460 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:51:39,588.588 INFO    ] No existing commands found in stream
[2026-08-29 15:51:44,618.618 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:51:44,621.621 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-08-29 15:51:47,293.293 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:51:47,295.295 INFO    ] Checking for system updates...
[2026-08-29 15:51:47,316.316 INFO    ] 200
[2026-08-29 15:51:47,317.317 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:51:47,348.348 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:51:47,349.349 INFO    ] No update needed
[2026-08-29 15:51:47,350.350 INFO    ] Checking for camera pi updates...
[2026-08-29 15:51:47,370.370 INFO    ] 200
[2026-08-29 15:51:47,372.372 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:51:47,397.397 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:51:47,502.502 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:51:47,504.504 INFO    ] No camera update needed
[2026-08-29 15:51:47,505.505 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:51:47,506.506 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:51:47,509.509 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:51:47,512.512 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:51:49,549.549 INFO    ] ================================================
[2026-08-29 15:51:49,565.565 INFO    ] Launching Daemon at Sat Aug 29 15:51:49 IST 2026
[2026-08-29 15:51:49,575.575 INFO    ] ================================================
[2026-08-29 15:51:49,933.933 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:51:49
[2026-08-29 15:51:50,261.261 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:51:50,391.391 INFO    ] Initializing speech engine...
[2026-08-29 15:51:50,394.394 INFO    ] 2026-08-29 15:51:50
[2026-08-29 15:51:50,609.609 INFO    ] 2026-08-29 15:51:50
[2026-08-29 15:51:50,638.638 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:51:50,777.777 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:51:50,799.799 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:51:50,930.930 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:51:50,959.959 INFO    ] time= 29/08/2026 15:51:50
[2026-08-29 15:51:50,967.967 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:51:50,975.975 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:51:51,072.072 INFO    ] No existing commands found in stream
[2026-08-29 15:51:56,093.093 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:51:56,096.096 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-08-29 15:52:00,104.104 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:52:00,106.106 INFO    ] Checking for system updates...
[2026-08-29 15:52:00,126.126 INFO    ] 200
[2026-08-29 15:52:00,127.127 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:52:00,161.161 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:52:00,162.162 INFO    ] No update needed
[2026-08-29 15:52:00,164.164 INFO    ] Checking for camera pi updates...
[2026-08-29 15:52:00,184.184 INFO    ] 200
[2026-08-29 15:52:00,185.185 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:52:00,208.208 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:52:00,282.282 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:52:00,284.284 INFO    ] No camera update needed
[2026-08-29 15:52:00,285.285 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:52:00,286.286 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:52:00,289.289 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:52:00,292.292 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:52:02,331.331 INFO    ] ================================================
[2026-08-29 15:52:02,355.355 INFO    ] Launching Daemon at Sat Aug 29 15:52:02 IST 2026
[2026-08-29 15:52:02,373.373 INFO    ] ================================================
[2026-08-29 15:52:03,099.099 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:52:03
[2026-08-29 15:52:03,771.771 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:52:04,075.075 INFO    ] Initializing speech engine...
[2026-08-29 15:52:04,090.090 INFO    ] 2026-08-29 15:52:04
[2026-08-29 15:52:04,407.407 INFO    ] 2026-08-29 15:52:04
[2026-08-29 15:52:04,504.504 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:52:04,660.660 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:52:04,666.666 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:52:04,809.809 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:52:04,813.813 INFO    ] time= 29/08/2026 15:52:04
[2026-08-29 15:52:04,823.823 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:52:04,842.842 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:52:04,900.900 INFO    ] No existing commands found in stream
[2026-08-29 15:52:09,914.914 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:52:09,917.917 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-08-29 15:52:10,376.376 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:52:10,377.377 INFO    ] Checking for system updates...
[2026-08-29 15:52:10,398.398 INFO    ] 200
[2026-08-29 15:52:10,399.399 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:52:10,431.431 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:52:10,432.432 INFO    ] No update needed
[2026-08-29 15:52:10,434.434 INFO    ] Checking for camera pi updates...
[2026-08-29 15:52:10,454.454 INFO    ] 200
[2026-08-29 15:52:10,455.455 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:52:10,478.478 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:52:10,562.562 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:52:10,564.564 INFO    ] No camera update needed
[2026-08-29 15:52:10,567.567 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:52:10,569.569 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:52:10,574.574 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:52:10,579.579 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:52:12,620.620 INFO    ] ================================================
[2026-08-29 15:52:12,636.636 INFO    ] Launching Daemon at Sat Aug 29 15:52:12 IST 2026
[2026-08-29 15:52:12,646.646 INFO    ] ================================================
[2026-08-29 15:52:13,226.226 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:52:13
[2026-08-29 15:52:13,835.835 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:52:14,113.113 INFO    ] Initializing speech engine...
[2026-08-29 15:52:14,120.120 INFO    ] 2026-08-29 15:52:14
[2026-08-29 15:52:14,382.382 INFO    ] 2026-08-29 15:52:14
[2026-08-29 15:52:14,412.412 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:52:14,576.576 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:52:14,599.599 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:52:14,729.729 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:52:14,738.738 INFO    ] time= 29/08/2026 15:52:14
[2026-08-29 15:52:14,746.746 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:52:14,800.800 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:52:14,922.922 INFO    ] No existing commands found in stream
[2026-08-29 15:52:19,944.944 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:52:19,947.947 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-08-29 15:52:22,429.429 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:52:22,433.433 INFO    ] Checking for system updates...
[2026-08-29 15:52:22,469.469 INFO    ] 200
[2026-08-29 15:52:22,472.472 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:52:22,530.530 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:52:22,533.533 INFO    ] No update needed
[2026-08-29 15:52:22,535.535 INFO    ] Checking for camera pi updates...
[2026-08-29 15:52:22,573.573 INFO    ] 200
[2026-08-29 15:52:22,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:52:22,617.617 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:52:22,695.695 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:52:22,697.697 INFO    ] No camera update needed
[2026-08-29 15:52:22,699.699 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:52:22,701.701 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:52:22,707.707 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:52:22,712.712 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:52:24,755.755 INFO    ] ================================================
[2026-08-29 15:52:24,770.770 INFO    ] Launching Daemon at Sat Aug 29 15:52:24 IST 2026
[2026-08-29 15:52:24,781.781 INFO    ] ================================================
[2026-08-29 15:52:25,339.339 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:52:25
[2026-08-29 15:52:25,679.679 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:52:25,828.828 INFO    ] Initializing speech engine...
[2026-08-29 15:52:25,838.838 INFO    ] 2026-08-29 15:52:25
[2026-08-29 15:52:26,068.068 INFO    ] 2026-08-29 15:52:26
[2026-08-29 15:52:26,155.155 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:52:26,319.319 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:52:26,325.325 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:52:26,465.465 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:52:26,515.515 INFO    ] time= 29/08/2026 15:52:26
[2026-08-29 15:52:26,575.575 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:52:26,605.605 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:52:26,661.661 INFO    ] No existing commands found in stream
[2026-08-29 15:52:31,673.673 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:52:31,675.675 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-08-29 15:52:36,386.386 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:52:36,389.389 INFO    ] Checking for system updates...
[2026-08-29 15:52:36,432.432 INFO    ] 200
[2026-08-29 15:52:36,435.435 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:52:36,478.478 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:52:36,480.480 INFO    ] No update needed
[2026-08-29 15:52:36,481.481 INFO    ] Checking for camera pi updates...
[2026-08-29 15:52:36,501.501 INFO    ] 200
[2026-08-29 15:52:36,502.502 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:52:36,526.526 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:52:36,718.718 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:52:36,719.719 INFO    ] No camera update needed
[2026-08-29 15:52:36,720.720 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:52:36,722.722 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:52:36,725.725 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:52:36,727.727 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:52:38,765.765 INFO    ] ================================================
[2026-08-29 15:52:38,780.780 INFO    ] Launching Daemon at Sat Aug 29 15:52:38 IST 2026
[2026-08-29 15:52:38,791.791 INFO    ] ================================================
[2026-08-29 15:52:39,155.155 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:52:39
[2026-08-29 15:52:39,778.778 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:52:40,087.087 INFO    ] Initializing speech engine...
[2026-08-29 15:52:40,095.095 INFO    ] 2026-08-29 15:52:40
[2026-08-29 15:52:40,365.365 INFO    ] 2026-08-29 15:52:40
[2026-08-29 15:52:40,430.430 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:52:40,657.657 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:52:40,667.667 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:52:40,803.803 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:52:40,820.820 INFO    ] time= 29/08/2026 15:52:40
[2026-08-29 15:52:40,891.891 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:52:40,923.923 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:52:41,008.008 INFO    ] No existing commands found in stream
[2026-08-29 15:52:46,022.022 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:52:46,025.025 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-08-29 15:52:50,081.081 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:52:50,083.083 INFO    ] Checking for system updates...
[2026-08-29 15:52:50,104.104 INFO    ] 200
[2026-08-29 15:52:50,105.105 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:52:50,137.137 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:52:50,139.139 INFO    ] No update needed
[2026-08-29 15:52:50,140.140 INFO    ] Checking for camera pi updates...
[2026-08-29 15:52:50,159.159 INFO    ] 200
[2026-08-29 15:52:50,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:52:50,187.187 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:52:50,294.294 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:52:50,295.295 INFO    ] No camera update needed
[2026-08-29 15:52:50,297.297 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:52:50,298.298 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:52:50,301.301 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:52:50,304.304 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:52:52,344.344 INFO    ] ================================================
[2026-08-29 15:52:52,364.364 INFO    ] Launching Daemon at Sat Aug 29 15:52:52 IST 2026
[2026-08-29 15:52:52,375.375 INFO    ] ================================================
[2026-08-29 15:52:52,999.999 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:52:52
[2026-08-29 15:52:53,689.689 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:52:53,994.994 INFO    ] Initializing speech engine...
[2026-08-29 15:52:54,004.004 INFO    ] 2026-08-29 15:52:53
[2026-08-29 15:52:54,301.301 INFO    ] 2026-08-29 15:52:54
[2026-08-29 15:52:54,348.348 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:52:54,575.575 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:52:54,586.586 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:52:54,725.725 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:52:54,775.775 INFO    ] time= 29/08/2026 15:52:54
[2026-08-29 15:52:54,840.840 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:52:54,865.865 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:52:54,971.971 INFO    ] No existing commands found in stream
[2026-08-29 15:53:00,010.010 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:53:00,013.013 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-08-29 15:53:00,467.467 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:53:00,469.469 INFO    ] Checking for system updates...
[2026-08-29 15:53:00,491.491 INFO    ] 200
[2026-08-29 15:53:00,493.493 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:53:00,526.526 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:53:00,528.528 INFO    ] No update needed
[2026-08-29 15:53:00,529.529 INFO    ] Checking for camera pi updates...
[2026-08-29 15:53:00,552.552 INFO    ] 200
[2026-08-29 15:53:00,553.553 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:53:00,579.579 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:53:00,680.680 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:53:00,681.681 INFO    ] No camera update needed
[2026-08-29 15:53:00,682.682 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:53:00,684.684 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:53:00,687.687 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:53:00,690.690 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:53:02,733.733 INFO    ] ================================================
[2026-08-29 15:53:02,752.752 INFO    ] Launching Daemon at Sat Aug 29 15:53:02 IST 2026
[2026-08-29 15:53:02,766.766 INFO    ] ================================================
[2026-08-29 15:53:03,418.418 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:53:03
[2026-08-29 15:53:04,041.041 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:53:04,301.301 INFO    ] Initializing speech engine...
[2026-08-29 15:53:04,316.316 INFO    ] 2026-08-29 15:53:04
[2026-08-29 15:53:04,572.572 INFO    ] 2026-08-29 15:53:04
[2026-08-29 15:53:04,606.606 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:53:04,782.782 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:53:04,796.796 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:53:04,910.910 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:53:04,928.928 INFO    ] time= 29/08/2026 15:53:04
[2026-08-29 15:53:04,948.948 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:53:04,956.956 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:53:05,025.025 INFO    ] No existing commands found in stream
[2026-08-29 15:53:10,034.034 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:53:10,037.037 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-08-29 15:53:13,971.971 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:53:13,973.973 INFO    ] Checking for system updates...
[2026-08-29 15:53:13,995.995 INFO    ] 200
[2026-08-29 15:53:13,996.996 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:53:14,029.029 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:53:14,030.030 INFO    ] No update needed
[2026-08-29 15:53:14,031.031 INFO    ] Checking for camera pi updates...
[2026-08-29 15:53:14,050.050 INFO    ] 200
[2026-08-29 15:53:14,051.051 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:53:14,077.077 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:53:14,161.161 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:53:14,162.162 INFO    ] No camera update needed
[2026-08-29 15:53:14,163.163 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:53:14,165.165 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:53:14,168.168 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:53:14,170.170 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:53:16,210.210 INFO    ] ================================================
[2026-08-29 15:53:16,225.225 INFO    ] Launching Daemon at Sat Aug 29 15:53:16 IST 2026
[2026-08-29 15:53:16,237.237 INFO    ] ================================================
[2026-08-29 15:53:16,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:53:16
[2026-08-29 15:53:17,039.039 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:53:17,310.310 INFO    ] Initializing speech engine...
[2026-08-29 15:53:17,319.319 INFO    ] 2026-08-29 15:53:17
[2026-08-29 15:53:17,567.567 INFO    ] 2026-08-29 15:53:17
[2026-08-29 15:53:17,602.602 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:53:17,779.779 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:53:17,792.792 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:53:17,905.905 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:53:17,924.924 INFO    ] time= 29/08/2026 15:53:17
[2026-08-29 15:53:17,947.947 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:53:17,952.952 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:53:18,021.021 INFO    ] No existing commands found in stream
[2026-08-29 15:53:23,033.033 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:53:23,035.035 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-08-29 15:53:24,325.325 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:53:24,326.326 INFO    ] Checking for system updates...
[2026-08-29 15:53:24,347.347 INFO    ] 200
[2026-08-29 15:53:24,349.349 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:53:24,380.380 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:53:24,382.382 INFO    ] No update needed
[2026-08-29 15:53:24,383.383 INFO    ] Checking for camera pi updates...
[2026-08-29 15:53:24,402.402 INFO    ] 200
[2026-08-29 15:53:24,403.403 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:53:24,427.427 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:53:24,521.521 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:53:24,523.523 INFO    ] No camera update needed
[2026-08-29 15:53:24,524.524 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:53:24,525.525 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:53:24,528.528 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:53:24,531.531 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:53:26,570.570 INFO    ] ================================================
[2026-08-29 15:53:26,585.585 INFO    ] Launching Daemon at Sat Aug 29 15:53:26 IST 2026
[2026-08-29 15:53:26,596.596 INFO    ] ================================================
[2026-08-29 15:53:27,058.058 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:53:27
[2026-08-29 15:53:27,659.659 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:53:27,933.933 INFO    ] Initializing speech engine...
[2026-08-29 15:53:27,942.942 INFO    ] 2026-08-29 15:53:27
[2026-08-29 15:53:28,191.191 INFO    ] 2026-08-29 15:53:28
[2026-08-29 15:53:28,258.258 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:53:28,411.411 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:53:28,428.428 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:53:28,540.540 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:53:28,546.546 INFO    ] time= 29/08/2026 15:53:28
[2026-08-29 15:53:28,562.562 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:53:28,586.586 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:53:28,674.674 INFO    ] No existing commands found in stream
[2026-08-29 15:53:33,687.687 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:53:33,689.689 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-08-29 15:53:37,058.058 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:53:37,060.060 INFO    ] Checking for system updates...
[2026-08-29 15:53:37,082.082 INFO    ] 200
[2026-08-29 15:53:37,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:53:37,119.119 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:53:37,120.120 INFO    ] No update needed
[2026-08-29 15:53:37,121.121 INFO    ] Checking for camera pi updates...
[2026-08-29 15:53:37,143.143 INFO    ] 200
[2026-08-29 15:53:37,144.144 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:53:37,169.169 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:53:37,215.215 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:53:37,217.217 INFO    ] No camera update needed
[2026-08-29 15:53:37,218.218 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:53:37,220.220 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:53:37,223.223 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:53:37,226.226 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:53:39,265.265 INFO    ] ================================================
[2026-08-29 15:53:39,281.281 INFO    ] Launching Daemon at Sat Aug 29 15:53:39 IST 2026
[2026-08-29 15:53:39,292.292 INFO    ] ================================================
[2026-08-29 15:53:39,646.646 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:53:39
[2026-08-29 15:53:39,982.982 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:53:40,135.135 INFO    ] Initializing speech engine...
[2026-08-29 15:53:40,138.138 INFO    ] 2026-08-29 15:53:40
[2026-08-29 15:53:40,345.345 INFO    ] 2026-08-29 15:53:40
[2026-08-29 15:53:40,374.374 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:53:40,500.500 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:53:40,562.562 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:53:40,693.693 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:53:40,754.754 INFO    ] time= 29/08/2026 15:53:40
[2026-08-29 15:53:40,791.791 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:53:40,798.798 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:53:40,862.862 INFO    ] No existing commands found in stream
[2026-08-29 15:53:45,872.872 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:53:45,875.875 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-08-29 15:53:49,393.393 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:53:49,397.397 INFO    ] Checking for system updates...
[2026-08-29 15:53:49,437.437 INFO    ] 200
[2026-08-29 15:53:49,440.440 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:53:49,496.496 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:53:49,499.499 INFO    ] No update needed
[2026-08-29 15:53:49,502.502 INFO    ] Checking for camera pi updates...
[2026-08-29 15:53:49,539.539 INFO    ] 200
[2026-08-29 15:53:49,542.542 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:53:49,593.593 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:53:49,699.699 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:53:49,702.702 INFO    ] No camera update needed
[2026-08-29 15:53:49,705.705 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:53:49,708.708 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:53:49,714.714 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:53:49,720.720 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:53:51,761.761 INFO    ] ================================================
[2026-08-29 15:53:51,777.777 INFO    ] Launching Daemon at Sat Aug 29 15:53:51 IST 2026
[2026-08-29 15:53:51,788.788 INFO    ] ================================================
[2026-08-29 15:53:52,371.371 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:53:52
[2026-08-29 15:53:52,697.697 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:53:52,898.898 INFO    ] Initializing speech engine...
[2026-08-29 15:53:52,908.908 INFO    ] 2026-08-29 15:53:52
[2026-08-29 15:53:53,173.173 INFO    ] 2026-08-29 15:53:53
[2026-08-29 15:53:53,212.212 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:53:53,406.406 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:53:53,413.413 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:53:53,549.549 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:53:53,554.554 INFO    ] time= 29/08/2026 15:53:53
[2026-08-29 15:53:53,574.574 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:53:53,596.596 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:53:53,677.677 INFO    ] No existing commands found in stream
[2026-08-29 15:53:58,690.690 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:53:58,693.693 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-08-29 15:54:03,074.074 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:54:03,077.077 INFO    ] Checking for system updates...
[2026-08-29 15:54:03,130.130 INFO    ] 200
[2026-08-29 15:54:03,133.133 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:54:03,197.197 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:54:03,200.200 INFO    ] No update needed
[2026-08-29 15:54:03,202.202 INFO    ] Checking for camera pi updates...
[2026-08-29 15:54:03,242.242 INFO    ] 200
[2026-08-29 15:54:03,246.246 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:54:03,295.295 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:54:03,400.400 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:54:03,403.403 INFO    ] No camera update needed
[2026-08-29 15:54:03,405.405 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:54:03,407.407 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:54:03,413.413 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:54:03,418.418 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:54:05,458.458 INFO    ] ================================================
[2026-08-29 15:54:05,474.474 INFO    ] Launching Daemon at Sat Aug 29 15:54:05 IST 2026
[2026-08-29 15:54:05,485.485 INFO    ] ================================================
[2026-08-29 15:54:05,844.844 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:54:05
[2026-08-29 15:54:06,159.159 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:54:06,306.306 INFO    ] Initializing speech engine...
[2026-08-29 15:54:06,311.311 INFO    ] 2026-08-29 15:54:06
[2026-08-29 15:54:06,499.499 INFO    ] 2026-08-29 15:54:06
[2026-08-29 15:54:06,564.564 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:54:06,715.715 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:54:06,724.724 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:54:06,856.856 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:54:06,883.883 INFO    ] time= 29/08/2026 15:54:06
[2026-08-29 15:54:06,958.958 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:54:06,990.990 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:54:07,044.044 INFO    ] No existing commands found in stream
[2026-08-29 15:54:12,055.055 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:54:12,058.058 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-08-29 15:54:15,256.256 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:54:15,259.259 INFO    ] Checking for system updates...
[2026-08-29 15:54:15,295.295 INFO    ] 200
[2026-08-29 15:54:15,297.297 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:54:15,351.351 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:54:15,354.354 INFO    ] No update needed
[2026-08-29 15:54:15,356.356 INFO    ] Checking for camera pi updates...
[2026-08-29 15:54:15,393.393 INFO    ] 200
[2026-08-29 15:54:15,395.395 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:54:15,440.440 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:54:15,526.526 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:54:15,528.528 INFO    ] No camera update needed
[2026-08-29 15:54:15,531.531 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:54:15,533.533 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:54:15,538.538 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:54:15,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:54:17,584.584 INFO    ] ================================================
[2026-08-29 15:54:17,600.600 INFO    ] Launching Daemon at Sat Aug 29 15:54:17 IST 2026
[2026-08-29 15:54:17,610.610 INFO    ] ================================================
[2026-08-29 15:54:17,937.937 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:54:17
[2026-08-29 15:54:18,280.280 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:54:18,536.536 INFO    ] Initializing speech engine...
[2026-08-29 15:54:18,544.544 INFO    ] 2026-08-29 15:54:18
[2026-08-29 15:54:18,842.842 INFO    ] 2026-08-29 15:54:18
[2026-08-29 15:54:18,868.868 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:54:19,029.029 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:54:19,034.034 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:54:19,156.156 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:54:19,193.193 INFO    ] time= 29/08/2026 15:54:19
[2026-08-29 15:54:19,201.201 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:54:19,206.206 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:54:19,276.276 INFO    ] No existing commands found in stream
[2026-08-29 15:54:24,290.290 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:54:24,293.293 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 15:54:27,773.773 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:54:27,775.775 INFO    ] Checking for system updates...
[2026-08-29 15:54:27,796.796 INFO    ] 200
[2026-08-29 15:54:27,798.798 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:54:27,830.830 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:54:27,831.831 INFO    ] No update needed
[2026-08-29 15:54:27,833.833 INFO    ] Checking for camera pi updates...
[2026-08-29 15:54:27,851.851 INFO    ] 200
[2026-08-29 15:54:27,853.853 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:54:27,876.876 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:54:27,964.964 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:54:27,965.965 INFO    ] No camera update needed
[2026-08-29 15:54:27,967.967 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:54:27,968.968 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:54:27,971.971 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:54:27,973.973 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:54:30,014.014 INFO    ] ================================================
[2026-08-29 15:54:30,030.030 INFO    ] Launching Daemon at Sat Aug 29 15:54:30 IST 2026
[2026-08-29 15:54:30,041.041 INFO    ] ================================================
[2026-08-29 15:54:30,380.380 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:54:30
[2026-08-29 15:54:30,696.696 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:54:30,840.840 INFO    ] Initializing speech engine...
[2026-08-29 15:54:30,845.845 INFO    ] 2026-08-29 15:54:30
[2026-08-29 15:54:31,049.049 INFO    ] 2026-08-29 15:54:31
[2026-08-29 15:54:31,077.077 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:54:31,209.209 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:54:31,262.262 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:54:31,399.399 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:54:31,464.464 INFO    ] time= 29/08/2026 15:54:31
[2026-08-29 15:54:31,510.510 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:54:31,555.555 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:54:31,676.676 INFO    ] No existing commands found in stream
[2026-08-29 15:54:36,701.701 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:54:36,704.704 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-08-29 15:54:39,767.767 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:54:39,769.769 INFO    ] Checking for system updates...
[2026-08-29 15:54:39,789.789 INFO    ] 200
[2026-08-29 15:54:39,790.790 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:54:39,824.824 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:54:39,825.825 INFO    ] No update needed
[2026-08-29 15:54:39,826.826 INFO    ] Checking for camera pi updates...
[2026-08-29 15:54:39,845.845 INFO    ] 200
[2026-08-29 15:54:39,847.847 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:54:39,871.871 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:54:40,062.062 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:54:40,064.064 INFO    ] No camera update needed
[2026-08-29 15:54:40,065.065 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:54:40,066.066 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:54:40,069.069 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:54:40,071.071 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:54:42,112.112 INFO    ] ================================================
[2026-08-29 15:54:42,129.129 INFO    ] Launching Daemon at Sat Aug 29 15:54:42 IST 2026
[2026-08-29 15:54:42,140.140 INFO    ] ================================================
[2026-08-29 15:54:42,508.508 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:54:42
[2026-08-29 15:54:42,826.826 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:54:42,960.960 INFO    ] Initializing speech engine...
[2026-08-29 15:54:42,974.974 INFO    ] 2026-08-29 15:54:42
[2026-08-29 15:54:43,180.180 INFO    ] 2026-08-29 15:54:43
[2026-08-29 15:54:43,240.240 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:54:43,384.384 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:54:43,394.394 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:54:43,507.507 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:54:43,534.534 INFO    ] time= 29/08/2026 15:54:43
[2026-08-29 15:54:43,560.560 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:54:43,625.625 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:54:43,713.713 INFO    ] No existing commands found in stream
[2026-08-29 15:54:48,724.724 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:54:48,727.727 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-08-29 15:54:50,131.131 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:54:50,133.133 INFO    ] Checking for system updates...
[2026-08-29 15:54:50,153.153 INFO    ] 200
[2026-08-29 15:54:50,155.155 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:54:50,185.185 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:54:50,186.186 INFO    ] No update needed
[2026-08-29 15:54:50,187.187 INFO    ] Checking for camera pi updates...
[2026-08-29 15:54:50,206.206 INFO    ] 200
[2026-08-29 15:54:50,208.208 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:54:50,233.233 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:54:50,311.311 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:54:50,313.313 INFO    ] No camera update needed
[2026-08-29 15:54:50,314.314 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:54:50,315.315 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:54:50,318.318 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:54:50,321.321 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:54:52,359.359 INFO    ] ================================================
[2026-08-29 15:54:52,374.374 INFO    ] Launching Daemon at Sat Aug 29 15:54:52 IST 2026
[2026-08-29 15:54:52,385.385 INFO    ] ================================================
[2026-08-29 15:54:52,756.756 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:54:52
[2026-08-29 15:54:53,074.074 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:54:53,316.316 INFO    ] Initializing speech engine...
[2026-08-29 15:54:53,326.326 INFO    ] 2026-08-29 15:54:53
[2026-08-29 15:54:53,587.587 INFO    ] 2026-08-29 15:54:53
[2026-08-29 15:54:53,642.642 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:54:53,784.784 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:54:53,796.796 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:54:53,936.936 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:54:53,945.945 INFO    ] time= 29/08/2026 15:54:53
[2026-08-29 15:54:53,951.951 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:54:54,002.002 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:54:54,128.128 INFO    ] No existing commands found in stream
[2026-08-29 15:54:59,151.151 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:54:59,154.154 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-08-29 15:55:00,602.602 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:55:00,603.603 INFO    ] Checking for system updates...
[2026-08-29 15:55:00,624.624 INFO    ] 200
[2026-08-29 15:55:00,626.626 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:55:00,658.658 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:55:00,659.659 INFO    ] No update needed
[2026-08-29 15:55:00,661.661 INFO    ] Checking for camera pi updates...
[2026-08-29 15:55:00,682.682 INFO    ] 200
[2026-08-29 15:55:00,684.684 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:55:00,707.707 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:55:00,779.779 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:55:00,781.781 INFO    ] No camera update needed
[2026-08-29 15:55:00,782.782 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:55:00,784.784 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:55:00,787.787 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:55:00,790.790 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:55:02,848.848 INFO    ] ================================================
[2026-08-29 15:55:02,868.868 INFO    ] Launching Daemon at Sat Aug 29 15:55:02 IST 2026
[2026-08-29 15:55:02,885.885 INFO    ] ================================================
[2026-08-29 15:55:03,611.611 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:55:03
[2026-08-29 15:55:04,284.284 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:55:04,587.587 INFO    ] Initializing speech engine...
[2026-08-29 15:55:04,594.594 INFO    ] 2026-08-29 15:55:04
[2026-08-29 15:55:04,874.874 INFO    ] 2026-08-29 15:55:04
[2026-08-29 15:55:04,930.930 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:55:05,130.130 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:55:05,140.140 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:55:05,300.300 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:55:05,348.348 INFO    ] time= 29/08/2026 15:55:05
[2026-08-29 15:55:05,364.364 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:55:05,374.374 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:55:05,485.485 INFO    ] No existing commands found in stream
[2026-08-29 15:55:10,514.514 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:55:10,517.517 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-08-29 15:55:12,539.539 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:55:12,541.541 INFO    ] Checking for system updates...
[2026-08-29 15:55:12,563.563 INFO    ] 200
[2026-08-29 15:55:12,564.564 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:55:12,598.598 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:55:12,599.599 INFO    ] No update needed
[2026-08-29 15:55:12,600.600 INFO    ] Checking for camera pi updates...
[2026-08-29 15:55:12,620.620 INFO    ] 200
[2026-08-29 15:55:12,622.622 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:55:12,645.645 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:55:12,727.727 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:55:12,728.728 INFO    ] No camera update needed
[2026-08-29 15:55:12,730.730 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:55:12,731.731 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:55:12,734.734 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:55:12,737.737 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:55:14,777.777 INFO    ] ================================================
[2026-08-29 15:55:14,792.792 INFO    ] Launching Daemon at Sat Aug 29 15:55:14 IST 2026
[2026-08-29 15:55:14,803.803 INFO    ] ================================================
[2026-08-29 15:55:15,185.185 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:55:15
[2026-08-29 15:55:15,497.497 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:55:15,631.631 INFO    ] Initializing speech engine...
[2026-08-29 15:55:15,643.643 INFO    ] 2026-08-29 15:55:15
[2026-08-29 15:55:15,851.851 INFO    ] 2026-08-29 15:55:15
[2026-08-29 15:55:15,880.880 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:55:16,024.024 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:55:16,032.032 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:55:16,213.213 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:55:16,240.240 INFO    ] time= 29/08/2026 15:55:16
[2026-08-29 15:55:16,256.256 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:55:16,262.262 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:55:16,363.363 INFO    ] No existing commands found in stream
[2026-08-29 15:55:21,380.380 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:55:21,383.383 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-08-29 15:55:25,437.437 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:55:25,439.439 INFO    ] Checking for system updates...
[2026-08-29 15:55:25,460.460 INFO    ] 200
[2026-08-29 15:55:25,462.462 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:55:25,492.492 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:55:25,493.493 INFO    ] No update needed
[2026-08-29 15:55:25,495.495 INFO    ] Checking for camera pi updates...
[2026-08-29 15:55:25,515.515 INFO    ] 200
[2026-08-29 15:55:25,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:55:25,539.539 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:55:25,651.651 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:55:25,653.653 INFO    ] No camera update needed
[2026-08-29 15:55:25,656.656 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:55:25,658.658 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:55:25,663.663 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:55:25,668.668 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:55:27,709.709 INFO    ] ================================================
[2026-08-29 15:55:27,725.725 INFO    ] Launching Daemon at Sat Aug 29 15:55:27 IST 2026
[2026-08-29 15:55:27,736.736 INFO    ] ================================================
[2026-08-29 15:55:28,319.319 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:55:28
[2026-08-29 15:55:28,834.834 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:55:29,098.098 INFO    ] Initializing speech engine...
[2026-08-29 15:55:29,104.104 INFO    ] 2026-08-29 15:55:29
[2026-08-29 15:55:29,403.403 INFO    ] 2026-08-29 15:55:29
[2026-08-29 15:55:29,429.429 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:55:29,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:55:29,594.594 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:55:29,744.744 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:55:29,757.757 INFO    ] time= 29/08/2026 15:55:29
[2026-08-29 15:55:29,762.762 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:55:29,785.785 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:55:29,842.842 INFO    ] No existing commands found in stream
[2026-08-29 15:55:34,854.854 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:55:34,857.857 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-08-29 15:55:38,937.937 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 15:55:38,938.938 INFO    ] Checking for system updates...
[2026-08-29 15:55:38,959.959 INFO    ] 200
[2026-08-29 15:55:38,960.960 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:55:38,994.994 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:55:38,995.995 INFO    ] No update needed
[2026-08-29 15:55:38,996.996 INFO    ] Checking for camera pi updates...
[2026-08-29 15:55:39,021.021 INFO    ] 200
[2026-08-29 15:55:39,023.023 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:55:39,064.064 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:55:39,168.168 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:55:39,170.170 INFO    ] No camera update needed
[2026-08-29 15:55:39,172.172 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:55:39,175.175 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:55:39,180.180 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:55:39,185.185 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:55:41,225.225 INFO    ] ================================================
[2026-08-29 15:55:41,241.241 INFO    ] Launching Daemon at Sat Aug 29 15:55:41 IST 2026
[2026-08-29 15:55:41,251.251 INFO    ] ================================================
[2026-08-29 15:55:41,818.818 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:55:41
[2026-08-29 15:55:42,280.280 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:55:42,412.412 INFO    ] Initializing speech engine...
[2026-08-29 15:55:42,417.417 INFO    ] 2026-08-29 15:55:42
[2026-08-29 15:55:42,690.690 INFO    ] 2026-08-29 15:55:42
[2026-08-29 15:55:42,725.725 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:55:42,874.874 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:55:42,889.889 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:55:43,031.031 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:55:43,041.041 INFO    ] time= 29/08/2026 15:55:43
[2026-08-29 15:55:43,046.046 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:55:43,051.051 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:55:43,118.118 INFO    ] No existing commands found in stream
[2026-08-29 15:55:48,131.131 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:55:48,134.134 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-08-29 15:55:48,772.772 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:55:48,773.773 INFO    ] Checking for system updates...
[2026-08-29 15:55:48,794.794 INFO    ] 200
[2026-08-29 15:55:48,795.795 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:55:48,826.826 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:55:48,827.827 INFO    ] No update needed
[2026-08-29 15:55:48,828.828 INFO    ] Checking for camera pi updates...
[2026-08-29 15:55:48,850.850 INFO    ] 200
[2026-08-29 15:55:48,851.851 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:55:48,875.875 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:55:48,960.960 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:55:48,962.962 INFO    ] No camera update needed
[2026-08-29 15:55:48,965.965 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:55:48,967.967 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:55:48,972.972 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:55:48,977.977 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:55:51,019.019 INFO    ] ================================================
[2026-08-29 15:55:51,034.034 INFO    ] Launching Daemon at Sat Aug 29 15:55:51 IST 2026
[2026-08-29 15:55:51,045.045 INFO    ] ================================================
[2026-08-29 15:55:51,611.611 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:55:51
[2026-08-29 15:55:52,070.070 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:55:52,202.202 INFO    ] Initializing speech engine...
[2026-08-29 15:55:52,206.206 INFO    ] 2026-08-29 15:55:52
[2026-08-29 15:55:52,402.402 INFO    ] 2026-08-29 15:55:52
[2026-08-29 15:55:52,442.442 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:55:52,565.565 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:55:52,601.601 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:55:52,753.753 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:55:52,791.791 INFO    ] time= 29/08/2026 15:55:52
[2026-08-29 15:55:52,822.822 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:55:52,891.891 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:55:52,995.995 INFO    ] No existing commands found in stream
[2026-08-29 15:55:58,005.005 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:55:58,008.008 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-08-29 15:56:02,385.385 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:56:02,388.388 INFO    ] Checking for system updates...
[2026-08-29 15:56:02,436.436 INFO    ] 200
[2026-08-29 15:56:02,439.439 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:56:02,519.519 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:56:02,522.522 INFO    ] No update needed
[2026-08-29 15:56:02,525.525 INFO    ] Checking for camera pi updates...
[2026-08-29 15:56:02,573.573 INFO    ] 200
[2026-08-29 15:56:02,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:56:02,633.633 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:56:02,787.787 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:56:02,790.790 INFO    ] No camera update needed
[2026-08-29 15:56:02,794.794 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:56:02,796.796 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:56:02,803.803 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:56:02,809.809 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:56:04,851.851 INFO    ] ================================================
[2026-08-29 15:56:04,867.867 INFO    ] Launching Daemon at Sat Aug 29 15:56:04 IST 2026
[2026-08-29 15:56:04,879.879 INFO    ] ================================================
[2026-08-29 15:56:05,250.250 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:56:05
[2026-08-29 15:56:05,586.586 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:56:05,739.739 INFO    ] Initializing speech engine...
[2026-08-29 15:56:05,743.743 INFO    ] 2026-08-29 15:56:05
[2026-08-29 15:56:05,951.951 INFO    ] 2026-08-29 15:56:05
[2026-08-29 15:56:05,980.980 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:56:06,104.104 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:56:06,168.168 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:56:06,307.307 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:56:06,376.376 INFO    ] time= 29/08/2026 15:56:06
[2026-08-29 15:56:06,400.400 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:56:06,407.407 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:56:06,473.473 INFO    ] No existing commands found in stream
[2026-08-29 15:56:11,484.484 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:56:11,487.487 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-08-29 15:56:13,368.368 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:56:13,370.370 INFO    ] Checking for system updates...
[2026-08-29 15:56:13,392.392 INFO    ] 200
[2026-08-29 15:56:13,394.394 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:56:13,424.424 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:56:13,426.426 INFO    ] No update needed
[2026-08-29 15:56:13,427.427 INFO    ] Checking for camera pi updates...
[2026-08-29 15:56:13,446.446 INFO    ] 200
[2026-08-29 15:56:13,448.448 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:56:13,472.472 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:56:13,551.551 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:56:13,554.554 INFO    ] No camera update needed
[2026-08-29 15:56:13,557.557 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:56:13,559.559 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:56:13,566.566 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:56:13,571.571 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:56:15,612.612 INFO    ] ================================================
[2026-08-29 15:56:15,628.628 INFO    ] Launching Daemon at Sat Aug 29 15:56:15 IST 2026
[2026-08-29 15:56:15,639.639 INFO    ] ================================================
[2026-08-29 15:56:16,221.221 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:56:16
[2026-08-29 15:56:16,735.735 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:56:16,869.869 INFO    ] Initializing speech engine...
[2026-08-29 15:56:16,882.882 INFO    ] 2026-08-29 15:56:16
[2026-08-29 15:56:17,086.086 INFO    ] 2026-08-29 15:56:17
[2026-08-29 15:56:17,115.115 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:56:17,232.232 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:56:17,246.246 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:56:17,379.379 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:56:17,400.400 INFO    ] time= 29/08/2026 15:56:17
[2026-08-29 15:56:17,426.426 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:56:17,433.433 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:56:17,531.531 INFO    ] No existing commands found in stream
[2026-08-29 15:56:22,547.547 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:56:22,550.550 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-08-29 15:56:25,706.706 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:56:25,708.708 INFO    ] Checking for system updates...
[2026-08-29 15:56:25,728.728 INFO    ] 200
[2026-08-29 15:56:25,729.729 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:56:25,759.759 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:56:25,760.760 INFO    ] No update needed
[2026-08-29 15:56:25,762.762 INFO    ] Checking for camera pi updates...
[2026-08-29 15:56:25,781.781 INFO    ] 200
[2026-08-29 15:56:25,782.782 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:56:25,807.807 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:56:25,904.904 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:56:25,905.905 INFO    ] No camera update needed
[2026-08-29 15:56:25,907.907 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:56:25,908.908 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:56:25,911.911 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:56:25,913.913 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:56:27,952.952 INFO    ] ================================================
[2026-08-29 15:56:27,968.968 INFO    ] Launching Daemon at Sat Aug 29 15:56:27 IST 2026
[2026-08-29 15:56:27,979.979 INFO    ] ================================================
[2026-08-29 15:56:28,324.324 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:56:28
[2026-08-29 15:56:28,636.636 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:56:28,773.773 INFO    ] Initializing speech engine...
[2026-08-29 15:56:28,783.783 INFO    ] 2026-08-29 15:56:28
[2026-08-29 15:56:28,990.990 INFO    ] 2026-08-29 15:56:28
[2026-08-29 15:56:29,018.018 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:56:29,139.139 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:56:29,177.177 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:56:29,336.336 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:56:29,388.388 INFO    ] time= 29/08/2026 15:56:29
[2026-08-29 15:56:29,426.426 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:56:29,441.441 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:56:29,507.507 INFO    ] No existing commands found in stream
[2026-08-29 15:56:34,517.517 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:56:34,520.520 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-08-29 15:56:34,891.891 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:56:34,893.893 INFO    ] Checking for system updates...
[2026-08-29 15:56:34,913.913 INFO    ] 200
[2026-08-29 15:56:34,914.914 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:56:34,946.946 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:56:34,948.948 INFO    ] No update needed
[2026-08-29 15:56:34,949.949 INFO    ] Checking for camera pi updates...
[2026-08-29 15:56:34,972.972 INFO    ] 200
[2026-08-29 15:56:34,973.973 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:56:34,996.996 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:56:35,092.092 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:56:35,094.094 INFO    ] No camera update needed
[2026-08-29 15:56:35,095.095 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:56:35,096.096 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:56:35,099.099 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:56:35,102.102 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:56:37,142.142 INFO    ] ================================================
[2026-08-29 15:56:37,157.157 INFO    ] Launching Daemon at Sat Aug 29 15:56:37 IST 2026
[2026-08-29 15:56:37,168.168 INFO    ] ================================================
[2026-08-29 15:56:37,552.552 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:56:37
[2026-08-29 15:56:37,887.887 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:56:38,038.038 INFO    ] Initializing speech engine...
[2026-08-29 15:56:38,044.044 INFO    ] 2026-08-29 15:56:38
[2026-08-29 15:56:38,254.254 INFO    ] 2026-08-29 15:56:38
[2026-08-29 15:56:38,284.284 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:56:38,408.408 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:56:38,466.466 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:56:38,618.618 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:56:38,681.681 INFO    ] time= 29/08/2026 15:56:38
[2026-08-29 15:56:38,705.705 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:56:38,713.713 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:56:38,781.781 INFO    ] No existing commands found in stream
[2026-08-29 15:56:43,790.790 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:56:43,794.794 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 15:56:44,765.765 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:56:44,767.767 INFO    ] Checking for system updates...
[2026-08-29 15:56:44,788.788 INFO    ] 200
[2026-08-29 15:56:44,789.789 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:56:44,827.827 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:56:44,828.828 INFO    ] No update needed
[2026-08-29 15:56:44,829.829 INFO    ] Checking for camera pi updates...
[2026-08-29 15:56:44,849.849 INFO    ] 200
[2026-08-29 15:56:44,850.850 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:56:44,874.874 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:56:45,104.104 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:56:45,105.105 INFO    ] No camera update needed
[2026-08-29 15:56:45,107.107 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:56:45,108.108 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:56:45,111.111 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:56:45,114.114 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:56:47,153.153 INFO    ] ================================================
[2026-08-29 15:56:47,169.169 INFO    ] Launching Daemon at Sat Aug 29 15:56:47 IST 2026
[2026-08-29 15:56:47,180.180 INFO    ] ================================================
[2026-08-29 15:56:47,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:56:47
[2026-08-29 15:56:47,899.899 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:56:48,051.051 INFO    ] Initializing speech engine...
[2026-08-29 15:56:48,056.056 INFO    ] 2026-08-29 15:56:48
[2026-08-29 15:56:48,267.267 INFO    ] 2026-08-29 15:56:48
[2026-08-29 15:56:48,296.296 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:56:48,422.422 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:56:48,454.454 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:56:48,596.596 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:56:48,622.622 INFO    ] time= 29/08/2026 15:56:48
[2026-08-29 15:56:48,684.684 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:56:48,722.722 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:56:48,794.794 INFO    ] No existing commands found in stream
[2026-08-29 15:56:53,829.829 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:56:53,838.838 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-08-29 15:56:55,654.654 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:56:55,655.655 INFO    ] Checking for system updates...
[2026-08-29 15:56:55,677.677 INFO    ] 200
[2026-08-29 15:56:55,678.678 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:56:55,709.709 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:56:55,710.710 INFO    ] No update needed
[2026-08-29 15:56:55,711.711 INFO    ] Checking for camera pi updates...
[2026-08-29 15:56:55,731.731 INFO    ] 200
[2026-08-29 15:56:55,733.733 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:56:55,771.771 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:56:55,871.871 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:56:55,873.873 INFO    ] No camera update needed
[2026-08-29 15:56:55,876.876 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:56:55,879.879 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:56:55,885.885 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:56:55,890.890 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:56:57,932.932 INFO    ] ================================================
[2026-08-29 15:56:57,947.947 INFO    ] Launching Daemon at Sat Aug 29 15:56:57 IST 2026
[2026-08-29 15:56:57,958.958 INFO    ] ================================================
[2026-08-29 15:56:58,600.600 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:56:58
[2026-08-29 15:56:59,069.069 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:56:59,220.220 INFO    ] Initializing speech engine...
[2026-08-29 15:56:59,226.226 INFO    ] 2026-08-29 15:56:59
[2026-08-29 15:56:59,433.433 INFO    ] 2026-08-29 15:56:59
[2026-08-29 15:56:59,461.461 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:56:59,594.594 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:56:59,648.648 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:56:59,781.781 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:56:59,829.829 INFO    ] time= 29/08/2026 15:56:59
[2026-08-29 15:56:59,878.878 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:56:59,885.885 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:56:59,951.951 INFO    ] No existing commands found in stream
[2026-08-29 15:57:04,961.961 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:57:04,964.964 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-08-29 15:57:08,690.690 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:57:08,691.691 INFO    ] Checking for system updates...
[2026-08-29 15:57:08,712.712 INFO    ] 200
[2026-08-29 15:57:08,714.714 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:57:08,746.746 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:57:08,747.747 INFO    ] No update needed
[2026-08-29 15:57:08,748.748 INFO    ] Checking for camera pi updates...
[2026-08-29 15:57:08,768.768 INFO    ] 200
[2026-08-29 15:57:08,769.769 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:57:08,794.794 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:57:08,891.891 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:57:08,893.893 INFO    ] No camera update needed
[2026-08-29 15:57:08,894.894 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:57:08,895.895 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:57:08,898.898 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:57:08,901.901 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:57:10,938.938 INFO    ] ================================================
[2026-08-29 15:57:10,953.953 INFO    ] Launching Daemon at Sat Aug 29 15:57:10 IST 2026
[2026-08-29 15:57:10,964.964 INFO    ] ================================================
[2026-08-29 15:57:11,331.331 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:57:11
[2026-08-29 15:57:11,643.643 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:57:11,785.785 INFO    ] Initializing speech engine...
[2026-08-29 15:57:11,790.790 INFO    ] 2026-08-29 15:57:11
[2026-08-29 15:57:11,978.978 INFO    ] 2026-08-29 15:57:11
[2026-08-29 15:57:12,031.031 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:57:12,198.198 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:57:12,255.255 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:57:12,394.394 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:57:12,416.416 INFO    ] time= 29/08/2026 15:57:12
[2026-08-29 15:57:12,470.470 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:57:12,527.527 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:57:12,584.584 INFO    ] No existing commands found in stream
[2026-08-29 15:57:17,595.595 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:57:17,598.598 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-08-29 15:57:21,806.806 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:57:21,808.808 INFO    ] Checking for system updates...
[2026-08-29 15:57:21,828.828 INFO    ] 200
[2026-08-29 15:57:21,829.829 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:57:21,859.859 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:57:21,861.861 INFO    ] No update needed
[2026-08-29 15:57:21,864.864 INFO    ] Checking for camera pi updates...
[2026-08-29 15:57:21,898.898 INFO    ] 200
[2026-08-29 15:57:21,901.901 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:57:21,945.945 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:57:22,037.037 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:57:22,040.040 INFO    ] No camera update needed
[2026-08-29 15:57:22,043.043 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:57:22,045.045 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:57:22,051.051 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:57:22,057.057 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:57:24,097.097 INFO    ] ================================================
[2026-08-29 15:57:24,112.112 INFO    ] Launching Daemon at Sat Aug 29 15:57:24 IST 2026
[2026-08-29 15:57:24,122.122 INFO    ] ================================================
[2026-08-29 15:57:24,706.706 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:57:24
[2026-08-29 15:57:25,157.157 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:57:25,300.300 INFO    ] Initializing speech engine...
[2026-08-29 15:57:25,304.304 INFO    ] 2026-08-29 15:57:25
[2026-08-29 15:57:25,509.509 INFO    ] 2026-08-29 15:57:25
[2026-08-29 15:57:25,538.538 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:57:25,659.659 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:57:25,719.719 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:57:25,853.853 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:57:25,869.869 INFO    ] time= 29/08/2026 15:57:25
[2026-08-29 15:57:25,878.878 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:57:25,904.904 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:57:26,005.005 INFO    ] No existing commands found in stream
[2026-08-29 15:57:31,020.020 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:57:31,023.023 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 15:57:34,847.847 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:57:34,849.849 INFO    ] Checking for system updates...
[2026-08-29 15:57:34,885.885 INFO    ] 200
[2026-08-29 15:57:34,888.888 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:57:34,944.944 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:57:34,947.947 INFO    ] No update needed
[2026-08-29 15:57:34,949.949 INFO    ] Checking for camera pi updates...
[2026-08-29 15:57:34,985.985 INFO    ] 200
[2026-08-29 15:57:34,988.988 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:57:35,050.050 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:57:35,147.147 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:57:35,150.150 INFO    ] No camera update needed
[2026-08-29 15:57:35,152.152 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:57:35,155.155 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:57:35,160.160 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:57:35,164.164 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:57:37,205.205 INFO    ] ================================================
[2026-08-29 15:57:37,220.220 INFO    ] Launching Daemon at Sat Aug 29 15:57:37 IST 2026
[2026-08-29 15:57:37,230.230 INFO    ] ================================================
[2026-08-29 15:57:37,599.599 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:57:37
[2026-08-29 15:57:37,911.911 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:57:38,052.052 INFO    ] Initializing speech engine...
[2026-08-29 15:57:38,058.058 INFO    ] 2026-08-29 15:57:38
[2026-08-29 15:57:38,270.270 INFO    ] 2026-08-29 15:57:38
[2026-08-29 15:57:38,324.324 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:57:38,471.471 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:57:38,476.476 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:57:38,607.607 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:57:38,634.634 INFO    ] time= 29/08/2026 15:57:38
[2026-08-29 15:57:38,683.683 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:57:38,740.740 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:57:38,793.793 INFO    ] No existing commands found in stream
[2026-08-29 15:57:43,805.805 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:57:43,808.808 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-08-29 15:57:46,328.328 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:57:46,329.329 INFO    ] Checking for system updates...
[2026-08-29 15:57:46,349.349 INFO    ] 200
[2026-08-29 15:57:46,351.351 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:57:46,383.383 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:57:46,384.384 INFO    ] No update needed
[2026-08-29 15:57:46,385.385 INFO    ] Checking for camera pi updates...
[2026-08-29 15:57:46,407.407 INFO    ] 200
[2026-08-29 15:57:46,409.409 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:57:46,431.431 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:57:46,530.530 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:57:46,532.532 INFO    ] No camera update needed
[2026-08-29 15:57:46,533.533 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:57:46,534.534 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:57:46,537.537 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:57:46,540.540 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:57:48,578.578 INFO    ] ================================================
[2026-08-29 15:57:48,593.593 INFO    ] Launching Daemon at Sat Aug 29 15:57:48 IST 2026
[2026-08-29 15:57:48,604.604 INFO    ] ================================================
[2026-08-29 15:57:48,928.928 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:57:48
[2026-08-29 15:57:49,239.239 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:57:49,461.461 INFO    ] Initializing speech engine...
[2026-08-29 15:57:49,470.470 INFO    ] 2026-08-29 15:57:49
[2026-08-29 15:57:49,718.718 INFO    ] 2026-08-29 15:57:49
[2026-08-29 15:57:49,753.753 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:57:49,926.926 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:57:49,938.938 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:57:50,081.081 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:57:50,089.089 INFO    ] time= 29/08/2026 15:57:50
[2026-08-29 15:57:50,096.096 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:57:50,136.136 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:57:50,247.247 INFO    ] No existing commands found in stream
[2026-08-29 15:57:55,277.277 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:57:55,280.280 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-08-29 15:57:56,438.438 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:57:56,439.439 INFO    ] Checking for system updates...
[2026-08-29 15:57:56,459.459 INFO    ] 200
[2026-08-29 15:57:56,460.460 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:57:56,490.490 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:57:56,491.491 INFO    ] No update needed
[2026-08-29 15:57:56,493.493 INFO    ] Checking for camera pi updates...
[2026-08-29 15:57:56,512.512 INFO    ] 200
[2026-08-29 15:57:56,513.513 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:57:56,536.536 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:57:56,612.612 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:57:56,613.613 INFO    ] No camera update needed
[2026-08-29 15:57:56,614.614 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:57:56,616.616 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:57:56,618.618 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:57:56,621.621 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:57:58,660.660 INFO    ] ================================================
[2026-08-29 15:57:58,676.676 INFO    ] Launching Daemon at Sat Aug 29 15:57:58 IST 2026
[2026-08-29 15:57:58,687.687 INFO    ] ================================================
[2026-08-29 15:57:59,049.049 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:57:59
[2026-08-29 15:57:59,382.382 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:57:59,528.528 INFO    ] Initializing speech engine...
[2026-08-29 15:57:59,539.539 INFO    ] 2026-08-29 15:57:59
[2026-08-29 15:57:59,746.746 INFO    ] 2026-08-29 15:57:59
[2026-08-29 15:57:59,776.776 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:57:59,904.904 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:57:59,963.963 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:58:00,098.098 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:58:00,157.157 INFO    ] time= 29/08/2026 15:58:00
[2026-08-29 15:58:00,195.195 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:58:00,197.197 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:58:00,267.267 INFO    ] No existing commands found in stream
[2026-08-29 15:58:05,278.278 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:58:05,281.281 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-08-29 15:58:08,690.690 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 15:58:08,691.691 INFO    ] Checking for system updates...
[2026-08-29 15:58:08,713.713 INFO    ] 200
[2026-08-29 15:58:08,714.714 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:58:08,745.745 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:58:08,746.746 INFO    ] No update needed
[2026-08-29 15:58:08,748.748 INFO    ] Checking for camera pi updates...
[2026-08-29 15:58:08,768.768 INFO    ] 200
[2026-08-29 15:58:08,769.769 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:58:08,795.795 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:58:08,894.894 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:58:08,895.895 INFO    ] No camera update needed
[2026-08-29 15:58:08,896.896 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:58:08,898.898 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:58:08,901.901 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:58:08,904.904 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:58:10,943.943 INFO    ] ================================================
[2026-08-29 15:58:10,958.958 INFO    ] Launching Daemon at Sat Aug 29 15:58:10 IST 2026
[2026-08-29 15:58:10,970.970 INFO    ] ================================================
[2026-08-29 15:58:11,330.330 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:58:11
[2026-08-29 15:58:11,667.667 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:58:11,816.816 INFO    ] Initializing speech engine...
[2026-08-29 15:58:11,821.821 INFO    ] 2026-08-29 15:58:11
[2026-08-29 15:58:12,028.028 INFO    ] 2026-08-29 15:58:12
[2026-08-29 15:58:12,055.055 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:58:12,198.198 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:58:12,203.203 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:58:12,368.368 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:58:12,402.402 INFO    ] time= 29/08/2026 15:58:12
[2026-08-29 15:58:12,421.421 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:58:12,430.430 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:58:12,538.538 INFO    ] No existing commands found in stream
[2026-08-29 15:58:17,568.568 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:58:17,571.571 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-08-29 15:58:20,501.501 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:58:20,503.503 INFO    ] Checking for system updates...
[2026-08-29 15:58:20,523.523 INFO    ] 200
[2026-08-29 15:58:20,525.525 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:58:20,557.557 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:58:20,558.558 INFO    ] No update needed
[2026-08-29 15:58:20,560.560 INFO    ] Checking for camera pi updates...
[2026-08-29 15:58:20,582.582 INFO    ] 200
[2026-08-29 15:58:20,583.583 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:58:20,606.606 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:58:20,701.701 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:58:20,704.704 INFO    ] No camera update needed
[2026-08-29 15:58:20,707.707 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:58:20,710.710 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:58:20,716.716 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:58:20,721.721 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:58:22,763.763 INFO    ] ================================================
[2026-08-29 15:58:22,779.779 INFO    ] Launching Daemon at Sat Aug 29 15:58:22 IST 2026
[2026-08-29 15:58:22,790.790 INFO    ] ================================================
[2026-08-29 15:58:23,432.432 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:58:23
[2026-08-29 15:58:23,870.870 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:58:24,107.107 INFO    ] Initializing speech engine...
[2026-08-29 15:58:24,130.130 INFO    ] 2026-08-29 15:58:24
[2026-08-29 15:58:24,387.387 INFO    ] 2026-08-29 15:58:24
[2026-08-29 15:58:24,422.422 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:58:24,595.595 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:58:24,608.608 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:58:24,753.753 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:58:24,760.760 INFO    ] time= 29/08/2026 15:58:24
[2026-08-29 15:58:24,769.769 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:58:24,814.814 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:58:24,920.920 INFO    ] No existing commands found in stream
[2026-08-29 15:58:29,945.945 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:58:29,948.948 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-08-29 15:58:31,363.363 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:58:31,365.365 INFO    ] Checking for system updates...
[2026-08-29 15:58:31,385.385 INFO    ] 200
[2026-08-29 15:58:31,387.387 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:58:31,417.417 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:58:31,419.419 INFO    ] No update needed
[2026-08-29 15:58:31,420.420 INFO    ] Checking for camera pi updates...
[2026-08-29 15:58:31,440.440 INFO    ] 200
[2026-08-29 15:58:31,441.441 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:58:31,465.465 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:58:31,541.541 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:58:31,543.543 INFO    ] No camera update needed
[2026-08-29 15:58:31,544.544 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:58:31,546.546 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:58:31,551.551 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:58:31,565.565 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:58:33,609.609 INFO    ] ================================================
[2026-08-29 15:58:33,625.625 INFO    ] Launching Daemon at Sat Aug 29 15:58:33 IST 2026
[2026-08-29 15:58:33,636.636 INFO    ] ================================================
[2026-08-29 15:58:34,287.287 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:58:34
[2026-08-29 15:58:34,669.669 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:58:34,858.858 INFO    ] Initializing speech engine...
[2026-08-29 15:58:34,869.869 INFO    ] 2026-08-29 15:58:34
[2026-08-29 15:58:35,143.143 INFO    ] 2026-08-29 15:58:35
[2026-08-29 15:58:35,203.203 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:58:35,363.363 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:58:35,375.375 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:58:35,496.496 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:58:35,502.502 INFO    ] time= 29/08/2026 15:58:35
[2026-08-29 15:58:35,507.507 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:58:35,526.526 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:58:35,597.597 INFO    ] No existing commands found in stream
[2026-08-29 15:58:40,606.606 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:58:40,609.609 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-08-29 15:58:42,870.870 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:58:42,872.872 INFO    ] Checking for system updates...
[2026-08-29 15:58:42,893.893 INFO    ] 200
[2026-08-29 15:58:42,894.894 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:58:42,924.924 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:58:42,925.925 INFO    ] No update needed
[2026-08-29 15:58:42,926.926 INFO    ] Checking for camera pi updates...
[2026-08-29 15:58:42,947.947 INFO    ] 200
[2026-08-29 15:58:42,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:58:42,973.973 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:58:43,055.055 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:58:43,056.056 INFO    ] No camera update needed
[2026-08-29 15:58:43,058.058 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:58:43,059.059 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:58:43,062.062 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:58:43,065.065 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:58:45,104.104 INFO    ] ================================================
[2026-08-29 15:58:45,120.120 INFO    ] Launching Daemon at Sat Aug 29 15:58:45 IST 2026
[2026-08-29 15:58:45,131.131 INFO    ] ================================================
[2026-08-29 15:58:45,477.477 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:58:45
[2026-08-29 15:58:45,789.789 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:58:45,919.919 INFO    ] Initializing speech engine...
[2026-08-29 15:58:45,924.924 INFO    ] 2026-08-29 15:58:45
[2026-08-29 15:58:46,143.143 INFO    ] 2026-08-29 15:58:46
[2026-08-29 15:58:46,171.171 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:58:46,310.310 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:58:46,358.358 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:58:46,491.491 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:58:46,531.531 INFO    ] time= 29/08/2026 15:58:46
[2026-08-29 15:58:46,571.571 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:58:46,593.593 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:58:46,664.664 INFO    ] No existing commands found in stream
[2026-08-29 15:58:51,675.675 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:58:51,677.677 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-08-29 15:58:53,428.428 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 15:58:53,430.430 INFO    ] Checking for system updates...
[2026-08-29 15:58:53,452.452 INFO    ] 200
[2026-08-29 15:58:53,454.454 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:58:53,484.484 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:58:53,485.485 INFO    ] No update needed
[2026-08-29 15:58:53,486.486 INFO    ] Checking for camera pi updates...
[2026-08-29 15:58:53,509.509 INFO    ] 200
[2026-08-29 15:58:53,510.510 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:58:53,533.533 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:58:53,739.739 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:58:53,740.740 INFO    ] No camera update needed
[2026-08-29 15:58:53,741.741 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:58:53,743.743 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:58:53,746.746 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:58:53,748.748 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:58:55,788.788 INFO    ] ================================================
[2026-08-29 15:58:55,804.804 INFO    ] Launching Daemon at Sat Aug 29 15:58:55 IST 2026
[2026-08-29 15:58:55,814.814 INFO    ] ================================================
[2026-08-29 15:58:56,147.147 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:58:56
[2026-08-29 15:58:56,463.463 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:58:56,598.598 INFO    ] Initializing speech engine...
[2026-08-29 15:58:56,601.601 INFO    ] 2026-08-29 15:58:56
[2026-08-29 15:58:56,829.829 INFO    ] 2026-08-29 15:58:56
[2026-08-29 15:58:56,860.860 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:58:56,990.990 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:58:57,019.019 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:58:57,158.158 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:58:57,202.202 INFO    ] time= 29/08/2026 15:58:57
[2026-08-29 15:58:57,243.243 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:58:57,287.287 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:58:57,384.384 INFO    ] No existing commands found in stream
[2026-08-29 15:59:02,394.394 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:59:02,397.397 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-08-29 15:59:05,548.548 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:59:05,549.549 INFO    ] Checking for system updates...
[2026-08-29 15:59:05,570.570 INFO    ] 200
[2026-08-29 15:59:05,571.571 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:59:05,602.602 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:59:05,603.603 INFO    ] No update needed
[2026-08-29 15:59:05,605.605 INFO    ] Checking for camera pi updates...
[2026-08-29 15:59:05,624.624 INFO    ] 200
[2026-08-29 15:59:05,625.625 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:59:05,649.649 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:59:05,726.726 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:59:05,727.727 INFO    ] No camera update needed
[2026-08-29 15:59:05,728.728 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:59:05,730.730 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:59:05,733.733 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:59:05,737.737 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:59:07,777.777 INFO    ] ================================================
[2026-08-29 15:59:07,793.793 INFO    ] Launching Daemon at Sat Aug 29 15:59:07 IST 2026
[2026-08-29 15:59:07,804.804 INFO    ] ================================================
[2026-08-29 15:59:08,386.386 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:59:08
[2026-08-29 15:59:08,886.886 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:59:09,030.030 INFO    ] Initializing speech engine...
[2026-08-29 15:59:09,036.036 INFO    ] 2026-08-29 15:59:09
[2026-08-29 15:59:09,238.238 INFO    ] 2026-08-29 15:59:09
[2026-08-29 15:59:09,267.267 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:59:09,389.389 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:59:09,437.437 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:59:09,597.597 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:59:09,626.626 INFO    ] time= 29/08/2026 15:59:09
[2026-08-29 15:59:09,685.685 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:59:09,707.707 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:59:09,825.825 INFO    ] No existing commands found in stream
[2026-08-29 15:59:14,855.855 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:59:14,858.858 INFO    ] Waiting 1.19 seconds before fallback handling...
[2026-08-29 15:59:16,375.375 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:59:16,376.376 INFO    ] Checking for system updates...
[2026-08-29 15:59:16,398.398 INFO    ] 200
[2026-08-29 15:59:16,399.399 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:59:16,429.429 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:59:16,430.430 INFO    ] No update needed
[2026-08-29 15:59:16,432.432 INFO    ] Checking for camera pi updates...
[2026-08-29 15:59:16,451.451 INFO    ] 200
[2026-08-29 15:59:16,452.452 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:59:16,476.476 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:59:16,578.578 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 15:59:16,581.581 INFO    ] No camera update needed
[2026-08-29 15:59:16,583.583 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:59:16,585.585 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:59:16,591.591 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:59:16,596.596 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:59:18,636.636 INFO    ] ================================================
[2026-08-29 15:59:18,652.652 INFO    ] Launching Daemon at Sat Aug 29 15:59:18 IST 2026
[2026-08-29 15:59:18,663.663 INFO    ] ================================================
[2026-08-29 15:59:19,239.239 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:59:19
[2026-08-29 15:59:19,704.704 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:59:19,933.933 INFO    ] Initializing speech engine...
[2026-08-29 15:59:19,943.943 INFO    ] 2026-08-29 15:59:19
[2026-08-29 15:59:20,206.206 INFO    ] 2026-08-29 15:59:20
[2026-08-29 15:59:20,261.261 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:59:20,487.487 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:59:20,492.492 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:59:20,624.624 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:59:20,661.661 INFO    ] time= 29/08/2026 15:59:20
[2026-08-29 15:59:20,715.715 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:59:20,757.757 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:59:20,809.809 INFO    ] No existing commands found in stream
[2026-08-29 15:59:25,822.822 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:59:25,825.825 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-08-29 15:59:29,676.676 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 15:59:29,677.677 INFO    ] Checking for system updates...
[2026-08-29 15:59:29,697.697 INFO    ] 200
[2026-08-29 15:59:29,698.698 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:59:29,729.729 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:59:29,731.731 INFO    ] No update needed
[2026-08-29 15:59:29,732.732 INFO    ] Checking for camera pi updates...
[2026-08-29 15:59:29,757.757 INFO    ] 200
[2026-08-29 15:59:29,760.760 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:59:29,800.800 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:59:29,916.916 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:59:29,919.919 INFO    ] No camera update needed
[2026-08-29 15:59:29,921.921 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:59:29,923.923 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:59:29,928.928 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:59:29,933.933 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:59:31,978.978 INFO    ] ================================================
[2026-08-29 15:59:32,996.996 INFO    ] Launching Daemon at Sat Aug 29 15:59:31 IST 2026
[2026-08-29 15:59:32,008.008 INFO    ] ================================================
[2026-08-29 15:59:32,629.629 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:59:32
[2026-08-29 15:59:33,061.061 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:59:33,205.205 INFO    ] Initializing speech engine...
[2026-08-29 15:59:33,209.209 INFO    ] 2026-08-29 15:59:33
[2026-08-29 15:59:33,413.413 INFO    ] 2026-08-29 15:59:33
[2026-08-29 15:59:33,442.442 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:59:33,565.565 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:59:33,627.627 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:59:33,758.758 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:59:33,798.798 INFO    ] time= 29/08/2026 15:59:33
[2026-08-29 15:59:33,842.842 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:59:33,858.858 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:59:33,929.929 INFO    ] No existing commands found in stream
[2026-08-29 15:59:38,939.939 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:59:38,942.942 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-08-29 15:59:42,727.727 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 15:59:42,728.728 INFO    ] Checking for system updates...
[2026-08-29 15:59:42,748.748 INFO    ] 200
[2026-08-29 15:59:42,750.750 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:59:42,780.780 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:59:42,781.781 INFO    ] No update needed
[2026-08-29 15:59:42,783.783 INFO    ] Checking for camera pi updates...
[2026-08-29 15:59:42,802.802 INFO    ] 200
[2026-08-29 15:59:42,803.803 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:59:42,827.827 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:59:42,931.931 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:59:42,933.933 INFO    ] No camera update needed
[2026-08-29 15:59:42,934.934 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:59:42,936.936 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:59:42,939.939 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:59:42,942.942 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:59:44,983.983 INFO    ] ================================================
[2026-08-29 15:59:45,999.999 INFO    ] Launching Daemon at Sat Aug 29 15:59:44 IST 2026
[2026-08-29 15:59:45,011.011 INFO    ] ================================================
[2026-08-29 15:59:45,347.347 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:59:45
[2026-08-29 15:59:45,660.660 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:59:45,798.798 INFO    ] Initializing speech engine...
[2026-08-29 15:59:45,808.808 INFO    ] 2026-08-29 15:59:45
[2026-08-29 15:59:46,044.044 INFO    ] 2026-08-29 15:59:45
[2026-08-29 15:59:46,098.098 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:59:46,260.260 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:59:46,268.268 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:59:46,432.432 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:59:46,467.467 INFO    ] time= 29/08/2026 15:59:46
[2026-08-29 15:59:46,472.472 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:59:46,490.490 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:59:46,607.607 INFO    ] No existing commands found in stream
[2026-08-29 15:59:51,631.631 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 15:59:51,634.634 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-08-29 15:59:52,947.947 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 15:59:52,948.948 INFO    ] Checking for system updates...
[2026-08-29 15:59:52,968.968 INFO    ] 200
[2026-08-29 15:59:52,970.970 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:59:53,002.002 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:59:53,004.004 INFO    ] No update needed
[2026-08-29 15:59:53,005.005 INFO    ] Checking for camera pi updates...
[2026-08-29 15:59:53,024.024 INFO    ] 200
[2026-08-29 15:59:53,025.025 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 15:59:53,048.048 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 15:59:53,134.134 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 15:59:53,136.136 INFO    ] No camera update needed
[2026-08-29 15:59:53,137.137 INFO    ] Script finished. Safe exiting...
[2026-08-29 15:59:53,138.138 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 15:59:53,141.141 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 15:59:53,144.144 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 15:59:55,184.184 INFO    ] ================================================
[2026-08-29 15:59:55,200.200 INFO    ] Launching Daemon at Sat Aug 29 15:59:55 IST 2026
[2026-08-29 15:59:55,212.212 INFO    ] ================================================
[2026-08-29 15:59:55,584.584 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 15:59:55
[2026-08-29 15:59:56,106.106 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 15:59:56,375.375 INFO    ] Initializing speech engine...
[2026-08-29 15:59:56,386.386 INFO    ] 2026-08-29 15:59:56
[2026-08-29 15:59:56,630.630 INFO    ] 2026-08-29 15:59:56
[2026-08-29 15:59:56,664.664 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 15:59:56,837.837 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 15:59:56,849.849 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 15:59:56,960.960 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 15:59:56,979.979 INFO    ] time= 29/08/2026 15:59:56
[2026-08-29 15:59:56,999.999 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 15:59:57,007.007 INFO    ] Checking for existing commands in stream...
[2026-08-29 15:59:57,074.074 INFO    ] No existing commands found in stream
[2026-08-29 16:00:02,085.085 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:00:02,088.088 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-08-29 16:00:03,689.689 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:00:03,713.713 INFO    ] Checking for system updates...
[2026-08-29 16:00:03,841.841 INFO    ] 200
[2026-08-29 16:00:03,844.844 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:00:03,988.988 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:00:03,991.991 INFO    ] No update needed
[2026-08-29 16:00:04,005.005 INFO    ] Checking for camera pi updates...
[2026-08-29 16:00:04,125.125 INFO    ] 200
[2026-08-29 16:00:04,129.129 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:00:04,362.362 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:00:05,204.204 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:00:05,208.208 INFO    ] No camera update needed
[2026-08-29 16:00:05,222.222 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:00:05,226.226 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:00:05,240.240 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:00:05,272.272 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:00:07,316.316 INFO    ] ================================================
[2026-08-29 16:00:07,333.333 INFO    ] Launching Daemon at Sat Aug 29 16:00:07 IST 2026
[2026-08-29 16:00:07,344.344 INFO    ] ================================================
[2026-08-29 16:00:07,844.844 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:00:07
[2026-08-29 16:00:08,155.155 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:00:08,287.287 INFO    ] Initializing speech engine...
[2026-08-29 16:00:08,290.290 INFO    ] 2026-08-29 16:00:08
[2026-08-29 16:00:08,492.492 INFO    ] 2026-08-29 16:00:08
[2026-08-29 16:00:08,528.528 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:00:08,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:00:08,721.721 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:00:08,872.872 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:00:08,895.895 INFO    ] time= 29/08/2026 16:00:08
[2026-08-29 16:00:08,900.900 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:00:08,907.907 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:00:08,973.973 INFO    ] No existing commands found in stream
[2026-08-29 16:00:13,989.989 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:00:13,991.991 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-08-29 16:00:17,768.768 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:00:17,770.770 INFO    ] Checking for system updates...
[2026-08-29 16:00:17,795.795 INFO    ] 200
[2026-08-29 16:00:17,797.797 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 16:00:17,799.799 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-08-29 16:00:17,800.800 INFO    ] Checking for camera pi updates...
[2026-08-29 16:00:17,823.823 INFO    ] 200
[2026-08-29 16:00:17,825.825 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 16:00:17,826.826 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-08-29 16:00:17,828.828 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:00:17,829.829 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:00:17,832.832 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:00:17,835.835 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:00:19,877.877 INFO    ] ================================================
[2026-08-29 16:00:19,892.892 INFO    ] Launching Daemon at Sat Aug 29 16:00:19 IST 2026
[2026-08-29 16:00:19,904.904 INFO    ] ================================================
[2026-08-29 16:00:20,561.561 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:00:20
[2026-08-29 16:00:21,117.117 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:00:21,268.268 INFO    ] Initializing speech engine...
[2026-08-29 16:00:21,274.274 INFO    ] 2026-08-29 16:00:21
[2026-08-29 16:00:21,483.483 INFO    ] 2026-08-29 16:00:21
[2026-08-29 16:00:21,512.512 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:00:21,634.634 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:00:21,678.678 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:00:21,849.849 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:00:21,907.907 INFO    ] time= 29/08/2026 16:00:21
[2026-08-29 16:00:21,930.930 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:00:21,937.937 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:00:22,003.003 INFO    ] No existing commands found in stream
[2026-08-29 16:00:27,014.014 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:00:27,017.017 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-08-29 16:00:29,670.670 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:00:29,672.672 INFO    ] Checking for system updates...
[2026-08-29 16:00:29,693.693 INFO    ] 200
[2026-08-29 16:00:29,694.694 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:00:29,724.724 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:00:29,726.726 INFO    ] No update needed
[2026-08-29 16:00:29,727.727 INFO    ] Checking for camera pi updates...
[2026-08-29 16:00:29,747.747 INFO    ] 200
[2026-08-29 16:00:29,748.748 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:00:29,783.783 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:00:29,883.883 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:00:29,886.886 INFO    ] No camera update needed
[2026-08-29 16:00:29,888.888 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:00:29,891.891 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:00:29,897.897 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:00:29,903.903 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:00:31,945.945 INFO    ] ================================================
[2026-08-29 16:00:31,961.961 INFO    ] Launching Daemon at Sat Aug 29 16:00:31 IST 2026
[2026-08-29 16:00:31,973.973 INFO    ] ================================================
[2026-08-29 16:00:32,573.573 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:00:32
[2026-08-29 16:00:33,044.044 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:00:33,181.181 INFO    ] Initializing speech engine...
[2026-08-29 16:00:33,186.186 INFO    ] 2026-08-29 16:00:33
[2026-08-29 16:00:33,415.415 INFO    ] 2026-08-29 16:00:33
[2026-08-29 16:00:33,447.447 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:00:33,542.542 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:00:33,546.546 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:00:33,654.654 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:00:33,664.664 INFO    ] time= 29/08/2026 16:00:33
[2026-08-29 16:00:33,668.668 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:00:33,685.685 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:00:33,749.749 INFO    ] No existing commands found in stream
[2026-08-29 16:00:38,781.781 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:00:38,784.784 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-08-29 16:00:41,253.253 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:00:41,254.254 INFO    ] Checking for system updates...
[2026-08-29 16:00:41,274.274 INFO    ] 200
[2026-08-29 16:00:41,275.275 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:00:41,305.305 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:00:41,306.306 INFO    ] No update needed
[2026-08-29 16:00:41,307.307 INFO    ] Checking for camera pi updates...
[2026-08-29 16:00:41,327.327 INFO    ] 200
[2026-08-29 16:00:41,328.328 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:00:41,351.351 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:00:41,437.437 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:00:41,438.438 INFO    ] No camera update needed
[2026-08-29 16:00:41,439.439 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:00:41,441.441 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:00:41,444.444 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:00:41,446.446 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:00:43,484.484 INFO    ] ================================================
[2026-08-29 16:00:43,500.500 INFO    ] Launching Daemon at Sat Aug 29 16:00:43 IST 2026
[2026-08-29 16:00:43,511.511 INFO    ] ================================================
[2026-08-29 16:00:43,874.874 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:00:43
[2026-08-29 16:00:44,191.191 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:00:44,395.395 INFO    ] Initializing speech engine...
[2026-08-29 16:00:44,402.402 INFO    ] 2026-08-29 16:00:44
[2026-08-29 16:00:44,665.665 INFO    ] 2026-08-29 16:00:44
[2026-08-29 16:00:44,719.719 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:00:44,884.884 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:00:44,912.912 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:00:45,083.083 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:00:45,086.086 INFO    ] time= 29/08/2026 16:00:45
[2026-08-29 16:00:45,092.092 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:00:45,113.113 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:00:45,224.224 INFO    ] No existing commands found in stream
[2026-08-29 16:00:50,236.236 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:00:50,239.239 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-08-29 16:00:53,008.008 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:00:53,011.011 INFO    ] Checking for system updates...
[2026-08-29 16:00:53,046.046 INFO    ] 200
[2026-08-29 16:00:53,049.049 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:00:53,101.101 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:00:53,104.104 INFO    ] No update needed
[2026-08-29 16:00:53,106.106 INFO    ] Checking for camera pi updates...
[2026-08-29 16:00:53,143.143 INFO    ] 200
[2026-08-29 16:00:53,146.146 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:00:53,186.186 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:00:53,296.296 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:00:53,299.299 INFO    ] No camera update needed
[2026-08-29 16:00:53,301.301 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:00:53,303.303 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:00:53,309.309 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:00:53,314.314 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:00:55,354.354 INFO    ] ================================================
[2026-08-29 16:00:55,369.369 INFO    ] Launching Daemon at Sat Aug 29 16:00:55 IST 2026
[2026-08-29 16:00:55,379.379 INFO    ] ================================================
[2026-08-29 16:00:55,771.771 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:00:55
[2026-08-29 16:00:56,275.275 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:00:56,555.555 INFO    ] Initializing speech engine...
[2026-08-29 16:00:56,561.561 INFO    ] 2026-08-29 16:00:56
[2026-08-29 16:00:56,821.821 INFO    ] 2026-08-29 16:00:56
[2026-08-29 16:00:56,851.851 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:00:57,026.026 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:00:57,044.044 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:00:57,171.171 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:00:57,179.179 INFO    ] time= 29/08/2026 16:00:57
[2026-08-29 16:00:57,184.184 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:00:57,191.191 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:00:57,324.324 INFO    ] No existing commands found in stream
[2026-08-29 16:01:02,354.354 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:01:02,357.357 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-08-29 16:01:05,079.079 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:01:05,080.080 INFO    ] Checking for system updates...
[2026-08-29 16:01:05,101.101 INFO    ] 200
[2026-08-29 16:01:05,103.103 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:01:05,132.132 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:01:05,134.134 INFO    ] No update needed
[2026-08-29 16:01:05,135.135 INFO    ] Checking for camera pi updates...
[2026-08-29 16:01:05,154.154 INFO    ] 200
[2026-08-29 16:01:05,156.156 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:01:05,178.178 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:01:05,257.257 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:01:05,258.258 INFO    ] No camera update needed
[2026-08-29 16:01:05,259.259 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:01:05,261.261 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:01:05,264.264 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:01:05,266.266 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:01:07,306.306 INFO    ] ================================================
[2026-08-29 16:01:07,321.321 INFO    ] Launching Daemon at Sat Aug 29 16:01:07 IST 2026
[2026-08-29 16:01:07,332.332 INFO    ] ================================================
[2026-08-29 16:01:07,705.705 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:01:07
[2026-08-29 16:01:08,026.026 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:01:08,171.171 INFO    ] Initializing speech engine...
[2026-08-29 16:01:08,178.178 INFO    ] 2026-08-29 16:01:08
[2026-08-29 16:01:08,400.400 INFO    ] 2026-08-29 16:01:08
[2026-08-29 16:01:08,432.432 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:01:08,531.531 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:01:08,558.558 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:01:08,668.668 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:01:08,674.674 INFO    ] time= 29/08/2026 16:01:08
[2026-08-29 16:01:08,699.699 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:01:08,734.734 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:01:08,813.813 INFO    ] No existing commands found in stream
[2026-08-29 16:01:13,842.842 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:01:13,845.845 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 16:01:17,396.396 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:01:17,397.397 INFO    ] Checking for system updates...
[2026-08-29 16:01:17,419.419 INFO    ] 200
[2026-08-29 16:01:17,420.420 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:01:17,452.452 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:01:17,453.453 INFO    ] No update needed
[2026-08-29 16:01:17,454.454 INFO    ] Checking for camera pi updates...
[2026-08-29 16:01:17,474.474 INFO    ] 200
[2026-08-29 16:01:17,475.475 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:01:17,498.498 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:01:17,577.577 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:01:17,579.579 INFO    ] No camera update needed
[2026-08-29 16:01:17,580.580 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:01:17,581.581 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:01:17,584.584 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:01:17,587.587 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:01:19,626.626 INFO    ] ================================================
[2026-08-29 16:01:19,641.641 INFO    ] Launching Daemon at Sat Aug 29 16:01:19 IST 2026
[2026-08-29 16:01:19,652.652 INFO    ] ================================================
[2026-08-29 16:01:20,174.174 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:01:20
[2026-08-29 16:01:20,773.773 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:01:21,039.039 INFO    ] Initializing speech engine...
[2026-08-29 16:01:21,048.048 INFO    ] 2026-08-29 16:01:21
[2026-08-29 16:01:21,353.353 INFO    ] 2026-08-29 16:01:21
[2026-08-29 16:01:21,391.391 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:01:21,539.539 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:01:21,545.545 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:01:21,695.695 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:01:21,711.711 INFO    ] time= 29/08/2026 16:01:21
[2026-08-29 16:01:21,718.718 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:01:21,741.741 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:01:21,834.834 INFO    ] No existing commands found in stream
[2026-08-29 16:01:26,859.859 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:01:26,862.862 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-08-29 16:01:30,275.275 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:01:30,276.276 INFO    ] Checking for system updates...
[2026-08-29 16:01:30,297.297 INFO    ] 200
[2026-08-29 16:01:30,298.298 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:01:30,329.329 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:01:30,331.331 INFO    ] No update needed
[2026-08-29 16:01:30,332.332 INFO    ] Checking for camera pi updates...
[2026-08-29 16:01:30,352.352 INFO    ] 200
[2026-08-29 16:01:30,353.353 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:01:30,376.376 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:01:30,462.462 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:01:30,463.463 INFO    ] No camera update needed
[2026-08-29 16:01:30,465.465 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:01:30,466.466 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:01:30,469.469 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:01:30,471.471 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:01:32,511.511 INFO    ] ================================================
[2026-08-29 16:01:32,527.527 INFO    ] Launching Daemon at Sat Aug 29 16:01:32 IST 2026
[2026-08-29 16:01:32,538.538 INFO    ] ================================================
[2026-08-29 16:01:33,129.129 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:01:33
[2026-08-29 16:01:33,715.715 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:01:33,965.965 INFO    ] Initializing speech engine...
[2026-08-29 16:01:33,985.985 INFO    ] 2026-08-29 16:01:33
[2026-08-29 16:01:34,246.246 INFO    ] 2026-08-29 16:01:34
[2026-08-29 16:01:34,280.280 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:01:34,457.457 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:01:34,469.469 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:01:34,599.599 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:01:34,619.619 INFO    ] time= 29/08/2026 16:01:34
[2026-08-29 16:01:34,627.627 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:01:34,634.634 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:01:34,702.702 INFO    ] No existing commands found in stream
[2026-08-29 16:01:39,733.733 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:01:39,735.735 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-08-29 16:01:43,561.561 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:01:43,563.563 INFO    ] Checking for system updates...
[2026-08-29 16:01:43,583.583 INFO    ] 200
[2026-08-29 16:01:43,585.585 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:01:43,615.615 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:01:43,616.616 INFO    ] No update needed
[2026-08-29 16:01:43,617.617 INFO    ] Checking for camera pi updates...
[2026-08-29 16:01:43,636.636 INFO    ] 200
[2026-08-29 16:01:43,638.638 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:01:43,663.663 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:01:43,765.765 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:01:43,766.766 INFO    ] No camera update needed
[2026-08-29 16:01:43,767.767 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:01:43,769.769 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:01:43,771.771 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:01:43,774.774 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:01:45,814.814 INFO    ] ================================================
[2026-08-29 16:01:45,829.829 INFO    ] Launching Daemon at Sat Aug 29 16:01:45 IST 2026
[2026-08-29 16:01:45,840.840 INFO    ] ================================================
[2026-08-29 16:01:46,232.232 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:01:46
[2026-08-29 16:01:46,830.830 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:01:47,096.096 INFO    ] Initializing speech engine...
[2026-08-29 16:01:47,117.117 INFO    ] 2026-08-29 16:01:47
[2026-08-29 16:01:47,402.402 INFO    ] 2026-08-29 16:01:47
[2026-08-29 16:01:47,438.438 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:01:47,590.590 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:01:47,597.597 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:01:47,754.754 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:01:47,763.763 INFO    ] time= 29/08/2026 16:01:47
[2026-08-29 16:01:47,768.768 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:01:47,774.774 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:01:47,840.840 INFO    ] No existing commands found in stream
[2026-08-29 16:01:52,852.852 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:01:52,855.855 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-08-29 16:01:55,336.336 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:01:55,337.337 INFO    ] Checking for system updates...
[2026-08-29 16:01:55,357.357 INFO    ] 200
[2026-08-29 16:01:55,359.359 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:01:55,389.389 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:01:55,390.390 INFO    ] No update needed
[2026-08-29 16:01:55,392.392 INFO    ] Checking for camera pi updates...
[2026-08-29 16:01:55,411.411 INFO    ] 200
[2026-08-29 16:01:55,412.412 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:01:55,436.436 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:01:55,550.550 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:01:55,551.551 INFO    ] No camera update needed
[2026-08-29 16:01:55,552.552 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:01:55,554.554 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:01:55,556.556 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:01:55,559.559 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:01:57,597.597 INFO    ] ================================================
[2026-08-29 16:01:57,613.613 INFO    ] Launching Daemon at Sat Aug 29 16:01:57 IST 2026
[2026-08-29 16:01:57,623.623 INFO    ] ================================================
[2026-08-29 16:01:58,143.143 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:01:58
[2026-08-29 16:01:58,752.752 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:01:59,030.030 INFO    ] Initializing speech engine...
[2026-08-29 16:01:59,039.039 INFO    ] 2026-08-29 16:01:59
[2026-08-29 16:01:59,291.291 INFO    ] 2026-08-29 16:01:59
[2026-08-29 16:01:59,357.357 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:01:59,608.608 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:01:59,613.613 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:01:59,785.785 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:01:59,845.845 INFO    ] time= 29/08/2026 16:01:59
[2026-08-29 16:01:59,855.855 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:01:59,877.877 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:01:59,990.990 INFO    ] No existing commands found in stream
[2026-08-29 16:02:05,014.014 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:02:05,017.017 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-08-29 16:02:09,235.235 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:02:09,238.238 INFO    ] Checking for system updates...
[2026-08-29 16:02:09,274.274 INFO    ] 200
[2026-08-29 16:02:09,277.277 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:02:09,329.329 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:02:09,332.332 INFO    ] No update needed
[2026-08-29 16:02:09,334.334 INFO    ] Checking for camera pi updates...
[2026-08-29 16:02:09,368.368 INFO    ] 200
[2026-08-29 16:02:09,371.371 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:02:09,412.412 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:02:09,520.520 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:02:09,523.523 INFO    ] No camera update needed
[2026-08-29 16:02:09,526.526 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:02:09,528.528 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:02:09,533.533 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:02:09,538.538 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:02:11,579.579 INFO    ] ================================================
[2026-08-29 16:02:11,595.595 INFO    ] Launching Daemon at Sat Aug 29 16:02:11 IST 2026
[2026-08-29 16:02:11,605.605 INFO    ] ================================================
[2026-08-29 16:02:11,966.966 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:02:11
[2026-08-29 16:02:12,280.280 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:02:12,416.416 INFO    ] Initializing speech engine...
[2026-08-29 16:02:12,430.430 INFO    ] 2026-08-29 16:02:12
[2026-08-29 16:02:12,649.649 INFO    ] 2026-08-29 16:02:12
[2026-08-29 16:02:12,680.680 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:02:12,814.814 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:02:12,881.881 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:02:13,025.025 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:02:13,067.067 INFO    ] time= 29/08/2026 16:02:13
[2026-08-29 16:02:13,119.119 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:02:13,161.161 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:02:13,287.287 INFO    ] No existing commands found in stream
[2026-08-29 16:02:18,319.319 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:02:18,322.322 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-08-29 16:02:19,382.382 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:02:19,383.383 INFO    ] Checking for system updates...
[2026-08-29 16:02:19,404.404 INFO    ] 200
[2026-08-29 16:02:19,405.405 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:02:19,435.435 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:02:19,436.436 INFO    ] No update needed
[2026-08-29 16:02:19,438.438 INFO    ] Checking for camera pi updates...
[2026-08-29 16:02:19,457.457 INFO    ] 200
[2026-08-29 16:02:19,458.458 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:02:19,482.482 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:02:19,558.558 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:02:19,560.560 INFO    ] No camera update needed
[2026-08-29 16:02:19,563.563 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:02:19,565.565 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:02:19,571.571 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:02:19,576.576 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:02:21,615.615 INFO    ] ================================================
[2026-08-29 16:02:21,631.631 INFO    ] Launching Daemon at Sat Aug 29 16:02:21 IST 2026
[2026-08-29 16:02:21,642.642 INFO    ] ================================================
[2026-08-29 16:02:22,228.228 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:02:22
[2026-08-29 16:02:22,729.729 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:02:22,874.874 INFO    ] Initializing speech engine...
[2026-08-29 16:02:22,879.879 INFO    ] 2026-08-29 16:02:22
[2026-08-29 16:02:23,105.105 INFO    ] 2026-08-29 16:02:23
[2026-08-29 16:02:23,140.140 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:02:23,337.337 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:02:23,350.350 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:02:23,475.475 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:02:23,480.480 INFO    ] time= 29/08/2026 16:02:23
[2026-08-29 16:02:23,487.487 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:02:23,528.528 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:02:23,659.659 INFO    ] No existing commands found in stream
[2026-08-29 16:02:28,681.681 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:02:28,684.684 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-08-29 16:02:30,976.976 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:02:30,978.978 INFO    ] Checking for system updates...
[2026-08-29 16:02:30,998.998 INFO    ] 200
[2026-08-29 16:02:30,999.999 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:02:31,029.029 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:02:31,031.031 INFO    ] No update needed
[2026-08-29 16:02:31,032.032 INFO    ] Checking for camera pi updates...
[2026-08-29 16:02:31,052.052 INFO    ] 200
[2026-08-29 16:02:31,053.053 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:02:31,077.077 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:02:31,152.152 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:02:31,153.153 INFO    ] No camera update needed
[2026-08-29 16:02:31,155.155 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:02:31,156.156 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:02:31,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:02:31,161.161 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:02:33,194.194 INFO    ] ================================================
[2026-08-29 16:02:33,209.209 INFO    ] Launching Daemon at Sat Aug 29 16:02:33 IST 2026
[2026-08-29 16:02:33,220.220 INFO    ] ================================================
[2026-08-29 16:02:33,808.808 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:02:33
[2026-08-29 16:02:34,397.397 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:02:34,654.654 INFO    ] Initializing speech engine...
[2026-08-29 16:02:34,661.661 INFO    ] 2026-08-29 16:02:34
[2026-08-29 16:02:34,958.958 INFO    ] 2026-08-29 16:02:34
[2026-08-29 16:02:34,995.995 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:02:35,157.157 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:02:35,187.187 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:02:35,326.326 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:02:35,335.335 INFO    ] time= 29/08/2026 16:02:35
[2026-08-29 16:02:35,340.340 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:02:35,354.354 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:02:35,442.442 INFO    ] No existing commands found in stream
[2026-08-29 16:02:40,468.468 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:02:40,471.471 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-08-29 16:02:44,415.415 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:02:44,416.416 INFO    ] Checking for system updates...
[2026-08-29 16:02:44,437.437 INFO    ] 200
[2026-08-29 16:02:44,438.438 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:02:44,470.470 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:02:44,471.471 INFO    ] No update needed
[2026-08-29 16:02:44,473.473 INFO    ] Checking for camera pi updates...
[2026-08-29 16:02:44,492.492 INFO    ] 200
[2026-08-29 16:02:44,493.493 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:02:44,516.516 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:02:44,594.594 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:02:44,596.596 INFO    ] No camera update needed
[2026-08-29 16:02:44,597.597 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:02:44,598.598 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:02:44,601.601 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:02:44,604.604 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:02:46,642.642 INFO    ] ================================================
[2026-08-29 16:02:46,657.657 INFO    ] Launching Daemon at Sat Aug 29 16:02:46 IST 2026
[2026-08-29 16:02:46,667.667 INFO    ] ================================================
[2026-08-29 16:02:46,997.997 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:02:46
[2026-08-29 16:02:47,309.309 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:02:47,451.451 INFO    ] Initializing speech engine...
[2026-08-29 16:02:47,456.456 INFO    ] 2026-08-29 16:02:47
[2026-08-29 16:02:47,658.658 INFO    ] 2026-08-29 16:02:47
[2026-08-29 16:02:47,687.687 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:02:47,820.820 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:02:47,829.829 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:02:47,996.996 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:02:48,028.028 INFO    ] time= 29/08/2026 16:02:48
[2026-08-29 16:02:48,034.034 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:02:48,051.051 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:02:48,168.168 INFO    ] No existing commands found in stream
[2026-08-29 16:02:53,191.191 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:02:53,194.194 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-08-29 16:02:54,595.595 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:02:54,596.596 INFO    ] Checking for system updates...
[2026-08-29 16:02:54,617.617 INFO    ] 200
[2026-08-29 16:02:54,618.618 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:02:54,648.648 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:02:54,649.649 INFO    ] No update needed
[2026-08-29 16:02:54,650.650 INFO    ] Checking for camera pi updates...
[2026-08-29 16:02:54,673.673 INFO    ] 200
[2026-08-29 16:02:54,674.674 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:02:54,697.697 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:02:54,774.774 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:02:54,775.775 INFO    ] No camera update needed
[2026-08-29 16:02:54,776.776 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:02:54,778.778 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:02:54,781.781 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:02:54,783.783 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:02:56,821.821 INFO    ] ================================================
[2026-08-29 16:02:56,836.836 INFO    ] Launching Daemon at Sat Aug 29 16:02:56 IST 2026
[2026-08-29 16:02:56,847.847 INFO    ] ================================================
[2026-08-29 16:02:57,334.334 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:02:57
[2026-08-29 16:02:57,921.921 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:02:58,181.181 INFO    ] Initializing speech engine...
[2026-08-29 16:02:58,200.200 INFO    ] 2026-08-29 16:02:58
[2026-08-29 16:02:58,449.449 INFO    ] 2026-08-29 16:02:58
[2026-08-29 16:02:58,483.483 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:02:58,663.663 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:02:58,675.675 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:02:58,821.821 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:02:58,829.829 INFO    ] time= 29/08/2026 16:02:58
[2026-08-29 16:02:58,833.833 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:02:58,839.839 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:02:58,904.904 INFO    ] No existing commands found in stream
[2026-08-29 16:03:03,916.916 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:03:03,919.919 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-08-29 16:03:07,706.706 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:03:07,707.707 INFO    ] Checking for system updates...
[2026-08-29 16:03:07,728.728 INFO    ] 200
[2026-08-29 16:03:07,729.729 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:03:07,761.761 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:03:07,763.763 INFO    ] No update needed
[2026-08-29 16:03:07,764.764 INFO    ] Checking for camera pi updates...
[2026-08-29 16:03:07,784.784 INFO    ] 200
[2026-08-29 16:03:07,785.785 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:03:07,818.818 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:03:08,041.041 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:03:08,043.043 INFO    ] No camera update needed
[2026-08-29 16:03:08,046.046 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:03:08,048.048 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:03:08,053.053 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:03:08,058.058 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:03:10,099.099 INFO    ] ================================================
[2026-08-29 16:03:10,114.114 INFO    ] Launching Daemon at Sat Aug 29 16:03:10 IST 2026
[2026-08-29 16:03:10,125.125 INFO    ] ================================================
[2026-08-29 16:03:10,692.692 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:03:10
[2026-08-29 16:03:11,112.112 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:03:11,281.281 INFO    ] Initializing speech engine...
[2026-08-29 16:03:11,290.290 INFO    ] 2026-08-29 16:03:11
[2026-08-29 16:03:11,544.544 INFO    ] 2026-08-29 16:03:11
[2026-08-29 16:03:11,603.603 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:03:11,826.826 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:03:11,835.835 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:03:11,967.967 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:03:11,988.988 INFO    ] time= 29/08/2026 16:03:11
[2026-08-29 16:03:12,048.048 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:03:12,099.099 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:03:12,152.152 INFO    ] No existing commands found in stream
[2026-08-29 16:03:17,164.164 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:03:17,167.167 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-08-29 16:03:17,770.770 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:03:17,771.771 INFO    ] Checking for system updates...
[2026-08-29 16:03:17,791.791 INFO    ] 200
[2026-08-29 16:03:17,793.793 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:03:17,823.823 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:03:17,824.824 INFO    ] No update needed
[2026-08-29 16:03:17,826.826 INFO    ] Checking for camera pi updates...
[2026-08-29 16:03:17,845.845 INFO    ] 200
[2026-08-29 16:03:17,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:03:17,873.873 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:03:17,972.972 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:03:17,975.975 INFO    ] No camera update needed
[2026-08-29 16:03:17,977.977 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:03:17,979.979 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:03:17,985.985 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:03:17,989.989 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:03:20,030.030 INFO    ] ================================================
[2026-08-29 16:03:20,045.045 INFO    ] Launching Daemon at Sat Aug 29 16:03:20 IST 2026
[2026-08-29 16:03:20,056.056 INFO    ] ================================================
[2026-08-29 16:03:20,698.698 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:03:20
[2026-08-29 16:03:21,188.188 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:03:21,465.465 INFO    ] Initializing speech engine...
[2026-08-29 16:03:21,468.468 INFO    ] 2026-08-29 16:03:21
[2026-08-29 16:03:21,739.739 INFO    ] 2026-08-29 16:03:21
[2026-08-29 16:03:21,784.784 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:03:22,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:03:22,051.051 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:03:22,191.191 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:03:22,251.251 INFO    ] time= 29/08/2026 16:03:22
[2026-08-29 16:03:22,311.311 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:03:22,331.331 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:03:22,384.384 INFO    ] No existing commands found in stream
[2026-08-29 16:03:27,396.396 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:03:27,399.399 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-08-29 16:03:30,795.795 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:03:30,796.796 INFO    ] Checking for system updates...
[2026-08-29 16:03:30,817.817 INFO    ] 200
[2026-08-29 16:03:30,818.818 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:03:30,848.848 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:03:30,850.850 INFO    ] No update needed
[2026-08-29 16:03:30,851.851 INFO    ] Checking for camera pi updates...
[2026-08-29 16:03:30,872.872 INFO    ] 200
[2026-08-29 16:03:30,873.873 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:03:30,899.899 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:03:30,999.999 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:03:31,000.000 INFO    ] No camera update needed
[2026-08-29 16:03:31,002.002 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:03:31,003.003 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:03:31,006.006 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:03:31,009.009 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:03:33,041.041 INFO    ] ================================================
[2026-08-29 16:03:33,057.057 INFO    ] Launching Daemon at Sat Aug 29 16:03:33 IST 2026
[2026-08-29 16:03:33,068.068 INFO    ] ================================================
[2026-08-29 16:03:33,634.634 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:03:33
[2026-08-29 16:03:34,220.220 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:03:34,503.503 INFO    ] Initializing speech engine...
[2026-08-29 16:03:34,513.513 INFO    ] 2026-08-29 16:03:34
[2026-08-29 16:03:34,778.778 INFO    ] 2026-08-29 16:03:34
[2026-08-29 16:03:34,813.813 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:03:35,007.007 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:03:35,013.013 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:03:35,121.121 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:03:35,127.127 INFO    ] time= 29/08/2026 16:03:35
[2026-08-29 16:03:35,149.149 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:03:35,155.155 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:03:35,208.208 INFO    ] No existing commands found in stream
[2026-08-29 16:03:40,220.220 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:03:40,223.223 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-08-29 16:03:43,567.567 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:03:43,568.568 INFO    ] Checking for system updates...
[2026-08-29 16:03:43,589.589 INFO    ] 200
[2026-08-29 16:03:43,590.590 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:03:43,620.620 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:03:43,622.622 INFO    ] No update needed
[2026-08-29 16:03:43,623.623 INFO    ] Checking for camera pi updates...
[2026-08-29 16:03:43,644.644 INFO    ] 200
[2026-08-29 16:03:43,645.645 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:03:43,669.669 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:03:43,750.750 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:03:43,751.751 INFO    ] No camera update needed
[2026-08-29 16:03:43,753.753 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:03:43,754.754 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:03:43,757.757 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:03:43,759.759 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:03:45,798.798 INFO    ] ================================================
[2026-08-29 16:03:45,814.814 INFO    ] Launching Daemon at Sat Aug 29 16:03:45 IST 2026
[2026-08-29 16:03:45,824.824 INFO    ] ================================================
[2026-08-29 16:03:46,169.169 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:03:46
[2026-08-29 16:03:46,488.488 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:03:46,646.646 INFO    ] Initializing speech engine...
[2026-08-29 16:03:46,649.649 INFO    ] 2026-08-29 16:03:46
[2026-08-29 16:03:46,847.847 INFO    ] 2026-08-29 16:03:46
[2026-08-29 16:03:46,885.885 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:03:47,077.077 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:03:47,084.084 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:03:47,213.213 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:03:47,223.223 INFO    ] time= 29/08/2026 16:03:47
[2026-08-29 16:03:47,244.244 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:03:47,266.266 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:03:47,347.347 INFO    ] No existing commands found in stream
[2026-08-29 16:03:52,359.359 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:03:52,362.362 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 16:03:54,628.628 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:03:54,629.629 INFO    ] Checking for system updates...
[2026-08-29 16:03:54,649.649 INFO    ] 200
[2026-08-29 16:03:54,651.651 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:03:54,680.680 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:03:54,682.682 INFO    ] No update needed
[2026-08-29 16:03:54,683.683 INFO    ] Checking for camera pi updates...
[2026-08-29 16:03:54,713.713 INFO    ] 200
[2026-08-29 16:03:54,716.716 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:03:54,757.757 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:03:54,838.838 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:03:54,840.840 INFO    ] No camera update needed
[2026-08-29 16:03:54,843.843 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:03:54,845.845 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:03:54,850.850 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:03:54,855.855 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:03:56,895.895 INFO    ] ================================================
[2026-08-29 16:03:56,911.911 INFO    ] Launching Daemon at Sat Aug 29 16:03:56 IST 2026
[2026-08-29 16:03:56,922.922 INFO    ] ================================================
[2026-08-29 16:03:57,505.505 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:03:57
[2026-08-29 16:03:57,971.971 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:03:58,100.100 INFO    ] Initializing speech engine...
[2026-08-29 16:03:58,105.105 INFO    ] 2026-08-29 16:03:58
[2026-08-29 16:03:58,324.324 INFO    ] 2026-08-29 16:03:58
[2026-08-29 16:03:58,403.403 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:03:58,555.555 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:03:58,564.564 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:03:58,697.697 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:03:58,737.737 INFO    ] time= 29/08/2026 16:03:58
[2026-08-29 16:03:58,796.796 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:03:58,828.828 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:03:58,880.880 INFO    ] No existing commands found in stream
[2026-08-29 16:04:03,892.892 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:04:03,895.895 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 16:04:04,886.886 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:04:04,887.887 INFO    ] Checking for system updates...
[2026-08-29 16:04:04,908.908 INFO    ] 200
[2026-08-29 16:04:04,909.909 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:04:04,940.940 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:04:04,942.942 INFO    ] No update needed
[2026-08-29 16:04:04,943.943 INFO    ] Checking for camera pi updates...
[2026-08-29 16:04:04,962.962 INFO    ] 200
[2026-08-29 16:04:04,964.964 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:04:04,987.987 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:04:05,071.071 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:04:05,072.072 INFO    ] No camera update needed
[2026-08-29 16:04:05,074.074 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:04:05,075.075 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:04:05,078.078 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:04:05,080.080 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:04:07,121.121 INFO    ] ================================================
[2026-08-29 16:04:07,136.136 INFO    ] Launching Daemon at Sat Aug 29 16:04:07 IST 2026
[2026-08-29 16:04:07,146.146 INFO    ] ================================================
[2026-08-29 16:04:07,624.624 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:04:07
[2026-08-29 16:04:08,207.207 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:04:08,476.476 INFO    ] Initializing speech engine...
[2026-08-29 16:04:08,485.485 INFO    ] 2026-08-29 16:04:08
[2026-08-29 16:04:08,732.732 INFO    ] 2026-08-29 16:04:08
[2026-08-29 16:04:08,796.796 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:04:08,939.939 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:04:08,951.951 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:04:09,090.090 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:04:09,098.098 INFO    ] time= 29/08/2026 16:04:09
[2026-08-29 16:04:09,105.105 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:04:09,125.125 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:04:09,255.255 INFO    ] No existing commands found in stream
[2026-08-29 16:04:14,285.285 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:04:14,288.288 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-08-29 16:04:15,021.021 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:04:15,022.022 INFO    ] Checking for system updates...
[2026-08-29 16:04:15,042.042 INFO    ] 200
[2026-08-29 16:04:15,044.044 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:04:15,073.073 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:04:15,074.074 INFO    ] No update needed
[2026-08-29 16:04:15,076.076 INFO    ] Checking for camera pi updates...
[2026-08-29 16:04:15,097.097 INFO    ] 200
[2026-08-29 16:04:15,098.098 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:04:15,121.121 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:04:15,208.208 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:04:15,209.209 INFO    ] No camera update needed
[2026-08-29 16:04:15,210.210 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:04:15,212.212 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:04:15,215.215 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:04:15,217.217 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:04:17,257.257 INFO    ] ================================================
[2026-08-29 16:04:17,272.272 INFO    ] Launching Daemon at Sat Aug 29 16:04:17 IST 2026
[2026-08-29 16:04:17,283.283 INFO    ] ================================================
[2026-08-29 16:04:17,922.922 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:04:17
[2026-08-29 16:04:18,581.581 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:04:18,880.880 INFO    ] Initializing speech engine...
[2026-08-29 16:04:18,894.894 INFO    ] 2026-08-29 16:04:18
[2026-08-29 16:04:19,113.113 INFO    ] 2026-08-29 16:04:19
[2026-08-29 16:04:19,192.192 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:04:19,347.347 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:04:19,352.352 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:04:19,486.486 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:04:19,546.546 INFO    ] time= 29/08/2026 16:04:19
[2026-08-29 16:04:19,606.606 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:04:19,621.621 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:04:19,737.737 INFO    ] No existing commands found in stream
[2026-08-29 16:04:24,768.768 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:04:24,771.771 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-08-29 16:04:28,671.671 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:04:28,673.673 INFO    ] Checking for system updates...
[2026-08-29 16:04:28,694.694 INFO    ] 200
[2026-08-29 16:04:28,695.695 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:04:28,727.727 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:04:28,728.728 INFO    ] No update needed
[2026-08-29 16:04:28,730.730 INFO    ] Checking for camera pi updates...
[2026-08-29 16:04:28,752.752 INFO    ] 200
[2026-08-29 16:04:28,753.753 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:04:28,778.778 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:04:28,863.863 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:04:28,864.864 INFO    ] No camera update needed
[2026-08-29 16:04:28,866.866 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:04:28,867.867 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:04:28,870.870 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:04:28,873.873 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:04:30,912.912 INFO    ] ================================================
[2026-08-29 16:04:30,927.927 INFO    ] Launching Daemon at Sat Aug 29 16:04:30 IST 2026
[2026-08-29 16:04:30,938.938 INFO    ] ================================================
[2026-08-29 16:04:31,287.287 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:04:31
[2026-08-29 16:04:31,607.607 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:04:31,912.912 INFO    ] Initializing speech engine...
[2026-08-29 16:04:31,925.925 INFO    ] 2026-08-29 16:04:31
[2026-08-29 16:04:32,245.245 INFO    ] 2026-08-29 16:04:32
[2026-08-29 16:04:32,289.289 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:04:32,509.509 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:04:32,512.512 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:04:32,691.691 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:04:32,730.730 INFO    ] time= 29/08/2026 16:04:32
[2026-08-29 16:04:32,799.799 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:04:32,840.840 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:04:32,893.893 INFO    ] No existing commands found in stream
[2026-08-29 16:04:37,907.907 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:04:37,910.910 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-08-29 16:04:40,158.158 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:04:40,160.160 INFO    ] Checking for system updates...
[2026-08-29 16:04:40,182.182 INFO    ] 200
[2026-08-29 16:04:40,184.184 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:04:40,214.214 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:04:40,216.216 INFO    ] No update needed
[2026-08-29 16:04:40,217.217 INFO    ] Checking for camera pi updates...
[2026-08-29 16:04:40,237.237 INFO    ] 200
[2026-08-29 16:04:40,238.238 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:04:40,262.262 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:04:40,366.366 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:04:40,369.369 INFO    ] No camera update needed
[2026-08-29 16:04:40,371.371 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:04:40,374.374 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:04:40,380.380 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:04:40,386.386 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:04:42,427.427 INFO    ] ================================================
[2026-08-29 16:04:42,443.443 INFO    ] Launching Daemon at Sat Aug 29 16:04:42 IST 2026
[2026-08-29 16:04:42,454.454 INFO    ] ================================================
[2026-08-29 16:04:43,035.035 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:04:43
[2026-08-29 16:04:43,534.534 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:04:43,670.670 INFO    ] Initializing speech engine...
[2026-08-29 16:04:43,673.673 INFO    ] 2026-08-29 16:04:43
[2026-08-29 16:04:43,893.893 INFO    ] 2026-08-29 16:04:43
[2026-08-29 16:04:43,986.986 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:04:44,153.153 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:04:44,162.162 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:04:44,313.313 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:04:44,321.321 INFO    ] time= 29/08/2026 16:04:44
[2026-08-29 16:04:44,366.366 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:04:44,415.415 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:04:44,471.471 INFO    ] No existing commands found in stream
[2026-08-29 16:04:49,495.495 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:04:49,498.498 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-08-29 16:04:52,395.395 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:04:52,396.396 INFO    ] Checking for system updates...
[2026-08-29 16:04:52,417.417 INFO    ] 200
[2026-08-29 16:04:52,418.418 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:04:52,450.450 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:04:52,451.451 INFO    ] No update needed
[2026-08-29 16:04:52,453.453 INFO    ] Checking for camera pi updates...
[2026-08-29 16:04:52,472.472 INFO    ] 200
[2026-08-29 16:04:52,473.473 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:04:52,500.500 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:04:52,596.596 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:04:52,598.598 INFO    ] No camera update needed
[2026-08-29 16:04:52,599.599 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:04:52,600.600 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:04:52,603.603 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:04:52,606.606 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:04:54,644.644 INFO    ] ================================================
[2026-08-29 16:04:54,660.660 INFO    ] Launching Daemon at Sat Aug 29 16:04:54 IST 2026
[2026-08-29 16:04:54,670.670 INFO    ] ================================================
[2026-08-29 16:04:55,029.029 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:04:55
[2026-08-29 16:04:55,361.361 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:04:55,500.500 INFO    ] Initializing speech engine...
[2026-08-29 16:04:55,513.513 INFO    ] 2026-08-29 16:04:55
[2026-08-29 16:04:55,720.720 INFO    ] 2026-08-29 16:04:55
[2026-08-29 16:04:55,760.760 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:04:55,989.989 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:04:55,994.994 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:04:56,130.130 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:04:56,178.178 INFO    ] time= 29/08/2026 16:04:56
[2026-08-29 16:04:56,238.238 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:04:56,270.270 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:04:56,390.390 INFO    ] No existing commands found in stream
[2026-08-29 16:05:01,420.420 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:05:01,427.427 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-08-29 16:05:04,952.952 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:05:04,953.953 INFO    ] Checking for system updates...
[2026-08-29 16:05:04,974.974 INFO    ] 200
[2026-08-29 16:05:04,975.975 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:05:05,005.005 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:05:05,006.006 INFO    ] No update needed
[2026-08-29 16:05:05,007.007 INFO    ] Checking for camera pi updates...
[2026-08-29 16:05:05,027.027 INFO    ] 200
[2026-08-29 16:05:05,028.028 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:05:05,051.051 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:05:05,134.134 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:05:05,136.136 INFO    ] No camera update needed
[2026-08-29 16:05:05,137.137 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:05:05,138.138 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:05:05,141.141 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:05:05,144.144 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:05:07,186.186 INFO    ] ================================================
[2026-08-29 16:05:07,201.201 INFO    ] Launching Daemon at Sat Aug 29 16:05:07 IST 2026
[2026-08-29 16:05:07,211.211 INFO    ] ================================================
[2026-08-29 16:05:07,576.576 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:05:07
[2026-08-29 16:05:07,895.895 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:05:08,029.029 INFO    ] Initializing speech engine...
[2026-08-29 16:05:08,033.033 INFO    ] 2026-08-29 16:05:08
[2026-08-29 16:05:08,224.224 INFO    ] 2026-08-29 16:05:08
[2026-08-29 16:05:08,268.268 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:05:08,427.427 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:05:08,476.476 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:05:08,641.641 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:05:08,673.673 INFO    ] time= 29/08/2026 16:05:08
[2026-08-29 16:05:08,726.726 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:05:08,751.751 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:05:08,827.827 INFO    ] No existing commands found in stream
[2026-08-29 16:05:13,838.838 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:05:13,841.841 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 16:05:16,162.162 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:05:16,164.164 INFO    ] Checking for system updates...
[2026-08-29 16:05:16,186.186 INFO    ] 200
[2026-08-29 16:05:16,187.187 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:05:16,218.218 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:05:16,219.219 INFO    ] No update needed
[2026-08-29 16:05:16,220.220 INFO    ] Checking for camera pi updates...
[2026-08-29 16:05:16,242.242 INFO    ] 200
[2026-08-29 16:05:16,243.243 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:05:16,266.266 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:05:16,451.451 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:05:16,453.453 INFO    ] No camera update needed
[2026-08-29 16:05:16,454.454 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:05:16,455.455 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:05:16,458.458 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:05:16,461.461 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:05:18,498.498 INFO    ] ================================================
[2026-08-29 16:05:18,514.514 INFO    ] Launching Daemon at Sat Aug 29 16:05:18 IST 2026
[2026-08-29 16:05:18,524.524 INFO    ] ================================================
[2026-08-29 16:05:18,893.893 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:05:18
[2026-08-29 16:05:19,212.212 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:05:19,374.374 INFO    ] Initializing speech engine...
[2026-08-29 16:05:19,388.388 INFO    ] 2026-08-29 16:05:19
[2026-08-29 16:05:19,655.655 INFO    ] 2026-08-29 16:05:19
[2026-08-29 16:05:19,692.692 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:05:19,872.872 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:05:19,879.879 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:05:19,977.977 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:05:19,979.979 INFO    ] time= 29/08/2026 16:05:19
[2026-08-29 16:05:19,982.982 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:05:19,986.986 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:05:20,047.047 INFO    ] No existing commands found in stream
[2026-08-29 16:05:25,059.059 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:05:25,061.061 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-08-29 16:05:28,503.503 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:05:28,506.506 INFO    ] Checking for system updates...
[2026-08-29 16:05:28,546.546 INFO    ] 200
[2026-08-29 16:05:28,549.549 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:05:28,602.602 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:05:28,605.605 INFO    ] No update needed
[2026-08-29 16:05:28,607.607 INFO    ] Checking for camera pi updates...
[2026-08-29 16:05:28,642.642 INFO    ] 200
[2026-08-29 16:05:28,645.645 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:05:28,686.686 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:05:28,794.794 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:05:28,797.797 INFO    ] No camera update needed
[2026-08-29 16:05:28,799.799 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:05:28,802.802 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:05:28,808.808 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:05:28,814.814 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:05:30,857.857 INFO    ] ================================================
[2026-08-29 16:05:30,873.873 INFO    ] Launching Daemon at Sat Aug 29 16:05:30 IST 2026
[2026-08-29 16:05:30,885.885 INFO    ] ================================================
[2026-08-29 16:05:31,324.324 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:05:31
[2026-08-29 16:05:31,899.899 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:05:32,207.207 INFO    ] Initializing speech engine...
[2026-08-29 16:05:32,215.215 INFO    ] 2026-08-29 16:05:32
[2026-08-29 16:05:32,523.523 INFO    ] 2026-08-29 16:05:32
[2026-08-29 16:05:32,568.568 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:05:32,724.724 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:05:32,731.731 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:05:33,887.887 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:05:33,889.889 INFO    ] time= 29/08/2026 16:05:33
[2026-08-29 16:05:33,944.944 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:05:33,959.959 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:05:34,295.295 INFO    ] No existing commands found in stream
[2026-08-29 16:05:39,308.308 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:05:39,310.310 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-08-29 16:05:41,460.460 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:05:41,461.461 INFO    ] Checking for system updates...
[2026-08-29 16:05:41,482.482 INFO    ] 200
[2026-08-29 16:05:41,483.483 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:05:41,515.515 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:05:41,516.516 INFO    ] No update needed
[2026-08-29 16:05:41,518.518 INFO    ] Checking for camera pi updates...
[2026-08-29 16:05:41,537.537 INFO    ] 200
[2026-08-29 16:05:41,538.538 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:05:41,563.563 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:05:41,645.645 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:05:41,646.646 INFO    ] No camera update needed
[2026-08-29 16:05:41,647.647 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:05:41,649.649 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:05:41,651.651 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:05:41,654.654 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:05:43,685.685 INFO    ] ================================================
[2026-08-29 16:05:43,700.700 INFO    ] Launching Daemon at Sat Aug 29 16:05:43 IST 2026
[2026-08-29 16:05:43,711.711 INFO    ] ================================================
[2026-08-29 16:05:44,323.323 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:05:44
[2026-08-29 16:05:44,917.917 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:05:45,172.172 INFO    ] Initializing speech engine...
[2026-08-29 16:05:45,195.195 INFO    ] 2026-08-29 16:05:45
[2026-08-29 16:05:45,453.453 INFO    ] 2026-08-29 16:05:45
[2026-08-29 16:05:45,488.488 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:05:45,666.666 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:05:45,680.680 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:05:45,826.826 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:05:45,833.833 INFO    ] time= 29/08/2026 16:05:45
[2026-08-29 16:05:45,840.840 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:05:45,852.852 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:05:45,988.988 INFO    ] No existing commands found in stream
[2026-08-29 16:05:51,013.013 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:05:51,016.016 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-08-29 16:05:55,355.355 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:05:55,356.356 INFO    ] Checking for system updates...
[2026-08-29 16:05:55,376.376 INFO    ] 200
[2026-08-29 16:05:55,378.378 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:05:55,411.411 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:05:55,412.412 INFO    ] No update needed
[2026-08-29 16:05:55,413.413 INFO    ] Checking for camera pi updates...
[2026-08-29 16:05:55,433.433 INFO    ] 200
[2026-08-29 16:05:55,435.435 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:05:55,458.458 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:05:55,537.537 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:05:55,539.539 INFO    ] No camera update needed
[2026-08-29 16:05:55,542.542 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:05:55,544.544 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:05:55,549.549 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:05:55,555.555 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:05:57,594.594 INFO    ] ================================================
[2026-08-29 16:05:57,610.610 INFO    ] Launching Daemon at Sat Aug 29 16:05:57 IST 2026
[2026-08-29 16:05:57,621.621 INFO    ] ================================================
[2026-08-29 16:05:58,213.213 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:05:58
[2026-08-29 16:05:58,694.694 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:05:58,830.830 INFO    ] Initializing speech engine...
[2026-08-29 16:05:58,839.839 INFO    ] 2026-08-29 16:05:58
[2026-08-29 16:05:59,066.066 INFO    ] 2026-08-29 16:05:59
[2026-08-29 16:05:59,097.097 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:05:59,230.230 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:05:59,293.293 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:05:59,410.410 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:05:59,444.444 INFO    ] time= 29/08/2026 16:05:59
[2026-08-29 16:05:59,486.486 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:05:59,530.530 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:05:59,628.628 INFO    ] No existing commands found in stream
[2026-08-29 16:06:04,638.638 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:06:04,641.641 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-08-29 16:06:05,204.204 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:06:05,205.205 INFO    ] Checking for system updates...
[2026-08-29 16:06:05,226.226 INFO    ] 200
[2026-08-29 16:06:05,228.228 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:06:05,260.260 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:06:05,261.261 INFO    ] No update needed
[2026-08-29 16:06:05,262.262 INFO    ] Checking for camera pi updates...
[2026-08-29 16:06:05,282.282 INFO    ] 200
[2026-08-29 16:06:05,283.283 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:06:05,308.308 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:06:05,396.396 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:06:05,397.397 INFO    ] No camera update needed
[2026-08-29 16:06:05,398.398 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:06:05,400.400 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:06:05,403.403 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:06:05,405.405 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:06:07,443.443 INFO    ] ================================================
[2026-08-29 16:06:07,460.460 INFO    ] Launching Daemon at Sat Aug 29 16:06:07 IST 2026
[2026-08-29 16:06:07,472.472 INFO    ] ================================================
[2026-08-29 16:06:07,810.810 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:06:07
[2026-08-29 16:06:08,129.129 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:06:08,267.267 INFO    ] Initializing speech engine...
[2026-08-29 16:06:08,281.281 INFO    ] 2026-08-29 16:06:08
[2026-08-29 16:06:08,500.500 INFO    ] 2026-08-29 16:06:08
[2026-08-29 16:06:08,531.531 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:06:08,731.731 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:06:08,735.735 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:06:08,876.876 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:06:08,912.912 INFO    ] time= 29/08/2026 16:06:08
[2026-08-29 16:06:08,960.960 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:06:08,985.985 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:06:09,061.061 INFO    ] No existing commands found in stream
[2026-08-29 16:06:14,073.073 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:06:14,075.075 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-08-29 16:06:16,743.743 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:06:16,746.746 INFO    ] Checking for system updates...
[2026-08-29 16:06:16,786.786 INFO    ] 200
[2026-08-29 16:06:16,788.788 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:06:16,848.848 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:06:16,850.850 INFO    ] No update needed
[2026-08-29 16:06:16,852.852 INFO    ] Checking for camera pi updates...
[2026-08-29 16:06:16,886.886 INFO    ] 200
[2026-08-29 16:06:16,889.889 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:06:16,930.930 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:06:17,037.037 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:06:17,040.040 INFO    ] No camera update needed
[2026-08-29 16:06:17,042.042 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:06:17,045.045 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:06:17,050.050 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:06:17,055.055 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:06:19,097.097 INFO    ] ================================================
[2026-08-29 16:06:19,113.113 INFO    ] Launching Daemon at Sat Aug 29 16:06:19 IST 2026
[2026-08-29 16:06:19,124.124 INFO    ] ================================================
[2026-08-29 16:06:19,455.455 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:06:19
[2026-08-29 16:06:19,770.770 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:06:19,999.999 INFO    ] Initializing speech engine...
[2026-08-29 16:06:20,008.008 INFO    ] 2026-08-29 16:06:20
[2026-08-29 16:06:20,260.260 INFO    ] 2026-08-29 16:06:20
[2026-08-29 16:06:20,295.295 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:06:20,471.471 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:06:20,484.484 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:06:20,629.629 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:06:20,638.638 INFO    ] time= 29/08/2026 16:06:20
[2026-08-29 16:06:20,644.644 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:06:20,686.686 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:06:20,739.739 INFO    ] No existing commands found in stream
[2026-08-29 16:06:25,748.748 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:06:25,751.751 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-08-29 16:06:28,520.520 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:06:28,522.522 INFO    ] Checking for system updates...
[2026-08-29 16:06:28,543.543 INFO    ] 200
[2026-08-29 16:06:28,545.545 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:06:28,576.576 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:06:28,578.578 INFO    ] No update needed
[2026-08-29 16:06:28,579.579 INFO    ] Checking for camera pi updates...
[2026-08-29 16:06:28,598.598 INFO    ] 200
[2026-08-29 16:06:28,599.599 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:06:28,622.622 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:06:28,703.703 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:06:28,706.706 INFO    ] No camera update needed
[2026-08-29 16:06:28,708.708 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:06:28,710.710 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:06:28,716.716 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:06:28,720.720 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:06:30,762.762 INFO    ] ================================================
[2026-08-29 16:06:30,778.778 INFO    ] Launching Daemon at Sat Aug 29 16:06:30 IST 2026
[2026-08-29 16:06:30,789.789 INFO    ] ================================================
[2026-08-29 16:06:31,369.369 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:06:31
[2026-08-29 16:06:31,910.910 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:06:32,202.202 INFO    ] Initializing speech engine...
[2026-08-29 16:06:32,209.209 INFO    ] 2026-08-29 16:06:32
[2026-08-29 16:06:32,486.486 INFO    ] 2026-08-29 16:06:32
[2026-08-29 16:06:32,520.520 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:06:32,661.661 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:06:32,700.700 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:06:32,822.822 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:06:32,828.828 INFO    ] time= 29/08/2026 16:06:32
[2026-08-29 16:06:32,833.833 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:06:32,851.851 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:06:32,943.943 INFO    ] No existing commands found in stream
[2026-08-29 16:06:37,955.955 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:06:37,958.958 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-08-29 16:06:41,650.650 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:06:41,651.651 INFO    ] Checking for system updates...
[2026-08-29 16:06:41,673.673 INFO    ] 200
[2026-08-29 16:06:41,674.674 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:06:41,705.705 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:06:41,706.706 INFO    ] No update needed
[2026-08-29 16:06:41,707.707 INFO    ] Checking for camera pi updates...
[2026-08-29 16:06:41,726.726 INFO    ] 200
[2026-08-29 16:06:41,727.727 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:06:41,752.752 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:06:41,838.838 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:06:41,839.839 INFO    ] No camera update needed
[2026-08-29 16:06:41,840.840 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:06:41,841.841 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:06:41,844.844 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:06:41,847.847 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:06:43,885.885 INFO    ] ================================================
[2026-08-29 16:06:43,901.901 INFO    ] Launching Daemon at Sat Aug 29 16:06:43 IST 2026
[2026-08-29 16:06:43,912.912 INFO    ] ================================================
[2026-08-29 16:06:44,287.287 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:06:44
[2026-08-29 16:06:44,626.626 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:06:44,778.778 INFO    ] Initializing speech engine...
[2026-08-29 16:06:44,783.783 INFO    ] 2026-08-29 16:06:44
[2026-08-29 16:06:44,992.992 INFO    ] 2026-08-29 16:06:44
[2026-08-29 16:06:45,021.021 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:06:45,148.148 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:06:45,211.211 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:06:45,347.347 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:06:45,413.413 INFO    ] time= 29/08/2026 16:06:45
[2026-08-29 16:06:45,441.441 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:06:45,448.448 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:06:45,515.515 INFO    ] No existing commands found in stream
[2026-08-29 16:06:50,525.525 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:06:50,528.528 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-08-29 16:06:51,252.252 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:06:51,254.254 INFO    ] Checking for system updates...
[2026-08-29 16:06:51,275.275 INFO    ] 200
[2026-08-29 16:06:51,276.276 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:06:51,309.309 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:06:51,310.310 INFO    ] No update needed
[2026-08-29 16:06:51,311.311 INFO    ] Checking for camera pi updates...
[2026-08-29 16:06:51,333.333 INFO    ] 200
[2026-08-29 16:06:51,334.334 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:06:51,358.358 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:06:51,457.457 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:06:51,458.458 INFO    ] No camera update needed
[2026-08-29 16:06:51,459.459 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:06:51,461.461 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:06:51,464.464 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:06:51,467.467 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:06:53,507.507 INFO    ] ================================================
[2026-08-29 16:06:53,523.523 INFO    ] Launching Daemon at Sat Aug 29 16:06:53 IST 2026
[2026-08-29 16:06:53,534.534 INFO    ] ================================================
[2026-08-29 16:06:53,878.878 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:06:53
[2026-08-29 16:06:54,196.196 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:06:54,340.340 INFO    ] Initializing speech engine...
[2026-08-29 16:06:54,345.345 INFO    ] 2026-08-29 16:06:54
[2026-08-29 16:06:54,583.583 INFO    ] 2026-08-29 16:06:54
[2026-08-29 16:06:54,643.643 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:06:54,809.809 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:06:54,817.817 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:06:54,981.981 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:06:55,015.015 INFO    ] time= 29/08/2026 16:06:54
[2026-08-29 16:06:55,021.021 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:06:55,039.039 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:06:55,145.145 INFO    ] No existing commands found in stream
[2026-08-29 16:07:00,175.175 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:07:00,178.178 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-08-29 16:07:04,517.517 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:07:04,519.519 INFO    ] Checking for system updates...
[2026-08-29 16:07:04,540.540 INFO    ] 200
[2026-08-29 16:07:04,542.542 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:07:04,572.572 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:07:04,573.573 INFO    ] No update needed
[2026-08-29 16:07:04,574.574 INFO    ] Checking for camera pi updates...
[2026-08-29 16:07:04,593.593 INFO    ] 200
[2026-08-29 16:07:04,595.595 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:07:04,619.619 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:07:04,730.730 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:07:04,731.731 INFO    ] No camera update needed
[2026-08-29 16:07:04,733.733 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:07:04,734.734 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:07:04,737.737 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:07:04,740.740 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:07:06,785.785 INFO    ] ================================================
[2026-08-29 16:07:06,801.801 INFO    ] Launching Daemon at Sat Aug 29 16:07:06 IST 2026
[2026-08-29 16:07:06,813.813 INFO    ] ================================================
[2026-08-29 16:07:07,160.160 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:07:07
[2026-08-29 16:07:07,502.502 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:07:07,797.797 INFO    ] Initializing speech engine...
[2026-08-29 16:07:07,809.809 INFO    ] 2026-08-29 16:07:07
[2026-08-29 16:07:08,089.089 INFO    ] 2026-08-29 16:07:08
[2026-08-29 16:07:08,134.134 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:07:08,359.359 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:07:08,366.366 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:07:08,500.500 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:07:08,555.555 INFO    ] time= 29/08/2026 16:07:08
[2026-08-29 16:07:08,615.615 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:07:08,635.635 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:07:08,761.761 INFO    ] No existing commands found in stream
[2026-08-29 16:07:13,789.789 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:07:13,793.793 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-08-29 16:07:16,215.215 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:07:16,216.216 INFO    ] Checking for system updates...
[2026-08-29 16:07:16,237.237 INFO    ] 200
[2026-08-29 16:07:16,238.238 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:07:16,268.268 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:07:16,269.269 INFO    ] No update needed
[2026-08-29 16:07:16,271.271 INFO    ] Checking for camera pi updates...
[2026-08-29 16:07:16,290.290 INFO    ] 200
[2026-08-29 16:07:16,291.291 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:07:16,314.314 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:07:16,406.406 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:07:16,407.407 INFO    ] No camera update needed
[2026-08-29 16:07:16,408.408 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:07:16,410.410 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:07:16,413.413 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:07:16,417.417 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:07:18,455.455 INFO    ] ================================================
[2026-08-29 16:07:18,471.471 INFO    ] Launching Daemon at Sat Aug 29 16:07:18 IST 2026
[2026-08-29 16:07:18,482.482 INFO    ] ================================================
[2026-08-29 16:07:18,842.842 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:07:18
[2026-08-29 16:07:19,183.183 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:07:19,336.336 INFO    ] Initializing speech engine...
[2026-08-29 16:07:19,341.341 INFO    ] 2026-08-29 16:07:19
[2026-08-29 16:07:19,549.549 INFO    ] 2026-08-29 16:07:19
[2026-08-29 16:07:19,578.578 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:07:19,704.704 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:07:19,747.747 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:07:19,900.900 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:07:19,957.957 INFO    ] time= 29/08/2026 16:07:19
[2026-08-29 16:07:20,003.003 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:07:20,047.047 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:07:20,125.125 INFO    ] No existing commands found in stream
[2026-08-29 16:07:25,136.136 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:07:25,140.140 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-08-29 16:07:28,982.982 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:07:28,983.983 INFO    ] Checking for system updates...
[2026-08-29 16:07:29,004.004 INFO    ] 200
[2026-08-29 16:07:29,006.006 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:07:29,036.036 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:07:29,038.038 INFO    ] No update needed
[2026-08-29 16:07:29,039.039 INFO    ] Checking for camera pi updates...
[2026-08-29 16:07:29,058.058 INFO    ] 200
[2026-08-29 16:07:29,060.060 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:07:29,083.083 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:07:29,275.275 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:07:29,276.276 INFO    ] No camera update needed
[2026-08-29 16:07:29,278.278 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:07:29,279.279 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:07:29,282.282 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:07:29,285.285 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:07:31,324.324 INFO    ] ================================================
[2026-08-29 16:07:31,334.334 INFO    ] Launching Daemon at Sat Aug 29 16:07:31 IST 2026
[2026-08-29 16:07:31,341.341 INFO    ] ================================================
[2026-08-29 16:07:31,887.887 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:07:31
[2026-08-29 16:07:32,514.514 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:07:32,769.769 INFO    ] Initializing speech engine...
[2026-08-29 16:07:32,793.793 INFO    ] 2026-08-29 16:07:32
[2026-08-29 16:07:33,049.049 INFO    ] 2026-08-29 16:07:33
[2026-08-29 16:07:33,084.084 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:07:33,258.258 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:07:33,281.281 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:07:33,411.411 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:07:33,420.420 INFO    ] time= 29/08/2026 16:07:33
[2026-08-29 16:07:33,428.428 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:07:33,462.462 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:07:33,594.594 INFO    ] No existing commands found in stream
[2026-08-29 16:07:38,625.625 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:07:38,627.627 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 16:07:40,759.759 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:07:40,761.761 INFO    ] Checking for system updates...
[2026-08-29 16:07:40,783.783 INFO    ] 200
[2026-08-29 16:07:40,784.784 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:07:40,816.816 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:07:40,818.818 INFO    ] No update needed
[2026-08-29 16:07:40,819.819 INFO    ] Checking for camera pi updates...
[2026-08-29 16:07:40,838.838 INFO    ] 200
[2026-08-29 16:07:40,840.840 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:07:40,865.865 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:07:40,941.941 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:07:40,943.943 INFO    ] No camera update needed
[2026-08-29 16:07:40,944.944 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:07:40,945.945 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:07:40,948.948 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:07:40,951.951 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:07:42,984.984 INFO    ] ================================================
[2026-08-29 16:07:43,999.999 INFO    ] Launching Daemon at Sat Aug 29 16:07:42 IST 2026
[2026-08-29 16:07:43,009.009 INFO    ] ================================================
[2026-08-29 16:07:43,367.367 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:07:43
[2026-08-29 16:07:43,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:07:43,911.911 INFO    ] Initializing speech engine...
[2026-08-29 16:07:43,920.920 INFO    ] 2026-08-29 16:07:43
[2026-08-29 16:07:44,171.171 INFO    ] 2026-08-29 16:07:44
[2026-08-29 16:07:44,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:07:44,380.380 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:07:44,394.394 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:07:44,505.505 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:07:44,510.510 INFO    ] time= 29/08/2026 16:07:44
[2026-08-29 16:07:44,529.529 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:07:44,549.549 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:07:44,622.622 INFO    ] No existing commands found in stream
[2026-08-29 16:07:49,634.634 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:07:49,637.637 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-08-29 16:07:51,467.467 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:07:51,468.468 INFO    ] Checking for system updates...
[2026-08-29 16:07:51,489.489 INFO    ] 200
[2026-08-29 16:07:51,490.490 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:07:51,522.522 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:07:51,523.523 INFO    ] No update needed
[2026-08-29 16:07:51,525.525 INFO    ] Checking for camera pi updates...
[2026-08-29 16:07:51,544.544 INFO    ] 200
[2026-08-29 16:07:51,545.545 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:07:51,570.570 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:07:51,647.647 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:07:51,648.648 INFO    ] No camera update needed
[2026-08-29 16:07:51,649.649 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:07:51,651.651 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:07:51,654.654 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:07:51,656.656 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:07:53,697.697 INFO    ] ================================================
[2026-08-29 16:07:53,713.713 INFO    ] Launching Daemon at Sat Aug 29 16:07:53 IST 2026
[2026-08-29 16:07:53,723.723 INFO    ] ================================================
[2026-08-29 16:07:54,107.107 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:07:54
[2026-08-29 16:07:54,449.449 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:07:54,603.603 INFO    ] Initializing speech engine...
[2026-08-29 16:07:54,608.608 INFO    ] 2026-08-29 16:07:54
[2026-08-29 16:07:54,817.817 INFO    ] 2026-08-29 16:07:54
[2026-08-29 16:07:54,847.847 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:07:54,980.980 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:07:55,033.033 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:07:55,168.168 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:07:55,219.219 INFO    ] time= 29/08/2026 16:07:55
[2026-08-29 16:07:55,258.258 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:07:55,263.263 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:07:55,335.335 INFO    ] No existing commands found in stream
[2026-08-29 16:08:00,350.350 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:08:00,353.353 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-08-29 16:08:02,254.254 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:08:02,257.257 INFO    ] Checking for system updates...
[2026-08-29 16:08:02,318.318 INFO    ] 200
[2026-08-29 16:08:02,321.321 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:08:02,395.395 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:08:02,398.398 INFO    ] No update needed
[2026-08-29 16:08:02,401.401 INFO    ] Checking for camera pi updates...
[2026-08-29 16:08:02,445.445 INFO    ] 200
[2026-08-29 16:08:02,452.452 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:08:02,504.504 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:08:02,646.646 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:08:02,650.650 INFO    ] No camera update needed
[2026-08-29 16:08:02,653.653 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:08:02,656.656 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:08:02,663.663 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:08:02,669.669 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:08:04,710.710 INFO    ] ================================================
[2026-08-29 16:08:04,726.726 INFO    ] Launching Daemon at Sat Aug 29 16:08:04 IST 2026
[2026-08-29 16:08:04,738.738 INFO    ] ================================================
[2026-08-29 16:08:05,239.239 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:08:05
[2026-08-29 16:08:05,578.578 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:08:05,732.732 INFO    ] Initializing speech engine...
[2026-08-29 16:08:05,738.738 INFO    ] 2026-08-29 16:08:05
[2026-08-29 16:08:05,956.956 INFO    ] 2026-08-29 16:08:05
[2026-08-29 16:08:06,010.010 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:08:06,233.233 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:08:06,243.243 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:08:06,379.379 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:08:06,455.455 INFO    ] time= 29/08/2026 16:08:06
[2026-08-29 16:08:06,507.507 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:08:06,514.514 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:08:06,646.646 INFO    ] No existing commands found in stream
[2026-08-29 16:08:11,671.671 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:08:11,675.675 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-08-29 16:08:13,661.661 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:08:13,662.662 INFO    ] Checking for system updates...
[2026-08-29 16:08:13,685.685 INFO    ] 200
[2026-08-29 16:08:13,686.686 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:08:13,721.721 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:08:13,722.722 INFO    ] No update needed
[2026-08-29 16:08:13,724.724 INFO    ] Checking for camera pi updates...
[2026-08-29 16:08:13,747.747 INFO    ] 200
[2026-08-29 16:08:13,752.752 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:08:13,775.775 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:08:13,852.852 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:08:13,853.853 INFO    ] No camera update needed
[2026-08-29 16:08:13,855.855 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:08:13,856.856 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:08:13,860.860 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:08:13,865.865 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:08:15,904.904 INFO    ] ================================================
[2026-08-29 16:08:15,920.920 INFO    ] Launching Daemon at Sat Aug 29 16:08:15 IST 2026
[2026-08-29 16:08:15,931.931 INFO    ] ================================================
[2026-08-29 16:08:16,512.512 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:08:16
[2026-08-29 16:08:17,112.112 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:08:17,387.387 INFO    ] Initializing speech engine...
[2026-08-29 16:08:17,398.398 INFO    ] 2026-08-29 16:08:17
[2026-08-29 16:08:17,659.659 INFO    ] 2026-08-29 16:08:17
[2026-08-29 16:08:17,713.713 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:08:17,883.883 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:08:17,941.941 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:08:18,080.080 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:08:18,122.122 INFO    ] time= 29/08/2026 16:08:18
[2026-08-29 16:08:18,176.176 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:08:18,214.214 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:08:18,271.271 INFO    ] No existing commands found in stream
[2026-08-29 16:08:23,283.283 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:08:23,286.286 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-08-29 16:08:26,075.075 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:08:26,077.077 INFO    ] Checking for system updates...
[2026-08-29 16:08:26,098.098 INFO    ] 200
[2026-08-29 16:08:26,100.100 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:08:26,129.129 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:08:26,131.131 INFO    ] No update needed
[2026-08-29 16:08:26,132.132 INFO    ] Checking for camera pi updates...
[2026-08-29 16:08:26,153.153 INFO    ] 200
[2026-08-29 16:08:26,154.154 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:08:26,180.180 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:08:26,263.263 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:08:26,266.266 INFO    ] No camera update needed
[2026-08-29 16:08:26,268.268 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:08:26,270.270 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:08:26,276.276 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:08:26,281.281 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:08:28,321.321 INFO    ] ================================================
[2026-08-29 16:08:28,337.337 INFO    ] Launching Daemon at Sat Aug 29 16:08:28 IST 2026
[2026-08-29 16:08:28,348.348 INFO    ] ================================================
[2026-08-29 16:08:28,915.915 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:08:28
[2026-08-29 16:08:29,411.411 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:08:29,554.554 INFO    ] Initializing speech engine...
[2026-08-29 16:08:29,559.559 INFO    ] 2026-08-29 16:08:29
[2026-08-29 16:08:29,762.762 INFO    ] 2026-08-29 16:08:29
[2026-08-29 16:08:29,792.792 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:08:29,941.941 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:08:29,949.949 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:08:30,112.112 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:08:30,149.149 INFO    ] time= 29/08/2026 16:08:30
[2026-08-29 16:08:30,155.155 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:08:30,176.176 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:08:30,284.284 INFO    ] No existing commands found in stream
[2026-08-29 16:08:35,312.312 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:08:35,315.315 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-08-29 16:08:38,975.975 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:08:38,976.976 INFO    ] Checking for system updates...
[2026-08-29 16:08:38,999.999 INFO    ] 200
[2026-08-29 16:08:39,001.001 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:08:39,036.036 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:08:39,038.038 INFO    ] No update needed
[2026-08-29 16:08:39,039.039 INFO    ] Checking for camera pi updates...
[2026-08-29 16:08:39,063.063 INFO    ] 200
[2026-08-29 16:08:39,064.064 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:08:39,090.090 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:08:39,197.197 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:08:39,198.198 INFO    ] No camera update needed
[2026-08-29 16:08:39,200.200 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:08:39,201.201 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:08:39,204.204 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:08:39,207.207 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:08:41,248.248 INFO    ] ================================================
[2026-08-29 16:08:41,264.264 INFO    ] Launching Daemon at Sat Aug 29 16:08:41 IST 2026
[2026-08-29 16:08:41,275.275 INFO    ] ================================================
[2026-08-29 16:08:41,878.878 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:08:41
[2026-08-29 16:08:42,545.545 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:08:42,843.843 INFO    ] Initializing speech engine...
[2026-08-29 16:08:42,853.853 INFO    ] 2026-08-29 16:08:42
[2026-08-29 16:08:43,140.140 INFO    ] 2026-08-29 16:08:43
[2026-08-29 16:08:43,186.186 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:08:43,405.405 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:08:43,414.414 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:08:43,547.547 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:08:43,590.590 INFO    ] time= 29/08/2026 16:08:43
[2026-08-29 16:08:43,644.644 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:08:43,682.682 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:08:43,739.739 INFO    ] No existing commands found in stream
[2026-08-29 16:08:48,752.752 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:08:48,755.755 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-08-29 16:08:49,568.568 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:08:49,569.569 INFO    ] Checking for system updates...
[2026-08-29 16:08:49,590.590 INFO    ] 200
[2026-08-29 16:08:49,592.592 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:08:49,622.622 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:08:49,623.623 INFO    ] No update needed
[2026-08-29 16:08:49,625.625 INFO    ] Checking for camera pi updates...
[2026-08-29 16:08:49,644.644 INFO    ] 200
[2026-08-29 16:08:49,645.645 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:08:49,669.669 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:08:49,744.744 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:08:49,745.745 INFO    ] No camera update needed
[2026-08-29 16:08:49,746.746 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:08:49,748.748 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:08:49,751.751 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:08:49,753.753 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:08:51,792.792 INFO    ] ================================================
[2026-08-29 16:08:51,808.808 INFO    ] Launching Daemon at Sat Aug 29 16:08:51 IST 2026
[2026-08-29 16:08:51,819.819 INFO    ] ================================================
[2026-08-29 16:08:52,143.143 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:08:52
[2026-08-29 16:08:52,456.456 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:08:52,596.596 INFO    ] Initializing speech engine...
[2026-08-29 16:08:52,605.605 INFO    ] 2026-08-29 16:08:52
[2026-08-29 16:08:52,796.796 INFO    ] 2026-08-29 16:08:52
[2026-08-29 16:08:52,832.832 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:08:53,028.028 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:08:53,043.043 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:08:53,163.163 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:08:53,170.170 INFO    ] time= 29/08/2026 16:08:53
[2026-08-29 16:08:53,175.175 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:08:53,195.195 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:08:53,296.296 INFO    ] No existing commands found in stream
[2026-08-29 16:08:58,308.308 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:08:58,311.311 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-08-29 16:09:02,645.645 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:09:02,648.648 INFO    ] Checking for system updates...
[2026-08-29 16:09:02,690.690 INFO    ] 200
[2026-08-29 16:09:02,693.693 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:09:02,771.771 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:09:02,774.774 INFO    ] No update needed
[2026-08-29 16:09:02,777.777 INFO    ] Checking for camera pi updates...
[2026-08-29 16:09:02,814.814 INFO    ] 200
[2026-08-29 16:09:02,817.817 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:09:02,873.873 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:09:02,957.957 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:09:02,960.960 INFO    ] No camera update needed
[2026-08-29 16:09:02,963.963 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:09:02,966.966 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:09:02,972.972 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:09:02,980.980 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:09:05,021.021 INFO    ] ================================================
[2026-08-29 16:09:05,036.036 INFO    ] Launching Daemon at Sat Aug 29 16:09:05 IST 2026
[2026-08-29 16:09:05,048.048 INFO    ] ================================================
[2026-08-29 16:09:05,393.393 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:09:05
[2026-08-29 16:09:05,706.706 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:09:05,837.837 INFO    ] Initializing speech engine...
[2026-08-29 16:09:05,841.841 INFO    ] 2026-08-29 16:09:05
[2026-08-29 16:09:06,070.070 INFO    ] 2026-08-29 16:09:06
[2026-08-29 16:09:06,100.100 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:09:06,231.231 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:09:06,264.264 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:09:06,407.407 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:09:06,440.440 INFO    ] time= 29/08/2026 16:09:06
[2026-08-29 16:09:06,486.486 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:09:06,532.532 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:09:06,640.640 INFO    ] No existing commands found in stream
[2026-08-29 16:09:11,660.660 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:09:11,663.663 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-08-29 16:09:14,849.849 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:09:14,850.850 INFO    ] Checking for system updates...
[2026-08-29 16:09:14,871.871 INFO    ] 200
[2026-08-29 16:09:14,872.872 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:09:14,902.902 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:09:14,903.903 INFO    ] No update needed
[2026-08-29 16:09:14,905.905 INFO    ] Checking for camera pi updates...
[2026-08-29 16:09:14,926.926 INFO    ] 200
[2026-08-29 16:09:14,927.927 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:09:14,950.950 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:09:15,027.027 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:09:15,028.028 INFO    ] No camera update needed
[2026-08-29 16:09:15,030.030 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:09:15,031.031 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:09:15,034.034 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:09:15,037.037 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:09:17,075.075 INFO    ] ================================================
[2026-08-29 16:09:17,091.091 INFO    ] Launching Daemon at Sat Aug 29 16:09:17 IST 2026
[2026-08-29 16:09:17,102.102 INFO    ] ================================================
[2026-08-29 16:09:17,459.459 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:09:17
[2026-08-29 16:09:17,770.770 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:09:17,907.907 INFO    ] Initializing speech engine...
[2026-08-29 16:09:17,918.918 INFO    ] 2026-08-29 16:09:17
[2026-08-29 16:09:18,123.123 INFO    ] 2026-08-29 16:09:18
[2026-08-29 16:09:18,152.152 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:09:18,275.275 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:09:18,308.308 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:09:18,437.437 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:09:18,474.474 INFO    ] time= 29/08/2026 16:09:18
[2026-08-29 16:09:18,535.535 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:09:18,572.572 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:09:18,643.643 INFO    ] No existing commands found in stream
[2026-08-29 16:09:23,654.654 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:09:23,657.657 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-08-29 16:09:27,663.663 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:09:27,664.664 INFO    ] Checking for system updates...
[2026-08-29 16:09:27,686.686 INFO    ] 200
[2026-08-29 16:09:27,687.687 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:09:27,717.717 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:09:27,718.718 INFO    ] No update needed
[2026-08-29 16:09:27,720.720 INFO    ] Checking for camera pi updates...
[2026-08-29 16:09:27,739.739 INFO    ] 200
[2026-08-29 16:09:27,740.740 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:09:27,764.764 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:09:27,880.880 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:09:27,881.881 INFO    ] No camera update needed
[2026-08-29 16:09:27,882.882 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:09:27,884.884 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:09:27,886.886 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:09:27,889.889 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:09:29,927.927 INFO    ] ================================================
[2026-08-29 16:09:29,943.943 INFO    ] Launching Daemon at Sat Aug 29 16:09:29 IST 2026
[2026-08-29 16:09:29,954.954 INFO    ] ================================================
[2026-08-29 16:09:30,425.425 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:09:30
[2026-08-29 16:09:31,007.007 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:09:31,281.281 INFO    ] Initializing speech engine...
[2026-08-29 16:09:31,290.290 INFO    ] 2026-08-29 16:09:31
[2026-08-29 16:09:31,538.538 INFO    ] 2026-08-29 16:09:31
[2026-08-29 16:09:31,573.573 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:09:31,753.753 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:09:31,765.765 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:09:31,886.886 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:09:31,928.928 INFO    ] time= 29/08/2026 16:09:31
[2026-08-29 16:09:31,938.938 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:09:31,948.948 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:09:32,000.000 INFO    ] No existing commands found in stream
[2026-08-29 16:09:37,015.015 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:09:37,017.017 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-08-29 16:09:38,793.793 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:09:38,794.794 INFO    ] Checking for system updates...
[2026-08-29 16:09:38,815.815 INFO    ] 200
[2026-08-29 16:09:38,817.817 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:09:38,846.846 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:09:38,847.847 INFO    ] No update needed
[2026-08-29 16:09:38,849.849 INFO    ] Checking for camera pi updates...
[2026-08-29 16:09:38,870.870 INFO    ] 200
[2026-08-29 16:09:38,871.871 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:09:38,894.894 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:09:38,981.981 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:09:38,982.982 INFO    ] No camera update needed
[2026-08-29 16:09:38,983.983 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:09:38,984.984 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:09:38,987.987 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:09:38,990.990 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:09:41,028.028 INFO    ] ================================================
[2026-08-29 16:09:41,043.043 INFO    ] Launching Daemon at Sat Aug 29 16:09:41 IST 2026
[2026-08-29 16:09:41,054.054 INFO    ] ================================================
[2026-08-29 16:09:41,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:09:41
[2026-08-29 16:09:42,171.171 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:09:42,447.447 INFO    ] Initializing speech engine...
[2026-08-29 16:09:42,455.455 INFO    ] 2026-08-29 16:09:42
[2026-08-29 16:09:42,702.702 INFO    ] 2026-08-29 16:09:42
[2026-08-29 16:09:42,738.738 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:09:42,910.910 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:09:42,923.923 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:09:43,065.065 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:09:43,074.074 INFO    ] time= 29/08/2026 16:09:43
[2026-08-29 16:09:43,080.080 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:09:43,128.128 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:09:43,194.194 INFO    ] No existing commands found in stream
[2026-08-29 16:09:48,203.203 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:09:48,206.206 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-08-29 16:09:51,362.362 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:09:51,364.364 INFO    ] Checking for system updates...
[2026-08-29 16:09:51,385.385 INFO    ] 200
[2026-08-29 16:09:51,387.387 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:09:51,416.416 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:09:51,417.417 INFO    ] No update needed
[2026-08-29 16:09:51,419.419 INFO    ] Checking for camera pi updates...
[2026-08-29 16:09:51,439.439 INFO    ] 200
[2026-08-29 16:09:51,440.440 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:09:51,465.465 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:09:51,560.560 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:09:51,562.562 INFO    ] No camera update needed
[2026-08-29 16:09:51,563.563 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:09:51,564.564 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:09:51,567.567 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:09:51,570.570 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:09:53,610.610 INFO    ] ================================================
[2026-08-29 16:09:53,625.625 INFO    ] Launching Daemon at Sat Aug 29 16:09:53 IST 2026
[2026-08-29 16:09:53,636.636 INFO    ] ================================================
[2026-08-29 16:09:53,972.972 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:09:53
[2026-08-29 16:09:54,287.287 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:09:54,431.431 INFO    ] Initializing speech engine...
[2026-08-29 16:09:54,436.436 INFO    ] 2026-08-29 16:09:54
[2026-08-29 16:09:54,643.643 INFO    ] 2026-08-29 16:09:54
[2026-08-29 16:09:54,671.671 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:09:54,796.796 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:09:54,844.844 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:09:54,985.985 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:09:55,035.035 INFO    ] time= 29/08/2026 16:09:54
[2026-08-29 16:09:55,067.067 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:09:55,126.126 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:09:55,237.237 INFO    ] No existing commands found in stream
[2026-08-29 16:10:00,267.267 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:10:00,270.270 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-08-29 16:10:02,477.477 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:10:02,480.480 INFO    ] Checking for system updates...
[2026-08-29 16:10:02,534.534 INFO    ] 200
[2026-08-29 16:10:02,538.538 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:10:02,610.610 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:10:02,615.615 INFO    ] No update needed
[2026-08-29 16:10:02,619.619 INFO    ] Checking for camera pi updates...
[2026-08-29 16:10:02,678.678 INFO    ] 200
[2026-08-29 16:10:02,682.682 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:10:02,754.754 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:10:02,898.898 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:10:02,901.901 INFO    ] No camera update needed
[2026-08-29 16:10:02,904.904 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:10:02,908.908 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:10:02,915.915 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:10:02,921.921 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:10:04,962.962 INFO    ] ================================================
[2026-08-29 16:10:04,977.977 INFO    ] Launching Daemon at Sat Aug 29 16:10:04 IST 2026
[2026-08-29 16:10:04,988.988 INFO    ] ================================================
[2026-08-29 16:10:05,357.357 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:10:05
[2026-08-29 16:10:05,671.671 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:10:05,814.814 INFO    ] Initializing speech engine...
[2026-08-29 16:10:05,820.820 INFO    ] 2026-08-29 16:10:05
[2026-08-29 16:10:06,027.027 INFO    ] 2026-08-29 16:10:06
[2026-08-29 16:10:06,056.056 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:10:06,181.181 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:10:06,245.245 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:10:06,377.377 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:10:06,433.433 INFO    ] time= 29/08/2026 16:10:06
[2026-08-29 16:10:06,476.476 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:10:06,478.478 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:10:06,550.550 INFO    ] No existing commands found in stream
[2026-08-29 16:10:11,561.561 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:10:11,564.564 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-08-29 16:10:15,875.875 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:10:15,876.876 INFO    ] Checking for system updates...
[2026-08-29 16:10:15,898.898 INFO    ] 200
[2026-08-29 16:10:15,899.899 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:10:15,929.929 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:10:15,930.930 INFO    ] No update needed
[2026-08-29 16:10:15,931.931 INFO    ] Checking for camera pi updates...
[2026-08-29 16:10:15,954.954 INFO    ] 200
[2026-08-29 16:10:15,955.955 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:10:15,979.979 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:10:16,062.062 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:10:16,064.064 INFO    ] No camera update needed
[2026-08-29 16:10:16,065.065 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:10:16,066.066 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:10:16,069.069 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:10:16,071.071 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:10:18,111.111 INFO    ] ================================================
[2026-08-29 16:10:18,125.125 INFO    ] Launching Daemon at Sat Aug 29 16:10:18 IST 2026
[2026-08-29 16:10:18,136.136 INFO    ] ================================================
[2026-08-29 16:10:18,711.711 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:10:18
[2026-08-29 16:10:19,296.296 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:10:19,566.566 INFO    ] Initializing speech engine...
[2026-08-29 16:10:19,575.575 INFO    ] 2026-08-29 16:10:19
[2026-08-29 16:10:19,826.826 INFO    ] 2026-08-29 16:10:19
[2026-08-29 16:10:19,861.861 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:10:20,037.037 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:10:20,049.049 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:10:20,170.170 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:10:20,174.174 INFO    ] time= 29/08/2026 16:10:20
[2026-08-29 16:10:20,177.177 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:10:20,210.210 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:10:20,277.277 INFO    ] No existing commands found in stream
[2026-08-29 16:10:25,287.287 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:10:25,289.289 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-08-29 16:10:26,756.756 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:10:26,757.757 INFO    ] Checking for system updates...
[2026-08-29 16:10:26,777.777 INFO    ] 200
[2026-08-29 16:10:26,779.779 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:10:26,810.810 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:10:26,812.812 INFO    ] No update needed
[2026-08-29 16:10:26,813.813 INFO    ] Checking for camera pi updates...
[2026-08-29 16:10:26,833.833 INFO    ] 200
[2026-08-29 16:10:26,834.834 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:10:26,857.857 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:10:26,959.959 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:10:26,960.960 INFO    ] No camera update needed
[2026-08-29 16:10:26,962.962 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:10:26,963.963 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:10:26,966.966 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:10:26,968.968 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:10:29,006.006 INFO    ] ================================================
[2026-08-29 16:10:29,021.021 INFO    ] Launching Daemon at Sat Aug 29 16:10:29 IST 2026
[2026-08-29 16:10:29,032.032 INFO    ] ================================================
[2026-08-29 16:10:29,428.428 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:10:29
[2026-08-29 16:10:30,012.012 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:10:30,276.276 INFO    ] Initializing speech engine...
[2026-08-29 16:10:30,295.295 INFO    ] 2026-08-29 16:10:30
[2026-08-29 16:10:30,545.545 INFO    ] 2026-08-29 16:10:30
[2026-08-29 16:10:30,580.580 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:10:30,755.755 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:10:30,767.767 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:10:30,879.879 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:10:30,886.886 INFO    ] time= 29/08/2026 16:10:30
[2026-08-29 16:10:30,904.904 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:10:30,924.924 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:10:30,998.998 INFO    ] No existing commands found in stream
[2026-08-29 16:10:36,010.010 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:10:36,013.013 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 16:10:39,513.513 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:10:39,515.515 INFO    ] Checking for system updates...
[2026-08-29 16:10:39,550.550 INFO    ] 200
[2026-08-29 16:10:39,553.553 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:10:39,606.606 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:10:39,609.609 INFO    ] No update needed
[2026-08-29 16:10:39,611.611 INFO    ] Checking for camera pi updates...
[2026-08-29 16:10:39,649.649 INFO    ] 200
[2026-08-29 16:10:39,651.651 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:10:39,698.698 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:10:39,790.790 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:10:39,793.793 INFO    ] No camera update needed
[2026-08-29 16:10:39,795.795 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:10:39,797.797 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:10:39,803.803 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:10:39,808.808 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:10:41,848.848 INFO    ] ================================================
[2026-08-29 16:10:41,863.863 INFO    ] Launching Daemon at Sat Aug 29 16:10:41 IST 2026
[2026-08-29 16:10:41,874.874 INFO    ] ================================================
[2026-08-29 16:10:42,462.462 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:10:42
[2026-08-29 16:10:42,775.775 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:10:42,913.913 INFO    ] Initializing speech engine...
[2026-08-29 16:10:42,923.923 INFO    ] 2026-08-29 16:10:42
[2026-08-29 16:10:43,129.129 INFO    ] 2026-08-29 16:10:43
[2026-08-29 16:10:43,213.213 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:10:43,361.361 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:10:43,373.373 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:10:43,528.528 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:10:43,534.534 INFO    ] time= 29/08/2026 16:10:43
[2026-08-29 16:10:43,583.583 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:10:43,653.653 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:10:43,737.737 INFO    ] No existing commands found in stream
[2026-08-29 16:10:48,748.748 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:10:48,751.751 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-08-29 16:10:49,751.751 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:10:49,752.752 INFO    ] Checking for system updates...
[2026-08-29 16:10:49,774.774 INFO    ] 200
[2026-08-29 16:10:49,775.775 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:10:49,819.819 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:10:49,821.821 INFO    ] No update needed
[2026-08-29 16:10:49,823.823 INFO    ] Checking for camera pi updates...
[2026-08-29 16:10:49,856.856 INFO    ] 200
[2026-08-29 16:10:49,859.859 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:10:49,904.904 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:10:50,006.006 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:10:50,008.008 INFO    ] No camera update needed
[2026-08-29 16:10:50,011.011 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:10:50,013.013 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:10:50,018.018 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:10:50,023.023 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:10:52,063.063 INFO    ] ================================================
[2026-08-29 16:10:52,078.078 INFO    ] Launching Daemon at Sat Aug 29 16:10:52 IST 2026
[2026-08-29 16:10:52,089.089 INFO    ] ================================================
[2026-08-29 16:10:52,658.658 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:10:52
[2026-08-29 16:10:53,095.095 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:10:53,238.238 INFO    ] Initializing speech engine...
[2026-08-29 16:10:53,243.243 INFO    ] 2026-08-29 16:10:53
[2026-08-29 16:10:53,425.425 INFO    ] 2026-08-29 16:10:53
[2026-08-29 16:10:53,459.459 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:10:53,635.635 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:10:53,648.648 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:10:53,793.793 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:10:53,801.801 INFO    ] time= 29/08/2026 16:10:53
[2026-08-29 16:10:53,805.805 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:10:53,811.811 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:10:53,880.880 INFO    ] No existing commands found in stream
[2026-08-29 16:10:58,910.910 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:10:58,913.913 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-08-29 16:10:59,415.415 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:10:59,417.417 INFO    ] Checking for system updates...
[2026-08-29 16:10:59,437.437 INFO    ] 200
[2026-08-29 16:10:59,439.439 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:10:59,471.471 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:10:59,472.472 INFO    ] No update needed
[2026-08-29 16:10:59,474.474 INFO    ] Checking for camera pi updates...
[2026-08-29 16:10:59,497.497 INFO    ] 200
[2026-08-29 16:10:59,498.498 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:10:59,526.526 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:10:59,603.603 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:10:59,604.604 INFO    ] No camera update needed
[2026-08-29 16:10:59,605.605 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:10:59,607.607 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:10:59,610.610 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:10:59,613.613 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:11:01,652.652 INFO    ] ================================================
[2026-08-29 16:11:01,667.667 INFO    ] Launching Daemon at Sat Aug 29 16:11:01 IST 2026
[2026-08-29 16:11:01,678.678 INFO    ] ================================================
[2026-08-29 16:11:02,226.226 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:11:02
[2026-08-29 16:11:02,884.884 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:11:03,218.218 INFO    ] Initializing speech engine...
[2026-08-29 16:11:03,238.238 INFO    ] 2026-08-29 16:11:03
[2026-08-29 16:11:03,595.595 INFO    ] 2026-08-29 16:11:03
[2026-08-29 16:11:03,636.636 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:11:03,859.859 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:11:03,868.868 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:11:04,000.000 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:11:04,026.026 INFO    ] time= 29/08/2026 16:11:04
[2026-08-29 16:11:04,096.096 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:11:04,133.133 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:11:04,186.186 INFO    ] No existing commands found in stream
[2026-08-29 16:11:09,198.198 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:11:09,201.201 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-08-29 16:11:12,664.664 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:11:12,665.665 INFO    ] Checking for system updates...
[2026-08-29 16:11:12,686.686 INFO    ] 200
[2026-08-29 16:11:12,687.687 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:11:12,721.721 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:11:12,722.722 INFO    ] No update needed
[2026-08-29 16:11:12,724.724 INFO    ] Checking for camera pi updates...
[2026-08-29 16:11:12,744.744 INFO    ] 200
[2026-08-29 16:11:12,745.745 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:11:12,768.768 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:11:12,845.845 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:11:12,846.846 INFO    ] No camera update needed
[2026-08-29 16:11:12,847.847 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:11:12,849.849 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:11:12,852.852 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:11:12,855.855 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:11:14,897.897 INFO    ] ================================================
[2026-08-29 16:11:14,912.912 INFO    ] Launching Daemon at Sat Aug 29 16:11:14 IST 2026
[2026-08-29 16:11:14,923.923 INFO    ] ================================================
[2026-08-29 16:11:15,247.247 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:11:15
[2026-08-29 16:11:15,687.687 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:11:15,961.961 INFO    ] Initializing speech engine...
[2026-08-29 16:11:15,970.970 INFO    ] 2026-08-29 16:11:15
[2026-08-29 16:11:16,228.228 INFO    ] 2026-08-29 16:11:16
[2026-08-29 16:11:16,262.262 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:11:16,451.451 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:11:16,457.457 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:11:16,582.582 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:11:16,589.589 INFO    ] time= 29/08/2026 16:11:16
[2026-08-29 16:11:16,598.598 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:11:16,613.613 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:11:16,715.715 INFO    ] No existing commands found in stream
[2026-08-29 16:11:21,727.727 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:11:21,730.730 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-08-29 16:11:26,065.065 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:11:26,067.067 INFO    ] Checking for system updates...
[2026-08-29 16:11:26,088.088 INFO    ] 200
[2026-08-29 16:11:26,089.089 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:11:26,121.121 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:11:26,122.122 INFO    ] No update needed
[2026-08-29 16:11:26,123.123 INFO    ] Checking for camera pi updates...
[2026-08-29 16:11:26,143.143 INFO    ] 200
[2026-08-29 16:11:26,145.145 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:11:26,168.168 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:11:26,261.261 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:11:26,263.263 INFO    ] No camera update needed
[2026-08-29 16:11:26,264.264 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:11:26,265.265 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:11:26,268.268 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:11:26,271.271 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:11:28,309.309 INFO    ] ================================================
[2026-08-29 16:11:28,324.324 INFO    ] Launching Daemon at Sat Aug 29 16:11:28 IST 2026
[2026-08-29 16:11:28,335.335 INFO    ] ================================================
[2026-08-29 16:11:28,875.875 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:11:28
[2026-08-29 16:11:29,460.460 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:11:29,733.733 INFO    ] Initializing speech engine...
[2026-08-29 16:11:29,739.739 INFO    ] 2026-08-29 16:11:29
[2026-08-29 16:11:29,984.984 INFO    ] 2026-08-29 16:11:29
[2026-08-29 16:11:30,020.020 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:11:30,191.191 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:11:30,203.203 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:11:30,349.349 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:11:30,357.357 INFO    ] time= 29/08/2026 16:11:30
[2026-08-29 16:11:30,361.361 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:11:30,367.367 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:11:30,434.434 INFO    ] No existing commands found in stream
[2026-08-29 16:11:35,465.465 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:11:35,467.467 INFO    ] Waiting 3.84 seconds before fallback handling...
[2026-08-29 16:11:39,709.709 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:11:39,710.710 INFO    ] Checking for system updates...
[2026-08-29 16:11:39,731.731 INFO    ] 200
[2026-08-29 16:11:39,733.733 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:11:39,764.764 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:11:39,765.765 INFO    ] No update needed
[2026-08-29 16:11:39,767.767 INFO    ] Checking for camera pi updates...
[2026-08-29 16:11:39,785.785 INFO    ] 200
[2026-08-29 16:11:39,787.787 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:11:39,809.809 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:11:40,006.006 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:11:40,008.008 INFO    ] No camera update needed
[2026-08-29 16:11:40,009.009 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:11:40,010.010 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:11:40,013.013 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:11:40,016.016 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:11:42,055.055 INFO    ] ================================================
[2026-08-29 16:11:42,070.070 INFO    ] Launching Daemon at Sat Aug 29 16:11:42 IST 2026
[2026-08-29 16:11:42,080.080 INFO    ] ================================================
[2026-08-29 16:11:42,582.582 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:11:42
[2026-08-29 16:11:43,172.172 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:11:43,425.425 INFO    ] Initializing speech engine...
[2026-08-29 16:11:43,433.433 INFO    ] 2026-08-29 16:11:43
[2026-08-29 16:11:43,727.727 INFO    ] 2026-08-29 16:11:43
[2026-08-29 16:11:43,765.765 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:11:43,957.957 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:11:43,971.971 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:11:44,095.095 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:11:44,110.110 INFO    ] time= 29/08/2026 16:11:44
[2026-08-29 16:11:44,119.119 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:11:44,143.143 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:11:44,224.224 INFO    ] No existing commands found in stream
[2026-08-29 16:11:49,239.239 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:11:49,242.242 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-08-29 16:11:51,938.938 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:11:51,939.939 INFO    ] Checking for system updates...
[2026-08-29 16:11:51,959.959 INFO    ] 200
[2026-08-29 16:11:51,961.961 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:11:51,991.991 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:11:51,993.993 INFO    ] No update needed
[2026-08-29 16:11:51,994.994 INFO    ] Checking for camera pi updates...
[2026-08-29 16:11:52,014.014 INFO    ] 200
[2026-08-29 16:11:52,016.016 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:11:52,040.040 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:11:52,139.139 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:11:52,141.141 INFO    ] No camera update needed
[2026-08-29 16:11:52,142.142 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:11:52,143.143 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:11:52,146.146 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:11:52,149.149 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:11:54,187.187 INFO    ] ================================================
[2026-08-29 16:11:54,202.202 INFO    ] Launching Daemon at Sat Aug 29 16:11:54 IST 2026
[2026-08-29 16:11:54,213.213 INFO    ] ================================================
[2026-08-29 16:11:54,536.536 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:11:54
[2026-08-29 16:11:54,847.847 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:11:55,022.022 INFO    ] Initializing speech engine...
[2026-08-29 16:11:55,035.035 INFO    ] 2026-08-29 16:11:55
[2026-08-29 16:11:55,288.288 INFO    ] 2026-08-29 16:11:55
[2026-08-29 16:11:55,323.323 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:11:55,488.488 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:11:55,490.490 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:11:55,618.618 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:11:55,638.638 INFO    ] time= 29/08/2026 16:11:55
[2026-08-29 16:11:55,658.658 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:11:55,666.666 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:11:55,737.737 INFO    ] No existing commands found in stream
[2026-08-29 16:12:00,773.773 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:12:00,776.776 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-08-29 16:12:02,220.220 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:12:02,223.223 INFO    ] Checking for system updates...
[2026-08-29 16:12:02,267.267 INFO    ] 200
[2026-08-29 16:12:02,270.270 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:12:02,347.347 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:12:02,351.351 INFO    ] No update needed
[2026-08-29 16:12:02,354.354 INFO    ] Checking for camera pi updates...
[2026-08-29 16:12:02,406.406 INFO    ] 200
[2026-08-29 16:12:02,410.410 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:12:02,459.459 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:12:02,577.577 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:12:02,580.580 INFO    ] No camera update needed
[2026-08-29 16:12:02,583.583 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:12:02,586.586 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:12:02,592.592 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:12:02,598.598 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:12:04,639.639 INFO    ] ================================================
[2026-08-29 16:12:04,656.656 INFO    ] Launching Daemon at Sat Aug 29 16:12:04 IST 2026
[2026-08-29 16:12:04,667.667 INFO    ] ================================================
[2026-08-29 16:12:05,145.145 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:12:05
[2026-08-29 16:12:05,459.459 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:12:05,597.597 INFO    ] Initializing speech engine...
[2026-08-29 16:12:05,608.608 INFO    ] 2026-08-29 16:12:05
[2026-08-29 16:12:05,811.811 INFO    ] 2026-08-29 16:12:05
[2026-08-29 16:12:05,839.839 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:12:05,966.966 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:12:06,014.014 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:12:06,159.159 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:12:06,216.216 INFO    ] time= 29/08/2026 16:12:06
[2026-08-29 16:12:06,255.255 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:12:06,261.261 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:12:06,311.311 INFO    ] No existing commands found in stream
[2026-08-29 16:12:11,321.321 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:12:11,324.324 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-08-29 16:12:12,231.231 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:12:12,234.234 INFO    ] Checking for system updates...
[2026-08-29 16:12:12,269.269 INFO    ] 200
[2026-08-29 16:12:12,272.272 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:12:12,327.327 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:12:12,330.330 INFO    ] No update needed
[2026-08-29 16:12:12,332.332 INFO    ] Checking for camera pi updates...
[2026-08-29 16:12:12,370.370 INFO    ] 200
[2026-08-29 16:12:12,372.372 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:12:12,418.418 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:12:12,502.502 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:12:12,505.505 INFO    ] No camera update needed
[2026-08-29 16:12:12,507.507 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:12:12,509.509 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:12:12,515.515 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:12:12,520.520 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:12:14,563.563 INFO    ] ================================================
[2026-08-29 16:12:14,579.579 INFO    ] Launching Daemon at Sat Aug 29 16:12:14 IST 2026
[2026-08-29 16:12:14,590.590 INFO    ] ================================================
[2026-08-29 16:12:15,110.110 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:12:15
[2026-08-29 16:12:15,712.712 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:12:15,974.974 INFO    ] Initializing speech engine...
[2026-08-29 16:12:15,981.981 INFO    ] 2026-08-29 16:12:15
[2026-08-29 16:12:16,278.278 INFO    ] 2026-08-29 16:12:16
[2026-08-29 16:12:16,317.317 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:12:16,509.509 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:12:16,520.520 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:12:16,629.629 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:12:16,635.635 INFO    ] time= 29/08/2026 16:12:16
[2026-08-29 16:12:16,657.657 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:12:16,664.664 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:12:16,716.716 INFO    ] No existing commands found in stream
[2026-08-29 16:12:21,728.728 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:12:21,731.731 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-08-29 16:12:25,238.238 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:12:25,240.240 INFO    ] Checking for system updates...
[2026-08-29 16:12:25,261.261 INFO    ] 200
[2026-08-29 16:12:25,263.263 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:12:25,292.292 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:12:25,294.294 INFO    ] No update needed
[2026-08-29 16:12:25,295.295 INFO    ] Checking for camera pi updates...
[2026-08-29 16:12:25,316.316 INFO    ] 200
[2026-08-29 16:12:25,317.317 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:12:25,344.344 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:12:25,444.444 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:12:25,446.446 INFO    ] No camera update needed
[2026-08-29 16:12:25,447.447 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:12:25,448.448 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:12:25,451.451 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:12:25,454.454 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:12:27,493.493 INFO    ] ================================================
[2026-08-29 16:12:27,508.508 INFO    ] Launching Daemon at Sat Aug 29 16:12:27 IST 2026
[2026-08-29 16:12:27,520.520 INFO    ] ================================================
[2026-08-29 16:12:27,868.868 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:12:27
[2026-08-29 16:12:28,179.179 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:12:28,327.327 INFO    ] Initializing speech engine...
[2026-08-29 16:12:28,331.331 INFO    ] 2026-08-29 16:12:28
[2026-08-29 16:12:28,546.546 INFO    ] 2026-08-29 16:12:28
[2026-08-29 16:12:28,577.577 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:12:28,709.709 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:12:28,772.772 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:12:28,879.879 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:12:28,924.924 INFO    ] time= 29/08/2026 16:12:28
[2026-08-29 16:12:28,939.939 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:12:28,998.998 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:12:29,105.105 INFO    ] No existing commands found in stream
[2026-08-29 16:12:34,116.116 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:12:34,118.118 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-08-29 16:12:36,671.671 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:12:36,673.673 INFO    ] Checking for system updates...
[2026-08-29 16:12:36,694.694 INFO    ] 200
[2026-08-29 16:12:36,695.695 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:12:36,725.725 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:12:36,727.727 INFO    ] No update needed
[2026-08-29 16:12:36,728.728 INFO    ] Checking for camera pi updates...
[2026-08-29 16:12:36,747.747 INFO    ] 200
[2026-08-29 16:12:36,749.749 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:12:36,772.772 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:12:36,865.865 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:12:36,866.866 INFO    ] No camera update needed
[2026-08-29 16:12:36,868.868 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:12:36,869.869 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:12:36,872.872 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:12:36,875.875 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:12:38,915.915 INFO    ] ================================================
[2026-08-29 16:12:38,931.931 INFO    ] Launching Daemon at Sat Aug 29 16:12:38 IST 2026
[2026-08-29 16:12:38,942.942 INFO    ] ================================================
[2026-08-29 16:12:39,289.289 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:12:39
[2026-08-29 16:12:39,628.628 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:12:39,780.780 INFO    ] Initializing speech engine...
[2026-08-29 16:12:39,787.787 INFO    ] 2026-08-29 16:12:39
[2026-08-29 16:12:39,998.998 INFO    ] 2026-08-29 16:12:39
[2026-08-29 16:12:40,027.027 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:12:40,156.156 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:12:40,215.215 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:12:40,359.359 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:12:40,392.392 INFO    ] time= 29/08/2026 16:12:40
[2026-08-29 16:12:40,441.441 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:12:40,480.480 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:12:40,589.589 INFO    ] No existing commands found in stream
[2026-08-29 16:12:45,621.621 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:12:45,624.624 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-08-29 16:12:49,409.409 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:12:49,410.410 INFO    ] Checking for system updates...
[2026-08-29 16:12:49,431.431 INFO    ] 200
[2026-08-29 16:12:49,432.432 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:12:49,461.461 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:12:49,463.463 INFO    ] No update needed
[2026-08-29 16:12:49,464.464 INFO    ] Checking for camera pi updates...
[2026-08-29 16:12:49,487.487 INFO    ] 200
[2026-08-29 16:12:49,488.488 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:12:49,519.519 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:12:49,597.597 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:12:49,600.600 INFO    ] No camera update needed
[2026-08-29 16:12:49,602.602 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:12:49,605.605 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:12:49,616.616 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:12:49,622.622 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:12:51,662.662 INFO    ] ================================================
[2026-08-29 16:12:51,678.678 INFO    ] Launching Daemon at Sat Aug 29 16:12:51 IST 2026
[2026-08-29 16:12:51,689.689 INFO    ] ================================================
[2026-08-29 16:12:52,288.288 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:12:52
[2026-08-29 16:12:52,770.770 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:12:52,902.902 INFO    ] Initializing speech engine...
[2026-08-29 16:12:52,910.910 INFO    ] 2026-08-29 16:12:52
[2026-08-29 16:12:53,124.124 INFO    ] 2026-08-29 16:12:53
[2026-08-29 16:12:53,198.198 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:12:53,361.361 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:12:53,370.370 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:12:53,503.503 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:12:53,524.524 INFO    ] time= 29/08/2026 16:12:53
[2026-08-29 16:12:53,579.579 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:12:53,636.636 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:12:53,694.694 INFO    ] No existing commands found in stream
[2026-08-29 16:12:58,706.706 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:12:58,708.708 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-08-29 16:13:01,962.962 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:13:01,965.965 INFO    ] Checking for system updates...
[2026-08-29 16:13:02,006.006 INFO    ] 200
[2026-08-29 16:13:02,008.008 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:13:02,071.071 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:13:02,074.074 INFO    ] No update needed
[2026-08-29 16:13:02,078.078 INFO    ] Checking for camera pi updates...
[2026-08-29 16:13:02,122.122 INFO    ] 200
[2026-08-29 16:13:02,125.125 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:13:02,183.183 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:13:02,297.297 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:13:02,300.300 INFO    ] No camera update needed
[2026-08-29 16:13:02,303.303 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:13:02,306.306 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:13:02,312.312 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:13:02,319.319 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:13:04,361.361 INFO    ] ================================================
[2026-08-29 16:13:04,376.376 INFO    ] Launching Daemon at Sat Aug 29 16:13:04 IST 2026
[2026-08-29 16:13:04,387.387 INFO    ] ================================================
[2026-08-29 16:13:04,856.856 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:13:04
[2026-08-29 16:13:05,193.193 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:13:05,346.346 INFO    ] Initializing speech engine...
[2026-08-29 16:13:05,351.351 INFO    ] 2026-08-29 16:13:05
[2026-08-29 16:13:05,560.560 INFO    ] 2026-08-29 16:13:05
[2026-08-29 16:13:05,590.590 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:13:05,714.714 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:13:05,772.772 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:13:05,918.918 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:13:05,986.986 INFO    ] time= 29/08/2026 16:13:05
[2026-08-29 16:13:06,009.009 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:13:06,016.016 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:13:06,084.084 INFO    ] No existing commands found in stream
[2026-08-29 16:13:11,095.095 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:13:11,098.098 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 16:13:14,869.869 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:13:14,871.871 INFO    ] Checking for system updates...
[2026-08-29 16:13:14,892.892 INFO    ] 200
[2026-08-29 16:13:14,893.893 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:13:14,923.923 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:13:14,925.925 INFO    ] No update needed
[2026-08-29 16:13:14,926.926 INFO    ] Checking for camera pi updates...
[2026-08-29 16:13:14,945.945 INFO    ] 200
[2026-08-29 16:13:14,947.947 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:13:14,972.972 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:13:15,061.061 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:13:15,062.062 INFO    ] No camera update needed
[2026-08-29 16:13:15,064.064 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:13:15,065.065 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:13:15,068.068 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:13:15,071.071 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:13:17,113.113 INFO    ] ================================================
[2026-08-29 16:13:17,129.129 INFO    ] Launching Daemon at Sat Aug 29 16:13:17 IST 2026
[2026-08-29 16:13:17,140.140 INFO    ] ================================================
[2026-08-29 16:13:17,522.522 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:13:17
[2026-08-29 16:13:17,859.859 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:13:18,013.013 INFO    ] Initializing speech engine...
[2026-08-29 16:13:18,017.017 INFO    ] 2026-08-29 16:13:18
[2026-08-29 16:13:18,225.225 INFO    ] 2026-08-29 16:13:18
[2026-08-29 16:13:18,255.255 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:13:18,378.378 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:13:18,441.441 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:13:18,588.588 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:13:18,650.650 INFO    ] time= 29/08/2026 16:13:18
[2026-08-29 16:13:18,675.675 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:13:18,682.682 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:13:18,748.748 INFO    ] No existing commands found in stream
[2026-08-29 16:13:23,759.759 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:13:23,762.762 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-08-29 16:13:27,036.036 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:13:27,038.038 INFO    ] Checking for system updates...
[2026-08-29 16:13:27,058.058 INFO    ] 200
[2026-08-29 16:13:27,060.060 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:13:27,093.093 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:13:27,094.094 INFO    ] No update needed
[2026-08-29 16:13:27,095.095 INFO    ] Checking for camera pi updates...
[2026-08-29 16:13:27,119.119 INFO    ] 200
[2026-08-29 16:13:27,120.120 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:13:27,148.148 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:13:27,223.223 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:13:27,224.224 INFO    ] No camera update needed
[2026-08-29 16:13:27,226.226 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:13:27,227.227 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:13:27,230.230 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:13:27,233.233 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:13:29,274.274 INFO    ] ================================================
[2026-08-29 16:13:29,290.290 INFO    ] Launching Daemon at Sat Aug 29 16:13:29 IST 2026
[2026-08-29 16:13:29,302.302 INFO    ] ================================================
[2026-08-29 16:13:29,869.869 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:13:29
[2026-08-29 16:13:30,546.546 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:13:30,854.854 INFO    ] Initializing speech engine...
[2026-08-29 16:13:30,866.866 INFO    ] 2026-08-29 16:13:30
[2026-08-29 16:13:31,178.178 INFO    ] 2026-08-29 16:13:31
[2026-08-29 16:13:31,267.267 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:13:31,417.417 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:13:31,427.427 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:13:31,566.566 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:13:31,609.609 INFO    ] time= 29/08/2026 16:13:31
[2026-08-29 16:13:31,670.670 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:13:31,714.714 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:13:31,775.775 INFO    ] No existing commands found in stream
[2026-08-29 16:13:36,790.790 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:13:36,793.793 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-08-29 16:13:43,428.428 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:13:43,429.429 INFO    ] Checking for system updates...
[2026-08-29 16:13:43,451.451 INFO    ] 200
[2026-08-29 16:13:43,452.452 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:13:43,482.482 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:13:43,483.483 INFO    ] No update needed
[2026-08-29 16:13:43,484.484 INFO    ] Checking for camera pi updates...
[2026-08-29 16:13:43,504.504 INFO    ] 200
[2026-08-29 16:13:43,505.505 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:13:43,529.529 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:13:43,727.727 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:13:43,729.729 INFO    ] No camera update needed
[2026-08-29 16:13:43,732.732 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:13:43,734.734 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:13:43,744.744 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:13:43,749.749 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:13:45,790.790 INFO    ] ================================================
[2026-08-29 16:13:45,806.806 INFO    ] Launching Daemon at Sat Aug 29 16:13:45 IST 2026
[2026-08-29 16:13:45,817.817 INFO    ] ================================================
[2026-08-29 16:13:46,398.398 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:13:46
[2026-08-29 16:13:46,905.905 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:13:47,098.098 INFO    ] Initializing speech engine...
[2026-08-29 16:13:47,107.107 INFO    ] 2026-08-29 16:13:47
[2026-08-29 16:13:47,356.356 INFO    ] 2026-08-29 16:13:47
[2026-08-29 16:13:47,391.391 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:13:47,562.562 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:13:47,576.576 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:13:47,686.686 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:13:47,705.705 INFO    ] time= 29/08/2026 16:13:47
[2026-08-29 16:13:47,727.727 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:13:47,732.732 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:13:47,802.802 INFO    ] No existing commands found in stream
[2026-08-29 16:13:52,817.817 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:13:52,820.820 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-08-29 16:13:55,985.985 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:13:55,986.986 INFO    ] Checking for system updates...
[2026-08-29 16:13:56,007.007 INFO    ] 200
[2026-08-29 16:13:56,008.008 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:13:56,040.040 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:13:56,041.041 INFO    ] No update needed
[2026-08-29 16:13:56,043.043 INFO    ] Checking for camera pi updates...
[2026-08-29 16:13:56,062.062 INFO    ] 200
[2026-08-29 16:13:56,063.063 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:13:56,094.094 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:13:56,200.200 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:13:56,203.203 INFO    ] No camera update needed
[2026-08-29 16:13:56,205.205 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:13:56,208.208 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:13:56,213.213 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:13:56,218.218 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:13:58,259.259 INFO    ] ================================================
[2026-08-29 16:13:58,275.275 INFO    ] Launching Daemon at Sat Aug 29 16:13:58 IST 2026
[2026-08-29 16:13:58,286.286 INFO    ] ================================================
[2026-08-29 16:13:58,854.854 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:13:58
[2026-08-29 16:13:59,356.356 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:13:59,618.618 INFO    ] Initializing speech engine...
[2026-08-29 16:13:59,624.624 INFO    ] 2026-08-29 16:13:59
[2026-08-29 16:13:59,925.925 INFO    ] 2026-08-29 16:13:59
[2026-08-29 16:13:59,964.964 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:14:00,113.113 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:14:00,121.121 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:14:00,279.279 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:14:00,289.289 INFO    ] time= 29/08/2026 16:14:00
[2026-08-29 16:14:00,295.295 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:14:00,318.318 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:14:00,372.372 INFO    ] No existing commands found in stream
[2026-08-29 16:14:05,384.384 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:14:05,387.387 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-08-29 16:14:08,192.192 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:14:08,193.193 INFO    ] Checking for system updates...
[2026-08-29 16:14:08,215.215 INFO    ] 200
[2026-08-29 16:14:08,217.217 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:14:08,249.249 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:14:08,250.250 INFO    ] No update needed
[2026-08-29 16:14:08,251.251 INFO    ] Checking for camera pi updates...
[2026-08-29 16:14:08,272.272 INFO    ] 200
[2026-08-29 16:14:08,273.273 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:14:08,296.296 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:14:08,385.385 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:14:08,386.386 INFO    ] No camera update needed
[2026-08-29 16:14:08,388.388 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:14:08,389.389 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:14:08,392.392 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:14:08,394.394 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:14:10,433.433 INFO    ] ================================================
[2026-08-29 16:14:10,449.449 INFO    ] Launching Daemon at Sat Aug 29 16:14:10 IST 2026
[2026-08-29 16:14:10,460.460 INFO    ] ================================================
[2026-08-29 16:14:10,828.828 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:14:10
[2026-08-29 16:14:11,145.145 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:14:11,284.284 INFO    ] Initializing speech engine...
[2026-08-29 16:14:11,294.294 INFO    ] 2026-08-29 16:14:11
[2026-08-29 16:14:11,500.500 INFO    ] 2026-08-29 16:14:11
[2026-08-29 16:14:11,530.530 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:14:11,687.687 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:14:11,716.716 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:14:11,876.876 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:14:11,916.916 INFO    ] time= 29/08/2026 16:14:11
[2026-08-29 16:14:11,970.970 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:14:12,029.029 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:14:12,086.086 INFO    ] No existing commands found in stream
[2026-08-29 16:14:17,096.096 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:14:17,098.098 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-08-29 16:14:18,700.700 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:14:18,702.702 INFO    ] Checking for system updates...
[2026-08-29 16:14:18,737.737 INFO    ] 200
[2026-08-29 16:14:18,740.740 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:14:18,792.792 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:14:18,794.794 INFO    ] No update needed
[2026-08-29 16:14:18,796.796 INFO    ] Checking for camera pi updates...
[2026-08-29 16:14:18,834.834 INFO    ] 200
[2026-08-29 16:14:18,836.836 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:14:18,877.877 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:14:18,956.956 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:14:18,958.958 INFO    ] No camera update needed
[2026-08-29 16:14:18,961.961 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:14:18,963.963 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:14:18,968.968 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:14:18,973.973 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:14:21,015.015 INFO    ] ================================================
[2026-08-29 16:14:21,035.035 INFO    ] Launching Daemon at Sat Aug 29 16:14:21 IST 2026
[2026-08-29 16:14:21,045.045 INFO    ] ================================================
[2026-08-29 16:14:21,408.408 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:14:21
[2026-08-29 16:14:21,749.749 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:14:21,905.905 INFO    ] Initializing speech engine...
[2026-08-29 16:14:21,916.916 INFO    ] 2026-08-29 16:14:21
[2026-08-29 16:14:22,192.192 INFO    ] 2026-08-29 16:14:22
[2026-08-29 16:14:22,249.249 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:14:22,478.478 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:14:22,483.483 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:14:22,618.618 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:14:22,679.679 INFO    ] time= 29/08/2026 16:14:22
[2026-08-29 16:14:22,729.729 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:14:22,754.754 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:14:22,806.806 INFO    ] No existing commands found in stream
[2026-08-29 16:14:27,820.820 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:14:27,823.823 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-08-29 16:14:28,842.842 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:14:28,844.844 INFO    ] Checking for system updates...
[2026-08-29 16:14:28,865.865 INFO    ] 200
[2026-08-29 16:14:28,866.866 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:14:28,896.896 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:14:28,898.898 INFO    ] No update needed
[2026-08-29 16:14:28,899.899 INFO    ] Checking for camera pi updates...
[2026-08-29 16:14:28,918.918 INFO    ] 200
[2026-08-29 16:14:28,920.920 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:14:28,944.944 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:14:29,030.030 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:14:29,031.031 INFO    ] No camera update needed
[2026-08-29 16:14:29,033.033 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:14:29,034.034 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:14:29,037.037 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:14:29,040.040 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:14:31,080.080 INFO    ] ================================================
[2026-08-29 16:14:31,095.095 INFO    ] Launching Daemon at Sat Aug 29 16:14:31 IST 2026
[2026-08-29 16:14:31,107.107 INFO    ] ================================================
[2026-08-29 16:14:31,541.541 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:14:31
[2026-08-29 16:14:32,157.157 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:14:32,443.443 INFO    ] Initializing speech engine...
[2026-08-29 16:14:32,453.453 INFO    ] 2026-08-29 16:14:32
[2026-08-29 16:14:32,724.724 INFO    ] 2026-08-29 16:14:32
[2026-08-29 16:14:32,762.762 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:14:32,956.956 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:14:32,972.972 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:14:33,103.103 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:14:33,112.112 INFO    ] time= 29/08/2026 16:14:33
[2026-08-29 16:14:33,116.116 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:14:33,122.122 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:14:33,190.190 INFO    ] No existing commands found in stream
[2026-08-29 16:14:38,220.220 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:14:38,223.223 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-08-29 16:14:38,631.631 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:14:38,632.632 INFO    ] Checking for system updates...
[2026-08-29 16:14:38,653.653 INFO    ] 200
[2026-08-29 16:14:38,654.654 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:14:38,688.688 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:14:38,689.689 INFO    ] No update needed
[2026-08-29 16:14:38,690.690 INFO    ] Checking for camera pi updates...
[2026-08-29 16:14:38,711.711 INFO    ] 200
[2026-08-29 16:14:38,713.713 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:14:38,737.737 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:14:38,807.807 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:14:38,808.808 INFO    ] No camera update needed
[2026-08-29 16:14:38,809.809 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:14:38,811.811 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:14:38,814.814 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:14:38,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:14:40,858.858 INFO    ] ================================================
[2026-08-29 16:14:40,874.874 INFO    ] Launching Daemon at Sat Aug 29 16:14:40 IST 2026
[2026-08-29 16:14:40,885.885 INFO    ] ================================================
[2026-08-29 16:14:41,213.213 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:14:41
[2026-08-29 16:14:41,755.755 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:14:42,007.007 INFO    ] Initializing speech engine...
[2026-08-29 16:14:42,026.026 INFO    ] 2026-08-29 16:14:42
[2026-08-29 16:14:42,287.287 INFO    ] 2026-08-29 16:14:42
[2026-08-29 16:14:42,323.323 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:14:42,498.498 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:14:42,510.510 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:14:42,620.620 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:14:42,627.627 INFO    ] time= 29/08/2026 16:14:42
[2026-08-29 16:14:42,645.645 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:14:42,664.664 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:14:42,741.741 INFO    ] No existing commands found in stream
[2026-08-29 16:14:47,762.762 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:14:47,765.765 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 16:14:48,276.276 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:14:48,277.277 INFO    ] Checking for system updates...
[2026-08-29 16:14:48,299.299 INFO    ] 200
[2026-08-29 16:14:48,301.301 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:14:48,333.333 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:14:48,335.335 INFO    ] No update needed
[2026-08-29 16:14:48,336.336 INFO    ] Checking for camera pi updates...
[2026-08-29 16:14:48,356.356 INFO    ] 200
[2026-08-29 16:14:48,358.358 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:14:48,382.382 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:14:48,481.481 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:14:48,483.483 INFO    ] No camera update needed
[2026-08-29 16:14:48,484.484 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:14:48,485.485 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:14:48,488.488 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:14:48,491.491 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:14:50,529.529 INFO    ] ================================================
[2026-08-29 16:14:50,545.545 INFO    ] Launching Daemon at Sat Aug 29 16:14:50 IST 2026
[2026-08-29 16:14:50,556.556 INFO    ] ================================================
[2026-08-29 16:14:51,102.102 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:14:51
[2026-08-29 16:14:51,687.687 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:14:51,960.960 INFO    ] Initializing speech engine...
[2026-08-29 16:14:51,969.969 INFO    ] 2026-08-29 16:14:51
[2026-08-29 16:14:52,220.220 INFO    ] 2026-08-29 16:14:52
[2026-08-29 16:14:52,255.255 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:14:52,431.431 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:14:52,444.444 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:14:52,591.591 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:14:52,599.599 INFO    ] time= 29/08/2026 16:14:52
[2026-08-29 16:14:52,603.603 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:14:52,610.610 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:14:52,677.677 INFO    ] No existing commands found in stream
[2026-08-29 16:14:57,707.707 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:14:57,710.710 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-08-29 16:15:02,136.136 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:15:02,139.139 INFO    ] Checking for system updates...
[2026-08-29 16:15:02,187.187 INFO    ] 200
[2026-08-29 16:15:02,190.190 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:15:02,255.255 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:15:02,258.258 INFO    ] No update needed
[2026-08-29 16:15:02,262.262 INFO    ] Checking for camera pi updates...
[2026-08-29 16:15:02,304.304 INFO    ] 200
[2026-08-29 16:15:02,307.307 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:15:02,364.364 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:15:02,636.636 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:15:02,638.638 INFO    ] No camera update needed
[2026-08-29 16:15:02,641.641 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:15:02,644.644 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:15:02,651.651 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:15:02,657.657 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:15:04,700.700 INFO    ] ================================================
[2026-08-29 16:15:04,715.715 INFO    ] Launching Daemon at Sat Aug 29 16:15:04 IST 2026
[2026-08-29 16:15:04,726.726 INFO    ] ================================================
[2026-08-29 16:15:05,122.122 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:15:05
[2026-08-29 16:15:05,457.457 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:15:05,609.609 INFO    ] Initializing speech engine...
[2026-08-29 16:15:05,615.615 INFO    ] 2026-08-29 16:15:05
[2026-08-29 16:15:05,822.822 INFO    ] 2026-08-29 16:15:05
[2026-08-29 16:15:05,850.850 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:15:05,973.973 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:15:06,036.036 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:15:06,168.168 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:15:06,218.218 INFO    ] time= 29/08/2026 16:15:06
[2026-08-29 16:15:06,263.263 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:15:06,273.273 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:15:06,340.340 INFO    ] No existing commands found in stream
[2026-08-29 16:15:11,351.351 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:15:11,354.354 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-08-29 16:15:15,352.352 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:15:15,354.354 INFO    ] Checking for system updates...
[2026-08-29 16:15:15,376.376 INFO    ] 200
[2026-08-29 16:15:15,377.377 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:15:15,412.412 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:15:15,414.414 INFO    ] No update needed
[2026-08-29 16:15:15,415.415 INFO    ] Checking for camera pi updates...
[2026-08-29 16:15:15,438.438 INFO    ] 200
[2026-08-29 16:15:15,440.440 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:15:15,466.466 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:15:15,547.547 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:15:15,549.549 INFO    ] No camera update needed
[2026-08-29 16:15:15,550.550 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:15:15,552.552 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:15:15,555.555 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:15:15,558.558 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:15:17,597.597 INFO    ] ================================================
[2026-08-29 16:15:17,613.613 INFO    ] Launching Daemon at Sat Aug 29 16:15:17 IST 2026
[2026-08-29 16:15:17,624.624 INFO    ] ================================================
[2026-08-29 16:15:17,965.965 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:15:17
[2026-08-29 16:15:18,282.282 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:15:18,421.421 INFO    ] Initializing speech engine...
[2026-08-29 16:15:18,431.431 INFO    ] 2026-08-29 16:15:18
[2026-08-29 16:15:18,634.634 INFO    ] 2026-08-29 16:15:18
[2026-08-29 16:15:18,671.671 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:15:18,844.844 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:15:18,857.857 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:15:18,998.998 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:15:19,007.007 INFO    ] time= 29/08/2026 16:15:19
[2026-08-29 16:15:19,013.013 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:15:19,059.059 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:15:19,181.181 INFO    ] No existing commands found in stream
[2026-08-29 16:15:24,212.212 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:15:24,215.215 INFO    ] Waiting 2.66 seconds before fallback handling...
[2026-08-29 16:15:27,214.214 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:15:27,216.216 INFO    ] Checking for system updates...
[2026-08-29 16:15:27,238.238 INFO    ] 200
[2026-08-29 16:15:27,239.239 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:15:27,270.270 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:15:27,272.272 INFO    ] No update needed
[2026-08-29 16:15:27,273.273 INFO    ] Checking for camera pi updates...
[2026-08-29 16:15:27,292.292 INFO    ] 200
[2026-08-29 16:15:27,294.294 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:15:27,317.317 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:15:27,419.419 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:15:27,421.421 INFO    ] No camera update needed
[2026-08-29 16:15:27,422.422 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:15:27,423.423 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:15:27,427.427 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:15:27,429.429 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:15:29,469.469 INFO    ] ================================================
[2026-08-29 16:15:29,485.485 INFO    ] Launching Daemon at Sat Aug 29 16:15:29 IST 2026
[2026-08-29 16:15:29,497.497 INFO    ] ================================================
[2026-08-29 16:15:29,841.841 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:15:29
[2026-08-29 16:15:30,153.153 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:15:30,285.285 INFO    ] Initializing speech engine...
[2026-08-29 16:15:30,292.292 INFO    ] 2026-08-29 16:15:30
[2026-08-29 16:15:30,506.506 INFO    ] 2026-08-29 16:15:30
[2026-08-29 16:15:30,535.535 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:15:30,665.665 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:15:30,724.724 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:15:30,857.857 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:15:30,924.924 INFO    ] time= 29/08/2026 16:15:30
[2026-08-29 16:15:30,958.958 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:15:30,964.964 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:15:31,031.031 INFO    ] No existing commands found in stream
[2026-08-29 16:15:36,042.042 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:15:36,044.044 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-08-29 16:15:36,647.647 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:15:36,648.648 INFO    ] Checking for system updates...
[2026-08-29 16:15:36,670.670 INFO    ] 200
[2026-08-29 16:15:36,671.671 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:15:36,702.702 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:15:36,704.704 INFO    ] No update needed
[2026-08-29 16:15:36,705.705 INFO    ] Checking for camera pi updates...
[2026-08-29 16:15:36,724.724 INFO    ] 200
[2026-08-29 16:15:36,725.725 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:15:36,748.748 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:15:36,825.825 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:15:36,826.826 INFO    ] No camera update needed
[2026-08-29 16:15:36,827.827 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:15:36,828.828 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:15:36,831.831 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:15:36,834.834 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:15:38,865.865 INFO    ] ================================================
[2026-08-29 16:15:38,874.874 INFO    ] Launching Daemon at Sat Aug 29 16:15:38 IST 2026
[2026-08-29 16:15:38,880.880 INFO    ] ================================================
[2026-08-29 16:15:39,400.400 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:15:39
[2026-08-29 16:15:40,010.010 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:15:40,268.268 INFO    ] Initializing speech engine...
[2026-08-29 16:15:40,277.277 INFO    ] 2026-08-29 16:15:40
[2026-08-29 16:15:40,570.570 INFO    ] 2026-08-29 16:15:40
[2026-08-29 16:15:40,606.606 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:15:40,796.796 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:15:40,802.802 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:15:40,911.911 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:15:40,934.934 INFO    ] time= 29/08/2026 16:15:40
[2026-08-29 16:15:40,939.939 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:15:40,946.946 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:15:40,991.991 INFO    ] No existing commands found in stream
[2026-08-29 16:15:46,001.001 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:15:46,004.004 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-08-29 16:15:50,233.233 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:15:50,234.234 INFO    ] Checking for system updates...
[2026-08-29 16:15:50,256.256 INFO    ] 200
[2026-08-29 16:15:50,257.257 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:15:50,289.289 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:15:50,290.290 INFO    ] No update needed
[2026-08-29 16:15:50,291.291 INFO    ] Checking for camera pi updates...
[2026-08-29 16:15:50,312.312 INFO    ] 200
[2026-08-29 16:15:50,313.313 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:15:50,337.337 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:15:50,529.529 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:15:50,532.532 INFO    ] No camera update needed
[2026-08-29 16:15:50,534.534 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:15:50,536.536 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:15:50,542.542 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:15:50,547.547 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:15:52,588.588 INFO    ] ================================================
[2026-08-29 16:15:52,604.604 INFO    ] Launching Daemon at Sat Aug 29 16:15:52 IST 2026
[2026-08-29 16:15:52,615.615 INFO    ] ================================================
[2026-08-29 16:15:54,462.462 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:15:53
[2026-08-29 16:15:54,853.853 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:15:55,115.115 INFO    ] Initializing speech engine...
[2026-08-29 16:15:55,123.123 INFO    ] 2026-08-29 16:15:55
[2026-08-29 16:15:55,396.396 INFO    ] 2026-08-29 16:15:55
[2026-08-29 16:15:55,453.453 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:15:55,609.609 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:15:55,623.623 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:15:55,746.746 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:15:55,767.767 INFO    ] time= 29/08/2026 16:15:55
[2026-08-29 16:15:55,789.789 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:15:55,796.796 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:15:55,872.872 INFO    ] No existing commands found in stream
[2026-08-29 16:16:00,884.884 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:16:00,887.887 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-08-29 16:16:04,196.196 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:16:04,199.199 INFO    ] Checking for system updates...
[2026-08-29 16:16:04,235.235 INFO    ] 200
[2026-08-29 16:16:04,238.238 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:16:04,313.313 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:16:04,315.315 INFO    ] No update needed
[2026-08-29 16:16:04,318.318 INFO    ] Checking for camera pi updates...
[2026-08-29 16:16:04,359.359 INFO    ] 200
[2026-08-29 16:16:04,361.361 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:16:04,409.409 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:16:04,496.496 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:16:04,499.499 INFO    ] No camera update needed
[2026-08-29 16:16:04,502.502 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:16:04,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:16:04,513.513 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:16:04,519.519 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:16:06,561.561 INFO    ] ================================================
[2026-08-29 16:16:06,576.576 INFO    ] Launching Daemon at Sat Aug 29 16:16:06 IST 2026
[2026-08-29 16:16:06,587.587 INFO    ] ================================================
[2026-08-29 16:16:06,954.954 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:16:06
[2026-08-29 16:16:07,265.265 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:16:07,403.403 INFO    ] Initializing speech engine...
[2026-08-29 16:16:07,410.410 INFO    ] 2026-08-29 16:16:07
[2026-08-29 16:16:07,616.616 INFO    ] 2026-08-29 16:16:07
[2026-08-29 16:16:07,644.644 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:16:07,766.766 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:16:07,809.809 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:16:07,968.968 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:16:08,011.011 INFO    ] time= 29/08/2026 16:16:07
[2026-08-29 16:16:08,034.034 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:16:08,102.102 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:16:08,207.207 INFO    ] No existing commands found in stream
[2026-08-29 16:16:13,217.217 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:16:13,219.219 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-08-29 16:16:17,082.082 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:16:17,084.084 INFO    ] Checking for system updates...
[2026-08-29 16:16:17,105.105 INFO    ] 200
[2026-08-29 16:16:17,106.106 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:16:17,140.140 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:16:17,142.142 INFO    ] No update needed
[2026-08-29 16:16:17,143.143 INFO    ] Checking for camera pi updates...
[2026-08-29 16:16:17,163.163 INFO    ] 200
[2026-08-29 16:16:17,165.165 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:16:17,190.190 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:16:17,273.273 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:16:17,275.275 INFO    ] No camera update needed
[2026-08-29 16:16:17,278.278 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:16:17,280.280 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:16:17,286.286 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:16:17,291.291 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:16:19,331.331 INFO    ] ================================================
[2026-08-29 16:16:19,346.346 INFO    ] Launching Daemon at Sat Aug 29 16:16:19 IST 2026
[2026-08-29 16:16:19,357.357 INFO    ] ================================================
[2026-08-29 16:16:19,932.932 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:16:19
[2026-08-29 16:16:20,436.436 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:16:20,581.581 INFO    ] Initializing speech engine...
[2026-08-29 16:16:20,586.586 INFO    ] 2026-08-29 16:16:20
[2026-08-29 16:16:20,791.791 INFO    ] 2026-08-29 16:16:20
[2026-08-29 16:16:20,819.819 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:16:20,942.942 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:16:21,005.005 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:16:21,148.148 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:16:21,210.210 INFO    ] time= 29/08/2026 16:16:21
[2026-08-29 16:16:21,234.234 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:16:21,241.241 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:16:21,306.306 INFO    ] No existing commands found in stream
[2026-08-29 16:16:26,316.316 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:16:26,319.319 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-08-29 16:16:28,799.799 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:16:28,801.801 INFO    ] Checking for system updates...
[2026-08-29 16:16:28,823.823 INFO    ] 200
[2026-08-29 16:16:28,824.824 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:16:28,854.854 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:16:28,855.855 INFO    ] No update needed
[2026-08-29 16:16:28,856.856 INFO    ] Checking for camera pi updates...
[2026-08-29 16:16:28,875.875 INFO    ] 200
[2026-08-29 16:16:28,877.877 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:16:28,900.900 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:16:28,974.974 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:16:28,975.975 INFO    ] No camera update needed
[2026-08-29 16:16:28,976.976 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:16:28,978.978 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:16:28,980.980 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:16:28,983.983 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:16:31,024.024 INFO    ] ================================================
[2026-08-29 16:16:31,039.039 INFO    ] Launching Daemon at Sat Aug 29 16:16:31 IST 2026
[2026-08-29 16:16:31,049.049 INFO    ] ================================================
[2026-08-29 16:16:31,397.397 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:16:31
[2026-08-29 16:16:31,893.893 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:16:32,186.186 INFO    ] Initializing speech engine...
[2026-08-29 16:16:32,206.206 INFO    ] 2026-08-29 16:16:32
[2026-08-29 16:16:32,481.481 INFO    ] 2026-08-29 16:16:32
[2026-08-29 16:16:32,518.518 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:16:32,700.700 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:16:32,714.714 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:16:32,849.849 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:16:32,868.868 INFO    ] time= 29/08/2026 16:16:32
[2026-08-29 16:16:32,891.891 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:16:32,895.895 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:16:32,966.966 INFO    ] No existing commands found in stream
[2026-08-29 16:16:37,981.981 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:16:37,984.984 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-08-29 16:16:42,183.183 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:16:42,185.185 INFO    ] Checking for system updates...
[2026-08-29 16:16:42,207.207 INFO    ] 200
[2026-08-29 16:16:42,208.208 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:16:42,241.241 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:16:42,242.242 INFO    ] No update needed
[2026-08-29 16:16:42,243.243 INFO    ] Checking for camera pi updates...
[2026-08-29 16:16:42,264.264 INFO    ] 200
[2026-08-29 16:16:42,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:16:42,288.288 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:16:42,353.353 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:16:42,354.354 INFO    ] No camera update needed
[2026-08-29 16:16:42,356.356 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:16:42,357.357 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:16:42,360.360 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:16:42,362.362 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:16:44,402.402 INFO    ] ================================================
[2026-08-29 16:16:44,418.418 INFO    ] Launching Daemon at Sat Aug 29 16:16:44 IST 2026
[2026-08-29 16:16:44,429.429 INFO    ] ================================================
[2026-08-29 16:16:44,760.760 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:16:44
[2026-08-29 16:16:45,078.078 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:16:45,221.221 INFO    ] Initializing speech engine...
[2026-08-29 16:16:45,226.226 INFO    ] 2026-08-29 16:16:45
[2026-08-29 16:16:45,421.421 INFO    ] 2026-08-29 16:16:45
[2026-08-29 16:16:45,486.486 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:16:45,649.649 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:16:45,663.663 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:16:45,785.785 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:16:45,791.791 INFO    ] time= 29/08/2026 16:16:45
[2026-08-29 16:16:45,796.796 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:16:45,801.801 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:16:45,921.921 INFO    ] No existing commands found in stream
[2026-08-29 16:16:50,932.932 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:16:50,935.935 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 16:16:54,454.454 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:16:54,455.455 INFO    ] Checking for system updates...
[2026-08-29 16:16:54,476.476 INFO    ] 200
[2026-08-29 16:16:54,478.478 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:16:54,510.510 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:16:54,512.512 INFO    ] No update needed
[2026-08-29 16:16:54,514.514 INFO    ] Checking for camera pi updates...
[2026-08-29 16:16:54,534.534 INFO    ] 200
[2026-08-29 16:16:54,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:16:54,559.559 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:16:54,614.614 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:16:54,617.617 INFO    ] No camera update needed
[2026-08-29 16:16:54,620.620 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:16:54,622.622 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:16:54,628.628 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:16:54,634.634 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:16:56,676.676 INFO    ] ================================================
[2026-08-29 16:16:56,692.692 INFO    ] Launching Daemon at Sat Aug 29 16:16:56 IST 2026
[2026-08-29 16:16:56,703.703 INFO    ] ================================================
[2026-08-29 16:16:57,288.288 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:16:57
[2026-08-29 16:16:57,816.816 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:16:57,951.951 INFO    ] Initializing speech engine...
[2026-08-29 16:16:57,964.964 INFO    ] 2026-08-29 16:16:57
[2026-08-29 16:16:58,206.206 INFO    ] 2026-08-29 16:16:58
[2026-08-29 16:16:58,261.261 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:16:58,424.424 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:16:58,432.432 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:16:58,607.607 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:16:58,630.630 INFO    ] time= 29/08/2026 16:16:58
[2026-08-29 16:16:58,648.648 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:16:58,657.657 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:16:58,766.766 INFO    ] No existing commands found in stream
[2026-08-29 16:17:03,795.795 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:17:03,798.798 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-08-29 16:17:06,226.226 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:17:06,228.228 INFO    ] Checking for system updates...
[2026-08-29 16:17:06,264.264 INFO    ] 200
[2026-08-29 16:17:06,266.266 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:17:06,318.318 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:17:06,321.321 INFO    ] No update needed
[2026-08-29 16:17:06,323.323 INFO    ] Checking for camera pi updates...
[2026-08-29 16:17:06,361.361 INFO    ] 200
[2026-08-29 16:17:06,363.363 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:17:06,409.409 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:17:06,503.503 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:17:06,505.505 INFO    ] No camera update needed
[2026-08-29 16:17:06,507.507 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:17:06,509.509 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:17:06,515.515 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:17:06,520.520 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:17:08,562.562 INFO    ] ================================================
[2026-08-29 16:17:08,577.577 INFO    ] Launching Daemon at Sat Aug 29 16:17:08 IST 2026
[2026-08-29 16:17:08,589.589 INFO    ] ================================================
[2026-08-29 16:17:09,161.161 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:17:09
[2026-08-29 16:17:09,513.513 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:17:09,645.645 INFO    ] Initializing speech engine...
[2026-08-29 16:17:09,649.649 INFO    ] 2026-08-29 16:17:09
[2026-08-29 16:17:09,845.845 INFO    ] 2026-08-29 16:17:09
[2026-08-29 16:17:09,881.881 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:17:10,055.055 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:17:10,067.067 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:17:10,207.207 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:17:10,216.216 INFO    ] time= 29/08/2026 16:17:10
[2026-08-29 16:17:10,224.224 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:17:10,264.264 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:17:10,385.385 INFO    ] No existing commands found in stream
[2026-08-29 16:17:15,415.415 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:17:15,418.418 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-08-29 16:17:19,213.213 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:17:19,215.215 INFO    ] Checking for system updates...
[2026-08-29 16:17:19,235.235 INFO    ] 200
[2026-08-29 16:17:19,236.236 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:17:19,269.269 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:17:19,270.270 INFO    ] No update needed
[2026-08-29 16:17:19,272.272 INFO    ] Checking for camera pi updates...
[2026-08-29 16:17:19,292.292 INFO    ] 200
[2026-08-29 16:17:19,294.294 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:17:19,318.318 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:17:19,410.410 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:17:19,412.412 INFO    ] No camera update needed
[2026-08-29 16:17:19,413.413 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:17:19,414.414 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:17:19,417.417 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:17:19,420.420 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:17:21,458.458 INFO    ] ================================================
[2026-08-29 16:17:21,476.476 INFO    ] Launching Daemon at Sat Aug 29 16:17:21 IST 2026
[2026-08-29 16:17:21,487.487 INFO    ] ================================================
[2026-08-29 16:17:21,837.837 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:17:21
[2026-08-29 16:17:22,154.154 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:17:22,299.299 INFO    ] Initializing speech engine...
[2026-08-29 16:17:22,305.305 INFO    ] 2026-08-29 16:17:22
[2026-08-29 16:17:22,532.532 INFO    ] 2026-08-29 16:17:22
[2026-08-29 16:17:22,586.586 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:17:22,728.728 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:17:22,740.740 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:17:22,881.881 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:17:22,889.889 INFO    ] time= 29/08/2026 16:17:22
[2026-08-29 16:17:22,895.895 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:17:22,926.926 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:17:23,059.059 INFO    ] No existing commands found in stream
[2026-08-29 16:17:28,089.089 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:17:28,092.092 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-08-29 16:17:29,013.013 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:17:29,014.014 INFO    ] Checking for system updates...
[2026-08-29 16:17:29,034.034 INFO    ] 200
[2026-08-29 16:17:29,036.036 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:17:29,066.066 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:17:29,067.067 INFO    ] No update needed
[2026-08-29 16:17:29,068.068 INFO    ] Checking for camera pi updates...
[2026-08-29 16:17:29,087.087 INFO    ] 200
[2026-08-29 16:17:29,089.089 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:17:29,114.114 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:17:29,194.194 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:17:29,195.195 INFO    ] No camera update needed
[2026-08-29 16:17:29,196.196 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:17:29,197.197 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:17:29,200.200 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:17:29,203.203 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:17:31,244.244 INFO    ] ================================================
[2026-08-29 16:17:31,260.260 INFO    ] Launching Daemon at Sat Aug 29 16:17:31 IST 2026
[2026-08-29 16:17:31,271.271 INFO    ] ================================================
[2026-08-29 16:17:31,823.823 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:17:31
[2026-08-29 16:17:32,555.555 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:17:32,893.893 INFO    ] Initializing speech engine...
[2026-08-29 16:17:32,904.904 INFO    ] 2026-08-29 16:17:32
[2026-08-29 16:17:33,182.182 INFO    ] 2026-08-29 16:17:33
[2026-08-29 16:17:33,218.218 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:17:33,387.387 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:17:33,411.411 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:17:33,541.541 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:17:33,550.550 INFO    ] time= 29/08/2026 16:17:33
[2026-08-29 16:17:33,556.556 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:17:33,586.586 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:17:33,705.705 INFO    ] No existing commands found in stream
[2026-08-29 16:17:38,736.736 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:17:38,739.739 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-08-29 16:17:40,786.786 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:17:40,787.787 INFO    ] Checking for system updates...
[2026-08-29 16:17:40,808.808 INFO    ] 200
[2026-08-29 16:17:40,810.810 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:17:40,842.842 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:17:40,844.844 INFO    ] No update needed
[2026-08-29 16:17:40,845.845 INFO    ] Checking for camera pi updates...
[2026-08-29 16:17:40,864.864 INFO    ] 200
[2026-08-29 16:17:40,865.865 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:17:40,890.890 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:17:40,967.967 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:17:40,968.968 INFO    ] No camera update needed
[2026-08-29 16:17:40,969.969 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:17:40,970.970 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:17:40,973.973 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:17:40,976.976 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:17:43,015.015 INFO    ] ================================================
[2026-08-29 16:17:43,031.031 INFO    ] Launching Daemon at Sat Aug 29 16:17:43 IST 2026
[2026-08-29 16:17:43,043.043 INFO    ] ================================================
[2026-08-29 16:17:43,402.402 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:17:43
[2026-08-29 16:17:43,716.716 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:17:43,849.849 INFO    ] Initializing speech engine...
[2026-08-29 16:17:43,852.852 INFO    ] 2026-08-29 16:17:43
[2026-08-29 16:17:44,045.045 INFO    ] 2026-08-29 16:17:44
[2026-08-29 16:17:44,093.093 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:17:44,249.249 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:17:44,293.293 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:17:44,460.460 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:17:44,490.490 INFO    ] time= 29/08/2026 16:17:44
[2026-08-29 16:17:44,506.506 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:17:44,562.562 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:17:44,634.634 INFO    ] No existing commands found in stream
[2026-08-29 16:17:49,661.661 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:17:49,664.664 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 16:17:50,629.629 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:17:50,631.631 INFO    ] Checking for system updates...
[2026-08-29 16:17:50,658.658 INFO    ] 200
[2026-08-29 16:17:50,659.659 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:17:50,691.691 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:17:50,693.693 INFO    ] No update needed
[2026-08-29 16:17:50,694.694 INFO    ] Checking for camera pi updates...
[2026-08-29 16:17:50,713.713 INFO    ] 200
[2026-08-29 16:17:50,715.715 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:17:50,739.739 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:17:50,812.812 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:17:50,814.814 INFO    ] No camera update needed
[2026-08-29 16:17:50,815.815 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:17:50,816.816 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:17:50,819.819 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:17:50,822.822 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:17:52,860.860 INFO    ] ================================================
[2026-08-29 16:17:52,876.876 INFO    ] Launching Daemon at Sat Aug 29 16:17:52 IST 2026
[2026-08-29 16:17:52,887.887 INFO    ] ================================================
[2026-08-29 16:17:53,252.252 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:17:53
[2026-08-29 16:17:53,567.567 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:17:53,798.798 INFO    ] Initializing speech engine...
[2026-08-29 16:17:53,807.807 INFO    ] 2026-08-29 16:17:53
[2026-08-29 16:17:54,062.062 INFO    ] 2026-08-29 16:17:54
[2026-08-29 16:17:54,098.098 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:17:54,274.274 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:17:54,287.287 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:17:54,431.431 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:17:54,440.440 INFO    ] time= 29/08/2026 16:17:54
[2026-08-29 16:17:54,444.444 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:17:54,450.450 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:17:54,518.518 INFO    ] No existing commands found in stream
[2026-08-29 16:17:59,548.548 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:17:59,551.551 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-08-29 16:18:00,818.818 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:18:00,821.821 INFO    ] Checking for system updates...
[2026-08-29 16:18:00,857.857 INFO    ] 200
[2026-08-29 16:18:00,859.859 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:18:00,917.917 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:18:00,919.919 INFO    ] No update needed
[2026-08-29 16:18:00,922.922 INFO    ] Checking for camera pi updates...
[2026-08-29 16:18:00,955.955 INFO    ] 200
[2026-08-29 16:18:00,958.958 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:18:00,998.998 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:18:01,238.238 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:18:01,247.247 INFO    ] No camera update needed
[2026-08-29 16:18:01,263.263 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:18:01,270.270 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:18:01,279.279 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:18:01,291.291 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:18:03,339.339 INFO    ] ================================================
[2026-08-29 16:18:03,355.355 INFO    ] Launching Daemon at Sat Aug 29 16:18:03 IST 2026
[2026-08-29 16:18:03,367.367 INFO    ] ================================================
[2026-08-29 16:18:03,878.878 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:18:03
[2026-08-29 16:18:04,193.193 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:18:04,336.336 INFO    ] Initializing speech engine...
[2026-08-29 16:18:04,341.341 INFO    ] 2026-08-29 16:18:04
[2026-08-29 16:18:04,582.582 INFO    ] 2026-08-29 16:18:04
[2026-08-29 16:18:04,637.637 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:18:04,799.799 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:18:04,807.807 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:18:04,963.963 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:18:05,005.005 INFO    ] time= 29/08/2026 16:18:04
[2026-08-29 16:18:05,012.012 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:18:05,029.029 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:18:05,145.145 INFO    ] No existing commands found in stream
[2026-08-29 16:18:10,169.169 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:18:10,172.172 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-08-29 16:18:11,316.316 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:18:11,318.318 INFO    ] Checking for system updates...
[2026-08-29 16:18:11,339.339 INFO    ] 200
[2026-08-29 16:18:11,341.341 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:18:11,370.370 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:18:11,372.372 INFO    ] No update needed
[2026-08-29 16:18:11,373.373 INFO    ] Checking for camera pi updates...
[2026-08-29 16:18:11,394.394 INFO    ] 200
[2026-08-29 16:18:11,395.395 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:18:11,419.419 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:18:11,497.497 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:18:11,499.499 INFO    ] No camera update needed
[2026-08-29 16:18:11,500.500 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:18:11,501.501 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:18:11,504.504 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:18:11,507.507 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:18:13,547.547 INFO    ] ================================================
[2026-08-29 16:18:13,562.562 INFO    ] Launching Daemon at Sat Aug 29 16:18:13 IST 2026
[2026-08-29 16:18:13,574.574 INFO    ] ================================================
[2026-08-29 16:18:14,167.167 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:18:14
[2026-08-29 16:18:14,754.754 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:18:15,026.026 INFO    ] Initializing speech engine...
[2026-08-29 16:18:15,035.035 INFO    ] 2026-08-29 16:18:15
[2026-08-29 16:18:15,288.288 INFO    ] 2026-08-29 16:18:15
[2026-08-29 16:18:15,321.321 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:18:15,499.499 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:18:15,511.511 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:18:15,624.624 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:18:15,629.629 INFO    ] time= 29/08/2026 16:18:15
[2026-08-29 16:18:15,648.648 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:18:15,670.670 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:18:15,789.789 INFO    ] No existing commands found in stream
[2026-08-29 16:18:20,825.825 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:18:20,827.827 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-08-29 16:18:24,437.437 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:18:24,439.439 INFO    ] Checking for system updates...
[2026-08-29 16:18:24,480.480 INFO    ] 200
[2026-08-29 16:18:24,483.483 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:18:24,542.542 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:18:24,545.545 INFO    ] No update needed
[2026-08-29 16:18:24,548.548 INFO    ] Checking for camera pi updates...
[2026-08-29 16:18:24,601.601 INFO    ] 200
[2026-08-29 16:18:24,604.604 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:18:24,676.676 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:18:24,765.765 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:18:24,768.768 INFO    ] No camera update needed
[2026-08-29 16:18:24,770.770 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:18:24,772.772 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:18:24,778.778 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:18:24,783.783 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:18:26,828.828 INFO    ] ================================================
[2026-08-29 16:18:26,844.844 INFO    ] Launching Daemon at Sat Aug 29 16:18:26 IST 2026
[2026-08-29 16:18:26,855.855 INFO    ] ================================================
[2026-08-29 16:18:27,418.418 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:18:27
[2026-08-29 16:18:27,733.733 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:18:27,878.878 INFO    ] Initializing speech engine...
[2026-08-29 16:18:27,883.883 INFO    ] 2026-08-29 16:18:27
[2026-08-29 16:18:28,080.080 INFO    ] 2026-08-29 16:18:28
[2026-08-29 16:18:28,158.158 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:18:28,305.305 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:18:28,314.314 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:18:28,449.449 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:18:28,524.524 INFO    ] time= 29/08/2026 16:18:28
[2026-08-29 16:18:28,575.575 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:18:28,582.582 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:18:28,707.707 INFO    ] No existing commands found in stream
[2026-08-29 16:18:33,735.735 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:18:33,737.737 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-08-29 16:18:36,617.617 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:18:36,619.619 INFO    ] Checking for system updates...
[2026-08-29 16:18:36,639.639 INFO    ] 200
[2026-08-29 16:18:36,640.640 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:18:36,673.673 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:18:36,674.674 INFO    ] No update needed
[2026-08-29 16:18:36,676.676 INFO    ] Checking for camera pi updates...
[2026-08-29 16:18:36,695.695 INFO    ] 200
[2026-08-29 16:18:36,696.696 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:18:36,722.722 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:18:36,786.786 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:18:36,788.788 INFO    ] No camera update needed
[2026-08-29 16:18:36,790.790 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:18:36,792.792 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:18:36,797.797 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:18:36,803.803 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:18:38,843.843 INFO    ] ================================================
[2026-08-29 16:18:38,859.859 INFO    ] Launching Daemon at Sat Aug 29 16:18:38 IST 2026
[2026-08-29 16:18:38,870.870 INFO    ] ================================================
[2026-08-29 16:18:39,485.485 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:18:39
[2026-08-29 16:18:40,000.000 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:18:40,156.156 INFO    ] Initializing speech engine...
[2026-08-29 16:18:40,161.161 INFO    ] 2026-08-29 16:18:40
[2026-08-29 16:18:40,384.384 INFO    ] 2026-08-29 16:18:40
[2026-08-29 16:18:40,453.453 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:18:40,683.683 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:18:40,693.693 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:18:40,830.830 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:18:40,887.887 INFO    ] time= 29/08/2026 16:18:40
[2026-08-29 16:18:40,952.952 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:18:40,974.974 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:18:41,048.048 INFO    ] No existing commands found in stream
[2026-08-29 16:18:46,081.081 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:18:46,085.085 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-08-29 16:18:48,429.429 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:18:48,430.430 INFO    ] Checking for system updates...
[2026-08-29 16:18:48,451.451 INFO    ] 200
[2026-08-29 16:18:48,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:18:48,485.485 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:18:48,487.487 INFO    ] No update needed
[2026-08-29 16:18:48,488.488 INFO    ] Checking for camera pi updates...
[2026-08-29 16:18:48,510.510 INFO    ] 200
[2026-08-29 16:18:48,512.512 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:18:48,537.537 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:18:48,617.617 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:18:48,619.619 INFO    ] No camera update needed
[2026-08-29 16:18:48,620.620 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:18:48,622.622 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:18:48,625.625 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:18:48,628.628 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:18:50,669.669 INFO    ] ================================================
[2026-08-29 16:18:50,686.686 INFO    ] Launching Daemon at Sat Aug 29 16:18:50 IST 2026
[2026-08-29 16:18:50,698.698 INFO    ] ================================================
[2026-08-29 16:18:51,035.035 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:18:51
[2026-08-29 16:18:51,352.352 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:18:51,494.494 INFO    ] Initializing speech engine...
[2026-08-29 16:18:51,499.499 INFO    ] 2026-08-29 16:18:51
[2026-08-29 16:18:51,703.703 INFO    ] 2026-08-29 16:18:51
[2026-08-29 16:18:51,746.746 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:18:51,908.908 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:18:51,916.916 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:18:52,069.069 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:18:52,115.115 INFO    ] time= 29/08/2026 16:18:52
[2026-08-29 16:18:52,121.121 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:18:52,139.139 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:18:52,249.249 INFO    ] No existing commands found in stream
[2026-08-29 16:18:57,277.277 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:18:57,279.279 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-08-29 16:19:00,861.861 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:19:00,863.863 INFO    ] Checking for system updates...
[2026-08-29 16:19:00,883.883 INFO    ] 200
[2026-08-29 16:19:00,884.884 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:19:00,915.915 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:19:00,916.916 INFO    ] No update needed
[2026-08-29 16:19:00,918.918 INFO    ] Checking for camera pi updates...
[2026-08-29 16:19:00,946.946 INFO    ] 200
[2026-08-29 16:19:00,948.948 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:19:00,971.971 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:19:01,050.050 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:19:01,053.053 INFO    ] No camera update needed
[2026-08-29 16:19:01,058.058 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:19:01,063.063 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:19:01,072.072 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:19:01,081.081 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:19:03,129.129 INFO    ] ================================================
[2026-08-29 16:19:03,145.145 INFO    ] Launching Daemon at Sat Aug 29 16:19:03 IST 2026
[2026-08-29 16:19:03,156.156 INFO    ] ================================================
[2026-08-29 16:19:03,728.728 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:19:03
[2026-08-29 16:19:04,316.316 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:19:04,453.453 INFO    ] Initializing speech engine...
[2026-08-29 16:19:04,456.456 INFO    ] 2026-08-29 16:19:04
[2026-08-29 16:19:04,707.707 INFO    ] 2026-08-29 16:19:04
[2026-08-29 16:19:04,772.772 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:19:04,924.924 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:19:04,948.948 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:19:05,114.114 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:19:05,154.154 INFO    ] time= 29/08/2026 16:19:05
[2026-08-29 16:19:05,161.161 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:19:05,180.180 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:19:05,293.293 INFO    ] No existing commands found in stream
[2026-08-29 16:19:10,321.321 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:19:10,323.323 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-08-29 16:19:12,157.157 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:19:12,159.159 INFO    ] Checking for system updates...
[2026-08-29 16:19:12,180.180 INFO    ] 200
[2026-08-29 16:19:12,181.181 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:19:12,213.213 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:19:12,214.214 INFO    ] No update needed
[2026-08-29 16:19:12,216.216 INFO    ] Checking for camera pi updates...
[2026-08-29 16:19:12,236.236 INFO    ] 200
[2026-08-29 16:19:12,237.237 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:19:12,261.261 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:19:12,365.365 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:19:12,366.366 INFO    ] No camera update needed
[2026-08-29 16:19:12,367.367 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:19:12,368.368 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:19:12,371.371 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:19:12,374.374 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:19:14,415.415 INFO    ] ================================================
[2026-08-29 16:19:14,432.432 INFO    ] Launching Daemon at Sat Aug 29 16:19:14 IST 2026
[2026-08-29 16:19:14,444.444 INFO    ] ================================================
[2026-08-29 16:19:14,816.816 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:19:14
[2026-08-29 16:19:15,150.150 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:19:15,294.294 INFO    ] Initializing speech engine...
[2026-08-29 16:19:15,304.304 INFO    ] 2026-08-29 16:19:15
[2026-08-29 16:19:15,511.511 INFO    ] 2026-08-29 16:19:15
[2026-08-29 16:19:15,559.559 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:19:15,721.721 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:19:15,729.729 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:19:15,877.877 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:19:15,930.930 INFO    ] time= 29/08/2026 16:19:15
[2026-08-29 16:19:15,937.937 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:19:15,959.959 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:19:16,077.077 INFO    ] No existing commands found in stream
[2026-08-29 16:19:21,105.105 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:19:21,108.108 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-08-29 16:19:23,355.355 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:19:23,356.356 INFO    ] Checking for system updates...
[2026-08-29 16:19:23,377.377 INFO    ] 200
[2026-08-29 16:19:23,378.378 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:19:23,408.408 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:19:23,409.409 INFO    ] No update needed
[2026-08-29 16:19:23,411.411 INFO    ] Checking for camera pi updates...
[2026-08-29 16:19:23,431.431 INFO    ] 200
[2026-08-29 16:19:23,432.432 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:19:23,456.456 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:19:23,553.553 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:19:23,554.554 INFO    ] No camera update needed
[2026-08-29 16:19:23,556.556 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:19:23,557.557 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:19:23,560.560 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:19:23,563.563 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:19:25,604.604 INFO    ] ================================================
[2026-08-29 16:19:25,620.620 INFO    ] Launching Daemon at Sat Aug 29 16:19:25 IST 2026
[2026-08-29 16:19:25,631.631 INFO    ] ================================================
[2026-08-29 16:19:25,967.967 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:19:25
[2026-08-29 16:19:26,301.301 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:19:26,454.454 INFO    ] Initializing speech engine...
[2026-08-29 16:19:26,459.459 INFO    ] 2026-08-29 16:19:26
[2026-08-29 16:19:26,665.665 INFO    ] 2026-08-29 16:19:26
[2026-08-29 16:19:26,694.694 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:19:26,837.837 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:19:26,846.846 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:19:27,021.021 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:19:27,048.048 INFO    ] time= 29/08/2026 16:19:27
[2026-08-29 16:19:27,069.069 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:19:27,097.097 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:19:27,203.203 INFO    ] No existing commands found in stream
[2026-08-29 16:19:32,219.219 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:19:32,222.222 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-08-29 16:19:33,897.897 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:19:33,898.898 INFO    ] Checking for system updates...
[2026-08-29 16:19:33,919.919 INFO    ] 200
[2026-08-29 16:19:33,921.921 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:19:33,951.951 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:19:33,952.952 INFO    ] No update needed
[2026-08-29 16:19:33,954.954 INFO    ] Checking for camera pi updates...
[2026-08-29 16:19:33,976.976 INFO    ] 200
[2026-08-29 16:19:33,978.978 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:19:34,001.001 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:19:34,077.077 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:19:34,079.079 INFO    ] No camera update needed
[2026-08-29 16:19:34,080.080 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:19:34,082.082 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:19:34,085.085 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:19:34,088.088 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:19:36,126.126 INFO    ] ================================================
[2026-08-29 16:19:36,143.143 INFO    ] Launching Daemon at Sat Aug 29 16:19:36 IST 2026
[2026-08-29 16:19:36,154.154 INFO    ] ================================================
[2026-08-29 16:19:36,495.495 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:19:36
[2026-08-29 16:19:36,810.810 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:19:36,943.943 INFO    ] Initializing speech engine...
[2026-08-29 16:19:36,958.958 INFO    ] 2026-08-29 16:19:36
[2026-08-29 16:19:37,165.165 INFO    ] 2026-08-29 16:19:37
[2026-08-29 16:19:37,194.194 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:19:37,331.331 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:19:37,350.350 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:19:37,454.454 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:19:37,457.457 INFO    ] time= 29/08/2026 16:19:37
[2026-08-29 16:19:37,506.506 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:19:37,565.565 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:19:37,631.631 INFO    ] No existing commands found in stream
[2026-08-29 16:19:42,643.643 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:19:42,646.646 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-08-29 16:19:46,118.118 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:19:46,119.119 INFO    ] Checking for system updates...
[2026-08-29 16:19:46,141.141 INFO    ] 200
[2026-08-29 16:19:46,142.142 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:19:46,174.174 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:19:46,175.175 INFO    ] No update needed
[2026-08-29 16:19:46,177.177 INFO    ] Checking for camera pi updates...
[2026-08-29 16:19:46,197.197 INFO    ] 200
[2026-08-29 16:19:46,198.198 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:19:46,221.221 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:19:46,308.308 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:19:46,309.309 INFO    ] No camera update needed
[2026-08-29 16:19:46,310.310 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:19:46,312.312 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:19:46,315.315 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:19:46,318.318 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:19:48,356.356 INFO    ] ================================================
[2026-08-29 16:19:48,371.371 INFO    ] Launching Daemon at Sat Aug 29 16:19:48 IST 2026
[2026-08-29 16:19:48,383.383 INFO    ] ================================================
[2026-08-29 16:19:48,953.953 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:19:48
[2026-08-29 16:19:49,554.554 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:19:49,837.837 INFO    ] Initializing speech engine...
[2026-08-29 16:19:49,850.850 INFO    ] 2026-08-29 16:19:49
[2026-08-29 16:19:50,117.117 INFO    ] 2026-08-29 16:19:50
[2026-08-29 16:19:50,155.155 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:19:50,350.350 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:19:50,357.357 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:19:50,486.486 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:19:50,492.492 INFO    ] time= 29/08/2026 16:19:50
[2026-08-29 16:19:50,500.500 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:19:50,519.519 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:19:50,619.619 INFO    ] No existing commands found in stream
[2026-08-29 16:19:55,632.632 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:19:55,635.635 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-08-29 16:19:59,328.328 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:19:59,331.331 INFO    ] Checking for system updates...
[2026-08-29 16:19:59,366.366 INFO    ] 200
[2026-08-29 16:19:59,369.369 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:19:59,427.427 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:19:59,430.430 INFO    ] No update needed
[2026-08-29 16:19:59,432.432 INFO    ] Checking for camera pi updates...
[2026-08-29 16:19:59,467.467 INFO    ] 200
[2026-08-29 16:19:59,469.469 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:19:59,509.509 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:19:59,587.587 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:19:59,590.590 INFO    ] No camera update needed
[2026-08-29 16:19:59,592.592 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:19:59,595.595 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:19:59,600.600 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:19:59,605.605 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:20:01,678.678 INFO    ] ================================================
[2026-08-29 16:20:01,746.746 INFO    ] Launching Daemon at Sat Aug 29 16:20:01 IST 2026
[2026-08-29 16:20:01,775.775 INFO    ] ================================================
[2026-08-29 16:20:02,515.515 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:20:02
[2026-08-29 16:20:03,217.217 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:20:03,505.505 INFO    ] Initializing speech engine...
[2026-08-29 16:20:03,512.512 INFO    ] 2026-08-29 16:20:03
[2026-08-29 16:20:03,774.774 INFO    ] 2026-08-29 16:20:03
[2026-08-29 16:20:03,812.812 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:20:04,000.000 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:20:04,010.010 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:20:04,120.120 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:20:04,126.126 INFO    ] time= 29/08/2026 16:20:04
[2026-08-29 16:20:04,140.140 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:20:04,156.156 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:20:04,205.205 INFO    ] No existing commands found in stream
[2026-08-29 16:20:09,215.215 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:20:09,218.218 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 16:20:13,000.000 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:20:13,002.002 INFO    ] Checking for system updates...
[2026-08-29 16:20:13,023.023 INFO    ] 200
[2026-08-29 16:20:13,024.024 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:20:13,059.059 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:20:13,060.060 INFO    ] No update needed
[2026-08-29 16:20:13,061.061 INFO    ] Checking for camera pi updates...
[2026-08-29 16:20:13,081.081 INFO    ] 200
[2026-08-29 16:20:13,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:20:13,106.106 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:20:13,203.203 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:20:13,204.204 INFO    ] No camera update needed
[2026-08-29 16:20:13,205.205 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:20:13,207.207 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:20:13,209.209 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:20:13,212.212 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:20:15,251.251 INFO    ] ================================================
[2026-08-29 16:20:15,267.267 INFO    ] Launching Daemon at Sat Aug 29 16:20:15 IST 2026
[2026-08-29 16:20:15,278.278 INFO    ] ================================================
[2026-08-29 16:20:15,645.645 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:20:15
[2026-08-29 16:20:15,964.964 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:20:16,100.100 INFO    ] Initializing speech engine...
[2026-08-29 16:20:16,103.103 INFO    ] 2026-08-29 16:20:16
[2026-08-29 16:20:16,311.311 INFO    ] 2026-08-29 16:20:16
[2026-08-29 16:20:16,360.360 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:20:16,595.595 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:20:16,621.621 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:20:16,773.773 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:20:16,791.791 INFO    ] time= 29/08/2026 16:20:16
[2026-08-29 16:20:16,835.835 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:20:16,874.874 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:20:16,947.947 INFO    ] No existing commands found in stream
[2026-08-29 16:20:21,969.969 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:20:21,971.971 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-08-29 16:20:22,422.422 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:20:22,425.425 INFO    ] Checking for system updates...
[2026-08-29 16:20:22,461.461 INFO    ] 200
[2026-08-29 16:20:22,463.463 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:20:22,517.517 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:20:22,519.519 INFO    ] No update needed
[2026-08-29 16:20:22,522.522 INFO    ] Checking for camera pi updates...
[2026-08-29 16:20:22,556.556 INFO    ] 200
[2026-08-29 16:20:22,558.558 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:20:22,599.599 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:20:22,696.696 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:20:22,698.698 INFO    ] No camera update needed
[2026-08-29 16:20:22,700.700 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:20:22,703.703 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:20:22,708.708 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:20:22,713.713 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:20:24,754.754 INFO    ] ================================================
[2026-08-29 16:20:24,770.770 INFO    ] Launching Daemon at Sat Aug 29 16:20:24 IST 2026
[2026-08-29 16:20:24,782.782 INFO    ] ================================================
[2026-08-29 16:20:25,126.126 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:20:25
[2026-08-29 16:20:25,442.442 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:20:25,586.586 INFO    ] Initializing speech engine...
[2026-08-29 16:20:25,591.591 INFO    ] 2026-08-29 16:20:25
[2026-08-29 16:20:25,794.794 INFO    ] 2026-08-29 16:20:25
[2026-08-29 16:20:25,823.823 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:20:25,964.964 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:20:25,998.998 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:20:26,143.143 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:20:26,150.150 INFO    ] time= 29/08/2026 16:20:26
[2026-08-29 16:20:26,158.158 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:20:26,198.198 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:20:26,328.328 INFO    ] No existing commands found in stream
[2026-08-29 16:20:31,353.353 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:20:31,355.355 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-08-29 16:20:34,656.656 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:20:34,658.658 INFO    ] Checking for system updates...
[2026-08-29 16:20:34,678.678 INFO    ] 200
[2026-08-29 16:20:34,680.680 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:20:34,710.710 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:20:34,711.711 INFO    ] No update needed
[2026-08-29 16:20:34,713.713 INFO    ] Checking for camera pi updates...
[2026-08-29 16:20:34,737.737 INFO    ] 200
[2026-08-29 16:20:34,739.739 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:20:34,762.762 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:20:34,844.844 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:20:34,846.846 INFO    ] No camera update needed
[2026-08-29 16:20:34,847.847 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:20:34,848.848 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:20:34,851.851 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:20:34,854.854 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:20:36,893.893 INFO    ] ================================================
[2026-08-29 16:20:36,910.910 INFO    ] Launching Daemon at Sat Aug 29 16:20:36 IST 2026
[2026-08-29 16:20:36,921.921 INFO    ] ================================================
[2026-08-29 16:20:37,303.303 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:20:37
[2026-08-29 16:20:37,724.724 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:20:38,002.002 INFO    ] Initializing speech engine...
[2026-08-29 16:20:38,010.010 INFO    ] 2026-08-29 16:20:38
[2026-08-29 16:20:38,258.258 INFO    ] 2026-08-29 16:20:38
[2026-08-29 16:20:38,294.294 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:20:38,473.473 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:20:38,485.485 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:20:38,626.626 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:20:38,635.635 INFO    ] time= 29/08/2026 16:20:38
[2026-08-29 16:20:38,639.639 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:20:38,645.645 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:20:38,713.713 INFO    ] No existing commands found in stream
[2026-08-29 16:20:43,724.724 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:20:43,727.727 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-08-29 16:20:47,979.979 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:20:47,980.980 INFO    ] Checking for system updates...
[2026-08-29 16:20:48,001.001 INFO    ] 200
[2026-08-29 16:20:48,002.002 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:20:48,031.031 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:20:48,033.033 INFO    ] No update needed
[2026-08-29 16:20:48,034.034 INFO    ] Checking for camera pi updates...
[2026-08-29 16:20:48,056.056 INFO    ] 200
[2026-08-29 16:20:48,057.057 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:20:48,080.080 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:20:48,183.183 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:20:48,184.184 INFO    ] No camera update needed
[2026-08-29 16:20:48,185.185 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:20:48,187.187 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:20:48,190.190 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:20:48,193.193 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:20:50,232.232 INFO    ] ================================================
[2026-08-29 16:20:50,248.248 INFO    ] Launching Daemon at Sat Aug 29 16:20:50 IST 2026
[2026-08-29 16:20:50,259.259 INFO    ] ================================================
[2026-08-29 16:20:50,621.621 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:20:50
[2026-08-29 16:20:50,935.935 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:20:51,068.068 INFO    ] Initializing speech engine...
[2026-08-29 16:20:51,073.073 INFO    ] 2026-08-29 16:20:51
[2026-08-29 16:20:51,284.284 INFO    ] 2026-08-29 16:20:51
[2026-08-29 16:20:51,370.370 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:20:51,545.545 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:20:51,556.556 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:20:51,709.709 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:20:51,762.762 INFO    ] time= 29/08/2026 16:20:51
[2026-08-29 16:20:51,821.821 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:20:51,861.861 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:20:51,919.919 INFO    ] No existing commands found in stream
[2026-08-29 16:20:56,930.930 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:20:56,933.933 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 16:20:57,468.468 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:20:57,470.470 INFO    ] Checking for system updates...
[2026-08-29 16:20:57,490.490 INFO    ] 200
[2026-08-29 16:20:57,491.491 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:20:57,520.520 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:20:57,522.522 INFO    ] No update needed
[2026-08-29 16:20:57,523.523 INFO    ] Checking for camera pi updates...
[2026-08-29 16:20:57,542.542 INFO    ] 200
[2026-08-29 16:20:57,544.544 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:20:57,566.566 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:20:57,643.643 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:20:57,644.644 INFO    ] No camera update needed
[2026-08-29 16:20:57,645.645 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:20:57,646.646 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:20:57,649.649 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:20:57,652.652 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:20:59,692.692 INFO    ] ================================================
[2026-08-29 16:20:59,708.708 INFO    ] Launching Daemon at Sat Aug 29 16:20:59 IST 2026
[2026-08-29 16:20:59,719.719 INFO    ] ================================================
[2026-08-29 16:21:00,057.057 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:21:00
[2026-08-29 16:21:00,376.376 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:21:00,516.516 INFO    ] Initializing speech engine...
[2026-08-29 16:21:00,526.526 INFO    ] 2026-08-29 16:21:00
[2026-08-29 16:21:00,711.711 INFO    ] 2026-08-29 16:21:00
[2026-08-29 16:21:00,741.741 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:21:00,907.907 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:21:00,930.930 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:21:01,060.060 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:21:01,068.068 INFO    ] time= 29/08/2026 16:21:01
[2026-08-29 16:21:01,075.075 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:21:01,121.121 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:21:01,239.239 INFO    ] No existing commands found in stream
[2026-08-29 16:21:06,265.265 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:21:06,268.268 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-08-29 16:21:08,958.958 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:21:08,960.960 INFO    ] Checking for system updates...
[2026-08-29 16:21:08,980.980 INFO    ] 200
[2026-08-29 16:21:08,982.982 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:21:09,012.012 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:21:09,014.014 INFO    ] No update needed
[2026-08-29 16:21:09,015.015 INFO    ] Checking for camera pi updates...
[2026-08-29 16:21:09,034.034 INFO    ] 200
[2026-08-29 16:21:09,035.035 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:21:09,058.058 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:21:09,134.134 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:21:09,136.136 INFO    ] No camera update needed
[2026-08-29 16:21:09,137.137 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:21:09,138.138 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:21:09,141.141 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:21:09,144.144 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:21:11,182.182 INFO    ] ================================================
[2026-08-29 16:21:11,198.198 INFO    ] Launching Daemon at Sat Aug 29 16:21:11 IST 2026
[2026-08-29 16:21:11,211.211 INFO    ] ================================================
[2026-08-29 16:21:11,583.583 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:21:11
[2026-08-29 16:21:11,915.915 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:21:12,066.066 INFO    ] Initializing speech engine...
[2026-08-29 16:21:12,071.071 INFO    ] 2026-08-29 16:21:12
[2026-08-29 16:21:12,279.279 INFO    ] 2026-08-29 16:21:12
[2026-08-29 16:21:12,307.307 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:21:12,432.432 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:21:12,475.475 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:21:12,641.641 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:21:12,704.704 INFO    ] time= 29/08/2026 16:21:12
[2026-08-29 16:21:12,727.727 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:21:12,735.735 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:21:12,802.802 INFO    ] No existing commands found in stream
[2026-08-29 16:21:17,816.816 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:21:17,819.819 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-08-29 16:21:20,881.881 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:21:20,883.883 INFO    ] Checking for system updates...
[2026-08-29 16:21:20,903.903 INFO    ] 200
[2026-08-29 16:21:20,905.905 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:21:20,937.937 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:21:20,938.938 INFO    ] No update needed
[2026-08-29 16:21:20,940.940 INFO    ] Checking for camera pi updates...
[2026-08-29 16:21:20,959.959 INFO    ] 200
[2026-08-29 16:21:20,960.960 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:21:20,983.983 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:21:21,104.104 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:21:21,105.105 INFO    ] No camera update needed
[2026-08-29 16:21:21,106.106 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:21:21,108.108 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:21:21,110.110 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:21:21,113.113 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:21:23,151.151 INFO    ] ================================================
[2026-08-29 16:21:23,168.168 INFO    ] Launching Daemon at Sat Aug 29 16:21:23 IST 2026
[2026-08-29 16:21:23,179.179 INFO    ] ================================================
[2026-08-29 16:21:23,532.532 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:21:23
[2026-08-29 16:21:23,842.842 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:21:23,984.984 INFO    ] Initializing speech engine...
[2026-08-29 16:21:23,989.989 INFO    ] 2026-08-29 16:21:23
[2026-08-29 16:21:24,192.192 INFO    ] 2026-08-29 16:21:24
[2026-08-29 16:21:24,220.220 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:21:24,352.352 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:21:24,405.405 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:21:24,505.505 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:21:24,506.506 INFO    ] time= 29/08/2026 16:21:24
[2026-08-29 16:21:24,507.507 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:21:24,508.508 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:21:24,571.571 INFO    ] No existing commands found in stream
[2026-08-29 16:21:29,580.580 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:21:29,583.583 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-08-29 16:21:33,354.354 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:21:33,357.357 INFO    ] Checking for system updates...
[2026-08-29 16:21:33,392.392 INFO    ] 200
[2026-08-29 16:21:33,395.395 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:21:33,448.448 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:21:33,450.450 INFO    ] No update needed
[2026-08-29 16:21:33,452.452 INFO    ] Checking for camera pi updates...
[2026-08-29 16:21:33,486.486 INFO    ] 200
[2026-08-29 16:21:33,488.488 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:21:33,528.528 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:21:33,631.631 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:21:33,633.633 INFO    ] No camera update needed
[2026-08-29 16:21:33,635.635 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:21:33,638.638 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:21:33,643.643 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:21:33,648.648 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:21:35,687.687 INFO    ] ================================================
[2026-08-29 16:21:35,702.702 INFO    ] Launching Daemon at Sat Aug 29 16:21:35 IST 2026
[2026-08-29 16:21:35,713.713 INFO    ] ================================================
[2026-08-29 16:21:36,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:21:36
[2026-08-29 16:21:36,399.399 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:21:36,663.663 INFO    ] Initializing speech engine...
[2026-08-29 16:21:36,677.677 INFO    ] 2026-08-29 16:21:36
[2026-08-29 16:21:36,932.932 INFO    ] 2026-08-29 16:21:36
[2026-08-29 16:21:36,998.998 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:21:37,220.220 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:21:37,229.229 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:21:37,365.365 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:21:37,425.425 INFO    ] time= 29/08/2026 16:21:37
[2026-08-29 16:21:37,479.479 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:21:37,498.498 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:21:37,565.565 INFO    ] No existing commands found in stream
[2026-08-29 16:21:42,602.602 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:21:42,605.605 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-08-29 16:21:43,345.345 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:21:43,346.346 INFO    ] Checking for system updates...
[2026-08-29 16:21:43,367.367 INFO    ] 200
[2026-08-29 16:21:43,368.368 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:21:43,400.400 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:21:43,402.402 INFO    ] No update needed
[2026-08-29 16:21:43,403.403 INFO    ] Checking for camera pi updates...
[2026-08-29 16:21:43,422.422 INFO    ] 200
[2026-08-29 16:21:43,424.424 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:21:43,447.447 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:21:43,526.526 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:21:43,527.527 INFO    ] No camera update needed
[2026-08-29 16:21:43,529.529 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:21:43,530.530 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:21:43,533.533 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:21:43,536.536 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:21:45,575.575 INFO    ] ================================================
[2026-08-29 16:21:45,590.590 INFO    ] Launching Daemon at Sat Aug 29 16:21:45 IST 2026
[2026-08-29 16:21:45,601.601 INFO    ] ================================================
[2026-08-29 16:21:45,967.967 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:21:45
[2026-08-29 16:21:46,283.283 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:21:46,420.420 INFO    ] Initializing speech engine...
[2026-08-29 16:21:46,433.433 INFO    ] 2026-08-29 16:21:46
[2026-08-29 16:21:46,651.651 INFO    ] 2026-08-29 16:21:46
[2026-08-29 16:21:46,682.682 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:21:46,811.811 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:21:46,830.830 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:21:46,988.988 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:21:47,022.022 INFO    ] time= 29/08/2026 16:21:46
[2026-08-29 16:21:47,083.083 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:21:47,117.117 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:21:47,201.201 INFO    ] No existing commands found in stream
[2026-08-29 16:21:52,212.212 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:21:52,215.215 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-08-29 16:21:54,323.323 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:21:54,325.325 INFO    ] Checking for system updates...
[2026-08-29 16:21:54,349.349 INFO    ] 200
[2026-08-29 16:21:54,350.350 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:21:54,380.380 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:21:54,382.382 INFO    ] No update needed
[2026-08-29 16:21:54,383.383 INFO    ] Checking for camera pi updates...
[2026-08-29 16:21:54,403.403 INFO    ] 200
[2026-08-29 16:21:54,405.405 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:21:54,428.428 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:21:54,508.508 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:21:54,509.509 INFO    ] No camera update needed
[2026-08-29 16:21:54,510.510 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:21:54,512.512 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:21:54,515.515 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:21:54,518.518 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:21:56,556.556 INFO    ] ================================================
[2026-08-29 16:21:56,571.571 INFO    ] Launching Daemon at Sat Aug 29 16:21:56 IST 2026
[2026-08-29 16:21:56,582.582 INFO    ] ================================================
[2026-08-29 16:21:57,121.121 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:21:57
[2026-08-29 16:21:57,720.720 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:21:57,997.997 INFO    ] Initializing speech engine...
[2026-08-29 16:21:58,004.004 INFO    ] 2026-08-29 16:21:57
[2026-08-29 16:21:58,268.268 INFO    ] 2026-08-29 16:21:58
[2026-08-29 16:21:58,320.320 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:21:58,483.483 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:21:58,511.511 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:21:58,684.684 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:21:58,700.700 INFO    ] time= 29/08/2026 16:21:58
[2026-08-29 16:21:58,775.775 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:21:58,818.818 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:21:58,870.870 INFO    ] No existing commands found in stream
[2026-08-29 16:22:03,882.882 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:22:03,885.885 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-08-29 16:22:06,744.744 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:22:06,747.747 INFO    ] Checking for system updates...
[2026-08-29 16:22:06,792.792 INFO    ] 200
[2026-08-29 16:22:06,795.795 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 16:22:06,798.798 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-08-29 16:22:06,801.801 INFO    ] Checking for camera pi updates...
[2026-08-29 16:22:06,847.847 INFO    ] 200
[2026-08-29 16:22:06,850.850 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 16:22:06,853.853 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-08-29 16:22:06,856.856 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:22:06,859.859 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:22:06,865.865 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:22:06,870.870 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:22:08,912.912 INFO    ] ================================================
[2026-08-29 16:22:08,928.928 INFO    ] Launching Daemon at Sat Aug 29 16:22:08 IST 2026
[2026-08-29 16:22:08,940.940 INFO    ] ================================================
[2026-08-29 16:22:09,373.373 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:22:09
[2026-08-29 16:22:10,028.028 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:22:10,336.336 INFO    ] Initializing speech engine...
[2026-08-29 16:22:10,348.348 INFO    ] 2026-08-29 16:22:10
[2026-08-29 16:22:10,658.658 INFO    ] 2026-08-29 16:22:10
[2026-08-29 16:22:10,743.743 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:22:10,893.893 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:22:10,903.903 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:22:11,040.040 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:22:11,105.105 INFO    ] time= 29/08/2026 16:22:11
[2026-08-29 16:22:11,155.155 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:22:11,175.175 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:22:11,290.290 INFO    ] No existing commands found in stream
[2026-08-29 16:22:16,313.313 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:22:16,316.316 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-08-29 16:22:18,020.020 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:22:18,021.021 INFO    ] Checking for system updates...
[2026-08-29 16:22:18,042.042 INFO    ] 200
[2026-08-29 16:22:18,043.043 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:22:18,073.073 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:22:18,074.074 INFO    ] No update needed
[2026-08-29 16:22:18,076.076 INFO    ] Checking for camera pi updates...
[2026-08-29 16:22:18,095.095 INFO    ] 200
[2026-08-29 16:22:18,097.097 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:22:18,119.119 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:22:18,298.298 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:22:18,299.299 INFO    ] No camera update needed
[2026-08-29 16:22:18,300.300 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:22:18,301.301 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:22:18,305.305 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:22:18,307.307 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:22:20,346.346 INFO    ] ================================================
[2026-08-29 16:22:20,361.361 INFO    ] Launching Daemon at Sat Aug 29 16:22:20 IST 2026
[2026-08-29 16:22:20,372.372 INFO    ] ================================================
[2026-08-29 16:22:20,944.944 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:22:20
[2026-08-29 16:22:21,530.530 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:22:21,811.811 INFO    ] Initializing speech engine...
[2026-08-29 16:22:21,821.821 INFO    ] 2026-08-29 16:22:21
[2026-08-29 16:22:22,096.096 INFO    ] 2026-08-29 16:22:22
[2026-08-29 16:22:22,152.152 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:22:22,390.390 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:22:22,400.400 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:22:22,534.534 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:22:22,581.581 INFO    ] time= 29/08/2026 16:22:22
[2026-08-29 16:22:22,640.640 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:22:22,669.669 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:22:22,726.726 INFO    ] No existing commands found in stream
[2026-08-29 16:22:27,738.738 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:22:27,741.741 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-08-29 16:22:31,930.930 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:22:31,933.933 INFO    ] Checking for system updates...
[2026-08-29 16:22:31,976.976 INFO    ] 200
[2026-08-29 16:22:31,979.979 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:22:32,037.037 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:22:32,040.040 INFO    ] No update needed
[2026-08-29 16:22:32,043.043 INFO    ] Checking for camera pi updates...
[2026-08-29 16:22:32,079.079 INFO    ] 200
[2026-08-29 16:22:32,082.082 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:22:32,125.125 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:22:32,244.244 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:22:32,247.247 INFO    ] No camera update needed
[2026-08-29 16:22:32,249.249 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:22:32,252.252 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:22:32,258.258 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:22:32,264.264 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:22:34,305.305 INFO    ] ================================================
[2026-08-29 16:22:34,320.320 INFO    ] Launching Daemon at Sat Aug 29 16:22:34 IST 2026
[2026-08-29 16:22:34,331.331 INFO    ] ================================================
[2026-08-29 16:22:34,821.821 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:22:34
[2026-08-29 16:22:35,143.143 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:22:35,278.278 INFO    ] Initializing speech engine...
[2026-08-29 16:22:35,291.291 INFO    ] 2026-08-29 16:22:35
[2026-08-29 16:22:35,497.497 INFO    ] 2026-08-29 16:22:35
[2026-08-29 16:22:35,527.527 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:22:35,678.678 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:22:35,711.711 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:22:35,844.844 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:22:35,911.911 INFO    ] time= 29/08/2026 16:22:35
[2026-08-29 16:22:35,938.938 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:22:35,944.944 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:22:36,009.009 INFO    ] No existing commands found in stream
[2026-08-29 16:22:41,018.018 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:22:41,021.021 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-08-29 16:22:42,720.720 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:22:42,722.722 INFO    ] Checking for system updates...
[2026-08-29 16:22:42,743.743 INFO    ] 200
[2026-08-29 16:22:42,744.744 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:22:42,773.773 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:22:42,775.775 INFO    ] No update needed
[2026-08-29 16:22:42,776.776 INFO    ] Checking for camera pi updates...
[2026-08-29 16:22:42,797.797 INFO    ] 200
[2026-08-29 16:22:42,798.798 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:22:42,823.823 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:22:42,906.906 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:22:42,907.907 INFO    ] No camera update needed
[2026-08-29 16:22:42,908.908 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:22:42,909.909 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:22:42,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:22:42,915.915 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:22:44,956.956 INFO    ] ================================================
[2026-08-29 16:22:44,971.971 INFO    ] Launching Daemon at Sat Aug 29 16:22:44 IST 2026
[2026-08-29 16:22:44,983.983 INFO    ] ================================================
[2026-08-29 16:22:45,332.332 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:22:45
[2026-08-29 16:22:45,651.651 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:22:45,795.795 INFO    ] Initializing speech engine...
[2026-08-29 16:22:45,800.800 INFO    ] 2026-08-29 16:22:45
[2026-08-29 16:22:46,007.007 INFO    ] 2026-08-29 16:22:45
[2026-08-29 16:22:46,035.035 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:22:46,218.218 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:22:46,222.222 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:22:46,358.358 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:22:46,425.425 INFO    ] time= 29/08/2026 16:22:46
[2026-08-29 16:22:46,449.449 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:22:46,456.456 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:22:46,521.521 INFO    ] No existing commands found in stream
[2026-08-29 16:22:51,531.531 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:22:51,540.540 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-08-29 16:22:55,788.788 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:22:55,789.789 INFO    ] Checking for system updates...
[2026-08-29 16:22:55,810.810 INFO    ] 200
[2026-08-29 16:22:55,811.811 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:22:55,841.841 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:22:55,843.843 INFO    ] No update needed
[2026-08-29 16:22:55,844.844 INFO    ] Checking for camera pi updates...
[2026-08-29 16:22:55,864.864 INFO    ] 200
[2026-08-29 16:22:55,865.865 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:22:55,888.888 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:22:55,963.963 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:22:55,964.964 INFO    ] No camera update needed
[2026-08-29 16:22:55,965.965 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:22:55,966.966 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:22:55,969.969 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:22:55,972.972 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:22:58,011.011 INFO    ] ================================================
[2026-08-29 16:22:58,027.027 INFO    ] Launching Daemon at Sat Aug 29 16:22:58 IST 2026
[2026-08-29 16:22:58,038.038 INFO    ] ================================================
[2026-08-29 16:22:58,382.382 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:22:58
[2026-08-29 16:22:58,694.694 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:22:58,827.827 INFO    ] Initializing speech engine...
[2026-08-29 16:22:58,832.832 INFO    ] 2026-08-29 16:22:58
[2026-08-29 16:22:59,041.041 INFO    ] 2026-08-29 16:22:59
[2026-08-29 16:22:59,113.113 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:22:59,304.304 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:22:59,314.314 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:22:59,472.472 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:22:59,480.480 INFO    ] time= 29/08/2026 16:22:59
[2026-08-29 16:22:59,534.534 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:22:59,588.588 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:22:59,658.658 INFO    ] No existing commands found in stream
[2026-08-29 16:23:04,668.668 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:23:04,671.671 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-08-29 16:23:06,381.381 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:23:06,383.383 INFO    ] Checking for system updates...
[2026-08-29 16:23:06,404.404 INFO    ] 200
[2026-08-29 16:23:06,406.406 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:23:06,435.435 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:23:06,437.437 INFO    ] No update needed
[2026-08-29 16:23:06,438.438 INFO    ] Checking for camera pi updates...
[2026-08-29 16:23:06,458.458 INFO    ] 200
[2026-08-29 16:23:06,459.459 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:23:06,491.491 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:23:06,579.579 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:23:06,582.582 INFO    ] No camera update needed
[2026-08-29 16:23:06,585.585 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:23:06,587.587 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:23:06,593.593 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:23:06,599.599 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:23:08,645.645 INFO    ] ================================================
[2026-08-29 16:23:08,663.663 INFO    ] Launching Daemon at Sat Aug 29 16:23:08 IST 2026
[2026-08-29 16:23:08,676.676 INFO    ] ================================================
[2026-08-29 16:23:09,343.343 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:23:09
[2026-08-29 16:23:09,786.786 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:23:10,079.079 INFO    ] Initializing speech engine...
[2026-08-29 16:23:10,091.091 INFO    ] 2026-08-29 16:23:10
[2026-08-29 16:23:10,379.379 INFO    ] 2026-08-29 16:23:10
[2026-08-29 16:23:10,425.425 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:23:11,695.695 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:23:11,706.706 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:23:12,057.057 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:23:12,107.107 INFO    ] time= 29/08/2026 16:23:12
[2026-08-29 16:23:12,110.110 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:23:12,134.134 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:23:12,276.276 INFO    ] No existing commands found in stream
[2026-08-29 16:23:17,314.314 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:23:17,316.316 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-08-29 16:23:23,232.232 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:23:23,235.235 INFO    ] Checking for system updates...
[2026-08-29 16:23:23,273.273 INFO    ] 200
[2026-08-29 16:23:23,276.276 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:23:23,336.336 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:23:23,338.338 INFO    ] No update needed
[2026-08-29 16:23:23,341.341 INFO    ] Checking for camera pi updates...
[2026-08-29 16:23:23,380.380 INFO    ] 200
[2026-08-29 16:23:23,383.383 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:23:23,429.429 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:23:23,510.510 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:23:23,512.512 INFO    ] No camera update needed
[2026-08-29 16:23:23,515.515 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:23:23,517.517 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:23:23,523.523 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:23:23,528.528 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:23:25,572.572 INFO    ] ================================================
[2026-08-29 16:23:25,589.589 INFO    ] Launching Daemon at Sat Aug 29 16:23:25 IST 2026
[2026-08-29 16:23:25,600.600 INFO    ] ================================================
[2026-08-29 16:23:25,902.902 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:23:25
[2026-08-29 16:23:26,214.214 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:23:26,357.357 INFO    ] Initializing speech engine...
[2026-08-29 16:23:26,362.362 INFO    ] 2026-08-29 16:23:26
[2026-08-29 16:23:26,566.566 INFO    ] 2026-08-29 16:23:26
[2026-08-29 16:23:26,593.593 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:23:26,716.716 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:23:26,779.779 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:23:26,909.909 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:23:26,972.972 INFO    ] time= 29/08/2026 16:23:26
[2026-08-29 16:23:26,999.999 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:23:27,009.009 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:23:27,081.081 INFO    ] No existing commands found in stream
[2026-08-29 16:23:32,090.090 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:23:32,094.094 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-08-29 16:23:36,146.146 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:23:36,148.148 INFO    ] Checking for system updates...
[2026-08-29 16:23:36,168.168 INFO    ] 200
[2026-08-29 16:23:36,169.169 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:23:36,199.199 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:23:36,201.201 INFO    ] No update needed
[2026-08-29 16:23:36,203.203 INFO    ] Checking for camera pi updates...
[2026-08-29 16:23:36,225.225 INFO    ] 200
[2026-08-29 16:23:36,227.227 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:23:36,270.270 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:23:36,399.399 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:23:36,401.401 INFO    ] No camera update needed
[2026-08-29 16:23:36,404.404 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:23:36,406.406 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:23:36,411.411 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:23:36,416.416 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:23:38,460.460 INFO    ] ================================================
[2026-08-29 16:23:38,476.476 INFO    ] Launching Daemon at Sat Aug 29 16:23:38 IST 2026
[2026-08-29 16:23:38,487.487 INFO    ] ================================================
[2026-08-29 16:23:39,148.148 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:23:39
[2026-08-29 16:23:39,588.588 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:23:39,741.741 INFO    ] Initializing speech engine...
[2026-08-29 16:23:39,745.745 INFO    ] 2026-08-29 16:23:39
[2026-08-29 16:23:39,951.951 INFO    ] 2026-08-29 16:23:39
[2026-08-29 16:23:39,970.970 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:23:40,073.073 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:23:40,105.105 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:23:40,260.260 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:23:40,301.301 INFO    ] time= 29/08/2026 16:23:40
[2026-08-29 16:23:40,346.346 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:23:40,391.391 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:23:40,487.487 INFO    ] No existing commands found in stream
[2026-08-29 16:23:45,501.501 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:23:45,504.504 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-08-29 16:23:47,913.913 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:23:47,915.915 INFO    ] Checking for system updates...
[2026-08-29 16:23:47,935.935 INFO    ] 200
[2026-08-29 16:23:47,936.936 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:23:47,966.966 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:23:47,967.967 INFO    ] No update needed
[2026-08-29 16:23:47,968.968 INFO    ] Checking for camera pi updates...
[2026-08-29 16:23:47,987.987 INFO    ] 200
[2026-08-29 16:23:47,989.989 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:23:48,014.014 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:23:48,092.092 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:23:48,094.094 INFO    ] No camera update needed
[2026-08-29 16:23:48,095.095 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:23:48,096.096 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:23:48,099.099 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:23:48,102.102 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:23:50,140.140 INFO    ] ================================================
[2026-08-29 16:23:50,157.157 INFO    ] Launching Daemon at Sat Aug 29 16:23:50 IST 2026
[2026-08-29 16:23:50,168.168 INFO    ] ================================================
[2026-08-29 16:23:50,508.508 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:23:50
[2026-08-29 16:23:50,819.819 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:23:50,961.961 INFO    ] Initializing speech engine...
[2026-08-29 16:23:50,969.969 INFO    ] 2026-08-29 16:23:50
[2026-08-29 16:23:51,190.190 INFO    ] 2026-08-29 16:23:51
[2026-08-29 16:23:51,222.222 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:23:51,353.353 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:23:51,359.359 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:23:51,483.483 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:23:51,526.526 INFO    ] time= 29/08/2026 16:23:51
[2026-08-29 16:23:51,580.580 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:23:51,635.635 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:23:51,696.696 INFO    ] No existing commands found in stream
[2026-08-29 16:23:56,708.708 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:23:56,710.710 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-08-29 16:23:58,181.181 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:23:58,182.182 INFO    ] Checking for system updates...
[2026-08-29 16:23:58,202.202 INFO    ] 200
[2026-08-29 16:23:58,204.204 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:23:58,233.233 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:23:58,235.235 INFO    ] No update needed
[2026-08-29 16:23:58,236.236 INFO    ] Checking for camera pi updates...
[2026-08-29 16:23:58,256.256 INFO    ] 200
[2026-08-29 16:23:58,258.258 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:23:58,282.282 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:23:58,786.786 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:23:58,789.789 INFO    ] No camera update needed
[2026-08-29 16:23:58,791.791 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:23:58,793.793 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:23:58,798.798 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:23:58,803.803 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:24:00,844.844 INFO    ] ================================================
[2026-08-29 16:24:00,860.860 INFO    ] Launching Daemon at Sat Aug 29 16:24:00 IST 2026
[2026-08-29 16:24:00,871.871 INFO    ] ================================================
[2026-08-29 16:24:01,387.387 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:24:01
[2026-08-29 16:24:02,033.033 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:24:02,541.541 INFO    ] Initializing speech engine...
[2026-08-29 16:24:02,549.549 INFO    ] 2026-08-29 16:24:02
[2026-08-29 16:24:02,917.917 INFO    ] 2026-08-29 16:24:02
[2026-08-29 16:24:02,969.969 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:24:03,117.117 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:24:03,138.138 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:24:03,332.332 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:24:03,389.389 INFO    ] time= 29/08/2026 16:24:03
[2026-08-29 16:24:03,411.411 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:24:03,442.442 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:24:03,551.551 INFO    ] No existing commands found in stream
[2026-08-29 16:24:08,577.577 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:24:08,580.580 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 16:24:10,696.696 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:24:10,697.697 INFO    ] Checking for system updates...
[2026-08-29 16:24:10,719.719 INFO    ] 200
[2026-08-29 16:24:10,720.720 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:24:10,752.752 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:24:10,753.753 INFO    ] No update needed
[2026-08-29 16:24:10,755.755 INFO    ] Checking for camera pi updates...
[2026-08-29 16:24:10,774.774 INFO    ] 200
[2026-08-29 16:24:10,775.775 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:24:10,799.799 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:24:10,876.876 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:24:10,877.877 INFO    ] No camera update needed
[2026-08-29 16:24:10,879.879 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:24:10,880.880 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:24:10,883.883 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:24:10,886.886 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:24:12,925.925 INFO    ] ================================================
[2026-08-29 16:24:12,941.941 INFO    ] Launching Daemon at Sat Aug 29 16:24:12 IST 2026
[2026-08-29 16:24:12,952.952 INFO    ] ================================================
[2026-08-29 16:24:13,278.278 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:24:13
[2026-08-29 16:24:13,590.590 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:24:13,803.803 INFO    ] Initializing speech engine...
[2026-08-29 16:24:13,815.815 INFO    ] 2026-08-29 16:24:13
[2026-08-29 16:24:14,086.086 INFO    ] 2026-08-29 16:24:14
[2026-08-29 16:24:14,121.121 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:24:14,314.314 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:24:14,320.320 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:24:14,448.448 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:24:14,454.454 INFO    ] time= 29/08/2026 16:24:14
[2026-08-29 16:24:14,461.461 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:24:14,481.481 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:24:14,581.581 INFO    ] No existing commands found in stream
[2026-08-29 16:24:19,593.593 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:24:19,596.596 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 16:24:22,166.166 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:24:22,168.168 INFO    ] Checking for system updates...
[2026-08-29 16:24:22,222.222 INFO    ] 200
[2026-08-29 16:24:22,224.224 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:24:22,276.276 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:24:22,278.278 INFO    ] No update needed
[2026-08-29 16:24:22,281.281 INFO    ] Checking for camera pi updates...
[2026-08-29 16:24:22,317.317 INFO    ] 200
[2026-08-29 16:24:22,320.320 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:24:22,364.364 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:24:22,547.547 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:24:22,550.550 INFO    ] No camera update needed
[2026-08-29 16:24:22,552.552 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:24:22,555.555 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:24:22,560.560 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:24:22,565.565 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:24:24,606.606 INFO    ] ================================================
[2026-08-29 16:24:24,621.621 INFO    ] Launching Daemon at Sat Aug 29 16:24:24 IST 2026
[2026-08-29 16:24:24,632.632 INFO    ] ================================================
[2026-08-29 16:24:24,992.992 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:24:24
[2026-08-29 16:24:25,305.305 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:24:25,532.532 INFO    ] Initializing speech engine...
[2026-08-29 16:24:25,554.554 INFO    ] 2026-08-29 16:24:25
[2026-08-29 16:24:25,808.808 INFO    ] 2026-08-29 16:24:25
[2026-08-29 16:24:25,843.843 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:24:26,013.013 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:24:26,026.026 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:24:26,148.148 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:24:26,168.168 INFO    ] time= 29/08/2026 16:24:26
[2026-08-29 16:24:26,190.190 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:24:26,199.199 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:24:26,275.275 INFO    ] No existing commands found in stream
[2026-08-29 16:24:31,287.287 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:24:31,290.290 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-08-29 16:24:32,938.938 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:24:32,940.940 INFO    ] Checking for system updates...
[2026-08-29 16:24:32,976.976 INFO    ] 200
[2026-08-29 16:24:32,978.978 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:24:33,041.041 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:24:33,047.047 INFO    ] No update needed
[2026-08-29 16:24:33,050.050 INFO    ] Checking for camera pi updates...
[2026-08-29 16:24:33,092.092 INFO    ] 200
[2026-08-29 16:24:33,095.095 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:24:33,136.136 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:24:33,252.252 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:24:33,255.255 INFO    ] No camera update needed
[2026-08-29 16:24:33,257.257 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:24:33,259.259 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:24:33,265.265 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:24:33,270.270 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:24:35,312.312 INFO    ] ================================================
[2026-08-29 16:24:35,328.328 INFO    ] Launching Daemon at Sat Aug 29 16:24:35 IST 2026
[2026-08-29 16:24:35,339.339 INFO    ] ================================================
[2026-08-29 16:24:35,688.688 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:24:35
[2026-08-29 16:24:35,999.999 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:24:36,129.129 INFO    ] Initializing speech engine...
[2026-08-29 16:24:36,133.133 INFO    ] 2026-08-29 16:24:36
[2026-08-29 16:24:36,351.351 INFO    ] 2026-08-29 16:24:36
[2026-08-29 16:24:36,381.381 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:24:36,503.503 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:24:36,537.537 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:24:36,668.668 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:24:36,677.677 INFO    ] time= 29/08/2026 16:24:36
[2026-08-29 16:24:36,684.684 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:24:36,744.744 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:24:36,839.839 INFO    ] No existing commands found in stream
[2026-08-29 16:24:41,864.864 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:24:41,867.867 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 16:24:44,363.363 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:24:44,365.365 INFO    ] Checking for system updates...
[2026-08-29 16:24:44,386.386 INFO    ] 200
[2026-08-29 16:24:44,387.387 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:24:44,419.419 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:24:44,420.420 INFO    ] No update needed
[2026-08-29 16:24:44,421.421 INFO    ] Checking for camera pi updates...
[2026-08-29 16:24:44,442.442 INFO    ] 200
[2026-08-29 16:24:44,443.443 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:24:44,466.466 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:24:44,550.550 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:24:44,551.551 INFO    ] No camera update needed
[2026-08-29 16:24:44,552.552 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:24:44,554.554 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:24:44,557.557 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:24:44,559.559 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:24:46,599.599 INFO    ] ================================================
[2026-08-29 16:24:46,614.614 INFO    ] Launching Daemon at Sat Aug 29 16:24:46 IST 2026
[2026-08-29 16:24:46,625.625 INFO    ] ================================================
[2026-08-29 16:24:47,169.169 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:24:47
[2026-08-29 16:24:47,753.753 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:24:48,024.024 INFO    ] Initializing speech engine...
[2026-08-29 16:24:48,033.033 INFO    ] 2026-08-29 16:24:48
[2026-08-29 16:24:48,281.281 INFO    ] 2026-08-29 16:24:48
[2026-08-29 16:24:48,316.316 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:24:48,492.492 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:24:48,504.504 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:24:48,721.721 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:24:48,785.785 INFO    ] time= 29/08/2026 16:24:48
[2026-08-29 16:24:48,845.845 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:24:48,857.857 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:24:48,910.910 INFO    ] No existing commands found in stream
[2026-08-29 16:24:53,921.921 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:24:53,924.924 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-08-29 16:24:55,060.060 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:24:55,062.062 INFO    ] Checking for system updates...
[2026-08-29 16:24:55,082.082 INFO    ] 200
[2026-08-29 16:24:55,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:24:55,113.113 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:24:55,114.114 INFO    ] No update needed
[2026-08-29 16:24:55,115.115 INFO    ] Checking for camera pi updates...
[2026-08-29 16:24:55,136.136 INFO    ] 200
[2026-08-29 16:24:55,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:24:55,161.161 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:24:55,232.232 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:24:55,233.233 INFO    ] No camera update needed
[2026-08-29 16:24:55,234.234 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:24:55,235.235 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:24:55,238.238 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:24:55,241.241 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:24:57,280.280 INFO    ] ================================================
[2026-08-29 16:24:57,295.295 INFO    ] Launching Daemon at Sat Aug 29 16:24:57 IST 2026
[2026-08-29 16:24:57,306.306 INFO    ] ================================================
[2026-08-29 16:24:57,661.661 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:24:57
[2026-08-29 16:24:57,978.978 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:24:58,121.121 INFO    ] Initializing speech engine...
[2026-08-29 16:24:58,132.132 INFO    ] 2026-08-29 16:24:58
[2026-08-29 16:24:58,347.347 INFO    ] 2026-08-29 16:24:58
[2026-08-29 16:24:58,378.378 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:24:58,507.507 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:24:58,511.511 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:24:58,664.664 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:24:58,721.721 INFO    ] time= 29/08/2026 16:24:58
[2026-08-29 16:24:58,772.772 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:24:58,804.804 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:24:58,901.901 INFO    ] No existing commands found in stream
[2026-08-29 16:25:03,911.911 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:25:03,914.914 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-08-29 16:25:05,675.675 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:25:05,677.677 INFO    ] Checking for system updates...
[2026-08-29 16:25:05,697.697 INFO    ] 200
[2026-08-29 16:25:05,699.699 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:25:05,729.729 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:25:05,731.731 INFO    ] No update needed
[2026-08-29 16:25:05,732.732 INFO    ] Checking for camera pi updates...
[2026-08-29 16:25:05,753.753 INFO    ] 200
[2026-08-29 16:25:05,754.754 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:25:05,788.788 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:25:05,878.878 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:25:05,880.880 INFO    ] No camera update needed
[2026-08-29 16:25:05,883.883 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:25:05,885.885 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:25:05,890.890 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:25:05,896.896 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:25:07,937.937 INFO    ] ================================================
[2026-08-29 16:25:07,952.952 INFO    ] Launching Daemon at Sat Aug 29 16:25:07 IST 2026
[2026-08-29 16:25:07,963.963 INFO    ] ================================================
[2026-08-29 16:25:08,534.534 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:25:08
[2026-08-29 16:25:09,037.037 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:25:09,283.283 INFO    ] Initializing speech engine...
[2026-08-29 16:25:09,291.291 INFO    ] 2026-08-29 16:25:09
[2026-08-29 16:25:09,567.567 INFO    ] 2026-08-29 16:25:09
[2026-08-29 16:25:09,602.602 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:25:09,776.776 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:25:09,790.790 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:25:09,937.937 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:25:09,944.944 INFO    ] time= 29/08/2026 16:25:09
[2026-08-29 16:25:09,953.953 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:25:09,992.992 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:25:10,110.110 INFO    ] No existing commands found in stream
[2026-08-29 16:25:15,140.140 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:25:15,143.143 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-08-29 16:25:16,746.746 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:25:16,748.748 INFO    ] Checking for system updates...
[2026-08-29 16:25:16,768.768 INFO    ] 200
[2026-08-29 16:25:16,769.769 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:25:16,801.801 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:25:16,803.803 INFO    ] No update needed
[2026-08-29 16:25:16,804.804 INFO    ] Checking for camera pi updates...
[2026-08-29 16:25:16,823.823 INFO    ] 200
[2026-08-29 16:25:16,825.825 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:25:16,847.847 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:25:16,923.923 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:25:16,924.924 INFO    ] No camera update needed
[2026-08-29 16:25:16,925.925 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:25:16,927.927 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:25:16,929.929 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:25:16,932.932 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:25:18,972.972 INFO    ] ================================================
[2026-08-29 16:25:18,988.988 INFO    ] Launching Daemon at Sat Aug 29 16:25:18 IST 2026
[2026-08-29 16:25:19,999.999 INFO    ] ================================================
[2026-08-29 16:25:19,464.464 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:25:19
[2026-08-29 16:25:20,128.128 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:25:20,422.422 INFO    ] Initializing speech engine...
[2026-08-29 16:25:20,432.432 INFO    ] 2026-08-29 16:25:20
[2026-08-29 16:25:20,706.706 INFO    ] 2026-08-29 16:25:20
[2026-08-29 16:25:20,763.763 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:25:20,990.990 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:25:20,996.996 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:25:21,130.130 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:25:21,151.151 INFO    ] time= 29/08/2026 16:25:21
[2026-08-29 16:25:21,202.202 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:25:21,251.251 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:25:21,317.317 INFO    ] No existing commands found in stream
[2026-08-29 16:25:26,330.330 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:25:26,333.333 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-08-29 16:25:28,936.936 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:25:28,938.938 INFO    ] Checking for system updates...
[2026-08-29 16:25:28,976.976 INFO    ] 200
[2026-08-29 16:25:28,979.979 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:25:29,039.039 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:25:29,042.042 INFO    ] No update needed
[2026-08-29 16:25:29,045.045 INFO    ] Checking for camera pi updates...
[2026-08-29 16:25:29,082.082 INFO    ] 200
[2026-08-29 16:25:29,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:25:29,127.127 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:25:29,207.207 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:25:29,210.210 INFO    ] No camera update needed
[2026-08-29 16:25:29,212.212 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:25:29,215.215 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:25:29,221.221 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:25:29,227.227 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:25:31,267.267 INFO    ] ================================================
[2026-08-29 16:25:31,283.283 INFO    ] Launching Daemon at Sat Aug 29 16:25:31 IST 2026
[2026-08-29 16:25:31,294.294 INFO    ] ================================================
[2026-08-29 16:25:31,865.865 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:25:31
[2026-08-29 16:25:32,406.406 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:25:32,698.698 INFO    ] Initializing speech engine...
[2026-08-29 16:25:32,708.708 INFO    ] 2026-08-29 16:25:32
[2026-08-29 16:25:32,977.977 INFO    ] 2026-08-29 16:25:32
[2026-08-29 16:25:33,038.038 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:25:33,200.200 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:25:33,229.229 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:25:33,358.358 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:25:33,366.366 INFO    ] time= 29/08/2026 16:25:33
[2026-08-29 16:25:33,373.373 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:25:33,424.424 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:25:33,514.514 INFO    ] No existing commands found in stream
[2026-08-29 16:25:38,539.539 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:25:38,541.541 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-08-29 16:25:42,450.450 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:25:42,452.452 INFO    ] Checking for system updates...
[2026-08-29 16:25:42,476.476 INFO    ] 200
[2026-08-29 16:25:42,478.478 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:25:42,507.507 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:25:42,508.508 INFO    ] No update needed
[2026-08-29 16:25:42,510.510 INFO    ] Checking for camera pi updates...
[2026-08-29 16:25:42,538.538 INFO    ] 200
[2026-08-29 16:25:42,539.539 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:25:42,564.564 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:25:42,763.763 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:25:42,764.764 INFO    ] No camera update needed
[2026-08-29 16:25:42,766.766 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:25:42,767.767 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:25:42,770.770 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:25:42,772.772 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:25:44,812.812 INFO    ] ================================================
[2026-08-29 16:25:44,827.827 INFO    ] Launching Daemon at Sat Aug 29 16:25:44 IST 2026
[2026-08-29 16:25:44,838.838 INFO    ] ================================================
[2026-08-29 16:25:45,173.173 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:25:45
[2026-08-29 16:25:45,489.489 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:25:45,633.633 INFO    ] Initializing speech engine...
[2026-08-29 16:25:45,638.638 INFO    ] 2026-08-29 16:25:45
[2026-08-29 16:25:45,841.841 INFO    ] 2026-08-29 16:25:45
[2026-08-29 16:25:45,870.870 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:25:45,991.991 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:25:46,052.052 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:25:46,182.182 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:25:46,233.233 INFO    ] time= 29/08/2026 16:25:46
[2026-08-29 16:25:46,276.276 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:25:46,282.282 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:25:46,353.353 INFO    ] No existing commands found in stream
[2026-08-29 16:25:51,363.363 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:25:51,365.365 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-08-29 16:25:54,632.632 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:25:54,634.634 INFO    ] Checking for system updates...
[2026-08-29 16:25:54,655.655 INFO    ] 200
[2026-08-29 16:25:54,657.657 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:25:54,690.690 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:25:54,692.692 INFO    ] No update needed
[2026-08-29 16:25:54,693.693 INFO    ] Checking for camera pi updates...
[2026-08-29 16:25:54,714.714 INFO    ] 200
[2026-08-29 16:25:54,715.715 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:25:54,741.741 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:25:54,816.816 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:25:54,817.817 INFO    ] No camera update needed
[2026-08-29 16:25:54,818.818 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:25:54,820.820 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:25:54,823.823 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:25:54,826.826 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:25:56,866.866 INFO    ] ================================================
[2026-08-29 16:25:56,881.881 INFO    ] Launching Daemon at Sat Aug 29 16:25:56 IST 2026
[2026-08-29 16:25:56,892.892 INFO    ] ================================================
[2026-08-29 16:25:57,223.223 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:25:57
[2026-08-29 16:25:57,540.540 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:25:57,732.732 INFO    ] Initializing speech engine...
[2026-08-29 16:25:57,739.739 INFO    ] 2026-08-29 16:25:57
[2026-08-29 16:25:58,040.040 INFO    ] 2026-08-29 16:25:58
[2026-08-29 16:25:58,079.079 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:25:58,228.228 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:25:58,235.235 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:25:58,393.393 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:25:58,402.402 INFO    ] time= 29/08/2026 16:25:58
[2026-08-29 16:25:58,407.407 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:25:58,412.412 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:25:58,480.480 INFO    ] No existing commands found in stream
[2026-08-29 16:26:03,494.494 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:26:03,497.497 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-08-29 16:26:05,327.327 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:26:05,329.329 INFO    ] Checking for system updates...
[2026-08-29 16:26:05,365.365 INFO    ] 200
[2026-08-29 16:26:05,367.367 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:26:05,421.421 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:26:05,424.424 INFO    ] No update needed
[2026-08-29 16:26:05,427.427 INFO    ] Checking for camera pi updates...
[2026-08-29 16:26:05,464.464 INFO    ] 200
[2026-08-29 16:26:05,466.466 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:26:05,513.513 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:26:05,588.588 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:26:05,591.591 INFO    ] No camera update needed
[2026-08-29 16:26:05,593.593 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:26:05,595.595 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:26:05,601.601 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:26:05,606.606 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:26:07,649.649 INFO    ] ================================================
[2026-08-29 16:26:07,772.772 INFO    ] Launching Daemon at Sat Aug 29 16:26:07 IST 2026
[2026-08-29 16:26:07,784.784 INFO    ] ================================================
[2026-08-29 16:26:08,339.339 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:26:08
[2026-08-29 16:26:08,656.656 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:26:08,800.800 INFO    ] Initializing speech engine...
[2026-08-29 16:26:08,805.805 INFO    ] 2026-08-29 16:26:08
[2026-08-29 16:26:09,008.008 INFO    ] 2026-08-29 16:26:08
[2026-08-29 16:26:09,037.037 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:26:09,175.175 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:26:09,206.206 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:26:09,340.340 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:26:09,357.357 INFO    ] time= 29/08/2026 16:26:09
[2026-08-29 16:26:09,380.380 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:26:09,394.394 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:26:09,495.495 INFO    ] No existing commands found in stream
[2026-08-29 16:26:14,507.507 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:26:14,510.510 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 16:26:15,469.469 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:26:15,471.471 INFO    ] Checking for system updates...
[2026-08-29 16:26:15,493.493 INFO    ] 200
[2026-08-29 16:26:15,494.494 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:26:15,525.525 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:26:15,526.526 INFO    ] No update needed
[2026-08-29 16:26:15,528.528 INFO    ] Checking for camera pi updates...
[2026-08-29 16:26:15,551.551 INFO    ] 200
[2026-08-29 16:26:15,553.553 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:26:15,577.577 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:26:15,680.680 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:26:15,682.682 INFO    ] No camera update needed
[2026-08-29 16:26:15,683.683 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:26:15,685.685 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:26:15,688.688 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:26:15,691.691 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:26:17,731.731 INFO    ] ================================================
[2026-08-29 16:26:17,747.747 INFO    ] Launching Daemon at Sat Aug 29 16:26:17 IST 2026
[2026-08-29 16:26:17,757.757 INFO    ] ================================================
[2026-08-29 16:26:18,173.173 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:26:18
[2026-08-29 16:26:18,769.769 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:26:19,044.044 INFO    ] Initializing speech engine...
[2026-08-29 16:26:19,052.052 INFO    ] 2026-08-29 16:26:19
[2026-08-29 16:26:19,317.317 INFO    ] 2026-08-29 16:26:19
[2026-08-29 16:26:19,371.371 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:26:19,534.534 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:26:19,557.557 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:26:19,683.683 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:26:19,738.738 INFO    ] time= 29/08/2026 16:26:19
[2026-08-29 16:26:19,770.770 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:26:19,839.839 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:26:19,918.918 INFO    ] No existing commands found in stream
[2026-08-29 16:26:24,930.930 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:26:24,933.933 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-08-29 16:26:26,558.558 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:26:26,559.559 INFO    ] Checking for system updates...
[2026-08-29 16:26:26,580.580 INFO    ] 200
[2026-08-29 16:26:26,581.581 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:26:26,612.612 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:26:26,613.613 INFO    ] No update needed
[2026-08-29 16:26:26,615.615 INFO    ] Checking for camera pi updates...
[2026-08-29 16:26:26,635.635 INFO    ] 200
[2026-08-29 16:26:26,637.637 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:26:26,663.663 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:26:26,833.833 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:26:26,835.835 INFO    ] No camera update needed
[2026-08-29 16:26:26,836.836 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:26:26,837.837 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:26:26,841.841 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:26:26,844.844 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:26:28,886.886 INFO    ] ================================================
[2026-08-29 16:26:28,902.902 INFO    ] Launching Daemon at Sat Aug 29 16:26:28 IST 2026
[2026-08-29 16:26:28,912.912 INFO    ] ================================================
[2026-08-29 16:26:29,270.270 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:26:29
[2026-08-29 16:26:29,607.607 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:26:29,759.759 INFO    ] Initializing speech engine...
[2026-08-29 16:26:29,763.763 INFO    ] 2026-08-29 16:26:29
[2026-08-29 16:26:29,970.970 INFO    ] 2026-08-29 16:26:29
[2026-08-29 16:26:30,007.007 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:26:30,173.173 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:26:30,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:26:30,347.347 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:26:30,387.387 INFO    ] time= 29/08/2026 16:26:30
[2026-08-29 16:26:30,404.404 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:26:30,435.435 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:26:30,532.532 INFO    ] No existing commands found in stream
[2026-08-29 16:26:35,552.552 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:26:35,555.555 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-08-29 16:26:38,892.892 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:26:38,893.893 INFO    ] Checking for system updates...
[2026-08-29 16:26:38,914.914 INFO    ] 200
[2026-08-29 16:26:38,916.916 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:26:38,946.946 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:26:38,948.948 INFO    ] No update needed
[2026-08-29 16:26:38,949.949 INFO    ] Checking for camera pi updates...
[2026-08-29 16:26:38,969.969 INFO    ] 200
[2026-08-29 16:26:38,971.971 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:26:38,995.995 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:26:39,073.073 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:26:39,074.074 INFO    ] No camera update needed
[2026-08-29 16:26:39,076.076 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:26:39,077.077 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:26:39,080.080 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:26:39,083.083 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:26:41,125.125 INFO    ] ================================================
[2026-08-29 16:26:41,140.140 INFO    ] Launching Daemon at Sat Aug 29 16:26:41 IST 2026
[2026-08-29 16:26:41,150.150 INFO    ] ================================================
[2026-08-29 16:26:41,503.503 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:26:41
[2026-08-29 16:26:41,816.816 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:26:41,954.954 INFO    ] Initializing speech engine...
[2026-08-29 16:26:41,964.964 INFO    ] 2026-08-29 16:26:41
[2026-08-29 16:26:42,168.168 INFO    ] 2026-08-29 16:26:42
[2026-08-29 16:26:42,197.197 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:26:42,318.318 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:26:42,381.381 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:26:42,512.512 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:26:42,567.567 INFO    ] time= 29/08/2026 16:26:42
[2026-08-29 16:26:42,591.591 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:26:42,612.612 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:26:42,685.685 INFO    ] No existing commands found in stream
[2026-08-29 16:26:47,694.694 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:26:47,696.696 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-08-29 16:26:50,615.615 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:26:50,617.617 INFO    ] Checking for system updates...
[2026-08-29 16:26:50,637.637 INFO    ] 200
[2026-08-29 16:26:50,639.639 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:26:50,671.671 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:26:50,672.672 INFO    ] No update needed
[2026-08-29 16:26:50,674.674 INFO    ] Checking for camera pi updates...
[2026-08-29 16:26:50,693.693 INFO    ] 200
[2026-08-29 16:26:50,695.695 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:26:50,718.718 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:26:50,799.799 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:26:50,800.800 INFO    ] No camera update needed
[2026-08-29 16:26:50,801.801 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:26:50,803.803 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:26:50,805.805 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:26:50,808.808 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:26:52,848.848 INFO    ] ================================================
[2026-08-29 16:26:52,864.864 INFO    ] Launching Daemon at Sat Aug 29 16:26:52 IST 2026
[2026-08-29 16:26:52,874.874 INFO    ] ================================================
[2026-08-29 16:26:53,426.426 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:26:53
[2026-08-29 16:26:54,013.013 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:26:54,292.292 INFO    ] Initializing speech engine...
[2026-08-29 16:26:54,301.301 INFO    ] 2026-08-29 16:26:54
[2026-08-29 16:26:54,549.549 INFO    ] 2026-08-29 16:26:54
[2026-08-29 16:26:54,586.586 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:26:54,759.759 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:26:54,772.772 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:26:54,912.912 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:26:54,921.921 INFO    ] time= 29/08/2026 16:26:54
[2026-08-29 16:26:54,930.930 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:26:54,981.981 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:26:55,108.108 INFO    ] No existing commands found in stream
[2026-08-29 16:27:00,130.130 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:27:00,133.133 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-08-29 16:27:02,466.466 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:27:02,469.469 INFO    ] Checking for system updates...
[2026-08-29 16:27:02,511.511 INFO    ] 200
[2026-08-29 16:27:02,514.514 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:27:02,588.588 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:27:02,590.590 INFO    ] No update needed
[2026-08-29 16:27:02,593.593 INFO    ] Checking for camera pi updates...
[2026-08-29 16:27:02,637.637 INFO    ] 200
[2026-08-29 16:27:02,640.640 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:27:02,686.686 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:27:02,808.808 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:27:02,810.810 INFO    ] No camera update needed
[2026-08-29 16:27:02,814.814 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:27:02,817.817 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:27:02,824.824 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:27:02,830.830 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:27:04,871.871 INFO    ] ================================================
[2026-08-29 16:27:04,886.886 INFO    ] Launching Daemon at Sat Aug 29 16:27:04 IST 2026
[2026-08-29 16:27:04,897.897 INFO    ] ================================================
[2026-08-29 16:27:05,248.248 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:27:05
[2026-08-29 16:27:05,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:27:05,701.701 INFO    ] Initializing speech engine...
[2026-08-29 16:27:05,705.705 INFO    ] 2026-08-29 16:27:05
[2026-08-29 16:27:05,923.923 INFO    ] 2026-08-29 16:27:05
[2026-08-29 16:27:05,962.962 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:27:06,156.156 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:27:06,161.161 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:27:06,294.294 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:27:06,301.301 INFO    ] time= 29/08/2026 16:27:06
[2026-08-29 16:27:06,322.322 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:27:06,344.344 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:27:06,430.430 INFO    ] No existing commands found in stream
[2026-08-29 16:27:11,444.444 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:27:11,447.447 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-08-29 16:27:14,249.249 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:27:14,251.251 INFO    ] Checking for system updates...
[2026-08-29 16:27:14,271.271 INFO    ] 200
[2026-08-29 16:27:14,273.273 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:27:14,305.305 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:27:14,306.306 INFO    ] No update needed
[2026-08-29 16:27:14,308.308 INFO    ] Checking for camera pi updates...
[2026-08-29 16:27:14,329.329 INFO    ] 200
[2026-08-29 16:27:14,331.331 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:27:14,355.355 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:27:17,447.447 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:27:17,449.449 INFO    ] No camera update needed
[2026-08-29 16:27:17,452.452 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:27:17,454.454 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:27:17,459.459 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:27:17,464.464 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:27:19,504.504 INFO    ] ================================================
[2026-08-29 16:27:19,519.519 INFO    ] Launching Daemon at Sat Aug 29 16:27:19 IST 2026
[2026-08-29 16:27:19,531.531 INFO    ] ================================================
[2026-08-29 16:27:20,086.086 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:27:20
[2026-08-29 16:27:20,748.748 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:27:21,052.052 INFO    ] Initializing speech engine...
[2026-08-29 16:27:21,066.066 INFO    ] 2026-08-29 16:27:21
[2026-08-29 16:27:21,338.338 INFO    ] 2026-08-29 16:27:21
[2026-08-29 16:27:21,395.395 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:27:21,621.621 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:27:21,631.631 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:27:21,767.767 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:27:21,820.820 INFO    ] time= 29/08/2026 16:27:21
[2026-08-29 16:27:21,875.875 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:27:21,905.905 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:27:21,958.958 INFO    ] No existing commands found in stream
[2026-08-29 16:27:26,972.972 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:27:26,975.975 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-08-29 16:27:31,150.150 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:27:31,152.152 INFO    ] Checking for system updates...
[2026-08-29 16:27:31,172.172 INFO    ] 200
[2026-08-29 16:27:31,174.174 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:27:31,203.203 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:27:31,205.205 INFO    ] No update needed
[2026-08-29 16:27:31,206.206 INFO    ] Checking for camera pi updates...
[2026-08-29 16:27:31,227.227 INFO    ] 200
[2026-08-29 16:27:31,228.228 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:27:31,252.252 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:27:31,353.353 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:27:31,356.356 INFO    ] No camera update needed
[2026-08-29 16:27:31,358.358 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:27:31,360.360 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:27:31,365.365 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:27:31,370.370 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:27:33,413.413 INFO    ] ================================================
[2026-08-29 16:27:33,429.429 INFO    ] Launching Daemon at Sat Aug 29 16:27:33 IST 2026
[2026-08-29 16:27:33,439.439 INFO    ] ================================================
[2026-08-29 16:27:34,017.017 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:27:34
[2026-08-29 16:27:34,390.390 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:27:34,535.535 INFO    ] Initializing speech engine...
[2026-08-29 16:27:34,540.540 INFO    ] 2026-08-29 16:27:34
[2026-08-29 16:27:34,795.795 INFO    ] 2026-08-29 16:27:34
[2026-08-29 16:27:34,857.857 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:27:35,078.078 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:27:35,087.087 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:27:35,219.219 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:27:35,251.251 INFO    ] time= 29/08/2026 16:27:35
[2026-08-29 16:27:35,295.295 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:27:35,353.353 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:27:35,409.409 INFO    ] No existing commands found in stream
[2026-08-29 16:27:40,421.421 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:27:40,424.424 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 16:27:43,063.063 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:27:43,065.065 INFO    ] Checking for system updates...
[2026-08-29 16:27:43,085.085 INFO    ] 200
[2026-08-29 16:27:43,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:27:43,115.115 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:27:43,117.117 INFO    ] No update needed
[2026-08-29 16:27:43,118.118 INFO    ] Checking for camera pi updates...
[2026-08-29 16:27:43,137.137 INFO    ] 200
[2026-08-29 16:27:43,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:27:43,163.163 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:27:43,258.258 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:27:43,261.261 INFO    ] No camera update needed
[2026-08-29 16:27:43,267.267 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:27:43,269.269 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:27:43,275.275 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:27:43,281.281 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:27:45,322.322 INFO    ] ================================================
[2026-08-29 16:27:45,337.337 INFO    ] Launching Daemon at Sat Aug 29 16:27:45 IST 2026
[2026-08-29 16:27:45,349.349 INFO    ] ================================================
[2026-08-29 16:27:45,991.991 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:27:45
[2026-08-29 16:27:46,500.500 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:27:46,650.650 INFO    ] Initializing speech engine...
[2026-08-29 16:27:46,655.655 INFO    ] 2026-08-29 16:27:46
[2026-08-29 16:27:46,862.862 INFO    ] 2026-08-29 16:27:46
[2026-08-29 16:27:46,890.890 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:27:47,000.000 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:27:47,018.018 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:27:47,176.176 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:27:47,217.217 INFO    ] time= 29/08/2026 16:27:47
[2026-08-29 16:27:47,268.268 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:27:47,297.297 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:27:47,388.388 INFO    ] No existing commands found in stream
[2026-08-29 16:27:52,399.399 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:27:52,403.403 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-08-29 16:27:55,028.028 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:27:55,030.030 INFO    ] Checking for system updates...
[2026-08-29 16:27:55,050.050 INFO    ] 200
[2026-08-29 16:27:55,051.051 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:27:55,082.082 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:27:55,084.084 INFO    ] No update needed
[2026-08-29 16:27:55,085.085 INFO    ] Checking for camera pi updates...
[2026-08-29 16:27:55,104.104 INFO    ] 200
[2026-08-29 16:27:55,106.106 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:27:55,129.129 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:27:55,226.226 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:27:55,228.228 INFO    ] No camera update needed
[2026-08-29 16:27:55,229.229 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:27:55,230.230 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:27:55,234.234 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:27:55,236.236 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:27:57,275.275 INFO    ] ================================================
[2026-08-29 16:27:57,290.290 INFO    ] Launching Daemon at Sat Aug 29 16:27:57 IST 2026
[2026-08-29 16:27:57,301.301 INFO    ] ================================================
[2026-08-29 16:27:57,641.641 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:27:57
[2026-08-29 16:27:57,959.959 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:27:58,097.097 INFO    ] Initializing speech engine...
[2026-08-29 16:27:58,107.107 INFO    ] 2026-08-29 16:27:58
[2026-08-29 16:27:58,306.306 INFO    ] 2026-08-29 16:27:58
[2026-08-29 16:27:58,388.388 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:27:58,533.533 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:27:58,543.543 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:27:58,675.675 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:27:58,717.717 INFO    ] time= 29/08/2026 16:27:58
[2026-08-29 16:27:58,766.766 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:27:58,809.809 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:27:58,861.861 INFO    ] No existing commands found in stream
[2026-08-29 16:28:03,872.872 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:28:03,875.875 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-08-29 16:28:07,803.803 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:28:07,805.805 INFO    ] Checking for system updates...
[2026-08-29 16:28:07,826.826 INFO    ] 200
[2026-08-29 16:28:07,828.828 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:28:07,858.858 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:28:07,859.859 INFO    ] No update needed
[2026-08-29 16:28:07,860.860 INFO    ] Checking for camera pi updates...
[2026-08-29 16:28:07,880.880 INFO    ] 200
[2026-08-29 16:28:07,882.882 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:28:07,906.906 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:28:07,990.990 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:28:07,992.992 INFO    ] No camera update needed
[2026-08-29 16:28:07,993.993 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:28:07,994.994 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:28:07,997.997 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:28:08,000.000 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:28:10,040.040 INFO    ] ================================================
[2026-08-29 16:28:10,055.055 INFO    ] Launching Daemon at Sat Aug 29 16:28:10 IST 2026
[2026-08-29 16:28:10,066.066 INFO    ] ================================================
[2026-08-29 16:28:10,393.393 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:28:10
[2026-08-29 16:28:10,705.705 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:28:10,848.848 INFO    ] Initializing speech engine...
[2026-08-29 16:28:10,854.854 INFO    ] 2026-08-29 16:28:10
[2026-08-29 16:28:11,038.038 INFO    ] 2026-08-29 16:28:11
[2026-08-29 16:28:11,090.090 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:28:11,234.234 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:28:11,246.246 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:28:11,358.358 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:28:11,378.378 INFO    ] time= 29/08/2026 16:28:11
[2026-08-29 16:28:11,397.397 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:28:11,404.404 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:28:11,474.474 INFO    ] No existing commands found in stream
[2026-08-29 16:28:16,486.486 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:28:16,489.489 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-08-29 16:28:20,024.024 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:28:20,026.026 INFO    ] Checking for system updates...
[2026-08-29 16:28:20,046.046 INFO    ] 200
[2026-08-29 16:28:20,047.047 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:28:20,077.077 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:28:20,078.078 INFO    ] No update needed
[2026-08-29 16:28:20,079.079 INFO    ] Checking for camera pi updates...
[2026-08-29 16:28:20,101.101 INFO    ] 200
[2026-08-29 16:28:20,103.103 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:28:20,126.126 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:28:20,230.230 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:28:20,232.232 INFO    ] No camera update needed
[2026-08-29 16:28:20,233.233 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:28:20,234.234 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:28:20,237.237 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:28:20,240.240 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:28:22,278.278 INFO    ] ================================================
[2026-08-29 16:28:22,293.293 INFO    ] Launching Daemon at Sat Aug 29 16:28:22 IST 2026
[2026-08-29 16:28:22,304.304 INFO    ] ================================================
[2026-08-29 16:28:22,876.876 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:28:22
[2026-08-29 16:28:23,466.466 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:28:23,714.714 INFO    ] Initializing speech engine...
[2026-08-29 16:28:23,719.719 INFO    ] 2026-08-29 16:28:23
[2026-08-29 16:28:24,005.005 INFO    ] 2026-08-29 16:28:23
[2026-08-29 16:28:24,035.035 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:28:24,220.220 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:28:24,224.224 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:28:24,355.355 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:28:24,403.403 INFO    ] time= 29/08/2026 16:28:24
[2026-08-29 16:28:24,451.451 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:28:24,480.480 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:28:24,596.596 INFO    ] No existing commands found in stream
[2026-08-29 16:28:29,616.616 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:28:29,619.619 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 16:28:31,992.992 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:28:31,994.994 INFO    ] Checking for system updates...
[2026-08-29 16:28:32,037.037 INFO    ] 200
[2026-08-29 16:28:32,040.040 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:28:32,103.103 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:28:32,106.106 INFO    ] No update needed
[2026-08-29 16:28:32,109.109 INFO    ] Checking for camera pi updates...
[2026-08-29 16:28:32,146.146 INFO    ] 200
[2026-08-29 16:28:32,148.148 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:28:32,197.197 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:28:32,398.398 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:28:32,401.401 INFO    ] No camera update needed
[2026-08-29 16:28:32,404.404 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:28:32,406.406 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:28:32,413.413 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:28:32,418.418 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:28:34,458.458 INFO    ] ================================================
[2026-08-29 16:28:34,473.473 INFO    ] Launching Daemon at Sat Aug 29 16:28:34 IST 2026
[2026-08-29 16:28:34,484.484 INFO    ] ================================================
[2026-08-29 16:28:35,009.009 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:28:35
[2026-08-29 16:28:35,323.323 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:28:35,456.456 INFO    ] Initializing speech engine...
[2026-08-29 16:28:35,471.471 INFO    ] 2026-08-29 16:28:35
[2026-08-29 16:28:35,655.655 INFO    ] 2026-08-29 16:28:35
[2026-08-29 16:28:35,688.688 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:28:35,867.867 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:28:35,884.884 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:28:36,016.016 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:28:36,023.023 INFO    ] time= 29/08/2026 16:28:36
[2026-08-29 16:28:36,030.030 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:28:36,081.081 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:28:36,201.201 INFO    ] No existing commands found in stream
[2026-08-29 16:28:41,232.232 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:28:41,235.235 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-08-29 16:28:45,539.539 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:28:45,540.540 INFO    ] Checking for system updates...
[2026-08-29 16:28:45,560.560 INFO    ] 200
[2026-08-29 16:28:45,562.562 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:28:45,596.596 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:28:45,597.597 INFO    ] No update needed
[2026-08-29 16:28:45,598.598 INFO    ] Checking for camera pi updates...
[2026-08-29 16:28:45,617.617 INFO    ] 200
[2026-08-29 16:28:45,619.619 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:28:45,644.644 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:28:45,732.732 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:28:45,735.735 INFO    ] No camera update needed
[2026-08-29 16:28:45,737.737 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:28:45,739.739 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:28:45,745.745 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:28:45,749.749 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:28:47,791.791 INFO    ] ================================================
[2026-08-29 16:28:47,806.806 INFO    ] Launching Daemon at Sat Aug 29 16:28:47 IST 2026
[2026-08-29 16:28:47,817.817 INFO    ] ================================================
[2026-08-29 16:28:48,400.400 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:28:48
[2026-08-29 16:28:48,898.898 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:28:49,036.036 INFO    ] Initializing speech engine...
[2026-08-29 16:28:49,047.047 INFO    ] 2026-08-29 16:28:49
[2026-08-29 16:28:49,251.251 INFO    ] 2026-08-29 16:28:49
[2026-08-29 16:28:49,278.278 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:28:49,411.411 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:28:49,464.464 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:28:49,606.606 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:28:49,674.674 INFO    ] time= 29/08/2026 16:28:49
[2026-08-29 16:28:49,697.697 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:28:49,703.703 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:28:49,769.769 INFO    ] No existing commands found in stream
[2026-08-29 16:28:54,780.780 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:28:54,783.783 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-08-29 16:28:57,814.814 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:28:57,816.816 INFO    ] Checking for system updates...
[2026-08-29 16:28:57,837.837 INFO    ] 200
[2026-08-29 16:28:57,838.838 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:28:57,867.867 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:28:57,869.869 INFO    ] No update needed
[2026-08-29 16:28:57,870.870 INFO    ] Checking for camera pi updates...
[2026-08-29 16:28:57,889.889 INFO    ] 200
[2026-08-29 16:28:57,890.890 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:28:57,915.915 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:28:58,018.018 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:28:58,021.021 INFO    ] No camera update needed
[2026-08-29 16:28:58,023.023 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:28:58,026.026 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:28:58,031.031 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:28:58,036.036 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:29:00,076.076 INFO    ] ================================================
[2026-08-29 16:29:00,091.091 INFO    ] Launching Daemon at Sat Aug 29 16:29:00 IST 2026
[2026-08-29 16:29:00,102.102 INFO    ] ================================================
[2026-08-29 16:29:00,670.670 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:29:00
[2026-08-29 16:29:01,126.126 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:29:01,408.408 INFO    ] Initializing speech engine...
[2026-08-29 16:29:01,412.412 INFO    ] 2026-08-29 16:29:01
[2026-08-29 16:29:01,878.878 INFO    ] 2026-08-29 16:29:01
[2026-08-29 16:29:01,935.935 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:29:02,092.092 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:29:02,125.125 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:29:02,299.299 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:29:02,352.352 INFO    ] time= 29/08/2026 16:29:02
[2026-08-29 16:29:02,372.372 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:29:02,389.389 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:29:02,480.480 INFO    ] No existing commands found in stream
[2026-08-29 16:29:07,512.512 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:29:07,515.515 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-08-29 16:29:08,181.181 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:29:08,183.183 INFO    ] Checking for system updates...
[2026-08-29 16:29:08,204.204 INFO    ] 200
[2026-08-29 16:29:08,205.205 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:29:08,235.235 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:29:08,236.236 INFO    ] No update needed
[2026-08-29 16:29:08,237.237 INFO    ] Checking for camera pi updates...
[2026-08-29 16:29:08,271.271 INFO    ] 200
[2026-08-29 16:29:08,274.274 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:29:08,318.318 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:29:08,402.402 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:29:08,405.405 INFO    ] No camera update needed
[2026-08-29 16:29:08,407.407 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:29:08,409.409 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:29:08,414.414 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:29:08,419.419 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:29:10,461.461 INFO    ] ================================================
[2026-08-29 16:29:10,477.477 INFO    ] Launching Daemon at Sat Aug 29 16:29:10 IST 2026
[2026-08-29 16:29:10,488.488 INFO    ] ================================================
[2026-08-29 16:29:11,071.071 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:29:11
[2026-08-29 16:29:11,531.531 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:29:11,664.664 INFO    ] Initializing speech engine...
[2026-08-29 16:29:11,667.667 INFO    ] 2026-08-29 16:29:11
[2026-08-29 16:29:11,884.884 INFO    ] 2026-08-29 16:29:11
[2026-08-29 16:29:11,909.909 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:29:12,027.027 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:29:12,031.031 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:29:12,150.150 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:29:12,166.166 INFO    ] time= 29/08/2026 16:29:12
[2026-08-29 16:29:12,171.171 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:29:12,176.176 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:29:12,263.263 INFO    ] No existing commands found in stream
[2026-08-29 16:29:17,293.293 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:29:17,295.295 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 16:29:18,266.266 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:29:18,267.267 INFO    ] Checking for system updates...
[2026-08-29 16:29:18,289.289 INFO    ] 200
[2026-08-29 16:29:18,290.290 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:29:18,321.321 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:29:18,322.322 INFO    ] No update needed
[2026-08-29 16:29:18,324.324 INFO    ] Checking for camera pi updates...
[2026-08-29 16:29:18,343.343 INFO    ] 200
[2026-08-29 16:29:18,344.344 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:29:18,367.367 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:29:18,445.445 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:29:18,447.447 INFO    ] No camera update needed
[2026-08-29 16:29:18,448.448 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:29:18,449.449 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:29:18,452.452 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:29:18,455.455 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:29:20,495.495 INFO    ] ================================================
[2026-08-29 16:29:20,510.510 INFO    ] Launching Daemon at Sat Aug 29 16:29:20 IST 2026
[2026-08-29 16:29:20,521.521 INFO    ] ================================================
[2026-08-29 16:29:20,865.865 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:29:20
[2026-08-29 16:29:21,177.177 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:29:21,320.320 INFO    ] Initializing speech engine...
[2026-08-29 16:29:21,326.326 INFO    ] 2026-08-29 16:29:21
[2026-08-29 16:29:21,531.531 INFO    ] 2026-08-29 16:29:21
[2026-08-29 16:29:21,569.569 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:29:21,736.736 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:29:21,743.743 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:29:21,917.917 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:29:21,947.947 INFO    ] time= 29/08/2026 16:29:21
[2026-08-29 16:29:21,965.965 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:29:21,973.973 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:29:22,074.074 INFO    ] No existing commands found in stream
[2026-08-29 16:29:27,100.100 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:29:27,103.103 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-08-29 16:29:28,952.952 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:29:28,954.954 INFO    ] Checking for system updates...
[2026-08-29 16:29:28,974.974 INFO    ] 200
[2026-08-29 16:29:28,975.975 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:29:29,004.004 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:29:29,006.006 INFO    ] No update needed
[2026-08-29 16:29:29,007.007 INFO    ] Checking for camera pi updates...
[2026-08-29 16:29:29,037.037 INFO    ] 200
[2026-08-29 16:29:29,040.040 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:29:29,080.080 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:29:29,202.202 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:29:29,205.205 INFO    ] No camera update needed
[2026-08-29 16:29:29,207.207 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:29:29,209.209 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:29:29,215.215 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:29:29,219.219 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:29:31,261.261 INFO    ] ================================================
[2026-08-29 16:29:31,277.277 INFO    ] Launching Daemon at Sat Aug 29 16:29:31 IST 2026
[2026-08-29 16:29:31,289.289 INFO    ] ================================================
[2026-08-29 16:29:31,907.907 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:29:31
[2026-08-29 16:29:32,360.360 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:29:32,629.629 INFO    ] Initializing speech engine...
[2026-08-29 16:29:32,642.642 INFO    ] 2026-08-29 16:29:32
[2026-08-29 16:29:32,912.912 INFO    ] 2026-08-29 16:29:32
[2026-08-29 16:29:32,948.948 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:29:33,120.120 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:29:33,132.132 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:29:33,243.243 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:29:33,262.262 INFO    ] time= 29/08/2026 16:29:33
[2026-08-29 16:29:33,284.284 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:29:33,290.290 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:29:33,360.360 INFO    ] No existing commands found in stream
[2026-08-29 16:29:38,390.390 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:29:38,393.393 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-08-29 16:29:40,116.116 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:29:40,118.118 INFO    ] Checking for system updates...
[2026-08-29 16:29:40,138.138 INFO    ] 200
[2026-08-29 16:29:40,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:29:40,169.169 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:29:40,171.171 INFO    ] No update needed
[2026-08-29 16:29:40,172.172 INFO    ] Checking for camera pi updates...
[2026-08-29 16:29:40,191.191 INFO    ] 200
[2026-08-29 16:29:40,192.192 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:29:40,217.217 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:29:40,323.323 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:29:40,324.324 INFO    ] No camera update needed
[2026-08-29 16:29:40,325.325 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:29:40,327.327 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:29:40,329.329 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:29:40,332.332 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:29:42,374.374 INFO    ] ================================================
[2026-08-29 16:29:42,389.389 INFO    ] Launching Daemon at Sat Aug 29 16:29:42 IST 2026
[2026-08-29 16:29:42,400.400 INFO    ] ================================================
[2026-08-29 16:29:42,768.768 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:29:42
[2026-08-29 16:29:43,106.106 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:29:43,259.259 INFO    ] Initializing speech engine...
[2026-08-29 16:29:43,264.264 INFO    ] 2026-08-29 16:29:43
[2026-08-29 16:29:43,474.474 INFO    ] 2026-08-29 16:29:43
[2026-08-29 16:29:43,503.503 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:29:43,628.628 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:29:43,688.688 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:29:43,807.807 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:29:43,816.816 INFO    ] time= 29/08/2026 16:29:43
[2026-08-29 16:29:43,827.827 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:29:43,895.895 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:29:44,008.008 INFO    ] No existing commands found in stream
[2026-08-29 16:29:49,032.032 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:29:49,035.035 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-08-29 16:29:49,785.785 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:29:49,786.786 INFO    ] Checking for system updates...
[2026-08-29 16:29:49,807.807 INFO    ] 200
[2026-08-29 16:29:49,808.808 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:29:49,840.840 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:29:49,841.841 INFO    ] No update needed
[2026-08-29 16:29:49,843.843 INFO    ] Checking for camera pi updates...
[2026-08-29 16:29:49,862.862 INFO    ] 200
[2026-08-29 16:29:49,863.863 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:29:49,886.886 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:29:49,983.983 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:29:49,984.984 INFO    ] No camera update needed
[2026-08-29 16:29:49,985.985 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:29:49,987.987 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:29:49,989.989 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:29:49,992.992 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:29:52,030.030 INFO    ] ================================================
[2026-08-29 16:29:52,045.045 INFO    ] Launching Daemon at Sat Aug 29 16:29:52 IST 2026
[2026-08-29 16:29:52,059.059 INFO    ] ================================================
[2026-08-29 16:29:52,403.403 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:29:52
[2026-08-29 16:29:52,714.714 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:29:52,875.875 INFO    ] Initializing speech engine...
[2026-08-29 16:29:52,888.888 INFO    ] 2026-08-29 16:29:52
[2026-08-29 16:29:53,150.150 INFO    ] 2026-08-29 16:29:53
[2026-08-29 16:29:53,186.186 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:29:53,327.327 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:29:53,329.329 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:29:53,457.457 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:29:53,467.467 INFO    ] time= 29/08/2026 16:29:53
[2026-08-29 16:29:53,472.472 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:29:53,493.493 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:29:53,545.545 INFO    ] No existing commands found in stream
[2026-08-29 16:29:58,586.586 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:29:58,588.588 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-08-29 16:30:00,780.780 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:30:00,781.781 INFO    ] Checking for system updates...
[2026-08-29 16:30:00,802.802 INFO    ] 200
[2026-08-29 16:30:00,804.804 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:30:00,834.834 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:30:00,835.835 INFO    ] No update needed
[2026-08-29 16:30:00,837.837 INFO    ] Checking for camera pi updates...
[2026-08-29 16:30:00,856.856 INFO    ] 200
[2026-08-29 16:30:00,857.857 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:30:00,882.882 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:30:00,958.958 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:30:00,959.959 INFO    ] No camera update needed
[2026-08-29 16:30:00,961.961 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:30:00,962.962 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:30:00,965.965 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:30:00,968.968 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:30:03,046.046 INFO    ] ================================================
[2026-08-29 16:30:03,068.068 INFO    ] Launching Daemon at Sat Aug 29 16:30:03 IST 2026
[2026-08-29 16:30:03,082.082 INFO    ] ================================================
[2026-08-29 16:30:03,731.731 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:30:03
[2026-08-29 16:30:04,336.336 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:30:04,481.481 INFO    ] Initializing speech engine...
[2026-08-29 16:30:04,486.486 INFO    ] 2026-08-29 16:30:04
[2026-08-29 16:30:04,681.681 INFO    ] 2026-08-29 16:30:04
[2026-08-29 16:30:04,758.758 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:30:04,907.907 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:30:04,916.916 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:30:05,048.048 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:30:05,069.069 INFO    ] time= 29/08/2026 16:30:05
[2026-08-29 16:30:05,139.139 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:30:05,180.180 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:30:05,236.236 INFO    ] No existing commands found in stream
[2026-08-29 16:30:10,244.244 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:30:10,247.247 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-08-29 16:30:11,403.403 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:30:11,406.406 INFO    ] Checking for system updates...
[2026-08-29 16:30:11,442.442 INFO    ] 200
[2026-08-29 16:30:11,444.444 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:30:11,504.504 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:30:11,507.507 INFO    ] No update needed
[2026-08-29 16:30:11,509.509 INFO    ] Checking for camera pi updates...
[2026-08-29 16:30:11,545.545 INFO    ] 200
[2026-08-29 16:30:11,547.547 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:30:11,588.588 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:30:11,735.735 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:30:11,738.738 INFO    ] No camera update needed
[2026-08-29 16:30:11,740.740 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:30:11,742.742 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:30:11,748.748 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:30:11,752.752 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:30:13,794.794 INFO    ] ================================================
[2026-08-29 16:30:13,810.810 INFO    ] Launching Daemon at Sat Aug 29 16:30:13 IST 2026
[2026-08-29 16:30:13,821.821 INFO    ] ================================================
[2026-08-29 16:30:14,192.192 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:30:14
[2026-08-29 16:30:14,506.506 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:30:14,694.694 INFO    ] Initializing speech engine...
[2026-08-29 16:30:14,703.703 INFO    ] 2026-08-29 16:30:14
[2026-08-29 16:30:14,953.953 INFO    ] 2026-08-29 16:30:14
[2026-08-29 16:30:14,989.989 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:30:15,160.160 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:30:15,173.173 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:30:15,307.307 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:30:15,321.321 INFO    ] time= 29/08/2026 16:30:15
[2026-08-29 16:30:15,328.328 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:30:15,370.370 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:30:15,497.497 INFO    ] No existing commands found in stream
[2026-08-29 16:30:20,527.527 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:30:20,530.530 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 16:30:22,588.588 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:30:22,590.590 INFO    ] Checking for system updates...
[2026-08-29 16:30:22,626.626 INFO    ] 200
[2026-08-29 16:30:22,629.629 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:30:22,680.680 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:30:22,683.683 INFO    ] No update needed
[2026-08-29 16:30:22,685.685 INFO    ] Checking for camera pi updates...
[2026-08-29 16:30:22,719.719 INFO    ] 200
[2026-08-29 16:30:22,721.721 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:30:22,761.761 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:30:22,843.843 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:30:22,846.846 INFO    ] No camera update needed
[2026-08-29 16:30:22,848.848 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:30:22,850.850 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:30:22,856.856 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:30:22,860.860 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:30:24,903.903 INFO    ] ================================================
[2026-08-29 16:30:24,918.918 INFO    ] Launching Daemon at Sat Aug 29 16:30:24 IST 2026
[2026-08-29 16:30:24,928.928 INFO    ] ================================================
[2026-08-29 16:30:25,302.302 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:30:25
[2026-08-29 16:30:25,619.619 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:30:25,829.829 INFO    ] Initializing speech engine...
[2026-08-29 16:30:25,834.834 INFO    ] 2026-08-29 16:30:25
[2026-08-29 16:30:26,085.085 INFO    ] 2026-08-29 16:30:26
[2026-08-29 16:30:26,121.121 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:30:26,293.293 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:30:26,316.316 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:30:26,446.446 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:30:26,454.454 INFO    ] time= 29/08/2026 16:30:26
[2026-08-29 16:30:26,461.461 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:30:26,503.503 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:30:26,616.616 INFO    ] No existing commands found in stream
[2026-08-29 16:30:31,644.644 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:30:31,647.647 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-08-29 16:30:34,715.715 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:30:34,718.718 INFO    ] Checking for system updates...
[2026-08-29 16:30:34,754.754 INFO    ] 200
[2026-08-29 16:30:34,756.756 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:30:34,813.813 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:30:34,816.816 INFO    ] No update needed
[2026-08-29 16:30:34,818.818 INFO    ] Checking for camera pi updates...
[2026-08-29 16:30:34,852.852 INFO    ] 200
[2026-08-29 16:30:34,855.855 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:30:34,896.896 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:30:35,075.075 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:30:35,078.078 INFO    ] No camera update needed
[2026-08-29 16:30:35,080.080 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:30:35,082.082 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:30:35,088.088 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:30:35,093.093 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:30:37,134.134 INFO    ] ================================================
[2026-08-29 16:30:37,150.150 INFO    ] Launching Daemon at Sat Aug 29 16:30:37 IST 2026
[2026-08-29 16:30:37,161.161 INFO    ] ================================================
[2026-08-29 16:30:37,534.534 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:30:37
[2026-08-29 16:30:37,846.846 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:30:37,977.977 INFO    ] Initializing speech engine...
[2026-08-29 16:30:37,981.981 INFO    ] 2026-08-29 16:30:37
[2026-08-29 16:30:38,208.208 INFO    ] 2026-08-29 16:30:38
[2026-08-29 16:30:38,283.283 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:30:38,444.444 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:30:38,454.454 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:30:38,589.589 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:30:38,606.606 INFO    ] time= 29/08/2026 16:30:38
[2026-08-29 16:30:38,665.665 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:30:38,724.724 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:30:38,776.776 INFO    ] No existing commands found in stream
[2026-08-29 16:30:43,788.788 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:30:43,790.790 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-08-29 16:30:48,115.115 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:30:48,117.117 INFO    ] Checking for system updates...
[2026-08-29 16:30:48,137.137 INFO    ] 200
[2026-08-29 16:30:48,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:30:48,169.169 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:30:48,170.170 INFO    ] No update needed
[2026-08-29 16:30:48,171.171 INFO    ] Checking for camera pi updates...
[2026-08-29 16:30:48,194.194 INFO    ] 200
[2026-08-29 16:30:48,197.197 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:30:48,237.237 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:30:48,338.338 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:30:48,340.340 INFO    ] No camera update needed
[2026-08-29 16:30:48,342.342 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:30:48,345.345 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:30:48,350.350 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:30:48,355.355 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:30:50,395.395 INFO    ] ================================================
[2026-08-29 16:30:50,410.410 INFO    ] Launching Daemon at Sat Aug 29 16:30:50 IST 2026
[2026-08-29 16:30:50,422.422 INFO    ] ================================================
[2026-08-29 16:30:51,093.093 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:30:51
[2026-08-29 16:30:51,498.498 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:30:51,651.651 INFO    ] Initializing speech engine...
[2026-08-29 16:30:51,657.657 INFO    ] 2026-08-29 16:30:51
[2026-08-29 16:30:51,903.903 INFO    ] 2026-08-29 16:30:51
[2026-08-29 16:30:51,961.961 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:30:52,112.112 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:30:52,135.135 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:30:52,284.284 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:30:52,334.334 INFO    ] time= 29/08/2026 16:30:52
[2026-08-29 16:30:52,350.350 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:30:52,368.368 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:30:52,473.473 INFO    ] No existing commands found in stream
[2026-08-29 16:30:57,504.504 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:30:57,508.508 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-08-29 16:30:58,806.806 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:30:58,807.807 INFO    ] Checking for system updates...
[2026-08-29 16:30:58,828.828 INFO    ] 200
[2026-08-29 16:30:58,830.830 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:30:58,862.862 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:30:58,864.864 INFO    ] No update needed
[2026-08-29 16:30:58,865.865 INFO    ] Checking for camera pi updates...
[2026-08-29 16:30:58,887.887 INFO    ] 200
[2026-08-29 16:30:58,889.889 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:30:58,912.912 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:30:59,013.013 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:30:59,014.014 INFO    ] No camera update needed
[2026-08-29 16:30:59,018.018 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:30:59,019.019 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:30:59,023.023 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:30:59,025.025 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:31:01,064.064 INFO    ] ================================================
[2026-08-29 16:31:01,080.080 INFO    ] Launching Daemon at Sat Aug 29 16:31:01 IST 2026
[2026-08-29 16:31:01,091.091 INFO    ] ================================================
[2026-08-29 16:31:01,460.460 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:31:01
[2026-08-29 16:31:02,149.149 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:31:02,469.469 INFO    ] Initializing speech engine...
[2026-08-29 16:31:02,487.487 INFO    ] 2026-08-29 16:31:02
[2026-08-29 16:31:02,808.808 INFO    ] 2026-08-29 16:31:02
[2026-08-29 16:31:02,858.858 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:31:03,056.056 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:31:03,081.081 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:31:03,188.188 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:31:03,200.200 INFO    ] time= 29/08/2026 16:31:03
[2026-08-29 16:31:03,214.214 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:31:03,237.237 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:31:03,350.350 INFO    ] No existing commands found in stream
[2026-08-29 16:31:08,361.361 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:31:08,364.364 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-08-29 16:31:10,368.368 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:31:10,370.370 INFO    ] Checking for system updates...
[2026-08-29 16:31:10,391.391 INFO    ] 200
[2026-08-29 16:31:10,393.393 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:31:10,423.423 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:31:10,424.424 INFO    ] No update needed
[2026-08-29 16:31:10,426.426 INFO    ] Checking for camera pi updates...
[2026-08-29 16:31:10,445.445 INFO    ] 200
[2026-08-29 16:31:10,446.446 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:31:10,469.469 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:31:10,558.558 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:31:10,561.561 INFO    ] No camera update needed
[2026-08-29 16:31:10,563.563 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:31:10,566.566 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:31:10,573.573 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:31:10,578.578 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:31:12,619.619 INFO    ] ================================================
[2026-08-29 16:31:12,634.634 INFO    ] Launching Daemon at Sat Aug 29 16:31:12 IST 2026
[2026-08-29 16:31:12,645.645 INFO    ] ================================================
[2026-08-29 16:31:13,303.303 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:31:13
[2026-08-29 16:31:13,799.799 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:31:13,994.994 INFO    ] Initializing speech engine...
[2026-08-29 16:31:14,003.003 INFO    ] 2026-08-29 16:31:13
[2026-08-29 16:31:14,281.281 INFO    ] 2026-08-29 16:31:14
[2026-08-29 16:31:14,348.348 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:31:14,561.561 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:31:14,572.572 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:31:14,710.710 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:31:14,770.770 INFO    ] time= 29/08/2026 16:31:14
[2026-08-29 16:31:14,820.820 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:31:14,849.849 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:31:14,903.903 INFO    ] No existing commands found in stream
[2026-08-29 16:31:19,916.916 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:31:19,919.919 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-08-29 16:31:21,915.915 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:31:21,917.917 INFO    ] Checking for system updates...
[2026-08-29 16:31:21,938.938 INFO    ] 200
[2026-08-29 16:31:21,939.939 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:31:21,971.971 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:31:21,973.973 INFO    ] No update needed
[2026-08-29 16:31:21,975.975 INFO    ] Checking for camera pi updates...
[2026-08-29 16:31:21,995.995 INFO    ] 200
[2026-08-29 16:31:21,996.996 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:31:22,020.020 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:31:22,101.101 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:31:22,102.102 INFO    ] No camera update needed
[2026-08-29 16:31:22,104.104 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:31:22,105.105 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:31:22,108.108 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:31:22,111.111 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:31:24,151.151 INFO    ] ================================================
[2026-08-29 16:31:24,167.167 INFO    ] Launching Daemon at Sat Aug 29 16:31:24 IST 2026
[2026-08-29 16:31:24,178.178 INFO    ] ================================================
[2026-08-29 16:31:24,527.527 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:31:24
[2026-08-29 16:31:24,843.843 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:31:24,977.977 INFO    ] Initializing speech engine...
[2026-08-29 16:31:24,982.982 INFO    ] 2026-08-29 16:31:24
[2026-08-29 16:31:25,214.214 INFO    ] 2026-08-29 16:31:25
[2026-08-29 16:31:25,231.231 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:31:25,358.358 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:31:25,380.380 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:31:25,479.479 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:31:25,485.485 INFO    ] time= 29/08/2026 16:31:25
[2026-08-29 16:31:25,511.511 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:31:25,565.565 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:31:25,671.671 INFO    ] No existing commands found in stream
[2026-08-29 16:31:30,703.703 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:31:30,706.706 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 16:31:31,164.164 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:31:31,166.166 INFO    ] Checking for system updates...
[2026-08-29 16:31:31,187.187 INFO    ] 200
[2026-08-29 16:31:31,188.188 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:31:31,218.218 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:31:31,219.219 INFO    ] No update needed
[2026-08-29 16:31:31,220.220 INFO    ] Checking for camera pi updates...
[2026-08-29 16:31:31,242.242 INFO    ] 200
[2026-08-29 16:31:31,243.243 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:31:31,272.272 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:31:31,398.398 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:31:31,400.400 INFO    ] No camera update needed
[2026-08-29 16:31:31,403.403 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:31:31,405.405 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:31:31,411.411 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:31:31,416.416 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:31:33,458.458 INFO    ] ================================================
[2026-08-29 16:31:33,473.473 INFO    ] Launching Daemon at Sat Aug 29 16:31:33 IST 2026
[2026-08-29 16:31:33,484.484 INFO    ] ================================================
[2026-08-29 16:31:34,058.058 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:31:34
[2026-08-29 16:31:34,469.469 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:31:34,744.744 INFO    ] Initializing speech engine...
[2026-08-29 16:31:34,755.755 INFO    ] 2026-08-29 16:31:34
[2026-08-29 16:31:35,005.005 INFO    ] 2026-08-29 16:31:34
[2026-08-29 16:31:35,040.040 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:31:35,219.219 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:31:35,232.232 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:31:35,378.378 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:31:35,387.387 INFO    ] time= 29/08/2026 16:31:35
[2026-08-29 16:31:35,393.393 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:31:35,444.444 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:31:35,559.559 INFO    ] No existing commands found in stream
[2026-08-29 16:31:40,589.589 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:31:40,592.592 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-08-29 16:31:41,210.210 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:31:41,212.212 INFO    ] Checking for system updates...
[2026-08-29 16:31:41,232.232 INFO    ] 200
[2026-08-29 16:31:41,233.233 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:31:41,263.263 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:31:41,265.265 INFO    ] No update needed
[2026-08-29 16:31:41,266.266 INFO    ] Checking for camera pi updates...
[2026-08-29 16:31:41,287.287 INFO    ] 200
[2026-08-29 16:31:41,289.289 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:31:41,312.312 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:31:41,387.387 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:31:41,389.389 INFO    ] No camera update needed
[2026-08-29 16:31:41,390.390 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:31:41,391.391 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:31:41,394.394 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:31:41,397.397 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:31:43,436.436 INFO    ] ================================================
[2026-08-29 16:31:43,452.452 INFO    ] Launching Daemon at Sat Aug 29 16:31:43 IST 2026
[2026-08-29 16:31:43,464.464 INFO    ] ================================================
[2026-08-29 16:31:43,799.799 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:31:43
[2026-08-29 16:31:44,114.114 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:31:44,246.246 INFO    ] Initializing speech engine...
[2026-08-29 16:31:44,251.251 INFO    ] 2026-08-29 16:31:44
[2026-08-29 16:31:44,445.445 INFO    ] 2026-08-29 16:31:44
[2026-08-29 16:31:44,491.491 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:31:44,648.648 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:31:44,696.696 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:31:44,857.857 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:31:44,920.920 INFO    ] time= 29/08/2026 16:31:44
[2026-08-29 16:31:44,942.942 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:31:44,966.966 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:31:45,042.042 INFO    ] No existing commands found in stream
[2026-08-29 16:31:50,053.053 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:31:50,056.056 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-08-29 16:31:53,734.734 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:31:53,736.736 INFO    ] Checking for system updates...
[2026-08-29 16:31:53,756.756 INFO    ] 200
[2026-08-29 16:31:53,758.758 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:31:53,787.787 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:31:53,789.789 INFO    ] No update needed
[2026-08-29 16:31:53,790.790 INFO    ] Checking for camera pi updates...
[2026-08-29 16:31:53,809.809 INFO    ] 200
[2026-08-29 16:31:53,810.810 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:31:53,833.833 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:31:53,932.932 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:31:53,933.933 INFO    ] No camera update needed
[2026-08-29 16:31:53,934.934 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:31:53,935.935 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:31:53,938.938 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:31:53,941.941 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:31:55,980.980 INFO    ] ================================================
[2026-08-29 16:31:56,996.996 INFO    ] Launching Daemon at Sat Aug 29 16:31:55 IST 2026
[2026-08-29 16:31:56,007.007 INFO    ] ================================================
[2026-08-29 16:31:56,343.343 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:31:56
[2026-08-29 16:31:56,657.657 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:31:56,793.793 INFO    ] Initializing speech engine...
[2026-08-29 16:31:56,806.806 INFO    ] 2026-08-29 16:31:56
[2026-08-29 16:31:57,024.024 INFO    ] 2026-08-29 16:31:56
[2026-08-29 16:31:57,055.055 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:31:57,185.185 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:31:57,224.224 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:31:57,358.358 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:31:57,398.398 INFO    ] time= 29/08/2026 16:31:57
[2026-08-29 16:31:57,454.454 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:31:57,488.488 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:31:57,579.579 INFO    ] No existing commands found in stream
[2026-08-29 16:32:02,590.590 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:32:02,593.593 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-08-29 16:32:06,448.448 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:32:06,451.451 INFO    ] Checking for system updates...
[2026-08-29 16:32:06,486.486 INFO    ] 200
[2026-08-29 16:32:06,488.488 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:32:06,546.546 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:32:06,549.549 INFO    ] No update needed
[2026-08-29 16:32:06,551.551 INFO    ] Checking for camera pi updates...
[2026-08-29 16:32:06,584.584 INFO    ] 200
[2026-08-29 16:32:06,586.586 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:32:06,627.627 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:32:06,731.731 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:32:06,734.734 INFO    ] No camera update needed
[2026-08-29 16:32:06,736.736 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:32:06,739.739 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:32:06,744.744 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:32:06,749.749 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:32:08,789.789 INFO    ] ================================================
[2026-08-29 16:32:08,804.804 INFO    ] Launching Daemon at Sat Aug 29 16:32:08 IST 2026
[2026-08-29 16:32:08,815.815 INFO    ] ================================================
[2026-08-29 16:32:09,384.384 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:32:09
[2026-08-29 16:32:09,746.746 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:32:09,883.883 INFO    ] Initializing speech engine...
[2026-08-29 16:32:09,891.891 INFO    ] 2026-08-29 16:32:09
[2026-08-29 16:32:10,077.077 INFO    ] 2026-08-29 16:32:10
[2026-08-29 16:32:10,112.112 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:32:10,303.303 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:32:10,310.310 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:32:10,427.427 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:32:10,447.447 INFO    ] time= 29/08/2026 16:32:10
[2026-08-29 16:32:10,455.455 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:32:10,461.461 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:32:10,528.528 INFO    ] No existing commands found in stream
[2026-08-29 16:32:15,563.563 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:32:15,566.566 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-08-29 16:32:17,927.927 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:32:17,928.928 INFO    ] Checking for system updates...
[2026-08-29 16:32:17,948.948 INFO    ] 200
[2026-08-29 16:32:17,950.950 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:32:17,982.982 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:32:17,984.984 INFO    ] No update needed
[2026-08-29 16:32:17,985.985 INFO    ] Checking for camera pi updates...
[2026-08-29 16:32:18,004.004 INFO    ] 200
[2026-08-29 16:32:18,005.005 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:32:18,028.028 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:32:18,135.135 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:32:18,137.137 INFO    ] No camera update needed
[2026-08-29 16:32:18,139.139 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:32:18,142.142 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:32:18,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:32:18,165.165 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:32:20,207.207 INFO    ] ================================================
[2026-08-29 16:32:20,223.223 INFO    ] Launching Daemon at Sat Aug 29 16:32:20 IST 2026
[2026-08-29 16:32:20,235.235 INFO    ] ================================================
[2026-08-29 16:32:20,835.835 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:32:20
[2026-08-29 16:32:21,518.518 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:32:21,827.827 INFO    ] Initializing speech engine...
[2026-08-29 16:32:21,840.840 INFO    ] 2026-08-29 16:32:21
[2026-08-29 16:32:22,117.117 INFO    ] 2026-08-29 16:32:22
[2026-08-29 16:32:22,169.169 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:32:22,401.401 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:32:22,411.411 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:32:22,547.547 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:32:22,599.599 INFO    ] time= 29/08/2026 16:32:22
[2026-08-29 16:32:22,654.654 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:32:22,685.685 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:32:22,739.739 INFO    ] No existing commands found in stream
[2026-08-29 16:32:27,753.753 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:32:27,756.756 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-08-29 16:32:31,205.205 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:32:31,208.208 INFO    ] Checking for system updates...
[2026-08-29 16:32:31,250.250 INFO    ] 200
[2026-08-29 16:32:31,252.252 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:32:31,314.314 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:32:31,316.316 INFO    ] No update needed
[2026-08-29 16:32:31,318.318 INFO    ] Checking for camera pi updates...
[2026-08-29 16:32:31,352.352 INFO    ] 200
[2026-08-29 16:32:31,354.354 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:32:31,395.395 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:32:31,499.499 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:32:31,501.501 INFO    ] No camera update needed
[2026-08-29 16:32:31,504.504 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:32:31,506.506 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:32:31,511.511 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:32:31,517.517 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:32:33,558.558 INFO    ] ================================================
[2026-08-29 16:32:33,574.574 INFO    ] Launching Daemon at Sat Aug 29 16:32:33 IST 2026
[2026-08-29 16:32:33,585.585 INFO    ] ================================================
[2026-08-29 16:32:33,954.954 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:32:33
[2026-08-29 16:32:34,506.506 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:32:34,782.782 INFO    ] Initializing speech engine...
[2026-08-29 16:32:34,787.787 INFO    ] 2026-08-29 16:32:34
[2026-08-29 16:32:35,048.048 INFO    ] 2026-08-29 16:32:35
[2026-08-29 16:32:35,078.078 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:32:35,243.243 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:32:35,256.256 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:32:35,380.380 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:32:35,403.403 INFO    ] time= 29/08/2026 16:32:35
[2026-08-29 16:32:35,408.408 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:32:35,414.414 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:32:35,477.477 INFO    ] No existing commands found in stream
[2026-08-29 16:32:40,489.489 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:32:40,492.492 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-08-29 16:32:42,588.588 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:32:42,590.590 INFO    ] Checking for system updates...
[2026-08-29 16:32:42,612.612 INFO    ] 200
[2026-08-29 16:32:42,614.614 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:32:42,647.647 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:32:42,649.649 INFO    ] No update needed
[2026-08-29 16:32:42,650.650 INFO    ] Checking for camera pi updates...
[2026-08-29 16:32:42,670.670 INFO    ] 200
[2026-08-29 16:32:42,672.672 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:32:42,695.695 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:32:42,895.895 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:32:42,897.897 INFO    ] No camera update needed
[2026-08-29 16:32:42,898.898 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:32:42,900.900 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:32:42,903.903 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:32:42,906.906 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:32:44,945.945 INFO    ] ================================================
[2026-08-29 16:32:44,961.961 INFO    ] Launching Daemon at Sat Aug 29 16:32:44 IST 2026
[2026-08-29 16:32:44,973.973 INFO    ] ================================================
[2026-08-29 16:32:45,307.307 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:32:45
[2026-08-29 16:32:45,619.619 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:32:45,759.759 INFO    ] Initializing speech engine...
[2026-08-29 16:32:45,769.769 INFO    ] 2026-08-29 16:32:45
[2026-08-29 16:32:45,973.973 INFO    ] 2026-08-29 16:32:45
[2026-08-29 16:32:46,003.003 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:32:46,118.118 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:32:46,119.119 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:32:46,272.272 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:32:46,324.324 INFO    ] time= 29/08/2026 16:32:46
[2026-08-29 16:32:46,349.349 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:32:46,402.402 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:32:46,524.524 INFO    ] No existing commands found in stream
[2026-08-29 16:32:51,541.541 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:32:51,544.544 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-08-29 16:32:55,563.563 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:32:55,564.564 INFO    ] Checking for system updates...
[2026-08-29 16:32:55,584.584 INFO    ] 200
[2026-08-29 16:32:55,586.586 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:32:55,616.616 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:32:55,617.617 INFO    ] No update needed
[2026-08-29 16:32:55,618.618 INFO    ] Checking for camera pi updates...
[2026-08-29 16:32:55,638.638 INFO    ] 200
[2026-08-29 16:32:55,639.639 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:32:55,662.662 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:32:55,738.738 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:32:55,739.739 INFO    ] No camera update needed
[2026-08-29 16:32:55,740.740 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:32:55,742.742 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:32:55,745.745 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:32:55,747.747 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:32:57,787.787 INFO    ] ================================================
[2026-08-29 16:32:57,803.803 INFO    ] Launching Daemon at Sat Aug 29 16:32:57 IST 2026
[2026-08-29 16:32:57,814.814 INFO    ] ================================================
[2026-08-29 16:32:58,154.154 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:32:58
[2026-08-29 16:32:58,471.471 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:32:58,730.730 INFO    ] Initializing speech engine...
[2026-08-29 16:32:58,740.740 INFO    ] 2026-08-29 16:32:58
[2026-08-29 16:32:59,004.004 INFO    ] 2026-08-29 16:32:58
[2026-08-29 16:32:59,077.077 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:32:59,300.300 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:32:59,311.311 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:32:59,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:32:59,516.516 INFO    ] time= 29/08/2026 16:32:59
[2026-08-29 16:32:59,578.578 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:32:59,585.585 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:32:59,708.708 INFO    ] No existing commands found in stream
[2026-08-29 16:33:04,718.718 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:33:04,721.721 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-08-29 16:33:07,295.295 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:33:07,297.297 INFO    ] Checking for system updates...
[2026-08-29 16:33:07,318.318 INFO    ] 200
[2026-08-29 16:33:07,319.319 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:33:07,350.350 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:33:07,351.351 INFO    ] No update needed
[2026-08-29 16:33:07,353.353 INFO    ] Checking for camera pi updates...
[2026-08-29 16:33:07,375.375 INFO    ] 200
[2026-08-29 16:33:07,376.376 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:33:07,400.400 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:33:07,486.486 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:33:07,487.487 INFO    ] No camera update needed
[2026-08-29 16:33:07,489.489 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:33:07,490.490 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:33:07,493.493 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:33:07,496.496 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:33:09,537.537 INFO    ] ================================================
[2026-08-29 16:33:09,553.553 INFO    ] Launching Daemon at Sat Aug 29 16:33:09 IST 2026
[2026-08-29 16:33:09,564.564 INFO    ] ================================================
[2026-08-29 16:33:09,923.923 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:33:09
[2026-08-29 16:33:10,240.240 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:33:10,382.382 INFO    ] Initializing speech engine...
[2026-08-29 16:33:10,387.387 INFO    ] 2026-08-29 16:33:10
[2026-08-29 16:33:10,590.590 INFO    ] 2026-08-29 16:33:10
[2026-08-29 16:33:10,618.618 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:33:10,751.751 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:33:10,804.804 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:33:10,937.937 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:33:11,005.005 INFO    ] time= 29/08/2026 16:33:10
[2026-08-29 16:33:11,033.033 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:33:11,038.038 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:33:11,104.104 INFO    ] No existing commands found in stream
[2026-08-29 16:33:16,115.115 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:33:16,117.117 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-08-29 16:33:17,206.206 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:33:17,208.208 INFO    ] Checking for system updates...
[2026-08-29 16:33:17,228.228 INFO    ] 200
[2026-08-29 16:33:17,229.229 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:33:17,259.259 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:33:17,260.260 INFO    ] No update needed
[2026-08-29 16:33:17,262.262 INFO    ] Checking for camera pi updates...
[2026-08-29 16:33:17,282.282 INFO    ] 200
[2026-08-29 16:33:17,283.283 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:33:17,306.306 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:33:17,408.408 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:33:17,410.410 INFO    ] No camera update needed
[2026-08-29 16:33:17,413.413 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:33:17,415.415 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:33:17,420.420 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:33:17,425.425 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:33:19,465.465 INFO    ] ================================================
[2026-08-29 16:33:19,480.480 INFO    ] Launching Daemon at Sat Aug 29 16:33:19 IST 2026
[2026-08-29 16:33:19,492.492 INFO    ] ================================================
[2026-08-29 16:33:20,076.076 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:33:20
[2026-08-29 16:33:20,544.544 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:33:20,683.683 INFO    ] Initializing speech engine...
[2026-08-29 16:33:20,694.694 INFO    ] 2026-08-29 16:33:20
[2026-08-29 16:33:20,898.898 INFO    ] 2026-08-29 16:33:20
[2026-08-29 16:33:20,927.927 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:33:21,049.049 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:33:21,087.087 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:33:21,212.212 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:33:21,251.251 INFO    ] time= 29/08/2026 16:33:21
[2026-08-29 16:33:21,297.297 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:33:21,338.338 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:33:21,437.437 INFO    ] No existing commands found in stream
[2026-08-29 16:33:26,446.446 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:33:26,449.449 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-08-29 16:33:29,933.933 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:33:29,934.934 INFO    ] Checking for system updates...
[2026-08-29 16:33:29,955.955 INFO    ] 200
[2026-08-29 16:33:29,956.956 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:33:29,988.988 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:33:29,990.990 INFO    ] No update needed
[2026-08-29 16:33:29,991.991 INFO    ] Checking for camera pi updates...
[2026-08-29 16:33:30,011.011 INFO    ] 200
[2026-08-29 16:33:30,012.012 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:33:30,035.035 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:33:30,138.138 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:33:30,139.139 INFO    ] No camera update needed
[2026-08-29 16:33:30,141.141 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:33:30,142.142 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:33:30,145.145 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:33:30,148.148 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:33:32,195.195 INFO    ] ================================================
[2026-08-29 16:33:32,212.212 INFO    ] Launching Daemon at Sat Aug 29 16:33:32 IST 2026
[2026-08-29 16:33:32,224.224 INFO    ] ================================================
[2026-08-29 16:33:32,948.948 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:33:32
[2026-08-29 16:33:33,655.655 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:33:33,981.981 INFO    ] Initializing speech engine...
[2026-08-29 16:33:33,991.991 INFO    ] 2026-08-29 16:33:33
[2026-08-29 16:33:34,301.301 INFO    ] 2026-08-29 16:33:34
[2026-08-29 16:33:34,388.388 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:33:34,539.539 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:33:34,550.550 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:33:34,683.683 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:33:34,732.732 INFO    ] time= 29/08/2026 16:33:34
[2026-08-29 16:33:34,751.751 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:33:34,811.811 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:33:34,877.877 INFO    ] No existing commands found in stream
[2026-08-29 16:33:39,890.890 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:33:39,894.894 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-08-29 16:33:43,069.069 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:33:43,070.070 INFO    ] Checking for system updates...
[2026-08-29 16:33:43,091.091 INFO    ] 200
[2026-08-29 16:33:43,093.093 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:33:43,122.122 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:33:43,124.124 INFO    ] No update needed
[2026-08-29 16:33:43,125.125 INFO    ] Checking for camera pi updates...
[2026-08-29 16:33:43,144.144 INFO    ] 200
[2026-08-29 16:33:43,146.146 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:33:43,168.168 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:33:43,253.253 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:33:43,254.254 INFO    ] No camera update needed
[2026-08-29 16:33:43,256.256 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:33:43,257.257 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:33:43,260.260 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:33:43,262.262 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:33:45,301.301 INFO    ] ================================================
[2026-08-29 16:33:45,316.316 INFO    ] Launching Daemon at Sat Aug 29 16:33:45 IST 2026
[2026-08-29 16:33:45,327.327 INFO    ] ================================================
[2026-08-29 16:33:45,705.705 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:33:45
[2026-08-29 16:33:46,048.048 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:33:46,204.204 INFO    ] Initializing speech engine...
[2026-08-29 16:33:46,208.208 INFO    ] 2026-08-29 16:33:46
[2026-08-29 16:33:46,410.410 INFO    ] 2026-08-29 16:33:46
[2026-08-29 16:33:46,454.454 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:33:46,678.678 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:33:46,688.688 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:33:46,822.822 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:33:46,896.896 INFO    ] time= 29/08/2026 16:33:46
[2026-08-29 16:33:46,955.955 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:33:46,973.973 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:33:47,083.083 INFO    ] No existing commands found in stream
[2026-08-29 16:33:52,114.114 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:33:52,117.117 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-08-29 16:33:53,407.407 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:33:53,408.408 INFO    ] Checking for system updates...
[2026-08-29 16:33:53,430.430 INFO    ] 200
[2026-08-29 16:33:53,431.431 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:33:53,465.465 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:33:53,466.466 INFO    ] No update needed
[2026-08-29 16:33:53,467.467 INFO    ] Checking for camera pi updates...
[2026-08-29 16:33:53,487.487 INFO    ] 200
[2026-08-29 16:33:53,488.488 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:33:53,511.511 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:33:53,621.621 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:33:53,622.622 INFO    ] No camera update needed
[2026-08-29 16:33:53,623.623 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:33:53,625.625 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:33:53,628.628 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:33:53,630.630 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:33:55,669.669 INFO    ] ================================================
[2026-08-29 16:33:55,685.685 INFO    ] Launching Daemon at Sat Aug 29 16:33:55 IST 2026
[2026-08-29 16:33:55,695.695 INFO    ] ================================================
[2026-08-29 16:33:56,221.221 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:33:56
[2026-08-29 16:33:56,806.806 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:33:57,053.053 INFO    ] Initializing speech engine...
[2026-08-29 16:33:57,058.058 INFO    ] 2026-08-29 16:33:57
[2026-08-29 16:33:57,339.339 INFO    ] 2026-08-29 16:33:57
[2026-08-29 16:33:57,375.375 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:33:57,555.555 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:33:57,568.568 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:33:57,681.681 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:33:57,686.686 INFO    ] time= 29/08/2026 16:33:57
[2026-08-29 16:33:57,703.703 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:33:57,724.724 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:33:57,799.799 INFO    ] No existing commands found in stream
[2026-08-29 16:34:02,811.811 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:34:02,815.815 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-08-29 16:34:04,474.474 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:34:04,477.477 INFO    ] Checking for system updates...
[2026-08-29 16:34:04,513.513 INFO    ] 200
[2026-08-29 16:34:04,516.516 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:34:04,568.568 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:34:04,570.570 INFO    ] No update needed
[2026-08-29 16:34:04,571.571 INFO    ] Checking for camera pi updates...
[2026-08-29 16:34:04,596.596 INFO    ] 200
[2026-08-29 16:34:04,597.597 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:34:04,620.620 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:34:04,711.711 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:34:04,714.714 INFO    ] No camera update needed
[2026-08-29 16:34:04,716.716 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:34:04,718.718 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:34:04,723.723 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:34:04,728.728 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:34:06,770.770 INFO    ] ================================================
[2026-08-29 16:34:06,785.785 INFO    ] Launching Daemon at Sat Aug 29 16:34:06 IST 2026
[2026-08-29 16:34:06,796.796 INFO    ] ================================================
[2026-08-29 16:34:07,393.393 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:34:07
[2026-08-29 16:34:07,914.914 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:34:08,205.205 INFO    ] Initializing speech engine...
[2026-08-29 16:34:08,211.211 INFO    ] 2026-08-29 16:34:08
[2026-08-29 16:34:08,474.474 INFO    ] 2026-08-29 16:34:08
[2026-08-29 16:34:08,528.528 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:34:09,000.000 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:34:09,006.006 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:34:09,406.406 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:34:09,451.451 INFO    ] time= 29/08/2026 16:34:09
[2026-08-29 16:34:09,462.462 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:34:09,465.465 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:34:09,829.829 INFO    ] No existing commands found in stream
[2026-08-29 16:34:14,839.839 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:34:14,842.842 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-08-29 16:34:18,072.072 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:34:18,073.073 INFO    ] Checking for system updates...
[2026-08-29 16:34:18,094.094 INFO    ] 200
[2026-08-29 16:34:18,095.095 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:34:18,125.125 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:34:18,126.126 INFO    ] No update needed
[2026-08-29 16:34:18,128.128 INFO    ] Checking for camera pi updates...
[2026-08-29 16:34:18,147.147 INFO    ] 200
[2026-08-29 16:34:18,148.148 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:34:18,175.175 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:34:18,253.253 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:34:18,255.255 INFO    ] No camera update needed
[2026-08-29 16:34:18,256.256 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:34:18,257.257 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:34:18,260.260 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:34:18,263.263 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:34:20,297.297 INFO    ] ================================================
[2026-08-29 16:34:20,312.312 INFO    ] Launching Daemon at Sat Aug 29 16:34:20 IST 2026
[2026-08-29 16:34:20,323.323 INFO    ] ================================================
[2026-08-29 16:34:20,675.675 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:34:20
[2026-08-29 16:34:21,323.323 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:34:21,621.621 INFO    ] Initializing speech engine...
[2026-08-29 16:34:21,632.632 INFO    ] 2026-08-29 16:34:21
[2026-08-29 16:34:21,905.905 INFO    ] 2026-08-29 16:34:21
[2026-08-29 16:34:21,965.965 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:34:22,196.196 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:34:22,206.206 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:34:22,343.343 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:34:22,350.350 INFO    ] time= 29/08/2026 16:34:22
[2026-08-29 16:34:22,409.409 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:34:22,469.469 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:34:22,537.537 INFO    ] No existing commands found in stream
[2026-08-29 16:34:27,550.550 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:34:27,554.554 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-08-29 16:34:28,393.393 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:34:28,395.395 INFO    ] Checking for system updates...
[2026-08-29 16:34:28,415.415 INFO    ] 200
[2026-08-29 16:34:28,417.417 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:34:28,447.447 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:34:28,448.448 INFO    ] No update needed
[2026-08-29 16:34:28,449.449 INFO    ] Checking for camera pi updates...
[2026-08-29 16:34:28,470.470 INFO    ] 200
[2026-08-29 16:34:28,471.471 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:34:28,496.496 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:34:28,604.604 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:34:28,605.605 INFO    ] No camera update needed
[2026-08-29 16:34:28,606.606 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:34:28,607.607 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:34:28,610.610 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:34:28,613.613 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:34:30,651.651 INFO    ] ================================================
[2026-08-29 16:34:30,666.666 INFO    ] Launching Daemon at Sat Aug 29 16:34:30 IST 2026
[2026-08-29 16:34:30,677.677 INFO    ] ================================================
[2026-08-29 16:34:31,028.028 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:34:31
[2026-08-29 16:34:31,593.593 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:34:31,870.870 INFO    ] Initializing speech engine...
[2026-08-29 16:34:31,876.876 INFO    ] 2026-08-29 16:34:31
[2026-08-29 16:34:32,198.198 INFO    ] 2026-08-29 16:34:32
[2026-08-29 16:34:32,240.240 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:34:32,396.396 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:34:32,404.404 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:34:32,567.567 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:34:32,584.584 INFO    ] time= 29/08/2026 16:34:32
[2026-08-29 16:34:32,592.592 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:34:32,616.616 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:34:32,669.669 INFO    ] No existing commands found in stream
[2026-08-29 16:34:37,680.680 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:34:37,683.683 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-08-29 16:34:40,973.973 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:34:40,975.975 INFO    ] Checking for system updates...
[2026-08-29 16:34:40,997.997 INFO    ] 200
[2026-08-29 16:34:40,998.998 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:34:41,028.028 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:34:41,029.029 INFO    ] No update needed
[2026-08-29 16:34:41,030.030 INFO    ] Checking for camera pi updates...
[2026-08-29 16:34:41,051.051 INFO    ] 200
[2026-08-29 16:34:41,052.052 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:34:41,075.075 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:34:41,164.164 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:34:41,165.165 INFO    ] No camera update needed
[2026-08-29 16:34:41,166.166 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:34:41,167.167 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:34:41,170.170 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:34:41,173.173 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:34:43,212.212 INFO    ] ================================================
[2026-08-29 16:34:43,227.227 INFO    ] Launching Daemon at Sat Aug 29 16:34:43 IST 2026
[2026-08-29 16:34:43,238.238 INFO    ] ================================================
[2026-08-29 16:34:43,602.602 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:34:43
[2026-08-29 16:34:43,938.938 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:34:44,212.212 INFO    ] Initializing speech engine...
[2026-08-29 16:34:44,221.221 INFO    ] 2026-08-29 16:34:44
[2026-08-29 16:34:44,473.473 INFO    ] 2026-08-29 16:34:44
[2026-08-29 16:34:44,509.509 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:34:44,686.686 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:34:44,698.698 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:34:44,828.828 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:34:44,850.850 INFO    ] time= 29/08/2026 16:34:44
[2026-08-29 16:34:44,856.856 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:34:44,862.862 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:34:44,928.928 INFO    ] No existing commands found in stream
[2026-08-29 16:34:49,941.941 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:34:49,944.944 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-08-29 16:34:53,627.627 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:34:53,628.628 INFO    ] Checking for system updates...
[2026-08-29 16:34:53,648.648 INFO    ] 200
[2026-08-29 16:34:53,650.650 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:34:53,680.680 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:34:53,681.681 INFO    ] No update needed
[2026-08-29 16:34:53,683.683 INFO    ] Checking for camera pi updates...
[2026-08-29 16:34:53,702.702 INFO    ] 200
[2026-08-29 16:34:53,703.703 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:34:53,726.726 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:34:53,919.919 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:34:53,920.920 INFO    ] No camera update needed
[2026-08-29 16:34:53,921.921 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:34:53,923.923 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:34:53,926.926 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:34:53,928.928 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:34:55,967.967 INFO    ] ================================================
[2026-08-29 16:34:55,983.983 INFO    ] Launching Daemon at Sat Aug 29 16:34:55 IST 2026
[2026-08-29 16:34:55,994.994 INFO    ] ================================================
[2026-08-29 16:34:56,318.318 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:34:56
[2026-08-29 16:34:56,635.635 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:34:56,767.767 INFO    ] Initializing speech engine...
[2026-08-29 16:34:56,771.771 INFO    ] 2026-08-29 16:34:56
[2026-08-29 16:34:56,989.989 INFO    ] 2026-08-29 16:34:56
[2026-08-29 16:34:57,017.017 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:34:57,174.174 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:34:57,206.206 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:34:57,354.354 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:34:57,363.363 INFO    ] time= 29/08/2026 16:34:57
[2026-08-29 16:34:57,371.371 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:34:57,412.412 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:34:57,512.512 INFO    ] No existing commands found in stream
[2026-08-29 16:35:02,534.534 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:35:02,538.538 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-08-29 16:35:03,446.446 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:35:03,449.449 INFO    ] Checking for system updates...
[2026-08-29 16:35:03,487.487 INFO    ] 200
[2026-08-29 16:35:03,490.490 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:35:03,548.548 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:35:03,550.550 INFO    ] No update needed
[2026-08-29 16:35:03,553.553 INFO    ] Checking for camera pi updates...
[2026-08-29 16:35:03,589.589 INFO    ] 200
[2026-08-29 16:35:03,592.592 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:35:03,634.634 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:35:03,768.768 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:35:03,770.770 INFO    ] No camera update needed
[2026-08-29 16:35:03,773.773 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:35:03,775.775 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:35:03,781.781 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:35:03,786.786 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:35:05,830.830 INFO    ] ================================================
[2026-08-29 16:35:05,845.845 INFO    ] Launching Daemon at Sat Aug 29 16:35:05 IST 2026
[2026-08-29 16:35:05,856.856 INFO    ] ================================================
[2026-08-29 16:35:06,374.374 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:35:06
[2026-08-29 16:35:06,958.958 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:35:07,230.230 INFO    ] Initializing speech engine...
[2026-08-29 16:35:07,239.239 INFO    ] 2026-08-29 16:35:07
[2026-08-29 16:35:07,488.488 INFO    ] 2026-08-29 16:35:07
[2026-08-29 16:35:07,523.523 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:35:07,697.697 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:35:07,712.712 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:35:07,856.856 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:35:07,863.863 INFO    ] time= 29/08/2026 16:35:07
[2026-08-29 16:35:07,868.868 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:35:07,876.876 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:35:08,013.013 INFO    ] No existing commands found in stream
[2026-08-29 16:35:13,038.038 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:35:13,041.041 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-08-29 16:35:17,910.910 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:35:17,912.912 INFO    ] Checking for system updates...
[2026-08-29 16:35:17,933.933 INFO    ] 200
[2026-08-29 16:35:17,934.934 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:35:17,964.964 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:35:17,966.966 INFO    ] No update needed
[2026-08-29 16:35:17,967.967 INFO    ] Checking for camera pi updates...
[2026-08-29 16:35:17,987.987 INFO    ] 200
[2026-08-29 16:35:17,988.988 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:35:18,013.013 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:35:18,090.090 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:35:18,091.091 INFO    ] No camera update needed
[2026-08-29 16:35:18,098.098 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:35:18,099.099 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:35:18,102.102 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:35:18,105.105 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:35:20,143.143 INFO    ] ================================================
[2026-08-29 16:35:20,158.158 INFO    ] Launching Daemon at Sat Aug 29 16:35:20 IST 2026
[2026-08-29 16:35:20,169.169 INFO    ] ================================================
[2026-08-29 16:35:20,496.496 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:35:20
[2026-08-29 16:35:20,806.806 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:35:20,939.939 INFO    ] Initializing speech engine...
[2026-08-29 16:35:20,951.951 INFO    ] 2026-08-29 16:35:20
[2026-08-29 16:35:21,159.159 INFO    ] 2026-08-29 16:35:21
[2026-08-29 16:35:21,187.187 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:35:21,372.372 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:35:21,375.375 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:35:21,506.506 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:35:21,561.561 INFO    ] time= 29/08/2026 16:35:21
[2026-08-29 16:35:21,601.601 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:35:21,606.606 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:35:21,679.679 INFO    ] No existing commands found in stream
[2026-08-29 16:35:26,688.688 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:35:26,691.691 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-08-29 16:35:28,970.970 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:35:28,972.972 INFO    ] Checking for system updates...
[2026-08-29 16:35:28,992.992 INFO    ] 200
[2026-08-29 16:35:28,994.994 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:35:29,023.023 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:35:29,025.025 INFO    ] No update needed
[2026-08-29 16:35:29,026.026 INFO    ] Checking for camera pi updates...
[2026-08-29 16:35:29,045.045 INFO    ] 200
[2026-08-29 16:35:29,046.046 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:35:29,072.072 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:35:29,169.169 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:35:29,171.171 INFO    ] No camera update needed
[2026-08-29 16:35:29,174.174 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:35:29,176.176 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:35:29,181.181 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:35:29,186.186 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:35:31,225.225 INFO    ] ================================================
[2026-08-29 16:35:31,240.240 INFO    ] Launching Daemon at Sat Aug 29 16:35:31 IST 2026
[2026-08-29 16:35:31,251.251 INFO    ] ================================================
[2026-08-29 16:35:31,854.854 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:35:31
[2026-08-29 16:35:32,347.347 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:35:32,604.604 INFO    ] Initializing speech engine...
[2026-08-29 16:35:32,610.610 INFO    ] 2026-08-29 16:35:32
[2026-08-29 16:35:32,879.879 INFO    ] 2026-08-29 16:35:32
[2026-08-29 16:35:32,915.915 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:35:33,086.086 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:35:33,098.098 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:35:33,239.239 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:35:33,248.248 INFO    ] time= 29/08/2026 16:35:33
[2026-08-29 16:35:33,254.254 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:35:33,274.274 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:35:33,398.398 INFO    ] No existing commands found in stream
[2026-08-29 16:35:38,428.428 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:35:38,430.430 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-08-29 16:35:41,944.944 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:35:41,946.946 INFO    ] Checking for system updates...
[2026-08-29 16:35:41,967.967 INFO    ] 200
[2026-08-29 16:35:41,968.968 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:35:42,000.000 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:35:42,001.001 INFO    ] No update needed
[2026-08-29 16:35:42,002.002 INFO    ] Checking for camera pi updates...
[2026-08-29 16:35:42,023.023 INFO    ] 200
[2026-08-29 16:35:42,024.024 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:35:42,048.048 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:35:42,152.152 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:35:42,153.153 INFO    ] No camera update needed
[2026-08-29 16:35:42,155.155 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:35:42,156.156 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:35:42,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:35:42,161.161 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:35:44,199.199 INFO    ] ================================================
[2026-08-29 16:35:44,214.214 INFO    ] Launching Daemon at Sat Aug 29 16:35:44 IST 2026
[2026-08-29 16:35:44,225.225 INFO    ] ================================================
[2026-08-29 16:35:44,684.684 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:35:44
[2026-08-29 16:35:45,284.284 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:35:45,560.560 INFO    ] Initializing speech engine...
[2026-08-29 16:35:45,569.569 INFO    ] 2026-08-29 16:35:45
[2026-08-29 16:35:45,831.831 INFO    ] 2026-08-29 16:35:45
[2026-08-29 16:35:45,868.868 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:35:46,059.059 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:35:46,066.066 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:35:46,199.199 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:35:46,204.204 INFO    ] time= 29/08/2026 16:35:46
[2026-08-29 16:35:46,223.223 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:35:46,246.246 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:35:46,327.327 INFO    ] No existing commands found in stream
[2026-08-29 16:35:51,340.340 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:35:51,343.343 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-08-29 16:35:54,571.571 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:35:54,573.573 INFO    ] Checking for system updates...
[2026-08-29 16:35:54,594.594 INFO    ] 200
[2026-08-29 16:35:54,596.596 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:35:54,627.627 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:35:54,629.629 INFO    ] No update needed
[2026-08-29 16:35:54,630.630 INFO    ] Checking for camera pi updates...
[2026-08-29 16:35:54,649.649 INFO    ] 200
[2026-08-29 16:35:54,650.650 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:35:54,675.675 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:35:54,762.762 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:35:54,764.764 INFO    ] No camera update needed
[2026-08-29 16:35:54,765.765 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:35:54,766.766 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:35:54,769.769 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:35:54,772.772 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:35:56,810.810 INFO    ] ================================================
[2026-08-29 16:35:56,826.826 INFO    ] Launching Daemon at Sat Aug 29 16:35:56 IST 2026
[2026-08-29 16:35:56,837.837 INFO    ] ================================================
[2026-08-29 16:35:57,185.185 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:35:57
[2026-08-29 16:35:57,498.498 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:35:57,648.648 INFO    ] Initializing speech engine...
[2026-08-29 16:35:57,660.660 INFO    ] 2026-08-29 16:35:57
[2026-08-29 16:35:57,908.908 INFO    ] 2026-08-29 16:35:57
[2026-08-29 16:35:57,946.946 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:35:58,151.151 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:35:58,159.159 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:35:58,294.294 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:35:58,315.315 INFO    ] time= 29/08/2026 16:35:58
[2026-08-29 16:35:58,340.340 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:35:58,345.345 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:35:58,420.420 INFO    ] No existing commands found in stream
[2026-08-29 16:36:03,446.446 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:36:03,449.449 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 16:36:07,232.232 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:36:07,234.234 INFO    ] Checking for system updates...
[2026-08-29 16:36:07,256.256 INFO    ] 200
[2026-08-29 16:36:07,257.257 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:36:07,289.289 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:36:07,291.291 INFO    ] No update needed
[2026-08-29 16:36:07,292.292 INFO    ] Checking for camera pi updates...
[2026-08-29 16:36:07,311.311 INFO    ] 200
[2026-08-29 16:36:07,312.312 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:36:07,339.339 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:36:07,436.436 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:36:07,437.437 INFO    ] No camera update needed
[2026-08-29 16:36:07,438.438 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:36:07,440.440 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:36:07,443.443 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:36:07,445.445 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:36:09,483.483 INFO    ] ================================================
[2026-08-29 16:36:09,499.499 INFO    ] Launching Daemon at Sat Aug 29 16:36:09 IST 2026
[2026-08-29 16:36:09,510.510 INFO    ] ================================================
[2026-08-29 16:36:09,853.853 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:36:09
[2026-08-29 16:36:10,163.163 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:36:10,297.297 INFO    ] Initializing speech engine...
[2026-08-29 16:36:10,300.300 INFO    ] 2026-08-29 16:36:10
[2026-08-29 16:36:10,496.496 INFO    ] 2026-08-29 16:36:10
[2026-08-29 16:36:10,540.540 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:36:10,691.691 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:36:10,749.749 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:36:10,927.927 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:36:10,951.951 INFO    ] time= 29/08/2026 16:36:10
[2026-08-29 16:36:10,996.996 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:36:11,040.040 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:36:11,132.132 INFO    ] No existing commands found in stream
[2026-08-29 16:36:16,151.151 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:36:16,154.154 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-08-29 16:36:17,829.829 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:36:17,831.831 INFO    ] Checking for system updates...
[2026-08-29 16:36:17,851.851 INFO    ] 200
[2026-08-29 16:36:17,852.852 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:36:17,884.884 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:36:17,886.886 INFO    ] No update needed
[2026-08-29 16:36:17,887.887 INFO    ] Checking for camera pi updates...
[2026-08-29 16:36:17,909.909 INFO    ] 200
[2026-08-29 16:36:17,911.911 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:36:17,935.935 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:36:18,048.048 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:36:18,049.049 INFO    ] No camera update needed
[2026-08-29 16:36:18,051.051 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:36:18,052.052 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:36:18,055.055 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:36:18,058.058 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:36:20,098.098 INFO    ] ================================================
[2026-08-29 16:36:20,114.114 INFO    ] Launching Daemon at Sat Aug 29 16:36:20 IST 2026
[2026-08-29 16:36:20,125.125 INFO    ] ================================================
[2026-08-29 16:36:20,477.477 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:36:20
[2026-08-29 16:36:21,119.119 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:36:21,419.419 INFO    ] Initializing speech engine...
[2026-08-29 16:36:21,443.443 INFO    ] 2026-08-29 16:36:21
[2026-08-29 16:36:21,723.723 INFO    ] 2026-08-29 16:36:21
[2026-08-29 16:36:21,760.760 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:36:21,988.988 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:36:21,998.998 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:36:22,135.135 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:36:22,177.177 INFO    ] time= 29/08/2026 16:36:22
[2026-08-29 16:36:22,252.252 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:36:22,277.277 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:36:22,333.333 INFO    ] No existing commands found in stream
[2026-08-29 16:36:27,345.345 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:36:27,358.358 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-08-29 16:36:27,711.711 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:36:27,713.713 INFO    ] Checking for system updates...
[2026-08-29 16:36:27,735.735 INFO    ] 200
[2026-08-29 16:36:27,736.736 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:36:27,771.771 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:36:27,773.773 INFO    ] No update needed
[2026-08-29 16:36:27,774.774 INFO    ] Checking for camera pi updates...
[2026-08-29 16:36:27,794.794 INFO    ] 200
[2026-08-29 16:36:27,795.795 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:36:27,820.820 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:36:27,899.899 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:36:27,902.902 INFO    ] No camera update needed
[2026-08-29 16:36:27,904.904 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:36:27,907.907 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:36:27,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:36:27,918.918 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:36:29,959.959 INFO    ] ================================================
[2026-08-29 16:36:29,975.975 INFO    ] Launching Daemon at Sat Aug 29 16:36:29 IST 2026
[2026-08-29 16:36:29,986.986 INFO    ] ================================================
[2026-08-29 16:36:30,618.618 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:36:30
[2026-08-29 16:36:31,069.069 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:36:31,336.336 INFO    ] Initializing speech engine...
[2026-08-29 16:36:31,350.350 INFO    ] 2026-08-29 16:36:31
[2026-08-29 16:36:31,620.620 INFO    ] 2026-08-29 16:36:31
[2026-08-29 16:36:31,663.663 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:36:31,865.865 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:36:31,893.893 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:36:32,009.009 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:36:32,017.017 INFO    ] time= 29/08/2026 16:36:32
[2026-08-29 16:36:32,080.080 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:36:32,103.103 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:36:32,215.215 INFO    ] No existing commands found in stream
[2026-08-29 16:36:37,224.224 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:36:37,227.227 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 16:36:40,684.684 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:36:40,971.971 INFO    ] Checking for system updates...
[2026-08-29 16:36:41,023.023 INFO    ] 200
[2026-08-29 16:36:41,026.026 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:36:41,088.088 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:36:41,091.091 INFO    ] No update needed
[2026-08-29 16:36:41,093.093 INFO    ] Checking for camera pi updates...
[2026-08-29 16:36:41,130.130 INFO    ] 200
[2026-08-29 16:36:41,133.133 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:36:41,175.175 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:36:41,278.278 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:36:41,281.281 INFO    ] No camera update needed
[2026-08-29 16:36:41,283.283 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:36:41,286.286 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:36:41,291.291 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:36:41,296.296 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:36:43,338.338 INFO    ] ================================================
[2026-08-29 16:36:43,354.354 INFO    ] Launching Daemon at Sat Aug 29 16:36:43 IST 2026
[2026-08-29 16:36:43,365.365 INFO    ] ================================================
[2026-08-29 16:36:43,886.886 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:36:43
[2026-08-29 16:36:44,203.203 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:36:44,354.354 INFO    ] Initializing speech engine...
[2026-08-29 16:36:44,367.367 INFO    ] 2026-08-29 16:36:44
[2026-08-29 16:36:44,632.632 INFO    ] 2026-08-29 16:36:44
[2026-08-29 16:36:44,669.669 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:36:44,841.841 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:36:44,854.854 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:36:44,994.994 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:36:45,003.003 INFO    ] time= 29/08/2026 16:36:44
[2026-08-29 16:36:45,009.009 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:36:45,021.021 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:36:45,158.158 INFO    ] No existing commands found in stream
[2026-08-29 16:36:50,184.184 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:36:50,186.186 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-08-29 16:36:51,620.620 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:36:51,622.622 INFO    ] Checking for system updates...
[2026-08-29 16:36:51,642.642 INFO    ] 200
[2026-08-29 16:36:51,644.644 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:36:51,676.676 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:36:51,677.677 INFO    ] No update needed
[2026-08-29 16:36:51,678.678 INFO    ] Checking for camera pi updates...
[2026-08-29 16:36:51,698.698 INFO    ] 200
[2026-08-29 16:36:51,700.700 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:36:51,723.723 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:36:51,823.823 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:36:51,824.824 INFO    ] No camera update needed
[2026-08-29 16:36:51,825.825 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:36:51,826.826 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:36:51,829.829 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:36:51,832.832 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:36:53,873.873 INFO    ] ================================================
[2026-08-29 16:36:53,894.894 INFO    ] Launching Daemon at Sat Aug 29 16:36:53 IST 2026
[2026-08-29 16:36:53,905.905 INFO    ] ================================================
[2026-08-29 16:36:54,244.244 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:36:54
[2026-08-29 16:36:54,577.577 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:36:54,726.726 INFO    ] Initializing speech engine...
[2026-08-29 16:36:54,732.732 INFO    ] 2026-08-29 16:36:54
[2026-08-29 16:36:54,938.938 INFO    ] 2026-08-29 16:36:54
[2026-08-29 16:36:54,967.967 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:36:55,115.115 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:36:55,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:36:55,329.329 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:36:55,360.360 INFO    ] time= 29/08/2026 16:36:55
[2026-08-29 16:36:55,410.410 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:36:55,462.462 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:36:55,559.559 INFO    ] No existing commands found in stream
[2026-08-29 16:37:00,585.585 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:37:00,588.588 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-08-29 16:37:04,252.252 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:37:04,255.255 INFO    ] Checking for system updates...
[2026-08-29 16:37:04,292.292 INFO    ] 200
[2026-08-29 16:37:04,295.295 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:37:04,347.347 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:37:04,350.350 INFO    ] No update needed
[2026-08-29 16:37:04,352.352 INFO    ] Checking for camera pi updates...
[2026-08-29 16:37:04,389.389 INFO    ] 200
[2026-08-29 16:37:04,392.392 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:37:04,440.440 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:37:04,525.525 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:37:04,527.527 INFO    ] No camera update needed
[2026-08-29 16:37:04,530.530 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:37:04,533.533 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:37:04,539.539 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:37:04,544.544 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:37:06,588.588 INFO    ] ================================================
[2026-08-29 16:37:06,607.607 INFO    ] Launching Daemon at Sat Aug 29 16:37:06 IST 2026
[2026-08-29 16:37:06,623.623 INFO    ] ================================================
[2026-08-29 16:37:06,948.948 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:37:06
[2026-08-29 16:37:07,260.260 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:37:07,484.484 INFO    ] Initializing speech engine...
[2026-08-29 16:37:07,494.494 INFO    ] 2026-08-29 16:37:07
[2026-08-29 16:37:07,743.743 INFO    ] 2026-08-29 16:37:07
[2026-08-29 16:37:07,779.779 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:37:07,956.956 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:37:07,968.968 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:37:08,096.096 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:37:08,116.116 INFO    ] time= 29/08/2026 16:37:08
[2026-08-29 16:37:08,124.124 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:37:08,130.130 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:37:08,196.196 INFO    ] No existing commands found in stream
[2026-08-29 16:37:13,208.208 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:37:13,210.210 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-08-29 16:37:17,251.251 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:37:17,253.253 INFO    ] Checking for system updates...
[2026-08-29 16:37:17,274.274 INFO    ] 200
[2026-08-29 16:37:17,276.276 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:37:17,307.307 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:37:17,309.309 INFO    ] No update needed
[2026-08-29 16:37:17,310.310 INFO    ] Checking for camera pi updates...
[2026-08-29 16:37:17,329.329 INFO    ] 200
[2026-08-29 16:37:17,330.330 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:37:17,354.354 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:37:17,437.437 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:37:17,438.438 INFO    ] No camera update needed
[2026-08-29 16:37:17,439.439 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:37:17,440.440 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:37:17,443.443 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:37:17,446.446 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:37:19,486.486 INFO    ] ================================================
[2026-08-29 16:37:19,502.502 INFO    ] Launching Daemon at Sat Aug 29 16:37:19 IST 2026
[2026-08-29 16:37:19,513.513 INFO    ] ================================================
[2026-08-29 16:37:19,850.850 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:37:19
[2026-08-29 16:37:20,167.167 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:37:20,396.396 INFO    ] Initializing speech engine...
[2026-08-29 16:37:20,405.405 INFO    ] 2026-08-29 16:37:20
[2026-08-29 16:37:20,666.666 INFO    ] 2026-08-29 16:37:20
[2026-08-29 16:37:20,722.722 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:37:20,941.941 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:37:20,950.950 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:37:21,082.082 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:37:21,104.104 INFO    ] time= 29/08/2026 16:37:21
[2026-08-29 16:37:21,169.169 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:37:21,215.215 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:37:21,267.267 INFO    ] No existing commands found in stream
[2026-08-29 16:37:26,279.279 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:37:26,282.282 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-08-29 16:37:28,715.715 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:37:28,716.716 INFO    ] Checking for system updates...
[2026-08-29 16:37:28,738.738 INFO    ] 200
[2026-08-29 16:37:28,740.740 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:37:28,775.775 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:37:28,777.777 INFO    ] No update needed
[2026-08-29 16:37:28,778.778 INFO    ] Checking for camera pi updates...
[2026-08-29 16:37:28,797.797 INFO    ] 200
[2026-08-29 16:37:28,799.799 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:37:28,839.839 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:37:28,923.923 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:37:28,926.926 INFO    ] No camera update needed
[2026-08-29 16:37:28,928.928 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:37:28,931.931 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:37:28,937.937 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:37:28,943.943 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:37:30,985.985 INFO    ] ================================================
[2026-08-29 16:37:31,001.001 INFO    ] Launching Daemon at Sat Aug 29 16:37:30 IST 2026
[2026-08-29 16:37:31,012.012 INFO    ] ================================================
[2026-08-29 16:37:31,656.656 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:37:31
[2026-08-29 16:37:32,202.202 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:37:32,508.508 INFO    ] Initializing speech engine...
[2026-08-29 16:37:32,515.515 INFO    ] 2026-08-29 16:37:32
[2026-08-29 16:37:32,777.777 INFO    ] 2026-08-29 16:37:32
[2026-08-29 16:37:32,818.818 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:37:33,037.037 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:37:33,055.055 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:37:33,169.169 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:37:33,174.174 INFO    ] time= 29/08/2026 16:37:33
[2026-08-29 16:37:33,189.189 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:37:33,213.213 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:37:33,287.287 INFO    ] No existing commands found in stream
[2026-08-29 16:37:38,300.300 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:37:38,303.303 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-08-29 16:37:42,120.120 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:37:42,121.121 INFO    ] Checking for system updates...
[2026-08-29 16:37:42,142.142 INFO    ] 200
[2026-08-29 16:37:42,143.143 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:37:42,175.175 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:37:42,177.177 INFO    ] No update needed
[2026-08-29 16:37:42,178.178 INFO    ] Checking for camera pi updates...
[2026-08-29 16:37:42,197.197 INFO    ] 200
[2026-08-29 16:37:42,198.198 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:37:42,223.223 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:37:42,334.334 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:37:42,335.335 INFO    ] No camera update needed
[2026-08-29 16:37:42,336.336 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:37:42,338.338 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:37:42,340.340 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:37:42,343.343 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:37:44,384.384 INFO    ] ================================================
[2026-08-29 16:37:44,400.400 INFO    ] Launching Daemon at Sat Aug 29 16:37:44 IST 2026
[2026-08-29 16:37:44,413.413 INFO    ] ================================================
[2026-08-29 16:37:44,798.798 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:37:44
[2026-08-29 16:37:45,142.142 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:37:45,295.295 INFO    ] Initializing speech engine...
[2026-08-29 16:37:45,301.301 INFO    ] 2026-08-29 16:37:45
[2026-08-29 16:37:45,513.513 INFO    ] 2026-08-29 16:37:45
[2026-08-29 16:37:45,542.542 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:37:45,668.668 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:37:45,706.706 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:37:45,866.866 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:37:45,918.918 INFO    ] time= 29/08/2026 16:37:45
[2026-08-29 16:37:45,958.958 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:37:45,990.990 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:37:46,104.104 INFO    ] No existing commands found in stream
[2026-08-29 16:37:51,135.135 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:37:51,138.138 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-08-29 16:37:51,841.841 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:37:51,843.843 INFO    ] Checking for system updates...
[2026-08-29 16:37:51,864.864 INFO    ] 200
[2026-08-29 16:37:51,866.866 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:37:51,898.898 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:37:51,900.900 INFO    ] No update needed
[2026-08-29 16:37:51,901.901 INFO    ] Checking for camera pi updates...
[2026-08-29 16:37:51,920.920 INFO    ] 200
[2026-08-29 16:37:51,921.921 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:37:51,944.944 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:37:52,021.021 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:37:52,023.023 INFO    ] No camera update needed
[2026-08-29 16:37:52,024.024 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:37:52,026.026 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:37:52,029.029 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:37:52,032.032 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:37:54,072.072 INFO    ] ================================================
[2026-08-29 16:37:54,087.087 INFO    ] Launching Daemon at Sat Aug 29 16:37:54 IST 2026
[2026-08-29 16:37:54,098.098 INFO    ] ================================================
[2026-08-29 16:37:54,648.648 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:37:54
[2026-08-29 16:37:55,249.249 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:37:55,528.528 INFO    ] Initializing speech engine...
[2026-08-29 16:37:55,533.533 INFO    ] 2026-08-29 16:37:55
[2026-08-29 16:37:55,784.784 INFO    ] 2026-08-29 16:37:55
[2026-08-29 16:37:55,819.819 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:37:55,992.992 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:37:56,006.006 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:37:56,151.151 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:37:56,156.156 INFO    ] time= 29/08/2026 16:37:56
[2026-08-29 16:37:56,164.164 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:37:56,210.210 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:37:56,330.330 INFO    ] No existing commands found in stream
[2026-08-29 16:38:01,361.361 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:38:01,364.364 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-08-29 16:38:05,195.195 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:38:05,197.197 INFO    ] Checking for system updates...
[2026-08-29 16:38:05,217.217 INFO    ] 200
[2026-08-29 16:38:05,218.218 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:38:05,253.253 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:38:05,255.255 INFO    ] No update needed
[2026-08-29 16:38:05,256.256 INFO    ] Checking for camera pi updates...
[2026-08-29 16:38:05,277.277 INFO    ] 200
[2026-08-29 16:38:05,279.279 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:38:05,302.302 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:38:05,383.383 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:38:05,384.384 INFO    ] No camera update needed
[2026-08-29 16:38:05,386.386 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:38:05,387.387 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:38:05,390.390 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:38:05,393.393 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:38:07,437.437 INFO    ] ================================================
[2026-08-29 16:38:07,459.459 INFO    ] Launching Daemon at Sat Aug 29 16:38:07 IST 2026
[2026-08-29 16:38:07,470.470 INFO    ] ================================================
[2026-08-29 16:38:07,913.913 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:38:07
[2026-08-29 16:38:08,548.548 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:38:08,848.848 INFO    ] Initializing speech engine...
[2026-08-29 16:38:08,860.860 INFO    ] 2026-08-29 16:38:08
[2026-08-29 16:38:09,132.132 INFO    ] 2026-08-29 16:38:09
[2026-08-29 16:38:09,187.187 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:38:09,356.356 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:38:09,380.380 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:38:09,504.504 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:38:09,548.548 INFO    ] time= 29/08/2026 16:38:09
[2026-08-29 16:38:09,570.570 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:38:09,613.613 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:38:09,676.676 INFO    ] No existing commands found in stream
[2026-08-29 16:38:14,686.686 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:38:14,689.689 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-08-29 16:38:17,107.107 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:38:17,108.108 INFO    ] Checking for system updates...
[2026-08-29 16:38:17,128.128 INFO    ] 200
[2026-08-29 16:38:17,130.130 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:38:17,162.162 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:38:17,163.163 INFO    ] No update needed
[2026-08-29 16:38:17,165.165 INFO    ] Checking for camera pi updates...
[2026-08-29 16:38:17,185.185 INFO    ] 200
[2026-08-29 16:38:17,186.186 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:38:17,211.211 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:38:17,287.287 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:38:17,289.289 INFO    ] No camera update needed
[2026-08-29 16:38:17,290.290 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:38:17,291.291 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:38:17,294.294 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:38:17,297.297 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:38:19,337.337 INFO    ] ================================================
[2026-08-29 16:38:19,353.353 INFO    ] Launching Daemon at Sat Aug 29 16:38:19 IST 2026
[2026-08-29 16:38:19,364.364 INFO    ] ================================================
[2026-08-29 16:38:19,938.938 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:38:19
[2026-08-29 16:38:20,491.491 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:38:20,705.705 INFO    ] Initializing speech engine...
[2026-08-29 16:38:20,723.723 INFO    ] 2026-08-29 16:38:20
[2026-08-29 16:38:20,979.979 INFO    ] 2026-08-29 16:38:20
[2026-08-29 16:38:21,014.014 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:38:21,192.192 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:38:21,204.204 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:38:21,317.317 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:38:21,335.335 INFO    ] time= 29/08/2026 16:38:21
[2026-08-29 16:38:21,355.355 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:38:21,363.363 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:38:21,435.435 INFO    ] No existing commands found in stream
[2026-08-29 16:38:26,450.450 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:38:26,453.453 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-08-29 16:38:27,933.933 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:38:27,935.935 INFO    ] Checking for system updates...
[2026-08-29 16:38:27,955.955 INFO    ] 200
[2026-08-29 16:38:27,957.957 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:38:27,989.989 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:38:27,991.991 INFO    ] No update needed
[2026-08-29 16:38:27,992.992 INFO    ] Checking for camera pi updates...
[2026-08-29 16:38:28,015.015 INFO    ] 200
[2026-08-29 16:38:28,017.017 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:38:28,043.043 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:38:28,124.124 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:38:28,127.127 INFO    ] No camera update needed
[2026-08-29 16:38:28,130.130 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:38:28,133.133 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:38:28,139.139 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:38:28,145.145 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:38:30,188.188 INFO    ] ================================================
[2026-08-29 16:38:30,204.204 INFO    ] Launching Daemon at Sat Aug 29 16:38:30 IST 2026
[2026-08-29 16:38:30,216.216 INFO    ] ================================================
[2026-08-29 16:38:30,788.788 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:38:30
[2026-08-29 16:38:31,268.268 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:38:31,406.406 INFO    ] Initializing speech engine...
[2026-08-29 16:38:31,419.419 INFO    ] 2026-08-29 16:38:31
[2026-08-29 16:38:31,637.637 INFO    ] 2026-08-29 16:38:31
[2026-08-29 16:38:31,668.668 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:38:31,800.800 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:38:31,810.810 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:38:31,974.974 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:38:32,019.019 INFO    ] time= 29/08/2026 16:38:31
[2026-08-29 16:38:32,054.054 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:38:32,061.061 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:38:32,121.121 INFO    ] No existing commands found in stream
[2026-08-29 16:38:37,133.133 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:38:37,136.136 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-08-29 16:38:41,408.408 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:38:41,409.409 INFO    ] Checking for system updates...
[2026-08-29 16:38:41,429.429 INFO    ] 200
[2026-08-29 16:38:41,431.431 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:38:41,460.460 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:38:41,462.462 INFO    ] No update needed
[2026-08-29 16:38:41,463.463 INFO    ] Checking for camera pi updates...
[2026-08-29 16:38:41,483.483 INFO    ] 200
[2026-08-29 16:38:41,485.485 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:38:41,509.509 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:38:41,588.588 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:38:41,589.589 INFO    ] No camera update needed
[2026-08-29 16:38:41,591.591 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:38:41,592.592 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:38:41,595.595 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:38:41,598.598 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:38:43,636.636 INFO    ] ================================================
[2026-08-29 16:38:43,652.652 INFO    ] Launching Daemon at Sat Aug 29 16:38:43 IST 2026
[2026-08-29 16:38:43,663.663 INFO    ] ================================================
[2026-08-29 16:38:44,207.207 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:38:44
[2026-08-29 16:38:44,804.804 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:38:45,066.066 INFO    ] Initializing speech engine...
[2026-08-29 16:38:45,075.075 INFO    ] 2026-08-29 16:38:45
[2026-08-29 16:38:45,374.374 INFO    ] 2026-08-29 16:38:45
[2026-08-29 16:38:45,410.410 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:38:45,559.559 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:38:45,566.566 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:38:45,721.721 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:38:45,731.731 INFO    ] time= 29/08/2026 16:38:45
[2026-08-29 16:38:45,736.736 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:38:45,741.741 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:38:45,809.809 INFO    ] No existing commands found in stream
[2026-08-29 16:38:50,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:38:50,824.824 INFO    ] Waiting 2.52 seconds before fallback handling...
[2026-08-29 16:38:53,705.705 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:38:53,707.707 INFO    ] Checking for system updates...
[2026-08-29 16:38:53,729.729 INFO    ] 200
[2026-08-29 16:38:53,730.730 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:38:53,762.762 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:38:53,764.764 INFO    ] No update needed
[2026-08-29 16:38:53,765.765 INFO    ] Checking for camera pi updates...
[2026-08-29 16:38:53,785.785 INFO    ] 200
[2026-08-29 16:38:53,786.786 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:38:53,809.809 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:38:53,889.889 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:38:53,890.890 INFO    ] No camera update needed
[2026-08-29 16:38:53,891.891 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:38:53,893.893 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:38:53,896.896 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:38:53,899.899 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:38:55,940.940 INFO    ] ================================================
[2026-08-29 16:38:55,956.956 INFO    ] Launching Daemon at Sat Aug 29 16:38:55 IST 2026
[2026-08-29 16:38:55,966.966 INFO    ] ================================================
[2026-08-29 16:38:56,332.332 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:38:56
[2026-08-29 16:38:56,673.673 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:38:56,828.828 INFO    ] Initializing speech engine...
[2026-08-29 16:38:56,832.832 INFO    ] 2026-08-29 16:38:56
[2026-08-29 16:38:57,044.044 INFO    ] 2026-08-29 16:38:57
[2026-08-29 16:38:57,073.073 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:38:57,198.198 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:38:57,262.262 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:38:57,403.403 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:38:57,472.472 INFO    ] time= 29/08/2026 16:38:57
[2026-08-29 16:38:57,497.497 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:38:57,503.503 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:38:57,571.571 INFO    ] No existing commands found in stream
[2026-08-29 16:39:02,583.583 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:39:02,587.587 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-08-29 16:39:05,048.048 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:39:05,050.050 INFO    ] Checking for system updates...
[2026-08-29 16:39:05,073.073 INFO    ] 200
[2026-08-29 16:39:05,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:39:05,110.110 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:39:05,112.112 INFO    ] No update needed
[2026-08-29 16:39:05,113.113 INFO    ] Checking for camera pi updates...
[2026-08-29 16:39:05,135.135 INFO    ] 200
[2026-08-29 16:39:05,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:39:05,160.160 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:39:05,341.341 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:39:05,343.343 INFO    ] No camera update needed
[2026-08-29 16:39:05,344.344 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:39:05,346.346 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:39:05,349.349 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:39:05,352.352 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:39:07,392.392 INFO    ] ================================================
[2026-08-29 16:39:07,408.408 INFO    ] Launching Daemon at Sat Aug 29 16:39:07 IST 2026
[2026-08-29 16:39:07,420.420 INFO    ] ================================================
[2026-08-29 16:39:07,790.790 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:39:07
[2026-08-29 16:39:08,131.131 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:39:08,284.284 INFO    ] Initializing speech engine...
[2026-08-29 16:39:08,289.289 INFO    ] 2026-08-29 16:39:08
[2026-08-29 16:39:08,496.496 INFO    ] 2026-08-29 16:39:08
[2026-08-29 16:39:08,525.525 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:39:08,649.649 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:39:08,712.712 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:39:08,846.846 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:39:08,914.914 INFO    ] time= 29/08/2026 16:39:08
[2026-08-29 16:39:08,941.941 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:39:08,948.948 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:39:09,015.015 INFO    ] No existing commands found in stream
[2026-08-29 16:39:14,030.030 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:39:14,033.033 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-08-29 16:39:17,749.749 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:39:17,751.751 INFO    ] Checking for system updates...
[2026-08-29 16:39:17,773.773 INFO    ] 200
[2026-08-29 16:39:17,775.775 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:39:17,807.807 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:39:17,809.809 INFO    ] No update needed
[2026-08-29 16:39:17,810.810 INFO    ] Checking for camera pi updates...
[2026-08-29 16:39:17,830.830 INFO    ] 200
[2026-08-29 16:39:17,831.831 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:39:17,856.856 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:39:17,956.956 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:39:17,958.958 INFO    ] No camera update needed
[2026-08-29 16:39:17,959.959 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:39:17,960.960 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:39:17,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:39:17,967.967 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:39:20,006.006 INFO    ] ================================================
[2026-08-29 16:39:20,021.021 INFO    ] Launching Daemon at Sat Aug 29 16:39:20 IST 2026
[2026-08-29 16:39:20,031.031 INFO    ] ================================================
[2026-08-29 16:39:20,389.389 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:39:20
[2026-08-29 16:39:20,707.707 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:39:20,841.841 INFO    ] Initializing speech engine...
[2026-08-29 16:39:20,853.853 INFO    ] 2026-08-29 16:39:20
[2026-08-29 16:39:21,048.048 INFO    ] 2026-08-29 16:39:21
[2026-08-29 16:39:21,090.090 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:39:21,316.316 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:39:21,322.322 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:39:21,460.460 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:39:21,525.525 INFO    ] time= 29/08/2026 16:39:21
[2026-08-29 16:39:21,581.581 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:39:21,588.588 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:39:21,713.713 INFO    ] No existing commands found in stream
[2026-08-29 16:39:26,738.738 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:39:26,741.741 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-08-29 16:39:28,444.444 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:39:28,445.445 INFO    ] Checking for system updates...
[2026-08-29 16:39:28,466.466 INFO    ] 200
[2026-08-29 16:39:28,467.467 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:39:28,496.496 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:39:28,498.498 INFO    ] No update needed
[2026-08-29 16:39:28,499.499 INFO    ] Checking for camera pi updates...
[2026-08-29 16:39:28,518.518 INFO    ] 200
[2026-08-29 16:39:28,519.519 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:39:28,542.542 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:39:28,632.632 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:39:28,633.633 INFO    ] No camera update needed
[2026-08-29 16:39:28,634.634 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:39:28,636.636 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:39:28,638.638 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:39:28,641.641 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:39:30,681.681 INFO    ] ================================================
[2026-08-29 16:39:30,696.696 INFO    ] Launching Daemon at Sat Aug 29 16:39:30 IST 2026
[2026-08-29 16:39:30,707.707 INFO    ] ================================================
[2026-08-29 16:39:31,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:39:31
[2026-08-29 16:39:31,422.422 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:39:31,657.657 INFO    ] Initializing speech engine...
[2026-08-29 16:39:31,669.669 INFO    ] 2026-08-29 16:39:31
[2026-08-29 16:39:31,980.980 INFO    ] 2026-08-29 16:39:31
[2026-08-29 16:39:32,028.028 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:39:32,272.272 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:39:32,282.282 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:39:32,423.423 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:39:32,464.464 INFO    ] time= 29/08/2026 16:39:32
[2026-08-29 16:39:32,529.529 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:39:32,559.559 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:39:32,619.619 INFO    ] No existing commands found in stream
[2026-08-29 16:39:37,640.640 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:39:37,643.643 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-08-29 16:39:40,088.088 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:39:40,089.089 INFO    ] Checking for system updates...
[2026-08-29 16:39:40,109.109 INFO    ] 200
[2026-08-29 16:39:40,111.111 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:39:40,143.143 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:39:40,145.145 INFO    ] No update needed
[2026-08-29 16:39:40,146.146 INFO    ] Checking for camera pi updates...
[2026-08-29 16:39:40,167.167 INFO    ] 200
[2026-08-29 16:39:40,168.168 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:39:40,191.191 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:39:40,283.283 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:39:40,284.284 INFO    ] No camera update needed
[2026-08-29 16:39:40,285.285 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:39:40,286.286 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:39:40,289.289 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:39:40,292.292 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:39:42,331.331 INFO    ] ================================================
[2026-08-29 16:39:42,347.347 INFO    ] Launching Daemon at Sat Aug 29 16:39:42 IST 2026
[2026-08-29 16:39:42,358.358 INFO    ] ================================================
[2026-08-29 16:39:42,689.689 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:39:42
[2026-08-29 16:39:43,000.000 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:39:43,132.132 INFO    ] Initializing speech engine...
[2026-08-29 16:39:43,136.136 INFO    ] 2026-08-29 16:39:43
[2026-08-29 16:39:43,328.328 INFO    ] 2026-08-29 16:39:43
[2026-08-29 16:39:43,373.373 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:39:43,497.497 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:39:43,500.500 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:39:43,610.610 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:39:43,621.621 INFO    ] time= 29/08/2026 16:39:43
[2026-08-29 16:39:43,638.638 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:39:43,643.643 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:39:43,714.714 INFO    ] No existing commands found in stream
[2026-08-29 16:39:48,744.744 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:39:48,746.746 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-08-29 16:39:49,315.315 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:39:49,316.316 INFO    ] Checking for system updates...
[2026-08-29 16:39:49,338.338 INFO    ] 200
[2026-08-29 16:39:49,339.339 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:39:49,371.371 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:39:49,373.373 INFO    ] No update needed
[2026-08-29 16:39:49,374.374 INFO    ] Checking for camera pi updates...
[2026-08-29 16:39:49,393.393 INFO    ] 200
[2026-08-29 16:39:49,394.394 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:39:49,419.419 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:39:49,495.495 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:39:49,497.497 INFO    ] No camera update needed
[2026-08-29 16:39:49,498.498 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:39:49,499.499 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:39:49,502.502 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:39:49,505.505 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:39:51,545.545 INFO    ] ================================================
[2026-08-29 16:39:51,562.562 INFO    ] Launching Daemon at Sat Aug 29 16:39:51 IST 2026
[2026-08-29 16:39:51,573.573 INFO    ] ================================================
[2026-08-29 16:39:51,933.933 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:39:51
[2026-08-29 16:39:52,276.276 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:39:52,558.558 INFO    ] Initializing speech engine...
[2026-08-29 16:39:52,570.570 INFO    ] 2026-08-29 16:39:52
[2026-08-29 16:39:52,884.884 INFO    ] 2026-08-29 16:39:52
[2026-08-29 16:39:52,969.969 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:39:53,127.127 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:39:53,148.148 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:39:53,265.265 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:39:53,341.341 INFO    ] time= 29/08/2026 16:39:53
[2026-08-29 16:39:53,393.393 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:39:53,412.412 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:39:53,537.537 INFO    ] No existing commands found in stream
[2026-08-29 16:39:58,559.559 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:39:58,562.562 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-08-29 16:40:00,850.850 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:40:00,854.854 INFO    ] Checking for system updates...
[2026-08-29 16:40:00,890.890 INFO    ] 200
[2026-08-29 16:40:00,893.893 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:40:00,947.947 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:40:00,950.950 INFO    ] No update needed
[2026-08-29 16:40:00,953.953 INFO    ] Checking for camera pi updates...
[2026-08-29 16:40:00,987.987 INFO    ] 200
[2026-08-29 16:40:00,990.990 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:40:01,031.031 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:40:01,111.111 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:40:01,114.114 INFO    ] No camera update needed
[2026-08-29 16:40:01,117.117 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:40:01,119.119 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:40:01,126.126 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:40:01,132.132 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:40:03,180.180 INFO    ] ================================================
[2026-08-29 16:40:03,199.199 INFO    ] Launching Daemon at Sat Aug 29 16:40:03 IST 2026
[2026-08-29 16:40:03,210.210 INFO    ] ================================================
[2026-08-29 16:40:03,794.794 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:40:03
[2026-08-29 16:40:04,161.161 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:40:04,303.303 INFO    ] Initializing speech engine...
[2026-08-29 16:40:04,307.307 INFO    ] 2026-08-29 16:40:04
[2026-08-29 16:40:04,554.554 INFO    ] 2026-08-29 16:40:04
[2026-08-29 16:40:04,591.591 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:40:04,763.763 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:40:04,775.775 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:40:04,917.917 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:40:04,926.926 INFO    ] time= 29/08/2026 16:40:04
[2026-08-29 16:40:04,932.932 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:40:04,974.974 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:40:05,096.096 INFO    ] No existing commands found in stream
[2026-08-29 16:40:10,126.126 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:40:10,129.129 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-08-29 16:40:12,868.868 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:40:12,870.870 INFO    ] Checking for system updates...
[2026-08-29 16:40:12,890.890 INFO    ] 200
[2026-08-29 16:40:12,892.892 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:40:12,921.921 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:40:12,923.923 INFO    ] No update needed
[2026-08-29 16:40:12,924.924 INFO    ] Checking for camera pi updates...
[2026-08-29 16:40:12,946.946 INFO    ] 200
[2026-08-29 16:40:12,947.947 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:40:12,972.972 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:40:13,051.051 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:40:13,053.053 INFO    ] No camera update needed
[2026-08-29 16:40:13,056.056 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:40:13,058.058 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:40:13,063.063 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:40:13,068.068 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:40:15,109.109 INFO    ] ================================================
[2026-08-29 16:40:15,125.125 INFO    ] Launching Daemon at Sat Aug 29 16:40:15 IST 2026
[2026-08-29 16:40:15,136.136 INFO    ] ================================================
[2026-08-29 16:40:15,702.702 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:40:15
[2026-08-29 16:40:16,214.214 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:40:16,393.393 INFO    ] Initializing speech engine...
[2026-08-29 16:40:16,402.402 INFO    ] 2026-08-29 16:40:16
[2026-08-29 16:40:16,656.656 INFO    ] 2026-08-29 16:40:16
[2026-08-29 16:40:16,691.691 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:40:16,869.869 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:40:16,881.881 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:40:17,026.026 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:40:17,035.035 INFO    ] time= 29/08/2026 16:40:17
[2026-08-29 16:40:17,039.039 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:40:17,045.045 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:40:17,112.112 INFO    ] No existing commands found in stream
[2026-08-29 16:40:22,129.129 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:40:22,132.132 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-08-29 16:40:25,728.728 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:40:25,730.730 INFO    ] Checking for system updates...
[2026-08-29 16:40:25,750.750 INFO    ] 200
[2026-08-29 16:40:25,751.751 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:40:25,784.784 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:40:25,785.785 INFO    ] No update needed
[2026-08-29 16:40:25,787.787 INFO    ] Checking for camera pi updates...
[2026-08-29 16:40:25,805.805 INFO    ] 200
[2026-08-29 16:40:25,807.807 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:40:25,831.831 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:40:25,904.904 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:40:25,906.906 INFO    ] No camera update needed
[2026-08-29 16:40:25,907.907 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:40:25,908.908 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:40:25,911.911 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:40:25,914.914 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:40:27,953.953 INFO    ] ================================================
[2026-08-29 16:40:27,969.969 INFO    ] Launching Daemon at Sat Aug 29 16:40:27 IST 2026
[2026-08-29 16:40:27,979.979 INFO    ] ================================================
[2026-08-29 16:40:28,347.347 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:40:28
[2026-08-29 16:40:28,663.663 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:40:28,884.884 INFO    ] Initializing speech engine...
[2026-08-29 16:40:28,890.890 INFO    ] 2026-08-29 16:40:28
[2026-08-29 16:40:29,151.151 INFO    ] 2026-08-29 16:40:29
[2026-08-29 16:40:29,206.206 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:40:29,347.347 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:40:29,358.358 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:40:29,493.493 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:40:29,507.507 INFO    ] time= 29/08/2026 16:40:29
[2026-08-29 16:40:29,514.514 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:40:29,565.565 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:40:29,679.679 INFO    ] No existing commands found in stream
[2026-08-29 16:40:34,709.709 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:40:34,712.712 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-08-29 16:40:35,938.938 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:40:35,940.940 INFO    ] Checking for system updates...
[2026-08-29 16:40:35,961.961 INFO    ] 200
[2026-08-29 16:40:35,962.962 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:40:35,993.993 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:40:35,995.995 INFO    ] No update needed
[2026-08-29 16:40:35,998.998 INFO    ] Checking for camera pi updates...
[2026-08-29 16:40:36,031.031 INFO    ] 200
[2026-08-29 16:40:36,033.033 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:40:36,081.081 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:40:36,263.263 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:40:36,265.265 INFO    ] No camera update needed
[2026-08-29 16:40:36,267.267 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:40:36,270.270 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:40:36,275.275 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:40:36,280.280 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:40:38,321.321 INFO    ] ================================================
[2026-08-29 16:40:38,336.336 INFO    ] Launching Daemon at Sat Aug 29 16:40:38 IST 2026
[2026-08-29 16:40:38,347.347 INFO    ] ================================================
[2026-08-29 16:40:38,925.925 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:40:38
[2026-08-29 16:40:39,338.338 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:40:39,476.476 INFO    ] Initializing speech engine...
[2026-08-29 16:40:39,488.488 INFO    ] 2026-08-29 16:40:39
[2026-08-29 16:40:39,707.707 INFO    ] 2026-08-29 16:40:39
[2026-08-29 16:40:39,730.730 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:40:39,869.869 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:40:39,907.907 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:40:40,079.079 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:40:40,131.131 INFO    ] time= 29/08/2026 16:40:40
[2026-08-29 16:40:40,170.170 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:40:40,187.187 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:40:40,263.263 INFO    ] No existing commands found in stream
[2026-08-29 16:40:45,274.274 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:40:45,277.277 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 16:40:46,812.812 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:40:46,815.815 INFO    ] Checking for system updates...
[2026-08-29 16:40:46,853.853 INFO    ] 200
[2026-08-29 16:40:46,856.856 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:40:46,908.908 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:40:46,910.910 INFO    ] No update needed
[2026-08-29 16:40:46,912.912 INFO    ] Checking for camera pi updates...
[2026-08-29 16:40:46,945.945 INFO    ] 200
[2026-08-29 16:40:46,948.948 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:40:46,992.992 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:40:47,075.075 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:40:47,077.077 INFO    ] No camera update needed
[2026-08-29 16:40:47,079.079 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:40:47,082.082 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:40:47,087.087 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:40:47,092.092 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:40:49,132.132 INFO    ] ================================================
[2026-08-29 16:40:49,147.147 INFO    ] Launching Daemon at Sat Aug 29 16:40:49 IST 2026
[2026-08-29 16:40:49,158.158 INFO    ] ================================================
[2026-08-29 16:40:49,724.724 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:40:49
[2026-08-29 16:40:50,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:40:50,208.208 INFO    ] Initializing speech engine...
[2026-08-29 16:40:50,212.212 INFO    ] 2026-08-29 16:40:50
[2026-08-29 16:40:50,439.439 INFO    ] 2026-08-29 16:40:50
[2026-08-29 16:40:50,470.470 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:40:50,601.601 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:40:50,648.648 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:40:50,806.806 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:40:50,858.858 INFO    ] time= 29/08/2026 16:40:50
[2026-08-29 16:40:50,907.907 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:40:50,913.913 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:40:50,988.988 INFO    ] No existing commands found in stream
[2026-08-29 16:40:55,994.994 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:40:55,997.997 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-08-29 16:40:57,018.018 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:40:57,019.019 INFO    ] Checking for system updates...
[2026-08-29 16:40:57,040.040 INFO    ] 200
[2026-08-29 16:40:57,041.041 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:40:57,071.071 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:40:57,072.072 INFO    ] No update needed
[2026-08-29 16:40:57,074.074 INFO    ] Checking for camera pi updates...
[2026-08-29 16:40:57,094.094 INFO    ] 200
[2026-08-29 16:40:57,095.095 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:40:57,117.117 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:40:57,224.224 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:40:57,227.227 INFO    ] No camera update needed
[2026-08-29 16:40:57,229.229 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:40:57,231.231 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:40:57,236.236 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:40:57,241.241 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:40:59,281.281 INFO    ] ================================================
[2026-08-29 16:40:59,297.297 INFO    ] Launching Daemon at Sat Aug 29 16:40:59 IST 2026
[2026-08-29 16:40:59,308.308 INFO    ] ================================================
[2026-08-29 16:40:59,891.891 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:40:59
[2026-08-29 16:41:00,403.403 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:41:00,538.538 INFO    ] Initializing speech engine...
[2026-08-29 16:41:00,543.543 INFO    ] 2026-08-29 16:41:00
[2026-08-29 16:41:00,770.770 INFO    ] 2026-08-29 16:41:00
[2026-08-29 16:41:00,801.801 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:41:00,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:41:00,970.970 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:41:01,134.134 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:41:01,176.176 INFO    ] time= 29/08/2026 16:41:01
[2026-08-29 16:41:01,217.217 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:41:01,267.267 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:41:01,359.359 INFO    ] No existing commands found in stream
[2026-08-29 16:41:06,384.384 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:41:06,387.387 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-08-29 16:41:08,234.234 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:41:08,237.237 INFO    ] Checking for system updates...
[2026-08-29 16:41:08,275.275 INFO    ] 200
[2026-08-29 16:41:08,277.277 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:41:08,333.333 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:41:08,336.336 INFO    ] No update needed
[2026-08-29 16:41:08,338.338 INFO    ] Checking for camera pi updates...
[2026-08-29 16:41:08,373.373 INFO    ] 200
[2026-08-29 16:41:08,375.375 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:41:08,419.419 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:41:08,598.598 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:41:08,601.601 INFO    ] No camera update needed
[2026-08-29 16:41:08,604.604 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:41:08,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:41:08,612.612 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:41:08,617.617 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:41:10,657.657 INFO    ] ================================================
[2026-08-29 16:41:10,673.673 INFO    ] Launching Daemon at Sat Aug 29 16:41:10 IST 2026
[2026-08-29 16:41:10,683.683 INFO    ] ================================================
[2026-08-29 16:41:11,231.231 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:41:11
[2026-08-29 16:41:11,550.550 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:41:11,687.687 INFO    ] Initializing speech engine...
[2026-08-29 16:41:11,704.704 INFO    ] 2026-08-29 16:41:11
[2026-08-29 16:41:11,982.982 INFO    ] 2026-08-29 16:41:11
[2026-08-29 16:41:12,017.017 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:41:12,205.205 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:41:12,211.211 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:41:12,336.336 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:41:12,341.341 INFO    ] time= 29/08/2026 16:41:12
[2026-08-29 16:41:12,348.348 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:41:12,366.366 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:41:12,464.464 INFO    ] No existing commands found in stream
[2026-08-29 16:41:17,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:41:17,477.477 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-08-29 16:41:18,409.409 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:41:18,410.410 INFO    ] Checking for system updates...
[2026-08-29 16:41:18,431.431 INFO    ] 200
[2026-08-29 16:41:18,432.432 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:41:18,465.465 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:41:18,466.466 INFO    ] No update needed
[2026-08-29 16:41:18,468.468 INFO    ] Checking for camera pi updates...
[2026-08-29 16:41:18,490.490 INFO    ] 200
[2026-08-29 16:41:18,491.491 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:41:18,515.515 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:41:18,590.590 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:41:18,592.592 INFO    ] No camera update needed
[2026-08-29 16:41:18,593.593 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:41:18,594.594 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:41:18,597.597 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:41:18,600.600 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:41:20,638.638 INFO    ] ================================================
[2026-08-29 16:41:20,653.653 INFO    ] Launching Daemon at Sat Aug 29 16:41:20 IST 2026
[2026-08-29 16:41:20,664.664 INFO    ] ================================================
[2026-08-29 16:41:21,188.188 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:41:21
[2026-08-29 16:41:21,789.789 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:41:22,059.059 INFO    ] Initializing speech engine...
[2026-08-29 16:41:22,065.065 INFO    ] 2026-08-29 16:41:22
[2026-08-29 16:41:22,355.355 INFO    ] 2026-08-29 16:41:22
[2026-08-29 16:41:22,392.392 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:41:22,581.581 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:41:22,609.609 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:41:22,717.717 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:41:22,732.732 INFO    ] time= 29/08/2026 16:41:22
[2026-08-29 16:41:22,758.758 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:41:22,766.766 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:41:22,843.843 INFO    ] No existing commands found in stream
[2026-08-29 16:41:27,858.858 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:41:27,867.867 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-08-29 16:41:28,758.758 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:41:28,760.760 INFO    ] Checking for system updates...
[2026-08-29 16:41:28,782.782 INFO    ] 200
[2026-08-29 16:41:28,784.784 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:41:28,815.815 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:41:28,816.816 INFO    ] No update needed
[2026-08-29 16:41:28,818.818 INFO    ] Checking for camera pi updates...
[2026-08-29 16:41:28,837.837 INFO    ] 200
[2026-08-29 16:41:28,838.838 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:41:28,861.861 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:41:28,936.936 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:41:28,937.937 INFO    ] No camera update needed
[2026-08-29 16:41:28,938.938 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:41:28,939.939 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:41:28,943.943 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:41:28,945.945 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:41:30,984.984 INFO    ] ================================================
[2026-08-29 16:41:31,999.999 INFO    ] Launching Daemon at Sat Aug 29 16:41:30 IST 2026
[2026-08-29 16:41:31,010.010 INFO    ] ================================================
[2026-08-29 16:41:31,390.390 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:41:31
[2026-08-29 16:41:31,906.906 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:41:32,203.203 INFO    ] Initializing speech engine...
[2026-08-29 16:41:32,213.213 INFO    ] 2026-08-29 16:41:32
[2026-08-29 16:41:32,476.476 INFO    ] 2026-08-29 16:41:32
[2026-08-29 16:41:32,547.547 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:41:32,726.726 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:41:32,753.753 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:41:32,933.933 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:41:33,005.005 INFO    ] time= 29/08/2026 16:41:32
[2026-08-29 16:41:33,064.064 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:41:33,070.070 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:41:33,190.190 INFO    ] No existing commands found in stream
[2026-08-29 16:41:38,215.215 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:41:38,223.223 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-08-29 16:41:42,056.056 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:41:42,058.058 INFO    ] Checking for system updates...
[2026-08-29 16:41:42,078.078 INFO    ] 200
[2026-08-29 16:41:42,079.079 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:41:42,111.111 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:41:42,112.112 INFO    ] No update needed
[2026-08-29 16:41:42,114.114 INFO    ] Checking for camera pi updates...
[2026-08-29 16:41:42,132.132 INFO    ] 200
[2026-08-29 16:41:42,134.134 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:41:42,159.159 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:41:42,231.231 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:41:42,233.233 INFO    ] No camera update needed
[2026-08-29 16:41:42,234.234 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:41:42,235.235 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:41:42,238.238 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:41:42,241.241 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:41:44,278.278 INFO    ] ================================================
[2026-08-29 16:41:44,294.294 INFO    ] Launching Daemon at Sat Aug 29 16:41:44 IST 2026
[2026-08-29 16:41:44,305.305 INFO    ] ================================================
[2026-08-29 16:41:44,631.631 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:41:44
[2026-08-29 16:41:44,941.941 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:41:45,070.070 INFO    ] Initializing speech engine...
[2026-08-29 16:41:45,074.074 INFO    ] 2026-08-29 16:41:45
[2026-08-29 16:41:45,292.292 INFO    ] 2026-08-29 16:41:45
[2026-08-29 16:41:45,320.320 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:41:45,444.444 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:41:45,482.482 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:41:45,627.627 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:41:45,648.648 INFO    ] time= 29/08/2026 16:41:45
[2026-08-29 16:41:45,714.714 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:41:45,742.742 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:41:45,813.813 INFO    ] No existing commands found in stream
[2026-08-29 16:41:50,823.823 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:41:50,826.826 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-08-29 16:41:53,550.550 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:41:53,551.551 INFO    ] Checking for system updates...
[2026-08-29 16:41:53,573.573 INFO    ] 200
[2026-08-29 16:41:53,574.574 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:41:53,604.604 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:41:53,605.605 INFO    ] No update needed
[2026-08-29 16:41:53,607.607 INFO    ] Checking for camera pi updates...
[2026-08-29 16:41:53,625.625 INFO    ] 200
[2026-08-29 16:41:53,627.627 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:41:53,650.650 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:41:53,743.743 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:41:53,745.745 INFO    ] No camera update needed
[2026-08-29 16:41:53,746.746 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:41:53,747.747 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:41:53,750.750 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:41:53,753.753 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:41:55,793.793 INFO    ] ================================================
[2026-08-29 16:41:55,808.808 INFO    ] Launching Daemon at Sat Aug 29 16:41:55 IST 2026
[2026-08-29 16:41:55,818.818 INFO    ] ================================================
[2026-08-29 16:41:56,170.170 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:41:56
[2026-08-29 16:41:56,498.498 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:41:56,648.648 INFO    ] Initializing speech engine...
[2026-08-29 16:41:56,652.652 INFO    ] 2026-08-29 16:41:56
[2026-08-29 16:41:56,856.856 INFO    ] 2026-08-29 16:41:56
[2026-08-29 16:41:56,885.885 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:41:56,991.991 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:41:57,010.010 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:41:57,129.129 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:41:57,136.136 INFO    ] time= 29/08/2026 16:41:57
[2026-08-29 16:41:57,143.143 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:41:57,199.199 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:41:57,308.308 INFO    ] No existing commands found in stream
[2026-08-29 16:42:02,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:42:02,338.338 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-08-29 16:42:05,487.487 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:42:05,489.489 INFO    ] Checking for system updates...
[2026-08-29 16:42:05,511.511 INFO    ] 200
[2026-08-29 16:42:05,513.513 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:42:05,543.543 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:42:05,544.544 INFO    ] No update needed
[2026-08-29 16:42:05,546.546 INFO    ] Checking for camera pi updates...
[2026-08-29 16:42:05,565.565 INFO    ] 200
[2026-08-29 16:42:05,566.566 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:42:05,591.591 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:42:05,646.646 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:42:05,647.647 INFO    ] No camera update needed
[2026-08-29 16:42:05,648.648 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:42:05,649.649 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:42:05,652.652 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:42:05,655.655 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:42:07,693.693 INFO    ] ================================================
[2026-08-29 16:42:07,708.708 INFO    ] Launching Daemon at Sat Aug 29 16:42:07 IST 2026
[2026-08-29 16:42:07,718.718 INFO    ] ================================================
[2026-08-29 16:42:08,072.072 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:42:08
[2026-08-29 16:42:08,385.385 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:42:08,518.518 INFO    ] Initializing speech engine...
[2026-08-29 16:42:08,522.522 INFO    ] 2026-08-29 16:42:08
[2026-08-29 16:42:08,729.729 INFO    ] 2026-08-29 16:42:08
[2026-08-29 16:42:08,757.757 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:42:08,876.876 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:42:08,879.879 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:42:08,995.995 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:42:09,012.012 INFO    ] time= 29/08/2026 16:42:08
[2026-08-29 16:42:09,017.017 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:42:09,022.022 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:42:09,090.090 INFO    ] No existing commands found in stream
[2026-08-29 16:42:14,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:42:14,123.123 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-08-29 16:42:14,857.857 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:42:14,858.858 INFO    ] Checking for system updates...
[2026-08-29 16:42:14,880.880 INFO    ] 200
[2026-08-29 16:42:14,881.881 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:42:14,910.910 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:42:14,912.912 INFO    ] No update needed
[2026-08-29 16:42:14,913.913 INFO    ] Checking for camera pi updates...
[2026-08-29 16:42:14,933.933 INFO    ] 200
[2026-08-29 16:42:14,934.934 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:42:14,957.957 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:42:15,033.033 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:42:15,034.034 INFO    ] No camera update needed
[2026-08-29 16:42:15,035.035 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:42:15,037.037 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:42:15,039.039 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:42:15,042.042 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:42:17,080.080 INFO    ] ================================================
[2026-08-29 16:42:17,095.095 INFO    ] Launching Daemon at Sat Aug 29 16:42:17 IST 2026
[2026-08-29 16:42:17,105.105 INFO    ] ================================================
[2026-08-29 16:42:17,463.463 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:42:17
[2026-08-29 16:42:17,780.780 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:42:17,929.929 INFO    ] Initializing speech engine...
[2026-08-29 16:42:17,934.934 INFO    ] 2026-08-29 16:42:17
[2026-08-29 16:42:18,150.150 INFO    ] 2026-08-29 16:42:18
[2026-08-29 16:42:18,180.180 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:42:18,312.312 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:42:18,350.350 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:42:18,474.474 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:42:18,523.523 INFO    ] time= 29/08/2026 16:42:18
[2026-08-29 16:42:18,569.569 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:42:18,619.619 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:42:18,706.706 INFO    ] No existing commands found in stream
[2026-08-29 16:42:23,715.715 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:42:23,718.718 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-08-29 16:42:24,995.995 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:42:24,997.997 INFO    ] Checking for system updates...
[2026-08-29 16:42:25,017.017 INFO    ] 200
[2026-08-29 16:42:25,018.018 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:42:25,048.048 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:42:25,050.050 INFO    ] No update needed
[2026-08-29 16:42:25,051.051 INFO    ] Checking for camera pi updates...
[2026-08-29 16:42:25,072.072 INFO    ] 200
[2026-08-29 16:42:25,073.073 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:42:25,096.096 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:42:25,204.204 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:42:25,206.206 INFO    ] No camera update needed
[2026-08-29 16:42:25,209.209 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:42:25,211.211 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:42:25,217.217 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:42:25,222.222 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:42:27,261.261 INFO    ] ================================================
[2026-08-29 16:42:27,277.277 INFO    ] Launching Daemon at Sat Aug 29 16:42:27 IST 2026
[2026-08-29 16:42:27,287.287 INFO    ] ================================================
[2026-08-29 16:42:27,926.926 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:42:27
[2026-08-29 16:42:28,414.414 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:42:28,563.563 INFO    ] Initializing speech engine...
[2026-08-29 16:42:28,569.569 INFO    ] 2026-08-29 16:42:28
[2026-08-29 16:42:28,777.777 INFO    ] 2026-08-29 16:42:28
[2026-08-29 16:42:28,806.806 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:42:28,934.934 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:42:28,991.991 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:42:29,130.130 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:42:29,198.198 INFO    ] time= 29/08/2026 16:42:29
[2026-08-29 16:42:29,222.222 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:42:29,224.224 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:42:29,297.297 INFO    ] No existing commands found in stream
[2026-08-29 16:42:34,306.306 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:42:34,309.309 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-08-29 16:42:37,727.727 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:42:37,729.729 INFO    ] Checking for system updates...
[2026-08-29 16:42:37,750.750 INFO    ] 200
[2026-08-29 16:42:37,751.751 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:42:37,785.785 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:42:37,787.787 INFO    ] No update needed
[2026-08-29 16:42:37,788.788 INFO    ] Checking for camera pi updates...
[2026-08-29 16:42:37,807.807 INFO    ] 200
[2026-08-29 16:42:37,808.808 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:42:37,831.831 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:42:37,904.904 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:42:37,906.906 INFO    ] No camera update needed
[2026-08-29 16:42:37,907.907 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:42:37,908.908 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:42:37,911.911 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:42:37,914.914 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:42:39,952.952 INFO    ] ================================================
[2026-08-29 16:42:39,967.967 INFO    ] Launching Daemon at Sat Aug 29 16:42:39 IST 2026
[2026-08-29 16:42:39,978.978 INFO    ] ================================================
[2026-08-29 16:42:40,326.326 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:42:40
[2026-08-29 16:42:40,642.642 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:42:40,819.819 INFO    ] Initializing speech engine...
[2026-08-29 16:42:40,835.835 INFO    ] 2026-08-29 16:42:40
[2026-08-29 16:42:41,116.116 INFO    ] 2026-08-29 16:42:41
[2026-08-29 16:42:41,153.153 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:42:41,299.299 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:42:41,312.312 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:42:41,449.449 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:42:41,459.459 INFO    ] time= 29/08/2026 16:42:41
[2026-08-29 16:42:41,464.464 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:42:41,490.490 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:42:41,547.547 INFO    ] No existing commands found in stream
[2026-08-29 16:42:46,557.557 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:42:46,560.560 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-08-29 16:42:50,170.170 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:42:50,172.172 INFO    ] Checking for system updates...
[2026-08-29 16:42:50,192.192 INFO    ] 200
[2026-08-29 16:42:50,193.193 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:42:50,228.228 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:42:50,230.230 INFO    ] No update needed
[2026-08-29 16:42:50,233.233 INFO    ] Checking for camera pi updates...
[2026-08-29 16:42:50,266.266 INFO    ] 200
[2026-08-29 16:42:50,268.268 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:42:50,310.310 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:42:50,393.393 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:42:50,396.396 INFO    ] No camera update needed
[2026-08-29 16:42:50,398.398 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:42:50,400.400 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:42:50,406.406 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:42:50,411.411 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:42:52,451.451 INFO    ] ================================================
[2026-08-29 16:42:52,466.466 INFO    ] Launching Daemon at Sat Aug 29 16:42:52 IST 2026
[2026-08-29 16:42:52,477.477 INFO    ] ================================================
[2026-08-29 16:42:53,109.109 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:42:53
[2026-08-29 16:42:53,559.559 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:42:53,708.708 INFO    ] Initializing speech engine...
[2026-08-29 16:42:53,714.714 INFO    ] 2026-08-29 16:42:53
[2026-08-29 16:42:53,920.920 INFO    ] 2026-08-29 16:42:53
[2026-08-29 16:42:53,948.948 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:42:54,106.106 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:42:54,115.115 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:42:54,288.288 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:42:54,314.314 INFO    ] time= 29/08/2026 16:42:54
[2026-08-29 16:42:54,320.320 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:42:54,341.341 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:42:54,461.461 INFO    ] No existing commands found in stream
[2026-08-29 16:42:59,483.483 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:42:59,486.486 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-08-29 16:43:01,793.793 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:43:01,797.797 INFO    ] Checking for system updates...
[2026-08-29 16:43:01,838.838 INFO    ] 200
[2026-08-29 16:43:01,841.841 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:43:01,910.910 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:43:01,914.914 INFO    ] No update needed
[2026-08-29 16:43:01,918.918 INFO    ] Checking for camera pi updates...
[2026-08-29 16:43:01,962.962 INFO    ] 200
[2026-08-29 16:43:01,966.966 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:43:02,030.030 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:43:02,143.143 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:43:02,146.146 INFO    ] No camera update needed
[2026-08-29 16:43:02,149.149 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:43:02,153.153 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:43:02,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:43:02,165.165 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:43:04,208.208 INFO    ] ================================================
[2026-08-29 16:43:04,223.223 INFO    ] Launching Daemon at Sat Aug 29 16:43:04 IST 2026
[2026-08-29 16:43:04,233.233 INFO    ] ================================================
[2026-08-29 16:43:04,636.636 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:43:04
[2026-08-29 16:43:04,947.947 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:43:05,083.083 INFO    ] Initializing speech engine...
[2026-08-29 16:43:05,095.095 INFO    ] 2026-08-29 16:43:05
[2026-08-29 16:43:05,290.290 INFO    ] 2026-08-29 16:43:05
[2026-08-29 16:43:05,364.364 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:43:05,536.536 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:43:05,545.545 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:43:05,691.691 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:43:05,718.718 INFO    ] time= 29/08/2026 16:43:05
[2026-08-29 16:43:05,763.763 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:43:05,812.812 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:43:05,890.890 INFO    ] No existing commands found in stream
[2026-08-29 16:43:10,902.902 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:43:10,905.905 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-08-29 16:43:12,190.190 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:43:12,191.191 INFO    ] Checking for system updates...
[2026-08-29 16:43:12,212.212 INFO    ] 200
[2026-08-29 16:43:12,214.214 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:43:12,243.243 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:43:12,244.244 INFO    ] No update needed
[2026-08-29 16:43:12,246.246 INFO    ] Checking for camera pi updates...
[2026-08-29 16:43:12,273.273 INFO    ] 200
[2026-08-29 16:43:12,275.275 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:43:12,301.301 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:43:12,475.475 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:43:12,477.477 INFO    ] No camera update needed
[2026-08-29 16:43:12,478.478 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:43:12,479.479 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:43:12,482.482 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:43:12,485.485 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:43:14,524.524 INFO    ] ================================================
[2026-08-29 16:43:14,545.545 INFO    ] Launching Daemon at Sat Aug 29 16:43:14 IST 2026
[2026-08-29 16:43:14,557.557 INFO    ] ================================================
[2026-08-29 16:43:14,886.886 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:43:14
[2026-08-29 16:43:15,205.205 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:43:15,470.470 INFO    ] Initializing speech engine...
[2026-08-29 16:43:15,478.478 INFO    ] 2026-08-29 16:43:15
[2026-08-29 16:43:15,745.745 INFO    ] 2026-08-29 16:43:15
[2026-08-29 16:43:15,800.800 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:43:16,023.023 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:43:16,032.032 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:43:16,169.169 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:43:16,191.191 INFO    ] time= 29/08/2026 16:43:16
[2026-08-29 16:43:16,256.256 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:43:16,306.306 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:43:16,360.360 INFO    ] No existing commands found in stream
[2026-08-29 16:43:21,373.373 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:43:21,376.376 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-08-29 16:43:22,554.554 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:43:22,556.556 INFO    ] Checking for system updates...
[2026-08-29 16:43:22,578.578 INFO    ] 200
[2026-08-29 16:43:22,579.579 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:43:22,611.611 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:43:22,613.613 INFO    ] No update needed
[2026-08-29 16:43:22,614.614 INFO    ] Checking for camera pi updates...
[2026-08-29 16:43:22,634.634 INFO    ] 200
[2026-08-29 16:43:22,636.636 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:43:22,659.659 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:43:22,722.722 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:43:22,724.724 INFO    ] No camera update needed
[2026-08-29 16:43:22,727.727 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:43:22,729.729 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:43:22,735.735 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:43:22,741.741 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:43:24,781.781 INFO    ] ================================================
[2026-08-29 16:43:24,797.797 INFO    ] Launching Daemon at Sat Aug 29 16:43:24 IST 2026
[2026-08-29 16:43:24,808.808 INFO    ] ================================================
[2026-08-29 16:43:25,429.429 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:43:25
[2026-08-29 16:43:25,953.953 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:43:26,171.171 INFO    ] Initializing speech engine...
[2026-08-29 16:43:26,185.185 INFO    ] 2026-08-29 16:43:26
[2026-08-29 16:43:26,456.456 INFO    ] 2026-08-29 16:43:26
[2026-08-29 16:43:26,515.515 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:43:26,736.736 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:43:26,746.746 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:43:26,879.879 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:43:26,922.922 INFO    ] time= 29/08/2026 16:43:26
[2026-08-29 16:43:26,981.981 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:43:27,016.016 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:43:27,116.116 INFO    ] No existing commands found in stream
[2026-08-29 16:43:32,141.141 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:43:32,151.151 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-08-29 16:43:35,381.381 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:43:35,383.383 INFO    ] Checking for system updates...
[2026-08-29 16:43:35,404.404 INFO    ] 200
[2026-08-29 16:43:35,405.405 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:43:35,435.435 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:43:35,436.436 INFO    ] No update needed
[2026-08-29 16:43:35,438.438 INFO    ] Checking for camera pi updates...
[2026-08-29 16:43:35,458.458 INFO    ] 200
[2026-08-29 16:43:35,459.459 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:43:35,485.485 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:43:35,564.564 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:43:35,565.565 INFO    ] No camera update needed
[2026-08-29 16:43:35,566.566 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:43:35,568.568 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:43:35,571.571 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:43:35,574.574 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:43:37,613.613 INFO    ] ================================================
[2026-08-29 16:43:37,628.628 INFO    ] Launching Daemon at Sat Aug 29 16:43:37 IST 2026
[2026-08-29 16:43:37,640.640 INFO    ] ================================================
[2026-08-29 16:43:37,982.982 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:43:37
[2026-08-29 16:43:38,312.312 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:43:38,456.456 INFO    ] Initializing speech engine...
[2026-08-29 16:43:38,467.467 INFO    ] 2026-08-29 16:43:38
[2026-08-29 16:43:38,677.677 INFO    ] 2026-08-29 16:43:38
[2026-08-29 16:43:38,705.705 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:43:38,830.830 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:43:38,888.888 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:43:39,027.027 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:43:39,094.094 INFO    ] time= 29/08/2026 16:43:39
[2026-08-29 16:43:39,128.128 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:43:39,135.135 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:43:39,201.201 INFO    ] No existing commands found in stream
[2026-08-29 16:43:44,212.212 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:43:44,215.215 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-08-29 16:43:47,640.640 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:43:47,644.644 INFO    ] Checking for system updates...
[2026-08-29 16:43:47,681.681 INFO    ] 200
[2026-08-29 16:43:47,684.684 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:43:47,740.740 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:43:47,743.743 INFO    ] No update needed
[2026-08-29 16:43:47,746.746 INFO    ] Checking for camera pi updates...
[2026-08-29 16:43:47,780.780 INFO    ] 200
[2026-08-29 16:43:47,783.783 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:43:47,825.825 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:43:47,928.928 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:43:47,930.930 INFO    ] No camera update needed
[2026-08-29 16:43:47,933.933 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:43:47,936.936 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:43:47,941.941 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:43:47,947.947 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:43:49,988.988 INFO    ] ================================================
[2026-08-29 16:43:50,004.004 INFO    ] Launching Daemon at Sat Aug 29 16:43:49 IST 2026
[2026-08-29 16:43:50,015.015 INFO    ] ================================================
[2026-08-29 16:43:50,559.559 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:43:50
[2026-08-29 16:43:50,870.870 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:43:51,000.000 INFO    ] Initializing speech engine...
[2026-08-29 16:43:51,003.003 INFO    ] 2026-08-29 16:43:51
[2026-08-29 16:43:51,230.230 INFO    ] 2026-08-29 16:43:51
[2026-08-29 16:43:51,260.260 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:43:51,388.388 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:43:51,443.443 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:43:51,594.594 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:43:51,656.656 INFO    ] time= 29/08/2026 16:43:51
[2026-08-29 16:43:51,697.697 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:43:51,704.704 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:43:51,773.773 INFO    ] No existing commands found in stream
[2026-08-29 16:43:56,784.784 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:43:56,787.787 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 16:43:59,144.144 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:43:59,145.145 INFO    ] Checking for system updates...
[2026-08-29 16:43:59,166.166 INFO    ] 200
[2026-08-29 16:43:59,167.167 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:43:59,197.197 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:43:59,198.198 INFO    ] No update needed
[2026-08-29 16:43:59,199.199 INFO    ] Checking for camera pi updates...
[2026-08-29 16:43:59,218.218 INFO    ] 200
[2026-08-29 16:43:59,220.220 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:43:59,244.244 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:43:59,326.326 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:43:59,328.328 INFO    ] No camera update needed
[2026-08-29 16:43:59,329.329 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:43:59,330.330 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:43:59,333.333 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:43:59,336.336 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:44:01,378.378 INFO    ] ================================================
[2026-08-29 16:44:01,402.402 INFO    ] Launching Daemon at Sat Aug 29 16:44:01 IST 2026
[2026-08-29 16:44:01,416.416 INFO    ] ================================================
[2026-08-29 16:44:02,035.035 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:44:02
[2026-08-29 16:44:02,693.693 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:44:02,965.965 INFO    ] Initializing speech engine...
[2026-08-29 16:44:02,981.981 INFO    ] 2026-08-29 16:44:02
[2026-08-29 16:44:03,237.237 INFO    ] 2026-08-29 16:44:03
[2026-08-29 16:44:03,273.273 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:44:03,443.443 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:44:03,449.449 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:44:03,581.581 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:44:03,604.604 INFO    ] time= 29/08/2026 16:44:03
[2026-08-29 16:44:03,609.609 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:44:03,615.615 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:44:03,679.679 INFO    ] No existing commands found in stream
[2026-08-29 16:44:08,692.692 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:44:08,695.695 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-08-29 16:44:11,622.622 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:44:11,623.623 INFO    ] Checking for system updates...
[2026-08-29 16:44:11,644.644 INFO    ] 200
[2026-08-29 16:44:11,645.645 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:44:11,674.674 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:44:11,676.676 INFO    ] No update needed
[2026-08-29 16:44:11,677.677 INFO    ] Checking for camera pi updates...
[2026-08-29 16:44:11,696.696 INFO    ] 200
[2026-08-29 16:44:11,698.698 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:44:11,729.729 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:44:11,831.831 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:44:11,834.834 INFO    ] No camera update needed
[2026-08-29 16:44:11,836.836 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:44:11,838.838 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:44:11,843.843 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:44:11,848.848 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:44:13,890.890 INFO    ] ================================================
[2026-08-29 16:44:13,906.906 INFO    ] Launching Daemon at Sat Aug 29 16:44:13 IST 2026
[2026-08-29 16:44:13,917.917 INFO    ] ================================================
[2026-08-29 16:44:14,502.502 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:44:14
[2026-08-29 16:44:15,007.007 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:44:15,158.158 INFO    ] Initializing speech engine...
[2026-08-29 16:44:15,164.164 INFO    ] 2026-08-29 16:44:15
[2026-08-29 16:44:15,376.376 INFO    ] 2026-08-29 16:44:15
[2026-08-29 16:44:15,405.405 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:44:15,528.528 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:44:15,590.590 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:44:15,736.736 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:44:15,800.800 INFO    ] time= 29/08/2026 16:44:15
[2026-08-29 16:44:15,853.853 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:44:15,897.897 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:44:16,003.003 INFO    ] No existing commands found in stream
[2026-08-29 16:44:21,033.033 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:44:21,036.036 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-08-29 16:44:24,625.625 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:44:24,627.627 INFO    ] Checking for system updates...
[2026-08-29 16:44:24,647.647 INFO    ] 200
[2026-08-29 16:44:24,649.649 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:44:24,681.681 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:44:24,682.682 INFO    ] No update needed
[2026-08-29 16:44:24,683.683 INFO    ] Checking for camera pi updates...
[2026-08-29 16:44:24,702.702 INFO    ] 200
[2026-08-29 16:44:24,704.704 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:44:24,727.727 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:44:24,827.827 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:44:24,828.828 INFO    ] No camera update needed
[2026-08-29 16:44:24,830.830 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:44:24,831.831 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:44:24,834.834 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:44:24,837.837 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:44:26,876.876 INFO    ] ================================================
[2026-08-29 16:44:26,891.891 INFO    ] Launching Daemon at Sat Aug 29 16:44:26 IST 2026
[2026-08-29 16:44:26,902.902 INFO    ] ================================================
[2026-08-29 16:44:27,277.277 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:44:27
[2026-08-29 16:44:27,612.612 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:44:27,761.761 INFO    ] Initializing speech engine...
[2026-08-29 16:44:27,767.767 INFO    ] 2026-08-29 16:44:27
[2026-08-29 16:44:27,974.974 INFO    ] 2026-08-29 16:44:27
[2026-08-29 16:44:28,003.003 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:44:28,126.126 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:44:28,189.189 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:44:28,327.327 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:44:28,391.391 INFO    ] time= 29/08/2026 16:44:28
[2026-08-29 16:44:28,419.419 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:44:28,426.426 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:44:28,493.493 INFO    ] No existing commands found in stream
[2026-08-29 16:44:33,508.508 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:44:33,511.511 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-08-29 16:44:34,064.064 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:44:34,067.067 INFO    ] Checking for system updates...
[2026-08-29 16:44:34,103.103 INFO    ] 200
[2026-08-29 16:44:34,106.106 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:44:34,158.158 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:44:34,161.161 INFO    ] No update needed
[2026-08-29 16:44:34,163.163 INFO    ] Checking for camera pi updates...
[2026-08-29 16:44:34,198.198 INFO    ] 200
[2026-08-29 16:44:34,200.200 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:44:34,240.240 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:44:34,318.318 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:44:34,320.320 INFO    ] No camera update needed
[2026-08-29 16:44:34,322.322 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:44:34,325.325 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:44:34,330.330 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:44:34,335.335 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:44:36,375.375 INFO    ] ================================================
[2026-08-29 16:44:36,390.390 INFO    ] Launching Daemon at Sat Aug 29 16:44:36 IST 2026
[2026-08-29 16:44:36,401.401 INFO    ] ================================================
[2026-08-29 16:44:36,748.748 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:44:36
[2026-08-29 16:44:37,063.063 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:44:37,194.194 INFO    ] Initializing speech engine...
[2026-08-29 16:44:37,198.198 INFO    ] 2026-08-29 16:44:37
[2026-08-29 16:44:37,429.429 INFO    ] 2026-08-29 16:44:37
[2026-08-29 16:44:37,459.459 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:44:37,590.590 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:44:37,648.648 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:44:37,796.796 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:44:37,853.853 INFO    ] time= 29/08/2026 16:44:37
[2026-08-29 16:44:37,880.880 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:44:37,903.903 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:44:37,978.978 INFO    ] No existing commands found in stream
[2026-08-29 16:44:42,989.989 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:44:42,992.992 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-08-29 16:44:46,268.268 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:44:46,269.269 INFO    ] Checking for system updates...
[2026-08-29 16:44:46,291.291 INFO    ] 200
[2026-08-29 16:44:46,292.292 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:44:46,322.322 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:44:46,324.324 INFO    ] No update needed
[2026-08-29 16:44:46,325.325 INFO    ] Checking for camera pi updates...
[2026-08-29 16:44:46,344.344 INFO    ] 200
[2026-08-29 16:44:46,345.345 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:44:46,368.368 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:44:46,469.469 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:44:46,471.471 INFO    ] No camera update needed
[2026-08-29 16:44:46,474.474 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:44:46,476.476 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:44:46,481.481 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:44:46,486.486 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:44:48,525.525 INFO    ] ================================================
[2026-08-29 16:44:48,540.540 INFO    ] Launching Daemon at Sat Aug 29 16:44:48 IST 2026
[2026-08-29 16:44:48,551.551 INFO    ] ================================================
[2026-08-29 16:44:49,193.193 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:44:49
[2026-08-29 16:44:49,698.698 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:44:49,847.847 INFO    ] Initializing speech engine...
[2026-08-29 16:44:49,852.852 INFO    ] 2026-08-29 16:44:49
[2026-08-29 16:44:50,059.059 INFO    ] 2026-08-29 16:44:50
[2026-08-29 16:44:50,087.087 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:44:50,210.210 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:44:50,264.264 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:44:50,412.412 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:44:50,478.478 INFO    ] time= 29/08/2026 16:44:50
[2026-08-29 16:44:50,502.502 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:44:50,509.509 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:44:50,608.608 INFO    ] No existing commands found in stream
[2026-08-29 16:44:55,619.619 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:44:55,622.622 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-08-29 16:44:59,954.954 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:44:59,955.955 INFO    ] Checking for system updates...
[2026-08-29 16:44:59,975.975 INFO    ] 200
[2026-08-29 16:44:59,977.977 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:45:00,007.007 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:45:00,008.008 INFO    ] No update needed
[2026-08-29 16:45:00,009.009 INFO    ] Checking for camera pi updates...
[2026-08-29 16:45:00,028.028 INFO    ] 200
[2026-08-29 16:45:00,030.030 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:45:00,053.053 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:45:00,144.144 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:45:00,146.146 INFO    ] No camera update needed
[2026-08-29 16:45:00,147.147 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:45:00,148.148 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:45:00,151.151 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:45:00,154.154 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:45:02,222.222 INFO    ] ================================================
[2026-08-29 16:45:02,310.310 INFO    ] Launching Daemon at Sat Aug 29 16:45:02 IST 2026
[2026-08-29 16:45:02,421.421 INFO    ] ================================================
[2026-08-29 16:45:03,266.266 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:45:03
[2026-08-29 16:45:03,944.944 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:45:04,272.272 INFO    ] Initializing speech engine...
[2026-08-29 16:45:04,292.292 INFO    ] 2026-08-29 16:45:04
[2026-08-29 16:45:04,553.553 INFO    ] 2026-08-29 16:45:04
[2026-08-29 16:45:04,625.625 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:45:04,789.789 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:45:04,805.805 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:45:04,914.914 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:45:04,918.918 INFO    ] time= 29/08/2026 16:45:04
[2026-08-29 16:45:04,939.939 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:45:04,960.960 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:45:05,040.040 INFO    ] No existing commands found in stream
[2026-08-29 16:45:10,053.053 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:45:10,056.056 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-08-29 16:45:10,973.973 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:45:10,975.975 INFO    ] Checking for system updates...
[2026-08-29 16:45:10,995.995 INFO    ] 200
[2026-08-29 16:45:10,996.996 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:45:11,026.026 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:45:11,027.027 INFO    ] No update needed
[2026-08-29 16:45:11,029.029 INFO    ] Checking for camera pi updates...
[2026-08-29 16:45:11,052.052 INFO    ] 200
[2026-08-29 16:45:11,054.054 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:45:11,076.076 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:45:11,157.157 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:45:11,158.158 INFO    ] No camera update needed
[2026-08-29 16:45:11,160.160 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:45:11,161.161 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:45:11,164.164 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:45:11,167.167 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:45:13,206.206 INFO    ] ================================================
[2026-08-29 16:45:13,221.221 INFO    ] Launching Daemon at Sat Aug 29 16:45:13 IST 2026
[2026-08-29 16:45:13,232.232 INFO    ] ================================================
[2026-08-29 16:45:13,814.814 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:45:13
[2026-08-29 16:45:14,384.384 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:45:14,530.530 INFO    ] Initializing speech engine...
[2026-08-29 16:45:14,534.534 INFO    ] 2026-08-29 16:45:14
[2026-08-29 16:45:14,736.736 INFO    ] 2026-08-29 16:45:14
[2026-08-29 16:45:14,765.765 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:45:14,887.887 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:45:14,930.930 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:45:15,084.084 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:45:15,150.150 INFO    ] time= 29/08/2026 16:45:15
[2026-08-29 16:45:15,177.177 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:45:15,184.184 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:45:15,251.251 INFO    ] No existing commands found in stream
[2026-08-29 16:45:20,260.260 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:45:20,263.263 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-08-29 16:45:23,688.688 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:45:23,689.689 INFO    ] Checking for system updates...
[2026-08-29 16:45:23,710.710 INFO    ] 200
[2026-08-29 16:45:23,711.711 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:45:23,741.741 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:45:23,743.743 INFO    ] No update needed
[2026-08-29 16:45:23,744.744 INFO    ] Checking for camera pi updates...
[2026-08-29 16:45:23,763.763 INFO    ] 200
[2026-08-29 16:45:23,764.764 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:45:23,789.789 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:45:23,983.983 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:45:23,984.984 INFO    ] No camera update needed
[2026-08-29 16:45:23,985.985 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:45:23,987.987 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:45:23,989.989 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:45:23,992.992 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:45:26,031.031 INFO    ] ================================================
[2026-08-29 16:45:26,046.046 INFO    ] Launching Daemon at Sat Aug 29 16:45:26 IST 2026
[2026-08-29 16:45:26,057.057 INFO    ] ================================================
[2026-08-29 16:45:26,428.428 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:45:26
[2026-08-29 16:45:26,743.743 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:45:26,991.991 INFO    ] Initializing speech engine...
[2026-08-29 16:45:27,006.006 INFO    ] 2026-08-29 16:45:26
[2026-08-29 16:45:27,292.292 INFO    ] 2026-08-29 16:45:27
[2026-08-29 16:45:27,330.330 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:45:27,525.525 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:45:27,541.541 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:45:27,665.665 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:45:27,671.671 INFO    ] time= 29/08/2026 16:45:27
[2026-08-29 16:45:27,691.691 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:45:27,713.713 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:45:27,795.795 INFO    ] No existing commands found in stream
[2026-08-29 16:45:32,809.809 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:45:32,817.817 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-08-29 16:45:35,763.763 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:45:35,765.765 INFO    ] Checking for system updates...
[2026-08-29 16:45:35,800.800 INFO    ] 200
[2026-08-29 16:45:35,803.803 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:45:35,863.863 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:45:35,865.865 INFO    ] No update needed
[2026-08-29 16:45:35,867.867 INFO    ] Checking for camera pi updates...
[2026-08-29 16:45:35,905.905 INFO    ] 200
[2026-08-29 16:45:35,908.908 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:45:35,941.941 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:45:36,040.040 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:45:36,042.042 INFO    ] No camera update needed
[2026-08-29 16:45:36,043.043 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:45:36,044.044 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:45:36,047.047 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:45:36,050.050 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:45:38,089.089 INFO    ] ================================================
[2026-08-29 16:45:38,104.104 INFO    ] Launching Daemon at Sat Aug 29 16:45:38 IST 2026
[2026-08-29 16:45:38,114.114 INFO    ] ================================================
[2026-08-29 16:45:38,524.524 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:45:38
[2026-08-29 16:45:39,113.113 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:45:39,384.384 INFO    ] Initializing speech engine...
[2026-08-29 16:45:39,393.393 INFO    ] 2026-08-29 16:45:39
[2026-08-29 16:45:39,649.649 INFO    ] 2026-08-29 16:45:39
[2026-08-29 16:45:39,684.684 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:45:39,859.859 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:45:39,874.874 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:45:40,020.020 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:45:40,028.028 INFO    ] time= 29/08/2026 16:45:40
[2026-08-29 16:45:40,035.035 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:45:40,081.081 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:45:40,196.196 INFO    ] No existing commands found in stream
[2026-08-29 16:45:45,226.226 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:45:45,229.229 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 16:45:46,643.643 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:45:46,645.645 INFO    ] Checking for system updates...
[2026-08-29 16:45:46,665.665 INFO    ] 200
[2026-08-29 16:45:46,666.666 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:45:46,698.698 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:45:46,700.700 INFO    ] No update needed
[2026-08-29 16:45:46,701.701 INFO    ] Checking for camera pi updates...
[2026-08-29 16:45:46,722.722 INFO    ] 200
[2026-08-29 16:45:46,724.724 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:45:46,746.746 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:45:46,832.832 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:45:46,834.834 INFO    ] No camera update needed
[2026-08-29 16:45:46,835.835 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:45:46,836.836 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:45:46,839.839 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:45:46,842.842 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:45:48,881.881 INFO    ] ================================================
[2026-08-29 16:45:48,896.896 INFO    ] Launching Daemon at Sat Aug 29 16:45:48 IST 2026
[2026-08-29 16:45:48,907.907 INFO    ] ================================================
[2026-08-29 16:45:49,260.260 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:45:49
[2026-08-29 16:45:49,572.572 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:45:49,705.705 INFO    ] Initializing speech engine...
[2026-08-29 16:45:49,712.712 INFO    ] 2026-08-29 16:45:49
[2026-08-29 16:45:49,927.927 INFO    ] 2026-08-29 16:45:49
[2026-08-29 16:45:49,956.956 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:45:50,079.079 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:45:50,127.127 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:45:50,275.275 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:45:50,342.342 INFO    ] time= 29/08/2026 16:45:50
[2026-08-29 16:45:50,375.375 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:45:50,377.377 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:45:50,450.450 INFO    ] No existing commands found in stream
[2026-08-29 16:45:55,459.459 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:45:55,462.462 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-08-29 16:45:56,642.642 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:45:56,644.644 INFO    ] Checking for system updates...
[2026-08-29 16:45:56,664.664 INFO    ] 200
[2026-08-29 16:45:56,666.666 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:45:56,698.698 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:45:56,699.699 INFO    ] No update needed
[2026-08-29 16:45:56,700.700 INFO    ] Checking for camera pi updates...
[2026-08-29 16:45:56,720.720 INFO    ] 200
[2026-08-29 16:45:56,721.721 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:45:56,744.744 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:45:56,833.833 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:45:56,835.835 INFO    ] No camera update needed
[2026-08-29 16:45:56,837.837 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:45:56,840.840 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:45:56,845.845 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:45:56,850.850 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:45:58,889.889 INFO    ] ================================================
[2026-08-29 16:45:58,904.904 INFO    ] Launching Daemon at Sat Aug 29 16:45:58 IST 2026
[2026-08-29 16:45:58,915.915 INFO    ] ================================================
[2026-08-29 16:45:59,486.486 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:45:59
[2026-08-29 16:46:00,007.007 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:46:00,156.156 INFO    ] Initializing speech engine...
[2026-08-29 16:46:00,169.169 INFO    ] 2026-08-29 16:46:00
[2026-08-29 16:46:00,429.429 INFO    ] 2026-08-29 16:46:00
[2026-08-29 16:46:00,486.486 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:46:00,636.636 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:46:00,653.653 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:46:00,781.781 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:46:00,789.789 INFO    ] time= 29/08/2026 16:46:00
[2026-08-29 16:46:00,795.795 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:46:00,836.836 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:46:00,964.964 INFO    ] No existing commands found in stream
[2026-08-29 16:46:05,994.994 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:46:05,997.997 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-08-29 16:46:09,664.664 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:46:09,666.666 INFO    ] Checking for system updates...
[2026-08-29 16:46:09,687.687 INFO    ] 200
[2026-08-29 16:46:09,688.688 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:46:09,720.720 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:46:09,722.722 INFO    ] No update needed
[2026-08-29 16:46:09,723.723 INFO    ] Checking for camera pi updates...
[2026-08-29 16:46:09,742.742 INFO    ] 200
[2026-08-29 16:46:09,744.744 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:46:09,767.767 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:46:09,847.847 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:46:09,848.848 INFO    ] No camera update needed
[2026-08-29 16:46:09,849.849 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:46:09,850.850 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:46:09,853.853 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:46:09,856.856 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:46:11,894.894 INFO    ] ================================================
[2026-08-29 16:46:11,909.909 INFO    ] Launching Daemon at Sat Aug 29 16:46:11 IST 2026
[2026-08-29 16:46:11,920.920 INFO    ] ================================================
[2026-08-29 16:46:12,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:46:12
[2026-08-29 16:46:12,940.940 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:46:13,199.199 INFO    ] Initializing speech engine...
[2026-08-29 16:46:13,208.208 INFO    ] 2026-08-29 16:46:13
[2026-08-29 16:46:13,505.505 INFO    ] 2026-08-29 16:46:13
[2026-08-29 16:46:13,543.543 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:46:13,676.676 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:46:13,684.684 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:46:13,819.819 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:46:13,829.829 INFO    ] time= 29/08/2026 16:46:13
[2026-08-29 16:46:13,834.834 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:46:13,855.855 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:46:13,914.914 INFO    ] No existing commands found in stream
[2026-08-29 16:46:18,953.953 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:46:18,955.955 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-08-29 16:46:19,875.875 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:46:19,876.876 INFO    ] Checking for system updates...
[2026-08-29 16:46:19,898.898 INFO    ] 200
[2026-08-29 16:46:19,899.899 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:46:19,929.929 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:46:19,930.930 INFO    ] No update needed
[2026-08-29 16:46:19,931.931 INFO    ] Checking for camera pi updates...
[2026-08-29 16:46:19,950.950 INFO    ] 200
[2026-08-29 16:46:19,952.952 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:46:19,975.975 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:46:20,068.068 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:46:20,070.070 INFO    ] No camera update needed
[2026-08-29 16:46:20,071.071 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:46:20,072.072 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:46:20,075.075 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:46:20,078.078 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:46:22,115.115 INFO    ] ================================================
[2026-08-29 16:46:22,131.131 INFO    ] Launching Daemon at Sat Aug 29 16:46:22 IST 2026
[2026-08-29 16:46:22,141.141 INFO    ] ================================================
[2026-08-29 16:46:22,722.722 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:46:22
[2026-08-29 16:46:23,311.311 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:46:23,572.572 INFO    ] Initializing speech engine...
[2026-08-29 16:46:23,587.587 INFO    ] 2026-08-29 16:46:23
[2026-08-29 16:46:23,843.843 INFO    ] 2026-08-29 16:46:23
[2026-08-29 16:46:23,879.879 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:46:24,054.054 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:46:24,069.069 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:46:24,197.197 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:46:24,221.221 INFO    ] time= 29/08/2026 16:46:24
[2026-08-29 16:46:24,226.226 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:46:24,232.232 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:46:24,300.300 INFO    ] No existing commands found in stream
[2026-08-29 16:46:29,315.315 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:46:29,318.318 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-08-29 16:46:32,225.225 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:46:32,228.228 INFO    ] Checking for system updates...
[2026-08-29 16:46:32,277.277 INFO    ] 200
[2026-08-29 16:46:32,280.280 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:46:32,341.341 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:46:32,344.344 INFO    ] No update needed
[2026-08-29 16:46:32,348.348 INFO    ] Checking for camera pi updates...
[2026-08-29 16:46:32,394.394 INFO    ] 200
[2026-08-29 16:46:32,398.398 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:46:32,463.463 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:46:32,618.618 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:46:32,620.620 INFO    ] No camera update needed
[2026-08-29 16:46:32,623.623 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:46:32,625.625 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:46:32,630.630 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:46:32,635.635 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:46:34,674.674 INFO    ] ================================================
[2026-08-29 16:46:34,689.689 INFO    ] Launching Daemon at Sat Aug 29 16:46:34 IST 2026
[2026-08-29 16:46:34,700.700 INFO    ] ================================================
[2026-08-29 16:46:35,205.205 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:46:35
[2026-08-29 16:46:35,521.521 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:46:35,770.770 INFO    ] Initializing speech engine...
[2026-08-29 16:46:35,791.791 INFO    ] 2026-08-29 16:46:35
[2026-08-29 16:46:36,048.048 INFO    ] 2026-08-29 16:46:36
[2026-08-29 16:46:36,089.089 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:46:36,256.256 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:46:36,268.268 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:46:36,410.410 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:46:36,417.417 INFO    ] time= 29/08/2026 16:46:36
[2026-08-29 16:46:36,424.424 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:46:36,466.466 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:46:36,594.594 INFO    ] No existing commands found in stream
[2026-08-29 16:46:41,624.624 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:46:41,627.627 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-08-29 16:46:43,324.324 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:46:43,327.327 INFO    ] Checking for system updates...
[2026-08-29 16:46:43,367.367 INFO    ] 200
[2026-08-29 16:46:43,369.369 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:46:43,441.441 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:46:43,444.444 INFO    ] No update needed
[2026-08-29 16:46:43,446.446 INFO    ] Checking for camera pi updates...
[2026-08-29 16:46:43,503.503 INFO    ] 200
[2026-08-29 16:46:43,505.505 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:46:43,546.546 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:46:43,639.639 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:46:43,641.641 INFO    ] No camera update needed
[2026-08-29 16:46:43,644.644 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:46:43,646.646 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:46:43,651.651 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:46:43,656.656 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:46:45,701.701 INFO    ] ================================================
[2026-08-29 16:46:45,716.716 INFO    ] Launching Daemon at Sat Aug 29 16:46:45 IST 2026
[2026-08-29 16:46:45,727.727 INFO    ] ================================================
[2026-08-29 16:46:46,297.297 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:46:46
[2026-08-29 16:46:46,668.668 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:46:46,809.809 INFO    ] Initializing speech engine...
[2026-08-29 16:46:46,817.817 INFO    ] 2026-08-29 16:46:46
[2026-08-29 16:46:47,004.004 INFO    ] 2026-08-29 16:46:46
[2026-08-29 16:46:47,040.040 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:46:47,227.227 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:46:47,243.243 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:46:47,373.373 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:46:47,378.378 INFO    ] time= 29/08/2026 16:46:47
[2026-08-29 16:46:47,398.398 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:46:47,420.420 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:46:47,507.507 INFO    ] No existing commands found in stream
[2026-08-29 16:46:52,522.522 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:46:52,525.525 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-08-29 16:46:55,818.818 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:46:55,820.820 INFO    ] Checking for system updates...
[2026-08-29 16:46:55,840.840 INFO    ] 200
[2026-08-29 16:46:55,841.841 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:46:55,871.871 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:46:55,872.872 INFO    ] No update needed
[2026-08-29 16:46:55,874.874 INFO    ] Checking for camera pi updates...
[2026-08-29 16:46:55,894.894 INFO    ] 200
[2026-08-29 16:46:55,895.895 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:46:55,920.920 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:46:56,023.023 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:46:56,025.025 INFO    ] No camera update needed
[2026-08-29 16:46:56,026.026 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:46:56,027.027 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:46:56,030.030 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:46:56,033.033 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:46:58,070.070 INFO    ] ================================================
[2026-08-29 16:46:58,087.087 INFO    ] Launching Daemon at Sat Aug 29 16:46:58 IST 2026
[2026-08-29 16:46:58,102.102 INFO    ] ================================================
[2026-08-29 16:46:58,686.686 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:46:58
[2026-08-29 16:46:59,300.300 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:46:59,562.562 INFO    ] Initializing speech engine...
[2026-08-29 16:46:59,575.575 INFO    ] 2026-08-29 16:46:59
[2026-08-29 16:46:59,831.831 INFO    ] 2026-08-29 16:46:59
[2026-08-29 16:46:59,866.866 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:47:00,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:47:00,057.057 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:47:00,171.171 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:47:00,189.189 INFO    ] time= 29/08/2026 16:47:00
[2026-08-29 16:47:00,209.209 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:47:00,217.217 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:47:00,287.287 INFO    ] No existing commands found in stream
[2026-08-29 16:47:05,300.300 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:47:05,303.303 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 16:47:08,838.838 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:47:08,840.840 INFO    ] Checking for system updates...
[2026-08-29 16:47:08,862.862 INFO    ] 200
[2026-08-29 16:47:08,863.863 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:47:08,893.893 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:47:08,894.894 INFO    ] No update needed
[2026-08-29 16:47:08,895.895 INFO    ] Checking for camera pi updates...
[2026-08-29 16:47:08,921.921 INFO    ] 200
[2026-08-29 16:47:08,922.922 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:47:08,947.947 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:47:09,048.048 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:47:09,049.049 INFO    ] No camera update needed
[2026-08-29 16:47:09,050.050 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:47:09,052.052 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:47:09,055.055 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:47:09,057.057 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:47:11,098.098 INFO    ] ================================================
[2026-08-29 16:47:11,115.115 INFO    ] Launching Daemon at Sat Aug 29 16:47:11 IST 2026
[2026-08-29 16:47:11,126.126 INFO    ] ================================================
[2026-08-29 16:47:11,465.465 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:47:11
[2026-08-29 16:47:11,777.777 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:47:11,995.995 INFO    ] Initializing speech engine...
[2026-08-29 16:47:12,005.005 INFO    ] 2026-08-29 16:47:11
[2026-08-29 16:47:12,268.268 INFO    ] 2026-08-29 16:47:12
[2026-08-29 16:47:12,324.324 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:47:12,470.470 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:47:12,482.482 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:47:12,596.596 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:47:12,615.615 INFO    ] time= 29/08/2026 16:47:12
[2026-08-29 16:47:12,635.635 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:47:12,642.642 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:47:12,712.712 INFO    ] No existing commands found in stream
[2026-08-29 16:47:17,724.724 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:47:17,727.727 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-08-29 16:47:21,258.258 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:47:21,260.260 INFO    ] Checking for system updates...
[2026-08-29 16:47:21,280.280 INFO    ] 200
[2026-08-29 16:47:21,282.282 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:47:21,311.311 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:47:21,313.313 INFO    ] No update needed
[2026-08-29 16:47:21,314.314 INFO    ] Checking for camera pi updates...
[2026-08-29 16:47:21,334.334 INFO    ] 200
[2026-08-29 16:47:21,335.335 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:47:21,360.360 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:47:21,435.435 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:47:21,436.436 INFO    ] No camera update needed
[2026-08-29 16:47:21,437.437 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:47:21,439.439 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:47:21,441.441 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:47:21,444.444 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:47:23,483.483 INFO    ] ================================================
[2026-08-29 16:47:23,499.499 INFO    ] Launching Daemon at Sat Aug 29 16:47:23 IST 2026
[2026-08-29 16:47:23,511.511 INFO    ] ================================================
[2026-08-29 16:47:23,875.875 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:47:23
[2026-08-29 16:47:24,188.188 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:47:24,319.319 INFO    ] Initializing speech engine...
[2026-08-29 16:47:24,332.332 INFO    ] 2026-08-29 16:47:24
[2026-08-29 16:47:24,539.539 INFO    ] 2026-08-29 16:47:24
[2026-08-29 16:47:24,567.567 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:47:24,689.689 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:47:24,752.752 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:47:24,889.889 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:47:24,948.948 INFO    ] time= 29/08/2026 16:47:24
[2026-08-29 16:47:24,980.980 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:47:24,987.987 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:47:25,052.052 INFO    ] No existing commands found in stream
[2026-08-29 16:47:30,063.063 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:47:30,066.066 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-08-29 16:47:33,255.255 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:47:33,257.257 INFO    ] Checking for system updates...
[2026-08-29 16:47:33,297.297 INFO    ] 200
[2026-08-29 16:47:33,300.300 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:47:33,368.368 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:47:33,371.371 INFO    ] No update needed
[2026-08-29 16:47:33,374.374 INFO    ] Checking for camera pi updates...
[2026-08-29 16:47:33,410.410 INFO    ] 200
[2026-08-29 16:47:33,412.412 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:47:33,458.458 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:47:33,554.554 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:47:33,557.557 INFO    ] No camera update needed
[2026-08-29 16:47:33,559.559 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:47:33,561.561 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:47:33,566.566 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:47:33,571.571 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:47:35,613.613 INFO    ] ================================================
[2026-08-29 16:47:35,629.629 INFO    ] Launching Daemon at Sat Aug 29 16:47:35 IST 2026
[2026-08-29 16:47:35,641.641 INFO    ] ================================================
[2026-08-29 16:47:36,011.011 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:47:36
[2026-08-29 16:47:36,326.326 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:47:36,576.576 INFO    ] Initializing speech engine...
[2026-08-29 16:47:36,592.592 INFO    ] 2026-08-29 16:47:36
[2026-08-29 16:47:36,869.869 INFO    ] 2026-08-29 16:47:36
[2026-08-29 16:47:36,905.905 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:47:37,051.051 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:47:37,059.059 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:47:37,203.203 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:47:37,218.218 INFO    ] time= 29/08/2026 16:47:37
[2026-08-29 16:47:37,223.223 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:47:37,229.229 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:47:37,298.298 INFO    ] No existing commands found in stream
[2026-08-29 16:47:42,309.309 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:47:42,311.311 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 16:47:45,762.762 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:47:45,764.764 INFO    ] Checking for system updates...
[2026-08-29 16:47:45,784.784 INFO    ] 200
[2026-08-29 16:47:45,786.786 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:47:45,819.819 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:47:45,820.820 INFO    ] No update needed
[2026-08-29 16:47:45,822.822 INFO    ] Checking for camera pi updates...
[2026-08-29 16:47:45,842.842 INFO    ] 200
[2026-08-29 16:47:45,844.844 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:47:45,867.867 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:47:45,966.966 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:47:45,967.967 INFO    ] No camera update needed
[2026-08-29 16:47:45,968.968 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:47:45,970.970 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:47:45,973.973 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:47:45,975.975 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:47:48,015.015 INFO    ] ================================================
[2026-08-29 16:47:48,032.032 INFO    ] Launching Daemon at Sat Aug 29 16:47:48 IST 2026
[2026-08-29 16:47:48,042.042 INFO    ] ================================================
[2026-08-29 16:47:48,413.413 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:47:48
[2026-08-29 16:47:48,736.736 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:47:48,877.877 INFO    ] Initializing speech engine...
[2026-08-29 16:47:48,886.886 INFO    ] 2026-08-29 16:47:48
[2026-08-29 16:47:49,106.106 INFO    ] 2026-08-29 16:47:49
[2026-08-29 16:47:49,136.136 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:47:49,267.267 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:47:49,311.311 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:47:49,443.443 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:47:49,492.492 INFO    ] time= 29/08/2026 16:47:49
[2026-08-29 16:47:49,514.514 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:47:49,571.571 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:47:49,654.654 INFO    ] No existing commands found in stream
[2026-08-29 16:47:54,674.674 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:47:54,676.676 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-08-29 16:47:57,262.262 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:47:57,264.264 INFO    ] Checking for system updates...
[2026-08-29 16:47:57,284.284 INFO    ] 200
[2026-08-29 16:47:57,286.286 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:47:57,316.316 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:47:57,317.317 INFO    ] No update needed
[2026-08-29 16:47:57,318.318 INFO    ] Checking for camera pi updates...
[2026-08-29 16:47:57,349.349 INFO    ] 200
[2026-08-29 16:47:57,352.352 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:47:57,392.392 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:47:57,494.494 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:47:57,497.497 INFO    ] No camera update needed
[2026-08-29 16:47:57,499.499 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:47:57,501.501 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:47:57,506.506 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:47:57,511.511 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:47:59,552.552 INFO    ] ================================================
[2026-08-29 16:47:59,568.568 INFO    ] Launching Daemon at Sat Aug 29 16:47:59 IST 2026
[2026-08-29 16:47:59,580.580 INFO    ] ================================================
[2026-08-29 16:48:00,153.153 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:48:00
[2026-08-29 16:48:00,610.610 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:48:00,753.753 INFO    ] Initializing speech engine...
[2026-08-29 16:48:00,763.763 INFO    ] 2026-08-29 16:48:00
[2026-08-29 16:48:00,970.970 INFO    ] 2026-08-29 16:48:00
[2026-08-29 16:48:00,998.998 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:48:01,120.120 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:48:01,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:48:01,371.371 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:48:01,375.375 INFO    ] time= 29/08/2026 16:48:01
[2026-08-29 16:48:01,379.379 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:48:01,444.444 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:48:01,546.546 INFO    ] No existing commands found in stream
[2026-08-29 16:48:06,588.588 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:48:06,590.590 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-08-29 16:48:07,805.805 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:48:07,806.806 INFO    ] Checking for system updates...
[2026-08-29 16:48:07,829.829 INFO    ] 200
[2026-08-29 16:48:07,831.831 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:48:07,863.863 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:48:07,865.865 INFO    ] No update needed
[2026-08-29 16:48:07,866.866 INFO    ] Checking for camera pi updates...
[2026-08-29 16:48:07,887.887 INFO    ] 200
[2026-08-29 16:48:07,888.888 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:48:07,916.916 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:48:07,991.991 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:48:07,993.993 INFO    ] No camera update needed
[2026-08-29 16:48:07,994.994 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:48:07,996.996 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:48:07,999.999 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:48:08,002.002 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:48:10,042.042 INFO    ] ================================================
[2026-08-29 16:48:10,058.058 INFO    ] Launching Daemon at Sat Aug 29 16:48:10 IST 2026
[2026-08-29 16:48:10,069.069 INFO    ] ================================================
[2026-08-29 16:48:10,409.409 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:48:10
[2026-08-29 16:48:10,725.725 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:48:10,991.991 INFO    ] Initializing speech engine...
[2026-08-29 16:48:10,997.997 INFO    ] 2026-08-29 16:48:10
[2026-08-29 16:48:11,260.260 INFO    ] 2026-08-29 16:48:11
[2026-08-29 16:48:11,290.290 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:48:11,484.484 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:48:11,489.489 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:48:11,599.599 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:48:11,605.605 INFO    ] time= 29/08/2026 16:48:11
[2026-08-29 16:48:11,628.628 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:48:11,636.636 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:48:11,685.685 INFO    ] No existing commands found in stream
[2026-08-29 16:48:16,696.696 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:48:16,698.698 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-08-29 16:48:20,011.011 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:48:20,013.013 INFO    ] Checking for system updates...
[2026-08-29 16:48:20,034.034 INFO    ] 200
[2026-08-29 16:48:20,035.035 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:48:20,067.067 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:48:20,068.068 INFO    ] No update needed
[2026-08-29 16:48:20,070.070 INFO    ] Checking for camera pi updates...
[2026-08-29 16:48:20,089.089 INFO    ] 200
[2026-08-29 16:48:20,090.090 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:48:20,113.113 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:48:20,224.224 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:48:20,225.225 INFO    ] No camera update needed
[2026-08-29 16:48:20,226.226 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:48:20,227.227 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:48:20,230.230 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:48:20,233.233 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:48:22,272.272 INFO    ] ================================================
[2026-08-29 16:48:22,288.288 INFO    ] Launching Daemon at Sat Aug 29 16:48:22 IST 2026
[2026-08-29 16:48:22,307.307 INFO    ] ================================================
[2026-08-29 16:48:22,877.877 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:48:22
[2026-08-29 16:48:23,462.462 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:48:23,715.715 INFO    ] Initializing speech engine...
[2026-08-29 16:48:23,737.737 INFO    ] 2026-08-29 16:48:23
[2026-08-29 16:48:23,995.995 INFO    ] 2026-08-29 16:48:23
[2026-08-29 16:48:24,030.030 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:48:24,204.204 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:48:24,218.218 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:48:24,329.329 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:48:24,335.335 INFO    ] time= 29/08/2026 16:48:24
[2026-08-29 16:48:24,354.354 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:48:24,377.377 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:48:24,447.447 INFO    ] No existing commands found in stream
[2026-08-29 16:48:29,459.459 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:48:29,462.462 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-08-29 16:48:30,738.738 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:48:30,740.740 INFO    ] Checking for system updates...
[2026-08-29 16:48:30,760.760 INFO    ] 200
[2026-08-29 16:48:30,762.762 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:48:30,794.794 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:48:30,796.796 INFO    ] No update needed
[2026-08-29 16:48:30,797.797 INFO    ] Checking for camera pi updates...
[2026-08-29 16:48:30,816.816 INFO    ] 200
[2026-08-29 16:48:30,817.817 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:48:30,840.840 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:48:30,922.922 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:48:30,924.924 INFO    ] No camera update needed
[2026-08-29 16:48:30,925.925 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:48:30,926.926 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:48:30,929.929 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:48:30,932.932 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:48:32,971.971 INFO    ] ================================================
[2026-08-29 16:48:32,987.987 INFO    ] Launching Daemon at Sat Aug 29 16:48:32 IST 2026
[2026-08-29 16:48:33,998.998 INFO    ] ================================================
[2026-08-29 16:48:33,620.620 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:48:33
[2026-08-29 16:48:34,226.226 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:48:34,490.490 INFO    ] Initializing speech engine...
[2026-08-29 16:48:34,513.513 INFO    ] 2026-08-29 16:48:34
[2026-08-29 16:48:34,782.782 INFO    ] 2026-08-29 16:48:34
[2026-08-29 16:48:34,811.811 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:48:34,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:48:34,996.996 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:48:35,133.133 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:48:35,183.183 INFO    ] time= 29/08/2026 16:48:35
[2026-08-29 16:48:35,242.242 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:48:35,279.279 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:48:35,415.415 INFO    ] No existing commands found in stream
[2026-08-29 16:48:40,445.445 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:48:40,448.448 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-08-29 16:48:41,196.196 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:48:41,198.198 INFO    ] Checking for system updates...
[2026-08-29 16:48:41,218.218 INFO    ] 200
[2026-08-29 16:48:41,220.220 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:48:41,251.251 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:48:41,253.253 INFO    ] No update needed
[2026-08-29 16:48:41,255.255 INFO    ] Checking for camera pi updates...
[2026-08-29 16:48:41,275.275 INFO    ] 200
[2026-08-29 16:48:41,276.276 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:48:41,301.301 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:48:41,382.382 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:48:41,383.383 INFO    ] No camera update needed
[2026-08-29 16:48:41,385.385 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:48:41,386.386 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:48:41,389.389 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:48:41,392.392 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:48:43,431.431 INFO    ] ================================================
[2026-08-29 16:48:43,448.448 INFO    ] Launching Daemon at Sat Aug 29 16:48:43 IST 2026
[2026-08-29 16:48:43,459.459 INFO    ] ================================================
[2026-08-29 16:48:43,846.846 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:48:43
[2026-08-29 16:48:44,429.429 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:48:44,690.690 INFO    ] Initializing speech engine...
[2026-08-29 16:48:44,709.709 INFO    ] 2026-08-29 16:48:44
[2026-08-29 16:48:44,960.960 INFO    ] 2026-08-29 16:48:44
[2026-08-29 16:48:44,996.996 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:48:45,170.170 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:48:45,185.185 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:48:45,313.313 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:48:45,333.333 INFO    ] time= 29/08/2026 16:48:45
[2026-08-29 16:48:45,341.341 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:48:45,347.347 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:48:45,415.415 INFO    ] No existing commands found in stream
[2026-08-29 16:48:50,431.431 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:48:50,434.434 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-08-29 16:48:54,140.140 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:48:54,141.141 INFO    ] Checking for system updates...
[2026-08-29 16:48:54,163.163 INFO    ] 200
[2026-08-29 16:48:54,164.164 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:48:54,196.196 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:48:54,197.197 INFO    ] No update needed
[2026-08-29 16:48:54,198.198 INFO    ] Checking for camera pi updates...
[2026-08-29 16:48:54,219.219 INFO    ] 200
[2026-08-29 16:48:54,220.220 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:48:54,243.243 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:48:54,321.321 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:48:54,323.323 INFO    ] No camera update needed
[2026-08-29 16:48:54,324.324 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:48:54,325.325 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:48:54,328.328 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:48:54,331.331 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:48:56,370.370 INFO    ] ================================================
[2026-08-29 16:48:56,386.386 INFO    ] Launching Daemon at Sat Aug 29 16:48:56 IST 2026
[2026-08-29 16:48:56,397.397 INFO    ] ================================================
[2026-08-29 16:48:56,746.746 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:48:56
[2026-08-29 16:48:57,058.058 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:48:57,205.205 INFO    ] Initializing speech engine...
[2026-08-29 16:48:57,210.210 INFO    ] 2026-08-29 16:48:57
[2026-08-29 16:48:57,456.456 INFO    ] 2026-08-29 16:48:57
[2026-08-29 16:48:57,492.492 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:48:57,673.673 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:48:57,692.692 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:48:57,803.803 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:48:57,808.808 INFO    ] time= 29/08/2026 16:48:57
[2026-08-29 16:48:57,813.813 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:48:57,836.836 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:48:57,892.892 INFO    ] No existing commands found in stream
[2026-08-29 16:49:02,904.904 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:49:02,907.907 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-08-29 16:49:05,326.326 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:49:05,327.327 INFO    ] Checking for system updates...
[2026-08-29 16:49:05,349.349 INFO    ] 200
[2026-08-29 16:49:05,350.350 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:49:05,380.380 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:49:05,381.381 INFO    ] No update needed
[2026-08-29 16:49:05,383.383 INFO    ] Checking for camera pi updates...
[2026-08-29 16:49:05,402.402 INFO    ] 200
[2026-08-29 16:49:05,403.403 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:49:05,426.426 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:49:05,521.521 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:49:05,522.522 INFO    ] No camera update needed
[2026-08-29 16:49:05,523.523 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:49:05,525.525 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:49:05,527.527 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:49:05,530.530 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:49:07,570.570 INFO    ] ================================================
[2026-08-29 16:49:07,585.585 INFO    ] Launching Daemon at Sat Aug 29 16:49:07 IST 2026
[2026-08-29 16:49:07,596.596 INFO    ] ================================================
[2026-08-29 16:49:08,185.185 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:49:08
[2026-08-29 16:49:08,792.792 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:49:09,059.059 INFO    ] Initializing speech engine...
[2026-08-29 16:49:09,063.063 INFO    ] 2026-08-29 16:49:09
[2026-08-29 16:49:09,267.267 INFO    ] 2026-08-29 16:49:09
[2026-08-29 16:49:09,295.295 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:49:09,418.418 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:49:09,481.481 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:49:09,616.616 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:49:09,678.678 INFO    ] time= 29/08/2026 16:49:09
[2026-08-29 16:49:09,711.711 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:49:09,713.713 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:49:09,785.785 INFO    ] No existing commands found in stream
[2026-08-29 16:49:14,794.794 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:49:14,797.797 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-08-29 16:49:15,933.933 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:49:15,935.935 INFO    ] Checking for system updates...
[2026-08-29 16:49:15,956.956 INFO    ] 200
[2026-08-29 16:49:15,957.957 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:49:15,988.988 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:49:15,989.989 INFO    ] No update needed
[2026-08-29 16:49:15,990.990 INFO    ] Checking for camera pi updates...
[2026-08-29 16:49:16,012.012 INFO    ] 200
[2026-08-29 16:49:16,013.013 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:49:16,045.045 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:49:16,150.150 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:49:16,152.152 INFO    ] No camera update needed
[2026-08-29 16:49:16,154.154 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:49:16,155.155 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:49:16,158.158 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:49:16,161.161 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:49:18,203.203 INFO    ] ================================================
[2026-08-29 16:49:18,219.219 INFO    ] Launching Daemon at Sat Aug 29 16:49:18 IST 2026
[2026-08-29 16:49:18,231.231 INFO    ] ================================================
[2026-08-29 16:49:18,588.588 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:49:18
[2026-08-29 16:49:18,951.951 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:49:19,234.234 INFO    ] Initializing speech engine...
[2026-08-29 16:49:19,239.239 INFO    ] 2026-08-29 16:49:19
[2026-08-29 16:49:19,506.506 INFO    ] 2026-08-29 16:49:19
[2026-08-29 16:49:19,541.541 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:49:19,709.709 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:49:19,720.720 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:49:19,834.834 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:49:19,854.854 INFO    ] time= 29/08/2026 16:49:19
[2026-08-29 16:49:19,873.873 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:49:19,882.882 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:49:19,951.951 INFO    ] No existing commands found in stream
[2026-08-29 16:49:24,967.967 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:49:24,969.969 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 16:49:25,406.406 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:49:25,408.408 INFO    ] Checking for system updates...
[2026-08-29 16:49:25,428.428 INFO    ] 200
[2026-08-29 16:49:25,429.429 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:49:25,462.462 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:49:25,463.463 INFO    ] No update needed
[2026-08-29 16:49:25,464.464 INFO    ] Checking for camera pi updates...
[2026-08-29 16:49:25,483.483 INFO    ] 200
[2026-08-29 16:49:25,485.485 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:49:25,508.508 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:49:25,591.591 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:49:25,593.593 INFO    ] No camera update needed
[2026-08-29 16:49:25,594.594 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:49:25,595.595 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:49:25,598.598 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:49:25,601.601 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:49:27,639.639 INFO    ] ================================================
[2026-08-29 16:49:27,655.655 INFO    ] Launching Daemon at Sat Aug 29 16:49:27 IST 2026
[2026-08-29 16:49:27,666.666 INFO    ] ================================================
[2026-08-29 16:49:28,023.023 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:49:28
[2026-08-29 16:49:28,336.336 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:49:28,475.475 INFO    ] Initializing speech engine...
[2026-08-29 16:49:28,485.485 INFO    ] 2026-08-29 16:49:28
[2026-08-29 16:49:28,725.725 INFO    ] 2026-08-29 16:49:28
[2026-08-29 16:49:28,760.760 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:49:28,937.937 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:49:28,951.951 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:49:29,086.086 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:49:29,105.105 INFO    ] time= 29/08/2026 16:49:29
[2026-08-29 16:49:29,109.109 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:49:29,116.116 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:49:29,181.181 INFO    ] No existing commands found in stream
[2026-08-29 16:49:34,194.194 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:49:34,196.196 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 16:49:36,176.176 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:49:36,177.177 INFO    ] Checking for system updates...
[2026-08-29 16:49:36,199.199 INFO    ] 200
[2026-08-29 16:49:36,201.201 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:49:36,230.230 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:49:36,232.232 INFO    ] No update needed
[2026-08-29 16:49:36,233.233 INFO    ] Checking for camera pi updates...
[2026-08-29 16:49:36,252.252 INFO    ] 200
[2026-08-29 16:49:36,254.254 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:49:36,277.277 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:49:36,462.462 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:49:36,463.463 INFO    ] No camera update needed
[2026-08-29 16:49:36,464.464 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:49:36,466.466 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:49:36,468.468 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:49:36,471.471 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:49:38,510.510 INFO    ] ================================================
[2026-08-29 16:49:38,526.526 INFO    ] Launching Daemon at Sat Aug 29 16:49:38 IST 2026
[2026-08-29 16:49:38,537.537 INFO    ] ================================================
[2026-08-29 16:49:38,874.874 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:49:38
[2026-08-29 16:49:39,190.190 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:49:39,331.331 INFO    ] Initializing speech engine...
[2026-08-29 16:49:39,340.340 INFO    ] 2026-08-29 16:49:39
[2026-08-29 16:49:39,546.546 INFO    ] 2026-08-29 16:49:39
[2026-08-29 16:49:39,575.575 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:49:39,721.721 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:49:39,730.730 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:49:39,895.895 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:49:39,935.935 INFO    ] time= 29/08/2026 16:49:39
[2026-08-29 16:49:39,940.940 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:49:39,958.958 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:49:40,045.045 INFO    ] No existing commands found in stream
[2026-08-29 16:49:45,070.070 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:49:45,073.073 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-08-29 16:49:47,002.002 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:49:47,003.003 INFO    ] Checking for system updates...
[2026-08-29 16:49:47,024.024 INFO    ] 200
[2026-08-29 16:49:47,025.025 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:49:47,058.058 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:49:47,060.060 INFO    ] No update needed
[2026-08-29 16:49:47,061.061 INFO    ] Checking for camera pi updates...
[2026-08-29 16:49:47,082.082 INFO    ] 200
[2026-08-29 16:49:47,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:49:47,108.108 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:49:47,183.183 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:49:47,184.184 INFO    ] No camera update needed
[2026-08-29 16:49:47,185.185 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:49:47,186.186 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:49:47,189.189 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:49:47,192.192 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:49:49,231.231 INFO    ] ================================================
[2026-08-29 16:49:49,247.247 INFO    ] Launching Daemon at Sat Aug 29 16:49:49 IST 2026
[2026-08-29 16:49:49,258.258 INFO    ] ================================================
[2026-08-29 16:49:49,596.596 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:49:49
[2026-08-29 16:49:49,908.908 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:49:50,046.046 INFO    ] Initializing speech engine...
[2026-08-29 16:49:50,053.053 INFO    ] 2026-08-29 16:49:50
[2026-08-29 16:49:50,259.259 INFO    ] 2026-08-29 16:49:50
[2026-08-29 16:49:50,339.339 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:49:50,489.489 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:49:50,498.498 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:49:50,633.633 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:49:50,640.640 INFO    ] time= 29/08/2026 16:49:50
[2026-08-29 16:49:50,694.694 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:49:50,732.732 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:49:50,821.821 INFO    ] No existing commands found in stream
[2026-08-29 16:49:55,833.833 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:49:55,842.842 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 16:49:56,295.295 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:49:56,296.296 INFO    ] Checking for system updates...
[2026-08-29 16:49:56,318.318 INFO    ] 200
[2026-08-29 16:49:56,320.320 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:49:56,353.353 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:49:56,354.354 INFO    ] No update needed
[2026-08-29 16:49:56,356.356 INFO    ] Checking for camera pi updates...
[2026-08-29 16:49:56,375.375 INFO    ] 200
[2026-08-29 16:49:56,377.377 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:49:56,401.401 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:49:56,477.477 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:49:56,478.478 INFO    ] No camera update needed
[2026-08-29 16:49:56,480.480 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:49:56,481.481 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:49:56,484.484 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:49:56,487.487 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:49:58,529.529 INFO    ] ================================================
[2026-08-29 16:49:58,546.546 INFO    ] Launching Daemon at Sat Aug 29 16:49:58 IST 2026
[2026-08-29 16:49:58,558.558 INFO    ] ================================================
[2026-08-29 16:49:59,034.034 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:49:59
[2026-08-29 16:49:59,619.619 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:49:59,870.870 INFO    ] Initializing speech engine...
[2026-08-29 16:49:59,883.883 INFO    ] 2026-08-29 16:49:59
[2026-08-29 16:50:00,147.147 INFO    ] 2026-08-29 16:50:00
[2026-08-29 16:50:00,182.182 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:50:00,353.353 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:50:00,367.367 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:50:00,510.510 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:50:00,518.518 INFO    ] time= 29/08/2026 16:50:00
[2026-08-29 16:50:00,526.526 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:50:00,552.552 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:50:00,676.676 INFO    ] No existing commands found in stream
[2026-08-29 16:50:05,701.701 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:50:05,704.704 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-08-29 16:50:08,791.791 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:50:08,792.792 INFO    ] Checking for system updates...
[2026-08-29 16:50:08,813.813 INFO    ] 200
[2026-08-29 16:50:08,814.814 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:50:08,847.847 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:50:08,848.848 INFO    ] No update needed
[2026-08-29 16:50:08,849.849 INFO    ] Checking for camera pi updates...
[2026-08-29 16:50:08,869.869 INFO    ] 200
[2026-08-29 16:50:08,870.870 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:50:08,895.895 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:50:08,977.977 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:50:08,978.978 INFO    ] No camera update needed
[2026-08-29 16:50:08,980.980 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:50:08,981.981 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:50:08,984.984 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:50:08,987.987 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:50:11,027.027 INFO    ] ================================================
[2026-08-29 16:50:11,042.042 INFO    ] Launching Daemon at Sat Aug 29 16:50:11 IST 2026
[2026-08-29 16:50:11,053.053 INFO    ] ================================================
[2026-08-29 16:50:11,381.381 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:50:11
[2026-08-29 16:50:11,695.695 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:50:11,833.833 INFO    ] Initializing speech engine...
[2026-08-29 16:50:11,846.846 INFO    ] 2026-08-29 16:50:11
[2026-08-29 16:50:12,067.067 INFO    ] 2026-08-29 16:50:12
[2026-08-29 16:50:12,098.098 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:50:12,232.232 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:50:12,300.300 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:50:12,444.444 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:50:12,496.496 INFO    ] time= 29/08/2026 16:50:12
[2026-08-29 16:50:12,528.528 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:50:12,555.555 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:50:12,632.632 INFO    ] No existing commands found in stream
[2026-08-29 16:50:17,643.643 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:50:17,651.651 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-08-29 16:50:18,022.022 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:50:18,023.023 INFO    ] Checking for system updates...
[2026-08-29 16:50:18,046.046 INFO    ] 200
[2026-08-29 16:50:18,047.047 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:50:18,080.080 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:50:18,082.082 INFO    ] No update needed
[2026-08-29 16:50:18,083.083 INFO    ] Checking for camera pi updates...
[2026-08-29 16:50:18,103.103 INFO    ] 200
[2026-08-29 16:50:18,104.104 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:50:18,127.127 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:50:18,219.219 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:50:18,220.220 INFO    ] No camera update needed
[2026-08-29 16:50:18,222.222 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:50:18,223.223 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:50:18,226.226 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:50:18,229.229 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:50:20,269.269 INFO    ] ================================================
[2026-08-29 16:50:20,285.285 INFO    ] Launching Daemon at Sat Aug 29 16:50:20 IST 2026
[2026-08-29 16:50:20,297.297 INFO    ] ================================================
[2026-08-29 16:50:20,688.688 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:50:20
[2026-08-29 16:50:21,031.031 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:50:21,184.184 INFO    ] Initializing speech engine...
[2026-08-29 16:50:21,190.190 INFO    ] 2026-08-29 16:50:21
[2026-08-29 16:50:21,422.422 INFO    ] 2026-08-29 16:50:21
[2026-08-29 16:50:21,480.480 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:50:21,703.703 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:50:21,713.713 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:50:21,847.847 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:50:21,900.900 INFO    ] time= 29/08/2026 16:50:21
[2026-08-29 16:50:21,955.955 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:50:21,983.983 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:50:22,039.039 INFO    ] No existing commands found in stream
[2026-08-29 16:50:27,052.052 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:50:27,056.056 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-08-29 16:50:30,727.727 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:50:30,728.728 INFO    ] Checking for system updates...
[2026-08-29 16:50:30,749.749 INFO    ] 200
[2026-08-29 16:50:30,751.751 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:50:30,784.784 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:50:30,785.785 INFO    ] No update needed
[2026-08-29 16:50:30,787.787 INFO    ] Checking for camera pi updates...
[2026-08-29 16:50:30,808.808 INFO    ] 200
[2026-08-29 16:50:30,809.809 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:50:30,837.837 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:50:30,909.909 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:50:30,910.910 INFO    ] No camera update needed
[2026-08-29 16:50:30,912.912 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:50:30,913.913 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:50:30,916.916 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:50:30,920.920 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:50:32,960.960 INFO    ] ================================================
[2026-08-29 16:50:32,977.977 INFO    ] Launching Daemon at Sat Aug 29 16:50:32 IST 2026
[2026-08-29 16:50:32,989.989 INFO    ] ================================================
[2026-08-29 16:50:33,623.623 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:50:33
[2026-08-29 16:50:34,295.295 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:50:34,547.547 INFO    ] Initializing speech engine...
[2026-08-29 16:50:34,559.559 INFO    ] 2026-08-29 16:50:34
[2026-08-29 16:50:34,826.826 INFO    ] 2026-08-29 16:50:34
[2026-08-29 16:50:34,862.862 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:50:35,039.039 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:50:35,046.046 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:50:35,199.199 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:50:35,207.207 INFO    ] time= 29/08/2026 16:50:35
[2026-08-29 16:50:35,214.214 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:50:35,234.234 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:50:35,362.362 INFO    ] No existing commands found in stream
[2026-08-29 16:50:40,387.387 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:50:40,390.390 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-08-29 16:50:42,909.909 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:50:42,910.910 INFO    ] Checking for system updates...
[2026-08-29 16:50:42,933.933 INFO    ] 200
[2026-08-29 16:50:42,934.934 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:50:42,965.965 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:50:42,966.966 INFO    ] No update needed
[2026-08-29 16:50:42,968.968 INFO    ] Checking for camera pi updates...
[2026-08-29 16:50:42,988.988 INFO    ] 200
[2026-08-29 16:50:42,990.990 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:50:43,016.016 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:50:43,086.086 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:50:43,088.088 INFO    ] No camera update needed
[2026-08-29 16:50:43,089.089 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:50:43,091.091 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:50:43,094.094 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:50:43,097.097 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:50:45,138.138 INFO    ] ================================================
[2026-08-29 16:50:45,154.154 INFO    ] Launching Daemon at Sat Aug 29 16:50:45 IST 2026
[2026-08-29 16:50:45,165.165 INFO    ] ================================================
[2026-08-29 16:50:45,730.730 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:50:45
[2026-08-29 16:50:46,145.145 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:50:46,298.298 INFO    ] Initializing speech engine...
[2026-08-29 16:50:46,312.312 INFO    ] 2026-08-29 16:50:46
[2026-08-29 16:50:46,575.575 INFO    ] 2026-08-29 16:50:46
[2026-08-29 16:50:46,610.610 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:50:46,784.784 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:50:46,798.798 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:50:46,927.927 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:50:46,947.947 INFO    ] time= 29/08/2026 16:50:46
[2026-08-29 16:50:46,955.955 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:50:46,962.962 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:50:47,027.027 INFO    ] No existing commands found in stream
[2026-08-29 16:50:52,040.040 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:50:52,043.043 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-08-29 16:50:53,215.215 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:50:53,216.216 INFO    ] Checking for system updates...
[2026-08-29 16:50:53,236.236 INFO    ] 200
[2026-08-29 16:50:53,238.238 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:50:53,268.268 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:50:53,269.269 INFO    ] No update needed
[2026-08-29 16:50:53,270.270 INFO    ] Checking for camera pi updates...
[2026-08-29 16:50:53,289.289 INFO    ] 200
[2026-08-29 16:50:53,290.290 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:50:53,314.314 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:50:53,391.391 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:50:53,393.393 INFO    ] No camera update needed
[2026-08-29 16:50:53,396.396 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:50:53,398.398 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:50:53,403.403 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:50:53,408.408 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:50:55,449.449 INFO    ] ================================================
[2026-08-29 16:50:55,465.465 INFO    ] Launching Daemon at Sat Aug 29 16:50:55 IST 2026
[2026-08-29 16:50:55,476.476 INFO    ] ================================================
[2026-08-29 16:50:56,054.054 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:50:56
[2026-08-29 16:50:56,603.603 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:50:56,875.875 INFO    ] Initializing speech engine...
[2026-08-29 16:50:56,885.885 INFO    ] 2026-08-29 16:50:56
[2026-08-29 16:50:57,196.196 INFO    ] 2026-08-29 16:50:57
[2026-08-29 16:50:57,268.268 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:50:57,420.420 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:50:57,435.435 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:50:57,560.560 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:50:57,581.581 INFO    ] time= 29/08/2026 16:50:57
[2026-08-29 16:50:57,602.602 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:50:57,609.609 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:50:57,686.686 INFO    ] No existing commands found in stream
[2026-08-29 16:51:02,712.712 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:51:02,716.716 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-08-29 16:51:04,756.756 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:51:04,757.757 INFO    ] Checking for system updates...
[2026-08-29 16:51:04,777.777 INFO    ] 200
[2026-08-29 16:51:04,779.779 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:51:04,811.811 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:51:04,812.812 INFO    ] No update needed
[2026-08-29 16:51:04,814.814 INFO    ] Checking for camera pi updates...
[2026-08-29 16:51:04,835.835 INFO    ] 200
[2026-08-29 16:51:04,836.836 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:51:04,862.862 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:51:04,957.957 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:51:04,958.958 INFO    ] No camera update needed
[2026-08-29 16:51:04,959.959 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:51:04,960.960 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:51:04,963.963 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:51:04,966.966 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:51:07,007.007 INFO    ] ================================================
[2026-08-29 16:51:07,023.023 INFO    ] Launching Daemon at Sat Aug 29 16:51:07 IST 2026
[2026-08-29 16:51:07,034.034 INFO    ] ================================================
[2026-08-29 16:51:07,404.404 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:51:07
[2026-08-29 16:51:07,738.738 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:51:07,884.884 INFO    ] Initializing speech engine...
[2026-08-29 16:51:07,894.894 INFO    ] 2026-08-29 16:51:07
[2026-08-29 16:51:08,115.115 INFO    ] 2026-08-29 16:51:08
[2026-08-29 16:51:08,161.161 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:51:08,334.334 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:51:08,358.358 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:51:08,492.492 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:51:08,501.501 INFO    ] time= 29/08/2026 16:51:08
[2026-08-29 16:51:08,510.510 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:51:08,555.555 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:51:08,688.688 INFO    ] No existing commands found in stream
[2026-08-29 16:51:13,714.714 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:51:13,717.717 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-08-29 16:51:16,673.673 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:51:16,674.674 INFO    ] Checking for system updates...
[2026-08-29 16:51:16,695.695 INFO    ] 200
[2026-08-29 16:51:16,696.696 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:51:16,727.727 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:51:16,728.728 INFO    ] No update needed
[2026-08-29 16:51:16,729.729 INFO    ] Checking for camera pi updates...
[2026-08-29 16:51:16,748.748 INFO    ] 200
[2026-08-29 16:51:16,749.749 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:51:16,772.772 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:51:16,847.847 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:51:16,849.849 INFO    ] No camera update needed
[2026-08-29 16:51:16,850.850 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:51:16,851.851 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:51:16,854.854 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:51:16,857.857 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:51:18,895.895 INFO    ] ================================================
[2026-08-29 16:51:18,910.910 INFO    ] Launching Daemon at Sat Aug 29 16:51:18 IST 2026
[2026-08-29 16:51:18,921.921 INFO    ] ================================================
[2026-08-29 16:51:19,274.274 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:51:19
[2026-08-29 16:51:19,595.595 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:51:19,726.726 INFO    ] Initializing speech engine...
[2026-08-29 16:51:19,740.740 INFO    ] 2026-08-29 16:51:19
[2026-08-29 16:51:19,927.927 INFO    ] 2026-08-29 16:51:19
[2026-08-29 16:51:19,955.955 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:51:20,068.068 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:51:20,100.100 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:51:20,244.244 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:51:20,295.295 INFO    ] time= 29/08/2026 16:51:20
[2026-08-29 16:51:20,316.316 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:51:20,328.328 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:51:20,374.374 INFO    ] No existing commands found in stream
[2026-08-29 16:51:25,383.383 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:51:25,386.386 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-08-29 16:51:28,859.859 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:51:28,861.861 INFO    ] Checking for system updates...
[2026-08-29 16:51:28,883.883 INFO    ] 200
[2026-08-29 16:51:28,885.885 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:51:28,915.915 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:51:28,916.916 INFO    ] No update needed
[2026-08-29 16:51:28,917.917 INFO    ] Checking for camera pi updates...
[2026-08-29 16:51:28,937.937 INFO    ] 200
[2026-08-29 16:51:28,938.938 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:51:28,961.961 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:51:29,054.054 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:51:29,056.056 INFO    ] No camera update needed
[2026-08-29 16:51:29,057.057 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:51:29,058.058 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:51:29,061.061 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:51:29,064.064 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:51:31,104.104 INFO    ] ================================================
[2026-08-29 16:51:31,118.118 INFO    ] Launching Daemon at Sat Aug 29 16:51:31 IST 2026
[2026-08-29 16:51:31,129.129 INFO    ] ================================================
[2026-08-29 16:51:31,613.613 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:51:31
[2026-08-29 16:51:32,232.232 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:51:32,537.537 INFO    ] Initializing speech engine...
[2026-08-29 16:51:32,544.544 INFO    ] 2026-08-29 16:51:32
[2026-08-29 16:51:32,820.820 INFO    ] 2026-08-29 16:51:32
[2026-08-29 16:51:32,857.857 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:51:33,052.052 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:51:33,059.059 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:51:33,189.189 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:51:33,196.196 INFO    ] time= 29/08/2026 16:51:33
[2026-08-29 16:51:33,202.202 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:51:33,222.222 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:51:33,311.311 INFO    ] No existing commands found in stream
[2026-08-29 16:51:38,331.331 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:51:38,334.334 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-08-29 16:51:41,717.717 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:51:41,720.720 INFO    ] Checking for system updates...
[2026-08-29 16:51:41,756.756 INFO    ] 200
[2026-08-29 16:51:41,758.758 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:51:41,810.810 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:51:41,813.813 INFO    ] No update needed
[2026-08-29 16:51:41,815.815 INFO    ] Checking for camera pi updates...
[2026-08-29 16:51:41,848.848 INFO    ] 200
[2026-08-29 16:51:41,851.851 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:51:41,883.883 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:51:42,057.057 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:51:42,059.059 INFO    ] No camera update needed
[2026-08-29 16:51:42,060.060 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:51:42,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:51:42,064.064 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:51:42,067.067 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:51:44,097.097 INFO    ] ================================================
[2026-08-29 16:51:44,105.105 INFO    ] Launching Daemon at Sat Aug 29 16:51:44 IST 2026
[2026-08-29 16:51:44,111.111 INFO    ] ================================================
[2026-08-29 16:51:44,730.730 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:51:44
[2026-08-29 16:51:45,339.339 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:51:45,621.621 INFO    ] Initializing speech engine...
[2026-08-29 16:51:45,629.629 INFO    ] 2026-08-29 16:51:45
[2026-08-29 16:51:45,889.889 INFO    ] 2026-08-29 16:51:45
[2026-08-29 16:51:45,920.920 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:51:46,095.095 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:51:46,114.114 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:51:47,270.270 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:51:47,277.277 INFO    ] time= 29/08/2026 16:51:47
[2026-08-29 16:51:47,286.286 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:51:47,293.293 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:51:47,601.601 INFO    ] No existing commands found in stream
[2026-08-29 16:51:52,611.611 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:51:52,613.613 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-08-29 16:51:55,109.109 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:51:55,110.110 INFO    ] Checking for system updates...
[2026-08-29 16:51:55,133.133 INFO    ] 200
[2026-08-29 16:51:55,136.136 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:51:55,190.190 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:51:55,192.192 INFO    ] No update needed
[2026-08-29 16:51:55,195.195 INFO    ] Checking for camera pi updates...
[2026-08-29 16:51:55,230.230 INFO    ] 200
[2026-08-29 16:51:55,232.232 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:51:55,273.273 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:51:55,351.351 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:51:55,354.354 INFO    ] No camera update needed
[2026-08-29 16:51:55,356.356 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:51:55,358.358 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:51:55,364.364 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:51:55,369.369 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:51:57,415.415 INFO    ] ================================================
[2026-08-29 16:51:57,430.430 INFO    ] Launching Daemon at Sat Aug 29 16:51:57 IST 2026
[2026-08-29 16:51:57,441.441 INFO    ] ================================================
[2026-08-29 16:51:58,071.071 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:51:58
[2026-08-29 16:51:58,406.406 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:51:58,546.546 INFO    ] Initializing speech engine...
[2026-08-29 16:51:58,558.558 INFO    ] 2026-08-29 16:51:58
[2026-08-29 16:51:58,769.769 INFO    ] 2026-08-29 16:51:58
[2026-08-29 16:51:58,798.798 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:51:58,932.932 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:51:58,969.969 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:51:59,140.140 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:51:59,192.192 INFO    ] time= 29/08/2026 16:51:59
[2026-08-29 16:51:59,241.241 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:51:59,253.253 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:51:59,323.323 INFO    ] No existing commands found in stream
[2026-08-29 16:52:04,334.334 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:52:04,337.337 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-08-29 16:52:06,858.858 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:52:06,859.859 INFO    ] Checking for system updates...
[2026-08-29 16:52:06,880.880 INFO    ] 200
[2026-08-29 16:52:06,881.881 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:52:06,911.911 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:52:06,913.913 INFO    ] No update needed
[2026-08-29 16:52:06,914.914 INFO    ] Checking for camera pi updates...
[2026-08-29 16:52:06,933.933 INFO    ] 200
[2026-08-29 16:52:06,934.934 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:52:06,958.958 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:52:07,034.034 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:52:07,035.035 INFO    ] No camera update needed
[2026-08-29 16:52:07,037.037 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:52:07,038.038 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:52:07,041.041 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:52:07,043.043 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:52:09,082.082 INFO    ] ================================================
[2026-08-29 16:52:09,097.097 INFO    ] Launching Daemon at Sat Aug 29 16:52:09 IST 2026
[2026-08-29 16:52:09,108.108 INFO    ] ================================================
[2026-08-29 16:52:09,473.473 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:52:09
[2026-08-29 16:52:09,902.902 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:52:10,166.166 INFO    ] Initializing speech engine...
[2026-08-29 16:52:10,178.178 INFO    ] 2026-08-29 16:52:10
[2026-08-29 16:52:10,424.424 INFO    ] 2026-08-29 16:52:10
[2026-08-29 16:52:10,461.461 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:52:10,637.637 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:52:10,649.649 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:52:10,760.760 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:52:10,767.767 INFO    ] time= 29/08/2026 16:52:10
[2026-08-29 16:52:10,785.785 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:52:10,805.805 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:52:10,880.880 INFO    ] No existing commands found in stream
[2026-08-29 16:52:15,893.893 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:52:15,895.895 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 16:52:19,641.641 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:52:19,642.642 INFO    ] Checking for system updates...
[2026-08-29 16:52:19,663.663 INFO    ] 200
[2026-08-29 16:52:19,664.664 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:52:19,694.694 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:52:19,696.696 INFO    ] No update needed
[2026-08-29 16:52:19,697.697 INFO    ] Checking for camera pi updates...
[2026-08-29 16:52:19,716.716 INFO    ] 200
[2026-08-29 16:52:19,717.717 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:52:19,740.740 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:52:19,789.789 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:52:19,790.790 INFO    ] No camera update needed
[2026-08-29 16:52:19,792.792 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:52:19,793.793 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:52:19,796.796 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:52:19,799.799 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:52:21,837.837 INFO    ] ================================================
[2026-08-29 16:52:21,852.852 INFO    ] Launching Daemon at Sat Aug 29 16:52:21 IST 2026
[2026-08-29 16:52:21,863.863 INFO    ] ================================================
[2026-08-29 16:52:22,528.528 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:52:22
[2026-08-29 16:52:23,201.201 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:52:23,512.512 INFO    ] Initializing speech engine...
[2026-08-29 16:52:23,524.524 INFO    ] 2026-08-29 16:52:23
[2026-08-29 16:52:23,794.794 INFO    ] 2026-08-29 16:52:23
[2026-08-29 16:52:23,853.853 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:52:24,083.083 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:52:24,088.088 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:52:24,227.227 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:52:24,262.262 INFO    ] time= 29/08/2026 16:52:24
[2026-08-29 16:52:24,318.318 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:52:24,358.358 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:52:24,420.420 INFO    ] No existing commands found in stream
[2026-08-29 16:52:29,433.433 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:52:29,436.436 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-08-29 16:52:32,757.757 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:52:32,760.760 INFO    ] Checking for system updates...
[2026-08-29 16:52:32,798.798 INFO    ] 200
[2026-08-29 16:52:32,801.801 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:52:32,857.857 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:52:32,859.859 INFO    ] No update needed
[2026-08-29 16:52:32,862.862 INFO    ] Checking for camera pi updates...
[2026-08-29 16:52:32,895.895 INFO    ] 200
[2026-08-29 16:52:32,898.898 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:52:32,938.938 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:52:33,040.040 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:52:33,043.043 INFO    ] No camera update needed
[2026-08-29 16:52:33,045.045 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:52:33,047.047 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:52:33,053.053 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:52:33,058.058 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:52:35,089.089 INFO    ] ================================================
[2026-08-29 16:52:35,098.098 INFO    ] Launching Daemon at Sat Aug 29 16:52:35 IST 2026
[2026-08-29 16:52:35,104.104 INFO    ] ================================================
[2026-08-29 16:52:35,637.637 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:52:35
[2026-08-29 16:52:36,239.239 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:52:36,493.493 INFO    ] Initializing speech engine...
[2026-08-29 16:52:36,500.500 INFO    ] 2026-08-29 16:52:36
[2026-08-29 16:52:36,797.797 INFO    ] 2026-08-29 16:52:36
[2026-08-29 16:52:36,827.827 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:52:36,986.986 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:52:36,992.992 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:52:37,143.143 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:52:37,152.152 INFO    ] time= 29/08/2026 16:52:37
[2026-08-29 16:52:37,157.157 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:52:37,162.162 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:52:37,233.233 INFO    ] No existing commands found in stream
[2026-08-29 16:52:42,245.245 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:52:42,247.247 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-08-29 16:52:46,306.306 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:52:46,309.309 INFO    ] Checking for system updates...
[2026-08-29 16:52:46,345.345 INFO    ] 200
[2026-08-29 16:52:46,347.347 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:52:46,399.399 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:52:46,401.401 INFO    ] No update needed
[2026-08-29 16:52:46,404.404 INFO    ] Checking for camera pi updates...
[2026-08-29 16:52:46,438.438 INFO    ] 200
[2026-08-29 16:52:46,441.441 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:52:46,481.481 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:52:46,563.563 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:52:46,565.565 INFO    ] No camera update needed
[2026-08-29 16:52:46,568.568 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:52:46,570.570 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:52:46,575.575 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:52:46,580.580 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:52:48,620.620 INFO    ] ================================================
[2026-08-29 16:52:48,635.635 INFO    ] Launching Daemon at Sat Aug 29 16:52:48 IST 2026
[2026-08-29 16:52:48,645.645 INFO    ] ================================================
[2026-08-29 16:52:49,158.158 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:52:49
[2026-08-29 16:52:49,472.472 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:52:49,602.602 INFO    ] Initializing speech engine...
[2026-08-29 16:52:49,607.607 INFO    ] 2026-08-29 16:52:49
[2026-08-29 16:52:49,826.826 INFO    ] 2026-08-29 16:52:49
[2026-08-29 16:52:49,855.855 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:52:49,980.980 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:52:50,023.023 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:52:50,178.178 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:52:50,232.232 INFO    ] time= 29/08/2026 16:52:50
[2026-08-29 16:52:50,259.259 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:52:50,313.313 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:52:50,416.416 INFO    ] No existing commands found in stream
[2026-08-29 16:52:55,434.434 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:52:55,436.436 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-08-29 16:52:57,673.673 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:52:57,674.674 INFO    ] Checking for system updates...
[2026-08-29 16:52:57,695.695 INFO    ] 200
[2026-08-29 16:52:57,696.696 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:52:57,726.726 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:52:57,727.727 INFO    ] No update needed
[2026-08-29 16:52:57,728.728 INFO    ] Checking for camera pi updates...
[2026-08-29 16:52:57,748.748 INFO    ] 200
[2026-08-29 16:52:57,749.749 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:52:57,775.775 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:52:57,880.880 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:52:57,882.882 INFO    ] No camera update needed
[2026-08-29 16:52:57,885.885 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:52:57,887.887 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:52:57,892.892 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:52:57,897.897 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:52:59,942.942 INFO    ] ================================================
[2026-08-29 16:52:59,958.958 INFO    ] Launching Daemon at Sat Aug 29 16:52:59 IST 2026
[2026-08-29 16:52:59,969.969 INFO    ] ================================================
[2026-08-29 16:53:00,626.626 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:53:00
[2026-08-29 16:53:01,104.104 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:53:01,258.258 INFO    ] Initializing speech engine...
[2026-08-29 16:53:01,262.262 INFO    ] 2026-08-29 16:53:01
[2026-08-29 16:53:01,470.470 INFO    ] 2026-08-29 16:53:01
[2026-08-29 16:53:01,500.500 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:53:01,641.641 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:53:01,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:53:01,826.826 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:53:01,893.893 INFO    ] time= 29/08/2026 16:53:01
[2026-08-29 16:53:01,957.957 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:53:01,968.968 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:53:02,032.032 INFO    ] No existing commands found in stream
[2026-08-29 16:53:07,044.044 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:53:07,047.047 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-08-29 16:53:07,737.737 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:53:07,739.739 INFO    ] Checking for system updates...
[2026-08-29 16:53:07,759.759 INFO    ] 200
[2026-08-29 16:53:07,761.761 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:53:07,793.793 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:53:07,794.794 INFO    ] No update needed
[2026-08-29 16:53:07,796.796 INFO    ] Checking for camera pi updates...
[2026-08-29 16:53:07,818.818 INFO    ] 200
[2026-08-29 16:53:07,819.819 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:53:07,842.842 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:53:07,925.925 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:53:07,926.926 INFO    ] No camera update needed
[2026-08-29 16:53:07,928.928 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:53:07,929.929 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:53:07,932.932 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:53:07,935.935 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:53:09,978.978 INFO    ] ================================================
[2026-08-29 16:53:10,995.995 INFO    ] Launching Daemon at Sat Aug 29 16:53:09 IST 2026
[2026-08-29 16:53:10,006.006 INFO    ] ================================================
[2026-08-29 16:53:10,377.377 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:53:10
[2026-08-29 16:53:10,714.714 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:53:10,867.867 INFO    ] Initializing speech engine...
[2026-08-29 16:53:10,872.872 INFO    ] 2026-08-29 16:53:10
[2026-08-29 16:53:11,080.080 INFO    ] 2026-08-29 16:53:11
[2026-08-29 16:53:11,110.110 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:53:11,250.250 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:53:11,298.298 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:53:11,431.431 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:53:11,488.488 INFO    ] time= 29/08/2026 16:53:11
[2026-08-29 16:53:11,523.523 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:53:11,535.535 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:53:11,607.607 INFO    ] No existing commands found in stream
[2026-08-29 16:53:16,618.618 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:53:16,621.621 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-08-29 16:53:20,373.373 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:53:20,375.375 INFO    ] Checking for system updates...
[2026-08-29 16:53:20,397.397 INFO    ] 200
[2026-08-29 16:53:20,398.398 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:53:20,431.431 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:53:20,433.433 INFO    ] No update needed
[2026-08-29 16:53:20,434.434 INFO    ] Checking for camera pi updates...
[2026-08-29 16:53:20,454.454 INFO    ] 200
[2026-08-29 16:53:20,455.455 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:53:20,478.478 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:53:20,566.566 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:53:20,568.568 INFO    ] No camera update needed
[2026-08-29 16:53:20,569.569 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:53:20,571.571 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:53:20,574.574 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:53:20,577.577 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:53:22,615.615 INFO    ] ================================================
[2026-08-29 16:53:22,635.635 INFO    ] Launching Daemon at Sat Aug 29 16:53:22 IST 2026
[2026-08-29 16:53:22,647.647 INFO    ] ================================================
[2026-08-29 16:53:23,224.224 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:53:23
[2026-08-29 16:53:23,887.887 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:53:24,188.188 INFO    ] Initializing speech engine...
[2026-08-29 16:53:24,195.195 INFO    ] 2026-08-29 16:53:24
[2026-08-29 16:53:24,469.469 INFO    ] 2026-08-29 16:53:24
[2026-08-29 16:53:24,530.530 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:53:24,758.758 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:53:24,768.768 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:53:24,907.907 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:53:24,962.962 INFO    ] time= 29/08/2026 16:53:24
[2026-08-29 16:53:25,027.027 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:53:25,046.046 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:53:25,171.171 INFO    ] No existing commands found in stream
[2026-08-29 16:53:30,202.202 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:53:30,205.205 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-08-29 16:53:33,885.885 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:53:33,888.888 INFO    ] Checking for system updates...
[2026-08-29 16:53:33,925.925 INFO    ] 200
[2026-08-29 16:53:33,928.928 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:53:33,981.981 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:53:33,984.984 INFO    ] No update needed
[2026-08-29 16:53:33,987.987 INFO    ] Checking for camera pi updates...
[2026-08-29 16:53:34,024.024 INFO    ] 200
[2026-08-29 16:53:34,026.026 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:53:34,071.071 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:53:34,149.149 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:53:34,151.151 INFO    ] No camera update needed
[2026-08-29 16:53:34,154.154 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:53:34,156.156 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:53:34,161.161 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:53:34,166.166 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:53:36,206.206 INFO    ] ================================================
[2026-08-29 16:53:36,221.221 INFO    ] Launching Daemon at Sat Aug 29 16:53:36 IST 2026
[2026-08-29 16:53:36,231.231 INFO    ] ================================================
[2026-08-29 16:53:36,586.586 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:53:36
[2026-08-29 16:53:37,245.245 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:53:37,550.550 INFO    ] Initializing speech engine...
[2026-08-29 16:53:37,560.560 INFO    ] 2026-08-29 16:53:37
[2026-08-29 16:53:37,841.841 INFO    ] 2026-08-29 16:53:37
[2026-08-29 16:53:37,897.897 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:53:38,124.124 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:53:38,134.134 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:53:38,273.273 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:53:38,344.344 INFO    ] time= 29/08/2026 16:53:38
[2026-08-29 16:53:38,404.404 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:53:38,412.412 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:53:38,466.466 INFO    ] No existing commands found in stream
[2026-08-29 16:53:43,479.479 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:53:43,482.482 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-08-29 16:53:45,367.367 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:53:45,369.369 INFO    ] Checking for system updates...
[2026-08-29 16:53:45,390.390 INFO    ] 200
[2026-08-29 16:53:45,392.392 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:53:45,423.423 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:53:45,424.424 INFO    ] No update needed
[2026-08-29 16:53:45,425.425 INFO    ] Checking for camera pi updates...
[2026-08-29 16:53:45,445.445 INFO    ] 200
[2026-08-29 16:53:45,446.446 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:53:45,473.473 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:53:45,648.648 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:53:45,650.650 INFO    ] No camera update needed
[2026-08-29 16:53:45,651.651 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:53:45,653.653 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:53:45,656.656 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:53:45,659.659 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:53:47,698.698 INFO    ] ================================================
[2026-08-29 16:53:47,713.713 INFO    ] Launching Daemon at Sat Aug 29 16:53:47 IST 2026
[2026-08-29 16:53:47,723.723 INFO    ] ================================================
[2026-08-29 16:53:48,086.086 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:53:48
[2026-08-29 16:53:48,403.403 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:53:48,537.537 INFO    ] Initializing speech engine...
[2026-08-29 16:53:48,540.540 INFO    ] 2026-08-29 16:53:48
[2026-08-29 16:53:48,772.772 INFO    ] 2026-08-29 16:53:48
[2026-08-29 16:53:48,802.802 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:53:48,935.935 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:53:48,993.993 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:53:49,144.144 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:53:49,197.197 INFO    ] time= 29/08/2026 16:53:49
[2026-08-29 16:53:49,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:53:49,253.253 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:53:49,329.329 INFO    ] No existing commands found in stream
[2026-08-29 16:53:54,340.340 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:53:54,343.343 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-08-29 16:53:58,074.074 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:53:58,075.075 INFO    ] Checking for system updates...
[2026-08-29 16:53:58,096.096 INFO    ] 200
[2026-08-29 16:53:58,097.097 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:53:58,130.130 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:53:58,131.131 INFO    ] No update needed
[2026-08-29 16:53:58,133.133 INFO    ] Checking for camera pi updates...
[2026-08-29 16:53:58,152.152 INFO    ] 200
[2026-08-29 16:53:58,154.154 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:53:58,179.179 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:53:58,277.277 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:53:58,278.278 INFO    ] No camera update needed
[2026-08-29 16:53:58,280.280 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:53:58,281.281 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:53:58,284.284 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:53:58,287.287 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:54:00,326.326 INFO    ] ================================================
[2026-08-29 16:54:00,343.343 INFO    ] Launching Daemon at Sat Aug 29 16:54:00 IST 2026
[2026-08-29 16:54:00,355.355 INFO    ] ================================================
[2026-08-29 16:54:00,725.725 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:54:00
[2026-08-29 16:54:01,060.060 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:54:01,323.323 INFO    ] Initializing speech engine...
[2026-08-29 16:54:01,331.331 INFO    ] 2026-08-29 16:54:01
[2026-08-29 16:54:01,601.601 INFO    ] 2026-08-29 16:54:01
[2026-08-29 16:54:01,660.660 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:54:01,846.846 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:54:01,864.864 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:54:01,989.989 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:54:02,006.006 INFO    ] time= 29/08/2026 16:54:01
[2026-08-29 16:54:02,010.010 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:54:02,014.014 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:54:02,067.067 INFO    ] No existing commands found in stream
[2026-08-29 16:54:07,076.076 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:54:07,079.079 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-08-29 16:54:09,293.293 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:54:09,294.294 INFO    ] Checking for system updates...
[2026-08-29 16:54:09,317.317 INFO    ] 200
[2026-08-29 16:54:09,318.318 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:54:09,350.350 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:54:09,351.351 INFO    ] No update needed
[2026-08-29 16:54:09,352.352 INFO    ] Checking for camera pi updates...
[2026-08-29 16:54:09,373.373 INFO    ] 200
[2026-08-29 16:54:09,374.374 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:54:09,397.397 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:54:09,523.523 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:54:09,525.525 INFO    ] No camera update needed
[2026-08-29 16:54:09,526.526 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:54:09,528.528 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:54:09,531.531 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:54:09,534.534 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:54:11,572.572 INFO    ] ================================================
[2026-08-29 16:54:11,588.588 INFO    ] Launching Daemon at Sat Aug 29 16:54:11 IST 2026
[2026-08-29 16:54:11,598.598 INFO    ] ================================================
[2026-08-29 16:54:11,968.968 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:54:11
[2026-08-29 16:54:12,528.528 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:54:12,779.779 INFO    ] Initializing speech engine...
[2026-08-29 16:54:12,802.802 INFO    ] 2026-08-29 16:54:12
[2026-08-29 16:54:13,058.058 INFO    ] 2026-08-29 16:54:13
[2026-08-29 16:54:13,092.092 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:54:13,269.269 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:54:13,284.284 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:54:13,426.426 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:54:13,435.435 INFO    ] time= 29/08/2026 16:54:13
[2026-08-29 16:54:13,440.440 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:54:13,446.446 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:54:13,512.512 INFO    ] No existing commands found in stream
[2026-08-29 16:54:18,524.524 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:54:18,527.527 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-08-29 16:54:19,929.929 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:54:19,930.930 INFO    ] Checking for system updates...
[2026-08-29 16:54:19,950.950 INFO    ] 200
[2026-08-29 16:54:19,952.952 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:54:19,981.981 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:54:19,983.983 INFO    ] No update needed
[2026-08-29 16:54:19,984.984 INFO    ] Checking for camera pi updates...
[2026-08-29 16:54:20,005.005 INFO    ] 200
[2026-08-29 16:54:20,006.006 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:54:20,030.030 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:54:20,109.109 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:54:20,112.112 INFO    ] No camera update needed
[2026-08-29 16:54:20,114.114 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:54:20,117.117 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:54:20,122.122 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:54:20,127.127 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:54:22,168.168 INFO    ] ================================================
[2026-08-29 16:54:22,183.183 INFO    ] Launching Daemon at Sat Aug 29 16:54:22 IST 2026
[2026-08-29 16:54:22,194.194 INFO    ] ================================================
[2026-08-29 16:54:22,767.767 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:54:22
[2026-08-29 16:54:23,354.354 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:54:23,615.615 INFO    ] Initializing speech engine...
[2026-08-29 16:54:23,633.633 INFO    ] 2026-08-29 16:54:23
[2026-08-29 16:54:23,885.885 INFO    ] 2026-08-29 16:54:23
[2026-08-29 16:54:23,919.919 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:54:24,091.091 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:54:24,105.105 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:54:24,245.245 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:54:24,253.253 INFO    ] time= 29/08/2026 16:54:24
[2026-08-29 16:54:24,261.261 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:54:24,305.305 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:54:24,426.426 INFO    ] No existing commands found in stream
[2026-08-29 16:54:29,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:54:29,454.454 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 16:54:31,222.222 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:54:31,224.224 INFO    ] Checking for system updates...
[2026-08-29 16:54:31,245.245 INFO    ] 200
[2026-08-29 16:54:31,246.246 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:54:31,276.276 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:54:31,278.278 INFO    ] No update needed
[2026-08-29 16:54:31,279.279 INFO    ] Checking for camera pi updates...
[2026-08-29 16:54:31,299.299 INFO    ] 200
[2026-08-29 16:54:31,300.300 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:54:31,324.324 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:54:31,409.409 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:54:31,411.411 INFO    ] No camera update needed
[2026-08-29 16:54:31,412.412 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:54:31,414.414 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:54:31,417.417 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:54:31,420.420 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:54:33,461.461 INFO    ] ================================================
[2026-08-29 16:54:33,477.477 INFO    ] Launching Daemon at Sat Aug 29 16:54:33 IST 2026
[2026-08-29 16:54:33,488.488 INFO    ] ================================================
[2026-08-29 16:54:34,139.139 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:54:34
[2026-08-29 16:54:34,809.809 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:54:35,113.113 INFO    ] Initializing speech engine...
[2026-08-29 16:54:35,121.121 INFO    ] 2026-08-29 16:54:35
[2026-08-29 16:54:35,394.394 INFO    ] 2026-08-29 16:54:35
[2026-08-29 16:54:35,427.427 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:54:35,594.594 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:54:35,604.604 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:54:35,740.740 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:54:35,747.747 INFO    ] time= 29/08/2026 16:54:35
[2026-08-29 16:54:35,817.817 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:54:35,877.877 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:54:35,932.932 INFO    ] No existing commands found in stream
[2026-08-29 16:54:40,945.945 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:54:40,948.948 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-08-29 16:54:44,013.013 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:54:44,015.015 INFO    ] Checking for system updates...
[2026-08-29 16:54:44,035.035 INFO    ] 200
[2026-08-29 16:54:44,037.037 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:54:44,067.067 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:54:44,068.068 INFO    ] No update needed
[2026-08-29 16:54:44,070.070 INFO    ] Checking for camera pi updates...
[2026-08-29 16:54:44,089.089 INFO    ] 200
[2026-08-29 16:54:44,091.091 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:54:44,114.114 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:54:44,189.189 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:54:44,190.190 INFO    ] No camera update needed
[2026-08-29 16:54:44,191.191 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:54:44,193.193 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:54:44,196.196 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:54:44,199.199 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:54:46,237.237 INFO    ] ================================================
[2026-08-29 16:54:46,252.252 INFO    ] Launching Daemon at Sat Aug 29 16:54:46 IST 2026
[2026-08-29 16:54:46,263.263 INFO    ] ================================================
[2026-08-29 16:54:46,606.606 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:54:46
[2026-08-29 16:54:46,919.919 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:54:47,053.053 INFO    ] Initializing speech engine...
[2026-08-29 16:54:47,065.065 INFO    ] 2026-08-29 16:54:47
[2026-08-29 16:54:47,274.274 INFO    ] 2026-08-29 16:54:47
[2026-08-29 16:54:47,303.303 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:54:47,427.427 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:54:47,459.459 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:54:47,610.610 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:54:47,633.633 INFO    ] time= 29/08/2026 16:54:47
[2026-08-29 16:54:47,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:54:47,725.725 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:54:47,796.796 INFO    ] No existing commands found in stream
[2026-08-29 16:54:52,806.806 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:54:52,809.809 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-08-29 16:54:53,572.572 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:54:53,573.573 INFO    ] Checking for system updates...
[2026-08-29 16:54:53,595.595 INFO    ] 200
[2026-08-29 16:54:53,596.596 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:54:53,625.625 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:54:53,626.626 INFO    ] No update needed
[2026-08-29 16:54:53,628.628 INFO    ] Checking for camera pi updates...
[2026-08-29 16:54:53,649.649 INFO    ] 200
[2026-08-29 16:54:53,650.650 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:54:53,673.673 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:54:53,726.726 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:54:53,728.728 INFO    ] No camera update needed
[2026-08-29 16:54:53,729.729 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:54:53,730.730 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:54:53,733.733 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:54:53,736.736 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:54:55,775.775 INFO    ] ================================================
[2026-08-29 16:54:55,791.791 INFO    ] Launching Daemon at Sat Aug 29 16:54:55 IST 2026
[2026-08-29 16:54:55,801.801 INFO    ] ================================================
[2026-08-29 16:54:56,147.147 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:54:56
[2026-08-29 16:54:56,461.461 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:54:56,598.598 INFO    ] Initializing speech engine...
[2026-08-29 16:54:56,606.606 INFO    ] 2026-08-29 16:54:56
[2026-08-29 16:54:56,801.801 INFO    ] 2026-08-29 16:54:56
[2026-08-29 16:54:56,837.837 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:54:57,012.012 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:54:57,025.025 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:54:57,139.139 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:54:57,163.163 INFO    ] time= 29/08/2026 16:54:57
[2026-08-29 16:54:57,181.181 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:54:57,186.186 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:54:57,255.255 INFO    ] No existing commands found in stream
[2026-08-29 16:55:02,264.264 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:55:02,268.268 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 16:55:04,206.206 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:55:04,209.209 INFO    ] Checking for system updates...
[2026-08-29 16:55:04,244.244 INFO    ] 200
[2026-08-29 16:55:04,247.247 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:55:04,303.303 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:55:04,306.306 INFO    ] No update needed
[2026-08-29 16:55:04,308.308 INFO    ] Checking for camera pi updates...
[2026-08-29 16:55:04,345.345 INFO    ] 200
[2026-08-29 16:55:04,348.348 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:55:04,388.388 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:55:04,470.470 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:55:04,473.473 INFO    ] No camera update needed
[2026-08-29 16:55:04,475.475 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:55:04,477.477 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:55:04,483.483 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:55:04,488.488 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:55:06,531.531 INFO    ] ================================================
[2026-08-29 16:55:06,549.549 INFO    ] Launching Daemon at Sat Aug 29 16:55:06 IST 2026
[2026-08-29 16:55:06,563.563 INFO    ] ================================================
[2026-08-29 16:55:07,057.057 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:55:07
[2026-08-29 16:55:07,649.649 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:55:07,900.900 INFO    ] Initializing speech engine...
[2026-08-29 16:55:07,906.906 INFO    ] 2026-08-29 16:55:07
[2026-08-29 16:55:08,180.180 INFO    ] 2026-08-29 16:55:08
[2026-08-29 16:55:08,216.216 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:55:08,392.392 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:55:08,404.404 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:55:08,517.517 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:55:08,522.522 INFO    ] time= 29/08/2026 16:55:08
[2026-08-29 16:55:08,540.540 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:55:08,560.560 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:55:08,635.635 INFO    ] No existing commands found in stream
[2026-08-29 16:55:13,647.647 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:55:13,650.650 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-08-29 16:55:17,388.388 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:55:17,389.389 INFO    ] Checking for system updates...
[2026-08-29 16:55:17,410.410 INFO    ] 200
[2026-08-29 16:55:17,411.411 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:55:17,443.443 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:55:17,444.444 INFO    ] No update needed
[2026-08-29 16:55:17,446.446 INFO    ] Checking for camera pi updates...
[2026-08-29 16:55:17,466.466 INFO    ] 200
[2026-08-29 16:55:17,467.467 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:55:17,489.489 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:55:17,570.570 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:55:17,571.571 INFO    ] No camera update needed
[2026-08-29 16:55:17,572.572 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:55:17,574.574 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:55:17,576.576 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:55:17,579.579 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:55:19,617.617 INFO    ] ================================================
[2026-08-29 16:55:19,633.633 INFO    ] Launching Daemon at Sat Aug 29 16:55:19 IST 2026
[2026-08-29 16:55:19,644.644 INFO    ] ================================================
[2026-08-29 16:55:20,001.001 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:55:19
[2026-08-29 16:55:20,314.314 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:55:20,530.530 INFO    ] Initializing speech engine...
[2026-08-29 16:55:20,540.540 INFO    ] 2026-08-29 16:55:20
[2026-08-29 16:55:20,791.791 INFO    ] 2026-08-29 16:55:20
[2026-08-29 16:55:20,827.827 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:55:21,003.003 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:55:21,016.016 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:55:21,161.161 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:55:21,168.168 INFO    ] time= 29/08/2026 16:55:21
[2026-08-29 16:55:21,176.176 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:55:21,181.181 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:55:21,311.311 INFO    ] No existing commands found in stream
[2026-08-29 16:55:26,336.336 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:55:26,339.339 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-08-29 16:55:26,860.860 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:55:26,861.861 INFO    ] Checking for system updates...
[2026-08-29 16:55:26,882.882 INFO    ] 200
[2026-08-29 16:55:26,883.883 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:55:26,915.915 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:55:26,916.916 INFO    ] No update needed
[2026-08-29 16:55:26,917.917 INFO    ] Checking for camera pi updates...
[2026-08-29 16:55:26,937.937 INFO    ] 200
[2026-08-29 16:55:26,938.938 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:55:26,961.961 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:55:27,088.088 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:55:27,089.089 INFO    ] No camera update needed
[2026-08-29 16:55:27,090.090 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:55:27,091.091 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:55:27,094.094 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:55:27,097.097 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:55:29,137.137 INFO    ] ================================================
[2026-08-29 16:55:29,153.153 INFO    ] Launching Daemon at Sat Aug 29 16:55:29 IST 2026
[2026-08-29 16:55:29,163.163 INFO    ] ================================================
[2026-08-29 16:55:29,506.506 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:55:29
[2026-08-29 16:55:29,818.818 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:55:29,960.960 INFO    ] Initializing speech engine...
[2026-08-29 16:55:29,965.965 INFO    ] 2026-08-29 16:55:29
[2026-08-29 16:55:30,186.186 INFO    ] 2026-08-29 16:55:30
[2026-08-29 16:55:30,271.271 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:55:30,418.418 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:55:30,427.427 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:55:30,559.559 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:55:30,596.596 INFO    ] time= 29/08/2026 16:55:30
[2026-08-29 16:55:30,661.661 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:55:30,694.694 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:55:30,747.747 INFO    ] No existing commands found in stream
[2026-08-29 16:55:35,754.754 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:55:35,757.757 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 16:55:36,917.917 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:55:36,918.918 INFO    ] Checking for system updates...
[2026-08-29 16:55:36,938.938 INFO    ] 200
[2026-08-29 16:55:36,940.940 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:55:36,969.969 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:55:36,971.971 INFO    ] No update needed
[2026-08-29 16:55:36,972.972 INFO    ] Checking for camera pi updates...
[2026-08-29 16:55:36,991.991 INFO    ] 200
[2026-08-29 16:55:36,993.993 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:55:37,015.015 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:55:37,107.107 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:55:37,109.109 INFO    ] No camera update needed
[2026-08-29 16:55:37,110.110 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:55:37,111.111 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:55:37,114.114 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:55:37,117.117 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:55:39,156.156 INFO    ] ================================================
[2026-08-29 16:55:39,172.172 INFO    ] Launching Daemon at Sat Aug 29 16:55:39 IST 2026
[2026-08-29 16:55:39,183.183 INFO    ] ================================================
[2026-08-29 16:55:39,530.530 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:55:39
[2026-08-29 16:55:39,842.842 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:55:39,982.982 INFO    ] Initializing speech engine...
[2026-08-29 16:55:39,990.990 INFO    ] 2026-08-29 16:55:39
[2026-08-29 16:55:40,208.208 INFO    ] 2026-08-29 16:55:40
[2026-08-29 16:55:40,238.238 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:55:40,370.370 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:55:40,413.413 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:55:40,560.560 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:55:40,603.603 INFO    ] time= 29/08/2026 16:55:40
[2026-08-29 16:55:40,624.624 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:55:40,674.674 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:55:40,762.762 INFO    ] No existing commands found in stream
[2026-08-29 16:55:45,793.793 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:55:45,795.795 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 16:55:49,396.396 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:55:49,397.397 INFO    ] Checking for system updates...
[2026-08-29 16:55:49,419.419 INFO    ] 200
[2026-08-29 16:55:49,420.420 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:55:49,450.450 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:55:49,452.452 INFO    ] No update needed
[2026-08-29 16:55:49,453.453 INFO    ] Checking for camera pi updates...
[2026-08-29 16:55:49,474.474 INFO    ] 200
[2026-08-29 16:55:49,475.475 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:55:49,499.499 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:55:49,685.685 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:55:49,686.686 INFO    ] No camera update needed
[2026-08-29 16:55:49,688.688 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:55:49,689.689 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:55:49,692.692 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:55:49,695.695 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:55:51,733.733 INFO    ] ================================================
[2026-08-29 16:55:51,748.748 INFO    ] Launching Daemon at Sat Aug 29 16:55:51 IST 2026
[2026-08-29 16:55:51,759.759 INFO    ] ================================================
[2026-08-29 16:55:52,131.131 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:55:52
[2026-08-29 16:55:52,672.672 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:55:52,979.979 INFO    ] Initializing speech engine...
[2026-08-29 16:55:52,991.991 INFO    ] 2026-08-29 16:55:52
[2026-08-29 16:55:53,269.269 INFO    ] 2026-08-29 16:55:53
[2026-08-29 16:55:53,315.315 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:55:53,540.540 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:55:53,546.546 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:55:53,678.678 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:55:53,731.731 INFO    ] time= 29/08/2026 16:55:53
[2026-08-29 16:55:53,791.791 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:55:53,814.814 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:55:53,894.894 INFO    ] No existing commands found in stream
[2026-08-29 16:55:58,932.932 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:55:58,935.935 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-08-29 16:55:59,617.617 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:55:59,619.619 INFO    ] Checking for system updates...
[2026-08-29 16:55:59,640.640 INFO    ] 200
[2026-08-29 16:55:59,641.641 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:55:59,672.672 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:55:59,673.673 INFO    ] No update needed
[2026-08-29 16:55:59,675.675 INFO    ] Checking for camera pi updates...
[2026-08-29 16:55:59,694.694 INFO    ] 200
[2026-08-29 16:55:59,695.695 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:55:59,719.719 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:55:59,804.804 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:55:59,805.805 INFO    ] No camera update needed
[2026-08-29 16:55:59,807.807 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:55:59,808.808 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:55:59,811.811 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:55:59,814.814 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:56:01,858.858 INFO    ] ================================================
[2026-08-29 16:56:01,881.881 INFO    ] Launching Daemon at Sat Aug 29 16:56:01 IST 2026
[2026-08-29 16:56:01,902.902 INFO    ] ================================================
[2026-08-29 16:56:02,550.550 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:56:02
[2026-08-29 16:56:03,213.213 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:56:03,488.488 INFO    ] Initializing speech engine...
[2026-08-29 16:56:03,497.497 INFO    ] 2026-08-29 16:56:03
[2026-08-29 16:56:03,744.744 INFO    ] 2026-08-29 16:56:03
[2026-08-29 16:56:03,778.778 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:56:03,973.973 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:56:03,996.996 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:56:04,115.115 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:56:04,176.176 INFO    ] time= 29/08/2026 16:56:04
[2026-08-29 16:56:04,188.188 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:56:04,253.253 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:56:04,332.332 INFO    ] No existing commands found in stream
[2026-08-29 16:56:09,348.348 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:56:09,351.351 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-08-29 16:56:12,984.984 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:56:12,985.985 INFO    ] Checking for system updates...
[2026-08-29 16:56:13,006.006 INFO    ] 200
[2026-08-29 16:56:13,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:56:13,038.038 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:56:13,039.039 INFO    ] No update needed
[2026-08-29 16:56:13,040.040 INFO    ] Checking for camera pi updates...
[2026-08-29 16:56:13,060.060 INFO    ] 200
[2026-08-29 16:56:13,061.061 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:56:13,085.085 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:56:13,165.165 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:56:13,167.167 INFO    ] No camera update needed
[2026-08-29 16:56:13,168.168 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:56:13,169.169 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:56:13,173.173 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:56:13,176.176 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:56:15,215.215 INFO    ] ================================================
[2026-08-29 16:56:15,230.230 INFO    ] Launching Daemon at Sat Aug 29 16:56:15 IST 2026
[2026-08-29 16:56:15,240.240 INFO    ] ================================================
[2026-08-29 16:56:15,563.563 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:56:15
[2026-08-29 16:56:15,875.875 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:56:16,017.017 INFO    ] Initializing speech engine...
[2026-08-29 16:56:16,022.022 INFO    ] 2026-08-29 16:56:16
[2026-08-29 16:56:16,226.226 INFO    ] 2026-08-29 16:56:16
[2026-08-29 16:56:16,257.257 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:56:16,403.403 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:56:16,422.422 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:56:16,591.591 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:56:16,624.624 INFO    ] time= 29/08/2026 16:56:16
[2026-08-29 16:56:16,630.630 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:56:16,651.651 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:56:16,759.759 INFO    ] No existing commands found in stream
[2026-08-29 16:56:21,786.786 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:56:21,788.788 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-08-29 16:56:25,080.080 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:56:25,081.081 INFO    ] Checking for system updates...
[2026-08-29 16:56:25,101.101 INFO    ] 200
[2026-08-29 16:56:25,103.103 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:56:25,135.135 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:56:25,136.136 INFO    ] No update needed
[2026-08-29 16:56:25,137.137 INFO    ] Checking for camera pi updates...
[2026-08-29 16:56:25,157.157 INFO    ] 200
[2026-08-29 16:56:25,158.158 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:56:25,181.181 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:56:25,289.289 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:56:25,290.290 INFO    ] No camera update needed
[2026-08-29 16:56:25,291.291 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:56:25,293.293 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:56:25,296.296 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:56:25,298.298 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:56:27,337.337 INFO    ] ================================================
[2026-08-29 16:56:27,353.353 INFO    ] Launching Daemon at Sat Aug 29 16:56:27 IST 2026
[2026-08-29 16:56:27,364.364 INFO    ] ================================================
[2026-08-29 16:56:27,742.742 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:56:27
[2026-08-29 16:56:28,080.080 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:56:28,230.230 INFO    ] Initializing speech engine...
[2026-08-29 16:56:28,236.236 INFO    ] 2026-08-29 16:56:28
[2026-08-29 16:56:28,450.450 INFO    ] 2026-08-29 16:56:28
[2026-08-29 16:56:28,532.532 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:56:28,686.686 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:56:28,694.694 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:56:28,824.824 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:56:28,861.861 INFO    ] time= 29/08/2026 16:56:28
[2026-08-29 16:56:28,921.921 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:56:28,958.958 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:56:29,011.011 INFO    ] No existing commands found in stream
[2026-08-29 16:56:34,024.024 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:56:34,027.027 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-08-29 16:56:36,937.937 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:56:36,939.939 INFO    ] Checking for system updates...
[2026-08-29 16:56:36,960.960 INFO    ] 200
[2026-08-29 16:56:36,961.961 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:56:36,991.991 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:56:36,993.993 INFO    ] No update needed
[2026-08-29 16:56:36,994.994 INFO    ] Checking for camera pi updates...
[2026-08-29 16:56:37,014.014 INFO    ] 200
[2026-08-29 16:56:37,016.016 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:56:37,044.044 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:56:37,126.126 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:56:37,129.129 INFO    ] No camera update needed
[2026-08-29 16:56:37,131.131 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:56:37,134.134 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:56:37,140.140 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:56:37,146.146 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:56:39,187.187 INFO    ] ================================================
[2026-08-29 16:56:39,202.202 INFO    ] Launching Daemon at Sat Aug 29 16:56:39 IST 2026
[2026-08-29 16:56:39,214.214 INFO    ] ================================================
[2026-08-29 16:56:39,779.779 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:56:39
[2026-08-29 16:56:40,270.270 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:56:40,412.412 INFO    ] Initializing speech engine...
[2026-08-29 16:56:40,422.422 INFO    ] 2026-08-29 16:56:40
[2026-08-29 16:56:40,627.627 INFO    ] 2026-08-29 16:56:40
[2026-08-29 16:56:40,655.655 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:56:40,776.776 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:56:40,810.810 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:56:40,961.961 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:56:41,002.002 INFO    ] time= 29/08/2026 16:56:40
[2026-08-29 16:56:41,042.042 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:56:41,086.086 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:56:41,208.208 INFO    ] No existing commands found in stream
[2026-08-29 16:56:46,238.238 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:56:46,241.241 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-08-29 16:56:49,249.249 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:56:49,251.251 INFO    ] Checking for system updates...
[2026-08-29 16:56:49,272.272 INFO    ] 200
[2026-08-29 16:56:49,273.273 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:56:49,303.303 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:56:49,305.305 INFO    ] No update needed
[2026-08-29 16:56:49,306.306 INFO    ] Checking for camera pi updates...
[2026-08-29 16:56:49,326.326 INFO    ] 200
[2026-08-29 16:56:49,327.327 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:56:49,350.350 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:56:49,439.439 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:56:49,441.441 INFO    ] No camera update needed
[2026-08-29 16:56:49,442.442 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:56:49,444.444 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:56:49,447.447 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:56:49,450.450 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:56:51,488.488 INFO    ] ================================================
[2026-08-29 16:56:51,503.503 INFO    ] Launching Daemon at Sat Aug 29 16:56:51 IST 2026
[2026-08-29 16:56:51,514.514 INFO    ] ================================================
[2026-08-29 16:56:51,876.876 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:56:51
[2026-08-29 16:56:52,188.188 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:56:52,321.321 INFO    ] Initializing speech engine...
[2026-08-29 16:56:52,333.333 INFO    ] 2026-08-29 16:56:52
[2026-08-29 16:56:52,538.538 INFO    ] 2026-08-29 16:56:52
[2026-08-29 16:56:52,568.568 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:56:52,733.733 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:56:52,740.740 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:56:52,897.897 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:56:52,935.935 INFO    ] time= 29/08/2026 16:56:52
[2026-08-29 16:56:52,940.940 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:56:52,961.961 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:56:53,069.069 INFO    ] No existing commands found in stream
[2026-08-29 16:56:58,094.094 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:56:58,097.097 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-08-29 16:57:02,413.413 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:57:02,416.416 INFO    ] Checking for system updates...
[2026-08-29 16:57:02,460.460 INFO    ] 200
[2026-08-29 16:57:02,463.463 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:57:02,529.529 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:57:02,531.531 INFO    ] No update needed
[2026-08-29 16:57:02,535.535 INFO    ] Checking for camera pi updates...
[2026-08-29 16:57:02,575.575 INFO    ] 200
[2026-08-29 16:57:02,578.578 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:57:02,634.634 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:57:02,734.734 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:57:02,737.737 INFO    ] No camera update needed
[2026-08-29 16:57:02,741.741 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:57:02,744.744 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:57:02,750.750 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:57:02,757.757 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:57:04,800.800 INFO    ] ================================================
[2026-08-29 16:57:04,815.815 INFO    ] Launching Daemon at Sat Aug 29 16:57:04 IST 2026
[2026-08-29 16:57:04,826.826 INFO    ] ================================================
[2026-08-29 16:57:05,187.187 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:57:05
[2026-08-29 16:57:05,498.498 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:57:05,640.640 INFO    ] Initializing speech engine...
[2026-08-29 16:57:05,650.650 INFO    ] 2026-08-29 16:57:05
[2026-08-29 16:57:05,855.855 INFO    ] 2026-08-29 16:57:05
[2026-08-29 16:57:05,883.883 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:57:06,033.033 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:57:06,054.054 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:57:06,200.200 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:57:06,219.219 INFO    ] time= 29/08/2026 16:57:06
[2026-08-29 16:57:06,237.237 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:57:06,256.256 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:57:06,351.351 INFO    ] No existing commands found in stream
[2026-08-29 16:57:11,377.377 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:57:11,379.379 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-08-29 16:57:11,927.927 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 16:57:11,928.928 INFO    ] Checking for system updates...
[2026-08-29 16:57:11,948.948 INFO    ] 200
[2026-08-29 16:57:11,950.950 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:57:11,982.982 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:57:11,984.984 INFO    ] No update needed
[2026-08-29 16:57:11,985.985 INFO    ] Checking for camera pi updates...
[2026-08-29 16:57:12,004.004 INFO    ] 200
[2026-08-29 16:57:12,005.005 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:57:12,028.028 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:57:12,111.111 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:57:12,113.113 INFO    ] No camera update needed
[2026-08-29 16:57:12,116.116 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:57:12,118.118 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:57:12,123.123 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:57:12,128.128 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:57:14,170.170 INFO    ] ================================================
[2026-08-29 16:57:14,186.186 INFO    ] Launching Daemon at Sat Aug 29 16:57:14 IST 2026
[2026-08-29 16:57:14,197.197 INFO    ] ================================================
[2026-08-29 16:57:14,781.781 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:57:14
[2026-08-29 16:57:15,271.271 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:57:15,404.404 INFO    ] Initializing speech engine...
[2026-08-29 16:57:15,408.408 INFO    ] 2026-08-29 16:57:15
[2026-08-29 16:57:15,631.631 INFO    ] 2026-08-29 16:57:15
[2026-08-29 16:57:15,661.661 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:57:15,791.791 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:57:15,849.849 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:57:15,994.994 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:57:16,046.046 INFO    ] time= 29/08/2026 16:57:16
[2026-08-29 16:57:16,086.086 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:57:16,136.136 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:57:16,238.238 INFO    ] No existing commands found in stream
[2026-08-29 16:57:21,263.263 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:57:21,266.266 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 16:57:23,637.637 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:57:23,638.638 INFO    ] Checking for system updates...
[2026-08-29 16:57:23,659.659 INFO    ] 200
[2026-08-29 16:57:23,660.660 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:57:23,692.692 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:57:23,694.694 INFO    ] No update needed
[2026-08-29 16:57:23,695.695 INFO    ] Checking for camera pi updates...
[2026-08-29 16:57:23,714.714 INFO    ] 200
[2026-08-29 16:57:23,715.715 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:57:23,738.738 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:57:23,830.830 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:57:23,831.831 INFO    ] No camera update needed
[2026-08-29 16:57:23,833.833 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:57:23,834.834 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:57:23,837.837 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:57:23,840.840 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:57:25,877.877 INFO    ] ================================================
[2026-08-29 16:57:25,893.893 INFO    ] Launching Daemon at Sat Aug 29 16:57:25 IST 2026
[2026-08-29 16:57:25,904.904 INFO    ] ================================================
[2026-08-29 16:57:26,251.251 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:57:26
[2026-08-29 16:57:26,581.581 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:57:26,726.726 INFO    ] Initializing speech engine...
[2026-08-29 16:57:26,738.738 INFO    ] 2026-08-29 16:57:26
[2026-08-29 16:57:26,945.945 INFO    ] 2026-08-29 16:57:26
[2026-08-29 16:57:26,975.975 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:57:27,099.099 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:57:27,162.162 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:57:27,248.248 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:57:27,250.250 INFO    ] time= 29/08/2026 16:57:27
[2026-08-29 16:57:27,251.251 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:57:27,300.300 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:57:27,411.411 INFO    ] No existing commands found in stream
[2026-08-29 16:57:32,442.442 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:57:32,445.445 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-08-29 16:57:35,902.902 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:57:35,903.903 INFO    ] Checking for system updates...
[2026-08-29 16:57:35,924.924 INFO    ] 200
[2026-08-29 16:57:35,925.925 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:57:35,956.956 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:57:35,958.958 INFO    ] No update needed
[2026-08-29 16:57:35,959.959 INFO    ] Checking for camera pi updates...
[2026-08-29 16:57:35,979.979 INFO    ] 200
[2026-08-29 16:57:35,980.980 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:57:36,004.004 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:57:36,091.091 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:57:36,093.093 INFO    ] No camera update needed
[2026-08-29 16:57:36,094.094 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:57:36,095.095 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:57:36,098.098 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:57:36,101.101 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:57:38,139.139 INFO    ] ================================================
[2026-08-29 16:57:38,155.155 INFO    ] Launching Daemon at Sat Aug 29 16:57:38 IST 2026
[2026-08-29 16:57:38,165.165 INFO    ] ================================================
[2026-08-29 16:57:38,525.525 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:57:38
[2026-08-29 16:57:38,837.837 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:57:38,980.980 INFO    ] Initializing speech engine...
[2026-08-29 16:57:38,985.985 INFO    ] 2026-08-29 16:57:38
[2026-08-29 16:57:39,214.214 INFO    ] 2026-08-29 16:57:39
[2026-08-29 16:57:39,269.269 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:57:39,431.431 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:57:39,439.439 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:57:39,605.605 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:57:39,639.639 INFO    ] time= 29/08/2026 16:57:39
[2026-08-29 16:57:39,645.645 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:57:39,666.666 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:57:39,791.791 INFO    ] No existing commands found in stream
[2026-08-29 16:57:44,805.805 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:57:44,808.808 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-08-29 16:57:45,802.802 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:57:45,803.803 INFO    ] Checking for system updates...
[2026-08-29 16:57:45,826.826 INFO    ] 200
[2026-08-29 16:57:45,827.827 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:57:45,857.857 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:57:45,858.858 INFO    ] No update needed
[2026-08-29 16:57:45,859.859 INFO    ] Checking for camera pi updates...
[2026-08-29 16:57:45,878.878 INFO    ] 200
[2026-08-29 16:57:45,880.880 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:57:45,904.904 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:57:45,983.983 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:57:45,984.984 INFO    ] No camera update needed
[2026-08-29 16:57:45,985.985 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:57:45,986.986 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:57:45,989.989 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:57:45,992.992 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:57:48,031.031 INFO    ] ================================================
[2026-08-29 16:57:48,046.046 INFO    ] Launching Daemon at Sat Aug 29 16:57:48 IST 2026
[2026-08-29 16:57:48,057.057 INFO    ] ================================================
[2026-08-29 16:57:48,399.399 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:57:48
[2026-08-29 16:57:48,863.863 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:57:49,114.114 INFO    ] Initializing speech engine...
[2026-08-29 16:57:49,136.136 INFO    ] 2026-08-29 16:57:49
[2026-08-29 16:57:49,390.390 INFO    ] 2026-08-29 16:57:49
[2026-08-29 16:57:49,425.425 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:57:49,597.597 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:57:49,610.610 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:57:49,755.755 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:57:49,760.760 INFO    ] time= 29/08/2026 16:57:49
[2026-08-29 16:57:49,766.766 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:57:49,806.806 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:57:49,924.924 INFO    ] No existing commands found in stream
[2026-08-29 16:57:54,949.949 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:57:54,952.952 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-08-29 16:57:59,212.212 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:57:59,213.213 INFO    ] Checking for system updates...
[2026-08-29 16:57:59,233.233 INFO    ] 200
[2026-08-29 16:57:59,235.235 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:57:59,265.265 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:57:59,266.266 INFO    ] No update needed
[2026-08-29 16:57:59,268.268 INFO    ] Checking for camera pi updates...
[2026-08-29 16:57:59,287.287 INFO    ] 200
[2026-08-29 16:57:59,289.289 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:57:59,311.311 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:57:59,488.488 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:57:59,490.490 INFO    ] No camera update needed
[2026-08-29 16:57:59,491.491 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:57:59,492.492 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:57:59,495.495 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:57:59,498.498 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:58:01,540.540 INFO    ] ================================================
[2026-08-29 16:58:01,563.563 INFO    ] Launching Daemon at Sat Aug 29 16:58:01 IST 2026
[2026-08-29 16:58:01,580.580 INFO    ] ================================================
[2026-08-29 16:58:02,257.257 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:58:02
[2026-08-29 16:58:02,920.920 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:58:03,200.200 INFO    ] Initializing speech engine...
[2026-08-29 16:58:03,209.209 INFO    ] 2026-08-29 16:58:03
[2026-08-29 16:58:03,459.459 INFO    ] 2026-08-29 16:58:03
[2026-08-29 16:58:03,525.525 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:58:03,671.671 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:58:03,683.683 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:58:03,827.827 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:58:03,835.835 INFO    ] time= 29/08/2026 16:58:03
[2026-08-29 16:58:03,843.843 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:58:03,888.888 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:58:04,000.000 INFO    ] No existing commands found in stream
[2026-08-29 16:58:09,025.025 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:58:09,027.027 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-08-29 16:58:12,112.112 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:58:12,113.113 INFO    ] Checking for system updates...
[2026-08-29 16:58:12,134.134 INFO    ] 200
[2026-08-29 16:58:12,136.136 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:58:12,189.189 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:58:12,191.191 INFO    ] No update needed
[2026-08-29 16:58:12,194.194 INFO    ] Checking for camera pi updates...
[2026-08-29 16:58:12,229.229 INFO    ] 200
[2026-08-29 16:58:12,232.232 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:58:12,272.272 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:58:12,362.362 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:58:12,364.364 INFO    ] No camera update needed
[2026-08-29 16:58:12,366.366 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:58:12,369.369 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:58:12,374.374 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:58:12,379.379 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:58:14,419.419 INFO    ] ================================================
[2026-08-29 16:58:14,434.434 INFO    ] Launching Daemon at Sat Aug 29 16:58:14 IST 2026
[2026-08-29 16:58:14,444.444 INFO    ] ================================================
[2026-08-29 16:58:15,012.012 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:58:15
[2026-08-29 16:58:15,445.445 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:58:15,582.582 INFO    ] Initializing speech engine...
[2026-08-29 16:58:15,589.589 INFO    ] 2026-08-29 16:58:15
[2026-08-29 16:58:15,795.795 INFO    ] 2026-08-29 16:58:15
[2026-08-29 16:58:15,824.824 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:58:15,945.945 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:58:16,007.007 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:58:16,138.138 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:58:16,199.199 INFO    ] time= 29/08/2026 16:58:16
[2026-08-29 16:58:16,243.243 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:58:16,272.272 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:58:16,421.421 INFO    ] No existing commands found in stream
[2026-08-29 16:58:21,446.446 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:58:21,449.449 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-08-29 16:58:24,710.710 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:58:24,713.713 INFO    ] Checking for system updates...
[2026-08-29 16:58:24,749.749 INFO    ] 200
[2026-08-29 16:58:24,752.752 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:58:24,809.809 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:58:24,811.811 INFO    ] No update needed
[2026-08-29 16:58:24,814.814 INFO    ] Checking for camera pi updates...
[2026-08-29 16:58:24,848.848 INFO    ] 200
[2026-08-29 16:58:24,850.850 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:58:24,891.891 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:58:24,977.977 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:58:24,979.979 INFO    ] No camera update needed
[2026-08-29 16:58:24,982.982 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:58:24,984.984 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:58:24,990.990 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:58:24,996.996 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:58:27,036.036 INFO    ] ================================================
[2026-08-29 16:58:27,051.051 INFO    ] Launching Daemon at Sat Aug 29 16:58:27 IST 2026
[2026-08-29 16:58:27,063.063 INFO    ] ================================================
[2026-08-29 16:58:27,621.621 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:58:27
[2026-08-29 16:58:28,244.244 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:58:28,561.561 INFO    ] Initializing speech engine...
[2026-08-29 16:58:28,570.570 INFO    ] 2026-08-29 16:58:28
[2026-08-29 16:58:28,841.841 INFO    ] 2026-08-29 16:58:28
[2026-08-29 16:58:28,876.876 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:58:29,017.017 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:58:29,023.023 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:58:29,170.170 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:58:29,179.179 INFO    ] time= 29/08/2026 16:58:29
[2026-08-29 16:58:29,184.184 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:58:29,189.189 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:58:29,253.253 INFO    ] No existing commands found in stream
[2026-08-29 16:58:34,264.264 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:58:34,266.266 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-08-29 16:58:36,039.039 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:58:36,041.041 INFO    ] Checking for system updates...
[2026-08-29 16:58:36,061.061 INFO    ] 200
[2026-08-29 16:58:36,063.063 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:58:36,092.092 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:58:36,094.094 INFO    ] No update needed
[2026-08-29 16:58:36,095.095 INFO    ] Checking for camera pi updates...
[2026-08-29 16:58:36,115.115 INFO    ] 200
[2026-08-29 16:58:36,116.116 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:58:36,140.140 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:58:36,191.191 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:58:36,193.193 INFO    ] No camera update needed
[2026-08-29 16:58:36,195.195 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:58:36,198.198 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:58:36,203.203 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:58:36,208.208 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:58:38,248.248 INFO    ] ================================================
[2026-08-29 16:58:38,263.263 INFO    ] Launching Daemon at Sat Aug 29 16:58:38 IST 2026
[2026-08-29 16:58:38,274.274 INFO    ] ================================================
[2026-08-29 16:58:38,842.842 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:58:38
[2026-08-29 16:58:39,359.359 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:58:39,620.620 INFO    ] Initializing speech engine...
[2026-08-29 16:58:39,628.628 INFO    ] 2026-08-29 16:58:39
[2026-08-29 16:58:39,887.887 INFO    ] 2026-08-29 16:58:39
[2026-08-29 16:58:39,938.938 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:58:40,160.160 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:58:40,168.168 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:58:40,302.302 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:58:40,309.309 INFO    ] time= 29/08/2026 16:58:40
[2026-08-29 16:58:40,368.368 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:58:40,427.427 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:58:40,487.487 INFO    ] No existing commands found in stream
[2026-08-29 16:58:45,499.499 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:58:45,502.502 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-08-29 16:58:46,696.696 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:58:46,698.698 INFO    ] Checking for system updates...
[2026-08-29 16:58:46,719.719 INFO    ] 200
[2026-08-29 16:58:46,720.720 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:58:46,750.750 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:58:46,751.751 INFO    ] No update needed
[2026-08-29 16:58:46,753.753 INFO    ] Checking for camera pi updates...
[2026-08-29 16:58:46,772.772 INFO    ] 200
[2026-08-29 16:58:46,774.774 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:58:46,797.797 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:58:46,895.895 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:58:46,897.897 INFO    ] No camera update needed
[2026-08-29 16:58:46,898.898 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:58:46,899.899 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:58:46,903.903 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:58:46,906.906 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:58:48,944.944 INFO    ] ================================================
[2026-08-29 16:58:48,960.960 INFO    ] Launching Daemon at Sat Aug 29 16:58:48 IST 2026
[2026-08-29 16:58:48,970.970 INFO    ] ================================================
[2026-08-29 16:58:49,323.323 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:58:49
[2026-08-29 16:58:49,636.636 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:58:49,766.766 INFO    ] Initializing speech engine...
[2026-08-29 16:58:49,770.770 INFO    ] 2026-08-29 16:58:49
[2026-08-29 16:58:49,989.989 INFO    ] 2026-08-29 16:58:49
[2026-08-29 16:58:50,018.018 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:58:50,142.142 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:58:50,190.190 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:58:50,377.377 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:58:50,412.412 INFO    ] time= 29/08/2026 16:58:50
[2026-08-29 16:58:50,470.470 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:58:50,519.519 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:58:50,607.607 INFO    ] No existing commands found in stream
[2026-08-29 16:58:55,626.626 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:58:55,629.629 INFO    ] Waiting 3.71 seconds before fallback handling...
[2026-08-29 16:58:59,647.647 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 16:58:59,648.648 INFO    ] Checking for system updates...
[2026-08-29 16:58:59,668.668 INFO    ] 200
[2026-08-29 16:58:59,670.670 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:58:59,701.701 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:58:59,703.703 INFO    ] No update needed
[2026-08-29 16:58:59,704.704 INFO    ] Checking for camera pi updates...
[2026-08-29 16:58:59,723.723 INFO    ] 200
[2026-08-29 16:58:59,725.725 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:58:59,748.748 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:58:59,822.822 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:58:59,824.824 INFO    ] No camera update needed
[2026-08-29 16:58:59,825.825 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:58:59,826.826 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:58:59,829.829 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:58:59,832.832 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:59:01,873.873 INFO    ] ================================================
[2026-08-29 16:59:01,891.891 INFO    ] Launching Daemon at Sat Aug 29 16:59:01 IST 2026
[2026-08-29 16:59:01,907.907 INFO    ] ================================================
[2026-08-29 16:59:02,557.557 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:59:02
[2026-08-29 16:59:03,169.169 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:59:03,429.429 INFO    ] Initializing speech engine...
[2026-08-29 16:59:03,446.446 INFO    ] 2026-08-29 16:59:03
[2026-08-29 16:59:03,694.694 INFO    ] 2026-08-29 16:59:03
[2026-08-29 16:59:03,729.729 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:59:03,901.901 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:59:03,913.913 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:59:04,055.055 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:59:04,063.063 INFO    ] time= 29/08/2026 16:59:04
[2026-08-29 16:59:04,071.071 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:59:04,115.115 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:59:04,252.252 INFO    ] No existing commands found in stream
[2026-08-29 16:59:09,271.271 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:59:09,274.274 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-08-29 16:59:12,159.159 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:59:12,160.160 INFO    ] Checking for system updates...
[2026-08-29 16:59:12,180.180 INFO    ] 200
[2026-08-29 16:59:12,182.182 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:59:12,214.214 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:59:12,215.215 INFO    ] No update needed
[2026-08-29 16:59:12,216.216 INFO    ] Checking for camera pi updates...
[2026-08-29 16:59:12,236.236 INFO    ] 200
[2026-08-29 16:59:12,238.238 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:59:12,262.262 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:59:12,372.372 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:59:12,374.374 INFO    ] No camera update needed
[2026-08-29 16:59:12,375.375 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:59:12,376.376 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:59:12,379.379 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:59:12,382.382 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:59:14,421.421 INFO    ] ================================================
[2026-08-29 16:59:14,436.436 INFO    ] Launching Daemon at Sat Aug 29 16:59:14 IST 2026
[2026-08-29 16:59:14,447.447 INFO    ] ================================================
[2026-08-29 16:59:14,814.814 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:59:14
[2026-08-29 16:59:15,131.131 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:59:15,278.278 INFO    ] Initializing speech engine...
[2026-08-29 16:59:15,284.284 INFO    ] 2026-08-29 16:59:15
[2026-08-29 16:59:15,497.497 INFO    ] 2026-08-29 16:59:15
[2026-08-29 16:59:15,527.527 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:59:15,655.655 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:59:15,700.700 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:59:15,862.862 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:59:15,904.904 INFO    ] time= 29/08/2026 16:59:15
[2026-08-29 16:59:15,946.946 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:59:15,969.969 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:59:16,043.043 INFO    ] No existing commands found in stream
[2026-08-29 16:59:21,054.054 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:59:21,056.056 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-08-29 16:59:21,881.881 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 16:59:21,882.882 INFO    ] Checking for system updates...
[2026-08-29 16:59:21,904.904 INFO    ] 200
[2026-08-29 16:59:21,905.905 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:59:21,935.935 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:59:21,936.936 INFO    ] No update needed
[2026-08-29 16:59:21,937.937 INFO    ] Checking for camera pi updates...
[2026-08-29 16:59:21,956.956 INFO    ] 200
[2026-08-29 16:59:21,958.958 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:59:21,980.980 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:59:22,064.064 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:59:22,066.066 INFO    ] No camera update needed
[2026-08-29 16:59:22,067.067 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:59:22,068.068 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:59:22,071.071 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:59:22,074.074 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:59:24,112.112 INFO    ] ================================================
[2026-08-29 16:59:24,128.128 INFO    ] Launching Daemon at Sat Aug 29 16:59:24 IST 2026
[2026-08-29 16:59:24,138.138 INFO    ] ================================================
[2026-08-29 16:59:24,515.515 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:59:24
[2026-08-29 16:59:24,893.893 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:59:25,164.164 INFO    ] Initializing speech engine...
[2026-08-29 16:59:25,182.182 INFO    ] 2026-08-29 16:59:25
[2026-08-29 16:59:25,453.453 INFO    ] 2026-08-29 16:59:25
[2026-08-29 16:59:25,489.489 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:59:25,679.679 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:59:25,686.686 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:59:25,794.794 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:59:25,799.799 INFO    ] time= 29/08/2026 16:59:25
[2026-08-29 16:59:25,821.821 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:59:25,827.827 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:59:25,880.880 INFO    ] No existing commands found in stream
[2026-08-29 16:59:30,893.893 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:59:30,895.895 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-08-29 16:59:34,124.124 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 16:59:34,125.125 INFO    ] Checking for system updates...
[2026-08-29 16:59:34,145.145 INFO    ] 200
[2026-08-29 16:59:34,147.147 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:59:34,176.176 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:59:34,178.178 INFO    ] No update needed
[2026-08-29 16:59:34,179.179 INFO    ] Checking for camera pi updates...
[2026-08-29 16:59:34,198.198 INFO    ] 200
[2026-08-29 16:59:34,199.199 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:59:34,225.225 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:59:34,342.342 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:59:34,344.344 INFO    ] No camera update needed
[2026-08-29 16:59:34,345.345 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:59:34,346.346 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:59:34,349.349 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:59:34,352.352 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:59:36,390.390 INFO    ] ================================================
[2026-08-29 16:59:36,405.405 INFO    ] Launching Daemon at Sat Aug 29 16:59:36 IST 2026
[2026-08-29 16:59:36,416.416 INFO    ] ================================================
[2026-08-29 16:59:36,797.797 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:59:36
[2026-08-29 16:59:37,397.397 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:59:37,684.684 INFO    ] Initializing speech engine...
[2026-08-29 16:59:37,705.705 INFO    ] 2026-08-29 16:59:37
[2026-08-29 16:59:37,980.980 INFO    ] 2026-08-29 16:59:37
[2026-08-29 16:59:38,040.040 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:59:38,270.270 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:59:38,280.280 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:59:38,417.417 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:59:38,439.439 INFO    ] time= 29/08/2026 16:59:38
[2026-08-29 16:59:38,504.504 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:59:38,554.554 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:59:38,609.609 INFO    ] No existing commands found in stream
[2026-08-29 16:59:43,622.622 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:59:43,625.625 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-08-29 16:59:46,725.725 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 16:59:46,727.727 INFO    ] Checking for system updates...
[2026-08-29 16:59:46,747.747 INFO    ] 200
[2026-08-29 16:59:46,749.749 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:59:46,779.779 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:59:46,781.781 INFO    ] No update needed
[2026-08-29 16:59:46,782.782 INFO    ] Checking for camera pi updates...
[2026-08-29 16:59:46,803.803 INFO    ] 200
[2026-08-29 16:59:46,805.805 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:59:46,832.832 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:59:46,921.921 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 16:59:46,922.922 INFO    ] No camera update needed
[2026-08-29 16:59:46,924.924 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:59:46,925.925 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:59:46,928.928 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:59:46,931.931 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 16:59:48,969.969 INFO    ] ================================================
[2026-08-29 16:59:48,986.986 INFO    ] Launching Daemon at Sat Aug 29 16:59:48 IST 2026
[2026-08-29 16:59:49,996.996 INFO    ] ================================================
[2026-08-29 16:59:49,345.345 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 16:59:49
[2026-08-29 16:59:49,682.682 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 16:59:49,837.837 INFO    ] Initializing speech engine...
[2026-08-29 16:59:49,845.845 INFO    ] 2026-08-29 16:59:49
[2026-08-29 16:59:50,051.051 INFO    ] 2026-08-29 16:59:50
[2026-08-29 16:59:50,080.080 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 16:59:50,203.203 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 16:59:50,266.266 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 16:59:50,397.397 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 16:59:50,448.448 INFO    ] time= 29/08/2026 16:59:50
[2026-08-29 16:59:50,488.488 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 16:59:50,498.498 INFO    ] Checking for existing commands in stream...
[2026-08-29 16:59:50,570.570 INFO    ] No existing commands found in stream
[2026-08-29 16:59:55,580.580 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 16:59:55,583.583 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-08-29 16:59:59,508.508 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 16:59:59,510.510 INFO    ] Checking for system updates...
[2026-08-29 16:59:59,531.531 INFO    ] 200
[2026-08-29 16:59:59,532.532 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:59:59,566.566 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:59:59,567.567 INFO    ] No update needed
[2026-08-29 16:59:59,568.568 INFO    ] Checking for camera pi updates...
[2026-08-29 16:59:59,590.590 INFO    ] 200
[2026-08-29 16:59:59,592.592 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 16:59:59,616.616 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 16:59:59,690.690 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 16:59:59,692.692 INFO    ] No camera update needed
[2026-08-29 16:59:59,693.693 INFO    ] Script finished. Safe exiting...
[2026-08-29 16:59:59,694.694 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 16:59:59,698.698 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 16:59:59,701.701 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:00:01,739.739 INFO    ] ================================================
[2026-08-29 17:00:01,755.755 INFO    ] Launching Daemon at Sat Aug 29 17:00:01 IST 2026
[2026-08-29 17:00:01,766.766 INFO    ] ================================================
[2026-08-29 17:00:03,382.382 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:00:03
[2026-08-29 17:00:05,028.028 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:00:06,146.146 INFO    ] Initializing speech engine...
[2026-08-29 17:00:06,150.150 INFO    ] 2026-08-29 17:00:06
[2026-08-29 17:00:06,612.612 INFO    ] 2026-08-29 17:00:06
[2026-08-29 17:00:06,679.679 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:00:06,815.815 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:00:06,819.819 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:00:06,945.945 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:00:06,968.968 INFO    ] time= 29/08/2026 17:00:06
[2026-08-29 17:00:06,976.976 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:00:06,984.984 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:00:07,058.058 INFO    ] No existing commands found in stream
[2026-08-29 17:00:12,068.068 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:00:12,071.071 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-08-29 17:00:16,011.011 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:00:16,013.013 INFO    ] Checking for system updates...
[2026-08-29 17:00:16,033.033 INFO    ] 200
[2026-08-29 17:00:16,035.035 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:00:16,065.065 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:00:16,066.066 INFO    ] No update needed
[2026-08-29 17:00:16,067.067 INFO    ] Checking for camera pi updates...
[2026-08-29 17:00:16,086.086 INFO    ] 200
[2026-08-29 17:00:16,088.088 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:00:16,123.123 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:00:16,233.233 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:00:16,235.235 INFO    ] No camera update needed
[2026-08-29 17:00:16,238.238 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:00:16,240.240 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:00:16,245.245 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:00:16,250.250 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:00:18,297.297 INFO    ] ================================================
[2026-08-29 17:00:18,314.314 INFO    ] Launching Daemon at Sat Aug 29 17:00:18 IST 2026
[2026-08-29 17:00:18,325.325 INFO    ] ================================================
[2026-08-29 17:00:18,930.930 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:00:18
[2026-08-29 17:00:19,402.402 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:00:19,675.675 INFO    ] Initializing speech engine...
[2026-08-29 17:00:19,685.685 INFO    ] 2026-08-29 17:00:19
[2026-08-29 17:00:19,957.957 INFO    ] 2026-08-29 17:00:19
[2026-08-29 17:00:20,015.015 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:00:20,164.164 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:00:20,179.179 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:00:20,293.293 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:00:20,312.312 INFO    ] time= 29/08/2026 17:00:20
[2026-08-29 17:00:20,337.337 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:00:20,341.341 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:00:20,418.418 INFO    ] No existing commands found in stream
[2026-08-29 17:00:25,443.443 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:00:25,446.446 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-08-29 17:00:26,818.818 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:00:26,820.820 INFO    ] Checking for system updates...
[2026-08-29 17:00:26,851.851 INFO    ] 200
[2026-08-29 17:00:26,852.852 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:00:26,882.882 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:00:26,883.883 INFO    ] No update needed
[2026-08-29 17:00:26,885.885 INFO    ] Checking for camera pi updates...
[2026-08-29 17:00:26,914.914 INFO    ] 200
[2026-08-29 17:00:26,916.916 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:00:26,958.958 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:00:27,058.058 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:00:27,060.060 INFO    ] No camera update needed
[2026-08-29 17:00:27,063.063 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:00:27,065.065 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:00:27,070.070 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:00:27,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:00:29,115.115 INFO    ] ================================================
[2026-08-29 17:00:29,130.130 INFO    ] Launching Daemon at Sat Aug 29 17:00:29 IST 2026
[2026-08-29 17:00:29,141.141 INFO    ] ================================================
[2026-08-29 17:00:29,717.717 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:00:29
[2026-08-29 17:00:30,178.178 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:00:30,419.419 INFO    ] Initializing speech engine...
[2026-08-29 17:00:30,426.426 INFO    ] 2026-08-29 17:00:30
[2026-08-29 17:00:30,674.674 INFO    ] 2026-08-29 17:00:30
[2026-08-29 17:00:30,709.709 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:00:30,881.881 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:00:30,894.894 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:00:31,037.037 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:00:31,046.046 INFO    ] time= 29/08/2026 17:00:31
[2026-08-29 17:00:31,052.052 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:00:31,073.073 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:00:31,192.192 INFO    ] No existing commands found in stream
[2026-08-29 17:00:36,223.223 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:00:36,226.226 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 17:00:38,578.578 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:00:38,581.581 INFO    ] Checking for system updates...
[2026-08-29 17:00:38,620.620 INFO    ] 200
[2026-08-29 17:00:38,623.623 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:00:38,676.676 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:00:38,679.679 INFO    ] No update needed
[2026-08-29 17:00:38,681.681 INFO    ] Checking for camera pi updates...
[2026-08-29 17:00:38,715.715 INFO    ] 200
[2026-08-29 17:00:38,717.717 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:00:38,757.757 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:00:38,860.860 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:00:38,863.863 INFO    ] No camera update needed
[2026-08-29 17:00:38,865.865 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:00:38,868.868 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:00:38,873.873 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:00:38,878.878 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:00:40,917.917 INFO    ] ================================================
[2026-08-29 17:00:40,933.933 INFO    ] Launching Daemon at Sat Aug 29 17:00:40 IST 2026
[2026-08-29 17:00:40,944.944 INFO    ] ================================================
[2026-08-29 17:00:41,309.309 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:00:41
[2026-08-29 17:00:41,620.620 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:00:41,758.758 INFO    ] Initializing speech engine...
[2026-08-29 17:00:41,768.768 INFO    ] 2026-08-29 17:00:41
[2026-08-29 17:00:41,960.960 INFO    ] 2026-08-29 17:00:41
[2026-08-29 17:00:42,048.048 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:00:42,219.219 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:00:42,227.227 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:00:42,380.380 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:00:42,397.397 INFO    ] time= 29/08/2026 17:00:42
[2026-08-29 17:00:42,462.462 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:00:42,521.521 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:00:42,588.588 INFO    ] No existing commands found in stream
[2026-08-29 17:00:47,600.600 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:00:47,603.603 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-08-29 17:00:49,553.553 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:00:49,554.554 INFO    ] Checking for system updates...
[2026-08-29 17:00:49,575.575 INFO    ] 200
[2026-08-29 17:00:49,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:00:49,623.623 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:00:49,625.625 INFO    ] No update needed
[2026-08-29 17:00:49,627.627 INFO    ] Checking for camera pi updates...
[2026-08-29 17:00:49,664.664 INFO    ] 200
[2026-08-29 17:00:49,667.667 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:00:49,711.711 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:00:49,794.794 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:00:49,797.797 INFO    ] No camera update needed
[2026-08-29 17:00:49,799.799 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:00:49,801.801 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:00:49,807.807 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:00:49,812.812 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:00:51,853.853 INFO    ] ================================================
[2026-08-29 17:00:51,868.868 INFO    ] Launching Daemon at Sat Aug 29 17:00:51 IST 2026
[2026-08-29 17:00:51,878.878 INFO    ] ================================================
[2026-08-29 17:00:52,416.416 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:00:52
[2026-08-29 17:00:52,751.751 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:00:52,905.905 INFO    ] Initializing speech engine...
[2026-08-29 17:00:52,910.910 INFO    ] 2026-08-29 17:00:52
[2026-08-29 17:00:53,120.120 INFO    ] 2026-08-29 17:00:53
[2026-08-29 17:00:53,149.149 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:00:53,334.334 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:00:53,338.338 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:00:53,469.469 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:00:53,515.515 INFO    ] time= 29/08/2026 17:00:53
[2026-08-29 17:00:53,555.555 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:00:53,576.576 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:00:53,644.644 INFO    ] No existing commands found in stream
[2026-08-29 17:00:58,658.658 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:00:58,662.662 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-08-29 17:00:59,157.157 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:00:59,159.159 INFO    ] Checking for system updates...
[2026-08-29 17:00:59,179.179 INFO    ] 200
[2026-08-29 17:00:59,180.180 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:00:59,210.210 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:00:59,211.211 INFO    ] No update needed
[2026-08-29 17:00:59,212.212 INFO    ] Checking for camera pi updates...
[2026-08-29 17:00:59,233.233 INFO    ] 200
[2026-08-29 17:00:59,234.234 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:00:59,258.258 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:00:59,335.335 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:00:59,337.337 INFO    ] No camera update needed
[2026-08-29 17:00:59,338.338 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:00:59,339.339 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:00:59,342.342 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:00:59,345.345 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:01:01,382.382 INFO    ] ================================================
[2026-08-29 17:01:01,397.397 INFO    ] Launching Daemon at Sat Aug 29 17:01:01 IST 2026
[2026-08-29 17:01:01,408.408 INFO    ] ================================================
[2026-08-29 17:01:01,779.779 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:01:01
[2026-08-29 17:01:02,610.610 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:01:02,909.909 INFO    ] Initializing speech engine...
[2026-08-29 17:01:02,917.917 INFO    ] 2026-08-29 17:01:02
[2026-08-29 17:01:03,238.238 INFO    ] 2026-08-29 17:01:03
[2026-08-29 17:01:03,287.287 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:01:03,466.466 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:01:03,472.472 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:01:03,622.622 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:01:03,634.634 INFO    ] time= 29/08/2026 17:01:03
[2026-08-29 17:01:03,640.640 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:01:03,662.662 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:01:03,778.778 INFO    ] No existing commands found in stream
[2026-08-29 17:01:08,791.791 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:01:08,800.800 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-08-29 17:01:10,647.647 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:01:10,649.649 INFO    ] Checking for system updates...
[2026-08-29 17:01:10,670.670 INFO    ] 200
[2026-08-29 17:01:10,671.671 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:01:10,703.703 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:01:10,705.705 INFO    ] No update needed
[2026-08-29 17:01:10,706.706 INFO    ] Checking for camera pi updates...
[2026-08-29 17:01:10,726.726 INFO    ] 200
[2026-08-29 17:01:10,728.728 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:01:10,755.755 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:01:10,838.838 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:01:10,840.840 INFO    ] No camera update needed
[2026-08-29 17:01:10,841.841 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:01:10,843.843 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:01:10,846.846 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:01:10,849.849 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:01:12,887.887 INFO    ] ================================================
[2026-08-29 17:01:12,903.903 INFO    ] Launching Daemon at Sat Aug 29 17:01:12 IST 2026
[2026-08-29 17:01:12,914.914 INFO    ] ================================================
[2026-08-29 17:01:13,281.281 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:01:13
[2026-08-29 17:01:13,594.594 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:01:13,736.736 INFO    ] Initializing speech engine...
[2026-08-29 17:01:13,742.742 INFO    ] 2026-08-29 17:01:13
[2026-08-29 17:01:13,943.943 INFO    ] 2026-08-29 17:01:13
[2026-08-29 17:01:13,971.971 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:01:14,115.115 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:01:14,123.123 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:01:14,282.282 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:01:14,321.321 INFO    ] time= 29/08/2026 17:01:14
[2026-08-29 17:01:14,327.327 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:01:14,344.344 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:01:14,445.445 INFO    ] No existing commands found in stream
[2026-08-29 17:01:19,470.470 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:01:19,473.473 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-08-29 17:01:22,189.189 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:01:22,190.190 INFO    ] Checking for system updates...
[2026-08-29 17:01:22,211.211 INFO    ] 200
[2026-08-29 17:01:22,212.212 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:01:22,242.242 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:01:22,244.244 INFO    ] No update needed
[2026-08-29 17:01:22,245.245 INFO    ] Checking for camera pi updates...
[2026-08-29 17:01:22,265.265 INFO    ] 200
[2026-08-29 17:01:22,266.266 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:01:22,291.291 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:01:22,375.375 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:01:22,376.376 INFO    ] No camera update needed
[2026-08-29 17:01:22,378.378 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:01:22,379.379 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:01:22,382.382 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:01:22,384.384 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:01:24,425.425 INFO    ] ================================================
[2026-08-29 17:01:24,441.441 INFO    ] Launching Daemon at Sat Aug 29 17:01:24 IST 2026
[2026-08-29 17:01:24,453.453 INFO    ] ================================================
[2026-08-29 17:01:24,791.791 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:01:24
[2026-08-29 17:01:25,108.108 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:01:25,241.241 INFO    ] Initializing speech engine...
[2026-08-29 17:01:25,246.246 INFO    ] 2026-08-29 17:01:25
[2026-08-29 17:01:25,474.474 INFO    ] 2026-08-29 17:01:25
[2026-08-29 17:01:25,504.504 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:01:25,633.633 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:01:25,652.652 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:01:25,790.790 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:01:25,844.844 INFO    ] time= 29/08/2026 17:01:25
[2026-08-29 17:01:25,900.900 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:01:25,939.939 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:01:26,023.023 INFO    ] No existing commands found in stream
[2026-08-29 17:01:31,032.032 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:01:31,034.034 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-08-29 17:01:32,446.446 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:01:32,449.449 INFO    ] Checking for system updates...
[2026-08-29 17:01:32,490.490 INFO    ] 200
[2026-08-29 17:01:32,493.493 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:01:32,556.556 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:01:32,558.558 INFO    ] No update needed
[2026-08-29 17:01:32,561.561 INFO    ] Checking for camera pi updates...
[2026-08-29 17:01:32,606.606 INFO    ] 200
[2026-08-29 17:01:32,608.608 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:01:32,654.654 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:01:32,809.809 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:01:32,813.813 INFO    ] No camera update needed
[2026-08-29 17:01:32,816.816 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:01:32,819.819 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:01:32,827.827 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:01:32,834.834 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:01:34,876.876 INFO    ] ================================================
[2026-08-29 17:01:34,892.892 INFO    ] Launching Daemon at Sat Aug 29 17:01:34 IST 2026
[2026-08-29 17:01:34,903.903 INFO    ] ================================================
[2026-08-29 17:01:35,497.497 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:01:35
[2026-08-29 17:01:35,826.826 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:01:35,976.976 INFO    ] Initializing speech engine...
[2026-08-29 17:01:35,989.989 INFO    ] 2026-08-29 17:01:35
[2026-08-29 17:01:36,189.189 INFO    ] 2026-08-29 17:01:36
[2026-08-29 17:01:36,218.218 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:01:36,341.341 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:01:36,378.378 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:01:36,534.534 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:01:36,591.591 INFO    ] time= 29/08/2026 17:01:36
[2026-08-29 17:01:36,646.646 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:01:36,691.691 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:01:36,787.787 INFO    ] No existing commands found in stream
[2026-08-29 17:01:41,815.815 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:01:41,819.819 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-08-29 17:01:44,942.942 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:01:44,944.944 INFO    ] Checking for system updates...
[2026-08-29 17:01:44,964.964 INFO    ] 200
[2026-08-29 17:01:44,966.966 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:01:44,996.996 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:01:44,998.998 INFO    ] No update needed
[2026-08-29 17:01:44,999.999 INFO    ] Checking for camera pi updates...
[2026-08-29 17:01:45,018.018 INFO    ] 200
[2026-08-29 17:01:45,019.019 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:01:45,044.044 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:01:45,143.143 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:01:45,145.145 INFO    ] No camera update needed
[2026-08-29 17:01:45,146.146 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:01:45,147.147 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:01:45,150.150 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:01:45,153.153 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:01:47,192.192 INFO    ] ================================================
[2026-08-29 17:01:47,208.208 INFO    ] Launching Daemon at Sat Aug 29 17:01:47 IST 2026
[2026-08-29 17:01:47,219.219 INFO    ] ================================================
[2026-08-29 17:01:47,578.578 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:01:47
[2026-08-29 17:01:47,904.904 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:01:48,153.153 INFO    ] Initializing speech engine...
[2026-08-29 17:01:48,164.164 INFO    ] 2026-08-29 17:01:48
[2026-08-29 17:01:48,430.430 INFO    ] 2026-08-29 17:01:48
[2026-08-29 17:01:48,472.472 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:01:48,638.638 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:01:48,650.650 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:01:48,792.792 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:01:48,800.800 INFO    ] time= 29/08/2026 17:01:48
[2026-08-29 17:01:48,807.807 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:01:48,848.848 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:01:48,954.954 INFO    ] No existing commands found in stream
[2026-08-29 17:01:53,979.979 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:01:53,981.981 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-08-29 17:01:55,053.053 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:01:55,055.055 INFO    ] Checking for system updates...
[2026-08-29 17:01:55,075.075 INFO    ] 200
[2026-08-29 17:01:55,076.076 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:01:55,108.108 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:01:55,109.109 INFO    ] No update needed
[2026-08-29 17:01:55,111.111 INFO    ] Checking for camera pi updates...
[2026-08-29 17:01:55,130.130 INFO    ] 200
[2026-08-29 17:01:55,131.131 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:01:55,154.154 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:01:55,255.255 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:01:55,256.256 INFO    ] No camera update needed
[2026-08-29 17:01:55,258.258 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:01:55,259.259 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:01:55,262.262 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:01:55,264.264 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:01:57,303.303 INFO    ] ================================================
[2026-08-29 17:01:57,319.319 INFO    ] Launching Daemon at Sat Aug 29 17:01:57 IST 2026
[2026-08-29 17:01:57,330.330 INFO    ] ================================================
[2026-08-29 17:01:57,852.852 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:01:57
[2026-08-29 17:01:58,434.434 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:01:58,693.693 INFO    ] Initializing speech engine...
[2026-08-29 17:01:58,717.717 INFO    ] 2026-08-29 17:01:58
[2026-08-29 17:01:58,984.984 INFO    ] 2026-08-29 17:01:58
[2026-08-29 17:01:59,019.019 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:01:59,235.235 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:01:59,268.268 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:01:59,389.389 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:01:59,411.411 INFO    ] time= 29/08/2026 17:01:59
[2026-08-29 17:01:59,461.461 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:01:59,467.467 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:01:59,565.565 INFO    ] No existing commands found in stream
[2026-08-29 17:02:04,590.590 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:02:04,593.593 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-08-29 17:02:08,399.399 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:02:08,401.401 INFO    ] Checking for system updates...
[2026-08-29 17:02:08,444.444 INFO    ] 200
[2026-08-29 17:02:08,446.446 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:02:08,512.512 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:02:08,515.515 INFO    ] No update needed
[2026-08-29 17:02:08,518.518 INFO    ] Checking for camera pi updates...
[2026-08-29 17:02:08,559.559 INFO    ] 200
[2026-08-29 17:02:08,562.562 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:02:08,607.607 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:02:08,794.794 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:02:08,797.797 INFO    ] No camera update needed
[2026-08-29 17:02:08,800.800 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:02:08,802.802 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:02:08,808.808 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:02:08,814.814 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:02:10,855.855 INFO    ] ================================================
[2026-08-29 17:02:10,871.871 INFO    ] Launching Daemon at Sat Aug 29 17:02:10 IST 2026
[2026-08-29 17:02:10,882.882 INFO    ] ================================================
[2026-08-29 17:02:11,368.368 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:02:11
[2026-08-29 17:02:11,970.970 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:02:12,241.241 INFO    ] Initializing speech engine...
[2026-08-29 17:02:12,248.248 INFO    ] 2026-08-29 17:02:12
[2026-08-29 17:02:12,500.500 INFO    ] 2026-08-29 17:02:12
[2026-08-29 17:02:12,536.536 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:02:12,729.729 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:02:12,743.743 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:02:12,868.868 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:02:12,874.874 INFO    ] time= 29/08/2026 17:02:12
[2026-08-29 17:02:12,915.915 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:02:12,941.941 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:02:13,050.050 INFO    ] No existing commands found in stream
[2026-08-29 17:02:18,078.078 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:02:18,080.080 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-08-29 17:02:20,211.211 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:02:20,212.212 INFO    ] Checking for system updates...
[2026-08-29 17:02:20,234.234 INFO    ] 200
[2026-08-29 17:02:20,235.235 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:02:20,265.265 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:02:20,267.267 INFO    ] No update needed
[2026-08-29 17:02:20,268.268 INFO    ] Checking for camera pi updates...
[2026-08-29 17:02:20,287.287 INFO    ] 200
[2026-08-29 17:02:20,289.289 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:02:20,312.312 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:02:20,390.390 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:02:20,392.392 INFO    ] No camera update needed
[2026-08-29 17:02:20,393.393 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:02:20,394.394 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:02:20,397.397 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:02:20,400.400 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:02:22,439.439 INFO    ] ================================================
[2026-08-29 17:02:22,455.455 INFO    ] Launching Daemon at Sat Aug 29 17:02:22 IST 2026
[2026-08-29 17:02:22,466.466 INFO    ] ================================================
[2026-08-29 17:02:23,032.032 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:02:23
[2026-08-29 17:02:23,615.615 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:02:23,885.885 INFO    ] Initializing speech engine...
[2026-08-29 17:02:23,892.892 INFO    ] 2026-08-29 17:02:23
[2026-08-29 17:02:24,141.141 INFO    ] 2026-08-29 17:02:24
[2026-08-29 17:02:24,176.176 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:02:24,369.369 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:02:24,393.393 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:02:24,524.524 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:02:24,553.553 INFO    ] time= 29/08/2026 17:02:24
[2026-08-29 17:02:24,599.599 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:02:24,628.628 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:02:24,740.740 INFO    ] No existing commands found in stream
[2026-08-29 17:02:29,751.751 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:02:29,754.754 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-08-29 17:02:30,410.410 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:02:30,412.412 INFO    ] Checking for system updates...
[2026-08-29 17:02:30,433.433 INFO    ] 200
[2026-08-29 17:02:30,434.434 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:02:30,469.469 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:02:30,470.470 INFO    ] No update needed
[2026-08-29 17:02:30,471.471 INFO    ] Checking for camera pi updates...
[2026-08-29 17:02:30,491.491 INFO    ] 200
[2026-08-29 17:02:30,493.493 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:02:30,516.516 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:02:30,594.594 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:02:30,595.595 INFO    ] No camera update needed
[2026-08-29 17:02:30,597.597 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:02:30,598.598 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:02:30,601.601 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:02:30,604.604 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:02:32,643.643 INFO    ] ================================================
[2026-08-29 17:02:32,659.659 INFO    ] Launching Daemon at Sat Aug 29 17:02:32 IST 2026
[2026-08-29 17:02:32,670.670 INFO    ] ================================================
[2026-08-29 17:02:33,243.243 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:02:33
[2026-08-29 17:02:33,831.831 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:02:34,104.104 INFO    ] Initializing speech engine...
[2026-08-29 17:02:34,112.112 INFO    ] 2026-08-29 17:02:34
[2026-08-29 17:02:34,365.365 INFO    ] 2026-08-29 17:02:34
[2026-08-29 17:02:34,423.423 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:02:34,565.565 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:02:34,578.578 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:02:34,718.718 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:02:34,727.727 INFO    ] time= 29/08/2026 17:02:34
[2026-08-29 17:02:34,734.734 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:02:34,779.779 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:02:34,902.902 INFO    ] No existing commands found in stream
[2026-08-29 17:02:39,927.927 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:02:39,930.930 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-08-29 17:02:40,628.628 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:02:40,629.629 INFO    ] Checking for system updates...
[2026-08-29 17:02:40,650.650 INFO    ] 200
[2026-08-29 17:02:40,651.651 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:02:40,685.685 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:02:40,687.687 INFO    ] No update needed
[2026-08-29 17:02:40,688.688 INFO    ] Checking for camera pi updates...
[2026-08-29 17:02:40,707.707 INFO    ] 200
[2026-08-29 17:02:40,709.709 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:02:40,741.741 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:02:40,836.836 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:02:40,839.839 INFO    ] No camera update needed
[2026-08-29 17:02:40,841.841 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:02:40,843.843 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:02:40,849.849 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:02:40,854.854 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:02:42,894.894 INFO    ] ================================================
[2026-08-29 17:02:42,910.910 INFO    ] Launching Daemon at Sat Aug 29 17:02:42 IST 2026
[2026-08-29 17:02:42,921.921 INFO    ] ================================================
[2026-08-29 17:02:43,499.499 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:02:43
[2026-08-29 17:02:43,983.983 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:02:44,125.125 INFO    ] Initializing speech engine...
[2026-08-29 17:02:44,131.131 INFO    ] 2026-08-29 17:02:44
[2026-08-29 17:02:44,333.333 INFO    ] 2026-08-29 17:02:44
[2026-08-29 17:02:44,362.362 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:02:44,485.485 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:02:44,548.548 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:02:44,691.691 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:02:44,752.752 INFO    ] time= 29/08/2026 17:02:44
[2026-08-29 17:02:44,800.800 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:02:44,844.844 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:02:44,954.954 INFO    ] No existing commands found in stream
[2026-08-29 17:02:49,972.972 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:02:49,976.976 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-08-29 17:02:54,009.009 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:02:54,010.010 INFO    ] Checking for system updates...
[2026-08-29 17:02:54,031.031 INFO    ] 200
[2026-08-29 17:02:54,033.033 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:02:54,063.063 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:02:54,064.064 INFO    ] No update needed
[2026-08-29 17:02:54,066.066 INFO    ] Checking for camera pi updates...
[2026-08-29 17:02:54,086.086 INFO    ] 200
[2026-08-29 17:02:54,087.087 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:02:54,113.113 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:02:54,225.225 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:02:54,227.227 INFO    ] No camera update needed
[2026-08-29 17:02:54,228.228 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:02:54,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:02:54,233.233 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:02:54,236.236 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:02:56,276.276 INFO    ] ================================================
[2026-08-29 17:02:56,293.293 INFO    ] Launching Daemon at Sat Aug 29 17:02:56 IST 2026
[2026-08-29 17:02:56,304.304 INFO    ] ================================================
[2026-08-29 17:02:56,658.658 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:02:56
[2026-08-29 17:02:56,973.973 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:02:57,111.111 INFO    ] Initializing speech engine...
[2026-08-29 17:02:57,124.124 INFO    ] 2026-08-29 17:02:57
[2026-08-29 17:02:57,344.344 INFO    ] 2026-08-29 17:02:57
[2026-08-29 17:02:57,375.375 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:02:57,474.474 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:02:57,510.510 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:02:57,610.610 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:02:57,615.615 INFO    ] time= 29/08/2026 17:02:57
[2026-08-29 17:02:57,647.647 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:02:57,678.678 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:02:57,794.794 INFO    ] No existing commands found in stream
[2026-08-29 17:03:02,814.814 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:03:02,817.817 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-08-29 17:03:04,971.971 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:03:04,974.974 INFO    ] Checking for system updates...
[2026-08-29 17:03:05,014.014 INFO    ] 200
[2026-08-29 17:03:05,016.016 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:03:05,068.068 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:03:05,071.071 INFO    ] No update needed
[2026-08-29 17:03:05,073.073 INFO    ] Checking for camera pi updates...
[2026-08-29 17:03:05,107.107 INFO    ] 200
[2026-08-29 17:03:05,110.110 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:03:05,156.156 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:03:05,227.227 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:03:05,229.229 INFO    ] No camera update needed
[2026-08-29 17:03:05,232.232 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:03:05,234.234 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:03:05,239.239 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:03:05,244.244 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:03:07,285.285 INFO    ] ================================================
[2026-08-29 17:03:07,301.301 INFO    ] Launching Daemon at Sat Aug 29 17:03:07 IST 2026
[2026-08-29 17:03:07,312.312 INFO    ] ================================================
[2026-08-29 17:03:07,977.977 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:03:07
[2026-08-29 17:03:08,477.477 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:03:08,794.794 INFO    ] Initializing speech engine...
[2026-08-29 17:03:08,807.807 INFO    ] 2026-08-29 17:03:08
[2026-08-29 17:03:09,089.089 INFO    ] 2026-08-29 17:03:09
[2026-08-29 17:03:09,135.135 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:03:09,363.363 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:03:09,370.370 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:03:09,501.501 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:03:09,534.534 INFO    ] time= 29/08/2026 17:03:09
[2026-08-29 17:03:09,604.604 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:03:09,638.638 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:03:09,698.698 INFO    ] No existing commands found in stream
[2026-08-29 17:03:14,725.725 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:03:14,728.728 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-08-29 17:03:15,578.578 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:03:15,579.579 INFO    ] Checking for system updates...
[2026-08-29 17:03:15,602.602 INFO    ] 200
[2026-08-29 17:03:15,603.603 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:03:15,637.637 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:03:15,639.639 INFO    ] No update needed
[2026-08-29 17:03:15,640.640 INFO    ] Checking for camera pi updates...
[2026-08-29 17:03:15,660.660 INFO    ] 200
[2026-08-29 17:03:15,662.662 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:03:15,687.687 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:03:15,786.786 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:03:15,787.787 INFO    ] No camera update needed
[2026-08-29 17:03:15,788.788 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:03:15,789.789 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:03:15,792.792 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:03:15,795.795 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:03:17,836.836 INFO    ] ================================================
[2026-08-29 17:03:17,851.851 INFO    ] Launching Daemon at Sat Aug 29 17:03:17 IST 2026
[2026-08-29 17:03:17,863.863 INFO    ] ================================================
[2026-08-29 17:03:18,212.212 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:03:18
[2026-08-29 17:03:18,556.556 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:03:18,710.710 INFO    ] Initializing speech engine...
[2026-08-29 17:03:18,716.716 INFO    ] 2026-08-29 17:03:18
[2026-08-29 17:03:18,927.927 INFO    ] 2026-08-29 17:03:18
[2026-08-29 17:03:18,956.956 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:03:19,081.081 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:03:19,144.144 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:03:19,281.281 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:03:19,353.353 INFO    ] time= 29/08/2026 17:03:19
[2026-08-29 17:03:19,377.377 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:03:19,384.384 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:03:19,450.450 INFO    ] No existing commands found in stream
[2026-08-29 17:03:24,462.462 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:03:24,465.465 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-08-29 17:03:25,243.243 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:03:25,244.244 INFO    ] Checking for system updates...
[2026-08-29 17:03:25,265.265 INFO    ] 200
[2026-08-29 17:03:25,267.267 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:03:25,297.297 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:03:25,298.298 INFO    ] No update needed
[2026-08-29 17:03:25,300.300 INFO    ] Checking for camera pi updates...
[2026-08-29 17:03:25,320.320 INFO    ] 200
[2026-08-29 17:03:25,321.321 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:03:25,345.345 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:03:25,422.422 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:03:25,423.423 INFO    ] No camera update needed
[2026-08-29 17:03:25,424.424 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:03:25,426.426 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:03:25,429.429 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:03:25,431.431 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:03:27,470.470 INFO    ] ================================================
[2026-08-29 17:03:27,485.485 INFO    ] Launching Daemon at Sat Aug 29 17:03:27 IST 2026
[2026-08-29 17:03:27,496.496 INFO    ] ================================================
[2026-08-29 17:03:27,877.877 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:03:27
[2026-08-29 17:03:28,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:03:28,374.374 INFO    ] Initializing speech engine...
[2026-08-29 17:03:28,379.379 INFO    ] 2026-08-29 17:03:28
[2026-08-29 17:03:28,590.590 INFO    ] 2026-08-29 17:03:28
[2026-08-29 17:03:28,619.619 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:03:28,756.756 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:03:28,810.810 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:03:28,944.944 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:03:29,005.005 INFO    ] time= 29/08/2026 17:03:28
[2026-08-29 17:03:29,046.046 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:03:29,052.052 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:03:29,121.121 INFO    ] No existing commands found in stream
[2026-08-29 17:03:34,131.131 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:03:34,134.134 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-08-29 17:03:35,310.310 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:03:35,313.313 INFO    ] Checking for system updates...
[2026-08-29 17:03:35,349.349 INFO    ] 200
[2026-08-29 17:03:35,352.352 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:03:35,412.412 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:03:35,414.414 INFO    ] No update needed
[2026-08-29 17:03:35,417.417 INFO    ] Checking for camera pi updates...
[2026-08-29 17:03:35,450.450 INFO    ] 200
[2026-08-29 17:03:35,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:03:35,494.494 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:03:35,575.575 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:03:35,577.577 INFO    ] No camera update needed
[2026-08-29 17:03:35,580.580 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:03:35,582.582 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:03:35,587.587 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:03:35,590.590 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:03:37,631.631 INFO    ] ================================================
[2026-08-29 17:03:37,647.647 INFO    ] Launching Daemon at Sat Aug 29 17:03:37 IST 2026
[2026-08-29 17:03:37,658.658 INFO    ] ================================================
[2026-08-29 17:03:38,053.053 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:03:38
[2026-08-29 17:03:38,394.394 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:03:38,549.549 INFO    ] Initializing speech engine...
[2026-08-29 17:03:38,555.555 INFO    ] 2026-08-29 17:03:38
[2026-08-29 17:03:38,767.767 INFO    ] 2026-08-29 17:03:38
[2026-08-29 17:03:38,797.797 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:03:38,922.922 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:03:38,980.980 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:03:39,120.120 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:03:39,172.172 INFO    ] time= 29/08/2026 17:03:39
[2026-08-29 17:03:39,218.218 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:03:39,224.224 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:03:39,297.297 INFO    ] No existing commands found in stream
[2026-08-29 17:03:44,306.306 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:03:44,309.309 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-08-29 17:03:45,738.738 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:03:45,739.739 INFO    ] Checking for system updates...
[2026-08-29 17:03:45,760.760 INFO    ] 200
[2026-08-29 17:03:45,762.762 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:03:45,795.795 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:03:45,796.796 INFO    ] No update needed
[2026-08-29 17:03:45,798.798 INFO    ] Checking for camera pi updates...
[2026-08-29 17:03:45,817.817 INFO    ] 200
[2026-08-29 17:03:45,819.819 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:03:45,842.842 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:03:45,925.925 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:03:45,927.927 INFO    ] No camera update needed
[2026-08-29 17:03:45,928.928 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:03:45,929.929 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:03:45,933.933 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:03:45,936.936 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:03:47,976.976 INFO    ] ================================================
[2026-08-29 17:03:47,991.991 INFO    ] Launching Daemon at Sat Aug 29 17:03:47 IST 2026
[2026-08-29 17:03:48,001.001 INFO    ] ================================================
[2026-08-29 17:03:48,351.351 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:03:48
[2026-08-29 17:03:48,669.669 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:03:48,808.808 INFO    ] Initializing speech engine...
[2026-08-29 17:03:48,818.818 INFO    ] 2026-08-29 17:03:48
[2026-08-29 17:03:49,001.001 INFO    ] 2026-08-29 17:03:48
[2026-08-29 17:03:49,068.068 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:03:49,219.219 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:03:49,236.236 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:03:49,365.365 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:03:49,374.374 INFO    ] time= 29/08/2026 17:03:49
[2026-08-29 17:03:49,382.382 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:03:49,421.421 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:03:49,529.529 INFO    ] No existing commands found in stream
[2026-08-29 17:03:54,549.549 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:03:54,552.552 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-08-29 17:03:57,256.256 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:03:57,257.257 INFO    ] Checking for system updates...
[2026-08-29 17:03:57,278.278 INFO    ] 200
[2026-08-29 17:03:57,280.280 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:03:57,310.310 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:03:57,312.312 INFO    ] No update needed
[2026-08-29 17:03:57,313.313 INFO    ] Checking for camera pi updates...
[2026-08-29 17:03:57,333.333 INFO    ] 200
[2026-08-29 17:03:57,335.335 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:03:57,358.358 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:03:57,434.434 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:03:57,435.435 INFO    ] No camera update needed
[2026-08-29 17:03:57,437.437 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:03:57,438.438 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:03:57,441.441 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:03:57,444.444 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:03:59,486.486 INFO    ] ================================================
[2026-08-29 17:03:59,501.501 INFO    ] Launching Daemon at Sat Aug 29 17:03:59 IST 2026
[2026-08-29 17:03:59,512.512 INFO    ] ================================================
[2026-08-29 17:03:59,897.897 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:03:59
[2026-08-29 17:04:00,241.241 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:04:00,394.394 INFO    ] Initializing speech engine...
[2026-08-29 17:04:00,399.399 INFO    ] 2026-08-29 17:04:00
[2026-08-29 17:04:00,622.622 INFO    ] 2026-08-29 17:04:00
[2026-08-29 17:04:00,677.677 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:04:00,842.842 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:04:00,851.851 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:04:01,028.028 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:04:01,053.053 INFO    ] time= 29/08/2026 17:04:01
[2026-08-29 17:04:01,070.070 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:04:01,079.079 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:04:01,209.209 INFO    ] No existing commands found in stream
[2026-08-29 17:04:06,239.239 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:04:06,243.243 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 17:04:08,370.370 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:04:08,372.372 INFO    ] Checking for system updates...
[2026-08-29 17:04:08,394.394 INFO    ] 200
[2026-08-29 17:04:08,396.396 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:04:08,427.427 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:04:08,428.428 INFO    ] No update needed
[2026-08-29 17:04:08,429.429 INFO    ] Checking for camera pi updates...
[2026-08-29 17:04:08,449.449 INFO    ] 200
[2026-08-29 17:04:08,450.450 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:04:08,473.473 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:04:08,550.550 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:04:08,552.552 INFO    ] No camera update needed
[2026-08-29 17:04:08,553.553 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:04:08,554.554 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:04:08,557.557 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:04:08,560.560 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:04:10,598.598 INFO    ] ================================================
[2026-08-29 17:04:10,613.613 INFO    ] Launching Daemon at Sat Aug 29 17:04:10 IST 2026
[2026-08-29 17:04:10,624.624 INFO    ] ================================================
[2026-08-29 17:04:10,962.962 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:04:10
[2026-08-29 17:04:11,278.278 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:04:11,463.463 INFO    ] Initializing speech engine...
[2026-08-29 17:04:11,475.475 INFO    ] 2026-08-29 17:04:11
[2026-08-29 17:04:11,729.729 INFO    ] 2026-08-29 17:04:11
[2026-08-29 17:04:11,780.780 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:04:11,921.921 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:04:11,933.933 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:04:12,074.074 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:04:12,083.083 INFO    ] time= 29/08/2026 17:04:12
[2026-08-29 17:04:12,089.089 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:04:12,131.131 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:04:12,251.251 INFO    ] No existing commands found in stream
[2026-08-29 17:04:17,281.281 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:04:17,294.294 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-08-29 17:04:18,122.122 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:04:18,123.123 INFO    ] Checking for system updates...
[2026-08-29 17:04:18,144.144 INFO    ] 200
[2026-08-29 17:04:18,145.145 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:04:18,180.180 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:04:18,181.181 INFO    ] No update needed
[2026-08-29 17:04:18,183.183 INFO    ] Checking for camera pi updates...
[2026-08-29 17:04:18,202.202 INFO    ] 200
[2026-08-29 17:04:18,203.203 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:04:18,226.226 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:04:18,415.415 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:04:18,416.416 INFO    ] No camera update needed
[2026-08-29 17:04:18,417.417 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:04:18,418.418 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:04:18,421.421 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:04:18,424.424 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:04:20,463.463 INFO    ] ================================================
[2026-08-29 17:04:20,478.478 INFO    ] Launching Daemon at Sat Aug 29 17:04:20 IST 2026
[2026-08-29 17:04:20,489.489 INFO    ] ================================================
[2026-08-29 17:04:20,837.837 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:04:20
[2026-08-29 17:04:21,148.148 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:04:21,286.286 INFO    ] Initializing speech engine...
[2026-08-29 17:04:21,295.295 INFO    ] 2026-08-29 17:04:21
[2026-08-29 17:04:21,479.479 INFO    ] 2026-08-29 17:04:21
[2026-08-29 17:04:21,514.514 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:04:21,685.685 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:04:21,696.696 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:04:21,806.806 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:04:21,811.811 INFO    ] time= 29/08/2026 17:04:21
[2026-08-29 17:04:21,830.830 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:04:21,849.849 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:04:21,923.923 INFO    ] No existing commands found in stream
[2026-08-29 17:04:26,938.938 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:04:26,941.941 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-08-29 17:04:28,720.720 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:04:28,721.721 INFO    ] Checking for system updates...
[2026-08-29 17:04:28,741.741 INFO    ] 200
[2026-08-29 17:04:28,743.743 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:04:28,773.773 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:04:28,774.774 INFO    ] No update needed
[2026-08-29 17:04:28,775.775 INFO    ] Checking for camera pi updates...
[2026-08-29 17:04:28,795.795 INFO    ] 200
[2026-08-29 17:04:28,796.796 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:04:28,819.819 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:04:28,927.927 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:04:28,929.929 INFO    ] No camera update needed
[2026-08-29 17:04:28,931.931 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:04:28,934.934 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:04:28,939.939 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:04:28,944.944 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:04:30,983.983 INFO    ] ================================================
[2026-08-29 17:04:31,998.998 INFO    ] Launching Daemon at Sat Aug 29 17:04:30 IST 2026
[2026-08-29 17:04:31,009.009 INFO    ] ================================================
[2026-08-29 17:04:31,588.588 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:04:31
[2026-08-29 17:04:32,129.129 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:04:32,415.415 INFO    ] Initializing speech engine...
[2026-08-29 17:04:32,426.426 INFO    ] 2026-08-29 17:04:32
[2026-08-29 17:04:32,693.693 INFO    ] 2026-08-29 17:04:32
[2026-08-29 17:04:32,764.764 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:04:32,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:04:32,973.973 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:04:33,079.079 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:04:33,128.128 INFO    ] time= 29/08/2026 17:04:33
[2026-08-29 17:04:33,147.147 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:04:33,173.173 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:04:33,281.281 INFO    ] No existing commands found in stream
[2026-08-29 17:04:38,291.291 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:04:38,294.294 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-08-29 17:04:40,761.761 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:04:40,762.762 INFO    ] Checking for system updates...
[2026-08-29 17:04:40,783.783 INFO    ] 200
[2026-08-29 17:04:40,784.784 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:04:40,815.815 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:04:40,816.816 INFO    ] No update needed
[2026-08-29 17:04:40,817.817 INFO    ] Checking for camera pi updates...
[2026-08-29 17:04:40,836.836 INFO    ] 200
[2026-08-29 17:04:40,838.838 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:04:40,861.861 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:04:40,945.945 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:04:40,947.947 INFO    ] No camera update needed
[2026-08-29 17:04:40,950.950 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:04:40,952.952 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:04:40,957.957 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:04:40,962.962 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:04:43,004.004 INFO    ] ================================================
[2026-08-29 17:04:43,019.019 INFO    ] Launching Daemon at Sat Aug 29 17:04:43 IST 2026
[2026-08-29 17:04:43,030.030 INFO    ] ================================================
[2026-08-29 17:04:43,597.597 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:04:43
[2026-08-29 17:04:44,083.083 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:04:44,279.279 INFO    ] Initializing speech engine...
[2026-08-29 17:04:44,288.288 INFO    ] 2026-08-29 17:04:44
[2026-08-29 17:04:44,534.534 INFO    ] 2026-08-29 17:04:44
[2026-08-29 17:04:44,599.599 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:04:44,742.742 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:04:44,765.765 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:04:44,894.894 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:04:44,902.902 INFO    ] time= 29/08/2026 17:04:44
[2026-08-29 17:04:44,907.907 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:04:44,912.912 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:04:44,975.975 INFO    ] No existing commands found in stream
[2026-08-29 17:04:49,988.988 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:04:49,991.991 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-08-29 17:04:53,005.005 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:04:53,006.006 INFO    ] Checking for system updates...
[2026-08-29 17:04:53,028.028 INFO    ] 200
[2026-08-29 17:04:53,029.029 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:04:53,062.062 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:04:53,063.063 INFO    ] No update needed
[2026-08-29 17:04:53,064.064 INFO    ] Checking for camera pi updates...
[2026-08-29 17:04:53,083.083 INFO    ] 200
[2026-08-29 17:04:53,085.085 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:04:53,107.107 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:04:53,212.212 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:04:53,214.214 INFO    ] No camera update needed
[2026-08-29 17:04:53,217.217 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:04:53,219.219 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:04:53,224.224 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:04:53,229.229 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:04:55,268.268 INFO    ] ================================================
[2026-08-29 17:04:55,284.284 INFO    ] Launching Daemon at Sat Aug 29 17:04:55 IST 2026
[2026-08-29 17:04:55,295.295 INFO    ] ================================================
[2026-08-29 17:04:55,885.885 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:04:55
[2026-08-29 17:04:56,415.415 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:04:56,568.568 INFO    ] Initializing speech engine...
[2026-08-29 17:04:56,573.573 INFO    ] 2026-08-29 17:04:56
[2026-08-29 17:04:56,886.886 INFO    ] 2026-08-29 17:04:56
[2026-08-29 17:04:56,968.968 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:04:57,118.118 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:04:57,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:04:57,262.262 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:04:57,305.305 INFO    ] time= 29/08/2026 17:04:57
[2026-08-29 17:04:57,369.369 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:04:57,400.400 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:04:57,461.461 INFO    ] No existing commands found in stream
[2026-08-29 17:05:02,494.494 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:05:02,498.498 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-08-29 17:05:05,330.330 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:05:05,332.332 INFO    ] Checking for system updates...
[2026-08-29 17:05:05,353.353 INFO    ] 200
[2026-08-29 17:05:05,355.355 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:05:05,385.385 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:05:05,387.387 INFO    ] No update needed
[2026-08-29 17:05:05,388.388 INFO    ] Checking for camera pi updates...
[2026-08-29 17:05:05,408.408 INFO    ] 200
[2026-08-29 17:05:05,409.409 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:05:05,433.433 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:05:05,526.526 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:05:05,527.527 INFO    ] No camera update needed
[2026-08-29 17:05:05,529.529 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:05:05,530.530 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:05:05,533.533 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:05:05,536.536 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:05:07,576.576 INFO    ] ================================================
[2026-08-29 17:05:07,591.591 INFO    ] Launching Daemon at Sat Aug 29 17:05:07 IST 2026
[2026-08-29 17:05:07,602.602 INFO    ] ================================================
[2026-08-29 17:05:07,952.952 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:05:07
[2026-08-29 17:05:08,269.269 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:05:08,411.411 INFO    ] Initializing speech engine...
[2026-08-29 17:05:08,419.419 INFO    ] 2026-08-29 17:05:08
[2026-08-29 17:05:08,637.637 INFO    ] 2026-08-29 17:05:08
[2026-08-29 17:05:08,668.668 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:05:08,800.800 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:05:08,848.848 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:05:09,009.009 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:05:09,071.071 INFO    ] time= 29/08/2026 17:05:09
[2026-08-29 17:05:09,100.100 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:05:09,118.118 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:05:09,208.208 INFO    ] No existing commands found in stream
[2026-08-29 17:05:14,218.218 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:05:14,221.221 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 17:05:16,367.367 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:05:16,368.368 INFO    ] Checking for system updates...
[2026-08-29 17:05:16,389.389 INFO    ] 200
[2026-08-29 17:05:16,390.390 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:05:16,422.422 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:05:16,424.424 INFO    ] No update needed
[2026-08-29 17:05:16,425.425 INFO    ] Checking for camera pi updates...
[2026-08-29 17:05:16,445.445 INFO    ] 200
[2026-08-29 17:05:16,446.446 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:05:16,469.469 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:05:16,549.549 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:05:16,551.551 INFO    ] No camera update needed
[2026-08-29 17:05:16,552.552 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:05:16,553.553 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:05:16,556.556 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:05:16,559.559 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:05:18,596.596 INFO    ] ================================================
[2026-08-29 17:05:18,612.612 INFO    ] Launching Daemon at Sat Aug 29 17:05:18 IST 2026
[2026-08-29 17:05:18,622.622 INFO    ] ================================================
[2026-08-29 17:05:18,980.980 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:05:18
[2026-08-29 17:05:19,297.297 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:05:19,436.436 INFO    ] Initializing speech engine...
[2026-08-29 17:05:19,446.446 INFO    ] 2026-08-29 17:05:19
[2026-08-29 17:05:19,651.651 INFO    ] 2026-08-29 17:05:19
[2026-08-29 17:05:19,680.680 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:05:19,803.803 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:05:19,866.866 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:05:20,023.023 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:05:20,063.063 INFO    ] time= 29/08/2026 17:05:20
[2026-08-29 17:05:20,127.127 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:05:20,178.178 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:05:20,233.233 INFO    ] No existing commands found in stream
[2026-08-29 17:05:25,243.243 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:05:25,246.246 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-08-29 17:05:26,089.089 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:05:26,090.090 INFO    ] Checking for system updates...
[2026-08-29 17:05:26,112.112 INFO    ] 200
[2026-08-29 17:05:26,113.113 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:05:26,145.145 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:05:26,147.147 INFO    ] No update needed
[2026-08-29 17:05:26,148.148 INFO    ] Checking for camera pi updates...
[2026-08-29 17:05:26,167.167 INFO    ] 200
[2026-08-29 17:05:26,169.169 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:05:26,193.193 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:05:26,274.274 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:05:26,275.275 INFO    ] No camera update needed
[2026-08-29 17:05:26,276.276 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:05:26,278.278 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:05:26,281.281 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:05:26,283.283 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:05:28,324.324 INFO    ] ================================================
[2026-08-29 17:05:28,339.339 INFO    ] Launching Daemon at Sat Aug 29 17:05:28 IST 2026
[2026-08-29 17:05:28,357.357 INFO    ] ================================================
[2026-08-29 17:05:28,688.688 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:05:28
[2026-08-29 17:05:29,001.001 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:05:29,139.139 INFO    ] Initializing speech engine...
[2026-08-29 17:05:29,147.147 INFO    ] 2026-08-29 17:05:29
[2026-08-29 17:05:29,355.355 INFO    ] 2026-08-29 17:05:29
[2026-08-29 17:05:29,385.385 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:05:29,494.494 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:05:29,500.500 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:05:29,653.653 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:05:29,704.704 INFO    ] time= 29/08/2026 17:05:29
[2026-08-29 17:05:29,710.710 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:05:29,728.728 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:05:29,847.847 INFO    ] No existing commands found in stream
[2026-08-29 17:05:34,870.870 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:05:34,873.873 INFO    ] Waiting 2.42 seconds before fallback handling...
[2026-08-29 17:05:37,614.614 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:05:37,615.615 INFO    ] Checking for system updates...
[2026-08-29 17:05:37,636.636 INFO    ] 200
[2026-08-29 17:05:37,638.638 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:05:37,668.668 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:05:37,669.669 INFO    ] No update needed
[2026-08-29 17:05:37,671.671 INFO    ] Checking for camera pi updates...
[2026-08-29 17:05:37,690.690 INFO    ] 200
[2026-08-29 17:05:37,691.691 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:05:37,714.714 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:05:37,814.814 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:05:37,816.816 INFO    ] No camera update needed
[2026-08-29 17:05:37,817.817 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:05:37,818.818 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:05:37,821.821 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:05:37,824.824 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:05:39,861.861 INFO    ] ================================================
[2026-08-29 17:05:39,877.877 INFO    ] Launching Daemon at Sat Aug 29 17:05:39 IST 2026
[2026-08-29 17:05:39,887.887 INFO    ] ================================================
[2026-08-29 17:05:40,379.379 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:05:40
[2026-08-29 17:05:40,962.962 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:05:41,233.233 INFO    ] Initializing speech engine...
[2026-08-29 17:05:41,242.242 INFO    ] 2026-08-29 17:05:41
[2026-08-29 17:05:41,491.491 INFO    ] 2026-08-29 17:05:41
[2026-08-29 17:05:41,526.526 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:05:41,705.705 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:05:41,717.717 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:05:41,865.865 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:05:41,870.870 INFO    ] time= 29/08/2026 17:05:41
[2026-08-29 17:05:41,876.876 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:05:41,897.897 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:05:42,023.023 INFO    ] No existing commands found in stream
[2026-08-29 17:05:47,048.048 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:05:47,050.050 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-08-29 17:05:48,692.692 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:05:48,693.693 INFO    ] Checking for system updates...
[2026-08-29 17:05:48,714.714 INFO    ] 200
[2026-08-29 17:05:48,715.715 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:05:48,744.744 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:05:48,746.746 INFO    ] No update needed
[2026-08-29 17:05:48,747.747 INFO    ] Checking for camera pi updates...
[2026-08-29 17:05:48,767.767 INFO    ] 200
[2026-08-29 17:05:48,768.768 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:05:48,793.793 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:05:48,892.892 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:05:48,894.894 INFO    ] No camera update needed
[2026-08-29 17:05:48,895.895 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:05:48,896.896 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:05:48,899.899 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:05:48,902.902 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:05:50,940.940 INFO    ] ================================================
[2026-08-29 17:05:50,955.955 INFO    ] Launching Daemon at Sat Aug 29 17:05:50 IST 2026
[2026-08-29 17:05:50,966.966 INFO    ] ================================================
[2026-08-29 17:05:51,321.321 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:05:51
[2026-08-29 17:05:51,631.631 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:05:51,761.761 INFO    ] Initializing speech engine...
[2026-08-29 17:05:51,766.766 INFO    ] 2026-08-29 17:05:51
[2026-08-29 17:05:51,984.984 INFO    ] 2026-08-29 17:05:51
[2026-08-29 17:05:52,014.014 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:05:52,147.147 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:05:52,157.157 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:05:52,316.316 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:05:52,355.355 INFO    ] time= 29/08/2026 17:05:52
[2026-08-29 17:05:52,380.380 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:05:52,387.387 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:05:52,444.444 INFO    ] No existing commands found in stream
[2026-08-29 17:05:57,455.455 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:05:57,458.458 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-08-29 17:06:00,699.699 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:06:00,700.700 INFO    ] Checking for system updates...
[2026-08-29 17:06:00,723.723 INFO    ] 200
[2026-08-29 17:06:00,725.725 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:06:00,785.785 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:06:00,788.788 INFO    ] No update needed
[2026-08-29 17:06:00,790.790 INFO    ] Checking for camera pi updates...
[2026-08-29 17:06:00,830.830 INFO    ] 200
[2026-08-29 17:06:00,833.833 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:06:00,875.875 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:06:00,971.971 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:06:00,975.975 INFO    ] No camera update needed
[2026-08-29 17:06:00,977.977 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:06:00,980.980 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:06:00,986.986 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:06:00,992.992 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:06:03,044.044 INFO    ] ================================================
[2026-08-29 17:06:03,060.060 INFO    ] Launching Daemon at Sat Aug 29 17:06:03 IST 2026
[2026-08-29 17:06:03,071.071 INFO    ] ================================================
[2026-08-29 17:06:03,655.655 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:06:03
[2026-08-29 17:06:04,065.065 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:06:04,328.328 INFO    ] Initializing speech engine...
[2026-08-29 17:06:04,347.347 INFO    ] 2026-08-29 17:06:04
[2026-08-29 17:06:04,599.599 INFO    ] 2026-08-29 17:06:04
[2026-08-29 17:06:04,635.635 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:06:04,810.810 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:06:04,823.823 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:06:04,967.967 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:06:04,974.974 INFO    ] time= 29/08/2026 17:06:04
[2026-08-29 17:06:04,978.978 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:06:04,985.985 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:06:05,054.054 INFO    ] No existing commands found in stream
[2026-08-29 17:06:10,069.069 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:06:10,071.071 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-08-29 17:06:13,222.222 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:06:13,223.223 INFO    ] Checking for system updates...
[2026-08-29 17:06:13,247.247 INFO    ] 200
[2026-08-29 17:06:13,248.248 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:06:13,287.287 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:06:13,289.289 INFO    ] No update needed
[2026-08-29 17:06:13,290.290 INFO    ] Checking for camera pi updates...
[2026-08-29 17:06:13,310.310 INFO    ] 200
[2026-08-29 17:06:13,312.312 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:06:13,337.337 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:06:13,417.417 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:06:13,419.419 INFO    ] No camera update needed
[2026-08-29 17:06:13,421.421 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:06:13,424.424 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:06:13,429.429 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:06:13,434.434 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:06:15,476.476 INFO    ] ================================================
[2026-08-29 17:06:15,491.491 INFO    ] Launching Daemon at Sat Aug 29 17:06:15 IST 2026
[2026-08-29 17:06:15,502.502 INFO    ] ================================================
[2026-08-29 17:06:16,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:06:16
[2026-08-29 17:06:16,604.604 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:06:16,757.757 INFO    ] Initializing speech engine...
[2026-08-29 17:06:16,763.763 INFO    ] 2026-08-29 17:06:16
[2026-08-29 17:06:16,972.972 INFO    ] 2026-08-29 17:06:16
[2026-08-29 17:06:17,002.002 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:06:17,136.136 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:06:17,190.190 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:06:17,352.352 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:06:17,389.389 INFO    ] time= 29/08/2026 17:06:17
[2026-08-29 17:06:17,455.455 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:06:17,500.500 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:06:17,592.592 INFO    ] No existing commands found in stream
[2026-08-29 17:06:22,612.612 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:06:22,615.615 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-08-29 17:06:23,544.544 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:06:23,547.547 INFO    ] Checking for system updates...
[2026-08-29 17:06:23,584.584 INFO    ] 200
[2026-08-29 17:06:23,587.587 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:06:23,648.648 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:06:23,651.651 INFO    ] No update needed
[2026-08-29 17:06:23,655.655 INFO    ] Checking for camera pi updates...
[2026-08-29 17:06:23,696.696 INFO    ] 200
[2026-08-29 17:06:23,699.699 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:06:23,741.741 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:06:23,952.952 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:06:23,955.955 INFO    ] No camera update needed
[2026-08-29 17:06:23,957.957 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:06:23,959.959 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:06:23,965.965 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:06:23,969.969 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:06:26,009.009 INFO    ] ================================================
[2026-08-29 17:06:26,025.025 INFO    ] Launching Daemon at Sat Aug 29 17:06:26 IST 2026
[2026-08-29 17:06:26,036.036 INFO    ] ================================================
[2026-08-29 17:06:26,564.564 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:06:26
[2026-08-29 17:06:27,166.166 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:06:27,452.452 INFO    ] Initializing speech engine...
[2026-08-29 17:06:27,463.463 INFO    ] 2026-08-29 17:06:27
[2026-08-29 17:06:27,728.728 INFO    ] 2026-08-29 17:06:27
[2026-08-29 17:06:27,772.772 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:06:27,992.992 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:06:28,001.001 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:06:28,135.135 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:06:28,162.162 INFO    ] time= 29/08/2026 17:06:28
[2026-08-29 17:06:28,222.222 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:06:28,270.270 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:06:28,322.322 INFO    ] No existing commands found in stream
[2026-08-29 17:06:33,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:06:33,339.339 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-08-29 17:06:34,422.422 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:06:34,424.424 INFO    ] Checking for system updates...
[2026-08-29 17:06:34,445.445 INFO    ] 200
[2026-08-29 17:06:34,446.446 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:06:34,476.476 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:06:34,478.478 INFO    ] No update needed
[2026-08-29 17:06:34,479.479 INFO    ] Checking for camera pi updates...
[2026-08-29 17:06:34,499.499 INFO    ] 200
[2026-08-29 17:06:34,500.500 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:06:34,526.526 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:06:34,604.604 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:06:34,606.606 INFO    ] No camera update needed
[2026-08-29 17:06:34,607.607 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:06:34,608.608 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:06:34,612.612 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:06:34,615.615 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:06:36,655.655 INFO    ] ================================================
[2026-08-29 17:06:36,671.671 INFO    ] Launching Daemon at Sat Aug 29 17:06:36 IST 2026
[2026-08-29 17:06:36,681.681 INFO    ] ================================================
[2026-08-29 17:06:37,046.046 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:06:37
[2026-08-29 17:06:37,366.366 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:06:37,510.510 INFO    ] Initializing speech engine...
[2026-08-29 17:06:37,515.515 INFO    ] 2026-08-29 17:06:37
[2026-08-29 17:06:37,720.720 INFO    ] 2026-08-29 17:06:37
[2026-08-29 17:06:37,750.750 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:06:37,882.882 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:06:37,926.926 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:06:38,063.063 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:06:38,098.098 INFO    ] time= 29/08/2026 17:06:38
[2026-08-29 17:06:38,149.149 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:06:38,204.204 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:06:38,281.281 INFO    ] No existing commands found in stream
[2026-08-29 17:06:43,297.297 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:06:43,300.300 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-08-29 17:06:46,308.308 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:06:46,309.309 INFO    ] Checking for system updates...
[2026-08-29 17:06:46,331.331 INFO    ] 200
[2026-08-29 17:06:46,332.332 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:06:46,364.364 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:06:46,365.365 INFO    ] No update needed
[2026-08-29 17:06:46,366.366 INFO    ] Checking for camera pi updates...
[2026-08-29 17:06:46,388.388 INFO    ] 200
[2026-08-29 17:06:46,390.390 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:06:46,417.417 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:06:46,495.495 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:06:46,497.497 INFO    ] No camera update needed
[2026-08-29 17:06:46,498.498 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:06:46,499.499 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:06:46,502.502 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:06:46,505.505 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:06:48,544.544 INFO    ] ================================================
[2026-08-29 17:06:48,559.559 INFO    ] Launching Daemon at Sat Aug 29 17:06:48 IST 2026
[2026-08-29 17:06:48,570.570 INFO    ] ================================================
[2026-08-29 17:06:48,909.909 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:06:48
[2026-08-29 17:06:49,391.391 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:06:49,679.679 INFO    ] Initializing speech engine...
[2026-08-29 17:06:49,693.693 INFO    ] 2026-08-29 17:06:49
[2026-08-29 17:06:49,964.964 INFO    ] 2026-08-29 17:06:49
[2026-08-29 17:06:50,002.002 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:06:50,152.152 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:06:50,160.160 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:06:50,311.311 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:06:50,320.320 INFO    ] time= 29/08/2026 17:06:50
[2026-08-29 17:06:50,324.324 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:06:50,329.329 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:06:50,396.396 INFO    ] No existing commands found in stream
[2026-08-29 17:06:55,410.410 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:06:55,413.413 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-08-29 17:06:57,593.593 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:06:57,594.594 INFO    ] Checking for system updates...
[2026-08-29 17:06:57,614.614 INFO    ] 200
[2026-08-29 17:06:57,615.615 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:06:57,645.645 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:06:57,646.646 INFO    ] No update needed
[2026-08-29 17:06:57,647.647 INFO    ] Checking for camera pi updates...
[2026-08-29 17:06:57,667.667 INFO    ] 200
[2026-08-29 17:06:57,668.668 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:06:57,691.691 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:06:57,841.841 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:06:57,842.842 INFO    ] No camera update needed
[2026-08-29 17:06:57,843.843 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:06:57,845.845 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:06:57,847.847 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:06:57,850.850 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:06:59,889.889 INFO    ] ================================================
[2026-08-29 17:06:59,904.904 INFO    ] Launching Daemon at Sat Aug 29 17:06:59 IST 2026
[2026-08-29 17:06:59,915.915 INFO    ] ================================================
[2026-08-29 17:07:00,437.437 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:07:00
[2026-08-29 17:07:01,045.045 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:07:01,308.308 INFO    ] Initializing speech engine...
[2026-08-29 17:07:01,317.317 INFO    ] 2026-08-29 17:07:01
[2026-08-29 17:07:01,669.669 INFO    ] 2026-08-29 17:07:01
[2026-08-29 17:07:01,708.708 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:07:01,878.878 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:07:01,889.889 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:07:02,029.029 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:07:02,044.044 INFO    ] time= 29/08/2026 17:07:02
[2026-08-29 17:07:02,062.062 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:07:02,070.070 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:07:02,149.149 INFO    ] No existing commands found in stream
[2026-08-29 17:07:07,180.180 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:07:07,183.183 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-08-29 17:07:08,919.919 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:07:08,921.921 INFO    ] Checking for system updates...
[2026-08-29 17:07:08,941.941 INFO    ] 200
[2026-08-29 17:07:08,943.943 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:07:08,973.973 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:07:08,974.974 INFO    ] No update needed
[2026-08-29 17:07:08,976.976 INFO    ] Checking for camera pi updates...
[2026-08-29 17:07:08,997.997 INFO    ] 200
[2026-08-29 17:07:08,999.999 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:07:09,022.022 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:07:09,121.121 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:07:09,123.123 INFO    ] No camera update needed
[2026-08-29 17:07:09,126.126 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:07:09,128.128 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:07:09,133.133 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:07:09,138.138 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:07:11,178.178 INFO    ] ================================================
[2026-08-29 17:07:11,193.193 INFO    ] Launching Daemon at Sat Aug 29 17:07:11 IST 2026
[2026-08-29 17:07:11,204.204 INFO    ] ================================================
[2026-08-29 17:07:11,795.795 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:07:11
[2026-08-29 17:07:12,183.183 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:07:12,319.319 INFO    ] Initializing speech engine...
[2026-08-29 17:07:12,324.324 INFO    ] 2026-08-29 17:07:12
[2026-08-29 17:07:12,611.611 INFO    ] 2026-08-29 17:07:12
[2026-08-29 17:07:12,648.648 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:07:12,799.799 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:07:12,804.804 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:07:12,930.930 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:07:12,969.969 INFO    ] time= 29/08/2026 17:07:12
[2026-08-29 17:07:12,979.979 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:07:12,985.985 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:07:13,054.054 INFO    ] No existing commands found in stream
[2026-08-29 17:07:18,067.067 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:07:18,070.070 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 17:07:20,713.713 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:07:20,714.714 INFO    ] Checking for system updates...
[2026-08-29 17:07:20,736.736 INFO    ] 200
[2026-08-29 17:07:20,737.737 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:07:20,767.767 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:07:20,769.769 INFO    ] No update needed
[2026-08-29 17:07:20,770.770 INFO    ] Checking for camera pi updates...
[2026-08-29 17:07:20,790.790 INFO    ] 200
[2026-08-29 17:07:20,791.791 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:07:20,814.814 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:07:20,898.898 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:07:20,899.899 INFO    ] No camera update needed
[2026-08-29 17:07:20,901.901 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:07:20,902.902 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:07:20,905.905 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:07:20,908.908 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:07:22,946.946 INFO    ] ================================================
[2026-08-29 17:07:22,961.961 INFO    ] Launching Daemon at Sat Aug 29 17:07:22 IST 2026
[2026-08-29 17:07:22,971.971 INFO    ] ================================================
[2026-08-29 17:07:23,314.314 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:07:23
[2026-08-29 17:07:23,636.636 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:07:23,811.811 INFO    ] Initializing speech engine...
[2026-08-29 17:07:23,826.826 INFO    ] 2026-08-29 17:07:23
[2026-08-29 17:07:24,111.111 INFO    ] 2026-08-29 17:07:24
[2026-08-29 17:07:24,151.151 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:07:24,353.353 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:07:24,369.369 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:07:24,494.494 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:07:24,501.501 INFO    ] time= 29/08/2026 17:07:24
[2026-08-29 17:07:24,507.507 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:07:24,528.528 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:07:24,624.624 INFO    ] No existing commands found in stream
[2026-08-29 17:07:29,643.643 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:07:29,646.646 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-08-29 17:07:32,445.445 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:07:32,449.449 INFO    ] Checking for system updates...
[2026-08-29 17:07:32,493.493 INFO    ] 200
[2026-08-29 17:07:32,496.496 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:07:32,550.550 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:07:32,553.553 INFO    ] No update needed
[2026-08-29 17:07:32,556.556 INFO    ] Checking for camera pi updates...
[2026-08-29 17:07:32,591.591 INFO    ] 200
[2026-08-29 17:07:32,594.594 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:07:32,637.637 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:07:32,729.729 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:07:32,732.732 INFO    ] No camera update needed
[2026-08-29 17:07:32,735.735 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:07:32,737.737 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:07:32,743.743 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:07:32,749.749 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:07:34,789.789 INFO    ] ================================================
[2026-08-29 17:07:34,805.805 INFO    ] Launching Daemon at Sat Aug 29 17:07:34 IST 2026
[2026-08-29 17:07:34,816.816 INFO    ] ================================================
[2026-08-29 17:07:35,309.309 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:07:35
[2026-08-29 17:07:35,935.935 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:07:36,229.229 INFO    ] Initializing speech engine...
[2026-08-29 17:07:36,239.239 INFO    ] 2026-08-29 17:07:36
[2026-08-29 17:07:36,508.508 INFO    ] 2026-08-29 17:07:36
[2026-08-29 17:07:36,544.544 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:07:37,745.745 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:07:37,748.748 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:07:38,867.867 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:07:38,896.896 INFO    ] time= 29/08/2026 17:07:38
[2026-08-29 17:07:38,913.913 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:07:38,926.926 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:07:39,269.269 INFO    ] No existing commands found in stream
[2026-08-29 17:07:44,295.295 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:07:44,298.298 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-08-29 17:07:46,770.770 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:07:46,772.772 INFO    ] Checking for system updates...
[2026-08-29 17:07:46,792.792 INFO    ] 200
[2026-08-29 17:07:46,794.794 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:07:46,825.825 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:07:46,826.826 INFO    ] No update needed
[2026-08-29 17:07:46,827.827 INFO    ] Checking for camera pi updates...
[2026-08-29 17:07:46,850.850 INFO    ] 200
[2026-08-29 17:07:46,852.852 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:07:46,875.875 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:07:46,976.976 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:07:46,978.978 INFO    ] No camera update needed
[2026-08-29 17:07:46,981.981 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:07:46,983.983 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:07:46,989.989 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:07:46,994.994 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:07:49,036.036 INFO    ] ================================================
[2026-08-29 17:07:49,051.051 INFO    ] Launching Daemon at Sat Aug 29 17:07:49 IST 2026
[2026-08-29 17:07:49,062.062 INFO    ] ================================================
[2026-08-29 17:07:49,429.429 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:07:49
[2026-08-29 17:07:49,747.747 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:07:49,892.892 INFO    ] Initializing speech engine...
[2026-08-29 17:07:49,897.897 INFO    ] 2026-08-29 17:07:49
[2026-08-29 17:07:50,134.134 INFO    ] 2026-08-29 17:07:50
[2026-08-29 17:07:50,193.193 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:07:50,357.357 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:07:50,365.365 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:07:50,524.524 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:07:50,563.563 INFO    ] time= 29/08/2026 17:07:50
[2026-08-29 17:07:50,569.569 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:07:50,590.590 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:07:50,692.692 INFO    ] No existing commands found in stream
[2026-08-29 17:07:55,718.718 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:07:55,721.721 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 17:07:57,300.300 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:07:57,302.302 INFO    ] Checking for system updates...
[2026-08-29 17:07:57,322.322 INFO    ] 200
[2026-08-29 17:07:57,324.324 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:07:57,355.355 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:07:57,357.357 INFO    ] No update needed
[2026-08-29 17:07:57,358.358 INFO    ] Checking for camera pi updates...
[2026-08-29 17:07:57,377.377 INFO    ] 200
[2026-08-29 17:07:57,379.379 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:07:57,402.402 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:07:57,477.477 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:07:57,478.478 INFO    ] No camera update needed
[2026-08-29 17:07:57,480.480 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:07:57,481.481 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:07:57,484.484 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:07:57,486.486 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:07:59,526.526 INFO    ] ================================================
[2026-08-29 17:07:59,542.542 INFO    ] Launching Daemon at Sat Aug 29 17:07:59 IST 2026
[2026-08-29 17:07:59,553.553 INFO    ] ================================================
[2026-08-29 17:07:59,873.873 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:07:59
[2026-08-29 17:08:00,186.186 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:08:00,320.320 INFO    ] Initializing speech engine...
[2026-08-29 17:08:00,324.324 INFO    ] 2026-08-29 17:08:00
[2026-08-29 17:08:00,528.528 INFO    ] 2026-08-29 17:08:00
[2026-08-29 17:08:00,562.562 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:08:00,683.683 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:08:00,686.686 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:08:00,798.798 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:08:00,807.807 INFO    ] time= 29/08/2026 17:08:00
[2026-08-29 17:08:00,812.812 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:08:00,828.828 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:08:00,902.902 INFO    ] No existing commands found in stream
[2026-08-29 17:08:05,936.936 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:08:05,939.939 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-08-29 17:08:08,369.369 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:08:08,371.371 INFO    ] Checking for system updates...
[2026-08-29 17:08:08,391.391 INFO    ] 200
[2026-08-29 17:08:08,393.393 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:08:08,425.425 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:08:08,427.427 INFO    ] No update needed
[2026-08-29 17:08:08,428.428 INFO    ] Checking for camera pi updates...
[2026-08-29 17:08:08,447.447 INFO    ] 200
[2026-08-29 17:08:08,448.448 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:08:08,471.471 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:08:08,558.558 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:08:08,560.560 INFO    ] No camera update needed
[2026-08-29 17:08:08,561.561 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:08:08,562.562 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:08:08,566.566 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:08:08,568.568 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:08:10,606.606 INFO    ] ================================================
[2026-08-29 17:08:10,622.622 INFO    ] Launching Daemon at Sat Aug 29 17:08:10 IST 2026
[2026-08-29 17:08:10,633.633 INFO    ] ================================================
[2026-08-29 17:08:10,975.975 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:08:10
[2026-08-29 17:08:11,286.286 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:08:11,428.428 INFO    ] Initializing speech engine...
[2026-08-29 17:08:11,433.433 INFO    ] 2026-08-29 17:08:11
[2026-08-29 17:08:11,637.637 INFO    ] 2026-08-29 17:08:11
[2026-08-29 17:08:11,666.666 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:08:11,788.788 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:08:11,850.850 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:08:12,011.011 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:08:12,022.022 INFO    ] time= 29/08/2026 17:08:12
[2026-08-29 17:08:12,061.061 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:08:12,115.115 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:08:12,217.217 INFO    ] No existing commands found in stream
[2026-08-29 17:08:17,227.227 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:08:17,230.230 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 17:08:20,583.583 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:08:20,585.585 INFO    ] Checking for system updates...
[2026-08-29 17:08:20,606.606 INFO    ] 200
[2026-08-29 17:08:20,607.607 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:08:20,639.639 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:08:20,641.641 INFO    ] No update needed
[2026-08-29 17:08:20,642.642 INFO    ] Checking for camera pi updates...
[2026-08-29 17:08:20,661.661 INFO    ] 200
[2026-08-29 17:08:20,663.663 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:08:20,687.687 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:08:20,762.762 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:08:20,763.763 INFO    ] No camera update needed
[2026-08-29 17:08:20,765.765 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:08:20,766.766 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:08:20,769.769 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:08:20,771.771 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:08:22,810.810 INFO    ] ================================================
[2026-08-29 17:08:22,825.825 INFO    ] Launching Daemon at Sat Aug 29 17:08:22 IST 2026
[2026-08-29 17:08:22,835.835 INFO    ] ================================================
[2026-08-29 17:08:23,416.416 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:08:23
[2026-08-29 17:08:24,018.018 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:08:24,293.293 INFO    ] Initializing speech engine...
[2026-08-29 17:08:24,302.302 INFO    ] 2026-08-29 17:08:24
[2026-08-29 17:08:24,551.551 INFO    ] 2026-08-29 17:08:24
[2026-08-29 17:08:24,587.587 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:08:24,769.769 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:08:24,789.789 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:08:24,913.913 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:08:24,922.922 INFO    ] time= 29/08/2026 17:08:24
[2026-08-29 17:08:24,930.930 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:08:24,992.992 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:08:25,099.099 INFO    ] No existing commands found in stream
[2026-08-29 17:08:30,129.129 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:08:30,132.132 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-08-29 17:08:30,830.830 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:08:30,832.832 INFO    ] Checking for system updates...
[2026-08-29 17:08:30,852.852 INFO    ] 200
[2026-08-29 17:08:30,854.854 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:08:30,884.884 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:08:30,885.885 INFO    ] No update needed
[2026-08-29 17:08:30,887.887 INFO    ] Checking for camera pi updates...
[2026-08-29 17:08:30,908.908 INFO    ] 200
[2026-08-29 17:08:30,909.909 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:08:30,933.933 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:08:31,122.122 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:08:31,124.124 INFO    ] No camera update needed
[2026-08-29 17:08:31,125.125 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:08:31,126.126 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:08:31,129.129 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:08:31,132.132 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:08:33,174.174 INFO    ] ================================================
[2026-08-29 17:08:33,191.191 INFO    ] Launching Daemon at Sat Aug 29 17:08:33 IST 2026
[2026-08-29 17:08:33,207.207 INFO    ] ================================================
[2026-08-29 17:08:33,773.773 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:08:33
[2026-08-29 17:08:34,361.361 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:08:34,632.632 INFO    ] Initializing speech engine...
[2026-08-29 17:08:34,640.640 INFO    ] 2026-08-29 17:08:34
[2026-08-29 17:08:34,890.890 INFO    ] 2026-08-29 17:08:34
[2026-08-29 17:08:34,925.925 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:08:35,116.116 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:08:35,121.121 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:08:35,269.269 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:08:35,275.275 INFO    ] time= 29/08/2026 17:08:35
[2026-08-29 17:08:35,294.294 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:08:35,323.323 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:08:35,430.430 INFO    ] No existing commands found in stream
[2026-08-29 17:08:40,448.448 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:08:40,451.451 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 17:08:41,092.092 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:08:41,094.094 INFO    ] Checking for system updates...
[2026-08-29 17:08:41,114.114 INFO    ] 200
[2026-08-29 17:08:41,115.115 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:08:41,145.145 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:08:41,147.147 INFO    ] No update needed
[2026-08-29 17:08:41,148.148 INFO    ] Checking for camera pi updates...
[2026-08-29 17:08:41,168.168 INFO    ] 200
[2026-08-29 17:08:41,170.170 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:08:41,193.193 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:08:41,281.281 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:08:41,283.283 INFO    ] No camera update needed
[2026-08-29 17:08:41,284.284 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:08:41,285.285 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:08:41,288.288 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:08:41,291.291 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:08:43,332.332 INFO    ] ================================================
[2026-08-29 17:08:43,348.348 INFO    ] Launching Daemon at Sat Aug 29 17:08:43 IST 2026
[2026-08-29 17:08:43,359.359 INFO    ] ================================================
[2026-08-29 17:08:43,701.701 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:08:43
[2026-08-29 17:08:44,014.014 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:08:44,279.279 INFO    ] Initializing speech engine...
[2026-08-29 17:08:44,287.287 INFO    ] 2026-08-29 17:08:44
[2026-08-29 17:08:44,540.540 INFO    ] 2026-08-29 17:08:44
[2026-08-29 17:08:44,576.576 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:08:44,752.752 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:08:44,775.775 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:08:44,908.908 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:08:44,917.917 INFO    ] time= 29/08/2026 17:08:44
[2026-08-29 17:08:44,923.923 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:08:44,954.954 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:08:45,085.085 INFO    ] No existing commands found in stream
[2026-08-29 17:08:50,116.116 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:08:50,119.119 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-08-29 17:08:52,561.561 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:08:52,563.563 INFO    ] Checking for system updates...
[2026-08-29 17:08:52,601.601 INFO    ] 200
[2026-08-29 17:08:52,604.604 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:08:52,667.667 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:08:52,669.669 INFO    ] No update needed
[2026-08-29 17:08:52,672.672 INFO    ] Checking for camera pi updates...
[2026-08-29 17:08:52,705.705 INFO    ] 200
[2026-08-29 17:08:52,708.708 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:08:52,754.754 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:08:52,860.860 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:08:52,863.863 INFO    ] No camera update needed
[2026-08-29 17:08:52,865.865 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:08:52,867.867 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:08:52,873.873 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:08:52,877.877 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:08:54,920.920 INFO    ] ================================================
[2026-08-29 17:08:54,935.935 INFO    ] Launching Daemon at Sat Aug 29 17:08:54 IST 2026
[2026-08-29 17:08:54,947.947 INFO    ] ================================================
[2026-08-29 17:08:55,515.515 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:08:55
[2026-08-29 17:08:55,922.922 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:08:56,189.189 INFO    ] Initializing speech engine...
[2026-08-29 17:08:56,201.201 INFO    ] 2026-08-29 17:08:56
[2026-08-29 17:08:56,454.454 INFO    ] 2026-08-29 17:08:56
[2026-08-29 17:08:56,489.489 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:08:56,666.666 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:08:56,679.679 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:08:56,790.790 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:08:56,795.795 INFO    ] time= 29/08/2026 17:08:56
[2026-08-29 17:08:56,814.814 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:08:56,836.836 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:08:56,908.908 INFO    ] No existing commands found in stream
[2026-08-29 17:09:01,920.920 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:09:01,924.924 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-08-29 17:09:04,837.837 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:09:04,840.840 INFO    ] Checking for system updates...
[2026-08-29 17:09:04,879.879 INFO    ] 200
[2026-08-29 17:09:04,882.882 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:09:04,935.935 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:09:04,938.938 INFO    ] No update needed
[2026-08-29 17:09:04,940.940 INFO    ] Checking for camera pi updates...
[2026-08-29 17:09:04,978.978 INFO    ] 200
[2026-08-29 17:09:04,980.980 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:09:05,020.020 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:09:05,107.107 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:09:05,109.109 INFO    ] No camera update needed
[2026-08-29 17:09:05,112.112 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:09:05,114.114 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:09:05,119.119 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:09:05,124.124 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:09:07,165.165 INFO    ] ================================================
[2026-08-29 17:09:07,181.181 INFO    ] Launching Daemon at Sat Aug 29 17:09:07 IST 2026
[2026-08-29 17:09:07,192.192 INFO    ] ================================================
[2026-08-29 17:09:07,772.772 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:09:07
[2026-08-29 17:09:08,208.208 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:09:08,345.345 INFO    ] Initializing speech engine...
[2026-08-29 17:09:08,358.358 INFO    ] 2026-08-29 17:09:08
[2026-08-29 17:09:08,580.580 INFO    ] 2026-08-29 17:09:08
[2026-08-29 17:09:08,611.611 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:09:08,746.746 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:09:08,784.784 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:09:08,921.921 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:09:08,962.962 INFO    ] time= 29/08/2026 17:09:08
[2026-08-29 17:09:09,013.013 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:09:09,054.054 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:09:09,148.148 INFO    ] No existing commands found in stream
[2026-08-29 17:09:14,159.159 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:09:14,162.162 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-08-29 17:09:17,870.870 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:09:17,871.871 INFO    ] Checking for system updates...
[2026-08-29 17:09:17,893.893 INFO    ] 200
[2026-08-29 17:09:17,895.895 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:09:17,927.927 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:09:17,928.928 INFO    ] No update needed
[2026-08-29 17:09:17,930.930 INFO    ] Checking for camera pi updates...
[2026-08-29 17:09:17,948.948 INFO    ] 200
[2026-08-29 17:09:17,950.950 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:09:17,975.975 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:09:18,023.023 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:09:18,025.025 INFO    ] No camera update needed
[2026-08-29 17:09:18,027.027 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:09:18,030.030 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:09:18,035.035 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:09:18,040.040 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:09:20,080.080 INFO    ] ================================================
[2026-08-29 17:09:20,095.095 INFO    ] Launching Daemon at Sat Aug 29 17:09:20 IST 2026
[2026-08-29 17:09:20,108.108 INFO    ] ================================================
[2026-08-29 17:09:20,675.675 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:09:20
[2026-08-29 17:09:21,204.204 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:09:21,338.338 INFO    ] Initializing speech engine...
[2026-08-29 17:09:21,342.342 INFO    ] 2026-08-29 17:09:21
[2026-08-29 17:09:21,573.573 INFO    ] 2026-08-29 17:09:21
[2026-08-29 17:09:21,604.604 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:09:21,739.739 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:09:21,783.783 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:09:21,915.915 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:09:21,955.955 INFO    ] time= 29/08/2026 17:09:21
[2026-08-29 17:09:21,996.996 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:09:22,040.040 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:09:22,139.139 INFO    ] No existing commands found in stream
[2026-08-29 17:09:27,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:09:27,152.152 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-08-29 17:09:27,515.515 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:09:27,516.516 INFO    ] Checking for system updates...
[2026-08-29 17:09:27,536.536 INFO    ] 200
[2026-08-29 17:09:27,538.538 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:09:27,568.568 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:09:27,569.569 INFO    ] No update needed
[2026-08-29 17:09:27,570.570 INFO    ] Checking for camera pi updates...
[2026-08-29 17:09:27,590.590 INFO    ] 200
[2026-08-29 17:09:27,591.591 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:09:27,614.614 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:09:27,694.694 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:09:27,695.695 INFO    ] No camera update needed
[2026-08-29 17:09:27,696.696 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:09:27,697.697 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:09:27,700.700 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:09:27,703.703 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:09:29,741.741 INFO    ] ================================================
[2026-08-29 17:09:29,757.757 INFO    ] Launching Daemon at Sat Aug 29 17:09:29 IST 2026
[2026-08-29 17:09:29,768.768 INFO    ] ================================================
[2026-08-29 17:09:30,102.102 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:09:30
[2026-08-29 17:09:30,418.418 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:09:30,562.562 INFO    ] Initializing speech engine...
[2026-08-29 17:09:30,567.567 INFO    ] 2026-08-29 17:09:30
[2026-08-29 17:09:30,767.767 INFO    ] 2026-08-29 17:09:30
[2026-08-29 17:09:30,831.831 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:09:30,976.976 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:09:30,985.985 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:09:31,117.117 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:09:31,144.144 INFO    ] time= 29/08/2026 17:09:31
[2026-08-29 17:09:31,199.199 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:09:31,248.248 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:09:31,303.303 INFO    ] No existing commands found in stream
[2026-08-29 17:09:36,314.314 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:09:36,317.317 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-08-29 17:09:37,328.328 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:09:37,330.330 INFO    ] Checking for system updates...
[2026-08-29 17:09:37,351.351 INFO    ] 200
[2026-08-29 17:09:37,353.353 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:09:37,397.397 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:09:37,400.400 INFO    ] No update needed
[2026-08-29 17:09:37,402.402 INFO    ] Checking for camera pi updates...
[2026-08-29 17:09:37,435.435 INFO    ] 200
[2026-08-29 17:09:37,438.438 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:09:37,479.479 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:09:37,559.559 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:09:37,562.562 INFO    ] No camera update needed
[2026-08-29 17:09:37,565.565 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:09:37,567.567 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:09:37,574.574 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:09:37,580.580 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:09:39,620.620 INFO    ] ================================================
[2026-08-29 17:09:39,636.636 INFO    ] Launching Daemon at Sat Aug 29 17:09:39 IST 2026
[2026-08-29 17:09:39,647.647 INFO    ] ================================================
[2026-08-29 17:09:40,234.234 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:09:40
[2026-08-29 17:09:40,726.726 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:09:40,997.997 INFO    ] Initializing speech engine...
[2026-08-29 17:09:41,005.005 INFO    ] 2026-08-29 17:09:40
[2026-08-29 17:09:41,254.254 INFO    ] 2026-08-29 17:09:41
[2026-08-29 17:09:41,289.289 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:09:41,460.460 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:09:41,473.473 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:09:41,615.615 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:09:41,622.622 INFO    ] time= 29/08/2026 17:09:41
[2026-08-29 17:09:41,629.629 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:09:41,650.650 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:09:41,773.773 INFO    ] No existing commands found in stream
[2026-08-29 17:09:46,808.808 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:09:46,811.811 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-08-29 17:09:48,149.149 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:09:48,150.150 INFO    ] Checking for system updates...
[2026-08-29 17:09:48,174.174 INFO    ] 200
[2026-08-29 17:09:48,175.175 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:09:48,206.206 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:09:48,207.207 INFO    ] No update needed
[2026-08-29 17:09:48,208.208 INFO    ] Checking for camera pi updates...
[2026-08-29 17:09:48,227.227 INFO    ] 200
[2026-08-29 17:09:48,229.229 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:09:48,251.251 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:09:48,344.344 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:09:48,345.345 INFO    ] No camera update needed
[2026-08-29 17:09:48,346.346 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:09:48,348.348 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:09:48,350.350 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:09:48,353.353 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:09:50,400.400 INFO    ] ================================================
[2026-08-29 17:09:50,416.416 INFO    ] Launching Daemon at Sat Aug 29 17:09:50 IST 2026
[2026-08-29 17:09:50,426.426 INFO    ] ================================================
[2026-08-29 17:09:50,785.785 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:09:50
[2026-08-29 17:09:51,128.128 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:09:51,281.281 INFO    ] Initializing speech engine...
[2026-08-29 17:09:51,287.287 INFO    ] 2026-08-29 17:09:51
[2026-08-29 17:09:51,512.512 INFO    ] 2026-08-29 17:09:51
[2026-08-29 17:09:51,601.601 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:09:51,755.755 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:09:51,762.762 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:09:51,897.897 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:09:51,963.963 INFO    ] time= 29/08/2026 17:09:51
[2026-08-29 17:09:52,025.025 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:09:52,044.044 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:09:52,146.146 INFO    ] No existing commands found in stream
[2026-08-29 17:09:57,169.169 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:09:57,173.173 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-08-29 17:10:00,502.502 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:10:00,503.503 INFO    ] Checking for system updates...
[2026-08-29 17:10:00,524.524 INFO    ] 200
[2026-08-29 17:10:00,525.525 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:10:00,557.557 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:10:00,559.559 INFO    ] No update needed
[2026-08-29 17:10:00,560.560 INFO    ] Checking for camera pi updates...
[2026-08-29 17:10:00,579.579 INFO    ] 200
[2026-08-29 17:10:00,580.580 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:10:00,603.603 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:10:00,706.706 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:10:00,707.707 INFO    ] No camera update needed
[2026-08-29 17:10:00,708.708 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:10:00,709.709 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:10:00,713.713 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:10:00,715.715 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:10:02,773.773 INFO    ] ================================================
[2026-08-29 17:10:02,794.794 INFO    ] Launching Daemon at Sat Aug 29 17:10:02 IST 2026
[2026-08-29 17:10:02,811.811 INFO    ] ================================================
[2026-08-29 17:10:03,502.502 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:10:03
[2026-08-29 17:10:04,088.088 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:10:04,353.353 INFO    ] Initializing speech engine...
[2026-08-29 17:10:04,367.367 INFO    ] 2026-08-29 17:10:04
[2026-08-29 17:10:04,626.626 INFO    ] 2026-08-29 17:10:04
[2026-08-29 17:10:04,663.663 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:10:04,836.836 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:10:04,844.844 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:10:04,945.945 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:10:04,950.950 INFO    ] time= 29/08/2026 17:10:04
[2026-08-29 17:10:04,957.957 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:10:04,995.995 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:10:05,106.106 INFO    ] No existing commands found in stream
[2026-08-29 17:10:10,131.131 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:10:10,134.134 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-08-29 17:10:13,377.377 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:10:13,378.378 INFO    ] Checking for system updates...
[2026-08-29 17:10:13,399.399 INFO    ] 200
[2026-08-29 17:10:13,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:10:13,430.430 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:10:13,432.432 INFO    ] No update needed
[2026-08-29 17:10:13,434.434 INFO    ] Checking for camera pi updates...
[2026-08-29 17:10:13,454.454 INFO    ] 200
[2026-08-29 17:10:13,456.456 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:10:13,479.479 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:10:13,555.555 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:10:13,556.556 INFO    ] No camera update needed
[2026-08-29 17:10:13,558.558 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:10:13,559.559 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:10:13,562.562 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:10:13,565.565 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:10:15,603.603 INFO    ] ================================================
[2026-08-29 17:10:15,618.618 INFO    ] Launching Daemon at Sat Aug 29 17:10:15 IST 2026
[2026-08-29 17:10:15,629.629 INFO    ] ================================================
[2026-08-29 17:10:15,983.983 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:10:15
[2026-08-29 17:10:16,297.297 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:10:16,429.429 INFO    ] Initializing speech engine...
[2026-08-29 17:10:16,443.443 INFO    ] 2026-08-29 17:10:16
[2026-08-29 17:10:16,682.682 INFO    ] 2026-08-29 17:10:16
[2026-08-29 17:10:16,737.737 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:10:16,884.884 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:10:16,904.904 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:10:17,054.054 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:10:17,109.109 INFO    ] time= 29/08/2026 17:10:17
[2026-08-29 17:10:17,115.115 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:10:17,132.132 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:10:17,239.239 INFO    ] No existing commands found in stream
[2026-08-29 17:10:22,269.269 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:10:22,272.272 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-08-29 17:10:24,305.305 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:10:24,307.307 INFO    ] Checking for system updates...
[2026-08-29 17:10:24,343.343 INFO    ] 200
[2026-08-29 17:10:24,351.351 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:10:24,417.417 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:10:24,419.419 INFO    ] No update needed
[2026-08-29 17:10:24,421.421 INFO    ] Checking for camera pi updates...
[2026-08-29 17:10:24,456.456 INFO    ] 200
[2026-08-29 17:10:24,458.458 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:10:24,499.499 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:10:24,584.584 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:10:24,587.587 INFO    ] No camera update needed
[2026-08-29 17:10:24,589.589 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:10:24,591.591 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:10:24,597.597 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:10:24,602.602 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:10:26,645.645 INFO    ] ================================================
[2026-08-29 17:10:26,660.660 INFO    ] Launching Daemon at Sat Aug 29 17:10:26 IST 2026
[2026-08-29 17:10:26,674.674 INFO    ] ================================================
[2026-08-29 17:10:27,010.010 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:10:27
[2026-08-29 17:10:27,325.325 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:10:27,456.456 INFO    ] Initializing speech engine...
[2026-08-29 17:10:27,469.469 INFO    ] 2026-08-29 17:10:27
[2026-08-29 17:10:27,662.662 INFO    ] 2026-08-29 17:10:27
[2026-08-29 17:10:27,742.742 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:10:27,890.890 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:10:27,899.899 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:10:28,031.031 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:10:28,052.052 INFO    ] time= 29/08/2026 17:10:28
[2026-08-29 17:10:28,112.112 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:10:28,161.161 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:10:28,223.223 INFO    ] No existing commands found in stream
[2026-08-29 17:10:33,234.234 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:10:33,237.237 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-08-29 17:10:34,325.325 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:10:34,327.327 INFO    ] Checking for system updates...
[2026-08-29 17:10:34,364.364 INFO    ] 200
[2026-08-29 17:10:34,366.366 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:10:34,433.433 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:10:34,436.436 INFO    ] No update needed
[2026-08-29 17:10:34,438.438 INFO    ] Checking for camera pi updates...
[2026-08-29 17:10:34,479.479 INFO    ] 200
[2026-08-29 17:10:34,481.481 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:10:34,523.523 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:10:34,730.730 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:10:34,733.733 INFO    ] No camera update needed
[2026-08-29 17:10:34,735.735 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:10:34,737.737 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:10:34,743.743 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:10:34,748.748 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:10:36,789.789 INFO    ] ================================================
[2026-08-29 17:10:36,804.804 INFO    ] Launching Daemon at Sat Aug 29 17:10:36 IST 2026
[2026-08-29 17:10:36,816.816 INFO    ] ================================================
[2026-08-29 17:10:37,200.200 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:10:37
[2026-08-29 17:10:37,538.538 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:10:37,760.760 INFO    ] Initializing speech engine...
[2026-08-29 17:10:37,768.768 INFO    ] 2026-08-29 17:10:37
[2026-08-29 17:10:38,015.015 INFO    ] 2026-08-29 17:10:38
[2026-08-29 17:10:38,051.051 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:10:38,222.222 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:10:38,233.233 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:10:38,343.343 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:10:38,348.348 INFO    ] time= 29/08/2026 17:10:38
[2026-08-29 17:10:38,366.366 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:10:38,388.388 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:10:38,460.460 INFO    ] No existing commands found in stream
[2026-08-29 17:10:43,490.490 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:10:43,493.493 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-08-29 17:10:44,868.868 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:10:44,869.869 INFO    ] Checking for system updates...
[2026-08-29 17:10:44,890.890 INFO    ] 200
[2026-08-29 17:10:44,891.891 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:10:44,921.921 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:10:44,923.923 INFO    ] No update needed
[2026-08-29 17:10:44,924.924 INFO    ] Checking for camera pi updates...
[2026-08-29 17:10:44,943.943 INFO    ] 200
[2026-08-29 17:10:44,945.945 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:10:44,969.969 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:10:45,059.059 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:10:45,060.060 INFO    ] No camera update needed
[2026-08-29 17:10:45,062.062 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:10:45,063.063 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:10:45,066.066 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:10:45,069.069 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:10:47,109.109 INFO    ] ================================================
[2026-08-29 17:10:47,124.124 INFO    ] Launching Daemon at Sat Aug 29 17:10:47 IST 2026
[2026-08-29 17:10:47,138.138 INFO    ] ================================================
[2026-08-29 17:10:47,478.478 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:10:47
[2026-08-29 17:10:47,982.982 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:10:48,253.253 INFO    ] Initializing speech engine...
[2026-08-29 17:10:48,262.262 INFO    ] 2026-08-29 17:10:48
[2026-08-29 17:10:48,509.509 INFO    ] 2026-08-29 17:10:48
[2026-08-29 17:10:48,544.544 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:10:48,716.716 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:10:48,728.728 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:10:48,868.868 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:10:48,877.877 INFO    ] time= 29/08/2026 17:10:48
[2026-08-29 17:10:48,883.883 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:10:48,924.924 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:10:49,043.043 INFO    ] No existing commands found in stream
[2026-08-29 17:10:54,068.068 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:10:54,071.071 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-08-29 17:10:55,870.870 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:10:55,871.871 INFO    ] Checking for system updates...
[2026-08-29 17:10:55,893.893 INFO    ] 200
[2026-08-29 17:10:55,894.894 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:10:55,927.927 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:10:55,928.928 INFO    ] No update needed
[2026-08-29 17:10:55,929.929 INFO    ] Checking for camera pi updates...
[2026-08-29 17:10:55,948.948 INFO    ] 200
[2026-08-29 17:10:55,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:10:55,973.973 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:10:56,050.050 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:10:56,051.051 INFO    ] No camera update needed
[2026-08-29 17:10:56,053.053 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:10:56,054.054 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:10:56,057.057 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:10:56,059.059 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:10:58,098.098 INFO    ] ================================================
[2026-08-29 17:10:58,114.114 INFO    ] Launching Daemon at Sat Aug 29 17:10:58 IST 2026
[2026-08-29 17:10:58,124.124 INFO    ] ================================================
[2026-08-29 17:10:58,466.466 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:10:58
[2026-08-29 17:10:58,780.780 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:10:58,917.917 INFO    ] Initializing speech engine...
[2026-08-29 17:10:58,927.927 INFO    ] 2026-08-29 17:10:58
[2026-08-29 17:10:59,129.129 INFO    ] 2026-08-29 17:10:59
[2026-08-29 17:10:59,158.158 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:10:59,281.281 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:10:59,314.314 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:10:59,452.452 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:10:59,478.478 INFO    ] time= 29/08/2026 17:10:59
[2026-08-29 17:10:59,534.534 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:10:59,573.573 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:10:59,647.647 INFO    ] No existing commands found in stream
[2026-08-29 17:11:04,658.658 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:11:04,661.661 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-08-29 17:11:05,333.333 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:11:05,334.334 INFO    ] Checking for system updates...
[2026-08-29 17:11:05,355.355 INFO    ] 200
[2026-08-29 17:11:05,356.356 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:11:05,390.390 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:11:05,391.391 INFO    ] No update needed
[2026-08-29 17:11:05,393.393 INFO    ] Checking for camera pi updates...
[2026-08-29 17:11:05,412.412 INFO    ] 200
[2026-08-29 17:11:05,413.413 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:11:05,437.437 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:11:05,541.541 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:11:05,542.542 INFO    ] No camera update needed
[2026-08-29 17:11:05,543.543 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:11:05,545.545 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:11:05,547.547 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:11:05,550.550 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:11:07,591.591 INFO    ] ================================================
[2026-08-29 17:11:07,606.606 INFO    ] Launching Daemon at Sat Aug 29 17:11:07 IST 2026
[2026-08-29 17:11:07,617.617 INFO    ] ================================================
[2026-08-29 17:11:08,233.233 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:11:08
[2026-08-29 17:11:08,911.911 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:11:09,221.221 INFO    ] Initializing speech engine...
[2026-08-29 17:11:09,234.234 INFO    ] 2026-08-29 17:11:09
[2026-08-29 17:11:09,511.511 INFO    ] 2026-08-29 17:11:09
[2026-08-29 17:11:09,566.566 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:11:09,722.722 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:11:09,742.742 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:11:09,867.867 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:11:09,876.876 INFO    ] time= 29/08/2026 17:11:09
[2026-08-29 17:11:09,884.884 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:11:09,935.935 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:11:10,045.045 INFO    ] No existing commands found in stream
[2026-08-29 17:11:15,081.081 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:11:15,084.084 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-08-29 17:11:18,734.734 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:11:18,735.735 INFO    ] Checking for system updates...
[2026-08-29 17:11:18,756.756 INFO    ] 200
[2026-08-29 17:11:18,757.757 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:11:18,788.788 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:11:18,789.789 INFO    ] No update needed
[2026-08-29 17:11:18,791.791 INFO    ] Checking for camera pi updates...
[2026-08-29 17:11:18,812.812 INFO    ] 200
[2026-08-29 17:11:18,813.813 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:11:18,839.839 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:11:18,915.915 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:11:18,917.917 INFO    ] No camera update needed
[2026-08-29 17:11:18,918.918 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:11:18,919.919 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:11:18,923.923 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:11:18,926.926 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:11:20,964.964 INFO    ] ================================================
[2026-08-29 17:11:20,979.979 INFO    ] Launching Daemon at Sat Aug 29 17:11:20 IST 2026
[2026-08-29 17:11:20,990.990 INFO    ] ================================================
[2026-08-29 17:11:21,391.391 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:11:21
[2026-08-29 17:11:21,731.731 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:11:21,884.884 INFO    ] Initializing speech engine...
[2026-08-29 17:11:21,889.889 INFO    ] 2026-08-29 17:11:21
[2026-08-29 17:11:22,100.100 INFO    ] 2026-08-29 17:11:22
[2026-08-29 17:11:22,131.131 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:11:22,255.255 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:11:22,308.308 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:11:22,451.451 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:11:22,507.507 INFO    ] time= 29/08/2026 17:11:22
[2026-08-29 17:11:22,553.553 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:11:22,559.559 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:11:22,626.626 INFO    ] No existing commands found in stream
[2026-08-29 17:11:27,637.637 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:11:27,640.640 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-08-29 17:11:30,870.870 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:11:30,871.871 INFO    ] Checking for system updates...
[2026-08-29 17:11:30,893.893 INFO    ] 200
[2026-08-29 17:11:30,895.895 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:11:30,928.928 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:11:30,929.929 INFO    ] No update needed
[2026-08-29 17:11:30,930.930 INFO    ] Checking for camera pi updates...
[2026-08-29 17:11:30,950.950 INFO    ] 200
[2026-08-29 17:11:30,952.952 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:11:30,975.975 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:11:31,057.057 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:11:31,058.058 INFO    ] No camera update needed
[2026-08-29 17:11:31,059.059 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:11:31,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:11:31,065.065 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:11:31,068.068 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:11:33,107.107 INFO    ] ================================================
[2026-08-29 17:11:33,123.123 INFO    ] Launching Daemon at Sat Aug 29 17:11:33 IST 2026
[2026-08-29 17:11:33,133.133 INFO    ] ================================================
[2026-08-29 17:11:33,712.712 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:11:33
[2026-08-29 17:11:34,313.313 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:11:34,588.588 INFO    ] Initializing speech engine...
[2026-08-29 17:11:34,597.597 INFO    ] 2026-08-29 17:11:34
[2026-08-29 17:11:34,870.870 INFO    ] 2026-08-29 17:11:34
[2026-08-29 17:11:34,906.906 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:11:35,053.053 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:11:35,060.060 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:11:35,194.194 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:11:35,199.199 INFO    ] time= 29/08/2026 17:11:35
[2026-08-29 17:11:35,203.203 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:11:35,216.216 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:11:35,279.279 INFO    ] No existing commands found in stream
[2026-08-29 17:11:40,304.304 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:11:40,306.306 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-08-29 17:11:43,104.104 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:11:43,105.105 INFO    ] Checking for system updates...
[2026-08-29 17:11:43,126.126 INFO    ] 200
[2026-08-29 17:11:43,128.128 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:11:43,158.158 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:11:43,159.159 INFO    ] No update needed
[2026-08-29 17:11:43,161.161 INFO    ] Checking for camera pi updates...
[2026-08-29 17:11:43,181.181 INFO    ] 200
[2026-08-29 17:11:43,183.183 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:11:43,210.210 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:11:43,299.299 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:11:43,300.300 INFO    ] No camera update needed
[2026-08-29 17:11:43,302.302 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:11:43,303.303 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:11:43,306.306 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:11:43,309.309 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:11:45,348.348 INFO    ] ================================================
[2026-08-29 17:11:45,363.363 INFO    ] Launching Daemon at Sat Aug 29 17:11:45 IST 2026
[2026-08-29 17:11:45,374.374 INFO    ] ================================================
[2026-08-29 17:11:45,796.796 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:11:45
[2026-08-29 17:11:46,397.397 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:11:46,661.661 INFO    ] Initializing speech engine...
[2026-08-29 17:11:46,675.675 INFO    ] 2026-08-29 17:11:46
[2026-08-29 17:11:46,969.969 INFO    ] 2026-08-29 17:11:46
[2026-08-29 17:11:47,004.004 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:11:47,155.155 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:11:47,162.162 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:11:47,311.311 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:11:47,321.321 INFO    ] time= 29/08/2026 17:11:47
[2026-08-29 17:11:47,325.325 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:11:47,330.330 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:11:47,398.398 INFO    ] No existing commands found in stream
[2026-08-29 17:11:52,415.415 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:11:52,418.418 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-08-29 17:11:56,592.592 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:11:56,594.594 INFO    ] Checking for system updates...
[2026-08-29 17:11:56,615.615 INFO    ] 200
[2026-08-29 17:11:56,616.616 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:11:56,646.646 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:11:56,648.648 INFO    ] No update needed
[2026-08-29 17:11:56,649.649 INFO    ] Checking for camera pi updates...
[2026-08-29 17:11:56,669.669 INFO    ] 200
[2026-08-29 17:11:56,670.670 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:11:56,695.695 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:11:56,798.798 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:11:56,799.799 INFO    ] No camera update needed
[2026-08-29 17:11:56,801.801 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:11:56,802.802 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:11:56,805.805 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:11:56,808.808 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:11:58,848.848 INFO    ] ================================================
[2026-08-29 17:11:58,863.863 INFO    ] Launching Daemon at Sat Aug 29 17:11:58 IST 2026
[2026-08-29 17:11:58,874.874 INFO    ] ================================================
[2026-08-29 17:11:59,390.390 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:11:59
[2026-08-29 17:11:59,974.974 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:12:00,220.220 INFO    ] Initializing speech engine...
[2026-08-29 17:12:00,235.235 INFO    ] 2026-08-29 17:12:00
[2026-08-29 17:12:00,496.496 INFO    ] 2026-08-29 17:12:00
[2026-08-29 17:12:00,532.532 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:12:00,703.703 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:12:00,715.715 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:12:00,856.856 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:12:00,865.865 INFO    ] time= 29/08/2026 17:12:00
[2026-08-29 17:12:00,872.872 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:12:00,916.916 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:12:01,033.033 INFO    ] No existing commands found in stream
[2026-08-29 17:12:06,064.064 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:12:06,067.067 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-08-29 17:12:08,135.135 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:12:08,137.137 INFO    ] Checking for system updates...
[2026-08-29 17:12:08,157.157 INFO    ] 200
[2026-08-29 17:12:08,158.158 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:12:08,188.188 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:12:08,190.190 INFO    ] No update needed
[2026-08-29 17:12:08,191.191 INFO    ] Checking for camera pi updates...
[2026-08-29 17:12:08,210.210 INFO    ] 200
[2026-08-29 17:12:08,211.211 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:12:08,237.237 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:12:08,314.314 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:12:08,316.316 INFO    ] No camera update needed
[2026-08-29 17:12:08,317.317 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:12:08,318.318 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:12:08,321.321 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:12:08,324.324 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:12:10,362.362 INFO    ] ================================================
[2026-08-29 17:12:10,377.377 INFO    ] Launching Daemon at Sat Aug 29 17:12:10 IST 2026
[2026-08-29 17:12:10,388.388 INFO    ] ================================================
[2026-08-29 17:12:10,746.746 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:12:10
[2026-08-29 17:12:11,063.063 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:12:11,206.206 INFO    ] Initializing speech engine...
[2026-08-29 17:12:11,211.211 INFO    ] 2026-08-29 17:12:11
[2026-08-29 17:12:11,450.450 INFO    ] 2026-08-29 17:12:11
[2026-08-29 17:12:11,507.507 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:12:11,666.666 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:12:11,675.675 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:12:11,840.840 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:12:11,874.874 INFO    ] time= 29/08/2026 17:12:11
[2026-08-29 17:12:11,880.880 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:12:11,898.898 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:12:11,999.999 INFO    ] No existing commands found in stream
[2026-08-29 17:12:17,029.029 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:12:17,032.032 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-08-29 17:12:18,458.458 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:12:18,460.460 INFO    ] Checking for system updates...
[2026-08-29 17:12:18,480.480 INFO    ] 200
[2026-08-29 17:12:18,481.481 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:12:18,511.511 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:12:18,513.513 INFO    ] No update needed
[2026-08-29 17:12:18,514.514 INFO    ] Checking for camera pi updates...
[2026-08-29 17:12:18,534.534 INFO    ] 200
[2026-08-29 17:12:18,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:12:18,560.560 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:12:18,606.606 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:12:18,607.607 INFO    ] No camera update needed
[2026-08-29 17:12:18,609.609 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:12:18,610.610 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:12:18,613.613 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:12:18,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:12:20,654.654 INFO    ] ================================================
[2026-08-29 17:12:20,670.670 INFO    ] Launching Daemon at Sat Aug 29 17:12:20 IST 2026
[2026-08-29 17:12:20,681.681 INFO    ] ================================================
[2026-08-29 17:12:21,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:12:21
[2026-08-29 17:12:21,360.360 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:12:21,503.503 INFO    ] Initializing speech engine...
[2026-08-29 17:12:21,511.511 INFO    ] 2026-08-29 17:12:21
[2026-08-29 17:12:21,727.727 INFO    ] 2026-08-29 17:12:21
[2026-08-29 17:12:21,750.750 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:12:21,881.881 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:12:21,944.944 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:12:22,074.074 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:12:22,135.135 INFO    ] time= 29/08/2026 17:12:22
[2026-08-29 17:12:22,165.165 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:12:22,186.186 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:12:22,317.317 INFO    ] No existing commands found in stream
[2026-08-29 17:12:27,333.333 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:12:27,336.336 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-08-29 17:12:28,901.901 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:12:28,903.903 INFO    ] Checking for system updates...
[2026-08-29 17:12:28,923.923 INFO    ] 200
[2026-08-29 17:12:28,924.924 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:12:28,954.954 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:12:28,956.956 INFO    ] No update needed
[2026-08-29 17:12:28,957.957 INFO    ] Checking for camera pi updates...
[2026-08-29 17:12:28,977.977 INFO    ] 200
[2026-08-29 17:12:28,979.979 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:12:29,002.002 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:12:29,088.088 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:12:29,089.089 INFO    ] No camera update needed
[2026-08-29 17:12:29,090.090 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:12:29,092.092 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:12:29,095.095 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:12:29,098.098 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:12:31,136.136 INFO    ] ================================================
[2026-08-29 17:12:31,151.151 INFO    ] Launching Daemon at Sat Aug 29 17:12:31 IST 2026
[2026-08-29 17:12:31,163.163 INFO    ] ================================================
[2026-08-29 17:12:31,519.519 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:12:31
[2026-08-29 17:12:32,022.022 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:12:32,292.292 INFO    ] Initializing speech engine...
[2026-08-29 17:12:32,299.299 INFO    ] 2026-08-29 17:12:32
[2026-08-29 17:12:32,594.594 INFO    ] 2026-08-29 17:12:32
[2026-08-29 17:12:32,634.634 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:12:32,828.828 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:12:32,845.845 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:12:33,003.003 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:12:33,008.008 INFO    ] time= 29/08/2026 17:12:33
[2026-08-29 17:12:33,016.016 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:12:33,062.062 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:12:33,194.194 INFO    ] No existing commands found in stream
[2026-08-29 17:12:38,222.222 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:12:38,225.225 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-08-29 17:12:41,885.885 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:12:41,887.887 INFO    ] Checking for system updates...
[2026-08-29 17:12:41,910.910 INFO    ] 200
[2026-08-29 17:12:41,912.912 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:12:41,942.942 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:12:41,944.944 INFO    ] No update needed
[2026-08-29 17:12:41,945.945 INFO    ] Checking for camera pi updates...
[2026-08-29 17:12:41,965.965 INFO    ] 200
[2026-08-29 17:12:41,966.966 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:12:41,989.989 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:12:42,204.204 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:12:42,205.205 INFO    ] No camera update needed
[2026-08-29 17:12:42,207.207 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:12:42,208.208 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:12:42,211.211 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:12:42,214.214 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:12:44,255.255 INFO    ] ================================================
[2026-08-29 17:12:44,270.270 INFO    ] Launching Daemon at Sat Aug 29 17:12:44 IST 2026
[2026-08-29 17:12:44,281.281 INFO    ] ================================================
[2026-08-29 17:12:44,634.634 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:12:44
[2026-08-29 17:12:44,946.946 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:12:45,141.141 INFO    ] Initializing speech engine...
[2026-08-29 17:12:45,153.153 INFO    ] 2026-08-29 17:12:45
[2026-08-29 17:12:45,427.427 INFO    ] 2026-08-29 17:12:45
[2026-08-29 17:12:45,484.484 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:12:45,707.707 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:12:45,717.717 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:12:45,854.854 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:12:45,915.915 INFO    ] time= 29/08/2026 17:12:45
[2026-08-29 17:12:45,975.975 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:12:45,989.989 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:12:46,116.116 INFO    ] No existing commands found in stream
[2026-08-29 17:12:51,144.144 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:12:51,147.147 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-08-29 17:12:55,323.323 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:12:55,325.325 INFO    ] Checking for system updates...
[2026-08-29 17:12:55,345.345 INFO    ] 200
[2026-08-29 17:12:55,347.347 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:12:55,400.400 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:12:55,402.402 INFO    ] No update needed
[2026-08-29 17:12:55,405.405 INFO    ] Checking for camera pi updates...
[2026-08-29 17:12:55,438.438 INFO    ] 200
[2026-08-29 17:12:55,441.441 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:12:55,487.487 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:12:55,580.580 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:12:55,583.583 INFO    ] No camera update needed
[2026-08-29 17:12:55,585.585 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:12:55,588.588 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:12:55,593.593 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:12:55,598.598 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:12:57,639.639 INFO    ] ================================================
[2026-08-29 17:12:57,654.654 INFO    ] Launching Daemon at Sat Aug 29 17:12:57 IST 2026
[2026-08-29 17:12:57,666.666 INFO    ] ================================================
[2026-08-29 17:12:58,233.233 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:12:58
[2026-08-29 17:12:58,660.660 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:12:58,802.802 INFO    ] Initializing speech engine...
[2026-08-29 17:12:58,807.807 INFO    ] 2026-08-29 17:12:58
[2026-08-29 17:12:58,987.987 INFO    ] 2026-08-29 17:12:58
[2026-08-29 17:12:59,053.053 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:12:59,195.195 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:12:59,217.217 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:12:59,346.346 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:12:59,354.354 INFO    ] time= 29/08/2026 17:12:59
[2026-08-29 17:12:59,358.358 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:12:59,364.364 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:12:59,430.430 INFO    ] No existing commands found in stream
[2026-08-29 17:13:04,445.445 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:13:04,448.448 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-08-29 17:13:07,985.985 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:13:07,987.987 INFO    ] Checking for system updates...
[2026-08-29 17:13:08,008.008 INFO    ] 200
[2026-08-29 17:13:08,009.009 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:13:08,039.039 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:13:08,040.040 INFO    ] No update needed
[2026-08-29 17:13:08,041.041 INFO    ] Checking for camera pi updates...
[2026-08-29 17:13:08,062.062 INFO    ] 200
[2026-08-29 17:13:08,063.063 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:13:08,087.087 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:13:08,184.184 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:13:08,185.185 INFO    ] No camera update needed
[2026-08-29 17:13:08,187.187 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:13:08,188.188 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:13:08,191.191 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:13:08,193.193 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:13:10,233.233 INFO    ] ================================================
[2026-08-29 17:13:10,249.249 INFO    ] Launching Daemon at Sat Aug 29 17:13:10 IST 2026
[2026-08-29 17:13:10,260.260 INFO    ] ================================================
[2026-08-29 17:13:10,778.778 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:13:10
[2026-08-29 17:13:11,379.379 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:13:11,658.658 INFO    ] Initializing speech engine...
[2026-08-29 17:13:11,664.664 INFO    ] 2026-08-29 17:13:11
[2026-08-29 17:13:11,927.927 INFO    ] 2026-08-29 17:13:11
[2026-08-29 17:13:11,957.957 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:13:12,123.123 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:13:12,136.136 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:13:12,261.261 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:13:12,285.285 INFO    ] time= 29/08/2026 17:13:12
[2026-08-29 17:13:12,289.289 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:13:12,296.296 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:13:12,360.360 INFO    ] No existing commands found in stream
[2026-08-29 17:13:17,373.373 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:13:17,376.376 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-08-29 17:13:21,238.238 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:13:21,239.239 INFO    ] Checking for system updates...
[2026-08-29 17:13:21,259.259 INFO    ] 200
[2026-08-29 17:13:21,261.261 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:13:21,291.291 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:13:21,292.292 INFO    ] No update needed
[2026-08-29 17:13:21,294.294 INFO    ] Checking for camera pi updates...
[2026-08-29 17:13:21,315.315 INFO    ] 200
[2026-08-29 17:13:21,316.316 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:13:21,340.340 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:13:21,441.441 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:13:21,442.442 INFO    ] No camera update needed
[2026-08-29 17:13:21,444.444 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:13:21,445.445 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:13:21,448.448 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:13:21,450.450 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:13:23,490.490 INFO    ] ================================================
[2026-08-29 17:13:23,507.507 INFO    ] Launching Daemon at Sat Aug 29 17:13:23 IST 2026
[2026-08-29 17:13:23,517.517 INFO    ] ================================================
[2026-08-29 17:13:23,862.862 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:13:23
[2026-08-29 17:13:24,173.173 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:13:24,305.305 INFO    ] Initializing speech engine...
[2026-08-29 17:13:24,310.310 INFO    ] 2026-08-29 17:13:24
[2026-08-29 17:13:24,539.539 INFO    ] 2026-08-29 17:13:24
[2026-08-29 17:13:24,570.570 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:13:24,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:13:24,745.745 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:13:24,910.910 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:13:24,957.957 INFO    ] time= 29/08/2026 17:13:24
[2026-08-29 17:13:24,995.995 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:13:25,018.018 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:13:25,094.094 INFO    ] No existing commands found in stream
[2026-08-29 17:13:30,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:13:30,107.107 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-08-29 17:13:31,825.825 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:13:31,828.828 INFO    ] Checking for system updates...
[2026-08-29 17:13:31,866.866 INFO    ] 200
[2026-08-29 17:13:31,868.868 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:13:31,931.931 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:13:31,934.934 INFO    ] No update needed
[2026-08-29 17:13:31,936.936 INFO    ] Checking for camera pi updates...
[2026-08-29 17:13:31,977.977 INFO    ] 200
[2026-08-29 17:13:31,980.980 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:13:32,027.027 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:13:32,162.162 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:13:32,165.165 INFO    ] No camera update needed
[2026-08-29 17:13:32,168.168 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:13:32,170.170 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:13:32,177.177 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:13:32,182.182 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:13:34,225.225 INFO    ] ================================================
[2026-08-29 17:13:34,241.241 INFO    ] Launching Daemon at Sat Aug 29 17:13:34 IST 2026
[2026-08-29 17:13:34,252.252 INFO    ] ================================================
[2026-08-29 17:13:34,815.815 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:13:34
[2026-08-29 17:13:35,133.133 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:13:35,280.280 INFO    ] Initializing speech engine...
[2026-08-29 17:13:35,285.285 INFO    ] 2026-08-29 17:13:35
[2026-08-29 17:13:35,544.544 INFO    ] 2026-08-29 17:13:35
[2026-08-29 17:13:35,599.599 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:13:35,824.824 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:13:35,829.829 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:13:35,963.963 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:13:36,008.008 INFO    ] time= 29/08/2026 17:13:35
[2026-08-29 17:13:36,073.073 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:13:36,096.096 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:13:36,147.147 INFO    ] No existing commands found in stream
[2026-08-29 17:13:41,159.159 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:13:41,162.162 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-08-29 17:13:42,802.802 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:13:42,803.803 INFO    ] Checking for system updates...
[2026-08-29 17:13:42,824.824 INFO    ] 200
[2026-08-29 17:13:42,825.825 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:13:42,857.857 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:13:42,858.858 INFO    ] No update needed
[2026-08-29 17:13:42,860.860 INFO    ] Checking for camera pi updates...
[2026-08-29 17:13:42,879.879 INFO    ] 200
[2026-08-29 17:13:42,880.880 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:13:42,904.904 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:13:42,987.987 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:13:42,988.988 INFO    ] No camera update needed
[2026-08-29 17:13:42,989.989 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:13:42,991.991 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:13:42,994.994 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:13:42,996.996 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:13:45,035.035 INFO    ] ================================================
[2026-08-29 17:13:45,051.051 INFO    ] Launching Daemon at Sat Aug 29 17:13:45 IST 2026
[2026-08-29 17:13:45,062.062 INFO    ] ================================================
[2026-08-29 17:13:45,407.407 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:13:45
[2026-08-29 17:13:45,723.723 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:13:45,867.867 INFO    ] Initializing speech engine...
[2026-08-29 17:13:45,871.871 INFO    ] 2026-08-29 17:13:45
[2026-08-29 17:13:46,088.088 INFO    ] 2026-08-29 17:13:46
[2026-08-29 17:13:46,119.119 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:13:46,214.214 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:13:46,218.218 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:13:46,335.335 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:13:46,352.352 INFO    ] time= 29/08/2026 17:13:46
[2026-08-29 17:13:46,357.357 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:13:46,363.363 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:13:46,451.451 INFO    ] No existing commands found in stream
[2026-08-29 17:13:51,468.468 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:13:51,471.471 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-08-29 17:13:53,886.886 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:13:53,887.887 INFO    ] Checking for system updates...
[2026-08-29 17:13:53,907.907 INFO    ] 200
[2026-08-29 17:13:53,909.909 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:13:53,939.939 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:13:53,940.940 INFO    ] No update needed
[2026-08-29 17:13:53,941.941 INFO    ] Checking for camera pi updates...
[2026-08-29 17:13:53,960.960 INFO    ] 200
[2026-08-29 17:13:53,962.962 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:13:53,985.985 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:13:54,074.074 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:13:54,076.076 INFO    ] No camera update needed
[2026-08-29 17:13:54,077.077 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:13:54,078.078 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:13:54,081.081 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:13:54,084.084 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:13:56,124.124 INFO    ] ================================================
[2026-08-29 17:13:56,140.140 INFO    ] Launching Daemon at Sat Aug 29 17:13:56 IST 2026
[2026-08-29 17:13:56,152.152 INFO    ] ================================================
[2026-08-29 17:13:56,491.491 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:13:56
[2026-08-29 17:13:56,918.918 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:13:57,176.176 INFO    ] Initializing speech engine...
[2026-08-29 17:13:57,186.186 INFO    ] 2026-08-29 17:13:57
[2026-08-29 17:13:57,479.479 INFO    ] 2026-08-29 17:13:57
[2026-08-29 17:13:57,516.516 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:13:57,660.660 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:13:57,669.669 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:13:57,821.821 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:13:57,832.832 INFO    ] time= 29/08/2026 17:13:57
[2026-08-29 17:13:57,837.837 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:13:57,842.842 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:13:57,890.890 INFO    ] No existing commands found in stream
[2026-08-29 17:14:02,914.914 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:14:02,917.917 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-08-29 17:14:06,165.165 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:14:06,167.167 INFO    ] Checking for system updates...
[2026-08-29 17:14:06,187.187 INFO    ] 200
[2026-08-29 17:14:06,188.188 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:14:06,222.222 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:14:06,224.224 INFO    ] No update needed
[2026-08-29 17:14:06,225.225 INFO    ] Checking for camera pi updates...
[2026-08-29 17:14:06,244.244 INFO    ] 200
[2026-08-29 17:14:06,245.245 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:14:06,268.268 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:14:06,316.316 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:14:06,318.318 INFO    ] No camera update needed
[2026-08-29 17:14:06,319.319 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:14:06,320.320 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:14:06,323.323 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:14:06,326.326 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:14:08,365.365 INFO    ] ================================================
[2026-08-29 17:14:08,380.380 INFO    ] Launching Daemon at Sat Aug 29 17:14:08 IST 2026
[2026-08-29 17:14:08,392.392 INFO    ] ================================================
[2026-08-29 17:14:08,964.964 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:14:08
[2026-08-29 17:14:09,477.477 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:14:09,609.609 INFO    ] Initializing speech engine...
[2026-08-29 17:14:09,614.614 INFO    ] 2026-08-29 17:14:09
[2026-08-29 17:14:09,842.842 INFO    ] 2026-08-29 17:14:09
[2026-08-29 17:14:09,873.873 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:14:10,002.002 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:14:10,041.041 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:14:10,210.210 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:14:10,238.238 INFO    ] time= 29/08/2026 17:14:10
[2026-08-29 17:14:10,294.294 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:14:10,319.319 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:14:10,395.395 INFO    ] No existing commands found in stream
[2026-08-29 17:14:15,404.404 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:14:15,407.407 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-08-29 17:14:18,013.013 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:14:18,015.015 INFO    ] Checking for system updates...
[2026-08-29 17:14:18,036.036 INFO    ] 200
[2026-08-29 17:14:18,037.037 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:14:18,067.067 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:14:18,068.068 INFO    ] No update needed
[2026-08-29 17:14:18,069.069 INFO    ] Checking for camera pi updates...
[2026-08-29 17:14:18,090.090 INFO    ] 200
[2026-08-29 17:14:18,091.091 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:14:18,115.115 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:14:18,198.198 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:14:18,199.199 INFO    ] No camera update needed
[2026-08-29 17:14:18,200.200 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:14:18,201.201 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:14:18,205.205 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:14:18,207.207 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:14:20,246.246 INFO    ] ================================================
[2026-08-29 17:14:20,262.262 INFO    ] Launching Daemon at Sat Aug 29 17:14:20 IST 2026
[2026-08-29 17:14:20,273.273 INFO    ] ================================================
[2026-08-29 17:14:20,623.623 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:14:20
[2026-08-29 17:14:20,937.937 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:14:21,074.074 INFO    ] Initializing speech engine...
[2026-08-29 17:14:21,087.087 INFO    ] 2026-08-29 17:14:21
[2026-08-29 17:14:21,304.304 INFO    ] 2026-08-29 17:14:21
[2026-08-29 17:14:21,335.335 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:14:21,462.462 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:14:21,469.469 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:14:21,622.622 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:14:21,668.668 INFO    ] time= 29/08/2026 17:14:21
[2026-08-29 17:14:21,719.719 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:14:21,763.763 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:14:21,859.859 INFO    ] No existing commands found in stream
[2026-08-29 17:14:26,869.869 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:14:26,872.872 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-08-29 17:14:28,486.486 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:14:28,488.488 INFO    ] Checking for system updates...
[2026-08-29 17:14:28,508.508 INFO    ] 200
[2026-08-29 17:14:28,510.510 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:14:28,542.542 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:14:28,543.543 INFO    ] No update needed
[2026-08-29 17:14:28,545.545 INFO    ] Checking for camera pi updates...
[2026-08-29 17:14:28,564.564 INFO    ] 200
[2026-08-29 17:14:28,565.565 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:14:28,588.588 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:14:28,674.674 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:14:28,676.676 INFO    ] No camera update needed
[2026-08-29 17:14:28,677.677 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:14:28,678.678 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:14:28,681.681 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:14:28,684.684 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:14:30,723.723 INFO    ] ================================================
[2026-08-29 17:14:30,739.739 INFO    ] Launching Daemon at Sat Aug 29 17:14:30 IST 2026
[2026-08-29 17:14:30,750.750 INFO    ] ================================================
[2026-08-29 17:14:31,095.095 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:14:31
[2026-08-29 17:14:31,568.568 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:14:31,868.868 INFO    ] Initializing speech engine...
[2026-08-29 17:14:31,880.880 INFO    ] 2026-08-29 17:14:31
[2026-08-29 17:14:32,140.140 INFO    ] 2026-08-29 17:14:32
[2026-08-29 17:14:32,178.178 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:14:32,356.356 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:14:32,370.370 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:14:32,479.479 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:14:32,486.486 INFO    ] time= 29/08/2026 17:14:32
[2026-08-29 17:14:32,496.496 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:14:32,516.516 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:14:32,611.611 INFO    ] No existing commands found in stream
[2026-08-29 17:14:37,639.639 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:14:37,641.641 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 17:14:41,018.018 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:14:41,020.020 INFO    ] Checking for system updates...
[2026-08-29 17:14:41,040.040 INFO    ] 200
[2026-08-29 17:14:41,042.042 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:14:41,071.071 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:14:41,073.073 INFO    ] No update needed
[2026-08-29 17:14:41,074.074 INFO    ] Checking for camera pi updates...
[2026-08-29 17:14:41,094.094 INFO    ] 200
[2026-08-29 17:14:41,096.096 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:14:41,119.119 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:14:41,243.243 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:14:41,244.244 INFO    ] No camera update needed
[2026-08-29 17:14:41,245.245 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:14:41,247.247 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:14:41,250.250 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:14:41,252.252 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:14:43,292.292 INFO    ] ================================================
[2026-08-29 17:14:43,307.307 INFO    ] Launching Daemon at Sat Aug 29 17:14:43 IST 2026
[2026-08-29 17:14:43,319.319 INFO    ] ================================================
[2026-08-29 17:14:43,671.671 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:14:43
[2026-08-29 17:14:43,987.987 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:14:44,133.133 INFO    ] Initializing speech engine...
[2026-08-29 17:14:44,138.138 INFO    ] 2026-08-29 17:14:44
[2026-08-29 17:14:44,333.333 INFO    ] 2026-08-29 17:14:44
[2026-08-29 17:14:44,407.407 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:14:44,560.560 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:14:44,570.570 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:14:44,702.702 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:14:44,729.729 INFO    ] time= 29/08/2026 17:14:44
[2026-08-29 17:14:44,793.793 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:14:44,837.837 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:14:44,897.897 INFO    ] No existing commands found in stream
[2026-08-29 17:14:49,908.908 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:14:49,910.910 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-08-29 17:14:51,580.580 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:14:51,582.582 INFO    ] Checking for system updates...
[2026-08-29 17:14:51,602.602 INFO    ] 200
[2026-08-29 17:14:51,604.604 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:14:51,636.636 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:14:51,637.637 INFO    ] No update needed
[2026-08-29 17:14:51,639.639 INFO    ] Checking for camera pi updates...
[2026-08-29 17:14:51,658.658 INFO    ] 200
[2026-08-29 17:14:51,659.659 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:14:51,684.684 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:14:51,869.869 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:14:51,871.871 INFO    ] No camera update needed
[2026-08-29 17:14:51,872.872 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:14:51,873.873 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:14:51,876.876 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:14:51,879.879 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:14:53,919.919 INFO    ] ================================================
[2026-08-29 17:14:53,934.934 INFO    ] Launching Daemon at Sat Aug 29 17:14:53 IST 2026
[2026-08-29 17:14:53,945.945 INFO    ] ================================================
[2026-08-29 17:14:54,307.307 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:14:54
[2026-08-29 17:14:54,617.617 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:14:54,747.747 INFO    ] Initializing speech engine...
[2026-08-29 17:14:54,752.752 INFO    ] 2026-08-29 17:14:54
[2026-08-29 17:14:54,945.945 INFO    ] 2026-08-29 17:14:54
[2026-08-29 17:14:55,000.000 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:14:55,226.226 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:14:55,235.235 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:14:55,371.371 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:14:55,398.398 INFO    ] time= 29/08/2026 17:14:55
[2026-08-29 17:14:55,457.457 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:14:55,509.509 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:14:55,561.561 INFO    ] No existing commands found in stream
[2026-08-29 17:15:00,573.573 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:15:00,576.576 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 17:15:02,847.847 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:15:02,850.850 INFO    ] Checking for system updates...
[2026-08-29 17:15:02,899.899 INFO    ] 200
[2026-08-29 17:15:02,902.902 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:15:02,964.964 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:15:02,967.967 INFO    ] No update needed
[2026-08-29 17:15:02,970.970 INFO    ] Checking for camera pi updates...
[2026-08-29 17:15:03,008.008 INFO    ] 200
[2026-08-29 17:15:03,011.011 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:15:03,056.056 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:15:03,205.205 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:15:03,208.208 INFO    ] No camera update needed
[2026-08-29 17:15:03,211.211 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:15:03,215.215 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:15:03,221.221 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:15:03,230.230 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:15:05,272.272 INFO    ] ================================================
[2026-08-29 17:15:05,288.288 INFO    ] Launching Daemon at Sat Aug 29 17:15:05 IST 2026
[2026-08-29 17:15:05,299.299 INFO    ] ================================================
[2026-08-29 17:15:05,643.643 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:15:05
[2026-08-29 17:15:05,979.979 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:15:06,130.130 INFO    ] Initializing speech engine...
[2026-08-29 17:15:06,135.135 INFO    ] 2026-08-29 17:15:06
[2026-08-29 17:15:06,375.375 INFO    ] 2026-08-29 17:15:06
[2026-08-29 17:15:06,420.420 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:15:06,593.593 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:15:06,616.616 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:15:06,751.751 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:15:06,760.760 INFO    ] time= 29/08/2026 17:15:06
[2026-08-29 17:15:06,767.767 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:15:06,814.814 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:15:06,939.939 INFO    ] No existing commands found in stream
[2026-08-29 17:15:11,965.965 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:15:11,968.968 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-08-29 17:15:15,783.783 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:15:15,785.785 INFO    ] Checking for system updates...
[2026-08-29 17:15:15,806.806 INFO    ] 200
[2026-08-29 17:15:15,807.807 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:15:15,838.838 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:15:15,839.839 INFO    ] No update needed
[2026-08-29 17:15:15,840.840 INFO    ] Checking for camera pi updates...
[2026-08-29 17:15:15,861.861 INFO    ] 200
[2026-08-29 17:15:15,862.862 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:15:15,889.889 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:15:15,973.973 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:15:15,975.975 INFO    ] No camera update needed
[2026-08-29 17:15:15,976.976 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:15:15,978.978 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:15:15,981.981 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:15:15,984.984 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:15:18,023.023 INFO    ] ================================================
[2026-08-29 17:15:18,039.039 INFO    ] Launching Daemon at Sat Aug 29 17:15:18 IST 2026
[2026-08-29 17:15:18,050.050 INFO    ] ================================================
[2026-08-29 17:15:18,422.422 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:15:18
[2026-08-29 17:15:18,764.764 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:15:18,915.915 INFO    ] Initializing speech engine...
[2026-08-29 17:15:18,921.921 INFO    ] 2026-08-29 17:15:18
[2026-08-29 17:15:19,180.180 INFO    ] 2026-08-29 17:15:19
[2026-08-29 17:15:19,237.237 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:15:19,401.401 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:15:19,410.410 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:15:19,581.581 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:15:19,613.613 INFO    ] time= 29/08/2026 17:15:19
[2026-08-29 17:15:19,631.631 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:15:19,659.659 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:15:19,752.752 INFO    ] No existing commands found in stream
[2026-08-29 17:15:24,794.794 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:15:24,797.797 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-08-29 17:15:28,219.219 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:15:28,221.221 INFO    ] Checking for system updates...
[2026-08-29 17:15:28,243.243 INFO    ] 200
[2026-08-29 17:15:28,244.244 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:15:28,279.279 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:15:28,281.281 INFO    ] No update needed
[2026-08-29 17:15:28,282.282 INFO    ] Checking for camera pi updates...
[2026-08-29 17:15:28,304.304 INFO    ] 200
[2026-08-29 17:15:28,306.306 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:15:28,329.329 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:15:28,436.436 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:15:28,438.438 INFO    ] No camera update needed
[2026-08-29 17:15:28,439.439 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:15:28,440.440 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:15:28,444.444 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:15:28,447.447 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:15:30,488.488 INFO    ] ================================================
[2026-08-29 17:15:30,503.503 INFO    ] Launching Daemon at Sat Aug 29 17:15:30 IST 2026
[2026-08-29 17:15:30,514.514 INFO    ] ================================================
[2026-08-29 17:15:30,855.855 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:15:30
[2026-08-29 17:15:31,432.432 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:15:31,713.713 INFO    ] Initializing speech engine...
[2026-08-29 17:15:31,721.721 INFO    ] 2026-08-29 17:15:31
[2026-08-29 17:15:31,980.980 INFO    ] 2026-08-29 17:15:31
[2026-08-29 17:15:32,010.010 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:15:32,182.182 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:15:32,199.199 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:15:32,317.317 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:15:32,320.320 INFO    ] time= 29/08/2026 17:15:32
[2026-08-29 17:15:32,325.325 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:15:32,331.331 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:15:32,379.379 INFO    ] No existing commands found in stream
[2026-08-29 17:15:37,420.420 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:15:37,423.423 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-08-29 17:15:39,323.323 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:15:39,326.326 INFO    ] Checking for system updates...
[2026-08-29 17:15:39,363.363 INFO    ] 200
[2026-08-29 17:15:39,365.365 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:15:39,418.418 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:15:39,421.421 INFO    ] No update needed
[2026-08-29 17:15:39,424.424 INFO    ] Checking for camera pi updates...
[2026-08-29 17:15:39,458.458 INFO    ] 200
[2026-08-29 17:15:39,460.460 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:15:39,506.506 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:15:39,603.603 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:15:39,606.606 INFO    ] No camera update needed
[2026-08-29 17:15:39,608.608 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:15:39,610.610 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:15:39,616.616 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:15:39,621.621 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:15:41,660.660 INFO    ] ================================================
[2026-08-29 17:15:41,676.676 INFO    ] Launching Daemon at Sat Aug 29 17:15:41 IST 2026
[2026-08-29 17:15:41,687.687 INFO    ] ================================================
[2026-08-29 17:15:42,013.013 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:15:42
[2026-08-29 17:15:42,324.324 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:15:42,459.459 INFO    ] Initializing speech engine...
[2026-08-29 17:15:42,467.467 INFO    ] 2026-08-29 17:15:42
[2026-08-29 17:15:42,689.689 INFO    ] 2026-08-29 17:15:42
[2026-08-29 17:15:42,719.719 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:15:42,843.843 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:15:42,887.887 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:15:43,061.061 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:15:43,108.108 INFO    ] time= 29/08/2026 17:15:43
[2026-08-29 17:15:43,158.158 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:15:43,207.207 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:15:43,309.309 INFO    ] No existing commands found in stream
[2026-08-29 17:15:48,324.324 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:15:48,326.326 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-08-29 17:15:49,769.769 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:15:49,771.771 INFO    ] Checking for system updates...
[2026-08-29 17:15:49,792.792 INFO    ] 200
[2026-08-29 17:15:49,793.793 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:15:49,826.826 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:15:49,827.827 INFO    ] No update needed
[2026-08-29 17:15:49,828.828 INFO    ] Checking for camera pi updates...
[2026-08-29 17:15:49,853.853 INFO    ] 200
[2026-08-29 17:15:49,854.854 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:15:49,877.877 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:15:49,955.955 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:15:49,957.957 INFO    ] No camera update needed
[2026-08-29 17:15:49,958.958 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:15:49,959.959 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:15:49,962.962 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:15:49,965.965 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:15:52,003.003 INFO    ] ================================================
[2026-08-29 17:15:52,019.019 INFO    ] Launching Daemon at Sat Aug 29 17:15:52 IST 2026
[2026-08-29 17:15:52,031.031 INFO    ] ================================================
[2026-08-29 17:15:52,402.402 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:15:52
[2026-08-29 17:15:52,738.738 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:15:52,882.882 INFO    ] Initializing speech engine...
[2026-08-29 17:15:52,887.887 INFO    ] 2026-08-29 17:15:52
[2026-08-29 17:15:53,092.092 INFO    ] 2026-08-29 17:15:53
[2026-08-29 17:15:53,122.122 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:15:53,246.246 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:15:53,310.310 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:15:53,444.444 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:15:53,500.500 INFO    ] time= 29/08/2026 17:15:53
[2026-08-29 17:15:53,544.544 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:15:53,546.546 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:15:53,620.620 INFO    ] No existing commands found in stream
[2026-08-29 17:15:58,626.626 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:15:58,629.629 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-08-29 17:15:59,683.683 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:15:59,684.684 INFO    ] Checking for system updates...
[2026-08-29 17:15:59,706.706 INFO    ] 200
[2026-08-29 17:15:59,707.707 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:15:59,737.737 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:15:59,738.738 INFO    ] No update needed
[2026-08-29 17:15:59,740.740 INFO    ] Checking for camera pi updates...
[2026-08-29 17:15:59,759.759 INFO    ] 200
[2026-08-29 17:15:59,761.761 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:15:59,786.786 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:15:59,873.873 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:15:59,874.874 INFO    ] No camera update needed
[2026-08-29 17:15:59,875.875 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:15:59,877.877 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:15:59,880.880 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:15:59,883.883 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:16:01,927.927 INFO    ] ================================================
[2026-08-29 17:16:01,947.947 INFO    ] Launching Daemon at Sat Aug 29 17:16:01 IST 2026
[2026-08-29 17:16:01,961.961 INFO    ] ================================================
[2026-08-29 17:16:02,612.612 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:16:02
[2026-08-29 17:16:03,275.275 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:16:03,557.557 INFO    ] Initializing speech engine...
[2026-08-29 17:16:03,566.566 INFO    ] 2026-08-29 17:16:03
[2026-08-29 17:16:03,827.827 INFO    ] 2026-08-29 17:16:03
[2026-08-29 17:16:03,858.858 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:16:04,046.046 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:16:04,064.064 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:16:04,187.187 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:16:04,251.251 INFO    ] time= 29/08/2026 17:16:04
[2026-08-29 17:16:04,258.258 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:16:04,322.322 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:16:04,408.408 INFO    ] No existing commands found in stream
[2026-08-29 17:16:09,424.424 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:16:09,427.427 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-08-29 17:16:12,180.180 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:16:12,181.181 INFO    ] Checking for system updates...
[2026-08-29 17:16:12,203.203 INFO    ] 200
[2026-08-29 17:16:12,204.204 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:16:12,235.235 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:16:12,236.236 INFO    ] No update needed
[2026-08-29 17:16:12,237.237 INFO    ] Checking for camera pi updates...
[2026-08-29 17:16:12,260.260 INFO    ] 200
[2026-08-29 17:16:12,262.262 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:16:12,286.286 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:16:12,384.384 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:16:12,385.385 INFO    ] No camera update needed
[2026-08-29 17:16:12,386.386 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:16:12,388.388 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:16:12,391.391 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:16:12,393.393 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:16:14,433.433 INFO    ] ================================================
[2026-08-29 17:16:14,448.448 INFO    ] Launching Daemon at Sat Aug 29 17:16:14 IST 2026
[2026-08-29 17:16:14,460.460 INFO    ] ================================================
[2026-08-29 17:16:14,909.909 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:16:14
[2026-08-29 17:16:15,494.494 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:16:15,765.765 INFO    ] Initializing speech engine...
[2026-08-29 17:16:15,774.774 INFO    ] 2026-08-29 17:16:15
[2026-08-29 17:16:16,021.021 INFO    ] 2026-08-29 17:16:16
[2026-08-29 17:16:16,056.056 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:16:16,230.230 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:16:16,243.243 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:16:16,385.385 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:16:16,392.392 INFO    ] time= 29/08/2026 17:16:16
[2026-08-29 17:16:16,396.396 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:16:16,404.404 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:16:16,470.470 INFO    ] No existing commands found in stream
[2026-08-29 17:16:21,500.500 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:16:21,503.503 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-08-29 17:16:24,285.285 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:16:24,288.288 INFO    ] Checking for system updates...
[2026-08-29 17:16:24,328.328 INFO    ] 200
[2026-08-29 17:16:24,330.330 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:16:24,383.383 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:16:24,386.386 INFO    ] No update needed
[2026-08-29 17:16:24,388.388 INFO    ] Checking for camera pi updates...
[2026-08-29 17:16:24,421.421 INFO    ] 200
[2026-08-29 17:16:24,424.424 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:16:24,465.465 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:16:24,518.518 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:16:24,520.520 INFO    ] No camera update needed
[2026-08-29 17:16:24,523.523 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:16:24,525.525 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:16:24,531.531 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:16:24,536.536 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:16:26,577.577 INFO    ] ================================================
[2026-08-29 17:16:26,593.593 INFO    ] Launching Daemon at Sat Aug 29 17:16:26 IST 2026
[2026-08-29 17:16:26,605.605 INFO    ] ================================================
[2026-08-29 17:16:26,940.940 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:16:26
[2026-08-29 17:16:27,262.262 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:16:27,396.396 INFO    ] Initializing speech engine...
[2026-08-29 17:16:27,399.399 INFO    ] 2026-08-29 17:16:27
[2026-08-29 17:16:27,605.605 INFO    ] 2026-08-29 17:16:27
[2026-08-29 17:16:27,640.640 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:16:27,796.796 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:16:27,845.845 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:16:28,008.008 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:16:28,055.055 INFO    ] time= 29/08/2026 17:16:28
[2026-08-29 17:16:28,099.099 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:16:28,117.117 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:16:28,193.193 INFO    ] No existing commands found in stream
[2026-08-29 17:16:33,203.203 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:16:33,206.206 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-08-29 17:16:36,677.677 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:16:36,680.680 INFO    ] Checking for system updates...
[2026-08-29 17:16:36,715.715 INFO    ] 200
[2026-08-29 17:16:36,718.718 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:16:36,778.778 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:16:36,780.780 INFO    ] No update needed
[2026-08-29 17:16:36,783.783 INFO    ] Checking for camera pi updates...
[2026-08-29 17:16:36,817.817 INFO    ] 200
[2026-08-29 17:16:36,819.819 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:16:36,859.859 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:16:36,932.932 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:16:36,935.935 INFO    ] No camera update needed
[2026-08-29 17:16:36,937.937 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:16:36,939.939 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:16:36,945.945 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:16:36,950.950 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:16:38,993.993 INFO    ] ================================================
[2026-08-29 17:16:39,010.010 INFO    ] Launching Daemon at Sat Aug 29 17:16:39 IST 2026
[2026-08-29 17:16:39,021.021 INFO    ] ================================================
[2026-08-29 17:16:39,620.620 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:16:39
[2026-08-29 17:16:39,962.962 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:16:40,118.118 INFO    ] Initializing speech engine...
[2026-08-29 17:16:40,122.122 INFO    ] 2026-08-29 17:16:40
[2026-08-29 17:16:40,332.332 INFO    ] 2026-08-29 17:16:40
[2026-08-29 17:16:40,362.362 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:16:40,506.506 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:16:40,554.554 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:16:40,688.688 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:16:40,698.698 INFO    ] time= 29/08/2026 17:16:40
[2026-08-29 17:16:40,708.708 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:16:40,763.763 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:16:40,880.880 INFO    ] No existing commands found in stream
[2026-08-29 17:16:45,906.906 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:16:45,909.909 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-08-29 17:16:49,917.917 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:16:49,918.918 INFO    ] Checking for system updates...
[2026-08-29 17:16:49,939.939 INFO    ] 200
[2026-08-29 17:16:49,940.940 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:16:49,975.975 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:16:49,977.977 INFO    ] No update needed
[2026-08-29 17:16:49,978.978 INFO    ] Checking for camera pi updates...
[2026-08-29 17:16:50,001.001 INFO    ] 200
[2026-08-29 17:16:50,002.002 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:16:50,026.026 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:16:50,117.117 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:16:50,118.118 INFO    ] No camera update needed
[2026-08-29 17:16:50,119.119 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:16:50,121.121 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:16:50,124.124 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:16:50,127.127 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:16:52,168.168 INFO    ] ================================================
[2026-08-29 17:16:52,184.184 INFO    ] Launching Daemon at Sat Aug 29 17:16:52 IST 2026
[2026-08-29 17:16:52,195.195 INFO    ] ================================================
[2026-08-29 17:16:52,518.518 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:16:52
[2026-08-29 17:16:52,832.832 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:16:52,976.976 INFO    ] Initializing speech engine...
[2026-08-29 17:16:52,980.980 INFO    ] 2026-08-29 17:16:52
[2026-08-29 17:16:53,169.169 INFO    ] 2026-08-29 17:16:53
[2026-08-29 17:16:53,223.223 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:16:53,447.447 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:16:53,456.456 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:16:53,589.589 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:16:53,643.643 INFO    ] time= 29/08/2026 17:16:53
[2026-08-29 17:16:53,692.692 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:16:53,726.726 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:16:53,780.780 INFO    ] No existing commands found in stream
[2026-08-29 17:16:58,792.792 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:16:58,795.795 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-08-29 17:17:00,623.623 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:17:00,624.624 INFO    ] Checking for system updates...
[2026-08-29 17:17:00,646.646 INFO    ] 200
[2026-08-29 17:17:00,647.647 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:17:00,679.679 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:17:00,681.681 INFO    ] No update needed
[2026-08-29 17:17:00,682.682 INFO    ] Checking for camera pi updates...
[2026-08-29 17:17:00,701.701 INFO    ] 200
[2026-08-29 17:17:00,703.703 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:17:00,725.725 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:17:00,901.901 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:17:00,902.902 INFO    ] No camera update needed
[2026-08-29 17:17:00,903.903 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:17:00,905.905 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:17:00,907.907 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:17:00,910.910 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:17:02,954.954 INFO    ] ================================================
[2026-08-29 17:17:02,970.970 INFO    ] Launching Daemon at Sat Aug 29 17:17:02 IST 2026
[2026-08-29 17:17:02,982.982 INFO    ] ================================================
[2026-08-29 17:17:03,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:17:03
[2026-08-29 17:17:04,150.150 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:17:04,403.403 INFO    ] Initializing speech engine...
[2026-08-29 17:17:04,416.416 INFO    ] 2026-08-29 17:17:04
[2026-08-29 17:17:04,651.651 INFO    ] 2026-08-29 17:17:04
[2026-08-29 17:17:04,726.726 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:17:04,846.846 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:17:04,849.849 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:17:04,964.964 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:17:04,971.971 INFO    ] time= 29/08/2026 17:17:04
[2026-08-29 17:17:04,978.978 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:17:04,983.983 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:17:05,047.047 INFO    ] No existing commands found in stream
[2026-08-29 17:17:10,059.059 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:17:10,062.062 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-08-29 17:17:11,288.288 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:17:11,290.290 INFO    ] Checking for system updates...
[2026-08-29 17:17:11,312.312 INFO    ] 200
[2026-08-29 17:17:11,314.314 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:17:11,344.344 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:17:11,345.345 INFO    ] No update needed
[2026-08-29 17:17:11,347.347 INFO    ] Checking for camera pi updates...
[2026-08-29 17:17:11,366.366 INFO    ] 200
[2026-08-29 17:17:11,367.367 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:17:11,393.393 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:17:11,469.469 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:17:11,471.471 INFO    ] No camera update needed
[2026-08-29 17:17:11,472.472 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:17:11,473.473 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:17:11,476.476 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:17:11,479.479 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:17:13,518.518 INFO    ] ================================================
[2026-08-29 17:17:13,533.533 INFO    ] Launching Daemon at Sat Aug 29 17:17:13 IST 2026
[2026-08-29 17:17:13,544.544 INFO    ] ================================================
[2026-08-29 17:17:13,936.936 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:17:13
[2026-08-29 17:17:14,276.276 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:17:14,428.428 INFO    ] Initializing speech engine...
[2026-08-29 17:17:14,434.434 INFO    ] 2026-08-29 17:17:14
[2026-08-29 17:17:14,642.642 INFO    ] 2026-08-29 17:17:14
[2026-08-29 17:17:14,672.672 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:17:14,794.794 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:17:14,857.857 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:17:14,991.991 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:17:15,049.049 INFO    ] time= 29/08/2026 17:17:14
[2026-08-29 17:17:15,086.086 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:17:15,093.093 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:17:15,160.160 INFO    ] No existing commands found in stream
[2026-08-29 17:17:20,169.169 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:17:20,173.173 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-08-29 17:17:20,894.894 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:17:20,896.896 INFO    ] Checking for system updates...
[2026-08-29 17:17:20,917.917 INFO    ] 200
[2026-08-29 17:17:20,919.919 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:17:20,949.949 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:17:20,951.951 INFO    ] No update needed
[2026-08-29 17:17:20,952.952 INFO    ] Checking for camera pi updates...
[2026-08-29 17:17:20,972.972 INFO    ] 200
[2026-08-29 17:17:20,973.973 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:17:20,997.997 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:17:21,094.094 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:17:21,096.096 INFO    ] No camera update needed
[2026-08-29 17:17:21,097.097 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:17:21,098.098 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:17:21,101.101 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:17:21,104.104 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:17:23,144.144 INFO    ] ================================================
[2026-08-29 17:17:23,160.160 INFO    ] Launching Daemon at Sat Aug 29 17:17:23 IST 2026
[2026-08-29 17:17:23,171.171 INFO    ] ================================================
[2026-08-29 17:17:23,521.521 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:17:23
[2026-08-29 17:17:23,843.843 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:17:23,988.988 INFO    ] Initializing speech engine...
[2026-08-29 17:17:23,993.993 INFO    ] 2026-08-29 17:17:23
[2026-08-29 17:17:24,201.201 INFO    ] 2026-08-29 17:17:24
[2026-08-29 17:17:24,230.230 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:17:24,412.412 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:17:24,416.416 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:17:24,544.544 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:17:24,600.600 INFO    ] time= 29/08/2026 17:17:24
[2026-08-29 17:17:24,634.634 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:17:24,644.644 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:17:24,716.716 INFO    ] No existing commands found in stream
[2026-08-29 17:17:29,740.740 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:17:29,743.743 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-08-29 17:17:33,348.348 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:17:33,351.351 INFO    ] Checking for system updates...
[2026-08-29 17:17:33,391.391 INFO    ] 200
[2026-08-29 17:17:33,394.394 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:17:33,446.446 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:17:33,449.449 INFO    ] No update needed
[2026-08-29 17:17:33,451.451 INFO    ] Checking for camera pi updates...
[2026-08-29 17:17:33,485.485 INFO    ] 200
[2026-08-29 17:17:33,487.487 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:17:33,528.528 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:17:33,627.627 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:17:33,630.630 INFO    ] No camera update needed
[2026-08-29 17:17:33,632.632 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:17:33,635.635 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:17:33,640.640 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:17:33,645.645 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:17:35,686.686 INFO    ] ================================================
[2026-08-29 17:17:35,703.703 INFO    ] Launching Daemon at Sat Aug 29 17:17:35 IST 2026
[2026-08-29 17:17:35,714.714 INFO    ] ================================================
[2026-08-29 17:17:36,061.061 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:17:36
[2026-08-29 17:17:36,373.373 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:17:36,503.503 INFO    ] Initializing speech engine...
[2026-08-29 17:17:36,512.512 INFO    ] 2026-08-29 17:17:36
[2026-08-29 17:17:36,728.728 INFO    ] 2026-08-29 17:17:36
[2026-08-29 17:17:36,757.757 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:17:36,881.881 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:17:36,934.934 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:17:37,078.078 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:17:37,124.124 INFO    ] time= 29/08/2026 17:17:37
[2026-08-29 17:17:37,159.159 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:17:37,182.182 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:17:37,254.254 INFO    ] No existing commands found in stream
[2026-08-29 17:17:42,264.264 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:17:42,267.267 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-08-29 17:17:42,680.680 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:17:42,681.681 INFO    ] Checking for system updates...
[2026-08-29 17:17:42,704.704 INFO    ] 200
[2026-08-29 17:17:42,705.705 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:17:42,737.737 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:17:42,738.738 INFO    ] No update needed
[2026-08-29 17:17:42,740.740 INFO    ] Checking for camera pi updates...
[2026-08-29 17:17:42,759.759 INFO    ] 200
[2026-08-29 17:17:42,760.760 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:17:42,784.784 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:17:42,879.879 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:17:42,880.880 INFO    ] No camera update needed
[2026-08-29 17:17:42,882.882 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:17:42,883.883 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:17:42,886.886 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:17:42,889.889 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:17:44,927.927 INFO    ] ================================================
[2026-08-29 17:17:44,942.942 INFO    ] Launching Daemon at Sat Aug 29 17:17:44 IST 2026
[2026-08-29 17:17:44,954.954 INFO    ] ================================================
[2026-08-29 17:17:45,304.304 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:17:45
[2026-08-29 17:17:45,625.625 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:17:45,823.823 INFO    ] Initializing speech engine...
[2026-08-29 17:17:45,826.826 INFO    ] 2026-08-29 17:17:45
[2026-08-29 17:17:46,028.028 INFO    ] 2026-08-29 17:17:46
[2026-08-29 17:17:46,057.057 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:17:46,179.179 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:17:46,222.222 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:17:46,380.380 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:17:46,446.446 INFO    ] time= 29/08/2026 17:17:46
[2026-08-29 17:17:46,469.469 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:17:46,476.476 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:17:46,542.542 INFO    ] No existing commands found in stream
[2026-08-29 17:17:51,553.553 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:17:51,555.555 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-08-29 17:17:53,031.031 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:17:53,032.032 INFO    ] Checking for system updates...
[2026-08-29 17:17:53,053.053 INFO    ] 200
[2026-08-29 17:17:53,054.054 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:17:53,087.087 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:17:53,088.088 INFO    ] No update needed
[2026-08-29 17:17:53,090.090 INFO    ] Checking for camera pi updates...
[2026-08-29 17:17:53,109.109 INFO    ] 200
[2026-08-29 17:17:53,110.110 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:17:53,135.135 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:17:53,210.210 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:17:53,211.211 INFO    ] No camera update needed
[2026-08-29 17:17:53,213.213 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:17:53,214.214 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:17:53,217.217 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:17:53,220.220 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:17:55,259.259 INFO    ] ================================================
[2026-08-29 17:17:55,275.275 INFO    ] Launching Daemon at Sat Aug 29 17:17:55 IST 2026
[2026-08-29 17:17:55,286.286 INFO    ] ================================================
[2026-08-29 17:17:55,637.637 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:17:55
[2026-08-29 17:17:55,956.956 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:17:56,090.090 INFO    ] Initializing speech engine...
[2026-08-29 17:17:56,102.102 INFO    ] 2026-08-29 17:17:56
[2026-08-29 17:17:56,312.312 INFO    ] 2026-08-29 17:17:56
[2026-08-29 17:17:56,341.341 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:17:56,464.464 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:17:56,526.526 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:17:56,683.683 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:17:56,727.727 INFO    ] time= 29/08/2026 17:17:56
[2026-08-29 17:17:56,782.782 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:17:56,836.836 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:17:56,923.923 INFO    ] No existing commands found in stream
[2026-08-29 17:18:01,934.934 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:18:01,938.938 INFO    ] Waiting 1.19 seconds before fallback handling...
[2026-08-29 17:18:03,511.511 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:18:03,514.514 INFO    ] Checking for system updates...
[2026-08-29 17:18:03,549.549 INFO    ] 200
[2026-08-29 17:18:03,552.552 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:18:03,604.604 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:18:03,606.606 INFO    ] No update needed
[2026-08-29 17:18:03,609.609 INFO    ] Checking for camera pi updates...
[2026-08-29 17:18:03,642.642 INFO    ] 200
[2026-08-29 17:18:03,645.645 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:18:03,685.685 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:18:03,766.766 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:18:03,769.769 INFO    ] No camera update needed
[2026-08-29 17:18:03,772.772 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:18:03,775.775 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:18:03,780.780 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:18:03,785.785 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:18:05,827.827 INFO    ] ================================================
[2026-08-29 17:18:05,843.843 INFO    ] Launching Daemon at Sat Aug 29 17:18:05 IST 2026
[2026-08-29 17:18:05,855.855 INFO    ] ================================================
[2026-08-29 17:18:06,504.504 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:18:06
[2026-08-29 17:18:07,168.168 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:18:07,428.428 INFO    ] Initializing speech engine...
[2026-08-29 17:18:07,447.447 INFO    ] 2026-08-29 17:18:07
[2026-08-29 17:18:07,708.708 INFO    ] 2026-08-29 17:18:07
[2026-08-29 17:18:07,762.762 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:18:07,905.905 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:18:07,917.917 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:18:08,058.058 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:18:08,065.065 INFO    ] time= 29/08/2026 17:18:08
[2026-08-29 17:18:08,073.073 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:18:08,118.118 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:18:08,239.239 INFO    ] No existing commands found in stream
[2026-08-29 17:18:13,264.264 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:18:13,267.267 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-08-29 17:18:16,946.946 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:18:16,947.947 INFO    ] Checking for system updates...
[2026-08-29 17:18:16,969.969 INFO    ] 200
[2026-08-29 17:18:16,970.970 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:18:17,001.001 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:18:17,003.003 INFO    ] No update needed
[2026-08-29 17:18:17,004.004 INFO    ] Checking for camera pi updates...
[2026-08-29 17:18:17,025.025 INFO    ] 200
[2026-08-29 17:18:17,026.026 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:18:17,052.052 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:18:17,139.139 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:18:17,141.141 INFO    ] No camera update needed
[2026-08-29 17:18:17,145.145 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:18:17,147.147 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:18:17,154.154 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:18:17,160.160 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:18:19,203.203 INFO    ] ================================================
[2026-08-29 17:18:19,219.219 INFO    ] Launching Daemon at Sat Aug 29 17:18:19 IST 2026
[2026-08-29 17:18:19,230.230 INFO    ] ================================================
[2026-08-29 17:18:19,798.798 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:18:19
[2026-08-29 17:18:20,299.299 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:18:20,478.478 INFO    ] Initializing speech engine...
[2026-08-29 17:18:20,487.487 INFO    ] 2026-08-29 17:18:20
[2026-08-29 17:18:20,733.733 INFO    ] 2026-08-29 17:18:20
[2026-08-29 17:18:20,768.768 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:18:20,941.941 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:18:20,953.953 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:18:21,091.091 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:18:21,099.099 INFO    ] time= 29/08/2026 17:18:21
[2026-08-29 17:18:21,107.107 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:18:21,154.154 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:18:21,280.280 INFO    ] No existing commands found in stream
[2026-08-29 17:18:26,306.306 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:18:26,308.308 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-08-29 17:18:28,608.608 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:18:28,610.610 INFO    ] Checking for system updates...
[2026-08-29 17:18:28,631.631 INFO    ] 200
[2026-08-29 17:18:28,633.633 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:18:28,666.666 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:18:28,668.668 INFO    ] No update needed
[2026-08-29 17:18:28,669.669 INFO    ] Checking for camera pi updates...
[2026-08-29 17:18:28,692.692 INFO    ] 200
[2026-08-29 17:18:28,693.693 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:18:28,717.717 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:18:28,821.821 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:18:28,822.822 INFO    ] No camera update needed
[2026-08-29 17:18:28,824.824 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:18:28,825.825 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:18:28,829.829 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:18:28,831.831 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:18:30,873.873 INFO    ] ================================================
[2026-08-29 17:18:30,890.890 INFO    ] Launching Daemon at Sat Aug 29 17:18:30 IST 2026
[2026-08-29 17:18:30,901.901 INFO    ] ================================================
[2026-08-29 17:18:31,273.273 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:18:31
[2026-08-29 17:18:31,893.893 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:18:32,192.192 INFO    ] Initializing speech engine...
[2026-08-29 17:18:32,200.200 INFO    ] 2026-08-29 17:18:32
[2026-08-29 17:18:32,479.479 INFO    ] 2026-08-29 17:18:32
[2026-08-29 17:18:32,544.544 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:18:32,722.722 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:18:32,782.782 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:18:32,926.926 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:18:32,963.963 INFO    ] time= 29/08/2026 17:18:32
[2026-08-29 17:18:33,028.028 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:18:33,065.065 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:18:33,127.127 INFO    ] No existing commands found in stream
[2026-08-29 17:18:38,163.163 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:18:38,166.166 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-08-29 17:18:40,637.637 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:18:40,639.639 INFO    ] Checking for system updates...
[2026-08-29 17:18:40,662.662 INFO    ] 200
[2026-08-29 17:18:40,663.663 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:18:40,694.694 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:18:40,696.696 INFO    ] No update needed
[2026-08-29 17:18:40,697.697 INFO    ] Checking for camera pi updates...
[2026-08-29 17:18:40,716.716 INFO    ] 200
[2026-08-29 17:18:40,718.718 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:18:40,741.741 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:18:40,838.838 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:18:40,840.840 INFO    ] No camera update needed
[2026-08-29 17:18:40,841.841 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:18:40,843.843 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:18:40,846.846 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:18:40,849.849 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:18:42,890.890 INFO    ] ================================================
[2026-08-29 17:18:42,906.906 INFO    ] Launching Daemon at Sat Aug 29 17:18:42 IST 2026
[2026-08-29 17:18:42,917.917 INFO    ] ================================================
[2026-08-29 17:18:43,277.277 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:18:43
[2026-08-29 17:18:43,588.588 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:18:43,726.726 INFO    ] Initializing speech engine...
[2026-08-29 17:18:43,736.736 INFO    ] 2026-08-29 17:18:43
[2026-08-29 17:18:43,943.943 INFO    ] 2026-08-29 17:18:43
[2026-08-29 17:18:43,971.971 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:18:44,096.096 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:18:44,139.139 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:18:44,294.294 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:18:44,349.349 INFO    ] time= 29/08/2026 17:18:44
[2026-08-29 17:18:44,394.394 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:18:44,418.418 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:18:44,534.534 INFO    ] No existing commands found in stream
[2026-08-29 17:18:49,558.558 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:18:49,561.561 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-08-29 17:18:51,708.708 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:18:51,709.709 INFO    ] Checking for system updates...
[2026-08-29 17:18:51,730.730 INFO    ] 200
[2026-08-29 17:18:51,732.732 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:18:51,764.764 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:18:51,766.766 INFO    ] No update needed
[2026-08-29 17:18:51,767.767 INFO    ] Checking for camera pi updates...
[2026-08-29 17:18:51,786.786 INFO    ] 200
[2026-08-29 17:18:51,788.788 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:18:51,813.813 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:18:51,915.915 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:18:51,916.916 INFO    ] No camera update needed
[2026-08-29 17:18:51,923.923 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:18:51,924.924 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:18:51,928.928 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:18:51,932.932 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:18:53,971.971 INFO    ] ================================================
[2026-08-29 17:18:53,987.987 INFO    ] Launching Daemon at Sat Aug 29 17:18:53 IST 2026
[2026-08-29 17:18:54,997.997 INFO    ] ================================================
[2026-08-29 17:18:54,361.361 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:18:54
[2026-08-29 17:18:54,673.673 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:18:54,806.806 INFO    ] Initializing speech engine...
[2026-08-29 17:18:54,810.810 INFO    ] 2026-08-29 17:18:54
[2026-08-29 17:18:55,040.040 INFO    ] 2026-08-29 17:18:54
[2026-08-29 17:18:55,070.070 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:18:55,203.203 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:18:55,256.256 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:18:55,412.412 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:18:55,454.454 INFO    ] time= 29/08/2026 17:18:55
[2026-08-29 17:18:55,497.497 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:18:55,521.521 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:18:55,597.597 INFO    ] No existing commands found in stream
[2026-08-29 17:19:00,608.608 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:19:00,611.611 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-08-29 17:19:02,494.494 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:19:02,498.498 INFO    ] Checking for system updates...
[2026-08-29 17:19:02,538.538 INFO    ] 200
[2026-08-29 17:19:02,540.540 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:19:02,602.602 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:19:02,605.605 INFO    ] No update needed
[2026-08-29 17:19:02,608.608 INFO    ] Checking for camera pi updates...
[2026-08-29 17:19:02,647.647 INFO    ] 200
[2026-08-29 17:19:02,650.650 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:19:02,706.706 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:19:02,788.788 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:19:02,791.791 INFO    ] No camera update needed
[2026-08-29 17:19:02,794.794 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:19:02,797.797 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:19:02,804.804 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:19:02,811.811 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:19:04,853.853 INFO    ] ================================================
[2026-08-29 17:19:04,869.869 INFO    ] Launching Daemon at Sat Aug 29 17:19:04 IST 2026
[2026-08-29 17:19:04,880.880 INFO    ] ================================================
[2026-08-29 17:19:05,373.373 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:19:05
[2026-08-29 17:19:05,974.974 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:19:06,249.249 INFO    ] Initializing speech engine...
[2026-08-29 17:19:06,258.258 INFO    ] 2026-08-29 17:19:06
[2026-08-29 17:19:06,511.511 INFO    ] 2026-08-29 17:19:06
[2026-08-29 17:19:06,580.580 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:19:06,777.777 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:19:06,835.835 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:19:06,973.973 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:19:07,050.050 INFO    ] time= 29/08/2026 17:19:06
[2026-08-29 17:19:07,110.110 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:19:07,123.123 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:19:07,219.219 INFO    ] No existing commands found in stream
[2026-08-29 17:19:12,245.245 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:19:12,248.248 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-08-29 17:19:15,621.621 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:19:15,622.622 INFO    ] Checking for system updates...
[2026-08-29 17:19:15,643.643 INFO    ] 200
[2026-08-29 17:19:15,644.644 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:19:15,674.674 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:19:15,676.676 INFO    ] No update needed
[2026-08-29 17:19:15,677.677 INFO    ] Checking for camera pi updates...
[2026-08-29 17:19:15,696.696 INFO    ] 200
[2026-08-29 17:19:15,697.697 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:19:15,720.720 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:19:15,894.894 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:19:15,895.895 INFO    ] No camera update needed
[2026-08-29 17:19:15,897.897 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:19:15,898.898 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:19:15,901.901 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:19:15,904.904 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:19:17,951.951 INFO    ] ================================================
[2026-08-29 17:19:17,966.966 INFO    ] Launching Daemon at Sat Aug 29 17:19:17 IST 2026
[2026-08-29 17:19:17,979.979 INFO    ] ================================================
[2026-08-29 17:19:18,576.576 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:19:18
[2026-08-29 17:19:19,169.169 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:19:19,421.421 INFO    ] Initializing speech engine...
[2026-08-29 17:19:19,434.434 INFO    ] 2026-08-29 17:19:19
[2026-08-29 17:19:19,701.701 INFO    ] 2026-08-29 17:19:19
[2026-08-29 17:19:19,736.736 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:19:19,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:19:19,927.927 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:19:20,040.040 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:19:20,059.059 INFO    ] time= 29/08/2026 17:19:20
[2026-08-29 17:19:20,079.079 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:19:20,087.087 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:19:20,156.156 INFO    ] No existing commands found in stream
[2026-08-29 17:19:25,168.168 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:19:25,171.171 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 17:19:27,528.528 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:19:27,529.529 INFO    ] Checking for system updates...
[2026-08-29 17:19:27,550.550 INFO    ] 200
[2026-08-29 17:19:27,551.551 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:19:27,582.582 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:19:27,583.583 INFO    ] No update needed
[2026-08-29 17:19:27,585.585 INFO    ] Checking for camera pi updates...
[2026-08-29 17:19:27,604.604 INFO    ] 200
[2026-08-29 17:19:27,605.605 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:19:27,628.628 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:19:27,703.703 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:19:27,704.704 INFO    ] No camera update needed
[2026-08-29 17:19:27,705.705 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:19:27,706.706 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:19:27,709.709 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:19:27,712.712 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:19:29,750.750 INFO    ] ================================================
[2026-08-29 17:19:29,766.766 INFO    ] Launching Daemon at Sat Aug 29 17:19:29 IST 2026
[2026-08-29 17:19:29,777.777 INFO    ] ================================================
[2026-08-29 17:19:30,144.144 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:19:30
[2026-08-29 17:19:30,694.694 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:19:31,045.045 INFO    ] Initializing speech engine...
[2026-08-29 17:19:31,057.057 INFO    ] 2026-08-29 17:19:31
[2026-08-29 17:19:31,344.344 INFO    ] 2026-08-29 17:19:31
[2026-08-29 17:19:31,413.413 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:19:31,604.604 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:19:31,607.607 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:19:31,741.741 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:19:31,750.750 INFO    ] time= 29/08/2026 17:19:31
[2026-08-29 17:19:31,794.794 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:19:31,827.827 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:19:31,903.903 INFO    ] No existing commands found in stream
[2026-08-29 17:19:36,924.924 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:19:36,927.927 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-08-29 17:19:38,267.267 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:19:38,269.269 INFO    ] Checking for system updates...
[2026-08-29 17:19:38,290.290 INFO    ] 200
[2026-08-29 17:19:38,292.292 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:19:38,323.323 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:19:38,324.324 INFO    ] No update needed
[2026-08-29 17:19:38,325.325 INFO    ] Checking for camera pi updates...
[2026-08-29 17:19:38,345.345 INFO    ] 200
[2026-08-29 17:19:38,347.347 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:19:38,371.371 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:19:38,481.481 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:19:38,483.483 INFO    ] No camera update needed
[2026-08-29 17:19:38,484.484 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:19:38,485.485 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:19:38,488.488 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:19:38,491.491 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:19:40,529.529 INFO    ] ================================================
[2026-08-29 17:19:40,544.544 INFO    ] Launching Daemon at Sat Aug 29 17:19:40 IST 2026
[2026-08-29 17:19:40,555.555 INFO    ] ================================================
[2026-08-29 17:19:40,909.909 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:19:40
[2026-08-29 17:19:41,221.221 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:19:41,351.351 INFO    ] Initializing speech engine...
[2026-08-29 17:19:41,356.356 INFO    ] 2026-08-29 17:19:41
[2026-08-29 17:19:41,576.576 INFO    ] 2026-08-29 17:19:41
[2026-08-29 17:19:41,660.660 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:19:41,808.808 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:19:41,817.817 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:19:41,949.949 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:19:41,961.961 INFO    ] time= 29/08/2026 17:19:41
[2026-08-29 17:19:42,026.026 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:19:42,083.083 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:19:42,209.209 INFO    ] No existing commands found in stream
[2026-08-29 17:19:47,234.234 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:19:47,237.237 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-08-29 17:19:50,560.560 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:19:50,562.562 INFO    ] Checking for system updates...
[2026-08-29 17:19:50,583.583 INFO    ] 200
[2026-08-29 17:19:50,584.584 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:19:50,614.614 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:19:50,616.616 INFO    ] No update needed
[2026-08-29 17:19:50,617.617 INFO    ] Checking for camera pi updates...
[2026-08-29 17:19:50,637.637 INFO    ] 200
[2026-08-29 17:19:50,638.638 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:19:50,661.661 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:19:50,765.765 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:19:50,767.767 INFO    ] No camera update needed
[2026-08-29 17:19:50,768.768 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:19:50,769.769 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:19:50,773.773 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:19:50,776.776 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:19:52,817.817 INFO    ] ================================================
[2026-08-29 17:19:52,839.839 INFO    ] Launching Daemon at Sat Aug 29 17:19:52 IST 2026
[2026-08-29 17:19:52,850.850 INFO    ] ================================================
[2026-08-29 17:19:53,194.194 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:19:53
[2026-08-29 17:19:53,514.514 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:19:53,648.648 INFO    ] Initializing speech engine...
[2026-08-29 17:19:53,652.652 INFO    ] 2026-08-29 17:19:53
[2026-08-29 17:19:53,851.851 INFO    ] 2026-08-29 17:19:53
[2026-08-29 17:19:53,891.891 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:19:54,048.048 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:19:54,088.088 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:19:54,253.253 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:19:54,320.320 INFO    ] time= 29/08/2026 17:19:54
[2026-08-29 17:19:54,345.345 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:19:54,348.348 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:19:54,468.468 INFO    ] No existing commands found in stream
[2026-08-29 17:19:59,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:19:59,477.477 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 17:20:04,718.718 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:20:04,720.720 INFO    ] Checking for system updates...
[2026-08-29 17:20:04,756.756 INFO    ] 200
[2026-08-29 17:20:04,759.759 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:20:04,816.816 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:20:04,818.818 INFO    ] No update needed
[2026-08-29 17:20:04,821.821 INFO    ] Checking for camera pi updates...
[2026-08-29 17:20:04,854.854 INFO    ] 200
[2026-08-29 17:20:04,856.856 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:20:04,897.897 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:20:05,003.003 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:20:05,006.006 INFO    ] No camera update needed
[2026-08-29 17:20:05,008.008 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:20:05,010.010 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:20:05,016.016 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:20:05,020.020 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:20:07,060.060 INFO    ] ================================================
[2026-08-29 17:20:07,075.075 INFO    ] Launching Daemon at Sat Aug 29 17:20:07 IST 2026
[2026-08-29 17:20:07,086.086 INFO    ] ================================================
[2026-08-29 17:20:07,423.423 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:20:07
[2026-08-29 17:20:07,740.740 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:20:07,874.874 INFO    ] Initializing speech engine...
[2026-08-29 17:20:07,886.886 INFO    ] 2026-08-29 17:20:07
[2026-08-29 17:20:08,092.092 INFO    ] 2026-08-29 17:20:08
[2026-08-29 17:20:08,176.176 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:20:08,324.324 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:20:08,333.333 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:20:08,467.467 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:20:08,521.521 INFO    ] time= 29/08/2026 17:20:08
[2026-08-29 17:20:08,586.586 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:20:08,604.604 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:20:08,659.659 INFO    ] No existing commands found in stream
[2026-08-29 17:20:13,671.671 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:20:14,501.501 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-08-29 17:20:17,119.119 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:20:17,120.120 INFO    ] Checking for system updates...
[2026-08-29 17:20:17,141.141 INFO    ] 200
[2026-08-29 17:20:17,143.143 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:20:17,174.174 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:20:17,175.175 INFO    ] No update needed
[2026-08-29 17:20:17,177.177 INFO    ] Checking for camera pi updates...
[2026-08-29 17:20:17,196.196 INFO    ] 200
[2026-08-29 17:20:17,197.197 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:20:17,220.220 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:20:17,300.300 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:20:17,301.301 INFO    ] No camera update needed
[2026-08-29 17:20:17,303.303 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:20:17,304.304 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:20:17,307.307 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:20:17,310.310 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:20:19,350.350 INFO    ] ================================================
[2026-08-29 17:20:19,365.365 INFO    ] Launching Daemon at Sat Aug 29 17:20:19 IST 2026
[2026-08-29 17:20:19,375.375 INFO    ] ================================================
[2026-08-29 17:20:19,702.702 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:20:19
[2026-08-29 17:20:20,015.015 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:20:20,146.146 INFO    ] Initializing speech engine...
[2026-08-29 17:20:20,154.154 INFO    ] 2026-08-29 17:20:20
[2026-08-29 17:20:20,372.372 INFO    ] 2026-08-29 17:20:20
[2026-08-29 17:20:20,427.427 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:20:20,639.639 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:20:20,647.647 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:20:20,821.821 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:20:20,852.852 INFO    ] time= 29/08/2026 17:20:20
[2026-08-29 17:20:20,858.858 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:20:20,876.876 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:20:20,990.990 INFO    ] No existing commands found in stream
[2026-08-29 17:20:26,018.018 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:20:26,021.021 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-08-29 17:20:29,344.344 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:20:29,346.346 INFO    ] Checking for system updates...
[2026-08-29 17:20:29,367.367 INFO    ] 200
[2026-08-29 17:20:29,368.368 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:20:29,398.398 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:20:29,399.399 INFO    ] No update needed
[2026-08-29 17:20:29,400.400 INFO    ] Checking for camera pi updates...
[2026-08-29 17:20:29,423.423 INFO    ] 200
[2026-08-29 17:20:29,424.424 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:20:29,447.447 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:20:29,526.526 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:20:29,528.528 INFO    ] No camera update needed
[2026-08-29 17:20:29,530.530 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:20:29,533.533 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:20:29,538.538 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:20:29,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:20:31,585.585 INFO    ] ================================================
[2026-08-29 17:20:31,600.600 INFO    ] Launching Daemon at Sat Aug 29 17:20:31 IST 2026
[2026-08-29 17:20:31,610.610 INFO    ] ================================================
[2026-08-29 17:20:32,206.206 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:20:32
[2026-08-29 17:20:32,746.746 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:20:33,023.023 INFO    ] Initializing speech engine...
[2026-08-29 17:20:33,039.039 INFO    ] 2026-08-29 17:20:33
[2026-08-29 17:20:33,341.341 INFO    ] 2026-08-29 17:20:33
[2026-08-29 17:20:33,366.366 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:20:33,525.525 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:20:33,533.533 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:20:33,673.673 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:20:33,689.689 INFO    ] time= 29/08/2026 17:20:33
[2026-08-29 17:20:33,699.699 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:20:33,704.704 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:20:33,751.751 INFO    ] No existing commands found in stream
[2026-08-29 17:20:38,766.766 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:20:38,769.769 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-08-29 17:20:42,588.588 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:20:42,589.589 INFO    ] Checking for system updates...
[2026-08-29 17:20:42,610.610 INFO    ] 200
[2026-08-29 17:20:42,612.612 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:20:42,642.642 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:20:42,643.643 INFO    ] No update needed
[2026-08-29 17:20:42,644.644 INFO    ] Checking for camera pi updates...
[2026-08-29 17:20:42,663.663 INFO    ] 200
[2026-08-29 17:20:42,665.665 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:20:42,687.687 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:20:42,767.767 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:20:42,769.769 INFO    ] No camera update needed
[2026-08-29 17:20:42,770.770 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:20:42,771.771 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:20:42,774.774 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:20:42,777.777 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:20:44,815.815 INFO    ] ================================================
[2026-08-29 17:20:44,830.830 INFO    ] Launching Daemon at Sat Aug 29 17:20:44 IST 2026
[2026-08-29 17:20:44,841.841 INFO    ] ================================================
[2026-08-29 17:20:45,180.180 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:20:45
[2026-08-29 17:20:45,496.496 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:20:45,715.715 INFO    ] Initializing speech engine...
[2026-08-29 17:20:45,724.724 INFO    ] 2026-08-29 17:20:45
[2026-08-29 17:20:46,026.026 INFO    ] 2026-08-29 17:20:45
[2026-08-29 17:20:46,052.052 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:20:46,209.209 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:20:46,217.217 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:20:46,353.353 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:20:46,363.363 INFO    ] time= 29/08/2026 17:20:46
[2026-08-29 17:20:46,368.368 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:20:46,389.389 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:20:46,457.457 INFO    ] No existing commands found in stream
[2026-08-29 17:20:51,493.493 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:20:51,495.495 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-08-29 17:20:53,265.265 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:20:53,266.266 INFO    ] Checking for system updates...
[2026-08-29 17:20:53,287.287 INFO    ] 200
[2026-08-29 17:20:53,288.288 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:20:53,318.318 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:20:53,319.319 INFO    ] No update needed
[2026-08-29 17:20:53,320.320 INFO    ] Checking for camera pi updates...
[2026-08-29 17:20:53,340.340 INFO    ] 200
[2026-08-29 17:20:53,341.341 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:20:53,364.364 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:20:53,458.458 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:20:53,459.459 INFO    ] No camera update needed
[2026-08-29 17:20:53,460.460 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:20:53,461.461 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:20:53,464.464 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:20:53,467.467 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:20:55,505.505 INFO    ] ================================================
[2026-08-29 17:20:55,521.521 INFO    ] Launching Daemon at Sat Aug 29 17:20:55 IST 2026
[2026-08-29 17:20:55,531.531 INFO    ] ================================================
[2026-08-29 17:20:55,919.919 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:20:55
[2026-08-29 17:20:56,263.263 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:20:56,419.419 INFO    ] Initializing speech engine...
[2026-08-29 17:20:56,424.424 INFO    ] 2026-08-29 17:20:56
[2026-08-29 17:20:56,632.632 INFO    ] 2026-08-29 17:20:56
[2026-08-29 17:20:56,661.661 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:20:56,795.795 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:20:56,848.848 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:20:56,985.985 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:20:57,054.054 INFO    ] time= 29/08/2026 17:20:56
[2026-08-29 17:20:57,078.078 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:20:57,085.085 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:20:57,152.152 INFO    ] No existing commands found in stream
[2026-08-29 17:21:02,165.165 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:21:02,169.169 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-08-29 17:21:03,521.521 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:21:03,524.524 INFO    ] Checking for system updates...
[2026-08-29 17:21:03,566.566 INFO    ] 200
[2026-08-29 17:21:03,568.568 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:21:03,630.630 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:21:03,633.633 INFO    ] No update needed
[2026-08-29 17:21:03,635.635 INFO    ] Checking for camera pi updates...
[2026-08-29 17:21:03,683.683 INFO    ] 200
[2026-08-29 17:21:03,686.686 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:21:03,727.727 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:21:03,845.845 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:21:03,847.847 INFO    ] No camera update needed
[2026-08-29 17:21:03,849.849 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:21:03,852.852 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:21:03,857.857 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:21:03,862.862 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:21:05,901.901 INFO    ] ================================================
[2026-08-29 17:21:05,917.917 INFO    ] Launching Daemon at Sat Aug 29 17:21:05 IST 2026
[2026-08-29 17:21:05,927.927 INFO    ] ================================================
[2026-08-29 17:21:06,290.290 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:21:06
[2026-08-29 17:21:06,602.602 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:21:06,809.809 INFO    ] Initializing speech engine...
[2026-08-29 17:21:06,818.818 INFO    ] 2026-08-29 17:21:06
[2026-08-29 17:21:07,069.069 INFO    ] 2026-08-29 17:21:07
[2026-08-29 17:21:07,103.103 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:21:07,281.281 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:21:07,294.294 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:21:07,423.423 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:21:07,443.443 INFO    ] time= 29/08/2026 17:21:07
[2026-08-29 17:21:07,451.451 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:21:07,458.458 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:21:07,524.524 INFO    ] No existing commands found in stream
[2026-08-29 17:21:12,536.536 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:21:12,539.539 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-08-29 17:21:15,364.364 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:21:15,365.365 INFO    ] Checking for system updates...
[2026-08-29 17:21:15,385.385 INFO    ] 200
[2026-08-29 17:21:15,387.387 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:21:15,419.419 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:21:15,420.420 INFO    ] No update needed
[2026-08-29 17:21:15,422.422 INFO    ] Checking for camera pi updates...
[2026-08-29 17:21:15,441.441 INFO    ] 200
[2026-08-29 17:21:15,442.442 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:21:15,467.467 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:21:20,683.683 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:21:20,685.685 INFO    ] No camera update needed
[2026-08-29 17:21:20,688.688 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:21:20,690.690 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:21:20,695.695 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:21:20,700.700 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:21:22,739.739 INFO    ] ================================================
[2026-08-29 17:21:22,755.755 INFO    ] Launching Daemon at Sat Aug 29 17:21:22 IST 2026
[2026-08-29 17:21:22,767.767 INFO    ] ================================================
[2026-08-29 17:21:23,110.110 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:21:23
[2026-08-29 17:21:23,423.423 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:21:23,558.558 INFO    ] Initializing speech engine...
[2026-08-29 17:21:23,570.570 INFO    ] 2026-08-29 17:21:23
[2026-08-29 17:21:23,779.779 INFO    ] 2026-08-29 17:21:23
[2026-08-29 17:21:23,808.808 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:21:23,932.932 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:21:23,995.995 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:21:24,127.127 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:21:24,173.173 INFO    ] time= 29/08/2026 17:21:24
[2026-08-29 17:21:24,212.212 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:21:24,229.229 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:21:24,300.300 INFO    ] No existing commands found in stream
[2026-08-29 17:21:29,311.311 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:21:29,314.314 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-08-29 17:21:31,521.521 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:21:31,523.523 INFO    ] Checking for system updates...
[2026-08-29 17:21:31,545.545 INFO    ] 200
[2026-08-29 17:21:31,546.546 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:21:31,578.578 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:21:31,579.579 INFO    ] No update needed
[2026-08-29 17:21:31,581.581 INFO    ] Checking for camera pi updates...
[2026-08-29 17:21:31,600.600 INFO    ] 200
[2026-08-29 17:21:31,601.601 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:21:31,624.624 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:21:31,712.712 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:21:31,713.713 INFO    ] No camera update needed
[2026-08-29 17:21:31,714.714 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:21:31,716.716 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:21:31,719.719 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:21:31,721.721 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:21:33,760.760 INFO    ] ================================================
[2026-08-29 17:21:33,776.776 INFO    ] Launching Daemon at Sat Aug 29 17:21:33 IST 2026
[2026-08-29 17:21:33,788.788 INFO    ] ================================================
[2026-08-29 17:21:34,371.371 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:21:34
[2026-08-29 17:21:34,971.971 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:21:35,250.250 INFO    ] Initializing speech engine...
[2026-08-29 17:21:35,256.256 INFO    ] 2026-08-29 17:21:35
[2026-08-29 17:21:35,518.518 INFO    ] 2026-08-29 17:21:35
[2026-08-29 17:21:35,572.572 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:21:35,731.731 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:21:35,734.734 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:21:35,866.866 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:21:35,877.877 INFO    ] time= 29/08/2026 17:21:35
[2026-08-29 17:21:35,881.881 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:21:35,896.896 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:21:35,978.978 INFO    ] No existing commands found in stream
[2026-08-29 17:21:41,009.009 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:21:41,012.012 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-08-29 17:21:44,070.070 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:21:44,071.071 INFO    ] Checking for system updates...
[2026-08-29 17:21:44,093.093 INFO    ] 200
[2026-08-29 17:21:44,095.095 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:21:44,127.127 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:21:44,129.129 INFO    ] No update needed
[2026-08-29 17:21:44,131.131 INFO    ] Checking for camera pi updates...
[2026-08-29 17:21:44,164.164 INFO    ] 200
[2026-08-29 17:21:44,167.167 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:21:44,212.212 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:21:44,296.296 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:21:44,298.298 INFO    ] No camera update needed
[2026-08-29 17:21:44,301.301 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:21:44,303.303 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:21:44,309.309 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:21:44,314.314 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:21:46,358.358 INFO    ] ================================================
[2026-08-29 17:21:46,373.373 INFO    ] Launching Daemon at Sat Aug 29 17:21:46 IST 2026
[2026-08-29 17:21:46,385.385 INFO    ] ================================================
[2026-08-29 17:21:47,040.040 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:21:47
[2026-08-29 17:21:47,487.487 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:21:47,641.641 INFO    ] Initializing speech engine...
[2026-08-29 17:21:47,646.646 INFO    ] 2026-08-29 17:21:47
[2026-08-29 17:21:47,854.854 INFO    ] 2026-08-29 17:21:47
[2026-08-29 17:21:47,883.883 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:21:48,005.005 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:21:48,068.068 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:21:48,202.202 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:21:48,266.266 INFO    ] time= 29/08/2026 17:21:48
[2026-08-29 17:21:48,298.298 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:21:48,335.335 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:21:48,461.461 INFO    ] No existing commands found in stream
[2026-08-29 17:21:53,482.482 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:21:53,485.485 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-08-29 17:21:57,613.613 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:21:57,615.615 INFO    ] Checking for system updates...
[2026-08-29 17:21:57,635.635 INFO    ] 200
[2026-08-29 17:21:57,636.636 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:21:57,666.666 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:21:57,668.668 INFO    ] No update needed
[2026-08-29 17:21:57,669.669 INFO    ] Checking for camera pi updates...
[2026-08-29 17:21:57,690.690 INFO    ] 200
[2026-08-29 17:21:57,692.692 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:21:57,717.717 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:21:57,801.801 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:21:57,803.803 INFO    ] No camera update needed
[2026-08-29 17:21:57,804.804 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:21:57,805.805 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:21:57,808.808 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:21:57,811.811 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:21:59,849.849 INFO    ] ================================================
[2026-08-29 17:21:59,866.866 INFO    ] Launching Daemon at Sat Aug 29 17:21:59 IST 2026
[2026-08-29 17:21:59,877.877 INFO    ] ================================================
[2026-08-29 17:22:00,233.233 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:22:00
[2026-08-29 17:22:00,545.545 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:22:00,678.678 INFO    ] Initializing speech engine...
[2026-08-29 17:22:00,683.683 INFO    ] 2026-08-29 17:22:00
[2026-08-29 17:22:00,913.913 INFO    ] 2026-08-29 17:22:00
[2026-08-29 17:22:00,944.944 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:22:01,077.077 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:22:01,109.109 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:22:01,246.246 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:22:01,291.291 INFO    ] time= 29/08/2026 17:22:01
[2026-08-29 17:22:01,336.336 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:22:01,375.375 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:22:01,473.473 INFO    ] No existing commands found in stream
[2026-08-29 17:22:06,484.484 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:22:06,486.486 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-08-29 17:22:09,685.685 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:22:09,686.686 INFO    ] Checking for system updates...
[2026-08-29 17:22:09,706.706 INFO    ] 200
[2026-08-29 17:22:09,708.708 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:22:09,737.737 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:22:09,739.739 INFO    ] No update needed
[2026-08-29 17:22:09,740.740 INFO    ] Checking for camera pi updates...
[2026-08-29 17:22:09,761.761 INFO    ] 200
[2026-08-29 17:22:09,763.763 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:22:09,789.789 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:22:09,884.884 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:22:09,885.885 INFO    ] No camera update needed
[2026-08-29 17:22:09,886.886 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:22:09,887.887 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:22:09,890.890 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:22:09,893.893 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:22:11,924.924 INFO    ] ================================================
[2026-08-29 17:22:11,940.940 INFO    ] Launching Daemon at Sat Aug 29 17:22:11 IST 2026
[2026-08-29 17:22:11,951.951 INFO    ] ================================================
[2026-08-29 17:22:12,574.574 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:22:12
[2026-08-29 17:22:13,209.209 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:22:13,485.485 INFO    ] Initializing speech engine...
[2026-08-29 17:22:13,496.496 INFO    ] 2026-08-29 17:22:13
[2026-08-29 17:22:13,761.761 INFO    ] 2026-08-29 17:22:13
[2026-08-29 17:22:13,813.813 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:22:13,974.974 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:22:14,021.021 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:22:14,133.133 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:22:14,192.192 INFO    ] time= 29/08/2026 17:22:14
[2026-08-29 17:22:14,199.199 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:22:14,209.209 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:22:14,295.295 INFO    ] No existing commands found in stream
[2026-08-29 17:22:19,329.329 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:22:19,332.332 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-08-29 17:22:19,965.965 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:22:19,967.967 INFO    ] Checking for system updates...
[2026-08-29 17:22:19,987.987 INFO    ] 200
[2026-08-29 17:22:19,988.988 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:22:20,023.023 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:22:20,025.025 INFO    ] No update needed
[2026-08-29 17:22:20,026.026 INFO    ] Checking for camera pi updates...
[2026-08-29 17:22:20,047.047 INFO    ] 200
[2026-08-29 17:22:20,049.049 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:22:20,073.073 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:22:20,151.151 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:22:20,152.152 INFO    ] No camera update needed
[2026-08-29 17:22:20,154.154 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:22:20,155.155 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:22:20,158.158 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:22:20,160.160 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:22:22,199.199 INFO    ] ================================================
[2026-08-29 17:22:22,215.215 INFO    ] Launching Daemon at Sat Aug 29 17:22:22 IST 2026
[2026-08-29 17:22:22,226.226 INFO    ] ================================================
[2026-08-29 17:22:22,749.749 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:22:22
[2026-08-29 17:22:23,335.335 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:22:23,605.605 INFO    ] Initializing speech engine...
[2026-08-29 17:22:23,614.614 INFO    ] 2026-08-29 17:22:23
[2026-08-29 17:22:23,875.875 INFO    ] 2026-08-29 17:22:23
[2026-08-29 17:22:23,927.927 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:22:24,151.151 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:22:24,160.160 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:22:24,292.292 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:22:24,313.313 INFO    ] time= 29/08/2026 17:22:24
[2026-08-29 17:22:24,378.378 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:22:24,426.426 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:22:24,482.482 INFO    ] No existing commands found in stream
[2026-08-29 17:22:29,494.494 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:22:29,497.497 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-08-29 17:22:31,643.643 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:22:31,645.645 INFO    ] Checking for system updates...
[2026-08-29 17:22:31,666.666 INFO    ] 200
[2026-08-29 17:22:31,667.667 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:22:31,697.697 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:22:31,699.699 INFO    ] No update needed
[2026-08-29 17:22:31,700.700 INFO    ] Checking for camera pi updates...
[2026-08-29 17:22:31,719.719 INFO    ] 200
[2026-08-29 17:22:31,720.720 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:22:31,745.745 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:22:31,853.853 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:22:31,854.854 INFO    ] No camera update needed
[2026-08-29 17:22:31,856.856 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:22:31,858.858 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:22:31,862.862 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:22:31,865.865 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:22:33,910.910 INFO    ] ================================================
[2026-08-29 17:22:33,925.925 INFO    ] Launching Daemon at Sat Aug 29 17:22:33 IST 2026
[2026-08-29 17:22:33,937.937 INFO    ] ================================================
[2026-08-29 17:22:34,508.508 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:22:34
[2026-08-29 17:22:34,983.983 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:22:35,126.126 INFO    ] Initializing speech engine...
[2026-08-29 17:22:35,131.131 INFO    ] 2026-08-29 17:22:35
[2026-08-29 17:22:35,341.341 INFO    ] 2026-08-29 17:22:35
[2026-08-29 17:22:35,369.369 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:22:35,492.492 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:22:35,530.530 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:22:35,693.693 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:22:35,739.739 INFO    ] time= 29/08/2026 17:22:35
[2026-08-29 17:22:35,785.785 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:22:35,795.795 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:22:35,868.868 INFO    ] No existing commands found in stream
[2026-08-29 17:22:40,877.877 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:22:40,880.880 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-08-29 17:22:42,613.613 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:22:42,614.614 INFO    ] Checking for system updates...
[2026-08-29 17:22:42,636.636 INFO    ] 200
[2026-08-29 17:22:42,637.637 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:22:42,668.668 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:22:42,670.670 INFO    ] No update needed
[2026-08-29 17:22:42,671.671 INFO    ] Checking for camera pi updates...
[2026-08-29 17:22:42,690.690 INFO    ] 200
[2026-08-29 17:22:42,691.691 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:22:42,714.714 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:22:42,816.816 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:22:42,818.818 INFO    ] No camera update needed
[2026-08-29 17:22:42,819.819 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:22:42,820.820 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:22:42,823.823 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:22:42,826.826 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:22:44,868.868 INFO    ] ================================================
[2026-08-29 17:22:44,883.883 INFO    ] Launching Daemon at Sat Aug 29 17:22:44 IST 2026
[2026-08-29 17:22:44,895.895 INFO    ] ================================================
[2026-08-29 17:22:45,241.241 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:22:45
[2026-08-29 17:22:45,570.570 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:22:45,719.719 INFO    ] Initializing speech engine...
[2026-08-29 17:22:45,725.725 INFO    ] 2026-08-29 17:22:45
[2026-08-29 17:22:45,931.931 INFO    ] 2026-08-29 17:22:45
[2026-08-29 17:22:45,960.960 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:22:46,080.080 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:22:46,114.114 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:22:46,242.242 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:22:46,277.277 INFO    ] time= 29/08/2026 17:22:46
[2026-08-29 17:22:46,333.333 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:22:46,367.367 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:22:46,446.446 INFO    ] No existing commands found in stream
[2026-08-29 17:22:51,457.457 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:22:51,460.460 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-08-29 17:22:53,162.162 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:22:53,164.164 INFO    ] Checking for system updates...
[2026-08-29 17:22:53,185.185 INFO    ] 200
[2026-08-29 17:22:53,186.186 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:22:53,216.216 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:22:53,217.217 INFO    ] No update needed
[2026-08-29 17:22:53,218.218 INFO    ] Checking for camera pi updates...
[2026-08-29 17:22:53,237.237 INFO    ] 200
[2026-08-29 17:22:53,238.238 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:22:53,263.263 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:22:53,361.361 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:22:53,362.362 INFO    ] No camera update needed
[2026-08-29 17:22:53,363.363 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:22:53,365.365 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:22:53,367.367 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:22:53,370.370 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:22:55,408.408 INFO    ] ================================================
[2026-08-29 17:22:55,424.424 INFO    ] Launching Daemon at Sat Aug 29 17:22:55 IST 2026
[2026-08-29 17:22:55,434.434 INFO    ] ================================================
[2026-08-29 17:22:55,785.785 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:22:55
[2026-08-29 17:22:56,117.117 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:22:56,265.265 INFO    ] Initializing speech engine...
[2026-08-29 17:22:56,271.271 INFO    ] 2026-08-29 17:22:56
[2026-08-29 17:22:56,476.476 INFO    ] 2026-08-29 17:22:56
[2026-08-29 17:22:56,505.505 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:22:56,626.626 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:22:56,689.689 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:22:56,819.819 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:22:56,871.871 INFO    ] time= 29/08/2026 17:22:56
[2026-08-29 17:22:56,945.945 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:22:56,976.976 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:22:57,105.105 INFO    ] No existing commands found in stream
[2026-08-29 17:23:02,131.131 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:23:02,135.135 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-08-29 17:23:05,632.632 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:23:05,634.634 INFO    ] Checking for system updates...
[2026-08-29 17:23:05,655.655 INFO    ] 200
[2026-08-29 17:23:05,656.656 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:23:05,688.688 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:23:05,689.689 INFO    ] No update needed
[2026-08-29 17:23:05,690.690 INFO    ] Checking for camera pi updates...
[2026-08-29 17:23:05,710.710 INFO    ] 200
[2026-08-29 17:23:05,711.711 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:23:05,735.735 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:23:05,821.821 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:23:05,823.823 INFO    ] No camera update needed
[2026-08-29 17:23:05,824.824 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:23:05,825.825 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:23:05,828.828 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:23:05,831.831 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:23:07,869.869 INFO    ] ================================================
[2026-08-29 17:23:07,884.884 INFO    ] Launching Daemon at Sat Aug 29 17:23:07 IST 2026
[2026-08-29 17:23:07,894.894 INFO    ] ================================================
[2026-08-29 17:23:08,266.266 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:23:08
[2026-08-29 17:23:08,581.581 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:23:08,719.719 INFO    ] Initializing speech engine...
[2026-08-29 17:23:08,729.729 INFO    ] 2026-08-29 17:23:08
[2026-08-29 17:23:08,948.948 INFO    ] 2026-08-29 17:23:08
[2026-08-29 17:23:09,031.031 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:23:09,179.179 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:23:09,188.188 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:23:09,321.321 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:23:09,343.343 INFO    ] time= 29/08/2026 17:23:09
[2026-08-29 17:23:09,402.402 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:23:09,452.452 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:23:09,508.508 INFO    ] No existing commands found in stream
[2026-08-29 17:23:14,520.520 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:23:14,523.523 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-08-29 17:23:17,451.451 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:23:17,453.453 INFO    ] Checking for system updates...
[2026-08-29 17:23:17,474.474 INFO    ] 200
[2026-08-29 17:23:17,475.475 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:23:17,505.505 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:23:17,506.506 INFO    ] No update needed
[2026-08-29 17:23:17,507.507 INFO    ] Checking for camera pi updates...
[2026-08-29 17:23:17,526.526 INFO    ] 200
[2026-08-29 17:23:17,528.528 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:23:17,553.553 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:23:17,608.608 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:23:17,609.609 INFO    ] No camera update needed
[2026-08-29 17:23:17,610.610 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:23:17,612.612 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:23:17,615.615 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:23:17,617.617 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:23:19,655.655 INFO    ] ================================================
[2026-08-29 17:23:19,670.670 INFO    ] Launching Daemon at Sat Aug 29 17:23:19 IST 2026
[2026-08-29 17:23:19,681.681 INFO    ] ================================================
[2026-08-29 17:23:20,070.070 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:23:20
[2026-08-29 17:23:20,402.402 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:23:20,544.544 INFO    ] Initializing speech engine...
[2026-08-29 17:23:20,554.554 INFO    ] 2026-08-29 17:23:20
[2026-08-29 17:23:20,760.760 INFO    ] 2026-08-29 17:23:20
[2026-08-29 17:23:20,789.789 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:23:20,911.911 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:23:20,972.972 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:23:21,112.112 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:23:21,178.178 INFO    ] time= 29/08/2026 17:23:21
[2026-08-29 17:23:21,202.202 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:23:21,204.204 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:23:21,274.274 INFO    ] No existing commands found in stream
[2026-08-29 17:23:26,285.285 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:23:26,288.288 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-08-29 17:23:27,014.014 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:23:27,016.016 INFO    ] Checking for system updates...
[2026-08-29 17:23:27,066.066 INFO    ] 200
[2026-08-29 17:23:27,069.069 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 17:23:27,071.071 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-08-29 17:23:27,074.074 INFO    ] Checking for camera pi updates...
[2026-08-29 17:23:27,124.124 INFO    ] 200
[2026-08-29 17:23:27,126.126 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 17:23:27,129.129 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-08-29 17:23:27,132.132 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:23:27,135.135 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:23:27,140.140 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:23:27,146.146 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:23:29,188.188 INFO    ] ================================================
[2026-08-29 17:23:29,205.205 INFO    ] Launching Daemon at Sat Aug 29 17:23:29 IST 2026
[2026-08-29 17:23:29,222.222 INFO    ] ================================================
[2026-08-29 17:23:29,794.794 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:23:29
[2026-08-29 17:23:30,377.377 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:23:30,638.638 INFO    ] Initializing speech engine...
[2026-08-29 17:23:30,653.653 INFO    ] 2026-08-29 17:23:30
[2026-08-29 17:23:30,908.908 INFO    ] 2026-08-29 17:23:30
[2026-08-29 17:23:30,944.944 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:23:31,119.119 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:23:31,133.133 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:23:31,277.277 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:23:31,284.284 INFO    ] time= 29/08/2026 17:23:31
[2026-08-29 17:23:31,293.293 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:23:31,322.322 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:23:31,428.428 INFO    ] No existing commands found in stream
[2026-08-29 17:23:36,458.458 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:23:36,460.460 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-08-29 17:23:39,346.346 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:23:39,348.348 INFO    ] Checking for system updates...
[2026-08-29 17:23:39,369.369 INFO    ] 200
[2026-08-29 17:23:39,370.370 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:23:39,404.404 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:23:39,405.405 INFO    ] No update needed
[2026-08-29 17:23:39,406.406 INFO    ] Checking for camera pi updates...
[2026-08-29 17:23:39,425.425 INFO    ] 200
[2026-08-29 17:23:39,426.426 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:23:39,449.449 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:23:39,553.553 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:23:39,556.556 INFO    ] No camera update needed
[2026-08-29 17:23:39,558.558 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:23:39,560.560 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:23:39,565.565 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:23:39,570.570 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:23:41,614.614 INFO    ] ================================================
[2026-08-29 17:23:41,629.629 INFO    ] Launching Daemon at Sat Aug 29 17:23:41 IST 2026
[2026-08-29 17:23:41,640.640 INFO    ] ================================================
[2026-08-29 17:23:42,220.220 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:23:42
[2026-08-29 17:23:42,729.729 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:23:42,867.867 INFO    ] Initializing speech engine...
[2026-08-29 17:23:42,877.877 INFO    ] 2026-08-29 17:23:42
[2026-08-29 17:23:43,081.081 INFO    ] 2026-08-29 17:23:43
[2026-08-29 17:23:43,108.108 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:23:43,247.247 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:23:43,290.290 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:23:43,409.409 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:23:43,437.437 INFO    ] time= 29/08/2026 17:23:43
[2026-08-29 17:23:43,446.446 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:23:43,454.454 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:23:43,555.555 INFO    ] No existing commands found in stream
[2026-08-29 17:23:48,577.577 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:23:48,579.579 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 17:23:57,076.076 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:23:57,078.078 INFO    ] Checking for system updates...
[2026-08-29 17:23:57,099.099 INFO    ] 200
[2026-08-29 17:23:57,101.101 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:23:57,134.134 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:23:57,135.135 INFO    ] No update needed
[2026-08-29 17:23:57,136.136 INFO    ] Checking for camera pi updates...
[2026-08-29 17:23:57,155.155 INFO    ] 200
[2026-08-29 17:23:57,156.156 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:23:57,179.179 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:23:57,263.263 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:23:57,264.264 INFO    ] No camera update needed
[2026-08-29 17:23:57,265.265 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:23:57,267.267 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:23:57,269.269 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:23:57,272.272 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:23:59,312.312 INFO    ] ================================================
[2026-08-29 17:23:59,327.327 INFO    ] Launching Daemon at Sat Aug 29 17:23:59 IST 2026
[2026-08-29 17:23:59,336.336 INFO    ] ================================================
[2026-08-29 17:23:59,886.886 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:23:59
[2026-08-29 17:24:00,488.488 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:24:00,766.766 INFO    ] Initializing speech engine...
[2026-08-29 17:24:00,775.775 INFO    ] 2026-08-29 17:24:00
[2026-08-29 17:24:01,035.035 INFO    ] 2026-08-29 17:24:01
[2026-08-29 17:24:01,088.088 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:24:01,257.257 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:24:01,315.315 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:24:01,453.453 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:24:01,527.527 INFO    ] time= 29/08/2026 17:24:01
[2026-08-29 17:24:01,560.560 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:24:01,564.564 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:24:01,638.638 INFO    ] No existing commands found in stream
[2026-08-29 17:24:06,650.650 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:24:06,653.653 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-08-29 17:24:10,798.798 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:24:10,800.800 INFO    ] Checking for system updates...
[2026-08-29 17:24:10,820.820 INFO    ] 200
[2026-08-29 17:24:10,822.822 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:24:10,856.856 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:24:10,858.858 INFO    ] No update needed
[2026-08-29 17:24:10,859.859 INFO    ] Checking for camera pi updates...
[2026-08-29 17:24:10,878.878 INFO    ] 200
[2026-08-29 17:24:10,879.879 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:24:10,902.902 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:24:11,002.002 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:24:11,003.003 INFO    ] No camera update needed
[2026-08-29 17:24:11,005.005 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:24:11,006.006 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:24:11,009.009 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:24:11,011.011 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:24:13,050.050 INFO    ] ================================================
[2026-08-29 17:24:13,065.065 INFO    ] Launching Daemon at Sat Aug 29 17:24:13 IST 2026
[2026-08-29 17:24:13,076.076 INFO    ] ================================================
[2026-08-29 17:24:13,466.466 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:24:13
[2026-08-29 17:24:13,800.800 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:24:13,953.953 INFO    ] Initializing speech engine...
[2026-08-29 17:24:13,958.958 INFO    ] 2026-08-29 17:24:13
[2026-08-29 17:24:14,161.161 INFO    ] 2026-08-29 17:24:14
[2026-08-29 17:24:14,243.243 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:24:14,403.403 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:24:14,412.412 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:24:14,546.546 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:24:14,588.588 INFO    ] time= 29/08/2026 17:24:14
[2026-08-29 17:24:14,648.648 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:24:14,682.682 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:24:14,737.737 INFO    ] No existing commands found in stream
[2026-08-29 17:24:19,750.750 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:24:19,753.753 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 17:24:23,112.112 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:24:23,114.114 INFO    ] Checking for system updates...
[2026-08-29 17:24:23,136.136 INFO    ] 200
[2026-08-29 17:24:23,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:24:23,167.167 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:24:23,169.169 INFO    ] No update needed
[2026-08-29 17:24:23,170.170 INFO    ] Checking for camera pi updates...
[2026-08-29 17:24:23,189.189 INFO    ] 200
[2026-08-29 17:24:23,191.191 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:24:23,215.215 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:24:23,306.306 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:24:23,307.307 INFO    ] No camera update needed
[2026-08-29 17:24:23,309.309 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:24:23,310.310 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:24:23,313.313 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:24:23,316.316 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:24:25,356.356 INFO    ] ================================================
[2026-08-29 17:24:25,371.371 INFO    ] Launching Daemon at Sat Aug 29 17:24:25 IST 2026
[2026-08-29 17:24:25,382.382 INFO    ] ================================================
[2026-08-29 17:24:25,953.953 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:24:25
[2026-08-29 17:24:26,543.543 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:24:26,797.797 INFO    ] Initializing speech engine...
[2026-08-29 17:24:26,804.804 INFO    ] 2026-08-29 17:24:26
[2026-08-29 17:24:27,075.075 INFO    ] 2026-08-29 17:24:27
[2026-08-29 17:24:27,113.113 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:24:27,236.236 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:24:27,300.300 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:24:27,442.442 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:24:27,483.483 INFO    ] time= 29/08/2026 17:24:27
[2026-08-29 17:24:27,525.525 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:24:27,549.549 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:24:27,624.624 INFO    ] No existing commands found in stream
[2026-08-29 17:24:32,634.634 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:24:32,637.637 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-08-29 17:24:36,513.513 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:24:36,515.515 INFO    ] Checking for system updates...
[2026-08-29 17:24:36,535.535 INFO    ] 200
[2026-08-29 17:24:36,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:24:36,566.566 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:24:36,567.567 INFO    ] No update needed
[2026-08-29 17:24:36,568.568 INFO    ] Checking for camera pi updates...
[2026-08-29 17:24:36,588.588 INFO    ] 200
[2026-08-29 17:24:36,590.590 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:24:36,614.614 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:24:36,689.689 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:24:36,691.691 INFO    ] No camera update needed
[2026-08-29 17:24:36,692.692 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:24:36,693.693 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:24:36,696.696 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:24:36,699.699 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:24:38,731.731 INFO    ] ================================================
[2026-08-29 17:24:38,747.747 INFO    ] Launching Daemon at Sat Aug 29 17:24:38 IST 2026
[2026-08-29 17:24:38,757.757 INFO    ] ================================================
[2026-08-29 17:24:39,139.139 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:24:39
[2026-08-29 17:24:39,472.472 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:24:39,622.622 INFO    ] Initializing speech engine...
[2026-08-29 17:24:39,628.628 INFO    ] 2026-08-29 17:24:39
[2026-08-29 17:24:39,813.813 INFO    ] 2026-08-29 17:24:39
[2026-08-29 17:24:39,878.878 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:24:40,045.045 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:24:40,106.106 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:24:40,248.248 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:24:40,296.296 INFO    ] time= 29/08/2026 17:24:40
[2026-08-29 17:24:40,346.346 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:24:40,384.384 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:24:40,442.442 INFO    ] No existing commands found in stream
[2026-08-29 17:24:45,455.455 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:24:45,458.458 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-08-29 17:24:47,693.693 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:24:47,695.695 INFO    ] Checking for system updates...
[2026-08-29 17:24:47,715.715 INFO    ] 200
[2026-08-29 17:24:47,717.717 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:24:47,748.748 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:24:47,749.749 INFO    ] No update needed
[2026-08-29 17:24:47,751.751 INFO    ] Checking for camera pi updates...
[2026-08-29 17:24:47,770.770 INFO    ] 200
[2026-08-29 17:24:47,771.771 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:24:47,797.797 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:24:47,874.874 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:24:47,875.875 INFO    ] No camera update needed
[2026-08-29 17:24:47,877.877 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:24:47,878.878 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:24:47,881.881 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:24:47,884.884 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:24:49,922.922 INFO    ] ================================================
[2026-08-29 17:24:49,937.937 INFO    ] Launching Daemon at Sat Aug 29 17:24:49 IST 2026
[2026-08-29 17:24:49,948.948 INFO    ] ================================================
[2026-08-29 17:24:50,294.294 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:24:50
[2026-08-29 17:24:50,625.625 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:24:50,774.774 INFO    ] Initializing speech engine...
[2026-08-29 17:24:50,780.780 INFO    ] 2026-08-29 17:24:50
[2026-08-29 17:24:50,986.986 INFO    ] 2026-08-29 17:24:50
[2026-08-29 17:24:51,015.015 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:24:51,137.137 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:24:51,175.175 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:24:51,331.331 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:24:51,378.378 INFO    ] time= 29/08/2026 17:24:51
[2026-08-29 17:24:51,430.430 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:24:51,433.433 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:24:51,503.503 INFO    ] No existing commands found in stream
[2026-08-29 17:24:56,514.514 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:24:56,517.517 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-08-29 17:24:58,585.585 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:24:58,586.586 INFO    ] Checking for system updates...
[2026-08-29 17:24:58,607.607 INFO    ] 200
[2026-08-29 17:24:58,609.609 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:24:58,642.642 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:24:58,644.644 INFO    ] No update needed
[2026-08-29 17:24:58,645.645 INFO    ] Checking for camera pi updates...
[2026-08-29 17:24:58,667.667 INFO    ] 200
[2026-08-29 17:24:58,668.668 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:24:58,691.691 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:24:58,773.773 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:24:58,775.775 INFO    ] No camera update needed
[2026-08-29 17:24:58,776.776 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:24:58,777.777 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:24:58,782.782 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:24:58,785.785 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:25:00,825.825 INFO    ] ================================================
[2026-08-29 17:25:00,840.840 INFO    ] Launching Daemon at Sat Aug 29 17:25:00 IST 2026
[2026-08-29 17:25:00,851.851 INFO    ] ================================================
[2026-08-29 17:25:01,212.212 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:25:01
[2026-08-29 17:25:01,921.921 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:25:02,236.236 INFO    ] Initializing speech engine...
[2026-08-29 17:25:02,247.247 INFO    ] 2026-08-29 17:25:02
[2026-08-29 17:25:02,589.589 INFO    ] 2026-08-29 17:25:02
[2026-08-29 17:25:02,617.617 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:25:02,789.789 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:25:02,799.799 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:25:02,978.978 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:25:03,001.001 INFO    ] time= 29/08/2026 17:25:02
[2026-08-29 17:25:03,007.007 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:25:03,037.037 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:25:03,095.095 INFO    ] No existing commands found in stream
[2026-08-29 17:25:08,111.111 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:25:08,114.114 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 17:25:11,722.722 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:25:11,724.724 INFO    ] Checking for system updates...
[2026-08-29 17:25:11,745.745 INFO    ] 200
[2026-08-29 17:25:11,746.746 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:25:11,778.778 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:25:11,779.779 INFO    ] No update needed
[2026-08-29 17:25:11,780.780 INFO    ] Checking for camera pi updates...
[2026-08-29 17:25:11,799.799 INFO    ] 200
[2026-08-29 17:25:11,801.801 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:25:11,825.825 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:25:11,904.904 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:25:11,906.906 INFO    ] No camera update needed
[2026-08-29 17:25:11,907.907 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:25:11,908.908 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:25:11,911.911 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:25:11,914.914 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:25:13,952.952 INFO    ] ================================================
[2026-08-29 17:25:13,967.967 INFO    ] Launching Daemon at Sat Aug 29 17:25:13 IST 2026
[2026-08-29 17:25:13,977.977 INFO    ] ================================================
[2026-08-29 17:25:14,617.617 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:25:14
[2026-08-29 17:25:15,242.242 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:25:15,392.392 INFO    ] Initializing speech engine...
[2026-08-29 17:25:15,398.398 INFO    ] 2026-08-29 17:25:15
[2026-08-29 17:25:15,603.603 INFO    ] 2026-08-29 17:25:15
[2026-08-29 17:25:15,655.655 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:25:15,819.819 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:25:15,828.828 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:25:15,996.996 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:25:16,030.030 INFO    ] time= 29/08/2026 17:25:16
[2026-08-29 17:25:16,046.046 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:25:16,078.078 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:25:16,180.180 INFO    ] No existing commands found in stream
[2026-08-29 17:25:21,195.195 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:25:21,199.199 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-08-29 17:25:25,428.428 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:25:25,430.430 INFO    ] Checking for system updates...
[2026-08-29 17:25:25,450.450 INFO    ] 200
[2026-08-29 17:25:25,451.451 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:25:25,481.481 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:25:25,483.483 INFO    ] No update needed
[2026-08-29 17:25:25,484.484 INFO    ] Checking for camera pi updates...
[2026-08-29 17:25:25,504.504 INFO    ] 200
[2026-08-29 17:25:25,505.505 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:25:25,529.529 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:25:25,617.617 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:25:25,619.619 INFO    ] No camera update needed
[2026-08-29 17:25:25,620.620 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:25:25,622.622 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:25:25,625.625 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:25:25,628.628 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:25:27,666.666 INFO    ] ================================================
[2026-08-29 17:25:27,681.681 INFO    ] Launching Daemon at Sat Aug 29 17:25:27 IST 2026
[2026-08-29 17:25:27,691.691 INFO    ] ================================================
[2026-08-29 17:25:28,035.035 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:25:28
[2026-08-29 17:25:28,347.347 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:25:28,487.487 INFO    ] Initializing speech engine...
[2026-08-29 17:25:28,498.498 INFO    ] 2026-08-29 17:25:28
[2026-08-29 17:25:28,748.748 INFO    ] 2026-08-29 17:25:28
[2026-08-29 17:25:28,787.787 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:25:28,971.971 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:25:28,988.988 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:25:29,100.100 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:25:29,118.118 INFO    ] time= 29/08/2026 17:25:29
[2026-08-29 17:25:29,129.129 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:25:29,135.135 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:25:29,224.224 INFO    ] No existing commands found in stream
[2026-08-29 17:25:34,249.249 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:25:34,252.252 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-08-29 17:25:36,087.087 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:25:36,089.089 INFO    ] Checking for system updates...
[2026-08-29 17:25:36,109.109 INFO    ] 200
[2026-08-29 17:25:36,111.111 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:25:36,142.142 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:25:36,143.143 INFO    ] No update needed
[2026-08-29 17:25:36,145.145 INFO    ] Checking for camera pi updates...
[2026-08-29 17:25:36,166.166 INFO    ] 200
[2026-08-29 17:25:36,167.167 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:25:36,192.192 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:25:36,384.384 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:25:36,386.386 INFO    ] No camera update needed
[2026-08-29 17:25:36,387.387 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:25:36,388.388 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:25:36,391.391 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:25:36,394.394 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:25:38,433.433 INFO    ] ================================================
[2026-08-29 17:25:38,448.448 INFO    ] Launching Daemon at Sat Aug 29 17:25:38 IST 2026
[2026-08-29 17:25:38,458.458 INFO    ] ================================================
[2026-08-29 17:25:38,825.825 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:25:38
[2026-08-29 17:25:39,140.140 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:25:39,270.270 INFO    ] Initializing speech engine...
[2026-08-29 17:25:39,273.273 INFO    ] 2026-08-29 17:25:39
[2026-08-29 17:25:39,491.491 INFO    ] 2026-08-29 17:25:39
[2026-08-29 17:25:39,528.528 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:25:39,677.677 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:25:39,680.680 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:25:39,850.850 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:25:39,899.899 INFO    ] time= 29/08/2026 17:25:39
[2026-08-29 17:25:39,929.929 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:25:39,936.936 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:25:40,036.036 INFO    ] No existing commands found in stream
[2026-08-29 17:25:45,061.061 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:25:45,064.064 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-08-29 17:25:46,889.889 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:25:46,891.891 INFO    ] Checking for system updates...
[2026-08-29 17:25:46,913.913 INFO    ] 200
[2026-08-29 17:25:46,914.914 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:25:46,946.946 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:25:46,948.948 INFO    ] No update needed
[2026-08-29 17:25:46,949.949 INFO    ] Checking for camera pi updates...
[2026-08-29 17:25:46,968.968 INFO    ] 200
[2026-08-29 17:25:46,969.969 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:25:46,993.993 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:25:47,067.067 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:25:47,068.068 INFO    ] No camera update needed
[2026-08-29 17:25:47,070.070 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:25:47,071.071 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:25:47,074.074 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:25:47,077.077 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:25:49,117.117 INFO    ] ================================================
[2026-08-29 17:25:49,132.132 INFO    ] Launching Daemon at Sat Aug 29 17:25:49 IST 2026
[2026-08-29 17:25:49,143.143 INFO    ] ================================================
[2026-08-29 17:25:49,483.483 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:25:49
[2026-08-29 17:25:49,802.802 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:25:49,938.938 INFO    ] Initializing speech engine...
[2026-08-29 17:25:49,941.941 INFO    ] 2026-08-29 17:25:49
[2026-08-29 17:25:50,170.170 INFO    ] 2026-08-29 17:25:50
[2026-08-29 17:25:50,200.200 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:25:50,341.341 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:25:50,347.347 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:25:50,472.472 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:25:50,515.515 INFO    ] time= 29/08/2026 17:25:50
[2026-08-29 17:25:50,564.564 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:25:50,622.622 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:25:50,680.680 INFO    ] No existing commands found in stream
[2026-08-29 17:25:55,691.691 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:25:55,694.694 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-08-29 17:25:59,809.809 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:25:59,810.810 INFO    ] Checking for system updates...
[2026-08-29 17:25:59,831.831 INFO    ] 200
[2026-08-29 17:25:59,833.833 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:25:59,863.863 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:25:59,865.865 INFO    ] No update needed
[2026-08-29 17:25:59,866.866 INFO    ] Checking for camera pi updates...
[2026-08-29 17:25:59,885.885 INFO    ] 200
[2026-08-29 17:25:59,887.887 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:25:59,910.910 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:26:00,009.009 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:26:00,010.010 INFO    ] No camera update needed
[2026-08-29 17:26:00,012.012 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:26:00,013.013 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:26:00,017.017 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:26:00,019.019 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:26:02,060.060 INFO    ] ================================================
[2026-08-29 17:26:02,083.083 INFO    ] Launching Daemon at Sat Aug 29 17:26:02 IST 2026
[2026-08-29 17:26:02,101.101 INFO    ] ================================================
[2026-08-29 17:26:02,748.748 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:26:02
[2026-08-29 17:26:03,411.411 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:26:03,715.715 INFO    ] Initializing speech engine...
[2026-08-29 17:26:03,723.723 INFO    ] 2026-08-29 17:26:03
[2026-08-29 17:26:04,005.005 INFO    ] 2026-08-29 17:26:03
[2026-08-29 17:26:04,058.058 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:26:04,286.286 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:26:04,296.296 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:26:04,432.432 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:26:04,465.465 INFO    ] time= 29/08/2026 17:26:04
[2026-08-29 17:26:04,520.520 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:26:04,571.571 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:26:04,624.624 INFO    ] No existing commands found in stream
[2026-08-29 17:26:09,637.637 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:26:09,641.641 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-08-29 17:26:10,640.640 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:26:10,641.641 INFO    ] Checking for system updates...
[2026-08-29 17:26:10,663.663 INFO    ] 200
[2026-08-29 17:26:10,664.664 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:26:10,694.694 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:26:10,696.696 INFO    ] No update needed
[2026-08-29 17:26:10,697.697 INFO    ] Checking for camera pi updates...
[2026-08-29 17:26:10,718.718 INFO    ] 200
[2026-08-29 17:26:10,719.719 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:26:10,742.742 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:26:10,824.824 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:26:10,826.826 INFO    ] No camera update needed
[2026-08-29 17:26:10,829.829 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:26:10,831.831 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:26:10,836.836 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:26:10,841.841 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:26:12,881.881 INFO    ] ================================================
[2026-08-29 17:26:12,896.896 INFO    ] Launching Daemon at Sat Aug 29 17:26:12 IST 2026
[2026-08-29 17:26:12,907.907 INFO    ] ================================================
[2026-08-29 17:26:13,492.492 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:26:13
[2026-08-29 17:26:14,006.006 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:26:14,268.268 INFO    ] Initializing speech engine...
[2026-08-29 17:26:14,282.282 INFO    ] 2026-08-29 17:26:14
[2026-08-29 17:26:14,537.537 INFO    ] 2026-08-29 17:26:14
[2026-08-29 17:26:14,574.574 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:26:14,746.746 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:26:14,759.759 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:26:14,901.901 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:26:14,909.909 INFO    ] time= 29/08/2026 17:26:14
[2026-08-29 17:26:14,915.915 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:26:14,966.966 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:26:15,080.080 INFO    ] No existing commands found in stream
[2026-08-29 17:26:20,105.105 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:26:20,108.108 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-08-29 17:26:21,152.152 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:26:21,153.153 INFO    ] Checking for system updates...
[2026-08-29 17:26:21,176.176 INFO    ] 200
[2026-08-29 17:26:21,177.177 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:26:21,207.207 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:26:21,208.208 INFO    ] No update needed
[2026-08-29 17:26:21,210.210 INFO    ] Checking for camera pi updates...
[2026-08-29 17:26:21,229.229 INFO    ] 200
[2026-08-29 17:26:21,230.230 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:26:21,254.254 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:26:21,350.350 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:26:21,351.351 INFO    ] No camera update needed
[2026-08-29 17:26:21,352.352 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:26:21,354.354 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:26:21,357.357 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:26:21,359.359 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:26:23,399.399 INFO    ] ================================================
[2026-08-29 17:26:23,414.414 INFO    ] Launching Daemon at Sat Aug 29 17:26:23 IST 2026
[2026-08-29 17:26:23,425.425 INFO    ] ================================================
[2026-08-29 17:26:23,936.936 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:26:23
[2026-08-29 17:26:24,541.541 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:26:24,819.819 INFO    ] Initializing speech engine...
[2026-08-29 17:26:24,827.827 INFO    ] 2026-08-29 17:26:24
[2026-08-29 17:26:25,092.092 INFO    ] 2026-08-29 17:26:25
[2026-08-29 17:26:25,148.148 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:26:25,376.376 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:26:25,382.382 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:26:25,517.517 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:26:25,587.587 INFO    ] time= 29/08/2026 17:26:25
[2026-08-29 17:26:25,641.641 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:26:25,651.651 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:26:25,771.771 INFO    ] No existing commands found in stream
[2026-08-29 17:26:30,801.801 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:26:30,804.804 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-08-29 17:26:31,846.846 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:26:31,849.849 INFO    ] Checking for system updates...
[2026-08-29 17:26:31,888.888 INFO    ] 200
[2026-08-29 17:26:31,891.891 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:26:31,951.951 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:26:31,954.954 INFO    ] No update needed
[2026-08-29 17:26:31,957.957 INFO    ] Checking for camera pi updates...
[2026-08-29 17:26:31,998.998 INFO    ] 200
[2026-08-29 17:26:32,001.001 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:26:32,045.045 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:26:32,163.163 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:26:32,166.166 INFO    ] No camera update needed
[2026-08-29 17:26:32,169.169 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:26:32,171.171 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:26:32,178.178 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:26:32,184.184 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:26:34,224.224 INFO    ] ================================================
[2026-08-29 17:26:34,239.239 INFO    ] Launching Daemon at Sat Aug 29 17:26:34 IST 2026
[2026-08-29 17:26:34,250.250 INFO    ] ================================================
[2026-08-29 17:26:34,830.830 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:26:34
[2026-08-29 17:26:35,176.176 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:26:35,314.314 INFO    ] Initializing speech engine...
[2026-08-29 17:26:35,321.321 INFO    ] 2026-08-29 17:26:35
[2026-08-29 17:26:35,548.548 INFO    ] 2026-08-29 17:26:35
[2026-08-29 17:26:35,580.580 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:26:35,714.714 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:26:35,752.752 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:26:35,906.906 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:26:35,939.939 INFO    ] time= 29/08/2026 17:26:35
[2026-08-29 17:26:36,002.002 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:26:36,038.038 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:26:36,116.116 INFO    ] No existing commands found in stream
[2026-08-29 17:26:41,126.126 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:26:41,135.135 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-08-29 17:26:42,474.474 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:26:42,476.476 INFO    ] Checking for system updates...
[2026-08-29 17:26:42,497.497 INFO    ] 200
[2026-08-29 17:26:42,498.498 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:26:42,529.529 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:26:42,530.530 INFO    ] No update needed
[2026-08-29 17:26:42,532.532 INFO    ] Checking for camera pi updates...
[2026-08-29 17:26:42,551.551 INFO    ] 200
[2026-08-29 17:26:42,553.553 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:26:42,576.576 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:26:42,664.664 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:26:42,665.665 INFO    ] No camera update needed
[2026-08-29 17:26:42,666.666 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:26:42,668.668 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:26:42,671.671 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:26:42,674.674 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:26:44,713.713 INFO    ] ================================================
[2026-08-29 17:26:44,728.728 INFO    ] Launching Daemon at Sat Aug 29 17:26:44 IST 2026
[2026-08-29 17:26:44,739.739 INFO    ] ================================================
[2026-08-29 17:26:45,065.065 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:26:45
[2026-08-29 17:26:45,378.378 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:26:45,552.552 INFO    ] Initializing speech engine...
[2026-08-29 17:26:45,558.558 INFO    ] 2026-08-29 17:26:45
[2026-08-29 17:26:45,855.855 INFO    ] 2026-08-29 17:26:45
[2026-08-29 17:26:45,892.892 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:26:46,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:26:46,047.047 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:26:46,199.199 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:26:46,211.211 INFO    ] time= 29/08/2026 17:26:46
[2026-08-29 17:26:46,217.217 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:26:46,237.237 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:26:46,294.294 INFO    ] No existing commands found in stream
[2026-08-29 17:26:51,305.305 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:26:51,313.313 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-08-29 17:26:53,961.961 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:26:53,963.963 INFO    ] Checking for system updates...
[2026-08-29 17:26:53,984.984 INFO    ] 200
[2026-08-29 17:26:53,986.986 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:26:54,018.018 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:26:54,020.020 INFO    ] No update needed
[2026-08-29 17:26:54,021.021 INFO    ] Checking for camera pi updates...
[2026-08-29 17:26:54,041.041 INFO    ] 200
[2026-08-29 17:26:54,043.043 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:26:54,095.095 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:26:54,192.192 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:26:54,195.195 INFO    ] No camera update needed
[2026-08-29 17:26:54,198.198 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:26:54,200.200 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:26:54,207.207 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:26:54,212.212 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:26:56,254.254 INFO    ] ================================================
[2026-08-29 17:26:56,269.269 INFO    ] Launching Daemon at Sat Aug 29 17:26:56 IST 2026
[2026-08-29 17:26:56,280.280 INFO    ] ================================================
[2026-08-29 17:26:56,848.848 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:26:56
[2026-08-29 17:26:57,314.314 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:26:57,451.451 INFO    ] Initializing speech engine...
[2026-08-29 17:26:57,465.465 INFO    ] 2026-08-29 17:26:57
[2026-08-29 17:26:57,729.729 INFO    ] 2026-08-29 17:26:57
[2026-08-29 17:26:57,763.763 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:26:57,915.915 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:26:57,922.922 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:26:58,076.076 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:26:58,086.086 INFO    ] time= 29/08/2026 17:26:58
[2026-08-29 17:26:58,090.090 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:26:58,095.095 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:26:58,167.167 INFO    ] No existing commands found in stream
[2026-08-29 17:27:03,179.179 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:27:03,181.181 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 17:27:05,486.486 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:27:05,488.488 INFO    ] Checking for system updates...
[2026-08-29 17:27:05,509.509 INFO    ] 200
[2026-08-29 17:27:05,510.510 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:27:05,540.540 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:27:05,541.541 INFO    ] No update needed
[2026-08-29 17:27:05,543.543 INFO    ] Checking for camera pi updates...
[2026-08-29 17:27:05,562.562 INFO    ] 200
[2026-08-29 17:27:05,563.563 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:27:05,587.587 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:27:05,664.664 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:27:05,665.665 INFO    ] No camera update needed
[2026-08-29 17:27:05,667.667 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:27:05,668.668 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:27:05,671.671 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:27:05,673.673 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:27:07,711.711 INFO    ] ================================================
[2026-08-29 17:27:07,726.726 INFO    ] Launching Daemon at Sat Aug 29 17:27:07 IST 2026
[2026-08-29 17:27:07,737.737 INFO    ] ================================================
[2026-08-29 17:27:08,064.064 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:27:08
[2026-08-29 17:27:08,383.383 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:27:08,638.638 INFO    ] Initializing speech engine...
[2026-08-29 17:27:08,647.647 INFO    ] 2026-08-29 17:27:08
[2026-08-29 17:27:08,941.941 INFO    ] 2026-08-29 17:27:08
[2026-08-29 17:27:08,976.976 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:27:09,130.130 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:27:09,142.142 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:27:09,285.285 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:27:09,295.295 INFO    ] time= 29/08/2026 17:27:09
[2026-08-29 17:27:09,300.300 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:27:09,323.323 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:27:09,374.374 INFO    ] No existing commands found in stream
[2026-08-29 17:27:14,385.385 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:27:14,387.387 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-08-29 17:27:16,885.885 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:27:16,887.887 INFO    ] Checking for system updates...
[2026-08-29 17:27:16,907.907 INFO    ] 200
[2026-08-29 17:27:16,908.908 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:27:16,938.938 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:27:16,939.939 INFO    ] No update needed
[2026-08-29 17:27:16,940.940 INFO    ] Checking for camera pi updates...
[2026-08-29 17:27:16,960.960 INFO    ] 200
[2026-08-29 17:27:16,962.962 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:27:16,985.985 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:27:17,062.062 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:27:17,063.063 INFO    ] No camera update needed
[2026-08-29 17:27:17,064.064 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:27:17,065.065 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:27:17,068.068 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:27:17,071.071 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:27:19,110.110 INFO    ] ================================================
[2026-08-29 17:27:19,126.126 INFO    ] Launching Daemon at Sat Aug 29 17:27:19 IST 2026
[2026-08-29 17:27:19,143.143 INFO    ] ================================================
[2026-08-29 17:27:19,476.476 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:27:19
[2026-08-29 17:27:19,790.790 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:27:20,000.000 INFO    ] Initializing speech engine...
[2026-08-29 17:27:20,008.008 INFO    ] 2026-08-29 17:27:20
[2026-08-29 17:27:20,266.266 INFO    ] 2026-08-29 17:27:20
[2026-08-29 17:27:20,318.318 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:27:20,462.462 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:27:20,473.473 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:27:20,615.615 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:27:20,623.623 INFO    ] time= 29/08/2026 17:27:20
[2026-08-29 17:27:20,629.629 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:27:20,675.675 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:27:20,789.789 INFO    ] No existing commands found in stream
[2026-08-29 17:27:25,815.815 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:27:25,817.817 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-08-29 17:27:28,666.666 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:27:28,667.667 INFO    ] Checking for system updates...
[2026-08-29 17:27:28,688.688 INFO    ] 200
[2026-08-29 17:27:28,689.689 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:27:28,719.719 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:27:28,720.720 INFO    ] No update needed
[2026-08-29 17:27:28,721.721 INFO    ] Checking for camera pi updates...
[2026-08-29 17:27:28,741.741 INFO    ] 200
[2026-08-29 17:27:28,744.744 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:27:28,784.784 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:27:28,872.872 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:27:28,874.874 INFO    ] No camera update needed
[2026-08-29 17:27:28,876.876 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:27:28,879.879 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:27:28,884.884 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:27:28,889.889 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:27:30,929.929 INFO    ] ================================================
[2026-08-29 17:27:30,944.944 INFO    ] Launching Daemon at Sat Aug 29 17:27:30 IST 2026
[2026-08-29 17:27:30,954.954 INFO    ] ================================================
[2026-08-29 17:27:31,553.553 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:27:31
[2026-08-29 17:27:32,179.179 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:27:32,518.518 INFO    ] Initializing speech engine...
[2026-08-29 17:27:32,526.526 INFO    ] 2026-08-29 17:27:32
[2026-08-29 17:27:32,812.812 INFO    ] 2026-08-29 17:27:32
[2026-08-29 17:27:32,841.841 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:27:33,036.036 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:27:33,041.041 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:27:33,150.150 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:27:33,157.157 INFO    ] time= 29/08/2026 17:27:33
[2026-08-29 17:27:33,180.180 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:27:33,186.186 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:27:33,299.299 INFO    ] No existing commands found in stream
[2026-08-29 17:27:38,318.318 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:27:38,321.321 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-08-29 17:27:41,575.575 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:27:41,577.577 INFO    ] Checking for system updates...
[2026-08-29 17:27:41,597.597 INFO    ] 200
[2026-08-29 17:27:41,598.598 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:27:41,628.628 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:27:41,629.629 INFO    ] No update needed
[2026-08-29 17:27:41,631.631 INFO    ] Checking for camera pi updates...
[2026-08-29 17:27:41,650.650 INFO    ] 200
[2026-08-29 17:27:41,651.651 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:27:41,674.674 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:27:41,772.772 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:27:41,773.773 INFO    ] No camera update needed
[2026-08-29 17:27:41,774.774 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:27:41,776.776 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:27:41,778.778 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:27:41,781.781 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:27:43,819.819 INFO    ] ================================================
[2026-08-29 17:27:43,834.834 INFO    ] Launching Daemon at Sat Aug 29 17:27:43 IST 2026
[2026-08-29 17:27:43,845.845 INFO    ] ================================================
[2026-08-29 17:27:44,349.349 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:27:44
[2026-08-29 17:27:44,947.947 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:27:45,197.197 INFO    ] Initializing speech engine...
[2026-08-29 17:27:45,209.209 INFO    ] 2026-08-29 17:27:45
[2026-08-29 17:27:45,471.471 INFO    ] 2026-08-29 17:27:45
[2026-08-29 17:27:45,507.507 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:27:45,679.679 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:27:45,692.692 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:27:45,832.832 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:27:45,839.839 INFO    ] time= 29/08/2026 17:27:45
[2026-08-29 17:27:45,844.844 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:27:45,850.850 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:27:45,917.917 INFO    ] No existing commands found in stream
[2026-08-29 17:27:50,952.952 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:27:50,955.955 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-08-29 17:27:52,432.432 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:27:52,434.434 INFO    ] Checking for system updates...
[2026-08-29 17:27:52,454.454 INFO    ] 200
[2026-08-29 17:27:52,456.456 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:27:52,486.486 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:27:52,487.487 INFO    ] No update needed
[2026-08-29 17:27:52,488.488 INFO    ] Checking for camera pi updates...
[2026-08-29 17:27:52,507.507 INFO    ] 200
[2026-08-29 17:27:52,508.508 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:27:52,531.531 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:27:52,708.708 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:27:52,709.709 INFO    ] No camera update needed
[2026-08-29 17:27:52,711.711 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:27:52,712.712 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:27:52,715.715 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:27:52,717.717 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:27:54,757.757 INFO    ] ================================================
[2026-08-29 17:27:54,773.773 INFO    ] Launching Daemon at Sat Aug 29 17:27:54 IST 2026
[2026-08-29 17:27:54,783.783 INFO    ] ================================================
[2026-08-29 17:27:55,128.128 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:27:55
[2026-08-29 17:27:55,449.449 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:27:55,584.584 INFO    ] Initializing speech engine...
[2026-08-29 17:27:55,590.590 INFO    ] 2026-08-29 17:27:55
[2026-08-29 17:27:55,805.805 INFO    ] 2026-08-29 17:27:55
[2026-08-29 17:27:55,833.833 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:27:55,948.948 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:27:55,952.952 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:27:56,085.085 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:27:56,090.090 INFO    ] time= 29/08/2026 17:27:56
[2026-08-29 17:27:56,096.096 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:27:56,144.144 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:27:56,213.213 INFO    ] No existing commands found in stream
[2026-08-29 17:28:01,246.246 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:28:01,251.251 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-08-29 17:28:04,599.599 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:28:04,600.600 INFO    ] Checking for system updates...
[2026-08-29 17:28:04,620.620 INFO    ] 200
[2026-08-29 17:28:04,622.622 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:28:04,652.652 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:28:04,654.654 INFO    ] No update needed
[2026-08-29 17:28:04,655.655 INFO    ] Checking for camera pi updates...
[2026-08-29 17:28:04,674.674 INFO    ] 200
[2026-08-29 17:28:04,675.675 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:28:04,698.698 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:28:04,778.778 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:28:04,779.779 INFO    ] No camera update needed
[2026-08-29 17:28:04,780.780 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:28:04,781.781 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:28:04,785.785 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:28:04,787.787 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:28:06,825.825 INFO    ] ================================================
[2026-08-29 17:28:06,840.840 INFO    ] Launching Daemon at Sat Aug 29 17:28:06 IST 2026
[2026-08-29 17:28:06,851.851 INFO    ] ================================================
[2026-08-29 17:28:07,200.200 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:28:07
[2026-08-29 17:28:07,517.517 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:28:07,660.660 INFO    ] Initializing speech engine...
[2026-08-29 17:28:07,665.665 INFO    ] 2026-08-29 17:28:07
[2026-08-29 17:28:07,868.868 INFO    ] 2026-08-29 17:28:07
[2026-08-29 17:28:07,898.898 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:28:08,018.018 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:28:08,068.068 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:28:08,244.244 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:28:08,262.262 INFO    ] time= 29/08/2026 17:28:08
[2026-08-29 17:28:08,311.311 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:28:08,360.360 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:28:08,463.463 INFO    ] No existing commands found in stream
[2026-08-29 17:28:13,483.483 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:28:13,486.486 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-08-29 17:28:13,911.911 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:28:13,913.913 INFO    ] Checking for system updates...
[2026-08-29 17:28:13,934.934 INFO    ] 200
[2026-08-29 17:28:13,935.935 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:28:13,965.965 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:28:13,966.966 INFO    ] No update needed
[2026-08-29 17:28:13,967.967 INFO    ] Checking for camera pi updates...
[2026-08-29 17:28:13,987.987 INFO    ] 200
[2026-08-29 17:28:13,988.988 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:28:14,011.011 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:28:14,098.098 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:28:14,099.099 INFO    ] No camera update needed
[2026-08-29 17:28:14,100.100 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:28:14,101.101 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:28:14,105.105 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:28:14,107.107 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:28:16,147.147 INFO    ] ================================================
[2026-08-29 17:28:16,162.162 INFO    ] Launching Daemon at Sat Aug 29 17:28:16 IST 2026
[2026-08-29 17:28:16,172.172 INFO    ] ================================================
[2026-08-29 17:28:16,508.508 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:28:16
[2026-08-29 17:28:16,828.828 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:28:17,102.102 INFO    ] Initializing speech engine...
[2026-08-29 17:28:17,122.122 INFO    ] 2026-08-29 17:28:17
[2026-08-29 17:28:17,394.394 INFO    ] 2026-08-29 17:28:17
[2026-08-29 17:28:17,433.433 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:28:17,630.630 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:28:17,647.647 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:28:17,774.774 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:28:17,783.783 INFO    ] time= 29/08/2026 17:28:17
[2026-08-29 17:28:17,817.817 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:28:17,825.825 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:28:17,906.906 INFO    ] No existing commands found in stream
[2026-08-29 17:28:22,922.922 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:28:22,925.925 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-08-29 17:28:25,487.487 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:28:25,489.489 INFO    ] Checking for system updates...
[2026-08-29 17:28:25,525.525 INFO    ] 200
[2026-08-29 17:28:25,528.528 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:28:25,580.580 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:28:25,583.583 INFO    ] No update needed
[2026-08-29 17:28:25,585.585 INFO    ] Checking for camera pi updates...
[2026-08-29 17:28:25,619.619 INFO    ] 200
[2026-08-29 17:28:25,622.622 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:28:25,663.663 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:28:25,743.743 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:28:25,745.745 INFO    ] No camera update needed
[2026-08-29 17:28:25,747.747 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:28:25,750.750 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:28:25,755.755 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:28:25,760.760 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:28:27,800.800 INFO    ] ================================================
[2026-08-29 17:28:27,815.815 INFO    ] Launching Daemon at Sat Aug 29 17:28:27 IST 2026
[2026-08-29 17:28:27,826.826 INFO    ] ================================================
[2026-08-29 17:28:28,195.195 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:28:28
[2026-08-29 17:28:28,514.514 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:28:28,648.648 INFO    ] Initializing speech engine...
[2026-08-29 17:28:28,652.652 INFO    ] 2026-08-29 17:28:28
[2026-08-29 17:28:28,886.886 INFO    ] 2026-08-29 17:28:28
[2026-08-29 17:28:28,916.916 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:28:29,048.048 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:28:29,103.103 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:28:29,259.259 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:28:29,327.327 INFO    ] time= 29/08/2026 17:28:29
[2026-08-29 17:28:29,352.352 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:28:29,369.369 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:28:29,446.446 INFO    ] No existing commands found in stream
[2026-08-29 17:28:34,483.483 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:28:34,486.486 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-08-29 17:28:35,021.021 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:28:35,023.023 INFO    ] Checking for system updates...
[2026-08-29 17:28:35,043.043 INFO    ] 200
[2026-08-29 17:28:35,045.045 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:28:35,074.074 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:28:35,076.076 INFO    ] No update needed
[2026-08-29 17:28:35,077.077 INFO    ] Checking for camera pi updates...
[2026-08-29 17:28:35,096.096 INFO    ] 200
[2026-08-29 17:28:35,097.097 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:28:35,120.120 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:28:35,192.192 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:28:35,193.193 INFO    ] No camera update needed
[2026-08-29 17:28:35,195.195 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:28:35,196.196 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:28:35,199.199 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:28:35,201.201 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:28:37,239.239 INFO    ] ================================================
[2026-08-29 17:28:37,255.255 INFO    ] Launching Daemon at Sat Aug 29 17:28:37 IST 2026
[2026-08-29 17:28:37,269.269 INFO    ] ================================================
[2026-08-29 17:28:37,598.598 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:28:37
[2026-08-29 17:28:37,914.914 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:28:38,057.057 INFO    ] Initializing speech engine...
[2026-08-29 17:28:38,063.063 INFO    ] 2026-08-29 17:28:38
[2026-08-29 17:28:38,267.267 INFO    ] 2026-08-29 17:28:38
[2026-08-29 17:28:38,296.296 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:28:38,418.418 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:28:38,471.471 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:28:38,611.611 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:28:38,662.662 INFO    ] time= 29/08/2026 17:28:38
[2026-08-29 17:28:38,701.701 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:28:38,716.716 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:28:38,781.781 INFO    ] No existing commands found in stream
[2026-08-29 17:28:43,791.791 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:28:43,794.794 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-08-29 17:28:47,811.811 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:28:47,813.813 INFO    ] Checking for system updates...
[2026-08-29 17:28:47,835.835 INFO    ] 200
[2026-08-29 17:28:47,836.836 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:28:47,866.866 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:28:47,868.868 INFO    ] No update needed
[2026-08-29 17:28:47,869.869 INFO    ] Checking for camera pi updates...
[2026-08-29 17:28:47,888.888 INFO    ] 200
[2026-08-29 17:28:47,890.890 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:28:47,915.915 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:28:47,987.987 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:28:47,988.988 INFO    ] No camera update needed
[2026-08-29 17:28:47,990.990 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:28:47,991.991 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:28:47,994.994 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:28:47,997.997 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:28:50,035.035 INFO    ] ================================================
[2026-08-29 17:28:50,051.051 INFO    ] Launching Daemon at Sat Aug 29 17:28:50 IST 2026
[2026-08-29 17:28:50,062.062 INFO    ] ================================================
[2026-08-29 17:28:50,556.556 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:28:50
[2026-08-29 17:28:51,158.158 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:28:51,424.424 INFO    ] Initializing speech engine...
[2026-08-29 17:28:51,439.439 INFO    ] 2026-08-29 17:28:51
[2026-08-29 17:28:51,723.723 INFO    ] 2026-08-29 17:28:51
[2026-08-29 17:28:51,749.749 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:28:51,906.906 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:28:51,912.912 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:28:52,066.066 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:28:52,077.077 INFO    ] time= 29/08/2026 17:28:52
[2026-08-29 17:28:52,081.081 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:28:52,086.086 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:28:52,153.153 INFO    ] No existing commands found in stream
[2026-08-29 17:28:57,165.165 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:28:57,168.168 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-08-29 17:29:00,878.878 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:29:00,879.879 INFO    ] Checking for system updates...
[2026-08-29 17:29:00,899.899 INFO    ] 200
[2026-08-29 17:29:00,901.901 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:29:00,930.930 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:29:00,932.932 INFO    ] No update needed
[2026-08-29 17:29:00,933.933 INFO    ] Checking for camera pi updates...
[2026-08-29 17:29:00,952.952 INFO    ] 200
[2026-08-29 17:29:00,954.954 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:29:00,977.977 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:29:01,053.053 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:29:01,056.056 INFO    ] No camera update needed
[2026-08-29 17:29:01,059.059 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:29:01,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:29:01,069.069 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:29:01,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:29:03,119.119 INFO    ] ================================================
[2026-08-29 17:29:03,135.135 INFO    ] Launching Daemon at Sat Aug 29 17:29:03 IST 2026
[2026-08-29 17:29:03,145.145 INFO    ] ================================================
[2026-08-29 17:29:03,713.713 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:29:03
[2026-08-29 17:29:04,283.283 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:29:04,421.421 INFO    ] Initializing speech engine...
[2026-08-29 17:29:04,429.429 INFO    ] 2026-08-29 17:29:04
[2026-08-29 17:29:04,646.646 INFO    ] 2026-08-29 17:29:04
[2026-08-29 17:29:04,674.674 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:29:04,812.812 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:29:04,815.815 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:29:04,917.917 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:29:04,927.927 INFO    ] time= 29/08/2026 17:29:04
[2026-08-29 17:29:04,942.942 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:29:04,946.946 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:29:05,023.023 INFO    ] No existing commands found in stream
[2026-08-29 17:29:10,058.058 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:29:10,061.061 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-08-29 17:29:11,278.278 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:29:11,280.280 INFO    ] Checking for system updates...
[2026-08-29 17:29:11,300.300 INFO    ] 200
[2026-08-29 17:29:11,302.302 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:29:11,332.332 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:29:11,333.333 INFO    ] No update needed
[2026-08-29 17:29:11,335.335 INFO    ] Checking for camera pi updates...
[2026-08-29 17:29:11,354.354 INFO    ] 200
[2026-08-29 17:29:11,356.356 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:29:11,383.383 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:29:11,455.455 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:29:11,456.456 INFO    ] No camera update needed
[2026-08-29 17:29:11,457.457 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:29:11,459.459 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:29:11,462.462 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:29:11,465.465 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:29:13,503.503 INFO    ] ================================================
[2026-08-29 17:29:13,518.518 INFO    ] Launching Daemon at Sat Aug 29 17:29:13 IST 2026
[2026-08-29 17:29:13,529.529 INFO    ] ================================================
[2026-08-29 17:29:14,031.031 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:29:14
[2026-08-29 17:29:14,687.687 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:29:14,947.947 INFO    ] Initializing speech engine...
[2026-08-29 17:29:14,965.965 INFO    ] 2026-08-29 17:29:14
[2026-08-29 17:29:15,216.216 INFO    ] 2026-08-29 17:29:15
[2026-08-29 17:29:15,250.250 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:29:15,426.426 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:29:15,440.440 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:29:15,550.550 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:29:15,557.557 INFO    ] time= 29/08/2026 17:29:15
[2026-08-29 17:29:15,576.576 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:29:15,595.595 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:29:15,669.669 INFO    ] No existing commands found in stream
[2026-08-29 17:29:20,682.682 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:29:20,684.684 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-08-29 17:29:24,543.543 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:29:24,544.544 INFO    ] Checking for system updates...
[2026-08-29 17:29:24,564.564 INFO    ] 200
[2026-08-29 17:29:24,566.566 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:29:24,596.596 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:29:24,597.597 INFO    ] No update needed
[2026-08-29 17:29:24,599.599 INFO    ] Checking for camera pi updates...
[2026-08-29 17:29:24,618.618 INFO    ] 200
[2026-08-29 17:29:24,620.620 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:29:24,644.644 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:29:24,726.726 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:29:24,729.729 INFO    ] No camera update needed
[2026-08-29 17:29:24,731.731 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:29:24,733.733 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:29:24,739.739 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:29:24,743.743 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:29:26,784.784 INFO    ] ================================================
[2026-08-29 17:29:26,799.799 INFO    ] Launching Daemon at Sat Aug 29 17:29:26 IST 2026
[2026-08-29 17:29:26,810.810 INFO    ] ================================================
[2026-08-29 17:29:27,390.390 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:29:27
[2026-08-29 17:29:27,921.921 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:29:28,064.064 INFO    ] Initializing speech engine...
[2026-08-29 17:29:28,069.069 INFO    ] 2026-08-29 17:29:28
[2026-08-29 17:29:28,273.273 INFO    ] 2026-08-29 17:29:28
[2026-08-29 17:29:28,301.301 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:29:28,422.422 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:29:28,484.484 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:29:28,618.618 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:29:28,675.675 INFO    ] time= 29/08/2026 17:29:28
[2026-08-29 17:29:28,708.708 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:29:28,713.713 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:29:28,783.783 INFO    ] No existing commands found in stream
[2026-08-29 17:29:33,794.794 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:29:33,797.797 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 17:29:34,296.296 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:29:34,298.298 INFO    ] Checking for system updates...
[2026-08-29 17:29:34,335.335 INFO    ] 200
[2026-08-29 17:29:34,337.337 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:29:34,389.389 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:29:34,391.391 INFO    ] No update needed
[2026-08-29 17:29:34,394.394 INFO    ] Checking for camera pi updates...
[2026-08-29 17:29:34,427.427 INFO    ] 200
[2026-08-29 17:29:34,430.430 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:29:34,471.471 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:29:34,563.563 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:29:34,566.566 INFO    ] No camera update needed
[2026-08-29 17:29:34,568.568 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:29:34,570.570 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:29:34,576.576 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:29:34,581.581 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:29:36,621.621 INFO    ] ================================================
[2026-08-29 17:29:36,642.642 INFO    ] Launching Daemon at Sat Aug 29 17:29:36 IST 2026
[2026-08-29 17:29:36,653.653 INFO    ] ================================================
[2026-08-29 17:29:37,014.014 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:29:37
[2026-08-29 17:29:37,328.328 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:29:37,463.463 INFO    ] Initializing speech engine...
[2026-08-29 17:29:37,467.467 INFO    ] 2026-08-29 17:29:37
[2026-08-29 17:29:37,659.659 INFO    ] 2026-08-29 17:29:37
[2026-08-29 17:29:37,707.707 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:29:37,865.865 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:29:37,908.908 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:29:38,063.063 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:29:38,084.084 INFO    ] time= 29/08/2026 17:29:38
[2026-08-29 17:29:38,148.148 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:29:38,177.177 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:29:38,257.257 INFO    ] No existing commands found in stream
[2026-08-29 17:29:43,268.268 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:29:43,271.271 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-08-29 17:29:47,229.229 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:29:47,231.231 INFO    ] Checking for system updates...
[2026-08-29 17:29:47,251.251 INFO    ] 200
[2026-08-29 17:29:47,253.253 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:29:47,282.282 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:29:47,284.284 INFO    ] No update needed
[2026-08-29 17:29:47,285.285 INFO    ] Checking for camera pi updates...
[2026-08-29 17:29:47,306.306 INFO    ] 200
[2026-08-29 17:29:47,308.308 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:29:47,331.331 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:29:47,405.405 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:29:47,406.406 INFO    ] No camera update needed
[2026-08-29 17:29:47,407.407 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:29:47,408.408 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:29:47,411.411 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:29:47,414.414 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:29:49,455.455 INFO    ] ================================================
[2026-08-29 17:29:49,472.472 INFO    ] Launching Daemon at Sat Aug 29 17:29:49 IST 2026
[2026-08-29 17:29:49,483.483 INFO    ] ================================================
[2026-08-29 17:29:49,841.841 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:29:49
[2026-08-29 17:29:50,189.189 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:29:50,461.461 INFO    ] Initializing speech engine...
[2026-08-29 17:29:50,470.470 INFO    ] 2026-08-29 17:29:50
[2026-08-29 17:29:50,726.726 INFO    ] 2026-08-29 17:29:50
[2026-08-29 17:29:50,789.789 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:29:51,012.012 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:29:51,022.022 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:29:51,156.156 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:29:51,204.204 INFO    ] time= 29/08/2026 17:29:51
[2026-08-29 17:29:51,259.259 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:29:51,291.291 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:29:51,372.372 INFO    ] No existing commands found in stream
[2026-08-29 17:29:56,410.410 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:29:56,413.413 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 17:30:00,007.007 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:30:00,008.008 INFO    ] Checking for system updates...
[2026-08-29 17:30:00,029.029 INFO    ] 200
[2026-08-29 17:30:00,030.030 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:30:00,060.060 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:30:00,062.062 INFO    ] No update needed
[2026-08-29 17:30:00,063.063 INFO    ] Checking for camera pi updates...
[2026-08-29 17:30:00,083.083 INFO    ] 200
[2026-08-29 17:30:00,084.084 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:30:00,108.108 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:30:00,289.289 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:30:00,291.291 INFO    ] No camera update needed
[2026-08-29 17:30:00,293.293 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:30:00,294.294 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:30:00,297.297 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:30:00,300.300 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:30:02,391.391 INFO    ] ================================================
[2026-08-29 17:30:02,441.441 INFO    ] Launching Daemon at Sat Aug 29 17:30:02 IST 2026
[2026-08-29 17:30:02,461.461 INFO    ] ================================================
[2026-08-29 17:30:03,204.204 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:30:03
[2026-08-29 17:30:03,916.916 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:30:04,243.243 INFO    ] Initializing speech engine...
[2026-08-29 17:30:04,259.259 INFO    ] 2026-08-29 17:30:04
[2026-08-29 17:30:04,539.539 INFO    ] 2026-08-29 17:30:04
[2026-08-29 17:30:04,593.593 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:30:04,735.735 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:30:04,748.748 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:30:04,888.888 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:30:04,897.897 INFO    ] time= 29/08/2026 17:30:04
[2026-08-29 17:30:04,903.903 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:30:04,950.950 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:30:05,074.074 INFO    ] No existing commands found in stream
[2026-08-29 17:30:10,103.103 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:30:10,106.106 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-08-29 17:30:11,088.088 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:30:11,089.089 INFO    ] Checking for system updates...
[2026-08-29 17:30:11,113.113 INFO    ] 200
[2026-08-29 17:30:11,115.115 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:30:11,145.145 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:30:11,146.146 INFO    ] No update needed
[2026-08-29 17:30:11,147.147 INFO    ] Checking for camera pi updates...
[2026-08-29 17:30:11,166.166 INFO    ] 200
[2026-08-29 17:30:11,168.168 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:30:11,191.191 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:30:11,272.272 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:30:11,274.274 INFO    ] No camera update needed
[2026-08-29 17:30:11,277.277 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:30:11,279.279 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:30:11,284.284 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:30:11,289.289 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:30:13,336.336 INFO    ] ================================================
[2026-08-29 17:30:13,357.357 INFO    ] Launching Daemon at Sat Aug 29 17:30:13 IST 2026
[2026-08-29 17:30:13,368.368 INFO    ] ================================================
[2026-08-29 17:30:13,953.953 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:30:13
[2026-08-29 17:30:14,447.447 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:30:14,617.617 INFO    ] Initializing speech engine...
[2026-08-29 17:30:14,630.630 INFO    ] 2026-08-29 17:30:14
[2026-08-29 17:30:14,898.898 INFO    ] 2026-08-29 17:30:14
[2026-08-29 17:30:14,931.931 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:30:15,108.108 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:30:15,113.113 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:30:15,231.231 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:30:15,237.237 INFO    ] time= 29/08/2026 17:30:15
[2026-08-29 17:30:15,256.256 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:30:15,276.276 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:30:15,350.350 INFO    ] No existing commands found in stream
[2026-08-29 17:30:20,362.362 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:30:20,365.365 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-08-29 17:30:23,934.934 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:30:23,935.935 INFO    ] Checking for system updates...
[2026-08-29 17:30:23,955.955 INFO    ] 200
[2026-08-29 17:30:23,956.956 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:30:23,988.988 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:30:23,990.990 INFO    ] No update needed
[2026-08-29 17:30:23,991.991 INFO    ] Checking for camera pi updates...
[2026-08-29 17:30:24,011.011 INFO    ] 200
[2026-08-29 17:30:24,013.013 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:30:24,037.037 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:30:24,106.106 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:30:24,107.107 INFO    ] No camera update needed
[2026-08-29 17:30:24,109.109 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:30:24,110.110 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:30:24,113.113 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:30:24,115.115 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:30:26,154.154 INFO    ] ================================================
[2026-08-29 17:30:26,170.170 INFO    ] Launching Daemon at Sat Aug 29 17:30:26 IST 2026
[2026-08-29 17:30:26,180.180 INFO    ] ================================================
[2026-08-29 17:30:26,749.749 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:30:26
[2026-08-29 17:30:27,295.295 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:30:27,437.437 INFO    ] Initializing speech engine...
[2026-08-29 17:30:27,442.442 INFO    ] 2026-08-29 17:30:27
[2026-08-29 17:30:27,644.644 INFO    ] 2026-08-29 17:30:27
[2026-08-29 17:30:27,672.672 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:30:27,814.814 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:30:27,857.857 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:30:27,990.990 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:30:28,047.047 INFO    ] time= 29/08/2026 17:30:27
[2026-08-29 17:30:28,084.084 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:30:28,091.091 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:30:28,157.157 INFO    ] No existing commands found in stream
[2026-08-29 17:30:33,164.164 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:30:33,168.168 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-08-29 17:30:36,359.359 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:30:36,360.360 INFO    ] Checking for system updates...
[2026-08-29 17:30:36,381.381 INFO    ] 200
[2026-08-29 17:30:36,382.382 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:30:36,415.415 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:30:36,416.416 INFO    ] No update needed
[2026-08-29 17:30:36,417.417 INFO    ] Checking for camera pi updates...
[2026-08-29 17:30:36,436.436 INFO    ] 200
[2026-08-29 17:30:36,438.438 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:30:36,461.461 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:30:36,542.542 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:30:36,544.544 INFO    ] No camera update needed
[2026-08-29 17:30:36,545.545 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:30:36,546.546 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:30:36,549.549 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:30:36,551.551 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:30:38,591.591 INFO    ] ================================================
[2026-08-29 17:30:38,607.607 INFO    ] Launching Daemon at Sat Aug 29 17:30:38 IST 2026
[2026-08-29 17:30:38,618.618 INFO    ] ================================================
[2026-08-29 17:30:38,953.953 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:30:38
[2026-08-29 17:30:39,264.264 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:30:39,401.401 INFO    ] Initializing speech engine...
[2026-08-29 17:30:39,409.409 INFO    ] 2026-08-29 17:30:39
[2026-08-29 17:30:39,601.601 INFO    ] 2026-08-29 17:30:39
[2026-08-29 17:30:39,683.683 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:30:39,833.833 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:30:39,842.842 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:30:39,977.977 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:30:39,984.984 INFO    ] time= 29/08/2026 17:30:39
[2026-08-29 17:30:40,039.039 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:30:40,083.083 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:30:40,166.166 INFO    ] No existing commands found in stream
[2026-08-29 17:30:45,177.177 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:30:45,180.180 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-08-29 17:30:47,426.426 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:30:47,427.427 INFO    ] Checking for system updates...
[2026-08-29 17:30:47,447.447 INFO    ] 200
[2026-08-29 17:30:47,449.449 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:30:47,481.481 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:30:47,483.483 INFO    ] No update needed
[2026-08-29 17:30:47,484.484 INFO    ] Checking for camera pi updates...
[2026-08-29 17:30:47,503.503 INFO    ] 200
[2026-08-29 17:30:47,504.504 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:30:47,529.529 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:30:47,616.616 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:30:47,617.617 INFO    ] No camera update needed
[2026-08-29 17:30:47,618.618 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:30:47,620.620 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:30:47,623.623 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:30:47,625.625 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:30:49,665.665 INFO    ] ================================================
[2026-08-29 17:30:49,681.681 INFO    ] Launching Daemon at Sat Aug 29 17:30:49 IST 2026
[2026-08-29 17:30:49,691.691 INFO    ] ================================================
[2026-08-29 17:30:50,015.015 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:30:50
[2026-08-29 17:30:50,576.576 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:30:50,845.845 INFO    ] Initializing speech engine...
[2026-08-29 17:30:50,852.852 INFO    ] 2026-08-29 17:30:50
[2026-08-29 17:30:51,099.099 INFO    ] 2026-08-29 17:30:51
[2026-08-29 17:30:51,165.165 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:30:51,295.295 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:30:51,310.310 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:30:51,433.433 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:30:51,439.439 INFO    ] time= 29/08/2026 17:30:51
[2026-08-29 17:30:51,457.457 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:30:51,477.477 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:30:51,551.551 INFO    ] No existing commands found in stream
[2026-08-29 17:30:56,564.564 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:30:56,566.566 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-08-29 17:30:58,629.629 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:30:58,631.631 INFO    ] Checking for system updates...
[2026-08-29 17:30:58,652.652 INFO    ] 200
[2026-08-29 17:30:58,653.653 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:30:58,683.683 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:30:58,685.685 INFO    ] No update needed
[2026-08-29 17:30:58,686.686 INFO    ] Checking for camera pi updates...
[2026-08-29 17:30:58,705.705 INFO    ] 200
[2026-08-29 17:30:58,707.707 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:30:58,730.730 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:30:58,815.815 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:30:58,817.817 INFO    ] No camera update needed
[2026-08-29 17:30:58,818.818 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:30:58,820.820 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:30:58,823.823 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:30:58,826.826 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:31:00,865.865 INFO    ] ================================================
[2026-08-29 17:31:00,880.880 INFO    ] Launching Daemon at Sat Aug 29 17:31:00 IST 2026
[2026-08-29 17:31:00,891.891 INFO    ] ================================================
[2026-08-29 17:31:01,273.273 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:31:01
[2026-08-29 17:31:01,781.781 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:31:02,099.099 INFO    ] Initializing speech engine...
[2026-08-29 17:31:02,109.109 INFO    ] 2026-08-29 17:31:02
[2026-08-29 17:31:02,433.433 INFO    ] 2026-08-29 17:31:02
[2026-08-29 17:31:02,477.477 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:31:02,662.662 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:31:02,678.678 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:31:02,838.838 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:31:02,851.851 INFO    ] time= 29/08/2026 17:31:02
[2026-08-29 17:31:02,868.868 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:31:02,929.929 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:31:03,048.048 INFO    ] No existing commands found in stream
[2026-08-29 17:31:08,075.075 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:31:08,078.078 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 17:31:09,310.310 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:31:09,311.311 INFO    ] Checking for system updates...
[2026-08-29 17:31:09,332.332 INFO    ] 200
[2026-08-29 17:31:09,334.334 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:31:09,367.367 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:31:09,368.368 INFO    ] No update needed
[2026-08-29 17:31:09,370.370 INFO    ] Checking for camera pi updates...
[2026-08-29 17:31:09,391.391 INFO    ] 200
[2026-08-29 17:31:09,392.392 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:31:09,415.415 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:31:09,502.502 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:31:09,503.503 INFO    ] No camera update needed
[2026-08-29 17:31:09,505.505 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:31:09,506.506 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:31:09,509.509 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:31:09,512.512 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:31:11,553.553 INFO    ] ================================================
[2026-08-29 17:31:11,569.569 INFO    ] Launching Daemon at Sat Aug 29 17:31:11 IST 2026
[2026-08-29 17:31:11,581.581 INFO    ] ================================================
[2026-08-29 17:31:12,091.091 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:31:12
[2026-08-29 17:31:12,726.726 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:31:13,044.044 INFO    ] Initializing speech engine...
[2026-08-29 17:31:13,055.055 INFO    ] 2026-08-29 17:31:13
[2026-08-29 17:31:13,349.349 INFO    ] 2026-08-29 17:31:13
[2026-08-29 17:31:13,388.388 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:31:13,616.616 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:31:13,627.627 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:31:13,764.764 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:31:13,776.776 INFO    ] time= 29/08/2026 17:31:13
[2026-08-29 17:31:13,831.831 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:31:13,891.891 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:31:13,979.979 INFO    ] No existing commands found in stream
[2026-08-29 17:31:19,017.017 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:31:19,020.020 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-08-29 17:31:23,169.169 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:31:23,171.171 INFO    ] Checking for system updates...
[2026-08-29 17:31:23,193.193 INFO    ] 200
[2026-08-29 17:31:23,194.194 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:31:23,225.225 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:31:23,226.226 INFO    ] No update needed
[2026-08-29 17:31:23,228.228 INFO    ] Checking for camera pi updates...
[2026-08-29 17:31:23,247.247 INFO    ] 200
[2026-08-29 17:31:23,249.249 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:31:23,272.272 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:31:23,377.377 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:31:23,379.379 INFO    ] No camera update needed
[2026-08-29 17:31:23,380.380 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:31:23,382.382 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:31:23,385.385 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:31:23,388.388 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:31:25,419.419 INFO    ] ================================================
[2026-08-29 17:31:25,429.429 INFO    ] Launching Daemon at Sat Aug 29 17:31:25 IST 2026
[2026-08-29 17:31:25,435.435 INFO    ] ================================================
[2026-08-29 17:31:26,051.051 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:31:26
[2026-08-29 17:31:26,744.744 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:31:27,058.058 INFO    ] Initializing speech engine...
[2026-08-29 17:31:27,070.070 INFO    ] 2026-08-29 17:31:27
[2026-08-29 17:31:27,346.346 INFO    ] 2026-08-29 17:31:27
[2026-08-29 17:31:27,401.401 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:31:27,625.625 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:31:27,636.636 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:31:27,769.769 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:31:27,812.812 INFO    ] time= 29/08/2026 17:31:27
[2026-08-29 17:31:27,883.883 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:31:27,909.909 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:31:27,972.972 INFO    ] No existing commands found in stream
[2026-08-29 17:31:33,008.008 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:31:33,011.011 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-08-29 17:31:34,020.020 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:31:34,023.023 INFO    ] Checking for system updates...
[2026-08-29 17:31:34,060.060 INFO    ] 200
[2026-08-29 17:31:34,063.063 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:31:34,118.118 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:31:34,120.120 INFO    ] No update needed
[2026-08-29 17:31:34,122.122 INFO    ] Checking for camera pi updates...
[2026-08-29 17:31:34,156.156 INFO    ] 200
[2026-08-29 17:31:34,158.158 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:31:34,200.200 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:31:34,285.285 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:31:34,287.287 INFO    ] No camera update needed
[2026-08-29 17:31:34,290.290 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:31:34,292.292 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:31:34,297.297 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:31:34,302.302 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:31:36,342.342 INFO    ] ================================================
[2026-08-29 17:31:36,358.358 INFO    ] Launching Daemon at Sat Aug 29 17:31:36 IST 2026
[2026-08-29 17:31:36,369.369 INFO    ] ================================================
[2026-08-29 17:31:36,740.740 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:31:36
[2026-08-29 17:31:37,084.084 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:31:37,239.239 INFO    ] Initializing speech engine...
[2026-08-29 17:31:37,244.244 INFO    ] 2026-08-29 17:31:37
[2026-08-29 17:31:37,458.458 INFO    ] 2026-08-29 17:31:37
[2026-08-29 17:31:37,487.487 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:31:37,614.614 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:31:37,662.662 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:31:37,851.851 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:31:37,884.884 INFO    ] time= 29/08/2026 17:31:37
[2026-08-29 17:31:37,949.949 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:31:38,004.004 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:31:38,089.089 INFO    ] No existing commands found in stream
[2026-08-29 17:31:43,110.110 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:31:43,114.114 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-08-29 17:31:46,055.055 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:31:46,057.057 INFO    ] Checking for system updates...
[2026-08-29 17:31:46,078.078 INFO    ] 200
[2026-08-29 17:31:46,079.079 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:31:46,111.111 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:31:46,113.113 INFO    ] No update needed
[2026-08-29 17:31:46,114.114 INFO    ] Checking for camera pi updates...
[2026-08-29 17:31:46,135.135 INFO    ] 200
[2026-08-29 17:31:46,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:31:46,162.162 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:31:46,260.260 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:31:46,261.261 INFO    ] No camera update needed
[2026-08-29 17:31:46,263.263 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:31:46,264.264 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:31:46,267.267 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:31:46,269.269 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:31:48,307.307 INFO    ] ================================================
[2026-08-29 17:31:48,323.323 INFO    ] Launching Daemon at Sat Aug 29 17:31:48 IST 2026
[2026-08-29 17:31:48,333.333 INFO    ] ================================================
[2026-08-29 17:31:48,867.867 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:31:48
[2026-08-29 17:31:49,461.461 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:31:49,732.732 INFO    ] Initializing speech engine...
[2026-08-29 17:31:49,745.745 INFO    ] 2026-08-29 17:31:49
[2026-08-29 17:31:49,991.991 INFO    ] 2026-08-29 17:31:49
[2026-08-29 17:31:50,027.027 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:31:50,200.200 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:31:50,213.213 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:31:50,354.354 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:31:50,362.362 INFO    ] time= 29/08/2026 17:31:50
[2026-08-29 17:31:50,369.369 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:31:50,390.390 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:31:50,514.514 INFO    ] No existing commands found in stream
[2026-08-29 17:31:55,539.539 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:31:55,541.541 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-08-29 17:31:57,187.187 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:31:57,188.188 INFO    ] Checking for system updates...
[2026-08-29 17:31:57,209.209 INFO    ] 200
[2026-08-29 17:31:57,210.210 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:31:57,241.241 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:31:57,243.243 INFO    ] No update needed
[2026-08-29 17:31:57,244.244 INFO    ] Checking for camera pi updates...
[2026-08-29 17:31:57,264.264 INFO    ] 200
[2026-08-29 17:31:57,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:31:57,290.290 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:31:57,385.385 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:31:57,386.386 INFO    ] No camera update needed
[2026-08-29 17:31:57,387.387 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:31:57,388.388 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:31:57,391.391 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:31:57,394.394 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:31:59,434.434 INFO    ] ================================================
[2026-08-29 17:31:59,449.449 INFO    ] Launching Daemon at Sat Aug 29 17:31:59 IST 2026
[2026-08-29 17:31:59,460.460 INFO    ] ================================================
[2026-08-29 17:31:59,815.815 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:31:59
[2026-08-29 17:32:00,179.179 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:32:00,472.472 INFO    ] Initializing speech engine...
[2026-08-29 17:32:00,480.480 INFO    ] 2026-08-29 17:32:00
[2026-08-29 17:32:00,740.740 INFO    ] 2026-08-29 17:32:00
[2026-08-29 17:32:00,771.771 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:32:00,935.935 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:32:00,947.947 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:32:01,063.063 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:32:01,069.069 INFO    ] time= 29/08/2026 17:32:01
[2026-08-29 17:32:01,087.087 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:32:01,106.106 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:32:01,182.182 INFO    ] No existing commands found in stream
[2026-08-29 17:32:06,197.197 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:32:06,199.199 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-08-29 17:32:07,773.773 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:32:07,774.774 INFO    ] Checking for system updates...
[2026-08-29 17:32:07,795.795 INFO    ] 200
[2026-08-29 17:32:07,796.796 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:32:07,828.828 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:32:07,829.829 INFO    ] No update needed
[2026-08-29 17:32:07,830.830 INFO    ] Checking for camera pi updates...
[2026-08-29 17:32:07,852.852 INFO    ] 200
[2026-08-29 17:32:07,854.854 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:32:07,876.876 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:32:07,988.988 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:32:07,989.989 INFO    ] No camera update needed
[2026-08-29 17:32:07,990.990 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:32:07,991.991 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:32:07,994.994 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:32:07,997.997 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:32:10,036.036 INFO    ] ================================================
[2026-08-29 17:32:10,051.051 INFO    ] Launching Daemon at Sat Aug 29 17:32:10 IST 2026
[2026-08-29 17:32:10,061.061 INFO    ] ================================================
[2026-08-29 17:32:10,415.415 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:32:10
[2026-08-29 17:32:10,728.728 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:32:10,860.860 INFO    ] Initializing speech engine...
[2026-08-29 17:32:10,875.875 INFO    ] 2026-08-29 17:32:10
[2026-08-29 17:32:11,082.082 INFO    ] 2026-08-29 17:32:11
[2026-08-29 17:32:11,109.109 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:32:11,233.233 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:32:11,296.296 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:32:11,429.429 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:32:11,490.490 INFO    ] time= 29/08/2026 17:32:11
[2026-08-29 17:32:11,519.519 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:32:11,530.530 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:32:11,601.601 INFO    ] No existing commands found in stream
[2026-08-29 17:32:16,612.612 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:32:16,615.615 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-08-29 17:32:19,288.288 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:32:19,289.289 INFO    ] Checking for system updates...
[2026-08-29 17:32:19,309.309 INFO    ] 200
[2026-08-29 17:32:19,311.311 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:32:19,342.342 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:32:19,343.343 INFO    ] No update needed
[2026-08-29 17:32:19,344.344 INFO    ] Checking for camera pi updates...
[2026-08-29 17:32:19,363.363 INFO    ] 200
[2026-08-29 17:32:19,365.365 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:32:19,389.389 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:32:19,484.484 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:32:19,486.486 INFO    ] No camera update needed
[2026-08-29 17:32:19,487.487 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:32:19,488.488 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:32:19,491.491 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:32:19,494.494 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:32:21,535.535 INFO    ] ================================================
[2026-08-29 17:32:21,551.551 INFO    ] Launching Daemon at Sat Aug 29 17:32:21 IST 2026
[2026-08-29 17:32:21,563.563 INFO    ] ================================================
[2026-08-29 17:32:21,910.910 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:32:21
[2026-08-29 17:32:22,223.223 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:32:22,367.367 INFO    ] Initializing speech engine...
[2026-08-29 17:32:22,377.377 INFO    ] 2026-08-29 17:32:22
[2026-08-29 17:32:22,596.596 INFO    ] 2026-08-29 17:32:22
[2026-08-29 17:32:22,638.638 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:32:22,777.777 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:32:22,782.782 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:32:22,889.889 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:32:22,916.916 INFO    ] time= 29/08/2026 17:32:22
[2026-08-29 17:32:22,970.970 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:32:23,022.022 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:32:23,075.075 INFO    ] No existing commands found in stream
[2026-08-29 17:32:28,086.086 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:32:28,089.089 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-08-29 17:32:32,370.370 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:32:32,372.372 INFO    ] Checking for system updates...
[2026-08-29 17:32:32,409.409 INFO    ] 200
[2026-08-29 17:32:32,411.411 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:32:32,465.465 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:32:32,468.468 INFO    ] No update needed
[2026-08-29 17:32:32,470.470 INFO    ] Checking for camera pi updates...
[2026-08-29 17:32:32,505.505 INFO    ] 200
[2026-08-29 17:32:32,508.508 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:32:32,550.550 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:32:32,664.664 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:32:32,667.667 INFO    ] No camera update needed
[2026-08-29 17:32:32,670.670 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:32:32,672.672 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:32:32,678.678 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:32:32,684.684 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:32:34,726.726 INFO    ] ================================================
[2026-08-29 17:32:34,742.742 INFO    ] Launching Daemon at Sat Aug 29 17:32:34 IST 2026
[2026-08-29 17:32:34,753.753 INFO    ] ================================================
[2026-08-29 17:32:35,389.389 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:32:35
[2026-08-29 17:32:35,862.862 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:32:36,123.123 INFO    ] Initializing speech engine...
[2026-08-29 17:32:36,147.147 INFO    ] 2026-08-29 17:32:36
[2026-08-29 17:32:36,421.421 INFO    ] 2026-08-29 17:32:36
[2026-08-29 17:32:36,456.456 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:32:36,603.603 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:32:36,610.610 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:32:36,767.767 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:32:36,777.777 INFO    ] time= 29/08/2026 17:32:36
[2026-08-29 17:32:36,783.783 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:32:36,806.806 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:32:36,858.858 INFO    ] No existing commands found in stream
[2026-08-29 17:32:41,869.869 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:32:41,872.872 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 17:32:45,318.318 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:32:45,319.319 INFO    ] Checking for system updates...
[2026-08-29 17:32:45,339.339 INFO    ] 200
[2026-08-29 17:32:45,341.341 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:32:45,370.370 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:32:45,372.372 INFO    ] No update needed
[2026-08-29 17:32:45,373.373 INFO    ] Checking for camera pi updates...
[2026-08-29 17:32:45,392.392 INFO    ] 200
[2026-08-29 17:32:45,394.394 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:32:45,418.418 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:32:45,497.497 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:32:45,499.499 INFO    ] No camera update needed
[2026-08-29 17:32:45,500.500 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:32:45,501.501 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:32:45,504.504 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:32:45,507.507 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:32:47,545.545 INFO    ] ================================================
[2026-08-29 17:32:47,560.560 INFO    ] Launching Daemon at Sat Aug 29 17:32:47 IST 2026
[2026-08-29 17:32:47,571.571 INFO    ] ================================================
[2026-08-29 17:32:47,926.926 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:32:47
[2026-08-29 17:32:48,264.264 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:32:48,494.494 INFO    ] Initializing speech engine...
[2026-08-29 17:32:48,506.506 INFO    ] 2026-08-29 17:32:48
[2026-08-29 17:32:48,782.782 INFO    ] 2026-08-29 17:32:48
[2026-08-29 17:32:48,842.842 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:32:49,068.068 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:32:49,077.077 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:32:49,213.213 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:32:49,260.260 INFO    ] time= 29/08/2026 17:32:49
[2026-08-29 17:32:49,310.310 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:32:49,348.348 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:32:49,402.402 INFO    ] No existing commands found in stream
[2026-08-29 17:32:54,414.414 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:32:54,417.417 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-08-29 17:32:57,194.194 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:32:57,195.195 INFO    ] Checking for system updates...
[2026-08-29 17:32:57,216.216 INFO    ] 200
[2026-08-29 17:32:57,218.218 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:32:57,248.248 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:32:57,250.250 INFO    ] No update needed
[2026-08-29 17:32:57,251.251 INFO    ] Checking for camera pi updates...
[2026-08-29 17:32:57,270.270 INFO    ] 200
[2026-08-29 17:32:57,272.272 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:32:57,295.295 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:32:57,375.375 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:32:57,377.377 INFO    ] No camera update needed
[2026-08-29 17:32:57,378.378 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:32:57,380.380 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:32:57,383.383 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:32:57,386.386 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:32:59,428.428 INFO    ] ================================================
[2026-08-29 17:32:59,449.449 INFO    ] Launching Daemon at Sat Aug 29 17:32:59 IST 2026
[2026-08-29 17:32:59,461.461 INFO    ] ================================================
[2026-08-29 17:32:59,834.834 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:32:59
[2026-08-29 17:33:00,330.330 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:33:00,610.610 INFO    ] Initializing speech engine...
[2026-08-29 17:33:00,617.617 INFO    ] 2026-08-29 17:33:00
[2026-08-29 17:33:00,865.865 INFO    ] 2026-08-29 17:33:00
[2026-08-29 17:33:00,900.900 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:33:01,076.076 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:33:01,099.099 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:33:01,214.214 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:33:01,236.236 INFO    ] time= 29/08/2026 17:33:01
[2026-08-29 17:33:01,242.242 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:33:01,249.249 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:33:01,313.313 INFO    ] No existing commands found in stream
[2026-08-29 17:33:06,324.324 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:33:06,327.327 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-08-29 17:33:10,265.265 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:33:10,267.267 INFO    ] Checking for system updates...
[2026-08-29 17:33:10,287.287 INFO    ] 200
[2026-08-29 17:33:10,288.288 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:33:10,318.318 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:33:10,320.320 INFO    ] No update needed
[2026-08-29 17:33:10,321.321 INFO    ] Checking for camera pi updates...
[2026-08-29 17:33:10,347.347 INFO    ] 200
[2026-08-29 17:33:10,349.349 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:33:10,393.393 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:33:10,493.493 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:33:10,495.495 INFO    ] No camera update needed
[2026-08-29 17:33:10,498.498 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:33:10,500.500 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:33:10,505.505 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:33:10,510.510 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:33:12,551.551 INFO    ] ================================================
[2026-08-29 17:33:12,567.567 INFO    ] Launching Daemon at Sat Aug 29 17:33:12 IST 2026
[2026-08-29 17:33:12,578.578 INFO    ] ================================================
[2026-08-29 17:33:13,158.158 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:33:13
[2026-08-29 17:33:13,619.619 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:33:13,755.755 INFO    ] Initializing speech engine...
[2026-08-29 17:33:13,768.768 INFO    ] 2026-08-29 17:33:13
[2026-08-29 17:33:13,983.983 INFO    ] 2026-08-29 17:33:13
[2026-08-29 17:33:14,013.013 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:33:14,144.144 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:33:14,197.197 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:33:14,349.349 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:33:14,411.411 INFO    ] time= 29/08/2026 17:33:14
[2026-08-29 17:33:14,438.438 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:33:14,455.455 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:33:14,530.530 INFO    ] No existing commands found in stream
[2026-08-29 17:33:19,540.540 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:33:19,543.543 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-08-29 17:33:20,814.814 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:33:20,817.817 INFO    ] Checking for system updates...
[2026-08-29 17:33:20,852.852 INFO    ] 200
[2026-08-29 17:33:20,855.855 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:33:20,907.907 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:33:20,909.909 INFO    ] No update needed
[2026-08-29 17:33:20,912.912 INFO    ] Checking for camera pi updates...
[2026-08-29 17:33:20,946.946 INFO    ] 200
[2026-08-29 17:33:20,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:33:20,989.989 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:33:21,081.081 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:33:21,084.084 INFO    ] No camera update needed
[2026-08-29 17:33:21,086.086 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:33:21,088.088 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:33:21,094.094 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:33:21,099.099 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:33:23,139.139 INFO    ] ================================================
[2026-08-29 17:33:23,155.155 INFO    ] Launching Daemon at Sat Aug 29 17:33:23 IST 2026
[2026-08-29 17:33:23,166.166 INFO    ] ================================================
[2026-08-29 17:33:23,563.563 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:33:23
[2026-08-29 17:33:24,149.149 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:33:24,405.405 INFO    ] Initializing speech engine...
[2026-08-29 17:33:24,427.427 INFO    ] 2026-08-29 17:33:24
[2026-08-29 17:33:24,692.692 INFO    ] 2026-08-29 17:33:24
[2026-08-29 17:33:24,754.754 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:33:26,207.207 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:33:26,218.218 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:33:26,388.388 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:33:26,420.420 INFO    ] time= 29/08/2026 17:33:26
[2026-08-29 17:33:26,426.426 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:33:26,476.476 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:33:28,209.209 INFO    ] No existing commands found in stream
[2026-08-29 17:33:33,218.218 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:33:33,220.220 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-08-29 17:33:34,004.004 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:33:34,006.006 INFO    ] Checking for system updates...
[2026-08-29 17:33:34,042.042 INFO    ] 200
[2026-08-29 17:33:34,045.045 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:33:34,097.097 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:33:34,099.099 INFO    ] No update needed
[2026-08-29 17:33:34,102.102 INFO    ] Checking for camera pi updates...
[2026-08-29 17:33:34,135.135 INFO    ] 200
[2026-08-29 17:33:34,138.138 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:33:34,182.182 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:33:34,330.330 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:33:34,333.333 INFO    ] No camera update needed
[2026-08-29 17:33:34,335.335 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:33:34,337.337 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:33:34,343.343 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:33:34,348.348 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:33:36,388.388 INFO    ] ================================================
[2026-08-29 17:33:36,404.404 INFO    ] Launching Daemon at Sat Aug 29 17:33:36 IST 2026
[2026-08-29 17:33:36,415.415 INFO    ] ================================================
[2026-08-29 17:33:36,757.757 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:33:36
[2026-08-29 17:33:37,075.075 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:33:37,219.219 INFO    ] Initializing speech engine...
[2026-08-29 17:33:37,224.224 INFO    ] 2026-08-29 17:33:37
[2026-08-29 17:33:37,417.417 INFO    ] 2026-08-29 17:33:37
[2026-08-29 17:33:37,497.497 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:33:37,645.645 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:33:37,654.654 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:33:37,787.787 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:33:37,799.799 INFO    ] time= 29/08/2026 17:33:37
[2026-08-29 17:33:37,863.863 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:33:37,921.921 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:33:37,974.974 INFO    ] No existing commands found in stream
[2026-08-29 17:33:42,984.984 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:33:42,986.986 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 17:33:46,504.504 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:33:46,506.506 INFO    ] Checking for system updates...
[2026-08-29 17:33:46,543.543 INFO    ] 200
[2026-08-29 17:33:46,545.545 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:33:46,598.598 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:33:46,600.600 INFO    ] No update needed
[2026-08-29 17:33:46,603.603 INFO    ] Checking for camera pi updates...
[2026-08-29 17:33:46,641.641 INFO    ] 200
[2026-08-29 17:33:46,643.643 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:33:46,684.684 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:33:46,763.763 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:33:46,766.766 INFO    ] No camera update needed
[2026-08-29 17:33:46,768.768 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:33:46,770.770 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:33:46,776.776 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:33:46,781.781 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:33:48,824.824 INFO    ] ================================================
[2026-08-29 17:33:48,840.840 INFO    ] Launching Daemon at Sat Aug 29 17:33:48 IST 2026
[2026-08-29 17:33:48,851.851 INFO    ] ================================================
[2026-08-29 17:33:49,365.365 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:33:49
[2026-08-29 17:33:49,951.951 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:33:50,221.221 INFO    ] Initializing speech engine...
[2026-08-29 17:33:50,230.230 INFO    ] 2026-08-29 17:33:50
[2026-08-29 17:33:50,475.475 INFO    ] 2026-08-29 17:33:50
[2026-08-29 17:33:50,500.500 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:33:50,648.648 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:33:50,655.655 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:33:50,790.790 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:33:50,800.800 INFO    ] time= 29/08/2026 17:33:50
[2026-08-29 17:33:50,807.807 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:33:50,826.826 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:33:50,873.873 INFO    ] No existing commands found in stream
[2026-08-29 17:33:55,925.925 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:33:55,959.959 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-08-29 17:33:59,012.012 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:33:59,014.014 INFO    ] Checking for system updates...
[2026-08-29 17:33:59,035.035 INFO    ] 200
[2026-08-29 17:33:59,036.036 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:33:59,066.066 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:33:59,067.067 INFO    ] No update needed
[2026-08-29 17:33:59,068.068 INFO    ] Checking for camera pi updates...
[2026-08-29 17:33:59,087.087 INFO    ] 200
[2026-08-29 17:33:59,088.088 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:33:59,111.111 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:33:59,188.188 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:33:59,190.190 INFO    ] No camera update needed
[2026-08-29 17:33:59,191.191 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:33:59,192.192 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:33:59,195.195 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:33:59,198.198 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:34:01,236.236 INFO    ] ================================================
[2026-08-29 17:34:01,253.253 INFO    ] Launching Daemon at Sat Aug 29 17:34:01 IST 2026
[2026-08-29 17:34:01,275.275 INFO    ] ================================================
[2026-08-29 17:34:01,987.987 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:34:01
[2026-08-29 17:34:02,654.654 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:34:02,967.967 INFO    ] Initializing speech engine...
[2026-08-29 17:34:02,974.974 INFO    ] 2026-08-29 17:34:02
[2026-08-29 17:34:03,283.283 INFO    ] 2026-08-29 17:34:03
[2026-08-29 17:34:03,321.321 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:34:03,513.513 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:34:03,520.520 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:34:03,645.645 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:34:03,655.655 INFO    ] time= 29/08/2026 17:34:03
[2026-08-29 17:34:03,660.660 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:34:03,666.666 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:34:03,779.779 INFO    ] No existing commands found in stream
[2026-08-29 17:34:08,791.791 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:34:08,794.794 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-08-29 17:34:10,374.374 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:34:10,376.376 INFO    ] Checking for system updates...
[2026-08-29 17:34:10,396.396 INFO    ] 200
[2026-08-29 17:34:10,398.398 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:34:10,427.427 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:34:10,429.429 INFO    ] No update needed
[2026-08-29 17:34:10,430.430 INFO    ] Checking for camera pi updates...
[2026-08-29 17:34:10,450.450 INFO    ] 200
[2026-08-29 17:34:10,452.452 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:34:10,479.479 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:34:10,661.661 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:34:10,663.663 INFO    ] No camera update needed
[2026-08-29 17:34:10,664.664 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:34:10,665.665 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:34:10,668.668 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:34:10,671.671 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:34:12,710.710 INFO    ] ================================================
[2026-08-29 17:34:12,726.726 INFO    ] Launching Daemon at Sat Aug 29 17:34:12 IST 2026
[2026-08-29 17:34:12,737.737 INFO    ] ================================================
[2026-08-29 17:34:13,111.111 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:34:13
[2026-08-29 17:34:13,445.445 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:34:13,596.596 INFO    ] Initializing speech engine...
[2026-08-29 17:34:13,602.602 INFO    ] 2026-08-29 17:34:13
[2026-08-29 17:34:13,809.809 INFO    ] 2026-08-29 17:34:13
[2026-08-29 17:34:13,837.837 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:34:13,960.960 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:34:14,023.023 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:34:14,167.167 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:34:14,237.237 INFO    ] time= 29/08/2026 17:34:14
[2026-08-29 17:34:14,288.288 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:34:14,334.334 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:34:14,446.446 INFO    ] No existing commands found in stream
[2026-08-29 17:34:19,477.477 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:34:19,480.480 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-08-29 17:34:21,909.909 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:34:21,910.910 INFO    ] Checking for system updates...
[2026-08-29 17:34:21,931.931 INFO    ] 200
[2026-08-29 17:34:21,933.933 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:34:21,965.965 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:34:21,966.966 INFO    ] No update needed
[2026-08-29 17:34:21,968.968 INFO    ] Checking for camera pi updates...
[2026-08-29 17:34:21,988.988 INFO    ] 200
[2026-08-29 17:34:21,989.989 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:34:22,012.012 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:34:22,092.092 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:34:22,094.094 INFO    ] No camera update needed
[2026-08-29 17:34:22,095.095 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:34:22,096.096 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:34:22,099.099 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:34:22,102.102 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:34:24,141.141 INFO    ] ================================================
[2026-08-29 17:34:24,157.157 INFO    ] Launching Daemon at Sat Aug 29 17:34:24 IST 2026
[2026-08-29 17:34:24,168.168 INFO    ] ================================================
[2026-08-29 17:34:24,552.552 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:34:24
[2026-08-29 17:34:24,886.886 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:34:25,114.114 INFO    ] Initializing speech engine...
[2026-08-29 17:34:25,120.120 INFO    ] 2026-08-29 17:34:25
[2026-08-29 17:34:25,383.383 INFO    ] 2026-08-29 17:34:25
[2026-08-29 17:34:25,427.427 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:34:25,600.600 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:34:25,613.613 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:34:25,758.758 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:34:25,768.768 INFO    ] time= 29/08/2026 17:34:25
[2026-08-29 17:34:25,774.774 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:34:25,829.829 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:34:25,937.937 INFO    ] No existing commands found in stream
[2026-08-29 17:34:30,962.962 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:34:30,966.966 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-08-29 17:34:33,894.894 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:34:33,897.897 INFO    ] Checking for system updates...
[2026-08-29 17:34:33,934.934 INFO    ] 200
[2026-08-29 17:34:33,936.936 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:34:33,988.988 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:34:33,990.990 INFO    ] No update needed
[2026-08-29 17:34:33,993.993 INFO    ] Checking for camera pi updates...
[2026-08-29 17:34:34,031.031 INFO    ] 200
[2026-08-29 17:34:34,034.034 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:34:34,074.074 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:34:34,164.164 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:34:34,166.166 INFO    ] No camera update needed
[2026-08-29 17:34:34,169.169 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:34:34,171.171 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:34:34,176.176 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:34:34,181.181 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:34:36,221.221 INFO    ] ================================================
[2026-08-29 17:34:36,237.237 INFO    ] Launching Daemon at Sat Aug 29 17:34:36 IST 2026
[2026-08-29 17:34:36,249.249 INFO    ] ================================================
[2026-08-29 17:34:36,585.585 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:34:36
[2026-08-29 17:34:36,927.927 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:34:37,201.201 INFO    ] Initializing speech engine...
[2026-08-29 17:34:37,207.207 INFO    ] 2026-08-29 17:34:37
[2026-08-29 17:34:37,459.459 INFO    ] 2026-08-29 17:34:37
[2026-08-29 17:34:37,518.518 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:34:37,660.660 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:34:37,672.672 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:34:37,813.813 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:34:37,820.820 INFO    ] time= 29/08/2026 17:34:37
[2026-08-29 17:34:37,828.828 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:34:37,873.873 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:34:37,989.989 INFO    ] No existing commands found in stream
[2026-08-29 17:34:43,014.014 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:34:43,017.017 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-08-29 17:34:46,589.589 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:34:46,591.591 INFO    ] Checking for system updates...
[2026-08-29 17:34:46,611.611 INFO    ] 200
[2026-08-29 17:34:46,613.613 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:34:46,643.643 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:34:46,644.644 INFO    ] No update needed
[2026-08-29 17:34:46,645.645 INFO    ] Checking for camera pi updates...
[2026-08-29 17:34:46,666.666 INFO    ] 200
[2026-08-29 17:34:46,668.668 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:34:46,692.692 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:34:46,769.769 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:34:46,770.770 INFO    ] No camera update needed
[2026-08-29 17:34:46,772.772 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:34:46,773.773 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:34:46,776.776 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:34:46,778.778 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:34:48,817.817 INFO    ] ================================================
[2026-08-29 17:34:48,832.832 INFO    ] Launching Daemon at Sat Aug 29 17:34:48 IST 2026
[2026-08-29 17:34:48,843.843 INFO    ] ================================================
[2026-08-29 17:34:49,201.201 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:34:49
[2026-08-29 17:34:49,536.536 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:34:49,688.688 INFO    ] Initializing speech engine...
[2026-08-29 17:34:49,692.692 INFO    ] 2026-08-29 17:34:49
[2026-08-29 17:34:49,900.900 INFO    ] 2026-08-29 17:34:49
[2026-08-29 17:34:49,928.928 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:34:50,051.051 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:34:50,084.084 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:34:50,213.213 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:34:50,248.248 INFO    ] time= 29/08/2026 17:34:50
[2026-08-29 17:34:50,304.304 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:34:50,346.346 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:34:50,417.417 INFO    ] No existing commands found in stream
[2026-08-29 17:34:55,428.428 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:34:55,431.431 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-08-29 17:34:57,679.679 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:34:57,680.680 INFO    ] Checking for system updates...
[2026-08-29 17:34:57,701.701 INFO    ] 200
[2026-08-29 17:34:57,703.703 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:34:57,733.733 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:34:57,734.734 INFO    ] No update needed
[2026-08-29 17:34:57,736.736 INFO    ] Checking for camera pi updates...
[2026-08-29 17:34:57,755.755 INFO    ] 200
[2026-08-29 17:34:57,756.756 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:34:57,780.780 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:34:57,857.857 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:34:57,858.858 INFO    ] No camera update needed
[2026-08-29 17:34:57,860.860 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:34:57,861.861 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:34:57,864.864 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:34:57,867.867 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:34:59,909.909 INFO    ] ================================================
[2026-08-29 17:34:59,925.925 INFO    ] Launching Daemon at Sat Aug 29 17:34:59 IST 2026
[2026-08-29 17:34:59,935.935 INFO    ] ================================================
[2026-08-29 17:35:00,299.299 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:35:00
[2026-08-29 17:35:00,612.612 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:35:00,755.755 INFO    ] Initializing speech engine...
[2026-08-29 17:35:00,760.760 INFO    ] 2026-08-29 17:35:00
[2026-08-29 17:35:00,966.966 INFO    ] 2026-08-29 17:35:00
[2026-08-29 17:35:00,997.997 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:35:01,122.122 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:35:01,161.161 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:35:01,275.275 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:35:01,300.300 INFO    ] time= 29/08/2026 17:35:01
[2026-08-29 17:35:01,342.342 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:35:01,346.346 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:35:01,416.416 INFO    ] No existing commands found in stream
[2026-08-29 17:35:06,424.424 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:35:06,427.427 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 17:35:07,942.942 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:35:07,944.944 INFO    ] Checking for system updates...
[2026-08-29 17:35:07,964.964 INFO    ] 200
[2026-08-29 17:35:07,965.965 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:35:07,997.997 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:35:07,998.998 INFO    ] No update needed
[2026-08-29 17:35:07,999.999 INFO    ] Checking for camera pi updates...
[2026-08-29 17:35:08,018.018 INFO    ] 200
[2026-08-29 17:35:08,019.019 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:35:08,044.044 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:35:08,123.123 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:35:08,125.125 INFO    ] No camera update needed
[2026-08-29 17:35:08,126.126 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:35:08,127.127 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:35:08,130.130 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:35:08,133.133 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:35:10,172.172 INFO    ] ================================================
[2026-08-29 17:35:10,188.188 INFO    ] Launching Daemon at Sat Aug 29 17:35:10 IST 2026
[2026-08-29 17:35:10,199.199 INFO    ] ================================================
[2026-08-29 17:35:10,697.697 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:35:10
[2026-08-29 17:35:11,298.298 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:35:11,577.577 INFO    ] Initializing speech engine...
[2026-08-29 17:35:11,583.583 INFO    ] 2026-08-29 17:35:11
[2026-08-29 17:35:11,845.845 INFO    ] 2026-08-29 17:35:11
[2026-08-29 17:35:11,899.899 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:35:12,042.042 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:35:12,054.054 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:35:12,194.194 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:35:12,203.203 INFO    ] time= 29/08/2026 17:35:12
[2026-08-29 17:35:12,210.210 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:35:12,255.255 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:35:12,374.374 INFO    ] No existing commands found in stream
[2026-08-29 17:35:17,405.405 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:35:17,408.408 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 17:35:18,812.812 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:35:18,813.813 INFO    ] Checking for system updates...
[2026-08-29 17:35:18,833.833 INFO    ] 200
[2026-08-29 17:35:18,835.835 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:35:18,865.865 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:35:18,866.866 INFO    ] No update needed
[2026-08-29 17:35:18,867.867 INFO    ] Checking for camera pi updates...
[2026-08-29 17:35:18,886.886 INFO    ] 200
[2026-08-29 17:35:18,888.888 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:35:18,910.910 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:35:18,990.990 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:35:18,992.992 INFO    ] No camera update needed
[2026-08-29 17:35:18,993.993 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:35:18,994.994 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:35:18,997.997 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:35:19,000.000 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:35:21,038.038 INFO    ] ================================================
[2026-08-29 17:35:21,054.054 INFO    ] Launching Daemon at Sat Aug 29 17:35:21 IST 2026
[2026-08-29 17:35:21,065.065 INFO    ] ================================================
[2026-08-29 17:35:21,406.406 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:35:21
[2026-08-29 17:35:21,723.723 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:35:21,869.869 INFO    ] Initializing speech engine...
[2026-08-29 17:35:21,874.874 INFO    ] 2026-08-29 17:35:21
[2026-08-29 17:35:22,077.077 INFO    ] 2026-08-29 17:35:22
[2026-08-29 17:35:22,107.107 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:35:22,234.234 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:35:22,239.239 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:35:22,405.405 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:35:22,442.442 INFO    ] time= 29/08/2026 17:35:22
[2026-08-29 17:35:22,457.457 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:35:22,467.467 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:35:22,585.585 INFO    ] No existing commands found in stream
[2026-08-29 17:35:27,606.606 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:35:27,609.609 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-08-29 17:35:31,633.633 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:35:31,636.636 INFO    ] Checking for system updates...
[2026-08-29 17:35:31,674.674 INFO    ] 200
[2026-08-29 17:35:31,676.676 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:35:31,737.737 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:35:31,739.739 INFO    ] No update needed
[2026-08-29 17:35:31,742.742 INFO    ] Checking for camera pi updates...
[2026-08-29 17:35:31,777.777 INFO    ] 200
[2026-08-29 17:35:31,780.780 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:35:31,823.823 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:35:31,930.930 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:35:31,933.933 INFO    ] No camera update needed
[2026-08-29 17:35:31,936.936 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:35:31,939.939 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:35:31,945.945 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:35:31,951.951 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:35:33,991.991 INFO    ] ================================================
[2026-08-29 17:35:34,008.008 INFO    ] Launching Daemon at Sat Aug 29 17:35:34 IST 2026
[2026-08-29 17:35:34,019.019 INFO    ] ================================================
[2026-08-29 17:35:34,584.584 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:35:34
[2026-08-29 17:35:34,930.930 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:35:35,072.072 INFO    ] Initializing speech engine...
[2026-08-29 17:35:35,077.077 INFO    ] 2026-08-29 17:35:35
[2026-08-29 17:35:35,262.262 INFO    ] 2026-08-29 17:35:35
[2026-08-29 17:35:35,315.315 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:35:35,456.456 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:35:35,468.468 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:35:35,577.577 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:35:35,595.595 INFO    ] time= 29/08/2026 17:35:35
[2026-08-29 17:35:35,614.614 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:35:35,623.623 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:35:35,692.692 INFO    ] No existing commands found in stream
[2026-08-29 17:35:40,722.722 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:35:40,725.725 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-08-29 17:35:42,040.040 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:35:42,042.042 INFO    ] Checking for system updates...
[2026-08-29 17:35:42,063.063 INFO    ] 200
[2026-08-29 17:35:42,064.064 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:35:42,094.094 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:35:42,096.096 INFO    ] No update needed
[2026-08-29 17:35:42,097.097 INFO    ] Checking for camera pi updates...
[2026-08-29 17:35:42,116.116 INFO    ] 200
[2026-08-29 17:35:42,118.118 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:35:42,142.142 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:35:42,233.233 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:35:42,234.234 INFO    ] No camera update needed
[2026-08-29 17:35:42,235.235 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:35:42,237.237 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:35:42,240.240 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:35:42,243.243 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:35:44,283.283 INFO    ] ================================================
[2026-08-29 17:35:44,300.300 INFO    ] Launching Daemon at Sat Aug 29 17:35:44 IST 2026
[2026-08-29 17:35:44,312.312 INFO    ] ================================================
[2026-08-29 17:35:44,660.660 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:35:44
[2026-08-29 17:35:44,973.973 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:35:45,182.182 INFO    ] Initializing speech engine...
[2026-08-29 17:35:45,188.188 INFO    ] 2026-08-29 17:35:45
[2026-08-29 17:35:45,435.435 INFO    ] 2026-08-29 17:35:45
[2026-08-29 17:35:45,470.470 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:35:45,641.641 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:35:45,653.653 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:35:45,794.794 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:35:45,806.806 INFO    ] time= 29/08/2026 17:35:45
[2026-08-29 17:35:45,853.853 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:35:45,873.873 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:35:45,973.973 INFO    ] No existing commands found in stream
[2026-08-29 17:35:51,004.004 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:35:51,012.012 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-08-29 17:35:53,817.817 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:35:53,818.818 INFO    ] Checking for system updates...
[2026-08-29 17:35:53,839.839 INFO    ] 200
[2026-08-29 17:35:53,841.841 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:35:53,873.873 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:35:53,874.874 INFO    ] No update needed
[2026-08-29 17:35:53,876.876 INFO    ] Checking for camera pi updates...
[2026-08-29 17:35:53,898.898 INFO    ] 200
[2026-08-29 17:35:53,899.899 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:35:53,923.923 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:35:54,004.004 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:35:54,005.005 INFO    ] No camera update needed
[2026-08-29 17:35:54,007.007 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:35:54,008.008 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:35:54,011.011 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:35:54,014.014 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:35:56,056.056 INFO    ] ================================================
[2026-08-29 17:35:56,072.072 INFO    ] Launching Daemon at Sat Aug 29 17:35:56 IST 2026
[2026-08-29 17:35:56,083.083 INFO    ] ================================================
[2026-08-29 17:35:56,430.430 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:35:56
[2026-08-29 17:35:57,087.087 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:35:57,387.387 INFO    ] Initializing speech engine...
[2026-08-29 17:35:57,395.395 INFO    ] 2026-08-29 17:35:57
[2026-08-29 17:35:57,667.667 INFO    ] 2026-08-29 17:35:57
[2026-08-29 17:35:57,721.721 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:35:57,946.946 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:35:57,956.956 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:35:58,092.092 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:35:58,137.137 INFO    ] time= 29/08/2026 17:35:58
[2026-08-29 17:35:58,191.191 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:35:58,223.223 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:35:58,283.283 INFO    ] No existing commands found in stream
[2026-08-29 17:36:03,304.304 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:36:03,307.307 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-08-29 17:36:06,224.224 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:36:06,225.225 INFO    ] Checking for system updates...
[2026-08-29 17:36:06,263.263 INFO    ] 200
[2026-08-29 17:36:06,266.266 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:36:06,319.319 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:36:06,322.322 INFO    ] No update needed
[2026-08-29 17:36:06,325.325 INFO    ] Checking for camera pi updates...
[2026-08-29 17:36:06,360.360 INFO    ] 200
[2026-08-29 17:36:06,363.363 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:36:06,405.405 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:36:06,493.493 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:36:06,496.496 INFO    ] No camera update needed
[2026-08-29 17:36:06,498.498 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:36:06,501.501 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:36:06,507.507 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:36:06,513.513 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:36:08,554.554 INFO    ] ================================================
[2026-08-29 17:36:08,570.570 INFO    ] Launching Daemon at Sat Aug 29 17:36:08 IST 2026
[2026-08-29 17:36:08,580.580 INFO    ] ================================================
[2026-08-29 17:36:09,148.148 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:36:09
[2026-08-29 17:36:09,509.509 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:36:09,651.651 INFO    ] Initializing speech engine...
[2026-08-29 17:36:09,656.656 INFO    ] 2026-08-29 17:36:09
[2026-08-29 17:36:09,860.860 INFO    ] 2026-08-29 17:36:09
[2026-08-29 17:36:09,888.888 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:36:10,009.009 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:36:10,048.048 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:36:10,203.203 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:36:10,260.260 INFO    ] time= 29/08/2026 17:36:10
[2026-08-29 17:36:10,294.294 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:36:10,304.304 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:36:10,374.374 INFO    ] No existing commands found in stream
[2026-08-29 17:36:15,385.385 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:36:15,387.387 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-08-29 17:36:18,040.040 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:36:18,041.041 INFO    ] Checking for system updates...
[2026-08-29 17:36:18,064.064 INFO    ] 200
[2026-08-29 17:36:18,065.065 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:36:18,097.097 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:36:18,098.098 INFO    ] No update needed
[2026-08-29 17:36:18,100.100 INFO    ] Checking for camera pi updates...
[2026-08-29 17:36:18,124.124 INFO    ] 200
[2026-08-29 17:36:18,126.126 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:36:18,171.171 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:36:18,374.374 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:36:18,377.377 INFO    ] No camera update needed
[2026-08-29 17:36:18,380.380 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:36:18,382.382 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:36:18,387.387 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:36:18,392.392 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:36:20,434.434 INFO    ] ================================================
[2026-08-29 17:36:20,450.450 INFO    ] Launching Daemon at Sat Aug 29 17:36:20 IST 2026
[2026-08-29 17:36:20,460.460 INFO    ] ================================================
[2026-08-29 17:36:20,804.804 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:36:20
[2026-08-29 17:36:21,350.350 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:36:21,612.612 INFO    ] Initializing speech engine...
[2026-08-29 17:36:21,630.630 INFO    ] 2026-08-29 17:36:21
[2026-08-29 17:36:21,883.883 INFO    ] 2026-08-29 17:36:21
[2026-08-29 17:36:21,918.918 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:36:22,102.102 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:36:22,116.116 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:36:22,246.246 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:36:22,266.266 INFO    ] time= 29/08/2026 17:36:22
[2026-08-29 17:36:22,275.275 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:36:22,281.281 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:36:22,350.350 INFO    ] No existing commands found in stream
[2026-08-29 17:36:27,365.365 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:36:27,367.367 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-08-29 17:36:28,962.962 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:36:28,964.964 INFO    ] Checking for system updates...
[2026-08-29 17:36:29,000.000 INFO    ] 200
[2026-08-29 17:36:29,002.002 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:36:29,038.038 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:36:29,039.039 INFO    ] No update needed
[2026-08-29 17:36:29,040.040 INFO    ] Checking for camera pi updates...
[2026-08-29 17:36:29,059.059 INFO    ] 200
[2026-08-29 17:36:29,060.060 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:36:29,083.083 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:36:29,132.132 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:36:29,133.133 INFO    ] No camera update needed
[2026-08-29 17:36:29,134.134 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:36:29,136.136 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:36:29,138.138 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:36:29,141.141 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:36:31,180.180 INFO    ] ================================================
[2026-08-29 17:36:31,195.195 INFO    ] Launching Daemon at Sat Aug 29 17:36:31 IST 2026
[2026-08-29 17:36:31,205.205 INFO    ] ================================================
[2026-08-29 17:36:31,680.680 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:36:31
[2026-08-29 17:36:32,294.294 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:36:32,552.552 INFO    ] Initializing speech engine...
[2026-08-29 17:36:32,561.561 INFO    ] 2026-08-29 17:36:32
[2026-08-29 17:36:32,857.857 INFO    ] 2026-08-29 17:36:32
[2026-08-29 17:36:32,892.892 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:36:33,073.073 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:36:33,092.092 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:36:33,202.202 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:36:33,209.209 INFO    ] time= 29/08/2026 17:36:33
[2026-08-29 17:36:33,231.231 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:36:33,239.239 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:36:33,288.288 INFO    ] No existing commands found in stream
[2026-08-29 17:36:38,298.298 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:36:38,301.301 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-08-29 17:36:40,393.393 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:36:40,394.394 INFO    ] Checking for system updates...
[2026-08-29 17:36:40,415.415 INFO    ] 200
[2026-08-29 17:36:40,416.416 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:36:40,446.446 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:36:40,447.447 INFO    ] No update needed
[2026-08-29 17:36:40,448.448 INFO    ] Checking for camera pi updates...
[2026-08-29 17:36:40,468.468 INFO    ] 200
[2026-08-29 17:36:40,470.470 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:36:40,493.493 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:36:40,611.611 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:36:40,612.612 INFO    ] No camera update needed
[2026-08-29 17:36:40,614.614 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:36:40,615.615 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:36:40,618.618 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:36:40,620.620 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:36:42,659.659 INFO    ] ================================================
[2026-08-29 17:36:42,674.674 INFO    ] Launching Daemon at Sat Aug 29 17:36:42 IST 2026
[2026-08-29 17:36:42,685.685 INFO    ] ================================================
[2026-08-29 17:36:43,007.007 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:36:43
[2026-08-29 17:36:43,323.323 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:36:43,573.573 INFO    ] Initializing speech engine...
[2026-08-29 17:36:43,580.580 INFO    ] 2026-08-29 17:36:43
[2026-08-29 17:36:43,876.876 INFO    ] 2026-08-29 17:36:43
[2026-08-29 17:36:43,916.916 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:36:44,110.110 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:36:44,117.117 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:36:44,247.247 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:36:44,254.254 INFO    ] time= 29/08/2026 17:36:44
[2026-08-29 17:36:44,260.260 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:36:44,281.281 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:36:44,382.382 INFO    ] No existing commands found in stream
[2026-08-29 17:36:49,395.395 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:36:49,398.398 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-08-29 17:36:49,793.793 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:36:49,795.795 INFO    ] Checking for system updates...
[2026-08-29 17:36:49,815.815 INFO    ] 200
[2026-08-29 17:36:49,816.816 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:36:49,848.848 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:36:49,850.850 INFO    ] No update needed
[2026-08-29 17:36:49,851.851 INFO    ] Checking for camera pi updates...
[2026-08-29 17:36:49,871.871 INFO    ] 200
[2026-08-29 17:36:49,873.873 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:36:49,896.896 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:36:50,008.008 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:36:50,009.009 INFO    ] No camera update needed
[2026-08-29 17:36:50,011.011 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:36:50,012.012 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:36:50,015.015 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:36:50,018.018 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:36:52,056.056 INFO    ] ================================================
[2026-08-29 17:36:52,071.071 INFO    ] Launching Daemon at Sat Aug 29 17:36:52 IST 2026
[2026-08-29 17:36:52,082.082 INFO    ] ================================================
[2026-08-29 17:36:52,448.448 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:36:52
[2026-08-29 17:36:52,764.764 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:36:52,903.903 INFO    ] Initializing speech engine...
[2026-08-29 17:36:52,911.911 INFO    ] 2026-08-29 17:36:52
[2026-08-29 17:36:53,165.165 INFO    ] 2026-08-29 17:36:53
[2026-08-29 17:36:53,201.201 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:36:53,372.372 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:36:53,385.385 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:36:53,530.530 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:36:53,535.535 INFO    ] time= 29/08/2026 17:36:53
[2026-08-29 17:36:53,541.541 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:36:53,568.568 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:36:53,682.682 INFO    ] No existing commands found in stream
[2026-08-29 17:36:58,712.712 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:36:58,715.715 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-08-29 17:37:02,016.016 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:37:02,021.021 INFO    ] Checking for system updates...
[2026-08-29 17:37:02,065.065 INFO    ] 200
[2026-08-29 17:37:02,068.068 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:37:02,129.129 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:37:02,132.132 INFO    ] No update needed
[2026-08-29 17:37:02,135.135 INFO    ] Checking for camera pi updates...
[2026-08-29 17:37:02,176.176 INFO    ] 200
[2026-08-29 17:37:02,179.179 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:37:02,231.231 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:37:02,368.368 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:37:02,370.370 INFO    ] No camera update needed
[2026-08-29 17:37:02,373.373 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:37:02,376.376 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:37:02,383.383 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:37:02,389.389 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:37:04,431.431 INFO    ] ================================================
[2026-08-29 17:37:04,446.446 INFO    ] Launching Daemon at Sat Aug 29 17:37:04 IST 2026
[2026-08-29 17:37:04,457.457 INFO    ] ================================================
[2026-08-29 17:37:04,834.834 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:37:04
[2026-08-29 17:37:05,170.170 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:37:05,325.325 INFO    ] Initializing speech engine...
[2026-08-29 17:37:05,336.336 INFO    ] 2026-08-29 17:37:05
[2026-08-29 17:37:05,632.632 INFO    ] 2026-08-29 17:37:05
[2026-08-29 17:37:05,680.680 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:37:05,908.908 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:37:05,918.918 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:37:06,018.018 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:37:06,078.078 INFO    ] time= 29/08/2026 17:37:06
[2026-08-29 17:37:06,094.094 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:37:06,133.133 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:37:06,227.227 INFO    ] No existing commands found in stream
[2026-08-29 17:37:11,237.237 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:37:11,240.240 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-08-29 17:37:13,187.187 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:37:13,188.188 INFO    ] Checking for system updates...
[2026-08-29 17:37:13,209.209 INFO    ] 200
[2026-08-29 17:37:13,210.210 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:37:13,240.240 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:37:13,241.241 INFO    ] No update needed
[2026-08-29 17:37:13,243.243 INFO    ] Checking for camera pi updates...
[2026-08-29 17:37:13,262.262 INFO    ] 200
[2026-08-29 17:37:13,263.263 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:37:13,287.287 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:37:13,364.364 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:37:13,365.365 INFO    ] No camera update needed
[2026-08-29 17:37:13,367.367 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:37:13,368.368 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:37:13,371.371 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:37:13,373.373 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:37:15,411.411 INFO    ] ================================================
[2026-08-29 17:37:15,426.426 INFO    ] Launching Daemon at Sat Aug 29 17:37:15 IST 2026
[2026-08-29 17:37:15,437.437 INFO    ] ================================================
[2026-08-29 17:37:15,798.798 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:37:15
[2026-08-29 17:37:16,110.110 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:37:16,241.241 INFO    ] Initializing speech engine...
[2026-08-29 17:37:16,246.246 INFO    ] 2026-08-29 17:37:16
[2026-08-29 17:37:16,460.460 INFO    ] 2026-08-29 17:37:16
[2026-08-29 17:37:16,494.494 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:37:16,671.671 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:37:16,684.684 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:37:16,799.799 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:37:16,819.819 INFO    ] time= 29/08/2026 17:37:16
[2026-08-29 17:37:16,844.844 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:37:16,849.849 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:37:16,924.924 INFO    ] No existing commands found in stream
[2026-08-29 17:37:21,961.961 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:37:21,964.964 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-08-29 17:37:25,488.488 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:37:25,489.489 INFO    ] Checking for system updates...
[2026-08-29 17:37:25,512.512 INFO    ] 200
[2026-08-29 17:37:25,514.514 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:37:25,549.549 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:37:25,551.551 INFO    ] No update needed
[2026-08-29 17:37:25,552.552 INFO    ] Checking for camera pi updates...
[2026-08-29 17:37:25,574.574 INFO    ] 200
[2026-08-29 17:37:25,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:37:25,601.601 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:37:25,703.703 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:37:25,704.704 INFO    ] No camera update needed
[2026-08-29 17:37:25,705.705 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:37:25,707.707 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:37:25,710.710 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:37:25,713.713 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:37:27,751.751 INFO    ] ================================================
[2026-08-29 17:37:27,766.766 INFO    ] Launching Daemon at Sat Aug 29 17:37:27 IST 2026
[2026-08-29 17:37:27,777.777 INFO    ] ================================================
[2026-08-29 17:37:28,111.111 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:37:28
[2026-08-29 17:37:28,422.422 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:37:28,554.554 INFO    ] Initializing speech engine...
[2026-08-29 17:37:28,566.566 INFO    ] 2026-08-29 17:37:28
[2026-08-29 17:37:28,772.772 INFO    ] 2026-08-29 17:37:28
[2026-08-29 17:37:28,801.801 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:37:28,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:37:28,986.986 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:37:29,129.129 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:37:29,190.190 INFO    ] time= 29/08/2026 17:37:29
[2026-08-29 17:37:29,214.214 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:37:29,221.221 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:37:29,328.328 INFO    ] No existing commands found in stream
[2026-08-29 17:37:34,355.355 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:37:34,358.358 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-08-29 17:37:36,654.654 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:37:36,656.656 INFO    ] Checking for system updates...
[2026-08-29 17:37:36,676.676 INFO    ] 200
[2026-08-29 17:37:36,677.677 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:37:36,710.710 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:37:36,712.712 INFO    ] No update needed
[2026-08-29 17:37:36,713.713 INFO    ] Checking for camera pi updates...
[2026-08-29 17:37:36,733.733 INFO    ] 200
[2026-08-29 17:37:36,734.734 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:37:36,756.756 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:37:36,867.867 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:37:36,868.868 INFO    ] No camera update needed
[2026-08-29 17:37:36,875.875 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:37:36,877.877 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:37:36,880.880 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:37:36,883.883 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:37:38,921.921 INFO    ] ================================================
[2026-08-29 17:37:38,936.936 INFO    ] Launching Daemon at Sat Aug 29 17:37:38 IST 2026
[2026-08-29 17:37:38,947.947 INFO    ] ================================================
[2026-08-29 17:37:39,513.513 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:37:39
[2026-08-29 17:37:40,062.062 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:37:40,205.205 INFO    ] Initializing speech engine...
[2026-08-29 17:37:40,210.210 INFO    ] 2026-08-29 17:37:40
[2026-08-29 17:37:40,420.420 INFO    ] 2026-08-29 17:37:40
[2026-08-29 17:37:40,498.498 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:37:40,627.627 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:37:40,629.629 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:37:40,745.745 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:37:40,801.801 INFO    ] time= 29/08/2026 17:37:40
[2026-08-29 17:37:40,821.821 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:37:40,871.871 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:37:40,970.970 INFO    ] No existing commands found in stream
[2026-08-29 17:37:45,980.980 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:37:45,983.983 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-08-29 17:37:46,879.879 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:37:46,880.880 INFO    ] Checking for system updates...
[2026-08-29 17:37:46,905.905 INFO    ] 200
[2026-08-29 17:37:46,906.906 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:37:46,942.942 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:37:46,943.943 INFO    ] No update needed
[2026-08-29 17:37:46,945.945 INFO    ] Checking for camera pi updates...
[2026-08-29 17:37:46,964.964 INFO    ] 200
[2026-08-29 17:37:46,965.965 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:37:46,993.993 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:37:47,079.079 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:37:47,081.081 INFO    ] No camera update needed
[2026-08-29 17:37:47,084.084 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:37:47,086.086 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:37:47,091.091 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:37:47,096.096 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:37:49,136.136 INFO    ] ================================================
[2026-08-29 17:37:49,151.151 INFO    ] Launching Daemon at Sat Aug 29 17:37:49 IST 2026
[2026-08-29 17:37:49,162.162 INFO    ] ================================================
[2026-08-29 17:37:49,729.729 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:37:49
[2026-08-29 17:37:50,219.219 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:37:50,352.352 INFO    ] Initializing speech engine...
[2026-08-29 17:37:50,364.364 INFO    ] 2026-08-29 17:37:50
[2026-08-29 17:37:50,572.572 INFO    ] 2026-08-29 17:37:50
[2026-08-29 17:37:50,602.602 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:37:50,724.724 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:37:50,767.767 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:37:50,923.923 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:37:50,985.985 INFO    ] time= 29/08/2026 17:37:50
[2026-08-29 17:37:51,018.018 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:37:51,020.020 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:37:51,092.092 INFO    ] No existing commands found in stream
[2026-08-29 17:37:56,102.102 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:37:56,105.105 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-08-29 17:37:58,671.671 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:37:58,673.673 INFO    ] Checking for system updates...
[2026-08-29 17:37:58,694.694 INFO    ] 200
[2026-08-29 17:37:58,696.696 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:37:58,725.725 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:37:58,726.726 INFO    ] No update needed
[2026-08-29 17:37:58,728.728 INFO    ] Checking for camera pi updates...
[2026-08-29 17:37:58,748.748 INFO    ] 200
[2026-08-29 17:37:58,749.749 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:37:58,774.774 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:37:58,854.854 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:37:58,855.855 INFO    ] No camera update needed
[2026-08-29 17:37:58,856.856 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:37:58,857.857 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:37:58,860.860 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:37:58,863.863 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:38:00,904.904 INFO    ] ================================================
[2026-08-29 17:38:00,920.920 INFO    ] Launching Daemon at Sat Aug 29 17:38:00 IST 2026
[2026-08-29 17:38:00,931.931 INFO    ] ================================================
[2026-08-29 17:38:01,654.654 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:38:01
[2026-08-29 17:38:02,325.325 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:38:02,731.731 INFO    ] Initializing speech engine...
[2026-08-29 17:38:02,740.740 INFO    ] 2026-08-29 17:38:02
[2026-08-29 17:38:03,073.073 INFO    ] 2026-08-29 17:38:03
[2026-08-29 17:38:03,162.162 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:38:03,321.321 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:38:03,327.327 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:38:03,462.462 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:38:03,495.495 INFO    ] time= 29/08/2026 17:38:03
[2026-08-29 17:38:03,554.554 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:38:03,600.600 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:38:03,659.659 INFO    ] No existing commands found in stream
[2026-08-29 17:38:08,672.672 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:38:08,676.676 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-08-29 17:38:11,865.865 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:38:11,866.866 INFO    ] Checking for system updates...
[2026-08-29 17:38:11,887.887 INFO    ] 200
[2026-08-29 17:38:11,888.888 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:38:11,921.921 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:38:11,923.923 INFO    ] No update needed
[2026-08-29 17:38:11,924.924 INFO    ] Checking for camera pi updates...
[2026-08-29 17:38:11,943.943 INFO    ] 200
[2026-08-29 17:38:11,944.944 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:38:11,969.969 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:38:12,066.066 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:38:12,068.068 INFO    ] No camera update needed
[2026-08-29 17:38:12,069.069 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:38:12,070.070 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:38:12,073.073 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:38:12,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:38:14,115.115 INFO    ] ================================================
[2026-08-29 17:38:14,131.131 INFO    ] Launching Daemon at Sat Aug 29 17:38:14 IST 2026
[2026-08-29 17:38:14,142.142 INFO    ] ================================================
[2026-08-29 17:38:14,533.533 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:38:14
[2026-08-29 17:38:14,877.877 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:38:15,032.032 INFO    ] Initializing speech engine...
[2026-08-29 17:38:15,037.037 INFO    ] 2026-08-29 17:38:15
[2026-08-29 17:38:15,244.244 INFO    ] 2026-08-29 17:38:15
[2026-08-29 17:38:15,272.272 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:38:15,395.395 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:38:15,453.453 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:38:15,614.614 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:38:15,658.658 INFO    ] time= 29/08/2026 17:38:15
[2026-08-29 17:38:15,703.703 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:38:15,752.752 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:38:15,855.855 INFO    ] No existing commands found in stream
[2026-08-29 17:38:20,870.870 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:38:20,873.873 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-08-29 17:38:22,954.954 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:38:22,956.956 INFO    ] Checking for system updates...
[2026-08-29 17:38:22,976.976 INFO    ] 200
[2026-08-29 17:38:22,977.977 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:38:23,007.007 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:38:23,009.009 INFO    ] No update needed
[2026-08-29 17:38:23,010.010 INFO    ] Checking for camera pi updates...
[2026-08-29 17:38:23,031.031 INFO    ] 200
[2026-08-29 17:38:23,032.032 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:38:23,057.057 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:38:23,245.245 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:38:23,246.246 INFO    ] No camera update needed
[2026-08-29 17:38:23,248.248 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:38:23,249.249 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:38:23,252.252 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:38:23,255.255 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:38:25,295.295 INFO    ] ================================================
[2026-08-29 17:38:25,310.310 INFO    ] Launching Daemon at Sat Aug 29 17:38:25 IST 2026
[2026-08-29 17:38:25,321.321 INFO    ] ================================================
[2026-08-29 17:38:25,687.687 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:38:25
[2026-08-29 17:38:26,245.245 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:38:26,555.555 INFO    ] Initializing speech engine...
[2026-08-29 17:38:26,567.567 INFO    ] 2026-08-29 17:38:26
[2026-08-29 17:38:26,876.876 INFO    ] 2026-08-29 17:38:26
[2026-08-29 17:38:26,962.962 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:38:27,123.123 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:38:27,144.144 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:38:27,261.261 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:38:27,321.321 INFO    ] time= 29/08/2026 17:38:27
[2026-08-29 17:38:27,381.381 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:38:27,395.395 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:38:27,521.521 INFO    ] No existing commands found in stream
[2026-08-29 17:38:32,552.552 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:38:32,555.555 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-08-29 17:38:36,086.086 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:38:36,089.089 INFO    ] Checking for system updates...
[2026-08-29 17:38:36,132.132 INFO    ] 200
[2026-08-29 17:38:36,135.135 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:38:36,197.197 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:38:36,200.200 INFO    ] No update needed
[2026-08-29 17:38:36,203.203 INFO    ] Checking for camera pi updates...
[2026-08-29 17:38:36,238.238 INFO    ] 200
[2026-08-29 17:38:36,241.241 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:38:36,282.282 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:38:36,386.386 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:38:36,389.389 INFO    ] No camera update needed
[2026-08-29 17:38:36,392.392 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:38:36,395.395 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:38:36,401.401 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:38:36,407.407 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:38:38,448.448 INFO    ] ================================================
[2026-08-29 17:38:38,463.463 INFO    ] Launching Daemon at Sat Aug 29 17:38:38 IST 2026
[2026-08-29 17:38:38,474.474 INFO    ] ================================================
[2026-08-29 17:38:38,858.858 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:38:38
[2026-08-29 17:38:39,197.197 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:38:39,329.329 INFO    ] Initializing speech engine...
[2026-08-29 17:38:39,341.341 INFO    ] 2026-08-29 17:38:39
[2026-08-29 17:38:39,521.521 INFO    ] 2026-08-29 17:38:39
[2026-08-29 17:38:39,556.556 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:38:39,727.727 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:38:39,740.740 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:38:39,865.865 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:38:39,885.885 INFO    ] time= 29/08/2026 17:38:39
[2026-08-29 17:38:39,892.892 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:38:39,899.899 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:38:39,966.966 INFO    ] No existing commands found in stream
[2026-08-29 17:38:44,996.996 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:38:44,999.999 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-08-29 17:38:47,823.823 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:38:47,824.824 INFO    ] Checking for system updates...
[2026-08-29 17:38:47,845.845 INFO    ] 200
[2026-08-29 17:38:47,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:38:47,876.876 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:38:47,877.877 INFO    ] No update needed
[2026-08-29 17:38:47,878.878 INFO    ] Checking for camera pi updates...
[2026-08-29 17:38:47,898.898 INFO    ] 200
[2026-08-29 17:38:47,900.900 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:38:47,922.922 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:38:48,012.012 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:38:48,014.014 INFO    ] No camera update needed
[2026-08-29 17:38:48,015.015 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:38:48,016.016 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:38:48,019.019 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:38:48,021.021 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:38:50,062.062 INFO    ] ================================================
[2026-08-29 17:38:50,078.078 INFO    ] Launching Daemon at Sat Aug 29 17:38:50 IST 2026
[2026-08-29 17:38:50,089.089 INFO    ] ================================================
[2026-08-29 17:38:50,416.416 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:38:50
[2026-08-29 17:38:50,735.735 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:38:50,871.871 INFO    ] Initializing speech engine...
[2026-08-29 17:38:50,875.875 INFO    ] 2026-08-29 17:38:50
[2026-08-29 17:38:51,080.080 INFO    ] 2026-08-29 17:38:51
[2026-08-29 17:38:51,114.114 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:38:51,236.236 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:38:51,238.238 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:38:51,359.359 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:38:51,374.374 INFO    ] time= 29/08/2026 17:38:51
[2026-08-29 17:38:51,380.380 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:38:51,392.392 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:38:51,492.492 INFO    ] No existing commands found in stream
[2026-08-29 17:38:56,508.508 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:38:56,511.511 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-08-29 17:39:00,054.054 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:39:00,056.056 INFO    ] Checking for system updates...
[2026-08-29 17:39:00,076.076 INFO    ] 200
[2026-08-29 17:39:00,078.078 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:39:00,110.110 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:39:00,111.111 INFO    ] No update needed
[2026-08-29 17:39:00,113.113 INFO    ] Checking for camera pi updates...
[2026-08-29 17:39:00,133.133 INFO    ] 200
[2026-08-29 17:39:00,134.134 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:39:00,159.159 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:39:00,264.264 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:39:00,265.265 INFO    ] No camera update needed
[2026-08-29 17:39:00,266.266 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:39:00,267.267 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:39:00,270.270 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:39:00,273.273 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:39:02,318.318 INFO    ] ================================================
[2026-08-29 17:39:02,340.340 INFO    ] Launching Daemon at Sat Aug 29 17:39:02 IST 2026
[2026-08-29 17:39:02,354.354 INFO    ] ================================================
[2026-08-29 17:39:03,096.096 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:39:03
[2026-08-29 17:39:03,769.769 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:39:04,084.084 INFO    ] Initializing speech engine...
[2026-08-29 17:39:04,092.092 INFO    ] 2026-08-29 17:39:04
[2026-08-29 17:39:04,374.374 INFO    ] 2026-08-29 17:39:04
[2026-08-29 17:39:04,485.485 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:39:04,659.659 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:39:04,717.717 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:39:04,859.859 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:39:04,927.927 INFO    ] time= 29/08/2026 17:39:04
[2026-08-29 17:39:04,950.950 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:39:04,957.957 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:39:05,024.024 INFO    ] No existing commands found in stream
[2026-08-29 17:39:10,033.033 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:39:10,037.037 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-08-29 17:39:13,470.470 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:39:13,471.471 INFO    ] Checking for system updates...
[2026-08-29 17:39:13,492.492 INFO    ] 200
[2026-08-29 17:39:13,494.494 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:39:13,524.524 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:39:13,525.525 INFO    ] No update needed
[2026-08-29 17:39:13,527.527 INFO    ] Checking for camera pi updates...
[2026-08-29 17:39:13,546.546 INFO    ] 200
[2026-08-29 17:39:13,548.548 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:39:13,571.571 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:39:13,670.670 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:39:13,671.671 INFO    ] No camera update needed
[2026-08-29 17:39:13,673.673 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:39:13,674.674 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:39:13,678.678 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:39:13,680.680 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:39:15,720.720 INFO    ] ================================================
[2026-08-29 17:39:15,736.736 INFO    ] Launching Daemon at Sat Aug 29 17:39:15 IST 2026
[2026-08-29 17:39:15,747.747 INFO    ] ================================================
[2026-08-29 17:39:16,086.086 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:39:16
[2026-08-29 17:39:16,396.396 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:39:16,630.630 INFO    ] Initializing speech engine...
[2026-08-29 17:39:16,639.639 INFO    ] 2026-08-29 17:39:16
[2026-08-29 17:39:16,889.889 INFO    ] 2026-08-29 17:39:16
[2026-08-29 17:39:16,923.923 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:39:17,099.099 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:39:17,115.115 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:39:17,244.244 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:39:17,265.265 INFO    ] time= 29/08/2026 17:39:17
[2026-08-29 17:39:17,273.273 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:39:17,279.279 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:39:17,345.345 INFO    ] No existing commands found in stream
[2026-08-29 17:39:22,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:39:22,384.384 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-08-29 17:39:24,466.466 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:39:24,467.467 INFO    ] Checking for system updates...
[2026-08-29 17:39:24,488.488 INFO    ] 200
[2026-08-29 17:39:24,489.489 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:39:24,519.519 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:39:24,521.521 INFO    ] No update needed
[2026-08-29 17:39:24,522.522 INFO    ] Checking for camera pi updates...
[2026-08-29 17:39:24,542.542 INFO    ] 200
[2026-08-29 17:39:24,543.543 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:39:24,569.569 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:39:24,673.673 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:39:24,675.675 INFO    ] No camera update needed
[2026-08-29 17:39:24,678.678 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:39:24,681.681 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:39:24,687.687 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:39:24,693.693 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:39:26,735.735 INFO    ] ================================================
[2026-08-29 17:39:26,750.750 INFO    ] Launching Daemon at Sat Aug 29 17:39:26 IST 2026
[2026-08-29 17:39:26,762.762 INFO    ] ================================================
[2026-08-29 17:39:27,417.417 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:39:27
[2026-08-29 17:39:27,836.836 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:39:27,967.967 INFO    ] Initializing speech engine...
[2026-08-29 17:39:27,971.971 INFO    ] 2026-08-29 17:39:27
[2026-08-29 17:39:28,206.206 INFO    ] 2026-08-29 17:39:28
[2026-08-29 17:39:28,236.236 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:39:28,367.367 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:39:28,417.417 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:39:28,557.557 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:39:28,581.581 INFO    ] time= 29/08/2026 17:39:28
[2026-08-29 17:39:28,633.633 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:39:28,671.671 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:39:28,762.762 INFO    ] No existing commands found in stream
[2026-08-29 17:39:33,773.773 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:39:33,775.775 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-08-29 17:39:35,036.036 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:39:35,037.037 INFO    ] Checking for system updates...
[2026-08-29 17:39:35,058.058 INFO    ] 200
[2026-08-29 17:39:35,060.060 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:39:35,090.090 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:39:35,091.091 INFO    ] No update needed
[2026-08-29 17:39:35,093.093 INFO    ] Checking for camera pi updates...
[2026-08-29 17:39:35,113.113 INFO    ] 200
[2026-08-29 17:39:35,114.114 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:39:35,137.137 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:39:35,215.215 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:39:35,217.217 INFO    ] No camera update needed
[2026-08-29 17:39:35,218.218 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:39:35,220.220 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:39:35,224.224 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:39:35,227.227 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:39:37,267.267 INFO    ] ================================================
[2026-08-29 17:39:37,283.283 INFO    ] Launching Daemon at Sat Aug 29 17:39:37 IST 2026
[2026-08-29 17:39:37,294.294 INFO    ] ================================================
[2026-08-29 17:39:37,874.874 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:39:37
[2026-08-29 17:39:38,474.474 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:39:38,733.733 INFO    ] Initializing speech engine...
[2026-08-29 17:39:38,740.740 INFO    ] 2026-08-29 17:39:38
[2026-08-29 17:39:39,039.039 INFO    ] 2026-08-29 17:39:39
[2026-08-29 17:39:39,061.061 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:39:39,205.205 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:39:39,210.210 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:39:39,356.356 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:39:39,359.359 INFO    ] time= 29/08/2026 17:39:39
[2026-08-29 17:39:39,369.369 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:39:39,379.379 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:39:39,455.455 INFO    ] No existing commands found in stream
[2026-08-29 17:39:44,490.490 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:39:44,492.492 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-08-29 17:39:44,997.997 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:39:44,999.999 INFO    ] Checking for system updates...
[2026-08-29 17:39:45,020.020 INFO    ] 200
[2026-08-29 17:39:45,021.021 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:39:45,052.052 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:39:45,053.053 INFO    ] No update needed
[2026-08-29 17:39:45,054.054 INFO    ] Checking for camera pi updates...
[2026-08-29 17:39:45,076.076 INFO    ] 200
[2026-08-29 17:39:45,077.077 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:39:45,103.103 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:39:45,182.182 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:39:45,184.184 INFO    ] No camera update needed
[2026-08-29 17:39:45,185.185 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:39:45,186.186 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:39:45,189.189 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:39:45,191.191 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:39:47,230.230 INFO    ] ================================================
[2026-08-29 17:39:47,246.246 INFO    ] Launching Daemon at Sat Aug 29 17:39:47 IST 2026
[2026-08-29 17:39:47,257.257 INFO    ] ================================================
[2026-08-29 17:39:47,597.597 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:39:47
[2026-08-29 17:39:48,195.195 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:39:48,462.462 INFO    ] Initializing speech engine...
[2026-08-29 17:39:48,488.488 INFO    ] 2026-08-29 17:39:48
[2026-08-29 17:39:48,762.762 INFO    ] 2026-08-29 17:39:48
[2026-08-29 17:39:48,802.802 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:39:48,997.997 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:39:49,004.004 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:39:49,135.135 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:39:49,142.142 INFO    ] time= 29/08/2026 17:39:49
[2026-08-29 17:39:49,147.147 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:39:49,166.166 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:39:49,269.269 INFO    ] No existing commands found in stream
[2026-08-29 17:39:54,281.281 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:39:54,284.284 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-08-29 17:39:57,133.133 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:39:57,134.134 INFO    ] Checking for system updates...
[2026-08-29 17:39:57,155.155 INFO    ] 200
[2026-08-29 17:39:57,156.156 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:39:57,188.188 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:39:57,189.189 INFO    ] No update needed
[2026-08-29 17:39:57,190.190 INFO    ] Checking for camera pi updates...
[2026-08-29 17:39:57,210.210 INFO    ] 200
[2026-08-29 17:39:57,212.212 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:39:57,235.235 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:39:57,335.335 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:39:57,336.336 INFO    ] No camera update needed
[2026-08-29 17:39:57,337.337 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:39:57,339.339 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:39:57,341.341 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:39:57,344.344 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:39:59,375.375 INFO    ] ================================================
[2026-08-29 17:39:59,384.384 INFO    ] Launching Daemon at Sat Aug 29 17:39:59 IST 2026
[2026-08-29 17:39:59,390.390 INFO    ] ================================================
[2026-08-29 17:39:59,999.999 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:39:59
[2026-08-29 17:40:00,679.679 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:40:00,992.992 INFO    ] Initializing speech engine...
[2026-08-29 17:40:01,003.003 INFO    ] 2026-08-29 17:40:00
[2026-08-29 17:40:01,318.318 INFO    ] 2026-08-29 17:40:01
[2026-08-29 17:40:01,405.405 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:40:01,563.563 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:40:01,569.569 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:40:01,704.704 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:40:01,757.757 INFO    ] time= 29/08/2026 17:40:01
[2026-08-29 17:40:01,812.812 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:40:01,843.843 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:40:01,898.898 INFO    ] No existing commands found in stream
[2026-08-29 17:40:06,911.911 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:40:06,914.914 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-08-29 17:40:09,120.120 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:40:09,122.122 INFO    ] Checking for system updates...
[2026-08-29 17:40:09,143.143 INFO    ] 200
[2026-08-29 17:40:09,144.144 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:40:09,176.176 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:40:09,177.177 INFO    ] No update needed
[2026-08-29 17:40:09,179.179 INFO    ] Checking for camera pi updates...
[2026-08-29 17:40:09,199.199 INFO    ] 200
[2026-08-29 17:40:09,200.200 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:40:09,224.224 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:40:09,306.306 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:40:09,308.308 INFO    ] No camera update needed
[2026-08-29 17:40:09,309.309 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:40:09,310.310 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:40:09,313.313 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:40:09,316.316 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:40:11,354.354 INFO    ] ================================================
[2026-08-29 17:40:11,370.370 INFO    ] Launching Daemon at Sat Aug 29 17:40:11 IST 2026
[2026-08-29 17:40:11,381.381 INFO    ] ================================================
[2026-08-29 17:40:11,721.721 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:40:11
[2026-08-29 17:40:12,053.053 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:40:12,206.206 INFO    ] Initializing speech engine...
[2026-08-29 17:40:12,213.213 INFO    ] 2026-08-29 17:40:12
[2026-08-29 17:40:12,413.413 INFO    ] 2026-08-29 17:40:12
[2026-08-29 17:40:12,442.442 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:40:12,564.564 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:40:12,626.626 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:40:12,761.761 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:40:12,823.823 INFO    ] time= 29/08/2026 17:40:12
[2026-08-29 17:40:12,854.854 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:40:12,861.861 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:40:12,926.926 INFO    ] No existing commands found in stream
[2026-08-29 17:40:17,937.937 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:40:17,940.940 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-08-29 17:40:21,674.674 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:40:21,676.676 INFO    ] Checking for system updates...
[2026-08-29 17:40:21,696.696 INFO    ] 200
[2026-08-29 17:40:21,698.698 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:40:21,728.728 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:40:21,729.729 INFO    ] No update needed
[2026-08-29 17:40:21,730.730 INFO    ] Checking for camera pi updates...
[2026-08-29 17:40:21,751.751 INFO    ] 200
[2026-08-29 17:40:21,752.752 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:40:21,778.778 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:40:21,862.862 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:40:21,864.864 INFO    ] No camera update needed
[2026-08-29 17:40:21,865.865 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:40:21,866.866 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:40:21,870.870 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:40:21,873.873 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:40:23,912.912 INFO    ] ================================================
[2026-08-29 17:40:23,927.927 INFO    ] Launching Daemon at Sat Aug 29 17:40:23 IST 2026
[2026-08-29 17:40:23,938.938 INFO    ] ================================================
[2026-08-29 17:40:24,403.403 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:40:24
[2026-08-29 17:40:24,988.988 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:40:25,257.257 INFO    ] Initializing speech engine...
[2026-08-29 17:40:25,267.267 INFO    ] 2026-08-29 17:40:25
[2026-08-29 17:40:25,525.525 INFO    ] 2026-08-29 17:40:25
[2026-08-29 17:40:25,583.583 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:40:25,804.804 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:40:25,814.814 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:40:25,945.945 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:40:25,993.993 INFO    ] time= 29/08/2026 17:40:25
[2026-08-29 17:40:26,052.052 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:40:26,078.078 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:40:26,130.130 INFO    ] No existing commands found in stream
[2026-08-29 17:40:31,141.141 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:40:31,144.144 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-08-29 17:40:32,027.027 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:40:32,028.028 INFO    ] Checking for system updates...
[2026-08-29 17:40:32,048.048 INFO    ] 200
[2026-08-29 17:40:32,049.049 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:40:32,079.079 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:40:32,081.081 INFO    ] No update needed
[2026-08-29 17:40:32,082.082 INFO    ] Checking for camera pi updates...
[2026-08-29 17:40:32,101.101 INFO    ] 200
[2026-08-29 17:40:32,103.103 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:40:32,127.127 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:40:32,373.373 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:40:32,375.375 INFO    ] No camera update needed
[2026-08-29 17:40:32,376.376 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:40:32,378.378 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:40:32,382.382 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:40:32,387.387 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:40:34,438.438 INFO    ] ================================================
[2026-08-29 17:40:34,453.453 INFO    ] Launching Daemon at Sat Aug 29 17:40:34 IST 2026
[2026-08-29 17:40:34,463.463 INFO    ] ================================================
[2026-08-29 17:40:35,088.088 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:40:35
[2026-08-29 17:40:35,578.578 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:40:35,730.730 INFO    ] Initializing speech engine...
[2026-08-29 17:40:35,734.734 INFO    ] 2026-08-29 17:40:35
[2026-08-29 17:40:35,939.939 INFO    ] 2026-08-29 17:40:35
[2026-08-29 17:40:35,969.969 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:40:36,091.091 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:40:36,134.134 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:40:36,284.284 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:40:36,351.351 INFO    ] time= 29/08/2026 17:40:36
[2026-08-29 17:40:36,383.383 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:40:36,385.385 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:40:36,455.455 INFO    ] No existing commands found in stream
[2026-08-29 17:40:41,466.466 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:40:41,469.469 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-08-29 17:40:43,009.009 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:40:43,010.010 INFO    ] Checking for system updates...
[2026-08-29 17:40:43,031.031 INFO    ] 200
[2026-08-29 17:40:43,033.033 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:40:43,063.063 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:40:43,065.065 INFO    ] No update needed
[2026-08-29 17:40:43,066.066 INFO    ] Checking for camera pi updates...
[2026-08-29 17:40:43,085.085 INFO    ] 200
[2026-08-29 17:40:43,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:40:43,110.110 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:40:43,186.186 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:40:43,187.187 INFO    ] No camera update needed
[2026-08-29 17:40:43,188.188 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:40:43,189.189 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:40:43,192.192 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:40:43,195.195 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:40:45,233.233 INFO    ] ================================================
[2026-08-29 17:40:45,249.249 INFO    ] Launching Daemon at Sat Aug 29 17:40:45 IST 2026
[2026-08-29 17:40:45,259.259 INFO    ] ================================================
[2026-08-29 17:40:45,615.615 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:40:45
[2026-08-29 17:40:45,927.927 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:40:46,071.071 INFO    ] Initializing speech engine...
[2026-08-29 17:40:46,076.076 INFO    ] 2026-08-29 17:40:46
[2026-08-29 17:40:46,291.291 INFO    ] 2026-08-29 17:40:46
[2026-08-29 17:40:46,368.368 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:40:46,525.525 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:40:46,530.530 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:40:46,663.663 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:40:46,704.704 INFO    ] time= 29/08/2026 17:40:46
[2026-08-29 17:40:46,758.758 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:40:46,797.797 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:40:46,853.853 INFO    ] No existing commands found in stream
[2026-08-29 17:40:51,865.865 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:40:51,868.868 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-08-29 17:40:53,970.970 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:40:53,972.972 INFO    ] Checking for system updates...
[2026-08-29 17:40:53,994.994 INFO    ] 200
[2026-08-29 17:40:53,995.995 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:40:54,028.028 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:40:54,029.029 INFO    ] No update needed
[2026-08-29 17:40:54,031.031 INFO    ] Checking for camera pi updates...
[2026-08-29 17:40:54,050.050 INFO    ] 200
[2026-08-29 17:40:54,051.051 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:40:54,076.076 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:40:54,150.150 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:40:54,151.151 INFO    ] No camera update needed
[2026-08-29 17:40:54,153.153 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:40:54,154.154 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:40:54,157.157 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:40:54,160.160 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:40:56,199.199 INFO    ] ================================================
[2026-08-29 17:40:56,214.214 INFO    ] Launching Daemon at Sat Aug 29 17:40:56 IST 2026
[2026-08-29 17:40:56,225.225 INFO    ] ================================================
[2026-08-29 17:40:56,557.557 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:40:56
[2026-08-29 17:40:56,868.868 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:40:57,002.002 INFO    ] Initializing speech engine...
[2026-08-29 17:40:57,014.014 INFO    ] 2026-08-29 17:40:57
[2026-08-29 17:40:57,232.232 INFO    ] 2026-08-29 17:40:57
[2026-08-29 17:40:57,262.262 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:40:57,390.390 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:40:57,429.429 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:40:57,601.601 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:40:57,675.675 INFO    ] time= 29/08/2026 17:40:57
[2026-08-29 17:40:57,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:40:57,707.707 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:40:57,779.779 INFO    ] No existing commands found in stream
[2026-08-29 17:41:02,790.790 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:41:02,795.795 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-08-29 17:41:05,596.596 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:41:05,598.598 INFO    ] Checking for system updates...
[2026-08-29 17:41:05,618.618 INFO    ] 200
[2026-08-29 17:41:05,620.620 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:41:05,652.652 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:41:05,653.653 INFO    ] No update needed
[2026-08-29 17:41:05,655.655 INFO    ] Checking for camera pi updates...
[2026-08-29 17:41:05,677.677 INFO    ] 200
[2026-08-29 17:41:05,679.679 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:41:05,702.702 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:41:05,809.809 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:41:05,812.812 INFO    ] No camera update needed
[2026-08-29 17:41:05,814.814 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:41:05,817.817 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:41:05,822.822 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:41:05,827.827 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:41:07,867.867 INFO    ] ================================================
[2026-08-29 17:41:07,884.884 INFO    ] Launching Daemon at Sat Aug 29 17:41:07 IST 2026
[2026-08-29 17:41:07,897.897 INFO    ] ================================================
[2026-08-29 17:41:08,468.468 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:41:08
[2026-08-29 17:41:08,932.932 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:41:09,131.131 INFO    ] Initializing speech engine...
[2026-08-29 17:41:09,151.151 INFO    ] 2026-08-29 17:41:09
[2026-08-29 17:41:09,407.407 INFO    ] 2026-08-29 17:41:09
[2026-08-29 17:41:09,442.442 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:41:09,613.613 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:41:09,625.625 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:41:09,733.733 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:41:09,739.739 INFO    ] time= 29/08/2026 17:41:09
[2026-08-29 17:41:09,756.756 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:41:09,776.776 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:41:09,847.847 INFO    ] No existing commands found in stream
[2026-08-29 17:41:14,861.861 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:41:14,864.864 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-08-29 17:41:17,553.553 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:41:17,555.555 INFO    ] Checking for system updates...
[2026-08-29 17:41:17,575.575 INFO    ] 200
[2026-08-29 17:41:17,577.577 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:41:17,609.609 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:41:17,611.611 INFO    ] No update needed
[2026-08-29 17:41:17,612.612 INFO    ] Checking for camera pi updates...
[2026-08-29 17:41:17,632.632 INFO    ] 200
[2026-08-29 17:41:17,634.634 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:41:17,658.658 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:41:17,729.729 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:41:17,730.730 INFO    ] No camera update needed
[2026-08-29 17:41:17,732.732 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:41:17,733.733 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:41:17,736.736 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:41:17,739.739 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:41:19,777.777 INFO    ] ================================================
[2026-08-29 17:41:19,793.793 INFO    ] Launching Daemon at Sat Aug 29 17:41:19 IST 2026
[2026-08-29 17:41:19,803.803 INFO    ] ================================================
[2026-08-29 17:41:20,156.156 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:41:20
[2026-08-29 17:41:20,469.469 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:41:20,606.606 INFO    ] Initializing speech engine...
[2026-08-29 17:41:20,616.616 INFO    ] 2026-08-29 17:41:20
[2026-08-29 17:41:20,801.801 INFO    ] 2026-08-29 17:41:20
[2026-08-29 17:41:20,837.837 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:41:21,009.009 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:41:21,020.020 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:41:21,128.128 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:41:21,133.133 INFO    ] time= 29/08/2026 17:41:21
[2026-08-29 17:41:21,151.151 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:41:21,171.171 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:41:21,243.243 INFO    ] No existing commands found in stream
[2026-08-29 17:41:26,255.255 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:41:26,258.258 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-08-29 17:41:27,276.276 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:41:27,278.278 INFO    ] Checking for system updates...
[2026-08-29 17:41:27,298.298 INFO    ] 200
[2026-08-29 17:41:27,299.299 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:41:27,331.331 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:41:27,332.332 INFO    ] No update needed
[2026-08-29 17:41:27,333.333 INFO    ] Checking for camera pi updates...
[2026-08-29 17:41:27,355.355 INFO    ] 200
[2026-08-29 17:41:27,356.356 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:41:27,379.379 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:41:27,450.450 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:41:27,451.451 INFO    ] No camera update needed
[2026-08-29 17:41:27,453.453 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:41:27,454.454 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:41:27,457.457 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:41:27,459.459 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:41:29,499.499 INFO    ] ================================================
[2026-08-29 17:41:29,514.514 INFO    ] Launching Daemon at Sat Aug 29 17:41:29 IST 2026
[2026-08-29 17:41:29,524.524 INFO    ] ================================================
[2026-08-29 17:41:29,870.870 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:41:29
[2026-08-29 17:41:30,184.184 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:41:30,319.319 INFO    ] Initializing speech engine...
[2026-08-29 17:41:30,326.326 INFO    ] 2026-08-29 17:41:30
[2026-08-29 17:41:30,532.532 INFO    ] 2026-08-29 17:41:30
[2026-08-29 17:41:30,608.608 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:41:30,765.765 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:41:30,774.774 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:41:30,906.906 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:41:30,948.948 INFO    ] time= 29/08/2026 17:41:30
[2026-08-29 17:41:31,007.007 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:41:31,039.039 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:41:31,090.090 INFO    ] No existing commands found in stream
[2026-08-29 17:41:36,102.102 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:41:36,105.105 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-08-29 17:41:36,464.464 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:41:36,466.466 INFO    ] Checking for system updates...
[2026-08-29 17:41:36,486.486 INFO    ] 200
[2026-08-29 17:41:36,487.487 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:41:36,517.517 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:41:36,519.519 INFO    ] No update needed
[2026-08-29 17:41:36,520.520 INFO    ] Checking for camera pi updates...
[2026-08-29 17:41:36,539.539 INFO    ] 200
[2026-08-29 17:41:36,541.541 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:41:36,566.566 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:41:36,637.637 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:41:36,638.638 INFO    ] No camera update needed
[2026-08-29 17:41:36,639.639 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:41:36,640.640 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:41:36,643.643 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:41:36,646.646 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:41:38,684.684 INFO    ] ================================================
[2026-08-29 17:41:38,700.700 INFO    ] Launching Daemon at Sat Aug 29 17:41:38 IST 2026
[2026-08-29 17:41:38,710.710 INFO    ] ================================================
[2026-08-29 17:41:39,050.050 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:41:39
[2026-08-29 17:41:39,370.370 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:41:39,514.514 INFO    ] Initializing speech engine...
[2026-08-29 17:41:39,518.518 INFO    ] 2026-08-29 17:41:39
[2026-08-29 17:41:39,725.725 INFO    ] 2026-08-29 17:41:39
[2026-08-29 17:41:39,753.753 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:41:39,893.893 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:41:39,940.940 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:41:40,073.073 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:41:40,082.082 INFO    ] time= 29/08/2026 17:41:40
[2026-08-29 17:41:40,092.092 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:41:40,151.151 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:41:40,269.269 INFO    ] No existing commands found in stream
[2026-08-29 17:41:45,294.294 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:41:45,443.443 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-08-29 17:41:46,799.799 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:41:46,801.801 INFO    ] Checking for system updates...
[2026-08-29 17:41:46,821.821 INFO    ] 200
[2026-08-29 17:41:46,823.823 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:41:47,069.069 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:41:47,070.070 INFO    ] No update needed
[2026-08-29 17:41:47,071.071 INFO    ] Checking for camera pi updates...
[2026-08-29 17:41:47,093.093 INFO    ] 200
[2026-08-29 17:41:47,094.094 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:41:47,119.119 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:41:47,221.221 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:41:47,222.222 INFO    ] No camera update needed
[2026-08-29 17:41:47,224.224 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:41:47,225.225 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:41:47,228.228 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:41:47,230.230 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:41:49,270.270 INFO    ] ================================================
[2026-08-29 17:41:49,285.285 INFO    ] Launching Daemon at Sat Aug 29 17:41:49 IST 2026
[2026-08-29 17:41:49,296.296 INFO    ] ================================================
[2026-08-29 17:41:49,632.632 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:41:49
[2026-08-29 17:41:49,944.944 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:41:50,078.078 INFO    ] Initializing speech engine...
[2026-08-29 17:41:50,087.087 INFO    ] 2026-08-29 17:41:50
[2026-08-29 17:41:50,311.311 INFO    ] 2026-08-29 17:41:50
[2026-08-29 17:41:50,341.341 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:41:50,471.471 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:41:50,485.485 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:41:50,628.628 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:41:50,684.684 INFO    ] time= 29/08/2026 17:41:50
[2026-08-29 17:41:50,693.693 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:41:50,758.758 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:41:50,864.864 INFO    ] No existing commands found in stream
[2026-08-29 17:41:55,875.875 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:41:55,877.877 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-08-29 17:41:59,889.889 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:41:59,890.890 INFO    ] Checking for system updates...
[2026-08-29 17:41:59,912.912 INFO    ] 200
[2026-08-29 17:41:59,913.913 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:41:59,943.943 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:41:59,944.944 INFO    ] No update needed
[2026-08-29 17:41:59,945.945 INFO    ] Checking for camera pi updates...
[2026-08-29 17:41:59,964.964 INFO    ] 200
[2026-08-29 17:41:59,966.966 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:41:59,989.989 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:42:00,087.087 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:42:00,088.088 INFO    ] No camera update needed
[2026-08-29 17:42:00,089.089 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:42:00,090.090 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:42:00,093.093 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:42:00,096.096 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:42:02,137.137 INFO    ] ================================================
[2026-08-29 17:42:02,158.158 INFO    ] Launching Daemon at Sat Aug 29 17:42:02 IST 2026
[2026-08-29 17:42:02,175.175 INFO    ] ================================================
[2026-08-29 17:42:02,829.829 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:42:02
[2026-08-29 17:42:03,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:42:03,720.720 INFO    ] Initializing speech engine...
[2026-08-29 17:42:03,726.726 INFO    ] 2026-08-29 17:42:03
[2026-08-29 17:42:03,987.987 INFO    ] 2026-08-29 17:42:03
[2026-08-29 17:42:04,017.017 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:42:04,181.181 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:42:04,193.193 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:42:04,351.351 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:42:04,361.361 INFO    ] time= 29/08/2026 17:42:04
[2026-08-29 17:42:04,368.368 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:42:04,400.400 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:42:04,530.530 INFO    ] No existing commands found in stream
[2026-08-29 17:42:09,561.561 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:42:09,564.564 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 17:42:10,113.113 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:42:10,115.115 INFO    ] Checking for system updates...
[2026-08-29 17:42:10,135.135 INFO    ] 200
[2026-08-29 17:42:10,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:42:10,167.167 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:42:10,168.168 INFO    ] No update needed
[2026-08-29 17:42:10,170.170 INFO    ] Checking for camera pi updates...
[2026-08-29 17:42:10,189.189 INFO    ] 200
[2026-08-29 17:42:10,191.191 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:42:10,215.215 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:42:10,289.289 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:42:10,290.290 INFO    ] No camera update needed
[2026-08-29 17:42:10,292.292 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:42:10,293.293 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:42:10,297.297 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:42:10,299.299 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:42:12,339.339 INFO    ] ================================================
[2026-08-29 17:42:12,355.355 INFO    ] Launching Daemon at Sat Aug 29 17:42:12 IST 2026
[2026-08-29 17:42:12,366.366 INFO    ] ================================================
[2026-08-29 17:42:12,718.718 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:42:12
[2026-08-29 17:42:13,120.120 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:42:13,388.388 INFO    ] Initializing speech engine...
[2026-08-29 17:42:13,408.408 INFO    ] 2026-08-29 17:42:13
[2026-08-29 17:42:13,675.675 INFO    ] 2026-08-29 17:42:13
[2026-08-29 17:42:13,714.714 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:42:13,909.909 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:42:13,923.923 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:42:14,048.048 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:42:14,054.054 INFO    ] time= 29/08/2026 17:42:14
[2026-08-29 17:42:14,074.074 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:42:14,096.096 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:42:14,180.180 INFO    ] No existing commands found in stream
[2026-08-29 17:42:19,196.196 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:42:19,199.199 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-08-29 17:42:23,219.219 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:42:23,221.221 INFO    ] Checking for system updates...
[2026-08-29 17:42:23,242.242 INFO    ] 200
[2026-08-29 17:42:23,244.244 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:42:23,273.273 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:42:23,275.275 INFO    ] No update needed
[2026-08-29 17:42:23,276.276 INFO    ] Checking for camera pi updates...
[2026-08-29 17:42:23,295.295 INFO    ] 200
[2026-08-29 17:42:23,303.303 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:42:23,343.343 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:42:23,423.423 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:42:23,426.426 INFO    ] No camera update needed
[2026-08-29 17:42:23,429.429 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:42:23,431.431 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:42:23,437.437 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:42:23,443.443 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:42:25,483.483 INFO    ] ================================================
[2026-08-29 17:42:25,499.499 INFO    ] Launching Daemon at Sat Aug 29 17:42:25 IST 2026
[2026-08-29 17:42:25,510.510 INFO    ] ================================================
[2026-08-29 17:42:26,093.093 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:42:26
[2026-08-29 17:42:26,683.683 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:42:26,938.938 INFO    ] Initializing speech engine...
[2026-08-29 17:42:26,944.944 INFO    ] 2026-08-29 17:42:26
[2026-08-29 17:42:27,239.239 INFO    ] 2026-08-29 17:42:27
[2026-08-29 17:42:27,277.277 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:42:27,470.470 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:42:27,476.476 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:42:27,584.584 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:42:27,589.589 INFO    ] time= 29/08/2026 17:42:27
[2026-08-29 17:42:27,612.612 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:42:27,618.618 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:42:27,674.674 INFO    ] No existing commands found in stream
[2026-08-29 17:42:32,691.691 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:42:32,694.694 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-08-29 17:42:36,761.761 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:42:36,763.763 INFO    ] Checking for system updates...
[2026-08-29 17:42:36,784.784 INFO    ] 200
[2026-08-29 17:42:36,786.786 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:42:36,880.880 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:42:36,882.882 INFO    ] No update needed
[2026-08-29 17:42:36,883.883 INFO    ] Checking for camera pi updates...
[2026-08-29 17:42:36,906.906 INFO    ] 200
[2026-08-29 17:42:36,907.907 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:42:36,930.930 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:42:37,107.107 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:42:37,109.109 INFO    ] No camera update needed
[2026-08-29 17:42:37,111.111 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:42:37,114.114 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:42:37,119.119 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:42:37,124.124 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:42:39,164.164 INFO    ] ================================================
[2026-08-29 17:42:39,179.179 INFO    ] Launching Daemon at Sat Aug 29 17:42:39 IST 2026
[2026-08-29 17:42:39,190.190 INFO    ] ================================================
[2026-08-29 17:42:39,778.778 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:42:39
[2026-08-29 17:42:40,233.233 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:42:40,368.368 INFO    ] Initializing speech engine...
[2026-08-29 17:42:40,371.371 INFO    ] 2026-08-29 17:42:40
[2026-08-29 17:42:40,599.599 INFO    ] 2026-08-29 17:42:40
[2026-08-29 17:42:40,630.630 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:42:40,761.761 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:42:40,824.824 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:42:40,968.968 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:42:41,025.025 INFO    ] time= 29/08/2026 17:42:40
[2026-08-29 17:42:41,053.053 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:42:41,075.075 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:42:41,150.150 INFO    ] No existing commands found in stream
[2026-08-29 17:42:46,161.161 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:42:46,164.164 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-08-29 17:42:48,421.421 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:42:48,423.423 INFO    ] Checking for system updates...
[2026-08-29 17:42:48,453.453 INFO    ] 200
[2026-08-29 17:42:48,455.455 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:42:48,484.484 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:42:48,485.485 INFO    ] No update needed
[2026-08-29 17:42:48,487.487 INFO    ] Checking for camera pi updates...
[2026-08-29 17:42:48,506.506 INFO    ] 200
[2026-08-29 17:42:48,507.507 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:42:48,532.532 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:42:48,608.608 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:42:48,610.610 INFO    ] No camera update needed
[2026-08-29 17:42:48,613.613 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:42:48,615.615 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:42:48,620.620 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:42:48,625.625 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:42:50,665.665 INFO    ] ================================================
[2026-08-29 17:42:50,680.680 INFO    ] Launching Daemon at Sat Aug 29 17:42:50 IST 2026
[2026-08-29 17:42:50,691.691 INFO    ] ================================================
[2026-08-29 17:42:51,328.328 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:42:51
[2026-08-29 17:42:51,778.778 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:42:51,929.929 INFO    ] Initializing speech engine...
[2026-08-29 17:42:51,935.935 INFO    ] 2026-08-29 17:42:51
[2026-08-29 17:42:52,142.142 INFO    ] 2026-08-29 17:42:52
[2026-08-29 17:42:52,172.172 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:42:52,296.296 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:42:52,334.334 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:42:52,493.493 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:42:52,540.540 INFO    ] time= 29/08/2026 17:42:52
[2026-08-29 17:42:52,574.574 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:42:52,596.596 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:42:52,668.668 INFO    ] No existing commands found in stream
[2026-08-29 17:42:57,678.678 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:42:57,682.682 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-08-29 17:42:58,861.861 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:42:58,863.863 INFO    ] Checking for system updates...
[2026-08-29 17:42:58,885.885 INFO    ] 200
[2026-08-29 17:42:58,886.886 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:42:58,917.917 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:42:58,919.919 INFO    ] No update needed
[2026-08-29 17:42:58,920.920 INFO    ] Checking for camera pi updates...
[2026-08-29 17:42:58,939.939 INFO    ] 200
[2026-08-29 17:42:58,940.940 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:42:58,968.968 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:42:59,045.045 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:42:59,046.046 INFO    ] No camera update needed
[2026-08-29 17:42:59,047.047 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:42:59,048.048 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:42:59,051.051 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:42:59,054.054 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:43:01,112.112 INFO    ] ================================================
[2026-08-29 17:43:01,130.130 INFO    ] Launching Daemon at Sat Aug 29 17:43:01 IST 2026
[2026-08-29 17:43:01,168.168 INFO    ] ================================================
[2026-08-29 17:43:01,844.844 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:43:01
[2026-08-29 17:43:02,493.493 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:43:02,815.815 INFO    ] Initializing speech engine...
[2026-08-29 17:43:02,820.820 INFO    ] 2026-08-29 17:43:02
[2026-08-29 17:43:03,094.094 INFO    ] 2026-08-29 17:43:03
[2026-08-29 17:43:03,154.154 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:43:03,297.297 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:43:03,309.309 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:43:03,455.455 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:43:03,464.464 INFO    ] time= 29/08/2026 17:43:03
[2026-08-29 17:43:03,470.470 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:43:03,497.497 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:43:03,613.613 INFO    ] No existing commands found in stream
[2026-08-29 17:43:08,633.633 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:43:08,636.636 INFO    ] Waiting 2.42 seconds before fallback handling...
[2026-08-29 17:43:11,388.388 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:43:11,390.390 INFO    ] Checking for system updates...
[2026-08-29 17:43:11,410.410 INFO    ] 200
[2026-08-29 17:43:11,412.412 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:43:11,442.442 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:43:11,443.443 INFO    ] No update needed
[2026-08-29 17:43:11,444.444 INFO    ] Checking for camera pi updates...
[2026-08-29 17:43:11,466.466 INFO    ] 200
[2026-08-29 17:43:11,467.467 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:43:11,490.490 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:43:11,576.576 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:43:11,578.578 INFO    ] No camera update needed
[2026-08-29 17:43:11,579.579 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:43:11,580.580 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:43:11,583.583 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:43:11,586.586 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:43:13,626.626 INFO    ] ================================================
[2026-08-29 17:43:13,641.641 INFO    ] Launching Daemon at Sat Aug 29 17:43:13 IST 2026
[2026-08-29 17:43:13,652.652 INFO    ] ================================================
[2026-08-29 17:43:14,025.025 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:43:14
[2026-08-29 17:43:14,423.423 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:43:14,710.710 INFO    ] Initializing speech engine...
[2026-08-29 17:43:14,717.717 INFO    ] 2026-08-29 17:43:14
[2026-08-29 17:43:14,985.985 INFO    ] 2026-08-29 17:43:14
[2026-08-29 17:43:15,023.023 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:43:15,168.168 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:43:15,176.176 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:43:15,323.323 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:43:15,333.333 INFO    ] time= 29/08/2026 17:43:15
[2026-08-29 17:43:15,338.338 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:43:15,342.342 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:43:15,408.408 INFO    ] No existing commands found in stream
[2026-08-29 17:43:20,422.422 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:43:20,425.425 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-08-29 17:43:22,979.979 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:43:22,981.981 INFO    ] Checking for system updates...
[2026-08-29 17:43:23,002.002 INFO    ] 200
[2026-08-29 17:43:23,003.003 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:43:23,040.040 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:43:23,042.042 INFO    ] No update needed
[2026-08-29 17:43:23,049.049 INFO    ] Checking for camera pi updates...
[2026-08-29 17:43:23,083.083 INFO    ] 200
[2026-08-29 17:43:23,085.085 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:43:23,130.130 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:43:23,236.236 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:43:23,238.238 INFO    ] No camera update needed
[2026-08-29 17:43:23,240.240 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:43:23,243.243 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:43:23,248.248 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:43:23,253.253 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:43:25,293.293 INFO    ] ================================================
[2026-08-29 17:43:25,308.308 INFO    ] Launching Daemon at Sat Aug 29 17:43:25 IST 2026
[2026-08-29 17:43:25,319.319 INFO    ] ================================================
[2026-08-29 17:43:25,891.891 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:43:25
[2026-08-29 17:43:26,330.330 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:43:26,468.468 INFO    ] Initializing speech engine...
[2026-08-29 17:43:26,481.481 INFO    ] 2026-08-29 17:43:26
[2026-08-29 17:43:26,699.699 INFO    ] 2026-08-29 17:43:26
[2026-08-29 17:43:26,730.730 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:43:26,827.827 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:43:26,863.863 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:43:27,019.019 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:43:27,073.073 INFO    ] time= 29/08/2026 17:43:27
[2026-08-29 17:43:27,089.089 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:43:27,156.156 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:43:27,255.255 INFO    ] No existing commands found in stream
[2026-08-29 17:43:32,264.264 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:43:32,267.267 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-08-29 17:43:35,641.641 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:43:35,643.643 INFO    ] Checking for system updates...
[2026-08-29 17:43:35,664.664 INFO    ] 200
[2026-08-29 17:43:35,666.666 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:43:35,695.695 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:43:35,697.697 INFO    ] No update needed
[2026-08-29 17:43:35,698.698 INFO    ] Checking for camera pi updates...
[2026-08-29 17:43:35,718.718 INFO    ] 200
[2026-08-29 17:43:35,720.720 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:43:35,742.742 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:43:35,837.837 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:43:35,838.838 INFO    ] No camera update needed
[2026-08-29 17:43:35,839.839 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:43:35,840.840 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:43:35,844.844 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:43:35,846.846 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:43:37,884.884 INFO    ] ================================================
[2026-08-29 17:43:37,899.899 INFO    ] Launching Daemon at Sat Aug 29 17:43:37 IST 2026
[2026-08-29 17:43:37,910.910 INFO    ] ================================================
[2026-08-29 17:43:38,416.416 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:43:38
[2026-08-29 17:43:39,000.000 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:43:39,260.260 INFO    ] Initializing speech engine...
[2026-08-29 17:43:39,275.275 INFO    ] 2026-08-29 17:43:39
[2026-08-29 17:43:39,531.531 INFO    ] 2026-08-29 17:43:39
[2026-08-29 17:43:39,564.564 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:43:39,742.742 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:43:39,755.755 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:43:39,898.898 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:43:39,905.905 INFO    ] time= 29/08/2026 17:43:39
[2026-08-29 17:43:39,910.910 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:43:39,916.916 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:43:39,980.980 INFO    ] No existing commands found in stream
[2026-08-29 17:43:44,992.992 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:43:44,995.995 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-08-29 17:43:46,772.772 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:43:46,774.774 INFO    ] Checking for system updates...
[2026-08-29 17:43:46,795.795 INFO    ] 200
[2026-08-29 17:43:46,796.796 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:43:46,828.828 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:43:46,829.829 INFO    ] No update needed
[2026-08-29 17:43:46,830.830 INFO    ] Checking for camera pi updates...
[2026-08-29 17:43:46,852.852 INFO    ] 200
[2026-08-29 17:43:46,853.853 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:43:46,878.878 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:43:46,971.971 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:43:46,973.973 INFO    ] No camera update needed
[2026-08-29 17:43:46,974.974 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:43:46,975.975 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:43:46,978.978 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:43:46,981.981 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:43:49,023.023 INFO    ] ================================================
[2026-08-29 17:43:49,038.038 INFO    ] Launching Daemon at Sat Aug 29 17:43:49 IST 2026
[2026-08-29 17:43:49,049.049 INFO    ] ================================================
[2026-08-29 17:43:49,574.574 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:43:49
[2026-08-29 17:43:50,238.238 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:43:50,543.543 INFO    ] Initializing speech engine...
[2026-08-29 17:43:50,554.554 INFO    ] 2026-08-29 17:43:50
[2026-08-29 17:43:50,836.836 INFO    ] 2026-08-29 17:43:50
[2026-08-29 17:43:50,875.875 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:43:51,100.100 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:43:51,105.105 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:43:51,240.240 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:43:51,306.306 INFO    ] time= 29/08/2026 17:43:51
[2026-08-29 17:43:51,365.365 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:43:51,375.375 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:43:51,497.497 INFO    ] No existing commands found in stream
[2026-08-29 17:43:56,523.523 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:43:56,526.526 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-08-29 17:43:58,593.593 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:43:58,594.594 INFO    ] Checking for system updates...
[2026-08-29 17:43:58,615.615 INFO    ] 200
[2026-08-29 17:43:58,616.616 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:43:58,645.645 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:43:58,647.647 INFO    ] No update needed
[2026-08-29 17:43:58,648.648 INFO    ] Checking for camera pi updates...
[2026-08-29 17:43:58,672.672 INFO    ] 200
[2026-08-29 17:43:58,674.674 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:43:58,706.706 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:43:58,780.780 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:43:58,782.782 INFO    ] No camera update needed
[2026-08-29 17:43:58,785.785 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:43:58,787.787 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:43:58,793.793 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:43:58,798.798 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:44:00,837.837 INFO    ] ================================================
[2026-08-29 17:44:00,853.853 INFO    ] Launching Daemon at Sat Aug 29 17:44:00 IST 2026
[2026-08-29 17:44:00,863.863 INFO    ] ================================================
[2026-08-29 17:44:01,577.577 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:44:01
[2026-08-29 17:44:02,148.148 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:44:02,474.474 INFO    ] Initializing speech engine...
[2026-08-29 17:44:02,483.483 INFO    ] 2026-08-29 17:44:02
[2026-08-29 17:44:02,792.792 INFO    ] 2026-08-29 17:44:02
[2026-08-29 17:44:02,840.840 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:44:03,014.014 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:44:03,027.027 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:44:03,168.168 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:44:03,176.176 INFO    ] time= 29/08/2026 17:44:03
[2026-08-29 17:44:03,182.182 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:44:03,218.218 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:44:03,333.333 INFO    ] No existing commands found in stream
[2026-08-29 17:44:08,358.358 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:44:08,361.361 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-08-29 17:44:11,980.980 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:44:11,981.981 INFO    ] Checking for system updates...
[2026-08-29 17:44:12,001.001 INFO    ] 200
[2026-08-29 17:44:12,003.003 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:44:12,035.035 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:44:12,037.037 INFO    ] No update needed
[2026-08-29 17:44:12,038.038 INFO    ] Checking for camera pi updates...
[2026-08-29 17:44:12,066.066 INFO    ] 200
[2026-08-29 17:44:12,069.069 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:44:12,115.115 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:44:12,198.198 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:44:12,200.200 INFO    ] No camera update needed
[2026-08-29 17:44:12,203.203 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:44:12,205.205 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:44:12,210.210 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:44:12,215.215 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:44:14,257.257 INFO    ] ================================================
[2026-08-29 17:44:14,273.273 INFO    ] Launching Daemon at Sat Aug 29 17:44:14 IST 2026
[2026-08-29 17:44:14,284.284 INFO    ] ================================================
[2026-08-29 17:44:14,892.892 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:44:14
[2026-08-29 17:44:15,375.375 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:44:15,531.531 INFO    ] Initializing speech engine...
[2026-08-29 17:44:15,535.535 INFO    ] 2026-08-29 17:44:15
[2026-08-29 17:44:15,774.774 INFO    ] 2026-08-29 17:44:15
[2026-08-29 17:44:15,836.836 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:44:16,067.067 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:44:16,077.077 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:44:16,214.214 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:44:16,257.257 INFO    ] time= 29/08/2026 17:44:16
[2026-08-29 17:44:16,328.328 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:44:16,357.357 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:44:16,412.412 INFO    ] No existing commands found in stream
[2026-08-29 17:44:21,424.424 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:44:21,427.427 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-08-29 17:44:21,799.799 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:44:21,801.801 INFO    ] Checking for system updates...
[2026-08-29 17:44:21,822.822 INFO    ] 200
[2026-08-29 17:44:21,823.823 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:44:21,854.854 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:44:21,855.855 INFO    ] No update needed
[2026-08-29 17:44:21,856.856 INFO    ] Checking for camera pi updates...
[2026-08-29 17:44:21,877.877 INFO    ] 200
[2026-08-29 17:44:21,879.879 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:44:21,904.904 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:44:21,999.999 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:44:22,000.000 INFO    ] No camera update needed
[2026-08-29 17:44:22,002.002 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:44:22,003.003 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:44:22,006.006 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:44:22,009.009 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:44:24,048.048 INFO    ] ================================================
[2026-08-29 17:44:24,063.063 INFO    ] Launching Daemon at Sat Aug 29 17:44:24 IST 2026
[2026-08-29 17:44:24,074.074 INFO    ] ================================================
[2026-08-29 17:44:24,433.433 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:44:24
[2026-08-29 17:44:24,750.750 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:44:24,895.895 INFO    ] Initializing speech engine...
[2026-08-29 17:44:24,900.900 INFO    ] 2026-08-29 17:44:24
[2026-08-29 17:44:25,104.104 INFO    ] 2026-08-29 17:44:25
[2026-08-29 17:44:25,133.133 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:44:25,256.256 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:44:25,318.318 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:44:25,452.452 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:44:25,514.514 INFO    ] time= 29/08/2026 17:44:25
[2026-08-29 17:44:25,546.546 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:44:25,553.553 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:44:25,620.620 INFO    ] No existing commands found in stream
[2026-08-29 17:44:30,630.630 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:44:30,633.633 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-08-29 17:44:32,660.660 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:44:32,662.662 INFO    ] Checking for system updates...
[2026-08-29 17:44:32,698.698 INFO    ] 200
[2026-08-29 17:44:32,700.700 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:44:32,754.754 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:44:32,757.757 INFO    ] No update needed
[2026-08-29 17:44:32,759.759 INFO    ] Checking for camera pi updates...
[2026-08-29 17:44:32,793.793 INFO    ] 200
[2026-08-29 17:44:32,796.796 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:44:32,841.841 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:44:32,948.948 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:44:32,950.950 INFO    ] No camera update needed
[2026-08-29 17:44:32,953.953 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:44:32,955.955 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:44:32,961.961 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:44:32,966.966 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:44:35,007.007 INFO    ] ================================================
[2026-08-29 17:44:35,022.022 INFO    ] Launching Daemon at Sat Aug 29 17:44:35 IST 2026
[2026-08-29 17:44:35,033.033 INFO    ] ================================================
[2026-08-29 17:44:35,393.393 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:44:35
[2026-08-29 17:44:35,711.711 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:44:35,855.855 INFO    ] Initializing speech engine...
[2026-08-29 17:44:35,866.866 INFO    ] 2026-08-29 17:44:35
[2026-08-29 17:44:36,082.082 INFO    ] 2026-08-29 17:44:36
[2026-08-29 17:44:36,113.113 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:44:36,244.244 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:44:36,289.289 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:44:36,455.455 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:44:36,507.507 INFO    ] time= 29/08/2026 17:44:36
[2026-08-29 17:44:36,541.541 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:44:36,564.564 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:44:36,640.640 INFO    ] No existing commands found in stream
[2026-08-29 17:44:41,650.650 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:44:41,653.653 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-08-29 17:44:43,131.131 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:44:43,132.132 INFO    ] Checking for system updates...
[2026-08-29 17:44:43,154.154 INFO    ] 200
[2026-08-29 17:44:43,155.155 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:44:43,186.186 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:44:43,187.187 INFO    ] No update needed
[2026-08-29 17:44:43,189.189 INFO    ] Checking for camera pi updates...
[2026-08-29 17:44:43,210.210 INFO    ] 200
[2026-08-29 17:44:43,213.213 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:44:43,253.253 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:44:43,437.437 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:44:43,439.439 INFO    ] No camera update needed
[2026-08-29 17:44:43,441.441 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:44:43,444.444 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:44:43,449.449 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:44:43,454.454 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:44:45,495.495 INFO    ] ================================================
[2026-08-29 17:44:45,510.510 INFO    ] Launching Daemon at Sat Aug 29 17:44:45 IST 2026
[2026-08-29 17:44:45,520.520 INFO    ] ================================================
[2026-08-29 17:44:46,101.101 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:44:46
[2026-08-29 17:44:46,529.529 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:44:46,667.667 INFO    ] Initializing speech engine...
[2026-08-29 17:44:46,677.677 INFO    ] 2026-08-29 17:44:46
[2026-08-29 17:44:46,920.920 INFO    ] 2026-08-29 17:44:46
[2026-08-29 17:44:46,974.974 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:44:47,107.107 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:44:47,125.125 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:44:47,322.322 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:44:47,348.348 INFO    ] time= 29/08/2026 17:44:47
[2026-08-29 17:44:47,364.364 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:44:47,384.384 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:44:47,497.497 INFO    ] No existing commands found in stream
[2026-08-29 17:44:52,514.514 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:44:52,516.516 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-08-29 17:44:55,056.056 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:44:55,057.057 INFO    ] Checking for system updates...
[2026-08-29 17:44:55,078.078 INFO    ] 200
[2026-08-29 17:44:55,079.079 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:44:55,110.110 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:44:55,111.111 INFO    ] No update needed
[2026-08-29 17:44:55,113.113 INFO    ] Checking for camera pi updates...
[2026-08-29 17:44:55,132.132 INFO    ] 200
[2026-08-29 17:44:55,134.134 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:44:55,158.158 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:44:55,245.245 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:44:55,247.247 INFO    ] No camera update needed
[2026-08-29 17:44:55,248.248 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:44:55,249.249 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:44:55,253.253 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:44:55,256.256 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:44:57,296.296 INFO    ] ================================================
[2026-08-29 17:44:57,310.310 INFO    ] Launching Daemon at Sat Aug 29 17:44:57 IST 2026
[2026-08-29 17:44:57,321.321 INFO    ] ================================================
[2026-08-29 17:44:57,843.843 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:44:57
[2026-08-29 17:44:58,434.434 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:44:58,696.696 INFO    ] Initializing speech engine...
[2026-08-29 17:44:58,710.710 INFO    ] 2026-08-29 17:44:58
[2026-08-29 17:44:58,997.997 INFO    ] 2026-08-29 17:44:58
[2026-08-29 17:44:59,023.023 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:44:59,181.181 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:44:59,190.190 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:44:59,341.341 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:44:59,352.352 INFO    ] time= 29/08/2026 17:44:59
[2026-08-29 17:44:59,356.356 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:44:59,361.361 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:44:59,431.431 INFO    ] No existing commands found in stream
[2026-08-29 17:45:04,442.442 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:45:04,445.445 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-08-29 17:45:08,487.487 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:45:08,488.488 INFO    ] Checking for system updates...
[2026-08-29 17:45:08,509.509 INFO    ] 200
[2026-08-29 17:45:08,510.510 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:45:08,543.543 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:45:08,544.544 INFO    ] No update needed
[2026-08-29 17:45:08,546.546 INFO    ] Checking for camera pi updates...
[2026-08-29 17:45:08,566.566 INFO    ] 200
[2026-08-29 17:45:08,568.568 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:45:08,594.594 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:45:08,676.676 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:45:08,677.677 INFO    ] No camera update needed
[2026-08-29 17:45:08,679.679 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:45:08,680.680 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:45:08,683.683 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:45:08,686.686 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:45:10,726.726 INFO    ] ================================================
[2026-08-29 17:45:10,742.742 INFO    ] Launching Daemon at Sat Aug 29 17:45:10 IST 2026
[2026-08-29 17:45:10,753.753 INFO    ] ================================================
[2026-08-29 17:45:11,097.097 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:45:11
[2026-08-29 17:45:11,409.409 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:45:11,539.539 INFO    ] Initializing speech engine...
[2026-08-29 17:45:11,543.543 INFO    ] 2026-08-29 17:45:11
[2026-08-29 17:45:11,738.738 INFO    ] 2026-08-29 17:45:11
[2026-08-29 17:45:11,768.768 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:45:11,936.936 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:45:11,948.948 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:45:12,093.093 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:45:12,101.101 INFO    ] time= 29/08/2026 17:45:12
[2026-08-29 17:45:12,105.105 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:45:12,111.111 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:45:12,176.176 INFO    ] No existing commands found in stream
[2026-08-29 17:45:17,188.188 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:45:17,191.191 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-08-29 17:45:18,770.770 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:45:18,772.772 INFO    ] Checking for system updates...
[2026-08-29 17:45:18,808.808 INFO    ] 200
[2026-08-29 17:45:18,810.810 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:45:18,865.865 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:45:18,867.867 INFO    ] No update needed
[2026-08-29 17:45:18,870.870 INFO    ] Checking for camera pi updates...
[2026-08-29 17:45:18,900.900 INFO    ] 200
[2026-08-29 17:45:18,901.901 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:45:18,925.925 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:45:19,017.017 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:45:19,018.018 INFO    ] No camera update needed
[2026-08-29 17:45:19,019.019 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:45:19,020.020 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:45:19,024.024 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:45:19,026.026 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:45:21,064.064 INFO    ] ================================================
[2026-08-29 17:45:21,080.080 INFO    ] Launching Daemon at Sat Aug 29 17:45:21 IST 2026
[2026-08-29 17:45:21,091.091 INFO    ] ================================================
[2026-08-29 17:45:21,418.418 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:45:21
[2026-08-29 17:45:21,729.729 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:45:21,866.866 INFO    ] Initializing speech engine...
[2026-08-29 17:45:21,875.875 INFO    ] 2026-08-29 17:45:21
[2026-08-29 17:45:22,083.083 INFO    ] 2026-08-29 17:45:22
[2026-08-29 17:45:22,111.111 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:45:22,255.255 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:45:22,262.262 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:45:22,414.414 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:45:22,464.464 INFO    ] time= 29/08/2026 17:45:22
[2026-08-29 17:45:22,471.471 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:45:22,489.489 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:45:22,602.602 INFO    ] No existing commands found in stream
[2026-08-29 17:45:27,630.630 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:45:27,633.633 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-08-29 17:45:29,068.068 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:45:29,069.069 INFO    ] Checking for system updates...
[2026-08-29 17:45:29,090.090 INFO    ] 200
[2026-08-29 17:45:29,091.091 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:45:29,123.123 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:45:29,125.125 INFO    ] No update needed
[2026-08-29 17:45:29,127.127 INFO    ] Checking for camera pi updates...
[2026-08-29 17:45:29,146.146 INFO    ] 200
[2026-08-29 17:45:29,147.147 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:45:29,170.170 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:45:29,245.245 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:45:29,247.247 INFO    ] No camera update needed
[2026-08-29 17:45:29,248.248 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:45:29,249.249 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:45:29,253.253 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:45:29,256.256 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:45:31,295.295 INFO    ] ================================================
[2026-08-29 17:45:31,312.312 INFO    ] Launching Daemon at Sat Aug 29 17:45:31 IST 2026
[2026-08-29 17:45:31,324.324 INFO    ] ================================================
[2026-08-29 17:45:31,650.650 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:45:31
[2026-08-29 17:45:31,966.966 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:45:32,190.190 INFO    ] Initializing speech engine...
[2026-08-29 17:45:32,197.197 INFO    ] 2026-08-29 17:45:32
[2026-08-29 17:45:32,493.493 INFO    ] 2026-08-29 17:45:32
[2026-08-29 17:45:32,535.535 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:45:32,724.724 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:45:32,746.746 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:45:32,892.892 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:45:32,902.902 INFO    ] time= 29/08/2026 17:45:32
[2026-08-29 17:45:32,919.919 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:45:32,984.984 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:45:33,098.098 INFO    ] No existing commands found in stream
[2026-08-29 17:45:38,133.133 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:45:38,136.136 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-08-29 17:45:39,122.122 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:45:39,123.123 INFO    ] Checking for system updates...
[2026-08-29 17:45:39,144.144 INFO    ] 200
[2026-08-29 17:45:39,145.145 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:45:39,175.175 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:45:39,176.176 INFO    ] No update needed
[2026-08-29 17:45:39,177.177 INFO    ] Checking for camera pi updates...
[2026-08-29 17:45:39,196.196 INFO    ] 200
[2026-08-29 17:45:39,197.197 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:45:39,222.222 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:45:39,301.301 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:45:39,302.302 INFO    ] No camera update needed
[2026-08-29 17:45:39,304.304 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:45:39,305.305 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:45:39,308.308 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:45:39,310.310 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:45:41,351.351 INFO    ] ================================================
[2026-08-29 17:45:41,366.366 INFO    ] Launching Daemon at Sat Aug 29 17:45:41 IST 2026
[2026-08-29 17:45:41,378.378 INFO    ] ================================================
[2026-08-29 17:45:41,743.743 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:45:41
[2026-08-29 17:45:42,078.078 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:45:42,223.223 INFO    ] Initializing speech engine...
[2026-08-29 17:45:42,233.233 INFO    ] 2026-08-29 17:45:42
[2026-08-29 17:45:42,441.441 INFO    ] 2026-08-29 17:45:42
[2026-08-29 17:45:42,469.469 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:45:42,593.593 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:45:42,662.662 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:45:42,840.840 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:45:42,882.882 INFO    ] time= 29/08/2026 17:45:42
[2026-08-29 17:45:42,947.947 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:45:42,975.975 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:45:43,081.081 INFO    ] No existing commands found in stream
[2026-08-29 17:45:48,107.107 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:45:48,110.110 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-08-29 17:45:49,241.241 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:45:49,243.243 INFO    ] Checking for system updates...
[2026-08-29 17:45:49,265.265 INFO    ] 200
[2026-08-29 17:45:49,266.266 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:45:49,296.296 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:45:49,297.297 INFO    ] No update needed
[2026-08-29 17:45:49,299.299 INFO    ] Checking for camera pi updates...
[2026-08-29 17:45:49,318.318 INFO    ] 200
[2026-08-29 17:45:49,320.320 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:45:49,344.344 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:45:49,420.420 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:45:49,421.421 INFO    ] No camera update needed
[2026-08-29 17:45:49,423.423 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:45:49,424.424 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:45:49,427.427 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:45:49,430.430 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:45:51,470.470 INFO    ] ================================================
[2026-08-29 17:45:51,486.486 INFO    ] Launching Daemon at Sat Aug 29 17:45:51 IST 2026
[2026-08-29 17:45:51,497.497 INFO    ] ================================================
[2026-08-29 17:45:51,834.834 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:45:51
[2026-08-29 17:45:52,148.148 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:45:52,365.365 INFO    ] Initializing speech engine...
[2026-08-29 17:45:52,374.374 INFO    ] 2026-08-29 17:45:52
[2026-08-29 17:45:52,675.675 INFO    ] 2026-08-29 17:45:52
[2026-08-29 17:45:52,713.713 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:45:52,911.911 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:45:52,916.916 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:45:53,050.050 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:45:53,059.059 INFO    ] time= 29/08/2026 17:45:53
[2026-08-29 17:45:53,073.073 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:45:53,101.101 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:45:53,185.185 INFO    ] No existing commands found in stream
[2026-08-29 17:45:58,197.197 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:45:58,199.199 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-08-29 17:46:00,142.142 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:46:00,143.143 INFO    ] Checking for system updates...
[2026-08-29 17:46:00,164.164 INFO    ] 200
[2026-08-29 17:46:00,165.165 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:46:00,196.196 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:46:00,197.197 INFO    ] No update needed
[2026-08-29 17:46:00,198.198 INFO    ] Checking for camera pi updates...
[2026-08-29 17:46:00,217.217 INFO    ] 200
[2026-08-29 17:46:00,219.219 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:46:00,244.244 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:46:00,321.321 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:46:00,322.322 INFO    ] No camera update needed
[2026-08-29 17:46:00,324.324 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:46:00,325.325 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:46:00,328.328 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:46:00,330.330 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:46:02,378.378 INFO    ] ================================================
[2026-08-29 17:46:02,400.400 INFO    ] Launching Daemon at Sat Aug 29 17:46:02 IST 2026
[2026-08-29 17:46:02,420.420 INFO    ] ================================================
[2026-08-29 17:46:03,116.116 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:46:03
[2026-08-29 17:46:03,791.791 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:46:04,096.096 INFO    ] Initializing speech engine...
[2026-08-29 17:46:04,107.107 INFO    ] 2026-08-29 17:46:04
[2026-08-29 17:46:04,418.418 INFO    ] 2026-08-29 17:46:04
[2026-08-29 17:46:04,501.501 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:46:04,693.693 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:46:04,732.732 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:46:04,888.888 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:46:04,956.956 INFO    ] time= 29/08/2026 17:46:04
[2026-08-29 17:46:05,011.011 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:46:05,044.044 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:46:05,177.177 INFO    ] No existing commands found in stream
[2026-08-29 17:46:10,214.214 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:46:10,217.217 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-08-29 17:46:11,480.480 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:46:11,481.481 INFO    ] Checking for system updates...
[2026-08-29 17:46:11,503.503 INFO    ] 200
[2026-08-29 17:46:11,504.504 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:46:11,534.534 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:46:11,535.535 INFO    ] No update needed
[2026-08-29 17:46:11,536.536 INFO    ] Checking for camera pi updates...
[2026-08-29 17:46:11,557.557 INFO    ] 200
[2026-08-29 17:46:11,558.558 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:46:11,583.583 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:46:11,687.687 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:46:11,688.688 INFO    ] No camera update needed
[2026-08-29 17:46:11,689.689 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:46:11,690.690 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:46:11,693.693 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:46:11,696.696 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:46:13,734.734 INFO    ] ================================================
[2026-08-29 17:46:13,750.750 INFO    ] Launching Daemon at Sat Aug 29 17:46:13 IST 2026
[2026-08-29 17:46:13,761.761 INFO    ] ================================================
[2026-08-29 17:46:14,123.123 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:46:14
[2026-08-29 17:46:14,454.454 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:46:14,598.598 INFO    ] Initializing speech engine...
[2026-08-29 17:46:14,609.609 INFO    ] 2026-08-29 17:46:14
[2026-08-29 17:46:14,802.802 INFO    ] 2026-08-29 17:46:14
[2026-08-29 17:46:14,867.867 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:46:15,036.036 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:46:15,081.081 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:46:15,239.239 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:46:15,286.286 INFO    ] time= 29/08/2026 17:46:15
[2026-08-29 17:46:15,336.336 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:46:15,373.373 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:46:15,426.426 INFO    ] No existing commands found in stream
[2026-08-29 17:46:20,439.439 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:46:20,442.442 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-08-29 17:46:21,231.231 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:46:21,233.233 INFO    ] Checking for system updates...
[2026-08-29 17:46:21,254.254 INFO    ] 200
[2026-08-29 17:46:21,255.255 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:46:21,285.285 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:46:21,287.287 INFO    ] No update needed
[2026-08-29 17:46:21,288.288 INFO    ] Checking for camera pi updates...
[2026-08-29 17:46:21,307.307 INFO    ] 200
[2026-08-29 17:46:21,309.309 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:46:21,332.332 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:46:21,413.413 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:46:21,414.414 INFO    ] No camera update needed
[2026-08-29 17:46:21,416.416 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:46:21,417.417 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:46:21,420.420 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:46:21,423.423 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:46:23,462.462 INFO    ] ================================================
[2026-08-29 17:46:23,477.477 INFO    ] Launching Daemon at Sat Aug 29 17:46:23 IST 2026
[2026-08-29 17:46:23,488.488 INFO    ] ================================================
[2026-08-29 17:46:23,825.825 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:46:23
[2026-08-29 17:46:24,138.138 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:46:24,271.271 INFO    ] Initializing speech engine...
[2026-08-29 17:46:24,275.275 INFO    ] 2026-08-29 17:46:24
[2026-08-29 17:46:24,505.505 INFO    ] 2026-08-29 17:46:24
[2026-08-29 17:46:24,535.535 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:46:24,629.629 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:46:24,633.633 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:46:24,765.765 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:46:24,770.770 INFO    ] time= 29/08/2026 17:46:24
[2026-08-29 17:46:24,792.792 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:46:24,827.827 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:46:24,912.912 INFO    ] No existing commands found in stream
[2026-08-29 17:46:29,947.947 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:46:29,950.950 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-08-29 17:46:31,432.432 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:46:31,435.435 INFO    ] Checking for system updates...
[2026-08-29 17:46:31,483.483 INFO    ] 200
[2026-08-29 17:46:31,486.486 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:46:31,543.543 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:46:31,546.546 INFO    ] No update needed
[2026-08-29 17:46:31,549.549 INFO    ] Checking for camera pi updates...
[2026-08-29 17:46:31,586.586 INFO    ] 200
[2026-08-29 17:46:31,589.589 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:46:31,634.634 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:46:31,735.735 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:46:31,738.738 INFO    ] No camera update needed
[2026-08-29 17:46:31,742.742 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:46:31,745.745 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:46:31,752.752 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:46:31,759.759 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:46:33,801.801 INFO    ] ================================================
[2026-08-29 17:46:33,817.817 INFO    ] Launching Daemon at Sat Aug 29 17:46:33 IST 2026
[2026-08-29 17:46:33,828.828 INFO    ] ================================================
[2026-08-29 17:46:34,396.396 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:46:34
[2026-08-29 17:46:34,734.734 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:46:34,974.974 INFO    ] Initializing speech engine...
[2026-08-29 17:46:34,980.980 INFO    ] 2026-08-29 17:46:34
[2026-08-29 17:46:35,276.276 INFO    ] 2026-08-29 17:46:35
[2026-08-29 17:46:35,315.315 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:46:35,513.513 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:46:35,520.520 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:46:35,654.654 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:46:35,662.662 INFO    ] time= 29/08/2026 17:46:35
[2026-08-29 17:46:35,681.681 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:46:35,702.702 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:46:35,786.786 INFO    ] No existing commands found in stream
[2026-08-29 17:46:40,797.797 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:46:40,799.799 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-08-29 17:46:45,009.009 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:46:45,011.011 INFO    ] Checking for system updates...
[2026-08-29 17:46:45,031.031 INFO    ] 200
[2026-08-29 17:46:45,032.032 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:46:45,062.062 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:46:45,063.063 INFO    ] No update needed
[2026-08-29 17:46:45,065.065 INFO    ] Checking for camera pi updates...
[2026-08-29 17:46:45,084.084 INFO    ] 200
[2026-08-29 17:46:45,085.085 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:46:45,109.109 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:46:45,229.229 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:46:45,232.232 INFO    ] No camera update needed
[2026-08-29 17:46:45,234.234 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:46:45,236.236 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:46:45,242.242 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:46:45,246.246 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:46:47,286.286 INFO    ] ================================================
[2026-08-29 17:46:47,302.302 INFO    ] Launching Daemon at Sat Aug 29 17:46:47 IST 2026
[2026-08-29 17:46:47,313.313 INFO    ] ================================================
[2026-08-29 17:46:47,975.975 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:46:47
[2026-08-29 17:46:48,362.362 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:46:48,513.513 INFO    ] Initializing speech engine...
[2026-08-29 17:46:48,518.518 INFO    ] 2026-08-29 17:46:48
[2026-08-29 17:46:48,727.727 INFO    ] 2026-08-29 17:46:48
[2026-08-29 17:46:48,756.756 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:46:48,876.876 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:46:48,921.921 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:46:49,070.070 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:46:49,129.129 INFO    ] time= 29/08/2026 17:46:49
[2026-08-29 17:46:49,184.184 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:46:49,226.226 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:46:49,355.355 INFO    ] No existing commands found in stream
[2026-08-29 17:46:54,386.386 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:46:54,390.390 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 17:46:56,298.298 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:46:56,299.299 INFO    ] Checking for system updates...
[2026-08-29 17:46:56,320.320 INFO    ] 200
[2026-08-29 17:46:56,321.321 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:46:56,351.351 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:46:56,353.353 INFO    ] No update needed
[2026-08-29 17:46:56,354.354 INFO    ] Checking for camera pi updates...
[2026-08-29 17:46:56,373.373 INFO    ] 200
[2026-08-29 17:46:56,374.374 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:46:56,397.397 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:46:56,581.581 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:46:56,583.583 INFO    ] No camera update needed
[2026-08-29 17:46:56,584.584 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:46:56,585.585 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:46:56,588.588 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:46:56,591.591 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:46:58,630.630 INFO    ] ================================================
[2026-08-29 17:46:58,645.645 INFO    ] Launching Daemon at Sat Aug 29 17:46:58 IST 2026
[2026-08-29 17:46:58,656.656 INFO    ] ================================================
[2026-08-29 17:46:58,986.986 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:46:58
[2026-08-29 17:46:59,303.303 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:46:59,448.448 INFO    ] Initializing speech engine...
[2026-08-29 17:46:59,454.454 INFO    ] 2026-08-29 17:46:59
[2026-08-29 17:46:59,668.668 INFO    ] 2026-08-29 17:46:59
[2026-08-29 17:46:59,747.747 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:46:59,900.900 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:46:59,908.908 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:47:00,043.043 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:47:00,087.087 INFO    ] time= 29/08/2026 17:47:00
[2026-08-29 17:47:00,121.121 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:47:00,174.174 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:47:00,226.226 INFO    ] No existing commands found in stream
[2026-08-29 17:47:05,238.238 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:47:05,241.241 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-08-29 17:47:09,105.105 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:47:09,107.107 INFO    ] Checking for system updates...
[2026-08-29 17:47:09,127.127 INFO    ] 200
[2026-08-29 17:47:09,128.128 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:47:09,167.167 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:47:09,168.168 INFO    ] No update needed
[2026-08-29 17:47:09,170.170 INFO    ] Checking for camera pi updates...
[2026-08-29 17:47:09,190.190 INFO    ] 200
[2026-08-29 17:47:09,192.192 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:47:09,214.214 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:47:09,298.298 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:47:09,299.299 INFO    ] No camera update needed
[2026-08-29 17:47:09,300.300 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:47:09,302.302 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:47:09,305.305 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:47:09,307.307 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:47:11,346.346 INFO    ] ================================================
[2026-08-29 17:47:11,361.361 INFO    ] Launching Daemon at Sat Aug 29 17:47:11 IST 2026
[2026-08-29 17:47:11,371.371 INFO    ] ================================================
[2026-08-29 17:47:11,730.730 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:47:11
[2026-08-29 17:47:12,041.041 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:47:12,171.171 INFO    ] Initializing speech engine...
[2026-08-29 17:47:12,175.175 INFO    ] 2026-08-29 17:47:12
[2026-08-29 17:47:12,395.395 INFO    ] 2026-08-29 17:47:12
[2026-08-29 17:47:12,424.424 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:47:12,547.547 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:47:12,590.590 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:47:12,747.747 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:47:12,814.814 INFO    ] time= 29/08/2026 17:47:12
[2026-08-29 17:47:12,843.843 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:47:12,845.845 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:47:12,917.917 INFO    ] No existing commands found in stream
[2026-08-29 17:47:17,927.927 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:47:17,930.930 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-08-29 17:47:18,278.278 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:47:18,280.280 INFO    ] Checking for system updates...
[2026-08-29 17:47:18,301.301 INFO    ] 200
[2026-08-29 17:47:18,302.302 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:47:18,335.335 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:47:18,337.337 INFO    ] No update needed
[2026-08-29 17:47:18,338.338 INFO    ] Checking for camera pi updates...
[2026-08-29 17:47:18,360.360 INFO    ] 200
[2026-08-29 17:47:18,362.362 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:47:18,386.386 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:47:18,487.487 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:47:18,488.488 INFO    ] No camera update needed
[2026-08-29 17:47:18,490.490 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:47:18,491.491 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:47:18,494.494 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:47:18,497.497 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:47:20,536.536 INFO    ] ================================================
[2026-08-29 17:47:20,551.551 INFO    ] Launching Daemon at Sat Aug 29 17:47:20 IST 2026
[2026-08-29 17:47:20,563.563 INFO    ] ================================================
[2026-08-29 17:47:20,905.905 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:47:20
[2026-08-29 17:47:21,462.462 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:47:21,733.733 INFO    ] Initializing speech engine...
[2026-08-29 17:47:21,741.741 INFO    ] 2026-08-29 17:47:21
[2026-08-29 17:47:21,989.989 INFO    ] 2026-08-29 17:47:21
[2026-08-29 17:47:22,054.054 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:47:22,205.205 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:47:22,221.221 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:47:22,349.349 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:47:22,357.357 INFO    ] time= 29/08/2026 17:47:22
[2026-08-29 17:47:22,364.364 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:47:22,415.415 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:47:22,533.533 INFO    ] No existing commands found in stream
[2026-08-29 17:47:27,564.564 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:47:27,566.566 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-08-29 17:47:30,669.669 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:47:30,670.670 INFO    ] Checking for system updates...
[2026-08-29 17:47:30,691.691 INFO    ] 200
[2026-08-29 17:47:30,693.693 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:47:30,723.723 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:47:30,725.725 INFO    ] No update needed
[2026-08-29 17:47:30,728.728 INFO    ] Checking for camera pi updates...
[2026-08-29 17:47:30,761.761 INFO    ] 200
[2026-08-29 17:47:30,764.764 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:47:30,813.813 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:47:30,927.927 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:47:30,930.930 INFO    ] No camera update needed
[2026-08-29 17:47:30,932.932 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:47:30,934.934 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:47:30,939.939 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:47:30,944.944 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:47:32,988.988 INFO    ] ================================================
[2026-08-29 17:47:33,005.005 INFO    ] Launching Daemon at Sat Aug 29 17:47:32 IST 2026
[2026-08-29 17:47:33,017.017 INFO    ] ================================================
[2026-08-29 17:47:33,665.665 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:47:33
[2026-08-29 17:47:34,005.005 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:47:34,141.141 INFO    ] Initializing speech engine...
[2026-08-29 17:47:34,154.154 INFO    ] 2026-08-29 17:47:34
[2026-08-29 17:47:34,361.361 INFO    ] 2026-08-29 17:47:34
[2026-08-29 17:47:34,390.390 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:47:34,515.515 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:47:34,553.553 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:47:34,711.711 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:47:34,768.768 INFO    ] time= 29/08/2026 17:47:34
[2026-08-29 17:47:34,811.811 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:47:34,813.813 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:47:34,885.885 INFO    ] No existing commands found in stream
[2026-08-29 17:47:39,896.896 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:47:39,898.898 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-08-29 17:47:40,842.842 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:47:40,844.844 INFO    ] Checking for system updates...
[2026-08-29 17:47:40,864.864 INFO    ] 200
[2026-08-29 17:47:40,865.865 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:47:40,895.895 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:47:40,896.896 INFO    ] No update needed
[2026-08-29 17:47:40,898.898 INFO    ] Checking for camera pi updates...
[2026-08-29 17:47:40,930.930 INFO    ] 200
[2026-08-29 17:47:40,932.932 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:47:40,974.974 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:47:41,084.084 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:47:41,086.086 INFO    ] No camera update needed
[2026-08-29 17:47:41,089.089 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:47:41,092.092 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:47:41,098.098 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:47:41,104.104 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:47:43,144.144 INFO    ] ================================================
[2026-08-29 17:47:43,160.160 INFO    ] Launching Daemon at Sat Aug 29 17:47:43 IST 2026
[2026-08-29 17:47:43,171.171 INFO    ] ================================================
[2026-08-29 17:47:43,777.777 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:47:43
[2026-08-29 17:47:44,309.309 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:47:44,618.618 INFO    ] Initializing speech engine...
[2026-08-29 17:47:44,628.628 INFO    ] 2026-08-29 17:47:44
[2026-08-29 17:47:44,891.891 INFO    ] 2026-08-29 17:47:44
[2026-08-29 17:47:44,926.926 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:47:45,098.098 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:47:45,111.111 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:47:45,223.223 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:47:45,228.228 INFO    ] time= 29/08/2026 17:47:45
[2026-08-29 17:47:45,248.248 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:47:45,268.268 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:47:45,342.342 INFO    ] No existing commands found in stream
[2026-08-29 17:47:50,355.355 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:47:50,357.357 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-08-29 17:47:53,854.854 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:47:53,856.856 INFO    ] Checking for system updates...
[2026-08-29 17:47:53,877.877 INFO    ] 200
[2026-08-29 17:47:53,879.879 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:47:53,909.909 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:47:53,910.910 INFO    ] No update needed
[2026-08-29 17:47:53,911.911 INFO    ] Checking for camera pi updates...
[2026-08-29 17:47:53,931.931 INFO    ] 200
[2026-08-29 17:47:53,932.932 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:47:53,955.955 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:47:54,050.050 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:47:54,051.051 INFO    ] No camera update needed
[2026-08-29 17:47:54,053.053 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:47:54,054.054 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:47:54,057.057 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:47:54,059.059 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:47:56,098.098 INFO    ] ================================================
[2026-08-29 17:47:56,113.113 INFO    ] Launching Daemon at Sat Aug 29 17:47:56 IST 2026
[2026-08-29 17:47:56,125.125 INFO    ] ================================================
[2026-08-29 17:47:56,483.483 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:47:56
[2026-08-29 17:47:56,826.826 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:47:56,985.985 INFO    ] Initializing speech engine...
[2026-08-29 17:47:56,989.989 INFO    ] 2026-08-29 17:47:56
[2026-08-29 17:47:57,250.250 INFO    ] 2026-08-29 17:47:57
[2026-08-29 17:47:57,313.313 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:47:57,483.483 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:47:57,492.492 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:47:57,657.657 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:47:57,698.698 INFO    ] time= 29/08/2026 17:47:57
[2026-08-29 17:47:57,716.716 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:47:57,727.727 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:47:57,843.843 INFO    ] No existing commands found in stream
[2026-08-29 17:48:02,867.867 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:48:02,870.870 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 17:48:05,396.396 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:48:05,397.397 INFO    ] Checking for system updates...
[2026-08-29 17:48:05,420.420 INFO    ] 200
[2026-08-29 17:48:05,422.422 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:48:05,454.454 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:48:05,456.456 INFO    ] No update needed
[2026-08-29 17:48:05,457.457 INFO    ] Checking for camera pi updates...
[2026-08-29 17:48:05,477.477 INFO    ] 200
[2026-08-29 17:48:05,478.478 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:48:05,502.502 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:48:05,605.605 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:48:05,608.608 INFO    ] No camera update needed
[2026-08-29 17:48:05,610.610 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:48:05,613.613 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:48:05,619.619 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:48:05,625.625 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:48:07,667.667 INFO    ] ================================================
[2026-08-29 17:48:07,683.683 INFO    ] Launching Daemon at Sat Aug 29 17:48:07 IST 2026
[2026-08-29 17:48:07,696.696 INFO    ] ================================================
[2026-08-29 17:48:08,268.268 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:48:08
[2026-08-29 17:48:08,712.712 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:48:08,855.855 INFO    ] Initializing speech engine...
[2026-08-29 17:48:08,860.860 INFO    ] 2026-08-29 17:48:08
[2026-08-29 17:48:09,067.067 INFO    ] 2026-08-29 17:48:09
[2026-08-29 17:48:09,096.096 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:48:09,221.221 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:48:09,285.285 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:48:09,418.418 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:48:09,464.464 INFO    ] time= 29/08/2026 17:48:09
[2026-08-29 17:48:09,504.504 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:48:09,521.521 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:48:09,592.592 INFO    ] No existing commands found in stream
[2026-08-29 17:48:14,602.602 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:48:14,605.605 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 17:48:16,158.158 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:48:16,159.159 INFO    ] Checking for system updates...
[2026-08-29 17:48:16,179.179 INFO    ] 200
[2026-08-29 17:48:16,181.181 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:48:16,213.213 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:48:16,215.215 INFO    ] No update needed
[2026-08-29 17:48:16,216.216 INFO    ] Checking for camera pi updates...
[2026-08-29 17:48:16,236.236 INFO    ] 200
[2026-08-29 17:48:16,237.237 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:48:16,261.261 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:48:16,338.338 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:48:16,341.341 INFO    ] No camera update needed
[2026-08-29 17:48:16,343.343 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:48:16,345.345 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:48:16,351.351 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:48:16,356.356 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:48:18,398.398 INFO    ] ================================================
[2026-08-29 17:48:18,414.414 INFO    ] Launching Daemon at Sat Aug 29 17:48:18 IST 2026
[2026-08-29 17:48:18,425.425 INFO    ] ================================================
[2026-08-29 17:48:19,009.009 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:48:19
[2026-08-29 17:48:19,379.379 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:48:19,513.513 INFO    ] Initializing speech engine...
[2026-08-29 17:48:19,525.525 INFO    ] 2026-08-29 17:48:19
[2026-08-29 17:48:19,747.747 INFO    ] 2026-08-29 17:48:19
[2026-08-29 17:48:19,837.837 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:48:20,013.013 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:48:20,023.023 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:48:20,137.137 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:48:20,139.139 INFO    ] time= 29/08/2026 17:48:20
[2026-08-29 17:48:20,142.142 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:48:20,179.179 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:48:20,285.285 INFO    ] No existing commands found in stream
[2026-08-29 17:48:25,315.315 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:48:25,318.318 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-08-29 17:48:29,496.496 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:48:29,498.498 INFO    ] Checking for system updates...
[2026-08-29 17:48:29,531.531 INFO    ] 200
[2026-08-29 17:48:29,533.533 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:48:29,563.563 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:48:29,564.564 INFO    ] No update needed
[2026-08-29 17:48:29,565.565 INFO    ] Checking for camera pi updates...
[2026-08-29 17:48:29,586.586 INFO    ] 200
[2026-08-29 17:48:29,588.588 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:48:29,611.611 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:48:29,691.691 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:48:29,693.693 INFO    ] No camera update needed
[2026-08-29 17:48:29,696.696 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:48:29,698.698 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:48:29,703.703 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:48:29,708.708 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:48:31,749.749 INFO    ] ================================================
[2026-08-29 17:48:31,765.765 INFO    ] Launching Daemon at Sat Aug 29 17:48:31 IST 2026
[2026-08-29 17:48:31,776.776 INFO    ] ================================================
[2026-08-29 17:48:32,376.376 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:48:32
[2026-08-29 17:48:32,913.913 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:48:33,207.207 INFO    ] Initializing speech engine...
[2026-08-29 17:48:33,221.221 INFO    ] 2026-08-29 17:48:33
[2026-08-29 17:48:33,482.482 INFO    ] 2026-08-29 17:48:33
[2026-08-29 17:48:33,519.519 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:48:33,691.691 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:48:33,703.703 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:48:33,845.845 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:48:33,854.854 INFO    ] time= 29/08/2026 17:48:33
[2026-08-29 17:48:33,860.860 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:48:33,906.906 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:48:34,015.015 INFO    ] No existing commands found in stream
[2026-08-29 17:48:39,050.050 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:48:39,053.053 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-08-29 17:48:40,094.094 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:48:40,096.096 INFO    ] Checking for system updates...
[2026-08-29 17:48:40,116.116 INFO    ] 200
[2026-08-29 17:48:40,117.117 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:48:40,152.152 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:48:40,153.153 INFO    ] No update needed
[2026-08-29 17:48:40,155.155 INFO    ] Checking for camera pi updates...
[2026-08-29 17:48:40,174.174 INFO    ] 200
[2026-08-29 17:48:40,175.175 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:48:40,202.202 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:48:40,311.311 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:48:40,312.312 INFO    ] No camera update needed
[2026-08-29 17:48:40,314.314 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:48:40,315.315 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:48:40,318.318 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:48:40,320.320 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:48:42,359.359 INFO    ] ================================================
[2026-08-29 17:48:42,374.374 INFO    ] Launching Daemon at Sat Aug 29 17:48:42 IST 2026
[2026-08-29 17:48:42,385.385 INFO    ] ================================================
[2026-08-29 17:48:42,726.726 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:48:42
[2026-08-29 17:48:43,042.042 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:48:43,305.305 INFO    ] Initializing speech engine...
[2026-08-29 17:48:43,319.319 INFO    ] 2026-08-29 17:48:43
[2026-08-29 17:48:43,576.576 INFO    ] 2026-08-29 17:48:43
[2026-08-29 17:48:43,613.613 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:48:43,789.789 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:48:43,803.803 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:48:43,948.948 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:48:43,956.956 INFO    ] time= 29/08/2026 17:48:43
[2026-08-29 17:48:43,963.963 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:48:44,004.004 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:48:44,124.124 INFO    ] No existing commands found in stream
[2026-08-29 17:48:49,155.155 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:48:49,157.157 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-08-29 17:48:50,890.890 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:48:50,891.891 INFO    ] Checking for system updates...
[2026-08-29 17:48:50,912.912 INFO    ] 200
[2026-08-29 17:48:50,913.913 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:48:50,944.944 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:48:50,945.945 INFO    ] No update needed
[2026-08-29 17:48:50,946.946 INFO    ] Checking for camera pi updates...
[2026-08-29 17:48:50,965.965 INFO    ] 200
[2026-08-29 17:48:50,967.967 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:48:50,993.993 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:48:51,071.071 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:48:51,072.072 INFO    ] No camera update needed
[2026-08-29 17:48:51,073.073 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:48:51,075.075 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:48:51,077.077 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:48:51,080.080 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:48:53,118.118 INFO    ] ================================================
[2026-08-29 17:48:53,134.134 INFO    ] Launching Daemon at Sat Aug 29 17:48:53 IST 2026
[2026-08-29 17:48:53,145.145 INFO    ] ================================================
[2026-08-29 17:48:53,498.498 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:48:53
[2026-08-29 17:48:53,811.811 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:48:54,066.066 INFO    ] Initializing speech engine...
[2026-08-29 17:48:54,074.074 INFO    ] 2026-08-29 17:48:54
[2026-08-29 17:48:54,327.327 INFO    ] 2026-08-29 17:48:54
[2026-08-29 17:48:54,362.362 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:48:54,538.538 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:48:54,553.553 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:48:54,696.696 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:48:54,704.704 INFO    ] time= 29/08/2026 17:48:54
[2026-08-29 17:48:54,711.711 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:48:54,763.763 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:48:54,889.889 INFO    ] No existing commands found in stream
[2026-08-29 17:48:59,921.921 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:48:59,924.924 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-08-29 17:49:00,497.497 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:49:00,498.498 INFO    ] Checking for system updates...
[2026-08-29 17:49:00,524.524 INFO    ] 200
[2026-08-29 17:49:00,525.525 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:49:00,563.563 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:49:00,565.565 INFO    ] No update needed
[2026-08-29 17:49:00,566.566 INFO    ] Checking for camera pi updates...
[2026-08-29 17:49:00,587.587 INFO    ] 200
[2026-08-29 17:49:00,589.589 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:49:00,612.612 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:49:00,804.804 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:49:00,805.805 INFO    ] No camera update needed
[2026-08-29 17:49:00,806.806 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:49:00,808.808 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:49:00,810.810 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:49:00,813.813 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:49:02,858.858 INFO    ] ================================================
[2026-08-29 17:49:02,885.885 INFO    ] Launching Daemon at Sat Aug 29 17:49:02 IST 2026
[2026-08-29 17:49:02,898.898 INFO    ] ================================================
[2026-08-29 17:49:03,542.542 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:49:03
[2026-08-29 17:49:04,141.141 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:49:04,421.421 INFO    ] Initializing speech engine...
[2026-08-29 17:49:04,430.430 INFO    ] 2026-08-29 17:49:04
[2026-08-29 17:49:04,682.682 INFO    ] 2026-08-29 17:49:04
[2026-08-29 17:49:04,748.748 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:49:04,901.901 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:49:04,919.919 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:49:05,041.041 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:49:05,045.045 INFO    ] time= 29/08/2026 17:49:05
[2026-08-29 17:49:05,049.049 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:49:05,083.083 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:49:05,150.150 INFO    ] No existing commands found in stream
[2026-08-29 17:49:10,159.159 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:49:10,162.162 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-08-29 17:49:11,827.827 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:49:11,828.828 INFO    ] Checking for system updates...
[2026-08-29 17:49:11,850.850 INFO    ] 200
[2026-08-29 17:49:11,851.851 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:49:11,884.884 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:49:11,885.885 INFO    ] No update needed
[2026-08-29 17:49:11,886.886 INFO    ] Checking for camera pi updates...
[2026-08-29 17:49:11,905.905 INFO    ] 200
[2026-08-29 17:49:11,907.907 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:49:11,929.929 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:49:12,013.013 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:49:12,015.015 INFO    ] No camera update needed
[2026-08-29 17:49:12,016.016 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:49:12,017.017 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:49:12,020.020 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:49:12,023.023 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:49:14,062.062 INFO    ] ================================================
[2026-08-29 17:49:14,077.077 INFO    ] Launching Daemon at Sat Aug 29 17:49:14 IST 2026
[2026-08-29 17:49:14,088.088 INFO    ] ================================================
[2026-08-29 17:49:14,657.657 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:49:14
[2026-08-29 17:49:15,311.311 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:49:15,613.613 INFO    ] Initializing speech engine...
[2026-08-29 17:49:15,618.618 INFO    ] 2026-08-29 17:49:15
[2026-08-29 17:49:15,892.892 INFO    ] 2026-08-29 17:49:15
[2026-08-29 17:49:15,947.947 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:49:16,164.164 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:49:16,187.187 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:49:16,325.325 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:49:16,352.352 INFO    ] time= 29/08/2026 17:49:16
[2026-08-29 17:49:16,413.413 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:49:16,462.462 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:49:16,515.515 INFO    ] No existing commands found in stream
[2026-08-29 17:49:21,528.528 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:49:21,531.531 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-08-29 17:49:22,684.684 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:49:22,685.685 INFO    ] Checking for system updates...
[2026-08-29 17:49:22,707.707 INFO    ] 200
[2026-08-29 17:49:22,708.708 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:49:22,743.743 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:49:22,744.744 INFO    ] No update needed
[2026-08-29 17:49:22,746.746 INFO    ] Checking for camera pi updates...
[2026-08-29 17:49:22,767.767 INFO    ] 200
[2026-08-29 17:49:22,769.769 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:49:22,792.792 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:49:22,897.897 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:49:22,899.899 INFO    ] No camera update needed
[2026-08-29 17:49:22,900.900 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:49:22,901.901 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:49:22,905.905 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:49:22,908.908 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:49:24,945.945 INFO    ] ================================================
[2026-08-29 17:49:24,960.960 INFO    ] Launching Daemon at Sat Aug 29 17:49:24 IST 2026
[2026-08-29 17:49:24,971.971 INFO    ] ================================================
[2026-08-29 17:49:25,350.350 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:49:25
[2026-08-29 17:49:25,684.684 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:49:25,965.965 INFO    ] Initializing speech engine...
[2026-08-29 17:49:25,973.973 INFO    ] 2026-08-29 17:49:25
[2026-08-29 17:49:26,246.246 INFO    ] 2026-08-29 17:49:26
[2026-08-29 17:49:26,303.303 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:49:26,533.533 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:49:26,544.544 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:49:26,680.680 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:49:26,733.733 INFO    ] time= 29/08/2026 17:49:26
[2026-08-29 17:49:26,782.782 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:49:26,818.818 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:49:26,873.873 INFO    ] No existing commands found in stream
[2026-08-29 17:49:31,886.886 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:49:31,889.889 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-08-29 17:49:35,404.404 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:49:35,406.406 INFO    ] Checking for system updates...
[2026-08-29 17:49:35,426.426 INFO    ] 200
[2026-08-29 17:49:35,428.428 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:49:35,458.458 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:49:35,460.460 INFO    ] No update needed
[2026-08-29 17:49:35,461.461 INFO    ] Checking for camera pi updates...
[2026-08-29 17:49:35,481.481 INFO    ] 200
[2026-08-29 17:49:35,482.482 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:49:35,505.505 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:49:35,581.581 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:49:35,583.583 INFO    ] No camera update needed
[2026-08-29 17:49:35,584.584 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:49:35,586.586 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:49:35,589.589 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:49:35,592.592 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:49:37,632.632 INFO    ] ================================================
[2026-08-29 17:49:37,647.647 INFO    ] Launching Daemon at Sat Aug 29 17:49:37 IST 2026
[2026-08-29 17:49:37,658.658 INFO    ] ================================================
[2026-08-29 17:49:38,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:49:38
[2026-08-29 17:49:38,381.381 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:49:38,533.533 INFO    ] Initializing speech engine...
[2026-08-29 17:49:38,538.538 INFO    ] 2026-08-29 17:49:38
[2026-08-29 17:49:38,747.747 INFO    ] 2026-08-29 17:49:38
[2026-08-29 17:49:38,776.776 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:49:38,900.900 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:49:38,958.958 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:49:39,095.095 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:49:39,157.157 INFO    ] time= 29/08/2026 17:49:39
[2026-08-29 17:49:39,193.193 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:49:39,198.198 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:49:39,269.269 INFO    ] No existing commands found in stream
[2026-08-29 17:49:44,280.280 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:49:44,284.284 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-08-29 17:49:46,731.731 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:49:46,733.733 INFO    ] Checking for system updates...
[2026-08-29 17:49:46,756.756 INFO    ] 200
[2026-08-29 17:49:46,758.758 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:49:46,798.798 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:49:46,800.800 INFO    ] No update needed
[2026-08-29 17:49:46,803.803 INFO    ] Checking for camera pi updates...
[2026-08-29 17:49:46,838.838 INFO    ] 200
[2026-08-29 17:49:46,841.841 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:49:46,883.883 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:49:46,975.975 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:49:46,978.978 INFO    ] No camera update needed
[2026-08-29 17:49:46,980.980 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:49:46,983.983 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:49:46,989.989 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:49:46,995.995 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:49:49,036.036 INFO    ] ================================================
[2026-08-29 17:49:49,051.051 INFO    ] Launching Daemon at Sat Aug 29 17:49:49 IST 2026
[2026-08-29 17:49:49,063.063 INFO    ] ================================================
[2026-08-29 17:49:49,631.631 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:49:49
[2026-08-29 17:49:50,132.132 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:49:50,389.389 INFO    ] Initializing speech engine...
[2026-08-29 17:49:50,398.398 INFO    ] 2026-08-29 17:49:50
[2026-08-29 17:49:50,694.694 INFO    ] 2026-08-29 17:49:50
[2026-08-29 17:49:50,772.772 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:49:50,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:49:50,947.947 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:49:51,071.071 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:49:51,077.077 INFO    ] time= 29/08/2026 17:49:51
[2026-08-29 17:49:51,081.081 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:49:51,101.101 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:49:51,200.200 INFO    ] No existing commands found in stream
[2026-08-29 17:49:56,213.213 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:49:56,216.216 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 17:49:59,687.687 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:49:59,688.688 INFO    ] Checking for system updates...
[2026-08-29 17:49:59,709.709 INFO    ] 200
[2026-08-29 17:49:59,710.710 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:49:59,741.741 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:49:59,742.742 INFO    ] No update needed
[2026-08-29 17:49:59,744.744 INFO    ] Checking for camera pi updates...
[2026-08-29 17:49:59,763.763 INFO    ] 200
[2026-08-29 17:49:59,765.765 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:49:59,788.788 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:49:59,890.890 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:49:59,891.891 INFO    ] No camera update needed
[2026-08-29 17:49:59,893.893 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:49:59,894.894 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:49:59,897.897 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:49:59,900.900 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:50:01,965.965 INFO    ] ================================================
[2026-08-29 17:50:02,024.024 INFO    ] Launching Daemon at Sat Aug 29 17:50:02 IST 2026
[2026-08-29 17:50:02,069.069 INFO    ] ================================================
[2026-08-29 17:50:02,876.876 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:50:02
[2026-08-29 17:50:03,619.619 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:50:03,916.916 INFO    ] Initializing speech engine...
[2026-08-29 17:50:03,924.924 INFO    ] 2026-08-29 17:50:03
[2026-08-29 17:50:04,207.207 INFO    ] 2026-08-29 17:50:04
[2026-08-29 17:50:04,253.253 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:50:04,478.478 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:50:04,487.487 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:50:04,620.620 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:50:04,668.668 INFO    ] time= 29/08/2026 17:50:04
[2026-08-29 17:50:04,728.728 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:50:04,757.757 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:50:04,813.813 INFO    ] No existing commands found in stream
[2026-08-29 17:50:09,826.826 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:50:09,829.829 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-08-29 17:50:13,820.820 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:50:13,822.822 INFO    ] Checking for system updates...
[2026-08-29 17:50:13,843.843 INFO    ] 200
[2026-08-29 17:50:13,845.845 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:50:13,876.876 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:50:13,877.877 INFO    ] No update needed
[2026-08-29 17:50:13,879.879 INFO    ] Checking for camera pi updates...
[2026-08-29 17:50:13,899.899 INFO    ] 200
[2026-08-29 17:50:13,900.900 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:50:13,923.923 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:50:14,001.001 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:50:14,003.003 INFO    ] No camera update needed
[2026-08-29 17:50:14,004.004 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:50:14,005.005 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:50:14,009.009 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:50:14,011.011 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:50:16,051.051 INFO    ] ================================================
[2026-08-29 17:50:16,066.066 INFO    ] Launching Daemon at Sat Aug 29 17:50:16 IST 2026
[2026-08-29 17:50:16,077.077 INFO    ] ================================================
[2026-08-29 17:50:16,422.422 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:50:16
[2026-08-29 17:50:16,753.753 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:50:16,889.889 INFO    ] Initializing speech engine...
[2026-08-29 17:50:16,899.899 INFO    ] 2026-08-29 17:50:16
[2026-08-29 17:50:17,114.114 INFO    ] 2026-08-29 17:50:17
[2026-08-29 17:50:17,142.142 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:50:17,264.264 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:50:17,317.317 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:50:17,457.457 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:50:17,518.518 INFO    ] time= 29/08/2026 17:50:17
[2026-08-29 17:50:17,553.553 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:50:17,558.558 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:50:17,630.630 INFO    ] No existing commands found in stream
[2026-08-29 17:50:22,639.639 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:50:22,643.643 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-08-29 17:50:25,335.335 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:50:25,336.336 INFO    ] Checking for system updates...
[2026-08-29 17:50:25,357.357 INFO    ] 200
[2026-08-29 17:50:25,358.358 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:50:25,390.390 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:50:25,392.392 INFO    ] No update needed
[2026-08-29 17:50:25,393.393 INFO    ] Checking for camera pi updates...
[2026-08-29 17:50:25,412.412 INFO    ] 200
[2026-08-29 17:50:25,414.414 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:50:25,437.437 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:50:25,531.531 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:50:25,533.533 INFO    ] No camera update needed
[2026-08-29 17:50:25,534.534 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:50:25,535.535 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:50:25,538.538 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:50:25,541.541 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:50:27,578.578 INFO    ] ================================================
[2026-08-29 17:50:27,594.594 INFO    ] Launching Daemon at Sat Aug 29 17:50:27 IST 2026
[2026-08-29 17:50:27,604.604 INFO    ] ================================================
[2026-08-29 17:50:28,202.202 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:50:28
[2026-08-29 17:50:28,844.844 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:50:29,136.136 INFO    ] Initializing speech engine...
[2026-08-29 17:50:29,145.145 INFO    ] 2026-08-29 17:50:29
[2026-08-29 17:50:29,411.411 INFO    ] 2026-08-29 17:50:29
[2026-08-29 17:50:29,468.468 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:50:29,639.639 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:50:29,642.642 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:50:29,810.810 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:50:29,865.865 INFO    ] time= 29/08/2026 17:50:29
[2026-08-29 17:50:29,876.876 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:50:29,894.894 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:50:30,002.002 INFO    ] No existing commands found in stream
[2026-08-29 17:50:35,033.033 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:50:35,036.036 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-08-29 17:50:38,757.757 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:50:38,759.759 INFO    ] Checking for system updates...
[2026-08-29 17:50:38,780.780 INFO    ] 200
[2026-08-29 17:50:38,781.781 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:50:38,813.813 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:50:38,814.814 INFO    ] No update needed
[2026-08-29 17:50:38,816.816 INFO    ] Checking for camera pi updates...
[2026-08-29 17:50:38,835.835 INFO    ] 200
[2026-08-29 17:50:38,837.837 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:50:38,861.861 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:50:38,940.940 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:50:38,942.942 INFO    ] No camera update needed
[2026-08-29 17:50:38,943.943 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:50:38,944.944 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:50:38,947.947 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:50:38,950.950 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:50:40,991.991 INFO    ] ================================================
[2026-08-29 17:50:41,006.006 INFO    ] Launching Daemon at Sat Aug 29 17:50:41 IST 2026
[2026-08-29 17:50:41,016.016 INFO    ] ================================================
[2026-08-29 17:50:41,580.580 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:50:41
[2026-08-29 17:50:42,180.180 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:50:42,454.454 INFO    ] Initializing speech engine...
[2026-08-29 17:50:42,463.463 INFO    ] 2026-08-29 17:50:42
[2026-08-29 17:50:42,710.710 INFO    ] 2026-08-29 17:50:42
[2026-08-29 17:50:42,776.776 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:50:42,998.998 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:50:43,007.007 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:50:43,140.140 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:50:43,146.146 INFO    ] time= 29/08/2026 17:50:43
[2026-08-29 17:50:43,200.200 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:50:43,245.245 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:50:43,323.323 INFO    ] No existing commands found in stream
[2026-08-29 17:50:48,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:50:48,338.338 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-08-29 17:50:48,993.993 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:50:48,994.994 INFO    ] Checking for system updates...
[2026-08-29 17:50:49,015.015 INFO    ] 200
[2026-08-29 17:50:49,016.016 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:50:49,050.050 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:50:49,051.051 INFO    ] No update needed
[2026-08-29 17:50:49,053.053 INFO    ] Checking for camera pi updates...
[2026-08-29 17:50:49,072.072 INFO    ] 200
[2026-08-29 17:50:49,073.073 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:50:49,096.096 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:50:49,174.174 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:50:49,175.175 INFO    ] No camera update needed
[2026-08-29 17:50:49,176.176 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:50:49,177.177 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:50:49,180.180 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:50:49,183.183 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:50:51,221.221 INFO    ] ================================================
[2026-08-29 17:50:51,236.236 INFO    ] Launching Daemon at Sat Aug 29 17:50:51 IST 2026
[2026-08-29 17:50:51,246.246 INFO    ] ================================================
[2026-08-29 17:50:51,631.631 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:50:51
[2026-08-29 17:50:52,217.217 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:50:52,466.466 INFO    ] Initializing speech engine...
[2026-08-29 17:50:52,479.479 INFO    ] 2026-08-29 17:50:52
[2026-08-29 17:50:52,740.740 INFO    ] 2026-08-29 17:50:52
[2026-08-29 17:50:52,776.776 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:50:52,947.947 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:50:52,960.960 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:50:53,102.102 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:50:53,109.109 INFO    ] time= 29/08/2026 17:50:53
[2026-08-29 17:50:53,116.116 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:50:53,157.157 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:50:53,266.266 INFO    ] No existing commands found in stream
[2026-08-29 17:50:58,291.291 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:50:58,294.294 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-08-29 17:51:01,419.419 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:51:01,421.421 INFO    ] Checking for system updates...
[2026-08-29 17:51:01,441.441 INFO    ] 200
[2026-08-29 17:51:01,443.443 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:51:01,473.473 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:51:01,474.474 INFO    ] No update needed
[2026-08-29 17:51:01,475.475 INFO    ] Checking for camera pi updates...
[2026-08-29 17:51:01,494.494 INFO    ] 200
[2026-08-29 17:51:01,495.495 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:51:01,518.518 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:51:01,610.610 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:51:01,613.613 INFO    ] No camera update needed
[2026-08-29 17:51:01,617.617 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:51:01,620.620 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:51:01,627.627 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:51:01,638.638 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:51:03,683.683 INFO    ] ================================================
[2026-08-29 17:51:03,699.699 INFO    ] Launching Daemon at Sat Aug 29 17:51:03 IST 2026
[2026-08-29 17:51:03,709.709 INFO    ] ================================================
[2026-08-29 17:51:04,285.285 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:51:04
[2026-08-29 17:51:04,816.816 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:51:04,957.957 INFO    ] Initializing speech engine...
[2026-08-29 17:51:04,967.967 INFO    ] 2026-08-29 17:51:04
[2026-08-29 17:51:05,178.178 INFO    ] 2026-08-29 17:51:05
[2026-08-29 17:51:05,197.197 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:51:05,343.343 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:51:05,348.348 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:51:05,509.509 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:51:05,554.554 INFO    ] time= 29/08/2026 17:51:05
[2026-08-29 17:51:05,570.570 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:51:05,576.576 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:51:05,675.675 INFO    ] No existing commands found in stream
[2026-08-29 17:51:10,706.706 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:51:10,709.709 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-08-29 17:51:12,199.199 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:51:12,201.201 INFO    ] Checking for system updates...
[2026-08-29 17:51:12,221.221 INFO    ] 200
[2026-08-29 17:51:12,223.223 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:51:12,253.253 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:51:12,254.254 INFO    ] No update needed
[2026-08-29 17:51:12,255.255 INFO    ] Checking for camera pi updates...
[2026-08-29 17:51:12,274.274 INFO    ] 200
[2026-08-29 17:51:12,276.276 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:51:12,300.300 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:51:12,483.483 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:51:12,485.485 INFO    ] No camera update needed
[2026-08-29 17:51:12,486.486 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:51:12,487.487 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:51:12,490.490 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:51:12,493.493 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:51:14,533.533 INFO    ] ================================================
[2026-08-29 17:51:14,548.548 INFO    ] Launching Daemon at Sat Aug 29 17:51:14 IST 2026
[2026-08-29 17:51:14,559.559 INFO    ] ================================================
[2026-08-29 17:51:14,894.894 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:51:14
[2026-08-29 17:51:15,207.207 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:51:15,347.347 INFO    ] Initializing speech engine...
[2026-08-29 17:51:15,356.356 INFO    ] 2026-08-29 17:51:15
[2026-08-29 17:51:15,546.546 INFO    ] 2026-08-29 17:51:15
[2026-08-29 17:51:15,576.576 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:51:15,741.741 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:51:15,754.754 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:51:15,896.896 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:51:15,904.904 INFO    ] time= 29/08/2026 17:51:15
[2026-08-29 17:51:15,910.910 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:51:15,931.931 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:51:16,056.056 INFO    ] No existing commands found in stream
[2026-08-29 17:51:21,081.081 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:51:21,091.091 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-08-29 17:51:21,777.777 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:51:21,778.778 INFO    ] Checking for system updates...
[2026-08-29 17:51:21,799.799 INFO    ] 200
[2026-08-29 17:51:21,800.800 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:51:21,832.832 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:51:21,833.833 INFO    ] No update needed
[2026-08-29 17:51:21,835.835 INFO    ] Checking for camera pi updates...
[2026-08-29 17:51:21,854.854 INFO    ] 200
[2026-08-29 17:51:21,855.855 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:51:21,878.878 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:51:21,966.966 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:51:21,967.967 INFO    ] No camera update needed
[2026-08-29 17:51:21,968.968 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:51:21,969.969 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:51:21,972.972 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:51:21,975.975 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:51:24,014.014 INFO    ] ================================================
[2026-08-29 17:51:24,029.029 INFO    ] Launching Daemon at Sat Aug 29 17:51:24 IST 2026
[2026-08-29 17:51:24,040.040 INFO    ] ================================================
[2026-08-29 17:51:24,403.403 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:51:24
[2026-08-29 17:51:24,721.721 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:51:25,006.006 INFO    ] Initializing speech engine...
[2026-08-29 17:51:25,015.015 INFO    ] 2026-08-29 17:51:25
[2026-08-29 17:51:25,288.288 INFO    ] 2026-08-29 17:51:25
[2026-08-29 17:51:25,345.345 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:51:25,567.567 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:51:25,576.576 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:51:25,710.710 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:51:25,759.759 INFO    ] time= 29/08/2026 17:51:25
[2026-08-29 17:51:25,803.803 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:51:25,847.847 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:51:25,900.900 INFO    ] No existing commands found in stream
[2026-08-29 17:51:30,913.913 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:51:30,916.916 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-08-29 17:51:34,533.533 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:51:34,536.536 INFO    ] Checking for system updates...
[2026-08-29 17:51:34,573.573 INFO    ] 200
[2026-08-29 17:51:34,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:51:34,618.618 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:51:34,619.619 INFO    ] No update needed
[2026-08-29 17:51:34,621.621 INFO    ] Checking for camera pi updates...
[2026-08-29 17:51:34,641.641 INFO    ] 200
[2026-08-29 17:51:34,642.642 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:51:34,665.665 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:51:34,743.743 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:51:34,744.744 INFO    ] No camera update needed
[2026-08-29 17:51:34,746.746 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:51:34,747.747 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:51:34,750.750 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:51:34,753.753 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:51:36,791.791 INFO    ] ================================================
[2026-08-29 17:51:36,806.806 INFO    ] Launching Daemon at Sat Aug 29 17:51:36 IST 2026
[2026-08-29 17:51:36,817.817 INFO    ] ================================================
[2026-08-29 17:51:37,154.154 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:51:37
[2026-08-29 17:51:37,466.466 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:51:37,602.602 INFO    ] Initializing speech engine...
[2026-08-29 17:51:37,614.614 INFO    ] 2026-08-29 17:51:37
[2026-08-29 17:51:37,830.830 INFO    ] 2026-08-29 17:51:37
[2026-08-29 17:51:37,860.860 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:51:37,991.991 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:51:38,029.029 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:51:38,196.196 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:51:38,259.259 INFO    ] time= 29/08/2026 17:51:38
[2026-08-29 17:51:38,301.301 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:51:38,308.308 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:51:38,378.378 INFO    ] No existing commands found in stream
[2026-08-29 17:51:43,388.388 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:51:43,391.391 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-08-29 17:51:45,958.958 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:51:45,960.960 INFO    ] Checking for system updates...
[2026-08-29 17:51:45,980.980 INFO    ] 200
[2026-08-29 17:51:45,982.982 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:51:46,012.012 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:51:46,013.013 INFO    ] No update needed
[2026-08-29 17:51:46,015.015 INFO    ] Checking for camera pi updates...
[2026-08-29 17:51:46,034.034 INFO    ] 200
[2026-08-29 17:51:46,035.035 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:51:46,057.057 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:51:46,166.166 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:51:46,169.169 INFO    ] No camera update needed
[2026-08-29 17:51:46,174.174 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:51:46,176.176 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:51:46,194.194 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:51:46,199.199 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:51:48,240.240 INFO    ] ================================================
[2026-08-29 17:51:48,255.255 INFO    ] Launching Daemon at Sat Aug 29 17:51:48 IST 2026
[2026-08-29 17:51:48,265.265 INFO    ] ================================================
[2026-08-29 17:51:48,832.832 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:51:48
[2026-08-29 17:51:49,329.329 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:51:49,472.472 INFO    ] Initializing speech engine...
[2026-08-29 17:51:49,477.477 INFO    ] 2026-08-29 17:51:49
[2026-08-29 17:51:49,688.688 INFO    ] 2026-08-29 17:51:49
[2026-08-29 17:51:49,746.746 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:51:49,887.887 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:51:49,898.898 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:51:50,024.024 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:51:50,047.047 INFO    ] time= 29/08/2026 17:51:50
[2026-08-29 17:51:50,052.052 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:51:50,058.058 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:51:50,124.124 INFO    ] No existing commands found in stream
[2026-08-29 17:51:55,139.139 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:51:55,142.142 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-08-29 17:51:56,015.015 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:51:56,016.016 INFO    ] Checking for system updates...
[2026-08-29 17:51:56,036.036 INFO    ] 200
[2026-08-29 17:51:56,038.038 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:51:56,070.070 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:51:56,071.071 INFO    ] No update needed
[2026-08-29 17:51:56,073.073 INFO    ] Checking for camera pi updates...
[2026-08-29 17:51:56,092.092 INFO    ] 200
[2026-08-29 17:51:56,093.093 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:51:56,116.116 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:51:56,195.195 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:51:56,196.196 INFO    ] No camera update needed
[2026-08-29 17:51:56,202.202 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:51:56,204.204 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:51:56,207.207 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:51:56,209.209 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:51:58,249.249 INFO    ] ================================================
[2026-08-29 17:51:58,264.264 INFO    ] Launching Daemon at Sat Aug 29 17:51:58 IST 2026
[2026-08-29 17:51:58,274.274 INFO    ] ================================================
[2026-08-29 17:51:58,630.630 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:51:58
[2026-08-29 17:51:58,942.942 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:51:59,085.085 INFO    ] Initializing speech engine...
[2026-08-29 17:51:59,089.089 INFO    ] 2026-08-29 17:51:59
[2026-08-29 17:51:59,293.293 INFO    ] 2026-08-29 17:51:59
[2026-08-29 17:51:59,322.322 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:51:59,444.444 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:51:59,481.481 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:51:59,636.636 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:51:59,697.697 INFO    ] time= 29/08/2026 17:51:59
[2026-08-29 17:51:59,726.726 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:51:59,736.736 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:51:59,806.806 INFO    ] No existing commands found in stream
[2026-08-29 17:52:04,817.817 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:52:04,819.819 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-08-29 17:52:05,637.637 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:52:05,638.638 INFO    ] Checking for system updates...
[2026-08-29 17:52:05,658.658 INFO    ] 200
[2026-08-29 17:52:05,660.660 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:52:05,692.692 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:52:05,693.693 INFO    ] No update needed
[2026-08-29 17:52:05,695.695 INFO    ] Checking for camera pi updates...
[2026-08-29 17:52:05,714.714 INFO    ] 200
[2026-08-29 17:52:05,715.715 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:52:05,737.737 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:52:05,816.816 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:52:05,817.817 INFO    ] No camera update needed
[2026-08-29 17:52:05,818.818 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:52:05,819.819 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:52:05,822.822 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:52:05,825.825 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:52:07,864.864 INFO    ] ================================================
[2026-08-29 17:52:07,879.879 INFO    ] Launching Daemon at Sat Aug 29 17:52:07 IST 2026
[2026-08-29 17:52:07,890.890 INFO    ] ================================================
[2026-08-29 17:52:08,472.472 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:52:08
[2026-08-29 17:52:09,060.060 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:52:09,257.257 INFO    ] Initializing speech engine...
[2026-08-29 17:52:09,270.270 INFO    ] 2026-08-29 17:52:09
[2026-08-29 17:52:09,486.486 INFO    ] 2026-08-29 17:52:09
[2026-08-29 17:52:09,517.517 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:52:09,647.647 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:52:09,713.713 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:52:09,858.858 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:52:09,916.916 INFO    ] time= 29/08/2026 17:52:09
[2026-08-29 17:52:09,970.970 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:52:10,019.019 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:52:10,138.138 INFO    ] No existing commands found in stream
[2026-08-29 17:52:15,168.168 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:52:15,171.171 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-08-29 17:52:16,386.386 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:52:16,387.387 INFO    ] Checking for system updates...
[2026-08-29 17:52:16,407.407 INFO    ] 200
[2026-08-29 17:52:16,409.409 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:52:16,439.439 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:52:16,440.440 INFO    ] No update needed
[2026-08-29 17:52:16,442.442 INFO    ] Checking for camera pi updates...
[2026-08-29 17:52:16,461.461 INFO    ] 200
[2026-08-29 17:52:16,462.462 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:52:16,487.487 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:52:16,571.571 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:52:16,572.572 INFO    ] No camera update needed
[2026-08-29 17:52:16,574.574 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:52:16,575.575 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:52:16,578.578 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:52:16,580.580 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:52:18,619.619 INFO    ] ================================================
[2026-08-29 17:52:18,634.634 INFO    ] Launching Daemon at Sat Aug 29 17:52:18 IST 2026
[2026-08-29 17:52:18,644.644 INFO    ] ================================================
[2026-08-29 17:52:18,999.999 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:52:18
[2026-08-29 17:52:19,334.334 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:52:19,485.485 INFO    ] Initializing speech engine...
[2026-08-29 17:52:19,489.489 INFO    ] 2026-08-29 17:52:19
[2026-08-29 17:52:19,684.684 INFO    ] 2026-08-29 17:52:19
[2026-08-29 17:52:19,739.739 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:52:19,964.964 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:52:19,974.974 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:52:20,107.107 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:52:20,129.129 INFO    ] time= 29/08/2026 17:52:20
[2026-08-29 17:52:20,179.179 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:52:20,238.238 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:52:20,294.294 INFO    ] No existing commands found in stream
[2026-08-29 17:52:25,307.307 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:52:25,310.310 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-08-29 17:52:26,833.833 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:52:26,836.836 INFO    ] Checking for system updates...
[2026-08-29 17:52:26,877.877 INFO    ] 200
[2026-08-29 17:52:26,880.880 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:52:26,941.941 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:52:26,944.944 INFO    ] No update needed
[2026-08-29 17:52:26,947.947 INFO    ] Checking for camera pi updates...
[2026-08-29 17:52:26,984.984 INFO    ] 200
[2026-08-29 17:52:26,987.987 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:52:27,031.031 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:52:27,128.128 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:52:27,130.130 INFO    ] No camera update needed
[2026-08-29 17:52:27,133.133 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:52:27,135.135 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:52:27,140.140 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:52:27,145.145 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:52:29,185.185 INFO    ] ================================================
[2026-08-29 17:52:29,200.200 INFO    ] Launching Daemon at Sat Aug 29 17:52:29 IST 2026
[2026-08-29 17:52:29,211.211 INFO    ] ================================================
[2026-08-29 17:52:29,707.707 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:52:29
[2026-08-29 17:52:30,041.041 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:52:30,314.314 INFO    ] Initializing speech engine...
[2026-08-29 17:52:30,325.325 INFO    ] 2026-08-29 17:52:30
[2026-08-29 17:52:30,614.614 INFO    ] 2026-08-29 17:52:30
[2026-08-29 17:52:30,722.722 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:52:30,879.879 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:52:30,885.885 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:52:31,016.016 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:52:31,054.054 INFO    ] time= 29/08/2026 17:52:31
[2026-08-29 17:52:31,119.119 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:52:31,157.157 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:52:31,209.209 INFO    ] No existing commands found in stream
[2026-08-29 17:52:36,221.221 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:52:36,223.223 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-08-29 17:52:38,778.778 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:52:38,780.780 INFO    ] Checking for system updates...
[2026-08-29 17:52:38,801.801 INFO    ] 200
[2026-08-29 17:52:38,802.802 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:52:38,832.832 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:52:38,833.833 INFO    ] No update needed
[2026-08-29 17:52:38,835.835 INFO    ] Checking for camera pi updates...
[2026-08-29 17:52:38,856.856 INFO    ] 200
[2026-08-29 17:52:38,858.858 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:52:38,880.880 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:52:38,982.982 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:52:38,984.984 INFO    ] No camera update needed
[2026-08-29 17:52:38,985.985 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:52:38,986.986 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:52:38,989.989 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:52:38,991.991 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:52:41,031.031 INFO    ] ================================================
[2026-08-29 17:52:41,046.046 INFO    ] Launching Daemon at Sat Aug 29 17:52:41 IST 2026
[2026-08-29 17:52:41,057.057 INFO    ] ================================================
[2026-08-29 17:52:41,436.436 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:52:41
[2026-08-29 17:52:41,768.768 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:52:41,918.918 INFO    ] Initializing speech engine...
[2026-08-29 17:52:41,923.923 INFO    ] 2026-08-29 17:52:41
[2026-08-29 17:52:42,127.127 INFO    ] 2026-08-29 17:52:42
[2026-08-29 17:52:42,209.209 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:52:42,392.392 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:52:42,397.397 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:52:42,583.583 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:52:42,633.633 INFO    ] time= 29/08/2026 17:52:42
[2026-08-29 17:52:42,639.639 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:52:42,660.660 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:52:42,759.759 INFO    ] No existing commands found in stream
[2026-08-29 17:52:47,785.785 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:52:47,788.788 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 17:52:51,226.226 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:52:51,228.228 INFO    ] Checking for system updates...
[2026-08-29 17:52:51,249.249 INFO    ] 200
[2026-08-29 17:52:51,251.251 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:52:51,281.281 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:52:51,282.282 INFO    ] No update needed
[2026-08-29 17:52:51,284.284 INFO    ] Checking for camera pi updates...
[2026-08-29 17:52:51,303.303 INFO    ] 200
[2026-08-29 17:52:51,304.304 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:52:51,327.327 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:52:51,416.416 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:52:51,418.418 INFO    ] No camera update needed
[2026-08-29 17:52:51,423.423 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:52:51,425.425 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:52:51,428.428 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:52:51,431.431 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:52:53,471.471 INFO    ] ================================================
[2026-08-29 17:52:53,488.488 INFO    ] Launching Daemon at Sat Aug 29 17:52:53 IST 2026
[2026-08-29 17:52:53,500.500 INFO    ] ================================================
[2026-08-29 17:52:54,121.121 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:52:54
[2026-08-29 17:52:54,679.679 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:52:54,951.951 INFO    ] Initializing speech engine...
[2026-08-29 17:52:54,961.961 INFO    ] 2026-08-29 17:52:54
[2026-08-29 17:52:55,244.244 INFO    ] 2026-08-29 17:52:55
[2026-08-29 17:52:55,280.280 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:52:55,455.455 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:52:55,467.467 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:52:55,576.576 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:52:55,582.582 INFO    ] time= 29/08/2026 17:52:55
[2026-08-29 17:52:55,600.600 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:52:55,619.619 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:52:55,691.691 INFO    ] No existing commands found in stream
[2026-08-29 17:53:00,703.703 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:53:00,706.706 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-08-29 17:53:01,576.576 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:53:01,579.579 INFO    ] Checking for system updates...
[2026-08-29 17:53:01,623.623 INFO    ] 200
[2026-08-29 17:53:01,626.626 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:53:01,691.691 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:53:01,694.694 INFO    ] No update needed
[2026-08-29 17:53:01,697.697 INFO    ] Checking for camera pi updates...
[2026-08-29 17:53:01,739.739 INFO    ] 200
[2026-08-29 17:53:01,742.742 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:53:01,801.801 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:53:01,933.933 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:53:01,936.936 INFO    ] No camera update needed
[2026-08-29 17:53:01,940.940 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:53:01,943.943 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:53:01,951.951 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:53:01,958.958 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:53:04,000.000 INFO    ] ================================================
[2026-08-29 17:53:04,019.019 INFO    ] Launching Daemon at Sat Aug 29 17:53:04 IST 2026
[2026-08-29 17:53:04,030.030 INFO    ] ================================================
[2026-08-29 17:53:04,443.443 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:53:04
[2026-08-29 17:53:04,762.762 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:53:04,936.936 INFO    ] Initializing speech engine...
[2026-08-29 17:53:04,961.961 INFO    ] 2026-08-29 17:53:04
[2026-08-29 17:53:05,238.238 INFO    ] 2026-08-29 17:53:05
[2026-08-29 17:53:05,278.278 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:53:05,469.469 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:53:05,475.475 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:53:05,583.583 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:53:05,587.587 INFO    ] time= 29/08/2026 17:53:05
[2026-08-29 17:53:05,592.592 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:53:05,615.615 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:53:05,667.667 INFO    ] No existing commands found in stream
[2026-08-29 17:53:10,677.677 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:53:10,680.680 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-08-29 17:53:11,071.071 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:53:11,078.078 INFO    ] Checking for system updates...
[2026-08-29 17:53:11,099.099 INFO    ] 200
[2026-08-29 17:53:11,100.100 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:53:11,130.130 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:53:11,132.132 INFO    ] No update needed
[2026-08-29 17:53:11,133.133 INFO    ] Checking for camera pi updates...
[2026-08-29 17:53:11,154.154 INFO    ] 200
[2026-08-29 17:53:11,156.156 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:53:11,179.179 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:53:11,268.268 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:53:11,270.270 INFO    ] No camera update needed
[2026-08-29 17:53:11,271.271 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:53:11,272.272 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:53:11,275.275 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:53:11,278.278 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:53:13,316.316 INFO    ] ================================================
[2026-08-29 17:53:13,332.332 INFO    ] Launching Daemon at Sat Aug 29 17:53:13 IST 2026
[2026-08-29 17:53:13,344.344 INFO    ] ================================================
[2026-08-29 17:53:13,693.693 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:53:13
[2026-08-29 17:53:14,004.004 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:53:14,137.137 INFO    ] Initializing speech engine...
[2026-08-29 17:53:14,150.150 INFO    ] 2026-08-29 17:53:14
[2026-08-29 17:53:14,357.357 INFO    ] 2026-08-29 17:53:14
[2026-08-29 17:53:14,386.386 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:53:14,510.510 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:53:14,573.573 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:53:14,705.705 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:53:14,761.761 INFO    ] time= 29/08/2026 17:53:14
[2026-08-29 17:53:14,804.804 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:53:14,806.806 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:53:14,878.878 INFO    ] No existing commands found in stream
[2026-08-29 17:53:19,888.888 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:53:19,891.891 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-08-29 17:53:21,340.340 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:53:21,341.341 INFO    ] Checking for system updates...
[2026-08-29 17:53:21,362.362 INFO    ] 200
[2026-08-29 17:53:21,363.363 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:53:21,396.396 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:53:21,397.397 INFO    ] No update needed
[2026-08-29 17:53:21,398.398 INFO    ] Checking for camera pi updates...
[2026-08-29 17:53:21,419.419 INFO    ] 200
[2026-08-29 17:53:21,420.420 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:53:21,443.443 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:53:21,607.607 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:53:21,608.608 INFO    ] No camera update needed
[2026-08-29 17:53:21,609.609 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:53:21,610.610 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:53:21,613.613 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:53:21,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:53:23,654.654 INFO    ] ================================================
[2026-08-29 17:53:23,670.670 INFO    ] Launching Daemon at Sat Aug 29 17:53:23 IST 2026
[2026-08-29 17:53:23,681.681 INFO    ] ================================================
[2026-08-29 17:53:24,026.026 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:53:24
[2026-08-29 17:53:24,452.452 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:53:24,710.710 INFO    ] Initializing speech engine...
[2026-08-29 17:53:24,724.724 INFO    ] 2026-08-29 17:53:24
[2026-08-29 17:53:25,004.004 INFO    ] 2026-08-29 17:53:24
[2026-08-29 17:53:25,038.038 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:53:25,182.182 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:53:25,191.191 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:53:25,336.336 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:53:25,350.350 INFO    ] time= 29/08/2026 17:53:25
[2026-08-29 17:53:25,354.354 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:53:25,359.359 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:53:25,425.425 INFO    ] No existing commands found in stream
[2026-08-29 17:53:30,438.438 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:53:30,441.441 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-08-29 17:53:32,093.093 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:53:32,096.096 INFO    ] Checking for system updates...
[2026-08-29 17:53:32,144.144 INFO    ] 200
[2026-08-29 17:53:32,147.147 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:53:32,206.206 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:53:32,209.209 INFO    ] No update needed
[2026-08-29 17:53:32,211.211 INFO    ] Checking for camera pi updates...
[2026-08-29 17:53:32,245.245 INFO    ] 200
[2026-08-29 17:53:32,247.247 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:53:32,291.291 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:53:32,377.377 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:53:32,379.379 INFO    ] No camera update needed
[2026-08-29 17:53:32,381.381 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:53:32,384.384 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:53:32,389.389 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:53:32,394.394 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:53:34,434.434 INFO    ] ================================================
[2026-08-29 17:53:34,449.449 INFO    ] Launching Daemon at Sat Aug 29 17:53:34 IST 2026
[2026-08-29 17:53:34,460.460 INFO    ] ================================================
[2026-08-29 17:53:34,884.884 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:53:34
[2026-08-29 17:53:35,201.201 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:53:35,340.340 INFO    ] Initializing speech engine...
[2026-08-29 17:53:35,350.350 INFO    ] 2026-08-29 17:53:35
[2026-08-29 17:53:35,585.585 INFO    ] 2026-08-29 17:53:35
[2026-08-29 17:53:35,638.638 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:53:35,801.801 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:53:35,809.809 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:53:35,980.980 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:53:36,008.008 INFO    ] time= 29/08/2026 17:53:35
[2026-08-29 17:53:36,014.014 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:53:36,035.035 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:53:36,154.154 INFO    ] No existing commands found in stream
[2026-08-29 17:53:41,175.175 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:53:41,178.178 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-08-29 17:53:43,182.182 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:53:43,183.183 INFO    ] Checking for system updates...
[2026-08-29 17:53:43,204.204 INFO    ] 200
[2026-08-29 17:53:43,206.206 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:53:43,235.235 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:53:43,237.237 INFO    ] No update needed
[2026-08-29 17:53:43,238.238 INFO    ] Checking for camera pi updates...
[2026-08-29 17:53:43,258.258 INFO    ] 200
[2026-08-29 17:53:43,259.259 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:53:43,284.284 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:53:43,395.395 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:53:43,397.397 INFO    ] No camera update needed
[2026-08-29 17:53:43,398.398 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:53:43,399.399 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:53:43,403.403 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:53:43,406.406 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:53:45,445.445 INFO    ] ================================================
[2026-08-29 17:53:45,460.460 INFO    ] Launching Daemon at Sat Aug 29 17:53:45 IST 2026
[2026-08-29 17:53:45,470.470 INFO    ] ================================================
[2026-08-29 17:53:45,795.795 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:53:45
[2026-08-29 17:53:46,107.107 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:53:46,248.248 INFO    ] Initializing speech engine...
[2026-08-29 17:53:46,257.257 INFO    ] 2026-08-29 17:53:46
[2026-08-29 17:53:46,475.475 INFO    ] 2026-08-29 17:53:46
[2026-08-29 17:53:46,505.505 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:53:46,638.638 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:53:46,671.671 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:53:46,830.830 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:53:46,873.873 INFO    ] time= 29/08/2026 17:53:46
[2026-08-29 17:53:46,894.894 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:53:46,929.929 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:53:47,010.010 INFO    ] No existing commands found in stream
[2026-08-29 17:53:52,037.037 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:53:52,039.039 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-08-29 17:53:53,955.955 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:53:53,956.956 INFO    ] Checking for system updates...
[2026-08-29 17:53:53,976.976 INFO    ] 200
[2026-08-29 17:53:53,978.978 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:53:54,010.010 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:53:54,011.011 INFO    ] No update needed
[2026-08-29 17:53:54,012.012 INFO    ] Checking for camera pi updates...
[2026-08-29 17:53:54,032.032 INFO    ] 200
[2026-08-29 17:53:54,034.034 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:53:54,058.058 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:53:54,143.143 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:53:54,145.145 INFO    ] No camera update needed
[2026-08-29 17:53:54,146.146 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:53:54,147.147 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:53:54,150.150 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:53:54,153.153 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:53:56,192.192 INFO    ] ================================================
[2026-08-29 17:53:56,207.207 INFO    ] Launching Daemon at Sat Aug 29 17:53:56 IST 2026
[2026-08-29 17:53:56,218.218 INFO    ] ================================================
[2026-08-29 17:53:56,547.547 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:53:56
[2026-08-29 17:53:56,865.865 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:53:57,007.007 INFO    ] Initializing speech engine...
[2026-08-29 17:53:57,026.026 INFO    ] 2026-08-29 17:53:57
[2026-08-29 17:53:57,282.282 INFO    ] 2026-08-29 17:53:57
[2026-08-29 17:53:57,342.342 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:53:57,484.484 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:53:57,509.509 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:53:57,637.637 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:53:57,646.646 INFO    ] time= 29/08/2026 17:53:57
[2026-08-29 17:53:57,652.652 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:53:57,703.703 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:53:57,809.809 INFO    ] No existing commands found in stream
[2026-08-29 17:54:02,834.834 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:54:02,838.838 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-08-29 17:54:04,054.054 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:54:04,057.057 INFO    ] Checking for system updates...
[2026-08-29 17:54:04,094.094 INFO    ] 200
[2026-08-29 17:54:04,097.097 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:54:04,154.154 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:54:04,157.157 INFO    ] No update needed
[2026-08-29 17:54:04,159.159 INFO    ] Checking for camera pi updates...
[2026-08-29 17:54:04,196.196 INFO    ] 200
[2026-08-29 17:54:04,198.198 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:54:04,239.239 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:54:04,318.318 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:54:04,320.320 INFO    ] No camera update needed
[2026-08-29 17:54:04,323.323 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:54:04,325.325 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:54:04,330.330 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:54:04,336.336 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:54:06,377.377 INFO    ] ================================================
[2026-08-29 17:54:06,392.392 INFO    ] Launching Daemon at Sat Aug 29 17:54:06 IST 2026
[2026-08-29 17:54:06,403.403 INFO    ] ================================================
[2026-08-29 17:54:06,847.847 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:54:06
[2026-08-29 17:54:07,511.511 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:54:07,816.816 INFO    ] Initializing speech engine...
[2026-08-29 17:54:07,830.830 INFO    ] 2026-08-29 17:54:07
[2026-08-29 17:54:08,102.102 INFO    ] 2026-08-29 17:54:08
[2026-08-29 17:54:08,156.156 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:54:08,387.387 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:54:08,396.396 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:54:08,533.533 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:54:08,560.560 INFO    ] time= 29/08/2026 17:54:08
[2026-08-29 17:54:08,625.625 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:54:08,671.671 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:54:08,728.728 INFO    ] No existing commands found in stream
[2026-08-29 17:54:13,742.742 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:54:13,746.746 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-08-29 17:54:17,563.563 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:54:17,565.565 INFO    ] Checking for system updates...
[2026-08-29 17:54:17,585.585 INFO    ] 200
[2026-08-29 17:54:17,587.587 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:54:17,617.617 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:54:17,618.618 INFO    ] No update needed
[2026-08-29 17:54:17,619.619 INFO    ] Checking for camera pi updates...
[2026-08-29 17:54:17,640.640 INFO    ] 200
[2026-08-29 17:54:17,641.641 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:54:17,666.666 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:54:17,742.742 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:54:17,744.744 INFO    ] No camera update needed
[2026-08-29 17:54:17,745.745 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:54:17,747.747 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:54:17,750.750 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:54:17,753.753 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:54:19,792.792 INFO    ] ================================================
[2026-08-29 17:54:19,807.807 INFO    ] Launching Daemon at Sat Aug 29 17:54:19 IST 2026
[2026-08-29 17:54:19,818.818 INFO    ] ================================================
[2026-08-29 17:54:20,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:54:20
[2026-08-29 17:54:20,499.499 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:54:20,702.702 INFO    ] Initializing speech engine...
[2026-08-29 17:54:20,711.711 INFO    ] 2026-08-29 17:54:20
[2026-08-29 17:54:20,988.988 INFO    ] 2026-08-29 17:54:20
[2026-08-29 17:54:21,045.045 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:54:21,270.270 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:54:21,280.280 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:54:21,419.419 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:54:21,463.463 INFO    ] time= 29/08/2026 17:54:21
[2026-08-29 17:54:21,523.523 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:54:21,557.557 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:54:21,636.636 INFO    ] No existing commands found in stream
[2026-08-29 17:54:26,675.675 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:54:26,678.678 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 17:54:29,037.037 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:54:29,040.040 INFO    ] Checking for system updates...
[2026-08-29 17:54:29,080.080 INFO    ] 200
[2026-08-29 17:54:29,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:54:29,145.145 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:54:29,149.149 INFO    ] No update needed
[2026-08-29 17:54:29,152.152 INFO    ] Checking for camera pi updates...
[2026-08-29 17:54:29,193.193 INFO    ] 200
[2026-08-29 17:54:29,196.196 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:54:29,245.245 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:54:29,327.327 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:54:29,330.330 INFO    ] No camera update needed
[2026-08-29 17:54:29,333.333 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:54:29,336.336 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:54:29,342.342 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:54:29,349.349 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:54:31,383.383 INFO    ] ================================================
[2026-08-29 17:54:31,391.391 INFO    ] Launching Daemon at Sat Aug 29 17:54:31 IST 2026
[2026-08-29 17:54:31,398.398 INFO    ] ================================================
[2026-08-29 17:54:31,974.974 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:54:31
[2026-08-29 17:54:32,600.600 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:54:32,919.919 INFO    ] Initializing speech engine...
[2026-08-29 17:54:32,929.929 INFO    ] 2026-08-29 17:54:32
[2026-08-29 17:54:33,222.222 INFO    ] 2026-08-29 17:54:33
[2026-08-29 17:54:33,282.282 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:54:33,467.467 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:54:33,472.472 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:54:33,868.868 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:54:33,879.879 INFO    ] time= 29/08/2026 17:54:33
[2026-08-29 17:54:33,900.900 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:54:33,923.923 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:54:34,046.046 INFO    ] No existing commands found in stream
[2026-08-29 17:54:39,072.072 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:54:39,075.075 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-08-29 17:54:43,821.821 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:54:43,823.823 INFO    ] Checking for system updates...
[2026-08-29 17:54:43,848.848 INFO    ] 200
[2026-08-29 17:54:43,849.849 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:54:43,879.879 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:54:43,880.880 INFO    ] No update needed
[2026-08-29 17:54:43,882.882 INFO    ] Checking for camera pi updates...
[2026-08-29 17:54:43,902.902 INFO    ] 200
[2026-08-29 17:54:43,903.903 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:54:43,926.926 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:54:44,012.012 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:54:44,015.015 INFO    ] No camera update needed
[2026-08-29 17:54:44,017.017 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:54:44,020.020 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:54:44,026.026 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:54:44,032.032 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:54:46,073.073 INFO    ] ================================================
[2026-08-29 17:54:46,088.088 INFO    ] Launching Daemon at Sat Aug 29 17:54:46 IST 2026
[2026-08-29 17:54:46,099.099 INFO    ] ================================================
[2026-08-29 17:54:46,742.742 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:54:46
[2026-08-29 17:54:47,125.125 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:54:47,276.276 INFO    ] Initializing speech engine...
[2026-08-29 17:54:47,280.280 INFO    ] 2026-08-29 17:54:47
[2026-08-29 17:54:47,486.486 INFO    ] 2026-08-29 17:54:47
[2026-08-29 17:54:47,515.515 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:54:47,636.636 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:54:47,676.676 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:54:47,835.835 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:54:47,897.897 INFO    ] time= 29/08/2026 17:54:47
[2026-08-29 17:54:47,929.929 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:54:47,936.936 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:54:48,001.001 INFO    ] No existing commands found in stream
[2026-08-29 17:54:53,013.013 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:54:53,016.016 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-08-29 17:54:53,848.848 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:54:53,849.849 INFO    ] Checking for system updates...
[2026-08-29 17:54:53,870.870 INFO    ] 200
[2026-08-29 17:54:53,871.871 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:54:53,900.900 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:54:53,902.902 INFO    ] No update needed
[2026-08-29 17:54:53,903.903 INFO    ] Checking for camera pi updates...
[2026-08-29 17:54:53,922.922 INFO    ] 200
[2026-08-29 17:54:53,923.923 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:54:53,946.946 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:54:54,027.027 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:54:54,029.029 INFO    ] No camera update needed
[2026-08-29 17:54:54,030.030 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:54:54,031.031 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:54:54,034.034 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:54:54,037.037 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:54:56,075.075 INFO    ] ================================================
[2026-08-29 17:54:56,091.091 INFO    ] Launching Daemon at Sat Aug 29 17:54:56 IST 2026
[2026-08-29 17:54:56,102.102 INFO    ] ================================================
[2026-08-29 17:54:56,484.484 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:54:56
[2026-08-29 17:54:56,819.819 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:54:56,971.971 INFO    ] Initializing speech engine...
[2026-08-29 17:54:56,977.977 INFO    ] 2026-08-29 17:54:56
[2026-08-29 17:54:57,218.218 INFO    ] 2026-08-29 17:54:57
[2026-08-29 17:54:57,276.276 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:54:57,495.495 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:54:57,505.505 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:54:57,640.640 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:54:57,706.706 INFO    ] time= 29/08/2026 17:54:57
[2026-08-29 17:54:57,765.765 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:54:57,775.775 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:54:57,890.890 INFO    ] No existing commands found in stream
[2026-08-29 17:55:02,918.918 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:55:02,922.922 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-08-29 17:55:06,541.541 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:55:06,543.543 INFO    ] Checking for system updates...
[2026-08-29 17:55:06,564.564 INFO    ] 200
[2026-08-29 17:55:06,565.565 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:55:06,608.608 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:55:06,610.610 INFO    ] No update needed
[2026-08-29 17:55:06,612.612 INFO    ] Checking for camera pi updates...
[2026-08-29 17:55:06,638.638 INFO    ] 200
[2026-08-29 17:55:06,639.639 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:55:06,662.662 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:55:06,741.741 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:55:06,744.744 INFO    ] No camera update needed
[2026-08-29 17:55:06,747.747 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:55:06,750.750 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:55:06,756.756 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:55:06,761.761 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:55:08,803.803 INFO    ] ================================================
[2026-08-29 17:55:08,818.818 INFO    ] Launching Daemon at Sat Aug 29 17:55:08 IST 2026
[2026-08-29 17:55:08,830.830 INFO    ] ================================================
[2026-08-29 17:55:09,414.414 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:55:09
[2026-08-29 17:55:09,930.930 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:55:10,194.194 INFO    ] Initializing speech engine...
[2026-08-29 17:55:10,217.217 INFO    ] 2026-08-29 17:55:10
[2026-08-29 17:55:10,491.491 INFO    ] 2026-08-29 17:55:10
[2026-08-29 17:55:10,529.529 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:55:10,722.722 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:55:10,728.728 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:55:10,858.858 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:55:10,865.865 INFO    ] time= 29/08/2026 17:55:10
[2026-08-29 17:55:10,870.870 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:55:10,889.889 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:55:10,984.984 INFO    ] No existing commands found in stream
[2026-08-29 17:55:16,000.000 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:55:16,003.003 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 17:55:19,351.351 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:55:19,353.353 INFO    ] Checking for system updates...
[2026-08-29 17:55:19,373.373 INFO    ] 200
[2026-08-29 17:55:19,374.374 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:55:19,406.406 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:55:19,407.407 INFO    ] No update needed
[2026-08-29 17:55:19,408.408 INFO    ] Checking for camera pi updates...
[2026-08-29 17:55:19,430.430 INFO    ] 200
[2026-08-29 17:55:19,431.431 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:55:19,454.454 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:55:19,534.534 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:55:19,535.535 INFO    ] No camera update needed
[2026-08-29 17:55:19,537.537 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:55:19,538.538 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:55:19,541.541 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:55:19,544.544 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:55:21,583.583 INFO    ] ================================================
[2026-08-29 17:55:21,599.599 INFO    ] Launching Daemon at Sat Aug 29 17:55:21 IST 2026
[2026-08-29 17:55:21,611.611 INFO    ] ================================================
[2026-08-29 17:55:22,129.129 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:55:22
[2026-08-29 17:55:22,769.769 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:55:23,071.071 INFO    ] Initializing speech engine...
[2026-08-29 17:55:23,085.085 INFO    ] 2026-08-29 17:55:23
[2026-08-29 17:55:23,398.398 INFO    ] 2026-08-29 17:55:23
[2026-08-29 17:55:23,474.474 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:55:23,640.640 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:55:23,649.649 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:55:23,782.782 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:55:23,809.809 INFO    ] time= 29/08/2026 17:55:23
[2026-08-29 17:55:23,859.859 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:55:23,908.908 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:55:23,976.976 INFO    ] No existing commands found in stream
[2026-08-29 17:55:28,997.997 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:55:29,000.000 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-08-29 17:55:32,380.380 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:55:32,383.383 INFO    ] Checking for system updates...
[2026-08-29 17:55:32,421.421 INFO    ] 200
[2026-08-29 17:55:32,424.424 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:55:32,488.488 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:55:32,491.491 INFO    ] No update needed
[2026-08-29 17:55:32,494.494 INFO    ] Checking for camera pi updates...
[2026-08-29 17:55:32,535.535 INFO    ] 200
[2026-08-29 17:55:32,538.538 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:55:32,582.582 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:55:32,779.779 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:55:32,782.782 INFO    ] No camera update needed
[2026-08-29 17:55:32,785.785 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:55:32,788.788 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:55:32,794.794 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:55:32,800.800 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:55:34,841.841 INFO    ] ================================================
[2026-08-29 17:55:34,856.856 INFO    ] Launching Daemon at Sat Aug 29 17:55:34 IST 2026
[2026-08-29 17:55:34,867.867 INFO    ] ================================================
[2026-08-29 17:55:35,347.347 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:55:35
[2026-08-29 17:55:35,661.661 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:55:35,799.799 INFO    ] Initializing speech engine...
[2026-08-29 17:55:35,809.809 INFO    ] 2026-08-29 17:55:35
[2026-08-29 17:55:36,015.015 INFO    ] 2026-08-29 17:55:35
[2026-08-29 17:55:36,043.043 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:55:36,167.167 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:55:36,209.209 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:55:36,368.368 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:55:36,419.419 INFO    ] time= 29/08/2026 17:55:36
[2026-08-29 17:55:36,473.473 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:55:36,522.522 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:55:36,583.583 INFO    ] No existing commands found in stream
[2026-08-29 17:55:41,593.593 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:55:41,596.596 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-08-29 17:55:44,310.310 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:55:44,312.312 INFO    ] Checking for system updates...
[2026-08-29 17:55:44,332.332 INFO    ] 200
[2026-08-29 17:55:44,334.334 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:55:44,364.364 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:55:44,365.365 INFO    ] No update needed
[2026-08-29 17:55:44,367.367 INFO    ] Checking for camera pi updates...
[2026-08-29 17:55:44,387.387 INFO    ] 200
[2026-08-29 17:55:44,388.388 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:55:44,411.411 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:55:44,502.502 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:55:44,504.504 INFO    ] No camera update needed
[2026-08-29 17:55:44,505.505 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:55:44,506.506 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:55:44,509.509 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:55:44,512.512 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:55:46,551.551 INFO    ] ================================================
[2026-08-29 17:55:46,567.567 INFO    ] Launching Daemon at Sat Aug 29 17:55:46 IST 2026
[2026-08-29 17:55:46,578.578 INFO    ] ================================================
[2026-08-29 17:55:46,941.941 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:55:46
[2026-08-29 17:55:47,259.259 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:55:47,396.396 INFO    ] Initializing speech engine...
[2026-08-29 17:55:47,409.409 INFO    ] 2026-08-29 17:55:47
[2026-08-29 17:55:47,627.627 INFO    ] 2026-08-29 17:55:47
[2026-08-29 17:55:47,657.657 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:55:47,787.787 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:55:47,821.821 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:55:47,994.994 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:55:48,047.047 INFO    ] time= 29/08/2026 17:55:47
[2026-08-29 17:55:48,095.095 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:55:48,101.101 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:55:48,176.176 INFO    ] No existing commands found in stream
[2026-08-29 17:55:53,187.187 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:55:53,189.189 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-08-29 17:55:57,404.404 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:55:57,405.405 INFO    ] Checking for system updates...
[2026-08-29 17:55:57,426.426 INFO    ] 200
[2026-08-29 17:55:57,427.427 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:55:57,457.457 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:55:57,458.458 INFO    ] No update needed
[2026-08-29 17:55:57,459.459 INFO    ] Checking for camera pi updates...
[2026-08-29 17:55:57,478.478 INFO    ] 200
[2026-08-29 17:55:57,480.480 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:55:57,504.504 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:55:57,583.583 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:55:57,585.585 INFO    ] No camera update needed
[2026-08-29 17:55:57,588.588 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:55:57,590.590 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:55:57,596.596 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:55:57,601.601 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:55:59,640.640 INFO    ] ================================================
[2026-08-29 17:55:59,656.656 INFO    ] Launching Daemon at Sat Aug 29 17:55:59 IST 2026
[2026-08-29 17:55:59,667.667 INFO    ] ================================================
[2026-08-29 17:56:00,234.234 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:56:00
[2026-08-29 17:56:00,699.699 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:56:00,840.840 INFO    ] Initializing speech engine...
[2026-08-29 17:56:00,849.849 INFO    ] 2026-08-29 17:56:00
[2026-08-29 17:56:01,064.064 INFO    ] 2026-08-29 17:56:01
[2026-08-29 17:56:01,095.095 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:56:01,226.226 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:56:01,289.289 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:56:01,433.433 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:56:01,479.479 INFO    ] time= 29/08/2026 17:56:01
[2026-08-29 17:56:01,522.522 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:56:01,540.540 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:56:01,615.615 INFO    ] No existing commands found in stream
[2026-08-29 17:56:06,625.625 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:56:06,628.628 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-08-29 17:56:09,231.231 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:56:09,233.233 INFO    ] Checking for system updates...
[2026-08-29 17:56:09,254.254 INFO    ] 200
[2026-08-29 17:56:09,256.256 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:56:09,288.288 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:56:09,289.289 INFO    ] No update needed
[2026-08-29 17:56:09,290.290 INFO    ] Checking for camera pi updates...
[2026-08-29 17:56:09,309.309 INFO    ] 200
[2026-08-29 17:56:09,310.310 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:56:09,335.335 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:56:09,455.455 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:56:09,457.457 INFO    ] No camera update needed
[2026-08-29 17:56:09,458.458 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:56:09,459.459 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:56:09,462.462 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:56:09,465.465 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:56:11,504.504 INFO    ] ================================================
[2026-08-29 17:56:11,519.519 INFO    ] Launching Daemon at Sat Aug 29 17:56:11 IST 2026
[2026-08-29 17:56:11,529.529 INFO    ] ================================================
[2026-08-29 17:56:12,035.035 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:56:12
[2026-08-29 17:56:12,628.628 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:56:12,880.880 INFO    ] Initializing speech engine...
[2026-08-29 17:56:12,903.903 INFO    ] 2026-08-29 17:56:12
[2026-08-29 17:56:13,159.159 INFO    ] 2026-08-29 17:56:13
[2026-08-29 17:56:13,194.194 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:56:13,371.371 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:56:13,383.383 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:56:13,493.493 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:56:13,500.500 INFO    ] time= 29/08/2026 17:56:13
[2026-08-29 17:56:13,517.517 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:56:13,538.538 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:56:13,611.611 INFO    ] No existing commands found in stream
[2026-08-29 17:56:18,624.624 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:56:18,626.626 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-08-29 17:56:22,392.392 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:56:22,393.393 INFO    ] Checking for system updates...
[2026-08-29 17:56:22,413.413 INFO    ] 200
[2026-08-29 17:56:22,415.415 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:56:22,446.446 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:56:22,448.448 INFO    ] No update needed
[2026-08-29 17:56:22,449.449 INFO    ] Checking for camera pi updates...
[2026-08-29 17:56:22,468.468 INFO    ] 200
[2026-08-29 17:56:22,470.470 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:56:22,493.493 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:56:22,576.576 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:56:22,577.577 INFO    ] No camera update needed
[2026-08-29 17:56:22,578.578 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:56:22,579.579 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:56:22,582.582 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:56:22,585.585 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:56:24,624.624 INFO    ] ================================================
[2026-08-29 17:56:24,639.639 INFO    ] Launching Daemon at Sat Aug 29 17:56:24 IST 2026
[2026-08-29 17:56:24,650.650 INFO    ] ================================================
[2026-08-29 17:56:25,157.157 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:56:25
[2026-08-29 17:56:25,739.739 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:56:25,996.996 INFO    ] Initializing speech engine...
[2026-08-29 17:56:26,012.012 INFO    ] 2026-08-29 17:56:25
[2026-08-29 17:56:26,269.269 INFO    ] 2026-08-29 17:56:26
[2026-08-29 17:56:26,304.304 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:56:26,479.479 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:56:26,493.493 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:56:26,637.637 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:56:26,645.645 INFO    ] time= 29/08/2026 17:56:26
[2026-08-29 17:56:26,652.652 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:56:26,673.673 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:56:26,796.796 INFO    ] No existing commands found in stream
[2026-08-29 17:56:31,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:56:31,824.824 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-08-29 17:56:33,359.359 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:56:33,362.362 INFO    ] Checking for system updates...
[2026-08-29 17:56:33,398.398 INFO    ] 200
[2026-08-29 17:56:33,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:56:33,454.454 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:56:33,457.457 INFO    ] No update needed
[2026-08-29 17:56:33,460.460 INFO    ] Checking for camera pi updates...
[2026-08-29 17:56:33,493.493 INFO    ] 200
[2026-08-29 17:56:33,496.496 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:56:33,535.535 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:56:33,647.647 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:56:33,649.649 INFO    ] No camera update needed
[2026-08-29 17:56:33,651.651 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:56:33,654.654 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:56:33,659.659 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:56:33,664.664 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:56:35,706.706 INFO    ] ================================================
[2026-08-29 17:56:35,722.722 INFO    ] Launching Daemon at Sat Aug 29 17:56:35 IST 2026
[2026-08-29 17:56:35,733.733 INFO    ] ================================================
[2026-08-29 17:56:36,070.070 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:56:36
[2026-08-29 17:56:36,382.382 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:56:36,554.554 INFO    ] Initializing speech engine...
[2026-08-29 17:56:36,566.566 INFO    ] 2026-08-29 17:56:36
[2026-08-29 17:56:36,828.828 INFO    ] 2026-08-29 17:56:36
[2026-08-29 17:56:36,864.864 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:56:37,036.036 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:56:37,048.048 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:56:37,159.159 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:56:37,177.177 INFO    ] time= 29/08/2026 17:56:37
[2026-08-29 17:56:37,197.197 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:56:37,206.206 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:56:37,275.275 INFO    ] No existing commands found in stream
[2026-08-29 17:56:42,290.290 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:56:42,293.293 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-08-29 17:56:45,932.932 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:56:45,933.933 INFO    ] Checking for system updates...
[2026-08-29 17:56:45,953.953 INFO    ] 200
[2026-08-29 17:56:45,955.955 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:56:45,986.986 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:56:45,988.988 INFO    ] No update needed
[2026-08-29 17:56:45,989.989 INFO    ] Checking for camera pi updates...
[2026-08-29 17:56:46,009.009 INFO    ] 200
[2026-08-29 17:56:46,010.010 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:56:46,033.033 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:56:46,119.119 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:56:46,120.120 INFO    ] No camera update needed
[2026-08-29 17:56:46,122.122 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:56:46,123.123 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:56:46,126.126 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:56:46,130.130 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:56:48,169.169 INFO    ] ================================================
[2026-08-29 17:56:48,185.185 INFO    ] Launching Daemon at Sat Aug 29 17:56:48 IST 2026
[2026-08-29 17:56:48,196.196 INFO    ] ================================================
[2026-08-29 17:56:48,686.686 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:56:48
[2026-08-29 17:56:49,271.271 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:56:49,544.544 INFO    ] Initializing speech engine...
[2026-08-29 17:56:49,551.551 INFO    ] 2026-08-29 17:56:49
[2026-08-29 17:56:49,796.796 INFO    ] 2026-08-29 17:56:49
[2026-08-29 17:56:49,832.832 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:56:50,003.003 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:56:50,015.015 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:56:50,124.124 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:56:50,143.143 INFO    ] time= 29/08/2026 17:56:50
[2026-08-29 17:56:50,166.166 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:56:50,171.171 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:56:50,241.241 INFO    ] No existing commands found in stream
[2026-08-29 17:56:55,271.271 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:56:55,274.274 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-08-29 17:56:55,780.780 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:56:55,781.781 INFO    ] Checking for system updates...
[2026-08-29 17:56:55,803.803 INFO    ] 200
[2026-08-29 17:56:55,804.804 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:56:55,834.834 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:56:55,835.835 INFO    ] No update needed
[2026-08-29 17:56:55,837.837 INFO    ] Checking for camera pi updates...
[2026-08-29 17:56:55,857.857 INFO    ] 200
[2026-08-29 17:56:55,858.858 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:56:55,882.882 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:56:55,961.961 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:56:55,962.962 INFO    ] No camera update needed
[2026-08-29 17:56:55,963.963 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:56:55,964.964 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:56:55,967.967 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:56:55,970.970 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:56:58,010.010 INFO    ] ================================================
[2026-08-29 17:56:58,026.026 INFO    ] Launching Daemon at Sat Aug 29 17:56:58 IST 2026
[2026-08-29 17:56:58,037.037 INFO    ] ================================================
[2026-08-29 17:56:58,579.579 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:56:58
[2026-08-29 17:56:59,161.161 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:56:59,438.438 INFO    ] Initializing speech engine...
[2026-08-29 17:56:59,443.443 INFO    ] 2026-08-29 17:56:59
[2026-08-29 17:56:59,693.693 INFO    ] 2026-08-29 17:56:59
[2026-08-29 17:56:59,759.759 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:56:59,905.905 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:56:59,918.918 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:57:00,060.060 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:57:00,069.069 INFO    ] time= 29/08/2026 17:57:00
[2026-08-29 17:57:00,073.073 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:57:00,081.081 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:57:00,148.148 INFO    ] No existing commands found in stream
[2026-08-29 17:57:05,178.178 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:57:05,181.181 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-08-29 17:57:06,946.946 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:57:06,947.947 INFO    ] Checking for system updates...
[2026-08-29 17:57:06,969.969 INFO    ] 200
[2026-08-29 17:57:06,970.970 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:57:07,001.001 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:57:07,002.002 INFO    ] No update needed
[2026-08-29 17:57:07,004.004 INFO    ] Checking for camera pi updates...
[2026-08-29 17:57:07,024.024 INFO    ] 200
[2026-08-29 17:57:07,025.025 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:57:07,059.059 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:57:07,144.144 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:57:07,146.146 INFO    ] No camera update needed
[2026-08-29 17:57:07,148.148 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:57:07,151.151 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:57:07,156.156 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:57:07,161.161 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:57:09,200.200 INFO    ] ================================================
[2026-08-29 17:57:09,216.216 INFO    ] Launching Daemon at Sat Aug 29 17:57:09 IST 2026
[2026-08-29 17:57:09,227.227 INFO    ] ================================================
[2026-08-29 17:57:09,794.794 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:57:09
[2026-08-29 17:57:10,294.294 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:57:10,562.562 INFO    ] Initializing speech engine...
[2026-08-29 17:57:10,572.572 INFO    ] 2026-08-29 17:57:10
[2026-08-29 17:57:10,833.833 INFO    ] 2026-08-29 17:57:10
[2026-08-29 17:57:10,885.885 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:57:11,028.028 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:57:11,040.040 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:57:11,165.165 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:57:11,188.188 INFO    ] time= 29/08/2026 17:57:11
[2026-08-29 17:57:11,193.193 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:57:11,199.199 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:57:11,263.263 INFO    ] No existing commands found in stream
[2026-08-29 17:57:16,275.275 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:57:16,278.278 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-08-29 17:57:18,597.597 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:57:18,598.598 INFO    ] Checking for system updates...
[2026-08-29 17:57:18,622.622 INFO    ] 200
[2026-08-29 17:57:18,624.624 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:57:18,656.656 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:57:18,657.657 INFO    ] No update needed
[2026-08-29 17:57:18,658.658 INFO    ] Checking for camera pi updates...
[2026-08-29 17:57:18,677.677 INFO    ] 200
[2026-08-29 17:57:18,678.678 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:57:18,704.704 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:57:18,790.790 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:57:18,791.791 INFO    ] No camera update needed
[2026-08-29 17:57:18,793.793 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:57:18,794.794 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:57:18,797.797 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:57:18,799.799 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:57:20,837.837 INFO    ] ================================================
[2026-08-29 17:57:20,853.853 INFO    ] Launching Daemon at Sat Aug 29 17:57:20 IST 2026
[2026-08-29 17:57:20,864.864 INFO    ] ================================================
[2026-08-29 17:57:21,239.239 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:57:21
[2026-08-29 17:57:21,688.688 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:57:21,995.995 INFO    ] Initializing speech engine...
[2026-08-29 17:57:22,005.005 INFO    ] 2026-08-29 17:57:21
[2026-08-29 17:57:22,312.312 INFO    ] 2026-08-29 17:57:22
[2026-08-29 17:57:22,397.397 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:57:22,578.578 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:57:22,586.586 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:57:22,699.699 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:57:22,770.770 INFO    ] time= 29/08/2026 17:57:22
[2026-08-29 17:57:22,827.827 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:57:22,834.834 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:57:22,961.961 INFO    ] No existing commands found in stream
[2026-08-29 17:57:27,990.990 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:57:27,994.994 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-08-29 17:57:28,870.870 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:57:28,873.873 INFO    ] Checking for system updates...
[2026-08-29 17:57:28,914.914 INFO    ] 200
[2026-08-29 17:57:28,917.917 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:57:28,975.975 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:57:28,977.977 INFO    ] No update needed
[2026-08-29 17:57:28,980.980 INFO    ] Checking for camera pi updates...
[2026-08-29 17:57:29,015.015 INFO    ] 200
[2026-08-29 17:57:29,017.017 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:57:29,066.066 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:57:29,166.166 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:57:29,169.169 INFO    ] No camera update needed
[2026-08-29 17:57:29,171.171 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:57:29,174.174 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:57:29,179.179 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:57:29,184.184 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:57:31,225.225 INFO    ] ================================================
[2026-08-29 17:57:31,241.241 INFO    ] Launching Daemon at Sat Aug 29 17:57:31 IST 2026
[2026-08-29 17:57:31,251.251 INFO    ] ================================================
[2026-08-29 17:57:31,807.807 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:57:31
[2026-08-29 17:57:32,474.474 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:57:32,847.847 INFO    ] Initializing speech engine...
[2026-08-29 17:57:32,857.857 INFO    ] 2026-08-29 17:57:32
[2026-08-29 17:57:33,155.155 INFO    ] 2026-08-29 17:57:33
[2026-08-29 17:57:33,241.241 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:57:33,391.391 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:57:33,401.401 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:57:33,537.537 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:57:33,582.582 INFO    ] time= 29/08/2026 17:57:33
[2026-08-29 17:57:33,636.636 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:57:33,669.669 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:57:33,726.726 INFO    ] No existing commands found in stream
[2026-08-29 17:57:38,739.739 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:57:38,742.742 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-08-29 17:57:40,655.655 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:57:40,657.657 INFO    ] Checking for system updates...
[2026-08-29 17:57:40,679.679 INFO    ] 200
[2026-08-29 17:57:40,680.680 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:57:40,712.712 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:57:40,713.713 INFO    ] No update needed
[2026-08-29 17:57:40,715.715 INFO    ] Checking for camera pi updates...
[2026-08-29 17:57:40,745.745 INFO    ] 200
[2026-08-29 17:57:40,748.748 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:57:40,790.790 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:57:40,988.988 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:57:40,991.991 INFO    ] No camera update needed
[2026-08-29 17:57:40,994.994 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:57:40,996.996 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:57:41,002.002 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:57:41,008.008 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:57:43,047.047 INFO    ] ================================================
[2026-08-29 17:57:43,063.063 INFO    ] Launching Daemon at Sat Aug 29 17:57:43 IST 2026
[2026-08-29 17:57:43,074.074 INFO    ] ================================================
[2026-08-29 17:57:43,719.719 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:57:43
[2026-08-29 17:57:44,124.124 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:57:44,263.263 INFO    ] Initializing speech engine...
[2026-08-29 17:57:44,276.276 INFO    ] 2026-08-29 17:57:44
[2026-08-29 17:57:44,473.473 INFO    ] 2026-08-29 17:57:44
[2026-08-29 17:57:44,508.508 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:57:44,706.706 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:57:44,758.758 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:57:44,898.898 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:57:44,920.920 INFO    ] time= 29/08/2026 17:57:44
[2026-08-29 17:57:44,980.980 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:57:45,033.033 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:57:45,089.089 INFO    ] No existing commands found in stream
[2026-08-29 17:57:50,102.102 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:57:50,105.105 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-08-29 17:57:52,932.932 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:57:52,933.933 INFO    ] Checking for system updates...
[2026-08-29 17:57:52,955.955 INFO    ] 200
[2026-08-29 17:57:52,957.957 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:57:52,987.987 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:57:52,988.988 INFO    ] No update needed
[2026-08-29 17:57:52,989.989 INFO    ] Checking for camera pi updates...
[2026-08-29 17:57:53,008.008 INFO    ] 200
[2026-08-29 17:57:53,010.010 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:57:53,034.034 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:57:53,109.109 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:57:53,111.111 INFO    ] No camera update needed
[2026-08-29 17:57:53,112.112 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:57:53,114.114 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:57:53,116.116 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:57:53,119.119 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:57:55,157.157 INFO    ] ================================================
[2026-08-29 17:57:55,173.173 INFO    ] Launching Daemon at Sat Aug 29 17:57:55 IST 2026
[2026-08-29 17:57:55,183.183 INFO    ] ================================================
[2026-08-29 17:57:55,537.537 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:57:55
[2026-08-29 17:57:55,855.855 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:57:56,041.041 INFO    ] Initializing speech engine...
[2026-08-29 17:57:56,050.050 INFO    ] 2026-08-29 17:57:56
[2026-08-29 17:57:56,313.313 INFO    ] 2026-08-29 17:57:56
[2026-08-29 17:57:56,370.370 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:57:56,590.590 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:57:56,600.600 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:57:56,735.735 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:57:56,780.780 INFO    ] time= 29/08/2026 17:57:56
[2026-08-29 17:57:56,829.829 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:57:56,866.866 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:57:56,922.922 INFO    ] No existing commands found in stream
[2026-08-29 17:58:01,935.935 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:58:01,938.938 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 17:58:05,376.376 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:58:05,378.378 INFO    ] Checking for system updates...
[2026-08-29 17:58:05,398.398 INFO    ] 200
[2026-08-29 17:58:05,399.399 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:58:05,430.430 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:58:05,431.431 INFO    ] No update needed
[2026-08-29 17:58:05,433.433 INFO    ] Checking for camera pi updates...
[2026-08-29 17:58:05,453.453 INFO    ] 200
[2026-08-29 17:58:05,455.455 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:58:05,479.479 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:58:05,574.574 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:58:05,575.575 INFO    ] No camera update needed
[2026-08-29 17:58:05,577.577 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:58:05,578.578 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:58:05,581.581 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:58:05,584.584 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:58:07,623.623 INFO    ] ================================================
[2026-08-29 17:58:07,639.639 INFO    ] Launching Daemon at Sat Aug 29 17:58:07 IST 2026
[2026-08-29 17:58:07,649.649 INFO    ] ================================================
[2026-08-29 17:58:08,178.178 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:58:08
[2026-08-29 17:58:08,779.779 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:58:09,058.058 INFO    ] Initializing speech engine...
[2026-08-29 17:58:09,064.064 INFO    ] 2026-08-29 17:58:09
[2026-08-29 17:58:09,343.343 INFO    ] 2026-08-29 17:58:09
[2026-08-29 17:58:09,386.386 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:58:09,566.566 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:58:09,593.593 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:58:09,778.778 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:58:09,786.786 INFO    ] time= 29/08/2026 17:58:09
[2026-08-29 17:58:09,850.850 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:58:09,905.905 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:58:09,988.988 INFO    ] No existing commands found in stream
[2026-08-29 17:58:15,000.000 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:58:15,003.003 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-08-29 17:58:19,036.036 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:58:19,038.038 INFO    ] Checking for system updates...
[2026-08-29 17:58:19,059.059 INFO    ] 200
[2026-08-29 17:58:19,061.061 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:58:19,091.091 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:58:19,093.093 INFO    ] No update needed
[2026-08-29 17:58:19,094.094 INFO    ] Checking for camera pi updates...
[2026-08-29 17:58:19,113.113 INFO    ] 200
[2026-08-29 17:58:19,115.115 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:58:19,139.139 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:58:19,222.222 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:58:19,223.223 INFO    ] No camera update needed
[2026-08-29 17:58:19,225.225 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:58:19,226.226 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:58:19,229.229 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:58:19,231.231 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:58:21,269.269 INFO    ] ================================================
[2026-08-29 17:58:21,285.285 INFO    ] Launching Daemon at Sat Aug 29 17:58:21 IST 2026
[2026-08-29 17:58:21,295.295 INFO    ] ================================================
[2026-08-29 17:58:21,621.621 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:58:21
[2026-08-29 17:58:21,931.931 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:58:22,063.063 INFO    ] Initializing speech engine...
[2026-08-29 17:58:22,075.075 INFO    ] 2026-08-29 17:58:22
[2026-08-29 17:58:22,282.282 INFO    ] 2026-08-29 17:58:22
[2026-08-29 17:58:22,310.310 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:58:22,409.409 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:58:22,410.410 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:58:22,529.529 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:58:22,551.551 INFO    ] time= 29/08/2026 17:58:22
[2026-08-29 17:58:22,587.587 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:58:22,635.635 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:58:22,717.717 INFO    ] No existing commands found in stream
[2026-08-29 17:58:27,740.740 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:58:27,743.743 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-08-29 17:58:30,095.095 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:58:30,096.096 INFO    ] Checking for system updates...
[2026-08-29 17:58:30,117.117 INFO    ] 200
[2026-08-29 17:58:30,118.118 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:58:30,150.150 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:58:30,151.151 INFO    ] No update needed
[2026-08-29 17:58:30,153.153 INFO    ] Checking for camera pi updates...
[2026-08-29 17:58:30,174.174 INFO    ] 200
[2026-08-29 17:58:30,175.175 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:58:30,198.198 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:58:30,269.269 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:58:30,270.270 INFO    ] No camera update needed
[2026-08-29 17:58:30,271.271 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:58:30,273.273 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:58:30,276.276 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:58:30,278.278 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:58:32,319.319 INFO    ] ================================================
[2026-08-29 17:58:32,335.335 INFO    ] Launching Daemon at Sat Aug 29 17:58:32 IST 2026
[2026-08-29 17:58:32,347.347 INFO    ] ================================================
[2026-08-29 17:58:33,008.008 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:58:33
[2026-08-29 17:58:33,695.695 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:58:34,002.002 INFO    ] Initializing speech engine...
[2026-08-29 17:58:34,012.012 INFO    ] 2026-08-29 17:58:34
[2026-08-29 17:58:34,324.324 INFO    ] 2026-08-29 17:58:34
[2026-08-29 17:58:34,409.409 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:58:34,564.564 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:58:34,570.570 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:58:34,709.709 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:58:34,774.774 INFO    ] time= 29/08/2026 17:58:34
[2026-08-29 17:58:34,829.829 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:58:34,839.839 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:58:34,969.969 INFO    ] No existing commands found in stream
[2026-08-29 17:58:39,994.994 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:58:39,997.997 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-08-29 17:58:40,827.827 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 17:58:40,828.828 INFO    ] Checking for system updates...
[2026-08-29 17:58:40,850.850 INFO    ] 200
[2026-08-29 17:58:40,852.852 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:58:40,887.887 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:58:40,888.888 INFO    ] No update needed
[2026-08-29 17:58:40,889.889 INFO    ] Checking for camera pi updates...
[2026-08-29 17:58:40,912.912 INFO    ] 200
[2026-08-29 17:58:40,913.913 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:58:40,938.938 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:58:41,024.024 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:58:41,026.026 INFO    ] No camera update needed
[2026-08-29 17:58:41,027.027 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:58:41,029.029 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:58:41,032.032 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:58:41,035.035 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:58:43,074.074 INFO    ] ================================================
[2026-08-29 17:58:43,089.089 INFO    ] Launching Daemon at Sat Aug 29 17:58:43 IST 2026
[2026-08-29 17:58:43,100.100 INFO    ] ================================================
[2026-08-29 17:58:43,488.488 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:58:43
[2026-08-29 17:58:43,829.829 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:58:43,981.981 INFO    ] Initializing speech engine...
[2026-08-29 17:58:43,987.987 INFO    ] 2026-08-29 17:58:43
[2026-08-29 17:58:44,198.198 INFO    ] 2026-08-29 17:58:44
[2026-08-29 17:58:44,227.227 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:58:44,350.350 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:58:44,413.413 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:58:44,553.553 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:58:44,620.620 INFO    ] time= 29/08/2026 17:58:44
[2026-08-29 17:58:44,648.648 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:58:44,655.655 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:58:44,721.721 INFO    ] No existing commands found in stream
[2026-08-29 17:58:49,732.732 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:58:49,736.736 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-08-29 17:58:51,126.126 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:58:51,127.127 INFO    ] Checking for system updates...
[2026-08-29 17:58:51,148.148 INFO    ] 200
[2026-08-29 17:58:51,149.149 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:58:51,182.182 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:58:51,183.183 INFO    ] No update needed
[2026-08-29 17:58:51,185.185 INFO    ] Checking for camera pi updates...
[2026-08-29 17:58:51,208.208 INFO    ] 200
[2026-08-29 17:58:51,209.209 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:58:51,238.238 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:58:51,313.313 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:58:51,314.314 INFO    ] No camera update needed
[2026-08-29 17:58:51,316.316 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:58:51,317.317 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:58:51,320.320 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:58:51,323.323 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:58:53,361.361 INFO    ] ================================================
[2026-08-29 17:58:53,377.377 INFO    ] Launching Daemon at Sat Aug 29 17:58:53 IST 2026
[2026-08-29 17:58:53,387.387 INFO    ] ================================================
[2026-08-29 17:58:53,724.724 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:58:53
[2026-08-29 17:58:54,040.040 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:58:54,224.224 INFO    ] Initializing speech engine...
[2026-08-29 17:58:54,233.233 INFO    ] 2026-08-29 17:58:54
[2026-08-29 17:58:54,496.496 INFO    ] 2026-08-29 17:58:54
[2026-08-29 17:58:54,550.550 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:58:54,714.714 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:58:54,762.762 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:58:54,914.914 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:58:54,940.940 INFO    ] time= 29/08/2026 17:58:54
[2026-08-29 17:58:55,005.005 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:58:55,047.047 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:58:55,098.098 INFO    ] No existing commands found in stream
[2026-08-29 17:59:00,110.110 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:59:00,113.113 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-08-29 17:59:03,207.207 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 17:59:03,209.209 INFO    ] Checking for system updates...
[2026-08-29 17:59:03,249.249 INFO    ] 200
[2026-08-29 17:59:03,252.252 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:59:03,313.313 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:59:03,315.315 INFO    ] No update needed
[2026-08-29 17:59:03,318.318 INFO    ] Checking for camera pi updates...
[2026-08-29 17:59:03,356.356 INFO    ] 200
[2026-08-29 17:59:03,358.358 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:59:03,403.403 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:59:03,498.498 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:59:03,500.500 INFO    ] No camera update needed
[2026-08-29 17:59:03,503.503 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:59:03,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:59:03,511.511 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:59:03,516.516 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:59:05,557.557 INFO    ] ================================================
[2026-08-29 17:59:05,573.573 INFO    ] Launching Daemon at Sat Aug 29 17:59:05 IST 2026
[2026-08-29 17:59:05,584.584 INFO    ] ================================================
[2026-08-29 17:59:05,956.956 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:59:05
[2026-08-29 17:59:06,649.649 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:59:06,954.954 INFO    ] Initializing speech engine...
[2026-08-29 17:59:06,968.968 INFO    ] 2026-08-29 17:59:06
[2026-08-29 17:59:07,285.285 INFO    ] 2026-08-29 17:59:07
[2026-08-29 17:59:07,369.369 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:59:07,521.521 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:59:07,526.526 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:59:07,659.659 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:59:07,727.727 INFO    ] time= 29/08/2026 17:59:07
[2026-08-29 17:59:07,782.782 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:59:07,797.797 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:59:07,854.854 INFO    ] No existing commands found in stream
[2026-08-29 17:59:12,885.885 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:59:12,888.888 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-08-29 17:59:15,723.723 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 17:59:15,725.725 INFO    ] Checking for system updates...
[2026-08-29 17:59:15,747.747 INFO    ] 200
[2026-08-29 17:59:15,748.748 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:59:15,781.781 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:59:15,783.783 INFO    ] No update needed
[2026-08-29 17:59:15,784.784 INFO    ] Checking for camera pi updates...
[2026-08-29 17:59:15,805.805 INFO    ] 200
[2026-08-29 17:59:15,806.806 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:59:15,831.831 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:59:15,911.911 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:59:15,912.912 INFO    ] No camera update needed
[2026-08-29 17:59:15,914.914 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:59:15,915.915 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:59:15,918.918 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:59:15,921.921 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:59:17,962.962 INFO    ] ================================================
[2026-08-29 17:59:17,978.978 INFO    ] Launching Daemon at Sat Aug 29 17:59:17 IST 2026
[2026-08-29 17:59:17,988.988 INFO    ] ================================================
[2026-08-29 17:59:18,370.370 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:59:18
[2026-08-29 17:59:18,709.709 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:59:18,977.977 INFO    ] Initializing speech engine...
[2026-08-29 17:59:18,985.985 INFO    ] 2026-08-29 17:59:18
[2026-08-29 17:59:19,274.274 INFO    ] 2026-08-29 17:59:19
[2026-08-29 17:59:19,318.318 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:59:19,545.545 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:59:19,551.551 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:59:19,685.685 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:59:19,733.733 INFO    ] time= 29/08/2026 17:59:19
[2026-08-29 17:59:19,788.788 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:59:19,819.819 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:59:19,877.877 INFO    ] No existing commands found in stream
[2026-08-29 17:59:24,890.890 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:59:24,894.894 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-08-29 17:59:28,422.422 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 17:59:28,424.424 INFO    ] Checking for system updates...
[2026-08-29 17:59:28,445.445 INFO    ] 200
[2026-08-29 17:59:28,447.447 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:59:28,480.480 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:59:28,482.482 INFO    ] No update needed
[2026-08-29 17:59:28,483.483 INFO    ] Checking for camera pi updates...
[2026-08-29 17:59:28,504.504 INFO    ] 200
[2026-08-29 17:59:28,506.506 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:59:28,534.534 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:59:28,622.622 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 17:59:28,624.624 INFO    ] No camera update needed
[2026-08-29 17:59:28,625.625 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:59:28,626.626 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:59:28,630.630 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:59:28,633.633 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:59:30,672.672 INFO    ] ================================================
[2026-08-29 17:59:30,687.687 INFO    ] Launching Daemon at Sat Aug 29 17:59:30 IST 2026
[2026-08-29 17:59:30,698.698 INFO    ] ================================================
[2026-08-29 17:59:31,066.066 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:59:31
[2026-08-29 17:59:31,600.600 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:59:31,957.957 INFO    ] Initializing speech engine...
[2026-08-29 17:59:31,967.967 INFO    ] 2026-08-29 17:59:31
[2026-08-29 17:59:32,266.266 INFO    ] 2026-08-29 17:59:32
[2026-08-29 17:59:32,316.316 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:59:32,576.576 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:59:32,583.583 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:59:32,758.758 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:59:32,819.819 INFO    ] time= 29/08/2026 17:59:32
[2026-08-29 17:59:32,826.826 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:59:32,848.848 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:59:32,952.952 INFO    ] No existing commands found in stream
[2026-08-29 17:59:37,983.983 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:59:37,986.986 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-08-29 17:59:41,695.695 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 17:59:41,697.697 INFO    ] Checking for system updates...
[2026-08-29 17:59:41,717.717 INFO    ] 200
[2026-08-29 17:59:41,719.719 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:59:41,752.752 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:59:41,753.753 INFO    ] No update needed
[2026-08-29 17:59:41,755.755 INFO    ] Checking for camera pi updates...
[2026-08-29 17:59:41,775.775 INFO    ] 200
[2026-08-29 17:59:41,776.776 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:59:41,803.803 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:59:41,882.882 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:59:41,884.884 INFO    ] No camera update needed
[2026-08-29 17:59:41,885.885 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:59:41,886.886 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:59:41,889.889 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:59:41,893.893 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:59:43,931.931 INFO    ] ================================================
[2026-08-29 17:59:43,947.947 INFO    ] Launching Daemon at Sat Aug 29 17:59:43 IST 2026
[2026-08-29 17:59:43,958.958 INFO    ] ================================================
[2026-08-29 17:59:44,339.339 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:59:44
[2026-08-29 17:59:44,681.681 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:59:44,832.832 INFO    ] Initializing speech engine...
[2026-08-29 17:59:44,838.838 INFO    ] 2026-08-29 17:59:44
[2026-08-29 17:59:45,086.086 INFO    ] 2026-08-29 17:59:45
[2026-08-29 17:59:45,145.145 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:59:45,367.367 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:59:45,377.377 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:59:45,513.513 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:59:45,573.573 INFO    ] time= 29/08/2026 17:59:45
[2026-08-29 17:59:45,641.641 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:59:45,660.660 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:59:45,765.765 INFO    ] No existing commands found in stream
[2026-08-29 17:59:50,797.797 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 17:59:50,800.800 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-08-29 17:59:51,223.223 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 17:59:51,225.225 INFO    ] Checking for system updates...
[2026-08-29 17:59:51,247.247 INFO    ] 200
[2026-08-29 17:59:51,248.248 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:59:51,281.281 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:59:51,282.282 INFO    ] No update needed
[2026-08-29 17:59:51,284.284 INFO    ] Checking for camera pi updates...
[2026-08-29 17:59:51,304.304 INFO    ] 200
[2026-08-29 17:59:51,305.305 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 17:59:51,329.329 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 17:59:51,533.533 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 17:59:51,534.534 INFO    ] No camera update needed
[2026-08-29 17:59:51,536.536 INFO    ] Script finished. Safe exiting...
[2026-08-29 17:59:51,537.537 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 17:59:51,540.540 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 17:59:51,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 17:59:53,583.583 INFO    ] ================================================
[2026-08-29 17:59:53,598.598 INFO    ] Launching Daemon at Sat Aug 29 17:59:53 IST 2026
[2026-08-29 17:59:53,609.609 INFO    ] ================================================
[2026-08-29 17:59:53,949.949 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 17:59:53
[2026-08-29 17:59:54,261.261 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 17:59:54,393.393 INFO    ] Initializing speech engine...
[2026-08-29 17:59:54,403.403 INFO    ] 2026-08-29 17:59:54
[2026-08-29 17:59:54,628.628 INFO    ] 2026-08-29 17:59:54
[2026-08-29 17:59:54,659.659 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 17:59:54,791.791 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 17:59:54,854.854 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 17:59:54,960.960 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 17:59:55,005.005 INFO    ] time= 29/08/2026 17:59:54
[2026-08-29 17:59:55,062.062 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 17:59:55,095.095 INFO    ] Checking for existing commands in stream...
[2026-08-29 17:59:55,187.187 INFO    ] No existing commands found in stream
[2026-08-29 18:00:00,198.198 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:00:00,201.201 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-08-29 18:00:03,151.151 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:00:03,174.174 INFO    ] Checking for system updates...
[2026-08-29 18:00:03,345.345 INFO    ] 200
[2026-08-29 18:00:03,348.348 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:00:03,525.525 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:00:03,528.528 INFO    ] No update needed
[2026-08-29 18:00:03,562.562 INFO    ] Checking for camera pi updates...
[2026-08-29 18:00:03,667.667 INFO    ] 200
[2026-08-29 18:00:03,670.670 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:00:03,816.816 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:00:04,469.469 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:00:04,473.473 INFO    ] No camera update needed
[2026-08-29 18:00:04,477.477 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:00:04,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:00:04,530.530 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:00:04,535.535 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:00:06,586.586 INFO    ] ================================================
[2026-08-29 18:00:06,602.602 INFO    ] Launching Daemon at Sat Aug 29 18:00:06 IST 2026
[2026-08-29 18:00:06,613.613 INFO    ] ================================================
[2026-08-29 18:00:07,196.196 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:00:07
[2026-08-29 18:00:07,792.792 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:00:08,056.056 INFO    ] Initializing speech engine...
[2026-08-29 18:00:08,062.062 INFO    ] 2026-08-29 18:00:08
[2026-08-29 18:00:08,361.361 INFO    ] 2026-08-29 18:00:08
[2026-08-29 18:00:08,387.387 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:00:08,547.547 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:00:08,563.563 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:00:08,739.739 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:00:08,744.744 INFO    ] time= 29/08/2026 18:00:08
[2026-08-29 18:00:08,753.753 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:00:08,757.757 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:00:08,874.874 INFO    ] No existing commands found in stream
[2026-08-29 18:00:13,887.887 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:00:13,890.890 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-08-29 18:00:15,515.515 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:00:15,516.516 INFO    ] Checking for system updates...
[2026-08-29 18:00:15,538.538 INFO    ] 200
[2026-08-29 18:00:15,539.539 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:00:15,571.571 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:00:15,573.573 INFO    ] No update needed
[2026-08-29 18:00:15,574.574 INFO    ] Checking for camera pi updates...
[2026-08-29 18:00:15,593.593 INFO    ] 200
[2026-08-29 18:00:15,595.595 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:00:15,617.617 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:00:15,718.718 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:00:15,720.720 INFO    ] No camera update needed
[2026-08-29 18:00:15,723.723 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:00:15,725.725 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:00:15,730.730 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:00:15,735.735 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:00:17,776.776 INFO    ] ================================================
[2026-08-29 18:00:17,791.791 INFO    ] Launching Daemon at Sat Aug 29 18:00:17 IST 2026
[2026-08-29 18:00:17,801.801 INFO    ] ================================================
[2026-08-29 18:00:18,386.386 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:00:18
[2026-08-29 18:00:18,878.878 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:00:19,014.014 INFO    ] Initializing speech engine...
[2026-08-29 18:00:19,022.022 INFO    ] 2026-08-29 18:00:19
[2026-08-29 18:00:19,250.250 INFO    ] 2026-08-29 18:00:19
[2026-08-29 18:00:19,298.298 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:00:19,447.447 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:00:19,453.453 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:00:19,578.578 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:00:19,585.585 INFO    ] time= 29/08/2026 18:00:19
[2026-08-29 18:00:19,644.644 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:00:19,688.688 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:00:19,756.756 INFO    ] No existing commands found in stream
[2026-08-29 18:00:24,767.767 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:00:24,770.770 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 18:00:26,673.673 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:00:26,674.674 INFO    ] Checking for system updates...
[2026-08-29 18:00:26,695.695 INFO    ] 200
[2026-08-29 18:00:26,696.696 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:00:26,727.727 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:00:26,728.728 INFO    ] No update needed
[2026-08-29 18:00:26,729.729 INFO    ] Checking for camera pi updates...
[2026-08-29 18:00:26,748.748 INFO    ] 200
[2026-08-29 18:00:26,749.749 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:00:26,774.774 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:00:26,870.870 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:00:26,872.872 INFO    ] No camera update needed
[2026-08-29 18:00:26,875.875 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:00:26,877.877 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:00:26,882.882 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:00:26,887.887 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:00:28,927.927 INFO    ] ================================================
[2026-08-29 18:00:28,942.942 INFO    ] Launching Daemon at Sat Aug 29 18:00:28 IST 2026
[2026-08-29 18:00:28,953.953 INFO    ] ================================================
[2026-08-29 18:00:29,522.522 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:00:29
[2026-08-29 18:00:29,994.994 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:00:30,128.128 INFO    ] Initializing speech engine...
[2026-08-29 18:00:30,131.131 INFO    ] 2026-08-29 18:00:30
[2026-08-29 18:00:30,337.337 INFO    ] 2026-08-29 18:00:30
[2026-08-29 18:00:30,371.371 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:00:30,493.493 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:00:30,497.497 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:00:30,606.606 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:00:30,609.609 INFO    ] time= 29/08/2026 18:00:30
[2026-08-29 18:00:30,620.620 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:00:30,636.636 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:00:30,725.725 INFO    ] No existing commands found in stream
[2026-08-29 18:00:35,755.755 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:00:35,758.758 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 18:00:38,396.396 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:00:38,397.397 INFO    ] Checking for system updates...
[2026-08-29 18:00:38,418.418 INFO    ] 200
[2026-08-29 18:00:38,419.419 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:00:38,449.449 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:00:38,451.451 INFO    ] No update needed
[2026-08-29 18:00:38,452.452 INFO    ] Checking for camera pi updates...
[2026-08-29 18:00:38,472.472 INFO    ] 200
[2026-08-29 18:00:38,474.474 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:00:38,497.497 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:00:38,587.587 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:00:38,590.590 INFO    ] No camera update needed
[2026-08-29 18:00:38,592.592 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:00:38,595.595 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:00:38,601.601 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:00:38,607.607 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:00:40,649.649 INFO    ] ================================================
[2026-08-29 18:00:40,664.664 INFO    ] Launching Daemon at Sat Aug 29 18:00:40 IST 2026
[2026-08-29 18:00:40,675.675 INFO    ] ================================================
[2026-08-29 18:00:41,243.243 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:00:41
[2026-08-29 18:00:41,753.753 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:00:41,890.890 INFO    ] Initializing speech engine...
[2026-08-29 18:00:41,897.897 INFO    ] 2026-08-29 18:00:41
[2026-08-29 18:00:42,123.123 INFO    ] 2026-08-29 18:00:42
[2026-08-29 18:00:42,154.154 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:00:42,254.254 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:00:42,318.318 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:00:42,467.467 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:00:42,479.479 INFO    ] time= 29/08/2026 18:00:42
[2026-08-29 18:00:42,496.496 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:00:42,506.506 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:00:42,612.612 INFO    ] No existing commands found in stream
[2026-08-29 18:00:47,635.635 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:00:47,638.638 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-08-29 18:00:51,086.086 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:00:51,087.087 INFO    ] Checking for system updates...
[2026-08-29 18:00:51,107.107 INFO    ] 200
[2026-08-29 18:00:51,109.109 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:00:51,141.141 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:00:51,142.142 INFO    ] No update needed
[2026-08-29 18:00:51,144.144 INFO    ] Checking for camera pi updates...
[2026-08-29 18:00:51,164.164 INFO    ] 200
[2026-08-29 18:00:51,166.166 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:00:51,189.189 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:00:51,266.266 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:00:51,267.267 INFO    ] No camera update needed
[2026-08-29 18:00:51,269.269 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:00:51,270.270 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:00:51,273.273 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:00:51,275.275 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:00:53,315.315 INFO    ] ================================================
[2026-08-29 18:00:53,387.387 INFO    ] Launching Daemon at Sat Aug 29 18:00:53 IST 2026
[2026-08-29 18:00:53,397.397 INFO    ] ================================================
[2026-08-29 18:00:54,000.000 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:00:53
[2026-08-29 18:00:54,587.587 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:00:54,755.755 INFO    ] Initializing speech engine...
[2026-08-29 18:00:54,759.759 INFO    ] 2026-08-29 18:00:54
[2026-08-29 18:00:54,979.979 INFO    ] 2026-08-29 18:00:54
[2026-08-29 18:00:55,008.008 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:00:55,135.135 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:00:55,193.193 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:00:55,329.329 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:00:55,390.390 INFO    ] time= 29/08/2026 18:00:55
[2026-08-29 18:00:55,427.427 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:00:55,434.434 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:00:55,500.500 INFO    ] No existing commands found in stream
[2026-08-29 18:01:00,511.511 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:01:00,515.515 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-08-29 18:01:04,327.327 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:01:04,330.330 INFO    ] Checking for system updates...
[2026-08-29 18:01:04,368.368 INFO    ] 200
[2026-08-29 18:01:04,371.371 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:01:04,426.426 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:01:04,428.428 INFO    ] No update needed
[2026-08-29 18:01:04,431.431 INFO    ] Checking for camera pi updates...
[2026-08-29 18:01:04,466.466 INFO    ] 200
[2026-08-29 18:01:04,469.469 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:01:04,510.510 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:01:04,595.595 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:01:04,598.598 INFO    ] No camera update needed
[2026-08-29 18:01:04,600.600 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:01:04,603.603 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:01:04,609.609 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:01:04,615.615 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:01:06,657.657 INFO    ] ================================================
[2026-08-29 18:01:06,673.673 INFO    ] Launching Daemon at Sat Aug 29 18:01:06 IST 2026
[2026-08-29 18:01:06,684.684 INFO    ] ================================================
[2026-08-29 18:01:07,034.034 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:01:07
[2026-08-29 18:01:07,348.348 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:01:07,490.490 INFO    ] Initializing speech engine...
[2026-08-29 18:01:07,495.495 INFO    ] 2026-08-29 18:01:07
[2026-08-29 18:01:07,685.685 INFO    ] 2026-08-29 18:01:07
[2026-08-29 18:01:07,737.737 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:01:07,901.901 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:01:07,929.929 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:01:08,101.101 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:01:08,118.118 INFO    ] time= 29/08/2026 18:01:08
[2026-08-29 18:01:08,177.177 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:01:08,235.235 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:01:08,287.287 INFO    ] No existing commands found in stream
[2026-08-29 18:01:13,299.299 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:01:13,302.302 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-08-29 18:01:14,394.394 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:01:14,396.396 INFO    ] Checking for system updates...
[2026-08-29 18:01:14,416.416 INFO    ] 200
[2026-08-29 18:01:14,417.417 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:01:14,452.452 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:01:14,453.453 INFO    ] No update needed
[2026-08-29 18:01:14,455.455 INFO    ] Checking for camera pi updates...
[2026-08-29 18:01:14,474.474 INFO    ] 200
[2026-08-29 18:01:14,475.475 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:01:14,497.497 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:01:14,575.575 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:01:14,577.577 INFO    ] No camera update needed
[2026-08-29 18:01:14,580.580 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:01:14,582.582 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:01:14,587.587 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:01:14,592.592 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:01:16,634.634 INFO    ] ================================================
[2026-08-29 18:01:16,649.649 INFO    ] Launching Daemon at Sat Aug 29 18:01:16 IST 2026
[2026-08-29 18:01:16,660.660 INFO    ] ================================================
[2026-08-29 18:01:17,323.323 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:01:17
[2026-08-29 18:01:17,835.835 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:01:17,991.991 INFO    ] Initializing speech engine...
[2026-08-29 18:01:17,997.997 INFO    ] 2026-08-29 18:01:17
[2026-08-29 18:01:18,191.191 INFO    ] 2026-08-29 18:01:18
[2026-08-29 18:01:18,260.260 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:01:18,415.415 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:01:18,428.428 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:01:18,572.572 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:01:18,578.578 INFO    ] time= 29/08/2026 18:01:18
[2026-08-29 18:01:18,585.585 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:01:18,605.605 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:01:18,740.740 INFO    ] No existing commands found in stream
[2026-08-29 18:01:23,766.766 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:01:23,769.769 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-08-29 18:01:24,160.160 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:01:24,162.162 INFO    ] Checking for system updates...
[2026-08-29 18:01:24,184.184 INFO    ] 200
[2026-08-29 18:01:24,185.185 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:01:24,215.215 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:01:24,217.217 INFO    ] No update needed
[2026-08-29 18:01:24,218.218 INFO    ] Checking for camera pi updates...
[2026-08-29 18:01:24,238.238 INFO    ] 200
[2026-08-29 18:01:24,239.239 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:01:24,264.264 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:01:24,341.341 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:01:24,343.343 INFO    ] No camera update needed
[2026-08-29 18:01:24,344.344 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:01:24,345.345 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:01:24,348.348 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:01:24,351.351 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:01:26,391.391 INFO    ] ================================================
[2026-08-29 18:01:26,408.408 INFO    ] Launching Daemon at Sat Aug 29 18:01:26 IST 2026
[2026-08-29 18:01:26,419.419 INFO    ] ================================================
[2026-08-29 18:01:26,769.769 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:01:26
[2026-08-29 18:01:27,081.081 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:01:27,218.218 INFO    ] Initializing speech engine...
[2026-08-29 18:01:27,229.229 INFO    ] 2026-08-29 18:01:27
[2026-08-29 18:01:27,434.434 INFO    ] 2026-08-29 18:01:27
[2026-08-29 18:01:27,463.463 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:01:27,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:01:27,629.629 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:01:27,790.790 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:01:27,852.852 INFO    ] time= 29/08/2026 18:01:27
[2026-08-29 18:01:27,885.885 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:01:27,892.892 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:01:27,958.958 INFO    ] No existing commands found in stream
[2026-08-29 18:01:32,968.968 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:01:32,971.971 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-08-29 18:01:36,116.116 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:01:36,117.117 INFO    ] Checking for system updates...
[2026-08-29 18:01:36,138.138 INFO    ] 200
[2026-08-29 18:01:36,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:01:36,171.171 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:01:36,172.172 INFO    ] No update needed
[2026-08-29 18:01:36,174.174 INFO    ] Checking for camera pi updates...
[2026-08-29 18:01:36,193.193 INFO    ] 200
[2026-08-29 18:01:36,194.194 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:01:36,216.216 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:01:36,320.320 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:01:36,321.321 INFO    ] No camera update needed
[2026-08-29 18:01:36,322.322 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:01:36,324.324 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:01:36,326.326 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:01:36,329.329 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:01:38,368.368 INFO    ] ================================================
[2026-08-29 18:01:38,384.384 INFO    ] Launching Daemon at Sat Aug 29 18:01:38 IST 2026
[2026-08-29 18:01:38,395.395 INFO    ] ================================================
[2026-08-29 18:01:38,720.720 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:01:38
[2026-08-29 18:01:39,110.110 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:01:39,384.384 INFO    ] Initializing speech engine...
[2026-08-29 18:01:39,390.390 INFO    ] 2026-08-29 18:01:39
[2026-08-29 18:01:39,650.650 INFO    ] 2026-08-29 18:01:39
[2026-08-29 18:01:39,704.704 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:01:39,926.926 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:01:39,935.935 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:01:40,067.067 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:01:40,110.110 INFO    ] time= 29/08/2026 18:01:40
[2026-08-29 18:01:40,159.159 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:01:40,201.201 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:01:40,253.253 INFO    ] No existing commands found in stream
[2026-08-29 18:01:45,265.265 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:01:45,267.267 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-08-29 18:01:46,938.938 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:01:46,939.939 INFO    ] Checking for system updates...
[2026-08-29 18:01:46,961.961 INFO    ] 200
[2026-08-29 18:01:46,963.963 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:01:46,993.993 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:01:46,995.995 INFO    ] No update needed
[2026-08-29 18:01:46,996.996 INFO    ] Checking for camera pi updates...
[2026-08-29 18:01:47,018.018 INFO    ] 200
[2026-08-29 18:01:47,021.021 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:01:47,064.064 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:01:47,133.133 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:01:47,136.136 INFO    ] No camera update needed
[2026-08-29 18:01:47,139.139 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:01:47,141.141 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:01:47,147.147 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:01:47,153.153 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:01:49,195.195 INFO    ] ================================================
[2026-08-29 18:01:49,211.211 INFO    ] Launching Daemon at Sat Aug 29 18:01:49 IST 2026
[2026-08-29 18:01:49,222.222 INFO    ] ================================================
[2026-08-29 18:01:49,790.790 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:01:49
[2026-08-29 18:01:50,267.267 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:01:50,404.404 INFO    ] Initializing speech engine...
[2026-08-29 18:01:50,417.417 INFO    ] 2026-08-29 18:01:50
[2026-08-29 18:01:50,610.610 INFO    ] 2026-08-29 18:01:50
[2026-08-29 18:01:50,732.732 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:01:50,901.901 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:01:50,911.911 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:01:51,061.061 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:01:51,068.068 INFO    ] time= 29/08/2026 18:01:51
[2026-08-29 18:01:51,122.122 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:01:51,161.161 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:01:51,237.237 INFO    ] No existing commands found in stream
[2026-08-29 18:01:56,250.250 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:01:56,257.257 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-08-29 18:01:59,116.116 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:01:59,118.118 INFO    ] Checking for system updates...
[2026-08-29 18:01:59,138.138 INFO    ] 200
[2026-08-29 18:01:59,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:01:59,170.170 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:01:59,171.171 INFO    ] No update needed
[2026-08-29 18:01:59,172.172 INFO    ] Checking for camera pi updates...
[2026-08-29 18:01:59,192.192 INFO    ] 200
[2026-08-29 18:01:59,194.194 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:01:59,217.217 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:01:59,434.434 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:01:59,437.437 INFO    ] No camera update needed
[2026-08-29 18:01:59,439.439 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:01:59,441.441 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:01:59,446.446 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:01:59,451.451 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:02:01,503.503 INFO    ] ================================================
[2026-08-29 18:02:01,552.552 INFO    ] Launching Daemon at Sat Aug 29 18:02:01 IST 2026
[2026-08-29 18:02:01,572.572 INFO    ] ================================================
[2026-08-29 18:02:02,384.384 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:02:02
[2026-08-29 18:02:03,057.057 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:02:03,337.337 INFO    ] Initializing speech engine...
[2026-08-29 18:02:03,343.343 INFO    ] 2026-08-29 18:02:03
[2026-08-29 18:02:03,635.635 INFO    ] 2026-08-29 18:02:03
[2026-08-29 18:02:03,673.673 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:02:03,875.875 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:02:03,889.889 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:02:04,015.015 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:02:04,036.036 INFO    ] time= 29/08/2026 18:02:04
[2026-08-29 18:02:04,057.057 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:02:04,066.066 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:02:04,145.145 INFO    ] No existing commands found in stream
[2026-08-29 18:02:09,158.158 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:02:09,160.160 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-08-29 18:02:11,846.846 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:02:11,848.848 INFO    ] Checking for system updates...
[2026-08-29 18:02:11,873.873 INFO    ] 200
[2026-08-29 18:02:11,875.875 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:02:11,904.904 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:02:11,906.906 INFO    ] No update needed
[2026-08-29 18:02:11,907.907 INFO    ] Checking for camera pi updates...
[2026-08-29 18:02:11,926.926 INFO    ] 200
[2026-08-29 18:02:11,927.927 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:02:11,966.966 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:02:12,121.121 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:02:12,124.124 INFO    ] No camera update needed
[2026-08-29 18:02:12,126.126 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:02:12,128.128 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:02:12,134.134 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:02:12,139.139 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:02:14,178.178 INFO    ] ================================================
[2026-08-29 18:02:14,193.193 INFO    ] Launching Daemon at Sat Aug 29 18:02:14 IST 2026
[2026-08-29 18:02:14,204.204 INFO    ] ================================================
[2026-08-29 18:02:14,796.796 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:02:14
[2026-08-29 18:02:15,412.412 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:02:15,735.735 INFO    ] Initializing speech engine...
[2026-08-29 18:02:15,743.743 INFO    ] 2026-08-29 18:02:15
[2026-08-29 18:02:16,020.020 INFO    ] 2026-08-29 18:02:16
[2026-08-29 18:02:16,056.056 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:02:16,242.242 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:02:16,256.256 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:02:16,390.390 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:02:16,413.413 INFO    ] time= 29/08/2026 18:02:16
[2026-08-29 18:02:16,419.419 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:02:16,426.426 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:02:16,497.497 INFO    ] No existing commands found in stream
[2026-08-29 18:02:21,517.517 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:02:21,520.520 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-08-29 18:02:23,187.187 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:02:23,189.189 INFO    ] Checking for system updates...
[2026-08-29 18:02:23,209.209 INFO    ] 200
[2026-08-29 18:02:23,211.211 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:02:23,240.240 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:02:23,242.242 INFO    ] No update needed
[2026-08-29 18:02:23,243.243 INFO    ] Checking for camera pi updates...
[2026-08-29 18:02:23,264.264 INFO    ] 200
[2026-08-29 18:02:23,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:02:23,287.287 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:02:23,365.365 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:02:23,366.366 INFO    ] No camera update needed
[2026-08-29 18:02:23,368.368 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:02:23,369.369 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:02:23,372.372 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:02:23,374.374 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:02:25,413.413 INFO    ] ================================================
[2026-08-29 18:02:25,429.429 INFO    ] Launching Daemon at Sat Aug 29 18:02:25 IST 2026
[2026-08-29 18:02:25,439.439 INFO    ] ================================================
[2026-08-29 18:02:25,798.798 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:02:25
[2026-08-29 18:02:26,110.110 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:02:26,252.252 INFO    ] Initializing speech engine...
[2026-08-29 18:02:26,257.257 INFO    ] 2026-08-29 18:02:26
[2026-08-29 18:02:26,478.478 INFO    ] 2026-08-29 18:02:26
[2026-08-29 18:02:26,542.542 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:02:26,716.716 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:02:26,726.726 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:02:26,860.860 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:02:26,898.898 INFO    ] time= 29/08/2026 18:02:26
[2026-08-29 18:02:26,952.952 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:02:26,997.997 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:02:27,050.050 INFO    ] No existing commands found in stream
[2026-08-29 18:02:32,061.061 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:02:32,063.063 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-08-29 18:02:34,936.936 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:02:34,937.937 INFO    ] Checking for system updates...
[2026-08-29 18:02:34,958.958 INFO    ] 200
[2026-08-29 18:02:34,959.959 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:02:34,989.989 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:02:34,990.990 INFO    ] No update needed
[2026-08-29 18:02:34,992.992 INFO    ] Checking for camera pi updates...
[2026-08-29 18:02:35,011.011 INFO    ] 200
[2026-08-29 18:02:35,012.012 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:02:35,035.035 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:02:35,115.115 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:02:35,117.117 INFO    ] No camera update needed
[2026-08-29 18:02:35,118.118 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:02:35,119.119 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:02:35,122.122 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:02:35,125.125 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:02:37,165.165 INFO    ] ================================================
[2026-08-29 18:02:37,180.180 INFO    ] Launching Daemon at Sat Aug 29 18:02:37 IST 2026
[2026-08-29 18:02:37,191.191 INFO    ] ================================================
[2026-08-29 18:02:37,565.565 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:02:37
[2026-08-29 18:02:37,902.902 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:02:38,054.054 INFO    ] Initializing speech engine...
[2026-08-29 18:02:38,059.059 INFO    ] 2026-08-29 18:02:38
[2026-08-29 18:02:38,269.269 INFO    ] 2026-08-29 18:02:38
[2026-08-29 18:02:38,298.298 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:02:38,423.423 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:02:38,461.461 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:02:38,626.626 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:02:38,689.689 INFO    ] time= 29/08/2026 18:02:38
[2026-08-29 18:02:38,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:02:38,731.731 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:02:38,797.797 INFO    ] No existing commands found in stream
[2026-08-29 18:02:43,808.808 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:02:43,811.811 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-08-29 18:02:46,552.552 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:02:46,553.553 INFO    ] Checking for system updates...
[2026-08-29 18:02:46,574.574 INFO    ] 200
[2026-08-29 18:02:46,575.575 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:02:46,606.606 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:02:46,607.607 INFO    ] No update needed
[2026-08-29 18:02:46,608.608 INFO    ] Checking for camera pi updates...
[2026-08-29 18:02:46,628.628 INFO    ] 200
[2026-08-29 18:02:46,629.629 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:02:46,653.653 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:02:46,730.730 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:02:46,732.732 INFO    ] No camera update needed
[2026-08-29 18:02:46,733.733 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:02:46,735.735 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:02:46,738.738 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:02:46,741.741 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:02:48,781.781 INFO    ] ================================================
[2026-08-29 18:02:48,796.796 INFO    ] Launching Daemon at Sat Aug 29 18:02:48 IST 2026
[2026-08-29 18:02:48,808.808 INFO    ] ================================================
[2026-08-29 18:02:49,286.286 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:02:49
[2026-08-29 18:02:49,952.952 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:02:50,255.255 INFO    ] Initializing speech engine...
[2026-08-29 18:02:50,263.263 INFO    ] 2026-08-29 18:02:50
[2026-08-29 18:02:50,542.542 INFO    ] 2026-08-29 18:02:50
[2026-08-29 18:02:50,600.600 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:02:50,826.826 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:02:50,835.835 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:02:50,975.975 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:02:51,051.051 INFO    ] time= 29/08/2026 18:02:50
[2026-08-29 18:02:51,107.107 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:02:51,114.114 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:02:51,226.226 INFO    ] No existing commands found in stream
[2026-08-29 18:02:56,259.259 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:02:56,262.262 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-08-29 18:02:57,257.257 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:02:57,258.258 INFO    ] Checking for system updates...
[2026-08-29 18:02:57,279.279 INFO    ] 200
[2026-08-29 18:02:57,281.281 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:02:57,311.311 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:02:57,313.313 INFO    ] No update needed
[2026-08-29 18:02:57,314.314 INFO    ] Checking for camera pi updates...
[2026-08-29 18:02:57,335.335 INFO    ] 200
[2026-08-29 18:02:57,336.336 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:02:57,362.362 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:02:57,464.464 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:02:57,465.465 INFO    ] No camera update needed
[2026-08-29 18:02:57,467.467 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:02:57,468.468 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:02:57,471.471 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:02:57,474.474 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:02:59,514.514 INFO    ] ================================================
[2026-08-29 18:02:59,529.529 INFO    ] Launching Daemon at Sat Aug 29 18:02:59 IST 2026
[2026-08-29 18:02:59,541.541 INFO    ] ================================================
[2026-08-29 18:02:59,870.870 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:02:59
[2026-08-29 18:03:00,180.180 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:03:00,327.327 INFO    ] Initializing speech engine...
[2026-08-29 18:03:00,331.331 INFO    ] 2026-08-29 18:03:00
[2026-08-29 18:03:00,545.545 INFO    ] 2026-08-29 18:03:00
[2026-08-29 18:03:00,621.621 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:03:00,786.786 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:03:00,791.791 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:03:00,921.921 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:03:00,943.943 INFO    ] time= 29/08/2026 18:03:00
[2026-08-29 18:03:00,997.997 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:03:01,046.046 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:03:01,107.107 INFO    ] No existing commands found in stream
[2026-08-29 18:03:06,119.119 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:03:06,122.122 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-08-29 18:03:09,550.550 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:03:09,552.552 INFO    ] Checking for system updates...
[2026-08-29 18:03:09,572.572 INFO    ] 200
[2026-08-29 18:03:09,574.574 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:03:09,604.604 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:03:09,605.605 INFO    ] No update needed
[2026-08-29 18:03:09,606.606 INFO    ] Checking for camera pi updates...
[2026-08-29 18:03:09,626.626 INFO    ] 200
[2026-08-29 18:03:09,627.627 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:03:09,652.652 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:03:09,746.746 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:03:09,747.747 INFO    ] No camera update needed
[2026-08-29 18:03:09,749.749 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:03:09,750.750 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:03:09,753.753 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:03:09,756.756 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:03:11,796.796 INFO    ] ================================================
[2026-08-29 18:03:11,811.811 INFO    ] Launching Daemon at Sat Aug 29 18:03:11 IST 2026
[2026-08-29 18:03:11,821.821 INFO    ] ================================================
[2026-08-29 18:03:12,332.332 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:03:12
[2026-08-29 18:03:12,916.916 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:03:13,185.185 INFO    ] Initializing speech engine...
[2026-08-29 18:03:13,194.194 INFO    ] 2026-08-29 18:03:13
[2026-08-29 18:03:13,440.440 INFO    ] 2026-08-29 18:03:13
[2026-08-29 18:03:13,475.475 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:03:13,669.669 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:03:13,681.681 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:03:13,803.803 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:03:13,809.809 INFO    ] time= 29/08/2026 18:03:13
[2026-08-29 18:03:13,815.815 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:03:13,861.861 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:03:13,996.996 INFO    ] No existing commands found in stream
[2026-08-29 18:03:19,015.015 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:03:19,018.018 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-08-29 18:03:20,893.893 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:03:20,894.894 INFO    ] Checking for system updates...
[2026-08-29 18:03:20,915.915 INFO    ] 200
[2026-08-29 18:03:20,916.916 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:03:20,946.946 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:03:20,947.947 INFO    ] No update needed
[2026-08-29 18:03:20,949.949 INFO    ] Checking for camera pi updates...
[2026-08-29 18:03:20,968.968 INFO    ] 200
[2026-08-29 18:03:20,969.969 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:03:20,994.994 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:03:21,091.091 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:03:21,093.093 INFO    ] No camera update needed
[2026-08-29 18:03:21,094.094 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:03:21,095.095 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:03:21,098.098 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:03:21,101.101 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:03:23,139.139 INFO    ] ================================================
[2026-08-29 18:03:23,154.154 INFO    ] Launching Daemon at Sat Aug 29 18:03:23 IST 2026
[2026-08-29 18:03:23,165.165 INFO    ] ================================================
[2026-08-29 18:03:23,532.532 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:03:23
[2026-08-29 18:03:23,845.845 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:03:24,030.030 INFO    ] Initializing speech engine...
[2026-08-29 18:03:24,040.040 INFO    ] 2026-08-29 18:03:24
[2026-08-29 18:03:24,290.290 INFO    ] 2026-08-29 18:03:24
[2026-08-29 18:03:24,325.325 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:03:24,495.495 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:03:24,508.508 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:03:24,649.649 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:03:24,657.657 INFO    ] time= 29/08/2026 18:03:24
[2026-08-29 18:03:24,663.663 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:03:24,706.706 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:03:24,824.824 INFO    ] No existing commands found in stream
[2026-08-29 18:03:29,849.849 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:03:29,852.852 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-08-29 18:03:33,735.735 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:03:33,738.738 INFO    ] Checking for system updates...
[2026-08-29 18:03:33,775.775 INFO    ] 200
[2026-08-29 18:03:33,777.777 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:03:33,838.838 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:03:33,840.840 INFO    ] No update needed
[2026-08-29 18:03:33,843.843 INFO    ] Checking for camera pi updates...
[2026-08-29 18:03:33,878.878 INFO    ] 200
[2026-08-29 18:03:33,880.880 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:03:33,923.923 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:03:34,009.009 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:03:34,011.011 INFO    ] No camera update needed
[2026-08-29 18:03:34,014.014 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:03:34,017.017 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:03:34,023.023 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:03:34,029.029 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:03:36,070.070 INFO    ] ================================================
[2026-08-29 18:03:36,085.085 INFO    ] Launching Daemon at Sat Aug 29 18:03:36 IST 2026
[2026-08-29 18:03:36,096.096 INFO    ] ================================================
[2026-08-29 18:03:36,491.491 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:03:36
[2026-08-29 18:03:36,830.830 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:03:36,981.981 INFO    ] Initializing speech engine...
[2026-08-29 18:03:36,987.987 INFO    ] 2026-08-29 18:03:36
[2026-08-29 18:03:37,195.195 INFO    ] 2026-08-29 18:03:37
[2026-08-29 18:03:37,224.224 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:03:37,346.346 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:03:37,389.389 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:03:37,564.564 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:03:37,617.617 INFO    ] time= 29/08/2026 18:03:37
[2026-08-29 18:03:37,640.640 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:03:37,646.646 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:03:37,713.713 INFO    ] No existing commands found in stream
[2026-08-29 18:03:42,723.723 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:03:42,726.726 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-08-29 18:03:45,560.560 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:03:45,562.562 INFO    ] Checking for system updates...
[2026-08-29 18:03:45,583.583 INFO    ] 200
[2026-08-29 18:03:45,585.585 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:03:45,615.615 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:03:45,616.616 INFO    ] No update needed
[2026-08-29 18:03:45,617.617 INFO    ] Checking for camera pi updates...
[2026-08-29 18:03:45,637.637 INFO    ] 200
[2026-08-29 18:03:45,638.638 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:03:45,662.662 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:03:45,748.748 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:03:45,750.750 INFO    ] No camera update needed
[2026-08-29 18:03:45,753.753 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:03:45,756.756 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:03:45,762.762 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:03:45,768.768 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:03:47,808.808 INFO    ] ================================================
[2026-08-29 18:03:47,824.824 INFO    ] Launching Daemon at Sat Aug 29 18:03:47 IST 2026
[2026-08-29 18:03:47,834.834 INFO    ] ================================================
[2026-08-29 18:03:48,418.418 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:03:48
[2026-08-29 18:03:48,895.895 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:03:49,038.038 INFO    ] Initializing speech engine...
[2026-08-29 18:03:49,042.042 INFO    ] 2026-08-29 18:03:49
[2026-08-29 18:03:49,259.259 INFO    ] 2026-08-29 18:03:49
[2026-08-29 18:03:49,339.339 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:03:49,492.492 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:03:49,497.497 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:03:49,629.629 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:03:49,682.682 INFO    ] time= 29/08/2026 18:03:49
[2026-08-29 18:03:49,741.741 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:03:49,762.762 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:03:49,820.820 INFO    ] No existing commands found in stream
[2026-08-29 18:03:54,832.832 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:03:54,835.835 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-08-29 18:03:55,738.738 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:03:55,740.740 INFO    ] Checking for system updates...
[2026-08-29 18:03:55,760.760 INFO    ] 200
[2026-08-29 18:03:55,761.761 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:03:55,791.791 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:03:55,793.793 INFO    ] No update needed
[2026-08-29 18:03:55,795.795 INFO    ] Checking for camera pi updates...
[2026-08-29 18:03:55,814.814 INFO    ] 200
[2026-08-29 18:03:55,815.815 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:03:55,839.839 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:03:55,943.943 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:03:55,944.944 INFO    ] No camera update needed
[2026-08-29 18:03:55,946.946 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:03:55,947.947 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:03:55,950.950 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:03:55,953.953 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:03:57,991.991 INFO    ] ================================================
[2026-08-29 18:03:58,007.007 INFO    ] Launching Daemon at Sat Aug 29 18:03:58 IST 2026
[2026-08-29 18:03:58,017.017 INFO    ] ================================================
[2026-08-29 18:03:58,450.450 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:03:58
[2026-08-29 18:03:59,034.034 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:03:59,305.305 INFO    ] Initializing speech engine...
[2026-08-29 18:03:59,314.314 INFO    ] 2026-08-29 18:03:59
[2026-08-29 18:03:59,562.562 INFO    ] 2026-08-29 18:03:59
[2026-08-29 18:03:59,597.597 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:03:59,769.769 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:03:59,781.781 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:03:59,921.921 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:03:59,929.929 INFO    ] time= 29/08/2026 18:03:59
[2026-08-29 18:03:59,937.937 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:03:59,982.982 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:04:00,094.094 INFO    ] No existing commands found in stream
[2026-08-29 18:04:05,119.119 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:04:05,122.122 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-08-29 18:04:06,942.942 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:04:06,943.943 INFO    ] Checking for system updates...
[2026-08-29 18:04:06,964.964 INFO    ] 200
[2026-08-29 18:04:06,965.965 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:04:06,995.995 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:04:06,996.996 INFO    ] No update needed
[2026-08-29 18:04:06,998.998 INFO    ] Checking for camera pi updates...
[2026-08-29 18:04:07,017.017 INFO    ] 200
[2026-08-29 18:04:07,018.018 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:04:07,044.044 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:04:07,130.130 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:04:07,131.131 INFO    ] No camera update needed
[2026-08-29 18:04:07,132.132 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:04:07,134.134 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:04:07,137.137 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:04:07,139.139 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:04:09,178.178 INFO    ] ================================================
[2026-08-29 18:04:09,195.195 INFO    ] Launching Daemon at Sat Aug 29 18:04:09 IST 2026
[2026-08-29 18:04:09,207.207 INFO    ] ================================================
[2026-08-29 18:04:09,574.574 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:04:09
[2026-08-29 18:04:09,885.885 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:04:10,016.016 INFO    ] Initializing speech engine...
[2026-08-29 18:04:10,019.019 INFO    ] 2026-08-29 18:04:10
[2026-08-29 18:04:10,236.236 INFO    ] 2026-08-29 18:04:10
[2026-08-29 18:04:10,289.289 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:04:10,456.456 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:04:10,464.464 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:04:10,627.627 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:04:10,663.663 INFO    ] time= 29/08/2026 18:04:10
[2026-08-29 18:04:10,669.669 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:04:10,687.687 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:04:10,803.803 INFO    ] No existing commands found in stream
[2026-08-29 18:04:15,825.825 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:04:15,828.828 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-08-29 18:04:18,544.544 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:04:18,545.545 INFO    ] Checking for system updates...
[2026-08-29 18:04:18,566.566 INFO    ] 200
[2026-08-29 18:04:18,567.567 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:04:18,598.598 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:04:18,599.599 INFO    ] No update needed
[2026-08-29 18:04:18,600.600 INFO    ] Checking for camera pi updates...
[2026-08-29 18:04:18,622.622 INFO    ] 200
[2026-08-29 18:04:18,623.623 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:04:18,646.646 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:04:18,727.727 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:04:18,728.728 INFO    ] No camera update needed
[2026-08-29 18:04:18,730.730 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:04:18,731.731 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:04:18,734.734 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:04:18,736.736 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:04:20,775.775 INFO    ] ================================================
[2026-08-29 18:04:20,790.790 INFO    ] Launching Daemon at Sat Aug 29 18:04:20 IST 2026
[2026-08-29 18:04:20,802.802 INFO    ] ================================================
[2026-08-29 18:04:21,181.181 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:04:21
[2026-08-29 18:04:21,515.515 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:04:21,664.664 INFO    ] Initializing speech engine...
[2026-08-29 18:04:21,670.670 INFO    ] 2026-08-29 18:04:21
[2026-08-29 18:04:21,877.877 INFO    ] 2026-08-29 18:04:21
[2026-08-29 18:04:21,905.905 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:04:22,028.028 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:04:22,091.091 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:04:22,220.220 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:04:22,292.292 INFO    ] time= 29/08/2026 18:04:22
[2026-08-29 18:04:22,319.319 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:04:22,325.325 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:04:22,391.391 INFO    ] No existing commands found in stream
[2026-08-29 18:04:27,402.402 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:04:27,405.405 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-08-29 18:04:30,320.320 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:04:30,322.322 INFO    ] Checking for system updates...
[2026-08-29 18:04:30,344.344 INFO    ] 200
[2026-08-29 18:04:30,346.346 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:04:30,377.377 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:04:30,379.379 INFO    ] No update needed
[2026-08-29 18:04:30,380.380 INFO    ] Checking for camera pi updates...
[2026-08-29 18:04:30,400.400 INFO    ] 200
[2026-08-29 18:04:30,402.402 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:04:30,426.426 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:04:30,528.528 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:04:30,530.530 INFO    ] No camera update needed
[2026-08-29 18:04:30,533.533 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:04:30,536.536 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:04:30,541.541 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:04:30,546.546 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:04:32,587.587 INFO    ] ================================================
[2026-08-29 18:04:32,603.603 INFO    ] Launching Daemon at Sat Aug 29 18:04:32 IST 2026
[2026-08-29 18:04:32,614.614 INFO    ] ================================================
[2026-08-29 18:04:33,213.213 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:04:33
[2026-08-29 18:04:33,579.579 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:04:33,721.721 INFO    ] Initializing speech engine...
[2026-08-29 18:04:33,726.726 INFO    ] 2026-08-29 18:04:33
[2026-08-29 18:04:33,939.939 INFO    ] 2026-08-29 18:04:33
[2026-08-29 18:04:34,024.024 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:04:34,175.175 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:04:34,184.184 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:04:34,322.322 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:04:34,377.377 INFO    ] time= 29/08/2026 18:04:34
[2026-08-29 18:04:34,433.433 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:04:34,460.460 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:04:34,514.514 INFO    ] No existing commands found in stream
[2026-08-29 18:04:39,525.525 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:04:39,528.528 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-08-29 18:04:43,161.161 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:04:43,163.163 INFO    ] Checking for system updates...
[2026-08-29 18:04:43,183.183 INFO    ] 200
[2026-08-29 18:04:43,185.185 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:04:43,216.216 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:04:43,218.218 INFO    ] No update needed
[2026-08-29 18:04:43,219.219 INFO    ] Checking for camera pi updates...
[2026-08-29 18:04:43,239.239 INFO    ] 200
[2026-08-29 18:04:43,240.240 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:04:43,263.263 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:04:43,350.350 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:04:43,351.351 INFO    ] No camera update needed
[2026-08-29 18:04:43,353.353 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:04:43,354.354 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:04:43,357.357 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:04:43,359.359 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:04:45,397.397 INFO    ] ================================================
[2026-08-29 18:04:45,413.413 INFO    ] Launching Daemon at Sat Aug 29 18:04:45 IST 2026
[2026-08-29 18:04:45,425.425 INFO    ] ================================================
[2026-08-29 18:04:45,770.770 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:04:45
[2026-08-29 18:04:46,108.108 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:04:46,245.245 INFO    ] Initializing speech engine...
[2026-08-29 18:04:46,255.255 INFO    ] 2026-08-29 18:04:46
[2026-08-29 18:04:46,440.440 INFO    ] 2026-08-29 18:04:46
[2026-08-29 18:04:46,492.492 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:04:46,634.634 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:04:46,646.646 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:04:46,785.785 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:04:46,792.792 INFO    ] time= 29/08/2026 18:04:46
[2026-08-29 18:04:46,801.801 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:04:46,845.845 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:04:46,970.970 INFO    ] No existing commands found in stream
[2026-08-29 18:04:51,998.998 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:04:52,001.001 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-08-29 18:04:55,896.896 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:04:55,897.897 INFO    ] Checking for system updates...
[2026-08-29 18:04:55,918.918 INFO    ] 200
[2026-08-29 18:04:55,919.919 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:04:55,951.951 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:04:55,953.953 INFO    ] No update needed
[2026-08-29 18:04:55,954.954 INFO    ] Checking for camera pi updates...
[2026-08-29 18:04:55,973.973 INFO    ] 200
[2026-08-29 18:04:55,974.974 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:04:55,998.998 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:04:56,079.079 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:04:56,081.081 INFO    ] No camera update needed
[2026-08-29 18:04:56,082.082 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:04:56,083.083 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:04:56,086.086 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:04:56,089.089 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:04:58,129.129 INFO    ] ================================================
[2026-08-29 18:04:58,144.144 INFO    ] Launching Daemon at Sat Aug 29 18:04:58 IST 2026
[2026-08-29 18:04:58,155.155 INFO    ] ================================================
[2026-08-29 18:04:58,472.472 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:04:58
[2026-08-29 18:04:58,785.785 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:04:58,915.915 INFO    ] Initializing speech engine...
[2026-08-29 18:04:58,918.918 INFO    ] 2026-08-29 18:04:58
[2026-08-29 18:04:59,134.134 INFO    ] 2026-08-29 18:04:59
[2026-08-29 18:04:59,209.209 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:04:59,361.361 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:04:59,370.370 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:04:59,502.502 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:04:59,536.536 INFO    ] time= 29/08/2026 18:04:59
[2026-08-29 18:04:59,590.590 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:04:59,634.634 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:04:59,686.686 INFO    ] No existing commands found in stream
[2026-08-29 18:05:04,697.697 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:05:04,700.700 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-08-29 18:05:05,575.575 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:05:05,577.577 INFO    ] Checking for system updates...
[2026-08-29 18:05:05,615.615 INFO    ] 200
[2026-08-29 18:05:05,617.617 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:05:05,647.647 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:05:05,648.648 INFO    ] No update needed
[2026-08-29 18:05:05,649.649 INFO    ] Checking for camera pi updates...
[2026-08-29 18:05:05,670.670 INFO    ] 200
[2026-08-29 18:05:05,671.671 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:05:05,696.696 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:05:05,790.790 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:05:05,791.791 INFO    ] No camera update needed
[2026-08-29 18:05:05,793.793 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:05:05,794.794 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:05:05,797.797 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:05:05,799.799 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:05:07,841.841 INFO    ] ================================================
[2026-08-29 18:05:07,856.856 INFO    ] Launching Daemon at Sat Aug 29 18:05:07 IST 2026
[2026-08-29 18:05:07,867.867 INFO    ] ================================================
[2026-08-29 18:05:08,197.197 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:05:08
[2026-08-29 18:05:08,515.515 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:05:08,660.660 INFO    ] Initializing speech engine...
[2026-08-29 18:05:08,665.665 INFO    ] 2026-08-29 18:05:08
[2026-08-29 18:05:08,897.897 INFO    ] 2026-08-29 18:05:08
[2026-08-29 18:05:08,952.952 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:05:09,114.114 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:05:09,122.122 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:05:09,278.278 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:05:09,322.322 INFO    ] time= 29/08/2026 18:05:09
[2026-08-29 18:05:09,328.328 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:05:09,349.349 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:05:09,453.453 INFO    ] No existing commands found in stream
[2026-08-29 18:05:14,483.483 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:05:14,486.486 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-08-29 18:05:15,915.915 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:05:15,917.917 INFO    ] Checking for system updates...
[2026-08-29 18:05:15,937.937 INFO    ] 200
[2026-08-29 18:05:15,938.938 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:05:15,968.968 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:05:15,970.970 INFO    ] No update needed
[2026-08-29 18:05:15,971.971 INFO    ] Checking for camera pi updates...
[2026-08-29 18:05:15,993.993 INFO    ] 200
[2026-08-29 18:05:15,994.994 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:05:16,019.019 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:05:16,109.109 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:05:16,111.111 INFO    ] No camera update needed
[2026-08-29 18:05:16,112.112 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:05:16,113.113 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:05:16,116.116 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:05:16,119.119 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:05:18,159.159 INFO    ] ================================================
[2026-08-29 18:05:18,173.173 INFO    ] Launching Daemon at Sat Aug 29 18:05:18 IST 2026
[2026-08-29 18:05:18,184.184 INFO    ] ================================================
[2026-08-29 18:05:18,536.536 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:05:18
[2026-08-29 18:05:18,869.869 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:05:19,139.139 INFO    ] Initializing speech engine...
[2026-08-29 18:05:19,148.148 INFO    ] 2026-08-29 18:05:19
[2026-08-29 18:05:19,396.396 INFO    ] 2026-08-29 18:05:19
[2026-08-29 18:05:19,430.430 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:05:19,614.614 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:05:19,629.629 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:05:19,757.757 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:05:19,766.766 INFO    ] time= 29/08/2026 18:05:19
[2026-08-29 18:05:19,774.774 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:05:19,814.814 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:05:19,917.917 INFO    ] No existing commands found in stream
[2026-08-29 18:05:24,947.947 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:05:24,950.950 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-08-29 18:05:28,926.926 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:05:28,927.927 INFO    ] Checking for system updates...
[2026-08-29 18:05:28,948.948 INFO    ] 200
[2026-08-29 18:05:28,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:05:28,981.981 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:05:28,983.983 INFO    ] No update needed
[2026-08-29 18:05:28,984.984 INFO    ] Checking for camera pi updates...
[2026-08-29 18:05:29,005.005 INFO    ] 200
[2026-08-29 18:05:29,006.006 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:05:29,031.031 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:05:29,127.127 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:05:29,128.128 INFO    ] No camera update needed
[2026-08-29 18:05:29,130.130 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:05:29,131.131 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:05:29,134.134 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:05:29,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:05:31,175.175 INFO    ] ================================================
[2026-08-29 18:05:31,190.190 INFO    ] Launching Daemon at Sat Aug 29 18:05:31 IST 2026
[2026-08-29 18:05:31,201.201 INFO    ] ================================================
[2026-08-29 18:05:31,701.701 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:05:31
[2026-08-29 18:05:32,320.320 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:05:32,603.603 INFO    ] Initializing speech engine...
[2026-08-29 18:05:32,618.618 INFO    ] 2026-08-29 18:05:32
[2026-08-29 18:05:32,884.884 INFO    ] 2026-08-29 18:05:32
[2026-08-29 18:05:32,920.920 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:05:33,091.091 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:05:33,105.105 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:05:33,246.246 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:05:33,254.254 INFO    ] time= 29/08/2026 18:05:33
[2026-08-29 18:05:33,260.260 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:05:33,287.287 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:05:33,405.405 INFO    ] No existing commands found in stream
[2026-08-29 18:05:38,430.430 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:05:38,433.433 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-08-29 18:05:39,887.887 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:05:39,889.889 INFO    ] Checking for system updates...
[2026-08-29 18:05:39,911.911 INFO    ] 200
[2026-08-29 18:05:39,912.912 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:05:39,944.944 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:05:39,946.946 INFO    ] No update needed
[2026-08-29 18:05:39,947.947 INFO    ] Checking for camera pi updates...
[2026-08-29 18:05:39,966.966 INFO    ] 200
[2026-08-29 18:05:39,968.968 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:05:39,992.992 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:05:40,071.071 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:05:40,072.072 INFO    ] No camera update needed
[2026-08-29 18:05:40,073.073 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:05:40,075.075 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:05:40,078.078 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:05:40,080.080 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:05:42,112.112 INFO    ] ================================================
[2026-08-29 18:05:42,127.127 INFO    ] Launching Daemon at Sat Aug 29 18:05:42 IST 2026
[2026-08-29 18:05:42,137.137 INFO    ] ================================================
[2026-08-29 18:05:42,723.723 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:05:42
[2026-08-29 18:05:43,323.323 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:05:43,602.602 INFO    ] Initializing speech engine...
[2026-08-29 18:05:43,608.608 INFO    ] 2026-08-29 18:05:43
[2026-08-29 18:05:43,870.870 INFO    ] 2026-08-29 18:05:43
[2026-08-29 18:05:43,926.926 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:05:44,147.147 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:05:44,156.156 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:05:44,267.267 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:05:44,311.311 INFO    ] time= 29/08/2026 18:05:44
[2026-08-29 18:05:44,335.335 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:05:44,343.343 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:05:44,430.430 INFO    ] No existing commands found in stream
[2026-08-29 18:05:49,465.465 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:05:49,467.467 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-08-29 18:05:50,735.735 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:05:50,736.736 INFO    ] Checking for system updates...
[2026-08-29 18:05:50,757.757 INFO    ] 200
[2026-08-29 18:05:50,758.758 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:05:50,791.791 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:05:50,792.792 INFO    ] No update needed
[2026-08-29 18:05:50,793.793 INFO    ] Checking for camera pi updates...
[2026-08-29 18:05:50,814.814 INFO    ] 200
[2026-08-29 18:05:50,816.816 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:05:50,838.838 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:05:50,929.929 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:05:50,930.930 INFO    ] No camera update needed
[2026-08-29 18:05:50,932.932 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:05:50,933.933 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:05:50,936.936 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:05:50,939.939 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:05:52,979.979 INFO    ] ================================================
[2026-08-29 18:05:52,994.994 INFO    ] Launching Daemon at Sat Aug 29 18:05:52 IST 2026
[2026-08-29 18:05:53,004.004 INFO    ] ================================================
[2026-08-29 18:05:53,365.365 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:05:53
[2026-08-29 18:05:53,680.680 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:05:53,810.810 INFO    ] Initializing speech engine...
[2026-08-29 18:05:53,814.814 INFO    ] 2026-08-29 18:05:53
[2026-08-29 18:05:54,084.084 INFO    ] 2026-08-29 18:05:54
[2026-08-29 18:05:54,112.112 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:05:54,237.237 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:05:54,295.295 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:05:54,438.438 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:05:54,506.506 INFO    ] time= 29/08/2026 18:05:54
[2026-08-29 18:05:54,535.535 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:05:54,536.536 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:05:54,609.609 INFO    ] No existing commands found in stream
[2026-08-29 18:05:59,618.618 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:05:59,621.621 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-08-29 18:06:03,422.422 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:06:03,425.425 INFO    ] Checking for system updates...
[2026-08-29 18:06:03,464.464 INFO    ] 200
[2026-08-29 18:06:03,467.467 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:06:03,524.524 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:06:03,526.526 INFO    ] No update needed
[2026-08-29 18:06:03,529.529 INFO    ] Checking for camera pi updates...
[2026-08-29 18:06:03,565.565 INFO    ] 200
[2026-08-29 18:06:03,567.567 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:06:03,610.610 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:06:03,806.806 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:06:03,808.808 INFO    ] No camera update needed
[2026-08-29 18:06:03,810.810 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:06:03,813.813 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:06:03,818.818 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:06:03,823.823 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:06:05,867.867 INFO    ] ================================================
[2026-08-29 18:06:05,883.883 INFO    ] Launching Daemon at Sat Aug 29 18:06:05 IST 2026
[2026-08-29 18:06:05,902.902 INFO    ] ================================================
[2026-08-29 18:06:06,260.260 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:06:06
[2026-08-29 18:06:06,573.573 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:06:06,710.710 INFO    ] Initializing speech engine...
[2026-08-29 18:06:06,719.719 INFO    ] 2026-08-29 18:06:06
[2026-08-29 18:06:06,921.921 INFO    ] 2026-08-29 18:06:06
[2026-08-29 18:06:06,950.950 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:06:07,071.071 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:06:07,110.110 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:06:07,283.283 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:06:07,308.308 INFO    ] time= 29/08/2026 18:06:07
[2026-08-29 18:06:07,358.358 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:06:07,400.400 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:06:07,511.511 INFO    ] No existing commands found in stream
[2026-08-29 18:06:12,542.542 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:06:12,545.545 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-08-29 18:06:13,320.320 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:06:13,322.322 INFO    ] Checking for system updates...
[2026-08-29 18:06:13,343.343 INFO    ] 200
[2026-08-29 18:06:13,345.345 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:06:13,375.375 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:06:13,376.376 INFO    ] No update needed
[2026-08-29 18:06:13,377.377 INFO    ] Checking for camera pi updates...
[2026-08-29 18:06:13,403.403 INFO    ] 200
[2026-08-29 18:06:13,405.405 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:06:13,445.445 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:06:13,560.560 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:06:13,562.562 INFO    ] No camera update needed
[2026-08-29 18:06:13,565.565 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:06:13,567.567 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:06:13,572.572 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:06:13,577.577 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:06:15,618.618 INFO    ] ================================================
[2026-08-29 18:06:15,633.633 INFO    ] Launching Daemon at Sat Aug 29 18:06:15 IST 2026
[2026-08-29 18:06:15,644.644 INFO    ] ================================================
[2026-08-29 18:06:16,213.213 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:06:16
[2026-08-29 18:06:16,668.668 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:06:16,805.805 INFO    ] Initializing speech engine...
[2026-08-29 18:06:16,815.815 INFO    ] 2026-08-29 18:06:16
[2026-08-29 18:06:17,028.028 INFO    ] 2026-08-29 18:06:17
[2026-08-29 18:06:17,110.110 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:06:17,261.261 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:06:17,266.266 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:06:17,398.398 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:06:17,424.424 INFO    ] time= 29/08/2026 18:06:17
[2026-08-29 18:06:17,483.483 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:06:17,531.531 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:06:17,583.583 INFO    ] No existing commands found in stream
[2026-08-29 18:06:22,595.595 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:06:22,598.598 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-08-29 18:06:26,816.816 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:06:26,817.817 INFO    ] Checking for system updates...
[2026-08-29 18:06:26,837.837 INFO    ] 200
[2026-08-29 18:06:26,839.839 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:06:26,873.873 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:06:26,874.874 INFO    ] No update needed
[2026-08-29 18:06:26,875.875 INFO    ] Checking for camera pi updates...
[2026-08-29 18:06:26,894.894 INFO    ] 200
[2026-08-29 18:06:26,895.895 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:06:26,918.918 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:06:27,033.033 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:06:27,035.035 INFO    ] No camera update needed
[2026-08-29 18:06:27,038.038 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:06:27,040.040 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:06:27,045.045 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:06:27,050.050 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:06:29,091.091 INFO    ] ================================================
[2026-08-29 18:06:29,106.106 INFO    ] Launching Daemon at Sat Aug 29 18:06:29 IST 2026
[2026-08-29 18:06:29,118.118 INFO    ] ================================================
[2026-08-29 18:06:29,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:06:29
[2026-08-29 18:06:30,215.215 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:06:30,347.347 INFO    ] Initializing speech engine...
[2026-08-29 18:06:30,351.351 INFO    ] 2026-08-29 18:06:30
[2026-08-29 18:06:30,577.577 INFO    ] 2026-08-29 18:06:30
[2026-08-29 18:06:30,607.607 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:06:30,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:06:30,703.703 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:06:30,810.810 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:06:30,819.819 INFO    ] time= 29/08/2026 18:06:30
[2026-08-29 18:06:30,825.825 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:06:30,840.840 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:06:30,922.922 INFO    ] No existing commands found in stream
[2026-08-29 18:06:35,957.957 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:06:35,959.959 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-08-29 18:06:36,955.955 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:06:36,957.957 INFO    ] Checking for system updates...
[2026-08-29 18:06:36,979.979 INFO    ] 200
[2026-08-29 18:06:36,980.980 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:06:37,014.014 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:06:37,016.016 INFO    ] No update needed
[2026-08-29 18:06:37,017.017 INFO    ] Checking for camera pi updates...
[2026-08-29 18:06:37,040.040 INFO    ] 200
[2026-08-29 18:06:37,041.041 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:06:37,066.066 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:06:37,162.162 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:06:37,163.163 INFO    ] No camera update needed
[2026-08-29 18:06:37,165.165 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:06:37,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:06:37,169.169 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:06:37,172.172 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:06:39,211.211 INFO    ] ================================================
[2026-08-29 18:06:39,227.227 INFO    ] Launching Daemon at Sat Aug 29 18:06:39 IST 2026
[2026-08-29 18:06:39,238.238 INFO    ] ================================================
[2026-08-29 18:06:39,573.573 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:06:39
[2026-08-29 18:06:39,884.884 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:06:40,113.113 INFO    ] Initializing speech engine...
[2026-08-29 18:06:40,136.136 INFO    ] 2026-08-29 18:06:40
[2026-08-29 18:06:40,412.412 INFO    ] 2026-08-29 18:06:40
[2026-08-29 18:06:40,449.449 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:06:40,632.632 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:06:40,648.648 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:06:40,757.757 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:06:40,763.763 INFO    ] time= 29/08/2026 18:06:40
[2026-08-29 18:06:40,785.785 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:06:40,791.791 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:06:40,843.843 INFO    ] No existing commands found in stream
[2026-08-29 18:06:45,856.856 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:06:45,858.858 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 18:06:47,983.983 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:06:47,985.985 INFO    ] Checking for system updates...
[2026-08-29 18:06:48,006.006 INFO    ] 200
[2026-08-29 18:06:48,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:06:48,039.039 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:06:48,041.041 INFO    ] No update needed
[2026-08-29 18:06:48,042.042 INFO    ] Checking for camera pi updates...
[2026-08-29 18:06:48,062.062 INFO    ] 200
[2026-08-29 18:06:48,063.063 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:06:48,088.088 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:06:48,159.159 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:06:48,162.162 INFO    ] No camera update needed
[2026-08-29 18:06:48,165.165 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:06:48,167.167 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:06:48,173.173 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:06:48,179.179 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:06:50,221.221 INFO    ] ================================================
[2026-08-29 18:06:50,236.236 INFO    ] Launching Daemon at Sat Aug 29 18:06:50 IST 2026
[2026-08-29 18:06:50,248.248 INFO    ] ================================================
[2026-08-29 18:06:50,886.886 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:06:50
[2026-08-29 18:06:51,384.384 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:06:51,528.528 INFO    ] Initializing speech engine...
[2026-08-29 18:06:51,539.539 INFO    ] 2026-08-29 18:06:51
[2026-08-29 18:06:51,747.747 INFO    ] 2026-08-29 18:06:51
[2026-08-29 18:06:51,775.775 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:06:51,898.898 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:06:51,936.936 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:06:52,092.092 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:06:52,118.118 INFO    ] time= 29/08/2026 18:06:52
[2026-08-29 18:06:52,171.171 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:06:52,193.193 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:06:52,264.264 INFO    ] No existing commands found in stream
[2026-08-29 18:06:57,275.275 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:06:57,278.278 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 18:06:58,697.697 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:06:58,699.699 INFO    ] Checking for system updates...
[2026-08-29 18:06:58,719.719 INFO    ] 200
[2026-08-29 18:06:58,721.721 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:06:58,751.751 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:06:58,753.753 INFO    ] No update needed
[2026-08-29 18:06:58,754.754 INFO    ] Checking for camera pi updates...
[2026-08-29 18:06:58,774.774 INFO    ] 200
[2026-08-29 18:06:58,776.776 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:06:58,801.801 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:06:58,880.880 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:06:58,881.881 INFO    ] No camera update needed
[2026-08-29 18:06:58,883.883 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:06:58,884.884 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:06:58,887.887 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:06:58,890.890 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:07:00,930.930 INFO    ] ================================================
[2026-08-29 18:07:00,946.946 INFO    ] Launching Daemon at Sat Aug 29 18:07:00 IST 2026
[2026-08-29 18:07:00,958.958 INFO    ] ================================================
[2026-08-29 18:07:01,344.344 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:07:01
[2026-08-29 18:07:01,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:07:01,953.953 INFO    ] Initializing speech engine...
[2026-08-29 18:07:01,970.970 INFO    ] 2026-08-29 18:07:01
[2026-08-29 18:07:02,456.456 INFO    ] 2026-08-29 18:07:02
[2026-08-29 18:07:02,542.542 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:07:02,699.699 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:07:02,709.709 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:07:02,862.862 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:07:02,915.915 INFO    ] time= 29/08/2026 18:07:02
[2026-08-29 18:07:02,966.966 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:07:03,008.008 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:07:03,067.067 INFO    ] No existing commands found in stream
[2026-08-29 18:07:08,079.079 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:07:08,082.082 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-08-29 18:07:09,891.891 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:07:09,893.893 INFO    ] Checking for system updates...
[2026-08-29 18:07:09,916.916 INFO    ] 200
[2026-08-29 18:07:09,917.917 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:07:09,947.947 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:07:09,948.948 INFO    ] No update needed
[2026-08-29 18:07:09,950.950 INFO    ] Checking for camera pi updates...
[2026-08-29 18:07:09,969.969 INFO    ] 200
[2026-08-29 18:07:09,970.970 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:07:09,995.995 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:07:10,067.067 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:07:10,069.069 INFO    ] No camera update needed
[2026-08-29 18:07:10,070.070 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:07:10,071.071 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:07:10,074.074 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:07:10,077.077 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:07:12,116.116 INFO    ] ================================================
[2026-08-29 18:07:12,133.133 INFO    ] Launching Daemon at Sat Aug 29 18:07:12 IST 2026
[2026-08-29 18:07:12,143.143 INFO    ] ================================================
[2026-08-29 18:07:12,517.517 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:07:12
[2026-08-29 18:07:12,828.828 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:07:13,030.030 INFO    ] Initializing speech engine...
[2026-08-29 18:07:13,037.037 INFO    ] 2026-08-29 18:07:13
[2026-08-29 18:07:13,325.325 INFO    ] 2026-08-29 18:07:13
[2026-08-29 18:07:13,363.363 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:07:13,508.508 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:07:13,519.519 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:07:13,657.657 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:07:13,667.667 INFO    ] time= 29/08/2026 18:07:13
[2026-08-29 18:07:13,672.672 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:07:13,695.695 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:07:13,746.746 INFO    ] No existing commands found in stream
[2026-08-29 18:07:18,757.757 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:07:18,759.759 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-08-29 18:07:20,927.927 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:07:20,928.928 INFO    ] Checking for system updates...
[2026-08-29 18:07:20,948.948 INFO    ] 200
[2026-08-29 18:07:20,950.950 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:07:20,980.980 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:07:20,981.981 INFO    ] No update needed
[2026-08-29 18:07:20,982.982 INFO    ] Checking for camera pi updates...
[2026-08-29 18:07:21,003.003 INFO    ] 200
[2026-08-29 18:07:21,004.004 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:07:21,027.027 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:07:21,116.116 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:07:21,117.117 INFO    ] No camera update needed
[2026-08-29 18:07:21,119.119 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:07:21,120.120 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:07:21,123.123 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:07:21,126.126 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:07:23,156.156 INFO    ] ================================================
[2026-08-29 18:07:23,165.165 INFO    ] Launching Daemon at Sat Aug 29 18:07:23 IST 2026
[2026-08-29 18:07:23,172.172 INFO    ] ================================================
[2026-08-29 18:07:23,737.737 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:07:23
[2026-08-29 18:07:24,325.325 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:07:24,597.597 INFO    ] Initializing speech engine...
[2026-08-29 18:07:24,606.606 INFO    ] 2026-08-29 18:07:24
[2026-08-29 18:07:24,858.858 INFO    ] 2026-08-29 18:07:24
[2026-08-29 18:07:24,899.899 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:07:25,075.075 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:07:25,107.107 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:07:25,235.235 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:07:25,241.241 INFO    ] time= 29/08/2026 18:07:25
[2026-08-29 18:07:25,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:07:25,252.252 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:07:25,319.319 INFO    ] No existing commands found in stream
[2026-08-29 18:07:30,337.337 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:07:30,339.339 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 18:07:32,384.384 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:07:32,387.387 INFO    ] Checking for system updates...
[2026-08-29 18:07:32,428.428 INFO    ] 200
[2026-08-29 18:07:32,431.431 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:07:32,491.491 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:07:32,494.494 INFO    ] No update needed
[2026-08-29 18:07:32,498.498 INFO    ] Checking for camera pi updates...
[2026-08-29 18:07:32,538.538 INFO    ] 200
[2026-08-29 18:07:32,541.541 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:07:32,587.587 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:07:32,696.696 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:07:32,698.698 INFO    ] No camera update needed
[2026-08-29 18:07:32,701.701 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:07:32,703.703 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:07:32,710.710 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:07:32,715.715 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:07:34,757.757 INFO    ] ================================================
[2026-08-29 18:07:34,772.772 INFO    ] Launching Daemon at Sat Aug 29 18:07:34 IST 2026
[2026-08-29 18:07:34,783.783 INFO    ] ================================================
[2026-08-29 18:07:35,421.421 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:07:35
[2026-08-29 18:07:35,787.787 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:07:35,931.931 INFO    ] Initializing speech engine...
[2026-08-29 18:07:35,941.941 INFO    ] 2026-08-29 18:07:35
[2026-08-29 18:07:36,150.150 INFO    ] 2026-08-29 18:07:36
[2026-08-29 18:07:36,179.179 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:07:36,301.301 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:07:36,334.334 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:07:36,483.483 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:07:36,505.505 INFO    ] time= 29/08/2026 18:07:36
[2026-08-29 18:07:36,572.572 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:07:36,597.597 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:07:36,667.667 INFO    ] No existing commands found in stream
[2026-08-29 18:07:41,678.678 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:07:41,681.681 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-08-29 18:07:42,285.285 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:07:42,287.287 INFO    ] Checking for system updates...
[2026-08-29 18:07:42,307.307 INFO    ] 200
[2026-08-29 18:07:42,309.309 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:07:42,339.339 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:07:42,340.340 INFO    ] No update needed
[2026-08-29 18:07:42,341.341 INFO    ] Checking for camera pi updates...
[2026-08-29 18:07:42,361.361 INFO    ] 200
[2026-08-29 18:07:42,363.363 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:07:42,385.385 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:07:42,473.473 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:07:42,474.474 INFO    ] No camera update needed
[2026-08-29 18:07:42,475.475 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:07:42,477.477 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:07:42,480.480 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:07:42,483.483 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:07:44,525.525 INFO    ] ================================================
[2026-08-29 18:07:44,541.541 INFO    ] Launching Daemon at Sat Aug 29 18:07:44 IST 2026
[2026-08-29 18:07:44,552.552 INFO    ] ================================================
[2026-08-29 18:07:44,882.882 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:07:44
[2026-08-29 18:07:45,195.195 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:07:45,409.409 INFO    ] Initializing speech engine...
[2026-08-29 18:07:45,418.418 INFO    ] 2026-08-29 18:07:45
[2026-08-29 18:07:45,664.664 INFO    ] 2026-08-29 18:07:45
[2026-08-29 18:07:45,729.729 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:07:45,893.893 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:07:45,920.920 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:07:46,089.089 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:07:46,098.098 INFO    ] time= 29/08/2026 18:07:46
[2026-08-29 18:07:46,142.142 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:07:46,180.180 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:07:46,273.273 INFO    ] No existing commands found in stream
[2026-08-29 18:07:51,284.284 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:07:51,287.287 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-08-29 18:07:51,885.885 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:07:51,886.886 INFO    ] Checking for system updates...
[2026-08-29 18:07:51,906.906 INFO    ] 200
[2026-08-29 18:07:51,908.908 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:07:51,939.939 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:07:51,941.941 INFO    ] No update needed
[2026-08-29 18:07:51,942.942 INFO    ] Checking for camera pi updates...
[2026-08-29 18:07:51,961.961 INFO    ] 200
[2026-08-29 18:07:51,963.963 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:07:51,985.985 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:07:52,065.065 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:07:52,066.066 INFO    ] No camera update needed
[2026-08-29 18:07:52,067.067 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:07:52,068.068 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:07:52,071.071 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:07:52,074.074 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:07:54,113.113 INFO    ] ================================================
[2026-08-29 18:07:54,129.129 INFO    ] Launching Daemon at Sat Aug 29 18:07:54 IST 2026
[2026-08-29 18:07:54,140.140 INFO    ] ================================================
[2026-08-29 18:07:54,505.505 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:07:54
[2026-08-29 18:07:54,818.818 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:07:54,960.960 INFO    ] Initializing speech engine...
[2026-08-29 18:07:54,966.966 INFO    ] 2026-08-29 18:07:54
[2026-08-29 18:07:55,145.145 INFO    ] 2026-08-29 18:07:55
[2026-08-29 18:07:55,180.180 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:07:55,373.373 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:07:55,386.386 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:07:55,506.506 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:07:55,516.516 INFO    ] time= 29/08/2026 18:07:55
[2026-08-29 18:07:55,536.536 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:07:55,558.558 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:07:55,639.639 INFO    ] No existing commands found in stream
[2026-08-29 18:08:00,652.652 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:08:00,655.655 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-08-29 18:08:03,215.215 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:08:03,218.218 INFO    ] Checking for system updates...
[2026-08-29 18:08:03,254.254 INFO    ] 200
[2026-08-29 18:08:03,257.257 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:08:03,310.310 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:08:03,312.312 INFO    ] No update needed
[2026-08-29 18:08:03,315.315 INFO    ] Checking for camera pi updates...
[2026-08-29 18:08:03,350.350 INFO    ] 200
[2026-08-29 18:08:03,352.352 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:08:03,393.393 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:08:03,472.472 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:08:03,475.475 INFO    ] No camera update needed
[2026-08-29 18:08:03,477.477 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:08:03,479.479 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:08:03,485.485 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:08:03,490.490 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:08:05,532.532 INFO    ] ================================================
[2026-08-29 18:08:05,550.550 INFO    ] Launching Daemon at Sat Aug 29 18:08:05 IST 2026
[2026-08-29 18:08:05,560.560 INFO    ] ================================================
[2026-08-29 18:08:06,121.121 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:08:06
[2026-08-29 18:08:06,791.791 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:08:07,095.095 INFO    ] Initializing speech engine...
[2026-08-29 18:08:07,105.105 INFO    ] 2026-08-29 18:08:07
[2026-08-29 18:08:07,380.380 INFO    ] 2026-08-29 18:08:07
[2026-08-29 18:08:07,440.440 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:08:07,667.667 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:08:07,676.676 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:08:07,813.813 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:08:07,878.878 INFO    ] time= 29/08/2026 18:08:07
[2026-08-29 18:08:07,933.933 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:08:07,946.946 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:08:08,068.068 INFO    ] No existing commands found in stream
[2026-08-29 18:08:13,099.099 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:08:13,102.102 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-08-29 18:08:16,936.936 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:08:16,937.937 INFO    ] Checking for system updates...
[2026-08-29 18:08:16,958.958 INFO    ] 200
[2026-08-29 18:08:16,959.959 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:08:16,992.992 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:08:16,994.994 INFO    ] No update needed
[2026-08-29 18:08:16,995.995 INFO    ] Checking for camera pi updates...
[2026-08-29 18:08:17,014.014 INFO    ] 200
[2026-08-29 18:08:17,015.015 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:08:17,039.039 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:08:17,223.223 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:08:17,224.224 INFO    ] No camera update needed
[2026-08-29 18:08:17,226.226 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:08:17,227.227 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:08:17,230.230 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:08:17,232.232 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:08:19,271.271 INFO    ] ================================================
[2026-08-29 18:08:19,288.288 INFO    ] Launching Daemon at Sat Aug 29 18:08:19 IST 2026
[2026-08-29 18:08:19,299.299 INFO    ] ================================================
[2026-08-29 18:08:19,688.688 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:08:19
[2026-08-29 18:08:20,024.024 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:08:20,299.299 INFO    ] Initializing speech engine...
[2026-08-29 18:08:20,311.311 INFO    ] 2026-08-29 18:08:20
[2026-08-29 18:08:20,600.600 INFO    ] 2026-08-29 18:08:20
[2026-08-29 18:08:20,704.704 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:08:20,857.857 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:08:20,867.867 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:08:20,999.999 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:08:21,047.047 INFO    ] time= 29/08/2026 18:08:21
[2026-08-29 18:08:21,096.096 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:08:21,133.133 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:08:21,187.187 INFO    ] No existing commands found in stream
[2026-08-29 18:08:26,200.200 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:08:26,203.203 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-08-29 18:08:29,674.674 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:08:29,677.677 INFO    ] Checking for system updates...
[2026-08-29 18:08:29,714.714 INFO    ] 200
[2026-08-29 18:08:29,717.717 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:08:29,771.771 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:08:29,774.774 INFO    ] No update needed
[2026-08-29 18:08:29,777.777 INFO    ] Checking for camera pi updates...
[2026-08-29 18:08:29,812.812 INFO    ] 200
[2026-08-29 18:08:29,815.815 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:08:29,856.856 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:08:29,938.938 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:08:29,940.940 INFO    ] No camera update needed
[2026-08-29 18:08:29,942.942 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:08:29,945.945 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:08:29,950.950 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:08:29,955.955 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:08:32,997.997 INFO    ] ================================================
[2026-08-29 18:08:32,014.014 INFO    ] Launching Daemon at Sat Aug 29 18:08:32 IST 2026
[2026-08-29 18:08:32,027.027 INFO    ] ================================================
[2026-08-29 18:08:32,613.613 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:08:32
[2026-08-29 18:08:33,200.200 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:08:33,464.464 INFO    ] Initializing speech engine...
[2026-08-29 18:08:33,489.489 INFO    ] 2026-08-29 18:08:33
[2026-08-29 18:08:33,766.766 INFO    ] 2026-08-29 18:08:33
[2026-08-29 18:08:33,801.801 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:08:33,998.998 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:08:34,012.012 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:08:34,154.154 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:08:34,162.162 INFO    ] time= 29/08/2026 18:08:34
[2026-08-29 18:08:34,169.169 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:08:34,189.189 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:08:34,310.310 INFO    ] No existing commands found in stream
[2026-08-29 18:08:39,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:08:39,337.337 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 18:08:42,764.764 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:08:42,765.765 INFO    ] Checking for system updates...
[2026-08-29 18:08:42,786.786 INFO    ] 200
[2026-08-29 18:08:42,787.787 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:08:42,820.820 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:08:42,821.821 INFO    ] No update needed
[2026-08-29 18:08:42,823.823 INFO    ] Checking for camera pi updates...
[2026-08-29 18:08:42,842.842 INFO    ] 200
[2026-08-29 18:08:42,843.843 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:08:42,867.867 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:08:42,957.957 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:08:42,958.958 INFO    ] No camera update needed
[2026-08-29 18:08:42,959.959 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:08:42,960.960 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:08:42,963.963 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:08:42,966.966 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:08:45,005.005 INFO    ] ================================================
[2026-08-29 18:08:45,020.020 INFO    ] Launching Daemon at Sat Aug 29 18:08:45 IST 2026
[2026-08-29 18:08:45,031.031 INFO    ] ================================================
[2026-08-29 18:08:45,400.400 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:08:45
[2026-08-29 18:08:45,715.715 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:08:45,858.858 INFO    ] Initializing speech engine...
[2026-08-29 18:08:45,863.863 INFO    ] 2026-08-29 18:08:45
[2026-08-29 18:08:46,070.070 INFO    ] 2026-08-29 18:08:46
[2026-08-29 18:08:46,149.149 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:08:46,300.300 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:08:46,309.309 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:08:46,451.451 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:08:46,460.460 INFO    ] time= 29/08/2026 18:08:46
[2026-08-29 18:08:46,511.511 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:08:46,578.578 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:08:46,656.656 INFO    ] No existing commands found in stream
[2026-08-29 18:08:51,667.667 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:08:51,670.670 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-08-29 18:08:52,457.457 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:08:52,459.459 INFO    ] Checking for system updates...
[2026-08-29 18:08:52,481.481 INFO    ] 200
[2026-08-29 18:08:52,482.482 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:08:52,513.513 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:08:52,514.514 INFO    ] No update needed
[2026-08-29 18:08:52,516.516 INFO    ] Checking for camera pi updates...
[2026-08-29 18:08:52,536.536 INFO    ] 200
[2026-08-29 18:08:52,537.537 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:08:52,564.564 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:08:52,652.652 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:08:52,653.653 INFO    ] No camera update needed
[2026-08-29 18:08:52,655.655 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:08:52,656.656 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:08:52,659.659 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:08:52,662.662 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:08:54,703.703 INFO    ] ================================================
[2026-08-29 18:08:54,718.718 INFO    ] Launching Daemon at Sat Aug 29 18:08:54 IST 2026
[2026-08-29 18:08:54,730.730 INFO    ] ================================================
[2026-08-29 18:08:55,085.085 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:08:55
[2026-08-29 18:08:55,424.424 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:08:55,591.591 INFO    ] Initializing speech engine...
[2026-08-29 18:08:55,605.605 INFO    ] 2026-08-29 18:08:55
[2026-08-29 18:08:55,890.890 INFO    ] 2026-08-29 18:08:55
[2026-08-29 18:08:55,948.948 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:08:56,172.172 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:08:56,182.182 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:08:56,318.318 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:08:56,384.384 INFO    ] time= 29/08/2026 18:08:56
[2026-08-29 18:08:56,439.439 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:08:56,454.454 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:08:56,511.511 INFO    ] No existing commands found in stream
[2026-08-29 18:09:01,527.527 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:09:01,530.530 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-08-29 18:09:05,181.181 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:09:05,189.189 INFO    ] Checking for system updates...
[2026-08-29 18:09:05,210.210 INFO    ] 200
[2026-08-29 18:09:05,212.212 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:09:05,243.243 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:09:05,244.244 INFO    ] No update needed
[2026-08-29 18:09:05,245.245 INFO    ] Checking for camera pi updates...
[2026-08-29 18:09:05,265.265 INFO    ] 200
[2026-08-29 18:09:05,266.266 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:09:05,291.291 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:09:05,380.380 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:09:05,382.382 INFO    ] No camera update needed
[2026-08-29 18:09:05,383.383 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:09:05,385.385 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:09:05,388.388 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:09:05,391.391 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:09:07,435.435 INFO    ] ================================================
[2026-08-29 18:09:07,450.450 INFO    ] Launching Daemon at Sat Aug 29 18:09:07 IST 2026
[2026-08-29 18:09:07,461.461 INFO    ] ================================================
[2026-08-29 18:09:07,804.804 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:09:07
[2026-08-29 18:09:08,115.115 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:09:08,245.245 INFO    ] Initializing speech engine...
[2026-08-29 18:09:08,248.248 INFO    ] 2026-08-29 18:09:08
[2026-08-29 18:09:08,475.475 INFO    ] 2026-08-29 18:09:08
[2026-08-29 18:09:08,558.558 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:09:08,705.705 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:09:08,715.715 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:09:08,846.846 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:09:08,858.858 INFO    ] time= 29/08/2026 18:09:08
[2026-08-29 18:09:08,923.923 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:09:08,979.979 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:09:09,036.036 INFO    ] No existing commands found in stream
[2026-08-29 18:09:14,047.047 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:09:14,050.050 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-08-29 18:09:16,544.544 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:09:16,545.545 INFO    ] Checking for system updates...
[2026-08-29 18:09:16,565.565 INFO    ] 200
[2026-08-29 18:09:16,567.567 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:09:16,596.596 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:09:16,598.598 INFO    ] No update needed
[2026-08-29 18:09:16,599.599 INFO    ] Checking for camera pi updates...
[2026-08-29 18:09:16,619.619 INFO    ] 200
[2026-08-29 18:09:16,620.620 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:09:16,643.643 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:09:16,731.731 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:09:16,733.733 INFO    ] No camera update needed
[2026-08-29 18:09:16,734.734 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:09:16,735.735 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:09:16,738.738 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:09:16,741.741 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:09:18,780.780 INFO    ] ================================================
[2026-08-29 18:09:18,796.796 INFO    ] Launching Daemon at Sat Aug 29 18:09:18 IST 2026
[2026-08-29 18:09:18,807.807 INFO    ] ================================================
[2026-08-29 18:09:19,156.156 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:09:19
[2026-08-29 18:09:19,494.494 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:09:19,634.634 INFO    ] Initializing speech engine...
[2026-08-29 18:09:19,648.648 INFO    ] 2026-08-29 18:09:19
[2026-08-29 18:09:19,862.862 INFO    ] 2026-08-29 18:09:19
[2026-08-29 18:09:19,891.891 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:09:20,016.016 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:09:20,079.079 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:09:20,219.219 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:09:20,287.287 INFO    ] time= 29/08/2026 18:09:20
[2026-08-29 18:09:20,311.311 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:09:20,318.318 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:09:20,370.370 INFO    ] No existing commands found in stream
[2026-08-29 18:09:25,379.379 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:09:25,383.383 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-08-29 18:09:34,439.439 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:09:34,442.442 INFO    ] Checking for system updates...
[2026-08-29 18:09:34,480.480 INFO    ] 200
[2026-08-29 18:09:34,483.483 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:09:34,549.549 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:09:34,552.552 INFO    ] No update needed
[2026-08-29 18:09:34,555.555 INFO    ] Checking for camera pi updates...
[2026-08-29 18:09:34,594.594 INFO    ] 200
[2026-08-29 18:09:34,597.597 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:09:34,642.642 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:09:34,720.720 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:09:34,724.724 INFO    ] No camera update needed
[2026-08-29 18:09:34,727.727 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:09:34,730.730 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:09:34,737.737 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:09:34,744.744 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:09:36,778.778 INFO    ] ================================================
[2026-08-29 18:09:36,793.793 INFO    ] Launching Daemon at Sat Aug 29 18:09:36 IST 2026
[2026-08-29 18:09:36,804.804 INFO    ] ================================================
[2026-08-29 18:09:37,137.137 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:09:37
[2026-08-29 18:09:37,536.536 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:09:37,838.838 INFO    ] Initializing speech engine...
[2026-08-29 18:09:37,846.846 INFO    ] 2026-08-29 18:09:37
[2026-08-29 18:09:38,170.170 INFO    ] 2026-08-29 18:09:38
[2026-08-29 18:09:38,259.259 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:09:38,416.416 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:09:38,421.421 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:09:38,820.820 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:09:38,852.852 INFO    ] time= 29/08/2026 18:09:38
[2026-08-29 18:09:38,902.902 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:09:38,939.939 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:09:39,259.259 INFO    ] No existing commands found in stream
[2026-08-29 18:09:44,275.275 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:09:44,278.278 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-08-29 18:09:46,622.622 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:09:46,624.624 INFO    ] Checking for system updates...
[2026-08-29 18:09:46,644.644 INFO    ] 200
[2026-08-29 18:09:46,646.646 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:09:46,676.676 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:09:46,678.678 INFO    ] No update needed
[2026-08-29 18:09:46,679.679 INFO    ] Checking for camera pi updates...
[2026-08-29 18:09:46,699.699 INFO    ] 200
[2026-08-29 18:09:46,700.700 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:09:46,724.724 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:09:46,805.805 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:09:46,807.807 INFO    ] No camera update needed
[2026-08-29 18:09:46,808.808 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:09:46,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:09:46,813.813 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:09:46,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:09:48,854.854 INFO    ] ================================================
[2026-08-29 18:09:48,869.869 INFO    ] Launching Daemon at Sat Aug 29 18:09:48 IST 2026
[2026-08-29 18:09:48,880.880 INFO    ] ================================================
[2026-08-29 18:09:49,472.472 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:09:49
[2026-08-29 18:09:50,149.149 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:09:50,468.468 INFO    ] Initializing speech engine...
[2026-08-29 18:09:50,473.473 INFO    ] 2026-08-29 18:09:50
[2026-08-29 18:09:50,745.745 INFO    ] 2026-08-29 18:09:50
[2026-08-29 18:09:50,803.803 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:09:51,032.032 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:09:51,041.041 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:09:51,178.178 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:09:51,226.226 INFO    ] time= 29/08/2026 18:09:51
[2026-08-29 18:09:51,275.275 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:09:51,317.317 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:09:51,371.371 INFO    ] No existing commands found in stream
[2026-08-29 18:09:56,384.384 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:09:56,387.387 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-08-29 18:09:57,911.911 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:09:57,913.913 INFO    ] Checking for system updates...
[2026-08-29 18:09:57,933.933 INFO    ] 200
[2026-08-29 18:09:57,934.934 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:09:57,967.967 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:09:57,968.968 INFO    ] No update needed
[2026-08-29 18:09:57,969.969 INFO    ] Checking for camera pi updates...
[2026-08-29 18:09:57,989.989 INFO    ] 200
[2026-08-29 18:09:57,991.991 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:09:58,014.014 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:09:58,110.110 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:09:58,111.111 INFO    ] No camera update needed
[2026-08-29 18:09:58,112.112 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:09:58,114.114 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:09:58,116.116 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:09:58,119.119 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:10:00,157.157 INFO    ] ================================================
[2026-08-29 18:10:00,172.172 INFO    ] Launching Daemon at Sat Aug 29 18:10:00 IST 2026
[2026-08-29 18:10:00,183.183 INFO    ] ================================================
[2026-08-29 18:10:00,554.554 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:10:00
[2026-08-29 18:10:00,901.901 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:10:01,053.053 INFO    ] Initializing speech engine...
[2026-08-29 18:10:01,059.059 INFO    ] 2026-08-29 18:10:01
[2026-08-29 18:10:01,273.273 INFO    ] 2026-08-29 18:10:01
[2026-08-29 18:10:01,302.302 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:10:01,426.426 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:10:01,479.479 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:10:01,624.624 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:10:01,634.634 INFO    ] time= 29/08/2026 18:10:01
[2026-08-29 18:10:01,658.658 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:10:01,667.667 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:10:01,731.731 INFO    ] No existing commands found in stream
[2026-08-29 18:10:06,742.742 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:10:06,745.745 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-08-29 18:10:10,705.705 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:10:11,018.018 INFO    ] Checking for system updates...
[2026-08-29 18:10:11,039.039 INFO    ] 200
[2026-08-29 18:10:11,040.040 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:10:11,072.072 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:10:11,073.073 INFO    ] No update needed
[2026-08-29 18:10:11,075.075 INFO    ] Checking for camera pi updates...
[2026-08-29 18:10:11,094.094 INFO    ] 200
[2026-08-29 18:10:11,095.095 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:10:11,120.120 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:10:11,204.204 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:10:11,206.206 INFO    ] No camera update needed
[2026-08-29 18:10:11,207.207 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:10:11,208.208 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:10:11,213.213 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:10:11,218.218 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:10:13,258.258 INFO    ] ================================================
[2026-08-29 18:10:13,274.274 INFO    ] Launching Daemon at Sat Aug 29 18:10:13 IST 2026
[2026-08-29 18:10:13,285.285 INFO    ] ================================================
[2026-08-29 18:10:13,617.617 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:10:13
[2026-08-29 18:10:13,935.935 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:10:14,072.072 INFO    ] Initializing speech engine...
[2026-08-29 18:10:14,085.085 INFO    ] 2026-08-29 18:10:14
[2026-08-29 18:10:14,302.302 INFO    ] 2026-08-29 18:10:14
[2026-08-29 18:10:14,333.333 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:10:14,461.461 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:10:14,478.478 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:10:14,620.620 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:10:14,675.675 INFO    ] time= 29/08/2026 18:10:14
[2026-08-29 18:10:14,695.695 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:10:14,752.752 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:10:14,844.844 INFO    ] No existing commands found in stream
[2026-08-29 18:10:19,854.854 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:10:19,857.857 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-08-29 18:10:20,799.799 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:10:20,801.801 INFO    ] Checking for system updates...
[2026-08-29 18:10:20,822.822 INFO    ] 200
[2026-08-29 18:10:20,824.824 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:10:20,855.855 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:10:20,856.856 INFO    ] No update needed
[2026-08-29 18:10:20,857.857 INFO    ] Checking for camera pi updates...
[2026-08-29 18:10:20,878.878 INFO    ] 200
[2026-08-29 18:10:20,880.880 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:10:20,906.906 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:10:21,094.094 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:10:21,097.097 INFO    ] No camera update needed
[2026-08-29 18:10:21,100.100 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:10:21,102.102 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:10:21,108.108 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:10:21,114.114 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:10:23,155.155 INFO    ] ================================================
[2026-08-29 18:10:23,170.170 INFO    ] Launching Daemon at Sat Aug 29 18:10:23 IST 2026
[2026-08-29 18:10:23,181.181 INFO    ] ================================================
[2026-08-29 18:10:23,522.522 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:10:23
[2026-08-29 18:10:23,835.835 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:10:23,969.969 INFO    ] Initializing speech engine...
[2026-08-29 18:10:23,973.973 INFO    ] 2026-08-29 18:10:23
[2026-08-29 18:10:24,169.169 INFO    ] 2026-08-29 18:10:24
[2026-08-29 18:10:24,204.204 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:10:24,387.387 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:10:24,402.402 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:10:24,525.525 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:10:24,531.531 INFO    ] time= 29/08/2026 18:10:24
[2026-08-29 18:10:24,550.550 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:10:24,573.573 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:10:24,654.654 INFO    ] No existing commands found in stream
[2026-08-29 18:10:29,666.666 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:10:29,669.669 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-08-29 18:10:32,709.709 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:10:32,712.712 INFO    ] Checking for system updates...
[2026-08-29 18:10:32,750.750 INFO    ] 200
[2026-08-29 18:10:32,752.752 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:10:32,807.807 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:10:32,809.809 INFO    ] No update needed
[2026-08-29 18:10:32,812.812 INFO    ] Checking for camera pi updates...
[2026-08-29 18:10:32,845.845 INFO    ] 200
[2026-08-29 18:10:32,847.847 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:10:32,889.889 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:10:32,997.997 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:10:33,000.000 INFO    ] No camera update needed
[2026-08-29 18:10:33,002.002 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:10:33,005.005 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:10:33,010.010 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:10:33,015.015 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:10:35,055.055 INFO    ] ================================================
[2026-08-29 18:10:35,070.070 INFO    ] Launching Daemon at Sat Aug 29 18:10:35 IST 2026
[2026-08-29 18:10:35,081.081 INFO    ] ================================================
[2026-08-29 18:10:35,534.534 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:10:35
[2026-08-29 18:10:35,853.853 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:10:35,992.992 INFO    ] Initializing speech engine...
[2026-08-29 18:10:35,999.999 INFO    ] 2026-08-29 18:10:35
[2026-08-29 18:10:36,208.208 INFO    ] 2026-08-29 18:10:36
[2026-08-29 18:10:36,237.237 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:10:36,359.359 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:10:36,422.422 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:10:36,553.553 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:10:36,608.608 INFO    ] time= 29/08/2026 18:10:36
[2026-08-29 18:10:36,652.652 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:10:36,654.654 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:10:36,724.724 INFO    ] No existing commands found in stream
[2026-08-29 18:10:41,734.734 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:10:41,737.737 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-08-29 18:10:42,860.860 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:10:42,862.862 INFO    ] Checking for system updates...
[2026-08-29 18:10:42,882.882 INFO    ] 200
[2026-08-29 18:10:42,884.884 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:10:42,916.916 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:10:42,917.917 INFO    ] No update needed
[2026-08-29 18:10:42,919.919 INFO    ] Checking for camera pi updates...
[2026-08-29 18:10:42,938.938 INFO    ] 200
[2026-08-29 18:10:42,939.939 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:10:42,962.962 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:10:43,042.042 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:10:43,044.044 INFO    ] No camera update needed
[2026-08-29 18:10:43,045.045 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:10:43,046.046 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:10:43,049.049 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:10:43,052.052 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:10:45,090.090 INFO    ] ================================================
[2026-08-29 18:10:45,105.105 INFO    ] Launching Daemon at Sat Aug 29 18:10:45 IST 2026
[2026-08-29 18:10:45,116.116 INFO    ] ================================================
[2026-08-29 18:10:45,588.588 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:10:45
[2026-08-29 18:10:46,177.177 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:10:46,448.448 INFO    ] Initializing speech engine...
[2026-08-29 18:10:46,454.454 INFO    ] 2026-08-29 18:10:46
[2026-08-29 18:10:46,707.707 INFO    ] 2026-08-29 18:10:46
[2026-08-29 18:10:46,765.765 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:10:46,907.907 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:10:46,919.919 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:10:47,030.030 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:10:47,047.047 INFO    ] time= 29/08/2026 18:10:47
[2026-08-29 18:10:47,070.070 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:10:47,075.075 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:10:47,142.142 INFO    ] No existing commands found in stream
[2026-08-29 18:10:52,155.155 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:10:52,158.158 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-08-29 18:10:54,402.402 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:10:54,404.404 INFO    ] Checking for system updates...
[2026-08-29 18:10:54,425.425 INFO    ] 200
[2026-08-29 18:10:54,426.426 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:10:54,459.459 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:10:54,460.460 INFO    ] No update needed
[2026-08-29 18:10:54,461.461 INFO    ] Checking for camera pi updates...
[2026-08-29 18:10:54,481.481 INFO    ] 200
[2026-08-29 18:10:54,482.482 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:10:54,507.507 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:10:54,602.602 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:10:54,603.603 INFO    ] No camera update needed
[2026-08-29 18:10:54,605.605 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:10:54,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:10:54,609.609 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:10:54,611.611 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:10:56,650.650 INFO    ] ================================================
[2026-08-29 18:10:56,665.665 INFO    ] Launching Daemon at Sat Aug 29 18:10:56 IST 2026
[2026-08-29 18:10:56,675.675 INFO    ] ================================================
[2026-08-29 18:10:57,032.032 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:10:57
[2026-08-29 18:10:57,344.344 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:10:57,476.476 INFO    ] Initializing speech engine...
[2026-08-29 18:10:57,488.488 INFO    ] 2026-08-29 18:10:57
[2026-08-29 18:10:57,694.694 INFO    ] 2026-08-29 18:10:57
[2026-08-29 18:10:57,724.724 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:10:57,840.840 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:10:57,847.847 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:10:58,025.025 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:10:58,041.041 INFO    ] time= 29/08/2026 18:10:58
[2026-08-29 18:10:58,047.047 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:10:58,066.066 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:10:58,176.176 INFO    ] No existing commands found in stream
[2026-08-29 18:11:03,201.201 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:11:03,204.204 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-08-29 18:11:05,844.844 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:11:05,846.846 INFO    ] Checking for system updates...
[2026-08-29 18:11:05,879.879 INFO    ] 200
[2026-08-29 18:11:05,882.882 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:11:05,935.935 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:11:05,937.937 INFO    ] No update needed
[2026-08-29 18:11:05,939.939 INFO    ] Checking for camera pi updates...
[2026-08-29 18:11:05,977.977 INFO    ] 200
[2026-08-29 18:11:05,980.980 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:11:06,027.027 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:11:06,131.131 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:11:06,134.134 INFO    ] No camera update needed
[2026-08-29 18:11:06,136.136 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:11:06,138.138 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:11:06,144.144 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:11:06,149.149 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:11:08,190.190 INFO    ] ================================================
[2026-08-29 18:11:08,206.206 INFO    ] Launching Daemon at Sat Aug 29 18:11:08 IST 2026
[2026-08-29 18:11:08,216.216 INFO    ] ================================================
[2026-08-29 18:11:08,780.780 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:11:08
[2026-08-29 18:11:09,102.102 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:11:09,351.351 INFO    ] Initializing speech engine...
[2026-08-29 18:11:09,366.366 INFO    ] 2026-08-29 18:11:09
[2026-08-29 18:11:09,631.631 INFO    ] 2026-08-29 18:11:09
[2026-08-29 18:11:09,668.668 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:11:09,844.844 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:11:09,857.857 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:11:09,967.967 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:11:09,974.974 INFO    ] time= 29/08/2026 18:11:09
[2026-08-29 18:11:09,992.992 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:11:10,013.013 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:11:10,089.089 INFO    ] No existing commands found in stream
[2026-08-29 18:11:15,109.109 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:11:15,112.112 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-08-29 18:11:16,840.840 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:11:16,841.841 INFO    ] Checking for system updates...
[2026-08-29 18:11:16,863.863 INFO    ] 200
[2026-08-29 18:11:16,864.864 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:11:16,895.895 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:11:16,897.897 INFO    ] No update needed
[2026-08-29 18:11:16,898.898 INFO    ] Checking for camera pi updates...
[2026-08-29 18:11:16,919.919 INFO    ] 200
[2026-08-29 18:11:16,920.920 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:11:16,945.945 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:11:17,045.045 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:11:17,046.046 INFO    ] No camera update needed
[2026-08-29 18:11:17,047.047 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:11:17,048.048 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:11:17,051.051 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:11:17,054.054 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:11:19,094.094 INFO    ] ================================================
[2026-08-29 18:11:19,109.109 INFO    ] Launching Daemon at Sat Aug 29 18:11:19 IST 2026
[2026-08-29 18:11:19,120.120 INFO    ] ================================================
[2026-08-29 18:11:19,491.491 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:11:19
[2026-08-29 18:11:19,832.832 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:11:20,104.104 INFO    ] Initializing speech engine...
[2026-08-29 18:11:20,113.113 INFO    ] 2026-08-29 18:11:20
[2026-08-29 18:11:20,364.364 INFO    ] 2026-08-29 18:11:20
[2026-08-29 18:11:20,399.399 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:11:20,574.574 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:11:20,589.589 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:11:20,699.699 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:11:20,705.705 INFO    ] time= 29/08/2026 18:11:20
[2026-08-29 18:11:20,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:11:20,742.742 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:11:20,816.816 INFO    ] No existing commands found in stream
[2026-08-29 18:11:25,846.846 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:11:25,849.849 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-08-29 18:11:29,505.505 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:11:29,507.507 INFO    ] Checking for system updates...
[2026-08-29 18:11:29,528.528 INFO    ] 200
[2026-08-29 18:11:29,530.530 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:11:29,559.559 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:11:29,560.560 INFO    ] No update needed
[2026-08-29 18:11:29,562.562 INFO    ] Checking for camera pi updates...
[2026-08-29 18:11:29,583.583 INFO    ] 200
[2026-08-29 18:11:29,584.584 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:11:29,609.609 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:11:29,683.683 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:11:29,685.685 INFO    ] No camera update needed
[2026-08-29 18:11:29,686.686 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:11:29,687.687 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:11:29,690.690 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:11:29,693.693 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:11:31,733.733 INFO    ] ================================================
[2026-08-29 18:11:31,750.750 INFO    ] Launching Daemon at Sat Aug 29 18:11:31 IST 2026
[2026-08-29 18:11:31,762.762 INFO    ] ================================================
[2026-08-29 18:11:32,379.379 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:11:32
[2026-08-29 18:11:32,981.981 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:11:33,258.258 INFO    ] Initializing speech engine...
[2026-08-29 18:11:33,266.266 INFO    ] 2026-08-29 18:11:33
[2026-08-29 18:11:33,514.514 INFO    ] 2026-08-29 18:11:33
[2026-08-29 18:11:33,549.549 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:11:33,721.721 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:11:33,733.733 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:11:33,874.874 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:11:33,883.883 INFO    ] time= 29/08/2026 18:11:33
[2026-08-29 18:11:33,892.892 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:11:33,937.937 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:11:34,069.069 INFO    ] No existing commands found in stream
[2026-08-29 18:11:39,092.092 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:11:39,095.095 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-08-29 18:11:40,415.415 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:11:40,417.417 INFO    ] Checking for system updates...
[2026-08-29 18:11:40,437.437 INFO    ] 200
[2026-08-29 18:11:40,438.438 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:11:40,471.471 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:11:40,473.473 INFO    ] No update needed
[2026-08-29 18:11:40,474.474 INFO    ] Checking for camera pi updates...
[2026-08-29 18:11:40,494.494 INFO    ] 200
[2026-08-29 18:11:40,495.495 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:11:40,520.520 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:11:40,615.615 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:11:40,617.617 INFO    ] No camera update needed
[2026-08-29 18:11:40,618.618 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:11:40,619.619 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:11:40,623.623 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:11:40,626.626 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:11:42,664.664 INFO    ] ================================================
[2026-08-29 18:11:42,680.680 INFO    ] Launching Daemon at Sat Aug 29 18:11:42 IST 2026
[2026-08-29 18:11:42,693.693 INFO    ] ================================================
[2026-08-29 18:11:43,013.013 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:11:43
[2026-08-29 18:11:43,323.323 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:11:43,460.460 INFO    ] Initializing speech engine...
[2026-08-29 18:11:43,468.468 INFO    ] 2026-08-29 18:11:43
[2026-08-29 18:11:43,673.673 INFO    ] 2026-08-29 18:11:43
[2026-08-29 18:11:43,701.701 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:11:43,824.824 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:11:43,861.861 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:11:44,016.016 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:11:44,072.072 INFO    ] time= 29/08/2026 18:11:44
[2026-08-29 18:11:44,110.110 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:11:44,116.116 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:11:44,187.187 INFO    ] No existing commands found in stream
[2026-08-29 18:11:49,197.197 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:11:49,200.200 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-08-29 18:11:50,089.089 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:11:50,091.091 INFO    ] Checking for system updates...
[2026-08-29 18:11:50,113.113 INFO    ] 200
[2026-08-29 18:11:50,114.114 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:11:50,158.158 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:11:50,161.161 INFO    ] No update needed
[2026-08-29 18:11:50,163.163 INFO    ] Checking for camera pi updates...
[2026-08-29 18:11:50,196.196 INFO    ] 200
[2026-08-29 18:11:50,199.199 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:11:50,245.245 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:11:50,354.354 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:11:50,356.356 INFO    ] No camera update needed
[2026-08-29 18:11:50,358.358 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:11:50,361.361 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:11:50,366.366 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:11:50,371.371 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:11:52,411.411 INFO    ] ================================================
[2026-08-29 18:11:52,427.427 INFO    ] Launching Daemon at Sat Aug 29 18:11:52 IST 2026
[2026-08-29 18:11:52,438.438 INFO    ] ================================================
[2026-08-29 18:11:53,006.006 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:11:53
[2026-08-29 18:11:53,436.436 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:11:53,567.567 INFO    ] Initializing speech engine...
[2026-08-29 18:11:53,575.575 INFO    ] 2026-08-29 18:11:53
[2026-08-29 18:11:53,767.767 INFO    ] 2026-08-29 18:11:53
[2026-08-29 18:11:53,810.810 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:11:53,996.996 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:11:54,018.018 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:11:54,188.188 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:11:54,200.200 INFO    ] time= 29/08/2026 18:11:54
[2026-08-29 18:11:54,242.242 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:11:54,301.301 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:11:54,383.383 INFO    ] No existing commands found in stream
[2026-08-29 18:11:59,395.395 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:11:59,397.397 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-08-29 18:12:00,170.170 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:12:00,171.171 INFO    ] Checking for system updates...
[2026-08-29 18:12:00,194.194 INFO    ] 200
[2026-08-29 18:12:00,195.195 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:12:00,228.228 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:12:00,229.229 INFO    ] No update needed
[2026-08-29 18:12:00,230.230 INFO    ] Checking for camera pi updates...
[2026-08-29 18:12:00,249.249 INFO    ] 200
[2026-08-29 18:12:00,251.251 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:12:00,277.277 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:12:00,358.358 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:12:00,360.360 INFO    ] No camera update needed
[2026-08-29 18:12:00,361.361 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:12:00,362.362 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:12:00,365.365 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:12:00,368.368 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:12:02,409.409 INFO    ] ================================================
[2026-08-29 18:12:02,430.430 INFO    ] Launching Daemon at Sat Aug 29 18:12:02 IST 2026
[2026-08-29 18:12:02,447.447 INFO    ] ================================================
[2026-08-29 18:12:03,070.070 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:12:03
[2026-08-29 18:12:03,785.785 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:12:04,089.089 INFO    ] Initializing speech engine...
[2026-08-29 18:12:04,098.098 INFO    ] 2026-08-29 18:12:04
[2026-08-29 18:12:04,369.369 INFO    ] 2026-08-29 18:12:04
[2026-08-29 18:12:04,428.428 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:12:04,577.577 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:12:04,590.590 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:12:04,736.736 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:12:04,745.745 INFO    ] time= 29/08/2026 18:12:04
[2026-08-29 18:12:04,752.752 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:12:04,793.793 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:12:04,906.906 INFO    ] No existing commands found in stream
[2026-08-29 18:12:09,932.932 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:12:09,935.935 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-08-29 18:12:11,551.551 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:12:11,558.558 INFO    ] Checking for system updates...
[2026-08-29 18:12:11,588.588 INFO    ] 200
[2026-08-29 18:12:11,589.589 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:12:11,622.622 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:12:11,623.623 INFO    ] No update needed
[2026-08-29 18:12:11,625.625 INFO    ] Checking for camera pi updates...
[2026-08-29 18:12:11,644.644 INFO    ] 200
[2026-08-29 18:12:11,646.646 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:12:11,671.671 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:12:11,774.774 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:12:11,776.776 INFO    ] No camera update needed
[2026-08-29 18:12:11,777.777 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:12:11,779.779 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:12:11,782.782 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:12:11,785.785 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:12:13,823.823 INFO    ] ================================================
[2026-08-29 18:12:13,839.839 INFO    ] Launching Daemon at Sat Aug 29 18:12:13 IST 2026
[2026-08-29 18:12:13,850.850 INFO    ] ================================================
[2026-08-29 18:12:14,239.239 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:12:14
[2026-08-29 18:12:14,574.574 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:12:14,725.725 INFO    ] Initializing speech engine...
[2026-08-29 18:12:14,731.731 INFO    ] 2026-08-29 18:12:14
[2026-08-29 18:12:14,958.958 INFO    ] 2026-08-29 18:12:14
[2026-08-29 18:12:15,048.048 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:12:15,204.204 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:12:15,214.214 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:12:15,351.351 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:12:15,384.384 INFO    ] time= 29/08/2026 18:12:15
[2026-08-29 18:12:15,449.449 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:12:15,490.490 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:12:15,547.547 INFO    ] No existing commands found in stream
[2026-08-29 18:12:20,559.559 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:12:20,562.562 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-08-29 18:12:21,273.273 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:12:21,274.274 INFO    ] Checking for system updates...
[2026-08-29 18:12:21,295.295 INFO    ] 200
[2026-08-29 18:12:21,296.296 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:12:21,328.328 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:12:21,329.329 INFO    ] No update needed
[2026-08-29 18:12:21,331.331 INFO    ] Checking for camera pi updates...
[2026-08-29 18:12:21,351.351 INFO    ] 200
[2026-08-29 18:12:21,352.352 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:12:21,375.375 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:12:21,516.516 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:12:21,517.517 INFO    ] No camera update needed
[2026-08-29 18:12:21,518.518 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:12:21,519.519 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:12:21,522.522 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:12:21,525.525 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:12:23,564.564 INFO    ] ================================================
[2026-08-29 18:12:23,580.580 INFO    ] Launching Daemon at Sat Aug 29 18:12:23 IST 2026
[2026-08-29 18:12:23,595.595 INFO    ] ================================================
[2026-08-29 18:12:23,970.970 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:12:23
[2026-08-29 18:12:24,305.305 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:12:24,497.497 INFO    ] Initializing speech engine...
[2026-08-29 18:12:24,507.507 INFO    ] 2026-08-29 18:12:24
[2026-08-29 18:12:24,781.781 INFO    ] 2026-08-29 18:12:24
[2026-08-29 18:12:24,839.839 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:12:25,062.062 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:12:25,071.071 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:12:25,204.204 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:12:25,236.236 INFO    ] time= 29/08/2026 18:12:25
[2026-08-29 18:12:25,296.296 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:12:25,340.340 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:12:25,398.398 INFO    ] No existing commands found in stream
[2026-08-29 18:12:30,411.411 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:12:30,414.414 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-08-29 18:12:32,457.457 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:12:32,460.460 INFO    ] Checking for system updates...
[2026-08-29 18:12:32,503.503 INFO    ] 200
[2026-08-29 18:12:32,506.506 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:12:32,569.569 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:12:32,572.572 INFO    ] No update needed
[2026-08-29 18:12:32,574.574 INFO    ] Checking for camera pi updates...
[2026-08-29 18:12:32,614.614 INFO    ] 200
[2026-08-29 18:12:32,616.616 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:12:32,664.664 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:12:32,870.870 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:12:32,872.872 INFO    ] No camera update needed
[2026-08-29 18:12:32,875.875 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:12:32,877.877 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:12:32,882.882 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:12:32,887.887 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:12:34,928.928 INFO    ] ================================================
[2026-08-29 18:12:34,944.944 INFO    ] Launching Daemon at Sat Aug 29 18:12:34 IST 2026
[2026-08-29 18:12:34,955.955 INFO    ] ================================================
[2026-08-29 18:12:35,504.504 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:12:35
[2026-08-29 18:12:35,839.839 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:12:35,984.984 INFO    ] Initializing speech engine...
[2026-08-29 18:12:35,994.994 INFO    ] 2026-08-29 18:12:35
[2026-08-29 18:12:36,201.201 INFO    ] 2026-08-29 18:12:36
[2026-08-29 18:12:36,230.230 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:12:36,357.357 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:12:36,415.415 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:12:36,559.559 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:12:36,621.621 INFO    ] time= 29/08/2026 18:12:36
[2026-08-29 18:12:36,644.644 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:12:36,651.651 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:12:36,718.718 INFO    ] No existing commands found in stream
[2026-08-29 18:12:41,733.733 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:12:41,742.742 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-08-29 18:12:43,582.582 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:12:43,584.584 INFO    ] Checking for system updates...
[2026-08-29 18:12:43,605.605 INFO    ] 200
[2026-08-29 18:12:43,606.606 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:12:43,641.641 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:12:43,642.642 INFO    ] No update needed
[2026-08-29 18:12:43,643.643 INFO    ] Checking for camera pi updates...
[2026-08-29 18:12:43,662.662 INFO    ] 200
[2026-08-29 18:12:43,664.664 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:12:43,687.687 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:12:43,765.765 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:12:43,767.767 INFO    ] No camera update needed
[2026-08-29 18:12:43,768.768 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:12:43,769.769 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:12:43,772.772 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:12:43,775.775 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:12:45,814.814 INFO    ] ================================================
[2026-08-29 18:12:45,829.829 INFO    ] Launching Daemon at Sat Aug 29 18:12:45 IST 2026
[2026-08-29 18:12:45,840.840 INFO    ] ================================================
[2026-08-29 18:12:46,216.216 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:12:46
[2026-08-29 18:12:46,600.600 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:12:46,882.882 INFO    ] Initializing speech engine...
[2026-08-29 18:12:46,888.888 INFO    ] 2026-08-29 18:12:46
[2026-08-29 18:12:47,146.146 INFO    ] 2026-08-29 18:12:47
[2026-08-29 18:12:47,200.200 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:12:47,351.351 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:12:47,368.368 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:12:47,493.493 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:12:47,501.501 INFO    ] time= 29/08/2026 18:12:47
[2026-08-29 18:12:47,509.509 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:12:47,564.564 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:12:47,684.684 INFO    ] No existing commands found in stream
[2026-08-29 18:12:52,707.707 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:12:52,710.710 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-08-29 18:12:53,739.739 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:12:53,740.740 INFO    ] Checking for system updates...
[2026-08-29 18:12:53,762.762 INFO    ] 200
[2026-08-29 18:12:53,764.764 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:12:53,796.796 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:12:53,797.797 INFO    ] No update needed
[2026-08-29 18:12:53,799.799 INFO    ] Checking for camera pi updates...
[2026-08-29 18:12:53,821.821 INFO    ] 200
[2026-08-29 18:12:53,823.823 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:12:53,850.850 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:12:53,936.936 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:12:53,938.938 INFO    ] No camera update needed
[2026-08-29 18:12:53,939.939 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:12:53,940.940 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:12:53,944.944 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:12:53,947.947 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:12:55,986.986 INFO    ] ================================================
[2026-08-29 18:12:56,001.001 INFO    ] Launching Daemon at Sat Aug 29 18:12:55 IST 2026
[2026-08-29 18:12:56,012.012 INFO    ] ================================================
[2026-08-29 18:12:56,366.366 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:12:56
[2026-08-29 18:12:56,703.703 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:12:56,939.939 INFO    ] Initializing speech engine...
[2026-08-29 18:12:56,953.953 INFO    ] 2026-08-29 18:12:56
[2026-08-29 18:12:57,263.263 INFO    ] 2026-08-29 18:12:57
[2026-08-29 18:12:57,342.342 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:12:57,497.497 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:12:57,508.508 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:12:57,640.640 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:12:57,657.657 INFO    ] time= 29/08/2026 18:12:57
[2026-08-29 18:12:57,711.711 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:12:57,775.775 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:12:57,829.829 INFO    ] No existing commands found in stream
[2026-08-29 18:13:02,849.849 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:13:02,861.861 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-08-29 18:13:03,369.369 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:13:03,372.372 INFO    ] Checking for system updates...
[2026-08-29 18:13:03,415.415 INFO    ] 200
[2026-08-29 18:13:03,418.418 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:13:03,481.481 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:13:03,484.484 INFO    ] No update needed
[2026-08-29 18:13:03,487.487 INFO    ] Checking for camera pi updates...
[2026-08-29 18:13:03,526.526 INFO    ] 200
[2026-08-29 18:13:03,528.528 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:13:03,569.569 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:13:03,678.678 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:13:03,680.680 INFO    ] No camera update needed
[2026-08-29 18:13:03,683.683 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:13:03,685.685 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:13:03,691.691 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:13:03,696.696 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:13:05,736.736 INFO    ] ================================================
[2026-08-29 18:13:05,753.753 INFO    ] Launching Daemon at Sat Aug 29 18:13:05 IST 2026
[2026-08-29 18:13:05,765.765 INFO    ] ================================================
[2026-08-29 18:13:06,143.143 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:13:06
[2026-08-29 18:13:06,656.656 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:13:06,919.919 INFO    ] Initializing speech engine...
[2026-08-29 18:13:06,937.937 INFO    ] 2026-08-29 18:13:06
[2026-08-29 18:13:07,214.214 INFO    ] 2026-08-29 18:13:07
[2026-08-29 18:13:07,255.255 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:13:07,405.405 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:13:07,417.417 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:13:07,557.557 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:13:07,574.574 INFO    ] time= 29/08/2026 18:13:07
[2026-08-29 18:13:07,578.578 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:13:07,584.584 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:13:07,644.644 INFO    ] No existing commands found in stream
[2026-08-29 18:13:12,662.662 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:13:12,665.665 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-08-29 18:13:16,696.696 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:13:16,697.697 INFO    ] Checking for system updates...
[2026-08-29 18:13:16,719.719 INFO    ] 200
[2026-08-29 18:13:16,721.721 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:13:16,751.751 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:13:16,752.752 INFO    ] No update needed
[2026-08-29 18:13:16,753.753 INFO    ] Checking for camera pi updates...
[2026-08-29 18:13:16,773.773 INFO    ] 200
[2026-08-29 18:13:16,774.774 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:13:16,804.804 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:13:16,885.885 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:13:16,887.887 INFO    ] No camera update needed
[2026-08-29 18:13:16,889.889 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:13:16,892.892 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:13:16,897.897 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:13:16,902.902 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:13:18,942.942 INFO    ] ================================================
[2026-08-29 18:13:18,959.959 INFO    ] Launching Daemon at Sat Aug 29 18:13:18 IST 2026
[2026-08-29 18:13:18,970.970 INFO    ] ================================================
[2026-08-29 18:13:19,555.555 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:13:19
[2026-08-29 18:13:20,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:13:20,217.217 INFO    ] Initializing speech engine...
[2026-08-29 18:13:20,230.230 INFO    ] 2026-08-29 18:13:20
[2026-08-29 18:13:20,453.453 INFO    ] 2026-08-29 18:13:20
[2026-08-29 18:13:20,484.484 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:13:20,580.580 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:13:20,584.584 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:13:20,693.693 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:13:20,703.703 INFO    ] time= 29/08/2026 18:13:20
[2026-08-29 18:13:20,708.708 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:13:20,725.725 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:13:20,797.797 INFO    ] No existing commands found in stream
[2026-08-29 18:13:25,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:13:25,816.816 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-08-29 18:13:26,582.582 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:13:26,583.583 INFO    ] Checking for system updates...
[2026-08-29 18:13:26,604.604 INFO    ] 200
[2026-08-29 18:13:26,606.606 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:13:26,639.639 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:13:26,640.640 INFO    ] No update needed
[2026-08-29 18:13:26,642.642 INFO    ] Checking for camera pi updates...
[2026-08-29 18:13:26,663.663 INFO    ] 200
[2026-08-29 18:13:26,665.665 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:13:26,688.688 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:13:26,787.787 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:13:26,788.788 INFO    ] No camera update needed
[2026-08-29 18:13:26,789.789 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:13:26,791.791 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:13:26,794.794 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:13:26,797.797 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:13:28,836.836 INFO    ] ================================================
[2026-08-29 18:13:28,852.852 INFO    ] Launching Daemon at Sat Aug 29 18:13:28 IST 2026
[2026-08-29 18:13:28,863.863 INFO    ] ================================================
[2026-08-29 18:13:29,225.225 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:13:29
[2026-08-29 18:13:29,571.571 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:13:29,725.725 INFO    ] Initializing speech engine...
[2026-08-29 18:13:29,731.731 INFO    ] 2026-08-29 18:13:29
[2026-08-29 18:13:29,948.948 INFO    ] 2026-08-29 18:13:29
[2026-08-29 18:13:29,976.976 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:13:30,101.101 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:13:30,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:13:30,334.334 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:13:30,372.372 INFO    ] time= 29/08/2026 18:13:30
[2026-08-29 18:13:30,432.432 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:13:30,487.487 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:13:30,554.554 INFO    ] No existing commands found in stream
[2026-08-29 18:13:35,565.565 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:13:35,568.568 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-08-29 18:13:36,963.963 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:13:36,965.965 INFO    ] Checking for system updates...
[2026-08-29 18:13:36,987.987 INFO    ] 200
[2026-08-29 18:13:36,988.988 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:13:37,020.020 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:13:37,022.022 INFO    ] No update needed
[2026-08-29 18:13:37,023.023 INFO    ] Checking for camera pi updates...
[2026-08-29 18:13:37,043.043 INFO    ] 200
[2026-08-29 18:13:37,044.044 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:13:37,070.070 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:13:37,197.197 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:13:37,199.199 INFO    ] No camera update needed
[2026-08-29 18:13:37,200.200 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:13:37,202.202 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:13:37,205.205 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:13:37,208.208 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:13:39,247.247 INFO    ] ================================================
[2026-08-29 18:13:39,263.263 INFO    ] Launching Daemon at Sat Aug 29 18:13:39 IST 2026
[2026-08-29 18:13:39,274.274 INFO    ] ================================================
[2026-08-29 18:13:39,601.601 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:13:39
[2026-08-29 18:13:39,915.915 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:13:40,046.046 INFO    ] Initializing speech engine...
[2026-08-29 18:13:40,050.050 INFO    ] 2026-08-29 18:13:40
[2026-08-29 18:13:40,241.241 INFO    ] 2026-08-29 18:13:40
[2026-08-29 18:13:40,281.281 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:13:40,427.427 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:13:40,471.471 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:13:40,622.622 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:13:40,684.684 INFO    ] time= 29/08/2026 18:13:40
[2026-08-29 18:13:40,718.718 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:13:40,728.728 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:13:40,831.831 INFO    ] No existing commands found in stream
[2026-08-29 18:13:45,846.846 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:13:45,848.848 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-08-29 18:13:48,467.467 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:13:48,468.468 INFO    ] Checking for system updates...
[2026-08-29 18:13:48,489.489 INFO    ] 200
[2026-08-29 18:13:48,490.490 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:13:48,522.522 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:13:48,524.524 INFO    ] No update needed
[2026-08-29 18:13:48,525.525 INFO    ] Checking for camera pi updates...
[2026-08-29 18:13:48,544.544 INFO    ] 200
[2026-08-29 18:13:48,545.545 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:13:48,568.568 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:13:48,644.644 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:13:48,645.645 INFO    ] No camera update needed
[2026-08-29 18:13:48,647.647 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:13:48,648.648 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:13:48,651.651 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:13:48,653.653 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:13:50,693.693 INFO    ] ================================================
[2026-08-29 18:13:50,708.708 INFO    ] Launching Daemon at Sat Aug 29 18:13:50 IST 2026
[2026-08-29 18:13:50,719.719 INFO    ] ================================================
[2026-08-29 18:13:51,046.046 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:13:51
[2026-08-29 18:13:51,357.357 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:13:51,566.566 INFO    ] Initializing speech engine...
[2026-08-29 18:13:51,576.576 INFO    ] 2026-08-29 18:13:51
[2026-08-29 18:13:51,847.847 INFO    ] 2026-08-29 18:13:51
[2026-08-29 18:13:51,892.892 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:13:52,079.079 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:13:52,092.092 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:13:52,208.208 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:13:52,211.211 INFO    ] time= 29/08/2026 18:13:52
[2026-08-29 18:13:52,214.214 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:13:52,216.216 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:13:52,326.326 INFO    ] No existing commands found in stream
[2026-08-29 18:13:57,338.338 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:13:57,340.340 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-08-29 18:14:01,016.016 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:14:01,017.017 INFO    ] Checking for system updates...
[2026-08-29 18:14:01,038.038 INFO    ] 200
[2026-08-29 18:14:01,039.039 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:14:01,071.071 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:14:01,073.073 INFO    ] No update needed
[2026-08-29 18:14:01,074.074 INFO    ] Checking for camera pi updates...
[2026-08-29 18:14:01,093.093 INFO    ] 200
[2026-08-29 18:14:01,095.095 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:14:01,118.118 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:14:01,214.214 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:14:01,216.216 INFO    ] No camera update needed
[2026-08-29 18:14:01,219.219 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:14:01,221.221 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:14:01,226.226 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:14:01,231.231 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:14:03,274.274 INFO    ] ================================================
[2026-08-29 18:14:03,289.289 INFO    ] Launching Daemon at Sat Aug 29 18:14:03 IST 2026
[2026-08-29 18:14:03,301.301 INFO    ] ================================================
[2026-08-29 18:14:03,879.879 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:14:03
[2026-08-29 18:14:04,279.279 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:14:04,433.433 INFO    ] Initializing speech engine...
[2026-08-29 18:14:04,438.438 INFO    ] 2026-08-29 18:14:04
[2026-08-29 18:14:04,655.655 INFO    ] 2026-08-29 18:14:04
[2026-08-29 18:14:04,743.743 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:14:04,904.904 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:14:04,909.909 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:14:05,047.047 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:14:05,122.122 INFO    ] time= 29/08/2026 18:14:05
[2026-08-29 18:14:05,173.173 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:14:05,186.186 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:14:05,304.304 INFO    ] No existing commands found in stream
[2026-08-29 18:14:10,333.333 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:14:10,336.336 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-08-29 18:14:10,927.927 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:14:10,929.929 INFO    ] Checking for system updates...
[2026-08-29 18:14:10,950.950 INFO    ] 200
[2026-08-29 18:14:10,951.951 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:14:10,985.985 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:14:10,986.986 INFO    ] No update needed
[2026-08-29 18:14:10,987.987 INFO    ] Checking for camera pi updates...
[2026-08-29 18:14:11,006.006 INFO    ] 200
[2026-08-29 18:14:11,008.008 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:14:11,031.031 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:14:11,109.109 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:14:11,110.110 INFO    ] No camera update needed
[2026-08-29 18:14:11,111.111 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:14:11,113.113 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:14:11,116.116 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:14:11,118.118 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:14:13,158.158 INFO    ] ================================================
[2026-08-29 18:14:13,173.173 INFO    ] Launching Daemon at Sat Aug 29 18:14:13 IST 2026
[2026-08-29 18:14:13,184.184 INFO    ] ================================================
[2026-08-29 18:14:13,573.573 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:14:13
[2026-08-29 18:14:13,915.915 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:14:14,067.067 INFO    ] Initializing speech engine...
[2026-08-29 18:14:14,072.072 INFO    ] 2026-08-29 18:14:14
[2026-08-29 18:14:14,279.279 INFO    ] 2026-08-29 18:14:14
[2026-08-29 18:14:14,308.308 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:14:14,431.431 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:14:14,474.474 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:14:14,623.623 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:14:14,680.680 INFO    ] time= 29/08/2026 18:14:14
[2026-08-29 18:14:14,722.722 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:14:14,724.724 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:14:14,794.794 INFO    ] No existing commands found in stream
[2026-08-29 18:14:19,804.804 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:14:19,807.807 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-08-29 18:14:22,764.764 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:14:22,766.766 INFO    ] Checking for system updates...
[2026-08-29 18:14:22,786.786 INFO    ] 200
[2026-08-29 18:14:22,787.787 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:14:22,817.817 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:14:22,819.819 INFO    ] No update needed
[2026-08-29 18:14:22,820.820 INFO    ] Checking for camera pi updates...
[2026-08-29 18:14:22,839.839 INFO    ] 200
[2026-08-29 18:14:22,841.841 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:14:22,863.863 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:14:22,943.943 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:14:22,944.944 INFO    ] No camera update needed
[2026-08-29 18:14:22,945.945 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:14:22,947.947 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:14:22,950.950 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:14:22,952.952 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:14:24,991.991 INFO    ] ================================================
[2026-08-29 18:14:25,007.007 INFO    ] Launching Daemon at Sat Aug 29 18:14:25 IST 2026
[2026-08-29 18:14:25,019.019 INFO    ] ================================================
[2026-08-29 18:14:25,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:14:25
[2026-08-29 18:14:26,150.150 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:14:26,425.425 INFO    ] Initializing speech engine...
[2026-08-29 18:14:26,435.435 INFO    ] 2026-08-29 18:14:26
[2026-08-29 18:14:26,687.687 INFO    ] 2026-08-29 18:14:26
[2026-08-29 18:14:26,722.722 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:14:26,896.896 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:14:26,909.909 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:14:27,054.054 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:14:27,061.061 INFO    ] time= 29/08/2026 18:14:27
[2026-08-29 18:14:27,068.068 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:14:27,101.101 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:14:27,231.231 INFO    ] No existing commands found in stream
[2026-08-29 18:14:32,256.256 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:14:32,259.259 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-08-29 18:14:35,862.862 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:14:35,864.864 INFO    ] Checking for system updates...
[2026-08-29 18:14:35,885.885 INFO    ] 200
[2026-08-29 18:14:35,886.886 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:14:35,918.918 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:14:35,919.919 INFO    ] No update needed
[2026-08-29 18:14:35,920.920 INFO    ] Checking for camera pi updates...
[2026-08-29 18:14:35,940.940 INFO    ] 200
[2026-08-29 18:14:35,942.942 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:14:35,965.965 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:14:36,163.163 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:14:36,165.165 INFO    ] No camera update needed
[2026-08-29 18:14:36,166.166 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:14:36,167.167 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:14:36,171.171 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:14:36,174.174 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:14:38,214.214 INFO    ] ================================================
[2026-08-29 18:14:38,230.230 INFO    ] Launching Daemon at Sat Aug 29 18:14:38 IST 2026
[2026-08-29 18:14:38,241.241 INFO    ] ================================================
[2026-08-29 18:14:38,595.595 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:14:38
[2026-08-29 18:14:38,910.910 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:14:39,053.053 INFO    ] Initializing speech engine...
[2026-08-29 18:14:39,059.059 INFO    ] 2026-08-29 18:14:39
[2026-08-29 18:14:39,247.247 INFO    ] 2026-08-29 18:14:39
[2026-08-29 18:14:39,301.301 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:14:39,465.465 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:14:39,472.472 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:14:39,626.626 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:14:39,669.669 INFO    ] time= 29/08/2026 18:14:39
[2026-08-29 18:14:39,685.685 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:14:39,754.754 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:14:39,824.824 INFO    ] No existing commands found in stream
[2026-08-29 18:14:44,840.840 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:14:44,843.843 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-08-29 18:14:45,872.872 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:14:45,874.874 INFO    ] Checking for system updates...
[2026-08-29 18:14:45,895.895 INFO    ] 200
[2026-08-29 18:14:45,896.896 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:14:45,926.926 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:14:45,928.928 INFO    ] No update needed
[2026-08-29 18:14:45,929.929 INFO    ] Checking for camera pi updates...
[2026-08-29 18:14:45,950.950 INFO    ] 200
[2026-08-29 18:14:45,952.952 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:14:45,975.975 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:14:46,092.092 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:14:46,094.094 INFO    ] No camera update needed
[2026-08-29 18:14:46,095.095 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:14:46,097.097 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:14:46,100.100 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:14:46,103.103 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:14:48,145.145 INFO    ] ================================================
[2026-08-29 18:14:48,161.161 INFO    ] Launching Daemon at Sat Aug 29 18:14:48 IST 2026
[2026-08-29 18:14:48,173.173 INFO    ] ================================================
[2026-08-29 18:14:48,529.529 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:14:48
[2026-08-29 18:14:48,869.869 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:14:49,021.021 INFO    ] Initializing speech engine...
[2026-08-29 18:14:49,026.026 INFO    ] 2026-08-29 18:14:49
[2026-08-29 18:14:49,234.234 INFO    ] 2026-08-29 18:14:49
[2026-08-29 18:14:49,264.264 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:14:49,386.386 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:14:49,439.439 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:14:49,592.592 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:14:49,654.654 INFO    ] time= 29/08/2026 18:14:49
[2026-08-29 18:14:49,678.678 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:14:49,685.685 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:14:49,750.750 INFO    ] No existing commands found in stream
[2026-08-29 18:14:54,762.762 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:14:54,765.765 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-08-29 18:14:56,138.138 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:14:56,140.140 INFO    ] Checking for system updates...
[2026-08-29 18:14:56,162.162 INFO    ] 200
[2026-08-29 18:14:56,164.164 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:14:56,194.194 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:14:56,196.196 INFO    ] No update needed
[2026-08-29 18:14:56,197.197 INFO    ] Checking for camera pi updates...
[2026-08-29 18:14:56,218.218 INFO    ] 200
[2026-08-29 18:14:56,219.219 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:14:56,244.244 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:14:56,347.347 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:14:56,349.349 INFO    ] No camera update needed
[2026-08-29 18:14:56,350.350 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:14:56,352.352 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:14:56,355.355 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:14:56,358.358 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:14:58,397.397 INFO    ] ================================================
[2026-08-29 18:14:58,413.413 INFO    ] Launching Daemon at Sat Aug 29 18:14:58 IST 2026
[2026-08-29 18:14:58,424.424 INFO    ] ================================================
[2026-08-29 18:14:58,804.804 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:14:58
[2026-08-29 18:14:59,148.148 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:14:59,302.302 INFO    ] Initializing speech engine...
[2026-08-29 18:14:59,307.307 INFO    ] 2026-08-29 18:14:59
[2026-08-29 18:14:59,524.524 INFO    ] 2026-08-29 18:14:59
[2026-08-29 18:14:59,556.556 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:14:59,750.750 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:14:59,757.757 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:14:59,919.919 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:14:59,955.955 INFO    ] time= 29/08/2026 18:14:59
[2026-08-29 18:14:59,958.958 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:14:59,972.972 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:15:00,027.027 INFO    ] No existing commands found in stream
[2026-08-29 18:15:05,038.038 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:15:05,041.041 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-08-29 18:15:07,991.991 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:15:07,993.993 INFO    ] Checking for system updates...
[2026-08-29 18:15:08,013.013 INFO    ] 200
[2026-08-29 18:15:08,015.015 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:15:08,044.044 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:15:08,046.046 INFO    ] No update needed
[2026-08-29 18:15:08,047.047 INFO    ] Checking for camera pi updates...
[2026-08-29 18:15:08,067.067 INFO    ] 200
[2026-08-29 18:15:08,068.068 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:15:08,091.091 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:15:08,167.167 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:15:08,168.168 INFO    ] No camera update needed
[2026-08-29 18:15:08,169.169 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:15:08,171.171 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:15:08,174.174 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:15:08,176.176 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:15:10,215.215 INFO    ] ================================================
[2026-08-29 18:15:10,232.232 INFO    ] Launching Daemon at Sat Aug 29 18:15:10 IST 2026
[2026-08-29 18:15:10,243.243 INFO    ] ================================================
[2026-08-29 18:15:10,580.580 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:15:10
[2026-08-29 18:15:10,901.901 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:15:11,045.045 INFO    ] Initializing speech engine...
[2026-08-29 18:15:11,050.050 INFO    ] 2026-08-29 18:15:11
[2026-08-29 18:15:11,252.252 INFO    ] 2026-08-29 18:15:11
[2026-08-29 18:15:11,281.281 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:15:11,403.403 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:15:11,465.465 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:15:11,601.601 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:15:11,667.667 INFO    ] time= 29/08/2026 18:15:11
[2026-08-29 18:15:11,694.694 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:15:11,701.701 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:15:11,768.768 INFO    ] No existing commands found in stream
[2026-08-29 18:15:16,777.777 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:15:16,779.779 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-08-29 18:15:18,872.872 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:15:18,873.873 INFO    ] Checking for system updates...
[2026-08-29 18:15:18,893.893 INFO    ] 200
[2026-08-29 18:15:18,895.895 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:15:18,925.925 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:15:18,927.927 INFO    ] No update needed
[2026-08-29 18:15:18,928.928 INFO    ] Checking for camera pi updates...
[2026-08-29 18:15:18,947.947 INFO    ] 200
[2026-08-29 18:15:18,948.948 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:15:18,971.971 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:15:19,058.058 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:15:19,059.059 INFO    ] No camera update needed
[2026-08-29 18:15:19,060.060 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:15:19,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:15:19,064.064 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:15:19,067.067 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:15:21,107.107 INFO    ] ================================================
[2026-08-29 18:15:21,123.123 INFO    ] Launching Daemon at Sat Aug 29 18:15:21 IST 2026
[2026-08-29 18:15:21,135.135 INFO    ] ================================================
[2026-08-29 18:15:21,616.616 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:15:21
[2026-08-29 18:15:22,202.202 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:15:22,482.482 INFO    ] Initializing speech engine...
[2026-08-29 18:15:22,491.491 INFO    ] 2026-08-29 18:15:22
[2026-08-29 18:15:22,748.748 INFO    ] 2026-08-29 18:15:22
[2026-08-29 18:15:22,784.784 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:15:22,957.957 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:15:22,969.969 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:15:23,081.081 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:15:23,086.086 INFO    ] time= 29/08/2026 18:15:23
[2026-08-29 18:15:23,104.104 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:15:23,125.125 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:15:23,199.199 INFO    ] No existing commands found in stream
[2026-08-29 18:15:28,210.210 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:15:28,213.213 INFO    ] Waiting 2.66 seconds before fallback handling...
[2026-08-29 18:15:31,228.228 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:15:31,230.230 INFO    ] Checking for system updates...
[2026-08-29 18:15:31,251.251 INFO    ] 200
[2026-08-29 18:15:31,252.252 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:15:31,302.302 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:15:31,305.305 INFO    ] No update needed
[2026-08-29 18:15:31,307.307 INFO    ] Checking for camera pi updates...
[2026-08-29 18:15:31,351.351 INFO    ] 200
[2026-08-29 18:15:31,354.354 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:15:31,399.399 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:15:31,523.523 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:15:31,526.526 INFO    ] No camera update needed
[2026-08-29 18:15:31,529.529 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:15:31,531.531 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:15:31,537.537 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:15:31,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:15:33,587.587 INFO    ] ================================================
[2026-08-29 18:15:33,603.603 INFO    ] Launching Daemon at Sat Aug 29 18:15:33 IST 2026
[2026-08-29 18:15:33,614.614 INFO    ] ================================================
[2026-08-29 18:15:34,274.274 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:15:34
[2026-08-29 18:15:34,681.681 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:15:34,833.833 INFO    ] Initializing speech engine...
[2026-08-29 18:15:34,839.839 INFO    ] 2026-08-29 18:15:34
[2026-08-29 18:15:35,040.040 INFO    ] 2026-08-29 18:15:35
[2026-08-29 18:15:35,101.101 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:15:35,330.330 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:15:35,336.336 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:15:35,470.470 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:15:35,528.528 INFO    ] time= 29/08/2026 18:15:35
[2026-08-29 18:15:35,588.588 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:15:35,610.610 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:15:35,666.666 INFO    ] No existing commands found in stream
[2026-08-29 18:15:40,679.679 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:15:40,682.682 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-08-29 18:15:43,455.455 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:15:43,456.456 INFO    ] Checking for system updates...
[2026-08-29 18:15:43,477.477 INFO    ] 200
[2026-08-29 18:15:43,478.478 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:15:43,508.508 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:15:43,509.509 INFO    ] No update needed
[2026-08-29 18:15:43,511.511 INFO    ] Checking for camera pi updates...
[2026-08-29 18:15:43,530.530 INFO    ] 200
[2026-08-29 18:15:43,531.531 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:15:43,554.554 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:15:43,630.630 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:15:43,631.631 INFO    ] No camera update needed
[2026-08-29 18:15:43,633.633 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:15:43,634.634 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:15:43,637.637 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:15:43,640.640 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:15:45,680.680 INFO    ] ================================================
[2026-08-29 18:15:45,696.696 INFO    ] Launching Daemon at Sat Aug 29 18:15:45 IST 2026
[2026-08-29 18:15:45,707.707 INFO    ] ================================================
[2026-08-29 18:15:46,036.036 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:15:46
[2026-08-29 18:15:46,351.351 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:15:46,583.583 INFO    ] Initializing speech engine...
[2026-08-29 18:15:46,589.589 INFO    ] 2026-08-29 18:15:46
[2026-08-29 18:15:46,836.836 INFO    ] 2026-08-29 18:15:46
[2026-08-29 18:15:46,907.907 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:15:47,128.128 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:15:47,137.137 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:15:47,270.270 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:15:47,302.302 INFO    ] time= 29/08/2026 18:15:47
[2026-08-29 18:15:47,356.356 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:15:47,402.402 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:15:47,456.456 INFO    ] No existing commands found in stream
[2026-08-29 18:15:52,468.468 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:15:52,476.476 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-08-29 18:15:53,233.233 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:15:53,235.235 INFO    ] Checking for system updates...
[2026-08-29 18:15:53,255.255 INFO    ] 200
[2026-08-29 18:15:53,256.256 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:15:53,286.286 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:15:53,288.288 INFO    ] No update needed
[2026-08-29 18:15:53,289.289 INFO    ] Checking for camera pi updates...
[2026-08-29 18:15:53,308.308 INFO    ] 200
[2026-08-29 18:15:53,310.310 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:15:53,333.333 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:15:53,426.426 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:15:53,428.428 INFO    ] No camera update needed
[2026-08-29 18:15:53,429.429 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:15:53,430.430 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:15:53,433.433 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:15:53,436.436 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:15:55,474.474 INFO    ] ================================================
[2026-08-29 18:15:55,490.490 INFO    ] Launching Daemon at Sat Aug 29 18:15:55 IST 2026
[2026-08-29 18:15:55,501.501 INFO    ] ================================================
[2026-08-29 18:15:55,846.846 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:15:55
[2026-08-29 18:15:56,215.215 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:15:56,472.472 INFO    ] Initializing speech engine...
[2026-08-29 18:15:56,480.480 INFO    ] 2026-08-29 18:15:56
[2026-08-29 18:15:56,778.778 INFO    ] 2026-08-29 18:15:56
[2026-08-29 18:15:56,812.812 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:15:56,963.963 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:15:56,969.969 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:15:57,123.123 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:15:57,134.134 INFO    ] time= 29/08/2026 18:15:57
[2026-08-29 18:15:57,138.138 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:15:57,142.142 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:15:57,209.209 INFO    ] No existing commands found in stream
[2026-08-29 18:16:02,222.222 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:16:02,226.226 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-08-29 18:16:05,631.631 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:16:05,633.633 INFO    ] Checking for system updates...
[2026-08-29 18:16:05,653.653 INFO    ] 200
[2026-08-29 18:16:05,655.655 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:16:05,685.685 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:16:05,686.686 INFO    ] No update needed
[2026-08-29 18:16:05,687.687 INFO    ] Checking for camera pi updates...
[2026-08-29 18:16:05,706.706 INFO    ] 200
[2026-08-29 18:16:05,708.708 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:16:05,733.733 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:16:05,827.827 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:16:05,828.828 INFO    ] No camera update needed
[2026-08-29 18:16:05,829.829 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:16:05,831.831 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:16:05,834.834 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:16:05,837.837 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:16:07,875.875 INFO    ] ================================================
[2026-08-29 18:16:07,890.890 INFO    ] Launching Daemon at Sat Aug 29 18:16:07 IST 2026
[2026-08-29 18:16:07,901.901 INFO    ] ================================================
[2026-08-29 18:16:08,236.236 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:16:08
[2026-08-29 18:16:08,553.553 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:16:08,779.779 INFO    ] Initializing speech engine...
[2026-08-29 18:16:08,792.792 INFO    ] 2026-08-29 18:16:08
[2026-08-29 18:16:09,086.086 INFO    ] 2026-08-29 18:16:09
[2026-08-29 18:16:09,122.122 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:16:09,274.274 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:16:09,282.282 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:16:09,436.436 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:16:09,445.445 INFO    ] time= 29/08/2026 18:16:09
[2026-08-29 18:16:09,449.449 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:16:09,454.454 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:16:09,522.522 INFO    ] No existing commands found in stream
[2026-08-29 18:16:14,536.536 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:16:14,539.539 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-08-29 18:16:17,227.227 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:16:17,228.228 INFO    ] Checking for system updates...
[2026-08-29 18:16:17,249.249 INFO    ] 200
[2026-08-29 18:16:17,250.250 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:16:17,280.280 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:16:17,282.282 INFO    ] No update needed
[2026-08-29 18:16:17,283.283 INFO    ] Checking for camera pi updates...
[2026-08-29 18:16:17,302.302 INFO    ] 200
[2026-08-29 18:16:17,304.304 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:16:17,326.326 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:16:17,403.403 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:16:17,404.404 INFO    ] No camera update needed
[2026-08-29 18:16:17,406.406 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:16:17,407.407 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:16:17,410.410 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:16:17,412.412 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:16:19,450.450 INFO    ] ================================================
[2026-08-29 18:16:19,467.467 INFO    ] Launching Daemon at Sat Aug 29 18:16:19 IST 2026
[2026-08-29 18:16:19,479.479 INFO    ] ================================================
[2026-08-29 18:16:19,862.862 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:16:19
[2026-08-29 18:16:20,205.205 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:16:20,357.357 INFO    ] Initializing speech engine...
[2026-08-29 18:16:20,364.364 INFO    ] 2026-08-29 18:16:20
[2026-08-29 18:16:20,573.573 INFO    ] 2026-08-29 18:16:20
[2026-08-29 18:16:20,601.601 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:16:20,724.724 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:16:20,787.787 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:16:20,918.918 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:16:20,980.980 INFO    ] time= 29/08/2026 18:16:20
[2026-08-29 18:16:21,017.017 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:16:21,019.019 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:16:21,090.090 INFO    ] No existing commands found in stream
[2026-08-29 18:16:26,101.101 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:16:26,105.105 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-08-29 18:16:26,505.505 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:16:26,506.506 INFO    ] Checking for system updates...
[2026-08-29 18:16:26,527.527 INFO    ] 200
[2026-08-29 18:16:26,528.528 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:16:26,560.560 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:16:26,561.561 INFO    ] No update needed
[2026-08-29 18:16:26,563.563 INFO    ] Checking for camera pi updates...
[2026-08-29 18:16:26,584.584 INFO    ] 200
[2026-08-29 18:16:26,586.586 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:16:26,608.608 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:16:26,703.703 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:16:26,704.704 INFO    ] No camera update needed
[2026-08-29 18:16:26,706.706 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:16:26,707.707 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:16:26,710.710 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:16:26,712.712 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:16:28,753.753 INFO    ] ================================================
[2026-08-29 18:16:28,769.769 INFO    ] Launching Daemon at Sat Aug 29 18:16:28 IST 2026
[2026-08-29 18:16:28,780.780 INFO    ] ================================================
[2026-08-29 18:16:29,417.417 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:16:29
[2026-08-29 18:16:30,098.098 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:16:30,376.376 INFO    ] Initializing speech engine...
[2026-08-29 18:16:30,385.385 INFO    ] 2026-08-29 18:16:30
[2026-08-29 18:16:30,633.633 INFO    ] 2026-08-29 18:16:30
[2026-08-29 18:16:30,668.668 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:16:30,808.808 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:16:30,810.810 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:16:30,942.942 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:16:30,952.952 INFO    ] time= 29/08/2026 18:16:30
[2026-08-29 18:16:30,956.956 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:16:30,971.971 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:16:31,064.064 INFO    ] No existing commands found in stream
[2026-08-29 18:16:36,078.078 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:16:36,080.080 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-08-29 18:16:37,498.498 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:16:37,499.499 INFO    ] Checking for system updates...
[2026-08-29 18:16:37,520.520 INFO    ] 200
[2026-08-29 18:16:37,521.521 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:16:37,553.553 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:16:37,554.554 INFO    ] No update needed
[2026-08-29 18:16:37,556.556 INFO    ] Checking for camera pi updates...
[2026-08-29 18:16:37,579.579 INFO    ] 200
[2026-08-29 18:16:37,580.580 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:16:37,605.605 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:16:37,703.703 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:16:37,705.705 INFO    ] No camera update needed
[2026-08-29 18:16:37,706.706 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:16:37,707.707 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:16:37,710.710 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:16:37,713.713 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:16:39,753.753 INFO    ] ================================================
[2026-08-29 18:16:39,769.769 INFO    ] Launching Daemon at Sat Aug 29 18:16:39 IST 2026
[2026-08-29 18:16:39,780.780 INFO    ] ================================================
[2026-08-29 18:16:40,113.113 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:16:40
[2026-08-29 18:16:40,425.425 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:16:40,560.560 INFO    ] Initializing speech engine...
[2026-08-29 18:16:40,564.564 INFO    ] 2026-08-29 18:16:40
[2026-08-29 18:16:40,785.785 INFO    ] 2026-08-29 18:16:40
[2026-08-29 18:16:40,813.813 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:16:40,936.936 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:16:40,998.998 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:16:41,136.136 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:16:41,201.201 INFO    ] time= 29/08/2026 18:16:41
[2026-08-29 18:16:41,228.228 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:16:41,234.234 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:16:41,300.300 INFO    ] No existing commands found in stream
[2026-08-29 18:16:46,311.311 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:16:46,314.314 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 18:16:48,093.093 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:16:48,096.096 INFO    ] Checking for system updates...
[2026-08-29 18:16:48,133.133 INFO    ] 200
[2026-08-29 18:16:48,136.136 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:16:48,197.197 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:16:48,200.200 INFO    ] No update needed
[2026-08-29 18:16:48,203.203 INFO    ] Checking for camera pi updates...
[2026-08-29 18:16:48,252.252 INFO    ] 200
[2026-08-29 18:16:48,255.255 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:16:48,295.295 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:16:48,473.473 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:16:48,475.475 INFO    ] No camera update needed
[2026-08-29 18:16:48,478.478 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:16:48,480.480 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:16:48,485.485 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:16:48,490.490 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:16:50,533.533 INFO    ] ================================================
[2026-08-29 18:16:50,549.549 INFO    ] Launching Daemon at Sat Aug 29 18:16:50 IST 2026
[2026-08-29 18:16:50,560.560 INFO    ] ================================================
[2026-08-29 18:16:51,004.004 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:16:51
[2026-08-29 18:16:51,317.317 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:16:51,456.456 INFO    ] Initializing speech engine...
[2026-08-29 18:16:51,466.466 INFO    ] 2026-08-29 18:16:51
[2026-08-29 18:16:51,684.684 INFO    ] 2026-08-29 18:16:51
[2026-08-29 18:16:51,739.739 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:16:51,873.873 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:16:51,879.879 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:16:52,060.060 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:16:52,115.115 INFO    ] time= 29/08/2026 18:16:52
[2026-08-29 18:16:52,125.125 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:16:52,145.145 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:16:52,251.251 INFO    ] No existing commands found in stream
[2026-08-29 18:16:57,277.277 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:16:57,279.279 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-08-29 18:17:00,986.986 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:17:00,988.988 INFO    ] Checking for system updates...
[2026-08-29 18:17:01,008.008 INFO    ] 200
[2026-08-29 18:17:01,009.009 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:17:01,039.039 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:17:01,040.040 INFO    ] No update needed
[2026-08-29 18:17:01,041.041 INFO    ] Checking for camera pi updates...
[2026-08-29 18:17:01,067.067 INFO    ] 200
[2026-08-29 18:17:01,068.068 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:17:01,093.093 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:17:01,186.186 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:17:01,187.187 INFO    ] No camera update needed
[2026-08-29 18:17:01,188.188 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:17:01,190.190 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:17:01,192.192 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:17:01,195.195 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:17:03,236.236 INFO    ] ================================================
[2026-08-29 18:17:03,254.254 INFO    ] Launching Daemon at Sat Aug 29 18:17:03 IST 2026
[2026-08-29 18:17:03,267.267 INFO    ] ================================================
[2026-08-29 18:17:03,894.894 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:17:03
[2026-08-29 18:17:04,528.528 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:17:04,704.704 INFO    ] Initializing speech engine...
[2026-08-29 18:17:04,709.709 INFO    ] 2026-08-29 18:17:04
[2026-08-29 18:17:04,916.916 INFO    ] 2026-08-29 18:17:04
[2026-08-29 18:17:04,945.945 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:17:05,076.076 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:17:05,134.134 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:17:05,310.310 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:17:05,354.354 INFO    ] time= 29/08/2026 18:17:05
[2026-08-29 18:17:05,408.408 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:17:05,468.468 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:17:05,555.555 INFO    ] No existing commands found in stream
[2026-08-29 18:17:10,575.575 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:17:10,578.578 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-08-29 18:17:11,889.889 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:17:11,891.891 INFO    ] Checking for system updates...
[2026-08-29 18:17:11,913.913 INFO    ] 200
[2026-08-29 18:17:11,914.914 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:17:11,944.944 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:17:11,945.945 INFO    ] No update needed
[2026-08-29 18:17:11,947.947 INFO    ] Checking for camera pi updates...
[2026-08-29 18:17:11,966.966 INFO    ] 200
[2026-08-29 18:17:11,967.967 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:17:11,990.990 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:17:12,095.095 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:17:12,097.097 INFO    ] No camera update needed
[2026-08-29 18:17:12,098.098 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:17:12,099.099 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:17:12,103.103 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:17:12,105.105 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:17:14,147.147 INFO    ] ================================================
[2026-08-29 18:17:14,163.163 INFO    ] Launching Daemon at Sat Aug 29 18:17:14 IST 2026
[2026-08-29 18:17:14,174.174 INFO    ] ================================================
[2026-08-29 18:17:14,707.707 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:17:14
[2026-08-29 18:17:15,291.291 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:17:15,565.565 INFO    ] Initializing speech engine...
[2026-08-29 18:17:15,574.574 INFO    ] 2026-08-29 18:17:15
[2026-08-29 18:17:15,824.824 INFO    ] 2026-08-29 18:17:15
[2026-08-29 18:17:15,859.859 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:17:16,051.051 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:17:16,057.057 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:17:16,186.186 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:17:16,193.193 INFO    ] time= 29/08/2026 18:17:16
[2026-08-29 18:17:16,199.199 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:17:16,219.219 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:17:16,319.319 INFO    ] No existing commands found in stream
[2026-08-29 18:17:21,331.331 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:17:21,334.334 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-08-29 18:17:23,845.845 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:17:23,846.846 INFO    ] Checking for system updates...
[2026-08-29 18:17:23,867.867 INFO    ] 200
[2026-08-29 18:17:23,869.869 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:17:23,900.900 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:17:23,902.902 INFO    ] No update needed
[2026-08-29 18:17:23,903.903 INFO    ] Checking for camera pi updates...
[2026-08-29 18:17:23,923.923 INFO    ] 200
[2026-08-29 18:17:23,924.924 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:17:23,962.962 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:17:24,058.058 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:17:24,060.060 INFO    ] No camera update needed
[2026-08-29 18:17:24,063.063 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:17:24,065.065 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:17:24,070.070 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:17:24,075.075 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:17:26,115.115 INFO    ] ================================================
[2026-08-29 18:17:26,131.131 INFO    ] Launching Daemon at Sat Aug 29 18:17:26 IST 2026
[2026-08-29 18:17:26,142.142 INFO    ] ================================================
[2026-08-29 18:17:26,725.725 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:17:26
[2026-08-29 18:17:27,200.200 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:17:27,338.338 INFO    ] Initializing speech engine...
[2026-08-29 18:17:27,348.348 INFO    ] 2026-08-29 18:17:27
[2026-08-29 18:17:27,552.552 INFO    ] 2026-08-29 18:17:27
[2026-08-29 18:17:27,581.581 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:17:27,719.719 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:17:27,766.766 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:17:27,928.928 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:17:27,942.942 INFO    ] time= 29/08/2026 18:17:27
[2026-08-29 18:17:28,002.002 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:17:28,056.056 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:17:28,137.137 INFO    ] No existing commands found in stream
[2026-08-29 18:17:33,147.147 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:17:33,150.150 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-08-29 18:17:35,147.147 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:17:35,148.148 INFO    ] Checking for system updates...
[2026-08-29 18:17:35,170.170 INFO    ] 200
[2026-08-29 18:17:35,171.171 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:17:35,202.202 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:17:35,203.203 INFO    ] No update needed
[2026-08-29 18:17:35,204.204 INFO    ] Checking for camera pi updates...
[2026-08-29 18:17:35,224.224 INFO    ] 200
[2026-08-29 18:17:35,225.225 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:17:35,248.248 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:17:35,349.349 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:17:35,350.350 INFO    ] No camera update needed
[2026-08-29 18:17:35,351.351 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:17:35,353.353 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:17:35,355.355 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:17:35,358.358 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:17:37,398.398 INFO    ] ================================================
[2026-08-29 18:17:37,414.414 INFO    ] Launching Daemon at Sat Aug 29 18:17:37 IST 2026
[2026-08-29 18:17:37,426.426 INFO    ] ================================================
[2026-08-29 18:17:37,784.784 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:17:37
[2026-08-29 18:17:38,274.274 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:17:38,575.575 INFO    ] Initializing speech engine...
[2026-08-29 18:17:38,581.581 INFO    ] 2026-08-29 18:17:38
[2026-08-29 18:17:38,856.856 INFO    ] 2026-08-29 18:17:38
[2026-08-29 18:17:38,918.918 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:17:39,145.145 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:17:39,155.155 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:17:39,295.295 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:17:39,340.340 INFO    ] time= 29/08/2026 18:17:39
[2026-08-29 18:17:39,390.390 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:17:39,430.430 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:17:39,492.492 INFO    ] No existing commands found in stream
[2026-08-29 18:17:44,508.508 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:17:44,512.512 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-08-29 18:17:48,636.636 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:17:48,637.637 INFO    ] Checking for system updates...
[2026-08-29 18:17:48,657.657 INFO    ] 200
[2026-08-29 18:17:48,659.659 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:17:48,689.689 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:17:48,690.690 INFO    ] No update needed
[2026-08-29 18:17:48,691.691 INFO    ] Checking for camera pi updates...
[2026-08-29 18:17:48,711.711 INFO    ] 200
[2026-08-29 18:17:48,712.712 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:17:48,737.737 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:17:48,825.825 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:17:48,826.826 INFO    ] No camera update needed
[2026-08-29 18:17:48,827.827 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:17:48,828.828 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:17:48,831.831 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:17:48,834.834 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:17:50,873.873 INFO    ] ================================================
[2026-08-29 18:17:50,889.889 INFO    ] Launching Daemon at Sat Aug 29 18:17:50 IST 2026
[2026-08-29 18:17:50,900.900 INFO    ] ================================================
[2026-08-29 18:17:51,321.321 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:17:51
[2026-08-29 18:17:51,914.914 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:17:52,191.191 INFO    ] Initializing speech engine...
[2026-08-29 18:17:52,200.200 INFO    ] 2026-08-29 18:17:52
[2026-08-29 18:17:52,451.451 INFO    ] 2026-08-29 18:17:52
[2026-08-29 18:17:52,517.517 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:17:52,662.662 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:17:52,674.674 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:17:52,819.819 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:17:52,828.828 INFO    ] time= 29/08/2026 18:17:52
[2026-08-29 18:17:52,834.834 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:17:52,865.865 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:17:52,999.999 INFO    ] No existing commands found in stream
[2026-08-29 18:17:58,024.024 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:17:58,027.027 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-08-29 18:17:58,947.947 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:17:58,948.948 INFO    ] Checking for system updates...
[2026-08-29 18:17:58,968.968 INFO    ] 200
[2026-08-29 18:17:58,970.970 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:17:59,001.001 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:17:59,003.003 INFO    ] No update needed
[2026-08-29 18:17:59,004.004 INFO    ] Checking for camera pi updates...
[2026-08-29 18:17:59,024.024 INFO    ] 200
[2026-08-29 18:17:59,025.025 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:17:59,048.048 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:17:59,117.117 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:17:59,118.118 INFO    ] No camera update needed
[2026-08-29 18:17:59,119.119 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:17:59,121.121 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:17:59,124.124 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:17:59,126.126 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:18:01,172.172 INFO    ] ================================================
[2026-08-29 18:18:01,218.218 INFO    ] Launching Daemon at Sat Aug 29 18:18:01 IST 2026
[2026-08-29 18:18:01,238.238 INFO    ] ================================================
[2026-08-29 18:18:01,927.927 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:18:01
[2026-08-29 18:18:02,584.584 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:18:02,915.915 INFO    ] Initializing speech engine...
[2026-08-29 18:18:02,925.925 INFO    ] 2026-08-29 18:18:02
[2026-08-29 18:18:03,198.198 INFO    ] 2026-08-29 18:18:03
[2026-08-29 18:18:03,233.233 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:18:03,407.407 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:18:03,419.419 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:18:03,529.529 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:18:03,534.534 INFO    ] time= 29/08/2026 18:18:03
[2026-08-29 18:18:03,552.552 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:18:03,574.574 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:18:03,645.645 INFO    ] No existing commands found in stream
[2026-08-29 18:18:08,657.657 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:18:08,659.659 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-08-29 18:18:09,081.081 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:18:09,084.084 INFO    ] Checking for system updates...
[2026-08-29 18:18:09,120.120 INFO    ] 200
[2026-08-29 18:18:09,123.123 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:18:09,177.177 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:18:09,180.180 INFO    ] No update needed
[2026-08-29 18:18:09,182.182 INFO    ] Checking for camera pi updates...
[2026-08-29 18:18:09,216.216 INFO    ] 200
[2026-08-29 18:18:09,219.219 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:18:09,259.259 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:18:09,339.339 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:18:09,340.340 INFO    ] No camera update needed
[2026-08-29 18:18:09,342.342 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:18:09,343.343 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:18:09,346.346 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:18:09,349.349 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:18:11,387.387 INFO    ] ================================================
[2026-08-29 18:18:11,402.402 INFO    ] Launching Daemon at Sat Aug 29 18:18:11 IST 2026
[2026-08-29 18:18:11,412.412 INFO    ] ================================================
[2026-08-29 18:18:11,760.760 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:18:11
[2026-08-29 18:18:12,074.074 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:18:12,211.211 INFO    ] Initializing speech engine...
[2026-08-29 18:18:12,221.221 INFO    ] 2026-08-29 18:18:12
[2026-08-29 18:18:12,427.427 INFO    ] 2026-08-29 18:18:12
[2026-08-29 18:18:12,456.456 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:18:12,580.580 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:18:12,585.585 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:18:12,727.727 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:18:12,739.739 INFO    ] time= 29/08/2026 18:18:12
[2026-08-29 18:18:12,777.777 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:18:12,818.818 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:18:12,930.930 INFO    ] No existing commands found in stream
[2026-08-29 18:18:17,953.953 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:18:17,955.955 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 18:18:23,856.856 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:18:23,857.857 INFO    ] Checking for system updates...
[2026-08-29 18:18:23,877.877 INFO    ] 200
[2026-08-29 18:18:23,879.879 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:18:23,911.911 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:18:23,912.912 INFO    ] No update needed
[2026-08-29 18:18:23,914.914 INFO    ] Checking for camera pi updates...
[2026-08-29 18:18:23,933.933 INFO    ] 200
[2026-08-29 18:18:23,934.934 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:18:23,957.957 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:18:24,033.033 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:18:24,034.034 INFO    ] No camera update needed
[2026-08-29 18:18:24,035.035 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:18:24,037.037 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:18:24,039.039 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:18:24,042.042 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:18:26,081.081 INFO    ] ================================================
[2026-08-29 18:18:26,096.096 INFO    ] Launching Daemon at Sat Aug 29 18:18:26 IST 2026
[2026-08-29 18:18:26,107.107 INFO    ] ================================================
[2026-08-29 18:18:26,716.716 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:18:26
[2026-08-29 18:18:27,326.326 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:18:27,584.584 INFO    ] Initializing speech engine...
[2026-08-29 18:18:27,591.591 INFO    ] 2026-08-29 18:18:27
[2026-08-29 18:18:27,888.888 INFO    ] 2026-08-29 18:18:27
[2026-08-29 18:18:27,926.926 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:18:28,122.122 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:18:28,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:18:28,236.236 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:18:28,239.239 INFO    ] time= 29/08/2026 18:18:28
[2026-08-29 18:18:28,243.243 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:18:28,254.254 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:18:28,322.322 INFO    ] No existing commands found in stream
[2026-08-29 18:18:33,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:18:33,593.593 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-08-29 18:18:36,290.290 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:18:36,292.292 INFO    ] Checking for system updates...
[2026-08-29 18:18:36,312.312 INFO    ] 200
[2026-08-29 18:18:36,314.314 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:18:36,346.346 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:18:36,347.347 INFO    ] No update needed
[2026-08-29 18:18:36,348.348 INFO    ] Checking for camera pi updates...
[2026-08-29 18:18:36,367.367 INFO    ] 200
[2026-08-29 18:18:36,369.369 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:18:36,393.393 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:18:36,493.493 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:18:36,494.494 INFO    ] No camera update needed
[2026-08-29 18:18:36,496.496 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:18:36,497.497 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:18:36,500.500 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:18:36,502.502 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:18:38,540.540 INFO    ] ================================================
[2026-08-29 18:18:38,566.566 INFO    ] Launching Daemon at Sat Aug 29 18:18:38 IST 2026
[2026-08-29 18:18:38,576.576 INFO    ] ================================================
[2026-08-29 18:18:38,961.961 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:18:38
[2026-08-29 18:18:39,300.300 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:18:39,453.453 INFO    ] Initializing speech engine...
[2026-08-29 18:18:39,459.459 INFO    ] 2026-08-29 18:18:39
[2026-08-29 18:18:39,704.704 INFO    ] 2026-08-29 18:18:39
[2026-08-29 18:18:39,772.772 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:18:39,997.997 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:18:40,007.007 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:18:40,141.141 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:18:40,169.169 INFO    ] time= 29/08/2026 18:18:40
[2026-08-29 18:18:40,244.244 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:18:40,277.277 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:18:40,329.329 INFO    ] No existing commands found in stream
[2026-08-29 18:18:45,343.343 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:18:45,346.346 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-08-29 18:18:46,744.744 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:18:46,746.746 INFO    ] Checking for system updates...
[2026-08-29 18:18:46,768.768 INFO    ] 200
[2026-08-29 18:18:46,769.769 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:18:46,799.799 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:18:46,800.800 INFO    ] No update needed
[2026-08-29 18:18:46,801.801 INFO    ] Checking for camera pi updates...
[2026-08-29 18:18:46,820.820 INFO    ] 200
[2026-08-29 18:18:46,822.822 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:18:46,847.847 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:18:46,950.950 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:18:46,952.952 INFO    ] No camera update needed
[2026-08-29 18:18:46,953.953 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:18:46,954.954 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:18:46,957.957 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:18:46,960.960 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:18:49,000.000 INFO    ] ================================================
[2026-08-29 18:18:49,015.015 INFO    ] Launching Daemon at Sat Aug 29 18:18:49 IST 2026
[2026-08-29 18:18:49,026.026 INFO    ] ================================================
[2026-08-29 18:18:49,353.353 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:18:49
[2026-08-29 18:18:49,669.669 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:18:49,846.846 INFO    ] Initializing speech engine...
[2026-08-29 18:18:49,865.865 INFO    ] 2026-08-29 18:18:49
[2026-08-29 18:18:50,122.122 INFO    ] 2026-08-29 18:18:50
[2026-08-29 18:18:50,182.182 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:18:50,323.323 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:18:50,335.335 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:18:50,475.475 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:18:50,483.483 INFO    ] time= 29/08/2026 18:18:50
[2026-08-29 18:18:50,489.489 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:18:50,509.509 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:18:50,643.643 INFO    ] No existing commands found in stream
[2026-08-29 18:18:55,673.673 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:18:55,676.676 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-08-29 18:18:56,167.167 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:18:56,168.168 INFO    ] Checking for system updates...
[2026-08-29 18:18:56,188.188 INFO    ] 200
[2026-08-29 18:18:56,190.190 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:18:56,219.219 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:18:56,221.221 INFO    ] No update needed
[2026-08-29 18:18:56,222.222 INFO    ] Checking for camera pi updates...
[2026-08-29 18:18:56,241.241 INFO    ] 200
[2026-08-29 18:18:56,243.243 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:18:56,266.266 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:18:56,466.466 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:18:56,468.468 INFO    ] No camera update needed
[2026-08-29 18:18:56,471.471 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:18:56,473.473 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:18:56,478.478 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:18:56,483.483 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:18:58,523.523 INFO    ] ================================================
[2026-08-29 18:18:58,538.538 INFO    ] Launching Daemon at Sat Aug 29 18:18:58 IST 2026
[2026-08-29 18:18:58,549.549 INFO    ] ================================================
[2026-08-29 18:18:59,131.131 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:18:59
[2026-08-29 18:18:59,650.650 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:18:59,785.785 INFO    ] Initializing speech engine...
[2026-08-29 18:18:59,790.790 INFO    ] 2026-08-29 18:18:59
[2026-08-29 18:19:00,000.000 INFO    ] 2026-08-29 18:18:59
[2026-08-29 18:19:00,089.089 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:19:00,253.253 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:19:00,269.269 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:19:00,414.414 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:19:00,426.426 INFO    ] time= 29/08/2026 18:19:00
[2026-08-29 18:19:00,443.443 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:19:00,497.497 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:19:00,583.583 INFO    ] No existing commands found in stream
[2026-08-29 18:19:05,593.593 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:19:05,596.596 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-08-29 18:19:08,955.955 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:19:08,957.957 INFO    ] Checking for system updates...
[2026-08-29 18:19:08,979.979 INFO    ] 200
[2026-08-29 18:19:08,981.981 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:19:09,010.010 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:19:09,012.012 INFO    ] No update needed
[2026-08-29 18:19:09,013.013 INFO    ] Checking for camera pi updates...
[2026-08-29 18:19:09,034.034 INFO    ] 200
[2026-08-29 18:19:09,035.035 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:19:09,060.060 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:19:09,159.159 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:19:09,160.160 INFO    ] No camera update needed
[2026-08-29 18:19:09,161.161 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:19:09,163.163 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:19:09,165.165 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:19:09,168.168 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:19:11,198.198 INFO    ] ================================================
[2026-08-29 18:19:11,206.206 INFO    ] Launching Daemon at Sat Aug 29 18:19:11 IST 2026
[2026-08-29 18:19:11,212.212 INFO    ] ================================================
[2026-08-29 18:19:11,749.749 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:19:11
[2026-08-29 18:19:12,334.334 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:19:12,594.594 INFO    ] Initializing speech engine...
[2026-08-29 18:19:12,610.610 INFO    ] 2026-08-29 18:19:12
[2026-08-29 18:19:12,864.864 INFO    ] 2026-08-29 18:19:12
[2026-08-29 18:19:12,898.898 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:19:13,076.076 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:19:13,088.088 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:19:13,203.203 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:19:13,221.221 INFO    ] time= 29/08/2026 18:19:13
[2026-08-29 18:19:13,241.241 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:19:13,249.249 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:19:13,318.318 INFO    ] No existing commands found in stream
[2026-08-29 18:19:18,330.330 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:19:18,333.333 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-08-29 18:19:19,076.076 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:19:19,077.077 INFO    ] Checking for system updates...
[2026-08-29 18:19:19,098.098 INFO    ] 200
[2026-08-29 18:19:19,099.099 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:19:19,131.131 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:19:19,132.132 INFO    ] No update needed
[2026-08-29 18:19:19,134.134 INFO    ] Checking for camera pi updates...
[2026-08-29 18:19:19,153.153 INFO    ] 200
[2026-08-29 18:19:19,154.154 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:19:19,177.177 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:19:19,303.303 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:19:19,304.304 INFO    ] No camera update needed
[2026-08-29 18:19:19,306.306 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:19:19,307.307 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:19:19,310.310 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:19:19,313.313 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:19:21,350.350 INFO    ] ================================================
[2026-08-29 18:19:21,366.366 INFO    ] Launching Daemon at Sat Aug 29 18:19:21 IST 2026
[2026-08-29 18:19:21,378.378 INFO    ] ================================================
[2026-08-29 18:19:21,930.930 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:19:21
[2026-08-29 18:19:22,516.516 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:19:22,769.769 INFO    ] Initializing speech engine...
[2026-08-29 18:19:22,791.791 INFO    ] 2026-08-29 18:19:22
[2026-08-29 18:19:23,048.048 INFO    ] 2026-08-29 18:19:23
[2026-08-29 18:19:23,083.083 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:19:23,260.260 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:19:23,273.273 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:19:23,419.419 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:19:23,428.428 INFO    ] time= 29/08/2026 18:19:23
[2026-08-29 18:19:23,434.434 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:19:23,460.460 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:19:23,592.592 INFO    ] No existing commands found in stream
[2026-08-29 18:19:28,622.622 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:19:28,625.625 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-08-29 18:19:30,776.776 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:19:30,777.777 INFO    ] Checking for system updates...
[2026-08-29 18:19:30,797.797 INFO    ] 200
[2026-08-29 18:19:30,798.798 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:19:30,828.828 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:19:30,829.829 INFO    ] No update needed
[2026-08-29 18:19:30,830.830 INFO    ] Checking for camera pi updates...
[2026-08-29 18:19:30,851.851 INFO    ] 200
[2026-08-29 18:19:30,852.852 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:19:30,875.875 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:19:30,925.925 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:19:30,927.927 INFO    ] No camera update needed
[2026-08-29 18:19:30,928.928 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:19:30,929.929 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:19:30,932.932 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:19:30,935.935 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:19:32,974.974 INFO    ] ================================================
[2026-08-29 18:19:32,989.989 INFO    ] Launching Daemon at Sat Aug 29 18:19:32 IST 2026
[2026-08-29 18:19:33,000.000 INFO    ] ================================================
[2026-08-29 18:19:33,568.568 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:19:33
[2026-08-29 18:19:34,153.153 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:19:34,426.426 INFO    ] Initializing speech engine...
[2026-08-29 18:19:34,435.435 INFO    ] 2026-08-29 18:19:34
[2026-08-29 18:19:34,689.689 INFO    ] 2026-08-29 18:19:34
[2026-08-29 18:19:34,719.719 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:19:34,885.885 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:19:34,915.915 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:19:35,052.052 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:19:35,060.060 INFO    ] time= 29/08/2026 18:19:35
[2026-08-29 18:19:35,065.065 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:19:35,079.079 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:19:35,158.158 INFO    ] No existing commands found in stream
[2026-08-29 18:19:40,192.192 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:19:40,195.195 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-08-29 18:19:41,055.055 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:19:41,056.056 INFO    ] Checking for system updates...
[2026-08-29 18:19:41,076.076 INFO    ] 200
[2026-08-29 18:19:41,078.078 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:19:41,110.110 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:19:41,111.111 INFO    ] No update needed
[2026-08-29 18:19:41,113.113 INFO    ] Checking for camera pi updates...
[2026-08-29 18:19:41,133.133 INFO    ] 200
[2026-08-29 18:19:41,135.135 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:19:41,159.159 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:19:41,261.261 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:19:41,262.262 INFO    ] No camera update needed
[2026-08-29 18:19:41,263.263 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:19:41,265.265 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:19:41,267.267 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:19:41,270.270 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:19:43,310.310 INFO    ] ================================================
[2026-08-29 18:19:43,325.325 INFO    ] Launching Daemon at Sat Aug 29 18:19:43 IST 2026
[2026-08-29 18:19:43,336.336 INFO    ] ================================================
[2026-08-29 18:19:43,673.673 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:19:43
[2026-08-29 18:19:44,034.034 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:19:44,283.283 INFO    ] Initializing speech engine...
[2026-08-29 18:19:44,299.299 INFO    ] 2026-08-29 18:19:44
[2026-08-29 18:19:44,567.567 INFO    ] 2026-08-29 18:19:44
[2026-08-29 18:19:44,601.601 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:19:44,781.781 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:19:44,793.793 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:19:44,921.921 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:19:44,941.941 INFO    ] time= 29/08/2026 18:19:44
[2026-08-29 18:19:44,950.950 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:19:44,956.956 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:19:45,024.024 INFO    ] No existing commands found in stream
[2026-08-29 18:19:50,055.055 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:19:50,057.057 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-08-29 18:19:54,156.156 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:19:54,157.157 INFO    ] Checking for system updates...
[2026-08-29 18:19:54,180.180 INFO    ] 200
[2026-08-29 18:19:54,181.181 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:19:54,210.210 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:19:54,212.212 INFO    ] No update needed
[2026-08-29 18:19:54,213.213 INFO    ] Checking for camera pi updates...
[2026-08-29 18:19:54,232.232 INFO    ] 200
[2026-08-29 18:19:54,233.233 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:19:54,256.256 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:19:54,339.339 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:19:54,341.341 INFO    ] No camera update needed
[2026-08-29 18:19:54,344.344 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:19:54,346.346 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:19:54,352.352 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:19:54,356.356 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:19:56,396.396 INFO    ] ================================================
[2026-08-29 18:19:56,412.412 INFO    ] Launching Daemon at Sat Aug 29 18:19:56 IST 2026
[2026-08-29 18:19:56,423.423 INFO    ] ================================================
[2026-08-29 18:19:57,028.028 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:19:57
[2026-08-29 18:19:57,537.537 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:19:57,789.789 INFO    ] Initializing speech engine...
[2026-08-29 18:19:57,794.794 INFO    ] 2026-08-29 18:19:57
[2026-08-29 18:19:58,090.090 INFO    ] 2026-08-29 18:19:58
[2026-08-29 18:19:58,125.125 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:19:58,275.275 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:19:58,308.308 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:19:58,424.424 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:19:58,444.444 INFO    ] time= 29/08/2026 18:19:58
[2026-08-29 18:19:58,451.451 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:19:58,456.456 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:19:58,558.558 INFO    ] No existing commands found in stream
[2026-08-29 18:20:03,570.570 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:20:03,574.574 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-08-29 18:20:08,279.279 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:20:08,282.282 INFO    ] Checking for system updates...
[2026-08-29 18:20:08,322.322 INFO    ] 200
[2026-08-29 18:20:08,324.324 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:20:08,383.383 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:20:08,386.386 INFO    ] No update needed
[2026-08-29 18:20:08,388.388 INFO    ] Checking for camera pi updates...
[2026-08-29 18:20:08,424.424 INFO    ] 200
[2026-08-29 18:20:08,426.426 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:20:08,448.448 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:20:08,527.527 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:20:08,528.528 INFO    ] No camera update needed
[2026-08-29 18:20:08,529.529 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:20:08,530.530 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:20:08,534.534 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:20:08,536.536 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:20:10,575.575 INFO    ] ================================================
[2026-08-29 18:20:10,591.591 INFO    ] Launching Daemon at Sat Aug 29 18:20:10 IST 2026
[2026-08-29 18:20:10,603.603 INFO    ] ================================================
[2026-08-29 18:20:10,969.969 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:20:10
[2026-08-29 18:20:11,310.310 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:20:11,587.587 INFO    ] Initializing speech engine...
[2026-08-29 18:20:11,596.596 INFO    ] 2026-08-29 18:20:11
[2026-08-29 18:20:11,846.846 INFO    ] 2026-08-29 18:20:11
[2026-08-29 18:20:11,881.881 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:20:12,054.054 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:20:12,076.076 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:20:12,209.209 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:20:12,215.215 INFO    ] time= 29/08/2026 18:20:12
[2026-08-29 18:20:12,221.221 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:20:12,252.252 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:20:12,375.375 INFO    ] No existing commands found in stream
[2026-08-29 18:20:17,405.405 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:20:17,408.408 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-08-29 18:20:19,960.960 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:20:19,961.961 INFO    ] Checking for system updates...
[2026-08-29 18:20:19,983.983 INFO    ] 200
[2026-08-29 18:20:19,985.985 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:20:20,014.014 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:20:20,016.016 INFO    ] No update needed
[2026-08-29 18:20:20,017.017 INFO    ] Checking for camera pi updates...
[2026-08-29 18:20:20,036.036 INFO    ] 200
[2026-08-29 18:20:20,037.037 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:20:20,060.060 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:20:20,159.159 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:20:20,160.160 INFO    ] No camera update needed
[2026-08-29 18:20:20,161.161 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:20:20,163.163 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:20:20,166.166 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:20:20,168.168 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:20:22,207.207 INFO    ] ================================================
[2026-08-29 18:20:22,223.223 INFO    ] Launching Daemon at Sat Aug 29 18:20:22 IST 2026
[2026-08-29 18:20:22,235.235 INFO    ] ================================================
[2026-08-29 18:20:22,564.564 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:20:22
[2026-08-29 18:20:22,875.875 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:20:23,006.006 INFO    ] Initializing speech engine...
[2026-08-29 18:20:23,011.011 INFO    ] 2026-08-29 18:20:23
[2026-08-29 18:20:23,207.207 INFO    ] 2026-08-29 18:20:23
[2026-08-29 18:20:23,244.244 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:20:23,401.401 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:20:23,419.419 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:20:23,548.548 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:20:23,550.550 INFO    ] time= 29/08/2026 18:20:23
[2026-08-29 18:20:23,564.564 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:20:23,614.614 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:20:23,709.709 INFO    ] No existing commands found in stream
[2026-08-29 18:20:28,718.718 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:20:28,721.721 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-08-29 18:20:29,627.627 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:20:29,630.630 INFO    ] Checking for system updates...
[2026-08-29 18:20:29,665.665 INFO    ] 200
[2026-08-29 18:20:29,668.668 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:20:29,721.721 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:20:29,724.724 INFO    ] No update needed
[2026-08-29 18:20:29,726.726 INFO    ] Checking for camera pi updates...
[2026-08-29 18:20:29,764.764 INFO    ] 200
[2026-08-29 18:20:29,766.766 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:20:29,811.811 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:20:29,925.925 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:20:29,927.927 INFO    ] No camera update needed
[2026-08-29 18:20:29,930.930 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:20:29,932.932 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:20:29,937.937 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:20:29,942.942 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:20:31,984.984 INFO    ] ================================================
[2026-08-29 18:20:32,000.000 INFO    ] Launching Daemon at Sat Aug 29 18:20:31 IST 2026
[2026-08-29 18:20:32,012.012 INFO    ] ================================================
[2026-08-29 18:20:32,600.600 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:20:32
[2026-08-29 18:20:33,184.184 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:20:33,434.434 INFO    ] Initializing speech engine...
[2026-08-29 18:20:33,448.448 INFO    ] 2026-08-29 18:20:33
[2026-08-29 18:20:33,715.715 INFO    ] 2026-08-29 18:20:33
[2026-08-29 18:20:33,751.751 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:20:33,925.925 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:20:33,930.930 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:20:34,051.051 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:20:34,057.057 INFO    ] time= 29/08/2026 18:20:34
[2026-08-29 18:20:34,076.076 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:20:34,095.095 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:20:34,169.169 INFO    ] No existing commands found in stream
[2026-08-29 18:20:39,182.182 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:20:39,185.185 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-08-29 18:20:41,539.539 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:20:41,540.540 INFO    ] Checking for system updates...
[2026-08-29 18:20:41,562.562 INFO    ] 200
[2026-08-29 18:20:41,563.563 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:20:41,599.599 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:20:41,600.600 INFO    ] No update needed
[2026-08-29 18:20:41,601.601 INFO    ] Checking for camera pi updates...
[2026-08-29 18:20:41,622.622 INFO    ] 200
[2026-08-29 18:20:41,623.623 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:20:41,646.646 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:20:41,742.742 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:20:41,743.743 INFO    ] No camera update needed
[2026-08-29 18:20:41,744.744 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:20:41,746.746 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:20:41,748.748 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:20:41,751.751 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:20:43,789.789 INFO    ] ================================================
[2026-08-29 18:20:43,805.805 INFO    ] Launching Daemon at Sat Aug 29 18:20:43 IST 2026
[2026-08-29 18:20:43,816.816 INFO    ] ================================================
[2026-08-29 18:20:44,325.325 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:20:44
[2026-08-29 18:20:44,910.910 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:20:45,180.180 INFO    ] Initializing speech engine...
[2026-08-29 18:20:45,188.188 INFO    ] 2026-08-29 18:20:45
[2026-08-29 18:20:45,438.438 INFO    ] 2026-08-29 18:20:45
[2026-08-29 18:20:45,474.474 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:20:45,644.644 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:20:45,658.658 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:20:45,799.799 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:20:45,807.807 INFO    ] time= 29/08/2026 18:20:45
[2026-08-29 18:20:45,814.814 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:20:45,855.855 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:20:45,985.985 INFO    ] No existing commands found in stream
[2026-08-29 18:20:51,010.010 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:20:51,013.013 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-08-29 18:20:53,279.279 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:20:53,280.280 INFO    ] Checking for system updates...
[2026-08-29 18:20:53,300.300 INFO    ] 200
[2026-08-29 18:20:53,302.302 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:20:53,331.331 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:20:53,333.333 INFO    ] No update needed
[2026-08-29 18:20:53,334.334 INFO    ] Checking for camera pi updates...
[2026-08-29 18:20:53,353.353 INFO    ] 200
[2026-08-29 18:20:53,354.354 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:20:53,377.377 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:20:53,477.477 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:20:53,479.479 INFO    ] No camera update needed
[2026-08-29 18:20:53,480.480 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:20:53,481.481 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:20:53,484.484 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:20:53,487.487 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:20:55,527.527 INFO    ] ================================================
[2026-08-29 18:20:55,543.543 INFO    ] Launching Daemon at Sat Aug 29 18:20:55 IST 2026
[2026-08-29 18:20:55,555.555 INFO    ] ================================================
[2026-08-29 18:20:55,897.897 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:20:55
[2026-08-29 18:20:56,239.239 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:20:56,392.392 INFO    ] Initializing speech engine...
[2026-08-29 18:20:56,395.395 INFO    ] 2026-08-29 18:20:56
[2026-08-29 18:20:56,606.606 INFO    ] 2026-08-29 18:20:56
[2026-08-29 18:20:56,636.636 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:20:56,761.761 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:20:56,819.819 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:20:56,964.964 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:20:57,034.034 INFO    ] time= 29/08/2026 18:20:56
[2026-08-29 18:20:57,073.073 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:20:57,092.092 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:20:57,224.224 INFO    ] No existing commands found in stream
[2026-08-29 18:21:02,264.264 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:21:02,267.267 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-08-29 18:21:04,364.364 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:21:04,370.370 INFO    ] Checking for system updates...
[2026-08-29 18:21:04,411.411 INFO    ] 200
[2026-08-29 18:21:04,414.414 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:21:04,474.474 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:21:04,477.477 INFO    ] No update needed
[2026-08-29 18:21:04,480.480 INFO    ] Checking for camera pi updates...
[2026-08-29 18:21:04,518.518 INFO    ] 200
[2026-08-29 18:21:04,520.520 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:21:04,547.547 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:21:04,631.631 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:21:04,632.632 INFO    ] No camera update needed
[2026-08-29 18:21:04,634.634 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:21:04,635.635 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:21:04,638.638 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:21:04,641.641 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:21:06,684.684 INFO    ] ================================================
[2026-08-29 18:21:06,700.700 INFO    ] Launching Daemon at Sat Aug 29 18:21:06 IST 2026
[2026-08-29 18:21:06,711.711 INFO    ] ================================================
[2026-08-29 18:21:07,100.100 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:21:07
[2026-08-29 18:21:07,434.434 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:21:07,573.573 INFO    ] Initializing speech engine...
[2026-08-29 18:21:07,577.577 INFO    ] 2026-08-29 18:21:07
[2026-08-29 18:21:07,808.808 INFO    ] 2026-08-29 18:21:07
[2026-08-29 18:21:07,859.859 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:21:08,010.010 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:21:08,017.017 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:21:08,151.151 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:21:08,217.217 INFO    ] time= 29/08/2026 18:21:08
[2026-08-29 18:21:08,266.266 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:21:08,287.287 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:21:08,339.339 INFO    ] No existing commands found in stream
[2026-08-29 18:21:13,352.352 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:21:13,355.355 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-08-29 18:21:16,917.917 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:21:16,918.918 INFO    ] Checking for system updates...
[2026-08-29 18:21:16,940.940 INFO    ] 200
[2026-08-29 18:21:16,941.941 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:21:16,974.974 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:21:16,975.975 INFO    ] No update needed
[2026-08-29 18:21:16,976.976 INFO    ] Checking for camera pi updates...
[2026-08-29 18:21:16,996.996 INFO    ] 200
[2026-08-29 18:21:16,997.997 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:21:17,021.021 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:21:17,125.125 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:21:17,127.127 INFO    ] No camera update needed
[2026-08-29 18:21:17,128.128 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:21:17,129.129 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:21:17,132.132 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:21:17,135.135 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:21:19,174.174 INFO    ] ================================================
[2026-08-29 18:21:19,189.189 INFO    ] Launching Daemon at Sat Aug 29 18:21:19 IST 2026
[2026-08-29 18:21:19,201.201 INFO    ] ================================================
[2026-08-29 18:21:19,559.559 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:21:19
[2026-08-29 18:21:19,892.892 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:21:20,119.119 INFO    ] Initializing speech engine...
[2026-08-29 18:21:20,129.129 INFO    ] 2026-08-29 18:21:20
[2026-08-29 18:21:20,379.379 INFO    ] 2026-08-29 18:21:20
[2026-08-29 18:21:20,415.415 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:21:20,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:21:20,598.598 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:21:20,710.710 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:21:20,729.729 INFO    ] time= 29/08/2026 18:21:20
[2026-08-29 18:21:20,748.748 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:21:20,756.756 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:21:20,824.824 INFO    ] No existing commands found in stream
[2026-08-29 18:21:25,836.836 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:21:25,839.839 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-08-29 18:21:29,341.341 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:21:29,342.342 INFO    ] Checking for system updates...
[2026-08-29 18:21:29,363.363 INFO    ] 200
[2026-08-29 18:21:29,364.364 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:21:29,394.394 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:21:29,395.395 INFO    ] No update needed
[2026-08-29 18:21:29,396.396 INFO    ] Checking for camera pi updates...
[2026-08-29 18:21:29,415.415 INFO    ] 200
[2026-08-29 18:21:29,417.417 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:21:29,440.440 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:21:29,525.525 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:21:29,526.526 INFO    ] No camera update needed
[2026-08-29 18:21:29,527.527 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:21:29,528.528 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:21:29,531.531 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:21:29,534.534 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:21:31,576.576 INFO    ] ================================================
[2026-08-29 18:21:31,594.594 INFO    ] Launching Daemon at Sat Aug 29 18:21:31 IST 2026
[2026-08-29 18:21:31,606.606 INFO    ] ================================================
[2026-08-29 18:21:32,205.205 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:21:32
[2026-08-29 18:21:32,845.845 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:21:33,143.143 INFO    ] Initializing speech engine...
[2026-08-29 18:21:33,150.150 INFO    ] 2026-08-29 18:21:33
[2026-08-29 18:21:33,421.421 INFO    ] 2026-08-29 18:21:33
[2026-08-29 18:21:33,483.483 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:21:33,712.712 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:21:33,721.721 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:21:33,860.860 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:21:33,906.906 INFO    ] time= 29/08/2026 18:21:33
[2026-08-29 18:21:33,960.960 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:21:33,996.996 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:21:34,095.095 INFO    ] No existing commands found in stream
[2026-08-29 18:21:39,122.122 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:21:39,126.126 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-08-29 18:21:42,230.230 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:21:42,231.231 INFO    ] Checking for system updates...
[2026-08-29 18:21:42,253.253 INFO    ] 200
[2026-08-29 18:21:42,255.255 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:21:42,286.286 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:21:42,288.288 INFO    ] No update needed
[2026-08-29 18:21:42,289.289 INFO    ] Checking for camera pi updates...
[2026-08-29 18:21:42,308.308 INFO    ] 200
[2026-08-29 18:21:42,309.309 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:21:42,333.333 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:21:42,432.432 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:21:42,433.433 INFO    ] No camera update needed
[2026-08-29 18:21:42,435.435 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:21:42,436.436 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:21:42,439.439 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:21:42,441.441 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:21:44,481.481 INFO    ] ================================================
[2026-08-29 18:21:44,501.501 INFO    ] Launching Daemon at Sat Aug 29 18:21:44 IST 2026
[2026-08-29 18:21:44,512.512 INFO    ] ================================================
[2026-08-29 18:21:44,885.885 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:21:44
[2026-08-29 18:21:45,215.215 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:21:45,367.367 INFO    ] Initializing speech engine...
[2026-08-29 18:21:45,373.373 INFO    ] 2026-08-29 18:21:45
[2026-08-29 18:21:45,581.581 INFO    ] 2026-08-29 18:21:45
[2026-08-29 18:21:45,610.610 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:21:45,734.734 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:21:45,797.797 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:21:45,929.929 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:21:45,995.995 INFO    ] time= 29/08/2026 18:21:45
[2026-08-29 18:21:46,029.029 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:21:46,031.031 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:21:46,102.102 INFO    ] No existing commands found in stream
[2026-08-29 18:21:51,114.114 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:21:51,116.116 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-08-29 18:21:53,657.657 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:21:53,658.658 INFO    ] Checking for system updates...
[2026-08-29 18:21:53,680.680 INFO    ] 200
[2026-08-29 18:21:53,682.682 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:21:53,713.713 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:21:53,714.714 INFO    ] No update needed
[2026-08-29 18:21:53,715.715 INFO    ] Checking for camera pi updates...
[2026-08-29 18:21:53,736.736 INFO    ] 200
[2026-08-29 18:21:53,737.737 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:21:53,763.763 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:21:53,865.865 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:21:53,868.868 INFO    ] No camera update needed
[2026-08-29 18:21:53,870.870 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:21:53,873.873 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:21:53,879.879 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:21:53,885.885 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:21:55,926.926 INFO    ] ================================================
[2026-08-29 18:21:55,940.940 INFO    ] Launching Daemon at Sat Aug 29 18:21:55 IST 2026
[2026-08-29 18:21:55,951.951 INFO    ] ================================================
[2026-08-29 18:21:56,529.529 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:21:56
[2026-08-29 18:21:57,000.000 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:21:57,142.142 INFO    ] Initializing speech engine...
[2026-08-29 18:21:57,147.147 INFO    ] 2026-08-29 18:21:57
[2026-08-29 18:21:57,349.349 INFO    ] 2026-08-29 18:21:57
[2026-08-29 18:21:57,378.378 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:21:57,528.528 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:21:57,550.550 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:21:57,685.685 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:21:57,712.712 INFO    ] time= 29/08/2026 18:21:57
[2026-08-29 18:21:57,719.719 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:21:57,727.727 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:21:57,822.822 INFO    ] No existing commands found in stream
[2026-08-29 18:22:02,835.835 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:22:02,838.838 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-08-29 18:22:07,415.415 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:22:07,417.417 INFO    ] Checking for system updates...
[2026-08-29 18:22:07,437.437 INFO    ] 200
[2026-08-29 18:22:07,438.438 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:22:07,487.487 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:22:07,489.489 INFO    ] No update needed
[2026-08-29 18:22:07,491.491 INFO    ] Checking for camera pi updates...
[2026-08-29 18:22:07,526.526 INFO    ] 200
[2026-08-29 18:22:07,529.529 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:22:07,574.574 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:22:07,658.658 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:22:07,661.661 INFO    ] No camera update needed
[2026-08-29 18:22:07,664.664 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:22:07,666.666 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:22:07,672.672 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:22:07,678.678 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:22:09,719.719 INFO    ] ================================================
[2026-08-29 18:22:09,734.734 INFO    ] Launching Daemon at Sat Aug 29 18:22:09 IST 2026
[2026-08-29 18:22:09,745.745 INFO    ] ================================================
[2026-08-29 18:22:10,094.094 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:22:10
[2026-08-29 18:22:10,472.472 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:22:10,751.751 INFO    ] Initializing speech engine...
[2026-08-29 18:22:10,769.769 INFO    ] 2026-08-29 18:22:10
[2026-08-29 18:22:11,031.031 INFO    ] 2026-08-29 18:22:11
[2026-08-29 18:22:11,100.100 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:22:11,323.323 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:22:11,331.331 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:22:11,473.473 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:22:11,515.515 INFO    ] time= 29/08/2026 18:22:11
[2026-08-29 18:22:11,575.575 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:22:11,610.610 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:22:11,665.665 INFO    ] No existing commands found in stream
[2026-08-29 18:22:16,677.677 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:22:16,680.680 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-08-29 18:22:17,420.420 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:22:17,421.421 INFO    ] Checking for system updates...
[2026-08-29 18:22:17,442.442 INFO    ] 200
[2026-08-29 18:22:17,443.443 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:22:17,475.475 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:22:17,476.476 INFO    ] No update needed
[2026-08-29 18:22:17,477.477 INFO    ] Checking for camera pi updates...
[2026-08-29 18:22:17,497.497 INFO    ] 200
[2026-08-29 18:22:17,499.499 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:22:17,523.523 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:22:17,600.600 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:22:17,603.603 INFO    ] No camera update needed
[2026-08-29 18:22:17,605.605 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:22:17,607.607 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:22:17,613.613 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:22:17,618.618 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:22:19,650.650 INFO    ] ================================================
[2026-08-29 18:22:19,662.662 INFO    ] Launching Daemon at Sat Aug 29 18:22:19 IST 2026
[2026-08-29 18:22:19,673.673 INFO    ] ================================================
[2026-08-29 18:22:20,295.295 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:22:20
[2026-08-29 18:22:20,946.946 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:22:21,240.240 INFO    ] Initializing speech engine...
[2026-08-29 18:22:21,254.254 INFO    ] 2026-08-29 18:22:21
[2026-08-29 18:22:21,508.508 INFO    ] 2026-08-29 18:22:21
[2026-08-29 18:22:21,561.561 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:22:21,704.704 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:22:21,716.716 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:22:21,828.828 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:22:21,847.847 INFO    ] time= 29/08/2026 18:22:21
[2026-08-29 18:22:21,867.867 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:22:21,875.875 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:22:21,947.947 INFO    ] No existing commands found in stream
[2026-08-29 18:22:26,972.972 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:22:26,975.975 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-08-29 18:22:29,031.031 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:22:29,034.034 INFO    ] Checking for system updates...
[2026-08-29 18:22:29,071.071 INFO    ] 200
[2026-08-29 18:22:29,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:22:29,136.136 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:22:29,139.139 INFO    ] No update needed
[2026-08-29 18:22:29,142.142 INFO    ] Checking for camera pi updates...
[2026-08-29 18:22:29,178.178 INFO    ] 200
[2026-08-29 18:22:29,181.181 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:22:29,223.223 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:22:29,315.315 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:22:29,319.319 INFO    ] No camera update needed
[2026-08-29 18:22:29,322.322 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:22:29,324.324 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:22:29,330.330 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:22:29,336.336 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:22:31,378.378 INFO    ] ================================================
[2026-08-29 18:22:31,395.395 INFO    ] Launching Daemon at Sat Aug 29 18:22:31 IST 2026
[2026-08-29 18:22:31,406.406 INFO    ] ================================================
[2026-08-29 18:22:31,926.926 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:22:31
[2026-08-29 18:22:32,564.564 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:22:32,821.821 INFO    ] Initializing speech engine...
[2026-08-29 18:22:32,829.829 INFO    ] 2026-08-29 18:22:32
[2026-08-29 18:22:33,118.118 INFO    ] 2026-08-29 18:22:33
[2026-08-29 18:22:33,156.156 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:22:33,345.345 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:22:33,352.352 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:22:33,480.480 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:22:33,487.487 INFO    ] time= 29/08/2026 18:22:33
[2026-08-29 18:22:33,507.507 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:22:33,531.531 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:22:33,607.607 INFO    ] No existing commands found in stream
[2026-08-29 18:22:38,620.620 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:22:38,623.623 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-08-29 18:22:40,295.295 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:22:40,296.296 INFO    ] Checking for system updates...
[2026-08-29 18:22:40,316.316 INFO    ] 200
[2026-08-29 18:22:40,318.318 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:22:40,347.347 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:22:40,349.349 INFO    ] No update needed
[2026-08-29 18:22:40,350.350 INFO    ] Checking for camera pi updates...
[2026-08-29 18:22:40,369.369 INFO    ] 200
[2026-08-29 18:22:40,370.370 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:22:40,395.395 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:22:40,449.449 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:22:40,450.450 INFO    ] No camera update needed
[2026-08-29 18:22:40,451.451 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:22:40,453.453 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:22:40,456.456 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:22:40,458.458 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:22:42,501.501 INFO    ] ================================================
[2026-08-29 18:22:42,516.516 INFO    ] Launching Daemon at Sat Aug 29 18:22:42 IST 2026
[2026-08-29 18:22:42,527.527 INFO    ] ================================================
[2026-08-29 18:22:42,863.863 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:22:42
[2026-08-29 18:22:43,176.176 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:22:43,320.320 INFO    ] Initializing speech engine...
[2026-08-29 18:22:43,325.325 INFO    ] 2026-08-29 18:22:43
[2026-08-29 18:22:43,530.530 INFO    ] 2026-08-29 18:22:43
[2026-08-29 18:22:43,560.560 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:22:43,706.706 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:22:43,728.728 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:22:43,863.863 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:22:43,893.893 INFO    ] time= 29/08/2026 18:22:43
[2026-08-29 18:22:43,901.901 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:22:43,908.908 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:22:44,004.004 INFO    ] No existing commands found in stream
[2026-08-29 18:22:49,019.019 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:22:49,022.022 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-08-29 18:22:51,380.380 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:22:51,382.382 INFO    ] Checking for system updates...
[2026-08-29 18:22:51,403.403 INFO    ] 200
[2026-08-29 18:22:51,404.404 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:22:51,434.434 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:22:51,436.436 INFO    ] No update needed
[2026-08-29 18:22:51,437.437 INFO    ] Checking for camera pi updates...
[2026-08-29 18:22:51,457.457 INFO    ] 200
[2026-08-29 18:22:51,458.458 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:22:51,482.482 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:22:51,562.562 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:22:51,564.564 INFO    ] No camera update needed
[2026-08-29 18:22:51,565.565 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:22:51,566.566 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:22:51,569.569 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:22:51,572.572 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:22:53,612.612 INFO    ] ================================================
[2026-08-29 18:22:53,627.627 INFO    ] Launching Daemon at Sat Aug 29 18:22:53 IST 2026
[2026-08-29 18:22:53,637.637 INFO    ] ================================================
[2026-08-29 18:22:54,059.059 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:22:54
[2026-08-29 18:22:54,642.642 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:22:54,904.904 INFO    ] Initializing speech engine...
[2026-08-29 18:22:54,922.922 INFO    ] 2026-08-29 18:22:54
[2026-08-29 18:22:55,175.175 INFO    ] 2026-08-29 18:22:55
[2026-08-29 18:22:55,208.208 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:22:55,385.385 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:22:55,397.397 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:22:55,510.510 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:22:55,514.514 INFO    ] time= 29/08/2026 18:22:55
[2026-08-29 18:22:55,532.532 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:22:55,552.552 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:22:55,629.629 INFO    ] No existing commands found in stream
[2026-08-29 18:23:00,644.644 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:23:00,646.646 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-08-29 18:23:04,715.715 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:23:04,718.718 INFO    ] Checking for system updates...
[2026-08-29 18:23:04,761.761 INFO    ] 200
[2026-08-29 18:23:04,764.764 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:23:04,818.818 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:23:04,820.820 INFO    ] No update needed
[2026-08-29 18:23:04,823.823 INFO    ] Checking for camera pi updates...
[2026-08-29 18:23:04,857.857 INFO    ] 200
[2026-08-29 18:23:04,860.860 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:23:04,906.906 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:23:05,016.016 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:23:05,019.019 INFO    ] No camera update needed
[2026-08-29 18:23:05,022.022 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:23:05,024.024 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:23:05,030.030 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:23:05,036.036 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:23:07,078.078 INFO    ] ================================================
[2026-08-29 18:23:07,093.093 INFO    ] Launching Daemon at Sat Aug 29 18:23:07 IST 2026
[2026-08-29 18:23:07,105.105 INFO    ] ================================================
[2026-08-29 18:23:07,436.436 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:23:07
[2026-08-29 18:23:07,748.748 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:23:07,880.880 INFO    ] Initializing speech engine...
[2026-08-29 18:23:07,892.892 INFO    ] 2026-08-29 18:23:07
[2026-08-29 18:23:08,135.135 INFO    ] 2026-08-29 18:23:08
[2026-08-29 18:23:08,190.190 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:23:08,352.352 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:23:08,360.360 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:23:08,526.526 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:23:08,560.560 INFO    ] time= 29/08/2026 18:23:08
[2026-08-29 18:23:08,576.576 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:23:08,585.585 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:23:08,694.694 INFO    ] No existing commands found in stream
[2026-08-29 18:23:13,723.723 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:23:13,726.726 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-08-29 18:23:17,791.791 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:23:17,793.793 INFO    ] Checking for system updates...
[2026-08-29 18:23:17,813.813 INFO    ] 200
[2026-08-29 18:23:17,815.815 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:23:17,844.844 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:23:17,846.846 INFO    ] No update needed
[2026-08-29 18:23:17,847.847 INFO    ] Checking for camera pi updates...
[2026-08-29 18:23:17,866.866 INFO    ] 200
[2026-08-29 18:23:17,867.867 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:23:17,894.894 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:23:18,048.048 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:23:18,049.049 INFO    ] No camera update needed
[2026-08-29 18:23:18,051.051 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:23:18,052.052 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:23:18,055.055 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:23:18,058.058 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:23:20,097.097 INFO    ] ================================================
[2026-08-29 18:23:20,113.113 INFO    ] Launching Daemon at Sat Aug 29 18:23:20 IST 2026
[2026-08-29 18:23:20,123.123 INFO    ] ================================================
[2026-08-29 18:23:20,642.642 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:23:20
[2026-08-29 18:23:21,241.241 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:23:21,518.518 INFO    ] Initializing speech engine...
[2026-08-29 18:23:21,526.526 INFO    ] 2026-08-29 18:23:21
[2026-08-29 18:23:21,780.780 INFO    ] 2026-08-29 18:23:21
[2026-08-29 18:23:21,841.841 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:23:22,062.062 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:23:22,071.071 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:23:22,204.204 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:23:22,245.245 INFO    ] time= 29/08/2026 18:23:22
[2026-08-29 18:23:22,304.304 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:23:22,337.337 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:23:22,394.394 INFO    ] No existing commands found in stream
[2026-08-29 18:23:27,405.405 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:23:27,408.408 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-08-29 18:23:28,134.134 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:23:28,135.135 INFO    ] Checking for system updates...
[2026-08-29 18:23:28,157.157 INFO    ] 200
[2026-08-29 18:23:28,158.158 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:23:28,190.190 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:23:28,192.192 INFO    ] No update needed
[2026-08-29 18:23:28,193.193 INFO    ] Checking for camera pi updates...
[2026-08-29 18:23:28,214.214 INFO    ] 200
[2026-08-29 18:23:28,215.215 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:23:28,239.239 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:23:28,337.337 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:23:28,338.338 INFO    ] No camera update needed
[2026-08-29 18:23:28,340.340 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:23:28,341.341 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:23:28,344.344 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:23:28,347.347 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:23:30,386.386 INFO    ] ================================================
[2026-08-29 18:23:30,403.403 INFO    ] Launching Daemon at Sat Aug 29 18:23:30 IST 2026
[2026-08-29 18:23:30,414.414 INFO    ] ================================================
[2026-08-29 18:23:30,967.967 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:23:30
[2026-08-29 18:23:31,584.584 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:23:31,854.854 INFO    ] Initializing speech engine...
[2026-08-29 18:23:31,863.863 INFO    ] 2026-08-29 18:23:31
[2026-08-29 18:23:32,121.121 INFO    ] 2026-08-29 18:23:32
[2026-08-29 18:23:32,156.156 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:23:32,311.311 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:23:32,323.323 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:23:32,453.453 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:23:32,463.463 INFO    ] time= 29/08/2026 18:23:32
[2026-08-29 18:23:32,468.468 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:23:32,489.489 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:23:32,542.542 INFO    ] No existing commands found in stream
[2026-08-29 18:23:37,554.554 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:23:37,557.557 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 18:23:40,984.984 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:23:40,985.985 INFO    ] Checking for system updates...
[2026-08-29 18:23:41,008.008 INFO    ] 200
[2026-08-29 18:23:41,009.009 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:23:41,039.039 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:23:41,040.040 INFO    ] No update needed
[2026-08-29 18:23:41,041.041 INFO    ] Checking for camera pi updates...
[2026-08-29 18:23:41,061.061 INFO    ] 200
[2026-08-29 18:23:41,063.063 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:23:41,085.085 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:23:41,178.178 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:23:41,179.179 INFO    ] No camera update needed
[2026-08-29 18:23:41,181.181 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:23:41,182.182 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:23:41,185.185 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:23:41,188.188 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:23:43,230.230 INFO    ] ================================================
[2026-08-29 18:23:43,246.246 INFO    ] Launching Daemon at Sat Aug 29 18:23:43 IST 2026
[2026-08-29 18:23:43,258.258 INFO    ] ================================================
[2026-08-29 18:23:43,579.579 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:23:43
[2026-08-29 18:23:43,889.889 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:23:44,032.032 INFO    ] Initializing speech engine...
[2026-08-29 18:23:44,037.037 INFO    ] 2026-08-29 18:23:44
[2026-08-29 18:23:44,234.234 INFO    ] 2026-08-29 18:23:44
[2026-08-29 18:23:44,311.311 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:23:44,468.468 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:23:44,477.477 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:23:44,613.613 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:23:44,634.634 INFO    ] time= 29/08/2026 18:23:44
[2026-08-29 18:23:44,689.689 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:23:44,743.743 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:23:44,802.802 INFO    ] No existing commands found in stream
[2026-08-29 18:23:49,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:23:49,816.816 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 18:23:51,733.733 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:23:51,735.735 INFO    ] Checking for system updates...
[2026-08-29 18:23:51,755.755 INFO    ] 200
[2026-08-29 18:23:51,756.756 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:23:51,786.786 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:23:51,787.787 INFO    ] No update needed
[2026-08-29 18:23:51,788.788 INFO    ] Checking for camera pi updates...
[2026-08-29 18:23:51,807.807 INFO    ] 200
[2026-08-29 18:23:51,808.808 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:23:51,832.832 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:23:51,938.938 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:23:51,939.939 INFO    ] No camera update needed
[2026-08-29 18:23:51,940.940 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:23:51,942.942 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:23:51,945.945 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:23:51,947.947 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:23:53,987.987 INFO    ] ================================================
[2026-08-29 18:23:54,003.003 INFO    ] Launching Daemon at Sat Aug 29 18:23:53 IST 2026
[2026-08-29 18:23:54,014.014 INFO    ] ================================================
[2026-08-29 18:23:54,624.624 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:23:54
[2026-08-29 18:23:55,261.261 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:23:55,575.575 INFO    ] Initializing speech engine...
[2026-08-29 18:23:55,589.589 INFO    ] 2026-08-29 18:23:55
[2026-08-29 18:23:55,906.906 INFO    ] 2026-08-29 18:23:55
[2026-08-29 18:23:55,996.996 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:23:56,157.157 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:23:56,164.164 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:23:56,300.300 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:23:56,348.348 INFO    ] time= 29/08/2026 18:23:56
[2026-08-29 18:23:56,398.398 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:23:56,438.438 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:23:56,494.494 INFO    ] No existing commands found in stream
[2026-08-29 18:24:01,509.509 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:24:01,512.512 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 18:24:03,893.893 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:24:03,896.896 INFO    ] Checking for system updates...
[2026-08-29 18:24:03,938.938 INFO    ] 200
[2026-08-29 18:24:03,941.941 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:24:03,996.996 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:24:03,999.999 INFO    ] No update needed
[2026-08-29 18:24:04,001.001 INFO    ] Checking for camera pi updates...
[2026-08-29 18:24:04,041.041 INFO    ] 200
[2026-08-29 18:24:04,045.045 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:24:04,087.087 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:24:04,190.190 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:24:04,193.193 INFO    ] No camera update needed
[2026-08-29 18:24:04,196.196 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:24:04,199.199 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:24:04,205.205 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:24:04,211.211 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:24:06,251.251 INFO    ] ================================================
[2026-08-29 18:24:06,268.268 INFO    ] Launching Daemon at Sat Aug 29 18:24:06 IST 2026
[2026-08-29 18:24:06,280.280 INFO    ] ================================================
[2026-08-29 18:24:06,756.756 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:24:06
[2026-08-29 18:24:07,438.438 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:24:07,749.749 INFO    ] Initializing speech engine...
[2026-08-29 18:24:07,761.761 INFO    ] 2026-08-29 18:24:07
[2026-08-29 18:24:08,048.048 INFO    ] 2026-08-29 18:24:08
[2026-08-29 18:24:08,158.158 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:24:08,313.313 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:24:08,320.320 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:24:08,453.453 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:24:08,529.529 INFO    ] time= 29/08/2026 18:24:08
[2026-08-29 18:24:08,581.581 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:24:08,588.588 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:24:08,704.704 INFO    ] No existing commands found in stream
[2026-08-29 18:24:13,740.740 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:24:13,743.743 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-08-29 18:24:17,824.824 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:24:17,825.825 INFO    ] Checking for system updates...
[2026-08-29 18:24:17,846.846 INFO    ] 200
[2026-08-29 18:24:17,847.847 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:24:17,877.877 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:24:17,879.879 INFO    ] No update needed
[2026-08-29 18:24:17,880.880 INFO    ] Checking for camera pi updates...
[2026-08-29 18:24:17,900.900 INFO    ] 200
[2026-08-29 18:24:17,901.901 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:24:17,925.925 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:24:18,025.025 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:24:18,026.026 INFO    ] No camera update needed
[2026-08-29 18:24:18,028.028 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:24:18,029.029 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:24:18,032.032 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:24:18,035.035 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:24:20,075.075 INFO    ] ================================================
[2026-08-29 18:24:20,090.090 INFO    ] Launching Daemon at Sat Aug 29 18:24:20 IST 2026
[2026-08-29 18:24:20,100.100 INFO    ] ================================================
[2026-08-29 18:24:20,473.473 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:24:20
[2026-08-29 18:24:21,073.073 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:24:21,329.329 INFO    ] Initializing speech engine...
[2026-08-29 18:24:21,352.352 INFO    ] 2026-08-29 18:24:21
[2026-08-29 18:24:21,607.607 INFO    ] 2026-08-29 18:24:21
[2026-08-29 18:24:21,643.643 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:24:21,816.816 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:24:21,828.828 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:24:21,968.968 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:24:21,977.977 INFO    ] time= 29/08/2026 18:24:21
[2026-08-29 18:24:21,984.984 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:24:22,029.029 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:24:22,170.170 INFO    ] No existing commands found in stream
[2026-08-29 18:24:27,182.182 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:24:27,185.185 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-08-29 18:24:27,796.796 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:24:27,797.797 INFO    ] Checking for system updates...
[2026-08-29 18:24:27,818.818 INFO    ] 200
[2026-08-29 18:24:27,819.819 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:24:27,852.852 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:24:27,853.853 INFO    ] No update needed
[2026-08-29 18:24:27,855.855 INFO    ] Checking for camera pi updates...
[2026-08-29 18:24:27,878.878 INFO    ] 200
[2026-08-29 18:24:27,879.879 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:24:27,907.907 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:24:28,008.008 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:24:28,009.009 INFO    ] No camera update needed
[2026-08-29 18:24:28,010.010 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:24:28,012.012 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:24:28,015.015 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:24:28,018.018 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:24:30,058.058 INFO    ] ================================================
[2026-08-29 18:24:30,074.074 INFO    ] Launching Daemon at Sat Aug 29 18:24:30 IST 2026
[2026-08-29 18:24:30,085.085 INFO    ] ================================================
[2026-08-29 18:24:30,688.688 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:24:30
[2026-08-29 18:24:31,273.273 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:24:31,524.524 INFO    ] Initializing speech engine...
[2026-08-29 18:24:31,536.536 INFO    ] 2026-08-29 18:24:31
[2026-08-29 18:24:31,805.805 INFO    ] 2026-08-29 18:24:31
[2026-08-29 18:24:31,841.841 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:24:32,011.011 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:24:32,019.019 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:24:32,122.122 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:24:32,135.135 INFO    ] time= 29/08/2026 18:24:32
[2026-08-29 18:24:32,199.199 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:24:32,217.217 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:24:32,334.334 INFO    ] No existing commands found in stream
[2026-08-29 18:24:37,351.351 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:24:37,355.355 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-08-29 18:24:37,855.855 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:24:37,858.858 INFO    ] Checking for system updates...
[2026-08-29 18:24:37,899.899 INFO    ] 200
[2026-08-29 18:24:37,901.901 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:24:37,955.955 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:24:37,957.957 INFO    ] No update needed
[2026-08-29 18:24:37,960.960 INFO    ] Checking for camera pi updates...
[2026-08-29 18:24:37,993.993 INFO    ] 200
[2026-08-29 18:24:37,996.996 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:24:38,036.036 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:24:38,086.086 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:24:38,088.088 INFO    ] No camera update needed
[2026-08-29 18:24:38,091.091 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:24:38,093.093 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:24:38,098.098 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:24:38,103.103 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:24:40,145.145 INFO    ] ================================================
[2026-08-29 18:24:40,160.160 INFO    ] Launching Daemon at Sat Aug 29 18:24:40 IST 2026
[2026-08-29 18:24:40,172.172 INFO    ] ================================================
[2026-08-29 18:24:40,650.650 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:24:40
[2026-08-29 18:24:41,251.251 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:24:41,528.528 INFO    ] Initializing speech engine...
[2026-08-29 18:24:41,534.534 INFO    ] 2026-08-29 18:24:41
[2026-08-29 18:24:41,796.796 INFO    ] 2026-08-29 18:24:41
[2026-08-29 18:24:41,849.849 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:24:42,013.013 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:24:42,020.020 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:24:42,149.149 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:24:42,154.154 INFO    ] time= 29/08/2026 18:24:42
[2026-08-29 18:24:42,162.162 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:24:42,201.201 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:24:42,330.330 INFO    ] No existing commands found in stream
[2026-08-29 18:24:47,355.355 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:24:47,358.358 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-08-29 18:24:47,927.927 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:24:47,929.929 INFO    ] Checking for system updates...
[2026-08-29 18:24:47,949.949 INFO    ] 200
[2026-08-29 18:24:47,951.951 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:24:47,981.981 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:24:47,983.983 INFO    ] No update needed
[2026-08-29 18:24:47,984.984 INFO    ] Checking for camera pi updates...
[2026-08-29 18:24:48,004.004 INFO    ] 200
[2026-08-29 18:24:48,005.005 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:24:48,030.030 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:24:48,127.127 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:24:48,128.128 INFO    ] No camera update needed
[2026-08-29 18:24:48,129.129 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:24:48,131.131 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:24:48,134.134 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:24:48,136.136 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:24:50,177.177 INFO    ] ================================================
[2026-08-29 18:24:50,192.192 INFO    ] Launching Daemon at Sat Aug 29 18:24:50 IST 2026
[2026-08-29 18:24:50,203.203 INFO    ] ================================================
[2026-08-29 18:24:50,559.559 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:24:50
[2026-08-29 18:24:51,163.163 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:24:51,444.444 INFO    ] Initializing speech engine...
[2026-08-29 18:24:51,451.451 INFO    ] 2026-08-29 18:24:51
[2026-08-29 18:24:51,711.711 INFO    ] 2026-08-29 18:24:51
[2026-08-29 18:24:51,742.742 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:24:51,907.907 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:24:51,919.919 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:24:52,061.061 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:24:52,069.069 INFO    ] time= 29/08/2026 18:24:52
[2026-08-29 18:24:52,073.073 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:24:52,081.081 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:24:52,145.145 INFO    ] No existing commands found in stream
[2026-08-29 18:24:57,157.157 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:24:57,160.160 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-08-29 18:24:58,133.133 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:24:58,135.135 INFO    ] Checking for system updates...
[2026-08-29 18:24:58,176.176 INFO    ] 200
[2026-08-29 18:24:58,178.178 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:24:58,240.240 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:24:58,242.242 INFO    ] No update needed
[2026-08-29 18:24:58,245.245 INFO    ] Checking for camera pi updates...
[2026-08-29 18:24:58,283.283 INFO    ] 200
[2026-08-29 18:24:58,285.285 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:24:58,325.325 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:24:58,409.409 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:24:58,411.411 INFO    ] No camera update needed
[2026-08-29 18:24:58,414.414 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:24:58,415.415 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:24:58,418.418 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:24:58,421.421 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:25:00,459.459 INFO    ] ================================================
[2026-08-29 18:25:00,474.474 INFO    ] Launching Daemon at Sat Aug 29 18:25:00 IST 2026
[2026-08-29 18:25:00,485.485 INFO    ] ================================================
[2026-08-29 18:25:00,835.835 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:25:00
[2026-08-29 18:25:01,148.148 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:25:01,281.281 INFO    ] Initializing speech engine...
[2026-08-29 18:25:01,293.293 INFO    ] 2026-08-29 18:25:01
[2026-08-29 18:25:01,504.504 INFO    ] 2026-08-29 18:25:01
[2026-08-29 18:25:01,532.532 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:25:01,748.748 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:25:01,774.774 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:25:01,894.894 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:25:01,905.905 INFO    ] time= 29/08/2026 18:25:01
[2026-08-29 18:25:01,916.916 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:25:01,935.935 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:25:01,985.985 INFO    ] No existing commands found in stream
[2026-08-29 18:25:06,996.996 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:25:06,998.998 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-08-29 18:25:09,562.562 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:25:09,564.564 INFO    ] Checking for system updates...
[2026-08-29 18:25:09,584.584 INFO    ] 200
[2026-08-29 18:25:09,586.586 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:25:09,615.615 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:25:09,616.616 INFO    ] No update needed
[2026-08-29 18:25:09,618.618 INFO    ] Checking for camera pi updates...
[2026-08-29 18:25:09,637.637 INFO    ] 200
[2026-08-29 18:25:09,638.638 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:25:09,662.662 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:25:09,743.743 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:25:09,745.745 INFO    ] No camera update needed
[2026-08-29 18:25:09,746.746 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:25:09,747.747 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:25:09,750.750 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:25:09,753.753 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:25:11,791.791 INFO    ] ================================================
[2026-08-29 18:25:11,806.806 INFO    ] Launching Daemon at Sat Aug 29 18:25:11 IST 2026
[2026-08-29 18:25:11,817.817 INFO    ] ================================================
[2026-08-29 18:25:12,172.172 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:25:12
[2026-08-29 18:25:12,488.488 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:25:12,631.631 INFO    ] Initializing speech engine...
[2026-08-29 18:25:12,640.640 INFO    ] 2026-08-29 18:25:12
[2026-08-29 18:25:12,890.890 INFO    ] 2026-08-29 18:25:12
[2026-08-29 18:25:12,926.926 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:25:13,098.098 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:25:13,110.110 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:25:13,235.235 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:25:13,258.258 INFO    ] time= 29/08/2026 18:25:13
[2026-08-29 18:25:13,263.263 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:25:13,269.269 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:25:13,345.345 INFO    ] No existing commands found in stream
[2026-08-29 18:25:18,375.375 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:25:18,378.378 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-08-29 18:25:22,358.358 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:25:22,360.360 INFO    ] Checking for system updates...
[2026-08-29 18:25:22,381.381 INFO    ] 200
[2026-08-29 18:25:22,383.383 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:25:22,415.415 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:25:22,416.416 INFO    ] No update needed
[2026-08-29 18:25:22,417.417 INFO    ] Checking for camera pi updates...
[2026-08-29 18:25:22,437.437 INFO    ] 200
[2026-08-29 18:25:22,439.439 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:25:22,463.463 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:25:22,640.640 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:25:22,641.641 INFO    ] No camera update needed
[2026-08-29 18:25:22,642.642 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:25:22,644.644 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:25:22,646.646 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:25:22,649.649 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:25:24,687.687 INFO    ] ================================================
[2026-08-29 18:25:24,703.703 INFO    ] Launching Daemon at Sat Aug 29 18:25:24 IST 2026
[2026-08-29 18:25:24,714.714 INFO    ] ================================================
[2026-08-29 18:25:25,067.067 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:25:25
[2026-08-29 18:25:25,379.379 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:25:25,510.510 INFO    ] Initializing speech engine...
[2026-08-29 18:25:25,515.515 INFO    ] 2026-08-29 18:25:25
[2026-08-29 18:25:25,715.715 INFO    ] 2026-08-29 18:25:25
[2026-08-29 18:25:25,822.822 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:25:25,979.979 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:25:25,988.988 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:25:26,126.126 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:25:26,187.187 INFO    ] time= 29/08/2026 18:25:26
[2026-08-29 18:25:26,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:25:26,264.264 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:25:26,317.317 INFO    ] No existing commands found in stream
[2026-08-29 18:25:31,329.329 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:25:31,331.331 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-08-29 18:25:34,583.583 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:25:34,585.585 INFO    ] Checking for system updates...
[2026-08-29 18:25:34,620.620 INFO    ] 200
[2026-08-29 18:25:34,623.623 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:25:34,681.681 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:25:34,683.683 INFO    ] No update needed
[2026-08-29 18:25:34,686.686 INFO    ] Checking for camera pi updates...
[2026-08-29 18:25:34,721.721 INFO    ] 200
[2026-08-29 18:25:34,724.724 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:25:34,764.764 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:25:34,847.847 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:25:34,850.850 INFO    ] No camera update needed
[2026-08-29 18:25:34,852.852 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:25:34,855.855 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:25:34,860.860 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:25:34,865.865 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:25:36,905.905 INFO    ] ================================================
[2026-08-29 18:25:36,921.921 INFO    ] Launching Daemon at Sat Aug 29 18:25:36 IST 2026
[2026-08-29 18:25:36,932.932 INFO    ] ================================================
[2026-08-29 18:25:37,396.396 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:25:37
[2026-08-29 18:25:38,057.057 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:25:38,357.357 INFO    ] Initializing speech engine...
[2026-08-29 18:25:38,362.362 INFO    ] 2026-08-29 18:25:38
[2026-08-29 18:25:38,638.638 INFO    ] 2026-08-29 18:25:38
[2026-08-29 18:25:38,693.693 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:25:38,916.916 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:25:38,951.951 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:25:39,106.106 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:25:39,113.113 INFO    ] time= 29/08/2026 18:25:39
[2026-08-29 18:25:39,162.162 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:25:39,206.206 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:25:39,275.275 INFO    ] No existing commands found in stream
[2026-08-29 18:25:44,288.288 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:25:44,291.291 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-08-29 18:25:45,341.341 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:25:45,344.344 INFO    ] Checking for system updates...
[2026-08-29 18:25:45,380.380 INFO    ] 200
[2026-08-29 18:25:45,383.383 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:25:45,437.437 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:25:45,439.439 INFO    ] No update needed
[2026-08-29 18:25:45,442.442 INFO    ] Checking for camera pi updates...
[2026-08-29 18:25:45,477.477 INFO    ] 200
[2026-08-29 18:25:45,479.479 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:25:45,520.520 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:25:45,613.613 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:25:45,615.615 INFO    ] No camera update needed
[2026-08-29 18:25:45,616.616 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:25:45,617.617 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:25:45,621.621 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:25:45,624.624 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:25:47,663.663 INFO    ] ================================================
[2026-08-29 18:25:47,679.679 INFO    ] Launching Daemon at Sat Aug 29 18:25:47 IST 2026
[2026-08-29 18:25:47,690.690 INFO    ] ================================================
[2026-08-29 18:25:48,029.029 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:25:48
[2026-08-29 18:25:48,345.345 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:25:48,477.477 INFO    ] Initializing speech engine...
[2026-08-29 18:25:48,491.491 INFO    ] 2026-08-29 18:25:48
[2026-08-29 18:25:48,695.695 INFO    ] 2026-08-29 18:25:48
[2026-08-29 18:25:48,752.752 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:25:48,899.899 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:25:48,908.908 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:25:49,039.039 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:25:49,066.066 INFO    ] time= 29/08/2026 18:25:49
[2026-08-29 18:25:49,129.129 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:25:49,168.168 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:25:49,225.225 INFO    ] No existing commands found in stream
[2026-08-29 18:25:54,236.236 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:25:54,239.239 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 18:25:55,823.823 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:25:55,824.824 INFO    ] Checking for system updates...
[2026-08-29 18:25:55,844.844 INFO    ] 200
[2026-08-29 18:25:55,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:25:55,877.877 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:25:55,879.879 INFO    ] No update needed
[2026-08-29 18:25:55,880.880 INFO    ] Checking for camera pi updates...
[2026-08-29 18:25:55,900.900 INFO    ] 200
[2026-08-29 18:25:55,901.901 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:25:55,926.926 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:25:56,003.003 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:25:56,004.004 INFO    ] No camera update needed
[2026-08-29 18:25:56,005.005 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:25:56,006.006 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:25:56,009.009 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:25:56,012.012 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:25:58,051.051 INFO    ] ================================================
[2026-08-29 18:25:58,066.066 INFO    ] Launching Daemon at Sat Aug 29 18:25:58 IST 2026
[2026-08-29 18:25:58,077.077 INFO    ] ================================================
[2026-08-29 18:25:58,431.431 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:25:58
[2026-08-29 18:25:58,747.747 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:25:58,890.890 INFO    ] Initializing speech engine...
[2026-08-29 18:25:58,896.896 INFO    ] 2026-08-29 18:25:58
[2026-08-29 18:25:59,091.091 INFO    ] 2026-08-29 18:25:59
[2026-08-29 18:25:59,170.170 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:25:59,322.322 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:25:59,327.327 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:25:59,458.458 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:25:59,505.505 INFO    ] time= 29/08/2026 18:25:59
[2026-08-29 18:25:59,555.555 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:25:59,591.591 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:25:59,643.643 INFO    ] No existing commands found in stream
[2026-08-29 18:26:04,655.655 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:26:04,658.658 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-08-29 18:26:08,079.079 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:26:08,081.081 INFO    ] Checking for system updates...
[2026-08-29 18:26:08,103.103 INFO    ] 200
[2026-08-29 18:26:08,104.104 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:26:08,134.134 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:26:08,136.136 INFO    ] No update needed
[2026-08-29 18:26:08,137.137 INFO    ] Checking for camera pi updates...
[2026-08-29 18:26:08,156.156 INFO    ] 200
[2026-08-29 18:26:08,158.158 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:26:08,183.183 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:26:08,263.263 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:26:08,264.264 INFO    ] No camera update needed
[2026-08-29 18:26:08,266.266 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:26:08,267.267 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:26:08,270.270 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:26:08,272.272 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:26:10,313.313 INFO    ] ================================================
[2026-08-29 18:26:10,329.329 INFO    ] Launching Daemon at Sat Aug 29 18:26:10 IST 2026
[2026-08-29 18:26:10,340.340 INFO    ] ================================================
[2026-08-29 18:26:10,666.666 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:26:10
[2026-08-29 18:26:11,107.107 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:26:11,360.360 INFO    ] Initializing speech engine...
[2026-08-29 18:26:11,383.383 INFO    ] 2026-08-29 18:26:11
[2026-08-29 18:26:11,637.637 INFO    ] 2026-08-29 18:26:11
[2026-08-29 18:26:11,671.671 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:26:11,848.848 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:26:11,861.861 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:26:11,975.975 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:26:12,008.008 INFO    ] time= 29/08/2026 18:26:11
[2026-08-29 18:26:12,017.017 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:26:12,021.021 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:26:12,090.090 INFO    ] No existing commands found in stream
[2026-08-29 18:26:17,103.103 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:26:17,106.106 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-08-29 18:26:21,202.202 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:26:21,204.204 INFO    ] Checking for system updates...
[2026-08-29 18:26:21,224.224 INFO    ] 200
[2026-08-29 18:26:21,226.226 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:26:21,258.258 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:26:21,259.259 INFO    ] No update needed
[2026-08-29 18:26:21,260.260 INFO    ] Checking for camera pi updates...
[2026-08-29 18:26:21,281.281 INFO    ] 200
[2026-08-29 18:26:21,283.283 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:26:21,305.305 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:26:21,403.403 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:26:21,404.404 INFO    ] No camera update needed
[2026-08-29 18:26:21,405.405 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:26:21,406.406 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:26:21,409.409 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:26:21,412.412 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:26:23,452.452 INFO    ] ================================================
[2026-08-29 18:26:23,468.468 INFO    ] Launching Daemon at Sat Aug 29 18:26:23 IST 2026
[2026-08-29 18:26:23,480.480 INFO    ] ================================================
[2026-08-29 18:26:23,833.833 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:26:23
[2026-08-29 18:26:24,172.172 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:26:24,326.326 INFO    ] Initializing speech engine...
[2026-08-29 18:26:24,330.330 INFO    ] 2026-08-29 18:26:24
[2026-08-29 18:26:24,537.537 INFO    ] 2026-08-29 18:26:24
[2026-08-29 18:26:24,566.566 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:26:24,750.750 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:26:24,753.753 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:26:24,890.890 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:26:24,957.957 INFO    ] time= 29/08/2026 18:26:24
[2026-08-29 18:26:24,981.981 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:26:24,988.988 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:26:25,055.055 INFO    ] No existing commands found in stream
[2026-08-29 18:26:30,065.065 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:26:30,068.068 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-08-29 18:26:30,558.558 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:26:30,561.561 INFO    ] Checking for system updates...
[2026-08-29 18:26:30,600.600 INFO    ] 200
[2026-08-29 18:26:30,603.603 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:26:30,663.663 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:26:30,665.665 INFO    ] No update needed
[2026-08-29 18:26:30,668.668 INFO    ] Checking for camera pi updates...
[2026-08-29 18:26:30,705.705 INFO    ] 200
[2026-08-29 18:26:30,708.708 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:26:30,753.753 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:26:30,850.850 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:26:30,852.852 INFO    ] No camera update needed
[2026-08-29 18:26:30,855.855 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:26:30,857.857 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:26:30,862.862 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:26:30,873.873 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:26:32,914.914 INFO    ] ================================================
[2026-08-29 18:26:32,930.930 INFO    ] Launching Daemon at Sat Aug 29 18:26:32 IST 2026
[2026-08-29 18:26:32,941.941 INFO    ] ================================================
[2026-08-29 18:26:33,509.509 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:26:33
[2026-08-29 18:26:34,094.094 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:26:34,361.361 INFO    ] Initializing speech engine...
[2026-08-29 18:26:34,373.373 INFO    ] 2026-08-29 18:26:34
[2026-08-29 18:26:34,623.623 INFO    ] 2026-08-29 18:26:34
[2026-08-29 18:26:34,660.660 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:26:34,834.834 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:26:34,849.849 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:26:34,978.978 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:26:35,000.000 INFO    ] time= 29/08/2026 18:26:34
[2026-08-29 18:26:35,006.006 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:26:35,012.012 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:26:35,078.078 INFO    ] No existing commands found in stream
[2026-08-29 18:26:40,091.091 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:26:40,094.094 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-08-29 18:26:40,626.626 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:26:40,628.628 INFO    ] Checking for system updates...
[2026-08-29 18:26:40,649.649 INFO    ] 200
[2026-08-29 18:26:40,651.651 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:26:40,683.683 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:26:40,685.685 INFO    ] No update needed
[2026-08-29 18:26:40,686.686 INFO    ] Checking for camera pi updates...
[2026-08-29 18:26:40,707.707 INFO    ] 200
[2026-08-29 18:26:40,708.708 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:26:40,731.731 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:26:40,807.807 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:26:40,808.808 INFO    ] No camera update needed
[2026-08-29 18:26:40,809.809 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:26:40,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:26:40,813.813 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:26:40,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:26:42,855.855 INFO    ] ================================================
[2026-08-29 18:26:42,871.871 INFO    ] Launching Daemon at Sat Aug 29 18:26:42 IST 2026
[2026-08-29 18:26:42,882.882 INFO    ] ================================================
[2026-08-29 18:26:43,255.255 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:26:43
[2026-08-29 18:26:43,593.593 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:26:43,744.744 INFO    ] Initializing speech engine...
[2026-08-29 18:26:43,749.749 INFO    ] 2026-08-29 18:26:43
[2026-08-29 18:26:43,956.956 INFO    ] 2026-08-29 18:26:43
[2026-08-29 18:26:43,987.987 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:26:44,110.110 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:26:44,168.168 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:26:44,308.308 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:26:44,371.371 INFO    ] time= 29/08/2026 18:26:44
[2026-08-29 18:26:44,400.400 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:26:44,411.411 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:26:44,477.477 INFO    ] No existing commands found in stream
[2026-08-29 18:26:49,488.488 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:26:49,491.491 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-08-29 18:26:53,862.862 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:26:53,864.864 INFO    ] Checking for system updates...
[2026-08-29 18:26:53,884.884 INFO    ] 200
[2026-08-29 18:26:53,886.886 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:26:53,915.915 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:26:53,917.917 INFO    ] No update needed
[2026-08-29 18:26:53,918.918 INFO    ] Checking for camera pi updates...
[2026-08-29 18:26:53,937.937 INFO    ] 200
[2026-08-29 18:26:53,938.938 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:26:53,965.965 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:26:54,043.043 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:26:54,044.044 INFO    ] No camera update needed
[2026-08-29 18:26:54,046.046 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:26:54,047.047 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:26:54,050.050 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:26:54,053.053 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:26:56,091.091 INFO    ] ================================================
[2026-08-29 18:26:56,106.106 INFO    ] Launching Daemon at Sat Aug 29 18:26:56 IST 2026
[2026-08-29 18:26:56,118.118 INFO    ] ================================================
[2026-08-29 18:26:56,484.484 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:26:56
[2026-08-29 18:26:56,796.796 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:26:56,954.954 INFO    ] Initializing speech engine...
[2026-08-29 18:26:56,964.964 INFO    ] 2026-08-29 18:26:56
[2026-08-29 18:26:57,212.212 INFO    ] 2026-08-29 18:26:57
[2026-08-29 18:26:57,276.276 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:26:57,419.419 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:26:57,431.431 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:26:57,541.541 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:26:57,546.546 INFO    ] time= 29/08/2026 18:26:57
[2026-08-29 18:26:57,564.564 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:26:57,585.585 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:26:57,659.659 INFO    ] No existing commands found in stream
[2026-08-29 18:27:02,677.677 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:27:02,679.679 INFO    ] Waiting 1.19 seconds before fallback handling...
[2026-08-29 18:27:04,249.249 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:27:04,252.252 INFO    ] Checking for system updates...
[2026-08-29 18:27:04,292.292 INFO    ] 200
[2026-08-29 18:27:04,295.295 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:27:04,354.354 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:27:04,356.356 INFO    ] No update needed
[2026-08-29 18:27:04,359.359 INFO    ] Checking for camera pi updates...
[2026-08-29 18:27:04,396.396 INFO    ] 200
[2026-08-29 18:27:04,398.398 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:27:04,438.438 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:27:04,555.555 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:27:04,557.557 INFO    ] No camera update needed
[2026-08-29 18:27:04,560.560 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:27:04,562.562 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:27:04,567.567 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:27:04,572.572 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:27:06,613.613 INFO    ] ================================================
[2026-08-29 18:27:06,629.629 INFO    ] Launching Daemon at Sat Aug 29 18:27:06 IST 2026
[2026-08-29 18:27:06,640.640 INFO    ] ================================================
[2026-08-29 18:27:07,026.026 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:27:07
[2026-08-29 18:27:07,364.364 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:27:07,513.513 INFO    ] Initializing speech engine...
[2026-08-29 18:27:07,519.519 INFO    ] 2026-08-29 18:27:07
[2026-08-29 18:27:07,746.746 INFO    ] 2026-08-29 18:27:07
[2026-08-29 18:27:07,833.833 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:27:07,988.988 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:27:07,994.994 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:27:08,129.129 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:27:08,189.189 INFO    ] time= 29/08/2026 18:27:08
[2026-08-29 18:27:08,254.254 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:27:08,264.264 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:27:08,390.390 INFO    ] No existing commands found in stream
[2026-08-29 18:27:13,418.418 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:27:13,422.422 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 18:27:14,054.054 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:27:14,055.055 INFO    ] Checking for system updates...
[2026-08-29 18:27:14,077.077 INFO    ] 200
[2026-08-29 18:27:14,078.078 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:27:14,110.110 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:27:14,112.112 INFO    ] No update needed
[2026-08-29 18:27:14,113.113 INFO    ] Checking for camera pi updates...
[2026-08-29 18:27:14,132.132 INFO    ] 200
[2026-08-29 18:27:14,134.134 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:27:14,156.156 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:27:14,239.239 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:27:14,240.240 INFO    ] No camera update needed
[2026-08-29 18:27:14,242.242 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:27:14,243.243 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:27:14,246.246 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:27:14,249.249 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:27:16,289.289 INFO    ] ================================================
[2026-08-29 18:27:16,305.305 INFO    ] Launching Daemon at Sat Aug 29 18:27:16 IST 2026
[2026-08-29 18:27:16,315.315 INFO    ] ================================================
[2026-08-29 18:27:16,766.766 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:27:16
[2026-08-29 18:27:17,366.366 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:27:17,640.640 INFO    ] Initializing speech engine...
[2026-08-29 18:27:17,649.649 INFO    ] 2026-08-29 18:27:17
[2026-08-29 18:27:17,899.899 INFO    ] 2026-08-29 18:27:17
[2026-08-29 18:27:17,935.935 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:27:18,108.108 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:27:18,120.120 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:27:18,258.258 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:27:18,271.271 INFO    ] time= 29/08/2026 18:27:18
[2026-08-29 18:27:18,276.276 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:27:18,283.283 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:27:18,349.349 INFO    ] No existing commands found in stream
[2026-08-29 18:27:23,364.364 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:27:23,367.367 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-08-29 18:27:24,472.472 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:27:24,475.475 INFO    ] Checking for system updates...
[2026-08-29 18:27:24,510.510 INFO    ] 200
[2026-08-29 18:27:24,513.513 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:27:24,573.573 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:27:24,576.576 INFO    ] No update needed
[2026-08-29 18:27:24,578.578 INFO    ] Checking for camera pi updates...
[2026-08-29 18:27:24,615.615 INFO    ] 200
[2026-08-29 18:27:24,618.618 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:27:24,660.660 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:27:24,849.849 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:27:24,851.851 INFO    ] No camera update needed
[2026-08-29 18:27:24,854.854 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:27:24,856.856 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:27:24,861.861 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:27:24,867.867 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:27:26,910.910 INFO    ] ================================================
[2026-08-29 18:27:26,926.926 INFO    ] Launching Daemon at Sat Aug 29 18:27:26 IST 2026
[2026-08-29 18:27:26,937.937 INFO    ] ================================================
[2026-08-29 18:27:27,296.296 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:27:27
[2026-08-29 18:27:27,607.607 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:27:27,748.748 INFO    ] Initializing speech engine...
[2026-08-29 18:27:27,759.759 INFO    ] 2026-08-29 18:27:27
[2026-08-29 18:27:27,974.974 INFO    ] 2026-08-29 18:27:27
[2026-08-29 18:27:28,004.004 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:27:28,138.138 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:27:28,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:27:28,312.312 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:27:28,351.351 INFO    ] time= 29/08/2026 18:27:28
[2026-08-29 18:27:28,397.397 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:27:28,441.441 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:27:28,534.534 INFO    ] No existing commands found in stream
[2026-08-29 18:27:33,544.544 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:27:33,547.547 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-08-29 18:27:35,738.738 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:27:35,740.740 INFO    ] Checking for system updates...
[2026-08-29 18:27:35,764.764 INFO    ] 200
[2026-08-29 18:27:35,766.766 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:27:35,798.798 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:27:35,799.799 INFO    ] No update needed
[2026-08-29 18:27:35,801.801 INFO    ] Checking for camera pi updates...
[2026-08-29 18:27:35,821.821 INFO    ] 200
[2026-08-29 18:27:35,823.823 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:27:35,847.847 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:27:35,965.965 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:27:35,967.967 INFO    ] No camera update needed
[2026-08-29 18:27:35,968.968 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:27:35,969.969 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:27:35,972.972 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:27:35,975.975 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:27:38,014.014 INFO    ] ================================================
[2026-08-29 18:27:38,030.030 INFO    ] Launching Daemon at Sat Aug 29 18:27:38 IST 2026
[2026-08-29 18:27:38,041.041 INFO    ] ================================================
[2026-08-29 18:27:38,397.397 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:27:38
[2026-08-29 18:27:38,735.735 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:27:39,016.016 INFO    ] Initializing speech engine...
[2026-08-29 18:27:39,024.024 INFO    ] 2026-08-29 18:27:39
[2026-08-29 18:27:39,329.329 INFO    ] 2026-08-29 18:27:39
[2026-08-29 18:27:39,415.415 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:27:39,563.563 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:27:39,572.572 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:27:39,705.705 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:27:39,748.748 INFO    ] time= 29/08/2026 18:27:39
[2026-08-29 18:27:39,813.813 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:27:39,840.840 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:27:39,905.905 INFO    ] No existing commands found in stream
[2026-08-29 18:27:44,941.941 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:27:44,944.944 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-08-29 18:27:46,611.611 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:27:46,613.613 INFO    ] Checking for system updates...
[2026-08-29 18:27:46,635.635 INFO    ] 200
[2026-08-29 18:27:46,636.636 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:27:46,668.668 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:27:46,669.669 INFO    ] No update needed
[2026-08-29 18:27:46,670.670 INFO    ] Checking for camera pi updates...
[2026-08-29 18:27:46,689.689 INFO    ] 200
[2026-08-29 18:27:46,691.691 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:27:46,714.714 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:27:46,805.805 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:27:46,807.807 INFO    ] No camera update needed
[2026-08-29 18:27:46,808.808 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:27:46,809.809 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:27:46,812.812 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:27:46,815.815 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:27:48,853.853 INFO    ] ================================================
[2026-08-29 18:27:48,869.869 INFO    ] Launching Daemon at Sat Aug 29 18:27:48 IST 2026
[2026-08-29 18:27:48,881.881 INFO    ] ================================================
[2026-08-29 18:27:49,215.215 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:27:49
[2026-08-29 18:27:49,527.527 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:27:49,669.669 INFO    ] Initializing speech engine...
[2026-08-29 18:27:49,675.675 INFO    ] 2026-08-29 18:27:49
[2026-08-29 18:27:49,878.878 INFO    ] 2026-08-29 18:27:49
[2026-08-29 18:27:49,906.906 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:27:50,016.016 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:27:50,023.023 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:27:50,194.194 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:27:50,219.219 INFO    ] time= 29/08/2026 18:27:50
[2026-08-29 18:27:50,237.237 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:27:50,268.268 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:27:50,371.371 INFO    ] No existing commands found in stream
[2026-08-29 18:27:55,387.387 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:27:55,391.391 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 18:27:55,938.938 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:27:55,940.940 INFO    ] Checking for system updates...
[2026-08-29 18:27:55,962.962 INFO    ] 200
[2026-08-29 18:27:55,963.963 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:27:55,993.993 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:27:55,994.994 INFO    ] No update needed
[2026-08-29 18:27:55,996.996 INFO    ] Checking for camera pi updates...
[2026-08-29 18:27:56,018.018 INFO    ] 200
[2026-08-29 18:27:56,019.019 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:27:56,044.044 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:27:56,155.155 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:27:56,156.156 INFO    ] No camera update needed
[2026-08-29 18:27:56,157.157 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:27:56,159.159 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:27:56,161.161 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:27:56,164.164 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:27:58,203.203 INFO    ] ================================================
[2026-08-29 18:27:58,219.219 INFO    ] Launching Daemon at Sat Aug 29 18:27:58 IST 2026
[2026-08-29 18:27:58,230.230 INFO    ] ================================================
[2026-08-29 18:27:58,600.600 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:27:58
[2026-08-29 18:27:58,911.911 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:27:59,045.045 INFO    ] Initializing speech engine...
[2026-08-29 18:27:59,058.058 INFO    ] 2026-08-29 18:27:59
[2026-08-29 18:27:59,245.245 INFO    ] 2026-08-29 18:27:59
[2026-08-29 18:27:59,278.278 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:27:59,460.460 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:27:59,478.478 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:27:59,605.605 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:27:59,610.610 INFO    ] time= 29/08/2026 18:27:59
[2026-08-29 18:27:59,618.618 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:27:59,662.662 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:27:59,789.789 INFO    ] No existing commands found in stream
[2026-08-29 18:28:04,815.815 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:28:04,818.818 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 18:28:05,397.397 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:28:05,400.400 INFO    ] Checking for system updates...
[2026-08-29 18:28:05,440.440 INFO    ] 200
[2026-08-29 18:28:05,442.442 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:28:05,503.503 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:28:05,505.505 INFO    ] No update needed
[2026-08-29 18:28:05,507.507 INFO    ] Checking for camera pi updates...
[2026-08-29 18:28:05,545.545 INFO    ] 200
[2026-08-29 18:28:05,547.547 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:28:05,588.588 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:28:05,638.638 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:28:05,641.641 INFO    ] No camera update needed
[2026-08-29 18:28:05,643.643 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:28:05,646.646 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:28:05,651.651 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:28:05,656.656 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:28:07,695.695 INFO    ] ================================================
[2026-08-29 18:28:07,711.711 INFO    ] Launching Daemon at Sat Aug 29 18:28:07 IST 2026
[2026-08-29 18:28:07,722.722 INFO    ] ================================================
[2026-08-29 18:28:08,106.106 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:28:08
[2026-08-29 18:28:08,448.448 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:28:08,600.600 INFO    ] Initializing speech engine...
[2026-08-29 18:28:08,606.606 INFO    ] 2026-08-29 18:28:08
[2026-08-29 18:28:08,819.819 INFO    ] 2026-08-29 18:28:08
[2026-08-29 18:28:08,848.848 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:28:08,974.974 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:28:09,038.038 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:28:09,183.183 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:28:09,252.252 INFO    ] time= 29/08/2026 18:28:09
[2026-08-29 18:28:09,277.277 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:28:09,284.284 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:28:09,352.352 INFO    ] No existing commands found in stream
[2026-08-29 18:28:14,362.362 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:28:14,365.365 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-08-29 18:28:17,068.068 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:28:17,069.069 INFO    ] Checking for system updates...
[2026-08-29 18:28:17,092.092 INFO    ] 200
[2026-08-29 18:28:17,093.093 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:28:17,123.123 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:28:17,124.124 INFO    ] No update needed
[2026-08-29 18:28:17,126.126 INFO    ] Checking for camera pi updates...
[2026-08-29 18:28:17,147.147 INFO    ] 200
[2026-08-29 18:28:17,148.148 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:28:17,173.173 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:28:17,260.260 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:28:17,261.261 INFO    ] No camera update needed
[2026-08-29 18:28:17,263.263 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:28:17,264.264 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:28:17,267.267 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:28:17,270.270 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:28:19,309.309 INFO    ] ================================================
[2026-08-29 18:28:19,325.325 INFO    ] Launching Daemon at Sat Aug 29 18:28:19 IST 2026
[2026-08-29 18:28:19,336.336 INFO    ] ================================================
[2026-08-29 18:28:19,659.659 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:28:19
[2026-08-29 18:28:19,971.971 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:28:20,108.108 INFO    ] Initializing speech engine...
[2026-08-29 18:28:20,118.118 INFO    ] 2026-08-29 18:28:20
[2026-08-29 18:28:20,322.322 INFO    ] 2026-08-29 18:28:20
[2026-08-29 18:28:20,350.350 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:28:20,473.473 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:28:20,535.535 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:28:20,672.672 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:28:20,739.739 INFO    ] time= 29/08/2026 18:28:20
[2026-08-29 18:28:20,764.764 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:28:20,770.770 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:28:20,835.835 INFO    ] No existing commands found in stream
[2026-08-29 18:28:25,845.845 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:28:25,848.848 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-08-29 18:28:29,333.333 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:28:29,335.335 INFO    ] Checking for system updates...
[2026-08-29 18:28:29,370.370 INFO    ] 200
[2026-08-29 18:28:29,373.373 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:28:29,432.432 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:28:29,435.435 INFO    ] No update needed
[2026-08-29 18:28:29,437.437 INFO    ] Checking for camera pi updates...
[2026-08-29 18:28:29,474.474 INFO    ] 200
[2026-08-29 18:28:29,477.477 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:28:29,523.523 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:28:29,629.629 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:28:29,632.632 INFO    ] No camera update needed
[2026-08-29 18:28:29,634.634 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:28:29,637.637 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:28:29,642.642 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:28:29,647.647 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:28:31,690.690 INFO    ] ================================================
[2026-08-29 18:28:31,707.707 INFO    ] Launching Daemon at Sat Aug 29 18:28:31 IST 2026
[2026-08-29 18:28:31,719.719 INFO    ] ================================================
[2026-08-29 18:28:32,244.244 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:28:32
[2026-08-29 18:28:32,872.872 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:28:33,141.141 INFO    ] Initializing speech engine...
[2026-08-29 18:28:33,150.150 INFO    ] 2026-08-29 18:28:33
[2026-08-29 18:28:33,398.398 INFO    ] 2026-08-29 18:28:33
[2026-08-29 18:28:33,432.432 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:28:33,602.602 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:28:33,616.616 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:28:33,758.758 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:28:33,766.766 INFO    ] time= 29/08/2026 18:28:33
[2026-08-29 18:28:33,773.773 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:28:33,830.830 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:28:33,949.949 INFO    ] No existing commands found in stream
[2026-08-29 18:28:38,972.972 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:28:38,975.975 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-08-29 18:28:39,428.428 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:28:39,430.430 INFO    ] Checking for system updates...
[2026-08-29 18:28:39,452.452 INFO    ] 200
[2026-08-29 18:28:39,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:28:39,487.487 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:28:39,489.489 INFO    ] No update needed
[2026-08-29 18:28:39,490.490 INFO    ] Checking for camera pi updates...
[2026-08-29 18:28:39,513.513 INFO    ] 200
[2026-08-29 18:28:39,515.515 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:28:39,542.542 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:28:39,662.662 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:28:39,664.664 INFO    ] No camera update needed
[2026-08-29 18:28:39,665.665 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:28:39,667.667 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:28:39,670.670 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:28:39,673.673 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:28:41,712.712 INFO    ] ================================================
[2026-08-29 18:28:41,727.727 INFO    ] Launching Daemon at Sat Aug 29 18:28:41 IST 2026
[2026-08-29 18:28:41,738.738 INFO    ] ================================================
[2026-08-29 18:28:42,080.080 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:28:42
[2026-08-29 18:28:42,393.393 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:28:42,531.531 INFO    ] Initializing speech engine...
[2026-08-29 18:28:42,540.540 INFO    ] 2026-08-29 18:28:42
[2026-08-29 18:28:42,779.779 INFO    ] 2026-08-29 18:28:42
[2026-08-29 18:28:42,834.834 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:28:42,994.994 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:28:43,001.001 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:28:43,188.188 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:28:43,200.200 INFO    ] time= 29/08/2026 18:28:43
[2026-08-29 18:28:43,206.206 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:28:43,225.225 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:28:43,335.335 INFO    ] No existing commands found in stream
[2026-08-29 18:28:48,360.360 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:28:48,363.363 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-08-29 18:28:51,477.477 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:28:51,479.479 INFO    ] Checking for system updates...
[2026-08-29 18:28:51,499.499 INFO    ] 200
[2026-08-29 18:28:51,500.500 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:28:51,546.546 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:28:51,547.547 INFO    ] No update needed
[2026-08-29 18:28:51,549.549 INFO    ] Checking for camera pi updates...
[2026-08-29 18:28:51,571.571 INFO    ] 200
[2026-08-29 18:28:51,572.572 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:28:51,595.595 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:28:51,681.681 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:28:51,682.682 INFO    ] No camera update needed
[2026-08-29 18:28:51,683.683 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:28:51,685.685 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:28:51,688.688 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:28:51,691.691 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:28:53,730.730 INFO    ] ================================================
[2026-08-29 18:28:53,745.745 INFO    ] Launching Daemon at Sat Aug 29 18:28:53 IST 2026
[2026-08-29 18:28:53,756.756 INFO    ] ================================================
[2026-08-29 18:28:54,082.082 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:28:54
[2026-08-29 18:28:54,397.397 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:28:54,541.541 INFO    ] Initializing speech engine...
[2026-08-29 18:28:54,547.547 INFO    ] 2026-08-29 18:28:54
[2026-08-29 18:28:54,749.749 INFO    ] 2026-08-29 18:28:54
[2026-08-29 18:28:54,778.778 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:28:54,905.905 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:28:54,963.963 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:28:55,096.096 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:28:55,159.159 INFO    ] time= 29/08/2026 18:28:55
[2026-08-29 18:28:55,191.191 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:28:55,197.197 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:28:55,263.263 INFO    ] No existing commands found in stream
[2026-08-29 18:29:00,274.274 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:29:00,277.277 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-08-29 18:29:02,169.169 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:29:02,172.172 INFO    ] Checking for system updates...
[2026-08-29 18:29:02,217.217 INFO    ] 200
[2026-08-29 18:29:02,220.220 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:29:02,289.289 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:29:02,292.292 INFO    ] No update needed
[2026-08-29 18:29:02,295.295 INFO    ] Checking for camera pi updates...
[2026-08-29 18:29:02,341.341 INFO    ] 200
[2026-08-29 18:29:02,344.344 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:29:02,409.409 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:29:02,481.481 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:29:02,484.484 INFO    ] No camera update needed
[2026-08-29 18:29:02,488.488 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:29:02,492.492 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:29:02,500.500 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:29:02,507.507 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:29:04,548.548 INFO    ] ================================================
[2026-08-29 18:29:04,563.563 INFO    ] Launching Daemon at Sat Aug 29 18:29:04 IST 2026
[2026-08-29 18:29:04,574.574 INFO    ] ================================================
[2026-08-29 18:29:04,960.960 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:29:04
[2026-08-29 18:29:05,298.298 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:29:05,449.449 INFO    ] Initializing speech engine...
[2026-08-29 18:29:05,456.456 INFO    ] 2026-08-29 18:29:05
[2026-08-29 18:29:05,665.665 INFO    ] 2026-08-29 18:29:05
[2026-08-29 18:29:05,694.694 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:29:05,834.834 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:29:05,894.894 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:29:06,044.044 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:29:06,089.089 INFO    ] time= 29/08/2026 18:29:06
[2026-08-29 18:29:06,148.148 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:29:06,182.182 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:29:06,295.295 INFO    ] No existing commands found in stream
[2026-08-29 18:29:11,316.316 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:29:11,319.319 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 18:29:14,887.887 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:29:14,888.888 INFO    ] Checking for system updates...
[2026-08-29 18:29:14,909.909 INFO    ] 200
[2026-08-29 18:29:14,910.910 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:29:14,942.942 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:29:14,944.944 INFO    ] No update needed
[2026-08-29 18:29:14,946.946 INFO    ] Checking for camera pi updates...
[2026-08-29 18:29:14,965.965 INFO    ] 200
[2026-08-29 18:29:14,966.966 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:29:14,989.989 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:29:15,089.089 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:29:15,091.091 INFO    ] No camera update needed
[2026-08-29 18:29:15,092.092 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:29:15,094.094 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:29:15,097.097 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:29:15,100.100 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:29:17,139.139 INFO    ] ================================================
[2026-08-29 18:29:17,154.154 INFO    ] Launching Daemon at Sat Aug 29 18:29:17 IST 2026
[2026-08-29 18:29:17,165.165 INFO    ] ================================================
[2026-08-29 18:29:17,547.547 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:29:17
[2026-08-29 18:29:17,883.883 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:29:18,034.034 INFO    ] Initializing speech engine...
[2026-08-29 18:29:18,039.039 INFO    ] 2026-08-29 18:29:18
[2026-08-29 18:29:18,250.250 INFO    ] 2026-08-29 18:29:18
[2026-08-29 18:29:18,279.279 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:29:18,414.414 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:29:18,468.468 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:29:18,601.601 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:29:18,652.652 INFO    ] time= 29/08/2026 18:29:18
[2026-08-29 18:29:18,698.698 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:29:18,704.704 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:29:18,775.775 INFO    ] No existing commands found in stream
[2026-08-29 18:29:23,787.787 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:29:23,790.790 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-08-29 18:29:25,729.729 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:29:25,730.730 INFO    ] Checking for system updates...
[2026-08-29 18:29:25,752.752 INFO    ] 200
[2026-08-29 18:29:25,753.753 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:29:25,783.783 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:29:25,784.784 INFO    ] No update needed
[2026-08-29 18:29:25,785.785 INFO    ] Checking for camera pi updates...
[2026-08-29 18:29:25,804.804 INFO    ] 200
[2026-08-29 18:29:25,806.806 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:29:25,830.830 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:29:25,904.904 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:29:25,905.905 INFO    ] No camera update needed
[2026-08-29 18:29:25,907.907 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:29:25,908.908 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:29:25,911.911 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:29:25,914.914 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:29:27,952.952 INFO    ] ================================================
[2026-08-29 18:29:27,967.967 INFO    ] Launching Daemon at Sat Aug 29 18:29:27 IST 2026
[2026-08-29 18:29:27,978.978 INFO    ] ================================================
[2026-08-29 18:29:28,349.349 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:29:28
[2026-08-29 18:29:28,662.662 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:29:28,793.793 INFO    ] Initializing speech engine...
[2026-08-29 18:29:28,797.797 INFO    ] 2026-08-29 18:29:28
[2026-08-29 18:29:28,994.994 INFO    ] 2026-08-29 18:29:28
[2026-08-29 18:29:29,028.028 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:29:29,197.197 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:29:29,209.209 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:29:29,321.321 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:29:29,326.326 INFO    ] time= 29/08/2026 18:29:29
[2026-08-29 18:29:29,345.345 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:29:29,364.364 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:29:29,438.438 INFO    ] No existing commands found in stream
[2026-08-29 18:29:34,450.450 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:29:34,454.454 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-08-29 18:29:35,084.084 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:29:35,087.087 INFO    ] Checking for system updates...
[2026-08-29 18:29:35,126.126 INFO    ] 200
[2026-08-29 18:29:35,128.128 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:29:35,186.186 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:29:35,188.188 INFO    ] No update needed
[2026-08-29 18:29:35,191.191 INFO    ] Checking for camera pi updates...
[2026-08-29 18:29:35,227.227 INFO    ] 200
[2026-08-29 18:29:35,229.229 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:29:35,275.275 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:29:35,357.357 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:29:35,360.360 INFO    ] No camera update needed
[2026-08-29 18:29:35,362.362 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:29:35,364.364 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:29:35,370.370 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:29:35,374.374 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:29:37,415.415 INFO    ] ================================================
[2026-08-29 18:29:37,430.430 INFO    ] Launching Daemon at Sat Aug 29 18:29:37 IST 2026
[2026-08-29 18:29:37,441.441 INFO    ] ================================================
[2026-08-29 18:29:37,801.801 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:29:37
[2026-08-29 18:29:38,135.135 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:29:38,284.284 INFO    ] Initializing speech engine...
[2026-08-29 18:29:38,290.290 INFO    ] 2026-08-29 18:29:38
[2026-08-29 18:29:38,497.497 INFO    ] 2026-08-29 18:29:38
[2026-08-29 18:29:38,526.526 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:29:38,648.648 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:29:38,687.687 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:29:38,847.847 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:29:38,911.911 INFO    ] time= 29/08/2026 18:29:38
[2026-08-29 18:29:38,957.957 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:29:39,003.003 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:29:39,124.124 INFO    ] No existing commands found in stream
[2026-08-29 18:29:44,152.152 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:29:44,155.155 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-08-29 18:29:46,267.267 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:29:46,269.269 INFO    ] Checking for system updates...
[2026-08-29 18:29:46,290.290 INFO    ] 200
[2026-08-29 18:29:46,292.292 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:29:46,323.323 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:29:46,325.325 INFO    ] No update needed
[2026-08-29 18:29:46,326.326 INFO    ] Checking for camera pi updates...
[2026-08-29 18:29:46,345.345 INFO    ] 200
[2026-08-29 18:29:46,347.347 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:29:46,370.370 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:29:46,446.446 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:29:46,448.448 INFO    ] No camera update needed
[2026-08-29 18:29:46,449.449 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:29:46,450.450 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:29:46,454.454 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:29:46,456.456 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:29:48,496.496 INFO    ] ================================================
[2026-08-29 18:29:48,512.512 INFO    ] Launching Daemon at Sat Aug 29 18:29:48 IST 2026
[2026-08-29 18:29:48,522.522 INFO    ] ================================================
[2026-08-29 18:29:48,847.847 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:29:48
[2026-08-29 18:29:49,336.336 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:29:49,615.615 INFO    ] Initializing speech engine...
[2026-08-29 18:29:49,621.621 INFO    ] 2026-08-29 18:29:49
[2026-08-29 18:29:49,881.881 INFO    ] 2026-08-29 18:29:49
[2026-08-29 18:29:49,936.936 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:29:50,077.077 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:29:50,089.089 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:29:50,230.230 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:29:50,237.237 INFO    ] time= 29/08/2026 18:29:50
[2026-08-29 18:29:50,245.245 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:29:50,290.290 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:29:50,404.404 INFO    ] No existing commands found in stream
[2026-08-29 18:29:55,434.434 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:29:55,437.437 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-08-29 18:29:55,881.881 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:29:55,882.882 INFO    ] Checking for system updates...
[2026-08-29 18:29:55,903.903 INFO    ] 200
[2026-08-29 18:29:55,904.904 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:29:55,936.936 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:29:55,937.937 INFO    ] No update needed
[2026-08-29 18:29:55,938.938 INFO    ] Checking for camera pi updates...
[2026-08-29 18:29:55,958.958 INFO    ] 200
[2026-08-29 18:29:55,959.959 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:29:55,982.982 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:29:56,095.095 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:29:56,098.098 INFO    ] No camera update needed
[2026-08-29 18:29:56,100.100 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:29:56,102.102 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:29:56,108.108 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:29:56,113.113 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:29:58,156.156 INFO    ] ================================================
[2026-08-29 18:29:58,172.172 INFO    ] Launching Daemon at Sat Aug 29 18:29:58 IST 2026
[2026-08-29 18:29:58,183.183 INFO    ] ================================================
[2026-08-29 18:29:58,758.758 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:29:58
[2026-08-29 18:29:59,260.260 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:29:59,461.461 INFO    ] Initializing speech engine...
[2026-08-29 18:29:59,468.468 INFO    ] 2026-08-29 18:29:59
[2026-08-29 18:29:59,756.756 INFO    ] 2026-08-29 18:29:59
[2026-08-29 18:29:59,799.799 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:30:00,034.034 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:30:00,048.048 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:30:00,174.174 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:30:00,216.216 INFO    ] time= 29/08/2026 18:30:00
[2026-08-29 18:30:00,251.251 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:30:00,322.322 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:30:00,408.408 INFO    ] No existing commands found in stream
[2026-08-29 18:30:05,419.419 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:30:05,420.420 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-08-29 18:30:09,591.591 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:30:09,594.594 INFO    ] Checking for system updates...
[2026-08-29 18:30:09,636.636 INFO    ] 200
[2026-08-29 18:30:09,638.638 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:30:09,697.697 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:30:09,700.700 INFO    ] No update needed
[2026-08-29 18:30:09,703.703 INFO    ] Checking for camera pi updates...
[2026-08-29 18:30:09,737.737 INFO    ] 200
[2026-08-29 18:30:09,740.740 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:30:09,769.769 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:30:09,893.893 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:30:09,894.894 INFO    ] No camera update needed
[2026-08-29 18:30:09,896.896 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:30:09,897.897 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:30:09,900.900 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:30:09,903.903 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:30:11,934.934 INFO    ] ================================================
[2026-08-29 18:30:11,943.943 INFO    ] Launching Daemon at Sat Aug 29 18:30:11 IST 2026
[2026-08-29 18:30:11,949.949 INFO    ] ================================================
[2026-08-29 18:30:12,512.512 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:30:12
[2026-08-29 18:30:13,112.112 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:30:13,367.367 INFO    ] Initializing speech engine...
[2026-08-29 18:30:13,390.390 INFO    ] 2026-08-29 18:30:13
[2026-08-29 18:30:13,646.646 INFO    ] 2026-08-29 18:30:13
[2026-08-29 18:30:13,682.682 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:30:13,855.855 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:30:13,869.869 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:30:13,978.978 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:30:13,984.984 INFO    ] time= 29/08/2026 18:30:13
[2026-08-29 18:30:14,016.016 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:30:14,020.020 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:30:14,093.093 INFO    ] No existing commands found in stream
[2026-08-29 18:30:19,105.105 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:30:19,108.108 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-08-29 18:30:21,475.475 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:30:21,476.476 INFO    ] Checking for system updates...
[2026-08-29 18:30:21,497.497 INFO    ] 200
[2026-08-29 18:30:21,498.498 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:30:21,532.532 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:30:21,534.534 INFO    ] No update needed
[2026-08-29 18:30:21,535.535 INFO    ] Checking for camera pi updates...
[2026-08-29 18:30:21,554.554 INFO    ] 200
[2026-08-29 18:30:21,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:30:21,578.578 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:30:21,653.653 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:30:21,655.655 INFO    ] No camera update needed
[2026-08-29 18:30:21,656.656 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:30:21,657.657 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:30:21,660.660 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:30:21,663.663 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:30:23,703.703 INFO    ] ================================================
[2026-08-29 18:30:23,718.718 INFO    ] Launching Daemon at Sat Aug 29 18:30:23 IST 2026
[2026-08-29 18:30:23,730.730 INFO    ] ================================================
[2026-08-29 18:30:24,115.115 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:30:24
[2026-08-29 18:30:24,449.449 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:30:24,629.629 INFO    ] Initializing speech engine...
[2026-08-29 18:30:24,637.637 INFO    ] 2026-08-29 18:30:24
[2026-08-29 18:30:24,910.910 INFO    ] 2026-08-29 18:30:24
[2026-08-29 18:30:24,968.968 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:30:25,191.191 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:30:25,201.201 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:30:25,334.334 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:30:25,377.377 INFO    ] time= 29/08/2026 18:30:25
[2026-08-29 18:30:25,416.416 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:30:25,469.469 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:30:25,526.526 INFO    ] No existing commands found in stream
[2026-08-29 18:30:30,539.539 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:30:30,543.543 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-08-29 18:30:32,140.140 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:30:32,143.143 INFO    ] Checking for system updates...
[2026-08-29 18:30:32,180.180 INFO    ] 200
[2026-08-29 18:30:32,182.182 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:30:32,243.243 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:30:32,246.246 INFO    ] No update needed
[2026-08-29 18:30:32,249.249 INFO    ] Checking for camera pi updates...
[2026-08-29 18:30:32,287.287 INFO    ] 200
[2026-08-29 18:30:32,290.290 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:30:32,336.336 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:30:32,451.451 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:30:32,454.454 INFO    ] No camera update needed
[2026-08-29 18:30:32,457.457 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:30:32,460.460 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:30:32,468.468 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:30:32,476.476 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:30:34,524.524 INFO    ] ================================================
[2026-08-29 18:30:34,540.540 INFO    ] Launching Daemon at Sat Aug 29 18:30:34 IST 2026
[2026-08-29 18:30:34,553.553 INFO    ] ================================================
[2026-08-29 18:30:35,124.124 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:30:35
[2026-08-29 18:30:35,720.720 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:30:35,978.978 INFO    ] Initializing speech engine...
[2026-08-29 18:30:35,985.985 INFO    ] 2026-08-29 18:30:35
[2026-08-29 18:30:36,267.267 INFO    ] 2026-08-29 18:30:36
[2026-08-29 18:30:36,315.315 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:30:36,442.442 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:30:36,450.450 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:30:36,575.575 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:30:36,597.597 INFO    ] time= 29/08/2026 18:30:36
[2026-08-29 18:30:36,656.656 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:30:36,716.716 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:30:36,785.785 INFO    ] No existing commands found in stream
[2026-08-29 18:30:41,797.797 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:30:41,800.800 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-08-29 18:30:43,024.024 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:30:43,025.025 INFO    ] Checking for system updates...
[2026-08-29 18:30:43,048.048 INFO    ] 200
[2026-08-29 18:30:43,051.051 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:30:43,106.106 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:30:43,108.108 INFO    ] No update needed
[2026-08-29 18:30:43,113.113 INFO    ] Checking for camera pi updates...
[2026-08-29 18:30:43,147.147 INFO    ] 200
[2026-08-29 18:30:43,149.149 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:30:43,189.189 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:30:43,278.278 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:30:43,280.280 INFO    ] No camera update needed
[2026-08-29 18:30:43,282.282 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:30:43,285.285 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:30:43,290.290 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:30:43,295.295 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:30:45,335.335 INFO    ] ================================================
[2026-08-29 18:30:45,351.351 INFO    ] Launching Daemon at Sat Aug 29 18:30:45 IST 2026
[2026-08-29 18:30:45,363.363 INFO    ] ================================================
[2026-08-29 18:30:45,938.938 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:30:45
[2026-08-29 18:30:46,363.363 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:30:46,629.629 INFO    ] Initializing speech engine...
[2026-08-29 18:30:46,644.644 INFO    ] 2026-08-29 18:30:46
[2026-08-29 18:30:46,888.888 INFO    ] 2026-08-29 18:30:46
[2026-08-29 18:30:46,923.923 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:30:47,102.102 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:30:47,116.116 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:30:47,262.262 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:30:47,271.271 INFO    ] time= 29/08/2026 18:30:47
[2026-08-29 18:30:47,277.277 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:30:47,323.323 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:30:47,445.445 INFO    ] No existing commands found in stream
[2026-08-29 18:30:52,470.470 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:30:52,473.473 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-08-29 18:30:53,736.736 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:30:53,737.737 INFO    ] Checking for system updates...
[2026-08-29 18:30:53,757.757 INFO    ] 200
[2026-08-29 18:30:53,759.759 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:30:53,791.791 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:30:53,792.792 INFO    ] No update needed
[2026-08-29 18:30:53,794.794 INFO    ] Checking for camera pi updates...
[2026-08-29 18:30:53,814.814 INFO    ] 200
[2026-08-29 18:30:53,815.815 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:30:53,840.840 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:30:53,926.926 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:30:53,928.928 INFO    ] No camera update needed
[2026-08-29 18:30:53,929.929 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:30:53,930.930 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:30:53,933.933 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:30:53,936.936 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:30:55,976.976 INFO    ] ================================================
[2026-08-29 18:30:55,992.992 INFO    ] Launching Daemon at Sat Aug 29 18:30:55 IST 2026
[2026-08-29 18:30:56,004.004 INFO    ] ================================================
[2026-08-29 18:30:56,367.367 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:30:56
[2026-08-29 18:30:56,681.681 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:30:56,814.814 INFO    ] Initializing speech engine...
[2026-08-29 18:30:56,827.827 INFO    ] 2026-08-29 18:30:56
[2026-08-29 18:30:57,038.038 INFO    ] 2026-08-29 18:30:57
[2026-08-29 18:30:57,078.078 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:30:57,236.236 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:30:57,241.241 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:30:57,403.403 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:30:57,446.446 INFO    ] time= 29/08/2026 18:30:57
[2026-08-29 18:30:57,452.452 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:30:57,468.468 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:30:57,579.579 INFO    ] No existing commands found in stream
[2026-08-29 18:31:02,610.610 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:31:02,613.613 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-08-29 18:31:04,135.135 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:31:04,138.138 INFO    ] Checking for system updates...
[2026-08-29 18:31:04,173.173 INFO    ] 200
[2026-08-29 18:31:04,176.176 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:31:04,231.231 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:31:04,234.234 INFO    ] No update needed
[2026-08-29 18:31:04,236.236 INFO    ] Checking for camera pi updates...
[2026-08-29 18:31:04,270.270 INFO    ] 200
[2026-08-29 18:31:04,272.272 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:31:04,317.317 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:31:04,418.418 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:31:04,421.421 INFO    ] No camera update needed
[2026-08-29 18:31:04,423.423 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:31:04,425.425 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:31:04,431.431 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:31:04,436.436 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:31:06,476.476 INFO    ] ================================================
[2026-08-29 18:31:06,492.492 INFO    ] Launching Daemon at Sat Aug 29 18:31:06 IST 2026
[2026-08-29 18:31:06,504.504 INFO    ] ================================================
[2026-08-29 18:31:06,847.847 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:31:06
[2026-08-29 18:31:07,179.179 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:31:07,329.329 INFO    ] Initializing speech engine...
[2026-08-29 18:31:07,334.334 INFO    ] 2026-08-29 18:31:07
[2026-08-29 18:31:07,548.548 INFO    ] 2026-08-29 18:31:07
[2026-08-29 18:31:07,629.629 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:31:07,781.781 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:31:07,790.790 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:31:07,926.926 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:31:07,974.974 INFO    ] time= 29/08/2026 18:31:07
[2026-08-29 18:31:08,023.023 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:31:08,066.066 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:31:08,121.121 INFO    ] No existing commands found in stream
[2026-08-29 18:31:13,132.132 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:31:13,135.135 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-08-29 18:31:16,694.694 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:31:16,695.695 INFO    ] Checking for system updates...
[2026-08-29 18:31:16,718.718 INFO    ] 200
[2026-08-29 18:31:16,719.719 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:31:16,749.749 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:31:16,750.750 INFO    ] No update needed
[2026-08-29 18:31:16,752.752 INFO    ] Checking for camera pi updates...
[2026-08-29 18:31:16,771.771 INFO    ] 200
[2026-08-29 18:31:16,773.773 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:31:16,798.798 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:31:16,898.898 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:31:16,900.900 INFO    ] No camera update needed
[2026-08-29 18:31:16,901.901 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:31:16,902.902 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:31:16,905.905 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:31:16,908.908 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:31:18,947.947 INFO    ] ================================================
[2026-08-29 18:31:18,963.963 INFO    ] Launching Daemon at Sat Aug 29 18:31:18 IST 2026
[2026-08-29 18:31:18,974.974 INFO    ] ================================================
[2026-08-29 18:31:19,297.297 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:31:19
[2026-08-29 18:31:19,608.608 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:31:19,835.835 INFO    ] Initializing speech engine...
[2026-08-29 18:31:19,843.843 INFO    ] 2026-08-29 18:31:19
[2026-08-29 18:31:20,095.095 INFO    ] 2026-08-29 18:31:20
[2026-08-29 18:31:20,127.127 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:31:20,305.305 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:31:20,318.318 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:31:20,431.431 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:31:20,450.450 INFO    ] time= 29/08/2026 18:31:20
[2026-08-29 18:31:20,470.470 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:31:20,478.478 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:31:20,550.550 INFO    ] No existing commands found in stream
[2026-08-29 18:31:25,565.565 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:31:25,567.567 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-08-29 18:31:26,778.778 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:31:26,781.781 INFO    ] Checking for system updates...
[2026-08-29 18:31:26,823.823 INFO    ] 200
[2026-08-29 18:31:26,826.826 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:31:26,888.888 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:31:26,890.890 INFO    ] No update needed
[2026-08-29 18:31:26,893.893 INFO    ] Checking for camera pi updates...
[2026-08-29 18:31:26,933.933 INFO    ] 200
[2026-08-29 18:31:26,936.936 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:31:26,980.980 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:31:27,078.078 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:31:27,080.080 INFO    ] No camera update needed
[2026-08-29 18:31:27,094.094 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:31:27,097.097 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:31:27,102.102 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:31:27,107.107 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:31:29,152.152 INFO    ] ================================================
[2026-08-29 18:31:29,169.169 INFO    ] Launching Daemon at Sat Aug 29 18:31:29 IST 2026
[2026-08-29 18:31:29,181.181 INFO    ] ================================================
[2026-08-29 18:31:29,765.765 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:31:29
[2026-08-29 18:31:30,083.083 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:31:30,219.219 INFO    ] Initializing speech engine...
[2026-08-29 18:31:30,231.231 INFO    ] 2026-08-29 18:31:30
[2026-08-29 18:31:30,456.456 INFO    ] 2026-08-29 18:31:30
[2026-08-29 18:31:30,518.518 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:31:33,934.934 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:31:33,935.935 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:31:34,019.019 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:31:34,020.020 INFO    ] time= 29/08/2026 18:31:34
[2026-08-29 18:31:34,022.022 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:31:34,024.024 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:31:34,066.066 INFO    ] No existing commands found in stream
[2026-08-29 18:31:39,074.074 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:31:39,076.076 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 18:31:41,885.885 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:31:41,888.888 INFO    ] Checking for system updates...
[2026-08-29 18:31:41,923.923 INFO    ] 200
[2026-08-29 18:31:41,926.926 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:31:41,985.985 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:31:41,987.987 INFO    ] No update needed
[2026-08-29 18:31:41,989.989 INFO    ] Checking for camera pi updates...
[2026-08-29 18:31:42,026.026 INFO    ] 200
[2026-08-29 18:31:42,029.029 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:31:42,070.070 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:31:42,252.252 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:31:42,255.255 INFO    ] No camera update needed
[2026-08-29 18:31:42,257.257 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:31:42,259.259 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:31:42,265.265 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:31:42,270.270 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:31:44,314.314 INFO    ] ================================================
[2026-08-29 18:31:44,331.331 INFO    ] Launching Daemon at Sat Aug 29 18:31:44 IST 2026
[2026-08-29 18:31:44,344.344 INFO    ] ================================================
[2026-08-29 18:31:44,858.858 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:31:44
[2026-08-29 18:31:45,465.465 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:31:45,735.735 INFO    ] Initializing speech engine...
[2026-08-29 18:31:45,747.747 INFO    ] 2026-08-29 18:31:45
[2026-08-29 18:31:46,046.046 INFO    ] 2026-08-29 18:31:46
[2026-08-29 18:31:46,070.070 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:31:46,298.298 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:31:46,306.306 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:31:46,447.447 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:31:46,454.454 INFO    ] time= 29/08/2026 18:31:46
[2026-08-29 18:31:46,461.461 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:31:46,465.465 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:31:46,580.580 INFO    ] No existing commands found in stream
[2026-08-29 18:31:51,600.600 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:31:51,603.603 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-08-29 18:31:52,519.519 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:31:52,522.522 INFO    ] Checking for system updates...
[2026-08-29 18:31:52,558.558 INFO    ] 200
[2026-08-29 18:31:52,560.560 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:31:52,612.612 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:31:52,614.614 INFO    ] No update needed
[2026-08-29 18:31:52,617.617 INFO    ] Checking for camera pi updates...
[2026-08-29 18:31:52,650.650 INFO    ] 200
[2026-08-29 18:31:52,653.653 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:31:52,695.695 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:31:52,802.802 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:31:52,805.805 INFO    ] No camera update needed
[2026-08-29 18:31:52,807.807 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:31:52,809.809 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:31:52,815.815 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:31:52,819.819 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:31:54,859.859 INFO    ] ================================================
[2026-08-29 18:31:54,874.874 INFO    ] Launching Daemon at Sat Aug 29 18:31:54 IST 2026
[2026-08-29 18:31:54,885.885 INFO    ] ================================================
[2026-08-29 18:31:55,471.471 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:31:55
[2026-08-29 18:31:55,835.835 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:31:55,981.981 INFO    ] Initializing speech engine...
[2026-08-29 18:31:55,986.986 INFO    ] 2026-08-29 18:31:55
[2026-08-29 18:31:56,176.176 INFO    ] 2026-08-29 18:31:56
[2026-08-29 18:31:56,230.230 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:31:56,373.373 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:31:56,385.385 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:31:56,527.527 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:31:56,535.535 INFO    ] time= 29/08/2026 18:31:56
[2026-08-29 18:31:56,542.542 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:31:56,572.572 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:31:56,707.707 INFO    ] No existing commands found in stream
[2026-08-29 18:32:01,743.743 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:32:01,746.746 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-08-29 18:32:06,050.050 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:32:06,053.053 INFO    ] Checking for system updates...
[2026-08-29 18:32:06,089.089 INFO    ] 200
[2026-08-29 18:32:06,092.092 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:32:06,146.146 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:32:06,149.149 INFO    ] No update needed
[2026-08-29 18:32:06,152.152 INFO    ] Checking for camera pi updates...
[2026-08-29 18:32:06,186.186 INFO    ] 200
[2026-08-29 18:32:06,189.189 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:32:06,237.237 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:32:06,350.350 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:32:06,352.352 INFO    ] No camera update needed
[2026-08-29 18:32:06,355.355 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:32:06,357.357 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:32:06,362.362 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:32:06,367.367 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:32:08,408.408 INFO    ] ================================================
[2026-08-29 18:32:08,423.423 INFO    ] Launching Daemon at Sat Aug 29 18:32:08 IST 2026
[2026-08-29 18:32:08,435.435 INFO    ] ================================================
[2026-08-29 18:32:08,999.999 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:32:08
[2026-08-29 18:32:09,399.399 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:32:09,530.530 INFO    ] Initializing speech engine...
[2026-08-29 18:32:09,534.534 INFO    ] 2026-08-29 18:32:09
[2026-08-29 18:32:09,733.733 INFO    ] 2026-08-29 18:32:09
[2026-08-29 18:32:09,805.805 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:32:09,966.966 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:32:09,975.975 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:32:10,110.110 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:32:10,126.126 INFO    ] time= 29/08/2026 18:32:10
[2026-08-29 18:32:10,181.181 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:32:10,236.236 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:32:10,301.301 INFO    ] No existing commands found in stream
[2026-08-29 18:32:15,313.313 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:32:15,316.316 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-08-29 18:32:16,980.980 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:32:16,981.981 INFO    ] Checking for system updates...
[2026-08-29 18:32:17,002.002 INFO    ] 200
[2026-08-29 18:32:17,003.003 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:32:17,036.036 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:32:17,037.037 INFO    ] No update needed
[2026-08-29 18:32:17,038.038 INFO    ] Checking for camera pi updates...
[2026-08-29 18:32:17,058.058 INFO    ] 200
[2026-08-29 18:32:17,059.059 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:32:17,082.082 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:32:17,161.161 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:32:17,162.162 INFO    ] No camera update needed
[2026-08-29 18:32:17,164.164 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:32:17,165.165 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:32:17,168.168 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:32:17,170.170 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:32:19,210.210 INFO    ] ================================================
[2026-08-29 18:32:19,225.225 INFO    ] Launching Daemon at Sat Aug 29 18:32:19 IST 2026
[2026-08-29 18:32:19,236.236 INFO    ] ================================================
[2026-08-29 18:32:19,598.598 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:32:19
[2026-08-29 18:32:19,915.915 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:32:20,059.059 INFO    ] Initializing speech engine...
[2026-08-29 18:32:20,064.064 INFO    ] 2026-08-29 18:32:20
[2026-08-29 18:32:20,268.268 INFO    ] 2026-08-29 18:32:20
[2026-08-29 18:32:20,297.297 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:32:20,417.417 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:32:20,455.455 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:32:20,606.606 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:32:20,629.629 INFO    ] time= 29/08/2026 18:32:20
[2026-08-29 18:32:20,689.689 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:32:20,713.713 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:32:20,784.784 INFO    ] No existing commands found in stream
[2026-08-29 18:32:25,794.794 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:32:25,797.797 INFO    ] Waiting 3.84 seconds before fallback handling...
[2026-08-29 18:32:30,027.027 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:32:30,030.030 INFO    ] Checking for system updates...
[2026-08-29 18:32:30,065.065 INFO    ] 200
[2026-08-29 18:32:30,067.067 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:32:30,127.127 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:32:30,129.129 INFO    ] No update needed
[2026-08-29 18:32:30,131.131 INFO    ] Checking for camera pi updates...
[2026-08-29 18:32:30,164.164 INFO    ] 200
[2026-08-29 18:32:30,167.167 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:32:30,207.207 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:32:30,309.309 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:32:30,312.312 INFO    ] No camera update needed
[2026-08-29 18:32:30,315.315 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:32:30,317.317 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:32:30,323.323 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:32:30,328.328 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:32:32,375.375 INFO    ] ================================================
[2026-08-29 18:32:32,391.391 INFO    ] Launching Daemon at Sat Aug 29 18:32:32 IST 2026
[2026-08-29 18:32:32,403.403 INFO    ] ================================================
[2026-08-29 18:32:33,025.025 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:32:33
[2026-08-29 18:32:33,362.362 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:32:33,514.514 INFO    ] Initializing speech engine...
[2026-08-29 18:32:33,520.520 INFO    ] 2026-08-29 18:32:33
[2026-08-29 18:32:33,767.767 INFO    ] 2026-08-29 18:32:33
[2026-08-29 18:32:33,824.824 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:32:33,995.995 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:32:34,004.004 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:32:34,171.171 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:32:34,212.212 INFO    ] time= 29/08/2026 18:32:34
[2026-08-29 18:32:34,231.231 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:32:34,244.244 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:32:34,372.372 INFO    ] No existing commands found in stream
[2026-08-29 18:32:39,393.393 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:32:39,396.396 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-08-29 18:32:41,177.177 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:32:41,179.179 INFO    ] Checking for system updates...
[2026-08-29 18:32:41,201.201 INFO    ] 200
[2026-08-29 18:32:41,203.203 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:32:41,238.238 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:32:41,240.240 INFO    ] No update needed
[2026-08-29 18:32:41,241.241 INFO    ] Checking for camera pi updates...
[2026-08-29 18:32:41,264.264 INFO    ] 200
[2026-08-29 18:32:41,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:32:41,292.292 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:32:41,386.386 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:32:41,387.387 INFO    ] No camera update needed
[2026-08-29 18:32:41,389.389 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:32:41,390.390 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:32:41,394.394 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:32:41,397.397 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:32:43,437.437 INFO    ] ================================================
[2026-08-29 18:32:43,452.452 INFO    ] Launching Daemon at Sat Aug 29 18:32:43 IST 2026
[2026-08-29 18:32:43,462.462 INFO    ] ================================================
[2026-08-29 18:32:43,814.814 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:32:43
[2026-08-29 18:32:44,126.126 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:32:44,255.255 INFO    ] Initializing speech engine...
[2026-08-29 18:32:44,260.260 INFO    ] 2026-08-29 18:32:44
[2026-08-29 18:32:44,478.478 INFO    ] 2026-08-29 18:32:44
[2026-08-29 18:32:44,508.508 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:32:44,674.674 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:32:44,680.680 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:32:44,814.814 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:32:44,830.830 INFO    ] time= 29/08/2026 18:32:44
[2026-08-29 18:32:44,838.838 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:32:44,865.865 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:32:44,974.974 INFO    ] No existing commands found in stream
[2026-08-29 18:32:49,986.986 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:32:49,988.988 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-08-29 18:32:50,825.825 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:32:50,826.826 INFO    ] Checking for system updates...
[2026-08-29 18:32:50,848.848 INFO    ] 200
[2026-08-29 18:32:50,850.850 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:32:50,883.883 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:32:50,884.884 INFO    ] No update needed
[2026-08-29 18:32:50,886.886 INFO    ] Checking for camera pi updates...
[2026-08-29 18:32:50,906.906 INFO    ] 200
[2026-08-29 18:32:50,908.908 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:32:50,934.934 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:32:51,017.017 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:32:51,018.018 INFO    ] No camera update needed
[2026-08-29 18:32:51,020.020 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:32:51,021.021 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:32:51,024.024 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:32:51,027.027 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:32:53,067.067 INFO    ] ================================================
[2026-08-29 18:32:53,082.082 INFO    ] Launching Daemon at Sat Aug 29 18:32:53 IST 2026
[2026-08-29 18:32:53,093.093 INFO    ] ================================================
[2026-08-29 18:32:53,425.425 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:32:53
[2026-08-29 18:32:53,739.739 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:32:53,882.882 INFO    ] Initializing speech engine...
[2026-08-29 18:32:53,887.887 INFO    ] 2026-08-29 18:32:53
[2026-08-29 18:32:54,068.068 INFO    ] 2026-08-29 18:32:54
[2026-08-29 18:32:54,103.103 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:32:54,279.279 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:32:54,293.293 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:32:54,438.438 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:32:54,445.445 INFO    ] time= 29/08/2026 18:32:54
[2026-08-29 18:32:54,452.452 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:32:54,498.498 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:32:54,616.616 INFO    ] No existing commands found in stream
[2026-08-29 18:32:59,642.642 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:32:59,645.645 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-08-29 18:33:02,456.456 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:33:02,459.459 INFO    ] Checking for system updates...
[2026-08-29 18:33:02,510.510 INFO    ] 200
[2026-08-29 18:33:02,514.514 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:33:02,584.584 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:33:02,587.587 INFO    ] No update needed
[2026-08-29 18:33:02,589.589 INFO    ] Checking for camera pi updates...
[2026-08-29 18:33:02,628.628 INFO    ] 200
[2026-08-29 18:33:02,632.632 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:33:02,691.691 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:33:02,836.836 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:33:02,839.839 INFO    ] No camera update needed
[2026-08-29 18:33:02,841.841 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:33:02,843.843 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:33:02,849.849 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:33:02,853.853 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:33:04,893.893 INFO    ] ================================================
[2026-08-29 18:33:04,909.909 INFO    ] Launching Daemon at Sat Aug 29 18:33:04 IST 2026
[2026-08-29 18:33:04,919.919 INFO    ] ================================================
[2026-08-29 18:33:05,293.293 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:33:05
[2026-08-29 18:33:05,610.610 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:33:05,755.755 INFO    ] Initializing speech engine...
[2026-08-29 18:33:05,764.764 INFO    ] 2026-08-29 18:33:05
[2026-08-29 18:33:06,050.050 INFO    ] 2026-08-29 18:33:06
[2026-08-29 18:33:06,085.085 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:33:06,235.235 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:33:06,241.241 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:33:06,395.395 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:33:06,405.405 INFO    ] time= 29/08/2026 18:33:06
[2026-08-29 18:33:06,409.409 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:33:06,414.414 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:33:06,482.482 INFO    ] No existing commands found in stream
[2026-08-29 18:33:11,496.496 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:33:11,498.498 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-08-29 18:33:15,649.649 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:33:15,650.650 INFO    ] Checking for system updates...
[2026-08-29 18:33:15,672.672 INFO    ] 200
[2026-08-29 18:33:15,674.674 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:33:15,704.704 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:33:15,706.706 INFO    ] No update needed
[2026-08-29 18:33:15,707.707 INFO    ] Checking for camera pi updates...
[2026-08-29 18:33:15,727.727 INFO    ] 200
[2026-08-29 18:33:15,729.729 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:33:15,753.753 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:33:15,842.842 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:33:15,843.843 INFO    ] No camera update needed
[2026-08-29 18:33:15,844.844 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:33:15,846.846 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:33:15,848.848 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:33:15,851.851 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:33:17,890.890 INFO    ] ================================================
[2026-08-29 18:33:17,906.906 INFO    ] Launching Daemon at Sat Aug 29 18:33:17 IST 2026
[2026-08-29 18:33:17,917.917 INFO    ] ================================================
[2026-08-29 18:33:18,576.576 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:33:18
[2026-08-29 18:33:19,255.255 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:33:19,427.427 INFO    ] Initializing speech engine...
[2026-08-29 18:33:19,431.431 INFO    ] 2026-08-29 18:33:19
[2026-08-29 18:33:19,638.638 INFO    ] 2026-08-29 18:33:19
[2026-08-29 18:33:19,668.668 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:33:19,793.793 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:33:19,858.858 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:33:19,999.999 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:33:20,063.063 INFO    ] time= 29/08/2026 18:33:20
[2026-08-29 18:33:20,093.093 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:33:20,100.100 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:33:20,166.166 INFO    ] No existing commands found in stream
[2026-08-29 18:33:25,177.177 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:33:25,180.180 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-08-29 18:33:29,345.345 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:33:29,346.346 INFO    ] Checking for system updates...
[2026-08-29 18:33:29,367.367 INFO    ] 200
[2026-08-29 18:33:29,368.368 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:33:29,398.398 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:33:29,399.399 INFO    ] No update needed
[2026-08-29 18:33:29,401.401 INFO    ] Checking for camera pi updates...
[2026-08-29 18:33:29,420.420 INFO    ] 200
[2026-08-29 18:33:29,421.421 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:33:29,446.446 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:33:29,529.529 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:33:29,530.530 INFO    ] No camera update needed
[2026-08-29 18:33:29,532.532 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:33:29,533.533 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:33:29,536.536 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:33:29,538.538 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:33:31,570.570 INFO    ] ================================================
[2026-08-29 18:33:31,579.579 INFO    ] Launching Daemon at Sat Aug 29 18:33:31 IST 2026
[2026-08-29 18:33:31,586.586 INFO    ] ================================================
[2026-08-29 18:33:32,198.198 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:33:32
[2026-08-29 18:33:32,809.809 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:33:33,070.070 INFO    ] Initializing speech engine...
[2026-08-29 18:33:33,079.079 INFO    ] 2026-08-29 18:33:33
[2026-08-29 18:33:33,381.381 INFO    ] 2026-08-29 18:33:33
[2026-08-29 18:33:33,417.417 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:33:33,568.568 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:33:33,577.577 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:33:33,731.731 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:33:33,742.742 INFO    ] time= 29/08/2026 18:33:33
[2026-08-29 18:33:33,747.747 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:33:33,752.752 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:33:33,820.820 INFO    ] No existing commands found in stream
[2026-08-29 18:33:38,834.834 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:33:38,837.837 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-08-29 18:33:39,824.824 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:33:39,825.825 INFO    ] Checking for system updates...
[2026-08-29 18:33:39,847.847 INFO    ] 200
[2026-08-29 18:33:39,849.849 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:33:39,879.879 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:33:39,880.880 INFO    ] No update needed
[2026-08-29 18:33:39,881.881 INFO    ] Checking for camera pi updates...
[2026-08-29 18:33:39,903.903 INFO    ] 200
[2026-08-29 18:33:39,904.904 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:33:39,928.928 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:33:40,010.010 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:33:40,012.012 INFO    ] No camera update needed
[2026-08-29 18:33:40,013.013 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:33:40,015.015 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:33:40,017.017 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:33:40,020.020 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:33:42,059.059 INFO    ] ================================================
[2026-08-29 18:33:42,075.075 INFO    ] Launching Daemon at Sat Aug 29 18:33:42 IST 2026
[2026-08-29 18:33:42,086.086 INFO    ] ================================================
[2026-08-29 18:33:42,567.567 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:33:42
[2026-08-29 18:33:43,170.170 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:33:43,431.431 INFO    ] Initializing speech engine...
[2026-08-29 18:33:43,436.436 INFO    ] 2026-08-29 18:33:43
[2026-08-29 18:33:43,743.743 INFO    ] 2026-08-29 18:33:43
[2026-08-29 18:33:43,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:33:43,929.929 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:33:43,939.939 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:33:44,087.087 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:33:44,098.098 INFO    ] time= 29/08/2026 18:33:44
[2026-08-29 18:33:44,108.108 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:33:44,113.113 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:33:44,180.180 INFO    ] No existing commands found in stream
[2026-08-29 18:33:49,192.192 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:33:49,195.195 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-08-29 18:33:51,317.317 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:33:51,320.320 INFO    ] Checking for system updates...
[2026-08-29 18:33:51,356.356 INFO    ] 200
[2026-08-29 18:33:51,358.358 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:33:51,420.420 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:33:51,423.423 INFO    ] No update needed
[2026-08-29 18:33:51,425.425 INFO    ] Checking for camera pi updates...
[2026-08-29 18:33:51,459.459 INFO    ] 200
[2026-08-29 18:33:51,462.462 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:33:51,489.489 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:33:51,689.689 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:33:51,690.690 INFO    ] No camera update needed
[2026-08-29 18:33:51,691.691 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:33:51,693.693 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:33:51,696.696 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:33:51,698.698 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:33:53,740.740 INFO    ] ================================================
[2026-08-29 18:33:53,756.756 INFO    ] Launching Daemon at Sat Aug 29 18:33:53 IST 2026
[2026-08-29 18:33:53,768.768 INFO    ] ================================================
[2026-08-29 18:33:54,322.322 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:33:54
[2026-08-29 18:33:54,922.922 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:33:55,201.201 INFO    ] Initializing speech engine...
[2026-08-29 18:33:55,210.210 INFO    ] 2026-08-29 18:33:55
[2026-08-29 18:33:55,484.484 INFO    ] 2026-08-29 18:33:55
[2026-08-29 18:33:55,522.522 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:33:55,723.723 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:33:55,730.730 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:33:55,865.865 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:33:55,872.872 INFO    ] time= 29/08/2026 18:33:55
[2026-08-29 18:33:55,893.893 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:33:55,919.919 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:33:56,000.000 INFO    ] No existing commands found in stream
[2026-08-29 18:34:01,012.012 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:34:01,015.015 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-08-29 18:34:03,456.456 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:34:03,459.459 INFO    ] Checking for system updates...
[2026-08-29 18:34:03,494.494 INFO    ] 200
[2026-08-29 18:34:03,497.497 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:34:03,565.565 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:34:03,567.567 INFO    ] No update needed
[2026-08-29 18:34:03,570.570 INFO    ] Checking for camera pi updates...
[2026-08-29 18:34:03,607.607 INFO    ] 200
[2026-08-29 18:34:03,609.609 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:34:03,649.649 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:34:03,771.771 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:34:03,773.773 INFO    ] No camera update needed
[2026-08-29 18:34:03,775.775 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:34:03,778.778 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:34:03,783.783 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:34:03,788.788 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:34:05,828.828 INFO    ] ================================================
[2026-08-29 18:34:05,844.844 INFO    ] Launching Daemon at Sat Aug 29 18:34:05 IST 2026
[2026-08-29 18:34:05,856.856 INFO    ] ================================================
[2026-08-29 18:34:06,228.228 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:34:06
[2026-08-29 18:34:06,541.541 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:34:06,694.694 INFO    ] Initializing speech engine...
[2026-08-29 18:34:06,716.716 INFO    ] 2026-08-29 18:34:06
[2026-08-29 18:34:06,974.974 INFO    ] 2026-08-29 18:34:06
[2026-08-29 18:34:07,009.009 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:34:07,186.186 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:34:07,199.199 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:34:07,313.313 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:34:07,332.332 INFO    ] time= 29/08/2026 18:34:07
[2026-08-29 18:34:07,351.351 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:34:07,359.359 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:34:07,428.428 INFO    ] No existing commands found in stream
[2026-08-29 18:34:12,441.441 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:34:12,444.444 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-08-29 18:34:15,603.603 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:34:15,604.604 INFO    ] Checking for system updates...
[2026-08-29 18:34:15,625.625 INFO    ] 200
[2026-08-29 18:34:15,627.627 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:34:15,658.658 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:34:15,660.660 INFO    ] No update needed
[2026-08-29 18:34:15,661.661 INFO    ] Checking for camera pi updates...
[2026-08-29 18:34:15,681.681 INFO    ] 200
[2026-08-29 18:34:15,683.683 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:34:15,707.707 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:34:15,792.792 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:34:15,793.793 INFO    ] No camera update needed
[2026-08-29 18:34:15,794.794 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:34:15,796.796 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:34:15,798.798 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:34:15,801.801 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:34:17,843.843 INFO    ] ================================================
[2026-08-29 18:34:17,859.859 INFO    ] Launching Daemon at Sat Aug 29 18:34:17 IST 2026
[2026-08-29 18:34:17,870.870 INFO    ] ================================================
[2026-08-29 18:34:18,233.233 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:34:18
[2026-08-29 18:34:18,567.567 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:34:18,717.717 INFO    ] Initializing speech engine...
[2026-08-29 18:34:18,722.722 INFO    ] 2026-08-29 18:34:18
[2026-08-29 18:34:18,929.929 INFO    ] 2026-08-29 18:34:18
[2026-08-29 18:34:18,958.958 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:34:19,145.145 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:34:19,155.155 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:34:19,285.285 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:34:19,341.341 INFO    ] time= 29/08/2026 18:34:19
[2026-08-29 18:34:19,412.412 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:34:19,462.462 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:34:19,539.539 INFO    ] No existing commands found in stream
[2026-08-29 18:34:24,550.550 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:34:24,553.553 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-08-29 18:34:26,348.348 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:34:26,349.349 INFO    ] Checking for system updates...
[2026-08-29 18:34:26,371.371 INFO    ] 200
[2026-08-29 18:34:26,372.372 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:34:26,402.402 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:34:26,404.404 INFO    ] No update needed
[2026-08-29 18:34:26,405.405 INFO    ] Checking for camera pi updates...
[2026-08-29 18:34:26,424.424 INFO    ] 200
[2026-08-29 18:34:26,425.425 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:34:26,449.449 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:34:26,579.579 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:34:26,581.581 INFO    ] No camera update needed
[2026-08-29 18:34:26,582.582 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:34:26,583.583 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:34:26,586.586 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:34:26,589.589 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:34:28,627.627 INFO    ] ================================================
[2026-08-29 18:34:28,644.644 INFO    ] Launching Daemon at Sat Aug 29 18:34:28 IST 2026
[2026-08-29 18:34:28,655.655 INFO    ] ================================================
[2026-08-29 18:34:29,031.031 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:34:29
[2026-08-29 18:34:29,456.456 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:34:29,755.755 INFO    ] Initializing speech engine...
[2026-08-29 18:34:29,762.762 INFO    ] 2026-08-29 18:34:29
[2026-08-29 18:34:30,038.038 INFO    ] 2026-08-29 18:34:30
[2026-08-29 18:34:30,092.092 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:34:30,314.314 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:34:30,324.324 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:34:30,456.456 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:34:30,484.484 INFO    ] time= 29/08/2026 18:34:30
[2026-08-29 18:34:30,538.538 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:34:30,590.590 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:34:30,646.646 INFO    ] No existing commands found in stream
[2026-08-29 18:34:35,658.658 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:34:35,661.661 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-08-29 18:34:37,697.697 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:34:37,699.699 INFO    ] Checking for system updates...
[2026-08-29 18:34:37,719.719 INFO    ] 200
[2026-08-29 18:34:37,720.720 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:34:37,753.753 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:34:37,754.754 INFO    ] No update needed
[2026-08-29 18:34:37,756.756 INFO    ] Checking for camera pi updates...
[2026-08-29 18:34:37,775.775 INFO    ] 200
[2026-08-29 18:34:37,777.777 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:34:37,801.801 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:34:37,882.882 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:34:37,884.884 INFO    ] No camera update needed
[2026-08-29 18:34:37,885.885 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:34:37,886.886 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:34:37,889.889 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:34:37,892.892 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:34:39,931.931 INFO    ] ================================================
[2026-08-29 18:34:39,947.947 INFO    ] Launching Daemon at Sat Aug 29 18:34:39 IST 2026
[2026-08-29 18:34:39,958.958 INFO    ] ================================================
[2026-08-29 18:34:40,293.293 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:34:40
[2026-08-29 18:34:40,807.807 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:34:41,060.060 INFO    ] Initializing speech engine...
[2026-08-29 18:34:41,083.083 INFO    ] 2026-08-29 18:34:41
[2026-08-29 18:34:41,340.340 INFO    ] 2026-08-29 18:34:41
[2026-08-29 18:34:41,375.375 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:34:41,550.550 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:34:41,564.564 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:34:41,693.693 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:34:41,714.714 INFO    ] time= 29/08/2026 18:34:41
[2026-08-29 18:34:41,722.722 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:34:41,728.728 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:34:41,794.794 INFO    ] No existing commands found in stream
[2026-08-29 18:34:46,806.806 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:34:46,809.809 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-08-29 18:34:48,213.213 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:34:48,214.214 INFO    ] Checking for system updates...
[2026-08-29 18:34:48,235.235 INFO    ] 200
[2026-08-29 18:34:48,237.237 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:34:48,269.269 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:34:48,270.270 INFO    ] No update needed
[2026-08-29 18:34:48,271.271 INFO    ] Checking for camera pi updates...
[2026-08-29 18:34:48,292.292 INFO    ] 200
[2026-08-29 18:34:48,293.293 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:34:48,316.316 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:34:48,393.393 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:34:48,395.395 INFO    ] No camera update needed
[2026-08-29 18:34:48,397.397 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:34:48,398.398 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:34:48,401.401 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:34:48,404.404 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:34:50,445.445 INFO    ] ================================================
[2026-08-29 18:34:50,461.461 INFO    ] Launching Daemon at Sat Aug 29 18:34:50 IST 2026
[2026-08-29 18:34:50,472.472 INFO    ] ================================================
[2026-08-29 18:34:50,864.864 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:34:50
[2026-08-29 18:34:51,201.201 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:34:51,350.350 INFO    ] Initializing speech engine...
[2026-08-29 18:34:51,356.356 INFO    ] 2026-08-29 18:34:51
[2026-08-29 18:34:51,564.564 INFO    ] 2026-08-29 18:34:51
[2026-08-29 18:34:51,592.592 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:34:51,707.707 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:34:51,763.763 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:34:51,896.896 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:34:51,919.919 INFO    ] time= 29/08/2026 18:34:51
[2026-08-29 18:34:51,948.948 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:34:51,956.956 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:34:52,059.059 INFO    ] No existing commands found in stream
[2026-08-29 18:34:57,084.084 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:34:57,087.087 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-08-29 18:35:01,050.050 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:35:01,052.052 INFO    ] Checking for system updates...
[2026-08-29 18:35:01,072.072 INFO    ] 200
[2026-08-29 18:35:01,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:35:01,106.106 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:35:01,107.107 INFO    ] No update needed
[2026-08-29 18:35:01,108.108 INFO    ] Checking for camera pi updates...
[2026-08-29 18:35:01,131.131 INFO    ] 200
[2026-08-29 18:35:01,133.133 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:35:01,156.156 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:35:01,262.262 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:35:01,263.263 INFO    ] No camera update needed
[2026-08-29 18:35:01,265.265 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:35:01,266.266 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:35:01,269.269 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:35:01,271.271 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:35:03,314.314 INFO    ] ================================================
[2026-08-29 18:35:03,334.334 INFO    ] Launching Daemon at Sat Aug 29 18:35:03 IST 2026
[2026-08-29 18:35:03,351.351 INFO    ] ================================================
[2026-08-29 18:35:03,952.952 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:35:03
[2026-08-29 18:35:04,537.537 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:35:04,790.790 INFO    ] Initializing speech engine...
[2026-08-29 18:35:04,803.803 INFO    ] 2026-08-29 18:35:04
[2026-08-29 18:35:05,069.069 INFO    ] 2026-08-29 18:35:05
[2026-08-29 18:35:05,096.096 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:35:05,231.231 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:35:05,238.238 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:35:05,371.371 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:35:05,375.375 INFO    ] time= 29/08/2026 18:35:05
[2026-08-29 18:35:05,385.385 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:35:05,400.400 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:35:05,484.484 INFO    ] No existing commands found in stream
[2026-08-29 18:35:10,516.516 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:35:10,518.518 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-08-29 18:35:11,325.325 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:35:11,326.326 INFO    ] Checking for system updates...
[2026-08-29 18:35:11,348.348 INFO    ] 200
[2026-08-29 18:35:11,349.349 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:35:11,381.381 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:35:11,382.382 INFO    ] No update needed
[2026-08-29 18:35:11,384.384 INFO    ] Checking for camera pi updates...
[2026-08-29 18:35:11,404.404 INFO    ] 200
[2026-08-29 18:35:11,405.405 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:35:11,430.430 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:35:11,532.532 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:35:11,533.533 INFO    ] No camera update needed
[2026-08-29 18:35:11,535.535 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:35:11,536.536 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:35:11,539.539 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:35:11,541.541 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:35:13,581.581 INFO    ] ================================================
[2026-08-29 18:35:13,597.597 INFO    ] Launching Daemon at Sat Aug 29 18:35:13 IST 2026
[2026-08-29 18:35:13,608.608 INFO    ] ================================================
[2026-08-29 18:35:13,954.954 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:35:13
[2026-08-29 18:35:14,272.272 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:35:14,404.404 INFO    ] Initializing speech engine...
[2026-08-29 18:35:14,412.412 INFO    ] 2026-08-29 18:35:14
[2026-08-29 18:35:14,607.607 INFO    ] 2026-08-29 18:35:14
[2026-08-29 18:35:14,687.687 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:35:14,834.834 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:35:14,844.844 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:35:14,976.976 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:35:15,033.033 INFO    ] time= 29/08/2026 18:35:14
[2026-08-29 18:35:15,093.093 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:35:15,113.113 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:35:15,168.168 INFO    ] No existing commands found in stream
[2026-08-29 18:35:20,180.180 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:35:20,183.183 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-08-29 18:35:21,045.045 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:35:21,046.046 INFO    ] Checking for system updates...
[2026-08-29 18:35:21,067.067 INFO    ] 200
[2026-08-29 18:35:21,068.068 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:35:21,100.100 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:35:21,102.102 INFO    ] No update needed
[2026-08-29 18:35:21,103.103 INFO    ] Checking for camera pi updates...
[2026-08-29 18:35:21,123.123 INFO    ] 200
[2026-08-29 18:35:21,124.124 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:35:21,147.147 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:35:21,223.223 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:35:21,224.224 INFO    ] No camera update needed
[2026-08-29 18:35:21,225.225 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:35:21,226.226 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:35:21,229.229 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:35:21,232.232 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:35:23,272.272 INFO    ] ================================================
[2026-08-29 18:35:23,291.291 INFO    ] Launching Daemon at Sat Aug 29 18:35:23 IST 2026
[2026-08-29 18:35:23,302.302 INFO    ] ================================================
[2026-08-29 18:35:23,669.669 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:35:23
[2026-08-29 18:35:24,002.002 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:35:24,156.156 INFO    ] Initializing speech engine...
[2026-08-29 18:35:24,159.159 INFO    ] 2026-08-29 18:35:24
[2026-08-29 18:35:24,384.384 INFO    ] 2026-08-29 18:35:24
[2026-08-29 18:35:24,439.439 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:35:24,600.600 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:35:24,624.624 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:35:24,792.792 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:35:24,833.833 INFO    ] time= 29/08/2026 18:35:24
[2026-08-29 18:35:24,840.840 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:35:24,862.862 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:35:24,991.991 INFO    ] No existing commands found in stream
[2026-08-29 18:35:30,005.005 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:35:30,008.008 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-08-29 18:35:31,067.067 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:35:31,069.069 INFO    ] Checking for system updates...
[2026-08-29 18:35:31,090.090 INFO    ] 200
[2026-08-29 18:35:31,091.091 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:35:31,121.121 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:35:31,123.123 INFO    ] No update needed
[2026-08-29 18:35:31,124.124 INFO    ] Checking for camera pi updates...
[2026-08-29 18:35:31,144.144 INFO    ] 200
[2026-08-29 18:35:31,145.145 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:35:31,169.169 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:35:31,269.269 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:35:31,270.270 INFO    ] No camera update needed
[2026-08-29 18:35:31,272.272 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:35:31,273.273 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:35:31,277.277 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:35:31,279.279 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:35:33,313.313 INFO    ] ================================================
[2026-08-29 18:35:33,328.328 INFO    ] Launching Daemon at Sat Aug 29 18:35:33 IST 2026
[2026-08-29 18:35:33,340.340 INFO    ] ================================================
[2026-08-29 18:35:33,907.907 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:35:33
[2026-08-29 18:35:34,493.493 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:35:34,748.748 INFO    ] Initializing speech engine...
[2026-08-29 18:35:34,757.757 INFO    ] 2026-08-29 18:35:34
[2026-08-29 18:35:35,051.051 INFO    ] 2026-08-29 18:35:35
[2026-08-29 18:35:35,087.087 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:35:35,233.233 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:35:35,241.241 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:35:35,395.395 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:35:35,405.405 INFO    ] time= 29/08/2026 18:35:35
[2026-08-29 18:35:35,409.409 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:35:35,414.414 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:35:35,501.501 INFO    ] No existing commands found in stream
[2026-08-29 18:35:40,525.525 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:35:40,528.528 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-08-29 18:35:43,592.592 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:35:43,593.593 INFO    ] Checking for system updates...
[2026-08-29 18:35:43,615.615 INFO    ] 200
[2026-08-29 18:35:43,616.616 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:35:43,648.648 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:35:43,649.649 INFO    ] No update needed
[2026-08-29 18:35:43,650.650 INFO    ] Checking for camera pi updates...
[2026-08-29 18:35:43,671.671 INFO    ] 200
[2026-08-29 18:35:43,672.672 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:35:43,697.697 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:35:43,784.784 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:35:43,785.785 INFO    ] No camera update needed
[2026-08-29 18:35:43,787.787 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:35:43,788.788 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:35:43,791.791 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:35:43,793.793 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:35:45,833.833 INFO    ] ================================================
[2026-08-29 18:35:45,849.849 INFO    ] Launching Daemon at Sat Aug 29 18:35:45 IST 2026
[2026-08-29 18:35:45,861.861 INFO    ] ================================================
[2026-08-29 18:35:46,229.229 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:35:46
[2026-08-29 18:35:46,546.546 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:35:46,684.684 INFO    ] Initializing speech engine...
[2026-08-29 18:35:46,691.691 INFO    ] 2026-08-29 18:35:46
[2026-08-29 18:35:46,916.916 INFO    ] 2026-08-29 18:35:46
[2026-08-29 18:35:46,947.947 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:35:47,079.079 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:35:47,107.107 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:35:47,262.262 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:35:47,291.291 INFO    ] time= 29/08/2026 18:35:47
[2026-08-29 18:35:47,342.342 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:35:47,387.387 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:35:47,473.473 INFO    ] No existing commands found in stream
[2026-08-29 18:35:52,484.484 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:35:52,486.486 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-08-29 18:35:55,361.361 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:35:55,362.362 INFO    ] Checking for system updates...
[2026-08-29 18:35:55,384.384 INFO    ] 200
[2026-08-29 18:35:55,385.385 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:35:55,426.426 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:35:55,428.428 INFO    ] No update needed
[2026-08-29 18:35:55,431.431 INFO    ] Checking for camera pi updates...
[2026-08-29 18:35:55,466.466 INFO    ] 200
[2026-08-29 18:35:55,468.468 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:35:55,511.511 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:35:55,707.707 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:35:55,710.710 INFO    ] No camera update needed
[2026-08-29 18:35:55,713.713 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:35:55,715.715 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:35:55,721.721 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:35:55,727.727 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:35:57,770.770 INFO    ] ================================================
[2026-08-29 18:35:57,791.791 INFO    ] Launching Daemon at Sat Aug 29 18:35:57 IST 2026
[2026-08-29 18:35:57,803.803 INFO    ] ================================================
[2026-08-29 18:35:58,390.390 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:35:58
[2026-08-29 18:35:58,775.775 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:35:58,920.920 INFO    ] Initializing speech engine...
[2026-08-29 18:35:58,925.925 INFO    ] 2026-08-29 18:35:58
[2026-08-29 18:35:59,131.131 INFO    ] 2026-08-29 18:35:59
[2026-08-29 18:35:59,160.160 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:35:59,282.282 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:35:59,344.344 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:35:59,486.486 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:35:59,552.552 INFO    ] time= 29/08/2026 18:35:59
[2026-08-29 18:35:59,576.576 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:35:59,583.583 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:35:59,648.648 INFO    ] No existing commands found in stream
[2026-08-29 18:36:04,654.654 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:36:04,657.657 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-08-29 18:36:06,342.342 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:36:06,346.346 INFO    ] Checking for system updates...
[2026-08-29 18:36:06,394.394 INFO    ] 200
[2026-08-29 18:36:06,397.397 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:36:06,465.465 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:36:06,468.468 INFO    ] No update needed
[2026-08-29 18:36:06,471.471 INFO    ] Checking for camera pi updates...
[2026-08-29 18:36:06,511.511 INFO    ] 200
[2026-08-29 18:36:06,514.514 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:36:06,559.559 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:36:06,667.667 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:36:06,669.669 INFO    ] No camera update needed
[2026-08-29 18:36:06,672.672 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:36:06,674.674 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:36:06,679.679 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:36:06,684.684 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:36:08,726.726 INFO    ] ================================================
[2026-08-29 18:36:08,741.741 INFO    ] Launching Daemon at Sat Aug 29 18:36:08 IST 2026
[2026-08-29 18:36:08,752.752 INFO    ] ================================================
[2026-08-29 18:36:09,126.126 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:36:09
[2026-08-29 18:36:09,554.554 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:36:09,832.832 INFO    ] Initializing speech engine...
[2026-08-29 18:36:09,841.841 INFO    ] 2026-08-29 18:36:09
[2026-08-29 18:36:10,105.105 INFO    ] 2026-08-29 18:36:10
[2026-08-29 18:36:10,160.160 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:36:10,312.312 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:36:10,326.326 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:36:10,440.440 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:36:10,445.445 INFO    ] time= 29/08/2026 18:36:10
[2026-08-29 18:36:10,464.464 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:36:10,488.488 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:36:10,561.561 INFO    ] No existing commands found in stream
[2026-08-29 18:36:15,579.579 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:36:15,583.583 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 18:36:17,520.520 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:36:17,522.522 INFO    ] Checking for system updates...
[2026-08-29 18:36:17,543.543 INFO    ] 200
[2026-08-29 18:36:17,544.544 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:36:17,575.575 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:36:17,576.576 INFO    ] No update needed
[2026-08-29 18:36:17,578.578 INFO    ] Checking for camera pi updates...
[2026-08-29 18:36:17,597.597 INFO    ] 200
[2026-08-29 18:36:17,599.599 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:36:17,622.622 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:36:17,719.719 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:36:17,720.720 INFO    ] No camera update needed
[2026-08-29 18:36:17,722.722 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:36:17,723.723 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:36:17,726.726 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:36:17,729.729 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:36:19,769.769 INFO    ] ================================================
[2026-08-29 18:36:19,785.785 INFO    ] Launching Daemon at Sat Aug 29 18:36:19 IST 2026
[2026-08-29 18:36:19,796.796 INFO    ] ================================================
[2026-08-29 18:36:20,146.146 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:36:20
[2026-08-29 18:36:20,462.462 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:36:20,601.601 INFO    ] Initializing speech engine...
[2026-08-29 18:36:20,611.611 INFO    ] 2026-08-29 18:36:20
[2026-08-29 18:36:20,859.859 INFO    ] 2026-08-29 18:36:20
[2026-08-29 18:36:20,895.895 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:36:21,069.069 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:36:21,082.082 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:36:21,222.222 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:36:21,231.231 INFO    ] time= 29/08/2026 18:36:21
[2026-08-29 18:36:21,237.237 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:36:21,299.299 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:36:21,414.414 INFO    ] No existing commands found in stream
[2026-08-29 18:36:26,437.437 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:36:26,440.440 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 18:36:28,370.370 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:36:28,373.373 INFO    ] Checking for system updates...
[2026-08-29 18:36:28,408.408 INFO    ] 200
[2026-08-29 18:36:28,411.411 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:36:28,464.464 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:36:28,466.466 INFO    ] No update needed
[2026-08-29 18:36:28,469.469 INFO    ] Checking for camera pi updates...
[2026-08-29 18:36:28,506.506 INFO    ] 200
[2026-08-29 18:36:28,508.508 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:36:28,548.548 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:36:28,629.629 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:36:28,632.632 INFO    ] No camera update needed
[2026-08-29 18:36:28,634.634 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:36:28,637.637 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:36:28,643.643 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:36:28,648.648 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:36:30,692.692 INFO    ] ================================================
[2026-08-29 18:36:30,707.707 INFO    ] Launching Daemon at Sat Aug 29 18:36:30 IST 2026
[2026-08-29 18:36:30,718.718 INFO    ] ================================================
[2026-08-29 18:36:31,302.302 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:36:31
[2026-08-29 18:36:31,930.930 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:36:32,227.227 INFO    ] Initializing speech engine...
[2026-08-29 18:36:32,235.235 INFO    ] 2026-08-29 18:36:32
[2026-08-29 18:36:32,512.512 INFO    ] 2026-08-29 18:36:32
[2026-08-29 18:36:32,571.571 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:36:32,733.733 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:36:32,737.737 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:36:32,851.851 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:36:32,869.869 INFO    ] time= 29/08/2026 18:36:32
[2026-08-29 18:36:32,890.890 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:36:32,899.899 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:36:32,971.971 INFO    ] No existing commands found in stream
[2026-08-29 18:36:38,010.010 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:36:38,013.013 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-08-29 18:36:42,304.304 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:36:42,305.305 INFO    ] Checking for system updates...
[2026-08-29 18:36:42,326.326 INFO    ] 200
[2026-08-29 18:36:42,327.327 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:36:42,361.361 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:36:42,363.363 INFO    ] No update needed
[2026-08-29 18:36:42,364.364 INFO    ] Checking for camera pi updates...
[2026-08-29 18:36:42,385.385 INFO    ] 200
[2026-08-29 18:36:42,386.386 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:36:42,411.411 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:36:42,512.512 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:36:42,514.514 INFO    ] No camera update needed
[2026-08-29 18:36:42,515.515 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:36:42,516.516 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:36:42,519.519 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:36:42,522.522 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:36:44,560.560 INFO    ] ================================================
[2026-08-29 18:36:44,575.575 INFO    ] Launching Daemon at Sat Aug 29 18:36:44 IST 2026
[2026-08-29 18:36:44,586.586 INFO    ] ================================================
[2026-08-29 18:36:44,943.943 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:36:44
[2026-08-29 18:36:45,282.282 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:36:45,416.416 INFO    ] Initializing speech engine...
[2026-08-29 18:36:45,419.419 INFO    ] 2026-08-29 18:36:45
[2026-08-29 18:36:45,613.613 INFO    ] 2026-08-29 18:36:45
[2026-08-29 18:36:45,658.658 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:36:45,780.780 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:36:45,783.783 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:36:45,892.892 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:36:45,903.903 INFO    ] time= 29/08/2026 18:36:45
[2026-08-29 18:36:45,908.908 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:36:45,924.924 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:36:46,012.012 INFO    ] No existing commands found in stream
[2026-08-29 18:36:51,042.042 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:36:51,045.045 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-08-29 18:36:53,447.447 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:36:53,448.448 INFO    ] Checking for system updates...
[2026-08-29 18:36:53,469.469 INFO    ] 200
[2026-08-29 18:36:53,470.470 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:36:53,502.502 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:36:53,503.503 INFO    ] No update needed
[2026-08-29 18:36:53,504.504 INFO    ] Checking for camera pi updates...
[2026-08-29 18:36:53,524.524 INFO    ] 200
[2026-08-29 18:36:53,526.526 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:36:53,548.548 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:36:53,651.651 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:36:53,652.652 INFO    ] No camera update needed
[2026-08-29 18:36:53,654.654 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:36:53,655.655 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:36:53,658.658 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:36:53,661.661 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:36:55,699.699 INFO    ] ================================================
[2026-08-29 18:36:55,714.714 INFO    ] Launching Daemon at Sat Aug 29 18:36:55 IST 2026
[2026-08-29 18:36:55,725.725 INFO    ] ================================================
[2026-08-29 18:36:56,046.046 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:36:56
[2026-08-29 18:36:56,358.358 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:36:56,491.491 INFO    ] Initializing speech engine...
[2026-08-29 18:36:56,503.503 INFO    ] 2026-08-29 18:36:56
[2026-08-29 18:36:56,712.712 INFO    ] 2026-08-29 18:36:56
[2026-08-29 18:36:56,743.743 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:36:56,866.866 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:36:56,914.914 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:36:57,067.067 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:36:57,130.130 INFO    ] time= 29/08/2026 18:36:57
[2026-08-29 18:36:57,163.163 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:36:57,165.165 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:36:57,236.236 INFO    ] No existing commands found in stream
[2026-08-29 18:37:02,245.245 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:37:02,248.248 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-08-29 18:37:03,750.750 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:37:03,753.753 INFO    ] Checking for system updates...
[2026-08-29 18:37:03,789.789 INFO    ] 200
[2026-08-29 18:37:03,791.791 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:37:03,851.851 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:37:03,854.854 INFO    ] No update needed
[2026-08-29 18:37:03,856.856 INFO    ] Checking for camera pi updates...
[2026-08-29 18:37:03,889.889 INFO    ] 200
[2026-08-29 18:37:03,891.891 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:37:03,938.938 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:37:04,020.020 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:37:04,022.022 INFO    ] No camera update needed
[2026-08-29 18:37:04,024.024 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:37:04,027.027 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:37:04,032.032 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:37:04,037.037 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:37:06,081.081 INFO    ] ================================================
[2026-08-29 18:37:06,099.099 INFO    ] Launching Daemon at Sat Aug 29 18:37:06 IST 2026
[2026-08-29 18:37:06,112.112 INFO    ] ================================================
[2026-08-29 18:37:06,758.758 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:37:06
[2026-08-29 18:37:07,437.437 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:37:07,750.750 INFO    ] Initializing speech engine...
[2026-08-29 18:37:07,764.764 INFO    ] 2026-08-29 18:37:07
[2026-08-29 18:37:08,049.049 INFO    ] 2026-08-29 18:37:08
[2026-08-29 18:37:08,098.098 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:37:08,326.326 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:37:08,336.336 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:37:08,476.476 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:37:08,503.503 INFO    ] time= 29/08/2026 18:37:08
[2026-08-29 18:37:08,558.558 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:37:08,608.608 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:37:08,719.719 INFO    ] No existing commands found in stream
[2026-08-29 18:37:13,744.744 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:37:13,747.747 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-08-29 18:37:15,082.082 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:37:15,084.084 INFO    ] Checking for system updates...
[2026-08-29 18:37:15,106.106 INFO    ] 200
[2026-08-29 18:37:15,107.107 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:37:15,138.138 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:37:15,139.139 INFO    ] No update needed
[2026-08-29 18:37:15,141.141 INFO    ] Checking for camera pi updates...
[2026-08-29 18:37:15,160.160 INFO    ] 200
[2026-08-29 18:37:15,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:37:15,194.194 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:37:15,283.283 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:37:15,285.285 INFO    ] No camera update needed
[2026-08-29 18:37:15,288.288 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:37:15,290.290 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:37:15,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:37:15,300.300 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:37:17,340.340 INFO    ] ================================================
[2026-08-29 18:37:17,355.355 INFO    ] Launching Daemon at Sat Aug 29 18:37:17 IST 2026
[2026-08-29 18:37:17,366.366 INFO    ] ================================================
[2026-08-29 18:37:17,934.934 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:37:17
[2026-08-29 18:37:18,422.422 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:37:18,552.552 INFO    ] Initializing speech engine...
[2026-08-29 18:37:18,557.557 INFO    ] 2026-08-29 18:37:18
[2026-08-29 18:37:18,777.777 INFO    ] 2026-08-29 18:37:18
[2026-08-29 18:37:18,806.806 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:37:18,929.929 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:37:18,983.983 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:37:19,126.126 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:37:19,188.188 INFO    ] time= 29/08/2026 18:37:19
[2026-08-29 18:37:19,223.223 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:37:19,229.229 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:37:19,300.300 INFO    ] No existing commands found in stream
[2026-08-29 18:37:24,310.310 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:37:24,319.319 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-08-29 18:37:28,628.628 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:37:28,629.629 INFO    ] Checking for system updates...
[2026-08-29 18:37:28,650.650 INFO    ] 200
[2026-08-29 18:37:28,651.651 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:37:28,681.681 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:37:28,683.683 INFO    ] No update needed
[2026-08-29 18:37:28,684.684 INFO    ] Checking for camera pi updates...
[2026-08-29 18:37:28,705.705 INFO    ] 200
[2026-08-29 18:37:28,707.707 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:37:28,730.730 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:37:28,825.825 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:37:28,826.826 INFO    ] No camera update needed
[2026-08-29 18:37:28,828.828 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:37:28,829.829 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:37:28,832.832 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:37:28,835.835 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:37:30,878.878 INFO    ] ================================================
[2026-08-29 18:37:30,893.893 INFO    ] Launching Daemon at Sat Aug 29 18:37:30 IST 2026
[2026-08-29 18:37:30,904.904 INFO    ] ================================================
[2026-08-29 18:37:31,256.256 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:37:31
[2026-08-29 18:37:31,616.616 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:37:31,957.957 INFO    ] Initializing speech engine...
[2026-08-29 18:37:31,966.966 INFO    ] 2026-08-29 18:37:31
[2026-08-29 18:37:32,275.275 INFO    ] 2026-08-29 18:37:32
[2026-08-29 18:37:32,383.383 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:37:32,549.549 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:37:32,556.556 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:37:32,661.661 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:37:32,721.721 INFO    ] time= 29/08/2026 18:37:32
[2026-08-29 18:37:32,773.773 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:37:32,819.819 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:37:32,894.894 INFO    ] No existing commands found in stream
[2026-08-29 18:37:37,910.910 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:37:37,913.913 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-08-29 18:37:40,432.432 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:37:40,433.433 INFO    ] Checking for system updates...
[2026-08-29 18:37:40,455.455 INFO    ] 200
[2026-08-29 18:37:40,456.456 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:37:40,486.486 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:37:40,487.487 INFO    ] No update needed
[2026-08-29 18:37:40,489.489 INFO    ] Checking for camera pi updates...
[2026-08-29 18:37:40,511.511 INFO    ] 200
[2026-08-29 18:37:40,513.513 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:37:40,536.536 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:37:40,636.636 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:37:40,637.637 INFO    ] No camera update needed
[2026-08-29 18:37:40,639.639 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:37:40,640.640 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:37:40,643.643 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:37:40,646.646 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:37:42,684.684 INFO    ] ================================================
[2026-08-29 18:37:42,705.705 INFO    ] Launching Daemon at Sat Aug 29 18:37:42 IST 2026
[2026-08-29 18:37:42,716.716 INFO    ] ================================================
[2026-08-29 18:37:43,077.077 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:37:43
[2026-08-29 18:37:43,513.513 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:37:43,805.805 INFO    ] Initializing speech engine...
[2026-08-29 18:37:43,823.823 INFO    ] 2026-08-29 18:37:43
[2026-08-29 18:37:44,095.095 INFO    ] 2026-08-29 18:37:44
[2026-08-29 18:37:44,167.167 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:37:44,396.396 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:37:44,406.406 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:37:44,543.543 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:37:44,570.570 INFO    ] time= 29/08/2026 18:37:44
[2026-08-29 18:37:44,625.625 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:37:44,681.681 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:37:44,741.741 INFO    ] No existing commands found in stream
[2026-08-29 18:37:49,755.755 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:37:49,758.758 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-08-29 18:37:52,908.908 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:37:52,910.910 INFO    ] Checking for system updates...
[2026-08-29 18:37:52,933.933 INFO    ] 200
[2026-08-29 18:37:52,934.934 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:37:52,970.970 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:37:52,971.971 INFO    ] No update needed
[2026-08-29 18:37:52,973.973 INFO    ] Checking for camera pi updates...
[2026-08-29 18:37:52,993.993 INFO    ] 200
[2026-08-29 18:37:52,995.995 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:37:53,018.018 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:37:53,120.120 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:37:53,121.121 INFO    ] No camera update needed
[2026-08-29 18:37:53,123.123 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:37:53,124.124 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:37:53,127.127 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:37:53,130.130 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:37:55,173.173 INFO    ] ================================================
[2026-08-29 18:37:55,188.188 INFO    ] Launching Daemon at Sat Aug 29 18:37:55 IST 2026
[2026-08-29 18:37:55,199.199 INFO    ] ================================================
[2026-08-29 18:37:55,718.718 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:37:55
[2026-08-29 18:37:56,320.320 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:37:56,597.597 INFO    ] Initializing speech engine...
[2026-08-29 18:37:56,603.603 INFO    ] 2026-08-29 18:37:56
[2026-08-29 18:37:56,849.849 INFO    ] 2026-08-29 18:37:56
[2026-08-29 18:37:56,873.873 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:37:57,037.037 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:37:57,044.044 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:37:57,202.202 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:37:57,212.212 INFO    ] time= 29/08/2026 18:37:57
[2026-08-29 18:37:57,216.216 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:37:57,221.221 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:37:57,290.290 INFO    ] No existing commands found in stream
[2026-08-29 18:38:02,304.304 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:38:02,308.308 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-08-29 18:38:04,851.851 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:38:04,853.853 INFO    ] Checking for system updates...
[2026-08-29 18:38:04,890.890 INFO    ] 200
[2026-08-29 18:38:04,892.892 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:38:04,945.945 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:38:04,948.948 INFO    ] No update needed
[2026-08-29 18:38:04,950.950 INFO    ] Checking for camera pi updates...
[2026-08-29 18:38:04,984.984 INFO    ] 200
[2026-08-29 18:38:04,987.987 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:38:05,033.033 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:38:05,125.125 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:38:05,128.128 INFO    ] No camera update needed
[2026-08-29 18:38:05,130.130 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:38:05,132.132 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:38:05,138.138 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:38:05,143.143 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:38:07,183.183 INFO    ] ================================================
[2026-08-29 18:38:07,198.198 INFO    ] Launching Daemon at Sat Aug 29 18:38:07 IST 2026
[2026-08-29 18:38:07,208.208 INFO    ] ================================================
[2026-08-29 18:38:07,545.545 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:38:07
[2026-08-29 18:38:07,862.862 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:38:08,056.056 INFO    ] Initializing speech engine...
[2026-08-29 18:38:08,084.084 INFO    ] 2026-08-29 18:38:08
[2026-08-29 18:38:08,339.339 INFO    ] 2026-08-29 18:38:08
[2026-08-29 18:38:08,374.374 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:38:08,545.545 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:38:08,559.559 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:38:08,702.702 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:38:08,711.711 INFO    ] time= 29/08/2026 18:38:08
[2026-08-29 18:38:08,717.717 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:38:08,758.758 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:38:08,873.873 INFO    ] No existing commands found in stream
[2026-08-29 18:38:13,920.920 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:38:13,924.924 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-08-29 18:38:14,720.720 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:38:14,721.721 INFO    ] Checking for system updates...
[2026-08-29 18:38:14,742.742 INFO    ] 200
[2026-08-29 18:38:14,743.743 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:38:14,775.775 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:38:14,777.777 INFO    ] No update needed
[2026-08-29 18:38:14,778.778 INFO    ] Checking for camera pi updates...
[2026-08-29 18:38:14,797.797 INFO    ] 200
[2026-08-29 18:38:14,798.798 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:38:14,821.821 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:38:14,923.923 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:38:14,924.924 INFO    ] No camera update needed
[2026-08-29 18:38:14,926.926 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:38:14,927.927 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:38:14,930.930 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:38:14,933.933 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:38:16,974.974 INFO    ] ================================================
[2026-08-29 18:38:16,989.989 INFO    ] Launching Daemon at Sat Aug 29 18:38:16 IST 2026
[2026-08-29 18:38:17,000.000 INFO    ] ================================================
[2026-08-29 18:38:17,624.624 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:38:17
[2026-08-29 18:38:18,301.301 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:38:18,605.605 INFO    ] Initializing speech engine...
[2026-08-29 18:38:18,614.614 INFO    ] 2026-08-29 18:38:18
[2026-08-29 18:38:18,892.892 INFO    ] 2026-08-29 18:38:18
[2026-08-29 18:38:18,948.948 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:38:19,111.111 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:38:19,127.127 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:38:19,250.250 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:38:19,257.257 INFO    ] time= 29/08/2026 18:38:19
[2026-08-29 18:38:19,262.262 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:38:19,283.283 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:38:19,386.386 INFO    ] No existing commands found in stream
[2026-08-29 18:38:24,398.398 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:38:24,400.400 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-08-29 18:38:25,961.961 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:38:25,962.962 INFO    ] Checking for system updates...
[2026-08-29 18:38:25,983.983 INFO    ] 200
[2026-08-29 18:38:25,984.984 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:38:26,017.017 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:38:26,018.018 INFO    ] No update needed
[2026-08-29 18:38:26,020.020 INFO    ] Checking for camera pi updates...
[2026-08-29 18:38:26,039.039 INFO    ] 200
[2026-08-29 18:38:26,040.040 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:38:26,063.063 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:38:26,144.144 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:38:26,146.146 INFO    ] No camera update needed
[2026-08-29 18:38:26,147.147 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:38:26,148.148 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:38:26,151.151 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:38:26,154.154 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:38:28,194.194 INFO    ] ================================================
[2026-08-29 18:38:28,209.209 INFO    ] Launching Daemon at Sat Aug 29 18:38:28 IST 2026
[2026-08-29 18:38:28,220.220 INFO    ] ================================================
[2026-08-29 18:38:28,610.610 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:38:28
[2026-08-29 18:38:28,947.947 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:38:29,217.217 INFO    ] Initializing speech engine...
[2026-08-29 18:38:29,224.224 INFO    ] 2026-08-29 18:38:29
[2026-08-29 18:38:29,513.513 INFO    ] 2026-08-29 18:38:29
[2026-08-29 18:38:29,553.553 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:38:29,779.779 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:38:29,789.789 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:38:29,928.928 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:38:29,983.983 INFO    ] time= 29/08/2026 18:38:29
[2026-08-29 18:38:30,048.048 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:38:30,066.066 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:38:30,118.118 INFO    ] No existing commands found in stream
[2026-08-29 18:38:35,132.132 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:38:35,135.135 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-08-29 18:38:37,157.157 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:38:37,159.159 INFO    ] Checking for system updates...
[2026-08-29 18:38:37,179.179 INFO    ] 200
[2026-08-29 18:38:37,181.181 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:38:37,211.211 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:38:37,212.212 INFO    ] No update needed
[2026-08-29 18:38:37,214.214 INFO    ] Checking for camera pi updates...
[2026-08-29 18:38:37,236.236 INFO    ] 200
[2026-08-29 18:38:37,238.238 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:38:37,262.262 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:38:37,355.355 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:38:37,357.357 INFO    ] No camera update needed
[2026-08-29 18:38:37,358.358 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:38:37,359.359 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:38:37,362.362 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:38:37,365.365 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:38:39,403.403 INFO    ] ================================================
[2026-08-29 18:38:39,418.418 INFO    ] Launching Daemon at Sat Aug 29 18:38:39 IST 2026
[2026-08-29 18:38:39,429.429 INFO    ] ================================================
[2026-08-29 18:38:39,776.776 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:38:39
[2026-08-29 18:38:40,087.087 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:38:40,219.219 INFO    ] Initializing speech engine...
[2026-08-29 18:38:40,222.222 INFO    ] 2026-08-29 18:38:40
[2026-08-29 18:38:40,452.452 INFO    ] 2026-08-29 18:38:40
[2026-08-29 18:38:40,483.483 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:38:40,581.581 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:38:40,616.616 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:38:40,727.727 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:38:40,771.771 INFO    ] time= 29/08/2026 18:38:40
[2026-08-29 18:38:40,803.803 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:38:40,831.831 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:38:40,913.913 INFO    ] No existing commands found in stream
[2026-08-29 18:38:45,939.939 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:38:45,942.942 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-08-29 18:38:49,444.444 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:38:49,446.446 INFO    ] Checking for system updates...
[2026-08-29 18:38:49,467.467 INFO    ] 200
[2026-08-29 18:38:49,469.469 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:38:49,500.500 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:38:49,501.501 INFO    ] No update needed
[2026-08-29 18:38:49,503.503 INFO    ] Checking for camera pi updates...
[2026-08-29 18:38:49,522.522 INFO    ] 200
[2026-08-29 18:38:49,524.524 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:38:49,547.547 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:38:49,661.661 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:38:49,663.663 INFO    ] No camera update needed
[2026-08-29 18:38:49,664.664 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:38:49,665.665 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:38:49,668.668 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:38:49,671.671 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:38:51,710.710 INFO    ] ================================================
[2026-08-29 18:38:51,725.725 INFO    ] Launching Daemon at Sat Aug 29 18:38:51 IST 2026
[2026-08-29 18:38:51,736.736 INFO    ] ================================================
[2026-08-29 18:38:52,202.202 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:38:52
[2026-08-29 18:38:52,879.879 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:38:53,186.186 INFO    ] Initializing speech engine...
[2026-08-29 18:38:53,198.198 INFO    ] 2026-08-29 18:38:53
[2026-08-29 18:38:53,492.492 INFO    ] 2026-08-29 18:38:53
[2026-08-29 18:38:53,530.530 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:38:53,759.759 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:38:53,769.769 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:38:53,907.907 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:38:53,929.929 INFO    ] time= 29/08/2026 18:38:53
[2026-08-29 18:38:54,000.000 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:38:54,047.047 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:38:54,162.162 INFO    ] No existing commands found in stream
[2026-08-29 18:38:59,189.189 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:38:59,193.193 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-08-29 18:39:01,054.054 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:39:01,056.056 INFO    ] Checking for system updates...
[2026-08-29 18:39:01,078.078 INFO    ] 200
[2026-08-29 18:39:01,079.079 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:39:01,112.112 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:39:01,114.114 INFO    ] No update needed
[2026-08-29 18:39:01,115.115 INFO    ] Checking for camera pi updates...
[2026-08-29 18:39:01,135.135 INFO    ] 200
[2026-08-29 18:39:01,136.136 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:39:01,159.159 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:39:01,284.284 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:39:01,286.286 INFO    ] No camera update needed
[2026-08-29 18:39:01,287.287 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:39:01,289.289 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:39:01,292.292 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:39:01,295.295 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:39:03,343.343 INFO    ] ================================================
[2026-08-29 18:39:03,360.360 INFO    ] Launching Daemon at Sat Aug 29 18:39:03 IST 2026
[2026-08-29 18:39:03,372.372 INFO    ] ================================================
[2026-08-29 18:39:04,022.022 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:39:04
[2026-08-29 18:39:04,613.613 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:39:04,876.876 INFO    ] Initializing speech engine...
[2026-08-29 18:39:04,889.889 INFO    ] 2026-08-29 18:39:04
[2026-08-29 18:39:05,176.176 INFO    ] 2026-08-29 18:39:05
[2026-08-29 18:39:05,212.212 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:39:05,406.406 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:39:05,415.415 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:39:05,505.505 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:39:05,508.508 INFO    ] time= 29/08/2026 18:39:05
[2026-08-29 18:39:05,541.541 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:39:05,548.548 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:39:05,618.618 INFO    ] No existing commands found in stream
[2026-08-29 18:39:10,626.626 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:39:10,628.628 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-08-29 18:39:12,922.922 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:39:12,925.925 INFO    ] Checking for system updates...
[2026-08-29 18:39:12,960.960 INFO    ] 200
[2026-08-29 18:39:12,963.963 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:39:13,045.045 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:39:13,049.049 INFO    ] No update needed
[2026-08-29 18:39:13,051.051 INFO    ] Checking for camera pi updates...
[2026-08-29 18:39:13,088.088 INFO    ] 200
[2026-08-29 18:39:13,091.091 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:39:13,155.155 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:39:13,241.241 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:39:13,244.244 INFO    ] No camera update needed
[2026-08-29 18:39:13,246.246 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:39:13,248.248 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:39:13,254.254 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:39:13,259.259 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:39:15,298.298 INFO    ] ================================================
[2026-08-29 18:39:15,313.313 INFO    ] Launching Daemon at Sat Aug 29 18:39:15 IST 2026
[2026-08-29 18:39:15,324.324 INFO    ] ================================================
[2026-08-29 18:39:15,759.759 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:39:15
[2026-08-29 18:39:16,073.073 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:39:16,209.209 INFO    ] Initializing speech engine...
[2026-08-29 18:39:16,223.223 INFO    ] 2026-08-29 18:39:16
[2026-08-29 18:39:16,444.444 INFO    ] 2026-08-29 18:39:16
[2026-08-29 18:39:16,474.474 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:39:16,608.608 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:39:16,646.646 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:39:16,782.782 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:39:16,821.821 INFO    ] time= 29/08/2026 18:39:16
[2026-08-29 18:39:16,867.867 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:39:16,912.912 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:39:17,004.004 INFO    ] No existing commands found in stream
[2026-08-29 18:39:22,014.014 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:39:22,017.017 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-08-29 18:39:23,668.668 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:39:23,670.670 INFO    ] Checking for system updates...
[2026-08-29 18:39:23,690.690 INFO    ] 200
[2026-08-29 18:39:23,692.692 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:39:23,722.722 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:39:23,723.723 INFO    ] No update needed
[2026-08-29 18:39:23,725.725 INFO    ] Checking for camera pi updates...
[2026-08-29 18:39:23,746.746 INFO    ] 200
[2026-08-29 18:39:23,747.747 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:39:23,770.770 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:39:23,846.846 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:39:23,847.847 INFO    ] No camera update needed
[2026-08-29 18:39:23,849.849 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:39:23,850.850 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:39:23,853.853 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:39:23,856.856 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:39:25,894.894 INFO    ] ================================================
[2026-08-29 18:39:25,909.909 INFO    ] Launching Daemon at Sat Aug 29 18:39:25 IST 2026
[2026-08-29 18:39:25,920.920 INFO    ] ================================================
[2026-08-29 18:39:26,273.273 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:39:26
[2026-08-29 18:39:26,613.613 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:39:26,765.765 INFO    ] Initializing speech engine...
[2026-08-29 18:39:26,771.771 INFO    ] 2026-08-29 18:39:26
[2026-08-29 18:39:26,981.981 INFO    ] 2026-08-29 18:39:26
[2026-08-29 18:39:27,011.011 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:39:27,135.135 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:39:27,198.198 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:39:27,339.339 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:39:27,407.407 INFO    ] time= 29/08/2026 18:39:27
[2026-08-29 18:39:27,431.431 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:39:27,438.438 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:39:27,505.505 INFO    ] No existing commands found in stream
[2026-08-29 18:39:32,514.514 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:39:32,517.517 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-08-29 18:39:36,796.796 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:39:36,797.797 INFO    ] Checking for system updates...
[2026-08-29 18:39:36,818.818 INFO    ] 200
[2026-08-29 18:39:36,819.819 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:39:36,849.849 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:39:36,851.851 INFO    ] No update needed
[2026-08-29 18:39:36,852.852 INFO    ] Checking for camera pi updates...
[2026-08-29 18:39:36,871.871 INFO    ] 200
[2026-08-29 18:39:36,872.872 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:39:36,895.895 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:39:36,997.997 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:39:36,998.998 INFO    ] No camera update needed
[2026-08-29 18:39:36,999.999 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:39:37,001.001 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:39:37,004.004 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:39:37,006.006 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:39:39,045.045 INFO    ] ================================================
[2026-08-29 18:39:39,060.060 INFO    ] Launching Daemon at Sat Aug 29 18:39:39 IST 2026
[2026-08-29 18:39:39,071.071 INFO    ] ================================================
[2026-08-29 18:39:39,544.544 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:39:39
[2026-08-29 18:39:40,127.127 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:39:40,435.435 INFO    ] Initializing speech engine...
[2026-08-29 18:39:40,441.441 INFO    ] 2026-08-29 18:39:40
[2026-08-29 18:39:40,730.730 INFO    ] 2026-08-29 18:39:40
[2026-08-29 18:39:40,840.840 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:39:40,995.995 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:39:41,001.001 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:39:41,134.134 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:39:41,177.177 INFO    ] time= 29/08/2026 18:39:41
[2026-08-29 18:39:41,232.232 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:39:41,270.270 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:39:41,322.322 INFO    ] No existing commands found in stream
[2026-08-29 18:39:46,334.334 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:39:46,338.338 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-08-29 18:39:50,004.004 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:39:50,006.006 INFO    ] Checking for system updates...
[2026-08-29 18:39:50,028.028 INFO    ] 200
[2026-08-29 18:39:50,029.029 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:39:50,059.059 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:39:50,061.061 INFO    ] No update needed
[2026-08-29 18:39:50,062.062 INFO    ] Checking for camera pi updates...
[2026-08-29 18:39:50,083.083 INFO    ] 200
[2026-08-29 18:39:50,084.084 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:39:50,107.107 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:39:50,186.186 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:39:50,188.188 INFO    ] No camera update needed
[2026-08-29 18:39:50,189.189 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:39:50,190.190 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:39:50,193.193 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:39:50,196.196 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:39:52,235.235 INFO    ] ================================================
[2026-08-29 18:39:52,250.250 INFO    ] Launching Daemon at Sat Aug 29 18:39:52 IST 2026
[2026-08-29 18:39:52,262.262 INFO    ] ================================================
[2026-08-29 18:39:52,628.628 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:39:52
[2026-08-29 18:39:52,972.972 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:39:53,125.125 INFO    ] Initializing speech engine...
[2026-08-29 18:39:53,131.131 INFO    ] 2026-08-29 18:39:53
[2026-08-29 18:39:53,324.324 INFO    ] 2026-08-29 18:39:53
[2026-08-29 18:39:53,382.382 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:39:53,548.548 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:39:53,588.588 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:39:53,753.753 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:39:53,803.803 INFO    ] time= 29/08/2026 18:39:53
[2026-08-29 18:39:53,863.863 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:39:53,886.886 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:39:53,942.942 INFO    ] No existing commands found in stream
[2026-08-29 18:39:58,955.955 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:39:58,958.958 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-08-29 18:40:01,617.617 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:40:01,619.619 INFO    ] Checking for system updates...
[2026-08-29 18:40:01,639.639 INFO    ] 200
[2026-08-29 18:40:01,640.640 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:40:01,670.670 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:40:01,672.672 INFO    ] No update needed
[2026-08-29 18:40:01,673.673 INFO    ] Checking for camera pi updates...
[2026-08-29 18:40:01,694.694 INFO    ] 200
[2026-08-29 18:40:01,696.696 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:40:01,736.736 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:40:02,224.224 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:40:02,228.228 INFO    ] No camera update needed
[2026-08-29 18:40:02,231.231 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:40:02,246.246 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:40:02,259.259 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:40:02,276.276 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:40:04,329.329 INFO    ] ================================================
[2026-08-29 18:40:04,344.344 INFO    ] Launching Daemon at Sat Aug 29 18:40:04 IST 2026
[2026-08-29 18:40:04,355.355 INFO    ] ================================================
[2026-08-29 18:40:04,815.815 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:40:04
[2026-08-29 18:40:05,153.153 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:40:05,307.307 INFO    ] Initializing speech engine...
[2026-08-29 18:40:05,313.313 INFO    ] 2026-08-29 18:40:05
[2026-08-29 18:40:05,523.523 INFO    ] 2026-08-29 18:40:05
[2026-08-29 18:40:05,551.551 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:40:05,677.677 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:40:05,741.741 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:40:05,875.875 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:40:05,938.938 INFO    ] time= 29/08/2026 18:40:05
[2026-08-29 18:40:05,988.988 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:40:06,031.031 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:40:06,148.148 INFO    ] No existing commands found in stream
[2026-08-29 18:40:11,174.174 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:40:11,177.177 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-08-29 18:40:15,162.162 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:40:15,164.164 INFO    ] Checking for system updates...
[2026-08-29 18:40:15,184.184 INFO    ] 200
[2026-08-29 18:40:15,186.186 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:40:15,216.216 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:40:15,217.217 INFO    ] No update needed
[2026-08-29 18:40:15,218.218 INFO    ] Checking for camera pi updates...
[2026-08-29 18:40:15,239.239 INFO    ] 200
[2026-08-29 18:40:15,240.240 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:40:15,264.264 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:40:15,476.476 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:40:15,478.478 INFO    ] No camera update needed
[2026-08-29 18:40:15,480.480 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:40:15,483.483 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:40:15,488.488 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:40:15,493.493 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:40:17,533.533 INFO    ] ================================================
[2026-08-29 18:40:17,548.548 INFO    ] Launching Daemon at Sat Aug 29 18:40:17 IST 2026
[2026-08-29 18:40:17,559.559 INFO    ] ================================================
[2026-08-29 18:40:18,131.131 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:40:18
[2026-08-29 18:40:18,589.589 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:40:18,721.721 INFO    ] Initializing speech engine...
[2026-08-29 18:40:18,729.729 INFO    ] 2026-08-29 18:40:18
[2026-08-29 18:40:18,937.937 INFO    ] 2026-08-29 18:40:18
[2026-08-29 18:40:19,047.047 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:40:19,198.198 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:40:19,208.208 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:40:19,343.343 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:40:19,365.365 INFO    ] time= 29/08/2026 18:40:19
[2026-08-29 18:40:19,424.424 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:40:19,480.480 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:40:19,534.534 INFO    ] No existing commands found in stream
[2026-08-29 18:40:24,545.545 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:40:24,548.548 INFO    ] Waiting 1.53 seconds before fallback handling...
[2026-08-29 18:40:26,394.394 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:40:26,396.396 INFO    ] Checking for system updates...
[2026-08-29 18:40:26,417.417 INFO    ] 200
[2026-08-29 18:40:26,418.418 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:40:26,449.449 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:40:26,450.450 INFO    ] No update needed
[2026-08-29 18:40:26,452.452 INFO    ] Checking for camera pi updates...
[2026-08-29 18:40:26,471.471 INFO    ] 200
[2026-08-29 18:40:26,473.473 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:40:26,496.496 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:40:26,575.575 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:40:26,577.577 INFO    ] No camera update needed
[2026-08-29 18:40:26,578.578 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:40:26,580.580 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:40:26,583.583 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:40:26,586.586 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:40:28,628.628 INFO    ] ================================================
[2026-08-29 18:40:28,644.644 INFO    ] Launching Daemon at Sat Aug 29 18:40:28 IST 2026
[2026-08-29 18:40:28,654.654 INFO    ] ================================================
[2026-08-29 18:40:29,023.023 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:40:29
[2026-08-29 18:40:29,367.367 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:40:29,527.527 INFO    ] Initializing speech engine...
[2026-08-29 18:40:29,533.533 INFO    ] 2026-08-29 18:40:29
[2026-08-29 18:40:29,760.760 INFO    ] 2026-08-29 18:40:29
[2026-08-29 18:40:29,842.842 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:40:29,994.994 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:40:30,006.006 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:40:30,141.141 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:40:30,191.191 INFO    ] time= 29/08/2026 18:40:30
[2026-08-29 18:40:30,251.251 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:40:30,278.278 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:40:30,331.331 INFO    ] No existing commands found in stream
[2026-08-29 18:40:35,345.345 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:40:35,348.348 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 18:40:38,836.836 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:40:38,838.838 INFO    ] Checking for system updates...
[2026-08-29 18:40:38,858.858 INFO    ] 200
[2026-08-29 18:40:38,860.860 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:40:38,891.891 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:40:38,892.892 INFO    ] No update needed
[2026-08-29 18:40:38,893.893 INFO    ] Checking for camera pi updates...
[2026-08-29 18:40:38,914.914 INFO    ] 200
[2026-08-29 18:40:38,915.915 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:40:38,938.938 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:40:39,029.029 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:40:39,031.031 INFO    ] No camera update needed
[2026-08-29 18:40:39,033.033 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:40:39,036.036 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:40:39,041.041 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:40:39,046.046 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:40:41,085.085 INFO    ] ================================================
[2026-08-29 18:40:41,101.101 INFO    ] Launching Daemon at Sat Aug 29 18:40:41 IST 2026
[2026-08-29 18:40:41,111.111 INFO    ] ================================================
[2026-08-29 18:40:41,694.694 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:40:41
[2026-08-29 18:40:42,176.176 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:40:42,315.315 INFO    ] Initializing speech engine...
[2026-08-29 18:40:42,327.327 INFO    ] 2026-08-29 18:40:42
[2026-08-29 18:40:42,550.550 INFO    ] 2026-08-29 18:40:42
[2026-08-29 18:40:42,581.581 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:40:42,707.707 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:40:42,715.715 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:40:42,879.879 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:40:42,924.924 INFO    ] time= 29/08/2026 18:40:42
[2026-08-29 18:40:42,951.951 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:40:42,958.958 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:40:43,086.086 INFO    ] No existing commands found in stream
[2026-08-29 18:40:48,110.110 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:40:48,113.113 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-08-29 18:40:53,259.259 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:40:53,261.261 INFO    ] Checking for system updates...
[2026-08-29 18:40:53,285.285 INFO    ] 200
[2026-08-29 18:40:53,287.287 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:40:53,322.322 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:40:53,323.323 INFO    ] No update needed
[2026-08-29 18:40:53,324.324 INFO    ] Checking for camera pi updates...
[2026-08-29 18:40:53,344.344 INFO    ] 200
[2026-08-29 18:40:53,345.345 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:40:53,370.370 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:40:53,472.472 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:40:53,473.473 INFO    ] No camera update needed
[2026-08-29 18:40:53,475.475 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:40:53,476.476 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:40:53,479.479 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:40:53,481.481 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:40:55,521.521 INFO    ] ================================================
[2026-08-29 18:40:55,536.536 INFO    ] Launching Daemon at Sat Aug 29 18:40:55 IST 2026
[2026-08-29 18:40:55,547.547 INFO    ] ================================================
[2026-08-29 18:40:55,891.891 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:40:55
[2026-08-29 18:40:56,203.203 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:40:56,334.334 INFO    ] Initializing speech engine...
[2026-08-29 18:40:56,337.337 INFO    ] 2026-08-29 18:40:56
[2026-08-29 18:40:56,555.555 INFO    ] 2026-08-29 18:40:56
[2026-08-29 18:40:56,585.585 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:40:56,708.708 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:40:56,757.757 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:40:56,903.903 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:40:56,945.945 INFO    ] time= 29/08/2026 18:40:56
[2026-08-29 18:40:56,983.983 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:40:57,005.005 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:40:57,088.088 INFO    ] No existing commands found in stream
[2026-08-29 18:41:02,094.094 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:41:02,098.098 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-08-29 18:41:03,946.946 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:41:03,948.948 INFO    ] Checking for system updates...
[2026-08-29 18:41:03,984.984 INFO    ] 200
[2026-08-29 18:41:03,986.986 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:41:04,040.040 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:41:04,043.043 INFO    ] No update needed
[2026-08-29 18:41:04,045.045 INFO    ] Checking for camera pi updates...
[2026-08-29 18:41:04,079.079 INFO    ] 200
[2026-08-29 18:41:04,081.081 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:41:04,122.122 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:41:04,226.226 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:41:04,229.229 INFO    ] No camera update needed
[2026-08-29 18:41:04,231.231 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:41:04,233.233 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:41:04,239.239 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:41:04,244.244 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:41:06,276.276 INFO    ] ================================================
[2026-08-29 18:41:06,284.284 INFO    ] Launching Daemon at Sat Aug 29 18:41:06 IST 2026
[2026-08-29 18:41:06,290.290 INFO    ] ================================================
[2026-08-29 18:41:06,808.808 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:41:06
[2026-08-29 18:41:07,415.415 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:41:07,689.689 INFO    ] Initializing speech engine...
[2026-08-29 18:41:07,698.698 INFO    ] 2026-08-29 18:41:07
[2026-08-29 18:41:07,954.954 INFO    ] 2026-08-29 18:41:07
[2026-08-29 18:41:08,014.014 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:41:08,238.238 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:41:08,246.246 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:41:08,380.380 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:41:08,422.422 INFO    ] time= 29/08/2026 18:41:08
[2026-08-29 18:41:08,481.481 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:41:08,515.515 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:41:08,573.573 INFO    ] No existing commands found in stream
[2026-08-29 18:41:13,584.584 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:41:13,587.587 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-08-29 18:41:14,914.914 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:41:14,915.915 INFO    ] Checking for system updates...
[2026-08-29 18:41:14,936.936 INFO    ] 200
[2026-08-29 18:41:14,938.938 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:41:14,972.972 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:41:14,973.973 INFO    ] No update needed
[2026-08-29 18:41:14,975.975 INFO    ] Checking for camera pi updates...
[2026-08-29 18:41:14,994.994 INFO    ] 200
[2026-08-29 18:41:14,995.995 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:41:15,018.018 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:41:15,098.098 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:41:15,100.100 INFO    ] No camera update needed
[2026-08-29 18:41:15,103.103 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:41:15,105.105 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:41:15,110.110 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:41:15,115.115 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:41:17,157.157 INFO    ] ================================================
[2026-08-29 18:41:17,171.171 INFO    ] Launching Daemon at Sat Aug 29 18:41:17 IST 2026
[2026-08-29 18:41:17,182.182 INFO    ] ================================================
[2026-08-29 18:41:17,844.844 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:41:17
[2026-08-29 18:41:18,339.339 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:41:18,490.490 INFO    ] Initializing speech engine...
[2026-08-29 18:41:18,495.495 INFO    ] 2026-08-29 18:41:18
[2026-08-29 18:41:18,701.701 INFO    ] 2026-08-29 18:41:18
[2026-08-29 18:41:18,730.730 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:41:18,852.852 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:41:18,884.884 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:41:19,043.043 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:41:19,066.066 INFO    ] time= 29/08/2026 18:41:19
[2026-08-29 18:41:19,122.122 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:41:19,146.146 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:41:19,216.216 INFO    ] No existing commands found in stream
[2026-08-29 18:41:24,227.227 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:41:24,230.230 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-08-29 18:41:26,656.656 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:41:26,658.658 INFO    ] Checking for system updates...
[2026-08-29 18:41:26,679.679 INFO    ] 200
[2026-08-29 18:41:26,681.681 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:41:26,712.712 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:41:26,713.713 INFO    ] No update needed
[2026-08-29 18:41:26,715.715 INFO    ] Checking for camera pi updates...
[2026-08-29 18:41:26,735.735 INFO    ] 200
[2026-08-29 18:41:26,737.737 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:41:26,763.763 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:41:26,853.853 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:41:26,855.855 INFO    ] No camera update needed
[2026-08-29 18:41:26,856.856 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:41:26,857.857 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:41:26,860.860 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:41:26,863.863 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:41:28,901.901 INFO    ] ================================================
[2026-08-29 18:41:28,917.917 INFO    ] Launching Daemon at Sat Aug 29 18:41:28 IST 2026
[2026-08-29 18:41:28,928.928 INFO    ] ================================================
[2026-08-29 18:41:29,320.320 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:41:29
[2026-08-29 18:41:29,659.659 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:41:29,801.801 INFO    ] Initializing speech engine...
[2026-08-29 18:41:29,813.813 INFO    ] 2026-08-29 18:41:29
[2026-08-29 18:41:30,011.011 INFO    ] 2026-08-29 18:41:30
[2026-08-29 18:41:30,090.090 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:41:30,244.244 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:41:30,252.252 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:41:30,386.386 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:41:30,428.428 INFO    ] time= 29/08/2026 18:41:30
[2026-08-29 18:41:30,482.482 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:41:30,521.521 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:41:30,575.575 INFO    ] No existing commands found in stream
[2026-08-29 18:41:35,587.587 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:41:35,590.590 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-08-29 18:41:38,285.285 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:41:38,286.286 INFO    ] Checking for system updates...
[2026-08-29 18:41:38,306.306 INFO    ] 200
[2026-08-29 18:41:38,308.308 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:41:38,351.351 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:41:38,353.353 INFO    ] No update needed
[2026-08-29 18:41:38,356.356 INFO    ] Checking for camera pi updates...
[2026-08-29 18:41:38,394.394 INFO    ] 200
[2026-08-29 18:41:38,396.396 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:41:38,443.443 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:41:38,526.526 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:41:38,528.528 INFO    ] No camera update needed
[2026-08-29 18:41:38,531.531 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:41:38,534.534 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:41:38,540.540 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:41:38,546.546 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:41:40,588.588 INFO    ] ================================================
[2026-08-29 18:41:40,603.603 INFO    ] Launching Daemon at Sat Aug 29 18:41:40 IST 2026
[2026-08-29 18:41:40,614.614 INFO    ] ================================================
[2026-08-29 18:41:41,195.195 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:41:41
[2026-08-29 18:41:41,680.680 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:41:41,825.825 INFO    ] Initializing speech engine...
[2026-08-29 18:41:41,830.830 INFO    ] 2026-08-29 18:41:41
[2026-08-29 18:41:42,033.033 INFO    ] 2026-08-29 18:41:42
[2026-08-29 18:41:42,062.062 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:41:42,185.185 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:41:42,243.243 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:41:42,377.377 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:41:42,434.434 INFO    ] time= 29/08/2026 18:41:42
[2026-08-29 18:41:42,473.473 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:41:42,478.478 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:41:42,548.548 INFO    ] No existing commands found in stream
[2026-08-29 18:41:47,559.559 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:41:47,562.562 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-08-29 18:41:50,715.715 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:41:50,716.716 INFO    ] Checking for system updates...
[2026-08-29 18:41:50,738.738 INFO    ] 200
[2026-08-29 18:41:50,740.740 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:41:50,775.775 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:41:50,776.776 INFO    ] No update needed
[2026-08-29 18:41:50,778.778 INFO    ] Checking for camera pi updates...
[2026-08-29 18:41:50,798.798 INFO    ] 200
[2026-08-29 18:41:50,800.800 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:41:50,826.826 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:41:50,917.917 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:41:50,919.919 INFO    ] No camera update needed
[2026-08-29 18:41:50,920.920 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:41:50,922.922 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:41:50,925.925 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:41:50,928.928 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:41:52,969.969 INFO    ] ================================================
[2026-08-29 18:41:52,984.984 INFO    ] Launching Daemon at Sat Aug 29 18:41:52 IST 2026
[2026-08-29 18:41:53,995.995 INFO    ] ================================================
[2026-08-29 18:41:53,347.347 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:41:53
[2026-08-29 18:41:53,659.659 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:41:53,797.797 INFO    ] Initializing speech engine...
[2026-08-29 18:41:53,807.807 INFO    ] 2026-08-29 18:41:53
[2026-08-29 18:41:54,008.008 INFO    ] 2026-08-29 18:41:53
[2026-08-29 18:41:54,069.069 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:41:54,222.222 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:41:54,228.228 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:41:54,358.358 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:41:54,400.400 INFO    ] time= 29/08/2026 18:41:54
[2026-08-29 18:41:54,454.454 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:41:54,491.491 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:41:54,607.607 INFO    ] No existing commands found in stream
[2026-08-29 18:41:59,629.629 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:41:59,631.631 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-08-29 18:42:03,244.244 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:42:03,248.248 INFO    ] Checking for system updates...
[2026-08-29 18:42:03,295.295 INFO    ] 200
[2026-08-29 18:42:03,298.298 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:42:03,368.368 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:42:03,371.371 INFO    ] No update needed
[2026-08-29 18:42:03,374.374 INFO    ] Checking for camera pi updates...
[2026-08-29 18:42:03,427.427 INFO    ] 200
[2026-08-29 18:42:03,430.430 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:42:03,483.483 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:42:03,589.589 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:42:03,592.592 INFO    ] No camera update needed
[2026-08-29 18:42:03,595.595 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:42:03,598.598 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:42:03,604.604 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:42:03,610.610 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:42:05,650.650 INFO    ] ================================================
[2026-08-29 18:42:05,666.666 INFO    ] Launching Daemon at Sat Aug 29 18:42:05 IST 2026
[2026-08-29 18:42:05,678.678 INFO    ] ================================================
[2026-08-29 18:42:06,019.019 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:42:06
[2026-08-29 18:42:06,332.332 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:42:06,474.474 INFO    ] Initializing speech engine...
[2026-08-29 18:42:06,479.479 INFO    ] 2026-08-29 18:42:06
[2026-08-29 18:42:06,665.665 INFO    ] 2026-08-29 18:42:06
[2026-08-29 18:42:06,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:42:06,926.926 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:42:06,932.932 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:42:07,032.032 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:42:07,082.082 INFO    ] time= 29/08/2026 18:42:07
[2026-08-29 18:42:07,109.109 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:42:07,174.174 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:42:07,261.261 INFO    ] No existing commands found in stream
[2026-08-29 18:42:12,273.273 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:42:12,276.276 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-08-29 18:42:13,785.785 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:42:13,786.786 INFO    ] Checking for system updates...
[2026-08-29 18:42:13,807.807 INFO    ] 200
[2026-08-29 18:42:13,808.808 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:42:13,843.843 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:42:13,844.844 INFO    ] No update needed
[2026-08-29 18:42:13,845.845 INFO    ] Checking for camera pi updates...
[2026-08-29 18:42:13,864.864 INFO    ] 200
[2026-08-29 18:42:13,865.865 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:42:13,892.892 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:42:13,992.992 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:42:13,994.994 INFO    ] No camera update needed
[2026-08-29 18:42:13,995.995 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:42:13,996.996 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:42:13,999.999 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:42:14,002.002 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:42:16,040.040 INFO    ] ================================================
[2026-08-29 18:42:16,055.055 INFO    ] Launching Daemon at Sat Aug 29 18:42:16 IST 2026
[2026-08-29 18:42:16,066.066 INFO    ] ================================================
[2026-08-29 18:42:16,401.401 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:42:16
[2026-08-29 18:42:16,773.773 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:42:17,046.046 INFO    ] Initializing speech engine...
[2026-08-29 18:42:17,056.056 INFO    ] 2026-08-29 18:42:17
[2026-08-29 18:42:17,306.306 INFO    ] 2026-08-29 18:42:17
[2026-08-29 18:42:17,341.341 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:42:17,515.515 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:42:17,526.526 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:42:17,668.668 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:42:17,676.676 INFO    ] time= 29/08/2026 18:42:17
[2026-08-29 18:42:17,683.683 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:42:17,714.714 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:42:17,847.847 INFO    ] No existing commands found in stream
[2026-08-29 18:42:22,872.872 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:42:22,875.875 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-08-29 18:42:24,388.388 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:42:24,389.389 INFO    ] Checking for system updates...
[2026-08-29 18:42:24,410.410 INFO    ] 200
[2026-08-29 18:42:24,411.411 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:42:24,446.446 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:42:24,447.447 INFO    ] No update needed
[2026-08-29 18:42:24,448.448 INFO    ] Checking for camera pi updates...
[2026-08-29 18:42:24,467.467 INFO    ] 200
[2026-08-29 18:42:24,469.469 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:42:24,492.492 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:42:24,709.709 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:42:24,710.710 INFO    ] No camera update needed
[2026-08-29 18:42:24,712.712 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:42:24,713.713 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:42:24,716.716 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:42:24,719.719 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:42:26,756.756 INFO    ] ================================================
[2026-08-29 18:42:26,772.772 INFO    ] Launching Daemon at Sat Aug 29 18:42:26 IST 2026
[2026-08-29 18:42:26,784.784 INFO    ] ================================================
[2026-08-29 18:42:27,154.154 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:42:27
[2026-08-29 18:42:27,470.470 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:42:27,609.609 INFO    ] Initializing speech engine...
[2026-08-29 18:42:27,620.620 INFO    ] 2026-08-29 18:42:27
[2026-08-29 18:42:27,824.824 INFO    ] 2026-08-29 18:42:27
[2026-08-29 18:42:27,851.851 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:42:27,974.974 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:42:28,036.036 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:42:28,166.166 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:42:28,227.227 INFO    ] time= 29/08/2026 18:42:28
[2026-08-29 18:42:28,264.264 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:42:28,270.270 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:42:28,338.338 INFO    ] No existing commands found in stream
[2026-08-29 18:42:33,352.352 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:42:33,355.355 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-08-29 18:42:35,196.196 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:42:35,199.199 INFO    ] Checking for system updates...
[2026-08-29 18:42:35,234.234 INFO    ] 200
[2026-08-29 18:42:35,237.237 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:42:35,289.289 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:42:35,291.291 INFO    ] No update needed
[2026-08-29 18:42:35,294.294 INFO    ] Checking for camera pi updates...
[2026-08-29 18:42:35,327.327 INFO    ] 200
[2026-08-29 18:42:35,330.330 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:42:35,367.367 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:42:35,447.447 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:42:35,449.449 INFO    ] No camera update needed
[2026-08-29 18:42:35,450.450 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:42:35,451.451 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:42:35,454.454 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:42:35,457.457 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:42:37,495.495 INFO    ] ================================================
[2026-08-29 18:42:37,511.511 INFO    ] Launching Daemon at Sat Aug 29 18:42:37 IST 2026
[2026-08-29 18:42:37,523.523 INFO    ] ================================================
[2026-08-29 18:42:37,889.889 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:42:37
[2026-08-29 18:42:38,201.201 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:42:38,350.350 INFO    ] Initializing speech engine...
[2026-08-29 18:42:38,355.355 INFO    ] 2026-08-29 18:42:38
[2026-08-29 18:42:38,568.568 INFO    ] 2026-08-29 18:42:38
[2026-08-29 18:42:38,597.597 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:42:38,696.696 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:42:38,733.733 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:42:38,888.888 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:42:38,944.944 INFO    ] time= 29/08/2026 18:42:38
[2026-08-29 18:42:38,954.954 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:42:39,008.008 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:42:39,124.124 INFO    ] No existing commands found in stream
[2026-08-29 18:42:44,134.134 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:42:44,137.137 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-08-29 18:42:46,755.755 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:42:46,756.756 INFO    ] Checking for system updates...
[2026-08-29 18:42:46,777.777 INFO    ] 200
[2026-08-29 18:42:46,778.778 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:42:46,810.810 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:42:46,811.811 INFO    ] No update needed
[2026-08-29 18:42:46,812.812 INFO    ] Checking for camera pi updates...
[2026-08-29 18:42:46,833.833 INFO    ] 200
[2026-08-29 18:42:46,834.834 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:42:46,857.857 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:42:46,963.963 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:42:46,964.964 INFO    ] No camera update needed
[2026-08-29 18:42:46,966.966 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:42:46,967.967 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:42:46,969.969 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:42:46,972.972 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:42:49,010.010 INFO    ] ================================================
[2026-08-29 18:42:49,026.026 INFO    ] Launching Daemon at Sat Aug 29 18:42:49 IST 2026
[2026-08-29 18:42:49,037.037 INFO    ] ================================================
[2026-08-29 18:42:49,374.374 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:42:49
[2026-08-29 18:42:49,690.690 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:42:49,829.829 INFO    ] Initializing speech engine...
[2026-08-29 18:42:49,839.839 INFO    ] 2026-08-29 18:42:49
[2026-08-29 18:42:50,043.043 INFO    ] 2026-08-29 18:42:50
[2026-08-29 18:42:50,072.072 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:42:50,194.194 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:42:50,252.252 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:42:50,386.386 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:42:50,443.443 INFO    ] time= 29/08/2026 18:42:50
[2026-08-29 18:42:50,476.476 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:42:50,487.487 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:42:50,559.559 INFO    ] No existing commands found in stream
[2026-08-29 18:42:55,568.568 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:42:55,571.571 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-08-29 18:42:59,298.298 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:42:59,300.300 INFO    ] Checking for system updates...
[2026-08-29 18:42:59,320.320 INFO    ] 200
[2026-08-29 18:42:59,322.322 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:42:59,353.353 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:42:59,354.354 INFO    ] No update needed
[2026-08-29 18:42:59,355.355 INFO    ] Checking for camera pi updates...
[2026-08-29 18:42:59,376.376 INFO    ] 200
[2026-08-29 18:42:59,377.377 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:42:59,404.404 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:42:59,484.484 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:42:59,485.485 INFO    ] No camera update needed
[2026-08-29 18:42:59,487.487 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:42:59,488.488 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:42:59,491.491 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:42:59,494.494 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:43:01,534.534 INFO    ] ================================================
[2026-08-29 18:43:01,549.549 INFO    ] Launching Daemon at Sat Aug 29 18:43:01 IST 2026
[2026-08-29 18:43:01,561.561 INFO    ] ================================================
[2026-08-29 18:43:02,222.222 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:43:02
[2026-08-29 18:43:02,865.865 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:43:03,206.206 INFO    ] Initializing speech engine...
[2026-08-29 18:43:03,216.216 INFO    ] 2026-08-29 18:43:03
[2026-08-29 18:43:03,490.490 INFO    ] 2026-08-29 18:43:03
[2026-08-29 18:43:03,531.531 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:43:03,708.708 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:43:03,721.721 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:43:03,835.835 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:43:03,868.868 INFO    ] time= 29/08/2026 18:43:03
[2026-08-29 18:43:03,878.878 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:43:03,885.885 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:43:03,950.950 INFO    ] No existing commands found in stream
[2026-08-29 18:43:08,963.963 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:43:08,965.965 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-08-29 18:43:11,380.380 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:43:11,381.381 INFO    ] Checking for system updates...
[2026-08-29 18:43:11,402.402 INFO    ] 200
[2026-08-29 18:43:11,403.403 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:43:11,435.435 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:43:11,436.436 INFO    ] No update needed
[2026-08-29 18:43:11,437.437 INFO    ] Checking for camera pi updates...
[2026-08-29 18:43:11,459.459 INFO    ] 200
[2026-08-29 18:43:11,460.460 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:43:11,484.484 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:43:11,607.607 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:43:11,608.608 INFO    ] No camera update needed
[2026-08-29 18:43:11,609.609 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:43:11,610.610 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:43:11,613.613 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:43:11,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:43:13,654.654 INFO    ] ================================================
[2026-08-29 18:43:13,670.670 INFO    ] Launching Daemon at Sat Aug 29 18:43:13 IST 2026
[2026-08-29 18:43:13,681.681 INFO    ] ================================================
[2026-08-29 18:43:14,038.038 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:43:14
[2026-08-29 18:43:14,354.354 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:43:14,492.492 INFO    ] Initializing speech engine...
[2026-08-29 18:43:14,501.501 INFO    ] 2026-08-29 18:43:14
[2026-08-29 18:43:14,702.702 INFO    ] 2026-08-29 18:43:14
[2026-08-29 18:43:14,781.781 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:43:14,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:43:14,937.937 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:43:15,071.071 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:43:15,132.132 INFO    ] time= 29/08/2026 18:43:15
[2026-08-29 18:43:15,186.186 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:43:15,205.205 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:43:15,257.257 INFO    ] No existing commands found in stream
[2026-08-29 18:43:20,268.268 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:43:20,271.271 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-08-29 18:43:22,835.835 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:43:22,837.837 INFO    ] Checking for system updates...
[2026-08-29 18:43:22,857.857 INFO    ] 200
[2026-08-29 18:43:22,858.858 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:43:22,890.890 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:43:22,891.891 INFO    ] No update needed
[2026-08-29 18:43:22,893.893 INFO    ] Checking for camera pi updates...
[2026-08-29 18:43:22,912.912 INFO    ] 200
[2026-08-29 18:43:22,913.913 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:43:22,937.937 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:43:23,042.042 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:43:23,043.043 INFO    ] No camera update needed
[2026-08-29 18:43:23,044.044 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:43:23,046.046 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:43:23,049.049 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:43:23,051.051 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:43:25,090.090 INFO    ] ================================================
[2026-08-29 18:43:25,105.105 INFO    ] Launching Daemon at Sat Aug 29 18:43:25 IST 2026
[2026-08-29 18:43:25,116.116 INFO    ] ================================================
[2026-08-29 18:43:25,490.490 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:43:25
[2026-08-29 18:43:25,806.806 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:43:25,950.950 INFO    ] Initializing speech engine...
[2026-08-29 18:43:25,955.955 INFO    ] 2026-08-29 18:43:25
[2026-08-29 18:43:26,139.139 INFO    ] 2026-08-29 18:43:26
[2026-08-29 18:43:26,174.174 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:43:26,347.347 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:43:26,360.360 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:43:26,484.484 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:43:26,507.507 INFO    ] time= 29/08/2026 18:43:26
[2026-08-29 18:43:26,512.512 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:43:26,518.518 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:43:26,590.590 INFO    ] No existing commands found in stream
[2026-08-29 18:43:31,625.625 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:43:31,628.628 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-08-29 18:43:34,343.343 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:43:34,345.345 INFO    ] Checking for system updates...
[2026-08-29 18:43:34,382.382 INFO    ] 200
[2026-08-29 18:43:34,385.385 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:43:34,442.442 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:43:34,445.445 INFO    ] No update needed
[2026-08-29 18:43:34,447.447 INFO    ] Checking for camera pi updates...
[2026-08-29 18:43:34,484.484 INFO    ] 200
[2026-08-29 18:43:34,486.486 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:43:34,526.526 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:43:34,617.617 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:43:34,620.620 INFO    ] No camera update needed
[2026-08-29 18:43:34,622.622 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:43:34,625.625 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:43:34,630.630 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:43:34,635.635 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:43:36,676.676 INFO    ] ================================================
[2026-08-29 18:43:36,691.691 INFO    ] Launching Daemon at Sat Aug 29 18:43:36 IST 2026
[2026-08-29 18:43:36,701.701 INFO    ] ================================================
[2026-08-29 18:43:37,061.061 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:43:37
[2026-08-29 18:43:37,379.379 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:43:37,523.523 INFO    ] Initializing speech engine...
[2026-08-29 18:43:37,528.528 INFO    ] 2026-08-29 18:43:37
[2026-08-29 18:43:37,732.732 INFO    ] 2026-08-29 18:43:37
[2026-08-29 18:43:37,760.760 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:43:37,881.881 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:43:37,920.920 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:43:38,074.074 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:43:38,121.121 INFO    ] time= 29/08/2026 18:43:38
[2026-08-29 18:43:38,153.153 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:43:38,175.175 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:43:38,248.248 INFO    ] No existing commands found in stream
[2026-08-29 18:43:43,257.257 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:43:43,259.259 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-08-29 18:43:44,235.235 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:43:44,237.237 INFO    ] Checking for system updates...
[2026-08-29 18:43:44,258.258 INFO    ] 200
[2026-08-29 18:43:44,259.259 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:43:44,289.289 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:43:44,290.290 INFO    ] No update needed
[2026-08-29 18:43:44,291.291 INFO    ] Checking for camera pi updates...
[2026-08-29 18:43:44,310.310 INFO    ] 200
[2026-08-29 18:43:44,312.312 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:43:44,335.335 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:43:44,419.419 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:43:44,420.420 INFO    ] No camera update needed
[2026-08-29 18:43:44,421.421 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:43:44,423.423 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:43:44,426.426 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:43:44,428.428 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:43:46,466.466 INFO    ] ================================================
[2026-08-29 18:43:46,481.481 INFO    ] Launching Daemon at Sat Aug 29 18:43:46 IST 2026
[2026-08-29 18:43:46,492.492 INFO    ] ================================================
[2026-08-29 18:43:46,826.826 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:43:46
[2026-08-29 18:43:47,139.139 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:43:47,311.311 INFO    ] Initializing speech engine...
[2026-08-29 18:43:47,320.320 INFO    ] 2026-08-29 18:43:47
[2026-08-29 18:43:47,596.596 INFO    ] 2026-08-29 18:43:47
[2026-08-29 18:43:47,653.653 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:43:47,800.800 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:43:47,806.806 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:43:47,926.926 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:43:47,952.952 INFO    ] time= 29/08/2026 18:43:47
[2026-08-29 18:43:48,002.002 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:43:48,061.061 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:43:48,129.129 INFO    ] No existing commands found in stream
[2026-08-29 18:43:53,142.142 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:43:53,145.145 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-08-29 18:43:56,730.730 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:43:56,732.732 INFO    ] Checking for system updates...
[2026-08-29 18:43:56,752.752 INFO    ] 200
[2026-08-29 18:43:56,753.753 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:43:56,783.783 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:43:56,785.785 INFO    ] No update needed
[2026-08-29 18:43:56,786.786 INFO    ] Checking for camera pi updates...
[2026-08-29 18:43:56,806.806 INFO    ] 200
[2026-08-29 18:43:56,807.807 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:43:56,830.830 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:43:56,913.913 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:43:56,914.914 INFO    ] No camera update needed
[2026-08-29 18:43:56,915.915 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:43:56,917.917 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:43:56,919.919 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:43:56,922.922 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:43:58,961.961 INFO    ] ================================================
[2026-08-29 18:43:58,976.976 INFO    ] Launching Daemon at Sat Aug 29 18:43:58 IST 2026
[2026-08-29 18:43:58,986.986 INFO    ] ================================================
[2026-08-29 18:43:59,359.359 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:43:59
[2026-08-29 18:43:59,691.691 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:43:59,841.841 INFO    ] Initializing speech engine...
[2026-08-29 18:43:59,847.847 INFO    ] 2026-08-29 18:43:59
[2026-08-29 18:44:00,052.052 INFO    ] 2026-08-29 18:44:00
[2026-08-29 18:44:00,082.082 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:44:00,210.210 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:44:00,268.268 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:44:00,412.412 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:44:00,482.482 INFO    ] time= 29/08/2026 18:44:00
[2026-08-29 18:44:00,525.525 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:44:00,579.579 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:44:00,691.691 INFO    ] No existing commands found in stream
[2026-08-29 18:44:05,706.706 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:44:05,710.710 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-08-29 18:44:09,052.052 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:44:09,053.053 INFO    ] Checking for system updates...
[2026-08-29 18:44:09,076.076 INFO    ] 200
[2026-08-29 18:44:09,077.077 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:44:09,112.112 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:44:09,113.113 INFO    ] No update needed
[2026-08-29 18:44:09,115.115 INFO    ] Checking for camera pi updates...
[2026-08-29 18:44:09,136.136 INFO    ] 200
[2026-08-29 18:44:09,138.138 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:44:09,161.161 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:44:09,249.249 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:44:09,251.251 INFO    ] No camera update needed
[2026-08-29 18:44:09,252.252 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:44:09,254.254 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:44:09,257.257 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:44:09,260.260 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:44:11,299.299 INFO    ] ================================================
[2026-08-29 18:44:11,315.315 INFO    ] Launching Daemon at Sat Aug 29 18:44:11 IST 2026
[2026-08-29 18:44:11,326.326 INFO    ] ================================================
[2026-08-29 18:44:11,713.713 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:44:11
[2026-08-29 18:44:12,050.050 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:44:12,203.203 INFO    ] Initializing speech engine...
[2026-08-29 18:44:12,208.208 INFO    ] 2026-08-29 18:44:12
[2026-08-29 18:44:12,420.420 INFO    ] 2026-08-29 18:44:12
[2026-08-29 18:44:12,449.449 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:44:12,578.578 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:44:12,641.641 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:44:12,783.783 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:44:12,851.851 INFO    ] time= 29/08/2026 18:44:12
[2026-08-29 18:44:12,875.875 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:44:12,882.882 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:44:12,949.949 INFO    ] No existing commands found in stream
[2026-08-29 18:44:17,960.960 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:44:17,964.964 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-08-29 18:44:19,387.387 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:44:19,389.389 INFO    ] Checking for system updates...
[2026-08-29 18:44:19,409.409 INFO    ] 200
[2026-08-29 18:44:19,411.411 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:44:19,443.443 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:44:19,444.444 INFO    ] No update needed
[2026-08-29 18:44:19,445.445 INFO    ] Checking for camera pi updates...
[2026-08-29 18:44:19,467.467 INFO    ] 200
[2026-08-29 18:44:19,468.468 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:44:19,493.493 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:44:19,595.595 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:44:19,596.596 INFO    ] No camera update needed
[2026-08-29 18:44:19,597.597 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:44:19,598.598 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:44:19,601.601 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:44:19,604.604 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:44:21,642.642 INFO    ] ================================================
[2026-08-29 18:44:21,657.657 INFO    ] Launching Daemon at Sat Aug 29 18:44:21 IST 2026
[2026-08-29 18:44:21,667.667 INFO    ] ================================================
[2026-08-29 18:44:22,203.203 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:44:22
[2026-08-29 18:44:22,788.788 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:44:23,060.060 INFO    ] Initializing speech engine...
[2026-08-29 18:44:23,069.069 INFO    ] 2026-08-29 18:44:23
[2026-08-29 18:44:23,320.320 INFO    ] 2026-08-29 18:44:23
[2026-08-29 18:44:23,391.391 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:44:23,575.575 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:44:23,584.584 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:44:23,709.709 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:44:23,731.731 INFO    ] time= 29/08/2026 18:44:23
[2026-08-29 18:44:23,740.740 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:44:23,746.746 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:44:23,819.819 INFO    ] No existing commands found in stream
[2026-08-29 18:44:28,831.831 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:44:28,833.833 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-08-29 18:44:30,667.667 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:44:30,670.670 INFO    ] Checking for system updates...
[2026-08-29 18:44:30,705.705 INFO    ] 200
[2026-08-29 18:44:30,708.708 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:44:30,767.767 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:44:30,769.769 INFO    ] No update needed
[2026-08-29 18:44:30,771.771 INFO    ] Checking for camera pi updates...
[2026-08-29 18:44:30,804.804 INFO    ] 200
[2026-08-29 18:44:30,807.807 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:44:30,848.848 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:44:31,076.076 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:44:31,078.078 INFO    ] No camera update needed
[2026-08-29 18:44:31,081.081 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:44:31,083.083 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:44:31,088.088 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:44:31,093.093 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:44:33,134.134 INFO    ] ================================================
[2026-08-29 18:44:33,149.149 INFO    ] Launching Daemon at Sat Aug 29 18:44:33 IST 2026
[2026-08-29 18:44:33,160.160 INFO    ] ================================================
[2026-08-29 18:44:33,567.567 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:44:33
[2026-08-29 18:44:33,877.877 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:44:34,019.019 INFO    ] Initializing speech engine...
[2026-08-29 18:44:34,024.024 INFO    ] 2026-08-29 18:44:34
[2026-08-29 18:44:34,208.208 INFO    ] 2026-08-29 18:44:34
[2026-08-29 18:44:34,242.242 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:44:34,411.411 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:44:34,425.425 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:44:34,534.534 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:44:34,539.539 INFO    ] time= 29/08/2026 18:44:34
[2026-08-29 18:44:34,557.557 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:44:34,576.576 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:44:34,647.647 INFO    ] No existing commands found in stream
[2026-08-29 18:44:39,660.660 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:44:39,663.663 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-08-29 18:44:40,807.807 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:44:40,809.809 INFO    ] Checking for system updates...
[2026-08-29 18:44:40,829.829 INFO    ] 200
[2026-08-29 18:44:40,830.830 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:44:40,864.864 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:44:40,865.865 INFO    ] No update needed
[2026-08-29 18:44:40,866.866 INFO    ] Checking for camera pi updates...
[2026-08-29 18:44:40,886.886 INFO    ] 200
[2026-08-29 18:44:40,888.888 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:44:40,910.910 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:44:41,000.000 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:44:41,002.002 INFO    ] No camera update needed
[2026-08-29 18:44:41,003.003 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:44:41,004.004 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:44:41,007.007 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:44:41,010.010 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:44:43,048.048 INFO    ] ================================================
[2026-08-29 18:44:43,064.064 INFO    ] Launching Daemon at Sat Aug 29 18:44:43 IST 2026
[2026-08-29 18:44:43,075.075 INFO    ] ================================================
[2026-08-29 18:44:43,417.417 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:44:43
[2026-08-29 18:44:43,729.729 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:44:43,941.941 INFO    ] Initializing speech engine...
[2026-08-29 18:44:43,960.960 INFO    ] 2026-08-29 18:44:43
[2026-08-29 18:44:44,221.221 INFO    ] 2026-08-29 18:44:44
[2026-08-29 18:44:44,256.256 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:44:44,431.431 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:44:44,444.444 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:44:44,555.555 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:44:44,562.562 INFO    ] time= 29/08/2026 18:44:44
[2026-08-29 18:44:44,596.596 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:44:44,604.604 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:44:44,675.675 INFO    ] No existing commands found in stream
[2026-08-29 18:44:49,688.688 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:44:49,691.691 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-08-29 18:44:53,337.337 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:44:53,339.339 INFO    ] Checking for system updates...
[2026-08-29 18:44:53,359.359 INFO    ] 200
[2026-08-29 18:44:53,360.360 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:44:53,390.390 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:44:53,392.392 INFO    ] No update needed
[2026-08-29 18:44:53,393.393 INFO    ] Checking for camera pi updates...
[2026-08-29 18:44:53,412.412 INFO    ] 200
[2026-08-29 18:44:53,414.414 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:44:53,437.437 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:44:53,524.524 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:44:53,525.525 INFO    ] No camera update needed
[2026-08-29 18:44:53,527.527 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:44:53,528.528 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:44:53,531.531 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:44:53,534.534 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:44:55,574.574 INFO    ] ================================================
[2026-08-29 18:44:55,589.589 INFO    ] Launching Daemon at Sat Aug 29 18:44:55 IST 2026
[2026-08-29 18:44:55,600.600 INFO    ] ================================================
[2026-08-29 18:44:55,978.978 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:44:55
[2026-08-29 18:44:56,314.314 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:44:56,563.563 INFO    ] Initializing speech engine...
[2026-08-29 18:44:56,570.570 INFO    ] 2026-08-29 18:44:56
[2026-08-29 18:44:56,876.876 INFO    ] 2026-08-29 18:44:56
[2026-08-29 18:44:56,964.964 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:44:57,120.120 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:44:57,137.137 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:44:57,257.257 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:44:57,296.296 INFO    ] time= 29/08/2026 18:44:57
[2026-08-29 18:44:57,366.366 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:44:57,392.392 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:44:57,450.450 INFO    ] No existing commands found in stream
[2026-08-29 18:45:02,464.464 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:45:02,469.469 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-08-29 18:45:06,431.431 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:45:06,433.433 INFO    ] Checking for system updates...
[2026-08-29 18:45:06,453.453 INFO    ] 200
[2026-08-29 18:45:06,455.455 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:45:06,485.485 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:45:06,486.486 INFO    ] No update needed
[2026-08-29 18:45:06,487.487 INFO    ] Checking for camera pi updates...
[2026-08-29 18:45:06,508.508 INFO    ] 200
[2026-08-29 18:45:06,509.509 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:45:06,536.536 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:45:06,619.619 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:45:06,621.621 INFO    ] No camera update needed
[2026-08-29 18:45:06,624.624 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:45:06,627.627 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:45:06,633.633 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:45:06,638.638 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:45:08,682.682 INFO    ] ================================================
[2026-08-29 18:45:08,698.698 INFO    ] Launching Daemon at Sat Aug 29 18:45:08 IST 2026
[2026-08-29 18:45:08,708.708 INFO    ] ================================================
[2026-08-29 18:45:09,344.344 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:45:09
[2026-08-29 18:45:09,801.801 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:45:09,941.941 INFO    ] Initializing speech engine...
[2026-08-29 18:45:09,949.949 INFO    ] 2026-08-29 18:45:09
[2026-08-29 18:45:10,166.166 INFO    ] 2026-08-29 18:45:10
[2026-08-29 18:45:10,195.195 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:45:10,322.322 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:45:10,361.361 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:45:10,519.519 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:45:10,581.581 INFO    ] time= 29/08/2026 18:45:10
[2026-08-29 18:45:10,615.615 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:45:10,640.640 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:45:10,768.768 INFO    ] No existing commands found in stream
[2026-08-29 18:45:15,790.790 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:45:15,793.793 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-08-29 18:45:17,916.916 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:45:17,917.917 INFO    ] Checking for system updates...
[2026-08-29 18:45:17,938.938 INFO    ] 200
[2026-08-29 18:45:17,939.939 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:45:17,969.969 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:45:17,971.971 INFO    ] No update needed
[2026-08-29 18:45:17,972.972 INFO    ] Checking for camera pi updates...
[2026-08-29 18:45:17,992.992 INFO    ] 200
[2026-08-29 18:45:17,993.993 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:45:18,016.016 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:45:18,112.112 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:45:18,113.113 INFO    ] No camera update needed
[2026-08-29 18:45:18,115.115 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:45:18,116.116 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:45:18,119.119 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:45:18,122.122 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:45:20,160.160 INFO    ] ================================================
[2026-08-29 18:45:20,175.175 INFO    ] Launching Daemon at Sat Aug 29 18:45:20 IST 2026
[2026-08-29 18:45:20,186.186 INFO    ] ================================================
[2026-08-29 18:45:20,534.534 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:45:20
[2026-08-29 18:45:20,869.869 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:45:21,013.013 INFO    ] Initializing speech engine...
[2026-08-29 18:45:21,023.023 INFO    ] 2026-08-29 18:45:21
[2026-08-29 18:45:21,231.231 INFO    ] 2026-08-29 18:45:21
[2026-08-29 18:45:21,260.260 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:45:21,382.382 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:45:21,445.445 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:45:21,575.575 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:45:21,636.636 INFO    ] time= 29/08/2026 18:45:21
[2026-08-29 18:45:21,674.674 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:45:21,681.681 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:45:21,747.747 INFO    ] No existing commands found in stream
[2026-08-29 18:45:26,758.758 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:45:26,761.761 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-08-29 18:45:29,222.222 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:45:29,224.224 INFO    ] Checking for system updates...
[2026-08-29 18:45:29,244.244 INFO    ] 200
[2026-08-29 18:45:29,246.246 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:45:29,278.278 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:45:29,279.279 INFO    ] No update needed
[2026-08-29 18:45:29,280.280 INFO    ] Checking for camera pi updates...
[2026-08-29 18:45:29,299.299 INFO    ] 200
[2026-08-29 18:45:29,301.301 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:45:29,325.325 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:45:29,421.421 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:45:29,422.422 INFO    ] No camera update needed
[2026-08-29 18:45:29,424.424 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:45:29,425.425 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:45:29,428.428 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:45:29,430.430 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:45:31,469.469 INFO    ] ================================================
[2026-08-29 18:45:31,484.484 INFO    ] Launching Daemon at Sat Aug 29 18:45:31 IST 2026
[2026-08-29 18:45:31,494.494 INFO    ] ================================================
[2026-08-29 18:45:31,846.846 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:45:31
[2026-08-29 18:45:32,354.354 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:45:32,651.651 INFO    ] Initializing speech engine...
[2026-08-29 18:45:32,662.662 INFO    ] 2026-08-29 18:45:32
[2026-08-29 18:45:32,940.940 INFO    ] 2026-08-29 18:45:32
[2026-08-29 18:45:32,993.993 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:45:33,153.153 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:45:33,167.167 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:45:33,309.309 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:45:33,318.318 INFO    ] time= 29/08/2026 18:45:33
[2026-08-29 18:45:33,324.324 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:45:33,375.375 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:45:33,501.501 INFO    ] No existing commands found in stream
[2026-08-29 18:45:38,526.526 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:45:38,528.528 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-08-29 18:45:42,783.783 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:45:42,784.784 INFO    ] Checking for system updates...
[2026-08-29 18:45:42,804.804 INFO    ] 200
[2026-08-29 18:45:42,806.806 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:45:42,836.836 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:45:42,837.837 INFO    ] No update needed
[2026-08-29 18:45:42,838.838 INFO    ] Checking for camera pi updates...
[2026-08-29 18:45:42,858.858 INFO    ] 200
[2026-08-29 18:45:42,859.859 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:45:42,884.884 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:45:42,968.968 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:45:42,969.969 INFO    ] No camera update needed
[2026-08-29 18:45:42,971.971 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:45:42,972.972 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:45:42,975.975 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:45:42,980.980 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:45:45,019.019 INFO    ] ================================================
[2026-08-29 18:45:45,035.035 INFO    ] Launching Daemon at Sat Aug 29 18:45:45 IST 2026
[2026-08-29 18:45:45,046.046 INFO    ] ================================================
[2026-08-29 18:45:45,626.626 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:45:45
[2026-08-29 18:45:46,123.123 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:45:46,255.255 INFO    ] Initializing speech engine...
[2026-08-29 18:45:46,268.268 INFO    ] 2026-08-29 18:45:46
[2026-08-29 18:45:46,490.490 INFO    ] 2026-08-29 18:45:46
[2026-08-29 18:45:46,526.526 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:45:46,697.697 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:45:46,709.709 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:45:46,851.851 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:45:46,858.858 INFO    ] time= 29/08/2026 18:45:46
[2026-08-29 18:45:46,867.867 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:45:46,906.906 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:45:47,046.046 INFO    ] No existing commands found in stream
[2026-08-29 18:45:52,066.066 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:45:52,069.069 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-08-29 18:45:52,601.601 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:45:52,603.603 INFO    ] Checking for system updates...
[2026-08-29 18:45:52,624.624 INFO    ] 200
[2026-08-29 18:45:52,626.626 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:45:52,656.656 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:45:52,657.657 INFO    ] No update needed
[2026-08-29 18:45:52,658.658 INFO    ] Checking for camera pi updates...
[2026-08-29 18:45:52,678.678 INFO    ] 200
[2026-08-29 18:45:52,680.680 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:45:52,703.703 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:45:52,796.796 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:45:52,798.798 INFO    ] No camera update needed
[2026-08-29 18:45:52,799.799 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:45:52,800.800 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:45:52,804.804 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:45:52,807.807 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:45:54,846.846 INFO    ] ================================================
[2026-08-29 18:45:54,862.862 INFO    ] Launching Daemon at Sat Aug 29 18:45:54 IST 2026
[2026-08-29 18:45:54,874.874 INFO    ] ================================================
[2026-08-29 18:45:55,242.242 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:45:55
[2026-08-29 18:45:55,559.559 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:45:55,699.699 INFO    ] Initializing speech engine...
[2026-08-29 18:45:55,709.709 INFO    ] 2026-08-29 18:45:55
[2026-08-29 18:45:55,913.913 INFO    ] 2026-08-29 18:45:55
[2026-08-29 18:45:55,972.972 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:45:56,197.197 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:45:56,207.207 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:45:56,341.341 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:45:56,363.363 INFO    ] time= 29/08/2026 18:45:56
[2026-08-29 18:45:56,423.423 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:45:56,476.476 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:45:56,530.530 INFO    ] No existing commands found in stream
[2026-08-29 18:46:01,543.543 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:46:01,546.546 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-08-29 18:46:02,955.955 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:46:02,959.959 INFO    ] Checking for system updates...
[2026-08-29 18:46:03,003.003 INFO    ] 200
[2026-08-29 18:46:03,005.005 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:46:03,071.071 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:46:03,074.074 INFO    ] No update needed
[2026-08-29 18:46:03,077.077 INFO    ] Checking for camera pi updates...
[2026-08-29 18:46:03,115.115 INFO    ] 200
[2026-08-29 18:46:03,118.118 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:46:03,171.171 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:46:03,262.262 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:46:03,266.266 INFO    ] No camera update needed
[2026-08-29 18:46:03,270.270 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:46:03,274.274 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:46:03,284.284 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:46:03,292.292 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:46:05,337.337 INFO    ] ================================================
[2026-08-29 18:46:05,353.353 INFO    ] Launching Daemon at Sat Aug 29 18:46:05 IST 2026
[2026-08-29 18:46:05,364.364 INFO    ] ================================================
[2026-08-29 18:46:05,694.694 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:46:05
[2026-08-29 18:46:06,008.008 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:46:06,147.147 INFO    ] Initializing speech engine...
[2026-08-29 18:46:06,156.156 INFO    ] 2026-08-29 18:46:06
[2026-08-29 18:46:06,351.351 INFO    ] 2026-08-29 18:46:06
[2026-08-29 18:46:06,389.389 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:46:06,558.558 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:46:06,585.585 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:46:06,716.716 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:46:06,718.718 INFO    ] time= 29/08/2026 18:46:06
[2026-08-29 18:46:06,721.721 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:46:06,723.723 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:46:06,778.778 INFO    ] No existing commands found in stream
[2026-08-29 18:46:11,787.787 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:46:11,790.790 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-08-29 18:46:12,530.530 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:46:12,532.532 INFO    ] Checking for system updates...
[2026-08-29 18:46:12,553.553 INFO    ] 200
[2026-08-29 18:46:12,555.555 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:46:12,586.586 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:46:12,588.588 INFO    ] No update needed
[2026-08-29 18:46:12,589.589 INFO    ] Checking for camera pi updates...
[2026-08-29 18:46:12,608.608 INFO    ] 200
[2026-08-29 18:46:12,609.609 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:46:12,632.632 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:46:12,725.725 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:46:12,726.726 INFO    ] No camera update needed
[2026-08-29 18:46:12,727.727 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:46:12,729.729 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:46:12,732.732 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:46:12,734.734 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:46:14,774.774 INFO    ] ================================================
[2026-08-29 18:46:14,791.791 INFO    ] Launching Daemon at Sat Aug 29 18:46:14 IST 2026
[2026-08-29 18:46:14,802.802 INFO    ] ================================================
[2026-08-29 18:46:15,169.169 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:46:15
[2026-08-29 18:46:15,480.480 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:46:15,612.612 INFO    ] Initializing speech engine...
[2026-08-29 18:46:15,617.617 INFO    ] 2026-08-29 18:46:15
[2026-08-29 18:46:15,843.843 INFO    ] 2026-08-29 18:46:15
[2026-08-29 18:46:15,873.873 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:46:16,004.004 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:46:16,062.062 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:46:16,204.204 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:46:16,254.254 INFO    ] time= 29/08/2026 18:46:16
[2026-08-29 18:46:16,293.293 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:46:16,303.303 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:46:16,375.375 INFO    ] No existing commands found in stream
[2026-08-29 18:46:21,384.384 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:46:21,387.387 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-08-29 18:46:22,688.688 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:46:22,689.689 INFO    ] Checking for system updates...
[2026-08-29 18:46:22,710.710 INFO    ] 200
[2026-08-29 18:46:22,711.711 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:46:22,743.743 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:46:22,744.744 INFO    ] No update needed
[2026-08-29 18:46:22,745.745 INFO    ] Checking for camera pi updates...
[2026-08-29 18:46:22,764.764 INFO    ] 200
[2026-08-29 18:46:22,765.765 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:46:22,790.790 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:46:22,883.883 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:46:22,884.884 INFO    ] No camera update needed
[2026-08-29 18:46:22,886.886 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:46:22,887.887 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:46:22,890.890 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:46:22,892.892 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:46:24,931.931 INFO    ] ================================================
[2026-08-29 18:46:24,948.948 INFO    ] Launching Daemon at Sat Aug 29 18:46:24 IST 2026
[2026-08-29 18:46:24,958.958 INFO    ] ================================================
[2026-08-29 18:46:25,298.298 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:46:25
[2026-08-29 18:46:25,609.609 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:46:25,753.753 INFO    ] Initializing speech engine...
[2026-08-29 18:46:25,761.761 INFO    ] 2026-08-29 18:46:25
[2026-08-29 18:46:26,024.024 INFO    ] 2026-08-29 18:46:25
[2026-08-29 18:46:26,084.084 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:46:26,248.248 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:46:26,255.255 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:46:26,402.402 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:46:26,446.446 INFO    ] time= 29/08/2026 18:46:26
[2026-08-29 18:46:26,460.460 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:46:26,476.476 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:46:26,589.589 INFO    ] No existing commands found in stream
[2026-08-29 18:46:31,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:46:31,617.617 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-08-29 18:46:34,061.061 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:46:34,063.063 INFO    ] Checking for system updates...
[2026-08-29 18:46:34,084.084 INFO    ] 200
[2026-08-29 18:46:34,085.085 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:46:34,116.116 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:46:34,118.118 INFO    ] No update needed
[2026-08-29 18:46:34,119.119 INFO    ] Checking for camera pi updates...
[2026-08-29 18:46:34,141.141 INFO    ] 200
[2026-08-29 18:46:34,142.142 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:46:34,167.167 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:46:34,273.273 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:46:34,275.275 INFO    ] No camera update needed
[2026-08-29 18:46:34,277.277 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:46:34,280.280 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:46:34,285.285 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:46:34,290.290 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:46:36,332.332 INFO    ] ================================================
[2026-08-29 18:46:36,348.348 INFO    ] Launching Daemon at Sat Aug 29 18:46:36 IST 2026
[2026-08-29 18:46:36,360.360 INFO    ] ================================================
[2026-08-29 18:46:36,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:46:36
[2026-08-29 18:46:37,004.004 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:46:37,145.145 INFO    ] Initializing speech engine...
[2026-08-29 18:46:37,150.150 INFO    ] 2026-08-29 18:46:37
[2026-08-29 18:46:37,352.352 INFO    ] 2026-08-29 18:46:37
[2026-08-29 18:46:37,381.381 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:46:37,503.503 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:46:37,546.546 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:46:37,653.653 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:46:37,661.661 INFO    ] time= 29/08/2026 18:46:37
[2026-08-29 18:46:37,668.668 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:46:37,721.721 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:46:37,815.815 INFO    ] No existing commands found in stream
[2026-08-29 18:46:42,846.846 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:46:42,849.849 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-08-29 18:46:47,042.042 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:46:47,044.044 INFO    ] Checking for system updates...
[2026-08-29 18:46:47,064.064 INFO    ] 200
[2026-08-29 18:46:47,065.065 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:46:47,095.095 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:46:47,096.096 INFO    ] No update needed
[2026-08-29 18:46:47,098.098 INFO    ] Checking for camera pi updates...
[2026-08-29 18:46:47,117.117 INFO    ] 200
[2026-08-29 18:46:47,118.118 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:46:47,143.143 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:46:47,248.248 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:46:47,250.250 INFO    ] No camera update needed
[2026-08-29 18:46:47,251.251 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:46:47,252.252 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:46:47,255.255 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:46:47,258.258 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:46:49,289.289 INFO    ] ================================================
[2026-08-29 18:46:49,305.305 INFO    ] Launching Daemon at Sat Aug 29 18:46:49 IST 2026
[2026-08-29 18:46:49,317.317 INFO    ] ================================================
[2026-08-29 18:46:49,663.663 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:46:49
[2026-08-29 18:46:49,997.997 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:46:50,135.135 INFO    ] Initializing speech engine...
[2026-08-29 18:46:50,151.151 INFO    ] 2026-08-29 18:46:50
[2026-08-29 18:46:50,360.360 INFO    ] 2026-08-29 18:46:50
[2026-08-29 18:46:50,388.388 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:46:50,511.511 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:46:50,554.554 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:46:50,711.711 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:46:50,776.776 INFO    ] time= 29/08/2026 18:46:50
[2026-08-29 18:46:50,802.802 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:46:50,809.809 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:46:50,874.874 INFO    ] No existing commands found in stream
[2026-08-29 18:46:55,885.885 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:46:55,888.888 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 18:46:59,230.230 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:46:59,232.232 INFO    ] Checking for system updates...
[2026-08-29 18:46:59,253.253 INFO    ] 200
[2026-08-29 18:46:59,255.255 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:46:59,287.287 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:46:59,288.288 INFO    ] No update needed
[2026-08-29 18:46:59,290.290 INFO    ] Checking for camera pi updates...
[2026-08-29 18:46:59,312.312 INFO    ] 200
[2026-08-29 18:46:59,314.314 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:46:59,337.337 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:46:59,442.442 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:46:59,444.444 INFO    ] No camera update needed
[2026-08-29 18:46:59,445.445 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:46:59,446.446 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:46:59,449.449 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:46:59,452.452 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:47:01,491.491 INFO    ] ================================================
[2026-08-29 18:47:01,506.506 INFO    ] Launching Daemon at Sat Aug 29 18:47:01 IST 2026
[2026-08-29 18:47:01,517.517 INFO    ] ================================================
[2026-08-29 18:47:02,161.161 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:47:02
[2026-08-29 18:47:02,910.910 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:47:03,270.270 INFO    ] Initializing speech engine...
[2026-08-29 18:47:03,281.281 INFO    ] 2026-08-29 18:47:03
[2026-08-29 18:47:03,570.570 INFO    ] 2026-08-29 18:47:03
[2026-08-29 18:47:03,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:47:03,752.752 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:47:03,759.759 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:47:03,910.910 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:47:03,918.918 INFO    ] time= 29/08/2026 18:47:03
[2026-08-29 18:47:03,925.925 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:47:03,944.944 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:47:03,998.998 INFO    ] No existing commands found in stream
[2026-08-29 18:47:09,009.009 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:47:09,012.012 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-08-29 18:47:10,005.005 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:47:10,006.006 INFO    ] Checking for system updates...
[2026-08-29 18:47:10,028.028 INFO    ] 200
[2026-08-29 18:47:10,029.029 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:47:10,059.059 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:47:10,061.061 INFO    ] No update needed
[2026-08-29 18:47:10,062.062 INFO    ] Checking for camera pi updates...
[2026-08-29 18:47:10,081.081 INFO    ] 200
[2026-08-29 18:47:10,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:47:10,106.106 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:47:10,181.181 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:47:10,182.182 INFO    ] No camera update needed
[2026-08-29 18:47:10,183.183 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:47:10,185.185 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:47:10,188.188 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:47:10,191.191 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:47:12,231.231 INFO    ] ================================================
[2026-08-29 18:47:12,247.247 INFO    ] Launching Daemon at Sat Aug 29 18:47:12 IST 2026
[2026-08-29 18:47:12,258.258 INFO    ] ================================================
[2026-08-29 18:47:12,588.588 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:47:12
[2026-08-29 18:47:12,901.901 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:47:13,032.032 INFO    ] Initializing speech engine...
[2026-08-29 18:47:13,037.037 INFO    ] 2026-08-29 18:47:13
[2026-08-29 18:47:13,233.233 INFO    ] 2026-08-29 18:47:13
[2026-08-29 18:47:13,268.268 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:47:13,446.446 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:47:13,458.458 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:47:13,587.587 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:47:13,607.607 INFO    ] time= 29/08/2026 18:47:13
[2026-08-29 18:47:13,614.614 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:47:13,621.621 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:47:13,688.688 INFO    ] No existing commands found in stream
[2026-08-29 18:47:18,700.700 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:47:18,703.703 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-08-29 18:47:21,169.169 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:47:21,171.171 INFO    ] Checking for system updates...
[2026-08-29 18:47:21,207.207 INFO    ] 200
[2026-08-29 18:47:21,210.210 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:47:21,263.263 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:47:21,265.265 INFO    ] No update needed
[2026-08-29 18:47:21,267.267 INFO    ] Checking for camera pi updates...
[2026-08-29 18:47:21,301.301 INFO    ] 200
[2026-08-29 18:47:21,304.304 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:47:21,344.344 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:47:21,427.427 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:47:21,430.430 INFO    ] No camera update needed
[2026-08-29 18:47:21,432.432 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:47:21,434.434 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:47:21,440.440 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:47:21,445.445 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:47:23,484.484 INFO    ] ================================================
[2026-08-29 18:47:23,500.500 INFO    ] Launching Daemon at Sat Aug 29 18:47:23 IST 2026
[2026-08-29 18:47:23,511.511 INFO    ] ================================================
[2026-08-29 18:47:24,167.167 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:47:24
[2026-08-29 18:47:24,534.534 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:47:24,687.687 INFO    ] Initializing speech engine...
[2026-08-29 18:47:24,691.691 INFO    ] 2026-08-29 18:47:24
[2026-08-29 18:47:24,892.892 INFO    ] 2026-08-29 18:47:24
[2026-08-29 18:47:24,920.920 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:47:25,071.071 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:47:25,079.079 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:47:25,231.231 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:47:25,277.277 INFO    ] time= 29/08/2026 18:47:25
[2026-08-29 18:47:25,283.283 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:47:25,301.301 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:47:25,407.407 INFO    ] No existing commands found in stream
[2026-08-29 18:47:30,437.437 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:47:30,439.439 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-08-29 18:47:34,473.473 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:47:34,475.475 INFO    ] Checking for system updates...
[2026-08-29 18:47:34,511.511 INFO    ] 200
[2026-08-29 18:47:34,514.514 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:47:34,568.568 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:47:34,570.570 INFO    ] No update needed
[2026-08-29 18:47:34,572.572 INFO    ] Checking for camera pi updates...
[2026-08-29 18:47:34,606.606 INFO    ] 200
[2026-08-29 18:47:34,608.608 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:47:34,655.655 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:47:34,758.758 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:47:34,760.760 INFO    ] No camera update needed
[2026-08-29 18:47:34,763.763 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:47:34,765.765 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:47:34,771.771 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:47:34,776.776 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:47:36,816.816 INFO    ] ================================================
[2026-08-29 18:47:36,832.832 INFO    ] Launching Daemon at Sat Aug 29 18:47:36 IST 2026
[2026-08-29 18:47:36,844.844 INFO    ] ================================================
[2026-08-29 18:47:37,177.177 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:47:37
[2026-08-29 18:47:37,490.490 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:47:37,626.626 INFO    ] Initializing speech engine...
[2026-08-29 18:47:37,639.639 INFO    ] 2026-08-29 18:47:37
[2026-08-29 18:47:37,857.857 INFO    ] 2026-08-29 18:47:37
[2026-08-29 18:47:37,888.888 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:47:38,017.017 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:47:38,025.025 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:47:38,190.190 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:47:38,230.230 INFO    ] time= 29/08/2026 18:47:38
[2026-08-29 18:47:38,256.256 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:47:38,263.263 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:47:38,327.327 INFO    ] No existing commands found in stream
[2026-08-29 18:47:43,353.353 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:47:43,356.356 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-08-29 18:47:45,616.616 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:47:45,618.618 INFO    ] Checking for system updates...
[2026-08-29 18:47:45,638.638 INFO    ] 200
[2026-08-29 18:47:45,640.640 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:47:45,673.673 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:47:45,674.674 INFO    ] No update needed
[2026-08-29 18:47:45,675.675 INFO    ] Checking for camera pi updates...
[2026-08-29 18:47:45,695.695 INFO    ] 200
[2026-08-29 18:47:45,696.696 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:47:45,727.727 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:47:45,827.827 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:47:45,830.830 INFO    ] No camera update needed
[2026-08-29 18:47:45,833.833 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:47:45,836.836 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:47:45,842.842 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:47:45,848.848 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:47:47,890.890 INFO    ] ================================================
[2026-08-29 18:47:47,905.905 INFO    ] Launching Daemon at Sat Aug 29 18:47:47 IST 2026
[2026-08-29 18:47:47,916.916 INFO    ] ================================================
[2026-08-29 18:47:48,570.570 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:47:48
[2026-08-29 18:47:49,045.045 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:47:49,187.187 INFO    ] Initializing speech engine...
[2026-08-29 18:47:49,200.200 INFO    ] 2026-08-29 18:47:49
[2026-08-29 18:47:49,415.415 INFO    ] 2026-08-29 18:47:49
[2026-08-29 18:47:49,444.444 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:47:49,569.569 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:47:49,607.607 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:47:49,766.766 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:47:49,823.823 INFO    ] time= 29/08/2026 18:47:49
[2026-08-29 18:47:49,867.867 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:47:49,874.874 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:47:49,940.940 INFO    ] No existing commands found in stream
[2026-08-29 18:47:54,952.952 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:47:54,955.955 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-08-29 18:47:55,563.563 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:47:55,565.565 INFO    ] Checking for system updates...
[2026-08-29 18:47:55,585.585 INFO    ] 200
[2026-08-29 18:47:55,587.587 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:47:55,618.618 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:47:55,619.619 INFO    ] No update needed
[2026-08-29 18:47:55,620.620 INFO    ] Checking for camera pi updates...
[2026-08-29 18:47:55,640.640 INFO    ] 200
[2026-08-29 18:47:55,641.641 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:47:55,665.665 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:47:55,760.760 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:47:55,761.761 INFO    ] No camera update needed
[2026-08-29 18:47:55,763.763 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:47:55,764.764 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:47:55,768.768 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:47:55,770.770 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:47:57,810.810 INFO    ] ================================================
[2026-08-29 18:47:57,826.826 INFO    ] Launching Daemon at Sat Aug 29 18:47:57 IST 2026
[2026-08-29 18:47:57,838.838 INFO    ] ================================================
[2026-08-29 18:47:58,183.183 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:47:58
[2026-08-29 18:47:58,495.495 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:47:58,630.630 INFO    ] Initializing speech engine...
[2026-08-29 18:47:58,644.644 INFO    ] 2026-08-29 18:47:58
[2026-08-29 18:47:58,864.864 INFO    ] 2026-08-29 18:47:58
[2026-08-29 18:47:58,895.895 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:47:58,991.991 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:47:58,994.994 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:47:59,127.127 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:47:59,131.131 INFO    ] time= 29/08/2026 18:47:59
[2026-08-29 18:47:59,158.158 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:47:59,189.189 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:47:59,269.269 INFO    ] No existing commands found in stream
[2026-08-29 18:48:04,304.304 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:48:04,306.306 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-08-29 18:48:08,483.483 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:48:08,485.485 INFO    ] Checking for system updates...
[2026-08-29 18:48:08,521.521 INFO    ] 200
[2026-08-29 18:48:08,524.524 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:48:08,576.576 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:48:08,579.579 INFO    ] No update needed
[2026-08-29 18:48:08,581.581 INFO    ] Checking for camera pi updates...
[2026-08-29 18:48:08,617.617 INFO    ] 200
[2026-08-29 18:48:08,619.619 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:48:08,660.660 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:48:08,739.739 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:48:08,741.741 INFO    ] No camera update needed
[2026-08-29 18:48:08,744.744 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:48:08,746.746 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:48:08,751.751 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:48:08,756.756 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:48:10,796.796 INFO    ] ================================================
[2026-08-29 18:48:10,811.811 INFO    ] Launching Daemon at Sat Aug 29 18:48:10 IST 2026
[2026-08-29 18:48:10,824.824 INFO    ] ================================================
[2026-08-29 18:48:11,172.172 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:48:11
[2026-08-29 18:48:11,643.643 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:48:11,921.921 INFO    ] Initializing speech engine...
[2026-08-29 18:48:11,930.930 INFO    ] 2026-08-29 18:48:11
[2026-08-29 18:48:12,192.192 INFO    ] 2026-08-29 18:48:12
[2026-08-29 18:48:12,248.248 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:48:12,469.469 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:48:12,479.479 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:48:12,632.632 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:48:12,640.640 INFO    ] time= 29/08/2026 18:48:12
[2026-08-29 18:48:12,704.704 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:48:12,745.745 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:48:12,832.832 INFO    ] No existing commands found in stream
[2026-08-29 18:48:17,844.844 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:48:17,847.847 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-08-29 18:48:18,639.639 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:48:18,640.640 INFO    ] Checking for system updates...
[2026-08-29 18:48:18,661.661 INFO    ] 200
[2026-08-29 18:48:18,663.663 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:48:18,694.694 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:48:18,695.695 INFO    ] No update needed
[2026-08-29 18:48:18,696.696 INFO    ] Checking for camera pi updates...
[2026-08-29 18:48:18,716.716 INFO    ] 200
[2026-08-29 18:48:18,717.717 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:48:18,741.741 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:48:18,824.824 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:48:18,825.825 INFO    ] No camera update needed
[2026-08-29 18:48:18,826.826 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:48:18,828.828 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:48:18,831.831 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:48:18,834.834 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:48:20,874.874 INFO    ] ================================================
[2026-08-29 18:48:20,889.889 INFO    ] Launching Daemon at Sat Aug 29 18:48:20 IST 2026
[2026-08-29 18:48:20,901.901 INFO    ] ================================================
[2026-08-29 18:48:21,239.239 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:48:21
[2026-08-29 18:48:21,788.788 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:48:22,061.061 INFO    ] Initializing speech engine...
[2026-08-29 18:48:22,071.071 INFO    ] 2026-08-29 18:48:22
[2026-08-29 18:48:22,321.321 INFO    ] 2026-08-29 18:48:22
[2026-08-29 18:48:22,356.356 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:48:22,530.530 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:48:22,544.544 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:48:22,683.683 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:48:22,690.690 INFO    ] time= 29/08/2026 18:48:22
[2026-08-29 18:48:22,695.695 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:48:22,701.701 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:48:22,768.768 INFO    ] No existing commands found in stream
[2026-08-29 18:48:27,794.794 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:48:27,796.796 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-08-29 18:48:30,880.880 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:48:30,883.883 INFO    ] Checking for system updates...
[2026-08-29 18:48:30,919.919 INFO    ] 200
[2026-08-29 18:48:30,921.921 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:48:30,974.974 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:48:30,976.976 INFO    ] No update needed
[2026-08-29 18:48:30,978.978 INFO    ] Checking for camera pi updates...
[2026-08-29 18:48:31,012.012 INFO    ] 200
[2026-08-29 18:48:31,015.015 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:48:31,060.060 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:48:31,160.160 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:48:31,163.163 INFO    ] No camera update needed
[2026-08-29 18:48:31,166.166 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:48:31,168.168 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:48:31,173.173 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:48:31,179.179 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:48:33,220.220 INFO    ] ================================================
[2026-08-29 18:48:33,236.236 INFO    ] Launching Daemon at Sat Aug 29 18:48:33 IST 2026
[2026-08-29 18:48:33,248.248 INFO    ] ================================================
[2026-08-29 18:48:33,726.726 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:48:33
[2026-08-29 18:48:34,043.043 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:48:34,188.188 INFO    ] Initializing speech engine...
[2026-08-29 18:48:34,194.194 INFO    ] 2026-08-29 18:48:34
[2026-08-29 18:48:34,398.398 INFO    ] 2026-08-29 18:48:34
[2026-08-29 18:48:34,439.439 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:48:34,602.602 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:48:34,610.610 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:48:34,766.766 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:48:34,809.809 INFO    ] time= 29/08/2026 18:48:34
[2026-08-29 18:48:34,815.815 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:48:34,836.836 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:48:34,945.945 INFO    ] No existing commands found in stream
[2026-08-29 18:48:39,970.970 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:48:39,974.974 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-08-29 18:48:42,322.322 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:48:42,324.324 INFO    ] Checking for system updates...
[2026-08-29 18:48:42,345.345 INFO    ] 200
[2026-08-29 18:48:42,346.346 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:48:42,378.378 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:48:42,380.380 INFO    ] No update needed
[2026-08-29 18:48:42,381.381 INFO    ] Checking for camera pi updates...
[2026-08-29 18:48:42,403.403 INFO    ] 200
[2026-08-29 18:48:42,404.404 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:48:42,427.427 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:48:42,610.610 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:48:42,611.611 INFO    ] No camera update needed
[2026-08-29 18:48:42,612.612 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:48:42,614.614 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:48:42,617.617 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:48:42,619.619 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:48:44,660.660 INFO    ] ================================================
[2026-08-29 18:48:44,675.675 INFO    ] Launching Daemon at Sat Aug 29 18:48:44 IST 2026
[2026-08-29 18:48:44,687.687 INFO    ] ================================================
[2026-08-29 18:48:45,065.065 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:48:45
[2026-08-29 18:48:45,399.399 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:48:45,550.550 INFO    ] Initializing speech engine...
[2026-08-29 18:48:45,556.556 INFO    ] 2026-08-29 18:48:45
[2026-08-29 18:48:45,765.765 INFO    ] 2026-08-29 18:48:45
[2026-08-29 18:48:45,795.795 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:48:45,919.919 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:48:45,982.982 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:48:46,122.122 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:48:46,190.190 INFO    ] time= 29/08/2026 18:48:46
[2026-08-29 18:48:46,214.214 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:48:46,221.221 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:48:46,288.288 INFO    ] No existing commands found in stream
[2026-08-29 18:48:51,299.299 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:48:51,302.302 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 18:48:53,219.219 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:48:53,220.220 INFO    ] Checking for system updates...
[2026-08-29 18:48:53,241.241 INFO    ] 200
[2026-08-29 18:48:53,243.243 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:48:53,273.273 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:48:53,274.274 INFO    ] No update needed
[2026-08-29 18:48:53,276.276 INFO    ] Checking for camera pi updates...
[2026-08-29 18:48:53,295.295 INFO    ] 200
[2026-08-29 18:48:53,297.297 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:48:53,320.320 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:48:53,399.399 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:48:53,401.401 INFO    ] No camera update needed
[2026-08-29 18:48:53,402.402 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:48:53,404.404 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:48:53,407.407 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:48:53,410.410 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:48:55,449.449 INFO    ] ================================================
[2026-08-29 18:48:55,465.465 INFO    ] Launching Daemon at Sat Aug 29 18:48:55 IST 2026
[2026-08-29 18:48:55,476.476 INFO    ] ================================================
[2026-08-29 18:48:56,121.121 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:48:56
[2026-08-29 18:48:56,800.800 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:48:57,108.108 INFO    ] Initializing speech engine...
[2026-08-29 18:48:57,115.115 INFO    ] 2026-08-29 18:48:57
[2026-08-29 18:48:57,392.392 INFO    ] 2026-08-29 18:48:57
[2026-08-29 18:48:57,451.451 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:48:57,600.600 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:48:57,618.618 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:48:57,727.727 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:48:57,748.748 INFO    ] time= 29/08/2026 18:48:57
[2026-08-29 18:48:57,771.771 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:48:57,779.779 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:48:57,850.850 INFO    ] No existing commands found in stream
[2026-08-29 18:49:02,885.885 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:49:02,890.890 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-08-29 18:49:05,945.945 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:49:05,946.946 INFO    ] Checking for system updates...
[2026-08-29 18:49:05,968.968 INFO    ] 200
[2026-08-29 18:49:05,969.969 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:49:06,005.005 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:49:06,007.007 INFO    ] No update needed
[2026-08-29 18:49:06,008.008 INFO    ] Checking for camera pi updates...
[2026-08-29 18:49:06,028.028 INFO    ] 200
[2026-08-29 18:49:06,030.030 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:49:06,056.056 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:49:06,144.144 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:49:06,146.146 INFO    ] No camera update needed
[2026-08-29 18:49:06,147.147 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:49:06,148.148 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:49:06,152.152 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:49:06,155.155 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:49:08,195.195 INFO    ] ================================================
[2026-08-29 18:49:08,211.211 INFO    ] Launching Daemon at Sat Aug 29 18:49:08 IST 2026
[2026-08-29 18:49:08,223.223 INFO    ] ================================================
[2026-08-29 18:49:08,784.784 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:49:08
[2026-08-29 18:49:09,385.385 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:49:09,652.652 INFO    ] Initializing speech engine...
[2026-08-29 18:49:09,677.677 INFO    ] 2026-08-29 18:49:09
[2026-08-29 18:49:09,952.952 INFO    ] 2026-08-29 18:49:09
[2026-08-29 18:49:09,991.991 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:49:10,187.187 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:49:10,193.193 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:49:10,324.324 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:49:10,331.331 INFO    ] time= 29/08/2026 18:49:10
[2026-08-29 18:49:10,336.336 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:49:10,357.357 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:49:10,457.457 INFO    ] No existing commands found in stream
[2026-08-29 18:49:15,467.467 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:49:15,470.470 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-08-29 18:49:18,800.800 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:49:18,802.802 INFO    ] Checking for system updates...
[2026-08-29 18:49:18,823.823 INFO    ] 200
[2026-08-29 18:49:18,824.824 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:49:18,854.854 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:49:18,856.856 INFO    ] No update needed
[2026-08-29 18:49:18,857.857 INFO    ] Checking for camera pi updates...
[2026-08-29 18:49:18,876.876 INFO    ] 200
[2026-08-29 18:49:18,877.877 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:49:18,901.901 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:49:18,978.978 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:49:18,979.979 INFO    ] No camera update needed
[2026-08-29 18:49:18,981.981 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:49:18,982.982 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:49:18,985.985 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:49:18,988.988 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:49:21,027.027 INFO    ] ================================================
[2026-08-29 18:49:21,043.043 INFO    ] Launching Daemon at Sat Aug 29 18:49:21 IST 2026
[2026-08-29 18:49:21,054.054 INFO    ] ================================================
[2026-08-29 18:49:21,429.429 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:49:21
[2026-08-29 18:49:21,748.748 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:49:21,896.896 INFO    ] Initializing speech engine...
[2026-08-29 18:49:21,902.902 INFO    ] 2026-08-29 18:49:21
[2026-08-29 18:49:22,119.119 INFO    ] 2026-08-29 18:49:22
[2026-08-29 18:49:22,149.149 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:49:22,281.281 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:49:22,314.314 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:49:22,445.445 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:49:22,495.495 INFO    ] time= 29/08/2026 18:49:22
[2026-08-29 18:49:22,551.551 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:49:22,586.586 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:49:22,678.678 INFO    ] No existing commands found in stream
[2026-08-29 18:49:27,688.688 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:49:27,702.702 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-08-29 18:49:31,173.173 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:49:31,175.175 INFO    ] Checking for system updates...
[2026-08-29 18:49:31,195.195 INFO    ] 200
[2026-08-29 18:49:31,196.196 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:49:31,226.226 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:49:31,228.228 INFO    ] No update needed
[2026-08-29 18:49:31,229.229 INFO    ] Checking for camera pi updates...
[2026-08-29 18:49:31,248.248 INFO    ] 200
[2026-08-29 18:49:31,250.250 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:49:31,272.272 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:49:31,354.354 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:49:31,355.355 INFO    ] No camera update needed
[2026-08-29 18:49:31,356.356 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:49:31,357.357 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:49:31,360.360 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:49:31,363.363 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:49:33,403.403 INFO    ] ================================================
[2026-08-29 18:49:33,429.429 INFO    ] Launching Daemon at Sat Aug 29 18:49:33 IST 2026
[2026-08-29 18:49:33,440.440 INFO    ] ================================================
[2026-08-29 18:49:34,090.090 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:49:34
[2026-08-29 18:49:34,696.696 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:49:34,848.848 INFO    ] Initializing speech engine...
[2026-08-29 18:49:34,854.854 INFO    ] 2026-08-29 18:49:34
[2026-08-29 18:49:35,094.094 INFO    ] 2026-08-29 18:49:35
[2026-08-29 18:49:35,150.150 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:49:35,319.319 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:49:35,328.328 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:49:35,505.505 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:49:35,535.535 INFO    ] time= 29/08/2026 18:49:35
[2026-08-29 18:49:35,550.550 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:49:35,562.562 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:49:35,672.672 INFO    ] No existing commands found in stream
[2026-08-29 18:49:40,700.700 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:49:40,704.704 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-08-29 18:49:41,128.128 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:49:41,129.129 INFO    ] Checking for system updates...
[2026-08-29 18:49:41,150.150 INFO    ] 200
[2026-08-29 18:49:41,152.152 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:49:41,184.184 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:49:41,186.186 INFO    ] No update needed
[2026-08-29 18:49:41,187.187 INFO    ] Checking for camera pi updates...
[2026-08-29 18:49:41,206.206 INFO    ] 200
[2026-08-29 18:49:41,208.208 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:49:41,231.231 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:49:41,306.306 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:49:41,308.308 INFO    ] No camera update needed
[2026-08-29 18:49:41,309.309 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:49:41,311.311 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:49:41,314.314 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:49:41,317.317 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:49:43,359.359 INFO    ] ================================================
[2026-08-29 18:49:43,375.375 INFO    ] Launching Daemon at Sat Aug 29 18:49:43 IST 2026
[2026-08-29 18:49:43,386.386 INFO    ] ================================================
[2026-08-29 18:49:43,976.976 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:49:43
[2026-08-29 18:49:44,648.648 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:49:44,962.962 INFO    ] Initializing speech engine...
[2026-08-29 18:49:44,967.967 INFO    ] 2026-08-29 18:49:44
[2026-08-29 18:49:45,277.277 INFO    ] 2026-08-29 18:49:45
[2026-08-29 18:49:45,366.366 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:49:45,515.515 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:49:45,525.525 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:49:45,660.660 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:49:45,716.716 INFO    ] time= 29/08/2026 18:49:45
[2026-08-29 18:49:45,776.776 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:49:45,797.797 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:49:45,907.907 INFO    ] No existing commands found in stream
[2026-08-29 18:49:50,935.935 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:49:50,958.958 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-08-29 18:49:52,639.639 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:49:52,641.641 INFO    ] Checking for system updates...
[2026-08-29 18:49:52,662.662 INFO    ] 200
[2026-08-29 18:49:52,663.663 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:49:52,694.694 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:49:52,695.695 INFO    ] No update needed
[2026-08-29 18:49:52,697.697 INFO    ] Checking for camera pi updates...
[2026-08-29 18:49:52,716.716 INFO    ] 200
[2026-08-29 18:49:52,717.717 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:49:52,741.741 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:49:52,823.823 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:49:52,824.824 INFO    ] No camera update needed
[2026-08-29 18:49:52,826.826 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:49:52,827.827 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:49:52,830.830 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:49:52,833.833 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:49:54,871.871 INFO    ] ================================================
[2026-08-29 18:49:54,887.887 INFO    ] Launching Daemon at Sat Aug 29 18:49:54 IST 2026
[2026-08-29 18:49:54,898.898 INFO    ] ================================================
[2026-08-29 18:49:55,246.246 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:49:55
[2026-08-29 18:49:55,585.585 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:49:55,736.736 INFO    ] Initializing speech engine...
[2026-08-29 18:49:55,741.741 INFO    ] 2026-08-29 18:49:55
[2026-08-29 18:49:55,948.948 INFO    ] 2026-08-29 18:49:55
[2026-08-29 18:49:55,977.977 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:49:56,112.112 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:49:56,117.117 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:49:56,286.286 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:49:56,320.320 INFO    ] time= 29/08/2026 18:49:56
[2026-08-29 18:49:56,336.336 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:49:56,356.356 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:49:56,469.469 INFO    ] No existing commands found in stream
[2026-08-29 18:50:01,485.485 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:50:01,490.490 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-08-29 18:50:03,050.050 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:50:03,054.054 INFO    ] Checking for system updates...
[2026-08-29 18:50:03,103.103 INFO    ] 200
[2026-08-29 18:50:03,106.106 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:50:03,163.163 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:50:03,165.165 INFO    ] No update needed
[2026-08-29 18:50:03,168.168 INFO    ] Checking for camera pi updates...
[2026-08-29 18:50:03,211.211 INFO    ] 200
[2026-08-29 18:50:03,214.214 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:50:03,257.257 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:50:03,524.524 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:50:03,527.527 INFO    ] No camera update needed
[2026-08-29 18:50:03,530.530 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:50:03,533.533 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:50:03,539.539 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:50:03,544.544 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:50:05,585.585 INFO    ] ================================================
[2026-08-29 18:50:05,600.600 INFO    ] Launching Daemon at Sat Aug 29 18:50:05 IST 2026
[2026-08-29 18:50:05,611.611 INFO    ] ================================================
[2026-08-29 18:50:05,953.953 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:50:05
[2026-08-29 18:50:06,279.279 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:50:06,528.528 INFO    ] Initializing speech engine...
[2026-08-29 18:50:06,543.543 INFO    ] 2026-08-29 18:50:06
[2026-08-29 18:50:06,816.816 INFO    ] 2026-08-29 18:50:06
[2026-08-29 18:50:06,852.852 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:50:07,046.046 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:50:07,062.062 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:50:07,220.220 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:50:07,229.229 INFO    ] time= 29/08/2026 18:50:07
[2026-08-29 18:50:07,235.235 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:50:07,241.241 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:50:07,314.314 INFO    ] No existing commands found in stream
[2026-08-29 18:50:12,327.327 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:50:12,329.329 INFO    ] Waiting 1.53 seconds before fallback handling...
[2026-08-29 18:50:14,208.208 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:50:14,210.210 INFO    ] Checking for system updates...
[2026-08-29 18:50:14,234.234 INFO    ] 200
[2026-08-29 18:50:14,235.235 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:50:14,265.265 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:50:14,266.266 INFO    ] No update needed
[2026-08-29 18:50:14,267.267 INFO    ] Checking for camera pi updates...
[2026-08-29 18:50:14,286.286 INFO    ] 200
[2026-08-29 18:50:14,287.287 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:50:14,310.310 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:50:14,406.406 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:50:14,407.407 INFO    ] No camera update needed
[2026-08-29 18:50:14,408.408 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:50:14,410.410 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:50:14,413.413 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:50:14,415.415 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:50:16,455.455 INFO    ] ================================================
[2026-08-29 18:50:16,470.470 INFO    ] Launching Daemon at Sat Aug 29 18:50:16 IST 2026
[2026-08-29 18:50:16,481.481 INFO    ] ================================================
[2026-08-29 18:50:17,084.084 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:50:17
[2026-08-29 18:50:17,752.752 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:50:18,053.053 INFO    ] Initializing speech engine...
[2026-08-29 18:50:18,060.060 INFO    ] 2026-08-29 18:50:18
[2026-08-29 18:50:18,335.335 INFO    ] 2026-08-29 18:50:18
[2026-08-29 18:50:18,396.396 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:50:18,603.603 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:50:18,630.630 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:50:18,773.773 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:50:18,795.795 INFO    ] time= 29/08/2026 18:50:18
[2026-08-29 18:50:18,860.860 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:50:18,912.912 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:50:18,972.972 INFO    ] No existing commands found in stream
[2026-08-29 18:50:23,985.985 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:50:23,988.988 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 18:50:26,515.515 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:50:26,517.517 INFO    ] Checking for system updates...
[2026-08-29 18:50:26,537.537 INFO    ] 200
[2026-08-29 18:50:26,539.539 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:50:26,569.569 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:50:26,570.570 INFO    ] No update needed
[2026-08-29 18:50:26,572.572 INFO    ] Checking for camera pi updates...
[2026-08-29 18:50:26,592.592 INFO    ] 200
[2026-08-29 18:50:26,593.593 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:50:26,617.617 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:50:26,691.691 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:50:26,693.693 INFO    ] No camera update needed
[2026-08-29 18:50:26,694.694 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:50:26,695.695 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:50:26,699.699 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:50:26,702.702 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:50:28,742.742 INFO    ] ================================================
[2026-08-29 18:50:28,758.758 INFO    ] Launching Daemon at Sat Aug 29 18:50:28 IST 2026
[2026-08-29 18:50:28,769.769 INFO    ] ================================================
[2026-08-29 18:50:29,123.123 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:50:29
[2026-08-29 18:50:29,435.435 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:50:29,569.569 INFO    ] Initializing speech engine...
[2026-08-29 18:50:29,573.573 INFO    ] 2026-08-29 18:50:29
[2026-08-29 18:50:29,804.804 INFO    ] 2026-08-29 18:50:29
[2026-08-29 18:50:29,834.834 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:50:29,967.967 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:50:30,020.020 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:50:30,175.175 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:50:30,222.222 INFO    ] time= 29/08/2026 18:50:30
[2026-08-29 18:50:30,259.259 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:50:30,283.283 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:50:30,359.359 INFO    ] No existing commands found in stream
[2026-08-29 18:50:35,370.370 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:50:35,373.373 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-08-29 18:50:39,793.793 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:50:39,794.794 INFO    ] Checking for system updates...
[2026-08-29 18:50:39,814.814 INFO    ] 200
[2026-08-29 18:50:39,816.816 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:50:39,846.846 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:50:39,847.847 INFO    ] No update needed
[2026-08-29 18:50:39,848.848 INFO    ] Checking for camera pi updates...
[2026-08-29 18:50:39,867.867 INFO    ] 200
[2026-08-29 18:50:39,869.869 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:50:39,892.892 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:50:39,957.957 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:50:39,958.958 INFO    ] No camera update needed
[2026-08-29 18:50:39,959.959 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:50:39,960.960 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:50:39,963.963 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:50:39,966.966 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:50:42,005.005 INFO    ] ================================================
[2026-08-29 18:50:42,022.022 INFO    ] Launching Daemon at Sat Aug 29 18:50:42 IST 2026
[2026-08-29 18:50:42,033.033 INFO    ] ================================================
[2026-08-29 18:50:42,473.473 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:50:42
[2026-08-29 18:50:43,136.136 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:50:43,437.437 INFO    ] Initializing speech engine...
[2026-08-29 18:50:43,445.445 INFO    ] 2026-08-29 18:50:43
[2026-08-29 18:50:43,719.719 INFO    ] 2026-08-29 18:50:43
[2026-08-29 18:50:43,771.771 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:50:44,002.002 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:50:44,007.007 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:50:44,144.144 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:50:44,205.205 INFO    ] time= 29/08/2026 18:50:44
[2026-08-29 18:50:44,259.259 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:50:44,280.280 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:50:44,386.386 INFO    ] No existing commands found in stream
[2026-08-29 18:50:49,414.414 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:50:49,417.417 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-08-29 18:50:50,549.549 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:50:50,551.551 INFO    ] Checking for system updates...
[2026-08-29 18:50:50,572.572 INFO    ] 200
[2026-08-29 18:50:50,574.574 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:50:50,608.608 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:50:50,610.610 INFO    ] No update needed
[2026-08-29 18:50:50,611.611 INFO    ] Checking for camera pi updates...
[2026-08-29 18:50:50,630.630 INFO    ] 200
[2026-08-29 18:50:50,631.631 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:50:50,655.655 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:50:50,842.842 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:50:50,843.843 INFO    ] No camera update needed
[2026-08-29 18:50:50,844.844 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:50:50,846.846 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:50:50,849.849 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:50:50,851.851 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:50:52,890.890 INFO    ] ================================================
[2026-08-29 18:50:52,905.905 INFO    ] Launching Daemon at Sat Aug 29 18:50:52 IST 2026
[2026-08-29 18:50:52,916.916 INFO    ] ================================================
[2026-08-29 18:50:53,287.287 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:50:53
[2026-08-29 18:50:53,622.622 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:50:53,768.768 INFO    ] Initializing speech engine...
[2026-08-29 18:50:53,778.778 INFO    ] 2026-08-29 18:50:53
[2026-08-29 18:50:53,988.988 INFO    ] 2026-08-29 18:50:53
[2026-08-29 18:50:54,018.018 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:50:54,141.141 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:50:54,204.204 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:50:54,342.342 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:50:54,410.410 INFO    ] time= 29/08/2026 18:50:54
[2026-08-29 18:50:54,437.437 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:50:54,444.444 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:50:54,510.510 INFO    ] No existing commands found in stream
[2026-08-29 18:50:59,520.520 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:50:59,522.522 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-08-29 18:51:01,056.056 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:51:01,057.057 INFO    ] Checking for system updates...
[2026-08-29 18:51:01,078.078 INFO    ] 200
[2026-08-29 18:51:01,080.080 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:51:01,110.110 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:51:01,112.112 INFO    ] No update needed
[2026-08-29 18:51:01,113.113 INFO    ] Checking for camera pi updates...
[2026-08-29 18:51:01,133.133 INFO    ] 200
[2026-08-29 18:51:01,135.135 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:51:01,159.159 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:51:01,338.338 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:51:01,341.341 INFO    ] No camera update needed
[2026-08-29 18:51:01,344.344 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:51:01,347.347 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:51:01,353.353 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:51:01,359.359 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:51:03,403.403 INFO    ] ================================================
[2026-08-29 18:51:03,418.418 INFO    ] Launching Daemon at Sat Aug 29 18:51:03 IST 2026
[2026-08-29 18:51:03,429.429 INFO    ] ================================================
[2026-08-29 18:51:04,073.073 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:51:04
[2026-08-29 18:51:04,666.666 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:51:04,816.816 INFO    ] Initializing speech engine...
[2026-08-29 18:51:04,821.821 INFO    ] 2026-08-29 18:51:04
[2026-08-29 18:51:05,030.030 INFO    ] 2026-08-29 18:51:05
[2026-08-29 18:51:05,059.059 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:51:05,196.196 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:51:05,201.201 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:51:05,351.351 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:51:05,402.402 INFO    ] time= 29/08/2026 18:51:05
[2026-08-29 18:51:05,420.420 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:51:05,430.430 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:51:05,538.538 INFO    ] No existing commands found in stream
[2026-08-29 18:51:10,566.566 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:51:10,569.569 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-08-29 18:51:11,476.476 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:51:11,477.477 INFO    ] Checking for system updates...
[2026-08-29 18:51:11,498.498 INFO    ] 200
[2026-08-29 18:51:11,500.500 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:51:11,530.530 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:51:11,531.531 INFO    ] No update needed
[2026-08-29 18:51:11,533.533 INFO    ] Checking for camera pi updates...
[2026-08-29 18:51:11,553.553 INFO    ] 200
[2026-08-29 18:51:11,554.554 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:51:11,579.579 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:51:11,659.659 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:51:11,660.660 INFO    ] No camera update needed
[2026-08-29 18:51:11,662.662 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:51:11,663.663 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:51:11,666.666 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:51:11,669.669 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:51:13,708.708 INFO    ] ================================================
[2026-08-29 18:51:13,724.724 INFO    ] Launching Daemon at Sat Aug 29 18:51:13 IST 2026
[2026-08-29 18:51:13,734.734 INFO    ] ================================================
[2026-08-29 18:51:14,099.099 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:51:14
[2026-08-29 18:51:14,416.416 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:51:14,559.559 INFO    ] Initializing speech engine...
[2026-08-29 18:51:14,571.571 INFO    ] 2026-08-29 18:51:14
[2026-08-29 18:51:14,786.786 INFO    ] 2026-08-29 18:51:14
[2026-08-29 18:51:14,817.817 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:51:14,949.949 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:51:14,993.993 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:51:15,167.167 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:51:15,226.226 INFO    ] time= 29/08/2026 18:51:15
[2026-08-29 18:51:15,261.261 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:51:15,267.267 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:51:15,344.344 INFO    ] No existing commands found in stream
[2026-08-29 18:51:20,354.354 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:51:20,357.357 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-08-29 18:51:24,219.219 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:51:24,221.221 INFO    ] Checking for system updates...
[2026-08-29 18:51:24,241.241 INFO    ] 200
[2026-08-29 18:51:24,243.243 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:51:24,273.273 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:51:24,274.274 INFO    ] No update needed
[2026-08-29 18:51:24,275.275 INFO    ] Checking for camera pi updates...
[2026-08-29 18:51:24,296.296 INFO    ] 200
[2026-08-29 18:51:24,297.297 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:51:24,320.320 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:51:24,401.401 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:51:24,403.403 INFO    ] No camera update needed
[2026-08-29 18:51:24,404.404 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:51:24,405.405 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:51:24,408.408 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:51:24,411.411 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:51:26,450.450 INFO    ] ================================================
[2026-08-29 18:51:26,465.465 INFO    ] Launching Daemon at Sat Aug 29 18:51:26 IST 2026
[2026-08-29 18:51:26,476.476 INFO    ] ================================================
[2026-08-29 18:51:26,836.836 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:51:26
[2026-08-29 18:51:27,152.152 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:51:27,305.305 INFO    ] Initializing speech engine...
[2026-08-29 18:51:27,319.319 INFO    ] 2026-08-29 18:51:27
[2026-08-29 18:51:27,592.592 INFO    ] 2026-08-29 18:51:27
[2026-08-29 18:51:27,649.649 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:51:27,877.877 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:51:27,882.882 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:51:28,000.000 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:51:28,021.021 INFO    ] time= 29/08/2026 18:51:28
[2026-08-29 18:51:28,048.048 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:51:28,113.113 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:51:28,206.206 INFO    ] No existing commands found in stream
[2026-08-29 18:51:33,220.220 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:51:33,224.224 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-08-29 18:51:34,242.242 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:51:34,245.245 INFO    ] Checking for system updates...
[2026-08-29 18:51:34,283.283 INFO    ] 200
[2026-08-29 18:51:34,286.286 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:51:34,338.338 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:51:34,340.340 INFO    ] No update needed
[2026-08-29 18:51:34,343.343 INFO    ] Checking for camera pi updates...
[2026-08-29 18:51:34,377.377 INFO    ] 200
[2026-08-29 18:51:34,379.379 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:51:34,419.419 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:51:34,528.528 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:51:34,531.531 INFO    ] No camera update needed
[2026-08-29 18:51:34,533.533 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:51:34,535.535 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:51:34,540.540 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:51:34,545.545 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:51:36,585.585 INFO    ] ================================================
[2026-08-29 18:51:36,600.600 INFO    ] Launching Daemon at Sat Aug 29 18:51:36 IST 2026
[2026-08-29 18:51:36,612.612 INFO    ] ================================================
[2026-08-29 18:51:36,950.950 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:51:36
[2026-08-29 18:51:37,271.271 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:51:37,534.534 INFO    ] Initializing speech engine...
[2026-08-29 18:51:37,542.542 INFO    ] 2026-08-29 18:51:37
[2026-08-29 18:51:37,847.847 INFO    ] 2026-08-29 18:51:37
[2026-08-29 18:51:37,872.872 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:51:38,036.036 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:51:38,044.044 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:51:38,198.198 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:51:38,209.209 INFO    ] time= 29/08/2026 18:51:38
[2026-08-29 18:51:38,215.215 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:51:38,239.239 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:51:38,293.293 INFO    ] No existing commands found in stream
[2026-08-29 18:51:43,305.305 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:51:43,308.308 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-08-29 18:51:46,906.906 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:51:46,908.908 INFO    ] Checking for system updates...
[2026-08-29 18:51:46,929.929 INFO    ] 200
[2026-08-29 18:51:46,930.930 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:51:46,960.960 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:51:46,961.961 INFO    ] No update needed
[2026-08-29 18:51:46,963.963 INFO    ] Checking for camera pi updates...
[2026-08-29 18:51:46,982.982 INFO    ] 200
[2026-08-29 18:51:46,984.984 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:51:47,009.009 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:51:47,083.083 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:51:47,084.084 INFO    ] No camera update needed
[2026-08-29 18:51:47,086.086 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:51:47,087.087 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:51:47,090.090 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:51:47,092.092 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:51:49,130.130 INFO    ] ================================================
[2026-08-29 18:51:49,152.152 INFO    ] Launching Daemon at Sat Aug 29 18:51:49 IST 2026
[2026-08-29 18:51:49,163.163 INFO    ] ================================================
[2026-08-29 18:51:49,510.510 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:51:49
[2026-08-29 18:51:49,822.822 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:51:49,955.955 INFO    ] Initializing speech engine...
[2026-08-29 18:51:49,959.959 INFO    ] 2026-08-29 18:51:49
[2026-08-29 18:51:50,156.156 INFO    ] 2026-08-29 18:51:50
[2026-08-29 18:51:50,197.197 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:51:50,316.316 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:51:50,319.319 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:51:50,437.437 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:51:50,456.456 INFO    ] time= 29/08/2026 18:51:50
[2026-08-29 18:51:50,460.460 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:51:50,465.465 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:51:50,539.539 INFO    ] No existing commands found in stream
[2026-08-29 18:51:55,573.573 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:51:55,579.579 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 18:51:58,637.637 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:51:58,640.640 INFO    ] Checking for system updates...
[2026-08-29 18:51:58,686.686 INFO    ] 200
[2026-08-29 18:51:58,688.688 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:51:58,741.741 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:51:58,744.744 INFO    ] No update needed
[2026-08-29 18:51:58,746.746 INFO    ] Checking for camera pi updates...
[2026-08-29 18:51:58,784.784 INFO    ] 200
[2026-08-29 18:51:58,786.786 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:51:58,831.831 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:51:58,937.937 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:51:58,939.939 INFO    ] No camera update needed
[2026-08-29 18:51:58,941.941 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:51:58,944.944 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:51:58,949.949 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:51:58,954.954 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:52:00,994.994 INFO    ] ================================================
[2026-08-29 18:52:01,012.012 INFO    ] Launching Daemon at Sat Aug 29 18:52:01 IST 2026
[2026-08-29 18:52:01,023.023 INFO    ] ================================================
[2026-08-29 18:52:01,765.765 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:52:01
[2026-08-29 18:52:02,568.568 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:52:02,852.852 INFO    ] Initializing speech engine...
[2026-08-29 18:52:02,867.867 INFO    ] 2026-08-29 18:52:02
[2026-08-29 18:52:03,142.142 INFO    ] 2026-08-29 18:52:03
[2026-08-29 18:52:03,182.182 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:52:03,381.381 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:52:03,388.388 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:52:03,772.772 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:52:03,778.778 INFO    ] time= 29/08/2026 18:52:03
[2026-08-29 18:52:03,798.798 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:52:03,811.811 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:52:03,921.921 INFO    ] No existing commands found in stream
[2026-08-29 18:52:08,942.942 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:52:08,945.945 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-08-29 18:52:15,197.197 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:52:15,199.199 INFO    ] Checking for system updates...
[2026-08-29 18:52:15,239.239 INFO    ] 200
[2026-08-29 18:52:15,241.241 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:52:15,301.301 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:52:15,304.304 INFO    ] No update needed
[2026-08-29 18:52:15,306.306 INFO    ] Checking for camera pi updates...
[2026-08-29 18:52:15,344.344 INFO    ] 200
[2026-08-29 18:52:15,346.346 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:52:15,387.387 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:52:15,483.483 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:52:15,486.486 INFO    ] No camera update needed
[2026-08-29 18:52:15,488.488 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:52:15,491.491 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:52:15,496.496 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:52:15,501.501 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:52:17,542.542 INFO    ] ================================================
[2026-08-29 18:52:17,558.558 INFO    ] Launching Daemon at Sat Aug 29 18:52:17 IST 2026
[2026-08-29 18:52:17,569.569 INFO    ] ================================================
[2026-08-29 18:52:17,959.959 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:52:17
[2026-08-29 18:52:18,446.446 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:52:18,723.723 INFO    ] Initializing speech engine...
[2026-08-29 18:52:18,743.743 INFO    ] 2026-08-29 18:52:18
[2026-08-29 18:52:19,013.013 INFO    ] 2026-08-29 18:52:18
[2026-08-29 18:52:19,049.049 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:52:19,247.247 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:52:19,260.260 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:52:19,409.409 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:52:19,416.416 INFO    ] time= 29/08/2026 18:52:19
[2026-08-29 18:52:19,425.425 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:52:19,475.475 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:52:19,583.583 INFO    ] No existing commands found in stream
[2026-08-29 18:52:24,608.608 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:52:24,610.610 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 18:52:28,197.197 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:52:28,198.198 INFO    ] Checking for system updates...
[2026-08-29 18:52:28,219.219 INFO    ] 200
[2026-08-29 18:52:28,220.220 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:52:28,250.250 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:52:28,251.251 INFO    ] No update needed
[2026-08-29 18:52:28,253.253 INFO    ] Checking for camera pi updates...
[2026-08-29 18:52:28,275.275 INFO    ] 200
[2026-08-29 18:52:28,276.276 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:52:28,301.301 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:52:28,401.401 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:52:28,403.403 INFO    ] No camera update needed
[2026-08-29 18:52:28,404.404 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:52:28,405.405 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:52:28,408.408 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:52:28,411.411 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:52:30,450.450 INFO    ] ================================================
[2026-08-29 18:52:30,466.466 INFO    ] Launching Daemon at Sat Aug 29 18:52:30 IST 2026
[2026-08-29 18:52:30,477.477 INFO    ] ================================================
[2026-08-29 18:52:31,001.001 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:52:30
[2026-08-29 18:52:31,651.651 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:52:32,010.010 INFO    ] Initializing speech engine...
[2026-08-29 18:52:32,018.018 INFO    ] 2026-08-29 18:52:32
[2026-08-29 18:52:32,320.320 INFO    ] 2026-08-29 18:52:32
[2026-08-29 18:52:32,407.407 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:52:32,580.580 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:52:32,583.583 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:52:32,681.681 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:52:32,745.745 INFO    ] time= 29/08/2026 18:52:32
[2026-08-29 18:52:32,752.752 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:52:32,786.786 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:52:32,903.903 INFO    ] No existing commands found in stream
[2026-08-29 18:52:37,914.914 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:52:37,917.917 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 18:52:40,432.432 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:52:40,433.433 INFO    ] Checking for system updates...
[2026-08-29 18:52:40,454.454 INFO    ] 200
[2026-08-29 18:52:40,456.456 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:52:40,486.486 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:52:40,488.488 INFO    ] No update needed
[2026-08-29 18:52:40,489.489 INFO    ] Checking for camera pi updates...
[2026-08-29 18:52:40,518.518 INFO    ] 200
[2026-08-29 18:52:40,521.521 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:52:40,564.564 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:52:40,673.673 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:52:40,676.676 INFO    ] No camera update needed
[2026-08-29 18:52:40,679.679 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:52:40,682.682 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:52:40,688.688 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:52:40,694.694 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:52:42,736.736 INFO    ] ================================================
[2026-08-29 18:52:42,752.752 INFO    ] Launching Daemon at Sat Aug 29 18:52:42 IST 2026
[2026-08-29 18:52:42,763.763 INFO    ] ================================================
[2026-08-29 18:52:43,334.334 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:52:43
[2026-08-29 18:52:43,690.690 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:52:43,928.928 INFO    ] Initializing speech engine...
[2026-08-29 18:52:43,938.938 INFO    ] 2026-08-29 18:52:43
[2026-08-29 18:52:44,196.196 INFO    ] 2026-08-29 18:52:44
[2026-08-29 18:52:44,250.250 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:52:44,414.414 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:52:44,421.421 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:52:44,546.546 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:52:44,554.554 INFO    ] time= 29/08/2026 18:52:44
[2026-08-29 18:52:44,560.560 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:52:44,586.586 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:52:44,694.694 INFO    ] No existing commands found in stream
[2026-08-29 18:52:49,723.723 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:52:49,726.726 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-08-29 18:52:53,892.892 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:52:53,893.893 INFO    ] Checking for system updates...
[2026-08-29 18:52:53,914.914 INFO    ] 200
[2026-08-29 18:52:53,915.915 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:52:53,947.947 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:52:53,948.948 INFO    ] No update needed
[2026-08-29 18:52:53,949.949 INFO    ] Checking for camera pi updates...
[2026-08-29 18:52:53,970.970 INFO    ] 200
[2026-08-29 18:52:53,971.971 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:52:53,996.996 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:52:54,170.170 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:52:54,171.171 INFO    ] No camera update needed
[2026-08-29 18:52:54,172.172 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:52:54,173.173 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:52:54,176.176 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:52:54,179.179 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:52:56,217.217 INFO    ] ================================================
[2026-08-29 18:52:56,233.233 INFO    ] Launching Daemon at Sat Aug 29 18:52:56 IST 2026
[2026-08-29 18:52:56,244.244 INFO    ] ================================================
[2026-08-29 18:52:56,843.843 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:52:56
[2026-08-29 18:52:57,428.428 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:52:57,678.678 INFO    ] Initializing speech engine...
[2026-08-29 18:52:57,701.701 INFO    ] 2026-08-29 18:52:57
[2026-08-29 18:52:57,963.963 INFO    ] 2026-08-29 18:52:57
[2026-08-29 18:52:57,998.998 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:52:58,170.170 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:52:58,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:52:58,324.324 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:52:58,334.334 INFO    ] time= 29/08/2026 18:52:58
[2026-08-29 18:52:58,341.341 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:52:58,397.397 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:52:58,512.512 INFO    ] No existing commands found in stream
[2026-08-29 18:53:03,542.542 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:53:03,546.546 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-08-29 18:53:07,148.148 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:53:07,150.150 INFO    ] Checking for system updates...
[2026-08-29 18:53:07,172.172 INFO    ] 200
[2026-08-29 18:53:07,173.173 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:53:07,204.204 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:53:07,205.205 INFO    ] No update needed
[2026-08-29 18:53:07,207.207 INFO    ] Checking for camera pi updates...
[2026-08-29 18:53:07,226.226 INFO    ] 200
[2026-08-29 18:53:07,228.228 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:53:07,251.251 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:53:07,354.354 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:53:07,355.355 INFO    ] No camera update needed
[2026-08-29 18:53:07,356.356 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:53:07,358.358 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:53:07,361.361 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:53:07,364.364 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:53:09,403.403 INFO    ] ================================================
[2026-08-29 18:53:09,419.419 INFO    ] Launching Daemon at Sat Aug 29 18:53:09 IST 2026
[2026-08-29 18:53:09,431.431 INFO    ] ================================================
[2026-08-29 18:53:09,755.755 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:53:09
[2026-08-29 18:53:10,067.067 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:53:10,210.210 INFO    ] Initializing speech engine...
[2026-08-29 18:53:10,215.215 INFO    ] 2026-08-29 18:53:10
[2026-08-29 18:53:10,405.405 INFO    ] 2026-08-29 18:53:10
[2026-08-29 18:53:10,485.485 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:53:10,632.632 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:53:10,641.641 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:53:10,774.774 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:53:10,821.821 INFO    ] time= 29/08/2026 18:53:10
[2026-08-29 18:53:10,865.865 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:53:10,907.907 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:53:10,959.959 INFO    ] No existing commands found in stream
[2026-08-29 18:53:15,971.971 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:53:15,974.974 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-08-29 18:53:20,134.134 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:53:20,135.135 INFO    ] Checking for system updates...
[2026-08-29 18:53:20,159.159 INFO    ] 200
[2026-08-29 18:53:20,160.160 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:53:20,193.193 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:53:20,194.194 INFO    ] No update needed
[2026-08-29 18:53:20,195.195 INFO    ] Checking for camera pi updates...
[2026-08-29 18:53:20,216.216 INFO    ] 200
[2026-08-29 18:53:20,217.217 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:53:20,246.246 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:53:20,360.360 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:53:20,363.363 INFO    ] No camera update needed
[2026-08-29 18:53:20,365.365 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:53:20,368.368 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:53:20,374.374 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:53:20,380.380 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:53:22,423.423 INFO    ] ================================================
[2026-08-29 18:53:22,439.439 INFO    ] Launching Daemon at Sat Aug 29 18:53:22 IST 2026
[2026-08-29 18:53:22,450.450 INFO    ] ================================================
[2026-08-29 18:53:23,090.090 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:53:23
[2026-08-29 18:53:23,570.570 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:53:23,716.716 INFO    ] Initializing speech engine...
[2026-08-29 18:53:23,725.725 INFO    ] 2026-08-29 18:53:23
[2026-08-29 18:53:23,934.934 INFO    ] 2026-08-29 18:53:23
[2026-08-29 18:53:23,963.963 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:53:24,100.100 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:53:24,148.148 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:53:24,286.286 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:53:24,347.347 INFO    ] time= 29/08/2026 18:53:24
[2026-08-29 18:53:24,407.407 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:53:24,463.463 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:53:24,594.594 INFO    ] No existing commands found in stream
[2026-08-29 18:53:29,626.626 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:53:29,629.629 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-08-29 18:53:33,925.925 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:53:33,928.928 INFO    ] Checking for system updates...
[2026-08-29 18:53:33,968.968 INFO    ] 200
[2026-08-29 18:53:33,971.971 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:53:34,032.032 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:53:34,034.034 INFO    ] No update needed
[2026-08-29 18:53:34,036.036 INFO    ] Checking for camera pi updates...
[2026-08-29 18:53:34,057.057 INFO    ] 200
[2026-08-29 18:53:34,058.058 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:53:34,084.084 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:53:34,164.164 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:53:34,165.165 INFO    ] No camera update needed
[2026-08-29 18:53:34,167.167 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:53:34,168.168 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:53:34,171.171 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:53:34,174.174 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:53:36,214.214 INFO    ] ================================================
[2026-08-29 18:53:36,230.230 INFO    ] Launching Daemon at Sat Aug 29 18:53:36 IST 2026
[2026-08-29 18:53:36,241.241 INFO    ] ================================================
[2026-08-29 18:53:36,586.586 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:53:36
[2026-08-29 18:53:36,899.899 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:53:37,033.033 INFO    ] Initializing speech engine...
[2026-08-29 18:53:37,045.045 INFO    ] 2026-08-29 18:53:37
[2026-08-29 18:53:37,254.254 INFO    ] 2026-08-29 18:53:37
[2026-08-29 18:53:37,283.283 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:53:37,407.407 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:53:37,465.465 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:53:37,608.608 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:53:37,675.675 INFO    ] time= 29/08/2026 18:53:37
[2026-08-29 18:53:37,689.689 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:53:37,691.691 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:53:37,776.776 INFO    ] No existing commands found in stream
[2026-08-29 18:53:42,787.787 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:53:42,790.790 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-08-29 18:53:44,599.599 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:53:44,600.600 INFO    ] Checking for system updates...
[2026-08-29 18:53:44,621.621 INFO    ] 200
[2026-08-29 18:53:44,622.622 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:53:44,652.652 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:53:44,653.653 INFO    ] No update needed
[2026-08-29 18:53:44,655.655 INFO    ] Checking for camera pi updates...
[2026-08-29 18:53:44,676.676 INFO    ] 200
[2026-08-29 18:53:44,678.678 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:53:44,700.700 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:53:44,794.794 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:53:44,795.795 INFO    ] No camera update needed
[2026-08-29 18:53:44,796.796 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:53:44,797.797 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:53:44,800.800 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:53:44,803.803 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:53:46,844.844 INFO    ] ================================================
[2026-08-29 18:53:46,860.860 INFO    ] Launching Daemon at Sat Aug 29 18:53:46 IST 2026
[2026-08-29 18:53:46,871.871 INFO    ] ================================================
[2026-08-29 18:53:47,422.422 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:53:47
[2026-08-29 18:53:48,084.084 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:53:48,378.378 INFO    ] Initializing speech engine...
[2026-08-29 18:53:48,388.388 INFO    ] 2026-08-29 18:53:48
[2026-08-29 18:53:48,661.661 INFO    ] 2026-08-29 18:53:48
[2026-08-29 18:53:48,719.719 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:53:48,863.863 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:53:48,886.886 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:53:49,017.017 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:53:49,027.027 INFO    ] time= 29/08/2026 18:53:49
[2026-08-29 18:53:49,034.034 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:53:49,080.080 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:53:49,203.203 INFO    ] No existing commands found in stream
[2026-08-29 18:53:54,234.234 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:53:54,237.237 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-08-29 18:53:55,323.323 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:53:55,325.325 INFO    ] Checking for system updates...
[2026-08-29 18:53:55,346.346 INFO    ] 200
[2026-08-29 18:53:55,347.347 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:53:55,378.378 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:53:55,379.379 INFO    ] No update needed
[2026-08-29 18:53:55,380.380 INFO    ] Checking for camera pi updates...
[2026-08-29 18:53:55,401.401 INFO    ] 200
[2026-08-29 18:53:55,402.402 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:53:55,427.427 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:53:55,525.525 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:53:55,526.526 INFO    ] No camera update needed
[2026-08-29 18:53:55,527.527 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:53:55,529.529 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:53:55,532.532 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:53:55,535.535 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:53:57,573.573 INFO    ] ================================================
[2026-08-29 18:53:57,589.589 INFO    ] Launching Daemon at Sat Aug 29 18:53:57 IST 2026
[2026-08-29 18:53:57,601.601 INFO    ] ================================================
[2026-08-29 18:53:57,972.972 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:53:57
[2026-08-29 18:53:58,306.306 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:53:58,458.458 INFO    ] Initializing speech engine...
[2026-08-29 18:53:58,464.464 INFO    ] 2026-08-29 18:53:58
[2026-08-29 18:53:58,667.667 INFO    ] 2026-08-29 18:53:58
[2026-08-29 18:53:58,711.711 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:53:58,939.939 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:53:58,948.948 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:53:59,088.088 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:53:59,143.143 INFO    ] time= 29/08/2026 18:53:59
[2026-08-29 18:53:59,219.219 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:53:59,227.227 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:53:59,356.356 INFO    ] No existing commands found in stream
[2026-08-29 18:54:04,383.383 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:54:04,386.386 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-08-29 18:54:06,618.618 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:54:06,621.621 INFO    ] Checking for system updates...
[2026-08-29 18:54:06,658.658 INFO    ] 200
[2026-08-29 18:54:06,660.660 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:54:06,720.720 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:54:06,723.723 INFO    ] No update needed
[2026-08-29 18:54:06,726.726 INFO    ] Checking for camera pi updates...
[2026-08-29 18:54:06,761.761 INFO    ] 200
[2026-08-29 18:54:06,764.764 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:54:06,806.806 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:54:06,886.886 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:54:06,889.889 INFO    ] No camera update needed
[2026-08-29 18:54:06,891.891 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:54:06,894.894 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:54:06,900.900 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:54:06,906.906 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:54:08,946.946 INFO    ] ================================================
[2026-08-29 18:54:08,962.962 INFO    ] Launching Daemon at Sat Aug 29 18:54:08 IST 2026
[2026-08-29 18:54:08,973.973 INFO    ] ================================================
[2026-08-29 18:54:09,503.503 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:54:09
[2026-08-29 18:54:09,816.816 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:54:09,948.948 INFO    ] Initializing speech engine...
[2026-08-29 18:54:09,951.951 INFO    ] 2026-08-29 18:54:09
[2026-08-29 18:54:10,181.181 INFO    ] 2026-08-29 18:54:10
[2026-08-29 18:54:10,211.211 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:54:10,307.307 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:54:10,340.340 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:54:10,501.501 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:54:10,552.552 INFO    ] time= 29/08/2026 18:54:10
[2026-08-29 18:54:10,568.568 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:54:10,633.633 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:54:10,732.732 INFO    ] No existing commands found in stream
[2026-08-29 18:54:15,740.740 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:54:15,743.743 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 18:54:18,018.018 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:54:18,019.019 INFO    ] Checking for system updates...
[2026-08-29 18:54:18,040.040 INFO    ] 200
[2026-08-29 18:54:18,041.041 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:54:18,073.073 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:54:18,074.074 INFO    ] No update needed
[2026-08-29 18:54:18,075.075 INFO    ] Checking for camera pi updates...
[2026-08-29 18:54:18,094.094 INFO    ] 200
[2026-08-29 18:54:18,096.096 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:54:18,118.118 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:54:18,191.191 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:54:18,192.192 INFO    ] No camera update needed
[2026-08-29 18:54:18,193.193 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:54:18,194.194 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:54:18,197.197 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:54:18,200.200 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:54:20,239.239 INFO    ] ================================================
[2026-08-29 18:54:20,255.255 INFO    ] Launching Daemon at Sat Aug 29 18:54:20 IST 2026
[2026-08-29 18:54:20,267.267 INFO    ] ================================================
[2026-08-29 18:54:20,642.642 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:54:20
[2026-08-29 18:54:20,977.977 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:54:21,126.126 INFO    ] Initializing speech engine...
[2026-08-29 18:54:21,133.133 INFO    ] 2026-08-29 18:54:21
[2026-08-29 18:54:21,347.347 INFO    ] 2026-08-29 18:54:21
[2026-08-29 18:54:21,426.426 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:54:21,580.580 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:54:21,585.585 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:54:21,718.718 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:54:21,756.756 INFO    ] time= 29/08/2026 18:54:21
[2026-08-29 18:54:21,810.810 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:54:21,853.853 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:54:21,912.912 INFO    ] No existing commands found in stream
[2026-08-29 18:54:26,926.926 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:54:26,927.927 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-08-29 18:54:27,922.922 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:54:27,924.924 INFO    ] Checking for system updates...
[2026-08-29 18:54:27,945.945 INFO    ] 200
[2026-08-29 18:54:27,946.946 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:54:27,978.978 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:54:27,979.979 INFO    ] No update needed
[2026-08-29 18:54:27,980.980 INFO    ] Checking for camera pi updates...
[2026-08-29 18:54:28,000.000 INFO    ] 200
[2026-08-29 18:54:28,002.002 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:54:28,026.026 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:54:28,125.125 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:54:28,126.126 INFO    ] No camera update needed
[2026-08-29 18:54:28,127.127 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:54:28,128.128 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:54:28,131.131 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:54:28,134.134 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:54:30,173.173 INFO    ] ================================================
[2026-08-29 18:54:30,189.189 INFO    ] Launching Daemon at Sat Aug 29 18:54:30 IST 2026
[2026-08-29 18:54:30,200.200 INFO    ] ================================================
[2026-08-29 18:54:30,536.536 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:54:30
[2026-08-29 18:54:30,875.875 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:54:31,135.135 INFO    ] Initializing speech engine...
[2026-08-29 18:54:31,141.141 INFO    ] 2026-08-29 18:54:31
[2026-08-29 18:54:31,436.436 INFO    ] 2026-08-29 18:54:31
[2026-08-29 18:54:31,475.475 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:54:31,669.669 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:54:31,674.674 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:54:31,817.817 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:54:31,830.830 INFO    ] time= 29/08/2026 18:54:31
[2026-08-29 18:54:31,850.850 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:54:31,866.866 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:54:31,961.961 INFO    ] No existing commands found in stream
[2026-08-29 18:54:36,974.974 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:54:36,983.983 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 18:54:38,140.140 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:54:38,142.142 INFO    ] Checking for system updates...
[2026-08-29 18:54:38,162.162 INFO    ] 200
[2026-08-29 18:54:38,164.164 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:54:38,194.194 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:54:38,196.196 INFO    ] No update needed
[2026-08-29 18:54:38,197.197 INFO    ] Checking for camera pi updates...
[2026-08-29 18:54:38,216.216 INFO    ] 200
[2026-08-29 18:54:38,217.217 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:54:38,242.242 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:54:38,350.350 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:54:38,352.352 INFO    ] No camera update needed
[2026-08-29 18:54:38,353.353 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:54:38,354.354 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:54:38,357.357 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:54:38,360.360 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:54:40,400.400 INFO    ] ================================================
[2026-08-29 18:54:40,416.416 INFO    ] Launching Daemon at Sat Aug 29 18:54:40 IST 2026
[2026-08-29 18:54:40,427.427 INFO    ] ================================================
[2026-08-29 18:54:40,788.788 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:54:40
[2026-08-29 18:54:41,098.098 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:54:41,244.244 INFO    ] Initializing speech engine...
[2026-08-29 18:54:41,249.249 INFO    ] 2026-08-29 18:54:41
[2026-08-29 18:54:41,456.456 INFO    ] 2026-08-29 18:54:41
[2026-08-29 18:54:41,492.492 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:54:41,684.684 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:54:41,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:54:41,798.798 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:54:41,804.804 INFO    ] time= 29/08/2026 18:54:41
[2026-08-29 18:54:41,827.827 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:54:41,833.833 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:54:41,882.882 INFO    ] No existing commands found in stream
[2026-08-29 18:54:46,893.893 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:54:46,895.895 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-08-29 18:54:47,290.290 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:54:47,292.292 INFO    ] Checking for system updates...
[2026-08-29 18:54:47,313.313 INFO    ] 200
[2026-08-29 18:54:47,315.315 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:54:47,347.347 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:54:47,349.349 INFO    ] No update needed
[2026-08-29 18:54:47,350.350 INFO    ] Checking for camera pi updates...
[2026-08-29 18:54:47,371.371 INFO    ] 200
[2026-08-29 18:54:47,373.373 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:54:47,396.396 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:54:47,478.478 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:54:47,479.479 INFO    ] No camera update needed
[2026-08-29 18:54:47,481.481 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:54:47,482.482 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:54:47,485.485 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:54:47,488.488 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:54:49,529.529 INFO    ] ================================================
[2026-08-29 18:54:49,544.544 INFO    ] Launching Daemon at Sat Aug 29 18:54:49 IST 2026
[2026-08-29 18:54:49,555.555 INFO    ] ================================================
[2026-08-29 18:54:49,901.901 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:54:49
[2026-08-29 18:54:50,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:54:50,356.356 INFO    ] Initializing speech engine...
[2026-08-29 18:54:50,366.366 INFO    ] 2026-08-29 18:54:50
[2026-08-29 18:54:50,565.565 INFO    ] 2026-08-29 18:54:50
[2026-08-29 18:54:50,645.645 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:54:50,792.792 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:54:50,801.801 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:54:50,933.933 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:54:50,980.980 INFO    ] time= 29/08/2026 18:54:50
[2026-08-29 18:54:51,034.034 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:54:51,067.067 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:54:51,118.118 INFO    ] No existing commands found in stream
[2026-08-29 18:54:56,130.130 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:54:56,133.133 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-08-29 18:54:59,188.188 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:54:59,190.190 INFO    ] Checking for system updates...
[2026-08-29 18:54:59,233.233 INFO    ] 200
[2026-08-29 18:54:59,237.237 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:54:59,300.300 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:54:59,303.303 INFO    ] No update needed
[2026-08-29 18:54:59,306.306 INFO    ] Checking for camera pi updates...
[2026-08-29 18:54:59,347.347 INFO    ] 200
[2026-08-29 18:54:59,350.350 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:54:59,398.398 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:54:59,551.551 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:54:59,554.554 INFO    ] No camera update needed
[2026-08-29 18:54:59,557.557 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:54:59,560.560 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:54:59,566.566 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:54:59,572.572 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:55:01,661.661 INFO    ] ================================================
[2026-08-29 18:55:01,689.689 INFO    ] Launching Daemon at Sat Aug 29 18:55:01 IST 2026
[2026-08-29 18:55:01,716.716 INFO    ] ================================================
[2026-08-29 18:55:02,598.598 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:55:02
[2026-08-29 18:55:03,278.278 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:55:03,591.591 INFO    ] Initializing speech engine...
[2026-08-29 18:55:03,600.600 INFO    ] 2026-08-29 18:55:03
[2026-08-29 18:55:03,873.873 INFO    ] 2026-08-29 18:55:03
[2026-08-29 18:55:03,936.936 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:55:04,166.166 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:55:04,177.177 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:55:04,313.313 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:55:04,356.356 INFO    ] time= 29/08/2026 18:55:04
[2026-08-29 18:55:04,415.415 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:55:04,454.454 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:55:04,518.518 INFO    ] No existing commands found in stream
[2026-08-29 18:55:09,556.556 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:55:09,559.559 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-08-29 18:55:11,535.535 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:55:11,536.536 INFO    ] Checking for system updates...
[2026-08-29 18:55:11,558.558 INFO    ] 200
[2026-08-29 18:55:11,559.559 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:55:11,592.592 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:55:11,593.593 INFO    ] No update needed
[2026-08-29 18:55:11,595.595 INFO    ] Checking for camera pi updates...
[2026-08-29 18:55:11,614.614 INFO    ] 200
[2026-08-29 18:55:11,616.616 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:55:11,639.639 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:55:11,741.741 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:55:11,742.742 INFO    ] No camera update needed
[2026-08-29 18:55:11,744.744 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:55:11,745.745 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:55:11,748.748 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:55:11,751.751 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:55:13,790.790 INFO    ] ================================================
[2026-08-29 18:55:13,805.805 INFO    ] Launching Daemon at Sat Aug 29 18:55:13 IST 2026
[2026-08-29 18:55:13,816.816 INFO    ] ================================================
[2026-08-29 18:55:14,298.298 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:55:14
[2026-08-29 18:55:14,881.881 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:55:15,138.138 INFO    ] Initializing speech engine...
[2026-08-29 18:55:15,153.153 INFO    ] 2026-08-29 18:55:15
[2026-08-29 18:55:15,437.437 INFO    ] 2026-08-29 18:55:15
[2026-08-29 18:55:15,475.475 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:55:15,617.617 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:55:15,626.626 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:55:15,776.776 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:55:15,787.787 INFO    ] time= 29/08/2026 18:55:15
[2026-08-29 18:55:15,793.793 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:55:15,814.814 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:55:15,867.867 INFO    ] No existing commands found in stream
[2026-08-29 18:55:20,877.877 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:55:20,880.880 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-08-29 18:55:24,448.448 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:55:24,450.450 INFO    ] Checking for system updates...
[2026-08-29 18:55:24,470.470 INFO    ] 200
[2026-08-29 18:55:24,471.471 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:55:24,502.502 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:55:24,503.503 INFO    ] No update needed
[2026-08-29 18:55:24,504.504 INFO    ] Checking for camera pi updates...
[2026-08-29 18:55:24,523.523 INFO    ] 200
[2026-08-29 18:55:24,525.525 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:55:24,548.548 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:55:24,639.639 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:55:24,642.642 INFO    ] No camera update needed
[2026-08-29 18:55:24,644.644 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:55:24,646.646 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:55:24,652.652 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:55:24,657.657 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:55:26,698.698 INFO    ] ================================================
[2026-08-29 18:55:26,713.713 INFO    ] Launching Daemon at Sat Aug 29 18:55:26 IST 2026
[2026-08-29 18:55:26,725.725 INFO    ] ================================================
[2026-08-29 18:55:27,369.369 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:55:27
[2026-08-29 18:55:27,877.877 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:55:28,021.021 INFO    ] Initializing speech engine...
[2026-08-29 18:55:28,032.032 INFO    ] 2026-08-29 18:55:28
[2026-08-29 18:55:28,234.234 INFO    ] 2026-08-29 18:55:28
[2026-08-29 18:55:28,297.297 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:55:28,455.455 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:55:28,468.468 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:55:28,590.590 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:55:28,597.597 INFO    ] time= 29/08/2026 18:55:28
[2026-08-29 18:55:28,617.617 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:55:28,639.639 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:55:28,720.720 INFO    ] No existing commands found in stream
[2026-08-29 18:55:33,732.732 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:55:33,735.735 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-08-29 18:55:35,128.128 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:55:35,130.130 INFO    ] Checking for system updates...
[2026-08-29 18:55:35,151.151 INFO    ] 200
[2026-08-29 18:55:35,153.153 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:55:35,182.182 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:55:35,183.183 INFO    ] No update needed
[2026-08-29 18:55:35,185.185 INFO    ] Checking for camera pi updates...
[2026-08-29 18:55:35,204.204 INFO    ] 200
[2026-08-29 18:55:35,205.205 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:55:35,228.228 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:55:35,303.303 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:55:35,305.305 INFO    ] No camera update needed
[2026-08-29 18:55:35,306.306 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:55:35,307.307 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:55:35,310.310 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:55:35,313.313 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:55:37,351.351 INFO    ] ================================================
[2026-08-29 18:55:37,367.367 INFO    ] Launching Daemon at Sat Aug 29 18:55:37 IST 2026
[2026-08-29 18:55:37,378.378 INFO    ] ================================================
[2026-08-29 18:55:37,718.718 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:55:37
[2026-08-29 18:55:38,030.030 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:55:38,164.164 INFO    ] Initializing speech engine...
[2026-08-29 18:55:38,168.168 INFO    ] 2026-08-29 18:55:38
[2026-08-29 18:55:38,430.430 INFO    ] 2026-08-29 18:55:38
[2026-08-29 18:55:38,465.465 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:55:38,614.614 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:55:38,625.625 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:55:38,767.767 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:55:38,777.777 INFO    ] time= 29/08/2026 18:55:38
[2026-08-29 18:55:38,782.782 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:55:38,805.805 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:55:38,862.862 INFO    ] No existing commands found in stream
[2026-08-29 18:55:43,873.873 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:55:43,875.875 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-08-29 18:55:45,881.881 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:55:45,883.883 INFO    ] Checking for system updates...
[2026-08-29 18:55:45,903.903 INFO    ] 200
[2026-08-29 18:55:45,904.904 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:55:45,935.935 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:55:45,936.936 INFO    ] No update needed
[2026-08-29 18:55:45,937.937 INFO    ] Checking for camera pi updates...
[2026-08-29 18:55:45,956.956 INFO    ] 200
[2026-08-29 18:55:45,957.957 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:55:45,983.983 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:55:46,081.081 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:55:46,082.082 INFO    ] No camera update needed
[2026-08-29 18:55:46,084.084 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:55:46,085.085 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:55:46,088.088 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:55:46,090.090 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:55:48,132.132 INFO    ] ================================================
[2026-08-29 18:55:48,147.147 INFO    ] Launching Daemon at Sat Aug 29 18:55:48 IST 2026
[2026-08-29 18:55:48,158.158 INFO    ] ================================================
[2026-08-29 18:55:48,525.525 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:55:48
[2026-08-29 18:55:48,843.843 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:55:48,974.974 INFO    ] Initializing speech engine...
[2026-08-29 18:55:48,978.978 INFO    ] 2026-08-29 18:55:48
[2026-08-29 18:55:49,244.244 INFO    ] 2026-08-29 18:55:49
[2026-08-29 18:55:49,273.273 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:55:49,422.422 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:55:49,429.429 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:55:49,586.586 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:55:49,636.636 INFO    ] time= 29/08/2026 18:55:49
[2026-08-29 18:55:49,642.642 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:55:49,660.660 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:55:49,761.761 INFO    ] No existing commands found in stream
[2026-08-29 18:55:54,784.784 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:55:54,786.786 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 18:55:57,460.460 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:55:57,462.462 INFO    ] Checking for system updates...
[2026-08-29 18:55:57,482.482 INFO    ] 200
[2026-08-29 18:55:57,484.484 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:55:57,514.514 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:55:57,515.515 INFO    ] No update needed
[2026-08-29 18:55:57,517.517 INFO    ] Checking for camera pi updates...
[2026-08-29 18:55:57,536.536 INFO    ] 200
[2026-08-29 18:55:57,537.537 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:55:57,560.560 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:55:57,638.638 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:55:57,640.640 INFO    ] No camera update needed
[2026-08-29 18:55:57,641.641 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:55:57,642.642 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:55:57,645.645 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:55:57,648.648 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:55:59,686.686 INFO    ] ================================================
[2026-08-29 18:55:59,701.701 INFO    ] Launching Daemon at Sat Aug 29 18:55:59 IST 2026
[2026-08-29 18:55:59,711.711 INFO    ] ================================================
[2026-08-29 18:56:00,060.060 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:56:00
[2026-08-29 18:56:00,393.393 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:56:00,537.537 INFO    ] Initializing speech engine...
[2026-08-29 18:56:00,548.548 INFO    ] 2026-08-29 18:56:00
[2026-08-29 18:56:00,756.756 INFO    ] 2026-08-29 18:56:00
[2026-08-29 18:56:00,785.785 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:56:00,906.906 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:56:00,951.951 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:56:01,101.101 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:56:01,163.163 INFO    ] time= 29/08/2026 18:56:01
[2026-08-29 18:56:01,200.200 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:56:01,202.202 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:56:01,274.274 INFO    ] No existing commands found in stream
[2026-08-29 18:56:06,283.283 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:56:06,286.286 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 18:56:08,545.545 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:56:08,546.546 INFO    ] Checking for system updates...
[2026-08-29 18:56:08,567.567 INFO    ] 200
[2026-08-29 18:56:08,568.568 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:56:08,599.599 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:56:08,600.600 INFO    ] No update needed
[2026-08-29 18:56:08,602.602 INFO    ] Checking for camera pi updates...
[2026-08-29 18:56:08,622.622 INFO    ] 200
[2026-08-29 18:56:08,624.624 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:56:08,647.647 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:56:08,743.743 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:56:08,744.744 INFO    ] No camera update needed
[2026-08-29 18:56:08,746.746 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:56:08,747.747 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:56:08,750.750 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:56:08,753.753 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:56:10,793.793 INFO    ] ================================================
[2026-08-29 18:56:10,808.808 INFO    ] Launching Daemon at Sat Aug 29 18:56:10 IST 2026
[2026-08-29 18:56:10,819.819 INFO    ] ================================================
[2026-08-29 18:56:11,164.164 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:56:11
[2026-08-29 18:56:11,485.485 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:56:11,617.617 INFO    ] Initializing speech engine...
[2026-08-29 18:56:11,620.620 INFO    ] 2026-08-29 18:56:11
[2026-08-29 18:56:11,837.837 INFO    ] 2026-08-29 18:56:11
[2026-08-29 18:56:11,879.879 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:56:12,051.051 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:56:12,060.060 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:56:12,187.187 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:56:12,250.250 INFO    ] time= 29/08/2026 18:56:12
[2026-08-29 18:56:12,282.282 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:56:12,288.288 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:56:12,354.354 INFO    ] No existing commands found in stream
[2026-08-29 18:56:17,365.365 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:56:17,368.368 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-08-29 18:56:20,742.742 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:56:20,744.744 INFO    ] Checking for system updates...
[2026-08-29 18:56:20,765.765 INFO    ] 200
[2026-08-29 18:56:20,766.766 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:56:20,796.796 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:56:20,798.798 INFO    ] No update needed
[2026-08-29 18:56:20,799.799 INFO    ] Checking for camera pi updates...
[2026-08-29 18:56:20,819.819 INFO    ] 200
[2026-08-29 18:56:20,820.820 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:56:20,843.843 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:56:20,933.933 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:56:20,934.934 INFO    ] No camera update needed
[2026-08-29 18:56:20,935.935 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:56:20,937.937 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:56:20,940.940 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:56:20,943.943 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:56:22,981.981 INFO    ] ================================================
[2026-08-29 18:56:23,997.997 INFO    ] Launching Daemon at Sat Aug 29 18:56:22 IST 2026
[2026-08-29 18:56:23,007.007 INFO    ] ================================================
[2026-08-29 18:56:23,365.365 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:56:23
[2026-08-29 18:56:23,681.681 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:56:23,819.819 INFO    ] Initializing speech engine...
[2026-08-29 18:56:23,830.830 INFO    ] 2026-08-29 18:56:23
[2026-08-29 18:56:24,033.033 INFO    ] 2026-08-29 18:56:24
[2026-08-29 18:56:24,062.062 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:56:24,184.184 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:56:24,246.246 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:56:24,390.390 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:56:24,451.451 INFO    ] time= 29/08/2026 18:56:24
[2026-08-29 18:56:24,475.475 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:56:24,477.477 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:56:24,547.547 INFO    ] No existing commands found in stream
[2026-08-29 18:56:29,558.558 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:56:29,560.560 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-08-29 18:56:30,805.805 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 18:56:30,807.807 INFO    ] Checking for system updates...
[2026-08-29 18:56:30,827.827 INFO    ] 200
[2026-08-29 18:56:30,829.829 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:56:30,859.859 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:56:30,861.861 INFO    ] No update needed
[2026-08-29 18:56:30,862.862 INFO    ] Checking for camera pi updates...
[2026-08-29 18:56:30,884.884 INFO    ] 200
[2026-08-29 18:56:30,885.885 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:56:30,912.912 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:56:31,013.013 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:56:31,014.014 INFO    ] No camera update needed
[2026-08-29 18:56:31,015.015 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:56:31,017.017 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:56:31,020.020 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:56:31,022.022 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:56:33,063.063 INFO    ] ================================================
[2026-08-29 18:56:33,079.079 INFO    ] Launching Daemon at Sat Aug 29 18:56:33 IST 2026
[2026-08-29 18:56:33,090.090 INFO    ] ================================================
[2026-08-29 18:56:33,673.673 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:56:33
[2026-08-29 18:56:34,273.273 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:56:34,552.552 INFO    ] Initializing speech engine...
[2026-08-29 18:56:34,560.560 INFO    ] 2026-08-29 18:56:34
[2026-08-29 18:56:34,828.828 INFO    ] 2026-08-29 18:56:34
[2026-08-29 18:56:34,866.866 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:56:35,062.062 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:56:35,068.068 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:56:35,209.209 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:56:35,213.213 INFO    ] time= 29/08/2026 18:56:35
[2026-08-29 18:56:35,224.224 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:56:35,240.240 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:56:35,323.323 INFO    ] No existing commands found in stream
[2026-08-29 18:56:40,353.353 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:56:40,356.356 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-08-29 18:56:44,188.188 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:56:44,190.190 INFO    ] Checking for system updates...
[2026-08-29 18:56:44,211.211 INFO    ] 200
[2026-08-29 18:56:44,213.213 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:56:44,243.243 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:56:44,244.244 INFO    ] No update needed
[2026-08-29 18:56:44,245.245 INFO    ] Checking for camera pi updates...
[2026-08-29 18:56:44,264.264 INFO    ] 200
[2026-08-29 18:56:44,266.266 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:56:44,291.291 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:56:44,399.399 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:56:44,400.400 INFO    ] No camera update needed
[2026-08-29 18:56:44,401.401 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:56:44,403.403 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:56:44,406.406 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:56:44,408.408 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:56:46,448.448 INFO    ] ================================================
[2026-08-29 18:56:46,464.464 INFO    ] Launching Daemon at Sat Aug 29 18:56:46 IST 2026
[2026-08-29 18:56:46,474.474 INFO    ] ================================================
[2026-08-29 18:56:46,813.813 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:56:46
[2026-08-29 18:56:47,131.131 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:56:47,267.267 INFO    ] Initializing speech engine...
[2026-08-29 18:56:47,276.276 INFO    ] 2026-08-29 18:56:47
[2026-08-29 18:56:47,499.499 INFO    ] 2026-08-29 18:56:47
[2026-08-29 18:56:47,530.530 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:56:47,671.671 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:56:47,679.679 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:56:47,846.846 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:56:47,891.891 INFO    ] time= 29/08/2026 18:56:47
[2026-08-29 18:56:47,907.907 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:56:47,914.914 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:56:48,031.031 INFO    ] No existing commands found in stream
[2026-08-29 18:56:53,054.054 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:56:53,056.056 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-08-29 18:56:57,240.240 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:56:57,241.241 INFO    ] Checking for system updates...
[2026-08-29 18:56:57,262.262 INFO    ] 200
[2026-08-29 18:56:57,263.263 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:56:57,294.294 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:56:57,295.295 INFO    ] No update needed
[2026-08-29 18:56:57,296.296 INFO    ] Checking for camera pi updates...
[2026-08-29 18:56:57,315.315 INFO    ] 200
[2026-08-29 18:56:57,317.317 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:56:57,340.340 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:56:57,441.441 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:56:57,442.442 INFO    ] No camera update needed
[2026-08-29 18:56:57,443.443 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:56:57,445.445 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:56:57,447.447 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:56:57,450.450 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:56:59,498.498 INFO    ] ================================================
[2026-08-29 18:56:59,514.514 INFO    ] Launching Daemon at Sat Aug 29 18:56:59 IST 2026
[2026-08-29 18:56:59,524.524 INFO    ] ================================================
[2026-08-29 18:56:59,900.900 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:56:59
[2026-08-29 18:57:00,235.235 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:57:00,386.386 INFO    ] Initializing speech engine...
[2026-08-29 18:57:00,392.392 INFO    ] 2026-08-29 18:57:00
[2026-08-29 18:57:00,598.598 INFO    ] 2026-08-29 18:57:00
[2026-08-29 18:57:00,627.627 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:57:00,770.770 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:57:00,814.814 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:57:00,948.948 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:57:01,016.016 INFO    ] time= 29/08/2026 18:57:00
[2026-08-29 18:57:01,045.045 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:57:01,051.051 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:57:01,117.117 INFO    ] No existing commands found in stream
[2026-08-29 18:57:06,128.128 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:57:06,131.131 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-08-29 18:57:09,768.768 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:57:09,770.770 INFO    ] Checking for system updates...
[2026-08-29 18:57:09,790.790 INFO    ] 200
[2026-08-29 18:57:09,792.792 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:57:09,822.822 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:57:09,824.824 INFO    ] No update needed
[2026-08-29 18:57:09,825.825 INFO    ] Checking for camera pi updates...
[2026-08-29 18:57:09,845.845 INFO    ] 200
[2026-08-29 18:57:09,847.847 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:57:09,872.872 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:57:09,964.964 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:57:09,966.966 INFO    ] No camera update needed
[2026-08-29 18:57:09,967.967 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:57:09,968.968 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:57:09,971.971 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:57:09,974.974 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:57:12,015.015 INFO    ] ================================================
[2026-08-29 18:57:12,030.030 INFO    ] Launching Daemon at Sat Aug 29 18:57:12 IST 2026
[2026-08-29 18:57:12,040.040 INFO    ] ================================================
[2026-08-29 18:57:12,417.417 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:57:12
[2026-08-29 18:57:12,907.907 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:57:13,184.184 INFO    ] Initializing speech engine...
[2026-08-29 18:57:13,191.191 INFO    ] 2026-08-29 18:57:13
[2026-08-29 18:57:13,437.437 INFO    ] 2026-08-29 18:57:13
[2026-08-29 18:57:13,504.504 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:57:13,726.726 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:57:13,736.736 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:57:13,869.869 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:57:13,929.929 INFO    ] time= 29/08/2026 18:57:13
[2026-08-29 18:57:13,988.988 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:57:14,003.003 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:57:14,122.122 INFO    ] No existing commands found in stream
[2026-08-29 18:57:19,153.153 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:57:19,156.156 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-08-29 18:57:21,530.530 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:57:21,532.532 INFO    ] Checking for system updates...
[2026-08-29 18:57:21,555.555 INFO    ] 200
[2026-08-29 18:57:21,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:57:21,586.586 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:57:21,588.588 INFO    ] No update needed
[2026-08-29 18:57:21,589.589 INFO    ] Checking for camera pi updates...
[2026-08-29 18:57:21,611.611 INFO    ] 200
[2026-08-29 18:57:21,612.612 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:57:21,640.640 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:57:21,718.718 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:57:21,720.720 INFO    ] No camera update needed
[2026-08-29 18:57:21,721.721 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:57:21,722.722 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:57:21,725.725 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:57:21,728.728 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:57:23,767.767 INFO    ] ================================================
[2026-08-29 18:57:23,782.782 INFO    ] Launching Daemon at Sat Aug 29 18:57:23 IST 2026
[2026-08-29 18:57:23,792.792 INFO    ] ================================================
[2026-08-29 18:57:24,143.143 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:57:24
[2026-08-29 18:57:24,460.460 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:57:24,617.617 INFO    ] Initializing speech engine...
[2026-08-29 18:57:24,620.620 INFO    ] 2026-08-29 18:57:24
[2026-08-29 18:57:24,822.822 INFO    ] 2026-08-29 18:57:24
[2026-08-29 18:57:24,853.853 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:57:24,976.976 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:57:25,038.038 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:57:25,168.168 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:57:25,218.218 INFO    ] time= 29/08/2026 18:57:25
[2026-08-29 18:57:25,258.258 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:57:25,268.268 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:57:25,340.340 INFO    ] No existing commands found in stream
[2026-08-29 18:57:30,354.354 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:57:30,357.357 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 18:57:33,941.941 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:57:33,944.944 INFO    ] Checking for system updates...
[2026-08-29 18:57:33,981.981 INFO    ] 200
[2026-08-29 18:57:33,984.984 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:57:34,042.042 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:57:34,045.045 INFO    ] No update needed
[2026-08-29 18:57:34,047.047 INFO    ] Checking for camera pi updates...
[2026-08-29 18:57:34,081.081 INFO    ] 200
[2026-08-29 18:57:34,084.084 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:57:34,128.128 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:57:34,249.249 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:57:34,252.252 INFO    ] No camera update needed
[2026-08-29 18:57:34,255.255 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:57:34,257.257 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:57:34,263.263 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:57:34,269.269 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:57:36,309.309 INFO    ] ================================================
[2026-08-29 18:57:36,324.324 INFO    ] Launching Daemon at Sat Aug 29 18:57:36 IST 2026
[2026-08-29 18:57:36,335.335 INFO    ] ================================================
[2026-08-29 18:57:36,701.701 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:57:36
[2026-08-29 18:57:37,012.012 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:57:37,153.153 INFO    ] Initializing speech engine...
[2026-08-29 18:57:37,158.158 INFO    ] 2026-08-29 18:57:37
[2026-08-29 18:57:37,361.361 INFO    ] 2026-08-29 18:57:37
[2026-08-29 18:57:37,425.425 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:57:37,608.608 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:57:37,618.618 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:57:37,763.763 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:57:37,770.770 INFO    ] time= 29/08/2026 18:57:37
[2026-08-29 18:57:37,824.824 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:57:37,884.884 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:57:37,965.965 INFO    ] No existing commands found in stream
[2026-08-29 18:57:42,977.977 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:57:42,980.980 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-08-29 18:57:45,063.063 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:57:45,064.064 INFO    ] Checking for system updates...
[2026-08-29 18:57:45,085.085 INFO    ] 200
[2026-08-29 18:57:45,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:57:45,117.117 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:57:45,119.119 INFO    ] No update needed
[2026-08-29 18:57:45,120.120 INFO    ] Checking for camera pi updates...
[2026-08-29 18:57:45,139.139 INFO    ] 200
[2026-08-29 18:57:45,141.141 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:57:45,165.165 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:57:45,288.288 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:57:45,289.289 INFO    ] No camera update needed
[2026-08-29 18:57:45,291.291 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:57:45,292.292 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:57:45,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:57:45,298.298 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:57:47,336.336 INFO    ] ================================================
[2026-08-29 18:57:47,351.351 INFO    ] Launching Daemon at Sat Aug 29 18:57:47 IST 2026
[2026-08-29 18:57:47,362.362 INFO    ] ================================================
[2026-08-29 18:57:47,684.684 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:57:47
[2026-08-29 18:57:47,996.996 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:57:48,140.140 INFO    ] Initializing speech engine...
[2026-08-29 18:57:48,145.145 INFO    ] 2026-08-29 18:57:48
[2026-08-29 18:57:48,347.347 INFO    ] 2026-08-29 18:57:48
[2026-08-29 18:57:48,376.376 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:57:48,535.535 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:57:48,542.542 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:57:48,716.716 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:57:48,741.741 INFO    ] time= 29/08/2026 18:57:48
[2026-08-29 18:57:48,747.747 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:57:48,765.765 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:57:48,885.885 INFO    ] No existing commands found in stream
[2026-08-29 18:57:53,906.906 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:57:53,909.909 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-08-29 18:57:54,859.859 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:57:54,861.861 INFO    ] Checking for system updates...
[2026-08-29 18:57:54,881.881 INFO    ] 200
[2026-08-29 18:57:54,883.883 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:57:54,913.913 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:57:54,914.914 INFO    ] No update needed
[2026-08-29 18:57:54,916.916 INFO    ] Checking for camera pi updates...
[2026-08-29 18:57:54,936.936 INFO    ] 200
[2026-08-29 18:57:54,939.939 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:57:54,979.979 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:57:55,059.059 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:57:55,061.061 INFO    ] No camera update needed
[2026-08-29 18:57:55,064.064 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:57:55,066.066 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:57:55,071.071 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:57:55,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:57:57,117.117 INFO    ] ================================================
[2026-08-29 18:57:57,132.132 INFO    ] Launching Daemon at Sat Aug 29 18:57:57 IST 2026
[2026-08-29 18:57:57,143.143 INFO    ] ================================================
[2026-08-29 18:57:57,707.707 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:57:57
[2026-08-29 18:57:58,206.206 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:57:58,465.465 INFO    ] Initializing speech engine...
[2026-08-29 18:57:58,489.489 INFO    ] 2026-08-29 18:57:58
[2026-08-29 18:57:58,759.759 INFO    ] 2026-08-29 18:57:58
[2026-08-29 18:57:58,795.795 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:57:58,985.985 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:57:58,991.991 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:57:59,097.097 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:57:59,102.102 INFO    ] time= 29/08/2026 18:57:59
[2026-08-29 18:57:59,124.124 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:57:59,130.130 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:57:59,183.183 INFO    ] No existing commands found in stream
[2026-08-29 18:58:04,201.201 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:58:04,204.204 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-08-29 18:58:07,135.135 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 18:58:07,138.138 INFO    ] Checking for system updates...
[2026-08-29 18:58:07,173.173 INFO    ] 200
[2026-08-29 18:58:07,175.175 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:58:07,229.229 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:58:07,231.231 INFO    ] No update needed
[2026-08-29 18:58:07,234.234 INFO    ] Checking for camera pi updates...
[2026-08-29 18:58:07,267.267 INFO    ] 200
[2026-08-29 18:58:07,270.270 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:58:07,311.311 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:58:07,415.415 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:58:07,418.418 INFO    ] No camera update needed
[2026-08-29 18:58:07,420.420 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:58:07,422.422 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:58:07,427.427 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:58:07,432.432 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:58:09,475.475 INFO    ] ================================================
[2026-08-29 18:58:09,490.490 INFO    ] Launching Daemon at Sat Aug 29 18:58:09 IST 2026
[2026-08-29 18:58:09,500.500 INFO    ] ================================================
[2026-08-29 18:58:10,131.131 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:58:10
[2026-08-29 18:58:10,482.482 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:58:10,690.690 INFO    ] Initializing speech engine...
[2026-08-29 18:58:10,701.701 INFO    ] 2026-08-29 18:58:10
[2026-08-29 18:58:10,972.972 INFO    ] 2026-08-29 18:58:10
[2026-08-29 18:58:11,027.027 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:58:11,250.250 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:58:11,260.260 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:58:11,395.395 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:58:11,455.455 INFO    ] time= 29/08/2026 18:58:11
[2026-08-29 18:58:11,515.515 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:58:11,527.527 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:58:11,650.650 INFO    ] No existing commands found in stream
[2026-08-29 18:58:16,676.676 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:58:16,679.679 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-08-29 18:58:18,280.280 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:58:18,281.281 INFO    ] Checking for system updates...
[2026-08-29 18:58:18,303.303 INFO    ] 200
[2026-08-29 18:58:18,305.305 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:58:18,337.337 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:58:18,339.339 INFO    ] No update needed
[2026-08-29 18:58:18,340.340 INFO    ] Checking for camera pi updates...
[2026-08-29 18:58:18,359.359 INFO    ] 200
[2026-08-29 18:58:18,361.361 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:58:18,384.384 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:58:18,456.456 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:58:18,457.457 INFO    ] No camera update needed
[2026-08-29 18:58:18,459.459 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:58:18,460.460 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:58:18,463.463 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:58:18,466.466 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:58:20,505.505 INFO    ] ================================================
[2026-08-29 18:58:20,521.521 INFO    ] Launching Daemon at Sat Aug 29 18:58:20 IST 2026
[2026-08-29 18:58:20,532.532 INFO    ] ================================================
[2026-08-29 18:58:20,866.866 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:58:20
[2026-08-29 18:58:21,177.177 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:58:21,309.309 INFO    ] Initializing speech engine...
[2026-08-29 18:58:21,321.321 INFO    ] 2026-08-29 18:58:21
[2026-08-29 18:58:21,512.512 INFO    ] 2026-08-29 18:58:21
[2026-08-29 18:58:21,586.586 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:58:21,738.738 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:58:21,747.747 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:58:21,859.859 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:58:21,878.878 INFO    ] time= 29/08/2026 18:58:21
[2026-08-29 18:58:21,900.900 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:58:21,959.959 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:58:22,030.030 INFO    ] No existing commands found in stream
[2026-08-29 18:58:27,051.051 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:58:27,054.054 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-08-29 18:58:28,647.647 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:58:28,648.648 INFO    ] Checking for system updates...
[2026-08-29 18:58:28,668.668 INFO    ] 200
[2026-08-29 18:58:28,670.670 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:58:28,700.700 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:58:28,701.701 INFO    ] No update needed
[2026-08-29 18:58:28,703.703 INFO    ] Checking for camera pi updates...
[2026-08-29 18:58:28,722.722 INFO    ] 200
[2026-08-29 18:58:28,723.723 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:58:28,746.746 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:58:28,857.857 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:58:28,858.858 INFO    ] No camera update needed
[2026-08-29 18:58:28,860.860 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:58:28,861.861 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:58:28,864.864 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:58:28,867.867 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:58:30,905.905 INFO    ] ================================================
[2026-08-29 18:58:30,920.920 INFO    ] Launching Daemon at Sat Aug 29 18:58:30 IST 2026
[2026-08-29 18:58:30,931.931 INFO    ] ================================================
[2026-08-29 18:58:31,491.491 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:58:31
[2026-08-29 18:58:32,124.124 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:58:32,417.417 INFO    ] Initializing speech engine...
[2026-08-29 18:58:32,423.423 INFO    ] 2026-08-29 18:58:32
[2026-08-29 18:58:32,711.711 INFO    ] 2026-08-29 18:58:32
[2026-08-29 18:58:32,749.749 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:58:32,942.942 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:58:32,948.948 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:58:33,079.079 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:58:33,088.088 INFO    ] time= 29/08/2026 18:58:33
[2026-08-29 18:58:33,107.107 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:58:33,129.129 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:58:33,212.212 INFO    ] No existing commands found in stream
[2026-08-29 18:58:38,224.224 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:58:38,227.227 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-08-29 18:58:39,065.065 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:58:39,066.066 INFO    ] Checking for system updates...
[2026-08-29 18:58:39,086.086 INFO    ] 200
[2026-08-29 18:58:39,088.088 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:58:39,118.118 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:58:39,119.119 INFO    ] No update needed
[2026-08-29 18:58:39,120.120 INFO    ] Checking for camera pi updates...
[2026-08-29 18:58:39,139.139 INFO    ] 200
[2026-08-29 18:58:39,141.141 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:58:39,164.164 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:58:39,239.239 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:58:39,241.241 INFO    ] No camera update needed
[2026-08-29 18:58:39,242.242 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:58:39,244.244 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:58:39,246.246 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:58:39,249.249 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:58:41,288.288 INFO    ] ================================================
[2026-08-29 18:58:41,304.304 INFO    ] Launching Daemon at Sat Aug 29 18:58:41 IST 2026
[2026-08-29 18:58:41,315.315 INFO    ] ================================================
[2026-08-29 18:58:41,687.687 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:58:41
[2026-08-29 18:58:42,020.020 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:58:42,170.170 INFO    ] Initializing speech engine...
[2026-08-29 18:58:42,175.175 INFO    ] 2026-08-29 18:58:42
[2026-08-29 18:58:42,423.423 INFO    ] 2026-08-29 18:58:42
[2026-08-29 18:58:42,480.480 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:58:42,635.635 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:58:42,654.654 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:58:42,836.836 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:58:42,860.860 INFO    ] time= 29/08/2026 18:58:42
[2026-08-29 18:58:42,878.878 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:58:42,889.889 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:58:43,010.010 INFO    ] No existing commands found in stream
[2026-08-29 18:58:48,031.031 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:58:48,034.034 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-08-29 18:58:50,408.408 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:58:50,410.410 INFO    ] Checking for system updates...
[2026-08-29 18:58:50,430.430 INFO    ] 200
[2026-08-29 18:58:50,432.432 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:58:50,464.464 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:58:50,465.465 INFO    ] No update needed
[2026-08-29 18:58:50,467.467 INFO    ] Checking for camera pi updates...
[2026-08-29 18:58:50,486.486 INFO    ] 200
[2026-08-29 18:58:50,488.488 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:58:50,511.511 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:58:50,600.600 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:58:50,601.601 INFO    ] No camera update needed
[2026-08-29 18:58:50,603.603 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:58:50,604.604 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:58:50,607.607 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:58:50,610.610 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:58:52,651.651 INFO    ] ================================================
[2026-08-29 18:58:52,666.666 INFO    ] Launching Daemon at Sat Aug 29 18:58:52 IST 2026
[2026-08-29 18:58:52,677.677 INFO    ] ================================================
[2026-08-29 18:58:53,040.040 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:58:53
[2026-08-29 18:58:53,372.372 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:58:53,518.518 INFO    ] Initializing speech engine...
[2026-08-29 18:58:53,528.528 INFO    ] 2026-08-29 18:58:53
[2026-08-29 18:58:53,738.738 INFO    ] 2026-08-29 18:58:53
[2026-08-29 18:58:53,767.767 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:58:53,891.891 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:58:53,939.939 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:58:54,116.116 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:58:54,164.164 INFO    ] time= 29/08/2026 18:58:54
[2026-08-29 18:58:54,229.229 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:58:54,257.257 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:58:54,377.377 INFO    ] No existing commands found in stream
[2026-08-29 18:58:59,404.404 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:58:59,407.407 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-08-29 18:59:01,089.089 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 18:59:01,094.094 INFO    ] Checking for system updates...
[2026-08-29 18:59:01,165.165 INFO    ] 200
[2026-08-29 18:59:01,169.169 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:59:01,261.261 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:59:01,265.265 INFO    ] No update needed
[2026-08-29 18:59:01,274.274 INFO    ] Checking for camera pi updates...
[2026-08-29 18:59:01,339.339 INFO    ] 200
[2026-08-29 18:59:01,343.343 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:59:01,434.434 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:59:01,557.557 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:59:01,560.560 INFO    ] No camera update needed
[2026-08-29 18:59:01,563.563 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:59:01,566.566 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:59:01,573.573 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:59:01,579.579 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:59:03,623.623 INFO    ] ================================================
[2026-08-29 18:59:03,638.638 INFO    ] Launching Daemon at Sat Aug 29 18:59:03 IST 2026
[2026-08-29 18:59:03,648.648 INFO    ] ================================================
[2026-08-29 18:59:04,232.232 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:59:04
[2026-08-29 18:59:04,550.550 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:59:04,687.687 INFO    ] Initializing speech engine...
[2026-08-29 18:59:04,690.690 INFO    ] 2026-08-29 18:59:04
[2026-08-29 18:59:04,901.901 INFO    ] 2026-08-29 18:59:04
[2026-08-29 18:59:04,930.930 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:59:05,055.055 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:59:05,091.091 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:59:05,194.194 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:59:05,199.199 INFO    ] time= 29/08/2026 18:59:05
[2026-08-29 18:59:05,249.249 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:59:05,288.288 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:59:05,394.394 INFO    ] No existing commands found in stream
[2026-08-29 18:59:10,420.420 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:59:10,423.423 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-08-29 18:59:12,330.330 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:59:12,331.331 INFO    ] Checking for system updates...
[2026-08-29 18:59:12,352.352 INFO    ] 200
[2026-08-29 18:59:12,353.353 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:59:12,384.384 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:59:12,385.385 INFO    ] No update needed
[2026-08-29 18:59:12,386.386 INFO    ] Checking for camera pi updates...
[2026-08-29 18:59:12,408.408 INFO    ] 200
[2026-08-29 18:59:12,411.411 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:59:12,452.452 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:59:12,533.533 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:59:12,536.536 INFO    ] No camera update needed
[2026-08-29 18:59:12,538.538 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:59:12,541.541 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:59:12,548.548 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:59:12,554.554 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:59:14,596.596 INFO    ] ================================================
[2026-08-29 18:59:14,611.611 INFO    ] Launching Daemon at Sat Aug 29 18:59:14 IST 2026
[2026-08-29 18:59:14,622.622 INFO    ] ================================================
[2026-08-29 18:59:15,277.277 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:59:15
[2026-08-29 18:59:15,745.745 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:59:15,900.900 INFO    ] Initializing speech engine...
[2026-08-29 18:59:15,904.904 INFO    ] 2026-08-29 18:59:15
[2026-08-29 18:59:16,110.110 INFO    ] 2026-08-29 18:59:16
[2026-08-29 18:59:16,140.140 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:59:16,289.289 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:59:16,328.328 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:59:16,462.462 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:59:16,523.523 INFO    ] time= 29/08/2026 18:59:16
[2026-08-29 18:59:16,556.556 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:59:16,563.563 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:59:16,628.628 INFO    ] No existing commands found in stream
[2026-08-29 18:59:21,639.639 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:59:21,642.642 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-08-29 18:59:25,058.058 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:59:25,060.060 INFO    ] Checking for system updates...
[2026-08-29 18:59:25,080.080 INFO    ] 200
[2026-08-29 18:59:25,082.082 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:59:25,113.113 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:59:25,115.115 INFO    ] No update needed
[2026-08-29 18:59:25,116.116 INFO    ] Checking for camera pi updates...
[2026-08-29 18:59:25,136.136 INFO    ] 200
[2026-08-29 18:59:25,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:59:25,161.161 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:59:25,243.243 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:59:25,244.244 INFO    ] No camera update needed
[2026-08-29 18:59:25,245.245 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:59:25,246.246 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:59:25,249.249 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:59:25,252.252 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:59:27,294.294 INFO    ] ================================================
[2026-08-29 18:59:27,309.309 INFO    ] Launching Daemon at Sat Aug 29 18:59:27 IST 2026
[2026-08-29 18:59:27,320.320 INFO    ] ================================================
[2026-08-29 18:59:27,669.669 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:59:27
[2026-08-29 18:59:27,986.986 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:59:28,224.224 INFO    ] Initializing speech engine...
[2026-08-29 18:59:28,233.233 INFO    ] 2026-08-29 18:59:28
[2026-08-29 18:59:28,491.491 INFO    ] 2026-08-29 18:59:28
[2026-08-29 18:59:28,521.521 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:59:28,687.687 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:59:28,710.710 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:59:28,840.840 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:59:28,848.848 INFO    ] time= 29/08/2026 18:59:28
[2026-08-29 18:59:28,854.854 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:59:28,890.890 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:59:29,028.028 INFO    ] No existing commands found in stream
[2026-08-29 18:59:34,054.054 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:59:34,057.057 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-08-29 18:59:36,105.105 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 18:59:36,106.106 INFO    ] Checking for system updates...
[2026-08-29 18:59:36,127.127 INFO    ] 200
[2026-08-29 18:59:36,128.128 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:59:36,162.162 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:59:36,164.164 INFO    ] No update needed
[2026-08-29 18:59:36,165.165 INFO    ] Checking for camera pi updates...
[2026-08-29 18:59:36,185.185 INFO    ] 200
[2026-08-29 18:59:36,187.187 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:59:36,210.210 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:59:36,289.289 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:59:36,290.290 INFO    ] No camera update needed
[2026-08-29 18:59:36,292.292 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:59:36,293.293 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:59:36,296.296 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:59:36,299.299 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:59:38,339.339 INFO    ] ================================================
[2026-08-29 18:59:38,358.358 INFO    ] Launching Daemon at Sat Aug 29 18:59:38 IST 2026
[2026-08-29 18:59:38,370.370 INFO    ] ================================================
[2026-08-29 18:59:38,848.848 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:59:38
[2026-08-29 18:59:39,435.435 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:59:39,705.705 INFO    ] Initializing speech engine...
[2026-08-29 18:59:39,716.716 INFO    ] 2026-08-29 18:59:39
[2026-08-29 18:59:39,960.960 INFO    ] 2026-08-29 18:59:39
[2026-08-29 18:59:39,996.996 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:59:40,246.246 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:59:40,256.256 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:59:40,387.387 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:59:40,394.394 INFO    ] time= 29/08/2026 18:59:40
[2026-08-29 18:59:40,453.453 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:59:40,507.507 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:59:40,582.582 INFO    ] No existing commands found in stream
[2026-08-29 18:59:45,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:59:45,617.617 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-08-29 18:59:47,373.373 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 18:59:47,375.375 INFO    ] Checking for system updates...
[2026-08-29 18:59:47,395.395 INFO    ] 200
[2026-08-29 18:59:47,397.397 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:59:47,429.429 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:59:47,430.430 INFO    ] No update needed
[2026-08-29 18:59:47,431.431 INFO    ] Checking for camera pi updates...
[2026-08-29 18:59:47,453.453 INFO    ] 200
[2026-08-29 18:59:47,454.454 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:59:47,477.477 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:59:47,539.539 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 18:59:47,540.540 INFO    ] No camera update needed
[2026-08-29 18:59:47,541.541 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:59:47,543.543 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:59:47,546.546 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:59:47,548.548 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 18:59:49,588.588 INFO    ] ================================================
[2026-08-29 18:59:49,604.604 INFO    ] Launching Daemon at Sat Aug 29 18:59:49 IST 2026
[2026-08-29 18:59:49,614.614 INFO    ] ================================================
[2026-08-29 18:59:49,977.977 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 18:59:49
[2026-08-29 18:59:50,289.289 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 18:59:50,522.522 INFO    ] Initializing speech engine...
[2026-08-29 18:59:50,536.536 INFO    ] 2026-08-29 18:59:50
[2026-08-29 18:59:50,794.794 INFO    ] 2026-08-29 18:59:50
[2026-08-29 18:59:50,835.835 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 18:59:51,014.014 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 18:59:51,030.030 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 18:59:51,161.161 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 18:59:51,169.169 INFO    ] time= 29/08/2026 18:59:51
[2026-08-29 18:59:51,176.176 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 18:59:51,227.227 INFO    ] Checking for existing commands in stream...
[2026-08-29 18:59:51,352.352 INFO    ] No existing commands found in stream
[2026-08-29 18:59:56,378.378 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 18:59:56,381.381 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-08-29 18:59:58,718.718 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 18:59:58,720.720 INFO    ] Checking for system updates...
[2026-08-29 18:59:58,741.741 INFO    ] 200
[2026-08-29 18:59:58,743.743 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:59:58,773.773 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:59:58,774.774 INFO    ] No update needed
[2026-08-29 18:59:58,776.776 INFO    ] Checking for camera pi updates...
[2026-08-29 18:59:58,795.795 INFO    ] 200
[2026-08-29 18:59:58,796.796 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 18:59:58,819.819 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 18:59:58,914.914 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 18:59:58,915.915 INFO    ] No camera update needed
[2026-08-29 18:59:58,917.917 INFO    ] Script finished. Safe exiting...
[2026-08-29 18:59:58,918.918 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 18:59:58,921.921 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 18:59:58,923.923 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:00:00,963.963 INFO    ] ================================================
[2026-08-29 19:00:00,979.979 INFO    ] Launching Daemon at Sat Aug 29 19:00:00 IST 2026
[2026-08-29 19:00:00,989.989 INFO    ] ================================================
[2026-08-29 19:00:01,314.314 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:00:01
[2026-08-29 19:00:01,627.627 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:00:01,769.769 INFO    ] Initializing speech engine...
[2026-08-29 19:00:01,774.774 INFO    ] 2026-08-29 19:00:01
[2026-08-29 19:00:01,961.961 INFO    ] 2026-08-29 19:00:01
[2026-08-29 19:00:02,039.039 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:00:02,390.390 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:00:02,446.446 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:00:02,710.710 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:00:02,755.755 INFO    ] time= 29/08/2026 19:00:02
[2026-08-29 19:00:02,798.798 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:00:02,801.801 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:00:02,964.964 INFO    ] No existing commands found in stream
[2026-08-29 19:00:07,974.974 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:00:07,977.977 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-08-29 19:00:11,810.810 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:00:11,812.812 INFO    ] Checking for system updates...
[2026-08-29 19:00:11,833.833 INFO    ] 200
[2026-08-29 19:00:11,834.834 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:00:11,866.866 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:00:11,867.867 INFO    ] No update needed
[2026-08-29 19:00:11,869.869 INFO    ] Checking for camera pi updates...
[2026-08-29 19:00:11,889.889 INFO    ] 200
[2026-08-29 19:00:11,890.890 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:00:11,913.913 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:00:12,004.004 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:00:12,005.005 INFO    ] No camera update needed
[2026-08-29 19:00:12,007.007 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:00:12,008.008 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:00:12,011.011 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:00:12,013.013 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:00:14,054.054 INFO    ] ================================================
[2026-08-29 19:00:14,069.069 INFO    ] Launching Daemon at Sat Aug 29 19:00:14 IST 2026
[2026-08-29 19:00:14,079.079 INFO    ] ================================================
[2026-08-29 19:00:14,531.531 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:00:14
[2026-08-29 19:00:15,116.116 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:00:15,371.371 INFO    ] Initializing speech engine...
[2026-08-29 19:00:15,380.380 INFO    ] 2026-08-29 19:00:15
[2026-08-29 19:00:15,671.671 INFO    ] 2026-08-29 19:00:15
[2026-08-29 19:00:15,709.709 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:00:15,902.902 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:00:15,919.919 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:00:16,044.044 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:00:16,064.064 INFO    ] time= 29/08/2026 19:00:16
[2026-08-29 19:00:16,085.085 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:00:16,094.094 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:00:16,171.171 INFO    ] No existing commands found in stream
[2026-08-29 19:00:21,184.184 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:00:21,187.187 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-08-29 19:00:24,102.102 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:00:24,103.103 INFO    ] Checking for system updates...
[2026-08-29 19:00:24,124.124 INFO    ] 200
[2026-08-29 19:00:24,125.125 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:00:24,155.155 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:00:24,156.156 INFO    ] No update needed
[2026-08-29 19:00:24,157.157 INFO    ] Checking for camera pi updates...
[2026-08-29 19:00:24,180.180 INFO    ] 200
[2026-08-29 19:00:24,181.181 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:00:24,204.204 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:00:24,284.284 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:00:24,285.285 INFO    ] No camera update needed
[2026-08-29 19:00:24,290.290 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:00:24,291.291 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:00:24,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:00:24,297.297 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:00:26,335.335 INFO    ] ================================================
[2026-08-29 19:00:26,350.350 INFO    ] Launching Daemon at Sat Aug 29 19:00:26 IST 2026
[2026-08-29 19:00:26,362.362 INFO    ] ================================================
[2026-08-29 19:00:26,926.926 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:00:26
[2026-08-29 19:00:27,589.589 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:00:27,877.877 INFO    ] Initializing speech engine...
[2026-08-29 19:00:27,887.887 INFO    ] 2026-08-29 19:00:27
[2026-08-29 19:00:28,154.154 INFO    ] 2026-08-29 19:00:28
[2026-08-29 19:00:28,192.192 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:00:28,389.389 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:00:28,395.395 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:00:28,527.527 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:00:28,534.534 INFO    ] time= 29/08/2026 19:00:28
[2026-08-29 19:00:28,556.556 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:00:28,578.578 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:00:28,661.661 INFO    ] No existing commands found in stream
[2026-08-29 19:00:33,674.674 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:00:33,677.677 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 19:00:37,216.216 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:00:37,219.219 INFO    ] Checking for system updates...
[2026-08-29 19:00:37,255.255 INFO    ] 200
[2026-08-29 19:00:37,257.257 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:00:37,318.318 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:00:37,320.320 INFO    ] No update needed
[2026-08-29 19:00:37,323.323 INFO    ] Checking for camera pi updates...
[2026-08-29 19:00:37,356.356 INFO    ] 200
[2026-08-29 19:00:37,359.359 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:00:37,404.404 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:00:37,514.514 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:00:37,517.517 INFO    ] No camera update needed
[2026-08-29 19:00:37,519.519 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:00:37,521.521 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:00:37,527.527 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:00:37,531.531 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:00:39,572.572 INFO    ] ================================================
[2026-08-29 19:00:39,587.587 INFO    ] Launching Daemon at Sat Aug 29 19:00:39 IST 2026
[2026-08-29 19:00:39,598.598 INFO    ] ================================================
[2026-08-29 19:00:39,959.959 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:00:39
[2026-08-29 19:00:40,296.296 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:00:40,447.447 INFO    ] Initializing speech engine...
[2026-08-29 19:00:40,453.453 INFO    ] 2026-08-29 19:00:40
[2026-08-29 19:00:40,663.663 INFO    ] 2026-08-29 19:00:40
[2026-08-29 19:00:40,692.692 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:00:40,817.817 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:00:40,875.875 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:00:41,014.014 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:00:41,081.081 INFO    ] time= 29/08/2026 19:00:41
[2026-08-29 19:00:41,114.114 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:00:41,121.121 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:00:41,187.187 INFO    ] No existing commands found in stream
[2026-08-29 19:00:46,198.198 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:00:46,201.201 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-08-29 19:00:47,664.664 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:00:47,665.665 INFO    ] Checking for system updates...
[2026-08-29 19:00:47,691.691 INFO    ] 200
[2026-08-29 19:00:47,692.692 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:00:47,766.766 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:00:47,768.768 INFO    ] No update needed
[2026-08-29 19:00:47,770.770 INFO    ] Checking for camera pi updates...
[2026-08-29 19:00:47,804.804 INFO    ] 200
[2026-08-29 19:00:47,806.806 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:00:47,846.846 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:00:47,942.942 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:00:47,945.945 INFO    ] No camera update needed
[2026-08-29 19:00:47,948.948 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:00:47,950.950 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:00:47,956.956 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:00:47,962.962 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:00:50,003.003 INFO    ] ================================================
[2026-08-29 19:00:50,019.019 INFO    ] Launching Daemon at Sat Aug 29 19:00:50 IST 2026
[2026-08-29 19:00:50,029.029 INFO    ] ================================================
[2026-08-29 19:00:50,597.597 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:00:50
[2026-08-29 19:00:51,018.018 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:00:51,148.148 INFO    ] Initializing speech engine...
[2026-08-29 19:00:51,153.153 INFO    ] 2026-08-29 19:00:51
[2026-08-29 19:00:51,407.407 INFO    ] 2026-08-29 19:00:51
[2026-08-29 19:00:51,463.463 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:00:51,596.596 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:00:51,601.601 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:00:51,712.712 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:00:51,744.744 INFO    ] time= 29/08/2026 19:00:51
[2026-08-29 19:00:51,814.814 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:00:51,853.853 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:00:51,902.902 INFO    ] No existing commands found in stream
[2026-08-29 19:00:56,913.913 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:00:56,916.916 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-08-29 19:00:58,202.202 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:00:58,203.203 INFO    ] Checking for system updates...
[2026-08-29 19:00:58,224.224 INFO    ] 200
[2026-08-29 19:00:58,225.225 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:00:58,255.255 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:00:58,256.256 INFO    ] No update needed
[2026-08-29 19:00:58,258.258 INFO    ] Checking for camera pi updates...
[2026-08-29 19:00:58,277.277 INFO    ] 200
[2026-08-29 19:00:58,278.278 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:00:58,303.303 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:00:58,380.380 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:00:58,381.381 INFO    ] No camera update needed
[2026-08-29 19:00:58,382.382 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:00:58,384.384 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:00:58,387.387 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:00:58,389.389 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:01:00,429.429 INFO    ] ================================================
[2026-08-29 19:01:00,445.445 INFO    ] Launching Daemon at Sat Aug 29 19:01:00 IST 2026
[2026-08-29 19:01:00,456.456 INFO    ] ================================================
[2026-08-29 19:01:00,830.830 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:01:00
[2026-08-29 19:01:01,169.169 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:01:01,323.323 INFO    ] Initializing speech engine...
[2026-08-29 19:01:01,329.329 INFO    ] 2026-08-29 19:01:01
[2026-08-29 19:01:01,538.538 INFO    ] 2026-08-29 19:01:01
[2026-08-29 19:01:01,569.569 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:01:01,715.715 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:01:01,771.771 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:01:01,897.897 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:01:01,903.903 INFO    ] time= 29/08/2026 19:01:01
[2026-08-29 19:01:01,923.923 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:01:01,948.948 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:01:02,007.007 INFO    ] No existing commands found in stream
[2026-08-29 19:01:07,017.017 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:01:07,020.020 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-08-29 19:01:10,432.432 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:01:10,433.433 INFO    ] Checking for system updates...
[2026-08-29 19:01:10,455.455 INFO    ] 200
[2026-08-29 19:01:10,456.456 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:01:10,486.486 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:01:10,488.488 INFO    ] No update needed
[2026-08-29 19:01:10,489.489 INFO    ] Checking for camera pi updates...
[2026-08-29 19:01:10,508.508 INFO    ] 200
[2026-08-29 19:01:10,509.509 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:01:10,534.534 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:01:10,711.711 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:01:10,713.713 INFO    ] No camera update needed
[2026-08-29 19:01:10,716.716 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:01:10,718.718 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:01:10,723.723 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:01:10,728.728 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:01:12,771.771 INFO    ] ================================================
[2026-08-29 19:01:12,787.787 INFO    ] Launching Daemon at Sat Aug 29 19:01:12 IST 2026
[2026-08-29 19:01:12,798.798 INFO    ] ================================================
[2026-08-29 19:01:13,368.368 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:01:13
[2026-08-29 19:01:13,851.851 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:01:13,986.986 INFO    ] Initializing speech engine...
[2026-08-29 19:01:13,989.989 INFO    ] 2026-08-29 19:01:13
[2026-08-29 19:01:14,220.220 INFO    ] 2026-08-29 19:01:14
[2026-08-29 19:01:14,250.250 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:01:14,347.347 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:01:14,350.350 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:01:14,459.459 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:01:14,467.467 INFO    ] time= 29/08/2026 19:01:14
[2026-08-29 19:01:14,473.473 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:01:14,488.488 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:01:14,568.568 INFO    ] No existing commands found in stream
[2026-08-29 19:01:19,598.598 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:01:19,601.601 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-08-29 19:01:20,466.466 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:01:20,467.467 INFO    ] Checking for system updates...
[2026-08-29 19:01:20,488.488 INFO    ] 200
[2026-08-29 19:01:20,489.489 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:01:20,520.520 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:01:20,522.522 INFO    ] No update needed
[2026-08-29 19:01:20,523.523 INFO    ] Checking for camera pi updates...
[2026-08-29 19:01:20,543.543 INFO    ] 200
[2026-08-29 19:01:20,544.544 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:01:20,568.568 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:01:20,643.643 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:01:20,644.644 INFO    ] No camera update needed
[2026-08-29 19:01:20,646.646 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:01:20,647.647 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:01:20,650.650 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:01:20,653.653 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:01:22,691.691 INFO    ] ================================================
[2026-08-29 19:01:22,706.706 INFO    ] Launching Daemon at Sat Aug 29 19:01:22 IST 2026
[2026-08-29 19:01:22,717.717 INFO    ] ================================================
[2026-08-29 19:01:23,187.187 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:01:23
[2026-08-29 19:01:23,833.833 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:01:24,139.139 INFO    ] Initializing speech engine...
[2026-08-29 19:01:24,152.152 INFO    ] 2026-08-29 19:01:24
[2026-08-29 19:01:24,469.469 INFO    ] 2026-08-29 19:01:24
[2026-08-29 19:01:24,553.553 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:01:24,704.704 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:01:24,715.715 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:01:24,848.848 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:01:24,885.885 INFO    ] time= 29/08/2026 19:01:24
[2026-08-29 19:01:24,940.940 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:01:24,984.984 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:01:25,040.040 INFO    ] No existing commands found in stream
[2026-08-29 19:01:30,053.053 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:01:30,057.057 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-08-29 19:01:34,336.336 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:01:34,339.339 INFO    ] Checking for system updates...
[2026-08-29 19:01:34,376.376 INFO    ] 200
[2026-08-29 19:01:34,379.379 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:01:34,434.434 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:01:34,437.437 INFO    ] No update needed
[2026-08-29 19:01:34,440.440 INFO    ] Checking for camera pi updates...
[2026-08-29 19:01:34,479.479 INFO    ] 200
[2026-08-29 19:01:34,482.482 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:01:34,529.529 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:01:34,619.619 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:01:34,622.622 INFO    ] No camera update needed
[2026-08-29 19:01:34,784.784 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:01:34,787.787 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:01:34,794.794 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:01:34,800.800 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:01:36,843.843 INFO    ] ================================================
[2026-08-29 19:01:36,859.859 INFO    ] Launching Daemon at Sat Aug 29 19:01:36 IST 2026
[2026-08-29 19:01:36,869.869 INFO    ] ================================================
[2026-08-29 19:01:37,208.208 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:01:37
[2026-08-29 19:01:37,520.520 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:01:37,787.787 INFO    ] Initializing speech engine...
[2026-08-29 19:01:37,796.796 INFO    ] 2026-08-29 19:01:37
[2026-08-29 19:01:38,044.044 INFO    ] 2026-08-29 19:01:38
[2026-08-29 19:01:38,078.078 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:01:38,250.250 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:01:38,263.263 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:01:38,371.371 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:01:38,377.377 INFO    ] time= 29/08/2026 19:01:38
[2026-08-29 19:01:38,394.394 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:01:38,414.414 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:01:38,489.489 INFO    ] No existing commands found in stream
[2026-08-29 19:01:43,525.525 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:01:43,527.527 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-08-29 19:01:44,609.609 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:01:44,610.610 INFO    ] Checking for system updates...
[2026-08-29 19:01:44,631.631 INFO    ] 200
[2026-08-29 19:01:44,633.633 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:01:44,667.667 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:01:44,669.669 INFO    ] No update needed
[2026-08-29 19:01:44,670.670 INFO    ] Checking for camera pi updates...
[2026-08-29 19:01:44,690.690 INFO    ] 200
[2026-08-29 19:01:44,691.691 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:01:44,714.714 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:01:44,823.823 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:01:44,842.842 INFO    ] No camera update needed
[2026-08-29 19:01:44,845.845 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:01:44,848.848 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:01:44,854.854 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:01:44,860.860 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:01:46,902.902 INFO    ] ================================================
[2026-08-29 19:01:46,917.917 INFO    ] Launching Daemon at Sat Aug 29 19:01:46 IST 2026
[2026-08-29 19:01:46,927.927 INFO    ] ================================================
[2026-08-29 19:01:47,566.566 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:01:47
[2026-08-29 19:01:48,027.027 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:01:48,179.179 INFO    ] Initializing speech engine...
[2026-08-29 19:01:48,185.185 INFO    ] 2026-08-29 19:01:48
[2026-08-29 19:01:48,392.392 INFO    ] 2026-08-29 19:01:48
[2026-08-29 19:01:48,476.476 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:01:48,633.633 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:01:48,639.639 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:01:48,776.776 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:01:48,819.819 INFO    ] time= 29/08/2026 19:01:48
[2026-08-29 19:01:48,868.868 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:01:48,914.914 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:01:48,968.968 INFO    ] No existing commands found in stream
[2026-08-29 19:01:53,982.982 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:01:53,985.985 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-08-29 19:01:56,954.954 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:01:56,956.956 INFO    ] Checking for system updates...
[2026-08-29 19:01:56,977.977 INFO    ] 200
[2026-08-29 19:01:56,978.978 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:01:57,011.011 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:01:57,012.012 INFO    ] No update needed
[2026-08-29 19:01:57,014.014 INFO    ] Checking for camera pi updates...
[2026-08-29 19:01:57,037.037 INFO    ] 200
[2026-08-29 19:01:57,038.038 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:01:57,063.063 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:01:57,155.155 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:01:57,156.156 INFO    ] No camera update needed
[2026-08-29 19:01:57,158.158 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:01:57,159.159 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:01:57,162.162 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:01:57,165.165 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:01:59,205.205 INFO    ] ================================================
[2026-08-29 19:01:59,220.220 INFO    ] Launching Daemon at Sat Aug 29 19:01:59 IST 2026
[2026-08-29 19:01:59,231.231 INFO    ] ================================================
[2026-08-29 19:01:59,587.587 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:01:59
[2026-08-29 19:01:59,898.898 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:02:00,054.054 INFO    ] Initializing speech engine...
[2026-08-29 19:02:00,070.070 INFO    ] 2026-08-29 19:02:00
[2026-08-29 19:02:00,360.360 INFO    ] 2026-08-29 19:02:00
[2026-08-29 19:02:00,394.394 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:02:00,543.543 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:02:00,550.550 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:02:00,689.689 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:02:00,698.698 INFO    ] time= 29/08/2026 19:02:00
[2026-08-29 19:02:00,712.712 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:02:00,716.716 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:02:00,781.781 INFO    ] No existing commands found in stream
[2026-08-29 19:02:05,793.793 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:02:05,795.795 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-08-29 19:02:09,878.878 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:02:09,879.879 INFO    ] Checking for system updates...
[2026-08-29 19:02:09,900.900 INFO    ] 200
[2026-08-29 19:02:09,901.901 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:02:09,932.932 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:02:09,933.933 INFO    ] No update needed
[2026-08-29 19:02:09,943.943 INFO    ] Checking for camera pi updates...
[2026-08-29 19:02:09,967.967 INFO    ] 200
[2026-08-29 19:02:09,969.969 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:02:09,997.997 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:02:10,089.089 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:02:10,091.091 INFO    ] No camera update needed
[2026-08-29 19:02:10,092.092 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:02:10,093.093 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:02:10,096.096 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:02:10,099.099 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:02:12,137.137 INFO    ] ================================================
[2026-08-29 19:02:12,153.153 INFO    ] Launching Daemon at Sat Aug 29 19:02:12 IST 2026
[2026-08-29 19:02:12,164.164 INFO    ] ================================================
[2026-08-29 19:02:12,520.520 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:02:12
[2026-08-29 19:02:12,855.855 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:02:13,008.008 INFO    ] Initializing speech engine...
[2026-08-29 19:02:13,012.012 INFO    ] 2026-08-29 19:02:13
[2026-08-29 19:02:13,219.219 INFO    ] 2026-08-29 19:02:13
[2026-08-29 19:02:13,264.264 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:02:13,523.523 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:02:13,561.561 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:02:13,719.719 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:02:13,730.730 INFO    ] time= 29/08/2026 19:02:13
[2026-08-29 19:02:13,778.778 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:02:13,840.840 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:02:13,920.920 INFO    ] No existing commands found in stream
[2026-08-29 19:02:18,947.947 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:02:18,950.950 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-08-29 19:02:22,507.507 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:02:22,508.508 INFO    ] Checking for system updates...
[2026-08-29 19:02:22,529.529 INFO    ] 200
[2026-08-29 19:02:22,531.531 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:02:22,565.565 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:02:22,566.566 INFO    ] No update needed
[2026-08-29 19:02:22,568.568 INFO    ] Checking for camera pi updates...
[2026-08-29 19:02:22,589.589 INFO    ] 200
[2026-08-29 19:02:22,590.590 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:02:22,616.616 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:02:22,695.695 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:02:22,696.696 INFO    ] No camera update needed
[2026-08-29 19:02:22,697.697 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:02:22,699.699 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:02:22,702.702 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:02:22,705.705 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:02:24,744.744 INFO    ] ================================================
[2026-08-29 19:02:24,760.760 INFO    ] Launching Daemon at Sat Aug 29 19:02:24 IST 2026
[2026-08-29 19:02:24,771.771 INFO    ] ================================================
[2026-08-29 19:02:25,275.275 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:02:25
[2026-08-29 19:02:25,958.958 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:02:26,269.269 INFO    ] Initializing speech engine...
[2026-08-29 19:02:26,281.281 INFO    ] 2026-08-29 19:02:26
[2026-08-29 19:02:26,570.570 INFO    ] 2026-08-29 19:02:26
[2026-08-29 19:02:26,637.637 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:02:26,798.798 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:02:26,812.812 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:02:26,940.940 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:02:26,945.945 INFO    ] time= 29/08/2026 19:02:26
[2026-08-29 19:02:26,968.968 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:02:26,993.993 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:02:27,082.082 INFO    ] No existing commands found in stream
[2026-08-29 19:02:32,095.095 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:02:32,099.099 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-08-29 19:02:36,000.000 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:02:36,002.002 INFO    ] Checking for system updates...
[2026-08-29 19:02:36,023.023 INFO    ] 200
[2026-08-29 19:02:36,024.024 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:02:36,056.056 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:02:36,058.058 INFO    ] No update needed
[2026-08-29 19:02:36,059.059 INFO    ] Checking for camera pi updates...
[2026-08-29 19:02:36,081.081 INFO    ] 200
[2026-08-29 19:02:36,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:02:36,106.106 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:02:36,182.182 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:02:36,183.183 INFO    ] No camera update needed
[2026-08-29 19:02:36,185.185 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:02:36,186.186 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:02:36,189.189 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:02:36,192.192 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:02:38,230.230 INFO    ] ================================================
[2026-08-29 19:02:38,245.245 INFO    ] Launching Daemon at Sat Aug 29 19:02:38 IST 2026
[2026-08-29 19:02:38,256.256 INFO    ] ================================================
[2026-08-29 19:02:38,902.902 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:02:38
[2026-08-29 19:02:39,566.566 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:02:39,869.869 INFO    ] Initializing speech engine...
[2026-08-29 19:02:39,877.877 INFO    ] 2026-08-29 19:02:39
[2026-08-29 19:02:40,151.151 INFO    ] 2026-08-29 19:02:40
[2026-08-29 19:02:40,208.208 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:02:40,358.358 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:02:40,371.371 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:02:40,497.497 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:02:40,502.502 INFO    ] time= 29/08/2026 19:02:40
[2026-08-29 19:02:40,523.523 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:02:40,545.545 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:02:40,626.626 INFO    ] No existing commands found in stream
[2026-08-29 19:02:45,638.638 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:02:45,641.641 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-08-29 19:02:46,694.694 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:02:46,696.696 INFO    ] Checking for system updates...
[2026-08-29 19:02:46,716.716 INFO    ] 200
[2026-08-29 19:02:46,718.718 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:02:46,750.750 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:02:46,751.751 INFO    ] No update needed
[2026-08-29 19:02:46,753.753 INFO    ] Checking for camera pi updates...
[2026-08-29 19:02:46,773.773 INFO    ] 200
[2026-08-29 19:02:46,774.774 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:02:46,798.798 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:02:46,875.875 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:02:46,876.876 INFO    ] No camera update needed
[2026-08-29 19:02:46,877.877 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:02:46,879.879 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:02:46,882.882 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:02:46,885.885 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:02:48,924.924 INFO    ] ================================================
[2026-08-29 19:02:48,939.939 INFO    ] Launching Daemon at Sat Aug 29 19:02:48 IST 2026
[2026-08-29 19:02:48,950.950 INFO    ] ================================================
[2026-08-29 19:02:49,288.288 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:02:49
[2026-08-29 19:02:49,606.606 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:02:49,854.854 INFO    ] Initializing speech engine...
[2026-08-29 19:02:49,864.864 INFO    ] 2026-08-29 19:02:49
[2026-08-29 19:02:50,125.125 INFO    ] 2026-08-29 19:02:50
[2026-08-29 19:02:50,180.180 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:02:50,401.401 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:02:50,410.410 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:02:50,541.541 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:02:50,589.589 INFO    ] time= 29/08/2026 19:02:50
[2026-08-29 19:02:50,649.649 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:02:50,674.674 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:02:50,732.732 INFO    ] No existing commands found in stream
[2026-08-29 19:02:55,744.744 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:02:55,746.746 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-08-29 19:02:56,611.611 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:02:56,613.613 INFO    ] Checking for system updates...
[2026-08-29 19:02:56,634.634 INFO    ] 200
[2026-08-29 19:02:56,636.636 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:02:56,668.668 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:02:56,669.669 INFO    ] No update needed
[2026-08-29 19:02:56,671.671 INFO    ] Checking for camera pi updates...
[2026-08-29 19:02:56,693.693 INFO    ] 200
[2026-08-29 19:02:56,694.694 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:02:56,719.719 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:02:56,793.793 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:02:56,795.795 INFO    ] No camera update needed
[2026-08-29 19:02:56,796.796 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:02:56,798.798 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:02:56,801.801 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:02:56,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:02:58,844.844 INFO    ] ================================================
[2026-08-29 19:02:58,859.859 INFO    ] Launching Daemon at Sat Aug 29 19:02:58 IST 2026
[2026-08-29 19:02:58,870.870 INFO    ] ================================================
[2026-08-29 19:02:59,243.243 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:02:59
[2026-08-29 19:02:59,577.577 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:02:59,723.723 INFO    ] Initializing speech engine...
[2026-08-29 19:02:59,728.728 INFO    ] 2026-08-29 19:02:59
[2026-08-29 19:02:59,921.921 INFO    ] 2026-08-29 19:02:59
[2026-08-29 19:02:59,963.963 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:03:00,182.182 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:03:00,211.211 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:03:00,324.324 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:03:00,366.366 INFO    ] time= 29/08/2026 19:03:00
[2026-08-29 19:03:00,420.420 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:03:00,457.457 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:03:00,515.515 INFO    ] No existing commands found in stream
[2026-08-29 19:03:05,529.529 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:03:05,532.532 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-08-29 19:03:08,572.572 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:03:08,574.574 INFO    ] Checking for system updates...
[2026-08-29 19:03:08,595.595 INFO    ] 200
[2026-08-29 19:03:08,597.597 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:03:08,630.630 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:03:08,631.631 INFO    ] No update needed
[2026-08-29 19:03:08,633.633 INFO    ] Checking for camera pi updates...
[2026-08-29 19:03:08,652.652 INFO    ] 200
[2026-08-29 19:03:08,654.654 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:03:08,677.677 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:03:08,754.754 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:03:08,755.755 INFO    ] No camera update needed
[2026-08-29 19:03:08,757.757 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:03:08,758.758 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:03:08,761.761 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:03:08,764.764 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:03:10,804.804 INFO    ] ================================================
[2026-08-29 19:03:10,820.820 INFO    ] Launching Daemon at Sat Aug 29 19:03:10 IST 2026
[2026-08-29 19:03:10,831.831 INFO    ] ================================================
[2026-08-29 19:03:11,216.216 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:03:11
[2026-08-29 19:03:11,559.559 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:03:11,718.718 INFO    ] Initializing speech engine...
[2026-08-29 19:03:11,722.722 INFO    ] 2026-08-29 19:03:11
[2026-08-29 19:03:11,933.933 INFO    ] 2026-08-29 19:03:11
[2026-08-29 19:03:11,962.962 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:03:12,088.088 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:03:12,146.146 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:03:12,293.293 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:03:12,361.361 INFO    ] time= 29/08/2026 19:03:12
[2026-08-29 19:03:12,386.386 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:03:12,393.393 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:03:12,462.462 INFO    ] No existing commands found in stream
[2026-08-29 19:03:17,485.485 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:03:17,488.488 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-08-29 19:03:18,413.413 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:03:18,417.417 INFO    ] Checking for system updates...
[2026-08-29 19:03:18,458.458 INFO    ] 200
[2026-08-29 19:03:18,461.461 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:03:18,518.518 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:03:18,521.521 INFO    ] No update needed
[2026-08-29 19:03:18,524.524 INFO    ] Checking for camera pi updates...
[2026-08-29 19:03:18,564.564 INFO    ] 200
[2026-08-29 19:03:18,567.567 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:03:18,616.616 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:03:18,817.817 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:03:18,819.819 INFO    ] No camera update needed
[2026-08-29 19:03:18,822.822 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:03:18,825.825 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:03:18,831.831 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:03:18,837.837 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:03:20,882.882 INFO    ] ================================================
[2026-08-29 19:03:20,898.898 INFO    ] Launching Daemon at Sat Aug 29 19:03:20 IST 2026
[2026-08-29 19:03:20,909.909 INFO    ] ================================================
[2026-08-29 19:03:21,262.262 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:03:21
[2026-08-29 19:03:21,810.810 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:03:22,059.059 INFO    ] Initializing speech engine...
[2026-08-29 19:03:22,073.073 INFO    ] 2026-08-29 19:03:22
[2026-08-29 19:03:22,341.341 INFO    ] 2026-08-29 19:03:22
[2026-08-29 19:03:22,377.377 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:03:22,551.551 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:03:22,565.565 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:03:22,704.704 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:03:22,718.718 INFO    ] time= 29/08/2026 19:03:22
[2026-08-29 19:03:22,722.722 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:03:22,728.728 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:03:22,796.796 INFO    ] No existing commands found in stream
[2026-08-29 19:03:27,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:03:27,824.824 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-08-29 19:03:28,598.598 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:03:28,599.599 INFO    ] Checking for system updates...
[2026-08-29 19:03:28,621.621 INFO    ] 200
[2026-08-29 19:03:28,623.623 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:03:28,657.657 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:03:28,658.658 INFO    ] No update needed
[2026-08-29 19:03:28,660.660 INFO    ] Checking for camera pi updates...
[2026-08-29 19:03:28,680.680 INFO    ] 200
[2026-08-29 19:03:28,682.682 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:03:28,708.708 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:03:28,805.805 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:03:28,806.806 INFO    ] No camera update needed
[2026-08-29 19:03:28,807.807 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:03:28,809.809 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:03:28,812.812 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:03:28,815.815 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:03:30,855.855 INFO    ] ================================================
[2026-08-29 19:03:30,871.871 INFO    ] Launching Daemon at Sat Aug 29 19:03:30 IST 2026
[2026-08-29 19:03:30,883.883 INFO    ] ================================================
[2026-08-29 19:03:31,487.487 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:03:31
[2026-08-29 19:03:32,145.145 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:03:32,446.446 INFO    ] Initializing speech engine...
[2026-08-29 19:03:32,454.454 INFO    ] 2026-08-29 19:03:32
[2026-08-29 19:03:32,725.725 INFO    ] 2026-08-29 19:03:32
[2026-08-29 19:03:32,787.787 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:03:32,976.976 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:03:33,041.041 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:03:33,206.206 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:03:33,228.228 INFO    ] time= 29/08/2026 19:03:33
[2026-08-29 19:03:33,283.283 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:03:33,337.337 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:03:33,413.413 INFO    ] No existing commands found in stream
[2026-08-29 19:03:38,424.424 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:03:38,427.427 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-08-29 19:03:40,050.050 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:03:40,052.052 INFO    ] Checking for system updates...
[2026-08-29 19:03:40,072.072 INFO    ] 200
[2026-08-29 19:03:40,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:03:40,104.104 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:03:40,105.105 INFO    ] No update needed
[2026-08-29 19:03:40,107.107 INFO    ] Checking for camera pi updates...
[2026-08-29 19:03:40,126.126 INFO    ] 200
[2026-08-29 19:03:40,127.127 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:03:40,151.151 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:03:40,248.248 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:03:40,249.249 INFO    ] No camera update needed
[2026-08-29 19:03:40,250.250 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:03:40,251.251 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:03:40,254.254 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:03:40,257.257 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:03:42,297.297 INFO    ] ================================================
[2026-08-29 19:03:42,313.313 INFO    ] Launching Daemon at Sat Aug 29 19:03:42 IST 2026
[2026-08-29 19:03:42,324.324 INFO    ] ================================================
[2026-08-29 19:03:42,669.669 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:03:42
[2026-08-29 19:03:42,987.987 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:03:43,132.132 INFO    ] Initializing speech engine...
[2026-08-29 19:03:43,136.136 INFO    ] 2026-08-29 19:03:43
[2026-08-29 19:03:43,370.370 INFO    ] 2026-08-29 19:03:43
[2026-08-29 19:03:43,414.414 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:03:43,578.578 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:03:43,584.584 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:03:43,769.769 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:03:43,821.821 INFO    ] time= 29/08/2026 19:03:43
[2026-08-29 19:03:43,828.828 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:03:43,848.848 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:03:43,967.967 INFO    ] No existing commands found in stream
[2026-08-29 19:03:48,988.988 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:03:48,991.991 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-08-29 19:03:52,992.992 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:03:52,994.994 INFO    ] Checking for system updates...
[2026-08-29 19:03:53,014.014 INFO    ] 200
[2026-08-29 19:03:53,015.015 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:03:53,048.048 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:03:53,049.049 INFO    ] No update needed
[2026-08-29 19:03:53,050.050 INFO    ] Checking for camera pi updates...
[2026-08-29 19:03:53,070.070 INFO    ] 200
[2026-08-29 19:03:53,072.072 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:03:53,114.114 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:03:53,198.198 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:03:53,200.200 INFO    ] No camera update needed
[2026-08-29 19:03:53,203.203 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:03:53,205.205 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:03:53,210.210 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:03:53,215.215 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:03:55,255.255 INFO    ] ================================================
[2026-08-29 19:03:55,271.271 INFO    ] Launching Daemon at Sat Aug 29 19:03:55 IST 2026
[2026-08-29 19:03:55,281.281 INFO    ] ================================================
[2026-08-29 19:03:55,863.863 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:03:55
[2026-08-29 19:03:56,341.341 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:03:56,479.479 INFO    ] Initializing speech engine...
[2026-08-29 19:03:56,487.487 INFO    ] 2026-08-29 19:03:56
[2026-08-29 19:03:56,693.693 INFO    ] 2026-08-29 19:03:56
[2026-08-29 19:03:56,721.721 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:03:56,844.844 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:03:56,907.907 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:03:57,069.069 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:03:57,108.108 INFO    ] time= 29/08/2026 19:03:57
[2026-08-29 19:03:57,162.162 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:03:57,222.222 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:03:57,278.278 INFO    ] No existing commands found in stream
[2026-08-29 19:04:02,285.285 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:04:02,289.289 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-08-29 19:04:05,272.272 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:04:05,274.274 INFO    ] Checking for system updates...
[2026-08-29 19:04:05,294.294 INFO    ] 200
[2026-08-29 19:04:05,296.296 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:04:05,325.325 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:04:05,327.327 INFO    ] No update needed
[2026-08-29 19:04:05,328.328 INFO    ] Checking for camera pi updates...
[2026-08-29 19:04:05,348.348 INFO    ] 200
[2026-08-29 19:04:05,349.349 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:04:05,375.375 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:04:05,449.449 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:04:05,451.451 INFO    ] No camera update needed
[2026-08-29 19:04:05,452.452 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:04:05,453.453 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:04:05,456.456 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:04:05,459.459 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:04:07,498.498 INFO    ] ================================================
[2026-08-29 19:04:07,513.513 INFO    ] Launching Daemon at Sat Aug 29 19:04:07 IST 2026
[2026-08-29 19:04:07,524.524 INFO    ] ================================================
[2026-08-29 19:04:07,875.875 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:04:07
[2026-08-29 19:04:08,192.192 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:04:08,460.460 INFO    ] Initializing speech engine...
[2026-08-29 19:04:08,469.469 INFO    ] 2026-08-29 19:04:08
[2026-08-29 19:04:08,720.720 INFO    ] 2026-08-29 19:04:08
[2026-08-29 19:04:08,756.756 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:04:08,930.930 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:04:08,942.942 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:04:09,053.053 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:04:09,059.059 INFO    ] time= 29/08/2026 19:04:09
[2026-08-29 19:04:09,076.076 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:04:09,098.098 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:04:09,168.168 INFO    ] No existing commands found in stream
[2026-08-29 19:04:14,181.181 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:04:14,184.184 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-08-29 19:04:16,038.038 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:04:16,040.040 INFO    ] Checking for system updates...
[2026-08-29 19:04:16,060.060 INFO    ] 200
[2026-08-29 19:04:16,062.062 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:04:16,092.092 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:04:16,093.093 INFO    ] No update needed
[2026-08-29 19:04:16,095.095 INFO    ] Checking for camera pi updates...
[2026-08-29 19:04:16,114.114 INFO    ] 200
[2026-08-29 19:04:16,115.115 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:04:16,139.139 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:04:16,216.216 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:04:16,217.217 INFO    ] No camera update needed
[2026-08-29 19:04:16,218.218 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:04:16,220.220 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:04:16,223.223 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:04:16,226.226 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:04:18,265.265 INFO    ] ================================================
[2026-08-29 19:04:18,281.281 INFO    ] Launching Daemon at Sat Aug 29 19:04:18 IST 2026
[2026-08-29 19:04:18,292.292 INFO    ] ================================================
[2026-08-29 19:04:18,630.630 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:04:18
[2026-08-29 19:04:18,973.973 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:04:19,132.132 INFO    ] Initializing speech engine...
[2026-08-29 19:04:19,135.135 INFO    ] 2026-08-29 19:04:19
[2026-08-29 19:04:19,349.349 INFO    ] 2026-08-29 19:04:19
[2026-08-29 19:04:19,379.379 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:04:19,505.505 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:04:19,564.564 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:04:19,703.703 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:04:19,766.766 INFO    ] time= 29/08/2026 19:04:19
[2026-08-29 19:04:19,805.805 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:04:19,812.812 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:04:19,881.881 INFO    ] No existing commands found in stream
[2026-08-29 19:04:24,891.891 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:04:24,894.894 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 19:04:26,406.406 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:04:26,408.408 INFO    ] Checking for system updates...
[2026-08-29 19:04:26,429.429 INFO    ] 200
[2026-08-29 19:04:26,430.430 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:04:26,461.461 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:04:26,462.462 INFO    ] No update needed
[2026-08-29 19:04:26,464.464 INFO    ] Checking for camera pi updates...
[2026-08-29 19:04:26,484.484 INFO    ] 200
[2026-08-29 19:04:26,485.485 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:04:26,508.508 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:04:26,593.593 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:04:26,594.594 INFO    ] No camera update needed
[2026-08-29 19:04:26,595.595 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:04:26,597.597 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:04:26,600.600 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:04:26,603.603 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:04:28,642.642 INFO    ] ================================================
[2026-08-29 19:04:28,659.659 INFO    ] Launching Daemon at Sat Aug 29 19:04:28 IST 2026
[2026-08-29 19:04:28,670.670 INFO    ] ================================================
[2026-08-29 19:04:29,014.014 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:04:29
[2026-08-29 19:04:29,328.328 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:04:29,587.587 INFO    ] Initializing speech engine...
[2026-08-29 19:04:29,598.598 INFO    ] 2026-08-29 19:04:29
[2026-08-29 19:04:29,896.896 INFO    ] 2026-08-29 19:04:29
[2026-08-29 19:04:29,944.944 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:04:30,175.175 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:04:30,186.186 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:04:30,325.325 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:04:30,368.368 INFO    ] time= 29/08/2026 19:04:30
[2026-08-29 19:04:30,428.428 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:04:30,468.468 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:04:30,534.534 INFO    ] No existing commands found in stream
[2026-08-29 19:04:35,571.571 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:04:35,575.575 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-08-29 19:04:38,143.143 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:04:38,146.146 INFO    ] Checking for system updates...
[2026-08-29 19:04:38,191.191 INFO    ] 200
[2026-08-29 19:04:38,194.194 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 19:04:38,197.197 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-08-29 19:04:38,200.200 INFO    ] Checking for camera pi updates...
[2026-08-29 19:04:38,252.252 INFO    ] 200
[2026-08-29 19:04:38,255.255 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 19:04:38,258.258 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-08-29 19:04:38,260.260 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:04:38,264.264 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:04:38,270.270 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:04:38,275.275 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:04:40,316.316 INFO    ] ================================================
[2026-08-29 19:04:40,332.332 INFO    ] Launching Daemon at Sat Aug 29 19:04:40 IST 2026
[2026-08-29 19:04:40,344.344 INFO    ] ================================================
[2026-08-29 19:04:40,856.856 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:04:40
[2026-08-29 19:04:41,439.439 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:04:41,689.689 INFO    ] Initializing speech engine...
[2026-08-29 19:04:41,703.703 INFO    ] 2026-08-29 19:04:41
[2026-08-29 19:04:41,971.971 INFO    ] 2026-08-29 19:04:41
[2026-08-29 19:04:42,004.004 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:04:42,182.182 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:04:42,195.195 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:04:42,308.308 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:04:42,328.328 INFO    ] time= 29/08/2026 19:04:42
[2026-08-29 19:04:42,351.351 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:04:42,356.356 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:04:42,424.424 INFO    ] No existing commands found in stream
[2026-08-29 19:04:47,437.437 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:04:47,439.439 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 19:04:50,912.912 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:04:50,913.913 INFO    ] Checking for system updates...
[2026-08-29 19:04:50,934.934 INFO    ] 200
[2026-08-29 19:04:50,935.935 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:04:50,966.966 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:04:50,967.967 INFO    ] No update needed
[2026-08-29 19:04:50,968.968 INFO    ] Checking for camera pi updates...
[2026-08-29 19:04:50,988.988 INFO    ] 200
[2026-08-29 19:04:50,990.990 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:04:51,013.013 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:04:51,111.111 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:04:51,113.113 INFO    ] No camera update needed
[2026-08-29 19:04:51,114.114 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:04:51,116.116 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:04:51,119.119 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:04:51,122.122 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:04:53,163.163 INFO    ] ================================================
[2026-08-29 19:04:53,179.179 INFO    ] Launching Daemon at Sat Aug 29 19:04:53 IST 2026
[2026-08-29 19:04:53,189.189 INFO    ] ================================================
[2026-08-29 19:04:53,540.540 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:04:53
[2026-08-29 19:04:53,854.854 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:04:53,998.998 INFO    ] Initializing speech engine...
[2026-08-29 19:04:54,003.003 INFO    ] 2026-08-29 19:04:53
[2026-08-29 19:04:54,205.205 INFO    ] 2026-08-29 19:04:54
[2026-08-29 19:04:54,234.234 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:04:54,367.367 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:04:54,420.420 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:04:54,554.554 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:04:54,622.622 INFO    ] time= 29/08/2026 19:04:54
[2026-08-29 19:04:54,649.649 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:04:54,655.655 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:04:54,722.722 INFO    ] No existing commands found in stream
[2026-08-29 19:04:59,733.733 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:04:59,735.735 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-08-29 19:05:02,635.635 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:05:02,639.639 INFO    ] Checking for system updates...
[2026-08-29 19:05:02,685.685 INFO    ] 200
[2026-08-29 19:05:02,688.688 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:05:02,765.765 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:05:02,769.769 INFO    ] No update needed
[2026-08-29 19:05:02,773.773 INFO    ] Checking for camera pi updates...
[2026-08-29 19:05:02,814.814 INFO    ] 200
[2026-08-29 19:05:02,817.817 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:05:02,871.871 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:05:03,037.037 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:05:03,039.039 INFO    ] No camera update needed
[2026-08-29 19:05:03,043.043 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:05:03,046.046 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:05:03,054.054 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:05:03,060.060 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:05:05,102.102 INFO    ] ================================================
[2026-08-29 19:05:05,117.117 INFO    ] Launching Daemon at Sat Aug 29 19:05:05 IST 2026
[2026-08-29 19:05:05,128.128 INFO    ] ================================================
[2026-08-29 19:05:05,512.512 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:05:05
[2026-08-29 19:05:05,853.853 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:05:06,000.000 INFO    ] Initializing speech engine...
[2026-08-29 19:05:06,008.008 INFO    ] 2026-08-29 19:05:06
[2026-08-29 19:05:06,280.280 INFO    ] 2026-08-29 19:05:06
[2026-08-29 19:05:06,336.336 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:05:06,471.471 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:05:06,490.490 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:05:06,652.652 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:05:06,711.711 INFO    ] time= 29/08/2026 19:05:06
[2026-08-29 19:05:06,722.722 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:05:06,739.739 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:05:06,784.784 INFO    ] No existing commands found in stream
[2026-08-29 19:05:11,794.794 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:05:11,796.796 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-08-29 19:05:12,378.378 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:05:12,379.379 INFO    ] Checking for system updates...
[2026-08-29 19:05:12,401.401 INFO    ] 200
[2026-08-29 19:05:12,403.403 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:05:12,433.433 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:05:12,434.434 INFO    ] No update needed
[2026-08-29 19:05:12,435.435 INFO    ] Checking for camera pi updates...
[2026-08-29 19:05:12,463.463 INFO    ] 200
[2026-08-29 19:05:12,465.465 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:05:12,506.506 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:05:12,599.599 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:05:12,601.601 INFO    ] No camera update needed
[2026-08-29 19:05:12,604.604 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:05:12,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:05:12,611.611 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:05:12,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:05:14,655.655 INFO    ] ================================================
[2026-08-29 19:05:14,671.671 INFO    ] Launching Daemon at Sat Aug 29 19:05:14 IST 2026
[2026-08-29 19:05:14,682.682 INFO    ] ================================================
[2026-08-29 19:05:15,249.249 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:05:15
[2026-08-29 19:05:15,714.714 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:05:15,846.846 INFO    ] Initializing speech engine...
[2026-08-29 19:05:15,851.851 INFO    ] 2026-08-29 19:05:15
[2026-08-29 19:05:16,040.040 INFO    ] 2026-08-29 19:05:16
[2026-08-29 19:05:16,086.086 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:05:16,245.245 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:05:16,289.289 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:05:16,417.417 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:05:16,462.462 INFO    ] time= 29/08/2026 19:05:16
[2026-08-29 19:05:16,498.498 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:05:16,546.546 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:05:16,646.646 INFO    ] No existing commands found in stream
[2026-08-29 19:05:21,657.657 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:05:21,659.659 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-08-29 19:05:22,022.022 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:05:22,024.024 INFO    ] Checking for system updates...
[2026-08-29 19:05:22,044.044 INFO    ] 200
[2026-08-29 19:05:22,046.046 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:05:22,076.076 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:05:22,077.077 INFO    ] No update needed
[2026-08-29 19:05:22,079.079 INFO    ] Checking for camera pi updates...
[2026-08-29 19:05:22,098.098 INFO    ] 200
[2026-08-29 19:05:22,099.099 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:05:22,123.123 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:05:22,322.322 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:05:22,324.324 INFO    ] No camera update needed
[2026-08-29 19:05:22,325.325 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:05:22,326.326 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:05:22,329.329 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:05:22,332.332 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:05:24,370.370 INFO    ] ================================================
[2026-08-29 19:05:24,386.386 INFO    ] Launching Daemon at Sat Aug 29 19:05:24 IST 2026
[2026-08-29 19:05:24,398.398 INFO    ] ================================================
[2026-08-29 19:05:24,743.743 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:05:24
[2026-08-29 19:05:25,059.059 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:05:25,193.193 INFO    ] Initializing speech engine...
[2026-08-29 19:05:25,196.196 INFO    ] 2026-08-29 19:05:25
[2026-08-29 19:05:25,387.387 INFO    ] 2026-08-29 19:05:25
[2026-08-29 19:05:25,432.432 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:05:25,561.561 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:05:25,566.566 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:05:25,725.725 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:05:25,792.792 INFO    ] time= 29/08/2026 19:05:25
[2026-08-29 19:05:25,802.802 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:05:25,818.818 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:05:25,870.870 INFO    ] No existing commands found in stream
[2026-08-29 19:05:30,881.881 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:05:30,884.884 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-08-29 19:05:34,637.637 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:05:34,640.640 INFO    ] Checking for system updates...
[2026-08-29 19:05:34,680.680 INFO    ] 200
[2026-08-29 19:05:34,683.683 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:05:34,735.735 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:05:34,738.738 INFO    ] No update needed
[2026-08-29 19:05:34,740.740 INFO    ] Checking for camera pi updates...
[2026-08-29 19:05:34,774.774 INFO    ] 200
[2026-08-29 19:05:34,776.776 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:05:34,818.818 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:05:34,929.929 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:05:34,930.930 INFO    ] No camera update needed
[2026-08-29 19:05:34,931.931 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:05:34,933.933 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:05:34,936.936 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:05:34,938.938 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:05:36,978.978 INFO    ] ================================================
[2026-08-29 19:05:36,993.993 INFO    ] Launching Daemon at Sat Aug 29 19:05:36 IST 2026
[2026-08-29 19:05:37,004.004 INFO    ] ================================================
[2026-08-29 19:05:37,365.365 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:05:37
[2026-08-29 19:05:37,902.902 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:05:38,171.171 INFO    ] Initializing speech engine...
[2026-08-29 19:05:38,180.180 INFO    ] 2026-08-29 19:05:38
[2026-08-29 19:05:38,427.427 INFO    ] 2026-08-29 19:05:38
[2026-08-29 19:05:38,463.463 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:05:38,636.636 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:05:38,649.649 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:05:38,762.762 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:05:38,781.781 INFO    ] time= 29/08/2026 19:05:38
[2026-08-29 19:05:38,801.801 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:05:38,809.809 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:05:38,878.878 INFO    ] No existing commands found in stream
[2026-08-29 19:05:43,890.890 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:05:43,893.893 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-08-29 19:05:44,562.562 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:05:44,563.563 INFO    ] Checking for system updates...
[2026-08-29 19:05:44,584.584 INFO    ] 200
[2026-08-29 19:05:44,585.585 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:05:44,616.616 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:05:44,617.617 INFO    ] No update needed
[2026-08-29 19:05:44,618.618 INFO    ] Checking for camera pi updates...
[2026-08-29 19:05:44,637.637 INFO    ] 200
[2026-08-29 19:05:44,639.639 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:05:44,662.662 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:05:44,738.738 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:05:44,739.739 INFO    ] No camera update needed
[2026-08-29 19:05:44,741.741 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:05:44,742.742 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:05:44,745.745 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:05:44,748.748 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:05:46,788.788 INFO    ] ================================================
[2026-08-29 19:05:46,804.804 INFO    ] Launching Daemon at Sat Aug 29 19:05:46 IST 2026
[2026-08-29 19:05:46,815.815 INFO    ] ================================================
[2026-08-29 19:05:47,148.148 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:05:47
[2026-08-29 19:05:47,730.730 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:05:47,997.997 INFO    ] Initializing speech engine...
[2026-08-29 19:05:48,006.006 INFO    ] 2026-08-29 19:05:48
[2026-08-29 19:05:48,258.258 INFO    ] 2026-08-29 19:05:48
[2026-08-29 19:05:48,317.317 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:05:48,458.458 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:05:48,471.471 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:05:48,610.610 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:05:48,618.618 INFO    ] time= 29/08/2026 19:05:48
[2026-08-29 19:05:48,625.625 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:05:48,666.666 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:05:48,778.778 INFO    ] No existing commands found in stream
[2026-08-29 19:05:53,808.808 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:05:53,811.811 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-08-29 19:05:54,551.551 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:05:54,553.553 INFO    ] Checking for system updates...
[2026-08-29 19:05:54,573.573 INFO    ] 200
[2026-08-29 19:05:54,575.575 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:05:54,605.605 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:05:54,606.606 INFO    ] No update needed
[2026-08-29 19:05:54,607.607 INFO    ] Checking for camera pi updates...
[2026-08-29 19:05:54,627.627 INFO    ] 200
[2026-08-29 19:05:54,628.628 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:05:54,653.653 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:05:54,747.747 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:05:54,750.750 INFO    ] No camera update needed
[2026-08-29 19:05:54,752.752 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:05:54,755.755 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:05:54,760.760 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:05:54,765.765 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:05:56,808.808 INFO    ] ================================================
[2026-08-29 19:05:56,824.824 INFO    ] Launching Daemon at Sat Aug 29 19:05:56 IST 2026
[2026-08-29 19:05:56,835.835 INFO    ] ================================================
[2026-08-29 19:05:57,494.494 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:05:57
[2026-08-29 19:05:58,001.001 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:05:58,147.147 INFO    ] Initializing speech engine...
[2026-08-29 19:05:58,156.156 INFO    ] 2026-08-29 19:05:58
[2026-08-29 19:05:58,370.370 INFO    ] 2026-08-29 19:05:58
[2026-08-29 19:05:58,399.399 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:05:58,572.572 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:05:58,592.592 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:05:58,723.723 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:05:58,779.779 INFO    ] time= 29/08/2026 19:05:58
[2026-08-29 19:05:58,823.823 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:05:58,825.825 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:05:58,898.898 INFO    ] No existing commands found in stream
[2026-08-29 19:06:03,909.909 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:06:03,912.912 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-08-29 19:06:05,489.489 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:06:05,491.491 INFO    ] Checking for system updates...
[2026-08-29 19:06:05,512.512 INFO    ] 200
[2026-08-29 19:06:05,513.513 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:06:05,546.546 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:06:05,547.547 INFO    ] No update needed
[2026-08-29 19:06:05,548.548 INFO    ] Checking for camera pi updates...
[2026-08-29 19:06:05,568.568 INFO    ] 200
[2026-08-29 19:06:05,569.569 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:06:05,596.596 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:06:05,680.680 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:06:05,681.681 INFO    ] No camera update needed
[2026-08-29 19:06:05,683.683 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:06:05,684.684 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:06:05,687.687 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:06:05,689.689 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:06:07,730.730 INFO    ] ================================================
[2026-08-29 19:06:07,745.745 INFO    ] Launching Daemon at Sat Aug 29 19:06:07 IST 2026
[2026-08-29 19:06:07,756.756 INFO    ] ================================================
[2026-08-29 19:06:08,340.340 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:06:08
[2026-08-29 19:06:08,939.939 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:06:09,164.164 INFO    ] Initializing speech engine...
[2026-08-29 19:06:09,171.171 INFO    ] 2026-08-29 19:06:09
[2026-08-29 19:06:09,411.411 INFO    ] 2026-08-29 19:06:09
[2026-08-29 19:06:09,483.483 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:06:09,647.647 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:06:09,653.653 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:06:09,831.831 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:06:09,856.856 INFO    ] time= 29/08/2026 19:06:09
[2026-08-29 19:06:09,871.871 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:06:09,879.879 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:06:09,993.993 INFO    ] No existing commands found in stream
[2026-08-29 19:06:15,019.019 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:06:15,022.022 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 19:06:16,020.020 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:06:16,022.022 INFO    ] Checking for system updates...
[2026-08-29 19:06:16,042.042 INFO    ] 200
[2026-08-29 19:06:16,043.043 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:06:16,075.075 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:06:16,076.076 INFO    ] No update needed
[2026-08-29 19:06:16,078.078 INFO    ] Checking for camera pi updates...
[2026-08-29 19:06:16,097.097 INFO    ] 200
[2026-08-29 19:06:16,098.098 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:06:16,122.122 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:06:16,215.215 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:06:16,216.216 INFO    ] No camera update needed
[2026-08-29 19:06:16,217.217 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:06:16,218.218 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:06:16,221.221 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:06:16,224.224 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:06:18,264.264 INFO    ] ================================================
[2026-08-29 19:06:18,279.279 INFO    ] Launching Daemon at Sat Aug 29 19:06:18 IST 2026
[2026-08-29 19:06:18,290.290 INFO    ] ================================================
[2026-08-29 19:06:18,652.652 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:06:18
[2026-08-29 19:06:18,987.987 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:06:19,137.137 INFO    ] Initializing speech engine...
[2026-08-29 19:06:19,142.142 INFO    ] 2026-08-29 19:06:19
[2026-08-29 19:06:19,348.348 INFO    ] 2026-08-29 19:06:19
[2026-08-29 19:06:19,377.377 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:06:19,499.499 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:06:19,542.542 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:06:19,692.692 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:06:19,754.754 INFO    ] time= 29/08/2026 19:06:19
[2026-08-29 19:06:19,791.791 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:06:19,797.797 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:06:19,865.865 INFO    ] No existing commands found in stream
[2026-08-29 19:06:24,879.879 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:06:24,883.883 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-08-29 19:06:28,137.137 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:06:28,138.138 INFO    ] Checking for system updates...
[2026-08-29 19:06:28,159.159 INFO    ] 200
[2026-08-29 19:06:28,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:06:28,193.193 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:06:28,195.195 INFO    ] No update needed
[2026-08-29 19:06:28,196.196 INFO    ] Checking for camera pi updates...
[2026-08-29 19:06:28,219.219 INFO    ] 200
[2026-08-29 19:06:28,220.220 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:06:28,244.244 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:06:28,340.340 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:06:28,341.341 INFO    ] No camera update needed
[2026-08-29 19:06:28,343.343 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:06:28,344.344 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:06:28,347.347 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:06:28,349.349 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:06:30,387.387 INFO    ] ================================================
[2026-08-29 19:06:30,403.403 INFO    ] Launching Daemon at Sat Aug 29 19:06:30 IST 2026
[2026-08-29 19:06:30,413.413 INFO    ] ================================================
[2026-08-29 19:06:30,751.751 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:06:30
[2026-08-29 19:06:31,126.126 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:06:31,440.440 INFO    ] Initializing speech engine...
[2026-08-29 19:06:31,447.447 INFO    ] 2026-08-29 19:06:31
[2026-08-29 19:06:31,718.718 INFO    ] 2026-08-29 19:06:31
[2026-08-29 19:06:31,778.778 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:06:32,011.011 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:06:32,042.042 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:06:32,210.210 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:06:32,218.218 INFO    ] time= 29/08/2026 19:06:32
[2026-08-29 19:06:32,273.273 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:06:32,333.333 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:06:32,400.400 INFO    ] No existing commands found in stream
[2026-08-29 19:06:37,411.411 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:06:37,414.414 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-08-29 19:06:41,344.344 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:06:41,346.346 INFO    ] Checking for system updates...
[2026-08-29 19:06:41,367.367 INFO    ] 200
[2026-08-29 19:06:41,369.369 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:06:41,398.398 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:06:41,399.399 INFO    ] No update needed
[2026-08-29 19:06:41,401.401 INFO    ] Checking for camera pi updates...
[2026-08-29 19:06:41,420.420 INFO    ] 200
[2026-08-29 19:06:41,421.421 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:06:41,444.444 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:06:41,519.519 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:06:41,520.520 INFO    ] No camera update needed
[2026-08-29 19:06:41,521.521 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:06:41,523.523 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:06:41,526.526 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:06:41,528.528 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:06:43,568.568 INFO    ] ================================================
[2026-08-29 19:06:43,583.583 INFO    ] Launching Daemon at Sat Aug 29 19:06:43 IST 2026
[2026-08-29 19:06:43,593.593 INFO    ] ================================================
[2026-08-29 19:06:43,927.927 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:06:43
[2026-08-29 19:06:44,243.243 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:06:44,386.386 INFO    ] Initializing speech engine...
[2026-08-29 19:06:44,391.391 INFO    ] 2026-08-29 19:06:44
[2026-08-29 19:06:44,597.597 INFO    ] 2026-08-29 19:06:44
[2026-08-29 19:06:44,624.624 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:06:44,745.745 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:06:44,789.789 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:06:44,950.950 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:06:45,000.000 INFO    ] time= 29/08/2026 19:06:44
[2026-08-29 19:06:45,056.056 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:06:45,069.069 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:06:45,204.204 INFO    ] No existing commands found in stream
[2026-08-29 19:06:50,219.219 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:06:50,221.221 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-08-29 19:06:52,441.441 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:06:52,443.443 INFO    ] Checking for system updates...
[2026-08-29 19:06:52,463.463 INFO    ] 200
[2026-08-29 19:06:52,465.465 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:06:52,497.497 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:06:52,499.499 INFO    ] No update needed
[2026-08-29 19:06:52,500.500 INFO    ] Checking for camera pi updates...
[2026-08-29 19:06:52,520.520 INFO    ] 200
[2026-08-29 19:06:52,522.522 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:06:52,545.545 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:06:52,617.617 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:06:52,619.619 INFO    ] No camera update needed
[2026-08-29 19:06:52,622.622 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:06:52,624.624 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:06:52,629.629 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:06:52,634.634 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:06:54,675.675 INFO    ] ================================================
[2026-08-29 19:06:54,689.689 INFO    ] Launching Daemon at Sat Aug 29 19:06:54 IST 2026
[2026-08-29 19:06:54,700.700 INFO    ] ================================================
[2026-08-29 19:06:55,341.341 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:06:55
[2026-08-29 19:06:55,813.813 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:06:55,963.963 INFO    ] Initializing speech engine...
[2026-08-29 19:06:55,969.969 INFO    ] 2026-08-29 19:06:55
[2026-08-29 19:06:56,188.188 INFO    ] 2026-08-29 19:06:56
[2026-08-29 19:06:56,245.245 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:06:56,401.401 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:06:56,408.408 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:06:56,545.545 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:06:56,616.616 INFO    ] time= 29/08/2026 19:06:56
[2026-08-29 19:06:56,671.671 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:06:56,684.684 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:06:56,813.813 INFO    ] No existing commands found in stream
[2026-08-29 19:07:01,841.841 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:07:01,845.845 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-08-29 19:07:05,237.237 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:07:05,238.238 INFO    ] Checking for system updates...
[2026-08-29 19:07:05,259.259 INFO    ] 200
[2026-08-29 19:07:05,261.261 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:07:05,293.293 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:07:05,294.294 INFO    ] No update needed
[2026-08-29 19:07:05,295.295 INFO    ] Checking for camera pi updates...
[2026-08-29 19:07:05,316.316 INFO    ] 200
[2026-08-29 19:07:05,318.318 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:07:05,343.343 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:07:05,424.424 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:07:05,426.426 INFO    ] No camera update needed
[2026-08-29 19:07:05,427.427 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:07:05,428.428 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:07:05,431.431 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:07:05,434.434 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:07:07,473.473 INFO    ] ================================================
[2026-08-29 19:07:07,488.488 INFO    ] Launching Daemon at Sat Aug 29 19:07:07 IST 2026
[2026-08-29 19:07:07,499.499 INFO    ] ================================================
[2026-08-29 19:07:07,890.890 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:07:07
[2026-08-29 19:07:08,224.224 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:07:08,522.522 INFO    ] Initializing speech engine...
[2026-08-29 19:07:08,529.529 INFO    ] 2026-08-29 19:07:08
[2026-08-29 19:07:08,799.799 INFO    ] 2026-08-29 19:07:08
[2026-08-29 19:07:08,857.857 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:07:09,083.083 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:07:09,088.088 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:07:09,223.223 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:07:09,288.288 INFO    ] time= 29/08/2026 19:07:09
[2026-08-29 19:07:09,348.348 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:07:09,358.358 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:07:09,477.477 INFO    ] No existing commands found in stream
[2026-08-29 19:07:14,504.504 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:07:14,509.509 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-08-29 19:07:18,179.179 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:07:18,180.180 INFO    ] Checking for system updates...
[2026-08-29 19:07:18,201.201 INFO    ] 200
[2026-08-29 19:07:18,203.203 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:07:18,234.234 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:07:18,236.236 INFO    ] No update needed
[2026-08-29 19:07:18,238.238 INFO    ] Checking for camera pi updates...
[2026-08-29 19:07:18,258.258 INFO    ] 200
[2026-08-29 19:07:18,260.260 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:07:18,284.284 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:07:18,362.362 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:07:18,363.363 INFO    ] No camera update needed
[2026-08-29 19:07:18,365.365 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:07:18,366.366 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:07:18,369.369 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:07:18,372.372 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:07:20,411.411 INFO    ] ================================================
[2026-08-29 19:07:20,426.426 INFO    ] Launching Daemon at Sat Aug 29 19:07:20 IST 2026
[2026-08-29 19:07:20,437.437 INFO    ] ================================================
[2026-08-29 19:07:20,980.980 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:07:20
[2026-08-29 19:07:21,575.575 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:07:21,837.837 INFO    ] Initializing speech engine...
[2026-08-29 19:07:21,844.844 INFO    ] 2026-08-29 19:07:21
[2026-08-29 19:07:22,142.142 INFO    ] 2026-08-29 19:07:22
[2026-08-29 19:07:22,169.169 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:07:22,325.325 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:07:22,332.332 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:07:22,486.486 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:07:22,497.497 INFO    ] time= 29/08/2026 19:07:22
[2026-08-29 19:07:22,502.502 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:07:22,506.506 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:07:22,573.573 INFO    ] No existing commands found in stream
[2026-08-29 19:07:27,586.586 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:07:27,588.588 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-08-29 19:07:30,642.642 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:07:30,645.645 INFO    ] Checking for system updates...
[2026-08-29 19:07:30,680.680 INFO    ] 200
[2026-08-29 19:07:30,683.683 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:07:30,737.737 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:07:30,739.739 INFO    ] No update needed
[2026-08-29 19:07:30,742.742 INFO    ] Checking for camera pi updates...
[2026-08-29 19:07:30,777.777 INFO    ] 200
[2026-08-29 19:07:30,779.779 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:07:30,823.823 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:07:30,941.941 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:07:30,944.944 INFO    ] No camera update needed
[2026-08-29 19:07:30,946.946 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:07:30,948.948 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:07:30,954.954 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:07:30,959.959 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:07:33,999.999 INFO    ] ================================================
[2026-08-29 19:07:33,014.014 INFO    ] Launching Daemon at Sat Aug 29 19:07:33 IST 2026
[2026-08-29 19:07:33,025.025 INFO    ] ================================================
[2026-08-29 19:07:33,607.607 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:07:33
[2026-08-29 19:07:34,193.193 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:07:34,460.460 INFO    ] Initializing speech engine...
[2026-08-29 19:07:34,469.469 INFO    ] 2026-08-29 19:07:34
[2026-08-29 19:07:34,718.718 INFO    ] 2026-08-29 19:07:34
[2026-08-29 19:07:34,754.754 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:07:34,924.924 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:07:34,936.936 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:07:35,077.077 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:07:35,119.119 INFO    ] time= 29/08/2026 19:07:35
[2026-08-29 19:07:35,154.154 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:07:35,170.170 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:07:35,285.285 INFO    ] No existing commands found in stream
[2026-08-29 19:07:40,295.295 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:07:40,297.297 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-08-29 19:07:43,796.796 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:07:43,798.798 INFO    ] Checking for system updates...
[2026-08-29 19:07:43,818.818 INFO    ] 200
[2026-08-29 19:07:43,820.820 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:07:43,852.852 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:07:43,854.854 INFO    ] No update needed
[2026-08-29 19:07:43,856.856 INFO    ] Checking for camera pi updates...
[2026-08-29 19:07:43,876.876 INFO    ] 200
[2026-08-29 19:07:43,878.878 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:07:43,904.904 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:07:44,093.093 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:07:44,094.094 INFO    ] No camera update needed
[2026-08-29 19:07:44,095.095 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:07:44,096.096 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:07:44,099.099 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:07:44,102.102 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:07:46,142.142 INFO    ] ================================================
[2026-08-29 19:07:46,158.158 INFO    ] Launching Daemon at Sat Aug 29 19:07:46 IST 2026
[2026-08-29 19:07:46,169.169 INFO    ] ================================================
[2026-08-29 19:07:46,715.715 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:07:46
[2026-08-29 19:07:47,305.305 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:07:47,558.558 INFO    ] Initializing speech engine...
[2026-08-29 19:07:47,566.566 INFO    ] 2026-08-29 19:07:47
[2026-08-29 19:07:47,860.860 INFO    ] 2026-08-29 19:07:47
[2026-08-29 19:07:47,897.897 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:07:48,070.070 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:07:48,082.082 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:07:48,224.224 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:07:48,232.232 INFO    ] time= 29/08/2026 19:07:48
[2026-08-29 19:07:48,238.238 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:07:48,258.258 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:07:48,384.384 INFO    ] No existing commands found in stream
[2026-08-29 19:07:53,409.409 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:07:53,412.412 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-08-29 19:07:54,353.353 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:07:54,355.355 INFO    ] Checking for system updates...
[2026-08-29 19:07:54,375.375 INFO    ] 200
[2026-08-29 19:07:54,377.377 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:07:54,407.407 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:07:54,409.409 INFO    ] No update needed
[2026-08-29 19:07:54,410.410 INFO    ] Checking for camera pi updates...
[2026-08-29 19:07:54,430.430 INFO    ] 200
[2026-08-29 19:07:54,431.431 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:07:54,456.456 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:07:54,550.550 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:07:54,552.552 INFO    ] No camera update needed
[2026-08-29 19:07:54,553.553 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:07:54,555.555 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:07:54,558.558 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:07:54,561.561 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:07:56,602.602 INFO    ] ================================================
[2026-08-29 19:07:56,618.618 INFO    ] Launching Daemon at Sat Aug 29 19:07:56 IST 2026
[2026-08-29 19:07:56,629.629 INFO    ] ================================================
[2026-08-29 19:07:56,988.988 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:07:56
[2026-08-29 19:07:57,308.308 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:07:57,448.448 INFO    ] Initializing speech engine...
[2026-08-29 19:07:57,461.461 INFO    ] 2026-08-29 19:07:57
[2026-08-29 19:07:57,663.663 INFO    ] 2026-08-29 19:07:57
[2026-08-29 19:07:57,701.701 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:07:57,896.896 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:07:57,903.903 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:07:58,035.035 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:07:58,042.042 INFO    ] time= 29/08/2026 19:07:58
[2026-08-29 19:07:58,049.049 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:07:58,069.069 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:07:58,171.171 INFO    ] No existing commands found in stream
[2026-08-29 19:08:03,184.184 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:08:03,188.188 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-08-29 19:08:04,493.493 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:08:04,496.496 INFO    ] Checking for system updates...
[2026-08-29 19:08:04,532.532 INFO    ] 200
[2026-08-29 19:08:04,535.535 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:08:04,588.588 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:08:04,590.590 INFO    ] No update needed
[2026-08-29 19:08:04,592.592 INFO    ] Checking for camera pi updates...
[2026-08-29 19:08:04,627.627 INFO    ] 200
[2026-08-29 19:08:04,629.629 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:08:04,674.674 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:08:04,749.749 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:08:04,751.751 INFO    ] No camera update needed
[2026-08-29 19:08:04,753.753 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:08:04,755.755 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:08:04,758.758 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:08:04,760.760 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:08:06,799.799 INFO    ] ================================================
[2026-08-29 19:08:06,814.814 INFO    ] Launching Daemon at Sat Aug 29 19:08:06 IST 2026
[2026-08-29 19:08:06,825.825 INFO    ] ================================================
[2026-08-29 19:08:07,180.180 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:08:07
[2026-08-29 19:08:07,494.494 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:08:07,635.635 INFO    ] Initializing speech engine...
[2026-08-29 19:08:07,648.648 INFO    ] 2026-08-29 19:08:07
[2026-08-29 19:08:07,866.866 INFO    ] 2026-08-29 19:08:07
[2026-08-29 19:08:07,897.897 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:08:08,010.010 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:08:08,030.030 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:08:08,203.203 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:08:08,263.263 INFO    ] time= 29/08/2026 19:08:08
[2026-08-29 19:08:08,288.288 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:08:08,305.305 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:08:08,356.356 INFO    ] No existing commands found in stream
[2026-08-29 19:08:13,374.374 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:08:13,377.377 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-08-29 19:08:14,963.963 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:08:14,965.965 INFO    ] Checking for system updates...
[2026-08-29 19:08:14,985.985 INFO    ] 200
[2026-08-29 19:08:14,986.986 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:08:15,018.018 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:08:15,019.019 INFO    ] No update needed
[2026-08-29 19:08:15,021.021 INFO    ] Checking for camera pi updates...
[2026-08-29 19:08:15,040.040 INFO    ] 200
[2026-08-29 19:08:15,041.041 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:08:15,064.064 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:08:15,141.141 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:08:15,143.143 INFO    ] No camera update needed
[2026-08-29 19:08:15,144.144 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:08:15,145.145 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:08:15,148.148 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:08:15,151.151 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:08:17,191.191 INFO    ] ================================================
[2026-08-29 19:08:17,206.206 INFO    ] Launching Daemon at Sat Aug 29 19:08:17 IST 2026
[2026-08-29 19:08:17,217.217 INFO    ] ================================================
[2026-08-29 19:08:17,549.549 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:08:17
[2026-08-29 19:08:17,867.867 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:08:18,006.006 INFO    ] Initializing speech engine...
[2026-08-29 19:08:18,019.019 INFO    ] 2026-08-29 19:08:18
[2026-08-29 19:08:18,295.295 INFO    ] 2026-08-29 19:08:18
[2026-08-29 19:08:18,334.334 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:08:18,528.528 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:08:18,539.539 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:08:18,653.653 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:08:18,676.676 INFO    ] time= 29/08/2026 19:08:18
[2026-08-29 19:08:18,684.684 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:08:18,689.689 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:08:18,760.760 INFO    ] No existing commands found in stream
[2026-08-29 19:08:23,790.790 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:08:23,793.793 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-08-29 19:08:28,012.012 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:08:28,013.013 INFO    ] Checking for system updates...
[2026-08-29 19:08:28,034.034 INFO    ] 200
[2026-08-29 19:08:28,036.036 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:08:28,067.067 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:08:28,068.068 INFO    ] No update needed
[2026-08-29 19:08:28,070.070 INFO    ] Checking for camera pi updates...
[2026-08-29 19:08:28,089.089 INFO    ] 200
[2026-08-29 19:08:28,091.091 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:08:28,114.114 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:08:28,217.217 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:08:28,219.219 INFO    ] No camera update needed
[2026-08-29 19:08:28,220.220 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:08:28,222.222 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:08:28,225.225 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:08:28,228.228 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:08:30,267.267 INFO    ] ================================================
[2026-08-29 19:08:30,283.283 INFO    ] Launching Daemon at Sat Aug 29 19:08:30 IST 2026
[2026-08-29 19:08:30,294.294 INFO    ] ================================================
[2026-08-29 19:08:30,658.658 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:08:30
[2026-08-29 19:08:30,996.996 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:08:31,151.151 INFO    ] Initializing speech engine...
[2026-08-29 19:08:31,156.156 INFO    ] 2026-08-29 19:08:31
[2026-08-29 19:08:31,397.397 INFO    ] 2026-08-29 19:08:31
[2026-08-29 19:08:31,454.454 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:08:31,623.623 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:08:31,632.632 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:08:31,810.810 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:08:31,837.837 INFO    ] time= 29/08/2026 19:08:31
[2026-08-29 19:08:31,859.859 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:08:31,884.884 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:08:31,992.992 INFO    ] No existing commands found in stream
[2026-08-29 19:08:37,014.014 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:08:37,017.017 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-08-29 19:08:40,024.024 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:08:40,026.026 INFO    ] Checking for system updates...
[2026-08-29 19:08:40,047.047 INFO    ] 200
[2026-08-29 19:08:40,048.048 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:08:40,078.078 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:08:40,079.079 INFO    ] No update needed
[2026-08-29 19:08:40,080.080 INFO    ] Checking for camera pi updates...
[2026-08-29 19:08:40,103.103 INFO    ] 200
[2026-08-29 19:08:40,105.105 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:08:40,127.127 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:08:40,210.210 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:08:40,211.211 INFO    ] No camera update needed
[2026-08-29 19:08:40,214.214 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:08:40,216.216 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:08:40,222.222 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:08:40,226.226 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:08:42,267.267 INFO    ] ================================================
[2026-08-29 19:08:42,283.283 INFO    ] Launching Daemon at Sat Aug 29 19:08:42 IST 2026
[2026-08-29 19:08:42,294.294 INFO    ] ================================================
[2026-08-29 19:08:42,876.876 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:08:42
[2026-08-29 19:08:43,365.365 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:08:43,503.503 INFO    ] Initializing speech engine...
[2026-08-29 19:08:43,513.513 INFO    ] 2026-08-29 19:08:43
[2026-08-29 19:08:43,717.717 INFO    ] 2026-08-29 19:08:43
[2026-08-29 19:08:43,747.747 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:08:43,869.869 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:08:43,931.931 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:08:44,062.062 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:08:44,117.117 INFO    ] time= 29/08/2026 19:08:44
[2026-08-29 19:08:44,156.156 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:08:44,162.162 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:08:44,232.232 INFO    ] No existing commands found in stream
[2026-08-29 19:08:49,241.241 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:08:49,243.243 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-08-29 19:08:54,076.076 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:08:54,078.078 INFO    ] Checking for system updates...
[2026-08-29 19:08:54,099.099 INFO    ] 200
[2026-08-29 19:08:54,100.100 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:08:54,130.130 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:08:54,132.132 INFO    ] No update needed
[2026-08-29 19:08:54,133.133 INFO    ] Checking for camera pi updates...
[2026-08-29 19:08:54,152.152 INFO    ] 200
[2026-08-29 19:08:54,154.154 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:08:54,176.176 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:08:54,259.259 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:08:54,260.260 INFO    ] No camera update needed
[2026-08-29 19:08:54,261.261 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:08:54,263.263 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:08:54,266.266 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:08:54,268.268 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:08:56,296.296 INFO    ] ================================================
[2026-08-29 19:08:56,305.305 INFO    ] Launching Daemon at Sat Aug 29 19:08:56 IST 2026
[2026-08-29 19:08:56,312.312 INFO    ] ================================================
[2026-08-29 19:08:56,865.865 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:08:56
[2026-08-29 19:08:57,452.452 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:08:57,706.706 INFO    ] Initializing speech engine...
[2026-08-29 19:08:57,728.728 INFO    ] 2026-08-29 19:08:57
[2026-08-29 19:08:57,986.986 INFO    ] 2026-08-29 19:08:57
[2026-08-29 19:08:58,021.021 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:08:59,228.228 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:08:59,235.235 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:08:59,390.390 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:08:59,395.395 INFO    ] time= 29/08/2026 19:08:59
[2026-08-29 19:08:59,401.401 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:08:59,407.407 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:08:59,715.715 INFO    ] No existing commands found in stream
[2026-08-29 19:09:04,729.729 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:09:04,732.732 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-08-29 19:09:06,512.512 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:09:06,515.515 INFO    ] Checking for system updates...
[2026-08-29 19:09:06,551.551 INFO    ] 200
[2026-08-29 19:09:06,554.554 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:09:06,608.608 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:09:06,610.610 INFO    ] No update needed
[2026-08-29 19:09:06,612.612 INFO    ] Checking for camera pi updates...
[2026-08-29 19:09:06,645.645 INFO    ] 200
[2026-08-29 19:09:06,648.648 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:09:06,688.688 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:09:06,782.782 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:09:06,785.785 INFO    ] No camera update needed
[2026-08-29 19:09:06,787.787 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:09:06,789.789 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:09:06,794.794 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:09:06,799.799 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:09:08,839.839 INFO    ] ================================================
[2026-08-29 19:09:08,854.854 INFO    ] Launching Daemon at Sat Aug 29 19:09:08 IST 2026
[2026-08-29 19:09:08,865.865 INFO    ] ================================================
[2026-08-29 19:09:09,216.216 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:09:09
[2026-08-29 19:09:09,549.549 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:09:09,702.702 INFO    ] Initializing speech engine...
[2026-08-29 19:09:09,707.707 INFO    ] 2026-08-29 19:09:09
[2026-08-29 19:09:09,943.943 INFO    ] 2026-08-29 19:09:09
[2026-08-29 19:09:09,988.988 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:09:10,209.209 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:09:10,218.218 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:09:10,351.351 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:09:10,404.404 INFO    ] time= 29/08/2026 19:09:10
[2026-08-29 19:09:10,453.453 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:09:10,486.486 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:09:10,567.567 INFO    ] No existing commands found in stream
[2026-08-29 19:09:15,599.599 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:09:15,602.602 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-08-29 19:09:19,707.707 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:09:19,708.708 INFO    ] Checking for system updates...
[2026-08-29 19:09:19,729.729 INFO    ] 200
[2026-08-29 19:09:19,730.730 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:09:19,763.763 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:09:19,764.764 INFO    ] No update needed
[2026-08-29 19:09:19,766.766 INFO    ] Checking for camera pi updates...
[2026-08-29 19:09:19,785.785 INFO    ] 200
[2026-08-29 19:09:19,787.787 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:09:19,810.810 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:09:19,870.870 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:09:19,871.871 INFO    ] No camera update needed
[2026-08-29 19:09:19,873.873 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:09:19,874.874 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:09:19,877.877 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:09:19,880.880 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:09:21,918.918 INFO    ] ================================================
[2026-08-29 19:09:21,934.934 INFO    ] Launching Daemon at Sat Aug 29 19:09:21 IST 2026
[2026-08-29 19:09:21,945.945 INFO    ] ================================================
[2026-08-29 19:09:22,554.554 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:09:22
[2026-08-29 19:09:23,214.214 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:09:23,513.513 INFO    ] Initializing speech engine...
[2026-08-29 19:09:23,521.521 INFO    ] 2026-08-29 19:09:23
[2026-08-29 19:09:23,804.804 INFO    ] 2026-08-29 19:09:23
[2026-08-29 19:09:23,848.848 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:09:24,076.076 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:09:24,087.087 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:09:24,226.226 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:09:24,264.264 INFO    ] time= 29/08/2026 19:09:24
[2026-08-29 19:09:24,319.319 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:09:24,366.366 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:09:24,419.419 INFO    ] No existing commands found in stream
[2026-08-29 19:09:29,431.431 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:09:29,435.435 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-08-29 19:09:29,883.883 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:09:29,884.884 INFO    ] Checking for system updates...
[2026-08-29 19:09:29,905.905 INFO    ] 200
[2026-08-29 19:09:29,906.906 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:09:29,936.936 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:09:29,938.938 INFO    ] No update needed
[2026-08-29 19:09:29,939.939 INFO    ] Checking for camera pi updates...
[2026-08-29 19:09:29,958.958 INFO    ] 200
[2026-08-29 19:09:29,960.960 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:09:29,983.983 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:09:30,071.071 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:09:30,073.073 INFO    ] No camera update needed
[2026-08-29 19:09:30,074.074 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:09:30,076.076 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:09:30,079.079 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:09:30,082.082 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:09:32,114.114 INFO    ] ================================================
[2026-08-29 19:09:32,131.131 INFO    ] Launching Daemon at Sat Aug 29 19:09:32 IST 2026
[2026-08-29 19:09:32,143.143 INFO    ] ================================================
[2026-08-29 19:09:32,830.830 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:09:32
[2026-08-29 19:09:33,486.486 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:09:33,777.777 INFO    ] Initializing speech engine...
[2026-08-29 19:09:33,788.788 INFO    ] 2026-08-29 19:09:33
[2026-08-29 19:09:34,063.063 INFO    ] 2026-08-29 19:09:34
[2026-08-29 19:09:34,119.119 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:09:34,339.339 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:09:34,349.349 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:09:34,481.481 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:09:34,508.508 INFO    ] time= 29/08/2026 19:09:34
[2026-08-29 19:09:34,568.568 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:09:34,615.615 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:09:34,667.667 INFO    ] No existing commands found in stream
[2026-08-29 19:09:39,680.680 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:09:39,683.683 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-08-29 19:09:40,547.547 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:09:40,548.548 INFO    ] Checking for system updates...
[2026-08-29 19:09:40,569.569 INFO    ] 200
[2026-08-29 19:09:40,570.570 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:09:40,601.601 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:09:40,602.602 INFO    ] No update needed
[2026-08-29 19:09:40,604.604 INFO    ] Checking for camera pi updates...
[2026-08-29 19:09:40,623.623 INFO    ] 200
[2026-08-29 19:09:40,625.625 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:09:40,648.648 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:09:40,742.742 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:09:40,743.743 INFO    ] No camera update needed
[2026-08-29 19:09:40,745.745 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:09:40,746.746 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:09:40,749.749 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:09:40,752.752 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:09:42,792.792 INFO    ] ================================================
[2026-08-29 19:09:42,808.808 INFO    ] Launching Daemon at Sat Aug 29 19:09:42 IST 2026
[2026-08-29 19:09:42,819.819 INFO    ] ================================================
[2026-08-29 19:09:43,314.314 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:09:43
[2026-08-29 19:09:43,928.928 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:09:44,190.190 INFO    ] Initializing speech engine...
[2026-08-29 19:09:44,217.217 INFO    ] 2026-08-29 19:09:44
[2026-08-29 19:09:44,492.492 INFO    ] 2026-08-29 19:09:44
[2026-08-29 19:09:44,528.528 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:09:44,683.683 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:09:44,720.720 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:09:44,836.836 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:09:44,859.859 INFO    ] time= 29/08/2026 19:09:44
[2026-08-29 19:09:44,865.865 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:09:44,871.871 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:09:44,986.986 INFO    ] No existing commands found in stream
[2026-08-29 19:09:49,999.999 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:09:50,002.002 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-08-29 19:09:51,962.962 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:09:51,965.965 INFO    ] Checking for system updates...
[2026-08-29 19:09:52,000.000 INFO    ] 200
[2026-08-29 19:09:52,003.003 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:09:52,055.055 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:09:52,057.057 INFO    ] No update needed
[2026-08-29 19:09:52,059.059 INFO    ] Checking for camera pi updates...
[2026-08-29 19:09:52,094.094 INFO    ] 200
[2026-08-29 19:09:52,096.096 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:09:52,136.136 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:09:52,316.316 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:09:52,318.318 INFO    ] No camera update needed
[2026-08-29 19:09:52,321.321 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:09:52,323.323 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:09:52,328.328 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:09:52,333.333 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:09:54,374.374 INFO    ] ================================================
[2026-08-29 19:09:54,389.389 INFO    ] Launching Daemon at Sat Aug 29 19:09:54 IST 2026
[2026-08-29 19:09:54,401.401 INFO    ] ================================================
[2026-08-29 19:09:54,739.739 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:09:54
[2026-08-29 19:09:55,234.234 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:09:55,483.483 INFO    ] Initializing speech engine...
[2026-08-29 19:09:55,492.492 INFO    ] 2026-08-29 19:09:55
[2026-08-29 19:09:55,768.768 INFO    ] 2026-08-29 19:09:55
[2026-08-29 19:09:55,803.803 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:09:55,979.979 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:09:55,995.995 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:09:56,141.141 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:09:56,150.150 INFO    ] time= 29/08/2026 19:09:56
[2026-08-29 19:09:56,159.159 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:09:56,222.222 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:09:56,309.309 INFO    ] No existing commands found in stream
[2026-08-29 19:10:01,352.352 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:10:01,358.358 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-08-29 19:10:06,292.292 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:10:06,294.294 INFO    ] Checking for system updates...
[2026-08-29 19:10:06,315.315 INFO    ] 200
[2026-08-29 19:10:06,316.316 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:10:06,356.356 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:10:06,360.360 INFO    ] No update needed
[2026-08-29 19:10:06,363.363 INFO    ] Checking for camera pi updates...
[2026-08-29 19:10:06,406.406 INFO    ] 200
[2026-08-29 19:10:06,408.408 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:10:06,459.459 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:10:06,543.543 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:10:06,545.545 INFO    ] No camera update needed
[2026-08-29 19:10:06,547.547 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:10:06,549.549 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:10:06,555.555 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:10:06,559.559 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:10:08,601.601 INFO    ] ================================================
[2026-08-29 19:10:08,616.616 INFO    ] Launching Daemon at Sat Aug 29 19:10:08 IST 2026
[2026-08-29 19:10:08,627.627 INFO    ] ================================================
[2026-08-29 19:10:09,201.201 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:10:09
[2026-08-29 19:10:09,642.642 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:10:09,778.778 INFO    ] Initializing speech engine...
[2026-08-29 19:10:09,785.785 INFO    ] 2026-08-29 19:10:09
[2026-08-29 19:10:10,008.008 INFO    ] 2026-08-29 19:10:09
[2026-08-29 19:10:10,038.038 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:10:10,170.170 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:10:10,207.207 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:10:10,377.377 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:10:10,409.409 INFO    ] time= 29/08/2026 19:10:10
[2026-08-29 19:10:10,459.459 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:10:10,485.485 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:10:10,560.560 INFO    ] No existing commands found in stream
[2026-08-29 19:10:15,571.571 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:10:15,574.574 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-08-29 19:10:17,240.240 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:10:17,242.242 INFO    ] Checking for system updates...
[2026-08-29 19:10:17,262.262 INFO    ] 200
[2026-08-29 19:10:17,264.264 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:10:17,296.296 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:10:17,297.297 INFO    ] No update needed
[2026-08-29 19:10:17,298.298 INFO    ] Checking for camera pi updates...
[2026-08-29 19:10:17,320.320 INFO    ] 200
[2026-08-29 19:10:17,321.321 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:10:17,344.344 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:10:17,458.458 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:10:17,459.459 INFO    ] No camera update needed
[2026-08-29 19:10:17,461.461 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:10:17,462.462 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:10:17,465.465 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:10:17,468.468 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:10:19,510.510 INFO    ] ================================================
[2026-08-29 19:10:19,526.526 INFO    ] Launching Daemon at Sat Aug 29 19:10:19 IST 2026
[2026-08-29 19:10:19,537.537 INFO    ] ================================================
[2026-08-29 19:10:19,863.863 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:10:19
[2026-08-29 19:10:20,175.175 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:10:20,313.313 INFO    ] Initializing speech engine...
[2026-08-29 19:10:20,323.323 INFO    ] 2026-08-29 19:10:20
[2026-08-29 19:10:20,520.520 INFO    ] 2026-08-29 19:10:20
[2026-08-29 19:10:20,598.598 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:10:20,749.749 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:10:20,759.759 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:10:20,893.893 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:10:20,900.900 INFO    ] time= 29/08/2026 19:10:20
[2026-08-29 19:10:20,959.959 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:10:21,024.024 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:10:21,087.087 INFO    ] No existing commands found in stream
[2026-08-29 19:10:26,099.099 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:10:26,102.102 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-08-29 19:10:27,989.989 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:10:27,991.991 INFO    ] Checking for system updates...
[2026-08-29 19:10:28,011.011 INFO    ] 200
[2026-08-29 19:10:28,013.013 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:10:28,042.042 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:10:28,043.043 INFO    ] No update needed
[2026-08-29 19:10:28,045.045 INFO    ] Checking for camera pi updates...
[2026-08-29 19:10:28,066.066 INFO    ] 200
[2026-08-29 19:10:28,067.067 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:10:28,090.090 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:10:28,193.193 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:10:28,194.194 INFO    ] No camera update needed
[2026-08-29 19:10:28,196.196 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:10:28,197.197 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:10:28,200.200 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:10:28,202.202 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:10:30,242.242 INFO    ] ================================================
[2026-08-29 19:10:30,257.257 INFO    ] Launching Daemon at Sat Aug 29 19:10:30 IST 2026
[2026-08-29 19:10:30,268.268 INFO    ] ================================================
[2026-08-29 19:10:30,652.652 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:10:30
[2026-08-29 19:10:30,981.981 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:10:31,124.124 INFO    ] Initializing speech engine...
[2026-08-29 19:10:31,134.134 INFO    ] 2026-08-29 19:10:31
[2026-08-29 19:10:31,341.341 INFO    ] 2026-08-29 19:10:31
[2026-08-29 19:10:31,369.369 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:10:31,492.492 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:10:31,556.556 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:10:31,732.732 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:10:31,759.759 INFO    ] time= 29/08/2026 19:10:31
[2026-08-29 19:10:31,814.814 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:10:31,880.880 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:10:31,972.972 INFO    ] No existing commands found in stream
[2026-08-29 19:10:36,977.977 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:10:36,980.980 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-08-29 19:10:37,854.854 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:10:37,857.857 INFO    ] Checking for system updates...
[2026-08-29 19:10:37,892.892 INFO    ] 200
[2026-08-29 19:10:37,895.895 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:10:37,949.949 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:10:37,951.951 INFO    ] No update needed
[2026-08-29 19:10:37,954.954 INFO    ] Checking for camera pi updates...
[2026-08-29 19:10:37,987.987 INFO    ] 200
[2026-08-29 19:10:37,990.990 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:10:38,030.030 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:10:38,094.094 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:10:38,096.096 INFO    ] No camera update needed
[2026-08-29 19:10:38,098.098 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:10:38,101.101 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:10:38,106.106 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:10:38,111.111 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:10:40,153.153 INFO    ] ================================================
[2026-08-29 19:10:40,168.168 INFO    ] Launching Daemon at Sat Aug 29 19:10:40 IST 2026
[2026-08-29 19:10:40,180.180 INFO    ] ================================================
[2026-08-29 19:10:40,533.533 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:10:40
[2026-08-29 19:10:40,864.864 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:10:41,013.013 INFO    ] Initializing speech engine...
[2026-08-29 19:10:41,019.019 INFO    ] 2026-08-29 19:10:41
[2026-08-29 19:10:41,229.229 INFO    ] 2026-08-29 19:10:41
[2026-08-29 19:10:41,314.314 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:10:41,469.469 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:10:41,475.475 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:10:41,608.608 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:10:41,668.668 INFO    ] time= 29/08/2026 19:10:41
[2026-08-29 19:10:41,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:10:41,743.743 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:10:41,863.863 INFO    ] No existing commands found in stream
[2026-08-29 19:10:46,889.889 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:10:46,892.892 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-08-29 19:10:51,021.021 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:10:51,023.023 INFO    ] Checking for system updates...
[2026-08-29 19:10:51,044.044 INFO    ] 200
[2026-08-29 19:10:51,045.045 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:10:51,075.075 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:10:51,076.076 INFO    ] No update needed
[2026-08-29 19:10:51,078.078 INFO    ] Checking for camera pi updates...
[2026-08-29 19:10:51,097.097 INFO    ] 200
[2026-08-29 19:10:51,099.099 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:10:51,122.122 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:10:51,199.199 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:10:51,201.201 INFO    ] No camera update needed
[2026-08-29 19:10:51,202.202 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:10:51,204.204 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:10:51,207.207 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:10:51,210.210 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:10:53,249.249 INFO    ] ================================================
[2026-08-29 19:10:53,265.265 INFO    ] Launching Daemon at Sat Aug 29 19:10:53 IST 2026
[2026-08-29 19:10:53,276.276 INFO    ] ================================================
[2026-08-29 19:10:53,640.640 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:10:53
[2026-08-29 19:10:53,950.950 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:10:54,092.092 INFO    ] Initializing speech engine...
[2026-08-29 19:10:54,097.097 INFO    ] 2026-08-29 19:10:54
[2026-08-29 19:10:54,299.299 INFO    ] 2026-08-29 19:10:54
[2026-08-29 19:10:54,328.328 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:10:54,514.514 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:10:54,518.518 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:10:54,645.645 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:10:54,701.701 INFO    ] time= 29/08/2026 19:10:54
[2026-08-29 19:10:54,735.735 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:10:54,745.745 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:10:54,821.821 INFO    ] No existing commands found in stream
[2026-08-29 19:10:59,830.830 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:10:59,833.833 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-08-29 19:11:00,296.296 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:11:00,298.298 INFO    ] Checking for system updates...
[2026-08-29 19:11:00,318.318 INFO    ] 200
[2026-08-29 19:11:00,319.319 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:11:00,349.349 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:11:00,350.350 INFO    ] No update needed
[2026-08-29 19:11:00,352.352 INFO    ] Checking for camera pi updates...
[2026-08-29 19:11:00,375.375 INFO    ] 200
[2026-08-29 19:11:00,376.376 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:11:00,398.398 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:11:00,476.476 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:11:00,477.477 INFO    ] No camera update needed
[2026-08-29 19:11:00,479.479 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:11:00,480.480 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:11:00,483.483 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:11:00,485.485 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:11:02,547.547 INFO    ] ================================================
[2026-08-29 19:11:02,568.568 INFO    ] Launching Daemon at Sat Aug 29 19:11:02 IST 2026
[2026-08-29 19:11:02,583.583 INFO    ] ================================================
[2026-08-29 19:11:03,294.294 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:11:03
[2026-08-29 19:11:03,935.935 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:11:04,225.225 INFO    ] Initializing speech engine...
[2026-08-29 19:11:04,237.237 INFO    ] 2026-08-29 19:11:04
[2026-08-29 19:11:04,510.510 INFO    ] 2026-08-29 19:11:04
[2026-08-29 19:11:04,567.567 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:11:04,792.792 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:11:04,801.801 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:11:04,933.933 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:11:04,988.988 INFO    ] time= 29/08/2026 19:11:04
[2026-08-29 19:11:05,002.002 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:11:05,012.012 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:11:05,099.099 INFO    ] No existing commands found in stream
[2026-08-29 19:11:10,134.134 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:11:10,137.137 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-08-29 19:11:13,900.900 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:11:13,901.901 INFO    ] Checking for system updates...
[2026-08-29 19:11:13,922.922 INFO    ] 200
[2026-08-29 19:11:13,923.923 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:11:13,956.956 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:11:13,957.957 INFO    ] No update needed
[2026-08-29 19:11:13,959.959 INFO    ] Checking for camera pi updates...
[2026-08-29 19:11:13,978.978 INFO    ] 200
[2026-08-29 19:11:13,979.979 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:11:14,003.003 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:11:14,077.077 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:11:14,078.078 INFO    ] No camera update needed
[2026-08-29 19:11:14,079.079 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:11:14,081.081 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:11:14,084.084 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:11:14,086.086 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:11:16,125.125 INFO    ] ================================================
[2026-08-29 19:11:16,141.141 INFO    ] Launching Daemon at Sat Aug 29 19:11:16 IST 2026
[2026-08-29 19:11:16,152.152 INFO    ] ================================================
[2026-08-29 19:11:16,514.514 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:11:16
[2026-08-29 19:11:16,826.826 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:11:16,957.957 INFO    ] Initializing speech engine...
[2026-08-29 19:11:16,965.965 INFO    ] 2026-08-29 19:11:16
[2026-08-29 19:11:17,219.219 INFO    ] 2026-08-29 19:11:17
[2026-08-29 19:11:17,275.275 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:11:17,407.407 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:11:17,412.412 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:11:17,605.605 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:11:17,651.651 INFO    ] time= 29/08/2026 19:11:17
[2026-08-29 19:11:17,658.658 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:11:17,677.677 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:11:17,772.772 INFO    ] No existing commands found in stream
[2026-08-29 19:11:22,799.799 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:11:22,802.802 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-08-29 19:11:25,982.982 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:11:25,984.984 INFO    ] Checking for system updates...
[2026-08-29 19:11:26,004.004 INFO    ] 200
[2026-08-29 19:11:26,005.005 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:11:26,039.039 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:11:26,040.040 INFO    ] No update needed
[2026-08-29 19:11:26,041.041 INFO    ] Checking for camera pi updates...
[2026-08-29 19:11:26,061.061 INFO    ] 200
[2026-08-29 19:11:26,062.062 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:11:26,085.085 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:11:26,147.147 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:11:26,149.149 INFO    ] No camera update needed
[2026-08-29 19:11:26,152.152 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:11:26,154.154 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:11:26,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:11:26,164.164 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:11:28,205.205 INFO    ] ================================================
[2026-08-29 19:11:28,221.221 INFO    ] Launching Daemon at Sat Aug 29 19:11:28 IST 2026
[2026-08-29 19:11:28,232.232 INFO    ] ================================================
[2026-08-29 19:11:28,812.812 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:11:28
[2026-08-29 19:11:29,333.333 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:11:29,476.476 INFO    ] Initializing speech engine...
[2026-08-29 19:11:29,481.481 INFO    ] 2026-08-29 19:11:29
[2026-08-29 19:11:29,685.685 INFO    ] 2026-08-29 19:11:29
[2026-08-29 19:11:29,713.713 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:11:29,835.835 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:11:29,879.879 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:11:30,029.029 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:11:30,091.091 INFO    ] time= 29/08/2026 19:11:30
[2026-08-29 19:11:30,119.119 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:11:30,129.129 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:11:30,200.200 INFO    ] No existing commands found in stream
[2026-08-29 19:11:35,210.210 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:11:35,213.213 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-08-29 19:11:39,029.029 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:11:39,031.031 INFO    ] Checking for system updates...
[2026-08-29 19:11:39,051.051 INFO    ] 200
[2026-08-29 19:11:39,053.053 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:11:39,083.083 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:11:39,084.084 INFO    ] No update needed
[2026-08-29 19:11:39,085.085 INFO    ] Checking for camera pi updates...
[2026-08-29 19:11:39,104.104 INFO    ] 200
[2026-08-29 19:11:39,106.106 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:11:39,136.136 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:11:39,248.248 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:11:39,250.250 INFO    ] No camera update needed
[2026-08-29 19:11:39,253.253 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:11:39,255.255 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:11:39,262.262 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:11:39,267.267 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:11:41,310.310 INFO    ] ================================================
[2026-08-29 19:11:41,326.326 INFO    ] Launching Daemon at Sat Aug 29 19:11:41 IST 2026
[2026-08-29 19:11:41,338.338 INFO    ] ================================================
[2026-08-29 19:11:41,974.974 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:11:41
[2026-08-29 19:11:42,443.443 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:11:42,637.637 INFO    ] Initializing speech engine...
[2026-08-29 19:11:42,646.646 INFO    ] 2026-08-29 19:11:42
[2026-08-29 19:11:42,918.918 INFO    ] 2026-08-29 19:11:42
[2026-08-29 19:11:42,974.974 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:11:43,204.204 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:11:43,209.209 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:11:43,344.344 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:11:43,410.410 INFO    ] time= 29/08/2026 19:11:43
[2026-08-29 19:11:43,473.473 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:11:43,479.479 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:11:43,605.605 INFO    ] No existing commands found in stream
[2026-08-29 19:11:48,631.631 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:11:48,635.635 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-08-29 19:11:49,121.121 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:11:49,123.123 INFO    ] Checking for system updates...
[2026-08-29 19:11:49,143.143 INFO    ] 200
[2026-08-29 19:11:49,144.144 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:11:49,177.177 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:11:49,178.178 INFO    ] No update needed
[2026-08-29 19:11:49,180.180 INFO    ] Checking for camera pi updates...
[2026-08-29 19:11:49,199.199 INFO    ] 200
[2026-08-29 19:11:49,200.200 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:11:49,224.224 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:11:49,309.309 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:11:49,311.311 INFO    ] No camera update needed
[2026-08-29 19:11:49,312.312 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:11:49,313.313 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:11:49,316.316 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:11:49,319.319 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:11:51,358.358 INFO    ] ================================================
[2026-08-29 19:11:51,374.374 INFO    ] Launching Daemon at Sat Aug 29 19:11:51 IST 2026
[2026-08-29 19:11:51,385.385 INFO    ] ================================================
[2026-08-29 19:11:51,713.713 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:11:51
[2026-08-29 19:11:52,024.024 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:11:52,180.180 INFO    ] Initializing speech engine...
[2026-08-29 19:11:52,201.201 INFO    ] 2026-08-29 19:11:52
[2026-08-29 19:11:52,461.461 INFO    ] 2026-08-29 19:11:52
[2026-08-29 19:11:52,495.495 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:11:52,674.674 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:11:52,687.687 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:11:52,800.800 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:11:52,818.818 INFO    ] time= 29/08/2026 19:11:52
[2026-08-29 19:11:52,840.840 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:11:52,846.846 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:11:52,914.914 INFO    ] No existing commands found in stream
[2026-08-29 19:11:57,926.926 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:11:57,929.929 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 19:11:58,323.323 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:11:58,325.325 INFO    ] Checking for system updates...
[2026-08-29 19:11:58,346.346 INFO    ] 200
[2026-08-29 19:11:58,347.347 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:11:58,377.377 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:11:58,379.379 INFO    ] No update needed
[2026-08-29 19:11:58,380.380 INFO    ] Checking for camera pi updates...
[2026-08-29 19:11:58,399.399 INFO    ] 200
[2026-08-29 19:11:58,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:11:58,423.423 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:11:58,595.595 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:11:58,597.597 INFO    ] No camera update needed
[2026-08-29 19:11:58,598.598 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:11:58,599.599 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:11:58,602.602 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:11:58,605.605 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:12:00,644.644 INFO    ] ================================================
[2026-08-29 19:12:00,660.660 INFO    ] Launching Daemon at Sat Aug 29 19:12:00 IST 2026
[2026-08-29 19:12:00,671.671 INFO    ] ================================================
[2026-08-29 19:12:01,168.168 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:12:01
[2026-08-29 19:12:01,888.888 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:12:02,216.216 INFO    ] Initializing speech engine...
[2026-08-29 19:12:02,238.238 INFO    ] 2026-08-29 19:12:02
[2026-08-29 19:12:02,530.530 INFO    ] 2026-08-29 19:12:02
[2026-08-29 19:12:02,573.573 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:12:02,744.744 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:12:02,786.786 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:12:02,920.920 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:12:02,947.947 INFO    ] time= 29/08/2026 19:12:02
[2026-08-29 19:12:02,955.955 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:12:02,975.975 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:12:03,075.075 INFO    ] No existing commands found in stream
[2026-08-29 19:12:08,087.087 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:12:08,090.090 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-08-29 19:12:09,356.356 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:12:09,358.358 INFO    ] Checking for system updates...
[2026-08-29 19:12:09,378.378 INFO    ] 200
[2026-08-29 19:12:09,380.380 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:12:09,412.412 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:12:09,413.413 INFO    ] No update needed
[2026-08-29 19:12:09,415.415 INFO    ] Checking for camera pi updates...
[2026-08-29 19:12:09,434.434 INFO    ] 200
[2026-08-29 19:12:09,435.435 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:12:09,459.459 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:12:09,553.553 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:12:09,554.554 INFO    ] No camera update needed
[2026-08-29 19:12:09,556.556 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:12:09,557.557 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:12:09,560.560 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:12:09,563.563 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:12:11,602.602 INFO    ] ================================================
[2026-08-29 19:12:11,618.618 INFO    ] Launching Daemon at Sat Aug 29 19:12:11 IST 2026
[2026-08-29 19:12:11,629.629 INFO    ] ================================================
[2026-08-29 19:12:11,952.952 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:12:11
[2026-08-29 19:12:12,265.265 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:12:12,395.395 INFO    ] Initializing speech engine...
[2026-08-29 19:12:12,404.404 INFO    ] 2026-08-29 19:12:12
[2026-08-29 19:12:12,597.597 INFO    ] 2026-08-29 19:12:12
[2026-08-29 19:12:12,631.631 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:12:12,799.799 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:12:12,812.812 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:12:12,923.923 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:12:12,928.928 INFO    ] time= 29/08/2026 19:12:12
[2026-08-29 19:12:12,948.948 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:12:12,970.970 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:12:13,042.042 INFO    ] No existing commands found in stream
[2026-08-29 19:12:18,054.054 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:12:18,056.056 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-08-29 19:12:21,519.519 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:12:21,521.521 INFO    ] Checking for system updates...
[2026-08-29 19:12:21,541.541 INFO    ] 200
[2026-08-29 19:12:21,543.543 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:12:21,575.575 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:12:21,577.577 INFO    ] No update needed
[2026-08-29 19:12:21,578.578 INFO    ] Checking for camera pi updates...
[2026-08-29 19:12:21,597.597 INFO    ] 200
[2026-08-29 19:12:21,598.598 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:12:21,621.621 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:12:21,703.703 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:12:21,705.705 INFO    ] No camera update needed
[2026-08-29 19:12:21,706.706 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:12:21,707.707 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:12:21,710.710 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:12:21,713.713 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:12:23,755.755 INFO    ] ================================================
[2026-08-29 19:12:23,771.771 INFO    ] Launching Daemon at Sat Aug 29 19:12:23 IST 2026
[2026-08-29 19:12:23,782.782 INFO    ] ================================================
[2026-08-29 19:12:24,169.169 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:12:24
[2026-08-29 19:12:24,508.508 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:12:24,723.723 INFO    ] Initializing speech engine...
[2026-08-29 19:12:24,736.736 INFO    ] 2026-08-29 19:12:24
[2026-08-29 19:12:25,019.019 INFO    ] 2026-08-29 19:12:25
[2026-08-29 19:12:25,062.062 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:12:25,288.288 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:12:25,295.295 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:12:25,427.427 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:12:25,485.485 INFO    ] time= 29/08/2026 19:12:25
[2026-08-29 19:12:25,555.555 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:12:25,564.564 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:12:25,637.637 INFO    ] No existing commands found in stream
[2026-08-29 19:12:30,674.674 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:12:30,677.677 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-08-29 19:12:34,533.533 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:12:34,536.536 INFO    ] Checking for system updates...
[2026-08-29 19:12:34,573.573 INFO    ] 200
[2026-08-29 19:12:34,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:12:34,636.636 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:12:34,639.639 INFO    ] No update needed
[2026-08-29 19:12:34,642.642 INFO    ] Checking for camera pi updates...
[2026-08-29 19:12:34,677.677 INFO    ] 200
[2026-08-29 19:12:34,680.680 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:12:34,709.709 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:12:34,810.810 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:12:34,812.812 INFO    ] No camera update needed
[2026-08-29 19:12:34,813.813 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:12:34,815.815 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:12:34,818.818 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:12:34,821.821 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:12:36,861.861 INFO    ] ================================================
[2026-08-29 19:12:36,876.876 INFO    ] Launching Daemon at Sat Aug 29 19:12:36 IST 2026
[2026-08-29 19:12:36,888.888 INFO    ] ================================================
[2026-08-29 19:12:37,541.541 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:12:37
[2026-08-29 19:12:38,216.216 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:12:38,499.499 INFO    ] Initializing speech engine...
[2026-08-29 19:12:38,506.506 INFO    ] 2026-08-29 19:12:38
[2026-08-29 19:12:38,765.765 INFO    ] 2026-08-29 19:12:38
[2026-08-29 19:12:38,794.794 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:12:38,959.959 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:12:38,983.983 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:12:39,096.096 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:12:39,118.118 INFO    ] time= 29/08/2026 19:12:39
[2026-08-29 19:12:39,124.124 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:12:39,130.130 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:12:39,228.228 INFO    ] No existing commands found in stream
[2026-08-29 19:12:44,239.239 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:12:44,241.241 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-08-29 19:12:48,263.263 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:12:48,265.265 INFO    ] Checking for system updates...
[2026-08-29 19:12:48,286.286 INFO    ] 200
[2026-08-29 19:12:48,287.287 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:12:48,317.317 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:12:48,319.319 INFO    ] No update needed
[2026-08-29 19:12:48,320.320 INFO    ] Checking for camera pi updates...
[2026-08-29 19:12:48,339.339 INFO    ] 200
[2026-08-29 19:12:48,341.341 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:12:48,364.364 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:12:48,492.492 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:12:48,493.493 INFO    ] No camera update needed
[2026-08-29 19:12:48,495.495 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:12:48,496.496 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:12:48,499.499 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:12:48,502.502 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:12:50,540.540 INFO    ] ================================================
[2026-08-29 19:12:50,556.556 INFO    ] Launching Daemon at Sat Aug 29 19:12:50 IST 2026
[2026-08-29 19:12:50,567.567 INFO    ] ================================================
[2026-08-29 19:12:50,940.940 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:12:50
[2026-08-29 19:12:51,279.279 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:12:51,430.430 INFO    ] Initializing speech engine...
[2026-08-29 19:12:51,436.436 INFO    ] 2026-08-29 19:12:51
[2026-08-29 19:12:51,665.665 INFO    ] 2026-08-29 19:12:51
[2026-08-29 19:12:51,750.750 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:12:51,900.900 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:12:51,910.910 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:12:52,044.044 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:12:52,087.087 INFO    ] time= 29/08/2026 19:12:52
[2026-08-29 19:12:52,141.141 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:12:52,182.182 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:12:52,242.242 INFO    ] No existing commands found in stream
[2026-08-29 19:12:57,255.255 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:12:57,258.258 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-08-29 19:13:00,895.895 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:13:00,897.897 INFO    ] Checking for system updates...
[2026-08-29 19:13:00,917.917 INFO    ] 200
[2026-08-29 19:13:00,918.918 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:13:00,951.951 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:13:00,953.953 INFO    ] No update needed
[2026-08-29 19:13:00,954.954 INFO    ] Checking for camera pi updates...
[2026-08-29 19:13:00,974.974 INFO    ] 200
[2026-08-29 19:13:00,976.976 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:13:00,998.998 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:13:01,074.074 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:13:01,075.075 INFO    ] No camera update needed
[2026-08-29 19:13:01,076.076 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:13:01,078.078 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:13:01,080.080 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:13:01,083.083 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:13:03,124.124 INFO    ] ================================================
[2026-08-29 19:13:03,139.139 INFO    ] Launching Daemon at Sat Aug 29 19:13:03 IST 2026
[2026-08-29 19:13:03,150.150 INFO    ] ================================================
[2026-08-29 19:13:03,717.717 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:13:03
[2026-08-29 19:13:04,231.231 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:13:04,385.385 INFO    ] Initializing speech engine...
[2026-08-29 19:13:04,399.399 INFO    ] 2026-08-29 19:13:04
[2026-08-29 19:13:04,682.682 INFO    ] 2026-08-29 19:13:04
[2026-08-29 19:13:04,720.720 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:13:04,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:13:04,921.921 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:13:05,034.034 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:13:05,056.056 INFO    ] time= 29/08/2026 19:13:05
[2026-08-29 19:13:05,061.061 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:13:05,068.068 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:13:05,121.121 INFO    ] No existing commands found in stream
[2026-08-29 19:13:10,152.152 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:13:10,155.155 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-08-29 19:13:13,524.524 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:13:13,525.525 INFO    ] Checking for system updates...
[2026-08-29 19:13:13,546.546 INFO    ] 200
[2026-08-29 19:13:13,548.548 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:13:13,578.578 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:13:13,579.579 INFO    ] No update needed
[2026-08-29 19:13:13,581.581 INFO    ] Checking for camera pi updates...
[2026-08-29 19:13:13,600.600 INFO    ] 200
[2026-08-29 19:13:13,601.601 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:13:13,624.624 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:13:13,704.704 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:13:13,706.706 INFO    ] No camera update needed
[2026-08-29 19:13:13,708.708 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:13:13,710.710 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:13:13,716.716 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:13:13,721.721 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:13:15,761.761 INFO    ] ================================================
[2026-08-29 19:13:15,776.776 INFO    ] Launching Daemon at Sat Aug 29 19:13:15 IST 2026
[2026-08-29 19:13:15,787.787 INFO    ] ================================================
[2026-08-29 19:13:16,353.353 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:13:16
[2026-08-29 19:13:16,855.855 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:13:16,986.986 INFO    ] Initializing speech engine...
[2026-08-29 19:13:16,990.990 INFO    ] 2026-08-29 19:13:16
[2026-08-29 19:13:17,207.207 INFO    ] 2026-08-29 19:13:17
[2026-08-29 19:13:17,235.235 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:13:17,378.378 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:13:17,386.386 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:13:17,537.537 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:13:17,586.586 INFO    ] time= 29/08/2026 19:13:17
[2026-08-29 19:13:17,595.595 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:13:17,611.611 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:13:17,710.710 INFO    ] No existing commands found in stream
[2026-08-29 19:13:22,743.743 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:13:22,745.745 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-08-29 19:13:25,843.843 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:13:25,845.845 INFO    ] Checking for system updates...
[2026-08-29 19:13:25,866.866 INFO    ] 200
[2026-08-29 19:13:25,867.867 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:13:25,897.897 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:13:25,899.899 INFO    ] No update needed
[2026-08-29 19:13:25,900.900 INFO    ] Checking for camera pi updates...
[2026-08-29 19:13:25,920.920 INFO    ] 200
[2026-08-29 19:13:25,922.922 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:13:25,947.947 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:13:26,050.050 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:13:26,051.051 INFO    ] No camera update needed
[2026-08-29 19:13:26,053.053 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:13:26,054.054 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:13:26,057.057 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:13:26,060.060 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:13:28,100.100 INFO    ] ================================================
[2026-08-29 19:13:28,115.115 INFO    ] Launching Daemon at Sat Aug 29 19:13:28 IST 2026
[2026-08-29 19:13:28,126.126 INFO    ] ================================================
[2026-08-29 19:13:28,632.632 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:13:28
[2026-08-29 19:13:29,220.220 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:13:29,496.496 INFO    ] Initializing speech engine...
[2026-08-29 19:13:29,502.502 INFO    ] 2026-08-29 19:13:29
[2026-08-29 19:13:29,751.751 INFO    ] 2026-08-29 19:13:29
[2026-08-29 19:13:29,787.787 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:13:29,962.962 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:13:29,975.975 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:13:30,087.087 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:13:30,091.091 INFO    ] time= 29/08/2026 19:13:30
[2026-08-29 19:13:30,110.110 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:13:30,130.130 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:13:30,204.204 INFO    ] No existing commands found in stream
[2026-08-29 19:13:35,216.216 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:13:35,219.219 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-08-29 19:13:39,476.476 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:13:39,477.477 INFO    ] Checking for system updates...
[2026-08-29 19:13:39,498.498 INFO    ] 200
[2026-08-29 19:13:39,499.499 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:13:39,531.531 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:13:39,533.533 INFO    ] No update needed
[2026-08-29 19:13:39,534.534 INFO    ] Checking for camera pi updates...
[2026-08-29 19:13:39,554.554 INFO    ] 200
[2026-08-29 19:13:39,555.555 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:13:39,578.578 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:13:39,680.680 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:13:39,681.681 INFO    ] No camera update needed
[2026-08-29 19:13:39,683.683 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:13:39,684.684 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:13:39,687.687 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:13:39,689.689 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:13:41,729.729 INFO    ] ================================================
[2026-08-29 19:13:41,745.745 INFO    ] Launching Daemon at Sat Aug 29 19:13:41 IST 2026
[2026-08-29 19:13:41,756.756 INFO    ] ================================================
[2026-08-29 19:13:42,189.189 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:13:42
[2026-08-29 19:13:42,792.792 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:13:43,054.054 INFO    ] Initializing speech engine...
[2026-08-29 19:13:43,063.063 INFO    ] 2026-08-29 19:13:43
[2026-08-29 19:13:43,359.359 INFO    ] 2026-08-29 19:13:43
[2026-08-29 19:13:43,398.398 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:13:43,543.543 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:13:43,550.550 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:13:43,703.703 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:13:43,714.714 INFO    ] time= 29/08/2026 19:13:43
[2026-08-29 19:13:43,718.718 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:13:43,724.724 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:13:43,790.790 INFO    ] No existing commands found in stream
[2026-08-29 19:13:48,803.803 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:13:48,805.805 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-08-29 19:13:52,625.625 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:13:52,627.627 INFO    ] Checking for system updates...
[2026-08-29 19:13:52,647.647 INFO    ] 200
[2026-08-29 19:13:52,649.649 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:13:52,680.680 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:13:52,682.682 INFO    ] No update needed
[2026-08-29 19:13:52,683.683 INFO    ] Checking for camera pi updates...
[2026-08-29 19:13:52,703.703 INFO    ] 200
[2026-08-29 19:13:52,704.704 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:13:52,729.729 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:13:52,835.835 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:13:52,837.837 INFO    ] No camera update needed
[2026-08-29 19:13:52,840.840 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:13:52,842.842 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:13:52,848.848 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:13:52,853.853 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:13:54,893.893 INFO    ] ================================================
[2026-08-29 19:13:54,910.910 INFO    ] Launching Daemon at Sat Aug 29 19:13:54 IST 2026
[2026-08-29 19:13:54,921.921 INFO    ] ================================================
[2026-08-29 19:13:55,503.503 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:13:55
[2026-08-29 19:13:56,009.009 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:13:56,151.151 INFO    ] Initializing speech engine...
[2026-08-29 19:13:56,160.160 INFO    ] 2026-08-29 19:13:56
[2026-08-29 19:13:56,374.374 INFO    ] 2026-08-29 19:13:56
[2026-08-29 19:13:56,447.447 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:13:56,633.633 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:13:56,638.638 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:13:56,793.793 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:13:56,802.802 INFO    ] time= 29/08/2026 19:13:56
[2026-08-29 19:13:56,852.852 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:13:56,906.906 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:13:56,978.978 INFO    ] No existing commands found in stream
[2026-08-29 19:14:01,995.995 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:14:02,000.000 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-08-29 19:14:03,472.472 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:14:03,475.475 INFO    ] Checking for system updates...
[2026-08-29 19:14:03,510.510 INFO    ] 200
[2026-08-29 19:14:03,513.513 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:14:03,574.574 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:14:03,577.577 INFO    ] No update needed
[2026-08-29 19:14:03,579.579 INFO    ] Checking for camera pi updates...
[2026-08-29 19:14:03,617.617 INFO    ] 200
[2026-08-29 19:14:03,620.620 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:14:03,660.660 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:14:03,842.842 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:14:03,845.845 INFO    ] No camera update needed
[2026-08-29 19:14:03,847.847 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:14:03,849.849 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:14:03,854.854 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:14:03,859.859 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:14:05,900.900 INFO    ] ================================================
[2026-08-29 19:14:05,916.916 INFO    ] Launching Daemon at Sat Aug 29 19:14:05 IST 2026
[2026-08-29 19:14:05,927.927 INFO    ] ================================================
[2026-08-29 19:14:06,272.272 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:14:06
[2026-08-29 19:14:06,593.593 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:14:06,867.867 INFO    ] Initializing speech engine...
[2026-08-29 19:14:06,882.882 INFO    ] 2026-08-29 19:14:06
[2026-08-29 19:14:07,139.139 INFO    ] 2026-08-29 19:14:07
[2026-08-29 19:14:07,173.173 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:14:07,353.353 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:14:07,367.367 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:14:07,511.511 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:14:07,520.520 INFO    ] time= 29/08/2026 19:14:07
[2026-08-29 19:14:07,524.524 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:14:07,530.530 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:14:07,599.599 INFO    ] No existing commands found in stream
[2026-08-29 19:14:12,624.624 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:14:12,627.627 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-08-29 19:14:13,060.060 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:14:13,061.061 INFO    ] Checking for system updates...
[2026-08-29 19:14:13,083.083 INFO    ] 200
[2026-08-29 19:14:13,084.084 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:14:13,114.114 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:14:13,116.116 INFO    ] No update needed
[2026-08-29 19:14:13,117.117 INFO    ] Checking for camera pi updates...
[2026-08-29 19:14:13,136.136 INFO    ] 200
[2026-08-29 19:14:13,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:14:13,176.176 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:14:13,270.270 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:14:13,272.272 INFO    ] No camera update needed
[2026-08-29 19:14:13,275.275 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:14:13,277.277 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:14:13,282.282 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:14:13,288.288 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:14:15,330.330 INFO    ] ================================================
[2026-08-29 19:14:15,346.346 INFO    ] Launching Daemon at Sat Aug 29 19:14:15 IST 2026
[2026-08-29 19:14:15,357.357 INFO    ] ================================================
[2026-08-29 19:14:15,938.938 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:14:15
[2026-08-29 19:14:16,416.416 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:14:16,626.626 INFO    ] Initializing speech engine...
[2026-08-29 19:14:16,641.641 INFO    ] 2026-08-29 19:14:16
[2026-08-29 19:14:16,896.896 INFO    ] 2026-08-29 19:14:16
[2026-08-29 19:14:16,932.932 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:14:17,103.103 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:14:17,116.116 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:14:17,225.225 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:14:17,230.230 INFO    ] time= 29/08/2026 19:14:17
[2026-08-29 19:14:17,248.248 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:14:17,270.270 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:14:17,343.343 INFO    ] No existing commands found in stream
[2026-08-29 19:14:22,357.357 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:14:22,360.360 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-08-29 19:14:25,707.707 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:14:25,709.709 INFO    ] Checking for system updates...
[2026-08-29 19:14:25,730.730 INFO    ] 200
[2026-08-29 19:14:25,731.731 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:14:25,761.761 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:14:25,763.763 INFO    ] No update needed
[2026-08-29 19:14:25,764.764 INFO    ] Checking for camera pi updates...
[2026-08-29 19:14:25,784.784 INFO    ] 200
[2026-08-29 19:14:25,785.785 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:14:25,809.809 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:14:25,893.893 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:14:25,895.895 INFO    ] No camera update needed
[2026-08-29 19:14:25,898.898 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:14:25,901.901 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:14:25,907.907 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:14:25,913.913 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:14:27,955.955 INFO    ] ================================================
[2026-08-29 19:14:27,972.972 INFO    ] Launching Daemon at Sat Aug 29 19:14:27 IST 2026
[2026-08-29 19:14:27,983.983 INFO    ] ================================================
[2026-08-29 19:14:28,644.644 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:14:28
[2026-08-29 19:14:29,109.109 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:14:29,263.263 INFO    ] Initializing speech engine...
[2026-08-29 19:14:29,267.267 INFO    ] 2026-08-29 19:14:29
[2026-08-29 19:14:29,474.474 INFO    ] 2026-08-29 19:14:29
[2026-08-29 19:14:29,505.505 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:14:29,630.630 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:14:29,695.695 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:14:29,829.829 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:14:29,880.880 INFO    ] time= 29/08/2026 19:14:29
[2026-08-29 19:14:29,927.927 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:14:29,933.933 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:14:30,007.007 INFO    ] No existing commands found in stream
[2026-08-29 19:14:35,016.016 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:14:35,019.019 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-08-29 19:14:39,223.223 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:14:39,224.224 INFO    ] Checking for system updates...
[2026-08-29 19:14:39,244.244 INFO    ] 200
[2026-08-29 19:14:39,246.246 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:14:39,279.279 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:14:39,280.280 INFO    ] No update needed
[2026-08-29 19:14:39,282.282 INFO    ] Checking for camera pi updates...
[2026-08-29 19:14:39,302.302 INFO    ] 200
[2026-08-29 19:14:39,303.303 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:14:39,328.328 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:14:39,440.440 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:14:39,441.441 INFO    ] No camera update needed
[2026-08-29 19:14:39,443.443 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:14:39,444.444 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:14:39,447.447 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:14:39,449.449 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:14:41,488.488 INFO    ] ================================================
[2026-08-29 19:14:41,504.504 INFO    ] Launching Daemon at Sat Aug 29 19:14:41 IST 2026
[2026-08-29 19:14:41,516.516 INFO    ] ================================================
[2026-08-29 19:14:42,004.004 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:14:41
[2026-08-29 19:14:42,589.589 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:14:42,850.850 INFO    ] Initializing speech engine...
[2026-08-29 19:14:42,869.869 INFO    ] 2026-08-29 19:14:42
[2026-08-29 19:14:43,120.120 INFO    ] 2026-08-29 19:14:43
[2026-08-29 19:14:43,155.155 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:14:43,332.332 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:14:43,338.338 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:14:43,475.475 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:14:43,497.497 INFO    ] time= 29/08/2026 19:14:43
[2026-08-29 19:14:43,503.503 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:14:43,509.509 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:14:43,575.575 INFO    ] No existing commands found in stream
[2026-08-29 19:14:48,587.587 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:14:48,590.590 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-08-29 19:14:52,533.533 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:14:52,534.534 INFO    ] Checking for system updates...
[2026-08-29 19:14:52,554.554 INFO    ] 200
[2026-08-29 19:14:52,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:14:52,588.588 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:14:52,590.590 INFO    ] No update needed
[2026-08-29 19:14:52,591.591 INFO    ] Checking for camera pi updates...
[2026-08-29 19:14:52,610.610 INFO    ] 200
[2026-08-29 19:14:52,612.612 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:14:52,634.634 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:14:52,733.733 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:14:52,735.735 INFO    ] No camera update needed
[2026-08-29 19:14:52,736.736 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:14:52,737.737 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:14:52,740.740 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:14:52,743.743 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:14:54,783.783 INFO    ] ================================================
[2026-08-29 19:14:54,799.799 INFO    ] Launching Daemon at Sat Aug 29 19:14:54 IST 2026
[2026-08-29 19:14:54,810.810 INFO    ] ================================================
[2026-08-29 19:14:55,150.150 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:14:55
[2026-08-29 19:14:55,510.510 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:14:55,807.807 INFO    ] Initializing speech engine...
[2026-08-29 19:14:55,818.818 INFO    ] 2026-08-29 19:14:55
[2026-08-29 19:14:56,099.099 INFO    ] 2026-08-29 19:14:56
[2026-08-29 19:14:56,160.160 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:14:56,385.385 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:14:56,395.395 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:14:56,532.532 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:14:56,590.590 INFO    ] time= 29/08/2026 19:14:56
[2026-08-29 19:14:56,655.655 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:14:56,674.674 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:14:56,786.786 INFO    ] No existing commands found in stream
[2026-08-29 19:15:01,807.807 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:15:01,816.816 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-08-29 19:15:05,924.924 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:15:05,926.926 INFO    ] Checking for system updates...
[2026-08-29 19:15:05,947.947 INFO    ] 200
[2026-08-29 19:15:05,948.948 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:15:05,979.979 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:15:05,980.980 INFO    ] No update needed
[2026-08-29 19:15:05,982.982 INFO    ] Checking for camera pi updates...
[2026-08-29 19:15:06,003.003 INFO    ] 200
[2026-08-29 19:15:06,004.004 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:15:06,031.031 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:15:06,113.113 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:15:06,114.114 INFO    ] No camera update needed
[2026-08-29 19:15:06,116.116 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:15:06,117.117 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:15:06,120.120 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:15:06,123.123 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:15:08,163.163 INFO    ] ================================================
[2026-08-29 19:15:08,179.179 INFO    ] Launching Daemon at Sat Aug 29 19:15:08 IST 2026
[2026-08-29 19:15:08,190.190 INFO    ] ================================================
[2026-08-29 19:15:08,544.544 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:15:08
[2026-08-29 19:15:08,863.863 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:15:09,010.010 INFO    ] Initializing speech engine...
[2026-08-29 19:15:09,015.015 INFO    ] 2026-08-29 19:15:09
[2026-08-29 19:15:09,262.262 INFO    ] 2026-08-29 19:15:09
[2026-08-29 19:15:09,298.298 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:15:09,471.471 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:15:09,484.484 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:15:09,626.626 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:15:09,635.635 INFO    ] time= 29/08/2026 19:15:09
[2026-08-29 19:15:09,641.641 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:15:09,688.688 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:15:09,796.796 INFO    ] No existing commands found in stream
[2026-08-29 19:15:14,832.832 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:15:14,835.835 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-08-29 19:15:18,166.166 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:15:18,168.168 INFO    ] Checking for system updates...
[2026-08-29 19:15:18,189.189 INFO    ] 200
[2026-08-29 19:15:18,191.191 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:15:18,221.221 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:15:18,222.222 INFO    ] No update needed
[2026-08-29 19:15:18,223.223 INFO    ] Checking for camera pi updates...
[2026-08-29 19:15:18,243.243 INFO    ] 200
[2026-08-29 19:15:18,245.245 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:15:18,270.270 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:15:18,359.359 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:15:18,360.360 INFO    ] No camera update needed
[2026-08-29 19:15:18,362.362 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:15:18,363.363 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:15:18,366.366 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:15:18,369.369 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:15:20,408.408 INFO    ] ================================================
[2026-08-29 19:15:20,425.425 INFO    ] Launching Daemon at Sat Aug 29 19:15:20 IST 2026
[2026-08-29 19:15:20,436.436 INFO    ] ================================================
[2026-08-29 19:15:20,973.973 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:15:20
[2026-08-29 19:15:21,580.580 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:15:21,858.858 INFO    ] Initializing speech engine...
[2026-08-29 19:15:21,867.867 INFO    ] 2026-08-29 19:15:21
[2026-08-29 19:15:22,131.131 INFO    ] 2026-08-29 19:15:22
[2026-08-29 19:15:22,185.185 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:15:22,409.409 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:15:22,418.418 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:15:22,551.551 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:15:22,568.568 INFO    ] time= 29/08/2026 19:15:22
[2026-08-29 19:15:22,627.627 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:15:22,685.685 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:15:22,738.738 INFO    ] No existing commands found in stream
[2026-08-29 19:15:27,750.750 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:15:27,753.753 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-08-29 19:15:31,571.571 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:15:31,573.573 INFO    ] Checking for system updates...
[2026-08-29 19:15:31,594.594 INFO    ] 200
[2026-08-29 19:15:31,595.595 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:15:31,628.628 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:15:31,629.629 INFO    ] No update needed
[2026-08-29 19:15:31,631.631 INFO    ] Checking for camera pi updates...
[2026-08-29 19:15:31,651.651 INFO    ] 200
[2026-08-29 19:15:31,653.653 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:15:31,676.676 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:15:31,775.775 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:15:31,779.779 INFO    ] No camera update needed
[2026-08-29 19:15:31,781.781 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:15:31,784.784 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:15:31,788.788 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:15:31,792.792 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:15:33,837.837 INFO    ] ================================================
[2026-08-29 19:15:33,854.854 INFO    ] Launching Daemon at Sat Aug 29 19:15:33 IST 2026
[2026-08-29 19:15:33,865.865 INFO    ] ================================================
[2026-08-29 19:15:34,439.439 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:15:34
[2026-08-29 19:15:34,899.899 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:15:35,110.110 INFO    ] Initializing speech engine...
[2026-08-29 19:15:35,133.133 INFO    ] 2026-08-29 19:15:35
[2026-08-29 19:15:35,390.390 INFO    ] 2026-08-29 19:15:35
[2026-08-29 19:15:35,425.425 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:15:35,602.602 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:15:35,616.616 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:15:35,760.760 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:15:35,767.767 INFO    ] time= 29/08/2026 19:15:35
[2026-08-29 19:15:35,775.775 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:15:35,806.806 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:15:35,930.930 INFO    ] No existing commands found in stream
[2026-08-29 19:15:40,955.955 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:15:40,958.958 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 19:15:43,308.308 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:15:43,311.311 INFO    ] Checking for system updates...
[2026-08-29 19:15:43,348.348 INFO    ] 200
[2026-08-29 19:15:43,351.351 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:15:43,404.404 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:15:43,407.407 INFO    ] No update needed
[2026-08-29 19:15:43,410.410 INFO    ] Checking for camera pi updates...
[2026-08-29 19:15:43,436.436 INFO    ] 200
[2026-08-29 19:15:43,437.437 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:15:43,462.462 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:15:43,549.549 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:15:43,550.550 INFO    ] No camera update needed
[2026-08-29 19:15:43,552.552 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:15:43,553.553 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:15:43,556.556 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:15:43,559.559 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:15:45,599.599 INFO    ] ================================================
[2026-08-29 19:15:45,615.615 INFO    ] Launching Daemon at Sat Aug 29 19:15:45 IST 2026
[2026-08-29 19:15:45,627.627 INFO    ] ================================================
[2026-08-29 19:15:45,974.974 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:15:45
[2026-08-29 19:15:46,512.512 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:15:46,773.773 INFO    ] Initializing speech engine...
[2026-08-29 19:15:46,794.794 INFO    ] 2026-08-29 19:15:46
[2026-08-29 19:15:47,080.080 INFO    ] 2026-08-29 19:15:47
[2026-08-29 19:15:47,120.120 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:15:47,321.321 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:15:47,328.328 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:15:47,440.440 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:15:47,445.445 INFO    ] time= 29/08/2026 19:15:47
[2026-08-29 19:15:47,450.450 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:15:47,474.474 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:15:47,529.529 INFO    ] No existing commands found in stream
[2026-08-29 19:15:52,540.540 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:15:52,542.542 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-08-29 19:15:53,667.667 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:15:53,669.669 INFO    ] Checking for system updates...
[2026-08-29 19:15:53,689.689 INFO    ] 200
[2026-08-29 19:15:53,691.691 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:15:53,723.723 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:15:53,725.725 INFO    ] No update needed
[2026-08-29 19:15:53,726.726 INFO    ] Checking for camera pi updates...
[2026-08-29 19:15:53,746.746 INFO    ] 200
[2026-08-29 19:15:53,748.748 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:15:53,770.770 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:15:53,857.857 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:15:53,860.860 INFO    ] No camera update needed
[2026-08-29 19:15:53,862.862 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:15:53,864.864 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:15:53,870.870 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:15:53,875.875 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:15:55,915.915 INFO    ] ================================================
[2026-08-29 19:15:55,930.930 INFO    ] Launching Daemon at Sat Aug 29 19:15:55 IST 2026
[2026-08-29 19:15:55,941.941 INFO    ] ================================================
[2026-08-29 19:15:56,608.608 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:15:56
[2026-08-29 19:15:57,068.068 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:15:57,211.211 INFO    ] Initializing speech engine...
[2026-08-29 19:15:57,224.224 INFO    ] 2026-08-29 19:15:57
[2026-08-29 19:15:57,438.438 INFO    ] 2026-08-29 19:15:57
[2026-08-29 19:15:57,468.468 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:15:57,635.635 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:15:57,657.657 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:15:57,789.789 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:15:57,800.800 INFO    ] time= 29/08/2026 19:15:57
[2026-08-29 19:15:57,828.828 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:15:57,837.837 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:15:57,944.944 INFO    ] No existing commands found in stream
[2026-08-29 19:16:02,974.974 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:16:02,978.978 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 19:16:06,522.522 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:16:06,523.523 INFO    ] Checking for system updates...
[2026-08-29 19:16:06,544.544 INFO    ] 200
[2026-08-29 19:16:06,546.546 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:16:06,577.577 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:16:06,578.578 INFO    ] No update needed
[2026-08-29 19:16:06,579.579 INFO    ] Checking for camera pi updates...
[2026-08-29 19:16:06,600.600 INFO    ] 200
[2026-08-29 19:16:06,602.602 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:16:06,628.628 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:16:06,855.855 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:16:06,857.857 INFO    ] No camera update needed
[2026-08-29 19:16:06,860.860 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:16:06,863.863 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:16:06,869.869 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:16:06,875.875 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:16:08,916.916 INFO    ] ================================================
[2026-08-29 19:16:08,930.930 INFO    ] Launching Daemon at Sat Aug 29 19:16:08 IST 2026
[2026-08-29 19:16:08,942.942 INFO    ] ================================================
[2026-08-29 19:16:09,529.529 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:16:09
[2026-08-29 19:16:09,997.997 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:16:10,141.141 INFO    ] Initializing speech engine...
[2026-08-29 19:16:10,146.146 INFO    ] 2026-08-29 19:16:10
[2026-08-29 19:16:10,352.352 INFO    ] 2026-08-29 19:16:10
[2026-08-29 19:16:10,382.382 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:16:10,504.504 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:16:10,549.549 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:16:10,703.703 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:16:10,765.765 INFO    ] time= 29/08/2026 19:16:10
[2026-08-29 19:16:10,801.801 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:16:10,806.806 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:16:10,878.878 INFO    ] No existing commands found in stream
[2026-08-29 19:16:15,889.889 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:16:15,891.891 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-08-29 19:16:18,088.088 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:16:18,089.089 INFO    ] Checking for system updates...
[2026-08-29 19:16:18,110.110 INFO    ] 200
[2026-08-29 19:16:18,111.111 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:16:18,143.143 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:16:18,144.144 INFO    ] No update needed
[2026-08-29 19:16:18,146.146 INFO    ] Checking for camera pi updates...
[2026-08-29 19:16:18,165.165 INFO    ] 200
[2026-08-29 19:16:18,166.166 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:16:18,193.193 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:16:18,296.296 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:16:18,297.297 INFO    ] No camera update needed
[2026-08-29 19:16:18,298.298 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:16:18,300.300 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:16:18,304.304 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:16:18,306.306 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:16:20,349.349 INFO    ] ================================================
[2026-08-29 19:16:20,364.364 INFO    ] Launching Daemon at Sat Aug 29 19:16:20 IST 2026
[2026-08-29 19:16:20,375.375 INFO    ] ================================================
[2026-08-29 19:16:20,741.741 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:16:20
[2026-08-29 19:16:21,054.054 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:16:21,187.187 INFO    ] Initializing speech engine...
[2026-08-29 19:16:21,196.196 INFO    ] 2026-08-29 19:16:21
[2026-08-29 19:16:21,422.422 INFO    ] 2026-08-29 19:16:21
[2026-08-29 19:16:21,452.452 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:16:21,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:16:21,640.640 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:16:21,797.797 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:16:21,824.824 INFO    ] time= 29/08/2026 19:16:21
[2026-08-29 19:16:21,881.881 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:16:21,906.906 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:16:22,005.005 INFO    ] No existing commands found in stream
[2026-08-29 19:16:27,029.029 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:16:27,032.032 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-08-29 19:16:29,866.866 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:16:29,868.868 INFO    ] Checking for system updates...
[2026-08-29 19:16:29,888.888 INFO    ] 200
[2026-08-29 19:16:29,889.889 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:16:29,920.920 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:16:29,921.921 INFO    ] No update needed
[2026-08-29 19:16:29,922.922 INFO    ] Checking for camera pi updates...
[2026-08-29 19:16:29,942.942 INFO    ] 200
[2026-08-29 19:16:29,944.944 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:16:29,967.967 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:16:30,053.053 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:16:30,054.054 INFO    ] No camera update needed
[2026-08-29 19:16:30,055.055 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:16:30,056.056 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:16:30,059.059 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:16:30,062.062 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:16:32,103.103 INFO    ] ================================================
[2026-08-29 19:16:32,121.121 INFO    ] Launching Daemon at Sat Aug 29 19:16:32 IST 2026
[2026-08-29 19:16:32,133.133 INFO    ] ================================================
[2026-08-29 19:16:32,745.745 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:16:32
[2026-08-29 19:16:33,454.454 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:16:33,759.759 INFO    ] Initializing speech engine...
[2026-08-29 19:16:33,766.766 INFO    ] 2026-08-29 19:16:33
[2026-08-29 19:16:34,047.047 INFO    ] 2026-08-29 19:16:34
[2026-08-29 19:16:34,103.103 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:16:34,324.324 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:16:34,334.334 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:16:34,469.469 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:16:34,481.481 INFO    ] time= 29/08/2026 19:16:34
[2026-08-29 19:16:34,536.536 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:16:34,585.585 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:16:34,661.661 INFO    ] No existing commands found in stream
[2026-08-29 19:16:39,675.675 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:16:39,678.678 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-08-29 19:16:41,116.116 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:16:41,117.117 INFO    ] Checking for system updates...
[2026-08-29 19:16:41,138.138 INFO    ] 200
[2026-08-29 19:16:41,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:16:41,172.172 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:16:41,174.174 INFO    ] No update needed
[2026-08-29 19:16:41,175.175 INFO    ] Checking for camera pi updates...
[2026-08-29 19:16:41,195.195 INFO    ] 200
[2026-08-29 19:16:41,196.196 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:16:41,220.220 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:16:41,298.298 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:16:41,300.300 INFO    ] No camera update needed
[2026-08-29 19:16:41,301.301 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:16:41,303.303 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:16:41,306.306 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:16:41,309.309 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:16:43,349.349 INFO    ] ================================================
[2026-08-29 19:16:43,365.365 INFO    ] Launching Daemon at Sat Aug 29 19:16:43 IST 2026
[2026-08-29 19:16:43,376.376 INFO    ] ================================================
[2026-08-29 19:16:43,736.736 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:16:43
[2026-08-29 19:16:44,072.072 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:16:44,209.209 INFO    ] Initializing speech engine...
[2026-08-29 19:16:44,214.214 INFO    ] 2026-08-29 19:16:44
[2026-08-29 19:16:44,439.439 INFO    ] 2026-08-29 19:16:44
[2026-08-29 19:16:44,488.488 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:16:44,652.652 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:16:44,661.661 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:16:44,776.776 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:16:44,779.779 INFO    ] time= 29/08/2026 19:16:44
[2026-08-29 19:16:44,828.828 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:16:44,874.874 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:16:44,928.928 INFO    ] No existing commands found in stream
[2026-08-29 19:16:49,941.941 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:16:49,944.944 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-08-29 19:16:56,414.414 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:16:56,416.416 INFO    ] Checking for system updates...
[2026-08-29 19:16:56,437.437 INFO    ] 200
[2026-08-29 19:16:56,438.438 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:16:56,469.469 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:16:56,470.470 INFO    ] No update needed
[2026-08-29 19:16:56,471.471 INFO    ] Checking for camera pi updates...
[2026-08-29 19:16:56,494.494 INFO    ] 200
[2026-08-29 19:16:56,496.496 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:16:56,518.518 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:16:56,597.597 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:16:56,599.599 INFO    ] No camera update needed
[2026-08-29 19:16:56,600.600 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:16:56,601.601 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:16:56,604.604 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:16:56,607.607 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:16:58,645.645 INFO    ] ================================================
[2026-08-29 19:16:58,661.661 INFO    ] Launching Daemon at Sat Aug 29 19:16:58 IST 2026
[2026-08-29 19:16:58,672.672 INFO    ] ================================================
[2026-08-29 19:16:59,020.020 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:16:59
[2026-08-29 19:16:59,360.360 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:16:59,551.551 INFO    ] Initializing speech engine...
[2026-08-29 19:16:59,562.562 INFO    ] 2026-08-29 19:16:59
[2026-08-29 19:16:59,850.850 INFO    ] 2026-08-29 19:16:59
[2026-08-29 19:16:59,895.895 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:17:00,116.116 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:17:00,126.126 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:17:00,261.261 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:17:00,312.312 INFO    ] time= 29/08/2026 19:17:00
[2026-08-29 19:17:00,361.361 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:17:00,396.396 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:17:00,446.446 INFO    ] No existing commands found in stream
[2026-08-29 19:17:05,459.459 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:17:05,462.462 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-08-29 19:17:09,305.305 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:17:09,307.307 INFO    ] Checking for system updates...
[2026-08-29 19:17:09,328.328 INFO    ] 200
[2026-08-29 19:17:09,329.329 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:17:09,361.361 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:17:09,363.363 INFO    ] No update needed
[2026-08-29 19:17:09,364.364 INFO    ] Checking for camera pi updates...
[2026-08-29 19:17:09,384.384 INFO    ] 200
[2026-08-29 19:17:09,385.385 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:17:09,409.409 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:17:09,485.485 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:17:09,486.486 INFO    ] No camera update needed
[2026-08-29 19:17:09,499.499 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:17:09,501.501 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:17:09,504.504 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:17:09,507.507 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:17:11,547.547 INFO    ] ================================================
[2026-08-29 19:17:11,562.562 INFO    ] Launching Daemon at Sat Aug 29 19:17:11 IST 2026
[2026-08-29 19:17:11,574.574 INFO    ] ================================================
[2026-08-29 19:17:11,935.935 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:17:11
[2026-08-29 19:17:12,251.251 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:17:12,395.395 INFO    ] Initializing speech engine...
[2026-08-29 19:17:12,400.400 INFO    ] 2026-08-29 19:17:12
[2026-08-29 19:17:12,587.587 INFO    ] 2026-08-29 19:17:12
[2026-08-29 19:17:12,621.621 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:17:12,787.787 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:17:12,800.800 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:17:12,908.908 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:17:12,913.913 INFO    ] time= 29/08/2026 19:17:12
[2026-08-29 19:17:12,932.932 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:17:12,952.952 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:17:13,027.027 INFO    ] No existing commands found in stream
[2026-08-29 19:17:18,063.063 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:17:18,066.066 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-08-29 19:17:18,824.824 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:17:18,825.825 INFO    ] Checking for system updates...
[2026-08-29 19:17:18,845.845 INFO    ] 200
[2026-08-29 19:17:18,847.847 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:17:18,877.877 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:17:18,878.878 INFO    ] No update needed
[2026-08-29 19:17:18,879.879 INFO    ] Checking for camera pi updates...
[2026-08-29 19:17:18,901.901 INFO    ] 200
[2026-08-29 19:17:18,903.903 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:17:18,926.926 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:17:19,028.028 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:17:19,029.029 INFO    ] No camera update needed
[2026-08-29 19:17:19,031.031 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:17:19,032.032 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:17:19,035.035 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:17:19,038.038 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:17:21,077.077 INFO    ] ================================================
[2026-08-29 19:17:21,093.093 INFO    ] Launching Daemon at Sat Aug 29 19:17:21 IST 2026
[2026-08-29 19:17:21,104.104 INFO    ] ================================================
[2026-08-29 19:17:21,632.632 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:17:21
[2026-08-29 19:17:22,285.285 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:17:22,580.580 INFO    ] Initializing speech engine...
[2026-08-29 19:17:22,588.588 INFO    ] 2026-08-29 19:17:22
[2026-08-29 19:17:22,859.859 INFO    ] 2026-08-29 19:17:22
[2026-08-29 19:17:22,921.921 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:17:23,136.136 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:17:23,160.160 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:17:23,298.298 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:17:23,335.335 INFO    ] time= 29/08/2026 19:17:23
[2026-08-29 19:17:23,385.385 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:17:23,435.435 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:17:23,491.491 INFO    ] No existing commands found in stream
[2026-08-29 19:17:28,504.504 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:17:28,507.507 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-08-29 19:17:29,679.679 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:17:29,681.681 INFO    ] Checking for system updates...
[2026-08-29 19:17:29,701.701 INFO    ] 200
[2026-08-29 19:17:29,703.703 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:17:29,734.734 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:17:29,736.736 INFO    ] No update needed
[2026-08-29 19:17:29,737.737 INFO    ] Checking for camera pi updates...
[2026-08-29 19:17:29,756.756 INFO    ] 200
[2026-08-29 19:17:29,757.757 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:17:29,781.781 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:17:29,867.867 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:17:29,868.868 INFO    ] No camera update needed
[2026-08-29 19:17:29,870.870 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:17:29,871.871 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:17:29,874.874 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:17:29,876.876 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:17:31,916.916 INFO    ] ================================================
[2026-08-29 19:17:31,934.934 INFO    ] Launching Daemon at Sat Aug 29 19:17:31 IST 2026
[2026-08-29 19:17:31,946.946 INFO    ] ================================================
[2026-08-29 19:17:32,513.513 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:17:32
[2026-08-29 19:17:33,147.147 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:17:33,412.412 INFO    ] Initializing speech engine...
[2026-08-29 19:17:33,435.435 INFO    ] 2026-08-29 19:17:33
[2026-08-29 19:17:33,691.691 INFO    ] 2026-08-29 19:17:33
[2026-08-29 19:17:33,728.728 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:17:33,903.903 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:17:33,915.915 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:17:34,052.052 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:17:34,065.065 INFO    ] time= 29/08/2026 19:17:34
[2026-08-29 19:17:34,072.072 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:17:34,119.119 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:17:34,245.245 INFO    ] No existing commands found in stream
[2026-08-29 19:17:39,273.273 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:17:39,276.276 INFO    ] Waiting 3.71 seconds before fallback handling...
[2026-08-29 19:17:43,310.310 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:17:43,311.311 INFO    ] Checking for system updates...
[2026-08-29 19:17:43,332.332 INFO    ] 200
[2026-08-29 19:17:43,334.334 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:17:43,363.363 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:17:43,365.365 INFO    ] No update needed
[2026-08-29 19:17:43,366.366 INFO    ] Checking for camera pi updates...
[2026-08-29 19:17:43,387.387 INFO    ] 200
[2026-08-29 19:17:43,388.388 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:17:43,412.412 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:17:43,513.513 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:17:43,516.516 INFO    ] No camera update needed
[2026-08-29 19:17:43,518.518 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:17:43,520.520 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:17:43,525.525 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:17:43,530.530 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:17:45,573.573 INFO    ] ================================================
[2026-08-29 19:17:45,588.588 INFO    ] Launching Daemon at Sat Aug 29 19:17:45 IST 2026
[2026-08-29 19:17:45,599.599 INFO    ] ================================================
[2026-08-29 19:17:46,236.236 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:17:46
[2026-08-29 19:17:46,740.740 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:17:46,892.892 INFO    ] Initializing speech engine...
[2026-08-29 19:17:46,898.898 INFO    ] 2026-08-29 19:17:46
[2026-08-29 19:17:47,109.109 INFO    ] 2026-08-29 19:17:47
[2026-08-29 19:17:47,137.137 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:17:47,263.263 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:17:47,330.330 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:17:47,469.469 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:17:47,536.536 INFO    ] time= 29/08/2026 19:17:47
[2026-08-29 19:17:47,560.560 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:17:47,567.567 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:17:47,633.633 INFO    ] No existing commands found in stream
[2026-08-29 19:17:52,644.644 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:17:52,648.648 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-08-29 19:17:56,878.878 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:17:56,879.879 INFO    ] Checking for system updates...
[2026-08-29 19:17:56,901.901 INFO    ] 200
[2026-08-29 19:17:56,902.902 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:17:56,939.939 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:17:56,940.940 INFO    ] No update needed
[2026-08-29 19:17:56,941.941 INFO    ] Checking for camera pi updates...
[2026-08-29 19:17:56,961.961 INFO    ] 200
[2026-08-29 19:17:56,962.962 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:17:56,986.986 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:17:57,068.068 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:17:57,069.069 INFO    ] No camera update needed
[2026-08-29 19:17:57,070.070 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:17:57,072.072 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:17:57,075.075 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:17:57,078.078 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:17:59,118.118 INFO    ] ================================================
[2026-08-29 19:17:59,134.134 INFO    ] Launching Daemon at Sat Aug 29 19:17:59 IST 2026
[2026-08-29 19:17:59,146.146 INFO    ] ================================================
[2026-08-29 19:17:59,503.503 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:17:59
[2026-08-29 19:17:59,927.927 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:18:00,191.191 INFO    ] Initializing speech engine...
[2026-08-29 19:18:00,215.215 INFO    ] 2026-08-29 19:18:00
[2026-08-29 19:18:00,491.491 INFO    ] 2026-08-29 19:18:00
[2026-08-29 19:18:00,526.526 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:18:00,679.679 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:18:00,707.707 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:18:00,838.838 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:18:00,844.844 INFO    ] time= 29/08/2026 19:18:00
[2026-08-29 19:18:00,849.849 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:18:00,872.872 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:18:00,925.925 INFO    ] No existing commands found in stream
[2026-08-29 19:18:05,936.936 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:18:05,938.938 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-08-29 19:18:10,274.274 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:18:10,275.275 INFO    ] Checking for system updates...
[2026-08-29 19:18:10,296.296 INFO    ] 200
[2026-08-29 19:18:10,297.297 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:18:10,329.329 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:18:10,331.331 INFO    ] No update needed
[2026-08-29 19:18:10,332.332 INFO    ] Checking for camera pi updates...
[2026-08-29 19:18:10,351.351 INFO    ] 200
[2026-08-29 19:18:10,353.353 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:18:10,376.376 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:18:10,559.559 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:18:10,561.561 INFO    ] No camera update needed
[2026-08-29 19:18:10,564.564 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:18:10,566.566 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:18:10,571.571 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:18:10,576.576 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:18:12,616.616 INFO    ] ================================================
[2026-08-29 19:18:12,631.631 INFO    ] Launching Daemon at Sat Aug 29 19:18:12 IST 2026
[2026-08-29 19:18:12,643.643 INFO    ] ================================================
[2026-08-29 19:18:13,211.211 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:18:13
[2026-08-29 19:18:13,664.664 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:18:13,806.806 INFO    ] Initializing speech engine...
[2026-08-29 19:18:13,817.817 INFO    ] 2026-08-29 19:18:13
[2026-08-29 19:18:14,031.031 INFO    ] 2026-08-29 19:18:14
[2026-08-29 19:18:14,062.062 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:18:14,193.193 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:18:14,226.226 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:18:14,360.360 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:18:14,404.404 INFO    ] time= 29/08/2026 19:18:14
[2026-08-29 19:18:14,455.455 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:18:14,499.499 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:18:14,643.643 INFO    ] No existing commands found in stream
[2026-08-29 19:18:19,673.673 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:18:19,676.676 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-08-29 19:18:23,822.822 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:18:23,823.823 INFO    ] Checking for system updates...
[2026-08-29 19:18:23,843.843 INFO    ] 200
[2026-08-29 19:18:23,845.845 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:18:23,877.877 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:18:23,878.878 INFO    ] No update needed
[2026-08-29 19:18:23,879.879 INFO    ] Checking for camera pi updates...
[2026-08-29 19:18:23,898.898 INFO    ] 200
[2026-08-29 19:18:23,900.900 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:18:23,924.924 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:18:24,001.001 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:18:24,003.003 INFO    ] No camera update needed
[2026-08-29 19:18:24,004.004 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:18:24,005.005 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:18:24,009.009 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:18:24,012.012 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:18:26,051.051 INFO    ] ================================================
[2026-08-29 19:18:26,067.067 INFO    ] Launching Daemon at Sat Aug 29 19:18:26 IST 2026
[2026-08-29 19:18:26,078.078 INFO    ] ================================================
[2026-08-29 19:18:26,446.446 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:18:26
[2026-08-29 19:18:26,779.779 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:18:26,928.928 INFO    ] Initializing speech engine...
[2026-08-29 19:18:26,935.935 INFO    ] 2026-08-29 19:18:26
[2026-08-29 19:18:27,126.126 INFO    ] 2026-08-29 19:18:27
[2026-08-29 19:18:27,181.181 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:18:27,407.407 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:18:27,417.417 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:18:27,551.551 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:18:27,619.619 INFO    ] time= 29/08/2026 19:18:27
[2026-08-29 19:18:27,669.669 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:18:27,688.688 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:18:27,793.793 INFO    ] No existing commands found in stream
[2026-08-29 19:18:32,816.816 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:18:32,819.819 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-08-29 19:18:34,212.212 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:18:34,215.215 INFO    ] Checking for system updates...
[2026-08-29 19:18:34,253.253 INFO    ] 200
[2026-08-29 19:18:34,256.256 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:18:34,309.309 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:18:34,311.311 INFO    ] No update needed
[2026-08-29 19:18:34,314.314 INFO    ] Checking for camera pi updates...
[2026-08-29 19:18:34,349.349 INFO    ] 200
[2026-08-29 19:18:34,352.352 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:18:34,394.394 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:18:34,499.499 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:18:34,502.502 INFO    ] No camera update needed
[2026-08-29 19:18:34,505.505 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:18:34,507.507 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:18:34,513.513 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:18:34,519.519 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:18:36,560.560 INFO    ] ================================================
[2026-08-29 19:18:36,576.576 INFO    ] Launching Daemon at Sat Aug 29 19:18:36 IST 2026
[2026-08-29 19:18:36,587.587 INFO    ] ================================================
[2026-08-29 19:18:37,157.157 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:18:37
[2026-08-29 19:18:37,756.756 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:18:38,016.016 INFO    ] Initializing speech engine...
[2026-08-29 19:18:38,031.031 INFO    ] 2026-08-29 19:18:38
[2026-08-29 19:18:38,316.316 INFO    ] 2026-08-29 19:18:38
[2026-08-29 19:18:38,354.354 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:18:38,500.500 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:18:38,507.507 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:18:38,658.658 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:18:38,669.669 INFO    ] time= 29/08/2026 19:18:38
[2026-08-29 19:18:38,674.674 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:18:38,678.678 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:18:38,745.745 INFO    ] No existing commands found in stream
[2026-08-29 19:18:43,758.758 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:18:43,760.760 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-08-29 19:18:45,565.565 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:18:45,567.567 INFO    ] Checking for system updates...
[2026-08-29 19:18:45,587.587 INFO    ] 200
[2026-08-29 19:18:45,588.588 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:18:45,618.618 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:18:45,619.619 INFO    ] No update needed
[2026-08-29 19:18:45,621.621 INFO    ] Checking for camera pi updates...
[2026-08-29 19:18:45,640.640 INFO    ] 200
[2026-08-29 19:18:45,641.641 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:18:45,664.664 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:18:45,764.764 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:18:45,766.766 INFO    ] No camera update needed
[2026-08-29 19:18:45,767.767 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:18:45,768.768 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:18:45,771.771 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:18:45,774.774 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:18:47,813.813 INFO    ] ================================================
[2026-08-29 19:18:47,828.828 INFO    ] Launching Daemon at Sat Aug 29 19:18:47 IST 2026
[2026-08-29 19:18:47,839.839 INFO    ] ================================================
[2026-08-29 19:18:48,201.201 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:18:48
[2026-08-29 19:18:48,534.534 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:18:48,679.679 INFO    ] Initializing speech engine...
[2026-08-29 19:18:48,689.689 INFO    ] 2026-08-29 19:18:48
[2026-08-29 19:18:48,898.898 INFO    ] 2026-08-29 19:18:48
[2026-08-29 19:18:48,943.943 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:18:49,106.106 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:18:49,115.115 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:18:49,272.272 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:18:49,316.316 INFO    ] time= 29/08/2026 19:18:49
[2026-08-29 19:18:49,322.322 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:18:49,344.344 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:18:49,462.462 INFO    ] No existing commands found in stream
[2026-08-29 19:18:54,485.485 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:18:54,488.488 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-08-29 19:18:56,091.091 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:18:56,093.093 INFO    ] Checking for system updates...
[2026-08-29 19:18:56,115.115 INFO    ] 200
[2026-08-29 19:18:56,116.116 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:18:56,149.149 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:18:56,151.151 INFO    ] No update needed
[2026-08-29 19:18:56,152.152 INFO    ] Checking for camera pi updates...
[2026-08-29 19:18:56,173.173 INFO    ] 200
[2026-08-29 19:18:56,174.174 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:18:56,197.197 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:18:56,304.304 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:18:56,305.305 INFO    ] No camera update needed
[2026-08-29 19:18:56,306.306 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:18:56,308.308 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:18:56,311.311 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:18:56,314.314 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:18:58,353.353 INFO    ] ================================================
[2026-08-29 19:18:58,368.368 INFO    ] Launching Daemon at Sat Aug 29 19:18:58 IST 2026
[2026-08-29 19:18:58,379.379 INFO    ] ================================================
[2026-08-29 19:18:58,972.972 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:18:58
[2026-08-29 19:18:59,631.631 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:18:59,938.938 INFO    ] Initializing speech engine...
[2026-08-29 19:18:59,949.949 INFO    ] 2026-08-29 19:18:59
[2026-08-29 19:19:00,215.215 INFO    ] 2026-08-29 19:19:00
[2026-08-29 19:19:00,269.269 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:19:00,500.500 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:19:00,509.509 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:19:00,643.643 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:19:00,664.664 INFO    ] time= 29/08/2026 19:19:00
[2026-08-29 19:19:00,724.724 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:19:00,780.780 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:19:00,835.835 INFO    ] No existing commands found in stream
[2026-08-29 19:19:05,848.848 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:19:05,851.851 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-08-29 19:19:07,818.818 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:19:07,819.819 INFO    ] Checking for system updates...
[2026-08-29 19:19:07,840.840 INFO    ] 200
[2026-08-29 19:19:07,841.841 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:19:07,872.872 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:19:07,874.874 INFO    ] No update needed
[2026-08-29 19:19:07,875.875 INFO    ] Checking for camera pi updates...
[2026-08-29 19:19:07,894.894 INFO    ] 200
[2026-08-29 19:19:07,896.896 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:19:07,921.921 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:19:08,015.015 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:19:08,017.017 INFO    ] No camera update needed
[2026-08-29 19:19:08,018.018 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:19:08,019.019 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:19:08,023.023 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:19:08,025.025 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:19:10,065.065 INFO    ] ================================================
[2026-08-29 19:19:10,081.081 INFO    ] Launching Daemon at Sat Aug 29 19:19:10 IST 2026
[2026-08-29 19:19:10,091.091 INFO    ] ================================================
[2026-08-29 19:19:10,457.457 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:19:10
[2026-08-29 19:19:10,789.789 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:19:10,938.938 INFO    ] Initializing speech engine...
[2026-08-29 19:19:10,944.944 INFO    ] 2026-08-29 19:19:10
[2026-08-29 19:19:11,150.150 INFO    ] 2026-08-29 19:19:11
[2026-08-29 19:19:11,179.179 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:19:11,307.307 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:19:11,364.364 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:19:11,498.498 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:19:11,566.566 INFO    ] time= 29/08/2026 19:19:11
[2026-08-29 19:19:11,593.593 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:19:11,599.599 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:19:11,664.664 INFO    ] No existing commands found in stream
[2026-08-29 19:19:16,675.675 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:19:16,678.678 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-08-29 19:19:19,920.920 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:19:19,922.922 INFO    ] Checking for system updates...
[2026-08-29 19:19:19,947.947 INFO    ] 200
[2026-08-29 19:19:19,948.948 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:19:19,983.983 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:19:19,984.984 INFO    ] No update needed
[2026-08-29 19:19:19,986.986 INFO    ] Checking for camera pi updates...
[2026-08-29 19:19:20,012.012 INFO    ] 200
[2026-08-29 19:19:20,013.013 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:19:20,037.037 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:19:20,114.114 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:19:20,116.116 INFO    ] No camera update needed
[2026-08-29 19:19:20,117.117 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:19:20,118.118 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:19:20,121.121 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:19:20,125.125 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:19:22,162.162 INFO    ] ================================================
[2026-08-29 19:19:22,179.179 INFO    ] Launching Daemon at Sat Aug 29 19:19:22 IST 2026
[2026-08-29 19:19:22,191.191 INFO    ] ================================================
[2026-08-29 19:19:22,827.827 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:19:22
[2026-08-29 19:19:23,456.456 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:19:23,757.757 INFO    ] Initializing speech engine...
[2026-08-29 19:19:23,766.766 INFO    ] 2026-08-29 19:19:23
[2026-08-29 19:19:24,035.035 INFO    ] 2026-08-29 19:19:24
[2026-08-29 19:19:24,090.090 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:19:24,317.317 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:19:24,327.327 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:19:24,460.460 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:19:24,487.487 INFO    ] time= 29/08/2026 19:19:24
[2026-08-29 19:19:24,552.552 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:19:24,556.556 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:19:24,635.635 INFO    ] No existing commands found in stream
[2026-08-29 19:19:29,666.666 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:19:29,669.669 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-08-29 19:19:31,069.069 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:19:31,070.070 INFO    ] Checking for system updates...
[2026-08-29 19:19:31,091.091 INFO    ] 200
[2026-08-29 19:19:31,092.092 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:19:31,125.125 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:19:31,126.126 INFO    ] No update needed
[2026-08-29 19:19:31,127.127 INFO    ] Checking for camera pi updates...
[2026-08-29 19:19:31,146.146 INFO    ] 200
[2026-08-29 19:19:31,147.147 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:19:31,172.172 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:19:31,259.259 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:19:31,260.260 INFO    ] No camera update needed
[2026-08-29 19:19:31,262.262 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:19:31,263.263 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:19:31,266.266 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:19:31,268.268 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:19:33,310.310 INFO    ] ================================================
[2026-08-29 19:19:33,326.326 INFO    ] Launching Daemon at Sat Aug 29 19:19:33 IST 2026
[2026-08-29 19:19:33,337.337 INFO    ] ================================================
[2026-08-29 19:19:33,917.917 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:19:33
[2026-08-29 19:19:34,505.505 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:19:34,775.775 INFO    ] Initializing speech engine...
[2026-08-29 19:19:34,784.784 INFO    ] 2026-08-29 19:19:34
[2026-08-29 19:19:35,001.001 INFO    ] 2026-08-29 19:19:34
[2026-08-29 19:19:35,085.085 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:19:35,234.234 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:19:35,243.243 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:19:35,375.375 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:19:35,402.402 INFO    ] time= 29/08/2026 19:19:35
[2026-08-29 19:19:35,451.451 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:19:35,505.505 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:19:35,565.565 INFO    ] No existing commands found in stream
[2026-08-29 19:19:40,577.577 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:19:40,580.580 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-08-29 19:19:44,202.202 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:19:44,204.204 INFO    ] Checking for system updates...
[2026-08-29 19:19:44,225.225 INFO    ] 200
[2026-08-29 19:19:44,226.226 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:19:44,256.256 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:19:44,257.257 INFO    ] No update needed
[2026-08-29 19:19:44,259.259 INFO    ] Checking for camera pi updates...
[2026-08-29 19:19:44,278.278 INFO    ] 200
[2026-08-29 19:19:44,280.280 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:19:44,303.303 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:19:44,380.380 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:19:44,381.381 INFO    ] No camera update needed
[2026-08-29 19:19:44,383.383 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:19:44,384.384 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:19:44,387.387 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:19:44,390.390 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:19:46,430.430 INFO    ] ================================================
[2026-08-29 19:19:46,446.446 INFO    ] Launching Daemon at Sat Aug 29 19:19:46 IST 2026
[2026-08-29 19:19:46,457.457 INFO    ] ================================================
[2026-08-29 19:19:46,806.806 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:19:46
[2026-08-29 19:19:47,118.118 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:19:47,316.316 INFO    ] Initializing speech engine...
[2026-08-29 19:19:47,322.322 INFO    ] 2026-08-29 19:19:47
[2026-08-29 19:19:47,568.568 INFO    ] 2026-08-29 19:19:47
[2026-08-29 19:19:47,635.635 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:19:47,785.785 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:19:47,800.800 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:19:47,932.932 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:19:47,937.937 INFO    ] time= 29/08/2026 19:19:47
[2026-08-29 19:19:47,943.943 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:19:47,994.994 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:19:48,111.111 INFO    ] No existing commands found in stream
[2026-08-29 19:19:53,136.136 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:19:53,139.139 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 19:19:56,643.643 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:19:56,644.644 INFO    ] Checking for system updates...
[2026-08-29 19:19:56,665.665 INFO    ] 200
[2026-08-29 19:19:56,666.666 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:19:56,699.699 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:19:56,702.702 INFO    ] No update needed
[2026-08-29 19:19:56,704.704 INFO    ] Checking for camera pi updates...
[2026-08-29 19:19:56,739.739 INFO    ] 200
[2026-08-29 19:19:56,741.741 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:19:56,785.785 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:19:56,885.885 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:19:56,887.887 INFO    ] No camera update needed
[2026-08-29 19:19:56,889.889 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:19:56,892.892 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:19:56,897.897 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:19:56,902.902 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:19:58,944.944 INFO    ] ================================================
[2026-08-29 19:19:58,960.960 INFO    ] Launching Daemon at Sat Aug 29 19:19:58 IST 2026
[2026-08-29 19:19:58,971.971 INFO    ] ================================================
[2026-08-29 19:19:59,551.551 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:19:59
[2026-08-29 19:19:59,989.989 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:20:00,122.122 INFO    ] Initializing speech engine...
[2026-08-29 19:20:00,126.126 INFO    ] 2026-08-29 19:20:00
[2026-08-29 19:20:00,333.333 INFO    ] 2026-08-29 19:20:00
[2026-08-29 19:20:00,368.368 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:20:00,513.513 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:20:00,521.521 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:20:00,668.668 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:20:00,677.677 INFO    ] time= 29/08/2026 19:20:00
[2026-08-29 19:20:00,684.684 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:20:00,706.706 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:20:00,757.757 INFO    ] No existing commands found in stream
[2026-08-29 19:20:05,767.767 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:20:05,770.770 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-08-29 19:20:08,903.903 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:20:08,904.904 INFO    ] Checking for system updates...
[2026-08-29 19:20:08,926.926 INFO    ] 200
[2026-08-29 19:20:08,927.927 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:20:08,957.957 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:20:08,958.958 INFO    ] No update needed
[2026-08-29 19:20:08,960.960 INFO    ] Checking for camera pi updates...
[2026-08-29 19:20:08,979.979 INFO    ] 200
[2026-08-29 19:20:08,980.980 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:20:09,003.003 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:20:09,078.078 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:20:09,079.079 INFO    ] No camera update needed
[2026-08-29 19:20:09,080.080 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:20:09,081.081 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:20:09,084.084 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:20:09,087.087 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:20:11,126.126 INFO    ] ================================================
[2026-08-29 19:20:11,141.141 INFO    ] Launching Daemon at Sat Aug 29 19:20:11 IST 2026
[2026-08-29 19:20:11,151.151 INFO    ] ================================================
[2026-08-29 19:20:11,501.501 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:20:11
[2026-08-29 19:20:11,819.819 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:20:11,958.958 INFO    ] Initializing speech engine...
[2026-08-29 19:20:11,968.968 INFO    ] 2026-08-29 19:20:11
[2026-08-29 19:20:12,172.172 INFO    ] 2026-08-29 19:20:12
[2026-08-29 19:20:12,200.200 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:20:12,322.322 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:20:12,365.365 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:20:12,524.524 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:20:12,590.590 INFO    ] time= 29/08/2026 19:20:12
[2026-08-29 19:20:12,615.615 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:20:12,621.621 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:20:12,688.688 INFO    ] No existing commands found in stream
[2026-08-29 19:20:17,697.697 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:20:17,700.700 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-08-29 19:20:20,263.263 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:20:20,266.266 INFO    ] Checking for system updates...
[2026-08-29 19:20:20,302.302 INFO    ] 200
[2026-08-29 19:20:20,305.305 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:20:20,358.358 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:20:20,361.361 INFO    ] No update needed
[2026-08-29 19:20:20,363.363 INFO    ] Checking for camera pi updates...
[2026-08-29 19:20:20,397.397 INFO    ] 200
[2026-08-29 19:20:20,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:20:20,440.440 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:20:20,639.639 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:20:20,641.641 INFO    ] No camera update needed
[2026-08-29 19:20:20,644.644 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:20:20,646.646 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:20:20,652.652 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:20:20,657.657 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:20:22,696.696 INFO    ] ================================================
[2026-08-29 19:20:22,711.711 INFO    ] Launching Daemon at Sat Aug 29 19:20:22 IST 2026
[2026-08-29 19:20:22,722.722 INFO    ] ================================================
[2026-08-29 19:20:23,290.290 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:20:23
[2026-08-29 19:20:23,626.626 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:20:23,773.773 INFO    ] Initializing speech engine...
[2026-08-29 19:20:23,784.784 INFO    ] 2026-08-29 19:20:23
[2026-08-29 19:20:23,991.991 INFO    ] 2026-08-29 19:20:23
[2026-08-29 19:20:24,019.019 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:20:24,143.143 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:20:24,201.201 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:20:24,341.341 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:20:24,411.411 INFO    ] time= 29/08/2026 19:20:24
[2026-08-29 19:20:24,436.436 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:20:24,443.443 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:20:24,510.510 INFO    ] No existing commands found in stream
[2026-08-29 19:20:29,521.521 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:20:29,524.524 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-08-29 19:20:30,094.094 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:20:30,095.095 INFO    ] Checking for system updates...
[2026-08-29 19:20:30,117.117 INFO    ] 200
[2026-08-29 19:20:30,118.118 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:20:30,151.151 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:20:30,153.153 INFO    ] No update needed
[2026-08-29 19:20:30,154.154 INFO    ] Checking for camera pi updates...
[2026-08-29 19:20:30,175.175 INFO    ] 200
[2026-08-29 19:20:30,176.176 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:20:30,202.202 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:20:30,288.288 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:20:30,291.291 INFO    ] No camera update needed
[2026-08-29 19:20:30,293.293 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:20:30,295.295 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:20:30,299.299 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:20:30,302.302 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:20:32,334.334 INFO    ] ================================================
[2026-08-29 19:20:32,344.344 INFO    ] Launching Daemon at Sat Aug 29 19:20:32 IST 2026
[2026-08-29 19:20:32,351.351 INFO    ] ================================================
[2026-08-29 19:20:32,938.938 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:20:32
[2026-08-29 19:20:33,524.524 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:20:33,785.785 INFO    ] Initializing speech engine...
[2026-08-29 19:20:33,799.799 INFO    ] 2026-08-29 19:20:33
[2026-08-29 19:20:34,054.054 INFO    ] 2026-08-29 19:20:34
[2026-08-29 19:20:34,087.087 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:20:34,265.265 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:20:34,277.277 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:20:34,390.390 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:20:34,405.405 INFO    ] time= 29/08/2026 19:20:34
[2026-08-29 19:20:34,429.429 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:20:34,436.436 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:20:34,509.509 INFO    ] No existing commands found in stream
[2026-08-29 19:20:39,539.539 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:20:39,542.542 INFO    ] Waiting 3.71 seconds before fallback handling...
[2026-08-29 19:20:43,586.586 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:20:43,587.587 INFO    ] Checking for system updates...
[2026-08-29 19:20:43,607.607 INFO    ] 200
[2026-08-29 19:20:43,609.609 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:20:43,641.641 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:20:43,642.642 INFO    ] No update needed
[2026-08-29 19:20:43,643.643 INFO    ] Checking for camera pi updates...
[2026-08-29 19:20:43,664.664 INFO    ] 200
[2026-08-29 19:20:43,665.665 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:20:43,688.688 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:20:43,768.768 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:20:43,770.770 INFO    ] No camera update needed
[2026-08-29 19:20:43,771.771 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:20:43,772.772 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:20:43,775.775 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:20:43,778.778 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:20:45,816.816 INFO    ] ================================================
[2026-08-29 19:20:45,831.831 INFO    ] Launching Daemon at Sat Aug 29 19:20:45 IST 2026
[2026-08-29 19:20:45,842.842 INFO    ] ================================================
[2026-08-29 19:20:46,194.194 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:20:46
[2026-08-29 19:20:46,506.506 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:20:46,644.644 INFO    ] Initializing speech engine...
[2026-08-29 19:20:46,655.655 INFO    ] 2026-08-29 19:20:46
[2026-08-29 19:20:46,900.900 INFO    ] 2026-08-29 19:20:46
[2026-08-29 19:20:46,955.955 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:20:47,117.117 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:20:47,124.124 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:20:47,287.287 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:20:47,322.322 INFO    ] time= 29/08/2026 19:20:47
[2026-08-29 19:20:47,328.328 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:20:47,345.345 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:20:47,452.452 INFO    ] No existing commands found in stream
[2026-08-29 19:20:52,484.484 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:20:52,487.487 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-08-29 19:20:54,950.950 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:20:54,952.952 INFO    ] Checking for system updates...
[2026-08-29 19:20:54,973.973 INFO    ] 200
[2026-08-29 19:20:54,975.975 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:20:55,005.005 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:20:55,007.007 INFO    ] No update needed
[2026-08-29 19:20:55,008.008 INFO    ] Checking for camera pi updates...
[2026-08-29 19:20:55,029.029 INFO    ] 200
[2026-08-29 19:20:55,030.030 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:20:55,055.055 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:20:55,132.132 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:20:55,134.134 INFO    ] No camera update needed
[2026-08-29 19:20:55,135.135 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:20:55,137.137 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:20:55,140.140 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:20:55,143.143 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:20:57,181.181 INFO    ] ================================================
[2026-08-29 19:20:57,196.196 INFO    ] Launching Daemon at Sat Aug 29 19:20:57 IST 2026
[2026-08-29 19:20:57,207.207 INFO    ] ================================================
[2026-08-29 19:20:57,542.542 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:20:57
[2026-08-29 19:20:57,855.855 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:20:58,064.064 INFO    ] Initializing speech engine...
[2026-08-29 19:20:58,072.072 INFO    ] 2026-08-29 19:20:58
[2026-08-29 19:20:58,369.369 INFO    ] 2026-08-29 19:20:58
[2026-08-29 19:20:58,403.403 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:20:58,555.555 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:20:58,563.563 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:20:58,713.713 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:20:58,723.723 INFO    ] time= 29/08/2026 19:20:58
[2026-08-29 19:20:58,728.728 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:20:58,733.733 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:20:58,800.800 INFO    ] No existing commands found in stream
[2026-08-29 19:21:03,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:21:03,815.815 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-08-29 19:21:07,434.434 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:21:07,435.435 INFO    ] Checking for system updates...
[2026-08-29 19:21:07,455.455 INFO    ] 200
[2026-08-29 19:21:07,457.457 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:21:07,489.489 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:21:07,491.491 INFO    ] No update needed
[2026-08-29 19:21:07,492.492 INFO    ] Checking for camera pi updates...
[2026-08-29 19:21:07,511.511 INFO    ] 200
[2026-08-29 19:21:07,513.513 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:21:07,538.538 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:21:07,669.669 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:21:07,670.670 INFO    ] No camera update needed
[2026-08-29 19:21:07,671.671 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:21:07,672.672 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:21:07,675.675 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:21:07,678.678 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:21:09,717.717 INFO    ] ================================================
[2026-08-29 19:21:09,733.733 INFO    ] Launching Daemon at Sat Aug 29 19:21:09 IST 2026
[2026-08-29 19:21:09,743.743 INFO    ] ================================================
[2026-08-29 19:21:10,071.071 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:21:10
[2026-08-29 19:21:10,641.641 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:21:10,906.906 INFO    ] Initializing speech engine...
[2026-08-29 19:21:10,930.930 INFO    ] 2026-08-29 19:21:10
[2026-08-29 19:21:11,203.203 INFO    ] 2026-08-29 19:21:11
[2026-08-29 19:21:11,241.241 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:21:11,435.435 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:21:11,442.442 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:21:11,550.550 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:21:11,556.556 INFO    ] time= 29/08/2026 19:21:11
[2026-08-29 19:21:11,566.566 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:21:11,583.583 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:21:11,635.635 INFO    ] No existing commands found in stream
[2026-08-29 19:21:16,646.646 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:21:16,654.654 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-08-29 19:21:17,234.234 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:21:17,235.235 INFO    ] Checking for system updates...
[2026-08-29 19:21:17,257.257 INFO    ] 200
[2026-08-29 19:21:17,258.258 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:21:17,293.293 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:21:17,294.294 INFO    ] No update needed
[2026-08-29 19:21:17,296.296 INFO    ] Checking for camera pi updates...
[2026-08-29 19:21:17,315.315 INFO    ] 200
[2026-08-29 19:21:17,317.317 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:21:17,340.340 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:21:17,443.443 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:21:17,444.444 INFO    ] No camera update needed
[2026-08-29 19:21:17,445.445 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:21:17,447.447 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:21:17,450.450 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:21:17,453.453 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:21:19,491.491 INFO    ] ================================================
[2026-08-29 19:21:19,506.506 INFO    ] Launching Daemon at Sat Aug 29 19:21:19 IST 2026
[2026-08-29 19:21:19,517.517 INFO    ] ================================================
[2026-08-29 19:21:19,869.869 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:21:19
[2026-08-29 19:21:20,180.180 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:21:20,337.337 INFO    ] Initializing speech engine...
[2026-08-29 19:21:20,357.357 INFO    ] 2026-08-29 19:21:20
[2026-08-29 19:21:20,608.608 INFO    ] 2026-08-29 19:21:20
[2026-08-29 19:21:20,643.643 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:21:20,818.818 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:21:20,832.832 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:21:20,944.944 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:21:20,948.948 INFO    ] time= 29/08/2026 19:21:20
[2026-08-29 19:21:20,967.967 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:21:20,986.986 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:21:21,044.044 INFO    ] No existing commands found in stream
[2026-08-29 19:21:26,054.054 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:21:26,057.057 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 19:21:28,051.051 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:21:28,052.052 INFO    ] Checking for system updates...
[2026-08-29 19:21:28,073.073 INFO    ] 200
[2026-08-29 19:21:28,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:21:28,106.106 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:21:28,107.107 INFO    ] No update needed
[2026-08-29 19:21:28,108.108 INFO    ] Checking for camera pi updates...
[2026-08-29 19:21:28,127.127 INFO    ] 200
[2026-08-29 19:21:28,129.129 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:21:28,153.153 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:21:28,241.241 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:21:28,242.242 INFO    ] No camera update needed
[2026-08-29 19:21:28,244.244 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:21:28,245.245 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:21:28,252.252 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:21:28,254.254 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:21:30,294.294 INFO    ] ================================================
[2026-08-29 19:21:30,309.309 INFO    ] Launching Daemon at Sat Aug 29 19:21:30 IST 2026
[2026-08-29 19:21:30,320.320 INFO    ] ================================================
[2026-08-29 19:21:30,802.802 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:21:30
[2026-08-29 19:21:31,461.461 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:21:31,765.765 INFO    ] Initializing speech engine...
[2026-08-29 19:21:31,780.780 INFO    ] 2026-08-29 19:21:31
[2026-08-29 19:21:32,086.086 INFO    ] 2026-08-29 19:21:32
[2026-08-29 19:21:32,123.123 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:21:32,351.351 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:21:32,361.361 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:21:32,501.501 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:21:32,529.529 INFO    ] time= 29/08/2026 19:21:32
[2026-08-29 19:21:32,595.595 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:21:32,644.644 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:21:32,698.698 INFO    ] No existing commands found in stream
[2026-08-29 19:21:37,710.710 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:21:37,713.713 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-08-29 19:21:40,719.719 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:21:40,720.720 INFO    ] Checking for system updates...
[2026-08-29 19:21:40,741.741 INFO    ] 200
[2026-08-29 19:21:40,743.743 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:21:40,773.773 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:21:40,774.774 INFO    ] No update needed
[2026-08-29 19:21:40,775.775 INFO    ] Checking for camera pi updates...
[2026-08-29 19:21:40,795.795 INFO    ] 200
[2026-08-29 19:21:40,797.797 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:21:40,819.819 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:21:40,883.883 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:21:40,885.885 INFO    ] No camera update needed
[2026-08-29 19:21:40,886.886 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:21:40,887.887 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:21:40,890.890 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:21:40,893.893 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:21:42,932.932 INFO    ] ================================================
[2026-08-29 19:21:42,947.947 INFO    ] Launching Daemon at Sat Aug 29 19:21:42 IST 2026
[2026-08-29 19:21:42,958.958 INFO    ] ================================================
[2026-08-29 19:21:43,535.535 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:21:43
[2026-08-29 19:21:44,192.192 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:21:44,493.493 INFO    ] Initializing speech engine...
[2026-08-29 19:21:44,500.500 INFO    ] 2026-08-29 19:21:44
[2026-08-29 19:21:44,774.774 INFO    ] 2026-08-29 19:21:44
[2026-08-29 19:21:44,830.830 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:21:45,060.060 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:21:45,070.070 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:21:45,211.211 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:21:45,259.259 INFO    ] time= 29/08/2026 19:21:45
[2026-08-29 19:21:45,324.324 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:21:45,353.353 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:21:45,408.408 INFO    ] No existing commands found in stream
[2026-08-29 19:21:50,421.421 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:21:50,425.425 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-08-29 19:21:53,253.253 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:21:53,254.254 INFO    ] Checking for system updates...
[2026-08-29 19:21:53,275.275 INFO    ] 200
[2026-08-29 19:21:53,276.276 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:21:53,310.310 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:21:53,311.311 INFO    ] No update needed
[2026-08-29 19:21:53,312.312 INFO    ] Checking for camera pi updates...
[2026-08-29 19:21:53,331.331 INFO    ] 200
[2026-08-29 19:21:53,333.333 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:21:53,356.356 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:21:53,469.469 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:21:53,471.471 INFO    ] No camera update needed
[2026-08-29 19:21:53,472.472 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:21:53,473.473 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:21:53,476.476 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:21:53,479.479 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:21:55,517.517 INFO    ] ================================================
[2026-08-29 19:21:55,532.532 INFO    ] Launching Daemon at Sat Aug 29 19:21:55 IST 2026
[2026-08-29 19:21:55,543.543 INFO    ] ================================================
[2026-08-29 19:21:56,125.125 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:21:56
[2026-08-29 19:21:56,786.786 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:21:57,045.045 INFO    ] Initializing speech engine...
[2026-08-29 19:21:57,050.050 INFO    ] 2026-08-29 19:21:57
[2026-08-29 19:21:57,247.247 INFO    ] 2026-08-29 19:21:57
[2026-08-29 19:21:57,331.331 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:21:57,485.485 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:21:57,494.494 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:21:58,623.623 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:21:58,629.629 INFO    ] time= 29/08/2026 19:21:58
[2026-08-29 19:21:58,634.634 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:21:58,638.638 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:21:58,685.685 INFO    ] No existing commands found in stream
[2026-08-29 19:22:03,697.697 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:22:03,700.700 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-08-29 19:22:05,548.548 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:22:05,550.550 INFO    ] Checking for system updates...
[2026-08-29 19:22:05,571.571 INFO    ] 200
[2026-08-29 19:22:05,572.572 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:22:05,617.617 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:22:05,620.620 INFO    ] No update needed
[2026-08-29 19:22:05,622.622 INFO    ] Checking for camera pi updates...
[2026-08-29 19:22:05,660.660 INFO    ] 200
[2026-08-29 19:22:05,664.664 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:22:05,715.715 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:22:05,795.795 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:22:05,797.797 INFO    ] No camera update needed
[2026-08-29 19:22:05,800.800 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:22:05,803.803 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:22:05,809.809 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:22:05,814.814 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:22:07,856.856 INFO    ] ================================================
[2026-08-29 19:22:07,873.873 INFO    ] Launching Daemon at Sat Aug 29 19:22:07 IST 2026
[2026-08-29 19:22:07,885.885 INFO    ] ================================================
[2026-08-29 19:22:08,530.530 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:22:08
[2026-08-29 19:22:09,135.135 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:22:09,462.462 INFO    ] Initializing speech engine...
[2026-08-29 19:22:09,472.472 INFO    ] 2026-08-29 19:22:09
[2026-08-29 19:22:09,756.756 INFO    ] 2026-08-29 19:22:09
[2026-08-29 19:22:09,812.812 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:22:10,043.043 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:22:10,053.053 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:22:11,185.185 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:22:11,191.191 INFO    ] time= 29/08/2026 19:22:11
[2026-08-29 19:22:11,199.199 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:22:11,205.205 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:22:11,260.260 INFO    ] No existing commands found in stream
[2026-08-29 19:22:16,271.271 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:22:16,273.273 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-08-29 19:22:19,214.214 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:22:19,216.216 INFO    ] Checking for system updates...
[2026-08-29 19:22:19,236.236 INFO    ] 200
[2026-08-29 19:22:19,237.237 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:22:19,270.270 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:22:19,271.271 INFO    ] No update needed
[2026-08-29 19:22:19,273.273 INFO    ] Checking for camera pi updates...
[2026-08-29 19:22:19,292.292 INFO    ] 200
[2026-08-29 19:22:19,293.293 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:22:19,332.332 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:22:19,419.419 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:22:19,421.421 INFO    ] No camera update needed
[2026-08-29 19:22:19,423.423 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:22:19,426.426 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:22:19,431.431 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:22:19,436.436 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:22:21,478.478 INFO    ] ================================================
[2026-08-29 19:22:21,493.493 INFO    ] Launching Daemon at Sat Aug 29 19:22:21 IST 2026
[2026-08-29 19:22:21,505.505 INFO    ] ================================================
[2026-08-29 19:22:22,166.166 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:22:22
[2026-08-29 19:22:22,636.636 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:22:22,791.791 INFO    ] Initializing speech engine...
[2026-08-29 19:22:22,795.795 INFO    ] 2026-08-29 19:22:22
[2026-08-29 19:22:23,001.001 INFO    ] 2026-08-29 19:22:22
[2026-08-29 19:22:23,030.030 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:22:23,153.153 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:22:23,216.216 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:22:23,352.352 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:22:23,414.414 INFO    ] time= 29/08/2026 19:22:23
[2026-08-29 19:22:23,452.452 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:22:23,470.470 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:22:23,596.596 INFO    ] No existing commands found in stream
[2026-08-29 19:22:28,617.617 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:22:28,620.620 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-08-29 19:22:30,661.661 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:22:30,663.663 INFO    ] Checking for system updates...
[2026-08-29 19:22:30,684.684 INFO    ] 200
[2026-08-29 19:22:30,686.686 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:22:30,715.715 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:22:30,717.717 INFO    ] No update needed
[2026-08-29 19:22:30,718.718 INFO    ] Checking for camera pi updates...
[2026-08-29 19:22:30,737.737 INFO    ] 200
[2026-08-29 19:22:30,739.739 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:22:30,785.785 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:22:30,959.959 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:22:30,961.961 INFO    ] No camera update needed
[2026-08-29 19:22:30,962.962 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:22:30,963.963 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:22:30,966.966 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:22:30,969.969 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:22:33,007.007 INFO    ] ================================================
[2026-08-29 19:22:33,024.024 INFO    ] Launching Daemon at Sat Aug 29 19:22:33 IST 2026
[2026-08-29 19:22:33,035.035 INFO    ] ================================================
[2026-08-29 19:22:33,711.711 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:22:33
[2026-08-29 19:22:34,414.414 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:22:34,715.715 INFO    ] Initializing speech engine...
[2026-08-29 19:22:34,727.727 INFO    ] 2026-08-29 19:22:34
[2026-08-29 19:22:35,036.036 INFO    ] 2026-08-29 19:22:35
[2026-08-29 19:22:35,065.065 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:22:35,188.188 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:22:35,231.231 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:22:35,381.381 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:22:35,427.427 INFO    ] time= 29/08/2026 19:22:35
[2026-08-29 19:22:35,471.471 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:22:35,481.481 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:22:35,553.553 INFO    ] No existing commands found in stream
[2026-08-29 19:22:40,564.564 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:22:40,567.567 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-08-29 19:22:41,426.426 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:22:41,427.427 INFO    ] Checking for system updates...
[2026-08-29 19:22:41,448.448 INFO    ] 200
[2026-08-29 19:22:41,450.450 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:22:41,480.480 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:22:41,482.482 INFO    ] No update needed
[2026-08-29 19:22:41,483.483 INFO    ] Checking for camera pi updates...
[2026-08-29 19:22:41,503.503 INFO    ] 200
[2026-08-29 19:22:41,504.504 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:22:41,527.527 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:22:41,637.637 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:22:41,638.638 INFO    ] No camera update needed
[2026-08-29 19:22:41,640.640 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:22:41,641.641 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:22:41,644.644 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:22:41,647.647 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:22:43,688.688 INFO    ] ================================================
[2026-08-29 19:22:43,704.704 INFO    ] Launching Daemon at Sat Aug 29 19:22:43 IST 2026
[2026-08-29 19:22:43,715.715 INFO    ] ================================================
[2026-08-29 19:22:44,060.060 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:22:44
[2026-08-29 19:22:44,548.548 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:22:44,828.828 INFO    ] Initializing speech engine...
[2026-08-29 19:22:44,835.835 INFO    ] 2026-08-29 19:22:44
[2026-08-29 19:22:45,155.155 INFO    ] 2026-08-29 19:22:45
[2026-08-29 19:22:45,181.181 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:22:45,348.348 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:22:45,360.360 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:22:45,492.492 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:22:45,521.521 INFO    ] time= 29/08/2026 19:22:45
[2026-08-29 19:22:45,531.531 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:22:45,537.537 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:22:45,602.602 INFO    ] No existing commands found in stream
[2026-08-29 19:22:50,613.613 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:22:50,616.616 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 19:22:52,111.111 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:22:52,113.113 INFO    ] Checking for system updates...
[2026-08-29 19:22:52,133.133 INFO    ] 200
[2026-08-29 19:22:52,135.135 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:22:52,167.167 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:22:52,168.168 INFO    ] No update needed
[2026-08-29 19:22:52,169.169 INFO    ] Checking for camera pi updates...
[2026-08-29 19:22:52,189.189 INFO    ] 200
[2026-08-29 19:22:52,190.190 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:22:52,215.215 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:22:52,299.299 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:22:52,301.301 INFO    ] No camera update needed
[2026-08-29 19:22:52,302.302 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:22:52,303.303 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:22:52,306.306 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:22:52,309.309 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:22:54,347.347 INFO    ] ================================================
[2026-08-29 19:22:54,363.363 INFO    ] Launching Daemon at Sat Aug 29 19:22:54 IST 2026
[2026-08-29 19:22:54,374.374 INFO    ] ================================================
[2026-08-29 19:22:54,868.868 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:22:54
[2026-08-29 19:22:55,472.472 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:22:55,747.747 INFO    ] Initializing speech engine...
[2026-08-29 19:22:55,754.754 INFO    ] 2026-08-29 19:22:55
[2026-08-29 19:22:56,282.282 INFO    ] 2026-08-29 19:22:56
[2026-08-29 19:22:56,311.311 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:22:56,515.515 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:22:56,558.558 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:22:56,711.711 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:22:56,761.761 INFO    ] time= 29/08/2026 19:22:56
[2026-08-29 19:22:56,817.817 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:22:56,828.828 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:22:56,947.947 INFO    ] No existing commands found in stream
[2026-08-29 19:23:01,974.974 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:23:01,977.977 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-08-29 19:23:03,415.415 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:23:03,418.418 INFO    ] Checking for system updates...
[2026-08-29 19:23:03,454.454 INFO    ] 200
[2026-08-29 19:23:03,457.457 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:23:03,510.510 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:23:03,513.513 INFO    ] No update needed
[2026-08-29 19:23:03,515.515 INFO    ] Checking for camera pi updates...
[2026-08-29 19:23:03,549.549 INFO    ] 200
[2026-08-29 19:23:03,552.552 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:23:03,593.593 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:23:03,671.671 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:23:03,674.674 INFO    ] No camera update needed
[2026-08-29 19:23:03,676.676 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:23:03,679.679 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:23:03,685.685 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:23:03,690.690 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:23:05,731.731 INFO    ] ================================================
[2026-08-29 19:23:05,748.748 INFO    ] Launching Daemon at Sat Aug 29 19:23:05 IST 2026
[2026-08-29 19:23:05,759.759 INFO    ] ================================================
[2026-08-29 19:23:06,366.366 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:23:06
[2026-08-29 19:23:07,052.052 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:23:07,362.362 INFO    ] Initializing speech engine...
[2026-08-29 19:23:07,677.677 INFO    ] 2026-08-29 19:23:07
[2026-08-29 19:23:08,077.077 INFO    ] 2026-08-29 19:23:08
[2026-08-29 19:23:08,153.153 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:23:08,333.333 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:23:08,383.383 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:23:08,577.577 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:23:08,622.622 INFO    ] time= 29/08/2026 19:23:08
[2026-08-29 19:23:08,634.634 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:23:08,638.638 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:23:08,746.746 INFO    ] No existing commands found in stream
[2026-08-29 19:23:13,764.764 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:23:13,767.767 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-08-29 19:23:14,878.878 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:23:14,879.879 INFO    ] Checking for system updates...
[2026-08-29 19:23:14,903.903 INFO    ] 200
[2026-08-29 19:23:14,904.904 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:23:14,935.935 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:23:14,936.936 INFO    ] No update needed
[2026-08-29 19:23:14,938.938 INFO    ] Checking for camera pi updates...
[2026-08-29 19:23:14,957.957 INFO    ] 200
[2026-08-29 19:23:14,959.959 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:23:14,985.985 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:23:15,084.084 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:23:15,086.086 INFO    ] No camera update needed
[2026-08-29 19:23:15,087.087 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:23:15,088.088 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:23:15,092.092 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:23:15,095.095 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:23:17,133.133 INFO    ] ================================================
[2026-08-29 19:23:17,149.149 INFO    ] Launching Daemon at Sat Aug 29 19:23:17 IST 2026
[2026-08-29 19:23:17,160.160 INFO    ] ================================================
[2026-08-29 19:23:17,494.494 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:23:17
[2026-08-29 19:23:17,807.807 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:23:17,950.950 INFO    ] Initializing speech engine...
[2026-08-29 19:23:17,955.955 INFO    ] 2026-08-29 19:23:17
[2026-08-29 19:23:18,162.162 INFO    ] 2026-08-29 19:23:18
[2026-08-29 19:23:18,190.190 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:23:18,315.315 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:23:18,369.369 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:23:18,499.499 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:23:18,506.506 INFO    ] time= 29/08/2026 19:23:18
[2026-08-29 19:23:18,513.513 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:23:18,553.553 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:23:18,664.664 INFO    ] No existing commands found in stream
[2026-08-29 19:23:23,689.689 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:23:23,692.692 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-08-29 19:23:24,950.950 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:23:24,951.951 INFO    ] Checking for system updates...
[2026-08-29 19:23:24,971.971 INFO    ] 200
[2026-08-29 19:23:24,973.973 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:23:25,003.003 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:23:25,004.004 INFO    ] No update needed
[2026-08-29 19:23:25,005.005 INFO    ] Checking for camera pi updates...
[2026-08-29 19:23:25,024.024 INFO    ] 200
[2026-08-29 19:23:25,026.026 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:23:25,049.049 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:23:25,130.130 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:23:25,131.131 INFO    ] No camera update needed
[2026-08-29 19:23:25,133.133 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:23:25,134.134 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:23:25,137.137 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:23:25,139.139 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:23:27,180.180 INFO    ] ================================================
[2026-08-29 19:23:27,195.195 INFO    ] Launching Daemon at Sat Aug 29 19:23:27 IST 2026
[2026-08-29 19:23:27,207.207 INFO    ] ================================================
[2026-08-29 19:23:27,561.561 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:23:27
[2026-08-29 19:23:27,873.873 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:23:28,122.122 INFO    ] Initializing speech engine...
[2026-08-29 19:23:28,130.130 INFO    ] 2026-08-29 19:23:28
[2026-08-29 19:23:28,378.378 INFO    ] 2026-08-29 19:23:28
[2026-08-29 19:23:28,413.413 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:23:28,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:23:28,599.599 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:23:28,722.722 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:23:28,742.742 INFO    ] time= 29/08/2026 19:23:28
[2026-08-29 19:23:28,750.750 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:23:28,757.757 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:23:28,820.820 INFO    ] No existing commands found in stream
[2026-08-29 19:23:33,833.833 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:23:33,836.836 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-08-29 19:23:35,253.253 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:23:35,255.255 INFO    ] Checking for system updates...
[2026-08-29 19:23:35,277.277 INFO    ] 200
[2026-08-29 19:23:35,278.278 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:23:35,310.310 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:23:35,312.312 INFO    ] No update needed
[2026-08-29 19:23:35,313.313 INFO    ] Checking for camera pi updates...
[2026-08-29 19:23:35,332.332 INFO    ] 200
[2026-08-29 19:23:35,334.334 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:23:35,356.356 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:23:35,432.432 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:23:35,434.434 INFO    ] No camera update needed
[2026-08-29 19:23:35,435.435 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:23:35,436.436 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:23:35,439.439 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:23:35,442.442 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:23:37,481.481 INFO    ] ================================================
[2026-08-29 19:23:37,496.496 INFO    ] Launching Daemon at Sat Aug 29 19:23:37 IST 2026
[2026-08-29 19:23:37,507.507 INFO    ] ================================================
[2026-08-29 19:23:37,833.833 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:23:37
[2026-08-29 19:23:38,145.145 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:23:38,277.277 INFO    ] Initializing speech engine...
[2026-08-29 19:23:38,284.284 INFO    ] 2026-08-29 19:23:38
[2026-08-29 19:23:38,477.477 INFO    ] 2026-08-29 19:23:38
[2026-08-29 19:23:38,507.507 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:23:38,675.675 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:23:38,687.687 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:23:38,799.799 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:23:38,804.804 INFO    ] time= 29/08/2026 19:23:38
[2026-08-29 19:23:38,818.818 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:23:38,843.843 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:23:38,917.917 INFO    ] No existing commands found in stream
[2026-08-29 19:23:43,929.929 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:23:43,932.932 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-08-29 19:23:45,245.245 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:23:45,247.247 INFO    ] Checking for system updates...
[2026-08-29 19:23:45,267.267 INFO    ] 200
[2026-08-29 19:23:45,268.268 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:23:45,301.301 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:23:45,302.302 INFO    ] No update needed
[2026-08-29 19:23:45,304.304 INFO    ] Checking for camera pi updates...
[2026-08-29 19:23:45,323.323 INFO    ] 200
[2026-08-29 19:23:45,324.324 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:23:45,347.347 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:23:45,458.458 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:23:45,459.459 INFO    ] No camera update needed
[2026-08-29 19:23:45,460.460 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:23:45,462.462 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:23:45,465.465 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:23:45,467.467 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:23:47,509.509 INFO    ] ================================================
[2026-08-29 19:23:47,525.525 INFO    ] Launching Daemon at Sat Aug 29 19:23:47 IST 2026
[2026-08-29 19:23:47,535.535 INFO    ] ================================================
[2026-08-29 19:23:47,915.915 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:23:47
[2026-08-29 19:23:48,254.254 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:23:48,507.507 INFO    ] Initializing speech engine...
[2026-08-29 19:23:48,516.516 INFO    ] 2026-08-29 19:23:48
[2026-08-29 19:23:48,763.763 INFO    ] 2026-08-29 19:23:48
[2026-08-29 19:23:48,799.799 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:23:48,971.971 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:23:48,983.983 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:23:49,128.128 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:23:49,138.138 INFO    ] time= 29/08/2026 19:23:49
[2026-08-29 19:23:49,144.144 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:23:49,193.193 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:23:49,307.307 INFO    ] No existing commands found in stream
[2026-08-29 19:23:54,344.344 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:23:54,347.347 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-08-29 19:23:56,924.924 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:23:56,926.926 INFO    ] Checking for system updates...
[2026-08-29 19:23:56,947.947 INFO    ] 200
[2026-08-29 19:23:56,948.948 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:23:56,979.979 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:23:56,980.980 INFO    ] No update needed
[2026-08-29 19:23:56,982.982 INFO    ] Checking for camera pi updates...
[2026-08-29 19:23:57,003.003 INFO    ] 200
[2026-08-29 19:23:57,004.004 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:23:57,032.032 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:23:57,109.109 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:23:57,111.111 INFO    ] No camera update needed
[2026-08-29 19:23:57,112.112 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:23:57,114.114 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:23:57,117.117 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:23:57,120.120 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:23:59,161.161 INFO    ] ================================================
[2026-08-29 19:23:59,176.176 INFO    ] Launching Daemon at Sat Aug 29 19:23:59 IST 2026
[2026-08-29 19:23:59,187.187 INFO    ] ================================================
[2026-08-29 19:23:59,677.677 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:23:59
[2026-08-29 19:24:00,295.295 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:24:00,605.605 INFO    ] Initializing speech engine...
[2026-08-29 19:24:00,620.620 INFO    ] 2026-08-29 19:24:00
[2026-08-29 19:24:00,937.937 INFO    ] 2026-08-29 19:24:00
[2026-08-29 19:24:01,021.021 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:24:01,176.176 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:24:01,184.184 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:24:01,293.293 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:24:01,314.314 INFO    ] time= 29/08/2026 19:24:01
[2026-08-29 19:24:01,318.318 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:24:01,327.327 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:24:01,403.403 INFO    ] No existing commands found in stream
[2026-08-29 19:24:06,414.414 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:24:06,416.416 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-08-29 19:24:08,886.886 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:24:08,887.887 INFO    ] Checking for system updates...
[2026-08-29 19:24:08,907.907 INFO    ] 200
[2026-08-29 19:24:08,908.908 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:24:08,943.943 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:24:08,944.944 INFO    ] No update needed
[2026-08-29 19:24:08,945.945 INFO    ] Checking for camera pi updates...
[2026-08-29 19:24:08,964.964 INFO    ] 200
[2026-08-29 19:24:08,966.966 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:24:08,989.989 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:24:09,087.087 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:24:09,088.088 INFO    ] No camera update needed
[2026-08-29 19:24:09,089.089 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:24:09,090.090 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:24:09,093.093 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:24:09,096.096 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:24:11,135.135 INFO    ] ================================================
[2026-08-29 19:24:11,150.150 INFO    ] Launching Daemon at Sat Aug 29 19:24:11 IST 2026
[2026-08-29 19:24:11,161.161 INFO    ] ================================================
[2026-08-29 19:24:11,629.629 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:24:11
[2026-08-29 19:24:12,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:24:12,477.477 INFO    ] Initializing speech engine...
[2026-08-29 19:24:12,492.492 INFO    ] 2026-08-29 19:24:12
[2026-08-29 19:24:12,779.779 INFO    ] 2026-08-29 19:24:12
[2026-08-29 19:24:12,814.814 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:24:12,965.965 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:24:12,973.973 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:24:13,127.127 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:24:13,136.136 INFO    ] time= 29/08/2026 19:24:13
[2026-08-29 19:24:13,140.140 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:24:13,146.146 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:24:13,215.215 INFO    ] No existing commands found in stream
[2026-08-29 19:24:18,228.228 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:24:18,231.231 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-08-29 19:24:18,653.653 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:24:18,654.654 INFO    ] Checking for system updates...
[2026-08-29 19:24:18,674.674 INFO    ] 200
[2026-08-29 19:24:18,676.676 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:24:18,708.708 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:24:18,709.709 INFO    ] No update needed
[2026-08-29 19:24:18,710.710 INFO    ] Checking for camera pi updates...
[2026-08-29 19:24:18,730.730 INFO    ] 200
[2026-08-29 19:24:18,731.731 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:24:18,770.770 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:24:18,852.852 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:24:18,855.855 INFO    ] No camera update needed
[2026-08-29 19:24:18,857.857 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:24:18,859.859 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:24:18,864.864 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:24:18,869.869 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:24:20,909.909 INFO    ] ================================================
[2026-08-29 19:24:20,924.924 INFO    ] Launching Daemon at Sat Aug 29 19:24:20 IST 2026
[2026-08-29 19:24:20,935.935 INFO    ] ================================================
[2026-08-29 19:24:21,505.505 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:24:21
[2026-08-29 19:24:21,986.986 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:24:22,121.121 INFO    ] Initializing speech engine...
[2026-08-29 19:24:22,131.131 INFO    ] 2026-08-29 19:24:22
[2026-08-29 19:24:22,402.402 INFO    ] 2026-08-29 19:24:22
[2026-08-29 19:24:22,442.442 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:24:22,573.573 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:24:22,580.580 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:24:22,711.711 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:24:22,719.719 INFO    ] time= 29/08/2026 19:24:22
[2026-08-29 19:24:22,724.724 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:24:22,745.745 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:24:22,791.791 INFO    ] No existing commands found in stream
[2026-08-29 19:24:27,802.802 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:24:27,804.804 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-08-29 19:24:28,418.418 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:24:28,420.420 INFO    ] Checking for system updates...
[2026-08-29 19:24:28,440.440 INFO    ] 200
[2026-08-29 19:24:28,442.442 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:24:28,475.475 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:24:28,476.476 INFO    ] No update needed
[2026-08-29 19:24:28,477.477 INFO    ] Checking for camera pi updates...
[2026-08-29 19:24:28,497.497 INFO    ] 200
[2026-08-29 19:24:28,499.499 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:24:28,523.523 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:24:28,635.635 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:24:28,637.637 INFO    ] No camera update needed
[2026-08-29 19:24:28,640.640 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:24:28,642.642 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:24:28,647.647 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:24:28,652.652 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:24:30,692.692 INFO    ] ================================================
[2026-08-29 19:24:30,707.707 INFO    ] Launching Daemon at Sat Aug 29 19:24:30 IST 2026
[2026-08-29 19:24:30,718.718 INFO    ] ================================================
[2026-08-29 19:24:31,381.381 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:24:31
[2026-08-29 19:24:31,933.933 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:24:32,269.269 INFO    ] Initializing speech engine...
[2026-08-29 19:24:32,281.281 INFO    ] 2026-08-29 19:24:32
[2026-08-29 19:24:32,576.576 INFO    ] 2026-08-29 19:24:32
[2026-08-29 19:24:32,639.639 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:24:32,869.869 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:24:32,879.879 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:24:33,018.018 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:24:33,058.058 INFO    ] time= 29/08/2026 19:24:33
[2026-08-29 19:24:33,118.118 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:24:33,158.158 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:24:33,288.288 INFO    ] No existing commands found in stream
[2026-08-29 19:24:38,317.317 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:24:38,320.320 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-08-29 19:24:40,276.276 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:24:40,277.277 INFO    ] Checking for system updates...
[2026-08-29 19:24:40,298.298 INFO    ] 200
[2026-08-29 19:24:40,299.299 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:24:40,329.329 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:24:40,330.330 INFO    ] No update needed
[2026-08-29 19:24:40,332.332 INFO    ] Checking for camera pi updates...
[2026-08-29 19:24:40,352.352 INFO    ] 200
[2026-08-29 19:24:40,353.353 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:24:40,376.376 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:24:40,475.475 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:24:40,477.477 INFO    ] No camera update needed
[2026-08-29 19:24:40,478.478 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:24:40,480.480 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:24:40,484.484 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:24:40,488.488 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:24:42,527.527 INFO    ] ================================================
[2026-08-29 19:24:42,542.542 INFO    ] Launching Daemon at Sat Aug 29 19:24:42 IST 2026
[2026-08-29 19:24:42,553.553 INFO    ] ================================================
[2026-08-29 19:24:43,136.136 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:24:43
[2026-08-29 19:24:43,698.698 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:24:43,844.844 INFO    ] Initializing speech engine...
[2026-08-29 19:24:43,848.848 INFO    ] 2026-08-29 19:24:43
[2026-08-29 19:24:44,063.063 INFO    ] 2026-08-29 19:24:44
[2026-08-29 19:24:44,142.142 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:24:44,291.291 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:24:44,300.300 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:24:44,432.432 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:24:44,480.480 INFO    ] time= 29/08/2026 19:24:44
[2026-08-29 19:24:44,539.539 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:24:44,566.566 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:24:44,620.620 INFO    ] No existing commands found in stream
[2026-08-29 19:24:49,632.632 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:24:49,635.635 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-08-29 19:24:53,221.221 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:24:53,223.223 INFO    ] Checking for system updates...
[2026-08-29 19:24:53,244.244 INFO    ] 200
[2026-08-29 19:24:53,245.245 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:24:53,275.275 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:24:53,276.276 INFO    ] No update needed
[2026-08-29 19:24:53,278.278 INFO    ] Checking for camera pi updates...
[2026-08-29 19:24:53,297.297 INFO    ] 200
[2026-08-29 19:24:53,298.298 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:24:53,323.323 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:24:53,411.411 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:24:53,413.413 INFO    ] No camera update needed
[2026-08-29 19:24:53,414.414 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:24:53,415.415 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:24:53,418.418 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:24:53,421.421 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:24:55,461.461 INFO    ] ================================================
[2026-08-29 19:24:55,476.476 INFO    ] Launching Daemon at Sat Aug 29 19:24:55 IST 2026
[2026-08-29 19:24:55,487.487 INFO    ] ================================================
[2026-08-29 19:24:55,852.852 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:24:55
[2026-08-29 19:24:56,164.164 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:24:56,307.307 INFO    ] Initializing speech engine...
[2026-08-29 19:24:56,312.312 INFO    ] 2026-08-29 19:24:56
[2026-08-29 19:24:56,523.523 INFO    ] 2026-08-29 19:24:56
[2026-08-29 19:24:56,554.554 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:24:56,670.670 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:24:56,675.675 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:24:56,828.828 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:24:56,835.835 INFO    ] time= 29/08/2026 19:24:56
[2026-08-29 19:24:56,889.889 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:24:56,938.938 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:24:57,011.011 INFO    ] No existing commands found in stream
[2026-08-29 19:25:02,025.025 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:25:02,028.028 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-08-29 19:25:06,208.208 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:25:06,211.211 INFO    ] Checking for system updates...
[2026-08-29 19:25:06,246.246 INFO    ] 200
[2026-08-29 19:25:06,248.248 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:25:06,302.302 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:25:06,304.304 INFO    ] No update needed
[2026-08-29 19:25:06,307.307 INFO    ] Checking for camera pi updates...
[2026-08-29 19:25:06,340.340 INFO    ] 200
[2026-08-29 19:25:06,343.343 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:25:06,384.384 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:25:06,477.477 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:25:06,480.480 INFO    ] No camera update needed
[2026-08-29 19:25:06,482.482 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:25:06,485.485 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:25:06,494.494 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:25:06,499.499 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:25:08,542.542 INFO    ] ================================================
[2026-08-29 19:25:08,557.557 INFO    ] Launching Daemon at Sat Aug 29 19:25:08 IST 2026
[2026-08-29 19:25:08,568.568 INFO    ] ================================================
[2026-08-29 19:25:09,134.134 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:25:09
[2026-08-29 19:25:09,464.464 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:25:09,707.707 INFO    ] Initializing speech engine...
[2026-08-29 19:25:09,714.714 INFO    ] 2026-08-29 19:25:09
[2026-08-29 19:25:10,014.014 INFO    ] 2026-08-29 19:25:09
[2026-08-29 19:25:10,049.049 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:25:10,200.200 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:25:10,206.206 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:25:10,359.359 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:25:10,370.370 INFO    ] time= 29/08/2026 19:25:10
[2026-08-29 19:25:10,374.374 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:25:10,379.379 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:25:10,446.446 INFO    ] No existing commands found in stream
[2026-08-29 19:25:15,457.457 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:25:15,459.459 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-08-29 19:25:15,982.982 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:25:15,984.984 INFO    ] Checking for system updates...
[2026-08-29 19:25:16,006.006 INFO    ] 200
[2026-08-29 19:25:16,008.008 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:25:16,040.040 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:25:16,041.041 INFO    ] No update needed
[2026-08-29 19:25:16,042.042 INFO    ] Checking for camera pi updates...
[2026-08-29 19:25:16,061.061 INFO    ] 200
[2026-08-29 19:25:16,063.063 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:25:16,089.089 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:25:16,165.165 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:25:16,166.166 INFO    ] No camera update needed
[2026-08-29 19:25:16,167.167 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:25:16,168.168 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:25:16,171.171 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:25:16,174.174 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:25:18,213.213 INFO    ] ================================================
[2026-08-29 19:25:18,228.228 INFO    ] Launching Daemon at Sat Aug 29 19:25:18 IST 2026
[2026-08-29 19:25:18,239.239 INFO    ] ================================================
[2026-08-29 19:25:18,614.614 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:25:18
[2026-08-29 19:25:18,932.932 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:25:19,080.080 INFO    ] Initializing speech engine...
[2026-08-29 19:25:19,098.098 INFO    ] 2026-08-29 19:25:19
[2026-08-29 19:25:19,357.357 INFO    ] 2026-08-29 19:25:19
[2026-08-29 19:25:19,416.416 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:25:19,567.567 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:25:19,587.587 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:25:19,712.712 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:25:19,720.720 INFO    ] time= 29/08/2026 19:25:19
[2026-08-29 19:25:19,728.728 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:25:19,772.772 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:25:19,879.879 INFO    ] No existing commands found in stream
[2026-08-29 19:25:24,904.904 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:25:24,907.907 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-08-29 19:25:28,128.128 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:25:28,130.130 INFO    ] Checking for system updates...
[2026-08-29 19:25:28,151.151 INFO    ] 200
[2026-08-29 19:25:28,152.152 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:25:28,183.183 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:25:28,184.184 INFO    ] No update needed
[2026-08-29 19:25:28,186.186 INFO    ] Checking for camera pi updates...
[2026-08-29 19:25:28,205.205 INFO    ] 200
[2026-08-29 19:25:28,206.206 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:25:28,231.231 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:25:28,308.308 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:25:28,311.311 INFO    ] No camera update needed
[2026-08-29 19:25:28,314.314 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:25:28,317.317 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:25:28,323.323 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:25:28,329.329 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:25:30,372.372 INFO    ] ================================================
[2026-08-29 19:25:30,387.387 INFO    ] Launching Daemon at Sat Aug 29 19:25:30 IST 2026
[2026-08-29 19:25:30,398.398 INFO    ] ================================================
[2026-08-29 19:25:30,978.978 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:25:30
[2026-08-29 19:25:31,530.530 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:25:31,835.835 INFO    ] Initializing speech engine...
[2026-08-29 19:25:31,861.861 INFO    ] 2026-08-29 19:25:31
[2026-08-29 19:25:32,159.159 INFO    ] 2026-08-29 19:25:32
[2026-08-29 19:25:32,200.200 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:25:32,426.426 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:25:32,441.441 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:25:32,573.573 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:25:32,581.581 INFO    ] time= 29/08/2026 19:25:32
[2026-08-29 19:25:32,586.586 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:25:32,606.606 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:25:32,692.692 INFO    ] No existing commands found in stream
[2026-08-29 19:25:37,718.718 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:25:37,721.721 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-08-29 19:25:38,483.483 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:25:38,485.485 INFO    ] Checking for system updates...
[2026-08-29 19:25:38,505.505 INFO    ] 200
[2026-08-29 19:25:38,507.507 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:25:38,539.539 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:25:38,540.540 INFO    ] No update needed
[2026-08-29 19:25:38,541.541 INFO    ] Checking for camera pi updates...
[2026-08-29 19:25:38,561.561 INFO    ] 200
[2026-08-29 19:25:38,563.563 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:25:38,586.586 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:25:38,673.673 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:25:38,675.675 INFO    ] No camera update needed
[2026-08-29 19:25:38,676.676 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:25:38,677.677 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:25:38,680.680 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:25:38,683.683 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:25:40,723.723 INFO    ] ================================================
[2026-08-29 19:25:40,738.738 INFO    ] Launching Daemon at Sat Aug 29 19:25:40 IST 2026
[2026-08-29 19:25:40,749.749 INFO    ] ================================================
[2026-08-29 19:25:41,353.353 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:25:41
[2026-08-29 19:25:42,032.032 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:25:42,342.342 INFO    ] Initializing speech engine...
[2026-08-29 19:25:42,356.356 INFO    ] 2026-08-29 19:25:42
[2026-08-29 19:25:42,671.671 INFO    ] 2026-08-29 19:25:42
[2026-08-29 19:25:42,761.761 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:25:42,921.921 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:25:42,926.926 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:25:43,061.061 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:25:43,114.114 INFO    ] time= 29/08/2026 19:25:43
[2026-08-29 19:25:43,179.179 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:25:43,202.202 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:25:43,299.299 INFO    ] No existing commands found in stream
[2026-08-29 19:25:48,330.330 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:25:48,334.334 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-08-29 19:25:50,891.891 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:25:50,893.893 INFO    ] Checking for system updates...
[2026-08-29 19:25:50,915.915 INFO    ] 200
[2026-08-29 19:25:50,916.916 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:25:50,948.948 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:25:50,950.950 INFO    ] No update needed
[2026-08-29 19:25:50,951.951 INFO    ] Checking for camera pi updates...
[2026-08-29 19:25:50,972.972 INFO    ] 200
[2026-08-29 19:25:50,973.973 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:25:50,996.996 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:25:51,094.094 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:25:51,095.095 INFO    ] No camera update needed
[2026-08-29 19:25:51,097.097 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:25:51,098.098 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:25:51,101.101 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:25:51,104.104 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:25:53,143.143 INFO    ] ================================================
[2026-08-29 19:25:53,158.158 INFO    ] Launching Daemon at Sat Aug 29 19:25:53 IST 2026
[2026-08-29 19:25:53,170.170 INFO    ] ================================================
[2026-08-29 19:25:53,506.506 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:25:53
[2026-08-29 19:25:53,817.817 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:25:53,952.952 INFO    ] Initializing speech engine...
[2026-08-29 19:25:53,955.955 INFO    ] 2026-08-29 19:25:53
[2026-08-29 19:25:54,146.146 INFO    ] 2026-08-29 19:25:54
[2026-08-29 19:25:54,193.193 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:25:54,314.314 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:25:54,317.317 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:25:54,437.437 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:25:54,452.452 INFO    ] time= 29/08/2026 19:25:54
[2026-08-29 19:25:54,457.457 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:25:54,462.462 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:25:54,542.542 INFO    ] No existing commands found in stream
[2026-08-29 19:25:59,567.567 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:25:59,570.570 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-08-29 19:26:02,396.396 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:26:02,400.400 INFO    ] Checking for system updates...
[2026-08-29 19:26:02,443.443 INFO    ] 200
[2026-08-29 19:26:02,445.445 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:26:02,515.515 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:26:02,518.518 INFO    ] No update needed
[2026-08-29 19:26:02,521.521 INFO    ] Checking for camera pi updates...
[2026-08-29 19:26:02,561.561 INFO    ] 200
[2026-08-29 19:26:02,564.564 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:26:02,614.614 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:26:02,705.705 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:26:02,707.707 INFO    ] No camera update needed
[2026-08-29 19:26:02,709.709 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:26:02,712.712 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:26:02,719.719 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:26:02,727.727 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:26:04,768.768 INFO    ] ================================================
[2026-08-29 19:26:04,783.783 INFO    ] Launching Daemon at Sat Aug 29 19:26:04 IST 2026
[2026-08-29 19:26:04,794.794 INFO    ] ================================================
[2026-08-29 19:26:05,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:26:05
[2026-08-29 19:26:05,482.482 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:26:05,620.620 INFO    ] Initializing speech engine...
[2026-08-29 19:26:05,631.631 INFO    ] 2026-08-29 19:26:05
[2026-08-29 19:26:05,836.836 INFO    ] 2026-08-29 19:26:05
[2026-08-29 19:26:05,866.866 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:26:05,994.994 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:26:05,997.997 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:26:06,092.092 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:26:06,136.136 INFO    ] time= 29/08/2026 19:26:06
[2026-08-29 19:26:06,168.168 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:26:06,174.174 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:26:06,284.284 INFO    ] No existing commands found in stream
[2026-08-29 19:26:11,319.319 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:26:11,322.322 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-08-29 19:26:14,990.990 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:26:14,992.992 INFO    ] Checking for system updates...
[2026-08-29 19:26:15,013.013 INFO    ] 200
[2026-08-29 19:26:15,015.015 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:26:15,045.045 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:26:15,046.046 INFO    ] No update needed
[2026-08-29 19:26:15,048.048 INFO    ] Checking for camera pi updates...
[2026-08-29 19:26:15,067.067 INFO    ] 200
[2026-08-29 19:26:15,069.069 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:26:15,093.093 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:26:15,187.187 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:26:15,188.188 INFO    ] No camera update needed
[2026-08-29 19:26:15,190.190 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:26:15,191.191 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:26:15,194.194 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:26:15,197.197 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:26:17,237.237 INFO    ] ================================================
[2026-08-29 19:26:17,254.254 INFO    ] Launching Daemon at Sat Aug 29 19:26:17 IST 2026
[2026-08-29 19:26:17,265.265 INFO    ] ================================================
[2026-08-29 19:26:17,595.595 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:26:17
[2026-08-29 19:26:17,907.907 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:26:18,050.050 INFO    ] Initializing speech engine...
[2026-08-29 19:26:18,055.055 INFO    ] 2026-08-29 19:26:18
[2026-08-29 19:26:18,257.257 INFO    ] 2026-08-29 19:26:18
[2026-08-29 19:26:18,285.285 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:26:18,407.407 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:26:18,449.449 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:26:18,598.598 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:26:18,665.665 INFO    ] time= 29/08/2026 19:26:18
[2026-08-29 19:26:18,696.696 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:26:18,703.703 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:26:18,769.769 INFO    ] No existing commands found in stream
[2026-08-29 19:26:23,779.779 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:26:23,782.782 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-08-29 19:26:26,359.359 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:26:26,360.360 INFO    ] Checking for system updates...
[2026-08-29 19:26:26,382.382 INFO    ] 200
[2026-08-29 19:26:26,383.383 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:26:26,416.416 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:26:26,417.417 INFO    ] No update needed
[2026-08-29 19:26:26,418.418 INFO    ] Checking for camera pi updates...
[2026-08-29 19:26:26,437.437 INFO    ] 200
[2026-08-29 19:26:26,439.439 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:26:26,462.462 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:26:26,538.538 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:26:26,539.539 INFO    ] No camera update needed
[2026-08-29 19:26:26,541.541 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:26:26,542.542 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:26:26,545.545 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:26:26,548.548 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:26:28,588.588 INFO    ] ================================================
[2026-08-29 19:26:28,604.604 INFO    ] Launching Daemon at Sat Aug 29 19:26:28 IST 2026
[2026-08-29 19:26:28,614.614 INFO    ] ================================================
[2026-08-29 19:26:28,995.995 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:26:28
[2026-08-29 19:26:29,417.417 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:26:29,732.732 INFO    ] Initializing speech engine...
[2026-08-29 19:26:29,743.743 INFO    ] 2026-08-29 19:26:29
[2026-08-29 19:26:30,057.057 INFO    ] 2026-08-29 19:26:30
[2026-08-29 19:26:30,142.142 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:26:30,298.298 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:26:30,304.304 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:26:30,436.436 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:26:30,484.484 INFO    ] time= 29/08/2026 19:26:30
[2026-08-29 19:26:30,534.534 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:26:30,572.572 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:26:30,648.648 INFO    ] No existing commands found in stream
[2026-08-29 19:26:35,691.691 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:26:35,695.695 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-08-29 19:26:38,898.898 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:26:38,901.901 INFO    ] Checking for system updates...
[2026-08-29 19:26:38,938.938 INFO    ] 200
[2026-08-29 19:26:38,941.941 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:26:38,997.997 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:26:38,999.999 INFO    ] No update needed
[2026-08-29 19:26:39,002.002 INFO    ] Checking for camera pi updates...
[2026-08-29 19:26:39,042.042 INFO    ] 200
[2026-08-29 19:26:39,045.045 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:26:39,087.087 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:26:39,275.275 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:26:39,278.278 INFO    ] No camera update needed
[2026-08-29 19:26:39,280.280 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:26:39,283.283 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:26:39,290.290 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:26:39,296.296 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:26:41,336.336 INFO    ] ================================================
[2026-08-29 19:26:41,352.352 INFO    ] Launching Daemon at Sat Aug 29 19:26:41 IST 2026
[2026-08-29 19:26:41,364.364 INFO    ] ================================================
[2026-08-29 19:26:41,713.713 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:26:41
[2026-08-29 19:26:42,028.028 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:26:42,164.164 INFO    ] Initializing speech engine...
[2026-08-29 19:26:42,172.172 INFO    ] 2026-08-29 19:26:42
[2026-08-29 19:26:42,371.371 INFO    ] 2026-08-29 19:26:42
[2026-08-29 19:26:42,410.410 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:26:42,561.561 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:26:42,569.569 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:26:42,724.724 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:26:42,734.734 INFO    ] time= 29/08/2026 19:26:42
[2026-08-29 19:26:42,738.738 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:26:42,744.744 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:26:42,813.813 INFO    ] No existing commands found in stream
[2026-08-29 19:26:47,826.826 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:26:47,829.829 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 19:26:49,836.836 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:26:49,838.838 INFO    ] Checking for system updates...
[2026-08-29 19:26:49,858.858 INFO    ] 200
[2026-08-29 19:26:49,859.859 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:26:49,892.892 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:26:49,893.893 INFO    ] No update needed
[2026-08-29 19:26:49,895.895 INFO    ] Checking for camera pi updates...
[2026-08-29 19:26:49,914.914 INFO    ] 200
[2026-08-29 19:26:49,915.915 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:26:49,938.938 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:26:50,023.023 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:26:50,024.024 INFO    ] No camera update needed
[2026-08-29 19:26:50,025.025 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:26:50,027.027 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:26:50,029.029 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:26:50,032.032 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:26:52,072.072 INFO    ] ================================================
[2026-08-29 19:26:52,087.087 INFO    ] Launching Daemon at Sat Aug 29 19:26:52 IST 2026
[2026-08-29 19:26:52,098.098 INFO    ] ================================================
[2026-08-29 19:26:52,475.475 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:26:52
[2026-08-29 19:26:52,815.815 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:26:52,957.957 INFO    ] Initializing speech engine...
[2026-08-29 19:26:52,969.969 INFO    ] 2026-08-29 19:26:52
[2026-08-29 19:26:53,181.181 INFO    ] 2026-08-29 19:26:53
[2026-08-29 19:26:53,210.210 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:26:53,385.385 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:26:53,396.396 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:26:53,531.531 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:26:53,553.553 INFO    ] time= 29/08/2026 19:26:53
[2026-08-29 19:26:53,580.580 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:26:53,589.589 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:26:53,688.688 INFO    ] No existing commands found in stream
[2026-08-29 19:26:58,702.702 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:26:58,706.706 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 19:27:01,052.052 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:27:01,053.053 INFO    ] Checking for system updates...
[2026-08-29 19:27:01,075.075 INFO    ] 200
[2026-08-29 19:27:01,077.077 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:27:01,112.112 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:27:01,114.114 INFO    ] No update needed
[2026-08-29 19:27:01,115.115 INFO    ] Checking for camera pi updates...
[2026-08-29 19:27:01,139.139 INFO    ] 200
[2026-08-29 19:27:01,140.140 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:27:01,166.166 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:27:01,241.241 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:27:01,242.242 INFO    ] No camera update needed
[2026-08-29 19:27:01,244.244 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:27:01,245.245 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:27:01,248.248 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:27:01,251.251 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:27:03,299.299 INFO    ] ================================================
[2026-08-29 19:27:03,318.318 INFO    ] Launching Daemon at Sat Aug 29 19:27:03 IST 2026
[2026-08-29 19:27:03,330.330 INFO    ] ================================================
[2026-08-29 19:27:03,964.964 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:27:03
[2026-08-29 19:27:04,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:27:04,845.845 INFO    ] Initializing speech engine...
[2026-08-29 19:27:04,851.851 INFO    ] 2026-08-29 19:27:04
[2026-08-29 19:27:05,109.109 INFO    ] 2026-08-29 19:27:05
[2026-08-29 19:27:05,148.148 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:27:05,349.349 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:27:05,356.356 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:27:05,467.467 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:27:05,473.473 INFO    ] time= 29/08/2026 19:27:05
[2026-08-29 19:27:05,484.484 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:27:05,488.488 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:27:05,550.550 INFO    ] No existing commands found in stream
[2026-08-29 19:27:10,559.559 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:27:10,562.562 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-08-29 19:27:12,361.361 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:27:12,363.363 INFO    ] Checking for system updates...
[2026-08-29 19:27:12,383.383 INFO    ] 200
[2026-08-29 19:27:12,384.384 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:27:12,416.416 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:27:12,417.417 INFO    ] No update needed
[2026-08-29 19:27:12,419.419 INFO    ] Checking for camera pi updates...
[2026-08-29 19:27:12,438.438 INFO    ] 200
[2026-08-29 19:27:12,439.439 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:27:12,462.462 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:27:12,560.560 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:27:12,561.561 INFO    ] No camera update needed
[2026-08-29 19:27:12,563.563 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:27:12,564.564 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:27:12,567.567 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:27:12,570.570 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:27:14,609.609 INFO    ] ================================================
[2026-08-29 19:27:14,626.626 INFO    ] Launching Daemon at Sat Aug 29 19:27:14 IST 2026
[2026-08-29 19:27:14,639.639 INFO    ] ================================================
[2026-08-29 19:27:15,180.180 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:27:15
[2026-08-29 19:27:15,781.781 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:27:16,064.064 INFO    ] Initializing speech engine...
[2026-08-29 19:27:16,070.070 INFO    ] 2026-08-29 19:27:16
[2026-08-29 19:27:16,319.319 INFO    ] 2026-08-29 19:27:16
[2026-08-29 19:27:16,356.356 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:27:16,526.526 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:27:16,540.540 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:27:16,683.683 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:27:16,691.691 INFO    ] time= 29/08/2026 19:27:16
[2026-08-29 19:27:16,695.695 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:27:16,701.701 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:27:16,765.765 INFO    ] No existing commands found in stream
[2026-08-29 19:27:21,778.778 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:27:21,780.780 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 19:27:24,283.283 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:27:24,284.284 INFO    ] Checking for system updates...
[2026-08-29 19:27:24,307.307 INFO    ] 200
[2026-08-29 19:27:24,308.308 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:27:24,345.345 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:27:24,347.347 INFO    ] No update needed
[2026-08-29 19:27:24,350.350 INFO    ] Checking for camera pi updates...
[2026-08-29 19:27:24,388.388 INFO    ] 200
[2026-08-29 19:27:24,390.390 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:27:24,436.436 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:27:24,535.535 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:27:24,537.537 INFO    ] No camera update needed
[2026-08-29 19:27:24,540.540 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:27:24,542.542 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:27:24,548.548 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:27:24,553.553 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:27:26,595.595 INFO    ] ================================================
[2026-08-29 19:27:26,610.610 INFO    ] Launching Daemon at Sat Aug 29 19:27:26 IST 2026
[2026-08-29 19:27:26,621.621 INFO    ] ================================================
[2026-08-29 19:27:27,191.191 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:27:27
[2026-08-29 19:27:27,628.628 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:27:27,765.765 INFO    ] Initializing speech engine...
[2026-08-29 19:27:27,778.778 INFO    ] 2026-08-29 19:27:27
[2026-08-29 19:27:28,000.000 INFO    ] 2026-08-29 19:27:27
[2026-08-29 19:27:28,031.031 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:27:28,164.164 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:27:28,188.188 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:27:28,324.324 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:27:28,375.375 INFO    ] time= 29/08/2026 19:27:28
[2026-08-29 19:27:28,402.402 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:27:28,464.464 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:27:28,565.565 INFO    ] No existing commands found in stream
[2026-08-29 19:27:33,575.575 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:27:33,578.578 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-08-29 19:27:35,514.514 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:27:35,517.517 INFO    ] Checking for system updates...
[2026-08-29 19:27:35,554.554 INFO    ] 200
[2026-08-29 19:27:35,557.557 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:27:35,609.609 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:27:35,611.611 INFO    ] No update needed
[2026-08-29 19:27:35,614.614 INFO    ] Checking for camera pi updates...
[2026-08-29 19:27:35,636.636 INFO    ] 200
[2026-08-29 19:27:35,637.637 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:27:35,662.662 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:27:35,752.752 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:27:35,753.753 INFO    ] No camera update needed
[2026-08-29 19:27:35,755.755 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:27:35,756.756 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:27:35,759.759 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:27:35,761.761 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:27:37,800.800 INFO    ] ================================================
[2026-08-29 19:27:37,815.815 INFO    ] Launching Daemon at Sat Aug 29 19:27:37 IST 2026
[2026-08-29 19:27:37,827.827 INFO    ] ================================================
[2026-08-29 19:27:38,195.195 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:27:38
[2026-08-29 19:27:38,512.512 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:27:38,656.656 INFO    ] Initializing speech engine...
[2026-08-29 19:27:38,661.661 INFO    ] 2026-08-29 19:27:38
[2026-08-29 19:27:38,852.852 INFO    ] 2026-08-29 19:27:38
[2026-08-29 19:27:38,906.906 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:27:39,128.128 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:27:39,137.137 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:27:39,272.272 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:27:39,308.308 INFO    ] time= 29/08/2026 19:27:39
[2026-08-29 19:27:39,362.362 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:27:39,404.404 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:27:39,457.457 INFO    ] No existing commands found in stream
[2026-08-29 19:27:44,469.469 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:27:44,472.472 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-08-29 19:27:45,206.206 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:27:45,207.207 INFO    ] Checking for system updates...
[2026-08-29 19:27:45,228.228 INFO    ] 200
[2026-08-29 19:27:45,229.229 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:27:45,259.259 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:27:45,260.260 INFO    ] No update needed
[2026-08-29 19:27:45,262.262 INFO    ] Checking for camera pi updates...
[2026-08-29 19:27:45,281.281 INFO    ] 200
[2026-08-29 19:27:45,283.283 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:27:45,305.305 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:27:45,387.387 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:27:45,388.388 INFO    ] No camera update needed
[2026-08-29 19:27:45,390.390 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:27:45,391.391 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:27:45,394.394 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:27:45,397.397 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:27:47,437.437 INFO    ] ================================================
[2026-08-29 19:27:47,454.454 INFO    ] Launching Daemon at Sat Aug 29 19:27:47 IST 2026
[2026-08-29 19:27:47,465.465 INFO    ] ================================================
[2026-08-29 19:27:47,857.857 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:27:47
[2026-08-29 19:27:48,175.175 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:27:48,319.319 INFO    ] Initializing speech engine...
[2026-08-29 19:27:48,324.324 INFO    ] 2026-08-29 19:27:48
[2026-08-29 19:27:48,542.542 INFO    ] 2026-08-29 19:27:48
[2026-08-29 19:27:48,626.626 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:27:48,774.774 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:27:48,783.783 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:27:48,918.918 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:27:48,958.958 INFO    ] time= 29/08/2026 19:27:48
[2026-08-29 19:27:49,018.018 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:27:49,052.052 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:27:49,106.106 INFO    ] No existing commands found in stream
[2026-08-29 19:27:54,118.118 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:27:54,121.121 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-08-29 19:27:56,525.525 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:27:56,527.527 INFO    ] Checking for system updates...
[2026-08-29 19:27:56,547.547 INFO    ] 200
[2026-08-29 19:27:56,549.549 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:27:56,580.580 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:27:56,581.581 INFO    ] No update needed
[2026-08-29 19:27:56,583.583 INFO    ] Checking for camera pi updates...
[2026-08-29 19:27:56,604.604 INFO    ] 200
[2026-08-29 19:27:56,605.605 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:27:56,630.630 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:27:56,725.725 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:27:56,727.727 INFO    ] No camera update needed
[2026-08-29 19:27:56,728.728 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:27:56,729.729 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:27:56,733.733 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:27:56,736.736 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:27:58,776.776 INFO    ] ================================================
[2026-08-29 19:27:58,791.791 INFO    ] Launching Daemon at Sat Aug 29 19:27:58 IST 2026
[2026-08-29 19:27:58,802.802 INFO    ] ================================================
[2026-08-29 19:27:59,151.151 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:27:59
[2026-08-29 19:27:59,681.681 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:27:59,968.968 INFO    ] Initializing speech engine...
[2026-08-29 19:27:59,978.978 INFO    ] 2026-08-29 19:27:59
[2026-08-29 19:28:00,246.246 INFO    ] 2026-08-29 19:28:00
[2026-08-29 19:28:00,286.286 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:28:00,481.481 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:28:00,486.486 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:28:00,597.597 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:28:00,603.603 INFO    ] time= 29/08/2026 19:28:00
[2026-08-29 19:28:00,612.612 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:28:00,629.629 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:28:00,680.680 INFO    ] No existing commands found in stream
[2026-08-29 19:28:05,690.690 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:28:05,693.693 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-08-29 19:28:09,326.326 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:28:09,327.327 INFO    ] Checking for system updates...
[2026-08-29 19:28:09,347.347 INFO    ] 200
[2026-08-29 19:28:09,349.349 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:28:09,380.380 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:28:09,382.382 INFO    ] No update needed
[2026-08-29 19:28:09,383.383 INFO    ] Checking for camera pi updates...
[2026-08-29 19:28:09,402.402 INFO    ] 200
[2026-08-29 19:28:09,404.404 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:28:09,426.426 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:28:09,502.502 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:28:09,504.504 INFO    ] No camera update needed
[2026-08-29 19:28:09,505.505 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:28:09,506.506 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:28:09,509.509 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:28:09,512.512 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:28:11,550.550 INFO    ] ================================================
[2026-08-29 19:28:11,565.565 INFO    ] Launching Daemon at Sat Aug 29 19:28:11 IST 2026
[2026-08-29 19:28:11,575.575 INFO    ] ================================================
[2026-08-29 19:28:11,926.926 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:28:11
[2026-08-29 19:28:12,239.239 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:28:12,512.512 INFO    ] Initializing speech engine...
[2026-08-29 19:28:12,521.521 INFO    ] 2026-08-29 19:28:12
[2026-08-29 19:28:12,774.774 INFO    ] 2026-08-29 19:28:12
[2026-08-29 19:28:12,809.809 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:28:12,983.983 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:28:12,989.989 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:28:13,126.126 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:28:13,146.146 INFO    ] time= 29/08/2026 19:28:13
[2026-08-29 19:28:13,154.154 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:28:13,161.161 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:28:13,226.226 INFO    ] No existing commands found in stream
[2026-08-29 19:28:18,238.238 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:28:18,241.241 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-08-29 19:28:21,803.803 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:28:21,804.804 INFO    ] Checking for system updates...
[2026-08-29 19:28:21,824.824 INFO    ] 200
[2026-08-29 19:28:21,826.826 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:28:21,855.855 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:28:21,856.856 INFO    ] No update needed
[2026-08-29 19:28:21,858.858 INFO    ] Checking for camera pi updates...
[2026-08-29 19:28:21,879.879 INFO    ] 200
[2026-08-29 19:28:21,880.880 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:28:21,905.905 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:28:22,007.007 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:28:22,008.008 INFO    ] No camera update needed
[2026-08-29 19:28:22,009.009 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:28:22,010.010 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:28:22,013.013 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:28:22,016.016 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:28:24,056.056 INFO    ] ================================================
[2026-08-29 19:28:24,072.072 INFO    ] Launching Daemon at Sat Aug 29 19:28:24 IST 2026
[2026-08-29 19:28:24,082.082 INFO    ] ================================================
[2026-08-29 19:28:24,438.438 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:28:24
[2026-08-29 19:28:24,777.777 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:28:24,934.934 INFO    ] Initializing speech engine...
[2026-08-29 19:28:24,938.938 INFO    ] 2026-08-29 19:28:24
[2026-08-29 19:28:25,144.144 INFO    ] 2026-08-29 19:28:25
[2026-08-29 19:28:25,174.174 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:28:25,297.297 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:28:25,360.360 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:28:25,492.492 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:28:25,553.553 INFO    ] time= 29/08/2026 19:28:25
[2026-08-29 19:28:25,588.588 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:28:25,594.594 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:28:25,665.665 INFO    ] No existing commands found in stream
[2026-08-29 19:28:30,676.676 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:28:30,679.679 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-08-29 19:28:34,448.448 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:28:34,451.451 INFO    ] Checking for system updates...
[2026-08-29 19:28:34,488.488 INFO    ] 200
[2026-08-29 19:28:34,491.491 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:28:34,543.543 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:28:34,545.545 INFO    ] No update needed
[2026-08-29 19:28:34,548.548 INFO    ] Checking for camera pi updates...
[2026-08-29 19:28:34,585.585 INFO    ] 200
[2026-08-29 19:28:34,587.587 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:28:34,628.628 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:28:34,730.730 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:28:34,733.733 INFO    ] No camera update needed
[2026-08-29 19:28:34,735.735 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:28:34,737.737 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:28:34,742.742 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:28:34,747.747 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:28:36,787.787 INFO    ] ================================================
[2026-08-29 19:28:36,802.802 INFO    ] Launching Daemon at Sat Aug 29 19:28:36 IST 2026
[2026-08-29 19:28:36,812.812 INFO    ] ================================================
[2026-08-29 19:28:37,391.391 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:28:37
[2026-08-29 19:28:38,019.019 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:28:38,291.291 INFO    ] Initializing speech engine...
[2026-08-29 19:28:38,300.300 INFO    ] 2026-08-29 19:28:38
[2026-08-29 19:28:38,550.550 INFO    ] 2026-08-29 19:28:38
[2026-08-29 19:28:38,584.584 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:28:38,762.762 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:28:38,776.776 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:28:38,890.890 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:28:38,909.909 INFO    ] time= 29/08/2026 19:28:38
[2026-08-29 19:28:38,929.929 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:28:38,937.937 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:28:39,006.006 INFO    ] No existing commands found in stream
[2026-08-29 19:28:44,019.019 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:28:44,021.021 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 19:28:47,513.513 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:28:47,515.515 INFO    ] Checking for system updates...
[2026-08-29 19:28:47,535.535 INFO    ] 200
[2026-08-29 19:28:47,537.537 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:28:47,569.569 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:28:47,570.570 INFO    ] No update needed
[2026-08-29 19:28:47,571.571 INFO    ] Checking for camera pi updates...
[2026-08-29 19:28:47,592.592 INFO    ] 200
[2026-08-29 19:28:47,593.593 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:28:47,616.616 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:28:47,808.808 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:28:47,809.809 INFO    ] No camera update needed
[2026-08-29 19:28:47,810.810 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:28:47,812.812 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:28:47,815.815 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:28:47,817.817 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:28:49,856.856 INFO    ] ================================================
[2026-08-29 19:28:49,871.871 INFO    ] Launching Daemon at Sat Aug 29 19:28:49 IST 2026
[2026-08-29 19:28:49,882.882 INFO    ] ================================================
[2026-08-29 19:28:50,419.419 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:28:50
[2026-08-29 19:28:51,095.095 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:28:51,395.395 INFO    ] Initializing speech engine...
[2026-08-29 19:28:51,401.401 INFO    ] 2026-08-29 19:28:51
[2026-08-29 19:28:51,655.655 INFO    ] 2026-08-29 19:28:51
[2026-08-29 19:28:51,685.685 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:28:51,871.871 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:28:51,878.878 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:28:52,005.005 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:28:52,010.010 INFO    ] time= 29/08/2026 19:28:52
[2026-08-29 19:28:52,016.016 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:28:52,036.036 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:28:52,165.165 INFO    ] No existing commands found in stream
[2026-08-29 19:28:57,190.190 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:28:57,193.193 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 19:28:57,741.741 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:28:57,742.742 INFO    ] Checking for system updates...
[2026-08-29 19:28:57,763.763 INFO    ] 200
[2026-08-29 19:28:57,765.765 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:28:57,797.797 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:28:57,798.798 INFO    ] No update needed
[2026-08-29 19:28:57,800.800 INFO    ] Checking for camera pi updates...
[2026-08-29 19:28:57,822.822 INFO    ] 200
[2026-08-29 19:28:57,823.823 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:28:57,847.847 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:28:57,943.943 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:28:57,944.944 INFO    ] No camera update needed
[2026-08-29 19:28:57,945.945 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:28:57,947.947 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:28:57,950.950 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:28:57,953.953 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:28:59,991.991 INFO    ] ================================================
[2026-08-29 19:29:00,006.006 INFO    ] Launching Daemon at Sat Aug 29 19:29:00 IST 2026
[2026-08-29 19:29:00,017.017 INFO    ] ================================================
[2026-08-29 19:29:00,344.344 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:29:00
[2026-08-29 19:29:00,657.657 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:29:00,795.795 INFO    ] Initializing speech engine...
[2026-08-29 19:29:00,805.805 INFO    ] 2026-08-29 19:29:00
[2026-08-29 19:29:01,009.009 INFO    ] 2026-08-29 19:29:00
[2026-08-29 19:29:01,037.037 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:29:01,158.158 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:29:01,201.201 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:29:01,350.350 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:29:01,401.401 INFO    ] time= 29/08/2026 19:29:01
[2026-08-29 19:29:01,445.445 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:29:01,498.498 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:29:01,571.571 INFO    ] No existing commands found in stream
[2026-08-29 19:29:06,599.599 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:29:06,602.602 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-08-29 19:29:08,242.242 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:29:08,243.243 INFO    ] Checking for system updates...
[2026-08-29 19:29:08,264.264 INFO    ] 200
[2026-08-29 19:29:08,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:29:08,296.296 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:29:08,297.297 INFO    ] No update needed
[2026-08-29 19:29:08,299.299 INFO    ] Checking for camera pi updates...
[2026-08-29 19:29:08,321.321 INFO    ] 200
[2026-08-29 19:29:08,323.323 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:29:08,346.346 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:29:08,421.421 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:29:08,423.423 INFO    ] No camera update needed
[2026-08-29 19:29:08,424.424 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:29:08,426.426 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:29:08,429.429 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:29:08,432.432 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:29:10,472.472 INFO    ] ================================================
[2026-08-29 19:29:10,487.487 INFO    ] Launching Daemon at Sat Aug 29 19:29:10 IST 2026
[2026-08-29 19:29:10,498.498 INFO    ] ================================================
[2026-08-29 19:29:10,847.847 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:29:10
[2026-08-29 19:29:11,158.158 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:29:11,291.291 INFO    ] Initializing speech engine...
[2026-08-29 19:29:11,303.303 INFO    ] 2026-08-29 19:29:11
[2026-08-29 19:29:11,511.511 INFO    ] 2026-08-29 19:29:11
[2026-08-29 19:29:11,540.540 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:29:11,672.672 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:29:11,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:29:11,858.858 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:29:11,903.903 INFO    ] time= 29/08/2026 19:29:11
[2026-08-29 19:29:11,920.920 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:29:11,935.935 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:29:12,025.025 INFO    ] No existing commands found in stream
[2026-08-29 19:29:17,050.050 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:29:17,053.053 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-08-29 19:29:18,257.257 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:29:18,259.259 INFO    ] Checking for system updates...
[2026-08-29 19:29:18,280.280 INFO    ] 200
[2026-08-29 19:29:18,281.281 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:29:18,314.314 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:29:18,315.315 INFO    ] No update needed
[2026-08-29 19:29:18,316.316 INFO    ] Checking for camera pi updates...
[2026-08-29 19:29:18,335.335 INFO    ] 200
[2026-08-29 19:29:18,337.337 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:29:18,359.359 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:29:18,438.438 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:29:18,440.440 INFO    ] No camera update needed
[2026-08-29 19:29:18,441.441 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:29:18,442.442 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:29:18,445.445 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:29:18,448.448 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:29:20,489.489 INFO    ] ================================================
[2026-08-29 19:29:20,505.505 INFO    ] Launching Daemon at Sat Aug 29 19:29:20 IST 2026
[2026-08-29 19:29:20,515.515 INFO    ] ================================================
[2026-08-29 19:29:20,866.866 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:29:20
[2026-08-29 19:29:21,323.323 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:29:21,598.598 INFO    ] Initializing speech engine...
[2026-08-29 19:29:21,607.607 INFO    ] 2026-08-29 19:29:21
[2026-08-29 19:29:21,857.857 INFO    ] 2026-08-29 19:29:21
[2026-08-29 19:29:21,892.892 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:29:22,066.066 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:29:22,089.089 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:29:22,222.222 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:29:22,230.230 INFO    ] time= 29/08/2026 19:29:22
[2026-08-29 19:29:22,235.235 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:29:22,241.241 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:29:22,305.305 INFO    ] No existing commands found in stream
[2026-08-29 19:29:27,318.318 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:29:27,326.326 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-08-29 19:29:29,370.370 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:29:29,372.372 INFO    ] Checking for system updates...
[2026-08-29 19:29:29,392.392 INFO    ] 200
[2026-08-29 19:29:29,394.394 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:29:29,425.425 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:29:29,426.426 INFO    ] No update needed
[2026-08-29 19:29:29,428.428 INFO    ] Checking for camera pi updates...
[2026-08-29 19:29:29,447.447 INFO    ] 200
[2026-08-29 19:29:29,448.448 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:29:29,473.473 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:29:29,518.518 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:29:29,520.520 INFO    ] No camera update needed
[2026-08-29 19:29:29,521.521 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:29:29,522.522 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:29:29,526.526 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:29:29,529.529 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:29:31,568.568 INFO    ] ================================================
[2026-08-29 19:29:31,583.583 INFO    ] Launching Daemon at Sat Aug 29 19:29:31 IST 2026
[2026-08-29 19:29:31,594.594 INFO    ] ================================================
[2026-08-29 19:29:32,229.229 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:29:32
[2026-08-29 19:29:32,941.941 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:29:33,229.229 INFO    ] Initializing speech engine...
[2026-08-29 19:29:33,236.236 INFO    ] 2026-08-29 19:29:33
[2026-08-29 19:29:33,493.493 INFO    ] 2026-08-29 19:29:33
[2026-08-29 19:29:33,524.524 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:29:33,689.689 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:29:33,701.701 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:29:33,843.843 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:29:33,849.849 INFO    ] time= 29/08/2026 19:29:33
[2026-08-29 19:29:33,857.857 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:29:33,896.896 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:29:34,019.019 INFO    ] No existing commands found in stream
[2026-08-29 19:29:39,049.049 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:29:39,052.052 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 19:29:39,580.580 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:29:39,582.582 INFO    ] Checking for system updates...
[2026-08-29 19:29:39,603.603 INFO    ] 200
[2026-08-29 19:29:39,604.604 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:29:39,636.636 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:29:39,637.637 INFO    ] No update needed
[2026-08-29 19:29:39,638.638 INFO    ] Checking for camera pi updates...
[2026-08-29 19:29:39,658.658 INFO    ] 200
[2026-08-29 19:29:39,659.659 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:29:39,686.686 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:29:39,783.783 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:29:39,784.784 INFO    ] No camera update needed
[2026-08-29 19:29:39,786.786 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:29:39,787.787 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:29:39,790.790 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:29:39,792.792 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:29:41,833.833 INFO    ] ================================================
[2026-08-29 19:29:41,849.849 INFO    ] Launching Daemon at Sat Aug 29 19:29:41 IST 2026
[2026-08-29 19:29:41,860.860 INFO    ] ================================================
[2026-08-29 19:29:42,233.233 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:29:42
[2026-08-29 19:29:42,567.567 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:29:42,734.734 INFO    ] Initializing speech engine...
[2026-08-29 19:29:42,743.743 INFO    ] 2026-08-29 19:29:42
[2026-08-29 19:29:43,017.017 INFO    ] 2026-08-29 19:29:43
[2026-08-29 19:29:43,079.079 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:29:43,308.308 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:29:43,318.318 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:29:43,454.454 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:29:43,487.487 INFO    ] time= 29/08/2026 19:29:43
[2026-08-29 19:29:43,552.552 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:29:43,595.595 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:29:43,651.651 INFO    ] No existing commands found in stream
[2026-08-29 19:29:48,664.664 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:29:48,667.667 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-08-29 19:29:51,751.751 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:29:51,752.752 INFO    ] Checking for system updates...
[2026-08-29 19:29:51,774.774 INFO    ] 200
[2026-08-29 19:29:51,775.775 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:29:51,807.807 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:29:51,809.809 INFO    ] No update needed
[2026-08-29 19:29:51,810.810 INFO    ] Checking for camera pi updates...
[2026-08-29 19:29:51,833.833 INFO    ] 200
[2026-08-29 19:29:51,835.835 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:29:51,860.860 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:29:51,957.957 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:29:51,958.958 INFO    ] No camera update needed
[2026-08-29 19:29:51,960.960 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:29:51,961.961 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:29:51,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:29:51,968.968 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:29:54,007.007 INFO    ] ================================================
[2026-08-29 19:29:54,023.023 INFO    ] Launching Daemon at Sat Aug 29 19:29:54 IST 2026
[2026-08-29 19:29:54,034.034 INFO    ] ================================================
[2026-08-29 19:29:54,373.373 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:29:54
[2026-08-29 19:29:54,711.711 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:29:54,861.861 INFO    ] Initializing speech engine...
[2026-08-29 19:29:54,867.867 INFO    ] 2026-08-29 19:29:54
[2026-08-29 19:29:55,070.070 INFO    ] 2026-08-29 19:29:55
[2026-08-29 19:29:55,143.143 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:29:55,318.318 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:29:55,323.323 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:29:55,501.501 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:29:55,556.556 INFO    ] time= 29/08/2026 19:29:55
[2026-08-29 19:29:55,574.574 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:29:55,586.586 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:29:55,712.712 INFO    ] No existing commands found in stream
[2026-08-29 19:30:00,726.726 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:30:00,729.729 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-08-29 19:30:02,758.758 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:30:02,763.763 INFO    ] Checking for system updates...
[2026-08-29 19:30:02,821.821 INFO    ] 200
[2026-08-29 19:30:02,825.825 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:30:02,894.894 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:30:02,897.897 INFO    ] No update needed
[2026-08-29 19:30:02,901.901 INFO    ] Checking for camera pi updates...
[2026-08-29 19:30:02,954.954 INFO    ] 200
[2026-08-29 19:30:02,958.958 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:30:03,018.018 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:30:03,211.211 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:30:03,215.215 INFO    ] No camera update needed
[2026-08-29 19:30:03,218.218 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:30:03,222.222 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:30:03,231.231 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:30:03,238.238 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:30:05,280.280 INFO    ] ================================================
[2026-08-29 19:30:05,296.296 INFO    ] Launching Daemon at Sat Aug 29 19:30:05 IST 2026
[2026-08-29 19:30:05,307.307 INFO    ] ================================================
[2026-08-29 19:30:05,672.672 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:30:05
[2026-08-29 19:30:05,984.984 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:30:06,115.115 INFO    ] Initializing speech engine...
[2026-08-29 19:30:06,118.118 INFO    ] 2026-08-29 19:30:06
[2026-08-29 19:30:06,333.333 INFO    ] 2026-08-29 19:30:06
[2026-08-29 19:30:06,371.371 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:30:06,564.564 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:30:06,580.580 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:30:06,706.706 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:30:06,726.726 INFO    ] time= 29/08/2026 19:30:06
[2026-08-29 19:30:06,746.746 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:30:06,756.756 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:30:06,833.833 INFO    ] No existing commands found in stream
[2026-08-29 19:30:11,845.845 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:30:11,848.848 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-08-29 19:30:12,343.343 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:30:12,345.345 INFO    ] Checking for system updates...
[2026-08-29 19:30:12,366.366 INFO    ] 200
[2026-08-29 19:30:12,367.367 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:30:12,397.397 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:30:12,398.398 INFO    ] No update needed
[2026-08-29 19:30:12,400.400 INFO    ] Checking for camera pi updates...
[2026-08-29 19:30:12,419.419 INFO    ] 200
[2026-08-29 19:30:12,421.421 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:30:12,447.447 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:30:12,528.528 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:30:12,529.529 INFO    ] No camera update needed
[2026-08-29 19:30:12,530.530 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:30:12,531.531 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:30:12,534.534 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:30:12,537.537 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:30:14,577.577 INFO    ] ================================================
[2026-08-29 19:30:14,593.593 INFO    ] Launching Daemon at Sat Aug 29 19:30:14 IST 2026
[2026-08-29 19:30:14,604.604 INFO    ] ================================================
[2026-08-29 19:30:14,979.979 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:30:14
[2026-08-29 19:30:15,317.317 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:30:15,468.468 INFO    ] Initializing speech engine...
[2026-08-29 19:30:15,473.473 INFO    ] 2026-08-29 19:30:15
[2026-08-29 19:30:15,681.681 INFO    ] 2026-08-29 19:30:15
[2026-08-29 19:30:15,710.710 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:30:15,835.835 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:30:15,893.893 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:30:16,036.036 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:30:16,103.103 INFO    ] time= 29/08/2026 19:30:16
[2026-08-29 19:30:16,127.127 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:30:16,135.135 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:30:16,201.201 INFO    ] No existing commands found in stream
[2026-08-29 19:30:21,212.212 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:30:21,215.215 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-08-29 19:30:23,516.516 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:30:23,518.518 INFO    ] Checking for system updates...
[2026-08-29 19:30:23,539.539 INFO    ] 200
[2026-08-29 19:30:23,541.541 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:30:23,571.571 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:30:23,572.572 INFO    ] No update needed
[2026-08-29 19:30:23,574.574 INFO    ] Checking for camera pi updates...
[2026-08-29 19:30:23,593.593 INFO    ] 200
[2026-08-29 19:30:23,595.595 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:30:23,618.618 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:30:23,700.700 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:30:23,702.702 INFO    ] No camera update needed
[2026-08-29 19:30:23,703.703 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:30:23,705.705 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:30:23,708.708 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:30:23,711.711 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:30:25,750.750 INFO    ] ================================================
[2026-08-29 19:30:25,765.765 INFO    ] Launching Daemon at Sat Aug 29 19:30:25 IST 2026
[2026-08-29 19:30:25,776.776 INFO    ] ================================================
[2026-08-29 19:30:26,127.127 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:30:26
[2026-08-29 19:30:26,444.444 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:30:26,588.588 INFO    ] Initializing speech engine...
[2026-08-29 19:30:26,594.594 INFO    ] 2026-08-29 19:30:26
[2026-08-29 19:30:26,785.785 INFO    ] 2026-08-29 19:30:26
[2026-08-29 19:30:26,840.840 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:30:27,003.003 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:30:27,015.015 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:30:27,138.138 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:30:27,145.145 INFO    ] time= 29/08/2026 19:30:27
[2026-08-29 19:30:27,153.153 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:30:27,214.214 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:30:27,323.323 INFO    ] No existing commands found in stream
[2026-08-29 19:30:32,352.352 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:30:32,355.355 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-08-29 19:30:36,394.394 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:30:36,395.395 INFO    ] Checking for system updates...
[2026-08-29 19:30:36,416.416 INFO    ] 200
[2026-08-29 19:30:36,417.417 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:30:36,449.449 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:30:36,450.450 INFO    ] No update needed
[2026-08-29 19:30:36,451.451 INFO    ] Checking for camera pi updates...
[2026-08-29 19:30:36,471.471 INFO    ] 200
[2026-08-29 19:30:36,472.472 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:30:36,496.496 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:30:36,590.590 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:30:36,592.592 INFO    ] No camera update needed
[2026-08-29 19:30:36,593.593 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:30:36,594.594 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:30:36,597.597 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:30:36,600.600 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:30:38,638.638 INFO    ] ================================================
[2026-08-29 19:30:38,654.654 INFO    ] Launching Daemon at Sat Aug 29 19:30:38 IST 2026
[2026-08-29 19:30:38,665.665 INFO    ] ================================================
[2026-08-29 19:30:39,309.309 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:30:39
[2026-08-29 19:30:39,883.883 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:30:40,029.029 INFO    ] Initializing speech engine...
[2026-08-29 19:30:40,039.039 INFO    ] 2026-08-29 19:30:40
[2026-08-29 19:30:40,263.263 INFO    ] 2026-08-29 19:30:40
[2026-08-29 19:30:40,326.326 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:30:40,556.556 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:30:40,567.567 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:30:40,704.704 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:30:40,756.756 INFO    ] time= 29/08/2026 19:30:40
[2026-08-29 19:30:40,827.827 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:30:40,845.845 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:30:40,974.974 INFO    ] No existing commands found in stream
[2026-08-29 19:30:46,003.003 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:30:46,006.006 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-08-29 19:30:46,647.647 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:30:46,649.649 INFO    ] Checking for system updates...
[2026-08-29 19:30:46,670.670 INFO    ] 200
[2026-08-29 19:30:46,671.671 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:30:46,704.704 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:30:46,705.705 INFO    ] No update needed
[2026-08-29 19:30:46,706.706 INFO    ] Checking for camera pi updates...
[2026-08-29 19:30:46,728.728 INFO    ] 200
[2026-08-29 19:30:46,730.730 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:30:46,755.755 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:30:46,870.870 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:30:46,873.873 INFO    ] No camera update needed
[2026-08-29 19:30:46,876.876 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:30:46,878.878 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:30:46,884.884 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:30:46,890.890 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:30:48,932.932 INFO    ] ================================================
[2026-08-29 19:30:48,949.949 INFO    ] Launching Daemon at Sat Aug 29 19:30:48 IST 2026
[2026-08-29 19:30:48,960.960 INFO    ] ================================================
[2026-08-29 19:30:49,601.601 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:30:49
[2026-08-29 19:30:50,073.073 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:30:50,224.224 INFO    ] Initializing speech engine...
[2026-08-29 19:30:50,229.229 INFO    ] 2026-08-29 19:30:50
[2026-08-29 19:30:50,439.439 INFO    ] 2026-08-29 19:30:50
[2026-08-29 19:30:50,468.468 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:30:50,592.592 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:30:50,630.630 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:30:50,788.788 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:30:50,860.860 INFO    ] time= 29/08/2026 19:30:50
[2026-08-29 19:30:50,889.889 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:30:50,896.896 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:30:50,962.962 INFO    ] No existing commands found in stream
[2026-08-29 19:30:55,973.973 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:30:55,976.976 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-08-29 19:30:57,186.186 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:30:57,189.189 INFO    ] Checking for system updates...
[2026-08-29 19:30:57,233.233 INFO    ] 200
[2026-08-29 19:30:57,236.236 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:30:57,289.289 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:30:57,292.292 INFO    ] No update needed
[2026-08-29 19:30:57,295.295 INFO    ] Checking for camera pi updates...
[2026-08-29 19:30:57,329.329 INFO    ] 200
[2026-08-29 19:30:57,332.332 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:30:57,375.375 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:30:57,578.578 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:30:57,580.580 INFO    ] No camera update needed
[2026-08-29 19:30:57,583.583 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:30:57,586.586 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:30:57,592.592 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:30:57,598.598 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:30:59,640.640 INFO    ] ================================================
[2026-08-29 19:30:59,656.656 INFO    ] Launching Daemon at Sat Aug 29 19:30:59 IST 2026
[2026-08-29 19:30:59,668.668 INFO    ] ================================================
[2026-08-29 19:31:00,243.243 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:31:00
[2026-08-29 19:31:00,844.844 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:31:01,106.106 INFO    ] Initializing speech engine...
[2026-08-29 19:31:01,113.113 INFO    ] 2026-08-29 19:31:01
[2026-08-29 19:31:01,622.622 INFO    ] 2026-08-29 19:31:01
[2026-08-29 19:31:01,657.657 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:31:01,811.811 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:31:01,814.814 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:31:01,937.937 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:31:01,941.941 INFO    ] time= 29/08/2026 19:31:01
[2026-08-29 19:31:01,964.964 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:31:01,970.970 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:31:02,056.056 INFO    ] No existing commands found in stream
[2026-08-29 19:31:07,071.071 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:31:07,074.074 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-08-29 19:31:07,471.471 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:31:07,472.472 INFO    ] Checking for system updates...
[2026-08-29 19:31:07,494.494 INFO    ] 200
[2026-08-29 19:31:07,496.496 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:31:07,526.526 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:31:07,527.527 INFO    ] No update needed
[2026-08-29 19:31:07,528.528 INFO    ] Checking for camera pi updates...
[2026-08-29 19:31:07,548.548 INFO    ] 200
[2026-08-29 19:31:07,549.549 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:31:07,575.575 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:31:07,677.677 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:31:07,679.679 INFO    ] No camera update needed
[2026-08-29 19:31:07,680.680 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:31:07,681.681 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:31:07,685.685 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:31:07,688.688 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:31:09,728.728 INFO    ] ================================================
[2026-08-29 19:31:09,743.743 INFO    ] Launching Daemon at Sat Aug 29 19:31:09 IST 2026
[2026-08-29 19:31:09,754.754 INFO    ] ================================================
[2026-08-29 19:31:10,287.287 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:31:10
[2026-08-29 19:31:10,882.882 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:31:11,177.177 INFO    ] Initializing speech engine...
[2026-08-29 19:31:11,188.188 INFO    ] 2026-08-29 19:31:11
[2026-08-29 19:31:11,460.460 INFO    ] 2026-08-29 19:31:11
[2026-08-29 19:31:11,520.520 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:31:11,752.752 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:31:11,763.763 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:31:11,899.899 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:31:11,916.916 INFO    ] time= 29/08/2026 19:31:11
[2026-08-29 19:31:11,981.981 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:31:12,031.031 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:31:12,091.091 INFO    ] No existing commands found in stream
[2026-08-29 19:31:17,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:31:17,107.107 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-08-29 19:31:18,942.942 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:31:18,944.944 INFO    ] Checking for system updates...
[2026-08-29 19:31:18,965.965 INFO    ] 200
[2026-08-29 19:31:18,966.966 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:31:18,999.999 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:31:19,001.001 INFO    ] No update needed
[2026-08-29 19:31:19,002.002 INFO    ] Checking for camera pi updates...
[2026-08-29 19:31:19,026.026 INFO    ] 200
[2026-08-29 19:31:19,027.027 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:31:19,053.053 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:31:19,148.148 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:31:19,150.150 INFO    ] No camera update needed
[2026-08-29 19:31:19,151.151 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:31:19,153.153 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:31:19,156.156 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:31:19,159.159 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:31:21,199.199 INFO    ] ================================================
[2026-08-29 19:31:21,215.215 INFO    ] Launching Daemon at Sat Aug 29 19:31:21 IST 2026
[2026-08-29 19:31:21,226.226 INFO    ] ================================================
[2026-08-29 19:31:21,587.587 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:31:21
[2026-08-29 19:31:22,042.042 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:31:22,320.320 INFO    ] Initializing speech engine...
[2026-08-29 19:31:22,327.327 INFO    ] 2026-08-29 19:31:22
[2026-08-29 19:31:22,588.588 INFO    ] 2026-08-29 19:31:22
[2026-08-29 19:31:22,642.642 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:31:22,865.865 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:31:22,873.873 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:31:23,007.007 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:31:23,034.034 INFO    ] time= 29/08/2026 19:31:23
[2026-08-29 19:31:23,093.093 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:31:23,141.141 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:31:23,194.194 INFO    ] No existing commands found in stream
[2026-08-29 19:31:28,206.206 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:31:28,208.208 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-08-29 19:31:31,381.381 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:31:31,384.384 INFO    ] Checking for system updates...
[2026-08-29 19:31:31,423.423 INFO    ] 200
[2026-08-29 19:31:31,426.426 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:31:31,483.483 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:31:31,486.486 INFO    ] No update needed
[2026-08-29 19:31:31,489.489 INFO    ] Checking for camera pi updates...
[2026-08-29 19:31:31,526.526 INFO    ] 200
[2026-08-29 19:31:31,528.528 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:31:31,577.577 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:31:31,669.669 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:31:31,672.672 INFO    ] No camera update needed
[2026-08-29 19:31:31,675.675 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:31:31,677.677 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:31:31,684.684 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:31:31,689.689 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:31:33,730.730 INFO    ] ================================================
[2026-08-29 19:31:33,745.745 INFO    ] Launching Daemon at Sat Aug 29 19:31:33 IST 2026
[2026-08-29 19:31:33,756.756 INFO    ] ================================================
[2026-08-29 19:31:34,321.321 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:31:34
[2026-08-29 19:31:34,696.696 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:31:34,838.838 INFO    ] Initializing speech engine...
[2026-08-29 19:31:34,844.844 INFO    ] 2026-08-29 19:31:34
[2026-08-29 19:31:35,051.051 INFO    ] 2026-08-29 19:31:35
[2026-08-29 19:31:35,136.136 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:31:35,287.287 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:31:35,296.296 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:31:35,430.430 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:31:35,472.472 INFO    ] time= 29/08/2026 19:31:35
[2026-08-29 19:31:35,526.526 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:31:35,566.566 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:31:35,618.618 INFO    ] No existing commands found in stream
[2026-08-29 19:31:40,629.629 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:31:40,631.631 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 19:31:44,409.409 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:31:44,411.411 INFO    ] Checking for system updates...
[2026-08-29 19:31:44,447.447 INFO    ] 200
[2026-08-29 19:31:44,450.450 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:31:44,503.503 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:31:44,506.506 INFO    ] No update needed
[2026-08-29 19:31:44,508.508 INFO    ] Checking for camera pi updates...
[2026-08-29 19:31:44,548.548 INFO    ] 200
[2026-08-29 19:31:44,551.551 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:31:44,581.581 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:31:44,660.660 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:31:44,661.661 INFO    ] No camera update needed
[2026-08-29 19:31:44,663.663 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:31:44,664.664 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:31:44,667.667 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:31:44,670.670 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:31:46,702.702 INFO    ] ================================================
[2026-08-29 19:31:46,717.717 INFO    ] Launching Daemon at Sat Aug 29 19:31:46 IST 2026
[2026-08-29 19:31:46,729.729 INFO    ] ================================================
[2026-08-29 19:31:47,324.324 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:31:47
[2026-08-29 19:31:47,939.939 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:31:48,237.237 INFO    ] Initializing speech engine...
[2026-08-29 19:31:48,244.244 INFO    ] 2026-08-29 19:31:48
[2026-08-29 19:31:48,512.512 INFO    ] 2026-08-29 19:31:48
[2026-08-29 19:31:48,569.569 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:31:48,793.793 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:31:48,802.802 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:31:49,900.900 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:31:49,907.907 INFO    ] time= 29/08/2026 19:31:49
[2026-08-29 19:31:49,916.916 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:31:49,924.924 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:31:49,981.981 INFO    ] No existing commands found in stream
[2026-08-29 19:31:54,990.990 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:31:54,991.991 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-08-29 19:31:55,412.412 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:31:55,414.414 INFO    ] Checking for system updates...
[2026-08-29 19:31:55,434.434 INFO    ] 200
[2026-08-29 19:31:55,435.435 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:31:55,465.465 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:31:55,467.467 INFO    ] No update needed
[2026-08-29 19:31:55,468.468 INFO    ] Checking for camera pi updates...
[2026-08-29 19:31:55,489.489 INFO    ] 200
[2026-08-29 19:31:55,490.490 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:31:55,515.515 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:31:55,646.646 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:31:55,648.648 INFO    ] No camera update needed
[2026-08-29 19:31:55,650.650 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:31:55,653.653 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:31:55,658.658 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:31:55,663.663 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:31:57,705.705 INFO    ] ================================================
[2026-08-29 19:31:57,721.721 INFO    ] Launching Daemon at Sat Aug 29 19:31:57 IST 2026
[2026-08-29 19:31:57,731.731 INFO    ] ================================================
[2026-08-29 19:31:58,310.310 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:31:58
[2026-08-29 19:31:58,739.739 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:31:58,997.997 INFO    ] Initializing speech engine...
[2026-08-29 19:31:59,020.020 INFO    ] 2026-08-29 19:31:58
[2026-08-29 19:31:59,291.291 INFO    ] 2026-08-29 19:31:59
[2026-08-29 19:31:59,359.359 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:31:59,529.529 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:31:59,587.587 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:31:59,727.727 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:31:59,750.750 INFO    ] time= 29/08/2026 19:31:59
[2026-08-29 19:31:59,806.806 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:31:59,861.861 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:31:59,921.921 INFO    ] No existing commands found in stream
[2026-08-29 19:32:04,935.935 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:32:04,938.938 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-08-29 19:32:07,038.038 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:32:07,039.039 INFO    ] Checking for system updates...
[2026-08-29 19:32:07,060.060 INFO    ] 200
[2026-08-29 19:32:07,061.061 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:32:07,092.092 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:32:07,094.094 INFO    ] No update needed
[2026-08-29 19:32:07,095.095 INFO    ] Checking for camera pi updates...
[2026-08-29 19:32:07,115.115 INFO    ] 200
[2026-08-29 19:32:07,116.116 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:32:07,140.140 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:32:07,244.244 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:32:07,245.245 INFO    ] No camera update needed
[2026-08-29 19:32:07,247.247 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:32:07,248.248 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:32:07,251.251 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:32:07,254.254 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:32:09,295.295 INFO    ] ================================================
[2026-08-29 19:32:09,311.311 INFO    ] Launching Daemon at Sat Aug 29 19:32:09 IST 2026
[2026-08-29 19:32:09,321.321 INFO    ] ================================================
[2026-08-29 19:32:09,840.840 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:32:09
[2026-08-29 19:32:10,426.426 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:32:10,695.695 INFO    ] Initializing speech engine...
[2026-08-29 19:32:10,707.707 INFO    ] 2026-08-29 19:32:10
[2026-08-29 19:32:10,955.955 INFO    ] 2026-08-29 19:32:10
[2026-08-29 19:32:10,989.989 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:32:11,167.167 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:32:11,179.179 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:32:11,321.321 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:32:11,330.330 INFO    ] time= 29/08/2026 19:32:11
[2026-08-29 19:32:11,337.337 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:32:11,378.378 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:32:11,483.483 INFO    ] No existing commands found in stream
[2026-08-29 19:32:16,513.513 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:32:16,516.516 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-08-29 19:32:18,038.038 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:32:18,040.040 INFO    ] Checking for system updates...
[2026-08-29 19:32:18,061.061 INFO    ] 200
[2026-08-29 19:32:18,062.062 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:32:18,095.095 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:32:18,096.096 INFO    ] No update needed
[2026-08-29 19:32:18,098.098 INFO    ] Checking for camera pi updates...
[2026-08-29 19:32:18,117.117 INFO    ] 200
[2026-08-29 19:32:18,119.119 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:32:18,144.144 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:32:18,241.241 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:32:18,242.242 INFO    ] No camera update needed
[2026-08-29 19:32:18,244.244 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:32:18,245.245 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:32:18,248.248 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:32:18,251.251 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:32:20,291.291 INFO    ] ================================================
[2026-08-29 19:32:20,307.307 INFO    ] Launching Daemon at Sat Aug 29 19:32:20 IST 2026
[2026-08-29 19:32:20,317.317 INFO    ] ================================================
[2026-08-29 19:32:20,713.713 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:32:20
[2026-08-29 19:32:21,297.297 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:32:21,547.547 INFO    ] Initializing speech engine...
[2026-08-29 19:32:21,569.569 INFO    ] 2026-08-29 19:32:21
[2026-08-29 19:32:21,819.819 INFO    ] 2026-08-29 19:32:21
[2026-08-29 19:32:21,854.854 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:32:21,988.988 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:32:21,995.995 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:32:22,131.131 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:32:22,139.139 INFO    ] time= 29/08/2026 19:32:22
[2026-08-29 19:32:22,145.145 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:32:22,165.165 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:32:22,216.216 INFO    ] No existing commands found in stream
[2026-08-29 19:32:27,228.228 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:32:27,231.231 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-08-29 19:32:30,046.046 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:32:30,047.047 INFO    ] Checking for system updates...
[2026-08-29 19:32:30,069.069 INFO    ] 200
[2026-08-29 19:32:30,070.070 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:32:30,100.100 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:32:30,101.101 INFO    ] No update needed
[2026-08-29 19:32:30,103.103 INFO    ] Checking for camera pi updates...
[2026-08-29 19:32:30,122.122 INFO    ] 200
[2026-08-29 19:32:30,123.123 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:32:30,146.146 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:32:30,239.239 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:32:30,241.241 INFO    ] No camera update needed
[2026-08-29 19:32:30,242.242 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:32:30,244.244 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:32:30,246.246 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:32:30,249.249 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:32:32,288.288 INFO    ] ================================================
[2026-08-29 19:32:32,303.303 INFO    ] Launching Daemon at Sat Aug 29 19:32:32 IST 2026
[2026-08-29 19:32:32,314.314 INFO    ] ================================================
[2026-08-29 19:32:32,987.987 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:32:32
[2026-08-29 19:32:33,645.645 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:32:33,896.896 INFO    ] Initializing speech engine...
[2026-08-29 19:32:33,918.918 INFO    ] 2026-08-29 19:32:33
[2026-08-29 19:32:34,172.172 INFO    ] 2026-08-29 19:32:34
[2026-08-29 19:32:34,206.206 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:32:34,378.378 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:32:34,391.391 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:32:34,503.503 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:32:34,521.521 INFO    ] time= 29/08/2026 19:32:34
[2026-08-29 19:32:34,540.540 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:32:34,548.548 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:32:34,616.616 INFO    ] No existing commands found in stream
[2026-08-29 19:32:39,628.628 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:32:39,630.630 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-08-29 19:32:40,393.393 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:32:40,395.395 INFO    ] Checking for system updates...
[2026-08-29 19:32:40,416.416 INFO    ] 200
[2026-08-29 19:32:40,417.417 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:32:40,447.447 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:32:40,449.449 INFO    ] No update needed
[2026-08-29 19:32:40,450.450 INFO    ] Checking for camera pi updates...
[2026-08-29 19:32:40,470.470 INFO    ] 200
[2026-08-29 19:32:40,471.471 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:32:40,496.496 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:32:40,572.572 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:32:40,574.574 INFO    ] No camera update needed
[2026-08-29 19:32:40,575.575 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:32:40,577.577 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:32:40,580.580 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:32:40,583.583 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:32:42,623.623 INFO    ] ================================================
[2026-08-29 19:32:42,638.638 INFO    ] Launching Daemon at Sat Aug 29 19:32:42 IST 2026
[2026-08-29 19:32:42,648.648 INFO    ] ================================================
[2026-08-29 19:32:43,043.043 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:32:43
[2026-08-29 19:32:43,384.384 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:32:43,620.620 INFO    ] Initializing speech engine...
[2026-08-29 19:32:43,629.629 INFO    ] 2026-08-29 19:32:43
[2026-08-29 19:32:43,880.880 INFO    ] 2026-08-29 19:32:43
[2026-08-29 19:32:43,916.916 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:32:44,088.088 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:32:44,101.101 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:32:44,241.241 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:32:44,250.250 INFO    ] time= 29/08/2026 19:32:44
[2026-08-29 19:32:44,256.256 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:32:44,298.298 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:32:44,429.429 INFO    ] No existing commands found in stream
[2026-08-29 19:32:49,458.458 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:32:49,461.461 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-08-29 19:32:53,347.347 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:32:53,348.348 INFO    ] Checking for system updates...
[2026-08-29 19:32:53,370.370 INFO    ] 200
[2026-08-29 19:32:53,371.371 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:32:53,402.402 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:32:53,403.403 INFO    ] No update needed
[2026-08-29 19:32:53,404.404 INFO    ] Checking for camera pi updates...
[2026-08-29 19:32:53,426.426 INFO    ] 200
[2026-08-29 19:32:53,427.427 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:32:53,458.458 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:32:53,543.543 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:32:53,544.544 INFO    ] No camera update needed
[2026-08-29 19:32:53,545.545 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:32:53,547.547 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:32:53,550.550 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:32:53,553.553 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:32:55,591.591 INFO    ] ================================================
[2026-08-29 19:32:55,606.606 INFO    ] Launching Daemon at Sat Aug 29 19:32:55 IST 2026
[2026-08-29 19:32:55,617.617 INFO    ] ================================================
[2026-08-29 19:32:55,967.967 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:32:55
[2026-08-29 19:32:56,311.311 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:32:56,461.461 INFO    ] Initializing speech engine...
[2026-08-29 19:32:56,466.466 INFO    ] 2026-08-29 19:32:56
[2026-08-29 19:32:56,674.674 INFO    ] 2026-08-29 19:32:56
[2026-08-29 19:32:56,704.704 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:32:56,831.831 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:32:56,839.839 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:32:56,999.999 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:32:57,038.038 INFO    ] time= 29/08/2026 19:32:57
[2026-08-29 19:32:57,055.055 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:32:57,064.064 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:32:57,172.172 INFO    ] No existing commands found in stream
[2026-08-29 19:33:02,195.195 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:33:02,198.198 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-08-29 19:33:03,900.900 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:33:03,903.903 INFO    ] Checking for system updates...
[2026-08-29 19:33:03,947.947 INFO    ] 200
[2026-08-29 19:33:03,950.950 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:33:04,007.007 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:33:04,010.010 INFO    ] No update needed
[2026-08-29 19:33:04,012.012 INFO    ] Checking for camera pi updates...
[2026-08-29 19:33:04,047.047 INFO    ] 200
[2026-08-29 19:33:04,049.049 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:33:04,090.090 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:33:04,201.201 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:33:04,204.204 INFO    ] No camera update needed
[2026-08-29 19:33:04,206.206 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:33:04,209.209 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:33:04,214.214 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:33:04,219.219 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:33:06,259.259 INFO    ] ================================================
[2026-08-29 19:33:06,274.274 INFO    ] Launching Daemon at Sat Aug 29 19:33:06 IST 2026
[2026-08-29 19:33:06,285.285 INFO    ] ================================================
[2026-08-29 19:33:06,676.676 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:33:06
[2026-08-29 19:33:07,267.267 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:33:07,539.539 INFO    ] Initializing speech engine...
[2026-08-29 19:33:07,548.548 INFO    ] 2026-08-29 19:33:07
[2026-08-29 19:33:07,796.796 INFO    ] 2026-08-29 19:33:07
[2026-08-29 19:33:07,830.830 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:33:08,005.005 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:33:08,017.017 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:33:08,159.159 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:33:08,167.167 INFO    ] time= 29/08/2026 19:33:08
[2026-08-29 19:33:08,174.174 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:33:08,215.215 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:33:08,329.329 INFO    ] No existing commands found in stream
[2026-08-29 19:33:13,355.355 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:33:13,358.358 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-08-29 19:33:16,079.079 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:33:16,080.080 INFO    ] Checking for system updates...
[2026-08-29 19:33:16,101.101 INFO    ] 200
[2026-08-29 19:33:16,102.102 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:33:16,132.132 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:33:16,133.133 INFO    ] No update needed
[2026-08-29 19:33:16,135.135 INFO    ] Checking for camera pi updates...
[2026-08-29 19:33:16,156.156 INFO    ] 200
[2026-08-29 19:33:16,157.157 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:33:16,180.180 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:33:16,256.256 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:33:16,257.257 INFO    ] No camera update needed
[2026-08-29 19:33:16,258.258 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:33:16,259.259 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:33:16,262.262 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:33:16,265.265 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:33:18,304.304 INFO    ] ================================================
[2026-08-29 19:33:18,319.319 INFO    ] Launching Daemon at Sat Aug 29 19:33:18 IST 2026
[2026-08-29 19:33:18,330.330 INFO    ] ================================================
[2026-08-29 19:33:18,671.671 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:33:18
[2026-08-29 19:33:19,255.255 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:33:19,525.525 INFO    ] Initializing speech engine...
[2026-08-29 19:33:19,535.535 INFO    ] 2026-08-29 19:33:19
[2026-08-29 19:33:19,782.782 INFO    ] 2026-08-29 19:33:19
[2026-08-29 19:33:19,816.816 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:33:19,987.987 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:33:20,002.002 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:33:20,151.151 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:33:20,159.159 INFO    ] time= 29/08/2026 19:33:20
[2026-08-29 19:33:20,164.164 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:33:20,170.170 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:33:20,243.243 INFO    ] No existing commands found in stream
[2026-08-29 19:33:25,256.256 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:33:25,258.258 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-08-29 19:33:26,929.929 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:33:26,931.931 INFO    ] Checking for system updates...
[2026-08-29 19:33:26,951.951 INFO    ] 200
[2026-08-29 19:33:26,953.953 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:33:26,983.983 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:33:26,985.985 INFO    ] No update needed
[2026-08-29 19:33:26,986.986 INFO    ] Checking for camera pi updates...
[2026-08-29 19:33:27,005.005 INFO    ] 200
[2026-08-29 19:33:27,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:33:27,029.029 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:33:27,109.109 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:33:27,111.111 INFO    ] No camera update needed
[2026-08-29 19:33:27,112.112 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:33:27,114.114 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:33:27,117.117 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:33:27,119.119 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:33:29,157.157 INFO    ] ================================================
[2026-08-29 19:33:29,173.173 INFO    ] Launching Daemon at Sat Aug 29 19:33:29 IST 2026
[2026-08-29 19:33:29,184.184 INFO    ] ================================================
[2026-08-29 19:33:29,545.545 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:33:29
[2026-08-29 19:33:29,862.862 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:33:29,995.995 INFO    ] Initializing speech engine...
[2026-08-29 19:33:30,008.008 INFO    ] 2026-08-29 19:33:29
[2026-08-29 19:33:30,215.215 INFO    ] 2026-08-29 19:33:30
[2026-08-29 19:33:30,296.296 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:33:30,442.442 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:33:30,452.452 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:33:30,586.586 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:33:30,637.637 INFO    ] time= 29/08/2026 19:33:30
[2026-08-29 19:33:30,696.696 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:33:30,718.718 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:33:30,776.776 INFO    ] No existing commands found in stream
[2026-08-29 19:33:35,788.788 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:33:35,791.791 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-08-29 19:33:37,049.049 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:33:37,051.051 INFO    ] Checking for system updates...
[2026-08-29 19:33:37,079.079 INFO    ] 200
[2026-08-29 19:33:37,080.080 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:33:37,126.126 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:33:37,127.127 INFO    ] No update needed
[2026-08-29 19:33:37,129.129 INFO    ] Checking for camera pi updates...
[2026-08-29 19:33:37,148.148 INFO    ] 200
[2026-08-29 19:33:37,149.149 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:33:37,172.172 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:33:37,259.259 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:33:37,260.260 INFO    ] No camera update needed
[2026-08-29 19:33:37,262.262 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:33:37,263.263 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:33:37,266.266 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:33:37,269.269 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:33:39,310.310 INFO    ] ================================================
[2026-08-29 19:33:39,325.325 INFO    ] Launching Daemon at Sat Aug 29 19:33:39 IST 2026
[2026-08-29 19:33:39,335.335 INFO    ] ================================================
[2026-08-29 19:33:39,663.663 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:33:39
[2026-08-29 19:33:39,976.976 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:33:40,109.109 INFO    ] Initializing speech engine...
[2026-08-29 19:33:40,114.114 INFO    ] 2026-08-29 19:33:40
[2026-08-29 19:33:40,340.340 INFO    ] 2026-08-29 19:33:40
[2026-08-29 19:33:40,371.371 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:33:40,500.500 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:33:40,516.516 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:33:40,659.659 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:33:40,699.699 INFO    ] time= 29/08/2026 19:33:40
[2026-08-29 19:33:40,744.744 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:33:40,750.750 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:33:40,862.862 INFO    ] No existing commands found in stream
[2026-08-29 19:33:45,884.884 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:33:45,887.887 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-08-29 19:33:49,702.702 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:33:49,704.704 INFO    ] Checking for system updates...
[2026-08-29 19:33:49,724.724 INFO    ] 200
[2026-08-29 19:33:49,725.725 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:33:49,757.757 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:33:49,759.759 INFO    ] No update needed
[2026-08-29 19:33:49,760.760 INFO    ] Checking for camera pi updates...
[2026-08-29 19:33:49,779.779 INFO    ] 200
[2026-08-29 19:33:49,780.780 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:33:49,804.804 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:33:49,887.887 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:33:49,888.888 INFO    ] No camera update needed
[2026-08-29 19:33:49,889.889 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:33:49,890.890 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:33:49,893.893 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:33:49,896.896 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:33:51,935.935 INFO    ] ================================================
[2026-08-29 19:33:51,950.950 INFO    ] Launching Daemon at Sat Aug 29 19:33:51 IST 2026
[2026-08-29 19:33:51,961.961 INFO    ] ================================================
[2026-08-29 19:33:52,308.308 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:33:52
[2026-08-29 19:33:52,619.619 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:33:52,800.800 INFO    ] Initializing speech engine...
[2026-08-29 19:33:52,809.809 INFO    ] 2026-08-29 19:33:52
[2026-08-29 19:33:53,062.062 INFO    ] 2026-08-29 19:33:53
[2026-08-29 19:33:53,097.097 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:33:53,294.294 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:33:53,322.322 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:33:53,487.487 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:33:53,505.505 INFO    ] time= 29/08/2026 19:33:53
[2026-08-29 19:33:53,521.521 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:33:53,576.576 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:33:53,646.646 INFO    ] No existing commands found in stream
[2026-08-29 19:33:58,668.668 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:33:58,671.671 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-08-29 19:34:00,894.894 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:34:00,896.896 INFO    ] Checking for system updates...
[2026-08-29 19:34:00,916.916 INFO    ] 200
[2026-08-29 19:34:00,917.917 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:34:00,949.949 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:34:00,950.950 INFO    ] No update needed
[2026-08-29 19:34:00,952.952 INFO    ] Checking for camera pi updates...
[2026-08-29 19:34:00,971.971 INFO    ] 200
[2026-08-29 19:34:00,972.972 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:34:00,997.997 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:34:01,077.077 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:34:01,079.079 INFO    ] No camera update needed
[2026-08-29 19:34:01,081.081 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:34:01,084.084 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:34:01,089.089 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:34:01,094.094 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:34:03,140.140 INFO    ] ================================================
[2026-08-29 19:34:03,156.156 INFO    ] Launching Daemon at Sat Aug 29 19:34:03 IST 2026
[2026-08-29 19:34:03,166.166 INFO    ] ================================================
[2026-08-29 19:34:03,772.772 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:34:03
[2026-08-29 19:34:04,288.288 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:34:04,567.567 INFO    ] Initializing speech engine...
[2026-08-29 19:34:04,574.574 INFO    ] 2026-08-29 19:34:04
[2026-08-29 19:34:04,839.839 INFO    ] 2026-08-29 19:34:04
[2026-08-29 19:34:04,897.897 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:34:05,124.124 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:34:05,133.133 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:34:05,270.270 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:34:05,288.288 INFO    ] time= 29/08/2026 19:34:05
[2026-08-29 19:34:05,359.359 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:34:05,409.409 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:34:05,464.464 INFO    ] No existing commands found in stream
[2026-08-29 19:34:10,477.477 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:34:10,480.480 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-08-29 19:34:11,865.865 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:34:11,866.866 INFO    ] Checking for system updates...
[2026-08-29 19:34:11,888.888 INFO    ] 200
[2026-08-29 19:34:11,889.889 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:34:11,921.921 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:34:11,922.922 INFO    ] No update needed
[2026-08-29 19:34:11,923.923 INFO    ] Checking for camera pi updates...
[2026-08-29 19:34:11,945.945 INFO    ] 200
[2026-08-29 19:34:11,946.946 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:34:11,971.971 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:34:12,054.054 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:34:12,055.055 INFO    ] No camera update needed
[2026-08-29 19:34:12,056.056 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:34:12,057.057 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:34:12,060.060 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:34:12,063.063 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:34:14,102.102 INFO    ] ================================================
[2026-08-29 19:34:14,117.117 INFO    ] Launching Daemon at Sat Aug 29 19:34:14 IST 2026
[2026-08-29 19:34:14,128.128 INFO    ] ================================================
[2026-08-29 19:34:14,473.473 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:34:14
[2026-08-29 19:34:14,790.790 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:34:14,929.929 INFO    ] Initializing speech engine...
[2026-08-29 19:34:14,940.940 INFO    ] 2026-08-29 19:34:14
[2026-08-29 19:34:15,124.124 INFO    ] 2026-08-29 19:34:15
[2026-08-29 19:34:15,159.159 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:34:15,332.332 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:34:15,345.345 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:34:15,456.456 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:34:15,488.488 INFO    ] time= 29/08/2026 19:34:15
[2026-08-29 19:34:15,497.497 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:34:15,504.504 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:34:15,571.571 INFO    ] No existing commands found in stream
[2026-08-29 19:34:20,607.607 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:34:20,609.609 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-08-29 19:34:22,192.192 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:34:22,194.194 INFO    ] Checking for system updates...
[2026-08-29 19:34:22,215.215 INFO    ] 200
[2026-08-29 19:34:22,216.216 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:34:22,246.246 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:34:22,247.247 INFO    ] No update needed
[2026-08-29 19:34:22,249.249 INFO    ] Checking for camera pi updates...
[2026-08-29 19:34:22,269.269 INFO    ] 200
[2026-08-29 19:34:22,270.270 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:34:22,293.293 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:34:22,371.371 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:34:22,373.373 INFO    ] No camera update needed
[2026-08-29 19:34:22,374.374 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:34:22,375.375 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:34:22,378.378 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:34:22,381.381 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:34:24,419.419 INFO    ] ================================================
[2026-08-29 19:34:24,435.435 INFO    ] Launching Daemon at Sat Aug 29 19:34:24 IST 2026
[2026-08-29 19:34:24,446.446 INFO    ] ================================================
[2026-08-29 19:34:24,779.779 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:34:24
[2026-08-29 19:34:25,096.096 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:34:25,277.277 INFO    ] Initializing speech engine...
[2026-08-29 19:34:25,286.286 INFO    ] 2026-08-29 19:34:25
[2026-08-29 19:34:25,548.548 INFO    ] 2026-08-29 19:34:25
[2026-08-29 19:34:25,603.603 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:34:25,825.825 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:34:25,835.835 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:34:25,966.966 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:34:26,008.008 INFO    ] time= 29/08/2026 19:34:25
[2026-08-29 19:34:26,073.073 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:34:26,101.101 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:34:26,153.153 INFO    ] No existing commands found in stream
[2026-08-29 19:34:31,164.164 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:34:31,167.167 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-08-29 19:34:35,410.410 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:34:35,412.412 INFO    ] Checking for system updates...
[2026-08-29 19:34:35,448.448 INFO    ] 200
[2026-08-29 19:34:35,451.451 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:34:35,504.504 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:34:35,506.506 INFO    ] No update needed
[2026-08-29 19:34:35,508.508 INFO    ] Checking for camera pi updates...
[2026-08-29 19:34:35,545.545 INFO    ] 200
[2026-08-29 19:34:35,548.548 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:34:35,588.588 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:34:35,691.691 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:34:35,694.694 INFO    ] No camera update needed
[2026-08-29 19:34:35,696.696 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:34:35,699.699 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:34:35,704.704 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:34:35,709.709 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:34:37,750.750 INFO    ] ================================================
[2026-08-29 19:34:37,771.771 INFO    ] Launching Daemon at Sat Aug 29 19:34:37 IST 2026
[2026-08-29 19:34:37,782.782 INFO    ] ================================================
[2026-08-29 19:34:38,412.412 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:34:38
[2026-08-29 19:34:39,036.036 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:34:39,307.307 INFO    ] Initializing speech engine...
[2026-08-29 19:34:39,324.324 INFO    ] 2026-08-29 19:34:39
[2026-08-29 19:34:39,593.593 INFO    ] 2026-08-29 19:34:39
[2026-08-29 19:34:39,628.628 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:34:39,825.825 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:34:39,830.830 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:34:39,919.919 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:34:39,952.952 INFO    ] time= 29/08/2026 19:34:39
[2026-08-29 19:34:39,969.969 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:34:40,025.025 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:34:40,116.116 INFO    ] No existing commands found in stream
[2026-08-29 19:34:45,151.151 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:34:45,154.154 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-08-29 19:34:45,699.699 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:34:45,701.701 INFO    ] Checking for system updates...
[2026-08-29 19:34:45,721.721 INFO    ] 200
[2026-08-29 19:34:45,723.723 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:34:45,752.752 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:34:45,754.754 INFO    ] No update needed
[2026-08-29 19:34:45,755.755 INFO    ] Checking for camera pi updates...
[2026-08-29 19:34:45,777.777 INFO    ] 200
[2026-08-29 19:34:45,779.779 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:34:45,802.802 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:34:45,905.905 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:34:45,906.906 INFO    ] No camera update needed
[2026-08-29 19:34:45,907.907 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:34:45,909.909 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:34:45,911.911 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:34:45,914.914 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:34:47,953.953 INFO    ] ================================================
[2026-08-29 19:34:47,969.969 INFO    ] Launching Daemon at Sat Aug 29 19:34:47 IST 2026
[2026-08-29 19:34:47,981.981 INFO    ] ================================================
[2026-08-29 19:34:48,367.367 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:34:48
[2026-08-29 19:34:48,699.699 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:34:48,848.848 INFO    ] Initializing speech engine...
[2026-08-29 19:34:48,853.853 INFO    ] 2026-08-29 19:34:48
[2026-08-29 19:34:49,060.060 INFO    ] 2026-08-29 19:34:49
[2026-08-29 19:34:49,089.089 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:34:49,211.211 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:34:49,249.249 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:34:49,398.398 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:34:49,431.431 INFO    ] time= 29/08/2026 19:34:49
[2026-08-29 19:34:49,482.482 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:34:49,506.506 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:34:49,579.579 INFO    ] No existing commands found in stream
[2026-08-29 19:34:54,588.588 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:34:54,592.592 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-08-29 19:34:55,358.358 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:34:55,360.360 INFO    ] Checking for system updates...
[2026-08-29 19:34:55,380.380 INFO    ] 200
[2026-08-29 19:34:55,382.382 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:34:55,414.414 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:34:55,416.416 INFO    ] No update needed
[2026-08-29 19:34:55,417.417 INFO    ] Checking for camera pi updates...
[2026-08-29 19:34:55,436.436 INFO    ] 200
[2026-08-29 19:34:55,437.437 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:34:55,461.461 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:34:55,541.541 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:34:55,542.542 INFO    ] No camera update needed
[2026-08-29 19:34:55,544.544 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:34:55,545.545 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:34:55,548.548 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:34:55,551.551 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:34:57,589.589 INFO    ] ================================================
[2026-08-29 19:34:57,605.605 INFO    ] Launching Daemon at Sat Aug 29 19:34:57 IST 2026
[2026-08-29 19:34:57,616.616 INFO    ] ================================================
[2026-08-29 19:34:57,957.957 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:34:57
[2026-08-29 19:34:58,273.273 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:34:58,416.416 INFO    ] Initializing speech engine...
[2026-08-29 19:34:58,421.421 INFO    ] 2026-08-29 19:34:58
[2026-08-29 19:34:58,625.625 INFO    ] 2026-08-29 19:34:58
[2026-08-29 19:34:58,654.654 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:34:58,776.776 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:34:58,838.838 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:34:58,947.947 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:34:58,948.948 INFO    ] time= 29/08/2026 19:34:58
[2026-08-29 19:34:58,950.950 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:34:58,951.951 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:34:59,054.054 INFO    ] No existing commands found in stream
[2026-08-29 19:35:04,081.081 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:35:04,084.084 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-08-29 19:35:04,803.803 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:35:04,805.805 INFO    ] Checking for system updates...
[2026-08-29 19:35:04,825.825 INFO    ] 200
[2026-08-29 19:35:04,827.827 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:35:04,859.859 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:35:04,860.860 INFO    ] No update needed
[2026-08-29 19:35:04,861.861 INFO    ] Checking for camera pi updates...
[2026-08-29 19:35:04,881.881 INFO    ] 200
[2026-08-29 19:35:04,883.883 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:35:04,907.907 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:35:05,083.083 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:35:05,084.084 INFO    ] No camera update needed
[2026-08-29 19:35:05,085.085 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:35:05,086.086 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:35:05,089.089 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:35:05,092.092 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:35:07,132.132 INFO    ] ================================================
[2026-08-29 19:35:07,147.147 INFO    ] Launching Daemon at Sat Aug 29 19:35:07 IST 2026
[2026-08-29 19:35:07,158.158 INFO    ] ================================================
[2026-08-29 19:35:07,516.516 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:35:07
[2026-08-29 19:35:07,827.827 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:35:07,960.960 INFO    ] Initializing speech engine...
[2026-08-29 19:35:07,965.965 INFO    ] 2026-08-29 19:35:07
[2026-08-29 19:35:08,191.191 INFO    ] 2026-08-29 19:35:08
[2026-08-29 19:35:08,221.221 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:35:08,318.318 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:35:08,354.354 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:35:08,504.504 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:35:08,542.542 INFO    ] time= 29/08/2026 19:35:08
[2026-08-29 19:35:08,577.577 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:35:08,636.636 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:35:08,742.742 INFO    ] No existing commands found in stream
[2026-08-29 19:35:13,751.751 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:35:13,754.754 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-08-29 19:35:14,529.529 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:35:14,531.531 INFO    ] Checking for system updates...
[2026-08-29 19:35:14,551.551 INFO    ] 200
[2026-08-29 19:35:14,552.552 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:35:14,584.584 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:35:14,585.585 INFO    ] No update needed
[2026-08-29 19:35:14,587.587 INFO    ] Checking for camera pi updates...
[2026-08-29 19:35:14,605.605 INFO    ] 200
[2026-08-29 19:35:14,607.607 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:35:14,632.632 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:35:14,707.707 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:35:14,708.708 INFO    ] No camera update needed
[2026-08-29 19:35:14,710.710 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:35:14,711.711 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:35:14,716.716 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:35:14,721.721 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:35:16,762.762 INFO    ] ================================================
[2026-08-29 19:35:16,777.777 INFO    ] Launching Daemon at Sat Aug 29 19:35:16 IST 2026
[2026-08-29 19:35:16,788.788 INFO    ] ================================================
[2026-08-29 19:35:17,371.371 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:35:17
[2026-08-29 19:35:17,863.863 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:35:17,998.998 INFO    ] Initializing speech engine...
[2026-08-29 19:35:18,002.002 INFO    ] 2026-08-29 19:35:17
[2026-08-29 19:35:18,231.231 INFO    ] 2026-08-29 19:35:18
[2026-08-29 19:35:18,279.279 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:35:18,423.423 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:35:18,429.429 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:35:18,553.553 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:35:18,575.575 INFO    ] time= 29/08/2026 19:35:18
[2026-08-29 19:35:18,614.614 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:35:18,663.663 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:35:18,732.732 INFO    ] No existing commands found in stream
[2026-08-29 19:35:23,753.753 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:35:23,755.755 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-08-29 19:35:28,054.054 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:35:28,056.056 INFO    ] Checking for system updates...
[2026-08-29 19:35:28,077.077 INFO    ] 200
[2026-08-29 19:35:28,078.078 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:35:28,108.108 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:35:28,109.109 INFO    ] No update needed
[2026-08-29 19:35:28,111.111 INFO    ] Checking for camera pi updates...
[2026-08-29 19:35:28,130.130 INFO    ] 200
[2026-08-29 19:35:28,131.131 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:35:28,156.156 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:35:28,232.232 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:35:28,234.234 INFO    ] No camera update needed
[2026-08-29 19:35:28,237.237 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:35:28,239.239 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:35:28,246.246 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:35:28,251.251 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:35:30,293.293 INFO    ] ================================================
[2026-08-29 19:35:30,309.309 INFO    ] Launching Daemon at Sat Aug 29 19:35:30 IST 2026
[2026-08-29 19:35:30,320.320 INFO    ] ================================================
[2026-08-29 19:35:30,901.901 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:35:30
[2026-08-29 19:35:31,389.389 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:35:31,528.528 INFO    ] Initializing speech engine...
[2026-08-29 19:35:31,537.537 INFO    ] 2026-08-29 19:35:31
[2026-08-29 19:35:31,763.763 INFO    ] 2026-08-29 19:35:31
[2026-08-29 19:35:31,879.879 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:35:32,059.059 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:35:32,094.094 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:35:32,233.233 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:35:32,268.268 INFO    ] time= 29/08/2026 19:35:32
[2026-08-29 19:35:32,282.282 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:35:32,338.338 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:35:32,435.435 INFO    ] No existing commands found in stream
[2026-08-29 19:35:37,448.448 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:35:37,451.451 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-08-29 19:35:39,639.639 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:35:39,640.640 INFO    ] Checking for system updates...
[2026-08-29 19:35:39,662.662 INFO    ] 200
[2026-08-29 19:35:39,663.663 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:35:39,695.695 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:35:39,696.696 INFO    ] No update needed
[2026-08-29 19:35:39,698.698 INFO    ] Checking for camera pi updates...
[2026-08-29 19:35:39,717.717 INFO    ] 200
[2026-08-29 19:35:39,718.718 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:35:39,749.749 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:35:39,859.859 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:35:39,861.861 INFO    ] No camera update needed
[2026-08-29 19:35:39,864.864 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:35:39,866.866 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:35:39,871.871 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:35:39,876.876 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:35:41,917.917 INFO    ] ================================================
[2026-08-29 19:35:41,932.932 INFO    ] Launching Daemon at Sat Aug 29 19:35:41 IST 2026
[2026-08-29 19:35:41,943.943 INFO    ] ================================================
[2026-08-29 19:35:42,582.582 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:35:42
[2026-08-29 19:35:43,054.054 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:35:43,205.205 INFO    ] Initializing speech engine...
[2026-08-29 19:35:43,210.210 INFO    ] 2026-08-29 19:35:43
[2026-08-29 19:35:43,432.432 INFO    ] 2026-08-29 19:35:43
[2026-08-29 19:35:43,491.491 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:35:43,662.662 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:35:43,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:35:43,867.867 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:35:43,916.916 INFO    ] time= 29/08/2026 19:35:43
[2026-08-29 19:35:43,981.981 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:35:44,005.005 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:35:44,059.059 INFO    ] No existing commands found in stream
[2026-08-29 19:35:49,072.072 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:35:49,075.075 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 19:35:52,557.557 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:35:52,558.558 INFO    ] Checking for system updates...
[2026-08-29 19:35:52,579.579 INFO    ] 200
[2026-08-29 19:35:52,580.580 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:35:52,610.610 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:35:52,612.612 INFO    ] No update needed
[2026-08-29 19:35:52,613.613 INFO    ] Checking for camera pi updates...
[2026-08-29 19:35:52,633.633 INFO    ] 200
[2026-08-29 19:35:52,634.634 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:35:52,657.657 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:35:52,750.750 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:35:52,751.751 INFO    ] No camera update needed
[2026-08-29 19:35:52,753.753 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:35:52,754.754 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:35:52,757.757 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:35:52,760.760 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:35:54,801.801 INFO    ] ================================================
[2026-08-29 19:35:54,816.816 INFO    ] Launching Daemon at Sat Aug 29 19:35:54 IST 2026
[2026-08-29 19:35:54,827.827 INFO    ] ================================================
[2026-08-29 19:35:55,181.181 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:35:55
[2026-08-29 19:35:55,495.495 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:35:55,707.707 INFO    ] Initializing speech engine...
[2026-08-29 19:35:55,716.716 INFO    ] 2026-08-29 19:35:55
[2026-08-29 19:35:55,975.975 INFO    ] 2026-08-29 19:35:55
[2026-08-29 19:35:56,028.028 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:35:56,250.250 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:35:56,259.259 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:35:56,390.390 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:35:56,412.412 INFO    ] time= 29/08/2026 19:35:56
[2026-08-29 19:35:56,481.481 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:35:56,523.523 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:35:56,574.574 INFO    ] No existing commands found in stream
[2026-08-29 19:36:01,584.584 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:36:01,587.587 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-08-29 19:36:03,675.675 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:36:03,678.678 INFO    ] Checking for system updates...
[2026-08-29 19:36:03,714.714 INFO    ] 200
[2026-08-29 19:36:03,717.717 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:36:03,774.774 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:36:03,776.776 INFO    ] No update needed
[2026-08-29 19:36:03,779.779 INFO    ] Checking for camera pi updates...
[2026-08-29 19:36:03,813.813 INFO    ] 200
[2026-08-29 19:36:03,815.815 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:36:03,860.860 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:36:03,967.967 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:36:03,970.970 INFO    ] No camera update needed
[2026-08-29 19:36:03,972.972 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:36:03,975.975 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:36:03,980.980 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:36:03,985.985 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:36:06,028.028 INFO    ] ================================================
[2026-08-29 19:36:06,044.044 INFO    ] Launching Daemon at Sat Aug 29 19:36:06 IST 2026
[2026-08-29 19:36:06,055.055 INFO    ] ================================================
[2026-08-29 19:36:06,625.625 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:36:06
[2026-08-29 19:36:07,289.289 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:36:07,596.596 INFO    ] Initializing speech engine...
[2026-08-29 19:36:07,607.607 INFO    ] 2026-08-29 19:36:07
[2026-08-29 19:36:07,914.914 INFO    ] 2026-08-29 19:36:07
[2026-08-29 19:36:08,003.003 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:36:08,151.151 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:36:08,161.161 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:36:08,294.294 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:36:08,322.322 INFO    ] time= 29/08/2026 19:36:08
[2026-08-29 19:36:08,382.382 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:36:08,428.428 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:36:08,486.486 INFO    ] No existing commands found in stream
[2026-08-29 19:36:13,503.503 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:36:13,506.506 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-08-29 19:36:14,183.183 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:36:14,184.184 INFO    ] Checking for system updates...
[2026-08-29 19:36:14,206.206 INFO    ] 200
[2026-08-29 19:36:14,208.208 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:36:14,240.240 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:36:14,242.242 INFO    ] No update needed
[2026-08-29 19:36:14,243.243 INFO    ] Checking for camera pi updates...
[2026-08-29 19:36:14,264.264 INFO    ] 200
[2026-08-29 19:36:14,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:36:14,291.291 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:36:14,387.387 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:36:14,388.388 INFO    ] No camera update needed
[2026-08-29 19:36:14,399.399 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:36:14,408.408 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:36:14,412.412 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:36:14,415.415 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:36:16,455.455 INFO    ] ================================================
[2026-08-29 19:36:16,472.472 INFO    ] Launching Daemon at Sat Aug 29 19:36:16 IST 2026
[2026-08-29 19:36:16,483.483 INFO    ] ================================================
[2026-08-29 19:36:16,817.817 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:36:16
[2026-08-29 19:36:17,129.129 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:36:17,378.378 INFO    ] Initializing speech engine...
[2026-08-29 19:36:17,383.383 INFO    ] 2026-08-29 19:36:17
[2026-08-29 19:36:17,646.646 INFO    ] 2026-08-29 19:36:17
[2026-08-29 19:36:17,699.699 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:36:17,920.920 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:36:17,929.929 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:36:18,061.061 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:36:18,068.068 INFO    ] time= 29/08/2026 19:36:18
[2026-08-29 19:36:18,122.122 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:36:18,176.176 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:36:18,247.247 INFO    ] No existing commands found in stream
[2026-08-29 19:36:23,259.259 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:36:23,262.262 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-08-29 19:36:24,400.400 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:36:24,401.401 INFO    ] Checking for system updates...
[2026-08-29 19:36:24,431.431 INFO    ] 200
[2026-08-29 19:36:24,432.432 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:36:24,469.469 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:36:24,471.471 INFO    ] No update needed
[2026-08-29 19:36:24,472.472 INFO    ] Checking for camera pi updates...
[2026-08-29 19:36:24,491.491 INFO    ] 200
[2026-08-29 19:36:24,492.492 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:36:24,515.515 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:36:24,600.600 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:36:24,602.602 INFO    ] No camera update needed
[2026-08-29 19:36:24,605.605 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:36:24,607.607 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:36:24,612.612 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:36:24,617.617 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:36:26,658.658 INFO    ] ================================================
[2026-08-29 19:36:26,674.674 INFO    ] Launching Daemon at Sat Aug 29 19:36:26 IST 2026
[2026-08-29 19:36:26,685.685 INFO    ] ================================================
[2026-08-29 19:36:27,267.267 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:36:27
[2026-08-29 19:36:27,718.718 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:36:27,859.859 INFO    ] Initializing speech engine...
[2026-08-29 19:36:27,870.870 INFO    ] 2026-08-29 19:36:27
[2026-08-29 19:36:28,113.113 INFO    ] 2026-08-29 19:36:28
[2026-08-29 19:36:28,171.171 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:36:28,321.321 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:36:28,326.326 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:36:28,503.503 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:36:28,548.548 INFO    ] time= 29/08/2026 19:36:28
[2026-08-29 19:36:28,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:36:28,600.600 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:36:28,661.661 INFO    ] No existing commands found in stream
[2026-08-29 19:36:33,673.673 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:36:33,675.675 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 19:36:37,312.312 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:36:37,315.315 INFO    ] Checking for system updates...
[2026-08-29 19:36:37,350.350 INFO    ] 200
[2026-08-29 19:36:37,353.353 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:36:37,406.406 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:36:37,409.409 INFO    ] No update needed
[2026-08-29 19:36:37,411.411 INFO    ] Checking for camera pi updates...
[2026-08-29 19:36:37,444.444 INFO    ] 200
[2026-08-29 19:36:37,447.447 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:36:37,487.487 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:36:37,583.583 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:36:37,585.585 INFO    ] No camera update needed
[2026-08-29 19:36:37,587.587 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:36:37,590.590 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:36:37,595.595 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:36:37,600.600 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:36:39,642.642 INFO    ] ================================================
[2026-08-29 19:36:39,658.658 INFO    ] Launching Daemon at Sat Aug 29 19:36:39 IST 2026
[2026-08-29 19:36:39,673.673 INFO    ] ================================================
[2026-08-29 19:36:40,108.108 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:36:40
[2026-08-29 19:36:40,420.420 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:36:40,660.660 INFO    ] Initializing speech engine...
[2026-08-29 19:36:40,669.669 INFO    ] 2026-08-29 19:36:40
[2026-08-29 19:36:40,923.923 INFO    ] 2026-08-29 19:36:40
[2026-08-29 19:36:40,982.982 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:36:41,205.205 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:36:41,214.214 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:36:41,347.347 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:36:41,364.364 INFO    ] time= 29/08/2026 19:36:41
[2026-08-29 19:36:41,413.413 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:36:41,457.457 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:36:41,531.531 INFO    ] No existing commands found in stream
[2026-08-29 19:36:46,543.543 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:36:46,546.546 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-08-29 19:36:50,354.354 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:36:50,356.356 INFO    ] Checking for system updates...
[2026-08-29 19:36:50,376.376 INFO    ] 200
[2026-08-29 19:36:50,378.378 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:36:50,410.410 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:36:50,411.411 INFO    ] No update needed
[2026-08-29 19:36:50,412.412 INFO    ] Checking for camera pi updates...
[2026-08-29 19:36:50,431.431 INFO    ] 200
[2026-08-29 19:36:50,433.433 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:36:50,456.456 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:36:50,541.541 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:36:50,542.542 INFO    ] No camera update needed
[2026-08-29 19:36:50,544.544 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:36:50,545.545 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:36:50,548.548 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:36:50,550.550 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:36:52,590.590 INFO    ] ================================================
[2026-08-29 19:36:52,605.605 INFO    ] Launching Daemon at Sat Aug 29 19:36:52 IST 2026
[2026-08-29 19:36:52,616.616 INFO    ] ================================================
[2026-08-29 19:36:53,183.183 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:36:53
[2026-08-29 19:36:53,771.771 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:36:53,908.908 INFO    ] Initializing speech engine...
[2026-08-29 19:36:53,911.911 INFO    ] 2026-08-29 19:36:53
[2026-08-29 19:36:54,117.117 INFO    ] 2026-08-29 19:36:54
[2026-08-29 19:36:54,200.200 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:36:54,371.371 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:36:54,381.381 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:36:54,532.532 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:36:54,539.539 INFO    ] time= 29/08/2026 19:36:54
[2026-08-29 19:36:54,578.578 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:36:54,638.638 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:36:54,689.689 INFO    ] No existing commands found in stream
[2026-08-29 19:36:59,711.711 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:36:59,714.714 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-08-29 19:37:00,723.723 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:37:00,725.725 INFO    ] Checking for system updates...
[2026-08-29 19:37:00,745.745 INFO    ] 200
[2026-08-29 19:37:00,746.746 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:37:00,776.776 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:37:00,777.777 INFO    ] No update needed
[2026-08-29 19:37:00,779.779 INFO    ] Checking for camera pi updates...
[2026-08-29 19:37:00,799.799 INFO    ] 200
[2026-08-29 19:37:00,800.800 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:37:00,824.824 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:37:00,910.910 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:37:00,911.911 INFO    ] No camera update needed
[2026-08-29 19:37:00,913.913 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:37:00,914.914 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:37:00,917.917 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:37:00,920.920 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:37:02,965.965 INFO    ] ================================================
[2026-08-29 19:37:02,982.982 INFO    ] Launching Daemon at Sat Aug 29 19:37:02 IST 2026
[2026-08-29 19:37:03,996.996 INFO    ] ================================================
[2026-08-29 19:37:03,633.633 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:37:03
[2026-08-29 19:37:04,291.291 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:37:04,592.592 INFO    ] Initializing speech engine...
[2026-08-29 19:37:04,602.602 INFO    ] 2026-08-29 19:37:04
[2026-08-29 19:37:04,844.844 INFO    ] 2026-08-29 19:37:04
[2026-08-29 19:37:04,873.873 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:37:05,040.040 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:37:05,049.049 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:37:05,220.220 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:37:05,253.253 INFO    ] time= 29/08/2026 19:37:05
[2026-08-29 19:37:05,271.271 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:37:05,282.282 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:37:05,398.398 INFO    ] No existing commands found in stream
[2026-08-29 19:37:10,424.424 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:37:10,427.427 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-08-29 19:37:12,287.287 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:37:12,289.289 INFO    ] Checking for system updates...
[2026-08-29 19:37:12,309.309 INFO    ] 200
[2026-08-29 19:37:12,311.311 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:37:12,344.344 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:37:12,345.345 INFO    ] No update needed
[2026-08-29 19:37:12,347.347 INFO    ] Checking for camera pi updates...
[2026-08-29 19:37:12,367.367 INFO    ] 200
[2026-08-29 19:37:12,369.369 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:37:12,396.396 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:37:12,570.570 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:37:12,571.571 INFO    ] No camera update needed
[2026-08-29 19:37:12,573.573 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:37:12,574.574 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:37:12,577.577 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:37:12,580.580 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:37:14,619.619 INFO    ] ================================================
[2026-08-29 19:37:14,635.635 INFO    ] Launching Daemon at Sat Aug 29 19:37:14 IST 2026
[2026-08-29 19:37:14,646.646 INFO    ] ================================================
[2026-08-29 19:37:14,981.981 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:37:14
[2026-08-29 19:37:15,298.298 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:37:15,443.443 INFO    ] Initializing speech engine...
[2026-08-29 19:37:15,448.448 INFO    ] 2026-08-29 19:37:15
[2026-08-29 19:37:15,652.652 INFO    ] 2026-08-29 19:37:15
[2026-08-29 19:37:15,681.681 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:37:15,804.804 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:37:15,846.846 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:37:15,996.996 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:37:16,053.053 INFO    ] time= 29/08/2026 19:37:16
[2026-08-29 19:37:16,092.092 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:37:16,097.097 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:37:16,168.168 INFO    ] No existing commands found in stream
[2026-08-29 19:37:21,179.179 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:37:21,182.182 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-08-29 19:37:24,934.934 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:37:24,937.937 INFO    ] Checking for system updates...
[2026-08-29 19:37:24,989.989 INFO    ] 200
[2026-08-29 19:37:24,991.991 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:37:25,044.044 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:37:25,047.047 INFO    ] No update needed
[2026-08-29 19:37:25,050.050 INFO    ] Checking for camera pi updates...
[2026-08-29 19:37:25,084.084 INFO    ] 200
[2026-08-29 19:37:25,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:37:25,131.131 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:37:25,232.232 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:37:25,235.235 INFO    ] No camera update needed
[2026-08-29 19:37:25,237.237 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:37:25,239.239 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:37:25,245.245 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:37:25,250.250 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:37:27,294.294 INFO    ] ================================================
[2026-08-29 19:37:27,309.309 INFO    ] Launching Daemon at Sat Aug 29 19:37:27 IST 2026
[2026-08-29 19:37:27,320.320 INFO    ] ================================================
[2026-08-29 19:37:27,657.657 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:37:27
[2026-08-29 19:37:27,973.973 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:37:28,116.116 INFO    ] Initializing speech engine...
[2026-08-29 19:37:28,127.127 INFO    ] 2026-08-29 19:37:28
[2026-08-29 19:37:28,346.346 INFO    ] 2026-08-29 19:37:28
[2026-08-29 19:37:28,376.376 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:37:28,508.508 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:37:28,571.571 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:37:28,716.716 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:37:28,768.768 INFO    ] time= 29/08/2026 19:37:28
[2026-08-29 19:37:28,813.813 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:37:28,824.824 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:37:28,900.900 INFO    ] No existing commands found in stream
[2026-08-29 19:37:33,911.911 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:37:33,914.914 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-08-29 19:37:35,896.896 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:37:35,898.898 INFO    ] Checking for system updates...
[2026-08-29 19:37:35,920.920 INFO    ] 200
[2026-08-29 19:37:35,921.921 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:37:35,951.951 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:37:35,952.952 INFO    ] No update needed
[2026-08-29 19:37:35,953.953 INFO    ] Checking for camera pi updates...
[2026-08-29 19:37:35,973.973 INFO    ] 200
[2026-08-29 19:37:35,974.974 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:37:35,998.998 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:37:36,076.076 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:37:36,077.077 INFO    ] No camera update needed
[2026-08-29 19:37:36,078.078 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:37:36,080.080 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:37:36,083.083 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:37:36,086.086 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:37:38,125.125 INFO    ] ================================================
[2026-08-29 19:37:38,140.140 INFO    ] Launching Daemon at Sat Aug 29 19:37:38 IST 2026
[2026-08-29 19:37:38,150.150 INFO    ] ================================================
[2026-08-29 19:37:38,740.740 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:37:38
[2026-08-29 19:37:39,408.408 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:37:39,711.711 INFO    ] Initializing speech engine...
[2026-08-29 19:37:39,725.725 INFO    ] 2026-08-29 19:37:39
[2026-08-29 19:37:39,999.999 INFO    ] 2026-08-29 19:37:39
[2026-08-29 19:37:40,057.057 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:37:40,284.284 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:37:40,295.295 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:37:40,433.433 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:37:40,494.494 INFO    ] time= 29/08/2026 19:37:40
[2026-08-29 19:37:40,544.544 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:37:40,571.571 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:37:40,625.625 INFO    ] No existing commands found in stream
[2026-08-29 19:37:45,637.637 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:37:45,640.640 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-08-29 19:37:46,468.468 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:37:46,470.470 INFO    ] Checking for system updates...
[2026-08-29 19:37:46,490.490 INFO    ] 200
[2026-08-29 19:37:46,491.491 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:37:46,524.524 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:37:46,525.525 INFO    ] No update needed
[2026-08-29 19:37:46,526.526 INFO    ] Checking for camera pi updates...
[2026-08-29 19:37:46,546.546 INFO    ] 200
[2026-08-29 19:37:46,548.548 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:37:46,571.571 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:37:46,660.660 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:37:46,661.661 INFO    ] No camera update needed
[2026-08-29 19:37:46,663.663 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:37:46,664.664 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:37:46,667.667 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:37:46,670.670 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:37:48,709.709 INFO    ] ================================================
[2026-08-29 19:37:48,724.724 INFO    ] Launching Daemon at Sat Aug 29 19:37:48 IST 2026
[2026-08-29 19:37:48,735.735 INFO    ] ================================================
[2026-08-29 19:37:49,081.081 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:37:49
[2026-08-29 19:37:49,392.392 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:37:49,524.524 INFO    ] Initializing speech engine...
[2026-08-29 19:37:49,529.529 INFO    ] 2026-08-29 19:37:49
[2026-08-29 19:37:49,757.757 INFO    ] 2026-08-29 19:37:49
[2026-08-29 19:37:49,787.787 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:37:49,884.884 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:37:49,920.920 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:37:50,022.022 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:37:50,026.026 INFO    ] time= 29/08/2026 19:37:50
[2026-08-29 19:37:50,076.076 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:37:50,111.111 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:37:50,232.232 INFO    ] No existing commands found in stream
[2026-08-29 19:37:55,257.257 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:37:55,260.260 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-08-29 19:37:58,250.250 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:37:58,252.252 INFO    ] Checking for system updates...
[2026-08-29 19:37:58,272.272 INFO    ] 200
[2026-08-29 19:37:58,274.274 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:37:58,304.304 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:37:58,305.305 INFO    ] No update needed
[2026-08-29 19:37:58,306.306 INFO    ] Checking for camera pi updates...
[2026-08-29 19:37:58,325.325 INFO    ] 200
[2026-08-29 19:37:58,327.327 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:37:58,352.352 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:37:58,458.458 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:37:58,459.459 INFO    ] No camera update needed
[2026-08-29 19:37:58,460.460 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:37:58,461.461 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:37:58,464.464 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:37:58,467.467 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:38:00,505.505 INFO    ] ================================================
[2026-08-29 19:38:00,521.521 INFO    ] Launching Daemon at Sat Aug 29 19:38:00 IST 2026
[2026-08-29 19:38:00,532.532 INFO    ] ================================================
[2026-08-29 19:38:00,866.866 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:38:00
[2026-08-29 19:38:01,350.350 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:38:01,676.676 INFO    ] Initializing speech engine...
[2026-08-29 19:38:01,686.686 INFO    ] 2026-08-29 19:38:01
[2026-08-29 19:38:01,972.972 INFO    ] 2026-08-29 19:38:01
[2026-08-29 19:38:02,011.011 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:38:02,198.198 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:38:02,228.228 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:38:02,369.369 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:38:02,379.379 INFO    ] time= 29/08/2026 19:38:02
[2026-08-29 19:38:02,387.387 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:38:02,433.433 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:38:02,554.554 INFO    ] No existing commands found in stream
[2026-08-29 19:38:07,588.588 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:38:07,590.590 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 19:38:08,992.992 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:38:08,993.993 INFO    ] Checking for system updates...
[2026-08-29 19:38:09,014.014 INFO    ] 200
[2026-08-29 19:38:09,015.015 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:38:09,047.047 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:38:09,049.049 INFO    ] No update needed
[2026-08-29 19:38:09,050.050 INFO    ] Checking for camera pi updates...
[2026-08-29 19:38:09,069.069 INFO    ] 200
[2026-08-29 19:38:09,070.070 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:38:09,093.093 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:38:09,185.185 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:38:09,187.187 INFO    ] No camera update needed
[2026-08-29 19:38:09,189.189 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:38:09,192.192 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:38:09,197.197 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:38:09,202.202 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:38:11,242.242 INFO    ] ================================================
[2026-08-29 19:38:11,258.258 INFO    ] Launching Daemon at Sat Aug 29 19:38:11 IST 2026
[2026-08-29 19:38:11,269.269 INFO    ] ================================================
[2026-08-29 19:38:11,942.942 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:38:11
[2026-08-29 19:38:12,436.436 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:38:12,587.587 INFO    ] Initializing speech engine...
[2026-08-29 19:38:12,592.592 INFO    ] 2026-08-29 19:38:12
[2026-08-29 19:38:12,804.804 INFO    ] 2026-08-29 19:38:12
[2026-08-29 19:38:12,833.833 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:38:12,954.954 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:38:12,998.998 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:38:13,174.174 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:38:13,226.226 INFO    ] time= 29/08/2026 19:38:13
[2026-08-29 19:38:13,249.249 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:38:13,256.256 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:38:13,324.324 INFO    ] No existing commands found in stream
[2026-08-29 19:38:18,333.333 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:38:18,337.337 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-08-29 19:38:19,374.374 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:38:19,376.376 INFO    ] Checking for system updates...
[2026-08-29 19:38:19,396.396 INFO    ] 200
[2026-08-29 19:38:19,397.397 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:38:19,430.430 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:38:19,431.431 INFO    ] No update needed
[2026-08-29 19:38:19,432.432 INFO    ] Checking for camera pi updates...
[2026-08-29 19:38:19,451.451 INFO    ] 200
[2026-08-29 19:38:19,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:38:19,476.476 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:38:19,553.553 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:38:19,554.554 INFO    ] No camera update needed
[2026-08-29 19:38:19,556.556 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:38:19,557.557 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:38:19,560.560 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:38:19,562.562 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:38:21,601.601 INFO    ] ================================================
[2026-08-29 19:38:21,616.616 INFO    ] Launching Daemon at Sat Aug 29 19:38:21 IST 2026
[2026-08-29 19:38:21,626.626 INFO    ] ================================================
[2026-08-29 19:38:21,963.963 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:38:21
[2026-08-29 19:38:22,282.282 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:38:22,421.421 INFO    ] Initializing speech engine...
[2026-08-29 19:38:22,432.432 INFO    ] 2026-08-29 19:38:22
[2026-08-29 19:38:22,628.628 INFO    ] 2026-08-29 19:38:22
[2026-08-29 19:38:22,672.672 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:38:22,896.896 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:38:22,906.906 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:38:23,041.041 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:38:23,108.108 INFO    ] time= 29/08/2026 19:38:23
[2026-08-29 19:38:23,170.170 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:38:23,178.178 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:38:23,304.304 INFO    ] No existing commands found in stream
[2026-08-29 19:38:28,330.330 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:38:28,333.333 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-08-29 19:38:30,008.008 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:38:30,010.010 INFO    ] Checking for system updates...
[2026-08-29 19:38:30,031.031 INFO    ] 200
[2026-08-29 19:38:30,032.032 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:38:30,065.065 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:38:30,066.066 INFO    ] No update needed
[2026-08-29 19:38:30,067.067 INFO    ] Checking for camera pi updates...
[2026-08-29 19:38:30,086.086 INFO    ] 200
[2026-08-29 19:38:30,088.088 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:38:30,113.113 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:38:30,208.208 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:38:30,209.209 INFO    ] No camera update needed
[2026-08-29 19:38:30,211.211 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:38:30,212.212 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:38:30,215.215 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:38:30,218.218 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:38:32,264.264 INFO    ] ================================================
[2026-08-29 19:38:32,280.280 INFO    ] Launching Daemon at Sat Aug 29 19:38:32 IST 2026
[2026-08-29 19:38:32,292.292 INFO    ] ================================================
[2026-08-29 19:38:32,875.875 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:38:32
[2026-08-29 19:38:33,458.458 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:38:33,731.731 INFO    ] Initializing speech engine...
[2026-08-29 19:38:33,738.738 INFO    ] 2026-08-29 19:38:33
[2026-08-29 19:38:33,982.982 INFO    ] 2026-08-29 19:38:33
[2026-08-29 19:38:34,016.016 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:38:34,190.190 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:38:34,202.202 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:38:34,328.328 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:38:34,348.348 INFO    ] time= 29/08/2026 19:38:34
[2026-08-29 19:38:34,357.357 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:38:34,363.363 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:38:34,426.426 INFO    ] No existing commands found in stream
[2026-08-29 19:38:39,438.438 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:38:39,441.441 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 19:38:41,355.355 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:38:41,357.357 INFO    ] Checking for system updates...
[2026-08-29 19:38:41,378.378 INFO    ] 200
[2026-08-29 19:38:41,379.379 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:38:41,409.409 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:38:41,410.410 INFO    ] No update needed
[2026-08-29 19:38:41,412.412 INFO    ] Checking for camera pi updates...
[2026-08-29 19:38:41,432.432 INFO    ] 200
[2026-08-29 19:38:41,434.434 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:38:41,456.456 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:38:41,538.538 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:38:41,539.539 INFO    ] No camera update needed
[2026-08-29 19:38:41,540.540 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:38:41,541.541 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:38:41,544.544 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:38:41,547.547 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:38:43,587.587 INFO    ] ================================================
[2026-08-29 19:38:43,602.602 INFO    ] Launching Daemon at Sat Aug 29 19:38:43 IST 2026
[2026-08-29 19:38:43,613.613 INFO    ] ================================================
[2026-08-29 19:38:43,955.955 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:38:43
[2026-08-29 19:38:44,499.499 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:38:44,769.769 INFO    ] Initializing speech engine...
[2026-08-29 19:38:44,777.777 INFO    ] 2026-08-29 19:38:44
[2026-08-29 19:38:45,025.025 INFO    ] 2026-08-29 19:38:45
[2026-08-29 19:38:45,060.060 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:38:45,233.233 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:38:45,256.256 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:38:45,352.352 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:38:45,358.358 INFO    ] time= 29/08/2026 19:38:45
[2026-08-29 19:38:45,363.363 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:38:45,382.382 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:38:45,472.472 INFO    ] No existing commands found in stream
[2026-08-29 19:38:50,484.484 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:38:50,487.487 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-08-29 19:38:54,105.105 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:38:54,107.107 INFO    ] Checking for system updates...
[2026-08-29 19:38:54,127.127 INFO    ] 200
[2026-08-29 19:38:54,129.129 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:38:54,159.159 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:38:54,160.160 INFO    ] No update needed
[2026-08-29 19:38:54,161.161 INFO    ] Checking for camera pi updates...
[2026-08-29 19:38:54,182.182 INFO    ] 200
[2026-08-29 19:38:54,183.183 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:38:54,208.208 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:38:54,282.282 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:38:54,284.284 INFO    ] No camera update needed
[2026-08-29 19:38:54,285.285 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:38:54,286.286 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:38:54,289.289 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:38:54,292.292 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:38:56,332.332 INFO    ] ================================================
[2026-08-29 19:38:56,347.347 INFO    ] Launching Daemon at Sat Aug 29 19:38:56 IST 2026
[2026-08-29 19:38:56,362.362 INFO    ] ================================================
[2026-08-29 19:38:56,719.719 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:38:56
[2026-08-29 19:38:57,037.037 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:38:57,175.175 INFO    ] Initializing speech engine...
[2026-08-29 19:38:57,184.184 INFO    ] 2026-08-29 19:38:57
[2026-08-29 19:38:57,459.459 INFO    ] 2026-08-29 19:38:57
[2026-08-29 19:38:57,489.489 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:38:57,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:38:57,588.588 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:38:57,698.698 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:38:57,708.708 INFO    ] time= 29/08/2026 19:38:57
[2026-08-29 19:38:57,714.714 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:38:57,729.729 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:38:57,813.813 INFO    ] No existing commands found in stream
[2026-08-29 19:39:02,842.842 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:39:02,845.845 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-08-29 19:39:06,576.576 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:39:06,578.578 INFO    ] Checking for system updates...
[2026-08-29 19:39:06,599.599 INFO    ] 200
[2026-08-29 19:39:06,600.600 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:39:06,631.631 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:39:06,632.632 INFO    ] No update needed
[2026-08-29 19:39:06,633.633 INFO    ] Checking for camera pi updates...
[2026-08-29 19:39:06,654.654 INFO    ] 200
[2026-08-29 19:39:06,655.655 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:39:06,679.679 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:39:06,757.757 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:39:06,758.758 INFO    ] No camera update needed
[2026-08-29 19:39:06,759.759 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:39:06,761.761 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:39:06,764.764 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:39:06,766.766 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:39:08,804.804 INFO    ] ================================================
[2026-08-29 19:39:08,819.819 INFO    ] Launching Daemon at Sat Aug 29 19:39:08 IST 2026
[2026-08-29 19:39:08,830.830 INFO    ] ================================================
[2026-08-29 19:39:09,167.167 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:39:09
[2026-08-29 19:39:09,486.486 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:39:09,618.618 INFO    ] Initializing speech engine...
[2026-08-29 19:39:09,623.623 INFO    ] 2026-08-29 19:39:09
[2026-08-29 19:39:09,841.841 INFO    ] 2026-08-29 19:39:09
[2026-08-29 19:39:09,869.869 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:39:10,047.047 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:39:10,094.094 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:39:10,230.230 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:39:10,238.238 INFO    ] time= 29/08/2026 19:39:10
[2026-08-29 19:39:10,255.255 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:39:10,323.323 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:39:10,397.397 INFO    ] No existing commands found in stream
[2026-08-29 19:39:15,422.422 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:39:15,425.425 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-08-29 19:39:17,894.894 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:39:17,897.897 INFO    ] Checking for system updates...
[2026-08-29 19:39:17,936.936 INFO    ] 200
[2026-08-29 19:39:17,938.938 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:39:17,998.998 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:39:18,000.000 INFO    ] No update needed
[2026-08-29 19:39:18,003.003 INFO    ] Checking for camera pi updates...
[2026-08-29 19:39:18,048.048 INFO    ] 200
[2026-08-29 19:39:18,050.050 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:39:18,092.092 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:39:18,302.302 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:39:18,305.305 INFO    ] No camera update needed
[2026-08-29 19:39:18,308.308 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:39:18,310.310 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:39:18,316.316 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:39:18,322.322 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:39:20,361.361 INFO    ] ================================================
[2026-08-29 19:39:20,377.377 INFO    ] Launching Daemon at Sat Aug 29 19:39:20 IST 2026
[2026-08-29 19:39:20,388.388 INFO    ] ================================================
[2026-08-29 19:39:20,946.946 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:39:20
[2026-08-29 19:39:21,257.257 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:39:21,395.395 INFO    ] Initializing speech engine...
[2026-08-29 19:39:21,405.405 INFO    ] 2026-08-29 19:39:21
[2026-08-29 19:39:21,607.607 INFO    ] 2026-08-29 19:39:21
[2026-08-29 19:39:21,637.637 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:39:21,780.780 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:39:21,796.796 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:39:21,917.917 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:39:21,933.933 INFO    ] time= 29/08/2026 19:39:21
[2026-08-29 19:39:21,952.952 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:39:21,970.970 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:39:22,072.072 INFO    ] No existing commands found in stream
[2026-08-29 19:39:27,084.084 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:39:27,087.087 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 19:39:28,522.522 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:39:28,524.524 INFO    ] Checking for system updates...
[2026-08-29 19:39:28,546.546 INFO    ] 200
[2026-08-29 19:39:28,547.547 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:39:28,578.578 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:39:28,579.579 INFO    ] No update needed
[2026-08-29 19:39:28,580.580 INFO    ] Checking for camera pi updates...
[2026-08-29 19:39:28,599.599 INFO    ] 200
[2026-08-29 19:39:28,601.601 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:39:28,624.624 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:39:28,705.705 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:39:28,706.706 INFO    ] No camera update needed
[2026-08-29 19:39:28,707.707 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:39:28,708.708 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:39:28,711.711 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:39:28,714.714 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:39:30,753.753 INFO    ] ================================================
[2026-08-29 19:39:30,768.768 INFO    ] Launching Daemon at Sat Aug 29 19:39:30 IST 2026
[2026-08-29 19:39:30,778.778 INFO    ] ================================================
[2026-08-29 19:39:31,155.155 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:39:31
[2026-08-29 19:39:31,802.802 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:39:32,129.129 INFO    ] Initializing speech engine...
[2026-08-29 19:39:32,143.143 INFO    ] 2026-08-29 19:39:32
[2026-08-29 19:39:32,431.431 INFO    ] 2026-08-29 19:39:32
[2026-08-29 19:39:32,498.498 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:39:32,720.720 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:39:32,730.730 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:39:32,865.865 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:39:32,902.902 INFO    ] time= 29/08/2026 19:39:32
[2026-08-29 19:39:32,947.947 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:39:32,999.999 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:39:33,055.055 INFO    ] No existing commands found in stream
[2026-08-29 19:39:38,069.069 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:39:38,072.072 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-08-29 19:39:39,723.723 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:39:39,724.724 INFO    ] Checking for system updates...
[2026-08-29 19:39:39,745.745 INFO    ] 200
[2026-08-29 19:39:39,747.747 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:39:39,779.779 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:39:39,780.780 INFO    ] No update needed
[2026-08-29 19:39:39,782.782 INFO    ] Checking for camera pi updates...
[2026-08-29 19:39:39,801.801 INFO    ] 200
[2026-08-29 19:39:39,802.802 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:39:39,828.828 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:39:39,921.921 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:39:39,922.922 INFO    ] No camera update needed
[2026-08-29 19:39:39,923.923 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:39:39,924.924 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:39:39,927.927 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:39:39,930.930 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:39:41,968.968 INFO    ] ================================================
[2026-08-29 19:39:41,983.983 INFO    ] Launching Daemon at Sat Aug 29 19:39:41 IST 2026
[2026-08-29 19:39:41,994.994 INFO    ] ================================================
[2026-08-29 19:39:42,343.343 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:39:42
[2026-08-29 19:39:42,657.657 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:39:42,886.886 INFO    ] Initializing speech engine...
[2026-08-29 19:39:42,895.895 INFO    ] 2026-08-29 19:39:42
[2026-08-29 19:39:43,147.147 INFO    ] 2026-08-29 19:39:43
[2026-08-29 19:39:43,181.181 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:39:43,358.358 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:39:43,371.371 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:39:43,483.483 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:39:43,489.489 INFO    ] time= 29/08/2026 19:39:43
[2026-08-29 19:39:43,523.523 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:39:43,531.531 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:39:43,601.601 INFO    ] No existing commands found in stream
[2026-08-29 19:39:48,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:39:48,616.616 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-08-29 19:39:50,417.417 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:39:50,419.419 INFO    ] Checking for system updates...
[2026-08-29 19:39:50,439.439 INFO    ] 200
[2026-08-29 19:39:50,441.441 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:39:50,471.471 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:39:50,472.472 INFO    ] No update needed
[2026-08-29 19:39:50,473.473 INFO    ] Checking for camera pi updates...
[2026-08-29 19:39:50,495.495 INFO    ] 200
[2026-08-29 19:39:50,496.496 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:39:50,520.520 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:39:50,601.601 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:39:50,602.602 INFO    ] No camera update needed
[2026-08-29 19:39:50,603.603 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:39:50,605.605 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:39:50,607.607 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:39:50,610.610 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:39:52,650.650 INFO    ] ================================================
[2026-08-29 19:39:52,665.665 INFO    ] Launching Daemon at Sat Aug 29 19:39:52 IST 2026
[2026-08-29 19:39:52,676.676 INFO    ] ================================================
[2026-08-29 19:39:53,283.283 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:39:53
[2026-08-29 19:39:53,953.953 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:39:54,261.261 INFO    ] Initializing speech engine...
[2026-08-29 19:39:54,274.274 INFO    ] 2026-08-29 19:39:54
[2026-08-29 19:39:54,548.548 INFO    ] 2026-08-29 19:39:54
[2026-08-29 19:39:54,604.604 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:39:54,830.830 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:39:54,841.841 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:39:54,980.980 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:39:55,040.040 INFO    ] time= 29/08/2026 19:39:54
[2026-08-29 19:39:55,080.080 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:39:55,116.116 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:39:55,172.172 INFO    ] No existing commands found in stream
[2026-08-29 19:40:00,184.184 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:40:00,187.187 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-08-29 19:40:01,897.897 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:40:01,901.901 INFO    ] Checking for system updates...
[2026-08-29 19:40:02,092.092 INFO    ] 200
[2026-08-29 19:40:02,096.096 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:40:02,263.263 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:40:02,266.266 INFO    ] No update needed
[2026-08-29 19:40:02,269.269 INFO    ] Checking for camera pi updates...
[2026-08-29 19:40:02,405.405 INFO    ] 200
[2026-08-29 19:40:02,408.408 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:40:02,652.652 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:40:03,184.184 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:40:03,187.187 INFO    ] No camera update needed
[2026-08-29 19:40:03,191.191 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:40:03,194.194 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:40:03,201.201 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:40:03,208.208 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:40:05,249.249 INFO    ] ================================================
[2026-08-29 19:40:05,265.265 INFO    ] Launching Daemon at Sat Aug 29 19:40:05 IST 2026
[2026-08-29 19:40:05,276.276 INFO    ] ================================================
[2026-08-29 19:40:05,647.647 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:40:05
[2026-08-29 19:40:06,250.250 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:40:06,526.526 INFO    ] Initializing speech engine...
[2026-08-29 19:40:06,535.535 INFO    ] 2026-08-29 19:40:06
[2026-08-29 19:40:06,791.791 INFO    ] 2026-08-29 19:40:06
[2026-08-29 19:40:06,850.850 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:40:06,993.993 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:40:07,006.006 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:40:07,153.153 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:40:07,160.160 INFO    ] time= 29/08/2026 19:40:07
[2026-08-29 19:40:07,169.169 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:40:07,217.217 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:40:07,326.326 INFO    ] No existing commands found in stream
[2026-08-29 19:40:12,357.357 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:40:12,360.360 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-08-29 19:40:14,894.894 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:40:14,895.895 INFO    ] Checking for system updates...
[2026-08-29 19:40:14,916.916 INFO    ] 200
[2026-08-29 19:40:14,918.918 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:40:14,951.951 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:40:14,952.952 INFO    ] No update needed
[2026-08-29 19:40:14,954.954 INFO    ] Checking for camera pi updates...
[2026-08-29 19:40:14,976.976 INFO    ] 200
[2026-08-29 19:40:14,977.977 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:40:15,001.001 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:40:15,077.077 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:40:15,078.078 INFO    ] No camera update needed
[2026-08-29 19:40:15,080.080 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:40:15,081.081 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:40:15,085.085 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:40:15,088.088 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:40:17,129.129 INFO    ] ================================================
[2026-08-29 19:40:17,144.144 INFO    ] Launching Daemon at Sat Aug 29 19:40:17 IST 2026
[2026-08-29 19:40:17,155.155 INFO    ] ================================================
[2026-08-29 19:40:17,512.512 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:40:17
[2026-08-29 19:40:17,830.830 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:40:18,041.041 INFO    ] Initializing speech engine...
[2026-08-29 19:40:18,048.048 INFO    ] 2026-08-29 19:40:18
[2026-08-29 19:40:18,310.310 INFO    ] 2026-08-29 19:40:18
[2026-08-29 19:40:18,364.364 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:40:18,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:40:18,596.596 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:40:18,728.728 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:40:18,765.765 INFO    ] time= 29/08/2026 19:40:18
[2026-08-29 19:40:18,820.820 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:40:18,861.861 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:40:18,914.914 INFO    ] No existing commands found in stream
[2026-08-29 19:40:23,926.926 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:40:23,929.929 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-08-29 19:40:25,918.918 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:40:25,921.921 INFO    ] Checking for system updates...
[2026-08-29 19:40:25,957.957 INFO    ] 200
[2026-08-29 19:40:25,960.960 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:40:26,014.014 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:40:26,016.016 INFO    ] No update needed
[2026-08-29 19:40:26,019.019 INFO    ] Checking for camera pi updates...
[2026-08-29 19:40:26,053.053 INFO    ] 200
[2026-08-29 19:40:26,056.056 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:40:26,097.097 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:40:26,212.212 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:40:26,215.215 INFO    ] No camera update needed
[2026-08-29 19:40:26,217.217 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:40:26,220.220 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:40:26,225.225 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:40:26,230.230 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:40:28,269.269 INFO    ] ================================================
[2026-08-29 19:40:28,285.285 INFO    ] Launching Daemon at Sat Aug 29 19:40:28 IST 2026
[2026-08-29 19:40:28,296.296 INFO    ] ================================================
[2026-08-29 19:40:28,858.858 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:40:28
[2026-08-29 19:40:29,197.197 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:40:29,348.348 INFO    ] Initializing speech engine...
[2026-08-29 19:40:29,353.353 INFO    ] 2026-08-29 19:40:29
[2026-08-29 19:40:29,609.609 INFO    ] 2026-08-29 19:40:29
[2026-08-29 19:40:29,665.665 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:40:29,829.829 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:40:29,838.838 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:40:30,009.009 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:40:30,038.038 INFO    ] time= 29/08/2026 19:40:30
[2026-08-29 19:40:30,056.056 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:40:30,066.066 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:40:30,170.170 INFO    ] No existing commands found in stream
[2026-08-29 19:40:35,198.198 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:40:35,201.201 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-08-29 19:40:39,058.058 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:40:39,061.061 INFO    ] Checking for system updates...
[2026-08-29 19:40:39,104.104 INFO    ] 200
[2026-08-29 19:40:39,107.107 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:40:39,167.167 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:40:39,170.170 INFO    ] No update needed
[2026-08-29 19:40:39,173.173 INFO    ] Checking for camera pi updates...
[2026-08-29 19:40:39,207.207 INFO    ] 200
[2026-08-29 19:40:39,209.209 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:40:39,254.254 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:40:39,338.338 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:40:39,340.340 INFO    ] No camera update needed
[2026-08-29 19:40:39,342.342 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:40:39,345.345 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:40:39,350.350 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:40:39,355.355 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:40:41,394.394 INFO    ] ================================================
[2026-08-29 19:40:41,410.410 INFO    ] Launching Daemon at Sat Aug 29 19:40:41 IST 2026
[2026-08-29 19:40:41,420.420 INFO    ] ================================================
[2026-08-29 19:40:41,923.923 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:40:41
[2026-08-29 19:40:42,551.551 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:40:42,854.854 INFO    ] Initializing speech engine...
[2026-08-29 19:40:42,866.866 INFO    ] 2026-08-29 19:40:42
[2026-08-29 19:40:43,182.182 INFO    ] 2026-08-29 19:40:43
[2026-08-29 19:40:43,270.270 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:40:43,418.418 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:40:43,421.421 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:40:43,566.566 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:40:43,614.614 INFO    ] time= 29/08/2026 19:40:43
[2026-08-29 19:40:43,678.678 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:40:43,701.701 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:40:43,825.825 INFO    ] No existing commands found in stream
[2026-08-29 19:40:48,851.851 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:40:48,854.854 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-08-29 19:40:50,719.719 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:40:50,721.721 INFO    ] Checking for system updates...
[2026-08-29 19:40:50,742.742 INFO    ] 200
[2026-08-29 19:40:50,743.743 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:40:50,776.776 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:40:50,777.777 INFO    ] No update needed
[2026-08-29 19:40:50,778.778 INFO    ] Checking for camera pi updates...
[2026-08-29 19:40:50,816.816 INFO    ] 200
[2026-08-29 19:40:50,819.819 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:40:50,859.859 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:40:50,942.942 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:40:50,944.944 INFO    ] No camera update needed
[2026-08-29 19:40:50,946.946 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:40:50,949.949 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:40:50,954.954 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:40:50,959.959 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:40:53,999.999 INFO    ] ================================================
[2026-08-29 19:40:53,014.014 INFO    ] Launching Daemon at Sat Aug 29 19:40:53 IST 2026
[2026-08-29 19:40:53,024.024 INFO    ] ================================================
[2026-08-29 19:40:53,590.590 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:40:53
[2026-08-29 19:40:54,057.057 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:40:54,193.193 INFO    ] Initializing speech engine...
[2026-08-29 19:40:54,203.203 INFO    ] 2026-08-29 19:40:54
[2026-08-29 19:40:54,408.408 INFO    ] 2026-08-29 19:40:54
[2026-08-29 19:40:54,486.486 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:40:54,633.633 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:40:54,642.642 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:40:54,776.776 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:40:54,815.815 INFO    ] time= 29/08/2026 19:40:54
[2026-08-29 19:40:54,859.859 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:40:54,904.904 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:40:54,964.964 INFO    ] No existing commands found in stream
[2026-08-29 19:40:59,978.978 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:40:59,980.980 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-08-29 19:41:03,199.199 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:41:03,202.202 INFO    ] Checking for system updates...
[2026-08-29 19:41:03,242.242 INFO    ] 200
[2026-08-29 19:41:03,244.244 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:41:03,297.297 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:41:03,299.299 INFO    ] No update needed
[2026-08-29 19:41:03,301.301 INFO    ] Checking for camera pi updates...
[2026-08-29 19:41:03,339.339 INFO    ] 200
[2026-08-29 19:41:03,342.342 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:41:03,387.387 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:41:03,469.469 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:41:03,471.471 INFO    ] No camera update needed
[2026-08-29 19:41:03,474.474 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:41:03,476.476 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:41:03,482.482 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:41:03,487.487 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:41:05,527.527 INFO    ] ================================================
[2026-08-29 19:41:05,543.543 INFO    ] Launching Daemon at Sat Aug 29 19:41:05 IST 2026
[2026-08-29 19:41:05,554.554 INFO    ] ================================================
[2026-08-29 19:41:05,894.894 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:41:05
[2026-08-29 19:41:06,487.487 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:41:06,761.761 INFO    ] Initializing speech engine...
[2026-08-29 19:41:06,770.770 INFO    ] 2026-08-29 19:41:06
[2026-08-29 19:41:07,019.019 INFO    ] 2026-08-29 19:41:07
[2026-08-29 19:41:07,084.084 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:41:07,253.253 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:41:07,307.307 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:41:07,448.448 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:41:07,460.460 INFO    ] time= 29/08/2026 19:41:07
[2026-08-29 19:41:07,529.529 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:41:07,581.581 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:41:07,637.637 INFO    ] No existing commands found in stream
[2026-08-29 19:41:12,649.649 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:41:12,652.652 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-08-29 19:41:14,811.811 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:41:14,814.814 INFO    ] Checking for system updates...
[2026-08-29 19:41:14,851.851 INFO    ] 200
[2026-08-29 19:41:14,854.854 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:41:14,913.913 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:41:14,916.916 INFO    ] No update needed
[2026-08-29 19:41:14,919.919 INFO    ] Checking for camera pi updates...
[2026-08-29 19:41:14,954.954 INFO    ] 200
[2026-08-29 19:41:14,957.957 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:41:14,999.999 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:41:15,079.079 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:41:15,082.082 INFO    ] No camera update needed
[2026-08-29 19:41:15,084.084 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:41:15,087.087 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:41:15,093.093 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:41:15,099.099 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:41:17,139.139 INFO    ] ================================================
[2026-08-29 19:41:17,153.153 INFO    ] Launching Daemon at Sat Aug 29 19:41:17 IST 2026
[2026-08-29 19:41:17,164.164 INFO    ] ================================================
[2026-08-29 19:41:17,804.804 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:41:17
[2026-08-29 19:41:18,155.155 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:41:18,308.308 INFO    ] Initializing speech engine...
[2026-08-29 19:41:18,313.313 INFO    ] 2026-08-29 19:41:18
[2026-08-29 19:41:18,517.517 INFO    ] 2026-08-29 19:41:18
[2026-08-29 19:41:18,547.547 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:41:18,690.690 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:41:18,733.733 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:41:18,877.877 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:41:18,939.939 INFO    ] time= 29/08/2026 19:41:18
[2026-08-29 19:41:18,963.963 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:41:18,969.969 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:41:19,035.035 INFO    ] No existing commands found in stream
[2026-08-29 19:41:24,046.046 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:41:24,049.049 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-08-29 19:41:25,965.965 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:41:25,966.966 INFO    ] Checking for system updates...
[2026-08-29 19:41:25,987.987 INFO    ] 200
[2026-08-29 19:41:25,988.988 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:41:26,020.020 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:41:26,022.022 INFO    ] No update needed
[2026-08-29 19:41:26,023.023 INFO    ] Checking for camera pi updates...
[2026-08-29 19:41:26,045.045 INFO    ] 200
[2026-08-29 19:41:26,046.046 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:41:26,069.069 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:41:26,243.243 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:41:26,244.244 INFO    ] No camera update needed
[2026-08-29 19:41:26,245.245 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:41:26,247.247 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:41:26,250.250 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:41:26,253.253 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:41:28,292.292 INFO    ] ================================================
[2026-08-29 19:41:28,307.307 INFO    ] Launching Daemon at Sat Aug 29 19:41:28 IST 2026
[2026-08-29 19:41:28,318.318 INFO    ] ================================================
[2026-08-29 19:41:28,694.694 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:41:28
[2026-08-29 19:41:29,031.031 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:41:29,185.185 INFO    ] Initializing speech engine...
[2026-08-29 19:41:29,197.197 INFO    ] 2026-08-29 19:41:29
[2026-08-29 19:41:29,398.398 INFO    ] 2026-08-29 19:41:29
[2026-08-29 19:41:29,430.430 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:41:29,593.593 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:41:29,601.601 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:41:29,768.768 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:41:29,801.801 INFO    ] time= 29/08/2026 19:41:29
[2026-08-29 19:41:29,807.807 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:41:29,828.828 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:41:29,939.939 INFO    ] No existing commands found in stream
[2026-08-29 19:41:34,964.964 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:41:34,968.968 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-08-29 19:41:38,195.195 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:41:38,197.197 INFO    ] Checking for system updates...
[2026-08-29 19:41:38,219.219 INFO    ] 200
[2026-08-29 19:41:38,220.220 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:41:38,254.254 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:41:38,256.256 INFO    ] No update needed
[2026-08-29 19:41:38,258.258 INFO    ] Checking for camera pi updates...
[2026-08-29 19:41:38,277.277 INFO    ] 200
[2026-08-29 19:41:38,278.278 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:41:38,305.305 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:41:38,389.389 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:41:38,391.391 INFO    ] No camera update needed
[2026-08-29 19:41:38,394.394 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:41:38,397.397 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:41:38,403.403 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:41:38,408.408 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:41:40,450.450 INFO    ] ================================================
[2026-08-29 19:41:40,465.465 INFO    ] Launching Daemon at Sat Aug 29 19:41:40 IST 2026
[2026-08-29 19:41:40,476.476 INFO    ] ================================================
[2026-08-29 19:41:41,041.041 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:41:41
[2026-08-29 19:41:41,534.534 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:41:41,671.671 INFO    ] Initializing speech engine...
[2026-08-29 19:41:41,680.680 INFO    ] 2026-08-29 19:41:41
[2026-08-29 19:41:41,886.886 INFO    ] 2026-08-29 19:41:41
[2026-08-29 19:41:41,914.914 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:41:42,043.043 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:41:42,092.092 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:41:42,226.226 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:41:42,233.233 INFO    ] time= 29/08/2026 19:41:42
[2026-08-29 19:41:42,240.240 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:41:42,286.286 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:41:42,402.402 INFO    ] No existing commands found in stream
[2026-08-29 19:41:47,427.427 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:41:47,430.430 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 19:41:51,208.208 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:41:51,209.209 INFO    ] Checking for system updates...
[2026-08-29 19:41:51,230.230 INFO    ] 200
[2026-08-29 19:41:51,231.231 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:41:51,262.262 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:41:51,264.264 INFO    ] No update needed
[2026-08-29 19:41:51,265.265 INFO    ] Checking for camera pi updates...
[2026-08-29 19:41:51,286.286 INFO    ] 200
[2026-08-29 19:41:51,287.287 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:41:51,310.310 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:41:51,413.413 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:41:51,416.416 INFO    ] No camera update needed
[2026-08-29 19:41:51,418.418 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:41:51,420.420 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:41:51,426.426 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:41:51,431.431 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:41:53,473.473 INFO    ] ================================================
[2026-08-29 19:41:53,488.488 INFO    ] Launching Daemon at Sat Aug 29 19:41:53 IST 2026
[2026-08-29 19:41:53,499.499 INFO    ] ================================================
[2026-08-29 19:41:54,124.124 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:41:54
[2026-08-29 19:41:54,586.586 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:41:54,729.729 INFO    ] Initializing speech engine...
[2026-08-29 19:41:54,734.734 INFO    ] 2026-08-29 19:41:54
[2026-08-29 19:41:54,945.945 INFO    ] 2026-08-29 19:41:54
[2026-08-29 19:41:55,025.025 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:41:55,181.181 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:41:55,190.190 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:41:55,326.326 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:41:55,332.332 INFO    ] time= 29/08/2026 19:41:55
[2026-08-29 19:41:55,382.382 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:41:55,441.441 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:41:55,528.528 INFO    ] No existing commands found in stream
[2026-08-29 19:42:00,540.540 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:42:00,543.543 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-08-29 19:42:02,776.776 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:42:02,780.780 INFO    ] Checking for system updates...
[2026-08-29 19:42:02,846.846 INFO    ] 200
[2026-08-29 19:42:02,849.849 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:42:02,918.918 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:42:02,922.922 INFO    ] No update needed
[2026-08-29 19:42:02,925.925 INFO    ] Checking for camera pi updates...
[2026-08-29 19:42:02,967.967 INFO    ] 200
[2026-08-29 19:42:02,970.970 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:42:03,025.025 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:42:03,110.110 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:42:03,114.114 INFO    ] No camera update needed
[2026-08-29 19:42:03,117.117 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:42:03,121.121 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:42:03,128.128 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:42:03,135.135 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:42:05,178.178 INFO    ] ================================================
[2026-08-29 19:42:05,193.193 INFO    ] Launching Daemon at Sat Aug 29 19:42:05 IST 2026
[2026-08-29 19:42:05,204.204 INFO    ] ================================================
[2026-08-29 19:42:05,719.719 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:42:05
[2026-08-29 19:42:06,332.332 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:42:06,626.626 INFO    ] Initializing speech engine...
[2026-08-29 19:42:06,633.633 INFO    ] 2026-08-29 19:42:06
[2026-08-29 19:42:06,926.926 INFO    ] 2026-08-29 19:42:06
[2026-08-29 19:42:06,986.986 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:42:07,149.149 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:42:07,161.161 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:42:07,348.348 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:42:07,355.355 INFO    ] time= 29/08/2026 19:42:07
[2026-08-29 19:42:07,404.404 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:42:07,449.449 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:42:07,532.532 INFO    ] No existing commands found in stream
[2026-08-29 19:42:12,544.544 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:42:12,547.547 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-08-29 19:42:14,474.474 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:42:14,476.476 INFO    ] Checking for system updates...
[2026-08-29 19:42:14,496.496 INFO    ] 200
[2026-08-29 19:42:14,497.497 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:42:14,527.527 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:42:14,529.529 INFO    ] No update needed
[2026-08-29 19:42:14,530.530 INFO    ] Checking for camera pi updates...
[2026-08-29 19:42:14,552.552 INFO    ] 200
[2026-08-29 19:42:14,553.553 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:42:14,577.577 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:42:14,668.668 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:42:14,669.669 INFO    ] No camera update needed
[2026-08-29 19:42:14,671.671 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:42:14,672.672 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:42:14,675.675 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:42:14,677.677 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:42:16,715.715 INFO    ] ================================================
[2026-08-29 19:42:16,730.730 INFO    ] Launching Daemon at Sat Aug 29 19:42:16 IST 2026
[2026-08-29 19:42:16,741.741 INFO    ] ================================================
[2026-08-29 19:42:17,138.138 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:42:17
[2026-08-29 19:42:17,469.469 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:42:17,618.618 INFO    ] Initializing speech engine...
[2026-08-29 19:42:17,624.624 INFO    ] 2026-08-29 19:42:17
[2026-08-29 19:42:17,830.830 INFO    ] 2026-08-29 19:42:17
[2026-08-29 19:42:17,859.859 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:42:17,981.981 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:42:18,019.019 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:42:18,180.180 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:42:18,249.249 INFO    ] time= 29/08/2026 19:42:18
[2026-08-29 19:42:18,273.273 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:42:18,280.280 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:42:18,345.345 INFO    ] No existing commands found in stream
[2026-08-29 19:42:23,356.356 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:42:23,359.359 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-08-29 19:42:26,848.848 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:42:26,850.850 INFO    ] Checking for system updates...
[2026-08-29 19:42:26,871.871 INFO    ] 200
[2026-08-29 19:42:26,872.872 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:42:26,903.903 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:42:26,904.904 INFO    ] No update needed
[2026-08-29 19:42:26,905.905 INFO    ] Checking for camera pi updates...
[2026-08-29 19:42:26,931.931 INFO    ] 200
[2026-08-29 19:42:26,934.934 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:42:26,976.976 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:42:27,062.062 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:42:27,065.065 INFO    ] No camera update needed
[2026-08-29 19:42:27,067.067 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:42:27,070.070 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:42:27,076.076 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:42:27,081.081 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:42:29,122.122 INFO    ] ================================================
[2026-08-29 19:42:29,137.137 INFO    ] Launching Daemon at Sat Aug 29 19:42:29 IST 2026
[2026-08-29 19:42:29,148.148 INFO    ] ================================================
[2026-08-29 19:42:29,722.722 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:42:29
[2026-08-29 19:42:30,186.186 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:42:30,328.328 INFO    ] Initializing speech engine...
[2026-08-29 19:42:30,334.334 INFO    ] 2026-08-29 19:42:30
[2026-08-29 19:42:30,537.537 INFO    ] 2026-08-29 19:42:30
[2026-08-29 19:42:30,565.565 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:42:30,720.720 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:42:30,736.736 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:42:30,875.875 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:42:30,902.902 INFO    ] time= 29/08/2026 19:42:30
[2026-08-29 19:42:30,909.909 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:42:30,917.917 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:42:31,011.011 INFO    ] No existing commands found in stream
[2026-08-29 19:42:36,026.026 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:42:36,029.029 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 19:42:39,577.577 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:42:39,579.579 INFO    ] Checking for system updates...
[2026-08-29 19:42:39,618.618 INFO    ] 200
[2026-08-29 19:42:39,620.620 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:42:39,678.678 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:42:39,680.680 INFO    ] No update needed
[2026-08-29 19:42:39,683.683 INFO    ] Checking for camera pi updates...
[2026-08-29 19:42:39,723.723 INFO    ] 200
[2026-08-29 19:42:39,725.725 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:42:39,766.766 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:42:39,872.872 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:42:39,875.875 INFO    ] No camera update needed
[2026-08-29 19:42:39,877.877 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:42:39,879.879 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:42:39,885.885 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:42:39,889.889 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:42:41,930.930 INFO    ] ================================================
[2026-08-29 19:42:41,945.945 INFO    ] Launching Daemon at Sat Aug 29 19:42:41 IST 2026
[2026-08-29 19:42:41,956.956 INFO    ] ================================================
[2026-08-29 19:42:42,590.590 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:42:42
[2026-08-29 19:42:43,248.248 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:42:43,549.549 INFO    ] Initializing speech engine...
[2026-08-29 19:42:43,563.563 INFO    ] 2026-08-29 19:42:43
[2026-08-29 19:42:43,870.870 INFO    ] 2026-08-29 19:42:43
[2026-08-29 19:42:43,950.950 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:42:44,104.104 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:42:44,114.114 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:42:44,249.249 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:42:44,304.304 INFO    ] time= 29/08/2026 19:42:44
[2026-08-29 19:42:44,359.359 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:42:44,385.385 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:42:44,436.436 INFO    ] No existing commands found in stream
[2026-08-29 19:42:49,450.450 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:42:49,453.453 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-08-29 19:42:52,253.253 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:42:52,254.254 INFO    ] Checking for system updates...
[2026-08-29 19:42:52,275.275 INFO    ] 200
[2026-08-29 19:42:52,276.276 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:42:52,306.306 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:42:52,308.308 INFO    ] No update needed
[2026-08-29 19:42:52,309.309 INFO    ] Checking for camera pi updates...
[2026-08-29 19:42:52,329.329 INFO    ] 200
[2026-08-29 19:42:52,330.330 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:42:52,369.369 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:42:52,453.453 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:42:52,456.456 INFO    ] No camera update needed
[2026-08-29 19:42:52,459.459 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:42:52,463.463 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:42:52,470.470 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:42:52,477.477 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:42:54,518.518 INFO    ] ================================================
[2026-08-29 19:42:54,533.533 INFO    ] Launching Daemon at Sat Aug 29 19:42:54 IST 2026
[2026-08-29 19:42:54,548.548 INFO    ] ================================================
[2026-08-29 19:42:55,135.135 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:42:55
[2026-08-29 19:42:55,606.606 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:42:55,742.742 INFO    ] Initializing speech engine...
[2026-08-29 19:42:55,757.757 INFO    ] 2026-08-29 19:42:55
[2026-08-29 19:42:55,975.975 INFO    ] 2026-08-29 19:42:55
[2026-08-29 19:42:56,005.005 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:42:56,136.136 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:42:56,194.194 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:42:56,345.345 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:42:56,371.371 INFO    ] time= 29/08/2026 19:42:56
[2026-08-29 19:42:56,426.426 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:42:56,452.452 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:42:56,528.528 INFO    ] No existing commands found in stream
[2026-08-29 19:43:01,538.538 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:43:01,547.547 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-08-29 19:43:03,402.402 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:43:03,404.404 INFO    ] Checking for system updates...
[2026-08-29 19:43:03,446.446 INFO    ] 200
[2026-08-29 19:43:03,449.449 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:43:03,508.508 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:43:03,511.511 INFO    ] No update needed
[2026-08-29 19:43:03,515.515 INFO    ] Checking for camera pi updates...
[2026-08-29 19:43:03,556.556 INFO    ] 200
[2026-08-29 19:43:03,560.560 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:43:03,601.601 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:43:03,698.698 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:43:03,701.701 INFO    ] No camera update needed
[2026-08-29 19:43:03,703.703 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:43:03,706.706 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:43:03,712.712 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:43:03,718.718 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:43:05,760.760 INFO    ] ================================================
[2026-08-29 19:43:05,775.775 INFO    ] Launching Daemon at Sat Aug 29 19:43:05 IST 2026
[2026-08-29 19:43:05,786.786 INFO    ] ================================================
[2026-08-29 19:43:06,114.114 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:43:06
[2026-08-29 19:43:06,429.429 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:43:06,578.578 INFO    ] Initializing speech engine...
[2026-08-29 19:43:06,581.581 INFO    ] 2026-08-29 19:43:06
[2026-08-29 19:43:06,812.812 INFO    ] 2026-08-29 19:43:06
[2026-08-29 19:43:06,848.848 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:43:06,990.990 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:43:06,996.996 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:43:07,151.151 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:43:07,161.161 INFO    ] time= 29/08/2026 19:43:07
[2026-08-29 19:43:07,166.166 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:43:07,170.170 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:43:07,236.236 INFO    ] No existing commands found in stream
[2026-08-29 19:43:12,246.246 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:43:12,249.249 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 19:43:15,776.776 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:43:15,777.777 INFO    ] Checking for system updates...
[2026-08-29 19:43:15,801.801 INFO    ] 200
[2026-08-29 19:43:15,803.803 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:43:15,833.833 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:43:15,834.834 INFO    ] No update needed
[2026-08-29 19:43:15,835.835 INFO    ] Checking for camera pi updates...
[2026-08-29 19:43:15,855.855 INFO    ] 200
[2026-08-29 19:43:15,856.856 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:43:15,880.880 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:43:15,957.957 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:43:15,958.958 INFO    ] No camera update needed
[2026-08-29 19:43:15,960.960 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:43:15,961.961 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:43:15,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:43:15,966.966 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:43:18,004.004 INFO    ] ================================================
[2026-08-29 19:43:18,020.020 INFO    ] Launching Daemon at Sat Aug 29 19:43:18 IST 2026
[2026-08-29 19:43:18,031.031 INFO    ] ================================================
[2026-08-29 19:43:18,394.394 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:43:18
[2026-08-29 19:43:18,706.706 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:43:18,838.838 INFO    ] Initializing speech engine...
[2026-08-29 19:43:18,850.850 INFO    ] 2026-08-29 19:43:18
[2026-08-29 19:43:19,063.063 INFO    ] 2026-08-29 19:43:19
[2026-08-29 19:43:19,147.147 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:43:19,293.293 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:43:19,302.302 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:43:19,434.434 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:43:19,461.461 INFO    ] time= 29/08/2026 19:43:19
[2026-08-29 19:43:19,515.515 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:43:19,567.567 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:43:19,618.618 INFO    ] No existing commands found in stream
[2026-08-29 19:43:24,630.630 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:43:24,633.633 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-08-29 19:43:27,458.458 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:43:27,460.460 INFO    ] Checking for system updates...
[2026-08-29 19:43:27,481.481 INFO    ] 200
[2026-08-29 19:43:27,482.482 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:43:27,512.512 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:43:27,514.514 INFO    ] No update needed
[2026-08-29 19:43:27,515.515 INFO    ] Checking for camera pi updates...
[2026-08-29 19:43:27,535.535 INFO    ] 200
[2026-08-29 19:43:27,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:43:27,561.561 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:43:27,736.736 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:43:27,738.738 INFO    ] No camera update needed
[2026-08-29 19:43:27,740.740 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:43:27,741.741 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:43:27,745.745 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:43:27,748.748 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:43:29,788.788 INFO    ] ================================================
[2026-08-29 19:43:29,810.810 INFO    ] Launching Daemon at Sat Aug 29 19:43:29 IST 2026
[2026-08-29 19:43:29,821.821 INFO    ] ================================================
[2026-08-29 19:43:30,166.166 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:43:30
[2026-08-29 19:43:30,479.479 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:43:30,621.621 INFO    ] Initializing speech engine...
[2026-08-29 19:43:30,627.627 INFO    ] 2026-08-29 19:43:30
[2026-08-29 19:43:30,848.848 INFO    ] 2026-08-29 19:43:30
[2026-08-29 19:43:30,909.909 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:43:31,130.130 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:43:31,140.140 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:43:31,271.271 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:43:31,293.293 INFO    ] time= 29/08/2026 19:43:31
[2026-08-29 19:43:31,353.353 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:43:31,409.409 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:43:31,461.461 INFO    ] No existing commands found in stream
[2026-08-29 19:43:36,473.473 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:43:36,476.476 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-08-29 19:43:36,936.936 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:43:36,937.937 INFO    ] Checking for system updates...
[2026-08-29 19:43:36,957.957 INFO    ] 200
[2026-08-29 19:43:36,959.959 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:43:36,989.989 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:43:36,990.990 INFO    ] No update needed
[2026-08-29 19:43:36,991.991 INFO    ] Checking for camera pi updates...
[2026-08-29 19:43:37,014.014 INFO    ] 200
[2026-08-29 19:43:37,015.015 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:43:37,038.038 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:43:37,134.134 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:43:37,135.135 INFO    ] No camera update needed
[2026-08-29 19:43:37,136.136 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:43:37,138.138 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:43:37,140.140 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:43:37,143.143 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:43:39,184.184 INFO    ] ================================================
[2026-08-29 19:43:39,200.200 INFO    ] Launching Daemon at Sat Aug 29 19:43:39 IST 2026
[2026-08-29 19:43:39,211.211 INFO    ] ================================================
[2026-08-29 19:43:39,549.549 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:43:39
[2026-08-29 19:43:39,866.866 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:43:40,048.048 INFO    ] Initializing speech engine...
[2026-08-29 19:43:40,071.071 INFO    ] 2026-08-29 19:43:40
[2026-08-29 19:43:40,324.324 INFO    ] 2026-08-29 19:43:40
[2026-08-29 19:43:40,365.365 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:43:40,530.530 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:43:40,542.542 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:43:40,651.651 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:43:40,669.669 INFO    ] time= 29/08/2026 19:43:40
[2026-08-29 19:43:40,688.688 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:43:40,696.696 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:43:40,766.766 INFO    ] No existing commands found in stream
[2026-08-29 19:43:45,796.796 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:43:45,799.799 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-08-29 19:43:50,963.963 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:43:50,964.964 INFO    ] Checking for system updates...
[2026-08-29 19:43:50,986.986 INFO    ] 200
[2026-08-29 19:43:50,987.987 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:43:51,019.019 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:43:51,020.020 INFO    ] No update needed
[2026-08-29 19:43:51,021.021 INFO    ] Checking for camera pi updates...
[2026-08-29 19:43:51,040.040 INFO    ] 200
[2026-08-29 19:43:51,042.042 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:43:51,065.065 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:43:51,145.145 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:43:51,147.147 INFO    ] No camera update needed
[2026-08-29 19:43:51,148.148 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:43:51,149.149 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:43:51,152.152 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:43:51,155.155 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:43:53,195.195 INFO    ] ================================================
[2026-08-29 19:43:53,210.210 INFO    ] Launching Daemon at Sat Aug 29 19:43:53 IST 2026
[2026-08-29 19:43:53,221.221 INFO    ] ================================================
[2026-08-29 19:43:53,731.731 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:43:53
[2026-08-29 19:43:54,315.315 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:43:54,561.561 INFO    ] Initializing speech engine...
[2026-08-29 19:43:54,576.576 INFO    ] 2026-08-29 19:43:54
[2026-08-29 19:43:54,837.837 INFO    ] 2026-08-29 19:43:54
[2026-08-29 19:43:54,872.872 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:43:55,044.044 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:43:55,056.056 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:43:55,183.183 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:43:55,203.203 INFO    ] time= 29/08/2026 19:43:55
[2026-08-29 19:43:55,211.211 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:43:55,217.217 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:43:55,280.280 INFO    ] No existing commands found in stream
[2026-08-29 19:44:00,293.293 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:44:00,296.296 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-08-29 19:44:01,520.520 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:44:01,521.521 INFO    ] Checking for system updates...
[2026-08-29 19:44:01,542.542 INFO    ] 200
[2026-08-29 19:44:01,543.543 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:44:01,573.573 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:44:01,575.575 INFO    ] No update needed
[2026-08-29 19:44:01,576.576 INFO    ] Checking for camera pi updates...
[2026-08-29 19:44:01,595.595 INFO    ] 200
[2026-08-29 19:44:01,596.596 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:44:01,620.620 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:44:01,798.798 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:44:01,801.801 INFO    ] No camera update needed
[2026-08-29 19:44:01,804.804 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:44:01,811.811 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:44:01,822.822 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:44:01,833.833 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:44:03,879.879 INFO    ] ================================================
[2026-08-29 19:44:03,895.895 INFO    ] Launching Daemon at Sat Aug 29 19:44:03 IST 2026
[2026-08-29 19:44:03,905.905 INFO    ] ================================================
[2026-08-29 19:44:04,477.477 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:44:04
[2026-08-29 19:44:04,919.919 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:44:05,158.158 INFO    ] Initializing speech engine...
[2026-08-29 19:44:05,167.167 INFO    ] 2026-08-29 19:44:05
[2026-08-29 19:44:05,428.428 INFO    ] 2026-08-29 19:44:05
[2026-08-29 19:44:05,484.484 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:44:05,630.630 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:44:05,642.642 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:44:05,752.752 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:44:05,771.771 INFO    ] time= 29/08/2026 19:44:05
[2026-08-29 19:44:05,791.791 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:44:05,799.799 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:44:05,866.866 INFO    ] No existing commands found in stream
[2026-08-29 19:44:10,879.879 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:44:10,881.881 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-08-29 19:44:12,332.332 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:44:12,334.334 INFO    ] Checking for system updates...
[2026-08-29 19:44:12,355.355 INFO    ] 200
[2026-08-29 19:44:12,356.356 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:44:12,388.388 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:44:12,389.389 INFO    ] No update needed
[2026-08-29 19:44:12,391.391 INFO    ] Checking for camera pi updates...
[2026-08-29 19:44:12,410.410 INFO    ] 200
[2026-08-29 19:44:12,411.411 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:44:12,434.434 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:44:12,510.510 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:44:12,512.512 INFO    ] No camera update needed
[2026-08-29 19:44:12,513.513 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:44:12,514.514 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:44:12,517.517 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:44:12,520.520 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:44:14,559.559 INFO    ] ================================================
[2026-08-29 19:44:14,575.575 INFO    ] Launching Daemon at Sat Aug 29 19:44:14 IST 2026
[2026-08-29 19:44:14,586.586 INFO    ] ================================================
[2026-08-29 19:44:15,168.168 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:44:15
[2026-08-29 19:44:15,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:44:15,827.827 INFO    ] Initializing speech engine...
[2026-08-29 19:44:15,832.832 INFO    ] 2026-08-29 19:44:15
[2026-08-29 19:44:16,041.041 INFO    ] 2026-08-29 19:44:16
[2026-08-29 19:44:16,070.070 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:44:16,226.226 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:44:16,268.268 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:44:16,411.411 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:44:16,419.419 INFO    ] time= 29/08/2026 19:44:16
[2026-08-29 19:44:16,436.436 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:44:16,509.509 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:44:16,613.613 INFO    ] No existing commands found in stream
[2026-08-29 19:44:21,638.638 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:44:21,641.641 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-08-29 19:44:23,177.177 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:44:23,178.178 INFO    ] Checking for system updates...
[2026-08-29 19:44:23,200.200 INFO    ] 200
[2026-08-29 19:44:23,201.201 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:44:23,232.232 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:44:23,233.233 INFO    ] No update needed
[2026-08-29 19:44:23,234.234 INFO    ] Checking for camera pi updates...
[2026-08-29 19:44:23,253.253 INFO    ] 200
[2026-08-29 19:44:23,255.255 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:44:23,279.279 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:44:23,378.378 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:44:23,380.380 INFO    ] No camera update needed
[2026-08-29 19:44:23,382.382 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:44:23,385.385 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:44:23,390.390 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:44:23,395.395 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:44:25,437.437 INFO    ] ================================================
[2026-08-29 19:44:25,454.454 INFO    ] Launching Daemon at Sat Aug 29 19:44:25 IST 2026
[2026-08-29 19:44:25,465.465 INFO    ] ================================================
[2026-08-29 19:44:26,049.049 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:44:26
[2026-08-29 19:44:26,498.498 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:44:26,753.753 INFO    ] Initializing speech engine...
[2026-08-29 19:44:26,766.766 INFO    ] 2026-08-29 19:44:26
[2026-08-29 19:44:27,024.024 INFO    ] 2026-08-29 19:44:27
[2026-08-29 19:44:27,076.076 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:44:27,295.295 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:44:27,304.304 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:44:27,435.435 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:44:27,457.457 INFO    ] time= 29/08/2026 19:44:27
[2026-08-29 19:44:27,511.511 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:44:27,565.565 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:44:27,621.621 INFO    ] No existing commands found in stream
[2026-08-29 19:44:32,633.633 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:44:32,636.636 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-08-29 19:44:33,921.921 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:44:33,924.924 INFO    ] Checking for system updates...
[2026-08-29 19:44:33,959.959 INFO    ] 200
[2026-08-29 19:44:33,961.961 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:44:34,014.014 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:44:34,017.017 INFO    ] No update needed
[2026-08-29 19:44:34,019.019 INFO    ] Checking for camera pi updates...
[2026-08-29 19:44:34,056.056 INFO    ] 200
[2026-08-29 19:44:34,059.059 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:44:34,103.103 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:44:34,193.193 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:44:34,196.196 INFO    ] No camera update needed
[2026-08-29 19:44:34,198.198 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:44:34,200.200 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:44:34,206.206 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:44:34,211.211 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:44:36,251.251 INFO    ] ================================================
[2026-08-29 19:44:36,268.268 INFO    ] Launching Daemon at Sat Aug 29 19:44:36 IST 2026
[2026-08-29 19:44:36,279.279 INFO    ] ================================================
[2026-08-29 19:44:36,644.644 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:44:36
[2026-08-29 19:44:36,979.979 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:44:37,254.254 INFO    ] Initializing speech engine...
[2026-08-29 19:44:37,260.260 INFO    ] 2026-08-29 19:44:37
[2026-08-29 19:44:37,519.519 INFO    ] 2026-08-29 19:44:37
[2026-08-29 19:44:37,571.571 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:44:37,716.716 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:44:37,728.728 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:44:37,863.863 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:44:37,875.875 INFO    ] time= 29/08/2026 19:44:37
[2026-08-29 19:44:37,883.883 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:44:37,903.903 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:44:38,033.033 INFO    ] No existing commands found in stream
[2026-08-29 19:44:43,063.063 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:44:43,066.066 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-08-29 19:44:44,859.859 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:44:44,860.860 INFO    ] Checking for system updates...
[2026-08-29 19:44:44,881.881 INFO    ] 200
[2026-08-29 19:44:44,882.882 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:44:44,912.912 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:44:44,913.913 INFO    ] No update needed
[2026-08-29 19:44:44,915.915 INFO    ] Checking for camera pi updates...
[2026-08-29 19:44:44,935.935 INFO    ] 200
[2026-08-29 19:44:44,936.936 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:44:44,959.959 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:44:45,035.035 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:44:45,036.036 INFO    ] No camera update needed
[2026-08-29 19:44:45,037.037 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:44:45,038.038 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:44:45,041.041 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:44:45,044.044 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:44:47,082.082 INFO    ] ================================================
[2026-08-29 19:44:47,098.098 INFO    ] Launching Daemon at Sat Aug 29 19:44:47 IST 2026
[2026-08-29 19:44:47,110.110 INFO    ] ================================================
[2026-08-29 19:44:47,641.641 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:44:47
[2026-08-29 19:44:48,242.242 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:44:48,521.521 INFO    ] Initializing speech engine...
[2026-08-29 19:44:48,527.527 INFO    ] 2026-08-29 19:44:48
[2026-08-29 19:44:48,792.792 INFO    ] 2026-08-29 19:44:48
[2026-08-29 19:44:48,845.845 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:44:49,069.069 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:44:49,078.078 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:44:49,210.210 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:44:49,232.232 INFO    ] time= 29/08/2026 19:44:49
[2026-08-29 19:44:49,297.297 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:44:49,345.345 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:44:49,396.396 INFO    ] No existing commands found in stream
[2026-08-29 19:44:54,408.408 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:44:54,411.411 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-08-29 19:44:58,027.027 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:44:58,028.028 INFO    ] Checking for system updates...
[2026-08-29 19:44:58,050.050 INFO    ] 200
[2026-08-29 19:44:58,052.052 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:44:58,082.082 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:44:58,083.083 INFO    ] No update needed
[2026-08-29 19:44:58,085.085 INFO    ] Checking for camera pi updates...
[2026-08-29 19:44:58,106.106 INFO    ] 200
[2026-08-29 19:44:58,107.107 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:44:58,134.134 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:44:58,229.229 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:44:58,230.230 INFO    ] No camera update needed
[2026-08-29 19:44:58,232.232 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:44:58,233.233 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:44:58,236.236 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:44:58,239.239 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:45:00,285.285 INFO    ] ================================================
[2026-08-29 19:45:00,300.300 INFO    ] Launching Daemon at Sat Aug 29 19:45:00 IST 2026
[2026-08-29 19:45:00,311.311 INFO    ] ================================================
[2026-08-29 19:45:00,907.907 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:45:00
[2026-08-29 19:45:02,067.067 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:45:02,531.531 INFO    ] Initializing speech engine...
[2026-08-29 19:45:02,539.539 INFO    ] 2026-08-29 19:45:02
[2026-08-29 19:45:02,841.841 INFO    ] 2026-08-29 19:45:02
[2026-08-29 19:45:02,881.881 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:45:03,095.095 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:45:03,111.111 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:45:03,294.294 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:45:03,352.352 INFO    ] time= 29/08/2026 19:45:03
[2026-08-29 19:45:03,407.407 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:45:03,417.417 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:45:03,521.521 INFO    ] No existing commands found in stream
[2026-08-29 19:45:08,556.556 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:45:08,558.558 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 19:45:10,476.476 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:45:10,478.478 INFO    ] Checking for system updates...
[2026-08-29 19:45:10,499.499 INFO    ] 200
[2026-08-29 19:45:10,500.500 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:45:10,538.538 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:45:10,541.541 INFO    ] No update needed
[2026-08-29 19:45:10,543.543 INFO    ] Checking for camera pi updates...
[2026-08-29 19:45:10,580.580 INFO    ] 200
[2026-08-29 19:45:10,583.583 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:45:10,624.624 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:45:10,747.747 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:45:10,749.749 INFO    ] No camera update needed
[2026-08-29 19:45:10,751.751 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:45:10,754.754 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:45:10,759.759 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:45:10,764.764 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:45:12,805.805 INFO    ] ================================================
[2026-08-29 19:45:12,821.821 INFO    ] Launching Daemon at Sat Aug 29 19:45:12 IST 2026
[2026-08-29 19:45:12,832.832 INFO    ] ================================================
[2026-08-29 19:45:13,414.414 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:45:13
[2026-08-29 19:45:13,838.838 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:45:13,972.972 INFO    ] Initializing speech engine...
[2026-08-29 19:45:13,985.985 INFO    ] 2026-08-29 19:45:13
[2026-08-29 19:45:14,194.194 INFO    ] 2026-08-29 19:45:14
[2026-08-29 19:45:14,223.223 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:45:14,360.360 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:45:14,367.367 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:45:14,512.512 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:45:14,562.562 INFO    ] time= 29/08/2026 19:45:14
[2026-08-29 19:45:14,574.574 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:45:14,580.580 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:45:14,690.690 INFO    ] No existing commands found in stream
[2026-08-29 19:45:19,714.714 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:45:19,717.717 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-08-29 19:45:23,798.798 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:45:23,799.799 INFO    ] Checking for system updates...
[2026-08-29 19:45:23,820.820 INFO    ] 200
[2026-08-29 19:45:23,821.821 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:45:23,851.851 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:45:23,853.853 INFO    ] No update needed
[2026-08-29 19:45:23,854.854 INFO    ] Checking for camera pi updates...
[2026-08-29 19:45:23,874.874 INFO    ] 200
[2026-08-29 19:45:23,876.876 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:45:23,900.900 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:45:23,991.991 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:45:23,992.992 INFO    ] No camera update needed
[2026-08-29 19:45:23,994.994 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:45:23,995.995 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:45:23,998.998 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:45:24,001.001 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:45:26,041.041 INFO    ] ================================================
[2026-08-29 19:45:26,057.057 INFO    ] Launching Daemon at Sat Aug 29 19:45:26 IST 2026
[2026-08-29 19:45:26,067.067 INFO    ] ================================================
[2026-08-29 19:45:26,427.427 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:45:26
[2026-08-29 19:45:26,738.738 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:45:26,881.881 INFO    ] Initializing speech engine...
[2026-08-29 19:45:26,885.885 INFO    ] 2026-08-29 19:45:26
[2026-08-29 19:45:27,068.068 INFO    ] 2026-08-29 19:45:27
[2026-08-29 19:45:27,103.103 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:45:27,272.272 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:45:27,287.287 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:45:27,413.413 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:45:27,436.436 INFO    ] time= 29/08/2026 19:45:27
[2026-08-29 19:45:27,441.441 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:45:27,448.448 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:45:27,514.514 INFO    ] No existing commands found in stream
[2026-08-29 19:45:32,524.524 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:45:32,527.527 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-08-29 19:45:35,668.668 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:45:35,669.669 INFO    ] Checking for system updates...
[2026-08-29 19:45:35,690.690 INFO    ] 200
[2026-08-29 19:45:35,691.691 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:45:35,721.721 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:45:35,722.722 INFO    ] No update needed
[2026-08-29 19:45:35,724.724 INFO    ] Checking for camera pi updates...
[2026-08-29 19:45:35,751.751 INFO    ] 200
[2026-08-29 19:45:35,753.753 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:45:35,798.798 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:45:35,905.905 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:45:35,907.907 INFO    ] No camera update needed
[2026-08-29 19:45:35,909.909 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:45:35,912.912 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:45:35,917.917 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:45:35,922.922 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:45:37,963.963 INFO    ] ================================================
[2026-08-29 19:45:37,979.979 INFO    ] Launching Daemon at Sat Aug 29 19:45:37 IST 2026
[2026-08-29 19:45:37,990.990 INFO    ] ================================================
[2026-08-29 19:45:38,556.556 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:45:38
[2026-08-29 19:45:39,016.016 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:45:39,145.145 INFO    ] Initializing speech engine...
[2026-08-29 19:45:39,149.149 INFO    ] 2026-08-29 19:45:39
[2026-08-29 19:45:39,346.346 INFO    ] 2026-08-29 19:45:39
[2026-08-29 19:45:39,381.381 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:45:39,601.601 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:45:39,610.610 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:45:39,742.742 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:45:39,748.748 INFO    ] time= 29/08/2026 19:45:39
[2026-08-29 19:45:39,803.803 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:45:39,852.852 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:45:39,926.926 INFO    ] No existing commands found in stream
[2026-08-29 19:45:44,937.937 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:45:44,940.940 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-08-29 19:45:46,118.118 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:45:46,119.119 INFO    ] Checking for system updates...
[2026-08-29 19:45:46,139.139 INFO    ] 200
[2026-08-29 19:45:46,141.141 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:45:46,172.172 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:45:46,173.173 INFO    ] No update needed
[2026-08-29 19:45:46,174.174 INFO    ] Checking for camera pi updates...
[2026-08-29 19:45:46,195.195 INFO    ] 200
[2026-08-29 19:45:46,196.196 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:45:46,221.221 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:45:46,319.319 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:45:46,320.320 INFO    ] No camera update needed
[2026-08-29 19:45:46,321.321 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:45:46,322.322 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:45:46,325.325 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:45:46,328.328 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:45:48,366.366 INFO    ] ================================================
[2026-08-29 19:45:48,381.381 INFO    ] Launching Daemon at Sat Aug 29 19:45:48 IST 2026
[2026-08-29 19:45:48,392.392 INFO    ] ================================================
[2026-08-29 19:45:48,785.785 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:45:48
[2026-08-29 19:45:49,130.130 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:45:49,285.285 INFO    ] Initializing speech engine...
[2026-08-29 19:45:49,290.290 INFO    ] 2026-08-29 19:45:49
[2026-08-29 19:45:49,497.497 INFO    ] 2026-08-29 19:45:49
[2026-08-29 19:45:49,525.525 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:45:49,647.647 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:45:49,681.681 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:45:49,830.830 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:45:49,859.859 INFO    ] time= 29/08/2026 19:45:49
[2026-08-29 19:45:49,920.920 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:45:49,944.944 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:45:50,017.017 INFO    ] No existing commands found in stream
[2026-08-29 19:45:55,026.026 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:45:55,029.029 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-08-29 19:45:56,378.378 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:45:56,380.380 INFO    ] Checking for system updates...
[2026-08-29 19:45:56,401.401 INFO    ] 200
[2026-08-29 19:45:56,403.403 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:45:56,433.433 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:45:56,435.435 INFO    ] No update needed
[2026-08-29 19:45:56,436.436 INFO    ] Checking for camera pi updates...
[2026-08-29 19:45:56,456.456 INFO    ] 200
[2026-08-29 19:45:56,457.457 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:45:56,483.483 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:45:56,567.567 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:45:56,569.569 INFO    ] No camera update needed
[2026-08-29 19:45:56,570.570 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:45:56,572.572 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:45:56,575.575 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:45:56,578.578 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:45:58,616.616 INFO    ] ================================================
[2026-08-29 19:45:58,632.632 INFO    ] Launching Daemon at Sat Aug 29 19:45:58 IST 2026
[2026-08-29 19:45:58,642.642 INFO    ] ================================================
[2026-08-29 19:45:58,997.997 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:45:58
[2026-08-29 19:45:59,318.318 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:45:59,603.603 INFO    ] Initializing speech engine...
[2026-08-29 19:45:59,615.615 INFO    ] 2026-08-29 19:45:59
[2026-08-29 19:45:59,930.930 INFO    ] 2026-08-29 19:45:59
[2026-08-29 19:46:00,011.011 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:46:00,161.161 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:46:00,171.171 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:46:00,304.304 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:46:00,321.321 INFO    ] time= 29/08/2026 19:46:00
[2026-08-29 19:46:00,380.380 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:46:00,430.430 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:46:00,514.514 INFO    ] No existing commands found in stream
[2026-08-29 19:46:05,552.552 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:46:05,556.556 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-08-29 19:46:07,740.740 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:46:07,742.742 INFO    ] Checking for system updates...
[2026-08-29 19:46:07,764.764 INFO    ] 200
[2026-08-29 19:46:07,766.766 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:46:07,798.798 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:46:07,800.800 INFO    ] No update needed
[2026-08-29 19:46:07,801.801 INFO    ] Checking for camera pi updates...
[2026-08-29 19:46:07,822.822 INFO    ] 200
[2026-08-29 19:46:07,824.824 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:46:07,847.847 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:46:07,940.940 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:46:07,941.941 INFO    ] No camera update needed
[2026-08-29 19:46:07,943.943 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:46:07,944.944 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:46:07,947.947 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:46:07,950.950 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:46:09,991.991 INFO    ] ================================================
[2026-08-29 19:46:10,006.006 INFO    ] Launching Daemon at Sat Aug 29 19:46:10 IST 2026
[2026-08-29 19:46:10,017.017 INFO    ] ================================================
[2026-08-29 19:46:10,466.466 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:46:10
[2026-08-29 19:46:11,054.054 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:46:11,303.303 INFO    ] Initializing speech engine...
[2026-08-29 19:46:11,315.315 INFO    ] 2026-08-29 19:46:11
[2026-08-29 19:46:11,585.585 INFO    ] 2026-08-29 19:46:11
[2026-08-29 19:46:11,621.621 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:46:11,798.798 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:46:11,811.811 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:46:11,922.922 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:46:11,927.927 INFO    ] time= 29/08/2026 19:46:11
[2026-08-29 19:46:11,946.946 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:46:11,965.965 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:46:12,038.038 INFO    ] No existing commands found in stream
[2026-08-29 19:46:17,050.050 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:46:17,053.053 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-08-29 19:46:20,999.999 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:46:21,000.000 INFO    ] Checking for system updates...
[2026-08-29 19:46:21,022.022 INFO    ] 200
[2026-08-29 19:46:21,023.023 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:46:21,056.056 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:46:21,057.057 INFO    ] No update needed
[2026-08-29 19:46:21,058.058 INFO    ] Checking for camera pi updates...
[2026-08-29 19:46:21,077.077 INFO    ] 200
[2026-08-29 19:46:21,079.079 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:46:21,102.102 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:46:21,202.202 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:46:21,204.204 INFO    ] No camera update needed
[2026-08-29 19:46:21,207.207 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:46:21,209.209 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:46:21,214.214 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:46:21,219.219 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:46:23,261.261 INFO    ] ================================================
[2026-08-29 19:46:23,276.276 INFO    ] Launching Daemon at Sat Aug 29 19:46:23 IST 2026
[2026-08-29 19:46:23,287.287 INFO    ] ================================================
[2026-08-29 19:46:23,885.885 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:46:23
[2026-08-29 19:46:24,325.325 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:46:24,457.457 INFO    ] Initializing speech engine...
[2026-08-29 19:46:24,462.462 INFO    ] 2026-08-29 19:46:24
[2026-08-29 19:46:24,671.671 INFO    ] 2026-08-29 19:46:24
[2026-08-29 19:46:24,706.706 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:46:24,881.881 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:46:24,894.894 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:46:25,039.039 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:46:25,044.044 INFO    ] time= 29/08/2026 19:46:25
[2026-08-29 19:46:25,050.050 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:46:25,097.097 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:46:25,220.220 INFO    ] No existing commands found in stream
[2026-08-29 19:46:30,250.250 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:46:30,253.253 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-08-29 19:46:34,468.468 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:46:34,471.471 INFO    ] Checking for system updates...
[2026-08-29 19:46:34,508.508 INFO    ] 200
[2026-08-29 19:46:34,511.511 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:46:34,571.571 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:46:34,575.575 INFO    ] No update needed
[2026-08-29 19:46:34,578.578 INFO    ] Checking for camera pi updates...
[2026-08-29 19:46:34,614.614 INFO    ] 200
[2026-08-29 19:46:34,616.616 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:46:34,659.659 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:46:34,759.759 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:46:34,762.762 INFO    ] No camera update needed
[2026-08-29 19:46:34,765.765 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:46:34,768.768 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:46:34,774.774 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:46:34,779.779 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:46:36,820.820 INFO    ] ================================================
[2026-08-29 19:46:36,835.835 INFO    ] Launching Daemon at Sat Aug 29 19:46:36 IST 2026
[2026-08-29 19:46:36,846.846 INFO    ] ================================================
[2026-08-29 19:46:37,230.230 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:46:37
[2026-08-29 19:46:37,567.567 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:46:37,776.776 INFO    ] Initializing speech engine...
[2026-08-29 19:46:37,783.783 INFO    ] 2026-08-29 19:46:37
[2026-08-29 19:46:38,058.058 INFO    ] 2026-08-29 19:46:38
[2026-08-29 19:46:38,122.122 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:46:38,351.351 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:46:38,360.360 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:46:38,500.500 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:46:38,535.535 INFO    ] time= 29/08/2026 19:46:38
[2026-08-29 19:46:38,600.600 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:46:38,635.635 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:46:38,690.690 INFO    ] No existing commands found in stream
[2026-08-29 19:46:43,703.703 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:46:43,706.706 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-08-29 19:46:47,268.268 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:46:47,270.270 INFO    ] Checking for system updates...
[2026-08-29 19:46:47,292.292 INFO    ] 200
[2026-08-29 19:46:47,294.294 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:46:47,324.324 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:46:47,325.325 INFO    ] No update needed
[2026-08-29 19:46:47,327.327 INFO    ] Checking for camera pi updates...
[2026-08-29 19:46:47,346.346 INFO    ] 200
[2026-08-29 19:46:47,348.348 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:46:47,371.371 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:46:47,422.422 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:46:47,423.423 INFO    ] No camera update needed
[2026-08-29 19:46:47,425.425 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:46:47,426.426 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:46:47,429.429 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:46:47,432.432 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:46:49,472.472 INFO    ] ================================================
[2026-08-29 19:46:49,487.487 INFO    ] Launching Daemon at Sat Aug 29 19:46:49 IST 2026
[2026-08-29 19:46:49,498.498 INFO    ] ================================================
[2026-08-29 19:46:49,833.833 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:46:49
[2026-08-29 19:46:50,147.147 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:46:50,295.295 INFO    ] Initializing speech engine...
[2026-08-29 19:46:50,300.300 INFO    ] 2026-08-29 19:46:50
[2026-08-29 19:46:50,501.501 INFO    ] 2026-08-29 19:46:50
[2026-08-29 19:46:50,536.536 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:46:50,685.685 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:46:50,691.691 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:46:50,846.846 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:46:50,858.858 INFO    ] time= 29/08/2026 19:46:50
[2026-08-29 19:46:50,861.861 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:46:50,867.867 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:46:50,934.934 INFO    ] No existing commands found in stream
[2026-08-29 19:46:55,947.947 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:46:55,950.950 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-08-29 19:46:57,579.579 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:46:57,580.580 INFO    ] Checking for system updates...
[2026-08-29 19:46:57,602.602 INFO    ] 200
[2026-08-29 19:46:57,604.604 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:46:57,636.636 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:46:57,637.637 INFO    ] No update needed
[2026-08-29 19:46:57,639.639 INFO    ] Checking for camera pi updates...
[2026-08-29 19:46:57,658.658 INFO    ] 200
[2026-08-29 19:46:57,659.659 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:46:57,682.682 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:46:57,806.806 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:46:57,808.808 INFO    ] No camera update needed
[2026-08-29 19:46:57,809.809 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:46:57,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:46:57,813.813 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:46:57,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:46:59,855.855 INFO    ] ================================================
[2026-08-29 19:46:59,870.870 INFO    ] Launching Daemon at Sat Aug 29 19:46:59 IST 2026
[2026-08-29 19:46:59,881.881 INFO    ] ================================================
[2026-08-29 19:47:00,350.350 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:47:00
[2026-08-29 19:47:00,946.946 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:47:01,227.227 INFO    ] Initializing speech engine...
[2026-08-29 19:47:01,232.232 INFO    ] 2026-08-29 19:47:01
[2026-08-29 19:47:01,490.490 INFO    ] 2026-08-29 19:47:01
[2026-08-29 19:47:01,521.521 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:47:01,694.694 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:47:01,710.710 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:47:01,837.837 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:47:01,846.846 INFO    ] time= 29/08/2026 19:47:01
[2026-08-29 19:47:01,850.850 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:47:01,858.858 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:47:01,953.953 INFO    ] No existing commands found in stream
[2026-08-29 19:47:06,982.982 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:47:06,985.985 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-08-29 19:47:11,032.032 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:47:11,033.033 INFO    ] Checking for system updates...
[2026-08-29 19:47:11,054.054 INFO    ] 200
[2026-08-29 19:47:11,055.055 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:47:11,085.085 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:47:11,087.087 INFO    ] No update needed
[2026-08-29 19:47:11,088.088 INFO    ] Checking for camera pi updates...
[2026-08-29 19:47:11,107.107 INFO    ] 200
[2026-08-29 19:47:11,108.108 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:47:11,133.133 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:47:11,212.212 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:47:11,213.213 INFO    ] No camera update needed
[2026-08-29 19:47:11,215.215 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:47:11,216.216 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:47:11,219.219 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:47:11,221.221 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:47:13,262.262 INFO    ] ================================================
[2026-08-29 19:47:13,277.277 INFO    ] Launching Daemon at Sat Aug 29 19:47:13 IST 2026
[2026-08-29 19:47:13,288.288 INFO    ] ================================================
[2026-08-29 19:47:13,650.650 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:47:13
[2026-08-29 19:47:13,993.993 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:47:14,147.147 INFO    ] Initializing speech engine...
[2026-08-29 19:47:14,152.152 INFO    ] 2026-08-29 19:47:14
[2026-08-29 19:47:14,365.365 INFO    ] 2026-08-29 19:47:14
[2026-08-29 19:47:14,405.405 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:47:14,575.575 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:47:14,585.585 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:47:14,762.762 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:47:14,791.791 INFO    ] time= 29/08/2026 19:47:14
[2026-08-29 19:47:14,809.809 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:47:14,819.819 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:47:14,942.942 INFO    ] No existing commands found in stream
[2026-08-29 19:47:19,965.965 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:47:19,968.968 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-08-29 19:47:20,714.714 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:47:20,717.717 INFO    ] Checking for system updates...
[2026-08-29 19:47:20,754.754 INFO    ] 200
[2026-08-29 19:47:20,756.756 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:47:20,810.810 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:47:20,813.813 INFO    ] No update needed
[2026-08-29 19:47:20,815.815 INFO    ] Checking for camera pi updates...
[2026-08-29 19:47:20,850.850 INFO    ] 200
[2026-08-29 19:47:20,853.853 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:47:20,896.896 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:47:21,003.003 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:47:21,006.006 INFO    ] No camera update needed
[2026-08-29 19:47:21,008.008 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:47:21,011.011 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:47:21,017.017 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:47:21,023.023 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:47:23,065.065 INFO    ] ================================================
[2026-08-29 19:47:23,080.080 INFO    ] Launching Daemon at Sat Aug 29 19:47:23 IST 2026
[2026-08-29 19:47:23,091.091 INFO    ] ================================================
[2026-08-29 19:47:23,664.664 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:47:23
[2026-08-29 19:47:23,980.980 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:47:24,174.174 INFO    ] Initializing speech engine...
[2026-08-29 19:47:24,184.184 INFO    ] 2026-08-29 19:47:24
[2026-08-29 19:47:24,435.435 INFO    ] 2026-08-29 19:47:24
[2026-08-29 19:47:24,503.503 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:47:24,649.649 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:47:24,661.661 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:47:24,810.810 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:47:24,815.815 INFO    ] time= 29/08/2026 19:47:24
[2026-08-29 19:47:24,821.821 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:47:24,847.847 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:47:24,972.972 INFO    ] No existing commands found in stream
[2026-08-29 19:47:30,008.008 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:47:30,011.011 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-08-29 19:47:31,792.792 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:47:31,793.793 INFO    ] Checking for system updates...
[2026-08-29 19:47:31,814.814 INFO    ] 200
[2026-08-29 19:47:31,815.815 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:47:31,845.845 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:47:31,847.847 INFO    ] No update needed
[2026-08-29 19:47:31,848.848 INFO    ] Checking for camera pi updates...
[2026-08-29 19:47:31,867.867 INFO    ] 200
[2026-08-29 19:47:31,868.868 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:47:31,892.892 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:47:32,006.006 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:47:32,008.008 INFO    ] No camera update needed
[2026-08-29 19:47:32,009.009 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:47:32,010.010 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:47:32,021.021 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:47:32,025.025 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:47:34,068.068 INFO    ] ================================================
[2026-08-29 19:47:34,083.083 INFO    ] Launching Daemon at Sat Aug 29 19:47:34 IST 2026
[2026-08-29 19:47:34,094.094 INFO    ] ================================================
[2026-08-29 19:47:34,673.673 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:47:34
[2026-08-29 19:47:35,131.131 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:47:35,268.268 INFO    ] Initializing speech engine...
[2026-08-29 19:47:35,276.276 INFO    ] 2026-08-29 19:47:35
[2026-08-29 19:47:35,502.502 INFO    ] 2026-08-29 19:47:35
[2026-08-29 19:47:35,533.533 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:47:35,682.682 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:47:35,694.694 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:47:35,835.835 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:47:35,874.874 INFO    ] time= 29/08/2026 19:47:35
[2026-08-29 19:47:35,925.925 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:47:35,932.932 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:47:35,988.988 INFO    ] No existing commands found in stream
[2026-08-29 19:47:41,000.000 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:47:41,003.003 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-08-29 19:47:41,949.949 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:47:41,950.950 INFO    ] Checking for system updates...
[2026-08-29 19:47:41,971.971 INFO    ] 200
[2026-08-29 19:47:41,972.972 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:47:42,005.005 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:47:42,006.006 INFO    ] No update needed
[2026-08-29 19:47:42,007.007 INFO    ] Checking for camera pi updates...
[2026-08-29 19:47:42,030.030 INFO    ] 200
[2026-08-29 19:47:42,031.031 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:47:42,057.057 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:47:42,132.132 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:47:42,134.134 INFO    ] No camera update needed
[2026-08-29 19:47:42,135.135 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:47:42,136.136 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:47:42,139.139 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:47:42,142.142 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:47:44,180.180 INFO    ] ================================================
[2026-08-29 19:47:44,196.196 INFO    ] Launching Daemon at Sat Aug 29 19:47:44 IST 2026
[2026-08-29 19:47:44,207.207 INFO    ] ================================================
[2026-08-29 19:47:44,556.556 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:47:44
[2026-08-29 19:47:44,895.895 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:47:45,048.048 INFO    ] Initializing speech engine...
[2026-08-29 19:47:45,053.053 INFO    ] 2026-08-29 19:47:45
[2026-08-29 19:47:45,262.262 INFO    ] 2026-08-29 19:47:45
[2026-08-29 19:47:45,291.291 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:47:45,403.403 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:47:45,409.409 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:47:45,565.565 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:47:45,608.608 INFO    ] time= 29/08/2026 19:47:45
[2026-08-29 19:47:45,614.614 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:47:45,636.636 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:47:45,734.734 INFO    ] No existing commands found in stream
[2026-08-29 19:47:50,747.747 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:47:50,750.750 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-08-29 19:47:53,929.929 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:47:53,930.930 INFO    ] Checking for system updates...
[2026-08-29 19:47:53,951.951 INFO    ] 200
[2026-08-29 19:47:53,953.953 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:47:53,983.983 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:47:53,985.985 INFO    ] No update needed
[2026-08-29 19:47:53,986.986 INFO    ] Checking for camera pi updates...
[2026-08-29 19:47:54,006.006 INFO    ] 200
[2026-08-29 19:47:54,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:47:54,032.032 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:47:54,225.225 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:47:54,226.226 INFO    ] No camera update needed
[2026-08-29 19:47:54,227.227 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:47:54,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:47:54,232.232 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:47:54,235.235 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:47:56,274.274 INFO    ] ================================================
[2026-08-29 19:47:56,291.291 INFO    ] Launching Daemon at Sat Aug 29 19:47:56 IST 2026
[2026-08-29 19:47:56,302.302 INFO    ] ================================================
[2026-08-29 19:47:56,661.661 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:47:56
[2026-08-29 19:47:56,980.980 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:47:57,125.125 INFO    ] Initializing speech engine...
[2026-08-29 19:47:57,129.129 INFO    ] 2026-08-29 19:47:57
[2026-08-29 19:47:57,334.334 INFO    ] 2026-08-29 19:47:57
[2026-08-29 19:47:57,364.364 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:47:57,485.485 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:47:57,543.543 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:47:57,680.680 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:47:57,726.726 INFO    ] time= 29/08/2026 19:47:57
[2026-08-29 19:47:57,765.765 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:47:57,808.808 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:47:57,925.925 INFO    ] No existing commands found in stream
[2026-08-29 19:48:02,950.950 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:48:02,954.954 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-08-29 19:48:04,217.217 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:48:04,220.220 INFO    ] Checking for system updates...
[2026-08-29 19:48:04,257.257 INFO    ] 200
[2026-08-29 19:48:04,259.259 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:48:04,311.311 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:48:04,314.314 INFO    ] No update needed
[2026-08-29 19:48:04,316.316 INFO    ] Checking for camera pi updates...
[2026-08-29 19:48:04,351.351 INFO    ] 200
[2026-08-29 19:48:04,353.353 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:48:04,403.403 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:48:04,478.478 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:48:04,480.480 INFO    ] No camera update needed
[2026-08-29 19:48:04,483.483 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:48:04,485.485 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:48:04,490.490 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:48:04,496.496 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:48:06,537.537 INFO    ] ================================================
[2026-08-29 19:48:06,555.555 INFO    ] Launching Daemon at Sat Aug 29 19:48:06 IST 2026
[2026-08-29 19:48:06,568.568 INFO    ] ================================================
[2026-08-29 19:48:07,130.130 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:48:07
[2026-08-29 19:48:07,730.730 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:48:07,997.997 INFO    ] Initializing speech engine...
[2026-08-29 19:48:08,006.006 INFO    ] 2026-08-29 19:48:07
[2026-08-29 19:48:08,253.253 INFO    ] 2026-08-29 19:48:08
[2026-08-29 19:48:08,289.289 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:48:08,459.459 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:48:08,471.471 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:48:08,591.591 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:48:08,597.597 INFO    ] time= 29/08/2026 19:48:08
[2026-08-29 19:48:08,617.617 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:48:08,639.639 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:48:08,720.720 INFO    ] No existing commands found in stream
[2026-08-29 19:48:13,732.732 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:48:13,735.735 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-08-29 19:48:15,883.883 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:48:15,885.885 INFO    ] Checking for system updates...
[2026-08-29 19:48:15,905.905 INFO    ] 200
[2026-08-29 19:48:15,906.906 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:48:15,938.938 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:48:15,939.939 INFO    ] No update needed
[2026-08-29 19:48:15,940.940 INFO    ] Checking for camera pi updates...
[2026-08-29 19:48:15,960.960 INFO    ] 200
[2026-08-29 19:48:15,961.961 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:48:15,984.984 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:48:16,060.060 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:48:16,063.063 INFO    ] No camera update needed
[2026-08-29 19:48:16,065.065 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:48:16,068.068 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:48:16,073.073 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:48:16,078.078 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:48:18,119.119 INFO    ] ================================================
[2026-08-29 19:48:18,136.136 INFO    ] Launching Daemon at Sat Aug 29 19:48:18 IST 2026
[2026-08-29 19:48:18,147.147 INFO    ] ================================================
[2026-08-29 19:48:18,713.713 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:48:18
[2026-08-29 19:48:19,229.229 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:48:19,375.375 INFO    ] Initializing speech engine...
[2026-08-29 19:48:19,379.379 INFO    ] 2026-08-29 19:48:19
[2026-08-29 19:48:19,604.604 INFO    ] 2026-08-29 19:48:19
[2026-08-29 19:48:19,658.658 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:48:19,789.789 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:48:19,806.806 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:48:19,965.965 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:48:20,025.025 INFO    ] time= 29/08/2026 19:48:19
[2026-08-29 19:48:20,032.032 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:48:20,050.050 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:48:20,155.155 INFO    ] No existing commands found in stream
[2026-08-29 19:48:25,176.176 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:48:25,179.179 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-08-29 19:48:27,244.244 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:48:27,246.246 INFO    ] Checking for system updates...
[2026-08-29 19:48:27,266.266 INFO    ] 200
[2026-08-29 19:48:27,268.268 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:48:27,299.299 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:48:27,300.300 INFO    ] No update needed
[2026-08-29 19:48:27,301.301 INFO    ] Checking for camera pi updates...
[2026-08-29 19:48:27,321.321 INFO    ] 200
[2026-08-29 19:48:27,323.323 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:48:27,349.349 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:48:27,424.424 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:48:27,427.427 INFO    ] No camera update needed
[2026-08-29 19:48:27,429.429 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:48:27,432.432 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:48:27,437.437 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:48:27,442.442 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:48:29,484.484 INFO    ] ================================================
[2026-08-29 19:48:29,500.500 INFO    ] Launching Daemon at Sat Aug 29 19:48:29 IST 2026
[2026-08-29 19:48:29,511.511 INFO    ] ================================================
[2026-08-29 19:48:30,171.171 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:48:30
[2026-08-29 19:48:30,650.650 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:48:30,955.955 INFO    ] Initializing speech engine...
[2026-08-29 19:48:30,964.964 INFO    ] 2026-08-29 19:48:30
[2026-08-29 19:48:31,238.238 INFO    ] 2026-08-29 19:48:31
[2026-08-29 19:48:31,295.295 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:48:31,516.516 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:48:31,526.526 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:48:31,659.659 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:48:31,702.702 INFO    ] time= 29/08/2026 19:48:31
[2026-08-29 19:48:31,757.757 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:48:31,794.794 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:48:31,850.850 INFO    ] No existing commands found in stream
[2026-08-29 19:48:36,865.865 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:48:36,868.868 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-08-29 19:48:40,299.299 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:48:40,302.302 INFO    ] Checking for system updates...
[2026-08-29 19:48:40,342.342 INFO    ] 200
[2026-08-29 19:48:40,345.345 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:48:40,403.403 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:48:40,406.406 INFO    ] No update needed
[2026-08-29 19:48:40,409.409 INFO    ] Checking for camera pi updates...
[2026-08-29 19:48:40,449.449 INFO    ] 200
[2026-08-29 19:48:40,452.452 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:48:40,504.504 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:48:40,615.615 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:48:40,618.618 INFO    ] No camera update needed
[2026-08-29 19:48:40,621.621 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:48:40,624.624 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:48:40,631.631 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:48:40,638.638 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:48:42,683.683 INFO    ] ================================================
[2026-08-29 19:48:42,700.700 INFO    ] Launching Daemon at Sat Aug 29 19:48:42 IST 2026
[2026-08-29 19:48:42,711.711 INFO    ] ================================================
[2026-08-29 19:48:43,274.274 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:48:43
[2026-08-29 19:48:43,947.947 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:48:44,251.251 INFO    ] Initializing speech engine...
[2026-08-29 19:48:44,266.266 INFO    ] 2026-08-29 19:48:44
[2026-08-29 19:48:44,537.537 INFO    ] 2026-08-29 19:48:44
[2026-08-29 19:48:44,595.595 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:48:44,817.817 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:48:44,828.828 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:48:44,962.962 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:48:45,011.011 INFO    ] time= 29/08/2026 19:48:44
[2026-08-29 19:48:45,071.071 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:48:45,099.099 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:48:45,158.158 INFO    ] No existing commands found in stream
[2026-08-29 19:48:50,190.190 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:48:50,193.193 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 19:48:53,625.625 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:48:53,628.628 INFO    ] Checking for system updates...
[2026-08-29 19:48:53,668.668 INFO    ] 200
[2026-08-29 19:48:53,671.671 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:48:53,726.726 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:48:53,729.729 INFO    ] No update needed
[2026-08-29 19:48:53,732.732 INFO    ] Checking for camera pi updates...
[2026-08-29 19:48:53,756.756 INFO    ] 200
[2026-08-29 19:48:53,757.757 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:48:53,781.781 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:48:53,879.879 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:48:53,880.880 INFO    ] No camera update needed
[2026-08-29 19:48:53,882.882 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:48:53,883.883 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:48:53,886.886 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:48:53,889.889 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:48:55,929.929 INFO    ] ================================================
[2026-08-29 19:48:55,945.945 INFO    ] Launching Daemon at Sat Aug 29 19:48:55 IST 2026
[2026-08-29 19:48:55,956.956 INFO    ] ================================================
[2026-08-29 19:48:56,308.308 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:48:56
[2026-08-29 19:48:56,645.645 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:48:56,797.797 INFO    ] Initializing speech engine...
[2026-08-29 19:48:56,802.802 INFO    ] 2026-08-29 19:48:56
[2026-08-29 19:48:57,012.012 INFO    ] 2026-08-29 19:48:56
[2026-08-29 19:48:57,043.043 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:48:57,187.187 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:48:57,196.196 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:48:57,348.348 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:48:57,401.401 INFO    ] time= 29/08/2026 19:48:57
[2026-08-29 19:48:57,409.409 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:48:57,428.428 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:48:57,537.537 INFO    ] No existing commands found in stream
[2026-08-29 19:49:02,568.568 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:49:02,573.573 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-08-29 19:49:06,311.311 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:49:06,313.313 INFO    ] Checking for system updates...
[2026-08-29 19:49:06,335.335 INFO    ] 200
[2026-08-29 19:49:06,336.336 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:49:06,367.367 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:49:06,368.368 INFO    ] No update needed
[2026-08-29 19:49:06,370.370 INFO    ] Checking for camera pi updates...
[2026-08-29 19:49:06,395.395 INFO    ] 200
[2026-08-29 19:49:06,397.397 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:49:06,429.429 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:49:06,513.513 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:49:06,516.516 INFO    ] No camera update needed
[2026-08-29 19:49:06,519.519 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:49:06,521.521 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:49:06,527.527 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:49:06,533.533 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:49:08,575.575 INFO    ] ================================================
[2026-08-29 19:49:08,590.590 INFO    ] Launching Daemon at Sat Aug 29 19:49:08 IST 2026
[2026-08-29 19:49:08,602.602 INFO    ] ================================================
[2026-08-29 19:49:09,235.235 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:49:09
[2026-08-29 19:49:09,739.739 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:49:09,895.895 INFO    ] Initializing speech engine...
[2026-08-29 19:49:09,904.904 INFO    ] 2026-08-29 19:49:09
[2026-08-29 19:49:10,178.178 INFO    ] 2026-08-29 19:49:10
[2026-08-29 19:49:10,233.233 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:49:10,457.457 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:49:10,468.468 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:49:10,601.601 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:49:10,644.644 INFO    ] time= 29/08/2026 19:49:10
[2026-08-29 19:49:10,709.709 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:49:10,741.741 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:49:10,791.791 INFO    ] No existing commands found in stream
[2026-08-29 19:49:15,804.804 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:49:15,807.807 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-08-29 19:49:16,677.677 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:49:16,679.679 INFO    ] Checking for system updates...
[2026-08-29 19:49:16,699.699 INFO    ] 200
[2026-08-29 19:49:16,701.701 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:49:16,733.733 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:49:16,735.735 INFO    ] No update needed
[2026-08-29 19:49:16,736.736 INFO    ] Checking for camera pi updates...
[2026-08-29 19:49:16,758.758 INFO    ] 200
[2026-08-29 19:49:16,759.759 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:49:16,786.786 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:49:16,866.866 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:49:16,867.867 INFO    ] No camera update needed
[2026-08-29 19:49:16,868.868 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:49:16,869.869 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:49:16,873.873 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:49:16,875.875 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:49:18,915.915 INFO    ] ================================================
[2026-08-29 19:49:18,931.931 INFO    ] Launching Daemon at Sat Aug 29 19:49:18 IST 2026
[2026-08-29 19:49:18,942.942 INFO    ] ================================================
[2026-08-29 19:49:19,270.270 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:49:19
[2026-08-29 19:49:19,581.581 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:49:19,719.719 INFO    ] Initializing speech engine...
[2026-08-29 19:49:19,730.730 INFO    ] 2026-08-29 19:49:19
[2026-08-29 19:49:19,920.920 INFO    ] 2026-08-29 19:49:19
[2026-08-29 19:49:19,997.997 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:49:20,152.152 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:49:20,162.162 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:49:20,299.299 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:49:20,316.316 INFO    ] time= 29/08/2026 19:49:20
[2026-08-29 19:49:20,370.370 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:49:20,420.420 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:49:20,491.491 INFO    ] No existing commands found in stream
[2026-08-29 19:49:25,503.503 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:49:25,506.506 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-08-29 19:49:29,189.189 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:49:29,191.191 INFO    ] Checking for system updates...
[2026-08-29 19:49:29,211.211 INFO    ] 200
[2026-08-29 19:49:29,213.213 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:49:29,242.242 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:49:29,244.244 INFO    ] No update needed
[2026-08-29 19:49:29,245.245 INFO    ] Checking for camera pi updates...
[2026-08-29 19:49:29,264.264 INFO    ] 200
[2026-08-29 19:49:29,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:49:29,288.288 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:49:29,373.373 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:49:29,376.376 INFO    ] No camera update needed
[2026-08-29 19:49:29,378.378 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:49:29,380.380 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:49:29,386.386 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:49:29,391.391 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:49:31,430.430 INFO    ] ================================================
[2026-08-29 19:49:31,446.446 INFO    ] Launching Daemon at Sat Aug 29 19:49:31 IST 2026
[2026-08-29 19:49:31,456.456 INFO    ] ================================================
[2026-08-29 19:49:32,045.045 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:49:32
[2026-08-29 19:49:32,582.582 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:49:32,849.849 INFO    ] Initializing speech engine...
[2026-08-29 19:49:32,859.859 INFO    ] 2026-08-29 19:49:32
[2026-08-29 19:49:33,171.171 INFO    ] 2026-08-29 19:49:33
[2026-08-29 19:49:33,208.208 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:49:33,401.401 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:49:33,408.408 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:49:33,542.542 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:49:33,549.549 INFO    ] time= 29/08/2026 19:49:33
[2026-08-29 19:49:33,554.554 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:49:33,574.574 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:49:33,673.673 INFO    ] No existing commands found in stream
[2026-08-29 19:49:38,683.683 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:49:38,686.686 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 19:49:40,667.667 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:49:40,668.668 INFO    ] Checking for system updates...
[2026-08-29 19:49:40,689.689 INFO    ] 200
[2026-08-29 19:49:40,691.691 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:49:40,721.721 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:49:40,722.722 INFO    ] No update needed
[2026-08-29 19:49:40,724.724 INFO    ] Checking for camera pi updates...
[2026-08-29 19:49:40,743.743 INFO    ] 200
[2026-08-29 19:49:40,745.745 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:49:40,768.768 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:49:40,850.850 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:49:40,852.852 INFO    ] No camera update needed
[2026-08-29 19:49:40,853.853 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:49:40,854.854 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:49:40,857.857 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:49:40,860.860 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:49:42,900.900 INFO    ] ================================================
[2026-08-29 19:49:42,916.916 INFO    ] Launching Daemon at Sat Aug 29 19:49:42 IST 2026
[2026-08-29 19:49:42,928.928 INFO    ] ================================================
[2026-08-29 19:49:43,260.260 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:49:43
[2026-08-29 19:49:43,570.570 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:49:43,713.713 INFO    ] Initializing speech engine...
[2026-08-29 19:49:43,717.717 INFO    ] 2026-08-29 19:49:43
[2026-08-29 19:49:43,920.920 INFO    ] 2026-08-29 19:49:43
[2026-08-29 19:49:43,949.949 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:49:44,071.071 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:49:44,119.119 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:49:44,263.263 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:49:44,319.319 INFO    ] time= 29/08/2026 19:49:44
[2026-08-29 19:49:44,353.353 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:49:44,363.363 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:49:44,433.433 INFO    ] No existing commands found in stream
[2026-08-29 19:49:49,444.444 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:49:49,446.446 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-08-29 19:49:52,762.762 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:49:52,763.763 INFO    ] Checking for system updates...
[2026-08-29 19:49:52,784.784 INFO    ] 200
[2026-08-29 19:49:52,785.785 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:49:52,815.815 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:49:52,816.816 INFO    ] No update needed
[2026-08-29 19:49:52,818.818 INFO    ] Checking for camera pi updates...
[2026-08-29 19:49:52,837.837 INFO    ] 200
[2026-08-29 19:49:52,838.838 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:49:52,861.861 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:49:52,966.966 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:49:52,967.967 INFO    ] No camera update needed
[2026-08-29 19:49:52,968.968 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:49:52,970.970 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:49:52,973.973 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:49:52,975.975 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:49:55,008.008 INFO    ] ================================================
[2026-08-29 19:49:55,023.023 INFO    ] Launching Daemon at Sat Aug 29 19:49:55 IST 2026
[2026-08-29 19:49:55,034.034 INFO    ] ================================================
[2026-08-29 19:49:55,400.400 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:49:55
[2026-08-29 19:49:55,714.714 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:49:55,915.915 INFO    ] Initializing speech engine...
[2026-08-29 19:49:55,937.937 INFO    ] 2026-08-29 19:49:55
[2026-08-29 19:49:56,190.190 INFO    ] 2026-08-29 19:49:56
[2026-08-29 19:49:56,226.226 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:49:56,399.399 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:49:56,411.411 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:49:56,552.552 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:49:56,561.561 INFO    ] time= 29/08/2026 19:49:56
[2026-08-29 19:49:56,567.567 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:49:56,592.592 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:49:56,712.712 INFO    ] No existing commands found in stream
[2026-08-29 19:50:01,743.743 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:50:01,746.746 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-08-29 19:50:07,879.879 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:50:07,881.881 INFO    ] Checking for system updates...
[2026-08-29 19:50:07,903.903 INFO    ] 200
[2026-08-29 19:50:07,904.904 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:50:07,934.934 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:50:07,935.935 INFO    ] No update needed
[2026-08-29 19:50:07,937.937 INFO    ] Checking for camera pi updates...
[2026-08-29 19:50:07,956.956 INFO    ] 200
[2026-08-29 19:50:07,957.957 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:50:07,980.980 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:50:08,060.060 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:50:08,062.062 INFO    ] No camera update needed
[2026-08-29 19:50:08,063.063 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:50:08,064.064 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:50:08,067.067 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:50:08,070.070 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:50:10,110.110 INFO    ] ================================================
[2026-08-29 19:50:10,126.126 INFO    ] Launching Daemon at Sat Aug 29 19:50:10 IST 2026
[2026-08-29 19:50:10,137.137 INFO    ] ================================================
[2026-08-29 19:50:10,477.477 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:50:10
[2026-08-29 19:50:10,790.790 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:50:11,049.049 INFO    ] Initializing speech engine...
[2026-08-29 19:50:11,058.058 INFO    ] 2026-08-29 19:50:11
[2026-08-29 19:50:11,307.307 INFO    ] 2026-08-29 19:50:11
[2026-08-29 19:50:11,373.373 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:50:11,514.514 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:50:11,525.525 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:50:11,662.662 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:50:11,674.674 INFO    ] time= 29/08/2026 19:50:11
[2026-08-29 19:50:11,682.682 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:50:11,712.712 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:50:11,834.834 INFO    ] No existing commands found in stream
[2026-08-29 19:50:16,859.859 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:50:16,862.862 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-08-29 19:50:17,428.428 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:50:17,430.430 INFO    ] Checking for system updates...
[2026-08-29 19:50:17,450.450 INFO    ] 200
[2026-08-29 19:50:17,452.452 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:50:17,483.483 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:50:17,484.484 INFO    ] No update needed
[2026-08-29 19:50:17,485.485 INFO    ] Checking for camera pi updates...
[2026-08-29 19:50:17,508.508 INFO    ] 200
[2026-08-29 19:50:17,510.510 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:50:17,532.532 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:50:17,610.610 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:50:17,611.611 INFO    ] No camera update needed
[2026-08-29 19:50:17,612.612 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:50:17,614.614 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:50:17,617.617 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:50:17,619.619 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:50:19,660.660 INFO    ] ================================================
[2026-08-29 19:50:19,675.675 INFO    ] Launching Daemon at Sat Aug 29 19:50:19 IST 2026
[2026-08-29 19:50:19,686.686 INFO    ] ================================================
[2026-08-29 19:50:20,034.034 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:50:20
[2026-08-29 19:50:20,347.347 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:50:20,485.485 INFO    ] Initializing speech engine...
[2026-08-29 19:50:20,496.496 INFO    ] 2026-08-29 19:50:20
[2026-08-29 19:50:20,698.698 INFO    ] 2026-08-29 19:50:20
[2026-08-29 19:50:20,728.728 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:50:20,848.848 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:50:20,887.887 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:50:21,042.042 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:50:21,094.094 INFO    ] time= 29/08/2026 19:50:21
[2026-08-29 19:50:21,152.152 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:50:21,188.188 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:50:21,313.313 INFO    ] No existing commands found in stream
[2026-08-29 19:50:26,343.343 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:50:26,346.346 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-08-29 19:50:29,927.927 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:50:29,928.928 INFO    ] Checking for system updates...
[2026-08-29 19:50:29,950.950 INFO    ] 200
[2026-08-29 19:50:29,951.951 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:50:30,001.001 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:50:30,004.004 INFO    ] No update needed
[2026-08-29 19:50:30,006.006 INFO    ] Checking for camera pi updates...
[2026-08-29 19:50:30,039.039 INFO    ] 200
[2026-08-29 19:50:30,042.042 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:50:30,090.090 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:50:30,194.194 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:50:30,197.197 INFO    ] No camera update needed
[2026-08-29 19:50:30,199.199 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:50:30,201.201 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:50:30,206.206 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:50:30,211.211 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:50:32,253.253 INFO    ] ================================================
[2026-08-29 19:50:32,270.270 INFO    ] Launching Daemon at Sat Aug 29 19:50:32 IST 2026
[2026-08-29 19:50:32,282.282 INFO    ] ================================================
[2026-08-29 19:50:32,957.957 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:50:32
[2026-08-29 19:50:33,332.332 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:50:33,473.473 INFO    ] Initializing speech engine...
[2026-08-29 19:50:33,479.479 INFO    ] 2026-08-29 19:50:33
[2026-08-29 19:50:33,686.686 INFO    ] 2026-08-29 19:50:33
[2026-08-29 19:50:33,766.766 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:50:33,913.913 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:50:33,921.921 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:50:34,055.055 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:50:34,102.102 INFO    ] time= 29/08/2026 19:50:34
[2026-08-29 19:50:34,161.161 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:50:34,189.189 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:50:34,242.242 INFO    ] No existing commands found in stream
[2026-08-29 19:50:39,254.254 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:50:39,257.257 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-08-29 19:50:43,086.086 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:50:43,088.088 INFO    ] Checking for system updates...
[2026-08-29 19:50:43,108.108 INFO    ] 200
[2026-08-29 19:50:43,109.109 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:50:43,139.139 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:50:43,140.140 INFO    ] No update needed
[2026-08-29 19:50:43,142.142 INFO    ] Checking for camera pi updates...
[2026-08-29 19:50:43,163.163 INFO    ] 200
[2026-08-29 19:50:43,164.164 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:50:43,187.187 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:50:43,266.266 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:50:43,268.268 INFO    ] No camera update needed
[2026-08-29 19:50:43,269.269 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:50:43,270.270 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:50:43,273.273 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:50:43,276.276 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:50:45,308.308 INFO    ] ================================================
[2026-08-29 19:50:45,324.324 INFO    ] Launching Daemon at Sat Aug 29 19:50:45 IST 2026
[2026-08-29 19:50:45,335.335 INFO    ] ================================================
[2026-08-29 19:50:45,911.911 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:50:45
[2026-08-29 19:50:46,498.498 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:50:46,756.756 INFO    ] Initializing speech engine...
[2026-08-29 19:50:46,762.762 INFO    ] 2026-08-29 19:50:46
[2026-08-29 19:50:47,056.056 INFO    ] 2026-08-29 19:50:47
[2026-08-29 19:50:47,094.094 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:50:47,283.283 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:50:47,294.294 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:50:47,406.406 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:50:47,410.410 INFO    ] time= 29/08/2026 19:50:47
[2026-08-29 19:50:47,425.425 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:50:47,428.428 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:50:47,489.489 INFO    ] No existing commands found in stream
[2026-08-29 19:50:52,504.504 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:50:52,507.507 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-08-29 19:50:57,739.739 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:50:57,740.740 INFO    ] Checking for system updates...
[2026-08-29 19:50:57,764.764 INFO    ] 200
[2026-08-29 19:50:57,765.765 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:50:57,797.797 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:50:57,799.799 INFO    ] No update needed
[2026-08-29 19:50:57,800.800 INFO    ] Checking for camera pi updates...
[2026-08-29 19:50:57,819.819 INFO    ] 200
[2026-08-29 19:50:57,820.820 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:50:57,853.853 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:50:57,943.943 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:50:57,945.945 INFO    ] No camera update needed
[2026-08-29 19:50:57,947.947 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:50:57,950.950 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:50:57,955.955 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:50:57,960.960 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:51:00,001.001 INFO    ] ================================================
[2026-08-29 19:51:00,016.016 INFO    ] Launching Daemon at Sat Aug 29 19:51:00 IST 2026
[2026-08-29 19:51:00,027.027 INFO    ] ================================================
[2026-08-29 19:51:00,600.600 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:51:00
[2026-08-29 19:51:00,923.923 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:51:01,056.056 INFO    ] Initializing speech engine...
[2026-08-29 19:51:01,061.061 INFO    ] 2026-08-29 19:51:01
[2026-08-29 19:51:01,288.288 INFO    ] 2026-08-29 19:51:01
[2026-08-29 19:51:01,318.318 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:51:01,466.466 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:51:01,517.517 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:51:01,643.643 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:51:01,648.648 INFO    ] time= 29/08/2026 19:51:01
[2026-08-29 19:51:01,653.653 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:51:01,656.656 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:51:01,755.755 INFO    ] No existing commands found in stream
[2026-08-29 19:51:06,766.766 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:51:06,769.769 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-08-29 19:51:07,688.688 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:51:07,689.689 INFO    ] Checking for system updates...
[2026-08-29 19:51:07,711.711 INFO    ] 200
[2026-08-29 19:51:07,713.713 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:51:07,745.745 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:51:07,746.746 INFO    ] No update needed
[2026-08-29 19:51:07,750.750 INFO    ] Checking for camera pi updates...
[2026-08-29 19:51:07,771.771 INFO    ] 200
[2026-08-29 19:51:07,773.773 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:51:07,796.796 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:51:07,849.849 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:51:07,850.850 INFO    ] No camera update needed
[2026-08-29 19:51:07,851.851 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:51:07,853.853 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:51:07,856.856 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:51:07,859.859 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:51:09,897.897 INFO    ] ================================================
[2026-08-29 19:51:09,913.913 INFO    ] Launching Daemon at Sat Aug 29 19:51:09 IST 2026
[2026-08-29 19:51:09,923.923 INFO    ] ================================================
[2026-08-29 19:51:10,507.507 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:51:10
[2026-08-29 19:51:11,155.155 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:51:11,458.458 INFO    ] Initializing speech engine...
[2026-08-29 19:51:11,470.470 INFO    ] 2026-08-29 19:51:11
[2026-08-29 19:51:11,755.755 INFO    ] 2026-08-29 19:51:11
[2026-08-29 19:51:11,793.793 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:51:12,014.014 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:51:12,024.024 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:51:12,156.156 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:51:12,210.210 INFO    ] time= 29/08/2026 19:51:12
[2026-08-29 19:51:12,259.259 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:51:12,294.294 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:51:12,410.410 INFO    ] No existing commands found in stream
[2026-08-29 19:51:17,435.435 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:51:17,439.439 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-08-29 19:51:17,914.914 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:51:17,915.915 INFO    ] Checking for system updates...
[2026-08-29 19:51:17,935.935 INFO    ] 200
[2026-08-29 19:51:17,937.937 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:51:17,971.971 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:51:17,973.973 INFO    ] No update needed
[2026-08-29 19:51:17,974.974 INFO    ] Checking for camera pi updates...
[2026-08-29 19:51:17,993.993 INFO    ] 200
[2026-08-29 19:51:17,995.995 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:51:18,019.019 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:51:18,112.112 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:51:18,114.114 INFO    ] No camera update needed
[2026-08-29 19:51:18,115.115 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:51:18,116.116 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:51:18,119.119 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:51:18,121.121 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:51:20,160.160 INFO    ] ================================================
[2026-08-29 19:51:20,175.175 INFO    ] Launching Daemon at Sat Aug 29 19:51:20 IST 2026
[2026-08-29 19:51:20,186.186 INFO    ] ================================================
[2026-08-29 19:51:20,664.664 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:51:20
[2026-08-29 19:51:21,247.247 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:51:21,507.507 INFO    ] Initializing speech engine...
[2026-08-29 19:51:21,520.520 INFO    ] 2026-08-29 19:51:21
[2026-08-29 19:51:21,785.785 INFO    ] 2026-08-29 19:51:21
[2026-08-29 19:51:21,815.815 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:51:21,984.984 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:51:21,993.993 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:51:22,144.144 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:51:22,154.154 INFO    ] time= 29/08/2026 19:51:22
[2026-08-29 19:51:22,159.159 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:51:22,182.182 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:51:22,227.227 INFO    ] No existing commands found in stream
[2026-08-29 19:51:27,236.236 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:51:27,239.239 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-08-29 19:51:28,697.697 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:51:28,699.699 INFO    ] Checking for system updates...
[2026-08-29 19:51:28,719.719 INFO    ] 200
[2026-08-29 19:51:28,720.720 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:51:28,753.753 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:51:28,754.754 INFO    ] No update needed
[2026-08-29 19:51:28,756.756 INFO    ] Checking for camera pi updates...
[2026-08-29 19:51:28,776.776 INFO    ] 200
[2026-08-29 19:51:28,777.777 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:51:28,800.800 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:51:28,890.890 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:51:28,892.892 INFO    ] No camera update needed
[2026-08-29 19:51:28,893.893 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:51:28,894.894 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:51:28,897.897 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:51:28,900.900 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:51:30,938.938 INFO    ] ================================================
[2026-08-29 19:51:30,954.954 INFO    ] Launching Daemon at Sat Aug 29 19:51:30 IST 2026
[2026-08-29 19:51:30,965.965 INFO    ] ================================================
[2026-08-29 19:51:31,294.294 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:51:31
[2026-08-29 19:51:31,645.645 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:51:31,943.943 INFO    ] Initializing speech engine...
[2026-08-29 19:51:31,957.957 INFO    ] 2026-08-29 19:51:31
[2026-08-29 19:51:32,227.227 INFO    ] 2026-08-29 19:51:32
[2026-08-29 19:51:32,290.290 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:51:32,442.442 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:51:32,456.456 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:51:32,570.570 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:51:32,576.576 INFO    ] time= 29/08/2026 19:51:32
[2026-08-29 19:51:32,595.595 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:51:32,617.617 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:51:32,694.694 INFO    ] No existing commands found in stream
[2026-08-29 19:51:37,707.707 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:51:37,710.710 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-08-29 19:51:40,245.245 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:51:40,246.246 INFO    ] Checking for system updates...
[2026-08-29 19:51:40,266.266 INFO    ] 200
[2026-08-29 19:51:40,268.268 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:51:40,297.297 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:51:40,298.298 INFO    ] No update needed
[2026-08-29 19:51:40,300.300 INFO    ] Checking for camera pi updates...
[2026-08-29 19:51:40,321.321 INFO    ] 200
[2026-08-29 19:51:40,323.323 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:51:40,346.346 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:51:40,422.422 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:51:40,423.423 INFO    ] No camera update needed
[2026-08-29 19:51:40,424.424 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:51:40,426.426 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:51:40,428.428 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:51:40,431.431 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:51:42,472.472 INFO    ] ================================================
[2026-08-29 19:51:42,488.488 INFO    ] Launching Daemon at Sat Aug 29 19:51:42 IST 2026
[2026-08-29 19:51:42,499.499 INFO    ] ================================================
[2026-08-29 19:51:42,830.830 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:51:42
[2026-08-29 19:51:43,146.146 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:51:43,291.291 INFO    ] Initializing speech engine...
[2026-08-29 19:51:43,296.296 INFO    ] 2026-08-29 19:51:43
[2026-08-29 19:51:43,501.501 INFO    ] 2026-08-29 19:51:43
[2026-08-29 19:51:43,530.530 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:51:43,651.651 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:51:43,686.686 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:51:43,846.846 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:51:43,867.867 INFO    ] time= 29/08/2026 19:51:43
[2026-08-29 19:51:43,924.924 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:51:43,947.947 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:51:44,020.020 INFO    ] No existing commands found in stream
[2026-08-29 19:51:49,034.034 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:51:49,037.037 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 19:51:50,317.317 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:51:50,320.320 INFO    ] Checking for system updates...
[2026-08-29 19:51:50,378.378 INFO    ] 200
[2026-08-29 19:51:50,380.380 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 19:51:50,383.383 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-08-29 19:51:50,385.385 INFO    ] Checking for camera pi updates...
[2026-08-29 19:51:50,425.425 INFO    ] 200
[2026-08-29 19:51:50,427.427 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 19:51:50,430.430 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-08-29 19:51:50,432.432 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:51:50,434.434 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:51:50,439.439 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:51:50,444.444 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:51:52,486.486 INFO    ] ================================================
[2026-08-29 19:51:52,501.501 INFO    ] Launching Daemon at Sat Aug 29 19:51:52 IST 2026
[2026-08-29 19:51:52,512.512 INFO    ] ================================================
[2026-08-29 19:51:53,099.099 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:51:53
[2026-08-29 19:51:53,725.725 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:51:53,939.939 INFO    ] Initializing speech engine...
[2026-08-29 19:51:53,947.947 INFO    ] 2026-08-29 19:51:53
[2026-08-29 19:51:54,137.137 INFO    ] 2026-08-29 19:51:54
[2026-08-29 19:51:54,172.172 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:51:54,357.357 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:51:54,391.391 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:51:54,559.559 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:51:54,627.627 INFO    ] time= 29/08/2026 19:51:54
[2026-08-29 19:51:54,650.650 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:51:54,657.657 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:51:54,767.767 INFO    ] No existing commands found in stream
[2026-08-29 19:51:59,781.781 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:51:59,784.784 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-08-29 19:52:00,228.228 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:52:00,229.229 INFO    ] Checking for system updates...
[2026-08-29 19:52:00,250.250 INFO    ] 200
[2026-08-29 19:52:00,252.252 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:52:00,285.285 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:52:00,287.287 INFO    ] No update needed
[2026-08-29 19:52:00,288.288 INFO    ] Checking for camera pi updates...
[2026-08-29 19:52:00,310.310 INFO    ] 200
[2026-08-29 19:52:00,312.312 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:52:00,335.335 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:52:00,448.448 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:52:00,450.450 INFO    ] No camera update needed
[2026-08-29 19:52:00,451.451 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:52:00,452.452 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:52:00,456.456 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:52:00,459.459 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:52:02,523.523 INFO    ] ================================================
[2026-08-29 19:52:02,544.544 INFO    ] Launching Daemon at Sat Aug 29 19:52:02 IST 2026
[2026-08-29 19:52:02,561.561 INFO    ] ================================================
[2026-08-29 19:52:03,236.236 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:52:03
[2026-08-29 19:52:03,896.896 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:52:04,198.198 INFO    ] Initializing speech engine...
[2026-08-29 19:52:04,212.212 INFO    ] 2026-08-29 19:52:04
[2026-08-29 19:52:04,519.519 INFO    ] 2026-08-29 19:52:04
[2026-08-29 19:52:04,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:52:04,756.756 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:52:04,765.765 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:52:04,898.898 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:52:04,946.946 INFO    ] time= 29/08/2026 19:52:04
[2026-08-29 19:52:04,957.957 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:52:04,962.962 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:52:05,079.079 INFO    ] No existing commands found in stream
[2026-08-29 19:52:10,096.096 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:52:10,100.100 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-08-29 19:52:11,127.127 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:52:11,129.129 INFO    ] Checking for system updates...
[2026-08-29 19:52:11,149.149 INFO    ] 200
[2026-08-29 19:52:11,151.151 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:52:11,181.181 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:52:11,183.183 INFO    ] No update needed
[2026-08-29 19:52:11,184.184 INFO    ] Checking for camera pi updates...
[2026-08-29 19:52:11,204.204 INFO    ] 200
[2026-08-29 19:52:11,205.205 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:52:11,230.230 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:52:11,414.414 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:52:11,416.416 INFO    ] No camera update needed
[2026-08-29 19:52:11,417.417 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:52:11,418.418 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:52:11,421.421 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:52:11,424.424 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:52:13,465.465 INFO    ] ================================================
[2026-08-29 19:52:13,480.480 INFO    ] Launching Daemon at Sat Aug 29 19:52:13 IST 2026
[2026-08-29 19:52:13,491.491 INFO    ] ================================================
[2026-08-29 19:52:13,871.871 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:52:13
[2026-08-29 19:52:14,192.192 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:52:14,330.330 INFO    ] Initializing speech engine...
[2026-08-29 19:52:14,343.343 INFO    ] 2026-08-29 19:52:14
[2026-08-29 19:52:14,560.560 INFO    ] 2026-08-29 19:52:14
[2026-08-29 19:52:14,590.590 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:52:14,722.722 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:52:14,788.788 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:52:14,929.929 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:52:15,000.000 INFO    ] time= 29/08/2026 19:52:14
[2026-08-29 19:52:15,034.034 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:52:15,036.036 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:52:15,114.114 INFO    ] No existing commands found in stream
[2026-08-29 19:52:20,128.128 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:52:20,131.131 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 19:52:20,684.684 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:52:20,685.685 INFO    ] Checking for system updates...
[2026-08-29 19:52:20,706.706 INFO    ] 200
[2026-08-29 19:52:20,707.707 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:52:20,738.738 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:52:20,739.739 INFO    ] No update needed
[2026-08-29 19:52:20,741.741 INFO    ] Checking for camera pi updates...
[2026-08-29 19:52:20,760.760 INFO    ] 200
[2026-08-29 19:52:20,761.761 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:52:20,788.788 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:52:20,887.887 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:52:20,889.889 INFO    ] No camera update needed
[2026-08-29 19:52:20,891.891 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:52:20,894.894 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:52:20,899.899 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:52:20,904.904 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:52:22,948.948 INFO    ] ================================================
[2026-08-29 19:52:22,964.964 INFO    ] Launching Daemon at Sat Aug 29 19:52:22 IST 2026
[2026-08-29 19:52:22,975.975 INFO    ] ================================================
[2026-08-29 19:52:23,544.544 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:52:23
[2026-08-29 19:52:24,035.035 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:52:24,177.177 INFO    ] Initializing speech engine...
[2026-08-29 19:52:24,183.183 INFO    ] 2026-08-29 19:52:24
[2026-08-29 19:52:24,385.385 INFO    ] 2026-08-29 19:52:24
[2026-08-29 19:52:24,414.414 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:52:24,536.536 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:52:24,599.599 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:52:24,738.738 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:52:24,804.804 INFO    ] time= 29/08/2026 19:52:24
[2026-08-29 19:52:24,831.831 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:52:24,834.834 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:52:24,950.950 INFO    ] No existing commands found in stream
[2026-08-29 19:52:29,980.980 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:52:29,983.983 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-08-29 19:52:33,362.362 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:52:33,365.365 INFO    ] Checking for system updates...
[2026-08-29 19:52:33,404.404 INFO    ] 200
[2026-08-29 19:52:33,406.406 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:52:33,459.459 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:52:33,461.461 INFO    ] No update needed
[2026-08-29 19:52:33,464.464 INFO    ] Checking for camera pi updates...
[2026-08-29 19:52:33,497.497 INFO    ] 200
[2026-08-29 19:52:33,500.500 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:52:33,540.540 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:52:33,649.649 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:52:33,652.652 INFO    ] No camera update needed
[2026-08-29 19:52:33,654.654 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:52:33,656.656 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:52:33,662.662 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:52:33,666.666 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:52:35,708.708 INFO    ] ================================================
[2026-08-29 19:52:35,723.723 INFO    ] Launching Daemon at Sat Aug 29 19:52:35 IST 2026
[2026-08-29 19:52:35,735.735 INFO    ] ================================================
[2026-08-29 19:52:36,097.097 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:52:36
[2026-08-29 19:52:36,431.431 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:52:36,574.574 INFO    ] Initializing speech engine...
[2026-08-29 19:52:36,580.580 INFO    ] 2026-08-29 19:52:36
[2026-08-29 19:52:36,784.784 INFO    ] 2026-08-29 19:52:36
[2026-08-29 19:52:36,814.814 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:52:36,937.937 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:52:36,969.969 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:52:37,109.109 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:52:37,140.140 INFO    ] time= 29/08/2026 19:52:37
[2026-08-29 19:52:37,206.206 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:52:37,234.234 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:52:37,305.305 INFO    ] No existing commands found in stream
[2026-08-29 19:52:42,316.316 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:52:42,318.318 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-08-29 19:52:44,191.191 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:52:44,193.193 INFO    ] Checking for system updates...
[2026-08-29 19:52:44,213.213 INFO    ] 200
[2026-08-29 19:52:44,215.215 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:52:44,244.244 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:52:44,246.246 INFO    ] No update needed
[2026-08-29 19:52:44,247.247 INFO    ] Checking for camera pi updates...
[2026-08-29 19:52:44,266.266 INFO    ] 200
[2026-08-29 19:52:44,267.267 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:52:44,292.292 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:52:44,370.370 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:52:44,372.372 INFO    ] No camera update needed
[2026-08-29 19:52:44,373.373 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:52:44,374.374 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:52:44,377.377 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:52:44,380.380 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:52:46,418.418 INFO    ] ================================================
[2026-08-29 19:52:46,434.434 INFO    ] Launching Daemon at Sat Aug 29 19:52:46 IST 2026
[2026-08-29 19:52:46,445.445 INFO    ] ================================================
[2026-08-29 19:52:46,830.830 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:52:46
[2026-08-29 19:52:47,170.170 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:52:47,313.313 INFO    ] Initializing speech engine...
[2026-08-29 19:52:47,321.321 INFO    ] 2026-08-29 19:52:47
[2026-08-29 19:52:47,515.515 INFO    ] 2026-08-29 19:52:47
[2026-08-29 19:52:47,560.560 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:52:47,749.749 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:52:47,763.763 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:52:47,883.883 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:52:47,888.888 INFO    ] time= 29/08/2026 19:52:47
[2026-08-29 19:52:47,895.895 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:52:47,914.914 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:52:48,013.013 INFO    ] No existing commands found in stream
[2026-08-29 19:52:53,027.027 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:52:53,029.029 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-08-29 19:52:57,114.114 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:52:57,115.115 INFO    ] Checking for system updates...
[2026-08-29 19:52:57,136.136 INFO    ] 200
[2026-08-29 19:52:57,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:52:57,169.169 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:52:57,171.171 INFO    ] No update needed
[2026-08-29 19:52:57,172.172 INFO    ] Checking for camera pi updates...
[2026-08-29 19:52:57,191.191 INFO    ] 200
[2026-08-29 19:52:57,193.193 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:52:57,216.216 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:52:57,305.305 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:52:57,307.307 INFO    ] No camera update needed
[2026-08-29 19:52:57,308.308 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:52:57,309.309 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:52:57,312.312 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:52:57,315.315 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:52:59,354.354 INFO    ] ================================================
[2026-08-29 19:52:59,369.369 INFO    ] Launching Daemon at Sat Aug 29 19:52:59 IST 2026
[2026-08-29 19:52:59,381.381 INFO    ] ================================================
[2026-08-29 19:52:59,720.720 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:52:59
[2026-08-29 19:53:00,035.035 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:53:00,174.174 INFO    ] Initializing speech engine...
[2026-08-29 19:53:00,184.184 INFO    ] 2026-08-29 19:53:00
[2026-08-29 19:53:00,387.387 INFO    ] 2026-08-29 19:53:00
[2026-08-29 19:53:00,416.416 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:53:00,540.540 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:53:00,578.578 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:53:00,732.732 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:53:00,779.779 INFO    ] time= 29/08/2026 19:53:00
[2026-08-29 19:53:00,817.817 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:53:00,833.833 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:53:00,903.903 INFO    ] No existing commands found in stream
[2026-08-29 19:53:05,914.914 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:53:05,917.917 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-08-29 19:53:06,808.808 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:53:06,809.809 INFO    ] Checking for system updates...
[2026-08-29 19:53:06,829.829 INFO    ] 200
[2026-08-29 19:53:06,831.831 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:53:06,862.862 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:53:06,863.863 INFO    ] No update needed
[2026-08-29 19:53:06,864.864 INFO    ] Checking for camera pi updates...
[2026-08-29 19:53:06,886.886 INFO    ] 200
[2026-08-29 19:53:06,887.887 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:53:06,910.910 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:53:07,005.005 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:53:07,007.007 INFO    ] No camera update needed
[2026-08-29 19:53:07,008.008 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:53:07,009.009 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:53:07,012.012 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:53:07,015.015 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:53:09,053.053 INFO    ] ================================================
[2026-08-29 19:53:09,070.070 INFO    ] Launching Daemon at Sat Aug 29 19:53:09 IST 2026
[2026-08-29 19:53:09,081.081 INFO    ] ================================================
[2026-08-29 19:53:09,440.440 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:53:09
[2026-08-29 19:53:09,774.774 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:53:09,919.919 INFO    ] Initializing speech engine...
[2026-08-29 19:53:09,929.929 INFO    ] 2026-08-29 19:53:09
[2026-08-29 19:53:10,126.126 INFO    ] 2026-08-29 19:53:10
[2026-08-29 19:53:10,170.170 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:53:10,359.359 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:53:10,398.398 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:53:10,566.566 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:53:10,590.590 INFO    ] time= 29/08/2026 19:53:10
[2026-08-29 19:53:10,671.671 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:53:10,703.703 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:53:10,756.756 INFO    ] No existing commands found in stream
[2026-08-29 19:53:15,769.769 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:53:15,773.773 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-08-29 19:53:17,198.198 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:53:17,199.199 INFO    ] Checking for system updates...
[2026-08-29 19:53:17,220.220 INFO    ] 200
[2026-08-29 19:53:17,221.221 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:53:17,251.251 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:53:17,253.253 INFO    ] No update needed
[2026-08-29 19:53:17,254.254 INFO    ] Checking for camera pi updates...
[2026-08-29 19:53:17,279.279 INFO    ] 200
[2026-08-29 19:53:17,282.282 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:53:17,328.328 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:53:17,413.413 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:53:17,415.415 INFO    ] No camera update needed
[2026-08-29 19:53:17,417.417 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:53:17,420.420 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:53:17,425.425 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:53:17,430.430 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:53:19,470.470 INFO    ] ================================================
[2026-08-29 19:53:19,486.486 INFO    ] Launching Daemon at Sat Aug 29 19:53:19 IST 2026
[2026-08-29 19:53:19,497.497 INFO    ] ================================================
[2026-08-29 19:53:20,079.079 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:53:20
[2026-08-29 19:53:20,545.545 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:53:20,688.688 INFO    ] Initializing speech engine...
[2026-08-29 19:53:20,693.693 INFO    ] 2026-08-29 19:53:20
[2026-08-29 19:53:20,896.896 INFO    ] 2026-08-29 19:53:20
[2026-08-29 19:53:20,946.946 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:53:21,108.108 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:53:21,116.116 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:53:21,255.255 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:53:21,310.310 INFO    ] time= 29/08/2026 19:53:21
[2026-08-29 19:53:21,321.321 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:53:21,339.339 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:53:21,455.455 INFO    ] No existing commands found in stream
[2026-08-29 19:53:26,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:53:26,477.477 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-08-29 19:53:28,920.920 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:53:28,922.922 INFO    ] Checking for system updates...
[2026-08-29 19:53:28,943.943 INFO    ] 200
[2026-08-29 19:53:28,945.945 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:53:28,977.977 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:53:28,980.980 INFO    ] No update needed
[2026-08-29 19:53:28,982.982 INFO    ] Checking for camera pi updates...
[2026-08-29 19:53:29,015.015 INFO    ] 200
[2026-08-29 19:53:29,018.018 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:53:29,080.080 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:53:29,162.162 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:53:29,165.165 INFO    ] No camera update needed
[2026-08-29 19:53:29,167.167 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:53:29,169.169 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:53:29,175.175 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:53:29,180.180 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:53:31,220.220 INFO    ] ================================================
[2026-08-29 19:53:31,235.235 INFO    ] Launching Daemon at Sat Aug 29 19:53:31 IST 2026
[2026-08-29 19:53:31,246.246 INFO    ] ================================================
[2026-08-29 19:53:31,841.841 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:53:31
[2026-08-29 19:53:32,375.375 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:53:32,658.658 INFO    ] Initializing speech engine...
[2026-08-29 19:53:32,672.672 INFO    ] 2026-08-29 19:53:32
[2026-08-29 19:53:32,933.933 INFO    ] 2026-08-29 19:53:32
[2026-08-29 19:53:32,968.968 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:53:33,141.141 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:53:33,153.153 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:53:33,295.295 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:53:33,304.304 INFO    ] time= 29/08/2026 19:53:33
[2026-08-29 19:53:33,311.311 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:53:33,341.341 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:53:33,463.463 INFO    ] No existing commands found in stream
[2026-08-29 19:53:38,493.493 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:53:38,496.496 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 19:53:38,945.945 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:53:38,946.946 INFO    ] Checking for system updates...
[2026-08-29 19:53:38,966.966 INFO    ] 200
[2026-08-29 19:53:38,968.968 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:53:38,998.998 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:53:38,999.999 INFO    ] No update needed
[2026-08-29 19:53:39,000.000 INFO    ] Checking for camera pi updates...
[2026-08-29 19:53:39,020.020 INFO    ] 200
[2026-08-29 19:53:39,021.021 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:53:39,045.045 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:53:39,092.092 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:53:39,093.093 INFO    ] No camera update needed
[2026-08-29 19:53:39,095.095 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:53:39,096.096 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:53:39,099.099 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:53:39,102.102 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:53:41,148.148 INFO    ] ================================================
[2026-08-29 19:53:41,163.163 INFO    ] Launching Daemon at Sat Aug 29 19:53:41 IST 2026
[2026-08-29 19:53:41,174.174 INFO    ] ================================================
[2026-08-29 19:53:41,777.777 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:53:41
[2026-08-29 19:53:42,335.335 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:53:42,479.479 INFO    ] Initializing speech engine...
[2026-08-29 19:53:42,484.484 INFO    ] 2026-08-29 19:53:42
[2026-08-29 19:53:42,696.696 INFO    ] 2026-08-29 19:53:42
[2026-08-29 19:53:42,780.780 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:53:42,929.929 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:53:42,938.938 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:53:43,070.070 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:53:43,107.107 INFO    ] time= 29/08/2026 19:53:43
[2026-08-29 19:53:43,161.161 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:53:43,203.203 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:53:43,255.255 INFO    ] No existing commands found in stream
[2026-08-29 19:53:48,267.267 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:53:48,270.270 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 19:53:48,789.789 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:53:48,791.791 INFO    ] Checking for system updates...
[2026-08-29 19:53:48,812.812 INFO    ] 200
[2026-08-29 19:53:48,813.813 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:53:48,846.846 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:53:48,847.847 INFO    ] No update needed
[2026-08-29 19:53:48,848.848 INFO    ] Checking for camera pi updates...
[2026-08-29 19:53:48,870.870 INFO    ] 200
[2026-08-29 19:53:48,871.871 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:53:48,894.894 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:53:48,970.970 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:53:48,972.972 INFO    ] No camera update needed
[2026-08-29 19:53:48,973.973 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:53:48,974.974 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:53:48,977.977 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:53:48,980.980 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:53:51,018.018 INFO    ] ================================================
[2026-08-29 19:53:51,033.033 INFO    ] Launching Daemon at Sat Aug 29 19:53:51 IST 2026
[2026-08-29 19:53:51,044.044 INFO    ] ================================================
[2026-08-29 19:53:51,398.398 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:53:51
[2026-08-29 19:53:51,735.735 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:53:51,887.887 INFO    ] Initializing speech engine...
[2026-08-29 19:53:51,893.893 INFO    ] 2026-08-29 19:53:51
[2026-08-29 19:53:52,102.102 INFO    ] 2026-08-29 19:53:52
[2026-08-29 19:53:52,132.132 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:53:52,261.261 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:53:52,324.324 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:53:52,458.458 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:53:52,509.509 INFO    ] time= 29/08/2026 19:53:52
[2026-08-29 19:53:52,544.544 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:53:52,562.562 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:53:52,633.633 INFO    ] No existing commands found in stream
[2026-08-29 19:53:57,644.644 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:53:57,647.647 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-08-29 19:53:59,507.507 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:53:59,509.509 INFO    ] Checking for system updates...
[2026-08-29 19:53:59,529.529 INFO    ] 200
[2026-08-29 19:53:59,530.530 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:53:59,562.562 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:53:59,564.564 INFO    ] No update needed
[2026-08-29 19:53:59,565.565 INFO    ] Checking for camera pi updates...
[2026-08-29 19:53:59,584.584 INFO    ] 200
[2026-08-29 19:53:59,585.585 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:53:59,608.608 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:53:59,698.698 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:53:59,700.700 INFO    ] No camera update needed
[2026-08-29 19:53:59,703.703 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:53:59,705.705 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:53:59,711.711 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:53:59,716.716 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:54:01,756.756 INFO    ] ================================================
[2026-08-29 19:54:01,784.784 INFO    ] Launching Daemon at Sat Aug 29 19:54:01 IST 2026
[2026-08-29 19:54:01,796.796 INFO    ] ================================================
[2026-08-29 19:54:02,555.555 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:54:02
[2026-08-29 19:54:03,138.138 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:54:03,427.427 INFO    ] Initializing speech engine...
[2026-08-29 19:54:03,433.433 INFO    ] 2026-08-29 19:54:03
[2026-08-29 19:54:03,694.694 INFO    ] 2026-08-29 19:54:03
[2026-08-29 19:54:03,747.747 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:54:03,890.890 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:54:03,902.902 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:54:04,043.043 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:54:04,051.051 INFO    ] time= 29/08/2026 19:54:04
[2026-08-29 19:54:04,057.057 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:54:04,103.103 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:54:04,229.229 INFO    ] No existing commands found in stream
[2026-08-29 19:54:09,264.264 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:54:09,267.267 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-08-29 19:54:09,821.821 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:54:09,823.823 INFO    ] Checking for system updates...
[2026-08-29 19:54:09,845.845 INFO    ] 200
[2026-08-29 19:54:09,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:54:09,876.876 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:54:09,877.877 INFO    ] No update needed
[2026-08-29 19:54:09,878.878 INFO    ] Checking for camera pi updates...
[2026-08-29 19:54:09,898.898 INFO    ] 200
[2026-08-29 19:54:09,899.899 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:54:09,924.924 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:54:10,013.013 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:54:10,015.015 INFO    ] No camera update needed
[2026-08-29 19:54:10,016.016 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:54:10,017.017 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:54:10,020.020 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:54:10,023.023 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:54:12,061.061 INFO    ] ================================================
[2026-08-29 19:54:12,076.076 INFO    ] Launching Daemon at Sat Aug 29 19:54:12 IST 2026
[2026-08-29 19:54:12,087.087 INFO    ] ================================================
[2026-08-29 19:54:12,445.445 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:54:12
[2026-08-29 19:54:12,785.785 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:54:12,936.936 INFO    ] Initializing speech engine...
[2026-08-29 19:54:12,941.941 INFO    ] 2026-08-29 19:54:12
[2026-08-29 19:54:13,153.153 INFO    ] 2026-08-29 19:54:13
[2026-08-29 19:54:13,182.182 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:54:13,307.307 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:54:13,365.365 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:54:13,503.503 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:54:13,576.576 INFO    ] time= 29/08/2026 19:54:13
[2026-08-29 19:54:13,604.604 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:54:13,611.611 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:54:13,677.677 INFO    ] No existing commands found in stream
[2026-08-29 19:54:18,688.688 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:54:18,691.691 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-08-29 19:54:20,361.361 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:54:20,363.363 INFO    ] Checking for system updates...
[2026-08-29 19:54:20,383.383 INFO    ] 200
[2026-08-29 19:54:20,384.384 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:54:20,419.419 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:54:20,420.420 INFO    ] No update needed
[2026-08-29 19:54:20,421.421 INFO    ] Checking for camera pi updates...
[2026-08-29 19:54:20,440.440 INFO    ] 200
[2026-08-29 19:54:20,442.442 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:54:20,467.467 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:54:20,665.665 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:54:20,667.667 INFO    ] No camera update needed
[2026-08-29 19:54:20,668.668 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:54:20,669.669 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:54:20,672.672 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:54:20,675.675 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:54:22,713.713 INFO    ] ================================================
[2026-08-29 19:54:22,729.729 INFO    ] Launching Daemon at Sat Aug 29 19:54:22 IST 2026
[2026-08-29 19:54:22,740.740 INFO    ] ================================================
[2026-08-29 19:54:23,092.092 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:54:23
[2026-08-29 19:54:23,404.404 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:54:23,638.638 INFO    ] Initializing speech engine...
[2026-08-29 19:54:23,647.647 INFO    ] 2026-08-29 19:54:23
[2026-08-29 19:54:23,945.945 INFO    ] 2026-08-29 19:54:23
[2026-08-29 19:54:23,979.979 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:54:24,128.128 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:54:24,135.135 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:54:24,282.282 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:54:24,298.298 INFO    ] time= 29/08/2026 19:54:24
[2026-08-29 19:54:24,304.304 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:54:24,310.310 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:54:24,380.380 INFO    ] No existing commands found in stream
[2026-08-29 19:54:29,392.392 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:54:29,395.395 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-08-29 19:54:34,212.212 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:54:34,215.215 INFO    ] Checking for system updates...
[2026-08-29 19:54:34,236.236 INFO    ] 200
[2026-08-29 19:54:34,238.238 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:54:34,271.271 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:54:34,272.272 INFO    ] No update needed
[2026-08-29 19:54:34,274.274 INFO    ] Checking for camera pi updates...
[2026-08-29 19:54:34,298.298 INFO    ] 200
[2026-08-29 19:54:34,299.299 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:54:34,329.329 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:54:34,409.409 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:54:34,410.410 INFO    ] No camera update needed
[2026-08-29 19:54:34,412.412 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:54:34,413.413 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:54:34,416.416 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:54:34,419.419 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:54:36,457.457 INFO    ] ================================================
[2026-08-29 19:54:36,472.472 INFO    ] Launching Daemon at Sat Aug 29 19:54:36 IST 2026
[2026-08-29 19:54:36,483.483 INFO    ] ================================================
[2026-08-29 19:54:37,065.065 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:54:37
[2026-08-29 19:54:37,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:54:37,700.700 INFO    ] Initializing speech engine...
[2026-08-29 19:54:37,705.705 INFO    ] 2026-08-29 19:54:37
[2026-08-29 19:54:37,934.934 INFO    ] 2026-08-29 19:54:37
[2026-08-29 19:54:37,965.965 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:54:38,098.098 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:54:38,136.136 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:54:38,261.261 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:54:38,311.311 INFO    ] time= 29/08/2026 19:54:38
[2026-08-29 19:54:38,352.352 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:54:38,396.396 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:54:38,493.493 INFO    ] No existing commands found in stream
[2026-08-29 19:54:43,504.504 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:54:43,507.507 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-08-29 19:54:47,748.748 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:54:47,750.750 INFO    ] Checking for system updates...
[2026-08-29 19:54:47,771.771 INFO    ] 200
[2026-08-29 19:54:47,773.773 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:54:47,804.804 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:54:47,806.806 INFO    ] No update needed
[2026-08-29 19:54:47,807.807 INFO    ] Checking for camera pi updates...
[2026-08-29 19:54:47,827.827 INFO    ] 200
[2026-08-29 19:54:47,828.828 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:54:47,853.853 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:54:47,928.928 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:54:47,930.930 INFO    ] No camera update needed
[2026-08-29 19:54:47,931.931 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:54:47,932.932 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:54:47,935.935 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:54:47,938.938 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:54:49,977.977 INFO    ] ================================================
[2026-08-29 19:54:49,991.991 INFO    ] Launching Daemon at Sat Aug 29 19:54:49 IST 2026
[2026-08-29 19:54:50,002.002 INFO    ] ================================================
[2026-08-29 19:54:50,360.360 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:54:50
[2026-08-29 19:54:50,672.672 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:54:50,805.805 INFO    ] Initializing speech engine...
[2026-08-29 19:54:50,810.810 INFO    ] 2026-08-29 19:54:50
[2026-08-29 19:54:51,039.039 INFO    ] 2026-08-29 19:54:51
[2026-08-29 19:54:51,069.069 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:54:51,236.236 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:54:51,244.244 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:54:51,391.391 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:54:51,399.399 INFO    ] time= 29/08/2026 19:54:51
[2026-08-29 19:54:51,419.419 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:54:51,443.443 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:54:51,544.544 INFO    ] No existing commands found in stream
[2026-08-29 19:54:56,569.569 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:54:56,572.572 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 19:54:57,115.115 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:54:57,116.116 INFO    ] Checking for system updates...
[2026-08-29 19:54:57,137.137 INFO    ] 200
[2026-08-29 19:54:57,138.138 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:54:57,168.168 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:54:57,170.170 INFO    ] No update needed
[2026-08-29 19:54:57,171.171 INFO    ] Checking for camera pi updates...
[2026-08-29 19:54:57,192.192 INFO    ] 200
[2026-08-29 19:54:57,194.194 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:54:57,218.218 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:54:57,313.313 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:54:57,314.314 INFO    ] No camera update needed
[2026-08-29 19:54:57,316.316 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:54:57,317.317 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:54:57,320.320 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:54:57,323.323 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:54:59,362.362 INFO    ] ================================================
[2026-08-29 19:54:59,377.377 INFO    ] Launching Daemon at Sat Aug 29 19:54:59 IST 2026
[2026-08-29 19:54:59,388.388 INFO    ] ================================================
[2026-08-29 19:54:59,739.739 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:54:59
[2026-08-29 19:55:00,056.056 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:55:00,235.235 INFO    ] Initializing speech engine...
[2026-08-29 19:55:00,241.241 INFO    ] 2026-08-29 19:55:00
[2026-08-29 19:55:00,540.540 INFO    ] 2026-08-29 19:55:00
[2026-08-29 19:55:00,565.565 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:55:00,724.724 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:55:00,729.729 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:55:00,885.885 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:55:00,895.895 INFO    ] time= 29/08/2026 19:55:00
[2026-08-29 19:55:00,900.900 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:55:00,904.904 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:55:00,971.971 INFO    ] No existing commands found in stream
[2026-08-29 19:55:05,981.981 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:55:05,984.984 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 19:55:07,467.467 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:55:07,469.469 INFO    ] Checking for system updates...
[2026-08-29 19:55:07,489.489 INFO    ] 200
[2026-08-29 19:55:07,490.490 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:55:07,520.520 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:55:07,522.522 INFO    ] No update needed
[2026-08-29 19:55:07,523.523 INFO    ] Checking for camera pi updates...
[2026-08-29 19:55:07,545.545 INFO    ] 200
[2026-08-29 19:55:07,546.546 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:55:07,573.573 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:55:07,658.658 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:55:07,659.659 INFO    ] No camera update needed
[2026-08-29 19:55:07,660.660 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:55:07,662.662 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:55:07,665.665 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:55:07,668.668 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:55:09,706.706 INFO    ] ================================================
[2026-08-29 19:55:09,721.721 INFO    ] Launching Daemon at Sat Aug 29 19:55:09 IST 2026
[2026-08-29 19:55:09,732.732 INFO    ] ================================================
[2026-08-29 19:55:10,060.060 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:55:10
[2026-08-29 19:55:10,371.371 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:55:10,513.513 INFO    ] Initializing speech engine...
[2026-08-29 19:55:10,518.518 INFO    ] 2026-08-29 19:55:10
[2026-08-29 19:55:10,730.730 INFO    ] 2026-08-29 19:55:10
[2026-08-29 19:55:10,814.814 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:55:10,962.962 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:55:10,970.970 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:55:11,105.105 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:55:11,165.165 INFO    ] time= 29/08/2026 19:55:11
[2026-08-29 19:55:11,219.219 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:55:11,235.235 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:55:11,286.286 INFO    ] No existing commands found in stream
[2026-08-29 19:55:16,298.298 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:55:16,301.301 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-08-29 19:55:20,171.171 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:55:20,173.173 INFO    ] Checking for system updates...
[2026-08-29 19:55:20,194.194 INFO    ] 200
[2026-08-29 19:55:20,195.195 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:55:20,227.227 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:55:20,229.229 INFO    ] No update needed
[2026-08-29 19:55:20,230.230 INFO    ] Checking for camera pi updates...
[2026-08-29 19:55:20,249.249 INFO    ] 200
[2026-08-29 19:55:20,250.250 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:55:20,273.273 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:55:20,370.370 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:55:20,372.372 INFO    ] No camera update needed
[2026-08-29 19:55:20,373.373 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:55:20,374.374 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:55:20,377.377 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:55:20,380.380 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:55:22,419.419 INFO    ] ================================================
[2026-08-29 19:55:22,434.434 INFO    ] Launching Daemon at Sat Aug 29 19:55:22 IST 2026
[2026-08-29 19:55:22,445.445 INFO    ] ================================================
[2026-08-29 19:55:22,784.784 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:55:22
[2026-08-29 19:55:23,154.154 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:55:23,401.401 INFO    ] Initializing speech engine...
[2026-08-29 19:55:23,407.407 INFO    ] 2026-08-29 19:55:23
[2026-08-29 19:55:23,680.680 INFO    ] 2026-08-29 19:55:23
[2026-08-29 19:55:23,715.715 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:55:23,887.887 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:55:23,900.900 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:55:24,025.025 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:55:24,048.048 INFO    ] time= 29/08/2026 19:55:24
[2026-08-29 19:55:24,053.053 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:55:24,059.059 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:55:24,123.123 INFO    ] No existing commands found in stream
[2026-08-29 19:55:29,135.135 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:55:29,138.138 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-08-29 19:55:30,874.874 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:55:30,876.876 INFO    ] Checking for system updates...
[2026-08-29 19:55:30,896.896 INFO    ] 200
[2026-08-29 19:55:30,897.897 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:55:30,927.927 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:55:30,928.928 INFO    ] No update needed
[2026-08-29 19:55:30,929.929 INFO    ] Checking for camera pi updates...
[2026-08-29 19:55:30,949.949 INFO    ] 200
[2026-08-29 19:55:30,951.951 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:55:30,974.974 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:55:31,068.068 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:55:31,071.071 INFO    ] No camera update needed
[2026-08-29 19:55:31,073.073 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:55:31,076.076 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:55:31,081.081 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:55:31,086.086 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:55:33,129.129 INFO    ] ================================================
[2026-08-29 19:55:33,144.144 INFO    ] Launching Daemon at Sat Aug 29 19:55:33 IST 2026
[2026-08-29 19:55:33,155.155 INFO    ] ================================================
[2026-08-29 19:55:33,753.753 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:55:33
[2026-08-29 19:55:34,153.153 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:55:34,287.287 INFO    ] Initializing speech engine...
[2026-08-29 19:55:34,299.299 INFO    ] 2026-08-29 19:55:34
[2026-08-29 19:55:34,502.502 INFO    ] 2026-08-29 19:55:34
[2026-08-29 19:55:34,576.576 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:55:34,729.729 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:55:34,738.738 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:55:34,870.870 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:55:34,913.913 INFO    ] time= 29/08/2026 19:55:34
[2026-08-29 19:55:34,957.957 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:55:35,003.003 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:55:35,058.058 INFO    ] No existing commands found in stream
[2026-08-29 19:55:40,071.071 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:55:40,074.074 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-08-29 19:55:41,045.045 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 19:55:41,047.047 INFO    ] Checking for system updates...
[2026-08-29 19:55:41,067.067 INFO    ] 200
[2026-08-29 19:55:41,069.069 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:55:41,099.099 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:55:41,100.100 INFO    ] No update needed
[2026-08-29 19:55:41,102.102 INFO    ] Checking for camera pi updates...
[2026-08-29 19:55:41,125.125 INFO    ] 200
[2026-08-29 19:55:41,126.126 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:55:41,149.149 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:55:41,238.238 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:55:41,239.239 INFO    ] No camera update needed
[2026-08-29 19:55:41,241.241 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:55:41,242.242 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:55:41,246.246 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:55:41,248.248 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:55:43,292.292 INFO    ] ================================================
[2026-08-29 19:55:43,308.308 INFO    ] Launching Daemon at Sat Aug 29 19:55:43 IST 2026
[2026-08-29 19:55:43,319.319 INFO    ] ================================================
[2026-08-29 19:55:43,688.688 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:55:43
[2026-08-29 19:55:44,000.000 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:55:44,150.150 INFO    ] Initializing speech engine...
[2026-08-29 19:55:44,156.156 INFO    ] 2026-08-29 19:55:44
[2026-08-29 19:55:44,373.373 INFO    ] 2026-08-29 19:55:44
[2026-08-29 19:55:44,404.404 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:55:44,522.522 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:55:44,546.546 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:55:44,681.681 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:55:44,687.687 INFO    ] time= 29/08/2026 19:55:44
[2026-08-29 19:55:44,706.706 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:55:44,761.761 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:55:44,840.840 INFO    ] No existing commands found in stream
[2026-08-29 19:55:49,853.853 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:55:49,856.856 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-08-29 19:55:52,518.518 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:55:52,520.520 INFO    ] Checking for system updates...
[2026-08-29 19:55:52,541.541 INFO    ] 200
[2026-08-29 19:55:52,543.543 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:55:52,576.576 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:55:52,577.577 INFO    ] No update needed
[2026-08-29 19:55:52,578.578 INFO    ] Checking for camera pi updates...
[2026-08-29 19:55:52,599.599 INFO    ] 200
[2026-08-29 19:55:52,600.600 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:55:52,623.623 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:55:52,713.713 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:55:52,714.714 INFO    ] No camera update needed
[2026-08-29 19:55:52,715.715 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:55:52,717.717 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:55:52,719.719 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:55:52,722.722 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:55:54,761.761 INFO    ] ================================================
[2026-08-29 19:55:54,777.777 INFO    ] Launching Daemon at Sat Aug 29 19:55:54 IST 2026
[2026-08-29 19:55:54,789.789 INFO    ] ================================================
[2026-08-29 19:55:55,133.133 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:55:55
[2026-08-29 19:55:55,450.450 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:55:55,593.593 INFO    ] Initializing speech engine...
[2026-08-29 19:55:55,599.599 INFO    ] 2026-08-29 19:55:55
[2026-08-29 19:55:55,807.807 INFO    ] 2026-08-29 19:55:55
[2026-08-29 19:55:55,886.886 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:55:56,049.049 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:55:56,054.054 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:55:56,188.188 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:55:56,233.233 INFO    ] time= 29/08/2026 19:55:56
[2026-08-29 19:55:56,298.298 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:55:56,324.324 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:55:56,380.380 INFO    ] No existing commands found in stream
[2026-08-29 19:56:01,395.395 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:56:01,399.399 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-08-29 19:56:04,370.370 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:56:04,373.373 INFO    ] Checking for system updates...
[2026-08-29 19:56:04,410.410 INFO    ] 200
[2026-08-29 19:56:04,413.413 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:56:04,484.484 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:56:04,486.486 INFO    ] No update needed
[2026-08-29 19:56:04,488.488 INFO    ] Checking for camera pi updates...
[2026-08-29 19:56:04,507.507 INFO    ] 200
[2026-08-29 19:56:04,509.509 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:56:04,532.532 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:56:04,580.580 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:56:04,582.582 INFO    ] No camera update needed
[2026-08-29 19:56:04,583.583 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:56:04,584.584 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:56:04,587.587 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:56:04,590.590 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:56:06,630.630 INFO    ] ================================================
[2026-08-29 19:56:06,646.646 INFO    ] Launching Daemon at Sat Aug 29 19:56:06 IST 2026
[2026-08-29 19:56:06,656.656 INFO    ] ================================================
[2026-08-29 19:56:07,166.166 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:56:07
[2026-08-29 19:56:07,752.752 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:56:08,023.023 INFO    ] Initializing speech engine...
[2026-08-29 19:56:08,032.032 INFO    ] 2026-08-29 19:56:08
[2026-08-29 19:56:08,301.301 INFO    ] 2026-08-29 19:56:08
[2026-08-29 19:56:08,340.340 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:56:08,479.479 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:56:08,481.481 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:56:08,628.628 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:56:08,637.637 INFO    ] time= 29/08/2026 19:56:08
[2026-08-29 19:56:08,642.642 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:56:08,662.662 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:56:08,709.709 INFO    ] No existing commands found in stream
[2026-08-29 19:56:13,720.720 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:56:13,723.723 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-08-29 19:56:17,797.797 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:56:17,799.799 INFO    ] Checking for system updates...
[2026-08-29 19:56:17,819.819 INFO    ] 200
[2026-08-29 19:56:17,820.820 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:56:17,855.855 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:56:17,856.856 INFO    ] No update needed
[2026-08-29 19:56:17,857.857 INFO    ] Checking for camera pi updates...
[2026-08-29 19:56:17,877.877 INFO    ] 200
[2026-08-29 19:56:17,878.878 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:56:17,903.903 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:56:18,016.016 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:56:18,017.017 INFO    ] No camera update needed
[2026-08-29 19:56:18,019.019 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:56:18,020.020 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:56:18,023.023 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:56:18,026.026 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:56:20,065.065 INFO    ] ================================================
[2026-08-29 19:56:20,080.080 INFO    ] Launching Daemon at Sat Aug 29 19:56:20 IST 2026
[2026-08-29 19:56:20,091.091 INFO    ] ================================================
[2026-08-29 19:56:20,451.451 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:56:20
[2026-08-29 19:56:20,765.765 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:56:20,898.898 INFO    ] Initializing speech engine...
[2026-08-29 19:56:20,909.909 INFO    ] 2026-08-29 19:56:20
[2026-08-29 19:56:21,120.120 INFO    ] 2026-08-29 19:56:21
[2026-08-29 19:56:21,148.148 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:56:21,272.272 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:56:21,325.325 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:56:21,488.488 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:56:21,531.531 INFO    ] time= 29/08/2026 19:56:21
[2026-08-29 19:56:21,591.591 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:56:21,635.635 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:56:21,748.748 INFO    ] No existing commands found in stream
[2026-08-29 19:56:26,773.773 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:56:26,776.776 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-08-29 19:56:27,915.915 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:56:27,916.916 INFO    ] Checking for system updates...
[2026-08-29 19:56:27,938.938 INFO    ] 200
[2026-08-29 19:56:27,940.940 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:56:27,974.974 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:56:27,976.976 INFO    ] No update needed
[2026-08-29 19:56:27,977.977 INFO    ] Checking for camera pi updates...
[2026-08-29 19:56:27,996.996 INFO    ] 200
[2026-08-29 19:56:27,998.998 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:56:28,021.021 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:56:28,221.221 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:56:28,223.223 INFO    ] No camera update needed
[2026-08-29 19:56:28,224.224 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:56:28,226.226 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:56:28,229.229 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:56:28,232.232 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:56:30,272.272 INFO    ] ================================================
[2026-08-29 19:56:30,288.288 INFO    ] Launching Daemon at Sat Aug 29 19:56:30 IST 2026
[2026-08-29 19:56:30,299.299 INFO    ] ================================================
[2026-08-29 19:56:30,648.648 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:56:30
[2026-08-29 19:56:30,960.960 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:56:31,103.103 INFO    ] Initializing speech engine...
[2026-08-29 19:56:31,108.108 INFO    ] 2026-08-29 19:56:31
[2026-08-29 19:56:31,329.329 INFO    ] 2026-08-29 19:56:31
[2026-08-29 19:56:31,399.399 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:56:31,528.528 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:56:31,554.554 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:56:31,687.687 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:56:31,697.697 INFO    ] time= 29/08/2026 19:56:31
[2026-08-29 19:56:31,757.757 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:56:31,817.817 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:56:31,913.913 INFO    ] No existing commands found in stream
[2026-08-29 19:56:36,924.924 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:56:36,927.927 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-08-29 19:56:40,654.654 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:56:40,656.656 INFO    ] Checking for system updates...
[2026-08-29 19:56:40,693.693 INFO    ] 200
[2026-08-29 19:56:40,696.696 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:56:40,755.755 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:56:40,758.758 INFO    ] No update needed
[2026-08-29 19:56:40,761.761 INFO    ] Checking for camera pi updates...
[2026-08-29 19:56:40,798.798 INFO    ] 200
[2026-08-29 19:56:40,800.800 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:56:40,841.841 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:56:40,943.943 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:56:40,945.945 INFO    ] No camera update needed
[2026-08-29 19:56:40,948.948 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:56:40,950.950 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:56:40,955.955 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:56:40,960.960 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:56:43,002.002 INFO    ] ================================================
[2026-08-29 19:56:43,019.019 INFO    ] Launching Daemon at Sat Aug 29 19:56:43 IST 2026
[2026-08-29 19:56:43,030.030 INFO    ] ================================================
[2026-08-29 19:56:43,379.379 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:56:43
[2026-08-29 19:56:43,690.690 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:56:43,831.831 INFO    ] Initializing speech engine...
[2026-08-29 19:56:43,836.836 INFO    ] 2026-08-29 19:56:43
[2026-08-29 19:56:44,039.039 INFO    ] 2026-08-29 19:56:44
[2026-08-29 19:56:44,068.068 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:56:44,189.189 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:56:44,227.227 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:56:44,381.381 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:56:44,427.427 INFO    ] time= 29/08/2026 19:56:44
[2026-08-29 19:56:44,475.475 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:56:44,480.480 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:56:44,550.550 INFO    ] No existing commands found in stream
[2026-08-29 19:56:49,561.561 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:56:49,564.564 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-08-29 19:56:51,353.353 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:56:51,355.355 INFO    ] Checking for system updates...
[2026-08-29 19:56:51,376.376 INFO    ] 200
[2026-08-29 19:56:51,377.377 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:56:51,409.409 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:56:51,411.411 INFO    ] No update needed
[2026-08-29 19:56:51,412.412 INFO    ] Checking for camera pi updates...
[2026-08-29 19:56:51,432.432 INFO    ] 200
[2026-08-29 19:56:51,434.434 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:56:51,457.457 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:56:51,503.503 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:56:51,504.504 INFO    ] No camera update needed
[2026-08-29 19:56:51,505.505 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:56:51,507.507 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:56:51,510.510 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:56:51,513.513 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:56:53,551.551 INFO    ] ================================================
[2026-08-29 19:56:53,567.567 INFO    ] Launching Daemon at Sat Aug 29 19:56:53 IST 2026
[2026-08-29 19:56:53,577.577 INFO    ] ================================================
[2026-08-29 19:56:53,904.904 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:56:53
[2026-08-29 19:56:54,408.408 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:56:54,688.688 INFO    ] Initializing speech engine...
[2026-08-29 19:56:54,696.696 INFO    ] 2026-08-29 19:56:54
[2026-08-29 19:56:54,957.957 INFO    ] 2026-08-29 19:56:54
[2026-08-29 19:56:54,987.987 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:56:55,153.153 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:56:55,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:56:55,305.305 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:56:55,314.314 INFO    ] time= 29/08/2026 19:56:55
[2026-08-29 19:56:55,318.318 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:56:55,324.324 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:56:55,388.388 INFO    ] No existing commands found in stream
[2026-08-29 19:57:00,400.400 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:57:00,403.403 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-08-29 19:57:00,814.814 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:57:00,816.816 INFO    ] Checking for system updates...
[2026-08-29 19:57:00,836.836 INFO    ] 200
[2026-08-29 19:57:00,837.837 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:57:00,868.868 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:57:00,869.869 INFO    ] No update needed
[2026-08-29 19:57:00,870.870 INFO    ] Checking for camera pi updates...
[2026-08-29 19:57:00,889.889 INFO    ] 200
[2026-08-29 19:57:00,891.891 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:57:00,913.913 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:57:00,988.988 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:57:00,989.989 INFO    ] No camera update needed
[2026-08-29 19:57:00,990.990 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:57:00,991.991 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:57:00,994.994 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:57:00,997.997 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:57:03,055.055 INFO    ] ================================================
[2026-08-29 19:57:03,079.079 INFO    ] Launching Daemon at Sat Aug 29 19:57:03 IST 2026
[2026-08-29 19:57:03,092.092 INFO    ] ================================================
[2026-08-29 19:57:03,763.763 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:57:03
[2026-08-29 19:57:04,347.347 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:57:04,619.619 INFO    ] Initializing speech engine...
[2026-08-29 19:57:04,630.630 INFO    ] 2026-08-29 19:57:04
[2026-08-29 19:57:04,880.880 INFO    ] 2026-08-29 19:57:04
[2026-08-29 19:57:04,947.947 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:57:05,095.095 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:57:05,108.108 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:57:05,220.220 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:57:05,239.239 INFO    ] time= 29/08/2026 19:57:05
[2026-08-29 19:57:05,259.259 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:57:05,267.267 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:57:05,338.338 INFO    ] No existing commands found in stream
[2026-08-29 19:57:10,350.350 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:57:10,353.353 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-08-29 19:57:12,680.680 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:57:12,682.682 INFO    ] Checking for system updates...
[2026-08-29 19:57:12,702.702 INFO    ] 200
[2026-08-29 19:57:12,704.704 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:57:12,733.733 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:57:12,734.734 INFO    ] No update needed
[2026-08-29 19:57:12,735.735 INFO    ] Checking for camera pi updates...
[2026-08-29 19:57:12,754.754 INFO    ] 200
[2026-08-29 19:57:12,756.756 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:57:12,778.778 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:57:12,833.833 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:57:12,834.834 INFO    ] No camera update needed
[2026-08-29 19:57:12,835.835 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:57:12,837.837 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:57:12,839.839 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:57:12,842.842 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:57:14,882.882 INFO    ] ================================================
[2026-08-29 19:57:14,897.897 INFO    ] Launching Daemon at Sat Aug 29 19:57:14 IST 2026
[2026-08-29 19:57:14,908.908 INFO    ] ================================================
[2026-08-29 19:57:15,275.275 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:57:15
[2026-08-29 19:57:15,664.664 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:57:15,938.938 INFO    ] Initializing speech engine...
[2026-08-29 19:57:15,943.943 INFO    ] 2026-08-29 19:57:15
[2026-08-29 19:57:16,202.202 INFO    ] 2026-08-29 19:57:16
[2026-08-29 19:57:16,255.255 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:57:16,417.417 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:57:16,424.424 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:57:16,551.551 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:57:16,556.556 INFO    ] time= 29/08/2026 19:57:16
[2026-08-29 19:57:16,562.562 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:57:16,608.608 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:57:16,711.711 INFO    ] No existing commands found in stream
[2026-08-29 19:57:21,736.736 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:57:21,739.739 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-08-29 19:57:24,992.992 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:57:24,993.993 INFO    ] Checking for system updates...
[2026-08-29 19:57:25,014.014 INFO    ] 200
[2026-08-29 19:57:25,019.019 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:57:25,058.058 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:57:25,060.060 INFO    ] No update needed
[2026-08-29 19:57:25,061.061 INFO    ] Checking for camera pi updates...
[2026-08-29 19:57:25,084.084 INFO    ] 200
[2026-08-29 19:57:25,085.085 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:57:25,108.108 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:57:25,186.186 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:57:25,188.188 INFO    ] No camera update needed
[2026-08-29 19:57:25,189.189 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:57:25,191.191 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:57:25,194.194 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:57:25,197.197 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:57:27,237.237 INFO    ] ================================================
[2026-08-29 19:57:27,253.253 INFO    ] Launching Daemon at Sat Aug 29 19:57:27 IST 2026
[2026-08-29 19:57:27,265.265 INFO    ] ================================================
[2026-08-29 19:57:27,592.592 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:57:27
[2026-08-29 19:57:27,908.908 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:57:28,174.174 INFO    ] Initializing speech engine...
[2026-08-29 19:57:28,183.183 INFO    ] 2026-08-29 19:57:28
[2026-08-29 19:57:28,429.429 INFO    ] 2026-08-29 19:57:28
[2026-08-29 19:57:28,464.464 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:57:28,634.634 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:57:28,647.647 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:57:28,758.758 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:57:28,776.776 INFO    ] time= 29/08/2026 19:57:28
[2026-08-29 19:57:28,796.796 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:57:28,804.804 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:57:28,871.871 INFO    ] No existing commands found in stream
[2026-08-29 19:57:33,883.883 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:57:33,886.886 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-08-29 19:57:37,379.379 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:57:37,380.380 INFO    ] Checking for system updates...
[2026-08-29 19:57:37,401.401 INFO    ] 200
[2026-08-29 19:57:37,403.403 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:57:37,433.433 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:57:37,434.434 INFO    ] No update needed
[2026-08-29 19:57:37,435.435 INFO    ] Checking for camera pi updates...
[2026-08-29 19:57:37,456.456 INFO    ] 200
[2026-08-29 19:57:37,457.457 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:57:37,484.484 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:57:37,561.561 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:57:37,562.562 INFO    ] No camera update needed
[2026-08-29 19:57:37,564.564 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:57:37,565.565 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:57:37,568.568 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:57:37,571.571 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:57:39,610.610 INFO    ] ================================================
[2026-08-29 19:57:39,626.626 INFO    ] Launching Daemon at Sat Aug 29 19:57:39 IST 2026
[2026-08-29 19:57:39,637.637 INFO    ] ================================================
[2026-08-29 19:57:40,000.000 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:57:39
[2026-08-29 19:57:40,496.496 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:57:40,750.750 INFO    ] Initializing speech engine...
[2026-08-29 19:57:40,758.758 INFO    ] 2026-08-29 19:57:40
[2026-08-29 19:57:41,050.050 INFO    ] 2026-08-29 19:57:41
[2026-08-29 19:57:41,085.085 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:57:41,265.265 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:57:41,270.270 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:57:41,388.388 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:57:41,408.408 INFO    ] time= 29/08/2026 19:57:41
[2026-08-29 19:57:41,427.427 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:57:41,436.436 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:57:41,502.502 INFO    ] No existing commands found in stream
[2026-08-29 19:57:46,515.515 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:57:46,517.517 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 19:57:47,013.013 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:57:47,015.015 INFO    ] Checking for system updates...
[2026-08-29 19:57:47,035.035 INFO    ] 200
[2026-08-29 19:57:47,037.037 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:57:47,066.066 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:57:47,068.068 INFO    ] No update needed
[2026-08-29 19:57:47,069.069 INFO    ] Checking for camera pi updates...
[2026-08-29 19:57:47,088.088 INFO    ] 200
[2026-08-29 19:57:47,089.089 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:57:47,112.112 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:57:47,185.185 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:57:47,186.186 INFO    ] No camera update needed
[2026-08-29 19:57:47,187.187 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:57:47,189.189 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:57:47,192.192 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:57:47,195.195 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:57:49,233.233 INFO    ] ================================================
[2026-08-29 19:57:49,248.248 INFO    ] Launching Daemon at Sat Aug 29 19:57:49 IST 2026
[2026-08-29 19:57:49,259.259 INFO    ] ================================================
[2026-08-29 19:57:49,603.603 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:57:49
[2026-08-29 19:57:49,914.914 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:57:50,125.125 INFO    ] Initializing speech engine...
[2026-08-29 19:57:50,131.131 INFO    ] 2026-08-29 19:57:50
[2026-08-29 19:57:50,385.385 INFO    ] 2026-08-29 19:57:50
[2026-08-29 19:57:50,424.424 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:57:50,603.603 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:57:50,616.616 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:57:50,761.761 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:57:50,770.770 INFO    ] time= 29/08/2026 19:57:50
[2026-08-29 19:57:50,779.779 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:57:50,835.835 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:57:50,941.941 INFO    ] No existing commands found in stream
[2026-08-29 19:57:55,967.967 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:57:55,970.970 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 19:57:56,497.497 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:57:56,499.499 INFO    ] Checking for system updates...
[2026-08-29 19:57:56,521.521 INFO    ] 200
[2026-08-29 19:57:56,522.522 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:57:56,553.553 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:57:56,554.554 INFO    ] No update needed
[2026-08-29 19:57:56,555.555 INFO    ] Checking for camera pi updates...
[2026-08-29 19:57:56,576.576 INFO    ] 200
[2026-08-29 19:57:56,577.577 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:57:56,603.603 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:57:56,682.682 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:57:56,684.684 INFO    ] No camera update needed
[2026-08-29 19:57:56,685.685 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:57:56,686.686 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:57:56,690.690 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:57:56,693.693 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:57:58,730.730 INFO    ] ================================================
[2026-08-29 19:57:58,746.746 INFO    ] Launching Daemon at Sat Aug 29 19:57:58 IST 2026
[2026-08-29 19:57:58,757.757 INFO    ] ================================================
[2026-08-29 19:57:59,102.102 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:57:59
[2026-08-29 19:57:59,453.453 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:57:59,699.699 INFO    ] Initializing speech engine...
[2026-08-29 19:57:59,707.707 INFO    ] 2026-08-29 19:57:59
[2026-08-29 19:57:59,981.981 INFO    ] 2026-08-29 19:57:59
[2026-08-29 19:58:00,016.016 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:58:00,189.189 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:58:00,409.409 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:58:00,545.545 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:58:00,561.561 INFO    ] time= 29/08/2026 19:58:00
[2026-08-29 19:58:00,570.570 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:58:00,596.596 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:58:00,682.682 INFO    ] No existing commands found in stream
[2026-08-29 19:58:05,707.707 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:58:05,710.710 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-08-29 19:58:07,647.647 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:58:07,649.649 INFO    ] Checking for system updates...
[2026-08-29 19:58:07,669.669 INFO    ] 200
[2026-08-29 19:58:07,670.670 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:58:07,704.704 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:58:07,705.705 INFO    ] No update needed
[2026-08-29 19:58:07,707.707 INFO    ] Checking for camera pi updates...
[2026-08-29 19:58:07,726.726 INFO    ] 200
[2026-08-29 19:58:07,727.727 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:58:07,756.756 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:58:07,847.847 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:58:07,849.849 INFO    ] No camera update needed
[2026-08-29 19:58:07,851.851 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:58:07,854.854 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:58:07,859.859 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:58:07,864.864 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:58:09,903.903 INFO    ] ================================================
[2026-08-29 19:58:09,918.918 INFO    ] Launching Daemon at Sat Aug 29 19:58:09 IST 2026
[2026-08-29 19:58:09,929.929 INFO    ] ================================================
[2026-08-29 19:58:10,495.495 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:58:10
[2026-08-29 19:58:10,994.994 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:58:11,127.127 INFO    ] Initializing speech engine...
[2026-08-29 19:58:11,130.130 INFO    ] 2026-08-29 19:58:11
[2026-08-29 19:58:11,321.321 INFO    ] 2026-08-29 19:58:11
[2026-08-29 19:58:11,367.367 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:58:11,468.468 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:58:11,471.471 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:58:11,600.600 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:58:11,604.604 INFO    ] time= 29/08/2026 19:58:11
[2026-08-29 19:58:11,615.615 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:58:11,629.629 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:58:11,711.711 INFO    ] No existing commands found in stream
[2026-08-29 19:58:16,745.745 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:58:16,748.748 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-08-29 19:58:19,833.833 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:58:19,835.835 INFO    ] Checking for system updates...
[2026-08-29 19:58:19,855.855 INFO    ] 200
[2026-08-29 19:58:19,856.856 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:58:19,886.886 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:58:19,887.887 INFO    ] No update needed
[2026-08-29 19:58:19,888.888 INFO    ] Checking for camera pi updates...
[2026-08-29 19:58:19,907.907 INFO    ] 200
[2026-08-29 19:58:19,908.908 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:58:19,931.931 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:58:20,059.059 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:58:20,061.061 INFO    ] No camera update needed
[2026-08-29 19:58:20,062.062 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:58:20,063.063 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:58:20,066.066 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:58:20,069.069 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:58:22,107.107 INFO    ] ================================================
[2026-08-29 19:58:22,122.122 INFO    ] Launching Daemon at Sat Aug 29 19:58:22 IST 2026
[2026-08-29 19:58:22,132.132 INFO    ] ================================================
[2026-08-29 19:58:22,500.500 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:58:22
[2026-08-29 19:58:22,822.822 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:58:22,961.961 INFO    ] Initializing speech engine...
[2026-08-29 19:58:22,971.971 INFO    ] 2026-08-29 19:58:22
[2026-08-29 19:58:23,175.175 INFO    ] 2026-08-29 19:58:23
[2026-08-29 19:58:23,204.204 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:58:23,326.326 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:58:23,389.389 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:58:23,523.523 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:58:23,570.570 INFO    ] time= 29/08/2026 19:58:23
[2026-08-29 19:58:23,609.609 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:58:23,619.619 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:58:23,691.691 INFO    ] No existing commands found in stream
[2026-08-29 19:58:28,700.700 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:58:28,703.703 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-08-29 19:58:29,695.695 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:58:29,696.696 INFO    ] Checking for system updates...
[2026-08-29 19:58:29,716.716 INFO    ] 200
[2026-08-29 19:58:29,718.718 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:58:29,750.750 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:58:29,752.752 INFO    ] No update needed
[2026-08-29 19:58:29,753.753 INFO    ] Checking for camera pi updates...
[2026-08-29 19:58:29,772.772 INFO    ] 200
[2026-08-29 19:58:29,774.774 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:58:29,798.798 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:58:29,886.886 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:58:29,889.889 INFO    ] No camera update needed
[2026-08-29 19:58:29,891.891 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:58:29,894.894 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:58:29,899.899 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:58:29,904.904 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:58:31,946.946 INFO    ] ================================================
[2026-08-29 19:58:31,963.963 INFO    ] Launching Daemon at Sat Aug 29 19:58:31 IST 2026
[2026-08-29 19:58:31,978.978 INFO    ] ================================================
[2026-08-29 19:58:32,574.574 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:58:32
[2026-08-29 19:58:33,115.115 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:58:33,383.383 INFO    ] Initializing speech engine...
[2026-08-29 19:58:33,407.407 INFO    ] 2026-08-29 19:58:33
[2026-08-29 19:58:33,664.664 INFO    ] 2026-08-29 19:58:33
[2026-08-29 19:58:33,701.701 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:58:33,873.873 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:58:33,885.885 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:58:33,995.995 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:58:34,013.013 INFO    ] time= 29/08/2026 19:58:33
[2026-08-29 19:58:34,033.033 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:58:34,041.041 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:58:34,109.109 INFO    ] No existing commands found in stream
[2026-08-29 19:58:39,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:58:39,124.124 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-08-29 19:58:42,297.297 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 19:58:42,299.299 INFO    ] Checking for system updates...
[2026-08-29 19:58:42,335.335 INFO    ] 200
[2026-08-29 19:58:42,337.337 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:58:42,391.391 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:58:42,393.393 INFO    ] No update needed
[2026-08-29 19:58:42,396.396 INFO    ] Checking for camera pi updates...
[2026-08-29 19:58:42,432.432 INFO    ] 200
[2026-08-29 19:58:42,434.434 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:58:42,483.483 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:58:42,590.590 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:58:42,593.593 INFO    ] No camera update needed
[2026-08-29 19:58:42,595.595 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:58:42,598.598 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:58:42,603.603 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:58:42,608.608 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:58:44,647.647 INFO    ] ================================================
[2026-08-29 19:58:44,662.662 INFO    ] Launching Daemon at Sat Aug 29 19:58:44 IST 2026
[2026-08-29 19:58:44,673.673 INFO    ] ================================================
[2026-08-29 19:58:45,019.019 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:58:45
[2026-08-29 19:58:45,337.337 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:58:45,473.473 INFO    ] Initializing speech engine...
[2026-08-29 19:58:45,476.476 INFO    ] 2026-08-29 19:58:45
[2026-08-29 19:58:45,708.708 INFO    ] 2026-08-29 19:58:45
[2026-08-29 19:58:45,738.738 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:58:45,871.871 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:58:45,929.929 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:58:46,086.086 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:58:46,148.148 INFO    ] time= 29/08/2026 19:58:46
[2026-08-29 19:58:46,183.183 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:58:46,189.189 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:58:46,266.266 INFO    ] No existing commands found in stream
[2026-08-29 19:58:51,275.275 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:58:51,278.278 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-08-29 19:58:52,734.734 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:58:52,735.735 INFO    ] Checking for system updates...
[2026-08-29 19:58:52,756.756 INFO    ] 200
[2026-08-29 19:58:52,757.757 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:58:52,787.787 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:58:52,789.789 INFO    ] No update needed
[2026-08-29 19:58:52,790.790 INFO    ] Checking for camera pi updates...
[2026-08-29 19:58:52,809.809 INFO    ] 200
[2026-08-29 19:58:52,811.811 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:58:52,846.846 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:58:52,940.940 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:58:52,943.943 INFO    ] No camera update needed
[2026-08-29 19:58:52,946.946 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:58:52,948.948 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:58:52,954.954 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:58:52,960.960 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:58:55,000.000 INFO    ] ================================================
[2026-08-29 19:58:55,016.016 INFO    ] Launching Daemon at Sat Aug 29 19:58:55 IST 2026
[2026-08-29 19:58:55,026.026 INFO    ] ================================================
[2026-08-29 19:58:55,592.592 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:58:55
[2026-08-29 19:58:56,073.073 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:58:56,205.205 INFO    ] Initializing speech engine...
[2026-08-29 19:58:56,210.210 INFO    ] 2026-08-29 19:58:56
[2026-08-29 19:58:56,438.438 INFO    ] 2026-08-29 19:58:56
[2026-08-29 19:58:56,469.469 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:58:56,572.572 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:58:56,580.580 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:58:56,753.753 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:58:56,805.805 INFO    ] time= 29/08/2026 19:58:56
[2026-08-29 19:58:56,812.812 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:58:56,815.815 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:58:56,890.890 INFO    ] No existing commands found in stream
[2026-08-29 19:59:01,914.914 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:59:01,918.918 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-08-29 19:59:03,310.310 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 19:59:03,312.312 INFO    ] Checking for system updates...
[2026-08-29 19:59:03,351.351 INFO    ] 200
[2026-08-29 19:59:03,354.354 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:59:03,419.419 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:59:03,422.422 INFO    ] No update needed
[2026-08-29 19:59:03,424.424 INFO    ] Checking for camera pi updates...
[2026-08-29 19:59:03,462.462 INFO    ] 200
[2026-08-29 19:59:03,465.465 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:59:03,511.511 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:59:03,595.595 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:59:03,597.597 INFO    ] No camera update needed
[2026-08-29 19:59:03,600.600 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:59:03,603.603 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:59:03,609.609 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:59:03,614.614 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:59:05,657.657 INFO    ] ================================================
[2026-08-29 19:59:05,672.672 INFO    ] Launching Daemon at Sat Aug 29 19:59:05 IST 2026
[2026-08-29 19:59:05,683.683 INFO    ] ================================================
[2026-08-29 19:59:06,226.226 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:59:06
[2026-08-29 19:59:06,854.854 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:59:07,129.129 INFO    ] Initializing speech engine...
[2026-08-29 19:59:07,136.136 INFO    ] 2026-08-29 19:59:07
[2026-08-29 19:59:07,390.390 INFO    ] 2026-08-29 19:59:07
[2026-08-29 19:59:07,451.451 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:59:07,675.675 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:59:07,684.684 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:59:07,817.817 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:59:07,854.854 INFO    ] time= 29/08/2026 19:59:07
[2026-08-29 19:59:07,925.925 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:59:07,952.952 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:59:08,075.075 INFO    ] No existing commands found in stream
[2026-08-29 19:59:13,100.100 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:59:13,103.103 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-08-29 19:59:14,711.711 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:59:14,712.712 INFO    ] Checking for system updates...
[2026-08-29 19:59:14,733.733 INFO    ] 200
[2026-08-29 19:59:14,734.734 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:59:14,766.766 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:59:14,767.767 INFO    ] No update needed
[2026-08-29 19:59:14,768.768 INFO    ] Checking for camera pi updates...
[2026-08-29 19:59:14,787.787 INFO    ] 200
[2026-08-29 19:59:14,789.789 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:59:14,814.814 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:59:14,914.914 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:59:14,916.916 INFO    ] No camera update needed
[2026-08-29 19:59:14,919.919 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:59:14,921.921 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:59:14,926.926 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:59:14,931.931 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:59:16,971.971 INFO    ] ================================================
[2026-08-29 19:59:16,986.986 INFO    ] Launching Daemon at Sat Aug 29 19:59:16 IST 2026
[2026-08-29 19:59:17,997.997 INFO    ] ================================================
[2026-08-29 19:59:17,629.629 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:59:17
[2026-08-29 19:59:18,067.067 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:59:18,302.302 INFO    ] Initializing speech engine...
[2026-08-29 19:59:18,310.310 INFO    ] 2026-08-29 19:59:18
[2026-08-29 19:59:18,601.601 INFO    ] 2026-08-29 19:59:18
[2026-08-29 19:59:18,710.710 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:59:18,863.863 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:59:18,869.869 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:59:19,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:59:19,050.050 INFO    ] time= 29/08/2026 19:59:19
[2026-08-29 19:59:19,104.104 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:59:19,139.139 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:59:19,194.194 INFO    ] No existing commands found in stream
[2026-08-29 19:59:24,207.207 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:59:24,215.215 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-08-29 19:59:26,846.846 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 19:59:26,847.847 INFO    ] Checking for system updates...
[2026-08-29 19:59:26,867.867 INFO    ] 200
[2026-08-29 19:59:26,868.868 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:59:26,898.898 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:59:26,899.899 INFO    ] No update needed
[2026-08-29 19:59:26,900.900 INFO    ] Checking for camera pi updates...
[2026-08-29 19:59:26,919.919 INFO    ] 200
[2026-08-29 19:59:26,921.921 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:59:26,944.944 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:59:27,020.020 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:59:27,021.021 INFO    ] No camera update needed
[2026-08-29 19:59:27,022.022 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:59:27,023.023 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:59:27,026.026 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:59:27,029.029 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:59:29,069.069 INFO    ] ================================================
[2026-08-29 19:59:29,084.084 INFO    ] Launching Daemon at Sat Aug 29 19:59:29 IST 2026
[2026-08-29 19:59:29,095.095 INFO    ] ================================================
[2026-08-29 19:59:29,629.629 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:59:29
[2026-08-29 19:59:30,289.289 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:59:30,589.589 INFO    ] Initializing speech engine...
[2026-08-29 19:59:30,597.597 INFO    ] 2026-08-29 19:59:30
[2026-08-29 19:59:30,882.882 INFO    ] 2026-08-29 19:59:30
[2026-08-29 19:59:30,927.927 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:59:31,150.150 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:59:31,160.160 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:59:31,297.297 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:59:31,369.369 INFO    ] time= 29/08/2026 19:59:31
[2026-08-29 19:59:31,427.427 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:59:31,434.434 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:59:31,560.560 INFO    ] No existing commands found in stream
[2026-08-29 19:59:36,588.588 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:59:36,591.591 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-08-29 19:59:38,755.755 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 19:59:38,757.757 INFO    ] Checking for system updates...
[2026-08-29 19:59:38,777.777 INFO    ] 200
[2026-08-29 19:59:38,779.779 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:59:38,810.810 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:59:38,812.812 INFO    ] No update needed
[2026-08-29 19:59:38,814.814 INFO    ] Checking for camera pi updates...
[2026-08-29 19:59:38,833.833 INFO    ] 200
[2026-08-29 19:59:38,835.835 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:59:38,858.858 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:59:38,967.967 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 19:59:38,968.968 INFO    ] No camera update needed
[2026-08-29 19:59:38,969.969 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:59:38,971.971 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:59:38,974.974 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:59:38,977.977 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:59:41,017.017 INFO    ] ================================================
[2026-08-29 19:59:41,035.035 INFO    ] Launching Daemon at Sat Aug 29 19:59:41 IST 2026
[2026-08-29 19:59:41,046.046 INFO    ] ================================================
[2026-08-29 19:59:41,592.592 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:59:41
[2026-08-29 19:59:42,176.176 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:59:42,424.424 INFO    ] Initializing speech engine...
[2026-08-29 19:59:42,430.430 INFO    ] 2026-08-29 19:59:42
[2026-08-29 19:59:42,708.708 INFO    ] 2026-08-29 19:59:42
[2026-08-29 19:59:42,743.743 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:59:42,993.993 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:59:43,003.003 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:59:43,135.135 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:59:43,141.141 INFO    ] time= 29/08/2026 19:59:43
[2026-08-29 19:59:43,200.200 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:59:43,249.249 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:59:43,318.318 INFO    ] No existing commands found in stream
[2026-08-29 19:59:48,330.330 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:59:48,333.333 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-08-29 19:59:50,617.617 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 19:59:50,620.620 INFO    ] Checking for system updates...
[2026-08-29 19:59:50,657.657 INFO    ] 200
[2026-08-29 19:59:50,660.660 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:59:50,715.715 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:59:50,718.718 INFO    ] No update needed
[2026-08-29 19:59:50,720.720 INFO    ] Checking for camera pi updates...
[2026-08-29 19:59:50,758.758 INFO    ] 200
[2026-08-29 19:59:50,760.760 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 19:59:50,798.798 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 19:59:50,886.886 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 19:59:50,888.888 INFO    ] No camera update needed
[2026-08-29 19:59:50,889.889 INFO    ] Script finished. Safe exiting...
[2026-08-29 19:59:50,890.890 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 19:59:50,894.894 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 19:59:50,897.897 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 19:59:52,935.935 INFO    ] ================================================
[2026-08-29 19:59:52,950.950 INFO    ] Launching Daemon at Sat Aug 29 19:59:52 IST 2026
[2026-08-29 19:59:52,961.961 INFO    ] ================================================
[2026-08-29 19:59:53,324.324 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 19:59:53
[2026-08-29 19:59:53,659.659 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 19:59:53,813.813 INFO    ] Initializing speech engine...
[2026-08-29 19:59:53,817.817 INFO    ] 2026-08-29 19:59:53
[2026-08-29 19:59:54,024.024 INFO    ] 2026-08-29 19:59:54
[2026-08-29 19:59:54,053.053 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 19:59:54,191.191 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 19:59:54,239.239 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 19:59:54,372.372 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 19:59:54,418.418 INFO    ] time= 29/08/2026 19:59:54
[2026-08-29 19:59:54,456.456 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 19:59:54,473.473 INFO    ] Checking for existing commands in stream...
[2026-08-29 19:59:54,544.544 INFO    ] No existing commands found in stream
[2026-08-29 19:59:59,555.555 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 19:59:59,558.558 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-08-29 20:00:01,526.526 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:00:01,532.532 INFO    ] Checking for system updates...
[2026-08-29 20:00:01,576.576 INFO    ] 200
[2026-08-29 20:00:01,579.579 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:00:01,755.755 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:00:01,759.759 INFO    ] No update needed
[2026-08-29 20:00:01,820.820 INFO    ] Checking for camera pi updates...
[2026-08-29 20:00:01,987.987 INFO    ] 200
[2026-08-29 20:00:01,992.992 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:00:02,481.481 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:00:03,171.171 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:00:03,175.175 INFO    ] No camera update needed
[2026-08-29 20:00:03,178.178 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:00:03,204.204 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:00:03,211.211 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:00:03,238.238 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:00:05,356.356 INFO    ] ================================================
[2026-08-29 20:00:05,425.425 INFO    ] Launching Daemon at Sat Aug 29 20:00:05 IST 2026
[2026-08-29 20:00:05,545.545 INFO    ] ================================================
[2026-08-29 20:00:06,460.460 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:00:06
[2026-08-29 20:00:07,113.113 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:00:07,416.416 INFO    ] Initializing speech engine...
[2026-08-29 20:00:07,428.428 INFO    ] 2026-08-29 20:00:07
[2026-08-29 20:00:07,696.696 INFO    ] 2026-08-29 20:00:07
[2026-08-29 20:00:07,752.752 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:00:07,984.984 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:00:07,995.995 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:00:08,129.129 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:00:08,156.156 INFO    ] time= 29/08/2026 20:00:08
[2026-08-29 20:00:08,211.211 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:00:08,265.265 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:00:08,319.319 INFO    ] No existing commands found in stream
[2026-08-29 20:00:13,332.332 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:00:13,335.335 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-08-29 20:00:16,030.030 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:00:16,031.031 INFO    ] Checking for system updates...
[2026-08-29 20:00:16,052.052 INFO    ] 200
[2026-08-29 20:00:16,054.054 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:00:16,084.084 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:00:16,086.086 INFO    ] No update needed
[2026-08-29 20:00:16,087.087 INFO    ] Checking for camera pi updates...
[2026-08-29 20:00:16,107.107 INFO    ] 200
[2026-08-29 20:00:16,108.108 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:00:16,132.132 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:00:16,209.209 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:00:16,210.210 INFO    ] No camera update needed
[2026-08-29 20:00:16,211.211 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:00:16,213.213 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:00:16,216.216 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:00:16,219.219 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:00:18,258.258 INFO    ] ================================================
[2026-08-29 20:00:18,273.273 INFO    ] Launching Daemon at Sat Aug 29 20:00:18 IST 2026
[2026-08-29 20:00:18,284.284 INFO    ] ================================================
[2026-08-29 20:00:18,770.770 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:00:18
[2026-08-29 20:00:19,359.359 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:00:19,614.614 INFO    ] Initializing speech engine...
[2026-08-29 20:00:19,621.621 INFO    ] 2026-08-29 20:00:19
[2026-08-29 20:00:19,913.913 INFO    ] 2026-08-29 20:00:19
[2026-08-29 20:00:19,951.951 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:00:20,143.143 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:00:20,150.150 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:00:20,282.282 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:00:20,289.289 INFO    ] time= 29/08/2026 20:00:20
[2026-08-29 20:00:20,308.308 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:00:20,328.328 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:00:20,411.411 INFO    ] No existing commands found in stream
[2026-08-29 20:00:25,423.423 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:00:25,426.426 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-08-29 20:00:27,645.645 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:00:27,647.647 INFO    ] Checking for system updates...
[2026-08-29 20:00:27,667.667 INFO    ] 200
[2026-08-29 20:00:27,669.669 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:00:27,698.698 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:00:27,700.700 INFO    ] No update needed
[2026-08-29 20:00:27,701.701 INFO    ] Checking for camera pi updates...
[2026-08-29 20:00:27,722.722 INFO    ] 200
[2026-08-29 20:00:27,723.723 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:00:27,748.748 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:00:27,845.845 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:00:27,846.846 INFO    ] No camera update needed
[2026-08-29 20:00:27,848.848 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:00:27,849.849 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:00:27,852.852 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:00:27,855.855 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:00:29,895.895 INFO    ] ================================================
[2026-08-29 20:00:29,913.913 INFO    ] Launching Daemon at Sat Aug 29 20:00:29 IST 2026
[2026-08-29 20:00:29,924.924 INFO    ] ================================================
[2026-08-29 20:00:30,543.543 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:00:30
[2026-08-29 20:00:31,187.187 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:00:31,472.472 INFO    ] Initializing speech engine...
[2026-08-29 20:00:31,481.481 INFO    ] 2026-08-29 20:00:31
[2026-08-29 20:00:31,789.789 INFO    ] 2026-08-29 20:00:31
[2026-08-29 20:00:31,823.823 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:00:31,990.990 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:00:32,017.017 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:00:32,111.111 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:00:32,123.123 INFO    ] time= 29/08/2026 20:00:32
[2026-08-29 20:00:32,135.135 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:00:32,158.158 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:00:32,221.221 INFO    ] No existing commands found in stream
[2026-08-29 20:00:37,250.250 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:00:37,253.253 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-08-29 20:00:41,402.402 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:00:41,405.405 INFO    ] Checking for system updates...
[2026-08-29 20:00:41,443.443 INFO    ] 200
[2026-08-29 20:00:41,445.445 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:00:41,499.499 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:00:41,502.502 INFO    ] No update needed
[2026-08-29 20:00:41,505.505 INFO    ] Checking for camera pi updates...
[2026-08-29 20:00:41,539.539 INFO    ] 200
[2026-08-29 20:00:41,542.542 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:00:41,584.584 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:00:41,786.786 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:00:41,789.789 INFO    ] No camera update needed
[2026-08-29 20:00:41,792.792 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:00:41,795.795 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:00:41,801.801 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:00:41,807.807 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:00:43,850.850 INFO    ] ================================================
[2026-08-29 20:00:43,865.865 INFO    ] Launching Daemon at Sat Aug 29 20:00:43 IST 2026
[2026-08-29 20:00:43,875.875 INFO    ] ================================================
[2026-08-29 20:00:44,288.288 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:00:44
[2026-08-29 20:00:44,878.878 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:00:45,131.131 INFO    ] Initializing speech engine...
[2026-08-29 20:00:45,154.154 INFO    ] 2026-08-29 20:00:45
[2026-08-29 20:00:45,408.408 INFO    ] 2026-08-29 20:00:45
[2026-08-29 20:00:45,445.445 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:00:45,616.616 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:00:45,628.628 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:00:45,739.739 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:00:45,759.759 INFO    ] time= 29/08/2026 20:00:45
[2026-08-29 20:00:45,782.782 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:00:45,787.787 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:00:45,862.862 INFO    ] No existing commands found in stream
[2026-08-29 20:00:50,892.892 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:00:50,895.895 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 20:00:51,845.845 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:00:51,846.846 INFO    ] Checking for system updates...
[2026-08-29 20:00:51,867.867 INFO    ] 200
[2026-08-29 20:00:51,868.868 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:00:51,898.898 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:00:51,899.899 INFO    ] No update needed
[2026-08-29 20:00:51,901.901 INFO    ] Checking for camera pi updates...
[2026-08-29 20:00:51,920.920 INFO    ] 200
[2026-08-29 20:00:51,922.922 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:00:51,945.945 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:00:52,021.021 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:00:52,022.022 INFO    ] No camera update needed
[2026-08-29 20:00:52,024.024 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:00:52,025.025 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:00:52,028.028 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:00:52,030.030 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:00:54,071.071 INFO    ] ================================================
[2026-08-29 20:00:54,086.086 INFO    ] Launching Daemon at Sat Aug 29 20:00:54 IST 2026
[2026-08-29 20:00:54,097.097 INFO    ] ================================================
[2026-08-29 20:00:54,666.666 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:00:54
[2026-08-29 20:00:55,165.165 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:00:55,299.299 INFO    ] Initializing speech engine...
[2026-08-29 20:00:55,304.304 INFO    ] 2026-08-29 20:00:55
[2026-08-29 20:00:55,507.507 INFO    ] 2026-08-29 20:00:55
[2026-08-29 20:00:55,542.542 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:00:55,642.642 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:00:55,645.645 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:00:55,814.814 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:00:55,854.854 INFO    ] time= 29/08/2026 20:00:55
[2026-08-29 20:00:55,902.902 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:00:55,910.910 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:00:55,966.966 INFO    ] No existing commands found in stream
[2026-08-29 20:01:00,978.978 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:01:00,980.980 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-08-29 20:01:02,196.196 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:01:02,200.200 INFO    ] Checking for system updates...
[2026-08-29 20:01:02,240.240 INFO    ] 200
[2026-08-29 20:01:02,243.243 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:01:02,308.308 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:01:02,310.310 INFO    ] No update needed
[2026-08-29 20:01:02,313.313 INFO    ] Checking for camera pi updates...
[2026-08-29 20:01:02,356.356 INFO    ] 200
[2026-08-29 20:01:02,359.359 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:01:02,415.415 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:01:02,523.523 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:01:02,527.527 INFO    ] No camera update needed
[2026-08-29 20:01:02,531.531 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:01:02,534.534 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:01:02,541.541 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:01:02,548.548 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:01:04,591.591 INFO    ] ================================================
[2026-08-29 20:01:04,605.605 INFO    ] Launching Daemon at Sat Aug 29 20:01:04 IST 2026
[2026-08-29 20:01:04,617.617 INFO    ] ================================================
[2026-08-29 20:01:05,111.111 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:01:05
[2026-08-29 20:01:05,696.696 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:01:05,965.965 INFO    ] Initializing speech engine...
[2026-08-29 20:01:05,975.975 INFO    ] 2026-08-29 20:01:05
[2026-08-29 20:01:06,243.243 INFO    ] 2026-08-29 20:01:06
[2026-08-29 20:01:06,279.279 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:01:06,452.452 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:01:06,465.465 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:01:06,576.576 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:01:06,595.595 INFO    ] time= 29/08/2026 20:01:06
[2026-08-29 20:01:06,617.617 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:01:06,622.622 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:01:06,692.692 INFO    ] No existing commands found in stream
[2026-08-29 20:01:11,707.707 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:01:11,710.710 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-08-29 20:01:14,271.271 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:01:14,273.273 INFO    ] Checking for system updates...
[2026-08-29 20:01:14,320.320 INFO    ] 200
[2026-08-29 20:01:14,322.322 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:01:14,378.378 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:01:14,380.380 INFO    ] No update needed
[2026-08-29 20:01:14,382.382 INFO    ] Checking for camera pi updates...
[2026-08-29 20:01:14,417.417 INFO    ] 200
[2026-08-29 20:01:14,419.419 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:01:14,491.491 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:01:14,576.576 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:01:14,579.579 INFO    ] No camera update needed
[2026-08-29 20:01:14,581.581 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:01:14,583.583 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:01:14,588.588 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:01:14,593.593 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:01:16,635.635 INFO    ] ================================================
[2026-08-29 20:01:16,650.650 INFO    ] Launching Daemon at Sat Aug 29 20:01:16 IST 2026
[2026-08-29 20:01:16,661.661 INFO    ] ================================================
[2026-08-29 20:01:17,251.251 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:01:17
[2026-08-29 20:01:17,613.613 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:01:17,835.835 INFO    ] Initializing speech engine...
[2026-08-29 20:01:17,850.850 INFO    ] 2026-08-29 20:01:17
[2026-08-29 20:01:18,135.135 INFO    ] 2026-08-29 20:01:18
[2026-08-29 20:01:18,169.169 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:01:18,318.318 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:01:18,326.326 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:01:18,479.479 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:01:18,488.488 INFO    ] time= 29/08/2026 20:01:18
[2026-08-29 20:01:18,492.492 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:01:18,497.497 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:01:18,556.556 INFO    ] No existing commands found in stream
[2026-08-29 20:01:23,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:01:23,577.577 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-08-29 20:01:24,932.932 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:01:24,934.934 INFO    ] Checking for system updates...
[2026-08-29 20:01:24,961.961 INFO    ] 200
[2026-08-29 20:01:24,963.963 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:01:25,004.004 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:01:25,005.005 INFO    ] No update needed
[2026-08-29 20:01:25,006.006 INFO    ] Checking for camera pi updates...
[2026-08-29 20:01:25,030.030 INFO    ] 200
[2026-08-29 20:01:25,033.033 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:01:25,075.075 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:01:25,183.183 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:01:25,185.185 INFO    ] No camera update needed
[2026-08-29 20:01:25,188.188 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:01:25,190.190 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:01:25,196.196 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:01:25,200.200 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:01:27,241.241 INFO    ] ================================================
[2026-08-29 20:01:27,256.256 INFO    ] Launching Daemon at Sat Aug 29 20:01:27 IST 2026
[2026-08-29 20:01:27,270.270 INFO    ] ================================================
[2026-08-29 20:01:27,853.853 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:01:27
[2026-08-29 20:01:28,308.308 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:01:28,455.455 INFO    ] Initializing speech engine...
[2026-08-29 20:01:28,460.460 INFO    ] 2026-08-29 20:01:28
[2026-08-29 20:01:28,677.677 INFO    ] 2026-08-29 20:01:28
[2026-08-29 20:01:28,708.708 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:01:28,832.832 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:01:28,854.854 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:01:29,030.030 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:01:29,085.085 INFO    ] time= 29/08/2026 20:01:29
[2026-08-29 20:01:29,095.095 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:01:29,113.113 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:01:29,163.163 INFO    ] No existing commands found in stream
[2026-08-29 20:01:34,174.174 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:01:34,177.177 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-08-29 20:01:37,893.893 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:01:37,895.895 INFO    ] Checking for system updates...
[2026-08-29 20:01:37,916.916 INFO    ] 200
[2026-08-29 20:01:37,917.917 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:01:37,947.947 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:01:37,949.949 INFO    ] No update needed
[2026-08-29 20:01:37,950.950 INFO    ] Checking for camera pi updates...
[2026-08-29 20:01:37,969.969 INFO    ] 200
[2026-08-29 20:01:37,971.971 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:01:37,993.993 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:01:38,071.071 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:01:38,072.072 INFO    ] No camera update needed
[2026-08-29 20:01:38,073.073 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:01:38,075.075 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:01:38,077.077 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:01:38,080.080 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:01:40,118.118 INFO    ] ================================================
[2026-08-29 20:01:40,133.133 INFO    ] Launching Daemon at Sat Aug 29 20:01:40 IST 2026
[2026-08-29 20:01:40,144.144 INFO    ] ================================================
[2026-08-29 20:01:40,498.498 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:01:40
[2026-08-29 20:01:40,838.838 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:01:40,989.989 INFO    ] Initializing speech engine...
[2026-08-29 20:01:40,996.996 INFO    ] 2026-08-29 20:01:40
[2026-08-29 20:01:41,204.204 INFO    ] 2026-08-29 20:01:41
[2026-08-29 20:01:41,233.233 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:01:41,356.356 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:01:41,421.421 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:01:41,540.540 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:01:41,549.549 INFO    ] time= 29/08/2026 20:01:41
[2026-08-29 20:01:41,599.599 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:01:41,641.641 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:01:41,750.750 INFO    ] No existing commands found in stream
[2026-08-29 20:01:46,766.766 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:01:46,770.770 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-08-29 20:01:48,963.963 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:01:48,965.965 INFO    ] Checking for system updates...
[2026-08-29 20:01:48,985.985 INFO    ] 200
[2026-08-29 20:01:48,987.987 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:01:49,017.017 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:01:49,018.018 INFO    ] No update needed
[2026-08-29 20:01:49,020.020 INFO    ] Checking for camera pi updates...
[2026-08-29 20:01:49,039.039 INFO    ] 200
[2026-08-29 20:01:49,041.041 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:01:49,064.064 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:01:49,163.163 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:01:49,165.165 INFO    ] No camera update needed
[2026-08-29 20:01:49,166.166 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:01:49,168.168 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:01:49,171.171 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:01:49,174.174 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:01:51,216.216 INFO    ] ================================================
[2026-08-29 20:01:51,234.234 INFO    ] Launching Daemon at Sat Aug 29 20:01:51 IST 2026
[2026-08-29 20:01:51,246.246 INFO    ] ================================================
[2026-08-29 20:01:51,771.771 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:01:51
[2026-08-29 20:01:52,400.400 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:01:52,670.670 INFO    ] Initializing speech engine...
[2026-08-29 20:01:52,692.692 INFO    ] 2026-08-29 20:01:52
[2026-08-29 20:01:52,958.958 INFO    ] 2026-08-29 20:01:52
[2026-08-29 20:01:53,001.001 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:01:53,201.201 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:01:53,215.215 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:01:53,365.365 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:01:53,376.376 INFO    ] time= 29/08/2026 20:01:53
[2026-08-29 20:01:53,380.380 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:01:53,387.387 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:01:53,459.459 INFO    ] No existing commands found in stream
[2026-08-29 20:01:58,471.471 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:01:58,474.474 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-08-29 20:01:59,938.938 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:01:59,940.940 INFO    ] Checking for system updates...
[2026-08-29 20:01:59,960.960 INFO    ] 200
[2026-08-29 20:01:59,961.961 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:01:59,992.992 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:01:59,994.994 INFO    ] No update needed
[2026-08-29 20:01:59,995.995 INFO    ] Checking for camera pi updates...
[2026-08-29 20:02:00,014.014 INFO    ] 200
[2026-08-29 20:02:00,016.016 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:02:00,039.039 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:02:00,137.137 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:02:00,138.138 INFO    ] No camera update needed
[2026-08-29 20:02:00,140.140 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:02:00,141.141 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:02:00,144.144 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:02:00,147.147 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:02:02,199.199 INFO    ] ================================================
[2026-08-29 20:02:02,222.222 INFO    ] Launching Daemon at Sat Aug 29 20:02:02 IST 2026
[2026-08-29 20:02:02,239.239 INFO    ] ================================================
[2026-08-29 20:02:02,975.975 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:02:02
[2026-08-29 20:02:03,644.644 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:02:03,959.959 INFO    ] Initializing speech engine...
[2026-08-29 20:02:03,965.965 INFO    ] 2026-08-29 20:02:03
[2026-08-29 20:02:04,275.275 INFO    ] 2026-08-29 20:02:04
[2026-08-29 20:02:04,360.360 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:02:04,515.515 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:02:04,521.521 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:02:04,671.671 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:02:04,675.675 INFO    ] time= 29/08/2026 20:02:04
[2026-08-29 20:02:04,687.687 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:02:04,701.701 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:02:04,777.777 INFO    ] No existing commands found in stream
[2026-08-29 20:02:09,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:02:09,816.816 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-08-29 20:02:11,022.022 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:02:11,024.024 INFO    ] Checking for system updates...
[2026-08-29 20:02:11,045.045 INFO    ] 200
[2026-08-29 20:02:11,046.046 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:02:11,077.077 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:02:11,079.079 INFO    ] No update needed
[2026-08-29 20:02:11,080.080 INFO    ] Checking for camera pi updates...
[2026-08-29 20:02:11,100.100 INFO    ] 200
[2026-08-29 20:02:11,101.101 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:02:11,125.125 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:02:11,212.212 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:02:11,214.214 INFO    ] No camera update needed
[2026-08-29 20:02:11,215.215 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:02:11,216.216 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:02:11,219.219 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:02:11,223.223 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:02:13,263.263 INFO    ] ================================================
[2026-08-29 20:02:13,278.278 INFO    ] Launching Daemon at Sat Aug 29 20:02:13 IST 2026
[2026-08-29 20:02:13,288.288 INFO    ] ================================================
[2026-08-29 20:02:13,615.615 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:02:13
[2026-08-29 20:02:13,928.928 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:02:14,181.181 INFO    ] Initializing speech engine...
[2026-08-29 20:02:14,206.206 INFO    ] 2026-08-29 20:02:14
[2026-08-29 20:02:14,481.481 INFO    ] 2026-08-29 20:02:14
[2026-08-29 20:02:14,518.518 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:02:14,745.745 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:02:14,779.779 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:02:14,903.903 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:02:14,951.951 INFO    ] time= 29/08/2026 20:02:14
[2026-08-29 20:02:14,986.986 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:02:15,021.021 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:02:15,132.132 INFO    ] No existing commands found in stream
[2026-08-29 20:02:20,143.143 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:02:20,151.151 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-08-29 20:02:23,897.897 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:02:23,899.899 INFO    ] Checking for system updates...
[2026-08-29 20:02:23,919.919 INFO    ] 200
[2026-08-29 20:02:23,920.920 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:02:23,951.951 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:02:23,952.952 INFO    ] No update needed
[2026-08-29 20:02:23,954.954 INFO    ] Checking for camera pi updates...
[2026-08-29 20:02:23,973.973 INFO    ] 200
[2026-08-29 20:02:23,974.974 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:02:23,997.997 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:02:24,090.090 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:02:24,093.093 INFO    ] No camera update needed
[2026-08-29 20:02:24,095.095 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:02:24,098.098 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:02:24,103.103 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:02:24,108.108 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:02:26,147.147 INFO    ] ================================================
[2026-08-29 20:02:26,163.163 INFO    ] Launching Daemon at Sat Aug 29 20:02:26 IST 2026
[2026-08-29 20:02:26,174.174 INFO    ] ================================================
[2026-08-29 20:02:26,743.743 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:02:26
[2026-08-29 20:02:27,248.248 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:02:27,501.501 INFO    ] Initializing speech engine...
[2026-08-29 20:02:27,520.520 INFO    ] 2026-08-29 20:02:27
[2026-08-29 20:02:27,768.768 INFO    ] 2026-08-29 20:02:27
[2026-08-29 20:02:27,804.804 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:02:27,976.976 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:02:27,988.988 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:02:28,130.130 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:02:28,137.137 INFO    ] time= 29/08/2026 20:02:28
[2026-08-29 20:02:28,144.144 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:02:28,181.181 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:02:28,291.291 INFO    ] No existing commands found in stream
[2026-08-29 20:02:33,322.322 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:02:33,325.325 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-08-29 20:02:36,735.735 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:02:36,736.736 INFO    ] Checking for system updates...
[2026-08-29 20:02:36,757.757 INFO    ] 200
[2026-08-29 20:02:36,758.758 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:02:36,788.788 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:02:36,789.789 INFO    ] No update needed
[2026-08-29 20:02:36,790.790 INFO    ] Checking for camera pi updates...
[2026-08-29 20:02:36,809.809 INFO    ] 200
[2026-08-29 20:02:36,811.811 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:02:36,834.834 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:02:36,913.913 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:02:36,914.914 INFO    ] No camera update needed
[2026-08-29 20:02:36,915.915 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:02:36,917.917 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:02:36,920.920 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:02:36,922.922 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:02:38,963.963 INFO    ] ================================================
[2026-08-29 20:02:38,978.978 INFO    ] Launching Daemon at Sat Aug 29 20:02:38 IST 2026
[2026-08-29 20:02:38,989.989 INFO    ] ================================================
[2026-08-29 20:02:39,337.337 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:02:39
[2026-08-29 20:02:39,783.783 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:02:40,088.088 INFO    ] Initializing speech engine...
[2026-08-29 20:02:40,097.097 INFO    ] 2026-08-29 20:02:40
[2026-08-29 20:02:40,421.421 INFO    ] 2026-08-29 20:02:40
[2026-08-29 20:02:40,508.508 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:02:40,647.647 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:02:40,650.650 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:02:40,800.800 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:02:40,832.832 INFO    ] time= 29/08/2026 20:02:40
[2026-08-29 20:02:40,892.892 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:02:40,947.947 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:02:41,009.009 INFO    ] No existing commands found in stream
[2026-08-29 20:02:46,035.035 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:02:46,038.038 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-08-29 20:02:48,184.184 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:02:48,185.185 INFO    ] Checking for system updates...
[2026-08-29 20:02:48,205.205 INFO    ] 200
[2026-08-29 20:02:48,207.207 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:02:48,236.236 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:02:48,237.237 INFO    ] No update needed
[2026-08-29 20:02:48,239.239 INFO    ] Checking for camera pi updates...
[2026-08-29 20:02:48,260.260 INFO    ] 200
[2026-08-29 20:02:48,262.262 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:02:48,285.285 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:02:48,484.484 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:02:48,486.486 INFO    ] No camera update needed
[2026-08-29 20:02:48,487.487 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:02:48,488.488 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:02:48,491.491 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:02:48,494.494 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:02:50,532.532 INFO    ] ================================================
[2026-08-29 20:02:50,547.547 INFO    ] Launching Daemon at Sat Aug 29 20:02:50 IST 2026
[2026-08-29 20:02:50,558.558 INFO    ] ================================================
[2026-08-29 20:02:50,915.915 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:02:50
[2026-08-29 20:02:51,254.254 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:02:51,405.405 INFO    ] Initializing speech engine...
[2026-08-29 20:02:51,411.411 INFO    ] 2026-08-29 20:02:51
[2026-08-29 20:02:51,619.619 INFO    ] 2026-08-29 20:02:51
[2026-08-29 20:02:51,648.648 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:02:51,769.769 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:02:51,835.835 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:02:51,971.971 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:02:52,031.031 INFO    ] time= 29/08/2026 20:02:51
[2026-08-29 20:02:52,079.079 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:02:52,138.138 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:02:52,235.235 INFO    ] No existing commands found in stream
[2026-08-29 20:02:57,269.269 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:02:57,272.272 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-08-29 20:03:01,145.145 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:03:01,147.147 INFO    ] Checking for system updates...
[2026-08-29 20:03:01,168.168 INFO    ] 200
[2026-08-29 20:03:01,169.169 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:03:01,201.201 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:03:01,202.202 INFO    ] No update needed
[2026-08-29 20:03:01,204.204 INFO    ] Checking for camera pi updates...
[2026-08-29 20:03:01,224.224 INFO    ] 200
[2026-08-29 20:03:01,225.225 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:03:01,250.250 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:03:01,420.420 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:03:01,421.421 INFO    ] No camera update needed
[2026-08-29 20:03:01,422.422 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:03:01,424.424 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:03:01,426.426 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:03:01,429.429 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:03:03,469.469 INFO    ] ================================================
[2026-08-29 20:03:03,484.484 INFO    ] Launching Daemon at Sat Aug 29 20:03:03 IST 2026
[2026-08-29 20:03:03,494.494 INFO    ] ================================================
[2026-08-29 20:03:04,077.077 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:03:04
[2026-08-29 20:03:04,663.663 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:03:04,913.913 INFO    ] Initializing speech engine...
[2026-08-29 20:03:04,919.919 INFO    ] 2026-08-29 20:03:04
[2026-08-29 20:03:05,220.220 INFO    ] 2026-08-29 20:03:05
[2026-08-29 20:03:05,246.246 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:03:05,412.412 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:03:05,418.418 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:03:05,524.524 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:03:05,525.525 INFO    ] time= 29/08/2026 20:03:05
[2026-08-29 20:03:05,526.526 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:03:05,528.528 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:03:05,573.573 INFO    ] No existing commands found in stream
[2026-08-29 20:03:10,581.581 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:03:10,584.584 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-08-29 20:03:11,831.831 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:03:11,832.832 INFO    ] Checking for system updates...
[2026-08-29 20:03:11,858.858 INFO    ] 200
[2026-08-29 20:03:11,860.860 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:03:11,892.892 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:03:11,894.894 INFO    ] No update needed
[2026-08-29 20:03:11,895.895 INFO    ] Checking for camera pi updates...
[2026-08-29 20:03:11,914.914 INFO    ] 200
[2026-08-29 20:03:11,916.916 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:03:11,939.939 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:03:12,033.033 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:03:12,034.034 INFO    ] No camera update needed
[2026-08-29 20:03:12,035.035 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:03:12,037.037 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:03:12,040.040 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:03:12,042.042 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:03:14,082.082 INFO    ] ================================================
[2026-08-29 20:03:14,097.097 INFO    ] Launching Daemon at Sat Aug 29 20:03:14 IST 2026
[2026-08-29 20:03:14,108.108 INFO    ] ================================================
[2026-08-29 20:03:14,479.479 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:03:14
[2026-08-29 20:03:14,813.813 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:03:14,964.964 INFO    ] Initializing speech engine...
[2026-08-29 20:03:14,969.969 INFO    ] 2026-08-29 20:03:14
[2026-08-29 20:03:15,180.180 INFO    ] 2026-08-29 20:03:15
[2026-08-29 20:03:15,211.211 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:03:15,345.345 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:03:15,398.398 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:03:15,530.530 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:03:15,531.531 INFO    ] time= 29/08/2026 20:03:15
[2026-08-29 20:03:15,564.564 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:03:15,609.609 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:03:15,702.702 INFO    ] No existing commands found in stream
[2026-08-29 20:03:20,713.713 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:03:20,716.716 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-08-29 20:03:23,366.366 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:03:23,368.368 INFO    ] Checking for system updates...
[2026-08-29 20:03:23,389.389 INFO    ] 200
[2026-08-29 20:03:23,391.391 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:03:23,422.422 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:03:23,423.423 INFO    ] No update needed
[2026-08-29 20:03:23,425.425 INFO    ] Checking for camera pi updates...
[2026-08-29 20:03:23,444.444 INFO    ] 200
[2026-08-29 20:03:23,446.446 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:03:23,470.470 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:03:23,639.639 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:03:23,640.640 INFO    ] No camera update needed
[2026-08-29 20:03:23,642.642 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:03:23,643.643 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:03:23,646.646 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:03:23,649.649 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:03:25,689.689 INFO    ] ================================================
[2026-08-29 20:03:25,704.704 INFO    ] Launching Daemon at Sat Aug 29 20:03:25 IST 2026
[2026-08-29 20:03:25,714.714 INFO    ] ================================================
[2026-08-29 20:03:26,290.290 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:03:26
[2026-08-29 20:03:26,878.878 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:03:27,126.126 INFO    ] Initializing speech engine...
[2026-08-29 20:03:27,133.133 INFO    ] 2026-08-29 20:03:27
[2026-08-29 20:03:27,412.412 INFO    ] 2026-08-29 20:03:27
[2026-08-29 20:03:27,448.448 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:03:27,610.610 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:03:27,623.623 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:03:27,731.731 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:03:27,736.736 INFO    ] time= 29/08/2026 20:03:27
[2026-08-29 20:03:27,757.757 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:03:27,764.764 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:03:27,854.854 INFO    ] No existing commands found in stream
[2026-08-29 20:03:32,881.881 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:03:32,884.884 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-08-29 20:03:34,881.881 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:03:34,884.884 INFO    ] Checking for system updates...
[2026-08-29 20:03:34,923.923 INFO    ] 200
[2026-08-29 20:03:34,925.925 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:03:34,979.979 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:03:34,981.981 INFO    ] No update needed
[2026-08-29 20:03:34,983.983 INFO    ] Checking for camera pi updates...
[2026-08-29 20:03:35,017.017 INFO    ] 200
[2026-08-29 20:03:35,019.019 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:03:35,060.060 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:03:35,142.142 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:03:35,145.145 INFO    ] No camera update needed
[2026-08-29 20:03:35,147.147 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:03:35,149.149 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:03:35,155.155 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:03:35,160.160 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:03:37,200.200 INFO    ] ================================================
[2026-08-29 20:03:37,215.215 INFO    ] Launching Daemon at Sat Aug 29 20:03:37 IST 2026
[2026-08-29 20:03:37,226.226 INFO    ] ================================================
[2026-08-29 20:03:37,567.567 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:03:37
[2026-08-29 20:03:37,884.884 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:03:38,109.109 INFO    ] Initializing speech engine...
[2026-08-29 20:03:38,116.116 INFO    ] 2026-08-29 20:03:38
[2026-08-29 20:03:38,377.377 INFO    ] 2026-08-29 20:03:38
[2026-08-29 20:03:38,441.441 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:03:38,599.599 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:03:38,614.614 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:03:38,738.738 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:03:38,744.744 INFO    ] time= 29/08/2026 20:03:38
[2026-08-29 20:03:38,764.764 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:03:38,786.786 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:03:38,869.869 INFO    ] No existing commands found in stream
[2026-08-29 20:03:43,881.881 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:03:43,884.884 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-08-29 20:03:47,643.643 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:03:47,645.645 INFO    ] Checking for system updates...
[2026-08-29 20:03:47,665.665 INFO    ] 200
[2026-08-29 20:03:47,666.666 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:03:47,696.696 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:03:47,697.697 INFO    ] No update needed
[2026-08-29 20:03:47,699.699 INFO    ] Checking for camera pi updates...
[2026-08-29 20:03:47,719.719 INFO    ] 200
[2026-08-29 20:03:47,720.720 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:03:47,750.750 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:03:47,860.860 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:03:47,863.863 INFO    ] No camera update needed
[2026-08-29 20:03:47,865.865 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:03:47,867.867 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:03:47,873.873 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:03:47,877.877 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:03:49,918.918 INFO    ] ================================================
[2026-08-29 20:03:49,934.934 INFO    ] Launching Daemon at Sat Aug 29 20:03:49 IST 2026
[2026-08-29 20:03:49,945.945 INFO    ] ================================================
[2026-08-29 20:03:50,590.590 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:03:50
[2026-08-29 20:03:51,060.060 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:03:51,211.211 INFO    ] Initializing speech engine...
[2026-08-29 20:03:51,216.216 INFO    ] 2026-08-29 20:03:51
[2026-08-29 20:03:51,435.435 INFO    ] 2026-08-29 20:03:51
[2026-08-29 20:03:51,480.480 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:03:51,661.661 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:03:51,681.681 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:03:51,810.810 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:03:51,819.819 INFO    ] time= 29/08/2026 20:03:51
[2026-08-29 20:03:51,826.826 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:03:51,872.872 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:03:51,995.995 INFO    ] No existing commands found in stream
[2026-08-29 20:03:57,021.021 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:03:57,032.032 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-08-29 20:03:59,397.397 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:03:59,399.399 INFO    ] Checking for system updates...
[2026-08-29 20:03:59,420.420 INFO    ] 200
[2026-08-29 20:03:59,421.421 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:03:59,451.451 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:03:59,453.453 INFO    ] No update needed
[2026-08-29 20:03:59,454.454 INFO    ] Checking for camera pi updates...
[2026-08-29 20:03:59,474.474 INFO    ] 200
[2026-08-29 20:03:59,476.476 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:03:59,499.499 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:03:59,598.598 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:03:59,599.599 INFO    ] No camera update needed
[2026-08-29 20:03:59,601.601 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:03:59,602.602 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:03:59,606.606 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:03:59,609.609 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:04:01,647.647 INFO    ] ================================================
[2026-08-29 20:04:01,665.665 INFO    ] Launching Daemon at Sat Aug 29 20:04:01 IST 2026
[2026-08-29 20:04:01,700.700 INFO    ] ================================================
[2026-08-29 20:04:02,557.557 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:04:02
[2026-08-29 20:04:03,340.340 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:04:03,667.667 INFO    ] Initializing speech engine...
[2026-08-29 20:04:03,681.681 INFO    ] 2026-08-29 20:04:03
[2026-08-29 20:04:03,973.973 INFO    ] 2026-08-29 20:04:03
[2026-08-29 20:04:04,011.011 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:04:04,237.237 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:04:04,247.247 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:04:04,385.385 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:04:04,434.434 INFO    ] time= 29/08/2026 20:04:04
[2026-08-29 20:04:04,489.489 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:04:04,524.524 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:04:04,578.578 INFO    ] No existing commands found in stream
[2026-08-29 20:04:09,590.590 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:04:09,594.594 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-08-29 20:04:10,529.529 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:04:10,531.531 INFO    ] Checking for system updates...
[2026-08-29 20:04:10,552.552 INFO    ] 200
[2026-08-29 20:04:10,553.553 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:04:10,585.585 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:04:10,587.587 INFO    ] No update needed
[2026-08-29 20:04:10,588.588 INFO    ] Checking for camera pi updates...
[2026-08-29 20:04:10,608.608 INFO    ] 200
[2026-08-29 20:04:10,609.609 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:04:10,632.632 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:04:10,739.739 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:04:10,741.741 INFO    ] No camera update needed
[2026-08-29 20:04:10,742.742 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:04:10,743.743 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:04:10,746.746 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:04:10,749.749 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:04:12,789.789 INFO    ] ================================================
[2026-08-29 20:04:12,805.805 INFO    ] Launching Daemon at Sat Aug 29 20:04:12 IST 2026
[2026-08-29 20:04:12,816.816 INFO    ] ================================================
[2026-08-29 20:04:13,162.162 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:04:13
[2026-08-29 20:04:13,474.474 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:04:13,605.605 INFO    ] Initializing speech engine...
[2026-08-29 20:04:13,609.609 INFO    ] 2026-08-29 20:04:13
[2026-08-29 20:04:13,828.828 INFO    ] 2026-08-29 20:04:13
[2026-08-29 20:04:13,857.857 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:04:13,979.979 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:04:14,042.042 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:04:14,174.174 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:04:14,225.225 INFO    ] time= 29/08/2026 20:04:14
[2026-08-29 20:04:14,260.260 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:04:14,276.276 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:04:14,347.347 INFO    ] No existing commands found in stream
[2026-08-29 20:04:19,358.358 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:04:19,360.360 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 20:04:22,335.335 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:04:22,336.336 INFO    ] Checking for system updates...
[2026-08-29 20:04:22,357.357 INFO    ] 200
[2026-08-29 20:04:22,358.358 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:04:22,390.390 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:04:22,392.392 INFO    ] No update needed
[2026-08-29 20:04:22,393.393 INFO    ] Checking for camera pi updates...
[2026-08-29 20:04:22,413.413 INFO    ] 200
[2026-08-29 20:04:22,414.414 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:04:22,439.439 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:04:22,531.531 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:04:22,532.532 INFO    ] No camera update needed
[2026-08-29 20:04:22,534.534 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:04:22,535.535 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:04:22,538.538 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:04:22,541.541 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:04:24,583.583 INFO    ] ================================================
[2026-08-29 20:04:24,599.599 INFO    ] Launching Daemon at Sat Aug 29 20:04:24 IST 2026
[2026-08-29 20:04:24,611.611 INFO    ] ================================================
[2026-08-29 20:04:24,965.965 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:04:24
[2026-08-29 20:04:25,305.305 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:04:25,457.457 INFO    ] Initializing speech engine...
[2026-08-29 20:04:25,463.463 INFO    ] 2026-08-29 20:04:25
[2026-08-29 20:04:25,670.670 INFO    ] 2026-08-29 20:04:25
[2026-08-29 20:04:25,699.699 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:04:25,822.822 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:04:25,876.876 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:04:26,016.016 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:04:26,063.063 INFO    ] time= 29/08/2026 20:04:26
[2026-08-29 20:04:26,113.113 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:04:26,123.123 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:04:26,189.189 INFO    ] No existing commands found in stream
[2026-08-29 20:04:31,200.200 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:04:31,203.203 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-08-29 20:04:35,369.369 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:04:35,373.373 INFO    ] Checking for system updates...
[2026-08-29 20:04:35,409.409 INFO    ] 200
[2026-08-29 20:04:35,412.412 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:04:35,473.473 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:04:35,476.476 INFO    ] No update needed
[2026-08-29 20:04:35,479.479 INFO    ] Checking for camera pi updates...
[2026-08-29 20:04:35,515.515 INFO    ] 200
[2026-08-29 20:04:35,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:04:35,559.559 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:04:35,640.640 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:04:35,643.643 INFO    ] No camera update needed
[2026-08-29 20:04:35,646.646 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:04:35,648.648 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:04:35,654.654 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:04:35,660.660 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:04:37,701.701 INFO    ] ================================================
[2026-08-29 20:04:37,717.717 INFO    ] Launching Daemon at Sat Aug 29 20:04:37 IST 2026
[2026-08-29 20:04:37,728.728 INFO    ] ================================================
[2026-08-29 20:04:38,072.072 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:04:38
[2026-08-29 20:04:38,384.384 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:04:38,516.516 INFO    ] Initializing speech engine...
[2026-08-29 20:04:38,529.529 INFO    ] 2026-08-29 20:04:38
[2026-08-29 20:04:38,770.770 INFO    ] 2026-08-29 20:04:38
[2026-08-29 20:04:38,815.815 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:04:38,987.987 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:04:39,001.001 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:04:39,146.146 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:04:39,155.155 INFO    ] time= 29/08/2026 20:04:39
[2026-08-29 20:04:39,163.163 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:04:39,208.208 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:04:39,314.314 INFO    ] No existing commands found in stream
[2026-08-29 20:04:44,345.345 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:04:44,348.348 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-08-29 20:04:47,529.529 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:04:47,531.531 INFO    ] Checking for system updates...
[2026-08-29 20:04:47,552.552 INFO    ] 200
[2026-08-29 20:04:47,553.553 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:04:47,586.586 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:04:47,587.587 INFO    ] No update needed
[2026-08-29 20:04:47,589.589 INFO    ] Checking for camera pi updates...
[2026-08-29 20:04:47,611.611 INFO    ] 200
[2026-08-29 20:04:47,612.612 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:04:47,636.636 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:04:47,693.693 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:04:47,694.694 INFO    ] No camera update needed
[2026-08-29 20:04:47,696.696 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:04:47,697.697 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:04:47,700.700 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:04:47,703.703 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:04:49,743.743 INFO    ] ================================================
[2026-08-29 20:04:49,758.758 INFO    ] Launching Daemon at Sat Aug 29 20:04:49 IST 2026
[2026-08-29 20:04:49,769.769 INFO    ] ================================================
[2026-08-29 20:04:50,120.120 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:04:50
[2026-08-29 20:04:50,437.437 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:04:50,577.577 INFO    ] Initializing speech engine...
[2026-08-29 20:04:50,587.587 INFO    ] 2026-08-29 20:04:50
[2026-08-29 20:04:50,793.793 INFO    ] 2026-08-29 20:04:50
[2026-08-29 20:04:50,821.821 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:04:50,944.944 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:04:51,007.007 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:04:51,138.138 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:04:51,194.194 INFO    ] time= 29/08/2026 20:04:51
[2026-08-29 20:04:51,233.233 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:04:51,238.238 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:04:51,342.342 INFO    ] No existing commands found in stream
[2026-08-29 20:04:56,361.361 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:04:56,364.364 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-08-29 20:04:57,402.402 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:04:57,404.404 INFO    ] Checking for system updates...
[2026-08-29 20:04:57,424.424 INFO    ] 200
[2026-08-29 20:04:57,425.425 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:04:57,455.455 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:04:57,457.457 INFO    ] No update needed
[2026-08-29 20:04:57,458.458 INFO    ] Checking for camera pi updates...
[2026-08-29 20:04:57,479.479 INFO    ] 200
[2026-08-29 20:04:57,481.481 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:04:57,506.506 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:04:57,700.700 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:04:57,702.702 INFO    ] No camera update needed
[2026-08-29 20:04:57,705.705 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:04:57,707.707 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:04:57,712.712 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:04:57,717.717 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:04:59,759.759 INFO    ] ================================================
[2026-08-29 20:04:59,775.775 INFO    ] Launching Daemon at Sat Aug 29 20:04:59 IST 2026
[2026-08-29 20:04:59,786.786 INFO    ] ================================================
[2026-08-29 20:05:00,369.369 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:05:00
[2026-08-29 20:05:00,770.770 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:05:00,914.914 INFO    ] Initializing speech engine...
[2026-08-29 20:05:00,919.919 INFO    ] 2026-08-29 20:05:00
[2026-08-29 20:05:01,124.124 INFO    ] 2026-08-29 20:05:01
[2026-08-29 20:05:01,153.153 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:05:01,274.274 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:05:01,332.332 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:05:01,466.466 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:05:01,542.542 INFO    ] time= 29/08/2026 20:05:01
[2026-08-29 20:05:01,595.595 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:05:01,633.633 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:05:01,708.708 INFO    ] No existing commands found in stream
[2026-08-29 20:05:06,750.750 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:05:06,754.754 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-08-29 20:05:08,627.627 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:05:08,629.629 INFO    ] Checking for system updates...
[2026-08-29 20:05:08,650.650 INFO    ] 200
[2026-08-29 20:05:08,652.652 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:05:08,682.682 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:05:08,683.683 INFO    ] No update needed
[2026-08-29 20:05:08,685.685 INFO    ] Checking for camera pi updates...
[2026-08-29 20:05:08,706.706 INFO    ] 200
[2026-08-29 20:05:08,707.707 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:05:08,734.734 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:05:08,820.820 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:05:08,821.821 INFO    ] No camera update needed
[2026-08-29 20:05:08,823.823 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:05:08,824.824 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:05:08,827.827 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:05:08,830.830 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:05:10,868.868 INFO    ] ================================================
[2026-08-29 20:05:10,884.884 INFO    ] Launching Daemon at Sat Aug 29 20:05:10 IST 2026
[2026-08-29 20:05:10,895.895 INFO    ] ================================================
[2026-08-29 20:05:11,224.224 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:05:11
[2026-08-29 20:05:11,536.536 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:05:11,668.668 INFO    ] Initializing speech engine...
[2026-08-29 20:05:11,672.672 INFO    ] 2026-08-29 20:05:11
[2026-08-29 20:05:11,895.895 INFO    ] 2026-08-29 20:05:11
[2026-08-29 20:05:11,932.932 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:05:12,104.104 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:05:12,117.117 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:05:12,227.227 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:05:12,246.246 INFO    ] time= 29/08/2026 20:05:12
[2026-08-29 20:05:12,266.266 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:05:12,274.274 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:05:12,340.340 INFO    ] No existing commands found in stream
[2026-08-29 20:05:17,353.353 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:05:17,356.356 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-08-29 20:05:20,430.430 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:05:20,433.433 INFO    ] Checking for system updates...
[2026-08-29 20:05:20,469.469 INFO    ] 200
[2026-08-29 20:05:20,471.471 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:05:20,523.523 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:05:20,526.526 INFO    ] No update needed
[2026-08-29 20:05:20,528.528 INFO    ] Checking for camera pi updates...
[2026-08-29 20:05:20,562.562 INFO    ] 200
[2026-08-29 20:05:20,564.564 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:05:20,605.605 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:05:20,697.697 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:05:20,699.699 INFO    ] No camera update needed
[2026-08-29 20:05:20,701.701 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:05:20,704.704 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:05:20,709.709 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:05:20,714.714 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:05:22,754.754 INFO    ] ================================================
[2026-08-29 20:05:22,771.771 INFO    ] Launching Daemon at Sat Aug 29 20:05:22 IST 2026
[2026-08-29 20:05:22,783.783 INFO    ] ================================================
[2026-08-29 20:05:23,145.145 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:05:23
[2026-08-29 20:05:23,455.455 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:05:23,585.585 INFO    ] Initializing speech engine...
[2026-08-29 20:05:23,590.590 INFO    ] 2026-08-29 20:05:23
[2026-08-29 20:05:23,819.819 INFO    ] 2026-08-29 20:05:23
[2026-08-29 20:05:23,853.853 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:05:23,997.997 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:05:24,004.004 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:05:24,127.127 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:05:24,166.166 INFO    ] time= 29/08/2026 20:05:24
[2026-08-29 20:05:24,232.232 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:05:24,274.274 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:05:24,331.331 INFO    ] No existing commands found in stream
[2026-08-29 20:05:29,343.343 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:05:29,346.346 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-08-29 20:05:33,473.473 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:05:33,475.475 INFO    ] Checking for system updates...
[2026-08-29 20:05:33,515.515 INFO    ] 200
[2026-08-29 20:05:33,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:05:33,570.570 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:05:33,572.572 INFO    ] No update needed
[2026-08-29 20:05:33,575.575 INFO    ] Checking for camera pi updates...
[2026-08-29 20:05:33,608.608 INFO    ] 200
[2026-08-29 20:05:33,611.611 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:05:33,652.652 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:05:33,755.755 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:05:33,757.757 INFO    ] No camera update needed
[2026-08-29 20:05:33,759.759 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:05:33,762.762 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:05:33,767.767 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:05:33,772.772 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:05:35,812.812 INFO    ] ================================================
[2026-08-29 20:05:35,828.828 INFO    ] Launching Daemon at Sat Aug 29 20:05:35 IST 2026
[2026-08-29 20:05:35,840.840 INFO    ] ================================================
[2026-08-29 20:05:36,207.207 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:05:36
[2026-08-29 20:05:36,662.662 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:05:36,930.930 INFO    ] Initializing speech engine...
[2026-08-29 20:05:36,940.940 INFO    ] 2026-08-29 20:05:36
[2026-08-29 20:05:37,187.187 INFO    ] 2026-08-29 20:05:37
[2026-08-29 20:05:37,222.222 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:05:37,393.393 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:05:37,406.406 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:05:37,551.551 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:05:37,556.556 INFO    ] time= 29/08/2026 20:05:37
[2026-08-29 20:05:37,562.562 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:05:37,615.615 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:05:37,734.734 INFO    ] No existing commands found in stream
[2026-08-29 20:05:42,761.761 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:05:42,764.764 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-08-29 20:05:44,216.216 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:05:44,218.218 INFO    ] Checking for system updates...
[2026-08-29 20:05:44,238.238 INFO    ] 200
[2026-08-29 20:05:44,239.239 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:05:44,271.271 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:05:44,273.273 INFO    ] No update needed
[2026-08-29 20:05:44,275.275 INFO    ] Checking for camera pi updates...
[2026-08-29 20:05:44,295.295 INFO    ] 200
[2026-08-29 20:05:44,296.296 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:05:44,319.319 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:05:44,406.406 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:05:44,407.407 INFO    ] No camera update needed
[2026-08-29 20:05:44,408.408 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:05:44,409.409 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:05:44,412.412 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:05:44,415.415 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:05:46,453.453 INFO    ] ================================================
[2026-08-29 20:05:46,470.470 INFO    ] Launching Daemon at Sat Aug 29 20:05:46 IST 2026
[2026-08-29 20:05:46,481.481 INFO    ] ================================================
[2026-08-29 20:05:46,852.852 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:05:46
[2026-08-29 20:05:47,169.169 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:05:47,313.313 INFO    ] Initializing speech engine...
[2026-08-29 20:05:47,316.316 INFO    ] 2026-08-29 20:05:47
[2026-08-29 20:05:47,505.505 INFO    ] 2026-08-29 20:05:47
[2026-08-29 20:05:47,537.537 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:05:47,688.688 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:05:47,698.698 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:05:47,846.846 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:05:47,855.855 INFO    ] time= 29/08/2026 20:05:47
[2026-08-29 20:05:47,894.894 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:05:47,954.954 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:05:48,035.035 INFO    ] No existing commands found in stream
[2026-08-29 20:05:53,047.047 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:05:53,049.049 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-08-29 20:05:54,530.530 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:05:54,532.532 INFO    ] Checking for system updates...
[2026-08-29 20:05:54,552.552 INFO    ] 200
[2026-08-29 20:05:54,554.554 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:05:54,586.586 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:05:54,588.588 INFO    ] No update needed
[2026-08-29 20:05:54,589.589 INFO    ] Checking for camera pi updates...
[2026-08-29 20:05:54,610.610 INFO    ] 200
[2026-08-29 20:05:54,612.612 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:05:54,637.637 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:05:54,716.716 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:05:54,717.717 INFO    ] No camera update needed
[2026-08-29 20:05:54,718.718 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:05:54,720.720 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:05:54,723.723 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:05:54,725.725 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:05:56,763.763 INFO    ] ================================================
[2026-08-29 20:05:56,779.779 INFO    ] Launching Daemon at Sat Aug 29 20:05:56 IST 2026
[2026-08-29 20:05:56,790.790 INFO    ] ================================================
[2026-08-29 20:05:57,122.122 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:05:57
[2026-08-29 20:05:57,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:05:57,582.582 INFO    ] Initializing speech engine...
[2026-08-29 20:05:57,592.592 INFO    ] 2026-08-29 20:05:57
[2026-08-29 20:05:57,806.806 INFO    ] 2026-08-29 20:05:57
[2026-08-29 20:05:57,841.841 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:05:58,015.015 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:05:58,038.038 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:05:58,139.139 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:05:58,157.157 INFO    ] time= 29/08/2026 20:05:58
[2026-08-29 20:05:58,180.180 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:05:58,184.184 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:05:58,255.255 INFO    ] No existing commands found in stream
[2026-08-29 20:06:03,270.270 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:06:03,274.274 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-08-29 20:06:05,988.988 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:06:05,990.990 INFO    ] Checking for system updates...
[2026-08-29 20:06:06,012.012 INFO    ] 200
[2026-08-29 20:06:06,013.013 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:06:06,045.045 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:06:06,046.046 INFO    ] No update needed
[2026-08-29 20:06:06,047.047 INFO    ] Checking for camera pi updates...
[2026-08-29 20:06:06,067.067 INFO    ] 200
[2026-08-29 20:06:06,069.069 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:06:06,092.092 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:06:06,195.195 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:06:06,196.196 INFO    ] No camera update needed
[2026-08-29 20:06:06,197.197 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:06:06,199.199 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:06:06,202.202 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:06:06,205.205 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:06:08,244.244 INFO    ] ================================================
[2026-08-29 20:06:08,259.259 INFO    ] Launching Daemon at Sat Aug 29 20:06:08 IST 2026
[2026-08-29 20:06:08,271.271 INFO    ] ================================================
[2026-08-29 20:06:08,615.615 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:06:08
[2026-08-29 20:06:08,931.931 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:06:09,065.065 INFO    ] Initializing speech engine...
[2026-08-29 20:06:09,078.078 INFO    ] 2026-08-29 20:06:09
[2026-08-29 20:06:09,283.283 INFO    ] 2026-08-29 20:06:09
[2026-08-29 20:06:09,312.312 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:06:09,457.457 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:06:09,464.464 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:06:09,647.647 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:06:09,668.668 INFO    ] time= 29/08/2026 20:06:09
[2026-08-29 20:06:09,684.684 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:06:09,693.693 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:06:09,807.807 INFO    ] No existing commands found in stream
[2026-08-29 20:06:14,831.831 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:06:14,834.834 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-08-29 20:06:16,526.526 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:06:16,528.528 INFO    ] Checking for system updates...
[2026-08-29 20:06:16,549.549 INFO    ] 200
[2026-08-29 20:06:16,550.550 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:06:16,582.582 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:06:16,584.584 INFO    ] No update needed
[2026-08-29 20:06:16,585.585 INFO    ] Checking for camera pi updates...
[2026-08-29 20:06:16,608.608 INFO    ] 200
[2026-08-29 20:06:16,611.611 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:06:16,652.652 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:06:16,735.735 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:06:16,737.737 INFO    ] No camera update needed
[2026-08-29 20:06:16,739.739 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:06:16,741.741 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:06:16,747.747 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:06:16,752.752 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:06:18,791.791 INFO    ] ================================================
[2026-08-29 20:06:18,807.807 INFO    ] Launching Daemon at Sat Aug 29 20:06:18 IST 2026
[2026-08-29 20:06:18,818.818 INFO    ] ================================================
[2026-08-29 20:06:19,384.384 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:06:19
[2026-08-29 20:06:19,881.881 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:06:20,150.150 INFO    ] Initializing speech engine...
[2026-08-29 20:06:20,160.160 INFO    ] 2026-08-29 20:06:20
[2026-08-29 20:06:20,406.406 INFO    ] 2026-08-29 20:06:20
[2026-08-29 20:06:20,441.441 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:06:20,613.613 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:06:20,626.626 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:06:20,764.764 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:06:20,774.774 INFO    ] time= 29/08/2026 20:06:20
[2026-08-29 20:06:20,778.778 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:06:20,784.784 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:06:20,848.848 INFO    ] No existing commands found in stream
[2026-08-29 20:06:25,861.861 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:06:25,864.864 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-08-29 20:06:28,402.402 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:06:28,404.404 INFO    ] Checking for system updates...
[2026-08-29 20:06:28,424.424 INFO    ] 200
[2026-08-29 20:06:28,425.425 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:06:28,455.455 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:06:28,456.456 INFO    ] No update needed
[2026-08-29 20:06:28,458.458 INFO    ] Checking for camera pi updates...
[2026-08-29 20:06:28,478.478 INFO    ] 200
[2026-08-29 20:06:28,479.479 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:06:28,503.503 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:06:28,580.580 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:06:28,582.582 INFO    ] No camera update needed
[2026-08-29 20:06:28,585.585 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:06:28,587.587 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:06:28,592.592 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:06:28,597.597 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:06:30,637.637 INFO    ] ================================================
[2026-08-29 20:06:30,653.653 INFO    ] Launching Daemon at Sat Aug 29 20:06:30 IST 2026
[2026-08-29 20:06:30,664.664 INFO    ] ================================================
[2026-08-29 20:06:31,323.323 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:06:31
[2026-08-29 20:06:31,816.816 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:06:32,112.112 INFO    ] Initializing speech engine...
[2026-08-29 20:06:32,129.129 INFO    ] 2026-08-29 20:06:32
[2026-08-29 20:06:32,433.433 INFO    ] 2026-08-29 20:06:32
[2026-08-29 20:06:32,477.477 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:06:32,644.644 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:06:32,684.684 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:06:32,802.802 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:06:32,823.823 INFO    ] time= 29/08/2026 20:06:32
[2026-08-29 20:06:32,830.830 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:06:32,849.849 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:06:32,900.900 INFO    ] No existing commands found in stream
[2026-08-29 20:06:37,913.913 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:06:37,915.915 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 20:06:41,423.423 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:06:41,426.426 INFO    ] Checking for system updates...
[2026-08-29 20:06:41,465.465 INFO    ] 200
[2026-08-29 20:06:41,467.467 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:06:41,525.525 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:06:41,528.528 INFO    ] No update needed
[2026-08-29 20:06:41,530.530 INFO    ] Checking for camera pi updates...
[2026-08-29 20:06:41,564.564 INFO    ] 200
[2026-08-29 20:06:41,566.566 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:06:41,606.606 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:06:41,704.704 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:06:41,707.707 INFO    ] No camera update needed
[2026-08-29 20:06:41,709.709 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:06:41,711.711 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:06:41,716.716 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:06:41,721.721 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:06:43,768.768 INFO    ] ================================================
[2026-08-29 20:06:43,784.784 INFO    ] Launching Daemon at Sat Aug 29 20:06:43 IST 2026
[2026-08-29 20:06:43,795.795 INFO    ] ================================================
[2026-08-29 20:06:44,140.140 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:06:44
[2026-08-29 20:06:44,457.457 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:06:44,602.602 INFO    ] Initializing speech engine...
[2026-08-29 20:06:44,607.607 INFO    ] 2026-08-29 20:06:44
[2026-08-29 20:06:44,811.811 INFO    ] 2026-08-29 20:06:44
[2026-08-29 20:06:44,839.839 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:06:44,992.992 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:06:44,999.999 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:06:45,168.168 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:06:45,200.200 INFO    ] time= 29/08/2026 20:06:45
[2026-08-29 20:06:45,216.216 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:06:45,224.224 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:06:45,327.327 INFO    ] No existing commands found in stream
[2026-08-29 20:06:50,358.358 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:06:50,360.360 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-08-29 20:06:51,234.234 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:06:51,237.237 INFO    ] Checking for system updates...
[2026-08-29 20:06:51,274.274 INFO    ] 200
[2026-08-29 20:06:51,277.277 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:06:51,329.329 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:06:51,331.331 INFO    ] No update needed
[2026-08-29 20:06:51,334.334 INFO    ] Checking for camera pi updates...
[2026-08-29 20:06:51,368.368 INFO    ] 200
[2026-08-29 20:06:51,370.370 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:06:51,419.419 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:06:51,513.513 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:06:51,516.516 INFO    ] No camera update needed
[2026-08-29 20:06:51,518.518 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:06:51,520.520 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:06:51,526.526 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:06:51,531.531 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:06:53,574.574 INFO    ] ================================================
[2026-08-29 20:06:53,590.590 INFO    ] Launching Daemon at Sat Aug 29 20:06:53 IST 2026
[2026-08-29 20:06:53,601.601 INFO    ] ================================================
[2026-08-29 20:06:53,974.974 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:06:53
[2026-08-29 20:06:54,560.560 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:06:54,829.829 INFO    ] Initializing speech engine...
[2026-08-29 20:06:54,838.838 INFO    ] 2026-08-29 20:06:54
[2026-08-29 20:06:55,091.091 INFO    ] 2026-08-29 20:06:55
[2026-08-29 20:06:55,150.150 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:06:55,292.292 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:06:55,304.304 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:06:55,445.445 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:06:55,453.453 INFO    ] time= 29/08/2026 20:06:55
[2026-08-29 20:06:55,458.458 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:06:55,463.463 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:06:55,529.529 INFO    ] No existing commands found in stream
[2026-08-29 20:07:00,544.544 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:07:00,547.547 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-08-29 20:07:03,641.641 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:07:03,644.644 INFO    ] Checking for system updates...
[2026-08-29 20:07:03,690.690 INFO    ] 200
[2026-08-29 20:07:03,692.692 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:07:03,751.751 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:07:03,753.753 INFO    ] No update needed
[2026-08-29 20:07:03,755.755 INFO    ] Checking for camera pi updates...
[2026-08-29 20:07:03,789.789 INFO    ] 200
[2026-08-29 20:07:03,791.791 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:07:03,832.832 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:07:03,891.891 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:07:03,893.893 INFO    ] No camera update needed
[2026-08-29 20:07:03,895.895 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:07:03,898.898 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:07:03,903.903 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:07:03,908.908 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:07:05,947.947 INFO    ] ================================================
[2026-08-29 20:07:05,963.963 INFO    ] Launching Daemon at Sat Aug 29 20:07:05 IST 2026
[2026-08-29 20:07:05,973.973 INFO    ] ================================================
[2026-08-29 20:07:06,489.489 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:07:06
[2026-08-29 20:07:07,073.073 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:07:07,341.341 INFO    ] Initializing speech engine...
[2026-08-29 20:07:07,350.350 INFO    ] 2026-08-29 20:07:07
[2026-08-29 20:07:07,598.598 INFO    ] 2026-08-29 20:07:07
[2026-08-29 20:07:07,634.634 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:07:07,805.805 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:07:07,817.817 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:07:07,959.959 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:07:07,966.966 INFO    ] time= 29/08/2026 20:07:07
[2026-08-29 20:07:07,974.974 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:07:07,994.994 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:07:08,116.116 INFO    ] No existing commands found in stream
[2026-08-29 20:07:13,141.141 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:07:13,144.144 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-08-29 20:07:15,429.429 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:07:15,430.430 INFO    ] Checking for system updates...
[2026-08-29 20:07:15,452.452 INFO    ] 200
[2026-08-29 20:07:15,454.454 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:07:15,483.483 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:07:15,484.484 INFO    ] No update needed
[2026-08-29 20:07:15,486.486 INFO    ] Checking for camera pi updates...
[2026-08-29 20:07:15,508.508 INFO    ] 200
[2026-08-29 20:07:15,510.510 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:07:15,532.532 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:07:15,631.631 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:07:15,633.633 INFO    ] No camera update needed
[2026-08-29 20:07:15,634.634 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:07:15,635.635 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:07:15,638.638 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:07:15,641.641 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:07:17,679.679 INFO    ] ================================================
[2026-08-29 20:07:17,694.694 INFO    ] Launching Daemon at Sat Aug 29 20:07:17 IST 2026
[2026-08-29 20:07:17,705.705 INFO    ] ================================================
[2026-08-29 20:07:18,159.159 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:07:18
[2026-08-29 20:07:18,835.835 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:07:19,140.140 INFO    ] Initializing speech engine...
[2026-08-29 20:07:19,155.155 INFO    ] 2026-08-29 20:07:19
[2026-08-29 20:07:19,469.469 INFO    ] 2026-08-29 20:07:19
[2026-08-29 20:07:19,552.552 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:07:19,704.704 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:07:19,713.713 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:07:19,850.850 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:07:19,871.871 INFO    ] time= 29/08/2026 20:07:19
[2026-08-29 20:07:19,936.936 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:07:19,983.983 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:07:20,041.041 INFO    ] No existing commands found in stream
[2026-08-29 20:07:25,053.053 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:07:25,056.056 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-08-29 20:07:29,084.084 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:07:29,086.086 INFO    ] Checking for system updates...
[2026-08-29 20:07:29,108.108 INFO    ] 200
[2026-08-29 20:07:29,109.109 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:07:29,141.141 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:07:29,143.143 INFO    ] No update needed
[2026-08-29 20:07:29,144.144 INFO    ] Checking for camera pi updates...
[2026-08-29 20:07:29,164.164 INFO    ] 200
[2026-08-29 20:07:29,165.165 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:07:29,189.189 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:07:29,287.287 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:07:29,289.289 INFO    ] No camera update needed
[2026-08-29 20:07:29,290.290 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:07:29,292.292 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:07:29,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:07:29,298.298 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:07:31,338.338 INFO    ] ================================================
[2026-08-29 20:07:31,356.356 INFO    ] Launching Daemon at Sat Aug 29 20:07:31 IST 2026
[2026-08-29 20:07:31,367.367 INFO    ] ================================================
[2026-08-29 20:07:31,915.915 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:07:31
[2026-08-29 20:07:32,550.550 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:07:32,889.889 INFO    ] Initializing speech engine...
[2026-08-29 20:07:32,896.896 INFO    ] 2026-08-29 20:07:32
[2026-08-29 20:07:33,174.174 INFO    ] 2026-08-29 20:07:33
[2026-08-29 20:07:33,221.221 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:07:33,443.443 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:07:33,453.453 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:07:33,587.587 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:07:33,614.614 INFO    ] time= 29/08/2026 20:07:33
[2026-08-29 20:07:33,674.674 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:07:33,721.721 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:07:33,774.774 INFO    ] No existing commands found in stream
[2026-08-29 20:07:38,786.786 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:07:38,789.789 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 20:07:41,327.327 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:07:41,328.328 INFO    ] Checking for system updates...
[2026-08-29 20:07:41,351.351 INFO    ] 200
[2026-08-29 20:07:41,353.353 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:07:41,387.387 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:07:41,388.388 INFO    ] No update needed
[2026-08-29 20:07:41,389.389 INFO    ] Checking for camera pi updates...
[2026-08-29 20:07:41,411.411 INFO    ] 200
[2026-08-29 20:07:41,412.412 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:07:41,438.438 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:07:41,532.532 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:07:41,534.534 INFO    ] No camera update needed
[2026-08-29 20:07:41,535.535 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:07:41,537.537 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:07:41,540.540 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:07:41,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:07:43,581.581 INFO    ] ================================================
[2026-08-29 20:07:43,596.596 INFO    ] Launching Daemon at Sat Aug 29 20:07:43 IST 2026
[2026-08-29 20:07:43,606.606 INFO    ] ================================================
[2026-08-29 20:07:44,091.091 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:07:44
[2026-08-29 20:07:44,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:07:44,946.946 INFO    ] Initializing speech engine...
[2026-08-29 20:07:44,955.955 INFO    ] 2026-08-29 20:07:44
[2026-08-29 20:07:45,203.203 INFO    ] 2026-08-29 20:07:45
[2026-08-29 20:07:45,238.238 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:07:45,410.410 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:07:45,423.423 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:07:45,548.548 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:07:45,568.568 INFO    ] time= 29/08/2026 20:07:45
[2026-08-29 20:07:45,576.576 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:07:45,582.582 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:07:45,649.649 INFO    ] No existing commands found in stream
[2026-08-29 20:07:50,685.685 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:07:50,687.687 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-08-29 20:07:53,223.223 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:07:53,224.224 INFO    ] Checking for system updates...
[2026-08-29 20:07:53,245.245 INFO    ] 200
[2026-08-29 20:07:53,246.246 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:07:53,278.278 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:07:53,279.279 INFO    ] No update needed
[2026-08-29 20:07:53,281.281 INFO    ] Checking for camera pi updates...
[2026-08-29 20:07:53,300.300 INFO    ] 200
[2026-08-29 20:07:53,301.301 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:07:53,326.326 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:07:53,405.405 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:07:53,406.406 INFO    ] No camera update needed
[2026-08-29 20:07:53,408.408 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:07:53,409.409 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:07:53,412.412 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:07:53,415.415 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:07:55,453.453 INFO    ] ================================================
[2026-08-29 20:07:55,468.468 INFO    ] Launching Daemon at Sat Aug 29 20:07:55 IST 2026
[2026-08-29 20:07:55,478.478 INFO    ] ================================================
[2026-08-29 20:07:55,817.817 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:07:55
[2026-08-29 20:07:56,130.130 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:07:56,374.374 INFO    ] Initializing speech engine...
[2026-08-29 20:07:56,379.379 INFO    ] 2026-08-29 20:07:56
[2026-08-29 20:07:56,627.627 INFO    ] 2026-08-29 20:07:56
[2026-08-29 20:07:56,692.692 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:07:56,835.835 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:07:56,848.848 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:07:56,957.957 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:07:56,976.976 INFO    ] time= 29/08/2026 20:07:56
[2026-08-29 20:07:56,996.996 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:07:57,004.004 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:07:57,072.072 INFO    ] No existing commands found in stream
[2026-08-29 20:08:02,084.084 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:08:02,088.088 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-08-29 20:08:03,739.739 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:08:03,741.741 INFO    ] Checking for system updates...
[2026-08-29 20:08:03,781.781 INFO    ] 200
[2026-08-29 20:08:03,784.784 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:08:03,870.870 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:08:03,874.874 INFO    ] No update needed
[2026-08-29 20:08:03,878.878 INFO    ] Checking for camera pi updates...
[2026-08-29 20:08:03,936.936 INFO    ] 200
[2026-08-29 20:08:03,939.939 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:08:03,989.989 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:08:04,079.079 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:08:04,081.081 INFO    ] No camera update needed
[2026-08-29 20:08:04,084.084 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:08:04,086.086 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:08:04,091.091 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:08:04,096.096 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:08:06,142.142 INFO    ] ================================================
[2026-08-29 20:08:06,162.162 INFO    ] Launching Daemon at Sat Aug 29 20:08:06 IST 2026
[2026-08-29 20:08:06,174.174 INFO    ] ================================================
[2026-08-29 20:08:06,746.746 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:08:06
[2026-08-29 20:08:07,348.348 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:08:07,626.626 INFO    ] Initializing speech engine...
[2026-08-29 20:08:07,637.637 INFO    ] 2026-08-29 20:08:07
[2026-08-29 20:08:07,895.895 INFO    ] 2026-08-29 20:08:07
[2026-08-29 20:08:07,931.931 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:08:08,101.101 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:08:08,127.127 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:08:08,247.247 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:08:08,252.252 INFO    ] time= 29/08/2026 20:08:08
[2026-08-29 20:08:08,270.270 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:08:08,289.289 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:08:08,362.362 INFO    ] No existing commands found in stream
[2026-08-29 20:08:13,380.380 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:08:13,383.383 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-08-29 20:08:17,572.572 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:08:17,574.574 INFO    ] Checking for system updates...
[2026-08-29 20:08:17,595.595 INFO    ] 200
[2026-08-29 20:08:17,596.596 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:08:17,631.631 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:08:17,632.632 INFO    ] No update needed
[2026-08-29 20:08:17,633.633 INFO    ] Checking for camera pi updates...
[2026-08-29 20:08:17,653.653 INFO    ] 200
[2026-08-29 20:08:17,654.654 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:08:17,681.681 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:08:17,763.763 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:08:17,765.765 INFO    ] No camera update needed
[2026-08-29 20:08:17,766.766 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:08:17,767.767 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:08:17,770.770 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:08:17,773.773 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:08:19,811.811 INFO    ] ================================================
[2026-08-29 20:08:19,827.827 INFO    ] Launching Daemon at Sat Aug 29 20:08:19 IST 2026
[2026-08-29 20:08:19,838.838 INFO    ] ================================================
[2026-08-29 20:08:20,192.192 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:08:20
[2026-08-29 20:08:20,530.530 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:08:20,687.687 INFO    ] Initializing speech engine...
[2026-08-29 20:08:20,691.691 INFO    ] 2026-08-29 20:08:20
[2026-08-29 20:08:20,898.898 INFO    ] 2026-08-29 20:08:20
[2026-08-29 20:08:20,927.927 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:08:21,050.050 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:08:21,099.099 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:08:21,207.207 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:08:21,221.221 INFO    ] time= 29/08/2026 20:08:21
[2026-08-29 20:08:21,281.281 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:08:21,323.323 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:08:21,422.422 INFO    ] No existing commands found in stream
[2026-08-29 20:08:26,442.442 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:08:26,445.445 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-08-29 20:08:29,165.165 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:08:29,167.167 INFO    ] Checking for system updates...
[2026-08-29 20:08:29,207.207 INFO    ] 200
[2026-08-29 20:08:29,209.209 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:08:29,262.262 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:08:29,265.265 INFO    ] No update needed
[2026-08-29 20:08:29,268.268 INFO    ] Checking for camera pi updates...
[2026-08-29 20:08:29,306.306 INFO    ] 200
[2026-08-29 20:08:29,309.309 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:08:29,355.355 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:08:29,437.437 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:08:29,440.440 INFO    ] No camera update needed
[2026-08-29 20:08:29,443.443 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:08:29,446.446 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:08:29,452.452 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:08:29,457.457 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:08:31,499.499 INFO    ] ================================================
[2026-08-29 20:08:31,521.521 INFO    ] Launching Daemon at Sat Aug 29 20:08:31 IST 2026
[2026-08-29 20:08:31,533.533 INFO    ] ================================================
[2026-08-29 20:08:32,116.116 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:08:32
[2026-08-29 20:08:32,717.717 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:08:33,004.004 INFO    ] Initializing speech engine...
[2026-08-29 20:08:33,013.013 INFO    ] 2026-08-29 20:08:33
[2026-08-29 20:08:33,264.264 INFO    ] 2026-08-29 20:08:33
[2026-08-29 20:08:33,300.300 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:08:33,472.472 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:08:33,485.485 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:08:33,624.624 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:08:33,633.633 INFO    ] time= 29/08/2026 20:08:33
[2026-08-29 20:08:33,639.639 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:08:33,680.680 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:08:33,798.798 INFO    ] No existing commands found in stream
[2026-08-29 20:08:38,828.828 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:08:38,831.831 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-08-29 20:08:41,383.383 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:08:41,386.386 INFO    ] Checking for system updates...
[2026-08-29 20:08:41,421.421 INFO    ] 200
[2026-08-29 20:08:41,424.424 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:08:41,477.477 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:08:41,479.479 INFO    ] No update needed
[2026-08-29 20:08:41,481.481 INFO    ] Checking for camera pi updates...
[2026-08-29 20:08:41,521.521 INFO    ] 200
[2026-08-29 20:08:41,524.524 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:08:41,566.566 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:08:41,676.676 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:08:41,679.679 INFO    ] No camera update needed
[2026-08-29 20:08:41,682.682 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:08:41,684.684 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:08:41,691.691 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:08:41,696.696 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:08:43,736.736 INFO    ] ================================================
[2026-08-29 20:08:43,751.751 INFO    ] Launching Daemon at Sat Aug 29 20:08:43 IST 2026
[2026-08-29 20:08:43,761.761 INFO    ] ================================================
[2026-08-29 20:08:44,111.111 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:08:44
[2026-08-29 20:08:44,429.429 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:08:44,575.575 INFO    ] Initializing speech engine...
[2026-08-29 20:08:44,580.580 INFO    ] 2026-08-29 20:08:44
[2026-08-29 20:08:44,797.797 INFO    ] 2026-08-29 20:08:44
[2026-08-29 20:08:44,880.880 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:08:45,028.028 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:08:45,037.037 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:08:45,173.173 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:08:45,218.218 INFO    ] time= 29/08/2026 20:08:45
[2026-08-29 20:08:45,277.277 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:08:45,306.306 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:08:45,357.357 INFO    ] No existing commands found in stream
[2026-08-29 20:08:50,369.369 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:08:50,372.372 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-08-29 20:08:52,226.226 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:08:52,227.227 INFO    ] Checking for system updates...
[2026-08-29 20:08:52,248.248 INFO    ] 200
[2026-08-29 20:08:52,250.250 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:08:52,281.281 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:08:52,283.283 INFO    ] No update needed
[2026-08-29 20:08:52,284.284 INFO    ] Checking for camera pi updates...
[2026-08-29 20:08:52,305.305 INFO    ] 200
[2026-08-29 20:08:52,307.307 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:08:52,333.333 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:08:52,435.435 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:08:52,437.437 INFO    ] No camera update needed
[2026-08-29 20:08:52,438.438 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:08:52,439.439 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:08:52,443.443 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:08:52,446.446 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:08:54,488.488 INFO    ] ================================================
[2026-08-29 20:08:54,503.503 INFO    ] Launching Daemon at Sat Aug 29 20:08:54 IST 2026
[2026-08-29 20:08:54,513.513 INFO    ] ================================================
[2026-08-29 20:08:55,000.000 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:08:54
[2026-08-29 20:08:55,601.601 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:08:55,880.880 INFO    ] Initializing speech engine...
[2026-08-29 20:08:55,886.886 INFO    ] 2026-08-29 20:08:55
[2026-08-29 20:08:56,135.135 INFO    ] 2026-08-29 20:08:56
[2026-08-29 20:08:56,170.170 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:08:56,344.344 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:08:56,356.356 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:08:56,497.497 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:08:56,504.504 INFO    ] time= 29/08/2026 20:08:56
[2026-08-29 20:08:56,512.512 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:08:56,539.539 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:08:56,669.669 INFO    ] No existing commands found in stream
[2026-08-29 20:09:01,700.700 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:09:01,703.703 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-08-29 20:09:03,407.407 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:09:03,410.410 INFO    ] Checking for system updates...
[2026-08-29 20:09:03,445.445 INFO    ] 200
[2026-08-29 20:09:03,448.448 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:09:03,505.505 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:09:03,507.507 INFO    ] No update needed
[2026-08-29 20:09:03,509.509 INFO    ] Checking for camera pi updates...
[2026-08-29 20:09:03,543.543 INFO    ] 200
[2026-08-29 20:09:03,545.545 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:09:03,589.589 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:09:03,680.680 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:09:03,683.683 INFO    ] No camera update needed
[2026-08-29 20:09:03,685.685 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:09:03,687.687 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:09:03,693.693 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:09:03,698.698 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:09:05,739.739 INFO    ] ================================================
[2026-08-29 20:09:05,754.754 INFO    ] Launching Daemon at Sat Aug 29 20:09:05 IST 2026
[2026-08-29 20:09:05,765.765 INFO    ] ================================================
[2026-08-29 20:09:06,257.257 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:09:06
[2026-08-29 20:09:06,854.854 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:09:07,111.111 INFO    ] Initializing speech engine...
[2026-08-29 20:09:07,117.117 INFO    ] 2026-08-29 20:09:07
[2026-08-29 20:09:07,409.409 INFO    ] 2026-08-29 20:09:07
[2026-08-29 20:09:07,444.444 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:09:07,589.589 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:09:07,597.597 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:09:07,744.744 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:09:07,754.754 INFO    ] time= 29/08/2026 20:09:07
[2026-08-29 20:09:07,759.759 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:09:07,781.781 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:09:07,832.832 INFO    ] No existing commands found in stream
[2026-08-29 20:09:12,843.843 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:09:12,846.846 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-08-29 20:09:15,256.256 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:09:15,257.257 INFO    ] Checking for system updates...
[2026-08-29 20:09:15,277.277 INFO    ] 200
[2026-08-29 20:09:15,279.279 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:09:15,313.313 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:09:15,314.314 INFO    ] No update needed
[2026-08-29 20:09:15,316.316 INFO    ] Checking for camera pi updates...
[2026-08-29 20:09:15,335.335 INFO    ] 200
[2026-08-29 20:09:15,336.336 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:09:15,359.359 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:09:15,538.538 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:09:15,539.539 INFO    ] No camera update needed
[2026-08-29 20:09:15,541.541 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:09:15,542.542 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:09:15,545.545 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:09:15,547.547 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:09:17,586.586 INFO    ] ================================================
[2026-08-29 20:09:17,601.601 INFO    ] Launching Daemon at Sat Aug 29 20:09:17 IST 2026
[2026-08-29 20:09:17,618.618 INFO    ] ================================================
[2026-08-29 20:09:17,968.968 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:09:17
[2026-08-29 20:09:18,278.278 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:09:18,423.423 INFO    ] Initializing speech engine...
[2026-08-29 20:09:18,429.429 INFO    ] 2026-08-29 20:09:18
[2026-08-29 20:09:18,640.640 INFO    ] 2026-08-29 20:09:18
[2026-08-29 20:09:18,676.676 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:09:18,853.853 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:09:18,876.876 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:09:19,009.009 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:09:19,016.016 INFO    ] time= 29/08/2026 20:09:19
[2026-08-29 20:09:19,024.024 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:09:19,044.044 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:09:19,170.170 INFO    ] No existing commands found in stream
[2026-08-29 20:09:24,195.195 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:09:24,198.198 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-08-29 20:09:32,298.298 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:09:32,301.301 INFO    ] Checking for system updates...
[2026-08-29 20:09:32,340.340 INFO    ] 200
[2026-08-29 20:09:32,343.343 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:09:32,407.407 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:09:32,409.409 INFO    ] No update needed
[2026-08-29 20:09:32,412.412 INFO    ] Checking for camera pi updates...
[2026-08-29 20:09:32,448.448 INFO    ] 200
[2026-08-29 20:09:32,451.451 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:09:32,502.502 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:09:32,585.585 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:09:32,588.588 INFO    ] No camera update needed
[2026-08-29 20:09:32,590.590 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:09:32,593.593 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:09:32,599.599 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:09:32,605.605 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:09:34,651.651 INFO    ] ================================================
[2026-08-29 20:09:34,667.667 INFO    ] Launching Daemon at Sat Aug 29 20:09:34 IST 2026
[2026-08-29 20:09:34,678.678 INFO    ] ================================================
[2026-08-29 20:09:35,194.194 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:09:35
[2026-08-29 20:09:35,781.781 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:09:36,053.053 INFO    ] Initializing speech engine...
[2026-08-29 20:09:36,066.066 INFO    ] 2026-08-29 20:09:36
[2026-08-29 20:09:36,348.348 INFO    ] 2026-08-29 20:09:36
[2026-08-29 20:09:36,386.386 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:09:36,839.839 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:09:36,875.875 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:09:38,050.050 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:09:38,061.061 INFO    ] time= 29/08/2026 20:09:38
[2026-08-29 20:09:38,068.068 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:09:38,075.075 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:09:38,395.395 INFO    ] No existing commands found in stream
[2026-08-29 20:09:43,406.406 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:09:43,408.408 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-08-29 20:09:45,058.058 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:09:45,060.060 INFO    ] Checking for system updates...
[2026-08-29 20:09:45,082.082 INFO    ] 200
[2026-08-29 20:09:45,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:09:45,115.115 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:09:45,116.116 INFO    ] No update needed
[2026-08-29 20:09:45,117.117 INFO    ] Checking for camera pi updates...
[2026-08-29 20:09:45,137.137 INFO    ] 200
[2026-08-29 20:09:45,138.138 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:09:45,163.163 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:09:45,244.244 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:09:45,246.246 INFO    ] No camera update needed
[2026-08-29 20:09:45,249.249 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:09:45,251.251 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:09:45,256.256 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:09:45,261.261 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:09:47,302.302 INFO    ] ================================================
[2026-08-29 20:09:47,318.318 INFO    ] Launching Daemon at Sat Aug 29 20:09:47 IST 2026
[2026-08-29 20:09:47,328.328 INFO    ] ================================================
[2026-08-29 20:09:47,971.971 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:09:47
[2026-08-29 20:09:48,637.637 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:09:48,938.938 INFO    ] Initializing speech engine...
[2026-08-29 20:09:48,951.951 INFO    ] 2026-08-29 20:09:48
[2026-08-29 20:09:49,234.234 INFO    ] 2026-08-29 20:09:49
[2026-08-29 20:09:49,271.271 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:09:49,498.498 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:09:49,504.504 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:09:49,635.635 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:09:49,677.677 INFO    ] time= 29/08/2026 20:09:49
[2026-08-29 20:09:49,708.708 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:09:49,717.717 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:09:49,799.799 INFO    ] No existing commands found in stream
[2026-08-29 20:09:54,834.834 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:09:54,837.837 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-08-29 20:09:55,184.184 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:09:55,185.185 INFO    ] Checking for system updates...
[2026-08-29 20:09:55,206.206 INFO    ] 200
[2026-08-29 20:09:55,207.207 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:09:55,238.238 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:09:55,240.240 INFO    ] No update needed
[2026-08-29 20:09:55,241.241 INFO    ] Checking for camera pi updates...
[2026-08-29 20:09:55,261.261 INFO    ] 200
[2026-08-29 20:09:55,262.262 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:09:55,287.287 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:09:55,384.384 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:09:55,385.385 INFO    ] No camera update needed
[2026-08-29 20:09:55,387.387 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:09:55,388.388 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:09:55,391.391 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:09:55,394.394 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:09:57,433.433 INFO    ] ================================================
[2026-08-29 20:09:57,448.448 INFO    ] Launching Daemon at Sat Aug 29 20:09:57 IST 2026
[2026-08-29 20:09:57,459.459 INFO    ] ================================================
[2026-08-29 20:09:57,794.794 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:09:57
[2026-08-29 20:09:58,110.110 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:09:58,252.252 INFO    ] Initializing speech engine...
[2026-08-29 20:09:58,255.255 INFO    ] 2026-08-29 20:09:58
[2026-08-29 20:09:58,460.460 INFO    ] 2026-08-29 20:09:58
[2026-08-29 20:09:58,488.488 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:09:58,614.614 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:09:58,676.676 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:09:58,816.816 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:09:58,884.884 INFO    ] time= 29/08/2026 20:09:58
[2026-08-29 20:09:58,908.908 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:09:58,914.914 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:09:58,980.980 INFO    ] No existing commands found in stream
[2026-08-29 20:10:03,991.991 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:10:03,994.994 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-08-29 20:10:08,497.497 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:10:08,499.499 INFO    ] Checking for system updates...
[2026-08-29 20:10:08,519.519 INFO    ] 200
[2026-08-29 20:10:08,520.520 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:10:08,550.550 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:10:08,552.552 INFO    ] No update needed
[2026-08-29 20:10:08,553.553 INFO    ] Checking for camera pi updates...
[2026-08-29 20:10:08,572.572 INFO    ] 200
[2026-08-29 20:10:08,573.573 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:10:08,599.599 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:10:08,699.699 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:10:08,701.701 INFO    ] No camera update needed
[2026-08-29 20:10:08,702.702 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:10:08,703.703 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:10:08,706.706 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:10:08,709.709 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:10:10,749.749 INFO    ] ================================================
[2026-08-29 20:10:10,764.764 INFO    ] Launching Daemon at Sat Aug 29 20:10:10 IST 2026
[2026-08-29 20:10:10,775.775 INFO    ] ================================================
[2026-08-29 20:10:11,152.152 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:10:11
[2026-08-29 20:10:11,492.492 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:10:11,644.644 INFO    ] Initializing speech engine...
[2026-08-29 20:10:11,650.650 INFO    ] 2026-08-29 20:10:11
[2026-08-29 20:10:11,888.888 INFO    ] 2026-08-29 20:10:11
[2026-08-29 20:10:11,945.945 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:10:12,114.114 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:10:12,122.122 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:10:12,303.303 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:10:12,330.330 INFO    ] time= 29/08/2026 20:10:12
[2026-08-29 20:10:12,348.348 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:10:12,378.378 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:10:12,486.486 INFO    ] No existing commands found in stream
[2026-08-29 20:10:17,500.500 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:10:17,503.503 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-08-29 20:10:18,251.251 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:10:18,252.252 INFO    ] Checking for system updates...
[2026-08-29 20:10:18,276.276 INFO    ] 200
[2026-08-29 20:10:18,277.277 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:10:18,308.308 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:10:18,310.310 INFO    ] No update needed
[2026-08-29 20:10:18,311.311 INFO    ] Checking for camera pi updates...
[2026-08-29 20:10:18,331.331 INFO    ] 200
[2026-08-29 20:10:18,333.333 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:10:18,356.356 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:10:18,459.459 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:10:18,460.460 INFO    ] No camera update needed
[2026-08-29 20:10:18,462.462 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:10:18,463.463 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:10:18,466.466 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:10:18,469.469 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:10:20,508.508 INFO    ] ================================================
[2026-08-29 20:10:20,523.523 INFO    ] Launching Daemon at Sat Aug 29 20:10:20 IST 2026
[2026-08-29 20:10:20,533.533 INFO    ] ================================================
[2026-08-29 20:10:20,894.894 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:10:20
[2026-08-29 20:10:21,233.233 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:10:21,386.386 INFO    ] Initializing speech engine...
[2026-08-29 20:10:21,391.391 INFO    ] 2026-08-29 20:10:21
[2026-08-29 20:10:21,606.606 INFO    ] 2026-08-29 20:10:21
[2026-08-29 20:10:21,686.686 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:10:21,849.849 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:10:21,855.855 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:10:21,992.992 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:10:22,043.043 INFO    ] time= 29/08/2026 20:10:21
[2026-08-29 20:10:22,097.097 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:10:22,128.128 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:10:22,187.187 INFO    ] No existing commands found in stream
[2026-08-29 20:10:27,201.201 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:10:27,205.205 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 20:10:29,140.140 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:10:29,141.141 INFO    ] Checking for system updates...
[2026-08-29 20:10:29,164.164 INFO    ] 200
[2026-08-29 20:10:29,166.166 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:10:29,196.196 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:10:29,198.198 INFO    ] No update needed
[2026-08-29 20:10:29,199.199 INFO    ] Checking for camera pi updates...
[2026-08-29 20:10:29,219.219 INFO    ] 200
[2026-08-29 20:10:29,220.220 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:10:29,243.243 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:10:29,345.345 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:10:29,346.346 INFO    ] No camera update needed
[2026-08-29 20:10:29,348.348 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:10:29,349.349 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:10:29,352.352 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:10:29,355.355 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:10:31,394.394 INFO    ] ================================================
[2026-08-29 20:10:31,409.409 INFO    ] Launching Daemon at Sat Aug 29 20:10:31 IST 2026
[2026-08-29 20:10:31,419.419 INFO    ] ================================================
[2026-08-29 20:10:31,975.975 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:10:31
[2026-08-29 20:10:32,612.612 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:10:32,944.944 INFO    ] Initializing speech engine...
[2026-08-29 20:10:32,959.959 INFO    ] 2026-08-29 20:10:32
[2026-08-29 20:10:33,270.270 INFO    ] 2026-08-29 20:10:33
[2026-08-29 20:10:33,399.399 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:10:33,557.557 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:10:33,563.563 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:10:33,700.700 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:10:33,712.712 INFO    ] time= 29/08/2026 20:10:33
[2026-08-29 20:10:33,777.777 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:10:33,837.837 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:10:33,893.893 INFO    ] No existing commands found in stream
[2026-08-29 20:10:38,906.906 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:10:38,909.909 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-08-29 20:10:42,776.776 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:10:42,779.779 INFO    ] Checking for system updates...
[2026-08-29 20:10:42,829.829 INFO    ] 200
[2026-08-29 20:10:42,832.832 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:10:42,885.885 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:10:42,887.887 INFO    ] No update needed
[2026-08-29 20:10:42,890.890 INFO    ] Checking for camera pi updates...
[2026-08-29 20:10:42,924.924 INFO    ] 200
[2026-08-29 20:10:42,926.926 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:10:42,967.967 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:10:43,068.068 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:10:43,069.069 INFO    ] No camera update needed
[2026-08-29 20:10:43,070.070 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:10:43,071.071 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:10:43,075.075 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:10:43,077.077 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:10:45,115.115 INFO    ] ================================================
[2026-08-29 20:10:45,130.130 INFO    ] Launching Daemon at Sat Aug 29 20:10:45 IST 2026
[2026-08-29 20:10:45,141.141 INFO    ] ================================================
[2026-08-29 20:10:45,513.513 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:10:45
[2026-08-29 20:10:45,826.826 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:10:45,958.958 INFO    ] Initializing speech engine...
[2026-08-29 20:10:45,970.970 INFO    ] 2026-08-29 20:10:45
[2026-08-29 20:10:46,190.190 INFO    ] 2026-08-29 20:10:46
[2026-08-29 20:10:46,241.241 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:10:46,394.394 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:10:46,399.399 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:10:46,534.534 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:10:46,545.545 INFO    ] time= 29/08/2026 20:10:46
[2026-08-29 20:10:46,609.609 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:10:46,670.670 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:10:46,723.723 INFO    ] No existing commands found in stream
[2026-08-29 20:10:51,735.735 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:10:51,738.738 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-08-29 20:10:55,854.854 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:10:55,855.855 INFO    ] Checking for system updates...
[2026-08-29 20:10:55,875.875 INFO    ] 200
[2026-08-29 20:10:55,876.876 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:10:55,906.906 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:10:55,908.908 INFO    ] No update needed
[2026-08-29 20:10:55,909.909 INFO    ] Checking for camera pi updates...
[2026-08-29 20:10:55,928.928 INFO    ] 200
[2026-08-29 20:10:55,930.930 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:10:55,953.953 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:10:56,051.051 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:10:56,052.052 INFO    ] No camera update needed
[2026-08-29 20:10:56,054.054 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:10:56,055.055 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:10:56,058.058 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:10:56,060.060 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:10:58,100.100 INFO    ] ================================================
[2026-08-29 20:10:58,115.115 INFO    ] Launching Daemon at Sat Aug 29 20:10:58 IST 2026
[2026-08-29 20:10:58,126.126 INFO    ] ================================================
[2026-08-29 20:10:58,474.474 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:10:58
[2026-08-29 20:10:58,789.789 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:10:59,005.005 INFO    ] Initializing speech engine...
[2026-08-29 20:10:59,017.017 INFO    ] 2026-08-29 20:10:59
[2026-08-29 20:10:59,284.284 INFO    ] 2026-08-29 20:10:59
[2026-08-29 20:10:59,320.320 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:10:59,497.497 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:10:59,511.511 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:10:59,622.622 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:10:59,628.628 INFO    ] time= 29/08/2026 20:10:59
[2026-08-29 20:10:59,646.646 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:10:59,666.666 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:10:59,740.740 INFO    ] No existing commands found in stream
[2026-08-29 20:11:04,753.753 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:11:04,756.756 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-08-29 20:11:06,744.744 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:11:06,746.746 INFO    ] Checking for system updates...
[2026-08-29 20:11:06,766.766 INFO    ] 200
[2026-08-29 20:11:06,767.767 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:11:06,797.797 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:11:06,799.799 INFO    ] No update needed
[2026-08-29 20:11:06,800.800 INFO    ] Checking for camera pi updates...
[2026-08-29 20:11:06,819.819 INFO    ] 200
[2026-08-29 20:11:06,820.820 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:11:06,844.844 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:11:06,923.923 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:11:06,924.924 INFO    ] No camera update needed
[2026-08-29 20:11:06,925.925 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:11:06,926.926 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:11:06,929.929 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:11:06,932.932 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:11:08,970.970 INFO    ] ================================================
[2026-08-29 20:11:08,986.986 INFO    ] Launching Daemon at Sat Aug 29 20:11:08 IST 2026
[2026-08-29 20:11:09,996.996 INFO    ] ================================================
[2026-08-29 20:11:09,517.517 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:11:09
[2026-08-29 20:11:10,194.194 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:11:10,506.506 INFO    ] Initializing speech engine...
[2026-08-29 20:11:10,512.512 INFO    ] 2026-08-29 20:11:10
[2026-08-29 20:11:10,788.788 INFO    ] 2026-08-29 20:11:10
[2026-08-29 20:11:10,845.845 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:11:11,019.019 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:11:11,065.065 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:11:11,227.227 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:11:11,239.239 INFO    ] time= 29/08/2026 20:11:11
[2026-08-29 20:11:11,304.304 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:11:11,366.366 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:11:11,420.420 INFO    ] No existing commands found in stream
[2026-08-29 20:11:16,434.434 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:11:16,437.437 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 20:11:18,587.587 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:11:18,588.588 INFO    ] Checking for system updates...
[2026-08-29 20:11:18,609.609 INFO    ] 200
[2026-08-29 20:11:18,610.610 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:11:18,643.643 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:11:18,644.644 INFO    ] No update needed
[2026-08-29 20:11:18,646.646 INFO    ] Checking for camera pi updates...
[2026-08-29 20:11:18,665.665 INFO    ] 200
[2026-08-29 20:11:18,666.666 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:11:18,689.689 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:11:18,901.901 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:11:18,903.903 INFO    ] No camera update needed
[2026-08-29 20:11:18,904.904 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:11:18,905.905 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:11:18,908.908 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:11:18,911.911 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:11:20,950.950 INFO    ] ================================================
[2026-08-29 20:11:20,965.965 INFO    ] Launching Daemon at Sat Aug 29 20:11:20 IST 2026
[2026-08-29 20:11:20,976.976 INFO    ] ================================================
[2026-08-29 20:11:21,587.587 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:11:21
[2026-08-29 20:11:22,259.259 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:11:22,570.570 INFO    ] Initializing speech engine...
[2026-08-29 20:11:22,581.581 INFO    ] 2026-08-29 20:11:22
[2026-08-29 20:11:22,895.895 INFO    ] 2026-08-29 20:11:22
[2026-08-29 20:11:22,979.979 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:11:23,160.160 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:11:23,179.179 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:11:23,359.359 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:11:23,403.403 INFO    ] time= 29/08/2026 20:11:23
[2026-08-29 20:11:23,409.409 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:11:23,427.427 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:11:23,541.541 INFO    ] No existing commands found in stream
[2026-08-29 20:11:28,569.569 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:11:28,572.572 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-08-29 20:11:30,171.171 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:11:30,172.172 INFO    ] Checking for system updates...
[2026-08-29 20:11:30,194.194 INFO    ] 200
[2026-08-29 20:11:30,195.195 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:11:30,228.228 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:11:30,230.230 INFO    ] No update needed
[2026-08-29 20:11:30,231.231 INFO    ] Checking for camera pi updates...
[2026-08-29 20:11:30,251.251 INFO    ] 200
[2026-08-29 20:11:30,253.253 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:11:30,276.276 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:11:30,376.376 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:11:30,377.377 INFO    ] No camera update needed
[2026-08-29 20:11:30,379.379 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:11:30,380.380 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:11:30,383.383 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:11:30,386.386 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:11:32,419.419 INFO    ] ================================================
[2026-08-29 20:11:32,434.434 INFO    ] Launching Daemon at Sat Aug 29 20:11:32 IST 2026
[2026-08-29 20:11:32,445.445 INFO    ] ================================================
[2026-08-29 20:11:33,016.016 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:11:33
[2026-08-29 20:11:33,608.608 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:11:33,881.881 INFO    ] Initializing speech engine...
[2026-08-29 20:11:33,891.891 INFO    ] 2026-08-29 20:11:33
[2026-08-29 20:11:34,169.169 INFO    ] 2026-08-29 20:11:34
[2026-08-29 20:11:34,227.227 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:11:34,457.457 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:11:34,467.467 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:11:34,604.604 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:11:34,611.611 INFO    ] time= 29/08/2026 20:11:34
[2026-08-29 20:11:34,666.666 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:11:34,726.726 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:11:34,825.825 INFO    ] No existing commands found in stream
[2026-08-29 20:11:39,846.846 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:11:39,849.849 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-08-29 20:11:40,885.885 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:11:40,887.887 INFO    ] Checking for system updates...
[2026-08-29 20:11:40,907.907 INFO    ] 200
[2026-08-29 20:11:40,908.908 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:11:40,940.940 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:11:40,942.942 INFO    ] No update needed
[2026-08-29 20:11:40,943.943 INFO    ] Checking for camera pi updates...
[2026-08-29 20:11:40,964.964 INFO    ] 200
[2026-08-29 20:11:40,966.966 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:11:40,988.988 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:11:41,099.099 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:11:41,100.100 INFO    ] No camera update needed
[2026-08-29 20:11:41,101.101 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:11:41,103.103 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:11:41,106.106 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:11:41,108.108 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:11:43,146.146 INFO    ] ================================================
[2026-08-29 20:11:43,168.168 INFO    ] Launching Daemon at Sat Aug 29 20:11:43 IST 2026
[2026-08-29 20:11:43,179.179 INFO    ] ================================================
[2026-08-29 20:11:43,543.543 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:11:43
[2026-08-29 20:11:43,856.856 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:11:43,995.995 INFO    ] Initializing speech engine...
[2026-08-29 20:11:44,003.003 INFO    ] 2026-08-29 20:11:43
[2026-08-29 20:11:44,227.227 INFO    ] 2026-08-29 20:11:44
[2026-08-29 20:11:44,257.257 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:11:44,390.390 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:11:44,433.433 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:11:44,564.564 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:11:44,603.603 INFO    ] time= 29/08/2026 20:11:44
[2026-08-29 20:11:44,654.654 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:11:44,687.687 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:11:44,785.785 INFO    ] No existing commands found in stream
[2026-08-29 20:11:49,795.795 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:11:49,798.798 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-08-29 20:11:50,513.513 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:11:50,515.515 INFO    ] Checking for system updates...
[2026-08-29 20:11:50,535.535 INFO    ] 200
[2026-08-29 20:11:50,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:11:50,568.568 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:11:50,569.569 INFO    ] No update needed
[2026-08-29 20:11:50,571.571 INFO    ] Checking for camera pi updates...
[2026-08-29 20:11:50,592.592 INFO    ] 200
[2026-08-29 20:11:50,594.594 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:11:50,617.617 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:11:50,715.715 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:11:50,717.717 INFO    ] No camera update needed
[2026-08-29 20:11:50,720.720 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:11:50,722.722 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:11:50,727.727 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:11:50,732.732 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:11:52,772.772 INFO    ] ================================================
[2026-08-29 20:11:52,788.788 INFO    ] Launching Daemon at Sat Aug 29 20:11:52 IST 2026
[2026-08-29 20:11:52,799.799 INFO    ] ================================================
[2026-08-29 20:11:53,374.374 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:11:53
[2026-08-29 20:11:53,888.888 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:11:54,033.033 INFO    ] Initializing speech engine...
[2026-08-29 20:11:54,038.038 INFO    ] 2026-08-29 20:11:54
[2026-08-29 20:11:54,233.233 INFO    ] 2026-08-29 20:11:54
[2026-08-29 20:11:54,268.268 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:11:54,445.445 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:11:54,460.460 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:11:54,608.608 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:11:54,614.614 INFO    ] time= 29/08/2026 20:11:54
[2026-08-29 20:11:54,638.638 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:11:54,686.686 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:11:54,796.796 INFO    ] No existing commands found in stream
[2026-08-29 20:11:59,826.826 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:11:59,829.829 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-08-29 20:12:01,351.351 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:12:01,353.353 INFO    ] Checking for system updates...
[2026-08-29 20:12:01,373.373 INFO    ] 200
[2026-08-29 20:12:01,375.375 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:12:01,405.405 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:12:01,406.406 INFO    ] No update needed
[2026-08-29 20:12:01,408.408 INFO    ] Checking for camera pi updates...
[2026-08-29 20:12:01,427.427 INFO    ] 200
[2026-08-29 20:12:01,428.428 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:12:01,451.451 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:12:01,548.548 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:12:01,550.550 INFO    ] No camera update needed
[2026-08-29 20:12:01,551.551 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:12:01,552.552 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:12:01,555.555 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:12:01,558.558 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:12:03,604.604 INFO    ] ================================================
[2026-08-29 20:12:03,619.619 INFO    ] Launching Daemon at Sat Aug 29 20:12:03 IST 2026
[2026-08-29 20:12:03,630.630 INFO    ] ================================================
[2026-08-29 20:12:04,203.203 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:12:04
[2026-08-29 20:12:04,795.795 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:12:05,048.048 INFO    ] Initializing speech engine...
[2026-08-29 20:12:05,061.061 INFO    ] 2026-08-29 20:12:05
[2026-08-29 20:12:05,327.327 INFO    ] 2026-08-29 20:12:05
[2026-08-29 20:12:05,363.363 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:12:05,519.519 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:12:05,523.523 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:12:05,659.659 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:12:05,668.668 INFO    ] time= 29/08/2026 20:12:05
[2026-08-29 20:12:05,672.672 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:12:05,687.687 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:12:05,783.783 INFO    ] No existing commands found in stream
[2026-08-29 20:12:10,799.799 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:12:10,802.802 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-08-29 20:12:13,281.281 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:12:13,283.283 INFO    ] Checking for system updates...
[2026-08-29 20:12:13,306.306 INFO    ] 200
[2026-08-29 20:12:13,307.307 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:12:13,337.337 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:12:13,338.338 INFO    ] No update needed
[2026-08-29 20:12:13,340.340 INFO    ] Checking for camera pi updates...
[2026-08-29 20:12:13,359.359 INFO    ] 200
[2026-08-29 20:12:13,360.360 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:12:13,387.387 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:12:13,477.477 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:12:13,478.478 INFO    ] No camera update needed
[2026-08-29 20:12:13,479.479 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:12:13,480.480 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:12:13,484.484 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:12:13,486.486 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:12:15,525.525 INFO    ] ================================================
[2026-08-29 20:12:15,541.541 INFO    ] Launching Daemon at Sat Aug 29 20:12:15 IST 2026
[2026-08-29 20:12:15,552.552 INFO    ] ================================================
[2026-08-29 20:12:16,126.126 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:12:16
[2026-08-29 20:12:16,806.806 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:12:17,121.121 INFO    ] Initializing speech engine...
[2026-08-29 20:12:17,132.132 INFO    ] 2026-08-29 20:12:17
[2026-08-29 20:12:17,404.404 INFO    ] 2026-08-29 20:12:17
[2026-08-29 20:12:17,461.461 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:12:17,690.690 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:12:17,700.700 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:12:17,838.838 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:12:17,890.890 INFO    ] time= 29/08/2026 20:12:17
[2026-08-29 20:12:17,929.929 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:12:17,976.976 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:12:18,031.031 INFO    ] No existing commands found in stream
[2026-08-29 20:12:23,044.044 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:12:23,048.048 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-08-29 20:12:23,475.475 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:12:23,476.476 INFO    ] Checking for system updates...
[2026-08-29 20:12:23,497.497 INFO    ] 200
[2026-08-29 20:12:23,499.499 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:12:23,529.529 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:12:23,531.531 INFO    ] No update needed
[2026-08-29 20:12:23,533.533 INFO    ] Checking for camera pi updates...
[2026-08-29 20:12:23,553.553 INFO    ] 200
[2026-08-29 20:12:23,554.554 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:12:23,580.580 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:12:23,660.660 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:12:23,664.664 INFO    ] No camera update needed
[2026-08-29 20:12:23,667.667 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:12:23,670.670 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:12:23,677.677 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:12:23,683.683 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:12:25,725.725 INFO    ] ================================================
[2026-08-29 20:12:25,743.743 INFO    ] Launching Daemon at Sat Aug 29 20:12:25 IST 2026
[2026-08-29 20:12:25,755.755 INFO    ] ================================================
[2026-08-29 20:12:26,339.339 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:12:26
[2026-08-29 20:12:26,863.863 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:12:27,113.113 INFO    ] Initializing speech engine...
[2026-08-29 20:12:27,122.122 INFO    ] 2026-08-29 20:12:27
[2026-08-29 20:12:27,374.374 INFO    ] 2026-08-29 20:12:27
[2026-08-29 20:12:27,409.409 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:12:27,595.595 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:12:27,610.610 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:12:27,742.742 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:12:27,750.750 INFO    ] time= 29/08/2026 20:12:27
[2026-08-29 20:12:27,757.757 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:12:27,798.798 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:12:27,908.908 INFO    ] No existing commands found in stream
[2026-08-29 20:12:32,933.933 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:12:32,937.937 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-08-29 20:12:36,761.761 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:12:36,764.764 INFO    ] Checking for system updates...
[2026-08-29 20:12:36,804.804 INFO    ] 200
[2026-08-29 20:12:36,807.807 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:12:36,860.860 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:12:36,862.862 INFO    ] No update needed
[2026-08-29 20:12:36,864.864 INFO    ] Checking for camera pi updates...
[2026-08-29 20:12:36,908.908 INFO    ] 200
[2026-08-29 20:12:36,910.910 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:12:36,956.956 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:12:37,008.008 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:12:37,010.010 INFO    ] No camera update needed
[2026-08-29 20:12:37,012.012 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:12:37,015.015 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:12:37,020.020 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:12:37,025.025 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:12:39,065.065 INFO    ] ================================================
[2026-08-29 20:12:39,081.081 INFO    ] Launching Daemon at Sat Aug 29 20:12:39 IST 2026
[2026-08-29 20:12:39,092.092 INFO    ] ================================================
[2026-08-29 20:12:39,448.448 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:12:39
[2026-08-29 20:12:39,761.761 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:12:39,903.903 INFO    ] Initializing speech engine...
[2026-08-29 20:12:39,908.908 INFO    ] 2026-08-29 20:12:39
[2026-08-29 20:12:40,094.094 INFO    ] 2026-08-29 20:12:40
[2026-08-29 20:12:40,147.147 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:12:40,367.367 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:12:40,376.376 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:12:40,509.509 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:12:40,556.556 INFO    ] time= 29/08/2026 20:12:40
[2026-08-29 20:12:40,615.615 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:12:40,646.646 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:12:40,695.695 INFO    ] No existing commands found in stream
[2026-08-29 20:12:45,707.707 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:12:45,710.710 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-08-29 20:12:49,952.952 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:12:49,954.954 INFO    ] Checking for system updates...
[2026-08-29 20:12:49,974.974 INFO    ] 200
[2026-08-29 20:12:49,975.975 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:12:50,005.005 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:12:50,006.006 INFO    ] No update needed
[2026-08-29 20:12:50,007.007 INFO    ] Checking for camera pi updates...
[2026-08-29 20:12:50,028.028 INFO    ] 200
[2026-08-29 20:12:50,029.029 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:12:50,052.052 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:12:50,220.220 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:12:50,221.221 INFO    ] No camera update needed
[2026-08-29 20:12:50,222.222 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:12:50,224.224 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:12:50,226.226 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:12:50,229.229 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:12:52,270.270 INFO    ] ================================================
[2026-08-29 20:12:52,286.286 INFO    ] Launching Daemon at Sat Aug 29 20:12:52 IST 2026
[2026-08-29 20:12:52,298.298 INFO    ] ================================================
[2026-08-29 20:12:52,846.846 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:12:52
[2026-08-29 20:12:53,432.432 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:12:53,702.702 INFO    ] Initializing speech engine...
[2026-08-29 20:12:53,711.711 INFO    ] 2026-08-29 20:12:53
[2026-08-29 20:12:53,958.958 INFO    ] 2026-08-29 20:12:53
[2026-08-29 20:12:53,994.994 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:12:54,167.167 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:12:54,179.179 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:12:54,306.306 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:12:54,326.326 INFO    ] time= 29/08/2026 20:12:54
[2026-08-29 20:12:54,334.334 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:12:54,340.340 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:12:54,408.408 INFO    ] No existing commands found in stream
[2026-08-29 20:12:59,438.438 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:12:59,441.441 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-08-29 20:13:00,714.714 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:13:00,716.716 INFO    ] Checking for system updates...
[2026-08-29 20:13:00,736.736 INFO    ] 200
[2026-08-29 20:13:00,738.738 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:13:00,768.768 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:13:00,769.769 INFO    ] No update needed
[2026-08-29 20:13:00,770.770 INFO    ] Checking for camera pi updates...
[2026-08-29 20:13:00,791.791 INFO    ] 200
[2026-08-29 20:13:00,792.792 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:13:00,816.816 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:13:00,894.894 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:13:00,895.895 INFO    ] No camera update needed
[2026-08-29 20:13:00,897.897 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:13:00,898.898 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:13:00,901.901 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:13:00,904.904 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:13:02,961.961 INFO    ] ================================================
[2026-08-29 20:13:02,984.984 INFO    ] Launching Daemon at Sat Aug 29 20:13:02 IST 2026
[2026-08-29 20:13:03,004.004 INFO    ] ================================================
[2026-08-29 20:13:03,646.646 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:13:03
[2026-08-29 20:13:04,231.231 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:13:04,491.491 INFO    ] Initializing speech engine...
[2026-08-29 20:13:04,504.504 INFO    ] 2026-08-29 20:13:04
[2026-08-29 20:13:04,767.767 INFO    ] 2026-08-29 20:13:04
[2026-08-29 20:13:04,803.803 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:13:04,958.958 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:13:04,961.961 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:13:05,097.097 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:13:05,105.105 INFO    ] time= 29/08/2026 20:13:05
[2026-08-29 20:13:05,109.109 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:13:05,125.125 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:13:05,231.231 INFO    ] No existing commands found in stream
[2026-08-29 20:13:10,241.241 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:13:10,244.244 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-08-29 20:13:13,269.269 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:13:13,270.270 INFO    ] Checking for system updates...
[2026-08-29 20:13:13,292.292 INFO    ] 200
[2026-08-29 20:13:13,294.294 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:13:13,324.324 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:13:13,325.325 INFO    ] No update needed
[2026-08-29 20:13:13,326.326 INFO    ] Checking for camera pi updates...
[2026-08-29 20:13:13,345.345 INFO    ] 200
[2026-08-29 20:13:13,347.347 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:13:13,369.369 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:13:13,448.448 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:13:13,450.450 INFO    ] No camera update needed
[2026-08-29 20:13:13,451.451 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:13:13,452.452 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:13:13,455.455 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:13:13,458.458 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:13:15,497.497 INFO    ] ================================================
[2026-08-29 20:13:15,512.512 INFO    ] Launching Daemon at Sat Aug 29 20:13:15 IST 2026
[2026-08-29 20:13:15,522.522 INFO    ] ================================================
[2026-08-29 20:13:15,857.857 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:13:15
[2026-08-29 20:13:16,175.175 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:13:16,320.320 INFO    ] Initializing speech engine...
[2026-08-29 20:13:16,325.325 INFO    ] 2026-08-29 20:13:16
[2026-08-29 20:13:16,530.530 INFO    ] 2026-08-29 20:13:16
[2026-08-29 20:13:16,558.558 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:13:16,692.692 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:13:16,746.746 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:13:16,880.880 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:13:16,942.942 INFO    ] time= 29/08/2026 20:13:16
[2026-08-29 20:13:16,976.976 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:13:16,982.982 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:13:17,088.088 INFO    ] No existing commands found in stream
[2026-08-29 20:13:22,098.098 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:13:22,101.101 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-08-29 20:13:25,884.884 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:13:25,886.886 INFO    ] Checking for system updates...
[2026-08-29 20:13:25,906.906 INFO    ] 200
[2026-08-29 20:13:25,908.908 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:13:25,941.941 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:13:25,943.943 INFO    ] No update needed
[2026-08-29 20:13:25,944.944 INFO    ] Checking for camera pi updates...
[2026-08-29 20:13:25,963.963 INFO    ] 200
[2026-08-29 20:13:25,964.964 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:13:25,989.989 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:13:26,173.173 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:13:26,175.175 INFO    ] No camera update needed
[2026-08-29 20:13:26,176.176 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:13:26,177.177 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:13:26,180.180 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:13:26,183.183 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:13:28,222.222 INFO    ] ================================================
[2026-08-29 20:13:28,237.237 INFO    ] Launching Daemon at Sat Aug 29 20:13:28 IST 2026
[2026-08-29 20:13:28,248.248 INFO    ] ================================================
[2026-08-29 20:13:28,602.602 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:13:28
[2026-08-29 20:13:29,098.098 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:13:29,355.355 INFO    ] Initializing speech engine...
[2026-08-29 20:13:29,361.361 INFO    ] 2026-08-29 20:13:29
[2026-08-29 20:13:29,656.656 INFO    ] 2026-08-29 20:13:29
[2026-08-29 20:13:29,704.704 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:13:29,889.889 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:13:29,903.903 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:13:30,026.026 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:13:30,031.031 INFO    ] time= 29/08/2026 20:13:30
[2026-08-29 20:13:30,046.046 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:13:30,071.071 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:13:30,155.155 INFO    ] No existing commands found in stream
[2026-08-29 20:13:35,166.166 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:13:35,169.169 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 20:13:35,791.791 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:13:35,793.793 INFO    ] Checking for system updates...
[2026-08-29 20:13:35,813.813 INFO    ] 200
[2026-08-29 20:13:35,814.814 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:13:35,847.847 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:13:35,849.849 INFO    ] No update needed
[2026-08-29 20:13:35,850.850 INFO    ] Checking for camera pi updates...
[2026-08-29 20:13:35,870.870 INFO    ] 200
[2026-08-29 20:13:35,871.871 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:13:35,895.895 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:13:36,001.001 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:13:36,002.002 INFO    ] No camera update needed
[2026-08-29 20:13:36,003.003 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:13:36,004.004 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:13:36,007.007 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:13:36,010.010 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:13:38,051.051 INFO    ] ================================================
[2026-08-29 20:13:38,066.066 INFO    ] Launching Daemon at Sat Aug 29 20:13:38 IST 2026
[2026-08-29 20:13:38,078.078 INFO    ] ================================================
[2026-08-29 20:13:38,424.424 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:13:38
[2026-08-29 20:13:38,743.743 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:13:38,887.887 INFO    ] Initializing speech engine...
[2026-08-29 20:13:38,892.892 INFO    ] 2026-08-29 20:13:38
[2026-08-29 20:13:39,107.107 INFO    ] 2026-08-29 20:13:39
[2026-08-29 20:13:39,190.190 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:13:39,338.338 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:13:39,347.347 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:13:39,479.479 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:13:39,545.545 INFO    ] time= 29/08/2026 20:13:39
[2026-08-29 20:13:39,605.605 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:13:39,617.617 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:13:39,730.730 INFO    ] No existing commands found in stream
[2026-08-29 20:13:44,753.753 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:13:44,756.756 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-08-29 20:13:47,421.421 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:13:47,423.423 INFO    ] Checking for system updates...
[2026-08-29 20:13:47,444.444 INFO    ] 200
[2026-08-29 20:13:47,446.446 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:13:47,478.478 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:13:47,479.479 INFO    ] No update needed
[2026-08-29 20:13:47,480.480 INFO    ] Checking for camera pi updates...
[2026-08-29 20:13:47,500.500 INFO    ] 200
[2026-08-29 20:13:47,502.502 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:13:47,525.525 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:13:47,603.603 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:13:47,604.604 INFO    ] No camera update needed
[2026-08-29 20:13:47,606.606 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:13:47,607.607 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:13:47,610.610 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:13:47,613.613 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:13:49,652.652 INFO    ] ================================================
[2026-08-29 20:13:49,667.667 INFO    ] Launching Daemon at Sat Aug 29 20:13:49 IST 2026
[2026-08-29 20:13:49,678.678 INFO    ] ================================================
[2026-08-29 20:13:50,256.256 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:13:50
[2026-08-29 20:13:50,914.914 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:13:51,211.211 INFO    ] Initializing speech engine...
[2026-08-29 20:13:51,219.219 INFO    ] 2026-08-29 20:13:51
[2026-08-29 20:13:51,502.502 INFO    ] 2026-08-29 20:13:51
[2026-08-29 20:13:51,548.548 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:13:51,768.768 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:13:51,777.777 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:13:51,913.913 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:13:51,959.959 INFO    ] time= 29/08/2026 20:13:51
[2026-08-29 20:13:52,025.025 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:13:52,046.046 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:13:52,101.101 INFO    ] No existing commands found in stream
[2026-08-29 20:13:57,113.113 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:13:57,116.116 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-08-29 20:13:58,204.204 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:13:58,205.205 INFO    ] Checking for system updates...
[2026-08-29 20:13:58,226.226 INFO    ] 200
[2026-08-29 20:13:58,228.228 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:13:58,257.257 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:13:58,259.259 INFO    ] No update needed
[2026-08-29 20:13:58,260.260 INFO    ] Checking for camera pi updates...
[2026-08-29 20:13:58,281.281 INFO    ] 200
[2026-08-29 20:13:58,282.282 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:13:58,307.307 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:13:58,385.385 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:13:58,386.386 INFO    ] No camera update needed
[2026-08-29 20:13:58,387.387 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:13:58,389.389 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:13:58,392.392 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:13:58,395.395 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:14:00,434.434 INFO    ] ================================================
[2026-08-29 20:14:00,450.450 INFO    ] Launching Daemon at Sat Aug 29 20:14:00 IST 2026
[2026-08-29 20:14:00,460.460 INFO    ] ================================================
[2026-08-29 20:14:00,829.829 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:14:00
[2026-08-29 20:14:01,163.163 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:14:01,301.301 INFO    ] Initializing speech engine...
[2026-08-29 20:14:01,309.309 INFO    ] 2026-08-29 20:14:01
[2026-08-29 20:14:01,530.530 INFO    ] 2026-08-29 20:14:01
[2026-08-29 20:14:01,584.584 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:14:01,814.814 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:14:01,866.866 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:14:01,978.978 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:14:01,982.982 INFO    ] time= 29/08/2026 20:14:01
[2026-08-29 20:14:01,988.988 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:14:01,991.991 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:14:02,085.085 INFO    ] No existing commands found in stream
[2026-08-29 20:14:07,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:14:07,124.124 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 20:14:07,661.661 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:14:07,662.662 INFO    ] Checking for system updates...
[2026-08-29 20:14:07,684.684 INFO    ] 200
[2026-08-29 20:14:07,685.685 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:14:07,718.718 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:14:07,719.719 INFO    ] No update needed
[2026-08-29 20:14:07,721.721 INFO    ] Checking for camera pi updates...
[2026-08-29 20:14:07,742.742 INFO    ] 200
[2026-08-29 20:14:07,743.743 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:14:07,767.767 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:14:07,865.865 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:14:07,866.866 INFO    ] No camera update needed
[2026-08-29 20:14:07,868.868 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:14:07,869.869 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:14:07,872.872 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:14:07,875.875 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:14:09,916.916 INFO    ] ================================================
[2026-08-29 20:14:09,932.932 INFO    ] Launching Daemon at Sat Aug 29 20:14:09 IST 2026
[2026-08-29 20:14:09,944.944 INFO    ] ================================================
[2026-08-29 20:14:10,557.557 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:14:10
[2026-08-29 20:14:11,240.240 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:14:11,544.544 INFO    ] Initializing speech engine...
[2026-08-29 20:14:11,555.555 INFO    ] 2026-08-29 20:14:11
[2026-08-29 20:14:11,835.835 INFO    ] 2026-08-29 20:14:11
[2026-08-29 20:14:11,890.890 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:14:12,119.119 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:14:12,128.128 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:14:12,265.265 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:14:12,320.320 INFO    ] time= 29/08/2026 20:14:12
[2026-08-29 20:14:12,395.395 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:14:12,403.403 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:14:12,530.530 INFO    ] No existing commands found in stream
[2026-08-29 20:14:17,558.558 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:14:17,561.561 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 20:14:21,330.330 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:14:21,331.331 INFO    ] Checking for system updates...
[2026-08-29 20:14:21,352.352 INFO    ] 200
[2026-08-29 20:14:21,354.354 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:14:21,384.384 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:14:21,386.386 INFO    ] No update needed
[2026-08-29 20:14:21,387.387 INFO    ] Checking for camera pi updates...
[2026-08-29 20:14:21,407.407 INFO    ] 200
[2026-08-29 20:14:21,408.408 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:14:21,431.431 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:14:21,546.546 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:14:21,548.548 INFO    ] No camera update needed
[2026-08-29 20:14:21,549.549 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:14:21,551.551 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:14:21,554.554 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:14:21,557.557 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:14:23,596.596 INFO    ] ================================================
[2026-08-29 20:14:23,612.612 INFO    ] Launching Daemon at Sat Aug 29 20:14:23 IST 2026
[2026-08-29 20:14:23,623.623 INFO    ] ================================================
[2026-08-29 20:14:23,962.962 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:14:23
[2026-08-29 20:14:24,275.275 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:14:24,579.579 INFO    ] Initializing speech engine...
[2026-08-29 20:14:24,591.591 INFO    ] 2026-08-29 20:14:24
[2026-08-29 20:14:24,865.865 INFO    ] 2026-08-29 20:14:24
[2026-08-29 20:14:24,921.921 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:14:25,148.148 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:14:25,154.154 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:14:25,289.289 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:14:25,333.333 INFO    ] time= 29/08/2026 20:14:25
[2026-08-29 20:14:25,388.388 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:14:25,421.421 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:14:25,474.474 INFO    ] No existing commands found in stream
[2026-08-29 20:14:30,487.487 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:14:30,490.490 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-08-29 20:14:34,613.613 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:14:34,616.616 INFO    ] Checking for system updates...
[2026-08-29 20:14:34,653.653 INFO    ] 200
[2026-08-29 20:14:34,655.655 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:14:34,718.718 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:14:34,721.721 INFO    ] No update needed
[2026-08-29 20:14:34,724.724 INFO    ] Checking for camera pi updates...
[2026-08-29 20:14:34,760.760 INFO    ] 200
[2026-08-29 20:14:34,763.763 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:14:34,805.805 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:14:34,892.892 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:14:34,895.895 INFO    ] No camera update needed
[2026-08-29 20:14:34,897.897 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:14:34,900.900 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:14:34,906.906 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:14:34,912.912 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:14:36,955.955 INFO    ] ================================================
[2026-08-29 20:14:36,971.971 INFO    ] Launching Daemon at Sat Aug 29 20:14:36 IST 2026
[2026-08-29 20:14:36,982.982 INFO    ] ================================================
[2026-08-29 20:14:37,333.333 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:14:37
[2026-08-29 20:14:37,679.679 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:14:37,827.827 INFO    ] Initializing speech engine...
[2026-08-29 20:14:37,837.837 INFO    ] 2026-08-29 20:14:37
[2026-08-29 20:14:38,050.050 INFO    ] 2026-08-29 20:14:38
[2026-08-29 20:14:38,079.079 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:14:38,204.204 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:14:38,268.268 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:14:38,408.408 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:14:38,467.467 INFO    ] time= 29/08/2026 20:14:38
[2026-08-29 20:14:38,501.501 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:14:38,508.508 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:14:38,576.576 INFO    ] No existing commands found in stream
[2026-08-29 20:14:43,591.591 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:14:43,594.594 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-08-29 20:14:47,206.206 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:14:47,208.208 INFO    ] Checking for system updates...
[2026-08-29 20:14:47,228.228 INFO    ] 200
[2026-08-29 20:14:47,230.230 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:14:47,261.261 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:14:47,262.262 INFO    ] No update needed
[2026-08-29 20:14:47,264.264 INFO    ] Checking for camera pi updates...
[2026-08-29 20:14:47,284.284 INFO    ] 200
[2026-08-29 20:14:47,285.285 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:14:47,308.308 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:14:47,385.385 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:14:47,387.387 INFO    ] No camera update needed
[2026-08-29 20:14:47,388.388 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:14:47,389.389 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:14:47,393.393 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:14:47,396.396 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:14:49,435.435 INFO    ] ================================================
[2026-08-29 20:14:49,450.450 INFO    ] Launching Daemon at Sat Aug 29 20:14:49 IST 2026
[2026-08-29 20:14:49,461.461 INFO    ] ================================================
[2026-08-29 20:14:49,852.852 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:14:49
[2026-08-29 20:14:50,453.453 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:14:50,727.727 INFO    ] Initializing speech engine...
[2026-08-29 20:14:50,737.737 INFO    ] 2026-08-29 20:14:50
[2026-08-29 20:14:51,001.001 INFO    ] 2026-08-29 20:14:50
[2026-08-29 20:14:51,056.056 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:14:51,280.280 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:14:51,290.290 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:14:51,422.422 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:14:51,470.470 INFO    ] time= 29/08/2026 20:14:51
[2026-08-29 20:14:51,519.519 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:14:51,556.556 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:14:51,611.611 INFO    ] No existing commands found in stream
[2026-08-29 20:14:56,624.624 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:14:56,626.626 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-08-29 20:14:57,006.006 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:14:57,008.008 INFO    ] Checking for system updates...
[2026-08-29 20:14:57,028.028 INFO    ] 200
[2026-08-29 20:14:57,030.030 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:14:57,060.060 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:14:57,061.061 INFO    ] No update needed
[2026-08-29 20:14:57,063.063 INFO    ] Checking for camera pi updates...
[2026-08-29 20:14:57,082.082 INFO    ] 200
[2026-08-29 20:14:57,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:14:57,106.106 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:14:57,199.199 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:14:57,201.201 INFO    ] No camera update needed
[2026-08-29 20:14:57,202.202 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:14:57,203.203 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:14:57,206.206 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:14:57,209.209 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:14:59,249.249 INFO    ] ================================================
[2026-08-29 20:14:59,265.265 INFO    ] Launching Daemon at Sat Aug 29 20:14:59 IST 2026
[2026-08-29 20:14:59,275.275 INFO    ] ================================================
[2026-08-29 20:14:59,615.615 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:14:59
[2026-08-29 20:14:59,933.933 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:15:00,066.066 INFO    ] Initializing speech engine...
[2026-08-29 20:15:00,069.069 INFO    ] 2026-08-29 20:15:00
[2026-08-29 20:15:00,263.263 INFO    ] 2026-08-29 20:15:00
[2026-08-29 20:15:00,308.308 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:15:00,435.435 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:15:00,470.470 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:15:00,610.610 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:15:00,617.617 INFO    ] time= 29/08/2026 20:15:00
[2026-08-29 20:15:00,635.635 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:15:00,655.655 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:15:00,762.762 INFO    ] No existing commands found in stream
[2026-08-29 20:15:05,787.787 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:15:05,790.790 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-08-29 20:15:07,957.957 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:15:07,959.959 INFO    ] Checking for system updates...
[2026-08-29 20:15:07,979.979 INFO    ] 200
[2026-08-29 20:15:07,980.980 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:15:08,013.013 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:15:08,014.014 INFO    ] No update needed
[2026-08-29 20:15:08,016.016 INFO    ] Checking for camera pi updates...
[2026-08-29 20:15:08,035.035 INFO    ] 200
[2026-08-29 20:15:08,036.036 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:15:08,059.059 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:15:08,143.143 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:15:08,144.144 INFO    ] No camera update needed
[2026-08-29 20:15:08,146.146 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:15:08,147.147 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:15:08,150.150 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:15:08,152.152 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:15:10,191.191 INFO    ] ================================================
[2026-08-29 20:15:10,206.206 INFO    ] Launching Daemon at Sat Aug 29 20:15:10 IST 2026
[2026-08-29 20:15:10,217.217 INFO    ] ================================================
[2026-08-29 20:15:10,549.549 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:15:10
[2026-08-29 20:15:11,124.124 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:15:11,401.401 INFO    ] Initializing speech engine...
[2026-08-29 20:15:11,410.410 INFO    ] 2026-08-29 20:15:11
[2026-08-29 20:15:11,661.661 INFO    ] 2026-08-29 20:15:11
[2026-08-29 20:15:11,727.727 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:15:11,881.881 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:15:11,887.887 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:15:11,992.992 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:15:12,003.003 INFO    ] time= 29/08/2026 20:15:11
[2026-08-29 20:15:12,008.008 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:15:12,023.023 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:15:12,084.084 INFO    ] No existing commands found in stream
[2026-08-29 20:15:17,096.096 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:15:17,099.099 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-08-29 20:15:20,049.049 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:15:20,051.051 INFO    ] Checking for system updates...
[2026-08-29 20:15:20,071.071 INFO    ] 200
[2026-08-29 20:15:20,073.073 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:15:20,103.103 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:15:20,104.104 INFO    ] No update needed
[2026-08-29 20:15:20,105.105 INFO    ] Checking for camera pi updates...
[2026-08-29 20:15:20,125.125 INFO    ] 200
[2026-08-29 20:15:20,126.126 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:15:20,149.149 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:15:20,247.247 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:15:20,250.250 INFO    ] No camera update needed
[2026-08-29 20:15:20,252.252 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:15:20,254.254 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:15:20,260.260 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:15:20,265.265 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:15:22,306.306 INFO    ] ================================================
[2026-08-29 20:15:22,321.321 INFO    ] Launching Daemon at Sat Aug 29 20:15:22 IST 2026
[2026-08-29 20:15:22,333.333 INFO    ] ================================================
[2026-08-29 20:15:22,908.908 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:15:22
[2026-08-29 20:15:23,400.400 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:15:23,537.537 INFO    ] Initializing speech engine...
[2026-08-29 20:15:23,550.550 INFO    ] 2026-08-29 20:15:23
[2026-08-29 20:15:23,771.771 INFO    ] 2026-08-29 20:15:23
[2026-08-29 20:15:23,803.803 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:15:23,937.937 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:15:23,949.949 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:15:24,096.096 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:15:24,148.148 INFO    ] time= 29/08/2026 20:15:24
[2026-08-29 20:15:24,185.185 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:15:24,238.238 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:15:24,339.339 INFO    ] No existing commands found in stream
[2026-08-29 20:15:29,350.350 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:15:29,353.353 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-08-29 20:15:32,055.055 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:15:32,057.057 INFO    ] Checking for system updates...
[2026-08-29 20:15:32,085.085 INFO    ] 200
[2026-08-29 20:15:32,087.087 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:15:32,121.121 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:15:32,123.123 INFO    ] No update needed
[2026-08-29 20:15:32,124.124 INFO    ] Checking for camera pi updates...
[2026-08-29 20:15:32,149.149 INFO    ] 200
[2026-08-29 20:15:32,150.150 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:15:32,192.192 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:15:32,412.412 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:15:32,415.415 INFO    ] No camera update needed
[2026-08-29 20:15:32,418.418 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:15:32,420.420 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:15:32,426.426 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:15:32,432.432 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:15:34,474.474 INFO    ] ================================================
[2026-08-29 20:15:34,496.496 INFO    ] Launching Daemon at Sat Aug 29 20:15:34 IST 2026
[2026-08-29 20:15:34,507.507 INFO    ] ================================================
[2026-08-29 20:15:35,089.089 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:15:35
[2026-08-29 20:15:35,498.498 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:15:35,638.638 INFO    ] Initializing speech engine...
[2026-08-29 20:15:35,648.648 INFO    ] 2026-08-29 20:15:35
[2026-08-29 20:15:35,841.841 INFO    ] 2026-08-29 20:15:35
[2026-08-29 20:15:35,920.920 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:15:36,072.072 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:15:36,077.077 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:15:36,209.209 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:15:36,246.246 INFO    ] time= 29/08/2026 20:15:36
[2026-08-29 20:15:36,311.311 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:15:36,343.343 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:15:36,412.412 INFO    ] No existing commands found in stream
[2026-08-29 20:15:41,449.449 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:15:41,451.451 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-08-29 20:15:45,159.159 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:15:45,161.161 INFO    ] Checking for system updates...
[2026-08-29 20:15:45,181.181 INFO    ] 200
[2026-08-29 20:15:45,183.183 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:15:45,212.212 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:15:45,214.214 INFO    ] No update needed
[2026-08-29 20:15:45,215.215 INFO    ] Checking for camera pi updates...
[2026-08-29 20:15:45,235.235 INFO    ] 200
[2026-08-29 20:15:45,237.237 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:15:45,259.259 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:15:45,365.365 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:15:45,367.367 INFO    ] No camera update needed
[2026-08-29 20:15:45,370.370 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:15:45,372.372 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:15:45,378.378 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:15:45,382.382 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:15:47,424.424 INFO    ] ================================================
[2026-08-29 20:15:47,439.439 INFO    ] Launching Daemon at Sat Aug 29 20:15:47 IST 2026
[2026-08-29 20:15:47,450.450 INFO    ] ================================================
[2026-08-29 20:15:48,018.018 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:15:48
[2026-08-29 20:15:48,509.509 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:15:48,644.644 INFO    ] Initializing speech engine...
[2026-08-29 20:15:48,656.656 INFO    ] 2026-08-29 20:15:48
[2026-08-29 20:15:48,864.864 INFO    ] 2026-08-29 20:15:48
[2026-08-29 20:15:48,893.893 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:15:49,017.017 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:15:49,054.054 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:15:49,212.212 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:15:49,274.274 INFO    ] time= 29/08/2026 20:15:49
[2026-08-29 20:15:49,304.304 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:15:49,325.325 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:15:49,439.439 INFO    ] No existing commands found in stream
[2026-08-29 20:15:54,464.464 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:15:54,466.466 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-08-29 20:15:55,967.967 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:15:55,969.969 INFO    ] Checking for system updates...
[2026-08-29 20:15:55,990.990 INFO    ] 200
[2026-08-29 20:15:55,991.991 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:15:56,021.021 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:15:56,022.022 INFO    ] No update needed
[2026-08-29 20:15:56,024.024 INFO    ] Checking for camera pi updates...
[2026-08-29 20:15:56,043.043 INFO    ] 200
[2026-08-29 20:15:56,044.044 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:15:56,072.072 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:15:56,171.171 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:15:56,173.173 INFO    ] No camera update needed
[2026-08-29 20:15:56,176.176 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:15:56,178.178 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:15:56,184.184 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:15:56,189.189 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:15:58,228.228 INFO    ] ================================================
[2026-08-29 20:15:58,244.244 INFO    ] Launching Daemon at Sat Aug 29 20:15:58 IST 2026
[2026-08-29 20:15:58,255.255 INFO    ] ================================================
[2026-08-29 20:15:58,928.928 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:15:58
[2026-08-29 20:15:59,368.368 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:15:59,619.619 INFO    ] Initializing speech engine...
[2026-08-29 20:15:59,628.628 INFO    ] 2026-08-29 20:15:59
[2026-08-29 20:15:59,874.874 INFO    ] 2026-08-29 20:15:59
[2026-08-29 20:15:59,910.910 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:16:00,087.087 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:16:00,102.102 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:16:00,212.212 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:16:00,218.218 INFO    ] time= 29/08/2026 20:16:00
[2026-08-29 20:16:00,224.224 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:16:00,258.258 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:16:00,337.337 INFO    ] No existing commands found in stream
[2026-08-29 20:16:05,362.362 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:16:05,365.365 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-08-29 20:16:09,696.696 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:16:09,697.697 INFO    ] Checking for system updates...
[2026-08-29 20:16:09,718.718 INFO    ] 200
[2026-08-29 20:16:09,719.719 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:16:09,750.750 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:16:09,751.751 INFO    ] No update needed
[2026-08-29 20:16:09,753.753 INFO    ] Checking for camera pi updates...
[2026-08-29 20:16:09,774.774 INFO    ] 200
[2026-08-29 20:16:09,775.775 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:16:09,805.805 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:16:09,881.881 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:16:09,883.883 INFO    ] No camera update needed
[2026-08-29 20:16:09,884.884 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:16:09,885.885 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:16:09,889.889 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:16:09,892.892 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:16:11,934.934 INFO    ] ================================================
[2026-08-29 20:16:11,949.949 INFO    ] Launching Daemon at Sat Aug 29 20:16:11 IST 2026
[2026-08-29 20:16:11,960.960 INFO    ] ================================================
[2026-08-29 20:16:12,350.350 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:16:12
[2026-08-29 20:16:12,693.693 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:16:12,848.848 INFO    ] Initializing speech engine...
[2026-08-29 20:16:12,854.854 INFO    ] 2026-08-29 20:16:12
[2026-08-29 20:16:13,065.065 INFO    ] 2026-08-29 20:16:13
[2026-08-29 20:16:13,094.094 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:16:13,229.229 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:16:13,283.283 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:16:13,421.421 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:16:13,489.489 INFO    ] time= 29/08/2026 20:16:13
[2026-08-29 20:16:13,518.518 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:16:13,525.525 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:16:13,594.594 INFO    ] No existing commands found in stream
[2026-08-29 20:16:18,604.604 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:16:18,608.608 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-08-29 20:16:22,560.560 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:16:22,562.562 INFO    ] Checking for system updates...
[2026-08-29 20:16:22,582.582 INFO    ] 200
[2026-08-29 20:16:22,584.584 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:16:22,613.613 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:16:22,615.615 INFO    ] No update needed
[2026-08-29 20:16:22,616.616 INFO    ] Checking for camera pi updates...
[2026-08-29 20:16:22,635.635 INFO    ] 200
[2026-08-29 20:16:22,636.636 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:16:22,659.659 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:16:22,772.772 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:16:22,774.774 INFO    ] No camera update needed
[2026-08-29 20:16:22,777.777 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:16:22,779.779 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:16:22,784.784 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:16:22,789.789 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:16:24,829.829 INFO    ] ================================================
[2026-08-29 20:16:24,845.845 INFO    ] Launching Daemon at Sat Aug 29 20:16:24 IST 2026
[2026-08-29 20:16:24,856.856 INFO    ] ================================================
[2026-08-29 20:16:25,515.515 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:16:25
[2026-08-29 20:16:25,923.923 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:16:26,066.066 INFO    ] Initializing speech engine...
[2026-08-29 20:16:26,072.072 INFO    ] 2026-08-29 20:16:26
[2026-08-29 20:16:26,321.321 INFO    ] 2026-08-29 20:16:26
[2026-08-29 20:16:26,380.380 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:16:26,541.541 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:16:26,549.549 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:16:26,702.702 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:16:26,751.751 INFO    ] time= 29/08/2026 20:16:26
[2026-08-29 20:16:26,758.758 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:16:26,776.776 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:16:26,878.878 INFO    ] No existing commands found in stream
[2026-08-29 20:16:31,903.903 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:16:31,906.906 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-08-29 20:16:35,892.892 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:16:35,893.893 INFO    ] Checking for system updates...
[2026-08-29 20:16:35,916.916 INFO    ] 200
[2026-08-29 20:16:35,917.917 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:16:35,948.948 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:16:35,949.949 INFO    ] No update needed
[2026-08-29 20:16:35,950.950 INFO    ] Checking for camera pi updates...
[2026-08-29 20:16:35,970.970 INFO    ] 200
[2026-08-29 20:16:35,971.971 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:16:35,996.996 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:16:36,085.085 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:16:36,087.087 INFO    ] No camera update needed
[2026-08-29 20:16:36,088.088 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:16:36,089.089 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:16:36,093.093 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:16:36,096.096 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:16:38,137.137 INFO    ] ================================================
[2026-08-29 20:16:38,152.152 INFO    ] Launching Daemon at Sat Aug 29 20:16:38 IST 2026
[2026-08-29 20:16:38,163.163 INFO    ] ================================================
[2026-08-29 20:16:38,580.580 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:16:38
[2026-08-29 20:16:39,173.173 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:16:39,445.445 INFO    ] Initializing speech engine...
[2026-08-29 20:16:39,454.454 INFO    ] 2026-08-29 20:16:39
[2026-08-29 20:16:39,703.703 INFO    ] 2026-08-29 20:16:39
[2026-08-29 20:16:39,738.738 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:16:39,911.911 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:16:39,924.924 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:16:40,033.033 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:16:40,039.039 INFO    ] time= 29/08/2026 20:16:40
[2026-08-29 20:16:40,071.071 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:16:40,079.079 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:16:40,148.148 INFO    ] No existing commands found in stream
[2026-08-29 20:16:45,161.161 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:16:45,164.164 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-08-29 20:16:46,861.861 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:16:46,862.862 INFO    ] Checking for system updates...
[2026-08-29 20:16:46,882.882 INFO    ] 200
[2026-08-29 20:16:46,884.884 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:16:46,914.914 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:16:46,915.915 INFO    ] No update needed
[2026-08-29 20:16:46,917.917 INFO    ] Checking for camera pi updates...
[2026-08-29 20:16:46,937.937 INFO    ] 200
[2026-08-29 20:16:46,938.938 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:16:46,961.961 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:16:47,072.072 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:16:47,073.073 INFO    ] No camera update needed
[2026-08-29 20:16:47,075.075 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:16:47,077.077 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:16:47,080.080 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:16:47,083.083 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:16:49,123.123 INFO    ] ================================================
[2026-08-29 20:16:49,139.139 INFO    ] Launching Daemon at Sat Aug 29 20:16:49 IST 2026
[2026-08-29 20:16:49,149.149 INFO    ] ================================================
[2026-08-29 20:16:49,515.515 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:16:49
[2026-08-29 20:16:49,827.827 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:16:49,970.970 INFO    ] Initializing speech engine...
[2026-08-29 20:16:49,976.976 INFO    ] 2026-08-29 20:16:49
[2026-08-29 20:16:50,228.228 INFO    ] 2026-08-29 20:16:50
[2026-08-29 20:16:50,286.286 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:16:50,446.446 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:16:50,454.454 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:16:50,623.623 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:16:50,655.655 INFO    ] time= 29/08/2026 20:16:50
[2026-08-29 20:16:50,670.670 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:16:50,679.679 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:16:50,788.788 INFO    ] No existing commands found in stream
[2026-08-29 20:16:55,815.815 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:16:55,818.818 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-08-29 20:16:59,384.384 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:16:59,386.386 INFO    ] Checking for system updates...
[2026-08-29 20:16:59,406.406 INFO    ] 200
[2026-08-29 20:16:59,408.408 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:16:59,437.437 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:16:59,439.439 INFO    ] No update needed
[2026-08-29 20:16:59,440.440 INFO    ] Checking for camera pi updates...
[2026-08-29 20:16:59,460.460 INFO    ] 200
[2026-08-29 20:16:59,461.461 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:16:59,486.486 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:16:59,584.584 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:16:59,585.585 INFO    ] No camera update needed
[2026-08-29 20:16:59,586.586 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:16:59,587.587 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:16:59,590.590 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:16:59,593.593 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:17:01,636.636 INFO    ] ================================================
[2026-08-29 20:17:01,657.657 INFO    ] Launching Daemon at Sat Aug 29 20:17:01 IST 2026
[2026-08-29 20:17:01,668.668 INFO    ] ================================================
[2026-08-29 20:17:02,317.317 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:17:02
[2026-08-29 20:17:03,023.023 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:17:03,315.315 INFO    ] Initializing speech engine...
[2026-08-29 20:17:03,322.322 INFO    ] 2026-08-29 20:17:03
[2026-08-29 20:17:03,590.590 INFO    ] 2026-08-29 20:17:03
[2026-08-29 20:17:03,626.626 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:17:03,778.778 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:17:03,786.786 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:17:03,943.943 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:17:03,953.953 INFO    ] time= 29/08/2026 20:17:03
[2026-08-29 20:17:03,960.960 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:17:03,982.982 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:17:04,092.092 INFO    ] No existing commands found in stream
[2026-08-29 20:17:09,105.105 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:17:09,108.108 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-08-29 20:17:12,390.390 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:17:12,391.391 INFO    ] Checking for system updates...
[2026-08-29 20:17:12,412.412 INFO    ] 200
[2026-08-29 20:17:12,414.414 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:17:12,444.444 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:17:12,446.446 INFO    ] No update needed
[2026-08-29 20:17:12,447.447 INFO    ] Checking for camera pi updates...
[2026-08-29 20:17:12,467.467 INFO    ] 200
[2026-08-29 20:17:12,468.468 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:17:12,492.492 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:17:12,579.579 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:17:12,581.581 INFO    ] No camera update needed
[2026-08-29 20:17:12,582.582 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:17:12,584.584 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:17:12,587.587 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:17:12,590.590 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:17:14,631.631 INFO    ] ================================================
[2026-08-29 20:17:14,647.647 INFO    ] Launching Daemon at Sat Aug 29 20:17:14 IST 2026
[2026-08-29 20:17:14,657.657 INFO    ] ================================================
[2026-08-29 20:17:15,138.138 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:17:15
[2026-08-29 20:17:15,744.744 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:17:16,012.012 INFO    ] Initializing speech engine...
[2026-08-29 20:17:16,027.027 INFO    ] 2026-08-29 20:17:16
[2026-08-29 20:17:16,320.320 INFO    ] 2026-08-29 20:17:16
[2026-08-29 20:17:16,357.357 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:17:16,508.508 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:17:16,517.517 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:17:16,675.675 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:17:16,685.685 INFO    ] time= 29/08/2026 20:17:16
[2026-08-29 20:17:16,692.692 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:17:16,716.716 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:17:16,764.764 INFO    ] No existing commands found in stream
[2026-08-29 20:17:21,778.778 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:17:21,780.780 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-08-29 20:17:24,588.588 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:17:24,591.591 INFO    ] Checking for system updates...
[2026-08-29 20:17:24,627.627 INFO    ] 200
[2026-08-29 20:17:24,630.630 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:17:24,684.684 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:17:24,686.686 INFO    ] No update needed
[2026-08-29 20:17:24,689.689 INFO    ] Checking for camera pi updates...
[2026-08-29 20:17:24,724.724 INFO    ] 200
[2026-08-29 20:17:24,727.727 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:17:24,772.772 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:17:24,876.876 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:17:24,879.879 INFO    ] No camera update needed
[2026-08-29 20:17:24,882.882 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:17:24,884.884 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:17:24,891.891 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:17:24,897.897 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:17:26,939.939 INFO    ] ================================================
[2026-08-29 20:17:26,956.956 INFO    ] Launching Daemon at Sat Aug 29 20:17:26 IST 2026
[2026-08-29 20:17:26,966.966 INFO    ] ================================================
[2026-08-29 20:17:27,558.558 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:17:27
[2026-08-29 20:17:27,886.886 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:17:28,136.136 INFO    ] Initializing speech engine...
[2026-08-29 20:17:28,143.143 INFO    ] 2026-08-29 20:17:28
[2026-08-29 20:17:28,417.417 INFO    ] 2026-08-29 20:17:28
[2026-08-29 20:17:28,454.454 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:17:28,629.629 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:17:28,645.645 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:17:28,754.754 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:17:28,760.760 INFO    ] time= 29/08/2026 20:17:28
[2026-08-29 20:17:28,779.779 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:17:28,801.801 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:17:28,875.875 INFO    ] No existing commands found in stream
[2026-08-29 20:17:33,890.890 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:17:33,893.893 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-08-29 20:17:36,545.545 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:17:36,546.546 INFO    ] Checking for system updates...
[2026-08-29 20:17:36,569.569 INFO    ] 200
[2026-08-29 20:17:36,570.570 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:17:36,600.600 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:17:36,601.601 INFO    ] No update needed
[2026-08-29 20:17:36,603.603 INFO    ] Checking for camera pi updates...
[2026-08-29 20:17:36,622.622 INFO    ] 200
[2026-08-29 20:17:36,624.624 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:17:36,661.661 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:17:36,848.848 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:17:36,850.850 INFO    ] No camera update needed
[2026-08-29 20:17:36,853.853 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:17:36,855.855 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:17:36,860.860 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:17:36,865.865 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:17:38,906.906 INFO    ] ================================================
[2026-08-29 20:17:38,922.922 INFO    ] Launching Daemon at Sat Aug 29 20:17:38 IST 2026
[2026-08-29 20:17:38,933.933 INFO    ] ================================================
[2026-08-29 20:17:39,515.515 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:17:39
[2026-08-29 20:17:39,948.948 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:17:40,087.087 INFO    ] Initializing speech engine...
[2026-08-29 20:17:40,101.101 INFO    ] 2026-08-29 20:17:40
[2026-08-29 20:17:40,322.322 INFO    ] 2026-08-29 20:17:40
[2026-08-29 20:17:40,353.353 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:17:40,487.487 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:17:40,501.501 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:17:40,646.646 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:17:40,710.710 INFO    ] time= 29/08/2026 20:17:40
[2026-08-29 20:17:40,756.756 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:17:40,771.771 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:17:40,891.891 INFO    ] No existing commands found in stream
[2026-08-29 20:17:45,921.921 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:17:45,924.924 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-08-29 20:17:47,410.410 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:17:47,411.411 INFO    ] Checking for system updates...
[2026-08-29 20:17:47,432.432 INFO    ] 200
[2026-08-29 20:17:47,433.433 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:17:47,463.463 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:17:47,464.464 INFO    ] No update needed
[2026-08-29 20:17:47,465.465 INFO    ] Checking for camera pi updates...
[2026-08-29 20:17:47,484.484 INFO    ] 200
[2026-08-29 20:17:47,486.486 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:17:47,509.509 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:17:47,597.597 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:17:47,600.600 INFO    ] No camera update needed
[2026-08-29 20:17:47,602.602 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:17:47,605.605 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:17:47,610.610 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:17:47,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:17:49,657.657 INFO    ] ================================================
[2026-08-29 20:17:49,672.672 INFO    ] Launching Daemon at Sat Aug 29 20:17:49 IST 2026
[2026-08-29 20:17:49,683.683 INFO    ] ================================================
[2026-08-29 20:17:50,273.273 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:17:50
[2026-08-29 20:17:50,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:17:50,909.909 INFO    ] Initializing speech engine...
[2026-08-29 20:17:50,914.914 INFO    ] 2026-08-29 20:17:50
[2026-08-29 20:17:51,182.182 INFO    ] 2026-08-29 20:17:51
[2026-08-29 20:17:51,227.227 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:17:51,456.456 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:17:51,465.465 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:17:51,603.603 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:17:51,645.645 INFO    ] time= 29/08/2026 20:17:51
[2026-08-29 20:17:51,699.699 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:17:51,741.741 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:17:51,794.794 INFO    ] No existing commands found in stream
[2026-08-29 20:17:56,806.806 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:17:56,808.808 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-08-29 20:17:57,605.605 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:17:57,606.606 INFO    ] Checking for system updates...
[2026-08-29 20:17:57,626.626 INFO    ] 200
[2026-08-29 20:17:57,628.628 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:17:57,658.658 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:17:57,659.659 INFO    ] No update needed
[2026-08-29 20:17:57,660.660 INFO    ] Checking for camera pi updates...
[2026-08-29 20:17:57,679.679 INFO    ] 200
[2026-08-29 20:17:57,681.681 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:17:57,706.706 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:17:57,799.799 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:17:57,800.800 INFO    ] No camera update needed
[2026-08-29 20:17:57,801.801 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:17:57,803.803 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:17:57,805.805 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:17:57,808.808 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:17:59,851.851 INFO    ] ================================================
[2026-08-29 20:17:59,866.866 INFO    ] Launching Daemon at Sat Aug 29 20:17:59 IST 2026
[2026-08-29 20:17:59,877.877 INFO    ] ================================================
[2026-08-29 20:18:00,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:18:00
[2026-08-29 20:18:01,036.036 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:18:01,683.683 INFO    ] Initializing speech engine...
[2026-08-29 20:18:01,705.705 INFO    ] 2026-08-29 20:18:01
[2026-08-29 20:18:02,041.041 INFO    ] 2026-08-29 20:18:02
[2026-08-29 20:18:02,079.079 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:18:02,299.299 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:18:02,321.321 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:18:02,496.496 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:18:02,507.507 INFO    ] time= 29/08/2026 20:18:02
[2026-08-29 20:18:02,534.534 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:18:02,580.580 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:18:02,691.691 INFO    ] No existing commands found in stream
[2026-08-29 20:18:07,728.728 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:18:07,731.731 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-08-29 20:18:11,253.253 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:18:11,255.255 INFO    ] Checking for system updates...
[2026-08-29 20:18:11,276.276 INFO    ] 200
[2026-08-29 20:18:11,278.278 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:18:11,308.308 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:18:11,310.310 INFO    ] No update needed
[2026-08-29 20:18:11,311.311 INFO    ] Checking for camera pi updates...
[2026-08-29 20:18:11,331.331 INFO    ] 200
[2026-08-29 20:18:11,332.332 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:18:11,356.356 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:18:11,442.442 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:18:11,443.443 INFO    ] No camera update needed
[2026-08-29 20:18:11,445.445 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:18:11,446.446 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:18:11,449.449 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:18:11,452.452 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:18:13,491.491 INFO    ] ================================================
[2026-08-29 20:18:13,506.506 INFO    ] Launching Daemon at Sat Aug 29 20:18:13 IST 2026
[2026-08-29 20:18:13,517.517 INFO    ] ================================================
[2026-08-29 20:18:13,887.887 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:18:13
[2026-08-29 20:18:14,199.199 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:18:14,330.330 INFO    ] Initializing speech engine...
[2026-08-29 20:18:14,343.343 INFO    ] 2026-08-29 20:18:14
[2026-08-29 20:18:14,556.556 INFO    ] 2026-08-29 20:18:14
[2026-08-29 20:18:14,640.640 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:18:14,786.786 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:18:14,796.796 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:18:14,927.927 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:18:14,948.948 INFO    ] time= 29/08/2026 20:18:14
[2026-08-29 20:18:15,013.013 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:18:15,060.060 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:18:15,115.115 INFO    ] No existing commands found in stream
[2026-08-29 20:18:20,127.127 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:18:20,130.130 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-08-29 20:18:24,104.104 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:18:24,105.105 INFO    ] Checking for system updates...
[2026-08-29 20:18:24,126.126 INFO    ] 200
[2026-08-29 20:18:24,127.127 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:18:24,157.157 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:18:24,158.158 INFO    ] No update needed
[2026-08-29 20:18:24,160.160 INFO    ] Checking for camera pi updates...
[2026-08-29 20:18:24,179.179 INFO    ] 200
[2026-08-29 20:18:24,180.180 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:18:24,205.205 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:18:24,307.307 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:18:24,309.309 INFO    ] No camera update needed
[2026-08-29 20:18:24,312.312 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:18:24,314.314 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:18:24,319.319 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:18:24,324.324 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:18:26,366.366 INFO    ] ================================================
[2026-08-29 20:18:26,382.382 INFO    ] Launching Daemon at Sat Aug 29 20:18:26 IST 2026
[2026-08-29 20:18:26,393.393 INFO    ] ================================================
[2026-08-29 20:18:27,049.049 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:18:27
[2026-08-29 20:18:27,530.530 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:18:27,698.698 INFO    ] Initializing speech engine...
[2026-08-29 20:18:27,709.709 INFO    ] 2026-08-29 20:18:27
[2026-08-29 20:18:27,977.977 INFO    ] 2026-08-29 20:18:27
[2026-08-29 20:18:28,045.045 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:18:28,274.274 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:18:28,283.283 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:18:28,420.420 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:18:28,485.485 INFO    ] time= 29/08/2026 20:18:28
[2026-08-29 20:18:28,548.548 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:18:28,556.556 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:18:28,662.662 INFO    ] No existing commands found in stream
[2026-08-29 20:18:33,689.689 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:18:33,693.693 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-08-29 20:18:34,176.176 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:18:34,179.179 INFO    ] Checking for system updates...
[2026-08-29 20:18:34,222.222 INFO    ] 200
[2026-08-29 20:18:34,225.225 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:18:34,290.290 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:18:34,293.293 INFO    ] No update needed
[2026-08-29 20:18:34,296.296 INFO    ] Checking for camera pi updates...
[2026-08-29 20:18:34,331.331 INFO    ] 200
[2026-08-29 20:18:34,333.333 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:18:34,357.357 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:18:34,432.432 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:18:34,433.433 INFO    ] No camera update needed
[2026-08-29 20:18:34,435.435 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:18:34,436.436 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:18:34,439.439 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:18:34,442.442 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:18:36,481.481 INFO    ] ================================================
[2026-08-29 20:18:36,496.496 INFO    ] Launching Daemon at Sat Aug 29 20:18:36 IST 2026
[2026-08-29 20:18:36,507.507 INFO    ] ================================================
[2026-08-29 20:18:36,853.853 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:18:36
[2026-08-29 20:18:37,167.167 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:18:37,305.305 INFO    ] Initializing speech engine...
[2026-08-29 20:18:37,315.315 INFO    ] 2026-08-29 20:18:37
[2026-08-29 20:18:37,519.519 INFO    ] 2026-08-29 20:18:37
[2026-08-29 20:18:37,546.546 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:18:37,700.700 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:18:37,708.708 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:18:37,860.860 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:18:37,906.906 INFO    ] time= 29/08/2026 20:18:37
[2026-08-29 20:18:37,913.913 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:18:37,927.927 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:18:38,036.036 INFO    ] No existing commands found in stream
[2026-08-29 20:18:43,066.066 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:18:43,069.069 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-08-29 20:18:45,159.159 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:18:45,161.161 INFO    ] Checking for system updates...
[2026-08-29 20:18:45,181.181 INFO    ] 200
[2026-08-29 20:18:45,183.183 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:18:45,212.212 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:18:45,214.214 INFO    ] No update needed
[2026-08-29 20:18:45,215.215 INFO    ] Checking for camera pi updates...
[2026-08-29 20:18:45,241.241 INFO    ] 200
[2026-08-29 20:18:45,243.243 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:18:45,284.284 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:18:45,387.387 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:18:45,389.389 INFO    ] No camera update needed
[2026-08-29 20:18:45,391.391 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:18:45,394.394 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:18:45,399.399 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:18:45,404.404 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:18:47,444.444 INFO    ] ================================================
[2026-08-29 20:18:47,459.459 INFO    ] Launching Daemon at Sat Aug 29 20:18:47 IST 2026
[2026-08-29 20:18:47,469.469 INFO    ] ================================================
[2026-08-29 20:18:48,036.036 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:18:48
[2026-08-29 20:18:48,497.497 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:18:48,708.708 INFO    ] Initializing speech engine...
[2026-08-29 20:18:48,726.726 INFO    ] 2026-08-29 20:18:48
[2026-08-29 20:18:48,979.979 INFO    ] 2026-08-29 20:18:48
[2026-08-29 20:18:49,012.012 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:18:49,185.185 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:18:49,198.198 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:18:49,339.339 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:18:49,347.347 INFO    ] time= 29/08/2026 20:18:49
[2026-08-29 20:18:49,354.354 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:18:49,399.399 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:18:49,515.515 INFO    ] No existing commands found in stream
[2026-08-29 20:18:54,543.543 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:18:54,545.545 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-08-29 20:18:57,311.311 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:18:57,318.318 INFO    ] Checking for system updates...
[2026-08-29 20:18:57,339.339 INFO    ] 200
[2026-08-29 20:18:57,340.340 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:18:57,372.372 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:18:57,373.373 INFO    ] No update needed
[2026-08-29 20:18:57,375.375 INFO    ] Checking for camera pi updates...
[2026-08-29 20:18:57,396.396 INFO    ] 200
[2026-08-29 20:18:57,398.398 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:18:57,425.425 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:18:57,504.504 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:18:57,506.506 INFO    ] No camera update needed
[2026-08-29 20:18:57,508.508 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:18:57,511.511 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:18:57,516.516 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:18:57,521.521 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:18:59,562.562 INFO    ] ================================================
[2026-08-29 20:18:59,577.577 INFO    ] Launching Daemon at Sat Aug 29 20:18:59 IST 2026
[2026-08-29 20:18:59,588.588 INFO    ] ================================================
[2026-08-29 20:19:00,183.183 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:19:00
[2026-08-29 20:19:00,715.715 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:19:01,003.003 INFO    ] Initializing speech engine...
[2026-08-29 20:19:01,013.013 INFO    ] 2026-08-29 20:19:01
[2026-08-29 20:19:01,458.458 INFO    ] 2026-08-29 20:19:01
[2026-08-29 20:19:01,557.557 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:19:01,801.801 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:19:01,818.818 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:19:02,197.197 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:19:02,201.201 INFO    ] time= 29/08/2026 20:19:02
[2026-08-29 20:19:02,205.205 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:19:02,208.208 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:19:02,266.266 INFO    ] No existing commands found in stream
[2026-08-29 20:19:07,282.282 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:19:07,285.285 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-08-29 20:19:09,160.160 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:19:09,163.163 INFO    ] Checking for system updates...
[2026-08-29 20:19:09,199.199 INFO    ] 200
[2026-08-29 20:19:09,201.201 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:19:09,253.253 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:19:09,255.255 INFO    ] No update needed
[2026-08-29 20:19:09,258.258 INFO    ] Checking for camera pi updates...
[2026-08-29 20:19:09,294.294 INFO    ] 200
[2026-08-29 20:19:09,297.297 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:19:09,336.336 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:19:09,427.427 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:19:09,429.429 INFO    ] No camera update needed
[2026-08-29 20:19:09,432.432 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:19:09,434.434 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:19:09,439.439 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:19:09,444.444 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:19:11,485.485 INFO    ] ================================================
[2026-08-29 20:19:11,500.500 INFO    ] Launching Daemon at Sat Aug 29 20:19:11 IST 2026
[2026-08-29 20:19:11,511.511 INFO    ] ================================================
[2026-08-29 20:19:11,889.889 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:19:11
[2026-08-29 20:19:12,226.226 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:19:12,376.376 INFO    ] Initializing speech engine...
[2026-08-29 20:19:12,382.382 INFO    ] 2026-08-29 20:19:12
[2026-08-29 20:19:12,590.590 INFO    ] 2026-08-29 20:19:12
[2026-08-29 20:19:12,618.618 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:19:12,744.744 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:19:12,752.752 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:19:12,908.908 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:19:12,949.949 INFO    ] time= 29/08/2026 20:19:12
[2026-08-29 20:19:12,968.968 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:19:12,988.988 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:19:13,108.108 INFO    ] No existing commands found in stream
[2026-08-29 20:19:18,120.120 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:19:18,124.124 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 20:19:18,751.751 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:19:18,753.753 INFO    ] Checking for system updates...
[2026-08-29 20:19:18,773.773 INFO    ] 200
[2026-08-29 20:19:18,775.775 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:19:18,807.807 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:19:18,808.808 INFO    ] No update needed
[2026-08-29 20:19:18,809.809 INFO    ] Checking for camera pi updates...
[2026-08-29 20:19:18,832.832 INFO    ] 200
[2026-08-29 20:19:18,833.833 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:19:18,858.858 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:19:18,954.954 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:19:18,956.956 INFO    ] No camera update needed
[2026-08-29 20:19:18,957.957 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:19:18,959.959 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:19:18,962.962 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:19:18,965.965 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:19:21,003.003 INFO    ] ================================================
[2026-08-29 20:19:21,019.019 INFO    ] Launching Daemon at Sat Aug 29 20:19:21 IST 2026
[2026-08-29 20:19:21,032.032 INFO    ] ================================================
[2026-08-29 20:19:21,632.632 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:19:21
[2026-08-29 20:19:22,295.295 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:19:22,596.596 INFO    ] Initializing speech engine...
[2026-08-29 20:19:22,609.609 INFO    ] 2026-08-29 20:19:22
[2026-08-29 20:19:22,895.895 INFO    ] 2026-08-29 20:19:22
[2026-08-29 20:19:22,932.932 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:19:23,154.154 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:19:23,163.163 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:19:23,295.295 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:19:23,317.317 INFO    ] time= 29/08/2026 20:19:23
[2026-08-29 20:19:23,376.376 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:19:23,429.429 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:19:23,481.481 INFO    ] No existing commands found in stream
[2026-08-29 20:19:28,493.493 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:19:28,496.496 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-08-29 20:19:30,596.596 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:19:30,598.598 INFO    ] Checking for system updates...
[2026-08-29 20:19:30,618.618 INFO    ] 200
[2026-08-29 20:19:30,619.619 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:19:30,649.649 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:19:30,650.650 INFO    ] No update needed
[2026-08-29 20:19:30,651.651 INFO    ] Checking for camera pi updates...
[2026-08-29 20:19:30,674.674 INFO    ] 200
[2026-08-29 20:19:30,675.675 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:19:30,698.698 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:19:30,794.794 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:19:30,796.796 INFO    ] No camera update needed
[2026-08-29 20:19:30,797.797 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:19:30,798.798 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:19:30,801.801 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:19:30,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:19:32,844.844 INFO    ] ================================================
[2026-08-29 20:19:32,859.859 INFO    ] Launching Daemon at Sat Aug 29 20:19:32 IST 2026
[2026-08-29 20:19:32,869.869 INFO    ] ================================================
[2026-08-29 20:19:33,496.496 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:19:33
[2026-08-29 20:19:34,140.140 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:19:34,415.415 INFO    ] Initializing speech engine...
[2026-08-29 20:19:34,439.439 INFO    ] 2026-08-29 20:19:34
[2026-08-29 20:19:34,662.662 INFO    ] 2026-08-29 20:19:34
[2026-08-29 20:19:34,714.714 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:19:34,889.889 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:19:34,913.913 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:19:35,039.039 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:19:35,046.046 INFO    ] time= 29/08/2026 20:19:35
[2026-08-29 20:19:35,089.089 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:19:35,115.115 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:19:35,218.218 INFO    ] No existing commands found in stream
[2026-08-29 20:19:40,243.243 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:19:40,246.246 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 20:19:42,347.347 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:19:42,348.348 INFO    ] Checking for system updates...
[2026-08-29 20:19:42,373.373 INFO    ] 200
[2026-08-29 20:19:42,374.374 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:19:42,406.406 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:19:42,408.408 INFO    ] No update needed
[2026-08-29 20:19:42,409.409 INFO    ] Checking for camera pi updates...
[2026-08-29 20:19:42,434.434 INFO    ] 200
[2026-08-29 20:19:42,436.436 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:19:42,476.476 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:19:42,659.659 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:19:42,662.662 INFO    ] No camera update needed
[2026-08-29 20:19:42,664.664 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:19:42,666.666 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:19:42,672.672 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:19:42,677.677 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:19:44,718.718 INFO    ] ================================================
[2026-08-29 20:19:44,733.733 INFO    ] Launching Daemon at Sat Aug 29 20:19:44 IST 2026
[2026-08-29 20:19:44,744.744 INFO    ] ================================================
[2026-08-29 20:19:45,387.387 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:19:45
[2026-08-29 20:19:45,795.795 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:19:46,052.052 INFO    ] Initializing speech engine...
[2026-08-29 20:19:46,060.060 INFO    ] 2026-08-29 20:19:46
[2026-08-29 20:19:46,361.361 INFO    ] 2026-08-29 20:19:46
[2026-08-29 20:19:46,387.387 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:19:46,548.548 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:19:46,554.554 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:19:46,710.710 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:19:46,714.714 INFO    ] time= 29/08/2026 20:19:46
[2026-08-29 20:19:46,724.724 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:19:46,730.730 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:19:46,798.798 INFO    ] No existing commands found in stream
[2026-08-29 20:19:51,812.812 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:19:51,815.815 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-08-29 20:19:52,733.733 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:19:52,734.734 INFO    ] Checking for system updates...
[2026-08-29 20:19:52,756.756 INFO    ] 200
[2026-08-29 20:19:52,757.757 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:19:52,788.788 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:19:52,789.789 INFO    ] No update needed
[2026-08-29 20:19:52,790.790 INFO    ] Checking for camera pi updates...
[2026-08-29 20:19:52,811.811 INFO    ] 200
[2026-08-29 20:19:52,812.812 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:19:52,837.837 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:19:52,944.944 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:19:52,945.945 INFO    ] No camera update needed
[2026-08-29 20:19:52,946.946 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:19:52,947.947 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:19:52,950.950 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:19:52,953.953 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:19:54,993.993 INFO    ] ================================================
[2026-08-29 20:19:55,008.008 INFO    ] Launching Daemon at Sat Aug 29 20:19:55 IST 2026
[2026-08-29 20:19:55,019.019 INFO    ] ================================================
[2026-08-29 20:19:55,380.380 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:19:55
[2026-08-29 20:19:55,721.721 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:19:55,877.877 INFO    ] Initializing speech engine...
[2026-08-29 20:19:55,882.882 INFO    ] 2026-08-29 20:19:55
[2026-08-29 20:19:56,089.089 INFO    ] 2026-08-29 20:19:56
[2026-08-29 20:19:56,117.117 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:19:56,223.223 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:19:56,252.252 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:19:56,401.401 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:19:56,454.454 INFO    ] time= 29/08/2026 20:19:56
[2026-08-29 20:19:56,490.490 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:19:56,539.539 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:19:56,608.608 INFO    ] No existing commands found in stream
[2026-08-29 20:20:01,623.623 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:20:01,628.628 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 20:20:07,206.206 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:20:07,207.207 INFO    ] Checking for system updates...
[2026-08-29 20:20:07,229.229 INFO    ] 200
[2026-08-29 20:20:07,231.231 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:20:07,263.263 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:20:07,264.264 INFO    ] No update needed
[2026-08-29 20:20:07,266.266 INFO    ] Checking for camera pi updates...
[2026-08-29 20:20:07,285.285 INFO    ] 200
[2026-08-29 20:20:07,287.287 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:20:07,312.312 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:20:07,389.389 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:20:07,391.391 INFO    ] No camera update needed
[2026-08-29 20:20:07,393.393 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:20:07,394.394 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:20:07,397.397 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:20:07,400.400 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:20:09,439.439 INFO    ] ================================================
[2026-08-29 20:20:09,455.455 INFO    ] Launching Daemon at Sat Aug 29 20:20:09 IST 2026
[2026-08-29 20:20:09,466.466 INFO    ] ================================================
[2026-08-29 20:20:09,812.812 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:20:09
[2026-08-29 20:20:10,128.128 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:20:10,374.374 INFO    ] Initializing speech engine...
[2026-08-29 20:20:10,383.383 INFO    ] 2026-08-29 20:20:10
[2026-08-29 20:20:10,683.683 INFO    ] 2026-08-29 20:20:10
[2026-08-29 20:20:10,719.719 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:20:10,871.871 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:20:10,878.878 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:20:11,036.036 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:20:11,048.048 INFO    ] time= 29/08/2026 20:20:11
[2026-08-29 20:20:11,052.052 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:20:11,057.057 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:20:11,124.124 INFO    ] No existing commands found in stream
[2026-08-29 20:20:16,135.135 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:20:16,138.138 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-08-29 20:20:17,427.427 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:20:17,428.428 INFO    ] Checking for system updates...
[2026-08-29 20:20:17,449.449 INFO    ] 200
[2026-08-29 20:20:17,451.451 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:20:17,481.481 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:20:17,482.482 INFO    ] No update needed
[2026-08-29 20:20:17,483.483 INFO    ] Checking for camera pi updates...
[2026-08-29 20:20:17,504.504 INFO    ] 200
[2026-08-29 20:20:17,505.505 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:20:17,528.528 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:20:17,607.607 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:20:17,608.608 INFO    ] No camera update needed
[2026-08-29 20:20:17,609.609 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:20:17,610.610 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:20:17,614.614 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:20:17,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:20:19,656.656 INFO    ] ================================================
[2026-08-29 20:20:19,671.671 INFO    ] Launching Daemon at Sat Aug 29 20:20:19 IST 2026
[2026-08-29 20:20:19,681.681 INFO    ] ================================================
[2026-08-29 20:20:20,176.176 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:20:20
[2026-08-29 20:20:20,762.762 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:20:21,012.012 INFO    ] Initializing speech engine...
[2026-08-29 20:20:21,018.018 INFO    ] 2026-08-29 20:20:21
[2026-08-29 20:20:21,334.334 INFO    ] 2026-08-29 20:20:21
[2026-08-29 20:20:21,361.361 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:20:21,524.524 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:20:21,532.532 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:20:21,686.686 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:20:21,697.697 INFO    ] time= 29/08/2026 20:20:21
[2026-08-29 20:20:21,706.706 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:20:21,712.712 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:20:21,782.782 INFO    ] No existing commands found in stream
[2026-08-29 20:20:26,794.794 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:20:26,797.797 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-08-29 20:20:31,044.044 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:20:31,047.047 INFO    ] Checking for system updates...
[2026-08-29 20:20:31,087.087 INFO    ] 200
[2026-08-29 20:20:31,089.089 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:20:31,142.142 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:20:31,145.145 INFO    ] No update needed
[2026-08-29 20:20:31,147.147 INFO    ] Checking for camera pi updates...
[2026-08-29 20:20:31,181.181 INFO    ] 200
[2026-08-29 20:20:31,183.183 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:20:31,232.232 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:20:31,373.373 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:20:31,376.376 INFO    ] No camera update needed
[2026-08-29 20:20:31,380.380 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:20:31,383.383 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:20:31,390.390 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:20:31,396.396 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:20:33,444.444 INFO    ] ================================================
[2026-08-29 20:20:33,459.459 INFO    ] Launching Daemon at Sat Aug 29 20:20:33 IST 2026
[2026-08-29 20:20:33,470.470 INFO    ] ================================================
[2026-08-29 20:20:33,838.838 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:20:33
[2026-08-29 20:20:34,151.151 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:20:34,295.295 INFO    ] Initializing speech engine...
[2026-08-29 20:20:34,300.300 INFO    ] 2026-08-29 20:20:34
[2026-08-29 20:20:34,489.489 INFO    ] 2026-08-29 20:20:34
[2026-08-29 20:20:34,569.569 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:20:34,721.721 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:20:34,730.730 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:20:34,866.866 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:20:34,877.877 INFO    ] time= 29/08/2026 20:20:34
[2026-08-29 20:20:34,937.937 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:20:34,991.991 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:20:35,052.052 INFO    ] No existing commands found in stream
[2026-08-29 20:20:40,064.064 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:20:40,067.067 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-08-29 20:20:44,356.356 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:20:44,357.357 INFO    ] Checking for system updates...
[2026-08-29 20:20:44,378.378 INFO    ] 200
[2026-08-29 20:20:44,379.379 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:20:44,411.411 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:20:44,413.413 INFO    ] No update needed
[2026-08-29 20:20:44,414.414 INFO    ] Checking for camera pi updates...
[2026-08-29 20:20:44,433.433 INFO    ] 200
[2026-08-29 20:20:44,435.435 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:20:44,458.458 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:20:44,557.557 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:20:44,559.559 INFO    ] No camera update needed
[2026-08-29 20:20:44,562.562 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:20:44,564.564 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:20:44,570.570 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:20:44,575.575 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:20:46,614.614 INFO    ] ================================================
[2026-08-29 20:20:46,629.629 INFO    ] Launching Daemon at Sat Aug 29 20:20:46 IST 2026
[2026-08-29 20:20:46,640.640 INFO    ] ================================================
[2026-08-29 20:20:47,209.209 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:20:47
[2026-08-29 20:20:47,595.595 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:20:47,783.783 INFO    ] Initializing speech engine...
[2026-08-29 20:20:47,789.789 INFO    ] 2026-08-29 20:20:47
[2026-08-29 20:20:48,089.089 INFO    ] 2026-08-29 20:20:48
[2026-08-29 20:20:48,114.114 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:20:48,276.276 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:20:48,282.282 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:20:48,435.435 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:20:48,445.445 INFO    ] time= 29/08/2026 20:20:48
[2026-08-29 20:20:48,451.451 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:20:48,455.455 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:20:48,526.526 INFO    ] No existing commands found in stream
[2026-08-29 20:20:53,536.536 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:20:53,539.539 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-08-29 20:20:56,499.499 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:20:56,500.500 INFO    ] Checking for system updates...
[2026-08-29 20:20:56,522.522 INFO    ] 200
[2026-08-29 20:20:56,523.523 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:20:56,560.560 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:20:56,562.562 INFO    ] No update needed
[2026-08-29 20:20:56,565.565 INFO    ] Checking for camera pi updates...
[2026-08-29 20:20:56,598.598 INFO    ] 200
[2026-08-29 20:20:56,600.600 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:20:56,640.640 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:20:56,728.728 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:20:56,731.731 INFO    ] No camera update needed
[2026-08-29 20:20:56,733.733 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:20:56,735.735 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:20:56,740.740 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:20:56,745.745 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:20:58,786.786 INFO    ] ================================================
[2026-08-29 20:20:58,801.801 INFO    ] Launching Daemon at Sat Aug 29 20:20:58 IST 2026
[2026-08-29 20:20:58,811.811 INFO    ] ================================================
[2026-08-29 20:20:59,401.401 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:20:59
[2026-08-29 20:20:59,863.863 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:21:00,053.053 INFO    ] Initializing speech engine...
[2026-08-29 20:21:00,063.063 INFO    ] 2026-08-29 20:21:00
[2026-08-29 20:21:00,328.328 INFO    ] 2026-08-29 20:21:00
[2026-08-29 20:21:00,396.396 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:21:00,622.622 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:21:00,631.631 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:21:00,768.768 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:21:00,838.838 INFO    ] time= 29/08/2026 20:21:00
[2026-08-29 20:21:00,897.897 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:21:00,903.903 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:21:01,030.030 INFO    ] No existing commands found in stream
[2026-08-29 20:21:06,058.058 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:21:06,061.061 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-08-29 20:21:10,067.067 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:21:10,069.069 INFO    ] Checking for system updates...
[2026-08-29 20:21:10,090.090 INFO    ] 200
[2026-08-29 20:21:10,091.091 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:21:10,121.121 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:21:10,123.123 INFO    ] No update needed
[2026-08-29 20:21:10,124.124 INFO    ] Checking for camera pi updates...
[2026-08-29 20:21:10,144.144 INFO    ] 200
[2026-08-29 20:21:10,145.145 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:21:10,168.168 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:21:10,245.245 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:21:10,246.246 INFO    ] No camera update needed
[2026-08-29 20:21:10,248.248 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:21:10,249.249 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:21:10,252.252 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:21:10,255.255 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:21:12,295.295 INFO    ] ================================================
[2026-08-29 20:21:12,310.310 INFO    ] Launching Daemon at Sat Aug 29 20:21:12 IST 2026
[2026-08-29 20:21:12,321.321 INFO    ] ================================================
[2026-08-29 20:21:12,663.663 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:21:12
[2026-08-29 20:21:12,981.981 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:21:13,123.123 INFO    ] Initializing speech engine...
[2026-08-29 20:21:13,127.127 INFO    ] 2026-08-29 20:21:13
[2026-08-29 20:21:13,329.329 INFO    ] 2026-08-29 20:21:13
[2026-08-29 20:21:13,358.358 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:21:13,490.490 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:21:13,498.498 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:21:13,656.656 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:21:13,695.695 INFO    ] time= 29/08/2026 20:21:13
[2026-08-29 20:21:13,701.701 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:21:13,718.718 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:21:13,819.819 INFO    ] No existing commands found in stream
[2026-08-29 20:21:18,844.844 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:21:18,847.847 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 20:21:22,293.293 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:21:22,295.295 INFO    ] Checking for system updates...
[2026-08-29 20:21:22,315.315 INFO    ] 200
[2026-08-29 20:21:22,317.317 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:21:22,348.348 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:21:22,350.350 INFO    ] No update needed
[2026-08-29 20:21:22,351.351 INFO    ] Checking for camera pi updates...
[2026-08-29 20:21:22,370.370 INFO    ] 200
[2026-08-29 20:21:22,371.371 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:21:22,395.395 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:21:22,487.487 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:21:22,489.489 INFO    ] No camera update needed
[2026-08-29 20:21:22,490.490 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:21:22,491.491 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:21:22,494.494 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:21:22,497.497 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:21:24,538.538 INFO    ] ================================================
[2026-08-29 20:21:24,553.553 INFO    ] Launching Daemon at Sat Aug 29 20:21:24 IST 2026
[2026-08-29 20:21:24,564.564 INFO    ] ================================================
[2026-08-29 20:21:24,936.936 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:21:24
[2026-08-29 20:21:25,270.270 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:21:25,547.547 INFO    ] Initializing speech engine...
[2026-08-29 20:21:25,556.556 INFO    ] 2026-08-29 20:21:25
[2026-08-29 20:21:25,839.839 INFO    ] 2026-08-29 20:21:25
[2026-08-29 20:21:25,885.885 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:21:26,105.105 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:21:26,115.115 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:21:26,249.249 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:21:26,286.286 INFO    ] time= 29/08/2026 20:21:26
[2026-08-29 20:21:26,346.346 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:21:26,386.386 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:21:26,440.440 INFO    ] No existing commands found in stream
[2026-08-29 20:21:31,453.453 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:21:31,456.456 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-08-29 20:21:35,019.019 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:21:35,022.022 INFO    ] Checking for system updates...
[2026-08-29 20:21:35,058.058 INFO    ] 200
[2026-08-29 20:21:35,061.061 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:21:35,119.119 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:21:35,122.122 INFO    ] No update needed
[2026-08-29 20:21:35,125.125 INFO    ] Checking for camera pi updates...
[2026-08-29 20:21:35,159.159 INFO    ] 200
[2026-08-29 20:21:35,162.162 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:21:35,195.195 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:21:35,281.281 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:21:35,283.283 INFO    ] No camera update needed
[2026-08-29 20:21:35,284.284 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:21:35,285.285 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:21:35,289.289 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:21:35,291.291 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:21:37,330.330 INFO    ] ================================================
[2026-08-29 20:21:37,345.345 INFO    ] Launching Daemon at Sat Aug 29 20:21:37 IST 2026
[2026-08-29 20:21:37,356.356 INFO    ] ================================================
[2026-08-29 20:21:37,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:21:37
[2026-08-29 20:21:38,003.003 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:21:38,137.137 INFO    ] Initializing speech engine...
[2026-08-29 20:21:38,140.140 INFO    ] 2026-08-29 20:21:38
[2026-08-29 20:21:38,348.348 INFO    ] 2026-08-29 20:21:38
[2026-08-29 20:21:38,436.436 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:21:38,599.599 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:21:38,609.609 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:21:38,756.756 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:21:38,763.763 INFO    ] time= 29/08/2026 20:21:38
[2026-08-29 20:21:38,787.787 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:21:38,852.852 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:21:38,911.911 INFO    ] No existing commands found in stream
[2026-08-29 20:21:43,934.934 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:21:43,937.937 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-08-29 20:21:45,936.936 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:21:45,937.937 INFO    ] Checking for system updates...
[2026-08-29 20:21:45,957.957 INFO    ] 200
[2026-08-29 20:21:45,959.959 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:21:45,989.989 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:21:45,990.990 INFO    ] No update needed
[2026-08-29 20:21:45,991.991 INFO    ] Checking for camera pi updates...
[2026-08-29 20:21:46,011.011 INFO    ] 200
[2026-08-29 20:21:46,013.013 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:21:46,035.035 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:21:46,227.227 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:21:46,229.229 INFO    ] No camera update needed
[2026-08-29 20:21:46,230.230 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:21:46,231.231 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:21:46,234.234 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:21:46,237.237 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:21:48,277.277 INFO    ] ================================================
[2026-08-29 20:21:48,293.293 INFO    ] Launching Daemon at Sat Aug 29 20:21:48 IST 2026
[2026-08-29 20:21:48,308.308 INFO    ] ================================================
[2026-08-29 20:21:48,925.925 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:21:48
[2026-08-29 20:21:49,619.619 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:21:49,918.918 INFO    ] Initializing speech engine...
[2026-08-29 20:21:49,928.928 INFO    ] 2026-08-29 20:21:49
[2026-08-29 20:21:50,174.174 INFO    ] 2026-08-29 20:21:50
[2026-08-29 20:21:50,240.240 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:21:50,403.403 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:21:50,421.421 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:21:50,540.540 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:21:50,547.547 INFO    ] time= 29/08/2026 20:21:50
[2026-08-29 20:21:50,588.588 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:21:50,614.614 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:21:50,722.722 INFO    ] No existing commands found in stream
[2026-08-29 20:21:55,747.747 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:21:55,750.750 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-08-29 20:21:59,379.379 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:21:59,380.380 INFO    ] Checking for system updates...
[2026-08-29 20:21:59,400.400 INFO    ] 200
[2026-08-29 20:21:59,402.402 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:21:59,434.434 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:21:59,436.436 INFO    ] No update needed
[2026-08-29 20:21:59,437.437 INFO    ] Checking for camera pi updates...
[2026-08-29 20:21:59,456.456 INFO    ] 200
[2026-08-29 20:21:59,458.458 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:21:59,480.480 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:21:59,564.564 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:21:59,565.565 INFO    ] No camera update needed
[2026-08-29 20:21:59,566.566 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:21:59,567.567 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:21:59,570.570 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:21:59,573.573 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:22:01,615.615 INFO    ] ================================================
[2026-08-29 20:22:01,637.637 INFO    ] Launching Daemon at Sat Aug 29 20:22:01 IST 2026
[2026-08-29 20:22:01,661.661 INFO    ] ================================================
[2026-08-29 20:22:02,347.347 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:22:02
[2026-08-29 20:22:03,044.044 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:22:03,345.345 INFO    ] Initializing speech engine...
[2026-08-29 20:22:03,352.352 INFO    ] 2026-08-29 20:22:03
[2026-08-29 20:22:03,625.625 INFO    ] 2026-08-29 20:22:03
[2026-08-29 20:22:03,680.680 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:22:03,824.824 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:22:03,849.849 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:22:03,974.974 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:22:03,988.988 INFO    ] time= 29/08/2026 20:22:03
[2026-08-29 20:22:03,997.997 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:22:04,053.053 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:22:04,168.168 INFO    ] No existing commands found in stream
[2026-08-29 20:22:09,193.193 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:22:09,197.197 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-08-29 20:22:13,386.386 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:22:13,388.388 INFO    ] Checking for system updates...
[2026-08-29 20:22:13,408.408 INFO    ] 200
[2026-08-29 20:22:13,409.409 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:22:13,440.440 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:22:13,441.441 INFO    ] No update needed
[2026-08-29 20:22:13,443.443 INFO    ] Checking for camera pi updates...
[2026-08-29 20:22:13,463.463 INFO    ] 200
[2026-08-29 20:22:13,464.464 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:22:13,487.487 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:22:13,574.574 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:22:13,575.575 INFO    ] No camera update needed
[2026-08-29 20:22:13,577.577 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:22:13,578.578 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:22:13,581.581 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:22:13,584.584 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:22:15,622.622 INFO    ] ================================================
[2026-08-29 20:22:15,638.638 INFO    ] Launching Daemon at Sat Aug 29 20:22:15 IST 2026
[2026-08-29 20:22:15,648.648 INFO    ] ================================================
[2026-08-29 20:22:16,011.011 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:22:16
[2026-08-29 20:22:16,323.323 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:22:16,465.465 INFO    ] Initializing speech engine...
[2026-08-29 20:22:16,470.470 INFO    ] 2026-08-29 20:22:16
[2026-08-29 20:22:16,674.674 INFO    ] 2026-08-29 20:22:16
[2026-08-29 20:22:16,703.703 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:22:16,825.825 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:22:16,888.888 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:22:17,018.018 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:22:17,084.084 INFO    ] time= 29/08/2026 20:22:17
[2026-08-29 20:22:17,116.116 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:22:17,123.123 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:22:17,189.189 INFO    ] No existing commands found in stream
[2026-08-29 20:22:22,198.198 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:22:22,200.200 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-08-29 20:22:25,671.671 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:22:25,672.672 INFO    ] Checking for system updates...
[2026-08-29 20:22:25,694.694 INFO    ] 200
[2026-08-29 20:22:25,696.696 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:22:25,726.726 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:22:25,727.727 INFO    ] No update needed
[2026-08-29 20:22:25,728.728 INFO    ] Checking for camera pi updates...
[2026-08-29 20:22:25,749.749 INFO    ] 200
[2026-08-29 20:22:25,750.750 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:22:25,774.774 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:22:25,866.866 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:22:25,867.867 INFO    ] No camera update needed
[2026-08-29 20:22:25,869.869 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:22:25,870.870 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:22:25,873.873 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:22:25,876.876 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:22:27,916.916 INFO    ] ================================================
[2026-08-29 20:22:27,931.931 INFO    ] Launching Daemon at Sat Aug 29 20:22:27 IST 2026
[2026-08-29 20:22:27,942.942 INFO    ] ================================================
[2026-08-29 20:22:28,308.308 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:22:28
[2026-08-29 20:22:28,623.623 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:22:28,759.759 INFO    ] Initializing speech engine...
[2026-08-29 20:22:28,763.763 INFO    ] 2026-08-29 20:22:28
[2026-08-29 20:22:28,997.997 INFO    ] 2026-08-29 20:22:28
[2026-08-29 20:22:29,035.035 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:22:29,221.221 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:22:29,232.232 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:22:29,364.364 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:22:29,369.369 INFO    ] time= 29/08/2026 20:22:29
[2026-08-29 20:22:29,389.389 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:22:29,410.410 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:22:29,490.490 INFO    ] No existing commands found in stream
[2026-08-29 20:22:34,502.502 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:22:34,505.505 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-08-29 20:22:38,109.109 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:22:38,111.111 INFO    ] Checking for system updates...
[2026-08-29 20:22:38,132.132 INFO    ] 200
[2026-08-29 20:22:38,134.134 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:22:38,163.163 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:22:38,165.165 INFO    ] No update needed
[2026-08-29 20:22:38,166.166 INFO    ] Checking for camera pi updates...
[2026-08-29 20:22:38,185.185 INFO    ] 200
[2026-08-29 20:22:38,186.186 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:22:38,209.209 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:22:38,297.297 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:22:38,298.298 INFO    ] No camera update needed
[2026-08-29 20:22:38,299.299 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:22:38,300.300 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:22:38,304.304 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:22:38,306.306 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:22:40,344.344 INFO    ] ================================================
[2026-08-29 20:22:40,359.359 INFO    ] Launching Daemon at Sat Aug 29 20:22:40 IST 2026
[2026-08-29 20:22:40,370.370 INFO    ] ================================================
[2026-08-29 20:22:40,956.956 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:22:40
[2026-08-29 20:22:41,538.538 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:22:41,808.808 INFO    ] Initializing speech engine...
[2026-08-29 20:22:41,817.817 INFO    ] 2026-08-29 20:22:41
[2026-08-29 20:22:42,079.079 INFO    ] 2026-08-29 20:22:42
[2026-08-29 20:22:42,113.113 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:22:42,294.294 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:22:42,301.301 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:22:42,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:22:42,471.471 INFO    ] time= 29/08/2026 20:22:42
[2026-08-29 20:22:42,479.479 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:22:42,483.483 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:22:42,558.558 INFO    ] No existing commands found in stream
[2026-08-29 20:22:47,570.570 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:22:47,573.573 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-08-29 20:22:50,452.452 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:22:50,454.454 INFO    ] Checking for system updates...
[2026-08-29 20:22:50,490.490 INFO    ] 200
[2026-08-29 20:22:50,492.492 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:22:50,545.545 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:22:50,547.547 INFO    ] No update needed
[2026-08-29 20:22:50,549.549 INFO    ] Checking for camera pi updates...
[2026-08-29 20:22:50,583.583 INFO    ] 200
[2026-08-29 20:22:50,585.585 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:22:50,625.625 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:22:50,710.710 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:22:50,712.712 INFO    ] No camera update needed
[2026-08-29 20:22:50,715.715 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:22:50,717.717 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:22:50,722.722 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:22:50,727.727 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:22:52,768.768 INFO    ] ================================================
[2026-08-29 20:22:52,783.783 INFO    ] Launching Daemon at Sat Aug 29 20:22:52 IST 2026
[2026-08-29 20:22:52,794.794 INFO    ] ================================================
[2026-08-29 20:22:53,362.362 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:22:53
[2026-08-29 20:22:53,758.758 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:22:53,888.888 INFO    ] Initializing speech engine...
[2026-08-29 20:22:53,892.892 INFO    ] 2026-08-29 20:22:53
[2026-08-29 20:22:54,097.097 INFO    ] 2026-08-29 20:22:54
[2026-08-29 20:22:54,178.178 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:22:54,328.328 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:22:54,337.337 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:22:54,473.473 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:22:54,480.480 INFO    ] time= 29/08/2026 20:22:54
[2026-08-29 20:22:54,535.535 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:22:54,594.594 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:22:54,662.662 INFO    ] No existing commands found in stream
[2026-08-29 20:22:59,673.673 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:22:59,676.676 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-08-29 20:23:02,225.225 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:23:02,228.228 INFO    ] Checking for system updates...
[2026-08-29 20:23:02,274.274 INFO    ] 200
[2026-08-29 20:23:02,277.277 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:23:02,336.336 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:23:02,339.339 INFO    ] No update needed
[2026-08-29 20:23:02,343.343 INFO    ] Checking for camera pi updates...
[2026-08-29 20:23:02,386.386 INFO    ] 200
[2026-08-29 20:23:02,389.389 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:23:02,439.439 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:23:02,529.529 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:23:02,533.533 INFO    ] No camera update needed
[2026-08-29 20:23:02,536.536 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:23:02,539.539 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:23:02,552.552 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:23:02,562.562 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:23:04,606.606 INFO    ] ================================================
[2026-08-29 20:23:04,621.621 INFO    ] Launching Daemon at Sat Aug 29 20:23:04 IST 2026
[2026-08-29 20:23:04,632.632 INFO    ] ================================================
[2026-08-29 20:23:04,993.993 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:23:04
[2026-08-29 20:23:05,312.312 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:23:05,445.445 INFO    ] Initializing speech engine...
[2026-08-29 20:23:05,458.458 INFO    ] 2026-08-29 20:23:05
[2026-08-29 20:23:05,641.641 INFO    ] 2026-08-29 20:23:05
[2026-08-29 20:23:05,676.676 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:23:05,850.850 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:23:05,861.861 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:23:05,974.974 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:23:06,004.004 INFO    ] time= 29/08/2026 20:23:05
[2026-08-29 20:23:06,017.017 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:23:06,034.034 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:23:06,117.117 INFO    ] No existing commands found in stream
[2026-08-29 20:23:11,132.132 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:23:11,135.135 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-08-29 20:23:11,751.751 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:23:11,753.753 INFO    ] Checking for system updates...
[2026-08-29 20:23:11,774.774 INFO    ] 200
[2026-08-29 20:23:11,775.775 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:23:11,805.805 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:23:11,807.807 INFO    ] No update needed
[2026-08-29 20:23:11,808.808 INFO    ] Checking for camera pi updates...
[2026-08-29 20:23:11,827.827 INFO    ] 200
[2026-08-29 20:23:11,829.829 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:23:11,852.852 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:23:11,902.902 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:23:11,903.903 INFO    ] No camera update needed
[2026-08-29 20:23:11,905.905 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:23:11,906.906 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:23:11,909.909 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:23:11,912.912 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:23:13,955.955 INFO    ] ================================================
[2026-08-29 20:23:13,970.970 INFO    ] Launching Daemon at Sat Aug 29 20:23:13 IST 2026
[2026-08-29 20:23:13,980.980 INFO    ] ================================================
[2026-08-29 20:23:14,349.349 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:23:14
[2026-08-29 20:23:14,670.670 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:23:14,815.815 INFO    ] Initializing speech engine...
[2026-08-29 20:23:14,820.820 INFO    ] 2026-08-29 20:23:14
[2026-08-29 20:23:15,024.024 INFO    ] 2026-08-29 20:23:15
[2026-08-29 20:23:15,053.053 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:23:15,186.186 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:23:15,239.239 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:23:15,373.373 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:23:15,425.425 INFO    ] time= 29/08/2026 20:23:15
[2026-08-29 20:23:15,460.460 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:23:15,470.470 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:23:15,541.541 INFO    ] No existing commands found in stream
[2026-08-29 20:23:20,552.552 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:23:20,554.554 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-08-29 20:23:23,089.089 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:23:23,090.090 INFO    ] Checking for system updates...
[2026-08-29 20:23:23,111.111 INFO    ] 200
[2026-08-29 20:23:23,112.112 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:23:23,142.142 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:23:23,143.143 INFO    ] No update needed
[2026-08-29 20:23:23,145.145 INFO    ] Checking for camera pi updates...
[2026-08-29 20:23:23,163.163 INFO    ] 200
[2026-08-29 20:23:23,165.165 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:23:23,188.188 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:23:23,281.281 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:23:23,283.283 INFO    ] No camera update needed
[2026-08-29 20:23:23,284.284 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:23:23,285.285 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:23:23,288.288 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:23:23,291.291 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:23:25,330.330 INFO    ] ================================================
[2026-08-29 20:23:25,345.345 INFO    ] Launching Daemon at Sat Aug 29 20:23:25 IST 2026
[2026-08-29 20:23:25,356.356 INFO    ] ================================================
[2026-08-29 20:23:25,948.948 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:23:25
[2026-08-29 20:23:26,611.611 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:23:26,915.915 INFO    ] Initializing speech engine...
[2026-08-29 20:23:26,927.927 INFO    ] 2026-08-29 20:23:26
[2026-08-29 20:23:27,207.207 INFO    ] 2026-08-29 20:23:27
[2026-08-29 20:23:27,253.253 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:23:27,474.474 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:23:27,485.485 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:23:27,619.619 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:23:27,680.680 INFO    ] time= 29/08/2026 20:23:27
[2026-08-29 20:23:27,740.740 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:23:27,756.756 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:23:27,893.893 INFO    ] No existing commands found in stream
[2026-08-29 20:23:32,914.914 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:23:32,918.918 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-08-29 20:23:35,908.908 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:23:35,910.910 INFO    ] Checking for system updates...
[2026-08-29 20:23:35,930.930 INFO    ] 200
[2026-08-29 20:23:35,932.932 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:23:35,964.964 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:23:35,966.966 INFO    ] No update needed
[2026-08-29 20:23:35,967.967 INFO    ] Checking for camera pi updates...
[2026-08-29 20:23:35,986.986 INFO    ] 200
[2026-08-29 20:23:35,988.988 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:23:36,012.012 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:23:36,116.116 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:23:36,118.118 INFO    ] No camera update needed
[2026-08-29 20:23:36,119.119 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:23:36,121.121 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:23:36,124.124 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:23:36,127.127 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:23:38,165.165 INFO    ] ================================================
[2026-08-29 20:23:38,180.180 INFO    ] Launching Daemon at Sat Aug 29 20:23:38 IST 2026
[2026-08-29 20:23:38,191.191 INFO    ] ================================================
[2026-08-29 20:23:38,552.552 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:23:38
[2026-08-29 20:23:38,864.864 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:23:39,084.084 INFO    ] Initializing speech engine...
[2026-08-29 20:23:39,100.100 INFO    ] 2026-08-29 20:23:39
[2026-08-29 20:23:39,370.370 INFO    ] 2026-08-29 20:23:39
[2026-08-29 20:23:39,406.406 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:23:39,598.598 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:23:39,613.613 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:23:39,738.738 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:23:39,743.743 INFO    ] time= 29/08/2026 20:23:39
[2026-08-29 20:23:39,763.763 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:23:39,783.783 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:23:39,866.866 INFO    ] No existing commands found in stream
[2026-08-29 20:23:44,878.878 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:23:44,881.881 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 20:23:46,414.414 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:23:46,415.415 INFO    ] Checking for system updates...
[2026-08-29 20:23:46,435.435 INFO    ] 200
[2026-08-29 20:23:46,437.437 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:23:46,467.467 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:23:46,468.468 INFO    ] No update needed
[2026-08-29 20:23:46,470.470 INFO    ] Checking for camera pi updates...
[2026-08-29 20:23:46,491.491 INFO    ] 200
[2026-08-29 20:23:46,492.492 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:23:46,515.515 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:23:46,618.618 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:23:46,619.619 INFO    ] No camera update needed
[2026-08-29 20:23:46,620.620 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:23:46,621.621 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:23:46,624.624 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:23:46,627.627 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:23:48,666.666 INFO    ] ================================================
[2026-08-29 20:23:48,681.681 INFO    ] Launching Daemon at Sat Aug 29 20:23:48 IST 2026
[2026-08-29 20:23:48,692.692 INFO    ] ================================================
[2026-08-29 20:23:49,018.018 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:23:49
[2026-08-29 20:23:49,337.337 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:23:49,476.476 INFO    ] Initializing speech engine...
[2026-08-29 20:23:49,484.484 INFO    ] 2026-08-29 20:23:49
[2026-08-29 20:23:49,692.692 INFO    ] 2026-08-29 20:23:49
[2026-08-29 20:23:49,721.721 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:23:49,844.844 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:23:49,907.907 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:23:50,037.037 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:23:50,103.103 INFO    ] time= 29/08/2026 20:23:50
[2026-08-29 20:23:50,135.135 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:23:50,142.142 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:23:50,208.208 INFO    ] No existing commands found in stream
[2026-08-29 20:23:55,218.218 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:23:55,221.221 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-08-29 20:23:58,881.881 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:23:58,883.883 INFO    ] Checking for system updates...
[2026-08-29 20:23:58,907.907 INFO    ] 200
[2026-08-29 20:23:58,909.909 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:23:58,939.939 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:23:58,940.940 INFO    ] No update needed
[2026-08-29 20:23:58,942.942 INFO    ] Checking for camera pi updates...
[2026-08-29 20:23:58,961.961 INFO    ] 200
[2026-08-29 20:23:58,963.963 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:23:58,986.986 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:23:59,175.175 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:23:59,176.176 INFO    ] No camera update needed
[2026-08-29 20:23:59,177.177 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:23:59,179.179 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:23:59,182.182 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:23:59,185.185 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:24:01,237.237 INFO    ] ================================================
[2026-08-29 20:24:01,254.254 INFO    ] Launching Daemon at Sat Aug 29 20:24:01 IST 2026
[2026-08-29 20:24:01,273.273 INFO    ] ================================================
[2026-08-29 20:24:01,959.959 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:24:01
[2026-08-29 20:24:02,689.689 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:24:02,952.952 INFO    ] Initializing speech engine...
[2026-08-29 20:24:02,960.960 INFO    ] 2026-08-29 20:24:02
[2026-08-29 20:24:03,241.241 INFO    ] 2026-08-29 20:24:03
[2026-08-29 20:24:03,276.276 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:24:03,454.454 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:24:03,467.467 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:24:03,579.579 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:24:03,584.584 INFO    ] time= 29/08/2026 20:24:03
[2026-08-29 20:24:03,602.602 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:24:03,622.622 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:24:03,695.695 INFO    ] No existing commands found in stream
[2026-08-29 20:24:08,708.708 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:24:08,710.710 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-08-29 20:24:11,544.544 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:24:11,545.545 INFO    ] Checking for system updates...
[2026-08-29 20:24:11,566.566 INFO    ] 200
[2026-08-29 20:24:11,567.567 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:24:11,597.597 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:24:11,598.598 INFO    ] No update needed
[2026-08-29 20:24:11,599.599 INFO    ] Checking for camera pi updates...
[2026-08-29 20:24:11,618.618 INFO    ] 200
[2026-08-29 20:24:11,620.620 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:24:11,642.642 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:24:11,718.718 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:24:11,719.719 INFO    ] No camera update needed
[2026-08-29 20:24:11,720.720 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:24:11,722.722 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:24:11,725.725 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:24:11,727.727 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:24:13,766.766 INFO    ] ================================================
[2026-08-29 20:24:13,781.781 INFO    ] Launching Daemon at Sat Aug 29 20:24:13 IST 2026
[2026-08-29 20:24:13,792.792 INFO    ] ================================================
[2026-08-29 20:24:14,145.145 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:24:14
[2026-08-29 20:24:14,463.463 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:24:14,700.700 INFO    ] Initializing speech engine...
[2026-08-29 20:24:14,705.705 INFO    ] 2026-08-29 20:24:14
[2026-08-29 20:24:14,968.968 INFO    ] 2026-08-29 20:24:14
[2026-08-29 20:24:15,022.022 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:24:15,173.173 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:24:15,192.192 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:24:15,317.317 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:24:15,325.325 INFO    ] time= 29/08/2026 20:24:15
[2026-08-29 20:24:15,333.333 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:24:15,373.373 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:24:15,495.495 INFO    ] No existing commands found in stream
[2026-08-29 20:24:20,525.525 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:24:20,528.528 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-08-29 20:24:21,009.009 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:24:21,010.010 INFO    ] Checking for system updates...
[2026-08-29 20:24:21,031.031 INFO    ] 200
[2026-08-29 20:24:21,032.032 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:24:21,062.062 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:24:21,063.063 INFO    ] No update needed
[2026-08-29 20:24:21,065.065 INFO    ] Checking for camera pi updates...
[2026-08-29 20:24:21,093.093 INFO    ] 200
[2026-08-29 20:24:21,095.095 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:24:21,135.135 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:24:21,225.225 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:24:21,227.227 INFO    ] No camera update needed
[2026-08-29 20:24:21,230.230 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:24:21,232.232 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:24:21,237.237 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:24:21,242.242 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:24:23,283.283 INFO    ] ================================================
[2026-08-29 20:24:23,298.298 INFO    ] Launching Daemon at Sat Aug 29 20:24:23 IST 2026
[2026-08-29 20:24:23,309.309 INFO    ] ================================================
[2026-08-29 20:24:23,879.879 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:24:23
[2026-08-29 20:24:24,344.344 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:24:24,483.483 INFO    ] Initializing speech engine...
[2026-08-29 20:24:24,493.493 INFO    ] 2026-08-29 20:24:24
[2026-08-29 20:24:24,707.707 INFO    ] 2026-08-29 20:24:24
[2026-08-29 20:24:24,783.783 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:24:24,944.944 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:24:24,953.953 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:24:25,090.090 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:24:25,101.101 INFO    ] time= 29/08/2026 20:24:25
[2026-08-29 20:24:25,155.155 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:24:25,205.205 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:24:25,280.280 INFO    ] No existing commands found in stream
[2026-08-29 20:24:30,291.291 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:24:30,294.294 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-08-29 20:24:32,456.456 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:24:32,459.459 INFO    ] Checking for system updates...
[2026-08-29 20:24:32,507.507 INFO    ] 200
[2026-08-29 20:24:32,510.510 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:24:32,570.570 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:24:32,574.574 INFO    ] No update needed
[2026-08-29 20:24:32,578.578 INFO    ] Checking for camera pi updates...
[2026-08-29 20:24:32,617.617 INFO    ] 200
[2026-08-29 20:24:32,620.620 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:24:32,671.671 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:24:32,779.779 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:24:32,781.781 INFO    ] No camera update needed
[2026-08-29 20:24:32,784.784 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:24:32,787.787 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:24:32,793.793 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:24:32,798.798 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:24:34,840.840 INFO    ] ================================================
[2026-08-29 20:24:34,856.856 INFO    ] Launching Daemon at Sat Aug 29 20:24:34 IST 2026
[2026-08-29 20:24:34,866.866 INFO    ] ================================================
[2026-08-29 20:24:35,227.227 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:24:35
[2026-08-29 20:24:35,539.539 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:24:35,682.682 INFO    ] Initializing speech engine...
[2026-08-29 20:24:35,686.686 INFO    ] 2026-08-29 20:24:35
[2026-08-29 20:24:35,898.898 INFO    ] 2026-08-29 20:24:35
[2026-08-29 20:24:35,973.973 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:24:36,134.134 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:24:36,143.143 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:24:36,279.279 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:24:36,295.295 INFO    ] time= 29/08/2026 20:24:36
[2026-08-29 20:24:36,355.355 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:24:36,404.404 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:24:36,469.469 INFO    ] No existing commands found in stream
[2026-08-29 20:24:41,481.481 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:24:41,484.484 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-08-29 20:24:43,726.726 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:24:43,728.728 INFO    ] Checking for system updates...
[2026-08-29 20:24:43,748.748 INFO    ] 200
[2026-08-29 20:24:43,749.749 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:24:43,779.779 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:24:43,781.781 INFO    ] No update needed
[2026-08-29 20:24:43,782.782 INFO    ] Checking for camera pi updates...
[2026-08-29 20:24:43,801.801 INFO    ] 200
[2026-08-29 20:24:43,803.803 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:24:43,828.828 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:24:43,928.928 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:24:43,931.931 INFO    ] No camera update needed
[2026-08-29 20:24:43,933.933 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:24:43,935.935 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:24:43,941.941 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:24:43,945.945 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:24:45,985.985 INFO    ] ================================================
[2026-08-29 20:24:46,000.000 INFO    ] Launching Daemon at Sat Aug 29 20:24:45 IST 2026
[2026-08-29 20:24:46,011.011 INFO    ] ================================================
[2026-08-29 20:24:46,680.680 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:24:46
[2026-08-29 20:24:47,183.183 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:24:47,336.336 INFO    ] Initializing speech engine...
[2026-08-29 20:24:47,342.342 INFO    ] 2026-08-29 20:24:47
[2026-08-29 20:24:47,615.615 INFO    ] 2026-08-29 20:24:47
[2026-08-29 20:24:47,702.702 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:24:47,857.857 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:24:47,866.866 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:24:48,006.006 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:24:48,046.046 INFO    ] time= 29/08/2026 20:24:48
[2026-08-29 20:24:48,101.101 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:24:48,142.142 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:24:48,196.196 INFO    ] No existing commands found in stream
[2026-08-29 20:24:53,209.209 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:24:53,212.212 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-08-29 20:24:54,105.105 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:24:54,107.107 INFO    ] Checking for system updates...
[2026-08-29 20:24:54,127.127 INFO    ] 200
[2026-08-29 20:24:54,128.128 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:24:54,159.159 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:24:54,160.160 INFO    ] No update needed
[2026-08-29 20:24:54,161.161 INFO    ] Checking for camera pi updates...
[2026-08-29 20:24:54,180.180 INFO    ] 200
[2026-08-29 20:24:54,182.182 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:24:54,204.204 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:24:54,309.309 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:24:54,310.310 INFO    ] No camera update needed
[2026-08-29 20:24:54,311.311 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:24:54,313.313 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:24:54,315.315 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:24:54,318.318 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:24:56,359.359 INFO    ] ================================================
[2026-08-29 20:24:56,375.375 INFO    ] Launching Daemon at Sat Aug 29 20:24:56 IST 2026
[2026-08-29 20:24:56,387.387 INFO    ] ================================================
[2026-08-29 20:24:56,736.736 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:24:56
[2026-08-29 20:24:57,051.051 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:24:57,181.181 INFO    ] Initializing speech engine...
[2026-08-29 20:24:57,186.186 INFO    ] 2026-08-29 20:24:57
[2026-08-29 20:24:57,405.405 INFO    ] 2026-08-29 20:24:57
[2026-08-29 20:24:57,435.435 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:24:57,548.548 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:24:57,556.556 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:24:57,720.720 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:24:57,760.760 INFO    ] time= 29/08/2026 20:24:57
[2026-08-29 20:24:57,766.766 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:24:57,785.785 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:24:57,874.874 INFO    ] No existing commands found in stream
[2026-08-29 20:25:02,892.892 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:25:02,895.895 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-08-29 20:25:06,024.024 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:25:06,026.026 INFO    ] Checking for system updates...
[2026-08-29 20:25:06,046.046 INFO    ] 200
[2026-08-29 20:25:06,047.047 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:25:06,077.077 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:25:06,078.078 INFO    ] No update needed
[2026-08-29 20:25:06,079.079 INFO    ] Checking for camera pi updates...
[2026-08-29 20:25:06,098.098 INFO    ] 200
[2026-08-29 20:25:06,100.100 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:25:06,123.123 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:25:06,220.220 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:25:06,222.222 INFO    ] No camera update needed
[2026-08-29 20:25:06,223.223 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:25:06,224.224 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:25:06,227.227 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:25:06,230.230 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:25:08,270.270 INFO    ] ================================================
[2026-08-29 20:25:08,285.285 INFO    ] Launching Daemon at Sat Aug 29 20:25:08 IST 2026
[2026-08-29 20:25:08,296.296 INFO    ] ================================================
[2026-08-29 20:25:08,622.622 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:25:08
[2026-08-29 20:25:08,940.940 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:25:09,156.156 INFO    ] Initializing speech engine...
[2026-08-29 20:25:09,173.173 INFO    ] 2026-08-29 20:25:09
[2026-08-29 20:25:09,462.462 INFO    ] 2026-08-29 20:25:09
[2026-08-29 20:25:09,501.501 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:25:09,698.698 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:25:09,705.705 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:25:09,813.813 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:25:09,819.819 INFO    ] time= 29/08/2026 20:25:09
[2026-08-29 20:25:09,824.824 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:25:09,847.847 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:25:09,900.900 INFO    ] No existing commands found in stream
[2026-08-29 20:25:14,911.911 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:25:14,914.914 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-08-29 20:25:18,155.155 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:25:18,156.156 INFO    ] Checking for system updates...
[2026-08-29 20:25:18,178.178 INFO    ] 200
[2026-08-29 20:25:18,179.179 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:25:18,212.212 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:25:18,214.214 INFO    ] No update needed
[2026-08-29 20:25:18,215.215 INFO    ] Checking for camera pi updates...
[2026-08-29 20:25:18,234.234 INFO    ] 200
[2026-08-29 20:25:18,235.235 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:25:18,259.259 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:25:18,344.344 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:25:18,347.347 INFO    ] No camera update needed
[2026-08-29 20:25:18,350.350 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:25:18,353.353 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:25:18,359.359 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:25:18,364.364 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:25:20,406.406 INFO    ] ================================================
[2026-08-29 20:25:20,422.422 INFO    ] Launching Daemon at Sat Aug 29 20:25:20 IST 2026
[2026-08-29 20:25:20,432.432 INFO    ] ================================================
[2026-08-29 20:25:21,017.017 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:25:21
[2026-08-29 20:25:21,517.517 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:25:21,649.649 INFO    ] Initializing speech engine...
[2026-08-29 20:25:21,654.654 INFO    ] 2026-08-29 20:25:21
[2026-08-29 20:25:21,857.857 INFO    ] 2026-08-29 20:25:21
[2026-08-29 20:25:21,891.891 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:25:22,011.011 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:25:22,014.014 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:25:22,143.143 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:25:22,160.160 INFO    ] time= 29/08/2026 20:25:22
[2026-08-29 20:25:22,167.167 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:25:22,175.175 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:25:22,297.297 INFO    ] No existing commands found in stream
[2026-08-29 20:25:27,322.322 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:25:27,325.325 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-08-29 20:25:30,163.163 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:25:30,165.165 INFO    ] Checking for system updates...
[2026-08-29 20:25:30,185.185 INFO    ] 200
[2026-08-29 20:25:30,186.186 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:25:30,220.220 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:25:30,222.222 INFO    ] No update needed
[2026-08-29 20:25:30,223.223 INFO    ] Checking for camera pi updates...
[2026-08-29 20:25:30,242.242 INFO    ] 200
[2026-08-29 20:25:30,244.244 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:25:30,267.267 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:25:30,372.372 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:25:30,373.373 INFO    ] No camera update needed
[2026-08-29 20:25:30,374.374 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:25:30,376.376 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:25:30,379.379 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:25:30,381.381 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:25:32,413.413 INFO    ] ================================================
[2026-08-29 20:25:32,422.422 INFO    ] Launching Daemon at Sat Aug 29 20:25:32 IST 2026
[2026-08-29 20:25:32,429.429 INFO    ] ================================================
[2026-08-29 20:25:32,982.982 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:25:32
[2026-08-29 20:25:33,597.597 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:25:33,854.854 INFO    ] Initializing speech engine...
[2026-08-29 20:25:33,862.862 INFO    ] 2026-08-29 20:25:33
[2026-08-29 20:25:34,159.159 INFO    ] 2026-08-29 20:25:34
[2026-08-29 20:25:34,198.198 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:25:34,395.395 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:25:34,401.401 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:25:34,533.533 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:25:34,539.539 INFO    ] time= 29/08/2026 20:25:34
[2026-08-29 20:25:34,546.546 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:25:34,565.565 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:25:34,667.667 INFO    ] No existing commands found in stream
[2026-08-29 20:25:39,678.678 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:25:39,680.680 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-08-29 20:25:42,904.904 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:25:42,906.906 INFO    ] Checking for system updates...
[2026-08-29 20:25:42,926.926 INFO    ] 200
[2026-08-29 20:25:42,927.927 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:25:42,957.957 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:25:42,958.958 INFO    ] No update needed
[2026-08-29 20:25:42,960.960 INFO    ] Checking for camera pi updates...
[2026-08-29 20:25:42,979.979 INFO    ] 200
[2026-08-29 20:25:42,980.980 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:25:43,003.003 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:25:43,093.093 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:25:43,095.095 INFO    ] No camera update needed
[2026-08-29 20:25:43,096.096 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:25:43,097.097 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:25:43,100.100 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:25:43,103.103 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:25:45,144.144 INFO    ] ================================================
[2026-08-29 20:25:45,162.162 INFO    ] Launching Daemon at Sat Aug 29 20:25:45 IST 2026
[2026-08-29 20:25:45,173.173 INFO    ] ================================================
[2026-08-29 20:25:45,548.548 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:25:45
[2026-08-29 20:25:45,865.865 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:25:46,010.010 INFO    ] Initializing speech engine...
[2026-08-29 20:25:46,015.015 INFO    ] 2026-08-29 20:25:46
[2026-08-29 20:25:46,219.219 INFO    ] 2026-08-29 20:25:46
[2026-08-29 20:25:46,247.247 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:25:46,370.370 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:25:46,424.424 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:25:46,606.606 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:25:46,652.652 INFO    ] time= 29/08/2026 20:25:46
[2026-08-29 20:25:46,707.707 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:25:46,736.736 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:25:46,868.868 INFO    ] No existing commands found in stream
[2026-08-29 20:25:51,881.881 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:25:51,884.884 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-08-29 20:25:52,494.494 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:25:52,495.495 INFO    ] Checking for system updates...
[2026-08-29 20:25:52,516.516 INFO    ] 200
[2026-08-29 20:25:52,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:25:52,550.550 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:25:52,551.551 INFO    ] No update needed
[2026-08-29 20:25:52,553.553 INFO    ] Checking for camera pi updates...
[2026-08-29 20:25:52,574.574 INFO    ] 200
[2026-08-29 20:25:52,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:25:52,599.599 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:25:52,687.687 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:25:52,688.688 INFO    ] No camera update needed
[2026-08-29 20:25:52,689.689 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:25:52,691.691 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:25:52,694.694 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:25:52,697.697 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:25:54,737.737 INFO    ] ================================================
[2026-08-29 20:25:54,752.752 INFO    ] Launching Daemon at Sat Aug 29 20:25:54 IST 2026
[2026-08-29 20:25:54,763.763 INFO    ] ================================================
[2026-08-29 20:25:55,281.281 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:25:55
[2026-08-29 20:25:55,867.867 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:25:56,141.141 INFO    ] Initializing speech engine...
[2026-08-29 20:25:56,147.147 INFO    ] 2026-08-29 20:25:56
[2026-08-29 20:25:56,404.404 INFO    ] 2026-08-29 20:25:56
[2026-08-29 20:25:56,457.457 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:25:56,598.598 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:25:56,610.610 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:25:56,741.741 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:25:56,759.759 INFO    ] time= 29/08/2026 20:25:56
[2026-08-29 20:25:56,764.764 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:25:56,770.770 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:25:56,837.837 INFO    ] No existing commands found in stream
[2026-08-29 20:26:01,867.867 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:26:01,870.870 INFO    ] Waiting 2.66 seconds before fallback handling...
[2026-08-29 20:26:04,936.936 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:26:04,939.939 INFO    ] Checking for system updates...
[2026-08-29 20:26:04,979.979 INFO    ] 200
[2026-08-29 20:26:04,981.981 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:26:05,033.033 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:26:05,036.036 INFO    ] No update needed
[2026-08-29 20:26:05,038.038 INFO    ] Checking for camera pi updates...
[2026-08-29 20:26:05,072.072 INFO    ] 200
[2026-08-29 20:26:05,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:26:05,115.115 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:26:05,207.207 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:26:05,209.209 INFO    ] No camera update needed
[2026-08-29 20:26:05,210.210 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:26:05,211.211 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:26:05,214.214 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:26:05,217.217 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:26:07,255.255 INFO    ] ================================================
[2026-08-29 20:26:07,271.271 INFO    ] Launching Daemon at Sat Aug 29 20:26:07 IST 2026
[2026-08-29 20:26:07,281.281 INFO    ] ================================================
[2026-08-29 20:26:07,650.650 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:26:07
[2026-08-29 20:26:07,968.968 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:26:08,107.107 INFO    ] Initializing speech engine...
[2026-08-29 20:26:08,118.118 INFO    ] 2026-08-29 20:26:08
[2026-08-29 20:26:08,347.347 INFO    ] 2026-08-29 20:26:08
[2026-08-29 20:26:08,401.401 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:26:08,563.563 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:26:08,571.571 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:26:08,731.731 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:26:08,772.772 INFO    ] time= 29/08/2026 20:26:08
[2026-08-29 20:26:08,778.778 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:26:08,796.796 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:26:08,908.908 INFO    ] No existing commands found in stream
[2026-08-29 20:26:13,935.935 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:26:13,938.938 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 20:26:14,900.900 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:26:14,901.901 INFO    ] Checking for system updates...
[2026-08-29 20:26:14,922.922 INFO    ] 200
[2026-08-29 20:26:14,923.923 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:26:14,953.953 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:26:14,954.954 INFO    ] No update needed
[2026-08-29 20:26:14,956.956 INFO    ] Checking for camera pi updates...
[2026-08-29 20:26:14,975.975 INFO    ] 200
[2026-08-29 20:26:14,976.976 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:26:14,999.999 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:26:15,072.072 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:26:15,074.074 INFO    ] No camera update needed
[2026-08-29 20:26:15,075.075 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:26:15,076.076 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:26:15,079.079 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:26:15,082.082 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:26:17,121.121 INFO    ] ================================================
[2026-08-29 20:26:17,136.136 INFO    ] Launching Daemon at Sat Aug 29 20:26:17 IST 2026
[2026-08-29 20:26:17,148.148 INFO    ] ================================================
[2026-08-29 20:26:17,648.648 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:26:17
[2026-08-29 20:26:18,232.232 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:26:18,501.501 INFO    ] Initializing speech engine...
[2026-08-29 20:26:18,509.509 INFO    ] 2026-08-29 20:26:18
[2026-08-29 20:26:18,757.757 INFO    ] 2026-08-29 20:26:18
[2026-08-29 20:26:18,793.793 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:26:18,966.966 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:26:18,978.978 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:26:19,118.118 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:26:19,127.127 INFO    ] time= 29/08/2026 20:26:19
[2026-08-29 20:26:19,133.133 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:26:19,157.157 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:26:19,283.283 INFO    ] No existing commands found in stream
[2026-08-29 20:26:24,308.308 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:26:24,316.316 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-08-29 20:26:28,353.353 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:26:28,354.354 INFO    ] Checking for system updates...
[2026-08-29 20:26:28,375.375 INFO    ] 200
[2026-08-29 20:26:28,377.377 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:26:28,407.407 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:26:28,409.409 INFO    ] No update needed
[2026-08-29 20:26:28,410.410 INFO    ] Checking for camera pi updates...
[2026-08-29 20:26:28,429.429 INFO    ] 200
[2026-08-29 20:26:28,431.431 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:26:28,456.456 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:26:28,570.570 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:26:28,572.572 INFO    ] No camera update needed
[2026-08-29 20:26:28,575.575 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:26:28,577.577 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:26:28,582.582 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:26:28,587.587 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:26:30,626.626 INFO    ] ================================================
[2026-08-29 20:26:30,643.643 INFO    ] Launching Daemon at Sat Aug 29 20:26:30 IST 2026
[2026-08-29 20:26:30,654.654 INFO    ] ================================================
[2026-08-29 20:26:31,240.240 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:26:31
[2026-08-29 20:26:31,727.727 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:26:31,871.871 INFO    ] Initializing speech engine...
[2026-08-29 20:26:31,877.877 INFO    ] 2026-08-29 20:26:31
[2026-08-29 20:26:32,096.096 INFO    ] 2026-08-29 20:26:32
[2026-08-29 20:26:32,176.176 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:26:32,334.334 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:26:32,344.344 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:26:32,481.481 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:26:32,514.514 INFO    ] time= 29/08/2026 20:26:32
[2026-08-29 20:26:32,579.579 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:26:32,619.619 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:26:32,680.680 INFO    ] No existing commands found in stream
[2026-08-29 20:26:37,693.693 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:26:37,695.695 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-08-29 20:26:38,594.594 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:26:38,596.596 INFO    ] Checking for system updates...
[2026-08-29 20:26:38,616.616 INFO    ] 200
[2026-08-29 20:26:38,618.618 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:26:38,650.650 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:26:38,651.651 INFO    ] No update needed
[2026-08-29 20:26:38,653.653 INFO    ] Checking for camera pi updates...
[2026-08-29 20:26:38,672.672 INFO    ] 200
[2026-08-29 20:26:38,673.673 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:26:38,697.697 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:26:38,792.792 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:26:38,793.793 INFO    ] No camera update needed
[2026-08-29 20:26:38,795.795 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:26:38,796.796 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:26:38,799.799 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:26:38,802.802 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:26:40,841.841 INFO    ] ================================================
[2026-08-29 20:26:40,856.856 INFO    ] Launching Daemon at Sat Aug 29 20:26:40 IST 2026
[2026-08-29 20:26:40,868.868 INFO    ] ================================================
[2026-08-29 20:26:41,535.535 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:26:41
[2026-08-29 20:26:42,222.222 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:26:42,526.526 INFO    ] Initializing speech engine...
[2026-08-29 20:26:42,537.537 INFO    ] 2026-08-29 20:26:42
[2026-08-29 20:26:42,813.813 INFO    ] 2026-08-29 20:26:42
[2026-08-29 20:26:42,877.877 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:26:43,109.109 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:26:43,119.119 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:26:43,256.256 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:26:43,309.309 INFO    ] time= 29/08/2026 20:26:43
[2026-08-29 20:26:43,374.374 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:26:43,394.394 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:26:43,454.454 INFO    ] No existing commands found in stream
[2026-08-29 20:26:48,467.467 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:26:48,471.471 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-08-29 20:26:49,062.062 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:26:49,064.064 INFO    ] Checking for system updates...
[2026-08-29 20:26:49,084.084 INFO    ] 200
[2026-08-29 20:26:49,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:26:49,116.116 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:26:49,117.117 INFO    ] No update needed
[2026-08-29 20:26:49,118.118 INFO    ] Checking for camera pi updates...
[2026-08-29 20:26:49,140.140 INFO    ] 200
[2026-08-29 20:26:49,141.141 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:26:49,165.165 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:26:49,270.270 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:26:49,271.271 INFO    ] No camera update needed
[2026-08-29 20:26:49,272.272 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:26:49,273.273 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:26:49,276.276 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:26:49,279.279 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:26:51,318.318 INFO    ] ================================================
[2026-08-29 20:26:51,335.335 INFO    ] Launching Daemon at Sat Aug 29 20:26:51 IST 2026
[2026-08-29 20:26:51,346.346 INFO    ] ================================================
[2026-08-29 20:26:51,854.854 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:26:51
[2026-08-29 20:26:52,439.439 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:26:52,709.709 INFO    ] Initializing speech engine...
[2026-08-29 20:26:52,716.716 INFO    ] 2026-08-29 20:26:52
[2026-08-29 20:26:52,965.965 INFO    ] 2026-08-29 20:26:52
[2026-08-29 20:26:53,001.001 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:26:53,170.170 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:26:53,184.184 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:26:53,293.293 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:26:53,298.298 INFO    ] time= 29/08/2026 20:26:53
[2026-08-29 20:26:53,333.333 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:26:53,341.341 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:26:53,410.410 INFO    ] No existing commands found in stream
[2026-08-29 20:26:58,422.422 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:26:58,425.425 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-08-29 20:27:00,334.334 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:27:00,336.336 INFO    ] Checking for system updates...
[2026-08-29 20:27:00,357.357 INFO    ] 200
[2026-08-29 20:27:00,358.358 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:27:00,388.388 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:27:00,390.390 INFO    ] No update needed
[2026-08-29 20:27:00,391.391 INFO    ] Checking for camera pi updates...
[2026-08-29 20:27:00,411.411 INFO    ] 200
[2026-08-29 20:27:00,413.413 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:27:00,436.436 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:27:00,533.533 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:27:00,535.535 INFO    ] No camera update needed
[2026-08-29 20:27:00,536.536 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:27:00,537.537 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:27:00,541.541 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:27:00,544.544 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:27:02,586.586 INFO    ] ================================================
[2026-08-29 20:27:02,605.605 INFO    ] Launching Daemon at Sat Aug 29 20:27:02 IST 2026
[2026-08-29 20:27:02,617.617 INFO    ] ================================================
[2026-08-29 20:27:03,309.309 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:27:03
[2026-08-29 20:27:03,902.902 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:27:04,153.153 INFO    ] Initializing speech engine...
[2026-08-29 20:27:04,168.168 INFO    ] 2026-08-29 20:27:04
[2026-08-29 20:27:04,433.433 INFO    ] 2026-08-29 20:27:04
[2026-08-29 20:27:04,469.469 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:27:04,647.647 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:27:04,661.661 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:27:04,773.773 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:27:04,778.778 INFO    ] time= 29/08/2026 20:27:04
[2026-08-29 20:27:04,797.797 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:27:04,819.819 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:27:04,895.895 INFO    ] No existing commands found in stream
[2026-08-29 20:27:09,910.910 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:27:09,913.913 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-08-29 20:27:13,999.999 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:27:14,001.001 INFO    ] Checking for system updates...
[2026-08-29 20:27:14,021.021 INFO    ] 200
[2026-08-29 20:27:14,023.023 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:27:14,053.053 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:27:14,054.054 INFO    ] No update needed
[2026-08-29 20:27:14,056.056 INFO    ] Checking for camera pi updates...
[2026-08-29 20:27:14,075.075 INFO    ] 200
[2026-08-29 20:27:14,077.077 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:27:14,101.101 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:27:14,216.216 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:27:14,218.218 INFO    ] No camera update needed
[2026-08-29 20:27:14,219.219 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:27:14,221.221 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:27:14,224.224 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:27:14,227.227 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:27:16,268.268 INFO    ] ================================================
[2026-08-29 20:27:16,284.284 INFO    ] Launching Daemon at Sat Aug 29 20:27:16 IST 2026
[2026-08-29 20:27:16,296.296 INFO    ] ================================================
[2026-08-29 20:27:16,662.662 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:27:16
[2026-08-29 20:27:17,003.003 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:27:17,155.155 INFO    ] Initializing speech engine...
[2026-08-29 20:27:17,161.161 INFO    ] 2026-08-29 20:27:17
[2026-08-29 20:27:17,421.421 INFO    ] 2026-08-29 20:27:17
[2026-08-29 20:27:17,482.482 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:27:17,707.707 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:27:17,717.717 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:27:17,853.853 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:27:17,901.901 INFO    ] time= 29/08/2026 20:27:17
[2026-08-29 20:27:17,972.972 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:27:17,988.988 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:27:18,081.081 INFO    ] No existing commands found in stream
[2026-08-29 20:27:23,112.112 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:27:23,116.116 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 20:27:26,466.466 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:27:26,467.467 INFO    ] Checking for system updates...
[2026-08-29 20:27:26,487.487 INFO    ] 200
[2026-08-29 20:27:26,489.489 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:27:26,521.521 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:27:26,523.523 INFO    ] No update needed
[2026-08-29 20:27:26,524.524 INFO    ] Checking for camera pi updates...
[2026-08-29 20:27:26,543.543 INFO    ] 200
[2026-08-29 20:27:26,544.544 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:27:26,573.573 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:27:26,653.653 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:27:26,655.655 INFO    ] No camera update needed
[2026-08-29 20:27:26,657.657 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:27:26,660.660 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:27:26,665.665 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:27:26,670.670 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:27:28,710.710 INFO    ] ================================================
[2026-08-29 20:27:28,726.726 INFO    ] Launching Daemon at Sat Aug 29 20:27:28 IST 2026
[2026-08-29 20:27:28,736.736 INFO    ] ================================================
[2026-08-29 20:27:29,303.303 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:27:29
[2026-08-29 20:27:29,750.750 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:27:29,888.888 INFO    ] Initializing speech engine...
[2026-08-29 20:27:29,898.898 INFO    ] 2026-08-29 20:27:29
[2026-08-29 20:27:30,101.101 INFO    ] 2026-08-29 20:27:30
[2026-08-29 20:27:30,129.129 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:27:30,251.251 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:27:30,294.294 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:27:30,444.444 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:27:30,500.500 INFO    ] time= 29/08/2026 20:27:30
[2026-08-29 20:27:30,539.539 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:27:30,544.544 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:27:30,614.614 INFO    ] No existing commands found in stream
[2026-08-29 20:27:35,625.625 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:27:35,628.628 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-08-29 20:27:39,328.328 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:27:39,330.330 INFO    ] Checking for system updates...
[2026-08-29 20:27:39,350.350 INFO    ] 200
[2026-08-29 20:27:39,351.351 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:27:39,384.384 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:27:39,385.385 INFO    ] No update needed
[2026-08-29 20:27:39,386.386 INFO    ] Checking for camera pi updates...
[2026-08-29 20:27:39,407.407 INFO    ] 200
[2026-08-29 20:27:39,409.409 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:27:39,433.433 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:27:39,515.515 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:27:39,516.516 INFO    ] No camera update needed
[2026-08-29 20:27:39,518.518 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:27:39,519.519 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:27:39,522.522 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:27:39,525.525 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:27:41,565.565 INFO    ] ================================================
[2026-08-29 20:27:41,580.580 INFO    ] Launching Daemon at Sat Aug 29 20:27:41 IST 2026
[2026-08-29 20:27:41,591.591 INFO    ] ================================================
[2026-08-29 20:27:41,984.984 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:27:41
[2026-08-29 20:27:42,323.323 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:27:42,475.475 INFO    ] Initializing speech engine...
[2026-08-29 20:27:42,480.480 INFO    ] 2026-08-29 20:27:42
[2026-08-29 20:27:42,691.691 INFO    ] 2026-08-29 20:27:42
[2026-08-29 20:27:42,721.721 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:27:42,845.845 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:27:42,903.903 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:27:43,039.039 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:27:43,101.101 INFO    ] time= 29/08/2026 20:27:43
[2026-08-29 20:27:43,139.139 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:27:43,146.146 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:27:43,211.211 INFO    ] No existing commands found in stream
[2026-08-29 20:27:48,223.223 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:27:48,226.226 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-08-29 20:27:50,619.619 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:27:50,620.620 INFO    ] Checking for system updates...
[2026-08-29 20:27:50,641.641 INFO    ] 200
[2026-08-29 20:27:50,643.643 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:27:50,673.673 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:27:50,675.675 INFO    ] No update needed
[2026-08-29 20:27:50,676.676 INFO    ] Checking for camera pi updates...
[2026-08-29 20:27:50,695.695 INFO    ] 200
[2026-08-29 20:27:50,697.697 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:27:50,720.720 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:27:50,804.804 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:27:50,806.806 INFO    ] No camera update needed
[2026-08-29 20:27:50,807.807 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:27:50,809.809 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:27:50,812.812 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:27:50,815.815 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:27:52,854.854 INFO    ] ================================================
[2026-08-29 20:27:52,869.869 INFO    ] Launching Daemon at Sat Aug 29 20:27:52 IST 2026
[2026-08-29 20:27:52,881.881 INFO    ] ================================================
[2026-08-29 20:27:53,232.232 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:27:53
[2026-08-29 20:27:53,551.551 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:27:53,694.694 INFO    ] Initializing speech engine...
[2026-08-29 20:27:53,699.699 INFO    ] 2026-08-29 20:27:53
[2026-08-29 20:27:53,883.883 INFO    ] 2026-08-29 20:27:53
[2026-08-29 20:27:53,941.941 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:27:54,105.105 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:27:54,127.127 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:27:54,305.305 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:27:54,331.331 INFO    ] time= 29/08/2026 20:27:54
[2026-08-29 20:27:54,381.381 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:27:54,437.437 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:27:54,518.518 INFO    ] No existing commands found in stream
[2026-08-29 20:27:59,555.555 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:27:59,558.558 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-08-29 20:28:02,154.154 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:28:02,159.159 INFO    ] Checking for system updates...
[2026-08-29 20:28:02,207.207 INFO    ] 200
[2026-08-29 20:28:02,210.210 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:28:02,284.284 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:28:02,287.287 INFO    ] No update needed
[2026-08-29 20:28:02,290.290 INFO    ] Checking for camera pi updates...
[2026-08-29 20:28:02,333.333 INFO    ] 200
[2026-08-29 20:28:02,336.336 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:28:02,389.389 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:28:02,526.526 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:28:02,529.529 INFO    ] No camera update needed
[2026-08-29 20:28:02,532.532 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:28:02,535.535 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:28:02,543.543 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:28:02,551.551 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:28:04,594.594 INFO    ] ================================================
[2026-08-29 20:28:04,609.609 INFO    ] Launching Daemon at Sat Aug 29 20:28:04 IST 2026
[2026-08-29 20:28:04,620.620 INFO    ] ================================================
[2026-08-29 20:28:04,960.960 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:28:04
[2026-08-29 20:28:05,279.279 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:28:05,416.416 INFO    ] Initializing speech engine...
[2026-08-29 20:28:05,425.425 INFO    ] 2026-08-29 20:28:05
[2026-08-29 20:28:05,632.632 INFO    ] 2026-08-29 20:28:05
[2026-08-29 20:28:05,718.718 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:28:05,892.892 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:28:05,902.902 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:28:06,052.052 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:28:06,058.058 INFO    ] time= 29/08/2026 20:28:06
[2026-08-29 20:28:06,128.128 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:28:06,182.182 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:28:06,275.275 INFO    ] No existing commands found in stream
[2026-08-29 20:28:11,287.287 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:28:11,290.290 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-08-29 20:28:14,346.346 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:28:14,347.347 INFO    ] Checking for system updates...
[2026-08-29 20:28:14,368.368 INFO    ] 200
[2026-08-29 20:28:14,369.369 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:28:14,399.399 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:28:14,400.400 INFO    ] No update needed
[2026-08-29 20:28:14,401.401 INFO    ] Checking for camera pi updates...
[2026-08-29 20:28:14,420.420 INFO    ] 200
[2026-08-29 20:28:14,422.422 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:28:14,446.446 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:28:14,644.644 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:28:14,645.645 INFO    ] No camera update needed
[2026-08-29 20:28:14,647.647 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:28:14,648.648 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:28:14,651.651 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:28:14,654.654 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:28:16,691.691 INFO    ] ================================================
[2026-08-29 20:28:16,707.707 INFO    ] Launching Daemon at Sat Aug 29 20:28:16 IST 2026
[2026-08-29 20:28:16,719.719 INFO    ] ================================================
[2026-08-29 20:28:17,088.088 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:28:17
[2026-08-29 20:28:17,404.404 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:28:17,549.549 INFO    ] Initializing speech engine...
[2026-08-29 20:28:17,554.554 INFO    ] 2026-08-29 20:28:17
[2026-08-29 20:28:17,759.759 INFO    ] 2026-08-29 20:28:17
[2026-08-29 20:28:17,788.788 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:28:17,931.931 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:28:17,978.978 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:28:18,115.115 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:28:18,167.167 INFO    ] time= 29/08/2026 20:28:18
[2026-08-29 20:28:18,208.208 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:28:18,214.214 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:28:18,268.268 INFO    ] No existing commands found in stream
[2026-08-29 20:28:23,278.278 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:28:23,281.281 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-08-29 20:28:25,224.224 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:28:25,226.226 INFO    ] Checking for system updates...
[2026-08-29 20:28:25,246.246 INFO    ] 200
[2026-08-29 20:28:25,247.247 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:28:25,279.279 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:28:25,281.281 INFO    ] No update needed
[2026-08-29 20:28:25,282.282 INFO    ] Checking for camera pi updates...
[2026-08-29 20:28:25,301.301 INFO    ] 200
[2026-08-29 20:28:25,303.303 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:28:25,326.326 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:28:25,423.423 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:28:25,425.425 INFO    ] No camera update needed
[2026-08-29 20:28:25,426.426 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:28:25,427.427 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:28:25,430.430 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:28:25,433.433 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:28:27,473.473 INFO    ] ================================================
[2026-08-29 20:28:27,489.489 INFO    ] Launching Daemon at Sat Aug 29 20:28:27 IST 2026
[2026-08-29 20:28:27,500.500 INFO    ] ================================================
[2026-08-29 20:28:27,898.898 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:28:27
[2026-08-29 20:28:28,236.236 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:28:28,385.385 INFO    ] Initializing speech engine...
[2026-08-29 20:28:28,405.405 INFO    ] 2026-08-29 20:28:28
[2026-08-29 20:28:28,681.681 INFO    ] 2026-08-29 20:28:28
[2026-08-29 20:28:28,726.726 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:28:28,920.920 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:28:28,960.960 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:28:29,127.127 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:28:29,144.144 INFO    ] time= 29/08/2026 20:28:29
[2026-08-29 20:28:29,204.204 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:28:29,264.264 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:28:29,320.320 INFO    ] No existing commands found in stream
[2026-08-29 20:28:34,333.333 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:28:34,336.336 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-08-29 20:28:34,802.802 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:28:34,805.805 INFO    ] Checking for system updates...
[2026-08-29 20:28:34,839.839 INFO    ] 200
[2026-08-29 20:28:34,840.840 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:28:34,871.871 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:28:34,873.873 INFO    ] No update needed
[2026-08-29 20:28:34,874.874 INFO    ] Checking for camera pi updates...
[2026-08-29 20:28:34,894.894 INFO    ] 200
[2026-08-29 20:28:34,895.895 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:28:34,919.919 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:28:35,005.005 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:28:35,006.006 INFO    ] No camera update needed
[2026-08-29 20:28:35,007.007 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:28:35,008.008 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:28:35,011.011 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:28:35,014.014 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:28:37,053.053 INFO    ] ================================================
[2026-08-29 20:28:37,068.068 INFO    ] Launching Daemon at Sat Aug 29 20:28:37 IST 2026
[2026-08-29 20:28:37,079.079 INFO    ] ================================================
[2026-08-29 20:28:37,437.437 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:28:37
[2026-08-29 20:28:37,749.749 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:28:37,886.886 INFO    ] Initializing speech engine...
[2026-08-29 20:28:37,896.896 INFO    ] 2026-08-29 20:28:37
[2026-08-29 20:28:38,135.135 INFO    ] 2026-08-29 20:28:38
[2026-08-29 20:28:38,189.189 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:28:38,351.351 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:28:38,360.360 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:28:38,523.523 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:28:38,556.556 INFO    ] time= 29/08/2026 20:28:38
[2026-08-29 20:28:38,562.562 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:28:38,580.580 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:28:38,673.673 INFO    ] No existing commands found in stream
[2026-08-29 20:28:43,700.700 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:28:43,703.703 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-08-29 20:28:46,309.309 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:28:46,311.311 INFO    ] Checking for system updates...
[2026-08-29 20:28:46,331.331 INFO    ] 200
[2026-08-29 20:28:46,333.333 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:28:46,363.363 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:28:46,364.364 INFO    ] No update needed
[2026-08-29 20:28:46,365.365 INFO    ] Checking for camera pi updates...
[2026-08-29 20:28:46,385.385 INFO    ] 200
[2026-08-29 20:28:46,387.387 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:28:46,409.409 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:28:46,488.488 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:28:46,490.490 INFO    ] No camera update needed
[2026-08-29 20:28:46,493.493 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:28:46,495.495 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:28:46,500.500 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:28:46,505.505 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:28:48,545.545 INFO    ] ================================================
[2026-08-29 20:28:48,560.560 INFO    ] Launching Daemon at Sat Aug 29 20:28:48 IST 2026
[2026-08-29 20:28:48,571.571 INFO    ] ================================================
[2026-08-29 20:28:49,204.204 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:28:49
[2026-08-29 20:28:49,719.719 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:28:49,869.869 INFO    ] Initializing speech engine...
[2026-08-29 20:28:49,875.875 INFO    ] 2026-08-29 20:28:49
[2026-08-29 20:28:50,082.082 INFO    ] 2026-08-29 20:28:50
[2026-08-29 20:28:50,110.110 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:28:50,233.233 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:28:50,296.296 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:28:50,435.435 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:28:50,501.501 INFO    ] time= 29/08/2026 20:28:50
[2026-08-29 20:28:50,525.525 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:28:50,532.532 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:28:50,598.598 INFO    ] No existing commands found in stream
[2026-08-29 20:28:55,609.609 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:28:55,612.612 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 20:28:56,153.153 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:28:56,154.154 INFO    ] Checking for system updates...
[2026-08-29 20:28:56,175.175 INFO    ] 200
[2026-08-29 20:28:56,176.176 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:28:56,207.207 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:28:56,208.208 INFO    ] No update needed
[2026-08-29 20:28:56,209.209 INFO    ] Checking for camera pi updates...
[2026-08-29 20:28:56,228.228 INFO    ] 200
[2026-08-29 20:28:56,229.229 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:28:56,252.252 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:28:56,333.333 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:28:56,334.334 INFO    ] No camera update needed
[2026-08-29 20:28:56,335.335 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:28:56,336.336 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:28:56,339.339 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:28:56,342.342 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:28:58,380.380 INFO    ] ================================================
[2026-08-29 20:28:58,395.395 INFO    ] Launching Daemon at Sat Aug 29 20:28:58 IST 2026
[2026-08-29 20:28:58,410.410 INFO    ] ================================================
[2026-08-29 20:28:58,744.744 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:28:58
[2026-08-29 20:28:59,057.057 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:28:59,201.201 INFO    ] Initializing speech engine...
[2026-08-29 20:28:59,204.204 INFO    ] 2026-08-29 20:28:59
[2026-08-29 20:28:59,389.389 INFO    ] 2026-08-29 20:28:59
[2026-08-29 20:28:59,468.468 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:28:59,615.615 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:28:59,624.624 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:28:59,756.756 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:28:59,798.798 INFO    ] time= 29/08/2026 20:28:59
[2026-08-29 20:28:59,847.847 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:28:59,889.889 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:28:59,940.940 INFO    ] No existing commands found in stream
[2026-08-29 20:29:04,952.952 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:29:04,955.955 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-08-29 20:29:08,803.803 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:29:08,804.804 INFO    ] Checking for system updates...
[2026-08-29 20:29:08,825.825 INFO    ] 200
[2026-08-29 20:29:08,826.826 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:29:08,855.855 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:29:08,857.857 INFO    ] No update needed
[2026-08-29 20:29:08,858.858 INFO    ] Checking for camera pi updates...
[2026-08-29 20:29:08,878.878 INFO    ] 200
[2026-08-29 20:29:08,880.880 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:29:08,903.903 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:29:08,977.977 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:29:08,979.979 INFO    ] No camera update needed
[2026-08-29 20:29:08,980.980 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:29:08,981.981 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:29:08,984.984 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:29:08,987.987 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:29:11,026.026 INFO    ] ================================================
[2026-08-29 20:29:11,041.041 INFO    ] Launching Daemon at Sat Aug 29 20:29:11 IST 2026
[2026-08-29 20:29:11,051.051 INFO    ] ================================================
[2026-08-29 20:29:11,462.462 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:29:11
[2026-08-29 20:29:12,064.064 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:29:12,337.337 INFO    ] Initializing speech engine...
[2026-08-29 20:29:12,346.346 INFO    ] 2026-08-29 20:29:12
[2026-08-29 20:29:12,609.609 INFO    ] 2026-08-29 20:29:12
[2026-08-29 20:29:12,663.663 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:29:12,828.828 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:29:12,885.885 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:29:13,026.026 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:29:13,032.032 INFO    ] time= 29/08/2026 20:29:13
[2026-08-29 20:29:13,092.092 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:29:13,141.141 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:29:13,212.212 INFO    ] No existing commands found in stream
[2026-08-29 20:29:18,224.224 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:29:18,226.226 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-08-29 20:29:19,792.792 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:29:19,794.794 INFO    ] Checking for system updates...
[2026-08-29 20:29:19,814.814 INFO    ] 200
[2026-08-29 20:29:19,816.816 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:29:19,845.845 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:29:19,847.847 INFO    ] No update needed
[2026-08-29 20:29:19,848.848 INFO    ] Checking for camera pi updates...
[2026-08-29 20:29:19,867.867 INFO    ] 200
[2026-08-29 20:29:19,868.868 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:29:19,892.892 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:29:19,991.991 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:29:19,993.993 INFO    ] No camera update needed
[2026-08-29 20:29:19,994.994 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:29:19,995.995 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:29:19,998.998 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:29:20,001.001 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:29:22,040.040 INFO    ] ================================================
[2026-08-29 20:29:22,055.055 INFO    ] Launching Daemon at Sat Aug 29 20:29:22 IST 2026
[2026-08-29 20:29:22,066.066 INFO    ] ================================================
[2026-08-29 20:29:22,435.435 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:29:22
[2026-08-29 20:29:22,747.747 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:29:22,891.891 INFO    ] Initializing speech engine...
[2026-08-29 20:29:22,895.895 INFO    ] 2026-08-29 20:29:22
[2026-08-29 20:29:23,102.102 INFO    ] 2026-08-29 20:29:23
[2026-08-29 20:29:23,130.130 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:29:23,254.254 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:29:23,317.317 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:29:23,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:29:23,496.496 INFO    ] time= 29/08/2026 20:29:23
[2026-08-29 20:29:23,556.556 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:29:23,559.559 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:29:23,671.671 INFO    ] No existing commands found in stream
[2026-08-29 20:29:28,701.701 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:29:28,704.704 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-08-29 20:29:29,138.138 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:29:29,140.140 INFO    ] Checking for system updates...
[2026-08-29 20:29:29,160.160 INFO    ] 200
[2026-08-29 20:29:29,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:29:29,191.191 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:29:29,193.193 INFO    ] No update needed
[2026-08-29 20:29:29,194.194 INFO    ] Checking for camera pi updates...
[2026-08-29 20:29:29,213.213 INFO    ] 200
[2026-08-29 20:29:29,214.214 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:29:29,239.239 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:29:29,327.327 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:29:29,329.329 INFO    ] No camera update needed
[2026-08-29 20:29:29,331.331 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:29:29,334.334 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:29:29,339.339 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:29:29,344.344 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:29:31,384.384 INFO    ] ================================================
[2026-08-29 20:29:31,401.401 INFO    ] Launching Daemon at Sat Aug 29 20:29:31 IST 2026
[2026-08-29 20:29:31,413.413 INFO    ] ================================================
[2026-08-29 20:29:32,038.038 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:29:32
[2026-08-29 20:29:32,591.591 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:29:32,891.891 INFO    ] Initializing speech engine...
[2026-08-29 20:29:32,900.900 INFO    ] 2026-08-29 20:29:32
[2026-08-29 20:29:33,169.169 INFO    ] 2026-08-29 20:29:33
[2026-08-29 20:29:33,206.206 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:29:33,352.352 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:29:33,362.362 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:29:33,487.487 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:29:33,496.496 INFO    ] time= 29/08/2026 20:29:33
[2026-08-29 20:29:33,501.501 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:29:33,522.522 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:29:33,574.574 INFO    ] No existing commands found in stream
[2026-08-29 20:29:38,603.603 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:29:38,606.606 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-08-29 20:29:40,994.994 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:29:40,996.996 INFO    ] Checking for system updates...
[2026-08-29 20:29:41,016.016 INFO    ] 200
[2026-08-29 20:29:41,017.017 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:29:41,048.048 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:29:41,050.050 INFO    ] No update needed
[2026-08-29 20:29:41,051.051 INFO    ] Checking for camera pi updates...
[2026-08-29 20:29:41,070.070 INFO    ] 200
[2026-08-29 20:29:41,072.072 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:29:41,096.096 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:29:41,199.199 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:29:41,200.200 INFO    ] No camera update needed
[2026-08-29 20:29:41,201.201 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:29:41,203.203 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:29:41,206.206 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:29:41,208.208 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:29:43,246.246 INFO    ] ================================================
[2026-08-29 20:29:43,261.261 INFO    ] Launching Daemon at Sat Aug 29 20:29:43 IST 2026
[2026-08-29 20:29:43,272.272 INFO    ] ================================================
[2026-08-29 20:29:43,636.636 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:29:43
[2026-08-29 20:29:43,969.969 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:29:44,118.118 INFO    ] Initializing speech engine...
[2026-08-29 20:29:44,124.124 INFO    ] 2026-08-29 20:29:44
[2026-08-29 20:29:44,349.349 INFO    ] 2026-08-29 20:29:44
[2026-08-29 20:29:44,433.433 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:29:44,588.588 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:29:44,594.594 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:29:44,726.726 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:29:44,777.777 INFO    ] time= 29/08/2026 20:29:44
[2026-08-29 20:29:44,831.831 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:29:44,858.858 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:29:44,914.914 INFO    ] No existing commands found in stream
[2026-08-29 20:29:49,926.926 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:29:49,929.929 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 20:29:52,934.934 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:29:52,936.936 INFO    ] Checking for system updates...
[2026-08-29 20:29:52,960.960 INFO    ] 200
[2026-08-29 20:29:52,962.962 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:29:52,994.994 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:29:52,995.995 INFO    ] No update needed
[2026-08-29 20:29:52,997.997 INFO    ] Checking for camera pi updates...
[2026-08-29 20:29:53,016.016 INFO    ] 200
[2026-08-29 20:29:53,017.017 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:29:53,041.041 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:29:53,117.117 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:29:53,118.118 INFO    ] No camera update needed
[2026-08-29 20:29:53,120.120 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:29:53,121.121 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:29:53,124.124 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:29:53,127.127 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:29:55,165.165 INFO    ] ================================================
[2026-08-29 20:29:55,181.181 INFO    ] Launching Daemon at Sat Aug 29 20:29:55 IST 2026
[2026-08-29 20:29:55,191.191 INFO    ] ================================================
[2026-08-29 20:29:55,582.582 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:29:55
[2026-08-29 20:29:55,918.918 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:29:56,073.073 INFO    ] Initializing speech engine...
[2026-08-29 20:29:56,080.080 INFO    ] 2026-08-29 20:29:56
[2026-08-29 20:29:56,329.329 INFO    ] 2026-08-29 20:29:56
[2026-08-29 20:29:56,386.386 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:29:56,550.550 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:29:56,562.562 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:29:56,720.720 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:29:56,759.759 INFO    ] time= 29/08/2026 20:29:56
[2026-08-29 20:29:56,765.765 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:29:56,784.784 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:29:56,901.901 INFO    ] No existing commands found in stream
[2026-08-29 20:30:01,925.925 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:30:01,930.930 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-08-29 20:30:07,658.658 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:30:07,659.659 INFO    ] Checking for system updates...
[2026-08-29 20:30:07,682.682 INFO    ] 200
[2026-08-29 20:30:07,683.683 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:30:07,718.718 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:30:07,719.719 INFO    ] No update needed
[2026-08-29 20:30:07,721.721 INFO    ] Checking for camera pi updates...
[2026-08-29 20:30:07,743.743 INFO    ] 200
[2026-08-29 20:30:07,744.744 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:30:07,769.769 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:30:07,853.853 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:30:07,855.855 INFO    ] No camera update needed
[2026-08-29 20:30:07,856.856 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:30:07,857.857 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:30:07,861.861 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:30:07,864.864 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:30:09,902.902 INFO    ] ================================================
[2026-08-29 20:30:09,918.918 INFO    ] Launching Daemon at Sat Aug 29 20:30:09 IST 2026
[2026-08-29 20:30:09,929.929 INFO    ] ================================================
[2026-08-29 20:30:10,438.438 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:30:10
[2026-08-29 20:30:11,023.023 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:30:11,267.267 INFO    ] Initializing speech engine...
[2026-08-29 20:30:11,275.275 INFO    ] 2026-08-29 20:30:11
[2026-08-29 20:30:11,545.545 INFO    ] 2026-08-29 20:30:11
[2026-08-29 20:30:11,579.579 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:30:11,753.753 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:30:11,764.764 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:30:11,874.874 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:30:11,894.894 INFO    ] time= 29/08/2026 20:30:11
[2026-08-29 20:30:11,916.916 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:30:11,922.922 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:30:11,989.989 INFO    ] No existing commands found in stream
[2026-08-29 20:30:17,001.001 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:30:17,004.004 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-08-29 20:30:20,109.109 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:30:20,111.111 INFO    ] Checking for system updates...
[2026-08-29 20:30:20,132.132 INFO    ] 200
[2026-08-29 20:30:20,133.133 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:30:20,165.165 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:30:20,167.167 INFO    ] No update needed
[2026-08-29 20:30:20,168.168 INFO    ] Checking for camera pi updates...
[2026-08-29 20:30:20,191.191 INFO    ] 200
[2026-08-29 20:30:20,193.193 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:30:20,221.221 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:30:20,404.404 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:30:20,405.405 INFO    ] No camera update needed
[2026-08-29 20:30:20,406.406 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:30:20,408.408 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:30:20,411.411 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:30:20,414.414 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:30:22,454.454 INFO    ] ================================================
[2026-08-29 20:30:22,470.470 INFO    ] Launching Daemon at Sat Aug 29 20:30:22 IST 2026
[2026-08-29 20:30:22,481.481 INFO    ] ================================================
[2026-08-29 20:30:22,829.829 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:30:22
[2026-08-29 20:30:23,149.149 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:30:23,287.287 INFO    ] Initializing speech engine...
[2026-08-29 20:30:23,298.298 INFO    ] 2026-08-29 20:30:23
[2026-08-29 20:30:23,500.500 INFO    ] 2026-08-29 20:30:23
[2026-08-29 20:30:23,529.529 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:30:23,651.651 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:30:23,689.689 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:30:23,858.858 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:30:23,920.920 INFO    ] time= 29/08/2026 20:30:23
[2026-08-29 20:30:23,943.943 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:30:23,950.950 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:30:24,015.015 INFO    ] No existing commands found in stream
[2026-08-29 20:30:29,026.026 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:30:29,028.028 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-08-29 20:30:32,020.020 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:30:32,023.023 INFO    ] Checking for system updates...
[2026-08-29 20:30:32,069.069 INFO    ] 200
[2026-08-29 20:30:32,072.072 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:30:32,146.146 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:30:32,149.149 INFO    ] No update needed
[2026-08-29 20:30:32,151.151 INFO    ] Checking for camera pi updates...
[2026-08-29 20:30:32,184.184 INFO    ] 200
[2026-08-29 20:30:32,187.187 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:30:32,227.227 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:30:32,331.331 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:30:32,334.334 INFO    ] No camera update needed
[2026-08-29 20:30:32,336.336 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:30:32,338.338 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:30:32,344.344 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:30:32,349.349 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:30:34,389.389 INFO    ] ================================================
[2026-08-29 20:30:34,404.404 INFO    ] Launching Daemon at Sat Aug 29 20:30:34 IST 2026
[2026-08-29 20:30:34,415.415 INFO    ] ================================================
[2026-08-29 20:30:34,982.982 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:30:34
[2026-08-29 20:30:35,305.305 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:30:35,436.436 INFO    ] Initializing speech engine...
[2026-08-29 20:30:35,440.440 INFO    ] 2026-08-29 20:30:35
[2026-08-29 20:30:35,657.657 INFO    ] 2026-08-29 20:30:35
[2026-08-29 20:30:35,685.685 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:30:35,869.869 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:30:35,924.924 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:30:36,032.032 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:30:36,040.040 INFO    ] time= 29/08/2026 20:30:36
[2026-08-29 20:30:36,052.052 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:30:36,108.108 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:30:36,226.226 INFO    ] No existing commands found in stream
[2026-08-29 20:30:41,251.251 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:30:41,254.254 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-08-29 20:30:43,139.139 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:30:43,142.142 INFO    ] Checking for system updates...
[2026-08-29 20:30:43,181.181 INFO    ] 200
[2026-08-29 20:30:43,184.184 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:30:43,236.236 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:30:43,238.238 INFO    ] No update needed
[2026-08-29 20:30:43,241.241 INFO    ] Checking for camera pi updates...
[2026-08-29 20:30:43,278.278 INFO    ] 200
[2026-08-29 20:30:43,280.280 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:30:43,321.321 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:30:43,444.444 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:30:43,446.446 INFO    ] No camera update needed
[2026-08-29 20:30:43,449.449 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:30:43,451.451 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:30:43,456.456 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:30:43,461.461 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:30:45,503.503 INFO    ] ================================================
[2026-08-29 20:30:45,518.518 INFO    ] Launching Daemon at Sat Aug 29 20:30:45 IST 2026
[2026-08-29 20:30:45,529.529 INFO    ] ================================================
[2026-08-29 20:30:45,892.892 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:30:45
[2026-08-29 20:30:46,203.203 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:30:46,334.334 INFO    ] Initializing speech engine...
[2026-08-29 20:30:46,337.337 INFO    ] 2026-08-29 20:30:46
[2026-08-29 20:30:46,544.544 INFO    ] 2026-08-29 20:30:46
[2026-08-29 20:30:46,580.580 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:30:46,810.810 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:30:46,820.820 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:30:46,955.955 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:30:46,961.961 INFO    ] time= 29/08/2026 20:30:46
[2026-08-29 20:30:47,015.015 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:30:47,070.070 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:30:47,150.150 INFO    ] No existing commands found in stream
[2026-08-29 20:30:52,162.162 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:30:52,165.165 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-08-29 20:30:53,686.686 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:30:53,688.688 INFO    ] Checking for system updates...
[2026-08-29 20:30:53,709.709 INFO    ] 200
[2026-08-29 20:30:53,711.711 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:30:53,742.742 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:30:53,744.744 INFO    ] No update needed
[2026-08-29 20:30:53,745.745 INFO    ] Checking for camera pi updates...
[2026-08-29 20:30:53,764.764 INFO    ] 200
[2026-08-29 20:30:53,765.765 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:30:53,788.788 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:30:53,863.863 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:30:53,865.865 INFO    ] No camera update needed
[2026-08-29 20:30:53,867.867 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:30:53,870.870 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:30:53,875.875 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:30:53,880.880 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:30:55,921.921 INFO    ] ================================================
[2026-08-29 20:30:55,936.936 INFO    ] Launching Daemon at Sat Aug 29 20:30:55 IST 2026
[2026-08-29 20:30:55,947.947 INFO    ] ================================================
[2026-08-29 20:30:56,512.512 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:30:56
[2026-08-29 20:30:57,028.028 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:30:57,164.164 INFO    ] Initializing speech engine...
[2026-08-29 20:30:57,177.177 INFO    ] 2026-08-29 20:30:57
[2026-08-29 20:30:57,386.386 INFO    ] 2026-08-29 20:30:57
[2026-08-29 20:30:57,422.422 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:30:57,564.564 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:30:57,569.569 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:30:57,722.722 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:30:57,731.731 INFO    ] time= 29/08/2026 20:30:57
[2026-08-29 20:30:57,736.736 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:30:57,740.740 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:30:57,810.810 INFO    ] No existing commands found in stream
[2026-08-29 20:31:02,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:31:02,824.824 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-08-29 20:31:06,981.981 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:31:06,983.983 INFO    ] Checking for system updates...
[2026-08-29 20:31:07,003.003 INFO    ] 200
[2026-08-29 20:31:07,004.004 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:31:07,038.038 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:31:07,039.039 INFO    ] No update needed
[2026-08-29 20:31:07,041.041 INFO    ] Checking for camera pi updates...
[2026-08-29 20:31:07,060.060 INFO    ] 200
[2026-08-29 20:31:07,061.061 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:31:07,086.086 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:31:07,181.181 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:31:07,183.183 INFO    ] No camera update needed
[2026-08-29 20:31:07,184.184 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:31:07,185.185 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:31:07,188.188 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:31:07,191.191 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:31:09,229.229 INFO    ] ================================================
[2026-08-29 20:31:09,245.245 INFO    ] Launching Daemon at Sat Aug 29 20:31:09 IST 2026
[2026-08-29 20:31:09,256.256 INFO    ] ================================================
[2026-08-29 20:31:09,781.781 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:31:09
[2026-08-29 20:31:10,447.447 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:31:10,749.749 INFO    ] Initializing speech engine...
[2026-08-29 20:31:10,757.757 INFO    ] 2026-08-29 20:31:10
[2026-08-29 20:31:11,031.031 INFO    ] 2026-08-29 20:31:11
[2026-08-29 20:31:11,087.087 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:31:11,308.308 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:31:11,319.319 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:31:11,455.455 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:31:11,520.520 INFO    ] time= 29/08/2026 20:31:11
[2026-08-29 20:31:11,583.583 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:31:11,601.601 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:31:11,707.707 INFO    ] No existing commands found in stream
[2026-08-29 20:31:16,738.738 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:31:16,741.741 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-08-29 20:31:19,571.571 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:31:19,573.573 INFO    ] Checking for system updates...
[2026-08-29 20:31:19,594.594 INFO    ] 200
[2026-08-29 20:31:19,595.595 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:31:19,627.627 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:31:19,629.629 INFO    ] No update needed
[2026-08-29 20:31:19,630.630 INFO    ] Checking for camera pi updates...
[2026-08-29 20:31:19,652.652 INFO    ] 200
[2026-08-29 20:31:19,654.654 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:31:19,677.677 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:31:19,731.731 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:31:19,733.733 INFO    ] No camera update needed
[2026-08-29 20:31:19,734.734 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:31:19,735.735 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:31:19,740.740 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:31:19,745.745 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:31:21,786.786 INFO    ] ================================================
[2026-08-29 20:31:21,801.801 INFO    ] Launching Daemon at Sat Aug 29 20:31:21 IST 2026
[2026-08-29 20:31:21,811.811 INFO    ] ================================================
[2026-08-29 20:31:22,380.380 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:31:22
[2026-08-29 20:31:22,919.919 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:31:23,062.062 INFO    ] Initializing speech engine...
[2026-08-29 20:31:23,067.067 INFO    ] 2026-08-29 20:31:23
[2026-08-29 20:31:23,284.284 INFO    ] 2026-08-29 20:31:23
[2026-08-29 20:31:23,367.367 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:31:23,514.514 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:31:23,524.524 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:31:23,658.658 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:31:23,698.698 INFO    ] time= 29/08/2026 20:31:23
[2026-08-29 20:31:23,752.752 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:31:23,790.790 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:31:23,844.844 INFO    ] No existing commands found in stream
[2026-08-29 20:31:28,854.854 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:31:28,857.857 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-08-29 20:31:32,275.275 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:31:32,277.277 INFO    ] Checking for system updates...
[2026-08-29 20:31:32,316.316 INFO    ] 200
[2026-08-29 20:31:32,318.318 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:31:32,374.374 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:31:32,377.377 INFO    ] No update needed
[2026-08-29 20:31:32,379.379 INFO    ] Checking for camera pi updates...
[2026-08-29 20:31:32,422.422 INFO    ] 200
[2026-08-29 20:31:32,425.425 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:31:32,473.473 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:31:32,575.575 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:31:32,578.578 INFO    ] No camera update needed
[2026-08-29 20:31:32,582.582 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:31:32,584.584 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:31:32,591.591 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:31:32,597.597 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:31:34,641.641 INFO    ] ================================================
[2026-08-29 20:31:34,656.656 INFO    ] Launching Daemon at Sat Aug 29 20:31:34 IST 2026
[2026-08-29 20:31:34,667.667 INFO    ] ================================================
[2026-08-29 20:31:35,065.065 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:31:35
[2026-08-29 20:31:35,378.378 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:31:35,520.520 INFO    ] Initializing speech engine...
[2026-08-29 20:31:35,525.525 INFO    ] 2026-08-29 20:31:35
[2026-08-29 20:31:35,728.728 INFO    ] 2026-08-29 20:31:35
[2026-08-29 20:31:35,756.756 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:31:35,900.900 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:31:35,908.908 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:31:36,061.061 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:31:36,106.106 INFO    ] time= 29/08/2026 20:31:36
[2026-08-29 20:31:36,122.122 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:31:36,131.131 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:31:36,249.249 INFO    ] No existing commands found in stream
[2026-08-29 20:31:41,270.270 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:31:41,273.273 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-08-29 20:31:42,823.823 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:31:42,824.824 INFO    ] Checking for system updates...
[2026-08-29 20:31:42,846.846 INFO    ] 200
[2026-08-29 20:31:42,847.847 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:31:42,879.879 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:31:42,881.881 INFO    ] No update needed
[2026-08-29 20:31:42,882.882 INFO    ] Checking for camera pi updates...
[2026-08-29 20:31:42,901.901 INFO    ] 200
[2026-08-29 20:31:42,903.903 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:31:42,927.927 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:31:43,024.024 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:31:43,025.025 INFO    ] No camera update needed
[2026-08-29 20:31:43,026.026 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:31:43,028.028 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:31:43,031.031 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:31:43,033.033 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:31:45,073.073 INFO    ] ================================================
[2026-08-29 20:31:45,088.088 INFO    ] Launching Daemon at Sat Aug 29 20:31:45 IST 2026
[2026-08-29 20:31:45,099.099 INFO    ] ================================================
[2026-08-29 20:31:45,477.477 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:31:45
[2026-08-29 20:31:45,814.814 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:31:45,959.959 INFO    ] Initializing speech engine...
[2026-08-29 20:31:45,968.968 INFO    ] 2026-08-29 20:31:45
[2026-08-29 20:31:46,160.160 INFO    ] 2026-08-29 20:31:46
[2026-08-29 20:31:46,226.226 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:31:46,436.436 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:31:46,446.446 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:31:46,579.579 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:31:46,612.612 INFO    ] time= 29/08/2026 20:31:46
[2026-08-29 20:31:46,672.672 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:31:46,714.714 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:31:46,770.770 INFO    ] No existing commands found in stream
[2026-08-29 20:31:51,783.783 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:31:51,786.786 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 20:31:55,281.281 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:31:55,282.282 INFO    ] Checking for system updates...
[2026-08-29 20:31:55,302.302 INFO    ] 200
[2026-08-29 20:31:55,304.304 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:31:55,336.336 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:31:55,337.337 INFO    ] No update needed
[2026-08-29 20:31:55,339.339 INFO    ] Checking for camera pi updates...
[2026-08-29 20:31:55,359.359 INFO    ] 200
[2026-08-29 20:31:55,360.360 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:31:55,383.383 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:31:55,481.481 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:31:55,484.484 INFO    ] No camera update needed
[2026-08-29 20:31:55,486.486 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:31:55,488.488 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:31:55,494.494 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:31:55,498.498 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:31:57,539.539 INFO    ] ================================================
[2026-08-29 20:31:57,554.554 INFO    ] Launching Daemon at Sat Aug 29 20:31:57 IST 2026
[2026-08-29 20:31:57,565.565 INFO    ] ================================================
[2026-08-29 20:31:58,141.141 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:31:58
[2026-08-29 20:31:58,660.660 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:31:58,790.790 INFO    ] Initializing speech engine...
[2026-08-29 20:31:58,795.795 INFO    ] 2026-08-29 20:31:58
[2026-08-29 20:31:59,000.000 INFO    ] 2026-08-29 20:31:58
[2026-08-29 20:31:59,034.034 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:31:59,212.212 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:31:59,282.282 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:31:59,439.439 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:31:59,445.445 INFO    ] time= 29/08/2026 20:31:59
[2026-08-29 20:31:59,511.511 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:31:59,566.566 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:31:59,625.625 INFO    ] No existing commands found in stream
[2026-08-29 20:32:04,636.636 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:32:04,639.639 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-08-29 20:32:07,964.964 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:32:07,966.966 INFO    ] Checking for system updates...
[2026-08-29 20:32:07,986.986 INFO    ] 200
[2026-08-29 20:32:07,987.987 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:32:08,017.017 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:32:08,018.018 INFO    ] No update needed
[2026-08-29 20:32:08,020.020 INFO    ] Checking for camera pi updates...
[2026-08-29 20:32:08,040.040 INFO    ] 200
[2026-08-29 20:32:08,041.041 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:32:08,066.066 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:32:08,144.144 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:32:08,145.145 INFO    ] No camera update needed
[2026-08-29 20:32:08,146.146 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:32:08,148.148 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:32:08,150.150 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:32:08,153.153 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:32:10,194.194 INFO    ] ================================================
[2026-08-29 20:32:10,210.210 INFO    ] Launching Daemon at Sat Aug 29 20:32:10 IST 2026
[2026-08-29 20:32:10,220.220 INFO    ] ================================================
[2026-08-29 20:32:10,583.583 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:32:10
[2026-08-29 20:32:10,922.922 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:32:11,076.076 INFO    ] Initializing speech engine...
[2026-08-29 20:32:11,081.081 INFO    ] 2026-08-29 20:32:11
[2026-08-29 20:32:11,289.289 INFO    ] 2026-08-29 20:32:11
[2026-08-29 20:32:11,317.317 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:32:11,441.441 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:32:11,505.505 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:32:11,636.636 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:32:11,697.697 INFO    ] time= 29/08/2026 20:32:11
[2026-08-29 20:32:11,736.736 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:32:11,738.738 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:32:11,809.809 INFO    ] No existing commands found in stream
[2026-08-29 20:32:16,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:32:16,824.824 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-08-29 20:32:20,935.935 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:32:20,936.936 INFO    ] Checking for system updates...
[2026-08-29 20:32:20,956.956 INFO    ] 200
[2026-08-29 20:32:20,958.958 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:32:20,990.990 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:32:20,991.991 INFO    ] No update needed
[2026-08-29 20:32:20,993.993 INFO    ] Checking for camera pi updates...
[2026-08-29 20:32:21,013.013 INFO    ] 200
[2026-08-29 20:32:21,014.014 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:32:21,037.037 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:32:21,144.144 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:32:21,146.146 INFO    ] No camera update needed
[2026-08-29 20:32:21,147.147 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:32:21,148.148 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:32:21,151.151 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:32:21,154.154 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:32:23,193.193 INFO    ] ================================================
[2026-08-29 20:32:23,208.208 INFO    ] Launching Daemon at Sat Aug 29 20:32:23 IST 2026
[2026-08-29 20:32:23,219.219 INFO    ] ================================================
[2026-08-29 20:32:23,774.774 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:32:23
[2026-08-29 20:32:24,450.450 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:32:24,759.759 INFO    ] Initializing speech engine...
[2026-08-29 20:32:24,770.770 INFO    ] 2026-08-29 20:32:24
[2026-08-29 20:32:25,042.042 INFO    ] 2026-08-29 20:32:25
[2026-08-29 20:32:25,099.099 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:32:25,324.324 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:32:25,333.333 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:32:25,467.467 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:32:25,526.526 INFO    ] time= 29/08/2026 20:32:25
[2026-08-29 20:32:25,585.585 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:32:25,604.604 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:32:25,719.719 INFO    ] No existing commands found in stream
[2026-08-29 20:32:30,747.747 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:32:30,751.751 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-08-29 20:32:34,901.901 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:32:34,904.904 INFO    ] Checking for system updates...
[2026-08-29 20:32:34,945.945 INFO    ] 200
[2026-08-29 20:32:34,948.948 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:32:34,995.995 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:32:34,996.996 INFO    ] No update needed
[2026-08-29 20:32:34,998.998 INFO    ] Checking for camera pi updates...
[2026-08-29 20:32:35,017.017 INFO    ] 200
[2026-08-29 20:32:35,019.019 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:32:35,042.042 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:32:35,118.118 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:32:35,119.119 INFO    ] No camera update needed
[2026-08-29 20:32:35,121.121 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:32:35,122.122 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:32:35,125.125 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:32:35,128.128 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:32:37,168.168 INFO    ] ================================================
[2026-08-29 20:32:37,184.184 INFO    ] Launching Daemon at Sat Aug 29 20:32:37 IST 2026
[2026-08-29 20:32:37,195.195 INFO    ] ================================================
[2026-08-29 20:32:37,541.541 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:32:37
[2026-08-29 20:32:37,853.853 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:32:37,982.982 INFO    ] Initializing speech engine...
[2026-08-29 20:32:37,986.986 INFO    ] 2026-08-29 20:32:37
[2026-08-29 20:32:38,239.239 INFO    ] 2026-08-29 20:32:38
[2026-08-29 20:32:38,274.274 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:32:38,446.446 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:32:38,458.458 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:32:38,570.570 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:32:38,589.589 INFO    ] time= 29/08/2026 20:32:38
[2026-08-29 20:32:38,608.608 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:32:38,616.616 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:32:38,686.686 INFO    ] No existing commands found in stream
[2026-08-29 20:32:43,701.701 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:32:43,704.704 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-08-29 20:32:46,183.183 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:32:46,184.184 INFO    ] Checking for system updates...
[2026-08-29 20:32:46,205.205 INFO    ] 200
[2026-08-29 20:32:46,206.206 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:32:46,238.238 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:32:46,239.239 INFO    ] No update needed
[2026-08-29 20:32:46,240.240 INFO    ] Checking for camera pi updates...
[2026-08-29 20:32:46,260.260 INFO    ] 200
[2026-08-29 20:32:46,262.262 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:32:46,287.287 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:32:46,368.368 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:32:46,371.371 INFO    ] No camera update needed
[2026-08-29 20:32:46,373.373 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:32:46,375.375 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:32:46,381.381 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:32:46,385.385 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:32:48,427.427 INFO    ] ================================================
[2026-08-29 20:32:48,442.442 INFO    ] Launching Daemon at Sat Aug 29 20:32:48 IST 2026
[2026-08-29 20:32:48,453.453 INFO    ] ================================================
[2026-08-29 20:32:49,029.029 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:32:49
[2026-08-29 20:32:49,521.521 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:32:49,717.717 INFO    ] Initializing speech engine...
[2026-08-29 20:32:49,731.731 INFO    ] 2026-08-29 20:32:49
[2026-08-29 20:32:49,994.994 INFO    ] 2026-08-29 20:32:49
[2026-08-29 20:32:50,031.031 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:32:50,185.185 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:32:50,226.226 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:32:50,335.335 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:32:50,340.340 INFO    ] time= 29/08/2026 20:32:50
[2026-08-29 20:32:50,345.345 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:32:50,367.367 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:32:50,418.418 INFO    ] No existing commands found in stream
[2026-08-29 20:32:55,429.429 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:32:55,431.431 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-08-29 20:32:56,104.104 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:32:56,105.105 INFO    ] Checking for system updates...
[2026-08-29 20:32:56,125.125 INFO    ] 200
[2026-08-29 20:32:56,126.126 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:32:56,158.158 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:32:56,159.159 INFO    ] No update needed
[2026-08-29 20:32:56,160.160 INFO    ] Checking for camera pi updates...
[2026-08-29 20:32:56,180.180 INFO    ] 200
[2026-08-29 20:32:56,182.182 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:32:56,206.206 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:32:56,288.288 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:32:56,290.290 INFO    ] No camera update needed
[2026-08-29 20:32:56,291.291 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:32:56,292.292 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:32:56,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:32:56,298.298 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:32:58,339.339 INFO    ] ================================================
[2026-08-29 20:32:58,354.354 INFO    ] Launching Daemon at Sat Aug 29 20:32:58 IST 2026
[2026-08-29 20:32:58,365.365 INFO    ] ================================================
[2026-08-29 20:32:58,702.702 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:32:58
[2026-08-29 20:32:59,036.036 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:32:59,286.286 INFO    ] Initializing speech engine...
[2026-08-29 20:32:59,292.292 INFO    ] 2026-08-29 20:32:59
[2026-08-29 20:32:59,590.590 INFO    ] 2026-08-29 20:32:59
[2026-08-29 20:32:59,628.628 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:32:59,823.823 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:32:59,829.829 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:32:59,938.938 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:32:59,960.960 INFO    ] time= 29/08/2026 20:32:59
[2026-08-29 20:32:59,967.967 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:32:59,973.973 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:33:00,019.019 INFO    ] No existing commands found in stream
[2026-08-29 20:33:05,031.031 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:33:05,034.034 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-08-29 20:33:08,048.048 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:33:08,049.049 INFO    ] Checking for system updates...
[2026-08-29 20:33:08,069.069 INFO    ] 200
[2026-08-29 20:33:08,070.070 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:33:08,100.100 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:33:08,101.101 INFO    ] No update needed
[2026-08-29 20:33:08,103.103 INFO    ] Checking for camera pi updates...
[2026-08-29 20:33:08,122.122 INFO    ] 200
[2026-08-29 20:33:08,123.123 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:33:08,146.146 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:33:08,246.246 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:33:08,247.247 INFO    ] No camera update needed
[2026-08-29 20:33:08,248.248 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:33:08,249.249 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:33:08,252.252 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:33:08,255.255 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:33:10,297.297 INFO    ] ================================================
[2026-08-29 20:33:10,316.316 INFO    ] Launching Daemon at Sat Aug 29 20:33:10 IST 2026
[2026-08-29 20:33:10,328.328 INFO    ] ================================================
[2026-08-29 20:33:10,931.931 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:33:10
[2026-08-29 20:33:11,564.564 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:33:11,831.831 INFO    ] Initializing speech engine...
[2026-08-29 20:33:11,836.836 INFO    ] 2026-08-29 20:33:11
[2026-08-29 20:33:12,023.023 INFO    ] 2026-08-29 20:33:12
[2026-08-29 20:33:12,059.059 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:33:12,238.238 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:33:12,252.252 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:33:12,393.393 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:33:12,402.402 INFO    ] time= 29/08/2026 20:33:12
[2026-08-29 20:33:12,411.411 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:33:12,473.473 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:33:13,437.437 INFO    ] No existing commands found in stream
[2026-08-29 20:33:18,454.454 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:33:18,457.457 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-08-29 20:33:22,788.788 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:33:22,790.790 INFO    ] Checking for system updates...
[2026-08-29 20:33:22,811.811 INFO    ] 200
[2026-08-29 20:33:22,813.813 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:33:22,844.844 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:33:22,846.846 INFO    ] No update needed
[2026-08-29 20:33:22,847.847 INFO    ] Checking for camera pi updates...
[2026-08-29 20:33:22,869.869 INFO    ] 200
[2026-08-29 20:33:22,871.871 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:33:22,895.895 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:33:22,984.984 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:33:22,986.986 INFO    ] No camera update needed
[2026-08-29 20:33:22,987.987 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:33:22,988.988 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:33:22,992.992 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:33:22,995.995 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:33:25,034.034 INFO    ] ================================================
[2026-08-29 20:33:25,049.049 INFO    ] Launching Daemon at Sat Aug 29 20:33:25 IST 2026
[2026-08-29 20:33:25,059.059 INFO    ] ================================================
[2026-08-29 20:33:25,419.419 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:33:25
[2026-08-29 20:33:25,731.731 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:33:25,860.860 INFO    ] Initializing speech engine...
[2026-08-29 20:33:25,864.864 INFO    ] 2026-08-29 20:33:25
[2026-08-29 20:33:26,093.093 INFO    ] 2026-08-29 20:33:26
[2026-08-29 20:33:26,122.122 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:33:26,250.250 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:33:26,290.290 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:33:26,443.443 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:33:26,468.468 INFO    ] time= 29/08/2026 20:33:26
[2026-08-29 20:33:26,522.522 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:33:26,556.556 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:33:26,639.639 INFO    ] No existing commands found in stream
[2026-08-29 20:33:31,648.648 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:33:31,650.650 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 20:33:32,170.170 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:33:32,173.173 INFO    ] Checking for system updates...
[2026-08-29 20:33:32,212.212 INFO    ] 200
[2026-08-29 20:33:32,214.214 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:33:32,276.276 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:33:32,279.279 INFO    ] No update needed
[2026-08-29 20:33:32,282.282 INFO    ] Checking for camera pi updates...
[2026-08-29 20:33:32,318.318 INFO    ] 200
[2026-08-29 20:33:32,321.321 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:33:32,367.367 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:33:32,453.453 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:33:32,456.456 INFO    ] No camera update needed
[2026-08-29 20:33:32,458.458 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:33:32,461.461 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:33:32,467.467 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:33:32,472.472 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:33:34,513.513 INFO    ] ================================================
[2026-08-29 20:33:34,528.528 INFO    ] Launching Daemon at Sat Aug 29 20:33:34 IST 2026
[2026-08-29 20:33:34,539.539 INFO    ] ================================================
[2026-08-29 20:33:35,109.109 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:33:35
[2026-08-29 20:33:35,465.465 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:33:35,700.700 INFO    ] Initializing speech engine...
[2026-08-29 20:33:35,709.709 INFO    ] 2026-08-29 20:33:35
[2026-08-29 20:33:35,958.958 INFO    ] 2026-08-29 20:33:35
[2026-08-29 20:33:35,993.993 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:33:36,169.169 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:33:36,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:33:36,326.326 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:33:36,335.335 INFO    ] time= 29/08/2026 20:33:36
[2026-08-29 20:33:36,341.341 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:33:36,367.367 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:33:36,506.506 INFO    ] No existing commands found in stream
[2026-08-29 20:33:41,531.531 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:33:41,534.534 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-08-29 20:33:44,820.820 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:33:44,822.822 INFO    ] Checking for system updates...
[2026-08-29 20:33:44,850.850 INFO    ] 200
[2026-08-29 20:33:44,851.851 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:33:44,881.881 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:33:44,883.883 INFO    ] No update needed
[2026-08-29 20:33:44,884.884 INFO    ] Checking for camera pi updates...
[2026-08-29 20:33:44,904.904 INFO    ] 200
[2026-08-29 20:33:44,905.905 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:33:44,928.928 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:33:45,019.019 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:33:45,021.021 INFO    ] No camera update needed
[2026-08-29 20:33:45,024.024 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:33:45,027.027 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:33:45,033.033 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:33:45,038.038 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:33:47,079.079 INFO    ] ================================================
[2026-08-29 20:33:47,094.094 INFO    ] Launching Daemon at Sat Aug 29 20:33:47 IST 2026
[2026-08-29 20:33:47,104.104 INFO    ] ================================================
[2026-08-29 20:33:47,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:33:47
[2026-08-29 20:33:48,176.176 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:33:48,338.338 INFO    ] Initializing speech engine...
[2026-08-29 20:33:48,347.347 INFO    ] 2026-08-29 20:33:48
[2026-08-29 20:33:48,611.611 INFO    ] 2026-08-29 20:33:48
[2026-08-29 20:33:48,648.648 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:33:48,828.828 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:33:48,842.842 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:33:48,970.970 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:33:48,995.995 INFO    ] time= 29/08/2026 20:33:48
[2026-08-29 20:33:49,000.000 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:33:49,006.006 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:33:49,076.076 INFO    ] No existing commands found in stream
[2026-08-29 20:33:54,102.102 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:33:54,105.105 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-08-29 20:33:56,581.581 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:33:56,583.583 INFO    ] Checking for system updates...
[2026-08-29 20:33:56,604.604 INFO    ] 200
[2026-08-29 20:33:56,605.605 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:33:56,635.635 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:33:56,636.636 INFO    ] No update needed
[2026-08-29 20:33:56,638.638 INFO    ] Checking for camera pi updates...
[2026-08-29 20:33:56,658.658 INFO    ] 200
[2026-08-29 20:33:56,659.659 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:33:56,683.683 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:33:56,764.764 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:33:56,766.766 INFO    ] No camera update needed
[2026-08-29 20:33:56,767.767 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:33:56,768.768 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:33:56,772.772 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:33:56,775.775 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:33:58,813.813 INFO    ] ================================================
[2026-08-29 20:33:58,829.829 INFO    ] Launching Daemon at Sat Aug 29 20:33:58 IST 2026
[2026-08-29 20:33:58,839.839 INFO    ] ================================================
[2026-08-29 20:33:59,164.164 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:33:59
[2026-08-29 20:33:59,476.476 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:33:59,626.626 INFO    ] Initializing speech engine...
[2026-08-29 20:33:59,631.631 INFO    ] 2026-08-29 20:33:59
[2026-08-29 20:33:59,843.843 INFO    ] 2026-08-29 20:33:59
[2026-08-29 20:33:59,873.873 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:34:00,012.012 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:34:00,019.019 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:34:00,175.175 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:34:00,235.235 INFO    ] time= 29/08/2026 20:34:00
[2026-08-29 20:34:00,245.245 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:34:00,261.261 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:34:00,362.362 INFO    ] No existing commands found in stream
[2026-08-29 20:34:05,383.383 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:34:05,386.386 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-08-29 20:34:06,790.790 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:34:06,792.792 INFO    ] Checking for system updates...
[2026-08-29 20:34:06,812.812 INFO    ] 200
[2026-08-29 20:34:06,813.813 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:34:06,844.844 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:34:06,846.846 INFO    ] No update needed
[2026-08-29 20:34:06,847.847 INFO    ] Checking for camera pi updates...
[2026-08-29 20:34:06,866.866 INFO    ] 200
[2026-08-29 20:34:06,867.867 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:34:06,905.905 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:34:06,988.988 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:34:06,990.990 INFO    ] No camera update needed
[2026-08-29 20:34:06,993.993 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:34:06,995.995 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:34:07,000.000 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:34:07,005.005 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:34:09,045.045 INFO    ] ================================================
[2026-08-29 20:34:09,060.060 INFO    ] Launching Daemon at Sat Aug 29 20:34:09 IST 2026
[2026-08-29 20:34:09,071.071 INFO    ] ================================================
[2026-08-29 20:34:09,654.654 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:34:09
[2026-08-29 20:34:10,138.138 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:34:10,282.282 INFO    ] Initializing speech engine...
[2026-08-29 20:34:10,287.287 INFO    ] 2026-08-29 20:34:10
[2026-08-29 20:34:10,474.474 INFO    ] 2026-08-29 20:34:10
[2026-08-29 20:34:10,507.507 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:34:10,650.650 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:34:10,664.664 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:34:10,796.796 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:34:10,848.848 INFO    ] time= 29/08/2026 20:34:10
[2026-08-29 20:34:10,878.878 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:34:10,927.927 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:34:11,016.016 INFO    ] No existing commands found in stream
[2026-08-29 20:34:16,027.027 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:34:16,029.029 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-08-29 20:34:19,044.044 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:34:19,046.046 INFO    ] Checking for system updates...
[2026-08-29 20:34:19,066.066 INFO    ] 200
[2026-08-29 20:34:19,068.068 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:34:19,099.099 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:34:19,101.101 INFO    ] No update needed
[2026-08-29 20:34:19,102.102 INFO    ] Checking for camera pi updates...
[2026-08-29 20:34:19,122.122 INFO    ] 200
[2026-08-29 20:34:19,123.123 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:34:19,148.148 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:34:19,230.230 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:34:19,233.233 INFO    ] No camera update needed
[2026-08-29 20:34:19,235.235 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:34:19,238.238 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:34:19,243.243 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:34:19,248.248 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:34:21,288.288 INFO    ] ================================================
[2026-08-29 20:34:21,303.303 INFO    ] Launching Daemon at Sat Aug 29 20:34:21 IST 2026
[2026-08-29 20:34:21,314.314 INFO    ] ================================================
[2026-08-29 20:34:21,894.894 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:34:21
[2026-08-29 20:34:22,358.358 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:34:22,496.496 INFO    ] Initializing speech engine...
[2026-08-29 20:34:22,508.508 INFO    ] 2026-08-29 20:34:22
[2026-08-29 20:34:22,723.723 INFO    ] 2026-08-29 20:34:22
[2026-08-29 20:34:22,753.753 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:34:22,883.883 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:34:22,930.930 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:34:23,092.092 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:34:23,154.154 INFO    ] time= 29/08/2026 20:34:23
[2026-08-29 20:34:23,182.182 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:34:23,194.194 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:34:23,303.303 INFO    ] No existing commands found in stream
[2026-08-29 20:34:28,325.325 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:34:28,327.327 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 20:34:31,783.783 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:34:31,785.785 INFO    ] Checking for system updates...
[2026-08-29 20:34:31,810.810 INFO    ] 200
[2026-08-29 20:34:31,811.811 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:34:31,846.846 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:34:31,847.847 INFO    ] No update needed
[2026-08-29 20:34:31,849.849 INFO    ] Checking for camera pi updates...
[2026-08-29 20:34:31,871.871 INFO    ] 200
[2026-08-29 20:34:31,872.872 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:34:31,907.907 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:34:32,027.027 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:34:32,030.030 INFO    ] No camera update needed
[2026-08-29 20:34:32,033.033 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:34:32,036.036 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:34:32,041.041 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:34:32,047.047 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:34:34,090.090 INFO    ] ================================================
[2026-08-29 20:34:34,105.105 INFO    ] Launching Daemon at Sat Aug 29 20:34:34 IST 2026
[2026-08-29 20:34:34,116.116 INFO    ] ================================================
[2026-08-29 20:34:34,683.683 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:34:34
[2026-08-29 20:34:35,152.152 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:34:35,285.285 INFO    ] Initializing speech engine...
[2026-08-29 20:34:35,296.296 INFO    ] 2026-08-29 20:34:35
[2026-08-29 20:34:35,529.529 INFO    ] 2026-08-29 20:34:35
[2026-08-29 20:34:35,565.565 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:34:35,741.741 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:34:35,753.753 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:34:35,865.865 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:34:35,870.870 INFO    ] time= 29/08/2026 20:34:35
[2026-08-29 20:34:35,888.888 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:34:35,910.910 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:34:35,982.982 INFO    ] No existing commands found in stream
[2026-08-29 20:34:40,994.994 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:34:40,997.997 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-08-29 20:34:43,494.494 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:34:43,496.496 INFO    ] Checking for system updates...
[2026-08-29 20:34:43,535.535 INFO    ] 200
[2026-08-29 20:34:43,537.537 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:34:43,595.595 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:34:43,597.597 INFO    ] No update needed
[2026-08-29 20:34:43,600.600 INFO    ] Checking for camera pi updates...
[2026-08-29 20:34:43,636.636 INFO    ] 200
[2026-08-29 20:34:43,639.639 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:34:43,685.685 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:34:43,876.876 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:34:43,879.879 INFO    ] No camera update needed
[2026-08-29 20:34:43,881.881 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:34:43,884.884 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:34:43,890.890 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:34:43,895.895 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:34:45,936.936 INFO    ] ================================================
[2026-08-29 20:34:45,951.951 INFO    ] Launching Daemon at Sat Aug 29 20:34:45 IST 2026
[2026-08-29 20:34:45,961.961 INFO    ] ================================================
[2026-08-29 20:34:46,329.329 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:34:46
[2026-08-29 20:34:46,645.645 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:34:46,779.779 INFO    ] Initializing speech engine...
[2026-08-29 20:34:46,783.783 INFO    ] 2026-08-29 20:34:46
[2026-08-29 20:34:47,008.008 INFO    ] 2026-08-29 20:34:46
[2026-08-29 20:34:47,038.038 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:34:47,166.166 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:34:47,230.230 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:34:47,375.375 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:34:47,437.437 INFO    ] time= 29/08/2026 20:34:47
[2026-08-29 20:34:47,474.474 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:34:47,476.476 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:34:47,551.551 INFO    ] No existing commands found in stream
[2026-08-29 20:34:52,562.562 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:34:52,565.565 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 20:34:55,056.056 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:34:55,058.058 INFO    ] Checking for system updates...
[2026-08-29 20:34:55,078.078 INFO    ] 200
[2026-08-29 20:34:55,079.079 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:34:55,112.112 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:34:55,113.113 INFO    ] No update needed
[2026-08-29 20:34:55,115.115 INFO    ] Checking for camera pi updates...
[2026-08-29 20:34:55,138.138 INFO    ] 200
[2026-08-29 20:34:55,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:34:55,169.169 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:34:55,251.251 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:34:55,253.253 INFO    ] No camera update needed
[2026-08-29 20:34:55,254.254 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:34:55,255.255 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:34:55,258.258 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:34:55,261.261 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:34:57,300.300 INFO    ] ================================================
[2026-08-29 20:34:57,315.315 INFO    ] Launching Daemon at Sat Aug 29 20:34:57 IST 2026
[2026-08-29 20:34:57,326.326 INFO    ] ================================================
[2026-08-29 20:34:57,666.666 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:34:57
[2026-08-29 20:34:57,995.995 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:34:58,180.180 INFO    ] Initializing speech engine...
[2026-08-29 20:34:58,190.190 INFO    ] 2026-08-29 20:34:58
[2026-08-29 20:34:58,460.460 INFO    ] 2026-08-29 20:34:58
[2026-08-29 20:34:58,519.519 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:34:58,744.744 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:34:58,754.754 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:34:58,888.888 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:34:58,910.910 INFO    ] time= 29/08/2026 20:34:58
[2026-08-29 20:34:58,969.969 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:34:59,023.023 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:34:59,077.077 INFO    ] No existing commands found in stream
[2026-08-29 20:35:04,090.090 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:35:04,093.093 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-08-29 20:35:06,435.435 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:35:06,436.436 INFO    ] Checking for system updates...
[2026-08-29 20:35:06,458.458 INFO    ] 200
[2026-08-29 20:35:06,459.459 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:35:06,491.491 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:35:06,493.493 INFO    ] No update needed
[2026-08-29 20:35:06,495.495 INFO    ] Checking for camera pi updates...
[2026-08-29 20:35:06,515.515 INFO    ] 200
[2026-08-29 20:35:06,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:35:06,540.540 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:35:06,620.620 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:35:06,621.621 INFO    ] No camera update needed
[2026-08-29 20:35:06,623.623 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:35:06,624.624 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:35:06,627.627 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:35:06,630.630 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:35:08,669.669 INFO    ] ================================================
[2026-08-29 20:35:08,685.685 INFO    ] Launching Daemon at Sat Aug 29 20:35:08 IST 2026
[2026-08-29 20:35:08,696.696 INFO    ] ================================================
[2026-08-29 20:35:09,030.030 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:35:09
[2026-08-29 20:35:09,348.348 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:35:09,487.487 INFO    ] Initializing speech engine...
[2026-08-29 20:35:09,497.497 INFO    ] 2026-08-29 20:35:09
[2026-08-29 20:35:09,699.699 INFO    ] 2026-08-29 20:35:09
[2026-08-29 20:35:09,728.728 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:35:09,849.849 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:35:09,887.887 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:35:10,050.050 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:35:10,117.117 INFO    ] time= 29/08/2026 20:35:10
[2026-08-29 20:35:10,140.140 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:35:10,147.147 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:35:10,214.214 INFO    ] No existing commands found in stream
[2026-08-29 20:35:15,244.244 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:35:15,247.247 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-08-29 20:35:16,514.514 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:35:16,519.519 INFO    ] Checking for system updates...
[2026-08-29 20:35:16,540.540 INFO    ] 200
[2026-08-29 20:35:16,541.541 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:35:16,571.571 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:35:16,573.573 INFO    ] No update needed
[2026-08-29 20:35:16,574.574 INFO    ] Checking for camera pi updates...
[2026-08-29 20:35:16,595.595 INFO    ] 200
[2026-08-29 20:35:16,596.596 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:35:16,619.619 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:35:16,722.722 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:35:16,723.723 INFO    ] No camera update needed
[2026-08-29 20:35:16,724.724 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:35:16,726.726 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:35:16,729.729 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:35:16,731.731 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:35:18,771.771 INFO    ] ================================================
[2026-08-29 20:35:18,786.786 INFO    ] Launching Daemon at Sat Aug 29 20:35:18 IST 2026
[2026-08-29 20:35:18,798.798 INFO    ] ================================================
[2026-08-29 20:35:19,162.162 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:35:19
[2026-08-29 20:35:19,491.491 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:35:19,639.639 INFO    ] Initializing speech engine...
[2026-08-29 20:35:19,644.644 INFO    ] 2026-08-29 20:35:19
[2026-08-29 20:35:19,851.851 INFO    ] 2026-08-29 20:35:19
[2026-08-29 20:35:19,880.880 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:35:20,009.009 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:35:20,051.051 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:35:20,193.193 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:35:20,204.204 INFO    ] time= 29/08/2026 20:35:20
[2026-08-29 20:35:20,244.244 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:35:20,292.292 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:35:20,407.407 INFO    ] No existing commands found in stream
[2026-08-29 20:35:25,417.417 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:35:25,421.421 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-08-29 20:35:26,777.777 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:35:26,778.778 INFO    ] Checking for system updates...
[2026-08-29 20:35:26,799.799 INFO    ] 200
[2026-08-29 20:35:26,800.800 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:35:26,830.830 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:35:26,831.831 INFO    ] No update needed
[2026-08-29 20:35:26,833.833 INFO    ] Checking for camera pi updates...
[2026-08-29 20:35:26,853.853 INFO    ] 200
[2026-08-29 20:35:26,854.854 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:35:26,879.879 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:35:26,969.969 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:35:26,971.971 INFO    ] No camera update needed
[2026-08-29 20:35:26,972.972 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:35:26,973.973 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:35:26,977.977 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:35:26,979.979 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:35:29,018.018 INFO    ] ================================================
[2026-08-29 20:35:29,034.034 INFO    ] Launching Daemon at Sat Aug 29 20:35:29 IST 2026
[2026-08-29 20:35:29,045.045 INFO    ] ================================================
[2026-08-29 20:35:29,420.420 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:35:29
[2026-08-29 20:35:29,748.748 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:35:30,016.016 INFO    ] Initializing speech engine...
[2026-08-29 20:35:30,025.025 INFO    ] 2026-08-29 20:35:30
[2026-08-29 20:35:30,294.294 INFO    ] 2026-08-29 20:35:30
[2026-08-29 20:35:30,348.348 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:35:30,573.573 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:35:30,583.583 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:35:30,715.715 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:35:30,783.783 INFO    ] time= 29/08/2026 20:35:30
[2026-08-29 20:35:30,842.842 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:35:30,852.852 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:35:30,972.972 INFO    ] No existing commands found in stream
[2026-08-29 20:35:35,998.998 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:35:36,001.001 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-08-29 20:35:36,398.398 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:35:36,399.399 INFO    ] Checking for system updates...
[2026-08-29 20:35:36,420.420 INFO    ] 200
[2026-08-29 20:35:36,421.421 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:35:36,451.451 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:35:36,453.453 INFO    ] No update needed
[2026-08-29 20:35:36,454.454 INFO    ] Checking for camera pi updates...
[2026-08-29 20:35:36,474.474 INFO    ] 200
[2026-08-29 20:35:36,475.475 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:35:36,499.499 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:35:36,575.575 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:35:36,576.576 INFO    ] No camera update needed
[2026-08-29 20:35:36,578.578 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:35:36,579.579 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:35:36,582.582 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:35:36,585.585 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:35:38,625.625 INFO    ] ================================================
[2026-08-29 20:35:38,642.642 INFO    ] Launching Daemon at Sat Aug 29 20:35:38 IST 2026
[2026-08-29 20:35:38,653.653 INFO    ] ================================================
[2026-08-29 20:35:39,000.000 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:35:38
[2026-08-29 20:35:39,317.317 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:35:39,457.457 INFO    ] Initializing speech engine...
[2026-08-29 20:35:39,464.464 INFO    ] 2026-08-29 20:35:39
[2026-08-29 20:35:39,686.686 INFO    ] 2026-08-29 20:35:39
[2026-08-29 20:35:39,717.717 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:35:39,849.849 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:35:39,886.886 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:35:40,030.030 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:35:40,059.059 INFO    ] time= 29/08/2026 20:35:40
[2026-08-29 20:35:40,106.106 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:35:40,162.162 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:35:40,290.290 INFO    ] No existing commands found in stream
[2026-08-29 20:35:45,315.315 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:35:45,317.317 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-08-29 20:35:47,398.398 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:35:47,399.399 INFO    ] Checking for system updates...
[2026-08-29 20:35:47,420.420 INFO    ] 200
[2026-08-29 20:35:47,421.421 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:35:47,451.451 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:35:47,452.452 INFO    ] No update needed
[2026-08-29 20:35:47,454.454 INFO    ] Checking for camera pi updates...
[2026-08-29 20:35:47,473.473 INFO    ] 200
[2026-08-29 20:35:47,474.474 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:35:47,497.497 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:35:47,584.584 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:35:47,586.586 INFO    ] No camera update needed
[2026-08-29 20:35:47,587.587 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:35:47,588.588 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:35:47,591.591 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:35:47,594.594 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:35:49,632.632 INFO    ] ================================================
[2026-08-29 20:35:49,648.648 INFO    ] Launching Daemon at Sat Aug 29 20:35:49 IST 2026
[2026-08-29 20:35:49,659.659 INFO    ] ================================================
[2026-08-29 20:35:50,032.032 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:35:50
[2026-08-29 20:35:50,367.367 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:35:50,595.595 INFO    ] Initializing speech engine...
[2026-08-29 20:35:50,604.604 INFO    ] 2026-08-29 20:35:50
[2026-08-29 20:35:50,892.892 INFO    ] 2026-08-29 20:35:50
[2026-08-29 20:35:50,931.931 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:35:51,152.152 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:35:51,161.161 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:35:51,297.297 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:35:51,357.357 INFO    ] time= 29/08/2026 20:35:51
[2026-08-29 20:35:51,423.423 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:35:51,432.432 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:35:51,542.542 INFO    ] No existing commands found in stream
[2026-08-29 20:35:56,569.569 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:35:56,572.572 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-08-29 20:35:59,645.645 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:35:59,647.647 INFO    ] Checking for system updates...
[2026-08-29 20:35:59,667.667 INFO    ] 200
[2026-08-29 20:35:59,669.669 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:35:59,699.699 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:35:59,700.700 INFO    ] No update needed
[2026-08-29 20:35:59,702.702 INFO    ] Checking for camera pi updates...
[2026-08-29 20:35:59,722.722 INFO    ] 200
[2026-08-29 20:35:59,723.723 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:35:59,747.747 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:35:59,833.833 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:35:59,834.834 INFO    ] No camera update needed
[2026-08-29 20:35:59,836.836 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:35:59,837.837 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:35:59,840.840 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:35:59,843.843 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:36:01,888.888 INFO    ] ================================================
[2026-08-29 20:36:01,909.909 INFO    ] Launching Daemon at Sat Aug 29 20:36:01 IST 2026
[2026-08-29 20:36:01,922.922 INFO    ] ================================================
[2026-08-29 20:36:02,548.548 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:36:02
[2026-08-29 20:36:03,176.176 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:36:03,445.445 INFO    ] Initializing speech engine...
[2026-08-29 20:36:03,454.454 INFO    ] 2026-08-29 20:36:03
[2026-08-29 20:36:03,702.702 INFO    ] 2026-08-29 20:36:03
[2026-08-29 20:36:03,767.767 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:36:03,907.907 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:36:03,920.920 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:36:04,029.029 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:36:04,035.035 INFO    ] time= 29/08/2026 20:36:04
[2026-08-29 20:36:04,052.052 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:36:04,074.074 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:36:04,143.143 INFO    ] No existing commands found in stream
[2026-08-29 20:36:09,155.155 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:36:09,158.158 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-08-29 20:36:13,054.054 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:36:13,055.055 INFO    ] Checking for system updates...
[2026-08-29 20:36:13,077.077 INFO    ] 200
[2026-08-29 20:36:13,079.079 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:36:13,109.109 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:36:13,110.110 INFO    ] No update needed
[2026-08-29 20:36:13,111.111 INFO    ] Checking for camera pi updates...
[2026-08-29 20:36:13,133.133 INFO    ] 200
[2026-08-29 20:36:13,134.134 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:36:13,171.171 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:36:13,270.270 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:36:13,272.272 INFO    ] No camera update needed
[2026-08-29 20:36:13,274.274 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:36:13,277.277 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:36:13,282.282 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:36:13,287.287 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:36:15,329.329 INFO    ] ================================================
[2026-08-29 20:36:15,345.345 INFO    ] Launching Daemon at Sat Aug 29 20:36:15 IST 2026
[2026-08-29 20:36:15,358.358 INFO    ] ================================================
[2026-08-29 20:36:15,935.935 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:36:15
[2026-08-29 20:36:16,309.309 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:36:16,510.510 INFO    ] Initializing speech engine...
[2026-08-29 20:36:16,517.517 INFO    ] 2026-08-29 20:36:16
[2026-08-29 20:36:16,807.807 INFO    ] 2026-08-29 20:36:16
[2026-08-29 20:36:16,846.846 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:36:17,035.035 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:36:17,041.041 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:36:17,146.146 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:36:17,152.152 INFO    ] time= 29/08/2026 20:36:17
[2026-08-29 20:36:17,174.174 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:36:17,180.180 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:36:17,266.266 INFO    ] No existing commands found in stream
[2026-08-29 20:36:22,296.296 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:36:22,299.299 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-08-29 20:36:23,903.903 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:36:23,904.904 INFO    ] Checking for system updates...
[2026-08-29 20:36:23,925.925 INFO    ] 200
[2026-08-29 20:36:23,926.926 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:36:23,956.956 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:36:23,957.957 INFO    ] No update needed
[2026-08-29 20:36:23,959.959 INFO    ] Checking for camera pi updates...
[2026-08-29 20:36:23,979.979 INFO    ] 200
[2026-08-29 20:36:23,980.980 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:36:24,004.004 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:36:24,099.099 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:36:24,101.101 INFO    ] No camera update needed
[2026-08-29 20:36:24,104.104 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:36:24,106.106 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:36:24,111.111 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:36:24,116.116 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:36:26,158.158 INFO    ] ================================================
[2026-08-29 20:36:26,173.173 INFO    ] Launching Daemon at Sat Aug 29 20:36:26 IST 2026
[2026-08-29 20:36:26,184.184 INFO    ] ================================================
[2026-08-29 20:36:26,803.803 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:36:26
[2026-08-29 20:36:27,308.308 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:36:27,455.455 INFO    ] Initializing speech engine...
[2026-08-29 20:36:27,461.461 INFO    ] 2026-08-29 20:36:27
[2026-08-29 20:36:27,668.668 INFO    ] 2026-08-29 20:36:27
[2026-08-29 20:36:27,696.696 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:36:27,819.819 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:36:27,881.881 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:36:28,011.011 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:36:28,067.067 INFO    ] time= 29/08/2026 20:36:28
[2026-08-29 20:36:28,106.106 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:36:28,112.112 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:36:28,184.184 INFO    ] No existing commands found in stream
[2026-08-29 20:36:33,199.199 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:36:33,202.202 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 20:36:34,807.807 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:36:34,810.810 INFO    ] Checking for system updates...
[2026-08-29 20:36:34,847.847 INFO    ] 200
[2026-08-29 20:36:34,849.849 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:36:34,902.902 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:36:34,905.905 INFO    ] No update needed
[2026-08-29 20:36:34,907.907 INFO    ] Checking for camera pi updates...
[2026-08-29 20:36:34,945.945 INFO    ] 200
[2026-08-29 20:36:34,947.947 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:36:34,989.989 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:36:35,095.095 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:36:35,097.097 INFO    ] No camera update needed
[2026-08-29 20:36:35,100.100 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:36:35,103.103 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:36:35,108.108 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:36:35,114.114 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:36:37,154.154 INFO    ] ================================================
[2026-08-29 20:36:37,170.170 INFO    ] Launching Daemon at Sat Aug 29 20:36:37 IST 2026
[2026-08-29 20:36:37,181.181 INFO    ] ================================================
[2026-08-29 20:36:37,537.537 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:36:37
[2026-08-29 20:36:37,866.866 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:36:38,084.084 INFO    ] Initializing speech engine...
[2026-08-29 20:36:38,091.091 INFO    ] 2026-08-29 20:36:38
[2026-08-29 20:36:38,360.360 INFO    ] 2026-08-29 20:36:38
[2026-08-29 20:36:38,417.417 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:36:38,638.638 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:36:38,647.647 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:36:38,780.780 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:36:38,797.797 INFO    ] time= 29/08/2026 20:36:38
[2026-08-29 20:36:38,847.847 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:36:38,901.901 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:36:38,966.966 INFO    ] No existing commands found in stream
[2026-08-29 20:36:43,979.979 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:36:43,982.982 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-08-29 20:36:47,979.979 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:36:47,981.981 INFO    ] Checking for system updates...
[2026-08-29 20:36:48,001.001 INFO    ] 200
[2026-08-29 20:36:48,003.003 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:36:48,033.033 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:36:48,034.034 INFO    ] No update needed
[2026-08-29 20:36:48,035.035 INFO    ] Checking for camera pi updates...
[2026-08-29 20:36:48,055.055 INFO    ] 200
[2026-08-29 20:36:48,056.056 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:36:48,079.079 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:36:48,288.288 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:36:48,290.290 INFO    ] No camera update needed
[2026-08-29 20:36:48,291.291 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:36:48,292.292 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:36:48,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:36:48,298.298 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:36:50,337.337 INFO    ] ================================================
[2026-08-29 20:36:50,354.354 INFO    ] Launching Daemon at Sat Aug 29 20:36:50 IST 2026
[2026-08-29 20:36:50,364.364 INFO    ] ================================================
[2026-08-29 20:36:50,817.817 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:36:50
[2026-08-29 20:36:51,403.403 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:36:51,656.656 INFO    ] Initializing speech engine...
[2026-08-29 20:36:51,664.664 INFO    ] 2026-08-29 20:36:51
[2026-08-29 20:36:51,953.953 INFO    ] 2026-08-29 20:36:51
[2026-08-29 20:36:51,990.990 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:36:52,180.180 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:36:52,186.186 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:36:52,317.317 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:36:52,325.325 INFO    ] time= 29/08/2026 20:36:52
[2026-08-29 20:36:52,344.344 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:36:52,370.370 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:36:52,446.446 INFO    ] No existing commands found in stream
[2026-08-29 20:36:57,459.459 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:36:57,462.462 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-08-29 20:37:01,099.099 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:37:01,102.102 INFO    ] Checking for system updates...
[2026-08-29 20:37:01,137.137 INFO    ] 200
[2026-08-29 20:37:01,144.144 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:37:01,244.244 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:37:01,248.248 INFO    ] No update needed
[2026-08-29 20:37:01,257.257 INFO    ] Checking for camera pi updates...
[2026-08-29 20:37:01,337.337 INFO    ] 200
[2026-08-29 20:37:01,340.340 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:37:01,430.430 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:37:01,588.588 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:37:01,591.591 INFO    ] No camera update needed
[2026-08-29 20:37:01,594.594 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:37:01,597.597 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:37:01,603.603 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:37:01,610.610 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:37:03,652.652 INFO    ] ================================================
[2026-08-29 20:37:03,667.667 INFO    ] Launching Daemon at Sat Aug 29 20:37:03 IST 2026
[2026-08-29 20:37:03,678.678 INFO    ] ================================================
[2026-08-29 20:37:04,260.260 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:37:04
[2026-08-29 20:37:04,584.584 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:37:04,721.721 INFO    ] Initializing speech engine...
[2026-08-29 20:37:04,733.733 INFO    ] 2026-08-29 20:37:04
[2026-08-29 20:37:04,947.947 INFO    ] 2026-08-29 20:37:04
[2026-08-29 20:37:05,024.024 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:37:05,199.199 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:37:05,209.209 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:37:05,355.355 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:37:05,362.362 INFO    ] time= 29/08/2026 20:37:05
[2026-08-29 20:37:05,422.422 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:37:05,461.461 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:37:05,556.556 INFO    ] No existing commands found in stream
[2026-08-29 20:37:10,567.567 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:37:10,570.570 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-08-29 20:37:14,080.080 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:37:14,082.082 INFO    ] Checking for system updates...
[2026-08-29 20:37:14,103.103 INFO    ] 200
[2026-08-29 20:37:14,104.104 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:37:14,134.134 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:37:14,136.136 INFO    ] No update needed
[2026-08-29 20:37:14,137.137 INFO    ] Checking for camera pi updates...
[2026-08-29 20:37:14,159.159 INFO    ] 200
[2026-08-29 20:37:14,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:37:14,203.203 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:37:14,297.297 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:37:14,300.300 INFO    ] No camera update needed
[2026-08-29 20:37:14,302.302 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:37:14,305.305 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:37:14,311.311 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:37:14,317.317 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:37:16,357.357 INFO    ] ================================================
[2026-08-29 20:37:16,373.373 INFO    ] Launching Daemon at Sat Aug 29 20:37:16 IST 2026
[2026-08-29 20:37:16,384.384 INFO    ] ================================================
[2026-08-29 20:37:16,954.954 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:37:16
[2026-08-29 20:37:17,420.420 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:37:17,564.564 INFO    ] Initializing speech engine...
[2026-08-29 20:37:17,569.569 INFO    ] 2026-08-29 20:37:17
[2026-08-29 20:37:17,799.799 INFO    ] 2026-08-29 20:37:17
[2026-08-29 20:37:17,875.875 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:37:18,036.036 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:37:18,045.045 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:37:18,177.177 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:37:18,199.199 INFO    ] time= 29/08/2026 20:37:18
[2026-08-29 20:37:18,253.253 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:37:18,302.302 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:37:18,363.363 INFO    ] No existing commands found in stream
[2026-08-29 20:37:23,374.374 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:37:23,377.377 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-08-29 20:37:25,773.773 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:37:25,775.775 INFO    ] Checking for system updates...
[2026-08-29 20:37:25,795.795 INFO    ] 200
[2026-08-29 20:37:25,796.796 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:37:25,826.826 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:37:25,827.827 INFO    ] No update needed
[2026-08-29 20:37:25,828.828 INFO    ] Checking for camera pi updates...
[2026-08-29 20:37:25,850.850 INFO    ] 200
[2026-08-29 20:37:25,851.851 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:37:25,876.876 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:37:25,976.976 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:37:25,977.977 INFO    ] No camera update needed
[2026-08-29 20:37:25,978.978 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:37:25,979.979 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:37:25,982.982 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:37:25,985.985 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:37:28,024.024 INFO    ] ================================================
[2026-08-29 20:37:28,039.039 INFO    ] Launching Daemon at Sat Aug 29 20:37:28 IST 2026
[2026-08-29 20:37:28,051.051 INFO    ] ================================================
[2026-08-29 20:37:28,569.569 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:37:28
[2026-08-29 20:37:29,157.157 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:37:29,430.430 INFO    ] Initializing speech engine...
[2026-08-29 20:37:29,439.439 INFO    ] 2026-08-29 20:37:29
[2026-08-29 20:37:29,696.696 INFO    ] 2026-08-29 20:37:29
[2026-08-29 20:37:29,726.726 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:37:29,890.890 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:37:29,902.902 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:37:30,012.012 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:37:30,031.031 INFO    ] time= 29/08/2026 20:37:30
[2026-08-29 20:37:30,051.051 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:37:30,059.059 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:37:30,126.126 INFO    ] No existing commands found in stream
[2026-08-29 20:37:35,138.138 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:37:35,141.141 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 20:37:37,942.942 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:37:37,944.944 INFO    ] Checking for system updates...
[2026-08-29 20:37:37,966.966 INFO    ] 200
[2026-08-29 20:37:37,969.969 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:37:38,020.020 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:37:38,023.023 INFO    ] No update needed
[2026-08-29 20:37:38,025.025 INFO    ] Checking for camera pi updates...
[2026-08-29 20:37:38,059.059 INFO    ] 200
[2026-08-29 20:37:38,061.061 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:37:38,085.085 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:37:38,186.186 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:37:38,187.187 INFO    ] No camera update needed
[2026-08-29 20:37:38,189.189 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:37:38,190.190 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:37:38,193.193 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:37:38,195.195 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:37:40,235.235 INFO    ] ================================================
[2026-08-29 20:37:40,251.251 INFO    ] Launching Daemon at Sat Aug 29 20:37:40 IST 2026
[2026-08-29 20:37:40,262.262 INFO    ] ================================================
[2026-08-29 20:37:40,613.613 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:37:40
[2026-08-29 20:37:40,927.927 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:37:41,070.070 INFO    ] Initializing speech engine...
[2026-08-29 20:37:41,075.075 INFO    ] 2026-08-29 20:37:41
[2026-08-29 20:37:41,278.278 INFO    ] 2026-08-29 20:37:41
[2026-08-29 20:37:41,307.307 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:37:41,431.431 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:37:41,494.494 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:37:41,625.625 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:37:41,700.700 INFO    ] time= 29/08/2026 20:37:41
[2026-08-29 20:37:41,724.724 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:37:41,726.726 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:37:41,796.796 INFO    ] No existing commands found in stream
[2026-08-29 20:37:46,807.807 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:37:46,809.809 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-08-29 20:37:48,373.373 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:37:48,374.374 INFO    ] Checking for system updates...
[2026-08-29 20:37:48,394.394 INFO    ] 200
[2026-08-29 20:37:48,395.395 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:37:48,426.426 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:37:48,427.427 INFO    ] No update needed
[2026-08-29 20:37:48,428.428 INFO    ] Checking for camera pi updates...
[2026-08-29 20:37:48,447.447 INFO    ] 200
[2026-08-29 20:37:48,449.449 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:37:48,471.471 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:37:48,581.581 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:37:48,582.582 INFO    ] No camera update needed
[2026-08-29 20:37:48,583.583 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:37:48,585.585 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:37:48,587.587 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:37:48,590.590 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:37:50,629.629 INFO    ] ================================================
[2026-08-29 20:37:50,645.645 INFO    ] Launching Daemon at Sat Aug 29 20:37:50 IST 2026
[2026-08-29 20:37:50,655.655 INFO    ] ================================================
[2026-08-29 20:37:51,016.016 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:37:51
[2026-08-29 20:37:51,333.333 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:37:51,466.466 INFO    ] Initializing speech engine...
[2026-08-29 20:37:51,470.470 INFO    ] 2026-08-29 20:37:51
[2026-08-29 20:37:51,673.673 INFO    ] 2026-08-29 20:37:51
[2026-08-29 20:37:51,711.711 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:37:51,901.901 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:37:51,932.932 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:37:52,041.041 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:37:52,062.062 INFO    ] time= 29/08/2026 20:37:52
[2026-08-29 20:37:52,083.083 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:37:52,092.092 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:37:52,166.166 INFO    ] No existing commands found in stream
[2026-08-29 20:37:57,174.174 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:37:57,177.177 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-08-29 20:37:57,739.739 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:37:57,740.740 INFO    ] Checking for system updates...
[2026-08-29 20:37:57,761.761 INFO    ] 200
[2026-08-29 20:37:57,762.762 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:37:57,794.794 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:37:57,795.795 INFO    ] No update needed
[2026-08-29 20:37:57,796.796 INFO    ] Checking for camera pi updates...
[2026-08-29 20:37:57,815.815 INFO    ] 200
[2026-08-29 20:37:57,817.817 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:37:57,839.839 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:37:57,931.931 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:37:57,933.933 INFO    ] No camera update needed
[2026-08-29 20:37:57,934.934 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:37:57,935.935 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:37:57,938.938 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:37:57,941.941 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:37:59,980.980 INFO    ] ================================================
[2026-08-29 20:38:00,995.995 INFO    ] Launching Daemon at Sat Aug 29 20:37:59 IST 2026
[2026-08-29 20:38:00,006.006 INFO    ] ================================================
[2026-08-29 20:38:00,354.354 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:38:00
[2026-08-29 20:38:00,685.685 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:38:00,833.833 INFO    ] Initializing speech engine...
[2026-08-29 20:38:00,839.839 INFO    ] 2026-08-29 20:38:00
[2026-08-29 20:38:01,068.068 INFO    ] 2026-08-29 20:38:01
[2026-08-29 20:38:01,152.152 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:38:01,300.300 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:38:01,309.309 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:38:01,442.442 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:38:01,468.468 INFO    ] time= 29/08/2026 20:38:01
[2026-08-29 20:38:01,517.517 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:38:01,566.566 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:38:01,628.628 INFO    ] No existing commands found in stream
[2026-08-29 20:38:06,640.640 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:38:06,643.643 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-08-29 20:38:10,740.740 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:38:10,741.741 INFO    ] Checking for system updates...
[2026-08-29 20:38:10,762.762 INFO    ] 200
[2026-08-29 20:38:10,763.763 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:38:10,795.795 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:38:10,796.796 INFO    ] No update needed
[2026-08-29 20:38:10,798.798 INFO    ] Checking for camera pi updates...
[2026-08-29 20:38:10,819.819 INFO    ] 200
[2026-08-29 20:38:10,820.820 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:38:10,843.843 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:38:10,921.921 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:38:10,923.923 INFO    ] No camera update needed
[2026-08-29 20:38:10,924.924 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:38:10,925.925 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:38:10,928.928 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:38:10,931.931 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:38:12,971.971 INFO    ] ================================================
[2026-08-29 20:38:12,987.987 INFO    ] Launching Daemon at Sat Aug 29 20:38:12 IST 2026
[2026-08-29 20:38:13,998.998 INFO    ] ================================================
[2026-08-29 20:38:13,358.358 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:38:13
[2026-08-29 20:38:13,670.670 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:38:13,808.808 INFO    ] Initializing speech engine...
[2026-08-29 20:38:13,818.818 INFO    ] 2026-08-29 20:38:13
[2026-08-29 20:38:14,024.024 INFO    ] 2026-08-29 20:38:14
[2026-08-29 20:38:14,052.052 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:38:14,147.147 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:38:14,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:38:14,322.322 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:38:14,375.375 INFO    ] time= 29/08/2026 20:38:14
[2026-08-29 20:38:14,410.410 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:38:14,452.452 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:38:14,543.543 INFO    ] No existing commands found in stream
[2026-08-29 20:38:19,554.554 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:38:19,556.556 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-08-29 20:38:22,819.819 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:38:22,820.820 INFO    ] Checking for system updates...
[2026-08-29 20:38:22,841.841 INFO    ] 200
[2026-08-29 20:38:22,842.842 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:38:22,872.872 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:38:22,874.874 INFO    ] No update needed
[2026-08-29 20:38:22,875.875 INFO    ] Checking for camera pi updates...
[2026-08-29 20:38:22,894.894 INFO    ] 200
[2026-08-29 20:38:22,895.895 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:38:22,918.918 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:38:23,009.009 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:38:23,011.011 INFO    ] No camera update needed
[2026-08-29 20:38:23,012.012 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:38:23,013.013 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:38:23,016.016 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:38:23,019.019 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:38:25,058.058 INFO    ] ================================================
[2026-08-29 20:38:25,074.074 INFO    ] Launching Daemon at Sat Aug 29 20:38:25 IST 2026
[2026-08-29 20:38:25,085.085 INFO    ] ================================================
[2026-08-29 20:38:25,437.437 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:38:25
[2026-08-29 20:38:25,749.749 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:38:25,892.892 INFO    ] Initializing speech engine...
[2026-08-29 20:38:25,896.896 INFO    ] 2026-08-29 20:38:25
[2026-08-29 20:38:26,105.105 INFO    ] 2026-08-29 20:38:26
[2026-08-29 20:38:26,134.134 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:38:26,263.263 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:38:26,300.300 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:38:26,463.463 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:38:26,526.526 INFO    ] time= 29/08/2026 20:38:26
[2026-08-29 20:38:26,551.551 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:38:26,561.561 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:38:26,637.637 INFO    ] No existing commands found in stream
[2026-08-29 20:38:31,648.648 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:38:31,650.650 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-08-29 20:38:35,587.587 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:38:35,588.588 INFO    ] Checking for system updates...
[2026-08-29 20:38:35,610.610 INFO    ] 200
[2026-08-29 20:38:35,611.611 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:38:35,641.641 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:38:35,643.643 INFO    ] No update needed
[2026-08-29 20:38:35,644.644 INFO    ] Checking for camera pi updates...
[2026-08-29 20:38:35,663.663 INFO    ] 200
[2026-08-29 20:38:35,664.664 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:38:35,688.688 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:38:35,813.813 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:38:35,815.815 INFO    ] No camera update needed
[2026-08-29 20:38:35,816.816 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:38:35,817.817 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:38:35,820.820 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:38:35,823.823 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:38:37,864.864 INFO    ] ================================================
[2026-08-29 20:38:37,879.879 INFO    ] Launching Daemon at Sat Aug 29 20:38:37 IST 2026
[2026-08-29 20:38:37,890.890 INFO    ] ================================================
[2026-08-29 20:38:38,246.246 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:38:38
[2026-08-29 20:38:38,560.560 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:38:38,696.696 INFO    ] Initializing speech engine...
[2026-08-29 20:38:38,699.699 INFO    ] 2026-08-29 20:38:38
[2026-08-29 20:38:38,944.944 INFO    ] 2026-08-29 20:38:38
[2026-08-29 20:38:38,969.969 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:38:39,128.128 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:38:39,134.134 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:38:39,281.281 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:38:39,292.292 INFO    ] time= 29/08/2026 20:38:39
[2026-08-29 20:38:39,301.301 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:38:39,308.308 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:38:39,355.355 INFO    ] No existing commands found in stream
[2026-08-29 20:38:44,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:38:44,384.384 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 20:38:45,919.919 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:38:45,920.920 INFO    ] Checking for system updates...
[2026-08-29 20:38:45,941.941 INFO    ] 200
[2026-08-29 20:38:45,943.943 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:38:45,972.972 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:38:45,974.974 INFO    ] No update needed
[2026-08-29 20:38:45,975.975 INFO    ] Checking for camera pi updates...
[2026-08-29 20:38:45,996.996 INFO    ] 200
[2026-08-29 20:38:45,997.997 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:38:46,023.023 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:38:46,098.098 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:38:46,099.099 INFO    ] No camera update needed
[2026-08-29 20:38:46,100.100 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:38:46,101.101 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:38:46,105.105 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:38:46,107.107 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:38:48,148.148 INFO    ] ================================================
[2026-08-29 20:38:48,165.165 INFO    ] Launching Daemon at Sat Aug 29 20:38:48 IST 2026
[2026-08-29 20:38:48,178.178 INFO    ] ================================================
[2026-08-29 20:38:48,823.823 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:38:48
[2026-08-29 20:38:49,433.433 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:38:49,724.724 INFO    ] Initializing speech engine...
[2026-08-29 20:38:49,731.731 INFO    ] 2026-08-29 20:38:49
[2026-08-29 20:38:50,008.008 INFO    ] 2026-08-29 20:38:50
[2026-08-29 20:38:50,053.053 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:38:50,204.204 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:38:50,214.214 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:38:50,352.352 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:38:50,359.359 INFO    ] time= 29/08/2026 20:38:50
[2026-08-29 20:38:50,413.413 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:38:50,463.463 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:38:50,543.543 INFO    ] No existing commands found in stream
[2026-08-29 20:38:55,555.555 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:38:55,558.558 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-08-29 20:38:56,631.631 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:38:56,633.633 INFO    ] Checking for system updates...
[2026-08-29 20:38:56,654.654 INFO    ] 200
[2026-08-29 20:38:56,655.655 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:38:56,685.685 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:38:56,686.686 INFO    ] No update needed
[2026-08-29 20:38:56,687.687 INFO    ] Checking for camera pi updates...
[2026-08-29 20:38:56,706.706 INFO    ] 200
[2026-08-29 20:38:56,708.708 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:38:56,746.746 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:38:56,951.951 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:38:56,954.954 INFO    ] No camera update needed
[2026-08-29 20:38:56,956.956 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:38:56,958.958 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:38:56,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:38:56,969.969 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:38:59,008.008 INFO    ] ================================================
[2026-08-29 20:38:59,024.024 INFO    ] Launching Daemon at Sat Aug 29 20:38:59 IST 2026
[2026-08-29 20:38:59,036.036 INFO    ] ================================================
[2026-08-29 20:38:59,703.703 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:38:59
[2026-08-29 20:39:00,117.117 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:39:00,272.272 INFO    ] Initializing speech engine...
[2026-08-29 20:39:00,277.277 INFO    ] 2026-08-29 20:39:00
[2026-08-29 20:39:00,488.488 INFO    ] 2026-08-29 20:39:00
[2026-08-29 20:39:00,517.517 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:39:00,639.639 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:39:00,684.684 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:39:00,842.842 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:39:00,892.892 INFO    ] time= 29/08/2026 20:39:00
[2026-08-29 20:39:00,933.933 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:39:00,977.977 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:39:01,106.106 INFO    ] No existing commands found in stream
[2026-08-29 20:39:06,134.134 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:39:06,137.137 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-08-29 20:39:08,377.377 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:39:08,378.378 INFO    ] Checking for system updates...
[2026-08-29 20:39:08,399.399 INFO    ] 200
[2026-08-29 20:39:08,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:39:08,433.433 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:39:08,434.434 INFO    ] No update needed
[2026-08-29 20:39:08,436.436 INFO    ] Checking for camera pi updates...
[2026-08-29 20:39:08,455.455 INFO    ] 200
[2026-08-29 20:39:08,456.456 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:39:08,480.480 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:39:08,580.580 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:39:08,581.581 INFO    ] No camera update needed
[2026-08-29 20:39:08,583.583 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:39:08,584.584 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:39:08,587.587 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:39:08,590.590 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:39:10,628.628 INFO    ] ================================================
[2026-08-29 20:39:10,645.645 INFO    ] Launching Daemon at Sat Aug 29 20:39:10 IST 2026
[2026-08-29 20:39:10,656.656 INFO    ] ================================================
[2026-08-29 20:39:11,053.053 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:39:11
[2026-08-29 20:39:11,640.640 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:39:11,900.900 INFO    ] Initializing speech engine...
[2026-08-29 20:39:11,917.917 INFO    ] 2026-08-29 20:39:11
[2026-08-29 20:39:12,199.199 INFO    ] 2026-08-29 20:39:12
[2026-08-29 20:39:12,239.239 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:39:12,389.389 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:39:12,397.397 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:39:12,551.551 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:39:12,561.561 INFO    ] time= 29/08/2026 20:39:12
[2026-08-29 20:39:12,566.566 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:39:12,571.571 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:39:12,642.642 INFO    ] No existing commands found in stream
[2026-08-29 20:39:17,653.653 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:39:17,656.656 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-08-29 20:39:20,290.290 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:39:20,291.291 INFO    ] Checking for system updates...
[2026-08-29 20:39:20,312.312 INFO    ] 200
[2026-08-29 20:39:20,313.313 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:39:20,348.348 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:39:20,349.349 INFO    ] No update needed
[2026-08-29 20:39:20,351.351 INFO    ] Checking for camera pi updates...
[2026-08-29 20:39:20,370.370 INFO    ] 200
[2026-08-29 20:39:20,371.371 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:39:20,394.394 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:39:20,477.477 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:39:20,478.478 INFO    ] No camera update needed
[2026-08-29 20:39:20,479.479 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:39:20,481.481 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:39:20,484.484 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:39:20,486.486 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:39:22,526.526 INFO    ] ================================================
[2026-08-29 20:39:22,543.543 INFO    ] Launching Daemon at Sat Aug 29 20:39:22 IST 2026
[2026-08-29 20:39:22,554.554 INFO    ] ================================================
[2026-08-29 20:39:22,941.941 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:39:22
[2026-08-29 20:39:23,284.284 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:39:23,439.439 INFO    ] Initializing speech engine...
[2026-08-29 20:39:23,445.445 INFO    ] 2026-08-29 20:39:23
[2026-08-29 20:39:23,651.651 INFO    ] 2026-08-29 20:39:23
[2026-08-29 20:39:23,679.679 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:39:23,819.819 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:39:23,867.867 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:39:24,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:39:24,060.060 INFO    ] time= 29/08/2026 20:39:24
[2026-08-29 20:39:24,089.089 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:39:24,100.100 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:39:24,172.172 INFO    ] No existing commands found in stream
[2026-08-29 20:39:29,182.182 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:39:29,185.185 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-08-29 20:39:30,305.305 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:39:30,306.306 INFO    ] Checking for system updates...
[2026-08-29 20:39:30,331.331 INFO    ] 200
[2026-08-29 20:39:30,332.332 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:39:30,363.363 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:39:30,364.364 INFO    ] No update needed
[2026-08-29 20:39:30,366.366 INFO    ] Checking for camera pi updates...
[2026-08-29 20:39:30,385.385 INFO    ] 200
[2026-08-29 20:39:30,387.387 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:39:30,410.410 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:39:30,491.491 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:39:30,492.492 INFO    ] No camera update needed
[2026-08-29 20:39:30,494.494 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:39:30,495.495 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:39:30,498.498 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:39:30,501.501 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:39:32,534.534 INFO    ] ================================================
[2026-08-29 20:39:32,543.543 INFO    ] Launching Daemon at Sat Aug 29 20:39:32 IST 2026
[2026-08-29 20:39:32,550.550 INFO    ] ================================================
[2026-08-29 20:39:33,157.157 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:39:33
[2026-08-29 20:39:33,840.840 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:39:34,150.150 INFO    ] Initializing speech engine...
[2026-08-29 20:39:34,164.164 INFO    ] 2026-08-29 20:39:34
[2026-08-29 20:39:34,446.446 INFO    ] 2026-08-29 20:39:34
[2026-08-29 20:39:34,493.493 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:39:34,714.714 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:39:34,724.724 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:39:34,859.859 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:39:34,917.917 INFO    ] time= 29/08/2026 20:39:34
[2026-08-29 20:39:34,971.971 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:39:34,998.998 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:39:35,092.092 INFO    ] No existing commands found in stream
[2026-08-29 20:39:40,125.125 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:39:40,128.128 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-08-29 20:39:40,486.486 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:39:40,487.487 INFO    ] Checking for system updates...
[2026-08-29 20:39:40,508.508 INFO    ] 200
[2026-08-29 20:39:40,510.510 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:39:40,543.543 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:39:40,544.544 INFO    ] No update needed
[2026-08-29 20:39:40,546.546 INFO    ] Checking for camera pi updates...
[2026-08-29 20:39:40,566.566 INFO    ] 200
[2026-08-29 20:39:40,567.567 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:39:40,591.591 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:39:40,675.675 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:39:40,676.676 INFO    ] No camera update needed
[2026-08-29 20:39:40,677.677 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:39:40,679.679 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:39:40,682.682 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:39:40,688.688 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:39:42,730.730 INFO    ] ================================================
[2026-08-29 20:39:42,746.746 INFO    ] Launching Daemon at Sat Aug 29 20:39:42 IST 2026
[2026-08-29 20:39:42,758.758 INFO    ] ================================================
[2026-08-29 20:39:43,424.424 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:39:43
[2026-08-29 20:39:43,911.911 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:39:44,059.059 INFO    ] Initializing speech engine...
[2026-08-29 20:39:44,070.070 INFO    ] 2026-08-29 20:39:44
[2026-08-29 20:39:44,279.279 INFO    ] 2026-08-29 20:39:44
[2026-08-29 20:39:44,308.308 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:39:44,432.432 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:39:44,495.495 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:39:44,630.630 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:39:44,700.700 INFO    ] time= 29/08/2026 20:39:44
[2026-08-29 20:39:44,725.725 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:39:44,732.732 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:39:44,798.798 INFO    ] No existing commands found in stream
[2026-08-29 20:39:49,809.809 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:39:49,813.813 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-08-29 20:39:52,142.142 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:39:52,144.144 INFO    ] Checking for system updates...
[2026-08-29 20:39:52,165.165 INFO    ] 200
[2026-08-29 20:39:52,166.166 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:39:52,196.196 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:39:52,198.198 INFO    ] No update needed
[2026-08-29 20:39:52,199.199 INFO    ] Checking for camera pi updates...
[2026-08-29 20:39:52,220.220 INFO    ] 200
[2026-08-29 20:39:52,222.222 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:39:52,245.245 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:39:52,353.353 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:39:52,354.354 INFO    ] No camera update needed
[2026-08-29 20:39:52,356.356 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:39:52,357.357 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:39:52,360.360 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:39:52,363.363 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:39:54,403.403 INFO    ] ================================================
[2026-08-29 20:39:54,420.420 INFO    ] Launching Daemon at Sat Aug 29 20:39:54 IST 2026
[2026-08-29 20:39:54,431.431 INFO    ] ================================================
[2026-08-29 20:39:54,991.991 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:39:54
[2026-08-29 20:39:55,698.698 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:39:56,008.008 INFO    ] Initializing speech engine...
[2026-08-29 20:39:56,022.022 INFO    ] 2026-08-29 20:39:56
[2026-08-29 20:39:56,315.315 INFO    ] 2026-08-29 20:39:56
[2026-08-29 20:39:56,357.357 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:39:56,578.578 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:39:56,588.588 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:39:56,721.721 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:39:56,774.774 INFO    ] time= 29/08/2026 20:39:56
[2026-08-29 20:39:56,835.835 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:39:56,859.859 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:39:56,921.921 INFO    ] No existing commands found in stream
[2026-08-29 20:40:01,963.963 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:40:01,969.969 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 20:40:10,254.254 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:40:10,255.255 INFO    ] Checking for system updates...
[2026-08-29 20:40:10,279.279 INFO    ] 200
[2026-08-29 20:40:10,280.280 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:40:10,317.317 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:40:10,319.319 INFO    ] No update needed
[2026-08-29 20:40:10,320.320 INFO    ] Checking for camera pi updates...
[2026-08-29 20:40:10,345.345 INFO    ] 200
[2026-08-29 20:40:10,346.346 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:40:10,373.373 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:40:10,461.461 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:40:10,463.463 INFO    ] No camera update needed
[2026-08-29 20:40:10,466.466 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:40:10,468.468 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:40:10,473.473 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:40:10,478.478 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:40:12,518.518 INFO    ] ================================================
[2026-08-29 20:40:12,534.534 INFO    ] Launching Daemon at Sat Aug 29 20:40:12 IST 2026
[2026-08-29 20:40:12,545.545 INFO    ] ================================================
[2026-08-29 20:40:13,112.112 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:40:13
[2026-08-29 20:40:13,541.541 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:40:13,689.689 INFO    ] Initializing speech engine...
[2026-08-29 20:40:13,707.707 INFO    ] 2026-08-29 20:40:13
[2026-08-29 20:40:13,956.956 INFO    ] 2026-08-29 20:40:13
[2026-08-29 20:40:13,990.990 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:40:14,162.162 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:40:14,173.173 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:40:14,314.314 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:40:14,322.322 INFO    ] time= 29/08/2026 20:40:14
[2026-08-29 20:40:14,329.329 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:40:14,352.352 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:40:14,419.419 INFO    ] No existing commands found in stream
[2026-08-29 20:40:19,434.434 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:40:19,437.437 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-08-29 20:40:22,540.540 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:40:22,541.541 INFO    ] Checking for system updates...
[2026-08-29 20:40:22,562.562 INFO    ] 200
[2026-08-29 20:40:22,563.563 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:40:22,595.595 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:40:22,596.596 INFO    ] No update needed
[2026-08-29 20:40:22,598.598 INFO    ] Checking for camera pi updates...
[2026-08-29 20:40:22,616.616 INFO    ] 200
[2026-08-29 20:40:22,618.618 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:40:22,640.640 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:40:22,731.731 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:40:22,733.733 INFO    ] No camera update needed
[2026-08-29 20:40:22,736.736 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:40:22,738.738 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:40:22,743.743 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:40:22,748.748 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:40:24,789.789 INFO    ] ================================================
[2026-08-29 20:40:24,806.806 INFO    ] Launching Daemon at Sat Aug 29 20:40:24 IST 2026
[2026-08-29 20:40:24,817.817 INFO    ] ================================================
[2026-08-29 20:40:25,384.384 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:40:25
[2026-08-29 20:40:25,877.877 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:40:26,009.009 INFO    ] Initializing speech engine...
[2026-08-29 20:40:26,012.012 INFO    ] 2026-08-29 20:40:26
[2026-08-29 20:40:26,222.222 INFO    ] 2026-08-29 20:40:26
[2026-08-29 20:40:26,309.309 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:40:26,472.472 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:40:26,484.484 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:40:26,630.630 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:40:26,673.673 INFO    ] time= 29/08/2026 20:40:26
[2026-08-29 20:40:26,727.727 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:40:26,777.777 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:40:26,834.834 INFO    ] No existing commands found in stream
[2026-08-29 20:40:31,845.845 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:40:31,848.848 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-08-29 20:40:33,513.513 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:40:33,515.515 INFO    ] Checking for system updates...
[2026-08-29 20:40:33,551.551 INFO    ] 200
[2026-08-29 20:40:33,554.554 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:40:33,605.605 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:40:33,608.608 INFO    ] No update needed
[2026-08-29 20:40:33,610.610 INFO    ] Checking for camera pi updates...
[2026-08-29 20:40:33,643.643 INFO    ] 200
[2026-08-29 20:40:33,645.645 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:40:33,693.693 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:40:33,795.795 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:40:33,797.797 INFO    ] No camera update needed
[2026-08-29 20:40:33,800.800 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:40:33,802.802 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:40:33,807.807 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:40:33,812.812 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:40:35,853.853 INFO    ] ================================================
[2026-08-29 20:40:35,869.869 INFO    ] Launching Daemon at Sat Aug 29 20:40:35 IST 2026
[2026-08-29 20:40:35,880.880 INFO    ] ================================================
[2026-08-29 20:40:36,220.220 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:40:36
[2026-08-29 20:40:36,555.555 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:40:36,840.840 INFO    ] Initializing speech engine...
[2026-08-29 20:40:36,847.847 INFO    ] 2026-08-29 20:40:36
[2026-08-29 20:40:37,118.118 INFO    ] 2026-08-29 20:40:37
[2026-08-29 20:40:37,173.173 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:40:37,397.397 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:40:37,407.407 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:40:37,541.541 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:40:37,587.587 INFO    ] time= 29/08/2026 20:40:37
[2026-08-29 20:40:37,652.652 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:40:37,675.675 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:40:37,730.730 INFO    ] No existing commands found in stream
[2026-08-29 20:40:42,744.744 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:40:42,747.747 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-08-29 20:40:46,691.691 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:40:46,694.694 INFO    ] Checking for system updates...
[2026-08-29 20:40:46,732.732 INFO    ] 200
[2026-08-29 20:40:46,734.734 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:40:46,787.787 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:40:46,790.790 INFO    ] No update needed
[2026-08-29 20:40:46,793.793 INFO    ] Checking for camera pi updates...
[2026-08-29 20:40:46,827.827 INFO    ] 200
[2026-08-29 20:40:46,830.830 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:40:46,874.874 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:40:46,968.968 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:40:46,971.971 INFO    ] No camera update needed
[2026-08-29 20:40:46,974.974 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:40:46,976.976 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:40:46,982.982 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:40:46,988.988 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:40:49,029.029 INFO    ] ================================================
[2026-08-29 20:40:49,045.045 INFO    ] Launching Daemon at Sat Aug 29 20:40:49 IST 2026
[2026-08-29 20:40:49,056.056 INFO    ] ================================================
[2026-08-29 20:40:49,622.622 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:40:49
[2026-08-29 20:40:49,960.960 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:40:50,100.100 INFO    ] Initializing speech engine...
[2026-08-29 20:40:50,111.111 INFO    ] 2026-08-29 20:40:50
[2026-08-29 20:40:50,323.323 INFO    ] 2026-08-29 20:40:50
[2026-08-29 20:40:50,354.354 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:40:50,485.485 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:40:50,550.550 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:40:50,690.690 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:40:50,736.736 INFO    ] time= 29/08/2026 20:40:50
[2026-08-29 20:40:50,773.773 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:40:50,796.796 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:40:50,871.871 INFO    ] No existing commands found in stream
[2026-08-29 20:40:55,882.882 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:40:55,884.884 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-08-29 20:40:58,484.484 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:40:58,486.486 INFO    ] Checking for system updates...
[2026-08-29 20:40:58,506.506 INFO    ] 200
[2026-08-29 20:40:58,507.507 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:40:58,538.538 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:40:58,539.539 INFO    ] No update needed
[2026-08-29 20:40:58,540.540 INFO    ] Checking for camera pi updates...
[2026-08-29 20:40:58,560.560 INFO    ] 200
[2026-08-29 20:40:58,562.562 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:40:58,585.585 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:41:03,670.670 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:41:03,672.672 INFO    ] No camera update needed
[2026-08-29 20:41:03,674.674 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:41:03,677.677 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:41:03,682.682 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:41:03,687.687 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:41:05,727.727 INFO    ] ================================================
[2026-08-29 20:41:05,745.745 INFO    ] Launching Daemon at Sat Aug 29 20:41:05 IST 2026
[2026-08-29 20:41:05,757.757 INFO    ] ================================================
[2026-08-29 20:41:06,307.307 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:41:06
[2026-08-29 20:41:06,895.895 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:41:07,152.152 INFO    ] Initializing speech engine...
[2026-08-29 20:41:07,167.167 INFO    ] 2026-08-29 20:41:07
[2026-08-29 20:41:07,447.447 INFO    ] 2026-08-29 20:41:07
[2026-08-29 20:41:07,484.484 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:41:07,675.675 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:41:07,680.680 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:41:07,790.790 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:41:07,811.811 INFO    ] time= 29/08/2026 20:41:07
[2026-08-29 20:41:07,818.818 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:41:07,824.824 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:41:07,872.872 INFO    ] No existing commands found in stream
[2026-08-29 20:41:12,884.884 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:41:12,887.887 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-08-29 20:41:14,998.998 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:41:15,000.000 INFO    ] Checking for system updates...
[2026-08-29 20:41:15,020.020 INFO    ] 200
[2026-08-29 20:41:15,022.022 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:41:15,051.051 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:41:15,053.053 INFO    ] No update needed
[2026-08-29 20:41:15,054.054 INFO    ] Checking for camera pi updates...
[2026-08-29 20:41:15,073.073 INFO    ] 200
[2026-08-29 20:41:15,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:41:15,097.097 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:41:15,181.181 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:41:15,182.182 INFO    ] No camera update needed
[2026-08-29 20:41:15,183.183 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:41:15,185.185 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:41:15,187.187 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:41:15,190.190 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:41:17,231.231 INFO    ] ================================================
[2026-08-29 20:41:17,247.247 INFO    ] Launching Daemon at Sat Aug 29 20:41:17 IST 2026
[2026-08-29 20:41:17,258.258 INFO    ] ================================================
[2026-08-29 20:41:17,611.611 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:41:17
[2026-08-29 20:41:17,942.942 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:41:18,092.092 INFO    ] Initializing speech engine...
[2026-08-29 20:41:18,097.097 INFO    ] 2026-08-29 20:41:18
[2026-08-29 20:41:18,311.311 INFO    ] 2026-08-29 20:41:18
[2026-08-29 20:41:18,339.339 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:41:18,465.465 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:41:18,523.523 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:41:18,663.663 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:41:18,700.700 INFO    ] time= 29/08/2026 20:41:18
[2026-08-29 20:41:18,749.749 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:41:18,764.764 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:41:18,834.834 INFO    ] No existing commands found in stream
[2026-08-29 20:41:23,845.845 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:41:23,848.848 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-08-29 20:41:25,304.304 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:41:25,305.305 INFO    ] Checking for system updates...
[2026-08-29 20:41:25,326.326 INFO    ] 200
[2026-08-29 20:41:25,328.328 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:41:25,358.358 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:41:25,359.359 INFO    ] No update needed
[2026-08-29 20:41:25,361.361 INFO    ] Checking for camera pi updates...
[2026-08-29 20:41:25,380.380 INFO    ] 200
[2026-08-29 20:41:25,382.382 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:41:25,409.409 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:41:25,532.532 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:41:25,534.534 INFO    ] No camera update needed
[2026-08-29 20:41:25,535.535 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:41:25,536.536 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:41:25,540.540 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:41:25,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:41:27,583.583 INFO    ] ================================================
[2026-08-29 20:41:27,599.599 INFO    ] Launching Daemon at Sat Aug 29 20:41:27 IST 2026
[2026-08-29 20:41:27,610.610 INFO    ] ================================================
[2026-08-29 20:41:27,949.949 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:41:27
[2026-08-29 20:41:28,260.260 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:41:28,402.402 INFO    ] Initializing speech engine...
[2026-08-29 20:41:28,407.407 INFO    ] 2026-08-29 20:41:28
[2026-08-29 20:41:28,609.609 INFO    ] 2026-08-29 20:41:28
[2026-08-29 20:41:28,637.637 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:41:28,758.758 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:41:28,806.806 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:41:28,981.981 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:41:29,011.011 INFO    ] time= 29/08/2026 20:41:28
[2026-08-29 20:41:29,070.070 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:41:29,129.129 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:41:29,200.200 INFO    ] No existing commands found in stream
[2026-08-29 20:41:34,215.215 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:41:34,218.218 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-08-29 20:41:36,107.107 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:41:36,109.109 INFO    ] Checking for system updates...
[2026-08-29 20:41:36,129.129 INFO    ] 200
[2026-08-29 20:41:36,130.130 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:41:36,161.161 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:41:36,162.162 INFO    ] No update needed
[2026-08-29 20:41:36,164.164 INFO    ] Checking for camera pi updates...
[2026-08-29 20:41:36,184.184 INFO    ] 200
[2026-08-29 20:41:36,185.185 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:41:36,208.208 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:41:36,286.286 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:41:36,288.288 INFO    ] No camera update needed
[2026-08-29 20:41:36,289.289 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:41:36,290.290 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:41:36,293.293 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:41:36,296.296 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:41:38,335.335 INFO    ] ================================================
[2026-08-29 20:41:38,351.351 INFO    ] Launching Daemon at Sat Aug 29 20:41:38 IST 2026
[2026-08-29 20:41:38,363.363 INFO    ] ================================================
[2026-08-29 20:41:38,730.730 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:41:38
[2026-08-29 20:41:39,063.063 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:41:39,337.337 INFO    ] Initializing speech engine...
[2026-08-29 20:41:39,350.350 INFO    ] 2026-08-29 20:41:39
[2026-08-29 20:41:39,652.652 INFO    ] 2026-08-29 20:41:39
[2026-08-29 20:41:39,739.739 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:41:39,893.893 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:41:39,899.899 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:41:40,031.031 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:41:40,063.063 INFO    ] time= 29/08/2026 20:41:40
[2026-08-29 20:41:40,117.117 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:41:40,165.165 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:41:40,223.223 INFO    ] No existing commands found in stream
[2026-08-29 20:41:45,235.235 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:41:45,238.238 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-08-29 20:41:48,171.171 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:41:48,172.172 INFO    ] Checking for system updates...
[2026-08-29 20:41:48,193.193 INFO    ] 200
[2026-08-29 20:41:48,195.195 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:41:48,225.225 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:41:48,226.226 INFO    ] No update needed
[2026-08-29 20:41:48,228.228 INFO    ] Checking for camera pi updates...
[2026-08-29 20:41:48,247.247 INFO    ] 200
[2026-08-29 20:41:48,248.248 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:41:48,272.272 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:41:48,355.355 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:41:48,357.357 INFO    ] No camera update needed
[2026-08-29 20:41:48,358.358 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:41:48,360.360 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:41:48,363.363 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:41:48,366.366 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:41:50,404.404 INFO    ] ================================================
[2026-08-29 20:41:50,419.419 INFO    ] Launching Daemon at Sat Aug 29 20:41:50 IST 2026
[2026-08-29 20:41:50,430.430 INFO    ] ================================================
[2026-08-29 20:41:50,802.802 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:41:50
[2026-08-29 20:41:51,123.123 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:41:51,328.328 INFO    ] Initializing speech engine...
[2026-08-29 20:41:51,341.341 INFO    ] 2026-08-29 20:41:51
[2026-08-29 20:41:51,625.625 INFO    ] 2026-08-29 20:41:51
[2026-08-29 20:41:51,664.664 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:41:51,858.858 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:41:51,875.875 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:41:51,996.996 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:41:52,001.001 INFO    ] time= 29/08/2026 20:41:51
[2026-08-29 20:41:52,021.021 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:41:52,042.042 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:41:52,122.122 INFO    ] No existing commands found in stream
[2026-08-29 20:41:57,134.134 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:41:57,138.138 INFO    ] Waiting 2.66 seconds before fallback handling...
[2026-08-29 20:42:00,137.137 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:42:00,139.139 INFO    ] Checking for system updates...
[2026-08-29 20:42:00,159.159 INFO    ] 200
[2026-08-29 20:42:00,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:42:00,191.191 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:42:00,193.193 INFO    ] No update needed
[2026-08-29 20:42:00,194.194 INFO    ] Checking for camera pi updates...
[2026-08-29 20:42:00,214.214 INFO    ] 200
[2026-08-29 20:42:00,215.215 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:42:00,238.238 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:42:00,337.337 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:42:00,338.338 INFO    ] No camera update needed
[2026-08-29 20:42:00,340.340 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:42:00,341.341 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:42:00,344.344 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:42:00,347.347 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:42:02,388.388 INFO    ] ================================================
[2026-08-29 20:42:02,408.408 INFO    ] Launching Daemon at Sat Aug 29 20:42:02 IST 2026
[2026-08-29 20:42:02,423.423 INFO    ] ================================================
[2026-08-29 20:42:03,082.082 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:42:03
[2026-08-29 20:42:03,788.788 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:42:04,069.069 INFO    ] Initializing speech engine...
[2026-08-29 20:42:04,085.085 INFO    ] 2026-08-29 20:42:04
[2026-08-29 20:42:04,348.348 INFO    ] 2026-08-29 20:42:04
[2026-08-29 20:42:04,390.390 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:42:04,556.556 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:42:04,569.569 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:42:04,709.709 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:42:04,718.718 INFO    ] time= 29/08/2026 20:42:04
[2026-08-29 20:42:04,727.727 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:42:04,786.786 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:42:04,891.891 INFO    ] No existing commands found in stream
[2026-08-29 20:42:09,922.922 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:42:09,925.925 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-08-29 20:42:11,984.984 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:42:11,986.986 INFO    ] Checking for system updates...
[2026-08-29 20:42:12,007.007 INFO    ] 200
[2026-08-29 20:42:12,008.008 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:42:12,040.040 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:42:12,041.041 INFO    ] No update needed
[2026-08-29 20:42:12,043.043 INFO    ] Checking for camera pi updates...
[2026-08-29 20:42:12,064.064 INFO    ] 200
[2026-08-29 20:42:12,066.066 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:42:12,089.089 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:42:12,165.165 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:42:12,166.166 INFO    ] No camera update needed
[2026-08-29 20:42:12,167.167 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:42:12,169.169 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:42:12,172.172 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:42:12,175.175 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:42:14,214.214 INFO    ] ================================================
[2026-08-29 20:42:14,229.229 INFO    ] Launching Daemon at Sat Aug 29 20:42:14 IST 2026
[2026-08-29 20:42:14,240.240 INFO    ] ================================================
[2026-08-29 20:42:14,772.772 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:42:14
[2026-08-29 20:42:15,423.423 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:42:15,717.717 INFO    ] Initializing speech engine...
[2026-08-29 20:42:15,726.726 INFO    ] 2026-08-29 20:42:15
[2026-08-29 20:42:15,995.995 INFO    ] 2026-08-29 20:42:15
[2026-08-29 20:42:16,052.052 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:42:16,272.272 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:42:16,282.282 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:42:16,418.418 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:42:16,462.462 INFO    ] time= 29/08/2026 20:42:16
[2026-08-29 20:42:16,512.512 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:42:16,548.548 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:42:16,601.601 INFO    ] No existing commands found in stream
[2026-08-29 20:42:21,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:42:21,617.617 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-08-29 20:42:25,945.945 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:42:25,947.947 INFO    ] Checking for system updates...
[2026-08-29 20:42:25,968.968 INFO    ] 200
[2026-08-29 20:42:25,969.969 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:42:26,013.013 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:42:26,016.016 INFO    ] No update needed
[2026-08-29 20:42:26,018.018 INFO    ] Checking for camera pi updates...
[2026-08-29 20:42:26,053.053 INFO    ] 200
[2026-08-29 20:42:26,056.056 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:42:26,097.097 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:42:26,182.182 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:42:26,185.185 INFO    ] No camera update needed
[2026-08-29 20:42:26,187.187 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:42:26,190.190 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:42:26,196.196 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:42:26,201.201 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:42:28,243.243 INFO    ] ================================================
[2026-08-29 20:42:28,257.257 INFO    ] Launching Daemon at Sat Aug 29 20:42:28 IST 2026
[2026-08-29 20:42:28,268.268 INFO    ] ================================================
[2026-08-29 20:42:28,900.900 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:42:28
[2026-08-29 20:42:29,337.337 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:42:29,486.486 INFO    ] Initializing speech engine...
[2026-08-29 20:42:29,491.491 INFO    ] 2026-08-29 20:42:29
[2026-08-29 20:42:29,698.698 INFO    ] 2026-08-29 20:42:29
[2026-08-29 20:42:29,727.727 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:42:29,850.850 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:42:29,912.912 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:42:30,045.045 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:42:30,112.112 INFO    ] time= 29/08/2026 20:42:30
[2026-08-29 20:42:30,143.143 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:42:30,150.150 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:42:30,216.216 INFO    ] No existing commands found in stream
[2026-08-29 20:42:35,227.227 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:42:35,230.230 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 20:42:37,521.521 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:42:37,522.522 INFO    ] Checking for system updates...
[2026-08-29 20:42:37,543.543 INFO    ] 200
[2026-08-29 20:42:37,545.545 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:42:37,575.575 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:42:37,577.577 INFO    ] No update needed
[2026-08-29 20:42:37,580.580 INFO    ] Checking for camera pi updates...
[2026-08-29 20:42:37,614.614 INFO    ] 200
[2026-08-29 20:42:37,617.617 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:42:37,658.658 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:42:37,774.774 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:42:37,776.776 INFO    ] No camera update needed
[2026-08-29 20:42:37,779.779 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:42:37,781.781 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:42:37,788.788 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:42:37,793.793 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:42:39,834.834 INFO    ] ================================================
[2026-08-29 20:42:39,849.849 INFO    ] Launching Daemon at Sat Aug 29 20:42:39 IST 2026
[2026-08-29 20:42:39,861.861 INFO    ] ================================================
[2026-08-29 20:42:40,435.435 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:42:40
[2026-08-29 20:42:40,779.779 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:42:40,907.907 INFO    ] Initializing speech engine...
[2026-08-29 20:42:40,910.910 INFO    ] 2026-08-29 20:42:40
[2026-08-29 20:42:41,131.131 INFO    ] 2026-08-29 20:42:41
[2026-08-29 20:42:41,160.160 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:42:41,273.273 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:42:41,274.274 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:42:41,361.361 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:42:41,366.366 INFO    ] time= 29/08/2026 20:42:41
[2026-08-29 20:42:41,380.380 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:42:41,385.385 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:42:41,466.466 INFO    ] No existing commands found in stream
[2026-08-29 20:42:46,497.497 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:42:46,500.500 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-08-29 20:42:48,546.546 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:42:48,548.548 INFO    ] Checking for system updates...
[2026-08-29 20:42:48,568.568 INFO    ] 200
[2026-08-29 20:42:48,569.569 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:42:48,600.600 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:42:48,601.601 INFO    ] No update needed
[2026-08-29 20:42:48,602.602 INFO    ] Checking for camera pi updates...
[2026-08-29 20:42:48,623.623 INFO    ] 200
[2026-08-29 20:42:48,624.624 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:42:48,647.647 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:42:48,750.750 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:42:48,753.753 INFO    ] No camera update needed
[2026-08-29 20:42:48,755.755 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:42:48,757.757 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:42:48,763.763 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:42:48,767.767 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:42:50,807.807 INFO    ] ================================================
[2026-08-29 20:42:50,823.823 INFO    ] Launching Daemon at Sat Aug 29 20:42:50 IST 2026
[2026-08-29 20:42:50,834.834 INFO    ] ================================================
[2026-08-29 20:42:51,467.467 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:42:51
[2026-08-29 20:42:51,964.964 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:42:52,116.116 INFO    ] Initializing speech engine...
[2026-08-29 20:42:52,265.265 INFO    ] 2026-08-29 20:42:52
[2026-08-29 20:42:52,514.514 INFO    ] 2026-08-29 20:42:52
[2026-08-29 20:42:52,584.584 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:42:52,826.826 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:42:52,870.870 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:42:53,045.045 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:42:53,090.090 INFO    ] time= 29/08/2026 20:42:53
[2026-08-29 20:42:53,132.132 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:42:53,142.142 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:42:53,265.265 INFO    ] No existing commands found in stream
[2026-08-29 20:42:58,292.292 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:42:58,295.295 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-08-29 20:43:00,371.371 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:43:00,372.372 INFO    ] Checking for system updates...
[2026-08-29 20:43:00,393.393 INFO    ] 200
[2026-08-29 20:43:00,394.394 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:43:00,425.425 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:43:00,426.426 INFO    ] No update needed
[2026-08-29 20:43:00,428.428 INFO    ] Checking for camera pi updates...
[2026-08-29 20:43:00,447.447 INFO    ] 200
[2026-08-29 20:43:00,449.449 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:43:00,472.472 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:43:00,567.567 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:43:00,570.570 INFO    ] No camera update needed
[2026-08-29 20:43:00,572.572 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:43:00,574.574 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:43:00,579.579 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:43:00,584.584 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:43:02,627.627 INFO    ] ================================================
[2026-08-29 20:43:02,646.646 INFO    ] Launching Daemon at Sat Aug 29 20:43:02 IST 2026
[2026-08-29 20:43:02,662.662 INFO    ] ================================================
[2026-08-29 20:43:03,314.314 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:43:03
[2026-08-29 20:43:04,175.175 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:43:04,450.450 INFO    ] Initializing speech engine...
[2026-08-29 20:43:04,459.459 INFO    ] 2026-08-29 20:43:04
[2026-08-29 20:43:04,723.723 INFO    ] 2026-08-29 20:43:04
[2026-08-29 20:43:04,776.776 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:43:05,001.001 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:43:05,010.010 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:43:05,144.144 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:43:05,150.150 INFO    ] time= 29/08/2026 20:43:05
[2026-08-29 20:43:05,214.214 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:43:05,274.274 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:43:05,330.330 INFO    ] No existing commands found in stream
[2026-08-29 20:43:10,343.343 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:43:10,345.345 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-08-29 20:43:13,650.650 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:43:13,652.652 INFO    ] Checking for system updates...
[2026-08-29 20:43:13,673.673 INFO    ] 200
[2026-08-29 20:43:13,675.675 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:43:13,714.714 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:43:13,717.717 INFO    ] No update needed
[2026-08-29 20:43:13,719.719 INFO    ] Checking for camera pi updates...
[2026-08-29 20:43:13,753.753 INFO    ] 200
[2026-08-29 20:43:13,756.756 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:43:13,801.801 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:43:14,005.005 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:43:14,007.007 INFO    ] No camera update needed
[2026-08-29 20:43:14,010.010 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:43:14,012.012 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:43:14,018.018 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:43:14,023.023 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:43:16,064.064 INFO    ] ================================================
[2026-08-29 20:43:16,080.080 INFO    ] Launching Daemon at Sat Aug 29 20:43:16 IST 2026
[2026-08-29 20:43:16,091.091 INFO    ] ================================================
[2026-08-29 20:43:16,661.661 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:43:16
[2026-08-29 20:43:17,050.050 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:43:17,195.195 INFO    ] Initializing speech engine...
[2026-08-29 20:43:17,201.201 INFO    ] 2026-08-29 20:43:17
[2026-08-29 20:43:17,432.432 INFO    ] 2026-08-29 20:43:17
[2026-08-29 20:43:17,467.467 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:43:17,643.643 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:43:17,656.656 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:43:17,768.768 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:43:17,773.773 INFO    ] time= 29/08/2026 20:43:17
[2026-08-29 20:43:17,792.792 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:43:17,812.812 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:43:17,889.889 INFO    ] No existing commands found in stream
[2026-08-29 20:43:22,904.904 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:43:22,906.906 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-08-29 20:43:24,872.872 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:43:24,873.873 INFO    ] Checking for system updates...
[2026-08-29 20:43:24,898.898 INFO    ] 200
[2026-08-29 20:43:24,899.899 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:43:24,930.930 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:43:24,932.932 INFO    ] No update needed
[2026-08-29 20:43:24,933.933 INFO    ] Checking for camera pi updates...
[2026-08-29 20:43:24,953.953 INFO    ] 200
[2026-08-29 20:43:24,954.954 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:43:24,978.978 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:43:25,051.051 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:43:25,052.052 INFO    ] No camera update needed
[2026-08-29 20:43:25,054.054 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:43:25,055.055 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:43:25,058.058 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:43:25,061.061 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:43:27,101.101 INFO    ] ================================================
[2026-08-29 20:43:27,116.116 INFO    ] Launching Daemon at Sat Aug 29 20:43:27 IST 2026
[2026-08-29 20:43:27,127.127 INFO    ] ================================================
[2026-08-29 20:43:27,489.489 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:43:27
[2026-08-29 20:43:27,804.804 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:43:27,938.938 INFO    ] Initializing speech engine...
[2026-08-29 20:43:27,941.941 INFO    ] 2026-08-29 20:43:27
[2026-08-29 20:43:28,159.159 INFO    ] 2026-08-29 20:43:28
[2026-08-29 20:43:28,187.187 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:43:28,340.340 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:43:28,398.398 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:43:28,552.552 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:43:28,608.608 INFO    ] time= 29/08/2026 20:43:28
[2026-08-29 20:43:28,654.654 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:43:28,660.660 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:43:28,737.737 INFO    ] No existing commands found in stream
[2026-08-29 20:43:33,748.748 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:43:33,750.750 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-08-29 20:43:37,016.016 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:43:37,018.018 INFO    ] Checking for system updates...
[2026-08-29 20:43:37,038.038 INFO    ] 200
[2026-08-29 20:43:37,039.039 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:43:37,070.070 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:43:37,072.072 INFO    ] No update needed
[2026-08-29 20:43:37,073.073 INFO    ] Checking for camera pi updates...
[2026-08-29 20:43:37,094.094 INFO    ] 200
[2026-08-29 20:43:37,095.095 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:43:37,118.118 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:43:37,193.193 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:43:37,194.194 INFO    ] No camera update needed
[2026-08-29 20:43:37,196.196 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:43:37,197.197 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:43:37,200.200 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:43:37,202.202 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:43:39,241.241 INFO    ] ================================================
[2026-08-29 20:43:39,256.256 INFO    ] Launching Daemon at Sat Aug 29 20:43:39 IST 2026
[2026-08-29 20:43:39,267.267 INFO    ] ================================================
[2026-08-29 20:43:39,645.645 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:43:39
[2026-08-29 20:43:40,160.160 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:43:40,466.466 INFO    ] Initializing speech engine...
[2026-08-29 20:43:40,480.480 INFO    ] 2026-08-29 20:43:40
[2026-08-29 20:43:40,792.792 INFO    ] 2026-08-29 20:43:40
[2026-08-29 20:43:40,879.879 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:43:41,032.032 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:43:41,037.037 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:43:41,171.171 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:43:41,224.224 INFO    ] time= 29/08/2026 20:43:41
[2026-08-29 20:43:41,294.294 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:43:41,308.308 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:43:41,425.425 INFO    ] No existing commands found in stream
[2026-08-29 20:43:46,461.461 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:43:46,465.465 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-08-29 20:43:50,343.343 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:43:50,345.345 INFO    ] Checking for system updates...
[2026-08-29 20:43:50,365.365 INFO    ] 200
[2026-08-29 20:43:50,366.366 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:43:50,398.398 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:43:50,400.400 INFO    ] No update needed
[2026-08-29 20:43:50,401.401 INFO    ] Checking for camera pi updates...
[2026-08-29 20:43:50,421.421 INFO    ] 200
[2026-08-29 20:43:50,423.423 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:43:50,446.446 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:43:50,523.523 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:43:50,524.524 INFO    ] No camera update needed
[2026-08-29 20:43:50,525.525 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:43:50,526.526 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:43:50,529.529 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:43:50,532.532 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:43:52,571.571 INFO    ] ================================================
[2026-08-29 20:43:52,586.586 INFO    ] Launching Daemon at Sat Aug 29 20:43:52 IST 2026
[2026-08-29 20:43:52,597.597 INFO    ] ================================================
[2026-08-29 20:43:52,966.966 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:43:52
[2026-08-29 20:43:53,284.284 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:43:53,419.419 INFO    ] Initializing speech engine...
[2026-08-29 20:43:53,431.431 INFO    ] 2026-08-29 20:43:53
[2026-08-29 20:43:53,649.649 INFO    ] 2026-08-29 20:43:53
[2026-08-29 20:43:53,702.702 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:43:53,865.865 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:43:53,874.874 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:43:54,026.026 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:43:54,073.073 INFO    ] time= 29/08/2026 20:43:54
[2026-08-29 20:43:54,079.079 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:43:54,100.100 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:43:54,208.208 INFO    ] No existing commands found in stream
[2026-08-29 20:43:59,238.238 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:43:59,240.240 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-08-29 20:44:00,043.043 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:44:00,044.044 INFO    ] Checking for system updates...
[2026-08-29 20:44:00,066.066 INFO    ] 200
[2026-08-29 20:44:00,067.067 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:44:00,097.097 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:44:00,098.098 INFO    ] No update needed
[2026-08-29 20:44:00,099.099 INFO    ] Checking for camera pi updates...
[2026-08-29 20:44:00,119.119 INFO    ] 200
[2026-08-29 20:44:00,120.120 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:44:00,144.144 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:44:00,223.223 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:44:00,225.225 INFO    ] No camera update needed
[2026-08-29 20:44:00,226.226 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:44:00,227.227 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:44:00,230.230 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:44:00,233.233 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:44:02,278.278 INFO    ] ================================================
[2026-08-29 20:44:02,307.307 INFO    ] Launching Daemon at Sat Aug 29 20:44:02 IST 2026
[2026-08-29 20:44:02,322.322 INFO    ] ================================================
[2026-08-29 20:44:02,998.998 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:44:02
[2026-08-29 20:44:03,672.672 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:44:03,947.947 INFO    ] Initializing speech engine...
[2026-08-29 20:44:03,955.955 INFO    ] 2026-08-29 20:44:03
[2026-08-29 20:44:04,209.209 INFO    ] 2026-08-29 20:44:04
[2026-08-29 20:44:04,242.242 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:44:04,419.419 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:44:04,434.434 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:44:04,578.578 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:44:04,587.587 INFO    ] time= 29/08/2026 20:44:04
[2026-08-29 20:44:04,591.591 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:44:04,597.597 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:44:04,666.666 INFO    ] No existing commands found in stream
[2026-08-29 20:44:09,692.692 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:44:09,695.695 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-08-29 20:44:10,104.104 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:44:10,106.106 INFO    ] Checking for system updates...
[2026-08-29 20:44:10,126.126 INFO    ] 200
[2026-08-29 20:44:10,128.128 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:44:10,160.160 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:44:10,161.161 INFO    ] No update needed
[2026-08-29 20:44:10,162.162 INFO    ] Checking for camera pi updates...
[2026-08-29 20:44:10,182.182 INFO    ] 200
[2026-08-29 20:44:10,183.183 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:44:10,207.207 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:44:10,294.294 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:44:10,295.295 INFO    ] No camera update needed
[2026-08-29 20:44:10,296.296 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:44:10,297.297 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:44:10,300.300 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:44:10,303.303 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:44:12,342.342 INFO    ] ================================================
[2026-08-29 20:44:12,357.357 INFO    ] Launching Daemon at Sat Aug 29 20:44:12 IST 2026
[2026-08-29 20:44:12,368.368 INFO    ] ================================================
[2026-08-29 20:44:12,864.864 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:44:12
[2026-08-29 20:44:13,449.449 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:44:13,718.718 INFO    ] Initializing speech engine...
[2026-08-29 20:44:13,727.727 INFO    ] 2026-08-29 20:44:13
[2026-08-29 20:44:13,977.977 INFO    ] 2026-08-29 20:44:13
[2026-08-29 20:44:14,014.014 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:44:14,188.188 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:44:14,203.203 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:44:14,348.348 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:44:14,356.356 INFO    ] time= 29/08/2026 20:44:14
[2026-08-29 20:44:14,364.364 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:44:14,414.414 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:44:14,535.535 INFO    ] No existing commands found in stream
[2026-08-29 20:44:19,561.561 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:44:19,564.564 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-08-29 20:44:22,509.509 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:44:22,511.511 INFO    ] Checking for system updates...
[2026-08-29 20:44:22,531.531 INFO    ] 200
[2026-08-29 20:44:22,533.533 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:44:22,731.731 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:44:22,732.732 INFO    ] No update needed
[2026-08-29 20:44:22,733.733 INFO    ] Checking for camera pi updates...
[2026-08-29 20:44:22,753.753 INFO    ] 200
[2026-08-29 20:44:22,754.754 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:44:22,777.777 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:44:22,859.859 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:44:22,862.862 INFO    ] No camera update needed
[2026-08-29 20:44:22,864.864 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:44:22,866.866 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:44:22,871.871 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:44:22,876.876 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:44:24,920.920 INFO    ] ================================================
[2026-08-29 20:44:24,936.936 INFO    ] Launching Daemon at Sat Aug 29 20:44:24 IST 2026
[2026-08-29 20:44:24,947.947 INFO    ] ================================================
[2026-08-29 20:44:25,515.515 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:44:25
[2026-08-29 20:44:26,013.013 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:44:26,191.191 INFO    ] Initializing speech engine...
[2026-08-29 20:44:26,205.205 INFO    ] 2026-08-29 20:44:26
[2026-08-29 20:44:26,462.462 INFO    ] 2026-08-29 20:44:26
[2026-08-29 20:44:26,497.497 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:44:26,674.674 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:44:26,687.687 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:44:26,832.832 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:44:26,841.841 INFO    ] time= 29/08/2026 20:44:26
[2026-08-29 20:44:26,847.847 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:44:26,893.893 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:44:27,011.011 INFO    ] No existing commands found in stream
[2026-08-29 20:44:32,037.037 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:44:32,040.040 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-08-29 20:44:35,621.621 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:44:35,624.624 INFO    ] Checking for system updates...
[2026-08-29 20:44:35,660.660 INFO    ] 200
[2026-08-29 20:44:35,662.662 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:44:35,709.709 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:44:35,710.710 INFO    ] No update needed
[2026-08-29 20:44:35,711.711 INFO    ] Checking for camera pi updates...
[2026-08-29 20:44:35,730.730 INFO    ] 200
[2026-08-29 20:44:35,732.732 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:44:35,755.755 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:44:35,854.854 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:44:35,855.855 INFO    ] No camera update needed
[2026-08-29 20:44:35,857.857 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:44:35,858.858 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:44:35,861.861 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:44:35,863.863 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:44:37,904.904 INFO    ] ================================================
[2026-08-29 20:44:37,919.919 INFO    ] Launching Daemon at Sat Aug 29 20:44:37 IST 2026
[2026-08-29 20:44:37,931.931 INFO    ] ================================================
[2026-08-29 20:44:38,262.262 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:44:38
[2026-08-29 20:44:38,581.581 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:44:38,723.723 INFO    ] Initializing speech engine...
[2026-08-29 20:44:38,731.731 INFO    ] 2026-08-29 20:44:38
[2026-08-29 20:44:38,948.948 INFO    ] 2026-08-29 20:44:38
[2026-08-29 20:44:38,979.979 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:44:39,110.110 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:44:39,150.150 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:44:39,284.284 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:44:39,323.323 INFO    ] time= 29/08/2026 20:44:39
[2026-08-29 20:44:39,354.354 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:44:39,406.406 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:44:39,504.504 INFO    ] No existing commands found in stream
[2026-08-29 20:44:44,514.514 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:44:44,517.517 INFO    ] Waiting 2.52 seconds before fallback handling...
[2026-08-29 20:44:47,359.359 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:44:47,361.361 INFO    ] Checking for system updates...
[2026-08-29 20:44:47,381.381 INFO    ] 200
[2026-08-29 20:44:47,383.383 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:44:47,413.413 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:44:47,414.414 INFO    ] No update needed
[2026-08-29 20:44:47,415.415 INFO    ] Checking for camera pi updates...
[2026-08-29 20:44:47,436.436 INFO    ] 200
[2026-08-29 20:44:47,437.437 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:44:47,460.460 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:44:47,554.554 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:44:47,556.556 INFO    ] No camera update needed
[2026-08-29 20:44:47,557.557 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:44:47,558.558 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:44:47,561.561 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:44:47,564.564 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:44:49,603.603 INFO    ] ================================================
[2026-08-29 20:44:49,619.619 INFO    ] Launching Daemon at Sat Aug 29 20:44:49 IST 2026
[2026-08-29 20:44:49,630.630 INFO    ] ================================================
[2026-08-29 20:44:50,009.009 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:44:50
[2026-08-29 20:44:50,346.346 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:44:50,496.496 INFO    ] Initializing speech engine...
[2026-08-29 20:44:50,501.501 INFO    ] 2026-08-29 20:44:50
[2026-08-29 20:44:50,766.766 INFO    ] 2026-08-29 20:44:50
[2026-08-29 20:44:50,818.818 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:44:51,042.042 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:44:51,051.051 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:44:51,184.184 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:44:51,232.232 INFO    ] time= 29/08/2026 20:44:51
[2026-08-29 20:44:51,292.292 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:44:51,320.320 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:44:51,372.372 INFO    ] No existing commands found in stream
[2026-08-29 20:44:56,384.384 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:44:56,387.387 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-08-29 20:44:59,776.776 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:44:59,778.778 INFO    ] Checking for system updates...
[2026-08-29 20:44:59,799.799 INFO    ] 200
[2026-08-29 20:44:59,800.800 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:44:59,830.830 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:44:59,832.832 INFO    ] No update needed
[2026-08-29 20:44:59,833.833 INFO    ] Checking for camera pi updates...
[2026-08-29 20:44:59,854.854 INFO    ] 200
[2026-08-29 20:44:59,856.856 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:44:59,879.879 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:44:59,958.958 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:44:59,961.961 INFO    ] No camera update needed
[2026-08-29 20:44:59,963.963 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:44:59,966.966 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:44:59,972.972 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:44:59,978.978 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:45:02,058.058 INFO    ] ================================================
[2026-08-29 20:45:02,125.125 INFO    ] Launching Daemon at Sat Aug 29 20:45:02 IST 2026
[2026-08-29 20:45:02,238.238 INFO    ] ================================================
[2026-08-29 20:45:03,124.124 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:45:03
[2026-08-29 20:45:03,783.783 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:45:04,125.125 INFO    ] Initializing speech engine...
[2026-08-29 20:45:04,138.138 INFO    ] 2026-08-29 20:45:04
[2026-08-29 20:45:04,413.413 INFO    ] 2026-08-29 20:45:04
[2026-08-29 20:45:04,449.449 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:45:04,592.592 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:45:04,601.601 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:45:04,743.743 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:45:04,758.758 INFO    ] time= 29/08/2026 20:45:04
[2026-08-29 20:45:04,768.768 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:45:04,773.773 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:45:04,840.840 INFO    ] No existing commands found in stream
[2026-08-29 20:45:09,853.853 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:45:09,855.855 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-08-29 20:45:13,506.506 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:45:13,507.507 INFO    ] Checking for system updates...
[2026-08-29 20:45:13,528.528 INFO    ] 200
[2026-08-29 20:45:13,529.529 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:45:13,559.559 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:45:13,561.561 INFO    ] No update needed
[2026-08-29 20:45:13,562.562 INFO    ] Checking for camera pi updates...
[2026-08-29 20:45:13,585.585 INFO    ] 200
[2026-08-29 20:45:13,586.586 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:45:13,610.610 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:45:13,687.687 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:45:13,689.689 INFO    ] No camera update needed
[2026-08-29 20:45:13,692.692 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:45:13,694.694 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:45:13,699.699 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:45:13,706.706 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:45:15,745.745 INFO    ] ================================================
[2026-08-29 20:45:15,760.760 INFO    ] Launching Daemon at Sat Aug 29 20:45:15 IST 2026
[2026-08-29 20:45:15,771.771 INFO    ] ================================================
[2026-08-29 20:45:16,424.424 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:45:16
[2026-08-29 20:45:16,926.926 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:45:17,078.078 INFO    ] Initializing speech engine...
[2026-08-29 20:45:17,083.083 INFO    ] 2026-08-29 20:45:17
[2026-08-29 20:45:17,293.293 INFO    ] 2026-08-29 20:45:17
[2026-08-29 20:45:17,323.323 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:45:17,449.449 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:45:17,512.512 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:45:17,650.650 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:45:17,717.717 INFO    ] time= 29/08/2026 20:45:17
[2026-08-29 20:45:17,745.745 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:45:17,752.752 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:45:17,820.820 INFO    ] No existing commands found in stream
[2026-08-29 20:45:22,831.831 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:45:22,834.834 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 20:45:25,097.097 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:45:25,098.098 INFO    ] Checking for system updates...
[2026-08-29 20:45:25,119.119 INFO    ] 200
[2026-08-29 20:45:25,120.120 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:45:25,150.150 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:45:25,151.151 INFO    ] No update needed
[2026-08-29 20:45:25,153.153 INFO    ] Checking for camera pi updates...
[2026-08-29 20:45:25,176.176 INFO    ] 200
[2026-08-29 20:45:25,177.177 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:45:25,200.200 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:45:25,397.397 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:45:25,399.399 INFO    ] No camera update needed
[2026-08-29 20:45:25,400.400 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:45:25,401.401 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:45:25,404.404 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:45:25,407.407 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:45:27,445.445 INFO    ] ================================================
[2026-08-29 20:45:27,460.460 INFO    ] Launching Daemon at Sat Aug 29 20:45:27 IST 2026
[2026-08-29 20:45:27,470.470 INFO    ] ================================================
[2026-08-29 20:45:27,823.823 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:45:27
[2026-08-29 20:45:28,163.163 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:45:28,394.394 INFO    ] Initializing speech engine...
[2026-08-29 20:45:28,406.406 INFO    ] 2026-08-29 20:45:28
[2026-08-29 20:45:28,700.700 INFO    ] 2026-08-29 20:45:28
[2026-08-29 20:45:28,748.748 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:45:28,972.972 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:45:28,982.982 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:45:29,115.115 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:45:29,133.133 INFO    ] time= 29/08/2026 20:45:29
[2026-08-29 20:45:29,197.197 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:45:29,250.250 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:45:29,306.306 INFO    ] No existing commands found in stream
[2026-08-29 20:45:34,319.319 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:45:34,322.322 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-08-29 20:45:36,045.045 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:45:36,047.047 INFO    ] Checking for system updates...
[2026-08-29 20:45:36,068.068 INFO    ] 200
[2026-08-29 20:45:36,070.070 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:45:36,102.102 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:45:36,103.103 INFO    ] No update needed
[2026-08-29 20:45:36,104.104 INFO    ] Checking for camera pi updates...
[2026-08-29 20:45:36,124.124 INFO    ] 200
[2026-08-29 20:45:36,125.125 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:45:36,148.148 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:45:36,247.247 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:45:36,248.248 INFO    ] No camera update needed
[2026-08-29 20:45:36,249.249 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:45:36,251.251 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:45:36,254.254 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:45:36,256.256 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:45:38,294.294 INFO    ] ================================================
[2026-08-29 20:45:38,309.309 INFO    ] Launching Daemon at Sat Aug 29 20:45:38 IST 2026
[2026-08-29 20:45:38,320.320 INFO    ] ================================================
[2026-08-29 20:45:38,684.684 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:45:38
[2026-08-29 20:45:39,000.000 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:45:39,138.138 INFO    ] Initializing speech engine...
[2026-08-29 20:45:39,151.151 INFO    ] 2026-08-29 20:45:39
[2026-08-29 20:45:39,372.372 INFO    ] 2026-08-29 20:45:39
[2026-08-29 20:45:39,403.403 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:45:39,524.524 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:45:39,539.539 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:45:39,710.710 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:45:39,760.760 INFO    ] time= 29/08/2026 20:45:39
[2026-08-29 20:45:39,800.800 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:45:39,808.808 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:45:39,863.863 INFO    ] No existing commands found in stream
[2026-08-29 20:45:44,875.875 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:45:44,878.878 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-08-29 20:45:46,290.290 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:45:46,292.292 INFO    ] Checking for system updates...
[2026-08-29 20:45:46,312.312 INFO    ] 200
[2026-08-29 20:45:46,314.314 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:45:46,346.346 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:45:46,347.347 INFO    ] No update needed
[2026-08-29 20:45:46,349.349 INFO    ] Checking for camera pi updates...
[2026-08-29 20:45:46,368.368 INFO    ] 200
[2026-08-29 20:45:46,369.369 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:45:46,396.396 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:45:46,473.473 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:45:46,474.474 INFO    ] No camera update needed
[2026-08-29 20:45:46,476.476 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:45:46,477.477 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:45:46,480.480 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:45:46,482.482 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:45:48,521.521 INFO    ] ================================================
[2026-08-29 20:45:48,537.537 INFO    ] Launching Daemon at Sat Aug 29 20:45:48 IST 2026
[2026-08-29 20:45:48,548.548 INFO    ] ================================================
[2026-08-29 20:45:48,936.936 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:45:48
[2026-08-29 20:45:49,275.275 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:45:49,546.546 INFO    ] Initializing speech engine...
[2026-08-29 20:45:49,558.558 INFO    ] 2026-08-29 20:45:49
[2026-08-29 20:45:49,872.872 INFO    ] 2026-08-29 20:45:49
[2026-08-29 20:45:49,958.958 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:45:50,113.113 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:45:50,119.119 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:45:50,254.254 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:45:50,290.290 INFO    ] time= 29/08/2026 20:45:50
[2026-08-29 20:45:50,345.345 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:45:50,389.389 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:45:50,448.448 INFO    ] No existing commands found in stream
[2026-08-29 20:45:55,462.462 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:45:55,464.464 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-08-29 20:45:58,268.268 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:45:58,271.271 INFO    ] Checking for system updates...
[2026-08-29 20:45:58,307.307 INFO    ] 200
[2026-08-29 20:45:58,310.310 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:45:58,363.363 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:45:58,365.365 INFO    ] No update needed
[2026-08-29 20:45:58,368.368 INFO    ] Checking for camera pi updates...
[2026-08-29 20:45:58,402.402 INFO    ] 200
[2026-08-29 20:45:58,405.405 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:45:58,450.450 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:45:58,512.512 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:45:58,515.515 INFO    ] No camera update needed
[2026-08-29 20:45:58,517.517 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:45:58,520.520 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:45:58,526.526 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:45:58,532.532 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:46:00,575.575 INFO    ] ================================================
[2026-08-29 20:46:00,590.590 INFO    ] Launching Daemon at Sat Aug 29 20:46:00 IST 2026
[2026-08-29 20:46:00,601.601 INFO    ] ================================================
[2026-08-29 20:46:00,938.938 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:46:00
[2026-08-29 20:46:01,253.253 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:46:01,757.757 INFO    ] Initializing speech engine...
[2026-08-29 20:46:01,769.769 INFO    ] 2026-08-29 20:46:01
[2026-08-29 20:46:02,103.103 INFO    ] 2026-08-29 20:46:02
[2026-08-29 20:46:02,193.193 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:46:02,358.358 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:46:02,374.374 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:46:02,522.522 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:46:02,573.573 INFO    ] time= 29/08/2026 20:46:02
[2026-08-29 20:46:02,645.645 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:46:02,686.686 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:46:02,753.753 INFO    ] No existing commands found in stream
[2026-08-29 20:46:07,764.764 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:46:07,767.767 INFO    ] Waiting 2.66 seconds before fallback handling...
[2026-08-29 20:46:10,736.736 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:46:10,738.738 INFO    ] Checking for system updates...
[2026-08-29 20:46:10,758.758 INFO    ] 200
[2026-08-29 20:46:10,760.760 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:46:10,789.789 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:46:10,791.791 INFO    ] No update needed
[2026-08-29 20:46:10,792.792 INFO    ] Checking for camera pi updates...
[2026-08-29 20:46:10,811.811 INFO    ] 200
[2026-08-29 20:46:10,813.813 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:46:10,837.837 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:46:10,912.912 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:46:10,914.914 INFO    ] No camera update needed
[2026-08-29 20:46:10,915.915 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:46:10,916.916 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:46:10,919.919 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:46:10,922.922 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:46:12,963.963 INFO    ] ================================================
[2026-08-29 20:46:12,978.978 INFO    ] Launching Daemon at Sat Aug 29 20:46:12 IST 2026
[2026-08-29 20:46:12,989.989 INFO    ] ================================================
[2026-08-29 20:46:13,319.319 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:46:13
[2026-08-29 20:46:13,631.631 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:46:13,817.817 INFO    ] Initializing speech engine...
[2026-08-29 20:46:13,826.826 INFO    ] 2026-08-29 20:46:13
[2026-08-29 20:46:14,072.072 INFO    ] 2026-08-29 20:46:14
[2026-08-29 20:46:14,107.107 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:46:14,280.280 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:46:14,292.292 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:46:14,433.433 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:46:14,440.440 INFO    ] time= 29/08/2026 20:46:14
[2026-08-29 20:46:14,448.448 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:46:14,489.489 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:46:14,602.602 INFO    ] No existing commands found in stream
[2026-08-29 20:46:19,627.627 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:46:19,630.630 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-08-29 20:46:22,343.343 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:46:22,345.345 INFO    ] Checking for system updates...
[2026-08-29 20:46:22,367.367 INFO    ] 200
[2026-08-29 20:46:22,368.368 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:46:22,398.398 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:46:22,399.399 INFO    ] No update needed
[2026-08-29 20:46:22,401.401 INFO    ] Checking for camera pi updates...
[2026-08-29 20:46:22,419.419 INFO    ] 200
[2026-08-29 20:46:22,421.421 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:46:22,446.446 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:46:22,542.542 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:46:22,545.545 INFO    ] No camera update needed
[2026-08-29 20:46:22,547.547 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:46:22,549.549 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:46:22,554.554 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:46:22,559.559 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:46:24,600.600 INFO    ] ================================================
[2026-08-29 20:46:24,616.616 INFO    ] Launching Daemon at Sat Aug 29 20:46:24 IST 2026
[2026-08-29 20:46:24,627.627 INFO    ] ================================================
[2026-08-29 20:46:25,260.260 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:46:25
[2026-08-29 20:46:25,726.726 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:46:25,875.875 INFO    ] Initializing speech engine...
[2026-08-29 20:46:25,882.882 INFO    ] 2026-08-29 20:46:25
[2026-08-29 20:46:26,087.087 INFO    ] 2026-08-29 20:46:26
[2026-08-29 20:46:26,116.116 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:46:26,238.238 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:46:26,300.300 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:46:26,435.435 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:46:26,503.503 INFO    ] time= 29/08/2026 20:46:26
[2026-08-29 20:46:26,529.529 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:46:26,536.536 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:46:26,602.602 INFO    ] No existing commands found in stream
[2026-08-29 20:46:31,612.612 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:46:31,614.614 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-08-29 20:46:34,258.258 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:46:34,261.261 INFO    ] Checking for system updates...
[2026-08-29 20:46:34,299.299 INFO    ] 200
[2026-08-29 20:46:34,302.302 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:46:34,355.355 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:46:34,358.358 INFO    ] No update needed
[2026-08-29 20:46:34,360.360 INFO    ] Checking for camera pi updates...
[2026-08-29 20:46:34,397.397 INFO    ] 200
[2026-08-29 20:46:34,399.399 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:46:34,440.440 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:46:34,524.524 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:46:34,526.526 INFO    ] No camera update needed
[2026-08-29 20:46:34,528.528 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:46:34,531.531 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:46:34,537.537 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:46:34,542.542 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:46:36,582.582 INFO    ] ================================================
[2026-08-29 20:46:36,598.598 INFO    ] Launching Daemon at Sat Aug 29 20:46:36 IST 2026
[2026-08-29 20:46:36,608.608 INFO    ] ================================================
[2026-08-29 20:46:36,979.979 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:46:36
[2026-08-29 20:46:37,296.296 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:46:37,552.552 INFO    ] Initializing speech engine...
[2026-08-29 20:46:37,559.559 INFO    ] 2026-08-29 20:46:37
[2026-08-29 20:46:37,806.806 INFO    ] 2026-08-29 20:46:37
[2026-08-29 20:46:37,872.872 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:46:38,015.015 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:46:38,027.027 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:46:38,170.170 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:46:38,179.179 INFO    ] time= 29/08/2026 20:46:38
[2026-08-29 20:46:38,185.185 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:46:38,231.231 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:46:38,347.347 INFO    ] No existing commands found in stream
[2026-08-29 20:46:43,377.377 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:46:43,380.380 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-08-29 20:46:44,360.360 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:46:44,362.362 INFO    ] Checking for system updates...
[2026-08-29 20:46:44,398.398 INFO    ] 200
[2026-08-29 20:46:44,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:46:44,453.453 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:46:44,456.456 INFO    ] No update needed
[2026-08-29 20:46:44,458.458 INFO    ] Checking for camera pi updates...
[2026-08-29 20:46:44,492.492 INFO    ] 200
[2026-08-29 20:46:44,494.494 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:46:44,535.535 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:46:44,624.624 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:46:44,626.626 INFO    ] No camera update needed
[2026-08-29 20:46:44,629.629 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:46:44,631.631 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:46:44,637.637 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:46:44,642.642 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:46:46,685.685 INFO    ] ================================================
[2026-08-29 20:46:46,699.699 INFO    ] Launching Daemon at Sat Aug 29 20:46:46 IST 2026
[2026-08-29 20:46:46,710.710 INFO    ] ================================================
[2026-08-29 20:46:47,059.059 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:46:47
[2026-08-29 20:46:47,371.371 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:46:47,514.514 INFO    ] Initializing speech engine...
[2026-08-29 20:46:47,519.519 INFO    ] 2026-08-29 20:46:47
[2026-08-29 20:46:47,726.726 INFO    ] 2026-08-29 20:46:47
[2026-08-29 20:46:47,754.754 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:46:47,885.885 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:46:47,929.929 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:46:48,091.091 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:46:48,153.153 INFO    ] time= 29/08/2026 20:46:48
[2026-08-29 20:46:48,187.187 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:46:48,198.198 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:46:48,255.255 INFO    ] No existing commands found in stream
[2026-08-29 20:46:53,264.264 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:46:53,267.267 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-08-29 20:46:57,403.403 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:46:57,404.404 INFO    ] Checking for system updates...
[2026-08-29 20:46:57,425.425 INFO    ] 200
[2026-08-29 20:46:57,426.426 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:46:57,458.458 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:46:57,459.459 INFO    ] No update needed
[2026-08-29 20:46:57,460.460 INFO    ] Checking for camera pi updates...
[2026-08-29 20:46:57,480.480 INFO    ] 200
[2026-08-29 20:46:57,481.481 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:46:57,512.512 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:46:57,594.594 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:46:57,596.596 INFO    ] No camera update needed
[2026-08-29 20:46:57,599.599 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:46:57,601.601 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:46:57,606.606 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:46:57,611.611 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:46:59,652.652 INFO    ] ================================================
[2026-08-29 20:46:59,667.667 INFO    ] Launching Daemon at Sat Aug 29 20:46:59 IST 2026
[2026-08-29 20:46:59,678.678 INFO    ] ================================================
[2026-08-29 20:47:00,314.314 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:47:00
[2026-08-29 20:47:00,801.801 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:47:00,946.946 INFO    ] Initializing speech engine...
[2026-08-29 20:47:00,956.956 INFO    ] 2026-08-29 20:47:00
[2026-08-29 20:47:01,177.177 INFO    ] 2026-08-29 20:47:01
[2026-08-29 20:47:01,255.255 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:47:01,410.410 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:47:01,413.413 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:47:01,519.519 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:47:01,522.522 INFO    ] time= 29/08/2026 20:47:01
[2026-08-29 20:47:01,526.526 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:47:01,529.529 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:47:01,586.586 INFO    ] No existing commands found in stream
[2026-08-29 20:47:06,596.596 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:47:06,599.599 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-08-29 20:47:10,146.146 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:47:10,147.147 INFO    ] Checking for system updates...
[2026-08-29 20:47:10,168.168 INFO    ] 200
[2026-08-29 20:47:10,169.169 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:47:10,203.203 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:47:10,205.205 INFO    ] No update needed
[2026-08-29 20:47:10,206.206 INFO    ] Checking for camera pi updates...
[2026-08-29 20:47:10,225.225 INFO    ] 200
[2026-08-29 20:47:10,227.227 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:47:10,251.251 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:47:10,328.328 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:47:10,330.330 INFO    ] No camera update needed
[2026-08-29 20:47:10,331.331 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:47:10,332.332 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:47:10,335.335 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:47:10,338.338 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:47:12,376.376 INFO    ] ================================================
[2026-08-29 20:47:12,391.391 INFO    ] Launching Daemon at Sat Aug 29 20:47:12 IST 2026
[2026-08-29 20:47:12,402.402 INFO    ] ================================================
[2026-08-29 20:47:12,731.731 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:47:12
[2026-08-29 20:47:13,068.068 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:47:13,325.325 INFO    ] Initializing speech engine...
[2026-08-29 20:47:13,328.328 INFO    ] 2026-08-29 20:47:13
[2026-08-29 20:47:13,622.622 INFO    ] 2026-08-29 20:47:13
[2026-08-29 20:47:13,656.656 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:47:13,799.799 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:47:13,809.809 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:47:13,957.957 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:47:13,967.967 INFO    ] time= 29/08/2026 20:47:13
[2026-08-29 20:47:13,972.972 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:47:13,994.994 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:47:14,046.046 INFO    ] No existing commands found in stream
[2026-08-29 20:47:19,057.057 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:47:19,060.060 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-08-29 20:47:19,750.750 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:47:19,752.752 INFO    ] Checking for system updates...
[2026-08-29 20:47:19,772.772 INFO    ] 200
[2026-08-29 20:47:19,774.774 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:47:19,803.803 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:47:19,805.805 INFO    ] No update needed
[2026-08-29 20:47:19,806.806 INFO    ] Checking for camera pi updates...
[2026-08-29 20:47:19,825.825 INFO    ] 200
[2026-08-29 20:47:19,826.826 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:47:19,850.850 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:47:19,927.927 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:47:19,928.928 INFO    ] No camera update needed
[2026-08-29 20:47:19,929.929 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:47:19,931.931 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:47:19,934.934 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:47:19,936.936 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:47:21,974.974 INFO    ] ================================================
[2026-08-29 20:47:21,989.989 INFO    ] Launching Daemon at Sat Aug 29 20:47:21 IST 2026
[2026-08-29 20:47:22,000.000 INFO    ] ================================================
[2026-08-29 20:47:22,367.367 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:47:22
[2026-08-29 20:47:22,701.701 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:47:22,853.853 INFO    ] Initializing speech engine...
[2026-08-29 20:47:22,857.857 INFO    ] 2026-08-29 20:47:22
[2026-08-29 20:47:23,064.064 INFO    ] 2026-08-29 20:47:23
[2026-08-29 20:47:23,093.093 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:47:23,216.216 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:47:23,259.259 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:47:23,422.422 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:47:23,507.507 INFO    ] time= 29/08/2026 20:47:23
[2026-08-29 20:47:23,514.514 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:47:23,515.515 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:47:23,581.581 INFO    ] No existing commands found in stream
[2026-08-29 20:47:28,592.592 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:47:28,595.595 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-08-29 20:47:31,296.296 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:47:31,299.299 INFO    ] Checking for system updates...
[2026-08-29 20:47:31,343.343 INFO    ] 200
[2026-08-29 20:47:31,346.346 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:47:31,404.404 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:47:31,406.406 INFO    ] No update needed
[2026-08-29 20:47:31,409.409 INFO    ] Checking for camera pi updates...
[2026-08-29 20:47:31,445.445 INFO    ] 200
[2026-08-29 20:47:31,447.447 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:47:31,497.497 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:47:31,701.701 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:47:31,703.703 INFO    ] No camera update needed
[2026-08-29 20:47:31,704.704 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:47:31,706.706 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:47:31,710.710 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:47:31,713.713 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:47:33,753.753 INFO    ] ================================================
[2026-08-29 20:47:33,768.768 INFO    ] Launching Daemon at Sat Aug 29 20:47:33 IST 2026
[2026-08-29 20:47:33,779.779 INFO    ] ================================================
[2026-08-29 20:47:34,435.435 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:47:34
[2026-08-29 20:47:35,139.139 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:47:35,378.378 INFO    ] Initializing speech engine...
[2026-08-29 20:47:35,382.382 INFO    ] 2026-08-29 20:47:35
[2026-08-29 20:47:35,590.590 INFO    ] 2026-08-29 20:47:35
[2026-08-29 20:47:35,618.618 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:47:35,742.742 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:47:35,805.805 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:47:35,944.944 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:47:36,008.008 INFO    ] time= 29/08/2026 20:47:35
[2026-08-29 20:47:36,035.035 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:47:36,042.042 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:47:36,108.108 INFO    ] No existing commands found in stream
[2026-08-29 20:47:41,119.119 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:47:41,122.122 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-08-29 20:47:43,710.710 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:47:43,711.711 INFO    ] Checking for system updates...
[2026-08-29 20:47:43,732.732 INFO    ] 200
[2026-08-29 20:47:43,734.734 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:47:43,766.766 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:47:43,768.768 INFO    ] No update needed
[2026-08-29 20:47:43,769.769 INFO    ] Checking for camera pi updates...
[2026-08-29 20:47:43,791.791 INFO    ] 200
[2026-08-29 20:47:43,792.792 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:47:43,818.818 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:47:43,894.894 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:47:43,895.895 INFO    ] No camera update needed
[2026-08-29 20:47:43,896.896 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:47:43,898.898 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:47:43,901.901 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:47:43,904.904 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:47:45,945.945 INFO    ] ================================================
[2026-08-29 20:47:45,960.960 INFO    ] Launching Daemon at Sat Aug 29 20:47:45 IST 2026
[2026-08-29 20:47:45,971.971 INFO    ] ================================================
[2026-08-29 20:47:46,516.516 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:47:46
[2026-08-29 20:47:47,109.109 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:47:47,374.374 INFO    ] Initializing speech engine...
[2026-08-29 20:47:47,395.395 INFO    ] 2026-08-29 20:47:47
[2026-08-29 20:47:47,679.679 INFO    ] 2026-08-29 20:47:47
[2026-08-29 20:47:47,716.716 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:47:47,878.878 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:47:47,920.920 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:47:48,036.036 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:47:48,041.041 INFO    ] time= 29/08/2026 20:47:48
[2026-08-29 20:47:48,046.046 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:47:48,069.069 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:47:48,121.121 INFO    ] No existing commands found in stream
[2026-08-29 20:47:53,133.133 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:47:53,135.135 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-08-29 20:47:55,042.042 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:47:55,043.043 INFO    ] Checking for system updates...
[2026-08-29 20:47:55,064.064 INFO    ] 200
[2026-08-29 20:47:55,065.065 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:47:55,094.094 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:47:55,096.096 INFO    ] No update needed
[2026-08-29 20:47:55,097.097 INFO    ] Checking for camera pi updates...
[2026-08-29 20:47:55,117.117 INFO    ] 200
[2026-08-29 20:47:55,119.119 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:47:55,142.142 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:47:55,233.233 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:47:55,234.234 INFO    ] No camera update needed
[2026-08-29 20:47:55,235.235 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:47:55,237.237 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:47:55,239.239 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:47:55,242.242 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:47:57,281.281 INFO    ] ================================================
[2026-08-29 20:47:57,297.297 INFO    ] Launching Daemon at Sat Aug 29 20:47:57 IST 2026
[2026-08-29 20:47:57,308.308 INFO    ] ================================================
[2026-08-29 20:47:57,656.656 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:47:57
[2026-08-29 20:47:57,975.975 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:47:58,109.109 INFO    ] Initializing speech engine...
[2026-08-29 20:47:58,122.122 INFO    ] 2026-08-29 20:47:58
[2026-08-29 20:47:58,330.330 INFO    ] 2026-08-29 20:47:58
[2026-08-29 20:47:58,360.360 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:47:58,482.482 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:47:58,545.545 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:47:58,677.677 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:47:58,738.738 INFO    ] time= 29/08/2026 20:47:58
[2026-08-29 20:47:58,756.756 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:47:58,777.777 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:47:58,850.850 INFO    ] No existing commands found in stream
[2026-08-29 20:48:03,859.859 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:48:03,861.861 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-08-29 20:48:08,136.136 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:48:08,137.137 INFO    ] Checking for system updates...
[2026-08-29 20:48:08,164.164 INFO    ] 200
[2026-08-29 20:48:08,165.165 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:48:08,208.208 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:48:08,210.210 INFO    ] No update needed
[2026-08-29 20:48:08,213.213 INFO    ] Checking for camera pi updates...
[2026-08-29 20:48:08,247.247 INFO    ] 200
[2026-08-29 20:48:08,250.250 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:48:08,298.298 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:48:08,384.384 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:48:08,387.387 INFO    ] No camera update needed
[2026-08-29 20:48:08,390.390 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:48:08,392.392 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:48:08,399.399 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:48:08,406.406 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:48:10,446.446 INFO    ] ================================================
[2026-08-29 20:48:10,462.462 INFO    ] Launching Daemon at Sat Aug 29 20:48:10 IST 2026
[2026-08-29 20:48:10,472.472 INFO    ] ================================================
[2026-08-29 20:48:11,038.038 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:48:11
[2026-08-29 20:48:11,478.478 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:48:11,720.720 INFO    ] Initializing speech engine...
[2026-08-29 20:48:11,729.729 INFO    ] 2026-08-29 20:48:11
[2026-08-29 20:48:11,980.980 INFO    ] 2026-08-29 20:48:11
[2026-08-29 20:48:12,015.015 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:48:12,185.185 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:48:12,197.197 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:48:12,339.339 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:48:12,346.346 INFO    ] time= 29/08/2026 20:48:12
[2026-08-29 20:48:12,353.353 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:48:12,400.400 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:48:12,530.530 INFO    ] No existing commands found in stream
[2026-08-29 20:48:17,554.554 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:48:17,557.557 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-08-29 20:48:20,429.429 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:48:20,430.430 INFO    ] Checking for system updates...
[2026-08-29 20:48:20,452.452 INFO    ] 200
[2026-08-29 20:48:20,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:48:20,484.484 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:48:20,485.485 INFO    ] No update needed
[2026-08-29 20:48:20,486.486 INFO    ] Checking for camera pi updates...
[2026-08-29 20:48:20,507.507 INFO    ] 200
[2026-08-29 20:48:20,508.508 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:48:20,531.531 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:48:20,615.615 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:48:20,616.616 INFO    ] No camera update needed
[2026-08-29 20:48:20,617.617 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:48:20,618.618 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:48:20,621.621 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:48:20,624.624 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:48:22,665.665 INFO    ] ================================================
[2026-08-29 20:48:22,681.681 INFO    ] Launching Daemon at Sat Aug 29 20:48:22 IST 2026
[2026-08-29 20:48:22,693.693 INFO    ] ================================================
[2026-08-29 20:48:23,268.268 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:48:23
[2026-08-29 20:48:23,855.855 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:48:24,114.114 INFO    ] Initializing speech engine...
[2026-08-29 20:48:24,128.128 INFO    ] 2026-08-29 20:48:24
[2026-08-29 20:48:24,423.423 INFO    ] 2026-08-29 20:48:24
[2026-08-29 20:48:24,449.449 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:48:24,611.611 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:48:24,618.618 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:48:24,777.777 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:48:24,789.789 INFO    ] time= 29/08/2026 20:48:24
[2026-08-29 20:48:24,793.793 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:48:24,798.798 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:48:24,867.867 INFO    ] No existing commands found in stream
[2026-08-29 20:48:29,881.881 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:48:29,883.883 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-08-29 20:48:33,029.029 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:48:33,032.032 INFO    ] Checking for system updates...
[2026-08-29 20:48:33,067.067 INFO    ] 200
[2026-08-29 20:48:33,070.070 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:48:33,122.122 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:48:33,125.125 INFO    ] No update needed
[2026-08-29 20:48:33,127.127 INFO    ] Checking for camera pi updates...
[2026-08-29 20:48:33,165.165 INFO    ] 200
[2026-08-29 20:48:33,167.167 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:48:33,213.213 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:48:33,296.296 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:48:33,298.298 INFO    ] No camera update needed
[2026-08-29 20:48:33,300.300 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:48:33,303.303 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:48:33,308.308 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:48:33,313.313 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:48:35,353.353 INFO    ] ================================================
[2026-08-29 20:48:35,368.368 INFO    ] Launching Daemon at Sat Aug 29 20:48:35 IST 2026
[2026-08-29 20:48:35,379.379 INFO    ] ================================================
[2026-08-29 20:48:35,830.830 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:48:35
[2026-08-29 20:48:36,174.174 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:48:36,314.314 INFO    ] Initializing speech engine...
[2026-08-29 20:48:36,324.324 INFO    ] 2026-08-29 20:48:36
[2026-08-29 20:48:36,543.543 INFO    ] 2026-08-29 20:48:36
[2026-08-29 20:48:36,572.572 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:48:36,694.694 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:48:36,733.733 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:48:36,896.896 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:48:36,961.961 INFO    ] time= 29/08/2026 20:48:36
[2026-08-29 20:48:36,988.988 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:48:36,995.995 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:48:37,061.061 INFO    ] No existing commands found in stream
[2026-08-29 20:48:42,071.071 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:48:42,075.075 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 20:48:43,247.247 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:48:43,249.249 INFO    ] Checking for system updates...
[2026-08-29 20:48:43,271.271 INFO    ] 200
[2026-08-29 20:48:43,273.273 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:48:43,306.306 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:48:43,308.308 INFO    ] No update needed
[2026-08-29 20:48:43,309.309 INFO    ] Checking for camera pi updates...
[2026-08-29 20:48:43,331.331 INFO    ] 200
[2026-08-29 20:48:43,333.333 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:48:43,356.356 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:48:43,436.436 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:48:43,438.438 INFO    ] No camera update needed
[2026-08-29 20:48:43,439.439 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:48:43,441.441 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:48:43,444.444 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:48:43,447.447 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:48:45,487.487 INFO    ] ================================================
[2026-08-29 20:48:45,504.504 INFO    ] Launching Daemon at Sat Aug 29 20:48:45 IST 2026
[2026-08-29 20:48:45,515.515 INFO    ] ================================================
[2026-08-29 20:48:46,091.091 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:48:46
[2026-08-29 20:48:46,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:48:46,950.950 INFO    ] Initializing speech engine...
[2026-08-29 20:48:46,957.957 INFO    ] 2026-08-29 20:48:46
[2026-08-29 20:48:47,209.209 INFO    ] 2026-08-29 20:48:47
[2026-08-29 20:48:47,229.229 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:48:47,364.364 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:48:47,369.369 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:48:47,502.502 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:48:47,506.506 INFO    ] time= 29/08/2026 20:48:47
[2026-08-29 20:48:47,517.517 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:48:47,546.546 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:48:47,651.651 INFO    ] No existing commands found in stream
[2026-08-29 20:48:52,664.664 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:48:52,666.666 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-08-29 20:48:56,570.570 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:48:56,571.571 INFO    ] Checking for system updates...
[2026-08-29 20:48:56,593.593 INFO    ] 200
[2026-08-29 20:48:56,595.595 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:48:56,625.625 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:48:56,626.626 INFO    ] No update needed
[2026-08-29 20:48:56,627.627 INFO    ] Checking for camera pi updates...
[2026-08-29 20:48:56,648.648 INFO    ] 200
[2026-08-29 20:48:56,649.649 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:48:56,672.672 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:48:56,817.817 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:48:56,819.819 INFO    ] No camera update needed
[2026-08-29 20:48:56,822.822 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:48:56,824.824 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:48:56,829.829 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:48:56,834.834 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:48:58,875.875 INFO    ] ================================================
[2026-08-29 20:48:58,898.898 INFO    ] Launching Daemon at Sat Aug 29 20:48:58 IST 2026
[2026-08-29 20:48:58,909.909 INFO    ] ================================================
[2026-08-29 20:48:59,476.476 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:48:59
[2026-08-29 20:48:59,951.951 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:49:00,083.083 INFO    ] Initializing speech engine...
[2026-08-29 20:49:00,088.088 INFO    ] 2026-08-29 20:49:00
[2026-08-29 20:49:00,279.279 INFO    ] 2026-08-29 20:49:00
[2026-08-29 20:49:00,325.325 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:49:00,425.425 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:49:00,429.429 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:49:00,560.560 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:49:00,564.564 INFO    ] time= 29/08/2026 20:49:00
[2026-08-29 20:49:00,574.574 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:49:00,579.579 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:49:00,656.656 INFO    ] No existing commands found in stream
[2026-08-29 20:49:05,680.680 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:49:05,683.683 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-08-29 20:49:06,172.172 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:49:06,173.173 INFO    ] Checking for system updates...
[2026-08-29 20:49:06,194.194 INFO    ] 200
[2026-08-29 20:49:06,195.195 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:49:06,230.230 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:49:06,231.231 INFO    ] No update needed
[2026-08-29 20:49:06,233.233 INFO    ] Checking for camera pi updates...
[2026-08-29 20:49:06,253.253 INFO    ] 200
[2026-08-29 20:49:06,254.254 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:49:06,277.277 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:49:06,361.361 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:49:06,362.362 INFO    ] No camera update needed
[2026-08-29 20:49:06,364.364 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:49:06,365.365 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:49:06,368.368 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:49:06,370.370 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:49:08,408.408 INFO    ] ================================================
[2026-08-29 20:49:08,424.424 INFO    ] Launching Daemon at Sat Aug 29 20:49:08 IST 2026
[2026-08-29 20:49:08,434.434 INFO    ] ================================================
[2026-08-29 20:49:08,782.782 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:49:08
[2026-08-29 20:49:09,355.355 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:49:09,624.624 INFO    ] Initializing speech engine...
[2026-08-29 20:49:09,633.633 INFO    ] 2026-08-29 20:49:09
[2026-08-29 20:49:09,880.880 INFO    ] 2026-08-29 20:49:09
[2026-08-29 20:49:09,915.915 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:49:10,086.086 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:49:10,098.098 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:49:10,207.207 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:49:10,212.212 INFO    ] time= 29/08/2026 20:49:10
[2026-08-29 20:49:10,230.230 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:49:10,250.250 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:49:10,322.322 INFO    ] No existing commands found in stream
[2026-08-29 20:49:15,334.334 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:49:15,337.337 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-08-29 20:49:19,433.433 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:49:19,434.434 INFO    ] Checking for system updates...
[2026-08-29 20:49:19,454.454 INFO    ] 200
[2026-08-29 20:49:19,456.456 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:49:19,490.490 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:49:19,491.491 INFO    ] No update needed
[2026-08-29 20:49:19,493.493 INFO    ] Checking for camera pi updates...
[2026-08-29 20:49:19,514.514 INFO    ] 200
[2026-08-29 20:49:19,515.515 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:49:19,538.538 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:49:19,615.615 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:49:19,616.616 INFO    ] No camera update needed
[2026-08-29 20:49:19,617.617 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:49:19,618.618 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:49:19,621.621 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:49:19,624.624 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:49:21,664.664 INFO    ] ================================================
[2026-08-29 20:49:21,679.679 INFO    ] Launching Daemon at Sat Aug 29 20:49:21 IST 2026
[2026-08-29 20:49:21,690.690 INFO    ] ================================================
[2026-08-29 20:49:22,060.060 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:49:22
[2026-08-29 20:49:22,619.619 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:49:22,895.895 INFO    ] Initializing speech engine...
[2026-08-29 20:49:22,903.903 INFO    ] 2026-08-29 20:49:22
[2026-08-29 20:49:23,160.160 INFO    ] 2026-08-29 20:49:23
[2026-08-29 20:49:23,196.196 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:49:23,368.368 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:49:23,374.374 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:49:23,491.491 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:49:23,496.496 INFO    ] time= 29/08/2026 20:49:23
[2026-08-29 20:49:23,513.513 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:49:23,533.533 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:49:23,606.606 INFO    ] No existing commands found in stream
[2026-08-29 20:49:28,618.618 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:49:28,621.621 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-08-29 20:49:29,091.091 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:49:29,093.093 INFO    ] Checking for system updates...
[2026-08-29 20:49:29,113.113 INFO    ] 200
[2026-08-29 20:49:29,114.114 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:49:29,146.146 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:49:29,148.148 INFO    ] No update needed
[2026-08-29 20:49:29,149.149 INFO    ] Checking for camera pi updates...
[2026-08-29 20:49:29,168.168 INFO    ] 200
[2026-08-29 20:49:29,170.170 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:49:29,193.193 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:49:29,282.282 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:49:29,283.283 INFO    ] No camera update needed
[2026-08-29 20:49:29,284.284 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:49:29,286.286 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:49:29,288.288 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:49:29,291.291 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:49:31,329.329 INFO    ] ================================================
[2026-08-29 20:49:31,345.345 INFO    ] Launching Daemon at Sat Aug 29 20:49:31 IST 2026
[2026-08-29 20:49:31,356.356 INFO    ] ================================================
[2026-08-29 20:49:31,728.728 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:49:31
[2026-08-29 20:49:32,179.179 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:49:32,520.520 INFO    ] Initializing speech engine...
[2026-08-29 20:49:32,534.534 INFO    ] 2026-08-29 20:49:32
[2026-08-29 20:49:32,845.845 INFO    ] 2026-08-29 20:49:32
[2026-08-29 20:49:32,883.883 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:49:33,123.123 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:49:33,137.137 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:49:33,277.277 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:49:33,358.358 INFO    ] time= 29/08/2026 20:49:33
[2026-08-29 20:49:33,408.408 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:49:33,427.427 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:49:33,551.551 INFO    ] No existing commands found in stream
[2026-08-29 20:49:38,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:49:38,577.577 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-08-29 20:49:39,058.058 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:49:39,066.066 INFO    ] Checking for system updates...
[2026-08-29 20:49:39,096.096 INFO    ] 200
[2026-08-29 20:49:39,097.097 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:49:39,130.130 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:49:39,131.131 INFO    ] No update needed
[2026-08-29 20:49:39,133.133 INFO    ] Checking for camera pi updates...
[2026-08-29 20:49:39,155.155 INFO    ] 200
[2026-08-29 20:49:39,156.156 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:49:39,180.180 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:49:39,283.283 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:49:39,285.285 INFO    ] No camera update needed
[2026-08-29 20:49:39,286.286 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:49:39,287.287 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:49:39,291.291 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:49:39,294.294 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:49:41,335.335 INFO    ] ================================================
[2026-08-29 20:49:41,350.350 INFO    ] Launching Daemon at Sat Aug 29 20:49:41 IST 2026
[2026-08-29 20:49:41,361.361 INFO    ] ================================================
[2026-08-29 20:49:41,715.715 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:49:41
[2026-08-29 20:49:42,030.030 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:49:42,266.266 INFO    ] Initializing speech engine...
[2026-08-29 20:49:42,275.275 INFO    ] 2026-08-29 20:49:42
[2026-08-29 20:49:42,528.528 INFO    ] 2026-08-29 20:49:42
[2026-08-29 20:49:42,563.563 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:49:42,743.743 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:49:42,755.755 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:49:42,894.894 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:49:42,908.908 INFO    ] time= 29/08/2026 20:49:42
[2026-08-29 20:49:42,916.916 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:49:42,957.957 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:49:43,062.062 INFO    ] No existing commands found in stream
[2026-08-29 20:49:48,093.093 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:49:48,096.096 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-08-29 20:49:50,926.926 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:49:50,927.927 INFO    ] Checking for system updates...
[2026-08-29 20:49:50,947.947 INFO    ] 200
[2026-08-29 20:49:50,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:49:50,978.978 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:49:50,980.980 INFO    ] No update needed
[2026-08-29 20:49:50,981.981 INFO    ] Checking for camera pi updates...
[2026-08-29 20:49:51,003.003 INFO    ] 200
[2026-08-29 20:49:51,004.004 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:49:51,029.029 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:49:51,207.207 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:49:51,209.209 INFO    ] No camera update needed
[2026-08-29 20:49:51,210.210 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:49:51,211.211 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:49:51,214.214 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:49:51,217.217 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:49:53,257.257 INFO    ] ================================================
[2026-08-29 20:49:53,272.272 INFO    ] Launching Daemon at Sat Aug 29 20:49:53 IST 2026
[2026-08-29 20:49:53,284.284 INFO    ] ================================================
[2026-08-29 20:49:53,647.647 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:49:53
[2026-08-29 20:49:53,961.961 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:49:54,209.209 INFO    ] Initializing speech engine...
[2026-08-29 20:49:54,214.214 INFO    ] 2026-08-29 20:49:54
[2026-08-29 20:49:54,492.492 INFO    ] 2026-08-29 20:49:54
[2026-08-29 20:49:54,527.527 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:49:54,703.703 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:49:54,715.715 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:49:54,856.856 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:49:54,863.863 INFO    ] time= 29/08/2026 20:49:54
[2026-08-29 20:49:54,870.870 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:49:54,917.917 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:49:55,045.045 INFO    ] No existing commands found in stream
[2026-08-29 20:50:00,075.075 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:50:00,078.078 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-08-29 20:50:10,236.236 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:50:10,239.239 INFO    ] Checking for system updates...
[2026-08-29 20:50:10,279.279 INFO    ] 200
[2026-08-29 20:50:10,282.282 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:50:10,336.336 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:50:10,339.339 INFO    ] No update needed
[2026-08-29 20:50:10,341.341 INFO    ] Checking for camera pi updates...
[2026-08-29 20:50:10,375.375 INFO    ] 200
[2026-08-29 20:50:10,377.377 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:50:10,418.418 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:50:10,494.494 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:50:10,497.497 INFO    ] No camera update needed
[2026-08-29 20:50:10,499.499 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:50:10,501.501 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:50:10,506.506 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:50:10,511.511 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:50:12,553.553 INFO    ] ================================================
[2026-08-29 20:50:12,569.569 INFO    ] Launching Daemon at Sat Aug 29 20:50:12 IST 2026
[2026-08-29 20:50:12,580.580 INFO    ] ================================================
[2026-08-29 20:50:13,056.056 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:50:13
[2026-08-29 20:50:13,647.647 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:50:13,902.902 INFO    ] Initializing speech engine...
[2026-08-29 20:50:13,925.925 INFO    ] 2026-08-29 20:50:13
[2026-08-29 20:50:14,193.193 INFO    ] 2026-08-29 20:50:14
[2026-08-29 20:50:14,228.228 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:50:14,415.415 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:50:14,432.432 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:50:14,560.560 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:50:14,566.566 INFO    ] time= 29/08/2026 20:50:14
[2026-08-29 20:50:14,580.580 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:50:14,608.608 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:50:14,693.693 INFO    ] No existing commands found in stream
[2026-08-29 20:50:19,704.704 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:50:19,707.707 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-08-29 20:50:22,194.194 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:50:22,195.195 INFO    ] Checking for system updates...
[2026-08-29 20:50:22,216.216 INFO    ] 200
[2026-08-29 20:50:22,217.217 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:50:22,250.250 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:50:22,251.251 INFO    ] No update needed
[2026-08-29 20:50:22,253.253 INFO    ] Checking for camera pi updates...
[2026-08-29 20:50:22,275.275 INFO    ] 200
[2026-08-29 20:50:22,277.277 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:50:22,300.300 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:50:22,396.396 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:50:22,398.398 INFO    ] No camera update needed
[2026-08-29 20:50:22,399.399 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:50:22,400.400 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:50:22,403.403 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:50:22,406.406 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:50:24,445.445 INFO    ] ================================================
[2026-08-29 20:50:24,460.460 INFO    ] Launching Daemon at Sat Aug 29 20:50:24 IST 2026
[2026-08-29 20:50:24,471.471 INFO    ] ================================================
[2026-08-29 20:50:24,804.804 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:50:24
[2026-08-29 20:50:25,117.117 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:50:25,255.255 INFO    ] Initializing speech engine...
[2026-08-29 20:50:25,265.265 INFO    ] 2026-08-29 20:50:25
[2026-08-29 20:50:25,503.503 INFO    ] 2026-08-29 20:50:25
[2026-08-29 20:50:25,559.559 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:50:25,692.692 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:50:25,698.698 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:50:25,876.876 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:50:25,941.941 INFO    ] time= 29/08/2026 20:50:25
[2026-08-29 20:50:25,951.951 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:50:25,966.966 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:50:26,016.016 INFO    ] No existing commands found in stream
[2026-08-29 20:50:31,048.048 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:50:31,050.050 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-08-29 20:50:34,775.775 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:50:34,778.778 INFO    ] Checking for system updates...
[2026-08-29 20:50:34,818.818 INFO    ] 200
[2026-08-29 20:50:34,820.820 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:50:34,872.872 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:50:34,875.875 INFO    ] No update needed
[2026-08-29 20:50:34,877.877 INFO    ] Checking for camera pi updates...
[2026-08-29 20:50:34,910.910 INFO    ] 200
[2026-08-29 20:50:34,913.913 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:50:34,953.953 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:50:35,037.037 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:50:35,039.039 INFO    ] No camera update needed
[2026-08-29 20:50:35,041.041 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:50:35,044.044 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:50:35,049.049 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:50:35,054.054 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:50:37,096.096 INFO    ] ================================================
[2026-08-29 20:50:37,111.111 INFO    ] Launching Daemon at Sat Aug 29 20:50:37 IST 2026
[2026-08-29 20:50:37,121.121 INFO    ] ================================================
[2026-08-29 20:50:37,480.480 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:50:37
[2026-08-29 20:50:37,798.798 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:50:37,937.937 INFO    ] Initializing speech engine...
[2026-08-29 20:50:37,950.950 INFO    ] 2026-08-29 20:50:37
[2026-08-29 20:50:38,168.168 INFO    ] 2026-08-29 20:50:38
[2026-08-29 20:50:38,199.199 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:50:38,331.331 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:50:38,341.341 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:50:38,487.487 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:50:38,536.536 INFO    ] time= 29/08/2026 20:50:38
[2026-08-29 20:50:38,565.565 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:50:38,580.580 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:50:38,643.643 INFO    ] No existing commands found in stream
[2026-08-29 20:50:43,655.655 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:50:43,657.657 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-08-29 20:50:46,341.341 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:50:46,344.344 INFO    ] Checking for system updates...
[2026-08-29 20:50:46,380.380 INFO    ] 200
[2026-08-29 20:50:46,382.382 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:50:46,436.436 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:50:46,438.438 INFO    ] No update needed
[2026-08-29 20:50:46,440.440 INFO    ] Checking for camera pi updates...
[2026-08-29 20:50:46,473.473 INFO    ] 200
[2026-08-29 20:50:46,476.476 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:50:46,516.516 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:50:46,608.608 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:50:46,611.611 INFO    ] No camera update needed
[2026-08-29 20:50:46,613.613 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:50:46,615.615 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:50:46,621.621 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:50:46,626.626 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:50:48,666.666 INFO    ] ================================================
[2026-08-29 20:50:48,681.681 INFO    ] Launching Daemon at Sat Aug 29 20:50:48 IST 2026
[2026-08-29 20:50:48,692.692 INFO    ] ================================================
[2026-08-29 20:50:49,222.222 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:50:49
[2026-08-29 20:50:49,819.819 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:50:50,098.098 INFO    ] Initializing speech engine...
[2026-08-29 20:50:50,105.105 INFO    ] 2026-08-29 20:50:50
[2026-08-29 20:50:50,355.355 INFO    ] 2026-08-29 20:50:50
[2026-08-29 20:50:50,390.390 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:50:50,564.564 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:50:50,577.577 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:50:50,702.702 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:50:50,725.725 INFO    ] time= 29/08/2026 20:50:50
[2026-08-29 20:50:50,733.733 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:50:50,741.741 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:50:50,815.815 INFO    ] No existing commands found in stream
[2026-08-29 20:50:55,828.828 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:50:55,831.831 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-08-29 20:50:59,928.928 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:50:59,929.929 INFO    ] Checking for system updates...
[2026-08-29 20:50:59,950.950 INFO    ] 200
[2026-08-29 20:50:59,951.951 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:50:59,983.983 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:50:59,984.984 INFO    ] No update needed
[2026-08-29 20:50:59,986.986 INFO    ] Checking for camera pi updates...
[2026-08-29 20:51:00,005.005 INFO    ] 200
[2026-08-29 20:51:00,006.006 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:51:00,028.028 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:51:00,127.127 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:51:00,128.128 INFO    ] No camera update needed
[2026-08-29 20:51:00,130.130 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:51:00,131.131 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:51:00,134.134 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:51:00,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:51:02,180.180 INFO    ] ================================================
[2026-08-29 20:51:02,208.208 INFO    ] Launching Daemon at Sat Aug 29 20:51:02 IST 2026
[2026-08-29 20:51:02,232.232 INFO    ] ================================================
[2026-08-29 20:51:02,849.849 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:51:02
[2026-08-29 20:51:03,510.510 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:51:03,786.786 INFO    ] Initializing speech engine...
[2026-08-29 20:51:03,795.795 INFO    ] 2026-08-29 20:51:03
[2026-08-29 20:51:04,040.040 INFO    ] 2026-08-29 20:51:04
[2026-08-29 20:51:04,075.075 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:51:04,247.247 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:51:04,260.260 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:51:04,401.401 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:51:04,410.410 INFO    ] time= 29/08/2026 20:51:04
[2026-08-29 20:51:04,417.417 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:51:04,467.467 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:51:04,570.570 INFO    ] No existing commands found in stream
[2026-08-29 20:51:09,595.595 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:51:09,597.597 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 20:51:10,775.775 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:51:10,777.777 INFO    ] Checking for system updates...
[2026-08-29 20:51:10,798.798 INFO    ] 200
[2026-08-29 20:51:10,799.799 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:51:10,830.830 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:51:10,831.831 INFO    ] No update needed
[2026-08-29 20:51:10,833.833 INFO    ] Checking for camera pi updates...
[2026-08-29 20:51:10,852.852 INFO    ] 200
[2026-08-29 20:51:10,854.854 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:51:10,877.877 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:51:10,959.959 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:51:10,960.960 INFO    ] No camera update needed
[2026-08-29 20:51:10,962.962 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:51:10,963.963 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:51:10,966.966 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:51:10,969.969 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:51:13,009.009 INFO    ] ================================================
[2026-08-29 20:51:13,024.024 INFO    ] Launching Daemon at Sat Aug 29 20:51:13 IST 2026
[2026-08-29 20:51:13,034.034 INFO    ] ================================================
[2026-08-29 20:51:13,361.361 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:51:13
[2026-08-29 20:51:13,673.673 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:51:13,803.803 INFO    ] Initializing speech engine...
[2026-08-29 20:51:13,807.807 INFO    ] 2026-08-29 20:51:13
[2026-08-29 20:51:14,025.025 INFO    ] 2026-08-29 20:51:14
[2026-08-29 20:51:14,055.055 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:51:14,173.173 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:51:14,175.175 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:51:14,322.322 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:51:14,374.374 INFO    ] time= 29/08/2026 20:51:14
[2026-08-29 20:51:14,400.400 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:51:14,451.451 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:51:14,545.545 INFO    ] No existing commands found in stream
[2026-08-29 20:51:19,554.554 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:51:19,558.558 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-08-29 20:51:21,152.152 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:51:21,154.154 INFO    ] Checking for system updates...
[2026-08-29 20:51:21,175.175 INFO    ] 200
[2026-08-29 20:51:21,176.176 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:51:21,206.206 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:51:21,208.208 INFO    ] No update needed
[2026-08-29 20:51:21,209.209 INFO    ] Checking for camera pi updates...
[2026-08-29 20:51:21,229.229 INFO    ] 200
[2026-08-29 20:51:21,230.230 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:51:21,254.254 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:51:21,339.339 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:51:21,342.342 INFO    ] No camera update needed
[2026-08-29 20:51:21,345.345 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:51:21,348.348 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:51:21,353.353 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:51:21,359.359 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:51:23,399.399 INFO    ] ================================================
[2026-08-29 20:51:23,415.415 INFO    ] Launching Daemon at Sat Aug 29 20:51:23 IST 2026
[2026-08-29 20:51:23,425.425 INFO    ] ================================================
[2026-08-29 20:51:24,062.062 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:51:24
[2026-08-29 20:51:24,612.612 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:51:24,889.889 INFO    ] Initializing speech engine...
[2026-08-29 20:51:24,896.896 INFO    ] 2026-08-29 20:51:24
[2026-08-29 20:51:25,143.143 INFO    ] 2026-08-29 20:51:25
[2026-08-29 20:51:25,177.177 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:51:25,353.353 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:51:25,366.366 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:51:25,494.494 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:51:25,514.514 INFO    ] time= 29/08/2026 20:51:25
[2026-08-29 20:51:25,522.522 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:51:25,529.529 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:51:25,594.594 INFO    ] No existing commands found in stream
[2026-08-29 20:51:30,607.607 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:51:30,609.609 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-08-29 20:51:32,274.274 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:51:32,277.277 INFO    ] Checking for system updates...
[2026-08-29 20:51:32,318.318 INFO    ] 200
[2026-08-29 20:51:32,321.321 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:51:32,379.379 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:51:32,382.382 INFO    ] No update needed
[2026-08-29 20:51:32,385.385 INFO    ] Checking for camera pi updates...
[2026-08-29 20:51:32,427.427 INFO    ] 200
[2026-08-29 20:51:32,430.430 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:51:32,477.477 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:51:32,599.599 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:51:32,601.601 INFO    ] No camera update needed
[2026-08-29 20:51:32,604.604 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:51:32,607.607 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:51:32,613.613 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:51:32,618.618 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:51:34,658.658 INFO    ] ================================================
[2026-08-29 20:51:34,673.673 INFO    ] Launching Daemon at Sat Aug 29 20:51:34 IST 2026
[2026-08-29 20:51:34,683.683 INFO    ] ================================================
[2026-08-29 20:51:35,250.250 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:51:35
[2026-08-29 20:51:35,604.604 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:51:35,838.838 INFO    ] Initializing speech engine...
[2026-08-29 20:51:35,847.847 INFO    ] 2026-08-29 20:51:35
[2026-08-29 20:51:36,099.099 INFO    ] 2026-08-29 20:51:36
[2026-08-29 20:51:36,157.157 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:51:36,300.300 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:51:36,312.312 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:51:36,421.421 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:51:36,439.439 INFO    ] time= 29/08/2026 20:51:36
[2026-08-29 20:51:36,460.460 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:51:36,467.467 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:51:36,537.537 INFO    ] No existing commands found in stream
[2026-08-29 20:51:41,549.549 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:51:41,552.552 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-08-29 20:51:42,727.727 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:51:42,728.728 INFO    ] Checking for system updates...
[2026-08-29 20:51:42,748.748 INFO    ] 200
[2026-08-29 20:51:42,750.750 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:51:42,781.781 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:51:42,782.782 INFO    ] No update needed
[2026-08-29 20:51:42,783.783 INFO    ] Checking for camera pi updates...
[2026-08-29 20:51:42,803.803 INFO    ] 200
[2026-08-29 20:51:42,804.804 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:51:42,827.827 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:51:42,918.918 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:51:42,919.919 INFO    ] No camera update needed
[2026-08-29 20:51:42,920.920 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:51:42,921.921 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:51:42,924.924 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:51:42,927.927 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:51:44,966.966 INFO    ] ================================================
[2026-08-29 20:51:44,981.981 INFO    ] Launching Daemon at Sat Aug 29 20:51:44 IST 2026
[2026-08-29 20:51:44,992.992 INFO    ] ================================================
[2026-08-29 20:51:45,317.317 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:51:45
[2026-08-29 20:51:45,630.630 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:51:45,766.766 INFO    ] Initializing speech engine...
[2026-08-29 20:51:45,778.778 INFO    ] 2026-08-29 20:51:45
[2026-08-29 20:51:45,994.994 INFO    ] 2026-08-29 20:51:45
[2026-08-29 20:51:46,024.024 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:51:46,155.155 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:51:46,189.189 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:51:46,332.332 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:51:46,366.366 INFO    ] time= 29/08/2026 20:51:46
[2026-08-29 20:51:46,413.413 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:51:46,449.449 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:51:46,547.547 INFO    ] No existing commands found in stream
[2026-08-29 20:51:51,557.557 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:51:51,560.560 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-08-29 20:51:55,392.392 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:51:55,393.393 INFO    ] Checking for system updates...
[2026-08-29 20:51:55,414.414 INFO    ] 200
[2026-08-29 20:51:55,415.415 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:51:55,445.445 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:51:55,446.446 INFO    ] No update needed
[2026-08-29 20:51:55,447.447 INFO    ] Checking for camera pi updates...
[2026-08-29 20:51:55,467.467 INFO    ] 200
[2026-08-29 20:51:55,468.468 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:51:55,491.491 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:51:55,699.699 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:51:55,701.701 INFO    ] No camera update needed
[2026-08-29 20:51:55,702.702 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:51:55,703.703 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:51:55,706.706 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:51:55,709.709 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:51:57,748.748 INFO    ] ================================================
[2026-08-29 20:51:57,763.763 INFO    ] Launching Daemon at Sat Aug 29 20:51:57 IST 2026
[2026-08-29 20:51:57,774.774 INFO    ] ================================================
[2026-08-29 20:51:58,111.111 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:51:58
[2026-08-29 20:51:58,423.423 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:51:58,563.563 INFO    ] Initializing speech engine...
[2026-08-29 20:51:58,573.573 INFO    ] 2026-08-29 20:51:58
[2026-08-29 20:51:58,779.779 INFO    ] 2026-08-29 20:51:58
[2026-08-29 20:51:58,808.808 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:51:58,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:51:58,991.991 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:51:59,129.129 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:51:59,175.175 INFO    ] time= 29/08/2026 20:51:59
[2026-08-29 20:51:59,221.221 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:51:59,232.232 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:51:59,308.308 INFO    ] No existing commands found in stream
[2026-08-29 20:52:04,318.318 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:52:04,321.321 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 20:52:05,012.012 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:52:05,015.015 INFO    ] Checking for system updates...
[2026-08-29 20:52:05,054.054 INFO    ] 200
[2026-08-29 20:52:05,056.056 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 20:52:05,059.059 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-08-29 20:52:05,062.062 INFO    ] Checking for camera pi updates...
[2026-08-29 20:52:05,104.104 INFO    ] 200
[2026-08-29 20:52:05,106.106 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 20:52:05,109.109 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-08-29 20:52:05,111.111 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:52:05,114.114 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:52:05,120.120 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:52:05,125.125 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:52:07,159.159 INFO    ] ================================================
[2026-08-29 20:52:07,175.175 INFO    ] Launching Daemon at Sat Aug 29 20:52:07 IST 2026
[2026-08-29 20:52:07,187.187 INFO    ] ================================================
[2026-08-29 20:52:07,803.803 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:52:07
[2026-08-29 20:52:08,396.396 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:52:08,649.649 INFO    ] Initializing speech engine...
[2026-08-29 20:52:08,656.656 INFO    ] 2026-08-29 20:52:08
[2026-08-29 20:52:08,963.963 INFO    ] 2026-08-29 20:52:08
[2026-08-29 20:52:08,999.999 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:52:09,148.148 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:52:09,156.156 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:52:09,308.308 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:52:09,319.319 INFO    ] time= 29/08/2026 20:52:09
[2026-08-29 20:52:09,324.324 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:52:09,330.330 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:52:09,397.397 INFO    ] No existing commands found in stream
[2026-08-29 20:52:14,410.410 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:52:14,413.413 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-08-29 20:52:17,276.276 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:52:17,277.277 INFO    ] Checking for system updates...
[2026-08-29 20:52:17,300.300 INFO    ] 200
[2026-08-29 20:52:17,303.303 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:52:17,359.359 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:52:17,361.361 INFO    ] No update needed
[2026-08-29 20:52:17,364.364 INFO    ] Checking for camera pi updates...
[2026-08-29 20:52:17,398.398 INFO    ] 200
[2026-08-29 20:52:17,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:52:17,440.440 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:52:17,525.525 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:52:17,527.527 INFO    ] No camera update needed
[2026-08-29 20:52:17,530.530 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:52:17,532.532 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:52:17,538.538 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:52:17,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:52:19,583.583 INFO    ] ================================================
[2026-08-29 20:52:19,599.599 INFO    ] Launching Daemon at Sat Aug 29 20:52:19 IST 2026
[2026-08-29 20:52:19,609.609 INFO    ] ================================================
[2026-08-29 20:52:20,205.205 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:52:20
[2026-08-29 20:52:20,619.619 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:52:20,755.755 INFO    ] Initializing speech engine...
[2026-08-29 20:52:20,762.762 INFO    ] 2026-08-29 20:52:20
[2026-08-29 20:52:20,988.988 INFO    ] 2026-08-29 20:52:20
[2026-08-29 20:52:21,019.019 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:52:21,174.174 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:52:21,216.216 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:52:21,351.351 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:52:21,384.384 INFO    ] time= 29/08/2026 20:52:21
[2026-08-29 20:52:21,392.392 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:52:21,399.399 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:52:21,487.487 INFO    ] No existing commands found in stream
[2026-08-29 20:52:26,516.516 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:52:26,518.518 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-08-29 20:52:27,574.574 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:52:27,576.576 INFO    ] Checking for system updates...
[2026-08-29 20:52:27,596.596 INFO    ] 200
[2026-08-29 20:52:27,597.597 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:52:27,627.627 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:52:27,628.628 INFO    ] No update needed
[2026-08-29 20:52:27,629.629 INFO    ] Checking for camera pi updates...
[2026-08-29 20:52:27,649.649 INFO    ] 200
[2026-08-29 20:52:27,651.651 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:52:27,677.677 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:52:27,775.775 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:52:27,777.777 INFO    ] No camera update needed
[2026-08-29 20:52:27,779.779 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:52:27,781.781 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:52:27,787.787 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:52:27,792.792 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:52:29,833.833 INFO    ] ================================================
[2026-08-29 20:52:29,849.849 INFO    ] Launching Daemon at Sat Aug 29 20:52:29 IST 2026
[2026-08-29 20:52:29,861.861 INFO    ] ================================================
[2026-08-29 20:52:30,435.435 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:52:30
[2026-08-29 20:52:30,928.928 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:52:31,061.061 INFO    ] Initializing speech engine...
[2026-08-29 20:52:31,073.073 INFO    ] 2026-08-29 20:52:31
[2026-08-29 20:52:31,267.267 INFO    ] 2026-08-29 20:52:31
[2026-08-29 20:52:31,349.349 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:52:31,500.500 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:52:31,509.509 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:52:31,646.646 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:52:31,690.690 INFO    ] time= 29/08/2026 20:52:31
[2026-08-29 20:52:31,745.745 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:52:31,786.786 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:52:31,847.847 INFO    ] No existing commands found in stream
[2026-08-29 20:52:36,859.859 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:52:36,862.862 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-08-29 20:52:40,457.457 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:52:40,458.458 INFO    ] Checking for system updates...
[2026-08-29 20:52:40,479.479 INFO    ] 200
[2026-08-29 20:52:40,481.481 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:52:40,511.511 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:52:40,513.513 INFO    ] No update needed
[2026-08-29 20:52:40,514.514 INFO    ] Checking for camera pi updates...
[2026-08-29 20:52:40,534.534 INFO    ] 200
[2026-08-29 20:52:40,535.535 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:52:40,559.559 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:52:40,655.655 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:52:40,656.656 INFO    ] No camera update needed
[2026-08-29 20:52:40,658.658 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:52:40,659.659 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:52:40,662.662 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:52:40,665.665 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:52:42,706.706 INFO    ] ================================================
[2026-08-29 20:52:42,721.721 INFO    ] Launching Daemon at Sat Aug 29 20:52:42 IST 2026
[2026-08-29 20:52:42,732.732 INFO    ] ================================================
[2026-08-29 20:52:43,290.290 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:52:43
[2026-08-29 20:52:43,897.897 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:52:44,178.178 INFO    ] Initializing speech engine...
[2026-08-29 20:52:44,183.183 INFO    ] 2026-08-29 20:52:44
[2026-08-29 20:52:44,449.449 INFO    ] 2026-08-29 20:52:44
[2026-08-29 20:52:44,506.506 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:52:44,727.727 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:52:44,736.736 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:52:44,869.869 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:52:44,885.885 INFO    ] time= 29/08/2026 20:52:44
[2026-08-29 20:52:44,950.950 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:52:45,002.002 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:52:45,057.057 INFO    ] No existing commands found in stream
[2026-08-29 20:52:50,068.068 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:52:50,071.071 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-08-29 20:52:53,101.101 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:52:53,102.102 INFO    ] Checking for system updates...
[2026-08-29 20:52:53,123.123 INFO    ] 200
[2026-08-29 20:52:53,125.125 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:52:53,155.155 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:52:53,156.156 INFO    ] No update needed
[2026-08-29 20:52:53,157.157 INFO    ] Checking for camera pi updates...
[2026-08-29 20:52:53,176.176 INFO    ] 200
[2026-08-29 20:52:53,178.178 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:52:53,201.201 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:52:53,279.279 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:52:53,280.280 INFO    ] No camera update needed
[2026-08-29 20:52:53,282.282 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:52:53,283.283 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:52:53,286.286 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:52:53,289.289 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:52:55,329.329 INFO    ] ================================================
[2026-08-29 20:52:55,345.345 INFO    ] Launching Daemon at Sat Aug 29 20:52:55 IST 2026
[2026-08-29 20:52:55,355.355 INFO    ] ================================================
[2026-08-29 20:52:55,843.843 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:52:55
[2026-08-29 20:52:56,434.434 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:52:56,707.707 INFO    ] Initializing speech engine...
[2026-08-29 20:52:56,717.717 INFO    ] 2026-08-29 20:52:56
[2026-08-29 20:52:56,968.968 INFO    ] 2026-08-29 20:52:56
[2026-08-29 20:52:57,003.003 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:52:57,178.178 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:52:57,191.191 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:52:57,303.303 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:52:57,308.308 INFO    ] time= 29/08/2026 20:52:57
[2026-08-29 20:52:57,326.326 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:52:57,346.346 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:52:57,420.420 INFO    ] No existing commands found in stream
[2026-08-29 20:53:02,433.433 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:53:02,436.436 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-08-29 20:53:05,245.245 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:53:05,246.246 INFO    ] Checking for system updates...
[2026-08-29 20:53:05,267.267 INFO    ] 200
[2026-08-29 20:53:05,268.268 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:53:05,298.298 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:53:05,299.299 INFO    ] No update needed
[2026-08-29 20:53:05,300.300 INFO    ] Checking for camera pi updates...
[2026-08-29 20:53:05,321.321 INFO    ] 200
[2026-08-29 20:53:05,322.322 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:53:05,345.345 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:53:05,443.443 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:53:05,445.445 INFO    ] No camera update needed
[2026-08-29 20:53:05,446.446 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:53:05,447.447 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:53:05,450.450 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:53:05,454.454 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:53:07,494.494 INFO    ] ================================================
[2026-08-29 20:53:07,509.509 INFO    ] Launching Daemon at Sat Aug 29 20:53:07 IST 2026
[2026-08-29 20:53:07,520.520 INFO    ] ================================================
[2026-08-29 20:53:07,882.882 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:53:07
[2026-08-29 20:53:08,193.193 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:53:08,324.324 INFO    ] Initializing speech engine...
[2026-08-29 20:53:08,327.327 INFO    ] 2026-08-29 20:53:08
[2026-08-29 20:53:08,544.544 INFO    ] 2026-08-29 20:53:08
[2026-08-29 20:53:08,572.572 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:53:08,694.694 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:53:08,756.756 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:53:08,887.887 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:53:08,948.948 INFO    ] time= 29/08/2026 20:53:08
[2026-08-29 20:53:08,985.985 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:53:08,987.987 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:53:09,059.059 INFO    ] No existing commands found in stream
[2026-08-29 20:53:14,068.068 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:53:14,071.071 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-08-29 20:53:15,028.028 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:53:15,034.034 INFO    ] Checking for system updates...
[2026-08-29 20:53:15,055.055 INFO    ] 200
[2026-08-29 20:53:15,057.057 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:53:15,092.092 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:53:15,094.094 INFO    ] No update needed
[2026-08-29 20:53:15,095.095 INFO    ] Checking for camera pi updates...
[2026-08-29 20:53:15,114.114 INFO    ] 200
[2026-08-29 20:53:15,116.116 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:53:15,139.139 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:53:15,220.220 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:53:15,221.221 INFO    ] No camera update needed
[2026-08-29 20:53:15,223.223 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:53:15,224.224 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:53:15,227.227 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:53:15,230.230 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:53:17,272.272 INFO    ] ================================================
[2026-08-29 20:53:17,287.287 INFO    ] Launching Daemon at Sat Aug 29 20:53:17 IST 2026
[2026-08-29 20:53:17,298.298 INFO    ] ================================================
[2026-08-29 20:53:17,662.662 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:53:17
[2026-08-29 20:53:17,974.974 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:53:18,110.110 INFO    ] Initializing speech engine...
[2026-08-29 20:53:18,119.119 INFO    ] 2026-08-29 20:53:18
[2026-08-29 20:53:18,322.322 INFO    ] 2026-08-29 20:53:18
[2026-08-29 20:53:18,350.350 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:53:18,472.472 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:53:18,510.510 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:53:18,668.668 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:53:18,731.731 INFO    ] time= 29/08/2026 20:53:18
[2026-08-29 20:53:18,762.762 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:53:18,769.769 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:53:18,836.836 INFO    ] No existing commands found in stream
[2026-08-29 20:53:23,845.845 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:53:23,848.848 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-08-29 20:53:26,583.583 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:53:26,584.584 INFO    ] Checking for system updates...
[2026-08-29 20:53:26,604.604 INFO    ] 200
[2026-08-29 20:53:26,606.606 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:53:26,637.637 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:53:26,639.639 INFO    ] No update needed
[2026-08-29 20:53:26,640.640 INFO    ] Checking for camera pi updates...
[2026-08-29 20:53:26,663.663 INFO    ] 200
[2026-08-29 20:53:26,664.664 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:53:26,687.687 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:53:26,791.791 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:53:26,792.792 INFO    ] No camera update needed
[2026-08-29 20:53:26,793.793 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:53:26,795.795 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:53:26,797.797 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:53:26,800.800 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:53:28,838.838 INFO    ] ================================================
[2026-08-29 20:53:28,854.854 INFO    ] Launching Daemon at Sat Aug 29 20:53:28 IST 2026
[2026-08-29 20:53:28,864.864 INFO    ] ================================================
[2026-08-29 20:53:29,234.234 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:53:29
[2026-08-29 20:53:29,554.554 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:53:29,694.694 INFO    ] Initializing speech engine...
[2026-08-29 20:53:29,704.704 INFO    ] 2026-08-29 20:53:29
[2026-08-29 20:53:29,928.928 INFO    ] 2026-08-29 20:53:29
[2026-08-29 20:53:30,004.004 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:53:30,158.158 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:53:30,168.168 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:53:30,300.300 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:53:30,312.312 INFO    ] time= 29/08/2026 20:53:30
[2026-08-29 20:53:30,366.366 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:53:30,433.433 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:53:30,488.488 INFO    ] No existing commands found in stream
[2026-08-29 20:53:35,500.500 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:53:35,503.503 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-08-29 20:53:36,757.757 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:53:36,758.758 INFO    ] Checking for system updates...
[2026-08-29 20:53:36,785.785 INFO    ] 200
[2026-08-29 20:53:36,787.787 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:53:36,825.825 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:53:36,827.827 INFO    ] No update needed
[2026-08-29 20:53:36,829.829 INFO    ] Checking for camera pi updates...
[2026-08-29 20:53:36,856.856 INFO    ] 200
[2026-08-29 20:53:36,857.857 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:53:36,901.901 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:53:37,010.010 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:53:37,014.014 INFO    ] No camera update needed
[2026-08-29 20:53:37,016.016 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:53:37,019.019 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:53:37,025.025 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:53:37,031.031 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:53:39,073.073 INFO    ] ================================================
[2026-08-29 20:53:39,088.088 INFO    ] Launching Daemon at Sat Aug 29 20:53:39 IST 2026
[2026-08-29 20:53:39,099.099 INFO    ] ================================================
[2026-08-29 20:53:39,673.673 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:53:39
[2026-08-29 20:53:40,139.139 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:53:40,269.269 INFO    ] Initializing speech engine...
[2026-08-29 20:53:40,273.273 INFO    ] 2026-08-29 20:53:40
[2026-08-29 20:53:40,495.495 INFO    ] 2026-08-29 20:53:40
[2026-08-29 20:53:40,523.523 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:53:40,646.646 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:53:40,654.654 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:53:40,795.795 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:53:40,847.847 INFO    ] time= 29/08/2026 20:53:40
[2026-08-29 20:53:40,903.903 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:53:40,943.943 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:53:41,018.018 INFO    ] No existing commands found in stream
[2026-08-29 20:53:46,028.028 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:53:46,031.031 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-08-29 20:53:49,942.942 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:53:49,944.944 INFO    ] Checking for system updates...
[2026-08-29 20:53:49,966.966 INFO    ] 200
[2026-08-29 20:53:49,968.968 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:53:49,998.998 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:53:49,999.999 INFO    ] No update needed
[2026-08-29 20:53:50,001.001 INFO    ] Checking for camera pi updates...
[2026-08-29 20:53:50,020.020 INFO    ] 200
[2026-08-29 20:53:50,022.022 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:53:50,049.049 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:53:50,150.150 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:53:50,152.152 INFO    ] No camera update needed
[2026-08-29 20:53:50,155.155 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:53:50,157.157 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:53:50,162.162 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:53:50,167.167 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:53:52,211.211 INFO    ] ================================================
[2026-08-29 20:53:52,227.227 INFO    ] Launching Daemon at Sat Aug 29 20:53:52 IST 2026
[2026-08-29 20:53:52,238.238 INFO    ] ================================================
[2026-08-29 20:53:52,840.840 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:53:52
[2026-08-29 20:53:53,281.281 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:53:53,425.425 INFO    ] Initializing speech engine...
[2026-08-29 20:53:53,429.429 INFO    ] 2026-08-29 20:53:53
[2026-08-29 20:53:53,638.638 INFO    ] 2026-08-29 20:53:53
[2026-08-29 20:53:53,666.666 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:53:53,792.792 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:53:53,800.800 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:53:53,976.976 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:53:53,979.979 INFO    ] time= 29/08/2026 20:53:53
[2026-08-29 20:53:53,982.982 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:53:54,012.012 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:53:54,070.070 INFO    ] No existing commands found in stream
[2026-08-29 20:53:59,082.082 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:53:59,085.085 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-08-29 20:54:02,833.833 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:54:02,836.836 INFO    ] Checking for system updates...
[2026-08-29 20:54:02,880.880 INFO    ] 200
[2026-08-29 20:54:02,883.883 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:54:02,936.936 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:54:02,938.938 INFO    ] No update needed
[2026-08-29 20:54:02,940.940 INFO    ] Checking for camera pi updates...
[2026-08-29 20:54:02,978.978 INFO    ] 200
[2026-08-29 20:54:02,980.980 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:54:03,022.022 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:54:03,101.101 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:54:03,104.104 INFO    ] No camera update needed
[2026-08-29 20:54:03,106.106 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:54:03,108.108 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:54:03,114.114 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:54:03,118.118 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:54:05,159.159 INFO    ] ================================================
[2026-08-29 20:54:05,174.174 INFO    ] Launching Daemon at Sat Aug 29 20:54:05 IST 2026
[2026-08-29 20:54:05,185.185 INFO    ] ================================================
[2026-08-29 20:54:05,529.529 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:54:05
[2026-08-29 20:54:05,845.845 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:54:06,080.080 INFO    ] Initializing speech engine...
[2026-08-29 20:54:06,096.096 INFO    ] 2026-08-29 20:54:06
[2026-08-29 20:54:06,390.390 INFO    ] 2026-08-29 20:54:06
[2026-08-29 20:54:06,430.430 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:54:06,631.631 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:54:06,638.638 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:54:06,772.772 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:54:06,778.778 INFO    ] time= 29/08/2026 20:54:06
[2026-08-29 20:54:06,785.785 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:54:06,806.806 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:54:06,907.907 INFO    ] No existing commands found in stream
[2026-08-29 20:54:11,921.921 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:54:11,924.924 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-08-29 20:54:14,066.066 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:54:14,068.068 INFO    ] Checking for system updates...
[2026-08-29 20:54:14,089.089 INFO    ] 200
[2026-08-29 20:54:14,091.091 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:54:14,121.121 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:54:14,122.122 INFO    ] No update needed
[2026-08-29 20:54:14,123.123 INFO    ] Checking for camera pi updates...
[2026-08-29 20:54:14,143.143 INFO    ] 200
[2026-08-29 20:54:14,144.144 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:54:14,167.167 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:54:14,297.297 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:54:14,299.299 INFO    ] No camera update needed
[2026-08-29 20:54:14,300.300 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:54:14,301.301 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:54:14,304.304 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:54:14,307.307 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:54:16,346.346 INFO    ] ================================================
[2026-08-29 20:54:16,362.362 INFO    ] Launching Daemon at Sat Aug 29 20:54:16 IST 2026
[2026-08-29 20:54:16,373.373 INFO    ] ================================================
[2026-08-29 20:54:16,734.734 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:54:16
[2026-08-29 20:54:17,190.190 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:54:17,496.496 INFO    ] Initializing speech engine...
[2026-08-29 20:54:17,503.503 INFO    ] 2026-08-29 20:54:17
[2026-08-29 20:54:17,796.796 INFO    ] 2026-08-29 20:54:17
[2026-08-29 20:54:17,842.842 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:54:18,070.070 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:54:18,081.081 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:54:18,236.236 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:54:18,244.244 INFO    ] time= 29/08/2026 20:54:18
[2026-08-29 20:54:18,278.278 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:54:18,332.332 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:54:18,413.413 INFO    ] No existing commands found in stream
[2026-08-29 20:54:23,427.427 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:54:23,429.429 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-08-29 20:54:27,493.493 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:54:27,495.495 INFO    ] Checking for system updates...
[2026-08-29 20:54:27,517.517 INFO    ] 200
[2026-08-29 20:54:27,518.518 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:54:27,551.551 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:54:27,552.552 INFO    ] No update needed
[2026-08-29 20:54:27,554.554 INFO    ] Checking for camera pi updates...
[2026-08-29 20:54:27,574.574 INFO    ] 200
[2026-08-29 20:54:27,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:54:27,598.598 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:54:27,696.696 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:54:27,697.697 INFO    ] No camera update needed
[2026-08-29 20:54:27,698.698 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:54:27,700.700 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:54:27,703.703 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:54:27,706.706 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:54:29,744.744 INFO    ] ================================================
[2026-08-29 20:54:29,760.760 INFO    ] Launching Daemon at Sat Aug 29 20:54:29 IST 2026
[2026-08-29 20:54:29,771.771 INFO    ] ================================================
[2026-08-29 20:54:30,105.105 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:54:30
[2026-08-29 20:54:30,419.419 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:54:30,563.563 INFO    ] Initializing speech engine...
[2026-08-29 20:54:30,567.567 INFO    ] 2026-08-29 20:54:30
[2026-08-29 20:54:30,771.771 INFO    ] 2026-08-29 20:54:30
[2026-08-29 20:54:30,798.798 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:54:30,923.923 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:54:30,961.961 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:54:31,128.128 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:54:31,188.188 INFO    ] time= 29/08/2026 20:54:31
[2026-08-29 20:54:31,215.215 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:54:31,271.271 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:54:31,382.382 INFO    ] No existing commands found in stream
[2026-08-29 20:54:36,407.407 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:54:36,410.410 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-08-29 20:54:40,439.439 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:54:40,441.441 INFO    ] Checking for system updates...
[2026-08-29 20:54:40,463.463 INFO    ] 200
[2026-08-29 20:54:40,464.464 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:54:40,497.497 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:54:40,499.499 INFO    ] No update needed
[2026-08-29 20:54:40,500.500 INFO    ] Checking for camera pi updates...
[2026-08-29 20:54:40,519.519 INFO    ] 200
[2026-08-29 20:54:40,520.520 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:54:40,547.547 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:54:40,632.632 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:54:40,634.634 INFO    ] No camera update needed
[2026-08-29 20:54:40,635.635 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:54:40,636.636 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:54:40,639.639 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:54:40,642.642 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:54:42,682.682 INFO    ] ================================================
[2026-08-29 20:54:42,697.697 INFO    ] Launching Daemon at Sat Aug 29 20:54:42 IST 2026
[2026-08-29 20:54:42,708.708 INFO    ] ================================================
[2026-08-29 20:54:43,052.052 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:54:43
[2026-08-29 20:54:43,366.366 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:54:43,499.499 INFO    ] Initializing speech engine...
[2026-08-29 20:54:43,504.504 INFO    ] 2026-08-29 20:54:43
[2026-08-29 20:54:43,714.714 INFO    ] 2026-08-29 20:54:43
[2026-08-29 20:54:43,742.742 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:54:43,863.863 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:54:43,865.865 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:54:43,975.975 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:54:43,986.986 INFO    ] time= 29/08/2026 20:54:43
[2026-08-29 20:54:44,003.003 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:54:44,007.007 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:54:44,075.075 INFO    ] No existing commands found in stream
[2026-08-29 20:54:49,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:54:49,107.107 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-08-29 20:54:50,880.880 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:54:50,882.882 INFO    ] Checking for system updates...
[2026-08-29 20:54:50,902.902 INFO    ] 200
[2026-08-29 20:54:50,904.904 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:54:50,936.936 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:54:50,938.938 INFO    ] No update needed
[2026-08-29 20:54:50,939.939 INFO    ] Checking for camera pi updates...
[2026-08-29 20:54:50,958.958 INFO    ] 200
[2026-08-29 20:54:50,960.960 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:54:50,983.983 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:54:51,064.064 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:54:51,065.065 INFO    ] No camera update needed
[2026-08-29 20:54:51,067.067 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:54:51,068.068 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:54:51,071.071 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:54:51,074.074 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:54:53,113.113 INFO    ] ================================================
[2026-08-29 20:54:53,128.128 INFO    ] Launching Daemon at Sat Aug 29 20:54:53 IST 2026
[2026-08-29 20:54:53,139.139 INFO    ] ================================================
[2026-08-29 20:54:53,482.482 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:54:53
[2026-08-29 20:54:53,803.803 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:54:53,939.939 INFO    ] Initializing speech engine...
[2026-08-29 20:54:53,949.949 INFO    ] 2026-08-29 20:54:53
[2026-08-29 20:54:54,152.152 INFO    ] 2026-08-29 20:54:54
[2026-08-29 20:54:54,187.187 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:54:54,312.312 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:54:54,334.334 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:54:54,477.477 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:54:54,509.509 INFO    ] time= 29/08/2026 20:54:54
[2026-08-29 20:54:54,560.560 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:54:54,582.582 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:54:54,674.674 INFO    ] No existing commands found in stream
[2026-08-29 20:54:59,688.688 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:54:59,690.690 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-08-29 20:55:02,696.696 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:55:02,699.699 INFO    ] Checking for system updates...
[2026-08-29 20:55:02,745.745 INFO    ] 200
[2026-08-29 20:55:02,748.748 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:55:02,825.825 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:55:02,828.828 INFO    ] No update needed
[2026-08-29 20:55:02,833.833 INFO    ] Checking for camera pi updates...
[2026-08-29 20:55:02,878.878 INFO    ] 200
[2026-08-29 20:55:02,881.881 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:55:02,929.929 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:55:03,103.103 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:55:03,106.106 INFO    ] No camera update needed
[2026-08-29 20:55:03,109.109 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:55:03,113.113 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:55:03,120.120 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:55:03,126.126 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:55:05,166.166 INFO    ] ================================================
[2026-08-29 20:55:05,181.181 INFO    ] Launching Daemon at Sat Aug 29 20:55:05 IST 2026
[2026-08-29 20:55:05,192.192 INFO    ] ================================================
[2026-08-29 20:55:05,540.540 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:55:05
[2026-08-29 20:55:06,124.124 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:55:06,395.395 INFO    ] Initializing speech engine...
[2026-08-29 20:55:06,403.403 INFO    ] 2026-08-29 20:55:06
[2026-08-29 20:55:06,650.650 INFO    ] 2026-08-29 20:55:06
[2026-08-29 20:55:06,685.685 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:55:06,857.857 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:55:06,869.869 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:55:06,996.996 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:55:07,016.016 INFO    ] time= 29/08/2026 20:55:06
[2026-08-29 20:55:07,039.039 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:55:07,045.045 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:55:07,116.116 INFO    ] No existing commands found in stream
[2026-08-29 20:55:12,137.137 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:55:12,140.140 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-08-29 20:55:13,975.975 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:55:13,977.977 INFO    ] Checking for system updates...
[2026-08-29 20:55:13,997.997 INFO    ] 200
[2026-08-29 20:55:13,999.999 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:55:14,029.029 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:55:14,030.030 INFO    ] No update needed
[2026-08-29 20:55:14,032.032 INFO    ] Checking for camera pi updates...
[2026-08-29 20:55:14,052.052 INFO    ] 200
[2026-08-29 20:55:14,053.053 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:55:14,078.078 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:55:14,168.168 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:55:14,170.170 INFO    ] No camera update needed
[2026-08-29 20:55:14,171.171 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:55:14,173.173 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:55:14,176.176 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:55:14,179.179 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:55:16,220.220 INFO    ] ================================================
[2026-08-29 20:55:16,235.235 INFO    ] Launching Daemon at Sat Aug 29 20:55:16 IST 2026
[2026-08-29 20:55:16,246.246 INFO    ] ================================================
[2026-08-29 20:55:16,609.609 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:55:16
[2026-08-29 20:55:16,922.922 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:55:17,105.105 INFO    ] Initializing speech engine...
[2026-08-29 20:55:17,118.118 INFO    ] 2026-08-29 20:55:17
[2026-08-29 20:55:17,411.411 INFO    ] 2026-08-29 20:55:17
[2026-08-29 20:55:17,448.448 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:55:17,601.601 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:55:17,609.609 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:55:17,759.759 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:55:17,770.770 INFO    ] time= 29/08/2026 20:55:17
[2026-08-29 20:55:17,780.780 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:55:17,786.786 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:55:17,854.854 INFO    ] No existing commands found in stream
[2026-08-29 20:55:22,865.865 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:55:22,868.868 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 20:55:24,269.269 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:55:24,271.271 INFO    ] Checking for system updates...
[2026-08-29 20:55:24,293.293 INFO    ] 200
[2026-08-29 20:55:24,295.295 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:55:24,327.327 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:55:24,329.329 INFO    ] No update needed
[2026-08-29 20:55:24,330.330 INFO    ] Checking for camera pi updates...
[2026-08-29 20:55:24,349.349 INFO    ] 200
[2026-08-29 20:55:24,351.351 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:55:24,373.373 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:55:24,469.469 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:55:24,471.471 INFO    ] No camera update needed
[2026-08-29 20:55:24,472.472 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:55:24,473.473 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:55:24,476.476 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:55:24,479.479 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:55:26,518.518 INFO    ] ================================================
[2026-08-29 20:55:26,533.533 INFO    ] Launching Daemon at Sat Aug 29 20:55:26 IST 2026
[2026-08-29 20:55:26,544.544 INFO    ] ================================================
[2026-08-29 20:55:26,869.869 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:55:26
[2026-08-29 20:55:27,181.181 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:55:27,323.323 INFO    ] Initializing speech engine...
[2026-08-29 20:55:27,328.328 INFO    ] 2026-08-29 20:55:27
[2026-08-29 20:55:27,564.564 INFO    ] 2026-08-29 20:55:27
[2026-08-29 20:55:27,617.617 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:55:27,773.773 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:55:27,787.787 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:55:27,961.961 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:55:27,986.986 INFO    ] time= 29/08/2026 20:55:27
[2026-08-29 20:55:27,992.992 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:55:28,013.013 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:55:28,126.126 INFO    ] No existing commands found in stream
[2026-08-29 20:55:33,151.151 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:55:33,163.163 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 20:55:33,769.769 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:55:33,772.772 INFO    ] Checking for system updates...
[2026-08-29 20:55:33,809.809 INFO    ] 200
[2026-08-29 20:55:33,817.817 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:55:33,879.879 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:55:33,882.882 INFO    ] No update needed
[2026-08-29 20:55:33,885.885 INFO    ] Checking for camera pi updates...
[2026-08-29 20:55:33,926.926 INFO    ] 200
[2026-08-29 20:55:33,929.929 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:55:33,976.976 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:55:34,085.085 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:55:34,087.087 INFO    ] No camera update needed
[2026-08-29 20:55:34,089.089 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:55:34,092.092 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:55:34,097.097 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:55:34,102.102 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:55:36,144.144 INFO    ] ================================================
[2026-08-29 20:55:36,159.159 INFO    ] Launching Daemon at Sat Aug 29 20:55:36 IST 2026
[2026-08-29 20:55:36,171.171 INFO    ] ================================================
[2026-08-29 20:55:36,563.563 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:55:36
[2026-08-29 20:55:36,907.907 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:55:37,063.063 INFO    ] Initializing speech engine...
[2026-08-29 20:55:37,068.068 INFO    ] 2026-08-29 20:55:37
[2026-08-29 20:55:37,281.281 INFO    ] 2026-08-29 20:55:37
[2026-08-29 20:55:37,364.364 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:55:37,515.515 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:55:37,524.524 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:55:37,660.660 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:55:37,687.687 INFO    ] time= 29/08/2026 20:55:37
[2026-08-29 20:55:37,746.746 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:55:37,796.796 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:55:37,849.849 INFO    ] No existing commands found in stream
[2026-08-29 20:55:42,860.860 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:55:42,863.863 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-08-29 20:55:44,807.807 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:55:44,809.809 INFO    ] Checking for system updates...
[2026-08-29 20:55:44,830.830 INFO    ] 200
[2026-08-29 20:55:44,832.832 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:55:44,861.861 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:55:44,863.863 INFO    ] No update needed
[2026-08-29 20:55:44,864.864 INFO    ] Checking for camera pi updates...
[2026-08-29 20:55:44,883.883 INFO    ] 200
[2026-08-29 20:55:44,885.885 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:55:44,907.907 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:55:45,018.018 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:55:45,020.020 INFO    ] No camera update needed
[2026-08-29 20:55:45,021.021 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:55:45,022.022 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:55:45,025.025 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:55:45,028.028 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:55:47,066.066 INFO    ] ================================================
[2026-08-29 20:55:47,081.081 INFO    ] Launching Daemon at Sat Aug 29 20:55:47 IST 2026
[2026-08-29 20:55:47,092.092 INFO    ] ================================================
[2026-08-29 20:55:47,485.485 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:55:47
[2026-08-29 20:55:47,829.829 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:55:47,987.987 INFO    ] Initializing speech engine...
[2026-08-29 20:55:47,993.993 INFO    ] 2026-08-29 20:55:47
[2026-08-29 20:55:48,205.205 INFO    ] 2026-08-29 20:55:48
[2026-08-29 20:55:48,235.235 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:55:48,373.373 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:55:48,382.382 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:55:48,541.541 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:55:48,588.588 INFO    ] time= 29/08/2026 20:55:48
[2026-08-29 20:55:48,595.595 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:55:48,615.615 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:55:48,733.733 INFO    ] No existing commands found in stream
[2026-08-29 20:55:53,759.759 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:55:53,763.763 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 20:55:57,210.210 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:55:57,212.212 INFO    ] Checking for system updates...
[2026-08-29 20:55:57,234.234 INFO    ] 200
[2026-08-29 20:55:57,235.235 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:55:57,268.268 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:55:57,269.269 INFO    ] No update needed
[2026-08-29 20:55:57,270.270 INFO    ] Checking for camera pi updates...
[2026-08-29 20:55:57,291.291 INFO    ] 200
[2026-08-29 20:55:57,292.292 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:55:57,315.315 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:55:57,368.368 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:55:57,371.371 INFO    ] No camera update needed
[2026-08-29 20:55:57,373.373 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:55:57,375.375 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:55:57,381.381 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:55:57,386.386 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:55:59,425.425 INFO    ] ================================================
[2026-08-29 20:55:59,440.440 INFO    ] Launching Daemon at Sat Aug 29 20:55:59 IST 2026
[2026-08-29 20:55:59,451.451 INFO    ] ================================================
[2026-08-29 20:56:00,031.031 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:56:00
[2026-08-29 20:56:00,560.560 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:56:00,705.705 INFO    ] Initializing speech engine...
[2026-08-29 20:56:00,710.710 INFO    ] 2026-08-29 20:56:00
[2026-08-29 20:56:00,914.914 INFO    ] 2026-08-29 20:56:00
[2026-08-29 20:56:00,942.942 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:56:01,064.064 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:56:01,124.124 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:56:01,240.240 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:56:01,298.298 INFO    ] time= 29/08/2026 20:56:01
[2026-08-29 20:56:01,335.335 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:56:01,382.382 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:56:01,512.512 INFO    ] No existing commands found in stream
[2026-08-29 20:56:06,542.542 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:56:06,545.545 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-08-29 20:56:08,201.201 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:56:08,203.203 INFO    ] Checking for system updates...
[2026-08-29 20:56:08,223.223 INFO    ] 200
[2026-08-29 20:56:08,225.225 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:56:08,255.255 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:56:08,256.256 INFO    ] No update needed
[2026-08-29 20:56:08,257.257 INFO    ] Checking for camera pi updates...
[2026-08-29 20:56:08,277.277 INFO    ] 200
[2026-08-29 20:56:08,279.279 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:56:08,306.306 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:56:08,515.515 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:56:08,517.517 INFO    ] No camera update needed
[2026-08-29 20:56:08,518.518 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:56:08,519.519 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:56:08,522.522 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:56:08,525.525 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:56:10,565.565 INFO    ] ================================================
[2026-08-29 20:56:10,582.582 INFO    ] Launching Daemon at Sat Aug 29 20:56:10 IST 2026
[2026-08-29 20:56:10,593.593 INFO    ] ================================================
[2026-08-29 20:56:11,134.134 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:56:11
[2026-08-29 20:56:11,808.808 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:56:12,109.109 INFO    ] Initializing speech engine...
[2026-08-29 20:56:12,119.119 INFO    ] 2026-08-29 20:56:12
[2026-08-29 20:56:12,395.395 INFO    ] 2026-08-29 20:56:12
[2026-08-29 20:56:12,449.449 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:56:12,673.673 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:56:12,685.685 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:56:12,816.816 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:56:12,859.859 INFO    ] time= 29/08/2026 20:56:12
[2026-08-29 20:56:12,908.908 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:56:12,951.951 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:56:13,075.075 INFO    ] No existing commands found in stream
[2026-08-29 20:56:18,108.108 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:56:18,111.111 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 20:56:21,688.688 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:56:21,690.690 INFO    ] Checking for system updates...
[2026-08-29 20:56:21,711.711 INFO    ] 200
[2026-08-29 20:56:21,713.713 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:56:21,742.742 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:56:21,744.744 INFO    ] No update needed
[2026-08-29 20:56:21,745.745 INFO    ] Checking for camera pi updates...
[2026-08-29 20:56:21,764.764 INFO    ] 200
[2026-08-29 20:56:21,765.765 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:56:21,788.788 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:56:21,892.892 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:56:21,893.893 INFO    ] No camera update needed
[2026-08-29 20:56:21,894.894 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:56:21,896.896 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:56:21,899.899 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:56:21,901.901 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:56:23,942.942 INFO    ] ================================================
[2026-08-29 20:56:23,958.958 INFO    ] Launching Daemon at Sat Aug 29 20:56:23 IST 2026
[2026-08-29 20:56:23,969.969 INFO    ] ================================================
[2026-08-29 20:56:24,319.319 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:56:24
[2026-08-29 20:56:24,632.632 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:56:24,765.765 INFO    ] Initializing speech engine...
[2026-08-29 20:56:24,770.770 INFO    ] 2026-08-29 20:56:24
[2026-08-29 20:56:24,999.999 INFO    ] 2026-08-29 20:56:24
[2026-08-29 20:56:25,030.030 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:56:25,129.129 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:56:25,166.166 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:56:25,322.322 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:56:25,377.377 INFO    ] time= 29/08/2026 20:56:25
[2026-08-29 20:56:25,403.403 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:56:25,460.460 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:56:25,559.559 INFO    ] No existing commands found in stream
[2026-08-29 20:56:30,568.568 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:56:30,571.571 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-08-29 20:56:31,416.416 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:56:31,418.418 INFO    ] Checking for system updates...
[2026-08-29 20:56:31,440.440 INFO    ] 200
[2026-08-29 20:56:31,442.442 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:56:31,475.475 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:56:31,476.476 INFO    ] No update needed
[2026-08-29 20:56:31,477.477 INFO    ] Checking for camera pi updates...
[2026-08-29 20:56:31,500.500 INFO    ] 200
[2026-08-29 20:56:31,501.501 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:56:31,526.526 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:56:31,649.649 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:56:31,650.650 INFO    ] No camera update needed
[2026-08-29 20:56:31,652.652 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:56:31,653.653 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:56:31,656.656 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:56:31,659.659 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:56:33,698.698 INFO    ] ================================================
[2026-08-29 20:56:33,714.714 INFO    ] Launching Daemon at Sat Aug 29 20:56:33 IST 2026
[2026-08-29 20:56:33,725.725 INFO    ] ================================================
[2026-08-29 20:56:34,359.359 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:56:34
[2026-08-29 20:56:35,031.031 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:56:35,342.342 INFO    ] Initializing speech engine...
[2026-08-29 20:56:35,355.355 INFO    ] 2026-08-29 20:56:35
[2026-08-29 20:56:35,661.661 INFO    ] 2026-08-29 20:56:35
[2026-08-29 20:56:35,690.690 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:56:35,818.818 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:56:35,877.877 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:56:36,008.008 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:56:36,064.064 INFO    ] time= 29/08/2026 20:56:36
[2026-08-29 20:56:36,106.106 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:56:36,113.113 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:56:36,180.180 INFO    ] No existing commands found in stream
[2026-08-29 20:56:41,190.190 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:56:41,194.194 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-08-29 20:56:44,118.118 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:56:44,120.120 INFO    ] Checking for system updates...
[2026-08-29 20:56:44,141.141 INFO    ] 200
[2026-08-29 20:56:44,142.142 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:56:44,172.172 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:56:44,174.174 INFO    ] No update needed
[2026-08-29 20:56:44,175.175 INFO    ] Checking for camera pi updates...
[2026-08-29 20:56:44,196.196 INFO    ] 200
[2026-08-29 20:56:44,197.197 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:56:44,225.225 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:56:44,283.283 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:56:44,285.285 INFO    ] No camera update needed
[2026-08-29 20:56:44,288.288 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:56:44,291.291 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:56:44,297.297 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:56:44,303.303 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:56:46,344.344 INFO    ] ================================================
[2026-08-29 20:56:46,359.359 INFO    ] Launching Daemon at Sat Aug 29 20:56:46 IST 2026
[2026-08-29 20:56:46,370.370 INFO    ] ================================================
[2026-08-29 20:56:46,937.937 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:56:46
[2026-08-29 20:56:47,498.498 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:56:47,702.702 INFO    ] Initializing speech engine...
[2026-08-29 20:56:47,711.711 INFO    ] 2026-08-29 20:56:47
[2026-08-29 20:56:47,957.957 INFO    ] 2026-08-29 20:56:47
[2026-08-29 20:56:47,993.993 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:56:48,162.162 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:56:48,177.177 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:56:48,318.318 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:56:48,327.327 INFO    ] time= 29/08/2026 20:56:48
[2026-08-29 20:56:48,334.334 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:56:48,376.376 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:56:48,506.506 INFO    ] No existing commands found in stream
[2026-08-29 20:56:53,531.531 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:56:53,534.534 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-08-29 20:56:57,165.165 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:56:57,167.167 INFO    ] Checking for system updates...
[2026-08-29 20:56:57,187.187 INFO    ] 200
[2026-08-29 20:56:57,188.188 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:56:57,221.221 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:56:57,222.222 INFO    ] No update needed
[2026-08-29 20:56:57,223.223 INFO    ] Checking for camera pi updates...
[2026-08-29 20:56:57,242.242 INFO    ] 200
[2026-08-29 20:56:57,244.244 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:56:57,268.268 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:56:57,375.375 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:56:57,376.376 INFO    ] No camera update needed
[2026-08-29 20:56:57,377.377 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:56:57,379.379 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:56:57,382.382 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:56:57,384.384 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:56:59,423.423 INFO    ] ================================================
[2026-08-29 20:56:59,438.438 INFO    ] Launching Daemon at Sat Aug 29 20:56:59 IST 2026
[2026-08-29 20:56:59,449.449 INFO    ] ================================================
[2026-08-29 20:56:59,798.798 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:56:59
[2026-08-29 20:57:00,111.111 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:57:00,254.254 INFO    ] Initializing speech engine...
[2026-08-29 20:57:00,259.259 INFO    ] 2026-08-29 20:57:00
[2026-08-29 20:57:00,463.463 INFO    ] 2026-08-29 20:57:00
[2026-08-29 20:57:00,490.490 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:57:00,611.611 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:57:00,650.650 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:57:00,810.810 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:57:00,873.873 INFO    ] time= 29/08/2026 20:57:00
[2026-08-29 20:57:00,905.905 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:57:00,912.912 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:57:00,978.978 INFO    ] No existing commands found in stream
[2026-08-29 20:57:05,984.984 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:57:05,987.987 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-08-29 20:57:07,064.064 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:57:07,066.066 INFO    ] Checking for system updates...
[2026-08-29 20:57:07,087.087 INFO    ] 200
[2026-08-29 20:57:07,089.089 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:57:07,118.118 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:57:07,120.120 INFO    ] No update needed
[2026-08-29 20:57:07,121.121 INFO    ] Checking for camera pi updates...
[2026-08-29 20:57:07,140.140 INFO    ] 200
[2026-08-29 20:57:07,142.142 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:57:07,165.165 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:57:07,254.254 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:57:07,255.255 INFO    ] No camera update needed
[2026-08-29 20:57:07,256.256 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:57:07,258.258 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:57:07,261.261 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:57:07,264.264 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:57:09,306.306 INFO    ] ================================================
[2026-08-29 20:57:09,321.321 INFO    ] Launching Daemon at Sat Aug 29 20:57:09 IST 2026
[2026-08-29 20:57:09,332.332 INFO    ] ================================================
[2026-08-29 20:57:09,674.674 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:57:09
[2026-08-29 20:57:10,273.273 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:57:10,527.527 INFO    ] Initializing speech engine...
[2026-08-29 20:57:10,550.550 INFO    ] 2026-08-29 20:57:10
[2026-08-29 20:57:10,804.804 INFO    ] 2026-08-29 20:57:10
[2026-08-29 20:57:10,839.839 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:57:11,014.014 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:57:11,040.040 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:57:11,171.171 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:57:11,177.177 INFO    ] time= 29/08/2026 20:57:11
[2026-08-29 20:57:11,185.185 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:57:11,235.235 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:57:11,356.356 INFO    ] No existing commands found in stream
[2026-08-29 20:57:16,385.385 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:57:16,388.388 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-08-29 20:57:20,276.276 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:57:20,278.278 INFO    ] Checking for system updates...
[2026-08-29 20:57:20,298.298 INFO    ] 200
[2026-08-29 20:57:20,300.300 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:57:20,332.332 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:57:20,334.334 INFO    ] No update needed
[2026-08-29 20:57:20,335.335 INFO    ] Checking for camera pi updates...
[2026-08-29 20:57:20,355.355 INFO    ] 200
[2026-08-29 20:57:20,356.356 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:57:20,381.381 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:57:20,480.480 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:57:20,483.483 INFO    ] No camera update needed
[2026-08-29 20:57:20,485.485 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:57:20,487.487 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:57:20,493.493 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:57:20,498.498 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:57:22,538.538 INFO    ] ================================================
[2026-08-29 20:57:22,553.553 INFO    ] Launching Daemon at Sat Aug 29 20:57:22 IST 2026
[2026-08-29 20:57:22,564.564 INFO    ] ================================================
[2026-08-29 20:57:23,130.130 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:57:23
[2026-08-29 20:57:23,606.606 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:57:23,750.750 INFO    ] Initializing speech engine...
[2026-08-29 20:57:23,755.755 INFO    ] 2026-08-29 20:57:23
[2026-08-29 20:57:23,962.962 INFO    ] 2026-08-29 20:57:23
[2026-08-29 20:57:23,990.990 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:57:24,116.116 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:57:24,179.179 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:57:24,314.314 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:57:24,365.365 INFO    ] time= 29/08/2026 20:57:24
[2026-08-29 20:57:24,400.400 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:57:24,416.416 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:57:24,489.489 INFO    ] No existing commands found in stream
[2026-08-29 20:57:29,498.498 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:57:29,501.501 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-08-29 20:57:30,584.584 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:57:30,585.585 INFO    ] Checking for system updates...
[2026-08-29 20:57:30,605.605 INFO    ] 200
[2026-08-29 20:57:30,607.607 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:57:30,639.639 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:57:30,641.641 INFO    ] No update needed
[2026-08-29 20:57:30,642.642 INFO    ] Checking for camera pi updates...
[2026-08-29 20:57:30,662.662 INFO    ] 200
[2026-08-29 20:57:30,664.664 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:57:30,687.687 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:57:30,820.820 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:57:30,821.821 INFO    ] No camera update needed
[2026-08-29 20:57:30,822.822 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:57:30,824.824 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:57:30,826.826 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:57:30,829.829 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:57:32,867.867 INFO    ] ================================================
[2026-08-29 20:57:32,882.882 INFO    ] Launching Daemon at Sat Aug 29 20:57:32 IST 2026
[2026-08-29 20:57:32,893.893 INFO    ] ================================================
[2026-08-29 20:57:33,467.467 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:57:33
[2026-08-29 20:57:34,053.053 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:57:34,306.306 INFO    ] Initializing speech engine...
[2026-08-29 20:57:34,328.328 INFO    ] 2026-08-29 20:57:34
[2026-08-29 20:57:34,586.586 INFO    ] 2026-08-29 20:57:34
[2026-08-29 20:57:34,621.621 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:57:34,785.785 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:57:34,798.798 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:57:34,947.947 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:57:34,971.971 INFO    ] time= 29/08/2026 20:57:34
[2026-08-29 20:57:34,980.980 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:57:34,984.984 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:57:35,058.058 INFO    ] No existing commands found in stream
[2026-08-29 20:57:40,091.091 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:57:40,094.094 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-08-29 20:57:42,954.954 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:57:42,956.956 INFO    ] Checking for system updates...
[2026-08-29 20:57:42,977.977 INFO    ] 200
[2026-08-29 20:57:42,978.978 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:57:43,010.010 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:57:43,012.012 INFO    ] No update needed
[2026-08-29 20:57:43,013.013 INFO    ] Checking for camera pi updates...
[2026-08-29 20:57:43,032.032 INFO    ] 200
[2026-08-29 20:57:43,034.034 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:57:43,057.057 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:57:43,153.153 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:57:43,155.155 INFO    ] No camera update needed
[2026-08-29 20:57:43,156.156 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:57:43,157.157 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:57:43,160.160 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:57:43,163.163 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:57:45,203.203 INFO    ] ================================================
[2026-08-29 20:57:45,219.219 INFO    ] Launching Daemon at Sat Aug 29 20:57:45 IST 2026
[2026-08-29 20:57:45,229.229 INFO    ] ================================================
[2026-08-29 20:57:45,583.583 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:57:45
[2026-08-29 20:57:45,895.895 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:57:46,115.115 INFO    ] Initializing speech engine...
[2026-08-29 20:57:46,123.123 INFO    ] 2026-08-29 20:57:46
[2026-08-29 20:57:46,402.402 INFO    ] 2026-08-29 20:57:46
[2026-08-29 20:57:46,460.460 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:57:46,634.634 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:57:46,679.679 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:57:46,842.842 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:57:46,885.885 INFO    ] time= 29/08/2026 20:57:46
[2026-08-29 20:57:46,925.925 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:57:46,981.981 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:57:47,035.035 INFO    ] No existing commands found in stream
[2026-08-29 20:57:52,047.047 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:57:52,050.050 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-08-29 20:57:53,930.930 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:57:53,931.931 INFO    ] Checking for system updates...
[2026-08-29 20:57:53,952.952 INFO    ] 200
[2026-08-29 20:57:53,953.953 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:57:53,984.984 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:57:53,986.986 INFO    ] No update needed
[2026-08-29 20:57:53,987.987 INFO    ] Checking for camera pi updates...
[2026-08-29 20:57:54,008.008 INFO    ] 200
[2026-08-29 20:57:54,009.009 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:57:54,035.035 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:57:54,116.116 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:57:54,117.117 INFO    ] No camera update needed
[2026-08-29 20:57:54,119.119 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:57:54,120.120 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:57:54,124.124 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:57:54,126.126 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:57:56,165.165 INFO    ] ================================================
[2026-08-29 20:57:56,181.181 INFO    ] Launching Daemon at Sat Aug 29 20:57:56 IST 2026
[2026-08-29 20:57:56,192.192 INFO    ] ================================================
[2026-08-29 20:57:56,780.780 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:57:56
[2026-08-29 20:57:57,279.279 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:57:57,424.424 INFO    ] Initializing speech engine...
[2026-08-29 20:57:57,429.429 INFO    ] 2026-08-29 20:57:57
[2026-08-29 20:57:57,632.632 INFO    ] 2026-08-29 20:57:57
[2026-08-29 20:57:57,663.663 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:57:57,819.819 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:57:57,839.839 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:57:57,995.995 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:57:58,050.050 INFO    ] time= 29/08/2026 20:57:58
[2026-08-29 20:57:58,076.076 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:57:58,093.093 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:57:58,144.144 INFO    ] No existing commands found in stream
[2026-08-29 20:58:03,165.165 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:58:03,168.168 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-08-29 20:58:05,373.373 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 20:58:05,374.374 INFO    ] Checking for system updates...
[2026-08-29 20:58:05,397.397 INFO    ] 200
[2026-08-29 20:58:05,398.398 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:58:05,430.430 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:58:05,432.432 INFO    ] No update needed
[2026-08-29 20:58:05,433.433 INFO    ] Checking for camera pi updates...
[2026-08-29 20:58:05,453.453 INFO    ] 200
[2026-08-29 20:58:05,454.454 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:58:05,479.479 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:58:05,579.579 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:58:05,580.580 INFO    ] No camera update needed
[2026-08-29 20:58:05,582.582 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:58:05,583.583 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:58:05,586.586 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:58:05,589.589 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:58:07,628.628 INFO    ] ================================================
[2026-08-29 20:58:07,644.644 INFO    ] Launching Daemon at Sat Aug 29 20:58:07 IST 2026
[2026-08-29 20:58:07,655.655 INFO    ] ================================================
[2026-08-29 20:58:08,010.010 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:58:08
[2026-08-29 20:58:08,326.326 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:58:08,470.470 INFO    ] Initializing speech engine...
[2026-08-29 20:58:08,475.475 INFO    ] 2026-08-29 20:58:08
[2026-08-29 20:58:08,660.660 INFO    ] 2026-08-29 20:58:08
[2026-08-29 20:58:08,696.696 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:58:08,867.867 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:58:08,880.880 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:58:09,028.028 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:58:09,036.036 INFO    ] time= 29/08/2026 20:58:09
[2026-08-29 20:58:09,042.042 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:58:09,084.084 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:58:09,210.210 INFO    ] No existing commands found in stream
[2026-08-29 20:58:14,240.240 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:58:14,243.243 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-08-29 20:58:16,903.903 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:58:16,904.904 INFO    ] Checking for system updates...
[2026-08-29 20:58:16,925.925 INFO    ] 200
[2026-08-29 20:58:16,927.927 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:58:16,956.956 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:58:16,958.958 INFO    ] No update needed
[2026-08-29 20:58:16,959.959 INFO    ] Checking for camera pi updates...
[2026-08-29 20:58:16,978.978 INFO    ] 200
[2026-08-29 20:58:16,979.979 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:58:17,007.007 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:58:17,090.090 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:58:17,091.091 INFO    ] No camera update needed
[2026-08-29 20:58:17,093.093 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:58:17,094.094 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:58:17,097.097 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:58:17,100.100 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:58:19,138.138 INFO    ] ================================================
[2026-08-29 20:58:19,154.154 INFO    ] Launching Daemon at Sat Aug 29 20:58:19 IST 2026
[2026-08-29 20:58:19,164.164 INFO    ] ================================================
[2026-08-29 20:58:19,516.516 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:58:19
[2026-08-29 20:58:19,835.835 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:58:19,975.975 INFO    ] Initializing speech engine...
[2026-08-29 20:58:19,985.985 INFO    ] 2026-08-29 20:58:19
[2026-08-29 20:58:20,190.190 INFO    ] 2026-08-29 20:58:20
[2026-08-29 20:58:20,219.219 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:58:20,354.354 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:58:20,361.361 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:58:20,546.546 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:58:20,565.565 INFO    ] time= 29/08/2026 20:58:20
[2026-08-29 20:58:20,579.579 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:58:20,589.589 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:58:20,688.688 INFO    ] No existing commands found in stream
[2026-08-29 20:58:25,723.723 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:58:25,726.726 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-08-29 20:58:27,977.977 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 20:58:27,978.978 INFO    ] Checking for system updates...
[2026-08-29 20:58:27,999.999 INFO    ] 200
[2026-08-29 20:58:28,000.000 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:58:28,032.032 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:58:28,034.034 INFO    ] No update needed
[2026-08-29 20:58:28,035.035 INFO    ] Checking for camera pi updates...
[2026-08-29 20:58:28,054.054 INFO    ] 200
[2026-08-29 20:58:28,055.055 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:58:28,080.080 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:58:28,178.178 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:58:28,180.180 INFO    ] No camera update needed
[2026-08-29 20:58:28,181.181 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:58:28,182.182 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:58:28,185.185 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:58:28,188.188 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:58:30,228.228 INFO    ] ================================================
[2026-08-29 20:58:30,244.244 INFO    ] Launching Daemon at Sat Aug 29 20:58:30 IST 2026
[2026-08-29 20:58:30,254.254 INFO    ] ================================================
[2026-08-29 20:58:30,625.625 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:58:30
[2026-08-29 20:58:31,210.210 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:58:31,470.470 INFO    ] Initializing speech engine...
[2026-08-29 20:58:31,477.477 INFO    ] 2026-08-29 20:58:31
[2026-08-29 20:58:31,781.781 INFO    ] 2026-08-29 20:58:31
[2026-08-29 20:58:31,819.819 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:58:32,021.021 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:58:32,029.029 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:58:32,155.155 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:58:32,163.163 INFO    ] time= 29/08/2026 20:58:32
[2026-08-29 20:58:32,187.187 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:58:32,193.193 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:58:32,247.247 INFO    ] No existing commands found in stream
[2026-08-29 20:58:37,260.260 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:58:37,262.262 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-08-29 20:58:38,077.077 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 20:58:38,078.078 INFO    ] Checking for system updates...
[2026-08-29 20:58:38,099.099 INFO    ] 200
[2026-08-29 20:58:38,100.100 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:58:38,158.158 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:58:38,161.161 INFO    ] No update needed
[2026-08-29 20:58:38,165.165 INFO    ] Checking for camera pi updates...
[2026-08-29 20:58:38,203.203 INFO    ] 200
[2026-08-29 20:58:38,207.207 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:58:38,248.248 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:58:38,335.335 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:58:38,338.338 INFO    ] No camera update needed
[2026-08-29 20:58:38,341.341 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:58:38,343.343 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:58:38,350.350 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:58:38,356.356 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:58:40,397.397 INFO    ] ================================================
[2026-08-29 20:58:40,412.412 INFO    ] Launching Daemon at Sat Aug 29 20:58:40 IST 2026
[2026-08-29 20:58:40,423.423 INFO    ] ================================================
[2026-08-29 20:58:40,993.993 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:58:40
[2026-08-29 20:58:41,421.421 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:58:41,679.679 INFO    ] Initializing speech engine...
[2026-08-29 20:58:41,688.688 INFO    ] 2026-08-29 20:58:41
[2026-08-29 20:58:41,940.940 INFO    ] 2026-08-29 20:58:41
[2026-08-29 20:58:41,977.977 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:58:42,152.152 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:58:42,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:58:42,315.315 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:58:42,320.320 INFO    ] time= 29/08/2026 20:58:42
[2026-08-29 20:58:42,336.336 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:58:42,392.392 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:58:42,495.495 INFO    ] No existing commands found in stream
[2026-08-29 20:58:47,531.531 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:58:47,535.535 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-08-29 20:58:50,199.199 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:58:50,201.201 INFO    ] Checking for system updates...
[2026-08-29 20:58:50,221.221 INFO    ] 200
[2026-08-29 20:58:50,223.223 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:58:50,255.255 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:58:50,256.256 INFO    ] No update needed
[2026-08-29 20:58:50,257.257 INFO    ] Checking for camera pi updates...
[2026-08-29 20:58:50,276.276 INFO    ] 200
[2026-08-29 20:58:50,278.278 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:58:50,301.301 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:58:50,397.397 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:58:50,400.400 INFO    ] No camera update needed
[2026-08-29 20:58:50,402.402 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:58:50,405.405 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:58:50,410.410 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:58:50,415.415 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:58:52,456.456 INFO    ] ================================================
[2026-08-29 20:58:52,472.472 INFO    ] Launching Daemon at Sat Aug 29 20:58:52 IST 2026
[2026-08-29 20:58:52,482.482 INFO    ] ================================================
[2026-08-29 20:58:53,140.140 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:58:53
[2026-08-29 20:58:53,596.596 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:58:53,727.727 INFO    ] Initializing speech engine...
[2026-08-29 20:58:53,731.731 INFO    ] 2026-08-29 20:58:53
[2026-08-29 20:58:53,935.935 INFO    ] 2026-08-29 20:58:53
[2026-08-29 20:58:53,973.973 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:58:54,161.161 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:58:54,168.168 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:58:54,296.296 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:58:54,310.310 INFO    ] time= 29/08/2026 20:58:54
[2026-08-29 20:58:54,315.315 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:58:54,333.333 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:58:54,424.424 INFO    ] No existing commands found in stream
[2026-08-29 20:58:59,459.459 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:58:59,462.462 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-08-29 20:59:00,349.349 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:59:00,350.350 INFO    ] Checking for system updates...
[2026-08-29 20:59:00,371.371 INFO    ] 200
[2026-08-29 20:59:00,372.372 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:59:00,402.402 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:59:00,404.404 INFO    ] No update needed
[2026-08-29 20:59:00,405.405 INFO    ] Checking for camera pi updates...
[2026-08-29 20:59:00,425.425 INFO    ] 200
[2026-08-29 20:59:00,427.427 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:59:00,449.449 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:59:00,525.525 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:59:00,526.526 INFO    ] No camera update needed
[2026-08-29 20:59:00,527.527 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:59:00,529.529 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:59:00,531.531 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:59:00,534.534 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:59:02,575.575 INFO    ] ================================================
[2026-08-29 20:59:02,592.592 INFO    ] Launching Daemon at Sat Aug 29 20:59:02 IST 2026
[2026-08-29 20:59:02,608.608 INFO    ] ================================================
[2026-08-29 20:59:03,255.255 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:59:03
[2026-08-29 20:59:03,858.858 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:59:04,107.107 INFO    ] Initializing speech engine...
[2026-08-29 20:59:04,122.122 INFO    ] 2026-08-29 20:59:04
[2026-08-29 20:59:04,388.388 INFO    ] 2026-08-29 20:59:04
[2026-08-29 20:59:04,423.423 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:59:04,599.599 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:59:04,626.626 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:59:04,759.759 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:59:04,766.766 INFO    ] time= 29/08/2026 20:59:04
[2026-08-29 20:59:04,773.773 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:59:04,820.820 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:59:04,936.936 INFO    ] No existing commands found in stream
[2026-08-29 20:59:09,966.966 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:59:09,974.974 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 20:59:13,465.465 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:59:13,466.466 INFO    ] Checking for system updates...
[2026-08-29 20:59:13,487.487 INFO    ] 200
[2026-08-29 20:59:13,488.488 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:59:13,520.520 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:59:13,522.522 INFO    ] No update needed
[2026-08-29 20:59:13,523.523 INFO    ] Checking for camera pi updates...
[2026-08-29 20:59:13,543.543 INFO    ] 200
[2026-08-29 20:59:13,544.544 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:59:13,571.571 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:59:13,653.653 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:59:13,655.655 INFO    ] No camera update needed
[2026-08-29 20:59:13,656.656 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:59:13,657.657 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:59:13,660.660 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:59:13,663.663 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:59:15,703.703 INFO    ] ================================================
[2026-08-29 20:59:15,718.718 INFO    ] Launching Daemon at Sat Aug 29 20:59:15 IST 2026
[2026-08-29 20:59:15,729.729 INFO    ] ================================================
[2026-08-29 20:59:16,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:59:16
[2026-08-29 20:59:16,376.376 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:59:16,513.513 INFO    ] Initializing speech engine...
[2026-08-29 20:59:16,524.524 INFO    ] 2026-08-29 20:59:16
[2026-08-29 20:59:16,735.735 INFO    ] 2026-08-29 20:59:16
[2026-08-29 20:59:16,765.765 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:59:16,889.889 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:59:16,953.953 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:59:17,098.098 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:59:17,161.161 INFO    ] time= 29/08/2026 20:59:17
[2026-08-29 20:59:17,186.186 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:59:17,192.192 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:59:17,261.261 INFO    ] No existing commands found in stream
[2026-08-29 20:59:22,271.271 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:59:22,274.274 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-08-29 20:59:26,165.165 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 20:59:26,166.166 INFO    ] Checking for system updates...
[2026-08-29 20:59:26,189.189 INFO    ] 200
[2026-08-29 20:59:26,190.190 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:59:26,223.223 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:59:26,225.225 INFO    ] No update needed
[2026-08-29 20:59:26,226.226 INFO    ] Checking for camera pi updates...
[2026-08-29 20:59:26,246.246 INFO    ] 200
[2026-08-29 20:59:26,247.247 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:59:26,270.270 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:59:26,368.368 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:59:26,369.369 INFO    ] No camera update needed
[2026-08-29 20:59:26,370.370 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:59:26,372.372 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:59:26,375.375 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:59:26,378.378 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:59:28,415.415 INFO    ] ================================================
[2026-08-29 20:59:28,430.430 INFO    ] Launching Daemon at Sat Aug 29 20:59:28 IST 2026
[2026-08-29 20:59:28,441.441 INFO    ] ================================================
[2026-08-29 20:59:29,001.001 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:59:28
[2026-08-29 20:59:29,688.688 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:59:29,991.991 INFO    ] Initializing speech engine...
[2026-08-29 20:59:30,000.000 INFO    ] 2026-08-29 20:59:29
[2026-08-29 20:59:30,272.272 INFO    ] 2026-08-29 20:59:30
[2026-08-29 20:59:30,333.333 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:59:30,570.570 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:59:30,580.580 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:59:30,717.717 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:59:30,764.764 INFO    ] time= 29/08/2026 20:59:30
[2026-08-29 20:59:30,839.839 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:59:30,854.854 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:59:30,911.911 INFO    ] No existing commands found in stream
[2026-08-29 20:59:35,924.924 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:59:35,927.927 INFO    ] Waiting 2.42 seconds before fallback handling...
[2026-08-29 20:59:38,690.690 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 20:59:38,692.692 INFO    ] Checking for system updates...
[2026-08-29 20:59:38,714.714 INFO    ] 200
[2026-08-29 20:59:38,716.716 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:59:38,748.748 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:59:38,749.749 INFO    ] No update needed
[2026-08-29 20:59:38,750.750 INFO    ] Checking for camera pi updates...
[2026-08-29 20:59:38,769.769 INFO    ] 200
[2026-08-29 20:59:38,770.770 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:59:38,793.793 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:59:38,872.872 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:59:38,875.875 INFO    ] No camera update needed
[2026-08-29 20:59:38,877.877 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:59:38,878.878 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:59:38,882.882 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:59:38,886.886 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:59:40,926.926 INFO    ] ================================================
[2026-08-29 20:59:40,942.942 INFO    ] Launching Daemon at Sat Aug 29 20:59:40 IST 2026
[2026-08-29 20:59:40,953.953 INFO    ] ================================================
[2026-08-29 20:59:41,569.569 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:59:41
[2026-08-29 20:59:42,157.157 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:59:42,310.310 INFO    ] Initializing speech engine...
[2026-08-29 20:59:42,315.315 INFO    ] 2026-08-29 20:59:42
[2026-08-29 20:59:42,521.521 INFO    ] 2026-08-29 20:59:42
[2026-08-29 20:59:42,550.550 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:59:42,744.744 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:59:42,760.760 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:59:42,890.890 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:59:42,945.945 INFO    ] time= 29/08/2026 20:59:42
[2026-08-29 20:59:42,966.966 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:59:42,973.973 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:59:43,040.040 INFO    ] No existing commands found in stream
[2026-08-29 20:59:48,050.050 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 20:59:48,053.053 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-08-29 20:59:52,182.182 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 20:59:52,183.183 INFO    ] Checking for system updates...
[2026-08-29 20:59:52,204.204 INFO    ] 200
[2026-08-29 20:59:52,205.205 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:59:52,235.235 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 20:59:52,237.237 INFO    ] No update needed
[2026-08-29 20:59:52,238.238 INFO    ] Checking for camera pi updates...
[2026-08-29 20:59:52,259.259 INFO    ] 200
[2026-08-29 20:59:52,260.260 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 20:59:52,283.283 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 20:59:52,378.378 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 20:59:52,380.380 INFO    ] No camera update needed
[2026-08-29 20:59:52,382.382 INFO    ] Script finished. Safe exiting...
[2026-08-29 20:59:52,385.385 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 20:59:52,390.390 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 20:59:52,395.395 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 20:59:54,436.436 INFO    ] ================================================
[2026-08-29 20:59:54,452.452 INFO    ] Launching Daemon at Sat Aug 29 20:59:54 IST 2026
[2026-08-29 20:59:54,465.465 INFO    ] ================================================
[2026-08-29 20:59:55,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 20:59:55
[2026-08-29 20:59:55,568.568 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 20:59:55,715.715 INFO    ] Initializing speech engine...
[2026-08-29 20:59:55,718.718 INFO    ] 2026-08-29 20:59:55
[2026-08-29 20:59:55,923.923 INFO    ] 2026-08-29 20:59:55
[2026-08-29 20:59:55,951.951 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 20:59:56,074.074 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 20:59:56,132.132 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 20:59:56,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 20:59:56,340.340 INFO    ] time= 29/08/2026 20:59:56
[2026-08-29 20:59:56,367.367 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 20:59:56,369.369 INFO    ] Checking for existing commands in stream...
[2026-08-29 20:59:56,439.439 INFO    ] No existing commands found in stream
[2026-08-29 21:00:01,450.450 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:00:01,453.453 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-08-29 21:00:02,083.083 INFO    ] <class 'urllib3.exceptions.MaxRetryError'>
[2026-08-29 21:00:02,253.253 INFO    ] ("HTTPSConnectionPool(host='neuustore.com', port=443): Max retries exceeded with url: /tm/process-order/getorder/TM07201911 (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x73d505d0>: Failed to establish a new connection: [Errno 111] Connection refused',))",)
[2026-08-29 21:00:02,304.304 INFO    ] HTTPSConnectionPool(host='neuustore.com', port=443): Max retries exceeded with url: /tm/process-order/getorder/TM07201911 (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x73d505d0>: Failed to establish a new connection: [Errno 111] Connection refused',))
[2026-08-29 21:00:02,344.344 INFO    ] None
[2026-08-29 21:00:02,348.348 INFO    ] Checking for system updates...
[2026-08-29 21:00:02,502.502 INFO    ] 200
[2026-08-29 21:00:02,506.506 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:00:02,766.766 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:00:02,769.769 INFO    ] No update needed
[2026-08-29 21:00:02,777.777 INFO    ] Checking for camera pi updates...
[2026-08-29 21:00:02,953.953 INFO    ] 200
[2026-08-29 21:00:02,956.956 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:00:03,237.237 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:00:04,117.117 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:00:04,120.120 INFO    ] No camera update needed
[2026-08-29 21:00:04,134.134 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:00:04,137.137 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:00:04,165.165 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:00:04,189.189 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:00:06,263.263 INFO    ] ================================================
[2026-08-29 21:00:06,279.279 INFO    ] Launching Daemon at Sat Aug 29 21:00:06 IST 2026
[2026-08-29 21:00:06,290.290 INFO    ] ================================================
[2026-08-29 21:00:06,867.867 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:00:06
[2026-08-29 21:00:07,452.452 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:00:07,725.725 INFO    ] Initializing speech engine...
[2026-08-29 21:00:07,734.734 INFO    ] 2026-08-29 21:00:07
[2026-08-29 21:00:07,986.986 INFO    ] 2026-08-29 21:00:07
[2026-08-29 21:00:08,053.053 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:00:08,198.198 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:00:08,211.211 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:00:08,356.356 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:00:08,363.363 INFO    ] time= 29/08/2026 21:00:08
[2026-08-29 21:00:08,367.367 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:00:08,373.373 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:00:08,480.480 INFO    ] No existing commands found in stream
[2026-08-29 21:00:13,490.490 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:00:13,493.493 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-08-29 21:00:16,829.829 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:00:16,831.831 INFO    ] Checking for system updates...
[2026-08-29 21:00:16,851.851 INFO    ] 200
[2026-08-29 21:00:16,853.853 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:00:16,885.885 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:00:16,886.886 INFO    ] No update needed
[2026-08-29 21:00:16,888.888 INFO    ] Checking for camera pi updates...
[2026-08-29 21:00:16,907.907 INFO    ] 200
[2026-08-29 21:00:16,908.908 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:00:16,931.931 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:00:17,006.006 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:00:17,007.007 INFO    ] No camera update needed
[2026-08-29 21:00:17,008.008 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:00:17,009.009 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:00:17,012.012 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:00:17,015.015 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:00:19,058.058 INFO    ] ================================================
[2026-08-29 21:00:19,075.075 INFO    ] Launching Daemon at Sat Aug 29 21:00:19 IST 2026
[2026-08-29 21:00:19,086.086 INFO    ] ================================================
[2026-08-29 21:00:19,626.626 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:00:19
[2026-08-29 21:00:20,223.223 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:00:20,475.475 INFO    ] Initializing speech engine...
[2026-08-29 21:00:20,480.480 INFO    ] 2026-08-29 21:00:20
[2026-08-29 21:00:20,754.754 INFO    ] 2026-08-29 21:00:20
[2026-08-29 21:00:20,790.790 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:00:20,968.968 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:00:20,981.981 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:00:21,125.125 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:00:21,133.133 INFO    ] time= 29/08/2026 21:00:21
[2026-08-29 21:00:21,138.138 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:00:21,144.144 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:00:21,213.213 INFO    ] No existing commands found in stream
[2026-08-29 21:00:26,243.243 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:00:26,246.246 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 21:00:28,573.573 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:00:28,575.575 INFO    ] Checking for system updates...
[2026-08-29 21:00:28,596.596 INFO    ] 200
[2026-08-29 21:00:28,597.597 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:00:28,627.627 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:00:28,629.629 INFO    ] No update needed
[2026-08-29 21:00:28,630.630 INFO    ] Checking for camera pi updates...
[2026-08-29 21:00:28,650.650 INFO    ] 200
[2026-08-29 21:00:28,652.652 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:00:28,684.684 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:00:28,879.879 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:00:28,882.882 INFO    ] No camera update needed
[2026-08-29 21:00:28,884.884 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:00:28,887.887 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:00:28,892.892 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:00:28,897.897 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:00:30,940.940 INFO    ] ================================================
[2026-08-29 21:00:30,956.956 INFO    ] Launching Daemon at Sat Aug 29 21:00:30 IST 2026
[2026-08-29 21:00:30,967.967 INFO    ] ================================================
[2026-08-29 21:00:31,548.548 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:00:31
[2026-08-29 21:00:32,093.093 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:00:32,365.365 INFO    ] Initializing speech engine...
[2026-08-29 21:00:32,383.383 INFO    ] 2026-08-29 21:00:32
[2026-08-29 21:00:32,663.663 INFO    ] 2026-08-29 21:00:32
[2026-08-29 21:00:32,699.699 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:00:32,891.891 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:00:32,906.906 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:00:33,018.018 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:00:33,037.037 INFO    ] time= 29/08/2026 21:00:33
[2026-08-29 21:00:33,060.060 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:00:33,065.065 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:00:33,156.156 INFO    ] No existing commands found in stream
[2026-08-29 21:00:38,193.193 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:00:38,196.196 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-08-29 21:00:39,496.496 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:00:39,498.498 INFO    ] Checking for system updates...
[2026-08-29 21:00:39,519.519 INFO    ] 200
[2026-08-29 21:00:39,520.520 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:00:39,553.553 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:00:39,555.555 INFO    ] No update needed
[2026-08-29 21:00:39,556.556 INFO    ] Checking for camera pi updates...
[2026-08-29 21:00:39,578.578 INFO    ] 200
[2026-08-29 21:00:39,579.579 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:00:39,603.603 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:00:39,705.705 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:00:39,707.707 INFO    ] No camera update needed
[2026-08-29 21:00:39,708.708 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:00:39,710.710 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:00:39,713.713 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:00:39,716.716 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:00:41,759.759 INFO    ] ================================================
[2026-08-29 21:00:41,775.775 INFO    ] Launching Daemon at Sat Aug 29 21:00:41 IST 2026
[2026-08-29 21:00:41,787.787 INFO    ] ================================================
[2026-08-29 21:00:42,359.359 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:00:42
[2026-08-29 21:00:42,945.945 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:00:43,192.192 INFO    ] Initializing speech engine...
[2026-08-29 21:00:43,207.207 INFO    ] 2026-08-29 21:00:43
[2026-08-29 21:00:43,469.469 INFO    ] 2026-08-29 21:00:43
[2026-08-29 21:00:43,505.505 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:00:43,677.677 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:00:43,688.688 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:00:43,798.798 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:00:43,801.801 INFO    ] time= 29/08/2026 21:00:43
[2026-08-29 21:00:43,807.807 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:00:43,812.812 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:00:43,914.914 INFO    ] No existing commands found in stream
[2026-08-29 21:00:48,926.926 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:00:48,929.929 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 21:00:52,302.302 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:00:52,305.305 INFO    ] Checking for system updates...
[2026-08-29 21:00:52,340.340 INFO    ] 200
[2026-08-29 21:00:52,342.342 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:00:52,394.394 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:00:52,397.397 INFO    ] No update needed
[2026-08-29 21:00:52,399.399 INFO    ] Checking for camera pi updates...
[2026-08-29 21:00:52,437.437 INFO    ] 200
[2026-08-29 21:00:52,439.439 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:00:52,480.480 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:00:52,599.599 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:00:52,601.601 INFO    ] No camera update needed
[2026-08-29 21:00:52,604.604 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:00:52,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:00:52,611.611 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:00:52,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:00:54,657.657 INFO    ] ================================================
[2026-08-29 21:00:54,673.673 INFO    ] Launching Daemon at Sat Aug 29 21:00:54 IST 2026
[2026-08-29 21:00:54,684.684 INFO    ] ================================================
[2026-08-29 21:00:55,072.072 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:00:55
[2026-08-29 21:00:55,684.684 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:00:55,984.984 INFO    ] Initializing speech engine...
[2026-08-29 21:00:55,990.990 INFO    ] 2026-08-29 21:00:55
[2026-08-29 21:00:56,265.265 INFO    ] 2026-08-29 21:00:56
[2026-08-29 21:00:56,327.327 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:00:56,815.815 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:00:56,828.828 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:00:56,992.992 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:00:57,053.053 INFO    ] time= 29/08/2026 21:00:57
[2026-08-29 21:00:57,098.098 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:00:57,122.122 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:00:57,260.260 INFO    ] No existing commands found in stream
[2026-08-29 21:01:02,274.274 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:01:02,278.278 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-08-29 21:01:05,403.403 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:01:05,405.405 INFO    ] Checking for system updates...
[2026-08-29 21:01:05,446.446 INFO    ] 200
[2026-08-29 21:01:05,448.448 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:01:05,500.500 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:01:05,503.503 INFO    ] No update needed
[2026-08-29 21:01:05,506.506 INFO    ] Checking for camera pi updates...
[2026-08-29 21:01:05,540.540 INFO    ] 200
[2026-08-29 21:01:05,543.543 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:01:05,584.584 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:01:05,675.675 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:01:05,678.678 INFO    ] No camera update needed
[2026-08-29 21:01:05,680.680 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:01:05,683.683 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:01:05,689.689 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:01:05,695.695 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:01:07,735.735 INFO    ] ================================================
[2026-08-29 21:01:07,750.750 INFO    ] Launching Daemon at Sat Aug 29 21:01:07 IST 2026
[2026-08-29 21:01:07,761.761 INFO    ] ================================================
[2026-08-29 21:01:08,156.156 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:01:08
[2026-08-29 21:01:08,499.499 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:01:08,641.641 INFO    ] Initializing speech engine...
[2026-08-29 21:01:08,656.656 INFO    ] 2026-08-29 21:01:08
[2026-08-29 21:01:08,902.902 INFO    ] 2026-08-29 21:01:08
[2026-08-29 21:01:08,968.968 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:01:09,130.130 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:01:09,139.139 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:01:09,315.315 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:01:09,342.342 INFO    ] time= 29/08/2026 21:01:09
[2026-08-29 21:01:09,359.359 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:01:09,379.379 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:01:09,497.497 INFO    ] No existing commands found in stream
[2026-08-29 21:01:14,511.511 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:01:14,515.515 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-08-29 21:01:18,610.610 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:01:18,611.611 INFO    ] Checking for system updates...
[2026-08-29 21:01:18,632.632 INFO    ] 200
[2026-08-29 21:01:18,634.634 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:01:18,668.668 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:01:18,669.669 INFO    ] No update needed
[2026-08-29 21:01:18,670.670 INFO    ] Checking for camera pi updates...
[2026-08-29 21:01:18,689.689 INFO    ] 200
[2026-08-29 21:01:18,691.691 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:01:18,715.715 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:01:18,788.788 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:01:18,789.789 INFO    ] No camera update needed
[2026-08-29 21:01:18,790.790 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:01:18,792.792 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:01:18,795.795 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:01:18,797.797 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:01:20,836.836 INFO    ] ================================================
[2026-08-29 21:01:20,851.851 INFO    ] Launching Daemon at Sat Aug 29 21:01:20 IST 2026
[2026-08-29 21:01:20,862.862 INFO    ] ================================================
[2026-08-29 21:01:21,265.265 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:01:21
[2026-08-29 21:01:21,850.850 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:01:22,142.142 INFO    ] Initializing speech engine...
[2026-08-29 21:01:22,150.150 INFO    ] 2026-08-29 21:01:22
[2026-08-29 21:01:22,429.429 INFO    ] 2026-08-29 21:01:22
[2026-08-29 21:01:22,466.466 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:01:22,728.728 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:01:22,739.739 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:01:22,877.877 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:01:22,935.935 INFO    ] time= 29/08/2026 21:01:22
[2026-08-29 21:01:22,985.985 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:01:23,017.017 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:01:23,071.071 INFO    ] No existing commands found in stream
[2026-08-29 21:01:28,084.084 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:01:28,087.087 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-08-29 21:01:28,684.684 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:01:28,686.686 INFO    ] Checking for system updates...
[2026-08-29 21:01:28,709.709 INFO    ] 200
[2026-08-29 21:01:28,710.710 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:01:28,743.743 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:01:28,745.745 INFO    ] No update needed
[2026-08-29 21:01:28,746.746 INFO    ] Checking for camera pi updates...
[2026-08-29 21:01:28,766.766 INFO    ] 200
[2026-08-29 21:01:28,768.768 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:01:28,793.793 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:01:28,872.872 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:01:28,873.873 INFO    ] No camera update needed
[2026-08-29 21:01:28,875.875 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:01:28,876.876 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:01:28,879.879 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:01:28,882.882 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:01:30,926.926 INFO    ] ================================================
[2026-08-29 21:01:30,941.941 INFO    ] Launching Daemon at Sat Aug 29 21:01:30 IST 2026
[2026-08-29 21:01:30,951.951 INFO    ] ================================================
[2026-08-29 21:01:31,287.287 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:01:31
[2026-08-29 21:01:31,708.708 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:01:31,989.989 INFO    ] Initializing speech engine...
[2026-08-29 21:01:32,012.012 INFO    ] 2026-08-29 21:01:31
[2026-08-29 21:01:32,291.291 INFO    ] 2026-08-29 21:01:32
[2026-08-29 21:01:32,330.330 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:01:32,508.508 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:01:32,523.523 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:01:32,672.672 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:01:32,681.681 INFO    ] time= 29/08/2026 21:01:32
[2026-08-29 21:01:32,690.690 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:01:32,742.742 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:01:32,857.857 INFO    ] No existing commands found in stream
[2026-08-29 21:01:37,892.892 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:01:37,896.896 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-08-29 21:01:40,195.195 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:01:40,197.197 INFO    ] Checking for system updates...
[2026-08-29 21:01:40,217.217 INFO    ] 200
[2026-08-29 21:01:40,218.218 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:01:40,248.248 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:01:40,250.250 INFO    ] No update needed
[2026-08-29 21:01:40,251.251 INFO    ] Checking for camera pi updates...
[2026-08-29 21:01:40,271.271 INFO    ] 200
[2026-08-29 21:01:40,272.272 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:01:40,310.310 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:01:40,385.385 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:01:40,387.387 INFO    ] No camera update needed
[2026-08-29 21:01:40,390.390 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:01:40,392.392 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:01:40,397.397 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:01:40,402.402 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:01:42,443.443 INFO    ] ================================================
[2026-08-29 21:01:42,458.458 INFO    ] Launching Daemon at Sat Aug 29 21:01:42 IST 2026
[2026-08-29 21:01:42,469.469 INFO    ] ================================================
[2026-08-29 21:01:43,146.146 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:01:43
[2026-08-29 21:01:43,624.624 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:01:43,776.776 INFO    ] Initializing speech engine...
[2026-08-29 21:01:43,783.783 INFO    ] 2026-08-29 21:01:43
[2026-08-29 21:01:43,992.992 INFO    ] 2026-08-29 21:01:43
[2026-08-29 21:01:44,021.021 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:01:44,144.144 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:01:44,189.189 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:01:44,349.349 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:01:44,416.416 INFO    ] time= 29/08/2026 21:01:44
[2026-08-29 21:01:44,441.441 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:01:44,448.448 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:01:44,514.514 INFO    ] No existing commands found in stream
[2026-08-29 21:01:49,525.525 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:01:49,528.528 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 21:01:51,457.457 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:01:51,459.459 INFO    ] Checking for system updates...
[2026-08-29 21:01:51,481.481 INFO    ] 200
[2026-08-29 21:01:51,483.483 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:01:51,516.516 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:01:51,517.517 INFO    ] No update needed
[2026-08-29 21:01:51,518.518 INFO    ] Checking for camera pi updates...
[2026-08-29 21:01:51,542.542 INFO    ] 200
[2026-08-29 21:01:51,544.544 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:01:51,572.572 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:01:51,656.656 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:01:51,657.657 INFO    ] No camera update needed
[2026-08-29 21:01:51,659.659 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:01:51,660.660 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:01:51,663.663 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:01:51,667.667 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:01:53,707.707 INFO    ] ================================================
[2026-08-29 21:01:53,723.723 INFO    ] Launching Daemon at Sat Aug 29 21:01:53 IST 2026
[2026-08-29 21:01:53,734.734 INFO    ] ================================================
[2026-08-29 21:01:54,239.239 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:01:54
[2026-08-29 21:01:54,827.827 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:01:55,099.099 INFO    ] Initializing speech engine...
[2026-08-29 21:01:55,111.111 INFO    ] 2026-08-29 21:01:55
[2026-08-29 21:01:55,365.365 INFO    ] 2026-08-29 21:01:55
[2026-08-29 21:01:55,399.399 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:01:55,579.579 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:01:55,592.592 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:01:55,739.739 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:01:55,748.748 INFO    ] time= 29/08/2026 21:01:55
[2026-08-29 21:01:55,758.758 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:01:55,821.821 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:01:55,936.936 INFO    ] No existing commands found in stream
[2026-08-29 21:02:00,963.963 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:02:00,967.967 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-08-29 21:02:01,719.719 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:02:01,723.723 INFO    ] Checking for system updates...
[2026-08-29 21:02:01,781.781 INFO    ] 200
[2026-08-29 21:02:01,784.784 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:02:01,847.847 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:02:01,850.850 INFO    ] No update needed
[2026-08-29 21:02:01,854.854 INFO    ] Checking for camera pi updates...
[2026-08-29 21:02:01,898.898 INFO    ] 200
[2026-08-29 21:02:01,901.901 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:02:01,958.958 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:02:02,109.109 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:02:02,112.112 INFO    ] No camera update needed
[2026-08-29 21:02:02,116.116 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:02:02,119.119 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:02:02,127.127 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:02:02,135.135 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:02:04,178.178 INFO    ] ================================================
[2026-08-29 21:02:04,194.194 INFO    ] Launching Daemon at Sat Aug 29 21:02:04 IST 2026
[2026-08-29 21:02:04,205.205 INFO    ] ================================================
[2026-08-29 21:02:04,643.643 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:02:04
[2026-08-29 21:02:04,958.958 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:02:05,195.195 INFO    ] Initializing speech engine...
[2026-08-29 21:02:05,215.215 INFO    ] 2026-08-29 21:02:05
[2026-08-29 21:02:05,486.486 INFO    ] 2026-08-29 21:02:05
[2026-08-29 21:02:05,521.521 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:02:05,718.718 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:02:05,725.725 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:02:05,857.857 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:02:05,863.863 INFO    ] time= 29/08/2026 21:02:05
[2026-08-29 21:02:05,869.869 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:02:05,873.873 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:02:05,990.990 INFO    ] No existing commands found in stream
[2026-08-29 21:02:11,003.003 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:02:11,006.006 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-08-29 21:02:12,991.991 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:02:12,993.993 INFO    ] Checking for system updates...
[2026-08-29 21:02:13,015.015 INFO    ] 200
[2026-08-29 21:02:13,016.016 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:02:13,046.046 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:02:13,047.047 INFO    ] No update needed
[2026-08-29 21:02:13,049.049 INFO    ] Checking for camera pi updates...
[2026-08-29 21:02:13,069.069 INFO    ] 200
[2026-08-29 21:02:13,071.071 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:02:13,097.097 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:02:13,156.156 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:02:13,158.158 INFO    ] No camera update needed
[2026-08-29 21:02:13,159.159 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:02:13,161.161 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:02:13,164.164 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:02:13,167.167 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:02:15,208.208 INFO    ] ================================================
[2026-08-29 21:02:15,223.223 INFO    ] Launching Daemon at Sat Aug 29 21:02:15 IST 2026
[2026-08-29 21:02:15,234.234 INFO    ] ================================================
[2026-08-29 21:02:15,573.573 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:02:15
[2026-08-29 21:02:15,891.891 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:02:16,029.029 INFO    ] Initializing speech engine...
[2026-08-29 21:02:16,038.038 INFO    ] 2026-08-29 21:02:16
[2026-08-29 21:02:16,242.242 INFO    ] 2026-08-29 21:02:16
[2026-08-29 21:02:16,271.271 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:02:16,466.466 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:02:16,480.480 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:02:16,615.615 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:02:16,661.661 INFO    ] time= 29/08/2026 21:02:16
[2026-08-29 21:02:16,686.686 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:02:16,687.687 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:02:16,759.759 INFO    ] No existing commands found in stream
[2026-08-29 21:02:21,768.768 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:02:21,771.771 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 21:02:22,228.228 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:02:22,231.231 INFO    ] Checking for system updates...
[2026-08-29 21:02:22,266.266 INFO    ] 200
[2026-08-29 21:02:22,269.269 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:02:22,346.346 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:02:22,348.348 INFO    ] No update needed
[2026-08-29 21:02:22,350.350 INFO    ] Checking for camera pi updates...
[2026-08-29 21:02:22,384.384 INFO    ] 200
[2026-08-29 21:02:22,386.386 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:02:22,432.432 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:02:22,508.508 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:02:22,510.510 INFO    ] No camera update needed
[2026-08-29 21:02:22,513.513 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:02:22,515.515 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:02:22,520.520 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:02:22,525.525 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:02:24,566.566 INFO    ] ================================================
[2026-08-29 21:02:24,581.581 INFO    ] Launching Daemon at Sat Aug 29 21:02:24 IST 2026
[2026-08-29 21:02:24,593.593 INFO    ] ================================================
[2026-08-29 21:02:25,179.179 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:02:25
[2026-08-29 21:02:25,540.540 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:02:25,675.675 INFO    ] Initializing speech engine...
[2026-08-29 21:02:25,684.684 INFO    ] 2026-08-29 21:02:25
[2026-08-29 21:02:25,909.909 INFO    ] 2026-08-29 21:02:25
[2026-08-29 21:02:25,940.940 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:02:26,036.036 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:02:26,040.040 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:02:26,150.150 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:02:26,159.159 INFO    ] time= 29/08/2026 21:02:26
[2026-08-29 21:02:26,165.165 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:02:26,180.180 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:02:26,259.259 INFO    ] No existing commands found in stream
[2026-08-29 21:02:31,288.288 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:02:31,291.291 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-08-29 21:02:35,481.481 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:02:35,483.483 INFO    ] Checking for system updates...
[2026-08-29 21:02:35,503.503 INFO    ] 200
[2026-08-29 21:02:35,504.504 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:02:35,534.534 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:02:35,536.536 INFO    ] No update needed
[2026-08-29 21:02:35,537.537 INFO    ] Checking for camera pi updates...
[2026-08-29 21:02:35,556.556 INFO    ] 200
[2026-08-29 21:02:35,557.557 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:02:35,580.580 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:02:35,663.663 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:02:35,664.664 INFO    ] No camera update needed
[2026-08-29 21:02:35,665.665 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:02:35,666.666 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:02:35,669.669 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:02:35,672.672 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:02:37,711.711 INFO    ] ================================================
[2026-08-29 21:02:37,726.726 INFO    ] Launching Daemon at Sat Aug 29 21:02:37 IST 2026
[2026-08-29 21:02:37,737.737 INFO    ] ================================================
[2026-08-29 21:02:38,126.126 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:02:38
[2026-08-29 21:02:38,465.465 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:02:38,611.611 INFO    ] Initializing speech engine...
[2026-08-29 21:02:38,621.621 INFO    ] 2026-08-29 21:02:38
[2026-08-29 21:02:38,869.869 INFO    ] 2026-08-29 21:02:38
[2026-08-29 21:02:38,928.928 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:02:39,091.091 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:02:39,100.100 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:02:39,277.277 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:02:39,304.304 INFO    ] time= 29/08/2026 21:02:39
[2026-08-29 21:02:39,320.320 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:02:39,330.330 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:02:39,454.454 INFO    ] No existing commands found in stream
[2026-08-29 21:02:44,470.470 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:02:44,474.474 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-08-29 21:02:48,374.374 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:02:48,377.377 INFO    ] Checking for system updates...
[2026-08-29 21:02:48,418.418 INFO    ] 200
[2026-08-29 21:02:48,421.421 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:02:48,480.480 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:02:48,483.483 INFO    ] No update needed
[2026-08-29 21:02:48,486.486 INFO    ] Checking for camera pi updates...
[2026-08-29 21:02:48,521.521 INFO    ] 200
[2026-08-29 21:02:48,524.524 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:02:48,570.570 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:02:48,649.649 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:02:48,652.652 INFO    ] No camera update needed
[2026-08-29 21:02:48,655.655 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:02:48,657.657 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:02:48,663.663 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:02:48,669.669 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:02:50,711.711 INFO    ] ================================================
[2026-08-29 21:02:50,726.726 INFO    ] Launching Daemon at Sat Aug 29 21:02:50 IST 2026
[2026-08-29 21:02:50,737.737 INFO    ] ================================================
[2026-08-29 21:02:51,101.101 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:02:51
[2026-08-29 21:02:51,418.418 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:02:51,561.561 INFO    ] Initializing speech engine...
[2026-08-29 21:02:51,566.566 INFO    ] 2026-08-29 21:02:51
[2026-08-29 21:02:51,763.763 INFO    ] 2026-08-29 21:02:51
[2026-08-29 21:02:51,843.843 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:02:51,990.990 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:02:52,000.000 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:02:52,131.131 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:02:52,173.173 INFO    ] time= 29/08/2026 21:02:52
[2026-08-29 21:02:52,227.227 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:02:52,264.264 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:02:52,315.315 INFO    ] No existing commands found in stream
[2026-08-29 21:02:57,327.327 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:02:57,330.330 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-08-29 21:02:58,127.127 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:02:58,128.128 INFO    ] Checking for system updates...
[2026-08-29 21:02:58,148.148 INFO    ] 200
[2026-08-29 21:02:58,150.150 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:02:58,183.183 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:02:58,184.184 INFO    ] No update needed
[2026-08-29 21:02:58,185.185 INFO    ] Checking for camera pi updates...
[2026-08-29 21:02:58,204.204 INFO    ] 200
[2026-08-29 21:02:58,206.206 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:02:58,230.230 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:02:58,337.337 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:02:58,340.340 INFO    ] No camera update needed
[2026-08-29 21:02:58,342.342 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:02:58,345.345 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:02:58,350.350 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:02:58,355.355 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:03:00,397.397 INFO    ] ================================================
[2026-08-29 21:03:00,412.412 INFO    ] Launching Daemon at Sat Aug 29 21:03:00 IST 2026
[2026-08-29 21:03:00,424.424 INFO    ] ================================================
[2026-08-29 21:03:00,992.992 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:03:00
[2026-08-29 21:03:01,644.644 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:03:01,951.951 INFO    ] Initializing speech engine...
[2026-08-29 21:03:01,972.972 INFO    ] 2026-08-29 21:03:01
[2026-08-29 21:03:02,265.265 INFO    ] 2026-08-29 21:03:02
[2026-08-29 21:03:02,335.335 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:03:02,513.513 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:03:02,523.523 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:03:02,654.654 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:03:02,660.660 INFO    ] time= 29/08/2026 21:03:02
[2026-08-29 21:03:02,665.665 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:03:02,689.689 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:03:02,748.748 INFO    ] No existing commands found in stream
[2026-08-29 21:03:07,759.759 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:03:07,761.761 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-08-29 21:03:10,602.602 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:03:10,604.604 INFO    ] Checking for system updates...
[2026-08-29 21:03:10,625.625 INFO    ] 200
[2026-08-29 21:03:10,626.626 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:03:10,656.656 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:03:10,657.657 INFO    ] No update needed
[2026-08-29 21:03:10,659.659 INFO    ] Checking for camera pi updates...
[2026-08-29 21:03:10,678.678 INFO    ] 200
[2026-08-29 21:03:10,679.679 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:03:10,703.703 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:03:10,787.787 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:03:10,789.789 INFO    ] No camera update needed
[2026-08-29 21:03:10,790.790 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:03:10,791.791 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:03:10,795.795 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:03:10,798.798 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:03:12,838.838 INFO    ] ================================================
[2026-08-29 21:03:12,853.853 INFO    ] Launching Daemon at Sat Aug 29 21:03:12 IST 2026
[2026-08-29 21:03:12,864.864 INFO    ] ================================================
[2026-08-29 21:03:13,226.226 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:03:13
[2026-08-29 21:03:13,568.568 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:03:13,720.720 INFO    ] Initializing speech engine...
[2026-08-29 21:03:13,727.727 INFO    ] 2026-08-29 21:03:13
[2026-08-29 21:03:13,977.977 INFO    ] 2026-08-29 21:03:13
[2026-08-29 21:03:14,033.033 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:03:14,198.198 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:03:14,207.207 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:03:14,388.388 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:03:14,410.410 INFO    ] time= 29/08/2026 21:03:14
[2026-08-29 21:03:14,429.429 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:03:14,459.459 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:03:14,563.563 INFO    ] No existing commands found in stream
[2026-08-29 21:03:19,578.578 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:03:19,581.581 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-08-29 21:03:20,855.855 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:03:20,857.857 INFO    ] Checking for system updates...
[2026-08-29 21:03:20,877.877 INFO    ] 200
[2026-08-29 21:03:20,879.879 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:03:20,909.909 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:03:20,910.910 INFO    ] No update needed
[2026-08-29 21:03:20,913.913 INFO    ] Checking for camera pi updates...
[2026-08-29 21:03:20,940.940 INFO    ] 200
[2026-08-29 21:03:20,942.942 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:03:21,022.022 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:03:21,134.134 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:03:21,136.136 INFO    ] No camera update needed
[2026-08-29 21:03:21,139.139 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:03:21,141.141 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:03:21,146.146 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:03:21,151.151 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:03:23,191.191 INFO    ] ================================================
[2026-08-29 21:03:23,206.206 INFO    ] Launching Daemon at Sat Aug 29 21:03:23 IST 2026
[2026-08-29 21:03:23,217.217 INFO    ] ================================================
[2026-08-29 21:03:23,885.885 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:03:23
[2026-08-29 21:03:24,327.327 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:03:24,479.479 INFO    ] Initializing speech engine...
[2026-08-29 21:03:24,485.485 INFO    ] 2026-08-29 21:03:24
[2026-08-29 21:03:24,692.692 INFO    ] 2026-08-29 21:03:24
[2026-08-29 21:03:24,721.721 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:03:24,846.846 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:03:24,908.908 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:03:25,046.046 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:03:25,117.117 INFO    ] time= 29/08/2026 21:03:25
[2026-08-29 21:03:25,141.141 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:03:25,148.148 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:03:25,214.214 INFO    ] No existing commands found in stream
[2026-08-29 21:03:30,224.224 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:03:30,227.227 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-08-29 21:03:34,257.257 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:03:34,260.260 INFO    ] Checking for system updates...
[2026-08-29 21:03:34,297.297 INFO    ] 200
[2026-08-29 21:03:34,300.300 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:03:34,352.352 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:03:34,355.355 INFO    ] No update needed
[2026-08-29 21:03:34,357.357 INFO    ] Checking for camera pi updates...
[2026-08-29 21:03:34,390.390 INFO    ] 200
[2026-08-29 21:03:34,393.393 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:03:34,433.433 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:03:34,521.521 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:03:34,524.524 INFO    ] No camera update needed
[2026-08-29 21:03:34,526.526 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:03:34,528.528 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:03:34,534.534 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:03:34,539.539 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:03:36,579.579 INFO    ] ================================================
[2026-08-29 21:03:36,594.594 INFO    ] Launching Daemon at Sat Aug 29 21:03:36 IST 2026
[2026-08-29 21:03:36,605.605 INFO    ] ================================================
[2026-08-29 21:03:36,933.933 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:03:36
[2026-08-29 21:03:37,246.246 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:03:37,376.376 INFO    ] Initializing speech engine...
[2026-08-29 21:03:37,380.380 INFO    ] 2026-08-29 21:03:37
[2026-08-29 21:03:37,586.586 INFO    ] 2026-08-29 21:03:37
[2026-08-29 21:03:37,628.628 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:03:37,847.847 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:03:37,856.856 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:03:37,988.988 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:03:38,009.009 INFO    ] time= 29/08/2026 21:03:37
[2026-08-29 21:03:38,069.069 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:03:38,120.120 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:03:38,172.172 INFO    ] No existing commands found in stream
[2026-08-29 21:03:43,184.184 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:03:43,186.186 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-08-29 21:03:43,829.829 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:03:43,831.831 INFO    ] Checking for system updates...
[2026-08-29 21:03:43,851.851 INFO    ] 200
[2026-08-29 21:03:43,852.852 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:03:43,882.882 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:03:43,883.883 INFO    ] No update needed
[2026-08-29 21:03:43,885.885 INFO    ] Checking for camera pi updates...
[2026-08-29 21:03:43,904.904 INFO    ] 200
[2026-08-29 21:03:43,905.905 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:03:43,930.930 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:03:44,002.002 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:03:44,003.003 INFO    ] No camera update needed
[2026-08-29 21:03:44,004.004 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:03:44,005.005 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:03:44,008.008 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:03:44,011.011 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:03:46,049.049 INFO    ] ================================================
[2026-08-29 21:03:46,064.064 INFO    ] Launching Daemon at Sat Aug 29 21:03:46 IST 2026
[2026-08-29 21:03:46,075.075 INFO    ] ================================================
[2026-08-29 21:03:46,401.401 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:03:46
[2026-08-29 21:03:46,714.714 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:03:46,852.852 INFO    ] Initializing speech engine...
[2026-08-29 21:03:46,861.861 INFO    ] 2026-08-29 21:03:46
[2026-08-29 21:03:47,068.068 INFO    ] 2026-08-29 21:03:47
[2026-08-29 21:03:47,099.099 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:03:47,223.223 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:03:47,260.260 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:03:47,418.418 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:03:47,475.475 INFO    ] time= 29/08/2026 21:03:47
[2026-08-29 21:03:47,499.499 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:03:47,521.521 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:03:47,592.592 INFO    ] No existing commands found in stream
[2026-08-29 21:03:52,603.603 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:03:52,606.606 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-08-29 21:03:56,534.534 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:03:56,535.535 INFO    ] Checking for system updates...
[2026-08-29 21:03:56,556.556 INFO    ] 200
[2026-08-29 21:03:56,557.557 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:03:56,588.588 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:03:56,589.589 INFO    ] No update needed
[2026-08-29 21:03:56,591.591 INFO    ] Checking for camera pi updates...
[2026-08-29 21:03:56,612.612 INFO    ] 200
[2026-08-29 21:03:56,613.613 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:03:56,636.636 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:03:56,725.725 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:03:56,726.726 INFO    ] No camera update needed
[2026-08-29 21:03:56,727.727 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:03:56,729.729 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:03:56,731.731 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:03:56,734.734 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:03:58,774.774 INFO    ] ================================================
[2026-08-29 21:03:58,789.789 INFO    ] Launching Daemon at Sat Aug 29 21:03:58 IST 2026
[2026-08-29 21:03:58,800.800 INFO    ] ================================================
[2026-08-29 21:03:59,135.135 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:03:59
[2026-08-29 21:03:59,452.452 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:03:59,707.707 INFO    ] Initializing speech engine...
[2026-08-29 21:03:59,717.717 INFO    ] 2026-08-29 21:03:59
[2026-08-29 21:03:59,994.994 INFO    ] 2026-08-29 21:03:59
[2026-08-29 21:04:00,037.037 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:04:00,257.257 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:04:00,266.266 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:04:00,399.399 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:04:00,415.415 INFO    ] time= 29/08/2026 21:04:00
[2026-08-29 21:04:00,475.475 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:04:00,531.531 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:04:00,586.586 INFO    ] No existing commands found in stream
[2026-08-29 21:04:05,598.598 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:04:05,601.601 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-08-29 21:04:09,323.323 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:04:09,325.325 INFO    ] Checking for system updates...
[2026-08-29 21:04:09,346.346 INFO    ] 200
[2026-08-29 21:04:09,348.348 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:04:09,377.377 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:04:09,379.379 INFO    ] No update needed
[2026-08-29 21:04:09,380.380 INFO    ] Checking for camera pi updates...
[2026-08-29 21:04:09,399.399 INFO    ] 200
[2026-08-29 21:04:09,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:04:09,423.423 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:04:09,493.493 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:04:09,495.495 INFO    ] No camera update needed
[2026-08-29 21:04:09,496.496 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:04:09,497.497 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:04:09,500.500 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:04:09,503.503 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:04:11,542.542 INFO    ] ================================================
[2026-08-29 21:04:11,557.557 INFO    ] Launching Daemon at Sat Aug 29 21:04:11 IST 2026
[2026-08-29 21:04:11,568.568 INFO    ] ================================================
[2026-08-29 21:04:11,904.904 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:04:11
[2026-08-29 21:04:12,221.221 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:04:12,441.441 INFO    ] Initializing speech engine...
[2026-08-29 21:04:12,450.450 INFO    ] 2026-08-29 21:04:12
[2026-08-29 21:04:12,700.700 INFO    ] 2026-08-29 21:04:12
[2026-08-29 21:04:12,737.737 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:04:12,909.909 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:04:12,922.922 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:04:13,032.032 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:04:13,051.051 INFO    ] time= 29/08/2026 21:04:13
[2026-08-29 21:04:13,074.074 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:04:13,079.079 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:04:13,147.147 INFO    ] No existing commands found in stream
[2026-08-29 21:04:18,160.160 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:04:18,163.163 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-08-29 21:04:19,833.833 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:04:19,834.834 INFO    ] Checking for system updates...
[2026-08-29 21:04:19,854.854 INFO    ] 200
[2026-08-29 21:04:19,856.856 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:04:19,888.888 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:04:19,889.889 INFO    ] No update needed
[2026-08-29 21:04:19,890.890 INFO    ] Checking for camera pi updates...
[2026-08-29 21:04:19,910.910 INFO    ] 200
[2026-08-29 21:04:19,911.911 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:04:19,935.935 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:04:19,981.981 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:04:19,984.984 INFO    ] No camera update needed
[2026-08-29 21:04:19,986.986 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:04:19,988.988 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:04:19,994.994 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:04:19,999.999 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:04:22,038.038 INFO    ] ================================================
[2026-08-29 21:04:22,053.053 INFO    ] Launching Daemon at Sat Aug 29 21:04:22 IST 2026
[2026-08-29 21:04:22,064.064 INFO    ] ================================================
[2026-08-29 21:04:22,639.639 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:04:22
[2026-08-29 21:04:23,180.180 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:04:23,434.434 INFO    ] Initializing speech engine...
[2026-08-29 21:04:23,446.446 INFO    ] 2026-08-29 21:04:23
[2026-08-29 21:04:23,711.711 INFO    ] 2026-08-29 21:04:23
[2026-08-29 21:04:23,746.746 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:04:23,923.923 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:04:23,936.936 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:04:24,065.065 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:04:24,085.085 INFO    ] time= 29/08/2026 21:04:24
[2026-08-29 21:04:24,092.092 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:04:24,099.099 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:04:24,168.168 INFO    ] No existing commands found in stream
[2026-08-29 21:04:29,198.198 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:04:29,201.201 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-08-29 21:04:36,019.019 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:04:36,020.020 INFO    ] Checking for system updates...
[2026-08-29 21:04:36,041.041 INFO    ] 200
[2026-08-29 21:04:36,043.043 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:04:36,075.075 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:04:36,076.076 INFO    ] No update needed
[2026-08-29 21:04:36,077.077 INFO    ] Checking for camera pi updates...
[2026-08-29 21:04:36,098.098 INFO    ] 200
[2026-08-29 21:04:36,099.099 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:04:36,123.123 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:04:36,327.327 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:04:36,328.328 INFO    ] No camera update needed
[2026-08-29 21:04:36,330.330 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:04:36,331.331 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:04:36,334.334 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:04:36,339.339 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:04:38,377.377 INFO    ] ================================================
[2026-08-29 21:04:38,392.392 INFO    ] Launching Daemon at Sat Aug 29 21:04:38 IST 2026
[2026-08-29 21:04:38,403.403 INFO    ] ================================================
[2026-08-29 21:04:38,796.796 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:04:38
[2026-08-29 21:04:39,110.110 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:04:39,243.243 INFO    ] Initializing speech engine...
[2026-08-29 21:04:39,256.256 INFO    ] 2026-08-29 21:04:39
[2026-08-29 21:04:39,463.463 INFO    ] 2026-08-29 21:04:39
[2026-08-29 21:04:39,492.492 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:04:39,617.617 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:04:39,675.675 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:04:39,813.813 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:04:39,870.870 INFO    ] time= 29/08/2026 21:04:39
[2026-08-29 21:04:39,905.905 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:04:39,916.916 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:04:39,987.987 INFO    ] No existing commands found in stream
[2026-08-29 21:04:44,997.997 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:04:45,000.000 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 21:04:48,538.538 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:04:48,540.540 INFO    ] Checking for system updates...
[2026-08-29 21:04:48,576.576 INFO    ] 200
[2026-08-29 21:04:48,578.578 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:04:48,630.630 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:04:48,633.633 INFO    ] No update needed
[2026-08-29 21:04:48,635.635 INFO    ] Checking for camera pi updates...
[2026-08-29 21:04:48,669.669 INFO    ] 200
[2026-08-29 21:04:48,671.671 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:04:48,711.711 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:04:48,790.790 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:04:48,792.792 INFO    ] No camera update needed
[2026-08-29 21:04:48,795.795 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:04:48,797.797 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:04:48,802.802 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:04:48,807.807 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:04:50,847.847 INFO    ] ================================================
[2026-08-29 21:04:50,863.863 INFO    ] Launching Daemon at Sat Aug 29 21:04:50 IST 2026
[2026-08-29 21:04:50,873.873 INFO    ] ================================================
[2026-08-29 21:04:51,216.216 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:04:51
[2026-08-29 21:04:51,529.529 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:04:51,666.666 INFO    ] Initializing speech engine...
[2026-08-29 21:04:51,670.670 INFO    ] 2026-08-29 21:04:51
[2026-08-29 21:04:51,899.899 INFO    ] 2026-08-29 21:04:51
[2026-08-29 21:04:51,930.930 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:04:52,028.028 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:04:52,031.031 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:04:52,140.140 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:04:52,150.150 INFO    ] time= 29/08/2026 21:04:52
[2026-08-29 21:04:52,168.168 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:04:52,172.172 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:04:52,248.248 INFO    ] No existing commands found in stream
[2026-08-29 21:04:57,278.278 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:04:57,281.281 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-08-29 21:05:00,177.177 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:05:00,179.179 INFO    ] Checking for system updates...
[2026-08-29 21:05:00,199.199 INFO    ] 200
[2026-08-29 21:05:00,200.200 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:05:00,231.231 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:05:00,233.233 INFO    ] No update needed
[2026-08-29 21:05:00,234.234 INFO    ] Checking for camera pi updates...
[2026-08-29 21:05:00,257.257 INFO    ] 200
[2026-08-29 21:05:00,258.258 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:05:00,282.282 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:05:00,379.379 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:05:00,380.380 INFO    ] No camera update needed
[2026-08-29 21:05:00,382.382 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:05:00,383.383 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:05:00,386.386 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:05:00,389.389 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:05:02,438.438 INFO    ] ================================================
[2026-08-29 21:05:02,464.464 INFO    ] Launching Daemon at Sat Aug 29 21:05:02 IST 2026
[2026-08-29 21:05:02,480.480 INFO    ] ================================================
[2026-08-29 21:05:03,113.113 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:05:03
[2026-08-29 21:05:03,780.780 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:05:04,031.031 INFO    ] Initializing speech engine...
[2026-08-29 21:05:04,054.054 INFO    ] 2026-08-29 21:05:04
[2026-08-29 21:05:04,311.311 INFO    ] 2026-08-29 21:05:04
[2026-08-29 21:05:04,347.347 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:05:04,522.522 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:05:04,535.535 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:05:04,679.679 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:05:04,688.688 INFO    ] time= 29/08/2026 21:05:04
[2026-08-29 21:05:04,692.692 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:05:04,698.698 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:05:04,766.766 INFO    ] No existing commands found in stream
[2026-08-29 21:05:09,782.782 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:05:09,785.785 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-08-29 21:05:12,996.996 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:05:12,998.998 INFO    ] Checking for system updates...
[2026-08-29 21:05:13,018.018 INFO    ] 200
[2026-08-29 21:05:13,019.019 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:05:13,051.051 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:05:13,053.053 INFO    ] No update needed
[2026-08-29 21:05:13,055.055 INFO    ] Checking for camera pi updates...
[2026-08-29 21:05:13,074.074 INFO    ] 200
[2026-08-29 21:05:13,076.076 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:05:13,099.099 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:05:13,176.176 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:05:13,178.178 INFO    ] No camera update needed
[2026-08-29 21:05:13,179.179 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:05:13,180.180 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:05:13,184.184 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:05:13,187.187 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:05:15,227.227 INFO    ] ================================================
[2026-08-29 21:05:15,242.242 INFO    ] Launching Daemon at Sat Aug 29 21:05:15 IST 2026
[2026-08-29 21:05:15,253.253 INFO    ] ================================================
[2026-08-29 21:05:15,600.600 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:05:15
[2026-08-29 21:05:15,914.914 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:05:16,051.051 INFO    ] Initializing speech engine...
[2026-08-29 21:05:16,064.064 INFO    ] 2026-08-29 21:05:16
[2026-08-29 21:05:16,281.281 INFO    ] 2026-08-29 21:05:16
[2026-08-29 21:05:16,311.311 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:05:16,441.441 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:05:16,445.445 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:05:16,598.598 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:05:16,654.654 INFO    ] time= 29/08/2026 21:05:16
[2026-08-29 21:05:16,685.685 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:05:16,735.735 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:05:16,834.834 INFO    ] No existing commands found in stream
[2026-08-29 21:05:21,844.844 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:05:21,847.847 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-08-29 21:05:24,992.992 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:05:24,994.994 INFO    ] Checking for system updates...
[2026-08-29 21:05:25,015.015 INFO    ] 200
[2026-08-29 21:05:25,016.016 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:05:25,048.048 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:05:25,049.049 INFO    ] No update needed
[2026-08-29 21:05:25,051.051 INFO    ] Checking for camera pi updates...
[2026-08-29 21:05:25,071.071 INFO    ] 200
[2026-08-29 21:05:25,072.072 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:05:25,095.095 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:05:25,176.176 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:05:25,179.179 INFO    ] No camera update needed
[2026-08-29 21:05:25,181.181 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:05:25,183.183 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:05:25,188.188 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:05:25,193.193 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:05:27,234.234 INFO    ] ================================================
[2026-08-29 21:05:27,248.248 INFO    ] Launching Daemon at Sat Aug 29 21:05:27 IST 2026
[2026-08-29 21:05:27,259.259 INFO    ] ================================================
[2026-08-29 21:05:27,906.906 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:05:27
[2026-08-29 21:05:28,408.408 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:05:28,561.561 INFO    ] Initializing speech engine...
[2026-08-29 21:05:28,566.566 INFO    ] 2026-08-29 21:05:28
[2026-08-29 21:05:28,811.811 INFO    ] 2026-08-29 21:05:28
[2026-08-29 21:05:28,868.868 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:05:29,032.032 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:05:29,041.041 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:05:29,218.218 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:05:29,245.245 INFO    ] time= 29/08/2026 21:05:29
[2026-08-29 21:05:29,268.268 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:05:29,298.298 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:05:29,395.395 INFO    ] No existing commands found in stream
[2026-08-29 21:05:34,414.414 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:05:34,424.424 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-08-29 21:05:36,418.418 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:05:36,419.419 INFO    ] Checking for system updates...
[2026-08-29 21:05:36,441.441 INFO    ] 200
[2026-08-29 21:05:36,443.443 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:05:36,474.474 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:05:36,475.475 INFO    ] No update needed
[2026-08-29 21:05:36,477.477 INFO    ] Checking for camera pi updates...
[2026-08-29 21:05:36,498.498 INFO    ] 200
[2026-08-29 21:05:36,499.499 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:05:36,522.522 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:05:36,614.614 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:05:36,616.616 INFO    ] No camera update needed
[2026-08-29 21:05:36,617.617 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:05:36,618.618 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:05:36,622.622 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:05:36,625.625 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:05:38,663.663 INFO    ] ================================================
[2026-08-29 21:05:38,678.678 INFO    ] Launching Daemon at Sat Aug 29 21:05:38 IST 2026
[2026-08-29 21:05:38,689.689 INFO    ] ================================================
[2026-08-29 21:05:39,059.059 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:05:39
[2026-08-29 21:05:39,398.398 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:05:39,553.553 INFO    ] Initializing speech engine...
[2026-08-29 21:05:39,557.557 INFO    ] 2026-08-29 21:05:39
[2026-08-29 21:05:39,767.767 INFO    ] 2026-08-29 21:05:39
[2026-08-29 21:05:39,796.796 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:05:39,920.920 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:05:39,985.985 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:05:40,104.104 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:05:40,113.113 INFO    ] time= 29/08/2026 21:05:40
[2026-08-29 21:05:40,159.159 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:05:40,211.211 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:05:40,319.319 INFO    ] No existing commands found in stream
[2026-08-29 21:05:45,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:05:45,338.338 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-08-29 21:05:48,521.521 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:05:48,523.523 INFO    ] Checking for system updates...
[2026-08-29 21:05:48,544.544 INFO    ] 200
[2026-08-29 21:05:48,545.545 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:05:48,575.575 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:05:48,576.576 INFO    ] No update needed
[2026-08-29 21:05:48,577.577 INFO    ] Checking for camera pi updates...
[2026-08-29 21:05:48,596.596 INFO    ] 200
[2026-08-29 21:05:48,598.598 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:05:48,621.621 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:05:48,711.711 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:05:48,712.712 INFO    ] No camera update needed
[2026-08-29 21:05:48,713.713 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:05:48,715.715 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:05:48,717.717 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:05:48,720.720 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:05:50,759.759 INFO    ] ================================================
[2026-08-29 21:05:50,775.775 INFO    ] Launching Daemon at Sat Aug 29 21:05:50 IST 2026
[2026-08-29 21:05:50,786.786 INFO    ] ================================================
[2026-08-29 21:05:51,151.151 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:05:51
[2026-08-29 21:05:51,462.462 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:05:51,593.593 INFO    ] Initializing speech engine...
[2026-08-29 21:05:51,601.601 INFO    ] 2026-08-29 21:05:51
[2026-08-29 21:05:51,828.828 INFO    ] 2026-08-29 21:05:51
[2026-08-29 21:05:51,913.913 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:05:52,065.065 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:05:52,074.074 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:05:52,213.213 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:05:52,252.252 INFO    ] time= 29/08/2026 21:05:52
[2026-08-29 21:05:52,306.306 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:05:52,344.344 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:05:52,398.398 INFO    ] No existing commands found in stream
[2026-08-29 21:05:57,410.410 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:05:57,413.413 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-08-29 21:05:59,404.404 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:05:59,406.406 INFO    ] Checking for system updates...
[2026-08-29 21:05:59,427.427 INFO    ] 200
[2026-08-29 21:05:59,428.428 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:05:59,459.459 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:05:59,460.460 INFO    ] No update needed
[2026-08-29 21:05:59,461.461 INFO    ] Checking for camera pi updates...
[2026-08-29 21:05:59,483.483 INFO    ] 200
[2026-08-29 21:05:59,484.484 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:05:59,508.508 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:05:59,578.578 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:05:59,579.579 INFO    ] No camera update needed
[2026-08-29 21:05:59,580.580 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:05:59,581.581 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:05:59,584.584 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:05:59,587.587 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:06:01,627.627 INFO    ] ================================================
[2026-08-29 21:06:01,643.643 INFO    ] Launching Daemon at Sat Aug 29 21:06:01 IST 2026
[2026-08-29 21:06:01,654.654 INFO    ] ================================================
[2026-08-29 21:06:02,477.477 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:06:02
[2026-08-29 21:06:03,206.206 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:06:03,540.540 INFO    ] Initializing speech engine...
[2026-08-29 21:06:03,551.551 INFO    ] 2026-08-29 21:06:03
[2026-08-29 21:06:03,810.810 INFO    ] 2026-08-29 21:06:03
[2026-08-29 21:06:03,846.846 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:06:04,043.043 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:06:04,050.050 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:06:04,182.182 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:06:04,189.189 INFO    ] time= 29/08/2026 21:06:04
[2026-08-29 21:06:04,194.194 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:06:04,212.212 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:06:04,303.303 INFO    ] No existing commands found in stream
[2026-08-29 21:06:09,315.315 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:06:09,318.318 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 21:06:11,335.335 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:06:11,336.336 INFO    ] Checking for system updates...
[2026-08-29 21:06:11,357.357 INFO    ] 200
[2026-08-29 21:06:11,358.358 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:06:11,389.389 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:06:11,390.390 INFO    ] No update needed
[2026-08-29 21:06:11,391.391 INFO    ] Checking for camera pi updates...
[2026-08-29 21:06:11,412.412 INFO    ] 200
[2026-08-29 21:06:11,413.413 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:06:11,436.436 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:06:11,511.511 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:06:11,513.513 INFO    ] No camera update needed
[2026-08-29 21:06:11,514.514 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:06:11,515.515 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:06:11,518.518 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:06:11,521.521 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:06:13,561.561 INFO    ] ================================================
[2026-08-29 21:06:13,577.577 INFO    ] Launching Daemon at Sat Aug 29 21:06:13 IST 2026
[2026-08-29 21:06:13,588.588 INFO    ] ================================================
[2026-08-29 21:06:13,914.914 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:06:13
[2026-08-29 21:06:14,234.234 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:06:14,483.483 INFO    ] Initializing speech engine...
[2026-08-29 21:06:14,495.495 INFO    ] 2026-08-29 21:06:14
[2026-08-29 21:06:14,764.764 INFO    ] 2026-08-29 21:06:14
[2026-08-29 21:06:14,800.800 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:06:14,975.975 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:06:14,981.981 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:06:15,101.101 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:06:15,107.107 INFO    ] time= 29/08/2026 21:06:15
[2026-08-29 21:06:15,125.125 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:06:15,145.145 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:06:15,221.221 INFO    ] No existing commands found in stream
[2026-08-29 21:06:20,237.237 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:06:20,239.239 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-08-29 21:06:21,944.944 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:06:21,946.946 INFO    ] Checking for system updates...
[2026-08-29 21:06:21,967.967 INFO    ] 200
[2026-08-29 21:06:21,969.969 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:06:22,000.000 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:06:22,002.002 INFO    ] No update needed
[2026-08-29 21:06:22,003.003 INFO    ] Checking for camera pi updates...
[2026-08-29 21:06:22,023.023 INFO    ] 200
[2026-08-29 21:06:22,025.025 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:06:22,049.049 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:06:22,146.146 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:06:22,147.147 INFO    ] No camera update needed
[2026-08-29 21:06:22,148.148 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:06:22,150.150 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:06:22,153.153 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:06:22,155.155 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:06:24,193.193 INFO    ] ================================================
[2026-08-29 21:06:24,209.209 INFO    ] Launching Daemon at Sat Aug 29 21:06:24 IST 2026
[2026-08-29 21:06:24,220.220 INFO    ] ================================================
[2026-08-29 21:06:24,563.563 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:06:24
[2026-08-29 21:06:24,874.874 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:06:25,095.095 INFO    ] Initializing speech engine...
[2026-08-29 21:06:25,117.117 INFO    ] 2026-08-29 21:06:25
[2026-08-29 21:06:25,378.378 INFO    ] 2026-08-29 21:06:25
[2026-08-29 21:06:25,414.414 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:06:25,590.590 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:06:25,602.602 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:06:25,730.730 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:06:25,750.750 INFO    ] time= 29/08/2026 21:06:25
[2026-08-29 21:06:25,758.758 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:06:25,765.765 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:06:25,832.832 INFO    ] No existing commands found in stream
[2026-08-29 21:06:30,843.843 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:06:30,846.846 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-08-29 21:06:33,505.505 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:06:33,508.508 INFO    ] Checking for system updates...
[2026-08-29 21:06:33,547.547 INFO    ] 200
[2026-08-29 21:06:33,549.549 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:06:33,608.608 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:06:33,611.611 INFO    ] No update needed
[2026-08-29 21:06:33,613.613 INFO    ] Checking for camera pi updates...
[2026-08-29 21:06:33,647.647 INFO    ] 200
[2026-08-29 21:06:33,649.649 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:06:33,689.689 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:06:33,770.770 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:06:33,773.773 INFO    ] No camera update needed
[2026-08-29 21:06:33,775.775 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:06:33,777.777 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:06:33,783.783 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:06:33,788.788 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:06:35,828.828 INFO    ] ================================================
[2026-08-29 21:06:35,843.843 INFO    ] Launching Daemon at Sat Aug 29 21:06:35 IST 2026
[2026-08-29 21:06:35,854.854 INFO    ] ================================================
[2026-08-29 21:06:36,240.240 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:06:36
[2026-08-29 21:06:36,579.579 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:06:36,734.734 INFO    ] Initializing speech engine...
[2026-08-29 21:06:36,740.740 INFO    ] 2026-08-29 21:06:36
[2026-08-29 21:06:36,947.947 INFO    ] 2026-08-29 21:06:36
[2026-08-29 21:06:36,976.976 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:06:37,101.101 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:06:37,159.159 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:06:37,296.296 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:06:37,353.353 INFO    ] time= 29/08/2026 21:06:37
[2026-08-29 21:06:37,396.396 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:06:37,398.398 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:06:37,470.470 INFO    ] No existing commands found in stream
[2026-08-29 21:06:42,480.480 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:06:42,483.483 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 21:06:44,024.024 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:06:44,025.025 INFO    ] Checking for system updates...
[2026-08-29 21:06:44,047.047 INFO    ] 200
[2026-08-29 21:06:44,048.048 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:06:44,080.080 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:06:44,081.081 INFO    ] No update needed
[2026-08-29 21:06:44,083.083 INFO    ] Checking for camera pi updates...
[2026-08-29 21:06:44,102.102 INFO    ] 200
[2026-08-29 21:06:44,103.103 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:06:44,130.130 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:06:44,303.303 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:06:44,304.304 INFO    ] No camera update needed
[2026-08-29 21:06:44,305.305 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:06:44,307.307 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:06:44,309.309 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:06:44,312.312 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:06:46,350.350 INFO    ] ================================================
[2026-08-29 21:06:46,366.366 INFO    ] Launching Daemon at Sat Aug 29 21:06:46 IST 2026
[2026-08-29 21:06:46,376.376 INFO    ] ================================================
[2026-08-29 21:06:46,721.721 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:06:46
[2026-08-29 21:06:47,037.037 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:06:47,175.175 INFO    ] Initializing speech engine...
[2026-08-29 21:06:47,183.183 INFO    ] 2026-08-29 21:06:47
[2026-08-29 21:06:47,398.398 INFO    ] 2026-08-29 21:06:47
[2026-08-29 21:06:47,483.483 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:06:47,637.637 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:06:47,658.658 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:06:47,774.774 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:06:47,833.833 INFO    ] time= 29/08/2026 21:06:47
[2026-08-29 21:06:47,900.900 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:06:47,907.907 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:06:47,957.957 INFO    ] No existing commands found in stream
[2026-08-29 21:06:52,969.969 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:06:52,973.973 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-08-29 21:06:55,786.786 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:06:55,787.787 INFO    ] Checking for system updates...
[2026-08-29 21:06:55,809.809 INFO    ] 200
[2026-08-29 21:06:55,810.810 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:06:55,842.842 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:06:55,844.844 INFO    ] No update needed
[2026-08-29 21:06:55,845.845 INFO    ] Checking for camera pi updates...
[2026-08-29 21:06:55,865.865 INFO    ] 200
[2026-08-29 21:06:55,867.867 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:06:55,894.894 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:06:55,988.988 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:06:55,990.990 INFO    ] No camera update needed
[2026-08-29 21:06:55,991.991 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:06:55,993.993 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:06:55,996.996 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:06:55,998.998 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:06:58,036.036 INFO    ] ================================================
[2026-08-29 21:06:58,051.051 INFO    ] Launching Daemon at Sat Aug 29 21:06:58 IST 2026
[2026-08-29 21:06:58,062.062 INFO    ] ================================================
[2026-08-29 21:06:58,602.602 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:06:58
[2026-08-29 21:06:59,190.190 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:06:59,460.460 INFO    ] Initializing speech engine...
[2026-08-29 21:06:59,470.470 INFO    ] 2026-08-29 21:06:59
[2026-08-29 21:06:59,718.718 INFO    ] 2026-08-29 21:06:59
[2026-08-29 21:06:59,753.753 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:06:59,929.929 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:06:59,941.941 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:07:00,053.053 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:07:00,058.058 INFO    ] time= 29/08/2026 21:07:00
[2026-08-29 21:07:00,075.075 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:07:00,096.096 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:07:00,172.172 INFO    ] No existing commands found in stream
[2026-08-29 21:07:05,187.187 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:07:05,190.190 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-08-29 21:07:07,774.774 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:07:07,776.776 INFO    ] Checking for system updates...
[2026-08-29 21:07:07,798.798 INFO    ] 200
[2026-08-29 21:07:07,799.799 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:07:07,830.830 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:07:07,831.831 INFO    ] No update needed
[2026-08-29 21:07:07,832.832 INFO    ] Checking for camera pi updates...
[2026-08-29 21:07:07,851.851 INFO    ] 200
[2026-08-29 21:07:07,853.853 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:07:07,876.876 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:07:07,960.960 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:07:07,961.961 INFO    ] No camera update needed
[2026-08-29 21:07:07,962.962 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:07:07,964.964 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:07:07,966.966 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:07:07,969.969 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:07:10,006.006 INFO    ] ================================================
[2026-08-29 21:07:10,023.023 INFO    ] Launching Daemon at Sat Aug 29 21:07:10 IST 2026
[2026-08-29 21:07:10,033.033 INFO    ] ================================================
[2026-08-29 21:07:10,401.401 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:07:10
[2026-08-29 21:07:10,720.720 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:07:10,852.852 INFO    ] Initializing speech engine...
[2026-08-29 21:07:10,860.860 INFO    ] 2026-08-29 21:07:10
[2026-08-29 21:07:11,072.072 INFO    ] 2026-08-29 21:07:11
[2026-08-29 21:07:11,100.100 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:07:11,233.233 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:07:11,268.268 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:07:11,420.420 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:07:11,450.450 INFO    ] time= 29/08/2026 21:07:11
[2026-08-29 21:07:11,496.496 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:07:11,536.536 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:07:11,652.652 INFO    ] No existing commands found in stream
[2026-08-29 21:07:16,672.672 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:07:16,675.675 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-08-29 21:07:17,246.246 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:07:17,247.247 INFO    ] Checking for system updates...
[2026-08-29 21:07:17,269.269 INFO    ] 200
[2026-08-29 21:07:17,270.270 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:07:17,303.303 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:07:17,304.304 INFO    ] No update needed
[2026-08-29 21:07:17,305.305 INFO    ] Checking for camera pi updates...
[2026-08-29 21:07:17,326.326 INFO    ] 200
[2026-08-29 21:07:17,327.327 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:07:17,352.352 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:07:17,422.422 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:07:17,423.423 INFO    ] No camera update needed
[2026-08-29 21:07:17,424.424 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:07:17,426.426 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:07:17,429.429 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:07:17,431.431 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:07:19,474.474 INFO    ] ================================================
[2026-08-29 21:07:19,489.489 INFO    ] Launching Daemon at Sat Aug 29 21:07:19 IST 2026
[2026-08-29 21:07:19,500.500 INFO    ] ================================================
[2026-08-29 21:07:19,857.857 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:07:19
[2026-08-29 21:07:20,203.203 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:07:20,359.359 INFO    ] Initializing speech engine...
[2026-08-29 21:07:20,363.363 INFO    ] 2026-08-29 21:07:20
[2026-08-29 21:07:20,575.575 INFO    ] 2026-08-29 21:07:20
[2026-08-29 21:07:20,604.604 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:07:20,739.739 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:07:20,793.793 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:07:20,929.929 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:07:20,982.982 INFO    ] time= 29/08/2026 21:07:20
[2026-08-29 21:07:21,017.017 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:07:21,028.028 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:07:21,100.100 INFO    ] No existing commands found in stream
[2026-08-29 21:07:26,111.111 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:07:26,115.115 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-08-29 21:07:27,239.239 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:07:27,241.241 INFO    ] Checking for system updates...
[2026-08-29 21:07:27,263.263 INFO    ] 200
[2026-08-29 21:07:27,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:07:27,298.298 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:07:27,299.299 INFO    ] No update needed
[2026-08-29 21:07:27,301.301 INFO    ] Checking for camera pi updates...
[2026-08-29 21:07:27,322.322 INFO    ] 200
[2026-08-29 21:07:27,324.324 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:07:27,350.350 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:07:27,448.448 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:07:27,450.450 INFO    ] No camera update needed
[2026-08-29 21:07:27,451.451 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:07:27,453.453 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:07:27,456.456 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:07:27,459.459 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:07:29,500.500 INFO    ] ================================================
[2026-08-29 21:07:29,516.516 INFO    ] Launching Daemon at Sat Aug 29 21:07:29 IST 2026
[2026-08-29 21:07:29,527.527 INFO    ] ================================================
[2026-08-29 21:07:29,915.915 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:07:29
[2026-08-29 21:07:30,227.227 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:07:30,472.472 INFO    ] Initializing speech engine...
[2026-08-29 21:07:30,480.480 INFO    ] 2026-08-29 21:07:30
[2026-08-29 21:07:30,733.733 INFO    ] 2026-08-29 21:07:30
[2026-08-29 21:07:30,769.769 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:07:30,959.959 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:07:30,966.966 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:07:31,080.080 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:07:31,105.105 INFO    ] time= 29/08/2026 21:07:31
[2026-08-29 21:07:31,111.111 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:07:31,118.118 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:07:31,169.169 INFO    ] No existing commands found in stream
[2026-08-29 21:07:36,180.180 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:07:36,183.183 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-08-29 21:07:37,352.352 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:07:37,354.354 INFO    ] Checking for system updates...
[2026-08-29 21:07:37,374.374 INFO    ] 200
[2026-08-29 21:07:37,375.375 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:07:37,408.408 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:07:37,409.409 INFO    ] No update needed
[2026-08-29 21:07:37,410.410 INFO    ] Checking for camera pi updates...
[2026-08-29 21:07:37,431.431 INFO    ] 200
[2026-08-29 21:07:37,432.432 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:07:37,455.455 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:07:37,525.525 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:07:37,526.526 INFO    ] No camera update needed
[2026-08-29 21:07:37,527.527 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:07:37,528.528 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:07:37,531.531 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:07:37,534.534 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:07:39,573.573 INFO    ] ================================================
[2026-08-29 21:07:39,589.589 INFO    ] Launching Daemon at Sat Aug 29 21:07:39 IST 2026
[2026-08-29 21:07:39,600.600 INFO    ] ================================================
[2026-08-29 21:07:40,068.068 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:07:40
[2026-08-29 21:07:40,665.665 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:07:40,937.937 INFO    ] Initializing speech engine...
[2026-08-29 21:07:40,941.941 INFO    ] 2026-08-29 21:07:40
[2026-08-29 21:07:41,197.197 INFO    ] 2026-08-29 21:07:41
[2026-08-29 21:07:41,257.257 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:07:41,475.475 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:07:41,486.486 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:07:41,618.618 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:07:41,660.660 INFO    ] time= 29/08/2026 21:07:41
[2026-08-29 21:07:41,725.725 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:07:41,751.751 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:07:41,806.806 INFO    ] No existing commands found in stream
[2026-08-29 21:07:46,818.818 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:07:46,830.830 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-08-29 21:07:49,776.776 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:07:49,778.778 INFO    ] Checking for system updates...
[2026-08-29 21:07:49,798.798 INFO    ] 200
[2026-08-29 21:07:49,800.800 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:07:49,833.833 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:07:49,834.834 INFO    ] No update needed
[2026-08-29 21:07:49,835.835 INFO    ] Checking for camera pi updates...
[2026-08-29 21:07:49,859.859 INFO    ] 200
[2026-08-29 21:07:49,861.861 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:07:49,888.888 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:07:49,979.979 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:07:49,981.981 INFO    ] No camera update needed
[2026-08-29 21:07:49,982.982 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:07:49,984.984 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:07:49,987.987 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:07:49,990.990 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:07:52,030.030 INFO    ] ================================================
[2026-08-29 21:07:52,047.047 INFO    ] Launching Daemon at Sat Aug 29 21:07:52 IST 2026
[2026-08-29 21:07:52,058.058 INFO    ] ================================================
[2026-08-29 21:07:52,394.394 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:07:52
[2026-08-29 21:07:52,936.936 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:07:53,189.189 INFO    ] Initializing speech engine...
[2026-08-29 21:07:53,211.211 INFO    ] 2026-08-29 21:07:53
[2026-08-29 21:07:53,470.470 INFO    ] 2026-08-29 21:07:53
[2026-08-29 21:07:53,506.506 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:07:53,682.682 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:07:53,688.688 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:07:53,808.808 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:07:53,814.814 INFO    ] time= 29/08/2026 21:07:53
[2026-08-29 21:07:53,832.832 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:07:53,852.852 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:07:53,927.927 INFO    ] No existing commands found in stream
[2026-08-29 21:07:58,939.939 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:07:58,942.942 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-08-29 21:08:02,735.735 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:08:02,738.738 INFO    ] Checking for system updates...
[2026-08-29 21:08:02,785.785 INFO    ] 200
[2026-08-29 21:08:02,789.789 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:08:02,863.863 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:08:02,865.865 INFO    ] No update needed
[2026-08-29 21:08:02,868.868 INFO    ] Checking for camera pi updates...
[2026-08-29 21:08:02,904.904 INFO    ] 200
[2026-08-29 21:08:02,907.907 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:08:02,952.952 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:08:03,036.036 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:08:03,039.039 INFO    ] No camera update needed
[2026-08-29 21:08:03,042.042 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:08:03,045.045 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:08:03,053.053 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:08:03,059.059 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:08:05,103.103 INFO    ] ================================================
[2026-08-29 21:08:05,119.119 INFO    ] Launching Daemon at Sat Aug 29 21:08:05 IST 2026
[2026-08-29 21:08:05,130.130 INFO    ] ================================================
[2026-08-29 21:08:05,638.638 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:08:05
[2026-08-29 21:08:06,228.228 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:08:06,534.534 INFO    ] Initializing speech engine...
[2026-08-29 21:08:06,547.547 INFO    ] 2026-08-29 21:08:06
[2026-08-29 21:08:06,803.803 INFO    ] 2026-08-29 21:08:06
[2026-08-29 21:08:06,860.860 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:08:07,077.077 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:08:07,087.087 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:08:07,218.218 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:08:07,245.245 INFO    ] time= 29/08/2026 21:08:07
[2026-08-29 21:08:07,305.305 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:08:07,351.351 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:08:07,408.408 INFO    ] No existing commands found in stream
[2026-08-29 21:08:12,419.419 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:08:12,422.422 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-08-29 21:08:14,791.791 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:08:14,793.793 INFO    ] Checking for system updates...
[2026-08-29 21:08:14,815.815 INFO    ] 200
[2026-08-29 21:08:14,816.816 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:08:14,848.848 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:08:14,849.849 INFO    ] No update needed
[2026-08-29 21:08:14,850.850 INFO    ] Checking for camera pi updates...
[2026-08-29 21:08:14,870.870 INFO    ] 200
[2026-08-29 21:08:14,871.871 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:08:14,896.896 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:08:14,990.990 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:08:14,992.992 INFO    ] No camera update needed
[2026-08-29 21:08:14,995.995 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:08:14,997.997 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:08:15,003.003 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:08:15,008.008 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:08:17,048.048 INFO    ] ================================================
[2026-08-29 21:08:17,063.063 INFO    ] Launching Daemon at Sat Aug 29 21:08:17 IST 2026
[2026-08-29 21:08:17,074.074 INFO    ] ================================================
[2026-08-29 21:08:17,653.653 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:08:17
[2026-08-29 21:08:18,169.169 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:08:18,314.314 INFO    ] Initializing speech engine...
[2026-08-29 21:08:18,319.319 INFO    ] 2026-08-29 21:08:18
[2026-08-29 21:08:18,529.529 INFO    ] 2026-08-29 21:08:18
[2026-08-29 21:08:18,560.560 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:08:18,694.694 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:08:18,731.731 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:08:18,868.868 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:08:18,908.908 INFO    ] time= 29/08/2026 21:08:18
[2026-08-29 21:08:18,954.954 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:08:18,993.993 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:08:19,091.091 INFO    ] No existing commands found in stream
[2026-08-29 21:08:24,102.102 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:08:24,105.105 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-08-29 21:08:28,142.142 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:08:28,143.143 INFO    ] Checking for system updates...
[2026-08-29 21:08:28,164.164 INFO    ] 200
[2026-08-29 21:08:28,165.165 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:08:28,197.197 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:08:28,198.198 INFO    ] No update needed
[2026-08-29 21:08:28,200.200 INFO    ] Checking for camera pi updates...
[2026-08-29 21:08:28,220.220 INFO    ] 200
[2026-08-29 21:08:28,222.222 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:08:28,245.245 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:08:28,336.336 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:08:28,337.337 INFO    ] No camera update needed
[2026-08-29 21:08:28,339.339 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:08:28,340.340 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:08:28,343.343 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:08:28,346.346 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:08:30,385.385 INFO    ] ================================================
[2026-08-29 21:08:30,400.400 INFO    ] Launching Daemon at Sat Aug 29 21:08:30 IST 2026
[2026-08-29 21:08:30,411.411 INFO    ] ================================================
[2026-08-29 21:08:30,798.798 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:08:30
[2026-08-29 21:08:31,136.136 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:08:31,281.281 INFO    ] Initializing speech engine...
[2026-08-29 21:08:31,291.291 INFO    ] 2026-08-29 21:08:31
[2026-08-29 21:08:31,502.502 INFO    ] 2026-08-29 21:08:31
[2026-08-29 21:08:31,531.531 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:08:31,671.671 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:08:31,736.736 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:08:31,856.856 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:08:31,866.866 INFO    ] time= 29/08/2026 21:08:31
[2026-08-29 21:08:31,932.932 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:08:31,995.995 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:08:32,097.097 INFO    ] No existing commands found in stream
[2026-08-29 21:08:37,129.129 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:08:37,133.133 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-08-29 21:08:39,604.604 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:08:39,605.605 INFO    ] Checking for system updates...
[2026-08-29 21:08:39,627.627 INFO    ] 200
[2026-08-29 21:08:39,628.628 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:08:39,660.660 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:08:39,661.661 INFO    ] No update needed
[2026-08-29 21:08:39,663.663 INFO    ] Checking for camera pi updates...
[2026-08-29 21:08:39,683.683 INFO    ] 200
[2026-08-29 21:08:39,684.684 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:08:39,707.707 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:08:39,784.784 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:08:39,785.785 INFO    ] No camera update needed
[2026-08-29 21:08:39,787.787 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:08:39,788.788 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:08:39,791.791 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:08:39,794.794 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:08:41,834.834 INFO    ] ================================================
[2026-08-29 21:08:41,850.850 INFO    ] Launching Daemon at Sat Aug 29 21:08:41 IST 2026
[2026-08-29 21:08:41,861.861 INFO    ] ================================================
[2026-08-29 21:08:42,251.251 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:08:42
[2026-08-29 21:08:42,590.590 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:08:42,731.731 INFO    ] Initializing speech engine...
[2026-08-29 21:08:42,744.744 INFO    ] 2026-08-29 21:08:42
[2026-08-29 21:08:42,957.957 INFO    ] 2026-08-29 21:08:42
[2026-08-29 21:08:42,988.988 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:08:43,113.113 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:08:43,176.176 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:08:43,315.315 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:08:43,385.385 INFO    ] time= 29/08/2026 21:08:43
[2026-08-29 21:08:43,409.409 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:08:43,416.416 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:08:43,483.483 INFO    ] No existing commands found in stream
[2026-08-29 21:08:48,494.494 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:08:48,497.497 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-08-29 21:08:52,427.427 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:08:52,428.428 INFO    ] Checking for system updates...
[2026-08-29 21:08:52,450.450 INFO    ] 200
[2026-08-29 21:08:52,452.452 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:08:52,482.482 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:08:52,484.484 INFO    ] No update needed
[2026-08-29 21:08:52,485.485 INFO    ] Checking for camera pi updates...
[2026-08-29 21:08:52,506.506 INFO    ] 200
[2026-08-29 21:08:52,507.507 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:08:52,533.533 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:08:52,739.739 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:08:52,741.741 INFO    ] No camera update needed
[2026-08-29 21:08:52,742.742 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:08:52,744.744 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:08:52,747.747 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:08:52,750.750 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:08:54,788.788 INFO    ] ================================================
[2026-08-29 21:08:54,803.803 INFO    ] Launching Daemon at Sat Aug 29 21:08:54 IST 2026
[2026-08-29 21:08:54,814.814 INFO    ] ================================================
[2026-08-29 21:08:55,178.178 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:08:55
[2026-08-29 21:08:55,490.490 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:08:55,636.636 INFO    ] Initializing speech engine...
[2026-08-29 21:08:55,642.642 INFO    ] 2026-08-29 21:08:55
[2026-08-29 21:08:55,858.858 INFO    ] 2026-08-29 21:08:55
[2026-08-29 21:08:55,888.888 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:08:56,019.019 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:08:56,053.053 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:08:56,190.190 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:08:56,235.235 INFO    ] time= 29/08/2026 21:08:56
[2026-08-29 21:08:56,277.277 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:08:56,320.320 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:08:56,416.416 INFO    ] No existing commands found in stream
[2026-08-29 21:09:01,427.427 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:09:01,430.430 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-08-29 21:09:02,339.339 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:09:02,342.342 INFO    ] Checking for system updates...
[2026-08-29 21:09:02,387.387 INFO    ] 200
[2026-08-29 21:09:02,390.390 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:09:02,462.462 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:09:02,465.465 INFO    ] No update needed
[2026-08-29 21:09:02,468.468 INFO    ] Checking for camera pi updates...
[2026-08-29 21:09:02,513.513 INFO    ] 200
[2026-08-29 21:09:02,516.516 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:09:02,566.566 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:09:02,710.710 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:09:02,714.714 INFO    ] No camera update needed
[2026-08-29 21:09:02,716.716 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:09:02,719.719 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:09:02,726.726 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:09:02,732.732 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:09:04,773.773 INFO    ] ================================================
[2026-08-29 21:09:04,788.788 INFO    ] Launching Daemon at Sat Aug 29 21:09:04 IST 2026
[2026-08-29 21:09:04,799.799 INFO    ] ================================================
[2026-08-29 21:09:05,134.134 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:09:05
[2026-08-29 21:09:05,455.455 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:09:05,600.600 INFO    ] Initializing speech engine...
[2026-08-29 21:09:05,606.606 INFO    ] 2026-08-29 21:09:05
[2026-08-29 21:09:05,811.811 INFO    ] 2026-08-29 21:09:05
[2026-08-29 21:09:05,840.840 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:09:05,960.960 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:09:06,004.004 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:09:06,155.155 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:09:06,226.226 INFO    ] time= 29/08/2026 21:09:06
[2026-08-29 21:09:06,263.263 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:09:06,274.274 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:09:06,381.381 INFO    ] No existing commands found in stream
[2026-08-29 21:09:11,412.412 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:09:11,415.415 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-08-29 21:09:14,172.172 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:09:14,173.173 INFO    ] Checking for system updates...
[2026-08-29 21:09:14,195.195 INFO    ] 200
[2026-08-29 21:09:14,196.196 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:09:14,227.227 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:09:14,228.228 INFO    ] No update needed
[2026-08-29 21:09:14,230.230 INFO    ] Checking for camera pi updates...
[2026-08-29 21:09:14,261.261 INFO    ] 200
[2026-08-29 21:09:14,264.264 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:09:14,311.311 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:09:14,390.390 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:09:14,468.468 INFO    ] No camera update needed
[2026-08-29 21:09:14,472.472 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:09:14,475.475 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:09:14,481.481 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:09:14,487.487 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:09:16,529.529 INFO    ] ================================================
[2026-08-29 21:09:16,544.544 INFO    ] Launching Daemon at Sat Aug 29 21:09:16 IST 2026
[2026-08-29 21:09:16,555.555 INFO    ] ================================================
[2026-08-29 21:09:17,123.123 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:09:17
[2026-08-29 21:09:17,548.548 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:09:17,711.711 INFO    ] Initializing speech engine...
[2026-08-29 21:09:17,720.720 INFO    ] 2026-08-29 21:09:17
[2026-08-29 21:09:17,967.967 INFO    ] 2026-08-29 21:09:17
[2026-08-29 21:09:18,002.002 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:09:18,172.172 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:09:18,185.185 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:09:18,293.293 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:09:18,299.299 INFO    ] time= 29/08/2026 21:09:18
[2026-08-29 21:09:18,331.331 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:09:18,340.340 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:09:18,410.410 INFO    ] No existing commands found in stream
[2026-08-29 21:09:23,425.425 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:09:23,428.428 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-08-29 21:09:26,548.548 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:09:26,550.550 INFO    ] Checking for system updates...
[2026-08-29 21:09:26,570.570 INFO    ] 200
[2026-08-29 21:09:26,571.571 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:09:26,605.605 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:09:26,606.606 INFO    ] No update needed
[2026-08-29 21:09:26,608.608 INFO    ] Checking for camera pi updates...
[2026-08-29 21:09:26,626.626 INFO    ] 200
[2026-08-29 21:09:26,628.628 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:09:26,652.652 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:09:26,748.748 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:09:26,750.750 INFO    ] No camera update needed
[2026-08-29 21:09:26,751.751 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:09:26,752.752 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:09:26,755.755 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:09:26,758.758 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:09:28,798.798 INFO    ] ================================================
[2026-08-29 21:09:28,813.813 INFO    ] Launching Daemon at Sat Aug 29 21:09:28 IST 2026
[2026-08-29 21:09:28,824.824 INFO    ] ================================================
[2026-08-29 21:09:29,157.157 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:09:29
[2026-08-29 21:09:29,470.470 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:09:29,636.636 INFO    ] Initializing speech engine...
[2026-08-29 21:09:29,650.650 INFO    ] 2026-08-29 21:09:29
[2026-08-29 21:09:29,914.914 INFO    ] 2026-08-29 21:09:29
[2026-08-29 21:09:29,949.949 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:09:30,123.123 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:09:30,135.135 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:09:30,249.249 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:09:30,267.267 INFO    ] time= 29/08/2026 21:09:30
[2026-08-29 21:09:30,287.287 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:09:30,295.295 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:09:30,367.367 INFO    ] No existing commands found in stream
[2026-08-29 21:09:35,397.397 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:09:35,400.400 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-08-29 21:09:38,824.824 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:09:38,826.826 INFO    ] Checking for system updates...
[2026-08-29 21:09:38,846.846 INFO    ] 200
[2026-08-29 21:09:38,847.847 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:09:38,879.879 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:09:38,880.880 INFO    ] No update needed
[2026-08-29 21:09:38,881.881 INFO    ] Checking for camera pi updates...
[2026-08-29 21:09:38,901.901 INFO    ] 200
[2026-08-29 21:09:38,903.903 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:09:38,926.926 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:09:38,995.995 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:09:38,997.997 INFO    ] No camera update needed
[2026-08-29 21:09:38,998.998 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:09:38,999.999 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:09:39,002.002 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:09:39,005.005 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:09:41,045.045 INFO    ] ================================================
[2026-08-29 21:09:41,060.060 INFO    ] Launching Daemon at Sat Aug 29 21:09:41 IST 2026
[2026-08-29 21:09:41,070.070 INFO    ] ================================================
[2026-08-29 21:09:41,423.423 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:09:41
[2026-08-29 21:09:41,737.737 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:09:41,867.867 INFO    ] Initializing speech engine...
[2026-08-29 21:09:41,874.874 INFO    ] 2026-08-29 21:09:41
[2026-08-29 21:09:42,077.077 INFO    ] 2026-08-29 21:09:42
[2026-08-29 21:09:42,112.112 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:09:42,257.257 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:09:42,264.264 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:09:42,412.412 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:09:42,422.422 INFO    ] time= 29/08/2026 21:09:42
[2026-08-29 21:09:42,427.427 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:09:42,449.449 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:09:42,528.528 INFO    ] No existing commands found in stream
[2026-08-29 21:09:47,564.564 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:09:47,566.566 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-08-29 21:09:48,695.695 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:09:48,696.696 INFO    ] Checking for system updates...
[2026-08-29 21:09:48,716.716 INFO    ] 200
[2026-08-29 21:09:48,718.718 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:09:48,750.750 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:09:48,751.751 INFO    ] No update needed
[2026-08-29 21:09:48,753.753 INFO    ] Checking for camera pi updates...
[2026-08-29 21:09:48,772.772 INFO    ] 200
[2026-08-29 21:09:48,773.773 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:09:48,796.796 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:09:48,898.898 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:09:48,899.899 INFO    ] No camera update needed
[2026-08-29 21:09:48,900.900 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:09:48,902.902 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:09:48,905.905 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:09:48,907.907 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:09:50,948.948 INFO    ] ================================================
[2026-08-29 21:09:50,963.963 INFO    ] Launching Daemon at Sat Aug 29 21:09:50 IST 2026
[2026-08-29 21:09:50,974.974 INFO    ] ================================================
[2026-08-29 21:09:51,313.313 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:09:51
[2026-08-29 21:09:51,626.626 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:09:51,760.760 INFO    ] Initializing speech engine...
[2026-08-29 21:09:51,774.774 INFO    ] 2026-08-29 21:09:51
[2026-08-29 21:09:51,990.990 INFO    ] 2026-08-29 21:09:51
[2026-08-29 21:09:52,020.020 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:09:52,131.131 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:09:52,138.138 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:09:52,258.258 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:09:52,265.265 INFO    ] time= 29/08/2026 21:09:52
[2026-08-29 21:09:52,310.310 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:09:52,354.354 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:09:52,416.416 INFO    ] No existing commands found in stream
[2026-08-29 21:09:57,434.434 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:09:57,437.437 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-08-29 21:10:01,967.967 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:10:01,970.970 INFO    ] Checking for system updates...
[2026-08-29 21:10:02,047.047 INFO    ] 200
[2026-08-29 21:10:02,050.050 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:10:02,136.136 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:10:02,140.140 INFO    ] No update needed
[2026-08-29 21:10:02,143.143 INFO    ] Checking for camera pi updates...
[2026-08-29 21:10:02,190.190 INFO    ] 200
[2026-08-29 21:10:02,193.193 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:10:02,264.264 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:10:02,652.652 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:10:02,656.656 INFO    ] No camera update needed
[2026-08-29 21:10:02,659.659 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:10:02,663.663 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:10:02,671.671 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:10:02,678.678 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:10:04,723.723 INFO    ] ================================================
[2026-08-29 21:10:04,739.739 INFO    ] Launching Daemon at Sat Aug 29 21:10:04 IST 2026
[2026-08-29 21:10:04,749.749 INFO    ] ================================================
[2026-08-29 21:10:05,361.361 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:10:05
[2026-08-29 21:10:06,047.047 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:10:06,363.363 INFO    ] Initializing speech engine...
[2026-08-29 21:10:06,371.371 INFO    ] 2026-08-29 21:10:06
[2026-08-29 21:10:06,702.702 INFO    ] 2026-08-29 21:10:06
[2026-08-29 21:10:06,792.792 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:10:06,946.946 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:10:06,952.952 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:10:07,086.086 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:10:07,138.138 INFO    ] time= 29/08/2026 21:10:07
[2026-08-29 21:10:07,198.198 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:10:07,220.220 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:10:07,278.278 INFO    ] No existing commands found in stream
[2026-08-29 21:10:12,291.291 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:10:12,295.295 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-08-29 21:10:16,363.363 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:10:16,364.364 INFO    ] Checking for system updates...
[2026-08-29 21:10:16,385.385 INFO    ] 200
[2026-08-29 21:10:16,387.387 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:10:16,417.417 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:10:16,418.418 INFO    ] No update needed
[2026-08-29 21:10:16,420.420 INFO    ] Checking for camera pi updates...
[2026-08-29 21:10:16,439.439 INFO    ] 200
[2026-08-29 21:10:16,441.441 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:10:16,464.464 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:10:16,571.571 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:10:16,573.573 INFO    ] No camera update needed
[2026-08-29 21:10:16,574.574 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:10:16,576.576 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:10:16,579.579 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:10:16,582.582 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:10:18,621.621 INFO    ] ================================================
[2026-08-29 21:10:18,637.637 INFO    ] Launching Daemon at Sat Aug 29 21:10:18 IST 2026
[2026-08-29 21:10:18,647.647 INFO    ] ================================================
[2026-08-29 21:10:19,017.017 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:10:19
[2026-08-29 21:10:19,334.334 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:10:19,466.466 INFO    ] Initializing speech engine...
[2026-08-29 21:10:19,469.469 INFO    ] 2026-08-29 21:10:19
[2026-08-29 21:10:19,675.675 INFO    ] 2026-08-29 21:10:19
[2026-08-29 21:10:19,710.710 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:10:19,908.908 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:10:19,934.934 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:10:20,073.073 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:10:20,079.079 INFO    ] time= 29/08/2026 21:10:20
[2026-08-29 21:10:20,133.133 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:10:20,177.177 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:10:20,257.257 INFO    ] No existing commands found in stream
[2026-08-29 21:10:25,269.269 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:10:25,272.272 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-08-29 21:10:29,017.017 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:10:29,018.018 INFO    ] Checking for system updates...
[2026-08-29 21:10:29,038.038 INFO    ] 200
[2026-08-29 21:10:29,040.040 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:10:29,070.070 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:10:29,071.071 INFO    ] No update needed
[2026-08-29 21:10:29,072.072 INFO    ] Checking for camera pi updates...
[2026-08-29 21:10:29,092.092 INFO    ] 200
[2026-08-29 21:10:29,093.093 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:10:29,116.116 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:10:29,227.227 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:10:29,228.228 INFO    ] No camera update needed
[2026-08-29 21:10:29,229.229 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:10:29,231.231 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:10:29,234.234 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:10:29,236.236 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:10:31,274.274 INFO    ] ================================================
[2026-08-29 21:10:31,290.290 INFO    ] Launching Daemon at Sat Aug 29 21:10:31 IST 2026
[2026-08-29 21:10:31,300.300 INFO    ] ================================================
[2026-08-29 21:10:31,831.831 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:10:31
[2026-08-29 21:10:32,450.450 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:10:32,750.750 INFO    ] Initializing speech engine...
[2026-08-29 21:10:32,767.767 INFO    ] 2026-08-29 21:10:32
[2026-08-29 21:10:33,048.048 INFO    ] 2026-08-29 21:10:33
[2026-08-29 21:10:33,104.104 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:10:33,337.337 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:10:33,344.344 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:10:33,477.477 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:10:33,523.523 INFO    ] time= 29/08/2026 21:10:33
[2026-08-29 21:10:33,583.583 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:10:33,613.613 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:10:33,664.664 INFO    ] No existing commands found in stream
[2026-08-29 21:10:38,676.676 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:10:38,680.680 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-08-29 21:10:39,870.870 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:10:39,872.872 INFO    ] Checking for system updates...
[2026-08-29 21:10:39,893.893 INFO    ] 200
[2026-08-29 21:10:39,894.894 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:10:39,926.926 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:10:39,927.927 INFO    ] No update needed
[2026-08-29 21:10:39,929.929 INFO    ] Checking for camera pi updates...
[2026-08-29 21:10:39,950.950 INFO    ] 200
[2026-08-29 21:10:39,952.952 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:10:39,975.975 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:10:40,053.053 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:10:40,054.054 INFO    ] No camera update needed
[2026-08-29 21:10:40,056.056 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:10:40,057.057 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:10:40,060.060 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:10:40,062.062 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:10:42,100.100 INFO    ] ================================================
[2026-08-29 21:10:42,116.116 INFO    ] Launching Daemon at Sat Aug 29 21:10:42 IST 2026
[2026-08-29 21:10:42,127.127 INFO    ] ================================================
[2026-08-29 21:10:42,500.500 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:10:42
[2026-08-29 21:10:42,812.812 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:10:42,999.999 INFO    ] Initializing speech engine...
[2026-08-29 21:10:43,013.013 INFO    ] 2026-08-29 21:10:43
[2026-08-29 21:10:43,279.279 INFO    ] 2026-08-29 21:10:43
[2026-08-29 21:10:43,314.314 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:10:43,491.491 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:10:43,504.504 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:10:43,617.617 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:10:43,636.636 INFO    ] time= 29/08/2026 21:10:43
[2026-08-29 21:10:43,656.656 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:10:43,664.664 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:10:43,733.733 INFO    ] No existing commands found in stream
[2026-08-29 21:10:48,745.745 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:10:48,748.748 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-08-29 21:10:50,051.051 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:10:50,054.054 INFO    ] Checking for system updates...
[2026-08-29 21:10:50,098.098 INFO    ] 200
[2026-08-29 21:10:50,100.100 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:10:50,161.161 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:10:50,164.164 INFO    ] No update needed
[2026-08-29 21:10:50,167.167 INFO    ] Checking for camera pi updates...
[2026-08-29 21:10:50,201.201 INFO    ] 200
[2026-08-29 21:10:50,203.203 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:10:50,244.244 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:10:50,349.349 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:10:50,352.352 INFO    ] No camera update needed
[2026-08-29 21:10:50,355.355 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:10:50,358.358 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:10:50,364.364 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:10:50,370.370 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:10:52,410.410 INFO    ] ================================================
[2026-08-29 21:10:52,426.426 INFO    ] Launching Daemon at Sat Aug 29 21:10:52 IST 2026
[2026-08-29 21:10:52,437.437 INFO    ] ================================================
[2026-08-29 21:10:52,813.813 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:10:52
[2026-08-29 21:10:53,160.160 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:10:53,464.464 INFO    ] Initializing speech engine...
[2026-08-29 21:10:53,476.476 INFO    ] 2026-08-29 21:10:53
[2026-08-29 21:10:53,794.794 INFO    ] 2026-08-29 21:10:53
[2026-08-29 21:10:53,884.884 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:10:54,039.039 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:10:54,070.070 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:10:54,188.188 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:10:54,247.247 INFO    ] time= 29/08/2026 21:10:54
[2026-08-29 21:10:54,307.307 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:10:54,330.330 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:10:54,389.389 INFO    ] No existing commands found in stream
[2026-08-29 21:10:59,415.415 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:10:59,419.419 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-08-29 21:11:00,425.425 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:11:00,426.426 INFO    ] Checking for system updates...
[2026-08-29 21:11:00,446.446 INFO    ] 200
[2026-08-29 21:11:00,448.448 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:11:00,481.481 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:11:00,482.482 INFO    ] No update needed
[2026-08-29 21:11:00,483.483 INFO    ] Checking for camera pi updates...
[2026-08-29 21:11:00,502.502 INFO    ] 200
[2026-08-29 21:11:00,504.504 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:11:00,527.527 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:11:00,701.701 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:11:00,702.702 INFO    ] No camera update needed
[2026-08-29 21:11:00,703.703 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:11:00,705.705 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:11:00,708.708 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:11:00,710.710 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:11:02,755.755 INFO    ] ================================================
[2026-08-29 21:11:02,776.776 INFO    ] Launching Daemon at Sat Aug 29 21:11:02 IST 2026
[2026-08-29 21:11:02,793.793 INFO    ] ================================================
[2026-08-29 21:11:03,429.429 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:11:03
[2026-08-29 21:11:04,016.016 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:11:04,267.267 INFO    ] Initializing speech engine...
[2026-08-29 21:11:04,289.289 INFO    ] 2026-08-29 21:11:04
[2026-08-29 21:11:04,549.549 INFO    ] 2026-08-29 21:11:04
[2026-08-29 21:11:04,585.585 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:11:04,760.760 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:11:04,773.773 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:11:04,918.918 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:11:04,927.927 INFO    ] time= 29/08/2026 21:11:04
[2026-08-29 21:11:04,931.931 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:11:04,937.937 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:11:05,043.043 INFO    ] No existing commands found in stream
[2026-08-29 21:11:10,063.063 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:11:10,066.066 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-08-29 21:11:11,092.092 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:11:11,094.094 INFO    ] Checking for system updates...
[2026-08-29 21:11:11,114.114 INFO    ] 200
[2026-08-29 21:11:11,115.115 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:11:11,148.148 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:11:11,149.149 INFO    ] No update needed
[2026-08-29 21:11:11,150.150 INFO    ] Checking for camera pi updates...
[2026-08-29 21:11:11,169.169 INFO    ] 200
[2026-08-29 21:11:11,170.170 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:11:11,195.195 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:11:11,240.240 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:11:11,241.241 INFO    ] No camera update needed
[2026-08-29 21:11:11,242.242 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:11:11,244.244 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:11:11,246.246 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:11:11,249.249 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:11:13,288.288 INFO    ] ================================================
[2026-08-29 21:11:13,307.307 INFO    ] Launching Daemon at Sat Aug 29 21:11:13 IST 2026
[2026-08-29 21:11:13,318.318 INFO    ] ================================================
[2026-08-29 21:11:13,962.962 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:11:13
[2026-08-29 21:11:14,615.615 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:11:14,870.870 INFO    ] Initializing speech engine...
[2026-08-29 21:11:14,878.878 INFO    ] 2026-08-29 21:11:14
[2026-08-29 21:11:15,068.068 INFO    ] 2026-08-29 21:11:15
[2026-08-29 21:11:15,101.101 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:11:15,270.270 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:11:15,282.282 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:11:15,428.428 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:11:15,435.435 INFO    ] time= 29/08/2026 21:11:15
[2026-08-29 21:11:15,443.443 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:11:15,483.483 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:11:15,614.614 INFO    ] No existing commands found in stream
[2026-08-29 21:11:20,639.639 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:11:20,642.642 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-08-29 21:11:21,454.454 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:11:21,457.457 INFO    ] Checking for system updates...
[2026-08-29 21:11:21,493.493 INFO    ] 200
[2026-08-29 21:11:21,496.496 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:11:21,554.554 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:11:21,556.556 INFO    ] No update needed
[2026-08-29 21:11:21,558.558 INFO    ] Checking for camera pi updates...
[2026-08-29 21:11:21,592.592 INFO    ] 200
[2026-08-29 21:11:21,594.594 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:11:21,634.634 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:11:21,711.711 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:11:21,714.714 INFO    ] No camera update needed
[2026-08-29 21:11:21,717.717 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:11:21,724.724 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:11:21,729.729 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:11:21,734.734 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:11:23,774.774 INFO    ] ================================================
[2026-08-29 21:11:23,789.789 INFO    ] Launching Daemon at Sat Aug 29 21:11:23 IST 2026
[2026-08-29 21:11:23,800.800 INFO    ] ================================================
[2026-08-29 21:11:24,349.349 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:11:24
[2026-08-29 21:11:24,686.686 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:11:24,837.837 INFO    ] Initializing speech engine...
[2026-08-29 21:11:24,843.843 INFO    ] 2026-08-29 21:11:24
[2026-08-29 21:11:25,054.054 INFO    ] 2026-08-29 21:11:25
[2026-08-29 21:11:25,109.109 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:11:25,245.245 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:11:25,263.263 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:11:25,456.456 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:11:25,491.491 INFO    ] time= 29/08/2026 21:11:25
[2026-08-29 21:11:25,509.509 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:11:25,520.520 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:11:25,620.620 INFO    ] No existing commands found in stream
[2026-08-29 21:11:30,646.646 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:11:30,649.649 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-08-29 21:11:34,454.454 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:11:34,457.457 INFO    ] Checking for system updates...
[2026-08-29 21:11:34,493.493 INFO    ] 200
[2026-08-29 21:11:34,496.496 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:11:34,548.548 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:11:34,558.558 INFO    ] No update needed
[2026-08-29 21:11:34,561.561 INFO    ] Checking for camera pi updates...
[2026-08-29 21:11:34,596.596 INFO    ] 200
[2026-08-29 21:11:34,598.598 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:11:34,639.639 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:11:34,729.729 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:11:34,732.732 INFO    ] No camera update needed
[2026-08-29 21:11:34,735.735 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:11:34,737.737 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:11:34,742.742 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:11:34,745.745 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:11:36,783.783 INFO    ] ================================================
[2026-08-29 21:11:36,798.798 INFO    ] Launching Daemon at Sat Aug 29 21:11:36 IST 2026
[2026-08-29 21:11:36,809.809 INFO    ] ================================================
[2026-08-29 21:11:37,153.153 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:11:37
[2026-08-29 21:11:37,466.466 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:11:37,603.603 INFO    ] Initializing speech engine...
[2026-08-29 21:11:37,611.611 INFO    ] 2026-08-29 21:11:37
[2026-08-29 21:11:37,861.861 INFO    ] 2026-08-29 21:11:37
[2026-08-29 21:11:37,916.916 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:11:38,076.076 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:11:38,084.084 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:11:38,242.242 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:11:38,282.282 INFO    ] time= 29/08/2026 21:11:38
[2026-08-29 21:11:38,288.288 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:11:38,306.306 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:11:38,406.406 INFO    ] No existing commands found in stream
[2026-08-29 21:11:43,432.432 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:11:43,434.434 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-08-29 21:11:43,855.855 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:11:43,856.856 INFO    ] Checking for system updates...
[2026-08-29 21:11:43,878.878 INFO    ] 200
[2026-08-29 21:11:43,879.879 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:11:43,914.914 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:11:43,915.915 INFO    ] No update needed
[2026-08-29 21:11:43,916.916 INFO    ] Checking for camera pi updates...
[2026-08-29 21:11:43,939.939 INFO    ] 200
[2026-08-29 21:11:43,940.940 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:11:43,965.965 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:11:44,037.037 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:11:44,038.038 INFO    ] No camera update needed
[2026-08-29 21:11:44,039.039 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:11:44,041.041 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:11:44,044.044 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:11:44,047.047 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:11:46,085.085 INFO    ] ================================================
[2026-08-29 21:11:46,100.100 INFO    ] Launching Daemon at Sat Aug 29 21:11:46 IST 2026
[2026-08-29 21:11:46,111.111 INFO    ] ================================================
[2026-08-29 21:11:46,463.463 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:11:46
[2026-08-29 21:11:46,776.776 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:11:46,906.906 INFO    ] Initializing speech engine...
[2026-08-29 21:11:46,910.910 INFO    ] 2026-08-29 21:11:46
[2026-08-29 21:11:47,128.128 INFO    ] 2026-08-29 21:11:47
[2026-08-29 21:11:47,209.209 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:11:47,361.361 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:11:47,370.370 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:11:47,505.505 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:11:47,527.527 INFO    ] time= 29/08/2026 21:11:47
[2026-08-29 21:11:47,581.581 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:11:47,635.635 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:11:47,702.702 INFO    ] No existing commands found in stream
[2026-08-29 21:11:52,714.714 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:11:52,717.717 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-08-29 21:11:55,498.498 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:11:55,499.499 INFO    ] Checking for system updates...
[2026-08-29 21:11:55,520.520 INFO    ] 200
[2026-08-29 21:11:55,521.521 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:11:55,551.551 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:11:55,552.552 INFO    ] No update needed
[2026-08-29 21:11:55,554.554 INFO    ] Checking for camera pi updates...
[2026-08-29 21:11:55,574.574 INFO    ] 200
[2026-08-29 21:11:55,575.575 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:11:55,598.598 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:11:55,669.669 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:11:55,670.670 INFO    ] No camera update needed
[2026-08-29 21:11:55,671.671 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:11:55,673.673 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:11:55,676.676 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:11:55,678.678 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:11:57,716.716 INFO    ] ================================================
[2026-08-29 21:11:57,731.731 INFO    ] Launching Daemon at Sat Aug 29 21:11:57 IST 2026
[2026-08-29 21:11:57,742.742 INFO    ] ================================================
[2026-08-29 21:11:58,081.081 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:11:58
[2026-08-29 21:11:58,392.392 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:11:58,529.529 INFO    ] Initializing speech engine...
[2026-08-29 21:11:58,539.539 INFO    ] 2026-08-29 21:11:58
[2026-08-29 21:11:58,757.757 INFO    ] 2026-08-29 21:11:58
[2026-08-29 21:11:58,840.840 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:11:58,988.988 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:11:58,996.996 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:11:59,132.132 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:11:59,182.182 INFO    ] time= 29/08/2026 21:11:59
[2026-08-29 21:11:59,231.231 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:11:59,263.263 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:11:59,319.319 INFO    ] No existing commands found in stream
[2026-08-29 21:12:04,331.331 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:12:04,334.334 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-08-29 21:12:07,629.629 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:12:07,631.631 INFO    ] Checking for system updates...
[2026-08-29 21:12:07,651.651 INFO    ] 200
[2026-08-29 21:12:07,652.652 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:12:07,682.682 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:12:07,683.683 INFO    ] No update needed
[2026-08-29 21:12:07,685.685 INFO    ] Checking for camera pi updates...
[2026-08-29 21:12:07,704.704 INFO    ] 200
[2026-08-29 21:12:07,705.705 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:12:07,730.730 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:12:07,801.801 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:12:07,802.802 INFO    ] No camera update needed
[2026-08-29 21:12:07,803.803 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:12:07,805.805 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:12:07,807.807 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:12:07,810.810 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:12:09,849.849 INFO    ] ================================================
[2026-08-29 21:12:09,865.865 INFO    ] Launching Daemon at Sat Aug 29 21:12:09 IST 2026
[2026-08-29 21:12:09,875.875 INFO    ] ================================================
[2026-08-29 21:12:10,210.210 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:12:10
[2026-08-29 21:12:10,522.522 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:12:10,656.656 INFO    ] Initializing speech engine...
[2026-08-29 21:12:10,669.669 INFO    ] 2026-08-29 21:12:10
[2026-08-29 21:12:10,876.876 INFO    ] 2026-08-29 21:12:10
[2026-08-29 21:12:10,906.906 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:12:11,028.028 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:12:11,083.083 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:12:11,194.194 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:12:11,202.202 INFO    ] time= 29/08/2026 21:12:11
[2026-08-29 21:12:11,211.211 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:12:11,269.269 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:12:11,379.379 INFO    ] No existing commands found in stream
[2026-08-29 21:12:16,404.404 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:12:16,407.407 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-08-29 21:12:18,343.343 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:12:18,345.345 INFO    ] Checking for system updates...
[2026-08-29 21:12:18,366.366 INFO    ] 200
[2026-08-29 21:12:18,367.367 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:12:18,398.398 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:12:18,399.399 INFO    ] No update needed
[2026-08-29 21:12:18,401.401 INFO    ] Checking for camera pi updates...
[2026-08-29 21:12:18,421.421 INFO    ] 200
[2026-08-29 21:12:18,422.422 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:12:18,447.447 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:12:18,520.520 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:12:18,522.522 INFO    ] No camera update needed
[2026-08-29 21:12:18,523.523 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:12:18,524.524 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:12:18,527.527 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:12:18,530.530 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:12:20,569.569 INFO    ] ================================================
[2026-08-29 21:12:20,584.584 INFO    ] Launching Daemon at Sat Aug 29 21:12:20 IST 2026
[2026-08-29 21:12:20,595.595 INFO    ] ================================================
[2026-08-29 21:12:20,956.956 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:12:20
[2026-08-29 21:12:21,271.271 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:12:21,404.404 INFO    ] Initializing speech engine...
[2026-08-29 21:12:21,417.417 INFO    ] 2026-08-29 21:12:21
[2026-08-29 21:12:21,631.631 INFO    ] 2026-08-29 21:12:21
[2026-08-29 21:12:21,712.712 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:12:21,859.859 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:12:21,870.870 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:12:22,003.003 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:12:22,058.058 INFO    ] time= 29/08/2026 21:12:22
[2026-08-29 21:12:22,112.112 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:12:22,137.137 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:12:22,262.262 INFO    ] No existing commands found in stream
[2026-08-29 21:12:27,292.292 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:12:27,295.295 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-08-29 21:12:31,614.614 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:12:31,616.616 INFO    ] Checking for system updates...
[2026-08-29 21:12:31,656.656 INFO    ] 200
[2026-08-29 21:12:31,658.658 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:12:31,722.722 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:12:31,724.724 INFO    ] No update needed
[2026-08-29 21:12:31,727.727 INFO    ] Checking for camera pi updates...
[2026-08-29 21:12:31,764.764 INFO    ] 200
[2026-08-29 21:12:31,766.766 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:12:31,813.813 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:12:31,905.905 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:12:31,908.908 INFO    ] No camera update needed
[2026-08-29 21:12:31,911.911 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:12:31,913.913 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:12:31,919.919 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:12:31,925.925 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:12:33,967.967 INFO    ] ================================================
[2026-08-29 21:12:33,981.981 INFO    ] Launching Daemon at Sat Aug 29 21:12:33 IST 2026
[2026-08-29 21:12:33,993.993 INFO    ] ================================================
[2026-08-29 21:12:34,555.555 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:12:34
[2026-08-29 21:12:34,870.870 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:12:35,044.044 INFO    ] Initializing speech engine...
[2026-08-29 21:12:35,059.059 INFO    ] 2026-08-29 21:12:35
[2026-08-29 21:12:35,342.342 INFO    ] 2026-08-29 21:12:35
[2026-08-29 21:12:35,372.372 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:12:35,538.538 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:12:35,551.551 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:12:35,692.692 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:12:35,701.701 INFO    ] time= 29/08/2026 21:12:35
[2026-08-29 21:12:35,706.706 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:12:35,713.713 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:12:35,783.783 INFO    ] No existing commands found in stream
[2026-08-29 21:12:40,818.818 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:12:40,821.821 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 21:12:44,413.413 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:12:44,415.415 INFO    ] Checking for system updates...
[2026-08-29 21:12:44,435.435 INFO    ] 200
[2026-08-29 21:12:44,436.436 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:12:44,466.466 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:12:44,468.468 INFO    ] No update needed
[2026-08-29 21:12:44,469.469 INFO    ] Checking for camera pi updates...
[2026-08-29 21:12:44,488.488 INFO    ] 200
[2026-08-29 21:12:44,489.489 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:12:44,512.512 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:12:44,586.586 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:12:44,587.587 INFO    ] No camera update needed
[2026-08-29 21:12:44,588.588 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:12:44,589.589 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:12:44,592.592 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:12:44,595.595 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:12:46,635.635 INFO    ] ================================================
[2026-08-29 21:12:46,649.649 INFO    ] Launching Daemon at Sat Aug 29 21:12:46 IST 2026
[2026-08-29 21:12:46,660.660 INFO    ] ================================================
[2026-08-29 21:12:47,018.018 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:12:47
[2026-08-29 21:12:47,335.335 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:12:47,594.594 INFO    ] Initializing speech engine...
[2026-08-29 21:12:47,602.602 INFO    ] 2026-08-29 21:12:47
[2026-08-29 21:12:47,864.864 INFO    ] 2026-08-29 21:12:47
[2026-08-29 21:12:47,916.916 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:12:48,061.061 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:12:48,074.074 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:12:48,215.215 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:12:48,224.224 INFO    ] time= 29/08/2026 21:12:48
[2026-08-29 21:12:48,230.230 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:12:48,260.260 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:12:48,381.381 INFO    ] No existing commands found in stream
[2026-08-29 21:12:53,412.412 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:12:53,415.415 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-08-29 21:12:54,088.088 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:12:54,090.090 INFO    ] Checking for system updates...
[2026-08-29 21:12:54,111.111 INFO    ] 200
[2026-08-29 21:12:54,113.113 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:12:54,145.145 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:12:54,146.146 INFO    ] No update needed
[2026-08-29 21:12:54,147.147 INFO    ] Checking for camera pi updates...
[2026-08-29 21:12:54,167.167 INFO    ] 200
[2026-08-29 21:12:54,168.168 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:12:54,194.194 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:12:54,288.288 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:12:54,289.289 INFO    ] No camera update needed
[2026-08-29 21:12:54,290.290 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:12:54,292.292 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:12:54,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:12:54,298.298 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:12:56,339.339 INFO    ] ================================================
[2026-08-29 21:12:56,360.360 INFO    ] Launching Daemon at Sat Aug 29 21:12:56 IST 2026
[2026-08-29 21:12:56,371.371 INFO    ] ================================================
[2026-08-29 21:12:56,690.690 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:12:56
[2026-08-29 21:12:57,006.006 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:12:57,143.143 INFO    ] Initializing speech engine...
[2026-08-29 21:12:57,153.153 INFO    ] 2026-08-29 21:12:57
[2026-08-29 21:12:57,349.349 INFO    ] 2026-08-29 21:12:57
[2026-08-29 21:12:57,391.391 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:12:57,612.612 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:12:57,621.621 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:12:57,753.753 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:12:57,774.774 INFO    ] time= 29/08/2026 21:12:57
[2026-08-29 21:12:57,828.828 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:12:57,884.884 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:12:57,937.937 INFO    ] No existing commands found in stream
[2026-08-29 21:13:02,948.948 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:13:02,951.951 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 21:13:06,416.416 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:13:06,418.418 INFO    ] Checking for system updates...
[2026-08-29 21:13:06,439.439 INFO    ] 200
[2026-08-29 21:13:06,440.440 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:13:06,470.470 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:13:06,472.472 INFO    ] No update needed
[2026-08-29 21:13:06,473.473 INFO    ] Checking for camera pi updates...
[2026-08-29 21:13:06,493.493 INFO    ] 200
[2026-08-29 21:13:06,494.494 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:13:06,517.517 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:13:06,592.592 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:13:06,593.593 INFO    ] No camera update needed
[2026-08-29 21:13:06,594.594 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:13:06,595.595 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:13:06,598.598 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:13:06,601.601 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:13:08,640.640 INFO    ] ================================================
[2026-08-29 21:13:08,656.656 INFO    ] Launching Daemon at Sat Aug 29 21:13:08 IST 2026
[2026-08-29 21:13:08,667.667 INFO    ] ================================================
[2026-08-29 21:13:09,035.035 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:13:09
[2026-08-29 21:13:09,351.351 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:13:09,628.628 INFO    ] Initializing speech engine...
[2026-08-29 21:13:09,633.633 INFO    ] 2026-08-29 21:13:09
[2026-08-29 21:13:09,893.893 INFO    ] 2026-08-29 21:13:09
[2026-08-29 21:13:09,947.947 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:13:10,089.089 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:13:10,102.102 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:13:10,212.212 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:13:10,231.231 INFO    ] time= 29/08/2026 21:13:10
[2026-08-29 21:13:10,250.250 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:13:10,258.258 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:13:10,325.325 INFO    ] No existing commands found in stream
[2026-08-29 21:13:15,337.337 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:13:15,340.340 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-08-29 21:13:17,869.869 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:13:17,871.871 INFO    ] Checking for system updates...
[2026-08-29 21:13:17,891.891 INFO    ] 200
[2026-08-29 21:13:17,893.893 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:13:17,922.922 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:13:17,924.924 INFO    ] No update needed
[2026-08-29 21:13:17,925.925 INFO    ] Checking for camera pi updates...
[2026-08-29 21:13:17,944.944 INFO    ] 200
[2026-08-29 21:13:17,945.945 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:13:17,968.968 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:13:18,050.050 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:13:18,053.053 INFO    ] No camera update needed
[2026-08-29 21:13:18,055.055 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:13:18,057.057 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:13:18,063.063 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:13:18,068.068 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:13:20,111.111 INFO    ] ================================================
[2026-08-29 21:13:20,126.126 INFO    ] Launching Daemon at Sat Aug 29 21:13:20 IST 2026
[2026-08-29 21:13:20,137.137 INFO    ] ================================================
[2026-08-29 21:13:20,715.715 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:13:20
[2026-08-29 21:13:21,239.239 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:13:21,383.383 INFO    ] Initializing speech engine...
[2026-08-29 21:13:21,388.388 INFO    ] 2026-08-29 21:13:21
[2026-08-29 21:13:21,625.625 INFO    ] 2026-08-29 21:13:21
[2026-08-29 21:13:21,680.680 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:13:21,843.843 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:13:21,850.850 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:13:22,023.023 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:13:22,053.053 INFO    ] time= 29/08/2026 21:13:22
[2026-08-29 21:13:22,067.067 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:13:22,078.078 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:13:22,181.181 INFO    ] No existing commands found in stream
[2026-08-29 21:13:27,212.212 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:13:27,215.215 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-08-29 21:13:30,594.594 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:13:30,596.596 INFO    ] Checking for system updates...
[2026-08-29 21:13:30,618.618 INFO    ] 200
[2026-08-29 21:13:30,619.619 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:13:30,650.650 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:13:30,651.651 INFO    ] No update needed
[2026-08-29 21:13:30,653.653 INFO    ] Checking for camera pi updates...
[2026-08-29 21:13:30,673.673 INFO    ] 200
[2026-08-29 21:13:30,674.674 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:13:30,699.699 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:13:30,767.767 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:13:30,769.769 INFO    ] No camera update needed
[2026-08-29 21:13:30,770.770 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:13:30,771.771 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:13:30,774.774 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:13:30,777.777 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:13:32,817.817 INFO    ] ================================================
[2026-08-29 21:13:32,839.839 INFO    ] Launching Daemon at Sat Aug 29 21:13:32 IST 2026
[2026-08-29 21:13:32,850.850 INFO    ] ================================================
[2026-08-29 21:13:33,414.414 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:13:33
[2026-08-29 21:13:33,998.998 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:13:34,246.246 INFO    ] Initializing speech engine...
[2026-08-29 21:13:34,261.261 INFO    ] 2026-08-29 21:13:34
[2026-08-29 21:13:34,527.527 INFO    ] 2026-08-29 21:13:34
[2026-08-29 21:13:34,568.568 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:13:34,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:13:34,705.705 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:13:34,839.839 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:13:34,847.847 INFO    ] time= 29/08/2026 21:13:34
[2026-08-29 21:13:34,853.853 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:13:34,867.867 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:13:34,966.966 INFO    ] No existing commands found in stream
[2026-08-29 21:13:39,983.983 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:13:39,986.986 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-08-29 21:13:40,873.873 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:13:40,875.875 INFO    ] Checking for system updates...
[2026-08-29 21:13:40,895.895 INFO    ] 200
[2026-08-29 21:13:40,897.897 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:13:40,930.930 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:13:40,931.931 INFO    ] No update needed
[2026-08-29 21:13:40,933.933 INFO    ] Checking for camera pi updates...
[2026-08-29 21:13:40,952.952 INFO    ] 200
[2026-08-29 21:13:40,953.953 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:13:40,977.977 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:13:41,069.069 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:13:41,071.071 INFO    ] No camera update needed
[2026-08-29 21:13:41,072.072 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:13:41,073.073 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:13:41,076.076 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:13:41,079.079 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:13:43,118.118 INFO    ] ================================================
[2026-08-29 21:13:43,134.134 INFO    ] Launching Daemon at Sat Aug 29 21:13:43 IST 2026
[2026-08-29 21:13:43,144.144 INFO    ] ================================================
[2026-08-29 21:13:43,509.509 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:13:43
[2026-08-29 21:13:43,822.822 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:13:43,962.962 INFO    ] Initializing speech engine...
[2026-08-29 21:13:43,972.972 INFO    ] 2026-08-29 21:13:43
[2026-08-29 21:13:44,183.183 INFO    ] 2026-08-29 21:13:44
[2026-08-29 21:13:44,214.214 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:13:44,343.343 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:13:44,386.386 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:13:44,548.548 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:13:44,595.595 INFO    ] time= 29/08/2026 21:13:44
[2026-08-29 21:13:44,631.631 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:13:44,654.654 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:13:44,729.729 INFO    ] No existing commands found in stream
[2026-08-29 21:13:49,740.740 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:13:49,743.743 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-08-29 21:13:53,095.095 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:13:53,097.097 INFO    ] Checking for system updates...
[2026-08-29 21:13:53,117.117 INFO    ] 200
[2026-08-29 21:13:53,118.118 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:13:53,148.148 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:13:53,149.149 INFO    ] No update needed
[2026-08-29 21:13:53,150.150 INFO    ] Checking for camera pi updates...
[2026-08-29 21:13:53,169.169 INFO    ] 200
[2026-08-29 21:13:53,171.171 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:13:53,193.193 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:13:53,270.270 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:13:53,271.271 INFO    ] No camera update needed
[2026-08-29 21:13:53,272.272 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:13:53,273.273 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:13:53,276.276 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:13:53,280.280 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:13:55,319.319 INFO    ] ================================================
[2026-08-29 21:13:55,334.334 INFO    ] Launching Daemon at Sat Aug 29 21:13:55 IST 2026
[2026-08-29 21:13:55,346.346 INFO    ] ================================================
[2026-08-29 21:13:55,716.716 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:13:55
[2026-08-29 21:13:56,027.027 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:13:56,268.268 INFO    ] Initializing speech engine...
[2026-08-29 21:13:56,286.286 INFO    ] 2026-08-29 21:13:56
[2026-08-29 21:13:56,537.537 INFO    ] 2026-08-29 21:13:56
[2026-08-29 21:13:56,573.573 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:13:56,747.747 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:13:56,760.760 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:13:56,874.874 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:13:56,893.893 INFO    ] time= 29/08/2026 21:13:56
[2026-08-29 21:13:56,913.913 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:13:56,921.921 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:13:56,990.990 INFO    ] No existing commands found in stream
[2026-08-29 21:14:02,003.003 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:14:02,007.007 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-08-29 21:14:04,197.197 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:14:04,199.199 INFO    ] Checking for system updates...
[2026-08-29 21:14:04,235.235 INFO    ] 200
[2026-08-29 21:14:04,238.238 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:14:04,296.296 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:14:04,299.299 INFO    ] No update needed
[2026-08-29 21:14:04,301.301 INFO    ] Checking for camera pi updates...
[2026-08-29 21:14:04,338.338 INFO    ] 200
[2026-08-29 21:14:04,340.340 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:14:04,382.382 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:14:04,472.472 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:14:04,475.475 INFO    ] No camera update needed
[2026-08-29 21:14:04,477.477 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:14:04,480.480 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:14:04,485.485 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:14:04,491.491 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:14:06,536.536 INFO    ] ================================================
[2026-08-29 21:14:06,554.554 INFO    ] Launching Daemon at Sat Aug 29 21:14:06 IST 2026
[2026-08-29 21:14:06,567.567 INFO    ] ================================================
[2026-08-29 21:14:07,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:14:07
[2026-08-29 21:14:07,660.660 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:14:07,910.910 INFO    ] Initializing speech engine...
[2026-08-29 21:14:07,925.925 INFO    ] 2026-08-29 21:14:07
[2026-08-29 21:14:08,187.187 INFO    ] 2026-08-29 21:14:08
[2026-08-29 21:14:08,223.223 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:14:08,400.400 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:14:08,413.413 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:14:08,543.543 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:14:08,565.565 INFO    ] time= 29/08/2026 21:14:08
[2026-08-29 21:14:08,571.571 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:14:08,577.577 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:14:08,646.646 INFO    ] No existing commands found in stream
[2026-08-29 21:14:13,659.659 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:14:13,662.662 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-08-29 21:14:14,038.038 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:14:14,039.039 INFO    ] Checking for system updates...
[2026-08-29 21:14:14,061.061 INFO    ] 200
[2026-08-29 21:14:14,063.063 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:14:14,095.095 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:14:14,097.097 INFO    ] No update needed
[2026-08-29 21:14:14,098.098 INFO    ] Checking for camera pi updates...
[2026-08-29 21:14:14,118.118 INFO    ] 200
[2026-08-29 21:14:14,120.120 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:14:14,145.145 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:14:14,220.220 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:14:14,222.222 INFO    ] No camera update needed
[2026-08-29 21:14:14,223.223 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:14:14,224.224 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:14:14,228.228 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:14:14,230.230 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:14:16,270.270 INFO    ] ================================================
[2026-08-29 21:14:16,286.286 INFO    ] Launching Daemon at Sat Aug 29 21:14:16 IST 2026
[2026-08-29 21:14:16,297.297 INFO    ] ================================================
[2026-08-29 21:14:16,633.633 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:14:16
[2026-08-29 21:14:16,959.959 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:14:17,230.230 INFO    ] Initializing speech engine...
[2026-08-29 21:14:17,237.237 INFO    ] 2026-08-29 21:14:17
[2026-08-29 21:14:17,483.483 INFO    ] 2026-08-29 21:14:17
[2026-08-29 21:14:17,518.518 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:14:17,690.690 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:14:17,702.702 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:14:17,844.844 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:14:17,851.851 INFO    ] time= 29/08/2026 21:14:17
[2026-08-29 21:14:17,855.855 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:14:17,861.861 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:14:17,933.933 INFO    ] No existing commands found in stream
[2026-08-29 21:14:22,964.964 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:14:22,966.966 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-08-29 21:14:26,118.118 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:14:26,120.120 INFO    ] Checking for system updates...
[2026-08-29 21:14:26,140.140 INFO    ] 200
[2026-08-29 21:14:26,141.141 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:14:26,170.170 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:14:26,172.172 INFO    ] No update needed
[2026-08-29 21:14:26,173.173 INFO    ] Checking for camera pi updates...
[2026-08-29 21:14:26,192.192 INFO    ] 200
[2026-08-29 21:14:26,193.193 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:14:26,227.227 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:14:26,327.327 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:14:26,330.330 INFO    ] No camera update needed
[2026-08-29 21:14:26,333.333 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:14:26,335.335 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:14:26,340.340 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:14:26,345.345 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:14:28,386.386 INFO    ] ================================================
[2026-08-29 21:14:28,401.401 INFO    ] Launching Daemon at Sat Aug 29 21:14:28 IST 2026
[2026-08-29 21:14:28,413.413 INFO    ] ================================================
[2026-08-29 21:14:29,045.045 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:14:29
[2026-08-29 21:14:29,496.496 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:14:29,628.628 INFO    ] Initializing speech engine...
[2026-08-29 21:14:29,640.640 INFO    ] 2026-08-29 21:14:29
[2026-08-29 21:14:29,845.845 INFO    ] 2026-08-29 21:14:29
[2026-08-29 21:14:29,874.874 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:14:30,040.040 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:14:30,056.056 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:14:30,196.196 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:14:30,224.224 INFO    ] time= 29/08/2026 21:14:30
[2026-08-29 21:14:30,232.232 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:14:30,240.240 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:14:30,329.329 INFO    ] No existing commands found in stream
[2026-08-29 21:14:35,344.344 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:14:35,347.347 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-08-29 21:14:38,298.298 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:14:38,299.299 INFO    ] Checking for system updates...
[2026-08-29 21:14:38,320.320 INFO    ] 200
[2026-08-29 21:14:38,322.322 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:14:38,353.353 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:14:38,354.354 INFO    ] No update needed
[2026-08-29 21:14:38,355.355 INFO    ] Checking for camera pi updates...
[2026-08-29 21:14:38,376.376 INFO    ] 200
[2026-08-29 21:14:38,378.378 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:14:38,400.400 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:14:38,509.509 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:14:38,510.510 INFO    ] No camera update needed
[2026-08-29 21:14:38,511.511 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:14:38,513.513 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:14:38,515.515 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:14:38,518.518 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:14:40,557.557 INFO    ] ================================================
[2026-08-29 21:14:40,572.572 INFO    ] Launching Daemon at Sat Aug 29 21:14:40 IST 2026
[2026-08-29 21:14:40,583.583 INFO    ] ================================================
[2026-08-29 21:14:40,917.917 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:14:40
[2026-08-29 21:14:41,229.229 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:14:41,360.360 INFO    ] Initializing speech engine...
[2026-08-29 21:14:41,364.364 INFO    ] 2026-08-29 21:14:41
[2026-08-29 21:14:41,583.583 INFO    ] 2026-08-29 21:14:41
[2026-08-29 21:14:41,611.611 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:14:41,734.734 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:14:41,797.797 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:14:41,930.930 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:14:41,985.985 INFO    ] time= 29/08/2026 21:14:41
[2026-08-29 21:14:42,020.020 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:14:42,031.031 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:14:42,102.102 INFO    ] No existing commands found in stream
[2026-08-29 21:14:47,113.113 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:14:47,116.116 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-08-29 21:14:48,054.054 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:14:48,055.055 INFO    ] Checking for system updates...
[2026-08-29 21:14:48,076.076 INFO    ] 200
[2026-08-29 21:14:48,077.077 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:14:48,109.109 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:14:48,110.110 INFO    ] No update needed
[2026-08-29 21:14:48,111.111 INFO    ] Checking for camera pi updates...
[2026-08-29 21:14:48,130.130 INFO    ] 200
[2026-08-29 21:14:48,132.132 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:14:48,158.158 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:14:48,241.241 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:14:48,243.243 INFO    ] No camera update needed
[2026-08-29 21:14:48,244.244 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:14:48,245.245 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:14:48,248.248 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:14:48,250.250 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:14:50,289.289 INFO    ] ================================================
[2026-08-29 21:14:50,304.304 INFO    ] Launching Daemon at Sat Aug 29 21:14:50 IST 2026
[2026-08-29 21:14:50,315.315 INFO    ] ================================================
[2026-08-29 21:14:50,879.879 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:14:50
[2026-08-29 21:14:51,463.463 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:14:51,732.732 INFO    ] Initializing speech engine...
[2026-08-29 21:14:51,754.754 INFO    ] 2026-08-29 21:14:51
[2026-08-29 21:14:52,000.000 INFO    ] 2026-08-29 21:14:51
[2026-08-29 21:14:52,031.031 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:14:52,126.126 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:14:52,192.192 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:14:52,346.346 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:14:52,354.354 INFO    ] time= 29/08/2026 21:14:52
[2026-08-29 21:14:52,372.372 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:14:52,380.380 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:14:52,498.498 INFO    ] No existing commands found in stream
[2026-08-29 21:14:57,529.529 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:14:57,537.537 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 21:14:59,053.053 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:14:59,055.055 INFO    ] Checking for system updates...
[2026-08-29 21:14:59,075.075 INFO    ] 200
[2026-08-29 21:14:59,076.076 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:14:59,106.106 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:14:59,107.107 INFO    ] No update needed
[2026-08-29 21:14:59,109.109 INFO    ] Checking for camera pi updates...
[2026-08-29 21:14:59,128.128 INFO    ] 200
[2026-08-29 21:14:59,129.129 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:14:59,151.151 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:14:59,263.263 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:14:59,265.265 INFO    ] No camera update needed
[2026-08-29 21:14:59,266.266 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:14:59,267.267 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:14:59,270.270 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:14:59,273.273 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:15:01,311.311 INFO    ] ================================================
[2026-08-29 21:15:01,326.326 INFO    ] Launching Daemon at Sat Aug 29 21:15:01 IST 2026
[2026-08-29 21:15:01,336.336 INFO    ] ================================================
[2026-08-29 21:15:02,090.090 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:15:02
[2026-08-29 21:15:03,005.005 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:15:03,368.368 INFO    ] Initializing speech engine...
[2026-08-29 21:15:03,379.379 INFO    ] 2026-08-29 21:15:03
[2026-08-29 21:15:03,700.700 INFO    ] 2026-08-29 21:15:03
[2026-08-29 21:15:03,766.766 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:15:04,002.002 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:15:04,012.012 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:15:04,147.147 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:15:04,212.212 INFO    ] time= 29/08/2026 21:15:04
[2026-08-29 21:15:04,276.276 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:15:04,295.295 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:15:04,414.414 INFO    ] No existing commands found in stream
[2026-08-29 21:15:09,439.439 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:15:09,442.442 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-08-29 21:15:12,759.759 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:15:12,760.760 INFO    ] Checking for system updates...
[2026-08-29 21:15:12,781.781 INFO    ] 200
[2026-08-29 21:15:12,783.783 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:15:12,813.813 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:15:12,814.814 INFO    ] No update needed
[2026-08-29 21:15:12,816.816 INFO    ] Checking for camera pi updates...
[2026-08-29 21:15:12,835.835 INFO    ] 200
[2026-08-29 21:15:12,837.837 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:15:12,862.862 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:15:13,017.017 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:15:13,018.018 INFO    ] No camera update needed
[2026-08-29 21:15:13,020.020 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:15:13,021.021 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:15:13,025.025 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:15:13,028.028 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:15:15,066.066 INFO    ] ================================================
[2026-08-29 21:15:15,082.082 INFO    ] Launching Daemon at Sat Aug 29 21:15:15 IST 2026
[2026-08-29 21:15:15,093.093 INFO    ] ================================================
[2026-08-29 21:15:15,432.432 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:15:15
[2026-08-29 21:15:15,744.744 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:15:15,882.882 INFO    ] Initializing speech engine...
[2026-08-29 21:15:15,893.893 INFO    ] 2026-08-29 21:15:15
[2026-08-29 21:15:16,106.106 INFO    ] 2026-08-29 21:15:16
[2026-08-29 21:15:16,140.140 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:15:16,313.313 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:15:16,324.324 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:15:16,466.466 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:15:16,475.475 INFO    ] time= 29/08/2026 21:15:16
[2026-08-29 21:15:16,481.481 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:15:16,501.501 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:15:16,628.628 INFO    ] No existing commands found in stream
[2026-08-29 21:15:21,658.658 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:15:21,661.661 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-08-29 21:15:22,261.261 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:15:22,263.263 INFO    ] Checking for system updates...
[2026-08-29 21:15:22,284.284 INFO    ] 200
[2026-08-29 21:15:22,285.285 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:15:22,316.316 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:15:22,318.318 INFO    ] No update needed
[2026-08-29 21:15:22,319.319 INFO    ] Checking for camera pi updates...
[2026-08-29 21:15:22,338.338 INFO    ] 200
[2026-08-29 21:15:22,339.339 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:15:22,364.364 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:15:22,440.440 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:15:22,443.443 INFO    ] No camera update needed
[2026-08-29 21:15:22,445.445 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:15:22,447.447 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:15:22,453.453 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:15:22,457.457 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:15:24,498.498 INFO    ] ================================================
[2026-08-29 21:15:24,513.513 INFO    ] Launching Daemon at Sat Aug 29 21:15:24 IST 2026
[2026-08-29 21:15:24,524.524 INFO    ] ================================================
[2026-08-29 21:15:25,099.099 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:15:25
[2026-08-29 21:15:25,589.589 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:15:25,741.741 INFO    ] Initializing speech engine...
[2026-08-29 21:15:25,746.746 INFO    ] 2026-08-29 21:15:25
[2026-08-29 21:15:25,935.935 INFO    ] 2026-08-29 21:15:25
[2026-08-29 21:15:25,981.981 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:15:26,149.149 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:15:26,167.167 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:15:26,303.303 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:15:26,312.312 INFO    ] time= 29/08/2026 21:15:26
[2026-08-29 21:15:26,318.318 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:15:26,375.375 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:15:26,489.489 INFO    ] No existing commands found in stream
[2026-08-29 21:15:31,520.520 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:15:31,524.524 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 21:15:34,124.124 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:15:34,127.127 INFO    ] Checking for system updates...
[2026-08-29 21:15:34,167.167 INFO    ] 200
[2026-08-29 21:15:34,170.170 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:15:34,231.231 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:15:34,234.234 INFO    ] No update needed
[2026-08-29 21:15:34,237.237 INFO    ] Checking for camera pi updates...
[2026-08-29 21:15:34,275.275 INFO    ] 200
[2026-08-29 21:15:34,278.278 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:15:34,319.319 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:15:34,402.402 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:15:34,405.405 INFO    ] No camera update needed
[2026-08-29 21:15:34,407.407 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:15:34,410.410 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:15:34,416.416 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:15:34,421.421 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:15:36,463.463 INFO    ] ================================================
[2026-08-29 21:15:36,479.479 INFO    ] Launching Daemon at Sat Aug 29 21:15:36 IST 2026
[2026-08-29 21:15:36,489.489 INFO    ] ================================================
[2026-08-29 21:15:36,836.836 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:15:36
[2026-08-29 21:15:37,169.169 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:15:37,314.314 INFO    ] Initializing speech engine...
[2026-08-29 21:15:37,325.325 INFO    ] 2026-08-29 21:15:37
[2026-08-29 21:15:37,516.516 INFO    ] 2026-08-29 21:15:37
[2026-08-29 21:15:37,570.570 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:15:37,800.800 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:15:37,811.811 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:15:37,947.947 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:15:37,984.984 INFO    ] time= 29/08/2026 21:15:37
[2026-08-29 21:15:38,044.044 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:15:38,085.085 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:15:38,143.143 INFO    ] No existing commands found in stream
[2026-08-29 21:15:43,156.156 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:15:43,159.159 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-08-29 21:15:44,924.924 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:15:44,926.926 INFO    ] Checking for system updates...
[2026-08-29 21:15:44,947.947 INFO    ] 200
[2026-08-29 21:15:44,948.948 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:15:44,978.978 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:15:44,980.980 INFO    ] No update needed
[2026-08-29 21:15:44,981.981 INFO    ] Checking for camera pi updates...
[2026-08-29 21:15:45,001.001 INFO    ] 200
[2026-08-29 21:15:45,002.002 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:15:45,025.025 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:15:45,112.112 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:15:45,113.113 INFO    ] No camera update needed
[2026-08-29 21:15:45,115.115 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:15:45,116.116 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:15:45,119.119 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:15:45,122.122 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:15:47,162.162 INFO    ] ================================================
[2026-08-29 21:15:47,182.182 INFO    ] Launching Daemon at Sat Aug 29 21:15:47 IST 2026
[2026-08-29 21:15:47,193.193 INFO    ] ================================================
[2026-08-29 21:15:47,543.543 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:15:47
[2026-08-29 21:15:47,856.856 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:15:47,988.988 INFO    ] Initializing speech engine...
[2026-08-29 21:15:47,996.996 INFO    ] 2026-08-29 21:15:47
[2026-08-29 21:15:48,195.195 INFO    ] 2026-08-29 21:15:48
[2026-08-29 21:15:48,300.300 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:15:48,457.457 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:15:48,466.466 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:15:48,601.601 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:15:48,613.613 INFO    ] time= 29/08/2026 21:15:48
[2026-08-29 21:15:48,678.678 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:15:48,737.737 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:15:48,797.797 INFO    ] No existing commands found in stream
[2026-08-29 21:15:53,809.809 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:15:53,812.812 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-08-29 21:15:58,041.041 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:15:58,043.043 INFO    ] Checking for system updates...
[2026-08-29 21:15:58,063.063 INFO    ] 200
[2026-08-29 21:15:58,064.064 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:15:58,096.096 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:15:58,097.097 INFO    ] No update needed
[2026-08-29 21:15:58,099.099 INFO    ] Checking for camera pi updates...
[2026-08-29 21:15:58,133.133 INFO    ] 200
[2026-08-29 21:15:58,135.135 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:15:58,175.175 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:15:58,273.273 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:15:58,276.276 INFO    ] No camera update needed
[2026-08-29 21:15:58,278.278 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:15:58,280.280 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:15:58,285.285 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:15:58,290.290 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:16:00,332.332 INFO    ] ================================================
[2026-08-29 21:16:00,347.347 INFO    ] Launching Daemon at Sat Aug 29 21:16:00 IST 2026
[2026-08-29 21:16:00,358.358 INFO    ] ================================================
[2026-08-29 21:16:00,939.939 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:16:00
[2026-08-29 21:16:01,399.399 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:16:01,531.531 INFO    ] Initializing speech engine...
[2026-08-29 21:16:01,544.544 INFO    ] 2026-08-29 21:16:01
[2026-08-29 21:16:01,773.773 INFO    ] 2026-08-29 21:16:01
[2026-08-29 21:16:01,828.828 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:16:01,980.980 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:16:01,991.991 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:16:02,119.119 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:16:02,164.164 INFO    ] time= 29/08/2026 21:16:02
[2026-08-29 21:16:02,168.168 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:16:02,171.171 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:16:02,229.229 INFO    ] No existing commands found in stream
[2026-08-29 21:16:07,239.239 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:16:07,242.242 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-08-29 21:16:10,532.532 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:16:10,533.533 INFO    ] Checking for system updates...
[2026-08-29 21:16:10,554.554 INFO    ] 200
[2026-08-29 21:16:10,555.555 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:16:10,585.585 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:16:10,586.586 INFO    ] No update needed
[2026-08-29 21:16:10,587.587 INFO    ] Checking for camera pi updates...
[2026-08-29 21:16:10,606.606 INFO    ] 200
[2026-08-29 21:16:10,608.608 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:16:10,632.632 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:16:10,708.708 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:16:10,710.710 INFO    ] No camera update needed
[2026-08-29 21:16:10,713.713 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:16:10,715.715 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:16:10,720.720 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:16:10,725.725 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:16:12,766.766 INFO    ] ================================================
[2026-08-29 21:16:12,782.782 INFO    ] Launching Daemon at Sat Aug 29 21:16:12 IST 2026
[2026-08-29 21:16:12,793.793 INFO    ] ================================================
[2026-08-29 21:16:13,366.366 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:16:13
[2026-08-29 21:16:13,856.856 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:16:13,992.992 INFO    ] Initializing speech engine...
[2026-08-29 21:16:14,000.000 INFO    ] 2026-08-29 21:16:13
[2026-08-29 21:16:14,256.256 INFO    ] 2026-08-29 21:16:14
[2026-08-29 21:16:14,292.292 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:16:14,449.449 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:16:14,476.476 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:16:14,605.605 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:16:14,611.611 INFO    ] time= 29/08/2026 21:16:14
[2026-08-29 21:16:14,634.634 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:16:14,641.641 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:16:14,694.694 INFO    ] No existing commands found in stream
[2026-08-29 21:16:19,705.705 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:16:19,708.708 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-08-29 21:16:22,294.294 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:16:22,296.296 INFO    ] Checking for system updates...
[2026-08-29 21:16:22,316.316 INFO    ] 200
[2026-08-29 21:16:22,317.317 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:16:22,349.349 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:16:22,351.351 INFO    ] No update needed
[2026-08-29 21:16:22,352.352 INFO    ] Checking for camera pi updates...
[2026-08-29 21:16:22,371.371 INFO    ] 200
[2026-08-29 21:16:22,372.372 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:16:22,395.395 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:16:22,458.458 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:16:22,459.459 INFO    ] No camera update needed
[2026-08-29 21:16:22,460.460 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:16:22,462.462 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:16:22,465.465 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:16:22,467.467 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:16:24,506.506 INFO    ] ================================================
[2026-08-29 21:16:24,522.522 INFO    ] Launching Daemon at Sat Aug 29 21:16:24 IST 2026
[2026-08-29 21:16:24,533.533 INFO    ] ================================================
[2026-08-29 21:16:25,076.076 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:16:25
[2026-08-29 21:16:25,664.664 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:16:25,919.919 INFO    ] Initializing speech engine...
[2026-08-29 21:16:25,936.936 INFO    ] 2026-08-29 21:16:25
[2026-08-29 21:16:26,224.224 INFO    ] 2026-08-29 21:16:26
[2026-08-29 21:16:26,263.263 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:16:26,408.408 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:16:26,416.416 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:16:26,555.555 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:16:26,571.571 INFO    ] time= 29/08/2026 21:16:26
[2026-08-29 21:16:26,581.581 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:16:26,586.586 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:16:26,655.655 INFO    ] No existing commands found in stream
[2026-08-29 21:16:31,666.666 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:16:31,669.669 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-08-29 21:16:33,936.936 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:16:33,939.939 INFO    ] Checking for system updates...
[2026-08-29 21:16:33,977.977 INFO    ] 200
[2026-08-29 21:16:33,979.979 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:16:34,031.031 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:16:34,034.034 INFO    ] No update needed
[2026-08-29 21:16:34,037.037 INFO    ] Checking for camera pi updates...
[2026-08-29 21:16:34,070.070 INFO    ] 200
[2026-08-29 21:16:34,073.073 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:16:34,117.117 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:16:34,211.211 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:16:34,213.213 INFO    ] No camera update needed
[2026-08-29 21:16:34,216.216 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:16:34,218.218 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:16:34,223.223 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:16:34,228.228 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:16:36,271.271 INFO    ] ================================================
[2026-08-29 21:16:36,286.286 INFO    ] Launching Daemon at Sat Aug 29 21:16:36 IST 2026
[2026-08-29 21:16:36,296.296 INFO    ] ================================================
[2026-08-29 21:16:36,649.649 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:16:36
[2026-08-29 21:16:36,968.968 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:16:37,107.107 INFO    ] Initializing speech engine...
[2026-08-29 21:16:37,117.117 INFO    ] 2026-08-29 21:16:37
[2026-08-29 21:16:37,320.320 INFO    ] 2026-08-29 21:16:37
[2026-08-29 21:16:37,349.349 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:16:37,472.472 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:16:37,525.525 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:16:37,664.664 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:16:37,718.718 INFO    ] time= 29/08/2026 21:16:37
[2026-08-29 21:16:37,759.759 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:16:37,764.764 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:16:37,835.835 INFO    ] No existing commands found in stream
[2026-08-29 21:16:42,845.845 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:16:42,848.848 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-08-29 21:16:46,765.765 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:16:46,767.767 INFO    ] Checking for system updates...
[2026-08-29 21:16:46,787.787 INFO    ] 200
[2026-08-29 21:16:46,788.788 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:16:46,818.818 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:16:46,819.819 INFO    ] No update needed
[2026-08-29 21:16:46,820.820 INFO    ] Checking for camera pi updates...
[2026-08-29 21:16:46,839.839 INFO    ] 200
[2026-08-29 21:16:46,841.841 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:16:46,864.864 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:16:46,942.942 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:16:46,944.944 INFO    ] No camera update needed
[2026-08-29 21:16:46,945.945 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:16:46,946.946 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:16:46,949.949 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:16:46,952.952 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:16:48,991.991 INFO    ] ================================================
[2026-08-29 21:16:49,006.006 INFO    ] Launching Daemon at Sat Aug 29 21:16:49 IST 2026
[2026-08-29 21:16:49,017.017 INFO    ] ================================================
[2026-08-29 21:16:49,597.597 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:16:49
[2026-08-29 21:16:50,195.195 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:16:50,452.452 INFO    ] Initializing speech engine...
[2026-08-29 21:16:50,459.459 INFO    ] 2026-08-29 21:16:50
[2026-08-29 21:16:50,756.756 INFO    ] 2026-08-29 21:16:50
[2026-08-29 21:16:50,792.792 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:16:50,991.991 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:16:51,021.021 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:16:51,165.165 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:16:51,176.176 INFO    ] time= 29/08/2026 21:16:51
[2026-08-29 21:16:51,240.240 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:16:51,258.258 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:16:51,378.378 INFO    ] No existing commands found in stream
[2026-08-29 21:16:56,391.391 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:16:56,395.395 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 21:16:59,929.929 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:16:59,931.931 INFO    ] Checking for system updates...
[2026-08-29 21:16:59,952.952 INFO    ] 200
[2026-08-29 21:16:59,953.953 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:16:59,983.983 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:16:59,984.984 INFO    ] No update needed
[2026-08-29 21:16:59,986.986 INFO    ] Checking for camera pi updates...
[2026-08-29 21:17:00,005.005 INFO    ] 200
[2026-08-29 21:17:00,006.006 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:17:00,031.031 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:17:00,105.105 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:17:00,106.106 INFO    ] No camera update needed
[2026-08-29 21:17:00,108.108 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:17:00,109.109 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:17:00,112.112 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:17:00,114.114 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:17:02,168.168 INFO    ] ================================================
[2026-08-29 21:17:02,195.195 INFO    ] Launching Daemon at Sat Aug 29 21:17:02 IST 2026
[2026-08-29 21:17:02,218.218 INFO    ] ================================================
[2026-08-29 21:17:02,871.871 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:17:02
[2026-08-29 21:17:03,541.541 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:17:03,811.811 INFO    ] Initializing speech engine...
[2026-08-29 21:17:03,836.836 INFO    ] 2026-08-29 21:17:03
[2026-08-29 21:17:04,107.107 INFO    ] 2026-08-29 21:17:04
[2026-08-29 21:17:04,145.145 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:17:04,282.282 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:17:04,297.297 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:17:04,425.425 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:17:04,431.431 INFO    ] time= 29/08/2026 21:17:04
[2026-08-29 21:17:04,452.452 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:17:04,458.458 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:17:04,549.549 INFO    ] No existing commands found in stream
[2026-08-29 21:17:09,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:17:09,577.577 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 21:17:13,127.127 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:17:13,128.128 INFO    ] Checking for system updates...
[2026-08-29 21:17:13,149.149 INFO    ] 200
[2026-08-29 21:17:13,150.150 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:17:13,182.182 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:17:13,184.184 INFO    ] No update needed
[2026-08-29 21:17:13,185.185 INFO    ] Checking for camera pi updates...
[2026-08-29 21:17:13,204.204 INFO    ] 200
[2026-08-29 21:17:13,206.206 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:17:13,229.229 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:17:13,304.304 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:17:13,305.305 INFO    ] No camera update needed
[2026-08-29 21:17:13,306.306 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:17:13,308.308 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:17:13,311.311 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:17:13,313.313 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:17:15,352.352 INFO    ] ================================================
[2026-08-29 21:17:15,367.367 INFO    ] Launching Daemon at Sat Aug 29 21:17:15 IST 2026
[2026-08-29 21:17:15,378.378 INFO    ] ================================================
[2026-08-29 21:17:15,733.733 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:17:15
[2026-08-29 21:17:16,050.050 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:17:16,194.194 INFO    ] Initializing speech engine...
[2026-08-29 21:17:16,199.199 INFO    ] 2026-08-29 21:17:16
[2026-08-29 21:17:16,405.405 INFO    ] 2026-08-29 21:17:16
[2026-08-29 21:17:16,434.434 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:17:16,566.566 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:17:16,574.574 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:17:16,728.728 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:17:16,773.773 INFO    ] time= 29/08/2026 21:17:16
[2026-08-29 21:17:16,779.779 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:17:16,797.797 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:17:16,907.907 INFO    ] No existing commands found in stream
[2026-08-29 21:17:21,934.934 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:17:21,937.937 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-08-29 21:17:22,525.525 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:17:22,527.527 INFO    ] Checking for system updates...
[2026-08-29 21:17:22,547.547 INFO    ] 200
[2026-08-29 21:17:22,548.548 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:17:22,580.580 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:17:22,582.582 INFO    ] No update needed
[2026-08-29 21:17:22,583.583 INFO    ] Checking for camera pi updates...
[2026-08-29 21:17:22,605.605 INFO    ] 200
[2026-08-29 21:17:22,607.607 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:17:22,630.630 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:17:22,829.829 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:17:22,830.830 INFO    ] No camera update needed
[2026-08-29 21:17:22,831.831 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:17:22,833.833 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:17:22,836.836 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:17:22,838.838 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:17:24,877.877 INFO    ] ================================================
[2026-08-29 21:17:24,893.893 INFO    ] Launching Daemon at Sat Aug 29 21:17:24 IST 2026
[2026-08-29 21:17:24,904.904 INFO    ] ================================================
[2026-08-29 21:17:25,429.429 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:17:25
[2026-08-29 21:17:26,027.027 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:17:26,282.282 INFO    ] Initializing speech engine...
[2026-08-29 21:17:26,290.290 INFO    ] 2026-08-29 21:17:26
[2026-08-29 21:17:26,570.570 INFO    ] 2026-08-29 21:17:26
[2026-08-29 21:17:26,606.606 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:17:26,777.777 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:17:26,788.788 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:17:26,914.914 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:17:26,934.934 INFO    ] time= 29/08/2026 21:17:26
[2026-08-29 21:17:26,942.942 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:17:26,948.948 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:17:27,016.016 INFO    ] No existing commands found in stream
[2026-08-29 21:17:32,045.045 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:17:32,048.048 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-08-29 21:17:33,925.925 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:17:33,927.927 INFO    ] Checking for system updates...
[2026-08-29 21:17:33,963.963 INFO    ] 200
[2026-08-29 21:17:33,966.966 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:17:34,024.024 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:17:34,026.026 INFO    ] No update needed
[2026-08-29 21:17:34,029.029 INFO    ] Checking for camera pi updates...
[2026-08-29 21:17:34,066.066 INFO    ] 200
[2026-08-29 21:17:34,068.068 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:17:34,108.108 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:17:34,185.185 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:17:34,188.188 INFO    ] No camera update needed
[2026-08-29 21:17:34,190.190 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:17:34,192.192 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:17:34,198.198 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:17:34,203.203 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:17:36,243.243 INFO    ] ================================================
[2026-08-29 21:17:36,259.259 INFO    ] Launching Daemon at Sat Aug 29 21:17:36 IST 2026
[2026-08-29 21:17:36,270.270 INFO    ] ================================================
[2026-08-29 21:17:36,645.645 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:17:36
[2026-08-29 21:17:36,958.958 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:17:37,169.169 INFO    ] Initializing speech engine...
[2026-08-29 21:17:37,182.182 INFO    ] 2026-08-29 21:17:37
[2026-08-29 21:17:37,445.445 INFO    ] 2026-08-29 21:17:37
[2026-08-29 21:17:37,480.480 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:17:37,673.673 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:17:37,679.679 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:17:37,786.786 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:17:37,791.791 INFO    ] time= 29/08/2026 21:17:37
[2026-08-29 21:17:37,815.815 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:17:37,821.821 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:17:37,872.872 INFO    ] No existing commands found in stream
[2026-08-29 21:17:42,883.883 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:17:42,886.886 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-08-29 21:17:43,629.629 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:17:43,631.631 INFO    ] Checking for system updates...
[2026-08-29 21:17:43,653.653 INFO    ] 200
[2026-08-29 21:17:43,654.654 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:17:43,687.687 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:17:43,688.688 INFO    ] No update needed
[2026-08-29 21:17:43,689.689 INFO    ] Checking for camera pi updates...
[2026-08-29 21:17:43,721.721 INFO    ] 200
[2026-08-29 21:17:43,724.724 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:17:43,765.765 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:17:43,851.851 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:17:43,854.854 INFO    ] No camera update needed
[2026-08-29 21:17:43,856.856 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:17:43,859.859 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:17:43,865.865 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:17:43,871.871 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:17:45,914.914 INFO    ] ================================================
[2026-08-29 21:17:45,929.929 INFO    ] Launching Daemon at Sat Aug 29 21:17:45 IST 2026
[2026-08-29 21:17:45,940.940 INFO    ] ================================================
[2026-08-29 21:17:46,518.518 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:17:46
[2026-08-29 21:17:46,982.982 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:17:47,120.120 INFO    ] Initializing speech engine...
[2026-08-29 21:17:47,127.127 INFO    ] 2026-08-29 21:17:47
[2026-08-29 21:17:47,351.351 INFO    ] 2026-08-29 21:17:47
[2026-08-29 21:17:47,382.382 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:17:47,516.516 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:17:47,563.563 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:17:47,716.716 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:17:47,757.757 INFO    ] time= 29/08/2026 21:17:47
[2026-08-29 21:17:47,801.801 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:17:47,840.840 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:17:47,944.944 INFO    ] No existing commands found in stream
[2026-08-29 21:17:52,982.982 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:17:52,990.990 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-08-29 21:17:56,944.944 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:17:56,946.946 INFO    ] Checking for system updates...
[2026-08-29 21:17:56,966.966 INFO    ] 200
[2026-08-29 21:17:56,967.967 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:17:56,997.997 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:17:56,998.998 INFO    ] No update needed
[2026-08-29 21:17:56,999.999 INFO    ] Checking for camera pi updates...
[2026-08-29 21:17:57,021.021 INFO    ] 200
[2026-08-29 21:17:57,022.022 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:17:57,048.048 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:17:57,125.125 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:17:57,127.127 INFO    ] No camera update needed
[2026-08-29 21:17:57,128.128 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:17:57,129.129 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:17:57,132.132 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:17:57,135.135 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:17:59,174.174 INFO    ] ================================================
[2026-08-29 21:17:59,189.189 INFO    ] Launching Daemon at Sat Aug 29 21:17:59 IST 2026
[2026-08-29 21:17:59,200.200 INFO    ] ================================================
[2026-08-29 21:17:59,546.546 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:17:59
[2026-08-29 21:17:59,979.979 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:18:00,241.241 INFO    ] Initializing speech engine...
[2026-08-29 21:18:00,248.248 INFO    ] 2026-08-29 21:18:00
[2026-08-29 21:18:00,544.544 INFO    ] 2026-08-29 21:18:00
[2026-08-29 21:18:00,580.580 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:18:00,775.775 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:18:00,781.781 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:18:00,911.911 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:18:00,917.917 INFO    ] time= 29/08/2026 21:18:00
[2026-08-29 21:18:00,923.923 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:18:00,943.943 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:18:01,043.043 INFO    ] No existing commands found in stream
[2026-08-29 21:18:06,053.053 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:18:06,056.056 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 21:18:09,495.495 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:18:09,497.497 INFO    ] Checking for system updates...
[2026-08-29 21:18:09,519.519 INFO    ] 200
[2026-08-29 21:18:09,520.520 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:18:09,552.552 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:18:09,554.554 INFO    ] No update needed
[2026-08-29 21:18:09,555.555 INFO    ] Checking for camera pi updates...
[2026-08-29 21:18:09,574.574 INFO    ] 200
[2026-08-29 21:18:09,576.576 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:18:09,598.598 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:18:09,678.678 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:18:09,679.679 INFO    ] No camera update needed
[2026-08-29 21:18:09,680.680 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:18:09,681.681 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:18:09,684.684 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:18:09,687.687 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:18:11,725.725 INFO    ] ================================================
[2026-08-29 21:18:11,741.741 INFO    ] Launching Daemon at Sat Aug 29 21:18:11 IST 2026
[2026-08-29 21:18:11,752.752 INFO    ] ================================================
[2026-08-29 21:18:12,129.129 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:18:12
[2026-08-29 21:18:12,463.463 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:18:12,614.614 INFO    ] Initializing speech engine...
[2026-08-29 21:18:12,619.619 INFO    ] 2026-08-29 21:18:12
[2026-08-29 21:18:12,828.828 INFO    ] 2026-08-29 21:18:12
[2026-08-29 21:18:12,869.869 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:18:13,038.038 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:18:13,047.047 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:18:13,215.215 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:18:13,251.251 INFO    ] time= 29/08/2026 21:18:13
[2026-08-29 21:18:13,258.258 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:18:13,276.276 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:18:13,395.395 INFO    ] No existing commands found in stream
[2026-08-29 21:18:18,423.423 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:18:18,426.426 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-08-29 21:18:22,818.818 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:18:22,821.821 INFO    ] Checking for system updates...
[2026-08-29 21:18:22,858.858 INFO    ] 200
[2026-08-29 21:18:22,861.861 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:18:22,914.914 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:18:22,916.916 INFO    ] No update needed
[2026-08-29 21:18:22,919.919 INFO    ] Checking for camera pi updates...
[2026-08-29 21:18:22,953.953 INFO    ] 200
[2026-08-29 21:18:22,956.956 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:18:22,997.997 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:18:23,073.073 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:18:23,075.075 INFO    ] No camera update needed
[2026-08-29 21:18:23,078.078 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:18:23,080.080 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:18:23,086.086 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:18:23,092.092 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:18:25,133.133 INFO    ] ================================================
[2026-08-29 21:18:25,149.149 INFO    ] Launching Daemon at Sat Aug 29 21:18:25 IST 2026
[2026-08-29 21:18:25,162.162 INFO    ] ================================================
[2026-08-29 21:18:25,506.506 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:18:25
[2026-08-29 21:18:25,818.818 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:18:25,958.958 INFO    ] Initializing speech engine...
[2026-08-29 21:18:25,977.977 INFO    ] 2026-08-29 21:18:25
[2026-08-29 21:18:26,230.230 INFO    ] 2026-08-29 21:18:26
[2026-08-29 21:18:26,265.265 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:18:26,443.443 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:18:26,455.455 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:18:26,569.569 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:18:26,587.587 INFO    ] time= 29/08/2026 21:18:26
[2026-08-29 21:18:26,607.607 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:18:26,617.617 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:18:26,692.692 INFO    ] No existing commands found in stream
[2026-08-29 21:18:31,723.723 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:18:31,726.726 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-08-29 21:18:35,839.839 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:18:35,841.841 INFO    ] Checking for system updates...
[2026-08-29 21:18:35,861.861 INFO    ] 200
[2026-08-29 21:18:35,863.863 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:18:35,893.893 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:18:35,894.894 INFO    ] No update needed
[2026-08-29 21:18:35,895.895 INFO    ] Checking for camera pi updates...
[2026-08-29 21:18:35,916.916 INFO    ] 200
[2026-08-29 21:18:35,917.917 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:18:35,944.944 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:18:36,039.039 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:18:36,040.040 INFO    ] No camera update needed
[2026-08-29 21:18:36,042.042 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:18:36,043.043 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:18:36,046.046 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:18:36,049.049 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:18:38,088.088 INFO    ] ================================================
[2026-08-29 21:18:38,104.104 INFO    ] Launching Daemon at Sat Aug 29 21:18:38 IST 2026
[2026-08-29 21:18:38,115.115 INFO    ] ================================================
[2026-08-29 21:18:38,452.452 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:18:38
[2026-08-29 21:18:38,783.783 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:18:38,932.932 INFO    ] Initializing speech engine...
[2026-08-29 21:18:38,938.938 INFO    ] 2026-08-29 21:18:38
[2026-08-29 21:18:39,147.147 INFO    ] 2026-08-29 21:18:39
[2026-08-29 21:18:39,175.175 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:18:39,300.300 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:18:39,363.363 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:18:39,509.509 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:18:39,572.572 INFO    ] time= 29/08/2026 21:18:39
[2026-08-29 21:18:39,596.596 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:18:39,603.603 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:18:39,669.669 INFO    ] No existing commands found in stream
[2026-08-29 21:18:44,680.680 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:18:44,684.684 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-08-29 21:18:48,028.028 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:18:48,029.029 INFO    ] Checking for system updates...
[2026-08-29 21:18:48,050.050 INFO    ] 200
[2026-08-29 21:18:48,052.052 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:18:48,082.082 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:18:48,083.083 INFO    ] No update needed
[2026-08-29 21:18:48,085.085 INFO    ] Checking for camera pi updates...
[2026-08-29 21:18:48,104.104 INFO    ] 200
[2026-08-29 21:18:48,105.105 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:18:48,128.128 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:18:48,222.222 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:18:48,224.224 INFO    ] No camera update needed
[2026-08-29 21:18:48,225.225 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:18:48,226.226 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:18:48,230.230 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:18:48,233.233 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:18:50,271.271 INFO    ] ================================================
[2026-08-29 21:18:50,287.287 INFO    ] Launching Daemon at Sat Aug 29 21:18:50 IST 2026
[2026-08-29 21:18:50,297.297 INFO    ] ================================================
[2026-08-29 21:18:50,877.877 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:18:50
[2026-08-29 21:18:51,475.475 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:18:51,738.738 INFO    ] Initializing speech engine...
[2026-08-29 21:18:51,754.754 INFO    ] 2026-08-29 21:18:51
[2026-08-29 21:18:52,032.032 INFO    ] 2026-08-29 21:18:52
[2026-08-29 21:18:52,076.076 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:18:52,251.251 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:18:52,291.291 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:18:52,431.431 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:18:52,450.450 INFO    ] time= 29/08/2026 21:18:52
[2026-08-29 21:18:52,456.456 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:18:52,464.464 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:18:52,560.560 INFO    ] No existing commands found in stream
[2026-08-29 21:18:57,573.573 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:18:57,576.576 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-08-29 21:18:58,156.156 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:18:58,158.158 INFO    ] Checking for system updates...
[2026-08-29 21:18:58,178.178 INFO    ] 200
[2026-08-29 21:18:58,179.179 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:18:58,209.209 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:18:58,210.210 INFO    ] No update needed
[2026-08-29 21:18:58,212.212 INFO    ] Checking for camera pi updates...
[2026-08-29 21:18:58,231.231 INFO    ] 200
[2026-08-29 21:18:58,233.233 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:18:58,256.256 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:18:58,330.330 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:18:58,331.331 INFO    ] No camera update needed
[2026-08-29 21:18:58,332.332 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:18:58,334.334 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:18:58,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:18:58,339.339 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:19:00,377.377 INFO    ] ================================================
[2026-08-29 21:19:00,392.392 INFO    ] Launching Daemon at Sat Aug 29 21:19:00 IST 2026
[2026-08-29 21:19:00,403.403 INFO    ] ================================================
[2026-08-29 21:19:00,730.730 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:19:00
[2026-08-29 21:19:01,040.040 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:19:01,169.169 INFO    ] Initializing speech engine...
[2026-08-29 21:19:01,174.174 INFO    ] 2026-08-29 21:19:01
[2026-08-29 21:19:01,372.372 INFO    ] 2026-08-29 21:19:01
[2026-08-29 21:19:01,408.408 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:19:01,590.590 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:19:01,617.617 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:19:01,735.735 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:19:01,740.740 INFO    ] time= 29/08/2026 21:19:01
[2026-08-29 21:19:01,748.748 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:19:01,756.756 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:19:01,825.825 INFO    ] No existing commands found in stream
[2026-08-29 21:19:06,835.835 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:19:06,838.838 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-08-29 21:19:08,672.672 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:19:08,674.674 INFO    ] Checking for system updates...
[2026-08-29 21:19:08,694.694 INFO    ] 200
[2026-08-29 21:19:08,696.696 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:19:08,727.727 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:19:08,730.730 INFO    ] No update needed
[2026-08-29 21:19:08,732.732 INFO    ] Checking for camera pi updates...
[2026-08-29 21:19:08,766.766 INFO    ] 200
[2026-08-29 21:19:08,768.768 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:19:08,813.813 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:19:08,910.910 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:19:08,912.912 INFO    ] No camera update needed
[2026-08-29 21:19:08,915.915 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:19:08,917.917 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:19:08,922.922 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:19:08,927.927 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:19:10,967.967 INFO    ] ================================================
[2026-08-29 21:19:10,982.982 INFO    ] Launching Daemon at Sat Aug 29 21:19:10 IST 2026
[2026-08-29 21:19:10,993.993 INFO    ] ================================================
[2026-08-29 21:19:11,564.564 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:19:11
[2026-08-29 21:19:12,063.063 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:19:12,335.335 INFO    ] Initializing speech engine...
[2026-08-29 21:19:12,340.340 INFO    ] 2026-08-29 21:19:12
[2026-08-29 21:19:12,587.587 INFO    ] 2026-08-29 21:19:12
[2026-08-29 21:19:12,622.622 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:19:12,793.793 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:19:12,805.805 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:19:12,944.944 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:19:12,953.953 INFO    ] time= 29/08/2026 21:19:12
[2026-08-29 21:19:12,957.957 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:19:12,963.963 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:19:13,027.027 INFO    ] No existing commands found in stream
[2026-08-29 21:19:18,040.040 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:19:18,043.043 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-08-29 21:19:18,659.659 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:19:18,660.660 INFO    ] Checking for system updates...
[2026-08-29 21:19:18,681.681 INFO    ] 200
[2026-08-29 21:19:18,683.683 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:19:18,713.713 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:19:18,714.714 INFO    ] No update needed
[2026-08-29 21:19:18,715.715 INFO    ] Checking for camera pi updates...
[2026-08-29 21:19:18,737.737 INFO    ] 200
[2026-08-29 21:19:18,738.738 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:19:18,763.763 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:19:18,833.833 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:19:18,834.834 INFO    ] No camera update needed
[2026-08-29 21:19:18,835.835 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:19:18,837.837 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:19:18,839.839 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:19:18,842.842 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:19:20,882.882 INFO    ] ================================================
[2026-08-29 21:19:20,898.898 INFO    ] Launching Daemon at Sat Aug 29 21:19:20 IST 2026
[2026-08-29 21:19:20,909.909 INFO    ] ================================================
[2026-08-29 21:19:21,273.273 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:19:21
[2026-08-29 21:19:21,585.585 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:19:21,791.791 INFO    ] Initializing speech engine...
[2026-08-29 21:19:21,806.806 INFO    ] 2026-08-29 21:19:21
[2026-08-29 21:19:22,076.076 INFO    ] 2026-08-29 21:19:22
[2026-08-29 21:19:22,117.117 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:19:22,288.288 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:19:22,311.311 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:19:22,412.412 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:19:22,430.430 INFO    ] time= 29/08/2026 21:19:22
[2026-08-29 21:19:22,451.451 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:19:22,459.459 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:19:22,531.531 INFO    ] No existing commands found in stream
[2026-08-29 21:19:27,562.562 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:19:27,565.565 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-08-29 21:19:31,365.365 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:19:31,367.367 INFO    ] Checking for system updates...
[2026-08-29 21:19:31,387.387 INFO    ] 200
[2026-08-29 21:19:31,388.388 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:19:31,421.421 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:19:31,423.423 INFO    ] No update needed
[2026-08-29 21:19:31,424.424 INFO    ] Checking for camera pi updates...
[2026-08-29 21:19:31,445.445 INFO    ] 200
[2026-08-29 21:19:31,446.446 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:19:31,469.469 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:19:31,680.680 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:19:31,683.683 INFO    ] No camera update needed
[2026-08-29 21:19:31,686.686 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:19:31,688.688 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:19:31,692.692 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:19:31,695.695 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:19:33,736.736 INFO    ] ================================================
[2026-08-29 21:19:33,751.751 INFO    ] Launching Daemon at Sat Aug 29 21:19:33 IST 2026
[2026-08-29 21:19:33,761.761 INFO    ] ================================================
[2026-08-29 21:19:34,349.349 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:19:34
[2026-08-29 21:19:34,860.860 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:19:35,061.061 INFO    ] Initializing speech engine...
[2026-08-29 21:19:35,069.069 INFO    ] 2026-08-29 21:19:35
[2026-08-29 21:19:35,330.330 INFO    ] 2026-08-29 21:19:35
[2026-08-29 21:19:35,361.361 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:19:35,526.526 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:19:35,538.538 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:19:35,677.677 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:19:35,686.686 INFO    ] time= 29/08/2026 21:19:35
[2026-08-29 21:19:35,694.694 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:19:35,745.745 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:19:35,865.865 INFO    ] No existing commands found in stream
[2026-08-29 21:19:40,896.896 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:19:40,898.898 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-08-29 21:19:43,975.975 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:19:43,977.977 INFO    ] Checking for system updates...
[2026-08-29 21:19:43,998.998 INFO    ] 200
[2026-08-29 21:19:44,000.000 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:19:44,032.032 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:19:44,034.034 INFO    ] No update needed
[2026-08-29 21:19:44,035.035 INFO    ] Checking for camera pi updates...
[2026-08-29 21:19:44,056.056 INFO    ] 200
[2026-08-29 21:19:44,057.057 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:19:44,080.080 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:19:44,156.156 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:19:44,157.157 INFO    ] No camera update needed
[2026-08-29 21:19:44,158.158 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:19:44,159.159 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:19:44,163.163 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:19:44,165.165 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:19:46,203.203 INFO    ] ================================================
[2026-08-29 21:19:46,219.219 INFO    ] Launching Daemon at Sat Aug 29 21:19:46 IST 2026
[2026-08-29 21:19:46,229.229 INFO    ] ================================================
[2026-08-29 21:19:46,575.575 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:19:46
[2026-08-29 21:19:46,892.892 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:19:47,141.141 INFO    ] Initializing speech engine...
[2026-08-29 21:19:47,155.155 INFO    ] 2026-08-29 21:19:47
[2026-08-29 21:19:47,471.471 INFO    ] 2026-08-29 21:19:47
[2026-08-29 21:19:47,554.554 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:19:47,710.710 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:19:47,716.716 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:19:47,851.851 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:19:47,916.916 INFO    ] time= 29/08/2026 21:19:47
[2026-08-29 21:19:47,979.979 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:19:47,986.986 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:19:48,113.113 INFO    ] No existing commands found in stream
[2026-08-29 21:19:53,141.141 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:19:53,144.144 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-08-29 21:19:55,770.770 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:19:55,771.771 INFO    ] Checking for system updates...
[2026-08-29 21:19:55,792.792 INFO    ] 200
[2026-08-29 21:19:55,793.793 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:19:55,823.823 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:19:55,824.824 INFO    ] No update needed
[2026-08-29 21:19:55,826.826 INFO    ] Checking for camera pi updates...
[2026-08-29 21:19:55,845.845 INFO    ] 200
[2026-08-29 21:19:55,847.847 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:19:55,869.869 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:19:55,964.964 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:19:55,965.965 INFO    ] No camera update needed
[2026-08-29 21:19:55,966.966 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:19:55,967.967 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:19:55,970.970 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:19:55,973.973 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:19:58,011.011 INFO    ] ================================================
[2026-08-29 21:19:58,026.026 INFO    ] Launching Daemon at Sat Aug 29 21:19:58 IST 2026
[2026-08-29 21:19:58,037.037 INFO    ] ================================================
[2026-08-29 21:19:58,407.407 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:19:58
[2026-08-29 21:19:58,725.725 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:19:58,858.858 INFO    ] Initializing speech engine...
[2026-08-29 21:19:58,862.862 INFO    ] 2026-08-29 21:19:58
[2026-08-29 21:19:59,068.068 INFO    ] 2026-08-29 21:19:59
[2026-08-29 21:19:59,102.102 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:19:59,222.222 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:19:59,226.226 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:19:59,335.335 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:19:59,345.345 INFO    ] time= 29/08/2026 21:19:59
[2026-08-29 21:19:59,362.362 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:19:59,367.367 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:19:59,445.445 INFO    ] No existing commands found in stream
[2026-08-29 21:20:04,480.480 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:20:04,483.483 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-08-29 21:20:08,820.820 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:20:08,823.823 INFO    ] Checking for system updates...
[2026-08-29 21:20:08,863.863 INFO    ] 200
[2026-08-29 21:20:08,865.865 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:20:08,917.917 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:20:08,919.919 INFO    ] No update needed
[2026-08-29 21:20:08,922.922 INFO    ] Checking for camera pi updates...
[2026-08-29 21:20:08,958.958 INFO    ] 200
[2026-08-29 21:20:08,961.961 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:20:09,001.001 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:20:09,075.075 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:20:09,078.078 INFO    ] No camera update needed
[2026-08-29 21:20:09,080.080 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:20:09,082.082 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:20:09,088.088 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:20:09,093.093 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:20:11,135.135 INFO    ] ================================================
[2026-08-29 21:20:11,150.150 INFO    ] Launching Daemon at Sat Aug 29 21:20:11 IST 2026
[2026-08-29 21:20:11,161.161 INFO    ] ================================================
[2026-08-29 21:20:11,521.521 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:20:11
[2026-08-29 21:20:11,857.857 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:20:12,008.008 INFO    ] Initializing speech engine...
[2026-08-29 21:20:12,013.013 INFO    ] 2026-08-29 21:20:12
[2026-08-29 21:20:12,262.262 INFO    ] 2026-08-29 21:20:12
[2026-08-29 21:20:12,327.327 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:20:12,493.493 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:20:12,501.501 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:20:12,673.673 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:20:12,704.704 INFO    ] time= 29/08/2026 21:20:12
[2026-08-29 21:20:12,720.720 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:20:12,728.728 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:20:12,842.842 INFO    ] No existing commands found in stream
[2026-08-29 21:20:17,867.867 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:20:17,871.871 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-08-29 21:20:20,791.791 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:20:20,793.793 INFO    ] Checking for system updates...
[2026-08-29 21:20:20,814.814 INFO    ] 200
[2026-08-29 21:20:20,815.815 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:20:20,845.845 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:20:20,846.846 INFO    ] No update needed
[2026-08-29 21:20:20,847.847 INFO    ] Checking for camera pi updates...
[2026-08-29 21:20:20,866.866 INFO    ] 200
[2026-08-29 21:20:20,867.867 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:20:20,892.892 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:20:21,030.030 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:20:21,033.033 INFO    ] No camera update needed
[2026-08-29 21:20:21,035.035 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:20:21,037.037 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:20:21,043.043 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:20:21,048.048 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:20:23,088.088 INFO    ] ================================================
[2026-08-29 21:20:23,103.103 INFO    ] Launching Daemon at Sat Aug 29 21:20:23 IST 2026
[2026-08-29 21:20:23,114.114 INFO    ] ================================================
[2026-08-29 21:20:23,453.453 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:20:23
[2026-08-29 21:20:23,765.765 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:20:23,902.902 INFO    ] Initializing speech engine...
[2026-08-29 21:20:23,915.915 INFO    ] 2026-08-29 21:20:23
[2026-08-29 21:20:24,110.110 INFO    ] 2026-08-29 21:20:24
[2026-08-29 21:20:24,181.181 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:20:24,367.367 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:20:24,375.375 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:20:24,526.526 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:20:24,543.543 INFO    ] time= 29/08/2026 21:20:24
[2026-08-29 21:20:24,603.603 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:20:24,641.641 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:20:24,721.721 INFO    ] No existing commands found in stream
[2026-08-29 21:20:29,741.741 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:20:29,744.744 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-08-29 21:20:33,820.820 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:20:33,822.822 INFO    ] Checking for system updates...
[2026-08-29 21:20:33,862.862 INFO    ] 200
[2026-08-29 21:20:33,865.865 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:20:33,925.925 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:20:33,928.928 INFO    ] No update needed
[2026-08-29 21:20:33,930.930 INFO    ] Checking for camera pi updates...
[2026-08-29 21:20:33,967.967 INFO    ] 200
[2026-08-29 21:20:33,970.970 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:20:34,011.011 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:20:34,097.097 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:20:34,099.099 INFO    ] No camera update needed
[2026-08-29 21:20:34,101.101 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:20:34,103.103 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:20:34,109.109 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:20:34,113.113 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:20:36,153.153 INFO    ] ================================================
[2026-08-29 21:20:36,169.169 INFO    ] Launching Daemon at Sat Aug 29 21:20:36 IST 2026
[2026-08-29 21:20:36,180.180 INFO    ] ================================================
[2026-08-29 21:20:36,733.733 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:20:36
[2026-08-29 21:20:37,426.426 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:20:37,741.741 INFO    ] Initializing speech engine...
[2026-08-29 21:20:37,753.753 INFO    ] 2026-08-29 21:20:37
[2026-08-29 21:20:38,034.034 INFO    ] 2026-08-29 21:20:38
[2026-08-29 21:20:38,079.079 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:20:38,302.302 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:20:38,311.311 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:20:38,448.448 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:20:38,518.518 INFO    ] time= 29/08/2026 21:20:38
[2026-08-29 21:20:38,577.577 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:20:38,584.584 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:20:38,705.705 INFO    ] No existing commands found in stream
[2026-08-29 21:20:43,738.738 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:20:43,742.742 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-08-29 21:20:44,517.517 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:20:44,520.520 INFO    ] Checking for system updates...
[2026-08-29 21:20:44,558.558 INFO    ] 200
[2026-08-29 21:20:44,561.561 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:20:44,615.615 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:20:44,618.618 INFO    ] No update needed
[2026-08-29 21:20:44,621.621 INFO    ] Checking for camera pi updates...
[2026-08-29 21:20:44,655.655 INFO    ] 200
[2026-08-29 21:20:44,658.658 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:20:44,707.707 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:20:44,806.806 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:20:44,808.808 INFO    ] No camera update needed
[2026-08-29 21:20:44,810.810 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:20:44,813.813 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:20:44,818.818 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:20:44,823.823 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:20:46,863.863 INFO    ] ================================================
[2026-08-29 21:20:46,884.884 INFO    ] Launching Daemon at Sat Aug 29 21:20:46 IST 2026
[2026-08-29 21:20:46,895.895 INFO    ] ================================================
[2026-08-29 21:20:47,252.252 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:20:47
[2026-08-29 21:20:47,572.572 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:20:47,708.708 INFO    ] Initializing speech engine...
[2026-08-29 21:20:47,718.718 INFO    ] 2026-08-29 21:20:47
[2026-08-29 21:20:47,925.925 INFO    ] 2026-08-29 21:20:47
[2026-08-29 21:20:47,954.954 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:20:48,078.078 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:20:48,115.115 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:20:48,217.217 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:20:48,223.223 INFO    ] time= 29/08/2026 21:20:48
[2026-08-29 21:20:48,254.254 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:20:48,280.280 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:20:48,388.388 INFO    ] No existing commands found in stream
[2026-08-29 21:20:53,422.422 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:20:53,425.425 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-08-29 21:20:57,123.123 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:20:57,125.125 INFO    ] Checking for system updates...
[2026-08-29 21:20:57,145.145 INFO    ] 200
[2026-08-29 21:20:57,146.146 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:20:57,176.176 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:20:57,177.177 INFO    ] No update needed
[2026-08-29 21:20:57,179.179 INFO    ] Checking for camera pi updates...
[2026-08-29 21:20:57,198.198 INFO    ] 200
[2026-08-29 21:20:57,199.199 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:20:57,226.226 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:20:57,299.299 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:20:57,301.301 INFO    ] No camera update needed
[2026-08-29 21:20:57,304.304 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:20:57,306.306 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:20:57,312.312 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:20:57,317.317 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:20:59,358.358 INFO    ] ================================================
[2026-08-29 21:20:59,373.373 INFO    ] Launching Daemon at Sat Aug 29 21:20:59 IST 2026
[2026-08-29 21:20:59,385.385 INFO    ] ================================================
[2026-08-29 21:20:59,958.958 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:20:59
[2026-08-29 21:21:00,426.426 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:21:00,636.636 INFO    ] Initializing speech engine...
[2026-08-29 21:21:00,650.650 INFO    ] 2026-08-29 21:21:00
[2026-08-29 21:21:00,943.943 INFO    ] 2026-08-29 21:21:00
[2026-08-29 21:21:00,978.978 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:21:01,132.132 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:21:01,139.139 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:21:01,293.293 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:21:01,305.305 INFO    ] time= 29/08/2026 21:21:01
[2026-08-29 21:21:01,310.310 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:21:01,315.315 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:21:01,387.387 INFO    ] No existing commands found in stream
[2026-08-29 21:21:06,397.397 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:21:06,400.400 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-08-29 21:21:08,225.225 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:21:08,227.227 INFO    ] Checking for system updates...
[2026-08-29 21:21:08,247.247 INFO    ] 200
[2026-08-29 21:21:08,249.249 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:21:08,279.279 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:21:08,281.281 INFO    ] No update needed
[2026-08-29 21:21:08,282.282 INFO    ] Checking for camera pi updates...
[2026-08-29 21:21:08,302.302 INFO    ] 200
[2026-08-29 21:21:08,303.303 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:21:08,327.327 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:21:08,391.391 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:21:08,394.394 INFO    ] No camera update needed
[2026-08-29 21:21:08,397.397 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:21:08,400.400 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:21:08,406.406 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:21:08,412.412 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:21:10,455.455 INFO    ] ================================================
[2026-08-29 21:21:10,470.470 INFO    ] Launching Daemon at Sat Aug 29 21:21:10 IST 2026
[2026-08-29 21:21:10,481.481 INFO    ] ================================================
[2026-08-29 21:21:11,064.064 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:21:11
[2026-08-29 21:21:11,526.526 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:21:11,657.657 INFO    ] Initializing speech engine...
[2026-08-29 21:21:11,661.661 INFO    ] 2026-08-29 21:21:11
[2026-08-29 21:21:11,864.864 INFO    ] 2026-08-29 21:21:11
[2026-08-29 21:21:11,973.973 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:21:12,121.121 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:21:12,131.131 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:21:12,263.263 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:21:12,285.285 INFO    ] time= 29/08/2026 21:21:12
[2026-08-29 21:21:12,344.344 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:21:12,398.398 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:21:12,452.452 INFO    ] No existing commands found in stream
[2026-08-29 21:21:17,464.464 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:21:17,466.466 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-08-29 21:21:19,651.651 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:21:19,653.653 INFO    ] Checking for system updates...
[2026-08-29 21:21:19,674.674 INFO    ] 200
[2026-08-29 21:21:19,675.675 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:21:19,705.705 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:21:19,707.707 INFO    ] No update needed
[2026-08-29 21:21:19,708.708 INFO    ] Checking for camera pi updates...
[2026-08-29 21:21:19,730.730 INFO    ] 200
[2026-08-29 21:21:19,731.731 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:21:19,766.766 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:21:19,850.850 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:21:19,853.853 INFO    ] No camera update needed
[2026-08-29 21:21:19,856.856 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:21:19,859.859 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:21:19,865.865 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:21:19,871.871 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:21:21,915.915 INFO    ] ================================================
[2026-08-29 21:21:21,930.930 INFO    ] Launching Daemon at Sat Aug 29 21:21:21 IST 2026
[2026-08-29 21:21:21,940.940 INFO    ] ================================================
[2026-08-29 21:21:22,563.563 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:21:22
[2026-08-29 21:21:23,193.193 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:21:23,517.517 INFO    ] Initializing speech engine...
[2026-08-29 21:21:23,528.528 INFO    ] 2026-08-29 21:21:23
[2026-08-29 21:21:23,789.789 INFO    ] 2026-08-29 21:21:23
[2026-08-29 21:21:23,828.828 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:21:23,978.978 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:21:23,986.986 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:21:24,145.145 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:21:24,156.156 INFO    ] time= 29/08/2026 21:21:24
[2026-08-29 21:21:24,160.160 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:21:24,165.165 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:21:24,233.233 INFO    ] No existing commands found in stream
[2026-08-29 21:21:29,245.245 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:21:29,247.247 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-08-29 21:21:32,492.492 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:21:32,495.495 INFO    ] Checking for system updates...
[2026-08-29 21:21:32,533.533 INFO    ] 200
[2026-08-29 21:21:32,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:21:32,594.594 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:21:32,597.597 INFO    ] No update needed
[2026-08-29 21:21:32,599.599 INFO    ] Checking for camera pi updates...
[2026-08-29 21:21:32,640.640 INFO    ] 200
[2026-08-29 21:21:32,644.644 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:21:32,694.694 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:21:32,791.791 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:21:32,794.794 INFO    ] No camera update needed
[2026-08-29 21:21:32,804.804 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:21:32,807.807 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:21:32,814.814 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:21:32,821.821 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:21:34,862.862 INFO    ] ================================================
[2026-08-29 21:21:34,877.877 INFO    ] Launching Daemon at Sat Aug 29 21:21:34 IST 2026
[2026-08-29 21:21:34,885.885 INFO    ] ================================================
[2026-08-29 21:21:35,235.235 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:21:35
[2026-08-29 21:21:35,547.547 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:21:35,783.783 INFO    ] Initializing speech engine...
[2026-08-29 21:21:35,791.791 INFO    ] 2026-08-29 21:21:35
[2026-08-29 21:21:36,041.041 INFO    ] 2026-08-29 21:21:36
[2026-08-29 21:21:36,076.076 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:21:36,552.552 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:21:36,587.587 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:21:37,224.224 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:21:37,228.228 INFO    ] time= 29/08/2026 21:21:37
[2026-08-29 21:21:37,236.236 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:21:37,284.284 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:21:37,580.580 INFO    ] No existing commands found in stream
[2026-08-29 21:21:42,590.590 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:21:42,592.592 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-08-29 21:21:43,295.295 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:21:43,296.296 INFO    ] Checking for system updates...
[2026-08-29 21:21:43,317.317 INFO    ] 200
[2026-08-29 21:21:43,319.319 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:21:43,349.349 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:21:43,350.350 INFO    ] No update needed
[2026-08-29 21:21:43,352.352 INFO    ] Checking for camera pi updates...
[2026-08-29 21:21:43,371.371 INFO    ] 200
[2026-08-29 21:21:43,373.373 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:21:43,397.397 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:21:43,572.572 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:21:43,574.574 INFO    ] No camera update needed
[2026-08-29 21:21:43,575.575 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:21:43,576.576 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:21:43,580.580 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:21:43,583.583 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:21:45,616.616 INFO    ] ================================================
[2026-08-29 21:21:45,631.631 INFO    ] Launching Daemon at Sat Aug 29 21:21:45 IST 2026
[2026-08-29 21:21:45,644.644 INFO    ] ================================================
[2026-08-29 21:21:45,995.995 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:21:45
[2026-08-29 21:21:46,309.309 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:21:46,447.447 INFO    ] Initializing speech engine...
[2026-08-29 21:21:46,457.457 INFO    ] 2026-08-29 21:21:46
[2026-08-29 21:21:46,660.660 INFO    ] 2026-08-29 21:21:46
[2026-08-29 21:21:46,687.687 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:21:46,808.808 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:21:46,858.858 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:21:47,003.003 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:21:47,054.054 INFO    ] time= 29/08/2026 21:21:47
[2026-08-29 21:21:47,093.093 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:21:47,108.108 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:21:47,174.174 INFO    ] No existing commands found in stream
[2026-08-29 21:21:52,185.185 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:21:52,187.187 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-08-29 21:21:55,943.943 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:21:55,944.944 INFO    ] Checking for system updates...
[2026-08-29 21:21:55,965.965 INFO    ] 200
[2026-08-29 21:21:55,966.966 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:21:55,996.996 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:21:55,997.997 INFO    ] No update needed
[2026-08-29 21:21:55,999.999 INFO    ] Checking for camera pi updates...
[2026-08-29 21:21:56,017.017 INFO    ] 200
[2026-08-29 21:21:56,019.019 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:21:56,044.044 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:21:56,124.124 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:21:56,125.125 INFO    ] No camera update needed
[2026-08-29 21:21:56,127.127 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:21:56,128.128 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:21:56,131.131 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:21:56,133.133 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:21:58,172.172 INFO    ] ================================================
[2026-08-29 21:21:58,188.188 INFO    ] Launching Daemon at Sat Aug 29 21:21:58 IST 2026
[2026-08-29 21:21:58,198.198 INFO    ] ================================================
[2026-08-29 21:21:58,545.545 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:21:58
[2026-08-29 21:21:58,862.862 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:21:59,131.131 INFO    ] Initializing speech engine...
[2026-08-29 21:21:59,138.138 INFO    ] 2026-08-29 21:21:59
[2026-08-29 21:21:59,400.400 INFO    ] 2026-08-29 21:21:59
[2026-08-29 21:21:59,430.430 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:21:59,596.596 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:21:59,608.608 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:21:59,739.739 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:21:59,757.757 INFO    ] time= 29/08/2026 21:21:59
[2026-08-29 21:21:59,762.762 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:21:59,768.768 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:21:59,833.833 INFO    ] No existing commands found in stream
[2026-08-29 21:22:04,845.845 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:22:04,848.848 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 21:22:05,791.791 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:22:05,792.792 INFO    ] Checking for system updates...
[2026-08-29 21:22:05,813.813 INFO    ] 200
[2026-08-29 21:22:05,815.815 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:22:05,845.845 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:22:05,846.846 INFO    ] No update needed
[2026-08-29 21:22:05,848.848 INFO    ] Checking for camera pi updates...
[2026-08-29 21:22:05,867.867 INFO    ] 200
[2026-08-29 21:22:05,869.869 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:22:05,892.892 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:22:05,983.983 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:22:05,984.984 INFO    ] No camera update needed
[2026-08-29 21:22:05,986.986 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:22:05,987.987 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:22:05,990.990 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:22:05,993.993 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:22:08,031.031 INFO    ] ================================================
[2026-08-29 21:22:08,047.047 INFO    ] Launching Daemon at Sat Aug 29 21:22:08 IST 2026
[2026-08-29 21:22:08,058.058 INFO    ] ================================================
[2026-08-29 21:22:08,420.420 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:22:08
[2026-08-29 21:22:08,759.759 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:22:08,916.916 INFO    ] Initializing speech engine...
[2026-08-29 21:22:08,920.920 INFO    ] 2026-08-29 21:22:08
[2026-08-29 21:22:09,125.125 INFO    ] 2026-08-29 21:22:09
[2026-08-29 21:22:09,153.153 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:22:09,299.299 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:22:09,321.321 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:22:09,482.482 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:22:09,542.542 INFO    ] time= 29/08/2026 21:22:09
[2026-08-29 21:22:09,557.557 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:22:09,574.574 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:22:09,684.684 INFO    ] No existing commands found in stream
[2026-08-29 21:22:14,694.694 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:22:14,696.696 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-08-29 21:22:17,834.834 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:22:17,835.835 INFO    ] Checking for system updates...
[2026-08-29 21:22:17,856.856 INFO    ] 200
[2026-08-29 21:22:17,857.857 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:22:17,892.892 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:22:17,893.893 INFO    ] No update needed
[2026-08-29 21:22:17,894.894 INFO    ] Checking for camera pi updates...
[2026-08-29 21:22:17,914.914 INFO    ] 200
[2026-08-29 21:22:17,915.915 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:22:17,939.939 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:22:18,023.023 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:22:18,024.024 INFO    ] No camera update needed
[2026-08-29 21:22:18,025.025 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:22:18,027.027 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:22:18,029.029 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:22:18,032.032 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:22:20,071.071 INFO    ] ================================================
[2026-08-29 21:22:20,087.087 INFO    ] Launching Daemon at Sat Aug 29 21:22:20 IST 2026
[2026-08-29 21:22:20,097.097 INFO    ] ================================================
[2026-08-29 21:22:20,585.585 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:22:20
[2026-08-29 21:22:21,248.248 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:22:21,545.545 INFO    ] Initializing speech engine...
[2026-08-29 21:22:21,555.555 INFO    ] 2026-08-29 21:22:21
[2026-08-29 21:22:21,847.847 INFO    ] 2026-08-29 21:22:21
[2026-08-29 21:22:21,956.956 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:22:22,142.142 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:22:22,150.150 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:22:22,344.344 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:22:22,389.389 INFO    ] time= 29/08/2026 21:22:22
[2026-08-29 21:22:22,396.396 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:22:22,418.418 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:22:22,537.537 INFO    ] No existing commands found in stream
[2026-08-29 21:22:27,558.558 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:22:27,562.562 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-08-29 21:22:29,052.052 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:22:29,054.054 INFO    ] Checking for system updates...
[2026-08-29 21:22:29,075.075 INFO    ] 200
[2026-08-29 21:22:29,077.077 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:22:29,108.108 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:22:29,110.110 INFO    ] No update needed
[2026-08-29 21:22:29,111.111 INFO    ] Checking for camera pi updates...
[2026-08-29 21:22:29,134.134 INFO    ] 200
[2026-08-29 21:22:29,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:22:29,182.182 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:22:29,264.264 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:22:29,267.267 INFO    ] No camera update needed
[2026-08-29 21:22:29,269.269 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:22:29,272.272 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:22:29,278.278 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:22:29,284.284 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:22:31,324.324 INFO    ] ================================================
[2026-08-29 21:22:31,340.340 INFO    ] Launching Daemon at Sat Aug 29 21:22:31 IST 2026
[2026-08-29 21:22:31,354.354 INFO    ] ================================================
[2026-08-29 21:22:32,021.021 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:22:32
[2026-08-29 21:22:32,634.634 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:22:32,958.958 INFO    ] Initializing speech engine...
[2026-08-29 21:22:32,969.969 INFO    ] 2026-08-29 21:22:32
[2026-08-29 21:22:33,259.259 INFO    ] 2026-08-29 21:22:33
[2026-08-29 21:22:33,301.301 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:22:33,520.520 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:22:33,529.529 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:22:33,660.660 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:22:33,707.707 INFO    ] time= 29/08/2026 21:22:33
[2026-08-29 21:22:33,761.761 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:22:33,793.793 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:22:33,844.844 INFO    ] No existing commands found in stream
[2026-08-29 21:22:38,856.856 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:22:38,859.859 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-08-29 21:22:41,158.158 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:22:41,159.159 INFO    ] Checking for system updates...
[2026-08-29 21:22:41,180.180 INFO    ] 200
[2026-08-29 21:22:41,181.181 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:22:41,211.211 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:22:41,212.212 INFO    ] No update needed
[2026-08-29 21:22:41,214.214 INFO    ] Checking for camera pi updates...
[2026-08-29 21:22:41,233.233 INFO    ] 200
[2026-08-29 21:22:41,235.235 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:22:41,257.257 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:22:41,329.329 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:22:41,330.330 INFO    ] No camera update needed
[2026-08-29 21:22:41,332.332 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:22:41,333.333 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:22:41,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:22:41,338.338 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:22:43,378.378 INFO    ] ================================================
[2026-08-29 21:22:43,398.398 INFO    ] Launching Daemon at Sat Aug 29 21:22:43 IST 2026
[2026-08-29 21:22:43,409.409 INFO    ] ================================================
[2026-08-29 21:22:43,900.900 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:22:43
[2026-08-29 21:22:44,503.503 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:22:44,767.767 INFO    ] Initializing speech engine...
[2026-08-29 21:22:44,773.773 INFO    ] 2026-08-29 21:22:44
[2026-08-29 21:22:45,077.077 INFO    ] 2026-08-29 21:22:45
[2026-08-29 21:22:45,115.115 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:22:45,269.269 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:22:45,276.276 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:22:45,375.375 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:22:45,426.426 INFO    ] time= 29/08/2026 21:22:45
[2026-08-29 21:22:45,453.453 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:22:45,464.464 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:22:45,538.538 INFO    ] No existing commands found in stream
[2026-08-29 21:22:50,551.551 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:22:50,554.554 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 21:22:52,557.557 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:22:52,558.558 INFO    ] Checking for system updates...
[2026-08-29 21:22:52,579.579 INFO    ] 200
[2026-08-29 21:22:52,580.580 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:22:52,612.612 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:22:52,614.614 INFO    ] No update needed
[2026-08-29 21:22:52,615.615 INFO    ] Checking for camera pi updates...
[2026-08-29 21:22:52,636.636 INFO    ] 200
[2026-08-29 21:22:52,637.637 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:22:52,660.660 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:22:52,735.735 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:22:52,737.737 INFO    ] No camera update needed
[2026-08-29 21:22:52,742.742 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:22:52,744.744 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:22:52,747.747 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:22:52,751.751 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:22:54,790.790 INFO    ] ================================================
[2026-08-29 21:22:54,805.805 INFO    ] Launching Daemon at Sat Aug 29 21:22:54 IST 2026
[2026-08-29 21:22:54,817.817 INFO    ] ================================================
[2026-08-29 21:22:55,154.154 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:22:55
[2026-08-29 21:22:55,472.472 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:22:55,607.607 INFO    ] Initializing speech engine...
[2026-08-29 21:22:55,617.617 INFO    ] 2026-08-29 21:22:55
[2026-08-29 21:22:55,806.806 INFO    ] 2026-08-29 21:22:55
[2026-08-29 21:22:55,853.853 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:22:56,017.017 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:22:56,026.026 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:22:56,172.172 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:22:56,187.187 INFO    ] time= 29/08/2026 21:22:56
[2026-08-29 21:22:56,208.208 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:22:56,258.258 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:22:56,347.347 INFO    ] No existing commands found in stream
[2026-08-29 21:23:01,357.357 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:23:01,358.358 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-08-29 21:23:03,555.555 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:23:03,557.557 INFO    ] Checking for system updates...
[2026-08-29 21:23:03,593.593 INFO    ] 200
[2026-08-29 21:23:03,596.596 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:23:03,649.649 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:23:03,651.651 INFO    ] No update needed
[2026-08-29 21:23:03,654.654 INFO    ] Checking for camera pi updates...
[2026-08-29 21:23:03,688.688 INFO    ] 200
[2026-08-29 21:23:03,690.690 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:23:03,731.731 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:23:03,838.838 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:23:03,841.841 INFO    ] No camera update needed
[2026-08-29 21:23:03,844.844 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:23:03,847.847 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:23:03,853.853 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:23:03,859.859 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:23:05,902.902 INFO    ] ================================================
[2026-08-29 21:23:05,917.917 INFO    ] Launching Daemon at Sat Aug 29 21:23:05 IST 2026
[2026-08-29 21:23:05,928.928 INFO    ] ================================================
[2026-08-29 21:23:06,275.275 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:23:06
[2026-08-29 21:23:06,832.832 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:23:07,107.107 INFO    ] Initializing speech engine...
[2026-08-29 21:23:07,118.118 INFO    ] 2026-08-29 21:23:07
[2026-08-29 21:23:07,378.378 INFO    ] 2026-08-29 21:23:07
[2026-08-29 21:23:07,432.432 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:23:07,575.575 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:23:07,587.587 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:23:07,697.697 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:23:07,715.715 INFO    ] time= 29/08/2026 21:23:07
[2026-08-29 21:23:07,738.738 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:23:07,743.743 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:23:07,811.811 INFO    ] No existing commands found in stream
[2026-08-29 21:23:12,829.829 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:23:12,839.839 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-08-29 21:23:14,262.262 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:23:14,263.263 INFO    ] Checking for system updates...
[2026-08-29 21:23:14,283.283 INFO    ] 200
[2026-08-29 21:23:14,285.285 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:23:14,315.315 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:23:14,317.317 INFO    ] No update needed
[2026-08-29 21:23:14,318.318 INFO    ] Checking for camera pi updates...
[2026-08-29 21:23:14,341.341 INFO    ] 200
[2026-08-29 21:23:14,343.343 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:23:14,366.366 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:23:14,439.439 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:23:14,441.441 INFO    ] No camera update needed
[2026-08-29 21:23:14,444.444 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:23:14,446.446 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:23:14,452.452 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:23:14,457.457 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:23:16,499.499 INFO    ] ================================================
[2026-08-29 21:23:16,514.514 INFO    ] Launching Daemon at Sat Aug 29 21:23:16 IST 2026
[2026-08-29 21:23:16,525.525 INFO    ] ================================================
[2026-08-29 21:23:17,099.099 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:23:17
[2026-08-29 21:23:17,578.578 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:23:17,713.713 INFO    ] Initializing speech engine...
[2026-08-29 21:23:17,721.721 INFO    ] 2026-08-29 21:23:17
[2026-08-29 21:23:17,949.949 INFO    ] 2026-08-29 21:23:17
[2026-08-29 21:23:17,980.980 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:23:18,115.115 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:23:18,157.157 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:23:18,295.295 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:23:18,330.330 INFO    ] time= 29/08/2026 21:23:18
[2026-08-29 21:23:18,371.371 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:23:18,416.416 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:23:18,514.514 INFO    ] No existing commands found in stream
[2026-08-29 21:23:23,524.524 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:23:23,527.527 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-08-29 21:23:25,087.087 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:23:25,089.089 INFO    ] Checking for system updates...
[2026-08-29 21:23:25,110.110 INFO    ] 200
[2026-08-29 21:23:25,111.111 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:23:25,142.142 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:23:25,144.144 INFO    ] No update needed
[2026-08-29 21:23:25,145.145 INFO    ] Checking for camera pi updates...
[2026-08-29 21:23:25,166.166 INFO    ] 200
[2026-08-29 21:23:25,168.168 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:23:25,193.193 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:23:25,271.271 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:23:25,274.274 INFO    ] No camera update needed
[2026-08-29 21:23:25,277.277 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:23:25,279.279 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:23:25,286.286 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:23:25,291.291 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:23:27,335.335 INFO    ] ================================================
[2026-08-29 21:23:27,351.351 INFO    ] Launching Daemon at Sat Aug 29 21:23:27 IST 2026
[2026-08-29 21:23:27,362.362 INFO    ] ================================================
[2026-08-29 21:23:27,963.963 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:23:27
[2026-08-29 21:23:28,494.494 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:23:28,648.648 INFO    ] Initializing speech engine...
[2026-08-29 21:23:28,653.653 INFO    ] 2026-08-29 21:23:28
[2026-08-29 21:23:28,859.859 INFO    ] 2026-08-29 21:23:28
[2026-08-29 21:23:28,888.888 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:23:29,021.021 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:23:29,075.075 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:23:29,247.247 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:23:29,275.275 INFO    ] time= 29/08/2026 21:23:29
[2026-08-29 21:23:29,330.330 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:23:29,369.369 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:23:29,468.468 INFO    ] No existing commands found in stream
[2026-08-29 21:23:34,488.488 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:23:34,492.492 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-08-29 21:23:36,760.760 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:23:36,762.762 INFO    ] Checking for system updates...
[2026-08-29 21:23:36,783.783 INFO    ] 200
[2026-08-29 21:23:36,785.785 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:23:36,820.820 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:23:36,823.823 INFO    ] No update needed
[2026-08-29 21:23:36,826.826 INFO    ] Checking for camera pi updates...
[2026-08-29 21:23:36,861.861 INFO    ] 200
[2026-08-29 21:23:36,864.864 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:23:36,905.905 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:23:36,981.981 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:23:36,985.985 INFO    ] No camera update needed
[2026-08-29 21:23:36,987.987 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:23:36,990.990 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:23:36,996.996 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:23:37,002.002 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:23:39,043.043 INFO    ] ================================================
[2026-08-29 21:23:39,060.060 INFO    ] Launching Daemon at Sat Aug 29 21:23:39 IST 2026
[2026-08-29 21:23:39,071.071 INFO    ] ================================================
[2026-08-29 21:23:39,747.747 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:23:39
[2026-08-29 21:23:40,189.189 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:23:40,344.344 INFO    ] Initializing speech engine...
[2026-08-29 21:23:40,354.354 INFO    ] 2026-08-29 21:23:40
[2026-08-29 21:23:40,635.635 INFO    ] 2026-08-29 21:23:40
[2026-08-29 21:23:40,690.690 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:23:40,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:23:40,925.925 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:23:41,061.061 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:23:41,118.118 INFO    ] time= 29/08/2026 21:23:41
[2026-08-29 21:23:41,178.178 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:23:41,199.199 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:23:41,282.282 INFO    ] No existing commands found in stream
[2026-08-29 21:23:46,319.319 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:23:46,323.323 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-08-29 21:23:48,622.622 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:23:48,624.624 INFO    ] Checking for system updates...
[2026-08-29 21:23:48,646.646 INFO    ] 200
[2026-08-29 21:23:48,648.648 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:23:48,683.683 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:23:48,684.684 INFO    ] No update needed
[2026-08-29 21:23:48,686.686 INFO    ] Checking for camera pi updates...
[2026-08-29 21:23:48,706.706 INFO    ] 200
[2026-08-29 21:23:48,708.708 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:23:48,734.734 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:23:48,915.915 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:23:48,916.916 INFO    ] No camera update needed
[2026-08-29 21:23:48,917.917 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:23:48,919.919 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:23:48,922.922 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:23:48,925.925 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:23:50,965.965 INFO    ] ================================================
[2026-08-29 21:23:50,980.980 INFO    ] Launching Daemon at Sat Aug 29 21:23:50 IST 2026
[2026-08-29 21:23:50,992.992 INFO    ] ================================================
[2026-08-29 21:23:51,342.342 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:23:51
[2026-08-29 21:23:51,687.687 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:23:51,839.839 INFO    ] Initializing speech engine...
[2026-08-29 21:23:51,845.845 INFO    ] 2026-08-29 21:23:51
[2026-08-29 21:23:52,066.066 INFO    ] 2026-08-29 21:23:52
[2026-08-29 21:23:52,122.122 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:23:52,287.287 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:23:52,296.296 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:23:52,437.437 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:23:52,497.497 INFO    ] time= 29/08/2026 21:23:52
[2026-08-29 21:23:52,516.516 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:23:52,531.531 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:23:52,644.644 INFO    ] No existing commands found in stream
[2026-08-29 21:23:57,667.667 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:23:57,670.670 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-08-29 21:23:59,125.125 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:23:59,127.127 INFO    ] Checking for system updates...
[2026-08-29 21:23:59,148.148 INFO    ] 200
[2026-08-29 21:23:59,150.150 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:23:59,180.180 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:23:59,182.182 INFO    ] No update needed
[2026-08-29 21:23:59,183.183 INFO    ] Checking for camera pi updates...
[2026-08-29 21:23:59,203.203 INFO    ] 200
[2026-08-29 21:23:59,204.204 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:23:59,228.228 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:23:59,306.306 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:23:59,307.307 INFO    ] No camera update needed
[2026-08-29 21:23:59,309.309 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:23:59,310.310 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:23:59,314.314 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:23:59,316.316 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:24:01,363.363 INFO    ] ================================================
[2026-08-29 21:24:01,398.398 INFO    ] Launching Daemon at Sat Aug 29 21:24:01 IST 2026
[2026-08-29 21:24:01,418.418 INFO    ] ================================================
[2026-08-29 21:24:02,187.187 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:24:02
[2026-08-29 21:24:02,897.897 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:24:03,232.232 INFO    ] Initializing speech engine...
[2026-08-29 21:24:03,244.244 INFO    ] 2026-08-29 21:24:03
[2026-08-29 21:24:03,528.528 INFO    ] 2026-08-29 21:24:03
[2026-08-29 21:24:03,573.573 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:24:03,754.754 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:24:03,766.766 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:24:03,912.912 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:24:03,918.918 INFO    ] time= 29/08/2026 21:24:03
[2026-08-29 21:24:03,924.924 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:24:03,962.962 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:24:04,094.094 INFO    ] No existing commands found in stream
[2026-08-29 21:24:09,133.133 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:24:09,136.136 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-08-29 21:24:12,919.919 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:24:12,921.921 INFO    ] Checking for system updates...
[2026-08-29 21:24:12,942.942 INFO    ] 200
[2026-08-29 21:24:12,943.943 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:24:12,974.974 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:24:12,975.975 INFO    ] No update needed
[2026-08-29 21:24:12,976.976 INFO    ] Checking for camera pi updates...
[2026-08-29 21:24:12,997.997 INFO    ] 200
[2026-08-29 21:24:12,998.998 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:24:13,021.021 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:24:13,096.096 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:24:13,098.098 INFO    ] No camera update needed
[2026-08-29 21:24:13,099.099 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:24:13,100.100 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:24:13,103.103 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:24:13,106.106 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:24:15,147.147 INFO    ] ================================================
[2026-08-29 21:24:15,162.162 INFO    ] Launching Daemon at Sat Aug 29 21:24:15 IST 2026
[2026-08-29 21:24:15,173.173 INFO    ] ================================================
[2026-08-29 21:24:15,718.718 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:24:15
[2026-08-29 21:24:16,407.407 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:24:16,716.716 INFO    ] Initializing speech engine...
[2026-08-29 21:24:16,729.729 INFO    ] 2026-08-29 21:24:16
[2026-08-29 21:24:17,053.053 INFO    ] 2026-08-29 21:24:17
[2026-08-29 21:24:17,137.137 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:24:17,295.295 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:24:17,305.305 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:24:17,438.438 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:24:17,496.496 INFO    ] time= 29/08/2026 21:24:17
[2026-08-29 21:24:17,551.551 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:24:17,573.573 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:24:17,630.630 INFO    ] No existing commands found in stream
[2026-08-29 21:24:22,645.645 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:24:22,648.648 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-08-29 21:24:24,041.041 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:24:24,043.043 INFO    ] Checking for system updates...
[2026-08-29 21:24:24,065.065 INFO    ] 200
[2026-08-29 21:24:24,067.067 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:24:24,097.097 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:24:24,099.099 INFO    ] No update needed
[2026-08-29 21:24:24,100.100 INFO    ] Checking for camera pi updates...
[2026-08-29 21:24:24,120.120 INFO    ] 200
[2026-08-29 21:24:24,121.121 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:24:24,145.145 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:24:24,245.245 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:24:24,248.248 INFO    ] No camera update needed
[2026-08-29 21:24:24,251.251 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:24:24,254.254 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:24:24,260.260 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:24:24,267.267 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:24:26,307.307 INFO    ] ================================================
[2026-08-29 21:24:26,322.322 INFO    ] Launching Daemon at Sat Aug 29 21:24:26 IST 2026
[2026-08-29 21:24:26,333.333 INFO    ] ================================================
[2026-08-29 21:24:27,009.009 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:24:27
[2026-08-29 21:24:27,503.503 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:24:27,826.826 INFO    ] Initializing speech engine...
[2026-08-29 21:24:27,834.834 INFO    ] 2026-08-29 21:24:27
[2026-08-29 21:24:28,145.145 INFO    ] 2026-08-29 21:24:28
[2026-08-29 21:24:28,232.232 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:24:28,448.448 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:24:28,453.453 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:24:28,618.618 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:24:28,653.653 INFO    ] time= 29/08/2026 21:24:28
[2026-08-29 21:24:28,659.659 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:24:28,681.681 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:24:28,811.811 INFO    ] No existing commands found in stream
[2026-08-29 21:24:33,831.831 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:24:33,834.834 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-08-29 21:24:35,997.997 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:24:35,999.999 INFO    ] Checking for system updates...
[2026-08-29 21:24:36,020.020 INFO    ] 200
[2026-08-29 21:24:36,022.022 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:24:36,052.052 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:24:36,054.054 INFO    ] No update needed
[2026-08-29 21:24:36,055.055 INFO    ] Checking for camera pi updates...
[2026-08-29 21:24:36,075.075 INFO    ] 200
[2026-08-29 21:24:36,076.076 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:24:36,100.100 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:24:36,176.176 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:24:36,177.177 INFO    ] No camera update needed
[2026-08-29 21:24:36,179.179 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:24:36,180.180 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:24:36,183.183 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:24:36,186.186 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:24:38,225.225 INFO    ] ================================================
[2026-08-29 21:24:38,241.241 INFO    ] Launching Daemon at Sat Aug 29 21:24:38 IST 2026
[2026-08-29 21:24:38,252.252 INFO    ] ================================================
[2026-08-29 21:24:38,615.615 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:24:38
[2026-08-29 21:24:38,961.961 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:24:39,108.108 INFO    ] Initializing speech engine...
[2026-08-29 21:24:39,118.118 INFO    ] 2026-08-29 21:24:39
[2026-08-29 21:24:39,328.328 INFO    ] 2026-08-29 21:24:39
[2026-08-29 21:24:39,357.357 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:24:39,478.478 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:24:39,541.541 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:24:39,679.679 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:24:39,746.746 INFO    ] time= 29/08/2026 21:24:39
[2026-08-29 21:24:39,770.770 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:24:39,777.777 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:24:39,843.843 INFO    ] No existing commands found in stream
[2026-08-29 21:24:44,855.855 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:24:44,858.858 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-08-29 21:24:49,150.150 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:24:49,153.153 INFO    ] Checking for system updates...
[2026-08-29 21:24:49,189.189 INFO    ] 200
[2026-08-29 21:24:49,192.192 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:24:49,244.244 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:24:49,246.246 INFO    ] No update needed
[2026-08-29 21:24:49,249.249 INFO    ] Checking for camera pi updates...
[2026-08-29 21:24:49,283.283 INFO    ] 200
[2026-08-29 21:24:49,286.286 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:24:49,333.333 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:24:49,415.415 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:24:49,417.417 INFO    ] No camera update needed
[2026-08-29 21:24:49,419.419 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:24:49,422.422 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:24:49,427.427 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:24:49,432.432 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:24:51,473.473 INFO    ] ================================================
[2026-08-29 21:24:51,489.489 INFO    ] Launching Daemon at Sat Aug 29 21:24:51 IST 2026
[2026-08-29 21:24:51,500.500 INFO    ] ================================================
[2026-08-29 21:24:52,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:24:52
[2026-08-29 21:24:52,508.508 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:24:52,780.780 INFO    ] Initializing speech engine...
[2026-08-29 21:24:52,789.789 INFO    ] 2026-08-29 21:24:52
[2026-08-29 21:24:53,073.073 INFO    ] 2026-08-29 21:24:53
[2026-08-29 21:24:53,182.182 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:24:53,333.333 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:24:53,343.343 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:24:53,480.480 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:24:53,551.551 INFO    ] time= 29/08/2026 21:24:53
[2026-08-29 21:24:53,609.609 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:24:53,616.616 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:24:53,743.743 INFO    ] No existing commands found in stream
[2026-08-29 21:24:58,771.771 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:24:58,775.775 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-08-29 21:24:59,826.826 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:24:59,828.828 INFO    ] Checking for system updates...
[2026-08-29 21:24:59,849.849 INFO    ] 200
[2026-08-29 21:24:59,851.851 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:24:59,881.881 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:24:59,882.882 INFO    ] No update needed
[2026-08-29 21:24:59,884.884 INFO    ] Checking for camera pi updates...
[2026-08-29 21:24:59,904.904 INFO    ] 200
[2026-08-29 21:24:59,905.905 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:24:59,929.929 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:25:00,005.005 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:25:00,007.007 INFO    ] No camera update needed
[2026-08-29 21:25:00,008.008 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:25:00,009.009 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:25:00,013.013 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:25:00,016.016 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:25:02,057.057 INFO    ] ================================================
[2026-08-29 21:25:02,079.079 INFO    ] Launching Daemon at Sat Aug 29 21:25:02 IST 2026
[2026-08-29 21:25:02,103.103 INFO    ] ================================================
[2026-08-29 21:25:02,736.736 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:25:02
[2026-08-29 21:25:03,401.401 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:25:03,678.678 INFO    ] Initializing speech engine...
[2026-08-29 21:25:03,687.687 INFO    ] 2026-08-29 21:25:03
[2026-08-29 21:25:03,938.938 INFO    ] 2026-08-29 21:25:03
[2026-08-29 21:25:03,974.974 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:25:04,150.150 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:25:04,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:25:04,294.294 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:25:04,317.317 INFO    ] time= 29/08/2026 21:25:04
[2026-08-29 21:25:04,323.323 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:25:04,328.328 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:25:04,397.397 INFO    ] No existing commands found in stream
[2026-08-29 21:25:09,433.433 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:25:09,435.435 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 21:25:11,950.950 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:25:11,951.951 INFO    ] Checking for system updates...
[2026-08-29 21:25:11,971.971 INFO    ] 200
[2026-08-29 21:25:11,973.973 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:25:12,005.005 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:25:12,006.006 INFO    ] No update needed
[2026-08-29 21:25:12,008.008 INFO    ] Checking for camera pi updates...
[2026-08-29 21:25:12,028.028 INFO    ] 200
[2026-08-29 21:25:12,029.029 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:25:12,054.054 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:25:12,156.156 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:25:12,157.157 INFO    ] No camera update needed
[2026-08-29 21:25:12,158.158 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:25:12,159.159 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:25:12,162.162 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:25:12,165.165 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:25:14,204.204 INFO    ] ================================================
[2026-08-29 21:25:14,219.219 INFO    ] Launching Daemon at Sat Aug 29 21:25:14 IST 2026
[2026-08-29 21:25:14,230.230 INFO    ] ================================================
[2026-08-29 21:25:14,579.579 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:25:14
[2026-08-29 21:25:14,898.898 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:25:15,114.114 INFO    ] Initializing speech engine...
[2026-08-29 21:25:15,131.131 INFO    ] 2026-08-29 21:25:15
[2026-08-29 21:25:15,421.421 INFO    ] 2026-08-29 21:25:15
[2026-08-29 21:25:15,460.460 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:25:15,660.660 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:25:15,667.667 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:25:15,800.800 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:25:15,807.807 INFO    ] time= 29/08/2026 21:25:15
[2026-08-29 21:25:15,812.812 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:25:15,832.832 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:25:15,928.928 INFO    ] No existing commands found in stream
[2026-08-29 21:25:20,945.945 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:25:20,948.948 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-08-29 21:25:21,795.795 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:25:21,797.797 INFO    ] Checking for system updates...
[2026-08-29 21:25:21,819.819 INFO    ] 200
[2026-08-29 21:25:21,821.821 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:25:21,851.851 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:25:21,853.853 INFO    ] No update needed
[2026-08-29 21:25:21,854.854 INFO    ] Checking for camera pi updates...
[2026-08-29 21:25:21,874.874 INFO    ] 200
[2026-08-29 21:25:21,875.875 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:25:21,898.898 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:25:21,970.970 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:25:21,972.972 INFO    ] No camera update needed
[2026-08-29 21:25:21,973.973 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:25:21,975.975 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:25:21,978.978 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:25:21,981.981 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:25:24,021.021 INFO    ] ================================================
[2026-08-29 21:25:24,037.037 INFO    ] Launching Daemon at Sat Aug 29 21:25:24 IST 2026
[2026-08-29 21:25:24,048.048 INFO    ] ================================================
[2026-08-29 21:25:24,437.437 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:25:24
[2026-08-29 21:25:24,777.777 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:25:24,930.930 INFO    ] Initializing speech engine...
[2026-08-29 21:25:24,935.935 INFO    ] 2026-08-29 21:25:24
[2026-08-29 21:25:25,145.145 INFO    ] 2026-08-29 21:25:25
[2026-08-29 21:25:25,175.175 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:25:25,301.301 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:25:25,364.364 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:25:25,504.504 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:25:25,569.569 INFO    ] time= 29/08/2026 21:25:25
[2026-08-29 21:25:25,598.598 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:25:25,605.605 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:25:25,671.671 INFO    ] No existing commands found in stream
[2026-08-29 21:25:30,682.682 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:25:30,685.685 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-08-29 21:25:33,694.694 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:25:33,697.697 INFO    ] Checking for system updates...
[2026-08-29 21:25:33,733.733 INFO    ] 200
[2026-08-29 21:25:33,735.735 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:25:33,786.786 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:25:33,789.789 INFO    ] No update needed
[2026-08-29 21:25:33,791.791 INFO    ] Checking for camera pi updates...
[2026-08-29 21:25:33,825.825 INFO    ] 200
[2026-08-29 21:25:33,827.827 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:25:33,868.868 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:25:33,960.960 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:25:33,962.962 INFO    ] No camera update needed
[2026-08-29 21:25:33,964.964 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:25:33,967.967 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:25:33,972.972 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:25:33,977.977 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:25:36,017.017 INFO    ] ================================================
[2026-08-29 21:25:36,031.031 INFO    ] Launching Daemon at Sat Aug 29 21:25:36 IST 2026
[2026-08-29 21:25:36,042.042 INFO    ] ================================================
[2026-08-29 21:25:36,377.377 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:25:36
[2026-08-29 21:25:36,692.692 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:25:36,834.834 INFO    ] Initializing speech engine...
[2026-08-29 21:25:36,843.843 INFO    ] 2026-08-29 21:25:36
[2026-08-29 21:25:37,061.061 INFO    ] 2026-08-29 21:25:37
[2026-08-29 21:25:37,092.092 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:25:37,223.223 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:25:37,232.232 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:25:37,381.381 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:25:37,413.413 INFO    ] time= 29/08/2026 21:25:37
[2026-08-29 21:25:37,442.442 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:25:37,477.477 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:25:37,548.548 INFO    ] No existing commands found in stream
[2026-08-29 21:25:42,562.562 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:25:42,565.565 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 21:25:45,567.567 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:25:45,568.568 INFO    ] Checking for system updates...
[2026-08-29 21:25:45,589.589 INFO    ] 200
[2026-08-29 21:25:45,590.590 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:25:45,620.620 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:25:45,621.621 INFO    ] No update needed
[2026-08-29 21:25:45,623.623 INFO    ] Checking for camera pi updates...
[2026-08-29 21:25:45,643.643 INFO    ] 200
[2026-08-29 21:25:45,644.644 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:25:45,669.669 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:25:45,761.761 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:25:45,763.763 INFO    ] No camera update needed
[2026-08-29 21:25:45,764.764 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:25:45,765.765 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:25:45,768.768 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:25:45,771.771 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:25:47,810.810 INFO    ] ================================================
[2026-08-29 21:25:47,826.826 INFO    ] Launching Daemon at Sat Aug 29 21:25:47 IST 2026
[2026-08-29 21:25:47,837.837 INFO    ] ================================================
[2026-08-29 21:25:48,461.461 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:25:48
[2026-08-29 21:25:49,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:25:49,325.325 INFO    ] Initializing speech engine...
[2026-08-29 21:25:49,333.333 INFO    ] 2026-08-29 21:25:49
[2026-08-29 21:25:49,611.611 INFO    ] 2026-08-29 21:25:49
[2026-08-29 21:25:49,647.647 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:25:49,823.823 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:25:49,829.829 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:25:49,950.950 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:25:49,970.970 INFO    ] time= 29/08/2026 21:25:49
[2026-08-29 21:25:49,990.990 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:25:49,998.998 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:25:50,067.067 INFO    ] No existing commands found in stream
[2026-08-29 21:25:55,079.079 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:25:55,082.082 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-08-29 21:25:57,428.428 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:25:57,430.430 INFO    ] Checking for system updates...
[2026-08-29 21:25:57,451.451 INFO    ] 200
[2026-08-29 21:25:57,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:25:57,483.483 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:25:57,484.484 INFO    ] No update needed
[2026-08-29 21:25:57,486.486 INFO    ] Checking for camera pi updates...
[2026-08-29 21:25:57,506.506 INFO    ] 200
[2026-08-29 21:25:57,507.507 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:25:57,531.531 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:25:57,711.711 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:25:57,713.713 INFO    ] No camera update needed
[2026-08-29 21:25:57,714.714 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:25:57,716.716 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:25:57,719.719 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:25:57,722.722 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:25:59,763.763 INFO    ] ================================================
[2026-08-29 21:25:59,778.778 INFO    ] Launching Daemon at Sat Aug 29 21:25:59 IST 2026
[2026-08-29 21:25:59,789.789 INFO    ] ================================================
[2026-08-29 21:26:00,150.150 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:26:00
[2026-08-29 21:26:00,493.493 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:26:00,641.641 INFO    ] Initializing speech engine...
[2026-08-29 21:26:00,652.652 INFO    ] 2026-08-29 21:26:00
[2026-08-29 21:26:00,862.862 INFO    ] 2026-08-29 21:26:00
[2026-08-29 21:26:00,890.890 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:26:01,023.023 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:26:01,083.083 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:26:01,267.267 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:26:01,298.298 INFO    ] time= 29/08/2026 21:26:01
[2026-08-29 21:26:01,360.360 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:26:01,420.420 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:26:01,523.523 INFO    ] No existing commands found in stream
[2026-08-29 21:26:06,534.534 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:26:06,536.536 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-08-29 21:26:07,700.700 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:26:07,702.702 INFO    ] Checking for system updates...
[2026-08-29 21:26:07,723.723 INFO    ] 200
[2026-08-29 21:26:07,724.724 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:26:07,754.754 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:26:07,755.755 INFO    ] No update needed
[2026-08-29 21:26:07,757.757 INFO    ] Checking for camera pi updates...
[2026-08-29 21:26:07,776.776 INFO    ] 200
[2026-08-29 21:26:07,777.777 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:26:07,800.800 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:26:07,882.882 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:26:07,883.883 INFO    ] No camera update needed
[2026-08-29 21:26:07,884.884 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:26:07,886.886 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:26:07,889.889 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:26:07,891.891 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:26:09,930.930 INFO    ] ================================================
[2026-08-29 21:26:09,946.946 INFO    ] Launching Daemon at Sat Aug 29 21:26:09 IST 2026
[2026-08-29 21:26:09,957.957 INFO    ] ================================================
[2026-08-29 21:26:10,304.304 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:26:10
[2026-08-29 21:26:10,665.665 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:26:10,978.978 INFO    ] Initializing speech engine...
[2026-08-29 21:26:10,987.987 INFO    ] 2026-08-29 21:26:10
[2026-08-29 21:26:11,267.267 INFO    ] 2026-08-29 21:26:11
[2026-08-29 21:26:11,377.377 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:26:11,533.533 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:26:11,538.538 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:26:11,671.671 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:26:11,731.731 INFO    ] time= 29/08/2026 21:26:11
[2026-08-29 21:26:11,786.786 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:26:11,806.806 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:26:11,938.938 INFO    ] No existing commands found in stream
[2026-08-29 21:26:16,963.963 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:26:16,966.966 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-08-29 21:26:20,653.653 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:26:20,655.655 INFO    ] Checking for system updates...
[2026-08-29 21:26:20,676.676 INFO    ] 200
[2026-08-29 21:26:20,677.677 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:26:20,709.709 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:26:20,711.711 INFO    ] No update needed
[2026-08-29 21:26:20,712.712 INFO    ] Checking for camera pi updates...
[2026-08-29 21:26:20,733.733 INFO    ] 200
[2026-08-29 21:26:20,734.734 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:26:20,760.760 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:26:20,850.850 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:26:20,852.852 INFO    ] No camera update needed
[2026-08-29 21:26:20,853.853 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:26:20,854.854 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:26:20,857.857 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:26:20,860.860 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:26:22,902.902 INFO    ] ================================================
[2026-08-29 21:26:22,918.918 INFO    ] Launching Daemon at Sat Aug 29 21:26:22 IST 2026
[2026-08-29 21:26:22,929.929 INFO    ] ================================================
[2026-08-29 21:26:23,262.262 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:26:23
[2026-08-29 21:26:23,575.575 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:26:23,722.722 INFO    ] Initializing speech engine...
[2026-08-29 21:26:23,727.727 INFO    ] 2026-08-29 21:26:23
[2026-08-29 21:26:23,944.944 INFO    ] 2026-08-29 21:26:23
[2026-08-29 21:26:23,975.975 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:26:24,107.107 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:26:24,140.140 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:26:24,285.285 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:26:24,320.320 INFO    ] time= 29/08/2026 21:26:24
[2026-08-29 21:26:24,367.367 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:26:24,404.404 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:26:24,501.501 INFO    ] No existing commands found in stream
[2026-08-29 21:26:29,512.512 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:26:29,515.515 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-08-29 21:26:32,629.629 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:26:32,632.632 INFO    ] Checking for system updates...
[2026-08-29 21:26:32,667.667 INFO    ] 200
[2026-08-29 21:26:32,670.670 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:26:32,721.721 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:26:32,724.724 INFO    ] No update needed
[2026-08-29 21:26:32,726.726 INFO    ] Checking for camera pi updates...
[2026-08-29 21:26:32,760.760 INFO    ] 200
[2026-08-29 21:26:32,763.763 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:26:32,803.803 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:26:32,920.920 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:26:32,922.922 INFO    ] No camera update needed
[2026-08-29 21:26:32,925.925 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:26:32,927.927 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:26:32,932.932 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:26:32,937.937 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:26:34,979.979 INFO    ] ================================================
[2026-08-29 21:26:34,994.994 INFO    ] Launching Daemon at Sat Aug 29 21:26:34 IST 2026
[2026-08-29 21:26:35,005.005 INFO    ] ================================================
[2026-08-29 21:26:35,375.375 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:26:35
[2026-08-29 21:26:35,694.694 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:26:35,839.839 INFO    ] Initializing speech engine...
[2026-08-29 21:26:35,843.843 INFO    ] 2026-08-29 21:26:35
[2026-08-29 21:26:36,048.048 INFO    ] 2026-08-29 21:26:36
[2026-08-29 21:26:36,076.076 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:26:36,198.198 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:26:36,256.256 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:26:36,398.398 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:26:36,465.465 INFO    ] time= 29/08/2026 21:26:36
[2026-08-29 21:26:36,489.489 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:26:36,496.496 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:26:36,561.561 INFO    ] No existing commands found in stream
[2026-08-29 21:26:41,572.572 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:26:41,575.575 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-08-29 21:26:45,673.673 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:26:45,674.674 INFO    ] Checking for system updates...
[2026-08-29 21:26:45,695.695 INFO    ] 200
[2026-08-29 21:26:45,696.696 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:26:45,729.729 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:26:45,730.730 INFO    ] No update needed
[2026-08-29 21:26:45,731.731 INFO    ] Checking for camera pi updates...
[2026-08-29 21:26:45,751.751 INFO    ] 200
[2026-08-29 21:26:45,752.752 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:26:45,775.775 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:26:45,845.845 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:26:45,847.847 INFO    ] No camera update needed
[2026-08-29 21:26:45,848.848 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:26:45,849.849 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:26:45,852.852 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:26:45,855.855 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:26:47,896.896 INFO    ] ================================================
[2026-08-29 21:26:47,912.912 INFO    ] Launching Daemon at Sat Aug 29 21:26:47 IST 2026
[2026-08-29 21:26:47,923.923 INFO    ] ================================================
[2026-08-29 21:26:48,444.444 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:26:48
[2026-08-29 21:26:49,027.027 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:26:49,296.296 INFO    ] Initializing speech engine...
[2026-08-29 21:26:49,312.312 INFO    ] 2026-08-29 21:26:49
[2026-08-29 21:26:49,579.579 INFO    ] 2026-08-29 21:26:49
[2026-08-29 21:26:49,615.615 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:26:49,757.757 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:26:49,762.762 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:26:49,913.913 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:26:49,923.923 INFO    ] time= 29/08/2026 21:26:49
[2026-08-29 21:26:49,927.927 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:26:49,932.932 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:26:49,997.997 INFO    ] No existing commands found in stream
[2026-08-29 21:26:55,011.011 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:26:55,014.014 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-08-29 21:26:57,889.889 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:26:57,891.891 INFO    ] Checking for system updates...
[2026-08-29 21:26:57,912.912 INFO    ] 200
[2026-08-29 21:26:57,913.913 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:26:57,945.945 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:26:57,947.947 INFO    ] No update needed
[2026-08-29 21:26:57,948.948 INFO    ] Checking for camera pi updates...
[2026-08-29 21:26:57,967.967 INFO    ] 200
[2026-08-29 21:26:57,968.968 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:26:57,992.992 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:26:58,081.081 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:26:58,083.083 INFO    ] No camera update needed
[2026-08-29 21:26:58,084.084 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:26:58,085.085 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:26:58,088.088 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:26:58,091.091 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:27:00,129.129 INFO    ] ================================================
[2026-08-29 21:27:00,145.145 INFO    ] Launching Daemon at Sat Aug 29 21:27:00 IST 2026
[2026-08-29 21:27:00,156.156 INFO    ] ================================================
[2026-08-29 21:27:00,503.503 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:27:00
[2026-08-29 21:27:00,820.820 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:27:00,962.962 INFO    ] Initializing speech engine...
[2026-08-29 21:27:00,967.967 INFO    ] 2026-08-29 21:27:00
[2026-08-29 21:27:01,208.208 INFO    ] 2026-08-29 21:27:01
[2026-08-29 21:27:01,264.264 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:27:01,441.441 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:27:01,452.452 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:27:01,605.605 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:27:01,609.609 INFO    ] time= 29/08/2026 21:27:01
[2026-08-29 21:27:01,612.612 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:27:01,616.616 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:27:01,668.668 INFO    ] No existing commands found in stream
[2026-08-29 21:27:06,678.678 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:27:06,681.681 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-08-29 21:27:10,479.479 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:27:10,481.481 INFO    ] Checking for system updates...
[2026-08-29 21:27:10,501.501 INFO    ] 200
[2026-08-29 21:27:10,503.503 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:27:10,533.533 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:27:10,534.534 INFO    ] No update needed
[2026-08-29 21:27:10,536.536 INFO    ] Checking for camera pi updates...
[2026-08-29 21:27:10,555.555 INFO    ] 200
[2026-08-29 21:27:10,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:27:10,579.579 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:27:10,651.651 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:27:10,653.653 INFO    ] No camera update needed
[2026-08-29 21:27:10,654.654 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:27:10,655.655 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:27:10,658.658 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:27:10,661.661 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:27:12,700.700 INFO    ] ================================================
[2026-08-29 21:27:12,715.715 INFO    ] Launching Daemon at Sat Aug 29 21:27:12 IST 2026
[2026-08-29 21:27:12,726.726 INFO    ] ================================================
[2026-08-29 21:27:13,084.084 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:27:13
[2026-08-29 21:27:13,403.403 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:27:13,547.547 INFO    ] Initializing speech engine...
[2026-08-29 21:27:13,552.552 INFO    ] 2026-08-29 21:27:13
[2026-08-29 21:27:13,756.756 INFO    ] 2026-08-29 21:27:13
[2026-08-29 21:27:13,785.785 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:27:13,916.916 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:27:13,968.968 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:27:14,140.140 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:27:14,167.167 INFO    ] time= 29/08/2026 21:27:14
[2026-08-29 21:27:14,226.226 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:27:14,281.281 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:27:14,362.362 INFO    ] No existing commands found in stream
[2026-08-29 21:27:19,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:27:19,384.384 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-08-29 21:27:23,076.076 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:27:23,077.077 INFO    ] Checking for system updates...
[2026-08-29 21:27:23,098.098 INFO    ] 200
[2026-08-29 21:27:23,100.100 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:27:23,130.130 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:27:23,131.131 INFO    ] No update needed
[2026-08-29 21:27:23,133.133 INFO    ] Checking for camera pi updates...
[2026-08-29 21:27:23,153.153 INFO    ] 200
[2026-08-29 21:27:23,155.155 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:27:23,180.180 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:27:23,251.251 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:27:23,253.253 INFO    ] No camera update needed
[2026-08-29 21:27:23,254.254 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:27:23,255.255 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:27:23,258.258 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:27:23,261.261 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:27:25,301.301 INFO    ] ================================================
[2026-08-29 21:27:25,317.317 INFO    ] Launching Daemon at Sat Aug 29 21:27:25 IST 2026
[2026-08-29 21:27:25,328.328 INFO    ] ================================================
[2026-08-29 21:27:25,678.678 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:27:25
[2026-08-29 21:27:25,994.994 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:27:26,228.228 INFO    ] Initializing speech engine...
[2026-08-29 21:27:26,235.235 INFO    ] 2026-08-29 21:27:26
[2026-08-29 21:27:26,497.497 INFO    ] 2026-08-29 21:27:26
[2026-08-29 21:27:26,527.527 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:27:26,694.694 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:27:26,717.717 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:27:26,847.847 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:27:26,856.856 INFO    ] time= 29/08/2026 21:27:26
[2026-08-29 21:27:26,863.863 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:27:26,914.914 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:27:27,054.054 INFO    ] No existing commands found in stream
[2026-08-29 21:27:32,066.066 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:27:32,070.070 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-08-29 21:27:34,956.956 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:27:34,958.958 INFO    ] Checking for system updates...
[2026-08-29 21:27:34,978.978 INFO    ] 200
[2026-08-29 21:27:34,980.980 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:27:35,012.012 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:27:35,014.014 INFO    ] No update needed
[2026-08-29 21:27:35,015.015 INFO    ] Checking for camera pi updates...
[2026-08-29 21:27:35,035.035 INFO    ] 200
[2026-08-29 21:27:35,037.037 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:27:35,063.063 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:27:35,156.156 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:27:35,157.157 INFO    ] No camera update needed
[2026-08-29 21:27:35,159.159 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:27:35,160.160 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:27:35,163.163 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:27:35,166.166 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:27:37,206.206 INFO    ] ================================================
[2026-08-29 21:27:37,221.221 INFO    ] Launching Daemon at Sat Aug 29 21:27:37 IST 2026
[2026-08-29 21:27:37,231.231 INFO    ] ================================================
[2026-08-29 21:27:37,599.599 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:27:37
[2026-08-29 21:27:37,912.912 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:27:38,153.153 INFO    ] Initializing speech engine...
[2026-08-29 21:27:38,163.163 INFO    ] 2026-08-29 21:27:38
[2026-08-29 21:27:38,412.412 INFO    ] 2026-08-29 21:27:38
[2026-08-29 21:27:38,448.448 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:27:38,625.625 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:27:38,637.637 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:27:38,780.780 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:27:38,789.789 INFO    ] time= 29/08/2026 21:27:38
[2026-08-29 21:27:38,793.793 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:27:38,799.799 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:27:38,867.867 INFO    ] No existing commands found in stream
[2026-08-29 21:27:43,882.882 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:27:43,885.885 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-08-29 21:27:44,775.775 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:27:44,776.776 INFO    ] Checking for system updates...
[2026-08-29 21:27:44,796.796 INFO    ] 200
[2026-08-29 21:27:44,797.797 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:27:44,827.827 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:27:44,828.828 INFO    ] No update needed
[2026-08-29 21:27:44,829.829 INFO    ] Checking for camera pi updates...
[2026-08-29 21:27:44,849.849 INFO    ] 200
[2026-08-29 21:27:44,850.850 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:27:44,873.873 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:27:44,953.953 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:27:44,954.954 INFO    ] No camera update needed
[2026-08-29 21:27:44,955.955 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:27:44,957.957 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:27:44,959.959 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:27:44,962.962 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:27:47,001.001 INFO    ] ================================================
[2026-08-29 21:27:47,017.017 INFO    ] Launching Daemon at Sat Aug 29 21:27:47 IST 2026
[2026-08-29 21:27:47,028.028 INFO    ] ================================================
[2026-08-29 21:27:47,369.369 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:27:47
[2026-08-29 21:27:47,708.708 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:27:47,859.859 INFO    ] Initializing speech engine...
[2026-08-29 21:27:47,865.865 INFO    ] 2026-08-29 21:27:47
[2026-08-29 21:27:48,074.074 INFO    ] 2026-08-29 21:27:48
[2026-08-29 21:27:48,106.106 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:27:48,248.248 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:27:48,256.256 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:27:48,420.420 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:27:48,459.459 INFO    ] time= 29/08/2026 21:27:48
[2026-08-29 21:27:48,468.468 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:27:48,484.484 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:27:48,600.600 INFO    ] No existing commands found in stream
[2026-08-29 21:27:53,628.628 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:27:53,631.631 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-08-29 21:27:57,244.244 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:27:57,246.246 INFO    ] Checking for system updates...
[2026-08-29 21:27:57,267.267 INFO    ] 200
[2026-08-29 21:27:57,268.268 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:27:57,298.298 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:27:57,302.302 INFO    ] No update needed
[2026-08-29 21:27:57,304.304 INFO    ] Checking for camera pi updates...
[2026-08-29 21:27:57,323.323 INFO    ] 200
[2026-08-29 21:27:57,325.325 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:27:57,349.349 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:27:57,427.427 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:27:57,430.430 INFO    ] No camera update needed
[2026-08-29 21:27:57,432.432 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:27:57,435.435 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:27:57,441.441 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:27:57,446.446 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:27:59,487.487 INFO    ] ================================================
[2026-08-29 21:27:59,502.502 INFO    ] Launching Daemon at Sat Aug 29 21:27:59 IST 2026
[2026-08-29 21:27:59,513.513 INFO    ] ================================================
[2026-08-29 21:28:00,095.095 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:28:00
[2026-08-29 21:28:00,624.624 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:28:00,768.768 INFO    ] Initializing speech engine...
[2026-08-29 21:28:00,773.773 INFO    ] 2026-08-29 21:28:00
[2026-08-29 21:28:00,977.977 INFO    ] 2026-08-29 21:28:00
[2026-08-29 21:28:01,005.005 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:28:01,127.127 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:28:01,180.180 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:28:01,354.354 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:28:01,364.364 INFO    ] time= 29/08/2026 21:28:01
[2026-08-29 21:28:01,405.405 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:28:01,416.416 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:28:01,472.472 INFO    ] No existing commands found in stream
[2026-08-29 21:28:06,484.484 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:28:06,488.488 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-08-29 21:28:09,871.871 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:28:09,875.875 INFO    ] Checking for system updates...
[2026-08-29 21:28:09,911.911 INFO    ] 200
[2026-08-29 21:28:09,913.913 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:28:09,972.972 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:28:09,975.975 INFO    ] No update needed
[2026-08-29 21:28:09,977.977 INFO    ] Checking for camera pi updates...
[2026-08-29 21:28:10,011.011 INFO    ] 200
[2026-08-29 21:28:10,014.014 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:28:10,055.055 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:28:10,139.139 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:28:10,141.141 INFO    ] No camera update needed
[2026-08-29 21:28:10,144.144 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:28:10,146.146 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:28:10,151.151 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:28:10,156.156 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:28:12,198.198 INFO    ] ================================================
[2026-08-29 21:28:12,214.214 INFO    ] Launching Daemon at Sat Aug 29 21:28:12 IST 2026
[2026-08-29 21:28:12,226.226 INFO    ] ================================================
[2026-08-29 21:28:12,800.800 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:28:12
[2026-08-29 21:28:13,135.135 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:28:13,277.277 INFO    ] Initializing speech engine...
[2026-08-29 21:28:13,284.284 INFO    ] 2026-08-29 21:28:13
[2026-08-29 21:28:13,550.550 INFO    ] 2026-08-29 21:28:13
[2026-08-29 21:28:13,598.598 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:28:13,760.760 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:28:13,766.766 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:28:13,891.891 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:28:13,940.940 INFO    ] time= 29/08/2026 21:28:13
[2026-08-29 21:28:13,984.984 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:28:14,039.039 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:28:14,098.098 INFO    ] No existing commands found in stream
[2026-08-29 21:28:19,110.110 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:28:19,113.113 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-08-29 21:28:21,722.722 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:28:21,723.723 INFO    ] Checking for system updates...
[2026-08-29 21:28:21,743.743 INFO    ] 200
[2026-08-29 21:28:21,745.745 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:28:21,776.776 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:28:21,778.778 INFO    ] No update needed
[2026-08-29 21:28:21,779.779 INFO    ] Checking for camera pi updates...
[2026-08-29 21:28:21,798.798 INFO    ] 200
[2026-08-29 21:28:21,799.799 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:28:21,825.825 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:28:21,906.906 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:28:21,908.908 INFO    ] No camera update needed
[2026-08-29 21:28:21,909.909 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:28:21,910.910 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:28:21,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:28:21,916.916 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:28:23,956.956 INFO    ] ================================================
[2026-08-29 21:28:23,971.971 INFO    ] Launching Daemon at Sat Aug 29 21:28:23 IST 2026
[2026-08-29 21:28:23,982.982 INFO    ] ================================================
[2026-08-29 21:28:24,383.383 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:28:24
[2026-08-29 21:28:24,721.721 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:28:24,876.876 INFO    ] Initializing speech engine...
[2026-08-29 21:28:24,880.880 INFO    ] 2026-08-29 21:28:24
[2026-08-29 21:28:25,091.091 INFO    ] 2026-08-29 21:28:25
[2026-08-29 21:28:25,120.120 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:28:25,255.255 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:28:25,309.309 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:28:25,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:28:25,514.514 INFO    ] time= 29/08/2026 21:28:25
[2026-08-29 21:28:25,543.543 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:28:25,549.549 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:28:25,615.615 INFO    ] No existing commands found in stream
[2026-08-29 21:28:30,626.626 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:28:30,629.629 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-08-29 21:28:34,357.357 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:28:34,361.361 INFO    ] Checking for system updates...
[2026-08-29 21:28:34,413.413 INFO    ] 200
[2026-08-29 21:28:34,416.416 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:28:34,468.468 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:28:34,471.471 INFO    ] No update needed
[2026-08-29 21:28:34,474.474 INFO    ] Checking for camera pi updates...
[2026-08-29 21:28:34,511.511 INFO    ] 200
[2026-08-29 21:28:34,514.514 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:28:34,554.554 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:28:34,637.637 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:28:34,640.640 INFO    ] No camera update needed
[2026-08-29 21:28:34,642.642 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:28:34,644.644 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:28:34,650.650 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:28:34,654.654 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:28:36,694.694 INFO    ] ================================================
[2026-08-29 21:28:36,710.710 INFO    ] Launching Daemon at Sat Aug 29 21:28:36 IST 2026
[2026-08-29 21:28:36,721.721 INFO    ] ================================================
[2026-08-29 21:28:37,074.074 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:28:37
[2026-08-29 21:28:37,415.415 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:28:37,567.567 INFO    ] Initializing speech engine...
[2026-08-29 21:28:37,572.572 INFO    ] 2026-08-29 21:28:37
[2026-08-29 21:28:37,782.782 INFO    ] 2026-08-29 21:28:37
[2026-08-29 21:28:37,811.811 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:28:37,935.935 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:28:37,993.993 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:28:38,134.134 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:28:38,197.197 INFO    ] time= 29/08/2026 21:28:38
[2026-08-29 21:28:38,231.231 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:28:38,233.233 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:28:38,341.341 INFO    ] No existing commands found in stream
[2026-08-29 21:28:43,354.354 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:28:43,357.357 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-08-29 21:28:46,875.875 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:28:46,877.877 INFO    ] Checking for system updates...
[2026-08-29 21:28:46,898.898 INFO    ] 200
[2026-08-29 21:28:46,899.899 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:28:46,934.934 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:28:46,935.935 INFO    ] No update needed
[2026-08-29 21:28:46,936.936 INFO    ] Checking for camera pi updates...
[2026-08-29 21:28:46,957.957 INFO    ] 200
[2026-08-29 21:28:46,958.958 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:28:46,982.982 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:28:47,073.073 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:28:47,074.074 INFO    ] No camera update needed
[2026-08-29 21:28:47,075.075 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:28:47,077.077 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:28:47,079.079 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:28:47,082.082 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:28:49,121.121 INFO    ] ================================================
[2026-08-29 21:28:49,137.137 INFO    ] Launching Daemon at Sat Aug 29 21:28:49 IST 2026
[2026-08-29 21:28:49,148.148 INFO    ] ================================================
[2026-08-29 21:28:49,758.758 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:28:49
[2026-08-29 21:28:50,408.408 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:28:50,661.661 INFO    ] Initializing speech engine...
[2026-08-29 21:28:50,683.683 INFO    ] 2026-08-29 21:28:50
[2026-08-29 21:28:50,941.941 INFO    ] 2026-08-29 21:28:50
[2026-08-29 21:28:50,976.976 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:28:51,150.150 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:28:51,166.166 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:28:51,307.307 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:28:51,317.317 INFO    ] time= 29/08/2026 21:28:51
[2026-08-29 21:28:51,322.322 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:28:51,327.327 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:28:51,392.392 INFO    ] No existing commands found in stream
[2026-08-29 21:28:56,405.405 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:28:56,407.407 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-08-29 21:28:56,923.923 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:28:56,924.924 INFO    ] Checking for system updates...
[2026-08-29 21:28:56,945.945 INFO    ] 200
[2026-08-29 21:28:56,946.946 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:28:56,977.977 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:28:56,978.978 INFO    ] No update needed
[2026-08-29 21:28:56,980.980 INFO    ] Checking for camera pi updates...
[2026-08-29 21:28:56,999.999 INFO    ] 200
[2026-08-29 21:28:57,001.001 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:28:57,024.024 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:28:57,124.124 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:28:57,126.126 INFO    ] No camera update needed
[2026-08-29 21:28:57,127.127 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:28:57,129.129 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:28:57,132.132 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:28:57,135.135 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:28:59,174.174 INFO    ] ================================================
[2026-08-29 21:28:59,189.189 INFO    ] Launching Daemon at Sat Aug 29 21:28:59 IST 2026
[2026-08-29 21:28:59,201.201 INFO    ] ================================================
[2026-08-29 21:28:59,557.557 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:28:59
[2026-08-29 21:28:59,896.896 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:29:00,047.047 INFO    ] Initializing speech engine...
[2026-08-29 21:29:00,053.053 INFO    ] 2026-08-29 21:29:00
[2026-08-29 21:29:00,259.259 INFO    ] 2026-08-29 21:29:00
[2026-08-29 21:29:00,288.288 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:29:00,411.411 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:29:00,474.474 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:29:00,608.608 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:29:00,676.676 INFO    ] time= 29/08/2026 21:29:00
[2026-08-29 21:29:00,704.704 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:29:00,711.711 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:29:00,776.776 INFO    ] No existing commands found in stream
[2026-08-29 21:29:05,787.787 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:29:05,790.790 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 21:29:07,735.735 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:29:07,737.737 INFO    ] Checking for system updates...
[2026-08-29 21:29:07,759.759 INFO    ] 200
[2026-08-29 21:29:07,760.760 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:29:07,792.792 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:29:07,794.794 INFO    ] No update needed
[2026-08-29 21:29:07,795.795 INFO    ] Checking for camera pi updates...
[2026-08-29 21:29:07,815.815 INFO    ] 200
[2026-08-29 21:29:07,816.816 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:29:07,839.839 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:29:07,912.912 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:29:07,913.913 INFO    ] No camera update needed
[2026-08-29 21:29:07,915.915 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:29:07,916.916 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:29:07,919.919 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:29:07,922.922 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:29:09,960.960 INFO    ] ================================================
[2026-08-29 21:29:09,976.976 INFO    ] Launching Daemon at Sat Aug 29 21:29:09 IST 2026
[2026-08-29 21:29:09,987.987 INFO    ] ================================================
[2026-08-29 21:29:10,337.337 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:29:10
[2026-08-29 21:29:10,649.649 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:29:10,787.787 INFO    ] Initializing speech engine...
[2026-08-29 21:29:10,797.797 INFO    ] 2026-08-29 21:29:10
[2026-08-29 21:29:11,014.014 INFO    ] 2026-08-29 21:29:11
[2026-08-29 21:29:11,049.049 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:29:11,226.226 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:29:11,238.238 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:29:11,384.384 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:29:11,392.392 INFO    ] time= 29/08/2026 21:29:11
[2026-08-29 21:29:11,396.396 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:29:11,402.402 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:29:11,471.471 INFO    ] No existing commands found in stream
[2026-08-29 21:29:16,486.486 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:29:16,489.489 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-08-29 21:29:19,060.060 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:29:19,062.062 INFO    ] Checking for system updates...
[2026-08-29 21:29:19,084.084 INFO    ] 200
[2026-08-29 21:29:19,085.085 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:29:19,121.121 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:29:19,123.123 INFO    ] No update needed
[2026-08-29 21:29:19,124.124 INFO    ] Checking for camera pi updates...
[2026-08-29 21:29:19,144.144 INFO    ] 200
[2026-08-29 21:29:19,145.145 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:29:19,168.168 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:29:19,247.247 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:29:19,248.248 INFO    ] No camera update needed
[2026-08-29 21:29:19,249.249 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:29:19,250.250 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:29:19,254.254 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:29:19,256.256 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:29:21,295.295 INFO    ] ================================================
[2026-08-29 21:29:21,309.309 INFO    ] Launching Daemon at Sat Aug 29 21:29:21 IST 2026
[2026-08-29 21:29:21,321.321 INFO    ] ================================================
[2026-08-29 21:29:21,873.873 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:29:21
[2026-08-29 21:29:22,460.460 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:29:22,734.734 INFO    ] Initializing speech engine...
[2026-08-29 21:29:22,740.740 INFO    ] 2026-08-29 21:29:22
[2026-08-29 21:29:22,999.999 INFO    ] 2026-08-29 21:29:22
[2026-08-29 21:29:23,053.053 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:29:23,275.275 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:29:23,284.284 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:29:23,416.416 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:29:23,422.422 INFO    ] time= 29/08/2026 21:29:23
[2026-08-29 21:29:23,492.492 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:29:23,546.546 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:29:23,604.604 INFO    ] No existing commands found in stream
[2026-08-29 21:29:28,615.615 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:29:28,618.618 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-08-29 21:29:29,074.074 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:29:29,075.075 INFO    ] Checking for system updates...
[2026-08-29 21:29:29,096.096 INFO    ] 200
[2026-08-29 21:29:29,097.097 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:29:29,127.127 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:29:29,129.129 INFO    ] No update needed
[2026-08-29 21:29:29,133.133 INFO    ] Checking for camera pi updates...
[2026-08-29 21:29:29,152.152 INFO    ] 200
[2026-08-29 21:29:29,153.153 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:29:29,176.176 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:29:29,253.253 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:29:29,255.255 INFO    ] No camera update needed
[2026-08-29 21:29:29,258.258 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:29:29,260.260 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:29:29,265.265 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:29:29,270.270 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:29:31,311.311 INFO    ] ================================================
[2026-08-29 21:29:31,327.327 INFO    ] Launching Daemon at Sat Aug 29 21:29:31 IST 2026
[2026-08-29 21:29:31,339.339 INFO    ] ================================================
[2026-08-29 21:29:31,953.953 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:29:31
[2026-08-29 21:29:32,512.512 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:29:32,800.800 INFO    ] Initializing speech engine...
[2026-08-29 21:29:32,809.809 INFO    ] 2026-08-29 21:29:32
[2026-08-29 21:29:33,064.064 INFO    ] 2026-08-29 21:29:33
[2026-08-29 21:29:33,125.125 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:29:33,346.346 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:29:33,355.355 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:29:33,487.487 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:29:33,514.514 INFO    ] time= 29/08/2026 21:29:33
[2026-08-29 21:29:33,569.569 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:29:33,613.613 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:29:33,672.672 INFO    ] No existing commands found in stream
[2026-08-29 21:29:38,684.684 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:29:38,687.687 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-08-29 21:29:41,612.612 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:29:41,614.614 INFO    ] Checking for system updates...
[2026-08-29 21:29:41,634.634 INFO    ] 200
[2026-08-29 21:29:41,636.636 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:29:41,670.670 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:29:41,672.672 INFO    ] No update needed
[2026-08-29 21:29:41,673.673 INFO    ] Checking for camera pi updates...
[2026-08-29 21:29:41,693.693 INFO    ] 200
[2026-08-29 21:29:41,695.695 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:29:41,717.717 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:29:41,790.790 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:29:41,792.792 INFO    ] No camera update needed
[2026-08-29 21:29:41,793.793 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:29:41,794.794 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:29:41,797.797 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:29:41,800.800 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:29:43,840.840 INFO    ] ================================================
[2026-08-29 21:29:43,856.856 INFO    ] Launching Daemon at Sat Aug 29 21:29:43 IST 2026
[2026-08-29 21:29:43,867.867 INFO    ] ================================================
[2026-08-29 21:29:44,206.206 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:29:44
[2026-08-29 21:29:44,688.688 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:29:44,939.939 INFO    ] Initializing speech engine...
[2026-08-29 21:29:44,963.963 INFO    ] 2026-08-29 21:29:44
[2026-08-29 21:29:45,215.215 INFO    ] 2026-08-29 21:29:45
[2026-08-29 21:29:45,251.251 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:29:45,422.422 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:29:45,434.434 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:29:45,544.544 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:29:45,563.563 INFO    ] time= 29/08/2026 21:29:45
[2026-08-29 21:29:45,571.571 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:29:45,574.574 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:29:45,625.625 INFO    ] No existing commands found in stream
[2026-08-29 21:29:50,634.634 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:29:50,637.637 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-08-29 21:29:53,065.065 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:29:53,066.066 INFO    ] Checking for system updates...
[2026-08-29 21:29:53,087.087 INFO    ] 200
[2026-08-29 21:29:53,088.088 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:29:53,121.121 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:29:53,122.122 INFO    ] No update needed
[2026-08-29 21:29:53,123.123 INFO    ] Checking for camera pi updates...
[2026-08-29 21:29:53,144.144 INFO    ] 200
[2026-08-29 21:29:53,145.145 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:29:53,169.169 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:29:53,243.243 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:29:53,244.244 INFO    ] No camera update needed
[2026-08-29 21:29:53,246.246 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:29:53,247.247 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:29:53,250.250 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:29:53,252.252 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:29:55,293.293 INFO    ] ================================================
[2026-08-29 21:29:55,309.309 INFO    ] Launching Daemon at Sat Aug 29 21:29:55 IST 2026
[2026-08-29 21:29:55,320.320 INFO    ] ================================================
[2026-08-29 21:29:55,878.878 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:29:55
[2026-08-29 21:29:56,464.464 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:29:56,718.718 INFO    ] Initializing speech engine...
[2026-08-29 21:29:56,727.727 INFO    ] 2026-08-29 21:29:56
[2026-08-29 21:29:57,025.025 INFO    ] 2026-08-29 21:29:56
[2026-08-29 21:29:57,063.063 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:29:57,209.209 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:29:57,217.217 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:29:57,370.370 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:29:57,381.381 INFO    ] time= 29/08/2026 21:29:57
[2026-08-29 21:29:57,385.385 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:29:57,390.390 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:29:57,457.457 INFO    ] No existing commands found in stream
[2026-08-29 21:30:02,470.470 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:30:02,474.474 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-08-29 21:30:03,010.010 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:30:03,014.014 INFO    ] Checking for system updates...
[2026-08-29 21:30:03,074.074 INFO    ] 200
[2026-08-29 21:30:03,077.077 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:30:03,153.153 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:30:03,157.157 INFO    ] No update needed
[2026-08-29 21:30:03,160.160 INFO    ] Checking for camera pi updates...
[2026-08-29 21:30:03,209.209 INFO    ] 200
[2026-08-29 21:30:03,212.212 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:30:03,269.269 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:30:03,465.465 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:30:03,467.467 INFO    ] No camera update needed
[2026-08-29 21:30:03,470.470 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:30:03,475.475 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:30:03,482.482 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:30:03,489.489 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:30:05,531.531 INFO    ] ================================================
[2026-08-29 21:30:05,547.547 INFO    ] Launching Daemon at Sat Aug 29 21:30:05 IST 2026
[2026-08-29 21:30:05,558.558 INFO    ] ================================================
[2026-08-29 21:30:05,914.914 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:30:05
[2026-08-29 21:30:06,255.255 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:30:06,402.402 INFO    ] Initializing speech engine...
[2026-08-29 21:30:06,413.413 INFO    ] 2026-08-29 21:30:06
[2026-08-29 21:30:06,604.604 INFO    ] 2026-08-29 21:30:06
[2026-08-29 21:30:06,674.674 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:30:06,831.831 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:30:06,844.844 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:30:06,989.989 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:30:06,997.997 INFO    ] time= 29/08/2026 21:30:06
[2026-08-29 21:30:07,002.002 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:30:07,008.008 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:30:07,074.074 INFO    ] No existing commands found in stream
[2026-08-29 21:30:12,086.086 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:30:12,089.089 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-08-29 21:30:15,055.055 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:30:15,058.058 INFO    ] Checking for system updates...
[2026-08-29 21:30:15,097.097 INFO    ] 200
[2026-08-29 21:30:15,100.100 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:30:15,178.178 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:30:15,181.181 INFO    ] No update needed
[2026-08-29 21:30:15,184.184 INFO    ] Checking for camera pi updates...
[2026-08-29 21:30:15,229.229 INFO    ] 200
[2026-08-29 21:30:15,232.232 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:30:15,279.279 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:30:15,484.484 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:30:15,486.486 INFO    ] No camera update needed
[2026-08-29 21:30:15,488.488 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:30:15,491.491 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:30:15,496.496 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:30:15,501.501 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:30:17,543.543 INFO    ] ================================================
[2026-08-29 21:30:17,558.558 INFO    ] Launching Daemon at Sat Aug 29 21:30:17 IST 2026
[2026-08-29 21:30:17,569.569 INFO    ] ================================================
[2026-08-29 21:30:18,061.061 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:30:18
[2026-08-29 21:30:18,647.647 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:30:18,894.894 INFO    ] Initializing speech engine...
[2026-08-29 21:30:18,908.908 INFO    ] 2026-08-29 21:30:18
[2026-08-29 21:30:19,172.172 INFO    ] 2026-08-29 21:30:19
[2026-08-29 21:30:19,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:30:19,401.401 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:30:19,407.407 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:30:19,541.541 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:30:19,549.549 INFO    ] time= 29/08/2026 21:30:19
[2026-08-29 21:30:19,554.554 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:30:19,569.569 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:30:19,669.669 INFO    ] No existing commands found in stream
[2026-08-29 21:30:24,688.688 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:30:24,691.691 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-08-29 21:30:27,535.535 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:30:27,536.536 INFO    ] Checking for system updates...
[2026-08-29 21:30:27,557.557 INFO    ] 200
[2026-08-29 21:30:27,559.559 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:30:27,591.591 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:30:27,593.593 INFO    ] No update needed
[2026-08-29 21:30:27,594.594 INFO    ] Checking for camera pi updates...
[2026-08-29 21:30:27,613.613 INFO    ] 200
[2026-08-29 21:30:27,615.615 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:30:27,640.640 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:30:27,713.713 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:30:27,714.714 INFO    ] No camera update needed
[2026-08-29 21:30:27,715.715 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:30:27,717.717 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:30:27,719.719 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:30:27,722.722 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:30:29,761.761 INFO    ] ================================================
[2026-08-29 21:30:29,777.777 INFO    ] Launching Daemon at Sat Aug 29 21:30:29 IST 2026
[2026-08-29 21:30:29,788.788 INFO    ] ================================================
[2026-08-29 21:30:30,288.288 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:30:30
[2026-08-29 21:30:30,876.876 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:30:31,149.149 INFO    ] Initializing speech engine...
[2026-08-29 21:30:31,158.158 INFO    ] 2026-08-29 21:30:31
[2026-08-29 21:30:31,410.410 INFO    ] 2026-08-29 21:30:31
[2026-08-29 21:30:31,446.446 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:30:31,644.644 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:30:31,670.670 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:30:31,789.789 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:30:31,797.797 INFO    ] time= 29/08/2026 21:30:31
[2026-08-29 21:30:31,807.807 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:30:31,823.823 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:30:31,926.926 INFO    ] No existing commands found in stream
[2026-08-29 21:30:36,942.942 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:30:36,945.945 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-08-29 21:30:41,128.128 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:30:41,129.129 INFO    ] Checking for system updates...
[2026-08-29 21:30:41,150.150 INFO    ] 200
[2026-08-29 21:30:41,151.151 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:30:41,183.183 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:30:41,185.185 INFO    ] No update needed
[2026-08-29 21:30:41,186.186 INFO    ] Checking for camera pi updates...
[2026-08-29 21:30:41,206.206 INFO    ] 200
[2026-08-29 21:30:41,208.208 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:30:41,232.232 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:30:41,306.306 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:30:41,307.307 INFO    ] No camera update needed
[2026-08-29 21:30:41,308.308 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:30:41,310.310 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:30:41,313.313 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:30:41,315.315 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:30:43,354.354 INFO    ] ================================================
[2026-08-29 21:30:43,369.369 INFO    ] Launching Daemon at Sat Aug 29 21:30:43 IST 2026
[2026-08-29 21:30:43,380.380 INFO    ] ================================================
[2026-08-29 21:30:43,955.955 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:30:43
[2026-08-29 21:30:44,642.642 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:30:44,951.951 INFO    ] Initializing speech engine...
[2026-08-29 21:30:44,960.960 INFO    ] 2026-08-29 21:30:44
[2026-08-29 21:30:45,286.286 INFO    ] 2026-08-29 21:30:45
[2026-08-29 21:30:45,367.367 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:30:45,525.525 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:30:45,531.531 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:30:45,663.663 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:30:45,690.690 INFO    ] time= 29/08/2026 21:30:45
[2026-08-29 21:30:45,756.756 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:30:45,800.800 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:30:45,876.876 INFO    ] No existing commands found in stream
[2026-08-29 21:30:50,914.914 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:30:50,917.917 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-08-29 21:30:54,668.668 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:30:54,669.669 INFO    ] Checking for system updates...
[2026-08-29 21:30:54,690.690 INFO    ] 200
[2026-08-29 21:30:54,691.691 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:30:54,721.721 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:30:54,722.722 INFO    ] No update needed
[2026-08-29 21:30:54,724.724 INFO    ] Checking for camera pi updates...
[2026-08-29 21:30:54,743.743 INFO    ] 200
[2026-08-29 21:30:54,744.744 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:30:54,767.767 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:30:54,839.839 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:30:54,840.840 INFO    ] No camera update needed
[2026-08-29 21:30:54,841.841 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:30:54,843.843 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:30:54,846.846 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:30:54,848.848 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:30:56,887.887 INFO    ] ================================================
[2026-08-29 21:30:56,902.902 INFO    ] Launching Daemon at Sat Aug 29 21:30:56 IST 2026
[2026-08-29 21:30:56,913.913 INFO    ] ================================================
[2026-08-29 21:30:57,275.275 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:30:57
[2026-08-29 21:30:57,590.590 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:30:57,729.729 INFO    ] Initializing speech engine...
[2026-08-29 21:30:57,740.740 INFO    ] 2026-08-29 21:30:57
[2026-08-29 21:30:57,944.944 INFO    ] 2026-08-29 21:30:57
[2026-08-29 21:30:57,996.996 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:30:58,159.159 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:30:58,168.168 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:30:58,332.332 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:30:58,366.366 INFO    ] time= 29/08/2026 21:30:58
[2026-08-29 21:30:58,372.372 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:30:58,393.393 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:30:58,512.512 INFO    ] No existing commands found in stream
[2026-08-29 21:31:03,533.533 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:31:03,536.536 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-08-29 21:31:05,563.563 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:31:05,564.564 INFO    ] Checking for system updates...
[2026-08-29 21:31:05,586.586 INFO    ] 200
[2026-08-29 21:31:05,587.587 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:31:05,620.620 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:31:05,621.621 INFO    ] No update needed
[2026-08-29 21:31:05,623.623 INFO    ] Checking for camera pi updates...
[2026-08-29 21:31:05,643.643 INFO    ] 200
[2026-08-29 21:31:05,645.645 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:31:05,668.668 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:31:05,758.758 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:31:05,759.759 INFO    ] No camera update needed
[2026-08-29 21:31:05,761.761 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:31:05,762.762 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:31:05,765.765 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:31:05,768.768 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:31:07,807.807 INFO    ] ================================================
[2026-08-29 21:31:07,822.822 INFO    ] Launching Daemon at Sat Aug 29 21:31:07 IST 2026
[2026-08-29 21:31:07,833.833 INFO    ] ================================================
[2026-08-29 21:31:08,201.201 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:31:08
[2026-08-29 21:31:08,518.518 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:31:08,780.780 INFO    ] Initializing speech engine...
[2026-08-29 21:31:08,788.788 INFO    ] 2026-08-29 21:31:08
[2026-08-29 21:31:09,037.037 INFO    ] 2026-08-29 21:31:09
[2026-08-29 21:31:09,073.073 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:31:09,246.246 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:31:09,258.258 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:31:09,401.401 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:31:09,408.408 INFO    ] time= 29/08/2026 21:31:09
[2026-08-29 21:31:09,415.415 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:31:09,468.468 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:31:09,579.579 INFO    ] No existing commands found in stream
[2026-08-29 21:31:14,609.609 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:31:14,612.612 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-08-29 21:31:15,747.747 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:31:15,748.748 INFO    ] Checking for system updates...
[2026-08-29 21:31:15,770.770 INFO    ] 200
[2026-08-29 21:31:15,772.772 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:31:15,806.806 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:31:15,808.808 INFO    ] No update needed
[2026-08-29 21:31:15,809.809 INFO    ] Checking for camera pi updates...
[2026-08-29 21:31:15,829.829 INFO    ] 200
[2026-08-29 21:31:15,831.831 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:31:15,854.854 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:31:15,947.947 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:31:15,948.948 INFO    ] No camera update needed
[2026-08-29 21:31:15,949.949 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:31:15,950.950 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:31:15,954.954 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:31:15,956.956 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:31:18,998.998 INFO    ] ================================================
[2026-08-29 21:31:18,013.013 INFO    ] Launching Daemon at Sat Aug 29 21:31:18 IST 2026
[2026-08-29 21:31:18,024.024 INFO    ] ================================================
[2026-08-29 21:31:18,555.555 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:31:18
[2026-08-29 21:31:19,159.159 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:31:19,419.419 INFO    ] Initializing speech engine...
[2026-08-29 21:31:19,428.428 INFO    ] 2026-08-29 21:31:19
[2026-08-29 21:31:19,712.712 INFO    ] 2026-08-29 21:31:19
[2026-08-29 21:31:19,744.744 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:31:19,923.923 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:31:19,931.931 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:31:20,081.081 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:31:20,097.097 INFO    ] time= 29/08/2026 21:31:20
[2026-08-29 21:31:20,103.103 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:31:20,108.108 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:31:20,180.180 INFO    ] No existing commands found in stream
[2026-08-29 21:31:25,191.191 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:31:25,199.199 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-08-29 21:31:26,614.614 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:31:26,616.616 INFO    ] Checking for system updates...
[2026-08-29 21:31:26,636.636 INFO    ] 200
[2026-08-29 21:31:26,637.637 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:31:26,667.667 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:31:26,668.668 INFO    ] No update needed
[2026-08-29 21:31:26,670.670 INFO    ] Checking for camera pi updates...
[2026-08-29 21:31:26,689.689 INFO    ] 200
[2026-08-29 21:31:26,690.690 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:31:26,715.715 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:31:26,803.803 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:31:26,805.805 INFO    ] No camera update needed
[2026-08-29 21:31:26,806.806 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:31:26,807.807 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:31:26,810.810 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:31:26,813.813 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:31:28,851.851 INFO    ] ================================================
[2026-08-29 21:31:28,867.867 INFO    ] Launching Daemon at Sat Aug 29 21:31:28 IST 2026
[2026-08-29 21:31:28,878.878 INFO    ] ================================================
[2026-08-29 21:31:29,274.274 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:31:29
[2026-08-29 21:31:29,604.604 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:31:29,736.736 INFO    ] Initializing speech engine...
[2026-08-29 21:31:29,744.744 INFO    ] 2026-08-29 21:31:29
[2026-08-29 21:31:29,981.981 INFO    ] 2026-08-29 21:31:29
[2026-08-29 21:31:30,045.045 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:31:30,192.192 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:31:30,216.216 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:31:30,385.385 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:31:30,415.415 INFO    ] time= 29/08/2026 21:31:30
[2026-08-29 21:31:30,421.421 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:31:30,439.439 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:31:30,559.559 INFO    ] No existing commands found in stream
[2026-08-29 21:31:35,580.580 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:31:35,583.583 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-08-29 21:31:39,025.025 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:31:39,026.026 INFO    ] Checking for system updates...
[2026-08-29 21:31:39,049.049 INFO    ] 200
[2026-08-29 21:31:39,050.050 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:31:39,083.083 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:31:39,084.084 INFO    ] No update needed
[2026-08-29 21:31:39,085.085 INFO    ] Checking for camera pi updates...
[2026-08-29 21:31:39,106.106 INFO    ] 200
[2026-08-29 21:31:39,107.107 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:31:39,133.133 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:31:39,226.226 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:31:39,227.227 INFO    ] No camera update needed
[2026-08-29 21:31:39,228.228 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:31:39,230.230 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:31:39,233.233 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:31:39,235.235 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:31:41,276.276 INFO    ] ================================================
[2026-08-29 21:31:41,291.291 INFO    ] Launching Daemon at Sat Aug 29 21:31:41 IST 2026
[2026-08-29 21:31:41,302.302 INFO    ] ================================================
[2026-08-29 21:31:41,670.670 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:31:41
[2026-08-29 21:31:41,987.987 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:31:42,239.239 INFO    ] Initializing speech engine...
[2026-08-29 21:31:42,246.246 INFO    ] 2026-08-29 21:31:42
[2026-08-29 21:31:42,493.493 INFO    ] 2026-08-29 21:31:42
[2026-08-29 21:31:42,529.529 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:31:42,702.702 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:31:42,715.715 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:31:42,858.858 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:31:42,864.864 INFO    ] time= 29/08/2026 21:31:42
[2026-08-29 21:31:42,869.869 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:31:42,917.917 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:31:43,039.039 INFO    ] No existing commands found in stream
[2026-08-29 21:31:48,069.069 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:31:48,072.072 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-08-29 21:31:49,866.866 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:31:49,869.869 INFO    ] Checking for system updates...
[2026-08-29 21:31:49,911.911 INFO    ] 200
[2026-08-29 21:31:49,914.914 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:31:49,976.976 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:31:49,979.979 INFO    ] No update needed
[2026-08-29 21:31:49,982.982 INFO    ] Checking for camera pi updates...
[2026-08-29 21:31:50,038.038 INFO    ] 200
[2026-08-29 21:31:50,042.042 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:31:50,108.108 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:31:50,201.201 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:31:50,204.204 INFO    ] No camera update needed
[2026-08-29 21:31:50,207.207 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:31:50,210.210 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:31:50,216.216 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:31:50,222.222 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:31:52,267.267 INFO    ] ================================================
[2026-08-29 21:31:52,283.283 INFO    ] Launching Daemon at Sat Aug 29 21:31:52 IST 2026
[2026-08-29 21:31:52,294.294 INFO    ] ================================================
[2026-08-29 21:31:52,850.850 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:31:52
[2026-08-29 21:31:53,172.172 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:31:53,318.318 INFO    ] Initializing speech engine...
[2026-08-29 21:31:53,323.323 INFO    ] 2026-08-29 21:31:53
[2026-08-29 21:31:53,528.528 INFO    ] 2026-08-29 21:31:53
[2026-08-29 21:31:53,558.558 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:31:53,680.680 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:31:53,743.743 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:31:53,875.875 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:31:53,936.936 INFO    ] time= 29/08/2026 21:31:53
[2026-08-29 21:31:53,973.973 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:31:53,980.980 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:31:54,045.045 INFO    ] No existing commands found in stream
[2026-08-29 21:31:59,056.056 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:31:59,059.059 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-08-29 21:31:59,892.892 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:31:59,894.894 INFO    ] Checking for system updates...
[2026-08-29 21:31:59,915.915 INFO    ] 200
[2026-08-29 21:31:59,916.916 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:31:59,947.947 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:31:59,948.948 INFO    ] No update needed
[2026-08-29 21:31:59,950.950 INFO    ] Checking for camera pi updates...
[2026-08-29 21:31:59,971.971 INFO    ] 200
[2026-08-29 21:31:59,973.973 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:31:59,997.997 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:32:00,070.070 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:32:00,071.071 INFO    ] No camera update needed
[2026-08-29 21:32:00,073.073 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:32:00,074.074 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:32:00,077.077 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:32:00,080.080 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:32:02,122.122 INFO    ] ================================================
[2026-08-29 21:32:02,143.143 INFO    ] Launching Daemon at Sat Aug 29 21:32:02 IST 2026
[2026-08-29 21:32:02,159.159 INFO    ] ================================================
[2026-08-29 21:32:02,791.791 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:32:02
[2026-08-29 21:32:03,458.458 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:32:03,740.740 INFO    ] Initializing speech engine...
[2026-08-29 21:32:03,759.759 INFO    ] 2026-08-29 21:32:03
[2026-08-29 21:32:04,035.035 INFO    ] 2026-08-29 21:32:04
[2026-08-29 21:32:04,074.074 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:32:04,275.275 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:32:04,281.281 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:32:04,393.393 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:32:04,398.398 INFO    ] time= 29/08/2026 21:32:04
[2026-08-29 21:32:04,404.404 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:32:04,427.427 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:32:04,481.481 INFO    ] No existing commands found in stream
[2026-08-29 21:32:09,491.491 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:32:09,494.494 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-08-29 21:32:10,418.418 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:32:10,419.419 INFO    ] Checking for system updates...
[2026-08-29 21:32:10,441.441 INFO    ] 200
[2026-08-29 21:32:10,443.443 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:32:10,480.480 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:32:10,483.483 INFO    ] No update needed
[2026-08-29 21:32:10,485.485 INFO    ] Checking for camera pi updates...
[2026-08-29 21:32:10,519.519 INFO    ] 200
[2026-08-29 21:32:10,522.522 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:32:10,563.563 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:32:10,644.644 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:32:10,646.646 INFO    ] No camera update needed
[2026-08-29 21:32:10,648.648 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:32:10,651.651 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:32:10,656.656 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:32:10,661.661 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:32:12,704.704 INFO    ] ================================================
[2026-08-29 21:32:12,721.721 INFO    ] Launching Daemon at Sat Aug 29 21:32:12 IST 2026
[2026-08-29 21:32:12,731.731 INFO    ] ================================================
[2026-08-29 21:32:13,323.323 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:32:13
[2026-08-29 21:32:13,772.772 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:32:13,912.912 INFO    ] Initializing speech engine...
[2026-08-29 21:32:13,923.923 INFO    ] 2026-08-29 21:32:13
[2026-08-29 21:32:14,112.112 INFO    ] 2026-08-29 21:32:14
[2026-08-29 21:32:14,176.176 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:32:14,329.329 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:32:14,347.347 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:32:14,473.473 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:32:14,480.480 INFO    ] time= 29/08/2026 21:32:14
[2026-08-29 21:32:14,489.489 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:32:14,533.533 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:32:14,665.665 INFO    ] No existing commands found in stream
[2026-08-29 21:32:19,687.687 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:32:19,690.690 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 21:32:20,141.141 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:32:20,142.142 INFO    ] Checking for system updates...
[2026-08-29 21:32:20,177.177 INFO    ] 200
[2026-08-29 21:32:20,179.179 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:32:20,231.231 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:32:20,234.234 INFO    ] No update needed
[2026-08-29 21:32:20,237.237 INFO    ] Checking for camera pi updates...
[2026-08-29 21:32:20,271.271 INFO    ] 200
[2026-08-29 21:32:20,274.274 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:32:20,320.320 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:32:20,518.518 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:32:20,520.520 INFO    ] No camera update needed
[2026-08-29 21:32:20,523.523 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:32:20,525.525 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:32:20,530.530 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:32:20,535.535 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:32:22,577.577 INFO    ] ================================================
[2026-08-29 21:32:22,593.593 INFO    ] Launching Daemon at Sat Aug 29 21:32:22 IST 2026
[2026-08-29 21:32:22,604.604 INFO    ] ================================================
[2026-08-29 21:32:23,190.190 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:32:23
[2026-08-29 21:32:23,548.548 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:32:23,683.683 INFO    ] Initializing speech engine...
[2026-08-29 21:32:23,688.688 INFO    ] 2026-08-29 21:32:23
[2026-08-29 21:32:23,880.880 INFO    ] 2026-08-29 21:32:23
[2026-08-29 21:32:23,927.927 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:32:24,086.086 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:32:24,130.130 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:32:24,300.300 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:32:24,340.340 INFO    ] time= 29/08/2026 21:32:24
[2026-08-29 21:32:24,385.385 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:32:24,410.410 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:32:24,487.487 INFO    ] No existing commands found in stream
[2026-08-29 21:32:29,498.498 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:32:29,501.501 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-08-29 21:32:31,813.813 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:32:31,816.816 INFO    ] Checking for system updates...
[2026-08-29 21:32:31,856.856 INFO    ] 200
[2026-08-29 21:32:31,859.859 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:32:31,919.919 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:32:31,922.922 INFO    ] No update needed
[2026-08-29 21:32:31,925.925 INFO    ] Checking for camera pi updates...
[2026-08-29 21:32:31,967.967 INFO    ] 200
[2026-08-29 21:32:31,970.970 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:32:32,013.013 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:32:32,140.140 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:32:32,143.143 INFO    ] No camera update needed
[2026-08-29 21:32:32,146.146 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:32:32,148.148 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:32:32,155.155 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:32:32,161.161 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:32:34,203.203 INFO    ] ================================================
[2026-08-29 21:32:34,218.218 INFO    ] Launching Daemon at Sat Aug 29 21:32:34 IST 2026
[2026-08-29 21:32:34,229.229 INFO    ] ================================================
[2026-08-29 21:32:34,818.818 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:32:34
[2026-08-29 21:32:35,160.160 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:32:35,426.426 INFO    ] Initializing speech engine...
[2026-08-29 21:32:35,437.437 INFO    ] 2026-08-29 21:32:35
[2026-08-29 21:32:35,716.716 INFO    ] 2026-08-29 21:32:35
[2026-08-29 21:32:35,759.759 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:32:35,987.987 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:32:35,992.992 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:32:36,125.125 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:32:36,131.131 INFO    ] time= 29/08/2026 21:32:36
[2026-08-29 21:32:36,196.196 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:32:36,250.250 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:32:36,312.312 INFO    ] No existing commands found in stream
[2026-08-29 21:32:41,323.323 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:32:41,326.326 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-08-29 21:32:42,815.815 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:32:42,817.817 INFO    ] Checking for system updates...
[2026-08-29 21:32:42,854.854 INFO    ] 200
[2026-08-29 21:32:42,856.856 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:32:42,909.909 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:32:42,912.912 INFO    ] No update needed
[2026-08-29 21:32:42,915.915 INFO    ] Checking for camera pi updates...
[2026-08-29 21:32:42,949.949 INFO    ] 200
[2026-08-29 21:32:42,951.951 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:32:42,993.993 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:32:43,096.096 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:32:43,098.098 INFO    ] No camera update needed
[2026-08-29 21:32:43,101.101 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:32:43,103.103 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:32:43,109.109 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:32:43,114.114 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:32:45,155.155 INFO    ] ================================================
[2026-08-29 21:32:45,170.170 INFO    ] Launching Daemon at Sat Aug 29 21:32:45 IST 2026
[2026-08-29 21:32:45,182.182 INFO    ] ================================================
[2026-08-29 21:32:45,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:32:45
[2026-08-29 21:32:45,901.901 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:32:46,043.043 INFO    ] Initializing speech engine...
[2026-08-29 21:32:46,058.058 INFO    ] 2026-08-29 21:32:46
[2026-08-29 21:32:46,323.323 INFO    ] 2026-08-29 21:32:46
[2026-08-29 21:32:46,385.385 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:32:46,547.547 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:32:46,566.566 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:32:46,718.718 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:32:46,742.742 INFO    ] time= 29/08/2026 21:32:46
[2026-08-29 21:32:46,747.747 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:32:46,755.755 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:32:46,832.832 INFO    ] No existing commands found in stream
[2026-08-29 21:32:51,845.845 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:32:51,848.848 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-08-29 21:32:53,213.213 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:32:53,216.216 INFO    ] Checking for system updates...
[2026-08-29 21:32:53,253.253 INFO    ] 200
[2026-08-29 21:32:53,256.256 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:32:53,310.310 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:32:53,313.313 INFO    ] No update needed
[2026-08-29 21:32:53,316.316 INFO    ] Checking for camera pi updates...
[2026-08-29 21:32:53,342.342 INFO    ] 200
[2026-08-29 21:32:53,344.344 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:32:53,367.367 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:32:53,471.471 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:32:53,472.472 INFO    ] No camera update needed
[2026-08-29 21:32:53,474.474 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:32:53,475.475 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:32:53,478.478 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:32:53,481.481 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:32:55,520.520 INFO    ] ================================================
[2026-08-29 21:32:55,536.536 INFO    ] Launching Daemon at Sat Aug 29 21:32:55 IST 2026
[2026-08-29 21:32:55,547.547 INFO    ] ================================================
[2026-08-29 21:32:56,076.076 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:32:56
[2026-08-29 21:32:56,674.674 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:32:56,938.938 INFO    ] Initializing speech engine...
[2026-08-29 21:32:56,952.952 INFO    ] 2026-08-29 21:32:56
[2026-08-29 21:32:57,241.241 INFO    ] 2026-08-29 21:32:57
[2026-08-29 21:32:57,279.279 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:32:57,454.454 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:32:57,478.478 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:32:57,591.591 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:32:57,597.597 INFO    ] time= 29/08/2026 21:32:57
[2026-08-29 21:32:57,620.620 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:32:57,626.626 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:32:57,677.677 INFO    ] No existing commands found in stream
[2026-08-29 21:33:02,688.688 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:33:02,692.692 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-08-29 21:33:06,295.295 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:33:06,297.297 INFO    ] Checking for system updates...
[2026-08-29 21:33:06,321.321 INFO    ] 200
[2026-08-29 21:33:06,323.323 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:33:06,362.362 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:33:06,364.364 INFO    ] No update needed
[2026-08-29 21:33:06,367.367 INFO    ] Checking for camera pi updates...
[2026-08-29 21:33:06,401.401 INFO    ] 200
[2026-08-29 21:33:06,404.404 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:33:06,448.448 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:33:06,534.534 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:33:06,536.536 INFO    ] No camera update needed
[2026-08-29 21:33:06,539.539 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:33:06,541.541 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:33:06,546.546 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:33:06,551.551 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:33:08,594.594 INFO    ] ================================================
[2026-08-29 21:33:08,610.610 INFO    ] Launching Daemon at Sat Aug 29 21:33:08 IST 2026
[2026-08-29 21:33:08,620.620 INFO    ] ================================================
[2026-08-29 21:33:09,187.187 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:33:09
[2026-08-29 21:33:09,632.632 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:33:09,766.766 INFO    ] Initializing speech engine...
[2026-08-29 21:33:09,769.769 INFO    ] 2026-08-29 21:33:09
[2026-08-29 21:33:09,996.996 INFO    ] 2026-08-29 21:33:09
[2026-08-29 21:33:10,026.026 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:33:10,159.159 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:33:10,201.201 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:33:10,340.340 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:33:10,369.369 INFO    ] time= 29/08/2026 21:33:10
[2026-08-29 21:33:10,425.425 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:33:10,474.474 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:33:10,550.550 INFO    ] No existing commands found in stream
[2026-08-29 21:33:15,559.559 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:33:15,562.562 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-08-29 21:33:18,609.609 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:33:18,611.611 INFO    ] Checking for system updates...
[2026-08-29 21:33:18,631.631 INFO    ] 200
[2026-08-29 21:33:18,633.633 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:33:18,663.663 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:33:18,665.665 INFO    ] No update needed
[2026-08-29 21:33:18,666.666 INFO    ] Checking for camera pi updates...
[2026-08-29 21:33:18,685.685 INFO    ] 200
[2026-08-29 21:33:18,687.687 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:33:18,710.710 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:33:18,794.794 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:33:18,796.796 INFO    ] No camera update needed
[2026-08-29 21:33:18,797.797 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:33:18,798.798 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:33:18,802.802 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:33:18,805.805 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:33:20,844.844 INFO    ] ================================================
[2026-08-29 21:33:20,861.861 INFO    ] Launching Daemon at Sat Aug 29 21:33:20 IST 2026
[2026-08-29 21:33:20,872.872 INFO    ] ================================================
[2026-08-29 21:33:21,216.216 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:33:21
[2026-08-29 21:33:21,530.530 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:33:21,671.671 INFO    ] Initializing speech engine...
[2026-08-29 21:33:21,680.680 INFO    ] 2026-08-29 21:33:21
[2026-08-29 21:33:21,896.896 INFO    ] 2026-08-29 21:33:21
[2026-08-29 21:33:21,927.927 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:33:22,058.058 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:33:22,087.087 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:33:22,251.251 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:33:22,272.272 INFO    ] time= 29/08/2026 21:33:22
[2026-08-29 21:33:22,326.326 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:33:22,370.370 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:33:22,473.473 INFO    ] No existing commands found in stream
[2026-08-29 21:33:27,494.494 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:33:27,496.496 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 21:33:28,913.913 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:33:28,914.914 INFO    ] Checking for system updates...
[2026-08-29 21:33:28,935.935 INFO    ] 200
[2026-08-29 21:33:28,936.936 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:33:28,968.968 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:33:28,969.969 INFO    ] No update needed
[2026-08-29 21:33:28,970.970 INFO    ] Checking for camera pi updates...
[2026-08-29 21:33:28,990.990 INFO    ] 200
[2026-08-29 21:33:28,991.991 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:33:29,015.015 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:33:29,096.096 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:33:29,097.097 INFO    ] No camera update needed
[2026-08-29 21:33:29,098.098 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:33:29,099.099 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:33:29,103.103 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:33:29,106.106 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:33:31,144.144 INFO    ] ================================================
[2026-08-29 21:33:31,160.160 INFO    ] Launching Daemon at Sat Aug 29 21:33:31 IST 2026
[2026-08-29 21:33:31,171.171 INFO    ] ================================================
[2026-08-29 21:33:31,549.549 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:33:31
[2026-08-29 21:33:32,053.053 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:33:32,391.391 INFO    ] Initializing speech engine...
[2026-08-29 21:33:32,404.404 INFO    ] 2026-08-29 21:33:32
[2026-08-29 21:33:32,682.682 INFO    ] 2026-08-29 21:33:32
[2026-08-29 21:33:32,720.720 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:33:32,917.917 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:33:32,943.943 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:33:33,074.074 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:33:33,084.084 INFO    ] time= 29/08/2026 21:33:33
[2026-08-29 21:33:33,091.091 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:33:33,130.130 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:33:33,255.255 INFO    ] No existing commands found in stream
[2026-08-29 21:33:38,286.286 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:33:38,289.289 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-08-29 21:33:42,445.445 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:33:42,447.447 INFO    ] Checking for system updates...
[2026-08-29 21:33:42,469.469 INFO    ] 200
[2026-08-29 21:33:42,470.470 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:33:42,503.503 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:33:42,504.504 INFO    ] No update needed
[2026-08-29 21:33:42,505.505 INFO    ] Checking for camera pi updates...
[2026-08-29 21:33:42,525.525 INFO    ] 200
[2026-08-29 21:33:42,527.527 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:33:42,564.564 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:33:42,664.664 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:33:42,666.666 INFO    ] No camera update needed
[2026-08-29 21:33:42,669.669 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:33:42,672.672 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:33:42,678.678 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:33:42,684.684 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:33:44,726.726 INFO    ] ================================================
[2026-08-29 21:33:44,741.741 INFO    ] Launching Daemon at Sat Aug 29 21:33:44 IST 2026
[2026-08-29 21:33:44,752.752 INFO    ] ================================================
[2026-08-29 21:33:45,416.416 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:33:45
[2026-08-29 21:33:45,887.887 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:33:46,110.110 INFO    ] Initializing speech engine...
[2026-08-29 21:33:46,117.117 INFO    ] 2026-08-29 21:33:46
[2026-08-29 21:33:46,410.410 INFO    ] 2026-08-29 21:33:46
[2026-08-29 21:33:46,454.454 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:33:46,677.677 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:33:46,687.687 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:33:46,823.823 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:33:46,893.893 INFO    ] time= 29/08/2026 21:33:46
[2026-08-29 21:33:46,948.948 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:33:46,958.958 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:33:47,035.035 INFO    ] No existing commands found in stream
[2026-08-29 21:33:52,073.073 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:33:52,077.077 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-08-29 21:33:53,343.343 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:33:53,345.345 INFO    ] Checking for system updates...
[2026-08-29 21:33:53,366.366 INFO    ] 200
[2026-08-29 21:33:53,367.367 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:33:53,402.402 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:33:53,403.403 INFO    ] No update needed
[2026-08-29 21:33:53,405.405 INFO    ] Checking for camera pi updates...
[2026-08-29 21:33:53,424.424 INFO    ] 200
[2026-08-29 21:33:53,426.426 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:33:53,458.458 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:33:53,550.550 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:33:53,553.553 INFO    ] No camera update needed
[2026-08-29 21:33:53,556.556 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:33:53,558.558 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:33:53,565.565 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:33:53,571.571 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:33:55,613.613 INFO    ] ================================================
[2026-08-29 21:33:55,629.629 INFO    ] Launching Daemon at Sat Aug 29 21:33:55 IST 2026
[2026-08-29 21:33:55,640.640 INFO    ] ================================================
[2026-08-29 21:33:56,244.244 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:33:56
[2026-08-29 21:33:56,745.745 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:33:57,009.009 INFO    ] Initializing speech engine...
[2026-08-29 21:33:57,018.018 INFO    ] 2026-08-29 21:33:57
[2026-08-29 21:33:57,316.316 INFO    ] 2026-08-29 21:33:57
[2026-08-29 21:33:57,364.364 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:33:58,835.835 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:33:58,856.856 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:33:59,196.196 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:33:59,199.199 INFO    ] time= 29/08/2026 21:33:59
[2026-08-29 21:33:59,217.217 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:33:59,270.270 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:33:59,556.556 INFO    ] No existing commands found in stream
[2026-08-29 21:34:04,567.567 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:34:04,570.570 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-08-29 21:34:09,428.428 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:34:09,431.431 INFO    ] Checking for system updates...
[2026-08-29 21:34:09,471.471 INFO    ] 200
[2026-08-29 21:34:09,474.474 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:34:09,542.542 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:34:09,545.545 INFO    ] No update needed
[2026-08-29 21:34:09,548.548 INFO    ] Checking for camera pi updates...
[2026-08-29 21:34:09,588.588 INFO    ] 200
[2026-08-29 21:34:09,590.590 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:34:09,633.633 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:34:09,734.734 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:34:09,738.738 INFO    ] No camera update needed
[2026-08-29 21:34:09,741.741 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:34:09,745.745 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:34:09,752.752 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:34:09,758.758 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:34:11,804.804 INFO    ] ================================================
[2026-08-29 21:34:11,819.819 INFO    ] Launching Daemon at Sat Aug 29 21:34:11 IST 2026
[2026-08-29 21:34:11,830.830 INFO    ] ================================================
[2026-08-29 21:34:12,325.325 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:34:12
[2026-08-29 21:34:12,949.949 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:34:13,227.227 INFO    ] Initializing speech engine...
[2026-08-29 21:34:13,237.237 INFO    ] 2026-08-29 21:34:13
[2026-08-29 21:34:13,500.500 INFO    ] 2026-08-29 21:34:13
[2026-08-29 21:34:13,554.554 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:34:13,780.780 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:34:13,786.786 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:34:13,918.918 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:34:13,955.955 INFO    ] time= 29/08/2026 21:34:13
[2026-08-29 21:34:14,014.014 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:34:14,051.051 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:34:14,148.148 INFO    ] No existing commands found in stream
[2026-08-29 21:34:19,169.169 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:34:19,172.172 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-08-29 21:34:22,946.946 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:34:22,949.949 INFO    ] Checking for system updates...
[2026-08-29 21:34:22,989.989 INFO    ] 200
[2026-08-29 21:34:22,992.992 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:34:23,070.070 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:34:23,073.073 INFO    ] No update needed
[2026-08-29 21:34:23,077.077 INFO    ] Checking for camera pi updates...
[2026-08-29 21:34:23,111.111 INFO    ] 200
[2026-08-29 21:34:23,114.114 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:34:23,159.159 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:34:23,342.342 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:34:23,344.344 INFO    ] No camera update needed
[2026-08-29 21:34:23,347.347 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:34:23,349.349 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:34:23,355.355 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:34:23,360.360 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:34:25,401.401 INFO    ] ================================================
[2026-08-29 21:34:25,416.416 INFO    ] Launching Daemon at Sat Aug 29 21:34:25 IST 2026
[2026-08-29 21:34:25,427.427 INFO    ] ================================================
[2026-08-29 21:34:26,000.000 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:34:25
[2026-08-29 21:34:26,337.337 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:34:26,492.492 INFO    ] Initializing speech engine...
[2026-08-29 21:34:26,496.496 INFO    ] 2026-08-29 21:34:26
[2026-08-29 21:34:26,705.705 INFO    ] 2026-08-29 21:34:26
[2026-08-29 21:34:26,734.734 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:34:26,859.859 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:34:26,923.923 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:34:27,057.057 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:34:27,103.103 INFO    ] time= 29/08/2026 21:34:27
[2026-08-29 21:34:27,150.150 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:34:27,165.165 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:34:27,233.233 INFO    ] No existing commands found in stream
[2026-08-29 21:34:32,244.244 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:34:32,248.248 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-08-29 21:34:36,424.424 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:34:36,426.426 INFO    ] Checking for system updates...
[2026-08-29 21:34:36,446.446 INFO    ] 200
[2026-08-29 21:34:36,448.448 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:34:36,478.478 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:34:36,480.480 INFO    ] No update needed
[2026-08-29 21:34:36,481.481 INFO    ] Checking for camera pi updates...
[2026-08-29 21:34:36,500.500 INFO    ] 200
[2026-08-29 21:34:36,502.502 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:34:36,541.541 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:34:36,632.632 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:34:36,635.635 INFO    ] No camera update needed
[2026-08-29 21:34:36,638.638 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:34:36,640.640 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:34:36,646.646 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:34:36,653.653 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:34:38,694.694 INFO    ] ================================================
[2026-08-29 21:34:38,710.710 INFO    ] Launching Daemon at Sat Aug 29 21:34:38 IST 2026
[2026-08-29 21:34:38,721.721 INFO    ] ================================================
[2026-08-29 21:34:39,369.369 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:34:39
[2026-08-29 21:34:39,838.838 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:34:39,988.988 INFO    ] Initializing speech engine...
[2026-08-29 21:34:39,994.994 INFO    ] 2026-08-29 21:34:39
[2026-08-29 21:34:40,202.202 INFO    ] 2026-08-29 21:34:40
[2026-08-29 21:34:40,230.230 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:34:40,354.354 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:34:40,412.412 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:34:40,547.547 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:34:40,599.599 INFO    ] time= 29/08/2026 21:34:40
[2026-08-29 21:34:40,638.638 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:34:40,653.653 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:34:40,720.720 INFO    ] No existing commands found in stream
[2026-08-29 21:34:45,731.731 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:34:45,734.734 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 21:34:49,210.210 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:34:49,212.212 INFO    ] Checking for system updates...
[2026-08-29 21:34:49,233.233 INFO    ] 200
[2026-08-29 21:34:49,234.234 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:34:49,265.265 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:34:49,266.266 INFO    ] No update needed
[2026-08-29 21:34:49,267.267 INFO    ] Checking for camera pi updates...
[2026-08-29 21:34:49,287.287 INFO    ] 200
[2026-08-29 21:34:49,288.288 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:34:49,312.312 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:34:49,395.395 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:34:49,397.397 INFO    ] No camera update needed
[2026-08-29 21:34:49,398.398 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:34:49,399.399 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:34:49,403.403 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:34:49,406.406 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:34:51,446.446 INFO    ] ================================================
[2026-08-29 21:34:51,461.461 INFO    ] Launching Daemon at Sat Aug 29 21:34:51 IST 2026
[2026-08-29 21:34:51,473.473 INFO    ] ================================================
[2026-08-29 21:34:52,039.039 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:34:52
[2026-08-29 21:34:52,621.621 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:34:52,890.890 INFO    ] Initializing speech engine...
[2026-08-29 21:34:52,899.899 INFO    ] 2026-08-29 21:34:52
[2026-08-29 21:34:53,145.145 INFO    ] 2026-08-29 21:34:53
[2026-08-29 21:34:53,181.181 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:34:53,353.353 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:34:53,366.366 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:34:53,493.493 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:34:53,521.521 INFO    ] time= 29/08/2026 21:34:53
[2026-08-29 21:34:53,576.576 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:34:53,621.621 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:34:53,676.676 INFO    ] No existing commands found in stream
[2026-08-29 21:34:58,688.688 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:34:58,690.690 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-08-29 21:35:02,132.132 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:35:02,135.135 INFO    ] Checking for system updates...
[2026-08-29 21:35:02,178.178 INFO    ] 200
[2026-08-29 21:35:02,182.182 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:35:02,246.246 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:35:02,249.249 INFO    ] No update needed
[2026-08-29 21:35:02,252.252 INFO    ] Checking for camera pi updates...
[2026-08-29 21:35:02,295.295 INFO    ] 200
[2026-08-29 21:35:02,298.298 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:35:02,347.347 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:35:02,546.546 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:35:02,549.549 INFO    ] No camera update needed
[2026-08-29 21:35:02,552.552 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:35:02,555.555 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:35:02,561.561 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:35:02,567.567 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:35:04,609.609 INFO    ] ================================================
[2026-08-29 21:35:04,624.624 INFO    ] Launching Daemon at Sat Aug 29 21:35:04 IST 2026
[2026-08-29 21:35:04,636.636 INFO    ] ================================================
[2026-08-29 21:35:05,003.003 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:35:05
[2026-08-29 21:35:05,334.334 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:35:05,477.477 INFO    ] Initializing speech engine...
[2026-08-29 21:35:05,487.487 INFO    ] 2026-08-29 21:35:05
[2026-08-29 21:35:05,736.736 INFO    ] 2026-08-29 21:35:05
[2026-08-29 21:35:05,793.793 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:35:05,962.962 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:35:05,970.970 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:35:06,151.151 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:35:06,202.202 INFO    ] time= 29/08/2026 21:35:06
[2026-08-29 21:35:06,211.211 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:35:06,226.226 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:35:06,346.346 INFO    ] No existing commands found in stream
[2026-08-29 21:35:11,370.370 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:35:11,373.373 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 21:35:13,213.213 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:35:13,216.216 INFO    ] Checking for system updates...
[2026-08-29 21:35:13,251.251 INFO    ] 200
[2026-08-29 21:35:13,254.254 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:35:13,311.311 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:35:13,314.314 INFO    ] No update needed
[2026-08-29 21:35:13,316.316 INFO    ] Checking for camera pi updates...
[2026-08-29 21:35:13,350.350 INFO    ] 200
[2026-08-29 21:35:13,352.352 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:35:13,393.393 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:35:13,495.495 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:35:13,498.498 INFO    ] No camera update needed
[2026-08-29 21:35:13,500.500 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:35:13,502.502 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:35:13,507.507 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:35:13,512.512 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:35:15,553.553 INFO    ] ================================================
[2026-08-29 21:35:15,569.569 INFO    ] Launching Daemon at Sat Aug 29 21:35:15 IST 2026
[2026-08-29 21:35:15,581.581 INFO    ] ================================================
[2026-08-29 21:35:15,953.953 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:35:15
[2026-08-29 21:35:16,270.270 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:35:16,479.479 INFO    ] Initializing speech engine...
[2026-08-29 21:35:16,486.486 INFO    ] 2026-08-29 21:35:16
[2026-08-29 21:35:16,760.760 INFO    ] 2026-08-29 21:35:16
[2026-08-29 21:35:16,804.804 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:35:17,023.023 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:35:17,031.031 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:35:17,164.164 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:35:17,190.190 INFO    ] time= 29/08/2026 21:35:17
[2026-08-29 21:35:17,244.244 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:35:17,296.296 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:35:17,357.357 INFO    ] No existing commands found in stream
[2026-08-29 21:35:22,376.376 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:35:22,379.379 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-08-29 21:35:25,177.177 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:35:25,178.178 INFO    ] Checking for system updates...
[2026-08-29 21:35:25,199.199 INFO    ] 200
[2026-08-29 21:35:25,200.200 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:35:25,230.230 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:35:25,232.232 INFO    ] No update needed
[2026-08-29 21:35:25,233.233 INFO    ] Checking for camera pi updates...
[2026-08-29 21:35:25,254.254 INFO    ] 200
[2026-08-29 21:35:25,255.255 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:35:25,281.281 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:35:25,353.353 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:35:25,354.354 INFO    ] No camera update needed
[2026-08-29 21:35:25,356.356 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:35:25,357.357 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:35:25,360.360 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:35:25,363.363 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:35:27,403.403 INFO    ] ================================================
[2026-08-29 21:35:27,418.418 INFO    ] Launching Daemon at Sat Aug 29 21:35:27 IST 2026
[2026-08-29 21:35:27,428.428 INFO    ] ================================================
[2026-08-29 21:35:27,798.798 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:35:27
[2026-08-29 21:35:28,109.109 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:35:28,344.344 INFO    ] Initializing speech engine...
[2026-08-29 21:35:28,353.353 INFO    ] 2026-08-29 21:35:28
[2026-08-29 21:35:28,602.602 INFO    ] 2026-08-29 21:35:28
[2026-08-29 21:35:28,637.637 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:35:28,814.814 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:35:28,827.827 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:35:28,972.972 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:35:28,981.981 INFO    ] time= 29/08/2026 21:35:28
[2026-08-29 21:35:28,988.988 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:35:29,028.028 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:35:29,157.157 INFO    ] No existing commands found in stream
[2026-08-29 21:35:34,187.187 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:35:34,190.190 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-08-29 21:35:36,540.540 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:35:36,542.542 INFO    ] Checking for system updates...
[2026-08-29 21:35:36,563.563 INFO    ] 200
[2026-08-29 21:35:36,564.564 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:35:36,594.594 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:35:36,595.595 INFO    ] No update needed
[2026-08-29 21:35:36,597.597 INFO    ] Checking for camera pi updates...
[2026-08-29 21:35:36,616.616 INFO    ] 200
[2026-08-29 21:35:36,617.617 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:35:36,642.642 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:35:36,726.726 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:35:36,727.727 INFO    ] No camera update needed
[2026-08-29 21:35:36,728.728 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:35:36,729.729 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:35:36,732.732 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:35:36,735.735 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:35:38,776.776 INFO    ] ================================================
[2026-08-29 21:35:38,791.791 INFO    ] Launching Daemon at Sat Aug 29 21:35:38 IST 2026
[2026-08-29 21:35:38,801.801 INFO    ] ================================================
[2026-08-29 21:35:39,168.168 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:35:39
[2026-08-29 21:35:39,497.497 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:35:39,643.643 INFO    ] Initializing speech engine...
[2026-08-29 21:35:39,649.649 INFO    ] 2026-08-29 21:35:39
[2026-08-29 21:35:39,910.910 INFO    ] 2026-08-29 21:35:39
[2026-08-29 21:35:39,947.947 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:35:40,133.133 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:35:40,138.138 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:35:40,242.242 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:35:40,246.246 INFO    ] time= 29/08/2026 21:35:40
[2026-08-29 21:35:40,251.251 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:35:40,273.273 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:35:40,323.323 INFO    ] No existing commands found in stream
[2026-08-29 21:35:45,333.333 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:35:45,337.337 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-08-29 21:35:48,618.618 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:35:48,620.620 INFO    ] Checking for system updates...
[2026-08-29 21:35:48,640.640 INFO    ] 200
[2026-08-29 21:35:48,641.641 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:35:48,671.671 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:35:48,673.673 INFO    ] No update needed
[2026-08-29 21:35:48,674.674 INFO    ] Checking for camera pi updates...
[2026-08-29 21:35:48,695.695 INFO    ] 200
[2026-08-29 21:35:48,697.697 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:35:48,720.720 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:35:48,818.818 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:35:48,820.820 INFO    ] No camera update needed
[2026-08-29 21:35:48,822.822 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:35:48,823.823 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:35:48,826.826 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:35:48,829.829 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:35:50,868.868 INFO    ] ================================================
[2026-08-29 21:35:50,884.884 INFO    ] Launching Daemon at Sat Aug 29 21:35:50 IST 2026
[2026-08-29 21:35:50,895.895 INFO    ] ================================================
[2026-08-29 21:35:51,252.252 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:35:51
[2026-08-29 21:35:51,564.564 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:35:51,762.762 INFO    ] Initializing speech engine...
[2026-08-29 21:35:51,775.775 INFO    ] 2026-08-29 21:35:51
[2026-08-29 21:35:52,034.034 INFO    ] 2026-08-29 21:35:52
[2026-08-29 21:35:52,071.071 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:35:52,215.215 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:35:52,221.221 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:35:52,367.367 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:35:52,377.377 INFO    ] time= 29/08/2026 21:35:52
[2026-08-29 21:35:52,384.384 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:35:52,406.406 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:35:52,457.457 INFO    ] No existing commands found in stream
[2026-08-29 21:35:57,464.464 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:35:57,467.467 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-08-29 21:35:59,655.655 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:35:59,656.656 INFO    ] Checking for system updates...
[2026-08-29 21:35:59,676.676 INFO    ] 200
[2026-08-29 21:35:59,678.678 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:35:59,708.708 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:35:59,709.709 INFO    ] No update needed
[2026-08-29 21:35:59,710.710 INFO    ] Checking for camera pi updates...
[2026-08-29 21:35:59,735.735 INFO    ] 200
[2026-08-29 21:35:59,737.737 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:35:59,781.781 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:35:59,854.854 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:35:59,857.857 INFO    ] No camera update needed
[2026-08-29 21:35:59,859.859 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:35:59,861.861 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:35:59,867.867 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:35:59,871.871 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:36:01,915.915 INFO    ] ================================================
[2026-08-29 21:36:01,937.937 INFO    ] Launching Daemon at Sat Aug 29 21:36:01 IST 2026
[2026-08-29 21:36:01,954.954 INFO    ] ================================================
[2026-08-29 21:36:02,623.623 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:36:02
[2026-08-29 21:36:03,170.170 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:36:03,444.444 INFO    ] Initializing speech engine...
[2026-08-29 21:36:03,454.454 INFO    ] 2026-08-29 21:36:03
[2026-08-29 21:36:03,705.705 INFO    ] 2026-08-29 21:36:03
[2026-08-29 21:36:03,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:36:03,917.917 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:36:03,929.929 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:36:04,073.073 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:36:04,080.080 INFO    ] time= 29/08/2026 21:36:04
[2026-08-29 21:36:04,085.085 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:36:04,091.091 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:36:04,159.159 INFO    ] No existing commands found in stream
[2026-08-29 21:36:09,189.189 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:36:09,192.192 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-08-29 21:36:11,587.587 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:36:11,589.589 INFO    ] Checking for system updates...
[2026-08-29 21:36:11,609.609 INFO    ] 200
[2026-08-29 21:36:11,611.611 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:36:11,641.641 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:36:11,642.642 INFO    ] No update needed
[2026-08-29 21:36:11,644.644 INFO    ] Checking for camera pi updates...
[2026-08-29 21:36:11,663.663 INFO    ] 200
[2026-08-29 21:36:11,664.664 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:36:11,688.688 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:36:11,780.780 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:36:11,781.781 INFO    ] No camera update needed
[2026-08-29 21:36:11,782.782 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:36:11,784.784 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:36:11,786.786 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:36:11,789.789 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:36:13,827.827 INFO    ] ================================================
[2026-08-29 21:36:13,842.842 INFO    ] Launching Daemon at Sat Aug 29 21:36:13 IST 2026
[2026-08-29 21:36:13,853.853 INFO    ] ================================================
[2026-08-29 21:36:14,185.185 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:36:14
[2026-08-29 21:36:14,501.501 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:36:14,647.647 INFO    ] Initializing speech engine...
[2026-08-29 21:36:14,652.652 INFO    ] 2026-08-29 21:36:14
[2026-08-29 21:36:14,867.867 INFO    ] 2026-08-29 21:36:14
[2026-08-29 21:36:14,898.898 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:36:15,029.029 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:36:15,093.093 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:36:15,208.208 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:36:15,242.242 INFO    ] time= 29/08/2026 21:36:15
[2026-08-29 21:36:15,278.278 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:36:15,326.326 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:36:15,424.424 INFO    ] No existing commands found in stream
[2026-08-29 21:36:20,435.435 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:36:20,438.438 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-08-29 21:36:23,454.454 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:36:23,458.458 INFO    ] Checking for system updates...
[2026-08-29 21:36:23,504.504 INFO    ] 200
[2026-08-29 21:36:23,506.506 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:36:23,573.573 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:36:23,575.575 INFO    ] No update needed
[2026-08-29 21:36:23,578.578 INFO    ] Checking for camera pi updates...
[2026-08-29 21:36:23,630.630 INFO    ] 200
[2026-08-29 21:36:23,633.633 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:36:23,677.677 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:36:23,806.806 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:36:23,808.808 INFO    ] No camera update needed
[2026-08-29 21:36:23,810.810 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:36:23,813.813 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:36:23,818.818 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:36:23,823.823 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:36:25,866.866 INFO    ] ================================================
[2026-08-29 21:36:25,919.919 INFO    ] Launching Daemon at Sat Aug 29 21:36:25 IST 2026
[2026-08-29 21:36:25,929.929 INFO    ] ================================================
[2026-08-29 21:36:26,477.477 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:36:26
[2026-08-29 21:36:26,790.790 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:36:26,920.920 INFO    ] Initializing speech engine...
[2026-08-29 21:36:26,925.925 INFO    ] 2026-08-29 21:36:26
[2026-08-29 21:36:27,143.143 INFO    ] 2026-08-29 21:36:27
[2026-08-29 21:36:27,173.173 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:36:27,296.296 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:36:27,341.341 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:36:27,482.482 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:36:27,507.507 INFO    ] time= 29/08/2026 21:36:27
[2026-08-29 21:36:27,575.575 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:36:27,599.599 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:36:27,671.671 INFO    ] No existing commands found in stream
[2026-08-29 21:36:32,682.682 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:36:32,685.685 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-08-29 21:36:36,235.235 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:36:36,237.237 INFO    ] Checking for system updates...
[2026-08-29 21:36:36,257.257 INFO    ] 200
[2026-08-29 21:36:36,258.258 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:36:36,291.291 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:36:36,292.292 INFO    ] No update needed
[2026-08-29 21:36:36,293.293 INFO    ] Checking for camera pi updates...
[2026-08-29 21:36:36,316.316 INFO    ] 200
[2026-08-29 21:36:36,318.318 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:36:36,349.349 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:36:36,431.431 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:36:36,433.433 INFO    ] No camera update needed
[2026-08-29 21:36:36,436.436 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:36:36,438.438 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:36:36,443.443 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:36:36,448.448 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:36:38,489.489 INFO    ] ================================================
[2026-08-29 21:36:38,504.504 INFO    ] Launching Daemon at Sat Aug 29 21:36:38 IST 2026
[2026-08-29 21:36:38,515.515 INFO    ] ================================================
[2026-08-29 21:36:39,087.087 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:36:39
[2026-08-29 21:36:39,577.577 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:36:39,711.711 INFO    ] Initializing speech engine...
[2026-08-29 21:36:39,723.723 INFO    ] 2026-08-29 21:36:39
[2026-08-29 21:36:39,921.921 INFO    ] 2026-08-29 21:36:39
[2026-08-29 21:36:40,003.003 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:36:40,154.154 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:36:40,162.162 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:36:40,298.298 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:36:40,320.320 INFO    ] time= 29/08/2026 21:36:40
[2026-08-29 21:36:40,364.364 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:36:40,413.413 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:36:40,488.488 INFO    ] No existing commands found in stream
[2026-08-29 21:36:45,500.500 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:36:45,502.502 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-08-29 21:36:49,471.471 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:36:49,473.473 INFO    ] Checking for system updates...
[2026-08-29 21:36:49,493.493 INFO    ] 200
[2026-08-29 21:36:49,495.495 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:36:49,525.525 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:36:49,526.526 INFO    ] No update needed
[2026-08-29 21:36:49,527.527 INFO    ] Checking for camera pi updates...
[2026-08-29 21:36:49,546.546 INFO    ] 200
[2026-08-29 21:36:49,547.547 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:36:49,573.573 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:36:49,644.644 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:36:49,645.645 INFO    ] No camera update needed
[2026-08-29 21:36:49,647.647 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:36:49,648.648 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:36:49,651.651 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:36:49,654.654 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:36:51,694.694 INFO    ] ================================================
[2026-08-29 21:36:51,709.709 INFO    ] Launching Daemon at Sat Aug 29 21:36:51 IST 2026
[2026-08-29 21:36:51,719.719 INFO    ] ================================================
[2026-08-29 21:36:52,296.296 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:36:52
[2026-08-29 21:36:52,892.892 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:36:53,150.150 INFO    ] Initializing speech engine...
[2026-08-29 21:36:53,156.156 INFO    ] 2026-08-29 21:36:53
[2026-08-29 21:36:53,449.449 INFO    ] 2026-08-29 21:36:53
[2026-08-29 21:36:53,487.487 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:36:53,678.678 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:36:53,683.683 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:36:53,827.827 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:36:53,831.831 INFO    ] time= 29/08/2026 21:36:53
[2026-08-29 21:36:53,841.841 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:36:53,855.855 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:36:53,946.946 INFO    ] No existing commands found in stream
[2026-08-29 21:36:58,981.981 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:36:58,984.984 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-08-29 21:37:03,066.066 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:37:03,068.068 INFO    ] Checking for system updates...
[2026-08-29 21:37:03,104.104 INFO    ] 200
[2026-08-29 21:37:03,107.107 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:37:03,165.165 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:37:03,167.167 INFO    ] No update needed
[2026-08-29 21:37:03,170.170 INFO    ] Checking for camera pi updates...
[2026-08-29 21:37:03,203.203 INFO    ] 200
[2026-08-29 21:37:03,205.205 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:37:03,250.250 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:37:03,361.361 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:37:03,363.363 INFO    ] No camera update needed
[2026-08-29 21:37:03,366.366 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:37:03,368.368 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:37:03,373.373 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:37:03,378.378 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:37:05,418.418 INFO    ] ================================================
[2026-08-29 21:37:05,433.433 INFO    ] Launching Daemon at Sat Aug 29 21:37:05 IST 2026
[2026-08-29 21:37:05,444.444 INFO    ] ================================================
[2026-08-29 21:37:05,868.868 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:37:05
[2026-08-29 21:37:06,468.468 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:37:06,752.752 INFO    ] Initializing speech engine...
[2026-08-29 21:37:06,760.760 INFO    ] 2026-08-29 21:37:06
[2026-08-29 21:37:07,020.020 INFO    ] 2026-08-29 21:37:07
[2026-08-29 21:37:07,051.051 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:37:07,218.218 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:37:07,229.229 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:37:07,340.340 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:37:07,344.344 INFO    ] time= 29/08/2026 21:37:07
[2026-08-29 21:37:07,363.363 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:37:07,385.385 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:37:07,458.458 INFO    ] No existing commands found in stream
[2026-08-29 21:37:12,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:37:12,477.477 INFO    ] Waiting 1.53 seconds before fallback handling...
[2026-08-29 21:37:14,339.339 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:37:14,341.341 INFO    ] Checking for system updates...
[2026-08-29 21:37:14,363.363 INFO    ] 200
[2026-08-29 21:37:14,364.364 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:37:14,394.394 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:37:14,395.395 INFO    ] No update needed
[2026-08-29 21:37:14,397.397 INFO    ] Checking for camera pi updates...
[2026-08-29 21:37:14,416.416 INFO    ] 200
[2026-08-29 21:37:14,417.417 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:37:14,441.441 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:37:14,537.537 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:37:14,538.538 INFO    ] No camera update needed
[2026-08-29 21:37:14,540.540 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:37:14,541.541 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:37:14,544.544 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:37:14,547.547 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:37:16,591.591 INFO    ] ================================================
[2026-08-29 21:37:16,606.606 INFO    ] Launching Daemon at Sat Aug 29 21:37:16 IST 2026
[2026-08-29 21:37:16,617.617 INFO    ] ================================================
[2026-08-29 21:37:16,953.953 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:37:16
[2026-08-29 21:37:17,266.266 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:37:17,402.402 INFO    ] Initializing speech engine...
[2026-08-29 21:37:17,405.405 INFO    ] 2026-08-29 21:37:17
[2026-08-29 21:37:17,634.634 INFO    ] 2026-08-29 21:37:17
[2026-08-29 21:37:17,660.660 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:37:17,821.821 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:37:17,831.831 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:37:17,987.987 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:37:17,996.996 INFO    ] time= 29/08/2026 21:37:17
[2026-08-29 21:37:18,001.001 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:37:18,006.006 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:37:18,078.078 INFO    ] No existing commands found in stream
[2026-08-29 21:37:23,090.090 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:37:23,093.093 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-08-29 21:37:25,771.771 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:37:25,773.773 INFO    ] Checking for system updates...
[2026-08-29 21:37:25,793.793 INFO    ] 200
[2026-08-29 21:37:25,794.794 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:37:25,826.826 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:37:25,827.827 INFO    ] No update needed
[2026-08-29 21:37:25,828.828 INFO    ] Checking for camera pi updates...
[2026-08-29 21:37:25,848.848 INFO    ] 200
[2026-08-29 21:37:25,849.849 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:37:25,872.872 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:37:25,961.961 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:37:25,963.963 INFO    ] No camera update needed
[2026-08-29 21:37:25,964.964 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:37:25,965.965 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:37:25,968.968 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:37:25,971.971 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:37:28,011.011 INFO    ] ================================================
[2026-08-29 21:37:28,027.027 INFO    ] Launching Daemon at Sat Aug 29 21:37:28 IST 2026
[2026-08-29 21:37:28,038.038 INFO    ] ================================================
[2026-08-29 21:37:28,399.399 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:37:28
[2026-08-29 21:37:28,739.739 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:37:28,891.891 INFO    ] Initializing speech engine...
[2026-08-29 21:37:28,896.896 INFO    ] 2026-08-29 21:37:28
[2026-08-29 21:37:29,108.108 INFO    ] 2026-08-29 21:37:29
[2026-08-29 21:37:29,137.137 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:37:29,271.271 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:37:29,324.324 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:37:29,463.463 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:37:29,522.522 INFO    ] time= 29/08/2026 21:37:29
[2026-08-29 21:37:29,556.556 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:37:29,563.563 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:37:29,631.631 INFO    ] No existing commands found in stream
[2026-08-29 21:37:34,643.643 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:37:34,646.646 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-08-29 21:37:35,879.879 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:37:35,881.881 INFO    ] Checking for system updates...
[2026-08-29 21:37:35,902.902 INFO    ] 200
[2026-08-29 21:37:35,903.903 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:37:35,933.933 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:37:35,935.935 INFO    ] No update needed
[2026-08-29 21:37:35,936.936 INFO    ] Checking for camera pi updates...
[2026-08-29 21:37:35,956.956 INFO    ] 200
[2026-08-29 21:37:35,957.957 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:37:35,980.980 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:37:36,078.078 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:37:36,080.080 INFO    ] No camera update needed
[2026-08-29 21:37:36,081.081 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:37:36,083.083 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:37:36,086.086 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:37:36,089.089 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:37:38,128.128 INFO    ] ================================================
[2026-08-29 21:37:38,144.144 INFO    ] Launching Daemon at Sat Aug 29 21:37:38 IST 2026
[2026-08-29 21:37:38,155.155 INFO    ] ================================================
[2026-08-29 21:37:38,540.540 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:37:38
[2026-08-29 21:37:38,878.878 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:37:39,033.033 INFO    ] Initializing speech engine...
[2026-08-29 21:37:39,037.037 INFO    ] 2026-08-29 21:37:39
[2026-08-29 21:37:39,243.243 INFO    ] 2026-08-29 21:37:39
[2026-08-29 21:37:39,271.271 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:37:39,404.404 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:37:39,457.457 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:37:39,604.604 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:37:39,644.644 INFO    ] time= 29/08/2026 21:37:39
[2026-08-29 21:37:39,689.689 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:37:39,744.744 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:37:39,820.820 INFO    ] No existing commands found in stream
[2026-08-29 21:37:44,831.831 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:37:44,834.834 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 21:37:46,069.069 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:37:46,071.071 INFO    ] Checking for system updates...
[2026-08-29 21:37:46,092.092 INFO    ] 200
[2026-08-29 21:37:46,093.093 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:37:46,124.124 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:37:46,125.125 INFO    ] No update needed
[2026-08-29 21:37:46,127.127 INFO    ] Checking for camera pi updates...
[2026-08-29 21:37:46,146.146 INFO    ] 200
[2026-08-29 21:37:46,148.148 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:37:46,171.171 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:37:46,270.270 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:37:46,272.272 INFO    ] No camera update needed
[2026-08-29 21:37:46,273.273 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:37:46,275.275 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:37:46,278.278 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:37:46,281.281 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:37:48,321.321 INFO    ] ================================================
[2026-08-29 21:37:48,337.337 INFO    ] Launching Daemon at Sat Aug 29 21:37:48 IST 2026
[2026-08-29 21:37:48,348.348 INFO    ] ================================================
[2026-08-29 21:37:48,693.693 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:37:48
[2026-08-29 21:37:49,010.010 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:37:49,154.154 INFO    ] Initializing speech engine...
[2026-08-29 21:37:49,159.159 INFO    ] 2026-08-29 21:37:49
[2026-08-29 21:37:49,377.377 INFO    ] 2026-08-29 21:37:49
[2026-08-29 21:37:49,432.432 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:37:49,594.594 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:37:49,602.602 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:37:49,779.779 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:37:49,802.802 INFO    ] time= 29/08/2026 21:37:49
[2026-08-29 21:37:49,818.818 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:37:49,843.843 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:37:49,955.955 INFO    ] No existing commands found in stream
[2026-08-29 21:37:54,974.974 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:37:54,977.977 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 21:37:58,425.425 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:37:58,427.427 INFO    ] Checking for system updates...
[2026-08-29 21:37:58,447.447 INFO    ] 200
[2026-08-29 21:37:58,449.449 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:37:58,482.482 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:37:58,483.483 INFO    ] No update needed
[2026-08-29 21:37:58,484.484 INFO    ] Checking for camera pi updates...
[2026-08-29 21:37:58,503.503 INFO    ] 200
[2026-08-29 21:37:58,505.505 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:37:58,528.528 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:37:58,616.616 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:37:58,617.617 INFO    ] No camera update needed
[2026-08-29 21:37:58,618.618 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:37:58,620.620 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:37:58,623.623 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:37:58,625.625 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:38:00,665.665 INFO    ] ================================================
[2026-08-29 21:38:00,681.681 INFO    ] Launching Daemon at Sat Aug 29 21:38:00 IST 2026
[2026-08-29 21:38:00,691.691 INFO    ] ================================================
[2026-08-29 21:38:01,021.021 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:38:01
[2026-08-29 21:38:01,337.337 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:38:01,473.473 INFO    ] Initializing speech engine...
[2026-08-29 21:38:01,486.486 INFO    ] 2026-08-29 21:38:01
[2026-08-29 21:38:01,706.706 INFO    ] 2026-08-29 21:38:01
[2026-08-29 21:38:01,736.736 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:38:01,849.849 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:38:01,872.872 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:38:01,993.993 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:38:01,998.998 INFO    ] time= 29/08/2026 21:38:01
[2026-08-29 21:38:02,001.001 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:38:02,005.005 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:38:02,051.051 INFO    ] No existing commands found in stream
[2026-08-29 21:38:07,061.061 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:38:07,070.070 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 21:38:10,608.608 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:38:10,610.610 INFO    ] Checking for system updates...
[2026-08-29 21:38:10,630.630 INFO    ] 200
[2026-08-29 21:38:10,632.632 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:38:10,664.664 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:38:10,665.665 INFO    ] No update needed
[2026-08-29 21:38:10,666.666 INFO    ] Checking for camera pi updates...
[2026-08-29 21:38:10,686.686 INFO    ] 200
[2026-08-29 21:38:10,688.688 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:38:10,711.711 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:38:10,793.793 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:38:10,795.795 INFO    ] No camera update needed
[2026-08-29 21:38:10,796.796 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:38:10,797.797 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:38:10,800.800 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:38:10,803.803 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:38:12,848.848 INFO    ] ================================================
[2026-08-29 21:38:12,863.863 INFO    ] Launching Daemon at Sat Aug 29 21:38:12 IST 2026
[2026-08-29 21:38:12,875.875 INFO    ] ================================================
[2026-08-29 21:38:13,249.249 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:38:13
[2026-08-29 21:38:13,589.589 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:38:13,740.740 INFO    ] Initializing speech engine...
[2026-08-29 21:38:13,746.746 INFO    ] 2026-08-29 21:38:13
[2026-08-29 21:38:13,954.954 INFO    ] 2026-08-29 21:38:13
[2026-08-29 21:38:13,983.983 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:38:14,106.106 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:38:14,159.159 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:38:14,299.299 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:38:14,361.361 INFO    ] time= 29/08/2026 21:38:14
[2026-08-29 21:38:14,399.399 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:38:14,405.405 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:38:14,471.471 INFO    ] No existing commands found in stream
[2026-08-29 21:38:19,482.482 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:38:19,485.485 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 21:38:21,493.493 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:38:21,495.495 INFO    ] Checking for system updates...
[2026-08-29 21:38:21,515.515 INFO    ] 200
[2026-08-29 21:38:21,516.516 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:38:21,549.549 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:38:21,550.550 INFO    ] No update needed
[2026-08-29 21:38:21,551.551 INFO    ] Checking for camera pi updates...
[2026-08-29 21:38:21,573.573 INFO    ] 200
[2026-08-29 21:38:21,575.575 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:38:21,598.598 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:38:21,681.681 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:38:21,682.682 INFO    ] No camera update needed
[2026-08-29 21:38:21,684.684 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:38:21,685.685 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:38:21,688.688 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:38:21,690.690 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:38:23,730.730 INFO    ] ================================================
[2026-08-29 21:38:23,745.745 INFO    ] Launching Daemon at Sat Aug 29 21:38:23 IST 2026
[2026-08-29 21:38:23,756.756 INFO    ] ================================================
[2026-08-29 21:38:24,121.121 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:38:24
[2026-08-29 21:38:24,434.434 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:38:24,567.567 INFO    ] Initializing speech engine...
[2026-08-29 21:38:24,572.572 INFO    ] 2026-08-29 21:38:24
[2026-08-29 21:38:24,778.778 INFO    ] 2026-08-29 21:38:24
[2026-08-29 21:38:24,857.857 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:38:25,037.037 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:38:25,046.046 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:38:25,200.200 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:38:25,208.208 INFO    ] time= 29/08/2026 21:38:25
[2026-08-29 21:38:25,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:38:25,316.316 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:38:25,394.394 INFO    ] No existing commands found in stream
[2026-08-29 21:38:30,418.418 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:38:30,421.421 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-08-29 21:38:32,775.775 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:38:32,778.778 INFO    ] Checking for system updates...
[2026-08-29 21:38:32,815.815 INFO    ] 200
[2026-08-29 21:38:32,817.817 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:38:32,870.870 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:38:32,873.873 INFO    ] No update needed
[2026-08-29 21:38:32,875.875 INFO    ] Checking for camera pi updates...
[2026-08-29 21:38:32,909.909 INFO    ] 200
[2026-08-29 21:38:32,911.911 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:38:32,951.951 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:38:33,053.053 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:38:33,056.056 INFO    ] No camera update needed
[2026-08-29 21:38:33,058.058 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:38:33,060.060 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:38:33,066.066 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:38:33,070.070 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:38:35,110.110 INFO    ] ================================================
[2026-08-29 21:38:35,126.126 INFO    ] Launching Daemon at Sat Aug 29 21:38:35 IST 2026
[2026-08-29 21:38:35,137.137 INFO    ] ================================================
[2026-08-29 21:38:35,709.709 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:38:35
[2026-08-29 21:38:36,134.134 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:38:36,263.263 INFO    ] Initializing speech engine...
[2026-08-29 21:38:36,268.268 INFO    ] 2026-08-29 21:38:36
[2026-08-29 21:38:36,474.474 INFO    ] 2026-08-29 21:38:36
[2026-08-29 21:38:36,509.509 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:38:36,684.684 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:38:36,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:38:36,810.810 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:38:36,816.816 INFO    ] time= 29/08/2026 21:38:36
[2026-08-29 21:38:36,834.834 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:38:36,854.854 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:38:36,931.931 INFO    ] No existing commands found in stream
[2026-08-29 21:38:41,944.944 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:38:41,947.947 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-08-29 21:38:45,927.927 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:38:45,929.929 INFO    ] Checking for system updates...
[2026-08-29 21:38:45,950.950 INFO    ] 200
[2026-08-29 21:38:45,952.952 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:38:45,982.982 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:38:45,983.983 INFO    ] No update needed
[2026-08-29 21:38:45,985.985 INFO    ] Checking for camera pi updates...
[2026-08-29 21:38:46,004.004 INFO    ] 200
[2026-08-29 21:38:46,005.005 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:38:46,028.028 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:38:46,214.214 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:38:46,216.216 INFO    ] No camera update needed
[2026-08-29 21:38:46,219.219 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:38:46,221.221 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:38:46,226.226 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:38:46,231.231 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:38:48,273.273 INFO    ] ================================================
[2026-08-29 21:38:48,288.288 INFO    ] Launching Daemon at Sat Aug 29 21:38:48 IST 2026
[2026-08-29 21:38:48,299.299 INFO    ] ================================================
[2026-08-29 21:38:48,870.870 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:38:48
[2026-08-29 21:38:49,321.321 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:38:49,458.458 INFO    ] Initializing speech engine...
[2026-08-29 21:38:49,468.468 INFO    ] 2026-08-29 21:38:49
[2026-08-29 21:38:49,664.664 INFO    ] 2026-08-29 21:38:49
[2026-08-29 21:38:49,707.707 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:38:49,932.932 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:38:49,941.941 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:38:50,079.079 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:38:50,123.123 INFO    ] time= 29/08/2026 21:38:50
[2026-08-29 21:38:50,193.193 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:38:50,216.216 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:38:50,272.272 INFO    ] No existing commands found in stream
[2026-08-29 21:38:55,284.284 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:38:55,286.286 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-08-29 21:38:56,750.750 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:38:56,751.751 INFO    ] Checking for system updates...
[2026-08-29 21:38:56,772.772 INFO    ] 200
[2026-08-29 21:38:56,773.773 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:38:56,806.806 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:38:56,807.807 INFO    ] No update needed
[2026-08-29 21:38:56,808.808 INFO    ] Checking for camera pi updates...
[2026-08-29 21:38:56,827.827 INFO    ] 200
[2026-08-29 21:38:56,828.828 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:38:56,851.851 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:38:56,935.935 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:38:56,936.936 INFO    ] No camera update needed
[2026-08-29 21:38:56,937.937 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:38:56,939.939 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:38:56,942.942 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:38:56,945.945 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:38:58,985.985 INFO    ] ================================================
[2026-08-29 21:38:59,001.001 INFO    ] Launching Daemon at Sat Aug 29 21:38:58 IST 2026
[2026-08-29 21:38:59,012.012 INFO    ] ================================================
[2026-08-29 21:38:59,377.377 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:38:59
[2026-08-29 21:38:59,691.691 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:38:59,824.824 INFO    ] Initializing speech engine...
[2026-08-29 21:38:59,829.829 INFO    ] 2026-08-29 21:38:59
[2026-08-29 21:39:00,058.058 INFO    ] 2026-08-29 21:39:00
[2026-08-29 21:39:00,089.089 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:39:00,210.210 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:39:00,254.254 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:39:00,408.408 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:39:00,471.471 INFO    ] time= 29/08/2026 21:39:00
[2026-08-29 21:39:00,502.502 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:39:00,504.504 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:39:00,574.574 INFO    ] No existing commands found in stream
[2026-08-29 21:39:05,584.584 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:39:05,587.587 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-08-29 21:39:05,965.965 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:39:05,966.966 INFO    ] Checking for system updates...
[2026-08-29 21:39:05,987.987 INFO    ] 200
[2026-08-29 21:39:05,988.988 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:39:06,018.018 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:39:06,019.019 INFO    ] No update needed
[2026-08-29 21:39:06,020.020 INFO    ] Checking for camera pi updates...
[2026-08-29 21:39:06,041.041 INFO    ] 200
[2026-08-29 21:39:06,042.042 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:39:06,065.065 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:39:06,136.136 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:39:06,137.137 INFO    ] No camera update needed
[2026-08-29 21:39:06,138.138 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:39:06,139.139 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:39:06,142.142 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:39:06,145.145 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:39:08,183.183 INFO    ] ================================================
[2026-08-29 21:39:08,200.200 INFO    ] Launching Daemon at Sat Aug 29 21:39:08 IST 2026
[2026-08-29 21:39:08,211.211 INFO    ] ================================================
[2026-08-29 21:39:08,593.593 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:39:08
[2026-08-29 21:39:08,935.935 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:39:09,155.155 INFO    ] Initializing speech engine...
[2026-08-29 21:39:09,165.165 INFO    ] 2026-08-29 21:39:09
[2026-08-29 21:39:09,457.457 INFO    ] 2026-08-29 21:39:09
[2026-08-29 21:39:09,495.495 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:39:09,724.724 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:39:09,730.730 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:39:09,864.864 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:39:09,899.899 INFO    ] time= 29/08/2026 21:39:09
[2026-08-29 21:39:09,959.959 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:39:09,997.997 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:39:10,050.050 INFO    ] No existing commands found in stream
[2026-08-29 21:39:15,063.063 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:39:15,066.066 INFO    ] Waiting 2.42 seconds before fallback handling...
[2026-08-29 21:39:17,905.905 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:39:17,908.908 INFO    ] Checking for system updates...
[2026-08-29 21:39:17,953.953 INFO    ] 200
[2026-08-29 21:39:17,956.956 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 21:39:17,960.960 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-08-29 21:39:17,963.963 INFO    ] Checking for camera pi updates...
[2026-08-29 21:39:18,011.011 INFO    ] 200
[2026-08-29 21:39:18,015.015 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 21:39:18,018.018 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-08-29 21:39:18,021.021 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:39:18,024.024 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:39:18,031.031 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:39:18,038.038 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:39:20,082.082 INFO    ] ================================================
[2026-08-29 21:39:20,097.097 INFO    ] Launching Daemon at Sat Aug 29 21:39:20 IST 2026
[2026-08-29 21:39:20,109.109 INFO    ] ================================================
[2026-08-29 21:39:20,527.527 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:39:20
[2026-08-29 21:39:21,112.112 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:39:21,380.380 INFO    ] Initializing speech engine...
[2026-08-29 21:39:21,389.389 INFO    ] 2026-08-29 21:39:21
[2026-08-29 21:39:21,643.643 INFO    ] 2026-08-29 21:39:21
[2026-08-29 21:39:21,703.703 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:39:21,844.844 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:39:21,857.857 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:39:21,996.996 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:39:22,003.003 INFO    ] time= 29/08/2026 21:39:21
[2026-08-29 21:39:22,010.010 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:39:22,056.056 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:39:22,195.195 INFO    ] No existing commands found in stream
[2026-08-29 21:39:27,210.210 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:39:27,213.213 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-08-29 21:39:29,658.658 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:39:29,659.659 INFO    ] Checking for system updates...
[2026-08-29 21:39:29,681.681 INFO    ] 200
[2026-08-29 21:39:29,682.682 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:39:29,712.712 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:39:29,714.714 INFO    ] No update needed
[2026-08-29 21:39:29,715.715 INFO    ] Checking for camera pi updates...
[2026-08-29 21:39:29,736.736 INFO    ] 200
[2026-08-29 21:39:29,737.737 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:39:29,760.760 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:39:29,832.832 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:39:29,834.834 INFO    ] No camera update needed
[2026-08-29 21:39:29,835.835 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:39:29,836.836 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:39:29,839.839 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:39:29,842.842 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:39:31,883.883 INFO    ] ================================================
[2026-08-29 21:39:31,902.902 INFO    ] Launching Daemon at Sat Aug 29 21:39:31 IST 2026
[2026-08-29 21:39:31,914.914 INFO    ] ================================================
[2026-08-29 21:39:32,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:39:32
[2026-08-29 21:39:33,263.263 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:39:33,521.521 INFO    ] Initializing speech engine...
[2026-08-29 21:39:33,529.529 INFO    ] 2026-08-29 21:39:33
[2026-08-29 21:39:33,830.830 INFO    ] 2026-08-29 21:39:33
[2026-08-29 21:39:33,865.865 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:39:34,016.016 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:39:34,026.026 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:39:34,181.181 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:39:34,192.192 INFO    ] time= 29/08/2026 21:39:34
[2026-08-29 21:39:34,196.196 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:39:34,201.201 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:39:34,268.268 INFO    ] No existing commands found in stream
[2026-08-29 21:39:39,279.279 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:39:39,282.282 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-08-29 21:39:39,686.686 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:39:39,687.687 INFO    ] Checking for system updates...
[2026-08-29 21:39:39,708.708 INFO    ] 200
[2026-08-29 21:39:39,709.709 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:39:39,740.740 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:39:39,741.741 INFO    ] No update needed
[2026-08-29 21:39:39,742.742 INFO    ] Checking for camera pi updates...
[2026-08-29 21:39:39,762.762 INFO    ] 200
[2026-08-29 21:39:39,764.764 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:39:39,789.789 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:39:39,870.870 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:39:39,873.873 INFO    ] No camera update needed
[2026-08-29 21:39:39,875.875 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:39:39,877.877 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:39:39,883.883 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:39:39,887.887 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:39:41,928.928 INFO    ] ================================================
[2026-08-29 21:39:41,943.943 INFO    ] Launching Daemon at Sat Aug 29 21:39:41 IST 2026
[2026-08-29 21:39:41,954.954 INFO    ] ================================================
[2026-08-29 21:39:42,595.595 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:39:42
[2026-08-29 21:39:43,100.100 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:39:43,253.253 INFO    ] Initializing speech engine...
[2026-08-29 21:39:43,259.259 INFO    ] 2026-08-29 21:39:43
[2026-08-29 21:39:43,507.507 INFO    ] 2026-08-29 21:39:43
[2026-08-29 21:39:43,564.564 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:39:43,730.730 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:39:43,736.736 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:39:43,910.910 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:39:43,938.938 INFO    ] time= 29/08/2026 21:39:43
[2026-08-29 21:39:43,957.957 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:39:43,988.988 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:39:44,088.088 INFO    ] No existing commands found in stream
[2026-08-29 21:39:49,105.105 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:39:49,108.108 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-08-29 21:39:52,970.970 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:39:52,971.971 INFO    ] Checking for system updates...
[2026-08-29 21:39:52,993.993 INFO    ] 200
[2026-08-29 21:39:52,995.995 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:39:53,026.026 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:39:53,027.027 INFO    ] No update needed
[2026-08-29 21:39:53,029.029 INFO    ] Checking for camera pi updates...
[2026-08-29 21:39:53,050.050 INFO    ] 200
[2026-08-29 21:39:53,051.051 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:39:53,077.077 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:39:53,189.189 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:39:53,190.190 INFO    ] No camera update needed
[2026-08-29 21:39:53,192.192 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:39:53,193.193 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:39:53,196.196 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:39:53,199.199 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:39:55,238.238 INFO    ] ================================================
[2026-08-29 21:39:55,254.254 INFO    ] Launching Daemon at Sat Aug 29 21:39:55 IST 2026
[2026-08-29 21:39:55,264.264 INFO    ] ================================================
[2026-08-29 21:39:55,619.619 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:39:55
[2026-08-29 21:39:55,934.934 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:39:56,067.067 INFO    ] Initializing speech engine...
[2026-08-29 21:39:56,071.071 INFO    ] 2026-08-29 21:39:56
[2026-08-29 21:39:56,264.264 INFO    ] 2026-08-29 21:39:56
[2026-08-29 21:39:56,310.310 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:39:56,470.470 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:39:56,499.499 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:39:56,643.643 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:39:56,689.689 INFO    ] time= 29/08/2026 21:39:56
[2026-08-29 21:39:56,709.709 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:39:56,771.771 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:39:56,872.872 INFO    ] No existing commands found in stream
[2026-08-29 21:40:01,884.884 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:40:01,902.902 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-08-29 21:40:02,487.487 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:40:02,491.491 INFO    ] Checking for system updates...
[2026-08-29 21:40:02,550.550 INFO    ] 200
[2026-08-29 21:40:02,554.554 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:40:02,636.636 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:40:02,640.640 INFO    ] No update needed
[2026-08-29 21:40:02,644.644 INFO    ] Checking for camera pi updates...
[2026-08-29 21:40:02,698.698 INFO    ] 200
[2026-08-29 21:40:02,702.702 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:40:02,771.771 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:40:02,973.973 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:40:02,976.976 INFO    ] No camera update needed
[2026-08-29 21:40:02,981.981 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:40:02,985.985 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:40:02,994.994 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:40:03,001.001 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:40:05,045.045 INFO    ] ================================================
[2026-08-29 21:40:05,060.060 INFO    ] Launching Daemon at Sat Aug 29 21:40:05 IST 2026
[2026-08-29 21:40:05,071.071 INFO    ] ================================================
[2026-08-29 21:40:05,441.441 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:40:05
[2026-08-29 21:40:05,755.755 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:40:05,891.891 INFO    ] Initializing speech engine...
[2026-08-29 21:40:05,904.904 INFO    ] 2026-08-29 21:40:05
[2026-08-29 21:40:06,123.123 INFO    ] 2026-08-29 21:40:06
[2026-08-29 21:40:06,147.147 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:40:06,286.286 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:40:06,300.300 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:40:06,443.443 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:40:06,485.485 INFO    ] time= 29/08/2026 21:40:06
[2026-08-29 21:40:06,510.510 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:40:06,579.579 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:40:06,683.683 INFO    ] No existing commands found in stream
[2026-08-29 21:40:11,694.694 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:40:11,696.696 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-08-29 21:40:14,351.351 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:40:14,352.352 INFO    ] Checking for system updates...
[2026-08-29 21:40:14,374.374 INFO    ] 200
[2026-08-29 21:40:14,375.375 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:40:14,405.405 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:40:14,406.406 INFO    ] No update needed
[2026-08-29 21:40:14,408.408 INFO    ] Checking for camera pi updates...
[2026-08-29 21:40:14,426.426 INFO    ] 200
[2026-08-29 21:40:14,428.428 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:40:14,451.451 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:40:14,532.532 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:40:14,535.535 INFO    ] No camera update needed
[2026-08-29 21:40:14,537.537 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:40:14,539.539 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:40:14,545.545 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:40:14,549.549 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:40:16,589.589 INFO    ] ================================================
[2026-08-29 21:40:16,605.605 INFO    ] Launching Daemon at Sat Aug 29 21:40:16 IST 2026
[2026-08-29 21:40:16,617.617 INFO    ] ================================================
[2026-08-29 21:40:17,199.199 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:40:17
[2026-08-29 21:40:17,688.688 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:40:17,840.840 INFO    ] Initializing speech engine...
[2026-08-29 21:40:17,846.846 INFO    ] 2026-08-29 21:40:17
[2026-08-29 21:40:18,055.055 INFO    ] 2026-08-29 21:40:18
[2026-08-29 21:40:18,085.085 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:40:18,209.209 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:40:18,273.273 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:40:18,442.442 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:40:18,502.502 INFO    ] time= 29/08/2026 21:40:18
[2026-08-29 21:40:18,556.556 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:40:18,622.622 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:40:18,716.716 INFO    ] No existing commands found in stream
[2026-08-29 21:40:23,726.726 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:40:23,729.729 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-08-29 21:40:26,405.405 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:40:26,407.407 INFO    ] Checking for system updates...
[2026-08-29 21:40:26,429.429 INFO    ] 200
[2026-08-29 21:40:26,430.430 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:40:26,460.460 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:40:26,461.461 INFO    ] No update needed
[2026-08-29 21:40:26,463.463 INFO    ] Checking for camera pi updates...
[2026-08-29 21:40:26,482.482 INFO    ] 200
[2026-08-29 21:40:26,483.483 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:40:26,508.508 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:40:26,585.585 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:40:26,587.587 INFO    ] No camera update needed
[2026-08-29 21:40:26,588.588 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:40:26,589.589 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:40:26,592.592 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:40:26,595.595 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:40:28,633.633 INFO    ] ================================================
[2026-08-29 21:40:28,648.648 INFO    ] Launching Daemon at Sat Aug 29 21:40:28 IST 2026
[2026-08-29 21:40:28,660.660 INFO    ] ================================================
[2026-08-29 21:40:29,045.045 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:40:29
[2026-08-29 21:40:29,599.599 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:40:29,878.878 INFO    ] Initializing speech engine...
[2026-08-29 21:40:29,887.887 INFO    ] 2026-08-29 21:40:29
[2026-08-29 21:40:30,173.173 INFO    ] 2026-08-29 21:40:30
[2026-08-29 21:40:30,219.219 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:40:30,444.444 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:40:30,454.454 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:40:30,587.587 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:40:30,635.635 INFO    ] time= 29/08/2026 21:40:30
[2026-08-29 21:40:30,716.716 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:40:30,725.725 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:40:30,851.851 INFO    ] No existing commands found in stream
[2026-08-29 21:40:35,879.879 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:40:35,882.882 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-08-29 21:40:36,300.300 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:40:36,301.301 INFO    ] Checking for system updates...
[2026-08-29 21:40:36,323.323 INFO    ] 200
[2026-08-29 21:40:36,324.324 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:40:36,355.355 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:40:36,356.356 INFO    ] No update needed
[2026-08-29 21:40:36,357.357 INFO    ] Checking for camera pi updates...
[2026-08-29 21:40:36,379.379 INFO    ] 200
[2026-08-29 21:40:36,380.380 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:40:36,403.403 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:40:36,491.491 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:40:36,492.492 INFO    ] No camera update needed
[2026-08-29 21:40:36,494.494 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:40:36,495.495 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:40:36,498.498 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:40:36,501.501 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:40:38,540.540 INFO    ] ================================================
[2026-08-29 21:40:38,555.555 INFO    ] Launching Daemon at Sat Aug 29 21:40:38 IST 2026
[2026-08-29 21:40:38,566.566 INFO    ] ================================================
[2026-08-29 21:40:38,924.924 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:40:38
[2026-08-29 21:40:39,241.241 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:40:39,378.378 INFO    ] Initializing speech engine...
[2026-08-29 21:40:39,389.389 INFO    ] 2026-08-29 21:40:39
[2026-08-29 21:40:39,601.601 INFO    ] 2026-08-29 21:40:39
[2026-08-29 21:40:39,686.686 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:40:39,833.833 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:40:39,842.842 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:40:39,974.974 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:40:39,996.996 INFO    ] time= 29/08/2026 21:40:39
[2026-08-29 21:40:40,050.050 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:40:40,106.106 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:40:40,165.165 INFO    ] No existing commands found in stream
[2026-08-29 21:40:45,181.181 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:40:45,184.184 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-08-29 21:40:48,215.215 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:40:48,216.216 INFO    ] Checking for system updates...
[2026-08-29 21:40:48,237.237 INFO    ] 200
[2026-08-29 21:40:48,238.238 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:40:48,270.270 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:40:48,271.271 INFO    ] No update needed
[2026-08-29 21:40:48,273.273 INFO    ] Checking for camera pi updates...
[2026-08-29 21:40:48,292.292 INFO    ] 200
[2026-08-29 21:40:48,294.294 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:40:48,316.316 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:40:48,492.492 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:40:48,493.493 INFO    ] No camera update needed
[2026-08-29 21:40:48,495.495 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:40:48,496.496 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:40:48,499.499 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:40:48,501.501 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:40:50,541.541 INFO    ] ================================================
[2026-08-29 21:40:50,557.557 INFO    ] Launching Daemon at Sat Aug 29 21:40:50 IST 2026
[2026-08-29 21:40:50,568.568 INFO    ] ================================================
[2026-08-29 21:40:51,143.143 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:40:51
[2026-08-29 21:40:51,735.735 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:40:51,988.988 INFO    ] Initializing speech engine...
[2026-08-29 21:40:52,001.001 INFO    ] 2026-08-29 21:40:51
[2026-08-29 21:40:52,271.271 INFO    ] 2026-08-29 21:40:52
[2026-08-29 21:40:52,308.308 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:40:52,497.497 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:40:52,511.511 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:40:52,625.625 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:40:52,645.645 INFO    ] time= 29/08/2026 21:40:52
[2026-08-29 21:40:52,665.665 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:40:52,673.673 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:40:52,743.743 INFO    ] No existing commands found in stream
[2026-08-29 21:40:57,755.755 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:40:57,758.758 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-08-29 21:40:59,829.829 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:40:59,831.831 INFO    ] Checking for system updates...
[2026-08-29 21:40:59,851.851 INFO    ] 200
[2026-08-29 21:40:59,853.853 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:40:59,884.884 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:40:59,886.886 INFO    ] No update needed
[2026-08-29 21:40:59,887.887 INFO    ] Checking for camera pi updates...
[2026-08-29 21:40:59,906.906 INFO    ] 200
[2026-08-29 21:40:59,907.907 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:40:59,930.930 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:41:00,022.022 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:41:00,024.024 INFO    ] No camera update needed
[2026-08-29 21:41:00,027.027 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:41:00,029.029 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:41:00,034.034 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:41:00,039.039 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:41:02,083.083 INFO    ] ================================================
[2026-08-29 21:41:02,109.109 INFO    ] Launching Daemon at Sat Aug 29 21:41:02 IST 2026
[2026-08-29 21:41:02,129.129 INFO    ] ================================================
[2026-08-29 21:41:02,808.808 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:41:02
[2026-08-29 21:41:03,421.421 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:41:03,679.679 INFO    ] Initializing speech engine...
[2026-08-29 21:41:03,685.685 INFO    ] 2026-08-29 21:41:03
[2026-08-29 21:41:03,959.959 INFO    ] 2026-08-29 21:41:03
[2026-08-29 21:41:03,983.983 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:41:04,146.146 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:41:04,154.154 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:41:04,307.307 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:41:04,318.318 INFO    ] time= 29/08/2026 21:41:04
[2026-08-29 21:41:04,323.323 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:41:04,327.327 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:41:04,398.398 INFO    ] No existing commands found in stream
[2026-08-29 21:41:09,409.409 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:41:09,412.412 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-08-29 21:41:12,302.302 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:41:12,304.304 INFO    ] Checking for system updates...
[2026-08-29 21:41:12,324.324 INFO    ] 200
[2026-08-29 21:41:12,326.326 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:41:12,355.355 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:41:12,357.357 INFO    ] No update needed
[2026-08-29 21:41:12,358.358 INFO    ] Checking for camera pi updates...
[2026-08-29 21:41:12,379.379 INFO    ] 200
[2026-08-29 21:41:12,382.382 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:41:12,422.422 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:41:12,507.507 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:41:12,509.509 INFO    ] No camera update needed
[2026-08-29 21:41:12,512.512 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:41:12,514.514 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:41:12,519.519 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:41:12,524.524 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:41:14,568.568 INFO    ] ================================================
[2026-08-29 21:41:14,583.583 INFO    ] Launching Daemon at Sat Aug 29 21:41:14 IST 2026
[2026-08-29 21:41:14,594.594 INFO    ] ================================================
[2026-08-29 21:41:15,179.179 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:41:15
[2026-08-29 21:41:15,654.654 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:41:15,798.798 INFO    ] Initializing speech engine...
[2026-08-29 21:41:15,804.804 INFO    ] 2026-08-29 21:41:15
[2026-08-29 21:41:16,018.018 INFO    ] 2026-08-29 21:41:15
[2026-08-29 21:41:16,101.101 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:41:16,251.251 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:41:16,260.260 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:41:16,393.393 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:41:16,396.396 INFO    ] time= 29/08/2026 21:41:16
[2026-08-29 21:41:16,404.404 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:41:16,453.453 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:41:16,533.533 INFO    ] No existing commands found in stream
[2026-08-29 21:41:21,545.545 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:41:21,548.548 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-08-29 21:41:22,781.781 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:41:22,783.783 INFO    ] Checking for system updates...
[2026-08-29 21:41:22,805.805 INFO    ] 200
[2026-08-29 21:41:22,806.806 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:41:22,836.836 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:41:22,837.837 INFO    ] No update needed
[2026-08-29 21:41:22,839.839 INFO    ] Checking for camera pi updates...
[2026-08-29 21:41:22,858.858 INFO    ] 200
[2026-08-29 21:41:22,859.859 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:41:22,883.883 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:41:22,952.952 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:41:22,954.954 INFO    ] No camera update needed
[2026-08-29 21:41:22,955.955 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:41:22,956.956 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:41:22,960.960 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:41:22,963.963 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:41:25,003.003 INFO    ] ================================================
[2026-08-29 21:41:25,019.019 INFO    ] Launching Daemon at Sat Aug 29 21:41:25 IST 2026
[2026-08-29 21:41:25,030.030 INFO    ] ================================================
[2026-08-29 21:41:25,359.359 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:41:25
[2026-08-29 21:41:25,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:41:25,826.826 INFO    ] Initializing speech engine...
[2026-08-29 21:41:25,832.832 INFO    ] 2026-08-29 21:41:25
[2026-08-29 21:41:26,047.047 INFO    ] 2026-08-29 21:41:26
[2026-08-29 21:41:26,079.079 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:41:26,211.211 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:41:26,244.244 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:41:26,375.375 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:41:26,424.424 INFO    ] time= 29/08/2026 21:41:26
[2026-08-29 21:41:26,445.445 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:41:26,507.507 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:41:26,607.607 INFO    ] No existing commands found in stream
[2026-08-29 21:41:31,617.617 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:41:31,620.620 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-08-29 21:41:33,949.949 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:41:33,952.952 INFO    ] Checking for system updates...
[2026-08-29 21:41:33,989.989 INFO    ] 200
[2026-08-29 21:41:33,992.992 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:41:34,047.047 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:41:34,050.050 INFO    ] No update needed
[2026-08-29 21:41:34,053.053 INFO    ] Checking for camera pi updates...
[2026-08-29 21:41:34,088.088 INFO    ] 200
[2026-08-29 21:41:34,090.090 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:41:34,136.136 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:41:34,185.185 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:41:34,188.188 INFO    ] No camera update needed
[2026-08-29 21:41:34,190.190 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:41:34,193.193 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:41:34,199.199 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:41:34,205.205 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:41:36,246.246 INFO    ] ================================================
[2026-08-29 21:41:36,261.261 INFO    ] Launching Daemon at Sat Aug 29 21:41:36 IST 2026
[2026-08-29 21:41:36,272.272 INFO    ] ================================================
[2026-08-29 21:41:36,824.824 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:41:36
[2026-08-29 21:41:37,417.417 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:41:37,683.683 INFO    ] Initializing speech engine...
[2026-08-29 21:41:37,707.707 INFO    ] 2026-08-29 21:41:37
[2026-08-29 21:41:37,986.986 INFO    ] 2026-08-29 21:41:37
[2026-08-29 21:41:38,025.025 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:41:38,222.222 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:41:38,229.229 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:41:38,360.360 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:41:38,368.368 INFO    ] time= 29/08/2026 21:41:38
[2026-08-29 21:41:38,374.374 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:41:38,394.394 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:41:38,499.499 INFO    ] No existing commands found in stream
[2026-08-29 21:41:43,514.514 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:41:43,517.517 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-08-29 21:41:47,349.349 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:41:47,350.350 INFO    ] Checking for system updates...
[2026-08-29 21:41:47,370.370 INFO    ] 200
[2026-08-29 21:41:47,372.372 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:41:47,402.402 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:41:47,404.404 INFO    ] No update needed
[2026-08-29 21:41:47,405.405 INFO    ] Checking for camera pi updates...
[2026-08-29 21:41:47,424.424 INFO    ] 200
[2026-08-29 21:41:47,425.425 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:41:47,448.448 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:41:47,530.530 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:41:47,531.531 INFO    ] No camera update needed
[2026-08-29 21:41:47,533.533 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:41:47,534.534 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:41:47,537.537 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:41:47,539.539 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:41:49,577.577 INFO    ] ================================================
[2026-08-29 21:41:49,593.593 INFO    ] Launching Daemon at Sat Aug 29 21:41:49 IST 2026
[2026-08-29 21:41:49,603.603 INFO    ] ================================================
[2026-08-29 21:41:49,939.939 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:41:49
[2026-08-29 21:41:50,256.256 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:41:50,398.398 INFO    ] Initializing speech engine...
[2026-08-29 21:41:50,404.404 INFO    ] 2026-08-29 21:41:50
[2026-08-29 21:41:50,607.607 INFO    ] 2026-08-29 21:41:50
[2026-08-29 21:41:50,636.636 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:41:50,759.759 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:41:50,802.802 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:41:50,978.978 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:41:51,010.010 INFO    ] time= 29/08/2026 21:41:50
[2026-08-29 21:41:51,055.055 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:41:51,114.114 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:41:51,208.208 INFO    ] No existing commands found in stream
[2026-08-29 21:41:56,223.223 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:41:56,226.226 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-08-29 21:41:57,195.195 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:41:57,197.197 INFO    ] Checking for system updates...
[2026-08-29 21:41:57,218.218 INFO    ] 200
[2026-08-29 21:41:57,219.219 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:41:57,249.249 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:41:57,250.250 INFO    ] No update needed
[2026-08-29 21:41:57,252.252 INFO    ] Checking for camera pi updates...
[2026-08-29 21:41:57,272.272 INFO    ] 200
[2026-08-29 21:41:57,274.274 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:41:57,301.301 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:41:57,395.395 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:41:57,396.396 INFO    ] No camera update needed
[2026-08-29 21:41:57,398.398 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:41:57,399.399 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:41:57,402.402 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:41:57,405.405 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:41:59,446.446 INFO    ] ================================================
[2026-08-29 21:41:59,461.461 INFO    ] Launching Daemon at Sat Aug 29 21:41:59 IST 2026
[2026-08-29 21:41:59,471.471 INFO    ] ================================================
[2026-08-29 21:41:59,801.801 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:41:59
[2026-08-29 21:42:00,117.117 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:42:00,250.250 INFO    ] Initializing speech engine...
[2026-08-29 21:42:00,255.255 INFO    ] 2026-08-29 21:42:00
[2026-08-29 21:42:00,458.458 INFO    ] 2026-08-29 21:42:00
[2026-08-29 21:42:00,492.492 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:42:00,649.649 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:42:00,688.688 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:42:00,824.824 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:42:00,863.863 INFO    ] time= 29/08/2026 21:42:00
[2026-08-29 21:42:00,904.904 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:42:00,947.947 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:42:01,045.045 INFO    ] No existing commands found in stream
[2026-08-29 21:42:06,056.056 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:42:06,058.058 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-08-29 21:42:08,352.352 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:42:08,353.353 INFO    ] Checking for system updates...
[2026-08-29 21:42:08,373.373 INFO    ] 200
[2026-08-29 21:42:08,375.375 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:42:08,405.405 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:42:08,406.406 INFO    ] No update needed
[2026-08-29 21:42:08,407.407 INFO    ] Checking for camera pi updates...
[2026-08-29 21:42:08,426.426 INFO    ] 200
[2026-08-29 21:42:08,428.428 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:42:08,451.451 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:42:08,531.531 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:42:08,534.534 INFO    ] No camera update needed
[2026-08-29 21:42:08,536.536 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:42:08,539.539 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:42:08,544.544 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:42:08,549.549 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:42:10,590.590 INFO    ] ================================================
[2026-08-29 21:42:10,605.605 INFO    ] Launching Daemon at Sat Aug 29 21:42:10 IST 2026
[2026-08-29 21:42:10,615.615 INFO    ] ================================================
[2026-08-29 21:42:11,190.190 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:42:11
[2026-08-29 21:42:11,688.688 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:42:11,867.867 INFO    ] Initializing speech engine...
[2026-08-29 21:42:11,873.873 INFO    ] 2026-08-29 21:42:11
[2026-08-29 21:42:12,170.170 INFO    ] 2026-08-29 21:42:12
[2026-08-29 21:42:12,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:42:12,357.357 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:42:12,363.363 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:42:12,520.520 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:42:12,533.533 INFO    ] time= 29/08/2026 21:42:12
[2026-08-29 21:42:12,538.538 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:42:12,543.543 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:42:12,611.611 INFO    ] No existing commands found in stream
[2026-08-29 21:42:17,621.621 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:42:17,624.624 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-08-29 21:42:22,564.564 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:42:22,565.565 INFO    ] Checking for system updates...
[2026-08-29 21:42:22,585.585 INFO    ] 200
[2026-08-29 21:42:22,587.587 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:42:22,617.617 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:42:22,618.618 INFO    ] No update needed
[2026-08-29 21:42:22,619.619 INFO    ] Checking for camera pi updates...
[2026-08-29 21:42:22,638.638 INFO    ] 200
[2026-08-29 21:42:22,640.640 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:42:22,663.663 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:42:22,757.757 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:42:22,759.759 INFO    ] No camera update needed
[2026-08-29 21:42:22,760.760 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:42:22,761.761 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:42:22,764.764 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:42:22,767.767 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:42:24,805.805 INFO    ] ================================================
[2026-08-29 21:42:24,821.821 INFO    ] Launching Daemon at Sat Aug 29 21:42:24 IST 2026
[2026-08-29 21:42:24,831.831 INFO    ] ================================================
[2026-08-29 21:42:25,215.215 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:42:25
[2026-08-29 21:42:25,554.554 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:42:25,706.706 INFO    ] Initializing speech engine...
[2026-08-29 21:42:25,713.713 INFO    ] 2026-08-29 21:42:25
[2026-08-29 21:42:25,921.921 INFO    ] 2026-08-29 21:42:25
[2026-08-29 21:42:25,949.949 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:42:26,141.141 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:42:26,160.160 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:42:26,332.332 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:42:26,373.373 INFO    ] time= 29/08/2026 21:42:26
[2026-08-29 21:42:26,428.428 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:42:26,463.463 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:42:26,598.598 INFO    ] No existing commands found in stream
[2026-08-29 21:42:31,612.612 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:42:31,615.615 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 21:42:32,191.191 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:42:32,195.195 INFO    ] Checking for system updates...
[2026-08-29 21:42:32,234.234 INFO    ] 200
[2026-08-29 21:42:32,237.237 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:42:32,298.298 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:42:32,301.301 INFO    ] No update needed
[2026-08-29 21:42:32,304.304 INFO    ] Checking for camera pi updates...
[2026-08-29 21:42:32,343.343 INFO    ] 200
[2026-08-29 21:42:32,346.346 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:42:32,392.392 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:42:32,535.535 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:42:32,538.538 INFO    ] No camera update needed
[2026-08-29 21:42:32,542.542 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:42:32,545.545 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:42:32,552.552 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:42:32,558.558 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:42:34,600.600 INFO    ] ================================================
[2026-08-29 21:42:34,616.616 INFO    ] Launching Daemon at Sat Aug 29 21:42:34 IST 2026
[2026-08-29 21:42:34,628.628 INFO    ] ================================================
[2026-08-29 21:42:35,150.150 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:42:35
[2026-08-29 21:42:35,711.711 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:42:35,965.965 INFO    ] Initializing speech engine...
[2026-08-29 21:42:35,977.977 INFO    ] 2026-08-29 21:42:35
[2026-08-29 21:42:36,243.243 INFO    ] 2026-08-29 21:42:36
[2026-08-29 21:42:36,279.279 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:42:36,478.478 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:42:36,485.485 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:42:36,615.615 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:42:36,623.623 INFO    ] time= 29/08/2026 21:42:36
[2026-08-29 21:42:36,630.630 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:42:36,676.676 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:42:36,805.805 INFO    ] No existing commands found in stream
[2026-08-29 21:42:41,830.830 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:42:41,833.833 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-08-29 21:42:43,440.440 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:42:43,442.442 INFO    ] Checking for system updates...
[2026-08-29 21:42:43,462.462 INFO    ] 200
[2026-08-29 21:42:43,463.463 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:42:43,494.494 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:42:43,495.495 INFO    ] No update needed
[2026-08-29 21:42:43,496.496 INFO    ] Checking for camera pi updates...
[2026-08-29 21:42:43,515.515 INFO    ] 200
[2026-08-29 21:42:43,517.517 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:42:43,539.539 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:42:43,619.619 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:42:43,621.621 INFO    ] No camera update needed
[2026-08-29 21:42:43,622.622 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:42:43,623.623 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:42:43,626.626 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:42:43,629.629 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:42:45,671.671 INFO    ] ================================================
[2026-08-29 21:42:45,687.687 INFO    ] Launching Daemon at Sat Aug 29 21:42:45 IST 2026
[2026-08-29 21:42:45,698.698 INFO    ] ================================================
[2026-08-29 21:42:46,085.085 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:42:46
[2026-08-29 21:42:46,411.411 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:42:46,541.541 INFO    ] Initializing speech engine...
[2026-08-29 21:42:46,546.546 INFO    ] 2026-08-29 21:42:46
[2026-08-29 21:42:46,765.765 INFO    ] 2026-08-29 21:42:46
[2026-08-29 21:42:46,794.794 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:42:46,951.951 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:42:46,967.967 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:42:47,110.110 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:42:47,136.136 INFO    ] time= 29/08/2026 21:42:47
[2026-08-29 21:42:47,144.144 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:42:47,153.153 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:42:47,252.252 INFO    ] No existing commands found in stream
[2026-08-29 21:42:52,269.269 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:42:52,272.272 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 21:42:55,718.718 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:42:55,720.720 INFO    ] Checking for system updates...
[2026-08-29 21:42:55,740.740 INFO    ] 200
[2026-08-29 21:42:55,742.742 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:42:55,771.771 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:42:55,773.773 INFO    ] No update needed
[2026-08-29 21:42:55,774.774 INFO    ] Checking for camera pi updates...
[2026-08-29 21:42:55,793.793 INFO    ] 200
[2026-08-29 21:42:55,794.794 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:42:55,817.817 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:42:56,008.008 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:42:56,011.011 INFO    ] No camera update needed
[2026-08-29 21:42:56,013.013 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:42:56,015.015 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:42:56,021.021 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:42:56,026.026 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:42:58,071.071 INFO    ] ================================================
[2026-08-29 21:42:58,086.086 INFO    ] Launching Daemon at Sat Aug 29 21:42:58 IST 2026
[2026-08-29 21:42:58,097.097 INFO    ] ================================================
[2026-08-29 21:42:58,666.666 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:42:58
[2026-08-29 21:42:59,177.177 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:42:59,418.418 INFO    ] Initializing speech engine...
[2026-08-29 21:42:59,441.441 INFO    ] 2026-08-29 21:42:59
[2026-08-29 21:42:59,694.694 INFO    ] 2026-08-29 21:42:59
[2026-08-29 21:42:59,729.729 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:42:59,901.901 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:42:59,913.913 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:43:00,023.023 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:43:00,043.043 INFO    ] time= 29/08/2026 21:43:00
[2026-08-29 21:43:00,062.062 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:43:00,070.070 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:43:00,138.138 INFO    ] No existing commands found in stream
[2026-08-29 21:43:05,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:43:05,153.153 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 21:43:06,899.899 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:43:06,901.901 INFO    ] Checking for system updates...
[2026-08-29 21:43:06,921.921 INFO    ] 200
[2026-08-29 21:43:06,923.923 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:43:06,953.953 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:43:06,954.954 INFO    ] No update needed
[2026-08-29 21:43:06,956.956 INFO    ] Checking for camera pi updates...
[2026-08-29 21:43:06,975.975 INFO    ] 200
[2026-08-29 21:43:06,976.976 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:43:06,999.999 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:43:07,094.094 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:43:07,095.095 INFO    ] No camera update needed
[2026-08-29 21:43:07,097.097 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:43:07,098.098 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:43:07,101.101 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:43:07,103.103 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:43:09,143.143 INFO    ] ================================================
[2026-08-29 21:43:09,158.158 INFO    ] Launching Daemon at Sat Aug 29 21:43:09 IST 2026
[2026-08-29 21:43:09,169.169 INFO    ] ================================================
[2026-08-29 21:43:09,564.564 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:43:09
[2026-08-29 21:43:09,904.904 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:43:10,056.056 INFO    ] Initializing speech engine...
[2026-08-29 21:43:10,062.062 INFO    ] 2026-08-29 21:43:10
[2026-08-29 21:43:10,269.269 INFO    ] 2026-08-29 21:43:10
[2026-08-29 21:43:10,340.340 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:43:10,529.529 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:43:10,544.544 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:43:10,665.665 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:43:10,668.668 INFO    ] time= 29/08/2026 21:43:10
[2026-08-29 21:43:10,707.707 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:43:10,719.719 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:43:10,839.839 INFO    ] No existing commands found in stream
[2026-08-29 21:43:15,864.864 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:43:15,867.867 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-08-29 21:43:17,755.755 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:43:17,756.756 INFO    ] Checking for system updates...
[2026-08-29 21:43:17,776.776 INFO    ] 200
[2026-08-29 21:43:17,778.778 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:43:17,810.810 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:43:17,811.811 INFO    ] No update needed
[2026-08-29 21:43:17,813.813 INFO    ] Checking for camera pi updates...
[2026-08-29 21:43:17,833.833 INFO    ] 200
[2026-08-29 21:43:17,835.835 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:43:17,859.859 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:43:17,932.932 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:43:17,933.933 INFO    ] No camera update needed
[2026-08-29 21:43:17,935.935 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:43:17,936.936 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:43:17,939.939 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:43:17,941.941 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:43:19,982.982 INFO    ] ================================================
[2026-08-29 21:43:20,997.997 INFO    ] Launching Daemon at Sat Aug 29 21:43:19 IST 2026
[2026-08-29 21:43:20,008.008 INFO    ] ================================================
[2026-08-29 21:43:20,335.335 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:43:20
[2026-08-29 21:43:20,646.646 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:43:20,783.783 INFO    ] Initializing speech engine...
[2026-08-29 21:43:20,790.790 INFO    ] 2026-08-29 21:43:20
[2026-08-29 21:43:20,972.972 INFO    ] 2026-08-29 21:43:20
[2026-08-29 21:43:21,008.008 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:43:21,188.188 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:43:21,205.205 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:43:21,336.336 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:43:21,341.341 INFO    ] time= 29/08/2026 21:43:21
[2026-08-29 21:43:21,347.347 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:43:21,388.388 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:43:21,521.521 INFO    ] No existing commands found in stream
[2026-08-29 21:43:26,546.546 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:43:26,549.549 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-08-29 21:43:30,742.742 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:43:30,743.743 INFO    ] Checking for system updates...
[2026-08-29 21:43:30,763.763 INFO    ] 200
[2026-08-29 21:43:30,765.765 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:43:30,794.794 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:43:30,795.795 INFO    ] No update needed
[2026-08-29 21:43:30,797.797 INFO    ] Checking for camera pi updates...
[2026-08-29 21:43:30,818.818 INFO    ] 200
[2026-08-29 21:43:30,819.819 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:43:30,844.844 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:43:30,948.948 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:43:30,949.949 INFO    ] No camera update needed
[2026-08-29 21:43:30,950.950 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:43:30,952.952 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:43:30,955.955 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:43:30,957.957 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:43:32,993.993 INFO    ] ================================================
[2026-08-29 21:43:33,008.008 INFO    ] Launching Daemon at Sat Aug 29 21:43:33 IST 2026
[2026-08-29 21:43:33,019.019 INFO    ] ================================================
[2026-08-29 21:43:33,589.589 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:43:33
[2026-08-29 21:43:34,174.174 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:43:34,427.427 INFO    ] Initializing speech engine...
[2026-08-29 21:43:34,433.433 INFO    ] 2026-08-29 21:43:34
[2026-08-29 21:43:34,735.735 INFO    ] 2026-08-29 21:43:34
[2026-08-29 21:43:34,771.771 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:43:34,947.947 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:43:34,962.962 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:43:35,103.103 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:43:35,107.107 INFO    ] time= 29/08/2026 21:43:35
[2026-08-29 21:43:35,109.109 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:43:35,112.112 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:43:35,210.210 INFO    ] No existing commands found in stream
[2026-08-29 21:43:40,220.220 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:43:40,223.223 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-08-29 21:43:42,114.114 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:43:42,115.115 INFO    ] Checking for system updates...
[2026-08-29 21:43:42,135.135 INFO    ] 200
[2026-08-29 21:43:42,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:43:42,169.169 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:43:42,171.171 INFO    ] No update needed
[2026-08-29 21:43:42,172.172 INFO    ] Checking for camera pi updates...
[2026-08-29 21:43:42,191.191 INFO    ] 200
[2026-08-29 21:43:42,193.193 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:43:42,216.216 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:43:42,296.296 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:43:42,297.297 INFO    ] No camera update needed
[2026-08-29 21:43:42,298.298 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:43:42,300.300 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:43:42,303.303 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:43:42,305.305 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:43:44,343.343 INFO    ] ================================================
[2026-08-29 21:43:44,359.359 INFO    ] Launching Daemon at Sat Aug 29 21:43:44 IST 2026
[2026-08-29 21:43:44,370.370 INFO    ] ================================================
[2026-08-29 21:43:44,695.695 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:43:44
[2026-08-29 21:43:45,008.008 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:43:45,139.139 INFO    ] Initializing speech engine...
[2026-08-29 21:43:45,147.147 INFO    ] 2026-08-29 21:43:45
[2026-08-29 21:43:45,363.363 INFO    ] 2026-08-29 21:43:45
[2026-08-29 21:43:45,393.393 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:43:45,516.516 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:43:45,580.580 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:43:45,729.729 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:43:45,760.760 INFO    ] time= 29/08/2026 21:43:45
[2026-08-29 21:43:45,809.809 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:43:45,848.848 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:43:45,943.943 INFO    ] No existing commands found in stream
[2026-08-29 21:43:50,973.973 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:43:50,976.976 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-08-29 21:43:52,378.378 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:43:52,379.379 INFO    ] Checking for system updates...
[2026-08-29 21:43:52,399.399 INFO    ] 200
[2026-08-29 21:43:52,401.401 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:43:52,431.431 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:43:52,432.432 INFO    ] No update needed
[2026-08-29 21:43:52,433.433 INFO    ] Checking for camera pi updates...
[2026-08-29 21:43:52,454.454 INFO    ] 200
[2026-08-29 21:43:52,456.456 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:43:52,480.480 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:43:52,560.560 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:43:52,562.562 INFO    ] No camera update needed
[2026-08-29 21:43:52,565.565 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:43:52,567.567 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:43:52,572.572 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:43:52,577.577 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:43:54,617.617 INFO    ] ================================================
[2026-08-29 21:43:54,633.633 INFO    ] Launching Daemon at Sat Aug 29 21:43:54 IST 2026
[2026-08-29 21:43:54,643.643 INFO    ] ================================================
[2026-08-29 21:43:55,314.314 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:43:55
[2026-08-29 21:43:55,833.833 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:43:55,986.986 INFO    ] Initializing speech engine...
[2026-08-29 21:43:55,991.991 INFO    ] 2026-08-29 21:43:55
[2026-08-29 21:43:56,202.202 INFO    ] 2026-08-29 21:43:56
[2026-08-29 21:43:56,232.232 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:43:56,357.357 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:43:56,421.421 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:43:56,543.543 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:43:56,603.603 INFO    ] time= 29/08/2026 21:43:56
[2026-08-29 21:43:56,643.643 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:43:56,662.662 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:43:56,798.798 INFO    ] No existing commands found in stream
[2026-08-29 21:44:01,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:44:01,817.817 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-08-29 21:44:05,905.905 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:44:05,906.906 INFO    ] Checking for system updates...
[2026-08-29 21:44:05,927.927 INFO    ] 200
[2026-08-29 21:44:05,929.929 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:44:05,962.962 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:44:05,963.963 INFO    ] No update needed
[2026-08-29 21:44:05,964.964 INFO    ] Checking for camera pi updates...
[2026-08-29 21:44:05,984.984 INFO    ] 200
[2026-08-29 21:44:05,986.986 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:44:06,010.010 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:44:06,114.114 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:44:06,116.116 INFO    ] No camera update needed
[2026-08-29 21:44:06,117.117 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:44:06,118.118 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:44:06,121.121 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:44:06,125.125 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:44:08,164.164 INFO    ] ================================================
[2026-08-29 21:44:08,179.179 INFO    ] Launching Daemon at Sat Aug 29 21:44:08 IST 2026
[2026-08-29 21:44:08,190.190 INFO    ] ================================================
[2026-08-29 21:44:08,559.559 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:44:08
[2026-08-29 21:44:08,871.871 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:44:09,015.015 INFO    ] Initializing speech engine...
[2026-08-29 21:44:09,019.019 INFO    ] 2026-08-29 21:44:09
[2026-08-29 21:44:09,260.260 INFO    ] 2026-08-29 21:44:09
[2026-08-29 21:44:09,316.316 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:44:09,482.482 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:44:09,489.489 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:44:09,641.641 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:44:09,681.681 INFO    ] time= 29/08/2026 21:44:09
[2026-08-29 21:44:09,697.697 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:44:09,715.715 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:44:09,814.814 INFO    ] No existing commands found in stream
[2026-08-29 21:44:14,836.836 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:44:14,839.839 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-08-29 21:44:15,390.390 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:44:15,391.391 INFO    ] Checking for system updates...
[2026-08-29 21:44:15,412.412 INFO    ] 200
[2026-08-29 21:44:15,414.414 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:44:15,444.444 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:44:15,445.445 INFO    ] No update needed
[2026-08-29 21:44:15,447.447 INFO    ] Checking for camera pi updates...
[2026-08-29 21:44:15,468.468 INFO    ] 200
[2026-08-29 21:44:15,469.469 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:44:15,495.495 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:44:15,594.594 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:44:15,596.596 INFO    ] No camera update needed
[2026-08-29 21:44:15,597.597 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:44:15,598.598 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:44:15,601.601 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:44:15,604.604 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:44:17,644.644 INFO    ] ================================================
[2026-08-29 21:44:17,659.659 INFO    ] Launching Daemon at Sat Aug 29 21:44:17 IST 2026
[2026-08-29 21:44:17,670.670 INFO    ] ================================================
[2026-08-29 21:44:18,132.132 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:44:18
[2026-08-29 21:44:18,718.718 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:44:18,991.991 INFO    ] Initializing speech engine...
[2026-08-29 21:44:18,998.998 INFO    ] 2026-08-29 21:44:18
[2026-08-29 21:44:19,247.247 INFO    ] 2026-08-29 21:44:19
[2026-08-29 21:44:19,292.292 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:44:19,480.480 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:44:19,493.493 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:44:19,618.618 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:44:19,624.624 INFO    ] time= 29/08/2026 21:44:19
[2026-08-29 21:44:19,644.644 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:44:19,670.670 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:44:19,749.749 INFO    ] No existing commands found in stream
[2026-08-29 21:44:24,762.762 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:44:24,765.765 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-08-29 21:44:25,425.425 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:44:25,427.427 INFO    ] Checking for system updates...
[2026-08-29 21:44:25,447.447 INFO    ] 200
[2026-08-29 21:44:25,448.448 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:44:25,482.482 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:44:25,483.483 INFO    ] No update needed
[2026-08-29 21:44:25,485.485 INFO    ] Checking for camera pi updates...
[2026-08-29 21:44:25,505.505 INFO    ] 200
[2026-08-29 21:44:25,506.506 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:44:25,530.530 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:44:25,617.617 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:44:25,619.619 INFO    ] No camera update needed
[2026-08-29 21:44:25,620.620 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:44:25,621.621 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:44:25,624.624 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:44:25,627.627 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:44:27,667.667 INFO    ] ================================================
[2026-08-29 21:44:27,683.683 INFO    ] Launching Daemon at Sat Aug 29 21:44:27 IST 2026
[2026-08-29 21:44:27,693.693 INFO    ] ================================================
[2026-08-29 21:44:28,279.279 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:44:28
[2026-08-29 21:44:28,903.903 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:44:29,181.181 INFO    ] Initializing speech engine...
[2026-08-29 21:44:29,188.188 INFO    ] 2026-08-29 21:44:29
[2026-08-29 21:44:29,449.449 INFO    ] 2026-08-29 21:44:29
[2026-08-29 21:44:29,480.480 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:44:29,646.646 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:44:29,670.670 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:44:29,803.803 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:44:29,810.810 INFO    ] time= 29/08/2026 21:44:29
[2026-08-29 21:44:29,851.851 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:44:29,877.877 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:44:29,986.986 INFO    ] No existing commands found in stream
[2026-08-29 21:44:35,013.013 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:44:35,016.016 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 21:44:38,435.435 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:44:38,437.437 INFO    ] Checking for system updates...
[2026-08-29 21:44:38,461.461 INFO    ] 200
[2026-08-29 21:44:38,463.463 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:44:38,499.499 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:44:38,500.500 INFO    ] No update needed
[2026-08-29 21:44:38,501.501 INFO    ] Checking for camera pi updates...
[2026-08-29 21:44:38,522.522 INFO    ] 200
[2026-08-29 21:44:38,523.523 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:44:38,553.553 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:44:38,648.648 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:44:38,651.651 INFO    ] No camera update needed
[2026-08-29 21:44:38,654.654 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:44:38,657.657 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:44:38,663.663 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:44:38,668.668 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:44:40,709.709 INFO    ] ================================================
[2026-08-29 21:44:40,724.724 INFO    ] Launching Daemon at Sat Aug 29 21:44:40 IST 2026
[2026-08-29 21:44:40,735.735 INFO    ] ================================================
[2026-08-29 21:44:41,317.317 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:44:41
[2026-08-29 21:44:41,800.800 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:44:41,945.945 INFO    ] Initializing speech engine...
[2026-08-29 21:44:41,950.950 INFO    ] 2026-08-29 21:44:41
[2026-08-29 21:44:42,153.153 INFO    ] 2026-08-29 21:44:42
[2026-08-29 21:44:42,181.181 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:44:42,309.309 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:44:42,366.366 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:44:42,496.496 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:44:42,542.542 INFO    ] time= 29/08/2026 21:44:42
[2026-08-29 21:44:42,575.575 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:44:42,596.596 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:44:42,668.668 INFO    ] No existing commands found in stream
[2026-08-29 21:44:47,677.677 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:44:47,680.680 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-08-29 21:44:48,320.320 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:44:48,321.321 INFO    ] Checking for system updates...
[2026-08-29 21:44:48,342.342 INFO    ] 200
[2026-08-29 21:44:48,343.343 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:44:48,373.373 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:44:48,374.374 INFO    ] No update needed
[2026-08-29 21:44:48,375.375 INFO    ] Checking for camera pi updates...
[2026-08-29 21:44:48,395.395 INFO    ] 200
[2026-08-29 21:44:48,396.396 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:44:48,419.419 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:44:48,522.522 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:44:48,524.524 INFO    ] No camera update needed
[2026-08-29 21:44:48,527.527 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:44:48,529.529 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:44:48,535.535 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:44:48,540.540 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:44:50,583.583 INFO    ] ================================================
[2026-08-29 21:44:50,598.598 INFO    ] Launching Daemon at Sat Aug 29 21:44:50 IST 2026
[2026-08-29 21:44:50,609.609 INFO    ] ================================================
[2026-08-29 21:44:51,191.191 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:44:51
[2026-08-29 21:44:51,790.790 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:44:52,069.069 INFO    ] Initializing speech engine...
[2026-08-29 21:44:52,078.078 INFO    ] 2026-08-29 21:44:52
[2026-08-29 21:44:52,337.337 INFO    ] 2026-08-29 21:44:52
[2026-08-29 21:44:52,388.388 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:44:52,534.534 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:44:52,557.557 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:44:52,686.686 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:44:52,695.695 INFO    ] time= 29/08/2026 21:44:52
[2026-08-29 21:44:52,702.702 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:44:52,753.753 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:44:52,875.875 INFO    ] No existing commands found in stream
[2026-08-29 21:44:57,905.905 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:44:57,907.907 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-08-29 21:45:02,048.048 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:45:02,053.053 INFO    ] Checking for system updates...
[2026-08-29 21:45:02,104.104 INFO    ] 200
[2026-08-29 21:45:02,112.112 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:45:02,178.178 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:45:02,181.181 INFO    ] No update needed
[2026-08-29 21:45:02,185.185 INFO    ] Checking for camera pi updates...
[2026-08-29 21:45:02,227.227 INFO    ] 200
[2026-08-29 21:45:02,230.230 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:45:02,282.282 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:45:02,545.545 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:45:02,548.548 INFO    ] No camera update needed
[2026-08-29 21:45:02,551.551 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:45:02,554.554 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:45:02,560.560 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:45:02,566.566 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:45:04,608.608 INFO    ] ================================================
[2026-08-29 21:45:04,624.624 INFO    ] Launching Daemon at Sat Aug 29 21:45:04 IST 2026
[2026-08-29 21:45:04,634.634 INFO    ] ================================================
[2026-08-29 21:45:05,259.259 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:45:05
[2026-08-29 21:45:05,949.949 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:45:06,251.251 INFO    ] Initializing speech engine...
[2026-08-29 21:45:06,264.264 INFO    ] 2026-08-29 21:45:06
[2026-08-29 21:45:06,521.521 INFO    ] 2026-08-29 21:45:06
[2026-08-29 21:45:06,592.592 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:45:06,812.812 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:45:06,821.821 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:45:06,954.954 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:45:07,001.001 INFO    ] time= 29/08/2026 21:45:06
[2026-08-29 21:45:07,056.056 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:45:07,089.089 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:45:07,141.141 INFO    ] No existing commands found in stream
[2026-08-29 21:45:12,153.153 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:45:12,156.156 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-08-29 21:45:15,974.974 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:45:15,977.977 INFO    ] Checking for system updates...
[2026-08-29 21:45:16,013.013 INFO    ] 200
[2026-08-29 21:45:16,016.016 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:45:16,068.068 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:45:16,071.071 INFO    ] No update needed
[2026-08-29 21:45:16,073.073 INFO    ] Checking for camera pi updates...
[2026-08-29 21:45:16,107.107 INFO    ] 200
[2026-08-29 21:45:16,109.109 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:45:16,150.150 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:45:16,228.228 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:45:16,230.230 INFO    ] No camera update needed
[2026-08-29 21:45:16,233.233 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:45:16,235.235 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:45:16,241.241 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:45:16,246.246 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:45:18,286.286 INFO    ] ================================================
[2026-08-29 21:45:18,301.301 INFO    ] Launching Daemon at Sat Aug 29 21:45:18 IST 2026
[2026-08-29 21:45:18,313.313 INFO    ] ================================================
[2026-08-29 21:45:18,939.939 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:45:18
[2026-08-29 21:45:19,284.284 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:45:19,483.483 INFO    ] Initializing speech engine...
[2026-08-29 21:45:19,498.498 INFO    ] 2026-08-29 21:45:19
[2026-08-29 21:45:19,816.816 INFO    ] 2026-08-29 21:45:19
[2026-08-29 21:45:19,898.898 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:45:20,055.055 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:45:20,060.060 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:45:20,195.195 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:45:20,261.261 INFO    ] time= 29/08/2026 21:45:20
[2026-08-29 21:45:20,321.321 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:45:20,331.331 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:45:20,458.458 INFO    ] No existing commands found in stream
[2026-08-29 21:45:25,484.484 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:45:25,487.487 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-08-29 21:45:27,262.262 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:45:27,266.266 INFO    ] Checking for system updates...
[2026-08-29 21:45:27,303.303 INFO    ] 200
[2026-08-29 21:45:27,306.306 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:45:27,369.369 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:45:27,372.372 INFO    ] No update needed
[2026-08-29 21:45:27,375.375 INFO    ] Checking for camera pi updates...
[2026-08-29 21:45:27,412.412 INFO    ] 200
[2026-08-29 21:45:27,415.415 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:45:27,462.462 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:45:27,514.514 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:45:27,517.517 INFO    ] No camera update needed
[2026-08-29 21:45:27,520.520 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:45:27,523.523 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:45:27,529.529 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:45:27,535.535 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:45:29,577.577 INFO    ] ================================================
[2026-08-29 21:45:29,593.593 INFO    ] Launching Daemon at Sat Aug 29 21:45:29 IST 2026
[2026-08-29 21:45:29,604.604 INFO    ] ================================================
[2026-08-29 21:45:29,964.964 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:45:29
[2026-08-29 21:45:30,281.281 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:45:30,419.419 INFO    ] Initializing speech engine...
[2026-08-29 21:45:30,432.432 INFO    ] 2026-08-29 21:45:30
[2026-08-29 21:45:30,653.653 INFO    ] 2026-08-29 21:45:30
[2026-08-29 21:45:30,684.684 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:45:30,840.840 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:45:30,852.852 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:45:30,999.999 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:45:31,006.006 INFO    ] time= 29/08/2026 21:45:31
[2026-08-29 21:45:31,030.030 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:45:31,050.050 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:45:31,155.155 INFO    ] No existing commands found in stream
[2026-08-29 21:45:36,185.185 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:45:36,195.195 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-08-29 21:45:38,374.374 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:45:38,376.376 INFO    ] Checking for system updates...
[2026-08-29 21:45:38,397.397 INFO    ] 200
[2026-08-29 21:45:38,398.398 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:45:38,430.430 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:45:38,432.432 INFO    ] No update needed
[2026-08-29 21:45:38,433.433 INFO    ] Checking for camera pi updates...
[2026-08-29 21:45:38,454.454 INFO    ] 200
[2026-08-29 21:45:38,455.455 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:45:38,489.489 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:45:38,601.601 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:45:38,603.603 INFO    ] No camera update needed
[2026-08-29 21:45:38,606.606 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:45:38,608.608 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:45:38,613.613 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:45:38,618.618 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:45:40,659.659 INFO    ] ================================================
[2026-08-29 21:45:40,674.674 INFO    ] Launching Daemon at Sat Aug 29 21:45:40 IST 2026
[2026-08-29 21:45:40,685.685 INFO    ] ================================================
[2026-08-29 21:45:41,254.254 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:45:41
[2026-08-29 21:45:41,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:45:41,809.809 INFO    ] Initializing speech engine...
[2026-08-29 21:45:41,813.813 INFO    ] 2026-08-29 21:45:41
[2026-08-29 21:45:42,035.035 INFO    ] 2026-08-29 21:45:42
[2026-08-29 21:45:42,074.074 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:45:42,208.208 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:45:42,227.227 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:45:42,389.389 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:45:42,428.428 INFO    ] time= 29/08/2026 21:45:42
[2026-08-29 21:45:42,490.490 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:45:42,525.525 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:45:42,607.607 INFO    ] No existing commands found in stream
[2026-08-29 21:45:47,617.617 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:45:47,620.620 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-08-29 21:45:51,939.939 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:45:51,941.941 INFO    ] Checking for system updates...
[2026-08-29 21:45:51,961.961 INFO    ] 200
[2026-08-29 21:45:51,963.963 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:45:51,994.994 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:45:51,995.995 INFO    ] No update needed
[2026-08-29 21:45:51,996.996 INFO    ] Checking for camera pi updates...
[2026-08-29 21:45:52,015.015 INFO    ] 200
[2026-08-29 21:45:52,017.017 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:45:52,042.042 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:45:52,126.126 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:45:52,129.129 INFO    ] No camera update needed
[2026-08-29 21:45:52,131.131 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:45:52,133.133 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:45:52,138.138 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:45:52,143.143 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:45:54,184.184 INFO    ] ================================================
[2026-08-29 21:45:54,199.199 INFO    ] Launching Daemon at Sat Aug 29 21:45:54 IST 2026
[2026-08-29 21:45:54,210.210 INFO    ] ================================================
[2026-08-29 21:45:54,876.876 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:45:54
[2026-08-29 21:45:55,335.335 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:45:55,488.488 INFO    ] Initializing speech engine...
[2026-08-29 21:45:55,494.494 INFO    ] 2026-08-29 21:45:55
[2026-08-29 21:45:55,711.711 INFO    ] 2026-08-29 21:45:55
[2026-08-29 21:45:55,794.794 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:45:55,950.950 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:45:55,957.957 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:45:56,111.111 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:45:56,166.166 INFO    ] time= 29/08/2026 21:45:56
[2026-08-29 21:45:56,219.219 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:45:56,238.238 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:45:56,341.341 INFO    ] No existing commands found in stream
[2026-08-29 21:46:01,369.369 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:46:01,373.373 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-08-29 21:46:04,009.009 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:46:04,012.012 INFO    ] Checking for system updates...
[2026-08-29 21:46:04,049.049 INFO    ] 200
[2026-08-29 21:46:04,052.052 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:46:04,107.107 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:46:04,110.110 INFO    ] No update needed
[2026-08-29 21:46:04,113.113 INFO    ] Checking for camera pi updates...
[2026-08-29 21:46:04,147.147 INFO    ] 200
[2026-08-29 21:46:04,150.150 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:46:04,193.193 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:46:04,279.279 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:46:04,282.282 INFO    ] No camera update needed
[2026-08-29 21:46:04,285.285 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:46:04,287.287 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:46:04,294.294 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:46:04,300.300 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:46:06,344.344 INFO    ] ================================================
[2026-08-29 21:46:06,365.365 INFO    ] Launching Daemon at Sat Aug 29 21:46:06 IST 2026
[2026-08-29 21:46:06,379.379 INFO    ] ================================================
[2026-08-29 21:46:06,878.878 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:46:06
[2026-08-29 21:46:07,480.480 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:46:07,761.761 INFO    ] Initializing speech engine...
[2026-08-29 21:46:07,768.768 INFO    ] 2026-08-29 21:46:07
[2026-08-29 21:46:08,016.016 INFO    ] 2026-08-29 21:46:08
[2026-08-29 21:46:08,083.083 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:46:08,309.309 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:46:08,318.318 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:46:08,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:46:08,498.498 INFO    ] time= 29/08/2026 21:46:08
[2026-08-29 21:46:08,552.552 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:46:08,587.587 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:46:08,638.638 INFO    ] No existing commands found in stream
[2026-08-29 21:46:13,650.650 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:46:13,653.653 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-08-29 21:46:15,179.179 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:46:15,181.181 INFO    ] Checking for system updates...
[2026-08-29 21:46:15,203.203 INFO    ] 200
[2026-08-29 21:46:15,204.204 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:46:15,237.237 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:46:15,238.238 INFO    ] No update needed
[2026-08-29 21:46:15,239.239 INFO    ] Checking for camera pi updates...
[2026-08-29 21:46:15,259.259 INFO    ] 200
[2026-08-29 21:46:15,260.260 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:46:15,283.283 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:46:15,366.366 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:46:15,367.367 INFO    ] No camera update needed
[2026-08-29 21:46:15,368.368 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:46:15,370.370 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:46:15,373.373 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:46:15,375.375 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:46:17,414.414 INFO    ] ================================================
[2026-08-29 21:46:17,429.429 INFO    ] Launching Daemon at Sat Aug 29 21:46:17 IST 2026
[2026-08-29 21:46:17,441.441 INFO    ] ================================================
[2026-08-29 21:46:17,841.841 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:46:17
[2026-08-29 21:46:18,430.430 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:46:18,703.703 INFO    ] Initializing speech engine...
[2026-08-29 21:46:18,712.712 INFO    ] 2026-08-29 21:46:18
[2026-08-29 21:46:18,967.967 INFO    ] 2026-08-29 21:46:18
[2026-08-29 21:46:19,002.002 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:46:19,181.181 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:46:19,193.193 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:46:19,323.323 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:46:19,347.347 INFO    ] time= 29/08/2026 21:46:19
[2026-08-29 21:46:19,352.352 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:46:19,359.359 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:46:19,424.424 INFO    ] No existing commands found in stream
[2026-08-29 21:46:24,437.437 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:46:24,439.439 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-08-29 21:46:28,745.745 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:46:28,746.746 INFO    ] Checking for system updates...
[2026-08-29 21:46:28,767.767 INFO    ] 200
[2026-08-29 21:46:28,769.769 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:46:28,801.801 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:46:28,802.802 INFO    ] No update needed
[2026-08-29 21:46:28,804.804 INFO    ] Checking for camera pi updates...
[2026-08-29 21:46:28,826.826 INFO    ] 200
[2026-08-29 21:46:28,828.828 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:46:28,851.851 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:46:28,940.940 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:46:28,942.942 INFO    ] No camera update needed
[2026-08-29 21:46:28,943.943 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:46:28,944.944 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:46:28,947.947 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:46:28,950.950 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:46:30,991.991 INFO    ] ================================================
[2026-08-29 21:46:31,007.007 INFO    ] Launching Daemon at Sat Aug 29 21:46:31 IST 2026
[2026-08-29 21:46:31,018.018 INFO    ] ================================================
[2026-08-29 21:46:31,379.379 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:46:31
[2026-08-29 21:46:31,814.814 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:46:32,129.129 INFO    ] Initializing speech engine...
[2026-08-29 21:46:32,141.141 INFO    ] 2026-08-29 21:46:32
[2026-08-29 21:46:32,424.424 INFO    ] 2026-08-29 21:46:32
[2026-08-29 21:46:32,462.462 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:46:32,640.640 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:46:32,647.647 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:46:32,766.766 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:46:32,774.774 INFO    ] time= 29/08/2026 21:46:32
[2026-08-29 21:46:32,794.794 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:46:32,815.815 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:46:32,890.890 INFO    ] No existing commands found in stream
[2026-08-29 21:46:37,903.903 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:46:37,906.906 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-08-29 21:46:41,898.898 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:46:41,899.899 INFO    ] Checking for system updates...
[2026-08-29 21:46:41,919.919 INFO    ] 200
[2026-08-29 21:46:41,921.921 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:46:41,950.950 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:46:41,952.952 INFO    ] No update needed
[2026-08-29 21:46:41,953.953 INFO    ] Checking for camera pi updates...
[2026-08-29 21:46:41,973.973 INFO    ] 200
[2026-08-29 21:46:41,974.974 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:46:42,001.001 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:46:42,110.110 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:46:42,113.113 INFO    ] No camera update needed
[2026-08-29 21:46:42,115.115 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:46:42,117.117 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:46:42,123.123 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:46:42,128.128 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:46:44,169.169 INFO    ] ================================================
[2026-08-29 21:46:44,185.185 INFO    ] Launching Daemon at Sat Aug 29 21:46:44 IST 2026
[2026-08-29 21:46:44,196.196 INFO    ] ================================================
[2026-08-29 21:46:44,765.765 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:46:44
[2026-08-29 21:46:45,252.252 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:46:45,395.395 INFO    ] Initializing speech engine...
[2026-08-29 21:46:45,399.399 INFO    ] 2026-08-29 21:46:45
[2026-08-29 21:46:45,589.589 INFO    ] 2026-08-29 21:46:45
[2026-08-29 21:46:45,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:46:45,858.858 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:46:45,868.868 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:46:46,019.019 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:46:46,035.035 INFO    ] time= 29/08/2026 21:46:46
[2026-08-29 21:46:46,075.075 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:46:46,124.124 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:46:46,194.194 INFO    ] No existing commands found in stream
[2026-08-29 21:46:51,204.204 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:46:51,207.207 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-08-29 21:46:55,396.396 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:46:55,398.398 INFO    ] Checking for system updates...
[2026-08-29 21:46:55,419.419 INFO    ] 200
[2026-08-29 21:46:55,421.421 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:46:55,450.450 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:46:55,452.452 INFO    ] No update needed
[2026-08-29 21:46:55,453.453 INFO    ] Checking for camera pi updates...
[2026-08-29 21:46:55,474.474 INFO    ] 200
[2026-08-29 21:46:55,475.475 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:46:55,497.497 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:46:55,594.594 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:46:55,596.596 INFO    ] No camera update needed
[2026-08-29 21:46:55,597.597 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:46:55,598.598 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:46:55,601.601 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:46:55,604.604 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:46:57,643.643 INFO    ] ================================================
[2026-08-29 21:46:57,660.660 INFO    ] Launching Daemon at Sat Aug 29 21:46:57 IST 2026
[2026-08-29 21:46:57,671.671 INFO    ] ================================================
[2026-08-29 21:46:58,017.017 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:46:58
[2026-08-29 21:46:58,334.334 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:46:58,599.599 INFO    ] Initializing speech engine...
[2026-08-29 21:46:58,606.606 INFO    ] 2026-08-29 21:46:58
[2026-08-29 21:46:58,869.869 INFO    ] 2026-08-29 21:46:58
[2026-08-29 21:46:58,900.900 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:46:59,065.065 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:46:59,088.088 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:46:59,195.195 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:46:59,216.216 INFO    ] time= 29/08/2026 21:46:59
[2026-08-29 21:46:59,232.232 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:46:59,237.237 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:46:59,306.306 INFO    ] No existing commands found in stream
[2026-08-29 21:47:04,322.322 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:47:04,325.325 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-08-29 21:47:07,969.969 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:47:07,970.970 INFO    ] Checking for system updates...
[2026-08-29 21:47:07,991.991 INFO    ] 200
[2026-08-29 21:47:07,992.992 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:47:08,022.022 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:47:08,024.024 INFO    ] No update needed
[2026-08-29 21:47:08,025.025 INFO    ] Checking for camera pi updates...
[2026-08-29 21:47:08,044.044 INFO    ] 200
[2026-08-29 21:47:08,045.045 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:47:08,068.068 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:47:08,242.242 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:47:08,243.243 INFO    ] No camera update needed
[2026-08-29 21:47:08,244.244 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:47:08,246.246 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:47:08,249.249 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:47:08,251.251 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:47:10,290.290 INFO    ] ================================================
[2026-08-29 21:47:10,306.306 INFO    ] Launching Daemon at Sat Aug 29 21:47:10 IST 2026
[2026-08-29 21:47:10,317.317 INFO    ] ================================================
[2026-08-29 21:47:10,666.666 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:47:10
[2026-08-29 21:47:10,978.978 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:47:11,111.111 INFO    ] Initializing speech engine...
[2026-08-29 21:47:11,125.125 INFO    ] 2026-08-29 21:47:11
[2026-08-29 21:47:11,309.309 INFO    ] 2026-08-29 21:47:11
[2026-08-29 21:47:11,338.338 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:47:11,486.486 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:47:11,544.544 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:47:11,681.681 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:47:11,728.728 INFO    ] time= 29/08/2026 21:47:11
[2026-08-29 21:47:11,761.761 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:47:11,782.782 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:47:11,854.854 INFO    ] No existing commands found in stream
[2026-08-29 21:47:16,864.864 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:47:16,867.867 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-08-29 21:47:18,928.928 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:47:18,929.929 INFO    ] Checking for system updates...
[2026-08-29 21:47:18,951.951 INFO    ] 200
[2026-08-29 21:47:18,952.952 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:47:18,984.984 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:47:18,985.985 INFO    ] No update needed
[2026-08-29 21:47:18,986.986 INFO    ] Checking for camera pi updates...
[2026-08-29 21:47:19,005.005 INFO    ] 200
[2026-08-29 21:47:19,006.006 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:47:19,031.031 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:47:19,154.154 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:47:19,155.155 INFO    ] No camera update needed
[2026-08-29 21:47:19,156.156 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:47:19,158.158 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:47:19,160.160 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:47:19,163.163 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:47:21,203.203 INFO    ] ================================================
[2026-08-29 21:47:21,219.219 INFO    ] Launching Daemon at Sat Aug 29 21:47:21 IST 2026
[2026-08-29 21:47:21,229.229 INFO    ] ================================================
[2026-08-29 21:47:21,740.740 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:47:21
[2026-08-29 21:47:22,323.323 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:47:22,571.571 INFO    ] Initializing speech engine...
[2026-08-29 21:47:22,584.584 INFO    ] 2026-08-29 21:47:22
[2026-08-29 21:47:22,846.846 INFO    ] 2026-08-29 21:47:22
[2026-08-29 21:47:22,881.881 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:47:23,053.053 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:47:23,067.067 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:47:23,177.177 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:47:23,196.196 INFO    ] time= 29/08/2026 21:47:23
[2026-08-29 21:47:23,216.216 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:47:23,224.224 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:47:23,295.295 INFO    ] No existing commands found in stream
[2026-08-29 21:47:28,330.330 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:47:28,333.333 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-08-29 21:47:31,639.639 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:47:31,642.642 INFO    ] Checking for system updates...
[2026-08-29 21:47:31,682.682 INFO    ] 200
[2026-08-29 21:47:31,684.684 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:47:31,741.741 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:47:31,744.744 INFO    ] No update needed
[2026-08-29 21:47:31,747.747 INFO    ] Checking for camera pi updates...
[2026-08-29 21:47:31,782.782 INFO    ] 200
[2026-08-29 21:47:31,785.785 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:47:31,832.832 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:47:31,907.907 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:47:31,910.910 INFO    ] No camera update needed
[2026-08-29 21:47:31,912.912 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:47:31,915.915 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:47:31,921.921 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:47:31,926.926 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:47:33,968.968 INFO    ] ================================================
[2026-08-29 21:47:33,984.984 INFO    ] Launching Daemon at Sat Aug 29 21:47:33 IST 2026
[2026-08-29 21:47:34,995.995 INFO    ] ================================================
[2026-08-29 21:47:34,587.587 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:47:34
[2026-08-29 21:47:35,124.124 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:47:35,404.404 INFO    ] Initializing speech engine...
[2026-08-29 21:47:35,418.418 INFO    ] 2026-08-29 21:47:35
[2026-08-29 21:47:35,739.739 INFO    ] 2026-08-29 21:47:35
[2026-08-29 21:47:35,775.775 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:47:35,926.926 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:47:35,932.932 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:47:36,097.097 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:47:36,106.106 INFO    ] time= 29/08/2026 21:47:36
[2026-08-29 21:47:36,112.112 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:47:36,117.117 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:47:36,188.188 INFO    ] No existing commands found in stream
[2026-08-29 21:47:41,199.199 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:47:41,202.202 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-08-29 21:47:46,295.295 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:47:46,297.297 INFO    ] Checking for system updates...
[2026-08-29 21:47:46,336.336 INFO    ] 200
[2026-08-29 21:47:46,338.338 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:47:46,406.406 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:47:46,409.409 INFO    ] No update needed
[2026-08-29 21:47:46,411.411 INFO    ] Checking for camera pi updates...
[2026-08-29 21:47:46,451.451 INFO    ] 200
[2026-08-29 21:47:46,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:47:46,499.499 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:47:46,569.569 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:47:46,571.571 INFO    ] No camera update needed
[2026-08-29 21:47:46,574.574 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:47:46,576.576 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:47:46,581.581 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:47:46,586.586 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:47:48,628.628 INFO    ] ================================================
[2026-08-29 21:47:48,645.645 INFO    ] Launching Daemon at Sat Aug 29 21:47:48 IST 2026
[2026-08-29 21:47:48,657.657 INFO    ] ================================================
[2026-08-29 21:47:49,166.166 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:47:49
[2026-08-29 21:47:49,479.479 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:47:49,723.723 INFO    ] Initializing speech engine...
[2026-08-29 21:47:49,753.753 INFO    ] 2026-08-29 21:47:49
[2026-08-29 21:47:50,023.023 INFO    ] 2026-08-29 21:47:50
[2026-08-29 21:47:50,089.089 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:47:51,331.331 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:47:51,362.362 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:47:51,453.453 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:47:51,460.460 INFO    ] time= 29/08/2026 21:47:51
[2026-08-29 21:47:51,465.465 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:47:51,471.471 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:47:51,527.527 INFO    ] No existing commands found in stream
[2026-08-29 21:47:56,535.535 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:47:56,538.538 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-08-29 21:47:58,880.880 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:47:58,882.882 INFO    ] Checking for system updates...
[2026-08-29 21:47:58,903.903 INFO    ] 200
[2026-08-29 21:47:58,904.904 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:47:58,937.937 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:47:58,938.938 INFO    ] No update needed
[2026-08-29 21:47:58,939.939 INFO    ] Checking for camera pi updates...
[2026-08-29 21:47:58,960.960 INFO    ] 200
[2026-08-29 21:47:58,962.962 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:47:58,985.985 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:47:59,074.074 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:47:59,075.075 INFO    ] No camera update needed
[2026-08-29 21:47:59,076.076 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:47:59,077.077 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:47:59,080.080 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:47:59,083.083 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:48:01,121.121 INFO    ] ================================================
[2026-08-29 21:48:01,137.137 INFO    ] Launching Daemon at Sat Aug 29 21:48:01 IST 2026
[2026-08-29 21:48:01,149.149 INFO    ] ================================================
[2026-08-29 21:48:01,865.865 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:48:01
[2026-08-29 21:48:02,509.509 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:48:02,836.836 INFO    ] Initializing speech engine...
[2026-08-29 21:48:02,848.848 INFO    ] 2026-08-29 21:48:02
[2026-08-29 21:48:03,136.136 INFO    ] 2026-08-29 21:48:03
[2026-08-29 21:48:03,175.175 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:48:03,351.351 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:48:03,360.360 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:48:03,516.516 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:48:03,527.527 INFO    ] time= 29/08/2026 21:48:03
[2026-08-29 21:48:03,531.531 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:48:03,537.537 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:48:03,605.605 INFO    ] No existing commands found in stream
[2026-08-29 21:48:08,620.620 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:48:08,623.623 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-08-29 21:48:12,751.751 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:48:12,753.753 INFO    ] Checking for system updates...
[2026-08-29 21:48:12,773.773 INFO    ] 200
[2026-08-29 21:48:12,774.774 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:48:12,807.807 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:48:12,809.809 INFO    ] No update needed
[2026-08-29 21:48:12,810.810 INFO    ] Checking for camera pi updates...
[2026-08-29 21:48:12,829.829 INFO    ] 200
[2026-08-29 21:48:12,830.830 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:48:12,853.853 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:48:12,931.931 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:48:12,932.932 INFO    ] No camera update needed
[2026-08-29 21:48:12,934.934 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:48:12,935.935 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:48:12,938.938 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:48:12,941.941 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:48:14,979.979 INFO    ] ================================================
[2026-08-29 21:48:15,995.995 INFO    ] Launching Daemon at Sat Aug 29 21:48:14 IST 2026
[2026-08-29 21:48:15,009.009 INFO    ] ================================================
[2026-08-29 21:48:15,355.355 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:48:15
[2026-08-29 21:48:15,668.668 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:48:15,812.812 INFO    ] Initializing speech engine...
[2026-08-29 21:48:15,816.816 INFO    ] 2026-08-29 21:48:15
[2026-08-29 21:48:16,019.019 INFO    ] 2026-08-29 21:48:16
[2026-08-29 21:48:16,048.048 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:48:16,219.219 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:48:16,240.240 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:48:16,356.356 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:48:16,374.374 INFO    ] time= 29/08/2026 21:48:16
[2026-08-29 21:48:16,397.397 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:48:16,409.409 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:48:16,523.523 INFO    ] No existing commands found in stream
[2026-08-29 21:48:21,551.551 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:48:21,554.554 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-08-29 21:48:25,456.456 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:48:25,457.457 INFO    ] Checking for system updates...
[2026-08-29 21:48:25,480.480 INFO    ] 200
[2026-08-29 21:48:25,482.482 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:48:25,512.512 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:48:25,514.514 INFO    ] No update needed
[2026-08-29 21:48:25,515.515 INFO    ] Checking for camera pi updates...
[2026-08-29 21:48:25,535.535 INFO    ] 200
[2026-08-29 21:48:25,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:48:25,561.561 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:48:25,662.662 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:48:25,663.663 INFO    ] No camera update needed
[2026-08-29 21:48:25,665.665 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:48:25,666.666 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:48:25,669.669 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:48:25,671.671 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:48:27,714.714 INFO    ] ================================================
[2026-08-29 21:48:27,730.730 INFO    ] Launching Daemon at Sat Aug 29 21:48:27 IST 2026
[2026-08-29 21:48:27,741.741 INFO    ] ================================================
[2026-08-29 21:48:28,110.110 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:48:28
[2026-08-29 21:48:28,425.425 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:48:28,567.567 INFO    ] Initializing speech engine...
[2026-08-29 21:48:28,572.572 INFO    ] 2026-08-29 21:48:28
[2026-08-29 21:48:28,783.783 INFO    ] 2026-08-29 21:48:28
[2026-08-29 21:48:28,838.838 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:48:29,008.008 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:48:29,016.016 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:48:29,192.192 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:48:29,247.247 INFO    ] time= 29/08/2026 21:48:29
[2026-08-29 21:48:29,258.258 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:48:29,279.279 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:48:29,382.382 INFO    ] No existing commands found in stream
[2026-08-29 21:48:34,413.413 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:48:34,416.416 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-08-29 21:48:36,421.421 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:48:36,423.423 INFO    ] Checking for system updates...
[2026-08-29 21:48:36,445.445 INFO    ] 200
[2026-08-29 21:48:36,446.446 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:48:36,476.476 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:48:36,477.477 INFO    ] No update needed
[2026-08-29 21:48:36,479.479 INFO    ] Checking for camera pi updates...
[2026-08-29 21:48:36,499.499 INFO    ] 200
[2026-08-29 21:48:36,500.500 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:48:36,525.525 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:48:36,604.604 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:48:36,606.606 INFO    ] No camera update needed
[2026-08-29 21:48:36,607.607 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:48:36,608.608 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:48:36,611.611 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:48:36,614.614 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:48:38,654.654 INFO    ] ================================================
[2026-08-29 21:48:38,669.669 INFO    ] Launching Daemon at Sat Aug 29 21:48:38 IST 2026
[2026-08-29 21:48:38,681.681 INFO    ] ================================================
[2026-08-29 21:48:39,130.130 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:48:39
[2026-08-29 21:48:39,443.443 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:48:39,574.574 INFO    ] Initializing speech engine...
[2026-08-29 21:48:39,588.588 INFO    ] 2026-08-29 21:48:39
[2026-08-29 21:48:39,796.796 INFO    ] 2026-08-29 21:48:39
[2026-08-29 21:48:39,826.826 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:48:39,981.981 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:48:40,003.003 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:48:40,141.141 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:48:40,168.168 INFO    ] time= 29/08/2026 21:48:40
[2026-08-29 21:48:40,174.174 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:48:40,181.181 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:48:40,280.280 INFO    ] No existing commands found in stream
[2026-08-29 21:48:45,295.295 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:48:45,298.298 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 21:48:48,650.650 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:48:48,651.651 INFO    ] Checking for system updates...
[2026-08-29 21:48:48,674.674 INFO    ] 200
[2026-08-29 21:48:48,675.675 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:48:48,708.708 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:48:48,709.709 INFO    ] No update needed
[2026-08-29 21:48:48,710.710 INFO    ] Checking for camera pi updates...
[2026-08-29 21:48:48,730.730 INFO    ] 200
[2026-08-29 21:48:48,731.731 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:48:48,756.756 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:48:48,851.851 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:48:48,852.852 INFO    ] No camera update needed
[2026-08-29 21:48:48,854.854 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:48:48,855.855 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:48:48,858.858 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:48:48,861.861 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:48:50,900.900 INFO    ] ================================================
[2026-08-29 21:48:50,916.916 INFO    ] Launching Daemon at Sat Aug 29 21:48:50 IST 2026
[2026-08-29 21:48:50,927.927 INFO    ] ================================================
[2026-08-29 21:48:51,502.502 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:48:51
[2026-08-29 21:48:52,089.089 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:48:52,359.359 INFO    ] Initializing speech engine...
[2026-08-29 21:48:52,369.369 INFO    ] 2026-08-29 21:48:52
[2026-08-29 21:48:52,615.615 INFO    ] 2026-08-29 21:48:52
[2026-08-29 21:48:52,648.648 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:48:52,822.822 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:48:52,834.834 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:48:52,944.944 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:48:52,962.962 INFO    ] time= 29/08/2026 21:48:52
[2026-08-29 21:48:52,981.981 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:48:52,989.989 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:48:53,056.056 INFO    ] No existing commands found in stream
[2026-08-29 21:48:58,068.068 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:48:58,071.071 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 21:49:01,891.891 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:49:01,895.895 INFO    ] Checking for system updates...
[2026-08-29 21:49:01,939.939 INFO    ] 200
[2026-08-29 21:49:01,943.943 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:49:02,005.005 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:49:02,008.008 INFO    ] No update needed
[2026-08-29 21:49:02,011.011 INFO    ] Checking for camera pi updates...
[2026-08-29 21:49:02,055.055 INFO    ] 200
[2026-08-29 21:49:02,058.058 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:49:02,117.117 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:49:02,219.219 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:49:02,223.223 INFO    ] No camera update needed
[2026-08-29 21:49:02,226.226 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:49:02,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:49:02,238.238 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:49:02,245.245 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:49:04,288.288 INFO    ] ================================================
[2026-08-29 21:49:04,305.305 INFO    ] Launching Daemon at Sat Aug 29 21:49:04 IST 2026
[2026-08-29 21:49:04,316.316 INFO    ] ================================================
[2026-08-29 21:49:04,670.670 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:49:04
[2026-08-29 21:49:04,983.983 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:49:05,121.121 INFO    ] Initializing speech engine...
[2026-08-29 21:49:05,131.131 INFO    ] 2026-08-29 21:49:05
[2026-08-29 21:49:05,379.379 INFO    ] 2026-08-29 21:49:05
[2026-08-29 21:49:05,414.414 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:49:05,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:49:05,598.598 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:49:05,708.708 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:49:05,727.727 INFO    ] time= 29/08/2026 21:49:05
[2026-08-29 21:49:05,746.746 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:49:05,754.754 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:49:05,821.821 INFO    ] No existing commands found in stream
[2026-08-29 21:49:10,833.833 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:49:10,836.836 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-08-29 21:49:13,355.355 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:49:13,356.356 INFO    ] Checking for system updates...
[2026-08-29 21:49:13,377.377 INFO    ] 200
[2026-08-29 21:49:13,378.378 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:49:13,410.410 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:49:13,412.412 INFO    ] No update needed
[2026-08-29 21:49:13,413.413 INFO    ] Checking for camera pi updates...
[2026-08-29 21:49:13,434.434 INFO    ] 200
[2026-08-29 21:49:13,435.435 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:49:13,458.458 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:49:13,666.666 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:49:13,667.667 INFO    ] No camera update needed
[2026-08-29 21:49:13,668.668 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:49:13,670.670 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:49:13,673.673 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:49:13,675.675 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:49:15,715.715 INFO    ] ================================================
[2026-08-29 21:49:15,731.731 INFO    ] Launching Daemon at Sat Aug 29 21:49:15 IST 2026
[2026-08-29 21:49:15,743.743 INFO    ] ================================================
[2026-08-29 21:49:16,113.113 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:49:16
[2026-08-29 21:49:16,455.455 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:49:16,602.602 INFO    ] Initializing speech engine...
[2026-08-29 21:49:16,610.610 INFO    ] 2026-08-29 21:49:16
[2026-08-29 21:49:16,820.820 INFO    ] 2026-08-29 21:49:16
[2026-08-29 21:49:16,850.850 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:49:16,979.979 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:49:17,036.036 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:49:17,171.171 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:49:17,218.218 INFO    ] time= 29/08/2026 21:49:17
[2026-08-29 21:49:17,258.258 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:49:17,306.306 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:49:17,422.422 INFO    ] No existing commands found in stream
[2026-08-29 21:49:22,449.449 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:49:22,453.453 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-08-29 21:49:25,271.271 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:49:25,273.273 INFO    ] Checking for system updates...
[2026-08-29 21:49:25,293.293 INFO    ] 200
[2026-08-29 21:49:25,294.294 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:49:25,326.326 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:49:25,327.327 INFO    ] No update needed
[2026-08-29 21:49:25,329.329 INFO    ] Checking for camera pi updates...
[2026-08-29 21:49:25,348.348 INFO    ] 200
[2026-08-29 21:49:25,349.349 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:49:25,374.374 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:49:25,453.453 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:49:25,455.455 INFO    ] No camera update needed
[2026-08-29 21:49:25,456.456 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:49:25,457.457 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:49:25,460.460 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:49:25,463.463 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:49:27,501.501 INFO    ] ================================================
[2026-08-29 21:49:27,517.517 INFO    ] Launching Daemon at Sat Aug 29 21:49:27 IST 2026
[2026-08-29 21:49:27,528.528 INFO    ] ================================================
[2026-08-29 21:49:27,888.888 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:49:27
[2026-08-29 21:49:28,230.230 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:49:28,385.385 INFO    ] Initializing speech engine...
[2026-08-29 21:49:28,389.389 INFO    ] 2026-08-29 21:49:28
[2026-08-29 21:49:28,631.631 INFO    ] 2026-08-29 21:49:28
[2026-08-29 21:49:28,688.688 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:49:28,917.917 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:49:28,924.924 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:49:29,058.058 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:49:29,134.134 INFO    ] time= 29/08/2026 21:49:29
[2026-08-29 21:49:29,186.186 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:49:29,195.195 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:49:29,321.321 INFO    ] No existing commands found in stream
[2026-08-29 21:49:34,349.349 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:49:34,353.353 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-08-29 21:49:37,707.707 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:49:37,708.708 INFO    ] Checking for system updates...
[2026-08-29 21:49:37,729.729 INFO    ] 200
[2026-08-29 21:49:37,731.731 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:49:37,761.761 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:49:37,763.763 INFO    ] No update needed
[2026-08-29 21:49:37,764.764 INFO    ] Checking for camera pi updates...
[2026-08-29 21:49:37,785.785 INFO    ] 200
[2026-08-29 21:49:37,786.786 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:49:37,811.811 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:49:37,912.912 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:49:37,914.914 INFO    ] No camera update needed
[2026-08-29 21:49:37,915.915 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:49:37,916.916 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:49:37,919.919 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:49:37,922.922 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:49:39,962.962 INFO    ] ================================================
[2026-08-29 21:49:39,978.978 INFO    ] Launching Daemon at Sat Aug 29 21:49:39 IST 2026
[2026-08-29 21:49:39,990.990 INFO    ] ================================================
[2026-08-29 21:49:40,477.477 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:49:40
[2026-08-29 21:49:41,167.167 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:49:41,445.445 INFO    ] Initializing speech engine...
[2026-08-29 21:49:41,454.454 INFO    ] 2026-08-29 21:49:41
[2026-08-29 21:49:41,705.705 INFO    ] 2026-08-29 21:49:41
[2026-08-29 21:49:41,739.739 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:49:41,918.918 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:49:41,930.930 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:49:42,071.071 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:49:42,080.080 INFO    ] time= 29/08/2026 21:49:42
[2026-08-29 21:49:42,085.085 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:49:42,091.091 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:49:42,159.159 INFO    ] No existing commands found in stream
[2026-08-29 21:49:47,189.189 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:49:47,192.192 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-08-29 21:49:48,430.430 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:49:48,432.432 INFO    ] Checking for system updates...
[2026-08-29 21:49:48,453.453 INFO    ] 200
[2026-08-29 21:49:48,455.455 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:49:48,485.485 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:49:48,486.486 INFO    ] No update needed
[2026-08-29 21:49:48,487.487 INFO    ] Checking for camera pi updates...
[2026-08-29 21:49:48,508.508 INFO    ] 200
[2026-08-29 21:49:48,510.510 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:49:48,535.535 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:49:48,580.580 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:49:48,582.582 INFO    ] No camera update needed
[2026-08-29 21:49:48,583.583 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:49:48,584.584 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:49:48,587.587 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:49:48,590.590 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:49:50,630.630 INFO    ] ================================================
[2026-08-29 21:49:50,646.646 INFO    ] Launching Daemon at Sat Aug 29 21:49:50 IST 2026
[2026-08-29 21:49:50,658.658 INFO    ] ================================================
[2026-08-29 21:49:51,003.003 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:49:51
[2026-08-29 21:49:51,315.315 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:49:51,576.576 INFO    ] Initializing speech engine...
[2026-08-29 21:49:51,587.587 INFO    ] 2026-08-29 21:49:51
[2026-08-29 21:49:51,831.831 INFO    ] 2026-08-29 21:49:51
[2026-08-29 21:49:51,873.873 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:49:52,040.040 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:49:52,052.052 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:49:52,159.159 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:49:52,164.164 INFO    ] time= 29/08/2026 21:49:52
[2026-08-29 21:49:52,182.182 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:49:52,205.205 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:49:52,274.274 INFO    ] No existing commands found in stream
[2026-08-29 21:49:57,286.286 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:49:57,289.289 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 21:49:59,594.594 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:49:59,596.596 INFO    ] Checking for system updates...
[2026-08-29 21:49:59,617.617 INFO    ] 200
[2026-08-29 21:49:59,618.618 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:49:59,649.649 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:49:59,650.650 INFO    ] No update needed
[2026-08-29 21:49:59,652.652 INFO    ] Checking for camera pi updates...
[2026-08-29 21:49:59,674.674 INFO    ] 200
[2026-08-29 21:49:59,675.675 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:49:59,706.706 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:49:59,801.801 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:49:59,803.803 INFO    ] No camera update needed
[2026-08-29 21:49:59,806.806 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:49:59,808.808 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:49:59,813.813 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:49:59,818.818 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:50:01,859.859 INFO    ] ================================================
[2026-08-29 21:50:01,875.875 INFO    ] Launching Daemon at Sat Aug 29 21:50:01 IST 2026
[2026-08-29 21:50:01,886.886 INFO    ] ================================================
[2026-08-29 21:50:02,778.778 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:50:02
[2026-08-29 21:50:03,595.595 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:50:03,926.926 INFO    ] Initializing speech engine...
[2026-08-29 21:50:03,941.941 INFO    ] 2026-08-29 21:50:03
[2026-08-29 21:50:04,244.244 INFO    ] 2026-08-29 21:50:04
[2026-08-29 21:50:04,275.275 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:50:04,444.444 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:50:04,447.447 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:50:04,613.613 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:50:04,622.622 INFO    ] time= 29/08/2026 21:50:04
[2026-08-29 21:50:04,627.627 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:50:04,648.648 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:50:04,695.695 INFO    ] No existing commands found in stream
[2026-08-29 21:50:09,705.705 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:50:09,708.708 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 21:50:12,045.045 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:50:12,046.046 INFO    ] Checking for system updates...
[2026-08-29 21:50:12,067.067 INFO    ] 200
[2026-08-29 21:50:12,069.069 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:50:12,101.101 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:50:12,103.103 INFO    ] No update needed
[2026-08-29 21:50:12,105.105 INFO    ] Checking for camera pi updates...
[2026-08-29 21:50:12,125.125 INFO    ] 200
[2026-08-29 21:50:12,127.127 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:50:12,151.151 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:50:12,229.229 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:50:12,231.231 INFO    ] No camera update needed
[2026-08-29 21:50:12,232.232 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:50:12,234.234 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:50:12,237.237 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:50:12,240.240 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:50:14,280.280 INFO    ] ================================================
[2026-08-29 21:50:14,295.295 INFO    ] Launching Daemon at Sat Aug 29 21:50:14 IST 2026
[2026-08-29 21:50:14,307.307 INFO    ] ================================================
[2026-08-29 21:50:14,937.937 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:50:14
[2026-08-29 21:50:15,525.525 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:50:15,798.798 INFO    ] Initializing speech engine...
[2026-08-29 21:50:15,805.805 INFO    ] 2026-08-29 21:50:15
[2026-08-29 21:50:16,055.055 INFO    ] 2026-08-29 21:50:16
[2026-08-29 21:50:16,115.115 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:50:16,337.337 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:50:16,346.346 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:50:16,479.479 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:50:16,500.500 INFO    ] time= 29/08/2026 21:50:16
[2026-08-29 21:50:16,565.565 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:50:16,613.613 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:50:16,665.665 INFO    ] No existing commands found in stream
[2026-08-29 21:50:21,677.677 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:50:21,680.680 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-08-29 21:50:27,521.521 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:50:27,523.523 INFO    ] Checking for system updates...
[2026-08-29 21:50:27,543.543 INFO    ] 200
[2026-08-29 21:50:27,545.545 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:50:27,578.578 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:50:27,579.579 INFO    ] No update needed
[2026-08-29 21:50:27,581.581 INFO    ] Checking for camera pi updates...
[2026-08-29 21:50:27,602.602 INFO    ] 200
[2026-08-29 21:50:27,604.604 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:50:27,629.629 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:50:27,709.709 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:50:27,710.710 INFO    ] No camera update needed
[2026-08-29 21:50:27,712.712 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:50:27,713.713 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:50:27,717.717 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:50:27,720.720 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:50:29,760.760 INFO    ] ================================================
[2026-08-29 21:50:29,776.776 INFO    ] Launching Daemon at Sat Aug 29 21:50:29 IST 2026
[2026-08-29 21:50:29,787.787 INFO    ] ================================================
[2026-08-29 21:50:30,147.147 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:50:30
[2026-08-29 21:50:30,472.472 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:50:30,750.750 INFO    ] Initializing speech engine...
[2026-08-29 21:50:30,756.756 INFO    ] 2026-08-29 21:50:30
[2026-08-29 21:50:31,017.017 INFO    ] 2026-08-29 21:50:31
[2026-08-29 21:50:31,072.072 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:50:31,293.293 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:50:31,303.303 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:50:31,434.434 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:50:31,476.476 INFO    ] time= 29/08/2026 21:50:31
[2026-08-29 21:50:31,535.535 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:50:31,566.566 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:50:31,622.622 INFO    ] No existing commands found in stream
[2026-08-29 21:50:36,634.634 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:50:36,637.637 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-08-29 21:50:40,487.487 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:50:40,489.489 INFO    ] Checking for system updates...
[2026-08-29 21:50:40,512.512 INFO    ] 200
[2026-08-29 21:50:40,514.514 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:50:40,544.544 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:50:40,545.545 INFO    ] No update needed
[2026-08-29 21:50:40,546.546 INFO    ] Checking for camera pi updates...
[2026-08-29 21:50:40,566.566 INFO    ] 200
[2026-08-29 21:50:40,567.567 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:50:40,590.590 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:50:40,673.673 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:50:40,674.674 INFO    ] No camera update needed
[2026-08-29 21:50:40,676.676 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:50:40,677.677 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:50:40,680.680 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:50:40,683.683 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:50:42,723.723 INFO    ] ================================================
[2026-08-29 21:50:42,740.740 INFO    ] Launching Daemon at Sat Aug 29 21:50:42 IST 2026
[2026-08-29 21:50:42,751.751 INFO    ] ================================================
[2026-08-29 21:50:43,294.294 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:50:43
[2026-08-29 21:50:43,879.879 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:50:44,148.148 INFO    ] Initializing speech engine...
[2026-08-29 21:50:44,156.156 INFO    ] 2026-08-29 21:50:44
[2026-08-29 21:50:44,404.404 INFO    ] 2026-08-29 21:50:44
[2026-08-29 21:50:44,439.439 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:50:44,611.611 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:50:44,622.622 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:50:44,731.731 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:50:44,736.736 INFO    ] time= 29/08/2026 21:50:44
[2026-08-29 21:50:44,754.754 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:50:44,776.776 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:50:44,849.849 INFO    ] No existing commands found in stream
[2026-08-29 21:50:49,864.864 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:50:49,866.866 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-08-29 21:50:53,976.976 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:50:53,979.979 INFO    ] Checking for system updates...
[2026-08-29 21:50:54,014.014 INFO    ] 200
[2026-08-29 21:50:54,017.017 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:50:54,069.069 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:50:54,072.072 INFO    ] No update needed
[2026-08-29 21:50:54,074.074 INFO    ] Checking for camera pi updates...
[2026-08-29 21:50:54,108.108 INFO    ] 200
[2026-08-29 21:50:54,110.110 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:50:54,157.157 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:50:54,265.265 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:50:54,266.266 INFO    ] No camera update needed
[2026-08-29 21:50:54,267.267 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:50:54,269.269 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:50:54,272.272 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:50:54,274.274 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:50:56,313.313 INFO    ] ================================================
[2026-08-29 21:50:56,329.329 INFO    ] Launching Daemon at Sat Aug 29 21:50:56 IST 2026
[2026-08-29 21:50:56,341.341 INFO    ] ================================================
[2026-08-29 21:50:56,709.709 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:50:56
[2026-08-29 21:50:57,049.049 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:50:57,180.180 INFO    ] Initializing speech engine...
[2026-08-29 21:50:57,183.183 INFO    ] 2026-08-29 21:50:57
[2026-08-29 21:50:57,379.379 INFO    ] 2026-08-29 21:50:57
[2026-08-29 21:50:57,436.436 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:50:57,583.583 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:50:57,596.596 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:50:57,708.708 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:50:57,728.728 INFO    ] time= 29/08/2026 21:50:57
[2026-08-29 21:50:57,750.750 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:50:57,756.756 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:50:57,828.828 INFO    ] No existing commands found in stream
[2026-08-29 21:51:02,844.844 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:51:02,847.847 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 21:51:03,863.863 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:51:03,865.865 INFO    ] Checking for system updates...
[2026-08-29 21:51:03,901.901 INFO    ] 200
[2026-08-29 21:51:03,904.904 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:51:03,956.956 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:51:03,958.958 INFO    ] No update needed
[2026-08-29 21:51:03,960.960 INFO    ] Checking for camera pi updates...
[2026-08-29 21:51:03,998.998 INFO    ] 200
[2026-08-29 21:51:04,000.000 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:51:04,042.042 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:51:04,122.122 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:51:04,124.124 INFO    ] No camera update needed
[2026-08-29 21:51:04,127.127 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:51:04,129.129 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:51:04,134.134 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:51:04,139.139 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:51:06,180.180 INFO    ] ================================================
[2026-08-29 21:51:06,196.196 INFO    ] Launching Daemon at Sat Aug 29 21:51:06 IST 2026
[2026-08-29 21:51:06,207.207 INFO    ] ================================================
[2026-08-29 21:51:06,766.766 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:51:06
[2026-08-29 21:51:07,350.350 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:51:07,602.602 INFO    ] Initializing speech engine...
[2026-08-29 21:51:07,625.625 INFO    ] 2026-08-29 21:51:07
[2026-08-29 21:51:07,882.882 INFO    ] 2026-08-29 21:51:07
[2026-08-29 21:51:07,918.918 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:51:08,093.093 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:51:08,108.108 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:51:08,261.261 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:51:08,271.271 INFO    ] time= 29/08/2026 21:51:08
[2026-08-29 21:51:08,278.278 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:51:08,305.305 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:51:08,429.429 INFO    ] No existing commands found in stream
[2026-08-29 21:51:13,459.459 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:51:13,462.462 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-08-29 21:51:14,640.640 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:51:14,641.641 INFO    ] Checking for system updates...
[2026-08-29 21:51:14,662.662 INFO    ] 200
[2026-08-29 21:51:14,663.663 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:51:14,695.695 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:51:14,697.697 INFO    ] No update needed
[2026-08-29 21:51:14,698.698 INFO    ] Checking for camera pi updates...
[2026-08-29 21:51:14,717.717 INFO    ] 200
[2026-08-29 21:51:14,719.719 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:51:14,742.742 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:51:14,831.831 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:51:14,833.833 INFO    ] No camera update needed
[2026-08-29 21:51:14,835.835 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:51:14,837.837 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:51:14,842.842 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:51:14,847.847 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:51:16,890.890 INFO    ] ================================================
[2026-08-29 21:51:16,905.905 INFO    ] Launching Daemon at Sat Aug 29 21:51:16 IST 2026
[2026-08-29 21:51:16,916.916 INFO    ] ================================================
[2026-08-29 21:51:17,505.505 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:51:17
[2026-08-29 21:51:17,985.985 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:51:18,119.119 INFO    ] Initializing speech engine...
[2026-08-29 21:51:18,127.127 INFO    ] 2026-08-29 21:51:18
[2026-08-29 21:51:18,353.353 INFO    ] 2026-08-29 21:51:18
[2026-08-29 21:51:18,442.442 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:51:18,619.619 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:51:18,629.629 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:51:18,770.770 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:51:18,788.788 INFO    ] time= 29/08/2026 21:51:18
[2026-08-29 21:51:18,825.825 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:51:18,884.884 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:51:18,945.945 INFO    ] No existing commands found in stream
[2026-08-29 21:51:23,955.955 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:51:23,958.958 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-08-29 21:51:26,351.351 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:51:26,353.353 INFO    ] Checking for system updates...
[2026-08-29 21:51:26,373.373 INFO    ] 200
[2026-08-29 21:51:26,374.374 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:51:26,405.405 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:51:26,406.406 INFO    ] No update needed
[2026-08-29 21:51:26,407.407 INFO    ] Checking for camera pi updates...
[2026-08-29 21:51:26,428.428 INFO    ] 200
[2026-08-29 21:51:26,429.429 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:51:26,472.472 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:51:26,677.677 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:51:26,679.679 INFO    ] No camera update needed
[2026-08-29 21:51:26,682.682 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:51:26,684.684 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:51:26,689.689 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:51:26,695.695 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:51:28,735.735 INFO    ] ================================================
[2026-08-29 21:51:28,751.751 INFO    ] Launching Daemon at Sat Aug 29 21:51:28 IST 2026
[2026-08-29 21:51:28,761.761 INFO    ] ================================================
[2026-08-29 21:51:29,426.426 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:51:29
[2026-08-29 21:51:29,835.835 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:51:29,990.990 INFO    ] Initializing speech engine...
[2026-08-29 21:51:29,996.996 INFO    ] 2026-08-29 21:51:29
[2026-08-29 21:51:30,201.201 INFO    ] 2026-08-29 21:51:30
[2026-08-29 21:51:30,229.229 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:51:30,353.353 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:51:30,415.415 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:51:30,553.553 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:51:30,620.620 INFO    ] time= 29/08/2026 21:51:30
[2026-08-29 21:51:30,644.644 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:51:30,651.651 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:51:30,718.718 INFO    ] No existing commands found in stream
[2026-08-29 21:51:35,739.739 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:51:35,743.743 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-08-29 21:51:38,649.649 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:51:38,651.651 INFO    ] Checking for system updates...
[2026-08-29 21:51:38,672.672 INFO    ] 200
[2026-08-29 21:51:38,673.673 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:51:38,703.703 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:51:38,705.705 INFO    ] No update needed
[2026-08-29 21:51:38,706.706 INFO    ] Checking for camera pi updates...
[2026-08-29 21:51:38,726.726 INFO    ] 200
[2026-08-29 21:51:38,727.727 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:51:38,752.752 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:51:38,846.846 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:51:38,847.847 INFO    ] No camera update needed
[2026-08-29 21:51:38,849.849 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:51:38,850.850 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:51:38,854.854 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:51:38,857.857 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:51:40,897.897 INFO    ] ================================================
[2026-08-29 21:51:40,913.913 INFO    ] Launching Daemon at Sat Aug 29 21:51:40 IST 2026
[2026-08-29 21:51:40,923.923 INFO    ] ================================================
[2026-08-29 21:51:41,406.406 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:51:41
[2026-08-29 21:51:41,991.991 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:51:42,262.262 INFO    ] Initializing speech engine...
[2026-08-29 21:51:42,270.270 INFO    ] 2026-08-29 21:51:42
[2026-08-29 21:51:42,520.520 INFO    ] 2026-08-29 21:51:42
[2026-08-29 21:51:42,555.555 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:51:42,731.731 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:51:42,737.737 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:51:42,857.857 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:51:42,877.877 INFO    ] time= 29/08/2026 21:51:42
[2026-08-29 21:51:42,897.897 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:51:42,905.905 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:51:42,974.974 INFO    ] No existing commands found in stream
[2026-08-29 21:51:47,986.986 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:51:47,989.989 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-08-29 21:51:48,495.495 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:51:48,497.497 INFO    ] Checking for system updates...
[2026-08-29 21:51:48,517.517 INFO    ] 200
[2026-08-29 21:51:48,518.518 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:51:48,560.560 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:51:48,562.562 INFO    ] No update needed
[2026-08-29 21:51:48,563.563 INFO    ] Checking for camera pi updates...
[2026-08-29 21:51:48,582.582 INFO    ] 200
[2026-08-29 21:51:48,584.584 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:51:48,607.607 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:51:48,696.696 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:51:48,698.698 INFO    ] No camera update needed
[2026-08-29 21:51:48,700.700 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:51:48,703.703 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:51:48,708.708 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:51:48,714.714 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:51:50,753.753 INFO    ] ================================================
[2026-08-29 21:51:50,768.768 INFO    ] Launching Daemon at Sat Aug 29 21:51:50 IST 2026
[2026-08-29 21:51:50,779.779 INFO    ] ================================================
[2026-08-29 21:51:51,354.354 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:51:51
[2026-08-29 21:51:51,870.870 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:51:52,008.008 INFO    ] Initializing speech engine...
[2026-08-29 21:51:52,018.018 INFO    ] 2026-08-29 21:51:52
[2026-08-29 21:51:52,221.221 INFO    ] 2026-08-29 21:51:52
[2026-08-29 21:51:52,255.255 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:51:52,400.400 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:51:52,419.419 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:51:52,584.584 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:51:52,621.621 INFO    ] time= 29/08/2026 21:51:52
[2026-08-29 21:51:52,627.627 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:51:52,648.648 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:51:52,752.752 INFO    ] No existing commands found in stream
[2026-08-29 21:51:57,782.782 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:51:57,785.785 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-08-29 21:52:01,504.504 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:52:01,508.508 INFO    ] Checking for system updates...
[2026-08-29 21:52:01,571.571 INFO    ] 200
[2026-08-29 21:52:01,574.574 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:52:01,666.666 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:52:01,669.669 INFO    ] No update needed
[2026-08-29 21:52:01,672.672 INFO    ] Checking for camera pi updates...
[2026-08-29 21:52:01,756.756 INFO    ] 200
[2026-08-29 21:52:01,759.759 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:52:01,823.823 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:52:01,907.907 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:52:01,909.909 INFO    ] No camera update needed
[2026-08-29 21:52:01,912.912 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:52:01,915.915 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:52:01,921.921 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:52:01,927.927 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:52:03,971.971 INFO    ] ================================================
[2026-08-29 21:52:03,986.986 INFO    ] Launching Daemon at Sat Aug 29 21:52:03 IST 2026
[2026-08-29 21:52:04,997.997 INFO    ] ================================================
[2026-08-29 21:52:04,592.592 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:52:04
[2026-08-29 21:52:04,908.908 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:52:05,051.051 INFO    ] Initializing speech engine...
[2026-08-29 21:52:05,056.056 INFO    ] 2026-08-29 21:52:05
[2026-08-29 21:52:05,268.268 INFO    ] 2026-08-29 21:52:05
[2026-08-29 21:52:05,347.347 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:52:05,500.500 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:52:05,509.509 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:52:05,643.643 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:52:05,669.669 INFO    ] time= 29/08/2026 21:52:05
[2026-08-29 21:52:05,733.733 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:52:05,776.776 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:52:05,829.829 INFO    ] No existing commands found in stream
[2026-08-29 21:52:10,841.841 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:52:10,845.845 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-08-29 21:52:14,929.929 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:52:14,931.931 INFO    ] Checking for system updates...
[2026-08-29 21:52:14,951.951 INFO    ] 200
[2026-08-29 21:52:14,953.953 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:52:14,982.982 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:52:14,983.983 INFO    ] No update needed
[2026-08-29 21:52:14,985.985 INFO    ] Checking for camera pi updates...
[2026-08-29 21:52:15,006.006 INFO    ] 200
[2026-08-29 21:52:15,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:52:15,031.031 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:52:15,133.133 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:52:15,135.135 INFO    ] No camera update needed
[2026-08-29 21:52:15,136.136 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:52:15,137.137 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:52:15,140.140 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:52:15,143.143 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:52:17,183.183 INFO    ] ================================================
[2026-08-29 21:52:17,198.198 INFO    ] Launching Daemon at Sat Aug 29 21:52:17 IST 2026
[2026-08-29 21:52:17,208.208 INFO    ] ================================================
[2026-08-29 21:52:17,563.563 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:52:17
[2026-08-29 21:52:17,878.878 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:52:18,022.022 INFO    ] Initializing speech engine...
[2026-08-29 21:52:18,032.032 INFO    ] 2026-08-29 21:52:18
[2026-08-29 21:52:18,250.250 INFO    ] 2026-08-29 21:52:18
[2026-08-29 21:52:18,281.281 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:52:18,415.415 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:52:18,429.429 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:52:18,578.578 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:52:18,627.627 INFO    ] time= 29/08/2026 21:52:18
[2026-08-29 21:52:18,665.665 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:52:18,718.718 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:52:18,821.821 INFO    ] No existing commands found in stream
[2026-08-29 21:52:23,830.830 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:52:23,838.838 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-08-29 21:52:26,234.234 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:52:26,236.236 INFO    ] Checking for system updates...
[2026-08-29 21:52:26,256.256 INFO    ] 200
[2026-08-29 21:52:26,257.257 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:52:26,290.290 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:52:26,291.291 INFO    ] No update needed
[2026-08-29 21:52:26,292.292 INFO    ] Checking for camera pi updates...
[2026-08-29 21:52:26,312.312 INFO    ] 200
[2026-08-29 21:52:26,313.313 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:52:26,336.336 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:52:26,387.387 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:52:26,389.389 INFO    ] No camera update needed
[2026-08-29 21:52:26,390.390 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:52:26,392.392 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:52:26,395.395 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:52:26,399.399 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:52:28,439.439 INFO    ] ================================================
[2026-08-29 21:52:28,454.454 INFO    ] Launching Daemon at Sat Aug 29 21:52:28 IST 2026
[2026-08-29 21:52:28,465.465 INFO    ] ================================================
[2026-08-29 21:52:29,037.037 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:52:29
[2026-08-29 21:52:29,601.601 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:52:29,815.815 INFO    ] Initializing speech engine...
[2026-08-29 21:52:29,824.824 INFO    ] 2026-08-29 21:52:29
[2026-08-29 21:52:30,076.076 INFO    ] 2026-08-29 21:52:30
[2026-08-29 21:52:30,143.143 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:52:30,287.287 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:52:30,300.300 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:52:30,434.434 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:52:30,454.454 INFO    ] time= 29/08/2026 21:52:30
[2026-08-29 21:52:30,458.458 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:52:30,464.464 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:52:30,530.530 INFO    ] No existing commands found in stream
[2026-08-29 21:52:35,542.542 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:52:35,545.545 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-08-29 21:52:39,174.174 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:52:39,176.176 INFO    ] Checking for system updates...
[2026-08-29 21:52:39,216.216 INFO    ] 200
[2026-08-29 21:52:39,219.219 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:52:39,273.273 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:52:39,275.275 INFO    ] No update needed
[2026-08-29 21:52:39,277.277 INFO    ] Checking for camera pi updates...
[2026-08-29 21:52:39,311.311 INFO    ] 200
[2026-08-29 21:52:39,313.313 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:52:39,353.353 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:52:39,432.432 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:52:39,434.434 INFO    ] No camera update needed
[2026-08-29 21:52:39,436.436 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:52:39,439.439 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:52:39,444.444 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:52:39,448.448 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:52:41,490.490 INFO    ] ================================================
[2026-08-29 21:52:41,506.506 INFO    ] Launching Daemon at Sat Aug 29 21:52:41 IST 2026
[2026-08-29 21:52:41,517.517 INFO    ] ================================================
[2026-08-29 21:52:41,850.850 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:52:41
[2026-08-29 21:52:42,162.162 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:52:42,294.294 INFO    ] Initializing speech engine...
[2026-08-29 21:52:42,299.299 INFO    ] 2026-08-29 21:52:42
[2026-08-29 21:52:42,490.490 INFO    ] 2026-08-29 21:52:42
[2026-08-29 21:52:42,535.535 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:52:42,658.658 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:52:42,660.660 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:52:42,771.771 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:52:42,781.781 INFO    ] time= 29/08/2026 21:52:42
[2026-08-29 21:52:42,785.785 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:52:42,802.802 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:52:42,871.871 INFO    ] No existing commands found in stream
[2026-08-29 21:52:47,900.900 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:52:47,903.903 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-08-29 21:52:52,069.069 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:52:52,071.071 INFO    ] Checking for system updates...
[2026-08-29 21:52:52,107.107 INFO    ] 200
[2026-08-29 21:52:52,109.109 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:52:52,161.161 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:52:52,164.164 INFO    ] No update needed
[2026-08-29 21:52:52,166.166 INFO    ] Checking for camera pi updates...
[2026-08-29 21:52:52,199.199 INFO    ] 200
[2026-08-29 21:52:52,201.201 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:52:52,248.248 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:52:52,345.345 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:52:52,348.348 INFO    ] No camera update needed
[2026-08-29 21:52:52,350.350 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:52:52,352.352 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:52:52,358.358 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:52:52,362.362 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:52:54,405.405 INFO    ] ================================================
[2026-08-29 21:52:54,420.420 INFO    ] Launching Daemon at Sat Aug 29 21:52:54 IST 2026
[2026-08-29 21:52:54,431.431 INFO    ] ================================================
[2026-08-29 21:52:54,774.774 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:52:54
[2026-08-29 21:52:55,086.086 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:52:55,220.220 INFO    ] Initializing speech engine...
[2026-08-29 21:52:55,225.225 INFO    ] 2026-08-29 21:52:55
[2026-08-29 21:52:55,456.456 INFO    ] 2026-08-29 21:52:55
[2026-08-29 21:52:55,487.487 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:52:55,620.620 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:52:55,655.655 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:52:55,780.780 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:52:55,837.837 INFO    ] time= 29/08/2026 21:52:55
[2026-08-29 21:52:55,864.864 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:52:55,921.921 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:52:56,018.018 INFO    ] No existing commands found in stream
[2026-08-29 21:53:01,031.031 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:53:01,034.034 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-08-29 21:53:02,413.413 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:53:02,416.416 INFO    ] Checking for system updates...
[2026-08-29 21:53:02,461.461 INFO    ] 200
[2026-08-29 21:53:02,465.465 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:53:02,531.531 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:53:02,535.535 INFO    ] No update needed
[2026-08-29 21:53:02,538.538 INFO    ] Checking for camera pi updates...
[2026-08-29 21:53:02,580.580 INFO    ] 200
[2026-08-29 21:53:02,583.583 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:53:02,636.636 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:53:02,737.737 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:53:02,740.740 INFO    ] No camera update needed
[2026-08-29 21:53:02,742.742 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:53:02,745.745 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:53:02,750.750 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:53:02,755.755 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:53:04,797.797 INFO    ] ================================================
[2026-08-29 21:53:04,812.812 INFO    ] Launching Daemon at Sat Aug 29 21:53:04 IST 2026
[2026-08-29 21:53:04,823.823 INFO    ] ================================================
[2026-08-29 21:53:05,339.339 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:53:05
[2026-08-29 21:53:05,972.972 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:53:06,260.260 INFO    ] Initializing speech engine...
[2026-08-29 21:53:06,275.275 INFO    ] 2026-08-29 21:53:06
[2026-08-29 21:53:06,561.561 INFO    ] 2026-08-29 21:53:06
[2026-08-29 21:53:06,599.599 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:53:06,796.796 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:53:06,801.801 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:53:06,902.902 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:53:06,907.907 INFO    ] time= 29/08/2026 21:53:06
[2026-08-29 21:53:06,927.927 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:53:06,933.933 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:53:06,981.981 INFO    ] No existing commands found in stream
[2026-08-29 21:53:12,011.011 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:53:12,013.013 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-08-29 21:53:15,269.269 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:53:15,270.270 INFO    ] Checking for system updates...
[2026-08-29 21:53:15,291.291 INFO    ] 200
[2026-08-29 21:53:15,292.292 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:53:15,323.323 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:53:15,324.324 INFO    ] No update needed
[2026-08-29 21:53:15,325.325 INFO    ] Checking for camera pi updates...
[2026-08-29 21:53:15,344.344 INFO    ] 200
[2026-08-29 21:53:15,346.346 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:53:15,384.384 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:53:15,504.504 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:53:15,507.507 INFO    ] No camera update needed
[2026-08-29 21:53:15,509.509 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:53:15,511.511 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:53:15,516.516 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:53:15,521.521 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:53:17,561.561 INFO    ] ================================================
[2026-08-29 21:53:17,577.577 INFO    ] Launching Daemon at Sat Aug 29 21:53:17 IST 2026
[2026-08-29 21:53:17,587.587 INFO    ] ================================================
[2026-08-29 21:53:18,241.241 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:53:18
[2026-08-29 21:53:18,697.697 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:53:18,848.848 INFO    ] Initializing speech engine...
[2026-08-29 21:53:18,853.853 INFO    ] 2026-08-29 21:53:18
[2026-08-29 21:53:19,061.061 INFO    ] 2026-08-29 21:53:19
[2026-08-29 21:53:19,090.090 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:53:19,213.213 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:53:19,276.276 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:53:19,414.414 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:53:19,450.450 INFO    ] time= 29/08/2026 21:53:19
[2026-08-29 21:53:19,505.505 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:53:19,537.537 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:53:19,654.654 INFO    ] No existing commands found in stream
[2026-08-29 21:53:24,680.680 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:53:24,683.683 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-08-29 21:53:28,746.746 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:53:28,747.747 INFO    ] Checking for system updates...
[2026-08-29 21:53:28,768.768 INFO    ] 200
[2026-08-29 21:53:28,770.770 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:53:28,801.801 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:53:28,802.802 INFO    ] No update needed
[2026-08-29 21:53:28,804.804 INFO    ] Checking for camera pi updates...
[2026-08-29 21:53:28,825.825 INFO    ] 200
[2026-08-29 21:53:28,826.826 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:53:28,850.850 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:53:29,029.029 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:53:29,030.030 INFO    ] No camera update needed
[2026-08-29 21:53:29,032.032 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:53:29,033.033 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:53:29,036.036 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:53:29,039.039 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:53:31,078.078 INFO    ] ================================================
[2026-08-29 21:53:31,093.093 INFO    ] Launching Daemon at Sat Aug 29 21:53:31 IST 2026
[2026-08-29 21:53:31,103.103 INFO    ] ================================================
[2026-08-29 21:53:31,597.597 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:53:31
[2026-08-29 21:53:32,212.212 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:53:32,489.489 INFO    ] Initializing speech engine...
[2026-08-29 21:53:32,506.506 INFO    ] 2026-08-29 21:53:32
[2026-08-29 21:53:32,815.815 INFO    ] 2026-08-29 21:53:32
[2026-08-29 21:53:32,870.870 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:53:33,095.095 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:53:33,105.105 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:53:33,240.240 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:53:33,316.316 INFO    ] time= 29/08/2026 21:53:33
[2026-08-29 21:53:33,368.368 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:53:33,375.375 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:53:33,496.496 INFO    ] No existing commands found in stream
[2026-08-29 21:53:38,529.529 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:53:38,532.532 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-08-29 21:53:42,464.464 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:53:42,465.465 INFO    ] Checking for system updates...
[2026-08-29 21:53:42,486.486 INFO    ] 200
[2026-08-29 21:53:42,487.487 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:53:42,518.518 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:53:42,520.520 INFO    ] No update needed
[2026-08-29 21:53:42,521.521 INFO    ] Checking for camera pi updates...
[2026-08-29 21:53:42,541.541 INFO    ] 200
[2026-08-29 21:53:42,542.542 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:53:42,566.566 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:53:42,640.640 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:53:42,641.641 INFO    ] No camera update needed
[2026-08-29 21:53:42,643.643 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:53:42,644.644 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:53:42,648.648 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:53:42,650.650 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:53:44,690.690 INFO    ] ================================================
[2026-08-29 21:53:44,705.705 INFO    ] Launching Daemon at Sat Aug 29 21:53:44 IST 2026
[2026-08-29 21:53:44,716.716 INFO    ] ================================================
[2026-08-29 21:53:45,197.197 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:53:45
[2026-08-29 21:53:45,783.783 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:53:46,061.061 INFO    ] Initializing speech engine...
[2026-08-29 21:53:46,070.070 INFO    ] 2026-08-29 21:53:46
[2026-08-29 21:53:46,324.324 INFO    ] 2026-08-29 21:53:46
[2026-08-29 21:53:46,358.358 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:53:46,534.534 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:53:46,541.541 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:53:46,649.649 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:53:46,664.664 INFO    ] time= 29/08/2026 21:53:46
[2026-08-29 21:53:46,669.669 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:53:46,688.688 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:53:46,780.780 INFO    ] No existing commands found in stream
[2026-08-29 21:53:51,791.791 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:53:51,794.794 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-08-29 21:53:52,513.513 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:53:52,515.515 INFO    ] Checking for system updates...
[2026-08-29 21:53:52,535.535 INFO    ] 200
[2026-08-29 21:53:52,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:53:52,567.567 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:53:52,568.568 INFO    ] No update needed
[2026-08-29 21:53:52,569.569 INFO    ] Checking for camera pi updates...
[2026-08-29 21:53:52,590.590 INFO    ] 200
[2026-08-29 21:53:52,591.591 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:53:52,615.615 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:53:52,692.692 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:53:52,693.693 INFO    ] No camera update needed
[2026-08-29 21:53:52,695.695 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:53:52,696.696 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:53:52,699.699 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:53:52,701.701 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:53:54,741.741 INFO    ] ================================================
[2026-08-29 21:53:54,756.756 INFO    ] Launching Daemon at Sat Aug 29 21:53:54 IST 2026
[2026-08-29 21:53:54,768.768 INFO    ] ================================================
[2026-08-29 21:53:55,125.125 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:53:55
[2026-08-29 21:53:55,441.441 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:53:55,679.679 INFO    ] Initializing speech engine...
[2026-08-29 21:53:55,686.686 INFO    ] 2026-08-29 21:53:55
[2026-08-29 21:53:55,947.947 INFO    ] 2026-08-29 21:53:55
[2026-08-29 21:53:55,977.977 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:53:56,141.141 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:53:56,154.154 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:53:56,294.294 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:53:56,301.301 INFO    ] time= 29/08/2026 21:53:56
[2026-08-29 21:53:56,308.308 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:53:56,359.359 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:53:56,483.483 INFO    ] No existing commands found in stream
[2026-08-29 21:54:01,505.505 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:54:01,510.510 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 21:54:02,025.025 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:54:02,029.029 INFO    ] Checking for system updates...
[2026-08-29 21:54:02,070.070 INFO    ] 200
[2026-08-29 21:54:02,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:54:02,137.137 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:54:02,140.140 INFO    ] No update needed
[2026-08-29 21:54:02,143.143 INFO    ] Checking for camera pi updates...
[2026-08-29 21:54:02,182.182 INFO    ] 200
[2026-08-29 21:54:02,185.185 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:54:02,233.233 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:54:02,320.320 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:54:02,323.323 INFO    ] No camera update needed
[2026-08-29 21:54:02,326.326 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:54:02,329.329 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:54:02,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:54:02,342.342 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:54:04,385.385 INFO    ] ================================================
[2026-08-29 21:54:04,401.401 INFO    ] Launching Daemon at Sat Aug 29 21:54:04 IST 2026
[2026-08-29 21:54:04,411.411 INFO    ] ================================================
[2026-08-29 21:54:04,799.799 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:54:04
[2026-08-29 21:54:05,386.386 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:54:05,656.656 INFO    ] Initializing speech engine...
[2026-08-29 21:54:05,665.665 INFO    ] 2026-08-29 21:54:05
[2026-08-29 21:54:05,923.923 INFO    ] 2026-08-29 21:54:05
[2026-08-29 21:54:06,000.000 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:54:06,141.141 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:54:06,153.153 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:54:06,271.271 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:54:06,285.285 INFO    ] time= 29/08/2026 21:54:06
[2026-08-29 21:54:06,313.313 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:54:06,321.321 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:54:06,403.403 INFO    ] No existing commands found in stream
[2026-08-29 21:54:11,414.414 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:54:11,417.417 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-08-29 21:54:14,560.560 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:54:14,562.562 INFO    ] Checking for system updates...
[2026-08-29 21:54:14,583.583 INFO    ] 200
[2026-08-29 21:54:14,584.584 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:54:14,614.614 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:54:14,615.615 INFO    ] No update needed
[2026-08-29 21:54:14,616.616 INFO    ] Checking for camera pi updates...
[2026-08-29 21:54:14,636.636 INFO    ] 200
[2026-08-29 21:54:14,637.637 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:54:14,663.663 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:54:14,735.735 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:54:14,737.737 INFO    ] No camera update needed
[2026-08-29 21:54:14,738.738 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:54:14,739.739 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:54:14,742.742 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:54:14,745.745 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:54:16,784.784 INFO    ] ================================================
[2026-08-29 21:54:16,799.799 INFO    ] Launching Daemon at Sat Aug 29 21:54:16 IST 2026
[2026-08-29 21:54:16,810.810 INFO    ] ================================================
[2026-08-29 21:54:17,172.172 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:54:17
[2026-08-29 21:54:17,484.484 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:54:17,616.616 INFO    ] Initializing speech engine...
[2026-08-29 21:54:17,628.628 INFO    ] 2026-08-29 21:54:17
[2026-08-29 21:54:17,836.836 INFO    ] 2026-08-29 21:54:17
[2026-08-29 21:54:17,867.867 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:54:18,020.020 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:54:18,027.027 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:54:18,180.180 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:54:18,226.226 INFO    ] time= 29/08/2026 21:54:18
[2026-08-29 21:54:18,233.233 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:54:18,251.251 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:54:18,352.352 INFO    ] No existing commands found in stream
[2026-08-29 21:54:23,377.377 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:54:23,380.380 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-08-29 21:54:23,951.951 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:54:23,954.954 INFO    ] Checking for system updates...
[2026-08-29 21:54:23,992.992 INFO    ] 200
[2026-08-29 21:54:23,995.995 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:54:24,064.064 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:54:24,067.067 INFO    ] No update needed
[2026-08-29 21:54:24,070.070 INFO    ] Checking for camera pi updates...
[2026-08-29 21:54:24,116.116 INFO    ] 200
[2026-08-29 21:54:24,119.119 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:54:24,168.168 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:54:24,261.261 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:54:24,264.264 INFO    ] No camera update needed
[2026-08-29 21:54:24,267.267 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:54:24,271.271 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:54:24,278.278 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:54:24,286.286 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:54:26,328.328 INFO    ] ================================================
[2026-08-29 21:54:26,343.343 INFO    ] Launching Daemon at Sat Aug 29 21:54:26 IST 2026
[2026-08-29 21:54:26,354.354 INFO    ] ================================================
[2026-08-29 21:54:26,934.934 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:54:26
[2026-08-29 21:54:27,250.250 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:54:27,395.395 INFO    ] Initializing speech engine...
[2026-08-29 21:54:27,400.400 INFO    ] 2026-08-29 21:54:27
[2026-08-29 21:54:27,642.642 INFO    ] 2026-08-29 21:54:27
[2026-08-29 21:54:27,697.697 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:54:27,859.859 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:54:27,868.868 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:54:28,031.031 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:54:28,067.067 INFO    ] time= 29/08/2026 21:54:28
[2026-08-29 21:54:28,073.073 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:54:28,090.090 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:54:28,203.203 INFO    ] No existing commands found in stream
[2026-08-29 21:54:33,232.232 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:54:33,235.235 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-08-29 21:54:35,928.928 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:54:35,930.930 INFO    ] Checking for system updates...
[2026-08-29 21:54:35,950.950 INFO    ] 200
[2026-08-29 21:54:35,952.952 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:54:35,982.982 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:54:35,984.984 INFO    ] No update needed
[2026-08-29 21:54:35,985.985 INFO    ] Checking for camera pi updates...
[2026-08-29 21:54:36,004.004 INFO    ] 200
[2026-08-29 21:54:36,005.005 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:54:36,028.028 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:54:36,170.170 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:54:36,172.172 INFO    ] No camera update needed
[2026-08-29 21:54:36,173.173 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:54:36,174.174 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:54:36,177.177 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:54:36,180.180 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:54:38,219.219 INFO    ] ================================================
[2026-08-29 21:54:38,234.234 INFO    ] Launching Daemon at Sat Aug 29 21:54:38 IST 2026
[2026-08-29 21:54:38,245.245 INFO    ] ================================================
[2026-08-29 21:54:38,807.807 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:54:38
[2026-08-29 21:54:39,405.405 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:54:39,683.683 INFO    ] Initializing speech engine...
[2026-08-29 21:54:39,692.692 INFO    ] 2026-08-29 21:54:39
[2026-08-29 21:54:39,952.952 INFO    ] 2026-08-29 21:54:39
[2026-08-29 21:54:40,007.007 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:54:40,228.228 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:54:40,237.237 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:54:40,373.373 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:54:40,407.407 INFO    ] time= 29/08/2026 21:54:40
[2026-08-29 21:54:40,456.456 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:54:40,503.503 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:54:40,555.555 INFO    ] No existing commands found in stream
[2026-08-29 21:54:45,567.567 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:54:45,569.569 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-08-29 21:54:48,319.319 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:54:48,321.321 INFO    ] Checking for system updates...
[2026-08-29 21:54:48,342.342 INFO    ] 200
[2026-08-29 21:54:48,344.344 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:54:48,398.398 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:54:48,401.401 INFO    ] No update needed
[2026-08-29 21:54:48,404.404 INFO    ] Checking for camera pi updates...
[2026-08-29 21:54:48,437.437 INFO    ] 200
[2026-08-29 21:54:48,440.440 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:54:48,481.481 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:54:48,559.559 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:54:48,562.562 INFO    ] No camera update needed
[2026-08-29 21:54:48,564.564 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:54:48,567.567 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:54:48,572.572 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:54:48,577.577 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:54:50,617.617 INFO    ] ================================================
[2026-08-29 21:54:50,632.632 INFO    ] Launching Daemon at Sat Aug 29 21:54:50 IST 2026
[2026-08-29 21:54:50,643.643 INFO    ] ================================================
[2026-08-29 21:54:51,210.210 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:54:51
[2026-08-29 21:54:51,707.707 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:54:51,959.959 INFO    ] Initializing speech engine...
[2026-08-29 21:54:51,972.972 INFO    ] 2026-08-29 21:54:51
[2026-08-29 21:54:52,237.237 INFO    ] 2026-08-29 21:54:52
[2026-08-29 21:54:52,274.274 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:54:52,450.450 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:54:52,462.462 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:54:52,576.576 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:54:52,593.593 INFO    ] time= 29/08/2026 21:54:52
[2026-08-29 21:54:52,614.614 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:54:52,622.622 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:54:52,694.694 INFO    ] No existing commands found in stream
[2026-08-29 21:54:57,709.709 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:54:57,711.711 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-08-29 21:54:58,911.911 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:54:58,913.913 INFO    ] Checking for system updates...
[2026-08-29 21:54:58,935.935 INFO    ] 200
[2026-08-29 21:54:58,936.936 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:54:58,968.968 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:54:58,969.969 INFO    ] No update needed
[2026-08-29 21:54:58,971.971 INFO    ] Checking for camera pi updates...
[2026-08-29 21:54:58,990.990 INFO    ] 200
[2026-08-29 21:54:58,992.992 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:54:59,016.016 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:54:59,070.070 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:54:59,071.071 INFO    ] No camera update needed
[2026-08-29 21:54:59,073.073 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:54:59,074.074 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:54:59,077.077 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:54:59,080.080 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:55:01,118.118 INFO    ] ================================================
[2026-08-29 21:55:01,133.133 INFO    ] Launching Daemon at Sat Aug 29 21:55:01 IST 2026
[2026-08-29 21:55:01,144.144 INFO    ] ================================================
[2026-08-29 21:55:01,706.706 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:55:01
[2026-08-29 21:55:02,618.618 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:55:03,086.086 INFO    ] Initializing speech engine...
[2026-08-29 21:55:03,110.110 INFO    ] 2026-08-29 21:55:03
[2026-08-29 21:55:03,434.434 INFO    ] 2026-08-29 21:55:03
[2026-08-29 21:55:03,521.521 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:55:03,707.707 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:55:03,714.714 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:55:03,867.867 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:55:03,893.893 INFO    ] time= 29/08/2026 21:55:03
[2026-08-29 21:55:03,948.948 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:55:04,002.002 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:55:04,079.079 INFO    ] No existing commands found in stream
[2026-08-29 21:55:09,093.093 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:55:09,096.096 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-08-29 21:55:10,881.881 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:55:10,882.882 INFO    ] Checking for system updates...
[2026-08-29 21:55:10,904.904 INFO    ] 200
[2026-08-29 21:55:10,905.905 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:55:10,936.936 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:55:10,938.938 INFO    ] No update needed
[2026-08-29 21:55:10,939.939 INFO    ] Checking for camera pi updates...
[2026-08-29 21:55:10,959.959 INFO    ] 200
[2026-08-29 21:55:10,960.960 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:55:10,985.985 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:55:11,058.058 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:55:11,059.059 INFO    ] No camera update needed
[2026-08-29 21:55:11,061.061 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:55:11,062.062 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:55:11,065.065 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:55:11,067.067 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:55:13,108.108 INFO    ] ================================================
[2026-08-29 21:55:13,123.123 INFO    ] Launching Daemon at Sat Aug 29 21:55:13 IST 2026
[2026-08-29 21:55:13,134.134 INFO    ] ================================================
[2026-08-29 21:55:13,481.481 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:55:13
[2026-08-29 21:55:13,791.791 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:55:13,921.921 INFO    ] Initializing speech engine...
[2026-08-29 21:55:13,926.926 INFO    ] 2026-08-29 21:55:13
[2026-08-29 21:55:14,139.139 INFO    ] 2026-08-29 21:55:14
[2026-08-29 21:55:14,219.219 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:55:14,370.370 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:55:14,379.379 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:55:14,515.515 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:55:14,537.537 INFO    ] time= 29/08/2026 21:55:14
[2026-08-29 21:55:14,591.591 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:55:14,645.645 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:55:14,706.706 INFO    ] No existing commands found in stream
[2026-08-29 21:55:19,718.718 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:55:19,721.721 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-08-29 21:55:22,095.095 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:55:22,097.097 INFO    ] Checking for system updates...
[2026-08-29 21:55:22,119.119 INFO    ] 200
[2026-08-29 21:55:22,121.121 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:55:22,153.153 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:55:22,154.154 INFO    ] No update needed
[2026-08-29 21:55:22,156.156 INFO    ] Checking for camera pi updates...
[2026-08-29 21:55:22,176.176 INFO    ] 200
[2026-08-29 21:55:22,178.178 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:55:22,205.205 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:55:22,282.282 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:55:22,284.284 INFO    ] No camera update needed
[2026-08-29 21:55:22,285.285 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:55:22,286.286 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:55:22,290.290 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:55:22,293.293 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:55:24,331.331 INFO    ] ================================================
[2026-08-29 21:55:24,346.346 INFO    ] Launching Daemon at Sat Aug 29 21:55:24 IST 2026
[2026-08-29 21:55:24,358.358 INFO    ] ================================================
[2026-08-29 21:55:24,713.713 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:55:24
[2026-08-29 21:55:25,026.026 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:55:25,158.158 INFO    ] Initializing speech engine...
[2026-08-29 21:55:25,170.170 INFO    ] 2026-08-29 21:55:25
[2026-08-29 21:55:25,377.377 INFO    ] 2026-08-29 21:55:25
[2026-08-29 21:55:25,405.405 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:55:25,528.528 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:55:25,570.570 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:55:25,738.738 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:55:25,800.800 INFO    ] time= 29/08/2026 21:55:25
[2026-08-29 21:55:25,823.823 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:55:25,829.829 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:55:25,895.895 INFO    ] No existing commands found in stream
[2026-08-29 21:55:30,905.905 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:55:30,907.907 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-08-29 21:55:32,863.863 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:55:32,866.866 INFO    ] Checking for system updates...
[2026-08-29 21:55:32,905.905 INFO    ] 200
[2026-08-29 21:55:32,908.908 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:55:32,965.965 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:55:32,967.967 INFO    ] No update needed
[2026-08-29 21:55:32,969.969 INFO    ] Checking for camera pi updates...
[2026-08-29 21:55:33,005.005 INFO    ] 200
[2026-08-29 21:55:33,008.008 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:55:33,054.054 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:55:33,133.133 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:55:33,136.136 INFO    ] No camera update needed
[2026-08-29 21:55:33,139.139 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:55:33,141.141 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:55:33,147.147 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:55:33,153.153 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:55:35,194.194 INFO    ] ================================================
[2026-08-29 21:55:35,210.210 INFO    ] Launching Daemon at Sat Aug 29 21:55:35 IST 2026
[2026-08-29 21:55:35,221.221 INFO    ] ================================================
[2026-08-29 21:55:35,816.816 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:55:35
[2026-08-29 21:55:36,157.157 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:55:36,311.311 INFO    ] Initializing speech engine...
[2026-08-29 21:55:36,315.315 INFO    ] 2026-08-29 21:55:36
[2026-08-29 21:55:36,525.525 INFO    ] 2026-08-29 21:55:36
[2026-08-29 21:55:36,554.554 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:55:36,678.678 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:55:36,740.740 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:55:36,884.884 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:55:36,940.940 INFO    ] time= 29/08/2026 21:55:36
[2026-08-29 21:55:36,985.985 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:55:37,023.023 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:55:37,152.152 INFO    ] No existing commands found in stream
[2026-08-29 21:55:42,166.166 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:55:42,170.170 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 21:55:45,790.790 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:55:45,791.791 INFO    ] Checking for system updates...
[2026-08-29 21:55:45,812.812 INFO    ] 200
[2026-08-29 21:55:45,814.814 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:55:45,845.845 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:55:45,846.846 INFO    ] No update needed
[2026-08-29 21:55:45,848.848 INFO    ] Checking for camera pi updates...
[2026-08-29 21:55:45,867.867 INFO    ] 200
[2026-08-29 21:55:45,869.869 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:55:45,892.892 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:55:45,974.974 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:55:45,975.975 INFO    ] No camera update needed
[2026-08-29 21:55:45,976.976 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:55:45,978.978 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:55:45,981.981 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:55:45,984.984 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:55:48,023.023 INFO    ] ================================================
[2026-08-29 21:55:48,038.038 INFO    ] Launching Daemon at Sat Aug 29 21:55:48 IST 2026
[2026-08-29 21:55:48,050.050 INFO    ] ================================================
[2026-08-29 21:55:48,408.408 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:55:48
[2026-08-29 21:55:48,725.725 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:55:48,858.858 INFO    ] Initializing speech engine...
[2026-08-29 21:55:48,871.871 INFO    ] 2026-08-29 21:55:48
[2026-08-29 21:55:49,080.080 INFO    ] 2026-08-29 21:55:49
[2026-08-29 21:55:49,108.108 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:55:49,231.231 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:55:49,284.284 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:55:49,465.465 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:55:49,494.494 INFO    ] time= 29/08/2026 21:55:49
[2026-08-29 21:55:49,553.553 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:55:49,602.602 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:55:49,686.686 INFO    ] No existing commands found in stream
[2026-08-29 21:55:54,706.706 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:55:54,708.708 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-08-29 21:55:58,018.018 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:55:58,019.019 INFO    ] Checking for system updates...
[2026-08-29 21:55:58,039.039 INFO    ] 200
[2026-08-29 21:55:58,041.041 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:55:58,070.070 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:55:58,072.072 INFO    ] No update needed
[2026-08-29 21:55:58,073.073 INFO    ] Checking for camera pi updates...
[2026-08-29 21:55:58,093.093 INFO    ] 200
[2026-08-29 21:55:58,094.094 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:55:58,121.121 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:55:58,162.162 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:55:58,164.164 INFO    ] No camera update needed
[2026-08-29 21:55:58,165.165 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:55:58,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:55:58,169.169 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:55:58,172.172 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:56:00,210.210 INFO    ] ================================================
[2026-08-29 21:56:00,225.225 INFO    ] Launching Daemon at Sat Aug 29 21:56:00 IST 2026
[2026-08-29 21:56:00,236.236 INFO    ] ================================================
[2026-08-29 21:56:00,600.600 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:56:00
[2026-08-29 21:56:00,911.911 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:56:01,053.053 INFO    ] Initializing speech engine...
[2026-08-29 21:56:01,059.059 INFO    ] 2026-08-29 21:56:01
[2026-08-29 21:56:01,248.248 INFO    ] 2026-08-29 21:56:01
[2026-08-29 21:56:01,314.314 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:56:01,479.479 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:56:01,482.482 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:56:01,596.596 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:56:01,600.600 INFO    ] time= 29/08/2026 21:56:01
[2026-08-29 21:56:01,604.604 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:56:01,607.607 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:56:01,663.663 INFO    ] No existing commands found in stream
[2026-08-29 21:56:06,676.676 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:56:06,679.679 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-08-29 21:56:10,368.368 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:56:10,370.370 INFO    ] Checking for system updates...
[2026-08-29 21:56:10,390.390 INFO    ] 200
[2026-08-29 21:56:10,392.392 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:56:10,421.421 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:56:10,423.423 INFO    ] No update needed
[2026-08-29 21:56:10,424.424 INFO    ] Checking for camera pi updates...
[2026-08-29 21:56:10,443.443 INFO    ] 200
[2026-08-29 21:56:10,444.444 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:56:10,469.469 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:56:10,542.542 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:56:10,544.544 INFO    ] No camera update needed
[2026-08-29 21:56:10,545.545 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:56:10,546.546 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:56:10,549.549 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:56:10,551.551 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:56:12,592.592 INFO    ] ================================================
[2026-08-29 21:56:12,607.607 INFO    ] Launching Daemon at Sat Aug 29 21:56:12 IST 2026
[2026-08-29 21:56:12,618.618 INFO    ] ================================================
[2026-08-29 21:56:13,186.186 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:56:13
[2026-08-29 21:56:13,772.772 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:56:14,022.022 INFO    ] Initializing speech engine...
[2026-08-29 21:56:14,035.035 INFO    ] 2026-08-29 21:56:14
[2026-08-29 21:56:14,300.300 INFO    ] 2026-08-29 21:56:14
[2026-08-29 21:56:14,336.336 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:56:14,513.513 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:56:14,527.527 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:56:14,642.642 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:56:14,661.661 INFO    ] time= 29/08/2026 21:56:14
[2026-08-29 21:56:14,680.680 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:56:14,689.689 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:56:14,757.757 INFO    ] No existing commands found in stream
[2026-08-29 21:56:19,770.770 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:56:19,773.773 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-08-29 21:56:22,461.461 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:56:22,463.463 INFO    ] Checking for system updates...
[2026-08-29 21:56:22,483.483 INFO    ] 200
[2026-08-29 21:56:22,485.485 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:56:22,515.515 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:56:22,516.516 INFO    ] No update needed
[2026-08-29 21:56:22,517.517 INFO    ] Checking for camera pi updates...
[2026-08-29 21:56:22,538.538 INFO    ] 200
[2026-08-29 21:56:22,540.540 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:56:22,564.564 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:56:22,657.657 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:56:22,658.658 INFO    ] No camera update needed
[2026-08-29 21:56:22,659.659 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:56:22,660.660 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:56:22,663.663 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:56:22,666.666 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:56:24,704.704 INFO    ] ================================================
[2026-08-29 21:56:24,720.720 INFO    ] Launching Daemon at Sat Aug 29 21:56:24 IST 2026
[2026-08-29 21:56:24,730.730 INFO    ] ================================================
[2026-08-29 21:56:25,084.084 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:56:25
[2026-08-29 21:56:25,400.400 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:56:25,620.620 INFO    ] Initializing speech engine...
[2026-08-29 21:56:25,627.627 INFO    ] 2026-08-29 21:56:25
[2026-08-29 21:56:25,874.874 INFO    ] 2026-08-29 21:56:25
[2026-08-29 21:56:25,909.909 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:56:26,081.081 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:56:26,094.094 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:56:26,235.235 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:56:26,243.243 INFO    ] time= 29/08/2026 21:56:26
[2026-08-29 21:56:26,251.251 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:56:26,306.306 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:56:26,423.423 INFO    ] No existing commands found in stream
[2026-08-29 21:56:31,443.443 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:56:31,445.445 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-08-29 21:56:35,330.330 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:56:35,331.331 INFO    ] Checking for system updates...
[2026-08-29 21:56:35,352.352 INFO    ] 200
[2026-08-29 21:56:35,354.354 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:56:35,386.386 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:56:35,387.387 INFO    ] No update needed
[2026-08-29 21:56:35,388.388 INFO    ] Checking for camera pi updates...
[2026-08-29 21:56:35,411.411 INFO    ] 200
[2026-08-29 21:56:35,413.413 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:56:35,436.436 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:56:35,479.479 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:56:35,481.481 INFO    ] No camera update needed
[2026-08-29 21:56:35,482.482 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:56:35,484.484 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:56:35,487.487 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:56:35,490.490 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:56:37,529.529 INFO    ] ================================================
[2026-08-29 21:56:37,544.544 INFO    ] Launching Daemon at Sat Aug 29 21:56:37 IST 2026
[2026-08-29 21:56:37,554.554 INFO    ] ================================================
[2026-08-29 21:56:37,929.929 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:56:37
[2026-08-29 21:56:38,240.240 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:56:38,376.376 INFO    ] Initializing speech engine...
[2026-08-29 21:56:38,384.384 INFO    ] 2026-08-29 21:56:38
[2026-08-29 21:56:38,570.570 INFO    ] 2026-08-29 21:56:38
[2026-08-29 21:56:38,600.600 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:56:38,766.766 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:56:38,778.778 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:56:38,918.918 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:56:38,926.926 INFO    ] time= 29/08/2026 21:56:38
[2026-08-29 21:56:38,933.933 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:56:38,973.973 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:56:39,102.102 INFO    ] No existing commands found in stream
[2026-08-29 21:56:44,127.127 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:56:44,130.130 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-08-29 21:56:45,797.797 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:56:45,798.798 INFO    ] Checking for system updates...
[2026-08-29 21:56:45,818.818 INFO    ] 200
[2026-08-29 21:56:45,820.820 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:56:45,852.852 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:56:45,854.854 INFO    ] No update needed
[2026-08-29 21:56:45,855.855 INFO    ] Checking for camera pi updates...
[2026-08-29 21:56:45,874.874 INFO    ] 200
[2026-08-29 21:56:45,875.875 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:56:45,898.898 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:56:45,973.973 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:56:45,974.974 INFO    ] No camera update needed
[2026-08-29 21:56:45,975.975 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:56:45,977.977 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:56:45,980.980 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:56:45,983.983 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:56:48,022.022 INFO    ] ================================================
[2026-08-29 21:56:48,037.037 INFO    ] Launching Daemon at Sat Aug 29 21:56:48 IST 2026
[2026-08-29 21:56:48,048.048 INFO    ] ================================================
[2026-08-29 21:56:48,412.412 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:56:48
[2026-08-29 21:56:48,779.779 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:56:49,041.041 INFO    ] Initializing speech engine...
[2026-08-29 21:56:49,066.066 INFO    ] 2026-08-29 21:56:49
[2026-08-29 21:56:49,336.336 INFO    ] 2026-08-29 21:56:49
[2026-08-29 21:56:49,372.372 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:56:49,562.562 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:56:49,568.568 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:56:49,720.720 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:56:49,727.727 INFO    ] time= 29/08/2026 21:56:49
[2026-08-29 21:56:49,735.735 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:56:49,786.786 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:56:49,891.891 INFO    ] No existing commands found in stream
[2026-08-29 21:56:54,916.916 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:56:54,919.919 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-08-29 21:56:55,735.735 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:56:55,738.738 INFO    ] Checking for system updates...
[2026-08-29 21:56:55,775.775 INFO    ] 200
[2026-08-29 21:56:55,777.777 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:56:55,830.830 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:56:55,833.833 INFO    ] No update needed
[2026-08-29 21:56:55,836.836 INFO    ] Checking for camera pi updates...
[2026-08-29 21:56:55,871.871 INFO    ] 200
[2026-08-29 21:56:55,874.874 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:56:55,915.915 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:56:56,012.012 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:56:56,015.015 INFO    ] No camera update needed
[2026-08-29 21:56:56,017.017 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:56:56,020.020 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:56:56,026.026 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:56:56,031.031 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:56:58,071.071 INFO    ] ================================================
[2026-08-29 21:56:58,086.086 INFO    ] Launching Daemon at Sat Aug 29 21:56:58 IST 2026
[2026-08-29 21:56:58,097.097 INFO    ] ================================================
[2026-08-29 21:56:58,475.475 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:56:58
[2026-08-29 21:56:58,809.809 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:56:58,958.958 INFO    ] Initializing speech engine...
[2026-08-29 21:56:58,965.965 INFO    ] 2026-08-29 21:56:58
[2026-08-29 21:56:59,189.189 INFO    ] 2026-08-29 21:56:59
[2026-08-29 21:56:59,244.244 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:56:59,409.409 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:56:59,417.417 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:56:59,592.592 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:56:59,620.620 INFO    ] time= 29/08/2026 21:56:59
[2026-08-29 21:56:59,636.636 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:56:59,644.644 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:56:59,753.753 INFO    ] No existing commands found in stream
[2026-08-29 21:57:04,783.783 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:57:04,787.787 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 21:57:08,229.229 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:57:08,231.231 INFO    ] Checking for system updates...
[2026-08-29 21:57:08,253.253 INFO    ] 200
[2026-08-29 21:57:08,254.254 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:57:08,287.287 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:57:08,289.289 INFO    ] No update needed
[2026-08-29 21:57:08,290.290 INFO    ] Checking for camera pi updates...
[2026-08-29 21:57:08,310.310 INFO    ] 200
[2026-08-29 21:57:08,312.312 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:57:08,335.335 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:57:08,408.408 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:57:08,409.409 INFO    ] No camera update needed
[2026-08-29 21:57:08,410.410 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:57:08,412.412 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:57:08,415.415 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:57:08,418.418 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:57:10,458.458 INFO    ] ================================================
[2026-08-29 21:57:10,473.473 INFO    ] Launching Daemon at Sat Aug 29 21:57:10 IST 2026
[2026-08-29 21:57:10,484.484 INFO    ] ================================================
[2026-08-29 21:57:10,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:57:10
[2026-08-29 21:57:11,152.152 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:57:11,424.424 INFO    ] Initializing speech engine...
[2026-08-29 21:57:11,430.430 INFO    ] 2026-08-29 21:57:11
[2026-08-29 21:57:11,690.690 INFO    ] 2026-08-29 21:57:11
[2026-08-29 21:57:11,745.745 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:57:11,894.894 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:57:11,910.910 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:57:12,043.043 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:57:12,048.048 INFO    ] time= 29/08/2026 21:57:12
[2026-08-29 21:57:12,054.054 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:57:12,095.095 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:57:12,223.223 INFO    ] No existing commands found in stream
[2026-08-29 21:57:17,248.248 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:57:17,251.251 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-08-29 21:57:18,476.476 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:57:18,477.477 INFO    ] Checking for system updates...
[2026-08-29 21:57:18,498.498 INFO    ] 200
[2026-08-29 21:57:18,500.500 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:57:18,532.532 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:57:18,533.533 INFO    ] No update needed
[2026-08-29 21:57:18,534.534 INFO    ] Checking for camera pi updates...
[2026-08-29 21:57:18,553.553 INFO    ] 200
[2026-08-29 21:57:18,555.555 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:57:18,579.579 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:57:18,654.654 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:57:18,656.656 INFO    ] No camera update needed
[2026-08-29 21:57:18,657.657 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:57:18,658.658 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:57:18,661.661 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:57:18,664.664 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:57:20,703.703 INFO    ] ================================================
[2026-08-29 21:57:20,725.725 INFO    ] Launching Daemon at Sat Aug 29 21:57:20 IST 2026
[2026-08-29 21:57:20,736.736 INFO    ] ================================================
[2026-08-29 21:57:21,082.082 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:57:21
[2026-08-29 21:57:21,399.399 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:57:21,544.544 INFO    ] Initializing speech engine...
[2026-08-29 21:57:21,549.549 INFO    ] 2026-08-29 21:57:21
[2026-08-29 21:57:21,754.754 INFO    ] 2026-08-29 21:57:21
[2026-08-29 21:57:21,781.781 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:57:21,903.903 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:57:21,936.936 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:57:22,095.095 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:57:22,122.122 INFO    ] time= 29/08/2026 21:57:22
[2026-08-29 21:57:22,173.173 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:57:22,196.196 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:57:22,286.286 INFO    ] No existing commands found in stream
[2026-08-29 21:57:27,294.294 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:57:27,297.297 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-08-29 21:57:30,956.956 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:57:30,957.957 INFO    ] Checking for system updates...
[2026-08-29 21:57:30,977.977 INFO    ] 200
[2026-08-29 21:57:30,979.979 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:57:31,009.009 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:57:31,010.010 INFO    ] No update needed
[2026-08-29 21:57:31,012.012 INFO    ] Checking for camera pi updates...
[2026-08-29 21:57:31,031.031 INFO    ] 200
[2026-08-29 21:57:31,032.032 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:57:31,057.057 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:57:31,148.148 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:57:31,150.150 INFO    ] No camera update needed
[2026-08-29 21:57:31,151.151 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:57:31,152.152 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:57:31,155.155 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:57:31,158.158 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:57:33,196.196 INFO    ] ================================================
[2026-08-29 21:57:33,211.211 INFO    ] Launching Daemon at Sat Aug 29 21:57:33 IST 2026
[2026-08-29 21:57:33,222.222 INFO    ] ================================================
[2026-08-29 21:57:33,793.793 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:57:33
[2026-08-29 21:57:34,324.324 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:57:34,455.455 INFO    ] Initializing speech engine...
[2026-08-29 21:57:34,458.458 INFO    ] 2026-08-29 21:57:34
[2026-08-29 21:57:34,673.673 INFO    ] 2026-08-29 21:57:34
[2026-08-29 21:57:34,701.701 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:57:34,842.842 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:57:34,853.853 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:57:35,003.003 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:57:35,037.037 INFO    ] time= 29/08/2026 21:57:35
[2026-08-29 21:57:35,064.064 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:57:35,126.126 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:57:35,245.245 INFO    ] No existing commands found in stream
[2026-08-29 21:57:40,254.254 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:57:40,257.257 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 21:57:41,220.220 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:57:41,221.221 INFO    ] Checking for system updates...
[2026-08-29 21:57:41,241.241 INFO    ] 200
[2026-08-29 21:57:41,243.243 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:57:41,275.275 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:57:41,276.276 INFO    ] No update needed
[2026-08-29 21:57:41,278.278 INFO    ] Checking for camera pi updates...
[2026-08-29 21:57:41,297.297 INFO    ] 200
[2026-08-29 21:57:41,298.298 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:57:41,321.321 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:57:41,525.525 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:57:41,527.527 INFO    ] No camera update needed
[2026-08-29 21:57:41,528.528 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:57:41,529.529 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:57:41,532.532 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:57:41,535.535 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:57:43,578.578 INFO    ] ================================================
[2026-08-29 21:57:43,593.593 INFO    ] Launching Daemon at Sat Aug 29 21:57:43 IST 2026
[2026-08-29 21:57:43,603.603 INFO    ] ================================================
[2026-08-29 21:57:43,945.945 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:57:43
[2026-08-29 21:57:44,536.536 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:57:44,822.822 INFO    ] Initializing speech engine...
[2026-08-29 21:57:44,831.831 INFO    ] 2026-08-29 21:57:44
[2026-08-29 21:57:45,098.098 INFO    ] 2026-08-29 21:57:45
[2026-08-29 21:57:45,136.136 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:57:45,331.331 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:57:45,344.344 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:57:45,465.465 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:57:45,474.474 INFO    ] time= 29/08/2026 21:57:45
[2026-08-29 21:57:45,494.494 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:57:45,516.516 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:57:45,598.598 INFO    ] No existing commands found in stream
[2026-08-29 21:57:50,610.610 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:57:50,613.613 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-08-29 21:57:51,190.190 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 21:57:51,191.191 INFO    ] Checking for system updates...
[2026-08-29 21:57:51,212.212 INFO    ] 200
[2026-08-29 21:57:51,214.214 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:57:51,245.245 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:57:51,247.247 INFO    ] No update needed
[2026-08-29 21:57:51,248.248 INFO    ] Checking for camera pi updates...
[2026-08-29 21:57:51,268.268 INFO    ] 200
[2026-08-29 21:57:51,269.269 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:57:51,294.294 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:57:51,371.371 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:57:51,373.373 INFO    ] No camera update needed
[2026-08-29 21:57:51,374.374 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:57:51,375.375 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:57:51,378.378 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:57:51,381.381 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:57:53,420.420 INFO    ] ================================================
[2026-08-29 21:57:53,435.435 INFO    ] Launching Daemon at Sat Aug 29 21:57:53 IST 2026
[2026-08-29 21:57:53,446.446 INFO    ] ================================================
[2026-08-29 21:57:53,797.797 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:57:53
[2026-08-29 21:57:54,109.109 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:57:54,242.242 INFO    ] Initializing speech engine...
[2026-08-29 21:57:54,255.255 INFO    ] 2026-08-29 21:57:54
[2026-08-29 21:57:54,463.463 INFO    ] 2026-08-29 21:57:54
[2026-08-29 21:57:54,492.492 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:57:54,616.616 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:57:54,674.674 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:57:54,820.820 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:57:54,888.888 INFO    ] time= 29/08/2026 21:57:54
[2026-08-29 21:57:54,913.913 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:57:54,919.919 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:57:54,986.986 INFO    ] No existing commands found in stream
[2026-08-29 21:57:59,996.996 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:57:59,999.999 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-08-29 21:58:02,944.944 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:58:02,947.947 INFO    ] Checking for system updates...
[2026-08-29 21:58:02,988.988 INFO    ] 200
[2026-08-29 21:58:02,991.991 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:58:03,050.050 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:58:03,053.053 INFO    ] No update needed
[2026-08-29 21:58:03,056.056 INFO    ] Checking for camera pi updates...
[2026-08-29 21:58:03,098.098 INFO    ] 200
[2026-08-29 21:58:03,102.102 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:58:03,147.147 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:58:03,254.254 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:58:03,258.258 INFO    ] No camera update needed
[2026-08-29 21:58:03,262.262 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:58:03,267.267 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:58:03,277.277 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:58:03,284.284 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:58:05,326.326 INFO    ] ================================================
[2026-08-29 21:58:05,342.342 INFO    ] Launching Daemon at Sat Aug 29 21:58:05 IST 2026
[2026-08-29 21:58:05,352.352 INFO    ] ================================================
[2026-08-29 21:58:05,723.723 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:58:05
[2026-08-29 21:58:06,057.057 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:58:06,207.207 INFO    ] Initializing speech engine...
[2026-08-29 21:58:06,212.212 INFO    ] 2026-08-29 21:58:06
[2026-08-29 21:58:06,417.417 INFO    ] 2026-08-29 21:58:06
[2026-08-29 21:58:06,451.451 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:58:06,573.573 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:58:06,581.581 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:58:06,691.691 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:58:06,762.762 INFO    ] time= 29/08/2026 21:58:06
[2026-08-29 21:58:06,806.806 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:58:06,825.825 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:58:06,882.882 INFO    ] No existing commands found in stream
[2026-08-29 21:58:11,893.893 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:58:11,896.896 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-08-29 21:58:15,060.060 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:58:15,063.063 INFO    ] Checking for system updates...
[2026-08-29 21:58:15,101.101 INFO    ] 200
[2026-08-29 21:58:15,104.104 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:58:15,157.157 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:58:15,159.159 INFO    ] No update needed
[2026-08-29 21:58:15,162.162 INFO    ] Checking for camera pi updates...
[2026-08-29 21:58:15,196.196 INFO    ] 200
[2026-08-29 21:58:15,198.198 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:58:15,239.239 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:58:15,336.336 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:58:15,338.338 INFO    ] No camera update needed
[2026-08-29 21:58:15,341.341 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:58:15,343.343 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:58:15,348.348 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:58:15,353.353 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:58:17,393.393 INFO    ] ================================================
[2026-08-29 21:58:17,408.408 INFO    ] Launching Daemon at Sat Aug 29 21:58:17 IST 2026
[2026-08-29 21:58:17,419.419 INFO    ] ================================================
[2026-08-29 21:58:18,002.002 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:58:17
[2026-08-29 21:58:18,371.371 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:58:18,511.511 INFO    ] Initializing speech engine...
[2026-08-29 21:58:18,525.525 INFO    ] 2026-08-29 21:58:18
[2026-08-29 21:58:18,775.775 INFO    ] 2026-08-29 21:58:18
[2026-08-29 21:58:18,810.810 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:58:18,983.983 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:58:18,994.994 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:58:19,105.105 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:58:19,125.125 INFO    ] time= 29/08/2026 21:58:19
[2026-08-29 21:58:19,144.144 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:58:19,152.152 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:58:19,222.222 INFO    ] No existing commands found in stream
[2026-08-29 21:58:24,258.258 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:58:24,260.260 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-08-29 21:58:30,102.102 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:58:30,103.103 INFO    ] Checking for system updates...
[2026-08-29 21:58:30,125.125 INFO    ] 200
[2026-08-29 21:58:30,126.126 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:58:30,157.157 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:58:30,159.159 INFO    ] No update needed
[2026-08-29 21:58:30,160.160 INFO    ] Checking for camera pi updates...
[2026-08-29 21:58:30,180.180 INFO    ] 200
[2026-08-29 21:58:30,182.182 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:58:30,205.205 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:58:30,309.309 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:58:30,310.310 INFO    ] No camera update needed
[2026-08-29 21:58:30,311.311 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:58:30,313.313 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:58:30,315.315 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:58:30,318.318 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:58:32,351.351 INFO    ] ================================================
[2026-08-29 21:58:32,361.361 INFO    ] Launching Daemon at Sat Aug 29 21:58:32 IST 2026
[2026-08-29 21:58:32,369.369 INFO    ] ================================================
[2026-08-29 21:58:32,974.974 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:58:32
[2026-08-29 21:58:33,570.570 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:58:33,837.837 INFO    ] Initializing speech engine...
[2026-08-29 21:58:33,848.848 INFO    ] 2026-08-29 21:58:33
[2026-08-29 21:58:34,103.103 INFO    ] 2026-08-29 21:58:34
[2026-08-29 21:58:34,138.138 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:58:34,313.313 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:58:34,328.328 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:58:34,438.438 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:58:34,443.443 INFO    ] time= 29/08/2026 21:58:34
[2026-08-29 21:58:34,462.462 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:58:34,490.490 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:58:34,560.560 INFO    ] No existing commands found in stream
[2026-08-29 21:58:39,575.575 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:58:39,577.577 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-08-29 21:58:40,669.669 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:58:40,670.670 INFO    ] Checking for system updates...
[2026-08-29 21:58:40,693.693 INFO    ] 200
[2026-08-29 21:58:40,694.694 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:58:40,725.725 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:58:40,727.727 INFO    ] No update needed
[2026-08-29 21:58:40,728.728 INFO    ] Checking for camera pi updates...
[2026-08-29 21:58:40,749.749 INFO    ] 200
[2026-08-29 21:58:40,751.751 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:58:40,777.777 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:58:40,861.861 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:58:40,863.863 INFO    ] No camera update needed
[2026-08-29 21:58:40,864.864 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:58:40,865.865 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:58:40,868.868 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:58:40,871.871 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:58:42,912.912 INFO    ] ================================================
[2026-08-29 21:58:42,928.928 INFO    ] Launching Daemon at Sat Aug 29 21:58:42 IST 2026
[2026-08-29 21:58:42,939.939 INFO    ] ================================================
[2026-08-29 21:58:43,436.436 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:58:43
[2026-08-29 21:58:44,038.038 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:58:44,300.300 INFO    ] Initializing speech engine...
[2026-08-29 21:58:44,316.316 INFO    ] 2026-08-29 21:58:44
[2026-08-29 21:58:44,599.599 INFO    ] 2026-08-29 21:58:44
[2026-08-29 21:58:44,635.635 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:58:44,826.826 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:58:44,833.833 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:58:44,961.961 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:58:44,968.968 INFO    ] time= 29/08/2026 21:58:44
[2026-08-29 21:58:44,974.974 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:58:44,994.994 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:58:45,092.092 INFO    ] No existing commands found in stream
[2026-08-29 21:58:50,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:58:50,107.107 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-08-29 21:58:50,489.489 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 21:58:50,490.490 INFO    ] Checking for system updates...
[2026-08-29 21:58:50,510.510 INFO    ] 200
[2026-08-29 21:58:50,512.512 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:58:50,544.544 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:58:50,546.546 INFO    ] No update needed
[2026-08-29 21:58:50,547.547 INFO    ] Checking for camera pi updates...
[2026-08-29 21:58:50,566.566 INFO    ] 200
[2026-08-29 21:58:50,567.567 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:58:50,595.595 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:58:50,700.700 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:58:50,702.702 INFO    ] No camera update needed
[2026-08-29 21:58:50,705.705 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:58:50,707.707 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:58:50,712.712 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:58:50,717.717 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:58:52,757.757 INFO    ] ================================================
[2026-08-29 21:58:52,773.773 INFO    ] Launching Daemon at Sat Aug 29 21:58:52 IST 2026
[2026-08-29 21:58:52,783.783 INFO    ] ================================================
[2026-08-29 21:58:53,353.353 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:58:53
[2026-08-29 21:58:53,939.939 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:58:54,215.215 INFO    ] Initializing speech engine...
[2026-08-29 21:58:54,220.220 INFO    ] 2026-08-29 21:58:54
[2026-08-29 21:58:54,470.470 INFO    ] 2026-08-29 21:58:54
[2026-08-29 21:58:54,536.536 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:58:54,681.681 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:58:54,693.693 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:58:54,804.804 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:58:54,808.808 INFO    ] time= 29/08/2026 21:58:54
[2026-08-29 21:58:54,827.827 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:58:54,847.847 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:58:54,920.920 INFO    ] No existing commands found in stream
[2026-08-29 21:58:59,932.932 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:58:59,935.935 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-08-29 21:59:02,369.369 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 21:59:02,372.372 INFO    ] Checking for system updates...
[2026-08-29 21:59:02,425.425 INFO    ] 200
[2026-08-29 21:59:02,428.428 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:59:02,502.502 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:59:02,505.505 INFO    ] No update needed
[2026-08-29 21:59:02,508.508 INFO    ] Checking for camera pi updates...
[2026-08-29 21:59:02,546.546 INFO    ] 200
[2026-08-29 21:59:02,549.549 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:59:02,596.596 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:59:02,713.713 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:59:02,716.716 INFO    ] No camera update needed
[2026-08-29 21:59:02,719.719 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:59:02,722.722 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:59:02,728.728 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:59:02,734.734 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:59:04,776.776 INFO    ] ================================================
[2026-08-29 21:59:04,792.792 INFO    ] Launching Daemon at Sat Aug 29 21:59:04 IST 2026
[2026-08-29 21:59:04,803.803 INFO    ] ================================================
[2026-08-29 21:59:05,200.200 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:59:05
[2026-08-29 21:59:05,513.513 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:59:05,655.655 INFO    ] Initializing speech engine...
[2026-08-29 21:59:05,660.660 INFO    ] 2026-08-29 21:59:05
[2026-08-29 21:59:05,862.862 INFO    ] 2026-08-29 21:59:05
[2026-08-29 21:59:05,890.890 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:59:06,012.012 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:59:06,055.055 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:59:06,205.205 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:59:06,267.267 INFO    ] time= 29/08/2026 21:59:06
[2026-08-29 21:59:06,337.337 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:59:06,371.371 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:59:06,507.507 INFO    ] No existing commands found in stream
[2026-08-29 21:59:11,543.543 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:59:11,546.546 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-08-29 21:59:15,645.645 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:59:15,647.647 INFO    ] Checking for system updates...
[2026-08-29 21:59:15,684.684 INFO    ] 200
[2026-08-29 21:59:15,687.687 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:59:15,745.745 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:59:15,748.748 INFO    ] No update needed
[2026-08-29 21:59:15,751.751 INFO    ] Checking for camera pi updates...
[2026-08-29 21:59:15,785.785 INFO    ] 200
[2026-08-29 21:59:15,788.788 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:59:15,830.830 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:59:15,918.918 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:59:15,920.920 INFO    ] No camera update needed
[2026-08-29 21:59:15,923.923 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:59:15,926.926 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:59:15,932.932 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:59:15,937.937 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:59:17,978.978 INFO    ] ================================================
[2026-08-29 21:59:17,994.994 INFO    ] Launching Daemon at Sat Aug 29 21:59:17 IST 2026
[2026-08-29 21:59:18,005.005 INFO    ] ================================================
[2026-08-29 21:59:18,379.379 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:59:18
[2026-08-29 21:59:18,922.922 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:59:19,195.195 INFO    ] Initializing speech engine...
[2026-08-29 21:59:19,203.203 INFO    ] 2026-08-29 21:59:19
[2026-08-29 21:59:19,456.456 INFO    ] 2026-08-29 21:59:19
[2026-08-29 21:59:19,491.491 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:59:19,665.665 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:59:19,680.680 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:59:19,820.820 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:59:19,834.834 INFO    ] time= 29/08/2026 21:59:19
[2026-08-29 21:59:19,838.838 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:59:19,844.844 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:59:19,909.909 INFO    ] No existing commands found in stream
[2026-08-29 21:59:24,922.922 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:59:24,925.925 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-08-29 21:59:27,672.672 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 21:59:27,674.674 INFO    ] Checking for system updates...
[2026-08-29 21:59:27,694.694 INFO    ] 200
[2026-08-29 21:59:27,696.696 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:59:27,729.729 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:59:27,730.730 INFO    ] No update needed
[2026-08-29 21:59:27,732.732 INFO    ] Checking for camera pi updates...
[2026-08-29 21:59:27,752.752 INFO    ] 200
[2026-08-29 21:59:27,753.753 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:59:27,778.778 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:59:27,851.851 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:59:27,853.853 INFO    ] No camera update needed
[2026-08-29 21:59:27,854.854 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:59:27,855.855 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:59:27,858.858 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:59:27,861.861 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:59:29,900.900 INFO    ] ================================================
[2026-08-29 21:59:29,916.916 INFO    ] Launching Daemon at Sat Aug 29 21:59:29 IST 2026
[2026-08-29 21:59:29,927.927 INFO    ] ================================================
[2026-08-29 21:59:30,274.274 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:59:30
[2026-08-29 21:59:30,585.585 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:59:30,815.815 INFO    ] Initializing speech engine...
[2026-08-29 21:59:30,826.826 INFO    ] 2026-08-29 21:59:30
[2026-08-29 21:59:31,079.079 INFO    ] 2026-08-29 21:59:31
[2026-08-29 21:59:31,114.114 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:59:31,289.289 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:59:31,301.301 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:59:31,413.413 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:59:31,418.418 INFO    ] time= 29/08/2026 21:59:31
[2026-08-29 21:59:31,435.435 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:59:31,456.456 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:59:31,530.530 INFO    ] No existing commands found in stream
[2026-08-29 21:59:36,542.542 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:59:36,545.545 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 21:59:38,825.825 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:59:38,827.827 INFO    ] Checking for system updates...
[2026-08-29 21:59:38,848.848 INFO    ] 200
[2026-08-29 21:59:38,850.850 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:59:38,880.880 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:59:38,881.881 INFO    ] No update needed
[2026-08-29 21:59:38,882.882 INFO    ] Checking for camera pi updates...
[2026-08-29 21:59:38,903.903 INFO    ] 200
[2026-08-29 21:59:38,904.904 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:59:38,927.927 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:59:39,021.021 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:59:39,024.024 INFO    ] No camera update needed
[2026-08-29 21:59:39,026.026 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:59:39,028.028 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:59:39,033.033 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:59:39,038.038 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:59:41,078.078 INFO    ] ================================================
[2026-08-29 21:59:41,094.094 INFO    ] Launching Daemon at Sat Aug 29 21:59:41 IST 2026
[2026-08-29 21:59:41,106.106 INFO    ] ================================================
[2026-08-29 21:59:41,679.679 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:59:41
[2026-08-29 21:59:42,155.155 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:59:42,288.288 INFO    ] Initializing speech engine...
[2026-08-29 21:59:42,293.293 INFO    ] 2026-08-29 21:59:42
[2026-08-29 21:59:42,521.521 INFO    ] 2026-08-29 21:59:42
[2026-08-29 21:59:42,549.549 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:59:42,749.749 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:59:42,753.753 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:59:42,892.892 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:59:42,938.938 INFO    ] time= 29/08/2026 21:59:42
[2026-08-29 21:59:42,975.975 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:59:43,001.001 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:59:43,092.092 INFO    ] No existing commands found in stream
[2026-08-29 21:59:48,117.117 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:59:48,120.120 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-08-29 21:59:48,601.601 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 21:59:48,602.602 INFO    ] Checking for system updates...
[2026-08-29 21:59:48,623.623 INFO    ] 200
[2026-08-29 21:59:48,625.625 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:59:48,656.656 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:59:48,657.657 INFO    ] No update needed
[2026-08-29 21:59:48,659.659 INFO    ] Checking for camera pi updates...
[2026-08-29 21:59:48,679.679 INFO    ] 200
[2026-08-29 21:59:48,680.680 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:59:48,703.703 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 21:59:48,893.893 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 21:59:48,895.895 INFO    ] No camera update needed
[2026-08-29 21:59:48,896.896 INFO    ] Script finished. Safe exiting...
[2026-08-29 21:59:48,897.897 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 21:59:48,901.901 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 21:59:48,904.904 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 21:59:50,942.942 INFO    ] ================================================
[2026-08-29 21:59:50,958.958 INFO    ] Launching Daemon at Sat Aug 29 21:59:50 IST 2026
[2026-08-29 21:59:50,969.969 INFO    ] ================================================
[2026-08-29 21:59:51,325.325 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 21:59:51
[2026-08-29 21:59:51,643.643 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 21:59:51,777.777 INFO    ] Initializing speech engine...
[2026-08-29 21:59:51,782.782 INFO    ] 2026-08-29 21:59:51
[2026-08-29 21:59:52,011.011 INFO    ] 2026-08-29 21:59:51
[2026-08-29 21:59:52,042.042 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 21:59:52,173.173 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 21:59:52,187.187 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 21:59:52,324.324 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 21:59:52,373.373 INFO    ] time= 29/08/2026 21:59:52
[2026-08-29 21:59:52,429.429 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 21:59:52,472.472 INFO    ] Checking for existing commands in stream...
[2026-08-29 21:59:52,592.592 INFO    ] No existing commands found in stream
[2026-08-29 21:59:57,603.603 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 21:59:57,605.605 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-08-29 21:59:59,825.825 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 21:59:59,827.827 INFO    ] Checking for system updates...
[2026-08-29 21:59:59,848.848 INFO    ] 200
[2026-08-29 21:59:59,849.849 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:59:59,881.881 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 21:59:59,883.883 INFO    ] No update needed
[2026-08-29 21:59:59,885.885 INFO    ] Checking for camera pi updates...
[2026-08-29 21:59:59,906.906 INFO    ] 200
[2026-08-29 21:59:59,907.907 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 21:59:59,931.931 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:00:00,005.005 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:00:00,007.007 INFO    ] No camera update needed
[2026-08-29 22:00:00,008.008 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:00:00,010.010 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:00:00,013.013 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:00:00,016.016 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:00:02,229.229 INFO    ] ================================================
[2026-08-29 22:00:02,353.353 INFO    ] Launching Daemon at Sat Aug 29 22:00:02 IST 2026
[2026-08-29 22:00:02,418.418 INFO    ] ================================================
[2026-08-29 22:00:03,967.967 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:00:03
[2026-08-29 22:00:05,869.869 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:00:06,432.432 INFO    ] Initializing speech engine...
[2026-08-29 22:00:06,447.447 INFO    ] 2026-08-29 22:00:06
[2026-08-29 22:00:06,734.734 INFO    ] 2026-08-29 22:00:06
[2026-08-29 22:00:06,820.820 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:00:06,971.971 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:00:06,981.981 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:00:07,111.111 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:00:07,124.124 INFO    ] time= 29/08/2026 22:00:07
[2026-08-29 22:00:07,179.179 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:00:07,234.234 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:00:07,304.304 INFO    ] No existing commands found in stream
[2026-08-29 22:00:12,316.316 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:00:12,319.319 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-08-29 22:00:14,779.779 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:00:14,780.780 INFO    ] Checking for system updates...
[2026-08-29 22:00:14,801.801 INFO    ] 200
[2026-08-29 22:00:14,803.803 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:00:14,833.833 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:00:14,834.834 INFO    ] No update needed
[2026-08-29 22:00:14,836.836 INFO    ] Checking for camera pi updates...
[2026-08-29 22:00:14,855.855 INFO    ] 200
[2026-08-29 22:00:14,856.856 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:00:14,880.880 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:00:14,963.963 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:00:14,964.964 INFO    ] No camera update needed
[2026-08-29 22:00:14,966.966 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:00:14,967.967 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:00:14,970.970 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:00:14,973.973 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:00:17,013.013 INFO    ] ================================================
[2026-08-29 22:00:17,028.028 INFO    ] Launching Daemon at Sat Aug 29 22:00:17 IST 2026
[2026-08-29 22:00:17,039.039 INFO    ] ================================================
[2026-08-29 22:00:17,393.393 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:00:17
[2026-08-29 22:00:17,704.704 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:00:17,832.832 INFO    ] Initializing speech engine...
[2026-08-29 22:00:17,837.837 INFO    ] 2026-08-29 22:00:17
[2026-08-29 22:00:18,056.056 INFO    ] 2026-08-29 22:00:18
[2026-08-29 22:00:18,085.085 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:00:18,210.210 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:00:18,248.248 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:00:18,406.406 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:00:18,473.473 INFO    ] time= 29/08/2026 22:00:18
[2026-08-29 22:00:18,506.506 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:00:18,508.508 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:00:18,579.579 INFO    ] No existing commands found in stream
[2026-08-29 22:00:23,590.590 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:00:23,593.593 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-08-29 22:00:26,054.054 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:00:26,055.055 INFO    ] Checking for system updates...
[2026-08-29 22:00:26,075.075 INFO    ] 200
[2026-08-29 22:00:26,077.077 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:00:26,109.109 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:00:26,110.110 INFO    ] No update needed
[2026-08-29 22:00:26,112.112 INFO    ] Checking for camera pi updates...
[2026-08-29 22:00:26,133.133 INFO    ] 200
[2026-08-29 22:00:26,135.135 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:00:26,157.157 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:00:26,208.208 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:00:26,209.209 INFO    ] No camera update needed
[2026-08-29 22:00:26,211.211 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:00:26,212.212 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:00:26,215.215 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:00:26,218.218 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:00:28,257.257 INFO    ] ================================================
[2026-08-29 22:00:28,273.273 INFO    ] Launching Daemon at Sat Aug 29 22:00:28 IST 2026
[2026-08-29 22:00:28,284.284 INFO    ] ================================================
[2026-08-29 22:00:28,652.652 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:00:28
[2026-08-29 22:00:28,982.982 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:00:29,131.131 INFO    ] Initializing speech engine...
[2026-08-29 22:00:29,137.137 INFO    ] 2026-08-29 22:00:29
[2026-08-29 22:00:29,361.361 INFO    ] 2026-08-29 22:00:29
[2026-08-29 22:00:29,416.416 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:00:29,583.583 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:00:29,589.589 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:00:29,746.746 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:00:29,790.790 INFO    ] time= 29/08/2026 22:00:29
[2026-08-29 22:00:29,807.807 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:00:29,818.818 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:00:29,921.921 INFO    ] No existing commands found in stream
[2026-08-29 22:00:34,952.952 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:00:34,955.955 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-08-29 22:00:38,763.763 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:00:38,764.764 INFO    ] Checking for system updates...
[2026-08-29 22:00:38,785.785 INFO    ] 200
[2026-08-29 22:00:38,786.786 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:00:38,818.818 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:00:38,820.820 INFO    ] No update needed
[2026-08-29 22:00:38,821.821 INFO    ] Checking for camera pi updates...
[2026-08-29 22:00:38,841.841 INFO    ] 200
[2026-08-29 22:00:38,843.843 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:00:38,867.867 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:00:38,922.922 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:00:38,924.924 INFO    ] No camera update needed
[2026-08-29 22:00:38,925.925 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:00:38,926.926 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:00:38,929.929 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:00:38,932.932 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:00:40,973.973 INFO    ] ================================================
[2026-08-29 22:00:40,989.989 INFO    ] Launching Daemon at Sat Aug 29 22:00:40 IST 2026
[2026-08-29 22:00:41,000.000 INFO    ] ================================================
[2026-08-29 22:00:41,325.325 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:00:41
[2026-08-29 22:00:41,636.636 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:00:41,781.781 INFO    ] Initializing speech engine...
[2026-08-29 22:00:41,786.786 INFO    ] 2026-08-29 22:00:41
[2026-08-29 22:00:41,997.997 INFO    ] 2026-08-29 22:00:41
[2026-08-29 22:00:42,027.027 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:00:42,163.163 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:00:42,168.168 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:00:42,285.285 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:00:42,325.325 INFO    ] time= 29/08/2026 22:00:42
[2026-08-29 22:00:42,373.373 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:00:42,416.416 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:00:42,470.470 INFO    ] No existing commands found in stream
[2026-08-29 22:00:47,482.482 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:00:47,485.485 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 22:00:48,701.701 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:00:48,703.703 INFO    ] Checking for system updates...
[2026-08-29 22:00:48,723.723 INFO    ] 200
[2026-08-29 22:00:48,724.724 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:00:48,754.754 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:00:48,756.756 INFO    ] No update needed
[2026-08-29 22:00:48,757.757 INFO    ] Checking for camera pi updates...
[2026-08-29 22:00:48,776.776 INFO    ] 200
[2026-08-29 22:00:48,777.777 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:00:48,800.800 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:00:48,869.869 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:00:48,870.870 INFO    ] No camera update needed
[2026-08-29 22:00:48,872.872 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:00:48,873.873 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:00:48,876.876 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:00:48,879.879 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:00:50,917.917 INFO    ] ================================================
[2026-08-29 22:00:50,933.933 INFO    ] Launching Daemon at Sat Aug 29 22:00:50 IST 2026
[2026-08-29 22:00:50,945.945 INFO    ] ================================================
[2026-08-29 22:00:51,433.433 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:00:51
[2026-08-29 22:00:52,022.022 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:00:52,293.293 INFO    ] Initializing speech engine...
[2026-08-29 22:00:52,302.302 INFO    ] 2026-08-29 22:00:52
[2026-08-29 22:00:52,555.555 INFO    ] 2026-08-29 22:00:52
[2026-08-29 22:00:52,591.591 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:00:52,765.765 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:00:52,778.778 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:00:52,923.923 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:00:52,931.931 INFO    ] time= 29/08/2026 22:00:52
[2026-08-29 22:00:52,938.938 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:00:52,986.986 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:00:53,099.099 INFO    ] No existing commands found in stream
[2026-08-29 22:00:58,124.124 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:00:58,127.127 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-08-29 22:01:01,062.062 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:01:01,064.064 INFO    ] Checking for system updates...
[2026-08-29 22:01:01,085.085 INFO    ] 200
[2026-08-29 22:01:01,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:01:01,116.116 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:01:01,118.118 INFO    ] No update needed
[2026-08-29 22:01:01,119.119 INFO    ] Checking for camera pi updates...
[2026-08-29 22:01:01,138.138 INFO    ] 200
[2026-08-29 22:01:01,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:01:01,162.162 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:01:01,274.274 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:01:01,277.277 INFO    ] No camera update needed
[2026-08-29 22:01:01,279.279 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:01:01,281.281 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:01:01,286.286 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:01:01,291.291 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:01:03,334.334 INFO    ] ================================================
[2026-08-29 22:01:03,349.349 INFO    ] Launching Daemon at Sat Aug 29 22:01:03 IST 2026
[2026-08-29 22:01:03,361.361 INFO    ] ================================================
[2026-08-29 22:01:03,929.929 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:01:03
[2026-08-29 22:01:04,429.429 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:01:04,564.564 INFO    ] Initializing speech engine...
[2026-08-29 22:01:04,577.577 INFO    ] 2026-08-29 22:01:04
[2026-08-29 22:01:04,794.794 INFO    ] 2026-08-29 22:01:04
[2026-08-29 22:01:04,824.824 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:01:04,941.941 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:01:04,956.956 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:01:05,058.058 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:01:05,110.110 INFO    ] time= 29/08/2026 22:01:05
[2026-08-29 22:01:05,157.157 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:01:05,192.192 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:01:05,276.276 INFO    ] No existing commands found in stream
[2026-08-29 22:01:10,285.285 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:01:10,288.288 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-08-29 22:01:11,693.693 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:01:11,695.695 INFO    ] Checking for system updates...
[2026-08-29 22:01:11,715.715 INFO    ] 200
[2026-08-29 22:01:11,717.717 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:01:11,747.747 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:01:11,748.748 INFO    ] No update needed
[2026-08-29 22:01:11,749.749 INFO    ] Checking for camera pi updates...
[2026-08-29 22:01:11,769.769 INFO    ] 200
[2026-08-29 22:01:11,770.770 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:01:11,793.793 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:01:11,867.867 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:01:11,868.868 INFO    ] No camera update needed
[2026-08-29 22:01:11,869.869 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:01:11,871.871 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:01:11,874.874 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:01:11,876.876 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:01:13,915.915 INFO    ] ================================================
[2026-08-29 22:01:13,930.930 INFO    ] Launching Daemon at Sat Aug 29 22:01:13 IST 2026
[2026-08-29 22:01:13,940.940 INFO    ] ================================================
[2026-08-29 22:01:14,449.449 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:01:14
[2026-08-29 22:01:15,049.049 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:01:15,310.310 INFO    ] Initializing speech engine...
[2026-08-29 22:01:15,317.317 INFO    ] 2026-08-29 22:01:15
[2026-08-29 22:01:15,607.607 INFO    ] 2026-08-29 22:01:15
[2026-08-29 22:01:15,645.645 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:01:15,836.836 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:01:15,843.843 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:01:15,974.974 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:01:15,979.979 INFO    ] time= 29/08/2026 22:01:15
[2026-08-29 22:01:15,994.994 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:01:16,020.020 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:01:16,100.100 INFO    ] No existing commands found in stream
[2026-08-29 22:01:21,113.113 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:01:21,116.116 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-08-29 22:01:24,757.757 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:01:24,759.759 INFO    ] Checking for system updates...
[2026-08-29 22:01:24,795.795 INFO    ] 200
[2026-08-29 22:01:24,798.798 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:01:24,850.850 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:01:24,852.852 INFO    ] No update needed
[2026-08-29 22:01:24,855.855 INFO    ] Checking for camera pi updates...
[2026-08-29 22:01:24,891.891 INFO    ] 200
[2026-08-29 22:01:24,894.894 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:01:24,936.936 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:01:25,046.046 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:01:25,049.049 INFO    ] No camera update needed
[2026-08-29 22:01:25,051.051 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:01:25,054.054 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:01:25,059.059 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:01:25,064.064 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:01:27,104.104 INFO    ] ================================================
[2026-08-29 22:01:27,120.120 INFO    ] Launching Daemon at Sat Aug 29 22:01:27 IST 2026
[2026-08-29 22:01:27,131.131 INFO    ] ================================================
[2026-08-29 22:01:27,482.482 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:01:27
[2026-08-29 22:01:28,045.045 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:01:28,299.299 INFO    ] Initializing speech engine...
[2026-08-29 22:01:28,307.307 INFO    ] 2026-08-29 22:01:28
[2026-08-29 22:01:28,605.605 INFO    ] 2026-08-29 22:01:28
[2026-08-29 22:01:28,644.644 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:01:28,833.833 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:01:28,840.840 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:01:28,970.970 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:01:28,985.985 INFO    ] time= 29/08/2026 22:01:28
[2026-08-29 22:01:29,012.012 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:01:29,020.020 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:01:29,094.094 INFO    ] No existing commands found in stream
[2026-08-29 22:01:34,106.106 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:01:34,109.109 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-08-29 22:01:37,005.005 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:01:37,006.006 INFO    ] Checking for system updates...
[2026-08-29 22:01:37,027.027 INFO    ] 200
[2026-08-29 22:01:37,028.028 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:01:37,057.057 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:01:37,059.059 INFO    ] No update needed
[2026-08-29 22:01:37,060.060 INFO    ] Checking for camera pi updates...
[2026-08-29 22:01:37,079.079 INFO    ] 200
[2026-08-29 22:01:37,080.080 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:01:37,103.103 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:01:37,198.198 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:01:37,200.200 INFO    ] No camera update needed
[2026-08-29 22:01:37,203.203 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:01:37,205.205 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:01:37,211.211 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:01:37,216.216 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:01:39,256.256 INFO    ] ================================================
[2026-08-29 22:01:39,272.272 INFO    ] Launching Daemon at Sat Aug 29 22:01:39 IST 2026
[2026-08-29 22:01:39,283.283 INFO    ] ================================================
[2026-08-29 22:01:39,853.853 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:01:39
[2026-08-29 22:01:40,347.347 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:01:40,478.478 INFO    ] Initializing speech engine...
[2026-08-29 22:01:40,484.484 INFO    ] 2026-08-29 22:01:40
[2026-08-29 22:01:40,708.708 INFO    ] 2026-08-29 22:01:40
[2026-08-29 22:01:40,738.738 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:01:40,868.868 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:01:40,920.920 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:01:41,066.066 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:01:41,100.100 INFO    ] time= 29/08/2026 22:01:41
[2026-08-29 22:01:41,151.151 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:01:41,211.211 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:01:41,316.316 INFO    ] No existing commands found in stream
[2026-08-29 22:01:46,341.341 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:01:46,344.344 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-08-29 22:01:49,976.976 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:01:49,978.978 INFO    ] Checking for system updates...
[2026-08-29 22:01:49,999.999 INFO    ] 200
[2026-08-29 22:01:50,000.000 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:01:50,032.032 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:01:50,034.034 INFO    ] No update needed
[2026-08-29 22:01:50,035.035 INFO    ] Checking for camera pi updates...
[2026-08-29 22:01:50,054.054 INFO    ] 200
[2026-08-29 22:01:50,055.055 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:01:50,078.078 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:01:50,156.156 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:01:50,158.158 INFO    ] No camera update needed
[2026-08-29 22:01:50,159.159 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:01:50,160.160 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:01:50,163.163 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:01:50,166.166 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:01:52,205.205 INFO    ] ================================================
[2026-08-29 22:01:52,220.220 INFO    ] Launching Daemon at Sat Aug 29 22:01:52 IST 2026
[2026-08-29 22:01:52,232.232 INFO    ] ================================================
[2026-08-29 22:01:52,584.584 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:01:52
[2026-08-29 22:01:52,917.917 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:01:53,063.063 INFO    ] Initializing speech engine...
[2026-08-29 22:01:53,074.074 INFO    ] 2026-08-29 22:01:53
[2026-08-29 22:01:53,281.281 INFO    ] 2026-08-29 22:01:53
[2026-08-29 22:01:53,311.311 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:01:53,436.436 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:01:53,499.499 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:01:53,639.639 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:01:53,707.707 INFO    ] time= 29/08/2026 22:01:53
[2026-08-29 22:01:53,731.731 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:01:53,738.738 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:01:53,807.807 INFO    ] No existing commands found in stream
[2026-08-29 22:01:58,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:01:58,824.824 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-08-29 22:02:02,999.999 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:02:03,003.003 INFO    ] Checking for system updates...
[2026-08-29 22:02:03,047.047 INFO    ] 200
[2026-08-29 22:02:03,050.050 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:02:03,109.109 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:02:03,112.112 INFO    ] No update needed
[2026-08-29 22:02:03,115.115 INFO    ] Checking for camera pi updates...
[2026-08-29 22:02:03,150.150 INFO    ] 200
[2026-08-29 22:02:03,153.153 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:02:03,194.194 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:02:03,286.286 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:02:03,289.289 INFO    ] No camera update needed
[2026-08-29 22:02:03,291.291 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:02:03,294.294 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:02:03,300.300 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:02:03,305.305 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:02:05,346.346 INFO    ] ================================================
[2026-08-29 22:02:05,362.362 INFO    ] Launching Daemon at Sat Aug 29 22:02:05 IST 2026
[2026-08-29 22:02:05,374.374 INFO    ] ================================================
[2026-08-29 22:02:05,755.755 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:02:05
[2026-08-29 22:02:06,131.131 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:02:06,442.442 INFO    ] Initializing speech engine...
[2026-08-29 22:02:06,453.453 INFO    ] 2026-08-29 22:02:06
[2026-08-29 22:02:06,725.725 INFO    ] 2026-08-29 22:02:06
[2026-08-29 22:02:06,779.779 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:02:07,008.008 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:02:07,017.017 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:02:07,156.156 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:02:07,196.196 INFO    ] time= 29/08/2026 22:02:07
[2026-08-29 22:02:07,241.241 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:02:07,293.293 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:02:07,347.347 INFO    ] No existing commands found in stream
[2026-08-29 22:02:12,354.354 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:02:12,357.357 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-08-29 22:02:16,472.472 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:02:16,473.473 INFO    ] Checking for system updates...
[2026-08-29 22:02:16,495.495 INFO    ] 200
[2026-08-29 22:02:16,496.496 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:02:16,526.526 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:02:16,528.528 INFO    ] No update needed
[2026-08-29 22:02:16,529.529 INFO    ] Checking for camera pi updates...
[2026-08-29 22:02:16,549.549 INFO    ] 200
[2026-08-29 22:02:16,550.550 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:02:16,573.573 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:02:16,668.668 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:02:16,670.670 INFO    ] No camera update needed
[2026-08-29 22:02:16,671.671 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:02:16,673.673 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:02:16,676.676 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:02:16,679.679 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:02:18,718.718 INFO    ] ================================================
[2026-08-29 22:02:18,735.735 INFO    ] Launching Daemon at Sat Aug 29 22:02:18 IST 2026
[2026-08-29 22:02:18,746.746 INFO    ] ================================================
[2026-08-29 22:02:19,114.114 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:02:19
[2026-08-29 22:02:19,448.448 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:02:19,589.589 INFO    ] Initializing speech engine...
[2026-08-29 22:02:19,603.603 INFO    ] 2026-08-29 22:02:19
[2026-08-29 22:02:19,847.847 INFO    ] 2026-08-29 22:02:19
[2026-08-29 22:02:19,906.906 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:02:20,144.144 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:02:20,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:02:20,332.332 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:02:20,341.341 INFO    ] time= 29/08/2026 22:02:20
[2026-08-29 22:02:20,349.349 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:02:20,414.414 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:02:20,523.523 INFO    ] No existing commands found in stream
[2026-08-29 22:02:25,554.554 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:02:25,557.557 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 22:02:29,140.140 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:02:29,141.141 INFO    ] Checking for system updates...
[2026-08-29 22:02:29,161.161 INFO    ] 200
[2026-08-29 22:02:29,163.163 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:02:29,203.203 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:02:29,204.204 INFO    ] No update needed
[2026-08-29 22:02:29,205.205 INFO    ] Checking for camera pi updates...
[2026-08-29 22:02:29,225.225 INFO    ] 200
[2026-08-29 22:02:29,226.226 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:02:29,251.251 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:02:29,325.325 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:02:29,327.327 INFO    ] No camera update needed
[2026-08-29 22:02:29,328.328 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:02:29,329.329 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:02:29,332.332 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:02:29,335.335 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:02:31,373.373 INFO    ] ================================================
[2026-08-29 22:02:31,389.389 INFO    ] Launching Daemon at Sat Aug 29 22:02:31 IST 2026
[2026-08-29 22:02:31,399.399 INFO    ] ================================================
[2026-08-29 22:02:31,986.986 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:02:31
[2026-08-29 22:02:32,658.658 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:02:32,936.936 INFO    ] Initializing speech engine...
[2026-08-29 22:02:32,943.943 INFO    ] 2026-08-29 22:02:32
[2026-08-29 22:02:33,205.205 INFO    ] 2026-08-29 22:02:33
[2026-08-29 22:02:33,256.256 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:02:33,401.401 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:02:33,413.413 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:02:33,524.524 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:02:33,531.531 INFO    ] time= 29/08/2026 22:02:33
[2026-08-29 22:02:33,549.549 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:02:33,571.571 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:02:33,644.644 INFO    ] No existing commands found in stream
[2026-08-29 22:02:38,670.670 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:02:38,673.673 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-08-29 22:02:42,079.079 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:02:42,081.081 INFO    ] Checking for system updates...
[2026-08-29 22:02:42,101.101 INFO    ] 200
[2026-08-29 22:02:42,103.103 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:02:42,133.133 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:02:42,134.134 INFO    ] No update needed
[2026-08-29 22:02:42,136.136 INFO    ] Checking for camera pi updates...
[2026-08-29 22:02:42,155.155 INFO    ] 200
[2026-08-29 22:02:42,156.156 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:02:42,181.181 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:02:42,260.260 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:02:42,261.261 INFO    ] No camera update needed
[2026-08-29 22:02:42,263.263 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:02:42,264.264 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:02:42,267.267 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:02:42,269.269 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:02:44,309.309 INFO    ] ================================================
[2026-08-29 22:02:44,325.325 INFO    ] Launching Daemon at Sat Aug 29 22:02:44 IST 2026
[2026-08-29 22:02:44,335.335 INFO    ] ================================================
[2026-08-29 22:02:44,841.841 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:02:44
[2026-08-29 22:02:45,425.425 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:02:45,688.688 INFO    ] Initializing speech engine...
[2026-08-29 22:02:45,702.702 INFO    ] 2026-08-29 22:02:45
[2026-08-29 22:02:45,960.960 INFO    ] 2026-08-29 22:02:45
[2026-08-29 22:02:46,002.002 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:02:46,170.170 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:02:46,184.184 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:02:46,297.297 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:02:46,302.302 INFO    ] time= 29/08/2026 22:02:46
[2026-08-29 22:02:46,320.320 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:02:46,343.343 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:02:46,417.417 INFO    ] No existing commands found in stream
[2026-08-29 22:02:51,432.432 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:02:51,435.435 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-08-29 22:02:52,999.999 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:02:53,001.001 INFO    ] Checking for system updates...
[2026-08-29 22:02:53,022.022 INFO    ] 200
[2026-08-29 22:02:53,023.023 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:02:53,053.053 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:02:53,054.054 INFO    ] No update needed
[2026-08-29 22:02:53,056.056 INFO    ] Checking for camera pi updates...
[2026-08-29 22:02:53,077.077 INFO    ] 200
[2026-08-29 22:02:53,079.079 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:02:53,104.104 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:02:53,202.202 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:02:53,205.205 INFO    ] No camera update needed
[2026-08-29 22:02:53,207.207 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:02:53,209.209 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:02:53,215.215 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:02:53,219.219 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:02:55,261.261 INFO    ] ================================================
[2026-08-29 22:02:55,276.276 INFO    ] Launching Daemon at Sat Aug 29 22:02:55 IST 2026
[2026-08-29 22:02:55,287.287 INFO    ] ================================================
[2026-08-29 22:02:55,866.866 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:02:55
[2026-08-29 22:02:56,434.434 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:02:56,566.566 INFO    ] Initializing speech engine...
[2026-08-29 22:02:56,570.570 INFO    ] 2026-08-29 22:02:56
[2026-08-29 22:02:56,786.786 INFO    ] 2026-08-29 22:02:56
[2026-08-29 22:02:56,816.816 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:02:56,937.937 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:02:56,999.999 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:02:57,130.130 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:02:57,181.181 INFO    ] time= 29/08/2026 22:02:57
[2026-08-29 22:02:57,225.225 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:02:57,230.230 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:02:57,300.300 INFO    ] No existing commands found in stream
[2026-08-29 22:03:02,311.311 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:03:02,321.321 INFO    ] Waiting 2.52 seconds before fallback handling...
[2026-08-29 22:03:05,177.177 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:03:05,178.178 INFO    ] Checking for system updates...
[2026-08-29 22:03:05,198.198 INFO    ] 200
[2026-08-29 22:03:05,200.200 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:03:05,230.230 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:03:05,231.231 INFO    ] No update needed
[2026-08-29 22:03:05,233.233 INFO    ] Checking for camera pi updates...
[2026-08-29 22:03:05,252.252 INFO    ] 200
[2026-08-29 22:03:05,253.253 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:03:05,276.276 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:03:05,346.346 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:03:05,348.348 INFO    ] No camera update needed
[2026-08-29 22:03:05,349.349 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:03:05,350.350 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:03:05,353.353 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:03:05,356.356 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:03:07,394.394 INFO    ] ================================================
[2026-08-29 22:03:07,409.409 INFO    ] Launching Daemon at Sat Aug 29 22:03:07 IST 2026
[2026-08-29 22:03:07,420.420 INFO    ] ================================================
[2026-08-29 22:03:07,745.745 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:03:07
[2026-08-29 22:03:08,056.056 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:03:08,195.195 INFO    ] Initializing speech engine...
[2026-08-29 22:03:08,205.205 INFO    ] 2026-08-29 22:03:08
[2026-08-29 22:03:08,409.409 INFO    ] 2026-08-29 22:03:08
[2026-08-29 22:03:08,439.439 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:03:08,554.554 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:03:08,563.563 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:03:08,727.727 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:03:08,767.767 INFO    ] time= 29/08/2026 22:03:08
[2026-08-29 22:03:08,774.774 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:03:08,792.792 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:03:08,888.888 INFO    ] No existing commands found in stream
[2026-08-29 22:03:13,910.910 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:03:13,913.913 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-08-29 22:03:17,964.964 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:03:17,965.965 INFO    ] Checking for system updates...
[2026-08-29 22:03:17,985.985 INFO    ] 200
[2026-08-29 22:03:17,987.987 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:03:18,017.017 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:03:18,018.018 INFO    ] No update needed
[2026-08-29 22:03:18,020.020 INFO    ] Checking for camera pi updates...
[2026-08-29 22:03:18,039.039 INFO    ] 200
[2026-08-29 22:03:18,040.040 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:03:18,063.063 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:03:18,129.129 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:03:18,130.130 INFO    ] No camera update needed
[2026-08-29 22:03:18,131.131 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:03:18,133.133 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:03:18,136.136 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:03:18,138.138 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:03:20,180.180 INFO    ] ================================================
[2026-08-29 22:03:20,195.195 INFO    ] Launching Daemon at Sat Aug 29 22:03:20 IST 2026
[2026-08-29 22:03:20,206.206 INFO    ] ================================================
[2026-08-29 22:03:20,757.757 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:03:20
[2026-08-29 22:03:21,357.357 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:03:21,637.637 INFO    ] Initializing speech engine...
[2026-08-29 22:03:21,646.646 INFO    ] 2026-08-29 22:03:21
[2026-08-29 22:03:21,905.905 INFO    ] 2026-08-29 22:03:21
[2026-08-29 22:03:21,961.961 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:03:22,183.183 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:03:22,192.192 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:03:22,324.324 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:03:22,366.366 INFO    ] time= 29/08/2026 22:03:22
[2026-08-29 22:03:22,431.431 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:03:22,461.461 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:03:22,509.509 INFO    ] No existing commands found in stream
[2026-08-29 22:03:27,521.521 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:03:27,524.524 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-08-29 22:03:29,679.679 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:03:29,682.682 INFO    ] Checking for system updates...
[2026-08-29 22:03:29,717.717 INFO    ] 200
[2026-08-29 22:03:29,720.720 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:03:29,772.772 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:03:29,774.774 INFO    ] No update needed
[2026-08-29 22:03:29,777.777 INFO    ] Checking for camera pi updates...
[2026-08-29 22:03:29,813.813 INFO    ] 200
[2026-08-29 22:03:29,816.816 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:03:29,851.851 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:03:29,923.923 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:03:29,924.924 INFO    ] No camera update needed
[2026-08-29 22:03:29,926.926 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:03:29,927.927 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:03:29,930.930 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:03:29,932.932 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:03:31,972.972 INFO    ] ================================================
[2026-08-29 22:03:31,989.989 INFO    ] Launching Daemon at Sat Aug 29 22:03:31 IST 2026
[2026-08-29 22:03:32,000.000 INFO    ] ================================================
[2026-08-29 22:03:32,607.607 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:03:32
[2026-08-29 22:03:33,192.192 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:03:33,462.462 INFO    ] Initializing speech engine...
[2026-08-29 22:03:33,470.470 INFO    ] 2026-08-29 22:03:33
[2026-08-29 22:03:33,721.721 INFO    ] 2026-08-29 22:03:33
[2026-08-29 22:03:33,756.756 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:03:33,937.937 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:03:33,952.952 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:03:34,086.086 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:03:34,094.094 INFO    ] time= 29/08/2026 22:03:34
[2026-08-29 22:03:34,100.100 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:03:34,112.112 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:03:34,238.238 INFO    ] No existing commands found in stream
[2026-08-29 22:03:39,263.263 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:03:39,266.266 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-08-29 22:03:40,312.312 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:03:40,314.314 INFO    ] Checking for system updates...
[2026-08-29 22:03:40,335.335 INFO    ] 200
[2026-08-29 22:03:40,336.336 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:03:40,366.366 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:03:40,367.367 INFO    ] No update needed
[2026-08-29 22:03:40,369.369 INFO    ] Checking for camera pi updates...
[2026-08-29 22:03:40,388.388 INFO    ] 200
[2026-08-29 22:03:40,389.389 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:03:40,414.414 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:03:40,504.504 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:03:40,505.505 INFO    ] No camera update needed
[2026-08-29 22:03:40,506.506 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:03:40,507.507 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:03:40,510.510 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:03:40,513.513 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:03:42,551.551 INFO    ] ================================================
[2026-08-29 22:03:42,566.566 INFO    ] Launching Daemon at Sat Aug 29 22:03:42 IST 2026
[2026-08-29 22:03:42,576.576 INFO    ] ================================================
[2026-08-29 22:03:43,200.200 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:03:43
[2026-08-29 22:03:43,853.853 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:03:44,152.152 INFO    ] Initializing speech engine...
[2026-08-29 22:03:44,159.159 INFO    ] 2026-08-29 22:03:44
[2026-08-29 22:03:44,479.479 INFO    ] 2026-08-29 22:03:44
[2026-08-29 22:03:44,567.567 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:03:44,719.719 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:03:44,729.729 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:03:44,864.864 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:03:44,912.912 INFO    ] time= 29/08/2026 22:03:44
[2026-08-29 22:03:44,977.977 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:03:45,002.002 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:03:45,055.055 INFO    ] No existing commands found in stream
[2026-08-29 22:03:50,069.069 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:03:50,072.072 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-08-29 22:03:54,232.232 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:03:54,233.233 INFO    ] Checking for system updates...
[2026-08-29 22:03:54,255.255 INFO    ] 200
[2026-08-29 22:03:54,256.256 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:03:54,289.289 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:03:54,290.290 INFO    ] No update needed
[2026-08-29 22:03:54,291.291 INFO    ] Checking for camera pi updates...
[2026-08-29 22:03:54,311.311 INFO    ] 200
[2026-08-29 22:03:54,312.312 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:03:54,337.337 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:03:54,408.408 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:03:54,409.409 INFO    ] No camera update needed
[2026-08-29 22:03:54,410.410 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:03:54,412.412 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:03:54,415.415 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:03:54,418.418 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:03:56,458.458 INFO    ] ================================================
[2026-08-29 22:03:56,474.474 INFO    ] Launching Daemon at Sat Aug 29 22:03:56 IST 2026
[2026-08-29 22:03:56,484.484 INFO    ] ================================================
[2026-08-29 22:03:56,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:03:56
[2026-08-29 22:03:57,380.380 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:03:57,643.643 INFO    ] Initializing speech engine...
[2026-08-29 22:03:57,657.657 INFO    ] 2026-08-29 22:03:57
[2026-08-29 22:03:57,912.912 INFO    ] 2026-08-29 22:03:57
[2026-08-29 22:03:57,948.948 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:03:58,124.124 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:03:58,142.142 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:03:58,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:03:58,285.285 INFO    ] time= 29/08/2026 22:03:58
[2026-08-29 22:03:58,291.291 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:03:58,322.322 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:03:58,452.452 INFO    ] No existing commands found in stream
[2026-08-29 22:04:03,483.483 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:04:03,487.487 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-08-29 22:04:07,467.467 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:04:07,468.468 INFO    ] Checking for system updates...
[2026-08-29 22:04:07,488.488 INFO    ] 200
[2026-08-29 22:04:07,490.490 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:04:07,522.522 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:04:07,523.523 INFO    ] No update needed
[2026-08-29 22:04:07,524.524 INFO    ] Checking for camera pi updates...
[2026-08-29 22:04:07,544.544 INFO    ] 200
[2026-08-29 22:04:07,545.545 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:04:07,568.568 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:04:07,741.741 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:04:07,742.742 INFO    ] No camera update needed
[2026-08-29 22:04:07,744.744 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:04:07,745.745 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:04:07,748.748 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:04:07,751.751 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:04:09,790.790 INFO    ] ================================================
[2026-08-29 22:04:09,807.807 INFO    ] Launching Daemon at Sat Aug 29 22:04:09 IST 2026
[2026-08-29 22:04:09,820.820 INFO    ] ================================================
[2026-08-29 22:04:10,427.427 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:04:10
[2026-08-29 22:04:11,053.053 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:04:11,340.340 INFO    ] Initializing speech engine...
[2026-08-29 22:04:11,366.366 INFO    ] 2026-08-29 22:04:11
[2026-08-29 22:04:11,669.669 INFO    ] 2026-08-29 22:04:11
[2026-08-29 22:04:11,706.706 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:04:11,863.863 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:04:11,869.869 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:04:12,016.016 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:04:12,040.040 INFO    ] time= 29/08/2026 22:04:12
[2026-08-29 22:04:12,049.049 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:04:12,055.055 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:04:12,123.123 INFO    ] No existing commands found in stream
[2026-08-29 22:04:17,137.137 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:04:17,140.140 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 22:04:17,760.760 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:04:17,762.762 INFO    ] Checking for system updates...
[2026-08-29 22:04:17,783.783 INFO    ] 200
[2026-08-29 22:04:17,784.784 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:04:17,814.814 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:04:17,815.815 INFO    ] No update needed
[2026-08-29 22:04:17,816.816 INFO    ] Checking for camera pi updates...
[2026-08-29 22:04:17,837.837 INFO    ] 200
[2026-08-29 22:04:17,838.838 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:04:17,861.861 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:04:17,935.935 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:04:17,938.938 INFO    ] No camera update needed
[2026-08-29 22:04:17,940.940 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:04:17,943.943 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:04:17,948.948 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:04:17,953.953 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:04:19,993.993 INFO    ] ================================================
[2026-08-29 22:04:20,009.009 INFO    ] Launching Daemon at Sat Aug 29 22:04:20 IST 2026
[2026-08-29 22:04:20,021.021 INFO    ] ================================================
[2026-08-29 22:04:20,597.597 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:04:20
[2026-08-29 22:04:21,053.053 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:04:21,183.183 INFO    ] Initializing speech engine...
[2026-08-29 22:04:21,188.188 INFO    ] 2026-08-29 22:04:21
[2026-08-29 22:04:21,416.416 INFO    ] 2026-08-29 22:04:21
[2026-08-29 22:04:21,502.502 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:04:21,654.654 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:04:21,663.663 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:04:21,800.800 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:04:21,817.817 INFO    ] time= 29/08/2026 22:04:21
[2026-08-29 22:04:21,871.871 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:04:21,925.925 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:04:21,991.991 INFO    ] No existing commands found in stream
[2026-08-29 22:04:27,003.003 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:04:27,006.006 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-08-29 22:04:28,146.146 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:04:28,147.147 INFO    ] Checking for system updates...
[2026-08-29 22:04:28,167.167 INFO    ] 200
[2026-08-29 22:04:28,169.169 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:04:28,200.200 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:04:28,202.202 INFO    ] No update needed
[2026-08-29 22:04:28,203.203 INFO    ] Checking for camera pi updates...
[2026-08-29 22:04:28,225.225 INFO    ] 200
[2026-08-29 22:04:28,226.226 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:04:28,248.248 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:04:28,359.359 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:04:28,361.361 INFO    ] No camera update needed
[2026-08-29 22:04:28,362.362 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:04:28,363.363 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:04:28,366.366 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:04:28,369.369 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:04:30,409.409 INFO    ] ================================================
[2026-08-29 22:04:30,424.424 INFO    ] Launching Daemon at Sat Aug 29 22:04:30 IST 2026
[2026-08-29 22:04:30,435.435 INFO    ] ================================================
[2026-08-29 22:04:30,794.794 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:04:30
[2026-08-29 22:04:31,254.254 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:04:31,543.543 INFO    ] Initializing speech engine...
[2026-08-29 22:04:31,554.554 INFO    ] 2026-08-29 22:04:31
[2026-08-29 22:04:31,819.819 INFO    ] 2026-08-29 22:04:31
[2026-08-29 22:04:31,879.879 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:04:32,030.030 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:04:32,035.035 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:04:32,165.165 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:04:32,170.170 INFO    ] time= 29/08/2026 22:04:32
[2026-08-29 22:04:32,189.189 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:04:32,210.210 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:04:32,285.285 INFO    ] No existing commands found in stream
[2026-08-29 22:04:37,298.298 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:04:37,301.301 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-08-29 22:04:40,103.103 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:04:40,105.105 INFO    ] Checking for system updates...
[2026-08-29 22:04:40,125.125 INFO    ] 200
[2026-08-29 22:04:40,126.126 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:04:40,159.159 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:04:40,160.160 INFO    ] No update needed
[2026-08-29 22:04:40,162.162 INFO    ] Checking for camera pi updates...
[2026-08-29 22:04:40,181.181 INFO    ] 200
[2026-08-29 22:04:40,182.182 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:04:40,207.207 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:04:40,283.283 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:04:40,285.285 INFO    ] No camera update needed
[2026-08-29 22:04:40,286.286 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:04:40,287.287 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:04:40,290.290 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:04:40,293.293 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:04:42,333.333 INFO    ] ================================================
[2026-08-29 22:04:42,348.348 INFO    ] Launching Daemon at Sat Aug 29 22:04:42 IST 2026
[2026-08-29 22:04:42,360.360 INFO    ] ================================================
[2026-08-29 22:04:42,695.695 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:04:42
[2026-08-29 22:04:43,011.011 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:04:43,155.155 INFO    ] Initializing speech engine...
[2026-08-29 22:04:43,161.161 INFO    ] 2026-08-29 22:04:43
[2026-08-29 22:04:43,365.365 INFO    ] 2026-08-29 22:04:43
[2026-08-29 22:04:43,393.393 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:04:43,516.516 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:04:43,574.574 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:04:43,713.713 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:04:43,766.766 INFO    ] time= 29/08/2026 22:04:43
[2026-08-29 22:04:43,806.806 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:04:43,825.825 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:04:43,946.946 INFO    ] No existing commands found in stream
[2026-08-29 22:04:48,972.972 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:04:48,975.975 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-08-29 22:04:51,174.174 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:04:51,175.175 INFO    ] Checking for system updates...
[2026-08-29 22:04:51,195.195 INFO    ] 200
[2026-08-29 22:04:51,196.196 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:04:51,228.228 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:04:51,230.230 INFO    ] No update needed
[2026-08-29 22:04:51,231.231 INFO    ] Checking for camera pi updates...
[2026-08-29 22:04:51,251.251 INFO    ] 200
[2026-08-29 22:04:51,253.253 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:04:51,278.278 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:04:51,327.327 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:04:51,328.328 INFO    ] No camera update needed
[2026-08-29 22:04:51,330.330 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:04:51,331.331 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:04:51,334.334 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:04:51,337.337 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:04:53,376.376 INFO    ] ================================================
[2026-08-29 22:04:53,393.393 INFO    ] Launching Daemon at Sat Aug 29 22:04:53 IST 2026
[2026-08-29 22:04:53,404.404 INFO    ] ================================================
[2026-08-29 22:04:53,982.982 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:04:53
[2026-08-29 22:04:54,584.584 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:04:54,849.849 INFO    ] Initializing speech engine...
[2026-08-29 22:04:54,859.859 INFO    ] 2026-08-29 22:04:54
[2026-08-29 22:04:55,154.154 INFO    ] 2026-08-29 22:04:55
[2026-08-29 22:04:55,199.199 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:04:55,421.421 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:04:55,459.459 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:04:55,598.598 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:04:55,652.652 INFO    ] time= 29/08/2026 22:04:55
[2026-08-29 22:04:55,702.702 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:04:55,735.735 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:04:55,795.795 INFO    ] No existing commands found in stream
[2026-08-29 22:05:00,826.826 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:05:00,830.830 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-08-29 22:05:04,117.117 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:05:04,119.119 INFO    ] Checking for system updates...
[2026-08-29 22:05:04,156.156 INFO    ] 200
[2026-08-29 22:05:04,159.159 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:05:04,212.212 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:05:04,215.215 INFO    ] No update needed
[2026-08-29 22:05:04,218.218 INFO    ] Checking for camera pi updates...
[2026-08-29 22:05:04,251.251 INFO    ] 200
[2026-08-29 22:05:04,254.254 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:05:04,297.297 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:05:04,396.396 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:05:04,399.399 INFO    ] No camera update needed
[2026-08-29 22:05:04,402.402 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:05:04,404.404 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:05:04,410.410 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:05:04,416.416 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:05:06,458.458 INFO    ] ================================================
[2026-08-29 22:05:06,474.474 INFO    ] Launching Daemon at Sat Aug 29 22:05:06 IST 2026
[2026-08-29 22:05:06,485.485 INFO    ] ================================================
[2026-08-29 22:05:07,096.096 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:05:07
[2026-08-29 22:05:07,730.730 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:05:08,031.031 INFO    ] Initializing speech engine...
[2026-08-29 22:05:08,037.037 INFO    ] 2026-08-29 22:05:08
[2026-08-29 22:05:08,308.308 INFO    ] 2026-08-29 22:05:08
[2026-08-29 22:05:08,365.365 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:05:08,590.590 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:05:08,600.600 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:05:08,734.734 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:05:08,777.777 INFO    ] time= 29/08/2026 22:05:08
[2026-08-29 22:05:08,826.826 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:05:08,869.869 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:05:08,989.989 INFO    ] No existing commands found in stream
[2026-08-29 22:05:14,020.020 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:05:14,023.023 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-08-29 22:05:18,140.140 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:05:18,142.142 INFO    ] Checking for system updates...
[2026-08-29 22:05:18,162.162 INFO    ] 200
[2026-08-29 22:05:18,164.164 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:05:18,194.194 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:05:18,195.195 INFO    ] No update needed
[2026-08-29 22:05:18,197.197 INFO    ] Checking for camera pi updates...
[2026-08-29 22:05:18,217.217 INFO    ] 200
[2026-08-29 22:05:18,218.218 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:05:18,246.246 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:05:18,315.315 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:05:18,317.317 INFO    ] No camera update needed
[2026-08-29 22:05:18,318.318 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:05:18,319.319 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:05:18,323.323 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:05:18,326.326 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:05:20,365.365 INFO    ] ================================================
[2026-08-29 22:05:20,380.380 INFO    ] Launching Daemon at Sat Aug 29 22:05:20 IST 2026
[2026-08-29 22:05:20,390.390 INFO    ] ================================================
[2026-08-29 22:05:20,736.736 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:05:20
[2026-08-29 22:05:21,049.049 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:05:21,185.185 INFO    ] Initializing speech engine...
[2026-08-29 22:05:21,198.198 INFO    ] 2026-08-29 22:05:21
[2026-08-29 22:05:21,415.415 INFO    ] 2026-08-29 22:05:21
[2026-08-29 22:05:21,445.445 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:05:21,576.576 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:05:21,642.642 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:05:21,783.783 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:05:21,824.824 INFO    ] time= 29/08/2026 22:05:21
[2026-08-29 22:05:21,868.868 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:05:21,890.890 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:05:21,966.966 INFO    ] No existing commands found in stream
[2026-08-29 22:05:26,976.976 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:05:26,979.979 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-08-29 22:05:27,640.640 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:05:27,641.641 INFO    ] Checking for system updates...
[2026-08-29 22:05:27,662.662 INFO    ] 200
[2026-08-29 22:05:27,663.663 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:05:27,693.693 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:05:27,694.694 INFO    ] No update needed
[2026-08-29 22:05:27,696.696 INFO    ] Checking for camera pi updates...
[2026-08-29 22:05:27,716.716 INFO    ] 200
[2026-08-29 22:05:27,718.718 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:05:27,743.743 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:05:27,821.821 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:05:27,824.824 INFO    ] No camera update needed
[2026-08-29 22:05:27,826.826 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:05:27,829.829 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:05:27,835.835 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:05:27,840.840 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:05:29,881.881 INFO    ] ================================================
[2026-08-29 22:05:29,898.898 INFO    ] Launching Daemon at Sat Aug 29 22:05:29 IST 2026
[2026-08-29 22:05:29,910.910 INFO    ] ================================================
[2026-08-29 22:05:30,493.493 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:05:30
[2026-08-29 22:05:31,006.006 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:05:31,285.285 INFO    ] Initializing speech engine...
[2026-08-29 22:05:31,293.293 INFO    ] 2026-08-29 22:05:31
[2026-08-29 22:05:31,544.544 INFO    ] 2026-08-29 22:05:31
[2026-08-29 22:05:31,580.580 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:05:31,752.752 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:05:31,765.765 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:05:31,902.902 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:05:31,932.932 INFO    ] time= 29/08/2026 22:05:31
[2026-08-29 22:05:31,940.940 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:05:31,949.949 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:05:32,031.031 INFO    ] No existing commands found in stream
[2026-08-29 22:05:37,043.043 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:05:37,046.046 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-08-29 22:05:38,951.951 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:05:38,953.953 INFO    ] Checking for system updates...
[2026-08-29 22:05:38,975.975 INFO    ] 200
[2026-08-29 22:05:38,977.977 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:05:39,009.009 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:05:39,011.011 INFO    ] No update needed
[2026-08-29 22:05:39,012.012 INFO    ] Checking for camera pi updates...
[2026-08-29 22:05:39,031.031 INFO    ] 200
[2026-08-29 22:05:39,033.033 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:05:39,056.056 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:05:39,127.127 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:05:39,128.128 INFO    ] No camera update needed
[2026-08-29 22:05:39,129.129 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:05:39,131.131 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:05:39,134.134 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:05:39,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:05:41,177.177 INFO    ] ================================================
[2026-08-29 22:05:41,192.192 INFO    ] Launching Daemon at Sat Aug 29 22:05:41 IST 2026
[2026-08-29 22:05:41,203.203 INFO    ] ================================================
[2026-08-29 22:05:41,585.585 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:05:41
[2026-08-29 22:05:41,925.925 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:05:42,173.173 INFO    ] Initializing speech engine...
[2026-08-29 22:05:42,180.180 INFO    ] 2026-08-29 22:05:42
[2026-08-29 22:05:42,456.456 INFO    ] 2026-08-29 22:05:42
[2026-08-29 22:05:42,516.516 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:05:42,749.749 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:05:42,759.759 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:05:42,896.896 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:05:42,929.929 INFO    ] time= 29/08/2026 22:05:42
[2026-08-29 22:05:42,994.994 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:05:43,037.037 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:05:43,090.090 INFO    ] No existing commands found in stream
[2026-08-29 22:05:48,102.102 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:05:48,105.105 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-08-29 22:05:51,848.848 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:05:51,849.849 INFO    ] Checking for system updates...
[2026-08-29 22:05:51,869.869 INFO    ] 200
[2026-08-29 22:05:51,871.871 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:05:51,900.900 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:05:51,902.902 INFO    ] No update needed
[2026-08-29 22:05:51,903.903 INFO    ] Checking for camera pi updates...
[2026-08-29 22:05:51,923.923 INFO    ] 200
[2026-08-29 22:05:51,925.925 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:05:51,948.948 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:05:52,023.023 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:05:52,025.025 INFO    ] No camera update needed
[2026-08-29 22:05:52,028.028 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:05:52,031.031 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:05:52,037.037 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:05:52,043.043 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:05:54,085.085 INFO    ] ================================================
[2026-08-29 22:05:54,101.101 INFO    ] Launching Daemon at Sat Aug 29 22:05:54 IST 2026
[2026-08-29 22:05:54,112.112 INFO    ] ================================================
[2026-08-29 22:05:54,746.746 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:05:54
[2026-08-29 22:05:55,263.263 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:05:55,415.415 INFO    ] Initializing speech engine...
[2026-08-29 22:05:55,420.420 INFO    ] 2026-08-29 22:05:55
[2026-08-29 22:05:55,632.632 INFO    ] 2026-08-29 22:05:55
[2026-08-29 22:05:55,660.660 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:05:55,785.785 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:05:55,848.848 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:05:55,983.983 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:05:56,049.049 INFO    ] time= 29/08/2026 22:05:55
[2026-08-29 22:05:56,083.083 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:05:56,085.085 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:05:56,156.156 INFO    ] No existing commands found in stream
[2026-08-29 22:06:01,167.167 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:06:01,170.170 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-08-29 22:06:05,018.018 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:06:05,020.020 INFO    ] Checking for system updates...
[2026-08-29 22:06:05,053.053 INFO    ] 200
[2026-08-29 22:06:05,054.054 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:06:05,088.088 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:06:05,090.090 INFO    ] No update needed
[2026-08-29 22:06:05,091.091 INFO    ] Checking for camera pi updates...
[2026-08-29 22:06:05,110.110 INFO    ] 200
[2026-08-29 22:06:05,111.111 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:06:05,137.137 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:06:05,186.186 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:06:05,187.187 INFO    ] No camera update needed
[2026-08-29 22:06:05,188.188 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:06:05,189.189 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:06:05,192.192 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:06:05,195.195 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:06:07,234.234 INFO    ] ================================================
[2026-08-29 22:06:07,249.249 INFO    ] Launching Daemon at Sat Aug 29 22:06:07 IST 2026
[2026-08-29 22:06:07,260.260 INFO    ] ================================================
[2026-08-29 22:06:07,628.628 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:06:07
[2026-08-29 22:06:08,210.210 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:06:08,469.469 INFO    ] Initializing speech engine...
[2026-08-29 22:06:08,482.482 INFO    ] 2026-08-29 22:06:08
[2026-08-29 22:06:08,764.764 INFO    ] 2026-08-29 22:06:08
[2026-08-29 22:06:08,803.803 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:06:08,994.994 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:06:09,000.000 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:06:09,110.110 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:06:09,133.133 INFO    ] time= 29/08/2026 22:06:09
[2026-08-29 22:06:09,139.139 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:06:09,146.146 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:06:09,192.192 INFO    ] No existing commands found in stream
[2026-08-29 22:06:14,203.203 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:06:14,206.206 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-08-29 22:06:15,141.141 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:06:15,142.142 INFO    ] Checking for system updates...
[2026-08-29 22:06:15,163.163 INFO    ] 200
[2026-08-29 22:06:15,165.165 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:06:15,195.195 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:06:15,197.197 INFO    ] No update needed
[2026-08-29 22:06:15,198.198 INFO    ] Checking for camera pi updates...
[2026-08-29 22:06:15,217.217 INFO    ] 200
[2026-08-29 22:06:15,219.219 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:06:15,242.242 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:06:15,446.446 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:06:15,449.449 INFO    ] No camera update needed
[2026-08-29 22:06:15,452.452 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:06:15,455.455 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:06:15,461.461 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:06:15,466.466 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:06:17,506.506 INFO    ] ================================================
[2026-08-29 22:06:17,521.521 INFO    ] Launching Daemon at Sat Aug 29 22:06:17 IST 2026
[2026-08-29 22:06:17,532.532 INFO    ] ================================================
[2026-08-29 22:06:18,121.121 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:06:18
[2026-08-29 22:06:18,572.572 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:06:18,704.704 INFO    ] Initializing speech engine...
[2026-08-29 22:06:18,712.712 INFO    ] 2026-08-29 22:06:18
[2026-08-29 22:06:18,901.901 INFO    ] 2026-08-29 22:06:18
[2026-08-29 22:06:18,935.935 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:06:19,106.106 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:06:19,120.120 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:06:19,260.260 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:06:19,269.269 INFO    ] time= 29/08/2026 22:06:19
[2026-08-29 22:06:19,275.275 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:06:19,321.321 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:06:19,443.443 INFO    ] No existing commands found in stream
[2026-08-29 22:06:24,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:06:24,476.476 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 22:06:26,206.206 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:06:26,207.207 INFO    ] Checking for system updates...
[2026-08-29 22:06:26,228.228 INFO    ] 200
[2026-08-29 22:06:26,230.230 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:06:26,260.260 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:06:26,261.261 INFO    ] No update needed
[2026-08-29 22:06:26,262.262 INFO    ] Checking for camera pi updates...
[2026-08-29 22:06:26,282.282 INFO    ] 200
[2026-08-29 22:06:26,283.283 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:06:26,306.306 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:06:26,417.417 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:06:26,418.418 INFO    ] No camera update needed
[2026-08-29 22:06:26,420.420 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:06:26,421.421 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:06:26,424.424 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:06:26,426.426 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:06:28,467.467 INFO    ] ================================================
[2026-08-29 22:06:28,482.482 INFO    ] Launching Daemon at Sat Aug 29 22:06:28 IST 2026
[2026-08-29 22:06:28,493.493 INFO    ] ================================================
[2026-08-29 22:06:29,097.097 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:06:29
[2026-08-29 22:06:29,766.766 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:06:30,074.074 INFO    ] Initializing speech engine...
[2026-08-29 22:06:30,083.083 INFO    ] 2026-08-29 22:06:30
[2026-08-29 22:06:30,387.387 INFO    ] 2026-08-29 22:06:30
[2026-08-29 22:06:30,467.467 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:06:30,619.619 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:06:30,628.628 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:06:30,760.760 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:06:30,818.818 INFO    ] time= 29/08/2026 22:06:30
[2026-08-29 22:06:30,867.867 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:06:30,894.894 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:06:30,946.946 INFO    ] No existing commands found in stream
[2026-08-29 22:06:35,958.958 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:06:35,960.960 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-08-29 22:06:37,586.586 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:06:37,587.587 INFO    ] Checking for system updates...
[2026-08-29 22:06:37,608.608 INFO    ] 200
[2026-08-29 22:06:37,609.609 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:06:37,642.642 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:06:37,644.644 INFO    ] No update needed
[2026-08-29 22:06:37,645.645 INFO    ] Checking for camera pi updates...
[2026-08-29 22:06:37,665.665 INFO    ] 200
[2026-08-29 22:06:37,667.667 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:06:37,689.689 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:06:37,770.770 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:06:37,771.771 INFO    ] No camera update needed
[2026-08-29 22:06:37,773.773 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:06:37,774.774 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:06:37,777.777 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:06:37,780.780 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:06:39,819.819 INFO    ] ================================================
[2026-08-29 22:06:39,835.835 INFO    ] Launching Daemon at Sat Aug 29 22:06:39 IST 2026
[2026-08-29 22:06:39,846.846 INFO    ] ================================================
[2026-08-29 22:06:40,214.214 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:06:40
[2026-08-29 22:06:40,552.552 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:06:40,706.706 INFO    ] Initializing speech engine...
[2026-08-29 22:06:40,714.714 INFO    ] 2026-08-29 22:06:40
[2026-08-29 22:06:40,917.917 INFO    ] 2026-08-29 22:06:40
[2026-08-29 22:06:40,946.946 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:06:41,129.129 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:06:41,133.133 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:06:41,261.261 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:06:41,328.328 INFO    ] time= 29/08/2026 22:06:41
[2026-08-29 22:06:41,360.360 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:06:41,367.367 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:06:41,432.432 INFO    ] No existing commands found in stream
[2026-08-29 22:06:46,444.444 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:06:46,447.447 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-08-29 22:06:49,079.079 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:06:49,081.081 INFO    ] Checking for system updates...
[2026-08-29 22:06:49,103.103 INFO    ] 200
[2026-08-29 22:06:49,104.104 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:06:49,135.135 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:06:49,136.136 INFO    ] No update needed
[2026-08-29 22:06:49,137.137 INFO    ] Checking for camera pi updates...
[2026-08-29 22:06:49,157.157 INFO    ] 200
[2026-08-29 22:06:49,158.158 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:06:49,181.181 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:06:49,254.254 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:06:49,256.256 INFO    ] No camera update needed
[2026-08-29 22:06:49,257.257 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:06:49,258.258 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:06:49,262.262 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:06:49,265.265 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:06:51,304.304 INFO    ] ================================================
[2026-08-29 22:06:51,319.319 INFO    ] Launching Daemon at Sat Aug 29 22:06:51 IST 2026
[2026-08-29 22:06:51,330.330 INFO    ] ================================================
[2026-08-29 22:06:51,681.681 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:06:51
[2026-08-29 22:06:52,018.018 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:06:52,160.160 INFO    ] Initializing speech engine...
[2026-08-29 22:06:52,170.170 INFO    ] 2026-08-29 22:06:52
[2026-08-29 22:06:52,358.358 INFO    ] 2026-08-29 22:06:52
[2026-08-29 22:06:52,415.415 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:06:52,585.585 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:06:52,603.603 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:06:52,733.733 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:06:52,740.740 INFO    ] time= 29/08/2026 22:06:52
[2026-08-29 22:06:52,745.745 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:06:52,753.753 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:06:52,817.817 INFO    ] No existing commands found in stream
[2026-08-29 22:06:57,829.829 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:06:57,832.832 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-08-29 22:07:00,047.047 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:07:00,048.048 INFO    ] Checking for system updates...
[2026-08-29 22:07:00,070.070 INFO    ] 200
[2026-08-29 22:07:00,071.071 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:07:00,103.103 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:07:00,104.104 INFO    ] No update needed
[2026-08-29 22:07:00,105.105 INFO    ] Checking for camera pi updates...
[2026-08-29 22:07:00,124.124 INFO    ] 200
[2026-08-29 22:07:00,126.126 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:07:00,151.151 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:07:00,225.225 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:07:00,226.226 INFO    ] No camera update needed
[2026-08-29 22:07:00,228.228 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:07:00,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:07:00,232.232 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:07:00,235.235 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:07:02,279.279 INFO    ] ================================================
[2026-08-29 22:07:02,297.297 INFO    ] Launching Daemon at Sat Aug 29 22:07:02 IST 2026
[2026-08-29 22:07:02,313.313 INFO    ] ================================================
[2026-08-29 22:07:03,046.046 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:07:03
[2026-08-29 22:07:03,668.668 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:07:03,941.941 INFO    ] Initializing speech engine...
[2026-08-29 22:07:03,950.950 INFO    ] 2026-08-29 22:07:03
[2026-08-29 22:07:04,206.206 INFO    ] 2026-08-29 22:07:04
[2026-08-29 22:07:04,245.245 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:07:04,420.420 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:07:04,431.431 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:07:04,543.543 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:07:04,561.561 INFO    ] time= 29/08/2026 22:07:04
[2026-08-29 22:07:04,583.583 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:07:04,589.589 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:07:04,656.656 INFO    ] No existing commands found in stream
[2026-08-29 22:07:09,668.668 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:07:09,670.670 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-08-29 22:07:12,690.690 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:07:12,691.691 INFO    ] Checking for system updates...
[2026-08-29 22:07:12,712.712 INFO    ] 200
[2026-08-29 22:07:12,714.714 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:07:12,746.746 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:07:12,747.747 INFO    ] No update needed
[2026-08-29 22:07:12,748.748 INFO    ] Checking for camera pi updates...
[2026-08-29 22:07:12,767.767 INFO    ] 200
[2026-08-29 22:07:12,768.768 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:07:12,794.794 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:07:12,881.881 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:07:12,883.883 INFO    ] No camera update needed
[2026-08-29 22:07:12,884.884 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:07:12,885.885 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:07:12,888.888 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:07:12,891.891 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:07:14,930.930 INFO    ] ================================================
[2026-08-29 22:07:14,945.945 INFO    ] Launching Daemon at Sat Aug 29 22:07:14 IST 2026
[2026-08-29 22:07:14,956.956 INFO    ] ================================================
[2026-08-29 22:07:15,354.354 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:07:15
[2026-08-29 22:07:15,670.670 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:07:15,802.802 INFO    ] Initializing speech engine...
[2026-08-29 22:07:15,806.806 INFO    ] 2026-08-29 22:07:15
[2026-08-29 22:07:16,057.057 INFO    ] 2026-08-29 22:07:16
[2026-08-29 22:07:16,112.112 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:07:16,246.246 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:07:16,274.274 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:07:16,422.422 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:07:16,483.483 INFO    ] time= 29/08/2026 22:07:16
[2026-08-29 22:07:16,488.488 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:07:16,506.506 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:07:16,622.622 INFO    ] No existing commands found in stream
[2026-08-29 22:07:21,646.646 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:07:21,649.649 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 22:07:25,148.148 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:07:25,149.149 INFO    ] Checking for system updates...
[2026-08-29 22:07:25,169.169 INFO    ] 200
[2026-08-29 22:07:25,171.171 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:07:25,200.200 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:07:25,202.202 INFO    ] No update needed
[2026-08-29 22:07:25,203.203 INFO    ] Checking for camera pi updates...
[2026-08-29 22:07:25,223.223 INFO    ] 200
[2026-08-29 22:07:25,224.224 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:07:25,247.247 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:07:25,329.329 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:07:25,330.330 INFO    ] No camera update needed
[2026-08-29 22:07:25,331.331 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:07:25,333.333 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:07:25,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:07:25,338.338 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:07:27,381.381 INFO    ] ================================================
[2026-08-29 22:07:27,396.396 INFO    ] Launching Daemon at Sat Aug 29 22:07:27 IST 2026
[2026-08-29 22:07:27,407.407 INFO    ] ================================================
[2026-08-29 22:07:27,762.762 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:07:27
[2026-08-29 22:07:28,101.101 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:07:28,254.254 INFO    ] Initializing speech engine...
[2026-08-29 22:07:28,259.259 INFO    ] 2026-08-29 22:07:28
[2026-08-29 22:07:28,467.467 INFO    ] 2026-08-29 22:07:28
[2026-08-29 22:07:28,496.496 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:07:28,618.618 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:07:28,662.662 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:07:28,826.826 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:07:28,888.888 INFO    ] time= 29/08/2026 22:07:28
[2026-08-29 22:07:28,912.912 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:07:28,919.919 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:07:28,984.984 INFO    ] No existing commands found in stream
[2026-08-29 22:07:33,995.995 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:07:33,999.999 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-08-29 22:07:37,318.318 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:07:37,320.320 INFO    ] Checking for system updates...
[2026-08-29 22:07:37,343.343 INFO    ] 200
[2026-08-29 22:07:37,345.345 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:07:37,375.375 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:07:37,376.376 INFO    ] No update needed
[2026-08-29 22:07:37,378.378 INFO    ] Checking for camera pi updates...
[2026-08-29 22:07:37,398.398 INFO    ] 200
[2026-08-29 22:07:37,399.399 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:07:37,423.423 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:07:37,510.510 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:07:37,513.513 INFO    ] No camera update needed
[2026-08-29 22:07:37,515.515 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:07:37,518.518 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:07:37,524.524 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:07:37,530.530 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:07:39,570.570 INFO    ] ================================================
[2026-08-29 22:07:39,586.586 INFO    ] Launching Daemon at Sat Aug 29 22:07:39 IST 2026
[2026-08-29 22:07:39,597.597 INFO    ] ================================================
[2026-08-29 22:07:40,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:07:40
[2026-08-29 22:07:40,684.684 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:07:40,850.850 INFO    ] Initializing speech engine...
[2026-08-29 22:07:40,860.860 INFO    ] 2026-08-29 22:07:40
[2026-08-29 22:07:41,108.108 INFO    ] 2026-08-29 22:07:41
[2026-08-29 22:07:41,144.144 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:07:41,315.315 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:07:41,328.328 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:07:41,470.470 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:07:41,479.479 INFO    ] time= 29/08/2026 22:07:41
[2026-08-29 22:07:41,485.485 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:07:41,533.533 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:07:41,655.655 INFO    ] No existing commands found in stream
[2026-08-29 22:07:46,680.680 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:07:46,683.683 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-08-29 22:07:47,791.791 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:07:47,795.795 INFO    ] Checking for system updates...
[2026-08-29 22:07:47,816.816 INFO    ] 200
[2026-08-29 22:07:47,817.817 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:07:47,848.848 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:07:47,849.849 INFO    ] No update needed
[2026-08-29 22:07:47,850.850 INFO    ] Checking for camera pi updates...
[2026-08-29 22:07:47,871.871 INFO    ] 200
[2026-08-29 22:07:47,873.873 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:07:47,897.897 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:07:47,985.985 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:07:47,986.986 INFO    ] No camera update needed
[2026-08-29 22:07:47,987.987 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:07:47,989.989 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:07:47,992.992 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:07:47,995.995 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:07:50,037.037 INFO    ] ================================================
[2026-08-29 22:07:50,053.053 INFO    ] Launching Daemon at Sat Aug 29 22:07:50 IST 2026
[2026-08-29 22:07:50,063.063 INFO    ] ================================================
[2026-08-29 22:07:50,425.425 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:07:50
[2026-08-29 22:07:50,888.888 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:07:51,167.167 INFO    ] Initializing speech engine...
[2026-08-29 22:07:51,175.175 INFO    ] 2026-08-29 22:07:51
[2026-08-29 22:07:51,426.426 INFO    ] 2026-08-29 22:07:51
[2026-08-29 22:07:51,461.461 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:07:51,634.634 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:07:51,647.647 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:07:51,786.786 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:07:51,796.796 INFO    ] time= 29/08/2026 22:07:51
[2026-08-29 22:07:51,804.804 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:07:51,860.860 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:07:51,960.960 INFO    ] No existing commands found in stream
[2026-08-29 22:07:56,985.985 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:07:56,988.988 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-08-29 22:07:59,826.826 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:07:59,828.828 INFO    ] Checking for system updates...
[2026-08-29 22:07:59,848.848 INFO    ] 200
[2026-08-29 22:07:59,850.850 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:07:59,882.882 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:07:59,883.883 INFO    ] No update needed
[2026-08-29 22:07:59,885.885 INFO    ] Checking for camera pi updates...
[2026-08-29 22:07:59,904.904 INFO    ] 200
[2026-08-29 22:07:59,905.905 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:07:59,928.928 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:08:00,015.015 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:08:00,016.016 INFO    ] No camera update needed
[2026-08-29 22:08:00,017.017 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:08:00,018.018 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:08:00,021.021 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:08:00,024.024 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:08:02,066.066 INFO    ] ================================================
[2026-08-29 22:08:02,089.089 INFO    ] Launching Daemon at Sat Aug 29 22:08:02 IST 2026
[2026-08-29 22:08:02,106.106 INFO    ] ================================================
[2026-08-29 22:08:02,765.765 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:08:02
[2026-08-29 22:08:03,448.448 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:08:03,723.723 INFO    ] Initializing speech engine...
[2026-08-29 22:08:03,730.730 INFO    ] 2026-08-29 22:08:03
[2026-08-29 22:08:03,974.974 INFO    ] 2026-08-29 22:08:03
[2026-08-29 22:08:04,040.040 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:08:04,204.204 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:08:04,231.231 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:08:04,339.339 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:08:04,344.344 INFO    ] time= 29/08/2026 22:08:04
[2026-08-29 22:08:04,350.350 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:08:04,370.370 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:08:04,485.485 INFO    ] No existing commands found in stream
[2026-08-29 22:08:09,505.505 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:08:09,508.508 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-08-29 22:08:12,803.803 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:08:12,804.804 INFO    ] Checking for system updates...
[2026-08-29 22:08:12,825.825 INFO    ] 200
[2026-08-29 22:08:12,826.826 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:08:12,856.856 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:08:12,857.857 INFO    ] No update needed
[2026-08-29 22:08:12,858.858 INFO    ] Checking for camera pi updates...
[2026-08-29 22:08:12,879.879 INFO    ] 200
[2026-08-29 22:08:12,880.880 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:08:12,904.904 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:08:12,973.973 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:08:12,974.974 INFO    ] No camera update needed
[2026-08-29 22:08:12,976.976 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:08:12,977.977 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:08:12,980.980 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:08:12,983.983 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:08:15,023.023 INFO    ] ================================================
[2026-08-29 22:08:15,040.040 INFO    ] Launching Daemon at Sat Aug 29 22:08:15 IST 2026
[2026-08-29 22:08:15,051.051 INFO    ] ================================================
[2026-08-29 22:08:15,444.444 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:08:15
[2026-08-29 22:08:15,803.803 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:08:15,961.961 INFO    ] Initializing speech engine...
[2026-08-29 22:08:15,964.964 INFO    ] 2026-08-29 22:08:15
[2026-08-29 22:08:16,176.176 INFO    ] 2026-08-29 22:08:16
[2026-08-29 22:08:16,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:08:16,333.333 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:08:16,396.396 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:08:16,539.539 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:08:16,607.607 INFO    ] time= 29/08/2026 22:08:16
[2026-08-29 22:08:16,632.632 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:08:16,639.639 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:08:16,706.706 INFO    ] No existing commands found in stream
[2026-08-29 22:08:21,717.717 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:08:21,721.721 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-08-29 22:08:24,503.503 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:08:24,504.504 INFO    ] Checking for system updates...
[2026-08-29 22:08:24,525.525 INFO    ] 200
[2026-08-29 22:08:24,526.526 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:08:24,559.559 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:08:24,560.560 INFO    ] No update needed
[2026-08-29 22:08:24,562.562 INFO    ] Checking for camera pi updates...
[2026-08-29 22:08:24,581.581 INFO    ] 200
[2026-08-29 22:08:24,583.583 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:08:24,605.605 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:08:24,804.804 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:08:24,805.805 INFO    ] No camera update needed
[2026-08-29 22:08:24,806.806 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:08:24,807.807 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:08:24,810.810 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:08:24,813.813 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:08:26,851.851 INFO    ] ================================================
[2026-08-29 22:08:26,867.867 INFO    ] Launching Daemon at Sat Aug 29 22:08:26 IST 2026
[2026-08-29 22:08:26,878.878 INFO    ] ================================================
[2026-08-29 22:08:27,240.240 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:08:27
[2026-08-29 22:08:27,558.558 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:08:27,702.702 INFO    ] Initializing speech engine...
[2026-08-29 22:08:27,707.707 INFO    ] 2026-08-29 22:08:27
[2026-08-29 22:08:27,893.893 INFO    ] 2026-08-29 22:08:27
[2026-08-29 22:08:27,947.947 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:08:28,170.170 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:08:28,180.180 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:08:28,313.313 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:08:28,320.320 INFO    ] time= 29/08/2026 22:08:28
[2026-08-29 22:08:28,389.389 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:08:28,446.446 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:08:28,498.498 INFO    ] No existing commands found in stream
[2026-08-29 22:08:33,510.510 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:08:33,514.514 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 22:08:35,459.459 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:08:35,460.460 INFO    ] Checking for system updates...
[2026-08-29 22:08:35,481.481 INFO    ] 200
[2026-08-29 22:08:35,482.482 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:08:35,513.513 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:08:35,514.514 INFO    ] No update needed
[2026-08-29 22:08:35,516.516 INFO    ] Checking for camera pi updates...
[2026-08-29 22:08:35,539.539 INFO    ] 200
[2026-08-29 22:08:35,540.540 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:08:35,563.563 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:08:35,639.639 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:08:35,641.641 INFO    ] No camera update needed
[2026-08-29 22:08:35,642.642 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:08:35,643.643 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:08:35,646.646 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:08:35,649.649 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:08:37,687.687 INFO    ] ================================================
[2026-08-29 22:08:37,703.703 INFO    ] Launching Daemon at Sat Aug 29 22:08:37 IST 2026
[2026-08-29 22:08:37,716.716 INFO    ] ================================================
[2026-08-29 22:08:38,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:08:38
[2026-08-29 22:08:38,392.392 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:08:38,536.536 INFO    ] Initializing speech engine...
[2026-08-29 22:08:38,541.541 INFO    ] 2026-08-29 22:08:38
[2026-08-29 22:08:38,745.745 INFO    ] 2026-08-29 22:08:38
[2026-08-29 22:08:38,774.774 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:08:38,896.896 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:08:38,959.959 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:08:39,106.106 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:08:39,173.173 INFO    ] time= 29/08/2026 22:08:39
[2026-08-29 22:08:39,227.227 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:08:39,252.252 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:08:39,395.395 INFO    ] No existing commands found in stream
[2026-08-29 22:08:44,426.426 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:08:44,428.428 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-08-29 22:08:46,987.987 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:08:46,989.989 INFO    ] Checking for system updates...
[2026-08-29 22:08:47,009.009 INFO    ] 200
[2026-08-29 22:08:47,010.010 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:08:47,041.041 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:08:47,042.042 INFO    ] No update needed
[2026-08-29 22:08:47,044.044 INFO    ] Checking for camera pi updates...
[2026-08-29 22:08:47,063.063 INFO    ] 200
[2026-08-29 22:08:47,064.064 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:08:47,089.089 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:08:47,182.182 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:08:47,184.184 INFO    ] No camera update needed
[2026-08-29 22:08:47,185.185 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:08:47,186.186 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:08:47,189.189 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:08:47,192.192 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:08:49,231.231 INFO    ] ================================================
[2026-08-29 22:08:49,247.247 INFO    ] Launching Daemon at Sat Aug 29 22:08:49 IST 2026
[2026-08-29 22:08:49,259.259 INFO    ] ================================================
[2026-08-29 22:08:49,610.610 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:08:49
[2026-08-29 22:08:49,926.926 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:08:50,153.153 INFO    ] Initializing speech engine...
[2026-08-29 22:08:50,162.162 INFO    ] 2026-08-29 22:08:50
[2026-08-29 22:08:50,411.411 INFO    ] 2026-08-29 22:08:50
[2026-08-29 22:08:50,447.447 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:08:50,620.620 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:08:50,632.632 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:08:50,740.740 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:08:50,746.746 INFO    ] time= 29/08/2026 22:08:50
[2026-08-29 22:08:50,765.765 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:08:50,788.788 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:08:50,859.859 INFO    ] No existing commands found in stream
[2026-08-29 22:08:55,895.895 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:08:55,897.897 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-08-29 22:08:56,920.920 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:08:56,922.922 INFO    ] Checking for system updates...
[2026-08-29 22:08:56,963.963 INFO    ] 200
[2026-08-29 22:08:56,966.966 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:08:57,019.019 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:08:57,022.022 INFO    ] No update needed
[2026-08-29 22:08:57,025.025 INFO    ] Checking for camera pi updates...
[2026-08-29 22:08:57,063.063 INFO    ] 200
[2026-08-29 22:08:57,066.066 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:08:57,106.106 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:08:57,156.156 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:08:57,159.159 INFO    ] No camera update needed
[2026-08-29 22:08:57,161.161 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:08:57,164.164 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:08:57,170.170 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:08:57,176.176 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:08:59,217.217 INFO    ] ================================================
[2026-08-29 22:08:59,234.234 INFO    ] Launching Daemon at Sat Aug 29 22:08:59 IST 2026
[2026-08-29 22:08:59,245.245 INFO    ] ================================================
[2026-08-29 22:08:59,858.858 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:08:59
[2026-08-29 22:09:00,550.550 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:09:00,859.859 INFO    ] Initializing speech engine...
[2026-08-29 22:09:00,867.867 INFO    ] 2026-08-29 22:09:00
[2026-08-29 22:09:01,128.128 INFO    ] 2026-08-29 22:09:01
[2026-08-29 22:09:01,229.229 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:09:01,378.378 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:09:01,382.382 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:09:01,511.511 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:09:01,537.537 INFO    ] time= 29/08/2026 22:09:01
[2026-08-29 22:09:01,551.551 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:09:01,555.555 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:09:01,604.604 INFO    ] No existing commands found in stream
[2026-08-29 22:09:06,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:09:06,617.617 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-08-29 22:09:10,278.278 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:09:10,279.279 INFO    ] Checking for system updates...
[2026-08-29 22:09:10,300.300 INFO    ] 200
[2026-08-29 22:09:10,301.301 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:09:10,331.331 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:09:10,332.332 INFO    ] No update needed
[2026-08-29 22:09:10,334.334 INFO    ] Checking for camera pi updates...
[2026-08-29 22:09:10,353.353 INFO    ] 200
[2026-08-29 22:09:10,354.354 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:09:10,386.386 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:09:10,476.476 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:09:10,478.478 INFO    ] No camera update needed
[2026-08-29 22:09:10,480.480 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:09:10,482.482 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:09:10,488.488 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:09:10,493.493 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:09:12,533.533 INFO    ] ================================================
[2026-08-29 22:09:12,549.549 INFO    ] Launching Daemon at Sat Aug 29 22:09:12 IST 2026
[2026-08-29 22:09:12,560.560 INFO    ] ================================================
[2026-08-29 22:09:13,127.127 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:09:13
[2026-08-29 22:09:13,611.611 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:09:13,753.753 INFO    ] Initializing speech engine...
[2026-08-29 22:09:13,758.758 INFO    ] 2026-08-29 22:09:13
[2026-08-29 22:09:13,946.946 INFO    ] 2026-08-29 22:09:13
[2026-08-29 22:09:14,009.009 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:09:14,177.177 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:09:14,186.186 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:09:14,321.321 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:09:14,363.363 INFO    ] time= 29/08/2026 22:09:14
[2026-08-29 22:09:14,413.413 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:09:14,458.458 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:09:14,519.519 INFO    ] No existing commands found in stream
[2026-08-29 22:09:19,534.534 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:09:19,537.537 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-08-29 22:09:23,469.469 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:09:23,472.472 INFO    ] Checking for system updates...
[2026-08-29 22:09:23,515.515 INFO    ] 200
[2026-08-29 22:09:23,518.518 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:09:23,582.582 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:09:23,585.585 INFO    ] No update needed
[2026-08-29 22:09:23,587.587 INFO    ] Checking for camera pi updates...
[2026-08-29 22:09:23,627.627 INFO    ] 200
[2026-08-29 22:09:23,630.630 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:09:23,674.674 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:09:23,752.752 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:09:23,755.755 INFO    ] No camera update needed
[2026-08-29 22:09:23,757.757 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:09:23,760.760 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:09:23,765.765 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:09:23,771.771 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:09:25,796.796 INFO    ] ================================================
[2026-08-29 22:09:25,805.805 INFO    ] Launching Daemon at Sat Aug 29 22:09:25 IST 2026
[2026-08-29 22:09:25,811.811 INFO    ] ================================================
[2026-08-29 22:09:26,296.296 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:09:26
[2026-08-29 22:09:26,912.912 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:09:27,206.206 INFO    ] Initializing speech engine...
[2026-08-29 22:09:27,211.211 INFO    ] 2026-08-29 22:09:27
[2026-08-29 22:09:27,460.460 INFO    ] 2026-08-29 22:09:27
[2026-08-29 22:09:27,497.497 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:09:27,672.672 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:09:27,684.684 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:09:28,063.063 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:09:28,071.071 INFO    ] time= 29/08/2026 22:09:28
[2026-08-29 22:09:28,079.079 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:09:28,129.129 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:09:28,462.462 INFO    ] No existing commands found in stream
[2026-08-29 22:09:33,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:09:33,477.477 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-08-29 22:09:34,843.843 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:09:34,845.845 INFO    ] Checking for system updates...
[2026-08-29 22:09:34,876.876 INFO    ] 200
[2026-08-29 22:09:34,879.879 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:09:34,941.941 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:09:34,944.944 INFO    ] No update needed
[2026-08-29 22:09:34,946.946 INFO    ] Checking for camera pi updates...
[2026-08-29 22:09:34,981.981 INFO    ] 200
[2026-08-29 22:09:34,983.983 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:09:35,029.029 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:09:35,119.119 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:09:35,122.122 INFO    ] No camera update needed
[2026-08-29 22:09:35,124.124 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:09:35,127.127 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:09:35,132.132 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:09:35,138.138 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:09:37,180.180 INFO    ] ================================================
[2026-08-29 22:09:37,196.196 INFO    ] Launching Daemon at Sat Aug 29 22:09:37 IST 2026
[2026-08-29 22:09:37,208.208 INFO    ] ================================================
[2026-08-29 22:09:37,803.803 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:09:37
[2026-08-29 22:09:38,355.355 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:09:38,631.631 INFO    ] Initializing speech engine...
[2026-08-29 22:09:38,641.641 INFO    ] 2026-08-29 22:09:38
[2026-08-29 22:09:38,903.903 INFO    ] 2026-08-29 22:09:38
[2026-08-29 22:09:38,935.935 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:09:39,106.106 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:09:39,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:09:39,258.258 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:09:39,266.266 INFO    ] time= 29/08/2026 22:09:39
[2026-08-29 22:09:39,273.273 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:09:39,319.319 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:09:39,442.442 INFO    ] No existing commands found in stream
[2026-08-29 22:09:44,472.472 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:09:44,475.475 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-08-29 22:09:48,760.760 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:09:48,761.761 INFO    ] Checking for system updates...
[2026-08-29 22:09:48,782.782 INFO    ] 200
[2026-08-29 22:09:48,784.784 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:09:48,814.814 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:09:48,815.815 INFO    ] No update needed
[2026-08-29 22:09:48,816.816 INFO    ] Checking for camera pi updates...
[2026-08-29 22:09:48,836.836 INFO    ] 200
[2026-08-29 22:09:48,837.837 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:09:48,862.862 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:09:48,953.953 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:09:48,954.954 INFO    ] No camera update needed
[2026-08-29 22:09:48,956.956 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:09:48,957.957 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:09:48,960.960 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:09:48,963.963 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:09:51,005.005 INFO    ] ================================================
[2026-08-29 22:09:51,021.021 INFO    ] Launching Daemon at Sat Aug 29 22:09:51 IST 2026
[2026-08-29 22:09:51,032.032 INFO    ] ================================================
[2026-08-29 22:09:51,380.380 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:09:51
[2026-08-29 22:09:51,931.931 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:09:52,194.194 INFO    ] Initializing speech engine...
[2026-08-29 22:09:52,212.212 INFO    ] 2026-08-29 22:09:52
[2026-08-29 22:09:52,464.464 INFO    ] 2026-08-29 22:09:52
[2026-08-29 22:09:52,500.500 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:09:52,677.677 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:09:52,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:09:52,801.801 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:09:52,808.808 INFO    ] time= 29/08/2026 22:09:52
[2026-08-29 22:09:52,827.827 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:09:52,846.846 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:09:52,921.921 INFO    ] No existing commands found in stream
[2026-08-29 22:09:57,934.934 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:09:57,936.936 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-08-29 22:10:01,979.979 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:10:01,983.983 INFO    ] Checking for system updates...
[2026-08-29 22:10:02,075.075 INFO    ] 200
[2026-08-29 22:10:02,078.078 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:10:02,183.183 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:10:02,186.186 INFO    ] No update needed
[2026-08-29 22:10:02,189.189 INFO    ] Checking for camera pi updates...
[2026-08-29 22:10:02,326.326 INFO    ] 200
[2026-08-29 22:10:02,329.329 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:10:02,406.406 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:10:02,756.756 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:10:02,759.759 INFO    ] No camera update needed
[2026-08-29 22:10:02,763.763 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:10:02,766.766 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:10:02,772.772 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:10:02,779.779 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:10:04,821.821 INFO    ] ================================================
[2026-08-29 22:10:04,837.837 INFO    ] Launching Daemon at Sat Aug 29 22:10:04 IST 2026
[2026-08-29 22:10:04,848.848 INFO    ] ================================================
[2026-08-29 22:10:05,185.185 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:10:05
[2026-08-29 22:10:05,497.497 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:10:05,635.635 INFO    ] Initializing speech engine...
[2026-08-29 22:10:05,645.645 INFO    ] 2026-08-29 22:10:05
[2026-08-29 22:10:05,839.839 INFO    ] 2026-08-29 22:10:05
[2026-08-29 22:10:05,881.881 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:10:06,111.111 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:10:06,122.122 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:10:06,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:10:06,285.285 INFO    ] time= 29/08/2026 22:10:06
[2026-08-29 22:10:06,304.304 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:10:06,333.333 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:10:06,439.439 INFO    ] No existing commands found in stream
[2026-08-29 22:10:11,460.460 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:10:11,463.463 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-08-29 22:10:14,017.017 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:10:14,018.018 INFO    ] Checking for system updates...
[2026-08-29 22:10:14,039.039 INFO    ] 200
[2026-08-29 22:10:14,040.040 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:10:14,072.072 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:10:14,074.074 INFO    ] No update needed
[2026-08-29 22:10:14,075.075 INFO    ] Checking for camera pi updates...
[2026-08-29 22:10:14,097.097 INFO    ] 200
[2026-08-29 22:10:14,098.098 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:10:14,123.123 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:10:14,195.195 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:10:14,196.196 INFO    ] No camera update needed
[2026-08-29 22:10:14,197.197 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:10:14,199.199 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:10:14,202.202 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:10:14,204.204 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:10:16,243.243 INFO    ] ================================================
[2026-08-29 22:10:16,258.258 INFO    ] Launching Daemon at Sat Aug 29 22:10:16 IST 2026
[2026-08-29 22:10:16,269.269 INFO    ] ================================================
[2026-08-29 22:10:16,618.618 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:10:16
[2026-08-29 22:10:16,929.929 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:10:17,193.193 INFO    ] Initializing speech engine...
[2026-08-29 22:10:17,202.202 INFO    ] 2026-08-29 22:10:17
[2026-08-29 22:10:17,449.449 INFO    ] 2026-08-29 22:10:17
[2026-08-29 22:10:17,513.513 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:10:17,657.657 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:10:17,669.669 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:10:17,810.810 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:10:17,819.819 INFO    ] time= 29/08/2026 22:10:17
[2026-08-29 22:10:17,825.825 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:10:17,871.871 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:10:17,982.982 INFO    ] No existing commands found in stream
[2026-08-29 22:10:23,012.012 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:10:23,015.015 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-08-29 22:10:23,772.772 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:10:23,773.773 INFO    ] Checking for system updates...
[2026-08-29 22:10:23,799.799 INFO    ] 200
[2026-08-29 22:10:23,800.800 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:10:23,832.832 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:10:23,834.834 INFO    ] No update needed
[2026-08-29 22:10:23,835.835 INFO    ] Checking for camera pi updates...
[2026-08-29 22:10:23,854.854 INFO    ] 200
[2026-08-29 22:10:23,855.855 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:10:23,880.880 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:10:23,973.973 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:10:23,974.974 INFO    ] No camera update needed
[2026-08-29 22:10:23,976.976 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:10:23,977.977 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:10:23,980.980 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:10:23,982.982 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:10:26,021.021 INFO    ] ================================================
[2026-08-29 22:10:26,037.037 INFO    ] Launching Daemon at Sat Aug 29 22:10:26 IST 2026
[2026-08-29 22:10:26,049.049 INFO    ] ================================================
[2026-08-29 22:10:26,415.415 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:10:26
[2026-08-29 22:10:26,733.733 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:10:26,876.876 INFO    ] Initializing speech engine...
[2026-08-29 22:10:26,881.881 INFO    ] 2026-08-29 22:10:26
[2026-08-29 22:10:27,086.086 INFO    ] 2026-08-29 22:10:27
[2026-08-29 22:10:27,113.113 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:10:27,236.236 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:10:27,298.298 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:10:27,436.436 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:10:27,500.500 INFO    ] time= 29/08/2026 22:10:27
[2026-08-29 22:10:27,527.527 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:10:27,534.534 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:10:27,599.599 INFO    ] No existing commands found in stream
[2026-08-29 22:10:32,610.610 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:10:32,613.613 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-08-29 22:10:33,091.091 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:10:33,094.094 INFO    ] Checking for system updates...
[2026-08-29 22:10:33,130.130 INFO    ] 200
[2026-08-29 22:10:33,133.133 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:10:33,185.185 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:10:33,187.187 INFO    ] No update needed
[2026-08-29 22:10:33,190.190 INFO    ] Checking for camera pi updates...
[2026-08-29 22:10:33,223.223 INFO    ] 200
[2026-08-29 22:10:33,226.226 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:10:33,266.266 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:10:33,373.373 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:10:33,376.376 INFO    ] No camera update needed
[2026-08-29 22:10:33,378.378 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:10:33,380.380 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:10:33,386.386 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:10:33,391.391 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:10:35,434.434 INFO    ] ================================================
[2026-08-29 22:10:35,449.449 INFO    ] Launching Daemon at Sat Aug 29 22:10:35 IST 2026
[2026-08-29 22:10:35,461.461 INFO    ] ================================================
[2026-08-29 22:10:35,795.795 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:10:35
[2026-08-29 22:10:36,107.107 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:10:36,301.301 INFO    ] Initializing speech engine...
[2026-08-29 22:10:36,316.316 INFO    ] 2026-08-29 22:10:36
[2026-08-29 22:10:36,589.589 INFO    ] 2026-08-29 22:10:36
[2026-08-29 22:10:36,627.627 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:10:36,824.824 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:10:36,830.830 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:10:36,938.938 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:10:36,943.943 INFO    ] time= 29/08/2026 22:10:36
[2026-08-29 22:10:36,948.948 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:10:36,971.971 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:10:37,024.024 INFO    ] No existing commands found in stream
[2026-08-29 22:10:42,035.035 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:10:42,037.037 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 22:10:44,155.155 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:10:44,156.156 INFO    ] Checking for system updates...
[2026-08-29 22:10:44,176.176 INFO    ] 200
[2026-08-29 22:10:44,178.178 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:10:44,208.208 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:10:44,209.209 INFO    ] No update needed
[2026-08-29 22:10:44,210.210 INFO    ] Checking for camera pi updates...
[2026-08-29 22:10:44,230.230 INFO    ] 200
[2026-08-29 22:10:44,232.232 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:10:44,255.255 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:10:44,298.298 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:10:44,301.301 INFO    ] No camera update needed
[2026-08-29 22:10:44,303.303 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:10:44,306.306 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:10:44,311.311 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:10:44,316.316 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:10:46,356.356 INFO    ] ================================================
[2026-08-29 22:10:46,372.372 INFO    ] Launching Daemon at Sat Aug 29 22:10:46 IST 2026
[2026-08-29 22:10:46,384.384 INFO    ] ================================================
[2026-08-29 22:10:46,949.949 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:10:46
[2026-08-29 22:10:47,469.469 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:10:47,604.604 INFO    ] Initializing speech engine...
[2026-08-29 22:10:47,608.608 INFO    ] 2026-08-29 22:10:47
[2026-08-29 22:10:47,836.836 INFO    ] 2026-08-29 22:10:47
[2026-08-29 22:10:47,871.871 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:10:48,003.003 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:10:48,047.047 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:10:48,213.213 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:10:48,241.241 INFO    ] time= 29/08/2026 22:10:48
[2026-08-29 22:10:48,298.298 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:10:48,322.322 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:10:48,393.393 INFO    ] No existing commands found in stream
[2026-08-29 22:10:53,404.404 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:10:53,406.406 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-08-29 22:10:56,161.161 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:10:56,162.162 INFO    ] Checking for system updates...
[2026-08-29 22:10:56,190.190 INFO    ] 200
[2026-08-29 22:10:56,192.192 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:10:56,233.233 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:10:56,235.235 INFO    ] No update needed
[2026-08-29 22:10:56,237.237 INFO    ] Checking for camera pi updates...
[2026-08-29 22:10:56,290.290 INFO    ] 200
[2026-08-29 22:10:56,294.294 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:10:56,341.341 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:10:56,425.425 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:10:56,428.428 INFO    ] No camera update needed
[2026-08-29 22:10:56,430.430 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:10:56,433.433 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:10:56,439.439 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:10:56,445.445 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:10:58,486.486 INFO    ] ================================================
[2026-08-29 22:10:58,501.501 INFO    ] Launching Daemon at Sat Aug 29 22:10:58 IST 2026
[2026-08-29 22:10:58,512.512 INFO    ] ================================================
[2026-08-29 22:10:59,078.078 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:10:59
[2026-08-29 22:10:59,665.665 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:10:59,923.923 INFO    ] Initializing speech engine...
[2026-08-29 22:10:59,930.930 INFO    ] 2026-08-29 22:10:59
[2026-08-29 22:11:00,224.224 INFO    ] 2026-08-29 22:11:00
[2026-08-29 22:11:00,248.248 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:11:00,393.393 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:11:00,398.398 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:11:00,563.563 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:11:00,579.579 INFO    ] time= 29/08/2026 22:11:00
[2026-08-29 22:11:00,588.588 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:11:00,592.592 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:11:00,674.674 INFO    ] No existing commands found in stream
[2026-08-29 22:11:05,708.708 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:11:05,711.711 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-08-29 22:11:07,355.355 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:11:07,356.356 INFO    ] Checking for system updates...
[2026-08-29 22:11:07,377.377 INFO    ] 200
[2026-08-29 22:11:07,378.378 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:11:07,410.410 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:11:07,411.411 INFO    ] No update needed
[2026-08-29 22:11:07,413.413 INFO    ] Checking for camera pi updates...
[2026-08-29 22:11:07,434.434 INFO    ] 200
[2026-08-29 22:11:07,436.436 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:11:07,458.458 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:11:07,565.565 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:11:07,566.566 INFO    ] No camera update needed
[2026-08-29 22:11:07,567.567 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:11:07,568.568 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:11:07,571.571 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:11:07,574.574 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:11:09,613.613 INFO    ] ================================================
[2026-08-29 22:11:09,629.629 INFO    ] Launching Daemon at Sat Aug 29 22:11:09 IST 2026
[2026-08-29 22:11:09,640.640 INFO    ] ================================================
[2026-08-29 22:11:10,151.151 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:11:10
[2026-08-29 22:11:10,735.735 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:11:10,984.984 INFO    ] Initializing speech engine...
[2026-08-29 22:11:10,990.990 INFO    ] 2026-08-29 22:11:10
[2026-08-29 22:11:11,268.268 INFO    ] 2026-08-29 22:11:11
[2026-08-29 22:11:11,304.304 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:11:11,483.483 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:11:11,496.496 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:11:11,607.607 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:11:11,613.613 INFO    ] time= 29/08/2026 22:11:11
[2026-08-29 22:11:11,622.622 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:11:11,651.651 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:11:11,726.726 INFO    ] No existing commands found in stream
[2026-08-29 22:11:16,738.738 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:11:16,741.741 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-08-29 22:11:20,698.698 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:11:20,699.699 INFO    ] Checking for system updates...
[2026-08-29 22:11:20,720.720 INFO    ] 200
[2026-08-29 22:11:20,722.722 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:11:20,753.753 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:11:20,754.754 INFO    ] No update needed
[2026-08-29 22:11:20,755.755 INFO    ] Checking for camera pi updates...
[2026-08-29 22:11:20,777.777 INFO    ] 200
[2026-08-29 22:11:20,778.778 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:11:20,803.803 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:11:20,905.905 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:11:20,907.907 INFO    ] No camera update needed
[2026-08-29 22:11:20,908.908 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:11:20,909.909 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:11:20,912.912 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:11:20,915.915 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:11:22,961.961 INFO    ] ================================================
[2026-08-29 22:11:22,976.976 INFO    ] Launching Daemon at Sat Aug 29 22:11:22 IST 2026
[2026-08-29 22:11:22,987.987 INFO    ] ================================================
[2026-08-29 22:11:23,344.344 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:11:23
[2026-08-29 22:11:23,660.660 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:11:23,804.804 INFO    ] Initializing speech engine...
[2026-08-29 22:11:23,809.809 INFO    ] 2026-08-29 22:11:23
[2026-08-29 22:11:24,013.013 INFO    ] 2026-08-29 22:11:23
[2026-08-29 22:11:24,041.041 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:11:24,224.224 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:11:24,228.228 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:11:24,361.361 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:11:24,423.423 INFO    ] time= 29/08/2026 22:11:24
[2026-08-29 22:11:24,456.456 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:11:24,458.458 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:11:24,528.528 INFO    ] No existing commands found in stream
[2026-08-29 22:11:29,539.539 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:11:29,541.541 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-08-29 22:11:31,302.302 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:11:31,304.304 INFO    ] Checking for system updates...
[2026-08-29 22:11:31,325.325 INFO    ] 200
[2026-08-29 22:11:31,326.326 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:11:31,356.356 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:11:31,358.358 INFO    ] No update needed
[2026-08-29 22:11:31,359.359 INFO    ] Checking for camera pi updates...
[2026-08-29 22:11:31,379.379 INFO    ] 200
[2026-08-29 22:11:31,380.380 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:11:31,405.405 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:11:31,481.481 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:11:31,483.483 INFO    ] No camera update needed
[2026-08-29 22:11:31,484.484 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:11:31,486.486 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:11:31,489.489 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:11:31,492.492 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:11:33,533.533 INFO    ] ================================================
[2026-08-29 22:11:33,548.548 INFO    ] Launching Daemon at Sat Aug 29 22:11:33 IST 2026
[2026-08-29 22:11:33,559.559 INFO    ] ================================================
[2026-08-29 22:11:34,219.219 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:11:34
[2026-08-29 22:11:34,695.695 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:11:34,906.906 INFO    ] Initializing speech engine...
[2026-08-29 22:11:34,913.913 INFO    ] 2026-08-29 22:11:34
[2026-08-29 22:11:35,233.233 INFO    ] 2026-08-29 22:11:35
[2026-08-29 22:11:35,316.316 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:11:35,495.495 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:11:35,514.514 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:11:35,692.692 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:11:35,734.734 INFO    ] time= 29/08/2026 22:11:35
[2026-08-29 22:11:35,740.740 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:11:35,761.761 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:11:35,886.886 INFO    ] No existing commands found in stream
[2026-08-29 22:11:40,902.902 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:11:40,905.905 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-08-29 22:11:45,139.139 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:11:45,141.141 INFO    ] Checking for system updates...
[2026-08-29 22:11:45,162.162 INFO    ] 200
[2026-08-29 22:11:45,163.163 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:11:45,194.194 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:11:45,195.195 INFO    ] No update needed
[2026-08-29 22:11:45,196.196 INFO    ] Checking for camera pi updates...
[2026-08-29 22:11:45,216.216 INFO    ] 200
[2026-08-29 22:11:45,217.217 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:11:45,240.240 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:11:45,342.342 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:11:45,343.343 INFO    ] No camera update needed
[2026-08-29 22:11:45,345.345 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:11:45,346.346 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:11:45,349.349 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:11:45,352.352 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:11:47,392.392 INFO    ] ================================================
[2026-08-29 22:11:47,407.407 INFO    ] Launching Daemon at Sat Aug 29 22:11:47 IST 2026
[2026-08-29 22:11:47,418.418 INFO    ] ================================================
[2026-08-29 22:11:47,768.768 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:11:47
[2026-08-29 22:11:48,141.141 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:11:48,391.391 INFO    ] Initializing speech engine...
[2026-08-29 22:11:48,411.411 INFO    ] 2026-08-29 22:11:48
[2026-08-29 22:11:48,667.667 INFO    ] 2026-08-29 22:11:48
[2026-08-29 22:11:48,703.703 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:11:48,873.873 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:11:48,887.887 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:11:49,029.029 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:11:49,037.037 INFO    ] time= 29/08/2026 22:11:49
[2026-08-29 22:11:49,045.045 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:11:49,090.090 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:11:49,205.205 INFO    ] No existing commands found in stream
[2026-08-29 22:11:54,235.235 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:11:54,238.238 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-08-29 22:11:56,558.558 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:11:56,560.560 INFO    ] Checking for system updates...
[2026-08-29 22:11:56,581.581 INFO    ] 200
[2026-08-29 22:11:56,583.583 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:11:56,613.613 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:11:56,620.620 INFO    ] No update needed
[2026-08-29 22:11:56,621.621 INFO    ] Checking for camera pi updates...
[2026-08-29 22:11:56,647.647 INFO    ] 200
[2026-08-29 22:11:56,649.649 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:11:56,672.672 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:11:56,754.754 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:11:56,755.755 INFO    ] No camera update needed
[2026-08-29 22:11:56,757.757 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:11:56,758.758 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:11:56,761.761 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:11:56,764.764 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:11:58,805.805 INFO    ] ================================================
[2026-08-29 22:11:58,821.821 INFO    ] Launching Daemon at Sat Aug 29 22:11:58 IST 2026
[2026-08-29 22:11:58,832.832 INFO    ] ================================================
[2026-08-29 22:11:59,152.152 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:11:59
[2026-08-29 22:11:59,466.466 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:11:59,609.609 INFO    ] Initializing speech engine...
[2026-08-29 22:11:59,614.614 INFO    ] 2026-08-29 22:11:59
[2026-08-29 22:11:59,817.817 INFO    ] 2026-08-29 22:11:59
[2026-08-29 22:11:59,845.845 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:11:59,968.968 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:12:00,031.031 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:12:00,163.163 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:12:00,229.229 INFO    ] time= 29/08/2026 22:12:00
[2026-08-29 22:12:00,262.262 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:12:00,264.264 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:12:00,334.334 INFO    ] No existing commands found in stream
[2026-08-29 22:12:05,345.345 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:12:05,347.347 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-08-29 22:12:08,421.421 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:12:08,423.423 INFO    ] Checking for system updates...
[2026-08-29 22:12:08,448.448 INFO    ] 200
[2026-08-29 22:12:08,450.450 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:12:08,480.480 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:12:08,481.481 INFO    ] No update needed
[2026-08-29 22:12:08,483.483 INFO    ] Checking for camera pi updates...
[2026-08-29 22:12:08,503.503 INFO    ] 200
[2026-08-29 22:12:08,505.505 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:12:08,527.527 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:12:08,621.621 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:12:08,624.624 INFO    ] No camera update needed
[2026-08-29 22:12:08,626.626 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:12:08,628.628 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:12:08,634.634 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:12:08,639.639 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:12:10,683.683 INFO    ] ================================================
[2026-08-29 22:12:10,698.698 INFO    ] Launching Daemon at Sat Aug 29 22:12:10 IST 2026
[2026-08-29 22:12:10,708.708 INFO    ] ================================================
[2026-08-29 22:12:11,370.370 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:12:11
[2026-08-29 22:12:11,830.830 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:12:11,983.983 INFO    ] Initializing speech engine...
[2026-08-29 22:12:11,989.989 INFO    ] 2026-08-29 22:12:11
[2026-08-29 22:12:12,210.210 INFO    ] 2026-08-29 22:12:12
[2026-08-29 22:12:12,292.292 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:12:12,456.456 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:12:12,462.462 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:12:12,599.599 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:12:12,654.654 INFO    ] time= 29/08/2026 22:12:12
[2026-08-29 22:12:12,709.709 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:12:12,737.737 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:12:12,869.869 INFO    ] No existing commands found in stream
[2026-08-29 22:12:17,895.895 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:12:17,898.898 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-08-29 22:12:20,779.779 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:12:20,780.780 INFO    ] Checking for system updates...
[2026-08-29 22:12:20,801.801 INFO    ] 200
[2026-08-29 22:12:20,803.803 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:12:20,835.835 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:12:20,836.836 INFO    ] No update needed
[2026-08-29 22:12:20,837.837 INFO    ] Checking for camera pi updates...
[2026-08-29 22:12:20,857.857 INFO    ] 200
[2026-08-29 22:12:20,858.858 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:12:20,882.882 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:12:20,968.968 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:12:20,970.970 INFO    ] No camera update needed
[2026-08-29 22:12:20,973.973 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:12:20,975.975 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:12:20,980.980 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:12:20,985.985 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:12:23,027.027 INFO    ] ================================================
[2026-08-29 22:12:23,042.042 INFO    ] Launching Daemon at Sat Aug 29 22:12:23 IST 2026
[2026-08-29 22:12:23,052.052 INFO    ] ================================================
[2026-08-29 22:12:23,651.651 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:12:23
[2026-08-29 22:12:24,170.170 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:12:24,448.448 INFO    ] Initializing speech engine...
[2026-08-29 22:12:24,455.455 INFO    ] 2026-08-29 22:12:24
[2026-08-29 22:12:24,779.779 INFO    ] 2026-08-29 22:12:24
[2026-08-29 22:12:24,862.862 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:12:25,040.040 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:12:25,045.045 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:12:25,218.218 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:12:25,279.279 INFO    ] time= 29/08/2026 22:12:25
[2026-08-29 22:12:25,299.299 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:12:25,310.310 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:12:25,441.441 INFO    ] No existing commands found in stream
[2026-08-29 22:12:30,469.469 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:12:30,473.473 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-08-29 22:12:33,975.975 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:12:33,978.978 INFO    ] Checking for system updates...
[2026-08-29 22:12:34,016.016 INFO    ] 200
[2026-08-29 22:12:34,019.019 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:12:34,074.074 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:12:34,077.077 INFO    ] No update needed
[2026-08-29 22:12:34,079.079 INFO    ] Checking for camera pi updates...
[2026-08-29 22:12:34,115.115 INFO    ] 200
[2026-08-29 22:12:34,118.118 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:12:34,159.159 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:12:34,351.351 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:12:34,354.354 INFO    ] No camera update needed
[2026-08-29 22:12:34,357.357 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:12:34,360.360 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:12:34,366.366 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:12:34,372.372 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:12:36,417.417 INFO    ] ================================================
[2026-08-29 22:12:36,432.432 INFO    ] Launching Daemon at Sat Aug 29 22:12:36 IST 2026
[2026-08-29 22:12:36,443.443 INFO    ] ================================================
[2026-08-29 22:12:37,080.080 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:12:37
[2026-08-29 22:12:37,768.768 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:12:38,066.066 INFO    ] Initializing speech engine...
[2026-08-29 22:12:38,072.072 INFO    ] 2026-08-29 22:12:38
[2026-08-29 22:12:38,327.327 INFO    ] 2026-08-29 22:12:38
[2026-08-29 22:12:38,379.379 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:12:38,523.523 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:12:38,534.534 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:12:38,660.660 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:12:38,683.683 INFO    ] time= 29/08/2026 22:12:38
[2026-08-29 22:12:38,687.687 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:12:38,693.693 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:12:38,760.760 INFO    ] No existing commands found in stream
[2026-08-29 22:12:43,775.775 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:12:43,778.778 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-08-29 22:12:46,383.383 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:12:46,384.384 INFO    ] Checking for system updates...
[2026-08-29 22:12:46,405.405 INFO    ] 200
[2026-08-29 22:12:46,406.406 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:12:46,437.437 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:12:46,439.439 INFO    ] No update needed
[2026-08-29 22:12:46,440.440 INFO    ] Checking for camera pi updates...
[2026-08-29 22:12:46,459.459 INFO    ] 200
[2026-08-29 22:12:46,460.460 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:12:46,484.484 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:12:46,569.569 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:12:46,571.571 INFO    ] No camera update needed
[2026-08-29 22:12:46,572.572 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:12:46,573.573 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:12:46,576.576 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:12:46,579.579 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:12:48,620.620 INFO    ] ================================================
[2026-08-29 22:12:48,636.636 INFO    ] Launching Daemon at Sat Aug 29 22:12:48 IST 2026
[2026-08-29 22:12:48,647.647 INFO    ] ================================================
[2026-08-29 22:12:48,994.994 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:12:48
[2026-08-29 22:12:49,550.550 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:12:49,808.808 INFO    ] Initializing speech engine...
[2026-08-29 22:12:49,816.816 INFO    ] 2026-08-29 22:12:49
[2026-08-29 22:12:50,111.111 INFO    ] 2026-08-29 22:12:50
[2026-08-29 22:12:50,149.149 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:12:50,299.299 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:12:50,307.307 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:12:50,460.460 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:12:50,470.470 INFO    ] time= 29/08/2026 22:12:50
[2026-08-29 22:12:50,475.475 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:12:50,480.480 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:12:50,549.549 INFO    ] No existing commands found in stream
[2026-08-29 22:12:55,562.562 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:12:55,565.565 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-08-29 22:12:58,448.448 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:12:58,450.450 INFO    ] Checking for system updates...
[2026-08-29 22:12:58,487.487 INFO    ] 200
[2026-08-29 22:12:58,489.489 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:12:58,542.542 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:12:58,545.545 INFO    ] No update needed
[2026-08-29 22:12:58,547.547 INFO    ] Checking for camera pi updates...
[2026-08-29 22:12:58,581.581 INFO    ] 200
[2026-08-29 22:12:58,583.583 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:12:58,624.624 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:12:58,703.703 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:12:58,705.705 INFO    ] No camera update needed
[2026-08-29 22:12:58,707.707 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:12:58,709.709 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:12:58,715.715 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:12:58,720.720 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:13:00,760.760 INFO    ] ================================================
[2026-08-29 22:13:00,777.777 INFO    ] Launching Daemon at Sat Aug 29 22:13:00 IST 2026
[2026-08-29 22:13:00,787.787 INFO    ] ================================================
[2026-08-29 22:13:01,170.170 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:13:01
[2026-08-29 22:13:01,790.790 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:13:02,108.108 INFO    ] Initializing speech engine...
[2026-08-29 22:13:02,128.128 INFO    ] 2026-08-29 22:13:02
[2026-08-29 22:13:02,417.417 INFO    ] 2026-08-29 22:13:02
[2026-08-29 22:13:02,478.478 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:13:02,638.638 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:13:02,651.651 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:13:02,786.786 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:13:02,833.833 INFO    ] time= 29/08/2026 22:13:02
[2026-08-29 22:13:02,844.844 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:13:02,853.853 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:13:02,955.955 INFO    ] No existing commands found in stream
[2026-08-29 22:13:07,986.986 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:13:07,990.990 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-08-29 22:13:08,652.652 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:13:08,653.653 INFO    ] Checking for system updates...
[2026-08-29 22:13:08,674.674 INFO    ] 200
[2026-08-29 22:13:08,676.676 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:13:08,705.705 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:13:08,707.707 INFO    ] No update needed
[2026-08-29 22:13:08,708.708 INFO    ] Checking for camera pi updates...
[2026-08-29 22:13:08,727.727 INFO    ] 200
[2026-08-29 22:13:08,728.728 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:13:08,753.753 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:13:08,827.827 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:13:08,828.828 INFO    ] No camera update needed
[2026-08-29 22:13:08,829.829 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:13:08,831.831 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:13:08,834.834 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:13:08,837.837 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:13:10,876.876 INFO    ] ================================================
[2026-08-29 22:13:10,891.891 INFO    ] Launching Daemon at Sat Aug 29 22:13:10 IST 2026
[2026-08-29 22:13:10,904.904 INFO    ] ================================================
[2026-08-29 22:13:11,257.257 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:13:11
[2026-08-29 22:13:11,596.596 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:13:11,749.749 INFO    ] Initializing speech engine...
[2026-08-29 22:13:11,754.754 INFO    ] 2026-08-29 22:13:11
[2026-08-29 22:13:11,965.965 INFO    ] 2026-08-29 22:13:11
[2026-08-29 22:13:11,995.995 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:13:12,143.143 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:13:12,151.151 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:13:12,322.322 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:13:12,360.360 INFO    ] time= 29/08/2026 22:13:12
[2026-08-29 22:13:12,380.380 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:13:12,409.409 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:13:12,515.515 INFO    ] No existing commands found in stream
[2026-08-29 22:13:17,531.531 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:13:17,534.534 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-08-29 22:13:19,775.775 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:13:19,776.776 INFO    ] Checking for system updates...
[2026-08-29 22:13:19,797.797 INFO    ] 200
[2026-08-29 22:13:19,798.798 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:13:19,833.833 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:13:19,834.834 INFO    ] No update needed
[2026-08-29 22:13:19,835.835 INFO    ] Checking for camera pi updates...
[2026-08-29 22:13:19,855.855 INFO    ] 200
[2026-08-29 22:13:19,857.857 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:13:19,880.880 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:13:19,952.952 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:13:19,954.954 INFO    ] No camera update needed
[2026-08-29 22:13:19,955.955 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:13:19,957.957 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:13:19,960.960 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:13:19,963.963 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:13:22,003.003 INFO    ] ================================================
[2026-08-29 22:13:22,021.021 INFO    ] Launching Daemon at Sat Aug 29 22:13:22 IST 2026
[2026-08-29 22:13:22,032.032 INFO    ] ================================================
[2026-08-29 22:13:22,412.412 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:13:22
[2026-08-29 22:13:22,731.731 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:13:22,867.867 INFO    ] Initializing speech engine...
[2026-08-29 22:13:22,871.871 INFO    ] 2026-08-29 22:13:22
[2026-08-29 22:13:23,070.070 INFO    ] 2026-08-29 22:13:23
[2026-08-29 22:13:23,109.109 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:13:23,230.230 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:13:23,233.233 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:13:23,343.343 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:13:23,352.352 INFO    ] time= 29/08/2026 22:13:23
[2026-08-29 22:13:23,357.357 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:13:23,373.373 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:13:23,452.452 INFO    ] No existing commands found in stream
[2026-08-29 22:13:28,487.487 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:13:28,490.490 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-08-29 22:13:31,084.084 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:13:31,086.086 INFO    ] Checking for system updates...
[2026-08-29 22:13:31,106.106 INFO    ] 200
[2026-08-29 22:13:31,108.108 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:13:31,137.137 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:13:31,139.139 INFO    ] No update needed
[2026-08-29 22:13:31,140.140 INFO    ] Checking for camera pi updates...
[2026-08-29 22:13:31,159.159 INFO    ] 200
[2026-08-29 22:13:31,160.160 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:13:31,188.188 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:13:31,278.278 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:13:31,281.281 INFO    ] No camera update needed
[2026-08-29 22:13:31,283.283 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:13:31,286.286 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:13:31,291.291 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:13:31,297.297 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:13:33,337.337 INFO    ] ================================================
[2026-08-29 22:13:33,353.353 INFO    ] Launching Daemon at Sat Aug 29 22:13:33 IST 2026
[2026-08-29 22:13:33,364.364 INFO    ] ================================================
[2026-08-29 22:13:33,936.936 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:13:33
[2026-08-29 22:13:34,329.329 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:13:34,472.472 INFO    ] Initializing speech engine...
[2026-08-29 22:13:34,477.477 INFO    ] 2026-08-29 22:13:34
[2026-08-29 22:13:34,672.672 INFO    ] 2026-08-29 22:13:34
[2026-08-29 22:13:34,745.745 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:13:34,899.899 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:13:34,908.908 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:13:35,040.040 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:13:35,067.067 INFO    ] time= 29/08/2026 22:13:35
[2026-08-29 22:13:35,126.126 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:13:35,174.174 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:13:35,226.226 INFO    ] No existing commands found in stream
[2026-08-29 22:13:40,238.238 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:13:40,241.241 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-08-29 22:13:43,804.804 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:13:43,806.806 INFO    ] Checking for system updates...
[2026-08-29 22:13:43,827.827 INFO    ] 200
[2026-08-29 22:13:43,828.828 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:13:43,858.858 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:13:43,859.859 INFO    ] No update needed
[2026-08-29 22:13:43,860.860 INFO    ] Checking for camera pi updates...
[2026-08-29 22:13:43,884.884 INFO    ] 200
[2026-08-29 22:13:43,885.885 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:13:43,910.910 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:13:43,984.984 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:13:43,986.986 INFO    ] No camera update needed
[2026-08-29 22:13:43,987.987 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:13:43,988.988 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:13:43,991.991 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:13:43,994.994 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:13:46,032.032 INFO    ] ================================================
[2026-08-29 22:13:46,048.048 INFO    ] Launching Daemon at Sat Aug 29 22:13:46 IST 2026
[2026-08-29 22:13:46,060.060 INFO    ] ================================================
[2026-08-29 22:13:46,404.404 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:13:46
[2026-08-29 22:13:46,716.716 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:13:46,858.858 INFO    ] Initializing speech engine...
[2026-08-29 22:13:46,868.868 INFO    ] 2026-08-29 22:13:46
[2026-08-29 22:13:47,085.085 INFO    ] 2026-08-29 22:13:47
[2026-08-29 22:13:47,116.116 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:13:47,283.283 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:13:47,290.290 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:13:47,437.437 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:13:47,444.444 INFO    ] time= 29/08/2026 22:13:47
[2026-08-29 22:13:47,463.463 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:13:47,493.493 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:13:47,580.580 INFO    ] No existing commands found in stream
[2026-08-29 22:13:52,607.607 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:13:52,610.610 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-08-29 22:13:53,652.652 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:13:53,654.654 INFO    ] Checking for system updates...
[2026-08-29 22:13:53,674.674 INFO    ] 200
[2026-08-29 22:13:53,675.675 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:13:53,705.705 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:13:53,706.706 INFO    ] No update needed
[2026-08-29 22:13:53,708.708 INFO    ] Checking for camera pi updates...
[2026-08-29 22:13:53,727.727 INFO    ] 200
[2026-08-29 22:13:53,728.728 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:13:53,751.751 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:13:53,829.829 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:13:53,831.831 INFO    ] No camera update needed
[2026-08-29 22:13:53,832.832 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:13:53,833.833 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:13:53,836.836 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:13:53,839.839 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:13:55,877.877 INFO    ] ================================================
[2026-08-29 22:13:55,893.893 INFO    ] Launching Daemon at Sat Aug 29 22:13:55 IST 2026
[2026-08-29 22:13:55,906.906 INFO    ] ================================================
[2026-08-29 22:13:56,236.236 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:13:56
[2026-08-29 22:13:56,548.548 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:13:56,683.683 INFO    ] Initializing speech engine...
[2026-08-29 22:13:56,699.699 INFO    ] 2026-08-29 22:13:56
[2026-08-29 22:13:56,905.905 INFO    ] 2026-08-29 22:13:56
[2026-08-29 22:13:56,932.932 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:13:57,054.054 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:13:57,117.117 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:13:57,291.291 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:13:57,321.321 INFO    ] time= 29/08/2026 22:13:57
[2026-08-29 22:13:57,382.382 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:13:57,442.442 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:13:57,519.519 INFO    ] No existing commands found in stream
[2026-08-29 22:14:02,530.530 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:14:02,534.534 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-08-29 22:14:05,976.976 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:14:05,978.978 INFO    ] Checking for system updates...
[2026-08-29 22:14:06,005.005 INFO    ] 200
[2026-08-29 22:14:06,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:14:06,049.049 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:14:06,050.050 INFO    ] No update needed
[2026-08-29 22:14:06,052.052 INFO    ] Checking for camera pi updates...
[2026-08-29 22:14:06,072.072 INFO    ] 200
[2026-08-29 22:14:06,073.073 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:14:06,121.121 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:14:06,197.197 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:14:06,199.199 INFO    ] No camera update needed
[2026-08-29 22:14:06,201.201 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:14:06,204.204 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:14:06,209.209 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:14:06,215.215 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:14:08,256.256 INFO    ] ================================================
[2026-08-29 22:14:08,273.273 INFO    ] Launching Daemon at Sat Aug 29 22:14:08 IST 2026
[2026-08-29 22:14:08,284.284 INFO    ] ================================================
[2026-08-29 22:14:08,849.849 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:14:08
[2026-08-29 22:14:09,347.347 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:14:09,595.595 INFO    ] Initializing speech engine...
[2026-08-29 22:14:09,600.600 INFO    ] 2026-08-29 22:14:09
[2026-08-29 22:14:09,904.904 INFO    ] 2026-08-29 22:14:09
[2026-08-29 22:14:09,930.930 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:14:10,089.089 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:14:10,095.095 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:14:10,251.251 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:14:10,261.261 INFO    ] time= 29/08/2026 22:14:10
[2026-08-29 22:14:10,266.266 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:14:10,289.289 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:14:10,342.342 INFO    ] No existing commands found in stream
[2026-08-29 22:14:15,353.353 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:14:15,356.356 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-08-29 22:14:15,956.956 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:14:15,958.958 INFO    ] Checking for system updates...
[2026-08-29 22:14:15,978.978 INFO    ] 200
[2026-08-29 22:14:15,979.979 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:14:16,009.009 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:14:16,010.010 INFO    ] No update needed
[2026-08-29 22:14:16,012.012 INFO    ] Checking for camera pi updates...
[2026-08-29 22:14:16,031.031 INFO    ] 200
[2026-08-29 22:14:16,032.032 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:14:16,057.057 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:14:16,135.135 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:14:16,136.136 INFO    ] No camera update needed
[2026-08-29 22:14:16,138.138 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:14:16,139.139 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:14:16,142.142 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:14:16,144.144 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:14:18,184.184 INFO    ] ================================================
[2026-08-29 22:14:18,199.199 INFO    ] Launching Daemon at Sat Aug 29 22:14:18 IST 2026
[2026-08-29 22:14:18,211.211 INFO    ] ================================================
[2026-08-29 22:14:18,760.760 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:14:18
[2026-08-29 22:14:19,343.343 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:14:19,596.596 INFO    ] Initializing speech engine...
[2026-08-29 22:14:19,618.618 INFO    ] 2026-08-29 22:14:19
[2026-08-29 22:14:19,874.874 INFO    ] 2026-08-29 22:14:19
[2026-08-29 22:14:19,910.910 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:14:20,106.106 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:14:20,119.119 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:14:20,247.247 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:14:20,252.252 INFO    ] time= 29/08/2026 22:14:20
[2026-08-29 22:14:20,273.273 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:14:20,296.296 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:14:20,380.380 INFO    ] No existing commands found in stream
[2026-08-29 22:14:25,393.393 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:14:25,395.395 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-08-29 22:14:29,183.183 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:14:29,184.184 INFO    ] Checking for system updates...
[2026-08-29 22:14:29,204.204 INFO    ] 200
[2026-08-29 22:14:29,206.206 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:14:29,236.236 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:14:29,237.237 INFO    ] No update needed
[2026-08-29 22:14:29,238.238 INFO    ] Checking for camera pi updates...
[2026-08-29 22:14:29,257.257 INFO    ] 200
[2026-08-29 22:14:29,259.259 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:14:29,282.282 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:14:29,357.357 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:14:29,358.358 INFO    ] No camera update needed
[2026-08-29 22:14:29,360.360 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:14:29,361.361 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:14:29,364.364 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:14:29,367.367 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:14:31,408.408 INFO    ] ================================================
[2026-08-29 22:14:31,426.426 INFO    ] Launching Daemon at Sat Aug 29 22:14:31 IST 2026
[2026-08-29 22:14:31,437.437 INFO    ] ================================================
[2026-08-29 22:14:32,090.090 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:14:32
[2026-08-29 22:14:32,764.764 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:14:33,011.011 INFO    ] Initializing speech engine...
[2026-08-29 22:14:33,018.018 INFO    ] 2026-08-29 22:14:33
[2026-08-29 22:14:33,297.297 INFO    ] 2026-08-29 22:14:33
[2026-08-29 22:14:33,332.332 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:14:33,510.510 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:14:33,525.525 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:14:33,654.654 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:14:33,674.674 INFO    ] time= 29/08/2026 22:14:33
[2026-08-29 22:14:33,681.681 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:14:33,688.688 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:14:33,757.757 INFO    ] No existing commands found in stream
[2026-08-29 22:14:38,772.772 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:14:38,775.775 INFO    ] Waiting 3.71 seconds before fallback handling...
[2026-08-29 22:14:42,841.841 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:14:42,843.843 INFO    ] Checking for system updates...
[2026-08-29 22:14:42,863.863 INFO    ] 200
[2026-08-29 22:14:42,865.865 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:14:42,894.894 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:14:42,896.896 INFO    ] No update needed
[2026-08-29 22:14:42,897.897 INFO    ] Checking for camera pi updates...
[2026-08-29 22:14:42,917.917 INFO    ] 200
[2026-08-29 22:14:42,918.918 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:14:42,941.941 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:14:43,115.115 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:14:43,117.117 INFO    ] No camera update needed
[2026-08-29 22:14:43,123.123 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:14:43,125.125 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:14:43,130.130 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:14:43,136.136 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:14:45,178.178 INFO    ] ================================================
[2026-08-29 22:14:45,194.194 INFO    ] Launching Daemon at Sat Aug 29 22:14:45 IST 2026
[2026-08-29 22:14:45,205.205 INFO    ] ================================================
[2026-08-29 22:14:45,775.775 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:14:45
[2026-08-29 22:14:46,293.293 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:14:46,431.431 INFO    ] Initializing speech engine...
[2026-08-29 22:14:46,440.440 INFO    ] 2026-08-29 22:14:46
[2026-08-29 22:14:46,630.630 INFO    ] 2026-08-29 22:14:46
[2026-08-29 22:14:46,665.665 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:14:46,842.842 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:14:46,855.855 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:14:46,967.967 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:14:46,972.972 INFO    ] time= 29/08/2026 22:14:46
[2026-08-29 22:14:46,990.990 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:14:47,011.011 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:14:47,088.088 INFO    ] No existing commands found in stream
[2026-08-29 22:14:52,124.124 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:14:52,127.127 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-08-29 22:14:53,298.298 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:14:53,299.299 INFO    ] Checking for system updates...
[2026-08-29 22:14:53,319.319 INFO    ] 200
[2026-08-29 22:14:53,320.320 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:14:53,350.350 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:14:53,351.351 INFO    ] No update needed
[2026-08-29 22:14:53,353.353 INFO    ] Checking for camera pi updates...
[2026-08-29 22:14:53,373.373 INFO    ] 200
[2026-08-29 22:14:53,374.374 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:14:53,398.398 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:14:53,478.478 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:14:53,479.479 INFO    ] No camera update needed
[2026-08-29 22:14:53,481.481 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:14:53,482.482 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:14:53,485.485 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:14:53,488.488 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:14:55,528.528 INFO    ] ================================================
[2026-08-29 22:14:55,544.544 INFO    ] Launching Daemon at Sat Aug 29 22:14:55 IST 2026
[2026-08-29 22:14:55,556.556 INFO    ] ================================================
[2026-08-29 22:14:56,135.135 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:14:56
[2026-08-29 22:14:56,811.811 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:14:57,119.119 INFO    ] Initializing speech engine...
[2026-08-29 22:14:57,126.126 INFO    ] 2026-08-29 22:14:57
[2026-08-29 22:14:57,407.407 INFO    ] 2026-08-29 22:14:57
[2026-08-29 22:14:57,462.462 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:14:57,688.688 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:14:57,698.698 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:14:57,832.832 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:14:57,885.885 INFO    ] time= 29/08/2026 22:14:57
[2026-08-29 22:14:57,950.950 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:14:57,970.970 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:14:58,076.076 INFO    ] No existing commands found in stream
[2026-08-29 22:15:03,103.103 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:15:03,107.107 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-08-29 22:15:05,290.290 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:15:05,292.292 INFO    ] Checking for system updates...
[2026-08-29 22:15:05,313.313 INFO    ] 200
[2026-08-29 22:15:05,314.314 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:15:05,346.346 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:15:05,348.348 INFO    ] No update needed
[2026-08-29 22:15:05,349.349 INFO    ] Checking for camera pi updates...
[2026-08-29 22:15:05,368.368 INFO    ] 200
[2026-08-29 22:15:05,369.369 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:15:05,392.392 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:15:05,465.465 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:15:05,466.466 INFO    ] No camera update needed
[2026-08-29 22:15:05,467.467 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:15:05,469.469 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:15:05,472.472 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:15:05,475.475 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:15:07,518.518 INFO    ] ================================================
[2026-08-29 22:15:07,535.535 INFO    ] Launching Daemon at Sat Aug 29 22:15:07 IST 2026
[2026-08-29 22:15:07,546.546 INFO    ] ================================================
[2026-08-29 22:15:07,905.905 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:15:07
[2026-08-29 22:15:08,248.248 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:15:08,399.399 INFO    ] Initializing speech engine...
[2026-08-29 22:15:08,405.405 INFO    ] 2026-08-29 22:15:08
[2026-08-29 22:15:08,615.615 INFO    ] 2026-08-29 22:15:08
[2026-08-29 22:15:08,645.645 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:15:08,773.773 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:15:08,831.831 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:15:08,965.965 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:15:09,016.016 INFO    ] time= 29/08/2026 22:15:08
[2026-08-29 22:15:09,064.064 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:15:09,071.071 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:15:09,139.139 INFO    ] No existing commands found in stream
[2026-08-29 22:15:14,148.148 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:15:14,151.151 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-08-29 22:15:18,053.053 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:15:18,055.055 INFO    ] Checking for system updates...
[2026-08-29 22:15:18,075.075 INFO    ] 200
[2026-08-29 22:15:18,077.077 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:15:18,106.106 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:15:18,107.107 INFO    ] No update needed
[2026-08-29 22:15:18,109.109 INFO    ] Checking for camera pi updates...
[2026-08-29 22:15:18,128.128 INFO    ] 200
[2026-08-29 22:15:18,129.129 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:15:18,152.152 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:15:18,233.233 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:15:18,235.235 INFO    ] No camera update needed
[2026-08-29 22:15:18,237.237 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:15:18,240.240 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:15:18,245.245 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:15:18,250.250 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:15:20,293.293 INFO    ] ================================================
[2026-08-29 22:15:20,309.309 INFO    ] Launching Daemon at Sat Aug 29 22:15:20 IST 2026
[2026-08-29 22:15:20,320.320 INFO    ] ================================================
[2026-08-29 22:15:20,893.893 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:15:20
[2026-08-29 22:15:21,359.359 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:15:21,503.503 INFO    ] Initializing speech engine...
[2026-08-29 22:15:21,507.507 INFO    ] 2026-08-29 22:15:21
[2026-08-29 22:15:21,720.720 INFO    ] 2026-08-29 22:15:21
[2026-08-29 22:15:21,799.799 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:15:21,956.956 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:15:21,965.965 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:15:22,097.097 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:15:22,124.124 INFO    ] time= 29/08/2026 22:15:22
[2026-08-29 22:15:22,178.178 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:15:22,230.230 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:15:22,283.283 INFO    ] No existing commands found in stream
[2026-08-29 22:15:27,294.294 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:15:27,297.297 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-08-29 22:15:31,023.023 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:15:31,025.025 INFO    ] Checking for system updates...
[2026-08-29 22:15:31,045.045 INFO    ] 200
[2026-08-29 22:15:31,046.046 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:15:31,078.078 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:15:31,080.080 INFO    ] No update needed
[2026-08-29 22:15:31,081.081 INFO    ] Checking for camera pi updates...
[2026-08-29 22:15:31,101.101 INFO    ] 200
[2026-08-29 22:15:31,102.102 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:15:31,126.126 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:15:31,227.227 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:15:31,228.228 INFO    ] No camera update needed
[2026-08-29 22:15:31,230.230 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:15:31,231.231 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:15:31,234.234 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:15:31,237.237 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:15:33,280.280 INFO    ] ================================================
[2026-08-29 22:15:33,296.296 INFO    ] Launching Daemon at Sat Aug 29 22:15:33 IST 2026
[2026-08-29 22:15:33,307.307 INFO    ] ================================================
[2026-08-29 22:15:33,968.968 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:15:33
[2026-08-29 22:15:34,491.491 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:15:34,639.639 INFO    ] Initializing speech engine...
[2026-08-29 22:15:34,648.648 INFO    ] 2026-08-29 22:15:34
[2026-08-29 22:15:34,857.857 INFO    ] 2026-08-29 22:15:34
[2026-08-29 22:15:34,887.887 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:15:35,071.071 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:15:35,075.075 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:15:35,211.211 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:15:35,278.278 INFO    ] time= 29/08/2026 22:15:35
[2026-08-29 22:15:35,301.301 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:15:35,308.308 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:15:35,376.376 INFO    ] No existing commands found in stream
[2026-08-29 22:15:40,390.390 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:15:40,394.394 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 22:15:42,664.664 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:15:42,665.665 INFO    ] Checking for system updates...
[2026-08-29 22:15:42,695.695 INFO    ] 200
[2026-08-29 22:15:42,696.696 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:15:42,726.726 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:15:42,728.728 INFO    ] No update needed
[2026-08-29 22:15:42,729.729 INFO    ] Checking for camera pi updates...
[2026-08-29 22:15:42,748.748 INFO    ] 200
[2026-08-29 22:15:42,749.749 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:15:42,772.772 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:15:42,854.854 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:15:42,856.856 INFO    ] No camera update needed
[2026-08-29 22:15:42,857.857 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:15:42,858.858 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:15:42,861.861 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:15:42,864.864 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:15:44,902.902 INFO    ] ================================================
[2026-08-29 22:15:44,918.918 INFO    ] Launching Daemon at Sat Aug 29 22:15:44 IST 2026
[2026-08-29 22:15:44,930.930 INFO    ] ================================================
[2026-08-29 22:15:45,304.304 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:15:45
[2026-08-29 22:15:45,619.619 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:15:45,758.758 INFO    ] Initializing speech engine...
[2026-08-29 22:15:45,768.768 INFO    ] 2026-08-29 22:15:45
[2026-08-29 22:15:45,973.973 INFO    ] 2026-08-29 22:15:45
[2026-08-29 22:15:46,001.001 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:15:46,127.127 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:15:46,185.185 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:15:46,314.314 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:15:46,370.370 INFO    ] time= 29/08/2026 22:15:46
[2026-08-29 22:15:46,411.411 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:15:46,469.469 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:15:46,572.572 INFO    ] No existing commands found in stream
[2026-08-29 22:15:51,604.604 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:15:51,607.607 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 22:15:53,564.564 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:15:53,566.566 INFO    ] Checking for system updates...
[2026-08-29 22:15:53,587.587 INFO    ] 200
[2026-08-29 22:15:53,589.589 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:15:53,618.618 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:15:53,620.620 INFO    ] No update needed
[2026-08-29 22:15:53,621.621 INFO    ] Checking for camera pi updates...
[2026-08-29 22:15:53,640.640 INFO    ] 200
[2026-08-29 22:15:53,642.642 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:15:53,665.665 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:15:53,749.749 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:15:53,751.751 INFO    ] No camera update needed
[2026-08-29 22:15:53,752.752 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:15:53,753.753 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:15:53,756.756 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:15:53,759.759 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:15:55,799.799 INFO    ] ================================================
[2026-08-29 22:15:55,815.815 INFO    ] Launching Daemon at Sat Aug 29 22:15:55 IST 2026
[2026-08-29 22:15:55,827.827 INFO    ] ================================================
[2026-08-29 22:15:56,154.154 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:15:56
[2026-08-29 22:15:56,465.465 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:15:56,603.603 INFO    ] Initializing speech engine...
[2026-08-29 22:15:56,610.610 INFO    ] 2026-08-29 22:15:56
[2026-08-29 22:15:56,817.817 INFO    ] 2026-08-29 22:15:56
[2026-08-29 22:15:56,847.847 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:15:56,970.970 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:15:57,008.008 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:15:57,166.166 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:15:57,222.222 INFO    ] time= 29/08/2026 22:15:57
[2026-08-29 22:15:57,257.257 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:15:57,268.268 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:15:57,339.339 INFO    ] No existing commands found in stream
[2026-08-29 22:16:02,350.350 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:16:02,353.353 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-08-29 22:16:05,005.005 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:16:05,007.007 INFO    ] Checking for system updates...
[2026-08-29 22:16:05,028.028 INFO    ] 200
[2026-08-29 22:16:05,029.029 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:16:05,059.059 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:16:05,061.061 INFO    ] No update needed
[2026-08-29 22:16:05,062.062 INFO    ] Checking for camera pi updates...
[2026-08-29 22:16:05,081.081 INFO    ] 200
[2026-08-29 22:16:05,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:16:05,106.106 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:16:05,179.179 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:16:05,181.181 INFO    ] No camera update needed
[2026-08-29 22:16:05,182.182 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:16:05,183.183 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:16:05,186.186 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:16:05,189.189 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:16:07,229.229 INFO    ] ================================================
[2026-08-29 22:16:07,245.245 INFO    ] Launching Daemon at Sat Aug 29 22:16:07 IST 2026
[2026-08-29 22:16:07,256.256 INFO    ] ================================================
[2026-08-29 22:16:07,587.587 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:16:07
[2026-08-29 22:16:07,984.984 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:16:08,263.263 INFO    ] Initializing speech engine...
[2026-08-29 22:16:08,271.271 INFO    ] 2026-08-29 22:16:08
[2026-08-29 22:16:08,563.563 INFO    ] 2026-08-29 22:16:08
[2026-08-29 22:16:08,619.619 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:16:08,829.829 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:16:08,840.840 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:16:08,971.971 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:16:09,019.019 INFO    ] time= 29/08/2026 22:16:08
[2026-08-29 22:16:09,085.085 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:16:09,109.109 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:16:09,222.222 INFO    ] No existing commands found in stream
[2026-08-29 22:16:14,251.251 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:16:14,254.254 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-08-29 22:16:18,586.586 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:16:18,587.587 INFO    ] Checking for system updates...
[2026-08-29 22:16:18,608.608 INFO    ] 200
[2026-08-29 22:16:18,609.609 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:16:18,645.645 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:16:18,646.646 INFO    ] No update needed
[2026-08-29 22:16:18,648.648 INFO    ] Checking for camera pi updates...
[2026-08-29 22:16:18,668.668 INFO    ] 200
[2026-08-29 22:16:18,669.669 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:16:18,692.692 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:16:18,764.764 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:16:18,765.765 INFO    ] No camera update needed
[2026-08-29 22:16:18,766.766 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:16:18,767.767 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:16:18,770.770 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:16:18,773.773 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:16:20,813.813 INFO    ] ================================================
[2026-08-29 22:16:20,829.829 INFO    ] Launching Daemon at Sat Aug 29 22:16:20 IST 2026
[2026-08-29 22:16:20,841.841 INFO    ] ================================================
[2026-08-29 22:16:21,216.216 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:16:21
[2026-08-29 22:16:21,558.558 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:16:21,712.712 INFO    ] Initializing speech engine...
[2026-08-29 22:16:21,717.717 INFO    ] 2026-08-29 22:16:21
[2026-08-29 22:16:21,924.924 INFO    ] 2026-08-29 22:16:21
[2026-08-29 22:16:21,953.953 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:16:22,091.091 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:16:22,140.140 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:16:22,275.275 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:16:22,332.332 INFO    ] time= 29/08/2026 22:16:22
[2026-08-29 22:16:22,373.373 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:16:22,416.416 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:16:22,534.534 INFO    ] No existing commands found in stream
[2026-08-29 22:16:27,565.565 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:16:27,568.568 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-08-29 22:16:31,157.157 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:16:31,158.158 INFO    ] Checking for system updates...
[2026-08-29 22:16:31,179.179 INFO    ] 200
[2026-08-29 22:16:31,181.181 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:16:31,211.211 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:16:31,212.212 INFO    ] No update needed
[2026-08-29 22:16:31,214.214 INFO    ] Checking for camera pi updates...
[2026-08-29 22:16:31,235.235 INFO    ] 200
[2026-08-29 22:16:31,236.236 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:16:31,263.263 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:16:31,333.333 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:16:31,335.335 INFO    ] No camera update needed
[2026-08-29 22:16:31,336.336 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:16:31,337.337 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:16:31,341.341 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:16:31,344.344 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:16:33,388.388 INFO    ] ================================================
[2026-08-29 22:16:33,404.404 INFO    ] Launching Daemon at Sat Aug 29 22:16:33 IST 2026
[2026-08-29 22:16:33,415.415 INFO    ] ================================================
[2026-08-29 22:16:33,987.987 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:16:33
[2026-08-29 22:16:34,554.554 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:16:34,686.686 INFO    ] Initializing speech engine...
[2026-08-29 22:16:34,689.689 INFO    ] 2026-08-29 22:16:34
[2026-08-29 22:16:34,902.902 INFO    ] 2026-08-29 22:16:34
[2026-08-29 22:16:34,972.972 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:16:35,134.134 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:16:35,143.143 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:16:35,279.279 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:16:35,301.301 INFO    ] time= 29/08/2026 22:16:35
[2026-08-29 22:16:35,360.360 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:16:35,415.415 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:16:35,468.468 INFO    ] No existing commands found in stream
[2026-08-29 22:16:40,480.480 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:16:40,483.483 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-08-29 22:16:41,780.780 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:16:41,781.781 INFO    ] Checking for system updates...
[2026-08-29 22:16:41,802.802 INFO    ] 200
[2026-08-29 22:16:41,803.803 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:16:41,833.833 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:16:41,834.834 INFO    ] No update needed
[2026-08-29 22:16:41,836.836 INFO    ] Checking for camera pi updates...
[2026-08-29 22:16:41,855.855 INFO    ] 200
[2026-08-29 22:16:41,856.856 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:16:41,879.879 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:16:41,953.953 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:16:41,955.955 INFO    ] No camera update needed
[2026-08-29 22:16:41,957.957 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:16:41,960.960 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:16:41,965.965 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:16:41,970.970 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:16:44,014.014 INFO    ] ================================================
[2026-08-29 22:16:44,030.030 INFO    ] Launching Daemon at Sat Aug 29 22:16:44 IST 2026
[2026-08-29 22:16:44,041.041 INFO    ] ================================================
[2026-08-29 22:16:44,662.662 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:16:44
[2026-08-29 22:16:45,153.153 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:16:45,297.297 INFO    ] Initializing speech engine...
[2026-08-29 22:16:45,302.302 INFO    ] 2026-08-29 22:16:45
[2026-08-29 22:16:45,507.507 INFO    ] 2026-08-29 22:16:45
[2026-08-29 22:16:45,537.537 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:16:45,657.657 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:16:45,707.707 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:16:45,857.857 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:16:45,919.919 INFO    ] time= 29/08/2026 22:16:45
[2026-08-29 22:16:45,952.952 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:16:45,959.959 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:16:46,024.024 INFO    ] No existing commands found in stream
[2026-08-29 22:16:51,034.034 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:16:51,037.037 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-08-29 22:16:52,176.176 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:16:52,177.177 INFO    ] Checking for system updates...
[2026-08-29 22:16:52,198.198 INFO    ] 200
[2026-08-29 22:16:52,199.199 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:16:52,229.229 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:16:52,230.230 INFO    ] No update needed
[2026-08-29 22:16:52,232.232 INFO    ] Checking for camera pi updates...
[2026-08-29 22:16:52,253.253 INFO    ] 200
[2026-08-29 22:16:52,254.254 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:16:52,279.279 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:16:52,466.466 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:16:52,467.467 INFO    ] No camera update needed
[2026-08-29 22:16:52,468.468 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:16:52,470.470 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:16:52,473.473 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:16:52,476.476 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:16:54,514.514 INFO    ] ================================================
[2026-08-29 22:16:54,529.529 INFO    ] Launching Daemon at Sat Aug 29 22:16:54 IST 2026
[2026-08-29 22:16:54,540.540 INFO    ] ================================================
[2026-08-29 22:16:54,891.891 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:16:54
[2026-08-29 22:16:55,204.204 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:16:55,334.334 INFO    ] Initializing speech engine...
[2026-08-29 22:16:55,342.342 INFO    ] 2026-08-29 22:16:55
[2026-08-29 22:16:55,552.552 INFO    ] 2026-08-29 22:16:55
[2026-08-29 22:16:55,581.581 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:16:55,702.702 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:16:55,746.746 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:16:55,899.899 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:16:55,962.962 INFO    ] time= 29/08/2026 22:16:55
[2026-08-29 22:16:55,994.994 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:16:55,995.995 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:16:56,066.066 INFO    ] No existing commands found in stream
[2026-08-29 22:17:01,077.077 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:17:01,080.080 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-08-29 22:17:03,416.416 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:17:03,419.419 INFO    ] Checking for system updates...
[2026-08-29 22:17:03,455.455 INFO    ] 200
[2026-08-29 22:17:03,457.457 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:17:03,515.515 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:17:03,517.517 INFO    ] No update needed
[2026-08-29 22:17:03,519.519 INFO    ] Checking for camera pi updates...
[2026-08-29 22:17:03,555.555 INFO    ] 200
[2026-08-29 22:17:03,557.557 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:17:03,602.602 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:17:03,677.677 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:17:03,679.679 INFO    ] No camera update needed
[2026-08-29 22:17:03,682.682 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:17:03,684.684 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:17:03,689.689 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:17:03,694.694 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:17:05,734.734 INFO    ] ================================================
[2026-08-29 22:17:05,749.749 INFO    ] Launching Daemon at Sat Aug 29 22:17:05 IST 2026
[2026-08-29 22:17:05,760.760 INFO    ] ================================================
[2026-08-29 22:17:06,391.391 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:17:06
[2026-08-29 22:17:07,051.051 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:17:07,367.367 INFO    ] Initializing speech engine...
[2026-08-29 22:17:07,375.375 INFO    ] 2026-08-29 22:17:07
[2026-08-29 22:17:07,681.681 INFO    ] 2026-08-29 22:17:07
[2026-08-29 22:17:07,769.769 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:17:07,922.922 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:17:07,926.926 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:17:08,062.062 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:17:08,144.144 INFO    ] time= 29/08/2026 22:17:08
[2026-08-29 22:17:08,191.191 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:17:08,197.197 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:17:08,312.312 INFO    ] No existing commands found in stream
[2026-08-29 22:17:13,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:17:13,338.338 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-08-29 22:17:17,642.642 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:17:17,644.644 INFO    ] Checking for system updates...
[2026-08-29 22:17:17,664.664 INFO    ] 200
[2026-08-29 22:17:17,666.666 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:17:17,697.697 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:17:17,698.698 INFO    ] No update needed
[2026-08-29 22:17:17,699.699 INFO    ] Checking for camera pi updates...
[2026-08-29 22:17:17,719.719 INFO    ] 200
[2026-08-29 22:17:17,720.720 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:17:17,746.746 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:17:17,838.838 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:17:17,841.841 INFO    ] No camera update needed
[2026-08-29 22:17:17,843.843 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:17:17,846.846 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:17:17,851.851 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:17:17,856.856 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:17:19,896.896 INFO    ] ================================================
[2026-08-29 22:17:19,912.912 INFO    ] Launching Daemon at Sat Aug 29 22:17:19 IST 2026
[2026-08-29 22:17:19,922.922 INFO    ] ================================================
[2026-08-29 22:17:20,508.508 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:17:20
[2026-08-29 22:17:20,977.977 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:17:21,111.111 INFO    ] Initializing speech engine...
[2026-08-29 22:17:21,123.123 INFO    ] 2026-08-29 22:17:21
[2026-08-29 22:17:21,330.330 INFO    ] 2026-08-29 22:17:21
[2026-08-29 22:17:21,359.359 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:17:21,740.740 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:17:21,760.760 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:17:22,850.850 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:17:22,852.852 INFO    ] time= 29/08/2026 22:17:22
[2026-08-29 22:17:22,854.854 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:17:22,855.855 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:17:23,147.147 INFO    ] No existing commands found in stream
[2026-08-29 22:17:28,156.156 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:17:28,163.163 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-08-29 22:17:34,010.010 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:17:34,014.014 INFO    ] Checking for system updates...
[2026-08-29 22:17:34,056.056 INFO    ] 200
[2026-08-29 22:17:34,059.059 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:17:34,125.125 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:17:34,127.127 INFO    ] No update needed
[2026-08-29 22:17:34,130.130 INFO    ] Checking for camera pi updates...
[2026-08-29 22:17:34,171.171 INFO    ] 200
[2026-08-29 22:17:34,174.174 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:17:34,218.218 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:17:34,298.298 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:17:34,301.301 INFO    ] No camera update needed
[2026-08-29 22:17:34,304.304 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:17:34,307.307 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:17:34,313.313 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:17:34,318.318 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:17:36,364.364 INFO    ] ================================================
[2026-08-29 22:17:36,379.379 INFO    ] Launching Daemon at Sat Aug 29 22:17:36 IST 2026
[2026-08-29 22:17:36,390.390 INFO    ] ================================================
[2026-08-29 22:17:36,971.971 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:17:36
[2026-08-29 22:17:37,584.584 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:17:37,858.858 INFO    ] Initializing speech engine...
[2026-08-29 22:17:37,867.867 INFO    ] 2026-08-29 22:17:37
[2026-08-29 22:17:38,118.118 INFO    ] 2026-08-29 22:17:38
[2026-08-29 22:17:38,154.154 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:17:38,329.329 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:17:38,344.344 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:17:38,494.494 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:17:38,499.499 INFO    ] time= 29/08/2026 22:17:38
[2026-08-29 22:17:38,505.505 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:17:38,552.552 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:17:38,640.640 INFO    ] No existing commands found in stream
[2026-08-29 22:17:43,649.649 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:17:43,652.652 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-08-29 22:17:45,116.116 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:17:45,118.118 INFO    ] Checking for system updates...
[2026-08-29 22:17:45,139.139 INFO    ] 200
[2026-08-29 22:17:45,141.141 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:17:45,171.171 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:17:45,172.172 INFO    ] No update needed
[2026-08-29 22:17:45,174.174 INFO    ] Checking for camera pi updates...
[2026-08-29 22:17:45,194.194 INFO    ] 200
[2026-08-29 22:17:45,195.195 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:17:45,218.218 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:17:45,294.294 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:17:45,295.295 INFO    ] No camera update needed
[2026-08-29 22:17:45,296.296 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:17:45,297.297 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:17:45,300.300 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:17:45,303.303 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:17:47,345.345 INFO    ] ================================================
[2026-08-29 22:17:47,360.360 INFO    ] Launching Daemon at Sat Aug 29 22:17:47 IST 2026
[2026-08-29 22:17:47,370.370 INFO    ] ================================================
[2026-08-29 22:17:47,963.963 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:17:47
[2026-08-29 22:17:48,549.549 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:17:48,796.796 INFO    ] Initializing speech engine...
[2026-08-29 22:17:48,804.804 INFO    ] 2026-08-29 22:17:48
[2026-08-29 22:17:49,079.079 INFO    ] 2026-08-29 22:17:49
[2026-08-29 22:17:49,114.114 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:17:49,289.289 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:17:49,304.304 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:17:49,416.416 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:17:49,434.434 INFO    ] time= 29/08/2026 22:17:49
[2026-08-29 22:17:49,455.455 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:17:49,463.463 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:17:49,532.532 INFO    ] No existing commands found in stream
[2026-08-29 22:17:54,544.544 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:17:54,547.547 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-08-29 22:17:56,587.587 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:17:56,588.588 INFO    ] Checking for system updates...
[2026-08-29 22:17:56,608.608 INFO    ] 200
[2026-08-29 22:17:56,610.610 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:17:56,642.642 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:17:56,643.643 INFO    ] No update needed
[2026-08-29 22:17:56,645.645 INFO    ] Checking for camera pi updates...
[2026-08-29 22:17:56,664.664 INFO    ] 200
[2026-08-29 22:17:56,666.666 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:17:56,689.689 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:17:56,761.761 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:17:56,764.764 INFO    ] No camera update needed
[2026-08-29 22:17:56,766.766 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:17:56,768.768 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:17:56,773.773 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:17:56,778.778 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:17:58,819.819 INFO    ] ================================================
[2026-08-29 22:17:58,835.835 INFO    ] Launching Daemon at Sat Aug 29 22:17:58 IST 2026
[2026-08-29 22:17:58,846.846 INFO    ] ================================================
[2026-08-29 22:17:59,413.413 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:17:59
[2026-08-29 22:17:59,933.933 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:18:00,063.063 INFO    ] Initializing speech engine...
[2026-08-29 22:18:00,067.067 INFO    ] 2026-08-29 22:18:00
[2026-08-29 22:18:00,266.266 INFO    ] 2026-08-29 22:18:00
[2026-08-29 22:18:00,298.298 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:18:00,476.476 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:18:00,491.491 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:18:00,604.604 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:18:00,623.623 INFO    ] time= 29/08/2026 22:18:00
[2026-08-29 22:18:00,643.643 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:18:00,650.650 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:18:00,724.724 INFO    ] No existing commands found in stream
[2026-08-29 22:18:05,744.744 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:18:05,747.747 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 22:18:08,085.085 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:18:08,086.086 INFO    ] Checking for system updates...
[2026-08-29 22:18:08,110.110 INFO    ] 200
[2026-08-29 22:18:08,111.111 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:18:08,144.144 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:18:08,145.145 INFO    ] No update needed
[2026-08-29 22:18:08,146.146 INFO    ] Checking for camera pi updates...
[2026-08-29 22:18:08,166.166 INFO    ] 200
[2026-08-29 22:18:08,167.167 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:18:08,189.189 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:18:08,273.273 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:18:08,275.275 INFO    ] No camera update needed
[2026-08-29 22:18:08,277.277 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:18:08,280.280 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:18:08,285.285 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:18:08,290.290 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:18:10,330.330 INFO    ] ================================================
[2026-08-29 22:18:10,346.346 INFO    ] Launching Daemon at Sat Aug 29 22:18:10 IST 2026
[2026-08-29 22:18:10,357.357 INFO    ] ================================================
[2026-08-29 22:18:10,940.940 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:18:10
[2026-08-29 22:18:11,455.455 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:18:11,594.594 INFO    ] Initializing speech engine...
[2026-08-29 22:18:11,604.604 INFO    ] 2026-08-29 22:18:11
[2026-08-29 22:18:11,853.853 INFO    ] 2026-08-29 22:18:11
[2026-08-29 22:18:11,908.908 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:18:12,070.070 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:18:12,078.078 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:18:12,248.248 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:18:12,276.276 INFO    ] time= 29/08/2026 22:18:12
[2026-08-29 22:18:12,282.282 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:18:12,303.303 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:18:12,415.415 INFO    ] No existing commands found in stream
[2026-08-29 22:18:17,437.437 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:18:17,440.440 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-08-29 22:18:20,486.486 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:18:20,487.487 INFO    ] Checking for system updates...
[2026-08-29 22:18:20,508.508 INFO    ] 200
[2026-08-29 22:18:20,509.509 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:18:20,542.542 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:18:20,544.544 INFO    ] No update needed
[2026-08-29 22:18:20,545.545 INFO    ] Checking for camera pi updates...
[2026-08-29 22:18:20,564.564 INFO    ] 200
[2026-08-29 22:18:20,566.566 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:18:20,590.590 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:18:20,675.675 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:18:20,676.676 INFO    ] No camera update needed
[2026-08-29 22:18:20,677.677 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:18:20,678.678 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:18:20,681.681 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:18:20,684.684 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:18:22,724.724 INFO    ] ================================================
[2026-08-29 22:18:22,740.740 INFO    ] Launching Daemon at Sat Aug 29 22:18:22 IST 2026
[2026-08-29 22:18:22,751.751 INFO    ] ================================================
[2026-08-29 22:18:23,301.301 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:18:23
[2026-08-29 22:18:23,920.920 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:18:24,227.227 INFO    ] Initializing speech engine...
[2026-08-29 22:18:24,241.241 INFO    ] 2026-08-29 22:18:24
[2026-08-29 22:18:24,555.555 INFO    ] 2026-08-29 22:18:24
[2026-08-29 22:18:24,641.641 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:18:24,795.795 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:18:24,802.802 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:18:24,935.935 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:18:24,983.983 INFO    ] time= 29/08/2026 22:18:24
[2026-08-29 22:18:25,037.037 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:18:25,073.073 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:18:25,128.128 INFO    ] No existing commands found in stream
[2026-08-29 22:18:30,140.140 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:18:30,144.144 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-08-29 22:18:30,799.799 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:18:30,800.800 INFO    ] Checking for system updates...
[2026-08-29 22:18:30,824.824 INFO    ] 200
[2026-08-29 22:18:30,825.825 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:18:30,855.855 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:18:30,857.857 INFO    ] No update needed
[2026-08-29 22:18:30,858.858 INFO    ] Checking for camera pi updates...
[2026-08-29 22:18:30,879.879 INFO    ] 200
[2026-08-29 22:18:30,880.880 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:18:30,907.907 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:18:30,979.979 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:18:30,981.981 INFO    ] No camera update needed
[2026-08-29 22:18:30,983.983 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:18:30,984.984 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:18:30,987.987 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:18:30,990.990 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:18:33,031.031 INFO    ] ================================================
[2026-08-29 22:18:33,047.047 INFO    ] Launching Daemon at Sat Aug 29 22:18:33 IST 2026
[2026-08-29 22:18:33,059.059 INFO    ] ================================================
[2026-08-29 22:18:33,654.654 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:18:33
[2026-08-29 22:18:34,255.255 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:18:34,529.529 INFO    ] Initializing speech engine...
[2026-08-29 22:18:34,538.538 INFO    ] 2026-08-29 22:18:34
[2026-08-29 22:18:34,803.803 INFO    ] 2026-08-29 22:18:34
[2026-08-29 22:18:34,855.855 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:18:34,999.999 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:18:35,011.011 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:18:35,152.152 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:18:35,160.160 INFO    ] time= 29/08/2026 22:18:35
[2026-08-29 22:18:35,167.167 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:18:35,213.213 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:18:35,330.330 INFO    ] No existing commands found in stream
[2026-08-29 22:18:40,361.361 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:18:40,364.364 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-08-29 22:18:41,044.044 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:18:41,045.045 INFO    ] Checking for system updates...
[2026-08-29 22:18:41,067.067 INFO    ] 200
[2026-08-29 22:18:41,068.068 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:18:41,100.100 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:18:41,101.101 INFO    ] No update needed
[2026-08-29 22:18:41,103.103 INFO    ] Checking for camera pi updates...
[2026-08-29 22:18:41,122.122 INFO    ] 200
[2026-08-29 22:18:41,124.124 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:18:41,148.148 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:18:41,226.226 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:18:41,227.227 INFO    ] No camera update needed
[2026-08-29 22:18:41,229.229 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:18:41,230.230 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:18:41,233.233 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:18:41,236.236 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:18:43,276.276 INFO    ] ================================================
[2026-08-29 22:18:43,291.291 INFO    ] Launching Daemon at Sat Aug 29 22:18:43 IST 2026
[2026-08-29 22:18:43,302.302 INFO    ] ================================================
[2026-08-29 22:18:43,698.698 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:18:43
[2026-08-29 22:18:44,036.036 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:18:44,187.187 INFO    ] Initializing speech engine...
[2026-08-29 22:18:44,193.193 INFO    ] 2026-08-29 22:18:44
[2026-08-29 22:18:44,423.423 INFO    ] 2026-08-29 22:18:44
[2026-08-29 22:18:44,468.468 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:18:44,658.658 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:18:44,697.697 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:18:44,831.831 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:18:44,867.867 INFO    ] time= 29/08/2026 22:18:44
[2026-08-29 22:18:44,896.896 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:18:44,956.956 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:18:45,037.037 INFO    ] No existing commands found in stream
[2026-08-29 22:18:50,055.055 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:18:50,058.058 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-08-29 22:18:53,806.806 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:18:53,807.807 INFO    ] Checking for system updates...
[2026-08-29 22:18:53,843.843 INFO    ] 200
[2026-08-29 22:18:53,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:18:53,906.906 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:18:53,908.908 INFO    ] No update needed
[2026-08-29 22:18:53,911.911 INFO    ] Checking for camera pi updates...
[2026-08-29 22:18:53,948.948 INFO    ] 200
[2026-08-29 22:18:53,950.950 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:18:53,992.992 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:18:54,174.174 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:18:54,176.176 INFO    ] No camera update needed
[2026-08-29 22:18:54,179.179 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:18:54,181.181 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:18:54,187.187 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:18:54,192.192 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:18:56,233.233 INFO    ] ================================================
[2026-08-29 22:18:56,250.250 INFO    ] Launching Daemon at Sat Aug 29 22:18:56 IST 2026
[2026-08-29 22:18:56,260.260 INFO    ] ================================================
[2026-08-29 22:18:56,917.917 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:18:56
[2026-08-29 22:18:57,268.268 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:18:57,502.502 INFO    ] Initializing speech engine...
[2026-08-29 22:18:57,511.511 INFO    ] 2026-08-29 22:18:57
[2026-08-29 22:18:57,793.793 INFO    ] 2026-08-29 22:18:57
[2026-08-29 22:18:57,845.845 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:18:58,076.076 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:18:58,086.086 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:18:58,223.223 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:18:58,272.272 INFO    ] time= 29/08/2026 22:18:58
[2026-08-29 22:18:58,326.326 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:18:58,365.365 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:18:58,417.417 INFO    ] No existing commands found in stream
[2026-08-29 22:19:03,430.430 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:19:03,434.434 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-08-29 22:19:06,594.594 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:19:06,595.595 INFO    ] Checking for system updates...
[2026-08-29 22:19:06,618.618 INFO    ] 200
[2026-08-29 22:19:06,619.619 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:19:06,650.650 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:19:06,652.652 INFO    ] No update needed
[2026-08-29 22:19:06,655.655 INFO    ] Checking for camera pi updates...
[2026-08-29 22:19:06,684.684 INFO    ] 200
[2026-08-29 22:19:06,686.686 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:19:06,717.717 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:19:06,790.790 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:19:06,793.793 INFO    ] No camera update needed
[2026-08-29 22:19:06,796.796 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:19:06,798.798 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:19:06,805.805 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:19:06,810.810 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:19:08,854.854 INFO    ] ================================================
[2026-08-29 22:19:08,870.870 INFO    ] Launching Daemon at Sat Aug 29 22:19:08 IST 2026
[2026-08-29 22:19:08,881.881 INFO    ] ================================================
[2026-08-29 22:19:09,453.453 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:19:09
[2026-08-29 22:19:09,960.960 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:19:10,096.096 INFO    ] Initializing speech engine...
[2026-08-29 22:19:10,104.104 INFO    ] 2026-08-29 22:19:10
[2026-08-29 22:19:10,330.330 INFO    ] 2026-08-29 22:19:10
[2026-08-29 22:19:10,360.360 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:19:10,492.492 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:19:10,536.536 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:19:10,705.705 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:19:10,762.762 INFO    ] time= 29/08/2026 22:19:10
[2026-08-29 22:19:10,807.807 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:19:10,813.813 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:19:10,891.891 INFO    ] No existing commands found in stream
[2026-08-29 22:19:15,901.901 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:19:15,904.904 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-08-29 22:19:16,635.635 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:19:16,637.637 INFO    ] Checking for system updates...
[2026-08-29 22:19:16,658.658 INFO    ] 200
[2026-08-29 22:19:16,659.659 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:19:16,691.691 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:19:16,693.693 INFO    ] No update needed
[2026-08-29 22:19:16,694.694 INFO    ] Checking for camera pi updates...
[2026-08-29 22:19:16,715.715 INFO    ] 200
[2026-08-29 22:19:16,717.717 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:19:16,741.741 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:19:16,826.826 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:19:16,829.829 INFO    ] No camera update needed
[2026-08-29 22:19:16,831.831 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:19:16,834.834 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:19:16,841.841 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:19:16,846.846 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:19:18,889.889 INFO    ] ================================================
[2026-08-29 22:19:18,904.904 INFO    ] Launching Daemon at Sat Aug 29 22:19:18 IST 2026
[2026-08-29 22:19:18,915.915 INFO    ] ================================================
[2026-08-29 22:19:19,496.496 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:19:19
[2026-08-29 22:19:19,977.977 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:19:20,200.200 INFO    ] Initializing speech engine...
[2026-08-29 22:19:20,213.213 INFO    ] 2026-08-29 22:19:20
[2026-08-29 22:19:20,466.466 INFO    ] 2026-08-29 22:19:20
[2026-08-29 22:19:20,520.520 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:19:20,756.756 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:19:20,766.766 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:19:20,920.920 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:19:20,928.928 INFO    ] time= 29/08/2026 22:19:20
[2026-08-29 22:19:20,967.967 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:19:21,016.016 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:19:21,081.081 INFO    ] No existing commands found in stream
[2026-08-29 22:19:26,093.093 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:19:26,096.096 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-08-29 22:19:28,973.973 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:19:28,975.975 INFO    ] Checking for system updates...
[2026-08-29 22:19:28,995.995 INFO    ] 200
[2026-08-29 22:19:28,997.997 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:19:29,030.030 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:19:29,031.031 INFO    ] No update needed
[2026-08-29 22:19:29,032.032 INFO    ] Checking for camera pi updates...
[2026-08-29 22:19:29,054.054 INFO    ] 200
[2026-08-29 22:19:29,055.055 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:19:29,079.079 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:19:29,170.170 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:19:29,172.172 INFO    ] No camera update needed
[2026-08-29 22:19:29,173.173 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:19:29,175.175 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:19:29,178.178 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:19:29,181.181 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:19:31,222.222 INFO    ] ================================================
[2026-08-29 22:19:31,237.237 INFO    ] Launching Daemon at Sat Aug 29 22:19:31 IST 2026
[2026-08-29 22:19:31,248.248 INFO    ] ================================================
[2026-08-29 22:19:31,615.615 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:19:31
[2026-08-29 22:19:31,935.935 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:19:32,245.245 INFO    ] Initializing speech engine...
[2026-08-29 22:19:32,256.256 INFO    ] 2026-08-29 22:19:32
[2026-08-29 22:19:32,543.543 INFO    ] 2026-08-29 22:19:32
[2026-08-29 22:19:32,584.584 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:19:32,765.765 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:19:32,804.804 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:19:32,921.921 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:19:32,929.929 INFO    ] time= 29/08/2026 22:19:32
[2026-08-29 22:19:32,952.952 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:19:32,961.961 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:19:33,057.057 INFO    ] No existing commands found in stream
[2026-08-29 22:19:38,083.083 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:19:38,086.086 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-08-29 22:19:38,449.449 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:19:38,451.451 INFO    ] Checking for system updates...
[2026-08-29 22:19:38,471.471 INFO    ] 200
[2026-08-29 22:19:38,473.473 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:19:38,503.503 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:19:38,505.505 INFO    ] No update needed
[2026-08-29 22:19:38,506.506 INFO    ] Checking for camera pi updates...
[2026-08-29 22:19:38,525.525 INFO    ] 200
[2026-08-29 22:19:38,526.526 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:19:38,552.552 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:19:38,622.622 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:19:38,623.623 INFO    ] No camera update needed
[2026-08-29 22:19:38,625.625 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:19:38,626.626 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:19:38,629.629 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:19:38,631.631 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:19:40,672.672 INFO    ] ================================================
[2026-08-29 22:19:40,687.687 INFO    ] Launching Daemon at Sat Aug 29 22:19:40 IST 2026
[2026-08-29 22:19:40,699.699 INFO    ] ================================================
[2026-08-29 22:19:41,035.035 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:19:41
[2026-08-29 22:19:41,351.351 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:19:41,494.494 INFO    ] Initializing speech engine...
[2026-08-29 22:19:41,499.499 INFO    ] 2026-08-29 22:19:41
[2026-08-29 22:19:41,699.699 INFO    ] 2026-08-29 22:19:41
[2026-08-29 22:19:41,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:19:41,928.928 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:19:41,937.937 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:19:42,071.071 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:19:42,117.117 INFO    ] time= 29/08/2026 22:19:42
[2026-08-29 22:19:42,181.181 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:19:42,205.205 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:19:42,273.273 INFO    ] No existing commands found in stream
[2026-08-29 22:19:47,310.310 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:19:47,313.313 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-08-29 22:19:49,771.771 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:19:49,772.772 INFO    ] Checking for system updates...
[2026-08-29 22:19:49,793.793 INFO    ] 200
[2026-08-29 22:19:49,794.794 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:19:49,825.825 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:19:49,826.826 INFO    ] No update needed
[2026-08-29 22:19:49,827.827 INFO    ] Checking for camera pi updates...
[2026-08-29 22:19:49,846.846 INFO    ] 200
[2026-08-29 22:19:49,848.848 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:19:49,870.870 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:19:49,943.943 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:19:49,944.944 INFO    ] No camera update needed
[2026-08-29 22:19:49,945.945 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:19:49,947.947 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:19:49,950.950 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:19:49,952.952 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:19:51,991.991 INFO    ] ================================================
[2026-08-29 22:19:52,007.007 INFO    ] Launching Daemon at Sat Aug 29 22:19:52 IST 2026
[2026-08-29 22:19:52,018.018 INFO    ] ================================================
[2026-08-29 22:19:52,370.370 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:19:52
[2026-08-29 22:19:52,707.707 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:19:52,859.859 INFO    ] Initializing speech engine...
[2026-08-29 22:19:52,864.864 INFO    ] 2026-08-29 22:19:52
[2026-08-29 22:19:53,074.074 INFO    ] 2026-08-29 22:19:53
[2026-08-29 22:19:53,101.101 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:19:53,228.228 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:19:53,291.291 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:19:53,421.421 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:19:53,483.483 INFO    ] time= 29/08/2026 22:19:53
[2026-08-29 22:19:53,520.520 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:19:53,528.528 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:19:53,593.593 INFO    ] No existing commands found in stream
[2026-08-29 22:19:58,604.604 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:19:58,607.607 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-08-29 22:20:03,701.701 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:20:03,704.704 INFO    ] Checking for system updates...
[2026-08-29 22:20:03,748.748 INFO    ] 200
[2026-08-29 22:20:03,751.751 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:20:03,810.810 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:20:03,813.813 INFO    ] No update needed
[2026-08-29 22:20:03,815.815 INFO    ] Checking for camera pi updates...
[2026-08-29 22:20:03,855.855 INFO    ] 200
[2026-08-29 22:20:03,858.858 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:20:03,904.904 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:20:04,000.000 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:20:04,002.002 INFO    ] No camera update needed
[2026-08-29 22:20:04,005.005 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:20:04,007.007 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:20:04,012.012 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:20:04,017.017 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:20:06,060.060 INFO    ] ================================================
[2026-08-29 22:20:06,075.075 INFO    ] Launching Daemon at Sat Aug 29 22:20:06 IST 2026
[2026-08-29 22:20:06,085.085 INFO    ] ================================================
[2026-08-29 22:20:06,450.450 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:20:06
[2026-08-29 22:20:06,765.765 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:20:06,991.991 INFO    ] Initializing speech engine...
[2026-08-29 22:20:06,997.997 INFO    ] 2026-08-29 22:20:06
[2026-08-29 22:20:07,243.243 INFO    ] 2026-08-29 22:20:07
[2026-08-29 22:20:07,278.278 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:20:07,449.449 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:20:07,462.462 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:20:07,571.571 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:20:07,590.590 INFO    ] time= 29/08/2026 22:20:07
[2026-08-29 22:20:07,612.612 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:20:07,618.618 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:20:07,688.688 INFO    ] No existing commands found in stream
[2026-08-29 22:20:12,718.718 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:20:12,720.720 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-08-29 22:20:15,107.107 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:20:15,108.108 INFO    ] Checking for system updates...
[2026-08-29 22:20:15,128.128 INFO    ] 200
[2026-08-29 22:20:15,130.130 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:20:15,160.160 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:20:15,162.162 INFO    ] No update needed
[2026-08-29 22:20:15,163.163 INFO    ] Checking for camera pi updates...
[2026-08-29 22:20:15,183.183 INFO    ] 200
[2026-08-29 22:20:15,184.184 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:20:15,209.209 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:20:15,304.304 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:20:15,305.305 INFO    ] No camera update needed
[2026-08-29 22:20:15,306.306 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:20:15,307.307 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:20:15,310.310 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:20:15,313.313 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:20:17,352.352 INFO    ] ================================================
[2026-08-29 22:20:17,367.367 INFO    ] Launching Daemon at Sat Aug 29 22:20:17 IST 2026
[2026-08-29 22:20:17,378.378 INFO    ] ================================================
[2026-08-29 22:20:17,880.880 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:20:17
[2026-08-29 22:20:18,489.489 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:20:18,749.749 INFO    ] Initializing speech engine...
[2026-08-29 22:20:18,762.762 INFO    ] 2026-08-29 22:20:18
[2026-08-29 22:20:19,018.018 INFO    ] 2026-08-29 22:20:19
[2026-08-29 22:20:19,052.052 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:20:19,226.226 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:20:19,250.250 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:20:19,379.379 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:20:19,386.386 INFO    ] time= 29/08/2026 22:20:19
[2026-08-29 22:20:19,390.390 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:20:19,396.396 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:20:19,460.460 INFO    ] No existing commands found in stream
[2026-08-29 22:20:24,472.472 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:20:24,475.475 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-08-29 22:20:27,978.978 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:20:27,979.979 INFO    ] Checking for system updates...
[2026-08-29 22:20:27,999.999 INFO    ] 200
[2026-08-29 22:20:28,001.001 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:20:28,033.033 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:20:28,034.034 INFO    ] No update needed
[2026-08-29 22:20:28,036.036 INFO    ] Checking for camera pi updates...
[2026-08-29 22:20:28,056.056 INFO    ] 200
[2026-08-29 22:20:28,057.057 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:20:28,080.080 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:20:28,176.176 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:20:28,178.178 INFO    ] No camera update needed
[2026-08-29 22:20:28,180.180 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:20:28,183.183 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:20:28,188.188 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:20:28,193.193 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:20:30,236.236 INFO    ] ================================================
[2026-08-29 22:20:30,253.253 INFO    ] Launching Daemon at Sat Aug 29 22:20:30 IST 2026
[2026-08-29 22:20:30,265.265 INFO    ] ================================================
[2026-08-29 22:20:30,809.809 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:20:30
[2026-08-29 22:20:31,389.389 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:20:31,668.668 INFO    ] Initializing speech engine...
[2026-08-29 22:20:31,685.685 INFO    ] 2026-08-29 22:20:31
[2026-08-29 22:20:31,956.956 INFO    ] 2026-08-29 22:20:31
[2026-08-29 22:20:32,010.010 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:20:32,212.212 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:20:32,218.218 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:20:32,383.383 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:20:32,397.397 INFO    ] time= 29/08/2026 22:20:32
[2026-08-29 22:20:32,403.403 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:20:32,410.410 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:20:32,503.503 INFO    ] No existing commands found in stream
[2026-08-29 22:20:37,514.514 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:20:37,517.517 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 22:20:38,904.904 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:20:38,906.906 INFO    ] Checking for system updates...
[2026-08-29 22:20:38,927.927 INFO    ] 200
[2026-08-29 22:20:38,928.928 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:20:38,958.958 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:20:38,960.960 INFO    ] No update needed
[2026-08-29 22:20:38,961.961 INFO    ] Checking for camera pi updates...
[2026-08-29 22:20:38,981.981 INFO    ] 200
[2026-08-29 22:20:38,982.982 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:20:39,007.007 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:20:39,112.112 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:20:39,113.113 INFO    ] No camera update needed
[2026-08-29 22:20:39,115.115 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:20:39,116.116 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:20:39,119.119 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:20:39,122.122 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:20:41,162.162 INFO    ] ================================================
[2026-08-29 22:20:41,178.178 INFO    ] Launching Daemon at Sat Aug 29 22:20:41 IST 2026
[2026-08-29 22:20:41,189.189 INFO    ] ================================================
[2026-08-29 22:20:41,530.530 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:20:41
[2026-08-29 22:20:42,109.109 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:20:42,365.365 INFO    ] Initializing speech engine...
[2026-08-29 22:20:42,374.374 INFO    ] 2026-08-29 22:20:42
[2026-08-29 22:20:42,673.673 INFO    ] 2026-08-29 22:20:42
[2026-08-29 22:20:42,708.708 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:20:42,859.859 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:20:42,866.866 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:20:43,021.021 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:20:43,031.031 INFO    ] time= 29/08/2026 22:20:43
[2026-08-29 22:20:43,038.038 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:20:43,061.061 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:20:43,112.112 INFO    ] No existing commands found in stream
[2026-08-29 22:20:48,123.123 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:20:48,126.126 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-08-29 22:20:49,209.209 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:20:49,210.210 INFO    ] Checking for system updates...
[2026-08-29 22:20:49,230.230 INFO    ] 200
[2026-08-29 22:20:49,232.232 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:20:49,261.261 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:20:49,263.263 INFO    ] No update needed
[2026-08-29 22:20:49,264.264 INFO    ] Checking for camera pi updates...
[2026-08-29 22:20:49,283.283 INFO    ] 200
[2026-08-29 22:20:49,285.285 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:20:49,308.308 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:20:49,378.378 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:20:49,379.379 INFO    ] No camera update needed
[2026-08-29 22:20:49,380.380 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:20:49,382.382 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:20:49,385.385 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:20:49,387.387 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:20:51,425.425 INFO    ] ================================================
[2026-08-29 22:20:51,440.440 INFO    ] Launching Daemon at Sat Aug 29 22:20:51 IST 2026
[2026-08-29 22:20:51,451.451 INFO    ] ================================================
[2026-08-29 22:20:52,019.019 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:20:52
[2026-08-29 22:20:52,527.527 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:20:52,776.776 INFO    ] Initializing speech engine...
[2026-08-29 22:20:52,785.785 INFO    ] 2026-08-29 22:20:52
[2026-08-29 22:20:53,081.081 INFO    ] 2026-08-29 22:20:53
[2026-08-29 22:20:53,119.119 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:20:53,298.298 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:20:53,320.320 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:20:53,440.440 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:20:53,448.448 INFO    ] time= 29/08/2026 22:20:53
[2026-08-29 22:20:53,467.467 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:20:53,489.489 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:20:53,561.561 INFO    ] No existing commands found in stream
[2026-08-29 22:20:58,573.573 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:20:58,576.576 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-08-29 22:21:02,705.705 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:21:02,708.708 INFO    ] Checking for system updates...
[2026-08-29 22:21:02,759.759 INFO    ] 200
[2026-08-29 22:21:02,762.762 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:21:02,829.829 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:21:02,833.833 INFO    ] No update needed
[2026-08-29 22:21:02,838.838 INFO    ] Checking for camera pi updates...
[2026-08-29 22:21:02,888.888 INFO    ] 200
[2026-08-29 22:21:02,891.891 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:21:02,941.941 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:21:03,016.016 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:21:03,019.019 INFO    ] No camera update needed
[2026-08-29 22:21:03,022.022 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:21:03,025.025 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:21:03,033.033 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:21:03,040.040 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:21:05,081.081 INFO    ] ================================================
[2026-08-29 22:21:05,096.096 INFO    ] Launching Daemon at Sat Aug 29 22:21:05 IST 2026
[2026-08-29 22:21:05,107.107 INFO    ] ================================================
[2026-08-29 22:21:05,458.458 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:21:05
[2026-08-29 22:21:05,793.793 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:21:05,943.943 INFO    ] Initializing speech engine...
[2026-08-29 22:21:05,948.948 INFO    ] 2026-08-29 22:21:05
[2026-08-29 22:21:06,156.156 INFO    ] 2026-08-29 22:21:06
[2026-08-29 22:21:06,185.185 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:21:06,308.308 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:21:06,366.366 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:21:06,507.507 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:21:06,564.564 INFO    ] time= 29/08/2026 22:21:06
[2026-08-29 22:21:06,605.605 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:21:06,636.636 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:21:06,777.777 INFO    ] No existing commands found in stream
[2026-08-29 22:21:11,807.807 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:21:11,810.810 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-08-29 22:21:13,589.589 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:21:13,590.590 INFO    ] Checking for system updates...
[2026-08-29 22:21:13,610.610 INFO    ] 200
[2026-08-29 22:21:13,612.612 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:21:13,642.642 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:21:13,644.644 INFO    ] No update needed
[2026-08-29 22:21:13,645.645 INFO    ] Checking for camera pi updates...
[2026-08-29 22:21:13,666.666 INFO    ] 200
[2026-08-29 22:21:13,668.668 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:21:13,690.690 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:21:13,773.773 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:21:13,775.775 INFO    ] No camera update needed
[2026-08-29 22:21:13,776.776 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:21:13,777.777 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:21:13,780.780 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:21:13,783.783 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:21:15,822.822 INFO    ] ================================================
[2026-08-29 22:21:15,837.837 INFO    ] Launching Daemon at Sat Aug 29 22:21:15 IST 2026
[2026-08-29 22:21:15,848.848 INFO    ] ================================================
[2026-08-29 22:21:16,179.179 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:21:16
[2026-08-29 22:21:16,724.724 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:21:16,988.988 INFO    ] Initializing speech engine...
[2026-08-29 22:21:16,995.995 INFO    ] 2026-08-29 22:21:16
[2026-08-29 22:21:17,288.288 INFO    ] 2026-08-29 22:21:17
[2026-08-29 22:21:17,327.327 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:21:17,523.523 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:21:17,539.539 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:21:17,663.663 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:21:17,668.668 INFO    ] time= 29/08/2026 22:21:17
[2026-08-29 22:21:17,687.687 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:21:17,710.710 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:21:17,795.795 INFO    ] No existing commands found in stream
[2026-08-29 22:21:22,810.810 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:21:22,813.813 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-08-29 22:21:26,896.896 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:21:26,897.897 INFO    ] Checking for system updates...
[2026-08-29 22:21:26,918.918 INFO    ] 200
[2026-08-29 22:21:26,920.920 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:21:26,949.949 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:21:26,951.951 INFO    ] No update needed
[2026-08-29 22:21:26,952.952 INFO    ] Checking for camera pi updates...
[2026-08-29 22:21:26,975.975 INFO    ] 200
[2026-08-29 22:21:26,976.976 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:21:26,999.999 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:21:27,076.076 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:21:27,077.077 INFO    ] No camera update needed
[2026-08-29 22:21:27,079.079 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:21:27,080.080 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:21:27,083.083 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:21:27,085.085 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:21:29,123.123 INFO    ] ================================================
[2026-08-29 22:21:29,138.138 INFO    ] Launching Daemon at Sat Aug 29 22:21:29 IST 2026
[2026-08-29 22:21:29,149.149 INFO    ] ================================================
[2026-08-29 22:21:29,751.751 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:21:29
[2026-08-29 22:21:30,425.425 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:21:30,732.732 INFO    ] Initializing speech engine...
[2026-08-29 22:21:30,745.745 INFO    ] 2026-08-29 22:21:30
[2026-08-29 22:21:31,065.065 INFO    ] 2026-08-29 22:21:31
[2026-08-29 22:21:31,149.149 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:21:31,300.300 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:21:31,310.310 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:21:31,447.447 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:21:31,492.492 INFO    ] time= 29/08/2026 22:21:31
[2026-08-29 22:21:31,552.552 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:21:31,581.581 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:21:31,637.637 INFO    ] No existing commands found in stream
[2026-08-29 22:21:36,651.651 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:21:36,654.654 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-08-29 22:21:39,285.285 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:21:39,287.287 INFO    ] Checking for system updates...
[2026-08-29 22:21:39,308.308 INFO    ] 200
[2026-08-29 22:21:39,309.309 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:21:39,339.339 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:21:39,341.341 INFO    ] No update needed
[2026-08-29 22:21:39,342.342 INFO    ] Checking for camera pi updates...
[2026-08-29 22:21:39,363.363 INFO    ] 200
[2026-08-29 22:21:39,364.364 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:21:39,390.390 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:21:39,481.481 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:21:39,483.483 INFO    ] No camera update needed
[2026-08-29 22:21:39,484.484 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:21:39,486.486 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:21:39,489.489 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:21:39,492.492 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:21:41,531.531 INFO    ] ================================================
[2026-08-29 22:21:41,546.546 INFO    ] Launching Daemon at Sat Aug 29 22:21:41 IST 2026
[2026-08-29 22:21:41,557.557 INFO    ] ================================================
[2026-08-29 22:21:42,019.019 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:21:42
[2026-08-29 22:21:42,604.604 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:21:42,873.873 INFO    ] Initializing speech engine...
[2026-08-29 22:21:42,886.886 INFO    ] 2026-08-29 22:21:42
[2026-08-29 22:21:43,137.137 INFO    ] 2026-08-29 22:21:43
[2026-08-29 22:21:43,172.172 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:21:43,347.347 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:21:43,360.360 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:21:43,474.474 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:21:43,494.494 INFO    ] time= 29/08/2026 22:21:43
[2026-08-29 22:21:43,514.514 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:21:43,522.522 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:21:43,591.591 INFO    ] No existing commands found in stream
[2026-08-29 22:21:48,604.604 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:21:48,606.606 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-08-29 22:21:51,203.203 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:21:51,205.205 INFO    ] Checking for system updates...
[2026-08-29 22:21:51,225.225 INFO    ] 200
[2026-08-29 22:21:51,226.226 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:21:51,257.257 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:21:51,258.258 INFO    ] No update needed
[2026-08-29 22:21:51,259.259 INFO    ] Checking for camera pi updates...
[2026-08-29 22:21:51,279.279 INFO    ] 200
[2026-08-29 22:21:51,281.281 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:21:51,304.304 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:21:51,400.400 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:21:51,401.401 INFO    ] No camera update needed
[2026-08-29 22:21:51,402.402 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:21:51,404.404 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:21:51,407.407 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:21:51,409.409 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:21:53,450.450 INFO    ] ================================================
[2026-08-29 22:21:53,466.466 INFO    ] Launching Daemon at Sat Aug 29 22:21:53 IST 2026
[2026-08-29 22:21:53,477.477 INFO    ] ================================================
[2026-08-29 22:21:53,846.846 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:21:53
[2026-08-29 22:21:54,162.162 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:21:54,301.301 INFO    ] Initializing speech engine...
[2026-08-29 22:21:54,311.311 INFO    ] 2026-08-29 22:21:54
[2026-08-29 22:21:54,516.516 INFO    ] 2026-08-29 22:21:54
[2026-08-29 22:21:54,582.582 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:21:54,815.815 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:21:54,835.835 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:21:54,990.990 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:21:54,997.997 INFO    ] time= 29/08/2026 22:21:54
[2026-08-29 22:21:55,052.052 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:21:55,101.101 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:21:55,168.168 INFO    ] No existing commands found in stream
[2026-08-29 22:22:00,184.184 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:22:00,187.187 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-08-29 22:22:01,651.651 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:22:01,655.655 INFO    ] Checking for system updates...
[2026-08-29 22:22:01,735.735 INFO    ] 200
[2026-08-29 22:22:01,739.739 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:22:01,859.859 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:22:01,862.862 INFO    ] No update needed
[2026-08-29 22:22:01,866.866 INFO    ] Checking for camera pi updates...
[2026-08-29 22:22:01,931.931 INFO    ] 200
[2026-08-29 22:22:01,934.934 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:22:02,040.040 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:22:02,198.198 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:22:02,201.201 INFO    ] No camera update needed
[2026-08-29 22:22:02,204.204 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:22:02,207.207 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:22:02,213.213 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:22:02,219.219 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:22:04,263.263 INFO    ] ================================================
[2026-08-29 22:22:04,279.279 INFO    ] Launching Daemon at Sat Aug 29 22:22:04 IST 2026
[2026-08-29 22:22:04,290.290 INFO    ] ================================================
[2026-08-29 22:22:04,816.816 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:22:04
[2026-08-29 22:22:05,131.131 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:22:05,274.274 INFO    ] Initializing speech engine...
[2026-08-29 22:22:05,279.279 INFO    ] 2026-08-29 22:22:05
[2026-08-29 22:22:05,482.482 INFO    ] 2026-08-29 22:22:05
[2026-08-29 22:22:05,512.512 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:22:05,633.633 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:22:05,670.670 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:22:05,797.797 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:22:05,831.831 INFO    ] time= 29/08/2026 22:22:05
[2026-08-29 22:22:05,893.893 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:22:05,924.924 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:22:05,995.995 INFO    ] No existing commands found in stream
[2026-08-29 22:22:11,005.005 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:22:11,008.008 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 22:22:12,988.988 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:22:12,990.990 INFO    ] Checking for system updates...
[2026-08-29 22:22:13,010.010 INFO    ] 200
[2026-08-29 22:22:13,012.012 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:22:13,044.044 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:22:13,045.045 INFO    ] No update needed
[2026-08-29 22:22:13,047.047 INFO    ] Checking for camera pi updates...
[2026-08-29 22:22:13,066.066 INFO    ] 200
[2026-08-29 22:22:13,067.067 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:22:13,090.090 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:22:13,163.163 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:22:13,164.164 INFO    ] No camera update needed
[2026-08-29 22:22:13,165.165 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:22:13,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:22:13,169.169 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:22:13,172.172 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:22:15,211.211 INFO    ] ================================================
[2026-08-29 22:22:15,227.227 INFO    ] Launching Daemon at Sat Aug 29 22:22:15 IST 2026
[2026-08-29 22:22:15,239.239 INFO    ] ================================================
[2026-08-29 22:22:15,586.586 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:22:15
[2026-08-29 22:22:15,898.898 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:22:16,030.030 INFO    ] Initializing speech engine...
[2026-08-29 22:22:16,042.042 INFO    ] 2026-08-29 22:22:16
[2026-08-29 22:22:16,257.257 INFO    ] 2026-08-29 22:22:16
[2026-08-29 22:22:16,343.343 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:22:16,490.490 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:22:16,498.498 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:22:16,631.631 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:22:16,658.658 INFO    ] time= 29/08/2026 22:22:16
[2026-08-29 22:22:16,727.727 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:22:16,763.763 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:22:16,820.820 INFO    ] No existing commands found in stream
[2026-08-29 22:22:21,832.832 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:22:21,835.835 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-08-29 22:22:25,206.206 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:22:25,208.208 INFO    ] Checking for system updates...
[2026-08-29 22:22:25,228.228 INFO    ] 200
[2026-08-29 22:22:25,230.230 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:22:25,261.261 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:22:25,263.263 INFO    ] No update needed
[2026-08-29 22:22:25,264.264 INFO    ] Checking for camera pi updates...
[2026-08-29 22:22:25,284.284 INFO    ] 200
[2026-08-29 22:22:25,286.286 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:22:25,308.308 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:22:25,385.385 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:22:25,386.386 INFO    ] No camera update needed
[2026-08-29 22:22:25,387.387 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:22:25,389.389 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:22:25,392.392 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:22:25,394.394 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:22:27,434.434 INFO    ] ================================================
[2026-08-29 22:22:27,449.449 INFO    ] Launching Daemon at Sat Aug 29 22:22:27 IST 2026
[2026-08-29 22:22:27,460.460 INFO    ] ================================================
[2026-08-29 22:22:27,792.792 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:22:27
[2026-08-29 22:22:28,109.109 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:22:28,254.254 INFO    ] Initializing speech engine...
[2026-08-29 22:22:28,259.259 INFO    ] 2026-08-29 22:22:28
[2026-08-29 22:22:28,464.464 INFO    ] 2026-08-29 22:22:28
[2026-08-29 22:22:28,493.493 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:22:28,615.615 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:22:28,677.677 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:22:28,808.808 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:22:28,874.874 INFO    ] time= 29/08/2026 22:22:28
[2026-08-29 22:22:28,906.906 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:22:28,908.908 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:22:28,978.978 INFO    ] No existing commands found in stream
[2026-08-29 22:22:33,989.989 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:22:33,991.991 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 22:22:37,450.450 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:22:37,452.452 INFO    ] Checking for system updates...
[2026-08-29 22:22:37,474.474 INFO    ] 200
[2026-08-29 22:22:37,475.475 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:22:37,505.505 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:22:37,506.506 INFO    ] No update needed
[2026-08-29 22:22:37,507.507 INFO    ] Checking for camera pi updates...
[2026-08-29 22:22:37,526.526 INFO    ] 200
[2026-08-29 22:22:37,527.527 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:22:37,554.554 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:22:37,664.664 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:22:37,665.665 INFO    ] No camera update needed
[2026-08-29 22:22:37,666.666 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:22:37,668.668 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:22:37,670.670 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:22:37,673.673 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:22:39,713.713 INFO    ] ================================================
[2026-08-29 22:22:39,730.730 INFO    ] Launching Daemon at Sat Aug 29 22:22:39 IST 2026
[2026-08-29 22:22:39,741.741 INFO    ] ================================================
[2026-08-29 22:22:40,120.120 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:22:40
[2026-08-29 22:22:40,461.461 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:22:40,615.615 INFO    ] Initializing speech engine...
[2026-08-29 22:22:40,620.620 INFO    ] 2026-08-29 22:22:40
[2026-08-29 22:22:40,831.831 INFO    ] 2026-08-29 22:22:40
[2026-08-29 22:22:40,861.861 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:22:41,011.011 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:22:41,054.054 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:22:41,202.202 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:22:41,210.210 INFO    ] time= 29/08/2026 22:22:41
[2026-08-29 22:22:41,221.221 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:22:41,288.288 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:22:41,405.405 INFO    ] No existing commands found in stream
[2026-08-29 22:22:46,434.434 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:22:46,438.438 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-08-29 22:22:47,489.489 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:22:47,491.491 INFO    ] Checking for system updates...
[2026-08-29 22:22:47,511.511 INFO    ] 200
[2026-08-29 22:22:47,513.513 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:22:47,572.572 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:22:47,574.574 INFO    ] No update needed
[2026-08-29 22:22:47,576.576 INFO    ] Checking for camera pi updates...
[2026-08-29 22:22:47,614.614 INFO    ] 200
[2026-08-29 22:22:47,616.616 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:22:47,656.656 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:22:47,758.758 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:22:47,761.761 INFO    ] No camera update needed
[2026-08-29 22:22:47,764.764 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:22:47,766.766 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:22:47,771.771 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:22:47,776.776 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:22:49,817.817 INFO    ] ================================================
[2026-08-29 22:22:49,833.833 INFO    ] Launching Daemon at Sat Aug 29 22:22:49 IST 2026
[2026-08-29 22:22:49,845.845 INFO    ] ================================================
[2026-08-29 22:22:50,432.432 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:22:50
[2026-08-29 22:22:50,847.847 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:22:50,990.990 INFO    ] Initializing speech engine...
[2026-08-29 22:22:50,999.999 INFO    ] 2026-08-29 22:22:50
[2026-08-29 22:22:51,219.219 INFO    ] 2026-08-29 22:22:51
[2026-08-29 22:22:51,250.250 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:22:51,381.381 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:22:51,415.415 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:22:51,550.550 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:22:51,595.595 INFO    ] time= 29/08/2026 22:22:51
[2026-08-29 22:22:51,646.646 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:22:51,691.691 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:22:51,777.777 INFO    ] No existing commands found in stream
[2026-08-29 22:22:56,788.788 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:22:56,791.791 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-08-29 22:23:00,038.038 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:23:00,041.041 INFO    ] Checking for system updates...
[2026-08-29 22:23:00,081.081 INFO    ] 200
[2026-08-29 22:23:00,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:23:00,142.142 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:23:00,145.145 INFO    ] No update needed
[2026-08-29 22:23:00,147.147 INFO    ] Checking for camera pi updates...
[2026-08-29 22:23:00,184.184 INFO    ] 200
[2026-08-29 22:23:00,187.187 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:23:00,233.233 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:23:00,335.335 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:23:00,337.337 INFO    ] No camera update needed
[2026-08-29 22:23:00,339.339 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:23:00,342.342 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:23:00,347.347 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:23:00,352.352 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:23:02,396.396 INFO    ] ================================================
[2026-08-29 22:23:02,414.414 INFO    ] Launching Daemon at Sat Aug 29 22:23:02 IST 2026
[2026-08-29 22:23:02,427.427 INFO    ] ================================================
[2026-08-29 22:23:03,087.087 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:23:03
[2026-08-29 22:23:03,774.774 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:23:04,078.078 INFO    ] Initializing speech engine...
[2026-08-29 22:23:04,093.093 INFO    ] 2026-08-29 22:23:04
[2026-08-29 22:23:04,364.364 INFO    ] 2026-08-29 22:23:04
[2026-08-29 22:23:04,416.416 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:23:04,646.646 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:23:04,656.656 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:23:04,791.791 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:23:04,838.838 INFO    ] time= 29/08/2026 22:23:04
[2026-08-29 22:23:04,893.893 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:23:04,929.929 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:23:04,988.988 INFO    ] No existing commands found in stream
[2026-08-29 22:23:10,003.003 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:23:10,006.006 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-08-29 22:23:11,492.492 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:23:11,493.493 INFO    ] Checking for system updates...
[2026-08-29 22:23:11,514.514 INFO    ] 200
[2026-08-29 22:23:11,515.515 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:23:11,545.545 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:23:11,547.547 INFO    ] No update needed
[2026-08-29 22:23:11,548.548 INFO    ] Checking for camera pi updates...
[2026-08-29 22:23:11,567.567 INFO    ] 200
[2026-08-29 22:23:11,569.569 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:23:11,593.593 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:23:11,775.775 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:23:11,777.777 INFO    ] No camera update needed
[2026-08-29 22:23:11,778.778 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:23:11,780.780 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:23:11,783.783 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:23:11,786.786 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:23:13,826.826 INFO    ] ================================================
[2026-08-29 22:23:13,842.842 INFO    ] Launching Daemon at Sat Aug 29 22:23:13 IST 2026
[2026-08-29 22:23:13,853.853 INFO    ] ================================================
[2026-08-29 22:23:14,196.196 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:23:14
[2026-08-29 22:23:14,508.508 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:23:14,654.654 INFO    ] Initializing speech engine...
[2026-08-29 22:23:14,658.658 INFO    ] 2026-08-29 22:23:14
[2026-08-29 22:23:14,852.852 INFO    ] 2026-08-29 22:23:14
[2026-08-29 22:23:14,904.904 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:23:15,048.048 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:23:15,060.060 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:23:15,173.173 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:23:15,179.179 INFO    ] time= 29/08/2026 22:23:15
[2026-08-29 22:23:15,197.197 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:23:15,220.220 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:23:15,293.293 INFO    ] No existing commands found in stream
[2026-08-29 22:23:20,305.305 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:23:20,308.308 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-08-29 22:23:22,803.803 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:23:22,805.805 INFO    ] Checking for system updates...
[2026-08-29 22:23:22,825.825 INFO    ] 200
[2026-08-29 22:23:22,826.826 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:23:22,859.859 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:23:22,861.861 INFO    ] No update needed
[2026-08-29 22:23:22,862.862 INFO    ] Checking for camera pi updates...
[2026-08-29 22:23:22,882.882 INFO    ] 200
[2026-08-29 22:23:22,884.884 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:23:22,907.907 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:23:23,004.004 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:23:23,006.006 INFO    ] No camera update needed
[2026-08-29 22:23:23,007.007 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:23:23,008.008 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:23:23,011.011 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:23:23,014.014 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:23:25,056.056 INFO    ] ================================================
[2026-08-29 22:23:25,072.072 INFO    ] Launching Daemon at Sat Aug 29 22:23:25 IST 2026
[2026-08-29 22:23:25,084.084 INFO    ] ================================================
[2026-08-29 22:23:25,450.450 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:23:25
[2026-08-29 22:23:25,765.765 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:23:25,897.897 INFO    ] Initializing speech engine...
[2026-08-29 22:23:25,900.900 INFO    ] 2026-08-29 22:23:25
[2026-08-29 22:23:26,116.116 INFO    ] 2026-08-29 22:23:26
[2026-08-29 22:23:26,144.144 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:23:26,268.268 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:23:26,298.298 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:23:26,398.398 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:23:26,404.404 INFO    ] time= 29/08/2026 22:23:26
[2026-08-29 22:23:26,438.438 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:23:26,463.463 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:23:26,567.567 INFO    ] No existing commands found in stream
[2026-08-29 22:23:31,601.601 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:23:31,604.604 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-08-29 22:23:34,559.559 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:23:34,561.561 INFO    ] Checking for system updates...
[2026-08-29 22:23:34,598.598 INFO    ] 200
[2026-08-29 22:23:34,601.601 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:23:34,654.654 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:23:34,657.657 INFO    ] No update needed
[2026-08-29 22:23:34,660.660 INFO    ] Checking for camera pi updates...
[2026-08-29 22:23:34,694.694 INFO    ] 200
[2026-08-29 22:23:34,697.697 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:23:34,765.765 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:23:34,920.920 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:23:34,923.923 INFO    ] No camera update needed
[2026-08-29 22:23:34,926.926 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:23:34,928.928 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:23:34,934.934 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:23:34,940.940 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:23:36,981.981 INFO    ] ================================================
[2026-08-29 22:23:37,997.997 INFO    ] Launching Daemon at Sat Aug 29 22:23:36 IST 2026
[2026-08-29 22:23:37,008.008 INFO    ] ================================================
[2026-08-29 22:23:37,578.578 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:23:37
[2026-08-29 22:23:38,166.166 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:23:38,439.439 INFO    ] Initializing speech engine...
[2026-08-29 22:23:38,449.449 INFO    ] 2026-08-29 22:23:38
[2026-08-29 22:23:38,699.699 INFO    ] 2026-08-29 22:23:38
[2026-08-29 22:23:38,734.734 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:23:38,919.919 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:23:38,936.936 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:23:39,052.052 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:23:39,072.072 INFO    ] time= 29/08/2026 22:23:39
[2026-08-29 22:23:39,080.080 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:23:39,087.087 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:23:39,156.156 INFO    ] No existing commands found in stream
[2026-08-29 22:23:44,170.170 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:23:44,173.173 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-08-29 22:23:47,145.145 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:23:47,147.147 INFO    ] Checking for system updates...
[2026-08-29 22:23:47,167.167 INFO    ] 200
[2026-08-29 22:23:47,168.168 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:23:47,201.201 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:23:47,202.202 INFO    ] No update needed
[2026-08-29 22:23:47,203.203 INFO    ] Checking for camera pi updates...
[2026-08-29 22:23:47,223.223 INFO    ] 200
[2026-08-29 22:23:47,224.224 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:23:47,249.249 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:23:47,337.337 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:23:47,338.338 INFO    ] No camera update needed
[2026-08-29 22:23:47,340.340 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:23:47,341.341 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:23:47,344.344 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:23:47,347.347 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:23:49,386.386 INFO    ] ================================================
[2026-08-29 22:23:49,401.401 INFO    ] Launching Daemon at Sat Aug 29 22:23:49 IST 2026
[2026-08-29 22:23:49,412.412 INFO    ] ================================================
[2026-08-29 22:23:49,801.801 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:23:49
[2026-08-29 22:23:50,445.445 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:23:50,751.751 INFO    ] Initializing speech engine...
[2026-08-29 22:23:50,759.759 INFO    ] 2026-08-29 22:23:50
[2026-08-29 22:23:51,050.050 INFO    ] 2026-08-29 22:23:51
[2026-08-29 22:23:51,095.095 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:23:51,320.320 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:23:51,330.330 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:23:51,467.467 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:23:51,520.520 INFO    ] time= 29/08/2026 22:23:51
[2026-08-29 22:23:51,580.580 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:23:51,605.605 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:23:51,658.658 INFO    ] No existing commands found in stream
[2026-08-29 22:23:56,672.672 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:23:56,675.675 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-08-29 22:23:59,297.297 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:23:59,298.298 INFO    ] Checking for system updates...
[2026-08-29 22:23:59,319.319 INFO    ] 200
[2026-08-29 22:23:59,320.320 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:23:59,355.355 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:23:59,357.357 INFO    ] No update needed
[2026-08-29 22:23:59,358.358 INFO    ] Checking for camera pi updates...
[2026-08-29 22:23:59,382.382 INFO    ] 200
[2026-08-29 22:23:59,383.383 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:23:59,410.410 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:23:59,492.492 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:23:59,494.494 INFO    ] No camera update needed
[2026-08-29 22:23:59,495.495 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:23:59,496.496 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:23:59,500.500 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:23:59,503.503 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:24:01,548.548 INFO    ] ================================================
[2026-08-29 22:24:01,571.571 INFO    ] Launching Daemon at Sat Aug 29 22:24:01 IST 2026
[2026-08-29 22:24:01,599.599 INFO    ] ================================================
[2026-08-29 22:24:02,290.290 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:24:02
[2026-08-29 22:24:02,981.981 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:24:03,268.268 INFO    ] Initializing speech engine...
[2026-08-29 22:24:03,290.290 INFO    ] 2026-08-29 22:24:03
[2026-08-29 22:24:03,547.547 INFO    ] 2026-08-29 22:24:03
[2026-08-29 22:24:03,589.589 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:24:03,765.765 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:24:03,782.782 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:24:03,896.896 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:24:03,919.919 INFO    ] time= 29/08/2026 22:24:03
[2026-08-29 22:24:03,924.924 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:24:03,930.930 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:24:03,994.994 INFO    ] No existing commands found in stream
[2026-08-29 22:24:09,006.006 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:24:09,009.009 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-08-29 22:24:11,559.559 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:24:11,560.560 INFO    ] Checking for system updates...
[2026-08-29 22:24:11,581.581 INFO    ] 200
[2026-08-29 22:24:11,582.582 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:24:11,612.612 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:24:11,613.613 INFO    ] No update needed
[2026-08-29 22:24:11,615.615 INFO    ] Checking for camera pi updates...
[2026-08-29 22:24:11,634.634 INFO    ] 200
[2026-08-29 22:24:11,635.635 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:24:11,658.658 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:24:11,750.750 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:24:11,751.751 INFO    ] No camera update needed
[2026-08-29 22:24:11,753.753 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:24:11,754.754 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:24:11,757.757 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:24:11,760.760 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:24:13,801.801 INFO    ] ================================================
[2026-08-29 22:24:13,816.816 INFO    ] Launching Daemon at Sat Aug 29 22:24:13 IST 2026
[2026-08-29 22:24:13,827.827 INFO    ] ================================================
[2026-08-29 22:24:14,197.197 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:24:14
[2026-08-29 22:24:14,510.510 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:24:14,651.651 INFO    ] Initializing speech engine...
[2026-08-29 22:24:14,657.657 INFO    ] 2026-08-29 22:24:14
[2026-08-29 22:24:14,877.877 INFO    ] 2026-08-29 22:24:14
[2026-08-29 22:24:14,965.965 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:24:15,111.111 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:24:15,120.120 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:24:15,252.252 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:24:15,278.278 INFO    ] time= 29/08/2026 22:24:15
[2026-08-29 22:24:15,332.332 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:24:15,377.377 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:24:15,436.436 INFO    ] No existing commands found in stream
[2026-08-29 22:24:20,448.448 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:24:20,451.451 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 22:24:23,895.895 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:24:23,897.897 INFO    ] Checking for system updates...
[2026-08-29 22:24:23,917.917 INFO    ] 200
[2026-08-29 22:24:23,919.919 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:24:23,949.949 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:24:23,950.950 INFO    ] No update needed
[2026-08-29 22:24:23,951.951 INFO    ] Checking for camera pi updates...
[2026-08-29 22:24:23,972.972 INFO    ] 200
[2026-08-29 22:24:23,974.974 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:24:23,997.997 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:24:24,078.078 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:24:24,081.081 INFO    ] No camera update needed
[2026-08-29 22:24:24,084.084 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:24:24,086.086 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:24:24,091.091 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:24:24,096.096 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:24:26,139.139 INFO    ] ================================================
[2026-08-29 22:24:26,154.154 INFO    ] Launching Daemon at Sat Aug 29 22:24:26 IST 2026
[2026-08-29 22:24:26,165.165 INFO    ] ================================================
[2026-08-29 22:24:26,819.819 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:24:26
[2026-08-29 22:24:27,330.330 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:24:27,505.505 INFO    ] Initializing speech engine...
[2026-08-29 22:24:27,513.513 INFO    ] 2026-08-29 22:24:27
[2026-08-29 22:24:27,803.803 INFO    ] 2026-08-29 22:24:27
[2026-08-29 22:24:27,849.849 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:24:28,069.069 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:24:28,079.079 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:24:28,213.213 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:24:28,250.250 INFO    ] time= 29/08/2026 22:24:28
[2026-08-29 22:24:28,315.315 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:24:28,351.351 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:24:28,405.405 INFO    ] No existing commands found in stream
[2026-08-29 22:24:33,415.415 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:24:33,419.419 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 22:24:35,628.628 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:24:35,630.630 INFO    ] Checking for system updates...
[2026-08-29 22:24:35,667.667 INFO    ] 200
[2026-08-29 22:24:35,670.670 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:24:35,723.723 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:24:35,726.726 INFO    ] No update needed
[2026-08-29 22:24:35,729.729 INFO    ] Checking for camera pi updates...
[2026-08-29 22:24:35,763.763 INFO    ] 200
[2026-08-29 22:24:35,766.766 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:24:35,807.807 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:24:35,893.893 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:24:35,895.895 INFO    ] No camera update needed
[2026-08-29 22:24:35,898.898 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:24:35,901.901 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:24:35,907.907 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:24:35,913.913 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:24:37,953.953 INFO    ] ================================================
[2026-08-29 22:24:37,968.968 INFO    ] Launching Daemon at Sat Aug 29 22:24:37 IST 2026
[2026-08-29 22:24:37,979.979 INFO    ] ================================================
[2026-08-29 22:24:38,338.338 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:24:38
[2026-08-29 22:24:38,649.649 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:24:38,790.790 INFO    ] Initializing speech engine...
[2026-08-29 22:24:38,796.796 INFO    ] 2026-08-29 22:24:38
[2026-08-29 22:24:39,034.034 INFO    ] 2026-08-29 22:24:38
[2026-08-29 22:24:39,087.087 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:24:39,247.247 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:24:39,256.256 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:24:39,411.411 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:24:39,455.455 INFO    ] time= 29/08/2026 22:24:39
[2026-08-29 22:24:39,461.461 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:24:39,479.479 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:24:39,579.579 INFO    ] No existing commands found in stream
[2026-08-29 22:24:44,604.604 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:24:44,607.607 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-08-29 22:24:46,234.234 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:24:46,236.236 INFO    ] Checking for system updates...
[2026-08-29 22:24:46,257.257 INFO    ] 200
[2026-08-29 22:24:46,258.258 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:24:46,288.288 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:24:46,289.289 INFO    ] No update needed
[2026-08-29 22:24:46,290.290 INFO    ] Checking for camera pi updates...
[2026-08-29 22:24:46,311.311 INFO    ] 200
[2026-08-29 22:24:46,313.313 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:24:46,342.342 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:24:46,423.423 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:24:46,425.425 INFO    ] No camera update needed
[2026-08-29 22:24:46,428.428 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:24:46,430.430 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:24:46,435.435 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:24:46,440.440 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:24:48,483.483 INFO    ] ================================================
[2026-08-29 22:24:48,498.498 INFO    ] Launching Daemon at Sat Aug 29 22:24:48 IST 2026
[2026-08-29 22:24:48,509.509 INFO    ] ================================================
[2026-08-29 22:24:49,087.087 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:24:49
[2026-08-29 22:24:49,546.546 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:24:49,683.683 INFO    ] Initializing speech engine...
[2026-08-29 22:24:49,696.696 INFO    ] 2026-08-29 22:24:49
[2026-08-29 22:24:49,915.915 INFO    ] 2026-08-29 22:24:49
[2026-08-29 22:24:49,946.946 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:24:50,079.079 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:24:50,123.123 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:24:50,290.290 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:24:50,312.312 INFO    ] time= 29/08/2026 22:24:50
[2026-08-29 22:24:50,372.372 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:24:50,398.398 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:24:50,500.500 INFO    ] No existing commands found in stream
[2026-08-29 22:24:55,510.510 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:24:55,694.694 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-08-29 22:24:57,059.059 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:24:57,060.060 INFO    ] Checking for system updates...
[2026-08-29 22:24:57,083.083 INFO    ] 200
[2026-08-29 22:24:57,084.084 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:24:57,116.116 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:24:57,118.118 INFO    ] No update needed
[2026-08-29 22:24:57,119.119 INFO    ] Checking for camera pi updates...
[2026-08-29 22:24:57,138.138 INFO    ] 200
[2026-08-29 22:24:57,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:24:57,164.164 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:24:57,270.270 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:24:57,271.271 INFO    ] No camera update needed
[2026-08-29 22:24:57,273.273 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:24:57,274.274 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:24:57,277.277 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:24:57,280.280 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:24:59,319.319 INFO    ] ================================================
[2026-08-29 22:24:59,335.335 INFO    ] Launching Daemon at Sat Aug 29 22:24:59 IST 2026
[2026-08-29 22:24:59,346.346 INFO    ] ================================================
[2026-08-29 22:24:59,935.935 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:24:59
[2026-08-29 22:25:00,527.527 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:25:00,987.987 INFO    ] Initializing speech engine...
[2026-08-29 22:25:00,997.997 INFO    ] 2026-08-29 22:25:00
[2026-08-29 22:25:01,231.231 INFO    ] 2026-08-29 22:25:01
[2026-08-29 22:25:01,246.246 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:25:01,407.407 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:25:01,411.411 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:25:01,655.655 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:25:01,659.659 INFO    ] time= 29/08/2026 22:25:01
[2026-08-29 22:25:01,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:25:01,723.723 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:25:01,807.807 INFO    ] No existing commands found in stream
[2026-08-29 22:25:06,817.817 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:25:06,819.819 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-08-29 22:25:08,738.738 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:25:08,740.740 INFO    ] Checking for system updates...
[2026-08-29 22:25:08,760.760 INFO    ] 200
[2026-08-29 22:25:08,762.762 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:25:08,792.792 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:25:08,793.793 INFO    ] No update needed
[2026-08-29 22:25:08,795.795 INFO    ] Checking for camera pi updates...
[2026-08-29 22:25:08,815.815 INFO    ] 200
[2026-08-29 22:25:08,816.816 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:25:08,854.854 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:25:08,928.928 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:25:08,931.931 INFO    ] No camera update needed
[2026-08-29 22:25:08,934.934 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:25:08,936.936 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:25:08,941.941 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:25:08,946.946 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:25:10,990.990 INFO    ] ================================================
[2026-08-29 22:25:11,006.006 INFO    ] Launching Daemon at Sat Aug 29 22:25:11 IST 2026
[2026-08-29 22:25:11,017.017 INFO    ] ================================================
[2026-08-29 22:25:11,587.587 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:25:11
[2026-08-29 22:25:12,086.086 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:25:12,301.301 INFO    ] Initializing speech engine...
[2026-08-29 22:25:12,308.308 INFO    ] 2026-08-29 22:25:12
[2026-08-29 22:25:12,554.554 INFO    ] 2026-08-29 22:25:12
[2026-08-29 22:25:12,589.589 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:25:12,762.762 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:25:12,774.774 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:25:12,884.884 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:25:12,902.902 INFO    ] time= 29/08/2026 22:25:12
[2026-08-29 22:25:12,922.922 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:25:12,930.930 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:25:13,000.000 INFO    ] No existing commands found in stream
[2026-08-29 22:25:18,015.015 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:25:18,017.017 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 22:25:20,609.609 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:25:20,610.610 INFO    ] Checking for system updates...
[2026-08-29 22:25:20,631.631 INFO    ] 200
[2026-08-29 22:25:20,632.632 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:25:20,662.662 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:25:20,664.664 INFO    ] No update needed
[2026-08-29 22:25:20,665.665 INFO    ] Checking for camera pi updates...
[2026-08-29 22:25:20,685.685 INFO    ] 200
[2026-08-29 22:25:20,686.686 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:25:20,730.730 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:25:20,915.915 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:25:20,918.918 INFO    ] No camera update needed
[2026-08-29 22:25:20,920.920 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:25:20,922.922 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:25:20,928.928 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:25:20,933.933 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:25:22,974.974 INFO    ] ================================================
[2026-08-29 22:25:22,990.990 INFO    ] Launching Daemon at Sat Aug 29 22:25:22 IST 2026
[2026-08-29 22:25:23,002.002 INFO    ] ================================================
[2026-08-29 22:25:23,353.353 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:25:23
[2026-08-29 22:25:23,687.687 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:25:23,837.837 INFO    ] Initializing speech engine...
[2026-08-29 22:25:23,843.843 INFO    ] 2026-08-29 22:25:23
[2026-08-29 22:25:24,051.051 INFO    ] 2026-08-29 22:25:24
[2026-08-29 22:25:24,079.079 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:25:24,244.244 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:25:24,250.250 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:25:24,382.382 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:25:24,401.401 INFO    ] time= 29/08/2026 22:25:24
[2026-08-29 22:25:24,430.430 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:25:24,438.438 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:25:24,540.540 INFO    ] No existing commands found in stream
[2026-08-29 22:25:29,561.561 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:25:29,565.565 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-08-29 22:25:31,954.954 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:25:31,957.957 INFO    ] Checking for system updates...
[2026-08-29 22:25:31,998.998 INFO    ] 200
[2026-08-29 22:25:32,002.002 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:25:32,059.059 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:25:32,062.062 INFO    ] No update needed
[2026-08-29 22:25:32,065.065 INFO    ] Checking for camera pi updates...
[2026-08-29 22:25:32,100.100 INFO    ] 200
[2026-08-29 22:25:32,103.103 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:25:32,152.152 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:25:32,287.287 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:25:32,290.290 INFO    ] No camera update needed
[2026-08-29 22:25:32,292.292 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:25:32,295.295 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:25:32,301.301 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:25:32,307.307 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:25:34,349.349 INFO    ] ================================================
[2026-08-29 22:25:34,365.365 INFO    ] Launching Daemon at Sat Aug 29 22:25:34 IST 2026
[2026-08-29 22:25:34,377.377 INFO    ] ================================================
[2026-08-29 22:25:34,985.985 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:25:34
[2026-08-29 22:25:35,321.321 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:25:35,472.472 INFO    ] Initializing speech engine...
[2026-08-29 22:25:35,478.478 INFO    ] 2026-08-29 22:25:35
[2026-08-29 22:25:35,690.690 INFO    ] 2026-08-29 22:25:35
[2026-08-29 22:25:35,719.719 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:25:35,849.849 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:25:35,908.908 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:25:36,045.045 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:25:36,092.092 INFO    ] time= 29/08/2026 22:25:36
[2026-08-29 22:25:36,147.147 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:25:36,197.197 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:25:36,253.253 INFO    ] No existing commands found in stream
[2026-08-29 22:25:41,264.264 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:25:41,267.267 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-08-29 22:25:42,315.315 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:25:42,316.316 INFO    ] Checking for system updates...
[2026-08-29 22:25:42,337.337 INFO    ] 200
[2026-08-29 22:25:42,338.338 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:25:42,368.368 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:25:42,369.369 INFO    ] No update needed
[2026-08-29 22:25:42,370.370 INFO    ] Checking for camera pi updates...
[2026-08-29 22:25:42,389.389 INFO    ] 200
[2026-08-29 22:25:42,391.391 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:25:42,415.415 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:25:42,492.492 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:25:42,494.494 INFO    ] No camera update needed
[2026-08-29 22:25:42,495.495 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:25:42,496.496 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:25:42,499.499 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:25:42,502.502 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:25:44,540.540 INFO    ] ================================================
[2026-08-29 22:25:44,555.555 INFO    ] Launching Daemon at Sat Aug 29 22:25:44 IST 2026
[2026-08-29 22:25:44,566.566 INFO    ] ================================================
[2026-08-29 22:25:45,035.035 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:25:45
[2026-08-29 22:25:45,688.688 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:25:45,990.990 INFO    ] Initializing speech engine...
[2026-08-29 22:25:45,997.997 INFO    ] 2026-08-29 22:25:45
[2026-08-29 22:25:46,271.271 INFO    ] 2026-08-29 22:25:46
[2026-08-29 22:25:46,307.307 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:25:46,490.490 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:25:46,505.505 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:25:46,638.638 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:25:46,647.647 INFO    ] time= 29/08/2026 22:25:46
[2026-08-29 22:25:46,654.654 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:25:46,696.696 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:25:46,820.820 INFO    ] No existing commands found in stream
[2026-08-29 22:25:51,851.851 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:25:51,854.854 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-08-29 22:25:54,650.650 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:25:54,652.652 INFO    ] Checking for system updates...
[2026-08-29 22:25:54,675.675 INFO    ] 200
[2026-08-29 22:25:54,677.677 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:25:54,707.707 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:25:54,708.708 INFO    ] No update needed
[2026-08-29 22:25:54,710.710 INFO    ] Checking for camera pi updates...
[2026-08-29 22:25:54,729.729 INFO    ] 200
[2026-08-29 22:25:54,731.731 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:25:54,756.756 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:25:54,837.837 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:25:54,838.838 INFO    ] No camera update needed
[2026-08-29 22:25:54,840.840 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:25:54,841.841 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:25:54,844.844 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:25:54,847.847 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:25:56,885.885 INFO    ] ================================================
[2026-08-29 22:25:56,902.902 INFO    ] Launching Daemon at Sat Aug 29 22:25:56 IST 2026
[2026-08-29 22:25:56,914.914 INFO    ] ================================================
[2026-08-29 22:25:57,505.505 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:25:57
[2026-08-29 22:25:58,170.170 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:25:58,467.467 INFO    ] Initializing speech engine...
[2026-08-29 22:25:58,476.476 INFO    ] 2026-08-29 22:25:58
[2026-08-29 22:25:58,738.738 INFO    ] 2026-08-29 22:25:58
[2026-08-29 22:25:58,792.792 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:25:58,959.959 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:25:58,981.981 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:25:59,095.095 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:25:59,102.102 INFO    ] time= 29/08/2026 22:25:59
[2026-08-29 22:25:59,148.148 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:25:59,172.172 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:25:59,296.296 INFO    ] No existing commands found in stream
[2026-08-29 22:26:04,306.306 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:26:04,309.309 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-08-29 22:26:05,046.046 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:26:05,048.048 INFO    ] Checking for system updates...
[2026-08-29 22:26:05,068.068 INFO    ] 200
[2026-08-29 22:26:05,069.069 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:26:05,099.099 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:26:05,100.100 INFO    ] No update needed
[2026-08-29 22:26:05,102.102 INFO    ] Checking for camera pi updates...
[2026-08-29 22:26:05,121.121 INFO    ] 200
[2026-08-29 22:26:05,123.123 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:26:05,148.148 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:26:05,239.239 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:26:05,241.241 INFO    ] No camera update needed
[2026-08-29 22:26:05,242.242 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:26:05,244.244 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:26:05,247.247 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:26:05,250.250 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:26:07,291.291 INFO    ] ================================================
[2026-08-29 22:26:07,307.307 INFO    ] Launching Daemon at Sat Aug 29 22:26:07 IST 2026
[2026-08-29 22:26:07,318.318 INFO    ] ================================================
[2026-08-29 22:26:07,686.686 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:26:07
[2026-08-29 22:26:08,001.001 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:26:08,145.145 INFO    ] Initializing speech engine...
[2026-08-29 22:26:08,150.150 INFO    ] 2026-08-29 22:26:08
[2026-08-29 22:26:08,337.337 INFO    ] 2026-08-29 22:26:08
[2026-08-29 22:26:08,395.395 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:26:08,617.617 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:26:08,626.626 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:26:08,758.758 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:26:08,779.779 INFO    ] time= 29/08/2026 22:26:08
[2026-08-29 22:26:08,849.849 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:26:08,890.890 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:26:08,944.944 INFO    ] No existing commands found in stream
[2026-08-29 22:26:13,956.956 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:26:13,959.959 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-08-29 22:26:16,619.619 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:26:16,620.620 INFO    ] Checking for system updates...
[2026-08-29 22:26:16,641.641 INFO    ] 200
[2026-08-29 22:26:16,642.642 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:26:16,672.672 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:26:16,674.674 INFO    ] No update needed
[2026-08-29 22:26:16,675.675 INFO    ] Checking for camera pi updates...
[2026-08-29 22:26:16,695.695 INFO    ] 200
[2026-08-29 22:26:16,697.697 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:26:16,724.724 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:26:16,811.811 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:26:16,812.812 INFO    ] No camera update needed
[2026-08-29 22:26:16,813.813 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:26:16,815.815 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:26:16,818.818 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:26:16,821.821 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:26:18,860.860 INFO    ] ================================================
[2026-08-29 22:26:18,875.875 INFO    ] Launching Daemon at Sat Aug 29 22:26:18 IST 2026
[2026-08-29 22:26:18,890.890 INFO    ] ================================================
[2026-08-29 22:26:19,400.400 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:26:19
[2026-08-29 22:26:19,998.998 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:26:20,277.277 INFO    ] Initializing speech engine...
[2026-08-29 22:26:20,282.282 INFO    ] 2026-08-29 22:26:20
[2026-08-29 22:26:20,545.545 INFO    ] 2026-08-29 22:26:20
[2026-08-29 22:26:20,599.599 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:26:20,740.740 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:26:20,753.753 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:26:20,885.885 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:26:20,911.911 INFO    ] time= 29/08/2026 22:26:20
[2026-08-29 22:26:20,917.917 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:26:20,924.924 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:26:20,997.997 INFO    ] No existing commands found in stream
[2026-08-29 22:26:26,011.011 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:26:26,013.013 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-08-29 22:26:27,126.126 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:26:27,128.128 INFO    ] Checking for system updates...
[2026-08-29 22:26:27,150.150 INFO    ] 200
[2026-08-29 22:26:27,152.152 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:26:27,183.183 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:26:27,184.184 INFO    ] No update needed
[2026-08-29 22:26:27,185.185 INFO    ] Checking for camera pi updates...
[2026-08-29 22:26:27,205.205 INFO    ] 200
[2026-08-29 22:26:27,206.206 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:26:27,230.230 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:26:27,317.317 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:26:27,318.318 INFO    ] No camera update needed
[2026-08-29 22:26:27,320.320 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:26:27,321.321 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:26:27,325.325 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:26:27,327.327 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:26:29,368.368 INFO    ] ================================================
[2026-08-29 22:26:29,383.383 INFO    ] Launching Daemon at Sat Aug 29 22:26:29 IST 2026
[2026-08-29 22:26:29,393.393 INFO    ] ================================================
[2026-08-29 22:26:29,748.748 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:26:29
[2026-08-29 22:26:30,065.065 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:26:30,210.210 INFO    ] Initializing speech engine...
[2026-08-29 22:26:30,216.216 INFO    ] 2026-08-29 22:26:30
[2026-08-29 22:26:30,426.426 INFO    ] 2026-08-29 22:26:30
[2026-08-29 22:26:30,480.480 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:26:30,641.641 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:26:30,650.650 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:26:30,815.815 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:26:30,853.853 INFO    ] time= 29/08/2026 22:26:30
[2026-08-29 22:26:30,868.868 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:26:30,875.875 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:26:30,986.986 INFO    ] No existing commands found in stream
[2026-08-29 22:26:36,016.016 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:26:36,018.018 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-08-29 22:26:39,325.325 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:26:39,327.327 INFO    ] Checking for system updates...
[2026-08-29 22:26:39,349.349 INFO    ] 200
[2026-08-29 22:26:39,350.350 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:26:39,380.380 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:26:39,382.382 INFO    ] No update needed
[2026-08-29 22:26:39,383.383 INFO    ] Checking for camera pi updates...
[2026-08-29 22:26:39,403.403 INFO    ] 200
[2026-08-29 22:26:39,404.404 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:26:39,427.427 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:26:39,491.491 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:26:39,493.493 INFO    ] No camera update needed
[2026-08-29 22:26:39,494.494 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:26:39,495.495 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:26:39,498.498 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:26:39,501.501 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:26:41,541.541 INFO    ] ================================================
[2026-08-29 22:26:41,556.556 INFO    ] Launching Daemon at Sat Aug 29 22:26:41 IST 2026
[2026-08-29 22:26:41,568.568 INFO    ] ================================================
[2026-08-29 22:26:41,975.975 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:26:41
[2026-08-29 22:26:42,560.560 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:26:42,817.817 INFO    ] Initializing speech engine...
[2026-08-29 22:26:42,831.831 INFO    ] 2026-08-29 22:26:42
[2026-08-29 22:26:43,082.082 INFO    ] 2026-08-29 22:26:43
[2026-08-29 22:26:43,117.117 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:26:43,288.288 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:26:43,300.300 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:26:43,426.426 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:26:43,450.450 INFO    ] time= 29/08/2026 22:26:43
[2026-08-29 22:26:43,454.454 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:26:43,460.460 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:26:43,527.527 INFO    ] No existing commands found in stream
[2026-08-29 22:26:48,562.562 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:26:48,565.565 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-08-29 22:26:51,769.769 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:26:51,770.770 INFO    ] Checking for system updates...
[2026-08-29 22:26:51,791.791 INFO    ] 200
[2026-08-29 22:26:51,792.792 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:26:51,822.822 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:26:51,824.824 INFO    ] No update needed
[2026-08-29 22:26:51,825.825 INFO    ] Checking for camera pi updates...
[2026-08-29 22:26:51,844.844 INFO    ] 200
[2026-08-29 22:26:51,845.845 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:26:51,868.868 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:26:51,939.939 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:26:51,941.941 INFO    ] No camera update needed
[2026-08-29 22:26:51,944.944 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:26:51,946.946 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:26:51,951.951 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:26:51,956.956 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:26:54,996.996 INFO    ] ================================================
[2026-08-29 22:26:54,017.017 INFO    ] Launching Daemon at Sat Aug 29 22:26:54 IST 2026
[2026-08-29 22:26:54,028.028 INFO    ] ================================================
[2026-08-29 22:26:54,611.611 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:26:54
[2026-08-29 22:26:55,130.130 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:26:55,269.269 INFO    ] Initializing speech engine...
[2026-08-29 22:26:55,280.280 INFO    ] 2026-08-29 22:26:55
[2026-08-29 22:26:55,524.524 INFO    ] 2026-08-29 22:26:55
[2026-08-29 22:26:55,579.579 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:26:55,711.711 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:26:55,728.728 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:26:55,897.897 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:26:55,947.947 INFO    ] time= 29/08/2026 22:26:55
[2026-08-29 22:26:55,953.953 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:26:55,971.971 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:26:56,087.087 INFO    ] No existing commands found in stream
[2026-08-29 22:27:01,111.111 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:27:01,114.114 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-08-29 22:27:04,692.692 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:27:04,694.694 INFO    ] Checking for system updates...
[2026-08-29 22:27:04,714.714 INFO    ] 200
[2026-08-29 22:27:04,715.715 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:27:04,745.745 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:27:04,746.746 INFO    ] No update needed
[2026-08-29 22:27:04,747.747 INFO    ] Checking for camera pi updates...
[2026-08-29 22:27:04,766.766 INFO    ] 200
[2026-08-29 22:27:04,768.768 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:27:04,791.791 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:27:04,871.871 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:27:04,873.873 INFO    ] No camera update needed
[2026-08-29 22:27:04,874.874 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:27:04,875.875 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:27:04,878.878 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:27:04,881.881 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:27:06,919.919 INFO    ] ================================================
[2026-08-29 22:27:06,934.934 INFO    ] Launching Daemon at Sat Aug 29 22:27:06 IST 2026
[2026-08-29 22:27:06,945.945 INFO    ] ================================================
[2026-08-29 22:27:07,303.303 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:27:07
[2026-08-29 22:27:07,615.615 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:27:07,767.767 INFO    ] Initializing speech engine...
[2026-08-29 22:27:07,776.776 INFO    ] 2026-08-29 22:27:07
[2026-08-29 22:27:08,023.023 INFO    ] 2026-08-29 22:27:08
[2026-08-29 22:27:08,088.088 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:27:08,232.232 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:27:08,256.256 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:27:08,384.384 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:27:08,392.392 INFO    ] time= 29/08/2026 22:27:08
[2026-08-29 22:27:08,396.396 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:27:08,401.401 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:27:08,469.469 INFO    ] No existing commands found in stream
[2026-08-29 22:27:13,484.484 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:27:13,486.486 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-08-29 22:27:16,710.710 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:27:16,712.712 INFO    ] Checking for system updates...
[2026-08-29 22:27:16,732.732 INFO    ] 200
[2026-08-29 22:27:16,733.733 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:27:16,763.763 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:27:16,765.765 INFO    ] No update needed
[2026-08-29 22:27:16,766.766 INFO    ] Checking for camera pi updates...
[2026-08-29 22:27:16,785.785 INFO    ] 200
[2026-08-29 22:27:16,786.786 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:27:16,811.811 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:27:16,899.899 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:27:16,901.901 INFO    ] No camera update needed
[2026-08-29 22:27:16,902.902 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:27:16,903.903 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:27:16,906.906 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:27:16,909.909 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:27:18,947.947 INFO    ] ================================================
[2026-08-29 22:27:18,963.963 INFO    ] Launching Daemon at Sat Aug 29 22:27:18 IST 2026
[2026-08-29 22:27:18,973.973 INFO    ] ================================================
[2026-08-29 22:27:19,432.432 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:27:19
[2026-08-29 22:27:20,015.015 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:27:20,274.274 INFO    ] Initializing speech engine...
[2026-08-29 22:27:20,290.290 INFO    ] 2026-08-29 22:27:20
[2026-08-29 22:27:20,546.546 INFO    ] 2026-08-29 22:27:20
[2026-08-29 22:27:20,589.589 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:27:20,762.762 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:27:20,768.768 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:27:20,886.886 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:27:20,891.891 INFO    ] time= 29/08/2026 22:27:20
[2026-08-29 22:27:20,910.910 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:27:20,930.930 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:27:21,003.003 INFO    ] No existing commands found in stream
[2026-08-29 22:27:26,015.015 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:27:26,018.018 INFO    ] Waiting 0.00 seconds before fallback handling...
[2026-08-29 22:27:26,372.372 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:27:26,374.374 INFO    ] Checking for system updates...
[2026-08-29 22:27:26,414.414 INFO    ] 200
[2026-08-29 22:27:26,416.416 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:27:26,468.468 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:27:26,470.470 INFO    ] No update needed
[2026-08-29 22:27:26,473.473 INFO    ] Checking for camera pi updates...
[2026-08-29 22:27:26,507.507 INFO    ] 200
[2026-08-29 22:27:26,510.510 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:27:26,554.554 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:27:26,741.741 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:27:26,743.743 INFO    ] No camera update needed
[2026-08-29 22:27:26,746.746 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:27:26,748.748 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:27:26,753.753 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:27:26,758.758 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:27:28,798.798 INFO    ] ================================================
[2026-08-29 22:27:28,814.814 INFO    ] Launching Daemon at Sat Aug 29 22:27:28 IST 2026
[2026-08-29 22:27:28,824.824 INFO    ] ================================================
[2026-08-29 22:27:29,406.406 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:27:29
[2026-08-29 22:27:29,744.744 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:27:29,897.897 INFO    ] Initializing speech engine...
[2026-08-29 22:27:29,902.902 INFO    ] 2026-08-29 22:27:29
[2026-08-29 22:27:30,110.110 INFO    ] 2026-08-29 22:27:30
[2026-08-29 22:27:30,139.139 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:27:30,278.278 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:27:30,321.321 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:27:30,461.461 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:27:30,472.472 INFO    ] time= 29/08/2026 22:27:30
[2026-08-29 22:27:30,509.509 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:27:30,566.566 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:27:30,638.638 INFO    ] No existing commands found in stream
[2026-08-29 22:27:35,674.674 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:27:35,677.677 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-08-29 22:27:39,784.784 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:27:39,785.785 INFO    ] Checking for system updates...
[2026-08-29 22:27:39,806.806 INFO    ] 200
[2026-08-29 22:27:39,807.807 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:27:39,839.839 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:27:39,840.840 INFO    ] No update needed
[2026-08-29 22:27:39,841.841 INFO    ] Checking for camera pi updates...
[2026-08-29 22:27:39,861.861 INFO    ] 200
[2026-08-29 22:27:39,862.862 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:27:39,886.886 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:27:39,958.958 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:27:39,959.959 INFO    ] No camera update needed
[2026-08-29 22:27:39,960.960 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:27:39,962.962 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:27:39,965.965 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:27:39,967.967 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:27:42,005.005 INFO    ] ================================================
[2026-08-29 22:27:42,020.020 INFO    ] Launching Daemon at Sat Aug 29 22:27:42 IST 2026
[2026-08-29 22:27:42,031.031 INFO    ] ================================================
[2026-08-29 22:27:42,390.390 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:27:42
[2026-08-29 22:27:42,700.700 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:27:42,835.835 INFO    ] Initializing speech engine...
[2026-08-29 22:27:42,843.843 INFO    ] 2026-08-29 22:27:42
[2026-08-29 22:27:43,068.068 INFO    ] 2026-08-29 22:27:43
[2026-08-29 22:27:43,100.100 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:27:43,230.230 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:27:43,249.249 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:27:43,408.408 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:27:43,443.443 INFO    ] time= 29/08/2026 22:27:43
[2026-08-29 22:27:43,499.499 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:27:43,538.538 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:27:43,662.662 INFO    ] No existing commands found in stream
[2026-08-29 22:27:48,687.687 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:27:48,690.690 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-08-29 22:27:49,898.898 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:27:49,899.899 INFO    ] Checking for system updates...
[2026-08-29 22:27:49,921.921 INFO    ] 200
[2026-08-29 22:27:49,922.922 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:27:49,952.952 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:27:49,953.953 INFO    ] No update needed
[2026-08-29 22:27:49,955.955 INFO    ] Checking for camera pi updates...
[2026-08-29 22:27:49,974.974 INFO    ] 200
[2026-08-29 22:27:49,975.975 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:27:49,999.999 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:27:50,125.125 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:27:50,127.127 INFO    ] No camera update needed
[2026-08-29 22:27:50,128.128 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:27:50,129.129 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:27:50,132.132 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:27:50,135.135 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:27:52,173.173 INFO    ] ================================================
[2026-08-29 22:27:52,188.188 INFO    ] Launching Daemon at Sat Aug 29 22:27:52 IST 2026
[2026-08-29 22:27:52,198.198 INFO    ] ================================================
[2026-08-29 22:27:52,543.543 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:27:52
[2026-08-29 22:27:52,870.870 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:27:53,023.023 INFO    ] Initializing speech engine...
[2026-08-29 22:27:53,028.028 INFO    ] 2026-08-29 22:27:53
[2026-08-29 22:27:53,234.234 INFO    ] 2026-08-29 22:27:53
[2026-08-29 22:27:53,263.263 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:27:53,385.385 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:27:53,447.447 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:27:53,585.585 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:27:53,652.652 INFO    ] time= 29/08/2026 22:27:53
[2026-08-29 22:27:53,675.675 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:27:53,682.682 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:27:53,747.747 INFO    ] No existing commands found in stream
[2026-08-29 22:27:58,757.757 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:27:58,760.760 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-08-29 22:27:59,143.143 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:27:59,145.145 INFO    ] Checking for system updates...
[2026-08-29 22:27:59,165.165 INFO    ] 200
[2026-08-29 22:27:59,166.166 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:27:59,199.199 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:27:59,200.200 INFO    ] No update needed
[2026-08-29 22:27:59,202.202 INFO    ] Checking for camera pi updates...
[2026-08-29 22:27:59,222.222 INFO    ] 200
[2026-08-29 22:27:59,224.224 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:27:59,247.247 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:27:59,317.317 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:27:59,319.319 INFO    ] No camera update needed
[2026-08-29 22:27:59,320.320 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:27:59,322.322 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:27:59,325.325 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:27:59,328.328 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:28:01,384.384 INFO    ] ================================================
[2026-08-29 22:28:01,405.405 INFO    ] Launching Daemon at Sat Aug 29 22:28:01 IST 2026
[2026-08-29 22:28:01,430.430 INFO    ] ================================================
[2026-08-29 22:28:02,065.065 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:28:02
[2026-08-29 22:28:02,733.733 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:28:03,012.012 INFO    ] Initializing speech engine...
[2026-08-29 22:28:03,021.021 INFO    ] 2026-08-29 22:28:03
[2026-08-29 22:28:03,271.271 INFO    ] 2026-08-29 22:28:03
[2026-08-29 22:28:03,307.307 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:28:03,482.482 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:28:03,495.495 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:28:03,610.610 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:28:03,615.615 INFO    ] time= 29/08/2026 22:28:03
[2026-08-29 22:28:03,634.634 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:28:03,654.654 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:28:03,730.730 INFO    ] No existing commands found in stream
[2026-08-29 22:28:08,755.755 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:28:08,758.758 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-08-29 22:28:10,912.912 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:28:10,914.914 INFO    ] Checking for system updates...
[2026-08-29 22:28:10,949.949 INFO    ] 200
[2026-08-29 22:28:10,952.952 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:28:11,004.004 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:28:11,006.006 INFO    ] No update needed
[2026-08-29 22:28:11,009.009 INFO    ] Checking for camera pi updates...
[2026-08-29 22:28:11,042.042 INFO    ] 200
[2026-08-29 22:28:11,044.044 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:28:11,089.089 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:28:11,164.164 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:28:11,167.167 INFO    ] No camera update needed
[2026-08-29 22:28:11,169.169 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:28:11,171.171 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:28:11,177.177 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:28:11,181.181 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:28:13,223.223 INFO    ] ================================================
[2026-08-29 22:28:13,239.239 INFO    ] Launching Daemon at Sat Aug 29 22:28:13 IST 2026
[2026-08-29 22:28:13,249.249 INFO    ] ================================================
[2026-08-29 22:28:13,869.869 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:28:13
[2026-08-29 22:28:14,229.229 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:28:14,380.380 INFO    ] Initializing speech engine...
[2026-08-29 22:28:14,386.386 INFO    ] 2026-08-29 22:28:14
[2026-08-29 22:28:14,594.594 INFO    ] 2026-08-29 22:28:14
[2026-08-29 22:28:14,623.623 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:28:14,744.744 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:28:14,784.784 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:28:14,940.940 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:28:14,997.997 INFO    ] time= 29/08/2026 22:28:14
[2026-08-29 22:28:15,032.032 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:28:15,047.047 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:28:15,115.115 INFO    ] No existing commands found in stream
[2026-08-29 22:28:20,130.130 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:28:20,133.133 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-08-29 22:28:23,669.669 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:28:23,670.670 INFO    ] Checking for system updates...
[2026-08-29 22:28:23,692.692 INFO    ] 200
[2026-08-29 22:28:23,694.694 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:28:23,727.727 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:28:23,728.728 INFO    ] No update needed
[2026-08-29 22:28:23,730.730 INFO    ] Checking for camera pi updates...
[2026-08-29 22:28:23,753.753 INFO    ] 200
[2026-08-29 22:28:23,755.755 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:28:23,782.782 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:28:23,864.864 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:28:23,865.865 INFO    ] No camera update needed
[2026-08-29 22:28:23,867.867 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:28:23,868.868 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:28:23,871.871 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:28:23,874.874 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:28:25,913.913 INFO    ] ================================================
[2026-08-29 22:28:25,929.929 INFO    ] Launching Daemon at Sat Aug 29 22:28:25 IST 2026
[2026-08-29 22:28:25,940.940 INFO    ] ================================================
[2026-08-29 22:28:26,306.306 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:28:26
[2026-08-29 22:28:26,619.619 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:28:26,754.754 INFO    ] Initializing speech engine...
[2026-08-29 22:28:26,762.762 INFO    ] 2026-08-29 22:28:26
[2026-08-29 22:28:26,991.991 INFO    ] 2026-08-29 22:28:26
[2026-08-29 22:28:27,022.022 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:28:27,154.154 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:28:27,178.178 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:28:27,334.334 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:28:27,368.368 INFO    ] time= 29/08/2026 22:28:27
[2026-08-29 22:28:27,419.419 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:28:27,474.474 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:28:27,551.551 INFO    ] No existing commands found in stream
[2026-08-29 22:28:32,562.562 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:28:32,564.564 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-08-29 22:28:35,968.968 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:28:35,969.969 INFO    ] Checking for system updates...
[2026-08-29 22:28:35,991.991 INFO    ] 200
[2026-08-29 22:28:35,992.992 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:28:36,029.029 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:28:36,030.030 INFO    ] No update needed
[2026-08-29 22:28:36,031.031 INFO    ] Checking for camera pi updates...
[2026-08-29 22:28:36,051.051 INFO    ] 200
[2026-08-29 22:28:36,052.052 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:28:36,077.077 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:28:36,152.152 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:28:36,154.154 INFO    ] No camera update needed
[2026-08-29 22:28:36,155.155 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:28:36,156.156 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:28:36,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:28:36,162.162 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:28:38,201.201 INFO    ] ================================================
[2026-08-29 22:28:38,216.216 INFO    ] Launching Daemon at Sat Aug 29 22:28:38 IST 2026
[2026-08-29 22:28:38,227.227 INFO    ] ================================================
[2026-08-29 22:28:38,573.573 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:28:38
[2026-08-29 22:28:38,886.886 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:28:39,015.015 INFO    ] Initializing speech engine...
[2026-08-29 22:28:39,020.020 INFO    ] 2026-08-29 22:28:39
[2026-08-29 22:28:39,261.261 INFO    ] 2026-08-29 22:28:39
[2026-08-29 22:28:39,315.315 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:28:39,476.476 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:28:39,489.489 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:28:39,667.667 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:28:39,696.696 INFO    ] time= 29/08/2026 22:28:39
[2026-08-29 22:28:39,702.702 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:28:39,720.720 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:28:39,838.838 INFO    ] No existing commands found in stream
[2026-08-29 22:28:44,865.865 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:28:44,868.868 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-08-29 22:28:45,458.458 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:28:45,459.459 INFO    ] Checking for system updates...
[2026-08-29 22:28:45,480.480 INFO    ] 200
[2026-08-29 22:28:45,481.481 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:28:45,512.512 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:28:45,513.513 INFO    ] No update needed
[2026-08-29 22:28:45,515.515 INFO    ] Checking for camera pi updates...
[2026-08-29 22:28:45,534.534 INFO    ] 200
[2026-08-29 22:28:45,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:28:45,559.559 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:28:45,659.659 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:28:45,661.661 INFO    ] No camera update needed
[2026-08-29 22:28:45,664.664 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:28:45,667.667 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:28:45,673.673 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:28:45,680.680 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:28:47,721.721 INFO    ] ================================================
[2026-08-29 22:28:47,736.736 INFO    ] Launching Daemon at Sat Aug 29 22:28:47 IST 2026
[2026-08-29 22:28:47,747.747 INFO    ] ================================================
[2026-08-29 22:28:48,327.327 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:28:48
[2026-08-29 22:28:48,822.822 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:28:48,966.966 INFO    ] Initializing speech engine...
[2026-08-29 22:28:48,971.971 INFO    ] 2026-08-29 22:28:48
[2026-08-29 22:28:49,175.175 INFO    ] 2026-08-29 22:28:49
[2026-08-29 22:28:49,202.202 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:28:49,324.324 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:28:49,363.363 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:28:49,517.517 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:28:49,543.543 INFO    ] time= 29/08/2026 22:28:49
[2026-08-29 22:28:49,597.597 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:28:49,618.618 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:28:49,689.689 INFO    ] No existing commands found in stream
[2026-08-29 22:28:54,700.700 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:28:54,703.703 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-08-29 22:28:57,821.821 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:28:57,824.824 INFO    ] Checking for system updates...
[2026-08-29 22:28:57,861.861 INFO    ] 200
[2026-08-29 22:28:57,863.863 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:28:57,924.924 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:28:57,927.927 INFO    ] No update needed
[2026-08-29 22:28:57,930.930 INFO    ] Checking for camera pi updates...
[2026-08-29 22:28:57,969.969 INFO    ] 200
[2026-08-29 22:28:57,971.971 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:28:58,019.019 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:28:58,113.113 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:28:58,115.115 INFO    ] No camera update needed
[2026-08-29 22:28:58,118.118 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:28:58,120.120 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:28:58,125.125 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:28:58,130.130 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:29:00,170.170 INFO    ] ================================================
[2026-08-29 22:29:00,185.185 INFO    ] Launching Daemon at Sat Aug 29 22:29:00 IST 2026
[2026-08-29 22:29:00,195.195 INFO    ] ================================================
[2026-08-29 22:29:00,803.803 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:29:00
[2026-08-29 22:29:01,181.181 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:29:01,331.331 INFO    ] Initializing speech engine...
[2026-08-29 22:29:01,337.337 INFO    ] 2026-08-29 22:29:01
[2026-08-29 22:29:01,540.540 INFO    ] 2026-08-29 22:29:01
[2026-08-29 22:29:01,568.568 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:29:01,704.704 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:29:01,743.743 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:29:01,880.880 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:29:01,901.901 INFO    ] time= 29/08/2026 22:29:01
[2026-08-29 22:29:01,924.924 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:29:01,937.937 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:29:01,985.985 INFO    ] No existing commands found in stream
[2026-08-29 22:29:06,995.995 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:29:06,998.998 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-08-29 22:29:09,528.528 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:29:09,530.530 INFO    ] Checking for system updates...
[2026-08-29 22:29:09,551.551 INFO    ] 200
[2026-08-29 22:29:09,553.553 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:29:09,583.583 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:29:09,584.584 INFO    ] No update needed
[2026-08-29 22:29:09,585.585 INFO    ] Checking for camera pi updates...
[2026-08-29 22:29:09,605.605 INFO    ] 200
[2026-08-29 22:29:09,607.607 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:29:09,629.629 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:29:09,717.717 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:29:09,719.719 INFO    ] No camera update needed
[2026-08-29 22:29:09,720.720 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:29:09,721.721 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:29:09,724.724 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:29:09,727.727 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:29:11,766.766 INFO    ] ================================================
[2026-08-29 22:29:11,781.781 INFO    ] Launching Daemon at Sat Aug 29 22:29:11 IST 2026
[2026-08-29 22:29:11,792.792 INFO    ] ================================================
[2026-08-29 22:29:12,166.166 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:29:12
[2026-08-29 22:29:12,505.505 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:29:12,689.689 INFO    ] Initializing speech engine...
[2026-08-29 22:29:12,698.698 INFO    ] 2026-08-29 22:29:12
[2026-08-29 22:29:12,948.948 INFO    ] 2026-08-29 22:29:12
[2026-08-29 22:29:12,983.983 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:29:13,153.153 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:29:13,166.166 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:29:13,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:29:13,295.295 INFO    ] time= 29/08/2026 22:29:13
[2026-08-29 22:29:13,315.315 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:29:13,323.323 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:29:13,390.390 INFO    ] No existing commands found in stream
[2026-08-29 22:29:18,403.403 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:29:18,406.406 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-08-29 22:29:19,634.634 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:29:19,636.636 INFO    ] Checking for system updates...
[2026-08-29 22:29:19,656.656 INFO    ] 200
[2026-08-29 22:29:19,657.657 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:29:19,689.689 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:29:19,690.690 INFO    ] No update needed
[2026-08-29 22:29:19,692.692 INFO    ] Checking for camera pi updates...
[2026-08-29 22:29:19,713.713 INFO    ] 200
[2026-08-29 22:29:19,714.714 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:29:19,739.739 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:29:19,833.833 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:29:19,834.834 INFO    ] No camera update needed
[2026-08-29 22:29:19,835.835 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:29:19,836.836 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:29:19,839.839 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:29:19,842.842 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:29:21,882.882 INFO    ] ================================================
[2026-08-29 22:29:21,897.897 INFO    ] Launching Daemon at Sat Aug 29 22:29:21 IST 2026
[2026-08-29 22:29:21,907.907 INFO    ] ================================================
[2026-08-29 22:29:22,254.254 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:29:22
[2026-08-29 22:29:22,587.587 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:29:22,735.735 INFO    ] Initializing speech engine...
[2026-08-29 22:29:22,741.741 INFO    ] 2026-08-29 22:29:22
[2026-08-29 22:29:22,947.947 INFO    ] 2026-08-29 22:29:22
[2026-08-29 22:29:22,975.975 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:29:23,103.103 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:29:23,161.161 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:29:23,303.303 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:29:23,365.365 INFO    ] time= 29/08/2026 22:29:23
[2026-08-29 22:29:23,389.389 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:29:23,395.395 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:29:23,461.461 INFO    ] No existing commands found in stream
[2026-08-29 22:29:28,472.472 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:29:28,476.476 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-08-29 22:29:29,195.195 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:29:29,196.196 INFO    ] Checking for system updates...
[2026-08-29 22:29:29,217.217 INFO    ] 200
[2026-08-29 22:29:29,219.219 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:29:29,249.249 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:29:29,250.250 INFO    ] No update needed
[2026-08-29 22:29:29,252.252 INFO    ] Checking for camera pi updates...
[2026-08-29 22:29:29,273.273 INFO    ] 200
[2026-08-29 22:29:29,275.275 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:29:29,300.300 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:29:29,481.481 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:29:29,483.483 INFO    ] No camera update needed
[2026-08-29 22:29:29,484.484 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:29:29,485.485 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:29:29,489.489 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:29:29,492.492 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:29:31,530.530 INFO    ] ================================================
[2026-08-29 22:29:31,546.546 INFO    ] Launching Daemon at Sat Aug 29 22:29:31 IST 2026
[2026-08-29 22:29:31,558.558 INFO    ] ================================================
[2026-08-29 22:29:32,120.120 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:29:32
[2026-08-29 22:29:32,755.755 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:29:33,026.026 INFO    ] Initializing speech engine...
[2026-08-29 22:29:33,050.050 INFO    ] 2026-08-29 22:29:33
[2026-08-29 22:29:33,342.342 INFO    ] 2026-08-29 22:29:33
[2026-08-29 22:29:33,380.380 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:29:33,573.573 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:29:33,588.588 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:29:33,706.706 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:29:33,712.712 INFO    ] time= 29/08/2026 22:29:33
[2026-08-29 22:29:33,718.718 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:29:33,743.743 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:29:33,837.837 INFO    ] No existing commands found in stream
[2026-08-29 22:29:38,849.849 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:29:38,852.852 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-08-29 22:29:40,325.325 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:29:40,327.327 INFO    ] Checking for system updates...
[2026-08-29 22:29:40,347.347 INFO    ] 200
[2026-08-29 22:29:40,348.348 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:29:40,380.380 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:29:40,381.381 INFO    ] No update needed
[2026-08-29 22:29:40,383.383 INFO    ] Checking for camera pi updates...
[2026-08-29 22:29:40,402.402 INFO    ] 200
[2026-08-29 22:29:40,403.403 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:29:40,426.426 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:29:40,526.526 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:29:40,528.528 INFO    ] No camera update needed
[2026-08-29 22:29:40,531.531 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:29:40,533.533 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:29:40,538.538 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:29:40,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:29:42,585.585 INFO    ] ================================================
[2026-08-29 22:29:42,603.603 INFO    ] Launching Daemon at Sat Aug 29 22:29:42 IST 2026
[2026-08-29 22:29:42,614.614 INFO    ] ================================================
[2026-08-29 22:29:43,248.248 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:29:43
[2026-08-29 22:29:43,735.735 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:29:43,874.874 INFO    ] Initializing speech engine...
[2026-08-29 22:29:43,878.878 INFO    ] 2026-08-29 22:29:43
[2026-08-29 22:29:44,099.099 INFO    ] 2026-08-29 22:29:44
[2026-08-29 22:29:44,128.128 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:29:44,253.253 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:29:44,291.291 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:29:44,449.449 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:29:44,521.521 INFO    ] time= 29/08/2026 22:29:44
[2026-08-29 22:29:44,549.549 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:29:44,556.556 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:29:44,608.608 INFO    ] No existing commands found in stream
[2026-08-29 22:29:49,617.617 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:29:49,620.620 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-08-29 22:29:50,574.574 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:29:50,576.576 INFO    ] Checking for system updates...
[2026-08-29 22:29:50,598.598 INFO    ] 200
[2026-08-29 22:29:50,600.600 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:29:50,629.629 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:29:50,631.631 INFO    ] No update needed
[2026-08-29 22:29:50,632.632 INFO    ] Checking for camera pi updates...
[2026-08-29 22:29:50,653.653 INFO    ] 200
[2026-08-29 22:29:50,654.654 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:29:50,677.677 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:29:50,756.756 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:29:50,757.757 INFO    ] No camera update needed
[2026-08-29 22:29:50,759.759 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:29:50,760.760 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:29:50,763.763 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:29:50,766.766 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:29:52,804.804 INFO    ] ================================================
[2026-08-29 22:29:52,820.820 INFO    ] Launching Daemon at Sat Aug 29 22:29:52 IST 2026
[2026-08-29 22:29:52,831.831 INFO    ] ================================================
[2026-08-29 22:29:53,172.172 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:29:53
[2026-08-29 22:29:53,506.506 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:29:53,660.660 INFO    ] Initializing speech engine...
[2026-08-29 22:29:53,664.664 INFO    ] 2026-08-29 22:29:53
[2026-08-29 22:29:53,873.873 INFO    ] 2026-08-29 22:29:53
[2026-08-29 22:29:53,902.902 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:29:54,028.028 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:29:54,091.091 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:29:54,238.238 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:29:54,300.300 INFO    ] time= 29/08/2026 22:29:54
[2026-08-29 22:29:54,325.325 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:29:54,331.331 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:29:54,431.431 INFO    ] No existing commands found in stream
[2026-08-29 22:29:59,457.457 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:29:59,460.460 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 22:30:01,400.400 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:30:01,402.402 INFO    ] Checking for system updates...
[2026-08-29 22:30:01,425.425 INFO    ] 200
[2026-08-29 22:30:01,427.427 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:30:01,458.458 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:30:01,460.460 INFO    ] No update needed
[2026-08-29 22:30:01,461.461 INFO    ] Checking for camera pi updates...
[2026-08-29 22:30:01,480.480 INFO    ] 200
[2026-08-29 22:30:01,482.482 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:30:01,506.506 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:30:01,760.760 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:30:01,766.766 INFO    ] No camera update needed
[2026-08-29 22:30:01,770.770 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:30:01,779.779 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:30:01,787.787 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:30:01,797.797 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:30:03,854.854 INFO    ] ================================================
[2026-08-29 22:30:03,875.875 INFO    ] Launching Daemon at Sat Aug 29 22:30:03 IST 2026
[2026-08-29 22:30:03,888.888 INFO    ] ================================================
[2026-08-29 22:30:04,552.552 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:30:04
[2026-08-29 22:30:04,925.925 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:30:05,070.070 INFO    ] Initializing speech engine...
[2026-08-29 22:30:05,081.081 INFO    ] 2026-08-29 22:30:05
[2026-08-29 22:30:05,286.286 INFO    ] 2026-08-29 22:30:05
[2026-08-29 22:30:05,317.317 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:30:05,474.474 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:30:05,502.502 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:30:05,636.636 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:30:05,693.693 INFO    ] time= 29/08/2026 22:30:05
[2026-08-29 22:30:05,728.728 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:30:05,733.733 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:30:05,803.803 INFO    ] No existing commands found in stream
[2026-08-29 22:30:10,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:30:10,815.815 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-08-29 22:30:15,966.966 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:30:15,967.967 INFO    ] Checking for system updates...
[2026-08-29 22:30:15,988.988 INFO    ] 200
[2026-08-29 22:30:15,989.989 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:30:16,019.019 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:30:16,021.021 INFO    ] No update needed
[2026-08-29 22:30:16,022.022 INFO    ] Checking for camera pi updates...
[2026-08-29 22:30:16,046.046 INFO    ] 200
[2026-08-29 22:30:16,047.047 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:30:16,076.076 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:30:16,150.150 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:30:16,154.154 INFO    ] No camera update needed
[2026-08-29 22:30:16,157.157 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:30:16,160.160 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:30:16,166.166 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:30:16,173.173 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:30:18,215.215 INFO    ] ================================================
[2026-08-29 22:30:18,231.231 INFO    ] Launching Daemon at Sat Aug 29 22:30:18 IST 2026
[2026-08-29 22:30:18,243.243 INFO    ] ================================================
[2026-08-29 22:30:18,830.830 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:30:18
[2026-08-29 22:30:19,428.428 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:30:19,582.582 INFO    ] Initializing speech engine...
[2026-08-29 22:30:19,587.587 INFO    ] 2026-08-29 22:30:19
[2026-08-29 22:30:19,792.792 INFO    ] 2026-08-29 22:30:19
[2026-08-29 22:30:19,821.821 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:30:21,274.274 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:30:21,291.291 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:30:22,464.464 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:30:22,476.476 INFO    ] time= 29/08/2026 22:30:22
[2026-08-29 22:30:22,492.492 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:30:22,501.501 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:30:22,556.556 INFO    ] No existing commands found in stream
[2026-08-29 22:30:27,565.565 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:30:27,568.568 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-08-29 22:30:28,110.110 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:30:28,112.112 INFO    ] Checking for system updates...
[2026-08-29 22:30:28,152.152 INFO    ] 200
[2026-08-29 22:30:28,154.154 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:30:28,212.212 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:30:28,214.214 INFO    ] No update needed
[2026-08-29 22:30:28,216.216 INFO    ] Checking for camera pi updates...
[2026-08-29 22:30:28,250.250 INFO    ] 200
[2026-08-29 22:30:28,253.253 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:30:28,294.294 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:30:28,362.362 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:30:28,364.364 INFO    ] No camera update needed
[2026-08-29 22:30:28,366.366 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:30:28,369.369 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:30:28,374.374 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:30:28,379.379 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:30:30,419.419 INFO    ] ================================================
[2026-08-29 22:30:30,435.435 INFO    ] Launching Daemon at Sat Aug 29 22:30:30 IST 2026
[2026-08-29 22:30:30,446.446 INFO    ] ================================================
[2026-08-29 22:30:30,796.796 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:30:30
[2026-08-29 22:30:31,107.107 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:30:31,250.250 INFO    ] Initializing speech engine...
[2026-08-29 22:30:31,256.256 INFO    ] 2026-08-29 22:30:31
[2026-08-29 22:30:31,455.455 INFO    ] 2026-08-29 22:30:31
[2026-08-29 22:30:31,492.492 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:30:31,717.717 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:30:31,726.726 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:30:31,862.862 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:30:31,883.883 INFO    ] time= 29/08/2026 22:30:31
[2026-08-29 22:30:31,939.939 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:30:31,993.993 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:30:32,047.047 INFO    ] No existing commands found in stream
[2026-08-29 22:30:37,063.063 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:30:37,065.065 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-08-29 22:30:40,014.014 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:30:40,017.017 INFO    ] Checking for system updates...
[2026-08-29 22:30:40,056.056 INFO    ] 200
[2026-08-29 22:30:40,058.058 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:30:40,116.116 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:30:40,119.119 INFO    ] No update needed
[2026-08-29 22:30:40,121.121 INFO    ] Checking for camera pi updates...
[2026-08-29 22:30:40,155.155 INFO    ] 200
[2026-08-29 22:30:40,157.157 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:30:40,197.197 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:30:40,284.284 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:30:40,286.286 INFO    ] No camera update needed
[2026-08-29 22:30:40,288.288 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:30:40,291.291 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:30:40,296.296 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:30:40,301.301 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:30:42,343.343 INFO    ] ================================================
[2026-08-29 22:30:42,358.358 INFO    ] Launching Daemon at Sat Aug 29 22:30:42 IST 2026
[2026-08-29 22:30:42,370.370 INFO    ] ================================================
[2026-08-29 22:30:42,945.945 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:30:42
[2026-08-29 22:30:43,309.309 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:30:43,451.451 INFO    ] Initializing speech engine...
[2026-08-29 22:30:43,456.456 INFO    ] 2026-08-29 22:30:43
[2026-08-29 22:30:43,664.664 INFO    ] 2026-08-29 22:30:43
[2026-08-29 22:30:43,692.692 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:30:43,814.814 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:30:43,858.858 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:30:44,026.026 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:30:44,059.059 INFO    ] time= 29/08/2026 22:30:44
[2026-08-29 22:30:44,093.093 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:30:44,144.144 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:30:44,240.240 INFO    ] No existing commands found in stream
[2026-08-29 22:30:49,266.266 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:30:49,269.269 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-08-29 22:30:50,163.163 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:30:50,164.164 INFO    ] Checking for system updates...
[2026-08-29 22:30:50,184.184 INFO    ] 200
[2026-08-29 22:30:50,186.186 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:30:50,218.218 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:30:50,220.220 INFO    ] No update needed
[2026-08-29 22:30:50,221.221 INFO    ] Checking for camera pi updates...
[2026-08-29 22:30:50,240.240 INFO    ] 200
[2026-08-29 22:30:50,242.242 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:30:50,266.266 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:30:50,333.333 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:30:50,334.334 INFO    ] No camera update needed
[2026-08-29 22:30:50,335.335 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:30:50,337.337 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:30:50,340.340 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:30:50,343.343 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:30:52,383.383 INFO    ] ================================================
[2026-08-29 22:30:52,399.399 INFO    ] Launching Daemon at Sat Aug 29 22:30:52 IST 2026
[2026-08-29 22:30:52,411.411 INFO    ] ================================================
[2026-08-29 22:30:52,743.743 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:30:52
[2026-08-29 22:30:53,062.062 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:30:53,199.199 INFO    ] Initializing speech engine...
[2026-08-29 22:30:53,207.207 INFO    ] 2026-08-29 22:30:53
[2026-08-29 22:30:53,407.407 INFO    ] 2026-08-29 22:30:53
[2026-08-29 22:30:53,446.446 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:30:53,605.605 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:30:53,619.619 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:30:53,779.779 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:30:53,788.788 INFO    ] time= 29/08/2026 22:30:53
[2026-08-29 22:30:53,793.793 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:30:53,799.799 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:30:53,872.872 INFO    ] No existing commands found in stream
[2026-08-29 22:30:58,885.885 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:30:58,887.887 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-08-29 22:31:02,482.482 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:31:02,486.486 INFO    ] Checking for system updates...
[2026-08-29 22:31:02,531.531 INFO    ] 200
[2026-08-29 22:31:02,535.535 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:31:02,605.605 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:31:02,608.608 INFO    ] No update needed
[2026-08-29 22:31:02,613.613 INFO    ] Checking for camera pi updates...
[2026-08-29 22:31:02,664.664 INFO    ] 200
[2026-08-29 22:31:02,668.668 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:31:02,725.725 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:31:02,810.810 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:31:02,813.813 INFO    ] No camera update needed
[2026-08-29 22:31:02,816.816 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:31:02,818.818 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:31:02,825.825 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:31:02,834.834 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:31:04,879.879 INFO    ] ================================================
[2026-08-29 22:31:04,895.895 INFO    ] Launching Daemon at Sat Aug 29 22:31:04 IST 2026
[2026-08-29 22:31:04,907.907 INFO    ] ================================================
[2026-08-29 22:31:05,418.418 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:31:05
[2026-08-29 22:31:06,062.062 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:31:06,379.379 INFO    ] Initializing speech engine...
[2026-08-29 22:31:06,390.390 INFO    ] 2026-08-29 22:31:06
[2026-08-29 22:31:06,709.709 INFO    ] 2026-08-29 22:31:06
[2026-08-29 22:31:06,797.797 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:31:06,951.951 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:31:06,961.961 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:31:07,097.097 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:31:07,145.145 INFO    ] time= 29/08/2026 22:31:07
[2026-08-29 22:31:07,205.205 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:31:07,238.238 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:31:07,294.294 INFO    ] No existing commands found in stream
[2026-08-29 22:31:12,306.306 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:31:12,310.310 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-08-29 22:31:14,277.277 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:31:14,279.279 INFO    ] Checking for system updates...
[2026-08-29 22:31:14,301.301 INFO    ] 200
[2026-08-29 22:31:14,303.303 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:31:14,333.333 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:31:14,335.335 INFO    ] No update needed
[2026-08-29 22:31:14,336.336 INFO    ] Checking for camera pi updates...
[2026-08-29 22:31:14,356.356 INFO    ] 200
[2026-08-29 22:31:14,357.357 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:31:14,380.380 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:31:14,481.481 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:31:14,484.484 INFO    ] No camera update needed
[2026-08-29 22:31:14,487.487 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:31:14,490.490 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:31:14,496.496 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:31:14,502.502 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:31:16,545.545 INFO    ] ================================================
[2026-08-29 22:31:16,561.561 INFO    ] Launching Daemon at Sat Aug 29 22:31:16 IST 2026
[2026-08-29 22:31:16,572.572 INFO    ] ================================================
[2026-08-29 22:31:17,154.154 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:31:17
[2026-08-29 22:31:17,614.614 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:31:17,748.748 INFO    ] Initializing speech engine...
[2026-08-29 22:31:17,751.751 INFO    ] 2026-08-29 22:31:17
[2026-08-29 22:31:17,984.984 INFO    ] 2026-08-29 22:31:17
[2026-08-29 22:31:18,015.015 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:31:18,113.113 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:31:18,149.149 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:31:18,250.250 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:31:18,254.254 INFO    ] time= 29/08/2026 22:31:18
[2026-08-29 22:31:18,288.288 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:31:18,318.318 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:31:18,420.420 INFO    ] No existing commands found in stream
[2026-08-29 22:31:23,449.449 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:31:23,452.452 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-08-29 22:31:25,365.365 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:31:25,366.366 INFO    ] Checking for system updates...
[2026-08-29 22:31:25,387.387 INFO    ] 200
[2026-08-29 22:31:25,388.388 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:31:25,419.419 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:31:25,420.420 INFO    ] No update needed
[2026-08-29 22:31:25,422.422 INFO    ] Checking for camera pi updates...
[2026-08-29 22:31:25,443.443 INFO    ] 200
[2026-08-29 22:31:25,444.444 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:31:25,469.469 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:31:25,560.560 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:31:25,562.562 INFO    ] No camera update needed
[2026-08-29 22:31:25,563.563 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:31:25,565.565 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:31:25,568.568 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:31:25,571.571 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:31:27,613.613 INFO    ] ================================================
[2026-08-29 22:31:27,629.629 INFO    ] Launching Daemon at Sat Aug 29 22:31:27 IST 2026
[2026-08-29 22:31:27,640.640 INFO    ] ================================================
[2026-08-29 22:31:28,177.177 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:31:28
[2026-08-29 22:31:28,766.766 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:31:29,021.021 INFO    ] Initializing speech engine...
[2026-08-29 22:31:29,029.029 INFO    ] 2026-08-29 22:31:29
[2026-08-29 22:31:29,329.329 INFO    ] 2026-08-29 22:31:29
[2026-08-29 22:31:29,368.368 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:31:29,520.520 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:31:29,531.531 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:31:29,679.679 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:31:29,690.690 INFO    ] time= 29/08/2026 22:31:29
[2026-08-29 22:31:29,697.697 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:31:29,721.721 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:31:29,772.772 INFO    ] No existing commands found in stream
[2026-08-29 22:31:34,784.784 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:31:34,786.786 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-08-29 22:31:38,414.414 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:31:38,416.416 INFO    ] Checking for system updates...
[2026-08-29 22:31:38,437.437 INFO    ] 200
[2026-08-29 22:31:38,438.438 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:31:38,469.469 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:31:38,470.470 INFO    ] No update needed
[2026-08-29 22:31:38,472.472 INFO    ] Checking for camera pi updates...
[2026-08-29 22:31:38,491.491 INFO    ] 200
[2026-08-29 22:31:38,493.493 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:31:38,518.518 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:31:38,607.607 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:31:38,609.609 INFO    ] No camera update needed
[2026-08-29 22:31:38,610.610 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:31:38,611.611 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:31:38,615.615 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:31:38,618.618 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:31:40,659.659 INFO    ] ================================================
[2026-08-29 22:31:40,674.674 INFO    ] Launching Daemon at Sat Aug 29 22:31:40 IST 2026
[2026-08-29 22:31:40,685.685 INFO    ] ================================================
[2026-08-29 22:31:41,016.016 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:31:41
[2026-08-29 22:31:41,332.332 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:31:41,463.463 INFO    ] Initializing speech engine...
[2026-08-29 22:31:41,466.466 INFO    ] 2026-08-29 22:31:41
[2026-08-29 22:31:41,684.684 INFO    ] 2026-08-29 22:31:41
[2026-08-29 22:31:41,721.721 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:31:41,868.868 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:31:41,876.876 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:31:42,028.028 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:31:42,037.037 INFO    ] time= 29/08/2026 22:31:42
[2026-08-29 22:31:42,043.043 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:31:42,048.048 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:31:42,103.103 INFO    ] No existing commands found in stream
[2026-08-29 22:31:47,125.125 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:31:47,127.127 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-08-29 22:31:48,770.770 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:31:48,771.771 INFO    ] Checking for system updates...
[2026-08-29 22:31:48,793.793 INFO    ] 200
[2026-08-29 22:31:48,794.794 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:31:48,824.824 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:31:48,825.825 INFO    ] No update needed
[2026-08-29 22:31:48,826.826 INFO    ] Checking for camera pi updates...
[2026-08-29 22:31:48,845.845 INFO    ] 200
[2026-08-29 22:31:48,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:31:48,875.875 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:31:48,968.968 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:31:48,969.969 INFO    ] No camera update needed
[2026-08-29 22:31:48,970.970 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:31:48,971.971 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:31:48,974.974 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:31:48,977.977 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:31:51,017.017 INFO    ] ================================================
[2026-08-29 22:31:51,033.033 INFO    ] Launching Daemon at Sat Aug 29 22:31:51 IST 2026
[2026-08-29 22:31:51,044.044 INFO    ] ================================================
[2026-08-29 22:31:51,422.422 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:31:51
[2026-08-29 22:31:51,766.766 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:31:51,917.917 INFO    ] Initializing speech engine...
[2026-08-29 22:31:51,923.923 INFO    ] 2026-08-29 22:31:51
[2026-08-29 22:31:52,135.135 INFO    ] 2026-08-29 22:31:52
[2026-08-29 22:31:52,164.164 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:31:52,286.286 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:31:52,349.349 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:31:52,481.481 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:31:52,488.488 INFO    ] time= 29/08/2026 22:31:52
[2026-08-29 22:31:52,489.489 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:31:52,491.491 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:31:52,584.584 INFO    ] No existing commands found in stream
[2026-08-29 22:31:57,597.597 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:31:57,653.653 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-08-29 22:31:58,866.866 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:31:58,867.867 INFO    ] Checking for system updates...
[2026-08-29 22:31:58,887.887 INFO    ] 200
[2026-08-29 22:31:58,888.888 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:31:58,918.918 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:31:58,919.919 INFO    ] No update needed
[2026-08-29 22:31:58,920.920 INFO    ] Checking for camera pi updates...
[2026-08-29 22:31:58,939.939 INFO    ] 200
[2026-08-29 22:31:58,941.941 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:31:58,964.964 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:31:59,035.035 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:31:59,036.036 INFO    ] No camera update needed
[2026-08-29 22:31:59,037.037 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:31:59,039.039 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:31:59,042.042 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:31:59,044.044 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:32:01,083.083 INFO    ] ================================================
[2026-08-29 22:32:01,099.099 INFO    ] Launching Daemon at Sat Aug 29 22:32:01 IST 2026
[2026-08-29 22:32:01,111.111 INFO    ] ================================================
[2026-08-29 22:32:01,474.474 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:32:01
[2026-08-29 22:32:01,792.792 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:32:01,930.930 INFO    ] Initializing speech engine...
[2026-08-29 22:32:01,944.944 INFO    ] 2026-08-29 22:32:01
[2026-08-29 22:32:02,328.328 INFO    ] 2026-08-29 22:32:02
[2026-08-29 22:32:02,385.385 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:32:02,541.541 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:32:02,557.557 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:32:02,697.697 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:32:02,768.768 INFO    ] time= 29/08/2026 22:32:02
[2026-08-29 22:32:02,806.806 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:32:02,879.879 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:32:02,956.956 INFO    ] No existing commands found in stream
[2026-08-29 22:32:07,967.967 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:32:07,981.981 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-08-29 22:32:10,918.918 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:32:10,920.920 INFO    ] Checking for system updates...
[2026-08-29 22:32:10,940.940 INFO    ] 200
[2026-08-29 22:32:10,941.941 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:32:10,972.972 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:32:10,973.973 INFO    ] No update needed
[2026-08-29 22:32:10,975.975 INFO    ] Checking for camera pi updates...
[2026-08-29 22:32:10,997.997 INFO    ] 200
[2026-08-29 22:32:10,998.998 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:32:11,021.021 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:32:11,098.098 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:32:11,099.099 INFO    ] No camera update needed
[2026-08-29 22:32:11,101.101 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:32:11,102.102 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:32:11,105.105 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:32:11,107.107 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:32:13,148.148 INFO    ] ================================================
[2026-08-29 22:32:13,165.165 INFO    ] Launching Daemon at Sat Aug 29 22:32:13 IST 2026
[2026-08-29 22:32:13,176.176 INFO    ] ================================================
[2026-08-29 22:32:13,662.662 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:32:13
[2026-08-29 22:32:14,253.253 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:32:14,528.528 INFO    ] Initializing speech engine...
[2026-08-29 22:32:14,534.534 INFO    ] 2026-08-29 22:32:14
[2026-08-29 22:32:14,778.778 INFO    ] 2026-08-29 22:32:14
[2026-08-29 22:32:14,815.815 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:32:14,988.988 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:32:14,999.999 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:32:15,110.110 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:32:15,129.129 INFO    ] time= 29/08/2026 22:32:15
[2026-08-29 22:32:15,152.152 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:32:15,157.157 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:32:15,224.224 INFO    ] No existing commands found in stream
[2026-08-29 22:32:20,236.236 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:32:20,239.239 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-08-29 22:32:21,549.549 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:32:21,551.551 INFO    ] Checking for system updates...
[2026-08-29 22:32:21,571.571 INFO    ] 200
[2026-08-29 22:32:21,573.573 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:32:21,602.602 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:32:21,604.604 INFO    ] No update needed
[2026-08-29 22:32:21,605.605 INFO    ] Checking for camera pi updates...
[2026-08-29 22:32:21,627.627 INFO    ] 200
[2026-08-29 22:32:21,628.628 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:32:21,651.651 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:32:21,725.725 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:32:21,727.727 INFO    ] No camera update needed
[2026-08-29 22:32:21,728.728 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:32:21,729.729 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:32:21,732.732 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:32:21,736.736 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:32:23,779.779 INFO    ] ================================================
[2026-08-29 22:32:23,794.794 INFO    ] Launching Daemon at Sat Aug 29 22:32:23 IST 2026
[2026-08-29 22:32:23,806.806 INFO    ] ================================================
[2026-08-29 22:32:24,166.166 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:32:24
[2026-08-29 22:32:24,483.483 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:32:24,616.616 INFO    ] Initializing speech engine...
[2026-08-29 22:32:24,619.619 INFO    ] 2026-08-29 22:32:24
[2026-08-29 22:32:24,921.921 INFO    ] 2026-08-29 22:32:24
[2026-08-29 22:32:24,959.959 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:32:25,135.135 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:32:25,147.147 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:32:25,259.259 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:32:25,278.278 INFO    ] time= 29/08/2026 22:32:25
[2026-08-29 22:32:25,297.297 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:32:25,306.306 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:32:25,373.373 INFO    ] No existing commands found in stream
[2026-08-29 22:32:30,385.385 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:32:30,388.388 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-08-29 22:32:31,399.399 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:32:31,401.401 INFO    ] Checking for system updates...
[2026-08-29 22:32:31,421.421 INFO    ] 200
[2026-08-29 22:32:31,423.423 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:32:31,452.452 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:32:31,454.454 INFO    ] No update needed
[2026-08-29 22:32:31,455.455 INFO    ] Checking for camera pi updates...
[2026-08-29 22:32:31,475.475 INFO    ] 200
[2026-08-29 22:32:31,476.476 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:32:31,500.500 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:32:31,626.626 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:32:31,627.627 INFO    ] No camera update needed
[2026-08-29 22:32:31,628.628 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:32:31,630.630 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:32:31,633.633 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:32:31,635.635 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:32:33,670.670 INFO    ] ================================================
[2026-08-29 22:32:33,686.686 INFO    ] Launching Daemon at Sat Aug 29 22:32:33 IST 2026
[2026-08-29 22:32:33,696.696 INFO    ] ================================================
[2026-08-29 22:32:34,282.282 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:32:34
[2026-08-29 22:32:34,884.884 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:32:35,162.162 INFO    ] Initializing speech engine...
[2026-08-29 22:32:35,180.180 INFO    ] 2026-08-29 22:32:35
[2026-08-29 22:32:35,437.437 INFO    ] 2026-08-29 22:32:35
[2026-08-29 22:32:35,491.491 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:32:35,713.713 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:32:35,722.722 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:32:35,838.838 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:32:35,886.886 INFO    ] time= 29/08/2026 22:32:35
[2026-08-29 22:32:35,905.905 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:32:35,913.913 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:32:35,996.996 INFO    ] No existing commands found in stream
[2026-08-29 22:32:41,031.031 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:32:41,034.034 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-08-29 22:32:43,381.381 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:32:43,383.383 INFO    ] Checking for system updates...
[2026-08-29 22:32:43,403.403 INFO    ] 200
[2026-08-29 22:32:43,405.405 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:32:43,435.435 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:32:43,436.436 INFO    ] No update needed
[2026-08-29 22:32:43,437.437 INFO    ] Checking for camera pi updates...
[2026-08-29 22:32:43,457.457 INFO    ] 200
[2026-08-29 22:32:43,458.458 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:32:43,483.483 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:32:43,560.560 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:32:43,561.561 INFO    ] No camera update needed
[2026-08-29 22:32:43,563.563 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:32:43,564.564 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:32:43,567.567 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:32:43,569.569 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:32:45,609.609 INFO    ] ================================================
[2026-08-29 22:32:45,624.624 INFO    ] Launching Daemon at Sat Aug 29 22:32:45 IST 2026
[2026-08-29 22:32:45,635.635 INFO    ] ================================================
[2026-08-29 22:32:45,972.972 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:32:45
[2026-08-29 22:32:46,538.538 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:32:46,791.791 INFO    ] Initializing speech engine...
[2026-08-29 22:32:46,799.799 INFO    ] 2026-08-29 22:32:46
[2026-08-29 22:32:47,096.096 INFO    ] 2026-08-29 22:32:47
[2026-08-29 22:32:47,135.135 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:32:47,294.294 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:32:47,303.303 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:32:47,442.442 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:32:47,452.452 INFO    ] time= 29/08/2026 22:32:47
[2026-08-29 22:32:47,457.457 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:32:47,478.478 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:32:47,525.525 INFO    ] No existing commands found in stream
[2026-08-29 22:32:52,537.537 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:32:52,540.540 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-08-29 22:32:55,780.780 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:32:55,782.782 INFO    ] Checking for system updates...
[2026-08-29 22:32:55,802.802 INFO    ] 200
[2026-08-29 22:32:55,804.804 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:32:55,835.835 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:32:55,837.837 INFO    ] No update needed
[2026-08-29 22:32:55,838.838 INFO    ] Checking for camera pi updates...
[2026-08-29 22:32:55,857.857 INFO    ] 200
[2026-08-29 22:32:55,858.858 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:32:55,884.884 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:32:55,990.990 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:32:55,993.993 INFO    ] No camera update needed
[2026-08-29 22:32:55,995.995 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:32:55,997.997 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:32:56,003.003 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:32:56,007.007 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:32:58,047.047 INFO    ] ================================================
[2026-08-29 22:32:58,062.062 INFO    ] Launching Daemon at Sat Aug 29 22:32:58 IST 2026
[2026-08-29 22:32:58,073.073 INFO    ] ================================================
[2026-08-29 22:32:58,643.643 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:32:58
[2026-08-29 22:32:59,229.229 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:32:59,482.482 INFO    ] Initializing speech engine...
[2026-08-29 22:32:59,490.490 INFO    ] 2026-08-29 22:32:59
[2026-08-29 22:32:59,775.775 INFO    ] 2026-08-29 22:32:59
[2026-08-29 22:32:59,812.812 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:33:00,002.002 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:33:00,007.007 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:33:00,137.137 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:33:00,157.157 INFO    ] time= 29/08/2026 22:33:00
[2026-08-29 22:33:00,179.179 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:33:00,187.187 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:33:00,261.261 INFO    ] No existing commands found in stream
[2026-08-29 22:33:05,274.274 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:33:05,277.277 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-08-29 22:33:08,880.880 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:33:08,882.882 INFO    ] Checking for system updates...
[2026-08-29 22:33:08,903.903 INFO    ] 200
[2026-08-29 22:33:08,904.904 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:33:08,934.934 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:33:08,935.935 INFO    ] No update needed
[2026-08-29 22:33:08,936.936 INFO    ] Checking for camera pi updates...
[2026-08-29 22:33:08,958.958 INFO    ] 200
[2026-08-29 22:33:08,960.960 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:33:08,984.984 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:33:09,054.054 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:33:09,056.056 INFO    ] No camera update needed
[2026-08-29 22:33:09,057.057 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:33:09,058.058 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:33:09,063.063 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:33:09,066.066 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:33:11,105.105 INFO    ] ================================================
[2026-08-29 22:33:11,120.120 INFO    ] Launching Daemon at Sat Aug 29 22:33:11 IST 2026
[2026-08-29 22:33:11,131.131 INFO    ] ================================================
[2026-08-29 22:33:11,485.485 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:33:11
[2026-08-29 22:33:11,796.796 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:33:11,941.941 INFO    ] Initializing speech engine...
[2026-08-29 22:33:11,963.963 INFO    ] 2026-08-29 22:33:11
[2026-08-29 22:33:12,216.216 INFO    ] 2026-08-29 22:33:12
[2026-08-29 22:33:12,251.251 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:33:12,421.421 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:33:12,436.436 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:33:12,577.577 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:33:12,586.586 INFO    ] time= 29/08/2026 22:33:12
[2026-08-29 22:33:12,592.592 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:33:12,622.622 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:33:12,737.737 INFO    ] No existing commands found in stream
[2026-08-29 22:33:17,760.760 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:33:17,763.763 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-08-29 22:33:18,435.435 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:33:18,438.438 INFO    ] Checking for system updates...
[2026-08-29 22:33:18,488.488 INFO    ] 200
[2026-08-29 22:33:18,490.490 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 22:33:18,491.491 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-08-29 22:33:18,492.492 INFO    ] Checking for camera pi updates...
[2026-08-29 22:33:18,514.514 INFO    ] 200
[2026-08-29 22:33:18,515.515 INFO    ] {"msg": "Status of machine", "state": "STATE_HEALTH_CHECK", "status": true}
[2026-08-29 22:33:18,517.517 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-08-29 22:33:18,518.518 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:33:18,519.519 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:33:18,523.523 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:33:18,525.525 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:33:20,567.567 INFO    ] ================================================
[2026-08-29 22:33:20,583.583 INFO    ] Launching Daemon at Sat Aug 29 22:33:20 IST 2026
[2026-08-29 22:33:20,594.594 INFO    ] ================================================
[2026-08-29 22:33:21,169.169 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:33:21
[2026-08-29 22:33:21,688.688 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:33:21,923.923 INFO    ] Initializing speech engine...
[2026-08-29 22:33:21,948.948 INFO    ] 2026-08-29 22:33:21
[2026-08-29 22:33:22,204.204 INFO    ] 2026-08-29 22:33:22
[2026-08-29 22:33:22,240.240 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:33:22,418.418 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:33:22,424.424 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:33:22,545.545 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:33:22,550.550 INFO    ] time= 29/08/2026 22:33:22
[2026-08-29 22:33:22,584.584 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:33:22,593.593 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:33:22,666.666 INFO    ] No existing commands found in stream
[2026-08-29 22:33:27,681.681 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:33:27,684.684 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-08-29 22:33:29,160.160 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:33:29,162.162 INFO    ] Checking for system updates...
[2026-08-29 22:33:29,183.183 INFO    ] 200
[2026-08-29 22:33:29,184.184 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:33:29,214.214 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:33:29,215.215 INFO    ] No update needed
[2026-08-29 22:33:29,216.216 INFO    ] Checking for camera pi updates...
[2026-08-29 22:33:29,236.236 INFO    ] 200
[2026-08-29 22:33:29,237.237 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:33:29,260.260 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:33:29,331.331 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:33:29,333.333 INFO    ] No camera update needed
[2026-08-29 22:33:29,334.334 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:33:29,335.335 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:33:29,338.338 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:33:29,341.341 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:33:31,384.384 INFO    ] ================================================
[2026-08-29 22:33:31,399.399 INFO    ] Launching Daemon at Sat Aug 29 22:33:31 IST 2026
[2026-08-29 22:33:31,410.410 INFO    ] ================================================
[2026-08-29 22:33:31,761.761 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:33:31
[2026-08-29 22:33:32,168.168 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:33:32,460.460 INFO    ] Initializing speech engine...
[2026-08-29 22:33:32,470.470 INFO    ] 2026-08-29 22:33:32
[2026-08-29 22:33:32,739.739 INFO    ] 2026-08-29 22:33:32
[2026-08-29 22:33:32,764.764 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:33:32,918.918 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:33:32,929.929 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:33:33,066.066 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:33:33,071.071 INFO    ] time= 29/08/2026 22:33:33
[2026-08-29 22:33:33,092.092 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:33:33,100.100 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:33:33,150.150 INFO    ] No existing commands found in stream
[2026-08-29 22:33:38,164.164 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:33:38,167.167 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-08-29 22:33:40,617.617 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:33:40,618.618 INFO    ] Checking for system updates...
[2026-08-29 22:33:40,639.639 INFO    ] 200
[2026-08-29 22:33:40,640.640 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:33:40,670.670 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:33:40,671.671 INFO    ] No update needed
[2026-08-29 22:33:40,674.674 INFO    ] Checking for camera pi updates...
[2026-08-29 22:33:40,708.708 INFO    ] 200
[2026-08-29 22:33:40,710.710 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:33:40,758.758 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:33:40,935.935 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:33:40,938.938 INFO    ] No camera update needed
[2026-08-29 22:33:40,940.940 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:33:40,942.942 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:33:40,948.948 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:33:40,953.953 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:33:42,993.993 INFO    ] ================================================
[2026-08-29 22:33:43,008.008 INFO    ] Launching Daemon at Sat Aug 29 22:33:43 IST 2026
[2026-08-29 22:33:43,020.020 INFO    ] ================================================
[2026-08-29 22:33:43,609.609 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:33:43
[2026-08-29 22:33:44,015.015 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:33:44,151.151 INFO    ] Initializing speech engine...
[2026-08-29 22:33:44,155.155 INFO    ] 2026-08-29 22:33:44
[2026-08-29 22:33:44,388.388 INFO    ] 2026-08-29 22:33:44
[2026-08-29 22:33:44,430.430 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:33:44,565.565 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:33:44,570.570 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:33:44,722.722 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:33:44,729.729 INFO    ] time= 29/08/2026 22:33:44
[2026-08-29 22:33:44,737.737 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:33:44,797.797 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:33:44,877.877 INFO    ] No existing commands found in stream
[2026-08-29 22:33:49,891.891 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:33:49,894.894 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 22:33:53,484.484 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:33:53,486.486 INFO    ] Checking for system updates...
[2026-08-29 22:33:53,506.506 INFO    ] 200
[2026-08-29 22:33:53,507.507 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:33:53,537.537 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:33:53,538.538 INFO    ] No update needed
[2026-08-29 22:33:53,539.539 INFO    ] Checking for camera pi updates...
[2026-08-29 22:33:53,560.560 INFO    ] 200
[2026-08-29 22:33:53,561.561 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:33:53,588.588 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:33:53,670.670 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:33:53,674.674 INFO    ] No camera update needed
[2026-08-29 22:33:53,676.676 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:33:53,679.679 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:33:53,685.685 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:33:53,691.691 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:33:55,734.734 INFO    ] ================================================
[2026-08-29 22:33:55,750.750 INFO    ] Launching Daemon at Sat Aug 29 22:33:55 IST 2026
[2026-08-29 22:33:55,760.760 INFO    ] ================================================
[2026-08-29 22:33:56,341.341 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:33:56
[2026-08-29 22:33:56,837.837 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:33:56,980.980 INFO    ] Initializing speech engine...
[2026-08-29 22:33:56,991.991 INFO    ] 2026-08-29 22:33:56
[2026-08-29 22:33:57,216.216 INFO    ] 2026-08-29 22:33:57
[2026-08-29 22:33:57,302.302 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:33:57,486.486 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:33:57,497.497 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:33:57,654.654 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:33:57,661.661 INFO    ] time= 29/08/2026 22:33:57
[2026-08-29 22:33:57,710.710 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:33:57,765.765 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:33:57,838.838 INFO    ] No existing commands found in stream
[2026-08-29 22:34:02,851.851 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:34:02,854.854 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-08-29 22:34:07,199.199 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:34:07,201.201 INFO    ] Checking for system updates...
[2026-08-29 22:34:07,222.222 INFO    ] 200
[2026-08-29 22:34:07,224.224 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:34:07,257.257 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:34:07,258.258 INFO    ] No update needed
[2026-08-29 22:34:07,259.259 INFO    ] Checking for camera pi updates...
[2026-08-29 22:34:07,280.280 INFO    ] 200
[2026-08-29 22:34:07,282.282 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:34:07,305.305 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:34:07,377.377 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:34:07,379.379 INFO    ] No camera update needed
[2026-08-29 22:34:07,380.380 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:34:07,382.382 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:34:07,385.385 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:34:07,388.388 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:34:09,429.429 INFO    ] ================================================
[2026-08-29 22:34:09,444.444 INFO    ] Launching Daemon at Sat Aug 29 22:34:09 IST 2026
[2026-08-29 22:34:09,455.455 INFO    ] ================================================
[2026-08-29 22:34:09,809.809 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:34:09
[2026-08-29 22:34:10,125.125 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:34:10,259.259 INFO    ] Initializing speech engine...
[2026-08-29 22:34:10,263.263 INFO    ] 2026-08-29 22:34:10
[2026-08-29 22:34:10,457.457 INFO    ] 2026-08-29 22:34:10
[2026-08-29 22:34:10,503.503 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:34:10,644.644 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:34:10,654.654 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:34:10,790.790 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:34:10,815.815 INFO    ] time= 29/08/2026 22:34:10
[2026-08-29 22:34:10,852.852 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:34:10,901.901 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:34:10,974.974 INFO    ] No existing commands found in stream
[2026-08-29 22:34:15,985.985 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:34:15,988.988 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-08-29 22:34:18,063.063 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:34:18,064.064 INFO    ] Checking for system updates...
[2026-08-29 22:34:18,086.086 INFO    ] 200
[2026-08-29 22:34:18,087.087 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:34:18,119.119 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:34:18,121.121 INFO    ] No update needed
[2026-08-29 22:34:18,122.122 INFO    ] Checking for camera pi updates...
[2026-08-29 22:34:18,141.141 INFO    ] 200
[2026-08-29 22:34:18,143.143 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:34:18,166.166 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:34:18,243.243 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:34:18,246.246 INFO    ] No camera update needed
[2026-08-29 22:34:18,248.248 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:34:18,250.250 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:34:18,255.255 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:34:18,260.260 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:34:20,301.301 INFO    ] ================================================
[2026-08-29 22:34:20,317.317 INFO    ] Launching Daemon at Sat Aug 29 22:34:20 IST 2026
[2026-08-29 22:34:20,327.327 INFO    ] ================================================
[2026-08-29 22:34:20,995.995 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:34:20
[2026-08-29 22:34:21,508.508 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:34:21,664.664 INFO    ] Initializing speech engine...
[2026-08-29 22:34:21,668.668 INFO    ] 2026-08-29 22:34:21
[2026-08-29 22:34:21,883.883 INFO    ] 2026-08-29 22:34:21
[2026-08-29 22:34:21,941.941 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:34:22,170.170 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:34:22,176.176 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:34:22,312.312 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:34:22,365.365 INFO    ] time= 29/08/2026 22:34:22
[2026-08-29 22:34:22,419.419 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:34:22,450.450 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:34:22,500.500 INFO    ] No existing commands found in stream
[2026-08-29 22:34:27,513.513 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:34:27,517.517 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-08-29 22:34:28,101.101 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:34:28,103.103 INFO    ] Checking for system updates...
[2026-08-29 22:34:28,124.124 INFO    ] 200
[2026-08-29 22:34:28,125.125 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:34:28,155.155 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:34:28,157.157 INFO    ] No update needed
[2026-08-29 22:34:28,158.158 INFO    ] Checking for camera pi updates...
[2026-08-29 22:34:28,178.178 INFO    ] 200
[2026-08-29 22:34:28,179.179 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:34:28,203.203 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:34:28,302.302 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:34:28,304.304 INFO    ] No camera update needed
[2026-08-29 22:34:28,305.305 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:34:28,306.306 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:34:28,310.310 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:34:28,313.313 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:34:30,354.354 INFO    ] ================================================
[2026-08-29 22:34:30,369.369 INFO    ] Launching Daemon at Sat Aug 29 22:34:30 IST 2026
[2026-08-29 22:34:30,380.380 INFO    ] ================================================
[2026-08-29 22:34:30,768.768 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:34:30
[2026-08-29 22:34:31,109.109 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:34:31,263.263 INFO    ] Initializing speech engine...
[2026-08-29 22:34:31,269.269 INFO    ] 2026-08-29 22:34:31
[2026-08-29 22:34:31,481.481 INFO    ] 2026-08-29 22:34:31
[2026-08-29 22:34:31,510.510 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:34:31,635.635 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:34:31,672.672 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:34:31,813.813 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:34:31,841.841 INFO    ] time= 29/08/2026 22:34:31
[2026-08-29 22:34:31,894.894 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:34:31,955.955 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:34:32,056.056 INFO    ] No existing commands found in stream
[2026-08-29 22:34:37,066.066 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:34:37,068.068 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-08-29 22:34:38,550.550 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:34:38,552.552 INFO    ] Checking for system updates...
[2026-08-29 22:34:38,572.572 INFO    ] 200
[2026-08-29 22:34:38,574.574 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:34:38,604.604 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:34:38,605.605 INFO    ] No update needed
[2026-08-29 22:34:38,606.606 INFO    ] Checking for camera pi updates...
[2026-08-29 22:34:38,626.626 INFO    ] 200
[2026-08-29 22:34:38,627.627 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:34:38,650.650 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:34:38,731.731 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:34:38,732.732 INFO    ] No camera update needed
[2026-08-29 22:34:38,734.734 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:34:38,735.735 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:34:38,738.738 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:34:38,740.740 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:34:40,780.780 INFO    ] ================================================
[2026-08-29 22:34:40,795.795 INFO    ] Launching Daemon at Sat Aug 29 22:34:40 IST 2026
[2026-08-29 22:34:40,806.806 INFO    ] ================================================
[2026-08-29 22:34:41,152.152 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:34:41
[2026-08-29 22:34:41,468.468 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:34:41,607.607 INFO    ] Initializing speech engine...
[2026-08-29 22:34:41,617.617 INFO    ] 2026-08-29 22:34:41
[2026-08-29 22:34:41,824.824 INFO    ] 2026-08-29 22:34:41
[2026-08-29 22:34:41,852.852 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:34:41,975.975 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:34:42,013.013 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:34:42,173.173 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:34:42,235.235 INFO    ] time= 29/08/2026 22:34:42
[2026-08-29 22:34:42,265.265 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:34:42,280.280 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:34:42,354.354 INFO    ] No existing commands found in stream
[2026-08-29 22:34:47,365.365 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:34:47,368.368 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-08-29 22:34:48,916.916 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:34:48,919.919 INFO    ] Checking for system updates...
[2026-08-29 22:34:48,959.959 INFO    ] 200
[2026-08-29 22:34:48,962.962 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:34:49,015.015 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:34:49,017.017 INFO    ] No update needed
[2026-08-29 22:34:49,019.019 INFO    ] Checking for camera pi updates...
[2026-08-29 22:34:49,054.054 INFO    ] 200
[2026-08-29 22:34:49,056.056 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:34:49,096.096 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:34:49,170.170 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:34:49,173.173 INFO    ] No camera update needed
[2026-08-29 22:34:49,175.175 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:34:49,177.177 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:34:49,182.182 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:34:49,187.187 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:34:51,227.227 INFO    ] ================================================
[2026-08-29 22:34:51,242.242 INFO    ] Launching Daemon at Sat Aug 29 22:34:51 IST 2026
[2026-08-29 22:34:51,253.253 INFO    ] ================================================
[2026-08-29 22:34:51,624.624 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:34:51
[2026-08-29 22:34:51,945.945 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:34:52,084.084 INFO    ] Initializing speech engine...
[2026-08-29 22:34:52,092.092 INFO    ] 2026-08-29 22:34:52
[2026-08-29 22:34:52,299.299 INFO    ] 2026-08-29 22:34:52
[2026-08-29 22:34:52,350.350 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:34:52,524.524 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:34:52,539.539 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:34:52,684.684 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:34:52,695.695 INFO    ] time= 29/08/2026 22:34:52
[2026-08-29 22:34:52,704.704 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:34:52,746.746 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:34:52,863.863 INFO    ] No existing commands found in stream
[2026-08-29 22:34:57,894.894 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:34:57,897.897 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-08-29 22:34:59,931.931 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:34:59,934.934 INFO    ] Checking for system updates...
[2026-08-29 22:34:59,970.970 INFO    ] 200
[2026-08-29 22:34:59,973.973 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:35:00,025.025 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:35:00,028.028 INFO    ] No update needed
[2026-08-29 22:35:00,030.030 INFO    ] Checking for camera pi updates...
[2026-08-29 22:35:00,064.064 INFO    ] 200
[2026-08-29 22:35:00,067.067 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:35:00,108.108 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:35:00,187.187 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:35:00,189.189 INFO    ] No camera update needed
[2026-08-29 22:35:00,192.192 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:35:00,194.194 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:35:00,199.199 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:35:00,204.204 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:35:02,248.248 INFO    ] ================================================
[2026-08-29 22:35:02,270.270 INFO    ] Launching Daemon at Sat Aug 29 22:35:02 IST 2026
[2026-08-29 22:35:02,288.288 INFO    ] ================================================
[2026-08-29 22:35:02,959.959 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:35:02
[2026-08-29 22:35:03,607.607 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:35:03,877.877 INFO    ] Initializing speech engine...
[2026-08-29 22:35:03,886.886 INFO    ] 2026-08-29 22:35:03
[2026-08-29 22:35:04,143.143 INFO    ] 2026-08-29 22:35:04
[2026-08-29 22:35:04,201.201 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:35:04,352.352 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:35:04,371.371 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:35:04,499.499 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:35:04,504.504 INFO    ] time= 29/08/2026 22:35:04
[2026-08-29 22:35:04,510.510 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:35:04,555.555 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:35:04,684.684 INFO    ] No existing commands found in stream
[2026-08-29 22:35:09,709.709 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:35:09,712.712 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-08-29 22:35:10,583.583 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:35:10,584.584 INFO    ] Checking for system updates...
[2026-08-29 22:35:10,604.604 INFO    ] 200
[2026-08-29 22:35:10,606.606 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:35:10,640.640 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:35:10,642.642 INFO    ] No update needed
[2026-08-29 22:35:10,643.643 INFO    ] Checking for camera pi updates...
[2026-08-29 22:35:10,663.663 INFO    ] 200
[2026-08-29 22:35:10,665.665 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:35:10,688.688 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:35:10,770.770 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:35:10,772.772 INFO    ] No camera update needed
[2026-08-29 22:35:10,773.773 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:35:10,774.774 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:35:10,777.777 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:35:10,780.780 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:35:12,819.819 INFO    ] ================================================
[2026-08-29 22:35:12,834.834 INFO    ] Launching Daemon at Sat Aug 29 22:35:12 IST 2026
[2026-08-29 22:35:12,845.845 INFO    ] ================================================
[2026-08-29 22:35:13,211.211 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:35:13
[2026-08-29 22:35:13,522.522 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:35:13,653.653 INFO    ] Initializing speech engine...
[2026-08-29 22:35:13,656.656 INFO    ] 2026-08-29 22:35:13
[2026-08-29 22:35:13,882.882 INFO    ] 2026-08-29 22:35:13
[2026-08-29 22:35:13,968.968 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:35:14,118.118 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:35:14,127.127 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:35:14,264.264 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:35:14,285.285 INFO    ] time= 29/08/2026 22:35:14
[2026-08-29 22:35:14,334.334 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:35:14,383.383 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:35:14,454.454 INFO    ] No existing commands found in stream
[2026-08-29 22:35:19,466.466 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:35:19,468.468 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-08-29 22:35:23,408.408 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:35:23,410.410 INFO    ] Checking for system updates...
[2026-08-29 22:35:23,430.430 INFO    ] 200
[2026-08-29 22:35:23,432.432 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:35:23,462.462 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:35:23,464.464 INFO    ] No update needed
[2026-08-29 22:35:23,465.465 INFO    ] Checking for camera pi updates...
[2026-08-29 22:35:23,486.486 INFO    ] 200
[2026-08-29 22:35:23,487.487 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:35:23,515.515 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:35:23,589.589 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:35:23,591.591 INFO    ] No camera update needed
[2026-08-29 22:35:23,592.592 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:35:23,594.594 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:35:23,597.597 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:35:23,600.600 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:35:25,641.641 INFO    ] ================================================
[2026-08-29 22:35:25,656.656 INFO    ] Launching Daemon at Sat Aug 29 22:35:25 IST 2026
[2026-08-29 22:35:25,666.666 INFO    ] ================================================
[2026-08-29 22:35:26,207.207 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:35:26
[2026-08-29 22:35:26,792.792 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:35:27,065.065 INFO    ] Initializing speech engine...
[2026-08-29 22:35:27,074.074 INFO    ] 2026-08-29 22:35:27
[2026-08-29 22:35:27,325.325 INFO    ] 2026-08-29 22:35:27
[2026-08-29 22:35:27,359.359 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:35:27,537.537 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:35:27,552.552 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:35:27,665.665 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:35:27,670.670 INFO    ] time= 29/08/2026 22:35:27
[2026-08-29 22:35:27,689.689 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:35:27,712.712 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:35:27,784.784 INFO    ] No existing commands found in stream
[2026-08-29 22:35:32,794.794 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:35:32,797.797 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-08-29 22:35:34,686.686 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:35:34,688.688 INFO    ] Checking for system updates...
[2026-08-29 22:35:34,709.709 INFO    ] 200
[2026-08-29 22:35:34,711.711 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:35:34,741.741 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:35:34,742.742 INFO    ] No update needed
[2026-08-29 22:35:34,744.744 INFO    ] Checking for camera pi updates...
[2026-08-29 22:35:34,763.763 INFO    ] 200
[2026-08-29 22:35:34,765.765 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:35:34,788.788 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:35:34,872.872 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:35:34,873.873 INFO    ] No camera update needed
[2026-08-29 22:35:34,874.874 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:35:34,876.876 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:35:34,878.878 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:35:34,881.881 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:35:36,919.919 INFO    ] ================================================
[2026-08-29 22:35:36,940.940 INFO    ] Launching Daemon at Sat Aug 29 22:35:36 IST 2026
[2026-08-29 22:35:36,951.951 INFO    ] ================================================
[2026-08-29 22:35:37,300.300 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:35:37
[2026-08-29 22:35:37,614.614 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:35:37,830.830 INFO    ] Initializing speech engine...
[2026-08-29 22:35:37,839.839 INFO    ] 2026-08-29 22:35:37
[2026-08-29 22:35:38,086.086 INFO    ] 2026-08-29 22:35:38
[2026-08-29 22:35:38,122.122 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:35:38,295.295 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:35:38,307.307 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:35:38,417.417 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:35:38,436.436 INFO    ] time= 29/08/2026 22:35:38
[2026-08-29 22:35:38,455.455 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:35:38,464.464 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:35:38,531.531 INFO    ] No existing commands found in stream
[2026-08-29 22:35:43,544.544 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:35:43,546.546 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-08-29 22:35:46,977.977 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:35:46,979.979 INFO    ] Checking for system updates...
[2026-08-29 22:35:47,000.000 INFO    ] 200
[2026-08-29 22:35:47,002.002 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:35:47,034.034 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:35:47,035.035 INFO    ] No update needed
[2026-08-29 22:35:47,037.037 INFO    ] Checking for camera pi updates...
[2026-08-29 22:35:47,057.057 INFO    ] 200
[2026-08-29 22:35:47,059.059 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:35:47,082.082 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:35:47,279.279 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:35:47,280.280 INFO    ] No camera update needed
[2026-08-29 22:35:47,281.281 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:35:47,282.282 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:35:47,285.285 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:35:47,288.288 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:35:49,328.328 INFO    ] ================================================
[2026-08-29 22:35:49,343.343 INFO    ] Launching Daemon at Sat Aug 29 22:35:49 IST 2026
[2026-08-29 22:35:49,353.353 INFO    ] ================================================
[2026-08-29 22:35:49,707.707 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:35:49
[2026-08-29 22:35:50,294.294 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:35:50,556.556 INFO    ] Initializing speech engine...
[2026-08-29 22:35:50,575.575 INFO    ] 2026-08-29 22:35:50
[2026-08-29 22:35:50,827.827 INFO    ] 2026-08-29 22:35:50
[2026-08-29 22:35:50,862.862 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:35:51,038.038 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:35:51,051.051 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:35:51,161.161 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:35:51,167.167 INFO    ] time= 29/08/2026 22:35:51
[2026-08-29 22:35:51,185.185 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:35:51,205.205 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:35:51,279.279 INFO    ] No existing commands found in stream
[2026-08-29 22:35:56,292.292 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:35:56,295.295 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-08-29 22:35:59,732.732 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:35:59,734.734 INFO    ] Checking for system updates...
[2026-08-29 22:35:59,754.754 INFO    ] 200
[2026-08-29 22:35:59,755.755 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:35:59,785.785 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:35:59,786.786 INFO    ] No update needed
[2026-08-29 22:35:59,787.787 INFO    ] Checking for camera pi updates...
[2026-08-29 22:35:59,808.808 INFO    ] 200
[2026-08-29 22:35:59,809.809 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:35:59,832.832 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:35:59,915.915 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:35:59,916.916 INFO    ] No camera update needed
[2026-08-29 22:35:59,917.917 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:35:59,919.919 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:35:59,921.921 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:35:59,924.924 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:36:01,964.964 INFO    ] ================================================
[2026-08-29 22:36:01,984.984 INFO    ] Launching Daemon at Sat Aug 29 22:36:01 IST 2026
[2026-08-29 22:36:02,000.000 INFO    ] ================================================
[2026-08-29 22:36:02,628.628 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:36:02
[2026-08-29 22:36:03,288.288 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:36:03,545.545 INFO    ] Initializing speech engine...
[2026-08-29 22:36:03,566.566 INFO    ] 2026-08-29 22:36:03
[2026-08-29 22:36:03,837.837 INFO    ] 2026-08-29 22:36:03
[2026-08-29 22:36:03,873.873 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:36:04,061.061 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:36:04,067.067 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:36:04,172.172 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:36:04,177.177 INFO    ] time= 29/08/2026 22:36:04
[2026-08-29 22:36:04,199.199 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:36:04,205.205 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:36:04,253.253 INFO    ] No existing commands found in stream
[2026-08-29 22:36:09,265.265 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:36:09,268.268 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-08-29 22:36:13,320.320 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:36:13,322.322 INFO    ] Checking for system updates...
[2026-08-29 22:36:13,342.342 INFO    ] 200
[2026-08-29 22:36:13,343.343 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:36:13,374.374 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:36:13,375.375 INFO    ] No update needed
[2026-08-29 22:36:13,377.377 INFO    ] Checking for camera pi updates...
[2026-08-29 22:36:13,396.396 INFO    ] 200
[2026-08-29 22:36:13,397.397 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:36:13,424.424 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:36:13,472.472 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:36:13,474.474 INFO    ] No camera update needed
[2026-08-29 22:36:13,475.475 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:36:13,476.476 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:36:13,479.479 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:36:13,482.482 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:36:15,521.521 INFO    ] ================================================
[2026-08-29 22:36:15,536.536 INFO    ] Launching Daemon at Sat Aug 29 22:36:15 IST 2026
[2026-08-29 22:36:15,546.546 INFO    ] ================================================
[2026-08-29 22:36:15,915.915 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:36:15
[2026-08-29 22:36:16,227.227 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:36:16,363.363 INFO    ] Initializing speech engine...
[2026-08-29 22:36:16,373.373 INFO    ] 2026-08-29 22:36:16
[2026-08-29 22:36:16,577.577 INFO    ] 2026-08-29 22:36:16
[2026-08-29 22:36:16,604.604 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:36:16,739.739 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:36:16,799.799 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:36:16,918.918 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:36:16,926.926 INFO    ] time= 29/08/2026 22:36:16
[2026-08-29 22:36:16,936.936 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:36:16,992.992 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:36:17,106.106 INFO    ] No existing commands found in stream
[2026-08-29 22:36:22,137.137 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:36:22,140.140 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-08-29 22:36:23,931.931 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:36:23,932.932 INFO    ] Checking for system updates...
[2026-08-29 22:36:23,953.953 INFO    ] 200
[2026-08-29 22:36:23,954.954 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:36:23,986.986 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:36:23,988.988 INFO    ] No update needed
[2026-08-29 22:36:23,989.989 INFO    ] Checking for camera pi updates...
[2026-08-29 22:36:24,011.011 INFO    ] 200
[2026-08-29 22:36:24,013.013 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:36:24,036.036 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:36:24,112.112 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:36:24,114.114 INFO    ] No camera update needed
[2026-08-29 22:36:24,115.115 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:36:24,116.116 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:36:24,120.120 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:36:24,123.123 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:36:26,165.165 INFO    ] ================================================
[2026-08-29 22:36:26,181.181 INFO    ] Launching Daemon at Sat Aug 29 22:36:26 IST 2026
[2026-08-29 22:36:26,191.191 INFO    ] ================================================
[2026-08-29 22:36:26,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:36:26
[2026-08-29 22:36:26,880.880 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:36:27,047.047 INFO    ] Initializing speech engine...
[2026-08-29 22:36:27,055.055 INFO    ] 2026-08-29 22:36:27
[2026-08-29 22:36:27,320.320 INFO    ] 2026-08-29 22:36:27
[2026-08-29 22:36:27,376.376 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:36:27,597.597 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:36:27,606.606 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:36:27,738.738 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:36:27,760.760 INFO    ] time= 29/08/2026 22:36:27
[2026-08-29 22:36:27,810.810 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:36:27,859.859 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:36:27,924.924 INFO    ] No existing commands found in stream
[2026-08-29 22:36:32,934.934 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:36:32,937.937 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-08-29 22:36:36,433.433 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:36:36,435.435 INFO    ] Checking for system updates...
[2026-08-29 22:36:36,455.455 INFO    ] 200
[2026-08-29 22:36:36,457.457 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:36:36,489.489 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:36:36,490.490 INFO    ] No update needed
[2026-08-29 22:36:36,492.492 INFO    ] Checking for camera pi updates...
[2026-08-29 22:36:36,511.511 INFO    ] 200
[2026-08-29 22:36:36,513.513 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:36:36,538.538 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:36:36,633.633 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:36:36,635.635 INFO    ] No camera update needed
[2026-08-29 22:36:36,636.636 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:36:36,637.637 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:36:36,640.640 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:36:36,643.643 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:36:38,682.682 INFO    ] ================================================
[2026-08-29 22:36:38,697.697 INFO    ] Launching Daemon at Sat Aug 29 22:36:38 IST 2026
[2026-08-29 22:36:38,708.708 INFO    ] ================================================
[2026-08-29 22:36:39,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:36:39
[2026-08-29 22:36:39,376.376 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:36:39,609.609 INFO    ] Initializing speech engine...
[2026-08-29 22:36:39,623.623 INFO    ] 2026-08-29 22:36:39
[2026-08-29 22:36:39,875.875 INFO    ] 2026-08-29 22:36:39
[2026-08-29 22:36:39,911.911 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:36:40,083.083 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:36:40,095.095 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:36:40,220.220 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:36:40,243.243 INFO    ] time= 29/08/2026 22:36:40
[2026-08-29 22:36:40,248.248 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:36:40,254.254 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:36:40,318.318 INFO    ] No existing commands found in stream
[2026-08-29 22:36:45,331.331 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:36:45,334.334 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-08-29 22:36:46,136.136 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:36:46,138.138 INFO    ] Checking for system updates...
[2026-08-29 22:36:46,158.158 INFO    ] 200
[2026-08-29 22:36:46,160.160 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:36:46,190.190 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:36:46,191.191 INFO    ] No update needed
[2026-08-29 22:36:46,192.192 INFO    ] Checking for camera pi updates...
[2026-08-29 22:36:46,213.213 INFO    ] 200
[2026-08-29 22:36:46,214.214 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:36:46,239.239 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:36:46,312.312 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:36:46,314.314 INFO    ] No camera update needed
[2026-08-29 22:36:46,315.315 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:36:46,316.316 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:36:46,319.319 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:36:46,322.322 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:36:48,360.360 INFO    ] ================================================
[2026-08-29 22:36:48,375.375 INFO    ] Launching Daemon at Sat Aug 29 22:36:48 IST 2026
[2026-08-29 22:36:48,386.386 INFO    ] ================================================
[2026-08-29 22:36:48,740.740 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:36:48
[2026-08-29 22:36:49,052.052 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:36:49,195.195 INFO    ] Initializing speech engine...
[2026-08-29 22:36:49,203.203 INFO    ] 2026-08-29 22:36:49
[2026-08-29 22:36:49,385.385 INFO    ] 2026-08-29 22:36:49
[2026-08-29 22:36:49,442.442 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:36:49,589.589 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:36:49,605.605 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:36:49,753.753 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:36:49,759.759 INFO    ] time= 29/08/2026 22:36:49
[2026-08-29 22:36:49,765.765 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:36:49,806.806 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:36:49,924.924 INFO    ] No existing commands found in stream
[2026-08-29 22:36:54,949.949 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:36:54,952.952 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-08-29 22:36:59,253.253 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:36:59,256.256 INFO    ] Checking for system updates...
[2026-08-29 22:36:59,291.291 INFO    ] 200
[2026-08-29 22:36:59,294.294 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:36:59,346.346 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:36:59,349.349 INFO    ] No update needed
[2026-08-29 22:36:59,351.351 INFO    ] Checking for camera pi updates...
[2026-08-29 22:36:59,384.384 INFO    ] 200
[2026-08-29 22:36:59,387.387 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:36:59,432.432 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:36:59,519.519 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:36:59,521.521 INFO    ] No camera update needed
[2026-08-29 22:36:59,524.524 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:36:59,526.526 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:36:59,531.531 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:36:59,536.536 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:37:01,587.587 INFO    ] ================================================
[2026-08-29 22:37:01,619.619 INFO    ] Launching Daemon at Sat Aug 29 22:37:01 IST 2026
[2026-08-29 22:37:01,648.648 INFO    ] ================================================
[2026-08-29 22:37:02,272.272 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:37:02
[2026-08-29 22:37:02,933.933 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:37:03,259.259 INFO    ] Initializing speech engine...
[2026-08-29 22:37:03,266.266 INFO    ] 2026-08-29 22:37:03
[2026-08-29 22:37:03,528.528 INFO    ] 2026-08-29 22:37:03
[2026-08-29 22:37:03,565.565 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:37:03,742.742 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:37:03,755.755 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:37:03,885.885 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:37:03,909.909 INFO    ] time= 29/08/2026 22:37:03
[2026-08-29 22:37:03,914.914 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:37:03,938.938 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:37:04,037.037 INFO    ] No existing commands found in stream
[2026-08-29 22:37:09,047.047 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:37:09,050.050 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-08-29 22:37:12,555.555 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:37:12,557.557 INFO    ] Checking for system updates...
[2026-08-29 22:37:12,578.578 INFO    ] 200
[2026-08-29 22:37:12,579.579 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:37:12,623.623 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:37:12,625.625 INFO    ] No update needed
[2026-08-29 22:37:12,628.628 INFO    ] Checking for camera pi updates...
[2026-08-29 22:37:12,661.661 INFO    ] 200
[2026-08-29 22:37:12,664.664 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:37:12,708.708 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:37:12,762.762 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:37:12,764.764 INFO    ] No camera update needed
[2026-08-29 22:37:12,767.767 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:37:12,769.769 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:37:12,774.774 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:37:12,779.779 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:37:14,820.820 INFO    ] ================================================
[2026-08-29 22:37:14,836.836 INFO    ] Launching Daemon at Sat Aug 29 22:37:14 IST 2026
[2026-08-29 22:37:14,846.846 INFO    ] ================================================
[2026-08-29 22:37:15,433.433 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:37:15
[2026-08-29 22:37:15,904.904 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:37:16,056.056 INFO    ] Initializing speech engine...
[2026-08-29 22:37:16,065.065 INFO    ] 2026-08-29 22:37:16
[2026-08-29 22:37:16,284.284 INFO    ] 2026-08-29 22:37:16
[2026-08-29 22:37:16,340.340 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:37:16,495.495 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:37:16,525.525 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:37:16,652.652 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:37:16,715.715 INFO    ] time= 29/08/2026 22:37:16
[2026-08-29 22:37:16,752.752 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:37:16,802.802 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:37:16,896.896 INFO    ] No existing commands found in stream
[2026-08-29 22:37:21,907.907 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:37:21,910.910 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-08-29 22:37:25,087.087 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:37:25,088.088 INFO    ] Checking for system updates...
[2026-08-29 22:37:25,110.110 INFO    ] 200
[2026-08-29 22:37:25,112.112 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:37:25,144.144 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:37:25,146.146 INFO    ] No update needed
[2026-08-29 22:37:25,147.147 INFO    ] Checking for camera pi updates...
[2026-08-29 22:37:25,168.168 INFO    ] 200
[2026-08-29 22:37:25,169.169 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:37:25,196.196 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:37:25,265.265 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:37:25,266.266 INFO    ] No camera update needed
[2026-08-29 22:37:25,268.268 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:37:25,269.269 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:37:25,273.273 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:37:25,276.276 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:37:27,314.314 INFO    ] ================================================
[2026-08-29 22:37:27,329.329 INFO    ] Launching Daemon at Sat Aug 29 22:37:27 IST 2026
[2026-08-29 22:37:27,340.340 INFO    ] ================================================
[2026-08-29 22:37:27,708.708 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:37:27
[2026-08-29 22:37:28,283.283 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:37:28,552.552 INFO    ] Initializing speech engine...
[2026-08-29 22:37:28,562.562 INFO    ] 2026-08-29 22:37:28
[2026-08-29 22:37:28,809.809 INFO    ] 2026-08-29 22:37:28
[2026-08-29 22:37:28,844.844 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:37:29,016.016 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:37:29,029.029 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:37:29,169.169 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:37:29,177.177 INFO    ] time= 29/08/2026 22:37:29
[2026-08-29 22:37:29,184.184 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:37:29,230.230 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:37:29,342.342 INFO    ] No existing commands found in stream
[2026-08-29 22:37:34,367.367 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:37:34,370.370 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-08-29 22:37:36,690.690 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:37:36,692.692 INFO    ] Checking for system updates...
[2026-08-29 22:37:36,712.712 INFO    ] 200
[2026-08-29 22:37:36,714.714 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:37:36,746.746 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:37:36,747.747 INFO    ] No update needed
[2026-08-29 22:37:36,748.748 INFO    ] Checking for camera pi updates...
[2026-08-29 22:37:36,769.769 INFO    ] 200
[2026-08-29 22:37:36,770.770 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:37:36,793.793 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:37:36,863.863 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:37:36,865.865 INFO    ] No camera update needed
[2026-08-29 22:37:36,866.866 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:37:36,867.867 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:37:36,870.870 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:37:36,873.873 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:37:38,911.911 INFO    ] ================================================
[2026-08-29 22:37:38,927.927 INFO    ] Launching Daemon at Sat Aug 29 22:37:38 IST 2026
[2026-08-29 22:37:38,938.938 INFO    ] ================================================
[2026-08-29 22:37:39,279.279 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:37:39
[2026-08-29 22:37:39,590.590 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:37:39,730.730 INFO    ] Initializing speech engine...
[2026-08-29 22:37:39,744.744 INFO    ] 2026-08-29 22:37:39
[2026-08-29 22:37:39,996.996 INFO    ] 2026-08-29 22:37:39
[2026-08-29 22:37:40,031.031 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:37:40,201.201 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:37:40,215.215 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:37:40,324.324 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:37:40,328.328 INFO    ] time= 29/08/2026 22:37:40
[2026-08-29 22:37:40,352.352 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:37:40,370.370 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:37:40,439.439 INFO    ] No existing commands found in stream
[2026-08-29 22:37:45,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:37:45,454.454 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-08-29 22:37:46,760.760 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:37:46,762.762 INFO    ] Checking for system updates...
[2026-08-29 22:37:46,783.783 INFO    ] 200
[2026-08-29 22:37:46,784.784 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:37:46,816.816 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:37:46,818.818 INFO    ] No update needed
[2026-08-29 22:37:46,819.819 INFO    ] Checking for camera pi updates...
[2026-08-29 22:37:46,842.842 INFO    ] 200
[2026-08-29 22:37:46,843.843 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:37:46,866.866 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:37:46,950.950 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:37:46,951.951 INFO    ] No camera update needed
[2026-08-29 22:37:46,952.952 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:37:46,954.954 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:37:46,957.957 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:37:46,959.959 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:37:49,999.999 INFO    ] ================================================
[2026-08-29 22:37:49,014.014 INFO    ] Launching Daemon at Sat Aug 29 22:37:49 IST 2026
[2026-08-29 22:37:49,025.025 INFO    ] ================================================
[2026-08-29 22:37:49,407.407 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:37:49
[2026-08-29 22:37:49,753.753 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:37:49,906.906 INFO    ] Initializing speech engine...
[2026-08-29 22:37:49,913.913 INFO    ] 2026-08-29 22:37:49
[2026-08-29 22:37:50,119.119 INFO    ] 2026-08-29 22:37:50
[2026-08-29 22:37:50,149.149 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:37:50,272.272 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:37:50,334.334 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:37:50,472.472 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:37:50,537.537 INFO    ] time= 29/08/2026 22:37:50
[2026-08-29 22:37:50,564.564 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:37:50,571.571 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:37:50,636.636 INFO    ] No existing commands found in stream
[2026-08-29 22:37:55,647.647 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:37:55,650.650 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-08-29 22:37:58,193.193 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:37:58,195.195 INFO    ] Checking for system updates...
[2026-08-29 22:37:58,217.217 INFO    ] 200
[2026-08-29 22:37:58,218.218 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:37:58,253.253 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:37:58,255.255 INFO    ] No update needed
[2026-08-29 22:37:58,256.256 INFO    ] Checking for camera pi updates...
[2026-08-29 22:37:58,278.278 INFO    ] 200
[2026-08-29 22:37:58,279.279 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:37:58,305.305 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:37:58,480.480 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:37:58,481.481 INFO    ] No camera update needed
[2026-08-29 22:37:58,483.483 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:37:58,484.484 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:37:58,487.487 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:37:58,490.490 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:38:00,532.532 INFO    ] ================================================
[2026-08-29 22:38:00,547.547 INFO    ] Launching Daemon at Sat Aug 29 22:38:00 IST 2026
[2026-08-29 22:38:00,558.558 INFO    ] ================================================
[2026-08-29 22:38:00,884.884 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:38:00
[2026-08-29 22:38:01,196.196 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:38:01,569.569 INFO    ] Initializing speech engine...
[2026-08-29 22:38:01,573.573 INFO    ] 2026-08-29 22:38:01
[2026-08-29 22:38:01,864.864 INFO    ] 2026-08-29 22:38:01
[2026-08-29 22:38:01,892.892 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:38:02,103.103 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:38:02,110.110 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:38:02,268.268 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:38:02,292.292 INFO    ] time= 29/08/2026 22:38:02
[2026-08-29 22:38:02,302.302 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:38:02,307.307 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:38:02,384.384 INFO    ] No existing commands found in stream
[2026-08-29 22:38:07,390.390 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:38:07,393.393 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-08-29 22:38:09,425.425 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:38:09,427.427 INFO    ] Checking for system updates...
[2026-08-29 22:38:09,448.448 INFO    ] 200
[2026-08-29 22:38:09,450.450 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:38:09,479.479 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:38:09,480.480 INFO    ] No update needed
[2026-08-29 22:38:09,482.482 INFO    ] Checking for camera pi updates...
[2026-08-29 22:38:09,501.501 INFO    ] 200
[2026-08-29 22:38:09,503.503 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:38:09,528.528 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:38:09,645.645 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:38:09,646.646 INFO    ] No camera update needed
[2026-08-29 22:38:09,648.648 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:38:09,649.649 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:38:09,652.652 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:38:09,655.655 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:38:11,694.694 INFO    ] ================================================
[2026-08-29 22:38:11,710.710 INFO    ] Launching Daemon at Sat Aug 29 22:38:11 IST 2026
[2026-08-29 22:38:11,721.721 INFO    ] ================================================
[2026-08-29 22:38:12,072.072 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:38:12
[2026-08-29 22:38:12,423.423 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:38:12,661.661 INFO    ] Initializing speech engine...
[2026-08-29 22:38:12,669.669 INFO    ] 2026-08-29 22:38:12
[2026-08-29 22:38:12,930.930 INFO    ] 2026-08-29 22:38:12
[2026-08-29 22:38:12,983.983 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:38:13,204.204 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:38:13,214.214 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:38:13,347.347 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:38:13,364.364 INFO    ] time= 29/08/2026 22:38:13
[2026-08-29 22:38:13,408.408 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:38:13,411.411 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:38:13,486.486 INFO    ] No existing commands found in stream
[2026-08-29 22:38:18,498.498 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:38:18,501.501 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-08-29 22:38:21,163.163 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:38:21,165.165 INFO    ] Checking for system updates...
[2026-08-29 22:38:21,185.185 INFO    ] 200
[2026-08-29 22:38:21,186.186 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:38:21,218.218 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:38:21,220.220 INFO    ] No update needed
[2026-08-29 22:38:21,221.221 INFO    ] Checking for camera pi updates...
[2026-08-29 22:38:21,242.242 INFO    ] 200
[2026-08-29 22:38:21,243.243 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:38:21,268.268 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:38:21,353.353 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:38:21,354.354 INFO    ] No camera update needed
[2026-08-29 22:38:21,356.356 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:38:21,357.357 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:38:21,360.360 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:38:21,362.362 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:38:23,400.400 INFO    ] ================================================
[2026-08-29 22:38:23,416.416 INFO    ] Launching Daemon at Sat Aug 29 22:38:23 IST 2026
[2026-08-29 22:38:23,428.428 INFO    ] ================================================
[2026-08-29 22:38:23,917.917 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:38:23
[2026-08-29 22:38:24,504.504 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:38:24,755.755 INFO    ] Initializing speech engine...
[2026-08-29 22:38:24,760.760 INFO    ] 2026-08-29 22:38:24
[2026-08-29 22:38:25,036.036 INFO    ] 2026-08-29 22:38:25
[2026-08-29 22:38:25,072.072 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:38:25,248.248 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:38:25,261.261 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:38:25,373.373 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:38:25,379.379 INFO    ] time= 29/08/2026 22:38:25
[2026-08-29 22:38:25,398.398 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:38:25,418.418 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:38:25,506.506 INFO    ] No existing commands found in stream
[2026-08-29 22:38:30,515.515 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:38:30,518.518 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-08-29 22:38:34,553.553 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:38:34,555.555 INFO    ] Checking for system updates...
[2026-08-29 22:38:34,596.596 INFO    ] 200
[2026-08-29 22:38:34,599.599 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:38:34,652.652 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:38:34,655.655 INFO    ] No update needed
[2026-08-29 22:38:34,657.657 INFO    ] Checking for camera pi updates...
[2026-08-29 22:38:34,691.691 INFO    ] 200
[2026-08-29 22:38:34,694.694 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:38:34,736.736 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:38:34,839.839 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:38:34,842.842 INFO    ] No camera update needed
[2026-08-29 22:38:34,844.844 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:38:34,846.846 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:38:34,852.852 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:38:34,857.857 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:38:36,897.897 INFO    ] ================================================
[2026-08-29 22:38:36,913.913 INFO    ] Launching Daemon at Sat Aug 29 22:38:36 IST 2026
[2026-08-29 22:38:36,924.924 INFO    ] ================================================
[2026-08-29 22:38:37,530.530 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:38:37
[2026-08-29 22:38:38,219.219 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:38:38,505.505 INFO    ] Initializing speech engine...
[2026-08-29 22:38:38,510.510 INFO    ] 2026-08-29 22:38:38
[2026-08-29 22:38:38,758.758 INFO    ] 2026-08-29 22:38:38
[2026-08-29 22:38:38,793.793 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:38:38,966.966 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:38:38,979.979 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:38:39,090.090 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:38:39,109.109 INFO    ] time= 29/08/2026 22:38:39
[2026-08-29 22:38:39,128.128 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:38:39,136.136 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:38:39,206.206 INFO    ] No existing commands found in stream
[2026-08-29 22:38:44,242.242 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:38:44,244.244 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-08-29 22:38:48,524.524 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:38:48,526.526 INFO    ] Checking for system updates...
[2026-08-29 22:38:48,567.567 INFO    ] 200
[2026-08-29 22:38:48,569.569 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:38:48,631.631 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:38:48,633.633 INFO    ] No update needed
[2026-08-29 22:38:48,636.636 INFO    ] Checking for camera pi updates...
[2026-08-29 22:38:48,669.669 INFO    ] 200
[2026-08-29 22:38:48,671.671 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:38:48,722.722 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:38:48,840.840 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:38:48,843.843 INFO    ] No camera update needed
[2026-08-29 22:38:48,845.845 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:38:48,847.847 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:38:48,853.853 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:38:48,857.857 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:38:50,901.901 INFO    ] ================================================
[2026-08-29 22:38:50,917.917 INFO    ] Launching Daemon at Sat Aug 29 22:38:50 IST 2026
[2026-08-29 22:38:50,927.927 INFO    ] ================================================
[2026-08-29 22:38:51,494.494 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:38:51
[2026-08-29 22:38:51,822.822 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:38:51,979.979 INFO    ] Initializing speech engine...
[2026-08-29 22:38:51,985.985 INFO    ] 2026-08-29 22:38:51
[2026-08-29 22:38:52,260.260 INFO    ] 2026-08-29 22:38:52
[2026-08-29 22:38:52,296.296 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:38:52,500.500 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:38:52,506.506 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:38:52,617.617 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:38:52,621.621 INFO    ] time= 29/08/2026 22:38:52
[2026-08-29 22:38:52,626.626 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:38:52,650.650 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:38:52,702.702 INFO    ] No existing commands found in stream
[2026-08-29 22:38:57,714.714 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:38:57,717.717 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-08-29 22:39:00,466.466 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:39:00,468.468 INFO    ] Checking for system updates...
[2026-08-29 22:39:00,509.509 INFO    ] 200
[2026-08-29 22:39:00,511.511 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:39:00,563.563 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:39:00,566.566 INFO    ] No update needed
[2026-08-29 22:39:00,568.568 INFO    ] Checking for camera pi updates...
[2026-08-29 22:39:00,607.607 INFO    ] 200
[2026-08-29 22:39:00,609.609 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:39:00,650.650 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:39:00,755.755 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:39:00,757.757 INFO    ] No camera update needed
[2026-08-29 22:39:00,760.760 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:39:00,762.762 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:39:00,767.767 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:39:00,772.772 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:39:02,814.814 INFO    ] ================================================
[2026-08-29 22:39:02,830.830 INFO    ] Launching Daemon at Sat Aug 29 22:39:02 IST 2026
[2026-08-29 22:39:02,840.840 INFO    ] ================================================
[2026-08-29 22:39:03,422.422 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:39:03
[2026-08-29 22:39:04,008.008 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:39:04,263.263 INFO    ] Initializing speech engine...
[2026-08-29 22:39:04,269.269 INFO    ] 2026-08-29 22:39:04
[2026-08-29 22:39:04,542.542 INFO    ] 2026-08-29 22:39:04
[2026-08-29 22:39:04,587.587 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:39:04,711.711 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:39:04,748.748 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:39:04,906.906 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:39:04,944.944 INFO    ] time= 29/08/2026 22:39:04
[2026-08-29 22:39:04,962.962 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:39:05,024.024 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:39:05,142.142 INFO    ] No existing commands found in stream
[2026-08-29 22:39:10,153.153 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:39:10,156.156 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-08-29 22:39:11,613.613 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:39:11,615.615 INFO    ] Checking for system updates...
[2026-08-29 22:39:11,635.635 INFO    ] 200
[2026-08-29 22:39:11,636.636 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:39:11,667.667 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:39:11,668.668 INFO    ] No update needed
[2026-08-29 22:39:11,669.669 INFO    ] Checking for camera pi updates...
[2026-08-29 22:39:11,690.690 INFO    ] 200
[2026-08-29 22:39:11,691.691 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:39:11,716.716 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:39:11,792.792 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:39:11,794.794 INFO    ] No camera update needed
[2026-08-29 22:39:11,795.795 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:39:11,796.796 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:39:11,799.799 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:39:11,802.802 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:39:13,841.841 INFO    ] ================================================
[2026-08-29 22:39:14,004.004 INFO    ] Launching Daemon at Sat Aug 29 22:39:13 IST 2026
[2026-08-29 22:39:14,015.015 INFO    ] ================================================
[2026-08-29 22:39:14,582.582 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:39:14
[2026-08-29 22:39:15,167.167 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:39:15,436.436 INFO    ] Initializing speech engine...
[2026-08-29 22:39:15,445.445 INFO    ] 2026-08-29 22:39:15
[2026-08-29 22:39:15,692.692 INFO    ] 2026-08-29 22:39:15
[2026-08-29 22:39:15,734.734 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:39:15,900.900 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:39:15,912.912 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:39:16,052.052 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:39:16,060.060 INFO    ] time= 29/08/2026 22:39:16
[2026-08-29 22:39:16,066.066 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:39:16,118.118 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:39:16,226.226 INFO    ] No existing commands found in stream
[2026-08-29 22:39:21,261.261 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:39:21,264.264 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-08-29 22:39:23,983.983 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:39:23,985.985 INFO    ] Checking for system updates...
[2026-08-29 22:39:24,006.006 INFO    ] 200
[2026-08-29 22:39:24,008.008 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:39:24,040.040 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:39:24,041.041 INFO    ] No update needed
[2026-08-29 22:39:24,042.042 INFO    ] Checking for camera pi updates...
[2026-08-29 22:39:24,063.063 INFO    ] 200
[2026-08-29 22:39:24,064.064 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:39:24,087.087 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:39:24,161.161 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:39:24,163.163 INFO    ] No camera update needed
[2026-08-29 22:39:24,166.166 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:39:24,168.168 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:39:24,173.173 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:39:24,178.178 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:39:26,220.220 INFO    ] ================================================
[2026-08-29 22:39:26,235.235 INFO    ] Launching Daemon at Sat Aug 29 22:39:26 IST 2026
[2026-08-29 22:39:26,246.246 INFO    ] ================================================
[2026-08-29 22:39:26,910.910 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:39:26
[2026-08-29 22:39:27,416.416 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:39:27,569.569 INFO    ] Initializing speech engine...
[2026-08-29 22:39:27,575.575 INFO    ] 2026-08-29 22:39:27
[2026-08-29 22:39:27,783.783 INFO    ] 2026-08-29 22:39:27
[2026-08-29 22:39:27,812.812 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:39:27,935.935 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:39:27,993.993 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:39:28,136.136 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:39:28,205.205 INFO    ] time= 29/08/2026 22:39:28
[2026-08-29 22:39:28,228.228 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:39:28,235.235 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:39:28,301.301 INFO    ] No existing commands found in stream
[2026-08-29 22:39:33,312.312 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:39:33,315.315 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-08-29 22:39:34,174.174 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:39:34,177.177 INFO    ] Checking for system updates...
[2026-08-29 22:39:34,214.214 INFO    ] 200
[2026-08-29 22:39:34,217.217 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:39:34,276.276 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:39:34,279.279 INFO    ] No update needed
[2026-08-29 22:39:34,281.281 INFO    ] Checking for camera pi updates...
[2026-08-29 22:39:34,315.315 INFO    ] 200
[2026-08-29 22:39:34,317.317 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:39:34,358.358 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:39:34,460.460 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:39:34,463.463 INFO    ] No camera update needed
[2026-08-29 22:39:34,465.465 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:39:34,468.468 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:39:34,473.473 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:39:34,478.478 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:39:36,519.519 INFO    ] ================================================
[2026-08-29 22:39:36,535.535 INFO    ] Launching Daemon at Sat Aug 29 22:39:36 IST 2026
[2026-08-29 22:39:36,546.546 INFO    ] ================================================
[2026-08-29 22:39:36,907.907 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:39:36
[2026-08-29 22:39:37,220.220 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:39:37,362.362 INFO    ] Initializing speech engine...
[2026-08-29 22:39:37,367.367 INFO    ] 2026-08-29 22:39:37
[2026-08-29 22:39:37,618.618 INFO    ] 2026-08-29 22:39:37
[2026-08-29 22:39:37,673.673 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:39:37,806.806 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:39:37,839.839 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:39:38,007.007 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:39:38,044.044 INFO    ] time= 29/08/2026 22:39:38
[2026-08-29 22:39:38,050.050 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:39:38,070.070 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:39:38,179.179 INFO    ] No existing commands found in stream
[2026-08-29 22:39:43,209.209 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:39:43,211.211 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-08-29 22:39:47,125.125 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:39:47,127.127 INFO    ] Checking for system updates...
[2026-08-29 22:39:47,164.164 INFO    ] 200
[2026-08-29 22:39:47,166.166 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:39:47,226.226 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:39:47,229.229 INFO    ] No update needed
[2026-08-29 22:39:47,231.231 INFO    ] Checking for camera pi updates...
[2026-08-29 22:39:47,266.266 INFO    ] 200
[2026-08-29 22:39:47,269.269 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:39:47,312.312 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:39:47,417.417 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:39:47,419.419 INFO    ] No camera update needed
[2026-08-29 22:39:47,422.422 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:39:47,425.425 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:39:47,431.431 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:39:47,437.437 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:39:49,478.478 INFO    ] ================================================
[2026-08-29 22:39:49,493.493 INFO    ] Launching Daemon at Sat Aug 29 22:39:49 IST 2026
[2026-08-29 22:39:49,505.505 INFO    ] ================================================
[2026-08-29 22:39:49,896.896 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:39:49
[2026-08-29 22:39:50,235.235 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:39:50,386.386 INFO    ] Initializing speech engine...
[2026-08-29 22:39:50,392.392 INFO    ] 2026-08-29 22:39:50
[2026-08-29 22:39:50,601.601 INFO    ] 2026-08-29 22:39:50
[2026-08-29 22:39:50,630.630 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:39:50,778.778 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:39:50,817.817 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:39:50,946.946 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:39:51,013.013 INFO    ] time= 29/08/2026 22:39:50
[2026-08-29 22:39:51,045.045 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:39:51,052.052 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:39:51,119.119 INFO    ] No existing commands found in stream
[2026-08-29 22:39:56,128.128 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:39:56,131.131 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-08-29 22:39:59,327.327 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:39:59,329.329 INFO    ] Checking for system updates...
[2026-08-29 22:39:59,349.349 INFO    ] 200
[2026-08-29 22:39:59,351.351 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:39:59,384.384 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:39:59,385.385 INFO    ] No update needed
[2026-08-29 22:39:59,387.387 INFO    ] Checking for camera pi updates...
[2026-08-29 22:39:59,408.408 INFO    ] 200
[2026-08-29 22:39:59,410.410 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:39:59,435.435 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:39:59,535.535 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:39:59,536.536 INFO    ] No camera update needed
[2026-08-29 22:39:59,537.537 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:39:59,539.539 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:39:59,542.542 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:39:59,545.545 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:40:01,586.586 INFO    ] ================================================
[2026-08-29 22:40:01,601.601 INFO    ] Launching Daemon at Sat Aug 29 22:40:01 IST 2026
[2026-08-29 22:40:01,613.613 INFO    ] ================================================
[2026-08-29 22:40:02,403.403 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:40:02
[2026-08-29 22:40:03,416.416 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:40:03,943.943 INFO    ] Initializing speech engine...
[2026-08-29 22:40:03,959.959 INFO    ] 2026-08-29 22:40:03
[2026-08-29 22:40:04,343.343 INFO    ] 2026-08-29 22:40:04
[2026-08-29 22:40:04,399.399 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:40:04,566.566 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:40:04,574.574 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:40:04,727.727 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:40:04,775.775 INFO    ] time= 29/08/2026 22:40:04
[2026-08-29 22:40:04,781.781 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:40:04,800.800 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:40:04,917.917 INFO    ] No existing commands found in stream
[2026-08-29 22:40:09,944.944 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:40:09,947.947 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 22:40:13,436.436 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:40:13,438.438 INFO    ] Checking for system updates...
[2026-08-29 22:40:13,458.458 INFO    ] 200
[2026-08-29 22:40:13,460.460 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:40:13,490.490 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:40:13,492.492 INFO    ] No update needed
[2026-08-29 22:40:13,493.493 INFO    ] Checking for camera pi updates...
[2026-08-29 22:40:13,513.513 INFO    ] 200
[2026-08-29 22:40:13,515.515 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:40:13,539.539 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:40:13,612.612 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:40:13,614.614 INFO    ] No camera update needed
[2026-08-29 22:40:13,615.615 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:40:13,616.616 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:40:13,619.619 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:40:13,623.623 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:40:15,662.662 INFO    ] ================================================
[2026-08-29 22:40:15,678.678 INFO    ] Launching Daemon at Sat Aug 29 22:40:15 IST 2026
[2026-08-29 22:40:15,690.690 INFO    ] ================================================
[2026-08-29 22:40:16,018.018 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:40:16
[2026-08-29 22:40:16,329.329 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:40:16,470.470 INFO    ] Initializing speech engine...
[2026-08-29 22:40:16,475.475 INFO    ] 2026-08-29 22:40:16
[2026-08-29 22:40:16,681.681 INFO    ] 2026-08-29 22:40:16
[2026-08-29 22:40:16,708.708 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:40:16,831.831 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:40:16,889.889 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:40:17,017.017 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:40:17,072.072 INFO    ] time= 29/08/2026 22:40:17
[2026-08-29 22:40:17,100.100 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:40:17,145.145 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:40:17,251.251 INFO    ] No existing commands found in stream
[2026-08-29 22:40:22,264.264 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:40:22,267.267 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-08-29 22:40:24,914.914 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:40:24,915.915 INFO    ] Checking for system updates...
[2026-08-29 22:40:24,939.939 INFO    ] 200
[2026-08-29 22:40:24,941.941 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:40:24,971.971 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:40:24,972.972 INFO    ] No update needed
[2026-08-29 22:40:24,973.973 INFO    ] Checking for camera pi updates...
[2026-08-29 22:40:24,992.992 INFO    ] 200
[2026-08-29 22:40:24,994.994 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:40:25,017.017 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:40:25,110.110 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:40:25,113.113 INFO    ] No camera update needed
[2026-08-29 22:40:25,115.115 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:40:25,118.118 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:40:25,123.123 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:40:25,128.128 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:40:27,170.170 INFO    ] ================================================
[2026-08-29 22:40:27,186.186 INFO    ] Launching Daemon at Sat Aug 29 22:40:27 IST 2026
[2026-08-29 22:40:27,198.198 INFO    ] ================================================
[2026-08-29 22:40:27,776.776 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:40:27
[2026-08-29 22:40:28,266.266 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:40:28,408.408 INFO    ] Initializing speech engine...
[2026-08-29 22:40:28,413.413 INFO    ] 2026-08-29 22:40:28
[2026-08-29 22:40:28,615.615 INFO    ] 2026-08-29 22:40:28
[2026-08-29 22:40:28,677.677 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:40:28,830.830 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:40:28,834.834 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:40:28,965.965 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:40:28,982.982 INFO    ] time= 29/08/2026 22:40:28
[2026-08-29 22:40:29,046.046 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:40:29,097.097 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:40:29,149.149 INFO    ] No existing commands found in stream
[2026-08-29 22:40:34,161.161 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:40:34,164.164 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-08-29 22:40:34,889.889 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:40:34,892.892 INFO    ] Checking for system updates...
[2026-08-29 22:40:34,929.929 INFO    ] 200
[2026-08-29 22:40:34,931.931 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:40:34,985.985 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:40:34,987.987 INFO    ] No update needed
[2026-08-29 22:40:34,989.989 INFO    ] Checking for camera pi updates...
[2026-08-29 22:40:35,021.021 INFO    ] 200
[2026-08-29 22:40:35,023.023 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:40:35,045.045 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:40:35,122.122 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:40:35,123.123 INFO    ] No camera update needed
[2026-08-29 22:40:35,124.124 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:40:35,126.126 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:40:35,128.128 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:40:35,131.131 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:40:37,172.172 INFO    ] ================================================
[2026-08-29 22:40:37,187.187 INFO    ] Launching Daemon at Sat Aug 29 22:40:37 IST 2026
[2026-08-29 22:40:37,199.199 INFO    ] ================================================
[2026-08-29 22:40:37,563.563 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:40:37
[2026-08-29 22:40:37,925.925 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:40:38,210.210 INFO    ] Initializing speech engine...
[2026-08-29 22:40:38,216.216 INFO    ] 2026-08-29 22:40:38
[2026-08-29 22:40:38,476.476 INFO    ] 2026-08-29 22:40:38
[2026-08-29 22:40:38,510.510 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:40:38,676.676 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:40:38,688.688 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:40:38,800.800 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:40:38,828.828 INFO    ] time= 29/08/2026 22:40:38
[2026-08-29 22:40:38,842.842 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:40:38,851.851 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:40:38,923.923 INFO    ] No existing commands found in stream
[2026-08-29 22:40:43,959.959 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:40:43,961.961 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-08-29 22:40:48,055.055 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:40:48,056.056 INFO    ] Checking for system updates...
[2026-08-29 22:40:48,076.076 INFO    ] 200
[2026-08-29 22:40:48,078.078 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:40:48,109.109 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:40:48,111.111 INFO    ] No update needed
[2026-08-29 22:40:48,112.112 INFO    ] Checking for camera pi updates...
[2026-08-29 22:40:48,132.132 INFO    ] 200
[2026-08-29 22:40:48,133.133 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:40:48,156.156 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:40:48,232.232 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:40:48,233.233 INFO    ] No camera update needed
[2026-08-29 22:40:48,234.234 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:40:48,236.236 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:40:48,239.239 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:40:48,241.241 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:40:50,279.279 INFO    ] ================================================
[2026-08-29 22:40:50,295.295 INFO    ] Launching Daemon at Sat Aug 29 22:40:50 IST 2026
[2026-08-29 22:40:50,306.306 INFO    ] ================================================
[2026-08-29 22:40:50,661.661 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:40:50
[2026-08-29 22:40:50,975.975 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:40:51,109.109 INFO    ] Initializing speech engine...
[2026-08-29 22:40:51,114.114 INFO    ] 2026-08-29 22:40:51
[2026-08-29 22:40:51,332.332 INFO    ] 2026-08-29 22:40:51
[2026-08-29 22:40:51,399.399 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:40:51,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:40:51,596.596 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:40:51,745.745 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:40:51,772.772 INFO    ] time= 29/08/2026 22:40:51
[2026-08-29 22:40:51,816.816 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:40:51,880.880 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:40:51,959.959 INFO    ] No existing commands found in stream
[2026-08-29 22:40:56,971.971 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:40:56,975.975 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 22:41:00,493.493 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:41:00,496.496 INFO    ] Checking for system updates...
[2026-08-29 22:41:00,533.533 INFO    ] 200
[2026-08-29 22:41:00,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:41:00,594.594 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:41:00,596.596 INFO    ] No update needed
[2026-08-29 22:41:00,598.598 INFO    ] Checking for camera pi updates...
[2026-08-29 22:41:00,637.637 INFO    ] 200
[2026-08-29 22:41:00,640.640 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:41:00,680.680 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:41:00,775.775 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:41:00,777.777 INFO    ] No camera update needed
[2026-08-29 22:41:00,780.780 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:41:00,782.782 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:41:00,788.788 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:41:00,793.793 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:41:02,836.836 INFO    ] ================================================
[2026-08-29 22:41:02,851.851 INFO    ] Launching Daemon at Sat Aug 29 22:41:02 IST 2026
[2026-08-29 22:41:02,861.861 INFO    ] ================================================
[2026-08-29 22:41:03,462.462 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:41:03
[2026-08-29 22:41:04,069.069 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:41:04,355.355 INFO    ] Initializing speech engine...
[2026-08-29 22:41:04,361.361 INFO    ] 2026-08-29 22:41:04
[2026-08-29 22:41:04,616.616 INFO    ] 2026-08-29 22:41:04
[2026-08-29 22:41:04,655.655 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:41:04,825.825 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:41:04,828.828 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:41:04,963.963 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:41:04,969.969 INFO    ] time= 29/08/2026 22:41:04
[2026-08-29 22:41:04,989.989 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:41:05,011.011 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:41:05,094.094 INFO    ] No existing commands found in stream
[2026-08-29 22:41:10,106.106 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:41:10,109.109 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-08-29 22:41:11,830.830 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:41:11,831.831 INFO    ] Checking for system updates...
[2026-08-29 22:41:11,856.856 INFO    ] 200
[2026-08-29 22:41:11,857.857 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:41:11,889.889 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:41:11,890.890 INFO    ] No update needed
[2026-08-29 22:41:11,892.892 INFO    ] Checking for camera pi updates...
[2026-08-29 22:41:11,911.911 INFO    ] 200
[2026-08-29 22:41:11,913.913 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:41:11,937.937 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:41:12,009.009 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:41:12,011.011 INFO    ] No camera update needed
[2026-08-29 22:41:12,012.012 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:41:12,013.013 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:41:12,016.016 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:41:12,019.019 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:41:14,058.058 INFO    ] ================================================
[2026-08-29 22:41:14,073.073 INFO    ] Launching Daemon at Sat Aug 29 22:41:14 IST 2026
[2026-08-29 22:41:14,084.084 INFO    ] ================================================
[2026-08-29 22:41:14,537.537 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:41:14
[2026-08-29 22:41:15,121.121 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:41:15,380.380 INFO    ] Initializing speech engine...
[2026-08-29 22:41:15,383.383 INFO    ] 2026-08-29 22:41:15
[2026-08-29 22:41:15,682.682 INFO    ] 2026-08-29 22:41:15
[2026-08-29 22:41:15,717.717 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:41:15,868.868 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:41:15,874.874 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:41:16,026.026 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:41:16,037.037 INFO    ] time= 29/08/2026 22:41:16
[2026-08-29 22:41:16,043.043 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:41:16,067.067 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:41:16,125.125 INFO    ] No existing commands found in stream
[2026-08-29 22:41:21,143.143 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:41:21,146.146 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-08-29 22:41:22,886.886 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:41:22,887.887 INFO    ] Checking for system updates...
[2026-08-29 22:41:22,907.907 INFO    ] 200
[2026-08-29 22:41:22,909.909 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:41:22,939.939 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:41:22,940.940 INFO    ] No update needed
[2026-08-29 22:41:22,941.941 INFO    ] Checking for camera pi updates...
[2026-08-29 22:41:22,960.960 INFO    ] 200
[2026-08-29 22:41:22,962.962 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:41:22,984.984 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:41:23,057.057 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:41:23,059.059 INFO    ] No camera update needed
[2026-08-29 22:41:23,060.060 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:41:23,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:41:23,064.064 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:41:23,067.067 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:41:25,105.105 INFO    ] ================================================
[2026-08-29 22:41:25,120.120 INFO    ] Launching Daemon at Sat Aug 29 22:41:25 IST 2026
[2026-08-29 22:41:25,131.131 INFO    ] ================================================
[2026-08-29 22:41:25,473.473 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:41:25
[2026-08-29 22:41:25,791.791 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:41:25,935.935 INFO    ] Initializing speech engine...
[2026-08-29 22:41:25,944.944 INFO    ] 2026-08-29 22:41:25
[2026-08-29 22:41:26,148.148 INFO    ] 2026-08-29 22:41:26
[2026-08-29 22:41:26,177.177 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:41:26,300.300 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:41:26,353.353 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:41:26,499.499 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:41:26,563.563 INFO    ] time= 29/08/2026 22:41:26
[2026-08-29 22:41:26,590.590 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:41:26,596.596 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:41:26,662.662 INFO    ] No existing commands found in stream
[2026-08-29 22:41:31,671.671 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:41:31,673.673 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-08-29 22:41:34,136.136 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:41:34,138.138 INFO    ] Checking for system updates...
[2026-08-29 22:41:34,176.176 INFO    ] 200
[2026-08-29 22:41:34,178.178 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:41:34,235.235 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:41:34,237.237 INFO    ] No update needed
[2026-08-29 22:41:34,239.239 INFO    ] Checking for camera pi updates...
[2026-08-29 22:41:34,273.273 INFO    ] 200
[2026-08-29 22:41:34,276.276 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:41:34,318.318 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:41:34,399.399 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:41:34,402.402 INFO    ] No camera update needed
[2026-08-29 22:41:34,405.405 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:41:34,407.407 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:41:34,413.413 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:41:34,419.419 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:41:36,462.462 INFO    ] ================================================
[2026-08-29 22:41:36,477.477 INFO    ] Launching Daemon at Sat Aug 29 22:41:36 IST 2026
[2026-08-29 22:41:36,488.488 INFO    ] ================================================
[2026-08-29 22:41:36,811.811 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:41:36
[2026-08-29 22:41:37,125.125 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:41:37,258.258 INFO    ] Initializing speech engine...
[2026-08-29 22:41:37,263.263 INFO    ] 2026-08-29 22:41:37
[2026-08-29 22:41:37,493.493 INFO    ] 2026-08-29 22:41:37
[2026-08-29 22:41:37,524.524 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:41:37,660.660 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:41:37,666.666 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:41:37,792.792 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:41:37,847.847 INFO    ] time= 29/08/2026 22:41:37
[2026-08-29 22:41:37,896.896 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:41:37,935.935 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:41:38,000.000 INFO    ] No existing commands found in stream
[2026-08-29 22:41:43,013.013 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:41:43,016.016 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-08-29 22:41:43,803.803 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:41:43,805.805 INFO    ] Checking for system updates...
[2026-08-29 22:41:43,826.826 INFO    ] 200
[2026-08-29 22:41:43,827.827 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:41:43,858.858 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:41:43,859.859 INFO    ] No update needed
[2026-08-29 22:41:43,861.861 INFO    ] Checking for camera pi updates...
[2026-08-29 22:41:43,881.881 INFO    ] 200
[2026-08-29 22:41:43,883.883 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:41:43,906.906 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:41:44,007.007 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:41:44,009.009 INFO    ] No camera update needed
[2026-08-29 22:41:44,010.010 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:41:44,011.011 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:41:44,015.015 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:41:44,018.018 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:41:46,056.056 INFO    ] ================================================
[2026-08-29 22:41:46,071.071 INFO    ] Launching Daemon at Sat Aug 29 22:41:46 IST 2026
[2026-08-29 22:41:46,082.082 INFO    ] ================================================
[2026-08-29 22:41:46,441.441 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:41:46
[2026-08-29 22:41:46,760.760 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:41:46,997.997 INFO    ] Initializing speech engine...
[2026-08-29 22:41:47,007.007 INFO    ] 2026-08-29 22:41:46
[2026-08-29 22:41:47,275.275 INFO    ] 2026-08-29 22:41:47
[2026-08-29 22:41:47,314.314 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:41:47,512.512 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:41:47,518.518 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:41:47,656.656 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:41:47,663.663 INFO    ] time= 29/08/2026 22:41:47
[2026-08-29 22:41:47,682.682 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:41:47,702.702 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:41:47,789.789 INFO    ] No existing commands found in stream
[2026-08-29 22:41:52,801.801 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:41:52,804.804 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 22:41:55,765.765 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:41:55,766.766 INFO    ] Checking for system updates...
[2026-08-29 22:41:55,787.787 INFO    ] 200
[2026-08-29 22:41:55,788.788 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:41:55,820.820 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:41:55,821.821 INFO    ] No update needed
[2026-08-29 22:41:55,823.823 INFO    ] Checking for camera pi updates...
[2026-08-29 22:41:55,842.842 INFO    ] 200
[2026-08-29 22:41:55,844.844 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:41:55,867.867 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:41:55,967.967 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:41:55,969.969 INFO    ] No camera update needed
[2026-08-29 22:41:55,970.970 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:41:55,971.971 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:41:55,974.974 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:41:55,977.977 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:41:58,016.016 INFO    ] ================================================
[2026-08-29 22:41:58,032.032 INFO    ] Launching Daemon at Sat Aug 29 22:41:58 IST 2026
[2026-08-29 22:41:58,043.043 INFO    ] ================================================
[2026-08-29 22:41:58,395.395 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:41:58
[2026-08-29 22:41:58,714.714 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:41:58,859.859 INFO    ] Initializing speech engine...
[2026-08-29 22:41:58,864.864 INFO    ] 2026-08-29 22:41:58
[2026-08-29 22:41:59,066.066 INFO    ] 2026-08-29 22:41:59
[2026-08-29 22:41:59,095.095 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:41:59,217.217 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:41:59,250.250 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:41:59,399.399 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:41:59,434.434 INFO    ] time= 29/08/2026 22:41:59
[2026-08-29 22:41:59,494.494 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:41:59,519.519 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:41:59,647.647 INFO    ] No existing commands found in stream
[2026-08-29 22:42:04,668.668 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:42:04,671.671 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-08-29 22:42:08,138.138 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:42:08,140.140 INFO    ] Checking for system updates...
[2026-08-29 22:42:08,160.160 INFO    ] 200
[2026-08-29 22:42:08,161.161 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:42:08,193.193 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:42:08,194.194 INFO    ] No update needed
[2026-08-29 22:42:08,195.195 INFO    ] Checking for camera pi updates...
[2026-08-29 22:42:08,214.214 INFO    ] 200
[2026-08-29 22:42:08,215.215 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:42:08,238.238 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:42:08,414.414 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:42:08,416.416 INFO    ] No camera update needed
[2026-08-29 22:42:08,418.418 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:42:08,420.420 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:42:08,426.426 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:42:08,430.430 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:42:10,472.472 INFO    ] ================================================
[2026-08-29 22:42:10,487.487 INFO    ] Launching Daemon at Sat Aug 29 22:42:10 IST 2026
[2026-08-29 22:42:10,497.497 INFO    ] ================================================
[2026-08-29 22:42:11,137.137 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:42:11
[2026-08-29 22:42:11,566.566 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:42:11,707.707 INFO    ] Initializing speech engine...
[2026-08-29 22:42:11,711.711 INFO    ] 2026-08-29 22:42:11
[2026-08-29 22:42:11,946.946 INFO    ] 2026-08-29 22:42:11
[2026-08-29 22:42:12,033.033 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:42:12,189.189 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:42:12,194.194 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:42:12,327.327 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:42:12,360.360 INFO    ] time= 29/08/2026 22:42:12
[2026-08-29 22:42:12,425.425 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:42:12,463.463 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:42:12,523.523 INFO    ] No existing commands found in stream
[2026-08-29 22:42:17,537.537 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:42:17,541.541 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-08-29 22:42:20,721.721 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:42:20,722.722 INFO    ] Checking for system updates...
[2026-08-29 22:42:20,743.743 INFO    ] 200
[2026-08-29 22:42:20,745.745 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:42:20,774.774 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:42:20,776.776 INFO    ] No update needed
[2026-08-29 22:42:20,777.777 INFO    ] Checking for camera pi updates...
[2026-08-29 22:42:20,796.796 INFO    ] 200
[2026-08-29 22:42:20,798.798 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:42:20,835.835 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:42:20,928.928 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:42:20,931.931 INFO    ] No camera update needed
[2026-08-29 22:42:20,933.933 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:42:20,936.936 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:42:20,941.941 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:42:20,946.946 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:42:22,987.987 INFO    ] ================================================
[2026-08-29 22:42:23,002.002 INFO    ] Launching Daemon at Sat Aug 29 22:42:22 IST 2026
[2026-08-29 22:42:23,012.012 INFO    ] ================================================
[2026-08-29 22:42:23,577.577 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:42:23
[2026-08-29 22:42:24,060.060 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:42:24,194.194 INFO    ] Initializing speech engine...
[2026-08-29 22:42:24,197.197 INFO    ] 2026-08-29 22:42:24
[2026-08-29 22:42:24,390.390 INFO    ] 2026-08-29 22:42:24
[2026-08-29 22:42:24,429.429 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:42:24,584.584 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:42:24,597.597 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:42:24,728.728 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:42:24,735.735 INFO    ] time= 29/08/2026 22:42:24
[2026-08-29 22:42:24,744.744 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:42:24,777.777 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:42:24,859.859 INFO    ] No existing commands found in stream
[2026-08-29 22:42:29,871.871 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:42:29,874.874 INFO    ] Waiting 3.84 seconds before fallback handling...
[2026-08-29 22:42:34,098.098 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:42:34,100.100 INFO    ] Checking for system updates...
[2026-08-29 22:42:34,136.136 INFO    ] 200
[2026-08-29 22:42:34,138.138 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:42:34,195.195 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:42:34,197.197 INFO    ] No update needed
[2026-08-29 22:42:34,200.200 INFO    ] Checking for camera pi updates...
[2026-08-29 22:42:34,234.234 INFO    ] 200
[2026-08-29 22:42:34,236.236 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:42:34,276.276 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:42:34,361.361 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:42:34,363.363 INFO    ] No camera update needed
[2026-08-29 22:42:34,369.369 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:42:34,371.371 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:42:34,377.377 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:42:34,382.382 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:42:36,409.409 INFO    ] ================================================
[2026-08-29 22:42:36,417.417 INFO    ] Launching Daemon at Sat Aug 29 22:42:36 IST 2026
[2026-08-29 22:42:36,423.423 INFO    ] ================================================
[2026-08-29 22:42:36,971.971 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:42:36
[2026-08-29 22:42:37,557.557 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:42:37,827.827 INFO    ] Initializing speech engine...
[2026-08-29 22:42:37,835.835 INFO    ] 2026-08-29 22:42:37
[2026-08-29 22:42:38,091.091 INFO    ] 2026-08-29 22:42:38
[2026-08-29 22:42:38,127.127 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:42:38,298.298 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:42:38,310.310 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:42:38,419.419 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:42:38,425.425 INFO    ] time= 29/08/2026 22:42:38
[2026-08-29 22:42:38,442.442 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:42:38,466.466 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:42:38,537.537 INFO    ] No existing commands found in stream
[2026-08-29 22:42:43,571.571 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:42:43,573.573 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 22:42:46,923.923 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:42:46,925.925 INFO    ] Checking for system updates...
[2026-08-29 22:42:46,945.945 INFO    ] 200
[2026-08-29 22:42:46,946.946 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:42:46,980.980 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:42:46,982.982 INFO    ] No update needed
[2026-08-29 22:42:46,983.983 INFO    ] Checking for camera pi updates...
[2026-08-29 22:42:47,002.002 INFO    ] 200
[2026-08-29 22:42:47,004.004 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:42:47,026.026 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:42:47,104.104 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:42:47,105.105 INFO    ] No camera update needed
[2026-08-29 22:42:47,106.106 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:42:47,108.108 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:42:47,110.110 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:42:47,113.113 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:42:49,153.153 INFO    ] ================================================
[2026-08-29 22:42:49,168.168 INFO    ] Launching Daemon at Sat Aug 29 22:42:49 IST 2026
[2026-08-29 22:42:49,179.179 INFO    ] ================================================
[2026-08-29 22:42:49,571.571 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:42:49
[2026-08-29 22:42:50,157.157 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:42:50,426.426 INFO    ] Initializing speech engine...
[2026-08-29 22:42:50,441.441 INFO    ] 2026-08-29 22:42:50
[2026-08-29 22:42:50,713.713 INFO    ] 2026-08-29 22:42:50
[2026-08-29 22:42:50,749.749 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:42:50,893.893 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:42:50,900.900 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:42:51,047.047 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:42:51,058.058 INFO    ] time= 29/08/2026 22:42:51
[2026-08-29 22:42:51,062.062 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:42:51,067.067 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:42:51,130.130 INFO    ] No existing commands found in stream
[2026-08-29 22:42:56,142.142 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:42:56,145.145 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-08-29 22:42:59,695.695 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:42:59,697.697 INFO    ] Checking for system updates...
[2026-08-29 22:42:59,733.733 INFO    ] 200
[2026-08-29 22:42:59,736.736 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:42:59,788.788 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:42:59,790.790 INFO    ] No update needed
[2026-08-29 22:42:59,793.793 INFO    ] Checking for camera pi updates...
[2026-08-29 22:42:59,830.830 INFO    ] 200
[2026-08-29 22:42:59,832.832 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:42:59,873.873 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:42:59,952.952 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:42:59,955.955 INFO    ] No camera update needed
[2026-08-29 22:42:59,957.957 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:42:59,959.959 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:42:59,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:42:59,969.969 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:43:02,016.016 INFO    ] ================================================
[2026-08-29 22:43:02,044.044 INFO    ] Launching Daemon at Sat Aug 29 22:43:02 IST 2026
[2026-08-29 22:43:02,066.066 INFO    ] ================================================
[2026-08-29 22:43:02,620.620 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:43:02
[2026-08-29 22:43:03,289.289 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:43:03,611.611 INFO    ] Initializing speech engine...
[2026-08-29 22:43:03,619.619 INFO    ] 2026-08-29 22:43:03
[2026-08-29 22:43:03,899.899 INFO    ] 2026-08-29 22:43:03
[2026-08-29 22:43:03,951.951 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:43:04,183.183 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:43:04,193.193 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:43:04,330.330 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:43:04,379.379 INFO    ] time= 29/08/2026 22:43:04
[2026-08-29 22:43:04,428.428 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:43:04,469.469 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:43:04,528.528 INFO    ] No existing commands found in stream
[2026-08-29 22:43:09,540.540 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:43:09,544.544 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-08-29 22:43:13,489.489 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:43:13,490.490 INFO    ] Checking for system updates...
[2026-08-29 22:43:13,511.511 INFO    ] 200
[2026-08-29 22:43:13,513.513 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:43:13,543.543 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:43:13,544.544 INFO    ] No update needed
[2026-08-29 22:43:13,545.545 INFO    ] Checking for camera pi updates...
[2026-08-29 22:43:13,565.565 INFO    ] 200
[2026-08-29 22:43:13,566.566 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:43:13,590.590 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:43:13,694.694 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:43:13,695.695 INFO    ] No camera update needed
[2026-08-29 22:43:13,696.696 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:43:13,698.698 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:43:13,701.701 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:43:13,703.703 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:43:15,741.741 INFO    ] ================================================
[2026-08-29 22:43:15,756.756 INFO    ] Launching Daemon at Sat Aug 29 22:43:15 IST 2026
[2026-08-29 22:43:15,767.767 INFO    ] ================================================
[2026-08-29 22:43:16,139.139 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:43:16
[2026-08-29 22:43:16,473.473 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:43:16,766.766 INFO    ] Initializing speech engine...
[2026-08-29 22:43:16,780.780 INFO    ] 2026-08-29 22:43:16
[2026-08-29 22:43:17,038.038 INFO    ] 2026-08-29 22:43:17
[2026-08-29 22:43:17,090.090 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:43:17,235.235 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:43:17,259.259 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:43:17,389.389 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:43:17,398.398 INFO    ] time= 29/08/2026 22:43:17
[2026-08-29 22:43:17,404.404 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:43:17,445.445 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:43:17,554.554 INFO    ] No existing commands found in stream
[2026-08-29 22:43:22,584.584 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:43:22,587.587 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-08-29 22:43:25,262.262 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:43:25,264.264 INFO    ] Checking for system updates...
[2026-08-29 22:43:25,285.285 INFO    ] 200
[2026-08-29 22:43:25,286.286 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:43:25,316.316 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:43:25,317.317 INFO    ] No update needed
[2026-08-29 22:43:25,318.318 INFO    ] Checking for camera pi updates...
[2026-08-29 22:43:25,338.338 INFO    ] 200
[2026-08-29 22:43:25,339.339 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:43:25,362.362 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:43:25,474.474 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:43:25,476.476 INFO    ] No camera update needed
[2026-08-29 22:43:25,477.477 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:43:25,478.478 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:43:25,482.482 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:43:25,485.485 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:43:27,523.523 INFO    ] ================================================
[2026-08-29 22:43:27,538.538 INFO    ] Launching Daemon at Sat Aug 29 22:43:27 IST 2026
[2026-08-29 22:43:27,548.548 INFO    ] ================================================
[2026-08-29 22:43:27,901.901 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:43:27
[2026-08-29 22:43:28,235.235 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:43:28,385.385 INFO    ] Initializing speech engine...
[2026-08-29 22:43:28,391.391 INFO    ] 2026-08-29 22:43:28
[2026-08-29 22:43:28,598.598 INFO    ] 2026-08-29 22:43:28
[2026-08-29 22:43:28,627.627 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:43:28,750.750 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:43:28,808.808 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:43:28,944.944 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:43:29,001.001 INFO    ] time= 29/08/2026 22:43:28
[2026-08-29 22:43:29,044.044 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:43:29,051.051 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:43:29,116.116 INFO    ] No existing commands found in stream
[2026-08-29 22:43:34,127.127 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:43:34,130.130 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-08-29 22:43:38,434.434 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:43:38,436.436 INFO    ] Checking for system updates...
[2026-08-29 22:43:38,457.457 INFO    ] 200
[2026-08-29 22:43:38,458.458 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:43:38,490.490 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:43:38,491.491 INFO    ] No update needed
[2026-08-29 22:43:38,493.493 INFO    ] Checking for camera pi updates...
[2026-08-29 22:43:38,512.512 INFO    ] 200
[2026-08-29 22:43:38,514.514 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:43:38,537.537 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:43:38,690.690 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:43:38,691.691 INFO    ] No camera update needed
[2026-08-29 22:43:38,693.693 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:43:38,694.694 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:43:38,697.697 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:43:38,700.700 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:43:40,740.740 INFO    ] ================================================
[2026-08-29 22:43:40,755.755 INFO    ] Launching Daemon at Sat Aug 29 22:43:40 IST 2026
[2026-08-29 22:43:40,765.765 INFO    ] ================================================
[2026-08-29 22:43:41,119.119 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:43:41
[2026-08-29 22:43:41,429.429 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:43:41,564.564 INFO    ] Initializing speech engine...
[2026-08-29 22:43:41,577.577 INFO    ] 2026-08-29 22:43:41
[2026-08-29 22:43:41,793.793 INFO    ] 2026-08-29 22:43:41
[2026-08-29 22:43:41,824.824 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:43:41,941.941 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:43:41,946.946 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:43:42,108.108 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:43:42,168.168 INFO    ] time= 29/08/2026 22:43:42
[2026-08-29 22:43:42,176.176 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:43:42,195.195 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:43:42,285.285 INFO    ] No existing commands found in stream
[2026-08-29 22:43:47,313.313 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:43:47,316.316 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-08-29 22:43:48,764.764 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:43:48,766.766 INFO    ] Checking for system updates...
[2026-08-29 22:43:48,786.786 INFO    ] 200
[2026-08-29 22:43:48,787.787 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:43:48,818.818 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:43:48,819.819 INFO    ] No update needed
[2026-08-29 22:43:48,820.820 INFO    ] Checking for camera pi updates...
[2026-08-29 22:43:48,840.840 INFO    ] 200
[2026-08-29 22:43:48,841.841 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:43:48,864.864 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:43:48,942.942 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:43:48,943.943 INFO    ] No camera update needed
[2026-08-29 22:43:48,944.944 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:43:48,945.945 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:43:48,948.948 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:43:48,951.951 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:43:50,990.990 INFO    ] ================================================
[2026-08-29 22:43:51,005.005 INFO    ] Launching Daemon at Sat Aug 29 22:43:50 IST 2026
[2026-08-29 22:43:51,016.016 INFO    ] ================================================
[2026-08-29 22:43:51,347.347 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:43:51
[2026-08-29 22:43:51,659.659 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:43:51,791.791 INFO    ] Initializing speech engine...
[2026-08-29 22:43:51,804.804 INFO    ] 2026-08-29 22:43:51
[2026-08-29 22:43:51,994.994 INFO    ] 2026-08-29 22:43:51
[2026-08-29 22:43:52,030.030 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:43:52,200.200 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:43:52,213.213 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:43:52,323.323 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:43:52,341.341 INFO    ] time= 29/08/2026 22:43:52
[2026-08-29 22:43:52,360.360 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:43:52,369.369 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:43:52,436.436 INFO    ] No existing commands found in stream
[2026-08-29 22:43:57,448.448 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:43:57,451.451 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-08-29 22:43:59,022.022 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:43:59,024.024 INFO    ] Checking for system updates...
[2026-08-29 22:43:59,045.045 INFO    ] 200
[2026-08-29 22:43:59,046.046 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:43:59,077.077 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:43:59,078.078 INFO    ] No update needed
[2026-08-29 22:43:59,079.079 INFO    ] Checking for camera pi updates...
[2026-08-29 22:43:59,098.098 INFO    ] 200
[2026-08-29 22:43:59,100.100 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:43:59,122.122 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:43:59,211.211 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:43:59,213.213 INFO    ] No camera update needed
[2026-08-29 22:43:59,216.216 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:43:59,218.218 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:43:59,223.223 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:43:59,228.228 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:44:01,269.269 INFO    ] ================================================
[2026-08-29 22:44:01,285.285 INFO    ] Launching Daemon at Sat Aug 29 22:44:01 IST 2026
[2026-08-29 22:44:01,296.296 INFO    ] ================================================
[2026-08-29 22:44:02,002.002 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:44:01
[2026-08-29 22:44:02,579.579 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:44:02,862.862 INFO    ] Initializing speech engine...
[2026-08-29 22:44:02,871.871 INFO    ] 2026-08-29 22:44:02
[2026-08-29 22:44:03,203.203 INFO    ] 2026-08-29 22:44:03
[2026-08-29 22:44:03,262.262 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:44:03,434.434 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:44:03,446.446 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:44:03,535.535 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:44:03,538.538 INFO    ] time= 29/08/2026 22:44:03
[2026-08-29 22:44:03,542.542 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:44:03,547.547 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:44:03,611.611 INFO    ] No existing commands found in stream
[2026-08-29 22:44:08,623.623 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:44:08,626.626 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-08-29 22:44:12,010.010 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:44:12,012.012 INFO    ] Checking for system updates...
[2026-08-29 22:44:12,032.032 INFO    ] 200
[2026-08-29 22:44:12,034.034 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:44:12,064.064 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:44:12,065.065 INFO    ] No update needed
[2026-08-29 22:44:12,066.066 INFO    ] Checking for camera pi updates...
[2026-08-29 22:44:12,087.087 INFO    ] 200
[2026-08-29 22:44:12,089.089 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:44:12,111.111 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:44:12,190.190 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:44:12,191.191 INFO    ] No camera update needed
[2026-08-29 22:44:12,193.193 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:44:12,194.194 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:44:12,197.197 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:44:12,199.199 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:44:14,237.237 INFO    ] ================================================
[2026-08-29 22:44:14,259.259 INFO    ] Launching Daemon at Sat Aug 29 22:44:14 IST 2026
[2026-08-29 22:44:14,270.270 INFO    ] ================================================
[2026-08-29 22:44:14,636.636 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:44:14
[2026-08-29 22:44:14,977.977 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:44:15,129.129 INFO    ] Initializing speech engine...
[2026-08-29 22:44:15,134.134 INFO    ] 2026-08-29 22:44:15
[2026-08-29 22:44:15,345.345 INFO    ] 2026-08-29 22:44:15
[2026-08-29 22:44:15,374.374 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:44:15,488.488 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:44:15,489.489 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:44:15,665.665 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:44:15,701.701 INFO    ] time= 29/08/2026 22:44:15
[2026-08-29 22:44:15,763.763 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:44:15,793.793 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:44:15,874.874 INFO    ] No existing commands found in stream
[2026-08-29 22:44:20,885.885 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:44:20,888.888 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-08-29 22:44:21,829.829 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:44:21,830.830 INFO    ] Checking for system updates...
[2026-08-29 22:44:21,851.851 INFO    ] 200
[2026-08-29 22:44:21,853.853 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:44:21,883.883 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:44:21,885.885 INFO    ] No update needed
[2026-08-29 22:44:21,886.886 INFO    ] Checking for camera pi updates...
[2026-08-29 22:44:21,909.909 INFO    ] 200
[2026-08-29 22:44:21,910.910 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:44:21,937.937 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:44:22,137.137 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:44:22,139.139 INFO    ] No camera update needed
[2026-08-29 22:44:22,140.140 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:44:22,141.141 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:44:22,144.144 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:44:22,147.147 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:44:24,184.184 INFO    ] ================================================
[2026-08-29 22:44:24,200.200 INFO    ] Launching Daemon at Sat Aug 29 22:44:24 IST 2026
[2026-08-29 22:44:24,211.211 INFO    ] ================================================
[2026-08-29 22:44:24,787.787 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:44:24
[2026-08-29 22:44:25,466.466 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:44:25,769.769 INFO    ] Initializing speech engine...
[2026-08-29 22:44:25,780.780 INFO    ] 2026-08-29 22:44:25
[2026-08-29 22:44:26,082.082 INFO    ] 2026-08-29 22:44:26
[2026-08-29 22:44:26,121.121 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:44:26,350.350 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:44:26,359.359 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:44:26,495.495 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:44:26,567.567 INFO    ] time= 29/08/2026 22:44:26
[2026-08-29 22:44:26,623.623 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:44:26,630.630 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:44:26,752.752 INFO    ] No existing commands found in stream
[2026-08-29 22:44:31,775.775 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:44:31,778.778 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-08-29 22:44:32,224.224 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:44:32,227.227 INFO    ] Checking for system updates...
[2026-08-29 22:44:32,268.268 INFO    ] 200
[2026-08-29 22:44:32,271.271 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:44:32,329.329 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:44:32,332.332 INFO    ] No update needed
[2026-08-29 22:44:32,335.335 INFO    ] Checking for camera pi updates...
[2026-08-29 22:44:32,372.372 INFO    ] 200
[2026-08-29 22:44:32,375.375 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:44:32,421.421 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:44:32,513.513 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:44:32,516.516 INFO    ] No camera update needed
[2026-08-29 22:44:32,520.520 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:44:32,523.523 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:44:32,531.531 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:44:32,539.539 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:44:34,580.580 INFO    ] ================================================
[2026-08-29 22:44:34,596.596 INFO    ] Launching Daemon at Sat Aug 29 22:44:34 IST 2026
[2026-08-29 22:44:34,608.608 INFO    ] ================================================
[2026-08-29 22:44:35,236.236 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:44:35
[2026-08-29 22:44:35,810.810 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:44:36,119.119 INFO    ] Initializing speech engine...
[2026-08-29 22:44:36,131.131 INFO    ] 2026-08-29 22:44:36
[2026-08-29 22:44:36,439.439 INFO    ] 2026-08-29 22:44:36
[2026-08-29 22:44:36,525.525 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:44:36,676.676 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:44:36,685.685 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:44:36,818.818 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:44:36,866.866 INFO    ] time= 29/08/2026 22:44:36
[2026-08-29 22:44:36,910.910 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:44:36,953.953 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:44:37,008.008 INFO    ] No existing commands found in stream
[2026-08-29 22:44:42,021.021 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:44:42,025.025 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-08-29 22:44:44,084.084 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:44:44,085.085 INFO    ] Checking for system updates...
[2026-08-29 22:44:44,106.106 INFO    ] 200
[2026-08-29 22:44:44,107.107 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:44:44,138.138 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:44:44,140.140 INFO    ] No update needed
[2026-08-29 22:44:44,141.141 INFO    ] Checking for camera pi updates...
[2026-08-29 22:44:44,161.161 INFO    ] 200
[2026-08-29 22:44:44,163.163 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:44:44,186.186 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:44:44,264.264 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:44:44,265.265 INFO    ] No camera update needed
[2026-08-29 22:44:44,266.266 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:44:44,268.268 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:44:44,271.271 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:44:44,274.274 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:44:46,313.313 INFO    ] ================================================
[2026-08-29 22:44:46,329.329 INFO    ] Launching Daemon at Sat Aug 29 22:44:46 IST 2026
[2026-08-29 22:44:46,341.341 INFO    ] ================================================
[2026-08-29 22:44:46,718.718 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:44:46
[2026-08-29 22:44:47,038.038 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:44:47,188.188 INFO    ] Initializing speech engine...
[2026-08-29 22:44:47,193.193 INFO    ] 2026-08-29 22:44:47
[2026-08-29 22:44:47,431.431 INFO    ] 2026-08-29 22:44:47
[2026-08-29 22:44:47,494.494 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:44:47,698.698 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:44:47,708.708 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:44:47,844.844 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:44:47,874.874 INFO    ] time= 29/08/2026 22:44:47
[2026-08-29 22:44:47,939.939 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:44:47,977.977 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:44:48,031.031 INFO    ] No existing commands found in stream
[2026-08-29 22:44:53,044.044 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:44:53,047.047 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 22:44:54,608.608 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:44:54,609.609 INFO    ] Checking for system updates...
[2026-08-29 22:44:54,632.632 INFO    ] 200
[2026-08-29 22:44:54,634.634 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:44:54,669.669 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:44:54,670.670 INFO    ] No update needed
[2026-08-29 22:44:54,672.672 INFO    ] Checking for camera pi updates...
[2026-08-29 22:44:54,694.694 INFO    ] 200
[2026-08-29 22:44:54,695.695 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:44:54,721.721 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:44:54,813.813 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:44:54,814.814 INFO    ] No camera update needed
[2026-08-29 22:44:54,816.816 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:44:54,817.817 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:44:54,820.820 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:44:54,823.823 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:44:56,865.865 INFO    ] ================================================
[2026-08-29 22:44:56,880.880 INFO    ] Launching Daemon at Sat Aug 29 22:44:56 IST 2026
[2026-08-29 22:44:56,891.891 INFO    ] ================================================
[2026-08-29 22:44:57,283.283 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:44:57
[2026-08-29 22:44:57,623.623 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:44:57,918.918 INFO    ] Initializing speech engine...
[2026-08-29 22:44:57,926.926 INFO    ] 2026-08-29 22:44:57
[2026-08-29 22:44:58,219.219 INFO    ] 2026-08-29 22:44:58
[2026-08-29 22:44:58,258.258 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:44:58,478.478 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:44:58,488.488 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:44:58,621.621 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:44:58,674.674 INFO    ] time= 29/08/2026 22:44:58
[2026-08-29 22:44:58,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:44:58,758.758 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:44:58,812.812 INFO    ] No existing commands found in stream
[2026-08-29 22:45:03,825.825 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:45:03,828.828 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-08-29 22:45:05,946.946 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:45:05,947.947 INFO    ] Checking for system updates...
[2026-08-29 22:45:05,968.968 INFO    ] 200
[2026-08-29 22:45:05,969.969 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:45:06,002.002 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:45:06,003.003 INFO    ] No update needed
[2026-08-29 22:45:06,004.004 INFO    ] Checking for camera pi updates...
[2026-08-29 22:45:06,024.024 INFO    ] 200
[2026-08-29 22:45:06,025.025 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:45:06,048.048 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:45:06,146.146 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:45:06,149.149 INFO    ] No camera update needed
[2026-08-29 22:45:06,151.151 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:45:06,153.153 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:45:06,158.158 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:45:06,163.163 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:45:08,205.205 INFO    ] ================================================
[2026-08-29 22:45:08,220.220 INFO    ] Launching Daemon at Sat Aug 29 22:45:08 IST 2026
[2026-08-29 22:45:08,231.231 INFO    ] ================================================
[2026-08-29 22:45:08,799.799 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:45:08
[2026-08-29 22:45:09,297.297 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:45:09,565.565 INFO    ] Initializing speech engine...
[2026-08-29 22:45:09,574.574 INFO    ] 2026-08-29 22:45:09
[2026-08-29 22:45:09,821.821 INFO    ] 2026-08-29 22:45:09
[2026-08-29 22:45:09,857.857 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:45:10,053.053 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:45:10,081.081 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:45:10,254.254 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:45:10,280.280 INFO    ] time= 29/08/2026 22:45:10
[2026-08-29 22:45:10,334.334 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:45:10,386.386 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:45:10,439.439 INFO    ] No existing commands found in stream
[2026-08-29 22:45:15,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:45:15,454.454 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-08-29 22:45:16,735.735 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:45:16,737.737 INFO    ] Checking for system updates...
[2026-08-29 22:45:16,758.758 INFO    ] 200
[2026-08-29 22:45:16,760.760 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:45:16,791.791 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:45:16,793.793 INFO    ] No update needed
[2026-08-29 22:45:16,794.794 INFO    ] Checking for camera pi updates...
[2026-08-29 22:45:16,814.814 INFO    ] 200
[2026-08-29 22:45:16,815.815 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:45:16,840.840 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:45:16,932.932 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:45:16,934.934 INFO    ] No camera update needed
[2026-08-29 22:45:16,939.939 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:45:16,940.940 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:45:16,943.943 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:45:16,946.946 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:45:18,985.985 INFO    ] ================================================
[2026-08-29 22:45:19,000.000 INFO    ] Launching Daemon at Sat Aug 29 22:45:18 IST 2026
[2026-08-29 22:45:19,011.011 INFO    ] ================================================
[2026-08-29 22:45:19,376.376 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:45:19
[2026-08-29 22:45:19,709.709 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:45:19,862.862 INFO    ] Initializing speech engine...
[2026-08-29 22:45:19,865.865 INFO    ] 2026-08-29 22:45:19
[2026-08-29 22:45:20,097.097 INFO    ] 2026-08-29 22:45:20
[2026-08-29 22:45:20,170.170 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:45:20,334.334 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:45:20,342.342 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:45:20,498.498 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:45:20,543.543 INFO    ] time= 29/08/2026 22:45:20
[2026-08-29 22:45:20,549.549 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:45:20,568.568 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:45:20,679.679 INFO    ] No existing commands found in stream
[2026-08-29 22:45:25,709.709 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:45:25,712.712 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-08-29 22:45:28,951.951 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:45:28,953.953 INFO    ] Checking for system updates...
[2026-08-29 22:45:28,973.973 INFO    ] 200
[2026-08-29 22:45:28,974.974 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:45:29,005.005 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:45:29,006.006 INFO    ] No update needed
[2026-08-29 22:45:29,008.008 INFO    ] Checking for camera pi updates...
[2026-08-29 22:45:29,027.027 INFO    ] 200
[2026-08-29 22:45:29,028.028 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:45:29,053.053 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:45:29,135.135 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:45:29,136.136 INFO    ] No camera update needed
[2026-08-29 22:45:29,138.138 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:45:29,139.139 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:45:29,142.142 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:45:29,144.144 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:45:31,183.183 INFO    ] ================================================
[2026-08-29 22:45:31,198.198 INFO    ] Launching Daemon at Sat Aug 29 22:45:31 IST 2026
[2026-08-29 22:45:31,208.208 INFO    ] ================================================
[2026-08-29 22:45:31,578.578 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:45:31
[2026-08-29 22:45:32,241.241 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:45:32,567.567 INFO    ] Initializing speech engine...
[2026-08-29 22:45:32,578.578 INFO    ] 2026-08-29 22:45:32
[2026-08-29 22:45:32,865.865 INFO    ] 2026-08-29 22:45:32
[2026-08-29 22:45:32,925.925 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:45:33,151.151 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:45:33,162.162 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:45:33,297.297 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:45:33,378.378 INFO    ] time= 29/08/2026 22:45:33
[2026-08-29 22:45:33,426.426 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:45:33,444.444 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:45:33,549.549 INFO    ] No existing commands found in stream
[2026-08-29 22:45:38,575.575 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:45:38,578.578 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 22:45:39,980.980 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:45:39,981.981 INFO    ] Checking for system updates...
[2026-08-29 22:45:40,002.002 INFO    ] 200
[2026-08-29 22:45:40,004.004 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:45:40,036.036 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:45:40,037.037 INFO    ] No update needed
[2026-08-29 22:45:40,038.038 INFO    ] Checking for camera pi updates...
[2026-08-29 22:45:40,058.058 INFO    ] 200
[2026-08-29 22:45:40,059.059 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:45:40,084.084 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:45:40,165.165 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:45:40,167.167 INFO    ] No camera update needed
[2026-08-29 22:45:40,168.168 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:45:40,169.169 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:45:40,172.172 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:45:40,175.175 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:45:42,213.213 INFO    ] ================================================
[2026-08-29 22:45:42,229.229 INFO    ] Launching Daemon at Sat Aug 29 22:45:42 IST 2026
[2026-08-29 22:45:42,239.239 INFO    ] ================================================
[2026-08-29 22:45:42,602.602 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:45:42
[2026-08-29 22:45:42,912.912 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:45:43,055.055 INFO    ] Initializing speech engine...
[2026-08-29 22:45:43,059.059 INFO    ] 2026-08-29 22:45:43
[2026-08-29 22:45:43,265.265 INFO    ] 2026-08-29 22:45:43
[2026-08-29 22:45:43,294.294 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:45:43,439.439 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:45:43,447.447 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:45:43,606.606 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:45:43,652.652 INFO    ] time= 29/08/2026 22:45:43
[2026-08-29 22:45:43,658.658 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:45:43,679.679 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:45:43,727.727 INFO    ] No existing commands found in stream
[2026-08-29 22:45:48,736.736 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:45:48,739.739 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-08-29 22:45:52,132.132 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:45:52,134.134 INFO    ] Checking for system updates...
[2026-08-29 22:45:52,155.155 INFO    ] 200
[2026-08-29 22:45:52,156.156 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:45:52,186.186 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:45:52,188.188 INFO    ] No update needed
[2026-08-29 22:45:52,189.189 INFO    ] Checking for camera pi updates...
[2026-08-29 22:45:52,209.209 INFO    ] 200
[2026-08-29 22:45:52,210.210 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:45:52,236.236 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:45:52,324.324 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:45:52,325.325 INFO    ] No camera update needed
[2026-08-29 22:45:52,326.326 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:45:52,327.327 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:45:52,330.330 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:45:52,333.333 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:45:54,372.372 INFO    ] ================================================
[2026-08-29 22:45:54,387.387 INFO    ] Launching Daemon at Sat Aug 29 22:45:54 IST 2026
[2026-08-29 22:45:54,398.398 INFO    ] ================================================
[2026-08-29 22:45:54,724.724 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:45:54
[2026-08-29 22:45:55,132.132 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:45:55,392.392 INFO    ] Initializing speech engine...
[2026-08-29 22:45:55,405.405 INFO    ] 2026-08-29 22:45:55
[2026-08-29 22:45:55,687.687 INFO    ] 2026-08-29 22:45:55
[2026-08-29 22:45:55,722.722 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:45:55,910.910 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:45:55,917.917 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:45:56,024.024 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:45:56,047.047 INFO    ] time= 29/08/2026 22:45:56
[2026-08-29 22:45:56,053.053 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:45:56,059.059 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:45:56,166.166 INFO    ] No existing commands found in stream
[2026-08-29 22:46:01,183.183 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:46:01,185.185 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-08-29 22:46:02,066.066 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:46:02,070.070 INFO    ] Checking for system updates...
[2026-08-29 22:46:02,128.128 INFO    ] 200
[2026-08-29 22:46:02,130.130 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:46:02,192.192 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:46:02,195.195 INFO    ] No update needed
[2026-08-29 22:46:02,198.198 INFO    ] Checking for camera pi updates...
[2026-08-29 22:46:02,236.236 INFO    ] 200
[2026-08-29 22:46:02,238.238 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:46:02,295.295 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:46:02,401.401 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:46:02,406.406 INFO    ] No camera update needed
[2026-08-29 22:46:02,412.412 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:46:02,416.416 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:46:02,425.425 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:46:02,433.433 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:46:04,481.481 INFO    ] ================================================
[2026-08-29 22:46:04,495.495 INFO    ] Launching Daemon at Sat Aug 29 22:46:04 IST 2026
[2026-08-29 22:46:04,506.506 INFO    ] ================================================
[2026-08-29 22:46:04,996.996 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:46:04
[2026-08-29 22:46:05,309.309 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:46:05,564.564 INFO    ] Initializing speech engine...
[2026-08-29 22:46:05,571.571 INFO    ] 2026-08-29 22:46:05
[2026-08-29 22:46:05,867.867 INFO    ] 2026-08-29 22:46:05
[2026-08-29 22:46:05,905.905 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:46:06,058.058 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:46:06,069.069 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:46:06,212.212 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:46:06,221.221 INFO    ] time= 29/08/2026 22:46:06
[2026-08-29 22:46:06,225.225 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:46:06,230.230 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:46:06,296.296 INFO    ] No existing commands found in stream
[2026-08-29 22:46:11,309.309 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:46:11,311.311 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-08-29 22:46:14,151.151 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:46:14,153.153 INFO    ] Checking for system updates...
[2026-08-29 22:46:14,173.173 INFO    ] 200
[2026-08-29 22:46:14,174.174 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:46:14,206.206 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:46:14,208.208 INFO    ] No update needed
[2026-08-29 22:46:14,209.209 INFO    ] Checking for camera pi updates...
[2026-08-29 22:46:14,228.228 INFO    ] 200
[2026-08-29 22:46:14,229.229 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:46:14,253.253 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:46:14,357.357 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:46:14,359.359 INFO    ] No camera update needed
[2026-08-29 22:46:14,360.360 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:46:14,361.361 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:46:14,364.364 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:46:14,367.367 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:46:16,405.405 INFO    ] ================================================
[2026-08-29 22:46:16,420.420 INFO    ] Launching Daemon at Sat Aug 29 22:46:16 IST 2026
[2026-08-29 22:46:16,432.432 INFO    ] ================================================
[2026-08-29 22:46:16,798.798 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:46:16
[2026-08-29 22:46:17,113.113 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:46:17,251.251 INFO    ] Initializing speech engine...
[2026-08-29 22:46:17,261.261 INFO    ] 2026-08-29 22:46:17
[2026-08-29 22:46:17,465.465 INFO    ] 2026-08-29 22:46:17
[2026-08-29 22:46:17,494.494 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:46:17,616.616 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:46:17,678.678 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:46:17,811.811 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:46:17,869.869 INFO    ] time= 29/08/2026 22:46:17
[2026-08-29 22:46:17,905.905 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:46:17,912.912 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:46:17,978.978 INFO    ] No existing commands found in stream
[2026-08-29 22:46:22,988.988 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:46:22,991.991 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-08-29 22:46:23,461.461 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:46:23,463.463 INFO    ] Checking for system updates...
[2026-08-29 22:46:23,483.483 INFO    ] 200
[2026-08-29 22:46:23,485.485 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:46:23,519.519 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:46:23,521.521 INFO    ] No update needed
[2026-08-29 22:46:23,522.522 INFO    ] Checking for camera pi updates...
[2026-08-29 22:46:23,543.543 INFO    ] 200
[2026-08-29 22:46:23,544.544 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:46:23,567.567 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:46:28,811.811 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:46:28,813.813 INFO    ] No camera update needed
[2026-08-29 22:46:28,815.815 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:46:28,818.818 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:46:28,825.825 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:46:28,830.830 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:46:30,869.869 INFO    ] ================================================
[2026-08-29 22:46:31,084.084 INFO    ] Launching Daemon at Sat Aug 29 22:46:31 IST 2026
[2026-08-29 22:46:31,096.096 INFO    ] ================================================
[2026-08-29 22:46:31,467.467 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:46:31
[2026-08-29 22:46:31,851.851 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:46:32,149.149 INFO    ] Initializing speech engine...
[2026-08-29 22:46:32,156.156 INFO    ] 2026-08-29 22:46:32
[2026-08-29 22:46:32,481.481 INFO    ] 2026-08-29 22:46:32
[2026-08-29 22:46:32,566.566 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:46:32,759.759 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:46:32,779.779 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:46:32,943.943 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:46:32,954.954 INFO    ] time= 29/08/2026 22:46:32
[2026-08-29 22:46:33,010.010 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:46:33,050.050 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:46:33,125.125 INFO    ] No existing commands found in stream
[2026-08-29 22:46:38,135.135 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:46:38,138.138 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-08-29 22:46:40,448.448 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:46:40,450.450 INFO    ] Checking for system updates...
[2026-08-29 22:46:40,487.487 INFO    ] 200
[2026-08-29 22:46:40,489.489 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:46:40,541.541 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:46:40,544.544 INFO    ] No update needed
[2026-08-29 22:46:40,546.546 INFO    ] Checking for camera pi updates...
[2026-08-29 22:46:40,584.584 INFO    ] 200
[2026-08-29 22:46:40,587.587 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:46:40,626.626 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:46:40,730.730 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:46:40,732.732 INFO    ] No camera update needed
[2026-08-29 22:46:40,735.735 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:46:40,737.737 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:46:40,742.742 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:46:40,747.747 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:46:42,788.788 INFO    ] ================================================
[2026-08-29 22:46:42,804.804 INFO    ] Launching Daemon at Sat Aug 29 22:46:42 IST 2026
[2026-08-29 22:46:42,815.815 INFO    ] ================================================
[2026-08-29 22:46:43,170.170 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:46:43
[2026-08-29 22:46:43,487.487 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:46:43,719.719 INFO    ] Initializing speech engine...
[2026-08-29 22:46:43,729.729 INFO    ] 2026-08-29 22:46:43
[2026-08-29 22:46:43,991.991 INFO    ] 2026-08-29 22:46:43
[2026-08-29 22:46:44,047.047 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:46:44,271.271 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:46:44,276.276 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:46:44,408.408 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:46:44,425.425 INFO    ] time= 29/08/2026 22:46:44
[2026-08-29 22:46:44,479.479 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:46:44,533.533 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:46:44,593.593 INFO    ] No existing commands found in stream
[2026-08-29 22:46:49,605.605 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:46:49,607.607 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-08-29 22:46:55,430.430 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:46:55,433.433 INFO    ] Checking for system updates...
[2026-08-29 22:46:55,496.496 INFO    ] 200
[2026-08-29 22:46:55,498.498 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:46:55,551.551 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:46:55,553.553 INFO    ] No update needed
[2026-08-29 22:46:55,556.556 INFO    ] Checking for camera pi updates...
[2026-08-29 22:46:55,594.594 INFO    ] 200
[2026-08-29 22:46:55,597.597 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:46:55,643.643 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:46:55,733.733 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:46:55,735.735 INFO    ] No camera update needed
[2026-08-29 22:46:55,736.736 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:46:55,737.737 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:46:55,740.740 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:46:55,743.743 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:46:57,783.783 INFO    ] ================================================
[2026-08-29 22:46:57,798.798 INFO    ] Launching Daemon at Sat Aug 29 22:46:57 IST 2026
[2026-08-29 22:46:57,810.810 INFO    ] ================================================
[2026-08-29 22:46:58,164.164 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:46:58
[2026-08-29 22:46:58,574.574 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:46:58,848.848 INFO    ] Initializing speech engine...
[2026-08-29 22:46:58,853.853 INFO    ] 2026-08-29 22:46:58
[2026-08-29 22:46:59,100.100 INFO    ] 2026-08-29 22:46:59
[2026-08-29 22:46:59,136.136 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:46:59,307.307 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:46:59,319.319 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:46:59,429.429 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:46:59,433.433 INFO    ] time= 29/08/2026 22:46:59
[2026-08-29 22:46:59,450.450 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:46:59,470.470 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:46:59,544.544 INFO    ] No existing commands found in stream
[2026-08-29 22:47:04,556.556 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:47:04,558.558 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-08-29 22:47:08,819.819 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:47:08,821.821 INFO    ] Checking for system updates...
[2026-08-29 22:47:08,841.841 INFO    ] 200
[2026-08-29 22:47:08,843.843 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:47:08,873.873 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:47:08,874.874 INFO    ] No update needed
[2026-08-29 22:47:08,875.875 INFO    ] Checking for camera pi updates...
[2026-08-29 22:47:08,895.895 INFO    ] 200
[2026-08-29 22:47:08,897.897 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:47:08,919.919 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:47:09,008.008 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:47:09,011.011 INFO    ] No camera update needed
[2026-08-29 22:47:09,013.013 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:47:09,015.015 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:47:09,021.021 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:47:09,026.026 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:47:11,066.066 INFO    ] ================================================
[2026-08-29 22:47:11,082.082 INFO    ] Launching Daemon at Sat Aug 29 22:47:11 IST 2026
[2026-08-29 22:47:11,093.093 INFO    ] ================================================
[2026-08-29 22:47:11,765.765 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:47:11
[2026-08-29 22:47:12,169.169 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:47:12,318.318 INFO    ] Initializing speech engine...
[2026-08-29 22:47:12,328.328 INFO    ] 2026-08-29 22:47:12
[2026-08-29 22:47:12,549.549 INFO    ] 2026-08-29 22:47:12
[2026-08-29 22:47:12,615.615 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:47:12,844.844 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:47:12,854.854 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:47:12,990.990 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:47:13,034.034 INFO    ] time= 29/08/2026 22:47:12
[2026-08-29 22:47:13,104.104 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:47:13,129.129 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:47:13,185.185 INFO    ] No existing commands found in stream
[2026-08-29 22:47:18,198.198 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:47:18,201.201 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-08-29 22:47:20,778.778 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:47:20,780.780 INFO    ] Checking for system updates...
[2026-08-29 22:47:20,804.804 INFO    ] 200
[2026-08-29 22:47:20,806.806 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:47:20,838.838 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:47:20,840.840 INFO    ] No update needed
[2026-08-29 22:47:20,841.841 INFO    ] Checking for camera pi updates...
[2026-08-29 22:47:20,864.864 INFO    ] 200
[2026-08-29 22:47:20,865.865 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:47:20,890.890 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:47:20,971.971 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:47:20,973.973 INFO    ] No camera update needed
[2026-08-29 22:47:20,974.974 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:47:20,976.976 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:47:20,979.979 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:47:20,982.982 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:47:23,022.022 INFO    ] ================================================
[2026-08-29 22:47:23,038.038 INFO    ] Launching Daemon at Sat Aug 29 22:47:23 IST 2026
[2026-08-29 22:47:23,050.050 INFO    ] ================================================
[2026-08-29 22:47:23,573.573 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:47:23
[2026-08-29 22:47:24,175.175 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:47:24,454.454 INFO    ] Initializing speech engine...
[2026-08-29 22:47:24,461.461 INFO    ] 2026-08-29 22:47:24
[2026-08-29 22:47:24,708.708 INFO    ] 2026-08-29 22:47:24
[2026-08-29 22:47:24,745.745 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:47:24,926.926 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:47:24,942.942 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:47:25,073.073 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:47:25,081.081 INFO    ] time= 29/08/2026 22:47:25
[2026-08-29 22:47:25,087.087 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:47:25,132.132 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:47:25,244.244 INFO    ] No existing commands found in stream
[2026-08-29 22:47:30,274.274 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:47:30,277.277 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-08-29 22:47:32,861.861 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:47:32,865.865 INFO    ] Checking for system updates...
[2026-08-29 22:47:32,902.902 INFO    ] 200
[2026-08-29 22:47:32,905.905 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:47:32,967.967 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:47:32,969.969 INFO    ] No update needed
[2026-08-29 22:47:32,972.972 INFO    ] Checking for camera pi updates...
[2026-08-29 22:47:33,012.012 INFO    ] 200
[2026-08-29 22:47:33,015.015 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:47:33,062.062 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:47:33,191.191 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:47:33,195.195 INFO    ] No camera update needed
[2026-08-29 22:47:33,197.197 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:47:33,200.200 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:47:33,206.206 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:47:33,213.213 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:47:35,256.256 INFO    ] ================================================
[2026-08-29 22:47:35,272.272 INFO    ] Launching Daemon at Sat Aug 29 22:47:35 IST 2026
[2026-08-29 22:47:35,285.285 INFO    ] ================================================
[2026-08-29 22:47:35,684.684 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:47:35
[2026-08-29 22:47:36,000.000 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:47:36,272.272 INFO    ] Initializing speech engine...
[2026-08-29 22:47:36,282.282 INFO    ] 2026-08-29 22:47:36
[2026-08-29 22:47:36,536.536 INFO    ] 2026-08-29 22:47:36
[2026-08-29 22:47:36,571.571 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:47:36,747.747 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:47:36,761.761 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:47:36,873.873 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:47:36,878.878 INFO    ] time= 29/08/2026 22:47:36
[2026-08-29 22:47:36,896.896 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:47:36,914.914 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:47:36,990.990 INFO    ] No existing commands found in stream
[2026-08-29 22:47:42,003.003 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:47:42,006.006 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-08-29 22:47:45,937.937 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:47:45,939.939 INFO    ] Checking for system updates...
[2026-08-29 22:47:45,959.959 INFO    ] 200
[2026-08-29 22:47:45,961.961 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:47:45,995.995 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:47:45,996.996 INFO    ] No update needed
[2026-08-29 22:47:45,998.998 INFO    ] Checking for camera pi updates...
[2026-08-29 22:47:46,020.020 INFO    ] 200
[2026-08-29 22:47:46,021.021 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:47:46,045.045 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:47:46,144.144 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:47:46,145.145 INFO    ] No camera update needed
[2026-08-29 22:47:46,147.147 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:47:46,148.148 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:47:46,152.152 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:47:46,155.155 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:47:48,197.197 INFO    ] ================================================
[2026-08-29 22:47:48,213.213 INFO    ] Launching Daemon at Sat Aug 29 22:47:48 IST 2026
[2026-08-29 22:47:48,224.224 INFO    ] ================================================
[2026-08-29 22:47:48,799.799 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:47:48
[2026-08-29 22:47:49,491.491 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:47:49,804.804 INFO    ] Initializing speech engine...
[2026-08-29 22:47:49,813.813 INFO    ] 2026-08-29 22:47:49
[2026-08-29 22:47:50,107.107 INFO    ] 2026-08-29 22:47:50
[2026-08-29 22:47:50,152.152 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:47:50,374.374 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:47:50,384.384 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:47:50,540.540 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:47:50,601.601 INFO    ] time= 29/08/2026 22:47:50
[2026-08-29 22:47:50,649.649 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:47:50,668.668 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:47:50,773.773 INFO    ] No existing commands found in stream
[2026-08-29 22:47:55,799.799 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:47:55,803.803 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-08-29 22:47:58,089.089 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:47:58,090.090 INFO    ] Checking for system updates...
[2026-08-29 22:47:58,113.113 INFO    ] 200
[2026-08-29 22:47:58,115.115 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:47:58,146.146 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:47:58,147.147 INFO    ] No update needed
[2026-08-29 22:47:58,149.149 INFO    ] Checking for camera pi updates...
[2026-08-29 22:47:58,169.169 INFO    ] 200
[2026-08-29 22:47:58,171.171 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:47:58,194.194 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:47:58,268.268 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:47:58,269.269 INFO    ] No camera update needed
[2026-08-29 22:47:58,270.270 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:47:58,271.271 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:47:58,275.275 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:47:58,277.277 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:48:00,316.316 INFO    ] ================================================
[2026-08-29 22:48:00,332.332 INFO    ] Launching Daemon at Sat Aug 29 22:48:00 IST 2026
[2026-08-29 22:48:00,343.343 INFO    ] ================================================
[2026-08-29 22:48:00,684.684 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:48:00
[2026-08-29 22:48:01,178.178 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:48:01,458.458 INFO    ] Initializing speech engine...
[2026-08-29 22:48:01,480.480 INFO    ] 2026-08-29 22:48:01
[2026-08-29 22:48:01,754.754 INFO    ] 2026-08-29 22:48:01
[2026-08-29 22:48:01,885.885 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:48:02,015.015 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:48:02,019.019 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:48:02,140.140 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:48:02,144.144 INFO    ] time= 29/08/2026 22:48:02
[2026-08-29 22:48:02,147.147 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:48:02,150.150 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:48:02,231.231 INFO    ] No existing commands found in stream
[2026-08-29 22:48:07,263.263 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:48:07,266.266 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-08-29 22:48:08,530.530 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:48:08,532.532 INFO    ] Checking for system updates...
[2026-08-29 22:48:08,552.552 INFO    ] 200
[2026-08-29 22:48:08,553.553 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:48:08,585.585 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:48:08,586.586 INFO    ] No update needed
[2026-08-29 22:48:08,587.587 INFO    ] Checking for camera pi updates...
[2026-08-29 22:48:08,606.606 INFO    ] 200
[2026-08-29 22:48:08,608.608 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:48:08,633.633 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:48:08,729.729 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:48:08,730.730 INFO    ] No camera update needed
[2026-08-29 22:48:08,732.732 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:48:08,733.733 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:48:08,736.736 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:48:08,738.738 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:48:10,780.780 INFO    ] ================================================
[2026-08-29 22:48:10,795.795 INFO    ] Launching Daemon at Sat Aug 29 22:48:10 IST 2026
[2026-08-29 22:48:10,807.807 INFO    ] ================================================
[2026-08-29 22:48:11,267.267 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:48:11
[2026-08-29 22:48:11,866.866 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:48:12,141.141 INFO    ] Initializing speech engine...
[2026-08-29 22:48:12,149.149 INFO    ] 2026-08-29 22:48:12
[2026-08-29 22:48:12,399.399 INFO    ] 2026-08-29 22:48:12
[2026-08-29 22:48:12,466.466 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:48:12,688.688 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:48:12,698.698 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:48:12,830.830 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:48:12,852.852 INFO    ] time= 29/08/2026 22:48:12
[2026-08-29 22:48:12,912.912 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:48:12,963.963 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:48:13,015.015 INFO    ] No existing commands found in stream
[2026-08-29 22:48:18,027.027 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:48:18,030.030 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-08-29 22:48:19,136.136 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:48:19,138.138 INFO    ] Checking for system updates...
[2026-08-29 22:48:19,158.158 INFO    ] 200
[2026-08-29 22:48:19,159.159 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:48:19,189.189 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:48:19,190.190 INFO    ] No update needed
[2026-08-29 22:48:19,191.191 INFO    ] Checking for camera pi updates...
[2026-08-29 22:48:19,211.211 INFO    ] 200
[2026-08-29 22:48:19,212.212 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:48:19,237.237 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:48:19,335.335 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:48:19,336.336 INFO    ] No camera update needed
[2026-08-29 22:48:19,337.337 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:48:19,339.339 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:48:19,341.341 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:48:19,344.344 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:48:21,384.384 INFO    ] ================================================
[2026-08-29 22:48:21,399.399 INFO    ] Launching Daemon at Sat Aug 29 22:48:21 IST 2026
[2026-08-29 22:48:21,410.410 INFO    ] ================================================
[2026-08-29 22:48:21,740.740 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:48:21
[2026-08-29 22:48:22,051.051 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:48:22,292.292 INFO    ] Initializing speech engine...
[2026-08-29 22:48:22,305.305 INFO    ] 2026-08-29 22:48:22
[2026-08-29 22:48:22,556.556 INFO    ] 2026-08-29 22:48:22
[2026-08-29 22:48:22,591.591 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:48:22,765.765 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:48:22,771.771 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:48:22,893.893 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:48:22,911.911 INFO    ] time= 29/08/2026 22:48:22
[2026-08-29 22:48:22,930.930 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:48:22,937.937 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:48:23,008.008 INFO    ] No existing commands found in stream
[2026-08-29 22:48:28,020.020 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:48:28,023.023 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-08-29 22:48:30,824.824 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:48:30,825.825 INFO    ] Checking for system updates...
[2026-08-29 22:48:30,852.852 INFO    ] 200
[2026-08-29 22:48:30,854.854 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:48:30,885.885 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:48:30,887.887 INFO    ] No update needed
[2026-08-29 22:48:30,888.888 INFO    ] Checking for camera pi updates...
[2026-08-29 22:48:30,909.909 INFO    ] 200
[2026-08-29 22:48:30,910.910 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:48:30,933.933 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:48:31,009.009 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:48:31,010.010 INFO    ] No camera update needed
[2026-08-29 22:48:31,011.011 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:48:31,013.013 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:48:31,016.016 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:48:31,018.018 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:48:33,052.052 INFO    ] ================================================
[2026-08-29 22:48:33,068.068 INFO    ] Launching Daemon at Sat Aug 29 22:48:33 IST 2026
[2026-08-29 22:48:33,080.080 INFO    ] ================================================
[2026-08-29 22:48:33,648.648 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:48:33
[2026-08-29 22:48:34,232.232 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:48:34,484.484 INFO    ] Initializing speech engine...
[2026-08-29 22:48:34,493.493 INFO    ] 2026-08-29 22:48:34
[2026-08-29 22:48:34,782.782 INFO    ] 2026-08-29 22:48:34
[2026-08-29 22:48:34,819.819 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:48:35,009.009 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:48:35,016.016 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:48:35,145.145 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:48:35,150.150 INFO    ] time= 29/08/2026 22:48:35
[2026-08-29 22:48:35,157.157 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:48:35,176.176 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:48:35,275.275 INFO    ] No existing commands found in stream
[2026-08-29 22:48:40,288.288 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:48:40,290.290 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-08-29 22:48:43,641.641 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:48:43,643.643 INFO    ] Checking for system updates...
[2026-08-29 22:48:43,663.663 INFO    ] 200
[2026-08-29 22:48:43,664.664 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:48:43,696.696 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:48:43,697.697 INFO    ] No update needed
[2026-08-29 22:48:43,698.698 INFO    ] Checking for camera pi updates...
[2026-08-29 22:48:43,718.718 INFO    ] 200
[2026-08-29 22:48:43,719.719 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:48:43,744.744 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:48:43,935.935 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:48:43,937.937 INFO    ] No camera update needed
[2026-08-29 22:48:43,939.939 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:48:43,942.942 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:48:43,947.947 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:48:43,952.952 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:48:45,992.992 INFO    ] ================================================
[2026-08-29 22:48:46,008.008 INFO    ] Launching Daemon at Sat Aug 29 22:48:46 IST 2026
[2026-08-29 22:48:46,019.019 INFO    ] ================================================
[2026-08-29 22:48:46,603.603 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:48:46
[2026-08-29 22:48:47,108.108 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:48:47,244.244 INFO    ] Initializing speech engine...
[2026-08-29 22:48:47,257.257 INFO    ] 2026-08-29 22:48:47
[2026-08-29 22:48:47,468.468 INFO    ] 2026-08-29 22:48:47
[2026-08-29 22:48:47,556.556 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:48:47,721.721 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:48:47,730.730 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:48:47,880.880 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:48:47,886.886 INFO    ] time= 29/08/2026 22:48:47
[2026-08-29 22:48:47,930.930 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:48:47,979.979 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:48:48,053.053 INFO    ] No existing commands found in stream
[2026-08-29 22:48:53,067.067 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:48:53,069.069 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-08-29 22:48:57,038.038 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:48:57,040.040 INFO    ] Checking for system updates...
[2026-08-29 22:48:57,060.060 INFO    ] 200
[2026-08-29 22:48:57,061.061 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:48:57,091.091 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:48:57,093.093 INFO    ] No update needed
[2026-08-29 22:48:57,094.094 INFO    ] Checking for camera pi updates...
[2026-08-29 22:48:57,113.113 INFO    ] 200
[2026-08-29 22:48:57,114.114 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:48:57,137.137 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:48:57,223.223 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:48:57,225.225 INFO    ] No camera update needed
[2026-08-29 22:48:57,226.226 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:48:57,227.227 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:48:57,230.230 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:48:57,233.233 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:48:59,271.271 INFO    ] ================================================
[2026-08-29 22:48:59,286.286 INFO    ] Launching Daemon at Sat Aug 29 22:48:59 IST 2026
[2026-08-29 22:48:59,297.297 INFO    ] ================================================
[2026-08-29 22:48:59,843.843 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:48:59
[2026-08-29 22:49:00,435.435 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:49:00,705.705 INFO    ] Initializing speech engine...
[2026-08-29 22:49:00,715.715 INFO    ] 2026-08-29 22:49:00
[2026-08-29 22:49:00,968.968 INFO    ] 2026-08-29 22:49:00
[2026-08-29 22:49:01,001.001 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:49:01,180.180 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:49:01,194.194 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:49:01,306.306 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:49:01,326.326 INFO    ] time= 29/08/2026 22:49:01
[2026-08-29 22:49:01,345.345 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:49:01,354.354 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:49:01,423.423 INFO    ] No existing commands found in stream
[2026-08-29 22:49:06,435.435 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:49:06,438.438 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-08-29 22:49:08,400.400 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:49:08,402.402 INFO    ] Checking for system updates...
[2026-08-29 22:49:08,423.423 INFO    ] 200
[2026-08-29 22:49:08,425.425 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:49:08,457.457 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:49:08,458.458 INFO    ] No update needed
[2026-08-29 22:49:08,459.459 INFO    ] Checking for camera pi updates...
[2026-08-29 22:49:08,478.478 INFO    ] 200
[2026-08-29 22:49:08,479.479 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:49:08,502.502 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:49:08,578.578 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:49:08,579.579 INFO    ] No camera update needed
[2026-08-29 22:49:08,581.581 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:49:08,582.582 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:49:08,585.585 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:49:08,588.588 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:49:10,628.628 INFO    ] ================================================
[2026-08-29 22:49:10,643.643 INFO    ] Launching Daemon at Sat Aug 29 22:49:10 IST 2026
[2026-08-29 22:49:10,654.654 INFO    ] ================================================
[2026-08-29 22:49:11,035.035 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:49:11
[2026-08-29 22:49:11,634.634 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:49:11,909.909 INFO    ] Initializing speech engine...
[2026-08-29 22:49:11,918.918 INFO    ] 2026-08-29 22:49:11
[2026-08-29 22:49:12,172.172 INFO    ] 2026-08-29 22:49:12
[2026-08-29 22:49:12,232.232 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:49:12,374.374 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:49:12,397.397 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:49:12,528.528 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:49:12,536.536 INFO    ] time= 29/08/2026 22:49:12
[2026-08-29 22:49:12,544.544 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:49:12,588.588 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:49:12,708.708 INFO    ] No existing commands found in stream
[2026-08-29 22:49:17,738.738 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:49:17,741.741 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-08-29 22:49:20,537.537 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:49:20,539.539 INFO    ] Checking for system updates...
[2026-08-29 22:49:20,579.579 INFO    ] 200
[2026-08-29 22:49:20,581.581 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:49:20,640.640 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:49:20,643.643 INFO    ] No update needed
[2026-08-29 22:49:20,645.645 INFO    ] Checking for camera pi updates...
[2026-08-29 22:49:20,683.683 INFO    ] 200
[2026-08-29 22:49:20,685.685 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:49:20,730.730 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:49:20,834.834 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:49:20,836.836 INFO    ] No camera update needed
[2026-08-29 22:49:20,839.839 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:49:20,841.841 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:49:20,846.846 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:49:20,851.851 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:49:22,893.893 INFO    ] ================================================
[2026-08-29 22:49:22,909.909 INFO    ] Launching Daemon at Sat Aug 29 22:49:22 IST 2026
[2026-08-29 22:49:22,921.921 INFO    ] ================================================
[2026-08-29 22:49:23,319.319 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:49:23
[2026-08-29 22:49:23,658.658 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:49:23,810.810 INFO    ] Initializing speech engine...
[2026-08-29 22:49:23,816.816 INFO    ] 2026-08-29 22:49:23
[2026-08-29 22:49:24,010.010 INFO    ] 2026-08-29 22:49:24
[2026-08-29 22:49:24,068.068 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:49:24,294.294 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:49:24,305.305 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:49:24,442.442 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:49:24,469.469 INFO    ] time= 29/08/2026 22:49:24
[2026-08-29 22:49:24,524.524 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:49:24,578.578 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:49:24,642.642 INFO    ] No existing commands found in stream
[2026-08-29 22:49:29,654.654 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:49:29,658.658 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-08-29 22:49:32,954.954 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:49:32,957.957 INFO    ] Checking for system updates...
[2026-08-29 22:49:32,994.994 INFO    ] 200
[2026-08-29 22:49:32,997.997 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:49:33,057.057 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:49:33,060.060 INFO    ] No update needed
[2026-08-29 22:49:33,062.062 INFO    ] Checking for camera pi updates...
[2026-08-29 22:49:33,105.105 INFO    ] 200
[2026-08-29 22:49:33,108.108 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:49:33,155.155 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:49:33,241.241 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:49:33,245.245 INFO    ] No camera update needed
[2026-08-29 22:49:33,247.247 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:49:33,250.250 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:49:33,256.256 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:49:33,262.262 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:49:35,304.304 INFO    ] ================================================
[2026-08-29 22:49:35,320.320 INFO    ] Launching Daemon at Sat Aug 29 22:49:35 IST 2026
[2026-08-29 22:49:35,331.331 INFO    ] ================================================
[2026-08-29 22:49:35,679.679 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:49:35
[2026-08-29 22:49:35,999.999 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:49:36,147.147 INFO    ] Initializing speech engine...
[2026-08-29 22:49:36,160.160 INFO    ] 2026-08-29 22:49:36
[2026-08-29 22:49:36,424.424 INFO    ] 2026-08-29 22:49:36
[2026-08-29 22:49:36,460.460 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:49:36,632.632 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:49:36,644.644 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:49:36,785.785 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:49:36,794.794 INFO    ] time= 29/08/2026 22:49:36
[2026-08-29 22:49:36,800.800 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:49:36,851.851 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:49:36,957.957 INFO    ] No existing commands found in stream
[2026-08-29 22:49:41,988.988 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:49:41,991.991 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-08-29 22:49:44,869.869 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:49:44,871.871 INFO    ] Checking for system updates...
[2026-08-29 22:49:44,893.893 INFO    ] 200
[2026-08-29 22:49:44,894.894 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:49:44,926.926 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:49:44,927.927 INFO    ] No update needed
[2026-08-29 22:49:44,929.929 INFO    ] Checking for camera pi updates...
[2026-08-29 22:49:44,949.949 INFO    ] 200
[2026-08-29 22:49:44,951.951 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:49:44,973.973 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:49:45,040.040 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:49:45,042.042 INFO    ] No camera update needed
[2026-08-29 22:49:45,045.045 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:49:45,047.047 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:49:45,053.053 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:49:45,058.058 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:49:47,099.099 INFO    ] ================================================
[2026-08-29 22:49:47,114.114 INFO    ] Launching Daemon at Sat Aug 29 22:49:47 IST 2026
[2026-08-29 22:49:47,126.126 INFO    ] ================================================
[2026-08-29 22:49:47,700.700 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:49:47
[2026-08-29 22:49:48,220.220 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:49:48,365.365 INFO    ] Initializing speech engine...
[2026-08-29 22:49:48,370.370 INFO    ] 2026-08-29 22:49:48
[2026-08-29 22:49:48,572.572 INFO    ] 2026-08-29 22:49:48
[2026-08-29 22:49:48,601.601 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:49:48,726.726 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:49:48,771.771 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:49:48,934.934 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:49:48,996.996 INFO    ] time= 29/08/2026 22:49:48
[2026-08-29 22:49:49,019.019 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:49:49,021.021 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:49:49,076.076 INFO    ] No existing commands found in stream
[2026-08-29 22:49:54,085.085 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:49:54,088.088 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-08-29 22:49:54,863.863 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:49:54,865.865 INFO    ] Checking for system updates...
[2026-08-29 22:49:54,885.885 INFO    ] 200
[2026-08-29 22:49:54,886.886 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:49:54,920.920 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:49:54,922.922 INFO    ] No update needed
[2026-08-29 22:49:54,923.923 INFO    ] Checking for camera pi updates...
[2026-08-29 22:49:54,943.943 INFO    ] 200
[2026-08-29 22:49:54,945.945 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:49:54,969.969 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:49:55,050.050 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:49:55,051.051 INFO    ] No camera update needed
[2026-08-29 22:49:55,053.053 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:49:55,054.054 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:49:55,057.057 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:49:55,059.059 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:49:57,099.099 INFO    ] ================================================
[2026-08-29 22:49:57,114.114 INFO    ] Launching Daemon at Sat Aug 29 22:49:57 IST 2026
[2026-08-29 22:49:57,125.125 INFO    ] ================================================
[2026-08-29 22:49:57,667.667 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:49:57
[2026-08-29 22:49:58,258.258 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:49:58,515.515 INFO    ] Initializing speech engine...
[2026-08-29 22:49:58,521.521 INFO    ] 2026-08-29 22:49:58
[2026-08-29 22:49:58,820.820 INFO    ] 2026-08-29 22:49:58
[2026-08-29 22:49:58,854.854 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:49:59,004.004 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:49:59,011.011 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:49:59,151.151 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:49:59,166.166 INFO    ] time= 29/08/2026 22:49:59
[2026-08-29 22:49:59,176.176 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:49:59,182.182 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:49:59,247.247 INFO    ] No existing commands found in stream
[2026-08-29 22:50:04,261.261 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:50:04,264.264 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-08-29 22:50:08,965.965 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:50:08,968.968 INFO    ] Checking for system updates...
[2026-08-29 22:50:09,004.004 INFO    ] 200
[2026-08-29 22:50:09,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:50:09,065.065 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:50:09,067.067 INFO    ] No update needed
[2026-08-29 22:50:09,070.070 INFO    ] Checking for camera pi updates...
[2026-08-29 22:50:09,109.109 INFO    ] 200
[2026-08-29 22:50:09,112.112 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:50:09,158.158 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:50:09,240.240 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:50:09,243.243 INFO    ] No camera update needed
[2026-08-29 22:50:09,245.245 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:50:09,248.248 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:50:09,254.254 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:50:09,260.260 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:50:11,302.302 INFO    ] ================================================
[2026-08-29 22:50:11,318.318 INFO    ] Launching Daemon at Sat Aug 29 22:50:11 IST 2026
[2026-08-29 22:50:11,328.328 INFO    ] ================================================
[2026-08-29 22:50:11,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:50:11
[2026-08-29 22:50:12,025.025 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:50:12,171.171 INFO    ] Initializing speech engine...
[2026-08-29 22:50:12,182.182 INFO    ] 2026-08-29 22:50:12
[2026-08-29 22:50:12,391.391 INFO    ] 2026-08-29 22:50:12
[2026-08-29 22:50:12,420.420 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:50:12,545.545 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:50:12,608.608 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:50:12,746.746 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:50:12,813.813 INFO    ] time= 29/08/2026 22:50:12
[2026-08-29 22:50:12,844.844 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:50:12,845.845 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:50:12,916.916 INFO    ] No existing commands found in stream
[2026-08-29 22:50:17,927.927 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:50:17,930.930 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-08-29 22:50:21,572.572 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:50:21,574.574 INFO    ] Checking for system updates...
[2026-08-29 22:50:21,594.594 INFO    ] 200
[2026-08-29 22:50:21,596.596 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:50:21,628.628 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:50:21,629.629 INFO    ] No update needed
[2026-08-29 22:50:21,630.630 INFO    ] Checking for camera pi updates...
[2026-08-29 22:50:21,649.649 INFO    ] 200
[2026-08-29 22:50:21,650.650 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:50:21,675.675 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:50:21,801.801 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:50:21,802.802 INFO    ] No camera update needed
[2026-08-29 22:50:21,804.804 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:50:21,805.805 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:50:21,808.808 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:50:21,810.810 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:50:23,850.850 INFO    ] ================================================
[2026-08-29 22:50:23,865.865 INFO    ] Launching Daemon at Sat Aug 29 22:50:23 IST 2026
[2026-08-29 22:50:23,875.875 INFO    ] ================================================
[2026-08-29 22:50:24,205.205 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:50:24
[2026-08-29 22:50:24,517.517 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:50:24,663.663 INFO    ] Initializing speech engine...
[2026-08-29 22:50:24,669.669 INFO    ] 2026-08-29 22:50:24
[2026-08-29 22:50:24,883.883 INFO    ] 2026-08-29 22:50:24
[2026-08-29 22:50:24,913.913 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:50:25,011.011 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:50:25,045.045 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:50:25,199.199 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:50:25,245.245 INFO    ] time= 29/08/2026 22:50:25
[2026-08-29 22:50:25,261.261 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:50:25,313.313 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:50:25,435.435 INFO    ] No existing commands found in stream
[2026-08-29 22:50:30,444.444 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:50:30,447.447 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-08-29 22:50:30,854.854 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:50:30,855.855 INFO    ] Checking for system updates...
[2026-08-29 22:50:30,876.876 INFO    ] 200
[2026-08-29 22:50:30,877.877 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:50:30,907.907 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:50:30,908.908 INFO    ] No update needed
[2026-08-29 22:50:30,910.910 INFO    ] Checking for camera pi updates...
[2026-08-29 22:50:30,929.929 INFO    ] 200
[2026-08-29 22:50:30,930.930 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:50:30,953.953 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:50:31,035.035 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:50:31,037.037 INFO    ] No camera update needed
[2026-08-29 22:50:31,038.038 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:50:31,040.040 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:50:31,043.043 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:50:31,046.046 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:50:33,078.078 INFO    ] ================================================
[2026-08-29 22:50:33,093.093 INFO    ] Launching Daemon at Sat Aug 29 22:50:33 IST 2026
[2026-08-29 22:50:33,104.104 INFO    ] ================================================
[2026-08-29 22:50:33,670.670 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:50:33
[2026-08-29 22:50:34,253.253 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:50:34,528.528 INFO    ] Initializing speech engine...
[2026-08-29 22:50:34,533.533 INFO    ] 2026-08-29 22:50:34
[2026-08-29 22:50:34,783.783 INFO    ] 2026-08-29 22:50:34
[2026-08-29 22:50:34,819.819 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:50:34,996.996 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:50:35,009.009 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:50:35,137.137 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:50:35,157.157 INFO    ] time= 29/08/2026 22:50:35
[2026-08-29 22:50:35,165.165 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:50:35,173.173 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:50:35,236.236 INFO    ] No existing commands found in stream
[2026-08-29 22:50:40,248.248 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:50:40,250.250 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-08-29 22:50:42,925.925 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:50:42,927.927 INFO    ] Checking for system updates...
[2026-08-29 22:50:42,948.948 INFO    ] 200
[2026-08-29 22:50:42,950.950 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:50:42,980.980 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:50:42,982.982 INFO    ] No update needed
[2026-08-29 22:50:42,983.983 INFO    ] Checking for camera pi updates...
[2026-08-29 22:50:43,003.003 INFO    ] 200
[2026-08-29 22:50:43,004.004 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:50:43,027.027 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:50:43,072.072 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:50:43,074.074 INFO    ] No camera update needed
[2026-08-29 22:50:43,075.075 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:50:43,077.077 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:50:43,080.080 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:50:43,083.083 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:50:45,123.123 INFO    ] ================================================
[2026-08-29 22:50:45,139.139 INFO    ] Launching Daemon at Sat Aug 29 22:50:45 IST 2026
[2026-08-29 22:50:45,149.149 INFO    ] ================================================
[2026-08-29 22:50:45,515.515 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:50:45
[2026-08-29 22:50:45,829.829 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:50:45,966.966 INFO    ] Initializing speech engine...
[2026-08-29 22:50:45,976.976 INFO    ] 2026-08-29 22:50:45
[2026-08-29 22:50:46,166.166 INFO    ] 2026-08-29 22:50:46
[2026-08-29 22:50:46,243.243 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:50:46,392.392 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:50:46,401.401 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:50:46,534.534 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:50:46,581.581 INFO    ] time= 29/08/2026 22:50:46
[2026-08-29 22:50:46,625.625 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:50:46,668.668 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:50:46,725.725 INFO    ] No existing commands found in stream
[2026-08-29 22:50:51,736.736 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:50:51,739.739 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-08-29 22:50:55,854.854 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:50:55,856.856 INFO    ] Checking for system updates...
[2026-08-29 22:50:55,876.876 INFO    ] 200
[2026-08-29 22:50:55,878.878 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:50:55,908.908 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:50:55,909.909 INFO    ] No update needed
[2026-08-29 22:50:55,910.910 INFO    ] Checking for camera pi updates...
[2026-08-29 22:50:55,930.930 INFO    ] 200
[2026-08-29 22:50:55,931.931 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:50:55,954.954 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:50:56,129.129 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:50:56,131.131 INFO    ] No camera update needed
[2026-08-29 22:50:56,132.132 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:50:56,134.134 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:50:56,137.137 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:50:56,140.140 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:50:58,179.179 INFO    ] ================================================
[2026-08-29 22:50:58,195.195 INFO    ] Launching Daemon at Sat Aug 29 22:50:58 IST 2026
[2026-08-29 22:50:58,205.205 INFO    ] ================================================
[2026-08-29 22:50:58,576.576 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:50:58
[2026-08-29 22:50:58,909.909 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:50:59,060.060 INFO    ] Initializing speech engine...
[2026-08-29 22:50:59,066.066 INFO    ] 2026-08-29 22:50:59
[2026-08-29 22:50:59,275.275 INFO    ] 2026-08-29 22:50:59
[2026-08-29 22:50:59,304.304 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:50:59,428.428 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:50:59,491.491 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:50:59,632.632 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:50:59,698.698 INFO    ] time= 29/08/2026 22:50:59
[2026-08-29 22:50:59,735.735 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:50:59,798.798 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:50:59,910.910 INFO    ] No existing commands found in stream
[2026-08-29 22:51:04,936.936 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:51:04,939.939 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-08-29 22:51:09,274.274 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:51:09,276.276 INFO    ] Checking for system updates...
[2026-08-29 22:51:09,297.297 INFO    ] 200
[2026-08-29 22:51:09,298.298 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:51:09,328.328 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:51:09,330.330 INFO    ] No update needed
[2026-08-29 22:51:09,331.331 INFO    ] Checking for camera pi updates...
[2026-08-29 22:51:09,350.350 INFO    ] 200
[2026-08-29 22:51:09,352.352 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:51:09,375.375 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:51:09,460.460 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:51:09,461.461 INFO    ] No camera update needed
[2026-08-29 22:51:09,463.463 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:51:09,464.464 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:51:09,467.467 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:51:09,470.470 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:51:11,509.509 INFO    ] ================================================
[2026-08-29 22:51:11,524.524 INFO    ] Launching Daemon at Sat Aug 29 22:51:11 IST 2026
[2026-08-29 22:51:11,535.535 INFO    ] ================================================
[2026-08-29 22:51:12,071.071 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:51:12
[2026-08-29 22:51:12,655.655 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:51:12,917.917 INFO    ] Initializing speech engine...
[2026-08-29 22:51:12,935.935 INFO    ] 2026-08-29 22:51:12
[2026-08-29 22:51:13,187.187 INFO    ] 2026-08-29 22:51:13
[2026-08-29 22:51:13,222.222 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:51:13,399.399 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:51:13,412.412 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:51:13,539.539 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:51:13,563.563 INFO    ] time= 29/08/2026 22:51:13
[2026-08-29 22:51:13,568.568 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:51:13,574.574 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:51:13,642.642 INFO    ] No existing commands found in stream
[2026-08-29 22:51:18,667.667 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:51:18,670.670 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-08-29 22:51:21,473.473 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:51:21,474.474 INFO    ] Checking for system updates...
[2026-08-29 22:51:21,495.495 INFO    ] 200
[2026-08-29 22:51:21,503.503 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:51:21,540.540 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:51:21,541.541 INFO    ] No update needed
[2026-08-29 22:51:21,543.543 INFO    ] Checking for camera pi updates...
[2026-08-29 22:51:21,562.562 INFO    ] 200
[2026-08-29 22:51:21,563.563 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:51:21,586.586 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:51:21,674.674 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:51:21,675.675 INFO    ] No camera update needed
[2026-08-29 22:51:21,676.676 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:51:21,677.677 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:51:21,680.680 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:51:21,683.683 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:51:23,724.724 INFO    ] ================================================
[2026-08-29 22:51:23,739.739 INFO    ] Launching Daemon at Sat Aug 29 22:51:23 IST 2026
[2026-08-29 22:51:23,750.750 INFO    ] ================================================
[2026-08-29 22:51:24,093.093 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:51:24
[2026-08-29 22:51:24,413.413 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:51:24,552.552 INFO    ] Initializing speech engine...
[2026-08-29 22:51:24,563.563 INFO    ] 2026-08-29 22:51:24
[2026-08-29 22:51:24,768.768 INFO    ] 2026-08-29 22:51:24
[2026-08-29 22:51:24,797.797 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:51:24,923.923 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:51:24,986.986 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:51:25,120.120 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:51:25,182.182 INFO    ] time= 29/08/2026 22:51:25
[2026-08-29 22:51:25,215.215 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:51:25,217.217 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:51:25,287.287 INFO    ] No existing commands found in stream
[2026-08-29 22:51:30,297.297 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:51:30,300.300 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-08-29 22:51:31,208.208 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:51:31,209.209 INFO    ] Checking for system updates...
[2026-08-29 22:51:31,229.229 INFO    ] 200
[2026-08-29 22:51:31,231.231 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:51:31,260.260 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:51:31,262.262 INFO    ] No update needed
[2026-08-29 22:51:31,263.263 INFO    ] Checking for camera pi updates...
[2026-08-29 22:51:31,282.282 INFO    ] 200
[2026-08-29 22:51:31,284.284 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:51:31,308.308 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:51:31,404.404 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:51:31,406.406 INFO    ] No camera update needed
[2026-08-29 22:51:31,407.407 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:51:31,408.408 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:51:31,411.411 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:51:31,414.414 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:51:33,454.454 INFO    ] ================================================
[2026-08-29 22:51:33,469.469 INFO    ] Launching Daemon at Sat Aug 29 22:51:33 IST 2026
[2026-08-29 22:51:33,480.480 INFO    ] ================================================
[2026-08-29 22:51:34,124.124 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:51:34
[2026-08-29 22:51:34,787.787 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:51:35,089.089 INFO    ] Initializing speech engine...
[2026-08-29 22:51:35,097.097 INFO    ] 2026-08-29 22:51:35
[2026-08-29 22:51:35,371.371 INFO    ] 2026-08-29 22:51:35
[2026-08-29 22:51:35,423.423 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:51:35,613.613 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:51:35,657.657 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:51:35,808.808 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:51:35,860.860 INFO    ] time= 29/08/2026 22:51:35
[2026-08-29 22:51:35,905.905 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:51:35,910.910 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:51:35,982.982 INFO    ] No existing commands found in stream
[2026-08-29 22:51:40,991.991 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:51:40,994.994 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-08-29 22:51:42,145.145 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:51:42,146.146 INFO    ] Checking for system updates...
[2026-08-29 22:51:42,167.167 INFO    ] 200
[2026-08-29 22:51:42,168.168 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:51:42,198.198 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:51:42,200.200 INFO    ] No update needed
[2026-08-29 22:51:42,201.201 INFO    ] Checking for camera pi updates...
[2026-08-29 22:51:42,221.221 INFO    ] 200
[2026-08-29 22:51:42,222.222 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:51:42,245.245 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:51:42,321.321 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:51:42,322.322 INFO    ] No camera update needed
[2026-08-29 22:51:42,324.324 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:51:42,325.325 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:51:42,328.328 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:51:42,331.331 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:51:44,371.371 INFO    ] ================================================
[2026-08-29 22:51:44,386.386 INFO    ] Launching Daemon at Sat Aug 29 22:51:44 IST 2026
[2026-08-29 22:51:44,397.397 INFO    ] ================================================
[2026-08-29 22:51:44,764.764 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:51:44
[2026-08-29 22:51:45,100.100 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:51:45,296.296 INFO    ] Initializing speech engine...
[2026-08-29 22:51:45,303.303 INFO    ] 2026-08-29 22:51:45
[2026-08-29 22:51:45,578.578 INFO    ] 2026-08-29 22:51:45
[2026-08-29 22:51:45,635.635 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:51:45,858.858 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:51:45,868.868 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:51:46,001.001 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:51:46,049.049 INFO    ] time= 29/08/2026 22:51:46
[2026-08-29 22:51:46,109.109 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:51:46,139.139 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:51:46,254.254 INFO    ] No existing commands found in stream
[2026-08-29 22:51:51,282.282 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:51:51,285.285 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-08-29 22:51:53,692.692 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:51:53,694.694 INFO    ] Checking for system updates...
[2026-08-29 22:51:53,714.714 INFO    ] 200
[2026-08-29 22:51:53,716.716 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:51:53,745.745 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:51:53,747.747 INFO    ] No update needed
[2026-08-29 22:51:53,748.748 INFO    ] Checking for camera pi updates...
[2026-08-29 22:51:53,769.769 INFO    ] 200
[2026-08-29 22:51:53,771.771 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:51:53,799.799 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:51:53,888.888 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:51:53,891.891 INFO    ] No camera update needed
[2026-08-29 22:51:53,893.893 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:51:53,896.896 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:51:53,901.901 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:51:53,906.906 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:51:55,946.946 INFO    ] ================================================
[2026-08-29 22:51:55,962.962 INFO    ] Launching Daemon at Sat Aug 29 22:51:55 IST 2026
[2026-08-29 22:51:55,972.972 INFO    ] ================================================
[2026-08-29 22:51:56,545.545 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:51:56
[2026-08-29 22:51:56,984.984 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:51:57,115.115 INFO    ] Initializing speech engine...
[2026-08-29 22:51:57,119.119 INFO    ] 2026-08-29 22:51:57
[2026-08-29 22:51:57,309.309 INFO    ] 2026-08-29 22:51:57
[2026-08-29 22:51:57,373.373 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:51:57,520.520 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:51:57,533.533 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:51:57,644.644 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:51:57,649.649 INFO    ] time= 29/08/2026 22:51:57
[2026-08-29 22:51:57,667.667 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:51:57,688.688 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:51:57,762.762 INFO    ] No existing commands found in stream
[2026-08-29 22:52:02,774.774 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:52:02,777.777 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-08-29 22:52:06,614.614 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:52:06,615.615 INFO    ] Checking for system updates...
[2026-08-29 22:52:06,637.637 INFO    ] 200
[2026-08-29 22:52:06,639.639 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:52:06,669.669 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:52:06,670.670 INFO    ] No update needed
[2026-08-29 22:52:06,671.671 INFO    ] Checking for camera pi updates...
[2026-08-29 22:52:06,693.693 INFO    ] 200
[2026-08-29 22:52:06,694.694 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:52:06,742.742 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:52:06,824.824 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:52:06,826.826 INFO    ] No camera update needed
[2026-08-29 22:52:06,829.829 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:52:06,831.831 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:52:06,836.836 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:52:06,841.841 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:52:08,884.884 INFO    ] ================================================
[2026-08-29 22:52:08,900.900 INFO    ] Launching Daemon at Sat Aug 29 22:52:08 IST 2026
[2026-08-29 22:52:08,911.911 INFO    ] ================================================
[2026-08-29 22:52:09,501.501 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:52:09
[2026-08-29 22:52:09,976.976 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:52:10,112.112 INFO    ] Initializing speech engine...
[2026-08-29 22:52:10,115.115 INFO    ] 2026-08-29 22:52:10
[2026-08-29 22:52:10,319.319 INFO    ] 2026-08-29 22:52:10
[2026-08-29 22:52:10,356.356 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:52:10,543.543 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:52:10,549.549 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:52:10,684.684 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:52:10,691.691 INFO    ] time= 29/08/2026 22:52:10
[2026-08-29 22:52:10,710.710 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:52:10,731.731 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:52:10,817.817 INFO    ] No existing commands found in stream
[2026-08-29 22:52:15,829.829 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:52:15,832.832 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-08-29 22:52:18,356.356 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:52:18,358.358 INFO    ] Checking for system updates...
[2026-08-29 22:52:18,378.378 INFO    ] 200
[2026-08-29 22:52:18,380.380 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:52:18,412.412 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:52:18,414.414 INFO    ] No update needed
[2026-08-29 22:52:18,415.415 INFO    ] Checking for camera pi updates...
[2026-08-29 22:52:18,434.434 INFO    ] 200
[2026-08-29 22:52:18,435.435 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:52:18,458.458 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:52:18,551.551 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:52:18,554.554 INFO    ] No camera update needed
[2026-08-29 22:52:18,556.556 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:52:18,559.559 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:52:18,564.564 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:52:18,569.569 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:52:20,610.610 INFO    ] ================================================
[2026-08-29 22:52:20,629.629 INFO    ] Launching Daemon at Sat Aug 29 22:52:20 IST 2026
[2026-08-29 22:52:20,643.643 INFO    ] ================================================
[2026-08-29 22:52:21,216.216 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:52:21
[2026-08-29 22:52:21,724.724 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:52:21,878.878 INFO    ] Initializing speech engine...
[2026-08-29 22:52:21,885.885 INFO    ] 2026-08-29 22:52:21
[2026-08-29 22:52:22,187.187 INFO    ] 2026-08-29 22:52:22
[2026-08-29 22:52:22,221.221 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:52:22,372.372 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:52:22,379.379 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:52:22,520.520 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:52:22,536.536 INFO    ] time= 29/08/2026 22:52:22
[2026-08-29 22:52:22,546.546 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:52:22,551.551 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:52:22,617.617 INFO    ] No existing commands found in stream
[2026-08-29 22:52:27,631.631 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:52:27,634.634 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-08-29 22:52:29,162.162 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:52:29,163.163 INFO    ] Checking for system updates...
[2026-08-29 22:52:29,184.184 INFO    ] 200
[2026-08-29 22:52:29,186.186 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:52:29,231.231 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:52:29,234.234 INFO    ] No update needed
[2026-08-29 22:52:29,236.236 INFO    ] Checking for camera pi updates...
[2026-08-29 22:52:29,274.274 INFO    ] 200
[2026-08-29 22:52:29,276.276 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:52:29,317.317 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:52:29,406.406 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:52:29,409.409 INFO    ] No camera update needed
[2026-08-29 22:52:29,411.411 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:52:29,414.414 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:52:29,419.419 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:52:29,424.424 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:52:31,463.463 INFO    ] ================================================
[2026-08-29 22:52:31,484.484 INFO    ] Launching Daemon at Sat Aug 29 22:52:31 IST 2026
[2026-08-29 22:52:31,495.495 INFO    ] ================================================
[2026-08-29 22:52:32,115.115 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:52:32
[2026-08-29 22:52:32,663.663 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:52:32,986.986 INFO    ] Initializing speech engine...
[2026-08-29 22:52:32,994.994 INFO    ] 2026-08-29 22:52:32
[2026-08-29 22:52:33,269.269 INFO    ] 2026-08-29 22:52:33
[2026-08-29 22:52:33,309.309 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:52:33,465.465 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:52:33,468.468 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:52:33,629.629 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:52:33,638.638 INFO    ] time= 29/08/2026 22:52:33
[2026-08-29 22:52:33,642.642 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:52:33,647.647 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:52:33,718.718 INFO    ] No existing commands found in stream
[2026-08-29 22:52:38,730.730 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:52:38,733.733 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-08-29 22:52:40,594.594 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:52:40,597.597 INFO    ] Checking for system updates...
[2026-08-29 22:52:40,632.632 INFO    ] 200
[2026-08-29 22:52:40,634.634 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:52:40,687.687 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:52:40,689.689 INFO    ] No update needed
[2026-08-29 22:52:40,692.692 INFO    ] Checking for camera pi updates...
[2026-08-29 22:52:40,726.726 INFO    ] 200
[2026-08-29 22:52:40,729.729 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:52:40,769.769 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:52:40,883.883 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:52:40,886.886 INFO    ] No camera update needed
[2026-08-29 22:52:40,888.888 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:52:40,890.890 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:52:40,896.896 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:52:40,901.901 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:52:42,941.941 INFO    ] ================================================
[2026-08-29 22:52:42,958.958 INFO    ] Launching Daemon at Sat Aug 29 22:52:42 IST 2026
[2026-08-29 22:52:42,969.969 INFO    ] ================================================
[2026-08-29 22:52:43,551.551 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:52:43
[2026-08-29 22:52:43,902.902 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:52:44,046.046 INFO    ] Initializing speech engine...
[2026-08-29 22:52:44,052.052 INFO    ] 2026-08-29 22:52:44
[2026-08-29 22:52:44,247.247 INFO    ] 2026-08-29 22:52:44
[2026-08-29 22:52:44,301.301 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:52:44,443.443 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:52:44,468.468 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:52:44,597.597 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:52:44,605.605 INFO    ] time= 29/08/2026 22:52:44
[2026-08-29 22:52:44,612.612 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:52:44,632.632 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:52:44,761.761 INFO    ] No existing commands found in stream
[2026-08-29 22:52:49,792.792 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:52:49,795.795 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-08-29 22:52:51,234.234 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:52:51,236.236 INFO    ] Checking for system updates...
[2026-08-29 22:52:51,257.257 INFO    ] 200
[2026-08-29 22:52:51,259.259 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:52:51,288.288 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:52:51,289.289 INFO    ] No update needed
[2026-08-29 22:52:51,291.291 INFO    ] Checking for camera pi updates...
[2026-08-29 22:52:51,310.310 INFO    ] 200
[2026-08-29 22:52:51,311.311 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:52:51,334.334 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:52:51,429.429 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:52:51,430.430 INFO    ] No camera update needed
[2026-08-29 22:52:51,431.431 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:52:51,433.433 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:52:51,436.436 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:52:51,438.438 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:52:53,476.476 INFO    ] ================================================
[2026-08-29 22:52:53,491.491 INFO    ] Launching Daemon at Sat Aug 29 22:52:53 IST 2026
[2026-08-29 22:52:53,502.502 INFO    ] ================================================
[2026-08-29 22:52:53,982.982 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:52:53
[2026-08-29 22:52:54,566.566 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:52:54,811.811 INFO    ] Initializing speech engine...
[2026-08-29 22:52:54,819.819 INFO    ] 2026-08-29 22:52:54
[2026-08-29 22:52:55,094.094 INFO    ] 2026-08-29 22:52:55
[2026-08-29 22:52:55,129.129 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:52:55,310.310 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:52:55,327.327 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:52:55,461.461 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:52:55,467.467 INFO    ] time= 29/08/2026 22:52:55
[2026-08-29 22:52:55,472.472 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:52:55,502.502 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:52:55,586.586 INFO    ] No existing commands found in stream
[2026-08-29 22:53:00,598.598 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:53:00,601.601 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-08-29 22:53:03,910.910 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:53:03,913.913 INFO    ] Checking for system updates...
[2026-08-29 22:53:03,950.950 INFO    ] 200
[2026-08-29 22:53:03,952.952 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:53:04,004.004 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:53:04,006.006 INFO    ] No update needed
[2026-08-29 22:53:04,009.009 INFO    ] Checking for camera pi updates...
[2026-08-29 22:53:04,043.043 INFO    ] 200
[2026-08-29 22:53:04,045.045 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:53:04,085.085 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:53:04,184.184 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:53:04,186.186 INFO    ] No camera update needed
[2026-08-29 22:53:04,188.188 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:53:04,190.190 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:53:04,196.196 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:53:04,200.200 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:53:06,240.240 INFO    ] ================================================
[2026-08-29 22:53:06,255.255 INFO    ] Launching Daemon at Sat Aug 29 22:53:06 IST 2026
[2026-08-29 22:53:06,265.265 INFO    ] ================================================
[2026-08-29 22:53:06,608.608 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:53:06
[2026-08-29 22:53:06,918.918 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:53:07,060.060 INFO    ] Initializing speech engine...
[2026-08-29 22:53:07,071.071 INFO    ] 2026-08-29 22:53:07
[2026-08-29 22:53:07,288.288 INFO    ] 2026-08-29 22:53:07
[2026-08-29 22:53:07,331.331 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:53:07,558.558 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:53:07,565.565 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:53:07,697.697 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:53:07,749.749 INFO    ] time= 29/08/2026 22:53:07
[2026-08-29 22:53:07,804.804 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:53:07,831.831 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:53:07,886.886 INFO    ] No existing commands found in stream
[2026-08-29 22:53:12,898.898 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:53:12,901.901 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-08-29 22:53:16,795.795 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:53:16,797.797 INFO    ] Checking for system updates...
[2026-08-29 22:53:16,818.818 INFO    ] 200
[2026-08-29 22:53:16,820.820 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:53:16,850.850 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:53:16,851.851 INFO    ] No update needed
[2026-08-29 22:53:16,852.852 INFO    ] Checking for camera pi updates...
[2026-08-29 22:53:16,873.873 INFO    ] 200
[2026-08-29 22:53:16,874.874 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:53:16,897.897 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:53:16,987.987 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:53:16,988.988 INFO    ] No camera update needed
[2026-08-29 22:53:16,989.989 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:53:16,990.990 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:53:16,993.993 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:53:16,996.996 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:53:19,035.035 INFO    ] ================================================
[2026-08-29 22:53:19,050.050 INFO    ] Launching Daemon at Sat Aug 29 22:53:19 IST 2026
[2026-08-29 22:53:19,061.061 INFO    ] ================================================
[2026-08-29 22:53:19,544.544 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:53:19
[2026-08-29 22:53:20,130.130 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:53:20,400.400 INFO    ] Initializing speech engine...
[2026-08-29 22:53:20,409.409 INFO    ] 2026-08-29 22:53:20
[2026-08-29 22:53:20,657.657 INFO    ] 2026-08-29 22:53:20
[2026-08-29 22:53:20,693.693 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:53:20,866.866 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:53:20,878.878 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:53:20,987.987 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:53:21,005.005 INFO    ] time= 29/08/2026 22:53:20
[2026-08-29 22:53:21,025.025 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:53:21,033.033 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:53:21,103.103 INFO    ] No existing commands found in stream
[2026-08-29 22:53:26,117.117 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:53:26,120.120 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-08-29 22:53:28,730.730 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:53:28,731.731 INFO    ] Checking for system updates...
[2026-08-29 22:53:28,752.752 INFO    ] 200
[2026-08-29 22:53:28,754.754 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:53:28,783.783 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:53:28,785.785 INFO    ] No update needed
[2026-08-29 22:53:28,786.786 INFO    ] Checking for camera pi updates...
[2026-08-29 22:53:28,807.807 INFO    ] 200
[2026-08-29 22:53:28,808.808 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:53:28,838.838 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:53:28,939.939 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:53:28,942.942 INFO    ] No camera update needed
[2026-08-29 22:53:28,944.944 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:53:28,946.946 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:53:28,952.952 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:53:28,957.957 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:53:31,998.998 INFO    ] ================================================
[2026-08-29 22:53:31,013.013 INFO    ] Launching Daemon at Sat Aug 29 22:53:31 IST 2026
[2026-08-29 22:53:31,024.024 INFO    ] ================================================
[2026-08-29 22:53:31,614.614 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:53:31
[2026-08-29 22:53:32,149.149 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:53:32,436.436 INFO    ] Initializing speech engine...
[2026-08-29 22:53:32,443.443 INFO    ] 2026-08-29 22:53:32
[2026-08-29 22:53:32,719.719 INFO    ] 2026-08-29 22:53:32
[2026-08-29 22:53:32,756.756 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:53:32,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:53:32,946.946 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:53:33,055.055 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:53:33,062.062 INFO    ] time= 29/08/2026 22:53:33
[2026-08-29 22:53:33,080.080 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:53:33,100.100 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:53:33,173.173 INFO    ] No existing commands found in stream
[2026-08-29 22:53:38,185.185 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:53:38,188.188 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-08-29 22:53:41,916.916 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:53:41,917.917 INFO    ] Checking for system updates...
[2026-08-29 22:53:41,938.938 INFO    ] 200
[2026-08-29 22:53:41,940.940 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:53:41,971.971 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:53:41,973.973 INFO    ] No update needed
[2026-08-29 22:53:41,974.974 INFO    ] Checking for camera pi updates...
[2026-08-29 22:53:41,993.993 INFO    ] 200
[2026-08-29 22:53:41,994.994 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:53:42,018.018 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:53:42,095.095 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:53:42,097.097 INFO    ] No camera update needed
[2026-08-29 22:53:42,098.098 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:53:42,099.099 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:53:42,102.102 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:53:42,105.105 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:53:44,142.142 INFO    ] ================================================
[2026-08-29 22:53:44,157.157 INFO    ] Launching Daemon at Sat Aug 29 22:53:44 IST 2026
[2026-08-29 22:53:44,168.168 INFO    ] ================================================
[2026-08-29 22:53:44,517.517 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:53:44
[2026-08-29 22:53:44,828.828 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:53:44,969.969 INFO    ] Initializing speech engine...
[2026-08-29 22:53:44,974.974 INFO    ] 2026-08-29 22:53:44
[2026-08-29 22:53:45,159.159 INFO    ] 2026-08-29 22:53:45
[2026-08-29 22:53:45,214.214 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:53:45,375.375 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:53:45,383.383 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:53:45,510.510 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:53:45,515.515 INFO    ] time= 29/08/2026 22:53:45
[2026-08-29 22:53:45,521.521 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:53:45,552.552 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:53:45,680.680 INFO    ] No existing commands found in stream
[2026-08-29 22:53:50,716.716 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:53:50,718.718 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-08-29 22:53:54,536.536 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:53:54,537.537 INFO    ] Checking for system updates...
[2026-08-29 22:53:54,558.558 INFO    ] 200
[2026-08-29 22:53:54,559.559 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:53:54,591.591 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:53:54,592.592 INFO    ] No update needed
[2026-08-29 22:53:54,594.594 INFO    ] Checking for camera pi updates...
[2026-08-29 22:53:54,613.613 INFO    ] 200
[2026-08-29 22:53:54,614.614 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:53:54,641.641 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:53:54,744.744 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:53:54,745.745 INFO    ] No camera update needed
[2026-08-29 22:53:54,746.746 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:53:54,747.747 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:53:54,750.750 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:53:54,753.753 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:53:56,791.791 INFO    ] ================================================
[2026-08-29 22:53:56,806.806 INFO    ] Launching Daemon at Sat Aug 29 22:53:56 IST 2026
[2026-08-29 22:53:56,817.817 INFO    ] ================================================
[2026-08-29 22:53:57,177.177 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:53:57
[2026-08-29 22:53:57,490.490 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:53:57,626.626 INFO    ] Initializing speech engine...
[2026-08-29 22:53:57,635.635 INFO    ] 2026-08-29 22:53:57
[2026-08-29 22:53:57,887.887 INFO    ] 2026-08-29 22:53:57
[2026-08-29 22:53:57,925.925 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:53:58,120.120 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:53:58,127.127 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:53:58,256.256 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:53:58,263.263 INFO    ] time= 29/08/2026 22:53:58
[2026-08-29 22:53:58,282.282 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:53:58,303.303 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:53:58,384.384 INFO    ] No existing commands found in stream
[2026-08-29 22:54:03,395.395 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:54:03,398.398 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-08-29 22:54:06,576.576 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:54:06,578.578 INFO    ] Checking for system updates...
[2026-08-29 22:54:06,598.598 INFO    ] 200
[2026-08-29 22:54:06,599.599 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:54:06,631.631 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:54:06,632.632 INFO    ] No update needed
[2026-08-29 22:54:06,634.634 INFO    ] Checking for camera pi updates...
[2026-08-29 22:54:06,655.655 INFO    ] 200
[2026-08-29 22:54:06,656.656 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:54:06,679.679 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:54:06,779.779 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:54:06,781.781 INFO    ] No camera update needed
[2026-08-29 22:54:06,784.784 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:54:06,786.786 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:54:06,791.791 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:54:06,796.796 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:54:08,835.835 INFO    ] ================================================
[2026-08-29 22:54:08,850.850 INFO    ] Launching Daemon at Sat Aug 29 22:54:08 IST 2026
[2026-08-29 22:54:08,860.860 INFO    ] ================================================
[2026-08-29 22:54:09,440.440 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:54:09
[2026-08-29 22:54:09,965.965 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:54:10,097.097 INFO    ] Initializing speech engine...
[2026-08-29 22:54:10,105.105 INFO    ] 2026-08-29 22:54:10
[2026-08-29 22:54:10,317.317 INFO    ] 2026-08-29 22:54:10
[2026-08-29 22:54:10,346.346 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:54:10,467.467 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:54:10,525.525 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:54:10,659.659 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:54:10,726.726 INFO    ] time= 29/08/2026 22:54:10
[2026-08-29 22:54:10,758.758 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:54:10,765.765 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:54:10,831.831 INFO    ] No existing commands found in stream
[2026-08-29 22:54:15,841.841 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:54:15,844.844 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-08-29 22:54:19,275.275 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:54:19,277.277 INFO    ] Checking for system updates...
[2026-08-29 22:54:19,298.298 INFO    ] 200
[2026-08-29 22:54:19,300.300 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:54:19,334.334 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:54:19,335.335 INFO    ] No update needed
[2026-08-29 22:54:19,337.337 INFO    ] Checking for camera pi updates...
[2026-08-29 22:54:19,357.357 INFO    ] 200
[2026-08-29 22:54:19,358.358 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:54:19,381.381 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:54:19,474.474 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:54:19,476.476 INFO    ] No camera update needed
[2026-08-29 22:54:19,477.477 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:54:19,478.478 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:54:19,481.481 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:54:19,484.484 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:54:21,522.522 INFO    ] ================================================
[2026-08-29 22:54:21,538.538 INFO    ] Launching Daemon at Sat Aug 29 22:54:21 IST 2026
[2026-08-29 22:54:21,548.548 INFO    ] ================================================
[2026-08-29 22:54:21,873.873 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:54:21
[2026-08-29 22:54:22,184.184 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:54:22,321.321 INFO    ] Initializing speech engine...
[2026-08-29 22:54:22,331.331 INFO    ] 2026-08-29 22:54:22
[2026-08-29 22:54:22,535.535 INFO    ] 2026-08-29 22:54:22
[2026-08-29 22:54:22,592.592 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:54:22,739.739 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:54:22,748.748 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:54:22,897.897 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:54:22,904.904 INFO    ] time= 29/08/2026 22:54:22
[2026-08-29 22:54:22,953.953 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:54:23,007.007 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:54:23,087.087 INFO    ] No existing commands found in stream
[2026-08-29 22:54:28,098.098 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:54:28,101.101 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-08-29 22:54:30,765.765 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:54:30,767.767 INFO    ] Checking for system updates...
[2026-08-29 22:54:30,788.788 INFO    ] 200
[2026-08-29 22:54:30,790.790 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:54:30,819.819 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:54:30,821.821 INFO    ] No update needed
[2026-08-29 22:54:30,822.822 INFO    ] Checking for camera pi updates...
[2026-08-29 22:54:30,842.842 INFO    ] 200
[2026-08-29 22:54:30,843.843 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:54:30,866.866 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:54:30,942.942 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:54:30,944.944 INFO    ] No camera update needed
[2026-08-29 22:54:30,945.945 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:54:30,946.946 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:54:30,949.949 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:54:30,952.952 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:54:32,990.990 INFO    ] ================================================
[2026-08-29 22:54:33,005.005 INFO    ] Launching Daemon at Sat Aug 29 22:54:33 IST 2026
[2026-08-29 22:54:33,016.016 INFO    ] ================================================
[2026-08-29 22:54:33,587.587 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:54:33
[2026-08-29 22:54:34,175.175 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:54:34,446.446 INFO    ] Initializing speech engine...
[2026-08-29 22:54:34,455.455 INFO    ] 2026-08-29 22:54:34
[2026-08-29 22:54:34,707.707 INFO    ] 2026-08-29 22:54:34
[2026-08-29 22:54:34,740.740 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:54:34,918.918 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:54:34,931.931 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:54:35,070.070 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:54:35,119.119 INFO    ] time= 29/08/2026 22:54:35
[2026-08-29 22:54:35,139.139 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:54:35,147.147 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:54:35,223.223 INFO    ] No existing commands found in stream
[2026-08-29 22:54:40,256.256 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:54:40,259.259 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-08-29 22:54:41,512.512 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:54:41,514.514 INFO    ] Checking for system updates...
[2026-08-29 22:54:41,548.548 INFO    ] 200
[2026-08-29 22:54:41,549.549 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:54:41,580.580 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:54:41,581.581 INFO    ] No update needed
[2026-08-29 22:54:41,583.583 INFO    ] Checking for camera pi updates...
[2026-08-29 22:54:41,602.602 INFO    ] 200
[2026-08-29 22:54:41,603.603 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:54:41,627.627 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:54:41,702.702 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:54:41,703.703 INFO    ] No camera update needed
[2026-08-29 22:54:41,704.704 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:54:41,705.705 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:54:41,708.708 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:54:41,711.711 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:54:43,749.749 INFO    ] ================================================
[2026-08-29 22:54:43,764.764 INFO    ] Launching Daemon at Sat Aug 29 22:54:43 IST 2026
[2026-08-29 22:54:43,774.774 INFO    ] ================================================
[2026-08-29 22:54:44,097.097 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:54:44
[2026-08-29 22:54:44,407.407 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:54:44,626.626 INFO    ] Initializing speech engine...
[2026-08-29 22:54:44,634.634 INFO    ] 2026-08-29 22:54:44
[2026-08-29 22:54:44,911.911 INFO    ] 2026-08-29 22:54:44
[2026-08-29 22:54:44,958.958 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:54:45,127.127 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:54:45,139.139 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:54:45,274.274 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:54:45,287.287 INFO    ] time= 29/08/2026 22:54:45
[2026-08-29 22:54:45,294.294 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:54:45,340.340 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:54:45,456.456 INFO    ] No existing commands found in stream
[2026-08-29 22:54:50,479.479 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:54:50,482.482 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-08-29 22:54:53,566.566 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:54:53,567.567 INFO    ] Checking for system updates...
[2026-08-29 22:54:53,588.588 INFO    ] 200
[2026-08-29 22:54:53,589.589 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:54:53,621.621 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:54:53,622.622 INFO    ] No update needed
[2026-08-29 22:54:53,623.623 INFO    ] Checking for camera pi updates...
[2026-08-29 22:54:53,642.642 INFO    ] 200
[2026-08-29 22:54:53,644.644 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:54:53,669.669 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:54:53,767.767 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:54:53,768.768 INFO    ] No camera update needed
[2026-08-29 22:54:53,769.769 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:54:53,770.770 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:54:53,773.773 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:54:53,776.776 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:54:55,815.815 INFO    ] ================================================
[2026-08-29 22:54:55,832.832 INFO    ] Launching Daemon at Sat Aug 29 22:54:55 IST 2026
[2026-08-29 22:54:55,843.843 INFO    ] ================================================
[2026-08-29 22:54:56,412.412 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:54:56
[2026-08-29 22:54:56,998.998 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:54:57,249.249 INFO    ] Initializing speech engine...
[2026-08-29 22:54:57,255.255 INFO    ] 2026-08-29 22:54:57
[2026-08-29 22:54:57,531.531 INFO    ] 2026-08-29 22:54:57
[2026-08-29 22:54:57,566.566 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:54:58,047.047 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:54:58,094.094 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:55:04,177.177 INFO    ] MachineMessageSender.__init__: Redis error: Timeout reading from socket
[2026-08-29 22:55:04,197.197 INFO    ] Exiting as MachineMessageSender redis not connected!!!
[2026-08-29 22:55:04,199.199 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:55:04,203.203 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:55:04,206.206 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:55:06,245.245 INFO    ] ================================================
[2026-08-29 22:55:06,262.262 INFO    ] Launching Daemon at Sat Aug 29 22:55:06 IST 2026
[2026-08-29 22:55:06,274.274 INFO    ] ================================================
[2026-08-29 22:55:06,893.893 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:55:06
[2026-08-29 22:55:07,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:55:07,580.580 INFO    ] Initializing speech engine...
[2026-08-29 22:55:07,603.603 INFO    ] 2026-08-29 22:55:07
[2026-08-29 22:55:07,854.854 INFO    ] 2026-08-29 22:55:07
[2026-08-29 22:55:07,887.887 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:55:08,026.026 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:55:08,034.034 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:55:08,169.169 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:55:08,177.177 INFO    ] time= 29/08/2026 22:55:08
[2026-08-29 22:55:08,183.183 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:55:08,204.204 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:55:08,251.251 INFO    ] No existing commands found in stream
[2026-08-29 22:55:13,263.263 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:55:13,266.266 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-08-29 22:55:16,539.539 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:55:16,540.540 INFO    ] Checking for system updates...
[2026-08-29 22:55:16,561.561 INFO    ] 200
[2026-08-29 22:55:16,562.562 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:55:16,592.592 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:55:16,593.593 INFO    ] No update needed
[2026-08-29 22:55:16,594.594 INFO    ] Checking for camera pi updates...
[2026-08-29 22:55:16,617.617 INFO    ] 200
[2026-08-29 22:55:16,618.618 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:55:16,643.643 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:55:16,837.837 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:55:16,840.840 INFO    ] No camera update needed
[2026-08-29 22:55:16,842.842 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:55:16,844.844 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:55:16,850.850 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:55:16,855.855 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:55:18,895.895 INFO    ] ================================================
[2026-08-29 22:55:18,911.911 INFO    ] Launching Daemon at Sat Aug 29 22:55:18 IST 2026
[2026-08-29 22:55:18,922.922 INFO    ] ================================================
[2026-08-29 22:55:19,255.255 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:55:19
[2026-08-29 22:55:19,836.836 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:55:20,107.107 INFO    ] Initializing speech engine...
[2026-08-29 22:55:20,113.113 INFO    ] 2026-08-29 22:55:20
[2026-08-29 22:55:20,373.373 INFO    ] 2026-08-29 22:55:20
[2026-08-29 22:55:20,426.426 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:55:20,566.566 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:55:20,579.579 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:55:20,719.719 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:55:20,728.728 INFO    ] time= 29/08/2026 22:55:20
[2026-08-29 22:55:20,734.734 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:55:20,780.780 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:55:20,902.902 INFO    ] No existing commands found in stream
[2026-08-29 22:55:25,927.927 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:55:25,930.930 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-08-29 22:55:29,000.000 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:55:29,001.001 INFO    ] Checking for system updates...
[2026-08-29 22:55:29,022.022 INFO    ] 200
[2026-08-29 22:55:29,024.024 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:55:29,055.055 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:55:29,056.056 INFO    ] No update needed
[2026-08-29 22:55:29,057.057 INFO    ] Checking for camera pi updates...
[2026-08-29 22:55:29,076.076 INFO    ] 200
[2026-08-29 22:55:29,078.078 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:55:29,101.101 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:55:29,203.203 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:55:29,205.205 INFO    ] No camera update needed
[2026-08-29 22:55:29,206.206 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:55:29,207.207 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:55:29,210.210 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:55:29,213.213 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:55:31,251.251 INFO    ] ================================================
[2026-08-29 22:55:31,267.267 INFO    ] Launching Daemon at Sat Aug 29 22:55:31 IST 2026
[2026-08-29 22:55:31,278.278 INFO    ] ================================================
[2026-08-29 22:55:31,655.655 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:55:31
[2026-08-29 22:55:31,984.984 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:55:32,224.224 INFO    ] Initializing speech engine...
[2026-08-29 22:55:32,236.236 INFO    ] 2026-08-29 22:55:32
[2026-08-29 22:55:32,524.524 INFO    ] 2026-08-29 22:55:32
[2026-08-29 22:55:32,580.580 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:55:32,820.820 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:55:32,830.830 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:55:32,968.968 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:55:33,001.001 INFO    ] time= 29/08/2026 22:55:32
[2026-08-29 22:55:33,058.058 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:55:33,118.118 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:55:33,179.179 INFO    ] No existing commands found in stream
[2026-08-29 22:55:38,192.192 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:55:38,195.195 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-08-29 22:55:39,106.106 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:55:39,107.107 INFO    ] Checking for system updates...
[2026-08-29 22:55:39,129.129 INFO    ] 200
[2026-08-29 22:55:39,131.131 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:55:39,162.162 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:55:39,164.164 INFO    ] No update needed
[2026-08-29 22:55:39,165.165 INFO    ] Checking for camera pi updates...
[2026-08-29 22:55:39,184.184 INFO    ] 200
[2026-08-29 22:55:39,185.185 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:55:39,209.209 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:55:39,287.287 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:55:39,289.289 INFO    ] No camera update needed
[2026-08-29 22:55:39,290.290 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:55:39,291.291 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:55:39,294.294 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:55:39,297.297 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:55:41,336.336 INFO    ] ================================================
[2026-08-29 22:55:41,352.352 INFO    ] Launching Daemon at Sat Aug 29 22:55:41 IST 2026
[2026-08-29 22:55:41,362.362 INFO    ] ================================================
[2026-08-29 22:55:41,688.688 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:55:41
[2026-08-29 22:55:41,999.999 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:55:42,132.132 INFO    ] Initializing speech engine...
[2026-08-29 22:55:42,143.143 INFO    ] 2026-08-29 22:55:42
[2026-08-29 22:55:42,354.354 INFO    ] 2026-08-29 22:55:42
[2026-08-29 22:55:42,384.384 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:55:42,528.528 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:55:42,564.564 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:55:42,708.708 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:55:42,715.715 INFO    ] time= 29/08/2026 22:55:42
[2026-08-29 22:55:42,734.734 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:55:42,763.763 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:55:42,859.859 INFO    ] No existing commands found in stream
[2026-08-29 22:55:47,884.884 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:55:47,886.886 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-08-29 22:55:49,925.925 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:55:49,926.926 INFO    ] Checking for system updates...
[2026-08-29 22:55:49,949.949 INFO    ] 200
[2026-08-29 22:55:49,950.950 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:55:49,980.980 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:55:49,982.982 INFO    ] No update needed
[2026-08-29 22:55:49,983.983 INFO    ] Checking for camera pi updates...
[2026-08-29 22:55:50,002.002 INFO    ] 200
[2026-08-29 22:55:50,004.004 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:55:50,027.027 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:55:50,118.118 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:55:50,119.119 INFO    ] No camera update needed
[2026-08-29 22:55:50,121.121 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:55:50,122.122 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:55:50,125.125 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:55:50,127.127 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:55:52,165.165 INFO    ] ================================================
[2026-08-29 22:55:52,181.181 INFO    ] Launching Daemon at Sat Aug 29 22:55:52 IST 2026
[2026-08-29 22:55:52,191.191 INFO    ] ================================================
[2026-08-29 22:55:52,688.688 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:55:52
[2026-08-29 22:55:53,275.275 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:55:53,528.528 INFO    ] Initializing speech engine...
[2026-08-29 22:55:53,543.543 INFO    ] 2026-08-29 22:55:53
[2026-08-29 22:55:53,822.822 INFO    ] 2026-08-29 22:55:53
[2026-08-29 22:55:53,857.857 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:55:54,045.045 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:55:54,051.051 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:55:54,178.178 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:55:54,185.185 INFO    ] time= 29/08/2026 22:55:54
[2026-08-29 22:55:54,204.204 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:55:54,219.219 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:55:54,305.305 INFO    ] No existing commands found in stream
[2026-08-29 22:55:59,314.314 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:55:59,317.317 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-08-29 22:56:02,884.884 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:56:02,887.887 INFO    ] Checking for system updates...
[2026-08-29 22:56:02,934.934 INFO    ] 200
[2026-08-29 22:56:02,938.938 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:56:03,020.020 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:56:03,024.024 INFO    ] No update needed
[2026-08-29 22:56:03,027.027 INFO    ] Checking for camera pi updates...
[2026-08-29 22:56:03,065.065 INFO    ] 200
[2026-08-29 22:56:03,068.068 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:56:03,115.115 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:56:03,212.212 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:56:03,323.323 INFO    ] No camera update needed
[2026-08-29 22:56:03,325.325 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:56:03,328.328 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:56:03,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:56:03,341.341 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:56:05,382.382 INFO    ] ================================================
[2026-08-29 22:56:05,398.398 INFO    ] Launching Daemon at Sat Aug 29 22:56:05 IST 2026
[2026-08-29 22:56:05,410.410 INFO    ] ================================================
[2026-08-29 22:56:05,754.754 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:56:05
[2026-08-29 22:56:06,065.065 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:56:06,203.203 INFO    ] Initializing speech engine...
[2026-08-29 22:56:06,212.212 INFO    ] 2026-08-29 22:56:06
[2026-08-29 22:56:06,422.422 INFO    ] 2026-08-29 22:56:06
[2026-08-29 22:56:06,451.451 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:56:06,572.572 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:56:06,616.616 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:56:06,783.783 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:56:06,792.792 INFO    ] time= 29/08/2026 22:56:06
[2026-08-29 22:56:06,829.829 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:56:06,884.884 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:56:07,002.002 INFO    ] No existing commands found in stream
[2026-08-29 22:56:12,033.033 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:56:12,036.036 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-08-29 22:56:13,484.484 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:56:13,485.485 INFO    ] Checking for system updates...
[2026-08-29 22:56:13,507.507 INFO    ] 200
[2026-08-29 22:56:13,509.509 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:56:13,542.542 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:56:13,543.543 INFO    ] No update needed
[2026-08-29 22:56:13,545.545 INFO    ] Checking for camera pi updates...
[2026-08-29 22:56:13,565.565 INFO    ] 200
[2026-08-29 22:56:13,567.567 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:56:13,592.592 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:56:13,694.694 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:56:13,695.695 INFO    ] No camera update needed
[2026-08-29 22:56:13,697.697 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:56:13,698.698 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:56:13,701.701 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:56:13,704.704 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:56:15,744.744 INFO    ] ================================================
[2026-08-29 22:56:15,759.759 INFO    ] Launching Daemon at Sat Aug 29 22:56:15 IST 2026
[2026-08-29 22:56:15,770.770 INFO    ] ================================================
[2026-08-29 22:56:16,117.117 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:56:16
[2026-08-29 22:56:16,453.453 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:56:16,749.749 INFO    ] Initializing speech engine...
[2026-08-29 22:56:16,760.760 INFO    ] 2026-08-29 22:56:16
[2026-08-29 22:56:17,078.078 INFO    ] 2026-08-29 22:56:17
[2026-08-29 22:56:17,161.161 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:56:17,309.309 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:56:17,319.319 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:56:17,451.451 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:56:17,483.483 INFO    ] time= 29/08/2026 22:56:17
[2026-08-29 22:56:17,543.543 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:56:17,585.585 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:56:17,638.638 INFO    ] No existing commands found in stream
[2026-08-29 22:56:22,651.651 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:56:22,654.654 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-08-29 22:56:26,788.788 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:56:26,789.789 INFO    ] Checking for system updates...
[2026-08-29 22:56:26,810.810 INFO    ] 200
[2026-08-29 22:56:26,811.811 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:56:26,846.846 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:56:26,847.847 INFO    ] No update needed
[2026-08-29 22:56:26,848.848 INFO    ] Checking for camera pi updates...
[2026-08-29 22:56:26,869.869 INFO    ] 200
[2026-08-29 22:56:26,870.870 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:56:26,896.896 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:56:26,968.968 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:56:26,970.970 INFO    ] No camera update needed
[2026-08-29 22:56:26,971.971 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:56:26,972.972 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:56:26,975.975 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:56:26,978.978 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:56:29,018.018 INFO    ] ================================================
[2026-08-29 22:56:29,034.034 INFO    ] Launching Daemon at Sat Aug 29 22:56:29 IST 2026
[2026-08-29 22:56:29,045.045 INFO    ] ================================================
[2026-08-29 22:56:29,592.592 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:56:29
[2026-08-29 22:56:30,177.177 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:56:30,447.447 INFO    ] Initializing speech engine...
[2026-08-29 22:56:30,456.456 INFO    ] 2026-08-29 22:56:30
[2026-08-29 22:56:30,710.710 INFO    ] 2026-08-29 22:56:30
[2026-08-29 22:56:30,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:56:30,911.911 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:56:30,924.924 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:56:31,064.064 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:56:31,073.073 INFO    ] time= 29/08/2026 22:56:31
[2026-08-29 22:56:31,076.076 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:56:31,082.082 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:56:31,147.147 INFO    ] No existing commands found in stream
[2026-08-29 22:56:36,159.159 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:56:36,162.162 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-08-29 22:56:39,207.207 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:56:39,209.209 INFO    ] Checking for system updates...
[2026-08-29 22:56:39,230.230 INFO    ] 200
[2026-08-29 22:56:39,231.231 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:56:39,263.263 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:56:39,264.264 INFO    ] No update needed
[2026-08-29 22:56:39,266.266 INFO    ] Checking for camera pi updates...
[2026-08-29 22:56:39,289.289 INFO    ] 200
[2026-08-29 22:56:39,290.290 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:56:39,313.313 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:56:39,393.393 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:56:39,395.395 INFO    ] No camera update needed
[2026-08-29 22:56:39,396.396 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:56:39,397.397 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:56:39,400.400 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:56:39,403.403 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:56:41,442.442 INFO    ] ================================================
[2026-08-29 22:56:41,457.457 INFO    ] Launching Daemon at Sat Aug 29 22:56:41 IST 2026
[2026-08-29 22:56:41,468.468 INFO    ] ================================================
[2026-08-29 22:56:41,822.822 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:56:41
[2026-08-29 22:56:42,134.134 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:56:42,267.267 INFO    ] Initializing speech engine...
[2026-08-29 22:56:42,270.270 INFO    ] 2026-08-29 22:56:42
[2026-08-29 22:56:42,497.497 INFO    ] 2026-08-29 22:56:42
[2026-08-29 22:56:42,527.527 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:56:42,659.659 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:56:42,722.722 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:56:42,865.865 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:56:42,887.887 INFO    ] time= 29/08/2026 22:56:42
[2026-08-29 22:56:42,949.949 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:56:42,974.974 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:56:43,050.050 INFO    ] No existing commands found in stream
[2026-08-29 22:56:48,060.060 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:56:48,063.063 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-08-29 22:56:49,065.065 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:56:49,067.067 INFO    ] Checking for system updates...
[2026-08-29 22:56:49,087.087 INFO    ] 200
[2026-08-29 22:56:49,088.088 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:56:49,119.119 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:56:49,121.121 INFO    ] No update needed
[2026-08-29 22:56:49,122.122 INFO    ] Checking for camera pi updates...
[2026-08-29 22:56:49,155.155 INFO    ] 200
[2026-08-29 22:56:49,157.157 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:56:49,202.202 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:56:49,313.313 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:56:49,315.315 INFO    ] No camera update needed
[2026-08-29 22:56:49,318.318 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:56:49,320.320 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:56:49,325.325 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:56:49,330.330 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:56:51,370.370 INFO    ] ================================================
[2026-08-29 22:56:51,387.387 INFO    ] Launching Daemon at Sat Aug 29 22:56:51 IST 2026
[2026-08-29 22:56:51,398.398 INFO    ] ================================================
[2026-08-29 22:56:52,042.042 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:56:52
[2026-08-29 22:56:52,481.481 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:56:52,708.708 INFO    ] Initializing speech engine...
[2026-08-29 22:56:52,719.719 INFO    ] 2026-08-29 22:56:52
[2026-08-29 22:56:52,995.995 INFO    ] 2026-08-29 22:56:52
[2026-08-29 22:56:53,048.048 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:56:53,272.272 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:56:53,282.282 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:56:53,415.415 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:56:53,453.453 INFO    ] time= 29/08/2026 22:56:53
[2026-08-29 22:56:53,513.513 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:56:53,550.550 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:56:53,603.603 INFO    ] No existing commands found in stream
[2026-08-29 22:56:58,616.616 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:56:58,619.619 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-08-29 22:57:02,094.094 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:57:02,098.098 INFO    ] Checking for system updates...
[2026-08-29 22:57:02,160.160 INFO    ] 200
[2026-08-29 22:57:02,164.164 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:57:02,229.229 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:57:02,232.232 INFO    ] No update needed
[2026-08-29 22:57:02,235.235 INFO    ] Checking for camera pi updates...
[2026-08-29 22:57:02,277.277 INFO    ] 200
[2026-08-29 22:57:02,280.280 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:57:02,335.335 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:57:02,461.461 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:57:02,464.464 INFO    ] No camera update needed
[2026-08-29 22:57:02,467.467 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:57:02,471.471 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:57:02,479.479 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:57:02,486.486 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:57:04,528.528 INFO    ] ================================================
[2026-08-29 22:57:04,545.545 INFO    ] Launching Daemon at Sat Aug 29 22:57:04 IST 2026
[2026-08-29 22:57:04,556.556 INFO    ] ================================================
[2026-08-29 22:57:04,912.912 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:57:04
[2026-08-29 22:57:05,224.224 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:57:05,355.355 INFO    ] Initializing speech engine...
[2026-08-29 22:57:05,359.359 INFO    ] 2026-08-29 22:57:05
[2026-08-29 22:57:05,554.554 INFO    ] 2026-08-29 22:57:05
[2026-08-29 22:57:05,587.587 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:57:05,763.763 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:57:05,775.775 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:57:05,888.888 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:57:05,907.907 INFO    ] time= 29/08/2026 22:57:05
[2026-08-29 22:57:05,927.927 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:57:05,936.936 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:57:06,007.007 INFO    ] No existing commands found in stream
[2026-08-29 22:57:11,024.024 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:57:11,027.027 INFO    ] Waiting 1.53 seconds before fallback handling...
[2026-08-29 22:57:12,883.883 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:57:12,884.884 INFO    ] Checking for system updates...
[2026-08-29 22:57:12,905.905 INFO    ] 200
[2026-08-29 22:57:12,906.906 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:57:12,938.938 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:57:12,939.939 INFO    ] No update needed
[2026-08-29 22:57:12,941.941 INFO    ] Checking for camera pi updates...
[2026-08-29 22:57:12,960.960 INFO    ] 200
[2026-08-29 22:57:12,962.962 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:57:12,987.987 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:57:13,066.066 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:57:13,068.068 INFO    ] No camera update needed
[2026-08-29 22:57:13,070.070 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:57:13,073.073 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:57:13,078.078 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:57:13,083.083 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:57:15,123.123 INFO    ] ================================================
[2026-08-29 22:57:15,139.139 INFO    ] Launching Daemon at Sat Aug 29 22:57:15 IST 2026
[2026-08-29 22:57:15,149.149 INFO    ] ================================================
[2026-08-29 22:57:15,786.786 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:57:15
[2026-08-29 22:57:16,304.304 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:57:16,454.454 INFO    ] Initializing speech engine...
[2026-08-29 22:57:16,460.460 INFO    ] 2026-08-29 22:57:16
[2026-08-29 22:57:16,668.668 INFO    ] 2026-08-29 22:57:16
[2026-08-29 22:57:16,697.697 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:57:16,820.820 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:57:16,884.884 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:57:17,015.015 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:57:17,071.071 INFO    ] time= 29/08/2026 22:57:17
[2026-08-29 22:57:17,114.114 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:57:17,120.120 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:57:17,189.189 INFO    ] No existing commands found in stream
[2026-08-29 22:57:22,198.198 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:57:22,201.201 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 22:57:23,209.209 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:57:23,212.212 INFO    ] Checking for system updates...
[2026-08-29 22:57:23,255.255 INFO    ] 200
[2026-08-29 22:57:23,258.258 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:57:23,322.322 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:57:23,325.325 INFO    ] No update needed
[2026-08-29 22:57:23,328.328 INFO    ] Checking for camera pi updates...
[2026-08-29 22:57:23,372.372 INFO    ] 200
[2026-08-29 22:57:23,380.380 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:57:23,431.431 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:57:23,612.612 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:57:23,623.623 INFO    ] No camera update needed
[2026-08-29 22:57:23,626.626 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:57:23,629.629 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:57:23,636.636 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:57:23,644.644 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:57:25,687.687 INFO    ] ================================================
[2026-08-29 22:57:25,703.703 INFO    ] Launching Daemon at Sat Aug 29 22:57:25 IST 2026
[2026-08-29 22:57:25,714.714 INFO    ] ================================================
[2026-08-29 22:57:26,169.169 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:57:26
[2026-08-29 22:57:26,480.480 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:57:26,674.674 INFO    ] Initializing speech engine...
[2026-08-29 22:57:26,681.681 INFO    ] 2026-08-29 22:57:26
[2026-08-29 22:57:26,979.979 INFO    ] 2026-08-29 22:57:26
[2026-08-29 22:57:27,014.014 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:57:27,161.161 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:57:27,170.170 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:57:27,322.322 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:57:27,332.332 INFO    ] time= 29/08/2026 22:57:27
[2026-08-29 22:57:27,337.337 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:57:27,342.342 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:57:27,409.409 INFO    ] No existing commands found in stream
[2026-08-29 22:57:32,421.421 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:57:32,423.423 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-08-29 22:57:33,805.805 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:57:33,807.807 INFO    ] Checking for system updates...
[2026-08-29 22:57:33,843.843 INFO    ] 200
[2026-08-29 22:57:33,845.845 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:57:33,897.897 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:57:33,899.899 INFO    ] No update needed
[2026-08-29 22:57:33,901.901 INFO    ] Checking for camera pi updates...
[2026-08-29 22:57:33,939.939 INFO    ] 200
[2026-08-29 22:57:33,941.941 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:57:33,986.986 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:57:34,095.095 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:57:34,097.097 INFO    ] No camera update needed
[2026-08-29 22:57:34,099.099 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:57:34,102.102 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:57:34,107.107 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:57:34,112.112 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:57:36,152.152 INFO    ] ================================================
[2026-08-29 22:57:36,168.168 INFO    ] Launching Daemon at Sat Aug 29 22:57:36 IST 2026
[2026-08-29 22:57:36,180.180 INFO    ] ================================================
[2026-08-29 22:57:36,545.545 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:57:36
[2026-08-29 22:57:36,883.883 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:57:37,037.037 INFO    ] Initializing speech engine...
[2026-08-29 22:57:37,042.042 INFO    ] 2026-08-29 22:57:37
[2026-08-29 22:57:37,254.254 INFO    ] 2026-08-29 22:57:37
[2026-08-29 22:57:37,284.284 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:57:37,407.407 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:57:37,452.452 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:57:37,611.611 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:57:37,679.679 INFO    ] time= 29/08/2026 22:57:37
[2026-08-29 22:57:37,708.708 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:57:37,715.715 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:57:37,783.783 INFO    ] No existing commands found in stream
[2026-08-29 22:57:42,793.793 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:57:42,796.796 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-08-29 22:57:45,728.728 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:57:45,730.730 INFO    ] Checking for system updates...
[2026-08-29 22:57:45,750.750 INFO    ] 200
[2026-08-29 22:57:45,752.752 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:57:45,782.782 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:57:45,783.783 INFO    ] No update needed
[2026-08-29 22:57:45,785.785 INFO    ] Checking for camera pi updates...
[2026-08-29 22:57:45,805.805 INFO    ] 200
[2026-08-29 22:57:45,807.807 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:57:45,830.830 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:57:45,908.908 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:57:45,910.910 INFO    ] No camera update needed
[2026-08-29 22:57:45,911.911 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:57:45,912.912 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:57:45,915.915 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:57:45,918.918 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:57:47,956.956 INFO    ] ================================================
[2026-08-29 22:57:47,973.973 INFO    ] Launching Daemon at Sat Aug 29 22:57:47 IST 2026
[2026-08-29 22:57:47,984.984 INFO    ] ================================================
[2026-08-29 22:57:48,312.312 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:57:48
[2026-08-29 22:57:48,625.625 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:57:48,775.775 INFO    ] Initializing speech engine...
[2026-08-29 22:57:48,780.780 INFO    ] 2026-08-29 22:57:48
[2026-08-29 22:57:48,987.987 INFO    ] 2026-08-29 22:57:48
[2026-08-29 22:57:49,023.023 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:57:49,199.199 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:57:49,211.211 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:57:49,324.324 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:57:49,343.343 INFO    ] time= 29/08/2026 22:57:49
[2026-08-29 22:57:49,365.365 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:57:49,370.370 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:57:49,442.442 INFO    ] No existing commands found in stream
[2026-08-29 22:57:54,467.467 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:57:54,469.469 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 22:57:56,195.195 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:57:56,197.197 INFO    ] Checking for system updates...
[2026-08-29 22:57:56,217.217 INFO    ] 200
[2026-08-29 22:57:56,218.218 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:57:56,251.251 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:57:56,252.252 INFO    ] No update needed
[2026-08-29 22:57:56,257.257 INFO    ] Checking for camera pi updates...
[2026-08-29 22:57:56,279.279 INFO    ] 200
[2026-08-29 22:57:56,280.280 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:57:56,304.304 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:57:56,389.389 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:57:56,391.391 INFO    ] No camera update needed
[2026-08-29 22:57:56,392.392 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:57:56,393.393 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:57:56,396.396 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:57:56,399.399 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:57:58,437.437 INFO    ] ================================================
[2026-08-29 22:57:58,453.453 INFO    ] Launching Daemon at Sat Aug 29 22:57:58 IST 2026
[2026-08-29 22:57:58,464.464 INFO    ] ================================================
[2026-08-29 22:57:58,809.809 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:57:58
[2026-08-29 22:57:59,147.147 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:57:59,300.300 INFO    ] Initializing speech engine...
[2026-08-29 22:57:59,304.304 INFO    ] 2026-08-29 22:57:59
[2026-08-29 22:57:59,512.512 INFO    ] 2026-08-29 22:57:59
[2026-08-29 22:57:59,540.540 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:57:59,665.665 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:57:59,723.723 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:57:59,894.894 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:57:59,941.941 INFO    ] time= 29/08/2026 22:57:59
[2026-08-29 22:57:59,995.995 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:58:00,051.051 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:58:00,099.099 INFO    ] No existing commands found in stream
[2026-08-29 22:58:05,119.119 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:58:05,122.122 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-08-29 22:58:07,079.079 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 22:58:07,081.081 INFO    ] Checking for system updates...
[2026-08-29 22:58:07,102.102 INFO    ] 200
[2026-08-29 22:58:07,104.104 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:58:07,136.136 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:58:07,137.137 INFO    ] No update needed
[2026-08-29 22:58:07,138.138 INFO    ] Checking for camera pi updates...
[2026-08-29 22:58:07,158.158 INFO    ] 200
[2026-08-29 22:58:07,159.159 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:58:07,183.183 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:58:07,263.263 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:58:07,264.264 INFO    ] No camera update needed
[2026-08-29 22:58:07,266.266 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:58:07,267.267 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:58:07,270.270 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:58:07,273.273 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:58:09,313.313 INFO    ] ================================================
[2026-08-29 22:58:09,329.329 INFO    ] Launching Daemon at Sat Aug 29 22:58:09 IST 2026
[2026-08-29 22:58:09,340.340 INFO    ] ================================================
[2026-08-29 22:58:09,693.693 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:58:09
[2026-08-29 22:58:10,010.010 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:58:10,154.154 INFO    ] Initializing speech engine...
[2026-08-29 22:58:10,159.159 INFO    ] 2026-08-29 22:58:10
[2026-08-29 22:58:10,362.362 INFO    ] 2026-08-29 22:58:10
[2026-08-29 22:58:10,391.391 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:58:10,534.534 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:58:10,541.541 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:58:10,728.728 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:58:10,744.744 INFO    ] time= 29/08/2026 22:58:10
[2026-08-29 22:58:10,765.765 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:58:10,791.791 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:58:10,894.894 INFO    ] No existing commands found in stream
[2026-08-29 22:58:15,909.909 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:58:15,911.911 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-08-29 22:58:19,551.551 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:58:19,552.552 INFO    ] Checking for system updates...
[2026-08-29 22:58:19,574.574 INFO    ] 200
[2026-08-29 22:58:19,575.575 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:58:19,606.606 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:58:19,608.608 INFO    ] No update needed
[2026-08-29 22:58:19,609.609 INFO    ] Checking for camera pi updates...
[2026-08-29 22:58:19,628.628 INFO    ] 200
[2026-08-29 22:58:19,630.630 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:58:19,654.654 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:58:19,698.698 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:58:19,700.700 INFO    ] No camera update needed
[2026-08-29 22:58:19,701.701 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:58:19,702.702 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:58:19,705.705 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:58:19,708.708 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:58:21,747.747 INFO    ] ================================================
[2026-08-29 22:58:21,764.764 INFO    ] Launching Daemon at Sat Aug 29 22:58:21 IST 2026
[2026-08-29 22:58:21,775.775 INFO    ] ================================================
[2026-08-29 22:58:22,107.107 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:58:22
[2026-08-29 22:58:22,419.419 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:58:22,554.554 INFO    ] Initializing speech engine...
[2026-08-29 22:58:22,567.567 INFO    ] 2026-08-29 22:58:22
[2026-08-29 22:58:22,783.783 INFO    ] 2026-08-29 22:58:22
[2026-08-29 22:58:22,813.813 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:58:22,964.964 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:58:22,986.986 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:58:23,116.116 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:58:23,131.131 INFO    ] time= 29/08/2026 22:58:23
[2026-08-29 22:58:23,139.139 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:58:23,162.162 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:58:23,261.261 INFO    ] No existing commands found in stream
[2026-08-29 22:58:28,286.286 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:58:28,288.288 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 22:58:30,637.637 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 22:58:30,638.638 INFO    ] Checking for system updates...
[2026-08-29 22:58:30,659.659 INFO    ] 200
[2026-08-29 22:58:30,660.660 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:58:30,690.690 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:58:30,691.691 INFO    ] No update needed
[2026-08-29 22:58:30,692.692 INFO    ] Checking for camera pi updates...
[2026-08-29 22:58:30,712.712 INFO    ] 200
[2026-08-29 22:58:30,713.713 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:58:30,738.738 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:58:30,843.843 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:58:30,844.844 INFO    ] No camera update needed
[2026-08-29 22:58:30,845.845 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:58:30,847.847 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:58:30,849.849 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:58:30,852.852 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:58:32,886.886 INFO    ] ================================================
[2026-08-29 22:58:32,902.902 INFO    ] Launching Daemon at Sat Aug 29 22:58:32 IST 2026
[2026-08-29 22:58:32,913.913 INFO    ] ================================================
[2026-08-29 22:58:33,499.499 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:58:33
[2026-08-29 22:58:34,105.105 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:58:34,378.378 INFO    ] Initializing speech engine...
[2026-08-29 22:58:34,388.388 INFO    ] 2026-08-29 22:58:34
[2026-08-29 22:58:34,637.637 INFO    ] 2026-08-29 22:58:34
[2026-08-29 22:58:34,672.672 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:58:34,845.845 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:58:34,858.858 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:58:34,998.998 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:58:35,007.007 INFO    ] time= 29/08/2026 22:58:35
[2026-08-29 22:58:35,014.014 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:58:35,052.052 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:58:35,118.118 INFO    ] No existing commands found in stream
[2026-08-29 22:58:40,128.128 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:58:40,131.131 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 22:58:40,548.548 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:58:40,549.549 INFO    ] Checking for system updates...
[2026-08-29 22:58:40,569.569 INFO    ] 200
[2026-08-29 22:58:40,571.571 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:58:40,602.602 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:58:40,604.604 INFO    ] No update needed
[2026-08-29 22:58:40,605.605 INFO    ] Checking for camera pi updates...
[2026-08-29 22:58:40,625.625 INFO    ] 200
[2026-08-29 22:58:40,626.626 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:58:40,650.650 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:58:40,731.731 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:58:40,732.732 INFO    ] No camera update needed
[2026-08-29 22:58:40,734.734 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:58:40,735.735 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:58:40,738.738 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:58:40,740.740 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:58:42,781.781 INFO    ] ================================================
[2026-08-29 22:58:42,797.797 INFO    ] Launching Daemon at Sat Aug 29 22:58:42 IST 2026
[2026-08-29 22:58:42,808.808 INFO    ] ================================================
[2026-08-29 22:58:43,143.143 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:58:43
[2026-08-29 22:58:43,456.456 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:58:43,596.596 INFO    ] Initializing speech engine...
[2026-08-29 22:58:43,605.605 INFO    ] 2026-08-29 22:58:43
[2026-08-29 22:58:43,822.822 INFO    ] 2026-08-29 22:58:43
[2026-08-29 22:58:43,853.853 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:58:43,978.978 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:58:44,000.000 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:58:44,175.175 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:58:44,220.220 INFO    ] time= 29/08/2026 22:58:44
[2026-08-29 22:58:44,237.237 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:58:44,254.254 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:58:44,304.304 INFO    ] No existing commands found in stream
[2026-08-29 22:58:49,315.315 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:58:49,317.317 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-08-29 22:58:52,895.895 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 22:58:52,896.896 INFO    ] Checking for system updates...
[2026-08-29 22:58:52,916.916 INFO    ] 200
[2026-08-29 22:58:52,918.918 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:58:52,950.950 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:58:52,951.951 INFO    ] No update needed
[2026-08-29 22:58:52,952.952 INFO    ] Checking for camera pi updates...
[2026-08-29 22:58:52,973.973 INFO    ] 200
[2026-08-29 22:58:52,974.974 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:58:52,997.997 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:58:53,072.072 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:58:53,074.074 INFO    ] No camera update needed
[2026-08-29 22:58:53,075.075 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:58:53,076.076 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:58:53,079.079 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:58:53,082.082 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:58:55,120.120 INFO    ] ================================================
[2026-08-29 22:58:55,135.135 INFO    ] Launching Daemon at Sat Aug 29 22:58:55 IST 2026
[2026-08-29 22:58:55,146.146 INFO    ] ================================================
[2026-08-29 22:58:55,476.476 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:58:55
[2026-08-29 22:58:56,042.042 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:58:56,313.313 INFO    ] Initializing speech engine...
[2026-08-29 22:58:56,322.322 INFO    ] 2026-08-29 22:58:56
[2026-08-29 22:58:56,571.571 INFO    ] 2026-08-29 22:58:56
[2026-08-29 22:58:56,606.606 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:58:56,782.782 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:58:56,795.795 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:58:56,906.906 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:58:56,911.911 INFO    ] time= 29/08/2026 22:58:56
[2026-08-29 22:58:56,929.929 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:58:56,954.954 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:58:57,027.027 INFO    ] No existing commands found in stream
[2026-08-29 22:59:02,043.043 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:59:02,047.047 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-08-29 22:59:05,423.423 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:59:05,424.424 INFO    ] Checking for system updates...
[2026-08-29 22:59:05,445.445 INFO    ] 200
[2026-08-29 22:59:05,446.446 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:59:05,477.477 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:59:05,478.478 INFO    ] No update needed
[2026-08-29 22:59:05,479.479 INFO    ] Checking for camera pi updates...
[2026-08-29 22:59:05,498.498 INFO    ] 200
[2026-08-29 22:59:05,500.500 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:59:05,522.522 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:59:05,598.598 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:59:05,599.599 INFO    ] No camera update needed
[2026-08-29 22:59:05,601.601 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:59:05,602.602 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:59:05,605.605 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:59:05,608.608 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:59:07,645.645 INFO    ] ================================================
[2026-08-29 22:59:07,661.661 INFO    ] Launching Daemon at Sat Aug 29 22:59:07 IST 2026
[2026-08-29 22:59:07,671.671 INFO    ] ================================================
[2026-08-29 22:59:08,025.025 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:59:08
[2026-08-29 22:59:08,369.369 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:59:08,528.528 INFO    ] Initializing speech engine...
[2026-08-29 22:59:08,536.536 INFO    ] 2026-08-29 22:59:08
[2026-08-29 22:59:08,810.810 INFO    ] 2026-08-29 22:59:08
[2026-08-29 22:59:08,854.854 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:59:09,074.074 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:59:09,084.084 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:59:09,216.216 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:59:09,233.233 INFO    ] time= 29/08/2026 22:59:09
[2026-08-29 22:59:09,297.297 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:59:09,351.351 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:59:09,405.405 INFO    ] No existing commands found in stream
[2026-08-29 22:59:14,417.417 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:59:14,420.420 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-08-29 22:59:16,994.994 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 22:59:16,995.995 INFO    ] Checking for system updates...
[2026-08-29 22:59:17,017.017 INFO    ] 200
[2026-08-29 22:59:17,018.018 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:59:17,050.050 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:59:17,051.051 INFO    ] No update needed
[2026-08-29 22:59:17,053.053 INFO    ] Checking for camera pi updates...
[2026-08-29 22:59:17,073.073 INFO    ] 200
[2026-08-29 22:59:17,074.074 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:59:17,098.098 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:59:17,175.175 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:59:17,176.176 INFO    ] No camera update needed
[2026-08-29 22:59:17,178.178 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:59:17,179.179 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:59:17,182.182 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:59:17,185.185 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:59:19,223.223 INFO    ] ================================================
[2026-08-29 22:59:19,238.238 INFO    ] Launching Daemon at Sat Aug 29 22:59:19 IST 2026
[2026-08-29 22:59:19,249.249 INFO    ] ================================================
[2026-08-29 22:59:19,593.593 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:59:19
[2026-08-29 22:59:19,904.904 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:59:20,036.036 INFO    ] Initializing speech engine...
[2026-08-29 22:59:20,041.041 INFO    ] 2026-08-29 22:59:20
[2026-08-29 22:59:20,250.250 INFO    ] 2026-08-29 22:59:20
[2026-08-29 22:59:20,324.324 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:59:20,505.505 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:59:20,515.515 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:59:20,647.647 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:59:20,668.668 INFO    ] time= 29/08/2026 22:59:20
[2026-08-29 22:59:20,727.727 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:59:20,779.779 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:59:20,831.831 INFO    ] No existing commands found in stream
[2026-08-29 22:59:25,843.843 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:59:25,846.846 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-08-29 22:59:26,854.854 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:59:26,855.855 INFO    ] Checking for system updates...
[2026-08-29 22:59:26,877.877 INFO    ] 200
[2026-08-29 22:59:26,878.878 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:59:26,910.910 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:59:26,912.912 INFO    ] No update needed
[2026-08-29 22:59:26,913.913 INFO    ] Checking for camera pi updates...
[2026-08-29 22:59:26,933.933 INFO    ] 200
[2026-08-29 22:59:26,934.934 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:59:26,959.959 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:59:27,049.049 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 22:59:27,050.050 INFO    ] No camera update needed
[2026-08-29 22:59:27,052.052 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:59:27,053.053 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:59:27,056.056 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:59:27,059.059 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:59:29,096.096 INFO    ] ================================================
[2026-08-29 22:59:29,111.111 INFO    ] Launching Daemon at Sat Aug 29 22:59:29 IST 2026
[2026-08-29 22:59:29,124.124 INFO    ] ================================================
[2026-08-29 22:59:29,454.454 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:59:29
[2026-08-29 22:59:29,767.767 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:59:29,910.910 INFO    ] Initializing speech engine...
[2026-08-29 22:59:29,915.915 INFO    ] 2026-08-29 22:59:29
[2026-08-29 22:59:30,102.102 INFO    ] 2026-08-29 22:59:30
[2026-08-29 22:59:30,137.137 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:59:30,314.314 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:59:30,326.326 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:59:30,445.445 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:59:30,466.466 INFO    ] time= 29/08/2026 22:59:30
[2026-08-29 22:59:30,488.488 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:59:30,496.496 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:59:30,574.574 INFO    ] No existing commands found in stream
[2026-08-29 22:59:35,587.587 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:59:35,590.590 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-08-29 22:59:38,725.725 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 22:59:38,726.726 INFO    ] Checking for system updates...
[2026-08-29 22:59:38,747.747 INFO    ] 200
[2026-08-29 22:59:38,748.748 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:59:38,783.783 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:59:38,784.784 INFO    ] No update needed
[2026-08-29 22:59:38,786.786 INFO    ] Checking for camera pi updates...
[2026-08-29 22:59:38,805.805 INFO    ] 200
[2026-08-29 22:59:38,807.807 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:59:38,830.830 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:59:38,922.922 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:59:38,923.923 INFO    ] No camera update needed
[2026-08-29 22:59:38,924.924 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:59:38,926.926 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:59:38,929.929 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:59:38,931.931 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:59:40,969.969 INFO    ] ================================================
[2026-08-29 22:59:40,984.984 INFO    ] Launching Daemon at Sat Aug 29 22:59:40 IST 2026
[2026-08-29 22:59:41,995.995 INFO    ] ================================================
[2026-08-29 22:59:41,354.354 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:59:41
[2026-08-29 22:59:41,667.667 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:59:41,810.810 INFO    ] Initializing speech engine...
[2026-08-29 22:59:41,815.815 INFO    ] 2026-08-29 22:59:41
[2026-08-29 22:59:42,021.021 INFO    ] 2026-08-29 22:59:42
[2026-08-29 22:59:42,049.049 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:59:42,246.246 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:59:42,261.261 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:59:42,375.375 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:59:42,434.434 INFO    ] time= 29/08/2026 22:59:42
[2026-08-29 22:59:42,468.468 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:59:42,470.470 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:59:42,540.540 INFO    ] No existing commands found in stream
[2026-08-29 22:59:47,551.551 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:59:47,554.554 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-08-29 22:59:49,609.609 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 22:59:49,611.611 INFO    ] Checking for system updates...
[2026-08-29 22:59:49,634.634 INFO    ] 200
[2026-08-29 22:59:49,635.635 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:59:49,670.670 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:59:49,672.672 INFO    ] No update needed
[2026-08-29 22:59:49,673.673 INFO    ] Checking for camera pi updates...
[2026-08-29 22:59:49,695.695 INFO    ] 200
[2026-08-29 22:59:49,697.697 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 22:59:49,720.720 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 22:59:49,814.814 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 22:59:49,817.817 INFO    ] No camera update needed
[2026-08-29 22:59:49,819.819 INFO    ] Script finished. Safe exiting...
[2026-08-29 22:59:49,822.822 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 22:59:49,828.828 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 22:59:49,834.834 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 22:59:51,874.874 INFO    ] ================================================
[2026-08-29 22:59:51,889.889 INFO    ] Launching Daemon at Sat Aug 29 22:59:51 IST 2026
[2026-08-29 22:59:51,900.900 INFO    ] ================================================
[2026-08-29 22:59:52,238.238 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 22:59:52
[2026-08-29 22:59:52,550.550 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 22:59:52,798.798 INFO    ] Initializing speech engine...
[2026-08-29 22:59:52,807.807 INFO    ] 2026-08-29 22:59:52
[2026-08-29 22:59:53,054.054 INFO    ] 2026-08-29 22:59:53
[2026-08-29 22:59:53,120.120 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 22:59:53,343.343 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 22:59:53,352.352 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 22:59:53,484.484 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 22:59:53,506.506 INFO    ] time= 29/08/2026 22:59:53
[2026-08-29 22:59:53,571.571 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 22:59:53,617.617 INFO    ] Checking for existing commands in stream...
[2026-08-29 22:59:53,674.674 INFO    ] No existing commands found in stream
[2026-08-29 22:59:58,686.686 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 22:59:58,688.688 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-08-29 23:00:01,433.433 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:00:01,438.438 INFO    ] Checking for system updates...
[2026-08-29 23:00:01,626.626 INFO    ] 200
[2026-08-29 23:00:01,630.630 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:00:02,193.193 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:00:02,197.197 INFO    ] No update needed
[2026-08-29 23:00:02,210.210 INFO    ] Checking for camera pi updates...
[2026-08-29 23:00:02,312.312 INFO    ] 200
[2026-08-29 23:00:02,315.315 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:00:02,512.512 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:00:03,466.466 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:00:03,469.469 INFO    ] No camera update needed
[2026-08-29 23:00:03,483.483 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:00:03,486.486 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:00:03,514.514 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:00:03,521.521 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:00:05,596.596 INFO    ] ================================================
[2026-08-29 23:00:05,625.625 INFO    ] Launching Daemon at Sat Aug 29 23:00:05 IST 2026
[2026-08-29 23:00:05,646.646 INFO    ] ================================================
[2026-08-29 23:00:06,274.274 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:00:06
[2026-08-29 23:00:06,858.858 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:00:07,141.141 INFO    ] Initializing speech engine...
[2026-08-29 23:00:07,162.162 INFO    ] 2026-08-29 23:00:07
[2026-08-29 23:00:07,426.426 INFO    ] 2026-08-29 23:00:07
[2026-08-29 23:00:07,496.496 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:00:07,720.720 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:00:07,729.729 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:00:07,863.863 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:00:07,906.906 INFO    ] time= 29/08/2026 23:00:07
[2026-08-29 23:00:07,961.961 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:00:07,999.999 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:00:08,053.053 INFO    ] No existing commands found in stream
[2026-08-29 23:00:13,065.065 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:00:13,068.068 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-08-29 23:00:14,631.631 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:00:14,633.633 INFO    ] Checking for system updates...
[2026-08-29 23:00:14,654.654 INFO    ] 200
[2026-08-29 23:00:14,655.655 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:00:14,688.688 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:00:14,689.689 INFO    ] No update needed
[2026-08-29 23:00:14,690.690 INFO    ] Checking for camera pi updates...
[2026-08-29 23:00:14,714.714 INFO    ] 200
[2026-08-29 23:00:14,715.715 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:00:14,743.743 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:00:14,821.821 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:00:14,823.823 INFO    ] No camera update needed
[2026-08-29 23:00:14,824.824 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:00:14,826.826 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:00:14,829.829 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:00:14,832.832 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:00:16,872.872 INFO    ] ================================================
[2026-08-29 23:00:16,887.887 INFO    ] Launching Daemon at Sat Aug 29 23:00:16 IST 2026
[2026-08-29 23:00:16,898.898 INFO    ] ================================================
[2026-08-29 23:00:17,264.264 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:00:17
[2026-08-29 23:00:17,581.581 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:00:17,720.720 INFO    ] Initializing speech engine...
[2026-08-29 23:00:17,730.730 INFO    ] 2026-08-29 23:00:17
[2026-08-29 23:00:17,970.970 INFO    ] 2026-08-29 23:00:17
[2026-08-29 23:00:18,025.025 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:00:18,189.189 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:00:18,195.195 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:00:18,346.346 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:00:18,395.395 INFO    ] time= 29/08/2026 23:00:18
[2026-08-29 23:00:18,401.401 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:00:18,419.419 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:00:18,535.535 INFO    ] No existing commands found in stream
[2026-08-29 23:00:23,557.557 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:00:23,560.560 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 23:00:26,541.541 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:00:26,542.542 INFO    ] Checking for system updates...
[2026-08-29 23:00:26,563.563 INFO    ] 200
[2026-08-29 23:00:26,564.564 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:00:26,597.597 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:00:26,599.599 INFO    ] No update needed
[2026-08-29 23:00:26,600.600 INFO    ] Checking for camera pi updates...
[2026-08-29 23:00:26,619.619 INFO    ] 200
[2026-08-29 23:00:26,620.620 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:00:26,647.647 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:00:26,730.730 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:00:26,732.732 INFO    ] No camera update needed
[2026-08-29 23:00:26,735.735 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:00:26,737.737 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:00:26,742.742 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:00:26,747.747 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:00:28,787.787 INFO    ] ================================================
[2026-08-29 23:00:28,803.803 INFO    ] Launching Daemon at Sat Aug 29 23:00:28 IST 2026
[2026-08-29 23:00:28,813.813 INFO    ] ================================================
[2026-08-29 23:00:29,458.458 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:00:29
[2026-08-29 23:00:29,966.966 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:00:30,117.117 INFO    ] Initializing speech engine...
[2026-08-29 23:00:30,123.123 INFO    ] 2026-08-29 23:00:30
[2026-08-29 23:00:30,330.330 INFO    ] 2026-08-29 23:00:30
[2026-08-29 23:00:30,359.359 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:00:30,488.488 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:00:30,546.546 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:00:30,677.677 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:00:30,722.722 INFO    ] time= 29/08/2026 23:00:30
[2026-08-29 23:00:30,762.762 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:00:30,778.778 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:00:30,849.849 INFO    ] No existing commands found in stream
[2026-08-29 23:00:35,860.860 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:00:35,863.863 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-08-29 23:00:39,112.112 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:00:39,114.114 INFO    ] Checking for system updates...
[2026-08-29 23:00:39,135.135 INFO    ] 200
[2026-08-29 23:00:39,136.136 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:00:39,167.167 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:00:39,168.168 INFO    ] No update needed
[2026-08-29 23:00:39,169.169 INFO    ] Checking for camera pi updates...
[2026-08-29 23:00:39,190.190 INFO    ] 200
[2026-08-29 23:00:39,191.191 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:00:39,217.217 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:00:39,291.291 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:00:39,293.293 INFO    ] No camera update needed
[2026-08-29 23:00:39,294.294 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:00:39,296.296 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:00:39,299.299 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:00:39,302.302 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:00:41,342.342 INFO    ] ================================================
[2026-08-29 23:00:41,357.357 INFO    ] Launching Daemon at Sat Aug 29 23:00:41 IST 2026
[2026-08-29 23:00:41,368.368 INFO    ] ================================================
[2026-08-29 23:00:41,728.728 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:00:41
[2026-08-29 23:00:42,050.050 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:00:42,194.194 INFO    ] Initializing speech engine...
[2026-08-29 23:00:42,199.199 INFO    ] 2026-08-29 23:00:42
[2026-08-29 23:00:42,426.426 INFO    ] 2026-08-29 23:00:42
[2026-08-29 23:00:42,507.507 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:00:42,655.655 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:00:42,664.664 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:00:42,796.796 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:00:42,813.813 INFO    ] time= 29/08/2026 23:00:42
[2026-08-29 23:00:42,877.877 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:00:42,931.931 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:00:42,983.983 INFO    ] No existing commands found in stream
[2026-08-29 23:00:47,995.995 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:00:47,998.998 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-08-29 23:00:51,061.061 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:00:51,063.063 INFO    ] Checking for system updates...
[2026-08-29 23:00:51,085.085 INFO    ] 200
[2026-08-29 23:00:51,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:00:51,119.119 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:00:51,120.120 INFO    ] No update needed
[2026-08-29 23:00:51,122.122 INFO    ] Checking for camera pi updates...
[2026-08-29 23:00:51,142.142 INFO    ] 200
[2026-08-29 23:00:51,144.144 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:00:51,171.171 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:00:51,256.256 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:00:51,257.257 INFO    ] No camera update needed
[2026-08-29 23:00:51,259.259 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:00:51,260.260 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:00:51,263.263 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:00:51,266.266 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:00:53,306.306 INFO    ] ================================================
[2026-08-29 23:00:53,321.321 INFO    ] Launching Daemon at Sat Aug 29 23:00:53 IST 2026
[2026-08-29 23:00:53,332.332 INFO    ] ================================================
[2026-08-29 23:00:53,715.715 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:00:53
[2026-08-29 23:00:54,050.050 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:00:54,200.200 INFO    ] Initializing speech engine...
[2026-08-29 23:00:54,206.206 INFO    ] 2026-08-29 23:00:54
[2026-08-29 23:00:54,420.420 INFO    ] 2026-08-29 23:00:54
[2026-08-29 23:00:54,476.476 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:00:54,680.680 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:00:54,713.713 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:00:54,848.848 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:00:54,864.864 INFO    ] time= 29/08/2026 23:00:54
[2026-08-29 23:00:54,875.875 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:00:54,902.902 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:00:55,009.009 INFO    ] No existing commands found in stream
[2026-08-29 23:01:00,034.034 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:01:00,037.037 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-08-29 23:01:02,503.503 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:01:02,506.506 INFO    ] Checking for system updates...
[2026-08-29 23:01:02,550.550 INFO    ] 200
[2026-08-29 23:01:02,553.553 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:01:02,612.612 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:01:02,615.615 INFO    ] No update needed
[2026-08-29 23:01:02,618.618 INFO    ] Checking for camera pi updates...
[2026-08-29 23:01:02,656.656 INFO    ] 200
[2026-08-29 23:01:02,658.658 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:01:02,728.728 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:01:02,856.856 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:01:02,859.859 INFO    ] No camera update needed
[2026-08-29 23:01:02,862.862 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:01:02,866.866 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:01:02,876.876 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:01:02,884.884 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:01:04,927.927 INFO    ] ================================================
[2026-08-29 23:01:04,943.943 INFO    ] Launching Daemon at Sat Aug 29 23:01:04 IST 2026
[2026-08-29 23:01:04,953.953 INFO    ] ================================================
[2026-08-29 23:01:05,315.315 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:01:05
[2026-08-29 23:01:05,633.633 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:01:05,778.778 INFO    ] Initializing speech engine...
[2026-08-29 23:01:05,783.783 INFO    ] 2026-08-29 23:01:05
[2026-08-29 23:01:05,988.988 INFO    ] 2026-08-29 23:01:05
[2026-08-29 23:01:06,029.029 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:01:06,189.189 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:01:06,198.198 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:01:06,351.351 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:01:06,399.399 INFO    ] time= 29/08/2026 23:01:06
[2026-08-29 23:01:06,405.405 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:01:06,425.425 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:01:06,545.545 INFO    ] No existing commands found in stream
[2026-08-29 23:01:11,566.566 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:01:11,568.568 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-08-29 23:01:15,513.513 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:01:15,515.515 INFO    ] Checking for system updates...
[2026-08-29 23:01:15,537.537 INFO    ] 200
[2026-08-29 23:01:15,538.538 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:01:15,572.572 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:01:15,573.573 INFO    ] No update needed
[2026-08-29 23:01:15,575.575 INFO    ] Checking for camera pi updates...
[2026-08-29 23:01:15,595.595 INFO    ] 200
[2026-08-29 23:01:15,597.597 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:01:15,622.622 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:01:15,720.720 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:01:15,722.722 INFO    ] No camera update needed
[2026-08-29 23:01:15,723.723 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:01:15,725.725 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:01:15,728.728 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:01:15,731.731 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:01:17,771.771 INFO    ] ================================================
[2026-08-29 23:01:17,786.786 INFO    ] Launching Daemon at Sat Aug 29 23:01:17 IST 2026
[2026-08-29 23:01:17,797.797 INFO    ] ================================================
[2026-08-29 23:01:18,138.138 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:01:18
[2026-08-29 23:01:18,454.454 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:01:18,588.588 INFO    ] Initializing speech engine...
[2026-08-29 23:01:18,593.593 INFO    ] 2026-08-29 23:01:18
[2026-08-29 23:01:18,821.821 INFO    ] 2026-08-29 23:01:18
[2026-08-29 23:01:18,852.852 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:01:18,984.984 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:01:19,047.047 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:01:19,192.192 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:01:19,240.240 INFO    ] time= 29/08/2026 23:01:19
[2026-08-29 23:01:19,299.299 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:01:19,341.341 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:01:19,405.405 INFO    ] No existing commands found in stream
[2026-08-29 23:01:24,415.415 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:01:24,418.418 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-08-29 23:01:28,258.258 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:01:28,261.261 INFO    ] Checking for system updates...
[2026-08-29 23:01:28,304.304 INFO    ] 200
[2026-08-29 23:01:28,307.307 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:01:28,364.364 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:01:28,367.367 INFO    ] No update needed
[2026-08-29 23:01:28,370.370 INFO    ] Checking for camera pi updates...
[2026-08-29 23:01:28,407.407 INFO    ] 200
[2026-08-29 23:01:28,410.410 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:01:28,459.459 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:01:28,557.557 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:01:28,560.560 INFO    ] No camera update needed
[2026-08-29 23:01:28,562.562 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:01:28,565.565 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:01:28,571.571 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:01:28,576.576 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:01:30,618.618 INFO    ] ================================================
[2026-08-29 23:01:30,633.633 INFO    ] Launching Daemon at Sat Aug 29 23:01:30 IST 2026
[2026-08-29 23:01:30,644.644 INFO    ] ================================================
[2026-08-29 23:01:31,213.213 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:01:31
[2026-08-29 23:01:31,577.577 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:01:31,714.714 INFO    ] Initializing speech engine...
[2026-08-29 23:01:31,727.727 INFO    ] 2026-08-29 23:01:31
[2026-08-29 23:01:31,943.943 INFO    ] 2026-08-29 23:01:31
[2026-08-29 23:01:31,973.973 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:01:32,108.108 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:01:32,146.146 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:01:32,306.306 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:01:32,314.314 INFO    ] time= 29/08/2026 23:01:32
[2026-08-29 23:01:32,323.323 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:01:32,331.331 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:01:32,405.405 INFO    ] No existing commands found in stream
[2026-08-29 23:01:37,423.423 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:01:37,426.426 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-08-29 23:01:39,380.380 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:01:39,381.381 INFO    ] Checking for system updates...
[2026-08-29 23:01:39,402.402 INFO    ] 200
[2026-08-29 23:01:39,403.403 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:01:39,434.434 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:01:39,435.435 INFO    ] No update needed
[2026-08-29 23:01:39,436.436 INFO    ] Checking for camera pi updates...
[2026-08-29 23:01:39,459.459 INFO    ] 200
[2026-08-29 23:01:39,460.460 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:01:39,483.483 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:01:39,657.657 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:01:39,658.658 INFO    ] No camera update needed
[2026-08-29 23:01:39,663.663 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:01:39,665.665 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:01:39,668.668 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:01:39,678.678 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:01:41,718.718 INFO    ] ================================================
[2026-08-29 23:01:41,733.733 INFO    ] Launching Daemon at Sat Aug 29 23:01:41 IST 2026
[2026-08-29 23:01:41,744.744 INFO    ] ================================================
[2026-08-29 23:01:42,109.109 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:01:42
[2026-08-29 23:01:42,421.421 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:01:42,564.564 INFO    ] Initializing speech engine...
[2026-08-29 23:01:42,570.570 INFO    ] 2026-08-29 23:01:42
[2026-08-29 23:01:42,774.774 INFO    ] 2026-08-29 23:01:42
[2026-08-29 23:01:42,803.803 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:01:42,926.926 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:01:42,959.959 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:01:43,104.104 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:01:43,133.133 INFO    ] time= 29/08/2026 23:01:43
[2026-08-29 23:01:43,200.200 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:01:43,225.225 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:01:43,296.296 INFO    ] No existing commands found in stream
[2026-08-29 23:01:48,306.306 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:01:48,308.308 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-08-29 23:01:51,778.778 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:01:51,779.779 INFO    ] Checking for system updates...
[2026-08-29 23:01:51,800.800 INFO    ] 200
[2026-08-29 23:01:51,801.801 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:01:51,831.831 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:01:51,833.833 INFO    ] No update needed
[2026-08-29 23:01:51,834.834 INFO    ] Checking for camera pi updates...
[2026-08-29 23:01:51,854.854 INFO    ] 200
[2026-08-29 23:01:51,855.855 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:01:51,879.879 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:01:51,961.961 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:01:51,964.964 INFO    ] No camera update needed
[2026-08-29 23:01:51,967.967 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:01:51,970.970 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:01:51,976.976 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:01:51,981.981 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:01:54,023.023 INFO    ] ================================================
[2026-08-29 23:01:54,039.039 INFO    ] Launching Daemon at Sat Aug 29 23:01:54 IST 2026
[2026-08-29 23:01:54,050.050 INFO    ] ================================================
[2026-08-29 23:01:54,633.633 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:01:54
[2026-08-29 23:01:55,163.163 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:01:55,312.312 INFO    ] Initializing speech engine...
[2026-08-29 23:01:55,316.316 INFO    ] 2026-08-29 23:01:55
[2026-08-29 23:01:55,521.521 INFO    ] 2026-08-29 23:01:55
[2026-08-29 23:01:55,571.571 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:01:55,700.700 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:01:55,705.705 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:01:55,891.891 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:01:55,939.939 INFO    ] time= 29/08/2026 23:01:55
[2026-08-29 23:01:55,945.945 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:01:55,966.966 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:01:56,070.070 INFO    ] No existing commands found in stream
[2026-08-29 23:02:01,100.100 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:02:01,103.103 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-08-29 23:02:03,897.897 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:02:03,900.900 INFO    ] Checking for system updates...
[2026-08-29 23:02:03,936.936 INFO    ] 200
[2026-08-29 23:02:03,939.939 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:02:03,993.993 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:02:03,995.995 INFO    ] No update needed
[2026-08-29 23:02:03,997.997 INFO    ] Checking for camera pi updates...
[2026-08-29 23:02:04,034.034 INFO    ] 200
[2026-08-29 23:02:04,036.036 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:02:04,079.079 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:02:04,158.158 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:02:04,160.160 INFO    ] No camera update needed
[2026-08-29 23:02:04,163.163 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:02:04,165.165 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:02:04,170.170 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:02:04,175.175 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:02:06,216.216 INFO    ] ================================================
[2026-08-29 23:02:06,230.230 INFO    ] Launching Daemon at Sat Aug 29 23:02:06 IST 2026
[2026-08-29 23:02:06,241.241 INFO    ] ================================================
[2026-08-29 23:02:06,589.589 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:02:06
[2026-08-29 23:02:07,165.165 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:02:07,435.435 INFO    ] Initializing speech engine...
[2026-08-29 23:02:07,450.450 INFO    ] 2026-08-29 23:02:07
[2026-08-29 23:02:07,720.720 INFO    ] 2026-08-29 23:02:07
[2026-08-29 23:02:07,757.757 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:02:07,900.900 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:02:07,906.906 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:02:08,058.058 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:02:08,068.068 INFO    ] time= 29/08/2026 23:02:08
[2026-08-29 23:02:08,074.074 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:02:08,097.097 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:02:08,154.154 INFO    ] No existing commands found in stream
[2026-08-29 23:02:13,180.180 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:02:13,183.183 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-08-29 23:02:17,488.488 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:02:17,490.490 INFO    ] Checking for system updates...
[2026-08-29 23:02:17,510.510 INFO    ] 200
[2026-08-29 23:02:17,511.511 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:02:17,543.543 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:02:17,545.545 INFO    ] No update needed
[2026-08-29 23:02:17,546.546 INFO    ] Checking for camera pi updates...
[2026-08-29 23:02:17,565.565 INFO    ] 200
[2026-08-29 23:02:17,566.566 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:02:17,588.588 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:02:17,682.682 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:02:17,683.683 INFO    ] No camera update needed
[2026-08-29 23:02:17,684.684 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:02:17,686.686 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:02:17,688.688 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:02:17,691.691 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:02:19,730.730 INFO    ] ================================================
[2026-08-29 23:02:19,745.745 INFO    ] Launching Daemon at Sat Aug 29 23:02:19 IST 2026
[2026-08-29 23:02:19,756.756 INFO    ] ================================================
[2026-08-29 23:02:20,128.128 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:02:20
[2026-08-29 23:02:20,463.463 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:02:20,694.694 INFO    ] Initializing speech engine...
[2026-08-29 23:02:20,703.703 INFO    ] 2026-08-29 23:02:20
[2026-08-29 23:02:20,979.979 INFO    ] 2026-08-29 23:02:20
[2026-08-29 23:02:21,032.032 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:02:21,317.317 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:02:21,326.326 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:02:21,482.482 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:02:21,525.525 INFO    ] time= 29/08/2026 23:02:21
[2026-08-29 23:02:21,543.543 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:02:21,552.552 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:02:21,666.666 INFO    ] No existing commands found in stream
[2026-08-29 23:02:26,689.689 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:02:26,693.693 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-08-29 23:02:29,074.074 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:02:29,075.075 INFO    ] Checking for system updates...
[2026-08-29 23:02:29,095.095 INFO    ] 200
[2026-08-29 23:02:29,097.097 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:02:29,127.127 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:02:29,129.129 INFO    ] No update needed
[2026-08-29 23:02:29,130.130 INFO    ] Checking for camera pi updates...
[2026-08-29 23:02:29,149.149 INFO    ] 200
[2026-08-29 23:02:29,150.150 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:02:29,173.173 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:02:29,259.259 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:02:29,260.260 INFO    ] No camera update needed
[2026-08-29 23:02:29,262.262 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:02:29,263.263 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:02:29,266.266 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:02:29,269.269 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:02:31,307.307 INFO    ] ================================================
[2026-08-29 23:02:31,323.323 INFO    ] Launching Daemon at Sat Aug 29 23:02:31 IST 2026
[2026-08-29 23:02:31,334.334 INFO    ] ================================================
[2026-08-29 23:02:31,668.668 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:02:31
[2026-08-29 23:02:31,994.994 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:02:32,261.261 INFO    ] Initializing speech engine...
[2026-08-29 23:02:32,268.268 INFO    ] 2026-08-29 23:02:32
[2026-08-29 23:02:32,555.555 INFO    ] 2026-08-29 23:02:32
[2026-08-29 23:02:32,601.601 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:02:32,827.827 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:02:32,837.837 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:02:32,976.976 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:02:33,036.036 INFO    ] time= 29/08/2026 23:02:32
[2026-08-29 23:02:33,096.096 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:02:33,114.114 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:02:33,166.166 INFO    ] No existing commands found in stream
[2026-08-29 23:02:38,179.179 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:02:38,182.182 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-08-29 23:02:42,019.019 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:02:42,021.021 INFO    ] Checking for system updates...
[2026-08-29 23:02:42,041.041 INFO    ] 200
[2026-08-29 23:02:42,043.043 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:02:42,075.075 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:02:42,076.076 INFO    ] No update needed
[2026-08-29 23:02:42,077.077 INFO    ] Checking for camera pi updates...
[2026-08-29 23:02:42,096.096 INFO    ] 200
[2026-08-29 23:02:42,097.097 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:02:42,120.120 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:02:42,221.221 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:02:42,223.223 INFO    ] No camera update needed
[2026-08-29 23:02:42,225.225 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:02:42,228.228 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:02:42,233.233 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:02:42,238.238 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:02:44,279.279 INFO    ] ================================================
[2026-08-29 23:02:44,295.295 INFO    ] Launching Daemon at Sat Aug 29 23:02:44 IST 2026
[2026-08-29 23:02:44,307.307 INFO    ] ================================================
[2026-08-29 23:02:44,951.951 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:02:44
[2026-08-29 23:02:45,406.406 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:02:45,545.545 INFO    ] Initializing speech engine...
[2026-08-29 23:02:45,552.552 INFO    ] 2026-08-29 23:02:45
[2026-08-29 23:02:45,807.807 INFO    ] 2026-08-29 23:02:45
[2026-08-29 23:02:45,841.841 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:02:46,019.019 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:02:46,032.032 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:02:46,177.177 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:02:46,186.186 INFO    ] time= 29/08/2026 23:02:46
[2026-08-29 23:02:46,192.192 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:02:46,212.212 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:02:46,347.347 INFO    ] No existing commands found in stream
[2026-08-29 23:02:51,377.377 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:02:51,380.380 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-08-29 23:02:52,661.661 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:02:52,663.663 INFO    ] Checking for system updates...
[2026-08-29 23:02:52,685.685 INFO    ] 200
[2026-08-29 23:02:52,686.686 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:02:52,716.716 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:02:52,717.717 INFO    ] No update needed
[2026-08-29 23:02:52,718.718 INFO    ] Checking for camera pi updates...
[2026-08-29 23:02:52,737.737 INFO    ] 200
[2026-08-29 23:02:52,738.738 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:02:52,761.761 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:02:52,851.851 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:02:52,853.853 INFO    ] No camera update needed
[2026-08-29 23:02:52,854.854 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:02:52,855.855 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:02:52,858.858 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:02:52,861.861 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:02:54,901.901 INFO    ] ================================================
[2026-08-29 23:02:54,918.918 INFO    ] Launching Daemon at Sat Aug 29 23:02:54 IST 2026
[2026-08-29 23:02:54,929.929 INFO    ] ================================================
[2026-08-29 23:02:55,477.477 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:02:55
[2026-08-29 23:02:56,071.071 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:02:56,348.348 INFO    ] Initializing speech engine...
[2026-08-29 23:02:56,355.355 INFO    ] 2026-08-29 23:02:56
[2026-08-29 23:02:56,603.603 INFO    ] 2026-08-29 23:02:56
[2026-08-29 23:02:56,670.670 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:02:56,892.892 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:02:56,900.900 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:02:57,033.033 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:02:57,054.054 INFO    ] time= 29/08/2026 23:02:57
[2026-08-29 23:02:57,114.114 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:02:57,163.163 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:02:57,217.217 INFO    ] No existing commands found in stream
[2026-08-29 23:03:02,230.230 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:03:02,233.233 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-08-29 23:03:05,544.544 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:03:05,545.545 INFO    ] Checking for system updates...
[2026-08-29 23:03:05,565.565 INFO    ] 200
[2026-08-29 23:03:05,567.567 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:03:05,596.596 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:03:05,598.598 INFO    ] No update needed
[2026-08-29 23:03:05,599.599 INFO    ] Checking for camera pi updates...
[2026-08-29 23:03:05,620.620 INFO    ] 200
[2026-08-29 23:03:05,622.622 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:03:05,660.660 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:03:05,751.751 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:03:05,753.753 INFO    ] No camera update needed
[2026-08-29 23:03:05,755.755 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:03:05,758.758 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:03:05,763.763 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:03:05,768.768 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:03:07,808.808 INFO    ] ================================================
[2026-08-29 23:03:07,826.826 INFO    ] Launching Daemon at Sat Aug 29 23:03:07 IST 2026
[2026-08-29 23:03:07,837.837 INFO    ] ================================================
[2026-08-29 23:03:08,407.407 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:03:08
[2026-08-29 23:03:08,835.835 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:03:08,967.967 INFO    ] Initializing speech engine...
[2026-08-29 23:03:08,970.970 INFO    ] 2026-08-29 23:03:08
[2026-08-29 23:03:09,171.171 INFO    ] 2026-08-29 23:03:09
[2026-08-29 23:03:09,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:03:09,383.383 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:03:09,389.389 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:03:09,508.508 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:03:09,515.515 INFO    ] time= 29/08/2026 23:03:09
[2026-08-29 23:03:09,534.534 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:03:09,557.557 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:03:09,631.631 INFO    ] No existing commands found in stream
[2026-08-29 23:03:14,646.646 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:03:14,648.648 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-08-29 23:03:15,548.548 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:03:15,549.549 INFO    ] Checking for system updates...
[2026-08-29 23:03:15,570.570 INFO    ] 200
[2026-08-29 23:03:15,571.571 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:03:15,601.601 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:03:15,603.603 INFO    ] No update needed
[2026-08-29 23:03:15,604.604 INFO    ] Checking for camera pi updates...
[2026-08-29 23:03:15,626.626 INFO    ] 200
[2026-08-29 23:03:15,627.627 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:03:15,650.650 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:03:15,746.746 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:03:15,747.747 INFO    ] No camera update needed
[2026-08-29 23:03:15,748.748 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:03:15,749.749 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:03:15,752.752 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:03:15,755.755 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:03:17,795.795 INFO    ] ================================================
[2026-08-29 23:03:17,811.811 INFO    ] Launching Daemon at Sat Aug 29 23:03:17 IST 2026
[2026-08-29 23:03:17,822.822 INFO    ] ================================================
[2026-08-29 23:03:18,179.179 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:03:18
[2026-08-29 23:03:18,519.519 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:03:18,806.806 INFO    ] Initializing speech engine...
[2026-08-29 23:03:18,816.816 INFO    ] 2026-08-29 23:03:18
[2026-08-29 23:03:19,101.101 INFO    ] 2026-08-29 23:03:19
[2026-08-29 23:03:19,157.157 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:03:19,384.384 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:03:19,394.394 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:03:19,531.531 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:03:19,554.554 INFO    ] time= 29/08/2026 23:03:19
[2026-08-29 23:03:19,619.619 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:03:19,669.669 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:03:19,723.723 INFO    ] No existing commands found in stream
[2026-08-29 23:03:24,736.736 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:03:24,739.739 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-08-29 23:03:25,466.466 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:03:25,467.467 INFO    ] Checking for system updates...
[2026-08-29 23:03:25,488.488 INFO    ] 200
[2026-08-29 23:03:25,489.489 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:03:25,520.520 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:03:25,522.522 INFO    ] No update needed
[2026-08-29 23:03:25,523.523 INFO    ] Checking for camera pi updates...
[2026-08-29 23:03:25,544.544 INFO    ] 200
[2026-08-29 23:03:25,545.545 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:03:25,568.568 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:03:25,660.660 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:03:25,661.661 INFO    ] No camera update needed
[2026-08-29 23:03:25,663.663 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:03:25,664.664 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:03:25,667.667 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:03:25,670.670 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:03:27,708.708 INFO    ] ================================================
[2026-08-29 23:03:27,724.724 INFO    ] Launching Daemon at Sat Aug 29 23:03:27 IST 2026
[2026-08-29 23:03:27,735.735 INFO    ] ================================================
[2026-08-29 23:03:28,081.081 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:03:28
[2026-08-29 23:03:28,420.420 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:03:28,721.721 INFO    ] Initializing speech engine...
[2026-08-29 23:03:28,728.728 INFO    ] 2026-08-29 23:03:28
[2026-08-29 23:03:29,003.003 INFO    ] 2026-08-29 23:03:28
[2026-08-29 23:03:29,060.060 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:03:29,283.283 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:03:29,292.292 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:03:29,425.425 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:03:29,468.468 INFO    ] time= 29/08/2026 23:03:29
[2026-08-29 23:03:29,522.522 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:03:29,562.562 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:03:29,683.683 INFO    ] No existing commands found in stream
[2026-08-29 23:03:34,714.714 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:03:34,717.717 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-08-29 23:03:38,619.619 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:03:38,621.621 INFO    ] Checking for system updates...
[2026-08-29 23:03:38,643.643 INFO    ] 200
[2026-08-29 23:03:38,644.644 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:03:38,677.677 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:03:38,679.679 INFO    ] No update needed
[2026-08-29 23:03:38,680.680 INFO    ] Checking for camera pi updates...
[2026-08-29 23:03:38,701.701 INFO    ] 200
[2026-08-29 23:03:38,702.702 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:03:38,736.736 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:03:38,819.819 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:03:38,822.822 INFO    ] No camera update needed
[2026-08-29 23:03:38,824.824 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:03:38,827.827 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:03:38,832.832 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:03:38,837.837 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:03:40,877.877 INFO    ] ================================================
[2026-08-29 23:03:40,893.893 INFO    ] Launching Daemon at Sat Aug 29 23:03:40 IST 2026
[2026-08-29 23:03:40,905.905 INFO    ] ================================================
[2026-08-29 23:03:41,479.479 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:03:41
[2026-08-29 23:03:41,868.868 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:03:42,011.011 INFO    ] Initializing speech engine...
[2026-08-29 23:03:42,016.016 INFO    ] 2026-08-29 23:03:42
[2026-08-29 23:03:42,222.222 INFO    ] 2026-08-29 23:03:42
[2026-08-29 23:03:42,251.251 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:03:42,374.374 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:03:42,423.423 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:03:42,571.571 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:03:42,633.633 INFO    ] time= 29/08/2026 23:03:42
[2026-08-29 23:03:42,663.663 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:03:42,673.673 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:03:42,746.746 INFO    ] No existing commands found in stream
[2026-08-29 23:03:47,755.755 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:03:47,757.757 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-08-29 23:03:51,428.428 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:03:51,430.430 INFO    ] Checking for system updates...
[2026-08-29 23:03:51,452.452 INFO    ] 200
[2026-08-29 23:03:51,454.454 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:03:51,486.486 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:03:51,488.488 INFO    ] No update needed
[2026-08-29 23:03:51,489.489 INFO    ] Checking for camera pi updates...
[2026-08-29 23:03:51,511.511 INFO    ] 200
[2026-08-29 23:03:51,513.513 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:03:51,536.536 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:03:51,721.721 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:03:51,723.723 INFO    ] No camera update needed
[2026-08-29 23:03:51,724.724 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:03:51,726.726 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:03:51,729.729 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:03:51,732.732 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:03:53,771.771 INFO    ] ================================================
[2026-08-29 23:03:53,786.786 INFO    ] Launching Daemon at Sat Aug 29 23:03:53 IST 2026
[2026-08-29 23:03:53,797.797 INFO    ] ================================================
[2026-08-29 23:03:54,152.152 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:03:54
[2026-08-29 23:03:54,468.468 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:03:54,612.612 INFO    ] Initializing speech engine...
[2026-08-29 23:03:54,618.618 INFO    ] 2026-08-29 23:03:54
[2026-08-29 23:03:54,817.817 INFO    ] 2026-08-29 23:03:54
[2026-08-29 23:03:54,895.895 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:03:55,043.043 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:03:55,052.052 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:03:55,184.184 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:03:55,206.206 INFO    ] time= 29/08/2026 23:03:55
[2026-08-29 23:03:55,265.265 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:03:55,315.315 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:03:55,377.377 INFO    ] No existing commands found in stream
[2026-08-29 23:04:00,389.389 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:04:00,392.392 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-08-29 23:04:02,646.646 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:04:02,649.649 INFO    ] Checking for system updates...
[2026-08-29 23:04:02,688.688 INFO    ] 200
[2026-08-29 23:04:02,691.691 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:04:02,768.768 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:04:02,772.772 INFO    ] No update needed
[2026-08-29 23:04:02,776.776 INFO    ] Checking for camera pi updates...
[2026-08-29 23:04:02,824.824 INFO    ] 200
[2026-08-29 23:04:02,829.829 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:04:02,893.893 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:04:03,027.027 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:04:03,032.032 INFO    ] No camera update needed
[2026-08-29 23:04:03,035.035 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:04:03,042.042 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:04:03,051.051 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:04:03,060.060 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:04:05,104.104 INFO    ] ================================================
[2026-08-29 23:04:05,121.121 INFO    ] Launching Daemon at Sat Aug 29 23:04:05 IST 2026
[2026-08-29 23:04:05,132.132 INFO    ] ================================================
[2026-08-29 23:04:05,647.647 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:04:05
[2026-08-29 23:04:06,325.325 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:04:06,654.654 INFO    ] Initializing speech engine...
[2026-08-29 23:04:06,665.665 INFO    ] 2026-08-29 23:04:06
[2026-08-29 23:04:06,939.939 INFO    ] 2026-08-29 23:04:06
[2026-08-29 23:04:07,001.001 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:04:07,232.232 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:04:07,242.242 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:04:07,380.380 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:04:07,423.423 INFO    ] time= 29/08/2026 23:04:07
[2026-08-29 23:04:07,478.478 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:04:07,520.520 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:04:07,575.575 INFO    ] No existing commands found in stream
[2026-08-29 23:04:12,588.588 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:04:12,591.591 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-08-29 23:04:14,856.856 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:04:14,857.857 INFO    ] Checking for system updates...
[2026-08-29 23:04:14,878.878 INFO    ] 200
[2026-08-29 23:04:14,879.879 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:04:14,912.912 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:04:14,914.914 INFO    ] No update needed
[2026-08-29 23:04:14,915.915 INFO    ] Checking for camera pi updates...
[2026-08-29 23:04:14,949.949 INFO    ] 200
[2026-08-29 23:04:14,951.951 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:04:15,000.000 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:04:15,104.104 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:04:15,107.107 INFO    ] No camera update needed
[2026-08-29 23:04:15,110.110 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:04:15,112.112 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:04:15,118.118 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:04:15,124.124 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:04:17,165.165 INFO    ] ================================================
[2026-08-29 23:04:17,181.181 INFO    ] Launching Daemon at Sat Aug 29 23:04:17 IST 2026
[2026-08-29 23:04:17,193.193 INFO    ] ================================================
[2026-08-29 23:04:17,863.863 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:04:17
[2026-08-29 23:04:18,300.300 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:04:18,444.444 INFO    ] Initializing speech engine...
[2026-08-29 23:04:18,457.457 INFO    ] 2026-08-29 23:04:18
[2026-08-29 23:04:18,670.670 INFO    ] 2026-08-29 23:04:18
[2026-08-29 23:04:18,699.699 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:04:18,828.828 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:04:18,891.891 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:04:19,031.031 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:04:19,099.099 INFO    ] time= 29/08/2026 23:04:19
[2026-08-29 23:04:19,123.123 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:04:19,130.130 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:04:19,196.196 INFO    ] No existing commands found in stream
[2026-08-29 23:04:24,207.207 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:04:24,211.211 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-08-29 23:04:28,516.516 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:04:28,517.517 INFO    ] Checking for system updates...
[2026-08-29 23:04:28,539.539 INFO    ] 200
[2026-08-29 23:04:28,541.541 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:04:28,572.572 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:04:28,574.574 INFO    ] No update needed
[2026-08-29 23:04:28,575.575 INFO    ] Checking for camera pi updates...
[2026-08-29 23:04:28,595.595 INFO    ] 200
[2026-08-29 23:04:28,596.596 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:04:28,622.622 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:04:28,713.713 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:04:28,715.715 INFO    ] No camera update needed
[2026-08-29 23:04:28,716.716 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:04:28,718.718 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:04:28,721.721 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:04:28,724.724 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:04:30,765.765 INFO    ] ================================================
[2026-08-29 23:04:30,780.780 INFO    ] Launching Daemon at Sat Aug 29 23:04:30 IST 2026
[2026-08-29 23:04:30,791.791 INFO    ] ================================================
[2026-08-29 23:04:31,145.145 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:04:31
[2026-08-29 23:04:31,491.491 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:04:31,645.645 INFO    ] Initializing speech engine...
[2026-08-29 23:04:31,651.651 INFO    ] 2026-08-29 23:04:31
[2026-08-29 23:04:31,937.937 INFO    ] 2026-08-29 23:04:31
[2026-08-29 23:04:31,997.997 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:04:32,149.149 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:04:32,163.163 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:04:32,304.304 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:04:32,330.330 INFO    ] time= 29/08/2026 23:04:32
[2026-08-29 23:04:32,341.341 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:04:32,345.345 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:04:32,400.400 INFO    ] No existing commands found in stream
[2026-08-29 23:04:37,426.426 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:04:37,430.430 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-08-29 23:04:38,125.125 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:04:38,126.126 INFO    ] Checking for system updates...
[2026-08-29 23:04:38,149.149 INFO    ] 200
[2026-08-29 23:04:38,151.151 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:04:38,184.184 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:04:38,185.185 INFO    ] No update needed
[2026-08-29 23:04:38,187.187 INFO    ] Checking for camera pi updates...
[2026-08-29 23:04:38,209.209 INFO    ] 200
[2026-08-29 23:04:38,210.210 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:04:38,236.236 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:04:38,331.331 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:04:38,335.335 INFO    ] No camera update needed
[2026-08-29 23:04:38,337.337 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:04:38,340.340 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:04:38,347.347 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:04:38,353.353 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:04:40,398.398 INFO    ] ================================================
[2026-08-29 23:04:40,414.414 INFO    ] Launching Daemon at Sat Aug 29 23:04:40 IST 2026
[2026-08-29 23:04:40,426.426 INFO    ] ================================================
[2026-08-29 23:04:40,999.999 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:04:40
[2026-08-29 23:04:41,476.476 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:04:41,613.613 INFO    ] Initializing speech engine...
[2026-08-29 23:04:41,616.616 INFO    ] 2026-08-29 23:04:41
[2026-08-29 23:04:41,809.809 INFO    ] 2026-08-29 23:04:41
[2026-08-29 23:04:41,856.856 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:04:41,980.980 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:04:41,984.984 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:04:42,104.104 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:04:42,119.119 INFO    ] time= 29/08/2026 23:04:42
[2026-08-29 23:04:42,124.124 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:04:42,128.128 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:04:42,234.234 INFO    ] No existing commands found in stream
[2026-08-29 23:04:47,250.250 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:04:47,253.253 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-08-29 23:04:50,961.961 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:04:50,962.962 INFO    ] Checking for system updates...
[2026-08-29 23:04:50,984.984 INFO    ] 200
[2026-08-29 23:04:50,986.986 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:04:51,016.016 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:04:51,017.017 INFO    ] No update needed
[2026-08-29 23:04:51,018.018 INFO    ] Checking for camera pi updates...
[2026-08-29 23:04:51,040.040 INFO    ] 200
[2026-08-29 23:04:51,041.041 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:04:51,065.065 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:04:51,143.143 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:04:51,144.144 INFO    ] No camera update needed
[2026-08-29 23:04:51,145.145 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:04:51,146.146 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:04:51,149.149 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:04:51,152.152 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:04:53,192.192 INFO    ] ================================================
[2026-08-29 23:04:53,208.208 INFO    ] Launching Daemon at Sat Aug 29 23:04:53 IST 2026
[2026-08-29 23:04:53,219.219 INFO    ] ================================================
[2026-08-29 23:04:53,588.588 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:04:53
[2026-08-29 23:04:53,935.935 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:04:54,089.089 INFO    ] Initializing speech engine...
[2026-08-29 23:04:54,095.095 INFO    ] 2026-08-29 23:04:54
[2026-08-29 23:04:54,305.305 INFO    ] 2026-08-29 23:04:54
[2026-08-29 23:04:54,335.335 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:04:54,460.460 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:04:54,518.518 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:04:54,693.693 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:04:54,759.759 INFO    ] time= 29/08/2026 23:04:54
[2026-08-29 23:04:54,785.785 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:04:54,852.852 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:04:54,959.959 INFO    ] No existing commands found in stream
[2026-08-29 23:04:59,981.981 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:04:59,984.984 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-08-29 23:05:01,008.008 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:05:01,010.010 INFO    ] Checking for system updates...
[2026-08-29 23:05:01,030.030 INFO    ] 200
[2026-08-29 23:05:01,032.032 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:05:01,061.061 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:05:01,063.063 INFO    ] No update needed
[2026-08-29 23:05:01,064.064 INFO    ] Checking for camera pi updates...
[2026-08-29 23:05:01,083.083 INFO    ] 200
[2026-08-29 23:05:01,084.084 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:05:01,109.109 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:05:01,208.208 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:05:01,209.209 INFO    ] No camera update needed
[2026-08-29 23:05:01,210.210 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:05:01,212.212 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:05:01,215.215 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:05:01,217.217 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:05:03,260.260 INFO    ] ================================================
[2026-08-29 23:05:03,276.276 INFO    ] Launching Daemon at Sat Aug 29 23:05:03 IST 2026
[2026-08-29 23:05:03,296.296 INFO    ] ================================================
[2026-08-29 23:05:03,882.882 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:05:03
[2026-08-29 23:05:04,469.469 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:05:04,750.750 INFO    ] Initializing speech engine...
[2026-08-29 23:05:04,757.757 INFO    ] 2026-08-29 23:05:04
[2026-08-29 23:05:05,001.001 INFO    ] 2026-08-29 23:05:04
[2026-08-29 23:05:05,029.029 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:05:05,189.189 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:05:05,218.218 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:05:05,348.348 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:05:05,399.399 INFO    ] time= 29/08/2026 23:05:05
[2026-08-29 23:05:05,439.439 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:05:05,449.449 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:05:05,520.520 INFO    ] No existing commands found in stream
[2026-08-29 23:05:10,531.531 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:05:10,534.534 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-08-29 23:05:14,799.799 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:05:14,801.801 INFO    ] Checking for system updates...
[2026-08-29 23:05:14,821.821 INFO    ] 200
[2026-08-29 23:05:14,823.823 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:05:14,856.856 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:05:14,857.857 INFO    ] No update needed
[2026-08-29 23:05:14,858.858 INFO    ] Checking for camera pi updates...
[2026-08-29 23:05:14,879.879 INFO    ] 200
[2026-08-29 23:05:14,880.880 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:05:14,905.905 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:05:14,991.991 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:05:14,993.993 INFO    ] No camera update needed
[2026-08-29 23:05:14,994.994 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:05:14,995.995 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:05:14,998.998 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:05:15,001.001 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:05:17,040.040 INFO    ] ================================================
[2026-08-29 23:05:17,055.055 INFO    ] Launching Daemon at Sat Aug 29 23:05:17 IST 2026
[2026-08-29 23:05:17,066.066 INFO    ] ================================================
[2026-08-29 23:05:17,413.413 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:05:17
[2026-08-29 23:05:17,726.726 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:05:17,858.858 INFO    ] Initializing speech engine...
[2026-08-29 23:05:17,863.863 INFO    ] 2026-08-29 23:05:17
[2026-08-29 23:05:18,055.055 INFO    ] 2026-08-29 23:05:18
[2026-08-29 23:05:18,103.103 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:05:18,263.263 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:05:18,305.305 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:05:18,444.444 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:05:18,479.479 INFO    ] time= 29/08/2026 23:05:18
[2026-08-29 23:05:18,525.525 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:05:18,565.565 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:05:18,664.664 INFO    ] No existing commands found in stream
[2026-08-29 23:05:23,672.672 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:05:23,674.674 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-08-29 23:05:30,344.344 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:05:30,346.346 INFO    ] Checking for system updates...
[2026-08-29 23:05:30,366.366 INFO    ] 200
[2026-08-29 23:05:30,368.368 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:05:30,398.398 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:05:30,399.399 INFO    ] No update needed
[2026-08-29 23:05:30,400.400 INFO    ] Checking for camera pi updates...
[2026-08-29 23:05:30,420.420 INFO    ] 200
[2026-08-29 23:05:30,421.421 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:05:30,445.445 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:05:30,520.520 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:05:30,521.521 INFO    ] No camera update needed
[2026-08-29 23:05:30,523.523 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:05:30,524.524 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:05:30,527.527 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:05:30,530.530 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:05:32,563.563 INFO    ] ================================================
[2026-08-29 23:05:32,582.582 INFO    ] Launching Daemon at Sat Aug 29 23:05:32 IST 2026
[2026-08-29 23:05:32,596.596 INFO    ] ================================================
[2026-08-29 23:05:33,183.183 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:05:33
[2026-08-29 23:05:33,806.806 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:05:34,103.103 INFO    ] Initializing speech engine...
[2026-08-29 23:05:34,110.110 INFO    ] 2026-08-29 23:05:34
[2026-08-29 23:05:34,377.377 INFO    ] 2026-08-29 23:05:34
[2026-08-29 23:05:34,415.415 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:05:34,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:05:34,589.589 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:05:34,760.760 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:05:34,770.770 INFO    ] time= 29/08/2026 23:05:34
[2026-08-29 23:05:34,775.775 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:05:34,784.784 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:05:34,914.914 INFO    ] No existing commands found in stream
[2026-08-29 23:05:39,944.944 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:05:39,948.948 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-08-29 23:05:42,727.727 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:05:42,729.729 INFO    ] Checking for system updates...
[2026-08-29 23:05:42,749.749 INFO    ] 200
[2026-08-29 23:05:42,751.751 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:05:42,781.781 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:05:42,783.783 INFO    ] No update needed
[2026-08-29 23:05:42,784.784 INFO    ] Checking for camera pi updates...
[2026-08-29 23:05:42,804.804 INFO    ] 200
[2026-08-29 23:05:42,805.805 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:05:42,829.829 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:05:42,945.945 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:05:42,946.946 INFO    ] No camera update needed
[2026-08-29 23:05:42,947.947 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:05:42,948.948 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:05:42,951.951 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:05:42,954.954 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:05:45,996.996 INFO    ] ================================================
[2026-08-29 23:05:45,012.012 INFO    ] Launching Daemon at Sat Aug 29 23:05:45 IST 2026
[2026-08-29 23:05:45,023.023 INFO    ] ================================================
[2026-08-29 23:05:45,567.567 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:05:45
[2026-08-29 23:05:46,244.244 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:05:46,568.568 INFO    ] Initializing speech engine...
[2026-08-29 23:05:46,576.576 INFO    ] 2026-08-29 23:05:46
[2026-08-29 23:05:46,898.898 INFO    ] 2026-08-29 23:05:46
[2026-08-29 23:05:46,988.988 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:05:47,143.143 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:05:47,153.153 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:05:47,292.292 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:05:47,309.309 INFO    ] time= 29/08/2026 23:05:47
[2026-08-29 23:05:47,375.375 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:05:47,432.432 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:05:47,486.486 INFO    ] No existing commands found in stream
[2026-08-29 23:05:52,499.499 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:05:52,502.502 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-08-29 23:05:55,626.626 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:05:55,628.628 INFO    ] Checking for system updates...
[2026-08-29 23:05:55,651.651 INFO    ] 200
[2026-08-29 23:05:55,653.653 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:05:55,699.699 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:05:55,702.702 INFO    ] No update needed
[2026-08-29 23:05:55,705.705 INFO    ] Checking for camera pi updates...
[2026-08-29 23:05:55,750.750 INFO    ] 200
[2026-08-29 23:05:55,754.754 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:05:55,814.814 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:05:56,025.025 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:05:56,028.028 INFO    ] No camera update needed
[2026-08-29 23:05:56,030.030 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:05:56,033.033 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:05:56,040.040 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:05:56,046.046 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:05:58,086.086 INFO    ] ================================================
[2026-08-29 23:05:58,101.101 INFO    ] Launching Daemon at Sat Aug 29 23:05:58 IST 2026
[2026-08-29 23:05:58,113.113 INFO    ] ================================================
[2026-08-29 23:05:58,781.781 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:05:58
[2026-08-29 23:05:59,128.128 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:05:59,285.285 INFO    ] Initializing speech engine...
[2026-08-29 23:05:59,290.290 INFO    ] 2026-08-29 23:05:59
[2026-08-29 23:05:59,502.502 INFO    ] 2026-08-29 23:05:59
[2026-08-29 23:05:59,532.532 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:05:59,678.678 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:05:59,723.723 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:05:59,859.859 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:05:59,900.900 INFO    ] time= 29/08/2026 23:05:59
[2026-08-29 23:05:59,946.946 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:05:59,963.963 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:06:00,035.035 INFO    ] No existing commands found in stream
[2026-08-29 23:06:05,046.046 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:06:05,049.049 INFO    ] Waiting 1.19 seconds before fallback handling...
[2026-08-29 23:06:06,629.629 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:06:06,637.637 INFO    ] Checking for system updates...
[2026-08-29 23:06:06,674.674 INFO    ] 200
[2026-08-29 23:06:06,676.676 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:06:06,728.728 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:06:06,730.730 INFO    ] No update needed
[2026-08-29 23:06:06,733.733 INFO    ] Checking for camera pi updates...
[2026-08-29 23:06:06,765.765 INFO    ] 200
[2026-08-29 23:06:06,768.768 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:06:06,808.808 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:06:06,905.905 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:06:06,908.908 INFO    ] No camera update needed
[2026-08-29 23:06:06,910.910 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:06:06,912.912 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:06:06,917.917 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:06:06,922.922 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:06:08,963.963 INFO    ] ================================================
[2026-08-29 23:06:08,979.979 INFO    ] Launching Daemon at Sat Aug 29 23:06:08 IST 2026
[2026-08-29 23:06:08,990.990 INFO    ] ================================================
[2026-08-29 23:06:09,559.559 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:06:09
[2026-08-29 23:06:09,880.880 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:06:10,056.056 INFO    ] Initializing speech engine...
[2026-08-29 23:06:10,069.069 INFO    ] 2026-08-29 23:06:10
[2026-08-29 23:06:10,317.317 INFO    ] 2026-08-29 23:06:10
[2026-08-29 23:06:10,353.353 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:06:10,526.526 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:06:10,548.548 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:06:10,663.663 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:06:10,683.683 INFO    ] time= 29/08/2026 23:06:10
[2026-08-29 23:06:10,691.691 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:06:10,697.697 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:06:10,761.761 INFO    ] No existing commands found in stream
[2026-08-29 23:06:15,774.774 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:06:15,776.776 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-08-29 23:06:17,731.731 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:06:17,732.732 INFO    ] Checking for system updates...
[2026-08-29 23:06:17,753.753 INFO    ] 200
[2026-08-29 23:06:17,754.754 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:06:17,785.785 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:06:17,786.786 INFO    ] No update needed
[2026-08-29 23:06:17,787.787 INFO    ] Checking for camera pi updates...
[2026-08-29 23:06:17,808.808 INFO    ] 200
[2026-08-29 23:06:17,809.809 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:06:17,832.832 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:06:17,916.916 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:06:17,917.917 INFO    ] No camera update needed
[2026-08-29 23:06:17,919.919 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:06:17,920.920 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:06:17,923.923 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:06:17,926.926 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:06:19,968.968 INFO    ] ================================================
[2026-08-29 23:06:19,984.984 INFO    ] Launching Daemon at Sat Aug 29 23:06:19 IST 2026
[2026-08-29 23:06:20,996.996 INFO    ] ================================================
[2026-08-29 23:06:20,359.359 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:06:20
[2026-08-29 23:06:20,727.727 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:06:21,038.038 INFO    ] Initializing speech engine...
[2026-08-29 23:06:21,052.052 INFO    ] 2026-08-29 23:06:21
[2026-08-29 23:06:21,366.366 INFO    ] 2026-08-29 23:06:21
[2026-08-29 23:06:21,453.453 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:06:21,609.609 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:06:21,615.615 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:06:21,751.751 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:06:21,822.822 INFO    ] time= 29/08/2026 23:06:21
[2026-08-29 23:06:21,880.880 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:06:21,887.887 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:06:22,008.008 INFO    ] No existing commands found in stream
[2026-08-29 23:06:27,039.039 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:06:27,043.043 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-08-29 23:06:30,186.186 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:06:30,187.187 INFO    ] Checking for system updates...
[2026-08-29 23:06:30,208.208 INFO    ] 200
[2026-08-29 23:06:30,209.209 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:06:30,241.241 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:06:30,242.242 INFO    ] No update needed
[2026-08-29 23:06:30,244.244 INFO    ] Checking for camera pi updates...
[2026-08-29 23:06:30,264.264 INFO    ] 200
[2026-08-29 23:06:30,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:06:30,290.290 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:06:30,371.371 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:06:30,372.372 INFO    ] No camera update needed
[2026-08-29 23:06:30,374.374 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:06:30,375.375 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:06:30,379.379 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:06:30,382.382 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:06:32,423.423 INFO    ] ================================================
[2026-08-29 23:06:32,440.440 INFO    ] Launching Daemon at Sat Aug 29 23:06:32 IST 2026
[2026-08-29 23:06:32,453.453 INFO    ] ================================================
[2026-08-29 23:06:33,055.055 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:06:33
[2026-08-29 23:06:33,740.740 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:06:34,051.051 INFO    ] Initializing speech engine...
[2026-08-29 23:06:34,063.063 INFO    ] 2026-08-29 23:06:34
[2026-08-29 23:06:34,378.378 INFO    ] 2026-08-29 23:06:34
[2026-08-29 23:06:34,465.465 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:06:34,621.621 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:06:34,626.626 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:06:34,760.760 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:06:34,803.803 INFO    ] time= 29/08/2026 23:06:34
[2026-08-29 23:06:34,857.857 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:06:34,896.896 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:06:34,966.966 INFO    ] No existing commands found in stream
[2026-08-29 23:06:40,003.003 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:06:40,007.007 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-08-29 23:06:41,024.024 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:06:41,026.026 INFO    ] Checking for system updates...
[2026-08-29 23:06:41,047.047 INFO    ] 200
[2026-08-29 23:06:41,049.049 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:06:41,079.079 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:06:41,081.081 INFO    ] No update needed
[2026-08-29 23:06:41,082.082 INFO    ] Checking for camera pi updates...
[2026-08-29 23:06:41,102.102 INFO    ] 200
[2026-08-29 23:06:41,104.104 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:06:41,128.128 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:06:41,217.217 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:06:41,218.218 INFO    ] No camera update needed
[2026-08-29 23:06:41,220.220 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:06:41,221.221 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:06:41,224.224 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:06:41,227.227 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:06:43,265.265 INFO    ] ================================================
[2026-08-29 23:06:43,281.281 INFO    ] Launching Daemon at Sat Aug 29 23:06:43 IST 2026
[2026-08-29 23:06:43,292.292 INFO    ] ================================================
[2026-08-29 23:06:43,667.667 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:06:43
[2026-08-29 23:06:44,014.014 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:06:44,169.169 INFO    ] Initializing speech engine...
[2026-08-29 23:06:44,173.173 INFO    ] 2026-08-29 23:06:44
[2026-08-29 23:06:44,381.381 INFO    ] 2026-08-29 23:06:44
[2026-08-29 23:06:44,410.410 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:06:44,534.534 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:06:44,603.603 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:06:44,772.772 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:06:44,827.827 INFO    ] time= 29/08/2026 23:06:44
[2026-08-29 23:06:44,882.882 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:06:44,913.913 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:06:45,031.031 INFO    ] No existing commands found in stream
[2026-08-29 23:06:50,049.049 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:06:50,052.052 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-08-29 23:06:51,065.065 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:06:51,067.067 INFO    ] Checking for system updates...
[2026-08-29 23:06:51,087.087 INFO    ] 200
[2026-08-29 23:06:51,089.089 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:06:51,122.122 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:06:51,123.123 INFO    ] No update needed
[2026-08-29 23:06:51,125.125 INFO    ] Checking for camera pi updates...
[2026-08-29 23:06:51,145.145 INFO    ] 200
[2026-08-29 23:06:51,146.146 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:06:51,169.169 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:06:51,221.221 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:06:51,222.222 INFO    ] No camera update needed
[2026-08-29 23:06:51,224.224 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:06:51,225.225 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:06:51,228.228 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:06:51,230.230 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:06:53,270.270 INFO    ] ================================================
[2026-08-29 23:06:53,285.285 INFO    ] Launching Daemon at Sat Aug 29 23:06:53 IST 2026
[2026-08-29 23:06:53,296.296 INFO    ] ================================================
[2026-08-29 23:06:53,867.867 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:06:53
[2026-08-29 23:06:54,365.365 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:06:54,508.508 INFO    ] Initializing speech engine...
[2026-08-29 23:06:54,513.513 INFO    ] 2026-08-29 23:06:54
[2026-08-29 23:06:54,720.720 INFO    ] 2026-08-29 23:06:54
[2026-08-29 23:06:54,748.748 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:06:54,902.902 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:06:54,910.910 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:06:55,069.069 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:06:55,118.118 INFO    ] time= 29/08/2026 23:06:55
[2026-08-29 23:06:55,136.136 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:06:55,170.170 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:06:55,269.269 INFO    ] No existing commands found in stream
[2026-08-29 23:07:00,293.293 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:07:00,296.296 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 23:07:03,913.913 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:07:03,916.916 INFO    ] Checking for system updates...
[2026-08-29 23:07:03,952.952 INFO    ] 200
[2026-08-29 23:07:03,955.955 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:07:04,009.009 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:07:04,012.012 INFO    ] No update needed
[2026-08-29 23:07:04,015.015 INFO    ] Checking for camera pi updates...
[2026-08-29 23:07:04,049.049 INFO    ] 200
[2026-08-29 23:07:04,052.052 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:07:04,093.093 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:07:04,221.221 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:07:04,223.223 INFO    ] No camera update needed
[2026-08-29 23:07:04,226.226 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:07:04,228.228 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:07:04,233.233 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:07:04,238.238 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:07:06,281.281 INFO    ] ================================================
[2026-08-29 23:07:06,301.301 INFO    ] Launching Daemon at Sat Aug 29 23:07:06 IST 2026
[2026-08-29 23:07:06,316.316 INFO    ] ================================================
[2026-08-29 23:07:06,667.667 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:07:06
[2026-08-29 23:07:07,004.004 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:07:07,153.153 INFO    ] Initializing speech engine...
[2026-08-29 23:07:07,159.159 INFO    ] 2026-08-29 23:07:07
[2026-08-29 23:07:07,363.363 INFO    ] 2026-08-29 23:07:07
[2026-08-29 23:07:07,391.391 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:07:07,513.513 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:07:07,551.551 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:07:07,730.730 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:07:07,772.772 INFO    ] time= 29/08/2026 23:07:07
[2026-08-29 23:07:07,837.837 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:07:07,852.852 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:07:07,980.980 INFO    ] No existing commands found in stream
[2026-08-29 23:07:12,999.999 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:07:13,002.002 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-08-29 23:07:16,212.212 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:07:16,214.214 INFO    ] Checking for system updates...
[2026-08-29 23:07:16,251.251 INFO    ] 200
[2026-08-29 23:07:16,254.254 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:07:16,307.307 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:07:16,309.309 INFO    ] No update needed
[2026-08-29 23:07:16,312.312 INFO    ] Checking for camera pi updates...
[2026-08-29 23:07:16,349.349 INFO    ] 200
[2026-08-29 23:07:16,351.351 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:07:16,396.396 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:07:16,492.492 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:07:16,495.495 INFO    ] No camera update needed
[2026-08-29 23:07:16,498.498 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:07:16,500.500 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:07:16,506.506 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:07:16,512.512 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:07:18,553.553 INFO    ] ================================================
[2026-08-29 23:07:18,570.570 INFO    ] Launching Daemon at Sat Aug 29 23:07:18 IST 2026
[2026-08-29 23:07:18,580.580 INFO    ] ================================================
[2026-08-29 23:07:19,147.147 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:07:19
[2026-08-29 23:07:19,519.519 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:07:19,661.661 INFO    ] Initializing speech engine...
[2026-08-29 23:07:19,665.665 INFO    ] 2026-08-29 23:07:19
[2026-08-29 23:07:19,868.868 INFO    ] 2026-08-29 23:07:19
[2026-08-29 23:07:19,896.896 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:07:20,018.018 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:07:20,080.080 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:07:20,225.225 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:07:20,250.250 INFO    ] time= 29/08/2026 23:07:20
[2026-08-29 23:07:20,310.310 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:07:20,341.341 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:07:20,450.450 INFO    ] No existing commands found in stream
[2026-08-29 23:07:25,475.475 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:07:25,478.478 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-08-29 23:07:28,899.899 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:07:28,901.901 INFO    ] Checking for system updates...
[2026-08-29 23:07:28,921.921 INFO    ] 200
[2026-08-29 23:07:28,923.923 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:07:28,955.955 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:07:28,956.956 INFO    ] No update needed
[2026-08-29 23:07:28,957.957 INFO    ] Checking for camera pi updates...
[2026-08-29 23:07:28,978.978 INFO    ] 200
[2026-08-29 23:07:28,979.979 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:07:29,004.004 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:07:29,105.105 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:07:29,107.107 INFO    ] No camera update needed
[2026-08-29 23:07:29,108.108 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:07:29,109.109 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:07:29,112.112 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:07:29,115.115 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:07:31,155.155 INFO    ] ================================================
[2026-08-29 23:07:31,429.429 INFO    ] Launching Daemon at Sat Aug 29 23:07:31 IST 2026
[2026-08-29 23:07:31,440.440 INFO    ] ================================================
[2026-08-29 23:07:31,967.967 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:07:31
[2026-08-29 23:07:32,588.588 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:07:32,859.859 INFO    ] Initializing speech engine...
[2026-08-29 23:07:32,884.884 INFO    ] 2026-08-29 23:07:32
[2026-08-29 23:07:33,155.155 INFO    ] 2026-08-29 23:07:33
[2026-08-29 23:07:33,193.193 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:07:33,339.339 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:07:33,347.347 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:07:33,498.498 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:07:33,509.509 INFO    ] time= 29/08/2026 23:07:33
[2026-08-29 23:07:33,513.513 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:07:33,518.518 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:07:33,588.588 INFO    ] No existing commands found in stream
[2026-08-29 23:07:38,599.599 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:07:38,601.601 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-08-29 23:07:40,131.131 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:07:40,133.133 INFO    ] Checking for system updates...
[2026-08-29 23:07:40,154.154 INFO    ] 200
[2026-08-29 23:07:40,155.155 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:07:40,186.186 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:07:40,187.187 INFO    ] No update needed
[2026-08-29 23:07:40,188.188 INFO    ] Checking for camera pi updates...
[2026-08-29 23:07:40,209.209 INFO    ] 200
[2026-08-29 23:07:40,210.210 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:07:40,237.237 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:07:40,333.333 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:07:40,336.336 INFO    ] No camera update needed
[2026-08-29 23:07:40,339.339 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:07:40,341.341 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:07:40,348.348 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:07:40,353.353 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:07:42,394.394 INFO    ] ================================================
[2026-08-29 23:07:42,409.409 INFO    ] Launching Daemon at Sat Aug 29 23:07:42 IST 2026
[2026-08-29 23:07:42,420.420 INFO    ] ================================================
[2026-08-29 23:07:42,990.990 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:07:42
[2026-08-29 23:07:43,491.491 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:07:43,638.638 INFO    ] Initializing speech engine...
[2026-08-29 23:07:43,643.643 INFO    ] 2026-08-29 23:07:43
[2026-08-29 23:07:43,857.857 INFO    ] 2026-08-29 23:07:43
[2026-08-29 23:07:43,888.888 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:07:43,984.984 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:07:43,989.989 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:07:44,114.114 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:07:44,116.116 INFO    ] time= 29/08/2026 23:07:44
[2026-08-29 23:07:44,120.120 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:07:44,123.123 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:07:44,210.210 INFO    ] No existing commands found in stream
[2026-08-29 23:07:49,244.244 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:07:49,247.247 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-08-29 23:07:50,607.607 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:07:50,608.608 INFO    ] Checking for system updates...
[2026-08-29 23:07:50,629.629 INFO    ] 200
[2026-08-29 23:07:50,630.630 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:07:50,663.663 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:07:50,664.664 INFO    ] No update needed
[2026-08-29 23:07:50,666.666 INFO    ] Checking for camera pi updates...
[2026-08-29 23:07:50,689.689 INFO    ] 200
[2026-08-29 23:07:50,690.690 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:07:50,716.716 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:07:50,815.815 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:07:50,817.817 INFO    ] No camera update needed
[2026-08-29 23:07:50,818.818 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:07:50,819.819 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:07:50,823.823 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:07:50,826.826 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:07:52,864.864 INFO    ] ================================================
[2026-08-29 23:07:52,879.879 INFO    ] Launching Daemon at Sat Aug 29 23:07:52 IST 2026
[2026-08-29 23:07:52,890.890 INFO    ] ================================================
[2026-08-29 23:07:53,376.376 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:07:53
[2026-08-29 23:07:53,976.976 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:07:54,251.251 INFO    ] Initializing speech engine...
[2026-08-29 23:07:54,260.260 INFO    ] 2026-08-29 23:07:54
[2026-08-29 23:07:54,523.523 INFO    ] 2026-08-29 23:07:54
[2026-08-29 23:07:54,578.578 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:07:54,800.800 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:07:54,809.809 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:07:54,942.942 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:07:54,969.969 INFO    ] time= 29/08/2026 23:07:54
[2026-08-29 23:07:55,024.024 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:07:55,075.075 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:07:55,128.128 INFO    ] No existing commands found in stream
[2026-08-29 23:08:00,141.141 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:08:00,144.144 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-08-29 23:08:04,461.461 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:08:04,464.464 INFO    ] Checking for system updates...
[2026-08-29 23:08:04,499.499 INFO    ] 200
[2026-08-29 23:08:04,502.502 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:08:04,566.566 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:08:04,568.568 INFO    ] No update needed
[2026-08-29 23:08:04,569.569 INFO    ] Checking for camera pi updates...
[2026-08-29 23:08:04,589.589 INFO    ] 200
[2026-08-29 23:08:04,590.590 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:08:04,615.615 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:08:04,693.693 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:08:04,694.694 INFO    ] No camera update needed
[2026-08-29 23:08:04,695.695 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:08:04,697.697 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:08:04,699.699 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:08:04,702.702 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:08:06,741.741 INFO    ] ================================================
[2026-08-29 23:08:06,756.756 INFO    ] Launching Daemon at Sat Aug 29 23:08:06 IST 2026
[2026-08-29 23:08:06,767.767 INFO    ] ================================================
[2026-08-29 23:08:07,147.147 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:08:07
[2026-08-29 23:08:07,483.483 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:08:07,632.632 INFO    ] Initializing speech engine...
[2026-08-29 23:08:07,637.637 INFO    ] 2026-08-29 23:08:07
[2026-08-29 23:08:07,845.845 INFO    ] 2026-08-29 23:08:07
[2026-08-29 23:08:07,873.873 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:08:08,011.011 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:08:08,058.058 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:08:08,193.193 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:08:08,246.246 INFO    ] time= 29/08/2026 23:08:08
[2026-08-29 23:08:08,290.290 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:08:08,338.338 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:08:08,395.395 INFO    ] No existing commands found in stream
[2026-08-29 23:08:13,406.406 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:08:13,409.409 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-08-29 23:08:17,459.459 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:08:17,461.461 INFO    ] Checking for system updates...
[2026-08-29 23:08:17,481.481 INFO    ] 200
[2026-08-29 23:08:17,483.483 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:08:17,512.512 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:08:17,514.514 INFO    ] No update needed
[2026-08-29 23:08:17,515.515 INFO    ] Checking for camera pi updates...
[2026-08-29 23:08:17,535.535 INFO    ] 200
[2026-08-29 23:08:17,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:08:17,559.559 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:08:17,660.660 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:08:17,661.661 INFO    ] No camera update needed
[2026-08-29 23:08:17,662.662 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:08:17,664.664 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:08:17,667.667 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:08:17,669.669 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:08:19,700.700 INFO    ] ================================================
[2026-08-29 23:08:19,709.709 INFO    ] Launching Daemon at Sat Aug 29 23:08:19 IST 2026
[2026-08-29 23:08:19,715.715 INFO    ] ================================================
[2026-08-29 23:08:20,237.237 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:08:20
[2026-08-29 23:08:20,822.822 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:08:21,094.094 INFO    ] Initializing speech engine...
[2026-08-29 23:08:21,101.101 INFO    ] 2026-08-29 23:08:21
[2026-08-29 23:08:21,359.359 INFO    ] 2026-08-29 23:08:21
[2026-08-29 23:08:21,389.389 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:08:21,554.554 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:08:21,577.577 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:08:21,707.707 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:08:21,714.714 INFO    ] time= 29/08/2026 23:08:21
[2026-08-29 23:08:21,721.721 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:08:21,752.752 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:08:21,882.882 INFO    ] No existing commands found in stream
[2026-08-29 23:08:26,914.914 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:08:26,917.917 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-08-29 23:08:27,617.617 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:08:27,619.619 INFO    ] Checking for system updates...
[2026-08-29 23:08:27,639.639 INFO    ] 200
[2026-08-29 23:08:27,641.641 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:08:27,672.672 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:08:27,673.673 INFO    ] No update needed
[2026-08-29 23:08:27,675.675 INFO    ] Checking for camera pi updates...
[2026-08-29 23:08:27,694.694 INFO    ] 200
[2026-08-29 23:08:27,695.695 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:08:27,719.719 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:08:27,811.811 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:08:27,813.813 INFO    ] No camera update needed
[2026-08-29 23:08:27,816.816 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:08:27,819.819 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:08:27,825.825 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:08:27,830.830 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:08:29,872.872 INFO    ] ================================================
[2026-08-29 23:08:29,888.888 INFO    ] Launching Daemon at Sat Aug 29 23:08:29 IST 2026
[2026-08-29 23:08:29,899.899 INFO    ] ================================================
[2026-08-29 23:08:30,467.467 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:08:30
[2026-08-29 23:08:30,979.979 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:08:31,117.117 INFO    ] Initializing speech engine...
[2026-08-29 23:08:31,127.127 INFO    ] 2026-08-29 23:08:31
[2026-08-29 23:08:31,329.329 INFO    ] 2026-08-29 23:08:31
[2026-08-29 23:08:31,358.358 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:08:31,476.476 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:08:31,478.478 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:08:31,639.639 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:08:31,647.647 INFO    ] time= 29/08/2026 23:08:31
[2026-08-29 23:08:31,665.665 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:08:31,697.697 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:08:31,811.811 INFO    ] No existing commands found in stream
[2026-08-29 23:08:36,825.825 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:08:36,827.827 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-08-29 23:08:39,519.519 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:08:39,521.521 INFO    ] Checking for system updates...
[2026-08-29 23:08:39,543.543 INFO    ] 200
[2026-08-29 23:08:39,544.544 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:08:39,578.578 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:08:39,580.580 INFO    ] No update needed
[2026-08-29 23:08:39,581.581 INFO    ] Checking for camera pi updates...
[2026-08-29 23:08:39,603.603 INFO    ] 200
[2026-08-29 23:08:39,604.604 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:08:39,630.630 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:08:39,714.714 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:08:39,715.715 INFO    ] No camera update needed
[2026-08-29 23:08:39,716.716 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:08:39,718.718 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:08:39,721.721 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:08:39,724.724 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:08:41,764.764 INFO    ] ================================================
[2026-08-29 23:08:41,782.782 INFO    ] Launching Daemon at Sat Aug 29 23:08:41 IST 2026
[2026-08-29 23:08:41,793.793 INFO    ] ================================================
[2026-08-29 23:08:42,154.154 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:08:42
[2026-08-29 23:08:42,473.473 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:08:42,721.721 INFO    ] Initializing speech engine...
[2026-08-29 23:08:42,728.728 INFO    ] 2026-08-29 23:08:42
[2026-08-29 23:08:43,023.023 INFO    ] 2026-08-29 23:08:42
[2026-08-29 23:08:43,059.059 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:08:43,201.201 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:08:43,208.208 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:08:43,359.359 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:08:43,369.369 INFO    ] time= 29/08/2026 23:08:43
[2026-08-29 23:08:43,373.373 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:08:43,378.378 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:08:43,445.445 INFO    ] No existing commands found in stream
[2026-08-29 23:08:48,458.458 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:08:48,461.461 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-08-29 23:08:49,809.809 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:08:49,810.810 INFO    ] Checking for system updates...
[2026-08-29 23:08:49,831.831 INFO    ] 200
[2026-08-29 23:08:49,832.832 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:08:49,865.865 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:08:49,866.866 INFO    ] No update needed
[2026-08-29 23:08:49,867.867 INFO    ] Checking for camera pi updates...
[2026-08-29 23:08:49,886.886 INFO    ] 200
[2026-08-29 23:08:49,888.888 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:08:49,913.913 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:08:50,000.000 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:08:50,002.002 INFO    ] No camera update needed
[2026-08-29 23:08:50,003.003 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:08:50,004.004 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:08:50,007.007 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:08:50,010.010 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:08:52,048.048 INFO    ] ================================================
[2026-08-29 23:08:52,064.064 INFO    ] Launching Daemon at Sat Aug 29 23:08:52 IST 2026
[2026-08-29 23:08:52,074.074 INFO    ] ================================================
[2026-08-29 23:08:52,436.436 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:08:52
[2026-08-29 23:08:52,752.752 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:08:52,884.884 INFO    ] Initializing speech engine...
[2026-08-29 23:08:52,887.887 INFO    ] 2026-08-29 23:08:52
[2026-08-29 23:08:53,087.087 INFO    ] 2026-08-29 23:08:53
[2026-08-29 23:08:53,122.122 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:08:53,298.298 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:08:53,312.312 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:08:53,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:08:53,464.464 INFO    ] time= 29/08/2026 23:08:53
[2026-08-29 23:08:53,468.468 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:08:53,476.476 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:08:53,540.540 INFO    ] No existing commands found in stream
[2026-08-29 23:08:58,558.558 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:08:58,560.560 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-08-29 23:08:59,400.400 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:08:59,401.401 INFO    ] Checking for system updates...
[2026-08-29 23:08:59,422.422 INFO    ] 200
[2026-08-29 23:08:59,424.424 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:08:59,454.454 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:08:59,455.455 INFO    ] No update needed
[2026-08-29 23:08:59,456.456 INFO    ] Checking for camera pi updates...
[2026-08-29 23:08:59,476.476 INFO    ] 200
[2026-08-29 23:08:59,477.477 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:08:59,502.502 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:08:59,610.610 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:08:59,611.611 INFO    ] No camera update needed
[2026-08-29 23:08:59,612.612 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:08:59,614.614 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:08:59,617.617 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:08:59,619.619 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:09:01,661.661 INFO    ] ================================================
[2026-08-29 23:09:01,681.681 INFO    ] Launching Daemon at Sat Aug 29 23:09:01 IST 2026
[2026-08-29 23:09:01,697.697 INFO    ] ================================================
[2026-08-29 23:09:02,342.342 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:09:02
[2026-08-29 23:09:03,058.058 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:09:03,359.359 INFO    ] Initializing speech engine...
[2026-08-29 23:09:03,367.367 INFO    ] 2026-08-29 23:09:03
[2026-08-29 23:09:03,655.655 INFO    ] 2026-08-29 23:09:03
[2026-08-29 23:09:03,701.701 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:09:03,928.928 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:09:03,938.938 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:09:04,076.076 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:09:04,118.118 INFO    ] time= 29/08/2026 23:09:04
[2026-08-29 23:09:04,173.173 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:09:04,213.213 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:09:04,268.268 INFO    ] No existing commands found in stream
[2026-08-29 23:09:09,280.280 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:09:09,284.284 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-08-29 23:09:09,734.734 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:09:09,737.737 INFO    ] Checking for system updates...
[2026-08-29 23:09:09,774.774 INFO    ] 200
[2026-08-29 23:09:09,777.777 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:09:09,830.830 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:09:09,833.833 INFO    ] No update needed
[2026-08-29 23:09:09,836.836 INFO    ] Checking for camera pi updates...
[2026-08-29 23:09:09,871.871 INFO    ] 200
[2026-08-29 23:09:09,874.874 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:09:09,923.923 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:09:10,001.001 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:09:10,004.004 INFO    ] No camera update needed
[2026-08-29 23:09:10,007.007 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:09:10,009.009 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:09:10,015.015 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:09:10,021.021 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:09:12,062.062 INFO    ] ================================================
[2026-08-29 23:09:12,078.078 INFO    ] Launching Daemon at Sat Aug 29 23:09:12 IST 2026
[2026-08-29 23:09:12,091.091 INFO    ] ================================================
[2026-08-29 23:09:12,705.705 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:09:12
[2026-08-29 23:09:13,393.393 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:09:13,701.701 INFO    ] Initializing speech engine...
[2026-08-29 23:09:13,715.715 INFO    ] 2026-08-29 23:09:13
[2026-08-29 23:09:14,032.032 INFO    ] 2026-08-29 23:09:14
[2026-08-29 23:09:14,115.115 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:09:14,271.271 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:09:14,277.277 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:09:14,410.410 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:09:14,437.437 INFO    ] time= 29/08/2026 23:09:14
[2026-08-29 23:09:14,507.507 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:09:14,544.544 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:09:14,601.601 INFO    ] No existing commands found in stream
[2026-08-29 23:09:19,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:09:19,617.617 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-08-29 23:09:21,819.819 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:09:21,820.820 INFO    ] Checking for system updates...
[2026-08-29 23:09:21,841.841 INFO    ] 200
[2026-08-29 23:09:21,843.843 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:09:21,873.873 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:09:21,874.874 INFO    ] No update needed
[2026-08-29 23:09:21,876.876 INFO    ] Checking for camera pi updates...
[2026-08-29 23:09:21,895.895 INFO    ] 200
[2026-08-29 23:09:21,897.897 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:09:21,921.921 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:09:22,021.021 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:09:22,023.023 INFO    ] No camera update needed
[2026-08-29 23:09:22,024.024 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:09:22,026.026 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:09:22,029.029 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:09:22,032.032 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:09:24,070.070 INFO    ] ================================================
[2026-08-29 23:09:24,086.086 INFO    ] Launching Daemon at Sat Aug 29 23:09:24 IST 2026
[2026-08-29 23:09:24,097.097 INFO    ] ================================================
[2026-08-29 23:09:24,431.431 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:09:24
[2026-08-29 23:09:24,745.745 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:09:25,009.009 INFO    ] Initializing speech engine...
[2026-08-29 23:09:25,018.018 INFO    ] 2026-08-29 23:09:25
[2026-08-29 23:09:25,266.266 INFO    ] 2026-08-29 23:09:25
[2026-08-29 23:09:25,301.301 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:09:25,471.471 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:09:25,484.484 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:09:25,626.626 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:09:25,635.635 INFO    ] time= 29/08/2026 23:09:25
[2026-08-29 23:09:25,641.641 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:09:25,688.688 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:09:25,804.804 INFO    ] No existing commands found in stream
[2026-08-29 23:09:30,829.829 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:09:30,832.832 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-08-29 23:09:33,521.521 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:09:33,524.524 INFO    ] Checking for system updates...
[2026-08-29 23:09:33,560.560 INFO    ] 200
[2026-08-29 23:09:33,562.562 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:09:33,619.619 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:09:33,622.622 INFO    ] No update needed
[2026-08-29 23:09:33,624.624 INFO    ] Checking for camera pi updates...
[2026-08-29 23:09:33,658.658 INFO    ] 200
[2026-08-29 23:09:33,660.660 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:09:33,707.707 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:09:33,800.800 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:09:33,802.802 INFO    ] No camera update needed
[2026-08-29 23:09:33,805.805 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:09:33,807.807 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:09:33,812.812 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:09:33,818.818 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:09:35,860.860 INFO    ] ================================================
[2026-08-29 23:09:35,876.876 INFO    ] Launching Daemon at Sat Aug 29 23:09:35 IST 2026
[2026-08-29 23:09:35,887.887 INFO    ] ================================================
[2026-08-29 23:09:36,243.243 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:09:36
[2026-08-29 23:09:36,555.555 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:09:36,687.687 INFO    ] Initializing speech engine...
[2026-08-29 23:09:36,699.699 INFO    ] 2026-08-29 23:09:36
[2026-08-29 23:09:36,950.950 INFO    ] 2026-08-29 23:09:36
[2026-08-29 23:09:37,005.005 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:09:37,168.168 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:09:37,176.176 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:09:37,335.335 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:09:37,374.374 INFO    ] time= 29/08/2026 23:09:37
[2026-08-29 23:09:37,380.380 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:09:37,395.395 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:09:37,503.503 INFO    ] No existing commands found in stream
[2026-08-29 23:09:42,534.534 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:09:42,536.536 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-08-29 23:09:45,715.715 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:09:45,716.716 INFO    ] Checking for system updates...
[2026-08-29 23:09:45,738.738 INFO    ] 200
[2026-08-29 23:09:45,739.739 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:09:45,769.769 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:09:45,771.771 INFO    ] No update needed
[2026-08-29 23:09:45,772.772 INFO    ] Checking for camera pi updates...
[2026-08-29 23:09:45,791.791 INFO    ] 200
[2026-08-29 23:09:45,793.793 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:09:45,816.816 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:09:45,910.910 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:09:45,911.911 INFO    ] No camera update needed
[2026-08-29 23:09:45,913.913 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:09:45,914.914 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:09:45,917.917 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:09:45,920.920 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:09:47,958.958 INFO    ] ================================================
[2026-08-29 23:09:47,975.975 INFO    ] Launching Daemon at Sat Aug 29 23:09:47 IST 2026
[2026-08-29 23:09:47,987.987 INFO    ] ================================================
[2026-08-29 23:09:48,358.358 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:09:48
[2026-08-29 23:09:48,669.669 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:09:48,864.864 INFO    ] Initializing speech engine...
[2026-08-29 23:09:48,873.873 INFO    ] 2026-08-29 23:09:48
[2026-08-29 23:09:49,125.125 INFO    ] 2026-08-29 23:09:49
[2026-08-29 23:09:49,184.184 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:09:49,407.407 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:09:49,415.415 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:09:49,548.548 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:09:49,570.570 INFO    ] time= 29/08/2026 23:09:49
[2026-08-29 23:09:49,629.629 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:09:49,681.681 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:09:49,733.733 INFO    ] No existing commands found in stream
[2026-08-29 23:09:54,745.745 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:09:54,747.747 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-08-29 23:09:56,408.408 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:09:56,410.410 INFO    ] Checking for system updates...
[2026-08-29 23:09:56,430.430 INFO    ] 200
[2026-08-29 23:09:56,432.432 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:09:56,461.461 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:09:56,463.463 INFO    ] No update needed
[2026-08-29 23:09:56,464.464 INFO    ] Checking for camera pi updates...
[2026-08-29 23:09:56,483.483 INFO    ] 200
[2026-08-29 23:09:56,484.484 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:09:56,507.507 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:09:56,584.584 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:09:56,585.585 INFO    ] No camera update needed
[2026-08-29 23:09:56,586.586 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:09:56,588.588 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:09:56,591.591 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:09:56,593.593 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:09:58,633.633 INFO    ] ================================================
[2026-08-29 23:09:58,648.648 INFO    ] Launching Daemon at Sat Aug 29 23:09:58 IST 2026
[2026-08-29 23:09:58,660.660 INFO    ] ================================================
[2026-08-29 23:09:59,040.040 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:09:59
[2026-08-29 23:09:59,384.384 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:09:59,538.538 INFO    ] Initializing speech engine...
[2026-08-29 23:09:59,543.543 INFO    ] 2026-08-29 23:09:59
[2026-08-29 23:09:59,768.768 INFO    ] 2026-08-29 23:09:59
[2026-08-29 23:09:59,850.850 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:10:00,008.008 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:10:00,014.014 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:10:00,146.146 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:10:00,194.194 INFO    ] time= 29/08/2026 23:10:00
[2026-08-29 23:10:00,244.244 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:10:00,281.281 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:10:00,339.339 INFO    ] No existing commands found in stream
[2026-08-29 23:10:05,353.353 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:10:05,356.356 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-08-29 23:10:09,388.388 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:10:09,391.391 INFO    ] Checking for system updates...
[2026-08-29 23:10:09,432.432 INFO    ] 200
[2026-08-29 23:10:09,435.435 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:10:09,487.487 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:10:09,490.490 INFO    ] No update needed
[2026-08-29 23:10:09,492.492 INFO    ] Checking for camera pi updates...
[2026-08-29 23:10:09,530.530 INFO    ] 200
[2026-08-29 23:10:09,533.533 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:10:09,573.573 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:10:09,681.681 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:10:09,684.684 INFO    ] No camera update needed
[2026-08-29 23:10:09,686.686 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:10:09,688.688 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:10:09,693.693 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:10:09,698.698 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:10:11,738.738 INFO    ] ================================================
[2026-08-29 23:10:11,754.754 INFO    ] Launching Daemon at Sat Aug 29 23:10:11 IST 2026
[2026-08-29 23:10:11,765.765 INFO    ] ================================================
[2026-08-29 23:10:12,366.366 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:10:12
[2026-08-29 23:10:12,725.725 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:10:12,868.868 INFO    ] Initializing speech engine...
[2026-08-29 23:10:12,873.873 INFO    ] 2026-08-29 23:10:12
[2026-08-29 23:10:13,077.077 INFO    ] 2026-08-29 23:10:13
[2026-08-29 23:10:13,106.106 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:10:13,228.228 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:10:13,297.297 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:10:13,455.455 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:10:13,495.495 INFO    ] time= 29/08/2026 23:10:13
[2026-08-29 23:10:13,544.544 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:10:13,576.576 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:10:13,688.688 INFO    ] No existing commands found in stream
[2026-08-29 23:10:18,719.719 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:10:18,722.722 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-08-29 23:10:22,051.051 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:10:22,053.053 INFO    ] Checking for system updates...
[2026-08-29 23:10:22,075.075 INFO    ] 200
[2026-08-29 23:10:22,076.076 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:10:22,107.107 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:10:22,108.108 INFO    ] No update needed
[2026-08-29 23:10:22,109.109 INFO    ] Checking for camera pi updates...
[2026-08-29 23:10:22,128.128 INFO    ] 200
[2026-08-29 23:10:22,130.130 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:10:22,155.155 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:10:22,213.213 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:10:22,215.215 INFO    ] No camera update needed
[2026-08-29 23:10:22,216.216 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:10:22,217.217 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:10:22,220.220 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:10:22,223.223 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:10:24,263.263 INFO    ] ================================================
[2026-08-29 23:10:24,279.279 INFO    ] Launching Daemon at Sat Aug 29 23:10:24 IST 2026
[2026-08-29 23:10:24,291.291 INFO    ] ================================================
[2026-08-29 23:10:24,811.811 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:10:24
[2026-08-29 23:10:25,497.497 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:10:25,807.807 INFO    ] Initializing speech engine...
[2026-08-29 23:10:25,822.822 INFO    ] 2026-08-29 23:10:25
[2026-08-29 23:10:26,137.137 INFO    ] 2026-08-29 23:10:26
[2026-08-29 23:10:26,218.218 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:10:26,368.368 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:10:26,378.378 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:10:26,513.513 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:10:26,559.559 INFO    ] time= 29/08/2026 23:10:26
[2026-08-29 23:10:26,614.614 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:10:26,649.649 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:10:26,703.703 INFO    ] No existing commands found in stream
[2026-08-29 23:10:31,715.715 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:10:31,719.719 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-08-29 23:10:32,642.642 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:10:32,644.644 INFO    ] Checking for system updates...
[2026-08-29 23:10:32,680.680 INFO    ] 200
[2026-08-29 23:10:32,683.683 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:10:32,743.743 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:10:32,745.745 INFO    ] No update needed
[2026-08-29 23:10:32,748.748 INFO    ] Checking for camera pi updates...
[2026-08-29 23:10:32,786.786 INFO    ] 200
[2026-08-29 23:10:32,788.788 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:10:32,829.829 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:10:32,942.942 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:10:32,944.944 INFO    ] No camera update needed
[2026-08-29 23:10:32,947.947 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:10:32,949.949 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:10:32,955.955 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:10:32,960.960 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:10:35,001.001 INFO    ] ================================================
[2026-08-29 23:10:35,016.016 INFO    ] Launching Daemon at Sat Aug 29 23:10:35 IST 2026
[2026-08-29 23:10:35,027.027 INFO    ] ================================================
[2026-08-29 23:10:35,362.362 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:10:35
[2026-08-29 23:10:35,673.673 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:10:35,805.805 INFO    ] Initializing speech engine...
[2026-08-29 23:10:35,808.808 INFO    ] 2026-08-29 23:10:35
[2026-08-29 23:10:36,025.025 INFO    ] 2026-08-29 23:10:35
[2026-08-29 23:10:36,053.053 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:10:36,172.172 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:10:36,208.208 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:10:36,314.314 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:10:36,358.358 INFO    ] time= 29/08/2026 23:10:36
[2026-08-29 23:10:36,397.397 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:10:36,424.424 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:10:36,520.520 INFO    ] No existing commands found in stream
[2026-08-29 23:10:41,536.536 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:10:41,539.539 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-08-29 23:10:41,966.966 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:10:41,967.967 INFO    ] Checking for system updates...
[2026-08-29 23:10:41,989.989 INFO    ] 200
[2026-08-29 23:10:41,991.991 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:10:42,025.025 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:10:42,026.026 INFO    ] No update needed
[2026-08-29 23:10:42,028.028 INFO    ] Checking for camera pi updates...
[2026-08-29 23:10:42,047.047 INFO    ] 200
[2026-08-29 23:10:42,049.049 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:10:42,072.072 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:10:42,167.167 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:10:42,168.168 INFO    ] No camera update needed
[2026-08-29 23:10:42,169.169 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:10:42,171.171 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:10:42,174.174 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:10:42,177.177 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:10:44,217.217 INFO    ] ================================================
[2026-08-29 23:10:44,232.232 INFO    ] Launching Daemon at Sat Aug 29 23:10:44 IST 2026
[2026-08-29 23:10:44,243.243 INFO    ] ================================================
[2026-08-29 23:10:44,589.589 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:10:44
[2026-08-29 23:10:44,900.900 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:10:45,030.030 INFO    ] Initializing speech engine...
[2026-08-29 23:10:45,035.035 INFO    ] 2026-08-29 23:10:45
[2026-08-29 23:10:45,252.252 INFO    ] 2026-08-29 23:10:45
[2026-08-29 23:10:45,282.282 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:10:45,400.400 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:10:45,407.407 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:10:45,575.575 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:10:45,607.607 INFO    ] time= 29/08/2026 23:10:45
[2026-08-29 23:10:45,613.613 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:10:45,634.634 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:10:45,756.756 INFO    ] No existing commands found in stream
[2026-08-29 23:10:50,783.783 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:10:50,786.786 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-08-29 23:10:54,373.373 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:10:54,375.375 INFO    ] Checking for system updates...
[2026-08-29 23:10:54,395.395 INFO    ] 200
[2026-08-29 23:10:54,396.396 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:10:54,428.428 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:10:54,430.430 INFO    ] No update needed
[2026-08-29 23:10:54,431.431 INFO    ] Checking for camera pi updates...
[2026-08-29 23:10:54,452.452 INFO    ] 200
[2026-08-29 23:10:54,454.454 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:10:54,477.477 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:10:54,559.559 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:10:54,560.560 INFO    ] No camera update needed
[2026-08-29 23:10:54,561.561 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:10:54,563.563 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:10:54,565.565 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:10:54,568.568 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:10:56,608.608 INFO    ] ================================================
[2026-08-29 23:10:56,623.623 INFO    ] Launching Daemon at Sat Aug 29 23:10:56 IST 2026
[2026-08-29 23:10:56,634.634 INFO    ] ================================================
[2026-08-29 23:10:56,986.986 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:10:56
[2026-08-29 23:10:57,298.298 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:10:57,431.431 INFO    ] Initializing speech engine...
[2026-08-29 23:10:57,435.435 INFO    ] 2026-08-29 23:10:57
[2026-08-29 23:10:57,631.631 INFO    ] 2026-08-29 23:10:57
[2026-08-29 23:10:57,684.684 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:10:57,837.837 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:10:57,846.846 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:10:57,982.982 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:10:58,004.004 INFO    ] time= 29/08/2026 23:10:57
[2026-08-29 23:10:58,063.063 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:10:58,112.112 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:10:58,171.171 INFO    ] No existing commands found in stream
[2026-08-29 23:11:03,183.183 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:11:03,186.186 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-08-29 23:11:04,777.777 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:11:04,779.779 INFO    ] Checking for system updates...
[2026-08-29 23:11:04,819.819 INFO    ] 200
[2026-08-29 23:11:04,821.821 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:11:04,882.882 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:11:04,884.884 INFO    ] No update needed
[2026-08-29 23:11:04,886.886 INFO    ] Checking for camera pi updates...
[2026-08-29 23:11:04,920.920 INFO    ] 200
[2026-08-29 23:11:04,923.923 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:11:04,969.969 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:11:05,071.071 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:11:05,074.074 INFO    ] No camera update needed
[2026-08-29 23:11:05,076.076 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:11:05,078.078 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:11:05,083.083 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:11:05,088.088 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:11:07,128.128 INFO    ] ================================================
[2026-08-29 23:11:07,143.143 INFO    ] Launching Daemon at Sat Aug 29 23:11:07 IST 2026
[2026-08-29 23:11:07,154.154 INFO    ] ================================================
[2026-08-29 23:11:07,505.505 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:11:07
[2026-08-29 23:11:07,999.999 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:11:08,279.279 INFO    ] Initializing speech engine...
[2026-08-29 23:11:08,288.288 INFO    ] 2026-08-29 23:11:08
[2026-08-29 23:11:08,549.549 INFO    ] 2026-08-29 23:11:08
[2026-08-29 23:11:08,584.584 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:11:08,760.760 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:11:08,779.779 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:11:08,901.901 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:11:08,914.914 INFO    ] time= 29/08/2026 23:11:08
[2026-08-29 23:11:08,921.921 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:11:08,952.952 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:11:09,069.069 INFO    ] No existing commands found in stream
[2026-08-29 23:11:14,094.094 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:11:14,097.097 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-08-29 23:11:16,141.141 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:11:16,142.142 INFO    ] Checking for system updates...
[2026-08-29 23:11:16,163.163 INFO    ] 200
[2026-08-29 23:11:16,164.164 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:11:16,195.195 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:11:16,197.197 INFO    ] No update needed
[2026-08-29 23:11:16,198.198 INFO    ] Checking for camera pi updates...
[2026-08-29 23:11:16,228.228 INFO    ] 200
[2026-08-29 23:11:16,231.231 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:11:16,277.277 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:11:16,365.365 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:11:16,368.368 INFO    ] No camera update needed
[2026-08-29 23:11:16,370.370 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:11:16,373.373 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:11:16,380.380 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:11:16,385.385 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:11:18,430.430 INFO    ] ================================================
[2026-08-29 23:11:18,446.446 INFO    ] Launching Daemon at Sat Aug 29 23:11:18 IST 2026
[2026-08-29 23:11:18,457.457 INFO    ] ================================================
[2026-08-29 23:11:19,045.045 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:11:19
[2026-08-29 23:11:19,501.501 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:11:19,649.649 INFO    ] Initializing speech engine...
[2026-08-29 23:11:19,653.653 INFO    ] 2026-08-29 23:11:19
[2026-08-29 23:11:19,852.852 INFO    ] 2026-08-29 23:11:19
[2026-08-29 23:11:19,894.894 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:11:20,114.114 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:11:20,123.123 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:11:20,258.258 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:11:20,304.304 INFO    ] time= 29/08/2026 23:11:20
[2026-08-29 23:11:20,353.353 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:11:20,393.393 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:11:20,447.447 INFO    ] No existing commands found in stream
[2026-08-29 23:11:25,459.459 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:11:25,467.467 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-08-29 23:11:26,075.075 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:11:26,077.077 INFO    ] Checking for system updates...
[2026-08-29 23:11:26,097.097 INFO    ] 200
[2026-08-29 23:11:26,098.098 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:11:26,128.128 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:11:26,130.130 INFO    ] No update needed
[2026-08-29 23:11:26,132.132 INFO    ] Checking for camera pi updates...
[2026-08-29 23:11:26,151.151 INFO    ] 200
[2026-08-29 23:11:26,152.152 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:11:26,175.175 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:11:26,250.250 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:11:26,252.252 INFO    ] No camera update needed
[2026-08-29 23:11:26,253.253 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:11:26,254.254 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:11:26,257.257 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:11:26,260.260 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:11:28,299.299 INFO    ] ================================================
[2026-08-29 23:11:28,314.314 INFO    ] Launching Daemon at Sat Aug 29 23:11:28 IST 2026
[2026-08-29 23:11:28,325.325 INFO    ] ================================================
[2026-08-29 23:11:28,702.702 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:11:28
[2026-08-29 23:11:29,025.025 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:11:29,272.272 INFO    ] Initializing speech engine...
[2026-08-29 23:11:29,297.297 INFO    ] 2026-08-29 23:11:29
[2026-08-29 23:11:29,552.552 INFO    ] 2026-08-29 23:11:29
[2026-08-29 23:11:29,587.587 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:11:29,758.758 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:11:29,770.770 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:11:29,911.911 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:11:29,920.920 INFO    ] time= 29/08/2026 23:11:29
[2026-08-29 23:11:29,927.927 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:11:29,947.947 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:11:30,061.061 INFO    ] No existing commands found in stream
[2026-08-29 23:11:35,086.086 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:11:35,088.088 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-08-29 23:11:37,152.152 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:11:37,154.154 INFO    ] Checking for system updates...
[2026-08-29 23:11:37,178.178 INFO    ] 200
[2026-08-29 23:11:37,180.180 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:11:37,214.214 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:11:37,215.215 INFO    ] No update needed
[2026-08-29 23:11:37,217.217 INFO    ] Checking for camera pi updates...
[2026-08-29 23:11:37,237.237 INFO    ] 200
[2026-08-29 23:11:37,239.239 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:11:37,261.261 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:11:37,369.369 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:11:37,371.371 INFO    ] No camera update needed
[2026-08-29 23:11:37,372.372 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:11:37,373.373 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:11:37,376.376 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:11:37,379.379 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:11:39,418.418 INFO    ] ================================================
[2026-08-29 23:11:39,434.434 INFO    ] Launching Daemon at Sat Aug 29 23:11:39 IST 2026
[2026-08-29 23:11:39,445.445 INFO    ] ================================================
[2026-08-29 23:11:39,797.797 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:11:39
[2026-08-29 23:11:40,118.118 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:11:40,261.261 INFO    ] Initializing speech engine...
[2026-08-29 23:11:40,268.268 INFO    ] 2026-08-29 23:11:40
[2026-08-29 23:11:40,489.489 INFO    ] 2026-08-29 23:11:40
[2026-08-29 23:11:40,520.520 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:11:40,653.653 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:11:40,711.711 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:11:40,862.862 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:11:40,913.913 INFO    ] time= 29/08/2026 23:11:40
[2026-08-29 23:11:40,946.946 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:11:40,971.971 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:11:41,050.050 INFO    ] No existing commands found in stream
[2026-08-29 23:11:46,061.061 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:11:46,064.064 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-08-29 23:11:48,287.287 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:11:48,288.288 INFO    ] Checking for system updates...
[2026-08-29 23:11:48,309.309 INFO    ] 200
[2026-08-29 23:11:48,310.310 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:11:48,340.340 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:11:48,341.341 INFO    ] No update needed
[2026-08-29 23:11:48,342.342 INFO    ] Checking for camera pi updates...
[2026-08-29 23:11:48,362.362 INFO    ] 200
[2026-08-29 23:11:48,363.363 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:11:48,386.386 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:11:48,482.482 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:11:48,484.484 INFO    ] No camera update needed
[2026-08-29 23:11:48,485.485 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:11:48,486.486 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:11:48,489.489 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:11:48,492.492 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:11:50,530.530 INFO    ] ================================================
[2026-08-29 23:11:50,546.546 INFO    ] Launching Daemon at Sat Aug 29 23:11:50 IST 2026
[2026-08-29 23:11:50,556.556 INFO    ] ================================================
[2026-08-29 23:11:50,914.914 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:11:50
[2026-08-29 23:11:51,254.254 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:11:51,527.527 INFO    ] Initializing speech engine...
[2026-08-29 23:11:51,537.537 INFO    ] 2026-08-29 23:11:51
[2026-08-29 23:11:51,793.793 INFO    ] 2026-08-29 23:11:51
[2026-08-29 23:11:51,846.846 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:11:51,988.988 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:11:51,999.999 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:11:52,140.140 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:11:52,148.148 INFO    ] time= 29/08/2026 23:11:52
[2026-08-29 23:11:52,156.156 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:11:52,196.196 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:11:52,315.315 INFO    ] No existing commands found in stream
[2026-08-29 23:11:57,345.345 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:11:57,348.348 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-08-29 23:12:00,580.580 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:12:00,582.582 INFO    ] Checking for system updates...
[2026-08-29 23:12:00,603.603 INFO    ] 200
[2026-08-29 23:12:00,604.604 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:12:00,636.636 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:12:00,637.637 INFO    ] No update needed
[2026-08-29 23:12:00,639.639 INFO    ] Checking for camera pi updates...
[2026-08-29 23:12:00,660.660 INFO    ] 200
[2026-08-29 23:12:00,661.661 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:12:00,685.685 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:12:00,763.763 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:12:00,764.764 INFO    ] No camera update needed
[2026-08-29 23:12:00,765.765 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:12:00,766.766 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:12:00,769.769 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:12:00,772.772 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:12:02,815.815 INFO    ] ================================================
[2026-08-29 23:12:02,831.831 INFO    ] Launching Daemon at Sat Aug 29 23:12:02 IST 2026
[2026-08-29 23:12:02,847.847 INFO    ] ================================================
[2026-08-29 23:12:03,443.443 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:12:03
[2026-08-29 23:12:04,036.036 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:12:04,309.309 INFO    ] Initializing speech engine...
[2026-08-29 23:12:04,316.316 INFO    ] 2026-08-29 23:12:04
[2026-08-29 23:12:04,573.573 INFO    ] 2026-08-29 23:12:04
[2026-08-29 23:12:04,619.619 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:12:04,739.739 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:12:04,742.742 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:12:04,874.874 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:12:04,882.882 INFO    ] time= 29/08/2026 23:12:04
[2026-08-29 23:12:04,887.887 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:12:04,902.902 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:12:04,989.989 INFO    ] No existing commands found in stream
[2026-08-29 23:12:10,015.015 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:12:10,017.017 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 23:12:12,660.660 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:12:12,662.662 INFO    ] Checking for system updates...
[2026-08-29 23:12:12,683.683 INFO    ] 200
[2026-08-29 23:12:12,685.685 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:12:12,717.717 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:12:12,719.719 INFO    ] No update needed
[2026-08-29 23:12:12,720.720 INFO    ] Checking for camera pi updates...
[2026-08-29 23:12:12,742.742 INFO    ] 200
[2026-08-29 23:12:12,744.744 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:12:12,768.768 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:12:12,948.948 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:12:12,949.949 INFO    ] No camera update needed
[2026-08-29 23:12:12,951.951 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:12:12,952.952 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:12:12,955.955 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:12:12,958.958 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:12:15,998.998 INFO    ] ================================================
[2026-08-29 23:12:15,013.013 INFO    ] Launching Daemon at Sat Aug 29 23:12:15 IST 2026
[2026-08-29 23:12:15,025.025 INFO    ] ================================================
[2026-08-29 23:12:15,483.483 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:12:15
[2026-08-29 23:12:16,075.075 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:12:16,328.328 INFO    ] Initializing speech engine...
[2026-08-29 23:12:16,337.337 INFO    ] 2026-08-29 23:12:16
[2026-08-29 23:12:16,630.630 INFO    ] 2026-08-29 23:12:16
[2026-08-29 23:12:16,669.669 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:12:16,862.862 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:12:16,868.868 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:12:17,001.001 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:12:17,007.007 INFO    ] time= 29/08/2026 23:12:17
[2026-08-29 23:12:17,027.027 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:12:17,052.052 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:12:17,130.130 INFO    ] No existing commands found in stream
[2026-08-29 23:12:22,142.142 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:12:22,145.145 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-08-29 23:12:22,808.808 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:12:22,810.810 INFO    ] Checking for system updates...
[2026-08-29 23:12:22,839.839 INFO    ] 200
[2026-08-29 23:12:22,840.840 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:12:22,874.874 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:12:22,877.877 INFO    ] No update needed
[2026-08-29 23:12:22,879.879 INFO    ] Checking for camera pi updates...
[2026-08-29 23:12:22,934.934 INFO    ] 200
[2026-08-29 23:12:22,937.937 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:12:22,981.981 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:12:23,058.058 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:12:23,060.060 INFO    ] No camera update needed
[2026-08-29 23:12:23,063.063 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:12:23,065.065 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:12:23,070.070 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:12:23,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:12:25,115.115 INFO    ] ================================================
[2026-08-29 23:12:25,131.131 INFO    ] Launching Daemon at Sat Aug 29 23:12:25 IST 2026
[2026-08-29 23:12:25,142.142 INFO    ] ================================================
[2026-08-29 23:12:25,729.729 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:12:25
[2026-08-29 23:12:26,175.175 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:12:26,338.338 INFO    ] Initializing speech engine...
[2026-08-29 23:12:26,347.347 INFO    ] 2026-08-29 23:12:26
[2026-08-29 23:12:26,596.596 INFO    ] 2026-08-29 23:12:26
[2026-08-29 23:12:26,662.662 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:12:26,834.834 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:12:26,887.887 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:12:27,024.024 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:12:27,045.045 INFO    ] time= 29/08/2026 23:12:27
[2026-08-29 23:12:27,116.116 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:12:27,156.156 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:12:27,273.273 INFO    ] No existing commands found in stream
[2026-08-29 23:12:32,301.301 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:12:32,304.304 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-08-29 23:12:34,758.758 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:12:34,761.761 INFO    ] Checking for system updates...
[2026-08-29 23:12:34,796.796 INFO    ] 200
[2026-08-29 23:12:34,798.798 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:12:34,852.852 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:12:34,855.855 INFO    ] No update needed
[2026-08-29 23:12:34,858.858 INFO    ] Checking for camera pi updates...
[2026-08-29 23:12:34,891.891 INFO    ] 200
[2026-08-29 23:12:34,894.894 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:12:34,934.934 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:12:35,034.034 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:12:35,036.036 INFO    ] No camera update needed
[2026-08-29 23:12:35,038.038 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:12:35,041.041 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:12:35,046.046 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:12:35,051.051 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:12:37,093.093 INFO    ] ================================================
[2026-08-29 23:12:37,108.108 INFO    ] Launching Daemon at Sat Aug 29 23:12:37 IST 2026
[2026-08-29 23:12:37,120.120 INFO    ] ================================================
[2026-08-29 23:12:37,446.446 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:12:37
[2026-08-29 23:12:37,901.901 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:12:38,177.177 INFO    ] Initializing speech engine...
[2026-08-29 23:12:38,187.187 INFO    ] 2026-08-29 23:12:38
[2026-08-29 23:12:38,449.449 INFO    ] 2026-08-29 23:12:38
[2026-08-29 23:12:38,479.479 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:12:38,644.644 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:12:38,667.667 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:12:38,797.797 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:12:38,806.806 INFO    ] time= 29/08/2026 23:12:38
[2026-08-29 23:12:38,812.812 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:12:38,824.824 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:12:38,950.950 INFO    ] No existing commands found in stream
[2026-08-29 23:12:43,980.980 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:12:43,983.983 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-08-29 23:12:46,536.536 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:12:46,537.537 INFO    ] Checking for system updates...
[2026-08-29 23:12:46,557.557 INFO    ] 200
[2026-08-29 23:12:46,559.559 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:12:46,588.588 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:12:46,590.590 INFO    ] No update needed
[2026-08-29 23:12:46,591.591 INFO    ] Checking for camera pi updates...
[2026-08-29 23:12:46,610.610 INFO    ] 200
[2026-08-29 23:12:46,612.612 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:12:46,635.635 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:12:46,739.739 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:12:46,741.741 INFO    ] No camera update needed
[2026-08-29 23:12:46,742.742 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:12:46,743.743 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:12:46,746.746 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:12:46,749.749 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:12:48,789.789 INFO    ] ================================================
[2026-08-29 23:12:48,805.805 INFO    ] Launching Daemon at Sat Aug 29 23:12:48 IST 2026
[2026-08-29 23:12:48,817.817 INFO    ] ================================================
[2026-08-29 23:12:49,175.175 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:12:49
[2026-08-29 23:12:49,488.488 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:12:49,627.627 INFO    ] Initializing speech engine...
[2026-08-29 23:12:49,636.636 INFO    ] 2026-08-29 23:12:49
[2026-08-29 23:12:49,875.875 INFO    ] 2026-08-29 23:12:49
[2026-08-29 23:12:49,934.934 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:12:50,067.067 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:12:50,086.086 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:12:50,267.267 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:12:50,306.306 INFO    ] time= 29/08/2026 23:12:50
[2026-08-29 23:12:50,312.312 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:12:50,330.330 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:12:50,436.436 INFO    ] No existing commands found in stream
[2026-08-29 23:12:55,461.461 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:12:55,464.464 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-08-29 23:12:57,832.832 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:12:57,834.834 INFO    ] Checking for system updates...
[2026-08-29 23:12:57,854.854 INFO    ] 200
[2026-08-29 23:12:57,855.855 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:12:57,888.888 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:12:57,889.889 INFO    ] No update needed
[2026-08-29 23:12:57,891.891 INFO    ] Checking for camera pi updates...
[2026-08-29 23:12:57,910.910 INFO    ] 200
[2026-08-29 23:12:57,911.911 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:12:57,935.935 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:12:58,010.010 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:12:58,011.011 INFO    ] No camera update needed
[2026-08-29 23:12:58,013.013 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:12:58,014.014 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:12:58,017.017 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:12:58,020.020 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:13:00,060.060 INFO    ] ================================================
[2026-08-29 23:13:00,076.076 INFO    ] Launching Daemon at Sat Aug 29 23:13:00 IST 2026
[2026-08-29 23:13:00,088.088 INFO    ] ================================================
[2026-08-29 23:13:00,429.429 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:13:00
[2026-08-29 23:13:00,740.740 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:13:00,883.883 INFO    ] Initializing speech engine...
[2026-08-29 23:13:00,888.888 INFO    ] 2026-08-29 23:13:00
[2026-08-29 23:13:01,091.091 INFO    ] 2026-08-29 23:13:01
[2026-08-29 23:13:01,191.191 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:13:01,356.356 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:13:01,391.391 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:13:01,513.513 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:13:01,517.517 INFO    ] time= 29/08/2026 23:13:01
[2026-08-29 23:13:01,536.536 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:13:01,597.597 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:13:01,671.671 INFO    ] No existing commands found in stream
[2026-08-29 23:13:06,683.683 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:13:06,686.686 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-08-29 23:13:09,087.087 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:13:09,090.090 INFO    ] Checking for system updates...
[2026-08-29 23:13:09,126.126 INFO    ] 200
[2026-08-29 23:13:09,128.128 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:13:09,180.180 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:13:09,182.182 INFO    ] No update needed
[2026-08-29 23:13:09,184.184 INFO    ] Checking for camera pi updates...
[2026-08-29 23:13:09,222.222 INFO    ] 200
[2026-08-29 23:13:09,224.224 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:13:09,265.265 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:13:09,356.356 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:13:09,358.358 INFO    ] No camera update needed
[2026-08-29 23:13:09,360.360 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:13:09,362.362 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:13:09,368.368 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:13:09,372.372 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:13:11,413.413 INFO    ] ================================================
[2026-08-29 23:13:11,429.429 INFO    ] Launching Daemon at Sat Aug 29 23:13:11 IST 2026
[2026-08-29 23:13:11,440.440 INFO    ] ================================================
[2026-08-29 23:13:11,782.782 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:13:11
[2026-08-29 23:13:12,098.098 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:13:12,288.288 INFO    ] Initializing speech engine...
[2026-08-29 23:13:12,301.301 INFO    ] 2026-08-29 23:13:12
[2026-08-29 23:13:12,552.552 INFO    ] 2026-08-29 23:13:12
[2026-08-29 23:13:12,588.588 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:13:12,760.760 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:13:12,774.774 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:13:12,915.915 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:13:12,924.924 INFO    ] time= 29/08/2026 23:13:12
[2026-08-29 23:13:12,930.930 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:13:12,977.977 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:13:13,089.089 INFO    ] No existing commands found in stream
[2026-08-29 23:13:18,125.125 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:13:18,128.128 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-08-29 23:13:19,746.746 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:13:19,747.747 INFO    ] Checking for system updates...
[2026-08-29 23:13:19,767.767 INFO    ] 200
[2026-08-29 23:13:19,768.768 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:13:19,800.800 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:13:19,802.802 INFO    ] No update needed
[2026-08-29 23:13:19,803.803 INFO    ] Checking for camera pi updates...
[2026-08-29 23:13:19,822.822 INFO    ] 200
[2026-08-29 23:13:19,824.824 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:13:19,848.848 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:13:19,952.952 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:13:19,953.953 INFO    ] No camera update needed
[2026-08-29 23:13:19,954.954 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:13:19,955.955 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:13:19,958.958 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:13:19,961.961 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:13:22,000.000 INFO    ] ================================================
[2026-08-29 23:13:22,015.015 INFO    ] Launching Daemon at Sat Aug 29 23:13:22 IST 2026
[2026-08-29 23:13:22,026.026 INFO    ] ================================================
[2026-08-29 23:13:22,489.489 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:13:22
[2026-08-29 23:13:23,073.073 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:13:23,382.382 INFO    ] Initializing speech engine...
[2026-08-29 23:13:23,392.392 INFO    ] 2026-08-29 23:13:23
[2026-08-29 23:13:23,695.695 INFO    ] 2026-08-29 23:13:23
[2026-08-29 23:13:23,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:13:23,929.929 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:13:23,939.939 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:13:24,072.072 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:13:24,094.094 INFO    ] time= 29/08/2026 23:13:24
[2026-08-29 23:13:24,159.159 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:13:24,206.206 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:13:24,261.261 INFO    ] No existing commands found in stream
[2026-08-29 23:13:29,274.274 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:13:29,278.278 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 23:13:30,227.227 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:13:30,228.228 INFO    ] Checking for system updates...
[2026-08-29 23:13:30,249.249 INFO    ] 200
[2026-08-29 23:13:30,251.251 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:13:30,281.281 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:13:30,282.282 INFO    ] No update needed
[2026-08-29 23:13:30,284.284 INFO    ] Checking for camera pi updates...
[2026-08-29 23:13:30,304.304 INFO    ] 200
[2026-08-29 23:13:30,306.306 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:13:30,331.331 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:13:30,430.430 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:13:30,432.432 INFO    ] No camera update needed
[2026-08-29 23:13:30,433.433 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:13:30,434.434 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:13:30,438.438 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:13:30,441.441 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:13:32,476.476 INFO    ] ================================================
[2026-08-29 23:13:32,492.492 INFO    ] Launching Daemon at Sat Aug 29 23:13:32 IST 2026
[2026-08-29 23:13:32,503.503 INFO    ] ================================================
[2026-08-29 23:13:33,149.149 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:13:33
[2026-08-29 23:13:33,817.817 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:13:34,118.118 INFO    ] Initializing speech engine...
[2026-08-29 23:13:34,127.127 INFO    ] 2026-08-29 23:13:34
[2026-08-29 23:13:34,419.419 INFO    ] 2026-08-29 23:13:34
[2026-08-29 23:13:34,456.456 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:13:34,682.682 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:13:34,687.687 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:13:34,813.813 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:13:34,866.866 INFO    ] time= 29/08/2026 23:13:34
[2026-08-29 23:13:34,876.876 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:13:34,880.880 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:13:34,960.960 INFO    ] No existing commands found in stream
[2026-08-29 23:13:39,995.995 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:13:39,998.998 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-08-29 23:13:43,891.891 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:13:43,893.893 INFO    ] Checking for system updates...
[2026-08-29 23:13:43,914.914 INFO    ] 200
[2026-08-29 23:13:43,915.915 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:13:43,946.946 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:13:43,947.947 INFO    ] No update needed
[2026-08-29 23:13:43,948.948 INFO    ] Checking for camera pi updates...
[2026-08-29 23:13:43,968.968 INFO    ] 200
[2026-08-29 23:13:43,969.969 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:13:43,995.995 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:13:44,088.088 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:13:44,090.090 INFO    ] No camera update needed
[2026-08-29 23:13:44,091.091 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:13:44,093.093 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:13:44,096.096 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:13:44,099.099 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:13:46,137.137 INFO    ] ================================================
[2026-08-29 23:13:46,158.158 INFO    ] Launching Daemon at Sat Aug 29 23:13:46 IST 2026
[2026-08-29 23:13:46,169.169 INFO    ] ================================================
[2026-08-29 23:13:46,542.542 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:13:46
[2026-08-29 23:13:46,880.880 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:13:47,032.032 INFO    ] Initializing speech engine...
[2026-08-29 23:13:47,038.038 INFO    ] 2026-08-29 23:13:47
[2026-08-29 23:13:47,247.247 INFO    ] 2026-08-29 23:13:47
[2026-08-29 23:13:47,277.277 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:13:47,421.421 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:13:47,492.492 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:13:47,670.670 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:13:47,708.708 INFO    ] time= 29/08/2026 23:13:47
[2026-08-29 23:13:47,757.757 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:13:47,815.815 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:13:47,920.920 INFO    ] No existing commands found in stream
[2026-08-29 23:13:52,951.951 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:13:52,954.954 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-08-29 23:13:54,366.366 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:13:54,367.367 INFO    ] Checking for system updates...
[2026-08-29 23:13:54,389.389 INFO    ] 200
[2026-08-29 23:13:54,391.391 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:13:54,423.423 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:13:54,424.424 INFO    ] No update needed
[2026-08-29 23:13:54,425.425 INFO    ] Checking for camera pi updates...
[2026-08-29 23:13:54,446.446 INFO    ] 200
[2026-08-29 23:13:54,447.447 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:13:54,473.473 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:13:54,551.551 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:13:54,553.553 INFO    ] No camera update needed
[2026-08-29 23:13:54,554.554 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:13:54,556.556 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:13:54,559.559 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:13:54,562.562 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:13:56,602.602 INFO    ] ================================================
[2026-08-29 23:13:56,618.618 INFO    ] Launching Daemon at Sat Aug 29 23:13:56 IST 2026
[2026-08-29 23:13:56,629.629 INFO    ] ================================================
[2026-08-29 23:13:56,983.983 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:13:56
[2026-08-29 23:13:57,320.320 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:13:57,461.461 INFO    ] Initializing speech engine...
[2026-08-29 23:13:57,474.474 INFO    ] 2026-08-29 23:13:57
[2026-08-29 23:13:57,683.683 INFO    ] 2026-08-29 23:13:57
[2026-08-29 23:13:57,712.712 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:13:57,854.854 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:13:57,897.897 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:13:58,026.026 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:13:58,082.082 INFO    ] time= 29/08/2026 23:13:58
[2026-08-29 23:13:58,105.105 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:13:58,126.126 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:13:58,197.197 INFO    ] No existing commands found in stream
[2026-08-29 23:14:03,208.208 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:14:03,211.211 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-08-29 23:14:05,274.274 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:14:05,276.276 INFO    ] Checking for system updates...
[2026-08-29 23:14:05,296.296 INFO    ] 200
[2026-08-29 23:14:05,298.298 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:14:05,330.330 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:14:05,331.331 INFO    ] No update needed
[2026-08-29 23:14:05,333.333 INFO    ] Checking for camera pi updates...
[2026-08-29 23:14:05,354.354 INFO    ] 200
[2026-08-29 23:14:05,356.356 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:14:05,379.379 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:14:05,461.461 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:14:05,463.463 INFO    ] No camera update needed
[2026-08-29 23:14:05,464.464 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:14:05,465.465 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:14:05,469.469 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:14:05,472.472 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:14:07,510.510 INFO    ] ================================================
[2026-08-29 23:14:07,526.526 INFO    ] Launching Daemon at Sat Aug 29 23:14:07 IST 2026
[2026-08-29 23:14:07,537.537 INFO    ] ================================================
[2026-08-29 23:14:08,105.105 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:14:08
[2026-08-29 23:14:08,700.700 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:14:08,978.978 INFO    ] Initializing speech engine...
[2026-08-29 23:14:08,984.984 INFO    ] 2026-08-29 23:14:08
[2026-08-29 23:14:09,226.226 INFO    ] 2026-08-29 23:14:09
[2026-08-29 23:14:09,255.255 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:14:09,404.404 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:14:09,413.413 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:14:09,561.561 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:14:09,612.612 INFO    ] time= 29/08/2026 23:14:09
[2026-08-29 23:14:09,618.618 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:14:09,638.638 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:14:09,762.762 INFO    ] No existing commands found in stream
[2026-08-29 23:14:14,778.778 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:14:14,781.781 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-08-29 23:14:15,951.951 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:14:15,953.953 INFO    ] Checking for system updates...
[2026-08-29 23:14:15,974.974 INFO    ] 200
[2026-08-29 23:14:15,975.975 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:14:16,005.005 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:14:16,006.006 INFO    ] No update needed
[2026-08-29 23:14:16,007.007 INFO    ] Checking for camera pi updates...
[2026-08-29 23:14:16,027.027 INFO    ] 200
[2026-08-29 23:14:16,028.028 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:14:16,051.051 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:14:16,238.238 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:14:16,240.240 INFO    ] No camera update needed
[2026-08-29 23:14:16,241.241 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:14:16,242.242 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:14:16,245.245 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:14:16,248.248 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:14:18,288.288 INFO    ] ================================================
[2026-08-29 23:14:18,304.304 INFO    ] Launching Daemon at Sat Aug 29 23:14:18 IST 2026
[2026-08-29 23:14:18,315.315 INFO    ] ================================================
[2026-08-29 23:14:18,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:14:18
[2026-08-29 23:14:19,425.425 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:14:19,692.692 INFO    ] Initializing speech engine...
[2026-08-29 23:14:19,701.701 INFO    ] 2026-08-29 23:14:19
[2026-08-29 23:14:19,948.948 INFO    ] 2026-08-29 23:14:19
[2026-08-29 23:14:19,983.983 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:14:20,156.156 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:14:20,168.168 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:14:20,302.302 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:14:20,316.316 INFO    ] time= 29/08/2026 23:14:20
[2026-08-29 23:14:20,320.320 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:14:20,326.326 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:14:20,390.390 INFO    ] No existing commands found in stream
[2026-08-29 23:14:25,403.403 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:14:25,405.405 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-08-29 23:14:28,168.168 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:14:28,170.170 INFO    ] Checking for system updates...
[2026-08-29 23:14:28,190.190 INFO    ] 200
[2026-08-29 23:14:28,191.191 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:14:28,223.223 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:14:28,224.224 INFO    ] No update needed
[2026-08-29 23:14:28,226.226 INFO    ] Checking for camera pi updates...
[2026-08-29 23:14:28,245.245 INFO    ] 200
[2026-08-29 23:14:28,246.246 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:14:28,271.271 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:14:28,362.362 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:14:28,364.364 INFO    ] No camera update needed
[2026-08-29 23:14:28,365.365 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:14:28,366.366 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:14:28,369.369 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:14:28,372.372 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:14:30,411.411 INFO    ] ================================================
[2026-08-29 23:14:30,426.426 INFO    ] Launching Daemon at Sat Aug 29 23:14:30 IST 2026
[2026-08-29 23:14:30,438.438 INFO    ] ================================================
[2026-08-29 23:14:30,796.796 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:14:30
[2026-08-29 23:14:31,108.108 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:14:31,348.348 INFO    ] Initializing speech engine...
[2026-08-29 23:14:31,371.371 INFO    ] 2026-08-29 23:14:31
[2026-08-29 23:14:31,637.637 INFO    ] 2026-08-29 23:14:31
[2026-08-29 23:14:31,673.673 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:14:31,856.856 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:14:31,874.874 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:14:32,027.027 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:14:32,035.035 INFO    ] time= 29/08/2026 23:14:32
[2026-08-29 23:14:32,089.089 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:14:32,109.109 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:14:32,213.213 INFO    ] No existing commands found in stream
[2026-08-29 23:14:37,244.244 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:14:37,247.247 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-08-29 23:14:40,805.805 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:14:40,806.806 INFO    ] Checking for system updates...
[2026-08-29 23:14:40,827.827 INFO    ] 200
[2026-08-29 23:14:40,828.828 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:14:40,859.859 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:14:40,860.860 INFO    ] No update needed
[2026-08-29 23:14:40,862.862 INFO    ] Checking for camera pi updates...
[2026-08-29 23:14:40,882.882 INFO    ] 200
[2026-08-29 23:14:40,883.883 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:14:40,906.906 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:14:40,988.988 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:14:40,989.989 INFO    ] No camera update needed
[2026-08-29 23:14:40,991.991 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:14:40,992.992 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:14:40,995.995 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:14:40,997.997 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:14:43,035.035 INFO    ] ================================================
[2026-08-29 23:14:43,051.051 INFO    ] Launching Daemon at Sat Aug 29 23:14:43 IST 2026
[2026-08-29 23:14:43,063.063 INFO    ] ================================================
[2026-08-29 23:14:43,445.445 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:14:43
[2026-08-29 23:14:44,031.031 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:14:44,301.301 INFO    ] Initializing speech engine...
[2026-08-29 23:14:44,310.310 INFO    ] 2026-08-29 23:14:44
[2026-08-29 23:14:44,556.556 INFO    ] 2026-08-29 23:14:44
[2026-08-29 23:14:44,591.591 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:14:44,762.762 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:14:44,774.774 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:14:44,914.914 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:14:44,923.923 INFO    ] time= 29/08/2026 23:14:44
[2026-08-29 23:14:44,929.929 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:14:44,960.960 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:14:45,073.073 INFO    ] No existing commands found in stream
[2026-08-29 23:14:50,103.103 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:14:50,106.106 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-08-29 23:14:52,532.532 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:14:52,534.534 INFO    ] Checking for system updates...
[2026-08-29 23:14:52,554.554 INFO    ] 200
[2026-08-29 23:14:52,556.556 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:14:52,586.586 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:14:52,587.587 INFO    ] No update needed
[2026-08-29 23:14:52,588.588 INFO    ] Checking for camera pi updates...
[2026-08-29 23:14:52,607.607 INFO    ] 200
[2026-08-29 23:14:52,609.609 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:14:52,633.633 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:14:52,726.726 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:14:52,728.728 INFO    ] No camera update needed
[2026-08-29 23:14:52,730.730 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:14:52,732.732 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:14:52,738.738 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:14:52,743.743 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:14:54,787.787 INFO    ] ================================================
[2026-08-29 23:14:54,802.802 INFO    ] Launching Daemon at Sat Aug 29 23:14:54 IST 2026
[2026-08-29 23:14:54,813.813 INFO    ] ================================================
[2026-08-29 23:14:55,459.459 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:14:55
[2026-08-29 23:14:55,948.948 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:14:56,098.098 INFO    ] Initializing speech engine...
[2026-08-29 23:14:56,103.103 INFO    ] 2026-08-29 23:14:56
[2026-08-29 23:14:56,310.310 INFO    ] 2026-08-29 23:14:56
[2026-08-29 23:14:56,338.338 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:14:56,478.478 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:14:56,484.484 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:14:56,666.666 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:14:56,685.685 INFO    ] time= 29/08/2026 23:14:56
[2026-08-29 23:14:56,707.707 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:14:56,736.736 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:14:56,837.837 INFO    ] No existing commands found in stream
[2026-08-29 23:15:01,856.856 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:15:01,864.864 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-08-29 23:15:03,837.837 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:15:03,842.842 INFO    ] Checking for system updates...
[2026-08-29 23:15:03,889.889 INFO    ] 200
[2026-08-29 23:15:03,892.892 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:15:03,954.954 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:15:03,958.958 INFO    ] No update needed
[2026-08-29 23:15:03,962.962 INFO    ] Checking for camera pi updates...
[2026-08-29 23:15:04,003.003 INFO    ] 200
[2026-08-29 23:15:04,006.006 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:15:04,199.199 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:15:04,282.282 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:15:04,285.285 INFO    ] No camera update needed
[2026-08-29 23:15:04,288.288 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:15:04,290.290 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:15:04,297.297 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:15:04,302.302 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:15:06,344.344 INFO    ] ================================================
[2026-08-29 23:15:06,359.359 INFO    ] Launching Daemon at Sat Aug 29 23:15:06 IST 2026
[2026-08-29 23:15:06,371.371 INFO    ] ================================================
[2026-08-29 23:15:06,760.760 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:15:06
[2026-08-29 23:15:07,303.303 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:15:07,596.596 INFO    ] Initializing speech engine...
[2026-08-29 23:15:07,603.603 INFO    ] 2026-08-29 23:15:07
[2026-08-29 23:15:07,873.873 INFO    ] 2026-08-29 23:15:07
[2026-08-29 23:15:07,928.928 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:15:08,154.154 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:15:08,163.163 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:15:08,297.297 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:15:08,329.329 INFO    ] time= 29/08/2026 23:15:08
[2026-08-29 23:15:08,399.399 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:15:08,433.433 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:15:08,545.545 INFO    ] No existing commands found in stream
[2026-08-29 23:15:13,568.568 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:15:13,571.571 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-08-29 23:15:15,525.525 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:15:15,526.526 INFO    ] Checking for system updates...
[2026-08-29 23:15:15,547.547 INFO    ] 200
[2026-08-29 23:15:15,548.548 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:15:15,583.583 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:15:15,584.584 INFO    ] No update needed
[2026-08-29 23:15:15,585.585 INFO    ] Checking for camera pi updates...
[2026-08-29 23:15:15,605.605 INFO    ] 200
[2026-08-29 23:15:15,606.606 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:15:15,630.630 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:15:15,709.709 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:15:15,710.710 INFO    ] No camera update needed
[2026-08-29 23:15:15,711.711 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:15:15,713.713 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:15:15,716.716 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:15:15,719.719 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:15:17,758.758 INFO    ] ================================================
[2026-08-29 23:15:17,774.774 INFO    ] Launching Daemon at Sat Aug 29 23:15:17 IST 2026
[2026-08-29 23:15:17,785.785 INFO    ] ================================================
[2026-08-29 23:15:18,303.303 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:15:18
[2026-08-29 23:15:18,947.947 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:15:19,241.241 INFO    ] Initializing speech engine...
[2026-08-29 23:15:19,256.256 INFO    ] 2026-08-29 23:15:19
[2026-08-29 23:15:19,563.563 INFO    ] 2026-08-29 23:15:19
[2026-08-29 23:15:19,642.642 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:15:19,802.802 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:15:19,807.807 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:15:19,938.938 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:15:19,981.981 INFO    ] time= 29/08/2026 23:15:19
[2026-08-29 23:15:20,041.041 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:15:20,074.074 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:15:20,127.127 INFO    ] No existing commands found in stream
[2026-08-29 23:15:25,138.138 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:15:25,141.141 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-08-29 23:15:25,684.684 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:15:25,685.685 INFO    ] Checking for system updates...
[2026-08-29 23:15:25,706.706 INFO    ] 200
[2026-08-29 23:15:25,707.707 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:15:25,739.739 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:15:25,740.740 INFO    ] No update needed
[2026-08-29 23:15:25,742.742 INFO    ] Checking for camera pi updates...
[2026-08-29 23:15:25,764.764 INFO    ] 200
[2026-08-29 23:15:25,765.765 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:15:25,788.788 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:15:25,891.891 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:15:25,893.893 INFO    ] No camera update needed
[2026-08-29 23:15:25,894.894 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:15:25,895.895 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:15:25,898.898 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:15:25,901.901 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:15:27,939.939 INFO    ] ================================================
[2026-08-29 23:15:27,955.955 INFO    ] Launching Daemon at Sat Aug 29 23:15:27 IST 2026
[2026-08-29 23:15:27,966.966 INFO    ] ================================================
[2026-08-29 23:15:28,461.461 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:15:28
[2026-08-29 23:15:29,102.102 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:15:29,404.404 INFO    ] Initializing speech engine...
[2026-08-29 23:15:29,411.411 INFO    ] 2026-08-29 23:15:29
[2026-08-29 23:15:29,683.683 INFO    ] 2026-08-29 23:15:29
[2026-08-29 23:15:29,738.738 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:15:29,965.965 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:15:29,971.971 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:15:30,117.117 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:15:30,178.178 INFO    ] time= 29/08/2026 23:15:30
[2026-08-29 23:15:30,233.233 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:15:30,255.255 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:15:30,365.365 INFO    ] No existing commands found in stream
[2026-08-29 23:15:35,396.396 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:15:35,399.399 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-08-29 23:15:37,094.094 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:15:37,096.096 INFO    ] Checking for system updates...
[2026-08-29 23:15:37,116.116 INFO    ] 200
[2026-08-29 23:15:37,117.117 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:15:37,149.149 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:15:37,151.151 INFO    ] No update needed
[2026-08-29 23:15:37,152.152 INFO    ] Checking for camera pi updates...
[2026-08-29 23:15:37,175.175 INFO    ] 200
[2026-08-29 23:15:37,177.177 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:15:37,200.200 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:15:37,276.276 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:15:37,278.278 INFO    ] No camera update needed
[2026-08-29 23:15:37,279.279 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:15:37,281.281 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:15:37,284.284 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:15:37,287.287 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:15:39,327.327 INFO    ] ================================================
[2026-08-29 23:15:39,342.342 INFO    ] Launching Daemon at Sat Aug 29 23:15:39 IST 2026
[2026-08-29 23:15:39,353.353 INFO    ] ================================================
[2026-08-29 23:15:39,704.704 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:15:39
[2026-08-29 23:15:40,015.015 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:15:40,147.147 INFO    ] Initializing speech engine...
[2026-08-29 23:15:40,151.151 INFO    ] 2026-08-29 23:15:40
[2026-08-29 23:15:40,340.340 INFO    ] 2026-08-29 23:15:40
[2026-08-29 23:15:40,386.386 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:15:40,508.508 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:15:40,541.541 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:15:40,690.690 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:15:40,723.723 INFO    ] time= 29/08/2026 23:15:40
[2026-08-29 23:15:40,756.756 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:15:40,798.798 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:15:40,867.867 INFO    ] No existing commands found in stream
[2026-08-29 23:15:45,876.876 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:15:45,878.878 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-08-29 23:15:47,869.869 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:15:47,871.871 INFO    ] Checking for system updates...
[2026-08-29 23:15:47,892.892 INFO    ] 200
[2026-08-29 23:15:47,894.894 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:15:47,924.924 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:15:47,925.925 INFO    ] No update needed
[2026-08-29 23:15:47,926.926 INFO    ] Checking for camera pi updates...
[2026-08-29 23:15:47,948.948 INFO    ] 200
[2026-08-29 23:15:47,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:15:47,972.972 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:15:48,060.060 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:15:48,061.061 INFO    ] No camera update needed
[2026-08-29 23:15:48,063.063 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:15:48,064.064 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:15:48,067.067 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:15:48,070.070 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:15:50,108.108 INFO    ] ================================================
[2026-08-29 23:15:50,123.123 INFO    ] Launching Daemon at Sat Aug 29 23:15:50 IST 2026
[2026-08-29 23:15:50,134.134 INFO    ] ================================================
[2026-08-29 23:15:50,478.478 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:15:50
[2026-08-29 23:15:50,791.791 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:15:50,933.933 INFO    ] Initializing speech engine...
[2026-08-29 23:15:50,939.939 INFO    ] 2026-08-29 23:15:50
[2026-08-29 23:15:51,143.143 INFO    ] 2026-08-29 23:15:51
[2026-08-29 23:15:51,171.171 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:15:51,356.356 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:15:51,359.359 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:15:51,556.556 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:15:51,584.584 INFO    ] time= 29/08/2026 23:15:51
[2026-08-29 23:15:51,586.586 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:15:51,592.592 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:15:51,658.658 INFO    ] No existing commands found in stream
[2026-08-29 23:15:56,669.669 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:15:56,671.671 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-08-29 23:16:00,700.700 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:16:00,703.703 INFO    ] Checking for system updates...
[2026-08-29 23:16:00,743.743 INFO    ] 200
[2026-08-29 23:16:00,745.745 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:16:00,799.799 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:16:00,801.801 INFO    ] No update needed
[2026-08-29 23:16:00,804.804 INFO    ] Checking for camera pi updates...
[2026-08-29 23:16:00,837.837 INFO    ] 200
[2026-08-29 23:16:00,840.840 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:16:00,886.886 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:16:01,022.022 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:16:01,025.025 INFO    ] No camera update needed
[2026-08-29 23:16:01,027.027 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:16:01,029.029 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:16:01,035.035 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:16:01,039.039 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:16:03,085.085 INFO    ] ================================================
[2026-08-29 23:16:03,100.100 INFO    ] Launching Daemon at Sat Aug 29 23:16:03 IST 2026
[2026-08-29 23:16:03,111.111 INFO    ] ================================================
[2026-08-29 23:16:03,679.679 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:16:03
[2026-08-29 23:16:04,264.264 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:16:04,524.524 INFO    ] Initializing speech engine...
[2026-08-29 23:16:04,531.531 INFO    ] 2026-08-29 23:16:04
[2026-08-29 23:16:04,820.820 INFO    ] 2026-08-29 23:16:04
[2026-08-29 23:16:04,855.855 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:16:05,003.003 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:16:05,010.010 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:16:05,142.142 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:16:05,152.152 INFO    ] time= 29/08/2026 23:16:05
[2026-08-29 23:16:05,157.157 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:16:05,177.177 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:16:05,223.223 INFO    ] No existing commands found in stream
[2026-08-29 23:16:10,234.234 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:16:10,237.237 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-08-29 23:16:12,047.047 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:16:12,049.049 INFO    ] Checking for system updates...
[2026-08-29 23:16:12,069.069 INFO    ] 200
[2026-08-29 23:16:12,070.070 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:16:12,105.105 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:16:12,106.106 INFO    ] No update needed
[2026-08-29 23:16:12,108.108 INFO    ] Checking for camera pi updates...
[2026-08-29 23:16:12,145.145 INFO    ] 200
[2026-08-29 23:16:12,147.147 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:16:12,187.187 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:16:12,277.277 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:16:12,280.280 INFO    ] No camera update needed
[2026-08-29 23:16:12,282.282 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:16:12,285.285 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:16:12,290.290 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:16:12,295.295 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:16:14,336.336 INFO    ] ================================================
[2026-08-29 23:16:14,351.351 INFO    ] Launching Daemon at Sat Aug 29 23:16:14 IST 2026
[2026-08-29 23:16:14,363.363 INFO    ] ================================================
[2026-08-29 23:16:14,932.932 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:16:14
[2026-08-29 23:16:15,387.387 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:16:15,519.519 INFO    ] Initializing speech engine...
[2026-08-29 23:16:15,522.522 INFO    ] 2026-08-29 23:16:15
[2026-08-29 23:16:15,750.750 INFO    ] 2026-08-29 23:16:15
[2026-08-29 23:16:15,781.781 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:16:15,910.910 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:16:15,954.954 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:16:16,117.117 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:16:16,144.144 INFO    ] time= 29/08/2026 23:16:16
[2026-08-29 23:16:16,200.200 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:16:16,225.225 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:16:16,302.302 INFO    ] No existing commands found in stream
[2026-08-29 23:16:21,311.311 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:16:21,314.314 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-08-29 23:16:23,113.113 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:16:23,114.114 INFO    ] Checking for system updates...
[2026-08-29 23:16:23,134.134 INFO    ] 200
[2026-08-29 23:16:23,136.136 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:16:23,166.166 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:16:23,167.167 INFO    ] No update needed
[2026-08-29 23:16:23,168.168 INFO    ] Checking for camera pi updates...
[2026-08-29 23:16:23,189.189 INFO    ] 200
[2026-08-29 23:16:23,190.190 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:16:23,230.230 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:16:23,443.443 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:16:23,445.445 INFO    ] No camera update needed
[2026-08-29 23:16:23,447.447 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:16:23,449.449 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:16:23,455.455 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:16:23,459.459 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:16:25,500.500 INFO    ] ================================================
[2026-08-29 23:16:25,515.515 INFO    ] Launching Daemon at Sat Aug 29 23:16:25 IST 2026
[2026-08-29 23:16:25,526.526 INFO    ] ================================================
[2026-08-29 23:16:26,166.166 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:16:26
[2026-08-29 23:16:26,585.585 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:16:26,859.859 INFO    ] Initializing speech engine...
[2026-08-29 23:16:26,866.866 INFO    ] 2026-08-29 23:16:26
[2026-08-29 23:16:27,140.140 INFO    ] 2026-08-29 23:16:27
[2026-08-29 23:16:27,193.193 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:16:27,417.417 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:16:27,427.427 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:16:27,559.559 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:16:27,572.572 INFO    ] time= 29/08/2026 23:16:27
[2026-08-29 23:16:27,642.642 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:16:27,686.686 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:16:27,754.754 INFO    ] No existing commands found in stream
[2026-08-29 23:16:32,767.767 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:16:32,770.770 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 23:16:35,117.117 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:16:35,119.119 INFO    ] Checking for system updates...
[2026-08-29 23:16:35,140.140 INFO    ] 200
[2026-08-29 23:16:35,142.142 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:16:35,176.176 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:16:35,178.178 INFO    ] No update needed
[2026-08-29 23:16:35,179.179 INFO    ] Checking for camera pi updates...
[2026-08-29 23:16:35,202.202 INFO    ] 200
[2026-08-29 23:16:35,204.204 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:16:35,227.227 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:16:35,315.315 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:16:35,317.317 INFO    ] No camera update needed
[2026-08-29 23:16:35,318.318 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:16:35,320.320 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:16:35,323.323 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:16:35,326.326 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:16:37,364.364 INFO    ] ================================================
[2026-08-29 23:16:37,380.380 INFO    ] Launching Daemon at Sat Aug 29 23:16:37 IST 2026
[2026-08-29 23:16:37,390.390 INFO    ] ================================================
[2026-08-29 23:16:37,944.944 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:16:37
[2026-08-29 23:16:38,596.596 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:16:38,890.890 INFO    ] Initializing speech engine...
[2026-08-29 23:16:38,901.901 INFO    ] 2026-08-29 23:16:38
[2026-08-29 23:16:39,174.174 INFO    ] 2026-08-29 23:16:39
[2026-08-29 23:16:39,224.224 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:16:39,449.449 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:16:39,458.458 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:16:39,590.590 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:16:39,633.633 INFO    ] time= 29/08/2026 23:16:39
[2026-08-29 23:16:39,683.683 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:16:39,726.726 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:16:39,782.782 INFO    ] No existing commands found in stream
[2026-08-29 23:16:44,795.795 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:16:44,798.798 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-08-29 23:16:48,898.898 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:16:48,900.900 INFO    ] Checking for system updates...
[2026-08-29 23:16:48,921.921 INFO    ] 200
[2026-08-29 23:16:48,923.923 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:16:48,957.957 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:16:48,959.959 INFO    ] No update needed
[2026-08-29 23:16:48,960.960 INFO    ] Checking for camera pi updates...
[2026-08-29 23:16:48,982.982 INFO    ] 200
[2026-08-29 23:16:48,984.984 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:16:49,009.009 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:16:49,099.099 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:16:49,101.101 INFO    ] No camera update needed
[2026-08-29 23:16:49,104.104 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:16:49,107.107 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:16:49,113.113 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:16:49,118.118 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:16:51,160.160 INFO    ] ================================================
[2026-08-29 23:16:51,176.176 INFO    ] Launching Daemon at Sat Aug 29 23:16:51 IST 2026
[2026-08-29 23:16:51,187.187 INFO    ] ================================================
[2026-08-29 23:16:51,777.777 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:16:51
[2026-08-29 23:16:52,267.267 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:16:52,410.410 INFO    ] Initializing speech engine...
[2026-08-29 23:16:52,415.415 INFO    ] 2026-08-29 23:16:52
[2026-08-29 23:16:52,602.602 INFO    ] 2026-08-29 23:16:52
[2026-08-29 23:16:52,628.628 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:16:52,789.789 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:16:52,837.837 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:16:52,974.974 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:16:53,038.038 INFO    ] time= 29/08/2026 23:16:52
[2026-08-29 23:16:53,066.066 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:16:53,068.068 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:16:53,138.138 INFO    ] No existing commands found in stream
[2026-08-29 23:16:58,148.148 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:16:58,151.151 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-08-29 23:16:58,856.856 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:16:58,859.859 INFO    ] Checking for system updates...
[2026-08-29 23:16:58,896.896 INFO    ] 200
[2026-08-29 23:16:58,899.899 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:16:58,959.959 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:16:58,961.961 INFO    ] No update needed
[2026-08-29 23:16:58,965.965 INFO    ] Checking for camera pi updates...
[2026-08-29 23:16:59,003.003 INFO    ] 200
[2026-08-29 23:16:59,006.006 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:16:59,048.048 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:16:59,128.128 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:16:59,131.131 INFO    ] No camera update needed
[2026-08-29 23:16:59,134.134 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:16:59,136.136 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:16:59,142.142 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:16:59,148.148 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:17:01,189.189 INFO    ] ================================================
[2026-08-29 23:17:01,204.204 INFO    ] Launching Daemon at Sat Aug 29 23:17:01 IST 2026
[2026-08-29 23:17:01,215.215 INFO    ] ================================================
[2026-08-29 23:17:01,772.772 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:17:01
[2026-08-29 23:17:02,601.601 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:17:02,959.959 INFO    ] Initializing speech engine...
[2026-08-29 23:17:02,967.967 INFO    ] 2026-08-29 23:17:02
[2026-08-29 23:17:03,286.286 INFO    ] 2026-08-29 23:17:03
[2026-08-29 23:17:03,326.326 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:17:03,515.515 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:17:03,529.529 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:17:03,660.660 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:17:03,683.683 INFO    ] time= 29/08/2026 23:17:03
[2026-08-29 23:17:03,688.688 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:17:03,694.694 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:17:03,758.758 INFO    ] No existing commands found in stream
[2026-08-29 23:17:08,770.770 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:17:08,773.773 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-08-29 23:17:09,251.251 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:17:09,252.252 INFO    ] Checking for system updates...
[2026-08-29 23:17:09,273.273 INFO    ] 200
[2026-08-29 23:17:09,274.274 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:17:09,304.304 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:17:09,305.305 INFO    ] No update needed
[2026-08-29 23:17:09,307.307 INFO    ] Checking for camera pi updates...
[2026-08-29 23:17:09,327.327 INFO    ] 200
[2026-08-29 23:17:09,329.329 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:17:09,353.353 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:17:09,456.456 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:17:09,459.459 INFO    ] No camera update needed
[2026-08-29 23:17:09,461.461 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:17:09,463.463 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:17:09,469.469 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:17:09,473.473 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:17:11,515.515 INFO    ] ================================================
[2026-08-29 23:17:11,531.531 INFO    ] Launching Daemon at Sat Aug 29 23:17:11 IST 2026
[2026-08-29 23:17:11,542.542 INFO    ] ================================================
[2026-08-29 23:17:12,200.200 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:17:12
[2026-08-29 23:17:12,652.652 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:17:12,805.805 INFO    ] Initializing speech engine...
[2026-08-29 23:17:12,810.810 INFO    ] 2026-08-29 23:17:12
[2026-08-29 23:17:13,021.021 INFO    ] 2026-08-29 23:17:13
[2026-08-29 23:17:13,051.051 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:17:13,176.176 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:17:13,239.239 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:17:13,373.373 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:17:13,429.429 INFO    ] time= 29/08/2026 23:17:13
[2026-08-29 23:17:13,473.473 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:17:13,480.480 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:17:13,546.546 INFO    ] No existing commands found in stream
[2026-08-29 23:17:18,557.557 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:17:18,560.560 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-08-29 23:17:19,219.219 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:17:19,221.221 INFO    ] Checking for system updates...
[2026-08-29 23:17:19,242.242 INFO    ] 200
[2026-08-29 23:17:19,244.244 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:17:19,274.274 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:17:19,275.275 INFO    ] No update needed
[2026-08-29 23:17:19,277.277 INFO    ] Checking for camera pi updates...
[2026-08-29 23:17:19,296.296 INFO    ] 200
[2026-08-29 23:17:19,298.298 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:17:19,321.321 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:17:19,397.397 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:17:19,398.398 INFO    ] No camera update needed
[2026-08-29 23:17:19,400.400 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:17:19,401.401 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:17:19,404.404 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:17:19,407.407 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:17:21,447.447 INFO    ] ================================================
[2026-08-29 23:17:21,463.463 INFO    ] Launching Daemon at Sat Aug 29 23:17:21 IST 2026
[2026-08-29 23:17:21,474.474 INFO    ] ================================================
[2026-08-29 23:17:21,831.831 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:17:21
[2026-08-29 23:17:22,142.142 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:17:22,271.271 INFO    ] Initializing speech engine...
[2026-08-29 23:17:22,276.276 INFO    ] 2026-08-29 23:17:22
[2026-08-29 23:17:22,491.491 INFO    ] 2026-08-29 23:17:22
[2026-08-29 23:17:22,520.520 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:17:22,642.642 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:17:22,705.705 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:17:22,846.846 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:17:22,881.881 INFO    ] time= 29/08/2026 23:17:22
[2026-08-29 23:17:22,936.936 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:17:22,972.972 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:17:23,082.082 INFO    ] No existing commands found in stream
[2026-08-29 23:17:28,113.113 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:17:28,116.116 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-08-29 23:17:28,679.679 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:17:28,680.680 INFO    ] Checking for system updates...
[2026-08-29 23:17:28,701.701 INFO    ] 200
[2026-08-29 23:17:28,702.702 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:17:28,735.735 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:17:28,736.736 INFO    ] No update needed
[2026-08-29 23:17:28,737.737 INFO    ] Checking for camera pi updates...
[2026-08-29 23:17:28,756.756 INFO    ] 200
[2026-08-29 23:17:28,758.758 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:17:28,783.783 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:17:28,885.885 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:17:28,887.887 INFO    ] No camera update needed
[2026-08-29 23:17:28,890.890 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:17:28,892.892 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:17:28,897.897 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:17:28,902.902 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:17:30,942.942 INFO    ] ================================================
[2026-08-29 23:17:30,957.957 INFO    ] Launching Daemon at Sat Aug 29 23:17:30 IST 2026
[2026-08-29 23:17:30,968.968 INFO    ] ================================================
[2026-08-29 23:17:31,539.539 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:17:31
[2026-08-29 23:17:32,071.071 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:17:32,353.353 INFO    ] Initializing speech engine...
[2026-08-29 23:17:32,362.362 INFO    ] 2026-08-29 23:17:32
[2026-08-29 23:17:32,679.679 INFO    ] 2026-08-29 23:17:32
[2026-08-29 23:17:32,725.725 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:17:32,881.881 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:17:32,895.895 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:17:32,999.999 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:17:33,019.019 INFO    ] time= 29/08/2026 23:17:33
[2026-08-29 23:17:33,045.045 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:17:33,055.055 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:17:33,118.118 INFO    ] No existing commands found in stream
[2026-08-29 23:17:38,130.130 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:17:38,134.134 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-08-29 23:17:40,820.820 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:17:40,822.822 INFO    ] Checking for system updates...
[2026-08-29 23:17:40,843.843 INFO    ] 200
[2026-08-29 23:17:40,844.844 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:17:40,875.875 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:17:40,876.876 INFO    ] No update needed
[2026-08-29 23:17:40,878.878 INFO    ] Checking for camera pi updates...
[2026-08-29 23:17:40,897.897 INFO    ] 200
[2026-08-29 23:17:40,899.899 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:17:40,924.924 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:17:41,019.019 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:17:41,020.020 INFO    ] No camera update needed
[2026-08-29 23:17:41,021.021 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:17:41,023.023 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:17:41,026.026 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:17:41,029.029 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:17:43,069.069 INFO    ] ================================================
[2026-08-29 23:17:43,084.084 INFO    ] Launching Daemon at Sat Aug 29 23:17:43 IST 2026
[2026-08-29 23:17:43,095.095 INFO    ] ================================================
[2026-08-29 23:17:43,472.472 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:17:43
[2026-08-29 23:17:43,784.784 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:17:43,917.917 INFO    ] Initializing speech engine...
[2026-08-29 23:17:43,920.920 INFO    ] 2026-08-29 23:17:43
[2026-08-29 23:17:44,124.124 INFO    ] 2026-08-29 23:17:44
[2026-08-29 23:17:44,156.156 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:17:44,316.316 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:17:44,323.323 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:17:44,444.444 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:17:44,445.445 INFO    ] time= 29/08/2026 23:17:44
[2026-08-29 23:17:44,447.447 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:17:44,448.448 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:17:44,509.509 INFO    ] No existing commands found in stream
[2026-08-29 23:17:49,518.518 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:17:49,521.521 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-08-29 23:17:52,354.354 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:17:52,355.355 INFO    ] Checking for system updates...
[2026-08-29 23:17:52,376.376 INFO    ] 200
[2026-08-29 23:17:52,377.377 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:17:52,407.407 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:17:52,409.409 INFO    ] No update needed
[2026-08-29 23:17:52,410.410 INFO    ] Checking for camera pi updates...
[2026-08-29 23:17:52,430.430 INFO    ] 200
[2026-08-29 23:17:52,431.431 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:17:52,455.455 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:17:52,529.529 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:17:52,530.530 INFO    ] No camera update needed
[2026-08-29 23:17:52,531.531 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:17:52,533.533 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:17:52,536.536 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:17:52,538.538 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:17:54,578.578 INFO    ] ================================================
[2026-08-29 23:17:54,593.593 INFO    ] Launching Daemon at Sat Aug 29 23:17:54 IST 2026
[2026-08-29 23:17:54,604.604 INFO    ] ================================================
[2026-08-29 23:17:54,951.951 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:17:54
[2026-08-29 23:17:55,293.293 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:17:55,439.439 INFO    ] Initializing speech engine...
[2026-08-29 23:17:55,450.450 INFO    ] 2026-08-29 23:17:55
[2026-08-29 23:17:55,653.653 INFO    ] 2026-08-29 23:17:55
[2026-08-29 23:17:55,734.734 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:17:55,912.912 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:17:55,932.932 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:17:56,102.102 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:17:56,154.154 INFO    ] time= 29/08/2026 23:17:56
[2026-08-29 23:17:56,161.161 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:17:56,183.183 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:17:56,296.296 INFO    ] No existing commands found in stream
[2026-08-29 23:18:01,323.323 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:18:01,326.326 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 23:18:03,194.194 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:18:03,198.198 INFO    ] Checking for system updates...
[2026-08-29 23:18:03,242.242 INFO    ] 200
[2026-08-29 23:18:03,245.245 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:18:03,312.312 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:18:03,315.315 INFO    ] No update needed
[2026-08-29 23:18:03,317.317 INFO    ] Checking for camera pi updates...
[2026-08-29 23:18:03,365.365 INFO    ] 200
[2026-08-29 23:18:03,368.368 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:18:03,411.411 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:18:03,489.489 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:18:03,491.491 INFO    ] No camera update needed
[2026-08-29 23:18:03,494.494 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:18:03,496.496 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:18:03,502.502 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:18:03,507.507 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:18:05,546.546 INFO    ] ================================================
[2026-08-29 23:18:05,561.561 INFO    ] Launching Daemon at Sat Aug 29 23:18:05 IST 2026
[2026-08-29 23:18:05,572.572 INFO    ] ================================================
[2026-08-29 23:18:05,901.901 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:18:05
[2026-08-29 23:18:06,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:18:06,473.473 INFO    ] Initializing speech engine...
[2026-08-29 23:18:06,481.481 INFO    ] 2026-08-29 23:18:06
[2026-08-29 23:18:06,742.742 INFO    ] 2026-08-29 23:18:06
[2026-08-29 23:18:06,773.773 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:18:06,963.963 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:18:07,020.020 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:18:07,158.158 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:18:07,175.175 INFO    ] time= 29/08/2026 23:18:07
[2026-08-29 23:18:07,245.245 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:18:07,292.292 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:18:07,408.408 INFO    ] No existing commands found in stream
[2026-08-29 23:18:12,430.430 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:18:12,433.433 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-08-29 23:18:16,317.317 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:18:16,319.319 INFO    ] Checking for system updates...
[2026-08-29 23:18:16,341.341 INFO    ] 200
[2026-08-29 23:18:16,342.342 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:18:16,374.374 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:18:16,376.376 INFO    ] No update needed
[2026-08-29 23:18:16,377.377 INFO    ] Checking for camera pi updates...
[2026-08-29 23:18:16,396.396 INFO    ] 200
[2026-08-29 23:18:16,397.397 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:18:16,422.422 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:18:16,479.479 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:18:16,481.481 INFO    ] No camera update needed
[2026-08-29 23:18:16,482.482 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:18:16,483.483 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:18:16,486.486 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:18:16,489.489 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:18:18,532.532 INFO    ] ================================================
[2026-08-29 23:18:18,547.547 INFO    ] Launching Daemon at Sat Aug 29 23:18:18 IST 2026
[2026-08-29 23:18:18,558.558 INFO    ] ================================================
[2026-08-29 23:18:18,902.902 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:18:18
[2026-08-29 23:18:19,249.249 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:18:19,553.553 INFO    ] Initializing speech engine...
[2026-08-29 23:18:19,561.561 INFO    ] 2026-08-29 23:18:19
[2026-08-29 23:18:19,841.841 INFO    ] 2026-08-29 23:18:19
[2026-08-29 23:18:19,897.897 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:18:20,129.129 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:18:20,140.140 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:18:20,279.279 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:18:20,349.349 INFO    ] time= 29/08/2026 23:18:20
[2026-08-29 23:18:20,404.404 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:18:20,417.417 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:18:20,547.547 INFO    ] No existing commands found in stream
[2026-08-29 23:18:25,578.578 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:18:25,581.581 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-08-29 23:18:29,282.282 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:18:29,284.284 INFO    ] Checking for system updates...
[2026-08-29 23:18:29,304.304 INFO    ] 200
[2026-08-29 23:18:29,306.306 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:18:29,335.335 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:18:29,337.337 INFO    ] No update needed
[2026-08-29 23:18:29,338.338 INFO    ] Checking for camera pi updates...
[2026-08-29 23:18:29,360.360 INFO    ] 200
[2026-08-29 23:18:29,361.361 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:18:29,384.384 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:18:29,582.582 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:18:29,583.583 INFO    ] No camera update needed
[2026-08-29 23:18:29,584.584 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:18:29,586.586 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:18:29,589.589 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:18:29,591.591 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:18:31,631.631 INFO    ] ================================================
[2026-08-29 23:18:31,647.647 INFO    ] Launching Daemon at Sat Aug 29 23:18:31 IST 2026
[2026-08-29 23:18:31,658.658 INFO    ] ================================================
[2026-08-29 23:18:32,154.154 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:18:32
[2026-08-29 23:18:32,777.777 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:18:33,072.072 INFO    ] Initializing speech engine...
[2026-08-29 23:18:33,081.081 INFO    ] 2026-08-29 23:18:33
[2026-08-29 23:18:33,330.330 INFO    ] 2026-08-29 23:18:33
[2026-08-29 23:18:33,365.365 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:18:33,536.536 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:18:33,549.549 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:18:33,692.692 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:18:33,699.699 INFO    ] time= 29/08/2026 23:18:33
[2026-08-29 23:18:33,703.703 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:18:33,709.709 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:18:33,777.777 INFO    ] No existing commands found in stream
[2026-08-29 23:18:38,807.807 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:18:38,809.809 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-08-29 23:18:42,086.086 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:18:42,088.088 INFO    ] Checking for system updates...
[2026-08-29 23:18:42,110.110 INFO    ] 200
[2026-08-29 23:18:42,111.111 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:18:42,144.144 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:18:42,145.145 INFO    ] No update needed
[2026-08-29 23:18:42,146.146 INFO    ] Checking for camera pi updates...
[2026-08-29 23:18:42,167.167 INFO    ] 200
[2026-08-29 23:18:42,168.168 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:18:42,191.191 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:18:42,266.266 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:18:42,268.268 INFO    ] No camera update needed
[2026-08-29 23:18:42,269.269 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:18:42,270.270 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:18:42,273.273 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:18:42,276.276 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:18:44,315.315 INFO    ] ================================================
[2026-08-29 23:18:44,331.331 INFO    ] Launching Daemon at Sat Aug 29 23:18:44 IST 2026
[2026-08-29 23:18:44,343.343 INFO    ] ================================================
[2026-08-29 23:18:44,680.680 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:18:44
[2026-08-29 23:18:44,993.993 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:18:45,124.124 INFO    ] Initializing speech engine...
[2026-08-29 23:18:45,132.132 INFO    ] 2026-08-29 23:18:45
[2026-08-29 23:18:45,340.340 INFO    ] 2026-08-29 23:18:45
[2026-08-29 23:18:45,375.375 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:18:45,553.553 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:18:45,566.566 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:18:45,714.714 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:18:45,720.720 INFO    ] time= 29/08/2026 23:18:45
[2026-08-29 23:18:45,725.725 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:18:45,731.731 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:18:45,797.797 INFO    ] No existing commands found in stream
[2026-08-29 23:18:50,810.810 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:18:50,812.812 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-08-29 23:18:54,178.178 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:18:54,180.180 INFO    ] Checking for system updates...
[2026-08-29 23:18:54,200.200 INFO    ] 200
[2026-08-29 23:18:54,202.202 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:18:54,234.234 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:18:54,236.236 INFO    ] No update needed
[2026-08-29 23:18:54,237.237 INFO    ] Checking for camera pi updates...
[2026-08-29 23:18:54,257.257 INFO    ] 200
[2026-08-29 23:18:54,259.259 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:18:54,281.281 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:18:54,392.392 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:18:54,393.393 INFO    ] No camera update needed
[2026-08-29 23:18:54,394.394 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:18:54,396.396 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:18:54,399.399 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:18:54,401.401 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:18:56,442.442 INFO    ] ================================================
[2026-08-29 23:18:56,457.457 INFO    ] Launching Daemon at Sat Aug 29 23:18:56 IST 2026
[2026-08-29 23:18:56,469.469 INFO    ] ================================================
[2026-08-29 23:18:56,805.805 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:18:56
[2026-08-29 23:18:57,116.116 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:18:57,259.259 INFO    ] Initializing speech engine...
[2026-08-29 23:18:57,264.264 INFO    ] 2026-08-29 23:18:57
[2026-08-29 23:18:57,476.476 INFO    ] 2026-08-29 23:18:57
[2026-08-29 23:18:57,532.532 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:18:57,680.680 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:18:57,685.685 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:18:57,819.819 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:18:57,863.863 INFO    ] time= 29/08/2026 23:18:57
[2026-08-29 23:18:57,917.917 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:18:57,950.950 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:18:58,004.004 INFO    ] No existing commands found in stream
[2026-08-29 23:19:03,014.014 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:19:03,017.017 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-08-29 23:19:08,459.459 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:19:08,461.461 INFO    ] Checking for system updates...
[2026-08-29 23:19:08,481.481 INFO    ] 200
[2026-08-29 23:19:08,483.483 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:19:08,515.515 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:19:08,516.516 INFO    ] No update needed
[2026-08-29 23:19:08,518.518 INFO    ] Checking for camera pi updates...
[2026-08-29 23:19:08,542.542 INFO    ] 200
[2026-08-29 23:19:08,543.543 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:19:08,566.566 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:19:08,646.646 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:19:08,647.647 INFO    ] No camera update needed
[2026-08-29 23:19:08,648.648 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:19:08,650.650 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:19:08,653.653 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:19:08,655.655 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:19:10,694.694 INFO    ] ================================================
[2026-08-29 23:19:10,709.709 INFO    ] Launching Daemon at Sat Aug 29 23:19:10 IST 2026
[2026-08-29 23:19:10,720.720 INFO    ] ================================================
[2026-08-29 23:19:11,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:19:11
[2026-08-29 23:19:11,751.751 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:19:12,006.006 INFO    ] Initializing speech engine...
[2026-08-29 23:19:12,014.014 INFO    ] 2026-08-29 23:19:12
[2026-08-29 23:19:12,307.307 INFO    ] 2026-08-29 23:19:12
[2026-08-29 23:19:12,347.347 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:19:12,536.536 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:19:12,541.541 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:19:12,661.661 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:19:12,667.667 INFO    ] time= 29/08/2026 23:19:12
[2026-08-29 23:19:12,685.685 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:19:12,705.705 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:19:12,779.779 INFO    ] No existing commands found in stream
[2026-08-29 23:19:17,794.794 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:19:17,797.797 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-08-29 23:19:20,159.159 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:19:20,161.161 INFO    ] Checking for system updates...
[2026-08-29 23:19:20,182.182 INFO    ] 200
[2026-08-29 23:19:20,183.183 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:19:20,215.215 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:19:20,216.216 INFO    ] No update needed
[2026-08-29 23:19:20,217.217 INFO    ] Checking for camera pi updates...
[2026-08-29 23:19:20,236.236 INFO    ] 200
[2026-08-29 23:19:20,237.237 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:19:20,266.266 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:19:20,356.356 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:19:20,359.359 INFO    ] No camera update needed
[2026-08-29 23:19:20,361.361 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:19:20,363.363 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:19:20,368.368 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:19:20,373.373 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:19:22,414.414 INFO    ] ================================================
[2026-08-29 23:19:22,429.429 INFO    ] Launching Daemon at Sat Aug 29 23:19:22 IST 2026
[2026-08-29 23:19:22,440.440 INFO    ] ================================================
[2026-08-29 23:19:23,013.013 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:19:23
[2026-08-29 23:19:23,524.524 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:19:23,660.660 INFO    ] Initializing speech engine...
[2026-08-29 23:19:23,673.673 INFO    ] 2026-08-29 23:19:23
[2026-08-29 23:19:23,889.889 INFO    ] 2026-08-29 23:19:23
[2026-08-29 23:19:23,919.919 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:19:24,049.049 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:19:24,052.052 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:19:24,205.205 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:19:24,261.261 INFO    ] time= 29/08/2026 23:19:24
[2026-08-29 23:19:24,268.268 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:19:24,330.330 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:19:24,440.440 INFO    ] No existing commands found in stream
[2026-08-29 23:19:29,449.449 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:19:29,451.451 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-08-29 23:19:30,107.107 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:19:30,109.109 INFO    ] Checking for system updates...
[2026-08-29 23:19:30,129.129 INFO    ] 200
[2026-08-29 23:19:30,131.131 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:19:30,163.163 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:19:30,164.164 INFO    ] No update needed
[2026-08-29 23:19:30,166.166 INFO    ] Checking for camera pi updates...
[2026-08-29 23:19:30,189.189 INFO    ] 200
[2026-08-29 23:19:30,190.190 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:19:30,215.215 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:19:30,302.302 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:19:30,304.304 INFO    ] No camera update needed
[2026-08-29 23:19:30,310.310 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:19:30,311.311 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:19:30,315.315 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:19:30,318.318 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:19:32,359.359 INFO    ] ================================================
[2026-08-29 23:19:32,376.376 INFO    ] Launching Daemon at Sat Aug 29 23:19:32 IST 2026
[2026-08-29 23:19:32,388.388 INFO    ] ================================================
[2026-08-29 23:19:32,982.982 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:19:32
[2026-08-29 23:19:33,566.566 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:19:33,832.832 INFO    ] Initializing speech engine...
[2026-08-29 23:19:33,844.844 INFO    ] 2026-08-29 23:19:33
[2026-08-29 23:19:34,097.097 INFO    ] 2026-08-29 23:19:34
[2026-08-29 23:19:34,155.155 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:19:34,298.298 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:19:34,310.310 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:19:34,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:19:34,457.457 INFO    ] time= 29/08/2026 23:19:34
[2026-08-29 23:19:34,462.462 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:19:34,468.468 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:19:34,534.534 INFO    ] No existing commands found in stream
[2026-08-29 23:19:39,549.549 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:19:39,552.552 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-08-29 23:19:42,254.254 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:19:42,255.255 INFO    ] Checking for system updates...
[2026-08-29 23:19:42,276.276 INFO    ] 200
[2026-08-29 23:19:42,277.277 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:19:42,307.307 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:19:42,308.308 INFO    ] No update needed
[2026-08-29 23:19:42,309.309 INFO    ] Checking for camera pi updates...
[2026-08-29 23:19:42,330.330 INFO    ] 200
[2026-08-29 23:19:42,331.331 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:19:42,356.356 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:19:42,441.441 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:19:42,443.443 INFO    ] No camera update needed
[2026-08-29 23:19:42,444.444 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:19:42,445.445 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:19:42,448.448 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:19:42,450.450 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:19:44,490.490 INFO    ] ================================================
[2026-08-29 23:19:44,506.506 INFO    ] Launching Daemon at Sat Aug 29 23:19:44 IST 2026
[2026-08-29 23:19:44,518.518 INFO    ] ================================================
[2026-08-29 23:19:44,850.850 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:19:44
[2026-08-29 23:19:45,294.294 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:19:45,545.545 INFO    ] Initializing speech engine...
[2026-08-29 23:19:45,552.552 INFO    ] 2026-08-29 23:19:45
[2026-08-29 23:19:45,822.822 INFO    ] 2026-08-29 23:19:45
[2026-08-29 23:19:45,862.862 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:19:46,058.058 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:19:46,065.065 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:19:46,210.210 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:19:46,225.225 INFO    ] time= 29/08/2026 23:19:46
[2026-08-29 23:19:46,230.230 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:19:46,262.262 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:19:46,394.394 INFO    ] No existing commands found in stream
[2026-08-29 23:19:51,424.424 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:19:51,427.427 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-08-29 23:19:55,658.658 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:19:55,659.659 INFO    ] Checking for system updates...
[2026-08-29 23:19:55,681.681 INFO    ] 200
[2026-08-29 23:19:55,682.682 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:19:55,715.715 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:19:55,716.716 INFO    ] No update needed
[2026-08-29 23:19:55,717.717 INFO    ] Checking for camera pi updates...
[2026-08-29 23:19:55,738.738 INFO    ] 200
[2026-08-29 23:19:55,739.739 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:19:55,763.763 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:19:55,847.847 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:19:55,849.849 INFO    ] No camera update needed
[2026-08-29 23:19:55,850.850 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:19:55,852.852 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:19:55,855.855 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:19:55,857.857 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:19:57,896.896 INFO    ] ================================================
[2026-08-29 23:19:57,912.912 INFO    ] Launching Daemon at Sat Aug 29 23:19:57 IST 2026
[2026-08-29 23:19:57,924.924 INFO    ] ================================================
[2026-08-29 23:19:58,383.383 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:19:58
[2026-08-29 23:19:59,044.044 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:19:59,346.346 INFO    ] Initializing speech engine...
[2026-08-29 23:19:59,358.358 INFO    ] 2026-08-29 23:19:59
[2026-08-29 23:19:59,635.635 INFO    ] 2026-08-29 23:19:59
[2026-08-29 23:19:59,679.679 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:19:59,897.897 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:19:59,907.907 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:20:00,039.039 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:20:00,055.055 INFO    ] time= 29/08/2026 23:20:00
[2026-08-29 23:20:00,110.110 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:20:00,169.169 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:20:00,223.223 INFO    ] No existing commands found in stream
[2026-08-29 23:20:05,235.235 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:20:05,238.238 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-08-29 23:20:09,044.044 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:20:09,045.045 INFO    ] Checking for system updates...
[2026-08-29 23:20:09,066.066 INFO    ] 200
[2026-08-29 23:20:09,067.067 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:20:09,099.099 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:20:09,100.100 INFO    ] No update needed
[2026-08-29 23:20:09,101.101 INFO    ] Checking for camera pi updates...
[2026-08-29 23:20:09,124.124 INFO    ] 200
[2026-08-29 23:20:09,125.125 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:20:09,149.149 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:20:09,248.248 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:20:09,250.250 INFO    ] No camera update needed
[2026-08-29 23:20:09,251.251 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:20:09,252.252 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:20:09,255.255 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:20:09,258.258 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:20:11,296.296 INFO    ] ================================================
[2026-08-29 23:20:11,311.311 INFO    ] Launching Daemon at Sat Aug 29 23:20:11 IST 2026
[2026-08-29 23:20:11,322.322 INFO    ] ================================================
[2026-08-29 23:20:11,686.686 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:20:11
[2026-08-29 23:20:12,002.002 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:20:12,146.146 INFO    ] Initializing speech engine...
[2026-08-29 23:20:12,151.151 INFO    ] 2026-08-29 23:20:12
[2026-08-29 23:20:12,354.354 INFO    ] 2026-08-29 23:20:12
[2026-08-29 23:20:12,384.384 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:20:12,520.520 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:20:12,568.568 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:20:12,702.702 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:20:12,765.765 INFO    ] time= 29/08/2026 23:20:12
[2026-08-29 23:20:12,797.797 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:20:12,799.799 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:20:12,868.868 INFO    ] No existing commands found in stream
[2026-08-29 23:20:17,879.879 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:20:17,882.882 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-08-29 23:20:20,687.687 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:20:20,688.688 INFO    ] Checking for system updates...
[2026-08-29 23:20:20,709.709 INFO    ] 200
[2026-08-29 23:20:20,710.710 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:20:20,744.744 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:20:20,746.746 INFO    ] No update needed
[2026-08-29 23:20:20,748.748 INFO    ] Checking for camera pi updates...
[2026-08-29 23:20:20,768.768 INFO    ] 200
[2026-08-29 23:20:20,770.770 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:20:20,795.795 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:20:20,899.899 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:20:20,901.901 INFO    ] No camera update needed
[2026-08-29 23:20:20,904.904 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:20:20,907.907 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:20:20,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:20:20,918.918 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:20:22,960.960 INFO    ] ================================================
[2026-08-29 23:20:22,975.975 INFO    ] Launching Daemon at Sat Aug 29 23:20:22 IST 2026
[2026-08-29 23:20:22,986.986 INFO    ] ================================================
[2026-08-29 23:20:23,636.636 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:20:23
[2026-08-29 23:20:24,072.072 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:20:24,213.213 INFO    ] Initializing speech engine...
[2026-08-29 23:20:24,227.227 INFO    ] 2026-08-29 23:20:24
[2026-08-29 23:20:24,447.447 INFO    ] 2026-08-29 23:20:24
[2026-08-29 23:20:24,535.535 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:20:24,695.695 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:20:24,701.701 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:20:24,836.836 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:20:24,899.899 INFO    ] time= 29/08/2026 23:20:24
[2026-08-29 23:20:24,949.949 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:20:24,978.978 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:20:25,113.113 INFO    ] No existing commands found in stream
[2026-08-29 23:20:30,141.141 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:20:30,144.144 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-08-29 23:20:31,873.873 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:20:31,877.877 INFO    ] Checking for system updates...
[2026-08-29 23:20:31,916.916 INFO    ] 200
[2026-08-29 23:20:31,919.919 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:20:31,978.978 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:20:31,982.982 INFO    ] No update needed
[2026-08-29 23:20:31,985.985 INFO    ] Checking for camera pi updates...
[2026-08-29 23:20:32,027.027 INFO    ] 200
[2026-08-29 23:20:32,030.030 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:20:32,081.081 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:20:32,320.320 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:20:32,324.324 INFO    ] No camera update needed
[2026-08-29 23:20:32,327.327 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:20:32,330.330 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:20:32,337.337 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:20:32,344.344 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:20:34,387.387 INFO    ] ================================================
[2026-08-29 23:20:34,402.402 INFO    ] Launching Daemon at Sat Aug 29 23:20:34 IST 2026
[2026-08-29 23:20:34,413.413 INFO    ] ================================================
[2026-08-29 23:20:34,865.865 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:20:34
[2026-08-29 23:20:35,403.403 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:20:35,681.681 INFO    ] Initializing speech engine...
[2026-08-29 23:20:35,692.692 INFO    ] 2026-08-29 23:20:35
[2026-08-29 23:20:35,953.953 INFO    ] 2026-08-29 23:20:35
[2026-08-29 23:20:36,008.008 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:20:36,175.175 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:20:36,202.202 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:20:36,336.336 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:20:36,379.379 INFO    ] time= 29/08/2026 23:20:36
[2026-08-29 23:20:36,396.396 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:20:36,455.455 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:20:36,528.528 INFO    ] No existing commands found in stream
[2026-08-29 23:20:41,540.540 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:20:41,543.543 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-08-29 23:20:42,011.011 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:20:42,012.012 INFO    ] Checking for system updates...
[2026-08-29 23:20:42,034.034 INFO    ] 200
[2026-08-29 23:20:42,036.036 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:20:42,069.069 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:20:42,071.071 INFO    ] No update needed
[2026-08-29 23:20:42,072.072 INFO    ] Checking for camera pi updates...
[2026-08-29 23:20:42,092.092 INFO    ] 200
[2026-08-29 23:20:42,094.094 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:20:42,119.119 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:20:42,193.193 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:20:42,194.194 INFO    ] No camera update needed
[2026-08-29 23:20:42,195.195 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:20:42,197.197 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:20:42,200.200 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:20:42,203.203 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:20:44,243.243 INFO    ] ================================================
[2026-08-29 23:20:44,258.258 INFO    ] Launching Daemon at Sat Aug 29 23:20:44 IST 2026
[2026-08-29 23:20:44,269.269 INFO    ] ================================================
[2026-08-29 23:20:44,643.643 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:20:44
[2026-08-29 23:20:44,983.983 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:20:45,135.135 INFO    ] Initializing speech engine...
[2026-08-29 23:20:45,140.140 INFO    ] 2026-08-29 23:20:45
[2026-08-29 23:20:45,340.340 INFO    ] 2026-08-29 23:20:45
[2026-08-29 23:20:45,395.395 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:20:45,565.565 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:20:45,617.617 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:20:45,752.752 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:20:45,776.776 INFO    ] time= 29/08/2026 23:20:45
[2026-08-29 23:20:45,842.842 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:20:45,891.891 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:20:45,963.963 INFO    ] No existing commands found in stream
[2026-08-29 23:20:50,976.976 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:20:50,979.979 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-08-29 23:20:51,466.466 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:20:51,468.468 INFO    ] Checking for system updates...
[2026-08-29 23:20:51,488.488 INFO    ] 200
[2026-08-29 23:20:51,490.490 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:20:51,520.520 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:20:51,521.521 INFO    ] No update needed
[2026-08-29 23:20:51,522.522 INFO    ] Checking for camera pi updates...
[2026-08-29 23:20:51,541.541 INFO    ] 200
[2026-08-29 23:20:51,543.543 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:20:51,566.566 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:20:51,651.651 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:20:51,653.653 INFO    ] No camera update needed
[2026-08-29 23:20:51,654.654 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:20:51,655.655 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:20:51,658.658 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:20:51,661.661 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:20:53,701.701 INFO    ] ================================================
[2026-08-29 23:20:53,716.716 INFO    ] Launching Daemon at Sat Aug 29 23:20:53 IST 2026
[2026-08-29 23:20:53,727.727 INFO    ] ================================================
[2026-08-29 23:20:54,289.289 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:20:54
[2026-08-29 23:20:54,891.891 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:20:55,152.152 INFO    ] Initializing speech engine...
[2026-08-29 23:20:55,158.158 INFO    ] 2026-08-29 23:20:55
[2026-08-29 23:20:55,459.459 INFO    ] 2026-08-29 23:20:55
[2026-08-29 23:20:55,485.485 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:20:55,644.644 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:20:55,651.651 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:20:55,807.807 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:20:55,820.820 INFO    ] time= 29/08/2026 23:20:55
[2026-08-29 23:20:55,824.824 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:20:55,829.829 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:20:55,899.899 INFO    ] No existing commands found in stream
[2026-08-29 23:21:00,911.911 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:21:00,914.914 INFO    ] Waiting 2.42 seconds before fallback handling...
[2026-08-29 23:21:03,727.727 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:21:03,729.729 INFO    ] Checking for system updates...
[2026-08-29 23:21:03,765.765 INFO    ] 200
[2026-08-29 23:21:03,768.768 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:21:03,821.821 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:21:03,824.824 INFO    ] No update needed
[2026-08-29 23:21:03,827.827 INFO    ] Checking for camera pi updates...
[2026-08-29 23:21:03,865.865 INFO    ] 200
[2026-08-29 23:21:03,867.867 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:21:03,918.918 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:21:04,015.015 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:21:04,018.018 INFO    ] No camera update needed
[2026-08-29 23:21:04,021.021 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:21:04,024.024 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:21:04,030.030 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:21:04,035.035 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:21:06,076.076 INFO    ] ================================================
[2026-08-29 23:21:06,091.091 INFO    ] Launching Daemon at Sat Aug 29 23:21:06 IST 2026
[2026-08-29 23:21:06,102.102 INFO    ] ================================================
[2026-08-29 23:21:06,608.608 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:21:06
[2026-08-29 23:21:06,921.921 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:21:07,064.064 INFO    ] Initializing speech engine...
[2026-08-29 23:21:07,070.070 INFO    ] 2026-08-29 23:21:07
[2026-08-29 23:21:07,275.275 INFO    ] 2026-08-29 23:21:07
[2026-08-29 23:21:07,304.304 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:21:07,427.427 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:21:07,485.485 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:21:07,622.622 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:21:07,674.674 INFO    ] time= 29/08/2026 23:21:07
[2026-08-29 23:21:07,722.722 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:21:07,724.724 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:21:07,797.797 INFO    ] No existing commands found in stream
[2026-08-29 23:21:12,806.806 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:21:12,809.809 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-08-29 23:21:13,818.818 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:21:13,819.819 INFO    ] Checking for system updates...
[2026-08-29 23:21:13,841.841 INFO    ] 200
[2026-08-29 23:21:13,842.842 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:21:13,874.874 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:21:13,875.875 INFO    ] No update needed
[2026-08-29 23:21:13,876.876 INFO    ] Checking for camera pi updates...
[2026-08-29 23:21:13,896.896 INFO    ] 200
[2026-08-29 23:21:13,897.897 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:21:13,920.920 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:21:13,996.996 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:21:13,997.997 INFO    ] No camera update needed
[2026-08-29 23:21:13,998.998 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:21:13,999.999 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:21:14,002.002 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:21:14,005.005 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:21:16,044.044 INFO    ] ================================================
[2026-08-29 23:21:16,059.059 INFO    ] Launching Daemon at Sat Aug 29 23:21:16 IST 2026
[2026-08-29 23:21:16,070.070 INFO    ] ================================================
[2026-08-29 23:21:16,414.414 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:21:16
[2026-08-29 23:21:16,999.999 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:21:17,257.257 INFO    ] Initializing speech engine...
[2026-08-29 23:21:17,281.281 INFO    ] 2026-08-29 23:21:17
[2026-08-29 23:21:17,548.548 INFO    ] 2026-08-29 23:21:17
[2026-08-29 23:21:17,582.582 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:21:17,770.770 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:21:17,785.785 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:21:17,902.902 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:21:17,909.909 INFO    ] time= 29/08/2026 23:21:17
[2026-08-29 23:21:17,923.923 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:21:17,949.949 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:21:18,029.029 INFO    ] No existing commands found in stream
[2026-08-29 23:21:23,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:21:23,044.044 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-08-29 23:21:25,342.342 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:21:25,343.343 INFO    ] Checking for system updates...
[2026-08-29 23:21:25,364.364 INFO    ] 200
[2026-08-29 23:21:25,365.365 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:21:25,395.395 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:21:25,396.396 INFO    ] No update needed
[2026-08-29 23:21:25,397.397 INFO    ] Checking for camera pi updates...
[2026-08-29 23:21:25,416.416 INFO    ] 200
[2026-08-29 23:21:25,418.418 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:21:25,441.441 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:21:25,554.554 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:21:25,555.555 INFO    ] No camera update needed
[2026-08-29 23:21:25,557.557 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:21:25,558.558 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:21:25,561.561 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:21:25,563.563 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:21:27,601.601 INFO    ] ================================================
[2026-08-29 23:21:27,616.616 INFO    ] Launching Daemon at Sat Aug 29 23:21:27 IST 2026
[2026-08-29 23:21:27,627.627 INFO    ] ================================================
[2026-08-29 23:21:27,980.980 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:21:27
[2026-08-29 23:21:28,312.312 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:21:28,457.457 INFO    ] Initializing speech engine...
[2026-08-29 23:21:28,466.466 INFO    ] 2026-08-29 23:21:28
[2026-08-29 23:21:28,717.717 INFO    ] 2026-08-29 23:21:28
[2026-08-29 23:21:28,761.761 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:21:28,934.934 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:21:28,947.947 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:21:29,093.093 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:21:29,102.102 INFO    ] time= 29/08/2026 23:21:29
[2026-08-29 23:21:29,111.111 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:21:29,165.165 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:21:29,276.276 INFO    ] No existing commands found in stream
[2026-08-29 23:21:34,307.307 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:21:34,310.310 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-08-29 23:21:36,118.118 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:21:36,119.119 INFO    ] Checking for system updates...
[2026-08-29 23:21:36,141.141 INFO    ] 200
[2026-08-29 23:21:36,143.143 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:21:36,173.173 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:21:36,174.174 INFO    ] No update needed
[2026-08-29 23:21:36,175.175 INFO    ] Checking for camera pi updates...
[2026-08-29 23:21:36,195.195 INFO    ] 200
[2026-08-29 23:21:36,197.197 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:21:36,221.221 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:21:36,303.303 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:21:36,305.305 INFO    ] No camera update needed
[2026-08-29 23:21:36,306.306 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:21:36,308.308 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:21:36,311.311 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:21:36,314.314 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:21:38,352.352 INFO    ] ================================================
[2026-08-29 23:21:38,367.367 INFO    ] Launching Daemon at Sat Aug 29 23:21:38 IST 2026
[2026-08-29 23:21:38,378.378 INFO    ] ================================================
[2026-08-29 23:21:38,725.725 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:21:38
[2026-08-29 23:21:39,057.057 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:21:39,206.206 INFO    ] Initializing speech engine...
[2026-08-29 23:21:39,212.212 INFO    ] 2026-08-29 23:21:39
[2026-08-29 23:21:39,419.419 INFO    ] 2026-08-29 23:21:39
[2026-08-29 23:21:39,448.448 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:21:39,576.576 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:21:39,634.634 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:21:39,764.764 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:21:39,821.821 INFO    ] time= 29/08/2026 23:21:39
[2026-08-29 23:21:39,863.863 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:21:39,870.870 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:21:39,936.936 INFO    ] No existing commands found in stream
[2026-08-29 23:21:44,947.947 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:21:44,950.950 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-08-29 23:21:47,875.875 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:21:47,877.877 INFO    ] Checking for system updates...
[2026-08-29 23:21:47,897.897 INFO    ] 200
[2026-08-29 23:21:47,899.899 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:21:47,931.931 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:21:47,932.932 INFO    ] No update needed
[2026-08-29 23:21:47,934.934 INFO    ] Checking for camera pi updates...
[2026-08-29 23:21:47,956.956 INFO    ] 200
[2026-08-29 23:21:47,958.958 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:21:47,985.985 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:21:48,091.091 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:21:48,092.092 INFO    ] No camera update needed
[2026-08-29 23:21:48,094.094 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:21:48,095.095 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:21:48,098.098 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:21:48,101.101 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:21:50,141.141 INFO    ] ================================================
[2026-08-29 23:21:50,156.156 INFO    ] Launching Daemon at Sat Aug 29 23:21:50 IST 2026
[2026-08-29 23:21:50,167.167 INFO    ] ================================================
[2026-08-29 23:21:50,538.538 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:21:50
[2026-08-29 23:21:50,869.869 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:21:51,024.024 INFO    ] Initializing speech engine...
[2026-08-29 23:21:51,029.029 INFO    ] 2026-08-29 23:21:51
[2026-08-29 23:21:51,235.235 INFO    ] 2026-08-29 23:21:51
[2026-08-29 23:21:51,265.265 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:21:51,391.391 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:21:51,417.417 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:21:51,554.554 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:21:51,573.573 INFO    ] time= 29/08/2026 23:21:51
[2026-08-29 23:21:51,595.595 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:21:51,610.610 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:21:51,716.716 INFO    ] No existing commands found in stream
[2026-08-29 23:21:56,743.743 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:21:56,746.746 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-08-29 23:21:58,545.545 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:21:58,546.546 INFO    ] Checking for system updates...
[2026-08-29 23:21:58,567.567 INFO    ] 200
[2026-08-29 23:21:58,568.568 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:21:58,598.598 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:21:58,599.599 INFO    ] No update needed
[2026-08-29 23:21:58,601.601 INFO    ] Checking for camera pi updates...
[2026-08-29 23:21:58,620.620 INFO    ] 200
[2026-08-29 23:21:58,621.621 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:21:58,645.645 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:21:58,720.720 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:21:58,722.722 INFO    ] No camera update needed
[2026-08-29 23:21:58,723.723 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:21:58,725.725 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:21:58,728.728 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:21:58,730.730 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:22:00,769.769 INFO    ] ================================================
[2026-08-29 23:22:00,784.784 INFO    ] Launching Daemon at Sat Aug 29 23:22:00 IST 2026
[2026-08-29 23:22:00,795.795 INFO    ] ================================================
[2026-08-29 23:22:01,368.368 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:22:01
[2026-08-29 23:22:02,017.017 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:22:02,313.313 INFO    ] Initializing speech engine...
[2026-08-29 23:22:02,348.348 INFO    ] 2026-08-29 23:22:02
[2026-08-29 23:22:02,656.656 INFO    ] 2026-08-29 23:22:02
[2026-08-29 23:22:02,719.719 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:22:02,913.913 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:22:02,953.953 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:22:03,088.088 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:22:03,142.142 INFO    ] time= 29/08/2026 23:22:03
[2026-08-29 23:22:03,182.182 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:22:03,237.237 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:22:03,308.308 INFO    ] No existing commands found in stream
[2026-08-29 23:22:08,329.329 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:22:08,332.332 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-08-29 23:22:12,281.281 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:22:12,282.282 INFO    ] Checking for system updates...
[2026-08-29 23:22:12,303.303 INFO    ] 200
[2026-08-29 23:22:12,304.304 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:22:12,336.336 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:22:12,338.338 INFO    ] No update needed
[2026-08-29 23:22:12,339.339 INFO    ] Checking for camera pi updates...
[2026-08-29 23:22:12,360.360 INFO    ] 200
[2026-08-29 23:22:12,362.362 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:22:12,402.402 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:22:12,498.498 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:22:12,500.500 INFO    ] No camera update needed
[2026-08-29 23:22:12,503.503 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:22:12,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:22:12,510.510 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:22:12,515.515 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:22:14,554.554 INFO    ] ================================================
[2026-08-29 23:22:14,569.569 INFO    ] Launching Daemon at Sat Aug 29 23:22:14 IST 2026
[2026-08-29 23:22:14,580.580 INFO    ] ================================================
[2026-08-29 23:22:15,147.147 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:22:15
[2026-08-29 23:22:15,618.618 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:22:15,750.750 INFO    ] Initializing speech engine...
[2026-08-29 23:22:15,763.763 INFO    ] 2026-08-29 23:22:15
[2026-08-29 23:22:15,970.970 INFO    ] 2026-08-29 23:22:15
[2026-08-29 23:22:16,052.052 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:22:16,215.215 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:22:16,225.225 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:22:16,369.369 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:22:16,391.391 INFO    ] time= 29/08/2026 23:22:16
[2026-08-29 23:22:16,451.451 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:22:16,505.505 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:22:16,570.570 INFO    ] No existing commands found in stream
[2026-08-29 23:22:21,583.583 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:22:21,585.585 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-08-29 23:22:23,007.007 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:22:23,010.010 INFO    ] Checking for system updates...
[2026-08-29 23:22:23,048.048 INFO    ] 200
[2026-08-29 23:22:23,050.050 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:22:23,107.107 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:22:23,109.109 INFO    ] No update needed
[2026-08-29 23:22:23,112.112 INFO    ] Checking for camera pi updates...
[2026-08-29 23:22:23,146.146 INFO    ] 200
[2026-08-29 23:22:23,148.148 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:22:23,188.188 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:22:23,286.286 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:22:23,288.288 INFO    ] No camera update needed
[2026-08-29 23:22:23,291.291 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:22:23,293.293 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:22:23,298.298 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:22:23,303.303 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:22:25,344.344 INFO    ] ================================================
[2026-08-29 23:22:25,359.359 INFO    ] Launching Daemon at Sat Aug 29 23:22:25 IST 2026
[2026-08-29 23:22:25,369.369 INFO    ] ================================================
[2026-08-29 23:22:25,983.983 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:22:25
[2026-08-29 23:22:26,344.344 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:22:26,635.635 INFO    ] Initializing speech engine...
[2026-08-29 23:22:26,646.646 INFO    ] 2026-08-29 23:22:26
[2026-08-29 23:22:26,915.915 INFO    ] 2026-08-29 23:22:26
[2026-08-29 23:22:26,981.981 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:22:27,146.146 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:22:27,174.174 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:22:27,331.331 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:22:27,354.354 INFO    ] time= 29/08/2026 23:22:27
[2026-08-29 23:22:27,370.370 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:22:27,440.440 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:22:27,511.511 INFO    ] No existing commands found in stream
[2026-08-29 23:22:32,524.524 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:22:32,527.527 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-08-29 23:22:34,382.382 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:22:34,385.385 INFO    ] Checking for system updates...
[2026-08-29 23:22:34,420.420 INFO    ] 200
[2026-08-29 23:22:34,423.423 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:22:34,475.475 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:22:34,477.477 INFO    ] No update needed
[2026-08-29 23:22:34,479.479 INFO    ] Checking for camera pi updates...
[2026-08-29 23:22:34,517.517 INFO    ] 200
[2026-08-29 23:22:34,519.519 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:22:34,559.559 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:22:34,643.643 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:22:34,646.646 INFO    ] No camera update needed
[2026-08-29 23:22:34,648.648 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:22:34,650.650 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:22:34,655.655 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:22:34,660.660 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:22:36,700.700 INFO    ] ================================================
[2026-08-29 23:22:36,715.715 INFO    ] Launching Daemon at Sat Aug 29 23:22:36 IST 2026
[2026-08-29 23:22:36,725.725 INFO    ] ================================================
[2026-08-29 23:22:37,345.345 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:22:37
[2026-08-29 23:22:37,986.986 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:22:38,280.280 INFO    ] Initializing speech engine...
[2026-08-29 23:22:38,289.289 INFO    ] 2026-08-29 23:22:38
[2026-08-29 23:22:38,589.589 INFO    ] 2026-08-29 23:22:38
[2026-08-29 23:22:38,618.618 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:22:38,741.741 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:22:38,804.804 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:22:38,939.939 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:22:39,009.009 INFO    ] time= 29/08/2026 23:22:38
[2026-08-29 23:22:39,034.034 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:22:39,041.041 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:22:39,108.108 INFO    ] No existing commands found in stream
[2026-08-29 23:22:44,117.117 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:22:44,120.120 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 23:22:45,354.354 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:22:45,356.356 INFO    ] Checking for system updates...
[2026-08-29 23:22:45,377.377 INFO    ] 200
[2026-08-29 23:22:45,378.378 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:22:45,410.410 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:22:45,411.411 INFO    ] No update needed
[2026-08-29 23:22:45,412.412 INFO    ] Checking for camera pi updates...
[2026-08-29 23:22:45,435.435 INFO    ] 200
[2026-08-29 23:22:45,436.436 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:22:45,463.463 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:22:45,550.550 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:22:45,553.553 INFO    ] No camera update needed
[2026-08-29 23:22:45,555.555 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:22:45,558.558 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:22:45,564.564 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:22:45,569.569 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:22:47,611.611 INFO    ] ================================================
[2026-08-29 23:22:47,626.626 INFO    ] Launching Daemon at Sat Aug 29 23:22:47 IST 2026
[2026-08-29 23:22:47,637.637 INFO    ] ================================================
[2026-08-29 23:22:48,219.219 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:22:48
[2026-08-29 23:22:48,703.703 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:22:48,835.835 INFO    ] Initializing speech engine...
[2026-08-29 23:22:48,840.840 INFO    ] 2026-08-29 23:22:48
[2026-08-29 23:22:49,070.070 INFO    ] 2026-08-29 23:22:49
[2026-08-29 23:22:49,161.161 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:22:49,322.322 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:22:49,332.332 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:22:49,477.477 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:22:49,494.494 INFO    ] time= 29/08/2026 23:22:49
[2026-08-29 23:22:49,549.549 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:22:49,604.604 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:22:49,677.677 INFO    ] No existing commands found in stream
[2026-08-29 23:22:54,690.690 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:22:54,693.693 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-08-29 23:22:57,008.008 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:22:57,009.009 INFO    ] Checking for system updates...
[2026-08-29 23:22:57,029.029 INFO    ] 200
[2026-08-29 23:22:57,031.031 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:22:57,060.060 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:22:57,061.061 INFO    ] No update needed
[2026-08-29 23:22:57,063.063 INFO    ] Checking for camera pi updates...
[2026-08-29 23:22:57,082.082 INFO    ] 200
[2026-08-29 23:22:57,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:22:57,108.108 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:22:57,202.202 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:22:57,203.203 INFO    ] No camera update needed
[2026-08-29 23:22:57,204.204 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:22:57,206.206 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:22:57,209.209 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:22:57,211.211 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:22:59,249.249 INFO    ] ================================================
[2026-08-29 23:22:59,264.264 INFO    ] Launching Daemon at Sat Aug 29 23:22:59 IST 2026
[2026-08-29 23:22:59,275.275 INFO    ] ================================================
[2026-08-29 23:22:59,601.601 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:22:59
[2026-08-29 23:22:59,920.920 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:23:00,167.167 INFO    ] Initializing speech engine...
[2026-08-29 23:23:00,173.173 INFO    ] 2026-08-29 23:23:00
[2026-08-29 23:23:00,436.436 INFO    ] 2026-08-29 23:23:00
[2026-08-29 23:23:00,476.476 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:23:00,666.666 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:23:00,679.679 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:23:00,801.801 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:23:00,806.806 INFO    ] time= 29/08/2026 23:23:00
[2026-08-29 23:23:00,820.820 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:23:00,847.847 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:23:00,927.927 INFO    ] No existing commands found in stream
[2026-08-29 23:23:05,939.939 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:23:05,942.942 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-08-29 23:23:09,095.095 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:23:09,096.096 INFO    ] Checking for system updates...
[2026-08-29 23:23:09,118.118 INFO    ] 200
[2026-08-29 23:23:09,119.119 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:23:09,151.151 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:23:09,154.154 INFO    ] No update needed
[2026-08-29 23:23:09,156.156 INFO    ] Checking for camera pi updates...
[2026-08-29 23:23:09,191.191 INFO    ] 200
[2026-08-29 23:23:09,194.194 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:23:09,238.238 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:23:09,321.321 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:23:09,324.324 INFO    ] No camera update needed
[2026-08-29 23:23:09,326.326 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:23:09,328.328 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:23:09,334.334 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:23:09,338.338 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:23:11,378.378 INFO    ] ================================================
[2026-08-29 23:23:11,393.393 INFO    ] Launching Daemon at Sat Aug 29 23:23:11 IST 2026
[2026-08-29 23:23:11,404.404 INFO    ] ================================================
[2026-08-29 23:23:11,986.986 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:23:11
[2026-08-29 23:23:12,525.525 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:23:12,834.834 INFO    ] Initializing speech engine...
[2026-08-29 23:23:12,843.843 INFO    ] 2026-08-29 23:23:12
[2026-08-29 23:23:13,123.123 INFO    ] 2026-08-29 23:23:13
[2026-08-29 23:23:13,160.160 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:23:13,358.358 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:23:13,366.366 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:23:13,478.478 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:23:13,485.485 INFO    ] time= 29/08/2026 23:23:13
[2026-08-29 23:23:13,506.506 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:23:13,513.513 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:23:13,624.624 INFO    ] No existing commands found in stream
[2026-08-29 23:23:18,634.634 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:23:18,636.636 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-08-29 23:23:19,032.032 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:23:19,033.033 INFO    ] Checking for system updates...
[2026-08-29 23:23:19,055.055 INFO    ] 200
[2026-08-29 23:23:19,057.057 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:23:19,087.087 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:23:19,089.089 INFO    ] No update needed
[2026-08-29 23:23:19,090.090 INFO    ] Checking for camera pi updates...
[2026-08-29 23:23:19,109.109 INFO    ] 200
[2026-08-29 23:23:19,111.111 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:23:19,136.136 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:23:19,222.222 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:23:19,225.225 INFO    ] No camera update needed
[2026-08-29 23:23:19,228.228 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:23:19,230.230 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:23:19,236.236 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:23:19,242.242 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:23:21,283.283 INFO    ] ================================================
[2026-08-29 23:23:21,298.298 INFO    ] Launching Daemon at Sat Aug 29 23:23:21 IST 2026
[2026-08-29 23:23:21,309.309 INFO    ] ================================================
[2026-08-29 23:23:21,960.960 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:23:21
[2026-08-29 23:23:22,451.451 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:23:22,589.589 INFO    ] Initializing speech engine...
[2026-08-29 23:23:22,603.603 INFO    ] 2026-08-29 23:23:22
[2026-08-29 23:23:22,815.815 INFO    ] 2026-08-29 23:23:22
[2026-08-29 23:23:22,843.843 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:23:22,971.971 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:23:23,029.029 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:23:23,191.191 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:23:23,249.249 INFO    ] time= 29/08/2026 23:23:23
[2026-08-29 23:23:23,279.279 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:23:23,349.349 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:23:23,456.456 INFO    ] No existing commands found in stream
[2026-08-29 23:23:28,467.467 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:23:28,470.470 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-08-29 23:23:31,834.834 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:23:31,837.837 INFO    ] Checking for system updates...
[2026-08-29 23:23:31,877.877 INFO    ] 200
[2026-08-29 23:23:31,880.880 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:23:31,939.939 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:23:31,942.942 INFO    ] No update needed
[2026-08-29 23:23:31,946.946 INFO    ] Checking for camera pi updates...
[2026-08-29 23:23:31,988.988 INFO    ] 200
[2026-08-29 23:23:31,991.991 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:23:32,042.042 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:23:32,140.140 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:23:32,143.143 INFO    ] No camera update needed
[2026-08-29 23:23:32,146.146 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:23:32,149.149 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:23:32,156.156 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:23:32,162.162 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:23:34,206.206 INFO    ] ================================================
[2026-08-29 23:23:34,221.221 INFO    ] Launching Daemon at Sat Aug 29 23:23:34 IST 2026
[2026-08-29 23:23:34,232.232 INFO    ] ================================================
[2026-08-29 23:23:34,801.801 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:23:34
[2026-08-29 23:23:35,149.149 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:23:35,291.291 INFO    ] Initializing speech engine...
[2026-08-29 23:23:35,296.296 INFO    ] 2026-08-29 23:23:35
[2026-08-29 23:23:35,498.498 INFO    ] 2026-08-29 23:23:35
[2026-08-29 23:23:35,527.527 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:23:35,641.641 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:23:35,649.649 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:23:35,802.802 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:23:35,847.847 INFO    ] time= 29/08/2026 23:23:35
[2026-08-29 23:23:35,854.854 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:23:35,872.872 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:23:35,977.977 INFO    ] No existing commands found in stream
[2026-08-29 23:23:41,008.008 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:23:41,010.010 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-08-29 23:23:44,622.622 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:23:44,624.624 INFO    ] Checking for system updates...
[2026-08-29 23:23:44,645.645 INFO    ] 200
[2026-08-29 23:23:44,647.647 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:23:44,679.679 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:23:44,681.681 INFO    ] No update needed
[2026-08-29 23:23:44,682.682 INFO    ] Checking for camera pi updates...
[2026-08-29 23:23:44,703.703 INFO    ] 200
[2026-08-29 23:23:44,704.704 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:23:44,731.731 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:23:44,807.807 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:23:44,808.808 INFO    ] No camera update needed
[2026-08-29 23:23:44,810.810 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:23:44,811.811 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:23:44,814.814 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:23:44,817.817 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:23:46,858.858 INFO    ] ================================================
[2026-08-29 23:23:46,873.873 INFO    ] Launching Daemon at Sat Aug 29 23:23:46 IST 2026
[2026-08-29 23:23:46,884.884 INFO    ] ================================================
[2026-08-29 23:23:47,244.244 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:23:47
[2026-08-29 23:23:47,686.686 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:23:47,958.958 INFO    ] Initializing speech engine...
[2026-08-29 23:23:47,967.967 INFO    ] 2026-08-29 23:23:47
[2026-08-29 23:23:48,235.235 INFO    ] 2026-08-29 23:23:48
[2026-08-29 23:23:48,300.300 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:23:48,457.457 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:23:48,472.472 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:23:48,595.595 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:23:48,600.600 INFO    ] time= 29/08/2026 23:23:48
[2026-08-29 23:23:48,621.621 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:23:48,641.641 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:23:48,723.723 INFO    ] No existing commands found in stream
[2026-08-29 23:23:53,733.733 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:23:53,736.736 INFO    ] Waiting 0.00 seconds before fallback handling...
[2026-08-29 23:23:54,070.070 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:23:54,071.071 INFO    ] Checking for system updates...
[2026-08-29 23:23:54,092.092 INFO    ] 200
[2026-08-29 23:23:54,093.093 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:23:54,123.123 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:23:54,124.124 INFO    ] No update needed
[2026-08-29 23:23:54,125.125 INFO    ] Checking for camera pi updates...
[2026-08-29 23:23:54,145.145 INFO    ] 200
[2026-08-29 23:23:54,146.146 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:23:54,168.168 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:23:54,258.258 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:23:54,259.259 INFO    ] No camera update needed
[2026-08-29 23:23:54,260.260 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:23:54,261.261 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:23:54,264.264 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:23:54,267.267 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:23:56,307.307 INFO    ] ================================================
[2026-08-29 23:23:56,322.322 INFO    ] Launching Daemon at Sat Aug 29 23:23:56 IST 2026
[2026-08-29 23:23:56,333.333 INFO    ] ================================================
[2026-08-29 23:23:56,903.903 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:23:56
[2026-08-29 23:23:57,490.490 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:23:57,670.670 INFO    ] Initializing speech engine...
[2026-08-29 23:23:57,679.679 INFO    ] 2026-08-29 23:23:57
[2026-08-29 23:23:57,894.894 INFO    ] 2026-08-29 23:23:57
[2026-08-29 23:23:57,925.925 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:23:58,055.055 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:23:58,079.079 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:23:58,248.248 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:23:58,267.267 INFO    ] time= 29/08/2026 23:23:58
[2026-08-29 23:23:58,318.318 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:23:58,352.352 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:23:58,449.449 INFO    ] No existing commands found in stream
[2026-08-29 23:24:03,459.459 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:24:03,462.462 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-08-29 23:24:06,831.831 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:24:06,832.832 INFO    ] Checking for system updates...
[2026-08-29 23:24:06,855.855 INFO    ] 200
[2026-08-29 23:24:06,857.857 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:24:06,887.887 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:24:06,888.888 INFO    ] No update needed
[2026-08-29 23:24:06,889.889 INFO    ] Checking for camera pi updates...
[2026-08-29 23:24:06,910.910 INFO    ] 200
[2026-08-29 23:24:06,911.911 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:24:06,934.934 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:24:07,033.033 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:24:07,035.035 INFO    ] No camera update needed
[2026-08-29 23:24:07,038.038 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:24:07,040.040 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:24:07,045.045 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:24:07,050.050 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:24:09,093.093 INFO    ] ================================================
[2026-08-29 23:24:09,108.108 INFO    ] Launching Daemon at Sat Aug 29 23:24:09 IST 2026
[2026-08-29 23:24:09,119.119 INFO    ] ================================================
[2026-08-29 23:24:09,704.704 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:24:09
[2026-08-29 23:24:10,200.200 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:24:10,344.344 INFO    ] Initializing speech engine...
[2026-08-29 23:24:10,349.349 INFO    ] 2026-08-29 23:24:10
[2026-08-29 23:24:10,546.546 INFO    ] 2026-08-29 23:24:10
[2026-08-29 23:24:10,625.625 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:24:10,773.773 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:24:10,782.782 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:24:10,916.916 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:24:10,968.968 INFO    ] time= 29/08/2026 23:24:10
[2026-08-29 23:24:11,012.012 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:24:11,049.049 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:24:11,103.103 INFO    ] No existing commands found in stream
[2026-08-29 23:24:16,116.116 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:24:16,119.119 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-08-29 23:24:19,662.662 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:24:19,664.664 INFO    ] Checking for system updates...
[2026-08-29 23:24:19,684.684 INFO    ] 200
[2026-08-29 23:24:19,686.686 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:24:19,715.715 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:24:19,716.716 INFO    ] No update needed
[2026-08-29 23:24:19,718.718 INFO    ] Checking for camera pi updates...
[2026-08-29 23:24:19,737.737 INFO    ] 200
[2026-08-29 23:24:19,738.738 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:24:19,763.763 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:24:19,839.839 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:24:19,841.841 INFO    ] No camera update needed
[2026-08-29 23:24:19,842.842 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:24:19,843.843 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:24:19,846.846 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:24:19,849.849 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:24:21,890.890 INFO    ] ================================================
[2026-08-29 23:24:21,905.905 INFO    ] Launching Daemon at Sat Aug 29 23:24:21 IST 2026
[2026-08-29 23:24:21,916.916 INFO    ] ================================================
[2026-08-29 23:24:22,252.252 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:24:22
[2026-08-29 23:24:22,570.570 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:24:22,704.704 INFO    ] Initializing speech engine...
[2026-08-29 23:24:22,709.709 INFO    ] 2026-08-29 23:24:22
[2026-08-29 23:24:22,907.907 INFO    ] 2026-08-29 23:24:22
[2026-08-29 23:24:22,948.948 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:24:23,078.078 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:24:23,088.088 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:24:23,239.239 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:24:23,251.251 INFO    ] time= 29/08/2026 23:24:23
[2026-08-29 23:24:23,310.310 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:24:23,369.369 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:24:23,428.428 INFO    ] No existing commands found in stream
[2026-08-29 23:24:28,440.440 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:24:28,443.443 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-08-29 23:24:31,984.984 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:24:31,987.987 INFO    ] Checking for system updates...
[2026-08-29 23:24:32,027.027 INFO    ] 200
[2026-08-29 23:24:32,029.029 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:24:32,087.087 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:24:32,089.089 INFO    ] No update needed
[2026-08-29 23:24:32,092.092 INFO    ] Checking for camera pi updates...
[2026-08-29 23:24:32,135.135 INFO    ] 200
[2026-08-29 23:24:32,137.137 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:24:32,183.183 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:24:32,301.301 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:24:32,304.304 INFO    ] No camera update needed
[2026-08-29 23:24:32,306.306 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:24:32,309.309 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:24:32,315.315 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:24:32,320.320 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:24:34,363.363 INFO    ] ================================================
[2026-08-29 23:24:34,378.378 INFO    ] Launching Daemon at Sat Aug 29 23:24:34 IST 2026
[2026-08-29 23:24:34,389.389 INFO    ] ================================================
[2026-08-29 23:24:35,030.030 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:24:35
[2026-08-29 23:24:35,373.373 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:24:35,525.525 INFO    ] Initializing speech engine...
[2026-08-29 23:24:35,530.530 INFO    ] 2026-08-29 23:24:35
[2026-08-29 23:24:35,739.739 INFO    ] 2026-08-29 23:24:35
[2026-08-29 23:24:35,768.768 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:24:35,905.905 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:24:35,914.914 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:24:36,097.097 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:24:36,118.118 INFO    ] time= 29/08/2026 23:24:36
[2026-08-29 23:24:36,137.137 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:24:36,166.166 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:24:36,273.273 INFO    ] No existing commands found in stream
[2026-08-29 23:24:41,290.290 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:24:41,293.293 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-08-29 23:24:41,635.635 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:24:41,637.637 INFO    ] Checking for system updates...
[2026-08-29 23:24:41,658.658 INFO    ] 200
[2026-08-29 23:24:41,660.660 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:24:41,693.693 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:24:41,694.694 INFO    ] No update needed
[2026-08-29 23:24:41,696.696 INFO    ] Checking for camera pi updates...
[2026-08-29 23:24:41,716.716 INFO    ] 200
[2026-08-29 23:24:41,717.717 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:24:41,742.742 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:24:41,919.919 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:24:41,921.921 INFO    ] No camera update needed
[2026-08-29 23:24:41,923.923 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:24:41,924.924 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:24:41,927.927 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:24:41,930.930 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:24:43,971.971 INFO    ] ================================================
[2026-08-29 23:24:43,986.986 INFO    ] Launching Daemon at Sat Aug 29 23:24:43 IST 2026
[2026-08-29 23:24:44,997.997 INFO    ] ================================================
[2026-08-29 23:24:44,593.593 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:24:44
[2026-08-29 23:24:45,283.283 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:24:45,606.606 INFO    ] Initializing speech engine...
[2026-08-29 23:24:45,614.614 INFO    ] 2026-08-29 23:24:45
[2026-08-29 23:24:45,899.899 INFO    ] 2026-08-29 23:24:45
[2026-08-29 23:24:46,011.011 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:24:46,166.166 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:24:46,172.172 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:24:47,301.301 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:24:47,305.305 INFO    ] time= 29/08/2026 23:24:47
[2026-08-29 23:24:47,310.310 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:24:47,317.317 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:24:47,366.366 INFO    ] No existing commands found in stream
[2026-08-29 23:24:52,375.375 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:24:52,378.378 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-08-29 23:24:54,598.598 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:24:54,602.602 INFO    ] Checking for system updates...
[2026-08-29 23:24:54,639.639 INFO    ] 200
[2026-08-29 23:24:54,642.642 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:24:54,682.682 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:24:54,683.683 INFO    ] No update needed
[2026-08-29 23:24:54,685.685 INFO    ] Checking for camera pi updates...
[2026-08-29 23:24:54,707.707 INFO    ] 200
[2026-08-29 23:24:54,709.709 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:24:54,736.736 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:24:54,828.828 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:24:54,831.831 INFO    ] No camera update needed
[2026-08-29 23:24:54,834.834 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:24:54,837.837 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:24:54,844.844 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:24:54,851.851 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:24:56,893.893 INFO    ] ================================================
[2026-08-29 23:24:56,909.909 INFO    ] Launching Daemon at Sat Aug 29 23:24:56 IST 2026
[2026-08-29 23:24:56,920.920 INFO    ] ================================================
[2026-08-29 23:24:57,593.593 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:24:57
[2026-08-29 23:24:57,988.988 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:24:58,322.322 INFO    ] Initializing speech engine...
[2026-08-29 23:24:58,328.328 INFO    ] 2026-08-29 23:24:58
[2026-08-29 23:24:58,611.611 INFO    ] 2026-08-29 23:24:58
[2026-08-29 23:24:58,649.649 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:24:58,836.836 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:24:58,857.857 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:24:58,991.991 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:24:58,999.999 INFO    ] time= 29/08/2026 23:24:58
[2026-08-29 23:24:59,011.011 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:24:59,075.075 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:24:59,185.185 INFO    ] No existing commands found in stream
[2026-08-29 23:25:04,214.214 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:25:04,218.218 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-08-29 23:25:05,030.030 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:25:05,031.031 INFO    ] Checking for system updates...
[2026-08-29 23:25:05,059.059 INFO    ] 200
[2026-08-29 23:25:05,063.063 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:25:05,129.129 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:25:05,133.133 INFO    ] No update needed
[2026-08-29 23:25:05,136.136 INFO    ] Checking for camera pi updates...
[2026-08-29 23:25:05,181.181 INFO    ] 200
[2026-08-29 23:25:05,184.184 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:25:05,227.227 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:25:05,316.316 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:25:05,318.318 INFO    ] No camera update needed
[2026-08-29 23:25:05,322.322 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:25:05,324.324 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:25:05,330.330 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:25:05,337.337 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:25:07,378.378 INFO    ] ================================================
[2026-08-29 23:25:07,393.393 INFO    ] Launching Daemon at Sat Aug 29 23:25:07 IST 2026
[2026-08-29 23:25:07,408.408 INFO    ] ================================================
[2026-08-29 23:25:07,992.992 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:25:07
[2026-08-29 23:25:08,595.595 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:25:08,872.872 INFO    ] Initializing speech engine...
[2026-08-29 23:25:08,881.881 INFO    ] 2026-08-29 23:25:08
[2026-08-29 23:25:09,144.144 INFO    ] 2026-08-29 23:25:09
[2026-08-29 23:25:09,190.190 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:25:09,336.336 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:25:09,401.401 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:25:09,531.531 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:25:09,592.592 INFO    ] time= 29/08/2026 23:25:09
[2026-08-29 23:25:09,630.630 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:25:09,636.636 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:25:09,702.702 INFO    ] No existing commands found in stream
[2026-08-29 23:25:14,713.713 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:25:14,716.716 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-08-29 23:25:18,434.434 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:25:18,436.436 INFO    ] Checking for system updates...
[2026-08-29 23:25:18,456.456 INFO    ] 200
[2026-08-29 23:25:18,457.457 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:25:18,488.488 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:25:18,489.489 INFO    ] No update needed
[2026-08-29 23:25:18,490.490 INFO    ] Checking for camera pi updates...
[2026-08-29 23:25:18,509.509 INFO    ] 200
[2026-08-29 23:25:18,510.510 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:25:18,533.533 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:25:18,634.634 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:25:18,636.636 INFO    ] No camera update needed
[2026-08-29 23:25:18,637.637 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:25:18,638.638 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:25:18,641.641 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:25:18,643.643 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:25:20,681.681 INFO    ] ================================================
[2026-08-29 23:25:20,696.696 INFO    ] Launching Daemon at Sat Aug 29 23:25:20 IST 2026
[2026-08-29 23:25:20,707.707 INFO    ] ================================================
[2026-08-29 23:25:21,071.071 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:25:21
[2026-08-29 23:25:21,387.387 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:25:21,528.528 INFO    ] Initializing speech engine...
[2026-08-29 23:25:21,538.538 INFO    ] 2026-08-29 23:25:21
[2026-08-29 23:25:21,743.743 INFO    ] 2026-08-29 23:25:21
[2026-08-29 23:25:21,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:25:21,894.894 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:25:21,940.940 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:25:22,095.095 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:25:22,162.162 INFO    ] time= 29/08/2026 23:25:22
[2026-08-29 23:25:22,185.185 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:25:22,192.192 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:25:22,259.259 INFO    ] No existing commands found in stream
[2026-08-29 23:25:27,268.268 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:25:27,270.270 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-08-29 23:25:29,334.334 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:25:29,336.336 INFO    ] Checking for system updates...
[2026-08-29 23:25:29,356.356 INFO    ] 200
[2026-08-29 23:25:29,358.358 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:25:29,390.390 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:25:29,392.392 INFO    ] No update needed
[2026-08-29 23:25:29,393.393 INFO    ] Checking for camera pi updates...
[2026-08-29 23:25:29,412.412 INFO    ] 200
[2026-08-29 23:25:29,413.413 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:25:29,436.436 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:25:29,516.516 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:25:29,517.517 INFO    ] No camera update needed
[2026-08-29 23:25:29,518.518 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:25:29,519.519 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:25:29,522.522 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:25:29,525.525 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:25:31,556.556 INFO    ] ================================================
[2026-08-29 23:25:31,565.565 INFO    ] Launching Daemon at Sat Aug 29 23:25:31 IST 2026
[2026-08-29 23:25:31,574.574 INFO    ] ================================================
[2026-08-29 23:25:32,210.210 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:25:32
[2026-08-29 23:25:32,902.902 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:25:33,204.204 INFO    ] Initializing speech engine...
[2026-08-29 23:25:33,217.217 INFO    ] 2026-08-29 23:25:33
[2026-08-29 23:25:33,527.527 INFO    ] 2026-08-29 23:25:33
[2026-08-29 23:25:33,613.613 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:25:33,769.769 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:25:33,774.774 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:25:33,909.909 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:25:33,959.959 INFO    ] time= 29/08/2026 23:25:33
[2026-08-29 23:25:34,030.030 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:25:34,046.046 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:25:34,178.178 INFO    ] No existing commands found in stream
[2026-08-29 23:25:39,203.203 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:25:39,206.206 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-08-29 23:25:43,510.510 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:25:43,511.511 INFO    ] Checking for system updates...
[2026-08-29 23:25:43,532.532 INFO    ] 200
[2026-08-29 23:25:43,534.534 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:25:43,564.564 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:25:43,565.565 INFO    ] No update needed
[2026-08-29 23:25:43,566.566 INFO    ] Checking for camera pi updates...
[2026-08-29 23:25:43,586.586 INFO    ] 200
[2026-08-29 23:25:43,587.587 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:25:43,610.610 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:25:43,686.686 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:25:43,688.688 INFO    ] No camera update needed
[2026-08-29 23:25:43,689.689 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:25:43,690.690 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:25:43,693.693 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:25:43,696.696 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:25:45,736.736 INFO    ] ================================================
[2026-08-29 23:25:45,751.751 INFO    ] Launching Daemon at Sat Aug 29 23:25:45 IST 2026
[2026-08-29 23:25:45,762.762 INFO    ] ================================================
[2026-08-29 23:25:46,125.125 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:25:46
[2026-08-29 23:25:46,438.438 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:25:46,572.572 INFO    ] Initializing speech engine...
[2026-08-29 23:25:46,584.584 INFO    ] 2026-08-29 23:25:46
[2026-08-29 23:25:46,794.794 INFO    ] 2026-08-29 23:25:46
[2026-08-29 23:25:46,823.823 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:25:46,947.947 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:25:46,999.999 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:25:47,146.146 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:25:47,202.202 INFO    ] time= 29/08/2026 23:25:47
[2026-08-29 23:25:47,237.237 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:25:47,252.252 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:25:47,318.318 INFO    ] No existing commands found in stream
[2026-08-29 23:25:52,329.329 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:25:52,331.331 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-08-29 23:25:54,897.897 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:25:54,898.898 INFO    ] Checking for system updates...
[2026-08-29 23:25:54,919.919 INFO    ] 200
[2026-08-29 23:25:54,920.920 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:25:54,952.952 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:25:54,954.954 INFO    ] No update needed
[2026-08-29 23:25:54,955.955 INFO    ] Checking for camera pi updates...
[2026-08-29 23:25:54,974.974 INFO    ] 200
[2026-08-29 23:25:54,975.975 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:25:54,998.998 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:25:55,079.079 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:25:55,080.080 INFO    ] No camera update needed
[2026-08-29 23:25:55,081.081 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:25:55,083.083 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:25:55,086.086 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:25:55,088.088 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:25:57,128.128 INFO    ] ================================================
[2026-08-29 23:25:57,143.143 INFO    ] Launching Daemon at Sat Aug 29 23:25:57 IST 2026
[2026-08-29 23:25:57,154.154 INFO    ] ================================================
[2026-08-29 23:25:57,512.512 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:25:57
[2026-08-29 23:25:57,826.826 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:25:57,959.959 INFO    ] Initializing speech engine...
[2026-08-29 23:25:57,961.961 INFO    ] 2026-08-29 23:25:57
[2026-08-29 23:25:58,181.181 INFO    ] 2026-08-29 23:25:58
[2026-08-29 23:25:58,222.222 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:25:58,317.317 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:25:58,320.320 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:25:58,427.427 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:25:58,436.436 INFO    ] time= 29/08/2026 23:25:58
[2026-08-29 23:25:58,441.441 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:25:58,457.457 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:25:58,544.544 INFO    ] No existing commands found in stream
[2026-08-29 23:26:03,564.564 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:26:03,567.567 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-08-29 23:26:04,939.939 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:26:04,940.940 INFO    ] Checking for system updates...
[2026-08-29 23:26:04,961.961 INFO    ] 200
[2026-08-29 23:26:04,962.962 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:26:04,992.992 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:26:04,993.993 INFO    ] No update needed
[2026-08-29 23:26:04,995.995 INFO    ] Checking for camera pi updates...
[2026-08-29 23:26:05,016.016 INFO    ] 200
[2026-08-29 23:26:05,018.018 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:26:05,042.042 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:26:05,124.124 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:26:05,125.125 INFO    ] No camera update needed
[2026-08-29 23:26:05,126.126 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:26:05,128.128 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:26:05,130.130 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:26:05,134.134 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:26:07,175.175 INFO    ] ================================================
[2026-08-29 23:26:07,190.190 INFO    ] Launching Daemon at Sat Aug 29 23:26:07 IST 2026
[2026-08-29 23:26:07,201.201 INFO    ] ================================================
[2026-08-29 23:26:07,576.576 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:26:07
[2026-08-29 23:26:07,893.893 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:26:08,078.078 INFO    ] Initializing speech engine...
[2026-08-29 23:26:08,100.100 INFO    ] 2026-08-29 23:26:08
[2026-08-29 23:26:08,356.356 INFO    ] 2026-08-29 23:26:08
[2026-08-29 23:26:08,392.392 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:26:08,564.564 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:26:08,576.576 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:26:08,718.718 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:26:08,725.725 INFO    ] time= 29/08/2026 23:26:08
[2026-08-29 23:26:08,729.729 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:26:08,735.735 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:26:08,803.803 INFO    ] No existing commands found in stream
[2026-08-29 23:26:13,833.833 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:26:13,836.836 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-08-29 23:26:15,518.518 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:26:15,519.519 INFO    ] Checking for system updates...
[2026-08-29 23:26:15,540.540 INFO    ] 200
[2026-08-29 23:26:15,542.542 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:26:15,574.574 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:26:15,575.575 INFO    ] No update needed
[2026-08-29 23:26:15,576.576 INFO    ] Checking for camera pi updates...
[2026-08-29 23:26:15,596.596 INFO    ] 200
[2026-08-29 23:26:15,597.597 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:26:15,620.620 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:26:15,707.707 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:26:15,708.708 INFO    ] No camera update needed
[2026-08-29 23:26:15,709.709 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:26:15,711.711 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:26:15,714.714 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:26:15,717.717 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:26:17,756.756 INFO    ] ================================================
[2026-08-29 23:26:17,772.772 INFO    ] Launching Daemon at Sat Aug 29 23:26:17 IST 2026
[2026-08-29 23:26:17,784.784 INFO    ] ================================================
[2026-08-29 23:26:18,303.303 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:26:18
[2026-08-29 23:26:18,906.906 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:26:19,172.172 INFO    ] Initializing speech engine...
[2026-08-29 23:26:19,190.190 INFO    ] 2026-08-29 23:26:19
[2026-08-29 23:26:19,442.442 INFO    ] 2026-08-29 23:26:19
[2026-08-29 23:26:19,478.478 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:26:19,645.645 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:26:19,647.647 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:26:19,766.766 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:26:19,771.771 INFO    ] time= 29/08/2026 23:26:19
[2026-08-29 23:26:19,794.794 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:26:19,801.801 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:26:19,856.856 INFO    ] No existing commands found in stream
[2026-08-29 23:26:24,873.873 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:26:24,876.876 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-08-29 23:26:27,030.030 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:26:27,031.031 INFO    ] Checking for system updates...
[2026-08-29 23:26:27,053.053 INFO    ] 200
[2026-08-29 23:26:27,054.054 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:26:27,087.087 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:26:27,088.088 INFO    ] No update needed
[2026-08-29 23:26:27,090.090 INFO    ] Checking for camera pi updates...
[2026-08-29 23:26:27,111.111 INFO    ] 200
[2026-08-29 23:26:27,113.113 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:26:27,136.136 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:26:27,225.225 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:26:27,227.227 INFO    ] No camera update needed
[2026-08-29 23:26:27,228.228 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:26:27,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:26:27,232.232 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:26:27,235.235 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:26:29,273.273 INFO    ] ================================================
[2026-08-29 23:26:29,289.289 INFO    ] Launching Daemon at Sat Aug 29 23:26:29 IST 2026
[2026-08-29 23:26:29,300.300 INFO    ] ================================================
[2026-08-29 23:26:29,678.678 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:26:29
[2026-08-29 23:26:30,018.018 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:26:30,168.168 INFO    ] Initializing speech engine...
[2026-08-29 23:26:30,173.173 INFO    ] 2026-08-29 23:26:30
[2026-08-29 23:26:30,381.381 INFO    ] 2026-08-29 23:26:30
[2026-08-29 23:26:30,413.413 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:26:30,536.536 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:26:30,599.599 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:26:30,738.738 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:26:30,805.805 INFO    ] time= 29/08/2026 23:26:30
[2026-08-29 23:26:30,829.829 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:26:30,836.836 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:26:30,901.901 INFO    ] No existing commands found in stream
[2026-08-29 23:26:35,913.913 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:26:35,916.916 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-08-29 23:26:37,004.004 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:26:37,006.006 INFO    ] Checking for system updates...
[2026-08-29 23:26:37,028.028 INFO    ] 200
[2026-08-29 23:26:37,029.029 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:26:37,063.063 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:26:37,064.064 INFO    ] No update needed
[2026-08-29 23:26:37,065.065 INFO    ] Checking for camera pi updates...
[2026-08-29 23:26:37,085.085 INFO    ] 200
[2026-08-29 23:26:37,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:26:37,110.110 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:26:37,209.209 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:26:37,211.211 INFO    ] No camera update needed
[2026-08-29 23:26:37,217.217 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:26:37,219.219 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:26:37,222.222 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:26:37,226.226 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:26:39,267.267 INFO    ] ================================================
[2026-08-29 23:26:39,283.283 INFO    ] Launching Daemon at Sat Aug 29 23:26:39 IST 2026
[2026-08-29 23:26:39,295.295 INFO    ] ================================================
[2026-08-29 23:26:39,684.684 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:26:39
[2026-08-29 23:26:40,002.002 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:26:40,147.147 INFO    ] Initializing speech engine...
[2026-08-29 23:26:40,151.151 INFO    ] 2026-08-29 23:26:40
[2026-08-29 23:26:40,355.355 INFO    ] 2026-08-29 23:26:40
[2026-08-29 23:26:40,384.384 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:26:40,506.506 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:26:40,568.568 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:26:40,707.707 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:26:40,771.771 INFO    ] time= 29/08/2026 23:26:40
[2026-08-29 23:26:40,797.797 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:26:40,799.799 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:26:40,870.870 INFO    ] No existing commands found in stream
[2026-08-29 23:26:45,880.880 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:26:45,884.884 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-08-29 23:26:48,819.819 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:26:48,820.820 INFO    ] Checking for system updates...
[2026-08-29 23:26:48,841.841 INFO    ] 200
[2026-08-29 23:26:48,842.842 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:26:48,873.873 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:26:48,874.874 INFO    ] No update needed
[2026-08-29 23:26:48,875.875 INFO    ] Checking for camera pi updates...
[2026-08-29 23:26:48,897.897 INFO    ] 200
[2026-08-29 23:26:48,898.898 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:26:48,921.921 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:26:48,995.995 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:26:48,997.997 INFO    ] No camera update needed
[2026-08-29 23:26:48,998.998 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:26:48,999.999 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:26:49,002.002 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:26:49,005.005 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:26:51,045.045 INFO    ] ================================================
[2026-08-29 23:26:51,060.060 INFO    ] Launching Daemon at Sat Aug 29 23:26:51 IST 2026
[2026-08-29 23:26:51,071.071 INFO    ] ================================================
[2026-08-29 23:26:51,402.402 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:26:51
[2026-08-29 23:26:51,715.715 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:26:51,857.857 INFO    ] Initializing speech engine...
[2026-08-29 23:26:51,862.862 INFO    ] 2026-08-29 23:26:51
[2026-08-29 23:26:52,066.066 INFO    ] 2026-08-29 23:26:52
[2026-08-29 23:26:52,094.094 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:26:52,217.217 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:26:52,224.224 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:26:52,385.385 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:26:52,425.425 INFO    ] time= 29/08/2026 23:26:52
[2026-08-29 23:26:52,431.431 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:26:52,452.452 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:26:52,560.560 INFO    ] No existing commands found in stream
[2026-08-29 23:26:57,585.585 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:26:57,587.587 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-08-29 23:26:58,026.026 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:26:58,027.027 INFO    ] Checking for system updates...
[2026-08-29 23:26:58,048.048 INFO    ] 200
[2026-08-29 23:26:58,049.049 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:26:58,080.080 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:26:58,081.081 INFO    ] No update needed
[2026-08-29 23:26:58,083.083 INFO    ] Checking for camera pi updates...
[2026-08-29 23:26:58,102.102 INFO    ] 200
[2026-08-29 23:26:58,103.103 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:26:58,126.126 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:26:58,200.200 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:26:58,202.202 INFO    ] No camera update needed
[2026-08-29 23:26:58,203.203 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:26:58,204.204 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:26:58,207.207 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:26:58,210.210 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:27:00,249.249 INFO    ] ================================================
[2026-08-29 23:27:00,265.265 INFO    ] Launching Daemon at Sat Aug 29 23:27:00 IST 2026
[2026-08-29 23:27:00,275.275 INFO    ] ================================================
[2026-08-29 23:27:00,792.792 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:27:00
[2026-08-29 23:27:01,527.527 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:27:01,868.868 INFO    ] Initializing speech engine...
[2026-08-29 23:27:01,877.877 INFO    ] 2026-08-29 23:27:01
[2026-08-29 23:27:02,163.163 INFO    ] 2026-08-29 23:27:02
[2026-08-29 23:27:02,227.227 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:27:02,385.385 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:27:02,399.399 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:27:02,518.518 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:27:02,525.525 INFO    ] time= 29/08/2026 23:27:02
[2026-08-29 23:27:02,547.547 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:27:02,574.574 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:27:02,657.657 INFO    ] No existing commands found in stream
[2026-08-29 23:27:07,679.679 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:27:07,682.682 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-08-29 23:27:09,433.433 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:27:09,434.434 INFO    ] Checking for system updates...
[2026-08-29 23:27:09,455.455 INFO    ] 200
[2026-08-29 23:27:09,456.456 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:27:09,487.487 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:27:09,488.488 INFO    ] No update needed
[2026-08-29 23:27:09,490.490 INFO    ] Checking for camera pi updates...
[2026-08-29 23:27:09,509.509 INFO    ] 200
[2026-08-29 23:27:09,511.511 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:27:09,535.535 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:27:09,641.641 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:27:09,643.643 INFO    ] No camera update needed
[2026-08-29 23:27:09,644.644 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:27:09,645.645 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:27:09,649.649 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:27:09,652.652 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:27:11,690.690 INFO    ] ================================================
[2026-08-29 23:27:11,705.705 INFO    ] Launching Daemon at Sat Aug 29 23:27:11 IST 2026
[2026-08-29 23:27:11,716.716 INFO    ] ================================================
[2026-08-29 23:27:12,071.071 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:27:12
[2026-08-29 23:27:12,415.415 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:27:12,567.567 INFO    ] Initializing speech engine...
[2026-08-29 23:27:12,571.571 INFO    ] 2026-08-29 23:27:12
[2026-08-29 23:27:12,774.774 INFO    ] 2026-08-29 23:27:12
[2026-08-29 23:27:12,804.804 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:27:12,939.939 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:27:13,008.008 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:27:13,123.123 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:27:13,131.131 INFO    ] time= 29/08/2026 23:27:13
[2026-08-29 23:27:13,137.137 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:27:13,193.193 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:27:13,294.294 INFO    ] No existing commands found in stream
[2026-08-29 23:27:18,326.326 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:27:18,329.329 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-08-29 23:27:21,181.181 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:27:21,183.183 INFO    ] Checking for system updates...
[2026-08-29 23:27:21,204.204 INFO    ] 200
[2026-08-29 23:27:21,205.205 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:27:21,237.237 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:27:21,239.239 INFO    ] No update needed
[2026-08-29 23:27:21,240.240 INFO    ] Checking for camera pi updates...
[2026-08-29 23:27:21,263.263 INFO    ] 200
[2026-08-29 23:27:21,264.264 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:27:21,288.288 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:27:21,396.396 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:27:21,397.397 INFO    ] No camera update needed
[2026-08-29 23:27:21,399.399 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:27:21,400.400 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:27:21,403.403 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:27:21,406.406 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:27:23,445.445 INFO    ] ================================================
[2026-08-29 23:27:23,473.473 INFO    ] Launching Daemon at Sat Aug 29 23:27:23 IST 2026
[2026-08-29 23:27:23,484.484 INFO    ] ================================================
[2026-08-29 23:27:23,984.984 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:27:23
[2026-08-29 23:27:24,567.567 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:27:24,816.816 INFO    ] Initializing speech engine...
[2026-08-29 23:27:24,838.838 INFO    ] 2026-08-29 23:27:24
[2026-08-29 23:27:25,089.089 INFO    ] 2026-08-29 23:27:25
[2026-08-29 23:27:25,123.123 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:27:25,298.298 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:27:25,310.310 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:27:25,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:27:25,459.459 INFO    ] time= 29/08/2026 23:27:25
[2026-08-29 23:27:25,465.465 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:27:25,470.470 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:27:25,613.613 INFO    ] No existing commands found in stream
[2026-08-29 23:27:30,644.644 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:27:30,646.646 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-08-29 23:27:34,616.616 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:27:34,618.618 INFO    ] Checking for system updates...
[2026-08-29 23:27:34,655.655 INFO    ] 200
[2026-08-29 23:27:34,658.658 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:27:34,717.717 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:27:34,720.720 INFO    ] No update needed
[2026-08-29 23:27:34,722.722 INFO    ] Checking for camera pi updates...
[2026-08-29 23:27:34,756.756 INFO    ] 200
[2026-08-29 23:27:34,759.759 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:27:34,799.799 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:27:34,899.899 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:27:34,901.901 INFO    ] No camera update needed
[2026-08-29 23:27:34,904.904 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:27:34,906.906 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:27:34,909.909 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:27:34,912.912 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:27:36,952.952 INFO    ] ================================================
[2026-08-29 23:27:36,967.967 INFO    ] Launching Daemon at Sat Aug 29 23:27:36 IST 2026
[2026-08-29 23:27:36,978.978 INFO    ] ================================================
[2026-08-29 23:27:37,337.337 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:27:37
[2026-08-29 23:27:37,653.653 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:27:37,788.788 INFO    ] Initializing speech engine...
[2026-08-29 23:27:37,792.792 INFO    ] 2026-08-29 23:27:37
[2026-08-29 23:27:38,020.020 INFO    ] 2026-08-29 23:27:37
[2026-08-29 23:27:38,115.115 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:27:38,276.276 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:27:38,291.291 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:27:38,442.442 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:27:38,450.450 INFO    ] time= 29/08/2026 23:27:38
[2026-08-29 23:27:38,504.504 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:27:38,558.558 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:27:38,621.621 INFO    ] No existing commands found in stream
[2026-08-29 23:27:43,632.632 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:27:43,635.635 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-08-29 23:27:44,095.095 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:27:44,096.096 INFO    ] Checking for system updates...
[2026-08-29 23:27:44,119.119 INFO    ] 200
[2026-08-29 23:27:44,120.120 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:27:44,153.153 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:27:44,154.154 INFO    ] No update needed
[2026-08-29 23:27:44,156.156 INFO    ] Checking for camera pi updates...
[2026-08-29 23:27:44,175.175 INFO    ] 200
[2026-08-29 23:27:44,177.177 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:27:44,201.201 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:27:44,250.250 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:27:44,251.251 INFO    ] No camera update needed
[2026-08-29 23:27:44,253.253 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:27:44,254.254 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:27:44,257.257 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:27:44,260.260 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:27:46,299.299 INFO    ] ================================================
[2026-08-29 23:27:46,315.315 INFO    ] Launching Daemon at Sat Aug 29 23:27:46 IST 2026
[2026-08-29 23:27:46,326.326 INFO    ] ================================================
[2026-08-29 23:27:46,796.796 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:27:46
[2026-08-29 23:27:47,382.382 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:27:47,640.640 INFO    ] Initializing speech engine...
[2026-08-29 23:27:47,646.646 INFO    ] 2026-08-29 23:27:47
[2026-08-29 23:27:47,947.947 INFO    ] 2026-08-29 23:27:47
[2026-08-29 23:27:47,981.981 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:27:48,132.132 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:27:48,139.139 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:27:48,291.291 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:27:48,301.301 INFO    ] time= 29/08/2026 23:27:48
[2026-08-29 23:27:48,306.306 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:27:48,311.311 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:27:48,381.381 INFO    ] No existing commands found in stream
[2026-08-29 23:27:53,394.394 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:27:53,396.396 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-08-29 23:27:56,081.081 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:27:56,083.083 INFO    ] Checking for system updates...
[2026-08-29 23:27:56,103.103 INFO    ] 200
[2026-08-29 23:27:56,104.104 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:27:56,139.139 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:27:56,140.140 INFO    ] No update needed
[2026-08-29 23:27:56,141.141 INFO    ] Checking for camera pi updates...
[2026-08-29 23:27:56,161.161 INFO    ] 200
[2026-08-29 23:27:56,162.162 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:27:56,188.188 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:27:56,285.285 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:27:56,286.286 INFO    ] No camera update needed
[2026-08-29 23:27:56,287.287 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:27:56,288.288 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:27:56,291.291 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:27:56,294.294 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:27:58,335.335 INFO    ] ================================================
[2026-08-29 23:27:58,350.350 INFO    ] Launching Daemon at Sat Aug 29 23:27:58 IST 2026
[2026-08-29 23:27:58,361.361 INFO    ] ================================================
[2026-08-29 23:27:58,694.694 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:27:58
[2026-08-29 23:27:59,012.012 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:27:59,217.217 INFO    ] Initializing speech engine...
[2026-08-29 23:27:59,224.224 INFO    ] 2026-08-29 23:27:59
[2026-08-29 23:27:59,500.500 INFO    ] 2026-08-29 23:27:59
[2026-08-29 23:27:59,544.544 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:27:59,764.764 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:27:59,774.774 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:27:59,906.906 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:27:59,932.932 INFO    ] time= 29/08/2026 23:27:59
[2026-08-29 23:27:59,982.982 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:28:00,037.037 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:28:00,094.094 INFO    ] No existing commands found in stream
[2026-08-29 23:28:05,106.106 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:28:05,108.108 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-08-29 23:28:08,458.458 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:28:08,460.460 INFO    ] Checking for system updates...
[2026-08-29 23:28:08,481.481 INFO    ] 200
[2026-08-29 23:28:08,482.482 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:28:08,515.515 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:28:08,516.516 INFO    ] No update needed
[2026-08-29 23:28:08,518.518 INFO    ] Checking for camera pi updates...
[2026-08-29 23:28:08,540.540 INFO    ] 200
[2026-08-29 23:28:08,541.541 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:28:08,565.565 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:28:08,644.644 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:28:08,646.646 INFO    ] No camera update needed
[2026-08-29 23:28:08,648.648 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:28:08,649.649 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:28:08,653.653 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:28:08,656.656 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:28:10,696.696 INFO    ] ================================================
[2026-08-29 23:28:10,711.711 INFO    ] Launching Daemon at Sat Aug 29 23:28:10 IST 2026
[2026-08-29 23:28:10,721.721 INFO    ] ================================================
[2026-08-29 23:28:11,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:28:11
[2026-08-29 23:28:11,416.416 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:28:11,568.568 INFO    ] Initializing speech engine...
[2026-08-29 23:28:11,574.574 INFO    ] 2026-08-29 23:28:11
[2026-08-29 23:28:11,782.782 INFO    ] 2026-08-29 23:28:11
[2026-08-29 23:28:11,809.809 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:28:11,948.948 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:28:11,997.997 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:28:12,134.134 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:28:12,193.193 INFO    ] time= 29/08/2026 23:28:12
[2026-08-29 23:28:12,226.226 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:28:12,228.228 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:28:12,299.299 INFO    ] No existing commands found in stream
[2026-08-29 23:28:17,310.310 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:28:17,313.313 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-08-29 23:28:18,929.929 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:28:18,930.930 INFO    ] Checking for system updates...
[2026-08-29 23:28:18,951.951 INFO    ] 200
[2026-08-29 23:28:18,953.953 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:28:18,983.983 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:28:18,984.984 INFO    ] No update needed
[2026-08-29 23:28:18,985.985 INFO    ] Checking for camera pi updates...
[2026-08-29 23:28:19,006.006 INFO    ] 200
[2026-08-29 23:28:19,007.007 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:28:19,030.030 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:28:19,109.109 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:28:19,110.110 INFO    ] No camera update needed
[2026-08-29 23:28:19,111.111 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:28:19,113.113 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:28:19,116.116 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:28:19,118.118 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:28:21,156.156 INFO    ] ================================================
[2026-08-29 23:28:21,171.171 INFO    ] Launching Daemon at Sat Aug 29 23:28:21 IST 2026
[2026-08-29 23:28:21,181.181 INFO    ] ================================================
[2026-08-29 23:28:21,566.566 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:28:21
[2026-08-29 23:28:21,909.909 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:28:22,064.064 INFO    ] Initializing speech engine...
[2026-08-29 23:28:22,068.068 INFO    ] 2026-08-29 23:28:22
[2026-08-29 23:28:22,281.281 INFO    ] 2026-08-29 23:28:22
[2026-08-29 23:28:22,364.364 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:28:22,518.518 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:28:22,528.528 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:28:22,667.667 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:28:22,679.679 INFO    ] time= 29/08/2026 23:28:22
[2026-08-29 23:28:22,739.739 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:28:22,805.805 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:28:22,861.861 INFO    ] No existing commands found in stream
[2026-08-29 23:28:27,873.873 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:28:27,877.877 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-08-29 23:28:31,996.996 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:28:31,999.999 INFO    ] Checking for system updates...
[2026-08-29 23:28:32,046.046 INFO    ] 200
[2026-08-29 23:28:32,050.050 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:28:32,108.108 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:28:32,112.112 INFO    ] No update needed
[2026-08-29 23:28:32,116.116 INFO    ] Checking for camera pi updates...
[2026-08-29 23:28:32,157.157 INFO    ] 200
[2026-08-29 23:28:32,160.160 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:28:32,213.213 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:28:32,336.336 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:28:32,340.340 INFO    ] No camera update needed
[2026-08-29 23:28:32,343.343 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:28:32,346.346 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:28:32,355.355 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:28:32,359.359 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:28:34,399.399 INFO    ] ================================================
[2026-08-29 23:28:34,415.415 INFO    ] Launching Daemon at Sat Aug 29 23:28:34 IST 2026
[2026-08-29 23:28:34,425.425 INFO    ] ================================================
[2026-08-29 23:28:34,963.963 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:28:34
[2026-08-29 23:28:35,282.282 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:28:35,422.422 INFO    ] Initializing speech engine...
[2026-08-29 23:28:35,431.431 INFO    ] 2026-08-29 23:28:35
[2026-08-29 23:28:35,636.636 INFO    ] 2026-08-29 23:28:35
[2026-08-29 23:28:35,666.666 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:28:35,788.788 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:28:35,851.851 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:28:35,982.982 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:28:36,038.038 INFO    ] time= 29/08/2026 23:28:35
[2026-08-29 23:28:36,077.077 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:28:36,082.082 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:28:36,155.155 INFO    ] No existing commands found in stream
[2026-08-29 23:28:41,164.164 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:28:41,167.167 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-08-29 23:28:43,535.535 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:28:43,536.536 INFO    ] Checking for system updates...
[2026-08-29 23:28:43,558.558 INFO    ] 200
[2026-08-29 23:28:43,559.559 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:28:43,589.589 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:28:43,591.591 INFO    ] No update needed
[2026-08-29 23:28:43,592.592 INFO    ] Checking for camera pi updates...
[2026-08-29 23:28:43,613.613 INFO    ] 200
[2026-08-29 23:28:43,615.615 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:28:43,640.640 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:28:43,739.739 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:28:43,740.740 INFO    ] No camera update needed
[2026-08-29 23:28:43,742.742 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:28:43,743.743 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:28:43,747.747 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:28:43,750.750 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:28:45,788.788 INFO    ] ================================================
[2026-08-29 23:28:45,803.803 INFO    ] Launching Daemon at Sat Aug 29 23:28:45 IST 2026
[2026-08-29 23:28:45,813.813 INFO    ] ================================================
[2026-08-29 23:28:46,427.427 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:28:46
[2026-08-29 23:28:47,014.014 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:28:47,294.294 INFO    ] Initializing speech engine...
[2026-08-29 23:28:47,307.307 INFO    ] 2026-08-29 23:28:47
[2026-08-29 23:28:47,589.589 INFO    ] 2026-08-29 23:28:47
[2026-08-29 23:28:47,634.634 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:28:47,813.813 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:28:47,832.832 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:28:47,958.958 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:28:47,967.967 INFO    ] time= 29/08/2026 23:28:47
[2026-08-29 23:28:47,975.975 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:28:48,020.020 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:28:48,128.128 INFO    ] No existing commands found in stream
[2026-08-29 23:28:53,160.160 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:28:53,163.163 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-08-29 23:28:56,068.068 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:28:56,069.069 INFO    ] Checking for system updates...
[2026-08-29 23:28:56,091.091 INFO    ] 200
[2026-08-29 23:28:56,093.093 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:28:56,128.128 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:28:56,130.130 INFO    ] No update needed
[2026-08-29 23:28:56,131.131 INFO    ] Checking for camera pi updates...
[2026-08-29 23:28:56,154.154 INFO    ] 200
[2026-08-29 23:28:56,155.155 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:28:56,180.180 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:28:56,379.379 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:28:56,380.380 INFO    ] No camera update needed
[2026-08-29 23:28:56,381.381 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:28:56,382.382 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:28:56,385.385 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:28:56,388.388 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:28:58,426.426 INFO    ] ================================================
[2026-08-29 23:28:58,442.442 INFO    ] Launching Daemon at Sat Aug 29 23:28:58 IST 2026
[2026-08-29 23:28:58,452.452 INFO    ] ================================================
[2026-08-29 23:28:58,786.786 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:28:58
[2026-08-29 23:28:59,097.097 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:28:59,250.250 INFO    ] Initializing speech engine...
[2026-08-29 23:28:59,267.267 INFO    ] 2026-08-29 23:28:59
[2026-08-29 23:28:59,524.524 INFO    ] 2026-08-29 23:28:59
[2026-08-29 23:28:59,565.565 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:28:59,738.738 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:28:59,751.751 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:28:59,896.896 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:28:59,907.907 INFO    ] time= 29/08/2026 23:28:59
[2026-08-29 23:28:59,915.915 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:28:59,978.978 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:29:00,095.095 INFO    ] No existing commands found in stream
[2026-08-29 23:29:05,120.120 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:29:05,123.123 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-08-29 23:29:06,070.070 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:29:06,073.073 INFO    ] Checking for system updates...
[2026-08-29 23:29:06,110.110 INFO    ] 200
[2026-08-29 23:29:06,113.113 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:29:06,168.168 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:29:06,170.170 INFO    ] No update needed
[2026-08-29 23:29:06,173.173 INFO    ] Checking for camera pi updates...
[2026-08-29 23:29:06,208.208 INFO    ] 200
[2026-08-29 23:29:06,210.210 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:29:06,253.253 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:29:06,341.341 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:29:06,344.344 INFO    ] No camera update needed
[2026-08-29 23:29:06,347.347 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:29:06,349.349 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:29:06,355.355 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:29:06,361.361 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:29:08,403.403 INFO    ] ================================================
[2026-08-29 23:29:08,418.418 INFO    ] Launching Daemon at Sat Aug 29 23:29:08 IST 2026
[2026-08-29 23:29:08,429.429 INFO    ] ================================================
[2026-08-29 23:29:09,082.082 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:29:09
[2026-08-29 23:29:09,636.636 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:29:09,787.787 INFO    ] Initializing speech engine...
[2026-08-29 23:29:09,793.793 INFO    ] 2026-08-29 23:29:09
[2026-08-29 23:29:10,006.006 INFO    ] 2026-08-29 23:29:09
[2026-08-29 23:29:10,035.035 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:29:10,160.160 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:29:10,223.223 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:29:10,365.365 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:29:10,444.444 INFO    ] time= 29/08/2026 23:29:10
[2026-08-29 23:29:10,477.477 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:29:10,518.518 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:29:10,656.656 INFO    ] No existing commands found in stream
[2026-08-29 23:29:15,686.686 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:29:15,689.689 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-08-29 23:29:17,454.454 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:29:17,455.455 INFO    ] Checking for system updates...
[2026-08-29 23:29:17,476.476 INFO    ] 200
[2026-08-29 23:29:17,477.477 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:29:17,512.512 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:29:17,513.513 INFO    ] No update needed
[2026-08-29 23:29:17,514.514 INFO    ] Checking for camera pi updates...
[2026-08-29 23:29:17,534.534 INFO    ] 200
[2026-08-29 23:29:17,535.535 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:29:17,558.558 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:29:17,633.633 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:29:17,634.634 INFO    ] No camera update needed
[2026-08-29 23:29:17,636.636 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:29:17,637.637 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:29:17,640.640 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:29:17,643.643 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:29:19,680.680 INFO    ] ================================================
[2026-08-29 23:29:19,696.696 INFO    ] Launching Daemon at Sat Aug 29 23:29:19 IST 2026
[2026-08-29 23:29:19,707.707 INFO    ] ================================================
[2026-08-29 23:29:20,065.065 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:29:20
[2026-08-29 23:29:20,404.404 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:29:20,555.555 INFO    ] Initializing speech engine...
[2026-08-29 23:29:20,561.561 INFO    ] 2026-08-29 23:29:20
[2026-08-29 23:29:20,768.768 INFO    ] 2026-08-29 23:29:20
[2026-08-29 23:29:20,796.796 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:29:20,919.919 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:29:20,957.957 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:29:21,120.120 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:29:21,186.186 INFO    ] time= 29/08/2026 23:29:21
[2026-08-29 23:29:21,210.210 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:29:21,217.217 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:29:21,282.282 INFO    ] No existing commands found in stream
[2026-08-29 23:29:26,293.293 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:29:26,297.297 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-08-29 23:29:29,182.182 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:29:29,183.183 INFO    ] Checking for system updates...
[2026-08-29 23:29:29,205.205 INFO    ] 200
[2026-08-29 23:29:29,207.207 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:29:29,237.237 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:29:29,241.241 INFO    ] No update needed
[2026-08-29 23:29:29,243.243 INFO    ] Checking for camera pi updates...
[2026-08-29 23:29:29,263.263 INFO    ] 200
[2026-08-29 23:29:29,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:29:29,287.287 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:29:29,384.384 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:29:29,385.385 INFO    ] No camera update needed
[2026-08-29 23:29:29,387.387 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:29:29,388.388 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:29:29,390.390 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:29:29,393.393 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:29:31,424.424 INFO    ] ================================================
[2026-08-29 23:29:31,433.433 INFO    ] Launching Daemon at Sat Aug 29 23:29:31 IST 2026
[2026-08-29 23:29:31,440.440 INFO    ] ================================================
[2026-08-29 23:29:32,000.000 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:29:31
[2026-08-29 23:29:32,624.624 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:29:32,902.902 INFO    ] Initializing speech engine...
[2026-08-29 23:29:32,908.908 INFO    ] 2026-08-29 23:29:32
[2026-08-29 23:29:33,165.165 INFO    ] 2026-08-29 23:29:33
[2026-08-29 23:29:33,224.224 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:29:33,388.388 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:29:33,395.395 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:29:33,525.525 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:29:33,533.533 INFO    ] time= 29/08/2026 23:29:33
[2026-08-29 23:29:33,577.577 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:29:33,598.598 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:29:33,716.716 INFO    ] No existing commands found in stream
[2026-08-29 23:29:38,735.735 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:29:38,738.738 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-08-29 23:29:42,167.167 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:29:42,168.168 INFO    ] Checking for system updates...
[2026-08-29 23:29:42,189.189 INFO    ] 200
[2026-08-29 23:29:42,190.190 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:29:42,220.220 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:29:42,222.222 INFO    ] No update needed
[2026-08-29 23:29:42,223.223 INFO    ] Checking for camera pi updates...
[2026-08-29 23:29:42,243.243 INFO    ] 200
[2026-08-29 23:29:42,244.244 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:29:42,268.268 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:29:42,342.342 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:29:42,344.344 INFO    ] No camera update needed
[2026-08-29 23:29:42,345.345 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:29:42,346.346 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:29:42,350.350 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:29:42,353.353 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:29:44,391.391 INFO    ] ================================================
[2026-08-29 23:29:44,407.407 INFO    ] Launching Daemon at Sat Aug 29 23:29:44 IST 2026
[2026-08-29 23:29:44,418.418 INFO    ] ================================================
[2026-08-29 23:29:44,762.762 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:29:44
[2026-08-29 23:29:45,106.106 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:29:45,253.253 INFO    ] Initializing speech engine...
[2026-08-29 23:29:45,264.264 INFO    ] 2026-08-29 23:29:45
[2026-08-29 23:29:45,480.480 INFO    ] 2026-08-29 23:29:45
[2026-08-29 23:29:45,509.509 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:29:45,634.634 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:29:45,697.697 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:29:45,834.834 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:29:45,901.901 INFO    ] time= 29/08/2026 23:29:45
[2026-08-29 23:29:45,930.930 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:29:45,937.937 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:29:46,003.003 INFO    ] No existing commands found in stream
[2026-08-29 23:29:51,014.014 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:29:51,017.017 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-08-29 23:29:53,889.889 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:29:53,890.890 INFO    ] Checking for system updates...
[2026-08-29 23:29:53,911.911 INFO    ] 200
[2026-08-29 23:29:53,913.913 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:29:53,943.943 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:29:53,945.945 INFO    ] No update needed
[2026-08-29 23:29:53,946.946 INFO    ] Checking for camera pi updates...
[2026-08-29 23:29:53,965.965 INFO    ] 200
[2026-08-29 23:29:53,967.967 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:29:53,992.992 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:29:54,093.093 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:29:54,094.094 INFO    ] No camera update needed
[2026-08-29 23:29:54,096.096 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:29:54,097.097 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:29:54,100.100 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:29:54,103.103 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:29:56,143.143 INFO    ] ================================================
[2026-08-29 23:29:56,158.158 INFO    ] Launching Daemon at Sat Aug 29 23:29:56 IST 2026
[2026-08-29 23:29:56,168.168 INFO    ] ================================================
[2026-08-29 23:29:56,536.536 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:29:56
[2026-08-29 23:29:56,892.892 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:29:57,142.142 INFO    ] Initializing speech engine...
[2026-08-29 23:29:57,154.154 INFO    ] 2026-08-29 23:29:57
[2026-08-29 23:29:57,422.422 INFO    ] 2026-08-29 23:29:57
[2026-08-29 23:29:57,458.458 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:29:57,635.635 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:29:57,649.649 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:29:57,794.794 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:29:57,801.801 INFO    ] time= 29/08/2026 23:29:57
[2026-08-29 23:29:57,809.809 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:29:57,855.855 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:29:57,974.974 INFO    ] No existing commands found in stream
[2026-08-29 23:30:03,005.005 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:30:03,009.009 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-08-29 23:30:07,350.350 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:30:07,352.352 INFO    ] Checking for system updates...
[2026-08-29 23:30:07,378.378 INFO    ] 200
[2026-08-29 23:30:07,380.380 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:30:07,437.437 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:30:07,439.439 INFO    ] No update needed
[2026-08-29 23:30:07,442.442 INFO    ] Checking for camera pi updates...
[2026-08-29 23:30:07,481.481 INFO    ] 200
[2026-08-29 23:30:07,484.484 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:30:07,524.524 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:30:07,631.631 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:30:07,634.634 INFO    ] No camera update needed
[2026-08-29 23:30:07,637.637 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:30:07,639.639 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:30:07,646.646 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:30:07,652.652 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:30:09,693.693 INFO    ] ================================================
[2026-08-29 23:30:09,708.708 INFO    ] Launching Daemon at Sat Aug 29 23:30:09 IST 2026
[2026-08-29 23:30:09,719.719 INFO    ] ================================================
[2026-08-29 23:30:10,354.354 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:30:10
[2026-08-29 23:30:10,747.747 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:30:10,890.890 INFO    ] Initializing speech engine...
[2026-08-29 23:30:10,895.895 INFO    ] 2026-08-29 23:30:10
[2026-08-29 23:30:11,093.093 INFO    ] 2026-08-29 23:30:11
[2026-08-29 23:30:11,172.172 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:30:11,319.319 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:30:11,327.327 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:30:11,460.460 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:30:11,497.497 INFO    ] time= 29/08/2026 23:30:11
[2026-08-29 23:30:11,551.551 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:30:11,594.594 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:30:11,645.645 INFO    ] No existing commands found in stream
[2026-08-29 23:30:16,657.657 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:30:16,660.660 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-08-29 23:30:17,638.638 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:30:17,640.640 INFO    ] Checking for system updates...
[2026-08-29 23:30:17,660.660 INFO    ] 200
[2026-08-29 23:30:17,662.662 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:30:17,692.692 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:30:17,694.694 INFO    ] No update needed
[2026-08-29 23:30:17,695.695 INFO    ] Checking for camera pi updates...
[2026-08-29 23:30:17,716.716 INFO    ] 200
[2026-08-29 23:30:17,718.718 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:30:17,743.743 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:30:17,833.833 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:30:17,835.835 INFO    ] No camera update needed
[2026-08-29 23:30:17,836.836 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:30:17,837.837 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:30:17,840.840 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:30:17,843.843 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:30:19,884.884 INFO    ] ================================================
[2026-08-29 23:30:19,900.900 INFO    ] Launching Daemon at Sat Aug 29 23:30:19 IST 2026
[2026-08-29 23:30:19,911.911 INFO    ] ================================================
[2026-08-29 23:30:20,276.276 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:30:20
[2026-08-29 23:30:20,591.591 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:30:20,726.726 INFO    ] Initializing speech engine...
[2026-08-29 23:30:20,738.738 INFO    ] 2026-08-29 23:30:20
[2026-08-29 23:30:20,977.977 INFO    ] 2026-08-29 23:30:20
[2026-08-29 23:30:21,042.042 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:30:21,213.213 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:30:21,218.218 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:30:21,378.378 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:30:21,421.421 INFO    ] time= 29/08/2026 23:30:21
[2026-08-29 23:30:21,428.428 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:30:21,446.446 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:30:21,560.560 INFO    ] No existing commands found in stream
[2026-08-29 23:30:26,585.585 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:30:26,588.588 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-08-29 23:30:28,602.602 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:30:28,604.604 INFO    ] Checking for system updates...
[2026-08-29 23:30:28,625.625 INFO    ] 200
[2026-08-29 23:30:28,626.626 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:30:28,658.658 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:30:28,659.659 INFO    ] No update needed
[2026-08-29 23:30:28,661.661 INFO    ] Checking for camera pi updates...
[2026-08-29 23:30:28,684.684 INFO    ] 200
[2026-08-29 23:30:28,686.686 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:30:28,729.729 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:30:28,814.814 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:30:28,817.817 INFO    ] No camera update needed
[2026-08-29 23:30:28,820.820 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:30:28,822.822 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:30:28,829.829 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:30:28,835.835 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:30:30,877.877 INFO    ] ================================================
[2026-08-29 23:30:30,894.894 INFO    ] Launching Daemon at Sat Aug 29 23:30:30 IST 2026
[2026-08-29 23:30:30,905.905 INFO    ] ================================================
[2026-08-29 23:30:31,475.475 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:30:31
[2026-08-29 23:30:31,943.943 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:30:32,216.216 INFO    ] Initializing speech engine...
[2026-08-29 23:30:32,224.224 INFO    ] 2026-08-29 23:30:32
[2026-08-29 23:30:32,505.505 INFO    ] 2026-08-29 23:30:32
[2026-08-29 23:30:32,549.549 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:30:32,758.758 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:30:32,777.777 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:30:32,913.913 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:30:32,920.920 INFO    ] time= 29/08/2026 23:30:32
[2026-08-29 23:30:32,941.941 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:30:32,945.945 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:30:33,021.021 INFO    ] No existing commands found in stream
[2026-08-29 23:30:38,052.052 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:30:38,055.055 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-08-29 23:30:39,621.621 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:30:39,622.622 INFO    ] Checking for system updates...
[2026-08-29 23:30:39,643.643 INFO    ] 200
[2026-08-29 23:30:39,644.644 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:30:39,677.677 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:30:39,678.678 INFO    ] No update needed
[2026-08-29 23:30:39,680.680 INFO    ] Checking for camera pi updates...
[2026-08-29 23:30:39,700.700 INFO    ] 200
[2026-08-29 23:30:39,702.702 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:30:39,725.725 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:30:39,829.829 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:30:39,832.832 INFO    ] No camera update needed
[2026-08-29 23:30:39,834.834 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:30:39,836.836 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:30:39,842.842 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:30:39,847.847 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:30:41,887.887 INFO    ] ================================================
[2026-08-29 23:30:41,904.904 INFO    ] Launching Daemon at Sat Aug 29 23:30:41 IST 2026
[2026-08-29 23:30:41,915.915 INFO    ] ================================================
[2026-08-29 23:30:42,591.591 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:30:42
[2026-08-29 23:30:43,095.095 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:30:43,252.252 INFO    ] Initializing speech engine...
[2026-08-29 23:30:43,256.256 INFO    ] 2026-08-29 23:30:43
[2026-08-29 23:30:43,482.482 INFO    ] 2026-08-29 23:30:43
[2026-08-29 23:30:43,517.517 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:30:43,697.697 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:30:43,712.712 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:30:43,843.843 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:30:43,853.853 INFO    ] time= 29/08/2026 23:30:43
[2026-08-29 23:30:43,858.858 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:30:43,863.863 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:30:43,930.930 INFO    ] No existing commands found in stream
[2026-08-29 23:30:48,942.942 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:30:48,945.945 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-08-29 23:30:50,430.430 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:30:50,431.431 INFO    ] Checking for system updates...
[2026-08-29 23:30:50,452.452 INFO    ] 200
[2026-08-29 23:30:50,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:30:50,483.483 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:30:50,484.484 INFO    ] No update needed
[2026-08-29 23:30:50,485.485 INFO    ] Checking for camera pi updates...
[2026-08-29 23:30:50,506.506 INFO    ] 200
[2026-08-29 23:30:50,507.507 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:30:50,530.530 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:30:50,604.604 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:30:50,606.606 INFO    ] No camera update needed
[2026-08-29 23:30:50,607.607 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:30:50,608.608 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:30:50,611.611 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:30:50,614.614 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:30:52,654.654 INFO    ] ================================================
[2026-08-29 23:30:52,670.670 INFO    ] Launching Daemon at Sat Aug 29 23:30:52 IST 2026
[2026-08-29 23:30:52,682.682 INFO    ] ================================================
[2026-08-29 23:30:53,029.029 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:30:53
[2026-08-29 23:30:53,341.341 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:30:53,476.476 INFO    ] Initializing speech engine...
[2026-08-29 23:30:53,504.504 INFO    ] 2026-08-29 23:30:53
[2026-08-29 23:30:53,764.764 INFO    ] 2026-08-29 23:30:53
[2026-08-29 23:30:53,817.817 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:30:54,043.043 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:30:54,053.053 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:30:54,188.188 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:30:54,214.214 INFO    ] time= 29/08/2026 23:30:54
[2026-08-29 23:30:54,269.269 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:30:54,323.323 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:30:54,377.377 INFO    ] No existing commands found in stream
[2026-08-29 23:30:59,389.389 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:30:59,392.392 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-08-29 23:31:00,372.372 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:31:00,373.373 INFO    ] Checking for system updates...
[2026-08-29 23:31:00,395.395 INFO    ] 200
[2026-08-29 23:31:00,397.397 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:31:00,427.427 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:31:00,428.428 INFO    ] No update needed
[2026-08-29 23:31:00,429.429 INFO    ] Checking for camera pi updates...
[2026-08-29 23:31:00,449.449 INFO    ] 200
[2026-08-29 23:31:00,452.452 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:31:00,493.493 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:31:00,689.689 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:31:00,691.691 INFO    ] No camera update needed
[2026-08-29 23:31:00,693.693 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:31:00,696.696 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:31:00,701.701 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:31:00,706.706 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:31:02,757.757 INFO    ] ================================================
[2026-08-29 23:31:02,775.775 INFO    ] Launching Daemon at Sat Aug 29 23:31:02 IST 2026
[2026-08-29 23:31:02,788.788 INFO    ] ================================================
[2026-08-29 23:31:03,434.434 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:31:03
[2026-08-29 23:31:03,933.933 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:31:04,180.180 INFO    ] Initializing speech engine...
[2026-08-29 23:31:04,188.188 INFO    ] 2026-08-29 23:31:04
[2026-08-29 23:31:04,465.465 INFO    ] 2026-08-29 23:31:04
[2026-08-29 23:31:04,499.499 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:31:04,678.678 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:31:04,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:31:04,837.837 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:31:04,844.844 INFO    ] time= 29/08/2026 23:31:04
[2026-08-29 23:31:04,851.851 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:31:04,896.896 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:31:05,017.017 INFO    ] No existing commands found in stream
[2026-08-29 23:31:10,042.042 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:31:10,045.045 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-08-29 23:31:12,609.609 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:31:12,610.610 INFO    ] Checking for system updates...
[2026-08-29 23:31:12,633.633 INFO    ] 200
[2026-08-29 23:31:12,634.634 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:31:12,666.666 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:31:12,667.667 INFO    ] No update needed
[2026-08-29 23:31:12,669.669 INFO    ] Checking for camera pi updates...
[2026-08-29 23:31:12,688.688 INFO    ] 200
[2026-08-29 23:31:12,690.690 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:31:12,713.713 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:31:12,805.805 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:31:12,806.806 INFO    ] No camera update needed
[2026-08-29 23:31:12,807.807 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:31:12,808.808 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:31:12,811.811 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:31:12,814.814 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:31:14,855.855 INFO    ] ================================================
[2026-08-29 23:31:14,871.871 INFO    ] Launching Daemon at Sat Aug 29 23:31:14 IST 2026
[2026-08-29 23:31:14,881.881 INFO    ] ================================================
[2026-08-29 23:31:15,244.244 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:31:15
[2026-08-29 23:31:15,560.560 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:31:15,705.705 INFO    ] Initializing speech engine...
[2026-08-29 23:31:15,711.711 INFO    ] 2026-08-29 23:31:15
[2026-08-29 23:31:15,941.941 INFO    ] 2026-08-29 23:31:15
[2026-08-29 23:31:16,003.003 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:31:16,137.137 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:31:16,156.156 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:31:16,335.335 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:31:16,395.395 INFO    ] time= 29/08/2026 23:31:16
[2026-08-29 23:31:16,417.417 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:31:16,429.429 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:31:16,550.550 INFO    ] No existing commands found in stream
[2026-08-29 23:31:21,571.571 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:31:21,574.574 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-08-29 23:31:24,410.410 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:31:24,411.411 INFO    ] Checking for system updates...
[2026-08-29 23:31:24,433.433 INFO    ] 200
[2026-08-29 23:31:24,434.434 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:31:24,465.465 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:31:24,466.466 INFO    ] No update needed
[2026-08-29 23:31:24,468.468 INFO    ] Checking for camera pi updates...
[2026-08-29 23:31:24,487.487 INFO    ] 200
[2026-08-29 23:31:24,488.488 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:31:24,511.511 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:31:24,620.620 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:31:24,622.622 INFO    ] No camera update needed
[2026-08-29 23:31:24,623.623 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:31:24,625.625 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:31:24,627.627 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:31:24,630.630 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:31:26,672.672 INFO    ] ================================================
[2026-08-29 23:31:26,688.688 INFO    ] Launching Daemon at Sat Aug 29 23:31:26 IST 2026
[2026-08-29 23:31:26,699.699 INFO    ] ================================================
[2026-08-29 23:31:27,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:31:27
[2026-08-29 23:31:27,357.357 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:31:27,495.495 INFO    ] Initializing speech engine...
[2026-08-29 23:31:27,504.504 INFO    ] 2026-08-29 23:31:27
[2026-08-29 23:31:27,711.711 INFO    ] 2026-08-29 23:31:27
[2026-08-29 23:31:27,740.740 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:31:27,867.867 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:31:27,875.875 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:31:28,041.041 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:31:28,078.078 INFO    ] time= 29/08/2026 23:31:28
[2026-08-29 23:31:28,084.084 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:31:28,105.105 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:31:28,211.211 INFO    ] No existing commands found in stream
[2026-08-29 23:31:33,242.242 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:31:33,244.244 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-08-29 23:31:36,617.617 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:31:36,618.618 INFO    ] Checking for system updates...
[2026-08-29 23:31:36,640.640 INFO    ] 200
[2026-08-29 23:31:36,642.642 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:31:36,675.675 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:31:36,676.676 INFO    ] No update needed
[2026-08-29 23:31:36,677.677 INFO    ] Checking for camera pi updates...
[2026-08-29 23:31:36,697.697 INFO    ] 200
[2026-08-29 23:31:36,698.698 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:31:36,721.721 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:31:36,816.816 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:31:36,817.817 INFO    ] No camera update needed
[2026-08-29 23:31:36,818.818 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:31:36,819.819 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:31:36,822.822 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:31:36,825.825 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:31:38,864.864 INFO    ] ================================================
[2026-08-29 23:31:38,881.881 INFO    ] Launching Daemon at Sat Aug 29 23:31:38 IST 2026
[2026-08-29 23:31:38,893.893 INFO    ] ================================================
[2026-08-29 23:31:39,246.246 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:31:39
[2026-08-29 23:31:39,590.590 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:31:39,733.733 INFO    ] Initializing speech engine...
[2026-08-29 23:31:39,738.738 INFO    ] 2026-08-29 23:31:39
[2026-08-29 23:31:39,943.943 INFO    ] 2026-08-29 23:31:39
[2026-08-29 23:31:39,972.972 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:31:40,096.096 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:31:40,144.144 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:31:40,298.298 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:31:40,368.368 INFO    ] time= 29/08/2026 23:31:40
[2026-08-29 23:31:40,393.393 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:31:40,399.399 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:31:40,467.467 INFO    ] No existing commands found in stream
[2026-08-29 23:31:45,476.476 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:31:45,478.478 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-08-29 23:31:49,423.423 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:31:49,424.424 INFO    ] Checking for system updates...
[2026-08-29 23:31:49,446.446 INFO    ] 200
[2026-08-29 23:31:49,447.447 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:31:49,477.477 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:31:49,478.478 INFO    ] No update needed
[2026-08-29 23:31:49,479.479 INFO    ] Checking for camera pi updates...
[2026-08-29 23:31:49,501.501 INFO    ] 200
[2026-08-29 23:31:49,502.502 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:31:49,527.527 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:31:49,655.655 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:31:49,657.657 INFO    ] No camera update needed
[2026-08-29 23:31:49,658.658 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:31:49,659.659 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:31:49,662.662 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:31:49,665.665 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:31:51,703.703 INFO    ] ================================================
[2026-08-29 23:31:51,719.719 INFO    ] Launching Daemon at Sat Aug 29 23:31:51 IST 2026
[2026-08-29 23:31:51,731.731 INFO    ] ================================================
[2026-08-29 23:31:52,066.066 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:31:52
[2026-08-29 23:31:52,382.382 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:31:52,676.676 INFO    ] Initializing speech engine...
[2026-08-29 23:31:52,685.685 INFO    ] 2026-08-29 23:31:52
[2026-08-29 23:31:52,944.944 INFO    ] 2026-08-29 23:31:52
[2026-08-29 23:31:52,975.975 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:31:53,157.157 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:31:53,163.163 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:31:53,274.274 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:31:53,280.280 INFO    ] time= 29/08/2026 23:31:53
[2026-08-29 23:31:53,304.304 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:31:53,309.309 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:31:53,361.361 INFO    ] No existing commands found in stream
[2026-08-29 23:31:58,374.374 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:31:58,376.376 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-08-29 23:32:01,119.119 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:32:01,120.120 INFO    ] Checking for system updates...
[2026-08-29 23:32:01,141.141 INFO    ] 200
[2026-08-29 23:32:01,143.143 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:32:01,181.181 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:32:01,183.183 INFO    ] No update needed
[2026-08-29 23:32:01,186.186 INFO    ] Checking for camera pi updates...
[2026-08-29 23:32:01,226.226 INFO    ] 200
[2026-08-29 23:32:01,228.228 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:32:01,284.284 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:32:01,408.408 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:32:01,413.413 INFO    ] No camera update needed
[2026-08-29 23:32:01,417.417 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:32:01,421.421 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:32:01,431.431 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:32:01,439.439 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:32:03,485.485 INFO    ] ================================================
[2026-08-29 23:32:03,501.501 INFO    ] Launching Daemon at Sat Aug 29 23:32:03 IST 2026
[2026-08-29 23:32:03,511.511 INFO    ] ================================================
[2026-08-29 23:32:04,169.169 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:32:04
[2026-08-29 23:32:04,569.569 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:32:04,725.725 INFO    ] Initializing speech engine...
[2026-08-29 23:32:04,729.729 INFO    ] 2026-08-29 23:32:04
[2026-08-29 23:32:04,942.942 INFO    ] 2026-08-29 23:32:04
[2026-08-29 23:32:04,972.972 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:32:05,097.097 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:32:05,155.155 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:32:05,294.294 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:32:05,356.356 INFO    ] time= 29/08/2026 23:32:05
[2026-08-29 23:32:05,395.395 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:32:05,397.397 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:32:05,471.471 INFO    ] No existing commands found in stream
[2026-08-29 23:32:10,480.480 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:32:10,484.484 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-08-29 23:32:13,104.104 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:32:13,106.106 INFO    ] Checking for system updates...
[2026-08-29 23:32:13,128.128 INFO    ] 200
[2026-08-29 23:32:13,129.129 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:32:13,160.160 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:32:13,161.161 INFO    ] No update needed
[2026-08-29 23:32:13,163.163 INFO    ] Checking for camera pi updates...
[2026-08-29 23:32:13,182.182 INFO    ] 200
[2026-08-29 23:32:13,184.184 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:32:13,207.207 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:32:13,288.288 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:32:13,289.289 INFO    ] No camera update needed
[2026-08-29 23:32:13,290.290 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:32:13,292.292 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:32:13,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:32:13,298.298 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:32:15,337.337 INFO    ] ================================================
[2026-08-29 23:32:15,353.353 INFO    ] Launching Daemon at Sat Aug 29 23:32:15 IST 2026
[2026-08-29 23:32:15,364.364 INFO    ] ================================================
[2026-08-29 23:32:15,717.717 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:32:15
[2026-08-29 23:32:16,029.029 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:32:16,236.236 INFO    ] Initializing speech engine...
[2026-08-29 23:32:16,253.253 INFO    ] 2026-08-29 23:32:16
[2026-08-29 23:32:16,503.503 INFO    ] 2026-08-29 23:32:16
[2026-08-29 23:32:16,568.568 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:32:16,711.711 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:32:16,723.723 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:32:16,864.864 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:32:16,873.873 INFO    ] time= 29/08/2026 23:32:16
[2026-08-29 23:32:16,879.879 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:32:16,904.904 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:32:17,024.024 INFO    ] No existing commands found in stream
[2026-08-29 23:32:22,054.054 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:32:22,057.057 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-08-29 23:32:25,189.189 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:32:25,190.190 INFO    ] Checking for system updates...
[2026-08-29 23:32:25,211.211 INFO    ] 200
[2026-08-29 23:32:25,212.212 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:32:25,242.242 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:32:25,243.243 INFO    ] No update needed
[2026-08-29 23:32:25,245.245 INFO    ] Checking for camera pi updates...
[2026-08-29 23:32:25,264.264 INFO    ] 200
[2026-08-29 23:32:25,266.266 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:32:25,291.291 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:32:25,373.373 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:32:25,375.375 INFO    ] No camera update needed
[2026-08-29 23:32:25,376.376 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:32:25,377.377 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:32:25,380.380 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:32:25,383.383 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:32:27,422.422 INFO    ] ================================================
[2026-08-29 23:32:27,438.438 INFO    ] Launching Daemon at Sat Aug 29 23:32:27 IST 2026
[2026-08-29 23:32:27,449.449 INFO    ] ================================================
[2026-08-29 23:32:27,828.828 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:32:27
[2026-08-29 23:32:28,167.167 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:32:28,451.451 INFO    ] Initializing speech engine...
[2026-08-29 23:32:28,464.464 INFO    ] 2026-08-29 23:32:28
[2026-08-29 23:32:28,750.750 INFO    ] 2026-08-29 23:32:28
[2026-08-29 23:32:28,795.795 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:32:29,000.000 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:32:29,027.027 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:32:29,170.170 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:32:29,223.223 INFO    ] time= 29/08/2026 23:32:29
[2026-08-29 23:32:29,293.293 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:32:29,312.312 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:32:29,442.442 INFO    ] No existing commands found in stream
[2026-08-29 23:32:34,471.471 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:32:34,475.475 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-08-29 23:32:36,053.053 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:32:36,055.055 INFO    ] Checking for system updates...
[2026-08-29 23:32:36,076.076 INFO    ] 200
[2026-08-29 23:32:36,077.077 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:32:36,111.111 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:32:36,113.113 INFO    ] No update needed
[2026-08-29 23:32:36,114.114 INFO    ] Checking for camera pi updates...
[2026-08-29 23:32:36,137.137 INFO    ] 200
[2026-08-29 23:32:36,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:32:36,166.166 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:32:36,254.254 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:32:36,256.256 INFO    ] No camera update needed
[2026-08-29 23:32:36,259.259 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:32:36,262.262 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:32:36,268.268 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:32:36,274.274 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:32:38,316.316 INFO    ] ================================================
[2026-08-29 23:32:38,333.333 INFO    ] Launching Daemon at Sat Aug 29 23:32:38 IST 2026
[2026-08-29 23:32:38,344.344 INFO    ] ================================================
[2026-08-29 23:32:38,912.912 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:32:38
[2026-08-29 23:32:39,378.378 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:32:39,531.531 INFO    ] Initializing speech engine...
[2026-08-29 23:32:39,536.536 INFO    ] 2026-08-29 23:32:39
[2026-08-29 23:32:39,746.746 INFO    ] 2026-08-29 23:32:39
[2026-08-29 23:32:39,775.775 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:32:39,897.897 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:32:39,931.931 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:32:40,093.093 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:32:40,141.141 INFO    ] time= 29/08/2026 23:32:40
[2026-08-29 23:32:40,148.148 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:32:40,167.167 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:32:40,287.287 INFO    ] No existing commands found in stream
[2026-08-29 23:32:45,311.311 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:32:45,315.315 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-08-29 23:32:46,790.790 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:32:46,792.792 INFO    ] Checking for system updates...
[2026-08-29 23:32:46,813.813 INFO    ] 200
[2026-08-29 23:32:46,814.814 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:32:46,844.844 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:32:46,845.845 INFO    ] No update needed
[2026-08-29 23:32:46,847.847 INFO    ] Checking for camera pi updates...
[2026-08-29 23:32:46,866.866 INFO    ] 200
[2026-08-29 23:32:46,867.867 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:32:46,892.892 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:32:46,992.992 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:32:46,993.993 INFO    ] No camera update needed
[2026-08-29 23:32:46,995.995 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:32:46,996.996 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:32:46,999.999 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:32:47,002.002 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:32:49,042.042 INFO    ] ================================================
[2026-08-29 23:32:49,058.058 INFO    ] Launching Daemon at Sat Aug 29 23:32:49 IST 2026
[2026-08-29 23:32:49,069.069 INFO    ] ================================================
[2026-08-29 23:32:49,434.434 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:32:49
[2026-08-29 23:32:49,752.752 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:32:49,888.888 INFO    ] Initializing speech engine...
[2026-08-29 23:32:49,892.892 INFO    ] 2026-08-29 23:32:49
[2026-08-29 23:32:50,122.122 INFO    ] 2026-08-29 23:32:50
[2026-08-29 23:32:50,153.153 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:32:50,285.285 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:32:50,323.323 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:32:50,468.468 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:32:50,505.505 INFO    ] time= 29/08/2026 23:32:50
[2026-08-29 23:32:50,568.568 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:32:50,605.605 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:32:50,736.736 INFO    ] No existing commands found in stream
[2026-08-29 23:32:55,761.761 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:32:55,764.764 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-08-29 23:32:57,414.414 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:32:57,415.415 INFO    ] Checking for system updates...
[2026-08-29 23:32:57,436.436 INFO    ] 200
[2026-08-29 23:32:57,438.438 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:32:57,467.467 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:32:57,469.469 INFO    ] No update needed
[2026-08-29 23:32:57,470.470 INFO    ] Checking for camera pi updates...
[2026-08-29 23:32:57,490.490 INFO    ] 200
[2026-08-29 23:32:57,491.491 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:32:57,516.516 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:32:57,596.596 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:32:57,597.597 INFO    ] No camera update needed
[2026-08-29 23:32:57,599.599 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:32:57,600.600 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:32:57,603.603 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:32:57,606.606 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:32:59,645.645 INFO    ] ================================================
[2026-08-29 23:32:59,660.660 INFO    ] Launching Daemon at Sat Aug 29 23:32:59 IST 2026
[2026-08-29 23:32:59,671.671 INFO    ] ================================================
[2026-08-29 23:33:00,021.021 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:33:00
[2026-08-29 23:33:00,335.335 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:33:00,467.467 INFO    ] Initializing speech engine...
[2026-08-29 23:33:00,472.472 INFO    ] 2026-08-29 23:33:00
[2026-08-29 23:33:00,702.702 INFO    ] 2026-08-29 23:33:00
[2026-08-29 23:33:00,733.733 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:33:00,830.830 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:33:00,833.833 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:33:00,965.965 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:33:00,971.971 INFO    ] time= 29/08/2026 23:33:00
[2026-08-29 23:33:01,006.006 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:33:01,040.040 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:33:01,108.108 INFO    ] No existing commands found in stream
[2026-08-29 23:33:06,118.118 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:33:06,120.120 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-08-29 23:33:07,189.189 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:33:07,192.192 INFO    ] Checking for system updates...
[2026-08-29 23:33:07,228.228 INFO    ] 200
[2026-08-29 23:33:07,230.230 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:33:07,282.282 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:33:07,284.284 INFO    ] No update needed
[2026-08-29 23:33:07,287.287 INFO    ] Checking for camera pi updates...
[2026-08-29 23:33:07,320.320 INFO    ] 200
[2026-08-29 23:33:07,323.323 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:33:07,366.366 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:33:07,460.460 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:33:07,463.463 INFO    ] No camera update needed
[2026-08-29 23:33:07,465.465 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:33:07,467.467 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:33:07,473.473 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:33:07,478.478 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:33:09,518.518 INFO    ] ================================================
[2026-08-29 23:33:09,534.534 INFO    ] Launching Daemon at Sat Aug 29 23:33:09 IST 2026
[2026-08-29 23:33:09,545.545 INFO    ] ================================================
[2026-08-29 23:33:09,890.890 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:33:09
[2026-08-29 23:33:10,438.438 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:33:10,717.717 INFO    ] Initializing speech engine...
[2026-08-29 23:33:10,723.723 INFO    ] 2026-08-29 23:33:10
[2026-08-29 23:33:10,987.987 INFO    ] 2026-08-29 23:33:10
[2026-08-29 23:33:11,040.040 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:33:11,263.263 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:33:11,271.271 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:33:11,404.404 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:33:11,426.426 INFO    ] time= 29/08/2026 23:33:11
[2026-08-29 23:33:11,475.475 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:33:11,537.537 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:33:11,589.589 INFO    ] No existing commands found in stream
[2026-08-29 23:33:16,602.602 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:33:16,605.605 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-08-29 23:33:19,443.443 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:33:19,444.444 INFO    ] Checking for system updates...
[2026-08-29 23:33:19,465.465 INFO    ] 200
[2026-08-29 23:33:19,466.466 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:33:19,498.498 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:33:19,500.500 INFO    ] No update needed
[2026-08-29 23:33:19,501.501 INFO    ] Checking for camera pi updates...
[2026-08-29 23:33:19,520.520 INFO    ] 200
[2026-08-29 23:33:19,522.522 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:33:19,545.545 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:33:19,652.652 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:33:19,655.655 INFO    ] No camera update needed
[2026-08-29 23:33:19,657.657 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:33:19,659.659 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:33:19,665.665 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:33:19,670.670 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:33:21,710.710 INFO    ] ================================================
[2026-08-29 23:33:21,725.725 INFO    ] Launching Daemon at Sat Aug 29 23:33:21 IST 2026
[2026-08-29 23:33:21,735.735 INFO    ] ================================================
[2026-08-29 23:33:22,360.360 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:33:22
[2026-08-29 23:33:22,848.848 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:33:22,997.997 INFO    ] Initializing speech engine...
[2026-08-29 23:33:23,004.004 INFO    ] 2026-08-29 23:33:22
[2026-08-29 23:33:23,220.220 INFO    ] 2026-08-29 23:33:23
[2026-08-29 23:33:23,277.277 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:33:23,499.499 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:33:23,509.509 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:33:23,642.642 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:33:23,695.695 INFO    ] time= 29/08/2026 23:33:23
[2026-08-29 23:33:23,754.754 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:33:23,777.777 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:33:23,833.833 INFO    ] No existing commands found in stream
[2026-08-29 23:33:28,845.845 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:33:28,848.848 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-08-29 23:33:29,180.180 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:33:29,182.182 INFO    ] Checking for system updates...
[2026-08-29 23:33:29,203.203 INFO    ] 200
[2026-08-29 23:33:29,204.204 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:33:29,240.240 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:33:29,241.241 INFO    ] No update needed
[2026-08-29 23:33:29,243.243 INFO    ] Checking for camera pi updates...
[2026-08-29 23:33:29,271.271 INFO    ] 200
[2026-08-29 23:33:29,272.272 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:33:29,295.295 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:33:29,396.396 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:33:29,397.397 INFO    ] No camera update needed
[2026-08-29 23:33:29,398.398 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:33:29,400.400 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:33:29,403.403 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:33:29,405.405 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:33:31,438.438 INFO    ] ================================================
[2026-08-29 23:33:31,455.455 INFO    ] Launching Daemon at Sat Aug 29 23:33:31 IST 2026
[2026-08-29 23:33:31,467.467 INFO    ] ================================================
[2026-08-29 23:33:32,088.088 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:33:32
[2026-08-29 23:33:32,699.699 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:33:32,960.960 INFO    ] Initializing speech engine...
[2026-08-29 23:33:32,973.973 INFO    ] 2026-08-29 23:33:32
[2026-08-29 23:33:33,253.253 INFO    ] 2026-08-29 23:33:33
[2026-08-29 23:33:33,291.291 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:33:33,484.484 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:33:33,489.489 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:33:33,598.598 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:33:33,603.603 INFO    ] time= 29/08/2026 23:33:33
[2026-08-29 23:33:33,626.626 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:33:33,632.632 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:33:33,681.681 INFO    ] No existing commands found in stream
[2026-08-29 23:33:38,692.692 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:33:38,694.694 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-08-29 23:33:42,627.627 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:33:42,629.629 INFO    ] Checking for system updates...
[2026-08-29 23:33:42,650.650 INFO    ] 200
[2026-08-29 23:33:42,652.652 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:33:42,682.682 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:33:42,683.683 INFO    ] No update needed
[2026-08-29 23:33:42,685.685 INFO    ] Checking for camera pi updates...
[2026-08-29 23:33:42,705.705 INFO    ] 200
[2026-08-29 23:33:42,706.706 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:33:42,729.729 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:33:42,808.808 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:33:42,809.809 INFO    ] No camera update needed
[2026-08-29 23:33:42,810.810 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:33:42,812.812 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:33:42,815.815 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:33:42,817.817 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:33:44,855.855 INFO    ] ================================================
[2026-08-29 23:33:44,871.871 INFO    ] Launching Daemon at Sat Aug 29 23:33:44 IST 2026
[2026-08-29 23:33:44,881.881 INFO    ] ================================================
[2026-08-29 23:33:45,245.245 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:33:45
[2026-08-29 23:33:45,561.561 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:33:45,692.692 INFO    ] Initializing speech engine...
[2026-08-29 23:33:45,697.697 INFO    ] 2026-08-29 23:33:45
[2026-08-29 23:33:45,914.914 INFO    ] 2026-08-29 23:33:45
[2026-08-29 23:33:45,944.944 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:33:46,066.066 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:33:46,128.128 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:33:46,260.260 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:33:46,310.310 INFO    ] time= 29/08/2026 23:33:46
[2026-08-29 23:33:46,339.339 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:33:46,360.360 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:33:46,430.430 INFO    ] No existing commands found in stream
[2026-08-29 23:33:51,441.441 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:33:51,444.444 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-08-29 23:33:55,335.335 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:33:55,336.336 INFO    ] Checking for system updates...
[2026-08-29 23:33:55,357.357 INFO    ] 200
[2026-08-29 23:33:55,358.358 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:33:55,388.388 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:33:55,389.389 INFO    ] No update needed
[2026-08-29 23:33:55,390.390 INFO    ] Checking for camera pi updates...
[2026-08-29 23:33:55,409.409 INFO    ] 200
[2026-08-29 23:33:55,411.411 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:33:55,435.435 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:33:55,522.522 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:33:55,523.523 INFO    ] No camera update needed
[2026-08-29 23:33:55,525.525 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:33:55,526.526 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:33:55,529.529 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:33:55,532.532 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:33:57,572.572 INFO    ] ================================================
[2026-08-29 23:33:57,587.587 INFO    ] Launching Daemon at Sat Aug 29 23:33:57 IST 2026
[2026-08-29 23:33:57,598.598 INFO    ] ================================================
[2026-08-29 23:33:57,962.962 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:33:57
[2026-08-29 23:33:58,273.273 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:33:58,409.409 INFO    ] Initializing speech engine...
[2026-08-29 23:33:58,417.417 INFO    ] 2026-08-29 23:33:58
[2026-08-29 23:33:58,640.640 INFO    ] 2026-08-29 23:33:58
[2026-08-29 23:33:58,671.671 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:33:58,805.805 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:33:58,847.847 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:33:59,014.014 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:33:59,040.040 INFO    ] time= 29/08/2026 23:33:59
[2026-08-29 23:33:59,098.098 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:33:59,123.123 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:33:59,198.198 INFO    ] No existing commands found in stream
[2026-08-29 23:34:04,209.209 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:34:04,212.212 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-08-29 23:34:07,256.256 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:34:07,257.257 INFO    ] Checking for system updates...
[2026-08-29 23:34:07,277.277 INFO    ] 200
[2026-08-29 23:34:07,279.279 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:34:07,309.309 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:34:07,310.310 INFO    ] No update needed
[2026-08-29 23:34:07,312.312 INFO    ] Checking for camera pi updates...
[2026-08-29 23:34:07,333.333 INFO    ] 200
[2026-08-29 23:34:07,334.334 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:34:07,358.358 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:34:07,450.450 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:34:07,452.452 INFO    ] No camera update needed
[2026-08-29 23:34:07,453.453 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:34:07,454.454 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:34:07,457.457 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:34:07,460.460 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:34:09,498.498 INFO    ] ================================================
[2026-08-29 23:34:09,515.515 INFO    ] Launching Daemon at Sat Aug 29 23:34:09 IST 2026
[2026-08-29 23:34:09,527.527 INFO    ] ================================================
[2026-08-29 23:34:09,852.852 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:34:09
[2026-08-29 23:34:10,165.165 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:34:10,298.298 INFO    ] Initializing speech engine...
[2026-08-29 23:34:10,307.307 INFO    ] 2026-08-29 23:34:10
[2026-08-29 23:34:10,531.531 INFO    ] 2026-08-29 23:34:10
[2026-08-29 23:34:10,563.563 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:34:10,695.695 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:34:10,733.733 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:34:10,900.900 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:34:10,937.937 INFO    ] time= 29/08/2026 23:34:10
[2026-08-29 23:34:10,989.989 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:34:11,015.015 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:34:11,092.092 INFO    ] No existing commands found in stream
[2026-08-29 23:34:16,103.103 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:34:16,105.105 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-08-29 23:34:20,315.315 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:34:20,316.316 INFO    ] Checking for system updates...
[2026-08-29 23:34:20,339.339 INFO    ] 200
[2026-08-29 23:34:20,341.341 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:34:20,375.375 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:34:20,376.376 INFO    ] No update needed
[2026-08-29 23:34:20,377.377 INFO    ] Checking for camera pi updates...
[2026-08-29 23:34:20,399.399 INFO    ] 200
[2026-08-29 23:34:20,400.400 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:34:20,424.424 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:34:20,501.501 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:34:20,502.502 INFO    ] No camera update needed
[2026-08-29 23:34:20,504.504 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:34:20,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:34:20,508.508 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:34:20,511.511 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:34:22,550.550 INFO    ] ================================================
[2026-08-29 23:34:22,565.565 INFO    ] Launching Daemon at Sat Aug 29 23:34:22 IST 2026
[2026-08-29 23:34:22,576.576 INFO    ] ================================================
[2026-08-29 23:34:23,043.043 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:34:23
[2026-08-29 23:34:23,644.644 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:34:23,918.918 INFO    ] Initializing speech engine...
[2026-08-29 23:34:23,928.928 INFO    ] 2026-08-29 23:34:23
[2026-08-29 23:34:24,177.177 INFO    ] 2026-08-29 23:34:24
[2026-08-29 23:34:24,213.213 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:34:24,389.389 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:34:24,401.401 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:34:24,517.517 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:34:24,535.535 INFO    ] time= 29/08/2026 23:34:24
[2026-08-29 23:34:24,557.557 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:34:24,563.563 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:34:24,630.630 INFO    ] No existing commands found in stream
[2026-08-29 23:34:29,643.643 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:34:29,646.646 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-08-29 23:34:32,267.267 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:34:32,271.271 INFO    ] Checking for system updates...
[2026-08-29 23:34:32,313.313 INFO    ] 200
[2026-08-29 23:34:32,315.315 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:34:32,372.372 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:34:32,374.374 INFO    ] No update needed
[2026-08-29 23:34:32,377.377 INFO    ] Checking for camera pi updates...
[2026-08-29 23:34:32,416.416 INFO    ] 200
[2026-08-29 23:34:32,418.418 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:34:32,466.466 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:34:32,578.578 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:34:32,581.581 INFO    ] No camera update needed
[2026-08-29 23:34:32,584.584 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:34:32,587.587 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:34:32,595.595 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:34:32,600.600 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:34:34,641.641 INFO    ] ================================================
[2026-08-29 23:34:34,657.657 INFO    ] Launching Daemon at Sat Aug 29 23:34:34 IST 2026
[2026-08-29 23:34:34,668.668 INFO    ] ================================================
[2026-08-29 23:34:35,239.239 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:34:35
[2026-08-29 23:34:35,561.561 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:34:35,694.694 INFO    ] Initializing speech engine...
[2026-08-29 23:34:35,706.706 INFO    ] 2026-08-29 23:34:35
[2026-08-29 23:34:35,916.916 INFO    ] 2026-08-29 23:34:35
[2026-08-29 23:34:35,944.944 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:34:36,067.067 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:34:36,117.117 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:34:36,270.270 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:34:36,327.327 INFO    ] time= 29/08/2026 23:34:36
[2026-08-29 23:34:36,357.357 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:34:36,368.368 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:34:36,440.440 INFO    ] No existing commands found in stream
[2026-08-29 23:34:41,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:34:41,453.453 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-08-29 23:34:43,318.318 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:34:43,320.320 INFO    ] Checking for system updates...
[2026-08-29 23:34:43,342.342 INFO    ] 200
[2026-08-29 23:34:43,343.343 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:34:43,372.372 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:34:43,374.374 INFO    ] No update needed
[2026-08-29 23:34:43,375.375 INFO    ] Checking for camera pi updates...
[2026-08-29 23:34:43,396.396 INFO    ] 200
[2026-08-29 23:34:43,397.397 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:34:43,422.422 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:34:43,502.502 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:34:43,503.503 INFO    ] No camera update needed
[2026-08-29 23:34:43,504.504 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:34:43,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:34:43,508.508 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:34:43,511.511 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:34:45,549.549 INFO    ] ================================================
[2026-08-29 23:34:45,564.564 INFO    ] Launching Daemon at Sat Aug 29 23:34:45 IST 2026
[2026-08-29 23:34:45,576.576 INFO    ] ================================================
[2026-08-29 23:34:45,935.935 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:34:45
[2026-08-29 23:34:46,251.251 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:34:46,395.395 INFO    ] Initializing speech engine...
[2026-08-29 23:34:46,401.401 INFO    ] 2026-08-29 23:34:46
[2026-08-29 23:34:46,603.603 INFO    ] 2026-08-29 23:34:46
[2026-08-29 23:34:46,631.631 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:34:46,754.754 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:34:46,792.792 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:34:46,929.929 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:34:46,969.969 INFO    ] time= 29/08/2026 23:34:46
[2026-08-29 23:34:47,010.010 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:34:47,055.055 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:34:47,153.153 INFO    ] No existing commands found in stream
[2026-08-29 23:34:52,178.178 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:34:52,181.181 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-08-29 23:34:56,459.459 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:34:56,460.460 INFO    ] Checking for system updates...
[2026-08-29 23:34:56,482.482 INFO    ] 200
[2026-08-29 23:34:56,484.484 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:34:56,514.514 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:34:56,515.515 INFO    ] No update needed
[2026-08-29 23:34:56,516.516 INFO    ] Checking for camera pi updates...
[2026-08-29 23:34:56,535.535 INFO    ] 200
[2026-08-29 23:34:56,536.536 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:34:56,559.559 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:34:56,658.658 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:34:56,660.660 INFO    ] No camera update needed
[2026-08-29 23:34:56,663.663 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:34:56,665.665 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:34:56,670.670 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:34:56,675.675 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:34:58,715.715 INFO    ] ================================================
[2026-08-29 23:34:58,731.731 INFO    ] Launching Daemon at Sat Aug 29 23:34:58 IST 2026
[2026-08-29 23:34:58,742.742 INFO    ] ================================================
[2026-08-29 23:34:59,407.407 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:34:59
[2026-08-29 23:34:59,927.927 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:35:00,081.081 INFO    ] Initializing speech engine...
[2026-08-29 23:35:00,085.085 INFO    ] 2026-08-29 23:35:00
[2026-08-29 23:35:00,293.293 INFO    ] 2026-08-29 23:35:00
[2026-08-29 23:35:00,321.321 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:35:00,470.470 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:35:00,471.471 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:35:00,621.621 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:35:00,654.654 INFO    ] time= 29/08/2026 23:35:00
[2026-08-29 23:35:00,722.722 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:35:00,746.746 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:35:00,819.819 INFO    ] No existing commands found in stream
[2026-08-29 23:35:05,833.833 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:35:05,836.836 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-08-29 23:35:06,662.662 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:35:06,665.665 INFO    ] Checking for system updates...
[2026-08-29 23:35:06,703.703 INFO    ] 200
[2026-08-29 23:35:06,705.705 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:35:06,762.762 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:35:06,767.767 INFO    ] No update needed
[2026-08-29 23:35:06,770.770 INFO    ] Checking for camera pi updates...
[2026-08-29 23:35:06,820.820 INFO    ] 200
[2026-08-29 23:35:06,824.824 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:35:06,874.874 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:35:07,054.054 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:35:07,056.056 INFO    ] No camera update needed
[2026-08-29 23:35:07,059.059 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:35:07,062.062 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:35:07,068.068 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:35:07,074.074 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:35:09,116.116 INFO    ] ================================================
[2026-08-29 23:35:09,132.132 INFO    ] Launching Daemon at Sat Aug 29 23:35:09 IST 2026
[2026-08-29 23:35:09,144.144 INFO    ] ================================================
[2026-08-29 23:35:09,680.680 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:35:09
[2026-08-29 23:35:10,393.393 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:35:10,710.710 INFO    ] Initializing speech engine...
[2026-08-29 23:35:10,716.716 INFO    ] 2026-08-29 23:35:10
[2026-08-29 23:35:11,002.002 INFO    ] 2026-08-29 23:35:10
[2026-08-29 23:35:11,038.038 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:35:11,247.247 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:35:11,250.250 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:35:11,354.354 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:35:11,357.357 INFO    ] time= 29/08/2026 23:35:11
[2026-08-29 23:35:11,360.360 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:35:11,364.364 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:35:11,436.436 INFO    ] No existing commands found in stream
[2026-08-29 23:35:16,455.455 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:35:16,457.457 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-08-29 23:35:17,749.749 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:35:17,750.750 INFO    ] Checking for system updates...
[2026-08-29 23:35:17,771.771 INFO    ] 200
[2026-08-29 23:35:17,773.773 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:35:17,803.803 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:35:17,805.805 INFO    ] No update needed
[2026-08-29 23:35:17,806.806 INFO    ] Checking for camera pi updates...
[2026-08-29 23:35:17,825.825 INFO    ] 200
[2026-08-29 23:35:17,827.827 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:35:17,850.850 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:35:17,959.959 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:35:17,961.961 INFO    ] No camera update needed
[2026-08-29 23:35:17,965.965 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:35:17,967.967 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:35:17,974.974 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:35:17,979.979 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:35:20,022.022 INFO    ] ================================================
[2026-08-29 23:35:20,038.038 INFO    ] Launching Daemon at Sat Aug 29 23:35:20 IST 2026
[2026-08-29 23:35:20,049.049 INFO    ] ================================================
[2026-08-29 23:35:20,616.616 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:35:20
[2026-08-29 23:35:21,080.080 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:35:21,222.222 INFO    ] Initializing speech engine...
[2026-08-29 23:35:21,227.227 INFO    ] 2026-08-29 23:35:21
[2026-08-29 23:35:21,429.429 INFO    ] 2026-08-29 23:35:21
[2026-08-29 23:35:21,457.457 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:35:21,580.580 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:35:21,638.638 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:35:21,796.796 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:35:21,850.850 INFO    ] time= 29/08/2026 23:35:21
[2026-08-29 23:35:21,871.871 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:35:21,878.878 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:35:21,943.943 INFO    ] No existing commands found in stream
[2026-08-29 23:35:26,954.954 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:35:26,956.956 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-08-29 23:35:29,823.823 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:35:29,824.824 INFO    ] Checking for system updates...
[2026-08-29 23:35:29,844.844 INFO    ] 200
[2026-08-29 23:35:29,846.846 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:35:29,875.875 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:35:29,876.876 INFO    ] No update needed
[2026-08-29 23:35:29,878.878 INFO    ] Checking for camera pi updates...
[2026-08-29 23:35:29,897.897 INFO    ] 200
[2026-08-29 23:35:29,898.898 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:35:29,921.921 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:35:29,996.996 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:35:29,998.998 INFO    ] No camera update needed
[2026-08-29 23:35:29,999.999 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:35:30,000.000 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:35:30,003.003 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:35:30,006.006 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:35:32,047.047 INFO    ] ================================================
[2026-08-29 23:35:32,063.063 INFO    ] Launching Daemon at Sat Aug 29 23:35:32 IST 2026
[2026-08-29 23:35:32,074.074 INFO    ] ================================================
[2026-08-29 23:35:32,708.708 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:35:32
[2026-08-29 23:35:33,323.323 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:35:33,591.591 INFO    ] Initializing speech engine...
[2026-08-29 23:35:33,609.609 INFO    ] 2026-08-29 23:35:33
[2026-08-29 23:35:33,862.862 INFO    ] 2026-08-29 23:35:33
[2026-08-29 23:35:33,898.898 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:35:34,076.076 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:35:34,089.089 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:35:34,202.202 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:35:34,221.221 INFO    ] time= 29/08/2026 23:35:34
[2026-08-29 23:35:34,241.241 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:35:34,249.249 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:35:34,321.321 INFO    ] No existing commands found in stream
[2026-08-29 23:35:39,346.346 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:35:39,349.349 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-08-29 23:35:43,215.215 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:35:43,217.217 INFO    ] Checking for system updates...
[2026-08-29 23:35:43,237.237 INFO    ] 200
[2026-08-29 23:35:43,238.238 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:35:43,272.272 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:35:43,273.273 INFO    ] No update needed
[2026-08-29 23:35:43,274.274 INFO    ] Checking for camera pi updates...
[2026-08-29 23:35:43,293.293 INFO    ] 200
[2026-08-29 23:35:43,295.295 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:35:43,318.318 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:35:43,421.421 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:35:43,423.423 INFO    ] No camera update needed
[2026-08-29 23:35:43,426.426 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:35:43,428.428 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:35:43,433.433 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:35:43,438.438 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:35:45,482.482 INFO    ] ================================================
[2026-08-29 23:35:45,498.498 INFO    ] Launching Daemon at Sat Aug 29 23:35:45 IST 2026
[2026-08-29 23:35:45,508.508 INFO    ] ================================================
[2026-08-29 23:35:46,091.091 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:35:46
[2026-08-29 23:35:46,585.585 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:35:46,729.729 INFO    ] Initializing speech engine...
[2026-08-29 23:35:46,734.734 INFO    ] 2026-08-29 23:35:46
[2026-08-29 23:35:46,940.940 INFO    ] 2026-08-29 23:35:46
[2026-08-29 23:35:46,969.969 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:35:47,094.094 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:35:47,136.136 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:35:47,308.308 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:35:47,352.352 INFO    ] time= 29/08/2026 23:35:47
[2026-08-29 23:35:47,407.407 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:35:47,444.444 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:35:47,570.570 INFO    ] No existing commands found in stream
[2026-08-29 23:35:52,583.583 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:35:52,586.586 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-08-29 23:35:56,887.887 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:35:56,890.890 INFO    ] Checking for system updates...
[2026-08-29 23:35:56,927.927 INFO    ] 200
[2026-08-29 23:35:56,930.930 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:35:56,990.990 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:35:56,993.993 INFO    ] No update needed
[2026-08-29 23:35:56,996.996 INFO    ] Checking for camera pi updates...
[2026-08-29 23:35:57,030.030 INFO    ] 200
[2026-08-29 23:35:57,033.033 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:35:57,075.075 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:35:57,156.156 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:35:57,159.159 INFO    ] No camera update needed
[2026-08-29 23:35:57,161.161 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:35:57,163.163 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:35:57,169.169 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:35:57,174.174 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:35:59,214.214 INFO    ] ================================================
[2026-08-29 23:35:59,229.229 INFO    ] Launching Daemon at Sat Aug 29 23:35:59 IST 2026
[2026-08-29 23:35:59,240.240 INFO    ] ================================================
[2026-08-29 23:35:59,754.754 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:35:59
[2026-08-29 23:36:00,154.154 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:36:00,436.436 INFO    ] Initializing speech engine...
[2026-08-29 23:36:00,442.442 INFO    ] 2026-08-29 23:36:00
[2026-08-29 23:36:00,693.693 INFO    ] 2026-08-29 23:36:00
[2026-08-29 23:36:00,730.730 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:36:00,903.903 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:36:00,916.916 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:36:01,027.027 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:36:01,045.045 INFO    ] time= 29/08/2026 23:36:01
[2026-08-29 23:36:01,065.065 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:36:01,073.073 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:36:01,141.141 INFO    ] No existing commands found in stream
[2026-08-29 23:36:06,153.153 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:36:06,156.156 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-08-29 23:36:07,501.501 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:36:07,503.503 INFO    ] Checking for system updates...
[2026-08-29 23:36:07,542.542 INFO    ] 200
[2026-08-29 23:36:07,545.545 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:36:07,603.603 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:36:07,606.606 INFO    ] No update needed
[2026-08-29 23:36:07,608.608 INFO    ] Checking for camera pi updates...
[2026-08-29 23:36:07,641.641 INFO    ] 200
[2026-08-29 23:36:07,644.644 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:36:07,688.688 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:36:07,798.798 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:36:07,801.801 INFO    ] No camera update needed
[2026-08-29 23:36:07,804.804 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:36:07,806.806 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:36:07,811.811 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:36:07,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:36:09,856.856 INFO    ] ================================================
[2026-08-29 23:36:09,871.871 INFO    ] Launching Daemon at Sat Aug 29 23:36:09 IST 2026
[2026-08-29 23:36:09,882.882 INFO    ] ================================================
[2026-08-29 23:36:10,521.521 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:36:10
[2026-08-29 23:36:10,879.879 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:36:11,033.033 INFO    ] Initializing speech engine...
[2026-08-29 23:36:11,037.037 INFO    ] 2026-08-29 23:36:11
[2026-08-29 23:36:11,239.239 INFO    ] 2026-08-29 23:36:11
[2026-08-29 23:36:11,269.269 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:36:11,437.437 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:36:11,458.458 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:36:11,614.614 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:36:11,647.647 INFO    ] time= 29/08/2026 23:36:11
[2026-08-29 23:36:11,716.716 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:36:11,739.739 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:36:11,811.811 INFO    ] No existing commands found in stream
[2026-08-29 23:36:16,822.822 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:36:16,824.824 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 23:36:18,763.763 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:36:18,765.765 INFO    ] Checking for system updates...
[2026-08-29 23:36:18,785.785 INFO    ] 200
[2026-08-29 23:36:18,786.786 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:36:18,818.818 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:36:18,819.819 INFO    ] No update needed
[2026-08-29 23:36:18,820.820 INFO    ] Checking for camera pi updates...
[2026-08-29 23:36:18,841.841 INFO    ] 200
[2026-08-29 23:36:18,842.842 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:36:18,883.883 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:36:18,970.970 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:36:18,973.973 INFO    ] No camera update needed
[2026-08-29 23:36:18,975.975 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:36:18,977.977 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:36:18,982.982 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:36:18,987.987 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:36:21,028.028 INFO    ] ================================================
[2026-08-29 23:36:21,044.044 INFO    ] Launching Daemon at Sat Aug 29 23:36:21 IST 2026
[2026-08-29 23:36:21,054.054 INFO    ] ================================================
[2026-08-29 23:36:21,620.620 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:36:21
[2026-08-29 23:36:22,120.120 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:36:22,370.370 INFO    ] Initializing speech engine...
[2026-08-29 23:36:22,375.375 INFO    ] 2026-08-29 23:36:22
[2026-08-29 23:36:22,650.650 INFO    ] 2026-08-29 23:36:22
[2026-08-29 23:36:22,684.684 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:36:22,861.861 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:36:22,874.874 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:36:22,987.987 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:36:23,007.007 INFO    ] time= 29/08/2026 23:36:22
[2026-08-29 23:36:23,028.028 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:36:23,036.036 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:36:23,105.105 INFO    ] No existing commands found in stream
[2026-08-29 23:36:28,117.117 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:36:28,120.120 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-08-29 23:36:30,420.420 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:36:30,421.421 INFO    ] Checking for system updates...
[2026-08-29 23:36:30,441.441 INFO    ] 200
[2026-08-29 23:36:30,443.443 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:36:30,473.473 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:36:30,474.474 INFO    ] No update needed
[2026-08-29 23:36:30,475.475 INFO    ] Checking for camera pi updates...
[2026-08-29 23:36:30,494.494 INFO    ] 200
[2026-08-29 23:36:30,496.496 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:36:30,520.520 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:36:30,597.597 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:36:30,598.598 INFO    ] No camera update needed
[2026-08-29 23:36:30,599.599 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:36:30,601.601 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:36:30,604.604 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:36:30,606.606 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:36:32,639.639 INFO    ] ================================================
[2026-08-29 23:36:32,650.650 INFO    ] Launching Daemon at Sat Aug 29 23:36:32 IST 2026
[2026-08-29 23:36:32,656.656 INFO    ] ================================================
[2026-08-29 23:36:33,255.255 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:36:33
[2026-08-29 23:36:33,856.856 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:36:34,141.141 INFO    ] Initializing speech engine...
[2026-08-29 23:36:34,151.151 INFO    ] 2026-08-29 23:36:34
[2026-08-29 23:36:34,417.417 INFO    ] 2026-08-29 23:36:34
[2026-08-29 23:36:34,452.452 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:36:34,595.595 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:36:34,601.601 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:36:34,749.749 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:36:34,760.760 INFO    ] time= 29/08/2026 23:36:34
[2026-08-29 23:36:34,766.766 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:36:34,788.788 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:36:34,838.838 INFO    ] No existing commands found in stream
[2026-08-29 23:36:39,849.849 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:36:39,852.852 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-08-29 23:36:42,393.393 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:36:42,394.394 INFO    ] Checking for system updates...
[2026-08-29 23:36:42,414.414 INFO    ] 200
[2026-08-29 23:36:42,416.416 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:36:42,447.447 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:36:42,448.448 INFO    ] No update needed
[2026-08-29 23:36:42,450.450 INFO    ] Checking for camera pi updates...
[2026-08-29 23:36:42,470.470 INFO    ] 200
[2026-08-29 23:36:42,471.471 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:36:42,494.494 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:36:42,561.561 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:36:42,563.563 INFO    ] No camera update needed
[2026-08-29 23:36:42,564.564 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:36:42,565.565 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:36:42,568.568 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:36:42,571.571 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:36:44,609.609 INFO    ] ================================================
[2026-08-29 23:36:44,624.624 INFO    ] Launching Daemon at Sat Aug 29 23:36:44 IST 2026
[2026-08-29 23:36:44,636.636 INFO    ] ================================================
[2026-08-29 23:36:45,171.171 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:36:45
[2026-08-29 23:36:45,768.768 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:36:46,052.052 INFO    ] Initializing speech engine...
[2026-08-29 23:36:46,060.060 INFO    ] 2026-08-29 23:36:46
[2026-08-29 23:36:46,320.320 INFO    ] 2026-08-29 23:36:46
[2026-08-29 23:36:46,350.350 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:36:46,515.515 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:36:46,527.527 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:36:46,669.669 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:36:46,677.677 INFO    ] time= 29/08/2026 23:36:46
[2026-08-29 23:36:46,683.683 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:36:46,729.729 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:36:46,854.854 INFO    ] No existing commands found in stream
[2026-08-29 23:36:51,883.883 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:36:51,887.887 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-08-29 23:36:52,250.250 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:36:52,252.252 INFO    ] Checking for system updates...
[2026-08-29 23:36:52,273.273 INFO    ] 200
[2026-08-29 23:36:52,274.274 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:36:52,305.305 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:36:52,307.307 INFO    ] No update needed
[2026-08-29 23:36:52,308.308 INFO    ] Checking for camera pi updates...
[2026-08-29 23:36:52,330.330 INFO    ] 200
[2026-08-29 23:36:52,331.331 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:36:52,355.355 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:36:52,437.437 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:36:52,439.439 INFO    ] No camera update needed
[2026-08-29 23:36:52,440.440 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:36:52,441.441 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:36:52,444.444 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:36:52,447.447 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:36:54,486.486 INFO    ] ================================================
[2026-08-29 23:36:54,501.501 INFO    ] Launching Daemon at Sat Aug 29 23:36:54 IST 2026
[2026-08-29 23:36:54,512.512 INFO    ] ================================================
[2026-08-29 23:36:55,016.016 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:36:55
[2026-08-29 23:36:55,600.600 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:36:55,861.861 INFO    ] Initializing speech engine...
[2026-08-29 23:36:55,880.880 INFO    ] 2026-08-29 23:36:55
[2026-08-29 23:36:56,132.132 INFO    ] 2026-08-29 23:36:56
[2026-08-29 23:36:56,198.198 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:36:56,343.343 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:36:56,355.355 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:36:56,468.468 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:36:56,487.487 INFO    ] time= 29/08/2026 23:36:56
[2026-08-29 23:36:56,507.507 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:36:56,514.514 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:36:56,584.584 INFO    ] No existing commands found in stream
[2026-08-29 23:37:01,596.596 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:37:01,599.599 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-08-29 23:37:03,647.647 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:37:03,650.650 INFO    ] Checking for system updates...
[2026-08-29 23:37:03,685.685 INFO    ] 200
[2026-08-29 23:37:03,688.688 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:37:03,740.740 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:37:03,742.742 INFO    ] No update needed
[2026-08-29 23:37:03,745.745 INFO    ] Checking for camera pi updates...
[2026-08-29 23:37:03,778.778 INFO    ] 200
[2026-08-29 23:37:03,780.780 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:37:03,827.827 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:37:03,912.912 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:37:03,915.915 INFO    ] No camera update needed
[2026-08-29 23:37:03,918.918 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:37:03,920.920 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:37:03,925.925 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:37:03,930.930 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:37:05,971.971 INFO    ] ================================================
[2026-08-29 23:37:05,987.987 INFO    ] Launching Daemon at Sat Aug 29 23:37:05 IST 2026
[2026-08-29 23:37:06,998.998 INFO    ] ================================================
[2026-08-29 23:37:06,325.325 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:37:06
[2026-08-29 23:37:06,661.661 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:37:06,928.928 INFO    ] Initializing speech engine...
[2026-08-29 23:37:06,941.941 INFO    ] 2026-08-29 23:37:06
[2026-08-29 23:37:07,223.223 INFO    ] 2026-08-29 23:37:07
[2026-08-29 23:37:07,260.260 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:37:07,451.451 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:37:07,458.458 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:37:07,586.586 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:37:07,592.592 INFO    ] time= 29/08/2026 23:37:07
[2026-08-29 23:37:07,598.598 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:37:07,611.611 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:37:07,715.715 INFO    ] No existing commands found in stream
[2026-08-29 23:37:12,726.726 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:37:12,729.729 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-08-29 23:37:13,890.890 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:37:13,892.892 INFO    ] Checking for system updates...
[2026-08-29 23:37:13,912.912 INFO    ] 200
[2026-08-29 23:37:13,914.914 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:37:13,947.947 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:37:13,948.948 INFO    ] No update needed
[2026-08-29 23:37:13,950.950 INFO    ] Checking for camera pi updates...
[2026-08-29 23:37:13,970.970 INFO    ] 200
[2026-08-29 23:37:13,972.972 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:37:13,995.995 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:37:14,172.172 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:37:14,174.174 INFO    ] No camera update needed
[2026-08-29 23:37:14,175.175 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:37:14,176.176 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:37:14,179.179 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:37:14,182.182 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:37:16,222.222 INFO    ] ================================================
[2026-08-29 23:37:16,238.238 INFO    ] Launching Daemon at Sat Aug 29 23:37:16 IST 2026
[2026-08-29 23:37:16,249.249 INFO    ] ================================================
[2026-08-29 23:37:16,708.708 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:37:16
[2026-08-29 23:37:17,294.294 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:37:17,573.573 INFO    ] Initializing speech engine...
[2026-08-29 23:37:17,582.582 INFO    ] 2026-08-29 23:37:17
[2026-08-29 23:37:17,845.845 INFO    ] 2026-08-29 23:37:17
[2026-08-29 23:37:17,869.869 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:37:18,024.024 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:37:18,030.030 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:37:18,177.177 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:37:18,187.187 INFO    ] time= 29/08/2026 23:37:18
[2026-08-29 23:37:18,191.191 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:37:18,197.197 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:37:18,265.265 INFO    ] No existing commands found in stream
[2026-08-29 23:37:23,276.276 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:37:23,279.279 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-08-29 23:37:27,052.052 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:37:27,054.054 INFO    ] Checking for system updates...
[2026-08-29 23:37:27,074.074 INFO    ] 200
[2026-08-29 23:37:27,076.076 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:37:27,109.109 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:37:27,111.111 INFO    ] No update needed
[2026-08-29 23:37:27,112.112 INFO    ] Checking for camera pi updates...
[2026-08-29 23:37:27,137.137 INFO    ] 200
[2026-08-29 23:37:27,139.139 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:37:27,180.180 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:37:27,281.281 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:37:27,284.284 INFO    ] No camera update needed
[2026-08-29 23:37:27,286.286 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:37:27,289.289 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:37:27,294.294 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:37:27,299.299 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:37:29,340.340 INFO    ] ================================================
[2026-08-29 23:37:29,356.356 INFO    ] Launching Daemon at Sat Aug 29 23:37:29 IST 2026
[2026-08-29 23:37:29,367.367 INFO    ] ================================================
[2026-08-29 23:37:29,952.952 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:37:29
[2026-08-29 23:37:30,413.413 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:37:30,549.549 INFO    ] Initializing speech engine...
[2026-08-29 23:37:30,552.552 INFO    ] 2026-08-29 23:37:30
[2026-08-29 23:37:30,781.781 INFO    ] 2026-08-29 23:37:30
[2026-08-29 23:37:30,811.811 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:37:30,940.940 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:37:30,990.990 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:37:31,146.146 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:37:31,203.203 INFO    ] time= 29/08/2026 23:37:31
[2026-08-29 23:37:31,236.236 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:37:31,253.253 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:37:31,328.328 INFO    ] No existing commands found in stream
[2026-08-29 23:37:36,338.338 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:37:36,342.342 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-08-29 23:37:39,834.834 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:37:39,835.835 INFO    ] Checking for system updates...
[2026-08-29 23:37:39,855.855 INFO    ] 200
[2026-08-29 23:37:39,856.856 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:37:39,886.886 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:37:39,887.887 INFO    ] No update needed
[2026-08-29 23:37:39,889.889 INFO    ] Checking for camera pi updates...
[2026-08-29 23:37:39,908.908 INFO    ] 200
[2026-08-29 23:37:39,909.909 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:37:39,932.932 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:37:40,051.051 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:37:40,053.053 INFO    ] No camera update needed
[2026-08-29 23:37:40,054.054 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:37:40,055.055 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:37:40,058.058 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:37:40,061.061 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:37:42,100.100 INFO    ] ================================================
[2026-08-29 23:37:42,116.116 INFO    ] Launching Daemon at Sat Aug 29 23:37:42 IST 2026
[2026-08-29 23:37:42,127.127 INFO    ] ================================================
[2026-08-29 23:37:42,647.647 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:37:42
[2026-08-29 23:37:43,250.250 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:37:43,529.529 INFO    ] Initializing speech engine...
[2026-08-29 23:37:43,536.536 INFO    ] 2026-08-29 23:37:43
[2026-08-29 23:37:43,801.801 INFO    ] 2026-08-29 23:37:43
[2026-08-29 23:37:43,854.854 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:37:44,079.079 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:37:44,088.088 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:37:44,222.222 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:37:44,269.269 INFO    ] time= 29/08/2026 23:37:44
[2026-08-29 23:37:44,334.334 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:37:44,358.358 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:37:44,416.416 INFO    ] No existing commands found in stream
[2026-08-29 23:37:49,437.437 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:37:49,439.439 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-08-29 23:37:52,960.960 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:37:52,961.961 INFO    ] Checking for system updates...
[2026-08-29 23:37:52,982.982 INFO    ] 200
[2026-08-29 23:37:52,983.983 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:37:53,013.013 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:37:53,014.014 INFO    ] No update needed
[2026-08-29 23:37:53,016.016 INFO    ] Checking for camera pi updates...
[2026-08-29 23:37:53,035.035 INFO    ] 200
[2026-08-29 23:37:53,036.036 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:37:53,059.059 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:37:53,136.136 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:37:53,138.138 INFO    ] No camera update needed
[2026-08-29 23:37:53,139.139 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:37:53,140.140 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:37:53,143.143 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:37:53,146.146 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:37:55,184.184 INFO    ] ================================================
[2026-08-29 23:37:55,204.204 INFO    ] Launching Daemon at Sat Aug 29 23:37:55 IST 2026
[2026-08-29 23:37:55,215.215 INFO    ] ================================================
[2026-08-29 23:37:55,569.569 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:37:55
[2026-08-29 23:37:55,888.888 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:37:56,040.040 INFO    ] Initializing speech engine...
[2026-08-29 23:37:56,053.053 INFO    ] 2026-08-29 23:37:56
[2026-08-29 23:37:56,288.288 INFO    ] 2026-08-29 23:37:56
[2026-08-29 23:37:56,318.318 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:37:56,449.449 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:37:56,502.502 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:37:56,650.650 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:37:56,706.706 INFO    ] time= 29/08/2026 23:37:56
[2026-08-29 23:37:56,730.730 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:37:56,736.736 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:37:56,803.803 INFO    ] No existing commands found in stream
[2026-08-29 23:38:01,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:38:01,818.818 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-08-29 23:38:15,435.435 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:38:15,438.438 INFO    ] Checking for system updates...
[2026-08-29 23:38:15,478.478 INFO    ] 200
[2026-08-29 23:38:15,481.481 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:38:15,539.539 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:38:15,542.542 INFO    ] No update needed
[2026-08-29 23:38:15,545.545 INFO    ] Checking for camera pi updates...
[2026-08-29 23:38:15,582.582 INFO    ] 200
[2026-08-29 23:38:15,585.585 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:38:15,629.629 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:38:15,710.710 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:38:15,714.714 INFO    ] No camera update needed
[2026-08-29 23:38:15,717.717 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:38:15,721.721 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:38:15,728.728 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:38:15,734.734 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:38:17,769.769 INFO    ] ================================================
[2026-08-29 23:38:17,778.778 INFO    ] Launching Daemon at Sat Aug 29 23:38:17 IST 2026
[2026-08-29 23:38:17,784.784 INFO    ] ================================================
[2026-08-29 23:38:18,221.221 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:38:18
[2026-08-29 23:38:18,828.828 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:38:19,090.090 INFO    ] Initializing speech engine...
[2026-08-29 23:38:19,109.109 INFO    ] 2026-08-29 23:38:19
[2026-08-29 23:38:19,359.359 INFO    ] 2026-08-29 23:38:19
[2026-08-29 23:38:19,396.396 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:38:19,571.571 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:38:19,585.585 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:38:19,697.697 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:38:19,702.702 INFO    ] time= 29/08/2026 23:38:19
[2026-08-29 23:38:19,721.721 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:38:19,741.741 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:38:19,815.815 INFO    ] No existing commands found in stream
[2026-08-29 23:38:24,827.827 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:38:24,829.829 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-08-29 23:38:28,012.012 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:38:28,013.013 INFO    ] Checking for system updates...
[2026-08-29 23:38:28,033.033 INFO    ] 200
[2026-08-29 23:38:28,035.035 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:38:28,067.067 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:38:28,069.069 INFO    ] No update needed
[2026-08-29 23:38:28,070.070 INFO    ] Checking for camera pi updates...
[2026-08-29 23:38:28,089.089 INFO    ] 200
[2026-08-29 23:38:28,090.090 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:38:28,114.114 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:38:28,227.227 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:38:28,230.230 INFO    ] No camera update needed
[2026-08-29 23:38:28,232.232 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:38:28,234.234 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:38:28,240.240 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:38:28,245.245 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:38:30,287.287 INFO    ] ================================================
[2026-08-29 23:38:30,303.303 INFO    ] Launching Daemon at Sat Aug 29 23:38:30 IST 2026
[2026-08-29 23:38:30,314.314 INFO    ] ================================================
[2026-08-29 23:38:30,977.977 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:38:30
[2026-08-29 23:38:31,463.463 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:38:31,618.618 INFO    ] Initializing speech engine...
[2026-08-29 23:38:31,623.623 INFO    ] 2026-08-29 23:38:31
[2026-08-29 23:38:31,841.841 INFO    ] 2026-08-29 23:38:31
[2026-08-29 23:38:31,872.872 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:38:32,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:38:32,051.051 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:38:32,247.247 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:38:32,260.260 INFO    ] time= 29/08/2026 23:38:32
[2026-08-29 23:38:32,280.280 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:38:32,313.313 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:38:32,431.431 INFO    ] No existing commands found in stream
[2026-08-29 23:38:37,483.483 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:38:37,486.486 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-08-29 23:38:40,785.785 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:38:40,786.786 INFO    ] Checking for system updates...
[2026-08-29 23:38:40,806.806 INFO    ] 200
[2026-08-29 23:38:40,808.808 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:38:40,838.838 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:38:40,839.839 INFO    ] No update needed
[2026-08-29 23:38:40,840.840 INFO    ] Checking for camera pi updates...
[2026-08-29 23:38:40,862.862 INFO    ] 200
[2026-08-29 23:38:40,863.863 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:38:40,886.886 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:38:40,970.970 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:38:40,972.972 INFO    ] No camera update needed
[2026-08-29 23:38:40,973.973 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:38:40,974.974 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:38:40,977.977 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:38:40,980.980 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:38:43,019.019 INFO    ] ================================================
[2026-08-29 23:38:43,034.034 INFO    ] Launching Daemon at Sat Aug 29 23:38:43 IST 2026
[2026-08-29 23:38:43,045.045 INFO    ] ================================================
[2026-08-29 23:38:43,409.409 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:38:43
[2026-08-29 23:38:43,846.846 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:38:44,107.107 INFO    ] Initializing speech engine...
[2026-08-29 23:38:44,120.120 INFO    ] 2026-08-29 23:38:44
[2026-08-29 23:38:44,375.375 INFO    ] 2026-08-29 23:38:44
[2026-08-29 23:38:44,410.410 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:38:44,585.585 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:38:44,599.599 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:38:44,710.710 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:38:44,715.715 INFO    ] time= 29/08/2026 23:38:44
[2026-08-29 23:38:44,729.729 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:38:44,752.752 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:38:44,827.827 INFO    ] No existing commands found in stream
[2026-08-29 23:38:49,839.839 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:38:49,841.841 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 23:38:51,988.988 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:38:51,989.989 INFO    ] Checking for system updates...
[2026-08-29 23:38:52,011.011 INFO    ] 200
[2026-08-29 23:38:52,012.012 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:38:52,042.042 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:38:52,043.043 INFO    ] No update needed
[2026-08-29 23:38:52,045.045 INFO    ] Checking for camera pi updates...
[2026-08-29 23:38:52,064.064 INFO    ] 200
[2026-08-29 23:38:52,065.065 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:38:52,088.088 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:38:52,174.174 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:38:52,175.175 INFO    ] No camera update needed
[2026-08-29 23:38:52,177.177 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:38:52,178.178 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:38:52,181.181 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:38:52,184.184 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:38:54,224.224 INFO    ] ================================================
[2026-08-29 23:38:54,240.240 INFO    ] Launching Daemon at Sat Aug 29 23:38:54 IST 2026
[2026-08-29 23:38:54,252.252 INFO    ] ================================================
[2026-08-29 23:38:54,619.619 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:38:54
[2026-08-29 23:38:54,930.930 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:38:55,064.064 INFO    ] Initializing speech engine...
[2026-08-29 23:38:55,076.076 INFO    ] 2026-08-29 23:38:55
[2026-08-29 23:38:55,296.296 INFO    ] 2026-08-29 23:38:55
[2026-08-29 23:38:55,351.351 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:38:55,518.518 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:38:55,526.526 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:38:55,680.680 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:38:55,731.731 INFO    ] time= 29/08/2026 23:38:55
[2026-08-29 23:38:55,738.738 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:38:55,756.756 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:38:55,853.853 INFO    ] No existing commands found in stream
[2026-08-29 23:39:00,874.874 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:39:00,877.877 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-08-29 23:39:04,396.396 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:39:04,399.399 INFO    ] Checking for system updates...
[2026-08-29 23:39:04,447.447 INFO    ] 200
[2026-08-29 23:39:04,450.450 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:39:04,518.518 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:39:04,521.521 INFO    ] No update needed
[2026-08-29 23:39:04,524.524 INFO    ] Checking for camera pi updates...
[2026-08-29 23:39:04,562.562 INFO    ] 200
[2026-08-29 23:39:04,565.565 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:39:04,617.617 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:39:04,726.726 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:39:04,729.729 INFO    ] No camera update needed
[2026-08-29 23:39:04,733.733 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:39:04,736.736 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:39:04,743.743 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:39:04,749.749 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:39:06,792.792 INFO    ] ================================================
[2026-08-29 23:39:06,809.809 INFO    ] Launching Daemon at Sat Aug 29 23:39:06 IST 2026
[2026-08-29 23:39:06,820.820 INFO    ] ================================================
[2026-08-29 23:39:07,401.401 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:39:07
[2026-08-29 23:39:08,001.001 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:39:08,268.268 INFO    ] Initializing speech engine...
[2026-08-29 23:39:08,291.291 INFO    ] 2026-08-29 23:39:08
[2026-08-29 23:39:08,567.567 INFO    ] 2026-08-29 23:39:08
[2026-08-29 23:39:08,603.603 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:39:08,745.745 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:39:08,754.754 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:39:08,904.904 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:39:08,915.915 INFO    ] time= 29/08/2026 23:39:08
[2026-08-29 23:39:08,920.920 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:39:08,943.943 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:39:08,995.995 INFO    ] No existing commands found in stream
[2026-08-29 23:39:14,006.006 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:39:14,008.008 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-08-29 23:39:14,938.938 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:39:14,939.939 INFO    ] Checking for system updates...
[2026-08-29 23:39:14,960.960 INFO    ] 200
[2026-08-29 23:39:14,961.961 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:39:14,993.993 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:39:14,995.995 INFO    ] No update needed
[2026-08-29 23:39:14,996.996 INFO    ] Checking for camera pi updates...
[2026-08-29 23:39:15,015.015 INFO    ] 200
[2026-08-29 23:39:15,016.016 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:39:15,041.041 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:39:15,130.130 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:39:15,132.132 INFO    ] No camera update needed
[2026-08-29 23:39:15,133.133 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:39:15,134.134 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:39:15,137.137 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:39:15,140.140 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:39:17,178.178 INFO    ] ================================================
[2026-08-29 23:39:17,194.194 INFO    ] Launching Daemon at Sat Aug 29 23:39:17 IST 2026
[2026-08-29 23:39:17,205.205 INFO    ] ================================================
[2026-08-29 23:39:17,565.565 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:39:17
[2026-08-29 23:39:17,884.884 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:39:18,026.026 INFO    ] Initializing speech engine...
[2026-08-29 23:39:18,037.037 INFO    ] 2026-08-29 23:39:18
[2026-08-29 23:39:18,253.253 INFO    ] 2026-08-29 23:39:18
[2026-08-29 23:39:18,284.284 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:39:18,381.381 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:39:18,416.416 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:39:18,568.568 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:39:18,602.602 INFO    ] time= 29/08/2026 23:39:18
[2026-08-29 23:39:18,630.630 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:39:18,691.691 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:39:18,807.807 INFO    ] No existing commands found in stream
[2026-08-29 23:39:23,818.818 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:39:23,821.821 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-08-29 23:39:27,766.766 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:39:27,767.767 INFO    ] Checking for system updates...
[2026-08-29 23:39:27,789.789 INFO    ] 200
[2026-08-29 23:39:27,790.790 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:39:27,820.820 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:39:27,821.821 INFO    ] No update needed
[2026-08-29 23:39:27,822.822 INFO    ] Checking for camera pi updates...
[2026-08-29 23:39:27,841.841 INFO    ] 200
[2026-08-29 23:39:27,843.843 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:39:27,886.886 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:39:28,063.063 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:39:28,065.065 INFO    ] No camera update needed
[2026-08-29 23:39:28,067.067 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:39:28,069.069 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:39:28,075.075 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:39:28,079.079 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:39:30,120.120 INFO    ] ================================================
[2026-08-29 23:39:30,135.135 INFO    ] Launching Daemon at Sat Aug 29 23:39:30 IST 2026
[2026-08-29 23:39:30,146.146 INFO    ] ================================================
[2026-08-29 23:39:30,728.728 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:39:30
[2026-08-29 23:39:31,161.161 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:39:31,295.295 INFO    ] Initializing speech engine...
[2026-08-29 23:39:31,300.300 INFO    ] 2026-08-29 23:39:31
[2026-08-29 23:39:31,529.529 INFO    ] 2026-08-29 23:39:31
[2026-08-29 23:39:31,559.559 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:39:31,711.711 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:39:31,720.720 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:39:31,851.851 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:39:31,914.914 INFO    ] time= 29/08/2026 23:39:31
[2026-08-29 23:39:31,969.969 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:39:32,008.008 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:39:32,069.069 INFO    ] No existing commands found in stream
[2026-08-29 23:39:37,082.082 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:39:37,084.084 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-08-29 23:39:40,070.070 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:39:40,071.071 INFO    ] Checking for system updates...
[2026-08-29 23:39:40,091.091 INFO    ] 200
[2026-08-29 23:39:40,093.093 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:39:40,125.125 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:39:40,126.126 INFO    ] No update needed
[2026-08-29 23:39:40,127.127 INFO    ] Checking for camera pi updates...
[2026-08-29 23:39:40,147.147 INFO    ] 200
[2026-08-29 23:39:40,149.149 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:39:40,172.172 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:39:40,268.268 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:39:40,269.269 INFO    ] No camera update needed
[2026-08-29 23:39:40,270.270 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:39:40,272.272 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:39:40,278.278 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:39:40,281.281 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:39:42,319.319 INFO    ] ================================================
[2026-08-29 23:39:42,335.335 INFO    ] Launching Daemon at Sat Aug 29 23:39:42 IST 2026
[2026-08-29 23:39:42,346.346 INFO    ] ================================================
[2026-08-29 23:39:42,870.870 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:39:42
[2026-08-29 23:39:43,456.456 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:39:43,708.708 INFO    ] Initializing speech engine...
[2026-08-29 23:39:43,731.731 INFO    ] 2026-08-29 23:39:43
[2026-08-29 23:39:43,987.987 INFO    ] 2026-08-29 23:39:43
[2026-08-29 23:39:44,022.022 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:39:44,197.197 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:39:44,210.210 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:39:44,355.355 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:39:44,363.363 INFO    ] time= 29/08/2026 23:39:44
[2026-08-29 23:39:44,370.370 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:39:44,430.430 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:39:44,530.530 INFO    ] No existing commands found in stream
[2026-08-29 23:39:49,555.555 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:39:49,558.558 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-08-29 23:39:50,457.457 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:39:50,459.459 INFO    ] Checking for system updates...
[2026-08-29 23:39:50,501.501 INFO    ] 200
[2026-08-29 23:39:50,504.504 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:39:50,562.562 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:39:50,565.565 INFO    ] No update needed
[2026-08-29 23:39:50,567.567 INFO    ] Checking for camera pi updates...
[2026-08-29 23:39:50,600.600 INFO    ] 200
[2026-08-29 23:39:50,603.603 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:39:50,648.648 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:39:50,749.749 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:39:50,752.752 INFO    ] No camera update needed
[2026-08-29 23:39:50,754.754 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:39:50,756.756 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:39:50,762.762 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:39:50,767.767 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:39:52,810.810 INFO    ] ================================================
[2026-08-29 23:39:52,826.826 INFO    ] Launching Daemon at Sat Aug 29 23:39:52 IST 2026
[2026-08-29 23:39:52,837.837 INFO    ] ================================================
[2026-08-29 23:39:53,408.408 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:39:53
[2026-08-29 23:39:53,751.751 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:39:53,896.896 INFO    ] Initializing speech engine...
[2026-08-29 23:39:53,901.901 INFO    ] 2026-08-29 23:39:53
[2026-08-29 23:39:54,145.145 INFO    ] 2026-08-29 23:39:54
[2026-08-29 23:39:54,201.201 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:39:54,371.371 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:39:54,376.376 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:39:54,543.543 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:39:54,588.588 INFO    ] time= 29/08/2026 23:39:54
[2026-08-29 23:39:54,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:39:54,618.618 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:39:54,740.740 INFO    ] No existing commands found in stream
[2026-08-29 23:39:59,762.762 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:39:59,765.765 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-08-29 23:40:01,172.172 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:40:01,174.174 INFO    ] Checking for system updates...
[2026-08-29 23:40:01,194.194 INFO    ] 200
[2026-08-29 23:40:01,196.196 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:40:01,225.225 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:40:01,227.227 INFO    ] No update needed
[2026-08-29 23:40:01,228.228 INFO    ] Checking for camera pi updates...
[2026-08-29 23:40:01,248.248 INFO    ] 200
[2026-08-29 23:40:01,250.250 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:40:01,275.275 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:40:01,351.351 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:40:01,355.355 INFO    ] No camera update needed
[2026-08-29 23:40:01,372.372 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:40:01,376.376 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:40:01,407.407 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:40:01,440.440 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:40:03,494.494 INFO    ] ================================================
[2026-08-29 23:40:03,510.510 INFO    ] Launching Daemon at Sat Aug 29 23:40:03 IST 2026
[2026-08-29 23:40:03,521.521 INFO    ] ================================================
[2026-08-29 23:40:04,090.090 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:40:04
[2026-08-29 23:40:04,578.578 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:40:04,721.721 INFO    ] Initializing speech engine...
[2026-08-29 23:40:04,726.726 INFO    ] 2026-08-29 23:40:04
[2026-08-29 23:40:04,932.932 INFO    ] 2026-08-29 23:40:04
[2026-08-29 23:40:04,960.960 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:40:05,084.084 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:40:05,147.147 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:40:05,291.291 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:40:05,340.340 INFO    ] time= 29/08/2026 23:40:05
[2026-08-29 23:40:05,394.394 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:40:05,448.448 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:40:05,504.504 INFO    ] No existing commands found in stream
[2026-08-29 23:40:10,514.514 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:40:10,517.517 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-08-29 23:40:11,954.954 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:40:11,955.955 INFO    ] Checking for system updates...
[2026-08-29 23:40:11,976.976 INFO    ] 200
[2026-08-29 23:40:11,977.977 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:40:12,009.009 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:40:12,010.010 INFO    ] No update needed
[2026-08-29 23:40:12,011.011 INFO    ] Checking for camera pi updates...
[2026-08-29 23:40:12,031.031 INFO    ] 200
[2026-08-29 23:40:12,032.032 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:40:12,055.055 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:40:12,123.123 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:40:12,125.125 INFO    ] No camera update needed
[2026-08-29 23:40:12,126.126 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:40:12,127.127 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:40:12,130.130 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:40:12,133.133 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:40:14,175.175 INFO    ] ================================================
[2026-08-29 23:40:14,191.191 INFO    ] Launching Daemon at Sat Aug 29 23:40:14 IST 2026
[2026-08-29 23:40:14,202.202 INFO    ] ================================================
[2026-08-29 23:40:14,550.550 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:40:14
[2026-08-29 23:40:14,861.861 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:40:15,001.001 INFO    ] Initializing speech engine...
[2026-08-29 23:40:15,012.012 INFO    ] 2026-08-29 23:40:15
[2026-08-29 23:40:15,226.226 INFO    ] 2026-08-29 23:40:15
[2026-08-29 23:40:15,261.261 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:40:15,405.405 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:40:15,410.410 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:40:15,533.533 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:40:15,568.568 INFO    ] time= 29/08/2026 23:40:15
[2026-08-29 23:40:15,607.607 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:40:15,636.636 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:40:15,734.734 INFO    ] No existing commands found in stream
[2026-08-29 23:40:20,745.745 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:40:20,748.748 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 23:40:23,108.108 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:40:23,109.109 INFO    ] Checking for system updates...
[2026-08-29 23:40:23,129.129 INFO    ] 200
[2026-08-29 23:40:23,131.131 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:40:23,160.160 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:40:23,162.162 INFO    ] No update needed
[2026-08-29 23:40:23,163.163 INFO    ] Checking for camera pi updates...
[2026-08-29 23:40:23,184.184 INFO    ] 200
[2026-08-29 23:40:23,185.185 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:40:23,210.210 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:40:23,300.300 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:40:23,302.302 INFO    ] No camera update needed
[2026-08-29 23:40:23,303.303 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:40:23,304.304 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:40:23,307.307 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:40:23,310.310 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:40:25,348.348 INFO    ] ================================================
[2026-08-29 23:40:25,364.364 INFO    ] Launching Daemon at Sat Aug 29 23:40:25 IST 2026
[2026-08-29 23:40:25,375.375 INFO    ] ================================================
[2026-08-29 23:40:25,725.725 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:40:25
[2026-08-29 23:40:26,071.071 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:40:26,332.332 INFO    ] Initializing speech engine...
[2026-08-29 23:40:26,351.351 INFO    ] 2026-08-29 23:40:26
[2026-08-29 23:40:26,603.603 INFO    ] 2026-08-29 23:40:26
[2026-08-29 23:40:26,639.639 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:40:26,814.814 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:40:26,828.828 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:40:26,940.940 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:40:26,959.959 INFO    ] time= 29/08/2026 23:40:26
[2026-08-29 23:40:26,978.978 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:40:26,987.987 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:40:27,056.056 INFO    ] No existing commands found in stream
[2026-08-29 23:40:32,067.067 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:40:32,069.069 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-08-29 23:40:36,298.298 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:40:36,300.300 INFO    ] Checking for system updates...
[2026-08-29 23:40:36,323.323 INFO    ] 200
[2026-08-29 23:40:36,324.324 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:40:36,356.356 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:40:36,357.357 INFO    ] No update needed
[2026-08-29 23:40:36,359.359 INFO    ] Checking for camera pi updates...
[2026-08-29 23:40:36,379.379 INFO    ] 200
[2026-08-29 23:40:36,380.380 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:40:36,404.404 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:40:36,494.494 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:40:36,495.495 INFO    ] No camera update needed
[2026-08-29 23:40:36,497.497 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:40:36,498.498 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:40:36,501.501 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:40:36,503.503 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:40:38,542.542 INFO    ] ================================================
[2026-08-29 23:40:38,557.557 INFO    ] Launching Daemon at Sat Aug 29 23:40:38 IST 2026
[2026-08-29 23:40:38,568.568 INFO    ] ================================================
[2026-08-29 23:40:38,918.918 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:40:38
[2026-08-29 23:40:39,232.232 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:40:39,385.385 INFO    ] Initializing speech engine...
[2026-08-29 23:40:39,403.403 INFO    ] 2026-08-29 23:40:39
[2026-08-29 23:40:39,650.650 INFO    ] 2026-08-29 23:40:39
[2026-08-29 23:40:39,685.685 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:40:39,857.857 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:40:39,869.869 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:40:40,011.011 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:40:40,018.018 INFO    ] time= 29/08/2026 23:40:40
[2026-08-29 23:40:40,025.025 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:40:40,067.067 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:40:40,167.167 INFO    ] No existing commands found in stream
[2026-08-29 23:40:45,197.197 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:40:45,200.200 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-08-29 23:40:48,212.212 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:40:48,213.213 INFO    ] Checking for system updates...
[2026-08-29 23:40:48,235.235 INFO    ] 200
[2026-08-29 23:40:48,236.236 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:40:48,266.266 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:40:48,268.268 INFO    ] No update needed
[2026-08-29 23:40:48,269.269 INFO    ] Checking for camera pi updates...
[2026-08-29 23:40:48,289.289 INFO    ] 200
[2026-08-29 23:40:48,290.290 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:40:48,313.313 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:40:48,416.416 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:40:48,417.417 INFO    ] No camera update needed
[2026-08-29 23:40:48,418.418 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:40:48,419.419 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:40:48,422.422 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:40:48,425.425 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:40:50,465.465 INFO    ] ================================================
[2026-08-29 23:40:50,480.480 INFO    ] Launching Daemon at Sat Aug 29 23:40:50 IST 2026
[2026-08-29 23:40:50,492.492 INFO    ] ================================================
[2026-08-29 23:40:50,819.819 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:40:50
[2026-08-29 23:40:51,139.139 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:40:51,406.406 INFO    ] Initializing speech engine...
[2026-08-29 23:40:51,416.416 INFO    ] 2026-08-29 23:40:51
[2026-08-29 23:40:51,684.684 INFO    ] 2026-08-29 23:40:51
[2026-08-29 23:40:51,742.742 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:40:51,965.965 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:40:51,974.974 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:40:52,107.107 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:40:52,150.150 INFO    ] time= 29/08/2026 23:40:52
[2026-08-29 23:40:52,215.215 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:40:52,243.243 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:40:52,297.297 INFO    ] No existing commands found in stream
[2026-08-29 23:40:57,310.310 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:40:57,313.313 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-08-29 23:40:58,270.270 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:40:58,271.271 INFO    ] Checking for system updates...
[2026-08-29 23:40:58,293.293 INFO    ] 200
[2026-08-29 23:40:58,294.294 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:40:58,324.324 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:40:58,325.325 INFO    ] No update needed
[2026-08-29 23:40:58,326.326 INFO    ] Checking for camera pi updates...
[2026-08-29 23:40:58,349.349 INFO    ] 200
[2026-08-29 23:40:58,350.350 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:40:58,374.374 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:40:58,524.524 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:40:58,526.526 INFO    ] No camera update needed
[2026-08-29 23:40:58,529.529 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:40:58,531.531 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:40:58,536.536 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:40:58,541.541 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:41:00,582.582 INFO    ] ================================================
[2026-08-29 23:41:00,597.597 INFO    ] Launching Daemon at Sat Aug 29 23:41:00 IST 2026
[2026-08-29 23:41:00,609.609 INFO    ] ================================================
[2026-08-29 23:41:01,254.254 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:41:01
[2026-08-29 23:41:01,951.951 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:41:02,277.277 INFO    ] Initializing speech engine...
[2026-08-29 23:41:02,295.295 INFO    ] 2026-08-29 23:41:02
[2026-08-29 23:41:02,608.608 INFO    ] 2026-08-29 23:41:02
[2026-08-29 23:41:02,646.646 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:41:02,823.823 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:41:02,838.838 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:41:02,978.978 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:41:03,000.000 INFO    ] time= 29/08/2026 23:41:02
[2026-08-29 23:41:03,009.009 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:41:03,013.013 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:41:03,109.109 INFO    ] No existing commands found in stream
[2026-08-29 23:41:08,139.139 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:41:08,142.142 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-08-29 23:41:10,013.013 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:41:10,016.016 INFO    ] Checking for system updates...
[2026-08-29 23:41:10,055.055 INFO    ] 200
[2026-08-29 23:41:10,058.058 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:41:10,116.116 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:41:10,117.117 INFO    ] No update needed
[2026-08-29 23:41:10,118.118 INFO    ] Checking for camera pi updates...
[2026-08-29 23:41:10,140.140 INFO    ] 200
[2026-08-29 23:41:10,142.142 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:41:10,165.165 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:41:10,246.246 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:41:10,247.247 INFO    ] No camera update needed
[2026-08-29 23:41:10,249.249 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:41:10,250.250 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:41:10,253.253 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:41:10,256.256 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:41:12,296.296 INFO    ] ================================================
[2026-08-29 23:41:12,311.311 INFO    ] Launching Daemon at Sat Aug 29 23:41:12 IST 2026
[2026-08-29 23:41:12,322.322 INFO    ] ================================================
[2026-08-29 23:41:12,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:41:12
[2026-08-29 23:41:13,004.004 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:41:13,134.134 INFO    ] Initializing speech engine...
[2026-08-29 23:41:13,142.142 INFO    ] 2026-08-29 23:41:13
[2026-08-29 23:41:13,332.332 INFO    ] 2026-08-29 23:41:13
[2026-08-29 23:41:13,363.363 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:41:13,527.527 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:41:13,539.539 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:41:13,678.678 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:41:13,686.686 INFO    ] time= 29/08/2026 23:41:13
[2026-08-29 23:41:13,693.693 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:41:13,738.738 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:41:13,858.858 INFO    ] No existing commands found in stream
[2026-08-29 23:41:18,888.888 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:41:18,891.891 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-08-29 23:41:22,890.890 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:41:22,892.892 INFO    ] Checking for system updates...
[2026-08-29 23:41:22,913.913 INFO    ] 200
[2026-08-29 23:41:22,914.914 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:41:22,949.949 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:41:22,950.950 INFO    ] No update needed
[2026-08-29 23:41:22,951.951 INFO    ] Checking for camera pi updates...
[2026-08-29 23:41:22,970.970 INFO    ] 200
[2026-08-29 23:41:22,972.972 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:41:22,995.995 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:41:23,090.090 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:41:23,092.092 INFO    ] No camera update needed
[2026-08-29 23:41:23,093.093 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:41:23,094.094 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:41:23,097.097 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:41:23,100.100 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:41:25,140.140 INFO    ] ================================================
[2026-08-29 23:41:25,156.156 INFO    ] Launching Daemon at Sat Aug 29 23:41:25 IST 2026
[2026-08-29 23:41:25,168.168 INFO    ] ================================================
[2026-08-29 23:41:25,515.515 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:41:25
[2026-08-29 23:41:25,846.846 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:41:25,989.989 INFO    ] Initializing speech engine...
[2026-08-29 23:41:26,000.000 INFO    ] 2026-08-29 23:41:25
[2026-08-29 23:41:26,222.222 INFO    ] 2026-08-29 23:41:26
[2026-08-29 23:41:26,283.283 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:41:26,506.506 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:41:26,516.516 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:41:26,648.648 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:41:26,685.685 INFO    ] time= 29/08/2026 23:41:26
[2026-08-29 23:41:26,750.750 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:41:26,782.782 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:41:26,834.834 INFO    ] No existing commands found in stream
[2026-08-29 23:41:31,846.846 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:41:31,848.848 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-08-29 23:41:33,298.298 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:41:33,301.301 INFO    ] Checking for system updates...
[2026-08-29 23:41:33,338.338 INFO    ] 200
[2026-08-29 23:41:33,340.340 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:41:33,399.399 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:41:33,402.402 INFO    ] No update needed
[2026-08-29 23:41:33,405.405 INFO    ] Checking for camera pi updates...
[2026-08-29 23:41:33,439.439 INFO    ] 200
[2026-08-29 23:41:33,442.442 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:41:33,483.483 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:41:33,561.561 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:41:33,563.563 INFO    ] No camera update needed
[2026-08-29 23:41:33,566.566 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:41:33,569.569 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:41:33,575.575 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:41:33,580.580 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:41:35,620.620 INFO    ] ================================================
[2026-08-29 23:41:35,637.637 INFO    ] Launching Daemon at Sat Aug 29 23:41:35 IST 2026
[2026-08-29 23:41:35,648.648 INFO    ] ================================================
[2026-08-29 23:41:35,989.989 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:41:35
[2026-08-29 23:41:36,300.300 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:41:36,436.436 INFO    ] Initializing speech engine...
[2026-08-29 23:41:36,460.460 INFO    ] 2026-08-29 23:41:36
[2026-08-29 23:41:36,729.729 INFO    ] 2026-08-29 23:41:36
[2026-08-29 23:41:36,767.767 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:41:36,958.958 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:41:36,964.964 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:41:37,094.094 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:41:37,102.102 INFO    ] time= 29/08/2026 23:41:37
[2026-08-29 23:41:37,121.121 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:41:37,142.142 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:41:37,224.224 INFO    ] No existing commands found in stream
[2026-08-29 23:41:42,235.235 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:41:42,238.238 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-08-29 23:41:44,587.587 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:41:44,588.588 INFO    ] Checking for system updates...
[2026-08-29 23:41:44,609.609 INFO    ] 200
[2026-08-29 23:41:44,611.611 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:41:44,641.641 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:41:44,642.642 INFO    ] No update needed
[2026-08-29 23:41:44,643.643 INFO    ] Checking for camera pi updates...
[2026-08-29 23:41:44,663.663 INFO    ] 200
[2026-08-29 23:41:44,665.665 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:41:44,688.688 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:41:44,767.767 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:41:44,768.768 INFO    ] No camera update needed
[2026-08-29 23:41:44,769.769 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:41:44,771.771 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:41:44,774.774 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:41:44,776.776 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:41:46,814.814 INFO    ] ================================================
[2026-08-29 23:41:46,830.830 INFO    ] Launching Daemon at Sat Aug 29 23:41:46 IST 2026
[2026-08-29 23:41:46,842.842 INFO    ] ================================================
[2026-08-29 23:41:47,321.321 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:41:47
[2026-08-29 23:41:47,906.906 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:41:48,163.163 INFO    ] Initializing speech engine...
[2026-08-29 23:41:48,168.168 INFO    ] 2026-08-29 23:41:48
[2026-08-29 23:41:48,458.458 INFO    ] 2026-08-29 23:41:48
[2026-08-29 23:41:48,496.496 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:41:48,688.688 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:41:48,694.694 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:41:48,821.821 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:41:48,829.829 INFO    ] time= 29/08/2026 23:41:48
[2026-08-29 23:41:48,835.835 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:41:48,848.848 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:41:48,952.952 INFO    ] No existing commands found in stream
[2026-08-29 23:41:53,963.963 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:41:53,966.966 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-08-29 23:41:58,059.059 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:41:58,060.060 INFO    ] Checking for system updates...
[2026-08-29 23:41:58,081.081 INFO    ] 200
[2026-08-29 23:41:58,083.083 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:41:58,113.113 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:41:58,114.114 INFO    ] No update needed
[2026-08-29 23:41:58,115.115 INFO    ] Checking for camera pi updates...
[2026-08-29 23:41:58,149.149 INFO    ] 200
[2026-08-29 23:41:58,152.152 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:41:58,192.192 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:41:58,279.279 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:41:58,281.281 INFO    ] No camera update needed
[2026-08-29 23:41:58,284.284 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:41:58,286.286 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:41:58,291.291 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:41:58,296.296 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:42:00,336.336 INFO    ] ================================================
[2026-08-29 23:42:00,353.353 INFO    ] Launching Daemon at Sat Aug 29 23:42:00 IST 2026
[2026-08-29 23:42:00,364.364 INFO    ] ================================================
[2026-08-29 23:42:00,944.944 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:42:00
[2026-08-29 23:42:01,429.429 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:42:01,965.965 INFO    ] Initializing speech engine...
[2026-08-29 23:42:01,971.971 INFO    ] 2026-08-29 23:42:01
[2026-08-29 23:42:02,285.285 INFO    ] 2026-08-29 23:42:02
[2026-08-29 23:42:02,345.345 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:42:02,578.578 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:42:02,586.586 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:42:02,733.733 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:42:02,802.802 INFO    ] time= 29/08/2026 23:42:02
[2026-08-29 23:42:02,864.864 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:42:02,896.896 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:42:02,957.957 INFO    ] No existing commands found in stream
[2026-08-29 23:42:07,969.969 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:42:07,971.971 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-08-29 23:42:11,853.853 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:42:11,855.855 INFO    ] Checking for system updates...
[2026-08-29 23:42:11,875.875 INFO    ] 200
[2026-08-29 23:42:11,876.876 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:42:11,909.909 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:42:11,910.910 INFO    ] No update needed
[2026-08-29 23:42:11,911.911 INFO    ] Checking for camera pi updates...
[2026-08-29 23:42:11,931.931 INFO    ] 200
[2026-08-29 23:42:11,932.932 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:42:11,956.956 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:42:12,041.041 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:42:12,042.042 INFO    ] No camera update needed
[2026-08-29 23:42:12,044.044 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:42:12,045.045 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:42:12,048.048 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:42:12,051.051 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:42:14,090.090 INFO    ] ================================================
[2026-08-29 23:42:14,106.106 INFO    ] Launching Daemon at Sat Aug 29 23:42:14 IST 2026
[2026-08-29 23:42:14,118.118 INFO    ] ================================================
[2026-08-29 23:42:14,468.468 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:42:14
[2026-08-29 23:42:14,779.779 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:42:14,909.909 INFO    ] Initializing speech engine...
[2026-08-29 23:42:14,914.914 INFO    ] 2026-08-29 23:42:14
[2026-08-29 23:42:15,132.132 INFO    ] 2026-08-29 23:42:15
[2026-08-29 23:42:15,219.219 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:42:15,390.390 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:42:15,399.399 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:42:15,542.542 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:42:15,556.556 INFO    ] time= 29/08/2026 23:42:15
[2026-08-29 23:42:15,595.595 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:42:15,655.655 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:42:15,727.727 INFO    ] No existing commands found in stream
[2026-08-29 23:42:20,743.743 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:42:20,745.745 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-08-29 23:42:23,268.268 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:42:23,271.271 INFO    ] Checking for system updates...
[2026-08-29 23:42:23,308.308 INFO    ] 200
[2026-08-29 23:42:23,311.311 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:42:23,370.370 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:42:23,373.373 INFO    ] No update needed
[2026-08-29 23:42:23,376.376 INFO    ] Checking for camera pi updates...
[2026-08-29 23:42:23,410.410 INFO    ] 200
[2026-08-29 23:42:23,413.413 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:42:23,456.456 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:42:23,573.573 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:42:23,576.576 INFO    ] No camera update needed
[2026-08-29 23:42:23,579.579 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:42:23,581.581 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:42:23,587.587 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:42:23,593.593 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:42:25,635.635 INFO    ] ================================================
[2026-08-29 23:42:25,651.651 INFO    ] Launching Daemon at Sat Aug 29 23:42:25 IST 2026
[2026-08-29 23:42:25,662.662 INFO    ] ================================================
[2026-08-29 23:42:26,202.202 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:42:26
[2026-08-29 23:42:26,648.648 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:42:26,909.909 INFO    ] Initializing speech engine...
[2026-08-29 23:42:26,933.933 INFO    ] 2026-08-29 23:42:26
[2026-08-29 23:42:27,207.207 INFO    ] 2026-08-29 23:42:27
[2026-08-29 23:42:27,241.241 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:42:27,385.385 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:42:27,392.392 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:42:27,541.541 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:42:27,550.550 INFO    ] time= 29/08/2026 23:42:27
[2026-08-29 23:42:27,555.555 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:42:27,560.560 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:42:27,626.626 INFO    ] No existing commands found in stream
[2026-08-29 23:42:32,640.640 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:42:32,644.644 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-08-29 23:42:37,291.291 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:42:37,293.293 INFO    ] Checking for system updates...
[2026-08-29 23:42:37,329.329 INFO    ] 200
[2026-08-29 23:42:37,332.332 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:42:37,390.390 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:42:37,393.393 INFO    ] No update needed
[2026-08-29 23:42:37,395.395 INFO    ] Checking for camera pi updates...
[2026-08-29 23:42:37,429.429 INFO    ] 200
[2026-08-29 23:42:37,431.431 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:42:37,474.474 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:42:37,553.553 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:42:37,555.555 INFO    ] No camera update needed
[2026-08-29 23:42:37,558.558 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:42:37,560.560 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:42:37,565.565 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:42:37,570.570 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:42:39,610.610 INFO    ] ================================================
[2026-08-29 23:42:39,626.626 INFO    ] Launching Daemon at Sat Aug 29 23:42:39 IST 2026
[2026-08-29 23:42:39,636.636 INFO    ] ================================================
[2026-08-29 23:42:40,010.010 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:42:40
[2026-08-29 23:42:40,343.343 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:42:40,494.494 INFO    ] Initializing speech engine...
[2026-08-29 23:42:40,498.498 INFO    ] 2026-08-29 23:42:40
[2026-08-29 23:42:40,691.691 INFO    ] 2026-08-29 23:42:40
[2026-08-29 23:42:40,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:42:40,983.983 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:42:40,992.992 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:42:41,128.128 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:42:41,181.181 INFO    ] time= 29/08/2026 23:42:41
[2026-08-29 23:42:41,241.241 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:42:41,268.268 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:42:41,320.320 INFO    ] No existing commands found in stream
[2026-08-29 23:42:46,333.333 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:42:46,336.336 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-08-29 23:42:48,901.901 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:42:48,902.902 INFO    ] Checking for system updates...
[2026-08-29 23:42:48,923.923 INFO    ] 200
[2026-08-29 23:42:48,924.924 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:42:48,953.953 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:42:48,955.955 INFO    ] No update needed
[2026-08-29 23:42:48,956.956 INFO    ] Checking for camera pi updates...
[2026-08-29 23:42:48,975.975 INFO    ] 200
[2026-08-29 23:42:48,976.976 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:42:48,999.999 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:42:49,182.182 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:42:49,183.183 INFO    ] No camera update needed
[2026-08-29 23:42:49,185.185 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:42:49,186.186 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:42:49,189.189 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:42:49,191.191 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:42:51,231.231 INFO    ] ================================================
[2026-08-29 23:42:51,246.246 INFO    ] Launching Daemon at Sat Aug 29 23:42:51 IST 2026
[2026-08-29 23:42:51,256.256 INFO    ] ================================================
[2026-08-29 23:42:51,583.583 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:42:51
[2026-08-29 23:42:51,914.914 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:42:52,064.064 INFO    ] Initializing speech engine...
[2026-08-29 23:42:52,070.070 INFO    ] 2026-08-29 23:42:52
[2026-08-29 23:42:52,278.278 INFO    ] 2026-08-29 23:42:52
[2026-08-29 23:42:52,307.307 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:42:52,430.430 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:42:52,493.493 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:42:52,625.625 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:42:52,691.691 INFO    ] time= 29/08/2026 23:42:52
[2026-08-29 23:42:52,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:42:52,730.730 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:42:52,809.809 INFO    ] No existing commands found in stream
[2026-08-29 23:42:57,823.823 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:42:57,826.826 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-08-29 23:43:01,985.985 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:43:01,988.988 INFO    ] Checking for system updates...
[2026-08-29 23:43:02,032.032 INFO    ] 200
[2026-08-29 23:43:02,035.035 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:43:02,109.109 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:43:02,112.112 INFO    ] No update needed
[2026-08-29 23:43:02,115.115 INFO    ] Checking for camera pi updates...
[2026-08-29 23:43:02,160.160 INFO    ] 200
[2026-08-29 23:43:02,163.163 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:43:02,215.215 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:43:02,326.326 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:43:02,329.329 INFO    ] No camera update needed
[2026-08-29 23:43:02,332.332 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:43:02,335.335 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:43:02,341.341 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:43:02,348.348 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:43:04,388.388 INFO    ] ================================================
[2026-08-29 23:43:04,404.404 INFO    ] Launching Daemon at Sat Aug 29 23:43:04 IST 2026
[2026-08-29 23:43:04,414.414 INFO    ] ================================================
[2026-08-29 23:43:04,797.797 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:43:04
[2026-08-29 23:43:05,108.108 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:43:05,253.253 INFO    ] Initializing speech engine...
[2026-08-29 23:43:05,259.259 INFO    ] 2026-08-29 23:43:05
[2026-08-29 23:43:05,489.489 INFO    ] 2026-08-29 23:43:05
[2026-08-29 23:43:05,527.527 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:43:05,720.720 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:43:05,733.733 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:43:05,856.856 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:43:05,877.877 INFO    ] time= 29/08/2026 23:43:05
[2026-08-29 23:43:05,898.898 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:43:05,907.907 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:43:05,981.981 INFO    ] No existing commands found in stream
[2026-08-29 23:43:10,993.993 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:43:10,996.996 INFO    ] Waiting 0.00 seconds before fallback handling...
[2026-08-29 23:43:11,326.326 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:43:11,327.327 INFO    ] Checking for system updates...
[2026-08-29 23:43:11,348.348 INFO    ] 200
[2026-08-29 23:43:11,350.350 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:43:11,379.379 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:43:11,381.381 INFO    ] No update needed
[2026-08-29 23:43:11,382.382 INFO    ] Checking for camera pi updates...
[2026-08-29 23:43:11,401.401 INFO    ] 200
[2026-08-29 23:43:11,403.403 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:43:11,425.425 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:43:11,499.499 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:43:11,501.501 INFO    ] No camera update needed
[2026-08-29 23:43:11,502.502 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:43:11,503.503 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:43:11,506.506 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:43:11,509.509 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:43:13,554.554 INFO    ] ================================================
[2026-08-29 23:43:13,570.570 INFO    ] Launching Daemon at Sat Aug 29 23:43:13 IST 2026
[2026-08-29 23:43:13,581.581 INFO    ] ================================================
[2026-08-29 23:43:14,166.166 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:43:14
[2026-08-29 23:43:14,754.754 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:43:15,050.050 INFO    ] Initializing speech engine...
[2026-08-29 23:43:15,057.057 INFO    ] 2026-08-29 23:43:15
[2026-08-29 23:43:15,326.326 INFO    ] 2026-08-29 23:43:15
[2026-08-29 23:43:15,381.381 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:43:15,607.607 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:43:15,616.616 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:43:15,749.749 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:43:15,776.776 INFO    ] time= 29/08/2026 23:43:15
[2026-08-29 23:43:15,831.831 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:43:15,882.882 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:43:15,937.937 INFO    ] No existing commands found in stream
[2026-08-29 23:43:20,951.951 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:43:20,954.954 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-08-29 23:43:25,040.040 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:43:25,042.042 INFO    ] Checking for system updates...
[2026-08-29 23:43:25,063.063 INFO    ] 200
[2026-08-29 23:43:25,064.064 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:43:25,096.096 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:43:25,097.097 INFO    ] No update needed
[2026-08-29 23:43:25,099.099 INFO    ] Checking for camera pi updates...
[2026-08-29 23:43:25,120.120 INFO    ] 200
[2026-08-29 23:43:25,122.122 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:43:25,145.145 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:43:25,227.227 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:43:25,228.228 INFO    ] No camera update needed
[2026-08-29 23:43:25,229.229 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:43:25,230.230 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:43:25,233.233 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:43:25,236.236 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:43:27,274.274 INFO    ] ================================================
[2026-08-29 23:43:27,290.290 INFO    ] Launching Daemon at Sat Aug 29 23:43:27 IST 2026
[2026-08-29 23:43:27,300.300 INFO    ] ================================================
[2026-08-29 23:43:27,626.626 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:43:27
[2026-08-29 23:43:27,938.938 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:43:28,080.080 INFO    ] Initializing speech engine...
[2026-08-29 23:43:28,087.087 INFO    ] 2026-08-29 23:43:28
[2026-08-29 23:43:28,304.304 INFO    ] 2026-08-29 23:43:28
[2026-08-29 23:43:28,334.334 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:43:28,463.463 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:43:28,497.497 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:43:28,634.634 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:43:28,672.672 INFO    ] time= 29/08/2026 23:43:28
[2026-08-29 23:43:28,713.713 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:43:28,755.755 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:43:28,851.851 INFO    ] No existing commands found in stream
[2026-08-29 23:43:33,860.860 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:43:33,863.863 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-08-29 23:43:37,648.648 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:43:37,650.650 INFO    ] Checking for system updates...
[2026-08-29 23:43:37,672.672 INFO    ] 200
[2026-08-29 23:43:37,674.674 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:43:37,727.727 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:43:37,729.729 INFO    ] No update needed
[2026-08-29 23:43:37,732.732 INFO    ] Checking for camera pi updates...
[2026-08-29 23:43:37,767.767 INFO    ] 200
[2026-08-29 23:43:37,770.770 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:43:37,810.810 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:43:37,888.888 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:43:37,890.890 INFO    ] No camera update needed
[2026-08-29 23:43:37,893.893 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:43:37,895.895 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:43:37,900.900 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:43:37,905.905 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:43:39,945.945 INFO    ] ================================================
[2026-08-29 23:43:39,960.960 INFO    ] Launching Daemon at Sat Aug 29 23:43:39 IST 2026
[2026-08-29 23:43:39,970.970 INFO    ] ================================================
[2026-08-29 23:43:40,538.538 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:43:40
[2026-08-29 23:43:40,972.972 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:43:41,103.103 INFO    ] Initializing speech engine...
[2026-08-29 23:43:41,111.111 INFO    ] 2026-08-29 23:43:41
[2026-08-29 23:43:41,325.325 INFO    ] 2026-08-29 23:43:41
[2026-08-29 23:43:41,354.354 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:43:41,477.477 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:43:41,521.521 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:43:41,678.678 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:43:41,741.741 INFO    ] time= 29/08/2026 23:43:41
[2026-08-29 23:43:41,774.774 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:43:41,776.776 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:43:41,847.847 INFO    ] No existing commands found in stream
[2026-08-29 23:43:46,858.858 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:43:46,861.861 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-08-29 23:43:47,589.589 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:43:47,590.590 INFO    ] Checking for system updates...
[2026-08-29 23:43:47,611.611 INFO    ] 200
[2026-08-29 23:43:47,612.612 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:43:47,642.642 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:43:47,644.644 INFO    ] No update needed
[2026-08-29 23:43:47,645.645 INFO    ] Checking for camera pi updates...
[2026-08-29 23:43:47,665.665 INFO    ] 200
[2026-08-29 23:43:47,666.666 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:43:47,689.689 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:43:47,794.794 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:43:47,795.795 INFO    ] No camera update needed
[2026-08-29 23:43:47,796.796 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:43:47,798.798 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:43:47,801.801 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:43:47,803.803 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:43:49,843.843 INFO    ] ================================================
[2026-08-29 23:43:49,858.858 INFO    ] Launching Daemon at Sat Aug 29 23:43:49 IST 2026
[2026-08-29 23:43:49,869.869 INFO    ] ================================================
[2026-08-29 23:43:50,234.234 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:43:50
[2026-08-29 23:43:50,568.568 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:43:50,717.717 INFO    ] Initializing speech engine...
[2026-08-29 23:43:50,723.723 INFO    ] 2026-08-29 23:43:50
[2026-08-29 23:43:50,931.931 INFO    ] 2026-08-29 23:43:50
[2026-08-29 23:43:50,959.959 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:43:51,097.097 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:43:51,145.145 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:43:51,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:43:51,327.327 INFO    ] time= 29/08/2026 23:43:51
[2026-08-29 23:43:51,366.366 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:43:51,376.376 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:43:51,447.447 INFO    ] No existing commands found in stream
[2026-08-29 23:43:56,458.458 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:43:56,461.461 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-08-29 23:44:00,368.368 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:44:00,370.370 INFO    ] Checking for system updates...
[2026-08-29 23:44:00,391.391 INFO    ] 200
[2026-08-29 23:44:00,392.392 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:44:00,423.423 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:44:00,424.424 INFO    ] No update needed
[2026-08-29 23:44:00,425.425 INFO    ] Checking for camera pi updates...
[2026-08-29 23:44:00,444.444 INFO    ] 200
[2026-08-29 23:44:00,446.446 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:44:00,472.472 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:44:00,584.584 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:44:00,587.587 INFO    ] No camera update needed
[2026-08-29 23:44:00,589.589 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:44:00,591.591 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:44:00,596.596 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:44:00,601.601 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:44:02,644.644 INFO    ] ================================================
[2026-08-29 23:44:02,663.663 INFO    ] Launching Daemon at Sat Aug 29 23:44:02 IST 2026
[2026-08-29 23:44:02,679.679 INFO    ] ================================================
[2026-08-29 23:44:03,266.266 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:44:03
[2026-08-29 23:44:03,731.731 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:44:03,863.863 INFO    ] Initializing speech engine...
[2026-08-29 23:44:03,875.875 INFO    ] 2026-08-29 23:44:03
[2026-08-29 23:44:04,083.083 INFO    ] 2026-08-29 23:44:04
[2026-08-29 23:44:04,162.162 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:44:04,309.309 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:44:04,319.319 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:44:04,452.452 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:44:04,517.517 INFO    ] time= 29/08/2026 23:44:04
[2026-08-29 23:44:04,578.578 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:44:04,585.585 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:44:04,693.693 INFO    ] No existing commands found in stream
[2026-08-29 23:44:09,715.715 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:44:09,718.718 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-08-29 23:44:11,184.184 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:44:11,185.185 INFO    ] Checking for system updates...
[2026-08-29 23:44:11,206.206 INFO    ] 200
[2026-08-29 23:44:11,208.208 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:44:11,238.238 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:44:11,239.239 INFO    ] No update needed
[2026-08-29 23:44:11,240.240 INFO    ] Checking for camera pi updates...
[2026-08-29 23:44:11,259.259 INFO    ] 200
[2026-08-29 23:44:11,261.261 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:44:11,285.285 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:44:11,385.385 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:44:11,386.386 INFO    ] No camera update needed
[2026-08-29 23:44:11,388.388 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:44:11,389.389 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:44:11,392.392 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:44:11,394.394 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:44:13,434.434 INFO    ] ================================================
[2026-08-29 23:44:13,449.449 INFO    ] Launching Daemon at Sat Aug 29 23:44:13 IST 2026
[2026-08-29 23:44:13,460.460 INFO    ] ================================================
[2026-08-29 23:44:13,789.789 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:44:13
[2026-08-29 23:44:14,099.099 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:44:14,232.232 INFO    ] Initializing speech engine...
[2026-08-29 23:44:14,235.235 INFO    ] 2026-08-29 23:44:14
[2026-08-29 23:44:14,459.459 INFO    ] 2026-08-29 23:44:14
[2026-08-29 23:44:14,489.489 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:44:14,619.619 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:44:14,657.657 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:44:14,789.789 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:44:14,827.827 INFO    ] time= 29/08/2026 23:44:14
[2026-08-29 23:44:14,878.878 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:44:14,915.915 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:44:15,006.006 INFO    ] No existing commands found in stream
[2026-08-29 23:44:20,017.017 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:44:20,019.019 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-08-29 23:44:20,492.492 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:44:20,494.494 INFO    ] Checking for system updates...
[2026-08-29 23:44:20,515.515 INFO    ] 200
[2026-08-29 23:44:20,516.516 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:44:20,549.549 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:44:20,551.551 INFO    ] No update needed
[2026-08-29 23:44:20,553.553 INFO    ] Checking for camera pi updates...
[2026-08-29 23:44:20,572.572 INFO    ] 200
[2026-08-29 23:44:20,573.573 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:44:20,596.596 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:44:20,682.682 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:44:20,683.683 INFO    ] No camera update needed
[2026-08-29 23:44:20,685.685 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:44:20,686.686 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:44:20,689.689 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:44:20,692.692 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:44:22,732.732 INFO    ] ================================================
[2026-08-29 23:44:22,747.747 INFO    ] Launching Daemon at Sat Aug 29 23:44:22 IST 2026
[2026-08-29 23:44:22,757.757 INFO    ] ================================================
[2026-08-29 23:44:23,105.105 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:44:23
[2026-08-29 23:44:23,436.436 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:44:23,585.585 INFO    ] Initializing speech engine...
[2026-08-29 23:44:23,590.590 INFO    ] 2026-08-29 23:44:23
[2026-08-29 23:44:23,798.798 INFO    ] 2026-08-29 23:44:23
[2026-08-29 23:44:23,826.826 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:44:23,954.954 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:44:24,012.012 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:44:24,146.146 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:44:24,204.204 INFO    ] time= 29/08/2026 23:44:24
[2026-08-29 23:44:24,241.241 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:44:24,248.248 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:44:24,314.314 INFO    ] No existing commands found in stream
[2026-08-29 23:44:29,324.324 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:44:29,327.327 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-08-29 23:44:31,477.477 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:44:31,480.480 INFO    ] Checking for system updates...
[2026-08-29 23:44:31,522.522 INFO    ] 200
[2026-08-29 23:44:31,525.525 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:44:31,584.584 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:44:31,587.587 INFO    ] No update needed
[2026-08-29 23:44:31,590.590 INFO    ] Checking for camera pi updates...
[2026-08-29 23:44:31,628.628 INFO    ] 200
[2026-08-29 23:44:31,631.631 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:44:31,681.681 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:44:31,801.801 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:44:31,804.804 INFO    ] No camera update needed
[2026-08-29 23:44:31,808.808 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:44:31,812.812 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:44:31,820.820 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:44:31,828.828 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:44:33,871.871 INFO    ] ================================================
[2026-08-29 23:44:33,886.886 INFO    ] Launching Daemon at Sat Aug 29 23:44:33 IST 2026
[2026-08-29 23:44:33,896.896 INFO    ] ================================================
[2026-08-29 23:44:34,499.499 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:44:34
[2026-08-29 23:44:34,840.840 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:44:34,993.993 INFO    ] Initializing speech engine...
[2026-08-29 23:44:34,998.998 INFO    ] 2026-08-29 23:44:34
[2026-08-29 23:44:35,206.206 INFO    ] 2026-08-29 23:44:35
[2026-08-29 23:44:35,235.235 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:44:35,358.358 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:44:35,421.421 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:44:35,558.558 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:44:35,622.622 INFO    ] time= 29/08/2026 23:44:35
[2026-08-29 23:44:35,649.649 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:44:35,656.656 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:44:35,721.721 INFO    ] No existing commands found in stream
[2026-08-29 23:44:40,732.732 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:44:40,736.736 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-08-29 23:44:44,509.509 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:44:44,511.511 INFO    ] Checking for system updates...
[2026-08-29 23:44:44,533.533 INFO    ] 200
[2026-08-29 23:44:44,535.535 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:44:44,566.566 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:44:44,567.567 INFO    ] No update needed
[2026-08-29 23:44:44,569.569 INFO    ] Checking for camera pi updates...
[2026-08-29 23:44:44,588.588 INFO    ] 200
[2026-08-29 23:44:44,590.590 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:44:44,617.617 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:44:44,702.702 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:44:44,703.703 INFO    ] No camera update needed
[2026-08-29 23:44:44,705.705 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:44:44,706.706 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:44:44,709.709 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:44:44,712.712 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:44:46,752.752 INFO    ] ================================================
[2026-08-29 23:44:46,767.767 INFO    ] Launching Daemon at Sat Aug 29 23:44:46 IST 2026
[2026-08-29 23:44:46,777.777 INFO    ] ================================================
[2026-08-29 23:44:47,139.139 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:44:47
[2026-08-29 23:44:47,630.630 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:44:47,895.895 INFO    ] Initializing speech engine...
[2026-08-29 23:44:47,908.908 INFO    ] 2026-08-29 23:44:47
[2026-08-29 23:44:48,155.155 INFO    ] 2026-08-29 23:44:48
[2026-08-29 23:44:48,191.191 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:44:48,362.362 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:44:48,375.375 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:44:48,500.500 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:44:48,523.523 INFO    ] time= 29/08/2026 23:44:48
[2026-08-29 23:44:48,528.528 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:44:48,534.534 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:44:48,601.601 INFO    ] No existing commands found in stream
[2026-08-29 23:44:53,616.616 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:44:53,618.618 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-08-29 23:44:57,390.390 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:44:57,392.392 INFO    ] Checking for system updates...
[2026-08-29 23:44:57,432.432 INFO    ] 200
[2026-08-29 23:44:57,434.434 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:44:57,487.487 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:44:57,489.489 INFO    ] No update needed
[2026-08-29 23:44:57,492.492 INFO    ] Checking for camera pi updates...
[2026-08-29 23:44:57,525.525 INFO    ] 200
[2026-08-29 23:44:57,528.528 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:44:57,568.568 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:44:57,768.768 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:44:57,770.770 INFO    ] No camera update needed
[2026-08-29 23:44:57,773.773 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:44:57,775.775 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:44:57,780.780 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:44:57,785.785 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:44:59,827.827 INFO    ] ================================================
[2026-08-29 23:44:59,842.842 INFO    ] Launching Daemon at Sat Aug 29 23:44:59 IST 2026
[2026-08-29 23:44:59,853.853 INFO    ] ================================================
[2026-08-29 23:45:00,486.486 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:45:00
[2026-08-29 23:45:00,828.828 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:45:00,981.981 INFO    ] Initializing speech engine...
[2026-08-29 23:45:00,986.986 INFO    ] 2026-08-29 23:45:00
[2026-08-29 23:45:01,194.194 INFO    ] 2026-08-29 23:45:01
[2026-08-29 23:45:01,223.223 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:45:01,346.346 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:45:01,409.409 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:45:01,540.540 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:45:01,606.606 INFO    ] time= 29/08/2026 23:45:01
[2026-08-29 23:45:01,639.639 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:45:01,641.641 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:45:01,713.713 INFO    ] No existing commands found in stream
[2026-08-29 23:45:06,723.723 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:45:06,726.726 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-08-29 23:45:09,634.634 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:45:09,637.637 INFO    ] Checking for system updates...
[2026-08-29 23:45:09,678.678 INFO    ] 200
[2026-08-29 23:45:09,681.681 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:45:09,745.745 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:45:09,747.747 INFO    ] No update needed
[2026-08-29 23:45:09,750.750 INFO    ] Checking for camera pi updates...
[2026-08-29 23:45:09,786.786 INFO    ] 200
[2026-08-29 23:45:09,788.788 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:45:09,830.830 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:45:09,934.934 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:45:09,937.937 INFO    ] No camera update needed
[2026-08-29 23:45:09,939.939 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:45:09,942.942 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:45:09,948.948 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:45:09,954.954 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:45:12,995.995 INFO    ] ================================================
[2026-08-29 23:45:12,010.010 INFO    ] Launching Daemon at Sat Aug 29 23:45:12 IST 2026
[2026-08-29 23:45:12,021.021 INFO    ] ================================================
[2026-08-29 23:45:12,400.400 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:45:12
[2026-08-29 23:45:12,988.988 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:45:13,262.262 INFO    ] Initializing speech engine...
[2026-08-29 23:45:13,270.270 INFO    ] 2026-08-29 23:45:13
[2026-08-29 23:45:13,530.530 INFO    ] 2026-08-29 23:45:13
[2026-08-29 23:45:13,565.565 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:45:13,742.742 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:45:13,748.748 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:45:13,900.900 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:45:13,912.912 INFO    ] time= 29/08/2026 23:45:13
[2026-08-29 23:45:13,917.917 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:45:13,923.923 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:45:13,987.987 INFO    ] No existing commands found in stream
[2026-08-29 23:45:18,999.999 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:45:19,002.002 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-08-29 23:45:19,438.438 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:45:19,440.440 INFO    ] Checking for system updates...
[2026-08-29 23:45:19,460.460 INFO    ] 200
[2026-08-29 23:45:19,462.462 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:45:19,493.493 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:45:19,494.494 INFO    ] No update needed
[2026-08-29 23:45:19,495.495 INFO    ] Checking for camera pi updates...
[2026-08-29 23:45:19,518.518 INFO    ] 200
[2026-08-29 23:45:19,519.519 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:45:19,542.542 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:45:19,625.625 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:45:19,626.626 INFO    ] No camera update needed
[2026-08-29 23:45:19,627.627 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:45:19,629.629 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:45:19,632.632 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:45:19,634.634 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:45:21,674.674 INFO    ] ================================================
[2026-08-29 23:45:21,689.689 INFO    ] Launching Daemon at Sat Aug 29 23:45:21 IST 2026
[2026-08-29 23:45:21,700.700 INFO    ] ================================================
[2026-08-29 23:45:22,223.223 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:45:22
[2026-08-29 23:45:22,813.813 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:45:23,090.090 INFO    ] Initializing speech engine...
[2026-08-29 23:45:23,097.097 INFO    ] 2026-08-29 23:45:23
[2026-08-29 23:45:23,343.343 INFO    ] 2026-08-29 23:45:23
[2026-08-29 23:45:23,378.378 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:45:23,553.553 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:45:23,566.566 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:45:23,712.712 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:45:23,717.717 INFO    ] time= 29/08/2026 23:45:23
[2026-08-29 23:45:23,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:45:23,774.774 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:45:23,878.878 INFO    ] No existing commands found in stream
[2026-08-29 23:45:28,903.903 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:45:28,906.906 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-08-29 23:45:34,395.395 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:45:34,398.398 INFO    ] Checking for system updates...
[2026-08-29 23:45:34,435.435 INFO    ] 200
[2026-08-29 23:45:34,437.437 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:45:34,491.491 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:45:34,494.494 INFO    ] No update needed
[2026-08-29 23:45:34,496.496 INFO    ] Checking for camera pi updates...
[2026-08-29 23:45:34,530.530 INFO    ] 200
[2026-08-29 23:45:34,533.533 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:45:34,578.578 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:45:34,703.703 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:45:34,706.706 INFO    ] No camera update needed
[2026-08-29 23:45:34,708.708 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:45:34,710.710 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:45:34,716.716 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:45:34,720.720 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:45:36,762.762 INFO    ] ================================================
[2026-08-29 23:45:36,777.777 INFO    ] Launching Daemon at Sat Aug 29 23:45:36 IST 2026
[2026-08-29 23:45:36,787.787 INFO    ] ================================================
[2026-08-29 23:45:37,170.170 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:45:37
[2026-08-29 23:45:37,504.504 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:45:37,694.694 INFO    ] Initializing speech engine...
[2026-08-29 23:45:37,708.708 INFO    ] 2026-08-29 23:45:37
[2026-08-29 23:45:37,968.968 INFO    ] 2026-08-29 23:45:37
[2026-08-29 23:45:38,003.003 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:45:38,174.174 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:45:38,187.187 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:45:38,327.327 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:45:38,335.335 INFO    ] time= 29/08/2026 23:45:38
[2026-08-29 23:45:38,341.341 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:45:38,392.392 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:45:38,498.498 INFO    ] No existing commands found in stream
[2026-08-29 23:45:43,533.533 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:45:43,536.536 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-08-29 23:45:44,184.184 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:45:44,186.186 INFO    ] Checking for system updates...
[2026-08-29 23:45:44,207.207 INFO    ] 200
[2026-08-29 23:45:44,208.208 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:45:44,239.239 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:45:44,240.240 INFO    ] No update needed
[2026-08-29 23:45:44,242.242 INFO    ] Checking for camera pi updates...
[2026-08-29 23:45:44,262.262 INFO    ] 200
[2026-08-29 23:45:44,263.263 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:45:44,286.286 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:45:44,361.361 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:45:44,363.363 INFO    ] No camera update needed
[2026-08-29 23:45:44,364.364 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:45:44,365.365 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:45:44,369.369 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:45:44,371.371 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:45:46,412.412 INFO    ] ================================================
[2026-08-29 23:45:46,427.427 INFO    ] Launching Daemon at Sat Aug 29 23:45:46 IST 2026
[2026-08-29 23:45:46,437.437 INFO    ] ================================================
[2026-08-29 23:45:46,806.806 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:45:46
[2026-08-29 23:45:47,142.142 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:45:47,293.293 INFO    ] Initializing speech engine...
[2026-08-29 23:45:47,299.299 INFO    ] 2026-08-29 23:45:47
[2026-08-29 23:45:47,507.507 INFO    ] 2026-08-29 23:45:47
[2026-08-29 23:45:47,537.537 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:45:47,683.683 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:45:47,691.691 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:45:47,851.851 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:45:47,890.890 INFO    ] time= 29/08/2026 23:45:47
[2026-08-29 23:45:47,896.896 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:45:47,915.915 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:45:48,030.030 INFO    ] No existing commands found in stream
[2026-08-29 23:45:53,053.053 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:45:53,055.055 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-08-29 23:45:53,465.465 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:45:53,466.466 INFO    ] Checking for system updates...
[2026-08-29 23:45:53,488.488 INFO    ] 200
[2026-08-29 23:45:53,489.489 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:45:53,522.522 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:45:53,523.523 INFO    ] No update needed
[2026-08-29 23:45:53,524.524 INFO    ] Checking for camera pi updates...
[2026-08-29 23:45:53,546.546 INFO    ] 200
[2026-08-29 23:45:53,547.547 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:45:53,574.574 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:45:53,651.651 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:45:53,652.652 INFO    ] No camera update needed
[2026-08-29 23:45:53,654.654 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:45:53,655.655 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:45:53,658.658 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:45:53,661.661 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:45:55,702.702 INFO    ] ================================================
[2026-08-29 23:45:55,717.717 INFO    ] Launching Daemon at Sat Aug 29 23:45:55 IST 2026
[2026-08-29 23:45:55,728.728 INFO    ] ================================================
[2026-08-29 23:45:56,077.077 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:45:56
[2026-08-29 23:45:56,412.412 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:45:56,550.550 INFO    ] Initializing speech engine...
[2026-08-29 23:45:56,564.564 INFO    ] 2026-08-29 23:45:56
[2026-08-29 23:45:56,775.775 INFO    ] 2026-08-29 23:45:56
[2026-08-29 23:45:56,804.804 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:45:56,943.943 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:45:56,952.952 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:45:57,126.126 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:45:57,155.155 INFO    ] time= 29/08/2026 23:45:57
[2026-08-29 23:45:57,173.173 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:45:57,192.192 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:45:57,309.309 INFO    ] No existing commands found in stream
[2026-08-29 23:46:02,323.323 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:46:02,327.327 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-08-29 23:46:04,964.964 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:46:04,965.965 INFO    ] Checking for system updates...
[2026-08-29 23:46:04,987.987 INFO    ] 200
[2026-08-29 23:46:04,988.988 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:46:05,020.020 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:46:05,022.022 INFO    ] No update needed
[2026-08-29 23:46:05,024.024 INFO    ] Checking for camera pi updates...
[2026-08-29 23:46:05,044.044 INFO    ] 200
[2026-08-29 23:46:05,045.045 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:46:05,068.068 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:46:05,175.175 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:46:05,176.176 INFO    ] No camera update needed
[2026-08-29 23:46:05,178.178 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:46:05,179.179 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:46:05,182.182 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:46:05,185.185 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:46:07,223.223 INFO    ] ================================================
[2026-08-29 23:46:07,238.238 INFO    ] Launching Daemon at Sat Aug 29 23:46:07 IST 2026
[2026-08-29 23:46:07,249.249 INFO    ] ================================================
[2026-08-29 23:46:07,631.631 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:46:07
[2026-08-29 23:46:08,215.215 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:46:08,483.483 INFO    ] Initializing speech engine...
[2026-08-29 23:46:08,492.492 INFO    ] 2026-08-29 23:46:08
[2026-08-29 23:46:08,735.735 INFO    ] 2026-08-29 23:46:08
[2026-08-29 23:46:08,771.771 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:46:08,943.943 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:46:08,955.955 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:46:09,095.095 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:46:09,103.103 INFO    ] time= 29/08/2026 23:46:09
[2026-08-29 23:46:09,110.110 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:46:09,135.135 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:46:09,259.259 INFO    ] No existing commands found in stream
[2026-08-29 23:46:14,289.289 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:46:14,292.292 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-08-29 23:46:18,156.156 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:46:18,158.158 INFO    ] Checking for system updates...
[2026-08-29 23:46:18,178.178 INFO    ] 200
[2026-08-29 23:46:18,179.179 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:46:18,210.210 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:46:18,211.211 INFO    ] No update needed
[2026-08-29 23:46:18,212.212 INFO    ] Checking for camera pi updates...
[2026-08-29 23:46:18,232.232 INFO    ] 200
[2026-08-29 23:46:18,233.233 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:46:18,258.258 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:46:18,356.356 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:46:18,357.357 INFO    ] No camera update needed
[2026-08-29 23:46:18,358.358 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:46:18,360.360 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:46:18,363.363 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:46:18,366.366 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:46:20,406.406 INFO    ] ================================================
[2026-08-29 23:46:20,422.422 INFO    ] Launching Daemon at Sat Aug 29 23:46:20 IST 2026
[2026-08-29 23:46:20,432.432 INFO    ] ================================================
[2026-08-29 23:46:20,777.777 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:46:20
[2026-08-29 23:46:21,113.113 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:46:21,262.262 INFO    ] Initializing speech engine...
[2026-08-29 23:46:21,271.271 INFO    ] 2026-08-29 23:46:21
[2026-08-29 23:46:21,479.479 INFO    ] 2026-08-29 23:46:21
[2026-08-29 23:46:21,508.508 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:46:21,642.642 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:46:21,696.696 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:46:21,828.828 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:46:21,883.883 INFO    ] time= 29/08/2026 23:46:21
[2026-08-29 23:46:21,927.927 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:46:21,933.933 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:46:22,000.000 INFO    ] No existing commands found in stream
[2026-08-29 23:46:27,011.011 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:46:27,014.014 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-08-29 23:46:30,980.980 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:46:30,982.982 INFO    ] Checking for system updates...
[2026-08-29 23:46:31,003.003 INFO    ] 200
[2026-08-29 23:46:31,004.004 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:46:31,034.034 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:46:31,036.036 INFO    ] No update needed
[2026-08-29 23:46:31,037.037 INFO    ] Checking for camera pi updates...
[2026-08-29 23:46:31,057.057 INFO    ] 200
[2026-08-29 23:46:31,058.058 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:46:31,082.082 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:46:31,159.159 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:46:31,161.161 INFO    ] No camera update needed
[2026-08-29 23:46:31,162.162 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:46:31,164.164 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:46:31,167.167 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:46:31,170.170 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:46:33,202.202 INFO    ] ================================================
[2026-08-29 23:46:33,217.217 INFO    ] Launching Daemon at Sat Aug 29 23:46:33 IST 2026
[2026-08-29 23:46:33,228.228 INFO    ] ================================================
[2026-08-29 23:46:33,795.795 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:46:33
[2026-08-29 23:46:34,380.380 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:46:34,649.649 INFO    ] Initializing speech engine...
[2026-08-29 23:46:34,658.658 INFO    ] 2026-08-29 23:46:34
[2026-08-29 23:46:34,910.910 INFO    ] 2026-08-29 23:46:34
[2026-08-29 23:46:34,968.968 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:46:35,109.109 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:46:35,121.121 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:46:35,262.262 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:46:35,270.270 INFO    ] time= 29/08/2026 23:46:35
[2026-08-29 23:46:35,274.274 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:46:35,280.280 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:46:35,346.346 INFO    ] No existing commands found in stream
[2026-08-29 23:46:40,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:46:40,384.384 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-08-29 23:46:41,196.196 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:46:41,198.198 INFO    ] Checking for system updates...
[2026-08-29 23:46:41,219.219 INFO    ] 200
[2026-08-29 23:46:41,221.221 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:46:41,250.250 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:46:41,252.252 INFO    ] No update needed
[2026-08-29 23:46:41,253.253 INFO    ] Checking for camera pi updates...
[2026-08-29 23:46:41,273.273 INFO    ] 200
[2026-08-29 23:46:41,274.274 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:46:41,298.298 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:46:41,380.380 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:46:41,381.381 INFO    ] No camera update needed
[2026-08-29 23:46:41,383.383 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:46:41,384.384 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:46:41,387.387 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:46:41,389.389 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:46:43,427.427 INFO    ] ================================================
[2026-08-29 23:46:43,443.443 INFO    ] Launching Daemon at Sat Aug 29 23:46:43 IST 2026
[2026-08-29 23:46:43,453.453 INFO    ] ================================================
[2026-08-29 23:46:43,985.985 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:46:43
[2026-08-29 23:46:44,644.644 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:46:44,944.944 INFO    ] Initializing speech engine...
[2026-08-29 23:46:44,950.950 INFO    ] 2026-08-29 23:46:44
[2026-08-29 23:46:45,222.222 INFO    ] 2026-08-29 23:46:45
[2026-08-29 23:46:45,276.276 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:46:45,505.505 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:46:45,515.515 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:46:45,648.648 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:46:45,691.691 INFO    ] time= 29/08/2026 23:46:45
[2026-08-29 23:46:45,740.740 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:46:45,783.783 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:46:45,837.837 INFO    ] No existing commands found in stream
[2026-08-29 23:46:50,849.849 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:46:50,852.852 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-08-29 23:46:51,642.642 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:46:51,643.643 INFO    ] Checking for system updates...
[2026-08-29 23:46:51,664.664 INFO    ] 200
[2026-08-29 23:46:51,665.665 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:46:51,695.695 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:46:51,696.696 INFO    ] No update needed
[2026-08-29 23:46:51,697.697 INFO    ] Checking for camera pi updates...
[2026-08-29 23:46:51,720.720 INFO    ] 200
[2026-08-29 23:46:51,721.721 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:46:51,744.744 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:46:51,823.823 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:46:51,824.824 INFO    ] No camera update needed
[2026-08-29 23:46:51,826.826 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:46:51,827.827 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:46:51,830.830 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:46:51,833.833 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:46:53,870.870 INFO    ] ================================================
[2026-08-29 23:46:53,885.885 INFO    ] Launching Daemon at Sat Aug 29 23:46:53 IST 2026
[2026-08-29 23:46:53,896.896 INFO    ] ================================================
[2026-08-29 23:46:54,237.237 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:46:54
[2026-08-29 23:46:54,582.582 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:46:54,857.857 INFO    ] Initializing speech engine...
[2026-08-29 23:46:54,866.866 INFO    ] 2026-08-29 23:46:54
[2026-08-29 23:46:55,113.113 INFO    ] 2026-08-29 23:46:55
[2026-08-29 23:46:55,148.148 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:46:55,320.320 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:46:55,332.332 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:46:55,472.472 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:46:55,480.480 INFO    ] time= 29/08/2026 23:46:55
[2026-08-29 23:46:55,487.487 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:46:55,533.533 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:46:55,664.664 INFO    ] No existing commands found in stream
[2026-08-29 23:47:00,686.686 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:47:00,689.689 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-08-29 23:47:01,991.991 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:47:01,994.994 INFO    ] Checking for system updates...
[2026-08-29 23:47:02,040.040 INFO    ] 200
[2026-08-29 23:47:02,044.044 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:47:02,120.120 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:47:02,124.124 INFO    ] No update needed
[2026-08-29 23:47:02,128.128 INFO    ] Checking for camera pi updates...
[2026-08-29 23:47:02,180.180 INFO    ] 200
[2026-08-29 23:47:02,183.183 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:47:02,232.232 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:47:02,471.471 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:47:02,474.474 INFO    ] No camera update needed
[2026-08-29 23:47:02,477.477 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:47:02,481.481 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:47:02,488.488 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:47:02,495.495 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:47:04,538.538 INFO    ] ================================================
[2026-08-29 23:47:04,558.558 INFO    ] Launching Daemon at Sat Aug 29 23:47:04 IST 2026
[2026-08-29 23:47:04,569.569 INFO    ] ================================================
[2026-08-29 23:47:04,935.935 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:47:04
[2026-08-29 23:47:05,248.248 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:47:05,448.448 INFO    ] Initializing speech engine...
[2026-08-29 23:47:05,462.462 INFO    ] 2026-08-29 23:47:05
[2026-08-29 23:47:05,731.731 INFO    ] 2026-08-29 23:47:05
[2026-08-29 23:47:05,768.768 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:47:05,901.901 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:47:05,924.924 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:47:06,067.067 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:47:06,106.106 INFO    ] time= 29/08/2026 23:47:06
[2026-08-29 23:47:06,123.123 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:47:06,150.150 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:47:06,220.220 INFO    ] No existing commands found in stream
[2026-08-29 23:47:11,229.229 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:47:11,232.232 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-08-29 23:47:13,627.627 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:47:13,629.629 INFO    ] Checking for system updates...
[2026-08-29 23:47:13,665.665 INFO    ] 200
[2026-08-29 23:47:13,668.668 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:47:13,721.721 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:47:13,723.723 INFO    ] No update needed
[2026-08-29 23:47:13,726.726 INFO    ] Checking for camera pi updates...
[2026-08-29 23:47:13,768.768 INFO    ] 200
[2026-08-29 23:47:13,771.771 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:47:13,812.812 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:47:13,902.902 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:47:13,904.904 INFO    ] No camera update needed
[2026-08-29 23:47:13,907.907 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:47:13,909.909 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:47:13,914.914 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:47:13,919.919 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:47:15,954.954 INFO    ] ================================================
[2026-08-29 23:47:15,969.969 INFO    ] Launching Daemon at Sat Aug 29 23:47:15 IST 2026
[2026-08-29 23:47:15,980.980 INFO    ] ================================================
[2026-08-29 23:47:16,574.574 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:47:16
[2026-08-29 23:47:17,165.165 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:47:17,429.429 INFO    ] Initializing speech engine...
[2026-08-29 23:47:17,435.435 INFO    ] 2026-08-29 23:47:17
[2026-08-29 23:47:17,743.743 INFO    ] 2026-08-29 23:47:17
[2026-08-29 23:47:17,768.768 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:47:17,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:47:17,930.930 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:47:18,091.091 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:47:18,102.102 INFO    ] time= 29/08/2026 23:47:18
[2026-08-29 23:47:18,107.107 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:47:18,112.112 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:47:18,465.465 INFO    ] No existing commands found in stream
[2026-08-29 23:47:23,480.480 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:47:23,483.483 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-08-29 23:47:27,481.481 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:47:27,484.484 INFO    ] Checking for system updates...
[2026-08-29 23:47:27,527.527 INFO    ] 200
[2026-08-29 23:47:27,529.529 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:47:27,586.586 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:47:27,588.588 INFO    ] No update needed
[2026-08-29 23:47:27,591.591 INFO    ] Checking for camera pi updates...
[2026-08-29 23:47:27,630.630 INFO    ] 200
[2026-08-29 23:47:27,633.633 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:47:27,677.677 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:47:27,781.781 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:47:27,784.784 INFO    ] No camera update needed
[2026-08-29 23:47:27,787.787 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:47:27,789.789 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:47:27,795.795 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:47:27,800.800 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:47:29,841.841 INFO    ] ================================================
[2026-08-29 23:47:29,866.866 INFO    ] Launching Daemon at Sat Aug 29 23:47:29 IST 2026
[2026-08-29 23:47:29,879.879 INFO    ] ================================================
[2026-08-29 23:47:30,299.299 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:47:30
[2026-08-29 23:47:30,615.615 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:47:30,757.757 INFO    ] Initializing speech engine...
[2026-08-29 23:47:30,762.762 INFO    ] 2026-08-29 23:47:30
[2026-08-29 23:47:31,009.009 INFO    ] 2026-08-29 23:47:30
[2026-08-29 23:47:31,058.058 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:47:31,223.223 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:47:31,228.228 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:47:31,415.415 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:47:31,428.428 INFO    ] time= 29/08/2026 23:47:31
[2026-08-29 23:47:31,446.446 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:47:31,455.455 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:47:31,564.564 INFO    ] No existing commands found in stream
[2026-08-29 23:47:36,587.587 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:47:36,589.589 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-08-29 23:47:40,274.274 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:47:40,276.276 INFO    ] Checking for system updates...
[2026-08-29 23:47:40,296.296 INFO    ] 200
[2026-08-29 23:47:40,297.297 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:47:40,328.328 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:47:40,329.329 INFO    ] No update needed
[2026-08-29 23:47:40,330.330 INFO    ] Checking for camera pi updates...
[2026-08-29 23:47:40,349.349 INFO    ] 200
[2026-08-29 23:47:40,351.351 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:47:40,374.374 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:47:40,463.463 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:47:40,465.465 INFO    ] No camera update needed
[2026-08-29 23:47:40,466.466 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:47:40,467.467 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:47:40,470.470 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:47:40,473.473 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:47:42,514.514 INFO    ] ================================================
[2026-08-29 23:47:42,530.530 INFO    ] Launching Daemon at Sat Aug 29 23:47:42 IST 2026
[2026-08-29 23:47:42,540.540 INFO    ] ================================================
[2026-08-29 23:47:42,904.904 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:47:42
[2026-08-29 23:47:43,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:47:43,350.350 INFO    ] Initializing speech engine...
[2026-08-29 23:47:43,355.355 INFO    ] 2026-08-29 23:47:43
[2026-08-29 23:47:43,585.585 INFO    ] 2026-08-29 23:47:43
[2026-08-29 23:47:43,617.617 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:47:43,766.766 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:47:43,772.772 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:47:43,920.920 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:47:43,927.927 INFO    ] time= 29/08/2026 23:47:43
[2026-08-29 23:47:43,947.947 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:47:43,960.960 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:47:44,073.073 INFO    ] No existing commands found in stream
[2026-08-29 23:47:49,098.098 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:47:49,100.100 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-08-29 23:47:49,888.888 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:47:49,890.890 INFO    ] Checking for system updates...
[2026-08-29 23:47:49,910.910 INFO    ] 200
[2026-08-29 23:47:49,911.911 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:47:49,945.945 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:47:49,947.947 INFO    ] No update needed
[2026-08-29 23:47:49,948.948 INFO    ] Checking for camera pi updates...
[2026-08-29 23:47:49,968.968 INFO    ] 200
[2026-08-29 23:47:49,970.970 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:47:49,994.994 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:47:50,073.073 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:47:50,075.075 INFO    ] No camera update needed
[2026-08-29 23:47:50,076.076 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:47:50,077.077 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:47:50,080.080 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:47:50,083.083 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:47:52,124.124 INFO    ] ================================================
[2026-08-29 23:47:52,140.140 INFO    ] Launching Daemon at Sat Aug 29 23:47:52 IST 2026
[2026-08-29 23:47:52,151.151 INFO    ] ================================================
[2026-08-29 23:47:52,800.800 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:47:52
[2026-08-29 23:47:53,480.480 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:47:53,789.789 INFO    ] Initializing speech engine...
[2026-08-29 23:47:53,798.798 INFO    ] 2026-08-29 23:47:53
[2026-08-29 23:47:54,096.096 INFO    ] 2026-08-29 23:47:54
[2026-08-29 23:47:54,210.210 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:47:54,370.370 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:47:54,376.376 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:47:54,510.510 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:47:54,553.553 INFO    ] time= 29/08/2026 23:47:54
[2026-08-29 23:47:54,608.608 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:47:54,649.649 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:47:54,711.711 INFO    ] No existing commands found in stream
[2026-08-29 23:47:59,733.733 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:47:59,736.736 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-08-29 23:48:01,391.391 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:48:01,396.396 INFO    ] Checking for system updates...
[2026-08-29 23:48:01,453.453 INFO    ] 200
[2026-08-29 23:48:01,457.457 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:48:01,575.575 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:48:01,578.578 INFO    ] No update needed
[2026-08-29 23:48:01,582.582 INFO    ] Checking for camera pi updates...
[2026-08-29 23:48:01,632.632 INFO    ] 200
[2026-08-29 23:48:01,635.635 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:48:01,692.692 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:48:01,773.773 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:48:01,775.775 INFO    ] No camera update needed
[2026-08-29 23:48:01,778.778 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:48:01,781.781 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:48:01,788.788 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:48:01,794.794 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:48:03,835.835 INFO    ] ================================================
[2026-08-29 23:48:03,850.850 INFO    ] Launching Daemon at Sat Aug 29 23:48:03 IST 2026
[2026-08-29 23:48:03,862.862 INFO    ] ================================================
[2026-08-29 23:48:04,469.469 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:48:04
[2026-08-29 23:48:04,811.811 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:48:04,963.963 INFO    ] Initializing speech engine...
[2026-08-29 23:48:04,969.969 INFO    ] 2026-08-29 23:48:04
[2026-08-29 23:48:05,178.178 INFO    ] 2026-08-29 23:48:05
[2026-08-29 23:48:05,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:48:05,341.341 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:48:05,401.401 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:48:05,525.525 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:48:05,534.534 INFO    ] time= 29/08/2026 23:48:05
[2026-08-29 23:48:05,565.565 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:48:05,628.628 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:48:05,740.740 INFO    ] No existing commands found in stream
[2026-08-29 23:48:10,766.766 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:48:10,769.769 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-08-29 23:48:14,678.678 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:48:14,680.680 INFO    ] Checking for system updates...
[2026-08-29 23:48:14,701.701 INFO    ] 200
[2026-08-29 23:48:14,703.703 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:48:14,733.733 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:48:14,735.735 INFO    ] No update needed
[2026-08-29 23:48:14,736.736 INFO    ] Checking for camera pi updates...
[2026-08-29 23:48:14,756.756 INFO    ] 200
[2026-08-29 23:48:14,757.757 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:48:14,781.781 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:48:14,869.869 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:48:14,871.871 INFO    ] No camera update needed
[2026-08-29 23:48:14,872.872 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:48:14,874.874 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:48:14,877.877 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:48:14,880.880 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:48:16,920.920 INFO    ] ================================================
[2026-08-29 23:48:16,935.935 INFO    ] Launching Daemon at Sat Aug 29 23:48:16 IST 2026
[2026-08-29 23:48:16,946.946 INFO    ] ================================================
[2026-08-29 23:48:17,435.435 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:48:17
[2026-08-29 23:48:18,040.040 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:48:18,328.328 INFO    ] Initializing speech engine...
[2026-08-29 23:48:18,335.335 INFO    ] 2026-08-29 23:48:18
[2026-08-29 23:48:18,595.595 INFO    ] 2026-08-29 23:48:18
[2026-08-29 23:48:18,649.649 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:48:18,812.812 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:48:18,821.821 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:48:18,946.946 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:48:18,953.953 INFO    ] time= 29/08/2026 23:48:18
[2026-08-29 23:48:18,961.961 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:48:19,006.006 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:48:19,115.115 INFO    ] No existing commands found in stream
[2026-08-29 23:48:24,125.125 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:48:24,128.128 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-08-29 23:48:27,975.975 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:48:27,976.976 INFO    ] Checking for system updates...
[2026-08-29 23:48:27,998.998 INFO    ] 200
[2026-08-29 23:48:27,999.999 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:48:28,032.032 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:48:28,034.034 INFO    ] No update needed
[2026-08-29 23:48:28,035.035 INFO    ] Checking for camera pi updates...
[2026-08-29 23:48:28,055.055 INFO    ] 200
[2026-08-29 23:48:28,057.057 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:48:28,080.080 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:48:28,176.176 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:48:28,178.178 INFO    ] No camera update needed
[2026-08-29 23:48:28,179.179 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:48:28,180.180 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:48:28,183.183 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:48:28,186.186 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:48:30,224.224 INFO    ] ================================================
[2026-08-29 23:48:30,239.239 INFO    ] Launching Daemon at Sat Aug 29 23:48:30 IST 2026
[2026-08-29 23:48:30,250.250 INFO    ] ================================================
[2026-08-29 23:48:30,616.616 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:48:30
[2026-08-29 23:48:30,933.933 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:48:31,076.076 INFO    ] Initializing speech engine...
[2026-08-29 23:48:31,081.081 INFO    ] 2026-08-29 23:48:31
[2026-08-29 23:48:31,287.287 INFO    ] 2026-08-29 23:48:31
[2026-08-29 23:48:31,324.324 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:48:31,472.472 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:48:31,477.477 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:48:31,610.610 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:48:31,633.633 INFO    ] time= 29/08/2026 23:48:31
[2026-08-29 23:48:31,683.683 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:48:31,722.722 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:48:31,801.801 INFO    ] No existing commands found in stream
[2026-08-29 23:48:36,817.817 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:48:36,820.820 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-08-29 23:48:38,357.357 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:48:38,359.359 INFO    ] Checking for system updates...
[2026-08-29 23:48:38,380.380 INFO    ] 200
[2026-08-29 23:48:38,381.381 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:48:38,420.420 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:48:38,423.423 INFO    ] No update needed
[2026-08-29 23:48:38,425.425 INFO    ] Checking for camera pi updates...
[2026-08-29 23:48:38,459.459 INFO    ] 200
[2026-08-29 23:48:38,462.462 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:48:38,503.503 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:48:38,585.585 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:48:38,587.587 INFO    ] No camera update needed
[2026-08-29 23:48:38,589.589 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:48:38,592.592 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:48:38,597.597 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:48:38,602.602 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:48:40,642.642 INFO    ] ================================================
[2026-08-29 23:48:40,658.658 INFO    ] Launching Daemon at Sat Aug 29 23:48:40 IST 2026
[2026-08-29 23:48:40,669.669 INFO    ] ================================================
[2026-08-29 23:48:41,240.240 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:48:41
[2026-08-29 23:48:41,688.688 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:48:41,832.832 INFO    ] Initializing speech engine...
[2026-08-29 23:48:41,836.836 INFO    ] 2026-08-29 23:48:41
[2026-08-29 23:48:42,042.042 INFO    ] 2026-08-29 23:48:42
[2026-08-29 23:48:42,071.071 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:48:42,194.194 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:48:42,233.233 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:48:42,392.392 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:48:42,433.433 INFO    ] time= 29/08/2026 23:48:42
[2026-08-29 23:48:42,478.478 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:48:42,494.494 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:48:42,566.566 INFO    ] No existing commands found in stream
[2026-08-29 23:48:47,576.576 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:48:47,579.579 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-08-29 23:48:50,149.149 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:48:50,150.150 INFO    ] Checking for system updates...
[2026-08-29 23:48:50,171.171 INFO    ] 200
[2026-08-29 23:48:50,173.173 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:48:50,203.203 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:48:50,205.205 INFO    ] No update needed
[2026-08-29 23:48:50,206.206 INFO    ] Checking for camera pi updates...
[2026-08-29 23:48:50,226.226 INFO    ] 200
[2026-08-29 23:48:50,227.227 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:48:50,250.250 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:48:50,356.356 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:48:50,358.358 INFO    ] No camera update needed
[2026-08-29 23:48:50,359.359 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:48:50,361.361 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:48:50,364.364 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:48:50,367.367 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:48:52,407.407 INFO    ] ================================================
[2026-08-29 23:48:52,424.424 INFO    ] Launching Daemon at Sat Aug 29 23:48:52 IST 2026
[2026-08-29 23:48:52,435.435 INFO    ] ================================================
[2026-08-29 23:48:52,790.790 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:48:52
[2026-08-29 23:48:53,344.344 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:48:53,596.596 INFO    ] Initializing speech engine...
[2026-08-29 23:48:53,608.608 INFO    ] 2026-08-29 23:48:53
[2026-08-29 23:48:53,873.873 INFO    ] 2026-08-29 23:48:53
[2026-08-29 23:48:53,908.908 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:48:54,085.085 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:48:54,097.097 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:48:54,207.207 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:48:54,213.213 INFO    ] time= 29/08/2026 23:48:54
[2026-08-29 23:48:54,231.231 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:48:54,254.254 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:48:54,327.327 INFO    ] No existing commands found in stream
[2026-08-29 23:48:59,362.362 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:48:59,365.365 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-08-29 23:49:00,867.867 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:49:00,868.868 INFO    ] Checking for system updates...
[2026-08-29 23:49:00,889.889 INFO    ] 200
[2026-08-29 23:49:00,890.890 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:49:00,922.922 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:49:00,924.924 INFO    ] No update needed
[2026-08-29 23:49:00,925.925 INFO    ] Checking for camera pi updates...
[2026-08-29 23:49:00,945.945 INFO    ] 200
[2026-08-29 23:49:00,946.946 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:49:00,971.971 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:49:01,046.046 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:49:01,047.047 INFO    ] No camera update needed
[2026-08-29 23:49:01,048.048 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:49:01,050.050 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:49:01,053.053 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:49:01,055.055 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:49:03,098.098 INFO    ] ================================================
[2026-08-29 23:49:03,118.118 INFO    ] Launching Daemon at Sat Aug 29 23:49:03 IST 2026
[2026-08-29 23:49:03,134.134 INFO    ] ================================================
[2026-08-29 23:49:03,801.801 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:49:03
[2026-08-29 23:49:04,387.387 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:49:04,665.665 INFO    ] Initializing speech engine...
[2026-08-29 23:49:04,679.679 INFO    ] 2026-08-29 23:49:04
[2026-08-29 23:49:04,943.943 INFO    ] 2026-08-29 23:49:04
[2026-08-29 23:49:04,979.979 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:49:05,170.170 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:49:05,176.176 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:49:05,307.307 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:49:05,314.314 INFO    ] time= 29/08/2026 23:49:05
[2026-08-29 23:49:05,318.318 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:49:05,337.337 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:49:05,435.435 INFO    ] No existing commands found in stream
[2026-08-29 23:49:10,444.444 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:49:10,447.447 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-08-29 23:49:10,820.820 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:49:10,821.821 INFO    ] Checking for system updates...
[2026-08-29 23:49:10,843.843 INFO    ] 200
[2026-08-29 23:49:10,844.844 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:49:10,875.875 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:49:10,876.876 INFO    ] No update needed
[2026-08-29 23:49:10,878.878 INFO    ] Checking for camera pi updates...
[2026-08-29 23:49:10,913.913 INFO    ] 200
[2026-08-29 23:49:10,915.915 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:49:10,964.964 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:49:11,158.158 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:49:11,160.160 INFO    ] No camera update needed
[2026-08-29 23:49:11,163.163 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:49:11,165.165 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:49:11,170.170 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:49:11,176.176 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:49:13,218.218 INFO    ] ================================================
[2026-08-29 23:49:13,234.234 INFO    ] Launching Daemon at Sat Aug 29 23:49:13 IST 2026
[2026-08-29 23:49:13,245.245 INFO    ] ================================================
[2026-08-29 23:49:13,818.818 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:49:13
[2026-08-29 23:49:14,217.217 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:49:14,352.352 INFO    ] Initializing speech engine...
[2026-08-29 23:49:14,365.365 INFO    ] 2026-08-29 23:49:14
[2026-08-29 23:49:14,581.581 INFO    ] 2026-08-29 23:49:14
[2026-08-29 23:49:14,611.611 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:49:14,742.742 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:49:14,774.774 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:49:14,927.927 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:49:14,951.951 INFO    ] time= 29/08/2026 23:49:14
[2026-08-29 23:49:15,007.007 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:49:15,046.046 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:49:15,130.130 INFO    ] No existing commands found in stream
[2026-08-29 23:49:20,141.141 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:49:20,144.144 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-08-29 23:49:21,880.880 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:49:21,881.881 INFO    ] Checking for system updates...
[2026-08-29 23:49:21,902.902 INFO    ] 200
[2026-08-29 23:49:21,903.903 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:49:21,933.933 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:49:21,935.935 INFO    ] No update needed
[2026-08-29 23:49:21,936.936 INFO    ] Checking for camera pi updates...
[2026-08-29 23:49:21,955.955 INFO    ] 200
[2026-08-29 23:49:21,956.956 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:49:21,980.980 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:49:22,068.068 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:49:22,070.070 INFO    ] No camera update needed
[2026-08-29 23:49:22,071.071 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:49:22,072.072 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:49:22,075.075 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:49:22,078.078 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:49:24,118.118 INFO    ] ================================================
[2026-08-29 23:49:24,134.134 INFO    ] Launching Daemon at Sat Aug 29 23:49:24 IST 2026
[2026-08-29 23:49:24,145.145 INFO    ] ================================================
[2026-08-29 23:49:24,715.715 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:49:24
[2026-08-29 23:49:25,370.370 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:49:25,670.670 INFO    ] Initializing speech engine...
[2026-08-29 23:49:25,682.682 INFO    ] 2026-08-29 23:49:25
[2026-08-29 23:49:25,960.960 INFO    ] 2026-08-29 23:49:25
[2026-08-29 23:49:26,006.006 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:49:26,227.227 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:49:26,236.236 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:49:26,369.369 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:49:26,396.396 INFO    ] time= 29/08/2026 23:49:26
[2026-08-29 23:49:26,451.451 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:49:26,505.505 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:49:26,561.561 INFO    ] No existing commands found in stream
[2026-08-29 23:49:31,575.575 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:49:31,578.578 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-08-29 23:49:34,079.079 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:49:34,082.082 INFO    ] Checking for system updates...
[2026-08-29 23:49:34,121.121 INFO    ] 200
[2026-08-29 23:49:34,125.125 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:49:34,179.179 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:49:34,181.181 INFO    ] No update needed
[2026-08-29 23:49:34,184.184 INFO    ] Checking for camera pi updates...
[2026-08-29 23:49:34,218.218 INFO    ] 200
[2026-08-29 23:49:34,221.221 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:49:34,263.263 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:49:34,343.343 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:49:34,346.346 INFO    ] No camera update needed
[2026-08-29 23:49:34,348.348 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:49:34,351.351 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:49:34,357.357 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:49:34,362.362 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:49:36,404.404 INFO    ] ================================================
[2026-08-29 23:49:36,419.419 INFO    ] Launching Daemon at Sat Aug 29 23:49:36 IST 2026
[2026-08-29 23:49:36,431.431 INFO    ] ================================================
[2026-08-29 23:49:37,014.014 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:49:37
[2026-08-29 23:49:37,682.682 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:49:37,984.984 INFO    ] Initializing speech engine...
[2026-08-29 23:49:37,997.997 INFO    ] 2026-08-29 23:49:37
[2026-08-29 23:49:38,279.279 INFO    ] 2026-08-29 23:49:38
[2026-08-29 23:49:38,324.324 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:49:38,550.550 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:49:38,577.577 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:49:38,759.759 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:49:38,816.816 INFO    ] time= 29/08/2026 23:49:38
[2026-08-29 23:49:38,824.824 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:49:38,841.841 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:49:38,958.958 INFO    ] No existing commands found in stream
[2026-08-29 23:49:43,983.983 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:49:43,986.986 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-08-29 23:49:46,133.133 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:49:46,134.134 INFO    ] Checking for system updates...
[2026-08-29 23:49:46,156.156 INFO    ] 200
[2026-08-29 23:49:46,157.157 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:49:46,188.188 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:49:46,189.189 INFO    ] No update needed
[2026-08-29 23:49:46,191.191 INFO    ] Checking for camera pi updates...
[2026-08-29 23:49:46,212.212 INFO    ] 200
[2026-08-29 23:49:46,214.214 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:49:46,239.239 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:49:46,316.316 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:49:46,318.318 INFO    ] No camera update needed
[2026-08-29 23:49:46,319.319 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:49:46,320.320 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:49:46,324.324 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:49:46,327.327 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:49:48,366.366 INFO    ] ================================================
[2026-08-29 23:49:48,381.381 INFO    ] Launching Daemon at Sat Aug 29 23:49:48 IST 2026
[2026-08-29 23:49:48,392.392 INFO    ] ================================================
[2026-08-29 23:49:48,786.786 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:49:48
[2026-08-29 23:49:49,370.370 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:49:49,638.638 INFO    ] Initializing speech engine...
[2026-08-29 23:49:49,647.647 INFO    ] 2026-08-29 23:49:49
[2026-08-29 23:49:49,907.907 INFO    ] 2026-08-29 23:49:49
[2026-08-29 23:49:49,959.959 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:49:50,112.112 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:49:50,127.127 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:49:50,256.256 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:49:50,264.264 INFO    ] time= 29/08/2026 23:49:50
[2026-08-29 23:49:50,270.270 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:49:50,290.290 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:49:50,419.419 INFO    ] No existing commands found in stream
[2026-08-29 23:49:55,444.444 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:49:55,447.447 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-08-29 23:49:58,630.630 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:49:58,632.632 INFO    ] Checking for system updates...
[2026-08-29 23:49:58,660.660 INFO    ] 200
[2026-08-29 23:49:58,662.662 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:49:58,704.704 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:49:58,706.706 INFO    ] No update needed
[2026-08-29 23:49:58,709.709 INFO    ] Checking for camera pi updates...
[2026-08-29 23:49:58,743.743 INFO    ] 200
[2026-08-29 23:49:58,745.745 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:49:58,786.786 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:49:58,888.888 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:49:58,890.890 INFO    ] No camera update needed
[2026-08-29 23:49:58,892.892 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:49:58,895.895 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:49:58,900.900 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:49:58,905.905 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:50:00,948.948 INFO    ] ================================================
[2026-08-29 23:50:00,965.965 INFO    ] Launching Daemon at Sat Aug 29 23:50:00 IST 2026
[2026-08-29 23:50:00,977.977 INFO    ] ================================================
[2026-08-29 23:50:01,544.544 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:50:01
[2026-08-29 23:50:02,472.472 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:50:02,885.885 INFO    ] Initializing speech engine...
[2026-08-29 23:50:02,889.889 INFO    ] 2026-08-29 23:50:02
[2026-08-29 23:50:03,245.245 INFO    ] 2026-08-29 23:50:03
[2026-08-29 23:50:03,285.285 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:50:03,416.416 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:50:03,419.419 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:50:03,545.545 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:50:03,549.549 INFO    ] time= 29/08/2026 23:50:03
[2026-08-29 23:50:03,552.552 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:50:03,556.556 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:50:03,611.611 INFO    ] No existing commands found in stream
[2026-08-29 23:50:08,621.621 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:50:08,624.624 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-08-29 23:50:10,545.545 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:50:10,547.547 INFO    ] Checking for system updates...
[2026-08-29 23:50:10,583.583 INFO    ] 200
[2026-08-29 23:50:10,586.586 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:50:10,640.640 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:50:10,642.642 INFO    ] No update needed
[2026-08-29 23:50:10,645.645 INFO    ] Checking for camera pi updates...
[2026-08-29 23:50:10,681.681 INFO    ] 200
[2026-08-29 23:50:10,684.684 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:50:10,725.725 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:50:10,805.805 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:50:10,807.807 INFO    ] No camera update needed
[2026-08-29 23:50:10,809.809 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:50:10,812.812 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:50:10,817.817 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:50:10,822.822 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:50:12,863.863 INFO    ] ================================================
[2026-08-29 23:50:12,879.879 INFO    ] Launching Daemon at Sat Aug 29 23:50:12 IST 2026
[2026-08-29 23:50:12,891.891 INFO    ] ================================================
[2026-08-29 23:50:13,263.263 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:50:13
[2026-08-29 23:50:13,596.596 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:50:13,750.750 INFO    ] Initializing speech engine...
[2026-08-29 23:50:13,754.754 INFO    ] 2026-08-29 23:50:13
[2026-08-29 23:50:13,989.989 INFO    ] 2026-08-29 23:50:13
[2026-08-29 23:50:14,032.032 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:50:14,255.255 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:50:14,265.265 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:50:14,399.399 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:50:14,442.442 INFO    ] time= 29/08/2026 23:50:14
[2026-08-29 23:50:14,496.496 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:50:14,534.534 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:50:14,593.593 INFO    ] No existing commands found in stream
[2026-08-29 23:50:19,605.605 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:50:19,608.608 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-08-29 23:50:21,925.925 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:50:21,927.927 INFO    ] Checking for system updates...
[2026-08-29 23:50:21,948.948 INFO    ] 200
[2026-08-29 23:50:21,949.949 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:50:21,980.980 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:50:21,981.981 INFO    ] No update needed
[2026-08-29 23:50:21,983.983 INFO    ] Checking for camera pi updates...
[2026-08-29 23:50:22,003.003 INFO    ] 200
[2026-08-29 23:50:22,004.004 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:50:22,027.027 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:50:22,111.111 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:50:22,113.113 INFO    ] No camera update needed
[2026-08-29 23:50:22,114.114 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:50:22,116.116 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:50:22,119.119 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:50:22,122.122 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:50:24,161.161 INFO    ] ================================================
[2026-08-29 23:50:24,177.177 INFO    ] Launching Daemon at Sat Aug 29 23:50:24 IST 2026
[2026-08-29 23:50:24,188.188 INFO    ] ================================================
[2026-08-29 23:50:24,556.556 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:50:24
[2026-08-29 23:50:24,872.872 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:50:25,006.006 INFO    ] Initializing speech engine...
[2026-08-29 23:50:25,018.018 INFO    ] 2026-08-29 23:50:25
[2026-08-29 23:50:25,229.229 INFO    ] 2026-08-29 23:50:25
[2026-08-29 23:50:25,258.258 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:50:25,406.406 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:50:25,444.444 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:50:25,580.580 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:50:25,639.639 INFO    ] time= 29/08/2026 23:50:25
[2026-08-29 23:50:25,671.671 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:50:25,673.673 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:50:25,743.743 INFO    ] No existing commands found in stream
[2026-08-29 23:50:30,754.754 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:50:30,757.757 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-08-29 23:50:31,625.625 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:50:31,627.627 INFO    ] Checking for system updates...
[2026-08-29 23:50:31,647.647 INFO    ] 200
[2026-08-29 23:50:31,649.649 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:50:31,683.683 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:50:31,684.684 INFO    ] No update needed
[2026-08-29 23:50:31,686.686 INFO    ] Checking for camera pi updates...
[2026-08-29 23:50:31,706.706 INFO    ] 200
[2026-08-29 23:50:31,707.707 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:50:31,730.730 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:50:31,807.807 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:50:31,808.808 INFO    ] No camera update needed
[2026-08-29 23:50:31,809.809 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:50:31,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:50:31,813.813 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:50:31,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:50:33,860.860 INFO    ] ================================================
[2026-08-29 23:50:33,875.875 INFO    ] Launching Daemon at Sat Aug 29 23:50:33 IST 2026
[2026-08-29 23:50:33,886.886 INFO    ] ================================================
[2026-08-29 23:50:34,456.456 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:50:34
[2026-08-29 23:50:35,041.041 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:50:35,300.300 INFO    ] Initializing speech engine...
[2026-08-29 23:50:35,306.306 INFO    ] 2026-08-29 23:50:35
[2026-08-29 23:50:35,491.491 INFO    ] 2026-08-29 23:50:35
[2026-08-29 23:50:35,547.547 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:50:35,770.770 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:50:35,778.778 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:50:35,913.913 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:50:35,960.960 INFO    ] time= 29/08/2026 23:50:35
[2026-08-29 23:50:36,014.014 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:50:36,047.047 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:50:36,186.186 INFO    ] No existing commands found in stream
[2026-08-29 23:50:41,206.206 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:50:41,209.209 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-08-29 23:50:45,109.109 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:50:45,110.110 INFO    ] Checking for system updates...
[2026-08-29 23:50:45,131.131 INFO    ] 200
[2026-08-29 23:50:45,132.132 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:50:45,162.162 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:50:45,164.164 INFO    ] No update needed
[2026-08-29 23:50:45,165.165 INFO    ] Checking for camera pi updates...
[2026-08-29 23:50:45,185.185 INFO    ] 200
[2026-08-29 23:50:45,186.186 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:50:45,211.211 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:50:45,313.313 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:50:45,316.316 INFO    ] No camera update needed
[2026-08-29 23:50:45,318.318 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:50:45,320.320 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:50:45,325.325 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:50:45,330.330 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:50:47,372.372 INFO    ] ================================================
[2026-08-29 23:50:47,387.387 INFO    ] Launching Daemon at Sat Aug 29 23:50:47 IST 2026
[2026-08-29 23:50:47,398.398 INFO    ] ================================================
[2026-08-29 23:50:47,966.966 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:50:47
[2026-08-29 23:50:48,481.481 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:50:48,619.619 INFO    ] Initializing speech engine...
[2026-08-29 23:50:48,629.629 INFO    ] 2026-08-29 23:50:48
[2026-08-29 23:50:48,833.833 INFO    ] 2026-08-29 23:50:48
[2026-08-29 23:50:48,863.863 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:50:48,992.992 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:50:49,000.000 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:50:49,120.120 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:50:49,169.169 INFO    ] time= 29/08/2026 23:50:49
[2026-08-29 23:50:49,218.218 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:50:49,225.225 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:50:49,334.334 INFO    ] No existing commands found in stream
[2026-08-29 23:50:54,356.356 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:50:54,359.359 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-08-29 23:50:55,014.014 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:50:55,015.015 INFO    ] Checking for system updates...
[2026-08-29 23:50:55,036.036 INFO    ] 200
[2026-08-29 23:50:55,037.037 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:50:55,067.067 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:50:55,068.068 INFO    ] No update needed
[2026-08-29 23:50:55,070.070 INFO    ] Checking for camera pi updates...
[2026-08-29 23:50:55,089.089 INFO    ] 200
[2026-08-29 23:50:55,090.090 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:50:55,117.117 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:50:55,199.199 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:50:55,201.201 INFO    ] No camera update needed
[2026-08-29 23:50:55,202.202 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:50:55,203.203 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:50:55,206.206 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:50:55,209.209 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:50:57,248.248 INFO    ] ================================================
[2026-08-29 23:50:57,265.265 INFO    ] Launching Daemon at Sat Aug 29 23:50:57 IST 2026
[2026-08-29 23:50:57,276.276 INFO    ] ================================================
[2026-08-29 23:50:57,659.659 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:50:57
[2026-08-29 23:50:58,004.004 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:50:58,298.298 INFO    ] Initializing speech engine...
[2026-08-29 23:50:58,306.306 INFO    ] 2026-08-29 23:50:58
[2026-08-29 23:50:58,577.577 INFO    ] 2026-08-29 23:50:58
[2026-08-29 23:50:58,632.632 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:50:58,856.856 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:50:58,866.866 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:50:59,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:50:59,042.042 INFO    ] time= 29/08/2026 23:50:59
[2026-08-29 23:50:59,092.092 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:50:59,134.134 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:50:59,190.190 INFO    ] No existing commands found in stream
[2026-08-29 23:51:04,203.203 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:51:04,206.206 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-08-29 23:51:04,745.745 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:51:04,746.746 INFO    ] Checking for system updates...
[2026-08-29 23:51:04,768.768 INFO    ] 200
[2026-08-29 23:51:04,769.769 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:51:04,800.800 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:51:04,802.802 INFO    ] No update needed
[2026-08-29 23:51:04,803.803 INFO    ] Checking for camera pi updates...
[2026-08-29 23:51:04,823.823 INFO    ] 200
[2026-08-29 23:51:04,824.824 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:51:04,847.847 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:51:04,968.968 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:51:04,970.970 INFO    ] No camera update needed
[2026-08-29 23:51:04,971.971 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:51:04,972.972 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:51:04,975.975 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:51:04,978.978 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:51:07,016.016 INFO    ] ================================================
[2026-08-29 23:51:07,031.031 INFO    ] Launching Daemon at Sat Aug 29 23:51:07 IST 2026
[2026-08-29 23:51:07,042.042 INFO    ] ================================================
[2026-08-29 23:51:07,502.502 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:51:07
[2026-08-29 23:51:08,107.107 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:51:08,389.389 INFO    ] Initializing speech engine...
[2026-08-29 23:51:08,394.394 INFO    ] 2026-08-29 23:51:08
[2026-08-29 23:51:08,641.641 INFO    ] 2026-08-29 23:51:08
[2026-08-29 23:51:08,683.683 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:51:08,848.848 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:51:08,859.859 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:51:08,969.969 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:51:08,974.974 INFO    ] time= 29/08/2026 23:51:08
[2026-08-29 23:51:08,992.992 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:51:09,015.015 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:51:09,084.084 INFO    ] No existing commands found in stream
[2026-08-29 23:51:14,092.092 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:51:14,095.095 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-08-29 23:51:18,049.049 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:51:18,050.050 INFO    ] Checking for system updates...
[2026-08-29 23:51:18,071.071 INFO    ] 200
[2026-08-29 23:51:18,072.072 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:51:18,105.105 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:51:18,106.106 INFO    ] No update needed
[2026-08-29 23:51:18,107.107 INFO    ] Checking for camera pi updates...
[2026-08-29 23:51:18,127.127 INFO    ] 200
[2026-08-29 23:51:18,129.129 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:51:18,151.151 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:51:18,351.351 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:51:18,353.353 INFO    ] No camera update needed
[2026-08-29 23:51:18,355.355 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:51:18,356.356 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:51:18,359.359 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:51:18,361.361 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:51:20,401.401 INFO    ] ================================================
[2026-08-29 23:51:20,416.416 INFO    ] Launching Daemon at Sat Aug 29 23:51:20 IST 2026
[2026-08-29 23:51:20,427.427 INFO    ] ================================================
[2026-08-29 23:51:20,791.791 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:51:20
[2026-08-29 23:51:21,102.102 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:51:21,301.301 INFO    ] Initializing speech engine...
[2026-08-29 23:51:21,316.316 INFO    ] 2026-08-29 23:51:21
[2026-08-29 23:51:21,581.581 INFO    ] 2026-08-29 23:51:21
[2026-08-29 23:51:21,616.616 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:51:21,804.804 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:51:21,810.810 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:51:21,934.934 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:51:21,940.940 INFO    ] time= 29/08/2026 23:51:21
[2026-08-29 23:51:21,947.947 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:51:21,967.967 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:51:22,064.064 INFO    ] No existing commands found in stream
[2026-08-29 23:51:27,076.076 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:51:27,079.079 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-08-29 23:51:28,961.961 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:51:28,963.963 INFO    ] Checking for system updates...
[2026-08-29 23:51:28,983.983 INFO    ] 200
[2026-08-29 23:51:28,984.984 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:51:29,016.016 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:51:29,017.017 INFO    ] No update needed
[2026-08-29 23:51:29,019.019 INFO    ] Checking for camera pi updates...
[2026-08-29 23:51:29,045.045 INFO    ] 200
[2026-08-29 23:51:29,046.046 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:51:29,069.069 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:51:29,155.155 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:51:29,157.157 INFO    ] No camera update needed
[2026-08-29 23:51:29,158.158 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:51:29,159.159 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:51:29,162.162 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:51:29,165.165 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:51:31,206.206 INFO    ] ================================================
[2026-08-29 23:51:31,222.222 INFO    ] Launching Daemon at Sat Aug 29 23:51:31 IST 2026
[2026-08-29 23:51:31,234.234 INFO    ] ================================================
[2026-08-29 23:51:31,635.635 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:51:31
[2026-08-29 23:51:32,270.270 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:51:32,556.556 INFO    ] Initializing speech engine...
[2026-08-29 23:51:32,566.566 INFO    ] 2026-08-29 23:51:32
[2026-08-29 23:51:32,820.820 INFO    ] 2026-08-29 23:51:32
[2026-08-29 23:51:32,872.872 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:51:33,095.095 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:51:33,104.104 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:51:33,237.237 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:51:33,243.243 INFO    ] time= 29/08/2026 23:51:33
[2026-08-29 23:51:33,292.292 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:51:33,346.346 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:51:33,421.421 INFO    ] No existing commands found in stream
[2026-08-29 23:51:38,433.433 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:51:38,436.436 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 23:51:40,186.186 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:51:40,187.187 INFO    ] Checking for system updates...
[2026-08-29 23:51:40,208.208 INFO    ] 200
[2026-08-29 23:51:40,210.210 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:51:40,241.241 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:51:40,242.242 INFO    ] No update needed
[2026-08-29 23:51:40,244.244 INFO    ] Checking for camera pi updates...
[2026-08-29 23:51:40,264.264 INFO    ] 200
[2026-08-29 23:51:40,265.265 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:51:40,289.289 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:51:40,397.397 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:51:40,399.399 INFO    ] No camera update needed
[2026-08-29 23:51:40,400.400 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:51:40,401.401 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:51:40,404.404 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:51:40,407.407 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:51:42,446.446 INFO    ] ================================================
[2026-08-29 23:51:42,461.461 INFO    ] Launching Daemon at Sat Aug 29 23:51:42 IST 2026
[2026-08-29 23:51:42,472.472 INFO    ] ================================================
[2026-08-29 23:51:42,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:51:42
[2026-08-29 23:51:43,223.223 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:51:43,475.475 INFO    ] Initializing speech engine...
[2026-08-29 23:51:43,481.481 INFO    ] 2026-08-29 23:51:43
[2026-08-29 23:51:43,768.768 INFO    ] 2026-08-29 23:51:43
[2026-08-29 23:51:43,805.805 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:51:43,948.948 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:51:43,958.958 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:51:44,095.095 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:51:44,108.108 INFO    ] time= 29/08/2026 23:51:44
[2026-08-29 23:51:44,113.113 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:51:44,133.133 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:51:44,178.178 INFO    ] No existing commands found in stream
[2026-08-29 23:51:49,189.189 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:51:49,192.192 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-08-29 23:51:52,429.429 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:51:52,430.430 INFO    ] Checking for system updates...
[2026-08-29 23:51:52,452.452 INFO    ] 200
[2026-08-29 23:51:52,453.453 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:51:52,483.483 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:51:52,484.484 INFO    ] No update needed
[2026-08-29 23:51:52,485.485 INFO    ] Checking for camera pi updates...
[2026-08-29 23:51:52,505.505 INFO    ] 200
[2026-08-29 23:51:52,507.507 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:51:52,530.530 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:51:52,604.604 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:51:52,606.606 INFO    ] No camera update needed
[2026-08-29 23:51:52,607.607 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:51:52,608.608 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:51:52,611.611 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:51:52,614.614 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:51:54,653.653 INFO    ] ================================================
[2026-08-29 23:51:54,668.668 INFO    ] Launching Daemon at Sat Aug 29 23:51:54 IST 2026
[2026-08-29 23:51:54,679.679 INFO    ] ================================================
[2026-08-29 23:51:55,008.008 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:51:55
[2026-08-29 23:51:55,319.319 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:51:55,452.452 INFO    ] Initializing speech engine...
[2026-08-29 23:51:55,456.456 INFO    ] 2026-08-29 23:51:55
[2026-08-29 23:51:55,650.650 INFO    ] 2026-08-29 23:51:55
[2026-08-29 23:51:55,687.687 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:51:55,867.867 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:51:55,880.880 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:51:55,999.999 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:51:56,005.005 INFO    ] time= 29/08/2026 23:51:56
[2026-08-29 23:51:56,039.039 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:51:56,048.048 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:51:56,123.123 INFO    ] No existing commands found in stream
[2026-08-29 23:52:01,135.135 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:52:01,138.138 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-08-29 23:52:03,210.210 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:52:03,214.214 INFO    ] Checking for system updates...
[2026-08-29 23:52:03,261.261 INFO    ] 200
[2026-08-29 23:52:03,264.264 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:52:03,326.326 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:52:03,329.329 INFO    ] No update needed
[2026-08-29 23:52:03,331.331 INFO    ] Checking for camera pi updates...
[2026-08-29 23:52:03,375.375 INFO    ] 200
[2026-08-29 23:52:03,378.378 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:52:03,423.423 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:52:03,506.506 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:52:03,509.509 INFO    ] No camera update needed
[2026-08-29 23:52:03,513.513 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:52:03,516.516 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:52:03,523.523 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:52:03,530.530 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:52:05,570.570 INFO    ] ================================================
[2026-08-29 23:52:05,585.585 INFO    ] Launching Daemon at Sat Aug 29 23:52:05 IST 2026
[2026-08-29 23:52:05,596.596 INFO    ] ================================================
[2026-08-29 23:52:05,933.933 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:52:05
[2026-08-29 23:52:06,507.507 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:52:06,840.840 INFO    ] Initializing speech engine...
[2026-08-29 23:52:06,850.850 INFO    ] 2026-08-29 23:52:06
[2026-08-29 23:52:07,155.155 INFO    ] 2026-08-29 23:52:07
[2026-08-29 23:52:07,242.242 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:52:07,396.396 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:52:07,406.406 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:52:07,543.543 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:52:07,587.587 INFO    ] time= 29/08/2026 23:52:07
[2026-08-29 23:52:07,641.641 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:52:07,683.683 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:52:07,745.745 INFO    ] No existing commands found in stream
[2026-08-29 23:52:12,760.760 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:52:12,763.763 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-08-29 23:52:13,303.303 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:52:13,305.305 INFO    ] Checking for system updates...
[2026-08-29 23:52:13,354.354 INFO    ] 200
[2026-08-29 23:52:13,357.357 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:52:13,437.437 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:52:13,439.439 INFO    ] No update needed
[2026-08-29 23:52:13,442.442 INFO    ] Checking for camera pi updates...
[2026-08-29 23:52:13,479.479 INFO    ] 200
[2026-08-29 23:52:13,482.482 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:52:13,528.528 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:52:13,583.583 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:52:13,586.586 INFO    ] No camera update needed
[2026-08-29 23:52:13,589.589 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:52:13,591.591 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:52:13,597.597 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:52:13,603.603 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:52:15,643.643 INFO    ] ================================================
[2026-08-29 23:52:15,659.659 INFO    ] Launching Daemon at Sat Aug 29 23:52:15 IST 2026
[2026-08-29 23:52:15,670.670 INFO    ] ================================================
[2026-08-29 23:52:16,248.248 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:52:16
[2026-08-29 23:52:16,653.653 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:52:16,794.794 INFO    ] Initializing speech engine...
[2026-08-29 23:52:16,800.800 INFO    ] 2026-08-29 23:52:16
[2026-08-29 23:52:17,003.003 INFO    ] 2026-08-29 23:52:16
[2026-08-29 23:52:17,031.031 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:52:17,172.172 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:52:17,179.179 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:52:17,357.357 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:52:17,380.380 INFO    ] time= 29/08/2026 23:52:17
[2026-08-29 23:52:17,395.395 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:52:17,402.402 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:52:17,501.501 INFO    ] No existing commands found in stream
[2026-08-29 23:52:22,532.532 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:52:22,534.534 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-08-29 23:52:24,635.635 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:52:24,636.636 INFO    ] Checking for system updates...
[2026-08-29 23:52:24,657.657 INFO    ] 200
[2026-08-29 23:52:24,658.658 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:52:24,690.690 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:52:24,691.691 INFO    ] No update needed
[2026-08-29 23:52:24,693.693 INFO    ] Checking for camera pi updates...
[2026-08-29 23:52:24,712.712 INFO    ] 200
[2026-08-29 23:52:24,713.713 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:52:24,736.736 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:52:24,845.845 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:52:24,846.846 INFO    ] No camera update needed
[2026-08-29 23:52:24,847.847 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:52:24,848.848 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:52:24,851.851 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:52:24,854.854 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:52:26,894.894 INFO    ] ================================================
[2026-08-29 23:52:26,909.909 INFO    ] Launching Daemon at Sat Aug 29 23:52:26 IST 2026
[2026-08-29 23:52:26,921.921 INFO    ] ================================================
[2026-08-29 23:52:27,515.515 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:52:27
[2026-08-29 23:52:28,156.156 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:52:28,402.402 INFO    ] Initializing speech engine...
[2026-08-29 23:52:28,407.407 INFO    ] 2026-08-29 23:52:28
[2026-08-29 23:52:28,661.661 INFO    ] 2026-08-29 23:52:28
[2026-08-29 23:52:28,718.718 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:52:28,880.880 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:52:28,889.889 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:52:29,055.055 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:52:29,090.090 INFO    ] time= 29/08/2026 23:52:29
[2026-08-29 23:52:29,106.106 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:52:29,116.116 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:52:29,243.243 INFO    ] No existing commands found in stream
[2026-08-29 23:52:34,258.258 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:52:34,261.261 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-08-29 23:52:34,959.959 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:52:34,960.960 INFO    ] Checking for system updates...
[2026-08-29 23:52:34,981.981 INFO    ] 200
[2026-08-29 23:52:34,983.983 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:52:35,025.025 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:52:35,027.027 INFO    ] No update needed
[2026-08-29 23:52:35,030.030 INFO    ] Checking for camera pi updates...
[2026-08-29 23:52:35,051.051 INFO    ] 200
[2026-08-29 23:52:35,053.053 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:52:35,084.084 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:52:35,205.205 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:52:35,208.208 INFO    ] No camera update needed
[2026-08-29 23:52:35,211.211 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:52:35,214.214 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:52:35,221.221 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:52:35,228.228 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:52:37,271.271 INFO    ] ================================================
[2026-08-29 23:52:37,287.287 INFO    ] Launching Daemon at Sat Aug 29 23:52:37 IST 2026
[2026-08-29 23:52:37,298.298 INFO    ] ================================================
[2026-08-29 23:52:37,881.881 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:52:37
[2026-08-29 23:52:38,266.266 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:52:38,402.402 INFO    ] Initializing speech engine...
[2026-08-29 23:52:38,414.414 INFO    ] 2026-08-29 23:52:38
[2026-08-29 23:52:38,630.630 INFO    ] 2026-08-29 23:52:38
[2026-08-29 23:52:38,661.661 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:52:38,791.791 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:52:38,805.805 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:52:38,948.948 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:52:39,004.004 INFO    ] time= 29/08/2026 23:52:38
[2026-08-29 23:52:39,035.035 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:52:39,085.085 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:52:39,181.181 INFO    ] No existing commands found in stream
[2026-08-29 23:52:44,193.193 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:52:44,196.196 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-08-29 23:52:47,746.746 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:52:47,747.747 INFO    ] Checking for system updates...
[2026-08-29 23:52:47,767.767 INFO    ] 200
[2026-08-29 23:52:47,769.769 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:52:47,798.798 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:52:47,799.799 INFO    ] No update needed
[2026-08-29 23:52:47,800.800 INFO    ] Checking for camera pi updates...
[2026-08-29 23:52:47,820.820 INFO    ] 200
[2026-08-29 23:52:47,821.821 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:52:47,845.845 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:52:47,928.928 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:52:47,929.929 INFO    ] No camera update needed
[2026-08-29 23:52:47,931.931 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:52:47,932.932 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:52:47,935.935 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:52:47,937.937 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:52:49,979.979 INFO    ] ================================================
[2026-08-29 23:52:49,994.994 INFO    ] Launching Daemon at Sat Aug 29 23:52:49 IST 2026
[2026-08-29 23:52:50,005.005 INFO    ] ================================================
[2026-08-29 23:52:50,348.348 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:52:50
[2026-08-29 23:52:50,681.681 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:52:50,832.832 INFO    ] Initializing speech engine...
[2026-08-29 23:52:50,836.836 INFO    ] 2026-08-29 23:52:50
[2026-08-29 23:52:51,043.043 INFO    ] 2026-08-29 23:52:51
[2026-08-29 23:52:51,071.071 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:52:51,193.193 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:52:51,237.237 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:52:51,400.400 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:52:51,463.463 INFO    ] time= 29/08/2026 23:52:51
[2026-08-29 23:52:51,486.486 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:52:51,493.493 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:52:51,559.559 INFO    ] No existing commands found in stream
[2026-08-29 23:52:56,570.570 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:52:56,573.573 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-08-29 23:53:00,440.440 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:53:00,442.442 INFO    ] Checking for system updates...
[2026-08-29 23:53:00,463.463 INFO    ] 200
[2026-08-29 23:53:00,465.465 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:53:00,494.494 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:53:00,496.496 INFO    ] No update needed
[2026-08-29 23:53:00,497.497 INFO    ] Checking for camera pi updates...
[2026-08-29 23:53:00,516.516 INFO    ] 200
[2026-08-29 23:53:00,518.518 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:53:00,541.541 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:53:00,644.644 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:53:00,646.646 INFO    ] No camera update needed
[2026-08-29 23:53:00,647.647 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:53:00,649.649 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:53:00,652.652 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:53:00,655.655 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:53:02,721.721 INFO    ] ================================================
[2026-08-29 23:53:02,741.741 INFO    ] Launching Daemon at Sat Aug 29 23:53:02 IST 2026
[2026-08-29 23:53:02,759.759 INFO    ] ================================================
[2026-08-29 23:53:03,449.449 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:53:03
[2026-08-29 23:53:04,051.051 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:53:04,333.333 INFO    ] Initializing speech engine...
[2026-08-29 23:53:04,342.342 INFO    ] 2026-08-29 23:53:04
[2026-08-29 23:53:04,603.603 INFO    ] 2026-08-29 23:53:04
[2026-08-29 23:53:04,633.633 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:53:04,799.799 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:53:04,811.811 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:53:04,952.952 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:53:04,960.960 INFO    ] time= 29/08/2026 23:53:04
[2026-08-29 23:53:04,965.965 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:53:04,971.971 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:53:05,037.037 INFO    ] No existing commands found in stream
[2026-08-29 23:53:10,073.073 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:53:10,076.076 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-08-29 23:53:12,726.726 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:53:12,727.727 INFO    ] Checking for system updates...
[2026-08-29 23:53:12,748.748 INFO    ] 200
[2026-08-29 23:53:12,749.749 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:53:12,782.782 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:53:12,783.783 INFO    ] No update needed
[2026-08-29 23:53:12,785.785 INFO    ] Checking for camera pi updates...
[2026-08-29 23:53:12,804.804 INFO    ] 200
[2026-08-29 23:53:12,805.805 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:53:12,828.828 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:53:12,917.917 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:53:12,919.919 INFO    ] No camera update needed
[2026-08-29 23:53:12,920.920 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:53:12,921.921 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:53:12,924.924 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:53:12,927.927 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:53:14,965.965 INFO    ] ================================================
[2026-08-29 23:53:14,980.980 INFO    ] Launching Daemon at Sat Aug 29 23:53:14 IST 2026
[2026-08-29 23:53:14,991.991 INFO    ] ================================================
[2026-08-29 23:53:15,370.370 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:53:15
[2026-08-29 23:53:15,702.702 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:53:15,852.852 INFO    ] Initializing speech engine...
[2026-08-29 23:53:15,857.857 INFO    ] 2026-08-29 23:53:15
[2026-08-29 23:53:16,064.064 INFO    ] 2026-08-29 23:53:16
[2026-08-29 23:53:16,093.093 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:53:16,214.214 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:53:16,277.277 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:53:16,430.430 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:53:16,482.482 INFO    ] time= 29/08/2026 23:53:16
[2026-08-29 23:53:16,505.505 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:53:16,512.512 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:53:16,579.579 INFO    ] No existing commands found in stream
[2026-08-29 23:53:21,588.588 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:53:21,591.591 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-08-29 23:53:23,458.458 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:53:23,459.459 INFO    ] Checking for system updates...
[2026-08-29 23:53:23,481.481 INFO    ] 200
[2026-08-29 23:53:23,483.483 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:53:23,513.513 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:53:23,515.515 INFO    ] No update needed
[2026-08-29 23:53:23,516.516 INFO    ] Checking for camera pi updates...
[2026-08-29 23:53:23,536.536 INFO    ] 200
[2026-08-29 23:53:23,537.537 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:53:23,560.560 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:53:23,765.765 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:53:23,766.766 INFO    ] No camera update needed
[2026-08-29 23:53:23,768.768 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:53:23,769.769 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:53:23,772.772 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:53:23,775.775 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:53:25,815.815 INFO    ] ================================================
[2026-08-29 23:53:25,830.830 INFO    ] Launching Daemon at Sat Aug 29 23:53:25 IST 2026
[2026-08-29 23:53:25,840.840 INFO    ] ================================================
[2026-08-29 23:53:26,190.190 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:53:26
[2026-08-29 23:53:26,523.523 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:53:26,663.663 INFO    ] Initializing speech engine...
[2026-08-29 23:53:26,676.676 INFO    ] 2026-08-29 23:53:26
[2026-08-29 23:53:26,875.875 INFO    ] 2026-08-29 23:53:26
[2026-08-29 23:53:26,956.956 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:53:27,110.110 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:53:27,119.119 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:53:27,252.252 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:53:27,279.279 INFO    ] time= 29/08/2026 23:53:27
[2026-08-29 23:53:27,349.349 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:53:27,386.386 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:53:27,444.444 INFO    ] No existing commands found in stream
[2026-08-29 23:53:32,455.455 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:53:32,458.458 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-08-29 23:53:36,256.256 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:53:36,258.258 INFO    ] Checking for system updates...
[2026-08-29 23:53:36,280.280 INFO    ] 200
[2026-08-29 23:53:36,282.282 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:53:36,333.333 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:53:36,336.336 INFO    ] No update needed
[2026-08-29 23:53:36,339.339 INFO    ] Checking for camera pi updates...
[2026-08-29 23:53:36,378.378 INFO    ] 200
[2026-08-29 23:53:36,380.380 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:53:36,428.428 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:53:36,531.531 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:53:36,535.535 INFO    ] No camera update needed
[2026-08-29 23:53:36,538.538 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:53:36,541.541 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:53:36,546.546 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:53:36,551.551 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:53:38,593.593 INFO    ] ================================================
[2026-08-29 23:53:38,608.608 INFO    ] Launching Daemon at Sat Aug 29 23:53:38 IST 2026
[2026-08-29 23:53:38,620.620 INFO    ] ================================================
[2026-08-29 23:53:39,187.187 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:53:39
[2026-08-29 23:53:39,618.618 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:53:39,865.865 INFO    ] Initializing speech engine...
[2026-08-29 23:53:39,874.874 INFO    ] 2026-08-29 23:53:39
[2026-08-29 23:53:40,135.135 INFO    ] 2026-08-29 23:53:40
[2026-08-29 23:53:40,189.189 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:53:40,355.355 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:53:40,396.396 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:53:40,552.552 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:53:40,564.564 INFO    ] time= 29/08/2026 23:53:40
[2026-08-29 23:53:40,634.634 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:53:40,685.685 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:53:40,736.736 INFO    ] No existing commands found in stream
[2026-08-29 23:53:45,748.748 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:53:45,751.751 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-08-29 23:53:50,075.075 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:53:50,076.076 INFO    ] Checking for system updates...
[2026-08-29 23:53:50,097.097 INFO    ] 200
[2026-08-29 23:53:50,098.098 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:53:50,128.128 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:53:50,129.129 INFO    ] No update needed
[2026-08-29 23:53:50,131.131 INFO    ] Checking for camera pi updates...
[2026-08-29 23:53:50,166.166 INFO    ] 200
[2026-08-29 23:53:50,168.168 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:53:50,210.210 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:53:50,307.307 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:53:50,310.310 INFO    ] No camera update needed
[2026-08-29 23:53:50,312.312 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:53:50,315.315 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:53:50,321.321 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:53:50,326.326 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:53:52,368.368 INFO    ] ================================================
[2026-08-29 23:53:52,384.384 INFO    ] Launching Daemon at Sat Aug 29 23:53:52 IST 2026
[2026-08-29 23:53:52,395.395 INFO    ] ================================================
[2026-08-29 23:53:53,030.030 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:53:53
[2026-08-29 23:53:53,478.478 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:53:53,704.704 INFO    ] Initializing speech engine...
[2026-08-29 23:53:53,712.712 INFO    ] 2026-08-29 23:53:53
[2026-08-29 23:53:53,989.989 INFO    ] 2026-08-29 23:53:53
[2026-08-29 23:53:54,046.046 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:53:54,272.272 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:53:54,282.282 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:53:54,387.387 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:53:54,390.390 INFO    ] time= 29/08/2026 23:53:54
[2026-08-29 23:53:54,429.429 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:53:54,439.439 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:53:54,542.542 INFO    ] No existing commands found in stream
[2026-08-29 23:53:59,579.579 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:53:59,582.582 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-08-29 23:54:01,108.108 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:54:01,110.110 INFO    ] Checking for system updates...
[2026-08-29 23:54:01,130.130 INFO    ] 200
[2026-08-29 23:54:01,132.132 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:54:01,162.162 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:54:01,164.164 INFO    ] No update needed
[2026-08-29 23:54:01,165.165 INFO    ] Checking for camera pi updates...
[2026-08-29 23:54:01,185.185 INFO    ] 200
[2026-08-29 23:54:01,186.186 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:54:01,209.209 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:54:01,392.392 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:54:01,395.395 INFO    ] No camera update needed
[2026-08-29 23:54:01,398.398 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:54:01,400.400 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:54:01,406.406 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:54:01,411.411 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:54:03,453.453 INFO    ] ================================================
[2026-08-29 23:54:03,469.469 INFO    ] Launching Daemon at Sat Aug 29 23:54:03 IST 2026
[2026-08-29 23:54:03,480.480 INFO    ] ================================================
[2026-08-29 23:54:04,101.101 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:54:04
[2026-08-29 23:54:04,555.555 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:54:04,691.691 INFO    ] Initializing speech engine...
[2026-08-29 23:54:04,699.699 INFO    ] 2026-08-29 23:54:04
[2026-08-29 23:54:04,924.924 INFO    ] 2026-08-29 23:54:04
[2026-08-29 23:54:04,961.961 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:54:05,138.138 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:54:05,163.163 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:54:05,299.299 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:54:05,305.305 INFO    ] time= 29/08/2026 23:54:05
[2026-08-29 23:54:05,313.313 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:54:05,352.352 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:54:05,473.473 INFO    ] No existing commands found in stream
[2026-08-29 23:54:10,504.504 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:54:10,507.507 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-08-29 23:54:12,520.520 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:54:12,521.521 INFO    ] Checking for system updates...
[2026-08-29 23:54:12,542.542 INFO    ] 200
[2026-08-29 23:54:12,544.544 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:54:12,576.576 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:54:12,577.577 INFO    ] No update needed
[2026-08-29 23:54:12,578.578 INFO    ] Checking for camera pi updates...
[2026-08-29 23:54:12,597.597 INFO    ] 200
[2026-08-29 23:54:12,599.599 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:54:12,621.621 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:54:12,696.696 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:54:12,697.697 INFO    ] No camera update needed
[2026-08-29 23:54:12,698.698 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:54:12,699.699 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:54:12,703.703 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:54:12,708.708 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:54:14,749.749 INFO    ] ================================================
[2026-08-29 23:54:14,765.765 INFO    ] Launching Daemon at Sat Aug 29 23:54:14 IST 2026
[2026-08-29 23:54:14,779.779 INFO    ] ================================================
[2026-08-29 23:54:15,108.108 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:54:15
[2026-08-29 23:54:15,580.580 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:54:15,858.858 INFO    ] Initializing speech engine...
[2026-08-29 23:54:15,872.872 INFO    ] 2026-08-29 23:54:15
[2026-08-29 23:54:16,132.132 INFO    ] 2026-08-29 23:54:16
[2026-08-29 23:54:16,170.170 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:54:16,358.358 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:54:16,375.375 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:54:16,495.495 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:54:16,516.516 INFO    ] time= 29/08/2026 23:54:16
[2026-08-29 23:54:16,537.537 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:54:16,546.546 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:54:16,619.619 INFO    ] No existing commands found in stream
[2026-08-29 23:54:21,632.632 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:54:21,635.635 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-08-29 23:54:23,046.046 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:54:23,047.047 INFO    ] Checking for system updates...
[2026-08-29 23:54:23,068.068 INFO    ] 200
[2026-08-29 23:54:23,069.069 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:54:23,101.101 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:54:23,102.102 INFO    ] No update needed
[2026-08-29 23:54:23,103.103 INFO    ] Checking for camera pi updates...
[2026-08-29 23:54:23,123.123 INFO    ] 200
[2026-08-29 23:54:23,124.124 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:54:23,149.149 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:54:23,243.243 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:54:23,244.244 INFO    ] No camera update needed
[2026-08-29 23:54:23,245.245 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:54:23,246.246 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:54:23,249.249 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:54:23,252.252 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:54:25,290.290 INFO    ] ================================================
[2026-08-29 23:54:25,306.306 INFO    ] Launching Daemon at Sat Aug 29 23:54:25 IST 2026
[2026-08-29 23:54:25,317.317 INFO    ] ================================================
[2026-08-29 23:54:25,827.827 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:54:25
[2026-08-29 23:54:26,413.413 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:54:26,664.664 INFO    ] Initializing speech engine...
[2026-08-29 23:54:26,678.678 INFO    ] 2026-08-29 23:54:26
[2026-08-29 23:54:26,944.944 INFO    ] 2026-08-29 23:54:26
[2026-08-29 23:54:26,978.978 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:54:27,156.156 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:54:27,168.168 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:54:27,313.313 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:54:27,320.320 INFO    ] time= 29/08/2026 23:54:27
[2026-08-29 23:54:27,327.327 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:54:27,368.368 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:54:27,485.485 INFO    ] No existing commands found in stream
[2026-08-29 23:54:32,511.511 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:54:32,514.514 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-08-29 23:54:36,397.397 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:54:36,398.398 INFO    ] Checking for system updates...
[2026-08-29 23:54:36,421.421 INFO    ] 200
[2026-08-29 23:54:36,422.422 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:54:36,452.452 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:54:36,453.453 INFO    ] No update needed
[2026-08-29 23:54:36,454.454 INFO    ] Checking for camera pi updates...
[2026-08-29 23:54:36,473.473 INFO    ] 200
[2026-08-29 23:54:36,475.475 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:54:36,499.499 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:54:36,604.604 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:54:36,607.607 INFO    ] No camera update needed
[2026-08-29 23:54:36,609.609 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:54:36,611.611 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:54:36,617.617 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:54:36,622.622 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:54:38,662.662 INFO    ] ================================================
[2026-08-29 23:54:38,678.678 INFO    ] Launching Daemon at Sat Aug 29 23:54:38 IST 2026
[2026-08-29 23:54:38,689.689 INFO    ] ================================================
[2026-08-29 23:54:39,260.260 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:54:39
[2026-08-29 23:54:39,758.758 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:54:39,897.897 INFO    ] Initializing speech engine...
[2026-08-29 23:54:39,907.907 INFO    ] 2026-08-29 23:54:39
[2026-08-29 23:54:40,092.092 INFO    ] 2026-08-29 23:54:40
[2026-08-29 23:54:40,171.171 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:54:40,319.319 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:54:40,328.328 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:54:40,430.430 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:54:40,468.468 INFO    ] time= 29/08/2026 23:54:40
[2026-08-29 23:54:40,484.484 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:54:40,528.528 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:54:40,604.604 INFO    ] No existing commands found in stream
[2026-08-29 23:54:45,616.616 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:54:45,619.619 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-08-29 23:54:46,419.419 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:54:46,421.421 INFO    ] Checking for system updates...
[2026-08-29 23:54:46,443.443 INFO    ] 200
[2026-08-29 23:54:46,445.445 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:54:46,475.475 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:54:46,476.476 INFO    ] No update needed
[2026-08-29 23:54:46,478.478 INFO    ] Checking for camera pi updates...
[2026-08-29 23:54:46,497.497 INFO    ] 200
[2026-08-29 23:54:46,498.498 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:54:46,527.527 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:54:46,610.610 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:54:46,613.613 INFO    ] No camera update needed
[2026-08-29 23:54:46,615.615 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:54:46,618.618 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:54:46,624.624 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:54:46,629.629 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:54:48,673.673 INFO    ] ================================================
[2026-08-29 23:54:48,689.689 INFO    ] Launching Daemon at Sat Aug 29 23:54:48 IST 2026
[2026-08-29 23:54:48,700.700 INFO    ] ================================================
[2026-08-29 23:54:49,268.268 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:54:49
[2026-08-29 23:54:49,708.708 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:54:49,838.838 INFO    ] Initializing speech engine...
[2026-08-29 23:54:49,843.843 INFO    ] 2026-08-29 23:54:49
[2026-08-29 23:54:50,037.037 INFO    ] 2026-08-29 23:54:50
[2026-08-29 23:54:50,072.072 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:54:50,241.241 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:54:50,253.253 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:54:50,395.395 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:54:50,405.405 INFO    ] time= 29/08/2026 23:54:50
[2026-08-29 23:54:50,412.412 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:54:50,424.424 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:54:50,549.549 INFO    ] No existing commands found in stream
[2026-08-29 23:54:55,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:54:55,576.576 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-08-29 23:54:58,407.407 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:54:58,410.410 INFO    ] Checking for system updates...
[2026-08-29 23:54:58,445.445 INFO    ] 200
[2026-08-29 23:54:58,448.448 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:54:58,502.502 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:54:58,505.505 INFO    ] No update needed
[2026-08-29 23:54:58,507.507 INFO    ] Checking for camera pi updates...
[2026-08-29 23:54:58,540.540 INFO    ] 200
[2026-08-29 23:54:58,542.542 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:54:58,586.586 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:54:58,666.666 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:54:58,668.668 INFO    ] No camera update needed
[2026-08-29 23:54:58,671.671 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:54:58,673.673 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:54:58,678.678 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:54:58,683.683 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:55:00,724.724 INFO    ] ================================================
[2026-08-29 23:55:00,740.740 INFO    ] Launching Daemon at Sat Aug 29 23:55:00 IST 2026
[2026-08-29 23:55:00,750.750 INFO    ] ================================================
[2026-08-29 23:55:01,105.105 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:55:01
[2026-08-29 23:55:01,758.758 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:55:02,293.293 INFO    ] Initializing speech engine...
[2026-08-29 23:55:02,300.300 INFO    ] 2026-08-29 23:55:02
[2026-08-29 23:55:02,639.639 INFO    ] 2026-08-29 23:55:02
[2026-08-29 23:55:02,680.680 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:55:02,833.833 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:55:02,847.847 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:55:02,981.981 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:55:03,014.014 INFO    ] time= 29/08/2026 23:55:02
[2026-08-29 23:55:03,065.065 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:55:03,108.108 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:55:03,192.192 INFO    ] No existing commands found in stream
[2026-08-29 23:55:08,205.205 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:55:08,207.207 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-08-29 23:55:10,387.387 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:55:10,390.390 INFO    ] Checking for system updates...
[2026-08-29 23:55:10,425.425 INFO    ] 200
[2026-08-29 23:55:10,427.427 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:55:10,480.480 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:55:10,482.482 INFO    ] No update needed
[2026-08-29 23:55:10,485.485 INFO    ] Checking for camera pi updates...
[2026-08-29 23:55:10,519.519 INFO    ] 200
[2026-08-29 23:55:10,522.522 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:55:10,563.563 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:55:10,669.669 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:55:10,671.671 INFO    ] No camera update needed
[2026-08-29 23:55:10,674.674 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:55:10,676.676 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:55:10,681.681 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:55:10,686.686 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:55:12,734.734 INFO    ] ================================================
[2026-08-29 23:55:12,749.749 INFO    ] Launching Daemon at Sat Aug 29 23:55:12 IST 2026
[2026-08-29 23:55:12,761.761 INFO    ] ================================================
[2026-08-29 23:55:13,118.118 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:55:13
[2026-08-29 23:55:13,430.430 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:55:13,559.559 INFO    ] Initializing speech engine...
[2026-08-29 23:55:13,564.564 INFO    ] 2026-08-29 23:55:13
[2026-08-29 23:55:13,784.784 INFO    ] 2026-08-29 23:55:13
[2026-08-29 23:55:13,813.813 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:55:13,936.936 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:55:13,999.999 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:55:14,133.133 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:55:14,179.179 INFO    ] time= 29/08/2026 23:55:14
[2026-08-29 23:55:14,218.218 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:55:14,234.234 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:55:14,307.307 INFO    ] No existing commands found in stream
[2026-08-29 23:55:19,316.316 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:55:19,319.319 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-08-29 23:55:22,311.311 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:55:22,312.312 INFO    ] Checking for system updates...
[2026-08-29 23:55:22,333.333 INFO    ] 200
[2026-08-29 23:55:22,334.334 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:55:22,367.367 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:55:22,368.368 INFO    ] No update needed
[2026-08-29 23:55:22,369.369 INFO    ] Checking for camera pi updates...
[2026-08-29 23:55:22,390.390 INFO    ] 200
[2026-08-29 23:55:22,391.391 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:55:22,414.414 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:55:22,490.490 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:55:22,491.491 INFO    ] No camera update needed
[2026-08-29 23:55:22,492.492 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:55:22,494.494 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:55:22,497.497 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:55:22,499.499 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:55:24,540.540 INFO    ] ================================================
[2026-08-29 23:55:24,556.556 INFO    ] Launching Daemon at Sat Aug 29 23:55:24 IST 2026
[2026-08-29 23:55:24,567.567 INFO    ] ================================================
[2026-08-29 23:55:24,949.949 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:55:24
[2026-08-29 23:55:25,267.267 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:55:25,473.473 INFO    ] Initializing speech engine...
[2026-08-29 23:55:25,480.480 INFO    ] 2026-08-29 23:55:25
[2026-08-29 23:55:25,728.728 INFO    ] 2026-08-29 23:55:25
[2026-08-29 23:55:25,775.775 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:55:25,940.940 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:55:25,952.952 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:55:26,093.093 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:55:26,100.100 INFO    ] time= 29/08/2026 23:55:26
[2026-08-29 23:55:26,109.109 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:55:26,159.159 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:55:26,268.268 INFO    ] No existing commands found in stream
[2026-08-29 23:55:31,299.299 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:55:31,302.302 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-08-29 23:55:32,416.416 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:55:32,420.420 INFO    ] Checking for system updates...
[2026-08-29 23:55:32,463.463 INFO    ] 200
[2026-08-29 23:55:32,465.465 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:55:32,519.519 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:55:32,522.522 INFO    ] No update needed
[2026-08-29 23:55:32,525.525 INFO    ] Checking for camera pi updates...
[2026-08-29 23:55:32,560.560 INFO    ] 200
[2026-08-29 23:55:32,565.565 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:55:32,615.615 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:55:32,797.797 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:55:32,800.800 INFO    ] No camera update needed
[2026-08-29 23:55:32,802.802 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:55:32,804.804 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:55:32,810.810 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:55:32,814.814 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:55:34,855.855 INFO    ] ================================================
[2026-08-29 23:55:34,871.871 INFO    ] Launching Daemon at Sat Aug 29 23:55:34 IST 2026
[2026-08-29 23:55:34,882.882 INFO    ] ================================================
[2026-08-29 23:55:35,412.412 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:55:35
[2026-08-29 23:55:35,997.997 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:55:36,267.267 INFO    ] Initializing speech engine...
[2026-08-29 23:55:36,276.276 INFO    ] 2026-08-29 23:55:36
[2026-08-29 23:55:36,526.526 INFO    ] 2026-08-29 23:55:36
[2026-08-29 23:55:36,594.594 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:55:36,738.738 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:55:36,750.750 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:55:36,884.884 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:55:36,903.903 INFO    ] time= 29/08/2026 23:55:36
[2026-08-29 23:55:36,907.907 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:55:36,913.913 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:55:36,980.980 INFO    ] No existing commands found in stream
[2026-08-29 23:55:41,992.992 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:55:42,006.006 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-08-29 23:55:43,467.467 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:55:43,469.469 INFO    ] Checking for system updates...
[2026-08-29 23:55:43,489.489 INFO    ] 200
[2026-08-29 23:55:43,491.491 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:55:43,523.523 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:55:43,524.524 INFO    ] No update needed
[2026-08-29 23:55:43,526.526 INFO    ] Checking for camera pi updates...
[2026-08-29 23:55:43,545.545 INFO    ] 200
[2026-08-29 23:55:43,546.546 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:55:43,569.569 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:55:43,662.662 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:55:43,664.664 INFO    ] No camera update needed
[2026-08-29 23:55:43,665.665 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:55:43,666.666 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:55:43,670.670 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:55:43,672.672 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:55:45,713.713 INFO    ] ================================================
[2026-08-29 23:55:45,729.729 INFO    ] Launching Daemon at Sat Aug 29 23:55:45 IST 2026
[2026-08-29 23:55:45,740.740 INFO    ] ================================================
[2026-08-29 23:55:46,104.104 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:55:46
[2026-08-29 23:55:46,420.420 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:55:46,687.687 INFO    ] Initializing speech engine...
[2026-08-29 23:55:46,696.696 INFO    ] 2026-08-29 23:55:46
[2026-08-29 23:55:46,944.944 INFO    ] 2026-08-29 23:55:46
[2026-08-29 23:55:46,979.979 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:55:47,155.155 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:55:47,307.307 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:55:47,474.474 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:55:47,514.514 INFO    ] time= 29/08/2026 23:55:47
[2026-08-29 23:55:47,520.520 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:55:47,538.538 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:55:47,634.634 INFO    ] No existing commands found in stream
[2026-08-29 23:55:52,656.656 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:55:52,779.779 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-08-29 23:55:55,274.274 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:55:55,276.276 INFO    ] Checking for system updates...
[2026-08-29 23:55:55,296.296 INFO    ] 200
[2026-08-29 23:55:55,298.298 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:55:55,328.328 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:55:55,329.329 INFO    ] No update needed
[2026-08-29 23:55:55,330.330 INFO    ] Checking for camera pi updates...
[2026-08-29 23:55:55,350.350 INFO    ] 200
[2026-08-29 23:55:55,352.352 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:55:55,376.376 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:55:55,463.463 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:55:55,465.465 INFO    ] No camera update needed
[2026-08-29 23:55:55,466.466 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:55:55,467.467 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:55:55,470.470 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:55:55,473.473 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:55:57,512.512 INFO    ] ================================================
[2026-08-29 23:55:57,528.528 INFO    ] Launching Daemon at Sat Aug 29 23:55:57 IST 2026
[2026-08-29 23:55:57,539.539 INFO    ] ================================================
[2026-08-29 23:55:57,880.880 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:55:57
[2026-08-29 23:55:58,192.192 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:55:58,333.333 INFO    ] Initializing speech engine...
[2026-08-29 23:55:58,340.340 INFO    ] 2026-08-29 23:55:58
[2026-08-29 23:55:58,530.530 INFO    ] 2026-08-29 23:55:58
[2026-08-29 23:55:58,587.587 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:55:58,751.751 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:55:58,758.758 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:55:58,882.882 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:55:58,890.890 INFO    ] time= 29/08/2026 23:55:58
[2026-08-29 23:55:58,897.897 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:55:58,942.942 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:55:59,069.069 INFO    ] No existing commands found in stream
[2026-08-29 23:56:04,097.097 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:56:04,110.110 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-08-29 23:56:04,760.760 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:56:04,762.762 INFO    ] Checking for system updates...
[2026-08-29 23:56:04,798.798 INFO    ] 200
[2026-08-29 23:56:04,801.801 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:56:04,853.853 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:56:04,856.856 INFO    ] No update needed
[2026-08-29 23:56:04,858.858 INFO    ] Checking for camera pi updates...
[2026-08-29 23:56:04,892.892 INFO    ] 200
[2026-08-29 23:56:04,894.894 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:56:04,939.939 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:56:05,019.019 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:56:05,020.020 INFO    ] No camera update needed
[2026-08-29 23:56:05,022.022 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:56:05,023.023 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:56:05,026.026 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:56:05,029.029 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:56:07,071.071 INFO    ] ================================================
[2026-08-29 23:56:07,086.086 INFO    ] Launching Daemon at Sat Aug 29 23:56:07 IST 2026
[2026-08-29 23:56:07,097.097 INFO    ] ================================================
[2026-08-29 23:56:07,466.466 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:56:07
[2026-08-29 23:56:07,781.781 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:56:07,922.922 INFO    ] Initializing speech engine...
[2026-08-29 23:56:07,930.930 INFO    ] 2026-08-29 23:56:07
[2026-08-29 23:56:08,111.111 INFO    ] 2026-08-29 23:56:08
[2026-08-29 23:56:08,147.147 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:56:08,323.323 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:56:08,335.335 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:56:08,460.460 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:56:08,480.480 INFO    ] time= 29/08/2026 23:56:08
[2026-08-29 23:56:08,488.488 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:56:08,496.496 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:56:08,561.561 INFO    ] No existing commands found in stream
[2026-08-29 23:56:13,592.592 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:56:13,595.595 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-08-29 23:56:15,476.476 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:56:15,477.477 INFO    ] Checking for system updates...
[2026-08-29 23:56:15,498.498 INFO    ] 200
[2026-08-29 23:56:15,499.499 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:56:15,529.529 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:56:15,530.530 INFO    ] No update needed
[2026-08-29 23:56:15,531.531 INFO    ] Checking for camera pi updates...
[2026-08-29 23:56:15,551.551 INFO    ] 200
[2026-08-29 23:56:15,552.552 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:56:15,576.576 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:56:15,651.651 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:56:15,652.652 INFO    ] No camera update needed
[2026-08-29 23:56:15,654.654 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:56:15,655.655 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:56:15,658.658 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:56:15,661.661 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:56:17,701.701 INFO    ] ================================================
[2026-08-29 23:56:17,717.717 INFO    ] Launching Daemon at Sat Aug 29 23:56:17 IST 2026
[2026-08-29 23:56:17,728.728 INFO    ] ================================================
[2026-08-29 23:56:18,080.080 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:56:18
[2026-08-29 23:56:18,400.400 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:56:18,545.545 INFO    ] Initializing speech engine...
[2026-08-29 23:56:18,550.550 INFO    ] 2026-08-29 23:56:18
[2026-08-29 23:56:18,738.738 INFO    ] 2026-08-29 23:56:18
[2026-08-29 23:56:18,828.828 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:56:18,997.997 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:56:19,008.008 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:56:19,159.159 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:56:19,167.167 INFO    ] time= 29/08/2026 23:56:19
[2026-08-29 23:56:19,216.216 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:56:19,271.271 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:56:19,363.363 INFO    ] No existing commands found in stream
[2026-08-29 23:56:24,377.377 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:56:24,379.379 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-08-29 23:56:27,247.247 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:56:27,249.249 INFO    ] Checking for system updates...
[2026-08-29 23:56:27,269.269 INFO    ] 200
[2026-08-29 23:56:27,271.271 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:56:27,304.304 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:56:27,305.305 INFO    ] No update needed
[2026-08-29 23:56:27,306.306 INFO    ] Checking for camera pi updates...
[2026-08-29 23:56:27,325.325 INFO    ] 200
[2026-08-29 23:56:27,326.326 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:56:27,349.349 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:56:27,436.436 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:56:27,438.438 INFO    ] No camera update needed
[2026-08-29 23:56:27,439.439 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:56:27,440.440 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:56:27,443.443 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:56:27,446.446 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:56:29,484.484 INFO    ] ================================================
[2026-08-29 23:56:29,501.501 INFO    ] Launching Daemon at Sat Aug 29 23:56:29 IST 2026
[2026-08-29 23:56:29,512.512 INFO    ] ================================================
[2026-08-29 23:56:29,881.881 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:56:29
[2026-08-29 23:56:30,472.472 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:56:30,746.746 INFO    ] Initializing speech engine...
[2026-08-29 23:56:30,755.755 INFO    ] 2026-08-29 23:56:30
[2026-08-29 23:56:31,018.018 INFO    ] 2026-08-29 23:56:31
[2026-08-29 23:56:31,073.073 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:56:31,296.296 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:56:31,306.306 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:56:31,441.441 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:56:31,486.486 INFO    ] time= 29/08/2026 23:56:31
[2026-08-29 23:56:31,531.531 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:56:31,587.587 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:56:31,643.643 INFO    ] No existing commands found in stream
[2026-08-29 23:56:36,655.655 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:56:36,658.658 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-08-29 23:56:39,489.489 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:56:39,491.491 INFO    ] Checking for system updates...
[2026-08-29 23:56:39,513.513 INFO    ] 200
[2026-08-29 23:56:39,514.514 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:56:39,546.546 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:56:39,548.548 INFO    ] No update needed
[2026-08-29 23:56:39,549.549 INFO    ] Checking for camera pi updates...
[2026-08-29 23:56:39,569.569 INFO    ] 200
[2026-08-29 23:56:39,570.570 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:56:39,604.604 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:56:39,684.684 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:56:39,687.687 INFO    ] No camera update needed
[2026-08-29 23:56:39,690.690 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:56:39,692.692 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:56:39,699.699 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:56:39,704.704 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:56:41,747.747 INFO    ] ================================================
[2026-08-29 23:56:41,763.763 INFO    ] Launching Daemon at Sat Aug 29 23:56:41 IST 2026
[2026-08-29 23:56:41,774.774 INFO    ] ================================================
[2026-08-29 23:56:42,345.345 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:56:42
[2026-08-29 23:56:42,832.832 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:56:42,963.963 INFO    ] Initializing speech engine...
[2026-08-29 23:56:42,966.966 INFO    ] 2026-08-29 23:56:42
[2026-08-29 23:56:43,173.173 INFO    ] 2026-08-29 23:56:43
[2026-08-29 23:56:43,254.254 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:56:43,405.405 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:56:43,414.414 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:56:43,546.546 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:56:43,583.583 INFO    ] time= 29/08/2026 23:56:43
[2026-08-29 23:56:43,631.631 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:56:43,678.678 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:56:43,734.734 INFO    ] No existing commands found in stream
[2026-08-29 23:56:48,745.745 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:56:48,748.748 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-08-29 23:56:50,687.687 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:56:50,774.774 INFO    ] Checking for system updates...
[2026-08-29 23:56:50,805.805 INFO    ] 200
[2026-08-29 23:56:50,808.808 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:56:50,864.864 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:56:50,866.866 INFO    ] No update needed
[2026-08-29 23:56:50,869.869 INFO    ] Checking for camera pi updates...
[2026-08-29 23:56:50,903.903 INFO    ] 200
[2026-08-29 23:56:50,905.905 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:56:50,945.945 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:56:51,024.024 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:56:51,026.026 INFO    ] No camera update needed
[2026-08-29 23:56:51,028.028 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:56:51,031.031 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:56:51,036.036 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:56:51,041.041 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:56:53,082.082 INFO    ] ================================================
[2026-08-29 23:56:53,097.097 INFO    ] Launching Daemon at Sat Aug 29 23:56:53 IST 2026
[2026-08-29 23:56:53,108.108 INFO    ] ================================================
[2026-08-29 23:56:53,677.677 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:56:53
[2026-08-29 23:56:54,098.098 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:56:54,241.241 INFO    ] Initializing speech engine...
[2026-08-29 23:56:54,246.246 INFO    ] 2026-08-29 23:56:54
[2026-08-29 23:56:54,452.452 INFO    ] 2026-08-29 23:56:54
[2026-08-29 23:56:54,481.481 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:56:54,605.605 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:56:54,668.668 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:56:54,806.806 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:56:54,872.872 INFO    ] time= 29/08/2026 23:56:54
[2026-08-29 23:56:54,900.900 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:56:54,907.907 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:56:54,974.974 INFO    ] No existing commands found in stream
[2026-08-29 23:56:59,984.984 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:56:59,987.987 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-08-29 23:57:04,069.069 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:57:04,072.072 INFO    ] Checking for system updates...
[2026-08-29 23:57:04,108.108 INFO    ] 200
[2026-08-29 23:57:04,110.110 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:57:04,163.163 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:57:04,166.166 INFO    ] No update needed
[2026-08-29 23:57:04,168.168 INFO    ] Checking for camera pi updates...
[2026-08-29 23:57:04,203.203 INFO    ] 200
[2026-08-29 23:57:04,205.205 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:57:04,245.245 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:57:04,338.338 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:57:04,339.339 INFO    ] No camera update needed
[2026-08-29 23:57:04,341.341 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:57:04,342.342 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:57:04,345.345 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:57:04,348.348 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:57:06,387.387 INFO    ] ================================================
[2026-08-29 23:57:06,403.403 INFO    ] Launching Daemon at Sat Aug 29 23:57:06 IST 2026
[2026-08-29 23:57:06,413.413 INFO    ] ================================================
[2026-08-29 23:57:06,746.746 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:57:06
[2026-08-29 23:57:07,058.058 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:57:07,191.191 INFO    ] Initializing speech engine...
[2026-08-29 23:57:07,195.195 INFO    ] 2026-08-29 23:57:07
[2026-08-29 23:57:07,405.405 INFO    ] 2026-08-29 23:57:07
[2026-08-29 23:57:07,434.434 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:57:07,579.579 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:57:07,588.588 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:57:07,740.740 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:57:07,789.789 INFO    ] time= 29/08/2026 23:57:07
[2026-08-29 23:57:07,822.822 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:57:07,829.829 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:57:07,891.891 INFO    ] No existing commands found in stream
[2026-08-29 23:57:12,903.903 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:57:12,906.906 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-08-29 23:57:16,236.236 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-08-29 23:57:16,237.237 INFO    ] Checking for system updates...
[2026-08-29 23:57:16,257.257 INFO    ] 200
[2026-08-29 23:57:16,259.259 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:57:16,289.289 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:57:16,290.290 INFO    ] No update needed
[2026-08-29 23:57:16,291.291 INFO    ] Checking for camera pi updates...
[2026-08-29 23:57:16,318.318 INFO    ] 200
[2026-08-29 23:57:16,320.320 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:57:16,367.367 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:57:16,446.446 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:57:16,449.449 INFO    ] No camera update needed
[2026-08-29 23:57:16,451.451 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:57:16,454.454 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:57:16,459.459 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:57:16,464.464 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:57:18,507.507 INFO    ] ================================================
[2026-08-29 23:57:18,522.522 INFO    ] Launching Daemon at Sat Aug 29 23:57:18 IST 2026
[2026-08-29 23:57:18,533.533 INFO    ] ================================================
[2026-08-29 23:57:19,117.117 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:57:19
[2026-08-29 23:57:19,583.583 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:57:19,727.727 INFO    ] Initializing speech engine...
[2026-08-29 23:57:19,732.732 INFO    ] 2026-08-29 23:57:19
[2026-08-29 23:57:19,936.936 INFO    ] 2026-08-29 23:57:19
[2026-08-29 23:57:19,964.964 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:57:20,088.088 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:57:20,151.151 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:57:20,283.283 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:57:20,344.344 INFO    ] time= 29/08/2026 23:57:20
[2026-08-29 23:57:20,373.373 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:57:20,384.384 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:57:20,454.454 INFO    ] No existing commands found in stream
[2026-08-29 23:57:25,465.465 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:57:25,467.467 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-08-29 23:57:28,208.208 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-08-29 23:57:28,209.209 INFO    ] Checking for system updates...
[2026-08-29 23:57:28,230.230 INFO    ] 200
[2026-08-29 23:57:28,231.231 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:57:28,261.261 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:57:28,262.262 INFO    ] No update needed
[2026-08-29 23:57:28,264.264 INFO    ] Checking for camera pi updates...
[2026-08-29 23:57:28,283.283 INFO    ] 200
[2026-08-29 23:57:28,284.284 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:57:28,307.307 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:57:28,388.388 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:57:28,389.389 INFO    ] No camera update needed
[2026-08-29 23:57:28,391.391 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:57:28,392.392 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:57:28,395.395 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:57:28,398.398 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:57:30,435.435 INFO    ] ================================================
[2026-08-29 23:57:30,451.451 INFO    ] Launching Daemon at Sat Aug 29 23:57:30 IST 2026
[2026-08-29 23:57:30,461.461 INFO    ] ================================================
[2026-08-29 23:57:30,840.840 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:57:30
[2026-08-29 23:57:31,201.201 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:57:31,477.477 INFO    ] Initializing speech engine...
[2026-08-29 23:57:31,490.490 INFO    ] 2026-08-29 23:57:31
[2026-08-29 23:57:31,751.751 INFO    ] 2026-08-29 23:57:31
[2026-08-29 23:57:31,823.823 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:57:31,975.975 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:57:31,987.987 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:57:32,105.105 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:57:32,111.111 INFO    ] time= 29/08/2026 23:57:32
[2026-08-29 23:57:32,130.130 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:57:32,151.151 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:57:32,268.268 INFO    ] No existing commands found in stream
[2026-08-29 23:57:37,300.300 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:57:37,304.304 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-08-29 23:57:39,302.302 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:57:39,305.305 INFO    ] Checking for system updates...
[2026-08-29 23:57:39,344.344 INFO    ] 200
[2026-08-29 23:57:39,348.348 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:57:39,407.407 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:57:39,410.410 INFO    ] No update needed
[2026-08-29 23:57:39,413.413 INFO    ] Checking for camera pi updates...
[2026-08-29 23:57:39,452.452 INFO    ] 200
[2026-08-29 23:57:39,455.455 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:57:39,499.499 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:57:39,588.588 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:57:39,591.591 INFO    ] No camera update needed
[2026-08-29 23:57:39,594.594 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:57:39,597.597 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:57:39,604.604 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:57:39,610.610 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:57:41,653.653 INFO    ] ================================================
[2026-08-29 23:57:41,668.668 INFO    ] Launching Daemon at Sat Aug 29 23:57:41 IST 2026
[2026-08-29 23:57:41,679.679 INFO    ] ================================================
[2026-08-29 23:57:42,237.237 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:57:42
[2026-08-29 23:57:42,550.550 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:57:42,696.696 INFO    ] Initializing speech engine...
[2026-08-29 23:57:42,703.703 INFO    ] 2026-08-29 23:57:42
[2026-08-29 23:57:42,891.891 INFO    ] 2026-08-29 23:57:42
[2026-08-29 23:57:42,960.960 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:57:43,117.117 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:57:43,126.126 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:57:43,262.262 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:57:43,312.312 INFO    ] time= 29/08/2026 23:57:43
[2026-08-29 23:57:43,371.371 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:57:43,394.394 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:57:43,446.446 INFO    ] No existing commands found in stream
[2026-08-29 23:57:48,458.458 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:57:48,461.461 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-08-29 23:57:50,231.231 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:57:50,234.234 INFO    ] Checking for system updates...
[2026-08-29 23:57:50,270.270 INFO    ] 200
[2026-08-29 23:57:50,273.273 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:57:50,325.325 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:57:50,327.327 INFO    ] No update needed
[2026-08-29 23:57:50,330.330 INFO    ] Checking for camera pi updates...
[2026-08-29 23:57:50,363.363 INFO    ] 200
[2026-08-29 23:57:50,365.365 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:57:50,405.405 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:57:50,501.501 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:57:50,504.504 INFO    ] No camera update needed
[2026-08-29 23:57:50,506.506 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:57:50,509.509 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:57:50,514.514 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:57:50,519.519 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:57:52,558.558 INFO    ] ================================================
[2026-08-29 23:57:52,574.574 INFO    ] Launching Daemon at Sat Aug 29 23:57:52 IST 2026
[2026-08-29 23:57:52,585.585 INFO    ] ================================================
[2026-08-29 23:57:53,154.154 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:57:53
[2026-08-29 23:57:53,498.498 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:57:53,746.746 INFO    ] Initializing speech engine...
[2026-08-29 23:57:53,755.755 INFO    ] 2026-08-29 23:57:53
[2026-08-29 23:57:54,003.003 INFO    ] 2026-08-29 23:57:53
[2026-08-29 23:57:54,037.037 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:57:54,210.210 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:57:54,222.222 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:57:54,366.366 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:57:54,374.374 INFO    ] time= 29/08/2026 23:57:54
[2026-08-29 23:57:54,404.404 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:57:54,440.440 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:57:54,566.566 INFO    ] No existing commands found in stream
[2026-08-29 23:57:59,576.576 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:57:59,584.584 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-08-29 23:58:00,226.226 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:58:00,227.227 INFO    ] Checking for system updates...
[2026-08-29 23:58:00,248.248 INFO    ] 200
[2026-08-29 23:58:00,249.249 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:58:00,282.282 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:58:00,284.284 INFO    ] No update needed
[2026-08-29 23:58:00,285.285 INFO    ] Checking for camera pi updates...
[2026-08-29 23:58:00,307.307 INFO    ] 200
[2026-08-29 23:58:00,308.308 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:58:00,334.334 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:58:00,428.428 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:58:00,429.429 INFO    ] No camera update needed
[2026-08-29 23:58:00,430.430 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:58:00,431.431 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:58:00,435.435 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:58:00,437.437 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:58:02,479.479 INFO    ] ================================================
[2026-08-29 23:58:02,500.500 INFO    ] Launching Daemon at Sat Aug 29 23:58:02 IST 2026
[2026-08-29 23:58:02,524.524 INFO    ] ================================================
[2026-08-29 23:58:03,150.150 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:58:03
[2026-08-29 23:58:03,814.814 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:58:04,070.070 INFO    ] Initializing speech engine...
[2026-08-29 23:58:04,077.077 INFO    ] 2026-08-29 23:58:04
[2026-08-29 23:58:04,378.378 INFO    ] 2026-08-29 23:58:04
[2026-08-29 23:58:04,412.412 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:58:04,562.562 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:58:04,567.567 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:58:04,723.723 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:58:04,736.736 INFO    ] time= 29/08/2026 23:58:04
[2026-08-29 23:58:04,740.740 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:58:04,763.763 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:58:04,816.816 INFO    ] No existing commands found in stream
[2026-08-29 23:58:09,827.827 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:58:09,836.836 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-08-29 23:58:12,810.810 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:58:12,811.811 INFO    ] Checking for system updates...
[2026-08-29 23:58:12,832.832 INFO    ] 200
[2026-08-29 23:58:12,834.834 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:58:12,864.864 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:58:12,866.866 INFO    ] No update needed
[2026-08-29 23:58:12,867.867 INFO    ] Checking for camera pi updates...
[2026-08-29 23:58:12,886.886 INFO    ] 200
[2026-08-29 23:58:12,887.887 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:58:12,915.915 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:58:12,993.993 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:58:12,994.994 INFO    ] No camera update needed
[2026-08-29 23:58:12,995.995 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:58:12,997.997 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:58:12,999.999 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:58:13,002.002 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:58:15,042.042 INFO    ] ================================================
[2026-08-29 23:58:15,057.057 INFO    ] Launching Daemon at Sat Aug 29 23:58:15 IST 2026
[2026-08-29 23:58:15,068.068 INFO    ] ================================================
[2026-08-29 23:58:15,454.454 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:58:15
[2026-08-29 23:58:15,794.794 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:58:15,948.948 INFO    ] Initializing speech engine...
[2026-08-29 23:58:15,952.952 INFO    ] 2026-08-29 23:58:15
[2026-08-29 23:58:16,187.187 INFO    ] 2026-08-29 23:58:16
[2026-08-29 23:58:16,232.232 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:58:16,454.454 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:58:16,464.464 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:58:16,598.598 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:58:16,635.635 INFO    ] time= 29/08/2026 23:58:16
[2026-08-29 23:58:16,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:58:16,733.733 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:58:16,790.790 INFO    ] No existing commands found in stream
[2026-08-29 23:58:21,803.803 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:58:21,806.806 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-08-29 23:58:22,790.790 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:58:22,792.792 INFO    ] Checking for system updates...
[2026-08-29 23:58:22,813.813 INFO    ] 200
[2026-08-29 23:58:22,814.814 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:58:22,844.844 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:58:22,846.846 INFO    ] No update needed
[2026-08-29 23:58:22,847.847 INFO    ] Checking for camera pi updates...
[2026-08-29 23:58:22,867.867 INFO    ] 200
[2026-08-29 23:58:22,869.869 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:58:22,895.895 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:58:23,000.000 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:58:23,001.001 INFO    ] No camera update needed
[2026-08-29 23:58:23,003.003 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:58:23,004.004 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:58:23,007.007 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:58:23,010.010 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:58:25,048.048 INFO    ] ================================================
[2026-08-29 23:58:25,064.064 INFO    ] Launching Daemon at Sat Aug 29 23:58:25 IST 2026
[2026-08-29 23:58:25,075.075 INFO    ] ================================================
[2026-08-29 23:58:25,418.418 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:58:25
[2026-08-29 23:58:25,731.731 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:58:25,950.950 INFO    ] Initializing speech engine...
[2026-08-29 23:58:25,959.959 INFO    ] 2026-08-29 23:58:25
[2026-08-29 23:58:26,215.215 INFO    ] 2026-08-29 23:58:26
[2026-08-29 23:58:26,283.283 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:58:26,451.451 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:58:26,506.506 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:58:26,655.655 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:58:26,703.703 INFO    ] time= 29/08/2026 23:58:26
[2026-08-29 23:58:26,773.773 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:58:26,794.794 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:58:26,921.921 INFO    ] No existing commands found in stream
[2026-08-29 23:58:31,951.951 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:58:31,955.955 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-08-29 23:58:33,036.036 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:58:33,039.039 INFO    ] Checking for system updates...
[2026-08-29 23:58:33,083.083 INFO    ] 200
[2026-08-29 23:58:33,086.086 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:58:33,160.160 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:58:33,163.163 INFO    ] No update needed
[2026-08-29 23:58:33,166.166 INFO    ] Checking for camera pi updates...
[2026-08-29 23:58:33,201.201 INFO    ] 200
[2026-08-29 23:58:33,204.204 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:58:33,246.246 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:58:33,330.330 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:58:33,333.333 INFO    ] No camera update needed
[2026-08-29 23:58:33,336.336 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:58:33,339.339 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:58:33,345.345 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:58:33,351.351 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:58:35,394.394 INFO    ] ================================================
[2026-08-29 23:58:35,408.408 INFO    ] Launching Daemon at Sat Aug 29 23:58:35 IST 2026
[2026-08-29 23:58:35,419.419 INFO    ] ================================================
[2026-08-29 23:58:35,803.803 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:58:35
[2026-08-29 23:58:36,142.142 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:58:36,304.304 INFO    ] Initializing speech engine...
[2026-08-29 23:58:36,315.315 INFO    ] 2026-08-29 23:58:36
[2026-08-29 23:58:36,584.584 INFO    ] 2026-08-29 23:58:36
[2026-08-29 23:58:36,623.623 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:58:36,768.768 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:58:36,778.778 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:58:36,931.931 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:58:36,942.942 INFO    ] time= 29/08/2026 23:58:36
[2026-08-29 23:58:36,946.946 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:58:36,951.951 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:58:37,016.016 INFO    ] No existing commands found in stream
[2026-08-29 23:58:42,029.029 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:58:42,032.032 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-08-29 23:58:45,946.946 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:58:45,947.947 INFO    ] Checking for system updates...
[2026-08-29 23:58:45,968.968 INFO    ] 200
[2026-08-29 23:58:45,969.969 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:58:46,002.002 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:58:46,003.003 INFO    ] No update needed
[2026-08-29 23:58:46,004.004 INFO    ] Checking for camera pi updates...
[2026-08-29 23:58:46,023.023 INFO    ] 200
[2026-08-29 23:58:46,025.025 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:58:46,048.048 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:58:46,162.162 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:58:46,164.164 INFO    ] No camera update needed
[2026-08-29 23:58:46,165.165 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:58:46,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:58:46,169.169 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:58:46,172.172 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:58:48,210.210 INFO    ] ================================================
[2026-08-29 23:58:48,226.226 INFO    ] Launching Daemon at Sat Aug 29 23:58:48 IST 2026
[2026-08-29 23:58:48,237.237 INFO    ] ================================================
[2026-08-29 23:58:48,574.574 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:58:48
[2026-08-29 23:58:48,887.887 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:58:49,023.023 INFO    ] Initializing speech engine...
[2026-08-29 23:58:49,027.027 INFO    ] 2026-08-29 23:58:49
[2026-08-29 23:58:49,257.257 INFO    ] 2026-08-29 23:58:49
[2026-08-29 23:58:49,287.287 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:58:49,383.383 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:58:49,388.388 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:58:49,530.530 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:58:49,574.574 INFO    ] time= 29/08/2026 23:58:49
[2026-08-29 23:58:49,609.609 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:58:49,616.616 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:58:49,677.677 INFO    ] No existing commands found in stream
[2026-08-29 23:58:54,688.688 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:58:54,691.691 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-08-29 23:58:58,582.582 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:58:58,584.584 INFO    ] Checking for system updates...
[2026-08-29 23:58:58,604.604 INFO    ] 200
[2026-08-29 23:58:58,605.605 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:58:58,635.635 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:58:58,637.637 INFO    ] No update needed
[2026-08-29 23:58:58,638.638 INFO    ] Checking for camera pi updates...
[2026-08-29 23:58:58,661.661 INFO    ] 200
[2026-08-29 23:58:58,663.663 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:58:58,686.686 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:58:58,784.784 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:58:58,787.787 INFO    ] No camera update needed
[2026-08-29 23:58:58,789.789 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:58:58,791.791 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:58:58,797.797 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:58:58,802.802 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:59:00,843.843 INFO    ] ================================================
[2026-08-29 23:59:00,859.859 INFO    ] Launching Daemon at Sat Aug 29 23:59:00 IST 2026
[2026-08-29 23:59:00,870.870 INFO    ] ================================================
[2026-08-29 23:59:01,209.209 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:59:01
[2026-08-29 23:59:01,719.719 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:59:02,262.262 INFO    ] Initializing speech engine...
[2026-08-29 23:59:02,280.280 INFO    ] 2026-08-29 23:59:02
[2026-08-29 23:59:02,622.622 INFO    ] 2026-08-29 23:59:02
[2026-08-29 23:59:02,701.701 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:59:02,865.865 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:59:02,871.871 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:59:03,011.011 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:59:03,039.039 INFO    ] time= 29/08/2026 23:59:03
[2026-08-29 23:59:03,099.099 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:59:03,150.150 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:59:03,208.208 INFO    ] No existing commands found in stream
[2026-08-29 23:59:08,220.220 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:59:08,223.223 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-08-29 23:59:09,987.987 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:59:09,990.990 INFO    ] Checking for system updates...
[2026-08-29 23:59:10,026.026 INFO    ] 200
[2026-08-29 23:59:10,029.029 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:59:10,082.082 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:59:10,085.085 INFO    ] No update needed
[2026-08-29 23:59:10,087.087 INFO    ] Checking for camera pi updates...
[2026-08-29 23:59:10,123.123 INFO    ] 200
[2026-08-29 23:59:10,126.126 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:59:10,166.166 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:59:10,246.246 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:59:10,248.248 INFO    ] No camera update needed
[2026-08-29 23:59:10,251.251 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:59:10,253.253 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:59:10,259.259 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:59:10,264.264 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:59:12,305.305 INFO    ] ================================================
[2026-08-29 23:59:12,322.322 INFO    ] Launching Daemon at Sat Aug 29 23:59:12 IST 2026
[2026-08-29 23:59:12,333.333 INFO    ] ================================================
[2026-08-29 23:59:12,659.659 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:59:12
[2026-08-29 23:59:12,972.972 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:59:13,225.225 INFO    ] Initializing speech engine...
[2026-08-29 23:59:13,230.230 INFO    ] 2026-08-29 23:59:13
[2026-08-29 23:59:13,476.476 INFO    ] 2026-08-29 23:59:13
[2026-08-29 23:59:13,511.511 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:59:13,682.682 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:59:13,688.688 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:59:13,806.806 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:59:13,826.826 INFO    ] time= 29/08/2026 23:59:13
[2026-08-29 23:59:13,845.845 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:59:13,853.853 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:59:13,924.924 INFO    ] No existing commands found in stream
[2026-08-29 23:59:18,959.959 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:59:18,962.962 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-08-29 23:59:21,562.562 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-08-29 23:59:21,564.564 INFO    ] Checking for system updates...
[2026-08-29 23:59:21,585.585 INFO    ] 200
[2026-08-29 23:59:21,586.586 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:59:21,616.616 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:59:21,617.617 INFO    ] No update needed
[2026-08-29 23:59:21,618.618 INFO    ] Checking for camera pi updates...
[2026-08-29 23:59:21,637.637 INFO    ] 200
[2026-08-29 23:59:21,638.638 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:59:21,663.663 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:59:21,738.738 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:59:21,739.739 INFO    ] No camera update needed
[2026-08-29 23:59:21,741.741 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:59:21,742.742 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:59:21,745.745 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:59:21,747.747 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:59:23,787.787 INFO    ] ================================================
[2026-08-29 23:59:23,802.802 INFO    ] Launching Daemon at Sat Aug 29 23:59:23 IST 2026
[2026-08-29 23:59:23,813.813 INFO    ] ================================================
[2026-08-29 23:59:24,168.168 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:59:24
[2026-08-29 23:59:24,479.479 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:59:24,615.615 INFO    ] Initializing speech engine...
[2026-08-29 23:59:24,625.625 INFO    ] 2026-08-29 23:59:24
[2026-08-29 23:59:24,856.856 INFO    ] 2026-08-29 23:59:24
[2026-08-29 23:59:24,911.911 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:59:25,071.071 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:59:25,079.079 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:59:25,256.256 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:59:25,277.277 INFO    ] time= 29/08/2026 23:59:25
[2026-08-29 23:59:25,283.283 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:59:25,301.301 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:59:25,405.405 INFO    ] No existing commands found in stream
[2026-08-29 23:59:30,431.431 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:59:30,434.434 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-08-29 23:59:34,236.236 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-08-29 23:59:34,238.238 INFO    ] Checking for system updates...
[2026-08-29 23:59:34,273.273 INFO    ] 200
[2026-08-29 23:59:34,276.276 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:59:34,329.329 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:59:34,331.331 INFO    ] No update needed
[2026-08-29 23:59:34,334.334 INFO    ] Checking for camera pi updates...
[2026-08-29 23:59:34,368.368 INFO    ] 200
[2026-08-29 23:59:34,370.370 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:59:34,411.411 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:59:34,504.504 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-08-29 23:59:34,507.507 INFO    ] No camera update needed
[2026-08-29 23:59:34,509.509 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:59:34,511.511 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:59:34,517.517 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:59:34,522.522 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:59:36,564.564 INFO    ] ================================================
[2026-08-29 23:59:36,579.579 INFO    ] Launching Daemon at Sat Aug 29 23:59:36 IST 2026
[2026-08-29 23:59:36,590.590 INFO    ] ================================================
[2026-08-29 23:59:36,953.953 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:59:36
[2026-08-29 23:59:37,266.266 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:59:37,398.398 INFO    ] Initializing speech engine...
[2026-08-29 23:59:37,402.402 INFO    ] 2026-08-29 23:59:37
[2026-08-29 23:59:37,632.632 INFO    ] 2026-08-29 23:59:37
[2026-08-29 23:59:37,662.662 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:59:37,794.794 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:59:37,827.827 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:59:37,951.951 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:59:38,006.006 INFO    ] time= 29/08/2026 23:59:37
[2026-08-29 23:59:38,027.027 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:59:38,085.085 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:59:38,186.186 INFO    ] No existing commands found in stream
[2026-08-29 23:59:43,197.197 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:59:43,200.200 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-08-29 23:59:46,874.874 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-08-29 23:59:46,875.875 INFO    ] Checking for system updates...
[2026-08-29 23:59:46,896.896 INFO    ] 200
[2026-08-29 23:59:46,897.897 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:59:46,927.927 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:59:46,929.929 INFO    ] No update needed
[2026-08-29 23:59:46,930.930 INFO    ] Checking for camera pi updates...
[2026-08-29 23:59:46,949.949 INFO    ] 200
[2026-08-29 23:59:46,951.951 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
[2026-08-29 23:59:46,975.975 INFO    ] Camera IP: TMCAM07201911.local
[2026-08-29 23:59:47,173.173 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-08-29 23:59:47,174.174 INFO    ] No camera update needed
[2026-08-29 23:59:47,176.176 INFO    ] Script finished. Safe exiting...
[2026-08-29 23:59:47,177.177 INFO    ] === ACTIVE THREADS START ===
[2026-08-29 23:59:47,180.180 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-08-29 23:59:47,183.183 INFO    ] === ACTIVE THREADS END ===
[2026-08-29 23:59:49,221.221 INFO    ] ================================================
[2026-08-29 23:59:49,237.237 INFO    ] Launching Daemon at Sat Aug 29 23:59:49 IST 2026
[2026-08-29 23:59:49,248.248 INFO    ] ================================================
[2026-08-29 23:59:49,617.617 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-08-29 23:59:49
[2026-08-29 23:59:49,928.928 INFO    ] Using urllib3 for HTTP requests
[2026-08-29 23:59:50,060.060 INFO    ] Initializing speech engine...
[2026-08-29 23:59:50,064.064 INFO    ] 2026-08-29 23:59:50
[2026-08-29 23:59:50,265.265 INFO    ] 2026-08-29 23:59:50
[2026-08-29 23:59:50,298.298 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-08-29 23:59:50,468.468 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-08-29 23:59:50,526.526 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-08-29 23:59:50,668.668 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-08-29 23:59:50,690.690 INFO    ] time= 29/08/2026 23:59:50
[2026-08-29 23:59:50,751.751 INFO    ] Listening for commands on Redis Stream: machine:TM07201911
[2026-08-29 23:59:50,773.773 INFO    ] Checking for existing commands in stream...
[2026-08-29 23:59:50,855.855 INFO    ] No existing commands found in stream
[2026-08-29 23:59:55,865.865 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-08-29 23:59:55,868.868 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-08-29 23:59:59,953.953 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-08-29 23:59:59,954.954 INFO    ] Checking for system updates...
[2026-08-29 23:59:59,975.975 INFO    ] 200
[2026-08-29 23:59:59,977.977 INFO    ] {"msg": "Status of machine", "state": "STATE_IDLE", "status": true}
